From bbf09e0b5858038a76fa2d9019c8d7a24c845f02 Mon Sep 17 00:00:00 2001 From: Peter Gonda Date: Thu, 1 Oct 2020 11:26:57 +0200 Subject: [PATCH 1/5] Implement color provider for ``sk_SK`` locale --- faker/providers/color/sk_SK/__init__.py | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 faker/providers/color/sk_SK/__init__.py diff --git a/faker/providers/color/sk_SK/__init__.py b/faker/providers/color/sk_SK/__init__.py new file mode 100644 index 0000000000..b801ff634c --- /dev/null +++ b/faker/providers/color/sk_SK/__init__.py @@ -0,0 +1,11 @@ +from faker.providers import BaseProvider + + +class Provider(BaseProvider): + """Implement color provider for ``sk_SK`` locale.""" + + safe_colors = ( + 'čierna', 'gaštanová', 'zelená', 'námornícka', 'olivová', + 'fialová', 'zelenomodrá', 'limetková', 'modrá', 'strieborná', + 'sivá', 'žltá', 'fuchsiová', 'aquamarinová', 'biela', + ) From cc9d36486ba9f23b4ad68ab2e5d757193f60b26c Mon Sep 17 00:00:00 2001 From: Peter Gonda Date: Thu, 1 Oct 2020 13:10:58 +0200 Subject: [PATCH 2/5] Change to color Provider --- faker/providers/color/sk_SK/__init__.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/faker/providers/color/sk_SK/__init__.py b/faker/providers/color/sk_SK/__init__.py index b801ff634c..64cf79d248 100644 --- a/faker/providers/color/sk_SK/__init__.py +++ b/faker/providers/color/sk_SK/__init__.py @@ -1,7 +1,7 @@ -from faker.providers import BaseProvider +from .. import Provider as ColorProvider -class Provider(BaseProvider): +class Provider(ColorProvider): """Implement color provider for ``sk_SK`` locale.""" safe_colors = ( From 773775edd8f82bfb22d9398ad687d9170553bd75 Mon Sep 17 00:00:00 2001 From: Peter Gonda Date: Thu, 1 Oct 2020 21:08:02 +0200 Subject: [PATCH 3/5] Ad Tests for SK Color provider --- tests/providers/test_color.py | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/tests/providers/test_color.py b/tests/providers/test_color.py index fd65d6a2b4..0d1e8c4aa8 100644 --- a/tests/providers/test_color.py +++ b/tests/providers/test_color.py @@ -8,6 +8,7 @@ from faker.providers.color.es_ES import Provider as EsEsColorProvider from faker.providers.color.fa_IR import Provider as FaIrColorProvider from faker.providers.color.hy_AM import Provider as HyAmColorProvider +from faker.providers.color.sk_SK import Provider as SkSkColorProvider class TestColorProvider: @@ -290,3 +291,13 @@ def test_safe_color_name(self, faker, num_samples): safe_color_name = faker.safe_color_name() assert isinstance(safe_color_name, str) assert safe_color_name in EsEsColorProvider.safe_colors + + +class TestSkSk: + """Test sk_SK color provider methods""" + + def test_safe_color_name(self, faker, num_samples): + for _ in range(num_samples): + safe_color_name = faker.safe_color_name() + assert isinstance(safe_color_name, str) + assert safe_color_name in SkSkColorProvider.safe_colors From 792db6fd66ac5f3816625a3ac007e550133039ae Mon Sep 17 00:00:00 2001 From: Peter Gonda Date: Fri, 29 Oct 2021 16:30:15 +0200 Subject: [PATCH 4/5] Merge branch 'master' of https://github.com/joke2k/faker into joke2k-master # Conflicts: # faker/providers/color/sk_SK/__init__.py # tests/providers/test_color.py --- .bumpversion.cfg | 2 +- .circleci/config.yml | 10 - .github/dependabot.yml | 6 + .github/workflows/autobump.yml | 56 +- .github/workflows/autodeploy.yml | 27 - .github/workflows/ci.yml | 164 + .github/workflows/gh-release.yml | 27 + .gitignore | 1 + .isort.cfg | 1 + .travis.yml | 36 - CHANGELOG.rst => CHANGELOG.md | 712 +- CITATION.cff | 9 + LICENSE.txt | 2 +- MANIFEST.in | 5 +- README.rst | 90 +- RELEASE_PROCESS.rst | 10 +- VERSION | 2 +- appveyor.yml | 47 - build-alpine.sh | 15 + docs/coding_style.rst | 36 +- docs/communityproviders.rst | 36 +- docs/conf.py | 152 +- docs/fakerclass.rst | 73 +- docs/pytest-fixtures.rst | 7 +- faker/__init__.py | 10 +- faker/__main__.py | 3 +- faker/cli.py | 306 +- faker/config.py | 9 +- faker/contrib/pytest/plugin.py | 17 +- faker/documentor.py | 82 +- faker/exceptions.py | 16 + faker/factory.py | 98 +- faker/generator.py | 89 +- faker/providers/__init__.py | 510 +- faker/providers/address/__init__.py | 74 +- faker/providers/address/cs_CZ/__init__.py | 1859 ++-- faker/providers/address/da_DK/__init__.py | 363 + faker/providers/address/de/__init__.py | 304 +- faker/providers/address/de_AT/__init__.py | 282 +- faker/providers/address/de_CH/__init__.py | 75 + faker/providers/address/de_DE/__init__.py | 538 +- faker/providers/address/el_GR/__init__.py | 9565 +++++++++-------- faker/providers/address/en/__init__.py | 292 +- faker/providers/address/en_AU/__init__.py | 407 +- faker/providers/address/en_CA/__init__.py | 639 +- faker/providers/address/en_GB/__init__.py | 894 +- faker/providers/address/en_IE/__init__.py | 61 + faker/providers/address/en_IN/__init__.py | 400 + faker/providers/address/en_NZ/__init__.py | 470 +- faker/providers/address/en_PH/__init__.py | 1944 +++- faker/providers/address/en_US/__init__.py | 793 +- faker/providers/address/es/__init__.py | 234 +- faker/providers/address/es_ES/__init__.py | 205 +- faker/providers/address/es_MX/__init__.py | 206 +- faker/providers/address/fa_IR/__init__.py | 338 +- faker/providers/address/fi_FI/__init__.py | 896 +- faker/providers/address/fil_PH/__init__.py | 1 + faker/providers/address/fr_CH/__init__.py | 432 +- faker/providers/address/fr_FR/__init__.py | 537 +- faker/providers/address/he_IL/__init__.py | 60 +- faker/providers/address/hi_IN/__init__.py | 426 +- faker/providers/address/hr_HR/__init__.py | 657 +- faker/providers/address/hu_HU/__init__.py | 597 +- faker/providers/address/hy_AM/__init__.py | 1158 +- faker/providers/address/id_ID/__init__.py | 580 +- faker/providers/address/it_IT/__init__.py | 630 +- faker/providers/address/ja_JP/__init__.py | 877 +- faker/providers/address/ka_GE/__init__.py | 1555 ++- faker/providers/address/ko_KR/__init__.py | 695 +- faker/providers/address/ne_NP/__init__.py | 1150 +- faker/providers/address/nl_BE/__init__.py | 3556 +++++- faker/providers/address/nl_NL/__init__.py | 3262 +++++- faker/providers/address/no_NO/__init__.py | 139 +- faker/providers/address/pl_PL/__init__.py | 773 +- faker/providers/address/pt_BR/__init__.py | 1111 +- faker/providers/address/pt_PT/__init__.py | 1889 +++- faker/providers/address/ro_RO/__init__.py | 438 + faker/providers/address/ru_RU/__init__.py | 1867 +++- faker/providers/address/sk_SK/__init__.py | 6365 +++++++++-- faker/providers/address/sl_SI/__init__.py | 2059 +++- faker/providers/address/sv_SE/__init__.py | 422 +- faker/providers/address/ta_IN/__init__.py | 790 +- faker/providers/address/th/__init__.py | 252 + faker/providers/address/th_TH/__init__.py | 390 + faker/providers/address/tl_PH/__init__.py | 1 + faker/providers/address/uk_UA/__init__.py | 2383 +++- faker/providers/address/zh_CN/__init__.py | 476 +- faker/providers/address/zh_TW/__init__.py | 441 +- faker/providers/automotive/__init__.py | 14 +- faker/providers/automotive/ar_JO/__init__.py | 66 +- faker/providers/automotive/ar_PS/__init__.py | 75 +- faker/providers/automotive/ar_SA/__init__.py | 90 +- faker/providers/automotive/de_DE/__init__.py | 438 +- faker/providers/automotive/el_GR/__init__.py | 23 + faker/providers/automotive/en_CA/__init__.py | 38 +- faker/providers/automotive/en_GB/__init__.py | 4 +- faker/providers/automotive/en_NZ/__init__.py | 32 +- faker/providers/automotive/en_PH/__init__.py | 29 +- faker/providers/automotive/en_US/__init__.py | 198 +- faker/providers/automotive/es_ES/__init__.py | 57 +- faker/providers/automotive/fr_FR/__init__.py | 4 +- faker/providers/automotive/he_IL/__init__.py | 11 + faker/providers/automotive/hu_HU/__init__.py | 4 +- faker/providers/automotive/id_ID/__init__.py | 16 +- faker/providers/automotive/nl_NL/__init__.py | 77 + faker/providers/automotive/no_NO/__init__.py | 2 +- faker/providers/automotive/pl_PL/__init__.py | 34 +- faker/providers/automotive/pt_BR/__init__.py | 4 +- faker/providers/automotive/pt_PT/__init__.py | 10 +- faker/providers/automotive/ro_RO/__init__.py | 66 + faker/providers/automotive/ru_RU/__init__.py | 292 +- faker/providers/automotive/sk_SK/__init__.py | 100 + faker/providers/automotive/sv_SE/__init__.py | 4 +- faker/providers/automotive/th_TH/__init__.py | 39 + faker/providers/automotive/tr_TR/__init__.py | 33 + faker/providers/bank/__init__.py | 74 +- faker/providers/bank/de_AT/__init__.py | 4 +- faker/providers/bank/de_CH/__init__.py | 8 + faker/providers/bank/de_DE/__init__.py | 4 +- faker/providers/bank/el_GR/__init__.py | 8 + faker/providers/bank/en_GB/__init__.py | 4 +- faker/providers/bank/en_IE/__init__.py | 8 + faker/providers/bank/en_PH/__init__.py | 81 +- faker/providers/bank/es_ES/__init__.py | 4 +- faker/providers/bank/fi_FI/__init__.py | 4 +- faker/providers/bank/fr_CH/__init__.py | 10 + faker/providers/bank/fr_FR/__init__.py | 4 +- faker/providers/bank/it_CH/__init__.py | 10 + faker/providers/bank/it_IT/__init__.py | 4 +- faker/providers/bank/nl_NL/__init__.py | 4 +- faker/providers/bank/no_NO/__init__.py | 4 +- faker/providers/bank/pl_PL/__init__.py | 4 +- faker/providers/bank/pt_PT/__init__.py | 4 +- faker/providers/bank/ro_RO/__init__.py | 50 + faker/providers/bank/ru_RU/__init__.py | 807 +- faker/providers/bank/th_TH/__init__.py | 64 + faker/providers/bank/tr_TR/__init__.py | 4 +- faker/providers/barcode/__init__.py | 26 +- faker/providers/barcode/en_US/__init__.py | 104 +- faker/providers/barcode/ja_JP/__init__.py | 6 +- faker/providers/color/__init__.py | 351 +- faker/providers/color/ar_PS/__init__.py | 304 +- faker/providers/color/bg_BG/__init__.py | 86 + faker/providers/color/color.py | 325 +- faker/providers/color/el_GR/__init__.py | 113 + faker/providers/color/es_ES/__init__.py | 300 +- faker/providers/color/fa_IR/__init__.py | 304 +- faker/providers/color/fr_FR/__init__.py | 296 +- faker/providers/color/he_IL/__init__.py | 49 + faker/providers/color/hr_HR/__init__.py | 304 +- faker/providers/color/hu_HU/__init__.py | 22 +- faker/providers/color/hy_AM/__init__.py | 300 +- faker/providers/color/pt_BR/__init__.py | 481 +- faker/providers/color/ru_RU/__init__.py | 134 +- faker/providers/color/sk_SK/__init__.py | 18 +- faker/providers/color/th_TH/__init__.py | 59 +- faker/providers/color/uk_UA/__init__.py | 418 +- faker/providers/company/__init__.py | 1000 +- faker/providers/company/bg_BG/__init__.py | 33 +- faker/providers/company/cs_CZ/__init__.py | 10 +- faker/providers/company/de_DE/__init__.py | 37 +- faker/providers/company/el_GR/__init__.py | 11 + faker/providers/company/en_PH/__init__.py | 212 +- faker/providers/company/es_MX/__init__.py | 547 +- faker/providers/company/fa_IR/__init__.py | 2208 ++-- faker/providers/company/fi_FI/__init__.py | 36 +- faker/providers/company/fil_PH/__init__.py | 111 +- faker/providers/company/fr_CH/__init__.py | 16 +- faker/providers/company/fr_FR/__init__.py | 98 +- faker/providers/company/hr_HR/__init__.py | 10 +- faker/providers/company/hu_HU/__init__.py | 12 +- faker/providers/company/hy_AM/__init__.py | 530 +- faker/providers/company/id_ID/__init__.py | 19 +- faker/providers/company/it_IT/__init__.py | 684 +- faker/providers/company/ja_JP/__init__.py | 26 +- faker/providers/company/ko_KR/__init__.py | 728 +- faker/providers/company/nl_NL/__init__.py | 574 +- faker/providers/company/no_NO/__init__.py | 20 +- faker/providers/company/pl_PL/__init__.py | 52 +- faker/providers/company/pt_BR/__init__.py | 110 +- faker/providers/company/pt_PT/__init__.py | 55 +- faker/providers/company/ro_RO/__init__.py | 35 + faker/providers/company/ru_RU/__init__.py | 1313 ++- faker/providers/company/sk_SK/__init__.py | 11 +- faker/providers/company/sl_SI/__init__.py | 7 +- faker/providers/company/sv_SE/__init__.py | 9 +- faker/providers/company/th_TH/__init__.py | 126 + faker/providers/company/tl_PH/__init__.py | 1 + faker/providers/company/tr_TR/__init__.py | 52 + faker/providers/company/zh_CN/__init__.py | 101 +- faker/providers/company/zh_TW/__init__.py | 130 +- faker/providers/credit_card/__init__.py | 182 +- faker/providers/credit_card/fa_IR/__init__.py | 112 +- faker/providers/credit_card/pt_PT/__init__.py | 298 + faker/providers/credit_card/ru_RU/__init__.py | 130 +- faker/providers/currency/__init__.py | 211 +- faker/providers/currency/cs_CZ/__init__.py | 9 + faker/providers/currency/de_AT/__init__.py | 9 + faker/providers/currency/de_DE/__init__.py | 9 + faker/providers/currency/el_GR/__init__.py | 158 + faker/providers/currency/en_AU/__init__.py | 9 + faker/providers/currency/en_CA/__init__.py | 9 + faker/providers/currency/en_US/__init__.py | 6 +- faker/providers/currency/es_ES/__init__.py | 5 + faker/providers/currency/fr_CA/__init__.py | 9 + faker/providers/currency/fr_FR/__init__.py | 9 + faker/providers/currency/it_IT/__init__.py | 9 + faker/providers/currency/nl_NL/__init__.py | 9 + faker/providers/currency/pl_PL/__init__.py | 9 + faker/providers/currency/pt_BR/__init__.py | 9 + faker/providers/currency/ro_RO/__init__.py | 9 + faker/providers/currency/ru_RU/__init__.py | 7 + faker/providers/currency/sk_SK/__init__.py | 9 + faker/providers/currency/sv_SE/__init__.py | 178 + faker/providers/currency/th_TH/__init__.py | 186 + faker/providers/date_time/__init__.py | 3530 +++--- faker/providers/date_time/ar_AA/__init__.py | 2680 +++-- faker/providers/date_time/ar_EG/__init__.py | 24 +- faker/providers/date_time/bn_BD/__init__.py | 37 + faker/providers/date_time/el_GR/__init__.py | 37 + faker/providers/date_time/en_PH/__init__.py | 1 + faker/providers/date_time/fil_PH/__init__.py | 40 +- faker/providers/date_time/fr_FR/__init__.py | 7 +- faker/providers/date_time/hi_IN/__init__.py | 7 +- faker/providers/date_time/hr_HR/__init__.py | 7 +- faker/providers/date_time/hu_HU/__init__.py | 7 +- faker/providers/date_time/hy_AM/__init__.py | 2 +- faker/providers/date_time/id_ID/__init__.py | 7 +- faker/providers/date_time/ko_KR/__init__.py | 7 +- faker/providers/date_time/nl_NL/__init__.py | 37 + faker/providers/date_time/pl_PL/__init__.py | 40 +- faker/providers/date_time/pt_BR/__init__.py | 37 + faker/providers/date_time/pt_PT/__init__.py | 37 + faker/providers/date_time/ro_RO/__init__.py | 37 + faker/providers/date_time/ru_RU/__init__.py | 2812 ++--- faker/providers/date_time/sl_SI/__init__.py | 7 +- faker/providers/date_time/ta_IN/__init__.py | 6 +- faker/providers/date_time/th_TH/__init__.py | 340 + faker/providers/date_time/tl_PH/__init__.py | 1 + faker/providers/file/__init__.py | 122 +- faker/providers/geo/__init__.py | 44 +- faker/providers/geo/de_AT/__init__.py | 7 +- faker/providers/geo/el_GR/__init__.py | 31 +- faker/providers/geo/en_IE/__init__.py | 52 + faker/providers/geo/pt_PT/__init__.py | 131 +- faker/providers/geo/tr_TR/__init__.py | 106 + faker/providers/internet/__init__.py | 494 +- faker/providers/internet/ar_AA/__init__.py | 94 +- faker/providers/internet/bg_BG/__init__.py | 122 +- faker/providers/internet/bs_BA/__init__.py | 25 +- faker/providers/internet/cs_CZ/__init__.py | 38 +- faker/providers/internet/de_AT/__init__.py | 18 +- faker/providers/internet/de_DE/__init__.py | 28 +- faker/providers/internet/el_GR/__init__.py | 67 +- faker/providers/internet/en_AU/__init__.py | 24 +- faker/providers/internet/en_GB/__init__.py | 26 +- faker/providers/internet/en_NZ/__init__.py | 30 +- faker/providers/internet/en_PH/__init__.py | 43 +- faker/providers/internet/es_ES/__init__.py | 23 +- faker/providers/internet/fa_IR/__init__.py | 13 +- faker/providers/internet/fi_FI/__init__.py | 11 +- faker/providers/internet/fil_PH/__init__.py | 1 + faker/providers/internet/fr_CH/__init__.py | 44 +- faker/providers/internet/fr_FR/__init__.py | 60 +- faker/providers/internet/hr_HR/__init__.py | 32 +- faker/providers/internet/hu_HU/__init__.py | 38 +- faker/providers/internet/id_ID/__init__.py | 24 +- faker/providers/internet/it_IT/__init__.py | 48 +- faker/providers/internet/ja_JP/__init__.py | 14 +- faker/providers/internet/ko_KR/__init__.py | 12 +- faker/providers/internet/no_NO/__init__.py | 20 +- faker/providers/internet/pl_PL/__init__.py | 32 +- faker/providers/internet/pt_BR/__init__.py | 34 +- faker/providers/internet/pt_PT/__init__.py | 6 +- faker/providers/internet/ro_RO/__init__.py | 31 + faker/providers/internet/ru_RU/__init__.py | 116 +- faker/providers/internet/sk_SK/__init__.py | 44 +- faker/providers/internet/sl_SI/__init__.py | 62 +- faker/providers/internet/sv_SE/__init__.py | 20 +- faker/providers/internet/th_TH/__init__.py | 32 + faker/providers/internet/tl_PH/__init__.py | 1 + faker/providers/internet/uk_UA/__init__.py | 88 +- faker/providers/internet/zh_CN/__init__.py | 100 +- faker/providers/internet/zh_TW/__init__.py | 12 +- faker/providers/isbn/__init__.py | 31 +- faker/providers/isbn/isbn.py | 63 +- faker/providers/isbn/rules.py | 52 +- faker/providers/job/__init__.py | 6 +- faker/providers/job/ar_AA/__init__.py | 284 +- faker/providers/job/de_DE/__init__.py | 69 +- faker/providers/job/el_GR/__init__.py | 890 +- faker/providers/job/fi_FI/__init__.py | 390 +- faker/providers/job/hu_HU/__init__.py | 821 +- faker/providers/job/ja_JP/__init__.py | 112 +- faker/providers/job/ko_KR/__init__.py | 852 +- faker/providers/job/pt_PT/__init__.py | 176 - faker/providers/job/ro_RO/__init__.py | 4045 +++++++ faker/providers/job/ru_RU/__init__.py | 1082 +- faker/providers/job/sk_SK/__init__.py | 514 + faker/providers/job/th_TH/__init__.py | 168 +- faker/providers/job/tr_TR/__init__.py | 738 ++ faker/providers/job/uk_UA/__init__.py | 186 +- faker/providers/job/zh_TW/__init__.py | 944 +- faker/providers/lorem/__init__.py | 94 +- faker/providers/lorem/ar_AA/__init__.py | 803 +- faker/providers/lorem/cs_CZ/__init__.py | 1967 ++++ faker/providers/lorem/el_GR/__init__.py | 444 +- faker/providers/lorem/en_PH/__init__.py | 18 +- faker/providers/lorem/en_US/__init__.py | 1942 ++-- faker/providers/lorem/fil_PH/__init__.py | 675 +- faker/providers/lorem/he_IL/__init__.py | 163 +- faker/providers/lorem/hy_AM/__init__.py | 426 +- faker/providers/lorem/ja_JP/__init__.py | 442 +- faker/providers/lorem/la/__init__.py | 210 +- faker/providers/lorem/pl_PL/__init__.py | 2195 +++- faker/providers/lorem/ru_RU/__init__.py | 583 +- faker/providers/lorem/th_TH/__init__.py | 3420 +----- faker/providers/lorem/zh_CN/__init__.py | 694 +- faker/providers/lorem/zh_TW/__init__.py | 694 +- faker/providers/misc/__init__.py | 391 +- faker/providers/misc/en_PH/__init__.py | 214 +- faker/providers/person/__init__.py | 372 +- faker/providers/person/ar_AA/__init__.py | 1264 ++- faker/providers/person/ar_PS/__init__.py | 49 +- faker/providers/person/ar_SA/__init__.py | 54 +- faker/providers/person/bg_BG/__init__.py | 2045 +++- faker/providers/person/cs_CZ/__init__.py | 642 +- faker/providers/person/de_AT/__init__.py | 1756 ++- faker/providers/person/de_CH/__init__.py | 2557 ++++- faker/providers/person/de_DE/__init__.py | 2830 ++++- faker/providers/person/dk_DK/__init__.py | 710 +- faker/providers/person/el_GR/__init__.py | 2692 ++++- faker/providers/person/en/__init__.py | 8847 +++++++++++++-- faker/providers/person/en_GB/__init__.py | 1455 ++- faker/providers/person/en_IE/__init__.py | 3140 ++++++ faker/providers/person/en_IN/__init__.py | 689 ++ faker/providers/person/en_NZ/__init__.py | 2791 ++--- faker/providers/person/en_TH/__init__.py | 183 +- faker/providers/person/en_US/__init__.py | 3551 +++--- faker/providers/person/es_CA/__init__.py | 155 +- faker/providers/person/es_ES/__init__.py | 2625 ++++- faker/providers/person/es_MX/__init__.py | 1143 +- faker/providers/person/et_EE/__init__.py | 811 +- faker/providers/person/fa_IR/__init__.py | 379 +- faker/providers/person/fi_FI/__init__.py | 1645 +-- faker/providers/person/fr_CA/__init__.py | 481 + faker/providers/person/fr_CH/__init__.py | 517 +- faker/providers/person/fr_FR/__init__.py | 922 +- faker/providers/person/fr_QC/__init__.py | 484 +- faker/providers/person/ga_IE/__init__.py | 3272 ++++++ faker/providers/person/he_IL/__init__.py | 2724 ++--- faker/providers/person/hi_IN/__init__.py | 450 +- faker/providers/person/hr_HR/__init__.py | 1181 +- faker/providers/person/hu_HU/__init__.py | 584 +- faker/providers/person/hy_AM/__init__.py | 1924 ++-- faker/providers/person/id_ID/__init__.py | 1103 +- faker/providers/person/it_IT/__init__.py | 1894 +++- faker/providers/person/ja_JP/__init__.py | 419 +- faker/providers/person/ka_GE/__init__.py | 882 +- faker/providers/person/ko_KR/__init__.py | 368 +- faker/providers/person/lt_LT/__init__.py | 278 +- faker/providers/person/lv_LV/__init__.py | 465 +- faker/providers/person/ne_NP/__init__.py | 1749 ++- faker/providers/person/nl_NL/__init__.py | 1933 +++- faker/providers/person/no_NO/__init__.py | 651 +- faker/providers/person/or_IN/__init__.py | 2280 ++-- faker/providers/person/pl_PL/__init__.py | 5605 ++++++++-- faker/providers/person/pt_BR/__init__.py | 351 +- faker/providers/person/pt_PT/__init__.py | 389 +- faker/providers/person/ro_RO/__init__.py | 830 +- faker/providers/person/ru_RU/__init__.py | 1608 ++- faker/providers/person/sl_SI/__init__.py | 592 +- faker/providers/person/sv_SE/__init__.py | 1226 +-- faker/providers/person/ta_IN/__init__.py | 2020 ++-- faker/providers/person/th_TH/__init__.py | 1120 +- faker/providers/person/tr_TR/__init__.py | 1846 +++- faker/providers/person/tw_GH/__init__.py | 1138 +- faker/providers/person/uk_UA/__init__.py | 855 +- faker/providers/person/zh_CN/__init__.py | 1118 +- faker/providers/person/zh_TW/__init__.py | 1075 +- faker/providers/phone_number/__init__.py | 357 +- .../providers/phone_number/ar_AE/__init__.py | 94 + .../providers/phone_number/ar_JO/__init__.py | 84 +- .../providers/phone_number/ar_PS/__init__.py | 218 +- .../providers/phone_number/bg_BG/__init__.py | 22 +- .../providers/phone_number/bs_BA/__init__.py | 66 +- .../providers/phone_number/cs_CZ/__init__.py | 70 +- .../providers/phone_number/de_DE/__init__.py | 22 +- .../providers/phone_number/dk_DK/__init__.py | 22 +- .../providers/phone_number/el_GR/__init__.py | 38 +- .../providers/phone_number/en_AU/__init__.py | 56 +- .../providers/phone_number/en_CA/__init__.py | 18 +- .../providers/phone_number/en_GB/__init__.py | 484 +- .../providers/phone_number/en_IN/__init__.py | 9 + .../providers/phone_number/en_NZ/__init__.py | 57 +- .../providers/phone_number/en_PH/__init__.py | 243 +- .../providers/phone_number/en_US/__init__.py | 50 +- .../providers/phone_number/es_ES/__init__.py | 97 +- .../providers/phone_number/es_MX/__init__.py | 48 +- .../providers/phone_number/fa_IR/__init__.py | 176 +- .../providers/phone_number/fi_FI/__init__.py | 12 +- .../providers/phone_number/fil_PH/__init__.py | 1 + .../providers/phone_number/fr_CH/__init__.py | 58 +- .../providers/phone_number/fr_FR/__init__.py | 284 +- .../providers/phone_number/he_IL/__init__.py | 32 +- .../providers/phone_number/hi_IN/__init__.py | 10 +- .../providers/phone_number/hr_HR/__init__.py | 60 +- .../providers/phone_number/hu_HU/__init__.py | 14 +- .../providers/phone_number/hy_AM/__init__.py | 24 +- .../providers/phone_number/id_ID/__init__.py | 44 +- .../providers/phone_number/it_IT/__init__.py | 14 +- .../providers/phone_number/ja_JP/__init__.py | 8 +- .../providers/phone_number/ko_KR/__init__.py | 48 +- .../providers/phone_number/lt_LT/__init__.py | 6 +- .../providers/phone_number/lv_LV/__init__.py | 6 +- .../providers/phone_number/ne_NP/__init__.py | 10 +- .../providers/phone_number/nl_BE/__init__.py | 32 +- .../providers/phone_number/nl_NL/__init__.py | 32 +- .../providers/phone_number/no_NO/__init__.py | 20 +- .../providers/phone_number/pl_PL/__init__.py | 58 +- .../providers/phone_number/pt_BR/__init__.py | 219 +- .../providers/phone_number/pt_PT/__init__.py | 70 +- .../providers/phone_number/ro_RO/__init__.py | 105 + .../providers/phone_number/ru_RU/__init__.py | 20 +- .../providers/phone_number/sk_SK/__init__.py | 20 +- .../providers/phone_number/sl_SI/__init__.py | 22 +- .../providers/phone_number/sv_SE/__init__.py | 20 +- .../providers/phone_number/ta_IN/__init__.py | 10 +- .../providers/phone_number/th_TH/__init__.py | 68 +- .../providers/phone_number/tl_PH/__init__.py | 1 + .../providers/phone_number/tr_TR/__init__.py | 18 +- .../providers/phone_number/tw_GH/__init__.py | 40 +- .../providers/phone_number/uk_UA/__init__.py | 16 +- .../providers/phone_number/zh_CN/__init__.py | 38 +- .../providers/phone_number/zh_TW/__init__.py | 16 +- faker/providers/profile/__init__.py | 21 +- faker/providers/profile/en_US/__init__.py | 4 +- faker/providers/python/__init__.py | 297 +- faker/providers/python/en_US/__init__.py | 4 +- faker/providers/ssn/__init__.py | 6 +- faker/providers/ssn/bg_BG/__init__.py | 6 +- faker/providers/ssn/cs_CZ/__init__.py | 34 +- faker/providers/ssn/de_AT/__init__.py | 6 +- faker/providers/ssn/de_DE/__init__.py | 6 +- faker/providers/ssn/dk_DK/__init__.py | 6 +- faker/providers/ssn/el_CY/__init__.py | 6 +- faker/providers/ssn/el_GR/__init__.py | 21 +- faker/providers/ssn/en_CA/__init__.py | 10 +- faker/providers/ssn/en_GB/__init__.py | 26 +- faker/providers/ssn/en_IE/__init__.py | 8 +- faker/providers/ssn/en_IN/__init__.py | 10 +- faker/providers/ssn/en_PH/__init__.py | 22 +- faker/providers/ssn/en_US/__init__.py | 225 +- faker/providers/ssn/es_ES/__init__.py | 28 +- faker/providers/ssn/es_MX/__init__.py | 69 +- faker/providers/ssn/et_EE/__init__.py | 25 +- faker/providers/ssn/fi_FI/__init__.py | 28 +- faker/providers/ssn/fil_PH/__init__.py | 1 + faker/providers/ssn/fr_CH/__init__.py | 26 +- faker/providers/ssn/fr_FR/__init__.py | 147 +- faker/providers/ssn/he_IL/__init__.py | 3 +- faker/providers/ssn/hr_HR/__init__.py | 14 +- faker/providers/ssn/hu_HU/__init__.py | 25 +- faker/providers/ssn/it_IT/__init__.py | 97 +- faker/providers/ssn/ko_KR/__init__.py | 10 +- faker/providers/ssn/lb_LU/__init__.py | 6 +- faker/providers/ssn/lt_LT/__init__.py | 6 +- faker/providers/ssn/lv_LV/__init__.py | 6 +- faker/providers/ssn/mt_MT/__init__.py | 6 +- faker/providers/ssn/nl_BE/__init__.py | 15 +- faker/providers/ssn/nl_NL/__init__.py | 9 +- faker/providers/ssn/no_NO/__init__.py | 26 +- faker/providers/ssn/pl_PL/__init__.py | 29 +- faker/providers/ssn/pt_BR/__init__.py | 18 +- faker/providers/ssn/pt_PT/__init__.py | 6 +- faker/providers/ssn/ro_RO/__init__.py | 132 +- faker/providers/ssn/sk_SK/__init__.py | 28 +- faker/providers/ssn/sl_SI/__init__.py | 6 +- faker/providers/ssn/sv_SE/__init__.py | 50 +- faker/providers/ssn/th_TH/__init__.py | 59 + faker/providers/ssn/tl_PH/__init__.py | 1 + faker/providers/ssn/tr_TR/__init__.py | 10 +- faker/providers/ssn/uk_UA/__init__.py | 21 +- faker/providers/ssn/zh_CN/__init__.py | 4041 ++++++- faker/providers/ssn/zh_TW/__init__.py | 2 +- faker/providers/user_agent/__init__.py | 437 +- faker/providers/user_agent/en_US/__init__.py | 4 +- faker/proxy.py | 185 +- faker/py.typed | 0 faker/sphinx/autodoc.py | 6 +- faker/sphinx/docstring.py | 106 +- faker/sphinx/documentor.py | 131 +- faker/sphinx/validator.py | 27 +- faker/typing.py | 11 + faker/utils/checksums.py | 9 +- faker/utils/datasets.py | 3 +- faker/utils/decorators.py | 25 +- faker/utils/distribution.py | 50 +- faker/utils/loading.py | 51 +- faker/utils/text.py | 28 +- mypy.ini | 11 + setup.cfg | 4 + setup.py | 74 +- tests/conftest.py | 1 + tests/mymodule/en_US/__init__.py | 2 +- tests/providers/__init__.py | 220 +- tests/providers/conftest.py | 10 +- tests/providers/test_address.py | 500 +- tests/providers/test_automotive.py | 174 +- tests/providers/test_bank.py | 98 +- tests/providers/test_barcode.py | 90 +- tests/providers/test_color.py | 191 +- tests/providers/test_company.py | 142 +- tests/providers/test_credit_card.py | 69 +- tests/providers/test_currency.py | 317 +- tests/providers/test_date_time.py | 588 +- tests/providers/test_dynamic.py | 72 + tests/providers/test_file.py | 26 +- tests/providers/test_geo.py | 31 +- tests/providers/test_internet.py | 420 +- tests/providers/test_isbn.py | 73 +- tests/providers/test_job.py | 37 +- tests/providers/test_lorem.py | 129 +- tests/providers/test_misc.py | 396 +- tests/providers/test_person.py | 394 +- tests/providers/test_phone_number.py | 170 +- tests/providers/test_profile.py | 50 + tests/providers/test_python.py | 306 +- tests/providers/test_ssn.py | 572 +- tests/providers/test_user_agent.py | 21 +- tests/pytest/session_overrides/conftest.py | 20 +- .../session_locale/__init__.py | 2 +- .../session_locale/conftest.py | 2 +- .../test_autouse_faker_locale.py | 2 +- .../session_locale/test_autouse_faker_seed.py | 2 +- .../session_locale/test_manual_injection.py | 2 +- tests/pytest/test_autouse_faker_locale.py | 2 +- tests/pytest/test_autouse_faker_seed.py | 2 +- tests/pytest/test_manual_injection.py | 2 +- tests/pytest/test_unique_clear.py | 37 + tests/sphinx/test_docstring.py | 333 +- tests/sphinx/test_validator.py | 141 +- tests/test_factory.py | 93 +- tests/test_generator.py | 79 +- tests/test_providers_formats.py | 65 + tests/test_proxy.py | 254 +- tests/test_unique.py | 62 + tests/utils/test_utils.py | 90 +- tox.ini | 39 +- 549 files changed, 158284 insertions(+), 61161 deletions(-) delete mode 100644 .circleci/config.yml create mode 100644 .github/dependabot.yml delete mode 100644 .github/workflows/autodeploy.yml create mode 100644 .github/workflows/ci.yml create mode 100644 .github/workflows/gh-release.yml delete mode 100644 .travis.yml rename CHANGELOG.rst => CHANGELOG.md (58%) create mode 100644 CITATION.cff delete mode 100644 appveyor.yml create mode 100755 build-alpine.sh create mode 100644 faker/exceptions.py create mode 100644 faker/providers/address/da_DK/__init__.py create mode 100644 faker/providers/address/de_CH/__init__.py create mode 100644 faker/providers/address/en_IE/__init__.py create mode 100644 faker/providers/address/en_IN/__init__.py create mode 100644 faker/providers/address/ro_RO/__init__.py create mode 100644 faker/providers/address/th/__init__.py create mode 100644 faker/providers/address/th_TH/__init__.py create mode 100644 faker/providers/automotive/el_GR/__init__.py create mode 100644 faker/providers/automotive/he_IL/__init__.py create mode 100644 faker/providers/automotive/nl_NL/__init__.py create mode 100644 faker/providers/automotive/ro_RO/__init__.py create mode 100644 faker/providers/automotive/sk_SK/__init__.py create mode 100644 faker/providers/automotive/th_TH/__init__.py create mode 100644 faker/providers/automotive/tr_TR/__init__.py create mode 100644 faker/providers/bank/de_CH/__init__.py create mode 100644 faker/providers/bank/el_GR/__init__.py create mode 100644 faker/providers/bank/en_IE/__init__.py create mode 100644 faker/providers/bank/fr_CH/__init__.py create mode 100644 faker/providers/bank/it_CH/__init__.py create mode 100644 faker/providers/bank/ro_RO/__init__.py create mode 100644 faker/providers/bank/th_TH/__init__.py create mode 100644 faker/providers/color/bg_BG/__init__.py create mode 100644 faker/providers/color/el_GR/__init__.py create mode 100644 faker/providers/color/he_IL/__init__.py create mode 100644 faker/providers/company/el_GR/__init__.py create mode 100644 faker/providers/company/ro_RO/__init__.py create mode 100644 faker/providers/company/th_TH/__init__.py create mode 100644 faker/providers/company/tr_TR/__init__.py create mode 100644 faker/providers/credit_card/pt_PT/__init__.py create mode 100644 faker/providers/currency/cs_CZ/__init__.py create mode 100644 faker/providers/currency/de_AT/__init__.py create mode 100644 faker/providers/currency/de_DE/__init__.py create mode 100644 faker/providers/currency/el_GR/__init__.py create mode 100644 faker/providers/currency/en_AU/__init__.py create mode 100644 faker/providers/currency/en_CA/__init__.py create mode 100644 faker/providers/currency/fr_CA/__init__.py create mode 100644 faker/providers/currency/fr_FR/__init__.py create mode 100644 faker/providers/currency/it_IT/__init__.py create mode 100644 faker/providers/currency/nl_NL/__init__.py create mode 100644 faker/providers/currency/pl_PL/__init__.py create mode 100644 faker/providers/currency/pt_BR/__init__.py create mode 100644 faker/providers/currency/ro_RO/__init__.py create mode 100644 faker/providers/currency/sk_SK/__init__.py create mode 100644 faker/providers/currency/sv_SE/__init__.py create mode 100644 faker/providers/currency/th_TH/__init__.py create mode 100644 faker/providers/date_time/bn_BD/__init__.py create mode 100644 faker/providers/date_time/el_GR/__init__.py create mode 100644 faker/providers/date_time/nl_NL/__init__.py create mode 100644 faker/providers/date_time/pt_BR/__init__.py create mode 100644 faker/providers/date_time/pt_PT/__init__.py create mode 100644 faker/providers/date_time/ro_RO/__init__.py create mode 100644 faker/providers/date_time/th_TH/__init__.py create mode 100644 faker/providers/geo/en_IE/__init__.py create mode 100644 faker/providers/geo/tr_TR/__init__.py create mode 100644 faker/providers/internet/ro_RO/__init__.py create mode 100644 faker/providers/internet/th_TH/__init__.py create mode 100644 faker/providers/job/ro_RO/__init__.py create mode 100644 faker/providers/job/sk_SK/__init__.py create mode 100644 faker/providers/job/tr_TR/__init__.py create mode 100644 faker/providers/lorem/cs_CZ/__init__.py create mode 100644 faker/providers/person/en_IE/__init__.py create mode 100644 faker/providers/person/en_IN/__init__.py create mode 100644 faker/providers/person/fr_CA/__init__.py create mode 100644 faker/providers/person/ga_IE/__init__.py create mode 100644 faker/providers/phone_number/ar_AE/__init__.py create mode 100644 faker/providers/phone_number/en_IN/__init__.py create mode 100644 faker/providers/phone_number/ro_RO/__init__.py create mode 100644 faker/providers/ssn/th_TH/__init__.py create mode 100644 faker/py.typed create mode 100644 faker/typing.py create mode 100644 mypy.ini create mode 100644 tests/conftest.py create mode 100644 tests/providers/test_dynamic.py create mode 100644 tests/providers/test_profile.py create mode 100644 tests/pytest/test_unique_clear.py create mode 100644 tests/test_providers_formats.py create mode 100644 tests/test_unique.py diff --git a/.bumpversion.cfg b/.bumpversion.cfg index 247037cd51..14720fac60 100644 --- a/.bumpversion.cfg +++ b/.bumpversion.cfg @@ -1,5 +1,5 @@ [bumpversion] -current_version = 4.1.4 +current_version = 9.7.1 files = VERSION faker/__init__.py docs/conf.py commit = True tag = True diff --git a/.circleci/config.yml b/.circleci/config.yml deleted file mode 100644 index 3286acf3a4..0000000000 --- a/.circleci/config.yml +++ /dev/null @@ -1,10 +0,0 @@ -version: 2 - -jobs: - build: - docker: - - image: circleci/python:latest-node-browsers - steps: - - checkout - - run: pip install --user tox - - run: tox diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 0000000000..5ace4600a1 --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,6 @@ +version: 2 +updates: + - package-ecosystem: "github-actions" + directory: "/" + schedule: + interval: "weekly" diff --git a/.github/workflows/autobump.yml b/.github/workflows/autobump.yml index 59412f0730..fe69c526a9 100644 --- a/.github/workflows/autobump.yml +++ b/.github/workflows/autobump.yml @@ -4,42 +4,66 @@ on: types: [closed] jobs: - release: + bumpversion: runs-on: ubuntu-latest if: github.event.pull_request.merged_at != null + strategy: + max-parallel: 1 steps: - - name: 'Wait for status checks' + - name: Wait for status checks id: waitforstatuschecks uses: "fcurella/gh-status-check@main" with: - ignoreContexts: coverage/coveralls + ignoreContexts: coverage/coveralls,continuous-integration/appveyor/branch + ignoreActions: autobump checkInterval: 12 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - name: get next version - id: nextversion + githubToken: ${{ secrets.GITHUB_TOKEN }} + - name: Get Next Part + id: nextpart if: steps.waitforstatuschecks.outputs.status == 'success' uses: "fcurella/gh-action-label-to-semver@main" with: - major: "bump-version:major" - minor: "bump-version:minor" - defaultPart: "patch" + major: "bump-version:major" + minor: "bump-version:minor" + defaultPart: "patch" + githubToken: ${{ secrets.GITHUB_TOKEN }} - uses: actions/checkout@v2 + with: + fetch-depth: 0 # otherwise, you will failed to push refs to dest repo - name: Get Next Version uses: "fcurella/gh-action-next-version@main" id: nextversion with: - part: ${{ steps.waitforstatuschecks.outputs.part }} + part: ${{ steps.nextpart.outputs.part }} - name: Update Changelog uses: "fcurella/gh-action-update-changelog@main" with: - githubToken: ${{ secrets.GITHUB_TOKEN }} - changelogPath: "CHANGELOG.rst" - changelogLine : 4 + changelogPath: "CHANGELOG.md" + changelogLine : 3 currentVersion: ${{ steps.nextversion.outputs.currentVersion }} nextVersion: ${{ steps.nextversion.outputs.nextVersion }} - name: Bump version uses: "fcurella/gh-action-bump2version@main" with: - githubToken: ${{ secrets.GITHUB_TOKEN }} - part: ${{ steps.waitforstatuschecks.outputs.part }} + part: ${{ steps.nextpart.outputs.part }} + - name: Push changes + uses: ad-m/github-push-action@master + with: + tags: true + github_token: ${{ secrets.GITHUB_TOKEN }} + - name: Set up Python + uses: actions/setup-python@v2 + with: + python-version: '3.x' + - name: Install dependencies + run: | + python -m pip install --upgrade pip + pip install setuptools wheel + - name: Build package + run: | + python setup.py sdist bdist_wheel + - name: Publish package + uses: pypa/gh-action-pypi-publish@master + with: + user: __token__ + password: ${{ secrets.pypi_password }} diff --git a/.github/workflows/autodeploy.yml b/.github/workflows/autodeploy.yml deleted file mode 100644 index 5c0880f927..0000000000 --- a/.github/workflows/autodeploy.yml +++ /dev/null @@ -1,27 +0,0 @@ -name: Auto Deploy -on: - push: - branches: - - master -jobs: - release: - runs-on: ubuntu-latest - if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags') - steps: - - uses: actions/checkout@v2 - - name: Set up Python - uses: actions/setup-python@v2 - with: - python-version: '3.x' - - name: Install dependencies - run: | - python -m pip install --upgrade pip - pip install setuptools wheel - - name: Build package - run: | - python setup.py sdist bdist_wheel - - name: Publish package - uses: pypa/gh-action-pypi-publish@master - with: - user: __token__ - password: ${{ secrets.pypi_password }} diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000000..af5ba0877c --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,164 @@ +name: Python Tests + +on: + push: + branches: + - master + pull_request: + branches: + - master + +jobs: + lint: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v2 + - name: Set up Python + uses: actions/setup-python@v2 + with: + python-version: '3.x' + - name: Install dependencies + run: | + python -m pip install tox + - name: Lint with flake8 + run: tox + env: + TOXENV: flake8 + - name: Check manifest + run: tox + env: + TOXENV: checkmanifest + - name: Import order checking with isort + run: tox + env: + TOXENV: isort + - name: Formatting with black + run: tox + env: + TOXENV: black + - name: Doc formatting + run: tox + env: + TOXENV: doc8 + + typing: + runs-on: ubuntu-latest + strategy: + matrix: + python: [3.6, 3.8, "3.10"] + + steps: + - uses: actions/checkout@v2 + - name: Set up Python + uses: actions/setup-python@v2 + with: + python-version: ${{ matrix.python }} + - name: Install dependencies + run: | + python -m pip install tox + - name: Static type checking with mypy + run: tox + env: + TOXENV: mypy + + test_ubuntu: + runs-on: ubuntu-latest + needs: [lint, typing] + strategy: + matrix: + python: [3.6, 3.7, 3.8, 3.9, "pypy3"] + + steps: + - uses: actions/checkout@v2 + - name: Setup Python + uses: actions/setup-python@v2 + with: + python-version: ${{ matrix.python }} + - name: Install Tox and any other packages + run: python -m pip install tox coveralls + - name: Run Tox + # Run tox using the version of Python in `PATH` + run: tox -e py + - name: Publish coverage + run: coveralls --service=github + env: + COVERALLS_PARALLEL: true + COVERALLS_FLAG_NAME: run-ubuntu-${{ matrix.python }} + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + COVERALLS_SERVICE_NAME: github + + test_windows: + runs-on: windows-latest + needs: [lint, typing] + strategy: + matrix: + python: [3.6, 3.7, 3.8, 3.9] + arch: ["x86", "x64"] + + steps: + - uses: actions/checkout@v2 + - name: Setup Python + uses: actions/setup-python@v2 + with: + python-version: ${{ matrix.python }} + - name: Install Tox and any other packages + run: python -m pip install tox coveralls + - name: Run Tox + # Run tox using the version of Python in `PATH` + run: tox -e py + - name: Publish coverage + run: coveralls --service=github + env: + COVERALLS_PARALLEL: true + COVERALLS_FLAG_NAME: run-ubuntu-${{ matrix.python }} + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + COVERALLS_SERVICE_NAME: github + + test_alpine: + runs-on: ubuntu-latest + needs: [lint, typing] + + steps: + - uses: actions/checkout@v2 + - name: Set up Python + uses: actions/setup-python@v2 + with: + python-version: '3.x' + - name: Install dependencies + run: | + python -m pip install tox + - name: Run tests + run: tox + env: + TOXENV: alpine + TEST_ALPINE: 1 + + test_32bit: + runs-on: ubuntu-latest + needs: [lint, typing] + + steps: + - uses: actions/checkout@v2 + - name: Set up Python + uses: actions/setup-python@v2 + with: + python-version: '3.x' + - name: Install dependencies + run: | + python -m pip install tox + - name: Run tests + run: tox + env: + TOXENV: 32bit + TEST_32BIT: 1 + + finish: + needs: [test_ubuntu, test_windows, test_alpine, test_32bit] + runs-on: ubuntu-latest + steps: + - name: Coveralls Finished + uses: AndreMiras/coveralls-python-action@develop + with: + github-token: ${{ secrets.GITHUB_TOKEN }} + parallel-finished: true diff --git a/.github/workflows/gh-release.yml b/.github/workflows/gh-release.yml new file mode 100644 index 0000000000..c7a003cd59 --- /dev/null +++ b/.github/workflows/gh-release.yml @@ -0,0 +1,27 @@ +on: + push: + # Sequence of patterns matched against refs/tags + tags: + - 'v*' # Push events to matching v*, i.e. v1.0, v20.15.10 + +name: Create Release + +jobs: + build: + name: Create Release + runs-on: ubuntu-latest + steps: + - name: Checkout code + uses: actions/checkout@v2 + - name: Create Release + id: create_release + uses: actions/create-release@v1 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # This token is provided by Actions, you do not need to create your own token + with: + tag_name: ${{ github.ref }} + release_name: Release ${{ github.ref }} + body: | + See CHANGELOG.md + draft: false + prerelease: false diff --git a/.gitignore b/.gitignore index ad8222c2e4..f3259eea5c 100644 --- a/.gitignore +++ b/.gitignore @@ -52,3 +52,4 @@ nosetests.xml *.iml *.ipr venv/ +.vscode diff --git a/.isort.cfg b/.isort.cfg index 7a6dabca27..a8b67bb21b 100644 --- a/.isort.cfg +++ b/.isort.cfg @@ -6,3 +6,4 @@ sections=FUTURE,STDLIB,THIRDPARTY,FIRSTPARTY,LOCALFOLDER use_parentheses=true include_trailing_comma=true lines_between_types=1 +profile=black diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index fcbe3f80bf..0000000000 --- a/.travis.yml +++ /dev/null @@ -1,36 +0,0 @@ -dist: xenial -language: python -sudo: false -cache: pip -branches: - only: - - master - -matrix: - include: - - python: 3.7 - env: TOXENV=flake8 - - python: 3.7 - env: TOXENV=checkmanifest - - env: TOXENV=isort - - python: 3.5 - env: TOXENV=py35 - - python: 3.6 - env: TOXENV=py36 - - python: 3.7 - env: TOXENV=py37 - - python: 3.8 - env: TOXENV=py38 - - python: pypy3.5-6.0 - env: TOXENV=pypy3 - - python: 3.7 - os: linux - env: TOXENV=32bit TEST_32BIT=1 - -install: - - pip install tox -script: - - tox -after_success: - - pip install coveralls - - coveralls diff --git a/CHANGELOG.rst b/CHANGELOG.md similarity index 58% rename from CHANGELOG.rst rename to CHANGELOG.md index 66d893582c..010efc923e 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.md @@ -1,16 +1,443 @@ -Changelog -========= +## Changelog -`4.1.4 - 2020-09-30 `_ -------------------------------------------------------------------------------- +### [v9.7.1 - 2021-10-27](https://github.com/joke2k/faker/compare/v9.7.0...v9.7.1) + +* Take into account area codes for French phone numbers. Thanks @nicarl. + +### [v9.7.0 - 2021-10-27](https://github.com/joke2k/faker/compare/v9.6.0...v9.7.0) + +* Add provider for French SSN. Thanks @nicarl. + +### [v9.6.0 - 2021-10-25](https://github.com/joke2k/faker/compare/v9.5.3...v9.6.0) + +* Add dynamic provider. Thanks @omri374. + +### [v9.5.3 - 2021-10-25](https://github.com/joke2k/faker/compare/v9.5.2...v9.5.3) + +* Improve randomness of ``pydecimal`` for different scenarios. Thanks @antonioIrizar. + +### [v9.5.2 - 2021-10-21](https://github.com/joke2k/faker/compare/v9.5.1...v9.5.2) + +* Limit ``typing_extensions`` dependency to Python < 3.8. Thanks @mgorny. + +### [v9.5.1 - 2021-10-20](https://github.com/joke2k/faker/compare/v9.5.0...v9.5.1) + +* Add ``typing-extensions`` as dependency and pin ``mypy`` version. Thanks @nicarl. + +### [v9.5.0 - 2021-10-19](https://github.com/joke2k/faker/compare/v9.4.0...v9.5.0) + +* Add automotive provider for ``nl_NL``. Thanks @MarcelRobeer. + +### [v9.4.0 - 2021-10-19](https://github.com/joke2k/faker/compare/v9.3.1...v9.4.0) + +* Add Typing. Thanks @MarcelRobeer, @nicarl. + +### [v9.3.1 - 2021-10-11](https://github.com/joke2k/faker/compare/v9.3.0...v9.3.1) + +* Change to secondary address format in ``en_AU`` locale to reflect the common usage. Thanks @deboraelkin2. + +### [v9.3.0 - 2021-10-11](https://github.com/joke2k/faker/compare/v9.2.0...v9.3.0) + +* Add ``currency``, ``automotive``, ``company`` and ``bank`` providers for ``el_GR``. Thanks @nikosmichas. + +### [v9.2.0 - 2021-10-07](https://github.com/joke2k/faker/compare/v9.1.0...v9.2.0) + +* Add ``color`` and ``date_time`` provider for ``el_GR``. Thanks @nikosmichas. + +### [v9.1.0 - 2021-10-07](https://github.com/joke2k/faker/compare/v9.0.1...v9.1.0) + +* Add currency provider for ``nl_NL``. Thanks @MarcelRobeer. + +### [v9.0.1 - 2021-10-07](https://github.com/joke2k/faker/compare/v9.0.0...v9.0.1) + +* Fix ``pydecimal`` returning ``min_value`` or ``max_value`` too frequently. Thanks @zivkovic. + +### [v9.0.0 - 2021-10-06](https://github.com/joke2k/faker/compare/v8.16.0...v9.0.0) + +* Change default email generator to use safe domain names. Thanks @errbufferoverfl. + +### [v8.16.0 - 2021-10-04](https://github.com/joke2k/faker/compare/v8.15.0...v8.16.0) + +* Add ``date_time`` provider for ``nl_NL``. Thanks @MarcelRobeer. + +### [v8.15.0 - 2021-10-04](https://github.com/joke2k/faker/compare/v8.14.2...v8.15.0) + +* Add ``bg_BG`` color provider. Thanks @iradonov. + +### [v8.14.2 - 2021-10-04](https://github.com/joke2k/faker/compare/v8.14.1...v8.14.2) + +* Fix bug in ``pydecimal`` when returning max/min. Thanks @wilbertom. + +### [v8.14.1 - 2021-10-01](https://github.com/joke2k/faker/compare/v8.14.0...v8.14.1) + +* Fix `pydecimal` precision. Thanks @joidegn. + +### [v8.14.0 - 2021-09-24](https://github.com/joke2k/faker/compare/v8.13.1...v8.14.0) + +* Add datetime provider for ``bn_BD``. Thanks @jabertuhin. + +### [v8.13.1 - 2021-09-15](https://github.com/joke2k/faker/compare/v8.13.0...v8.13.1) + +* Change ``fi_FI`` Provinces to Regions. Thanks @LKajan. + +### [v8.13.0 - 2021-09-15](https://github.com/joke2k/faker/compare/v8.12.3...v8.13.0) + +* ``uk_UA`` address provider - fix streets and cities names, added regions. Thanks @o-vasyliev. + +### [v8.12.3 - 2021-09-15](https://github.com/joke2k/faker/compare/v8.12.2...v8.12.3) + +* Fix missing underscores in ``mac_platform_token``. Thanks @iamkeyur. + +### [v8.12.2 - 2021-09-15](https://github.com/joke2k/faker/compare/v8.12.1...v8.12.2) + +* Remove period/fullstop from ``en_GB`` prefixes. Thanks @stephengruppetta. + +### [v8.12.1 - 2021-08-24](https://github.com/joke2k/faker/compare/v8.12.0...v8.12.1) + +* Add missing diacritics in ``fr_FR`` ``person`` provider. Thanks @laowantong. + +### [v8.12.0 - 2021-08-20](https://github.com/joke2k/faker/compare/v8.11.0...v8.12.0) + +* Added non-geo numbers and services phones format for ``pt_BR``. Thanks @leogregianin. +* Add datetime formats in ``pt_BR``. Thanks @leogregianin. +* Add currency formats in ``pt_BR``. Thanks @leogregianin. + +### [v8.11.0 - 2021-08-03](https://github.com/joke2k/faker/compare/v8.10.3...v8.11.0) + +* Add ``nic_handle``. Thanks @pishchalnikov. + +### [v8.10.3 - 2021-07-26](https://github.com/joke2k/faker/compare/v8.10.2...v8.10.3) + +* Remove potentially offensive surname in ``it_IT``. Thanks @lordgordon. + +### [v8.10.2 - 2021-07-23](https://github.com/joke2k/faker/compare/v8.10.1...v8.10.2) + +* Return list instead of tuple in ``choices_distribution``. Thanks @svisser. + +### [v8.10.1 - 2021-07-12](https://github.com/joke2k/faker/compare/v8.10.0...v8.10.1) + +* enable faker instances to be unpickled (#1480). Thanks @fcurella. + +### [v8.10.0 - 2021-07-07](https://github.com/joke2k/faker/compare/v8.9.1...v8.10.0) + +* Add ``ar_AE`` (UAE) phone numbers. Thanks @sshishov. + +### [v8.9.1 - 2021-07-02](https://github.com/joke2k/faker/compare/v8.9.0...v8.9.1) + +* Skip UnsupportedFeature's on the command line. Thanks @therefromhere. + +### [v8.9.0 - 2021-06-30](https://github.com/joke2k/faker/compare/v8.8.2...v8.9.0) + +* Add RIPE ID. Thanks @pishchalnikov. + +### [v8.8.2 - 2021-06-23](https://github.com/joke2k/faker/compare/v8.8.1...v8.8.2) + +* Avoid collision for ``date`` in ``datetime`` provider. Thanks @mattshin. + +### [v8.8.1 - 2021-06-16](https://github.com/joke2k/faker/compare/v8.8.0...v8.8.1) + +* Fix ``left_digits`` ignored if ``min_value`` is given. Thanks @OJFord.q + +### [v8.8.0 - 2021-06-14](https://github.com/joke2k/faker/compare/v8.7.0...v8.8.0) + +* Add ``iana_id``, IANA Registrar ID. Thanks @pishchalnikov. + +### [v8.7.0 - 2021-06-11](https://github.com/joke2k/faker/compare/v8.6.0...v8.7.0) + +* Add tlds for ``th_TH`` internet provider. Thanks @bact. + +### [v8.6.0 - 2021-06-07](https://github.com/joke2k/faker/compare/v8.5.1...v8.6.0) + +* Add ``aba()`` method to generate ABA routing numbers. Thanks @mstellon. + +### [v8.5.1 - 2021-06-03](https://github.com/joke2k/faker/compare/v8.5.0...v8.5.1) + +* Fix deepcopy for Faker instances. + +### [v8.5.0 - 2021-06-02](https://github.com/joke2k/faker/compare/v8.4.0...v8.5.0) + +* Add ``image`` provider. Thanks @n1ngu. + +### [v8.4.0 - 2021-05-27](https://github.com/joke2k/faker/compare/v8.3.0...v8.4.0) + +* Add license plates and language names for ``he_IL`` locale. Thanks @AndreyRub. + +### [v8.3.0 - 2021-05-26](https://github.com/joke2k/faker/compare/v8.2.1...v8.3.0) + +* Add colors for ``he_IL``. Thanks @AndreyRub. + +### [v8.2.1 - 2021-05-21](https://github.com/joke2k/faker/compare/v8.2.0...v8.2.1) + +* Add few more names in ``en_IN`` person provider. Thanks @Felix-Raj. + +### [v8.2.0 - 2021-05-18](https://github.com/joke2k/faker/compare/v8.1.4...v8.2.0) + +* Add ``city_name()`` and cities to ``support .city()`` for ``th_TH``. Thanks @bact. + +### [v8.1.4 - 2021-05-13](https://github.com/joke2k/faker/compare/v8.1.3...v8.1.4) + +* Support distant past dates on Windows. Thanks @prescod. + +### [v8.1.3 - 2021-05-10](https://github.com/joke2k/faker/compare/v8.1.2...v8.1.3) + +* Fixes #1439: Cast Path to a string for `pkgutil.iter_modules` (#1441). Thanks @fcurella. + +### [v8.1.2 - 2021-04-29](https://github.com/joke2k/faker/compare/8.1.1...v8.1.2) + +* Fix company suffix typo for ``th_TH``. Thanks @bact. + +### [v8.1.1 - 2021-04-23](https://github.com/joke2k/faker/compare/8.1.0...v8.1.1) + +* Remove ``gmail.co.uk`` from ``en_GB`` email Provider. Thanks @bact. + +### [v8.1.0 - 2021-04-05](https://github.com/joke2k/faker/compare/8.0.0...v8.1.0) + +* Extend ``pl_PL`` Pesel To support greater range of dates. Thanks @IlfirinPL. + +### [v8.0.0 - 2021-04-05](https://github.com/joke2k/faker/compare/v7.0.1...v8.0.0) + +* Fix CLI only giving 10 possible outputs. Thanks @andrewdotn. + +### [v7.0.1 - 2021-03-29](https://github.com/joke2k/faker/compare/v7.0.0...v7.0.1) + +* Fix faker module loader to use strings rather than Paths. Thanks @mgorny. + +### [v7.0.0 - 2021-03-29](https://github.com/joke2k/faker/compare/v6.6.3...v7.0.0) + +* Make sure `pyfloat` fails when asked to produce more digits than the system supports. Thanks @rossjones. + +### [v6.6.3 - 2021-03-25](https://github.com/joke2k/faker/compare/v6.6.2...v6.6.3) + +* Ensure ``pytuple`` returns the correct number of items. Thanks @rossjones. + +### [v6.6.2 - 2021-03-18](https://github.com/joke2k/faker/compare/v6.6.1...v6.6.2) + +* Fix ``ro_RO`` phone numbers generation. Thanks @feketemihai. + +### [v6.6.1 - 2021-03-15](https://github.com/joke2k/faker/compare/v6.6.0...v6.6.1) + +* set ``uk_UA`` address street titles to proper language. Thanks @fessua. + +### [v6.6.0 - 2021-03-09](https://github.com/joke2k/faker/compare/v6.5.2...v6.6.0) + +* Add ``address`` provider for ``ro_RO``. Thanks @feketemihai. + +### [v6.5.2 - 2021-03-08](https://github.com/joke2k/faker/compare/v6.5.1...v6.5.2) + +* Fix a problem with ``pyfloat`` where it can return ``sys.epsilon`` when ``right_digits=N`` and ``positive=True``. Thanks @tomage. + +### [v6.5.1 - 2021-03-08](https://github.com/joke2k/faker/compare/v6.5.0...v6.5.1) + +* Replace ``es_MX`` ``RFC`` name initials when they are forbidden words. Thanks @briferz. + +### [v6.5.0 - 2021-02-24](https://github.com/joke2k/faker/compare/v6.4.1...v6.5.0) + +* Add ``address`` provider for ``de_CH``. Thanks @andre-dasilva. + +### [v6.4.1 - 2021-02-19](https://github.com/joke2k/faker/compare/v6.4.0...v6.4.1) + +* user_agent: bump platform versions. Thanks @gsilvan. + +### [v6.4.0 - 2021-02-19](https://github.com/joke2k/faker/compare/v6.3.0...v6.4.0) + +* Add ``cs_CZ`` lorem - word list. Thanks @jakubno. + +### [v6.3.0 - 2021-02-17](https://github.com/joke2k/faker/compare/v6.2.0...v6.3.0) + +* Add ``sk_SK`` automotive provider. Thanks @matusvalo. + +### [v6.2.0 - 2021-02-17](https://github.com/joke2k/faker/compare/v6.1.1...v6.2.0) + +* Add current_country, current_country_code and administrative_unit. Thanks @prescod. + +### [v6.1.1 - 2021-02-09](https://github.com/joke2k/faker/compare/v6.1.0...v6.1.1) + +* Add Taiwanese and Palestinian time zones. Thanks @prescod. + +### [v6.1.0 - 2021-02-09](https://github.com/joke2k/faker/compare/v6.0.0...v6.1.0) + +* Rename ``fr_QC`` to ``fr_CA``. Thanks @prescod. + +### [v6.0.0 - 2021-02-03](https://github.com/joke2k/faker/compare/v5.8.0...v6.0.0) + +* Fix ``pyfloat`` returning zeros when ```positive=True```. Thanks @sciencectn. + +### [v5.8.0 - 2021-01-26](https://github.com/joke2k/faker/compare/v5.7.0...v5.8.0) + +* Add currency names for ``th_TH``. Thanks @bact. + +### [v5.7.0 - 2021-01-25](https://github.com/joke2k/faker/compare/v5.6.5...v5.7.0) + +* Add new currency provider ``pricetag()``. Thanks @eumiro. + +### [v5.6.5 - 2021-01-20](https://github.com/joke2k/faker/compare/v5.6.4...v5.6.5) + +* Update ``th_TH`` Lorem text provider's punctuations, reduce size of word list (#1376). Thanks @bact. + +### [v5.6.4 - 2021-01-20](https://github.com/joke2k/faker/compare/v5.6.3...v5.6.4) + +* Synchronize ``cs_CZ`` and ``sk_SK`` address provider and split postcodes (#1174). Thanks @eumiro. + +### [v5.6.3 - 2021-01-19](https://github.com/joke2k/faker/compare/v5.6.2...v5.6.3) + +* Enable parallel coveralls builds (#1382). Thanks @fcurella. + +### [v5.6.2 - 2021-01-19](https://github.com/joke2k/faker/compare/v5.6.1...v5.6.2) + +* Fix coveralls (#1374). Thanks @joke2k. + +### [5.6.1 - 2021-01-15](https://github.com/joke2k/faker/compare/v5.6.0...v5.6.1) + +* Fix transliteration for ``ru_RU`` ``person`` provider. Thanks @valestel. + +### [5.6.0 - 2021-01-13](https://github.com/joke2k/faker/compare/v5.5.1...v5.6.0) + +* Add ``address``, ``bank``, ``geo`` and ``person`` provider for ``en_IE``. Thanks @NiL. +* Add ``person`` provider for ``ga_IE``. Thanks @NiL. + +### [5.5.1 - 2021-01-12](https://github.com/joke2k/faker/compare/v5.5.0...v5.5.1) + +* Fix lorem provider ``sentence`` method. + +### [5.5.0 - 2021-01-11](https://github.com/joke2k/faker/compare/v5.4.1...v5.5.0) + +* Add elements caching and other optimizations. Thanks @prescod. +* Add ``use_weighting`` parameter for improved performance. Thanks @prescod. + +### [5.4.1 - 2021-01-11](https://github.com/joke2k/faker/compare/v5.4.0...v5.4.1) + +* Remove empty string from ``ar_AA`` Person Provider. + +### [5.4.0 - 2021-01-07](https://github.com/joke2k/faker/compare/v5.3.0...v5.4.0) + +* Add ``da_DK`` address provider. Thanks @JoseNavy. + +### [5.3.0 - 2020-12-30](https://github.com/joke2k/faker/compare/v5.2.0...v5.3.0) + +* ``json`` and ``fixed_width`` now allow for strings to be fixed or pinned to a static value by prepending ``@``. Thanks @johnbrandborg. + +### [5.2.0 - 2020-12-30](https://github.com/joke2k/faker/compare/v5.1.0...v5.2.0) + +* Add ``en_IN`` address + phone number provider. Thanks @pulkitgupta2k. + +### [5.1.0 - 2020-12-28](https://github.com/joke2k/faker/compare/v5.0.1...v5.1.0) + +* Add ``en_IN`` person provider. Thanks @pulkitgupta2k. + +### [5.0.2 - 2020-12-15](https://github.com/joke2k/faker/compare/v5.0.1...v5.0.2) + +* Remove invalid surname in `nl_NL`. Thanks @TheoSinnige. + +### [5.0.1 - 2020-12-07](https://github.com/joke2k/faker/compare/v5.0.0...v5.0.1) + +* ``th_TH`` ``strftime``: normalize output for unsupported directive on ``musl``-based Linux. Thanks @bact. + +### [5.0.0 - 2020-12-03](https://github.com/joke2k/faker/compare/v4.18.0...v5.0.0) + +* Drop support for Python 3.5. Thanks @cclaus. +* Add support for Python 3.9. Thanks @cclaus. + +### [4.18.0 - 2020-11-30](https://github.com/joke2k/faker/compare/v4.17.1...v4.18.0) + +* Add ``date_time`` and ``bank`` providers for ``th_TH``. Thanks @bact. + +### [4.17.1 - 2020-11-19](https://github.com/joke2k/faker/compare/v4.17.0...v4.17.1) + +* Correct spelling errors in city names for ``de_DE``. Thanks @AnjaGer. +### [4.17.0 - 2020-11-19](https://github.com/joke2k/faker/compare/v4.16.0...v4.17.0) + +* Add name pairs to get matched representation in ``ja_JP`` person provider. Thanks @yu-ichiro. + +### [4.16.0 - 2020-11-17](https://github.com/joke2k/faker/compare/v4.15.0...v4.16.0) + +* Add SSN, company name, address, and license plate providers for ``th_TH``. Thanks @bact. + +### [4.15.0 - 2020-11-16](https://github.com/joke2k/faker/compare/v4.14.2...v4.15.0) + +* Add postcode format, country names, person prefix weights, and update phone number format for ``th_TH``. Thanks @bact. + +### [4.14.2 - 2020-11-04](https://github.com/joke2k/faker/compare/v4.14.1...v4.14.2) + +* Fix generation of names ending with spaces. Thanks @edomora97. + +### [4.14.1 - 2020-11-04](https://github.com/joke2k/faker/compare/v4.14.0...v4.14.1) + +* Add relative frequencies for japanese last names. Thanks @TianyiShi2001. + +### [4.14.0 - 2020-10-13](https://github.com/joke2k/faker/compare/v4.13.0...v4.14.0) + +* Add Swiss bank provider locales. Thanks @mondeja. + +### [4.13.0 - 2020-10-13](https://github.com/joke2k/faker/compare/v4.12.0...v4.13.0) + +* Split first names into male and female on ``pt_PT`` provider. Thanks @gplgps. + +### [4.12.0 - 2020-10-13](https://github.com/joke2k/faker/compare/v4.11.0...v4.12.0) + +* Geo provider added for ``tr_TR`` locale. Thanks @iamnotagentleman. + +### [4.11.0 - 2020-10-13](https://github.com/joke2k/faker/compare/v4.10.0...v4.11.0) + +* Add ``sk_SK`` Job provider. Thanks @pipozzz. + +### [4.10.0 - 2020-10-13](https://github.com/joke2k/faker/compare/v4.9.0...v4.10.0) + +* Add ``date_time`` provider for ``pt_PT``. Thanks @gplgps. + +### [4.9.0 - 2020-10-08](https://github.com/joke2k/faker/compare/v4.8.0...v4.9.0) + +* Add ``.unique()`` for unique values. Thanks @coiax. + +### [4.8.0 - 2020-10-08](https://github.com/joke2k/faker/compare/v4.7.0...v4.8.0) + +* Add automotive provider for ``tr_TR``. Thanks @molcay. + +### [4.7.0 - 2020-10-08](https://github.com/joke2k/faker/compare/v4.6.0...v4.7.0) + +* Add province list and add 2 new district to ``ne_NP``. Thanks @iamsauravsharma. + + +### [4.6.0 - 2020-10-08](https://github.com/joke2k/faker/compare/v4.5.0...v4.6.0) + +* Add Currency provider for ``sv_SE``. Thanks @frangiz. + +### [4.5.0 - 2020-10-06](https://github.com/joke2k/faker/compare/v4.4.0...v4.5.0) + +* Add ``pt_PT`` credit card provider. Thanks @rubenandre. + +### [4.4.0 - 2020-10-02](https://github.com/joke2k/faker/compare/v4.3.0...v4.4.0) + +* Added Company Provider for ``tr_TR`` locale. Thanks @iamnotagentleman. + +### [4.3.0 - 2020-10-02](https://github.com/joke2k/faker/compare/v4.2.0...v4.3.0) + +* Add job providers for ``tr_TR``. Thanks @molcay. + +### [4.2.0 - 2020-10-02](https://github.com/joke2k/faker/compare/v4.1.8...v4.2.0) + +* Implement color provider for ``sk_SK`` locale. Thanks @pipozzz. + +### [4.1.8 - 2020-10-02](https://github.com/joke2k/faker/compare/v4.1.7...v4.1.8) + +* Fix ``hu_HU`` color provider inheritance. Thanks @n1ngu. + +### [4.1.7 - 2020-10-02](https://github.com/joke2k/faker/compare/v4.1.6...v4.1.7) +* Bigger zipcode ranges for VA, TX and MD in ``en_US``. Thanks @Antetokounpo. + +### [4.1.6 - 2020-10-01](https://github.com/joke2k/faker/compare/v4.1.5...v4.1.6) +* Add new style ``pt_PT`` automotive plates. Thanks @gplgps. + +### [4.1.5 - 2020-10-01](https://github.com/joke2k/faker/compare/v4.1.4...v4.1.5) +* Remove duplicate jobs from the ``pt_PT`` provider (#1282). Thanks @gplgps. + +### [4.1.4 - 2020-09-30](https://github.com/joke2k/faker/compare/v4.1.3...v4.1.4) * Use "Belarus" instead of "Vitryssland" for ``sv_SE``. Thanks @Majsvaffla. * Added bank provider for ``tr_TR`` locale. Thanks @iamnotagentleman. * Improve VAT generation for IT provider. Thanks @LordGordonQ. * Use non-zero number for first digit of Swedish postal codes. Thanks @Majsvaffla. -`4.1.3 - 2020-09-14 `_ -------------------------------------------------------------------------------- +### [4.1.3 - 2020-09-14](https://github.com/joke2k/faker/compare/v4.1.2...v4.1.3) * Add ``es_ES`` autonomous communities (Spanish regions). Thanks @mondeja. * Add JSON and Fixed Width argument group and parser support. Thanks @johnbrandborg. @@ -19,8 +446,7 @@ Changelog * ``or_IN`` Odia person's name added. Thanks @soumendrak. * Remove ``datetime_safe`` shim subclass in favor of native Python ``datetime.datetime``. Thanks @samcrang. -`4.1.2 - 2020-08-17 `_ -------------------------------------------------------------------------------- +### [4.1.2 - 2020-08-17](https://github.com/joke2k/faker/compare/v4.1.1...v4.1.2) * Extend Person Provider to support non-binary suffixes and prefixes. Thank you @crd. * Add ``safe_domain_name`` generator. Thanks @crd. @@ -35,8 +461,7 @@ Changelog * Add ``es_ES`` ``barcode`` provider. Thanks @mondeja. * Add parser argument support. Thanks @johnbrandborg. -`4.1.1 - 2020-06-15 `_ -------------------------------------------------------------------------------- +### [4.1.1 - 2020-06-15](https://github.com/joke2k/faker/compare/v4.1.0...v4.1.1) * Add ``date_time`` providers for ``cs_CZ``, ``de_AT``, ``es_ES``, ``it_IT``, ``sk_SK``, ``tr_TR``. Thanks @eumiro. @@ -47,8 +472,7 @@ Changelog * Add ``pytimezone`` generator returning ``tzinfo`` objects. Thanks @OJFord. * Add ``es_ES`` currency provider. Thanks @mondeja. -`4.1.0 - 2020-05-12 `_ -------------------------------------------------------------------------------- +### [4.1.0 - 2020-05-12](https://github.com/joke2k/faker/compare/v4.0.3...v4.1.0) * Add ``pytest`` plugin. Thanks @malefice. * Fix phone numbers for ``es_ES``. Thanks @pablofm. @@ -57,8 +481,7 @@ Changelog * Add provider for ``sk_SK`` ``birth_number``. Thanks @eumiro. * Add ``day_of_week`` and ``month_name`` for ``de_DE`` provider. Thanks @eumiro. -`4.0.3 - 2020-04-13 `_ -------------------------------------------------------------------------------- +### [4.0.3 - 2020-04-13](https://github.com/joke2k/faker/compare/v4.0.2...v4.0.3) * Fixed ``MSISDN`` for ``pt_BR`` to return only mobile numbers. Thanks @rodrigondec. * Added Domain Generator Algorithm by date. Thanks @pishchalnikov. @@ -74,8 +497,7 @@ Changelog * Added color provider for ``no_NO`` license plates. Thanks @bjorskog. * Made ``value_types`` a keyword argument in ``python`` provider. Thanks @slafs. -`4.0.2 - 2020-03-11 `_ -------------------------------------------------------------------------------- +### [4.0.2 - 2020-03-11](https://github.com/joke2k/faker/compare/v4.0.1...v4.0.2) * Add more data for ``ko_KR`` address provider. Thanks @alstn2468. * Improved ``pt_PT`` locale for address and bank. Thanks @mustakarhu. @@ -87,8 +509,7 @@ Changelog * Add ``AutomotiveProvider`` for ``fr_FR`` locale. Thanks @clarissedescamps and @perssonsimon1. * Fix ``cellphone_formats`` in ``pt_BR`` ``PhoneNumberProvider``. Thanks @rodrigondec. -`4.0.1 - 2020-02-17 `_ -------------------------------------------------------------------------------- +### [4.0.1 - 2020-02-17](https://github.com/joke2k/faker/compare/v4.0.0...v4.0.1) * Provider improvements for Russian locale: * added city suffixes, regions and country list @@ -110,13 +531,11 @@ Changelog * Add Birth Number to czech locale. Thanks @Jengah. * Add persons provider for ``fr_QC``. Thanks @Lionesk. -`4.0.0 - 2020-01-14 `_ -------------------------------------------------------------------------------- +### [4.0.0 - 2020-01-14](https://github.com/joke2k/faker/compare/v3.0.1...v4.0.0) * Breaking change: Remove support for end-of-life Python 2.7. -`3.0.1 - 2020-01-14 `_ -------------------------------------------------------------------------------- +### [3.0.1 - 2020-01-14](https://github.com/joke2k/faker/compare/v3.0.0...v3.0.1) **NOTE**: This is the last release to support Python 2.7.x. @@ -132,14 +551,12 @@ Changelog * Fix ``Faker.random_number`` intermittent exceptions. Thanks @Jengah. -`3.0.0 - 2019-12-04 `_ -------------------------------------------------------------------------------- +### [3.0.0 - 2019-12-04](https://github.com/joke2k/faker/compare/v2.0.5...v3.0.0) * Breaking change: Add support for multiple locale data generation. Thanks @malefice. -`2.0.5 - 2019-12-03 `_ -------------------------------------------------------------------------------- +### [2.0.5 - 2019-12-03](https://github.com/joke2k/faker/compare/v2.0.4...v2.0.5) * Add Iranian credit card. Thanks @abtinmo. * Improve color provider. Thanks @malefice. @@ -147,8 +564,7 @@ Changelog * Change NY zipcode range. Thanks @arielkaluzhny. * Fix pyfloat out of min/max range. Thanks @bryan-brancotte. -`2.0.4 - 2019-11-12 `_ -------------------------------------------------------------------------------- +### [2.0.4 - 2019-11-12](https://github.com/joke2k/faker/compare/v2.0.3...v2.0.4) * Drop python 3.4. * Fix master card number generator. Thanks @nkthanh98. @@ -168,8 +584,7 @@ Changelog * Improve barcode provider. Thanks @malefice. * Fix for pyfloat empty randrange. Thanks @jcardali. -`2.0.3 - 2019-10-14 `_ -------------------------------------------------------------------------------- +### [2.0.3 - 2019-10-14](https://github.com/joke2k/faker/compare/v2.0.2...v2.0.3) * Use the provider's RNG instead of the random module in ``invalid_ssn``. Thanks @luser. * Fix ``randomize_nb_elements`` ``max`` argument. Thanks @jorrit-wehelp. @@ -179,26 +594,22 @@ Changelog * Add police id for ``el_GR``. Thanks @athaks. * Add jobs for for ``pt_PT``. Thanks @rubenandre. -`2.0.2 - 2019-09-17 `_ -------------------------------------------------------------------------------- +### [2.0.2 - 2019-09-17](https://github.com/joke2k/faker/compare/v2.0.1...v2.0.2) * Fix typos, misspellings. Add locations, names, dates in ``hi_IN`` providers. Thanks @kathawala. * Bump required version ``text-unidecode`` to 1.3. Thanks @moggers87. * Bug fix for ``pyfloat`` going over ``max_value``. Thanks @fgs-dbudwin. -`2.0.1 - 2019-08-20 `_ -------------------------------------------------------------------------------- +### [2.0.1 - 2019-08-20](https://github.com/joke2k/faker/compare/v2.0.0...v2.0.1) * Add nationalities for locale ``pt_PT``. Thanks @tng10. * Add ``ios()`` and ``android()`` to ``user_agent`` provider. Thanks @gsilvan. * Update ``zh_CN`` provinces. Thanks @casen27. -`2.0.0 - 2019-07-15 `_ -------------------------------------------------------------------------------- +### [2.0.0 - 2019-07-15](https://github.com/joke2k/faker/compare/v1.0.8...v2.0.0) * Breaking change: Only allow providers to use ``OrderedDict`` s, to avoid any more ``PYTHONHASHSEED`` problems. Thanks @adamchainz. -`1.0.8 - 2019-06-15 `_ -------------------------------------------------------------------------------- +### [1.0.8 - 2019-06-15](https://github.com/joke2k/faker/compare/v1.0.7...v1.0.8) * Rename ``pyint`` ``min`` and ``max`` to ``min_value`` and ``max_value``. Thanks @francoisfreitag. @@ -217,8 +628,7 @@ Changelog * Fix datetime parsing on environments with negative offsets. Thanks @bluesheeptoken. -`1.0.7 - 2019-05-14 `_ -------------------------------------------------------------------------------- +### [1.0.7 - 2019-05-14](https://github.com/joke2k/faker/compare/v1.0.6...v1.0.7) * Remove dead url from ``image_placeholder_services``. Thanks @Monstrofil. * Fix missing ``first_names`` in Romanian person provider. Thanks @xlotlu. @@ -228,15 +638,13 @@ Changelog Thanks @adwojak. * Corrected behavior for ``pyfloat``. Thanks @ariksu. -`1.0.6 - 2019-04-26 `_ -------------------------------------------------------------------------------- +### [1.0.6 - 2019-04-26](https://github.com/joke2k/faker/compare/v1.0.5...v1.0.6) * Add missing commas to company/nl_NL provider. Thanks @francoisfreitag. * Add bounds to ``pyint``. Thanks @francoisfreitag. * Accept step argument in ``random_int()``. Thanks @francoisfreitag. -`1.0.5 - 2019-04-12 `_ -------------------------------------------------------------------------------- +### [1.0.5 - 2019-04-12](https://github.com/joke2k/faker/compare/v1.0.4...v1.0.5) * Add min and max values for ``pyfloat`` and ``pydecimal``. Thanks @Lrcezimbra. * Add ``months`` and ``M`` to the syntax for ``start_date`` and ``end_date``. @@ -248,12 +656,10 @@ Changelog * Add Armenian locale ``hy_AM``. Thanks @hovikman. `1.0.4 - 12-March-2019 `_ ----------------------------------------------------------------------------------- * Fix erratic test. -`1.0.3 - 2019-03-12 `_ -------------------------------------------------------------------------------- +### [1.0.3 - 2019-03-12](https://github.com/joke2k/faker/compare/v1.0.2...v1.0.3) * Fix ``AttributeError`` in ``user_Agent`` provider. Thanks @Mattwmaster58 for the report. @@ -271,8 +677,7 @@ Changelog * Add Brazilian RG (identity card). Thanks @davizucon. * Allow overriding of random generator class. -`1.0.2 - 2019-01-22 `_ -------------------------------------------------------------------------------- +### [1.0.2 - 2019-01-22](https://github.com/joke2k/faker/compare/v1.0.1...v1.0.2) * Fix state abbreviations for ``id_ID`` to be 2-letters. Thanks @dt-ap. * Fix format for ``city_with_postcode`` on ``de_DE`` locale. Thanks @TZanke. @@ -281,24 +686,21 @@ Changelog a zipcode for a specified state. Thanks @mattyg. * Group first names by gender on ``zh_CN`` provider. Thanks @TimeFinger. -`1.0.1 - 2018-12-12 `_ -------------------------------------------------------------------------------- +### [1.0.1 - 2018-12-12](https://github.com/joke2k/faker/compare/v1.0.0...v1.0.1) * Fix number of digits in ``phone_number`` provider for ``no_NO``. Thanks @aleksanb. * Add categories to ``jp_JP`` company provider. Thanks @shirakia. * Add trunk prefix for ``ru_RU`` phone numbers. thanks @pishchalnikov. -`1.0.0 - 2018-11-13 `_ -------------------------------------------------------------------------------- +### [1.0.0 - 2018-11-13](https://github.com/joke2k/faker/compare/v0.9.3...v1.0.0) * Breaking change: ``latlng``, ``latitude`` and ``longitude`` no longer return coordinates that are close the locale's country. Use the ``local_latlng``, ``local_latitude`` and ``local_longitude`` instead. * Add ``location_on_land`` provider. Thanks @shacker. -`0.9.3 - 2018-11-13 `_ -------------------------------------------------------------------------------- +### [0.9.3 - 2018-11-13](https://github.com/joke2k/faker/compare/v0.9.2...v0.9.3) * Add ``cellphone_number`` method for ``pt_BR``. Thanks @Newman101. * Fix urls generated by from `image_url`. Thanks @tsiaGeorge. @@ -322,8 +724,7 @@ Changelog * Add license plates for ``sv_SE``. Thanks @vilhelmmelkstam. * Allow ``uuid4`` to return a ``UUID`` object. Thanks @ediblesushi. -`0.9.2 - 2018-10-12 `_ -------------------------------------------------------------------------------- +### [0.9.2 - 2018-10-12](https://github.com/joke2k/faker/compare/v0.9.1...v0.9.2) * Add company names to ``pl_PL`` provider. Thanks @@twkrol. * Add replacements for non-ascii characters in ``pt_BR``. Thanks @clarmso. @@ -336,8 +737,7 @@ Changelog * Lots of work on internal cleanup and optimizing the CI. Thanks @jdufresne. * Add ``flake8`` to the CI. Thanks @andrzej3393. -`0.9.1 - 2018-09-13 `_ -------------------------------------------------------------------------------- +### [0.9.1 - 2018-09-13](https://github.com/joke2k/faker/compare/v0.9.0...v0.9.1) * Fix missing and misplaced comma's in many providers. Thanks @153957. * Refactor IPv4 address generation to leverage ``ipaddress`` module. @@ -350,9 +750,8 @@ Changelog provider. Thanks @micahstrube. * Add support for Python 3.7. Thanks @michael-k. -`0.9.0 - 2018-08-13 `_ --------------------------------------------------------------------------------- - +### [0.9.0 - 2018-08-13](https://github.com/joke2k/faker/compare/v0.8.18...v0.9.0) +- * ``.random_sample()`` now returns a list of unique elements instead of a set. * ``.random_sample_unique()`` is removed in favor of ``.random_sample()``. * Added ``random_choices()``, ``random_elements()`` and ``random_letters()``. @@ -360,8 +759,7 @@ Changelog * ``words()``, ``password()``, ``uri_path`` and ``pystr()`` now use the new the ``random_choices()`` method. -`0.8.18 - 2018-08-13 `_ ----------------------------------------------------------------------------------- +### [0.8.18 - 2018-08-13](https://github.com/joke2k/faker/compare/v0.8.17...v0.8.18) * Change blood group from ``0`` (zero) to ``O`` (capital letter O). Some locales do use 'zero', but ``O`` is more common and it is the medical @@ -376,8 +774,7 @@ Changelog * Use tzinfo when provided in ``date_of_birth``. Thanks @Kelledin. -`0.8.17 - 2018-07-12 `_ ----------------------------------------------------------------------------------- +### [0.8.17 - 2018-07-12](https://github.com/joke2k/faker/compare/v0.8.16...v0.8.17) * Add ``ein``, ``itin`` and refactored ``ssn`` Provider for ``en_US``. Thanks @crd. @@ -385,29 +782,25 @@ Changelog * Add ``date_of_birth`` provider. Thanks @cdr. * Add alpha-3 representation option for ``country-code`` provider. Thanks @cdr. -`0.8.16 - 2018-06-15 `_ ----------------------------------------------------------------------------------- +### [0.8.16 - 2018-06-15](https://github.com/joke2k/faker/compare/v0.8.15...v0.8.16) * Fix test for CPF (Brazilian SSN). Thanks Rubens Takiguti Ribeiro. * Fix Canadian SIN generation. Thanks @crd. * Fix Norwegian SSN date portion. Thanks @frangiz. * Add ``start_datetime`` argument for ``unix_time()``. Thanks @crd. -`0.8.15 - 2018-05-14 `_ ----------------------------------------------------------------------------------- +### [0.8.15 - 2018-05-14](https://github.com/joke2k/faker/compare/v0.8.14...v0.8.15) * Change logging level to ``DEBUG``. -`0.8.14 - 2018-05-11 `_ ----------------------------------------------------------------------------------- +### [0.8.14 - 2018-05-11](https://github.com/joke2k/faker/compare/v0.8.13...v0.8.14) * Add possibility to make artificial ssn numbers for ``FI_fi``. Thanks @kivipe. * Update ``ko_KR`` person data based on statistics. Thanks @unace. * Improved logging. Thanks @confirmationbias616. -`0.8.13 - 2018-04-12 `_ ----------------------------------------------------------------------------------- +### [0.8.13 - 2018-04-12](https://github.com/joke2k/faker/compare/v0.8.12...v0.8.13) * Add ``no_NO`` bank provider. Thanks @cloveras. * Add ``ipv4_network_class``, ``ipv4_private``, ``ipv4_public`` providers. @@ -427,8 +820,7 @@ Changelog * Clarify CLI help. Thanks @confirmationbias616. -`0.8.12 - 2018-03-12 `_ ----------------------------------------------------------------------------------- +### [0.8.12 - 2018-03-12](https://github.com/joke2k/faker/compare/v0.8.11...v0.8.12) * Fix issue with ``cx_Freeze``. Thanks @sedominik. * Add dutch ``nl_NL`` bank provider. Thanks @PatSousa. @@ -446,22 +838,19 @@ Changelog * Fix incorrect value in list of middle name for locale ``ru_RU``. Thanks @damirazo. -`0.8.11 - 2018-02-12 `_ ----------------------------------------------------------------------------------- +### [0.8.11 - 2018-02-12](https://github.com/joke2k/faker/compare/v0.8.10...v0.8.11) * Add scheme selection for internet ``url`` provider. Thanks @ProvoK. * Increase lower bound on AD date generation. Thanks @prophile. * Add the ability to specify the min and max age for some ssn locales. Thanks @frangiz. -`0.8.10 - 2018-01-16 `_ ---------------------------------------------------------------------------------- - +### [0.8.10 - 2018-01-16](https://github.com/joke2k/faker/compare/v0.8.9...v0.8.10) +-- * Pass ``python_requires`` argument to ``setuptools``. Thanks @jdufresne. * Remove some words from ``en_US`` lorem ipsum provider. Thanks @Pomax. -`0.8.9 - 2018-01-12 `_ -------------------------------------------------------------------------------- +### [0.8.9 - 2018-01-12](https://github.com/joke2k/faker/compare/v0.8.8...v0.8.9) * Remove support for Python 3.3. Thanks @jdufresne. * Allow past dates within a second. Thanks @DanEEstar. @@ -473,8 +862,7 @@ Changelog * Added ``domain`` argument to ``email`` provider. Thanks @lcd1232. -`0.8.8 - 2017-12-19 `_ -------------------------------------------------------------------------------- +### [0.8.8 - 2017-12-19](https://github.com/joke2k/faker/compare/v0.8.7...v0.8.8) * made ``seed_instance`` return ``self`` for chainability. * Add ``en_US`` locale for ``lorem``. Thanks @shacker. @@ -482,8 +870,7 @@ Changelog * ``fi_FI`` address and job lists updated. Thanks @mikkhola. * Add ``iban`` provider. Thanks @cdaller. -`0.8.7 - 2017-11-14 `_ -------------------------------------------------------------------------------- +### [0.8.7 - 2017-11-14](https://github.com/joke2k/faker/compare/v0.8.6...v0.8.7) * Corrected some issues with the Hungarian (``hu_HU``) providers, such as incorrectly capitalized company suffixes, street/road type names and place @@ -498,14 +885,12 @@ Changelog * Fix ResourceWarning in ``setup.py``. Thanks @jdufresne. * Update test requirements. -`0.8.6 - 2017-10-16 `_ -------------------------------------------------------------------------------- +### [0.8.6 - 2017-10-16](https://github.com/joke2k/faker/compare/v0.8.5...v0.8.6) * Replace ``unidecode`` dependency in favor of ``text-unidecode``. Faker now - requires `text-unidecode `_. + requires [text-unidecode](https://pypi.org/project/text-unidecode/). -`0.8.5 - 2017-10-13 `_ -------------------------------------------------------------------------------- +### [0.8.5 - 2017-10-13](https://github.com/joke2k/faker/compare/v0.8.4...v0.8.5) * Add ASCII emails. Thanks @barseghyanartur. * Add ``id_ID`` Providers. Thanks Sidi Ahmad. @@ -514,12 +899,9 @@ Changelog * Create a provider to Brazilian license plates. Thanks @diegoholiveira. * Use a proper international format for Ukrainian phone numbers. Thanks @illia-v. -* Faker now requires Unidecode_. +* Faker now requires [Unidecode](https://pypi.org/project/Unidecode/). -.. _Unidecode: https://pypi.org/project/Unidecode/ - -`0.8.4 - 2017-09-22 `_ -------------------------------------------------------------------------------- +### [0.8.4 - 2017-09-22](https://github.com/joke2k/faker/compare/v0.8.3...v0.8.4) * Move ``email_validator`` to ``test_requires`` and unpinned the version number. @@ -528,25 +910,22 @@ Changelog * Add Arabic locales. Thanks @ahmedaljazzar. * Fix datetime issue on Windows. Thanks @kungfu71186. -`0.8.3 - 2017-09-05 `_ -------------------------------------------------------------------------------- +### [0.8.3 - 2017-09-05](https://github.com/joke2k/faker/compare/v0.8.2...v0.8.3) * Fix release build. -`0.8.2 - 2017-09-05 `_ -------------------------------------------------------------------------------- +### [0.8.2 - 2017-09-05](https://github.com/joke2k/faker/compare/v0.8.1...v0.8.2) * Revert name change of ``faker.generator.random``. Thanks @adamchainz. * Document the global shared ``random.Random`` and ``seed_instance()``. Thanks @adamchainz. -`0.8.1 - 2017-08-28 `_ -------------------------------------------------------------------------------- +### [0.8.1 - 2017-08-28](https://github.com/joke2k/faker/compare/v0.8.0...v0.8.1) * Rolled back breaking change in ``randomize_nb_elements``. -`0.8.0 - 2017-08-28 `_ --------------------------------------------------------------------------------- +### [0.8.0 - 2017-08-28](https://github.com/joke2k/faker/compare/v0.7.18...v0.8.0) + * Add ``identity_card_number`` for ``pl_PL`` ``person`` provider. Thanks @pdaw. * More descriptive error message when a formatter is not found. Thanks @fcurella. @@ -554,8 +933,7 @@ Changelog * Add per-instance seeding via ``.seed_instance`` method. Thanks @reverbc. * Fix ``tz_TW`` ``address`` provider. Thanks @clarmso. -`0.7.18 - 2017-07-19 `_ ----------------------------------------------------------------------------------- +### [0.7.18 - 2017-07-19](https://github.com/joke2k/faker/compare/v0.7.17...v0.7.18) * Generate proper dates before 1970. Thanks @kungfu71186. * Made it possible to seed ``.binary()``. Thanks @kungfu71186. @@ -582,30 +960,25 @@ Changelog Thanks @catleeball. * Refactor RGB color methods. Thanks @catleeball. -`0.7.17 - 2017-06-12 `_ ----------------------------------------------------------------------------------- +### [0.7.17 - 2017-06-12](https://github.com/joke2k/faker/compare/v0.7.16...v0.7.17) * Fix a timezone issue with the ``date_time_between_dates`` provider. -`0.7.16 - 2017-06-09 `_ ----------------------------------------------------------------------------------- +### [0.7.16 - 2017-06-09](https://github.com/joke2k/faker/compare/v0.7.15...v0.7.16) * fix timezone issues with ``date_time_between`` provider. * Add ``ext_word_list`` parameter to methods in the ``Lorem`` generator. Thanks @guinslym. -`0.7.15 - 2017-06-02 `_ ----------------------------------------------------------------------------------- +### [0.7.15 - 2017-06-02](https://github.com/joke2k/faker/compare/v0.7.14...v0.7.15) * fix start and end date for datetime provider methods. -`0.7.14 - 2017-06-02 `_ ----------------------------------------------------------------------------------- +### [0.7.14 - 2017-06-02](https://github.com/joke2k/faker/compare/v0.7.13...v0.7.14) * fix ``future_date``, `and ``past_date`` bounds. -`0.7.13 - 2017-06-02 `_ ----------------------------------------------------------------------------------- +### [0.7.13 - 2017-06-02](https://github.com/joke2k/faker/compare/v0.7.12...v0.7.13) * Remove capitalisation from ``hu_HU`` addresses. Thanks @Newman101. * Add ``et_EE`` (Estonian) provider: names and ssn. Thanks @trtd. @@ -617,8 +990,7 @@ Changelog to DateTime Provider -`0.7.12 - 2017-05-10 `_ ------------------------------------------------------------------------------------ +### [0.7.12 - 2017-05-10](https://github.com/joke2k/faker/compare/v0.7.11...v0.7.12) * Add Japanese lorem provider. Thanks @richmondwang. * Add ``hr_HR`` names of month and names of days. Thanks @mislavcimpersak. @@ -634,27 +1006,23 @@ Changelog Thanks @Bergil32. -`0.7.11 - 2017-04-09 `_ ------------------------------------------------------------------------------------ - +### [0.7.11 - 2017-04-09](https://github.com/joke2k/faker/compare/v0.7.10...v0.7.11) +- * Added french words for days and months. Thanks @sblondon. * Reorganized tests. Thanks @grantbachman. * Added file path provider. Thanks @diegommarino. * Fixed packaging issue with tests module. Thanks @eukreign for the report. -`0.7.10 - 2017-03-13 `_ ---------------------------------------------------------------------------------- - +### [0.7.10 - 2017-03-13](https://github.com/joke2k/faker/compare/v0.7.9...v0.7.10) +-- * Add ISBN-10 and ISBN-13. Thanks @grantbachman. * Add colors for ``fr_FR``. Thanks @sblondon. -`0.7.9 - 2017-02-24 `_ -------------------------------------------------------------------------------- +### [0.7.9 - 2017-02-24](https://github.com/joke2k/faker/compare/v0.7.8...v0.7.9) * Fix packaging issue. Thanks @jorti. -`0.7.8 - 2017-02-24 `_ -------------------------------------------------------------------------------- +### [0.7.8 - 2017-02-24](https://github.com/joke2k/faker/compare/v0.7.7...v0.7.8) * Add a Russian language to color provider. Thanks @kotyara1005. * Correct UnboundLocalError in Finnish SSN generator. Thanks @lamby. @@ -667,25 +1035,21 @@ Changelog * Add ``hu_HU`` providers. Thanks @chrisvoncsefalvay. * Fix tests failures. -`0.7.7 - 2016-12-20 `_ -------------------------------------------------------------------------------- +### [0.7.7 - 2016-12-20](https://github.com/joke2k/faker/compare/v0.7.6...v0.7.7) * Fix ``no_NO`` postcodes. Thanks @kdeldycke. * Fix ``fa_IR`` city generator. Thanks @kdeldycke. -`0.7.6 - 2016-12-19 `_ --------------------------------------------------------------------------------- - +### [0.7.6 - 2016-12-19](https://github.com/joke2k/faker/compare/v0.7.5...v0.7.6) +- * Fix packaging issue with ``docs`` directory. Thanks @wyattanderson. -`0.7.5 - 2016-12-16 `_ -------------------------------------------------------------------------------- +### [0.7.5 - 2016-12-16](https://github.com/joke2k/faker/compare/v0.7.4...v0.7.5) * Deprecate ``fake-factory`` package on PyPI. -`0.7.4 - 2016-12-16 `_ --------------------------------------------------------------------------------- - +### [0.7.4 - 2016-12-16](https://github.com/joke2k/faker/compare/v0.7.3...v0.7.4) +- * Add Ukrainian ``address`` provider. Thanks @illia-v. * Add Ukrainian ``internet`` provider. Thanks @illia-v. * Middle name support for ``person.ru_RU`` provider. Thanks @zeal18. @@ -707,8 +1071,7 @@ Changelog * Allow left/right_digits=0 for pyfloat. Thanks @mnalt. * update fa_IR person names and phone numbers. Thanks @aminalaee. -`0.7.3 - 2016-09-16 `_ -------------------------------------------------------------------------------- +### [0.7.3 - 2016-09-16](https://github.com/joke2k/faker/compare/v0.6.0...v0.7.3) * ``date_time_this_century`` now returns ``datetime`` s outside the current decade. Thanks @JarUrb. @@ -716,14 +1079,12 @@ Changelog * Adding support for Croatian ``hr_HR`` ssn (oib). Thanks @mislavcimpersak. * Rename PyPI package to ``Faker``. -`0.6.0 - 2016-08-09 `_ --------------------------------------------------------------------------------- - +### [0.6.0 - 2016-08-09](https://github.com/joke2k/faker/compare/v0.5.11...v0.6.0) +- * Dropped Python 2.6 support -`0.5.11 - 2016-08-09 `_ ----------------------------------------------------------------------------------- +### [0.5.11 - 2016-08-09](https://github.com/joke2k/faker/compare/v0.5.10...v0.5.11) * Add optional parameter `sex` to `profile` and `simple_profile`. Thanks @navyad. @@ -731,21 +1092,18 @@ Changelog * Fix utf8 coding issue with ``address/fi_FI`` provider. Thanks @delneg. * ! Latest version to support Python 2.6 -`0.5.10 - 2016-08-01 `_ ---------------------------------------------------------------------------------- +### [0.5.10 - 2016-08-01](https://github.com/joke2k/faker/compare/v0.5.9...v0.5.10) * Fix random_sample_unique. Thanks @cecedille1. -`0.5.9 - 2016-06-08 `_ -------------------------------------------------------------------------------- +### [0.5.9 - 2016-06-08](https://github.com/joke2k/faker/compare/v0.5.8...v0.5.9) * Add more ``pt_BR`` names. Thanks @cuducos. * Added ``en_GB`` names. Thanks @jonny5532. * Add romanized internet provider for ``zh_CN``. * Add ``fr_CH`` providers. Thanks @gfavre. -`0.5.8 - 2016-06-28 `_ -------------------------------------------------------------------------------- +### [0.5.8 - 2016-06-28](https://github.com/joke2k/faker/compare/v0.5.7...v0.5.8) * Improve CLI output and help. Thanks @cbaines. * Update ``en_US`` anmes to be more realistic. Thanks @dethpickle. @@ -756,24 +1114,20 @@ Changelog * Reduce the maximum value of start timestamps. Thanks @cbaines. * Add `random_sample` and `random_sample_unique`. Thanks @bengolder. -`0.5.7 - 2016-03-07 `_ -------------------------------------------------------------------------------- +### [0.5.7 - 2016-03-07](https://github.com/joke2k/faker/compare/v0.5.6...v0.5.7) * Repackage to resolve PyPI issue. -`0.5.6 - 2016-03-07 `_ -------------------------------------------------------------------------------- +### [0.5.6 - 2016-03-07](https://github.com/joke2k/faker/compare/v0.5.5...v0.5.6) * Add date handling for datetime functions. Thanks @rpkilby. * Discern male and female first names in pt_BR. Thanks @gabrielusvicente. -`0.5.5 - 2016-02-29 `_ -------------------------------------------------------------------------------- +### [0.5.5 - 2016-02-29](https://github.com/joke2k/faker/compare/v0.5.4...v0.5.5) * Specify help text for command line. Thanks @cbaines. -`0.5.4 - 2016-02-29 `_ -------------------------------------------------------------------------------- +### [0.5.4 - 2016-02-29](https://github.com/joke2k/faker/compare/v0.5.3...v0.5.4) * Expose Provider's random instance. Thank @gsingers for the suggestion. * Make sure required characters are in the password. Thanks @craig552uk. @@ -805,8 +1159,7 @@ Changelog * Fix chinese random language code. Thanks @kdeldycke. * Remove duplicate words from Lorem provider. Thanks @jeffwidman. -`0.5.3 - 2015-09-21 `_ -------------------------------------------------------------------------------- +### [0.5.3 - 2015-09-21](https://github.com/joke2k/faker/compare/v0.5.2...v0.5.3) * Added ``company_vat`` to company ``fi_FI`` provider. Thanks @kivipe. * Seed a Random instance instead of the module. Thanks Amy Hanlon. @@ -826,9 +1179,8 @@ Changelog * Fixed provider's example formatting in documentation. * Added en_AU provider. Thanks @xfxf. -`0.5.2 - 2015-06-11 `_ --------------------------------------------------------------------------------- - +### [0.5.2 - 2015-06-11](https://github.com/joke2k/faker/compare/v0.5.1...v0.5.2) +- * Added ``uuid4`` to ``misc`` provider. Thanks Jared Culp. * Fixed ``jcb15`` and ``jcb16`` in ``credit_card`` provider. Thanks Rodrigo Braz. @@ -838,7 +1190,7 @@ Changelog * Added ``country_code`` to `address`` provider. Thanks @elad101 and Tobin Brown. -`0.5.1 - 2015-05-21 `_ +### [0.5.1 - 2015-05-21](https://github.com/joke2k/faker/compare/v0.5...v0.5.1) ----------------------------------------------------------------------------- * Fixed egg installation. Thanks David R. MacIver, @kecaps @@ -868,7 +1220,7 @@ Changelog * Removed ``miscelleneous`` provider. It is superceded by the ``misc`` provider. -`0.5.0 - 2015-02-16 `_ +### [0.5.0 - 2015-02-16](https://github.com/joke2k/faker/compare/v0.4.2...v0.5) ------------------------------------------------------------------------------ * Localized providers @@ -884,13 +1236,11 @@ Changelog * Added ``ne_NP`` provider. Thanks Sudip Kafle. * Added provider for Austrian ``de_AT``. Thanks Bernhard Essl. -`0.4.2 - 2014-08-20 `_ -------------------------------------------------------------------------------- +### [0.4.2 - 2014-08-20](https://github.com/joke2k/faker/compare/v0.4.1...v0.4.2) * Fixed setup -`0.4.1 - 2014-08-20 `_ ------------------------------------------------------------------------------ +### [0.4.1 - 2014-08-20](https://github.com/joke2k/faker/compare/v0.4...v0.4.1) * Added MAC address provider. Thanks Sébastien Béal. * Added ``lt_LT`` and ``lv_LV`` localized providers. Thanks Edgar Gavrik. @@ -902,8 +1252,7 @@ Changelog * Fixed ``date_time_ad`` on 32bit Linux. Thanks @mdxs. * Fixed ``domain_word`` to output slugified strings. -`0.4 - 2014-03-30 `_ ---------------------------------------------------------------------------- +### [0.4 - 2014-03-30](https://github.com/joke2k/faker/compare/v0.3.2...v0.4) * Modified en_US ``person.py`` to ouput female and male names. Thanks Adrian Klaver. @@ -911,21 +1260,16 @@ Changelog * Added ``hi_IN`` localized provider. Thanks Pratik Kabra. * Refactoring of command line -0.3.2 - 2013-11-11 ------------------- +### 0.3.2 - 2013-11-11 * New provider: Credit card generator * Improved Documentor - -0.3.1 - 2013-10-18 ------------------- +### 0.3.1 - 2013-10-18 * FIX setup.py - -0.3 - 2013-10-18 ----------------- +### 0.3 - 2013-10-18 * PEP8 style conversion (old camelCased methods are deprecated!) * New language: ``pt_BR`` (thanks to @rvnovaes) @@ -934,8 +1278,7 @@ Changelog * FIX tests for python 2.6 -0.2 - 2010-12-01 ----------------- +### 0.2 - 2010-12-01 * New providers: ``Python``, ``File`` * Providers imported with ``__import__`` @@ -944,7 +1287,6 @@ Changelog * New language: French * Rewrite module ``__main__`` and new Documentor class -0.1 - 2012-11-13 ----------------- +### 0.1 - 2012-11-13 * First release diff --git a/CITATION.cff b/CITATION.cff new file mode 100644 index 0000000000..a0ee0b10c9 --- /dev/null +++ b/CITATION.cff @@ -0,0 +1,9 @@ +authors: + - family-names: Faraglia + given-names: Daniele + - name: "Other Contributors" +cff-version: 1.2.0 +license: MIT +message: If you use this software, please cite it using these metadata. +repository-code: "https://github.com/joke2k/faker" +title: "Faker" diff --git a/LICENSE.txt b/LICENSE.txt index 8ed0d5676e..1e1ef066f0 100644 --- a/LICENSE.txt +++ b/LICENSE.txt @@ -16,4 +16,4 @@ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. \ No newline at end of file +THE SOFTWARE. diff --git a/MANIFEST.in b/MANIFEST.in index 1024047997..f62c9ef56e 100644 --- a/MANIFEST.in +++ b/MANIFEST.in @@ -1,9 +1,11 @@ include README.rst include LICENSE.txt include CONTRIBUTING.rst -include CHANGELOG.rst +include CHANGELOG.md include RELEASE_PROCESS.rst include VERSION +include CITATION.cff +include mypy.ini recursive-include tests *.json recursive-include tests *.py recursive-exclude faker/sphinx *.py @@ -13,6 +15,7 @@ global-exclude *.py[cod] __pycache__ *.so exclude Makefile tox.ini .coveragerc .bumpversion.cfg .dockerignore .isort.cfg exclude ISSUE_TEMPLATE.md PULL_REQUEST_TEMPLATE.md exclude appveyor.yml readthedocs.yml +exclude build-alpine.sh exclude build32bit.sh prune docs prune .circleci diff --git a/README.rst b/README.rst index 172bac7150..ea6473d10f 100644 --- a/README.rst +++ b/README.rst @@ -15,15 +15,15 @@ Faker is heavily inspired by `PHP Faker`_, `Perl Faker`_, and by `Ruby Faker`_. _| _| _| _| _| _| _| _| _|_|_| _| _| _|_|_| _| -|pypi| |unix_build| |windows_build| |coverage| |license| +|pypi| |build| |coverage| |license| ---- Compatibility ------------- -Starting from version ``4.0.0``, ``Faker`` dropped support for Python 2 and only supports Python -3.5 and above. If you still need Python 2 compatibility, please install version ``3.0.1`` in the +Starting from version ``4.0.0``, ``Faker`` dropped support for Python 2 and from version ``5.0.0`` +only supports Python 3.6 and above. If you still need Python 2 compatibility, please install version ``3.0.1`` in the meantime, and please consider updating your codebase to support Python 3 so you can enjoy the latest features ``Faker`` has to offer. Please see the `extended docs`_ for more details, especially if you are upgrading from version ``2.0.4`` and below as there might be breaking changes. @@ -120,7 +120,7 @@ Localization ``faker.Faker`` can take a locale as an argument, to return localized data. If no localized provider is found, the factory falls back to the -default en\_US locale. +default LCID string for US english, ie: ``en_US``. .. code:: python @@ -165,12 +165,21 @@ providers package. The localization of Faker is an ongoing process, for which we need your help. Please don't hesitate to create a localized provider for your own locale and submit a Pull Request (PR). +Optimizations +------------- +The Faker constructor takes a performance-related argument called +``use_weighting``. It specifies whether to attempt to have the frequency +of values match real-world frequencies (e.g. the English name Gary would +be much more frequent than the name Lorimer). If ``use_weighting`` is ``False``, +then all items have an equal chance of being selected, and the selection +process is much faster. The default is ``True``. + Command line usage ------------------ When installed, you can invoke faker from the command-line: -.. code:: bash +.. code:: console faker [-h] [--version] [-o output] [-l {bg_BG,cs_CZ,...,zh_CN,zh_TW}] @@ -210,7 +219,7 @@ Where: Examples: -.. code:: bash +.. code:: console $ faker address 968 Bahringer Garden Apt. 722 @@ -221,7 +230,7 @@ Examples: 94812 Biedenkopf $ faker profile ssn,birthdate - {'ssn': u'628-10-1085', 'birthdate': '2008-03-29'} + {'ssn': '628-10-1085', 'birthdate': '2008-03-29'} $ faker -r=3 -s=";" name Willam Kertzmann; @@ -241,7 +250,7 @@ How to create a Provider # create new provider class class MyProvider(BaseProvider): - def foo(self): + def foo(self) -> str: return 'bar' # then add new provider to faker instance @@ -251,6 +260,31 @@ How to create a Provider fake.foo() # 'bar' + +How to create a Dynamic Provider +-------------------------------- + +Dynamic providers can read elements from an external source. + +.. code:: python + + from faker import Faker + from faker.providers import DynamicProvider + + medical_professions_provider = DynamicProvider( + provider_name="medical_profession", + elements=["dr.", "doctor", "nurse", "surgeon", "clerk"], + ) + + fake = Faker() + + # then add new provider to faker instance + fake.add_provider(medical_professions_provider) + + # now you can use: + fake.medical_profession() + # 'dr.' + How to customize the Lorem Provider ----------------------------------- @@ -310,6 +344,38 @@ By default all generators share the same instance of ``random.Random``, which can be accessed with ``from faker.generator import random``. Using this may be useful for plugins that want to affect all faker instances. +Unique values +------------- + +Through use of the ``.unique`` property on the generator, you can guarantee +that any generated values are unique for this specific instance. + +.. code:: python + + from faker import Faker + fake = Faker() + names = [fake.unique.first_name() for i in range(500)] + assert len(set(names)) == len(names) + +Calling ``fake.unique.clear()`` clears the already seen values. +Note, to avoid infinite loops, after a number of attempts to find a unique +value, Faker will throw a ``UniquenessException``. Beware of the `birthday +paradox `_, collisions +are more likely than you'd think. + + +.. code:: python + + from faker import Faker + + fake = Faker() + for i in range(3): + # Raises a UniquenessException + fake.unique.boolean() + +In addition, only hashable arguments and return values can be used +with ``.unique``. + Seeding the Generator --------------------- @@ -406,14 +472,10 @@ Credits :target: https://coveralls.io/r/joke2k/faker?branch=master :alt: Test coverage -.. |unix_build| image:: https://img.shields.io/travis/joke2k/faker/master.svg?style=flat-square&label=unix%20build - :target: http://travis-ci.org/joke2k/faker +.. |build| image:: https://github.com/joke2k/faker/workflows/Python%20Tests/badge.svg?branch=master&event=push + :target: https://github.com/joke2k/faker/actions?query=workflow%3A%22Python+Tests%22+branch%3Amaster+event%3Apush :alt: Build status of the master branch on Mac/Linux -.. |windows_build| image:: https://img.shields.io/appveyor/ci/joke2k/faker/master.svg?style=flat-square&label=windows%20build - :target: https://ci.appveyor.com/project/joke2k/faker - :alt: Build status of the master branch on Windows - .. |license| image:: https://img.shields.io/badge/license-MIT-blue.svg?style=flat-square :target: https://raw.githubusercontent.com/joke2k/faker/master/LICENSE.txt :alt: Package license diff --git a/RELEASE_PROCESS.rst b/RELEASE_PROCESS.rst index cbd3179f14..68a3e12e97 100644 --- a/RELEASE_PROCESS.rst +++ b/RELEASE_PROCESS.rst @@ -3,7 +3,7 @@ Release Process This project releases automatically every time a PR is squash-merged. -The chnagelog is updated with a new entry containing the message commit, and the +The changelog is updated with a new entry containing the message commit, and the library version number is incremented according the the labels on the PR: * ``bump-version:major``: Increments the MAJOR version @@ -11,3 +11,11 @@ library version number is incremented according the the labels on the PR: * None of the above: Increments the PATCH version. If more than one label is applied to the PR, only the highest part gets incremented. + +Bugfixes and Pull requests updating data for existing providers will result in a patch bump. + +Pull requests that adds new methods to existing providers, or add new providers will +result in a minor bump. + +Breaking changes such as change of functionality, removal of methods, etc will result in +a major bump. diff --git a/VERSION b/VERSION index a95f288444..ff32e76853 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -4.1.4 +9.7.1 diff --git a/appveyor.yml b/appveyor.yml deleted file mode 100644 index 952046dd59..0000000000 --- a/appveyor.yml +++ /dev/null @@ -1,47 +0,0 @@ -# https://ci.appveyor.com/project/joke2k/faker -build: false - -environment: - matrix: - - PYTHON: "C:\\Python35" - PYTHON_VERSION: "3.5.x" - PYTHON_ARCH: "32" - - - PYTHON: "C:\\Python36" - PYTHON_VERSION: "3.6.x" - PYTHON_ARCH: "32" - - - PYTHON: "C:\\Python37" - PYTHON_VERSION: "3.7.x" - PYTHON_ARCH: "32" - - - PYTHON: "C:\\Python38" - PYTHON_VERSION: "3.8.x" - PYTHON_ARCH: "32" - - - PYTHON: "C:\\Python35-x64" - PYTHON_VERSION: "3.5.x" - PYTHON_ARCH: "64" - - - PYTHON: "C:\\Python36-x64" - PYTHON_VERSION: "3.6.x" - PYTHON_ARCH: "64" - - - PYTHON: "C:\\Python37-x64" - PYTHON_VERSION: "3.7.x" - PYTHON_ARCH: "64" - - - PYTHON: "C:\\Python38-x64" - PYTHON_VERSION: "3.8.x" - PYTHON_ARCH: "64" - -init: - - "ECHO %PYTHON%" - - ps: "ls C:/Python*" - -test_script: - - "%PYTHON%/Scripts/pip.exe --version" - - "%PYTHON%/Scripts/pip.exe freeze" - - "%PYTHON%/python.exe --version" - - "%PYTHON%/Scripts/pip.exe install tox" - - "%PYTHON%/python.exe -m tox -e py" diff --git a/build-alpine.sh b/build-alpine.sh new file mode 100755 index 0000000000..7fac5b44ef --- /dev/null +++ b/build-alpine.sh @@ -0,0 +1,15 @@ +#!/bin/bash + +if [[ -z "${TEST_ALPINE}" ]]; then + echo "Not on Travis" + exit 0 +fi + +docker run -v ${PWD}:/code -e INSTALL_REQUIREMENTS=${INSTALL_REQUIREMENTS} python:3-alpine sh -c " + apk update \ + && apk add git build-base jpeg-dev zlib-dev \ + && pip install tox coveralls \ + && export LANG='en_US.UTF-8' \ + && cd /code \ + && tox -e py\ + && coverage report" diff --git a/docs/coding_style.rst b/docs/coding_style.rst index a635cc83f7..433d8a1c59 100644 --- a/docs/coding_style.rst +++ b/docs/coding_style.rst @@ -1,7 +1,13 @@ Coding Style ============ -Lines length should not exceed 120 characters. Please use trailing commas. +We use the black code style with a line length of 120 characters and trailing commas. + +You can format the code with:: + + black --line-length 120 + +Please include `type hints`_ for every provider method you write. An overview of generic types is included below. You can find our complete flake8 configuration in the tox.ini_ file. @@ -12,14 +18,38 @@ Data Sets For each data set, please provide a comment with reference to the source and/or origin of the data. -We only accept new data if it's coming from statistical sources, such as census or government institutions. This include names and their distribution. +We only accept new data if it's coming from statistical sources, such as census or government institutions. +This include names and their distribution. Name Lists ---------- -When you have long lists of names, please order them alphabetically. Keep the lines length as close as possible to 120 characters, without exceeding the limit. +When you have long lists of names, please order them alphabetically. Keep the lines length as close as +possible to 120 characters, without exceeding the limit. + +Type Hints +---------- +``typing.py`` includes generic types that can be re-used throughout the codebase. Moreover, some type definitions are +included in other parts of the code. If you add a generic type, please specify its usage below: + + +.. list-table:: Title + :widths: 15 60 + :header-rows: 1 + + * - Type + - Used for + * - ``providers.ElementsType`` + - When creating a variable in a ``Provider`` (e.g. for a specific locale), which is not defined in the superclass, ``self.random_element()``, ``self.random_elements()``, ``self.random_choices()`` and ``self.random_sample()`` assume this to be the input format. + * - ``typing.DateParseType`` + - Input for various ``faker.providers.date_time`` functions that parse (relative) dates/times. + * - ``typing.HueType`` + - Hue name, float value or integer range. + * - ``typing.GenderType`` + - String variable that can only have values ``"F"`` (female) and ``"M"`` (male) .. _`tox.ini`: https://github.com/joke2k/faker/blob/master/tox.ini .. _`pep 8`: https://python.org/dev/peps/pep-0008 .. _`pep 263`: https://python.org/dev/peps/pep-0263 +.. _`type hints`: https://docs.python.org/3/library/typing.html diff --git a/docs/communityproviders.rst b/docs/communityproviders.rst index b26dc41bb0..ee55fbe56b 100644 --- a/docs/communityproviders.rst +++ b/docs/communityproviders.rst @@ -8,24 +8,33 @@ Here's a list of Providers written by the community: +---------------+--------------------------+----------------------------------+ | Provider name | Description | URL | +===============+==========================+==================================+ -| WebProvider | Web-related data such as | `faker_web`_ + -| | mime-type and web server | + -| | versions. | + -+---------------+--------------------------+----------------------------------+ -| CloudProvider | Cloud-related data | `faker_cloud`_ + -| | generic or specialized | + -| | by cloud. | + -+---------------+--------------------------+----------------------------------+ -| Wi-Fi ESSID | Fake Wi-Fi ESSIDs. | `faker_wifi_essid`_ + +| Airtravel | Airport names, airport | `faker_airtravel`_ | +| | codes, and flights. | | +---------------+--------------------------+----------------------------------+ | Credit Score | Fake credit score data | `faker_credit_score`_ | | | for testing purposes | | +---------------+--------------------------+----------------------------------+ | Microservice | Fake microservice names | `faker_microservice`_ | +---------------+--------------------------+----------------------------------+ +| Music | Music genres, subgenres, | `faker_music`_ | +| | and instruments. | | ++---------------+--------------------------+----------------------------------+ +| Posts | Fake posts in markdown | `mdgen`_ | +| | format | | ++---------------+--------------------------+----------------------------------+ | Vehicle | Fake vehicle information | `faker_vehicle`_ | | | includes Year Make Model | | +---------------+--------------------------+----------------------------------+ +| WebProvider | Web-related data such as | `faker_web`_ + +| | mime-type and web server | + +| | versions. | + ++---------------+--------------------------+----------------------------------+ +| Wi-Fi ESSID | Fake Wi-Fi ESSIDs. | `faker_wifi_essid`_ + ++---------------+--------------------------+----------------------------------+ +| Optional | Wrap over other | `faker_optional`_ | +| | providers to return | | +| | their value or `None`. | | ++---------------+--------------------------+----------------------------------+ If you want to add your own provider to this list, please submit a Pull Request to our `repo`_. @@ -40,9 +49,12 @@ In order to be inlcuded, your provider must satisfy these requirement: .. _repo: https://github.com/joke2k/faker/ .. _OSI-Approved: https://opensource.org/licenses/alphabetical -.. _faker_web: https://pypi.org/project/faker_web/ -.. _faker_cloud: https://pypi.org/project/faker-cloud/ -.. _faker_wifi_essid: https://pypi.org/project/faker-wifi-essid/ +.. _faker_airtravel: https://pypi.org/project/faker_airtravel/ .. _faker_credit_score: https://pypi.org/project/faker-credit-score/ .. _faker_microservice: https://pypi.org/project/faker-microservice/ +.. _faker_music: https://pypi.org/project/faker_music/ +.. _mdgen: https://pypi.org/project/mdgen/ .. _faker_vehicle: https://pypi.org/project/faker-vehicle/ +.. _faker_web: https://pypi.org/project/faker_web/ +.. _faker_wifi_essid: https://pypi.org/project/faker-wifi-essid/ +.. _faker_optional: https://pypi.org/project/faker-optional diff --git a/docs/conf.py b/docs/conf.py index f07bc07dd5..95d454a824 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -13,225 +13,219 @@ # If extensions (or modules to document with autodoc) are in another directory, # add these directories to sys.path here. If the directory is relative to the -# documentation root, use os.path.abspath to make it absolute, like shown here. -#sys.path.insert(0, os.path.abspath('.')) +# documentation root, use Path.resolve to make it absolute, like shown here. +# sys.path.insert(0, str(Path().resolve())) # -- General configuration ------------------------------------------------ # If your documentation needs a minimal Sphinx version, state it here. -#needs_sphinx = '1.0' +# needs_sphinx = '1.0' # Add any Sphinx extension module names here, as strings. They can be # extensions coming with Sphinx (named 'sphinx.ext.*') or your custom # ones. extensions = [ - 'sphinx.ext.todo', - 'sphinx.ext.intersphinx', - 'faker.sphinx.autodoc', + "sphinx.ext.todo", + "sphinx.ext.intersphinx", + "faker.sphinx.autodoc", ] # Add any paths that contain templates here, relative to this directory. -templates_path = ['_templates'] +templates_path = ["_templates"] # The suffix of source filenames. -source_suffix = '.rst' +source_suffix = ".rst" # The encoding of source files. -#source_encoding = 'utf-8-sig' +# source_encoding = 'utf-8-sig' # The master toctree document. -master_doc = 'index' +master_doc = "index" # General information about the project. -project = 'Faker' -copyright = '2014, Daniele Faraglia' +project = "Faker" +copyright = "2014, Daniele Faraglia" # The version info for the project you're documenting, acts as replacement for # |version| and |release|, also used in various other places throughout the # built documents. # # The short X.Y version. -version = '4.1.4' +version = "9.7.1" # The full version, including alpha/beta/rc tags. -release = '4.1.4' +release = "9.7.1" # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages. -#language = None +# language = None # There are two options for replacing |today|: either, you set today to some # non-false value, then it is used: -#today = '' +# today = '' # Else, today_fmt is used as the format for a strftime call. -#today_fmt = '%B %d, %Y' +# today_fmt = '%B %d, %Y' # List of patterns, relative to source directory, that match files and # directories to ignore when looking for source files. -exclude_patterns = ['_build'] +exclude_patterns = ["_build"] # The reST default role (used for this markup: `text`) to use for all # documents. -#default_role = None +# default_role = None # If true, '()' will be appended to :func: etc. cross-reference text. -#add_function_parentheses = True +# add_function_parentheses = True # If true, the current module name will be prepended to all description # unit titles (such as .. function::). -#add_module_names = True +# add_module_names = True # If true, sectionauthor and moduleauthor directives will be shown in the # output. They are ignored by default. -#show_authors = False +# show_authors = False # The name of the Pygments (syntax highlighting) style to use. -pygments_style = 'sphinx' +pygments_style = "sphinx" # A list of ignored prefixes for module index sorting. -#modindex_common_prefix = [] +# modindex_common_prefix = [] # If true, keep warnings as "system message" paragraphs in the built documents. -#keep_warnings = False +# keep_warnings = False # -- Options for HTML output ---------------------------------------------- # The theme to use for HTML and HTML Help pages. See the documentation for # a list of builtin themes. -html_theme = 'default' +html_theme = "default" # Theme options are theme-specific and customize the look and feel of a theme # further. For a list of options available for each theme, see the # documentation. -#html_theme_options = {} +# html_theme_options = {} # Add any paths that contain custom themes here, relative to this directory. -#html_theme_path = [] +# html_theme_path = [] # The name for this set of Sphinx documents. If None, it defaults to # " v documentation". -#html_title = None +# html_title = None # A shorter title for the navigation bar. Default is the same as html_title. -#html_short_title = None +# html_short_title = None # The name of an image file (relative to this directory) to place at the top # of the sidebar. -#html_logo = None +# html_logo = None # The name of an image file (within the static path) to use as favicon of the # docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32 # pixels large. -#html_favicon = None +# html_favicon = None # Add any paths that contain custom static files (such as style sheets) here, # relative to this directory. They are copied after the builtin static files, # so a file named "default.css" will overwrite the builtin "default.css". -html_static_path = ['_static'] +html_static_path = ["_static"] # Add any extra paths that contain custom files (such as robots.txt or # .htaccess) here, relative to this directory. These files are copied # directly to the root of the documentation. -#html_extra_path = [] +# html_extra_path = [] # If not '', a 'Last updated on:' timestamp is inserted at every page bottom, # using the given strftime format. -#html_last_updated_fmt = '%b %d, %Y' +# html_last_updated_fmt = '%b %d, %Y' # If true, SmartyPants will be used to convert quotes and dashes to # typographically correct entities. -#html_use_smartypants = True +# html_use_smartypants = True # Custom sidebar templates, maps document names to template names. -#html_sidebars = {} +# html_sidebars = {} # Additional templates that should be rendered to pages, maps page names to # template names. -#html_additional_pages = {} +# html_additional_pages = {} # If false, no module index is generated. -#html_domain_indices = True +# html_domain_indices = True # If false, no index is generated. -#html_use_index = True +# html_use_index = True # If true, the index is split into individual pages for each letter. -#html_split_index = False +# html_split_index = False # If true, links to the reST sources are added to the pages. -#html_show_sourcelink = True +# html_show_sourcelink = True # If true, "Created using Sphinx" is shown in the HTML footer. Default is True. -#html_show_sphinx = True +# html_show_sphinx = True # If true, "(C) Copyright ..." is shown in the HTML footer. Default is True. -#html_show_copyright = True +# html_show_copyright = True # If true, an OpenSearch description file will be output, and all pages will # contain a tag referring to it. The value of this option must be the # base URL from which the finished HTML is served. -#html_use_opensearch = '' +# html_use_opensearch = '' # This is the file name suffix for HTML files (e.g. ".xhtml"). -#html_file_suffix = None +# html_file_suffix = None # Output file base name for HTML help builder. -htmlhelp_basename = 'Fakerdoc' +htmlhelp_basename = "Fakerdoc" # -- Options for LaTeX output --------------------------------------------- latex_elements = { -# The paper size ('letterpaper' or 'a4paper'). -#'papersize': 'letterpaper', - -# The font size ('10pt', '11pt' or '12pt'). -#'pointsize': '10pt', - -# Additional stuff for the LaTeX preamble. -#'preamble': '', + # The paper size ('letterpaper' or 'a4paper'). + #'papersize': 'letterpaper', + # The font size ('10pt', '11pt' or '12pt'). + #'pointsize': '10pt', + # Additional stuff for the LaTeX preamble. + #'preamble': '', } # Grouping the document tree into LaTeX files. List of tuples # (source start file, target name, title, # author, documentclass [howto, manual, or own class]). latex_documents = [ - ('index', 'Faker.tex', 'Faker Documentation', - 'Daniele Faraglia', 'manual'), + ("index", "Faker.tex", "Faker Documentation", "Daniele Faraglia", "manual"), ] # The name of an image file (relative to this directory) to place at the top of # the title page. -#latex_logo = None +# latex_logo = None # For "manual" documents, if this is true, then toplevel headings are parts, # not chapters. -#latex_use_parts = False +# latex_use_parts = False # If true, show page references after internal links. -#latex_show_pagerefs = False +# latex_show_pagerefs = False # If true, show URL addresses after external links. -#latex_show_urls = False +# latex_show_urls = False # Documents to append as an appendix to all manuals. -#latex_appendices = [] +# latex_appendices = [] # If false, no module index is generated. -#latex_domain_indices = True +# latex_domain_indices = True # -- Options for manual page output --------------------------------------- # One entry per manual page. List of tuples # (source start file, name, description, authors, manual section). -man_pages = [ - ('index', 'faker', 'Faker Documentation', - ['Daniele Faraglia'], 1) -] +man_pages = [("index", "faker", "Faker Documentation", ["Daniele Faraglia"], 1)] # If true, show URL addresses after external links. -#man_show_urls = False +# man_show_urls = False # -- Options for Texinfo output ------------------------------------------- @@ -240,21 +234,27 @@ # (source start file, target name, title, author, # dir menu entry, description, category) texinfo_documents = [ - ('index', 'Faker', 'Faker Documentation', - 'Daniele Faraglia', 'Faker', 'One line description of project.', - 'Miscellaneous'), + ( + "index", + "Faker", + "Faker Documentation", + "Daniele Faraglia", + "Faker", + "One line description of project.", + "Miscellaneous", + ), ] # Documents to append as an appendix to all manuals. -#texinfo_appendices = [] +# texinfo_appendices = [] # If false, no module index is generated. -#texinfo_domain_indices = True +# texinfo_domain_indices = True # How to display URL addresses: 'footnote', 'no', or 'inline'. -#texinfo_show_urls = 'footnote' +# texinfo_show_urls = 'footnote' # If true, do not generate a @detailmenu in the "Top" node's menu. -#texinfo_no_detailmenu = False +# texinfo_no_detailmenu = False -intersphinx_mapping = {'python': ('https://docs.python.org/3', None)} +intersphinx_mapping = {"python": ("https://docs.python.org/3", None)} diff --git a/docs/fakerclass.rst b/docs/fakerclass.rst index c7a13304d1..644abc580b 100644 --- a/docs/fakerclass.rst +++ b/docs/fakerclass.rst @@ -183,10 +183,10 @@ OrderedDict with more than one valid locale, post-normalization. For example: ('ja-JP', 2), ('en_US', 2), ]) - fake2 = Faker(odict) + fake2 = Faker(locale_odict) # Will return ['en_US', 'ja_JP'] - fake1.locales + fake2.locales In this mode, calling a prospective provider method from the new ``Faker`` instance will run factory/selection logic in this order: @@ -287,3 +287,72 @@ a cheatsheet for new ``Faker`` in multiple locale mode. fake['ja_JP'].luzon_province() .. _the relevant PR: https://github.com/joke2k/faker/pull/1052#issuecomment-557170225 + + +Unique Values +------------- + +New in version ``v4.2.0`` is the ``.unique`` attribute on the +``Faker`` proxy. + +Accessing provider methods through this attribute guarantees that +the returned values are unique for the lifetime of the ``Faker`` instance. + + +.. code:: python + + import faker + + fake = faker.Faker() + + numbers = set(fake.unique.random_int() for i in range(1000)) + assert len(numbers) == 1000 + +To clear already seen values, simply call ``fake.unique.clear()``, which will +allow previous values generated to be returned again. + +Different argument signatures for provider methods do not share +a uniqueness pool. + + +.. code:: python + + import faker + + fake = faker.Faker() + + numbers = set(fake.unique.random_int(min=1, max=10) for i in range(10)) + other_numbers = set(fake.unique.random_int(min=1, max=5) for i in range(5)) + + assert other_numbers.issubset(numbers) + +If the range of possible values generated by a provider function is small +and the ``.unique`` attribute has been used, it's possible that no +suitable unique value will be found after a certain number of iterations. + +To avoid infinite loops, at that point, a ``UniquenessException`` will +be raised. + + +.. code:: python + + import faker + + fake = faker.Faker() + + for i in range(3): + fake.unique.boolean() # UniquenessException! + + +As a final caveat, only hashable arguments and return values can be used +with the ``.unique`` attribute, as it is backed internally by a set for +fast membership testing. + + +.. code:: python + + import faker + + fake = faker.Faker() + + fake.unique.profile() # TypeError: unhashable type: 'dict' diff --git a/docs/pytest-fixtures.rst b/docs/pytest-fixtures.rst index ef9e02334a..d28127ac50 100644 --- a/docs/pytest-fixtures.rst +++ b/docs/pytest-fixtures.rst @@ -9,8 +9,9 @@ Pytest Fixtures assert isinstance(faker.name(), str) Out of the box, the ``faker`` fixture returns a session-scoped ``Faker`` instance to be used across -all tests in your test suite. This instance defaults to the ``en-US`` locale, and it is reseeded -using a seed value of ``0`` prior to each test. +all tests in your test suite. This instance defaults to the ``en-US`` locale, it is reseeded +using a seed value of ``0`` prior to each test, and the ``.unique`` remembered generated values +are cleared. To change the default locale, you can define a session-scoped autouse ``faker_session_locale`` fixture in your top level ``conftest.py``. To change the default seed value, you define a @@ -116,7 +117,7 @@ selection logic. Like briefly mentioned above, defining an autouse session-scoped ``faker_seed`` fixture will affect all relevant tests in the session, but if you want to use a certain seed for a specific set of tests -and just like ``faker_locale``, you will just need to define and activate a ``faker_locale`` fixture +and just like ``faker_locale``, you will just need to define and activate a ``faker_seed`` fixture in the appropriate place in accordance to how ``pytest`` handles fixtures. For example, if you declare this in a submodule's ``conftest.py``, the ``faker`` fixture will return an instance seeded using ``12345`` for all relevant tests under that submodule. diff --git a/faker/__init__.py b/faker/__init__.py index d84e269c2f..6f9f6ecfc5 100644 --- a/faker/__init__.py +++ b/faker/__init__.py @@ -1,5 +1,7 @@ -from faker.factory import Factory # noqa F401 -from faker.generator import Generator # noqa F401 -from faker.proxy import Faker # noqa F401 +from faker.factory import Factory +from faker.generator import Generator +from faker.proxy import Faker -VERSION = '4.1.4' +VERSION = "9.7.1" + +__all__ = ("Factory", "Generator", "Faker") diff --git a/faker/__main__.py b/faker/__main__.py index 091c5ce75c..8d846ab68c 100644 --- a/faker/__main__.py +++ b/faker/__main__.py @@ -1,3 +1,4 @@ if __name__ == "__main__": - from faker.cli import execute_from_command_line + from .cli import execute_from_command_line + execute_from_command_line() diff --git a/faker/cli.py b/faker/cli.py index 9b68773705..2973edeebc 100644 --- a/faker/cli.py +++ b/faker/cli.py @@ -4,20 +4,34 @@ import random import sys -from faker import VERSION, Faker, documentor -from faker.config import AVAILABLE_LOCALES, DEFAULT_LOCALE, META_PROVIDERS_MODULES +from io import TextIOWrapper +from pathlib import Path +from typing import Dict, List, Optional, TextIO, TypeVar, Union -__author__ = 'joke2k' +from . import VERSION, Faker, documentor, exceptions +from .config import AVAILABLE_LOCALES, DEFAULT_LOCALE, META_PROVIDERS_MODULES +from .documentor import Documentor +from .providers import BaseProvider +__author__ = "joke2k" -def print_provider(doc, provider, formatters, excludes=None, output=None): - output = output or sys.stdout +T = TypeVar("T") + + +def print_provider( + doc: Documentor, + provider: BaseProvider, + formatters: Dict[str, T], + excludes: Optional[List[str]] = None, + output: Optional[TextIO] = None, +) -> None: + if output is None: + output = sys.stdout if excludes is None: excludes = [] print(file=output) - print("### {}".format( - doc.get_provider_name(provider)), file=output) + print(f"### {doc.get_provider_name(provider)}", file=output) print(file=output) for signature, example in formatters.items(): @@ -31,39 +45,43 @@ def print_provider(doc, provider, formatters, excludes=None, output=None): # try to `print` the line. lines = [""] except UnicodeEncodeError: - raise Exception('error on "{}" with value "{}"'.format( - signature, example)) + raise Exception(f"error on {signature!r} with value {example!r}") margin = max(30, doc.max_name_len + 1) remains = 150 - margin - separator = '#' + separator = "#" for line in lines: for i in range(0, (len(line) // remains) + 1): - print("\t{fake:<{margin}}{separator} {example}".format( - fake=signature, - separator=separator, - example=line[i * remains:(i + 1) * remains], - margin=margin, - ), file=output) - signature = separator = ' ' - - -def print_doc(provider_or_field=None, - args=None, lang=DEFAULT_LOCALE, output=None, seed=None, - includes=None): - args = args or [] - output = output or sys.stdout + print( + f"\t{signature:<{margin}}{separator} {line[i * remains:(i + 1) * remains]}", + file=output, + ) + signature = separator = " " + + +def print_doc( + provider_or_field: Optional[str] = None, + args: Optional[List[T]] = None, + lang: str = DEFAULT_LOCALE, + output: Optional[Union[TextIO, TextIOWrapper]] = None, + seed: Optional[float] = None, + includes: Optional[List[str]] = None, +) -> None: + if args is None: + args = [] + if output is None: + output = sys.stdout fake = Faker(locale=lang, includes=includes) fake.seed_instance(seed) from faker.providers import BaseProvider + base_provider_formatters = list(dir(BaseProvider)) if provider_or_field: - if '.' in provider_or_field: - parts = provider_or_field.split('.') + if "." in provider_or_field: + parts = provider_or_field.split(".") locale = parts[-2] if parts[-2] in AVAILABLE_LOCALES else lang - fake = Faker(locale, providers=[ - provider_or_field], includes=includes) + fake = Faker(locale, providers=[provider_or_field], includes=includes) fake.seed_instance(seed) doc = documentor.Documentor(fake) doc.already_generated = base_provider_formatters @@ -71,72 +89,75 @@ def print_doc(provider_or_field=None, doc, fake.get_providers()[0], doc.get_provider_formatters(fake.get_providers()[0]), - output=output) + output=output, + ) else: try: - print( - fake.format( - provider_or_field, - *args), - end='', - file=output) + print(fake.format(provider_or_field, *args), end="", file=output) except AttributeError: - raise ValueError('No faker found for "{}({})"'.format( - provider_or_field, args)) + raise ValueError(f'No faker found for "{provider_or_field}({args})"') else: doc = documentor.Documentor(fake) + unsupported: List[str] = [] - formatters = doc.get_formatters(with_args=True, with_defaults=True) + while True: + try: + formatters = doc.get_formatters(with_args=True, with_defaults=True, excludes=unsupported) + except exceptions.UnsupportedFeature as e: + unsupported.append(e.name) + else: + break for provider, fakers in formatters: - print_provider(doc, provider, fakers, output=output) for language in AVAILABLE_LOCALES: if language == lang: continue print(file=output) - print('## LANGUAGE {}'.format(language), file=output) + print(f"## LANGUAGE {language}", file=output) fake = Faker(locale=language) fake.seed_instance(seed) d = documentor.Documentor(fake) - for p, fs in d.get_formatters(with_args=True, with_defaults=True, - locale=language, - excludes=base_provider_formatters): + for p, fs in d.get_formatters( + with_args=True, + with_defaults=True, + locale=language, + excludes=base_provider_formatters + unsupported, + ): print_provider(d, p, fs, output=output) class Command: - - def __init__(self, argv=None): + def __init__(self, argv: Optional[str] = None) -> None: self.argv = argv or sys.argv[:] - self.prog_name = os.path.basename(self.argv[0]) + self.prog_name = Path(self.argv[0]).name - def execute(self): + def execute(self) -> None: """ Given the command-line arguments, this creates a parser appropriate to that command, and runs it. """ # retrieve default language from system environment - default_locale = os.environ.get('LANG', 'en_US').split('.')[0] + default_locale = os.environ.get("LANG", "en_US").split(".")[0] if default_locale not in AVAILABLE_LOCALES: default_locale = DEFAULT_LOCALE - epilog = """supported locales: + epilog = f"""supported locales: - {0} + {', '.join(sorted(AVAILABLE_LOCALES))} Faker can take a locale as an optional argument, to return localized data. If no locale argument is specified, the factory falls back to the user's OS locale as long as it is supported by at least one of the providers. - - for this user, the default locale is {1}. + - for this user, the default locale is {default_locale}. If the optional argument locale and/or user's default locale is not available for the specified provider, the factory falls back to faker's default locale, - which is {2}. + which is {DEFAULT_LOCALE}. examples: @@ -156,77 +177,95 @@ def execute(self): Josiah Maggio; Gayla Schmitt; -""".format(', '.join(sorted(AVAILABLE_LOCALES)), - default_locale, - DEFAULT_LOCALE) +""" formatter_class = argparse.RawDescriptionHelpFormatter parser = argparse.ArgumentParser( prog=self.prog_name, - description='{} version {}'.format(self.prog_name, VERSION), + description=f"{self.prog_name} version {VERSION}", epilog=epilog, - formatter_class=formatter_class) - - parser.add_argument("--version", action="version", - version="%(prog)s {}".format(VERSION)) - - parser.add_argument('-v', - '--verbose', - action='store_true', - help="show INFO logging events instead " - "of CRITICAL, which is the default. These logging " - "events provide insight into localization of " - "specific providers.") - - parser.add_argument('-o', metavar="output", - type=argparse.FileType('w'), - default=sys.stdout, - help="redirect output to a file") - - parser.add_argument('-l', '--lang', - choices=AVAILABLE_LOCALES, - default=default_locale, - metavar='LOCALE', - help="specify the language for a localized " - "provider (e.g. de_DE)") - parser.add_argument('-r', '--repeat', - default=1, - type=int, - help="generate the specified number of outputs") - parser.add_argument('-s', '--sep', - default='\n', - help="use the specified separator after each " - "output") - - parser.add_argument('--seed', metavar='SEED', - type=int, - help="specify a seed for the random generator so " - "that results are repeatable. Also compatible " - "with 'repeat' option") - - parser.add_argument('-i', - '--include', - default=META_PROVIDERS_MODULES, - nargs='*', - help="list of additional custom providers to " - "user, given as the import path of the module " - "containing your Provider class (not the provider " - "class itself)") - - parser.add_argument('fake', - action='store', - nargs='?', - help="name of the fake to generate output for " - "(e.g. profile)") - - parser.add_argument('fake_args', - metavar="fake argument", - action='store', - nargs='*', - help="optional arguments to pass to the fake " - "(e.g. the profile fake takes an optional " - "list of comma separated field names as the " - "first argument)") + formatter_class=formatter_class, + ) + + parser.add_argument("--version", action="version", version=f"%(prog)s {VERSION}") + + parser.add_argument( + "-v", + "--verbose", + action="store_true", + help="show INFO logging events instead " + "of CRITICAL, which is the default. These logging " + "events provide insight into localization of " + "specific providers.", + ) + + parser.add_argument( + "-o", + metavar="output", + type=argparse.FileType("w"), + default=sys.stdout, + help="redirect output to a file", + ) + + parser.add_argument( + "-l", + "--lang", + choices=AVAILABLE_LOCALES, + default=default_locale, + metavar="LOCALE", + help="specify the language for a localized " "provider (e.g. de_DE)", + ) + parser.add_argument( + "-r", + "--repeat", + default=1, + type=int, + help="generate the specified number of outputs", + ) + parser.add_argument( + "-s", + "--sep", + default="\n", + help="use the specified separator after each " "output", + ) + + parser.add_argument( + "--seed", + metavar="SEED", + type=int, + help="specify a seed for the random generator so " + "that results are repeatable. Also compatible " + "with 'repeat' option", + ) + + parser.add_argument( + "-i", + "--include", + default=META_PROVIDERS_MODULES, + nargs="*", + help="list of additional custom providers to " + "user, given as the import path of the module " + "containing your Provider class (not the provider " + "class itself)", + ) + + parser.add_argument( + "fake", + action="store", + nargs="?", + help="name of the fake to generate output for " "(e.g. profile)", + ) + + parser.add_argument( + "fake_args", + metavar="fake argument", + action="store", + nargs="*", + help="optional arguments to pass to the fake " + "(e.g. the profile fake takes an optional " + "list of comma separated field names as the " + "first argument)", + ) arguments = parser.parse_args(self.argv[1:]) @@ -236,17 +275,18 @@ def execute(self): logging.basicConfig(level=logging.CRITICAL) random.seed(arguments.seed) - seeds = random.sample(range(arguments.repeat*10), arguments.repeat) + seeds = [random.random() for _ in range(arguments.repeat)] for i in range(arguments.repeat): - print_doc(arguments.fake, - arguments.fake_args, - lang=arguments.lang, - output=arguments.o, - seed=seeds[i], - includes=arguments.include, - ) + print_doc( + arguments.fake, + arguments.fake_args, + lang=arguments.lang, + output=arguments.o, + seed=seeds[i], + includes=arguments.include, + ) print(arguments.sep, file=arguments.o) if not arguments.fake: @@ -254,13 +294,19 @@ def execute(self): break -def execute_from_command_line(argv=None): +def execute_from_command_line(argv: Optional[str] = None) -> None: """A simple method that runs a Command.""" if sys.stdout.encoding is None: - print('please set python env PYTHONIOENCODING=UTF-8, example: ' - 'export PYTHONIOENCODING=UTF-8, when writing to stdout', - file=sys.stderr) + print( + "please set python env PYTHONIOENCODING=UTF-8, example: " + "export PYTHONIOENCODING=UTF-8, when writing to stdout", + file=sys.stderr, + ) exit(1) command = Command(argv) command.execute() + + +if __name__ == "__main__": + execute_from_command_line() diff --git a/faker/config.py b/faker/config.py index 306f9de469..e668c37b64 100644 --- a/faker/config.py +++ b/faker/config.py @@ -1,14 +1,13 @@ from importlib import import_module -from faker.utils.loading import find_available_locales, find_available_providers +from .utils.loading import find_available_locales, find_available_providers -DEFAULT_LOCALE = 'en_US' +DEFAULT_LOCALE = "en_US" META_PROVIDERS_MODULES = [ - 'faker.providers', + "faker.providers", ] -PROVIDERS = find_available_providers( - [import_module(path) for path in META_PROVIDERS_MODULES]) +PROVIDERS = find_available_providers([import_module(path) for path in META_PROVIDERS_MODULES]) AVAILABLE_LOCALES = find_available_locales(PROVIDERS) diff --git a/faker/contrib/pytest/plugin.py b/faker/contrib/pytest/plugin.py index 48c0eea917..dab476b8a1 100644 --- a/faker/contrib/pytest/plugin.py +++ b/faker/contrib/pytest/plugin.py @@ -6,15 +6,15 @@ DEFAULT_SEED = 0 -@pytest.fixture(scope='session', autouse=True) +@pytest.fixture(scope="session", autouse=True) def _session_faker(request): """Fixture that stores the session level ``Faker`` instance. This fixture is internal and is only meant for use within the project. Third parties should instead use the ``faker`` fixture for their tests. """ - if 'faker_session_locale' in request.fixturenames: - locale = request.getfixturevalue('faker_session_locale') + if "faker_session_locale" in request.fixturenames: + locale = request.getfixturevalue("faker_session_locale") else: locale = [DEFAULT_LOCALE] return Faker(locale=locale) @@ -23,15 +23,16 @@ def _session_faker(request): @pytest.fixture() def faker(request): """Fixture that returns a seeded and suitable ``Faker`` instance.""" - if 'faker_locale' in request.fixturenames: - locale = request.getfixturevalue('faker_locale') + if "faker_locale" in request.fixturenames: + locale = request.getfixturevalue("faker_locale") fake = Faker(locale=locale) else: - fake = request.getfixturevalue('_session_faker') + fake = request.getfixturevalue("_session_faker") seed = DEFAULT_SEED - if 'faker_seed' in request.fixturenames: - seed = request.getfixturevalue('faker_seed') + if "faker_seed" in request.fixturenames: + seed = request.getfixturevalue("faker_seed") fake.seed_instance(seed=seed) + fake.unique.clear() return fake diff --git a/faker/documentor.py b/faker/documentor.py index 8b25e0f91a..ba72de2183 100644 --- a/faker/documentor.py +++ b/faker/documentor.py @@ -1,23 +1,34 @@ import inspect +import warnings +from typing import Any, Dict, List, Optional, Tuple, Union + +from .generator import Generator +from .providers import BaseProvider +from .proxy import Faker -class Documentor: - def __init__(self, generator): +class Documentor: + def __init__(self, generator: Union[Generator, Faker]) -> None: """ :param generator: a localized Generator with providers filled, for which to write the documentation :type generator: faker.Generator() """ self.generator = generator - self.max_name_len = 0 - self.already_generated = [] - - def get_formatters(self, locale=None, excludes=None, **kwargs): + self.max_name_len: int = 0 + self.already_generated: List[str] = [] + + def get_formatters( + self, + locale: Optional[str] = None, + excludes: Optional[List[str]] = None, + **kwargs: Any, + ) -> List[Tuple[BaseProvider, Dict[str, str]]]: self.max_name_len = 0 self.already_generated = [] if excludes is None else excludes[:] formatters = [] - providers = self.generator.get_providers() + providers: List[BaseProvider] = self.generator.get_providers() for provider in providers[::-1]: # reverse if locale and provider.__lang__ != locale: continue @@ -26,33 +37,39 @@ def get_formatters(self, locale=None, excludes=None, **kwargs): ) return formatters - def get_provider_formatters(self, provider, prefix='fake.', - with_args=True, with_defaults=True): - + def get_provider_formatters( + self, + provider: BaseProvider, + prefix: str = "fake.", + with_args: bool = True, + with_defaults: bool = True, + ) -> Dict[str, str]: formatters = {} for name, method in inspect.getmembers(provider, inspect.ismethod): # skip 'private' method and inherited methods - if name.startswith('_') or name in self.already_generated: + if name.startswith("_") or name in self.already_generated: continue arguments = [] - faker_args = [] + faker_args: List[str] = [] faker_kwargs = {} - if name == 'binary': - faker_kwargs['length'] = 1024 - elif name in ['zip', 'tar']: - faker_kwargs.update({ - 'uncompressed_size': 1024, - 'min_file_size': 512, - }) + if name == "binary": + faker_kwargs["length"] = 1024 + elif name in ["zip", "tar"]: + faker_kwargs.update( + { + "uncompressed_size": 1024, + "min_file_size": 512, + } + ) if with_args: # retrieve all parameter argspec = inspect.getfullargspec(method) - lst = [x for x in argspec.args if x not in ['self', 'cls']] + lst = [x for x in argspec.args if x not in ["self", "cls"]] for i, arg in enumerate(lst): if argspec.defaults and with_defaults: @@ -63,29 +80,32 @@ def get_provider_formatters(self, provider, prefix='fake.', default = repr(default) else: # TODO check default type - default = "{}".format(default) + default = f"{default}" - arg = "{}={}".format(arg, default) + arg = f"{arg}={default}" except IndexError: pass arguments.append(arg) - if with_args == 'first': + if with_args == "first": break - if with_args != 'first': + if with_args != "first": if argspec.varargs: - arguments.append('*' + argspec.varargs) + arguments.append("*" + argspec.varargs) if argspec.varkw: - arguments.append('**' + argspec.varkw) + arguments.append("**" + argspec.varkw) # build fake method signature - signature = "{}{}({})".format(prefix, name, ", ".join(arguments)) - - # make a fake example - example = self.generator.format(name, *faker_args, **faker_kwargs) + signature = f"{prefix}{name}({', '.join(arguments)})" + try: + # make a fake example + example = self.generator.format(name, *faker_args, **faker_kwargs) + except (AttributeError, ValueError) as e: + warnings.warn(str(e)) + continue formatters[signature] = example self.max_name_len = max(self.max_name_len, len(signature)) @@ -94,5 +114,5 @@ def get_provider_formatters(self, provider, prefix='fake.', return formatters @staticmethod - def get_provider_name(provider_class): + def get_provider_name(provider_class: BaseProvider) -> str: return provider_class.__provider__ diff --git a/faker/exceptions.py b/faker/exceptions.py new file mode 100644 index 0000000000..5aa03987ce --- /dev/null +++ b/faker/exceptions.py @@ -0,0 +1,16 @@ +class BaseFakerException(Exception): + """The base exception for all Faker exceptions.""" + + +class UniquenessException(BaseFakerException): + """To avoid infinite loops, after a certain number of attempts, + the "unique" attribute of the Proxy will throw this exception. + """ + + +class UnsupportedFeature(BaseFakerException): + """The requested feature is not available on this system.""" + + def __init__(self, msg: str, name: str) -> None: + self.name = name + super().__init__(msg) diff --git a/faker/factory.py b/faker/factory.py index b898e3b2a7..4d1a66ddf1 100644 --- a/faker/factory.py +++ b/faker/factory.py @@ -3,42 +3,47 @@ import sys from importlib import import_module +from typing import Any, List, Optional, Tuple -from faker.config import AVAILABLE_LOCALES, DEFAULT_LOCALE, PROVIDERS -from faker.generator import Generator -from faker.utils.loading import list_module +from .config import AVAILABLE_LOCALES, DEFAULT_LOCALE, PROVIDERS +from .generator import Generator +from .utils.loading import list_module logger = logging.getLogger(__name__) # identify if python is being run in interactive mode. If so, disable logging. -inREPL = bool(getattr(sys, 'ps1', False)) +inREPL = bool(getattr(sys, "ps1", False)) if inREPL: logger.setLevel(logging.CRITICAL) else: - logger.debug('Not in REPL -> leaving logger event level as is.') + logger.debug("Not in REPL -> leaving logger event level as is.") class Factory: - @classmethod def create( - cls, - locale=None, - providers=None, - generator=None, - includes=None, - **config): + cls, + locale: Optional[str] = None, + providers: Optional[List[str]] = None, + generator: Generator = None, + includes: Optional[List[str]] = None, + # Should we use weightings (more realistic) or weight every element equally (faster)? + # By default, use weightings for backwards compatibility & realism + use_weighting: bool = True, + **config: Any, + ) -> Generator: if includes is None: includes = [] # fix locale to package name - locale = locale.replace('-', '_') if locale else DEFAULT_LOCALE - locale = pylocale.normalize(locale).split('.')[0] + locale = locale.replace("-", "_") if locale else DEFAULT_LOCALE + locale = pylocale.normalize(locale).split(".")[0] if locale not in AVAILABLE_LOCALES: - msg = 'Invalid configuration for faker locale `{}`'.format(locale) + msg = f"Invalid configuration for faker locale `{locale}`" raise AttributeError(msg) - config['locale'] = locale + config["locale"] = locale + config["use_weighting"] = use_weighting providers = providers or PROVIDERS providers += includes @@ -46,11 +51,12 @@ def create( faker = generator or Generator(**config) for prov_name in providers: - if prov_name == 'faker.providers': + if prov_name == "faker.providers": continue prov_cls, lang_found = cls._get_provider_class(prov_name, locale) provider = prov_cls(faker) + provider.__use_weighting__ = use_weighting provider.__provider__ = prov_name provider.__lang__ = lang_found faker.add_provider(provider) @@ -58,7 +64,7 @@ def create( return faker @classmethod - def _get_provider_class(cls, provider, locale=''): + def _get_provider_class(cls, provider: str, locale: Optional[str] = "") -> Tuple[Any, Optional[str]]: provider_class = cls._find_provider_class(provider, locale) @@ -76,49 +82,55 @@ def _get_provider_class(cls, provider, locale=''): if provider_class: return provider_class, None - msg = 'Unable to find provider `{}` with locale `{}`'.format( - provider, locale) + msg = f"Unable to find provider `{provider}` with locale `{locale}`" raise ValueError(msg) @classmethod - def _find_provider_class(cls, provider_path, locale=None): + def _find_provider_class(cls, provider_path: str, locale: Optional[str] = None) -> Any: provider_module = import_module(provider_path) - if getattr(provider_module, 'localized', False): + if getattr(provider_module, "localized", False): - logger.debug('Looking for locale `{}` in provider `{}`.'.format( - locale, provider_module.__name__)) + logger.debug( + "Looking for locale `%s` in provider `%s`.", + locale, + provider_module.__name__, + ) available_locales = list_module(provider_module) if not locale or locale not in available_locales: unavailable_locale = locale - locale = getattr( - provider_module, 'default_locale', DEFAULT_LOCALE) - logger.debug('Specified locale `{}` is not available for ' - 'provider `{}`. Locale reset to `{}` for this ' - 'provider.'.format( - unavailable_locale, provider_module.__name__, locale), - ) + locale = getattr(provider_module, "default_locale", DEFAULT_LOCALE) + logger.debug( + "Specified locale `%s` is not available for " + "provider `%s`. Locale reset to `%s` for this " + "provider.", + unavailable_locale, + provider_module.__name__, + locale, + ) else: - logger.debug('Provider `{}` has been localized to `{}`.'.format( - provider_module.__name__, locale)) + logger.debug( + "Provider `%s` has been localized to `%s`.", + provider_module.__name__, + locale, + ) - path = "{provider_path}.{locale}".format( - provider_path=provider_path, - locale=locale, - ) + path = f"{provider_path}.{locale}" provider_module = import_module(path) else: - logger.debug('Provider `{}` does not feature localization. ' - 'Specified locale `{}` is not utilized for this ' - 'provider.'.format( - provider_module.__name__, locale), - ) + logger.debug( + "Provider `%s` does not feature localization. " + "Specified locale `%s` is not utilized for this " + "provider.", + provider_module.__name__, + locale, + ) if locale is not None: provider_module = import_module(provider_path) - return provider_module.Provider + return provider_module.Provider # type: ignore diff --git a/faker/generator.py b/faker/generator.py index 2c7be5e733..f297aa01df 100644 --- a/faker/generator.py +++ b/faker/generator.py @@ -1,24 +1,28 @@ import random as random_module import re -_re_token = re.compile(r'\{\{\s*(\w+)(:\s*\w+?)?\s*\}\}') +from typing import TYPE_CHECKING, Any, Callable, Dict, Hashable, List, Optional + +if TYPE_CHECKING: + from .providers import BaseProvider + +_re_token = re.compile(r"\{\{\s*(\w+)(:\s*\w+?)?\s*\}\}") random = random_module.Random() mod_random = random # compat with name released in 0.8 class Generator: - __config = { - 'arguments': {}, + __config: Dict[str, Dict[Hashable, Any]] = { + "arguments": {}, } - def __init__(self, **config): - self.providers = [] - self.__config = dict( - list(self.__config.items()) + list(config.items())) + def __init__(self, **config: Dict) -> None: + self.providers: List["BaseProvider"] = [] + self.__config = dict(list(self.__config.items()) + list(config.items())) self.__random = random - def add_provider(self, provider): + def add_provider(self, provider: "BaseProvider") -> None: if isinstance(provider, type): provider = provider(self) @@ -27,7 +31,7 @@ def add_provider(self, provider): for method_name in dir(provider): # skip 'private' method - if method_name.startswith('_'): + if method_name.startswith("_"): continue faker_function = getattr(provider, method_name) @@ -36,27 +40,26 @@ def add_provider(self, provider): # add all faker method to generator self.set_formatter(method_name, faker_function) - def provider(self, name): + def provider(self, name: str) -> Optional["BaseProvider"]: try: - lst = [p for p in self.get_providers() - if p.__provider__ == name.lower()] + lst = [p for p in self.get_providers() if hasattr(p, "__provider__") and p.__provider__ == name.lower()] return lst[0] except IndexError: return None - def get_providers(self): + def get_providers(self) -> List["BaseProvider"]: """Returns added providers.""" return self.providers @property - def random(self): + def random(self) -> random_module.Random: return self.__random @random.setter - def random(self, value): + def random(self, value: random_module.Random) -> None: self.__random = value - def seed_instance(self, seed=None): + def seed_instance(self, seed: Optional[Hashable] = None) -> "Generator": """Calls random.seed""" if self.__random == random: # create per-instance random obj when first time seed_instance() is @@ -66,37 +69,33 @@ def seed_instance(self, seed=None): return self @classmethod - def seed(cls, seed=None): + def seed(cls, seed: Optional[Hashable] = None) -> None: random.seed(seed) - def format(self, formatter, *args, **kwargs): + def format(self, formatter: str, *args: Any, **kwargs: Any) -> str: """ This is a secure way to make a fake from another Provider. """ return self.get_formatter(formatter)(*args, **kwargs) - def get_formatter(self, formatter): + def get_formatter(self, formatter: str) -> Callable: try: return getattr(self, formatter) except AttributeError: - if 'locale' in self.__config: - msg = 'Unknown formatter "{}" with locale "{}"'.format( - formatter, self.__config['locale'], - ) + if "locale" in self.__config: + msg = f'Unknown formatter {formatter!r} with locale {self.__config["locale"]!r}' else: - raise AttributeError('Unknown formatter "{}"'.format( - formatter, - )) + raise AttributeError(f"Unknown formatter {formatter!r}") raise AttributeError(msg) - def set_formatter(self, name, method): + def set_formatter(self, name: str, method: Callable) -> None: """ This method adds a provider method to generator. Override this method to add some decoration or logging stuff. """ setattr(self, name, method) - def set_arguments(self, group, argument, value=None): + def set_arguments(self, group: str, argument: str, value: Optional[Any] = None) -> None: """ Creates an argument group, with an individual argument or a dictionary of arguments. The argument groups is used to apply arguments to tokens, @@ -106,17 +105,17 @@ def set_arguments(self, group, argument, value=None): generator.set_arguments('small', 'max_value', 10) generator.set_arguments('small', {'min_value': 5, 'max_value': 10}) """ - if group not in self.__config['arguments']: - self.__config['arguments'][group] = {} + if group not in self.__config["arguments"]: + self.__config["arguments"][group] = {} if isinstance(argument, dict): - self.__config['arguments'][group] = argument + self.__config["arguments"][group] = argument elif not isinstance(argument, str): raise ValueError("Arguments must be either a string or dictionary") else: - self.__config['arguments'][group][argument] = value + self.__config["arguments"][group][argument] = value - def get_arguments(self, group, argument=None): + def get_arguments(self, group: str, argument: Optional[str] = None) -> Any: """ Get the value of an argument configured within a argument group, or the entire group as a dictionary. Used in conjunction with the @@ -125,14 +124,14 @@ def get_arguments(self, group, argument=None): generator.get_arguments('small', 'max_value') generator.get_arguments('small') """ - if group in self.__config['arguments'] and argument: - result = self.__config['arguments'][group].get(argument) + if group in self.__config["arguments"] and argument: + result = self.__config["arguments"][group].get(argument) else: - result = self.__config['arguments'].get(group) + result = self.__config["arguments"].get(group) return result - def del_arguments(self, group, argument=None): + def del_arguments(self, group: str, argument: Optional[str] = None) -> Any: """ Delete an argument from an argument group or the entire argument group. Used in conjunction with the set_arguments() method. @@ -140,17 +139,17 @@ def del_arguments(self, group, argument=None): generator.del_arguments('small') generator.del_arguments('small', 'max_value') """ - if group in self.__config['arguments']: + if group in self.__config["arguments"]: if argument: - result = self.__config['arguments'][group].pop(argument) + result = self.__config["arguments"][group].pop(argument) else: - result = self.__config['arguments'].pop(group) + result = self.__config["arguments"].pop(group) else: result = None return result - def parse(self, text): + def parse(self, text: str) -> str: """ Replaces tokens like '{{ tokenName }}' or '{{tokenName}}' in a string with the result from the token method call. Arguments can be parsed by using an @@ -168,16 +167,16 @@ def parse(self, text): def __format_token(self, matches): formatter, argument_group = list(matches.groups()) - argument_group = argument_group.lstrip(":").strip() if argument_group else '' + argument_group = argument_group.lstrip(":").strip() if argument_group else "" if argument_group: try: - arguments = self.__config['arguments'][argument_group] + arguments = self.__config["arguments"][argument_group] except KeyError: - raise AttributeError('Unknown argument group "{}"'.format(argument_group)) + raise AttributeError(f"Unknown argument group {argument_group!r}") formatted = str(self.format(formatter, **arguments)) else: formatted = str(self.format(formatter)) - return ''.join(formatted) + return "".join(formatted) diff --git a/faker/providers/__init__.py b/faker/providers/__init__.py index ba1f062115..84e7b2f190 100644 --- a/faker/providers/__init__.py +++ b/faker/providers/__init__.py @@ -2,105 +2,312 @@ import string from collections import OrderedDict +from typing import Any, Dict, KeysView, List, Optional, Sequence, TypeVar, Union -from faker.utils.distribution import choices_distribution, choices_distribution_unique +from ..generator import Generator +from ..utils.distribution import choices_distribution, choices_distribution_unique -_re_hash = re.compile(r'#') -_re_perc = re.compile(r'%') -_re_excl = re.compile(r'!') -_re_at = re.compile(r'@') -_re_qm = re.compile(r'\?') -_re_cir = re.compile(r'\^') +_re_hash = re.compile(r"#") +_re_perc = re.compile(r"%") +_re_excl = re.compile(r"!") +_re_at = re.compile(r"@") +_re_qm = re.compile(r"\?") +_re_cir = re.compile(r"\^") + +T = TypeVar("T") +ElementsType = Union[Sequence[T], Dict[T, float], KeysView[T]] class BaseProvider: - __provider__ = 'base' + __provider__ = "base" __lang__ = None + __use_weighting__ = False # Locales supported by Linux Mint from `/usr/share/i18n/SUPPORTED` language_locale_codes = { - 'aa': ('DJ', 'ER', 'ET'), 'af': ('ZA',), 'ak': ('GH',), 'am': ('ET',), - 'an': ('ES',), 'apn': ('IN',), - 'ar': ('AE', 'BH', 'DJ', 'DZ', 'EG', 'EH', 'ER', 'IL', 'IN', - 'IQ', 'JO', 'KM', 'KW', 'LB', 'LY', 'MA', 'MR', 'OM', - 'PS', 'QA', 'SA', 'SD', 'SO', 'SS', 'SY', 'TD', 'TN', - 'YE'), - 'as': ('IN',), 'ast': ('ES',), 'ayc': ('PE',), 'az': ('AZ', 'IN'), - 'be': ('BY',), 'bem': ('ZM',), 'ber': ('DZ', 'MA'), 'bg': ('BG',), - 'bhb': ('IN',), 'bho': ('IN',), 'bn': ('BD', 'IN'), 'bo': ('CN', 'IN'), - 'br': ('FR',), 'brx': ('IN',), 'bs': ('BA',), 'byn': ('ER',), - 'ca': ('AD', 'ES', 'FR', 'IT'), 'ce': ('RU',), 'ckb': ('IQ',), - 'cmn': ('TW',), 'crh': ('UA',), 'cs': ('CZ',), 'csb': ('PL',), - 'cv': ('RU',), 'cy': ('GB',), 'da': ('DK',), - 'de': ('AT', 'BE', 'CH', 'DE', 'LI', 'LU'), 'doi': ('IN',), - 'dv': ('MV',), 'dz': ('BT',), 'el': ('GR', 'CY'), - 'en': ('AG', 'AU', 'BW', 'CA', 'DK', 'GB', 'HK', 'IE', 'IN', 'NG', - 'NZ', 'PH', 'SG', 'US', 'ZA', 'ZM', 'ZW'), - 'eo': ('US',), - 'es': ('AR', 'BO', 'CL', 'CO', 'CR', 'CU', 'DO', 'EC', 'ES', 'GT', - 'HN', 'MX', 'NI', 'PA', 'PE', 'PR', 'PY', 'SV', 'US', 'UY', 'VE', - ), 'et': ('EE',), 'eu': ('ES', 'FR'), 'fa': ('IR',), - 'ff': ('SN',), 'fi': ('FI',), 'fil': ('PH',), 'fo': ('FO',), - 'fr': ('CA', 'CH', 'FR', 'LU'), 'fur': ('IT',), 'fy': ('NL', 'DE'), - 'ga': ('IE',), 'gd': ('GB',), 'gez': ('ER', 'ET'), 'gl': ('ES',), - 'gu': ('IN',), 'gv': ('GB',), 'ha': ('NG',), 'hak': ('TW',), - 'he': ('IL',), 'hi': ('IN',), 'hne': ('IN',), 'hr': ('HR',), - 'hsb': ('DE',), 'ht': ('HT',), 'hu': ('HU',), 'hy': ('AM',), - 'ia': ('FR',), 'id': ('ID',), 'ig': ('NG',), 'ik': ('CA',), - 'is': ('IS',), 'it': ('CH', 'IT'), 'iu': ('CA',), 'iw': ('IL',), - 'ja': ('JP',), 'ka': ('GE',), 'kk': ('KZ',), 'kl': ('GL',), - 'km': ('KH',), 'kn': ('IN',), 'ko': ('KR',), 'kok': ('IN',), - 'ks': ('IN',), 'ku': ('TR',), 'kw': ('GB',), 'ky': ('KG',), - 'lb': ('LU',), 'lg': ('UG',), 'li': ('BE', 'NL'), 'lij': ('IT',), - 'ln': ('CD',), 'lo': ('LA',), 'lt': ('LT',), 'lv': ('LV',), - 'lzh': ('TW',), 'mag': ('IN',), 'mai': ('IN',), 'mg': ('MG',), - 'mhr': ('RU',), 'mi': ('NZ',), 'mk': ('MK',), 'ml': ('IN',), - 'mn': ('MN',), 'mni': ('IN',), 'mr': ('IN',), 'ms': ('MY',), - 'mt': ('MT',), 'my': ('MM',), 'nan': ('TW',), 'nb': ('NO',), - 'nds': ('DE', 'NL'), 'ne': ('NP',), 'nhn': ('MX',), - 'niu': ('NU', 'NZ'), 'nl': ('AW', 'BE', 'NL'), 'nn': ('NO',), - 'nr': ('ZA',), 'nso': ('ZA',), 'oc': ('FR',), 'om': ('ET', 'KE'), - 'or': ('IN',), 'os': ('RU',), 'pa': ('IN', 'PK'), - 'pap': ('AN', 'AW', 'CW'), 'pl': ('PL',), 'ps': ('AF',), - 'pt': ('BR', 'PT'), 'quz': ('PE',), 'raj': ('IN',), 'ro': ('RO',), - 'ru': ('RU', 'UA'), 'rw': ('RW',), 'sa': ('IN',), 'sat': ('IN',), - 'sc': ('IT',), 'sd': ('IN', 'PK'), 'se': ('NO',), 'shs': ('CA',), - 'si': ('LK',), 'sid': ('ET',), 'sk': ('SK',), 'sl': ('SI',), - 'so': ('DJ', 'ET', 'KE', 'SO'), 'sq': ('AL', 'ML'), 'sr': ('ME', 'RS'), - 'ss': ('ZA',), 'st': ('ZA',), 'sv': ('FI', 'SE'), 'sw': ('KE', 'TZ'), - 'szl': ('PL',), 'ta': ('IN', 'LK'), 'tcy': ('IN',), 'te': ('IN',), - 'tg': ('TJ',), 'th': ('TH',), 'the': ('NP',), 'ti': ('ER', 'ET'), - 'tig': ('ER',), 'tk': ('TM',), 'tl': ('PH',), 'tn': ('ZA',), - 'tr': ('CY', 'TR'), 'ts': ('ZA',), 'tt': ('RU',), 'ug': ('CN',), - 'uk': ('UA',), 'unm': ('US',), 'ur': ('IN', 'PK'), 'uz': ('UZ',), - 've': ('ZA',), 'vi': ('VN',), 'wa': ('BE',), 'wae': ('CH',), - 'wal': ('ET',), 'wo': ('SN',), 'xh': ('ZA',), 'yi': ('US',), - 'yo': ('NG',), 'yue': ('HK',), 'zh': ('CN', 'HK', 'SG', 'TW'), - 'zu': ('ZA',), + "aa": ("DJ", "ER", "ET"), + "af": ("ZA",), + "ak": ("GH",), + "am": ("ET",), + "an": ("ES",), + "apn": ("IN",), + "ar": ( + "AE", + "BH", + "DJ", + "DZ", + "EG", + "EH", + "ER", + "IL", + "IN", + "IQ", + "JO", + "KM", + "KW", + "LB", + "LY", + "MA", + "MR", + "OM", + "PS", + "QA", + "SA", + "SD", + "SO", + "SS", + "SY", + "TD", + "TN", + "YE", + ), + "as": ("IN",), + "ast": ("ES",), + "ayc": ("PE",), + "az": ("AZ", "IN"), + "be": ("BY",), + "bem": ("ZM",), + "ber": ("DZ", "MA"), + "bg": ("BG",), + "bhb": ("IN",), + "bho": ("IN",), + "bn": ("BD", "IN"), + "bo": ("CN", "IN"), + "br": ("FR",), + "brx": ("IN",), + "bs": ("BA",), + "byn": ("ER",), + "ca": ("AD", "ES", "FR", "IT"), + "ce": ("RU",), + "ckb": ("IQ",), + "cmn": ("TW",), + "crh": ("UA",), + "cs": ("CZ",), + "csb": ("PL",), + "cv": ("RU",), + "cy": ("GB",), + "da": ("DK",), + "de": ("AT", "BE", "CH", "DE", "LI", "LU"), + "doi": ("IN",), + "dv": ("MV",), + "dz": ("BT",), + "el": ("GR", "CY"), + "en": ( + "AG", + "AU", + "BW", + "CA", + "DK", + "GB", + "HK", + "IE", + "IN", + "NG", + "NZ", + "PH", + "SG", + "US", + "ZA", + "ZM", + "ZW", + ), + "eo": ("US",), + "es": ( + "AR", + "BO", + "CL", + "CO", + "CR", + "CU", + "DO", + "EC", + "ES", + "GT", + "HN", + "MX", + "NI", + "PA", + "PE", + "PR", + "PY", + "SV", + "US", + "UY", + "VE", + ), + "et": ("EE",), + "eu": ("ES", "FR"), + "fa": ("IR",), + "ff": ("SN",), + "fi": ("FI",), + "fil": ("PH",), + "fo": ("FO",), + "fr": ("CA", "CH", "FR", "LU"), + "fur": ("IT",), + "fy": ("NL", "DE"), + "ga": ("IE",), + "gd": ("GB",), + "gez": ("ER", "ET"), + "gl": ("ES",), + "gu": ("IN",), + "gv": ("GB",), + "ha": ("NG",), + "hak": ("TW",), + "he": ("IL",), + "hi": ("IN",), + "hne": ("IN",), + "hr": ("HR",), + "hsb": ("DE",), + "ht": ("HT",), + "hu": ("HU",), + "hy": ("AM",), + "ia": ("FR",), + "id": ("ID",), + "ig": ("NG",), + "ik": ("CA",), + "is": ("IS",), + "it": ("CH", "IT"), + "iu": ("CA",), + "iw": ("IL",), + "ja": ("JP",), + "ka": ("GE",), + "kk": ("KZ",), + "kl": ("GL",), + "km": ("KH",), + "kn": ("IN",), + "ko": ("KR",), + "kok": ("IN",), + "ks": ("IN",), + "ku": ("TR",), + "kw": ("GB",), + "ky": ("KG",), + "lb": ("LU",), + "lg": ("UG",), + "li": ("BE", "NL"), + "lij": ("IT",), + "ln": ("CD",), + "lo": ("LA",), + "lt": ("LT",), + "lv": ("LV",), + "lzh": ("TW",), + "mag": ("IN",), + "mai": ("IN",), + "mg": ("MG",), + "mhr": ("RU",), + "mi": ("NZ",), + "mk": ("MK",), + "ml": ("IN",), + "mn": ("MN",), + "mni": ("IN",), + "mr": ("IN",), + "ms": ("MY",), + "mt": ("MT",), + "my": ("MM",), + "nan": ("TW",), + "nb": ("NO",), + "nds": ("DE", "NL"), + "ne": ("NP",), + "nhn": ("MX",), + "niu": ("NU", "NZ"), + "nl": ("AW", "BE", "NL"), + "nn": ("NO",), + "nr": ("ZA",), + "nso": ("ZA",), + "oc": ("FR",), + "om": ("ET", "KE"), + "or": ("IN",), + "os": ("RU",), + "pa": ("IN", "PK"), + "pap": ("AN", "AW", "CW"), + "pl": ("PL",), + "ps": ("AF",), + "pt": ("BR", "PT"), + "quz": ("PE",), + "raj": ("IN",), + "ro": ("RO",), + "ru": ("RU", "UA"), + "rw": ("RW",), + "sa": ("IN",), + "sat": ("IN",), + "sc": ("IT",), + "sd": ("IN", "PK"), + "se": ("NO",), + "shs": ("CA",), + "si": ("LK",), + "sid": ("ET",), + "sk": ("SK",), + "sl": ("SI",), + "so": ("DJ", "ET", "KE", "SO"), + "sq": ("AL", "ML"), + "sr": ("ME", "RS"), + "ss": ("ZA",), + "st": ("ZA",), + "sv": ("FI", "SE"), + "sw": ("KE", "TZ"), + "szl": ("PL",), + "ta": ("IN", "LK"), + "tcy": ("IN",), + "te": ("IN",), + "tg": ("TJ",), + "th": ("TH",), + "the": ("NP",), + "ti": ("ER", "ET"), + "tig": ("ER",), + "tk": ("TM",), + "tl": ("PH",), + "tn": ("ZA",), + "tr": ("CY", "TR"), + "ts": ("ZA",), + "tt": ("RU",), + "ug": ("CN",), + "uk": ("UA",), + "unm": ("US",), + "ur": ("IN", "PK"), + "uz": ("UZ",), + "ve": ("ZA",), + "vi": ("VN",), + "wa": ("BE",), + "wae": ("CH",), + "wal": ("ET",), + "wo": ("SN",), + "xh": ("ZA",), + "yi": ("US",), + "yo": ("NG",), + "yue": ("HK",), + "zh": ("CN", "HK", "SG", "TW"), + "zu": ("ZA",), } - def __init__(self, generator): + def __init__(self, generator: Any) -> None: + """ + Base class for fake data providers + :param generator: `Generator` instance + """ self.generator = generator - def locale(self): + def locale(self) -> str: """Generate a random underscored i18n locale code (e.g. en_US). :sample: """ language_code = self.language_code() - return language_code + '_' + self.random_element( - BaseProvider.language_locale_codes[language_code], + return ( + language_code + + "_" + + self.random_element( + BaseProvider.language_locale_codes[language_code], + ) ) - def language_code(self): + def language_code(self) -> str: """Generate a random i18n language code (e.g. en). :sample: """ return self.random_element(BaseProvider.language_locale_codes.keys()) - def random_int(self, min=0, max=9999, step=1): + def random_int(self, min: int = 0, max: int = 9999, step: int = 1) -> int: """Generate a random integer between two integers ``min`` and ``max`` inclusive while observing the provided ``step`` value. @@ -113,21 +320,21 @@ def random_int(self, min=0, max=9999, step=1): """ return self.generator.random.randrange(min, max + 1, step) - def random_digit(self): + def random_digit(self) -> int: """Generate a random digit (0 to 9). :sample: """ return self.generator.random.randint(0, 9) - def random_digit_not_null(self): + def random_digit_not_null(self) -> int: """Generate a random non-zero digit (1 to 9). :sample: """ return self.generator.random.randint(1, 9) - def random_digit_or_empty(self): + def random_digit_or_empty(self) -> Union[int, str]: """Generate a random digit (0 to 9) or an empty string. This method will return an empty string 50% of the time, @@ -138,9 +345,9 @@ def random_digit_or_empty(self): if self.generator.random.randint(0, 1): return self.generator.random.randint(0, 9) else: - return '' + return "" - def random_digit_not_null_or_empty(self): + def random_digit_not_null_or_empty(self) -> Union[int, str]: """Generate a random non-zero digit (1 to 9) or an empty string. This method will return an empty string 50% of the time, @@ -151,9 +358,9 @@ def random_digit_not_null_or_empty(self): if self.generator.random.randint(0, 1): return self.generator.random.randint(1, 9) else: - return '' + return "" - def random_number(self, digits=None, fix_len=False): + def random_number(self, digits: Optional[int] = None, fix_len: bool = False) -> int: """Generate a random integer according to the following rules: - If ``digits`` is ``None`` (default), its value will be set to a random @@ -175,47 +382,51 @@ def random_number(self, digits=None, fix_len=False): raise ValueError("The digit parameter must be greater than or equal to 0.") if fix_len: if digits > 0: - return self.generator.random.randint( - pow(10, digits - 1), pow(10, digits) - 1) + return self.generator.random.randint(pow(10, digits - 1), pow(10, digits) - 1) else: raise ValueError("A number of fixed length cannot have less than 1 digit in it.") else: return self.generator.random.randint(0, pow(10, digits) - 1) - def random_letter(self): + def random_letter(self) -> str: """Generate a random ASCII letter (a-z and A-Z). :sample: """ - return self.generator.random.choice( - getattr(string, 'letters', string.ascii_letters)) + return self.generator.random.choice(getattr(string, "letters", string.ascii_letters)) - def random_letters(self, length=16): + def random_letters(self, length: int = 16) -> Sequence[str]: """Generate a list of random ASCII letters (a-z and A-Z) of the specified ``length``. :sample: :sample: length=10 """ return self.random_choices( - getattr(string, 'letters', string.ascii_letters), + getattr(string, "letters", string.ascii_letters), length=length, ) - def random_lowercase_letter(self): + def random_lowercase_letter(self) -> str: """Generate a random lowercase ASCII letter (a-z). :sample: """ return self.generator.random.choice(string.ascii_lowercase) - def random_uppercase_letter(self): + def random_uppercase_letter(self) -> str: """Generate a random uppercase ASCII letter (A-Z). :sample: """ return self.generator.random.choice(string.ascii_uppercase) - def random_elements(self, elements=('a', 'b', 'c'), length=None, unique=False): + def random_elements( + self, + elements: ElementsType = ("a", "b", "c"), + length: Optional[int] = None, + unique: bool = False, + use_weighting: Optional[bool] = None, + ) -> Sequence[T]: """Generate a list of randomly sampled objects from ``elements``. Set ``unique`` to ``False`` for random sampling with replacement, and set ``unique`` to @@ -271,6 +482,8 @@ def random_elements(self, elements=('a', 'b', 'c'), length=None, unique=False): ("d", 0.05), ]), unique=True """ + use_weighting = use_weighting if use_weighting is not None else self.__use_weighting__ + if isinstance(elements, dict) and not isinstance(elements, OrderedDict): raise ValueError("Use OrderedDict only to avoid dependency on PYTHONHASHSEED (See #363).") @@ -280,27 +493,29 @@ def random_elements(self, elements=('a', 'b', 'c'), length=None, unique=False): length = self.generator.random.randint(1, len(elements)) if unique and length > len(elements): - raise ValueError( - "Sample length cannot be longer than the number of unique elements to pick from.") + raise ValueError("Sample length cannot be longer than the number of unique elements to pick from.") if isinstance(elements, dict): - choices = elements.keys() - probabilities = elements.values() + if not hasattr(elements, "_key_cache"): + elements._key_cache = tuple(elements.keys()) # type: ignore + + choices = elements._key_cache # type: ignore[attr-defined] + probabilities = tuple(elements.values()) if use_weighting else None else: if unique: # shortcut return self.generator.random.sample(elements, length) choices = elements - probabilities = [1.0 for _ in range(len(choices))] + probabilities = None return fn( - list(choices), - list(probabilities), + tuple(choices), + probabilities, self.generator.random, length=length, ) - def random_choices(self, elements=('a', 'b', 'c'), length=None): + def random_choices(self, elements: ElementsType = ("a", "b", "c"), length: Optional[int] = None) -> Sequence[T]: """Generate a list of objects randomly sampled from ``elements`` with replacement. For information on the ``elements`` and ``length`` arguments, please refer to @@ -324,7 +539,7 @@ def random_choices(self, elements=('a', 'b', 'c'), length=None): """ return self.random_elements(elements, length, unique=False) - def random_element(self, elements=('a', 'b', 'c')): + def random_element(self, elements: ElementsType = ("a", "b", "c")) -> T: """Generate a randomly sampled object from ``elements``. For information on the ``elements`` argument, please refer to @@ -343,7 +558,7 @@ def random_element(self, elements=('a', 'b', 'c')): return self.random_elements(elements, length=1)[0] - def random_sample(self, elements=('a', 'b', 'c'), length=None): + def random_sample(self, elements: ElementsType = ("a", "b", "c"), length: Optional[int] = None) -> Sequence[T]: """Generate a list of objects randomly sampled from ``elements`` without replacement. For information on the ``elements`` and ``length`` arguments, please refer to @@ -356,12 +571,13 @@ def random_sample(self, elements=('a', 'b', 'c'), length=None): return self.random_elements(elements, length, unique=True) def randomize_nb_elements( - self, - number=10, - le=False, - ge=False, - min=None, - max=None): + self, + number: int = 10, + le: bool = False, + ge: bool = False, + min: Optional[int] = None, + max: Optional[int] = None, + ) -> int: """Generate a random integer near ``number`` according to the following rules: - If ``le`` is ``False`` (default), allow generation up to 140% of ``number``. @@ -393,7 +609,7 @@ def randomize_nb_elements( nb = max return nb - def numerify(self, text='###'): + def numerify(self, text: str = "###") -> str: """Generate a string with each placeholder in ``text`` replaced according to the following rules: @@ -411,21 +627,13 @@ def numerify(self, text='###'): :sample: text='Intel Core i%-%%##K vs AMD Ryzen % %%##X' :sample: text='!!! !!@ !@! !@@ @!! @!@ @@! @@@' """ - text = _re_hash.sub( - lambda x: str(self.random_digit()), - text) - text = _re_perc.sub( - lambda x: str(self.random_digit_not_null()), - text) - text = _re_excl.sub( - lambda x: str(self.random_digit_or_empty()), - text) - text = _re_at.sub( - lambda x: str(self.random_digit_not_null_or_empty()), - text) + text = _re_hash.sub(lambda x: str(self.random_digit()), text) + text = _re_perc.sub(lambda x: str(self.random_digit_not_null()), text) + text = _re_excl.sub(lambda x: str(self.random_digit_or_empty()), text) + text = _re_at.sub(lambda x: str(self.random_digit_not_null_or_empty()), text) return text - def lexify(self, text='????', letters=string.ascii_letters): + def lexify(self, text: str = "????", letters: str = string.ascii_letters) -> str: """Generate a string with each question mark ('?') in ``text`` replaced with a random character from ``letters``. @@ -436,9 +644,8 @@ def lexify(self, text='????', letters=string.ascii_letters): """ return _re_qm.sub(lambda x: self.random_element(letters), text) - def bothify(self, text='## ??', letters=string.ascii_letters): - """Generate a string with each placeholder in ``text`` replaced according - to the following rules: + def bothify(self, text: str = "## ??", letters: str = string.ascii_letters) -> str: + """Generate a string with each placeholder in ``text`` replaced according to the following rules: - Number signs ('#') are replaced with a random digit (0 to 9). - Question marks ('?') are replaced with a random character from ``letters``. @@ -455,7 +662,7 @@ def bothify(self, text='## ??', letters=string.ascii_letters): """ return self.lexify(self.numerify(text), letters=letters) - def hexify(self, text='^^^^', upper=False): + def hexify(self, text: str = "^^^^", upper: bool = False) -> str: """Generate a string with each circumflex ('^') in ``text`` replaced with a random hexadecimal character. @@ -469,3 +676,60 @@ def hexify(self, text='^^^^', upper=False): if upper: letters = letters.upper() return _re_cir.sub(lambda x: self.random_element(letters), text) + + +class DynamicProvider(BaseProvider): + def __init__( + self, + provider_name: str, + elements: Optional[List] = None, + generator: Optional[Any] = None, + ): + """ + A faker Provider capable of getting a list of elements to randomly select from, + instead of using the predefined list of elements which exist in the default providers in faker. + + :param provider_name: Name of provider, which would translate into the function name e.g. faker.my_fun(). + :param elements: List of values to randomly select from + :param generator: Generator object. If missing, the default Generator is used. + + :example: + >>>from faker import Faker + >>>from faker.providers import DynamicProvider + + >>>medical_professions_provider = DynamicProvider( + >>> provider_name="medical_profession", + >>> elements=["dr.", "doctor", "nurse", "surgeon", "clerk"], + >>>) + >>>fake = Faker() + >>>fake.add_provider(medical_professions_provider) + + >>>fake.medical_profession() + "dr." + + """ + + if not generator: + generator = Generator() + super().__init__(generator) + if provider_name.startswith("__"): + raise ValueError("Provider name cannot start with __ as it would be ignored by Faker") + + self.provider_name = provider_name + + self.elements = [] + if elements: + self.elements = elements + + setattr(self, provider_name, self.get_random_value) # Add a method for the provider_name value + + def add_element(self, element: str) -> None: + """Add new element.""" + self.elements.append(element) + + def get_random_value(self) -> Any: + + if not self.elements or len(self.elements) == 0: + raise ValueError("Elements should be a list of values the provider samples from") + + return self.random_element(self.elements) diff --git a/faker/providers/address/__init__.py b/faker/providers/address/__init__.py index f18f666152..4c5d39967d 100644 --- a/faker/providers/address/__init__.py +++ b/faker/providers/address/__init__.py @@ -1,84 +1,102 @@ -from .. import BaseProvider, date_time +from .. import BaseProvider, ElementsType, date_time localized = True class Provider(BaseProvider): - city_suffixes = ['Ville'] - street_suffixes = ['Street'] - city_formats = ('{{first_name}} {{city_suffix}}', ) - street_name_formats = ('{{last_name}} {{street_suffix}}', ) - street_address_formats = ('{{building_number}} {{street_name}}', ) - address_formats = ('{{street_address}} {{postcode}} {{city}}', ) - building_number_formats = ('##', ) - postcode_formats = ('#####', ) - countries = [tz['name'] for tz in date_time.Provider.countries] + city_suffixes: ElementsType = ["Ville"] + street_suffixes: ElementsType = ["Street"] + city_formats: ElementsType = ("{{first_name}} {{city_suffix}}",) + street_name_formats: ElementsType = ("{{last_name}} {{street_suffix}}",) + street_address_formats: ElementsType = ("{{building_number}} {{street_name}}",) + address_formats: ElementsType = ("{{street_address}} {{postcode}} {{city}}",) + building_number_formats: ElementsType = ("##",) + postcode_formats: ElementsType = ("#####",) + countries: ElementsType = [tz["name"] for tz in date_time.Provider.countries] - ALPHA_2 = 'alpha-2' - ALPHA_3 = 'alpha-3' + ALPHA_2 = "alpha-2" + ALPHA_3 = "alpha-3" - alpha_2_country_codes = [tz['alpha-2-code'] for tz in date_time.Provider.countries] - alpha_3_country_codes = [tz['alpha-3-code'] for tz in date_time.Provider.countries] + alpha_2_country_codes: ElementsType = [tz["alpha-2-code"] for tz in date_time.Provider.countries] + alpha_3_country_codes: ElementsType = [tz["alpha-3-code"] for tz in date_time.Provider.countries] - def city_suffix(self): + def city_suffix(self) -> str: """ :example 'town' """ return self.random_element(self.city_suffixes) - def street_suffix(self): + def street_suffix(self) -> str: """ :example 'Avenue' """ return self.random_element(self.street_suffixes) - def building_number(self): + def building_number(self) -> str: """ :example '791' """ return self.numerify(self.random_element(self.building_number_formats)) - def city(self): + def city(self) -> str: """ :example 'Sashabury' """ - pattern = self.random_element(self.city_formats) + pattern: str = self.random_element(self.city_formats) return self.generator.parse(pattern) - def street_name(self): + def street_name(self) -> str: """ :example 'Crist Parks' """ - pattern = self.random_element(self.street_name_formats) + pattern: str = self.random_element(self.street_name_formats) return self.generator.parse(pattern) - def street_address(self): + def street_address(self) -> str: """ :example '791 Crist Parks' """ - pattern = self.random_element(self.street_address_formats) + pattern: str = self.random_element(self.street_address_formats) return self.generator.parse(pattern) - def postcode(self): + def postcode(self) -> str: """ :example 86039-9874 """ return self.bothify(self.random_element(self.postcode_formats)).upper() - def address(self): + def address(self) -> str: """ :example '791 Crist Parks, Sashabury, IL 86039-9874' """ - pattern = self.random_element(self.address_formats) + pattern: str = self.random_element(self.address_formats) return self.generator.parse(pattern) - def country(self): + def country(self) -> str: return self.random_element(self.countries) - def country_code(self, representation=ALPHA_2): + def country_code(self, representation: str = ALPHA_2) -> str: if representation == self.ALPHA_2: return self.random_element(self.alpha_2_country_codes) elif representation == self.ALPHA_3: return self.random_element(self.alpha_3_country_codes) else: raise ValueError("`representation` must be one of `alpha-2` or `alpha-3`.") + + def current_country_code(self) -> str: + try: + return self.__lang__.split("_")[1] # type: ignore + except IndexError: + raise AttributeError("Country code cannot be determined from locale") + + def current_country(self) -> str: + current_country_code = self.current_country_code() + current_country = [ + tz["name"] for tz in date_time.Provider.countries if tz["alpha-2-code"] == current_country_code + ] + if len(current_country) == 1: + return current_country[0] # type: ignore + elif len(current_country) > 1: + raise ValueError(f"Ambiguous country for country code {current_country_code}: {current_country}") + else: + raise ValueError(f"No appropriate country for country code {current_country_code}") diff --git a/faker/providers/address/cs_CZ/__init__.py b/faker/providers/address/cs_CZ/__init__.py index 5e96f044c1..7fe14b285e 100644 --- a/faker/providers/address/cs_CZ/__init__.py +++ b/faker/providers/address/cs_CZ/__init__.py @@ -3,760 +3,1157 @@ class Provider(AddressProvider): - city_formats = ('{{city_name}}', ) + city_formats = ("{{city_name}}",) - street_name_formats = ('{{street_name}}', ) - street_address_formats = ('{{street_name}} {{building_number}}', ) - address_formats = ('{{street_address}}\n{{postcode}} {{city}}', ) + street_name_formats = ("{{street_name}}",) + street_address_formats = ("{{street_name}} {{building_number}}",) + address_formats = ("{{street_address}}\n{{postcode}} {{city}}",) - building_number_formats = ('###', '##', '#', '#/#') + building_number_formats = ("%", "%#", "%##") - street_suffixes_long = ('náměstí', ) - street_suffixes_short = ('nám.', ) + street_suffixes_long = ("ulice", "třída", "nábřeží", "náměstí") + street_suffixes_short = ("ul.", "tř.", "nábř.", "nám.") - postcode_formats = ('### ##', ) + postcode_formats = ( + "1## ##", + "2## ##", + "3## ##", + "4## ##", + "5## ##", + "6## ##", + "7## ##", + ) cities = ( - 'Abertamy', 'Adamov', 'Andělská Hora', 'Bakov nad Jizerou', 'Bavorov', - 'Bechyně', 'Benešov nad Ploučnicí', 'Benátky nad Jizerou', - 'Bezdružice', 'Bečov nad Teplou', 'Blatná', 'Blovice', 'Blšany', - 'Bochov', 'Bohušovice nad Ohří', 'Bojkovice', 'Bor', 'Borohrádek', - 'Borovany', 'Boží Dar', 'Brandýs nad Orlicí', 'Brno', 'Broumov', - 'Brtnice', 'Brumov-Bylnice', 'Brušperk', 'Budišov nad Budišovkou', - 'Budyně nad Ohří', 'Bučovice', 'Buštěhrad', 'Bystré', 'Bystřice', - 'Bystřice nad Pernštejnem', 'Bystřice pod Hostýnem', 'Bzenec', - 'Bílovec', 'Bělá nad Radbuzou', 'Bělá pod Bezdězem', 'Březnice', - 'Březová', 'Březová nad Svitavou', 'Břidličná', 'Chabařovice', - 'Chlumec', 'Chlumec nad Cidlinou', 'Choceň', 'Chomutov', 'Chotěboř', - 'Chrast', 'Chrastava', 'Chropyně', 'Chvaletice', 'Chyše', 'Chýnov', - 'Chřibská', 'Cvikov', 'Dačice', 'Dašice', 'Desná', 'Deštná', - 'Dobrovice', 'Dobruška', 'Dobřany', 'Dobřichovice', 'Dobříš', 'Doksy', - 'Dolní Benešov', 'Dolní Bousov', 'Dolní Kounice', 'Dolní Poustevna', - 'Dubá', 'Dubí', 'Dubňany', 'Duchcov', 'Děčín', 'Františkovy Lázně', - 'Fryšták', 'Frýdek-Místek', 'Frýdlant', 'Frýdlant nad Ostravicí', - 'Fulnek', 'Golčův Jeníkov', 'Habartov', 'Habry', 'Hanušovice', - 'Harrachov', 'Hartmanice', 'Havířov', 'Hejnice', 'Heřmanův Městec', - 'Hlinsko', 'Hluboká nad Vltavou', 'Hluk', 'Hodkovice nad Mohelkou', - 'Holice', 'Holýšov', 'Hora Svaté Kateřiny', 'Horažďovice', - 'Horní Benešov', 'Horní Blatná', 'Horní Bříza', 'Horní Cerekev', - 'Horní Jelení', 'Horní Jiřetín', 'Horní Planá', 'Horní Slavkov', - 'Horšovský Týn', 'Hostinné', 'Hostivice', 'Hostomice', 'Hostouň', - 'Hořice', 'Hořovice', 'Hoštka', 'Hradec Králové', - 'Hradec nad Moravicí', 'Hranice (okres Cheb)', 'Hrob', - 'Hrochův Týnec', 'Hronov', 'Hrotovice', 'Hroznětín', - 'Hrušovany nad Jevišovkou', 'Hrádek', 'Hrádek nad Nisou', 'Hulín', - 'Husinec', 'Hustopeče', 'Ivanovice na Hané', 'Ivančice', - 'Jablonec nad Jizerou', 'Jablonec nad Nisou', 'Jablonné nad Orlicí', - 'Jablonné v Podještědí', 'Jablunkov', 'Janov', 'Janovice nad Úhlavou', - 'Janské Lázně', 'Jaroměřice nad Rokytnou', 'Javorník', 'Jemnice', - 'Jesenice (okres Rakovník)', 'Jevišovice', 'Jevíčko', 'Jihlava', - 'Jilemnice', 'Jistebnice', 'Jiříkov', 'Jáchymov', 'Jílové', - 'Jílové u Prahy', 'Kamenice nad Lipou', 'Kamenický Šenov', 'Kaplice', - 'Kardašova Řečice', 'Karlovy Vary', 'Karolinka', 'Karviná', - 'Kasejovice', 'Kaznějov', 'Kašperské Hory', 'Kdyně', 'Kelč', 'Kladno', - 'Kladruby', 'Klecany', 'Klimkovice', 'Klobouky u Brna', 'Kojetín', - 'Konice', 'Kopidlno', 'Koryčany', 'Kosmonosy', 'Kostelec na Hané', - 'Kostelec nad Labem', 'Kostelec nad Orlicí', - 'Kostelec nad Černými lesy', 'Kouřim', 'Košťany', 'Kožlany', - 'Kralovice', 'Kraslice', 'Kravaře', 'Kryry', 'Králíky', 'Králův Dvůr', - 'Krásno', 'Krásná Hora nad Vltavou', 'Krásná Lípa', 'Krásné Údolí', - 'Kunovice', 'Kunštát', 'Kynšperk nad Ohří', 'Lanžhot', - 'Ledeč nad Sázavou', 'Ledvice', 'Letohrad', 'Letovice', 'Liberec', - 'Libochovice', 'Libušín', 'Libáň', 'Libčice nad Vltavou', 'Liběchov', - 'Lipník nad Bečvou', 'Litovel', 'Lišov', 'Loket', 'Lom', - 'Lomnice nad Lužnicí', 'Lomnice nad Popelkou', 'Loučná pod Klínovcem', - 'Lovosice', 'Loštice', 'Luby', 'Luhačovice', 'Lučany nad Nisou', - 'Luže', 'Lysá nad Labem', 'Lázně Bohdaneč', 'Lázně Bělohrad', - 'Lázně Kynžvart', 'Manětín', 'Mašťov', 'Meziboří', 'Meziměstí', - 'Mikulov', 'Mikulášovice', 'Miletín', 'Milevsko', 'Milovice', 'Mimoň', - 'Miroslav', 'Mirotice', 'Mirovice', 'Mirošov', 'Mladá Boleslav', - 'Mladá Vožice', 'Mnichovice', 'Mnichovo Hradiště', 'Mníšek pod Brdy', - 'Modřice', 'Mohelnice', 'Moravské Budějovice', 'Moravský Beroun', - 'Moravský Krumlov', 'Morkovice-Slížany', 'Most', 'Mýto', - 'Městec Králové', 'Město Albrechtice', 'Město Touškov', 'Měčín', - 'Mšeno', 'Nalžovské Hory', 'Napajedla', 'Nasavrky', 'Nechanice', - 'Nejdek', 'Nepomuk', 'Netolice', 'Neveklov', 'Nová Bystřice', - 'Nová Paka', 'Nová Role', 'Nová Včelnice', 'Nové Hrady', - 'Nové Město nad Metují', 'Nové Město pod Smrkem', 'Nové Sedlo', - 'Nové Strašecí', 'Nový Bydžov', 'Nový Knín', 'Náměšť nad Oslavou', - 'Nýrsko', 'Nýřany', 'Němčice nad Hanou', 'Odolena Voda', 'Odry', - 'Olešnice', 'Olomouc', 'Oloví', 'Opava', 'Opočno', 'Osek', 'Osečná', - 'Oslavany', 'Ostrava', 'Pacov', 'Pardubice', 'Paskov', - 'Pec pod Sněžkou', 'Petřvald', 'Pečky', 'Pilníkov', 'Planá', - 'Planá nad Lužnicí', 'Plasy', 'Plesná', 'Plumlov', 'Plzeň', 'Plánice', - 'Poběžovice', 'Podbořany', 'Podivín', 'Pohořelice', - 'Police nad Metují', 'Polička', 'Polná', 'Postoloprty', 'Potštát', - 'Počátky', 'Praha', 'Proseč', 'Prostějov', 'Protivín', 'Pyšely', - 'Přebuz', 'Přelouč', 'Přerov', 'Přeštice', 'Přibyslav', 'Přimda', - 'Příbor', 'Rabí', 'Radnice', 'Rajhrad', 'Ralsko', 'Raspenava', - 'Rejštejn', 'Rokytnice nad Jizerou', 'Rokytnice v Orlických horách', - 'Ronov nad Doubravou', 'Rosice', 'Rotava', 'Rousínov', - 'Rovensko pod Troskami', 'Roztoky', 'Rožmberk nad Vltavou', - 'Rožmitál pod Třemšínem', 'Rožďalovice', 'Rtyně v Podkrkonoší', - 'Rudná', 'Rudolfov', 'Rychnov u Jablonce nad Nisou', 'Rychvald', - 'Rájec-Jestřebí', 'Rýmařov', 'Sadská', 'Sedlec-Prčice', 'Sedlice', - 'Sedlčany', 'Semily', 'Sezemice', 'Sezimovo Ústí', 'Seč', 'Skalná', - 'Skuteč', 'Slatiňany', 'Slavičín', 'Slavkov u Brna', 'Slavonice', - 'Slušovice', 'Smečno', 'Smiřice', 'Smržovka', 'Sobotka', 'Soběslav', - 'Solnice', 'Spálené Poříčí', 'Staré Město (okres Uherské Hradiště)', - 'Staré Město (okres Šumperk)', 'Starý Plzenec', 'Staňkov', 'Stochov', - 'Stod', 'Strmilov', 'Stráž nad Nežárkou', 'Stráž pod Ralskem', - 'Strážnice', 'Strážov', 'Studénka', 'Stárkov', 'Stříbro', - 'Suchdol nad Lužnicí', 'Svoboda nad Úpou', 'Svratka', - 'Světlá nad Sázavou', 'Sázava', 'Tanvald', 'Telč', 'Teplice', - 'Teplice nad Metují', 'Teplá', 'Terezín', 'Tišnov', 'Toužim', - 'Tovačov', 'Trhové Sviny', 'Trhový Štěpánov', 'Trmice', - 'Týn nad Vltavou', 'Týnec nad Labem', 'Týnec nad Sázavou', - 'Týniště nad Orlicí', 'Třebechovice pod Orebem', 'Třebenice', 'Třeboň', - 'Třemošnice', 'Třemošná', 'Třešť', 'Uherský Ostroh', - 'Uhlířské Janovice', 'Unhošť', 'Valašské Klobouky', 'Valtice', - 'Vamberk', 'Vejprty', 'Velešín', 'Velká Bystřice', 'Velká Bíteš', - 'Velké Bílovice', 'Velké Hamry', 'Velké Opatovice', 'Velké Pavlovice', - 'Velký Šenov', 'Veltrusy', 'Velvary', 'Verneřice', - 'Veselí nad Lužnicí', 'Vidnava', 'Vimperk', 'Vizovice', - 'Vlachovo Březí', 'Vodňany', 'Volary', 'Volyně', 'Votice', 'Vracov', - 'Vratimov', 'Vrbno pod Pradědem', 'Vroutek', 'Vysoké Veselí', - 'Vysoké nad Jizerou', 'Vyšší Brod', 'Vítkov', 'Výsluní', 'Všeruby', - 'Zbiroh', 'Zbýšov', 'Zdice', 'Zlaté Hory', 'Zliv', 'Zlín', - 'Zruč nad Sázavou', 'Zubří', 'Zákupy', 'Zásmuky', 'Újezd u Brna', - 'Úpice', 'Úsov', 'Ústí nad Labem', 'Úterý', 'Úvaly', 'Úštěk', - 'Černovice', 'Černošice', 'Černošín', 'Červená Řečice', - 'Červený Kostelec', 'Česká Kamenice', 'Česká Skalice', - 'České Budějovice', 'České Velenice', 'Český Brod', 'Český Dub', - 'Řevnice', 'Šenov', 'Šlapanice', 'Šluknov', 'Špindlerův Mlýn', - 'Štramberk', 'Štíty', 'Štětí', 'Švihov', 'Žacléř', 'Žamberk', 'Žandov', - 'Ždánice', 'Ždírec nad Doubravou', 'Žebrák', 'Železnice', - 'Železná Ruda', 'Železný Brod', 'Židlochovice', 'Žirovnice', 'Žlutice', - 'Žulová') + "Abertamy", + "Adamov", + "Andělská Hora", + "Bakov nad Jizerou", + "Bavorov", + "Bechyně", + "Benešov nad Ploučnicí", + "Benátky nad Jizerou", + "Bezdružice", + "Bečov nad Teplou", + "Blatná", + "Blovice", + "Blšany", + "Bochov", + "Bohušovice nad Ohří", + "Bojkovice", + "Bor", + "Borohrádek", + "Borovany", + "Boží Dar", + "Brandýs nad Orlicí", + "Brno", + "Broumov", + "Brtnice", + "Brumov-Bylnice", + "Brušperk", + "Budišov nad Budišovkou", + "Budyně nad Ohří", + "Bučovice", + "Buštěhrad", + "Bystré", + "Bystřice", + "Bystřice nad Pernštejnem", + "Bystřice pod Hostýnem", + "Bzenec", + "Bílovec", + "Bělá nad Radbuzou", + "Bělá pod Bezdězem", + "Březnice", + "Březová", + "Březová nad Svitavou", + "Břidličná", + "Chabařovice", + "Chlumec", + "Chlumec nad Cidlinou", + "Choceň", + "Chomutov", + "Chotěboř", + "Chrast", + "Chrastava", + "Chropyně", + "Chvaletice", + "Chyše", + "Chýnov", + "Chřibská", + "Cvikov", + "Dačice", + "Dašice", + "Desná", + "Deštná", + "Dobrovice", + "Dobruška", + "Dobřany", + "Dobřichovice", + "Dobříš", + "Doksy", + "Dolní Benešov", + "Dolní Bousov", + "Dolní Kounice", + "Dolní Poustevna", + "Dubá", + "Dubí", + "Dubňany", + "Duchcov", + "Děčín", + "Františkovy Lázně", + "Fryšták", + "Frýdek-Místek", + "Frýdlant", + "Frýdlant nad Ostravicí", + "Fulnek", + "Golčův Jeníkov", + "Habartov", + "Habry", + "Hanušovice", + "Harrachov", + "Hartmanice", + "Havířov", + "Hejnice", + "Heřmanův Městec", + "Hlinsko", + "Hluboká nad Vltavou", + "Hluk", + "Hodkovice nad Mohelkou", + "Holice", + "Holýšov", + "Hora Svaté Kateřiny", + "Horažďovice", + "Horní Benešov", + "Horní Blatná", + "Horní Bříza", + "Horní Cerekev", + "Horní Jelení", + "Horní Jiřetín", + "Horní Planá", + "Horní Slavkov", + "Horšovský Týn", + "Hostinné", + "Hostivice", + "Hostomice", + "Hostouň", + "Hořice", + "Hořovice", + "Hoštka", + "Hradec Králové", + "Hradec nad Moravicí", + "Hranice (okres Cheb)", + "Hrob", + "Hrochův Týnec", + "Hronov", + "Hrotovice", + "Hroznětín", + "Hrušovany nad Jevišovkou", + "Hrádek", + "Hrádek nad Nisou", + "Hulín", + "Husinec", + "Hustopeče", + "Ivanovice na Hané", + "Ivančice", + "Jablonec nad Jizerou", + "Jablonec nad Nisou", + "Jablonné nad Orlicí", + "Jablonné v Podještědí", + "Jablunkov", + "Janov", + "Janovice nad Úhlavou", + "Janské Lázně", + "Jaroměřice nad Rokytnou", + "Javorník", + "Jemnice", + "Jesenice (okres Rakovník)", + "Jevišovice", + "Jevíčko", + "Jihlava", + "Jilemnice", + "Jistebnice", + "Jiříkov", + "Jáchymov", + "Jílové", + "Jílové u Prahy", + "Kamenice nad Lipou", + "Kamenický Šenov", + "Kaplice", + "Kardašova Řečice", + "Karlovy Vary", + "Karolinka", + "Karviná", + "Kasejovice", + "Kaznějov", + "Kašperské Hory", + "Kdyně", + "Kelč", + "Kladno", + "Kladruby", + "Klecany", + "Klimkovice", + "Klobouky u Brna", + "Kojetín", + "Konice", + "Kopidlno", + "Koryčany", + "Kosmonosy", + "Kostelec na Hané", + "Kostelec nad Labem", + "Kostelec nad Orlicí", + "Kostelec nad Černými lesy", + "Kouřim", + "Košťany", + "Kožlany", + "Kralovice", + "Kraslice", + "Kravaře", + "Kryry", + "Králíky", + "Králův Dvůr", + "Krásno", + "Krásná Hora nad Vltavou", + "Krásná Lípa", + "Krásné Údolí", + "Kunovice", + "Kunštát", + "Kynšperk nad Ohří", + "Lanžhot", + "Ledeč nad Sázavou", + "Ledvice", + "Letohrad", + "Letovice", + "Liberec", + "Libochovice", + "Libušín", + "Libáň", + "Libčice nad Vltavou", + "Liběchov", + "Lipník nad Bečvou", + "Litovel", + "Lišov", + "Loket", + "Lom", + "Lomnice nad Lužnicí", + "Lomnice nad Popelkou", + "Loučná pod Klínovcem", + "Lovosice", + "Loštice", + "Luby", + "Luhačovice", + "Lučany nad Nisou", + "Luže", + "Lysá nad Labem", + "Lázně Bohdaneč", + "Lázně Bělohrad", + "Lázně Kynžvart", + "Manětín", + "Mašťov", + "Meziboří", + "Meziměstí", + "Mikulov", + "Mikulášovice", + "Miletín", + "Milevsko", + "Milovice", + "Mimoň", + "Miroslav", + "Mirotice", + "Mirovice", + "Mirošov", + "Mladá Boleslav", + "Mladá Vožice", + "Mnichovice", + "Mnichovo Hradiště", + "Mníšek pod Brdy", + "Modřice", + "Mohelnice", + "Moravské Budějovice", + "Moravský Beroun", + "Moravský Krumlov", + "Morkovice-Slížany", + "Most", + "Mýto", + "Městec Králové", + "Město Albrechtice", + "Město Touškov", + "Měčín", + "Mšeno", + "Nalžovské Hory", + "Napajedla", + "Nasavrky", + "Nechanice", + "Nejdek", + "Nepomuk", + "Netolice", + "Neveklov", + "Nová Bystřice", + "Nová Paka", + "Nová Role", + "Nová Včelnice", + "Nové Hrady", + "Nové Město nad Metují", + "Nové Město pod Smrkem", + "Nové Sedlo", + "Nové Strašecí", + "Nový Bydžov", + "Nový Knín", + "Náměšť nad Oslavou", + "Nýrsko", + "Nýřany", + "Němčice nad Hanou", + "Odolena Voda", + "Odry", + "Olešnice", + "Olomouc", + "Oloví", + "Opava", + "Opočno", + "Osek", + "Osečná", + "Oslavany", + "Ostrava", + "Pacov", + "Pardubice", + "Paskov", + "Pec pod Sněžkou", + "Petřvald", + "Pečky", + "Pilníkov", + "Planá", + "Planá nad Lužnicí", + "Plasy", + "Plesná", + "Plumlov", + "Plzeň", + "Plánice", + "Poběžovice", + "Podbořany", + "Podivín", + "Pohořelice", + "Police nad Metují", + "Polička", + "Polná", + "Postoloprty", + "Potštát", + "Počátky", + "Praha", + "Proseč", + "Prostějov", + "Protivín", + "Pyšely", + "Přebuz", + "Přelouč", + "Přerov", + "Přeštice", + "Přibyslav", + "Přimda", + "Příbor", + "Rabí", + "Radnice", + "Rajhrad", + "Ralsko", + "Raspenava", + "Rejštejn", + "Rokytnice nad Jizerou", + "Rokytnice v Orlických horách", + "Ronov nad Doubravou", + "Rosice", + "Rotava", + "Rousínov", + "Rovensko pod Troskami", + "Roztoky", + "Rožmberk nad Vltavou", + "Rožmitál pod Třemšínem", + "Rožďalovice", + "Rtyně v Podkrkonoší", + "Rudná", + "Rudolfov", + "Rychnov u Jablonce nad Nisou", + "Rychvald", + "Rájec-Jestřebí", + "Rýmařov", + "Sadská", + "Sedlec-Prčice", + "Sedlice", + "Sedlčany", + "Semily", + "Sezemice", + "Sezimovo Ústí", + "Seč", + "Skalná", + "Skuteč", + "Slatiňany", + "Slavičín", + "Slavkov u Brna", + "Slavonice", + "Slušovice", + "Smečno", + "Smiřice", + "Smržovka", + "Sobotka", + "Soběslav", + "Solnice", + "Spálené Poříčí", + "Staré Město (okres Uherské Hradiště)", + "Staré Město (okres Šumperk)", + "Starý Plzenec", + "Staňkov", + "Stochov", + "Stod", + "Strmilov", + "Stráž nad Nežárkou", + "Stráž pod Ralskem", + "Strážnice", + "Strážov", + "Studénka", + "Stárkov", + "Stříbro", + "Suchdol nad Lužnicí", + "Svoboda nad Úpou", + "Svratka", + "Světlá nad Sázavou", + "Sázava", + "Tanvald", + "Telč", + "Teplice", + "Teplice nad Metují", + "Teplá", + "Terezín", + "Tišnov", + "Toužim", + "Tovačov", + "Trhové Sviny", + "Trhový Štěpánov", + "Trmice", + "Týn nad Vltavou", + "Týnec nad Labem", + "Týnec nad Sázavou", + "Týniště nad Orlicí", + "Třebechovice pod Orebem", + "Třebenice", + "Třeboň", + "Třemošnice", + "Třemošná", + "Třešť", + "Uherský Ostroh", + "Uhlířské Janovice", + "Unhošť", + "Valašské Klobouky", + "Valtice", + "Vamberk", + "Vejprty", + "Velešín", + "Velká Bystřice", + "Velká Bíteš", + "Velké Bílovice", + "Velké Hamry", + "Velké Opatovice", + "Velké Pavlovice", + "Velký Šenov", + "Veltrusy", + "Velvary", + "Verneřice", + "Veselí nad Lužnicí", + "Vidnava", + "Vimperk", + "Vizovice", + "Vlachovo Březí", + "Vodňany", + "Volary", + "Volyně", + "Votice", + "Vracov", + "Vratimov", + "Vrbno pod Pradědem", + "Vroutek", + "Vysoké Veselí", + "Vysoké nad Jizerou", + "Vyšší Brod", + "Vítkov", + "Výsluní", + "Všeruby", + "Zbiroh", + "Zbýšov", + "Zdice", + "Zlaté Hory", + "Zliv", + "Zlín", + "Zruč nad Sázavou", + "Zubří", + "Zákupy", + "Zásmuky", + "Újezd u Brna", + "Úpice", + "Úsov", + "Ústí nad Labem", + "Úterý", + "Úvaly", + "Úštěk", + "Černovice", + "Černošice", + "Černošín", + "Červená Řečice", + "Červený Kostelec", + "Česká Kamenice", + "Česká Skalice", + "České Budějovice", + "České Velenice", + "Český Brod", + "Český Dub", + "Řevnice", + "Šenov", + "Šlapanice", + "Šluknov", + "Špindlerův Mlýn", + "Štramberk", + "Štíty", + "Štětí", + "Švihov", + "Žacléř", + "Žamberk", + "Žandov", + "Ždánice", + "Ždírec nad Doubravou", + "Žebrák", + "Železnice", + "Železná Ruda", + "Železný Brod", + "Židlochovice", + "Žirovnice", + "Žlutice", + "Žulová", + ) streets = ( - 'Horní Stromky', - 'Vizovická', - 'K Brusce', - 'Mírová', - 'Rašínská', - 'Boušova', - 'Pobřežní', - 'Dolnobřežanská', - 'Černá', - 'Šůrova', - 'Červenkova', - 'Nad Mostem', - 'Libuňská', - 'Chotovická', - 'Petříkova', - 'Pod Vodárenskou Věží', - 'Na Fišerce', - 'Ke Březině', - 'Za Lázeňkou', - 'Nad Šafránkou', - 'Na Laurové', - 'Nám. Republiky', - 'Vlašimská', - 'Nad Rohatci', - 'Tylišovská', - 'Nábřeží Kapitána Jaroše', - 'Lešovská', - 'U Podjezdu', - 'Průškova', - 'Estonská', - 'Máslova', - 'K Otočce', - 'Jižní', - 'Švecova', - 'Mongolská', - 'Kalská', - 'Nad Rokytkou', - 'Malešovská', - 'Plzeňská', - 'V Hájkách', - 'Úpská', - 'Ambrožova', - 'Pikovická', - 'Neužilova', - 'Na Staré Vinici', - 'Vstupní', - 'Nýdecká', - 'U Společenské Zahrady', - 'Ostrovského', - 'Bazovského', - 'Lešenská', - 'Na Štamberku', - 'Na Svahu', - 'Výhledské Nám.', - 'K Lipám', - 'Za Stadionem', - 'Opletalova', - 'Nábřeží Ludvíka Svobody', - 'Komenského Nám.', - 'Křimická', - 'Domkovská', - 'Pyšelská', - 'Štychova', - 'Horákova', - 'Nad Zavážkou', - 'K Prelátům', - 'Vašátkova', - 'Benákova', - 'Náměstí Prezidenta Masaryka', - 'Mílovská', - 'U Hostivařského Nádraží', - 'Jihovýchodní I', - 'Hostivařské Nám.', - 'Zbynická', - 'Heineho', - 'U Dobešky', - 'Doubická', - 'Ke Břvům', - 'Na Záhonech', - 'Kloboukova', - 'Kostnické Náměstí', - 'Pelclova', - 'Smotlachova', - 'Pod Spiritkou', - 'Hůlkova', - 'Matenská', - 'Do Zahrádek Ii', - 'Dobrošovská', - 'Lovčenská', - 'Jasná I', - 'Škrétova', - 'Moravanů', - 'Budapešťská', - 'Kojetická', - 'Náměstí I. P. Pavlova', - 'Bajkalská', - 'U Větrolamu', - 'Vlčická', - 'Jarešova', - 'Sámova', - 'Kotrčová', - 'Musílkova', - 'Ingrišova', - 'U Nových Domů I', - 'Dělostřelecká', - 'Ke Hrázi', - 'Mochovská', - 'Rýmařovská', - 'Dolní Chaloupky', - 'Za Arielem', - 'U Rajské Zahrady', - 'K Šedivce', - 'Březová', - 'Doubravínova', - 'Mládkova', - 'Tachovské Náměstí', - 'Lehárova', - 'Severní X', - 'V Tehovičkách', - 'Bermanova', - 'Grammova', - 'Spojovací', - 'Verdunská', - 'Závrchy', - 'Čerpadlová', - 'Vítězná', - 'Nad Plynovodem', - 'U Smíchovského Hřbitova', - 'Nedvědovo Náměstí', - 'Bachova', - 'U Dálnice', - 'Všejanská', - 'Maňákova', - 'Rokytnická', - 'Loděnická', - 'U Pumpy', - 'Michnova', - 'Záblatská', - 'Poslední', - 'Hněvkovského', - 'Za Křížem', - 'Nad Návsí', - 'Jablonecká', - 'Súdánská', - 'Mazancova', - 'Pod Čertovou Skalou', - 'Weilova', - 'Čajkovského', - 'Nad Zátiším', - 'Moldavská', - 'Juarézova', - 'Žižkova', - 'Pod Lochkovem', - 'Nad Vernerákem', - 'Žherská', - 'Prusíkova', - 'Výtoňská', - 'Na Srážku', - 'Šachovská', - 'Nučická', - 'Novákovo Náměstí', - 'Sitteho', - 'U Vápenice', - 'Na Kuthence', - 'Čelakovského Sady', - 'V Závitu', - 'Na Vartě', - 'Oválová', - 'Machovická', - 'Nad Olšinami', - 'Vajgarská', - 'Kulhavého', - 'Kodaňská', - 'Kralupská', - 'Lednická', - 'Pod Velkým Hájem', - 'Hvězdonická', - 'Na Kozinci', - 'Semická', - 'K Dálnici', - 'Trytova', - 'Vyhlídkova', - 'Pohnertova', - 'U Nového Dvora', - 'K Vodě', - 'Nad Libří', - 'K Matěji', - 'V Kotcích', - 'Kohoutových', - 'Na Cikánce', - 'Chládkova', - 'Slatiňanská', - 'Pod Kostelem', - 'Na Spojce', - 'Na Zahrádkách', - 'Nad Obcí', - 'K Přehradám', - 'Na Náspu', - 'V Nížinách', - 'Josefa Houdka', - 'Na Pěšině', - 'Hnězdenská', - 'Za Statky', - 'Kremnická', - 'Čestmírova', - 'U Rakovky', - 'Kodicilova', - 'K Lučinám', - 'Nouzov', - 'Krátký Lán', - 'Anny Drabíkové', - 'Kadaňská', - 'Stroupežnického', - 'Jírova', - 'U Dětského Hřiště', - 'Žofie Podlipské', - 'Nad Šancemi', - 'Lošáková', - 'Roblínská', - 'Mezi Sklady', - 'Na Pomezí', - 'U Mlýnského Rybníka', - 'Makedonská', - 'K Dýmači', - 'V Zátiší', - 'Pohořelec', - 'Jiřinková', - 'U Nové Dálnice', - 'Čuprova', - 'Vraňanská', - 'Severovýchodní Vi', - 'Petřínská', - 'K Hořavce', - 'Sádovská', - 'Pod Průsekem', - 'Konžská', - 'Dřítenská', - 'Pirinská', - 'U Hřiště', - 'Kukelská', - 'Moravanská', - 'Koclířova', - 'Žilinská', - 'Ve Žlíbku', - 'Veronské Nám.', - 'U Větrníku', - 'Svojsíkova', - 'Izraelská', - 'Staňkovka', - 'Na Viničních Horách', - 'Čankovská', - 'Na Špitálce', - 'Valdovská', - 'Rudoltická', - 'Ke Strašnické', - 'Paťanka', - 'Panuškova', - 'Pankrácké Nám.', - 'Budčická', - 'Šermířská', - 'Medlovská', - 'K Vidouli', - 'Horní Chaloupky', - 'V Americe', - 'Dejvická', - 'Klášterecká', - 'Šárovo Kolo', - 'Mladoboleslavská', - 'Palackého', - 'Lumiérů', - 'Ivančická', - 'Za Valem', - 'Na Břevnovské Pláni', - 'Tichonická', - 'Náměstí Hrdinů', - 'Mistřínská', - 'Křížkovského', - 'Tanvaldská', - 'V Padolině', - 'Před Skalkami Ii', - 'Na Křivce', - 'Nad Zámečkem', - 'Nad Krocínkou', - 'Podlešínská', - 'Nad Popelkou', - 'Oderská', - 'Jeruzalémská', - 'Smolenská', - 'Lebeděvova', - 'Libichovská', - 'Na Šafránce', - 'Průjezdná', - 'Záluské', - 'Branišovská', - 'Spinozova', - 'K Betáni', - 'Machuldova', - 'Podohradská', - 'Cerhenická', - 'V Brůdku', - 'U Vlachovky', - 'Pod Letištěm', - 'Vlastislavova', - 'Klecanská', - 'Žinkovská', - 'Maltézské Náměstí', - 'Boršov', - 'Mukařovského', - 'Josefa Šimůnka', - 'Suchdolská', - 'Opočínská', - 'Heydukova', - 'Vršovka', - 'Thurnova', - 'Mezilesní', - 'Za Pivovarem', - 'Uljanovská', - 'Panenská', - 'Sladovnická', - 'Plynární', - 'Kozácká', - 'Vlasákova', - 'Javornická', - 'Ševčíkova', - 'Podle Náhonu', - 'Doubravická', - 'Františka Černého', - 'Chotětovská', - 'K Háječku', - 'Pod Výšinkou', - 'U Šesté Baterie', - 'Drahanská', - 'Augustova', - 'U Balabenky', - 'Boční I', - 'Jirčanská', - 'Na Šubě', - 'Brixiho', - 'Klímova', - 'Kazín', - 'Fügnerovo Náměstí', - 'Na Příčné Mezi', - 'Plánická', - 'Africká', - 'Vratislavova', - 'Olympijská', - 'Na Bojišti', - 'K Nádrži', - 'Vokrojova', - 'Bořetínská', - 'Kováříkova', - 'Lánovská', - 'U Staré Pošty', - 'Na Poustkách', - 'V Poli', - 'Meziškolská', - 'Pajerova', - 'Habartovská', - 'Mlékárenská', - 'Dělnická', - 'U Štěpu', - 'Družná', - 'Klouzková', - 'Před Rybníkem', - 'Nad Košinkou', - 'Spolupráce', - 'V Humenci', - 'Adélčina', - 'Březanova', - 'Pod Kesnerkou', - 'Kosmonoská', - 'Do Dubin', - 'Nad Lávkou', - 'Mezi Lysinami', - 'Na Topolce', - 'Snopkova', - 'Severní Viii', - 'Okrová', - 'Třebihošťská', - 'Mádrova', - 'Na Lázeňce', - 'Slivenecká', - 'Nám. Barikád', - 'Nad Strouhou', - 'Jindřicha Plachty', - 'Pod Srázem', - 'U Waltrovky', - 'Bratří Čapků', - 'Onšovecká', - 'Machnova', - 'Kostková', - 'Rožmberská', - 'Zapských', - 'Přípřežní', - 'Výravská', - 'Podléšková', - 'Štěchovická', - 'Poleradská', - 'Jilmová', - 'Hostýnská') + "Horní Stromky", + "Vizovická", + "K Brusce", + "Mírová", + "Rašínská", + "Boušova", + "Pobřežní", + "Dolnobřežanská", + "Černá", + "Šůrova", + "Červenkova", + "Nad Mostem", + "Libuňská", + "Chotovická", + "Petříkova", + "Pod Vodárenskou Věží", + "Na Fišerce", + "Ke Březině", + "Za Lázeňkou", + "Nad Šafránkou", + "Na Laurové", + "Nám. Republiky", + "Vlašimská", + "Nad Rohatci", + "Tylišovská", + "Nábřeží Kapitána Jaroše", + "Lešovská", + "U Podjezdu", + "Průškova", + "Estonská", + "Máslova", + "K Otočce", + "Jižní", + "Švecova", + "Mongolská", + "Kalská", + "Nad Rokytkou", + "Malešovská", + "Plzeňská", + "V Hájkách", + "Úpská", + "Ambrožova", + "Pikovická", + "Neužilova", + "Na Staré Vinici", + "Vstupní", + "Nýdecká", + "U Společenské Zahrady", + "Ostrovského", + "Bazovského", + "Lešenská", + "Na Štamberku", + "Na Svahu", + "Výhledské Nám.", + "K Lipám", + "Za Stadionem", + "Opletalova", + "Nábřeží Ludvíka Svobody", + "Komenského Nám.", + "Křimická", + "Domkovská", + "Pyšelská", + "Štychova", + "Horákova", + "Nad Zavážkou", + "K Prelátům", + "Vašátkova", + "Benákova", + "Náměstí Prezidenta Masaryka", + "Mílovská", + "U Hostivařského Nádraží", + "Jihovýchodní I", + "Hostivařské Nám.", + "Zbynická", + "Heineho", + "U Dobešky", + "Doubická", + "Ke Břvům", + "Na Záhonech", + "Kloboukova", + "Kostnické Náměstí", + "Pelclova", + "Smotlachova", + "Pod Spiritkou", + "Hůlkova", + "Matenská", + "Do Zahrádek Ii", + "Dobrošovská", + "Lovčenská", + "Jasná I", + "Škrétova", + "Moravanů", + "Budapešťská", + "Kojetická", + "Náměstí I. P. Pavlova", + "Bajkalská", + "U Větrolamu", + "Vlčická", + "Jarešova", + "Sámova", + "Kotrčová", + "Musílkova", + "Ingrišova", + "U Nových Domů I", + "Dělostřelecká", + "Ke Hrázi", + "Mochovská", + "Rýmařovská", + "Dolní Chaloupky", + "Za Arielem", + "U Rajské Zahrady", + "K Šedivce", + "Březová", + "Doubravínova", + "Mládkova", + "Tachovské Náměstí", + "Lehárova", + "Severní X", + "V Tehovičkách", + "Bermanova", + "Grammova", + "Spojovací", + "Verdunská", + "Závrchy", + "Čerpadlová", + "Vítězná", + "Nad Plynovodem", + "U Smíchovského Hřbitova", + "Nedvědovo Náměstí", + "Bachova", + "U Dálnice", + "Všejanská", + "Maňákova", + "Rokytnická", + "Loděnická", + "U Pumpy", + "Michnova", + "Záblatská", + "Poslední", + "Hněvkovského", + "Za Křížem", + "Nad Návsí", + "Jablonecká", + "Súdánská", + "Mazancova", + "Pod Čertovou Skalou", + "Weilova", + "Čajkovského", + "Nad Zátiším", + "Moldavská", + "Juarézova", + "Žižkova", + "Pod Lochkovem", + "Nad Vernerákem", + "Žherská", + "Prusíkova", + "Výtoňská", + "Na Srážku", + "Šachovská", + "Nučická", + "Novákovo Náměstí", + "Sitteho", + "U Vápenice", + "Na Kuthence", + "Čelakovského Sady", + "V Závitu", + "Na Vartě", + "Oválová", + "Machovická", + "Nad Olšinami", + "Vajgarská", + "Kulhavého", + "Kodaňská", + "Kralupská", + "Lednická", + "Pod Velkým Hájem", + "Hvězdonická", + "Na Kozinci", + "Semická", + "K Dálnici", + "Trytova", + "Vyhlídkova", + "Pohnertova", + "U Nového Dvora", + "K Vodě", + "Nad Libří", + "K Matěji", + "V Kotcích", + "Kohoutových", + "Na Cikánce", + "Chládkova", + "Slatiňanská", + "Pod Kostelem", + "Na Spojce", + "Na Zahrádkách", + "Nad Obcí", + "K Přehradám", + "Na Náspu", + "V Nížinách", + "Josefa Houdka", + "Na Pěšině", + "Hnězdenská", + "Za Statky", + "Kremnická", + "Čestmírova", + "U Rakovky", + "Kodicilova", + "K Lučinám", + "Nouzov", + "Krátký Lán", + "Anny Drabíkové", + "Kadaňská", + "Stroupežnického", + "Jírova", + "U Dětského Hřiště", + "Žofie Podlipské", + "Nad Šancemi", + "Lošáková", + "Roblínská", + "Mezi Sklady", + "Na Pomezí", + "U Mlýnského Rybníka", + "Makedonská", + "K Dýmači", + "V Zátiší", + "Pohořelec", + "Jiřinková", + "U Nové Dálnice", + "Čuprova", + "Vraňanská", + "Severovýchodní Vi", + "Petřínská", + "K Hořavce", + "Sádovská", + "Pod Průsekem", + "Konžská", + "Dřítenská", + "Pirinská", + "U Hřiště", + "Kukelská", + "Moravanská", + "Koclířova", + "Žilinská", + "Ve Žlíbku", + "Veronské Nám.", + "U Větrníku", + "Svojsíkova", + "Izraelská", + "Staňkovka", + "Na Viničních Horách", + "Čankovská", + "Na Špitálce", + "Valdovská", + "Rudoltická", + "Ke Strašnické", + "Paťanka", + "Panuškova", + "Pankrácké Nám.", + "Budčická", + "Šermířská", + "Medlovská", + "K Vidouli", + "Horní Chaloupky", + "V Americe", + "Dejvická", + "Klášterecká", + "Šárovo Kolo", + "Mladoboleslavská", + "Palackého", + "Lumiérů", + "Ivančická", + "Za Valem", + "Na Břevnovské Pláni", + "Tichonická", + "Náměstí Hrdinů", + "Mistřínská", + "Křížkovského", + "Tanvaldská", + "V Padolině", + "Před Skalkami Ii", + "Na Křivce", + "Nad Zámečkem", + "Nad Krocínkou", + "Podlešínská", + "Nad Popelkou", + "Oderská", + "Jeruzalémská", + "Smolenská", + "Lebeděvova", + "Libichovská", + "Na Šafránce", + "Průjezdná", + "Záluské", + "Branišovská", + "Spinozova", + "K Betáni", + "Machuldova", + "Podohradská", + "Cerhenická", + "V Brůdku", + "U Vlachovky", + "Pod Letištěm", + "Vlastislavova", + "Klecanská", + "Žinkovská", + "Maltézské Náměstí", + "Boršov", + "Mukařovského", + "Josefa Šimůnka", + "Suchdolská", + "Opočínská", + "Heydukova", + "Vršovka", + "Thurnova", + "Mezilesní", + "Za Pivovarem", + "Uljanovská", + "Panenská", + "Sladovnická", + "Plynární", + "Kozácká", + "Vlasákova", + "Javornická", + "Ševčíkova", + "Podle Náhonu", + "Doubravická", + "Františka Černého", + "Chotětovská", + "K Háječku", + "Pod Výšinkou", + "U Šesté Baterie", + "Drahanská", + "Augustova", + "U Balabenky", + "Boční I", + "Jirčanská", + "Na Šubě", + "Brixiho", + "Klímova", + "Kazín", + "Fügnerovo Náměstí", + "Na Příčné Mezi", + "Plánická", + "Africká", + "Vratislavova", + "Olympijská", + "Na Bojišti", + "K Nádrži", + "Vokrojova", + "Bořetínská", + "Kováříkova", + "Lánovská", + "U Staré Pošty", + "Na Poustkách", + "V Poli", + "Meziškolská", + "Pajerova", + "Habartovská", + "Mlékárenská", + "Dělnická", + "U Štěpu", + "Družná", + "Klouzková", + "Před Rybníkem", + "Nad Košinkou", + "Spolupráce", + "V Humenci", + "Adélčina", + "Březanova", + "Pod Kesnerkou", + "Kosmonoská", + "Do Dubin", + "Nad Lávkou", + "Mezi Lysinami", + "Na Topolce", + "Snopkova", + "Severní Viii", + "Okrová", + "Třebihošťská", + "Mádrova", + "Na Lázeňce", + "Slivenecká", + "Nám. Barikád", + "Nad Strouhou", + "Jindřicha Plachty", + "Pod Srázem", + "U Waltrovky", + "Bratří Čapků", + "Onšovecká", + "Machnova", + "Kostková", + "Rožmberská", + "Zapských", + "Přípřežní", + "Výravská", + "Podléšková", + "Štěchovická", + "Poleradská", + "Jilmová", + "Hostýnská", + ) states = ( - 'Hlavní město Praha', - 'Středočeský kraj', - 'Jihočeský kraj', - 'Plzeňský kraj', - 'Karlovarský kraj', - 'Ústecký kraj', - 'Liberecký kraj', - 'Královéhradecký kraj', - 'Pardubický kraj', - 'Kraj Vysočina', - 'Jihomoravský kraj', - 'Olomoucký kraj', - 'Moravskoslezský kraj', - 'Zlínský kraj', + "Hlavní město Praha", + "Středočeský kraj", + "Jihočeský kraj", + "Plzeňský kraj", + "Karlovarský kraj", + "Ústecký kraj", + "Liberecký kraj", + "Královéhradecký kraj", + "Pardubický kraj", + "Kraj Vysočina", + "Jihomoravský kraj", + "Olomoucký kraj", + "Moravskoslezský kraj", + "Zlínský kraj", ) countries = ( - 'Afghánistán', - 'Albánie', - 'Alžírsko', - 'Andorra', - 'Angola', - 'Antigua a Barbuda', - 'Argentina', - 'Arménie', - 'Austrálie', - 'Bahamy', - 'Bahrajn', - 'Bangladéš', - 'Barbados', - 'Belgie', - 'Belize', - 'Benin', - 'Bhútán', - 'Bolívie', - 'Bosna a Hercegovina', - 'Botswana', - 'Brazílie', - 'Brunej', - 'Bulharsko', - 'Burkina Faso', - 'Burundi', - 'Bělorusko', - 'Chile', - 'Chorvatsko', - 'Cookovy ostrovy', - 'Demokratická republika Kongo', - 'Dominika', - 'Dominikánská republika', - 'Dánsko', - 'Džibutsko', - 'Egypt', - 'Ekvádor', - 'Eritrea', - 'Estonsko', - 'Etiopie', - 'Federativní státy Mikronésie', - 'Fidži', - 'Filipíny', - 'Finsko', - 'Francie', - 'Gabon', - 'Gambie', - 'Ghana', - 'Gruzie', - 'Guatemala', - 'Guinea', - 'Guinea-Bissau', - 'Guyana', - 'Haiti', - 'Honduras', - 'Indie', - 'Irsko', - 'Irák', - 'Island', - 'Itálie', - 'Izrael', - 'Jamajka', - 'Japonsko', - 'Jemen', - 'Jihoafrická republika', - 'Jižní Súdán', - 'Jordánsko', - 'Kambodža', - 'Kamerun', - 'Kanada', - 'Kapverdy', - 'Katar', - 'Kazachstán', - 'Keňa', - 'Kiribati', - 'Kolumbie', - 'Kostarika', - 'Kuba', - 'Kypr', - 'Kyrgyzstán', - 'Laos', - 'Lesotho', - 'Libanon', - 'Libye', - 'Lichtenštejnsko', - 'Litva', - 'Lotyšsko', - 'Lucembursko', - 'Madagaskar', - 'Makedonie', - 'Malajsie', - 'Malawi', - 'Maledivy', - 'Mali', - 'Malta', - 'Maroko', - 'Marshallovy ostrovy', - 'Mauricius', - 'Mauritánie', - 'Maďarsko', - 'Mexiko', - 'Moldavsko', - 'Monako', - 'Mongolsko', - 'Mosambik', - 'Myanmar', - 'Namibie', - 'Nauru', - 'Nepál', - 'Niger', - 'Nigérie', - 'Nikaragua', - 'Niue', - 'Nizozemsko', - 'Norsko', - 'Nový Zéland', - 'Německo', - 'Omán', - 'Palau', - 'Panama', - 'Papua-Nová Guinea', - 'Paraguay', - 'Peru', - 'Pobřeží slonoviny', - 'Polsko', - 'Portugalsko', - 'Pákistán', - 'Rakousko', - 'Republika Kongo', - 'Rovníková Guinea', - 'Rumunsko', - 'Rusko', - 'Rwanda', - 'Salvador', - 'Samoa', - 'San Marino', - 'Saúdská Arábie', - 'Senegal', - 'Severní Korea', - 'Seychely', - 'Sierra Leone', - 'Singapur', - 'Slovensko', - 'Slovinsko', - 'Somálsko', - 'Spojené arabské emiráty', - 'Spojené království', - 'Spojené státy americké', - 'Srbsko', - 'Středoafrická republika', - 'Surinam', - 'Svatá Lucie', - 'Svatý Kryštof a Nevis', - 'Svatý Tomáš a Princův ostrov', - 'Svatý Vincenc a Grenadiny', - 'Svazijsko', - 'Súdán', - 'Sýrie', - 'Tanzanie', - 'Thajsko', - 'Togo', - 'Tonga', - 'Trinidad a Tobago', - 'Tunisko', - 'Turecko', - 'Turkmenistán', - 'Tuvalu', - 'Tádžikistán', - 'Uganda', - 'Ukrajina', - 'Uruguay', - 'Uzbekistán', - 'Vanuatu', - 'Vatikán', - 'Venezuela', - 'Vietnam', - 'Východní Timor', - 'Zambie', - 'Zimbabwe', - 'Ázerbájdžán', - 'Írán', - 'Čad', - 'Černá Hora', - 'Česko', - 'Čína', - 'Řecko', - 'Šalamounovy ostrovy', - 'Španělsko', - 'Srí Lanka', - 'Švédsko', - 'Švýcarsko') + "Afghánistán", + "Albánie", + "Alžírsko", + "Andorra", + "Angola", + "Antigua a Barbuda", + "Argentina", + "Arménie", + "Austrálie", + "Bahamy", + "Bahrajn", + "Bangladéš", + "Barbados", + "Belgie", + "Belize", + "Benin", + "Bhútán", + "Bolívie", + "Bosna a Hercegovina", + "Botswana", + "Brazílie", + "Brunej", + "Bulharsko", + "Burkina Faso", + "Burundi", + "Bělorusko", + "Chile", + "Chorvatsko", + "Cookovy ostrovy", + "Demokratická republika Kongo", + "Dominika", + "Dominikánská republika", + "Dánsko", + "Džibutsko", + "Egypt", + "Ekvádor", + "Eritrea", + "Estonsko", + "Etiopie", + "Federativní státy Mikronésie", + "Fidži", + "Filipíny", + "Finsko", + "Francie", + "Gabon", + "Gambie", + "Ghana", + "Gruzie", + "Guatemala", + "Guinea", + "Guinea-Bissau", + "Guyana", + "Haiti", + "Honduras", + "Indie", + "Irsko", + "Irák", + "Island", + "Itálie", + "Izrael", + "Jamajka", + "Japonsko", + "Jemen", + "Jihoafrická republika", + "Jižní Súdán", + "Jordánsko", + "Kambodža", + "Kamerun", + "Kanada", + "Kapverdy", + "Katar", + "Kazachstán", + "Keňa", + "Kiribati", + "Kolumbie", + "Kostarika", + "Kuba", + "Kypr", + "Kyrgyzstán", + "Laos", + "Lesotho", + "Libanon", + "Libye", + "Lichtenštejnsko", + "Litva", + "Lotyšsko", + "Lucembursko", + "Madagaskar", + "Makedonie", + "Malajsie", + "Malawi", + "Maledivy", + "Mali", + "Malta", + "Maroko", + "Marshallovy ostrovy", + "Mauricius", + "Mauritánie", + "Maďarsko", + "Mexiko", + "Moldavsko", + "Monako", + "Mongolsko", + "Mosambik", + "Myanmar", + "Namibie", + "Nauru", + "Nepál", + "Niger", + "Nigérie", + "Nikaragua", + "Niue", + "Nizozemsko", + "Norsko", + "Nový Zéland", + "Německo", + "Omán", + "Palau", + "Panama", + "Papua-Nová Guinea", + "Paraguay", + "Peru", + "Pobřeží slonoviny", + "Polsko", + "Portugalsko", + "Pákistán", + "Rakousko", + "Republika Kongo", + "Rovníková Guinea", + "Rumunsko", + "Rusko", + "Rwanda", + "Salvador", + "Samoa", + "San Marino", + "Saúdská Arábie", + "Senegal", + "Severní Korea", + "Seychely", + "Sierra Leone", + "Singapur", + "Slovensko", + "Slovinsko", + "Somálsko", + "Spojené arabské emiráty", + "Spojené království", + "Spojené státy americké", + "Srbsko", + "Středoafrická republika", + "Surinam", + "Svatá Lucie", + "Svatý Kryštof a Nevis", + "Svatý Tomáš a Princův ostrov", + "Svatý Vincenc a Grenadiny", + "Svazijsko", + "Súdán", + "Sýrie", + "Tanzanie", + "Thajsko", + "Togo", + "Tonga", + "Trinidad a Tobago", + "Tunisko", + "Turecko", + "Turkmenistán", + "Tuvalu", + "Tádžikistán", + "Uganda", + "Ukrajina", + "Uruguay", + "Uzbekistán", + "Vanuatu", + "Vatikán", + "Venezuela", + "Vietnam", + "Východní Timor", + "Zambie", + "Zimbabwe", + "Ázerbájdžán", + "Írán", + "Čad", + "Černá Hora", + "Česko", + "Čína", + "Řecko", + "Šalamounovy ostrovy", + "Španělsko", + "Srí Lanka", + "Švédsko", + "Švýcarsko", + ) - def street_suffix_short(self): + def street_suffix_short(self) -> str: return self.random_element(self.street_suffixes_short) - def street_suffix_long(self): + def street_suffix_long(self) -> str: return self.random_element(self.street_suffixes_long) - def city_name(self): + def city_name(self) -> str: return self.random_element(self.cities) - def street_name(self): + def street_name(self) -> str: return self.random_element(self.streets) - def state(self): + def administrative_unit(self) -> str: return self.random_element(self.states) - def postcode(self): - return self.bothify(self.random_element(self.postcode_formats)) + state = administrative_unit - def city_with_postcode(self): + def city_with_postcode(self) -> str: return self.postcode() + " " + self.random_element(self.cities) diff --git a/faker/providers/address/da_DK/__init__.py b/faker/providers/address/da_DK/__init__.py new file mode 100644 index 0000000000..a63a907785 --- /dev/null +++ b/faker/providers/address/da_DK/__init__.py @@ -0,0 +1,363 @@ +from .. import Provider as AddressProvider + + +class Provider(AddressProvider): + + # Building numbers dont go higher than a 1000 + building_number_formats = ("%##", "%#", "%") + + street_name_formats = ("{{street_prefix}} {{street_suffix}}",) + + street_address_formats = ("{{street_name}} {{building_number}}",) + + street_prefixes = ( + "Gade", + "Allé", + "Parkere", + "Baggade", + "Gyde", + "Motorvej", + ) + + street_suffixes = ( + "Åbenrå", + "Adelgade", + "Lavendelstræde", + "Nygade", + "Pilestræde", + "Rigensgade", + "Silkegade", + "Toldbodgade", + "Blekingegade", + "Amalievej", + "Bülowsvej", + "Godthåbsvej", + "Howitzvej", + "Kingosgade", + "Martinsvej", + "Rolighedsvej", + "Schønbergsgade", + "Åboulevard", + "Ewaldsgade", + "Heinesgade", + "Kapelvej", + ) + + address_formats = ("{{street_address}}\n{{postcode}} {{city}}",) + + # Postcode should be formatted as described in http://www.nr.dk/danmark.html + postcode_formats = ("%###",) + + city_formats = ("{{city_name}}",) + + cities = ( + "Copenhagen", + "Aarhus", + "Odense", + "Aalborg", + "Esbjerg", + "Randers", + "Kolding", + "Horsens", + "Vejle", + "Roskilde", + "Herning", + "Hørsholm", + "Elsinore", + "Silkeborg", + "Næstved", + "Fredericia", + "Viborg", + "Køge", + "Holstebro", + "Taastrup", + "Slagelse", + "Hillerød", + "Holbæk", + "Sønderborg", + "Svendborg", + "Hjørring", + "Frederikshavn", + "Nørresundby", + "Ringsted", + "Haderslev", + "Stenløse", + "Skive", + "Birkerød", + "Farum", + "Smørumnedre", + "Skanderborg", + "Nyborg", + "Nykøbing F", + "Lillerød", + "Kalundborg", + "Frederikssund", + "Aabenraa", + "Solrød Strand", + "Ikast", + "Middelfart", + "Grenaa", + "Korsør", + "Varde", + "Rønne", + "Thisted", + ) + + countries = ( + "Afghanistan", + "Albanien", + "Algeriet", + "Amerikanska Samoa", + "Andorra", + "Angola", + "Anguilla", + "Antarktis", + "Antigua och Barbuda", + "Argentina", + "Armenien", + "Aruba", + "Ascension", + "Australien", + "Azerbajdzjan", + "Bahamas", + "Bahrain", + "Bangladesh", + "Barbados", + "Belarus", + "Belgien", + "Belize", + "Benin", + "Bermuda", + "Bhutan", + "Bolivia", + "Bosnien och Hercegovina", + "Botswana", + "Brasilien", + "Brittiska Jungfruöarna", + "Brunei", + "Bulgarien", + "Burkina Faso", + "Burma", + "Burundi", + "Caymanöarna", + "Centralafrikanska republiken", + "Chile", + "Colombia", + "Cooköarna", + "Costa Rica", + "Cypern", + "Danmark", + "Diego Garcia", + "Djibouti", + "Dominica", + "Dominikanska republiken", + "Ecuador", + "Egypten", + "Ekvatorialguinea", + "Elfenbenskusten", + "El Salvador", + "Eritrea", + "Estland", + "Etiopien", + "England", + "Falklandsöarna", + "Fiji", + "Filippinerna", + "Finland", + "Frankrike", + "Franska Guyana", + "Franska Polynesien", + "Färöarna", + "Förenade Arabemiraten", + "Gabon", + "Gambia", + "Georgien", + "Ghana", + "Gibraltar", + "Grekland", + "Grenada", + "Grönland", + "Guadeloupe", + "Guatemala", + "Guinea", + "Guinea-Bissau", + "Guyana", + "Haiti", + "Honduras", + "Hongkong", + "Indien", + "Indonesien", + "Irak", + "Iran", + "Irland", + "Island", + "Israel", + "Italien", + "Jamaica", + "Japan", + "Jemen", + "Jordanien", + "Kambodja", + "Kamerun", + "Kanada", + "Kap Verde", + "Kazakstan", + "Kenya", + "Kina", + "Kirgizistan", + "Kiribati", + "Komorerna", + "Kongo-Brazzaville", + "Kongo-Kinshasa", + "Kosovo", + "Kroatien", + "Kuba", + "Kuwait", + "Laos", + "Lesotho", + "Lettland", + "Libanon", + "Liberia", + "Libyen", + "Liechtenstein", + "Litauen", + "Luxemburg", + "Macao", + "Madagaskar", + "Makedonien", + "Malawi", + "Malaysia", + "Maldiverna", + "Mali", + "Malta", + "Marianerna", + "Marocko", + "Marshallöarna", + "Martinique", + "Mauretanien", + "Mauritius", + "Mayotte", + "Mexiko", + "Midwayöarna", + "Mikronesiens federerade stater", + "Moçambique", + "Moldavien", + "Monaco", + "Mongoliet", + "Montenegro", + "Montserrat", + "Namibia", + "Nauru", + "Nederländerna", + "Nederländska Antillerna", + "Nepal", + "Nicaragua", + "Niger", + "Nigeria", + "Niue", + "Nordkorea", + "Nordmarianerna", + "Norfolkön", + "Norge", + "Nya Kaledonien", + "Nya Zeeland", + "Oman", + "Pakistan", + "Palau", + "Palestina", + "Panama", + "Papua Nya Guinea", + "Paraguay", + "Peru", + "Pitcairnöarna", + "Polen", + "Portugal", + "Qatar", + "Réunion", + "Rumänien", + "Rwanda", + "Ryssland", + "Saint Kitts och Nevis", + "Saint Lucia", + "Saint-Pierre och Miquelon", + "Saint Vincent och Grenadinerna", + "Salomonöarna", + "Samoa", + "Sankta Helena", + "San Marino", + "São Tomé och Príncipe", + "Saudiarabien", + "Schweiz", + "Senegal", + "Serbien", + "Seychellerna", + "SierraLeone", + "Singapore", + "Sint Maarten", + "Slovakien", + "Slovenien", + "Somalia", + "Spanien", + "Sri Lanka", + "Storbritannien", + "Sudan", + "Surinam", + "Sverige", + "Swaziland", + "Sydafrika", + "Sydkorea", + "Sydsudan", + "Syrien", + "Tadzjikistan", + "Taiwan", + "Tanzania", + "Tchad", + "Thailand", + "Tjeckien", + "Togo", + "Tokelauöarna", + "Tonga", + "Trinidad och Tobago", + "Tunisien", + "Turkiet", + "Turkmenistan", + "Turks-och Caicosöarna", + "Tuvalu", + "Tyskland", + "Uganda", + "Ukraina", + "Ungern", + "Uruguay", + "USA", + "Uzbekistan", + "Vanuatu", + "Vatikanstaten", + "Venezuela", + "Vietnam", + "Wake", + "Wallis-och Futunaöarna", + "Zambia", + "Zimbabwe", + "Österrike", + "Östtimor", + ) + + # Known as regions in Denmark + states = ( + "Hovedstaden", + "Midtjylland", + "Nordjylland", + "Sjælland", + "Syddanmark", + ) + + def street_prefix(self) -> str: + return self.random_element(self.street_prefixes) + + def city_name(self) -> str: + return self.random_element(self.cities) + + def administrative_unit(self) -> str: + return self.random_element(self.states) + + state = administrative_unit diff --git a/faker/providers/address/de/__init__.py b/faker/providers/address/de/__init__.py index 2c80abf452..b8d9734e4b 100644 --- a/faker/providers/address/de/__init__.py +++ b/faker/providers/address/de/__init__.py @@ -3,61 +3,251 @@ class Provider(AddressProvider): countries = ( - 'Afghanistan', 'Alandinseln', 'Albanien', 'Algerien', - 'Amerikanisch-Ozeanien', 'Amerikanisch-Samoa', - 'Amerikanische Jungferninseln', 'Andorra', 'Angola', 'Anguilla', - 'Antarktis', 'Antigua und Barbuda', 'Argentinien', 'Armenien', 'Aruba', - 'Aserbaidschan', 'Australien', 'Bahamas', 'Bahrain', 'Bangladesch', - 'Barbados', 'Belarus', 'Belgien', 'Belize', 'Benin', 'Bermuda', - 'Bhutan', 'Bolivien', 'Bosnien und Herzegowina', 'Botsuana', - 'Bouvetinsel', 'Brasilien', 'Britische Jungferninseln', - 'Britisches Territorium im Indischen Ozean', 'Brunei Darussalam', - 'Bulgarien', 'Burkina Faso', 'Burundi', 'Chile', 'China', 'Cookinseln', - 'Costa Rica', 'Côte d’Ivoire', 'Demokratische Republik Kongo', - 'Demokratische Volksrepublik Korea', 'Deutschland', 'Dominica', - 'Dominikanische Republik', 'Dschibuti', 'Dänemark', 'Ecuador', - 'El Salvador', 'Eritrea', 'Estland', 'Falklandinseln', 'Fidschi', - 'Finnland', 'Frankreich', 'Französisch-Guayana', - 'Französisch-Polynesien', 'Färöer', 'Gabun', 'Gambia', 'Georgien', - 'Ghana', 'Gibraltar', 'Grenada', 'Griechenland', 'Grönland', - 'Guadeloupe', 'Guam', 'Guatemala', 'Guernsey', 'Guinea', - 'Guinea-Bissau', 'Guyana', 'Haiti', 'Heard- und McDonald-Inseln', - 'Honduras', 'Indien', 'Indonesien', 'Irak', 'Iran', 'Irland', 'Island', - 'Isle of Man', 'Israel', 'Italien', 'Jamaika', 'Japan', 'Jemen', - 'Jersey', 'Jordanien', 'Kaimaninseln', 'Kambodscha', 'Kamerun', - 'Kanada', 'Kap Verde', 'Kasachstan', 'Katar', 'Kenia', 'Kirgisistan', - 'Kiribati', 'Kokosinseln', 'Kolumbien', 'Komoren', 'Kongo', 'Kroatien', - 'Kuba', 'Kuwait', 'Laos', 'Lesotho', 'Lettland', 'Libanon', 'Liberia', - 'Libyen', 'Liechtenstein', 'Litauen', 'Luxemburg', 'Madagaskar', - 'Malawi', 'Malaysia', 'Malediven', 'Mali', 'Malta', 'Marokko', - 'Marshallinseln', 'Martinique', 'Mauretanien', 'Mauritius', 'Mayotte', - 'Mazedonien', 'Mexiko', 'Mikronesien', 'Monaco', 'Mongolei', - 'Montenegro', 'Montserrat', 'Mosambik', 'Myanmar', 'Namibia', 'Nauru', - 'Nepal', 'Neukaledonien', 'Neuseeland', 'Nicaragua', 'Niederlande', - 'Niederländische Antillen', 'Niger', 'Nigeria', 'Niue', 'Norfolkinsel', - 'Norwegen', 'Nördliche Marianen', 'Oman', 'Osttimor', 'Pakistan', - 'Palau', 'Palästinensische Gebiete', 'Panama', 'Papua-Neuguinea', - 'Paraguay', 'Peru', 'Philippinen', 'Pitcairn', 'Polen', 'Portugal', - 'Puerto Rico', 'Republik Korea', 'Republik Moldau', 'Ruanda', - 'Rumänien', 'Russische Föderation', 'Réunion', 'Salomonen', 'Sambia', - 'Samoa', 'San Marino', 'Saudi-Arabien', 'Schweden', 'Schweiz', - 'Senegal', 'Serbien', 'Serbien und Montenegro', 'Seychellen', - 'Sierra Leone', 'Simbabwe', 'Singapur', 'Slowakei', 'Slowenien', - 'Somalia', 'Sonderverwaltungszone Hongkong', - 'Sonderverwaltungszone Macao', 'Spanien', 'Sri Lanka', - 'St. Barthélemy', 'St. Helena', 'St. Kitts und Nevis', 'St. Lucia', - 'St. Martin', 'St. Pierre und Miquelon', - 'St. Vincent und die Grenadinen', 'Sudan', 'Suriname', - 'Svalbard und Jan Mayen', 'Swasiland', 'Syrien', - 'São Tomé und Príncipe', 'Südafrika', - 'Südgeorgien und die Südlichen Sandwichinseln', 'Tadschikistan', - 'Taiwan', 'Tansania', 'Thailand', 'Togo', 'Tokelau', 'Tonga', - 'Trinidad und Tobago', 'Tschad', 'Tschechische Republik', 'Tunesien', - 'Turkmenistan', 'Turks- und Caicosinseln', 'Tuvalu', 'Türkei', - 'Uganda', 'Ukraine', 'Ungarn', 'Uruguay', 'Usbekistan', 'Vanuatu', - 'Vatikanstadt', 'Venezuela', 'Vereinigte Arabische Emirate', - 'Vereinigte Staaten', 'Vereinigtes Königreich', 'Vietnam', - 'Wallis und Futuna', 'Weihnachtsinsel', 'Westsahara', - 'Zentralafrikanische Republik', 'Zypern', 'Ägypten', - 'Äquatorialguinea', 'Äthiopien', 'Äußeres Ozeanien', 'Österreich', + "Afghanistan", + "Alandinseln", + "Albanien", + "Algerien", + "Amerikanisch-Ozeanien", + "Amerikanisch-Samoa", + "Amerikanische Jungferninseln", + "Andorra", + "Angola", + "Anguilla", + "Antarktis", + "Antigua und Barbuda", + "Argentinien", + "Armenien", + "Aruba", + "Aserbaidschan", + "Australien", + "Bahamas", + "Bahrain", + "Bangladesch", + "Barbados", + "Belarus", + "Belgien", + "Belize", + "Benin", + "Bermuda", + "Bhutan", + "Bolivien", + "Bosnien und Herzegowina", + "Botsuana", + "Bouvetinsel", + "Brasilien", + "Britische Jungferninseln", + "Britisches Territorium im Indischen Ozean", + "Brunei Darussalam", + "Bulgarien", + "Burkina Faso", + "Burundi", + "Chile", + "China", + "Cookinseln", + "Costa Rica", + "Côte d’Ivoire", + "Demokratische Republik Kongo", + "Demokratische Volksrepublik Korea", + "Deutschland", + "Dominica", + "Dominikanische Republik", + "Dschibuti", + "Dänemark", + "Ecuador", + "El Salvador", + "Eritrea", + "Estland", + "Falklandinseln", + "Fidschi", + "Finnland", + "Frankreich", + "Französisch-Guayana", + "Französisch-Polynesien", + "Färöer", + "Gabun", + "Gambia", + "Georgien", + "Ghana", + "Gibraltar", + "Grenada", + "Griechenland", + "Grönland", + "Guadeloupe", + "Guam", + "Guatemala", + "Guernsey", + "Guinea", + "Guinea-Bissau", + "Guyana", + "Haiti", + "Heard- und McDonald-Inseln", + "Honduras", + "Indien", + "Indonesien", + "Irak", + "Iran", + "Irland", + "Island", + "Isle of Man", + "Israel", + "Italien", + "Jamaika", + "Japan", + "Jemen", + "Jersey", + "Jordanien", + "Kaimaninseln", + "Kambodscha", + "Kamerun", + "Kanada", + "Kap Verde", + "Kasachstan", + "Katar", + "Kenia", + "Kirgisistan", + "Kiribati", + "Kokosinseln", + "Kolumbien", + "Komoren", + "Kongo", + "Kroatien", + "Kuba", + "Kuwait", + "Laos", + "Lesotho", + "Lettland", + "Libanon", + "Liberia", + "Libyen", + "Liechtenstein", + "Litauen", + "Luxemburg", + "Madagaskar", + "Malawi", + "Malaysia", + "Malediven", + "Mali", + "Malta", + "Marokko", + "Marshallinseln", + "Martinique", + "Mauretanien", + "Mauritius", + "Mayotte", + "Mazedonien", + "Mexiko", + "Mikronesien", + "Monaco", + "Mongolei", + "Montenegro", + "Montserrat", + "Mosambik", + "Myanmar", + "Namibia", + "Nauru", + "Nepal", + "Neukaledonien", + "Neuseeland", + "Nicaragua", + "Niederlande", + "Niederländische Antillen", + "Niger", + "Nigeria", + "Niue", + "Norfolkinsel", + "Norwegen", + "Nördliche Marianen", + "Oman", + "Osttimor", + "Pakistan", + "Palau", + "Palästinensische Gebiete", + "Panama", + "Papua-Neuguinea", + "Paraguay", + "Peru", + "Philippinen", + "Pitcairn", + "Polen", + "Portugal", + "Puerto Rico", + "Republik Korea", + "Republik Moldau", + "Ruanda", + "Rumänien", + "Russische Föderation", + "Réunion", + "Salomonen", + "Sambia", + "Samoa", + "San Marino", + "Saudi-Arabien", + "Schweden", + "Schweiz", + "Senegal", + "Serbien", + "Serbien und Montenegro", + "Seychellen", + "Sierra Leone", + "Simbabwe", + "Singapur", + "Slowakei", + "Slowenien", + "Somalia", + "Sonderverwaltungszone Hongkong", + "Sonderverwaltungszone Macao", + "Spanien", + "Sri Lanka", + "St. Barthélemy", + "St. Helena", + "St. Kitts und Nevis", + "St. Lucia", + "St. Martin", + "St. Pierre und Miquelon", + "St. Vincent und die Grenadinen", + "Sudan", + "Suriname", + "Svalbard und Jan Mayen", + "Swasiland", + "Syrien", + "São Tomé und Príncipe", + "Südafrika", + "Südgeorgien und die Südlichen Sandwichinseln", + "Tadschikistan", + "Taiwan", + "Tansania", + "Thailand", + "Togo", + "Tokelau", + "Tonga", + "Trinidad und Tobago", + "Tschad", + "Tschechische Republik", + "Tunesien", + "Turkmenistan", + "Turks- und Caicosinseln", + "Tuvalu", + "Türkei", + "Uganda", + "Ukraine", + "Ungarn", + "Uruguay", + "Usbekistan", + "Vanuatu", + "Vatikanstadt", + "Venezuela", + "Vereinigte Arabische Emirate", + "Vereinigte Staaten", + "Vereinigtes Königreich", + "Vietnam", + "Wallis und Futuna", + "Weihnachtsinsel", + "Westsahara", + "Zentralafrikanische Republik", + "Zypern", + "Ägypten", + "Äquatorialguinea", + "Äthiopien", + "Äußeres Ozeanien", + "Österreich", ) diff --git a/faker/providers/address/de_AT/__init__.py b/faker/providers/address/de_AT/__init__.py index 8f1dcb9d94..c2ba6af88a 100644 --- a/faker/providers/address/de_AT/__init__.py +++ b/faker/providers/address/de_AT/__init__.py @@ -3,85 +3,267 @@ class Provider(AddressProvider): - city_formats = ('{{city_name}}', ) + city_formats = ("{{city_name}}",) - city_with_postcode_formats = ('{{postcode}} {{city}}', ) + city_with_postcode_formats = ("{{postcode}} {{city}}",) street_name_formats = ( - '{{first_name}}-{{last_name}}-{{street_suffix_long}}', - '{{last_name}}{{street_suffix_short}}', + "{{first_name}}-{{last_name}}-{{street_suffix_long}}", + "{{last_name}}{{street_suffix_short}}", ) - street_address_formats = ('{{street_name}} {{building_number}}', ) - address_formats = ('{{street_address}}\n{{postcode}} {{city}}', ) + street_address_formats = ("{{street_name}} {{building_number}}",) + address_formats = ("{{street_address}}\n{{postcode}} {{city}}",) - building_number_formats = ('###', '##', '#', '#/#') + building_number_formats = ("###", "##", "#", "#/#") street_suffixes_long = ( - 'Gasse', 'Platz', 'Ring', 'Straße', 'Weg', + "Gasse", + "Platz", + "Ring", + "Straße", + "Weg", ) street_suffixes_short = ( - 'gasse', 'platz', 'ring', 'straße', 'str.', 'weg', + "gasse", + "platz", + "ring", + "straße", + "str.", + "weg", ) # https://en.wikipedia.org/wiki/List_of_postal_codes_in_Austria postcode_formats = ( - '1###', '2###', '3###', '4###', '5###', '6###', '7###', '8###', '9###', + "1###", + "2###", + "3###", + "4###", + "5###", + "6###", + "7###", + "8###", + "9###", ) # https://en.wikipedia.org/wiki/List_of_cities_and_towns_in_Austria cities = ( - 'Allentsteig', 'Altheim', 'Althofen', 'Amstetten', 'Ansfelden', 'Attnang-Puchheim', - 'Bad Aussee', 'Bad Hall', 'Bad Ischl', 'Bad Leonfelden', 'Bad Radkersburg', - 'Bad Sankt Leonhard im Lavanttal', 'Bad Vöslau', 'Baden', 'Bärnbach', 'Berndorf', - 'Bischofshofen', 'Bleiburg', 'Bludenz', 'Braunau am Inn', 'Bregenz', - 'Bruck an der Leitha', 'Bruck an der Mur', 'Deutsch-Wagram', 'Deutschlandsberg', - 'Dornbirn', 'Drosendorf-Zissersdorf 1', 'Dürnstein', 'Ebenfurth', 'Ebreichsdorf', - 'Eferding', 'Eggenburg', 'Eisenerz', 'Eisenstadt', 'Enns', 'Fehring', 'Feldbach', - 'Feldkirch', 'Feldkirchen', 'Ferlach', 'Fischamend', 'Frauenkirchen', 'Freistadt', - 'Friedberg', 'Friesach', 'Frohnleiten', 'Fürstenfeld', 'Gallneukirchen', 'Gänserndorf', - 'Geras', 'Gerasdorf bei Wien', 'Gföhl', 'Gleisdorf', 'Gloggnitz', 'Gmünd', - 'Gmünd in Kärnten', 'Gmunden', 'Graz', 'Grein', 'Grieskirchen', 'Groß-Enzersdorf', - 'Groß-Gerungs', 'Groß-Siegharts', 'Güssing', 'Haag', 'Hainburg an der Donau', 'Hainfeld', - 'Hall in Tirol', 'Hallein', 'Hardegg', 'Hartberg', 'Heidenreichstein', 'Herzogenburg', - 'Imst', 'Innsbruck', 'Jennersdorf', 'Judenburg', 'Kapfenberg', 'Kindberg', 'Klagenfurt', - 'Klosterneuburg', 'Knittelfeld', 'Köflach', 'Korneuburg', 'Krems an der Donau', 'Kufstein', - 'Laa an der Thaya', 'Laakirchen', 'Landeck', 'Langenlois', 'Leibnitz', 'Leoben', 'Lienz', - 'Liezen', 'Lilienfeld', 'Linz', 'Litschau', 'Maissau', 'Mank', 'Mannersdorf am Leithagebirge', - 'Marchegg', 'Marchtrenk', 'Mariazell', 'Mattersburg', 'Mattighofen', 'Mautern an der Donau', - 'Melk', 'Mistelbach an der Zaya', 'Mödling', 'Murau', 'Mureck', 'Mürzzuschlag', 'Neulengbach', - 'Neumarkt am Wallersee', 'Neunkirchen', 'Neusiedl am See', 'Oberndorf bei Salzburg', - 'Oberpullendorf', 'Oberwart', 'Oberwälz', 'Perg', 'Peuerbach', 'Pinkafeld', 'Pöchlarn', - 'Poysdorf', 'Pregarten', 'Pulkau', 'Purbach am Neusiedler See', 'Purkersdorf', - 'Raabs an der Thaya', 'Radenthein', 'Radstadt', 'Rattenberg', 'Retz', 'Ried im Innkreis', - 'Rohrbach in Oberösterreich', 'Rottenmann', 'Rust', 'Saalfelden am Steinernen Meer', - 'Salzburg', 'Sankt Andrä im Lavanttal', 'Sankt Johann im Pongau', 'Sankt Pölten', - 'Sankt Valentin', 'Sankt Veit an der Glan', 'Schärding', 'Scheibbs', 'Schladming', - 'Schrattenthal', 'Schrems', 'Schwanenstadt', 'Schwaz', 'Schwechat', 'Spittal an der Drau', - 'Stadtschlaining', 'Steyr', 'Steyregg', 'Stockerau', 'Straßburg', 'Ternitz', 'Traiskirchen', - 'Traismauer', 'Traun', 'Trieben', 'Trofaiach', 'Tulln an der Donau', 'Villach', 'Vils', - 'Vöcklabruck', 'Voitsberg', 'Völkermarkt', 'Waidhofen an der Thaya', 'Waidhofen an der Ybbs', - 'Weitra', 'Weiz', 'Wels', 'Wien', 'Wiener Neustadt', 'Wieselburg', 'Wilhelmsburg', 'Wolfsberg', - 'Wolkersdorf', 'Wörgl', 'Ybbs an der Donau', 'Zell am See', 'Zeltweg', 'Zistersdorf', 'Zwettl', + "Allentsteig", + "Altheim", + "Althofen", + "Amstetten", + "Ansfelden", + "Attnang-Puchheim", + "Bad Aussee", + "Bad Hall", + "Bad Ischl", + "Bad Leonfelden", + "Bad Radkersburg", + "Bad Sankt Leonhard im Lavanttal", + "Bad Vöslau", + "Baden", + "Bärnbach", + "Berndorf", + "Bischofshofen", + "Bleiburg", + "Bludenz", + "Braunau am Inn", + "Bregenz", + "Bruck an der Leitha", + "Bruck an der Mur", + "Deutsch-Wagram", + "Deutschlandsberg", + "Dornbirn", + "Drosendorf-Zissersdorf 1", + "Dürnstein", + "Ebenfurth", + "Ebreichsdorf", + "Eferding", + "Eggenburg", + "Eisenerz", + "Eisenstadt", + "Enns", + "Fehring", + "Feldbach", + "Feldkirch", + "Feldkirchen", + "Ferlach", + "Fischamend", + "Frauenkirchen", + "Freistadt", + "Friedberg", + "Friesach", + "Frohnleiten", + "Fürstenfeld", + "Gallneukirchen", + "Gänserndorf", + "Geras", + "Gerasdorf bei Wien", + "Gföhl", + "Gleisdorf", + "Gloggnitz", + "Gmünd", + "Gmünd in Kärnten", + "Gmunden", + "Graz", + "Grein", + "Grieskirchen", + "Groß-Enzersdorf", + "Groß-Gerungs", + "Groß-Siegharts", + "Güssing", + "Haag", + "Hainburg an der Donau", + "Hainfeld", + "Hall in Tirol", + "Hallein", + "Hardegg", + "Hartberg", + "Heidenreichstein", + "Herzogenburg", + "Imst", + "Innsbruck", + "Jennersdorf", + "Judenburg", + "Kapfenberg", + "Kindberg", + "Klagenfurt", + "Klosterneuburg", + "Knittelfeld", + "Köflach", + "Korneuburg", + "Krems an der Donau", + "Kufstein", + "Laa an der Thaya", + "Laakirchen", + "Landeck", + "Langenlois", + "Leibnitz", + "Leoben", + "Lienz", + "Liezen", + "Lilienfeld", + "Linz", + "Litschau", + "Maissau", + "Mank", + "Mannersdorf am Leithagebirge", + "Marchegg", + "Marchtrenk", + "Mariazell", + "Mattersburg", + "Mattighofen", + "Mautern an der Donau", + "Melk", + "Mistelbach an der Zaya", + "Mödling", + "Murau", + "Mureck", + "Mürzzuschlag", + "Neulengbach", + "Neumarkt am Wallersee", + "Neunkirchen", + "Neusiedl am See", + "Oberndorf bei Salzburg", + "Oberpullendorf", + "Oberwart", + "Oberwälz", + "Perg", + "Peuerbach", + "Pinkafeld", + "Pöchlarn", + "Poysdorf", + "Pregarten", + "Pulkau", + "Purbach am Neusiedler See", + "Purkersdorf", + "Raabs an der Thaya", + "Radenthein", + "Radstadt", + "Rattenberg", + "Retz", + "Ried im Innkreis", + "Rohrbach in Oberösterreich", + "Rottenmann", + "Rust", + "Saalfelden am Steinernen Meer", + "Salzburg", + "Sankt Andrä im Lavanttal", + "Sankt Johann im Pongau", + "Sankt Pölten", + "Sankt Valentin", + "Sankt Veit an der Glan", + "Schärding", + "Scheibbs", + "Schladming", + "Schrattenthal", + "Schrems", + "Schwanenstadt", + "Schwaz", + "Schwechat", + "Spittal an der Drau", + "Stadtschlaining", + "Steyr", + "Steyregg", + "Stockerau", + "Straßburg", + "Ternitz", + "Traiskirchen", + "Traismauer", + "Traun", + "Trieben", + "Trofaiach", + "Tulln an der Donau", + "Villach", + "Vils", + "Vöcklabruck", + "Voitsberg", + "Völkermarkt", + "Waidhofen an der Thaya", + "Waidhofen an der Ybbs", + "Weitra", + "Weiz", + "Wels", + "Wien", + "Wiener Neustadt", + "Wieselburg", + "Wilhelmsburg", + "Wolfsberg", + "Wolkersdorf", + "Wörgl", + "Ybbs an der Donau", + "Zell am See", + "Zeltweg", + "Zistersdorf", + "Zwettl", ) # https://en.wikipedia.org/wiki/States_of_Austria states = ( - 'Wien', 'Steiermark', 'Burgenland', 'Tirol', 'Niederösterreich', - 'Oberösterreich', 'Salzburg', 'Kärnten', 'Vorarlberg', + "Wien", + "Steiermark", + "Burgenland", + "Tirol", + "Niederösterreich", + "Oberösterreich", + "Salzburg", + "Kärnten", + "Vorarlberg", ) - def street_suffix_short(self): + def street_suffix_short(self) -> str: return self.random_element(self.street_suffixes_short) - def street_suffix_long(self): + def street_suffix_long(self) -> str: return self.random_element(self.street_suffixes_long) - def city_name(self): + def city_name(self) -> str: return self.random_element(self.cities) - def state(self): + def administrative_unit(self) -> str: return self.random_element(self.states) - def city_with_postcode(self): - pattern = self.random_element(self.city_with_postcode_formats) + state = administrative_unit + + def city_with_postcode(self) -> str: + pattern: str = self.random_element(self.city_with_postcode_formats) return self.generator.parse(pattern) diff --git a/faker/providers/address/de_CH/__init__.py b/faker/providers/address/de_CH/__init__.py new file mode 100644 index 0000000000..d0604d9d34 --- /dev/null +++ b/faker/providers/address/de_CH/__init__.py @@ -0,0 +1,75 @@ +from typing import Tuple + +from .. import Provider as AddressProvider + + +class Provider(AddressProvider): + city_formats = ("{{canton_name}}",) + building_number_formats = ("%", "%#", "%#", "%#", "%##") + street_suffixes = ["strasse"] + street_name_formats = ("{{last_name}}{{street_suffix}}",) + street_address_formats = ("{{street_name}} {{building_number}}",) + address_formats = ("{{street_address}}\n{{postcode}} {{city}}",) + postcode_formats = ( + "1###", + "2###", + "3###", + "4###", + "5###", + "6###", + "7###", + "8###", + "9###", + ) + + cantons = ( + ("AG", "Aargau"), + ("AI", "Appenzell Innerrhoden"), + ("AR", "Appenzell Ausserrhoden"), + ("BE", "Bern"), + ("BL", "Basel-Landschaft"), + ("BS", "Basel-Stadt"), + ("FR", "Freiburg"), + ("GE", "Genf"), + ("GL", "Glarus"), + ("GR", "Graubünden"), + ("JU", "Jura"), + ("LU", "Luzern"), + ("NE", "Neuenburg"), + ("NW", "Nidwalden"), + ("OW", "Obwalden"), + ("SG", "St. Gallen"), + ("SH", "Schaffhausen"), + ("SO", "Solothurn"), + ("SZ", "Schwyz"), + ("TG", "Thurgau"), + ("TI", "Tessin"), + ("UR", "Uri"), + ("VD", "Waadt"), + ("VS", "Wallis"), + ("ZG", "Zug"), + ("ZH", "Zürich"), + ) + + def canton(self) -> Tuple[str, str]: + """ + Randomly returns a swiss canton ('Abbreviated', 'Name'). + :example ('ZH', 'Zürich') + """ + return self.random_element(self.cantons) + + def administrative_unit(self) -> str: + """ + Randomly returns a Swiss canton name. + :example 'Zürich' + """ + return self.canton()[1] + + canton_name = administrative_unit + + def canton_code(self) -> str: + """ + Randomly returns a Swiss canton code. + :example 'ZH' + """ + return self.canton()[0] diff --git a/faker/providers/address/de_DE/__init__.py b/faker/providers/address/de_DE/__init__.py index f70d5638a2..f8fe78b658 100644 --- a/faker/providers/address/de_DE/__init__.py +++ b/faker/providers/address/de_DE/__init__.py @@ -3,128 +3,470 @@ class Provider(AddressProvider): - city_formats = ('{{city_name}}', ) + city_formats = ("{{city_name}}",) - city_with_postcode_formats = ('{{postcode}} {{city}}', ) + city_with_postcode_formats = ("{{postcode}} {{city}}",) street_name_formats = ( - '{{first_name}}-{{last_name}}-{{street_suffix_long}}', - '{{last_name}}{{street_suffix_short}}', + "{{first_name}}-{{last_name}}-{{street_suffix_long}}", + "{{last_name}}{{street_suffix_short}}", ) - street_address_formats = ('{{street_name}} {{building_number}}', ) - address_formats = ('{{street_address}}\n{{postcode}} {{city}}', ) + street_address_formats = ("{{street_name}} {{building_number}}",) + address_formats = ("{{street_address}}\n{{postcode}} {{city}}",) - building_number_formats = ('###', '##', '#', '#/#') + building_number_formats = ("###", "##", "#", "#/#") street_suffixes_long = ( - 'Gasse', 'Platz', 'Ring', 'Straße', 'Weg', 'Allee', + "Gasse", + "Platz", + "Ring", + "Straße", + "Weg", + "Allee", ) street_suffixes_short = ( - 'gasse', 'platz', 'ring', 'straße', 'str.', 'weg', 'allee', + "gasse", + "platz", + "ring", + "straße", + "str.", + "weg", + "allee", ) - postcode_formats = ('#####', ) + postcode_formats = ("#####",) cities = ( - 'Aachen', 'Ahaus', 'Altentreptow', 'Altötting', 'Amberg', 'Angermünde', - 'Anklam', 'Ansbach', 'Apolda', 'Arnstadt', 'Artern', 'Aschaffenburg', - 'Aue', 'Auerbach', 'Augsburg', 'Aurich', 'Backnang', 'Bad Brückenau', - 'Bad Freienwalde', 'Bad Kissingen', 'Bad Kreuznach', 'Bad Langensalza', - 'Bad Liebenwerda', 'Bad Mergentheim', 'Badalzungen', 'Badibling', - 'Badoberan', 'Bamberg', 'Bautzen', 'Bayreuth', 'Beeskow', 'Beilngries', - 'Belzig', 'Berchtesgaden', 'Bergzabern', 'Berlin', 'Bernburg', - 'Bersenbrück', 'Biedenkopf', 'Bischofswerda', 'Bitterfeld', 'Bogen', - 'Borken', 'Borna', 'Brand', 'Brandenburg', 'Bremen', 'Bremervörde', - 'Brilon', 'Bruchsal', 'Burg', 'Burgdorf', 'Burglengenfeld', - 'Böblingen', 'Büsingenm Hochrhein', 'Bützow', 'Calau', 'Calw', 'Celle', - 'Chemnitz', 'Cloppenburg', 'Coburg', 'Cottbus', 'Crailsheim', - 'Cuxhaven', 'Dachau', 'Darmstadt', 'Deggendorf', 'Delitzsch', 'Demmin', - 'Dessau', 'Dieburg', 'Diepholz', 'Dinkelsbühl', 'Dinslaken', - 'Donaueschingen', 'Dresden', 'Duderstadt', 'Döbeln', 'Düren', - 'Ebermannstadt', 'Ebern', 'Ebersberg', 'Eberswalde', 'Eckernförde', - 'Eggenfelden', 'Eichstätt', 'Eichstätt', 'Eilenburg', 'Einbeck', - 'Eisenach', 'Eisenberg', 'Eisenhüttenstadt', 'Eisleben', 'Emmendingen', - 'Erbisdorf', 'Erding', 'Erfurt', 'Erkelenz', 'Euskirchen', 'Eutin', - 'Fallingbostel', 'Feuchtwangen', 'Finsterwalde', 'Flöha', 'Forchheim', - 'Forst', 'Freising', 'Freital', 'Freudenstadt', 'Fulda', - 'Fürstenfeldbruck', 'Fürstenwalde', 'Füssen', 'Gadebusch', - 'Gardelegen', 'Garmisch-Partenkirchen', 'Geithain', 'Geldern', - 'Gelnhausen', 'Genthin', 'Gera', 'Germersheim', 'Gerolzhofen', - 'Gießen', 'Gifhorn', 'Goslar', 'Gotha', 'Grafenau', 'Gransee', - 'Greifswald', 'Greiz', 'Grevenbroich', 'Grevesmühlen', - 'Griesbach Rottal', 'Grimma', 'Grimmen', 'Groß-Gerau', 'Großenhain', - 'Gräfenhainichen', 'Guben', 'Gunzenhausen', 'Göppingen', 'Görlitz', - 'Göttingen', 'Günzburg', 'Güstrow', 'Gütersloh', 'Hagenow', - 'Hainichen', 'Halberstadt', 'Haldensleben', 'Hamburg', 'Hammelburg', - 'Hannover', 'Hannoversch Münden', 'Hansestadttralsund', 'Havelberg', - 'Hechingen', 'Heiligenstadt', 'Heinsberg', 'Helmstedt', 'Herford', - 'Hersbruck', 'Herzberg', 'Hettstedt', 'Hildburghausen', 'Hildesheim', - 'Hofgeismar', 'Hohenmölsen', 'Hohenstein-Ernstthal', 'Holzminden', - 'Hoyerswerda', 'Husum', 'Höxter', 'Hünfeld', 'Illertissen', 'Ilmenau', - 'Ingolstadt', 'Iserlohn', 'Jena', 'Jessen', 'Jülich', 'Jüterbog', - 'Kaiserslautern', 'Kamenz', 'Karlsruhe', 'Kassel', 'Kehl', 'Kelheim', - 'Kemnath', 'Kitzingen', 'Kleve', 'Klötze', 'Koblenz', 'Konstanz', - 'Kronach', 'Kulmbach', 'Kusel', 'Kyritz', 'Königs Wusterhausen', - 'Kötzting', 'Leipziger Land', 'Lemgo', 'Lichtenfels', 'Lippstadt', - 'Lobenstein', 'Luckau', 'Luckenwalde', 'Ludwigsburg', 'Ludwigslust', - 'Lörrach', 'Lübben', 'Lübeck', 'Lübz', 'Lüdenscheid', 'Lüdinghausen', - 'Lüneburg', 'Magdeburg', 'Main-Höchst', 'Mainburg', 'Malchin', - 'Mallersdorf', 'Marienberg', 'Marktheidenfeld', 'Mayen', 'Meiningen', - 'Meißen', 'Melle', 'Mellrichstadt', 'Melsungen', 'Meppen', 'Merseburg', - 'Mettmann', 'Miesbach', 'Miltenberg', 'Mittweida', 'Moers', 'Monschau', - 'Mühldorfm Inn', 'Mühlhausen', 'München', 'Nabburg', 'Naila', 'Nauen', - 'Neu-Ulm', 'Neubrandenburg', 'Neunburg vorm Wald', 'Neuruppin', - 'Neuss', 'Neustadtm Rübenberge', 'Neustadtner Waldnaab', 'Neustrelitz', - 'Niesky', 'Norden', 'Nordhausen', 'Northeim', 'Nördlingen', - 'Nürtingen', 'Oberviechtach', 'Ochsenfurt', 'Olpe', 'Oranienburg', - 'Oschatz', 'Osterburg', 'Osterodem Harz', 'Paderborn', 'Parchim', - 'Parsberg', 'Pasewalk', 'Passau', 'Pegnitz', 'Peine', 'Perleberg', - 'Pfaffenhofenner Ilm', 'Pinneberg', 'Pirmasens', 'Plauen', 'Potsdam', - 'Prenzlau', 'Pritzwalk', 'Pößneck', 'Quedlinburg', 'Querfurt', - 'Rastatt', 'Rathenow', 'Ravensburg', 'Recklinghausen', 'Regen', - 'Regensburg', 'Rehau', 'Reutlingen', 'Ribnitz-Damgarten', 'Riesa', - 'Rochlitz', 'Rockenhausen', 'Roding', 'Rosenheim', 'Rostock', 'Roth', - 'Rothenburg oberauber', 'Rottweil', 'Rudolstadt', 'Saarbrücken', - 'Saarlouis', 'Sangerhausen', 'Sankt Goar', 'Sankt Goarshausen', - 'Saulgau', 'Scheinfeld', 'Schleiz', 'Schlüchtern', 'Schmölln', - 'Schongau', 'Schrobenhausen', 'Schwabmünchen', 'Schwandorf', - 'Schwarzenberg', 'Schweinfurt', 'Schwerin', 'Schwäbisch Gmünd', - 'Schwäbisch Hall', 'Sebnitz', 'Seelow', 'Senftenberg', 'Siegen', - 'Sigmaringen', 'Soest', 'Soltau', 'Soltau', 'Sondershausen', - 'Sonneberg', 'Spremberg', 'Stade', 'Stade', 'Stadtroda', - 'Stadtsteinach', 'Staffelstein', 'Starnberg', 'Staßfurt', 'Steinfurt', - 'Stendal', 'Sternberg', 'Stollberg', 'Strasburg', 'Strausberg', - 'Stuttgart', 'Suhl', 'Sulzbach-Rosenberg', 'Säckingen', 'Sömmerda', - 'Tecklenburg', 'Teterow', 'Tirschenreuth', 'Torgau', 'Tuttlingen', - 'Tübingen', 'Ueckermünde', 'Uelzen', 'Uffenheim', 'Vechta', - 'Viechtach', 'Viersen', 'Vilsbiburg', 'Vohenstrauß', 'Waldmünchen', - 'Wanzleben', 'Waren', 'Warendorf', 'Weimar', 'Weißenfels', - 'Weißwasser', 'Werdau', 'Wernigerode', 'Wertingen', 'Wesel', 'Wetzlar', - 'Wiedenbrück', 'Wismar', 'Wittenberg', 'Wittmund', 'Wittstock', - 'Witzenhausen', 'Wolfach', 'Wolfenbüttel', 'Wolfratshausen', 'Wolgast', - 'Wolmirstedt', 'Worbis', 'Wunsiedel', 'Wurzen', 'Zerbst', 'Zeulenroda', - 'Zossen', 'Zschopau', + "Aachen", + "Ahaus", + "Altentreptow", + "Altötting", + "Amberg", + "Angermünde", + "Anklam", + "Ansbach", + "Apolda", + "Arnstadt", + "Artern", + "Aschaffenburg", + "Aue", + "Auerbach", + "Augsburg", + "Aurich", + "Backnang", + "Bad Brückenau", + "Bad Freienwalde", + "Bad Kissingen", + "Bad Kreuznach", + "Bad Langensalza", + "Bad Liebenwerda", + "Bad Mergentheim", + "Badalzungen", + "Badibling", + "Badoberan", + "Bamberg", + "Bautzen", + "Bayreuth", + "Beeskow", + "Beilngries", + "Belzig", + "Berchtesgaden", + "Bergzabern", + "Berlin", + "Bernburg", + "Bersenbrück", + "Biedenkopf", + "Bischofswerda", + "Bitterfeld", + "Bogen", + "Borken", + "Borna", + "Brand", + "Brandenburg", + "Bremen", + "Bremervörde", + "Brilon", + "Bruchsal", + "Burg", + "Burgdorf", + "Burglengenfeld", + "Böblingen", + "Büsingen am Hochrhein", + "Bützow", + "Calau", + "Calw", + "Celle", + "Chemnitz", + "Cloppenburg", + "Coburg", + "Cottbus", + "Crailsheim", + "Cuxhaven", + "Dachau", + "Darmstadt", + "Deggendorf", + "Delitzsch", + "Demmin", + "Dessau", + "Dieburg", + "Diepholz", + "Dinkelsbühl", + "Dinslaken", + "Donaueschingen", + "Dresden", + "Duderstadt", + "Döbeln", + "Düren", + "Ebermannstadt", + "Ebern", + "Ebersberg", + "Eberswalde", + "Eckernförde", + "Eggenfelden", + "Eichstätt", + "Eichstätt", + "Eilenburg", + "Einbeck", + "Eisenach", + "Eisenberg", + "Eisenhüttenstadt", + "Eisleben", + "Emmendingen", + "Erbisdorf", + "Erding", + "Erfurt", + "Erkelenz", + "Euskirchen", + "Eutin", + "Fallingbostel", + "Feuchtwangen", + "Finsterwalde", + "Flöha", + "Forchheim", + "Forst", + "Freising", + "Freital", + "Freudenstadt", + "Fulda", + "Fürstenfeldbruck", + "Fürstenwalde", + "Füssen", + "Gadebusch", + "Gardelegen", + "Garmisch-Partenkirchen", + "Geithain", + "Geldern", + "Gelnhausen", + "Genthin", + "Gera", + "Germersheim", + "Gerolzhofen", + "Gießen", + "Gifhorn", + "Goslar", + "Gotha", + "Grafenau", + "Gransee", + "Greifswald", + "Greiz", + "Grevenbroich", + "Grevesmühlen", + "Griesbach Rottal", + "Grimma", + "Grimmen", + "Groß-Gerau", + "Großenhain", + "Gräfenhainichen", + "Guben", + "Gunzenhausen", + "Göppingen", + "Görlitz", + "Göttingen", + "Günzburg", + "Güstrow", + "Gütersloh", + "Hagenow", + "Hainichen", + "Halberstadt", + "Haldensleben", + "Hamburg", + "Hammelburg", + "Hannover", + "Hannoversch Münden", + "Hansestadttralsund", + "Havelberg", + "Hechingen", + "Heiligenstadt", + "Heinsberg", + "Helmstedt", + "Herford", + "Hersbruck", + "Herzberg", + "Hettstedt", + "Hildburghausen", + "Hildesheim", + "Hofgeismar", + "Hohenmölsen", + "Hohenstein-Ernstthal", + "Holzminden", + "Hoyerswerda", + "Husum", + "Höxter", + "Hünfeld", + "Illertissen", + "Ilmenau", + "Ingolstadt", + "Iserlohn", + "Jena", + "Jessen", + "Jülich", + "Jüterbog", + "Kaiserslautern", + "Kamenz", + "Karlsruhe", + "Kassel", + "Kehl", + "Kelheim", + "Kemnath", + "Kitzingen", + "Kleve", + "Klötze", + "Koblenz", + "Konstanz", + "Kronach", + "Kulmbach", + "Kusel", + "Kyritz", + "Königs Wusterhausen", + "Kötzting", + "Leipziger Land", + "Lemgo", + "Lichtenfels", + "Lippstadt", + "Lobenstein", + "Luckau", + "Luckenwalde", + "Ludwigsburg", + "Ludwigslust", + "Lörrach", + "Lübben", + "Lübeck", + "Lübz", + "Lüdenscheid", + "Lüdinghausen", + "Lüneburg", + "Magdeburg", + "Main-Höchst", + "Mainburg", + "Malchin", + "Mallersdorf", + "Marienberg", + "Marktheidenfeld", + "Mayen", + "Meiningen", + "Meißen", + "Melle", + "Mellrichstadt", + "Melsungen", + "Meppen", + "Merseburg", + "Mettmann", + "Miesbach", + "Miltenberg", + "Mittweida", + "Moers", + "Monschau", + "Mühldorf am Inn", + "Mühlhausen", + "München", + "Nabburg", + "Naila", + "Nauen", + "Neu-Ulm", + "Neubrandenburg", + "Neunburg vorm Wald", + "Neuruppin", + "Neuss", + "Neustadt am Rübenberge", + "Neustadtner Waldnaab", + "Neustrelitz", + "Niesky", + "Norden", + "Nordhausen", + "Northeim", + "Nördlingen", + "Nürtingen", + "Oberviechtach", + "Ochsenfurt", + "Olpe", + "Oranienburg", + "Oschatz", + "Osterburg", + "Osterode am Harz", + "Paderborn", + "Parchim", + "Parsberg", + "Pasewalk", + "Passau", + "Pegnitz", + "Peine", + "Perleberg", + "Pfaffenhofen an der Ilm", + "Pinneberg", + "Pirmasens", + "Plauen", + "Potsdam", + "Prenzlau", + "Pritzwalk", + "Pößneck", + "Quedlinburg", + "Querfurt", + "Rastatt", + "Rathenow", + "Ravensburg", + "Recklinghausen", + "Regen", + "Regensburg", + "Rehau", + "Reutlingen", + "Ribnitz-Damgarten", + "Riesa", + "Rochlitz", + "Rockenhausen", + "Roding", + "Rosenheim", + "Rostock", + "Roth", + "Rothenburg ob der Tauber", + "Rottweil", + "Rudolstadt", + "Saarbrücken", + "Saarlouis", + "Sangerhausen", + "Sankt Goar", + "Sankt Goarshausen", + "Saulgau", + "Scheinfeld", + "Schleiz", + "Schlüchtern", + "Schmölln", + "Schongau", + "Schrobenhausen", + "Schwabmünchen", + "Schwandorf", + "Schwarzenberg", + "Schweinfurt", + "Schwerin", + "Schwäbisch Gmünd", + "Schwäbisch Hall", + "Sebnitz", + "Seelow", + "Senftenberg", + "Siegen", + "Sigmaringen", + "Soest", + "Soltau", + "Soltau", + "Sondershausen", + "Sonneberg", + "Spremberg", + "Stade", + "Stade", + "Stadtroda", + "Stadtsteinach", + "Staffelstein", + "Starnberg", + "Staßfurt", + "Steinfurt", + "Stendal", + "Sternberg", + "Stollberg", + "Strasburg", + "Strausberg", + "Stuttgart", + "Suhl", + "Sulzbach-Rosenberg", + "Säckingen", + "Sömmerda", + "Tecklenburg", + "Teterow", + "Tirschenreuth", + "Torgau", + "Tuttlingen", + "Tübingen", + "Ueckermünde", + "Uelzen", + "Uffenheim", + "Vechta", + "Viechtach", + "Viersen", + "Vilsbiburg", + "Vohenstrauß", + "Waldmünchen", + "Wanzleben", + "Waren", + "Warendorf", + "Weimar", + "Weißenfels", + "Weißwasser", + "Werdau", + "Wernigerode", + "Wertingen", + "Wesel", + "Wetzlar", + "Wiedenbrück", + "Wismar", + "Wittenberg", + "Wittmund", + "Wittstock", + "Witzenhausen", + "Wolfach", + "Wolfenbüttel", + "Wolfratshausen", + "Wolgast", + "Wolmirstedt", + "Worbis", + "Wunsiedel", + "Wurzen", + "Zerbst", + "Zeulenroda", + "Zossen", + "Zschopau", ) states = ( - 'Baden-Württemberg', 'Bayern', 'Berlin', 'Brandenburg', 'Bremen', - 'Hamburg', 'Hessen', 'Mecklenburg-Vorpommern', 'Niedersachsen', - 'Nordrhein-Westfalen', 'Rheinland-Pfalz', 'Saarland', 'Sachsen', - 'Sachsen-Anhalt', 'Schleswig-Holstein', 'Thüringen', + "Baden-Württemberg", + "Bayern", + "Berlin", + "Brandenburg", + "Bremen", + "Hamburg", + "Hessen", + "Mecklenburg-Vorpommern", + "Niedersachsen", + "Nordrhein-Westfalen", + "Rheinland-Pfalz", + "Saarland", + "Sachsen", + "Sachsen-Anhalt", + "Schleswig-Holstein", + "Thüringen", ) - def street_suffix_short(self): + def street_suffix_short(self) -> str: return self.random_element(self.street_suffixes_short) - def street_suffix_long(self): + def street_suffix_long(self) -> str: return self.random_element(self.street_suffixes_long) - def city_name(self): + def city_name(self) -> str: return self.random_element(self.cities) - def state(self): + def administrative_unit(self) -> str: return self.random_element(self.states) - def city_with_postcode(self): - pattern = self.random_element(self.city_with_postcode_formats) + state = administrative_unit + + def city_with_postcode(self) -> str: + pattern: str = self.random_element(self.city_with_postcode_formats) return self.generator.parse(pattern) diff --git a/faker/providers/address/el_GR/__init__.py b/faker/providers/address/el_GR/__init__.py index 87f5d738cf..3009ae02b4 100644 --- a/faker/providers/address/el_GR/__init__.py +++ b/faker/providers/address/el_GR/__init__.py @@ -4,4715 +4,4950 @@ class Provider(AddressProvider): building_number_formats = ( - '###', - '##', - '##', - '##', - '#', - '#', - '##-##', - '###-###', + "###", + "##", + "##", + "##", + "#", + "#", + "##-##", + "###-###", ) street_prefixes_short = ( - 'Πλ.', - 'Πάρ.', - 'Λεωφ.', + "Πλ.", + "Πάρ.", + "Λεωφ.", ) street_prefixes_long = ( - 'Πλατεία', - 'Πάροδος', - 'Λεωφόρος', + "Πλατεία", + "Πάροδος", + "Λεωφόρος", ) street_name_formats = ( - '{{street_prefix}} {{street}}', - '{{street}}', - '{{street}}', - '{{street}}', - '{{last_name_female}}', + "{{street_prefix}} {{street}}", + "{{street}}", + "{{street}}", + "{{street}}", + "{{last_name_female}}", ) - street_address_formats = ( - '{{street_name}} {{building_number}}', - ) + street_address_formats = ("{{street_name}} {{building_number}}",) postcode_formats = ( - '### ##', - '#####', - '#####', - 'ΤΚ ### ##', - 'ΤΚ #####', + "### ##", + "#####", + "#####", + "ΤΚ ### ##", + "ΤΚ #####", ) - address_formats = ( - "{{street_address}},\n{{postcode}} {{city}}", - ) + address_formats = ("{{street_address}},\n{{postcode}} {{city}}",) - line_address_formats = ( - "{{street_address}}, {{postcode}} {{city}}", - ) + line_address_formats = ("{{street_address}}, {{postcode}} {{city}}",) - def line_address(self): - pattern = self.random_element(self.line_address_formats) + def line_address(self) -> str: + pattern: str = self.random_element(self.line_address_formats) return self.generator.parse(pattern) - def street_prefix(self): - return self.random_element( - self.street_prefixes_short + - self.street_prefixes_long) + def street_prefix(self) -> str: + return self.random_element(self.street_prefixes_short + self.street_prefixes_long) - def street_prefix_short(self): + def street_prefix_short(self) -> str: return self.random_element(self.street_prefixes_short) - def street_prefix_long(self): + def street_prefix_long(self) -> str: return self.random_element(self.street_prefixes_long) - def street(self): + def street(self) -> str: return self.random_element(self.localities) - def city(self): + def city(self) -> str: return self.random_element(self.cities) - def region(self): + def administrative_unit(self) -> str: return self.random_element(self.regions) + region = administrative_unit + # Ονόματα πρωτευουσών νομών cities = ( - 'Άμφισσα', - 'Άρτα', - 'Έδεσσα', - 'Αγ. Νικόλαος', - 'Αθήνα', - 'Αλεξανδρούπολη', - 'Αργοστόλι', - 'Βέροια', - 'Βόλος', - 'Γρεβενά', - 'Δράμα', - 'Ερμούπολη', - 'Ζάκυνθος', - 'Ηγουμενίτσα', - 'Ηράκλειο', - 'Θεσσαλονίκη', - 'Ιωάννινα', - 'Κέρκυρα', - 'Καβάλα', - 'Καλαμάτα', - 'Καρδίτσα', - 'Καρπενήσι', - 'Καστοριά', - 'Κατερίνη', - 'Κιλκίς', - 'Κοζάνη', - 'Κομοτηνή', - 'Κόρινθος', - 'Λάρισα', - 'Λαμία', - 'Λευκάδα', - 'Λιβαδιά', - 'Μεσολόγγι', - 'Μυτιλήνη', - 'Ναύπλιο', - 'Ξάνθη', - 'Πάτρα', - 'Πολύγυρος', - 'Πρέβεζα', - 'Πύργος', - 'Ρέθυμνο', - 'Ρόδος', - 'Σάμος', - 'Σέρρες', - 'Σπάρτη', - 'Τρίκαλα', - 'Τρίπολη', - 'Φλώρινα', - 'Χίος', - 'Χαλκίδα', - 'Χανιά', + "Άμφισσα", + "Άρτα", + "Έδεσσα", + "Αγ. Νικόλαος", + "Αθήνα", + "Αλεξανδρούπολη", + "Αργοστόλι", + "Βέροια", + "Βόλος", + "Γρεβενά", + "Δράμα", + "Ερμούπολη", + "Ζάκυνθος", + "Ηγουμενίτσα", + "Ηράκλειο", + "Θεσσαλονίκη", + "Ιωάννινα", + "Κέρκυρα", + "Καβάλα", + "Καλαμάτα", + "Καρδίτσα", + "Καρπενήσι", + "Καστοριά", + "Κατερίνη", + "Κιλκίς", + "Κοζάνη", + "Κομοτηνή", + "Κόρινθος", + "Λάρισα", + "Λαμία", + "Λευκάδα", + "Λιβαδιά", + "Μεσολόγγι", + "Μυτιλήνη", + "Ναύπλιο", + "Ξάνθη", + "Πάτρα", + "Πολύγυρος", + "Πρέβεζα", + "Πύργος", + "Ρέθυμνο", + "Ρόδος", + "Σάμος", + "Σέρρες", + "Σπάρτη", + "Τρίκαλα", + "Τρίπολη", + "Φλώρινα", + "Χίος", + "Χαλκίδα", + "Χανιά", ) # Ονόματα νομών regions = ( - 'Αιτωλία & Ακαρνανία', 'Αργολίδα', 'Αρκαδία', 'Άρτα', 'Αττική', 'Αχαΐα', - 'Βοιωτία', 'Γρεβενά', 'Δράμα', 'Δωδεκάνησσος', 'Έβρος', 'Ευρυτανία', - 'Εύβοια', 'Ζάκυνθος', 'Ηλεία', 'Ημαθία', 'Ηράκλειο', 'Θεσπρωτία', - 'Θεσσαλονίκη', 'Ιωάννινα', 'Κέρκυρα', 'Καβάλα', 'Καρδίτσα', 'Καστοριά', - 'Κεφαλληνία', 'Κιλκίς', 'Κοζάνη', 'Κορινθία', 'Κυκλάδες', 'Λάρισσα', - 'Λέσβος', 'Λακωνία', 'Λασσίθι', 'Λευκάδα', 'Μαγνησία', 'Μεσσηνία', - 'Ξάνθη', 'Πέλλα', 'Πιερία', 'Πρέβεζα', 'Ρέθυμνο', 'Ροδόπη', 'Σάμος', - 'Σέρρες', 'Τρίκαλα', 'Φθιώτιδα', 'Φλώρινα', 'Φωκίδα', 'Χίος', - 'Χαλκιδική', 'Χανιά', + "Αιτωλία & Ακαρνανία", + "Αργολίδα", + "Αρκαδία", + "Άρτα", + "Αττική", + "Αχαΐα", + "Βοιωτία", + "Γρεβενά", + "Δράμα", + "Δωδεκάνησσος", + "Έβρος", + "Ευρυτανία", + "Εύβοια", + "Ζάκυνθος", + "Ηλεία", + "Ημαθία", + "Ηράκλειο", + "Θεσπρωτία", + "Θεσσαλονίκη", + "Ιωάννινα", + "Κέρκυρα", + "Καβάλα", + "Καρδίτσα", + "Καστοριά", + "Κεφαλληνία", + "Κιλκίς", + "Κοζάνη", + "Κορινθία", + "Κυκλάδες", + "Λάρισσα", + "Λέσβος", + "Λακωνία", + "Λασσίθι", + "Λευκάδα", + "Μαγνησία", + "Μεσσηνία", + "Ξάνθη", + "Πέλλα", + "Πιερία", + "Πρέβεζα", + "Ρέθυμνο", + "Ροδόπη", + "Σάμος", + "Σέρρες", + "Τρίκαλα", + "Φθιώτιδα", + "Φλώρινα", + "Φωκίδα", + "Χίος", + "Χαλκιδική", + "Χανιά", ) # Ονόματα χωρών countries = ( - 'Άγιος Βαρθολομαίος', 'Άγιος Βικέντιος και Γρεναδίνες', 'Άγιος Μαρίνος', - 'Άγιος Μαρτίνος', 'Άγιος Μαρτίνος (Γαλλικό Κομμάτι)', 'Άγιος Πέτρος και Μικελόν', - 'Άγιος Χριστόφορος και Νέβις', 'Αίγυπτος', 'Αγία Ελένη, Ασενσιόν και Τριστάν ντα Κούνια', - 'Αγία Λουκία', 'Αζερμπαϊτζάν', 'Αιθιοπία', 'Ακτή Ελεφαντοστού', 'Αλβανία', - 'Αλγερία', 'Αμερικανικές Παρθένοι Νήσοι', 'Αμερικανική Σαμόα', 'Ανατολικό Τιμόρ', - 'Ανγκουίλα', 'Ανγκόλα', 'Ανδόρα', 'Αντίγκουα και Μπαρμπούντα', 'Ανταρκτική', - 'Απομακρυσμένες Νησίδες των Ηνωμένων Πολιτειών', 'Αραβική Δημοκρατία της Λιβύης', - 'Αργεντινή', 'Αρμενία', 'Αρούμπα', 'Αυστρία', 'Αυστραλία', 'Αφγανιστάν', 'Αϊτή', - 'Βέλγιο', 'Βανουάτου', 'Βατικανό', 'Βενεζουέλα', 'Βερμούδες', 'Βιετνάμ', 'Βολιβία', - 'Βοσνία-Ερζεγοβίνη', 'Βουλγαρία', 'Βραζιλία', 'Βρετανικές Παρθένοι Νήσοι', - 'Βρετανικό Έδαφος Ινδικού Ωκεανού', 'Βόρειες Μαριάνες Νήσοι', 'Γαλλία', - 'Γαλλικά Νότια και Ανταρκτικά Εδάφη', 'Γαλλική Γουιάνα', 'Γαλλική Πολυνησία', - 'Γερμανία', 'Γεωργία', 'Γιβραλτάρ', 'Γκάμπια', 'Γκάνα', 'Γκέρνσεϊ', 'Γκαμπόν', - 'Γκουάμ', 'Γουάλις και Φουτούνα', 'Γουαδελούπη', 'Γουατεμάλα', 'Γουιάνα', - 'Γουινέα', 'Γουινέα-Μπισσάου', 'Γρενάδα', 'Γροιλανδία', 'Δανία', 'Δημοκρατία της Κορέας', - 'Δομινίκα', 'Δομινικανή Δημοκρατία', 'Δυτική Σαχάρα', 'Ελ Σαλβαδόρ', 'Ελβετία', - 'Ελλάδα', 'Ερυθραία', 'Εσθονία', 'Ζάμπια', 'Ζιμπάμπουε', 'Ηνωμένα Αραβικά Εμιράτα', - 'Ηνωμένες Πολιτείες Αμερικής', 'Ηνωμένο Βασίλειο', 'Ιαπωνία', 'Ινδία', 'Ινδονησία', - 'Ιορδανία', 'Ιράκ', 'Ιράν', 'Ιρλανδία', 'Ισημερινή Γουινέα', 'Ισημερινός', 'Ισλανδία', - 'Ισπανία', 'Ισραήλ', 'Ιταλία', 'Κένυα', 'Κίνα', 'Καζακστάν', 'Καμερούν', 'Καμπότζη', - 'Καναδάς', 'Κατάρ', 'Κεντροαφρικανική Δημοκρατία', 'Κιργιστάν', 'Κιριμπάτι', - 'Κολομβία', 'Κομόρες', 'Κονγκό', 'Κουβέιτ', 'Κουρακάο', 'Κούβα', 'Κροατία', - 'Κόστα Ρίκα', 'Κύπρος', 'Λίβανος', 'Λαοκρατική Δημοκρατία της Κορέας', - 'Λαϊκή Δημοκρατία του Κονγκό', 'Λαϊκή Δημοκρατία του Λάος', 'Λεσότο', - 'Λετονία', 'Λευκορωσία', 'Λιβερία', 'Λιθουανία', 'Λιχτενστάϊν', 'Λουξεμβούργο', - 'Μάλι', 'Μάλτα', 'Μαγιότ', 'Μαδαγασκάρη', 'Μακάο', 'Μαλάουι', 'Μαλαισία', - 'Μαλδίβες', 'Μαρτινίκη', 'Μαρόκο', 'Μαυρίκιος', 'Μαυριτανία', 'Μαυροβούνιο', - 'Μεξικό', 'Μιανμάρ', 'Μικρονησία', 'Μογγολία', 'Μοζαμβίκη', 'Μολδαβία', - 'Μονακό', 'Μονσεράτ', 'Μπαγκλαντές', 'Μπαρμπάντος', 'Μπαχάμες', 'Μπαχρέιν', - 'Μπελίζ', 'Μπενίν', 'Μποτσουάνα', 'Μπουρκίνα Φάσο', 'Μπουρουντί', 'Μπουτάν', - 'Μπρουνέι', 'Νέα Ζηλανδία', 'Νέα Καληδονία', 'Νήσοι Κουκ', 'Νήσοι Κόκος', - 'Νήσοι Μάρσαλ', 'Νήσοι Πίτκαιρν', 'Νήσοι Σολομώντα', 'Νήσοι Φώκλαντ', - 'Νήσοι Χερντ και Μακντόναλντ', 'Νήσοι Ώλαντ', 'Νήσος Μαν', 'Νήσος Μπουβέ', - 'Νήσος των Χριστουγέννων', 'Νίγηρας', 'Ναμίμπια', 'Ναουρού', 'Νεπάλ', - 'Νησί Νόρφολκ', 'Νησιά Καϋμάν', 'Νησιά Τερκς και Κάικος', 'Νησιά Φερόες', - 'Νιγηρία', 'Νικαράγουα', 'Νιούε', 'Νορβηγία', 'Νότιος Αφρική', - 'Νότιος Γεωργία και οι Νότιοι Σάντουιτς Νήσοι', 'Ολλανδία', 'Ολλανδικές Αντίλλες', - 'Ομάν', 'Ονδούρα', 'Ουγγαρία', 'Ουγκάντα', 'Ουζμπεκιστάν', 'Ουκρανία', 'Ουρουγουάη', - 'Π.Γ.Δ. Μακεδονίας', 'Πακιστάν', 'Παλάου', 'Παλαιστίνη', 'Παναμάς', - 'Παπούα Νέα Γουινέα', 'Παραγουάη', 'Περού', 'Πολωνία', 'Πορτογαλία', - 'Πουέρτο Ρίκο', 'Πράσινο Ακρωτήρι', 'Ρεϊνιόν', 'Ρουάντα', 'Ρουμανία', - 'Ρωσία', 'Σάο Τομέ και Πρίνσιπε', 'Σαμόα', 'Σαουδική Αραβία', - 'Σβάλμπαρντ και Γιαν Μαγιέν', 'Σενεγάλη', 'Σερβία', 'Σεϋχέλλες', - 'Σιέρα Λεόνε', 'Σιγκαπούρη', 'Σλοβακία', 'Σλοβενία', 'Σομαλία', - 'Σουαζιλάνδη', 'Σουδάν', 'Σουηδία', 'Σουρινάμ', 'Σρι Λάνκα', 'Συρία', - 'Τανζανία', 'Τατζικιστάν', 'Ταϊβάν', 'Ταϊλάνδη', 'Τζέρσεϊ', 'Τζαμάικα', - 'Τζιμπουτί', 'Τοκελάου', 'Τουβαλού', 'Τουρκία', 'Τουρκμενιστάν', - 'Τρινιντάντ και Τομπάγκο', 'Τσαντ', 'Τσεχία', 'Τυνησία', 'Τόγκο', - 'Τόνγκα', 'Υεμένη', 'Φίτζι', 'Φιλιππίνες', 'Φινλανδία', 'Χιλή', 'Χονγκ Κονγκ', + "Άγιος Βαρθολομαίος", + "Άγιος Βικέντιος και Γρεναδίνες", + "Άγιος Μαρίνος", + "Άγιος Μαρτίνος", + "Άγιος Μαρτίνος (Γαλλικό Κομμάτι)", + "Άγιος Πέτρος και Μικελόν", + "Άγιος Χριστόφορος και Νέβις", + "Αίγυπτος", + "Αγία Ελένη, Ασενσιόν και Τριστάν ντα Κούνια", + "Αγία Λουκία", + "Αζερμπαϊτζάν", + "Αιθιοπία", + "Ακτή Ελεφαντοστού", + "Αλβανία", + "Αλγερία", + "Αμερικανικές Παρθένοι Νήσοι", + "Αμερικανική Σαμόα", + "Ανατολικό Τιμόρ", + "Ανγκουίλα", + "Ανγκόλα", + "Ανδόρα", + "Αντίγκουα και Μπαρμπούντα", + "Ανταρκτική", + "Απομακρυσμένες Νησίδες των Ηνωμένων Πολιτειών", + "Αραβική Δημοκρατία της Λιβύης", + "Αργεντινή", + "Αρμενία", + "Αρούμπα", + "Αυστρία", + "Αυστραλία", + "Αφγανιστάν", + "Αϊτή", + "Βέλγιο", + "Βανουάτου", + "Βατικανό", + "Βενεζουέλα", + "Βερμούδες", + "Βιετνάμ", + "Βολιβία", + "Βοσνία-Ερζεγοβίνη", + "Βουλγαρία", + "Βραζιλία", + "Βρετανικές Παρθένοι Νήσοι", + "Βρετανικό Έδαφος Ινδικού Ωκεανού", + "Βόρειες Μαριάνες Νήσοι", + "Γαλλία", + "Γαλλικά Νότια και Ανταρκτικά Εδάφη", + "Γαλλική Γουιάνα", + "Γαλλική Πολυνησία", + "Γερμανία", + "Γεωργία", + "Γιβραλτάρ", + "Γκάμπια", + "Γκάνα", + "Γκέρνσεϊ", + "Γκαμπόν", + "Γκουάμ", + "Γουάλις και Φουτούνα", + "Γουαδελούπη", + "Γουατεμάλα", + "Γουιάνα", + "Γουινέα", + "Γουινέα-Μπισσάου", + "Γρενάδα", + "Γροιλανδία", + "Δανία", + "Δημοκρατία της Κορέας", + "Δομινίκα", + "Δομινικανή Δημοκρατία", + "Δυτική Σαχάρα", + "Ελ Σαλβαδόρ", + "Ελβετία", + "Ελλάδα", + "Ερυθραία", + "Εσθονία", + "Ζάμπια", + "Ζιμπάμπουε", + "Ηνωμένα Αραβικά Εμιράτα", + "Ηνωμένες Πολιτείες Αμερικής", + "Ηνωμένο Βασίλειο", + "Ιαπωνία", + "Ινδία", + "Ινδονησία", + "Ιορδανία", + "Ιράκ", + "Ιράν", + "Ιρλανδία", + "Ισημερινή Γουινέα", + "Ισημερινός", + "Ισλανδία", + "Ισπανία", + "Ισραήλ", + "Ιταλία", + "Κένυα", + "Κίνα", + "Καζακστάν", + "Καμερούν", + "Καμπότζη", + "Καναδάς", + "Κατάρ", + "Κεντροαφρικανική Δημοκρατία", + "Κιργιστάν", + "Κιριμπάτι", + "Κολομβία", + "Κομόρες", + "Κονγκό", + "Κουβέιτ", + "Κουρακάο", + "Κούβα", + "Κροατία", + "Κόστα Ρίκα", + "Κύπρος", + "Λίβανος", + "Λαοκρατική Δημοκρατία της Κορέας", + "Λαϊκή Δημοκρατία του Κονγκό", + "Λαϊκή Δημοκρατία του Λάος", + "Λεσότο", + "Λετονία", + "Λευκορωσία", + "Λιβερία", + "Λιθουανία", + "Λιχτενστάϊν", + "Λουξεμβούργο", + "Μάλι", + "Μάλτα", + "Μαγιότ", + "Μαδαγασκάρη", + "Μακάο", + "Μαλάουι", + "Μαλαισία", + "Μαλδίβες", + "Μαρτινίκη", + "Μαρόκο", + "Μαυρίκιος", + "Μαυριτανία", + "Μαυροβούνιο", + "Μεξικό", + "Μιανμάρ", + "Μικρονησία", + "Μογγολία", + "Μοζαμβίκη", + "Μολδαβία", + "Μονακό", + "Μονσεράτ", + "Μπαγκλαντές", + "Μπαρμπάντος", + "Μπαχάμες", + "Μπαχρέιν", + "Μπελίζ", + "Μπενίν", + "Μποτσουάνα", + "Μπουρκίνα Φάσο", + "Μπουρουντί", + "Μπουτάν", + "Μπρουνέι", + "Νέα Ζηλανδία", + "Νέα Καληδονία", + "Νήσοι Κουκ", + "Νήσοι Κόκος", + "Νήσοι Μάρσαλ", + "Νήσοι Πίτκαιρν", + "Νήσοι Σολομώντα", + "Νήσοι Φώκλαντ", + "Νήσοι Χερντ και Μακντόναλντ", + "Νήσοι Ώλαντ", + "Νήσος Μαν", + "Νήσος Μπουβέ", + "Νήσος των Χριστουγέννων", + "Νίγηρας", + "Ναμίμπια", + "Ναουρού", + "Νεπάλ", + "Νησί Νόρφολκ", + "Νησιά Καϋμάν", + "Νησιά Τερκς και Κάικος", + "Νησιά Φερόες", + "Νιγηρία", + "Νικαράγουα", + "Νιούε", + "Νορβηγία", + "Νότιος Αφρική", + "Νότιος Γεωργία και οι Νότιοι Σάντουιτς Νήσοι", + "Ολλανδία", + "Ολλανδικές Αντίλλες", + "Ομάν", + "Ονδούρα", + "Ουγγαρία", + "Ουγκάντα", + "Ουζμπεκιστάν", + "Ουκρανία", + "Ουρουγουάη", + "Π.Γ.Δ. Μακεδονίας", + "Πακιστάν", + "Παλάου", + "Παλαιστίνη", + "Παναμάς", + "Παπούα Νέα Γουινέα", + "Παραγουάη", + "Περού", + "Πολωνία", + "Πορτογαλία", + "Πουέρτο Ρίκο", + "Πράσινο Ακρωτήρι", + "Ρεϊνιόν", + "Ρουάντα", + "Ρουμανία", + "Ρωσία", + "Σάο Τομέ και Πρίνσιπε", + "Σαμόα", + "Σαουδική Αραβία", + "Σβάλμπαρντ και Γιαν Μαγιέν", + "Σενεγάλη", + "Σερβία", + "Σεϋχέλλες", + "Σιέρα Λεόνε", + "Σιγκαπούρη", + "Σλοβακία", + "Σλοβενία", + "Σομαλία", + "Σουαζιλάνδη", + "Σουδάν", + "Σουηδία", + "Σουρινάμ", + "Σρι Λάνκα", + "Συρία", + "Τανζανία", + "Τατζικιστάν", + "Ταϊβάν", + "Ταϊλάνδη", + "Τζέρσεϊ", + "Τζαμάικα", + "Τζιμπουτί", + "Τοκελάου", + "Τουβαλού", + "Τουρκία", + "Τουρκμενιστάν", + "Τρινιντάντ και Τομπάγκο", + "Τσαντ", + "Τσεχία", + "Τυνησία", + "Τόγκο", + "Τόνγκα", + "Υεμένη", + "Φίτζι", + "Φιλιππίνες", + "Φινλανδία", + "Χιλή", + "Χονγκ Κονγκ", ) # Επίσημα τοπικά διαμερίσματα. # Χρησιμοποιούνται ως ονόματα δρόμων (λόγω ανάγκης για γενική κλίση). # Η λίστα είναι από το ΥΠ.ΕΣ. (μετά από επεξεργασία και μορφοποίηση) localities = ( - 'Άγρα', - 'Άγρας', - 'Άδελε', - 'Άκρης', - 'Άλλης Μεριάς', - 'Άλσους', - 'Άμμου', - 'Άμπλιανης', - 'Άνδρου', - 'Άργους', - 'Άργους Ορεστικού', - 'Άρζου', - 'Άρλας', - 'Άρμπουνα', - 'Άρνης', - 'Άσκρης', - 'Άσου', - 'Άσπρου', - 'Άσπρων Σπιτιών', - 'Άσσου', - 'Άστρους', - 'Άτταλης', - 'Άφρας', - 'Έλους', - 'Έμπωνα', - 'Έρφων', - 'Ήπιον', - 'Ήρας', - 'Ίδας', - 'Ίμπρου', - 'Ίσαρη', - 'Αΐμονα', - 'Αβάτου', - 'Αβίας', - 'Αβαρίκου', - 'Αβγαριάς', - 'Αβγού', - 'Αβδέλλας', - 'Αβδήρων', - 'Αβδού', - 'Αβρακόντε', - 'Αβραμιού', - 'Αβραμυλιάς', - 'Αβόρανης', - 'Αβόρου', - 'Αγάπης', - 'Αγία Βαρβάρα', - 'Αγία Κυριακή', - 'Αγία Παρασκευή', - 'Αγίας Άννας', - 'Αγίας Άννης', - 'Αγίας Αναστασίας', - 'Αγίας Βαρβάρας', - 'Αγίας Βλαχέρνης', - 'Αγίας Γαλήνης', - 'Αγίας Ειρήνης', - 'Αγίας Ελένης', - 'Αγίας Ευθυμίας', - 'Αγίας Ευφημίας', - 'Αγίας Θέκλης', - 'Αγίας Κυριακής', - 'Αγίας Μαρίνης', - 'Αγίας Μαύρας', - 'Αγίας Παρασκευής', - 'Αγίας Ρουμέλης', - 'Αγίας Σοφίας', - 'Αγίας Σωτήρας', - 'Αγίου', - 'Αγίου Αδριανού', - 'Αγίου Αθανασίου', - 'Αγίου Ακακίου', - 'Αγίου Ανδρέου', - 'Αγίου Αντωνίου', - 'Αγίου Αρσενίου', - 'Αγίου Αχιλλείου', - 'Αγίου Βαρθολομαίου', - 'Αγίου Βασιλείου', - 'Αγίου Βασιλείου Κυνουρίας', - 'Αγίου Βασιλείου Μαντινείας', - 'Αγίου Βησσαρίου', - 'Αγίου Βλασίου', - 'Αγίου Γερμανού', - 'Αγίου Γεωργίου', - 'Αγίου Γεωργίου Δομοκού', - 'Αγίου Γεωργίου Λαρίσης', - 'Αγίου Γεωργίου Λασιθίου', - 'Αγίου Γεωργίου Νηλείας', - 'Αγίου Γεωργίου Σητείας', - 'Αγίου Γεωργίου Συκούση', - 'Αγίου Γεωργίου Φαρσάλων', - 'Αγίου Γεωργίου Φερών', - 'Αγίου Δημητρίου', - 'Αγίου Δημητρίου Μονεμβασίας', - 'Αγίου Δημητρίου Πηλίου', - 'Αγίου Ευστρατίου', - 'Αγίου Ηλία', - 'Αγίου Ηλία Πηνηίων', - 'Αγίου Ηλία Πύργου', - 'Αγίου Θεοδώρου', - 'Αγίου Θωμά', - 'Αγίου Ισιδώρου', - 'Αγίου Ιωάννη', - 'Αγίου Ιωάννου', - 'Αγίου Ιωάννου Αγίου Βασιλείου', - 'Αγίου Ιωάννου Αμαρίου', - 'Αγίου Ιωάννου Αρχαίας Ηραίας', - 'Αγίου Ιωάννου Επιδαύρου Λιμήρας', - 'Αγίου Ιωάννου Μυλοποτάμου', - 'Αγίου Ιωάννου Ρέντη', - 'Αγίου Κηρύκου', - 'Αγίου Κοσμά', - 'Αγίου Κυρίλλου', - 'Αγίου Κωνσταντίνου', - 'Αγίου Λαυρεντίου', - 'Αγίου Λουκά', - 'Αγίου Μάρκου', - 'Αγίου Ματθαίου', - 'Αγίου Μηνά', - 'Αγίου Νικήτα', - 'Αγίου Νικολάου', - 'Αγίου Νικολάου Βοιών', - 'Αγίου Νικολάου Βονίτσης και Ξηρομέρου', - 'Αγίου Νικολάου Κράλης', - 'Αγίου Νικολάου Μονεμβασίας', - 'Αγίου Νικολάου Σπάτων', - 'Αγίου Ονουφρίου', - 'Αγίου Πέτρου', - 'Αγίου Παντελεήμονα', - 'Αγίου Παύλου', - 'Αγίου Πολυκάρπου', - 'Αγίου Προδρόμου', - 'Αγίου Προκοπίου', - 'Αγίου Σεραφείμ', - 'Αγίου Στεφάνου', - 'Αγίου Σύλλα', - 'Αγίου Σώστου', - 'Αγίου Φλώρου', - 'Αγίου Χαραλάμπους', - 'Αγίου Χριστοφόρου', - 'Αγίων Αναργύρων', - 'Αγίων Αποστόλων', - 'Αγίων Δέκα', - 'Αγίων Δούλων', - 'Αγίων Θεοδώρων', - 'Αγίων Πάντων', - 'Αγίων Παρασκιών', - 'Αγαθονησίου', - 'Αγαθουπόλεως', - 'Αγαλά', - 'Αγαλιανής', - 'Αγαλιανού', - 'Αγγίστης', - 'Αγγελιανών', - 'Αγγελοκάστρου', - 'Αγγελοχωρίου', - 'Αγγελώνας', - 'Αγδινών', - 'Αγιάς', - 'Αγιάσου', - 'Αγιοβλασιτίκων', - 'Αγιονερίου', - 'Αγιονορίου', - 'Αγιοπηγής', - 'Αγιοφύλλου', - 'Αγιοχωρίου', - 'Αγιοχώριον', - 'Αγιωργιτίκων', - 'Αγκίστρου', - 'Αγκαθιάς', - 'Αγκαιριάς', - 'Αγκαρυώνων', - 'Αγκιστρίου', - 'Αγκουσελιανών', - 'Αγνάντης', - 'Αγνάντων', - 'Αγναντερής', - 'Αγναντερού', - 'Αγναντιάς', - 'Αγοράς', - 'Αγράφων', - 'Αγρίλου', - 'Αγραμπέλων', - 'Αγραπιδεών', - 'Αγραπιδιάς', - 'Αγραπιδοχωρίου', - 'Αγραφών', - 'Αγρελιάς', - 'Αγριάνων', - 'Αγριάς', - 'Αγριακόνας', - 'Αγριανής', - 'Αγριδίου', - 'Αγριλιάς Μεσσήνης', - 'Αγριλιάς Τριφυλίας', - 'Αγριλοβούνου', - 'Αγρινίου', - 'Αγριοβοτάνου', - 'Αγροσυκέας', - 'Αγρού', - 'Αγχιάλου', - 'Αγόριανης', - 'Αδάμ', - 'Αδένδρου', - 'Αδαμίου', - 'Αδελφικού', - 'Αδριανής', - 'Αερινού', - 'Αετολόφου', - 'Αετομηλίτσης', - 'Αετοπέτρας', - 'Αετοπέτρας Δωδώνης', - 'Αετοπέτρας Κονίτσης', - 'Αετορράχη', - 'Αετορράχης', - 'Αετού', - 'Αζώρου', - 'Αηδονίων', - 'Αηδονιάς', - 'Αηδονοχωρίου', - 'Αθαμανίας', - 'Αθαμανίου', - 'Αθανίου', - 'Αθανασίου Διάκου', - 'Αθηναίου', - 'Αθηναίων', - 'Αθικίων', - 'Αθύρων', - 'Αιανής', - 'Αιαντείου', - 'Αιγάλεω', - 'Αιγάνης', - 'Αιγίνης', - 'Αιγίου', - 'Αιγείρας', - 'Αιγείρου', - 'Αιγιάλης', - 'Αιγινίου', - 'Αιγιών', - 'Αιγών', - 'Αιθαίας', - 'Αισύμης', - 'Αιτωλικού', - 'Ακοντίου', - 'Ακουμίων', - 'Ακράτας', - 'Ακρίτα', - 'Ακρίτας', - 'Ακρίων', - 'Ακραιφνίου', - 'Ακρασίου', - 'Ακρινής', - 'Ακριτοχωρίου', - 'Ακρολίμνης', - 'Ακροποτάμου', - 'Ακροποταμιάς', - 'Ακρωτηρίου', - 'Ακρών', - 'Ακταίου', - 'Ακόβου', - 'Αλέας', - 'Αλίκων', - 'Αλίμου', - 'Αλαγνίου', - 'Αλαγονίας', - 'Αλαλκομενών', - 'Αλατόπετρας', - 'Αλειμματάδων', - 'Αλεξάνδρου', - 'Αλεξανδρείας', - 'Αλεξανδρουπόλεως', - 'Αλεποχωρίου', - 'Αλεποχωρίου Μπότσαρη', - 'Αλεπούς', - 'Αλεστίων', - 'Αλεσταίνης', - 'Αλευράδας', - 'Αλευρούς', - 'Αληθινής', - 'Αλιάρτου', - 'Αλιβερίου', - 'Αλικάμπου', - 'Αλικανά', - 'Αλικαρνασσού', - 'Αλικιανού', - 'Αλισσού', - 'Αλιστράτης', - 'Αλιφείρας', - 'Αλμυροποτάμου', - 'Αλμυρού', - 'Αλοίδων', - 'Αλοννήσου', - 'Αλποχωρίου', - 'Αλτομιρών', - 'Αλυφαντών', - 'Αλφάς', - 'Αλφειούσης', - 'Αλωνίων', - 'Αλωνακίων', - 'Αλωνισταίνης', - 'Αλώνων', - 'Αλώρου', - 'Αμάδων', - 'Αμαλιαπόλεως', - 'Αμαξάδων', - 'Αμαράντου', - 'Αμαράντων', - 'Αμαρίου', - 'Αμαριανού', - 'Αμαρουσίου', - 'Αμαρύνθου', - 'Αμβρακίας', - 'Αμβροσίας', - 'Αμελάντων', - 'Αμιρά', - 'Αμισιανών', - 'Αμμολόχου', - 'Αμμοτόπου', - 'Αμμουδάρας', - 'Αμμουδιάς', - 'Αμμουλιανής', - 'Αμμοχωρίου', - 'Αμνάτου', - 'Αμορίου', - 'Αμοργιανών', - 'Αμοργού', - 'Αμουρίου', - 'Αμπέλου', - 'Αμπέλων', - 'Αμπελίων', - 'Αμπελακίου', - 'Αμπελακίων', - 'Αμπελακιωτίσσης', - 'Αμπελείας', - 'Αμπελειών', - 'Αμπελιάς', - 'Αμπελικού', - 'Αμπελιώνας', - 'Αμπελοκάμπου', - 'Αμπελοκήπων', - 'Αμπελοφύτου', - 'Αμπελοχωρίου', - 'Αμπελούζου', - 'Αμυγδαλέας', - 'Αμυγδαλής', - 'Αμυγδαλεών', - 'Αμυγδαλιάς', - 'Αμυγδαλοκεφαλίου', - 'Αμυκλών', - 'Αμυνταίου', - 'Αμφία', - 'Αμφίσσης', - 'Αμφείας', - 'Αμφιθέας', - 'Αμφικλείας', - 'Αμφιλοχίας', - 'Αμφιπόλεως', - 'Ανάβατου', - 'Ανάβρας', - 'Ανάφης', - 'Ανέζης', - 'Αναβρυτής', - 'Αναβρυτού', - 'Αναβρυτών', - 'Αναβύσσου', - 'Αναγεννήσεως', - 'Ανακασιάς', - 'Αναλήψεως', - 'Αναργύρων', - 'Αναρράχης', - 'Αναστάσεως', - 'Αναστασίας', - 'Ανατολής', - 'Ανατολικής', - 'Ανατολικής Φραγκίστας', - 'Ανατολικού', - 'Αναφωνητρίας', - 'Ανδανίας', - 'Ανδρίτσης', - 'Ανδραβίδας', - 'Ανδριτσαίνης', - 'Ανδρούσης', - 'Ανδρωνιάνων', - 'Ανεμοδουρίου', - 'Ανεμομύλου', - 'Ανεμορράχης', - 'Ανεμοχωρίου', - 'Ανεμότιας', - 'Ανηλίου', - 'Ανθήλης', - 'Ανθής', - 'Ανθείας', - 'Ανθηρού', - 'Ανθοτόπου', - 'Ανθοφύτου', - 'Ανθοχωρίου', - 'Ανθοχωρίου Δωδώνης', - 'Ανθοχωρίου Μετσόβου', - 'Ανθοχώριον', - 'Ανθούσης', - 'Ανθρακίτη', - 'Ανιάδας', - 'Ανοίξεως', - 'Ανοιξιάτικου', - 'Αντίσσης', - 'Ανταρτικού', - 'Αντιγονείας', - 'Αντικαλάμου', - 'Αντικυθήρων', - 'Αντικύρας', - 'Αντιμαχείας', - 'Αντιπάρου', - 'Αντιπάτων Ερίσου', - 'Αντιπερνών', - 'Αντιρρίου', - 'Αντισκαρίου', - 'Αντιφιλίππων', - 'Αντρωνίου', - 'Ανυφίου', - 'Ανωγής', - 'Ανωγείου', - 'Ανωγείων', - 'Ανωπόλεως', - 'Ανύδρου', - 'Ανώσκελης', - 'Αξιοκάστρου', - 'Αξιουπόλεως', - 'Αξιοχωρίου', - 'Αξού', - 'Απεράθου', - 'Απερίου', - 'Απεσωκαρίου', - 'Απιδέα', - 'Απιδέας', - 'Απιδίων', - 'Απλαδιανών', - 'Αποδούλου', - 'Αποικίων', - 'Απολακκιάς', - 'Απολλωνίας', - 'Απολπαίνης', - 'Αποστολιά', - 'Αποστόλων', - 'Απροβάτου', - 'Απτέρων', - 'Απόλλωνα', - 'Αράξου', - 'Αράχου', - 'Αρήνης', - 'Αρίας', - 'Αρίσβη', - 'Αρίσβης', - 'Αρίστης', - 'Αραβησσού', - 'Αραχαμιτών', - 'Αραχναίου', - 'Αραχοβιτίκων', - 'Αραχόβης', - 'Αρβανίτη', - 'Αργέννου', - 'Αργίλου', - 'Αργαλαστής', - 'Αργασίου', - 'Αργιθέας', - 'Αργινίων', - 'Αργολικού', - 'Αργοστολίου', - 'Αργυράδων', - 'Αργυράς', - 'Αργυρίου', - 'Αργυρίων', - 'Αργυροπουλείου', - 'Αργυροτόπου', - 'Αργυρουπόλεως', - 'Αργυροχωρίου', - 'Αργυρού', - 'Αργυρού Πηγαδίου', - 'Αργυρούπολης', - 'Αργυρούπολις', - 'Αρδάκτου', - 'Αρδάσσης', - 'Αρδαμερίου', - 'Αρδανίου', - 'Αρδείας', - 'Αρδόσεως', - 'Αρεθούσης', - 'Αρεοπόλεως', - 'Αρετής', - 'Αριδαίας', - 'Αριοχωρίου', - 'Αριστοδημείου', - 'Αριστομένους', - 'Αρκάσας', - 'Αρκίτσας', - 'Αρκαδάδων', - 'Αρκαδικού', - 'Αρκαλοχωρίου', - 'Αρκεσίνης', - 'Αρκοχωρίου', - 'Αρμάτων', - 'Αρμένων', - 'Αρματολικού', - 'Αρμενάδων', - 'Αρμενίου', - 'Αρμενιών', - 'Αρμενοχωρίου', - 'Αρμολίων', - 'Αρνά', - 'Αρνίθας', - 'Αρνίσσης', - 'Αρναίας', - 'Αροανίας', - 'Αρραβωνίτσης', - 'Αρριανά', - 'Αρσενίου', - 'Αρσινόης', - 'Αρτάκης', - 'Αρτέμιδας', - 'Αρταίων', - 'Αρτεμισίας', - 'Αρτεμισίου', - 'Αρτεσιανού', - 'Αρτικίου', - 'Αρτοπούλας', - 'Αρτοτίνας', - 'Αρφαρών', - 'Αρχαίας Ήλιδας', - 'Αρχαίας Ελεύθερνας', - 'Αρχαίας Επιδαύρου', - 'Αρχαίας Κορίνθου', - 'Αρχαίας Μεσσήνης', - 'Αρχαίας Νεμέας', - 'Αρχαίας Ολυμπίας', - 'Αρχαίας Πίσας', - 'Αρχαίας Φενεού', - 'Αρχαίων Κλεωνών', - 'Αρχαγγέλου', - 'Αρχανίου', - 'Αρχανών', - 'Αρχιλόχου', - 'Αρχιπόλεως', - 'Αρχοντικά', - 'Αρχοντικής', - 'Αρχοντικού', - 'Αρχοντοχωρίου', - 'Αρωγή', - 'Αρωνά', - 'Αρωνίου', - 'Αρωνιαδίκων', - 'Ασέας', - 'Ασή Γωνιάς', - 'Ασίνης', - 'Ασβεστάδων', - 'Ασβεστίου', - 'Ασβεστοπέτρας', - 'Ασβεστοχωρίου', - 'Ασημένιου', - 'Ασημίου', - 'Ασημοχωρίου', - 'Ασιτών', - 'Ασκληπιείου', - 'Ασκού', - 'Ασκύφου', - 'Ασκών', - 'Ασμηνίου', - 'Ασπραγγέλων', - 'Ασπριάς', - 'Ασπροβάλτας', - 'Ασπρογείων', - 'Ασπρογερακάτων', - 'Ασπροκάμπου', - 'Ασπροκκλησίου', - 'Ασπροκκλησιάς', - 'Ασπρονερίου', - 'Ασπροπουλιάς', - 'Ασπροπύργου', - 'Ασπροχωρίου', - 'Ασπρούλας', - 'Ασσήρου', - 'Αστακού', - 'Αστερίου', - 'Αστρά', - 'Αστράκων', - 'Αστρίτσης', - 'Αστριτσίου', - 'Αστροχωρίου', - 'Αστυπαλαίας', - 'Αστυρακίου', - 'Ασφάκας', - 'Ασφένδου', - 'Ασφενδιού', - 'Ασωμάτου', - 'Ασωμάτων', - 'Ασωπίας', - 'Ασωπού', - 'Ασώματα', - 'Αταλάντης', - 'Ατραπού', - 'Ατσικής', - 'Ατσιποπούλου', - 'Ατσιχόλου', - 'Αυγής', - 'Αυγείου', - 'Αυγενικής', - 'Αυγερινού', - 'Αυγώνυμων', - 'Αυλής', - 'Αυλακίου', - 'Αυλιωτών', - 'Αυλοτόπου', - 'Αυλωναρίου', - 'Αυλών', - 'Αφάντου', - 'Αφετών', - 'Αφιδνών', - 'Αφισίου', - 'Αφράτου', - 'Αφράτων', - 'Αφρατίου', - 'Αφροξυλιάς', - 'Αφύτου', - 'Αχαΐας', - 'Αχαρνών', - 'Αχαϊκού', - 'Αχεντριά', - 'Αχερουσίας', - 'Αχιλλείου', - 'Αχινού', - 'Αχλάδας', - 'Αχλαδέ', - 'Αχλαδέας', - 'Αχλαδίου', - 'Αχλαδίων', - 'Αχλαδερής', - 'Αχλαδεών', - 'Αχλαδινής', - 'Αχλαδοκάμπου', - 'Αχλαδοκάστρου', - 'Αχλαδοχωρίου', - 'Αχυρών', - 'Αψάλου', - 'Αϊδινίου', - 'Αϊτανίων', - 'Αύρας', - 'Βάβδου', - 'Βάγγου', - 'Βάθειας', - 'Βάθης', - 'Βάλτας', - 'Βάλτου', - 'Βάμου', - 'Βάρδας', - 'Βάρης', - 'Βάρνακα', - 'Βάρους', - 'Βάστα', - 'Βάτου', - 'Βάχλιας', - 'Βάχου', - 'Βέλου', - 'Βέλους', - 'Βέργας', - 'Βέργης', - 'Βέροιας', - 'Βέσσης', - 'Βήσσανης', - 'Βίβλου', - 'Βίγλας', - 'Βίνιανης', - 'Βίτολης', - 'Βίτσης', - 'Βαβιλών', - 'Βαβουρίου', - 'Βαγίων', - 'Βαγενιτίου', - 'Βαγιονιάς', - 'Βαθέως', - 'Βαθείας', - 'Βαθυκοίλου', - 'Βαθυλάκκου', - 'Βαθυπέδου', - 'Βαθυτόπου', - 'Βαλανίδας', - 'Βαλανείου', - 'Βαλανιδιάς', - 'Βαλανιδοράχης', - 'Βαλανιδούσσας', - 'Βαλαώρας', - 'Βαλεριάνου', - 'Βαλιμής', - 'Βαλιμιτίκων', - 'Βαλκάνου', - 'Βαλσαμονέρου', - 'Βαλτερού', - 'Βαλτεσινίκου', - 'Βαλτετσίου', - 'Βαλτινού', - 'Βαλτονέρων', - 'Βαλτοτοπίου', - 'Βαλτοχωρίου', - 'Βαλύρας', - 'Βαμβακιάς', - 'Βαμβακοπούλου', - 'Βαμβακοφύτου', - 'Βαμβακούς', - 'Βαμβακούσσης', - 'Βανάδας', - 'Βανάτου', - 'Βαπτιστού', - 'Βαρβάρας', - 'Βαρβίτσης', - 'Βαρβασαίνης', - 'Βαργιάδων', - 'Βαργιάνης', - 'Βαρδάτων', - 'Βαρδαλής', - 'Βαρετάδας', - 'Βαρθολομιού', - 'Βαρικού', - 'Βαρλαάμ', - 'Βαρνάβα', - 'Βαρυπατάδων', - 'Βαρύπετρου', - 'Βασαρά', - 'Βασιλή', - 'Βασιλακίου', - 'Βασιλατίκων', - 'Βασιλειών', - 'Βασιλεωνοίκου', - 'Βασιλικής', - 'Βασιλικιάδων', - 'Βασιλικού', - 'Βασιλικών', - 'Βασιλικών Ανωγείων', - 'Βασιλιτσίου', - 'Βασιλοπούλου', - 'Βασιλουδίου', - 'Βατίου', - 'Βατατάδων', - 'Βατερού', - 'Βατολάκκου', - 'Βατοχωρίου', - 'Βατούσσης', - 'Βατσουνιάς', - 'Βαυκερής', - 'Βαφέ', - 'Βαφιοχωρίου', - 'Βαχού', - 'Βεγόρων', - 'Βελάς', - 'Βελίκας', - 'Βελίνης', - 'Βελανιδίου', - 'Βελανιδίων', - 'Βελανιδιάς', - 'Βελβίνας', - 'Βελβεντού', - 'Βελεντζικού', - 'Βελεσιωτών', - 'Βελεστίνου', - 'Βελημαχίου', - 'Βελιγοστής', - 'Βελιμαχίου', - 'Βελιτσών', - 'Βελιών', - 'Βελονάδων', - 'Βελωτών', - 'Βενίου', - 'Βενεράτου', - 'Βερίνου', - 'Βερβένων', - 'Βερβεράτου', - 'Βεργίνης', - 'Βερδικούσσης', - 'Βερενίκης', - 'Βερμίου', - 'Βερτίσκου', - 'Βεύης', - 'Βιάννου', - 'Βιδιακίου', - 'Βιζαρίου', - 'Βικίου', - 'Βιλίων', - 'Βιλανδρέδου', - 'Βιλιβίνης', - 'Βιρού', - 'Βισταγής', - 'Βιτάλων', - 'Βιταλάδων', - 'Βιταλίου', - 'Βλάση', - 'Βλάστης', - 'Βλάτους', - 'Βλασίας', - 'Βλασίου', - 'Βλαχάβας', - 'Βλαχάτων Εικοσιμίας', - 'Βλαχέρνης', - 'Βλαχατάνου', - 'Βλαχερωνιτίσσης', - 'Βλαχιάς', - 'Βλαχιώτη', - 'Βλαχογιαννίου', - 'Βλαχοκερασέας', - 'Βλαχομάνδρας', - 'Βλαχοπούλου', - 'Βλησιδιάς', - 'Βλιζιανών', - 'Βλοχού', - 'Βλυχού', - 'Βοβούσης', - 'Βογατσικού', - 'Βοθιανών', - 'Βολιμών', - 'Βολισσού', - 'Βομβοκούς', - 'Βορδονίας', - 'Βορεινού', - 'Βοριζίων', - 'Βοσκοχωρίου', - 'Βοτονοσίου', - 'Βουβοποτάμου', - 'Βουβών', - 'Βουγιάτου', - 'Βουζίου', - 'Βουκολιών', - 'Βουλγάρω', - 'Βουλιάστης', - 'Βουλιαγμένης', - 'Βουλισμένης', - 'Βουνάργου', - 'Βουναίνων', - 'Βουναρίων', - 'Βουνιατάδων', - 'Βουνιχώρας', - 'Βουνοπλαγιάς', - 'Βουνού', - 'Βουρβούλου', - 'Βουρβούρων', - 'Βουργαρελίου', - 'Βουρκωτής', - 'Βουρλιωτών', - 'Βουρνικά', - 'Βουτά', - 'Βουταίνης', - 'Βουτιάνων', - 'Βουτσίμου', - 'Βουτσαρά', - 'Βουτύρου', - 'Βουτών', - 'Βουχωρίνας', - 'Βοχαϊκού', - 'Βούλας', - 'Βούλπης', - 'Βούνων', - 'Βούρμπιανης', - 'Βούτση', - 'Βράχας', - 'Βράχου', - 'Βρίας', - 'Βρίνας', - 'Βρίσας', - 'Βραΐλας', - 'Βραγγιανών', - 'Βραγιά', - 'Βραγκιανών', - 'Βραδέτου', - 'Βρασνών', - 'Βραστάμων', - 'Βραχασίου', - 'Βραχατίου', - 'Βραχιάς', - 'Βραχναιίκων', - 'Βρεσθένων', - 'Βρεστού', - 'Βριλησσίων', - 'Βρομόβρυσης', - 'Βροντάδου', - 'Βροντής', - 'Βρονταμά', - 'Βροντερού', - 'Βροντισμένης', - 'Βροντούς', - 'Βροσίνας', - 'Βρουβιανών', - 'Βρουστίου', - 'Βρουχά', - 'Βροχίτσης', - 'Βρούτση', - 'Βρυναίνης', - 'Βρυοτόπου', - 'Βρυσέλλας', - 'Βρυσακίου', - 'Βρυσικών', - 'Βρυσιών', - 'Βρυσουλών', - 'Βρυσοχωρίου', - 'Βρυσούλας', - 'Βρυσών', - 'Βρυσών Αποκορρώνου', - 'Βρυσών Κυδωνίας', - 'Βρυτών', - 'Βρύσης', - 'Βυζίτσης', - 'Βυζικίου', - 'Βυθού', - 'Βυρωνείας', - 'Βυσσινέας', - 'Βυτίνης', - 'Βυτιναιίκων', - 'Βωλάδας', - 'Βωλεώνων', - 'Βόλβης', - 'Βόλου', - 'Βόνης', - 'Βόνιτσας', - 'Βύσσης', - 'Βώρων', - 'Γάβρου', - 'Γέρακα', - 'Γέργερης', - 'Γέρμα', - 'Γέρμας', - 'Γέροντα', - 'Γαΐου', - 'Γαβαλά', - 'Γαβαλοχωρίου', - 'Γαβαλούς', - 'Γαβρακίων', - 'Γαβριάς', - 'Γαβρισιών', - 'Γαβρολίμνης', - 'Γαζίου', - 'Γαζώρου', - 'Γαλάνης', - 'Γαλάρου', - 'Γαλήνης', - 'Γαλίφας', - 'Γαλανάδου', - 'Γαλαναίϊκα', - 'Γαλανόβρυσης', - 'Γαλαξιδίου', - 'Γαλαρινού', - 'Γαλατά', - 'Γαλατάδων', - 'Γαλατίστης', - 'Γαλατακίου', - 'Γαλατείας', - 'Γαλατινής', - 'Γαλατσάδων', - 'Γαλατσίου', - 'Γαλατσώνας', - 'Γαλησσά', - 'Γαληψού', - 'Γαλιάς', - 'Γαλλικού', - 'Γαναδιού', - 'Γανοχώρας', - 'Γαράζου', - 'Γαρέας', - 'Γαρίπας', - 'Γαργαλιάνων', - 'Γαρδελάδων', - 'Γαρδικίου', - 'Γαρδικίου Σούλι', - 'Γαρεφείου', - 'Γαρούνας', - 'Γαστουρίου', - 'Γαστούνης', - 'Γαυρίου', - 'Γαϊτανίου', - 'Γαύδου', - 'Γδοχίων', - 'Γελάνθης', - 'Γελινιατίκων', - 'Γενεσίου', - 'Γενισέας', - 'Γενναδίου', - 'Γερακίου', - 'Γερακαρίου', - 'Γερακαρούς', - 'Γερακιούς', - 'Γερακλίου', - 'Γερανίου', - 'Γερανίων', - 'Γεροπλατάνου', - 'Γεφυρίων', - 'Γεφυρουδίου', - 'Γεφύρας', - 'Γεωργάνων', - 'Γεωργανάδων', - 'Γεωργιανής', - 'Γεωργιανών', - 'Γεωργικού', - 'Γεωργιουπόλεως', - 'Γεωργιτσίου', - 'Γιάλτρων', - 'Γιάννουλης', - 'Γιαννάδων', - 'Γιανναίων', - 'Γιαννακοχωρίου', - 'Γιαννιτσίου', - 'Γιαννιτσοχωρίου', - 'Γιαννιτσούς', - 'Γιαννιτσών', - 'Γιαννοπούλων', - 'Γιαννωτών', - 'Γιμαρίου', - 'Γιουργάνιστας', - 'Γιρομερίου', - 'Γκαγκαλών', - 'Γκανέϊκα', - 'Γκοριτσάς', - 'Γκούρας', - 'Γκρίκας', - 'Γκραίκα', - 'Γκριμπόβου', - 'Γλάστρας', - 'Γλίνου', - 'Γλαφυρών', - 'Γλαύκης', - 'Γλινάδου', - 'Γλυκής', - 'Γλυκομηλέας', - 'Γλυκορριζίου', - 'Γλυκόβρυσης', - 'Γλυκών Νερών', - 'Γλυφάδα', - 'Γλυφάδας', - 'Γλύφας', - 'Γλώσσης', - 'Γολάς', - 'Γοματίου', - 'Γονίμου', - 'Γονούσσης', - 'Γοράνων', - 'Γοργοβιτών', - 'Γοργογυρίου', - 'Γοργομύλου', - 'Γοργοποτάμου', - 'Γοργόπη', - 'Γορτυνίας', - 'Γουβών', - 'Γουλεδιανών', - 'Γουλεμίου', - 'Γουλών', - 'Γουμένισσας', - 'Γουμέρου', - 'Γουριάς', - 'Γουριωτίσσης', - 'Γράμου', - 'Γρίβας', - 'Γραίκα', - 'Γραβιάς', - 'Γραβούνης', - 'Γραικικού', - 'Γραικοχωρίου', - 'Γραικού', - 'Γραμβουσής', - 'Γραμμένης', - 'Γραμμένης Οξυάς', - 'Γραμμένου', - 'Γραμματικού', - 'Γραμματικούς', - 'Γραμμενίτσης', - 'Γραμμούσης', - 'Γραμπιάς', - 'Γρανίτου', - 'Γρανίτσης', - 'Γρανιτσαιίκων', - 'Γρανιτσοπούλας', - 'Γρατίνη', - 'Γρεβενιτίου', - 'Γρεβενών', - 'Γρηγορίας', - 'Γρηγορίου', - 'Γρηγόρη', - 'Γριζάνου', - 'Γριζάτων', - 'Γριμπόβου', - 'Γρύλλου', - 'Γυθείου', - 'Γυμνοτόπου', - 'Γυμνού', - 'Γυναικοκάστρου', - 'Γυρίου', - 'Γωνιάς', - 'Γωνιών Μαλεβιζίου', - 'Γόμφων', - 'Γόννων', - 'Δάρα', - 'Δάφνης', - 'Δάφνου', - 'Δένδρου', - 'Δένδρων Τυρνάβου', - 'Δένδρων Φαρσάλων', - 'Δέσης', - 'Δήμητρας', - 'Δίβρης', - 'Δίου', - 'Δαδιάς', - 'Δαιμονίας', - 'Δαλαμανάρας', - 'Δαμάστας', - 'Δαμαβόλου', - 'Δαμακινίου', - 'Δαμανίων', - 'Δαμασίου', - 'Δαμασκηνιάς', - 'Δαματρίας', - 'Δαμουλιανάτων', - 'Δανακού', - 'Δαράτσου', - 'Δαρμένη', - 'Δασκίου', - 'Δασολόφου', - 'Δασοχωρίου', - 'Δασυλλίου', - 'Δασωτού', - 'Δαυγάτων', - 'Δαυλείας', - 'Δαφίων', - 'Δαφνέ', - 'Δαφνίου', - 'Δαφνιά', - 'Δαφνιωτίσσης', - 'Δαφνοσπηλιάς', - 'Δαφνουδίου', - 'Δαφνοφύτου', - 'Δαφνούλας', - 'Δαφνούσσης', - 'Δαφνωτής', - 'Δαφνών', - 'Δειλινά', - 'Δελβινακίου', - 'Δελβινακοπούλου', - 'Δελερίων', - 'Δελιανών', - 'Δελφίνου', - 'Δελφών', - 'Δεματίου', - 'Δεμεστίχων', - 'Δενδροχωρίου', - 'Δερβενίου', - 'Δερβιζιάνων', - 'Δερματίου', - 'Δεσινού', - 'Δεσκάτης', - 'Δεσποτικού', - 'Δεσφίνης', - 'Δεσύλλα', - 'Δημαίνης', - 'Δημαρίου', - 'Δημητρητσίου', - 'Δημητροπούλου', - 'Δημητσάνης', - 'Διάβας', - 'Διάσελλου', - 'Διαβατού', - 'Διαβατών', - 'Διαβολιτσίου', - 'Διακοπίου', - 'Διακοπτού', - 'Διαλεκτού', - 'Διασέλλου', - 'Διασέλλων', - 'Διασελλακίου', - 'Διβαράτων', - 'Διγελιωτίκων', - 'Διδυμοτείχου', - 'Διδύμας', - 'Διδύμων', - 'Διευχών', - 'Δικάστρου', - 'Δικαίων', - 'Δικορύφου', - 'Διλινάτων', - 'Διλόφου', - 'Διλόφου Λαρίσης', - 'Διλόφου Φαρσάλων', - 'Διμηνίου', - 'Διμηνιού', - 'Διμοκορίου', - 'Διμυλιάς', - 'Διοδίων', - 'Διομηδείας', - 'Διονυσίου', - 'Διονύσου', - 'Διπλατάνου', - 'Διποτάμου', - 'Διποταμιάς', - 'Δισπηλίου', - 'Διστράτου', - 'Διστόμου', - 'Διχειμάρρου', - 'Διχομοιρίου', - 'Διχωρίου', - 'Δοβλά', - 'Δοκιμίου', - 'Δοκός', - 'Δολίχης', - 'Δολιανών', - 'Δολού', - 'Δολών', - 'Δομίρου', - 'Δομβραίνης', - 'Δομενίκου', - 'Δομιανών', - 'Δομνίστης', - 'Δομοκού', - 'Δονούσης', - 'Δοξάτου', - 'Δοξαρά', - 'Δοξαρού', - 'Δορίσκου', - 'Δορβιτσιάς', - 'Δοτσικού', - 'Δουκάδων', - 'Δουκαναιίκων', - 'Δουλίου', - 'Δουμενών', - 'Δουμπιών', - 'Δουναίικων', - 'Δούκα', - 'Δράμας', - 'Δρίμιτσας', - 'Δραΐνας', - 'Δραβήσκου', - 'Δραγάνου', - 'Δραγασιάς', - 'Δραγοψάς', - 'Δραγωγίου', - 'Δρακαίων', - 'Δρακείας', - 'Δρακοβουνίου', - 'Δρακόνας', - 'Δρακότρυπας', - 'Δραμεσιών', - 'Δραπανιά', - 'Δραπετσώνας', - 'Δρεπάνου', - 'Δριμίσκου', - 'Δροσάτου', - 'Δροσίνη', - 'Δροσερού', - 'Δροσιά', - 'Δροσιάς', - 'Δροσινή', - 'Δροσοπηγής', - 'Δροσοχωρίου', - 'Δρυάλου', - 'Δρυμάδων', - 'Δρυμαίας', - 'Δρυμού', - 'Δρυοβούνου', - 'Δρυοφύτου', - 'Δρυόπης', - 'Δρύμη', - 'Δυρραχίου', - 'Δυσβάτου', - 'Δυτικής Φραγκίστας', - 'Δυτικού', - 'Δωδώνης', - 'Δωματίων', - 'Δωρίου', - 'Δωρικού', - 'Δωροθέας', - 'Δόλιανης', - 'Δόξης', - 'Δόριζα', - 'Δύο Βουνών', - 'Δύο Χωρίων', - 'Δύστου', - 'Εβροπούλων', - 'Εγγαρών', - 'Εγκλουβής', - 'Εδέσσης', - 'Εθιάς', - 'Εθνικού', - 'Ειδομένης', - 'Ειρηνικού', - 'Εκάλης', - 'Εκκάρας', - 'Εκκλησιών', - 'Εκκλησοχωρίου', - 'Εκκλησούλας', - 'Ελάτας', - 'Ελάτειας', - 'Ελάτης', - 'Ελάτου', - 'Ελάφου', - 'Ελίκας', - 'Ελίκης', - 'Ελαίας', - 'Ελαιοφύτου', - 'Ελαιοχωρίου', - 'Ελαιοχωρίων', - 'Ελαταριάς', - 'Ελατείας', - 'Ελατοχωρίου', - 'Ελατούς', - 'Ελατόβρυσης', - 'Ελαφονήσου', - 'Ελαφοχωρίου', - 'Ελαφότοπου', - 'Ελενών', - 'Ελεούσης', - 'Ελευθέρνης', - 'Ελευθέρου', - 'Ελευθερίου', - 'Ελευθερίου-Κορδελιού', - 'Ελευθεριανής', - 'Ελευθερουπόλεως', - 'Ελευθεροχωρίου', - 'Ελευθερών', - 'Ελικίστρας', - 'Ελληνίτσης', - 'Ελληνικού', - 'Ελληνικών', - 'Ελληνοεκκλησίας', - 'Ελληνοκάστρου', - 'Ελληνοπύργου', - 'Ελληνοχωρίου', - 'Ελλοπίας', - 'Ελούντας', - 'Εμμανουήλ Παππά', - 'Εμπάρου', - 'Εμπεσού', - 'Εμπορίου', - 'Εμπορείου', - 'Εμπορειού', - 'Εμπροσνέρου', - 'Ενορίας', - 'Εξάρχου', - 'Εξαλόφου', - 'Εξαμιλίων', - 'Εξανθείας', - 'Εξαπλατάνου', - 'Εξοχή', - 'Εξοχής', - 'Εξοχικού', - 'Εξωγής', - 'Εξωχωρίου', - 'Επάνω Βαθείας', - 'Επανομής', - 'Επανωχωρίου', - 'Επιβατών', - 'Επιδαύρου', - 'Επινιανών', - 'Επισκέψεως', - 'Επισκοπής', - 'Επισκοπής Γωνιάς', - 'Επισκοπής Νάουσας', - 'Επισκοπικού', - 'Επιταλίου', - 'Επταλόφου', - 'Επταμύλων', - 'Επταχωρίου', - 'Ερασμίου', - 'Ερατεινής', - 'Ερατεινού', - 'Ερατύρας', - 'Ερεικούσσης', - 'Ερεσού', - 'Ερετρίας', - 'Ερινεού', - 'Ερμακιάς', - 'Ερμητσίου', - 'Ερμιόνης', - 'Ερμουπόλεως', - 'Ερυθραίας', - 'Ερυθρών', - 'Ερυμανθείας', - 'Εσοχή', - 'Εσωβάλτων', - 'Εσωχωρίων', - 'Ευάνδρου', - 'Ευαγγελισμού', - 'Ευαγγελισμού Λαρίσης', - 'Ευαγγελιστρίας', - 'Ευγήρου', - 'Ευδήλου', - 'Ευζώνων', - 'Ευηνοχωρίου', - 'Ευκαρπίας', - 'Ευλάλου', - 'Ευμοίρου', - 'Ευξεινουπόλεως', - 'Ευπαλίου', - 'Ευρωπού', - 'Ευρωστίνης Ροζενών', - 'Ευόσμου', - 'Εφέσου', - 'Εφύρας', - 'Εχίνου', - 'Εύας', - 'Ζάκα', - 'Ζάκρου', - 'Ζάρκου', - 'Ζήριας', - 'Ζίρου', - 'Ζίτσης', - 'Ζίχνης', - 'Ζαγκλιβερίου', - 'Ζαγοράς', - 'Ζακυνθίων', - 'Ζαλόγγου', - 'Ζαππείου', - 'Ζαράκων', - 'Ζαρκαδιάς', - 'Ζαρού', - 'Ζαρούχλης', - 'Ζατούνης', - 'Ζαχάρως', - 'Ζαχλωριτίκων', - 'Ζαχλωρούς', - 'Ζαϊμίου', - 'Ζελίου', - 'Ζεμενού', - 'Ζενίων', - 'Ζερβοχωρίου', - 'Ζερμπισίων', - 'Ζευγαρακίου', - 'Ζευγολατείου', - 'Ζευγολατιού', - 'Ζεφυρίου', - 'Ζηλευτής', - 'Ζηλευτού', - 'Ζιγοβιστίου', - 'Ζουνακίου', - 'Ζουριδίου', - 'Ζούζουλης', - 'Ζυγού', - 'Ζυμπραγού', - 'Ζυφιά', - 'Ζωής', - 'Ζωγράφου', - 'Ζωνιανών', - 'Ζωοδόχου', - 'Ζωοδόχου Πηγής', - 'Ζωριάνου', - 'Ζωτικού', - 'Ζωφόρων', - 'Ζόλων', - 'Ζώνης', - 'Ηγουμενίτσης', - 'Ηλέκτρας', - 'Ηλιοκάλης', - 'Ηλιοκάστρου', - 'Ηλιοκώμης', - 'Ηλιορράχης', - 'Ηλιοχωρίου', - 'Ηλιούπολης', - 'Ηλιόλουστο', - 'Ημεροβιγλίου', - 'Ηραίου', - 'Ηρακλίτσης', - 'Ηρακλείας', - 'Ηρακλείου', - 'Θάνα', - 'Θάνους', - 'Θάσου', - 'Θέας', - 'Θέρμης', - 'Θέρμου', - 'Θήρας', - 'Θίσβης', - 'Θαλαμών', - 'Θαλερού', - 'Θαρουνίων', - 'Θαυμακού', - 'Θεισόας', - 'Θεμέλου', - 'Θεοδοσίων', - 'Θεοδωρακίου', - 'Θεοδωρακείου', - 'Θεοδωριάνων', - 'Θεοδώρας', - 'Θεοκτίστου', - 'Θεολόγου', - 'Θεοπέτρας', - 'Θερίσου', - 'Θεραπειό', - 'Θεριακησίου', - 'Θεριανού', - 'Θερινού', - 'Θερμησίας', - 'Θερμοπυλών', - 'Θερμών', - 'Θεσπιών', - 'Θεσπρωτικού', - 'Θεσσαλονίκης', - 'Θηβαίων', - 'Θηναίας', - 'Θηρασίας', - 'Θηριοπέτρας', - 'Θολαρίων', - 'Θολοποταμίου', - 'Θολού', - 'Θουρίας', - 'Θουρίου', - 'Θούριο Θουρίου', - 'Θρακομακεδόνων', - 'Θραψανού', - 'Θραψιμίου', - 'Θροφαρίου', - 'Θρυλορίου', - 'Θρόνου', - 'Θυμιανών', - 'Θυρίου', - 'Θωκνίας', - 'Ιάσιον', - 'Ιάσμου', - 'Ιαλυσού', - 'Ιβήρων', - 'Ιεραπέτρας', - 'Ιερισσού', - 'Ιερομνήμης', - 'Ιεροπηγής', - 'Ιητών', - 'Ιθάκης', - 'Ιθώμης', - 'Ικλαίνης', - 'Ιλίου', - 'Ιμέρου', - 'Ιμέρων', - 'Ινάχου', - 'Ινίου', - 'Ιππείου', - 'Ιρίων', - 'Ισαακίου', - 'Ισθμίας', - 'Ιστιαίας', - 'Ιστρίου', - 'Ισώματος Καρυών', - 'Ιτέα', - 'Ιτέας', - 'Ιωαννίνων', - 'Ιωαννιτών', - 'Ιωνίας', - 'Κάινας', - 'Κάλφα', - 'Κάμπου', - 'Κάμπων', - 'Κάπης', - 'Κάρπης', - 'Κάσου', - 'Κάσπακα', - 'Κάστρου', - 'Κάψα', - 'Κέδρου', - 'Κέδρων', - 'Κέλλης', - 'Κέντρου', - 'Κέχρου', - 'Κήπων', - 'Κίνυρα', - 'Κίου', - 'Κίρκης', - 'Κίρρας', - 'Καβάλας', - 'Καβάλου', - 'Καβάσιλα', - 'Καβαλλαρίου', - 'Καβαλλουρίου', - 'Καβασίλων', - 'Καββαδάδων', - 'Καβησού', - 'Καβουσίου', - 'Καβύλης', - 'Καγκαδίου', - 'Καδίου', - 'Καθενών', - 'Καθολικού', - 'Καινουργίου', - 'Καινούργιου Χωρίου', - 'Καισάρειας', - 'Καισαρίου', - 'Καισαριανής', - 'Κακαλετρίου', - 'Κακοβάτου', - 'Κακοδικίου', - 'Κακολάκκου', - 'Κακοπέτρου', - 'Κακοπλευρίου', - 'Κακοταρίου', - 'Κακουραίικων', - 'Καλάθου', - 'Καλάμου', - 'Καλάνδρας', - 'Καλάνου', - 'Καλής', - 'Καλής Βρύσης', - 'Καλής Κώμης', - 'Καλαβάρδα', - 'Καλαβρούζης', - 'Καλαβρύτων', - 'Καλαθενών', - 'Καλαμάτας', - 'Καλαμίου', - 'Καλαμακίου', - 'Καλαμαρά', - 'Καλαμαριάς', - 'Καλαμαύκας', - 'Καλαμιά', - 'Καλαμιάς', - 'Καλαμιτσίου', - 'Καλαμιτσίου Αλεξάνδρου', - 'Καλαμιτσίου Αμυγδαλίου', - 'Καλαμπάκας', - 'Καλαμπακίου', - 'Καλαμωτής', - 'Καλαμωτού', - 'Καλανίστρας', - 'Καλανδαρές', - 'Καλαποδίου', - 'Καλαρρυτών', - 'Καλαφατιώνων', - 'Καλεντίνης', - 'Καλεντζίου', - 'Καλεσιών', - 'Καλεσμένου', - 'Καλημεριάνων', - 'Καληράχης', - 'Καλιανών', - 'Καλιδόνης', - 'Καλιπάδου', - 'Καλιτσαίνης', - 'Καλλίου', - 'Καλλίστη', - 'Καλλίστης', - 'Καλλεργιανών', - 'Καλλιανίου', - 'Καλλιανού', - 'Καλλιδρόμου', - 'Καλλιθέας', - 'Καλλιθέας Σουλίου', - 'Καλλιθέας Φαρσάλων', - 'Καλλιθέας Φιλιατών', - 'Καλλιθήρου', - 'Καλλικράτειας', - 'Καλλικώμου', - 'Καλλιμασιάς', - 'Καλλινίκης', - 'Καλλιπεύκης', - 'Καλλιπόλεως', - 'Καλλιράχης', - 'Καλλιρρόης', - 'Καλλιφωνίου', - 'Καλλιφύτου', - 'Καλλιόπης', - 'Καλλονής', - 'Καλλυντήριον', - 'Καλοβάτου', - 'Καλογέρου', - 'Καλογήρων', - 'Καλογερεσίου', - 'Καλογερικού', - 'Καλογερόρραχης', - 'Καλογριανής', - 'Καλογριανών', - 'Καλοκάστρου', - 'Καλομοίρας', - 'Καλονερίου', - 'Καλονύκτου', - 'Καλοσκοπής', - 'Καλουδίου', - 'Καλουδιανών', - 'Καλουσίου', - 'Καλουτά', - 'Καλοχίου', - 'Καλοχωρίου', - 'Καλοχωρίου-Παντειχίου', - 'Καλού Αγρού', - 'Καλού Νερού', - 'Καλού Χωρίου', - 'Καλπακίου', - 'Καλτεζών', - 'Καλυβίων', - 'Καλυβίων Θορικού', - 'Καλυβίων Μυρτουντίων', - 'Καλυβίων Σοχάς', - 'Καλυβακίων', - 'Καλυβών', - 'Καλυδονίας', - 'Καλυθιών', - 'Καλυμνίων', - 'Καλύβου', - 'Καλών Δένδρων', - 'Καλών Νερών', - 'Καμάρας', - 'Καμάρων', - 'Καμένης', - 'Καμένων Βούρλων', - 'Καμήλας', - 'Καμαρίνας', - 'Καμαρίου', - 'Καμαρίτσης', - 'Καμαρίων', - 'Καμαριώτου', - 'Καμαρούλας', - 'Καμαρωτού', - 'Καμαρών', - 'Καματερού', - 'Καμενίτσης', - 'Καμενιάνων', - 'Καμηλαρίου', - 'Καμινίων', - 'Καμινακίου', - 'Καμιναράτων', - 'Καμισιανών', - 'Καμπάνη', - 'Καμπής', - 'Καμπανού', - 'Καμπιών', - 'Καμποχωρίου', - 'Κανακάδων', - 'Καναλίου', - 'Καναλίων', - 'Καναλλακίου', - 'Κανδάλου', - 'Κανδάνου', - 'Κανδήλας', - 'Καπανδριτίου', - 'Καπαρελλίου', - 'Καπελέτου', - 'Καπεσόβου', - 'Καπλανίου', - 'Καπνοφύτου', - 'Καπνοχωρίου', - 'Καππά', - 'Καππαδοκικού', - 'Καππαριάς', - 'Καράνου', - 'Καράτουλα', - 'Καράτουλα Κυνουρίας', - 'Καράτουλα Μεγαπόλεως', - 'Καρέας', - 'Καρές', - 'Καρίτσης', - 'Καρίτσης Δολόπων', - 'Καρίτσης Καρπενησίου', - 'Καραβά', - 'Καραβάδου', - 'Καραβομύλου', - 'Καραβοστάμου', - 'Καραιίκων', - 'Καρατζά', - 'Καραϊσκάκη', - 'Καρβάλης', - 'Καρβασαρά', - 'Καρβελά', - 'Καρβελίου', - 'Καρβουνάδων', - 'Καρβουναρίου', - 'Καρδίας', - 'Καρδίτσης', - 'Καρδαμά', - 'Καρδαμαίνης', - 'Καρδαμύλης', - 'Καρδαμύλων', - 'Καρδαρά', - 'Καρδαριτσίου', - 'Καρδιάς', - 'Καρδιακαυτίου', - 'Καρδιανής', - 'Καρδιτσομαγούλας', - 'Καριανής', - 'Καρινών', - 'Καριταίνης', - 'Καριωτίου', - 'Καριωτών', - 'Καρκιναγρίου', - 'Καρλοβασίων', - 'Καρνασίου', - 'Καρνεζαίικων', - 'Καροπλεσίου', - 'Καρουζανών', - 'Καρουσάδων', - 'Καρουτών', - 'Καρπάθου', - 'Καρπασίου', - 'Καρπενησίου', - 'Καρπερής', - 'Καρπερού', - 'Καρποφόρων', - 'Καρποχωρίου', - 'Καρτεράδου', - 'Καρτερίου', - 'Καρτερολίου', - 'Καρτερών', - 'Καρυάς', - 'Καρυδίου', - 'Καρυδίου Μιραμπέλλου', - 'Καρυδίτσας', - 'Καρυδιάς', - 'Καρυοβουνίου', - 'Καρυουπόλεως', - 'Καρυοφύτου', - 'Καρυοχωρίου', - 'Καρυωτίσσης', - 'Καρυών', - 'Καρωτής', - 'Καρύστου', - 'Καρών Αποκορρώνου', - 'Καρών Κισσάμου', - 'Κασάνου', - 'Κασσανδρείας', - 'Κασσανδρηνού', - 'Κασσιόπης', - 'Καστάνιανης', - 'Καστέλλας', - 'Καστέλλου', - 'Κασταμονίτσης', - 'Καστανέας', - 'Καστανέας Επιδαύρου Λιμηράς', - 'Καστανίτσης', - 'Καστανίων', - 'Καστανερής', - 'Καστανεών', - 'Καστανιάς', - 'Καστανιωτίσσης', - 'Καστανοφύτου', - 'Καστανοχωρίου', - 'Καστανούλας', - 'Καστανούσσης', - 'Καστανώνος Ζαγορίου', - 'Καστελλάνων Γύρου', - 'Καστελλάνων Μέσης', - 'Καστελλίου', - 'Καστελλίου Φουρνής', - 'Καστελλίων', - 'Καστελλιανών', - 'Καστορίας', - 'Καστορείου', - 'Καστού', - 'Καστρίου', - 'Καστρίτσης', - 'Καστρίων', - 'Καστρακίου', - 'Καστριτσίου', - 'Καστριωτίσσης', - 'Κατάκαλης', - 'Καταβόθρας', - 'Κατακαλίου', - 'Κατακοίλου', - 'Κατακόλου', - 'Καταλάκκου', - 'Καταλαγαρίου', - 'Καταλωνίων', - 'Καταμάχης', - 'Καταπόλων', - 'Καταρράκτου', - 'Κατασταρίου', - 'Καταφυγίου', - 'Καταφυλλίου', - 'Καταφύτου', - 'Καταχά', - 'Κατερίνης', - 'Κατοχής', - 'Κατούνας', - 'Κατούνης', - 'Κατσίμπαλη', - 'Κατσαρού', - 'Κατσαρωνίου', - 'Κατσιδωνίου', - 'Κατσικά', - 'Κατταβίας', - 'Κατωγής', - 'Κατωμερίου', - 'Κατωχωρίου', - 'Καυκάσου', - 'Καυκωνίας', - 'Καψάλων', - 'Καψοράχης', - 'Κελεφά', - 'Κεντρικής', - 'Κεντρικού', - 'Κεντροχωρίου', - 'Κεράμου', - 'Κεράς', - 'Κερίου', - 'Κεραμέ', - 'Κεραμίου', - 'Κεραμίτσης', - 'Κεραματών', - 'Κεραμείας', - 'Κεραμείων', - 'Κεραμειών', - 'Κεραμιδίου', - 'Κεραμιδιάς', - 'Κεραμουτσίου', - 'Κεραμωτής', - 'Κερασέα', - 'Κερασέας', - 'Κερασίτσης', - 'Κερασίων', - 'Κερασεών', - 'Κερασιάς', - 'Κερασοχωρίου', - 'Κεραστάρη', - 'Κερασόβου', - 'Κερατέας', - 'Κερατσινίου', - 'Κερδυλίων', - 'Κερκίνης', - 'Κερκυραίων', - 'Κερπινής', - 'Κερτέζης', - 'Κερυνείας', - 'Κεσσάνης', - 'Κεστρίνης', - 'Κεφάλου', - 'Κεφαλά', - 'Κεφαλίου', - 'Κεφαλαρίου', - 'Κεφαλινού', - 'Κεφαλοβρυσίου', - 'Κεφαλοβρύσου', - 'Κεφαλοχωρίου', - 'Κεφαλόβρυσης', - 'Κεχρινιάς', - 'Κεχριών', - 'Κεχροκάμπου', - 'Κηκίδιον', - 'Κηπίων', - 'Κηπουρείου', - 'Κηρίνθου', - 'Κηφισιάς', - 'Κιβερίου', - 'Κιβωτού', - 'Κιζάριον', - 'Κιλελέρ', - 'Κιλκίς', - 'Κιμμερίων', - 'Κιμώλου', - 'Κινιδάρου', - 'Κιονίου', - 'Κιρκιζατών', - 'Κισσάμου', - 'Κισσού', - 'Κλένιας', - 'Κλήματος Ευπαλίου', - 'Κλαδά', - 'Κλαδέου', - 'Κλαδορράχης', - 'Κλαυσίου', - 'Κλείτου', - 'Κλειδίου', - 'Κλειδωνιάς', - 'Κλεινού', - 'Κλεινών', - 'Κλειούς', - 'Κλεισορρευμάτων', - 'Κλεισούρας', - 'Κλεισωρείας', - 'Κλειτορίας', - 'Κλειτσού', - 'Κλεπάς', - 'Κληματακίου', - 'Κληματιάς', - 'Κλημεντίου', - 'Κλινδιάς', - 'Κλοκοτού', - 'Κλωνίου', - 'Κνίδης', - 'Κοίλων', - 'Κοίτας', - 'Κοζάνης', - 'Κοθρέα', - 'Κοιλαδίου', - 'Κοιλιωμένου', - 'Κοιμήσεως', - 'Κοινής', - 'Κοκκάλας', - 'Κοκκίνου', - 'Κοκκίνου Χωρίου', - 'Κοκκαρίου', - 'Κοκκινίου', - 'Κοκκινιάς', - 'Κοκκινογείου', - 'Κοκκινογείων', - 'Κοκκινολιθαρίου', - 'Κοκκινομηλέας', - 'Κοκκινοπηλού', - 'Κοκκινορράχης', - 'Κοκκινοχωρίου', - 'Κοκκινόβρυσης', - 'Κοκκορά', - 'Κοκκωνίου', - 'Κοκκωτών', - 'Κολινδρού', - 'Κολιρίου', - 'Κολλινών', - 'Κολοκυθιάς', - 'Κολυμβαρίου', - 'Κολχικής', - 'Κολχικού', - 'Κομάνου', - 'Κομάρων', - 'Κομίτου', - 'Κομηλίου', - 'Κομιτάτων', - 'Κομμένου', - 'Κομνίνης', - 'Κομνηνάδων', - 'Κομνηνών', - 'Κομοτηνής', - 'Κομπηγαδίου', - 'Κομπιτσίου', - 'Κομποτάδων', - 'Κομποτίου', - 'Κομπωτής', - 'Κονίσκης', - 'Κονίτσης', - 'Κονακίων', - 'Κονιάκου', - 'Κονιδίτσης', - 'Κονισκού', - 'Κονιστρών', - 'Κονοπίνας', - 'Κονταιίκων', - 'Κοντακαιίκων', - 'Κονταραίνης', - 'Κονταριωτίσσης', - 'Κοντιά', - 'Κοντοβαζαίνης', - 'Κοντοβουνίου', - 'Κοντογενάδας', - 'Κοντοδεσποτίου', - 'Κοντολιανίκων', - 'Κοντομαρίου', - 'Κοντοπουλίου', - 'Κοντοπούλων', - 'Κοξαρές', - 'Κοπάνης', - 'Κοπανακίου', - 'Κοπανού', - 'Κορίνθου', - 'Κορίτιανης', - 'Κορακιάνας', - 'Κορακοβουνίου', - 'Κορακοχωρίου', - 'Κορησού', - 'Κορησσίας', - 'Κορθίου', - 'Κορινού', - 'Κορμίστης', - 'Κορνοφωλεάς', - 'Κορνού', - 'Κοροίβου', - 'Κορομηλέας', - 'Κορυδαλλού', - 'Κορυσχάδων', - 'Κορυφής', - 'Κορυφασίου', - 'Κορυφούλας', - 'Κορυφών', - 'Κορφιωτίσσης', - 'Κορφοβουνίου', - 'Κορφών', - 'Κορωνείας', - 'Κορωνησίας', - 'Κορωνούδας', - 'Κορώνας', - 'Κορώνης', - 'Κορώνου', - 'Κοσκίνων', - 'Κοσκινά', - 'Κοσκινού', - 'Κοσμά', - 'Κοσμαδαίων', - 'Κοσματίου', - 'Κοσμηράς', - 'Κοτρωνίου', - 'Κοτσανοπούλου', - 'Κοτσικιάς', - 'Κοτύλης', - 'Κουβαλάτων', - 'Κουβαρά', - 'Κουβουκλίων', - 'Κουδουνίου', - 'Κουδουνίων', - 'Κουκκουλίου', - 'Κουκκουλίων', - 'Κουκκουνάρας', - 'Κουκλεσίου', - 'Κουκλιών', - 'Κουκουλιών', - 'Κουκουναράς', - 'Κουλεντίων', - 'Κουλούρας', - 'Κουμαιίκων', - 'Κουμαραδαίων', - 'Κουμαριάς', - 'Κουμαριτσίου', - 'Κουμπουριανών', - 'Κουνάβων', - 'Κουνινάς', - 'Κουνουπίτσης', - 'Κουνουπιάς', - 'Κουνουπιδιανών', - 'Κουπακίου', - 'Κουπιών', - 'Κουρέντων', - 'Κουραμάδων', - 'Κουρεμαδίου', - 'Κουρκουλών', - 'Κουρνά', - 'Κουρουκλάτων', - 'Κουρουνίου', - 'Κουρουνίων', - 'Κουρουνιού', - 'Κουρουτών', - 'Κουρτακίου', - 'Κουρτεσίου', - 'Κουσέ', - 'Κουσπάδων', - 'Κουτίφαρη', - 'Κουταλά', - 'Κουτρούφων', - 'Κουτσίου', - 'Κουτσελιού', - 'Κουτσοποδίου', - 'Κουτσοχέρας', - 'Κουτσοχέρου', - 'Κουτσού', - 'Κουφαλίων', - 'Κουφοβούνου', - 'Κουφονησίων', - 'Κουφοπούλου', - 'Κουφού', - 'Κοχύλου', - 'Κούβελα', - 'Κούκκου', - 'Κούμανη', - 'Κούμαρη', - 'Κούμων', - 'Κούνου', - 'Κούταλης', - 'Κούτελης', - 'Κούφης', - 'Κράψης', - 'Κρήμνης', - 'Κρήνης', - 'Κρήνης Αιγιαλείας', - 'Κρήνης Πατρών', - 'Κρίνου', - 'Κραθίου', - 'Κρανέας', - 'Κρανιδίου', - 'Κρανιδίων', - 'Κρανούλας', - 'Κρασίου', - 'Κρατερού', - 'Κρεμαστής', - 'Κρεμαστού', - 'Κρεμμυδίων', - 'Κρεστένων', - 'Κρηνίδων', - 'Κρηνίτσης', - 'Κρηνών', - 'Κρηστώνης', - 'Κρητηνίας', - 'Κριατσίου', - 'Κριεζών', - 'Κριθαρακίων', - 'Κριθιάς', - 'Κρικέλλου', - 'Κριμηνίου', - 'Κρινοφύτων', - 'Κριτσάς', - 'Κροκίου', - 'Κροκεών', - 'Κροκυλείου', - 'Κρούστα', - 'Κρυονέρου', - 'Κρυονερίου', - 'Κρυονερίου Ηλείας', - 'Κρυονερίου Ολυμπίας', - 'Κρυονερίτη', - 'Κρυονερίων', - 'Κρυοπηγής', - 'Κρυσταλλοπηγής', - 'Κρυσταλλόβρυσης', - 'Κρυφοβού', - 'Κρυόβρυση', - 'Κρυόβρυσης', - 'Κρυών', - 'Κρωβύλης', - 'Κρωπίας', - 'Κρόκου', - 'Κρύας', - 'Κρύας Βρύσης', - 'Κτένιον', - 'Κτικάδου', - 'Κτιμένης', - 'Κτισμάτων', - 'Κτιστάδων', - 'Κυανής', - 'Κυδωνέας', - 'Κυδωνιών', - 'Κυθήρων', - 'Κυλλήνης', - 'Κυμίνων', - 'Κυνηγού', - 'Κυνοπιαστών', - 'Κυπαρίσσου', - 'Κυπαρισσίας', - 'Κυπαρισσίου', - 'Κυπαρισσίων', - 'Κυρά Βγένας', - 'Κυρίων', - 'Κυρακαλής', - 'Κυριάννας', - 'Κυριακής', - 'Κυριακίου', - 'Κυριακοχωρίου', - 'Κυρτώνης', - 'Κυψέλης', - 'Κυψέλης Μεθάνων', - 'Κυψελοχωρίου', - 'Κω', - 'Κωνσταντίας', - 'Κωνσταντίνων', - 'Κωνσταντινάτου', - 'Κωστάνιανης', - 'Κωστακιών', - 'Κωσταλέξη', - 'Κωσταραζίου', - 'Κωτιλίου', - 'Κωφών', - 'Κόκκινων Λουριών', - 'Κόκλα', - 'Κόμπων', - 'Κόντσικας', - 'Κόξαρης', - 'Κόρφου', - 'Κόσμιον', - 'Κότρωνα', - 'Κύθνου', - 'Κύμης', - 'Κώμης', - 'Κώστου', - 'Κώτα', - 'Λάβδα', - 'Λάβδανης', - 'Λάγιου', - 'Λάγκας', - 'Λάδης', - 'Λάκκας', - 'Λάκκων', - 'Λάλα', - 'Λάλουκα', - 'Λάμπου Μύλων', - 'Λάρδου', - 'Λάστης', - 'Λάστρου', - 'Λάτα', - 'Λέκας', - 'Λέρου', - 'Λίμνης', - 'Λίνδου', - 'Λίππας', - 'Λίστας', - 'Λαΐστης', - 'Λαέρμων', - 'Λαβάρων', - 'Λαγίας', - 'Λαγανά', - 'Λαγκάδας', - 'Λαγκαδά', - 'Λαγκαδίων', - 'Λαγκαδαιίκων', - 'Λαγκαδακίων', - 'Λαγκαδικίων', - 'Λαγοβουνίου', - 'Λαγολίου', - 'Λαγορράχης', - 'Λαγού', - 'Λαγυνών', - 'Λαγωπόδου', - 'Λαδά', - 'Λαδικούς', - 'Λαδοχωρίου', - 'Λαζαράτων', - 'Λαζαρίνας', - 'Λαιίκων', - 'Λαιμού', - 'Λακήθρας', - 'Λακκοπέτρας', - 'Λακκωμάτων', - 'Λακκωνίων', - 'Λακώνων', - 'Λαλιώτου', - 'Λαμιέων', - 'Λαμπαίνης', - 'Λαμπείας', - 'Λαμπερού', - 'Λαμπινής', - 'Λαμπινούς', - 'Λαμπιρίου', - 'Λαμπιωτών', - 'Λαμποκάμπου', - 'Λαμπρόν', - 'Λαμψάκου', - 'Λαμύρων', - 'Λανθίου', - 'Λαντζουνάτου', - 'Λαπαναγών', - 'Λαρίσης', - 'Λαρανίου', - 'Λαρύμνης', - 'Λασταιίκων', - 'Λατζοΐου', - 'Λατσίδας', - 'Λαυκίου', - 'Λαυρεωτικής', - 'Λαφιώνας', - 'Λαφυστίου', - 'Λαχίου', - 'Λαχανά', - 'Λαχανάδας', - 'Λαχανιάς', - 'Λαψίστης', - 'Λαύκας', - 'Λαύκου', - 'Λεήμονα', - 'Λεβαίας', - 'Λεβαδέων', - 'Λεβεντοχωρίου', - 'Λεβιδίου', - 'Λειανοκλαδίου', - 'Λειψυδρίου', - 'Λειψών', - 'Λεκάνης', - 'Λεοντίου', - 'Λεοντίτου', - 'Λεονταρίου', - 'Λεπενούς', - 'Λεπετύμνου', - 'Λεπιανών', - 'Λεπούρων', - 'Λεπρέου', - 'Λεπτινίου', - 'Λεπτοκαρυάς', - 'Λεπτοκαρυάς Ζαγορίου', - 'Λεπτοκαρυών', - 'Λεπτοπόδων', - 'Λεσινίου', - 'Λευκάρων', - 'Λευκίμμης', - 'Λευκαδίων', - 'Λευκαδιτίου', - 'Λευκακίων', - 'Λευκασίου', - 'Λευκογείων', - 'Λευκοθέας', - 'Λευκοπηγής', - 'Λευκοτόπου', - 'Λευκοχωρίου', - 'Λευκοχώρας', - 'Λευκού', - 'Λευκόβρυσης', - 'Λευκών', - 'Λεχαίου', - 'Λεχαινών', - 'Λεχουρίου', - 'Λεχωνίων', - 'Λεχόβου', - 'Λεωνιδίου', - 'Λεύκας', - 'Λεύκης', - 'Λεύκτρων', - 'Λημερίου', - 'Ληνός', - 'Ληξουρίου', - 'Λητής', - 'Λιανοβεργίου', - 'Λιαπάδων', - 'Λιας', - 'Λιβαδίου', - 'Λιβαδίων', - 'Λιβαδακίου', - 'Λιβαδαρίου', - 'Λιβαδερού', - 'Λιβαδιάς', - 'Λιβαδοχωρίου', - 'Λιβανατών', - 'Λιβαρτζίου', - 'Λιβερών', - 'Λιγκιάδων', - 'Λιγορτύνου', - 'Λιγοψάς', - 'Λιδωρικίου', - 'Λιθίνου', - 'Λιθίου', - 'Λιθακιάς', - 'Λιθιάς', - 'Λιθινών', - 'Λιθοβουνίων', - 'Λιθοτόπου', - 'Λιθοχωρίου', - 'Λικνάδων', - 'Λιλαίας', - 'Λιλιανού', - 'Λιμένος Χερσονήσου', - 'Λιμίνης', - 'Λιμεναρίων', - 'Λιμνίτσης', - 'Λιμνιών', - 'Λιμνοτόπου', - 'Λιμνοχωρίου', - 'Λιμνών', - 'Λιναριάς', - 'Λινισταίνης', - 'Λιοδώρας', - 'Λιοπράσου', - 'Λιοσίων', - 'Λιπαρού', - 'Λιποχωρίου', - 'Λιρών', - 'Λισβορίου', - 'Λιτοσέλου', - 'Λιτοχώρου', - 'Λογγάδων', - 'Λογγάς', - 'Λογγάστρας', - 'Λογγιτσίου', - 'Λογγού', - 'Λογκανίκου', - 'Λογοθετιανίκων', - 'Λοξάδας', - 'Λουκά', - 'Λουκισίων', - 'Λουκομίου', - 'Λουρδάτων', - 'Λουρών', - 'Λουσακιών', - 'Λουσικών', - 'Λουσών', - 'Λουτουφίου', - 'Λουτρακίου', - 'Λουτρακίου Περαχώρας', - 'Λουτροπηγής', - 'Λουτροπόλεως Θερμής', - 'Λουτροπόλεως Μεθάνων', - 'Λουτροτόπου', - 'Λουτρού', - 'Λουτρού Λαρίσης', - 'Λουτρών', - 'Λουτρών Αιδηψού', - 'Λουτρών Ηραίας', - 'Λουτρών Υπάτης', - 'Λουτσίου', - 'Λουτσών', - 'Λοφίσκου', - 'Λοφαρίου', - 'Λοχριάς', - 'Λούβρης', - 'Λούβρου', - 'Λούμα', - 'Λούρου', - 'Λούτσας', - 'Λούτσης', - 'Λούχας', - 'Λυγαριάς', - 'Λυγερέα', - 'Λυγερής', - 'Λυγιά', - 'Λυγιάς', - 'Λυδίας', - 'Λυκίσσης', - 'Λυκαίου', - 'Λυκοβρύσεως', - 'Λυκοποριάς', - 'Λυκοσούρας', - 'Λυκοστόμου', - 'Λυκοτράφου', - 'Λυκουδίου', - 'Λυκουρίας', - 'Λυκοχίων', - 'Λυκούρεση', - 'Λυκόγιαννης', - 'Λυπουδεσίου', - 'Λυρκείας', - 'Λυσιμαχείας', - 'Λυσσαρέας', - 'Λυττού', - 'Λυχνού', - 'Λόγγου', - 'Λόφου', - 'Λόφων', - 'Λύγγου', - 'Λύκειον', - 'Λύρας', - 'Λύχνων', - 'Μάγειρα', - 'Μάζης', - 'Μάζιας', - 'Μάκρης', - 'Μάλεμε', - 'Μάλης', - 'Μάλθης', - 'Μάλτας', - 'Μάναρη', - 'Μάνδρας', - 'Μάνεση', - 'Μάνης', - 'Μάννα', - 'Μάννας', - 'Μάραθα', - 'Μάρθας', - 'Μάρκου', - 'Μάστρου', - 'Μάχου', - 'Μέγα Κάμπου', - 'Μέγα Πιστόν', - 'Μέρους', - 'Μέρωνα', - 'Μέσα Διδύμας', - 'Μέσα Λακκωνίων', - 'Μέσα Λασιθίου', - 'Μέσα Μουλιανών', - 'Μέση', - 'Μέσης', - 'Μέσης Συνοικίας Τρικάλων', - 'Μέσου Γερακαρίου', - 'Μήλου', - 'Μίλα', - 'Μίνας', - 'Μίνθης', - 'Μίστρου', - 'Μαγαζιών', - 'Μαγαρικαρίου', - 'Μαγγάνων', - 'Μαγγανίτου', - 'Μαγγανιακού', - 'Μαγικού', - 'Μαγνησίας', - 'Μαγουλάδων', - 'Μαγουλίτσης', - 'Μαγουλιάνων', - 'Μαγούλας', - 'Μαδένης', - 'Μαδύτου', - 'Μαζίου', - 'Μαζαράκι', - 'Μαζαρακίου', - 'Μαζαρακιάς', - 'Μαθίας', - 'Μαθιάς', - 'Μαθρακίου', - 'Μαινάλου', - 'Μακίστου', - 'Μακράδων', - 'Μακρίνου', - 'Μακρίσης', - 'Μακρακώμης', - 'Μακρινής', - 'Μακρινίτσης', - 'Μακρινούς', - 'Μακρισίων', - 'Μακρολιβάδου', - 'Μακροταντάλου', - 'Μακροχωρίου', - 'Μακρυγιάλου', - 'Μακρυκάπας', - 'Μακρυλιάς', - 'Μακρυπλαγίου', - 'Μακρυρράχης', - 'Μακρυσίου', - 'Μακρυχωρίου', - 'Μακρυωτίκων', - 'Μακυνείας', - 'Μαλάξας', - 'Μαλίων', - 'Μαλαθύρου', - 'Μαλακάσης', - 'Μαλακίων', - 'Μαλακασίου', - 'Μαλαμάτων', - 'Μαλανδρίνου', - 'Μαλαντρενίου', - 'Μαλγάρων', - 'Μαλεσίνης', - 'Μαλεσιάδας', - 'Μαλετιάνων', - 'Μαλλωτών', - 'Μαλουνίου', - 'Μαλυκρείου', - 'Μαλών', - 'Μαμουλάδας', - 'Μαμουσιάς', - 'Μαναγούλης', - 'Μανασσή', - 'Μανδάλου', - 'Μανδηλίου', - 'Μανδρακίου', - 'Μανδρινής', - 'Μανδρών', - 'Μανεσίου Καλαβρύτων', - 'Μανεσίου Πατρών', - 'Μανθυρέας', - 'Μανιάκων', - 'Μανιακίου', - 'Μανικίων', - 'Μανολατών', - 'Μανολιάσης', - 'Μανολιοπούλου', - 'Μανταμάδου', - 'Μαντασιάς', - 'Μαντείου', - 'Μαντζαρίου', - 'Μαντινείας', - 'Μαντουδίου', - 'Μαράθου', - 'Μαρίνης', - 'Μαρίου', - 'Μαραθέας', - 'Μαραθιά', - 'Μαραθιάς', - 'Μαραθοκάμπου', - 'Μαραθοπόλεως', - 'Μαραθούσσης', - 'Μαραντοχωρίου', - 'Μαρασίων', - 'Μαργαριτίου', - 'Μαργαριτών', - 'Μαργελίου', - 'Μαριολάτας', - 'Μαριού', - 'Μαριτσών', - 'Μαριών', - 'Μαρκινιάδας', - 'Μαρκοπούλου', - 'Μαρκοπούλου Μεσογαίας', - 'Μαρκοπούλου Ωρωπού', - 'Μαρμάρου', - 'Μαρμάρων', - 'Μαρμακέτου', - 'Μαρμαρά', - 'Μαρμαρίνης', - 'Μαρμαρίου', - 'Μαρουλά', - 'Μαρπήσσης', - 'Μαρτίνου', - 'Μαρωνίας', - 'Μαρωνείας', - 'Μασάρων', - 'Μασχολουρίου', - 'Ματίου', - 'Ματαράγκας', - 'Ματεσίου', - 'Ματονερίου', - 'Ματσουκίου', - 'Μαυράτων', - 'Μαυρίλου', - 'Μαυραναίων', - 'Μαυρατζαίων', - 'Μαυραχάδων', - 'Μαυρελίου', - 'Μαυρικίου', - 'Μαυριών', - 'Μαυροβάτου', - 'Μαυροβουνίου', - 'Μαυρογιάννη', - 'Μαυροδενδρίου', - 'Μαυροθαλάσσης', - 'Μαυροκάμπου', - 'Μαυροκκλησίου', - 'Μαυρολεύκης', - 'Μαυρολιθαρίου', - 'Μαυρολόφου', - 'Μαυρομμάτας', - 'Μαυρομματίου', - 'Μαυρομματίου Παμίσου', - 'Μαυρονερίου', - 'Μαυρονόρους', - 'Μαυροπηγής', - 'Μαυροπούλου', - 'Μαυρουδίου', - 'Μαυροχωρίου', - 'Μαυρούδας', - 'Μαχαιρά', - 'Μαχαιράδου', - 'Μαχαιρών', - 'Μεγάλης Βρύσης', - 'Μεγάλης Γότιστας', - 'Μεγάλης Δοξιπάρας', - 'Μεγάλης Κάψης', - 'Μεγάλης Κερασέας', - 'Μεγάλης Παναγίας', - 'Μεγάλης Στέρνας', - 'Μεγάλης Χώρας', - 'Μεγάλου Βάλτου', - 'Μεγάλου Γαρδικίου', - 'Μεγάλου Δουκάτου', - 'Μεγάλου Ελευθεροχωρίου', - 'Μεγάλου Ευυδρίου', - 'Μεγάλου Κεφαλοβρύσου', - 'Μεγάλου Μοναστηρίου', - 'Μεγάλου Περιστερίου', - 'Μεγάλου Σειρηνίου', - 'Μεγάλου Χωρίου', - 'Μεγάλων Καλυβίων', - 'Μεγάρου', - 'Μεγάρχης', - 'Μεγίστης', - 'Μεγαλοβρύσου', - 'Μεγαλοκάμπου', - 'Μεγαλοπόλεως', - 'Μεγαλοχωρίου', - 'Μεγαλόχαρης', - 'Μεγαπλατάνου', - 'Μεγαρέων', - 'Μεθώνης', - 'Μελά', - 'Μελάμπων', - 'Μελάνων', - 'Μελέτη', - 'Μελίας', - 'Μελίκης', - 'Μελίσσα', - 'Μελίσσης', - 'Μελίτης', - 'Μελανθίου', - 'Μελανιού', - 'Μελενικιτσίου', - 'Μελεσών', - 'Μελιάς', - 'Μελιανών', - 'Μελιβοίας', - 'Μελιγαλά', - 'Μελιγγών', - 'Μελιγούς', - 'Μελιδονίου', - 'Μελισσίου', - 'Μελισσίων', - 'Μελισσοκομείου', - 'Μελισσοπέτρας', - 'Μελισσοτόπου', - 'Μελισσουργακίου', - 'Μελισσουργού', - 'Μελισσουργών', - 'Μελισσοχωρίου', - 'Μελισσόπετρας', - 'Μελιτίνης', - 'Μελιταίας', - 'Μελπείας', - 'Μενδενίτσης', - 'Μενεμένης', - 'Μενετών', - 'Μενιδίου', - 'Μεξιατών', - 'Μεράς', - 'Μεριάς', - 'Μερκάδας', - 'Μερκοβουνίου', - 'Μερόπης', - 'Μεσαίας Κάψης', - 'Μεσαίου', - 'Μεσαγρού', - 'Μεσαναγρού', - 'Μεσαρίστης', - 'Μεσαριάς', - 'Μεσαριάς Άνδρου', - 'Μεσελέρων', - 'Μεσενικόλα', - 'Μεσημβρίας', - 'Μεσημερίου', - 'Μεσιάς', - 'Μεσιανής', - 'Μεσιανού', - 'Μεσινού', - 'Μεσκλών', - 'Μεσοβουνίου', - 'Μεσοβουνίων', - 'Μεσοβούνου', - 'Μεσογείου', - 'Μεσοκάμπου', - 'Μεσοκώμης', - 'Μεσολακκιάς', - 'Μεσολογγίου', - 'Μεσολουρίου', - 'Μεσολόγγου', - 'Μεσονησίου', - 'Μεσοποτάμου', - 'Μεσοποταμιάς', - 'Μεσοπύργου', - 'Μεσορράχης', - 'Μεσορρουγίου', - 'Μεσορόπης', - 'Μεσοτόπου', - 'Μεσοχωρίου', - 'Μεσοχωρίου Υπάτης', - 'Μεσοχωρίων', - 'Μεσοχώρας', - 'Μεσσήνης', - 'Μεστών', - 'Μετάλλων', - 'Μεταγκιτσίου', - 'Μεταμορφώσεως', - 'Μεταμόρφωσης', - 'Μεταξά', - 'Μεταξάδας', - 'Μεταξάδων', - 'Μεταξάτων', - 'Μεταξοχωρίου', - 'Μετοχίου', - 'Μετοχίου Διρφύων', - 'Μετοχίου Κηρέως', - 'Μετσόβου', - 'Μετόχιο Προδρόμου', - 'Μηθύμνης', - 'Μηλέα', - 'Μηλέας', - 'Μηλίνης', - 'Μηλίτσας', - 'Μηλίτσης', - 'Μηλεών', - 'Μηλιάς', - 'Μηλιανών', - 'Μηλιωτίου', - 'Μηλοχωρίου', - 'Μητάτου', - 'Μητάτων', - 'Μητροπόλεως', - 'Μητρουσίου', - 'Μηχανιώνας', - 'Μιαμούς', - 'Μιδέας', - 'Μικράς Γότιστας', - 'Μικράς Μαντινείας', - 'Μικροβάλτου', - 'Μικροθηβών', - 'Μικροκάμπου', - 'Μικροκάστρου', - 'Μικροκλεισούρας', - 'Μικρολίμνης', - 'Μικρολιβάδου', - 'Μικρομάνης', - 'Μικρομηλέας', - 'Μικροπόλεως', - 'Μικροσπηλιάς', - 'Μικροχωρίου', - 'Μικρού Βάλτου', - 'Μικρού Βουνού', - 'Μικρού Δάσους', - 'Μικρού Δερείου', - 'Μικρού Μοναστηρίου', - 'Μικρού Περιβολακίου', - 'Μικρού Περιστερίου', - 'Μικρού Ποντιά', - 'Μικρού Σουλίου', - 'Μικρού Χωρίου', - 'Μικρόν Πιστόν', - 'Μιλάτου', - 'Μιλλιαράδων', - 'Μιντιλογλίου', - 'Μιράνων', - 'Μιραλίου', - 'Μιστεγνών', - 'Μιτοπόλεως', - 'Μιχαλιτσίου', - 'Μιχοΐου', - 'Μοίρας', - 'Μοδίου', - 'Μοιρών', - 'Μολάων', - 'Μολίστης', - 'Μολυβδοσκεπάστου', - 'Μολόχας', - 'Μονής', - 'Μοναστηρίου', - 'Μοναστηρακίου', - 'Μοναχιτίου', - 'Μονεμβασίας', - 'Μονοδενδρίου', - 'Μονοδρύου', - 'Μονοκαρυάς', - 'Μονοκκλησιάς', - 'Μονολίθου', - 'Μονολιθίου', - 'Μονοπολάτων', - 'Μονοσπίτων', - 'Μονόβρυσης', - 'Μοραΐτικων', - 'Μορονίου', - 'Μορφοβουνίου', - 'Μοσιάς', - 'Μοσχάτου', - 'Μοσχοκαρυάς', - 'Μοσχοποτάμου', - 'Μοσχοφύτου', - 'Μοσχοχωρίου', - 'Μουδανιών', - 'Μουζίλου', - 'Μουζακίου', - 'Μουζακαίων', - 'Μουζακαιίκων', - 'Μουζουρά', - 'Μουλίων', - 'Μουλιανών', - 'Μουλκίου', - 'Μουρεσίου', - 'Μουριάς', - 'Μουριατάδας', - 'Μουρικίου', - 'Μουριών', - 'Μουρνές', - 'Μουρνιών', - 'Μουσάτων', - 'Μουσθένης', - 'Μουσιωτίτσης', - 'Μουσουνίτσης', - 'Μουσούρων', - 'Μοχού', - 'Μούδρου', - 'Μούντρου', - 'Μπάφρας', - 'Μπαμπίνης', - 'Μπαμπαλιού', - 'Μπαουσιών', - 'Μπατσίου', - 'Μπελοκομίτης', - 'Μπενιτσών', - 'Μπεστιάς', - 'Μπιζανίου', - 'Μποζικά', - 'Μπολατίου', - 'Μπουλαριών', - 'Μποχάλης', - 'Μπράλου', - 'Μπόρσα', - 'Μπόρσιον', - 'Μυγδαλιάς', - 'Μυκηνών', - 'Μυκονίων', - 'Μυλοποτάμου', - 'Μυλοτόπου', - 'Μυξόρρουμα', - 'Μυρίκης', - 'Μυρίνης', - 'Μυριναίων', - 'Μυριοκεφάλων', - 'Μυριοφύτου', - 'Μυρκίνου', - 'Μυρμηγκίου', - 'Μυροδάφνης', - 'Μυροφύλλου', - 'Μυρρίνης', - 'Μυρσίνης', - 'Μυρσινοχωρίου', - 'Μυρτέας', - 'Μυρτιάς', - 'Μυρτιδίων', - 'Μυρτουντίων', - 'Μυρτοφύτου', - 'Μυρωδάτου', - 'Μυρωνίων', - 'Μυρόβρυσης', - 'Μυστρά', - 'Μυτιλήνης', - 'Μυτιληνιών', - 'Μυχού', - 'Μόριας', - 'Μόρφης', - 'Μύθων', - 'Μύκης', - 'Μύλων', - 'Μύρθιου', - 'Μύρου', - 'Μύρτου', - 'Μύρων', - 'Μύστακας', - 'Μύτικα', - 'Μώλου', - 'Ν.Κερασιάς', - 'Νάξου', - 'Νάπης', - 'Νέα Σάντα', - 'Νίκης', - 'Νίπους', - 'Νίψης', - 'Ναμάτων', - 'Ναούσης', - 'Ναρθακίου', - 'Ναρκίσσου', - 'Νασίων', - 'Ναυπάκτου', - 'Ναυπακτίας', - 'Ναυπλιέων', - 'Νεάπολης', - 'Νεαπόλεως', - 'Νεγάδων', - 'Νεγράδων', - 'Νεδούσης', - 'Νεμέας', - 'Νεμούτας', - 'Νενήτων', - 'Νενητουρίων', - 'Νεοκάστρου', - 'Νεοκαισαρείας', - 'Νεοχωρίου', - 'Νεοχωρακίου', - 'Νεοχωροπούλου', - 'Νεοχωρούδας', - 'Νεράιδας', - 'Νεράντζης', - 'Νεραντζιών', - 'Νεραϊδοχωρίου', - 'Νεριανών', - 'Νεροκούρου', - 'Νερομάννας', - 'Νερομύλου', - 'Νερομύλων', - 'Νεροτριβιάς', - 'Νεροφράκτου', - 'Νεροχωρίου', - 'Νεστάνης', - 'Νεστορίου', - 'Νευροκοπίου', - 'Νεύρα', - 'Νησίου', - 'Νησακίου', - 'Νιάτων', - 'Νιγρίτης', - 'Νιθαύρεως', - 'Νικήσιανης', - 'Νικήτης', - 'Νικαίας', - 'Νικηθιανού', - 'Νικηταί', - 'Νικηφόρου', - 'Νικιών', - 'Νικοκλείας', - 'Νικολή', - 'Νικολαιίκων', - 'Νικολιτσίου', - 'Νικομηδείας', - 'Νικομηδινού', - 'Νικοπόλεως', - 'Νικοτσάρας', - 'Νικόπολης', - 'Νιπιδιτού', - 'Νιφοραιίκων', - 'Νομής', - 'Νομίων', - 'Νομιτσή', - 'Νοστίμου', - 'Νοτίας', - 'Νοχιών', - 'Ντερέ', - 'Νυβρίτου', - 'Νυδρίου', - 'Νυμφίου', - 'Νυμφαίου', - 'Νυμφασίας', - 'Νυμφοπέτρας', - 'Νυμφών', - 'Νυφίου', - 'Ξάνθης', - 'Ξαμουδοχωρίου', - 'Ξανθάτων', - 'Ξανθοχωρίου', - 'Ξενιάκου', - 'Ξενιών', - 'Ξενοπούλου', - 'Ξεριά', - 'Ξεχασμένης', - 'Ξεχώρου', - 'Ξηροκάμπου', - 'Ξηροκαμπίου', - 'Ξηροκαριταίνης', - 'Ξηρολίμνης', - 'Ξηρολόφου', - 'Ξηρονομής', - 'Ξηροπηγάδου', - 'Ξηροποτάμου', - 'Ξηροστερνίου', - 'Ξηροχωρίου', - 'Ξινονερίου', - 'Ξινού Νερού', - 'Ξινόβρυσης', - 'Ξιφιανής', - 'Ξορυχτίου', - 'Ξυλαγανής', - 'Ξυλικών', - 'Ξυλοκάστρου', - 'Ξυλοκέρας', - 'Ξυλοκερίζης', - 'Ξυλοκερατέας', - 'Ξυλοπαροίκου', - 'Ξυλοπόλεως', - 'Οάσεως', - 'Οίας', - 'Οίτης', - 'Οβριάς', - 'Οθωνών', - 'Οινουσσών', - 'Οινοφύτων', - 'Οινοχωρίου', - 'Οινούσσας', - 'Οινόης', - 'Οιτύλου', - 'Οιχαλίας', - 'Οκτωνιάς', - 'Ολβίου', - 'Ολύμπου', - 'Ολύμπων', - 'Ολύνθου', - 'Ομαλής', - 'Ομαλών', - 'Ομβριακής', - 'Ομηρικόν', - 'Ομολίου', - 'Ομορφοκκλησιάς', - 'Ομορφοχωρίου', - 'Οξυάς', - 'Οξυλίθου', - 'Οξυνείας', - 'Ορίου', - 'Οργάνης', - 'Ορεινής', - 'Ορεινού', - 'Ορεινού Ξηροβάλτου', - 'Ορθέ', - 'Ορθοβουνίου', - 'Ορθονιών', - 'Ορθουνίου', - 'Ορμενίου', - 'Ορμυλίας', - 'Ορνές', - 'Οροπεδίου', - 'Ορφανίου', - 'Ορφανών', - 'Ορχομενού', - 'Ουρανοπόλεως', - 'Οφρυνίου', - 'Οχθίων', - 'Οχυρού', - 'Πάγου', - 'Πάγων', - 'Πάδων', - 'Πάου', - 'Πάπαρη', - 'Πάργας', - 'Πάρου', - 'Πάστρας', - 'Πάτμου', - 'Πέλεκα', - 'Πέλλης', - 'Πέντε Εκκλησιών', - 'Πέπλου', - 'Πέρα Μελάνων', - 'Πέραν Τριοβασάλου', - 'Πέρδικας', - 'Πέρκου', - 'Πέρνης', - 'Πέτα', - 'Πέτρα', - 'Πέτρας', - 'Παγκαλοχωρίου', - 'Παγκρατίου', - 'Παγκρατών', - 'Παγονερίου', - 'Παγουριών', - 'Παγώνδου', - 'Παγώντα', - 'Παιανίας', - 'Πακίων', - 'Παλαίρου', - 'Παλαίστρας', - 'Παλαιάς Γιαννιτσούς', - 'Παλαιάς Καβάλας', - 'Παλαιάς Φωκαίας', - 'Παλαικάστρου', - 'Παλαιοβαρβασαίνης', - 'Παλαιοβράχας', - 'Παλαιοκάστρου', - 'Παλαιοκήπου', - 'Παλαιοκαρυάς', - 'Παλαιοκατούνας', - 'Παλαιοκατούνου', - 'Παλαιοκερασέας', - 'Παλαιοκκλησίου', - 'Παλαιοκώμης', - 'Παλαιομανίνας', - 'Παλαιομοναστήρου', - 'Παλαιοξαρίου', - 'Παλαιοπαναγίας', - 'Παλαιοπόλεως', - 'Παλαιοπύργου', - 'Παλαιοσελλίου', - 'Παλαιοχούνης', - 'Παλαιοχωρίου', - 'Παλαιοχωρίου Δωριέων', - 'Παλαιοχωρίου Μπότσαρη', - 'Παλαιοχωρίου Σιράκου', - 'Παλαιοχωρίου Τυμφρηστού', - 'Παλαιοχωρακίου', - 'Παλαιοχώρας', - 'Παλαιού Αγιονερίου', - 'Παλαιού Ελευθεροχωρίου', - 'Παλαιού Κεραμιδίου', - 'Παλαιού Λουτρού', - 'Παλαιού Μυλοτόπου', - 'Παλαιού Σκυλλιτσίου', - 'Παλαιού Φαλήρου', - 'Παλαιφύτου', - 'Παλαιόβρυσης', - 'Παλαιόστανης', - 'Παλαιών Ρουμάτων', - 'Παλαμά', - 'Παλαμαρίου', - 'Παλαμπά', - 'Παλατίων', - 'Παλατιτσίων', - 'Παλιαμπέλων', - 'Παλιουρίου', - 'Παλιουριάς', - 'Παλιούρα', - 'Παλιούρης', - 'Παλλήνης', - 'Παλλαντίου', - 'Παλούμπας', - 'Παμφίλων', - 'Παμφίου', - 'Πανάσου', - 'Παναγίας', - 'Παναγίτσας', - 'Παναγιούδας', - 'Παναγούλας', - 'Παναιτωλίου', - 'Παναρίτη', - 'Παναριτίου', - 'Πανδρόσου', - 'Πανεθήμου', - 'Πανιπερίου', - 'Πανουργιά', - 'Παντανάσσης', - 'Πανόρμου', - 'Παπάγου', - 'Παπίγκου', - 'Παπαδιανίκων', - 'Παπαφλέσσα', - 'Παππά', - 'Παππάδου', - 'Παππάδων', - 'Παππαγιάννη', - 'Παππαγιαννάδων', - 'Παππαδάτου', - 'Παππαδατών', - 'Παππαδιανών', - 'Παππαρουσίου', - 'Παππουλίων', - 'Παραβόλας', - 'Παραδείσου', - 'Παραδεισίου', - 'Παραδεισίων', - 'Παρακαλάμου', - 'Παρακοίλων', - 'Παραλία Μέσης', - 'Παραλίας', - 'Παραλίας Πλατάνου', - 'Παραλίου Άστρους', - 'Παραλιμνίου', - 'Παραλογγών', - 'Παραμέρου', - 'Παραμυθίας', - 'Παρανεστίου', - 'Παρανύμφων', - 'Παραποτάμου', - 'Παραπουγκίου', - 'Παρασκευής', - 'Παρδαλίτσης', - 'Παρθενίου', - 'Παρορίου', - 'Παρορείου', - 'Παρπαριάς', - 'Παρτίρων', - 'Πασίου', - 'Πασαλιτών', - 'Παστίδας', - 'Πασχαλίτσης', - 'Πασχαλιάς', - 'Πατερμά', - 'Πατιοπούλου', - 'Πατουλιάς', - 'Πατρέων', - 'Πατρικάτων', - 'Πατρικίου', - 'Πατρικών', - 'Πατσιανού', - 'Πατσιδερού', - 'Πατσού', - 'Παυλιάνας', - 'Παυλοπούλου', - 'Παχείας Άμμου', - 'Παχτουρίου', - 'Παχυκαλάμου', - 'Παϊδοχωρίου', - 'Παύλιανης', - 'Παύλιας', - 'Παύλου', - 'Πεδινής', - 'Πεδινού', - 'Πεδινών', - 'Πεζούλας', - 'Πεζών', - 'Πεθελινού', - 'Πειραιώς', - 'Πελάγους', - 'Πελαγίας', - 'Πελαργού', - 'Πελασγίας', - 'Πελεκάνου', - 'Πελεκανάδας', - 'Πελετών', - 'Πελλάνας', - 'Πελλήνης', - 'Πελοπίου', - 'Πελόπης', - 'Πεμονίων', - 'Πεντέλης', - 'Πενταβρύσου', - 'Πενταγιών', - 'Πεντακόρφου', - 'Πενταλόφου', - 'Πενταμοδίου', - 'Πενταπόλεως', - 'Πεντατίου', - 'Πεντεορίων', - 'Πεντολάκκου', - 'Πεπονιάς', - 'Περάμα', - 'Περάμου', - 'Περάνθης', - 'Περάτη', - 'Περίου', - 'Περίστης', - 'Περαίας', - 'Περατάτων', - 'Περατιάς', - 'Περαχωρίου', - 'Περβολακίων', - 'Περδίκκα', - 'Περδικίου', - 'Περδικακίου', - 'Περδικονερίου', - 'Περδικόβρυσης', - 'Περθωρίου', - 'Περιβλέπτου', - 'Περιβολίου', - 'Περιβολίου Δομοκού', - 'Περιβολίων', - 'Περιβολίων Κισσάμου', - 'Περιβολίων Κυδωνίας', - 'Περιβολακίου', - 'Περιβολακίων', - 'Περιγιαλίου', - 'Περιθείας', - 'Περιθιωτίσσης', - 'Περιθωρίου', - 'Περικλείας', - 'Περιστάσεως', - 'Περιστέρας', - 'Περιστεράς', - 'Περιστερίου', - 'Περιστερώνας', - 'Περιχώρας', - 'Περουλάδων', - 'Περσαίνης', - 'Περτουλίου', - 'Πεσάδας', - 'Πεστών', - 'Πεταλείας', - 'Πεταλιδίου', - 'Πετουσίου', - 'Πετράδων', - 'Πετρίλου', - 'Πετρίνας', - 'Πετρίνου', - 'Πετρίου', - 'Πετραίας', - 'Πετραλώνων', - 'Πετρανών', - 'Πετριτής', - 'Πετριτσίου', - 'Πετριών', - 'Πετροβίτσας', - 'Πετροβούνιον', - 'Πετροκεράσων', - 'Πετροκεφάλου', - 'Πετροκεφαλίου', - 'Πετροπηγής', - 'Πετροπόρου', - 'Πετροχωρίου', - 'Πετρούπολης', - 'Πετρούσσης', - 'Πετρωτού', - 'Πετρωτών', - 'Πετρών', - 'Πετρώνας', - 'Πετσάκων', - 'Πετσαλίου', - 'Πευκοδάσους', - 'Πευκοφύτου', - 'Πευκοχωρίου', - 'Πεύκης', - 'Πεύκου', - 'Πεύκων', - 'Πηγής', - 'Πηγαδίου', - 'Πηγαδίτσης', - 'Πηγαδίων', - 'Πηγαδακίων', - 'Πηγαδησάνων', - 'Πηγαδούλια', - 'Πηγαϊδακίων', - 'Πηγών', - 'Πηδάσου', - 'Πηλίου', - 'Πιάνας', - 'Πιαλείας', - 'Πικέρνη', - 'Πικερμίου', - 'Πιλαλίστρας', - 'Πινακατών', - 'Πινακοχωρίου', - 'Πιπερίτσης', - 'Πιπεριών', - 'Πιραμάς', - 'Πισίων', - 'Πισκοκεφάλου', - 'Πισοδερίου', - 'Πιστιανών', - 'Πιτίτσης', - 'Πιτροφού', - 'Πιτσίου', - 'Πιτσιδίων', - 'Πιτσιναιίκων', - 'Πιτσιωτών', - 'Πιτσών', - 'Πλάκας', - 'Πλάνου', - 'Πλάτης', - 'Πλάτσης', - 'Πλαγίων', - 'Πλαγιά', - 'Πλαγιάς', - 'Πλαγιαρίου', - 'Πλαγιών', - 'Πλαισίου', - 'Πλαισίων Μαλακασίου', - 'Πλακάδου', - 'Πλακίδας', - 'Πλακωτής', - 'Πλανητέρου', - 'Πλατάνας', - 'Πλατάνης', - 'Πλατάνου', - 'Πλαταιών', - 'Πλατανίου', - 'Πλατανίων', - 'Πλατανακίου', - 'Πλατανακίων', - 'Πλατανιά', - 'Πλατανιάς', - 'Πλατανιστού', - 'Πλατανιωτίσσης', - 'Πλατανοτόπου', - 'Πλατανούσσης', - 'Πλατανόβρυσης', - 'Πλαταριάς', - 'Πλατιάνας', - 'Πλατρειθιά', - 'Πλατυβόλας', - 'Πλατυκάμπου', - 'Πλατυστόμου', - 'Πλατυστόμων', - 'Πλεμενιανών', - 'Πληκατίου', - 'Πλουτοχωρίου', - 'Πλωμαρίου', - 'Πλώρας', - 'Πογωνίας', - 'Ποδογοράς', - 'Ποδοχωρίου', - 'Ποιμενικού', - 'Ποκίστης', - 'Πολίχνης', - 'Πολεμαρχίου', - 'Πολιανής', - 'Πολιτικών', - 'Πολιχνίτου', - 'Πολοβίτσης', - 'Πολυάνθου', - 'Πολυανέμου', - 'Πολυγύρου', - 'Πολυδένδρου', - 'Πολυδαμείου', - 'Πολυδενδρίου', - 'Πολυδρόσου', - 'Πολυδώρου', - 'Πολυθέας', - 'Πολυκάρπης', - 'Πολυκάστρου', - 'Πολυκαρπίου', - 'Πολυκαστάνου', - 'Πολυκεράσου', - 'Πολυλάκκου', - 'Πολυλόφου', - 'Πολυμύλου', - 'Πολυνέρου', - 'Πολυνερίου', - 'Πολυπέτρου', - 'Πολυπλατάνου', - 'Πολυποτάμου', - 'Πολυρράχου', - 'Πολυρρηνίας', - 'Πολυσίτου', - 'Πολυσταφύλου', - 'Πολυστύλου', - 'Πολυφύτου', - 'Πολυχρόνου', - 'Ποντικατών', - 'Ποντινής', - 'Ποντισμένου', - 'Ποντοηρακλείας', - 'Ποντοκερασέας', - 'Ποντοκώμης', - 'Ποντολιβάδου', - 'Ποροΐων', - 'Ποροβίτσης', - 'Πορτής', - 'Πορτίτσης', - 'Πορταριάς', - 'Πορτιανού', - 'Πορτοχελίου', - 'Πορτών', - 'Ποσειδωνίας', - 'Ποτάμων', - 'Ποταμίδας', - 'Ποταμιά', - 'Ποταμιάς', - 'Ποταμιών', - 'Ποταμού', - 'Ποταμούλας Μεσολογγίου', - 'Ποταμών', - 'Ποτειδαίας', - 'Ποτιδάνειας', - 'Ποτιστικών', - 'Πουγκακίων', - 'Πουλάτων', - 'Πουλίθρων', - 'Πουλιτσίου', - 'Πουλλίτσης', - 'Πουλλακίδας', - 'Πουρίου', - 'Πουρναρίου', - 'Πουρναριάς', - 'Πουρνιάς', - 'Πούρνου', - 'Πρίνας', - 'Πρίνου', - 'Πραγγίου', - 'Πραγματευτή', - 'Πραισού', - 'Πραιτωρίου', - 'Πραιτωρίων', - 'Πραμάντων', - 'Πρασέ', - 'Πρασίνου', - 'Πρασιάς', - 'Πρασιδακίου', - 'Πρασινάδας', - 'Πρασιών', - 'Πραστού', - 'Πρεβέζης', - 'Πρινέ', - 'Πρινιά', - 'Πριολίθου', - 'Προαστίου', - 'Προβατά', - 'Προδρομίου', - 'Προδρόμου', - 'Προκοπίου', - 'Προμάχων', - 'Προμυρίου', - 'Προσβόρρου', - 'Προσηλίου', - 'Προσηλίων', - 'Προσκυνά', - 'Προσκυνητών', - 'Προσοτσάνης', - 'Προσύμνης', - 'Προυσού', - 'Προφήτη Ηλία', - 'Προφήτης Ηλίας', - 'Προφήτου', - 'Προφήτου Ηλία', - 'Προφήτου Ηλιού', - 'Προφίλιας', - 'Πρωτοκκλησίου', - 'Πρωτοχωρίου', - 'Πρωτόπαππα', - 'Πρώτης', - 'Πτέρης', - 'Πτελέας', - 'Πτελέας Πλατανιάς', - 'Πτελεού', - 'Πτελοπούλας', - 'Πτεριάς', - 'Πυθίου', - 'Πυθαγορείου', - 'Πυλίου', - 'Πυλαίας', - 'Πυλωρίου', - 'Πυλωρών', - 'Πυλών', - 'Πυξαρίου', - 'Πυράς', - 'Πυργέλλας', - 'Πυργίου', - 'Πυργαδικίων', - 'Πυργακίου', - 'Πυργετού', - 'Πυργιωτίκων', - 'Πυργούς', - 'Πυρρή', - 'Πυρρίχου', - 'Πυρσόγιαννης', - 'Πωγωνιανής', - 'Πόδου', - 'Πόμπιας', - 'Πόρου', - 'Πόρπη', - 'Πόρων', - 'Πύδνας', - 'Πύλας', - 'Πύλης', - 'Πύλου', - 'Πύργου', - 'Πύργου Διρού', - 'Πύργου Ιθώμης', - 'Πύργου Καλαμών', - 'Πύργου Καλλίστης', - 'Πύργου Κιερίου', - 'Πύργου Τριφυλίας', - 'Πύργων', - 'Πύργων Θερμής', - 'Πύρρας', - 'Ράδου', - 'Ράμιας', - 'Ράξας', - 'Ράφτη', - 'Ράχη', - 'Ράχης', - 'Ρίγανης', - 'Ρίζης', - 'Ρίζου', - 'Ρίου', - 'Ραΐκου', - 'Ραβδούχας', - 'Ραβενής', - 'Ραβενίων', - 'Ραγάδα', - 'Ραγίου', - 'Ραδοβιζίου', - 'Ραιδεστού', - 'Ραμνής', - 'Ραπτοπούλου', - 'Ραφήνας', - 'Ραφταναίων', - 'Ραχούλας', - 'Ραχτάδων', - 'Ραχωνίου', - 'Ραχών', - 'Ραχώνας', - 'Ραψάνης', - 'Ραψομμάτη', - 'Ρεγκινίου', - 'Ρεθίου', - 'Ρεθύμνης', - 'Ρειχέας', - 'Ρεντίνας', - 'Ρεπανιδίου', - 'Ρεπετίστης', - 'Ρετσίνων', - 'Ρετσιανών', - 'Ρευματιάς', - 'Ρητίνης', - 'Ριαχόβου', - 'Ριγανίου', - 'Ριγκλίων', - 'Ριζίων', - 'Ριζαρίου', - 'Ριζοβουνίου', - 'Ριζομύλου', - 'Ριζοσπηλιάς', - 'Ριζού', - 'Ριζωμάτων', - 'Ριζών', - 'Ριφίου', - 'Ριόλου', - 'Ροβίων', - 'Ροβιάτας', - 'Ροβιών', - 'Ροβολιαρίου', - 'Ρογιτίκων', - 'Ρογών', - 'Ροδίτου', - 'Ροδίτσης', - 'Ροδακίνου', - 'Ροδαυγής', - 'Ροδιάς', - 'Ροδιανής', - 'Ροδινών', - 'Ροδοβανίου', - 'Ροδοδάφνης', - 'Ροδολίβους', - 'Ροδοπόλεως', - 'Ροδοτοπίου', - 'Ροδοχωρίου', - 'Ροδωνιάς', - 'Ροδωπού', - 'Ροεινού', - 'Ρομιρίου', - 'Ροποτού', - 'Ροσκάς', - 'Ρουμελής', - 'Ρουπακίου', - 'Ρουπακιάς', - 'Ρουσσοπουλίου', - 'Ρουσσοσπιτίου', - 'Ρουστίκων', - 'Ρουτσίου', - 'Ρουφά', - 'Ρουψιάς', - 'Ρούσσας Εκκλησίας', - 'Ρούσσου', - 'Ρυακίου', - 'Ρυακίων', - 'Ρυζιών', - 'Ρυμνίου', - 'Ρυσίου', - 'Ρωμαιίκου', - 'Ρωμανού', - 'Ρωμιάς', - 'Ρόδου', - 'Ρόδων', - 'Ρόκκας', - 'Σάγκα', - 'Σάλπης', - 'Σάμης', - 'Σάντας', - 'Σάρτης', - 'Σάρχου', - 'Σέκουλα', - 'Σέμπρωνα', - 'Σέρβου', - 'Σέσκλου', - 'Σέτας', - 'Σίβα', - 'Σίβας', - 'Σίδερης', - 'Σίλης', - 'Σίμου', - 'Σίνδου', - 'Σίτσαινα', - 'Σαβαλίων', - 'Σαγαιίκων', - 'Σαγιάδας', - 'Σαγκρίου', - 'Σακτουρίων', - 'Σαλάκου', - 'Σαλμενίκου', - 'Σαλμώνης', - 'Σαλονίκης', - 'Σαμίων', - 'Σαμαρίνης', - 'Σαμικού', - 'Σαμοθράκης', - 'Σαμονίδας', - 'Σαμπά', - 'Σαντομερίου', - 'Σανών', - 'Σαπουνακαίϊκων', - 'Σαπών', - 'Σαραβαλίου', - 'Σαρακήνας', - 'Σαρακηνάδου', - 'Σαρακηνών', - 'Σαρακινίου', - 'Σαρακινίου Ηραίας', - 'Σαρανταπήχου', - 'Σαρανταπόρου', - 'Σαργιάδας', - 'Σαρδινίων', - 'Σαρδών', - 'Σαρκίνης', - 'Σασάλου', - 'Σατρών', - 'Σαϊδόνας', - 'Σαϊτουρών', - 'Σβορωνάτων', - 'Σβορώνου', - 'Σγουράδων', - 'Σγουροκεφαλίου', - 'Σεβαστής', - 'Σεβαστιανών', - 'Σεβαστού', - 'Σειρών', - 'Σελέρου', - 'Σελίνου', - 'Σελεγουδίου', - 'Σελευκείας', - 'Σεληνίων', - 'Σελιάνας', - 'Σελιανιτίκων', - 'Σελλά', - 'Σελλάδων', - 'Σελλίου', - 'Σελλίων', - 'Σελλασίας', - 'Σελλών', - 'Σενίκου', - 'Σερίφου', - 'Σερβίων', - 'Σερβιανών', - 'Σερβωτών', - 'Σεργούλας', - 'Σεριζιανών', - 'Σερνικακίου', - 'Σερρών', - 'Σημάντρου', - 'Σημάντρων', - 'Σηρικαρίου', - 'Σησαμίας', - 'Σητείας', - 'Σιάμου', - 'Σιάνων', - 'Σιατίστης', - 'Σιβίστης', - 'Σιγουνίου', - 'Σιγρίου', - 'Σιδήρων', - 'Σιδαρίου', - 'Σιδερά', - 'Σιδηράδες', - 'Σιδηροκάστρου', - 'Σιδηρονέρου', - 'Σιδηροχωρίου', - 'Σικίνου', - 'Σιλάτων', - 'Σιλίμνης', - 'Σιμίζα', - 'Σιμιάδων', - 'Σιμοπούλου', - 'Σιναράδων', - 'Σινεβρού', - 'Σινιών', - 'Σινώπης', - 'Σιριλίου', - 'Σισανίου', - 'Σιστρουνίου', - 'Σισών', - 'Σιταίνης', - 'Σιταγρών', - 'Σιταρά', - 'Σιταραλώνων', - 'Σιταριάς', - 'Σιτομένων', - 'Σιτοχωρίου', - 'Σιτοχώρου', - 'Σκάλας', - 'Σκάλας Ωρωπού', - 'Σκάλωμα', - 'Σκάφης', - 'Σκήτης', - 'Σκαδού', - 'Σκαλανίου', - 'Σκαλοχωρίου', - 'Σκαλωτής', - 'Σκαμνακίου', - 'Σκαμνελλίου', - 'Σκανδάλου', - 'Σκανδαλίου', - 'Σκαρφείας', - 'Σκαφιδακίου', - 'Σκαφιδιάς', - 'Σκαφιδωτής', - 'Σκεπαρίου', - 'Σκεπαστής', - 'Σκεπαστού', - 'Σκιάδα', - 'Σκιάθου', - 'Σκιαδά', - 'Σκιλλουντίας', - 'Σκινέ', - 'Σκινέως', - 'Σκινιά', - 'Σκιώνης', - 'Σκλήθρου', - 'Σκλίβανης', - 'Σκλίβας', - 'Σκλαβοπούλας', - 'Σκληρού', - 'Σκοπέλου', - 'Σκοπής', - 'Σκοπιάς', - 'Σκοπού', - 'Σκορτσινού', - 'Σκοτάνης', - 'Σκοτίνης', - 'Σκοτεινής', - 'Σκοτούσσης', - 'Σκουληκάδου', - 'Σκουληκαριάς', - 'Σκουλουφίων', - 'Σκουραιίκων', - 'Σκουρβούλων', - 'Σκουροχωρίου', - 'Σκουρτούς', - 'Σκουτάρεως', - 'Σκουτάρου', - 'Σκουταρίου', - 'Σκουτεράς', - 'Σκουτεσιάδας', - 'Σκούπας', - 'Σκούρα', - 'Σκούρας', - 'Σκούρτων', - 'Σκρα', - 'Σκριπερού', - 'Σκύδρας', - 'Σκύρου', - 'Σμέρνας', - 'Σμέρτου', - 'Σμίλας', - 'Σμίξης', - 'Σμαρίου', - 'Σμυρτιάς', - 'Σμύρνης', - 'Σοκαρά', - 'Σολακίου', - 'Σολομού', - 'Σοπίου', - 'Σορωνής', - 'Σουδεναιίκων', - 'Σουλίου', - 'Σουλαρίου', - 'Σουληναρίου', - 'Σουλλάρων', - 'Σουλοπούλου', - 'Σουνίου', - 'Σουρωτής', - 'Σουστιάνων', - 'Σουφλίου', - 'Σοφάδων', - 'Σοφιάδας', - 'Σοφιανών', - 'Σοφικού', - 'Σοφικό', - 'Σοχού', - 'Σούγιας', - 'Σούδας', - 'Σούλου', - 'Σούρπης', - 'Σπάθαρη', - 'Σπάρτου', - 'Σπάτων-Λούτσας', - 'Σπήλιου', - 'Σπαθάδων', - 'Σπαθαρίου', - 'Σπαθαραίων', - 'Σπανοχωρίου', - 'Σπαρτιά', - 'Σπαρτιάς', - 'Σπαρτιατών', - 'Σπαρτιών', - 'Σπαρτοχωρίου', - 'Σπαρτύλα', - 'Σπερχογείας', - 'Σπετσών', - 'Σπηλίου', - 'Σπηλαίου', - 'Σπηλαίων', - 'Σπηλιάς', - 'Σπιταλίου', - 'Σπολαίτης', - 'Σπόθων', - 'Σπόων', - 'Στάβλων', - 'Στάθη', - 'Στάνου', - 'Στέρνας', - 'Στίβου', - 'Στίλιας', - 'Στίρφακας', - 'Σταβιών', - 'Σταγίρων', - 'Σταγιατών', - 'Σταδίου', - 'Σταθά', - 'Σταθμού Αγγίστης', - 'Σταθμού Μουριών', - 'Σταλού', - 'Σταμάτας', - 'Σταματινού', - 'Σταμνάς', - 'Στανού', - 'Σταροχωρίου', - 'Στασίμου', - 'Στασιού', - 'Σταυρακίου', - 'Σταυρακίων', - 'Σταυρινήδων', - 'Σταυροδρομίου', - 'Σταυροπηγίου', - 'Σταυροσκιαδίου', - 'Σταυρουπόλεως', - 'Σταυροχωρίου', - 'Σταυρού', - 'Σταυρωμένου', - 'Σταφιδοκάμπου', - 'Στειρίου', - 'Στεμνίτσης', - 'Στενής', - 'Στενημάχου', - 'Στενιών', - 'Στενού', - 'Στενυκλάρου', - 'Στερνών', - 'Στεφάνης', - 'Στεφανίου', - 'Στεφανιάς', - 'Στεφανινών', - 'Στεφανοβικείου', - 'Στεφανοβούνου', - 'Στιμάγκας', - 'Στομίου', - 'Στουππαίων', - 'Στουρναραιίκων', - 'Στράτου', - 'Στρίγκου', - 'Στρανώμης', - 'Στρατινίστης', - 'Στρατονίκης', - 'Στρατωνίου', - 'Στρεφίου', - 'Στροβλών', - 'Στρογγυλής', - 'Στρογγυλοβουνίου', - 'Στροπώνων', - 'Στρουσίου', - 'Στροφή', - 'Στροφυλιάς', - 'Στρυμονικού', - 'Στρυμονοχωρίου', - 'Στρόμης', - 'Στρύμης', - 'Στυλάριον', - 'Στυλίων', - 'Στυμφαλίας', - 'Στόλου', - 'Στόλων', - 'Στύλιας', - 'Στύλου', - 'Στύρων', - 'Στύψης', - 'Συβότων', - 'Συγκρέλλου', - 'Συκά Υπάτης', - 'Συκέας', - 'Συκής', - 'Συκαμίνου', - 'Συκαμινέας', - 'Συκεών', - 'Συκιάδας', - 'Συκολόγου', - 'Συκορράχης', - 'Συκουρίου', - 'Συλιβαινιώτικων', - 'Συμβολής', - 'Συνδένδρου', - 'Συνετίου', - 'Συνοικίας Τρικάλων', - 'Συρράκου', - 'Συρρίζου', - 'Σφάκας', - 'Σφακερών', - 'Σφακοπηγαδίου', - 'Σφελινού', - 'Σφενδαμίου', - 'Σφηκιάς', - 'Σφηνωτού', - 'Σχίνων', - 'Σχηματαρίου', - 'Σχινοκαψάλων', - 'Σχινοχωρίου', - 'Σχοινούσσης', - 'Σχολαρίου', - 'Σωκρακίου', - 'Σωληναρίου', - 'Σωσάνδρας', - 'Σωστίου', - 'Σωτήρας', - 'Σωταίνης', - 'Σωτηρίου', - 'Σωτηρίτσης', - 'Σωτηριανίκων', - 'Σύβρου', - 'Σύμης', - 'Σύρνας', - 'Σύρου', - 'Σώστης', - 'Τέμενης', - 'Τήνου', - 'Ταγαράδων', - 'Τακτικουπόλεως', - 'Ταλάντων', - 'Τανάγρας', - 'Ταξιάρχου', - 'Ταξιαρχών', - 'Ταρσινών', - 'Ταρσού', - 'Ταυρωνίτου', - 'Ταύρου', - 'Τειχίου', - 'Τεμενίων', - 'Τεμπών', - 'Τενέδου', - 'Τεριαχίου', - 'Τερπνής', - 'Τερπύλλου', - 'Τερψιθέας', - 'Τερόβου', - 'Τετρακώμου', - 'Τετραλόφου', - 'Τεφελίου', - 'Τζίβα', - 'Τζερμιάδου', - 'Τζιτζιφέ', - 'Τιθορέας', - 'Τιθρωνίου', - 'Τιτάνης', - 'Τοιχίου', - 'Τολού', - 'Τοξοτών', - 'Τοπολίων', - 'Τοπολιάνων', - 'Τουλιάτων', - 'Τουρκολέκα', - 'Τουρλάδας', - 'Τουρλωτής', - 'Τούμπας', - 'Τρίκαστρον', - 'Τρίτους', - 'Τραγάνας', - 'Τραγίλου', - 'Τραγακίου', - 'Τραγανού', - 'Τρανοβάλτου', - 'Τραπέζης', - 'Τραπεζίτσης', - 'Τραπεζαντής', - 'Τραχήλας', - 'Τραχειάς', - 'Τραχηλίου', - 'Τρεχλού', - 'Τριανδρίας', - 'Τριαντάρου', - 'Τριανταφυλλέας', - 'Τριανταφυλλιάς', - 'Τριβούνου', - 'Τριγλίας', - 'Τριγωνικού', - 'Τριδένδρου', - 'Τριζονίων', - 'Τρικάλων', - 'Τρικερίου', - 'Τρικκαίων', - 'Τρικλίνου', - 'Τρικοκκιάς', - 'Τρικορύφου', - 'Τρικόρφου', - 'Τρικώμου', - 'Τριλόφου', - 'Τριοβασάλου', - 'Τριποτάμου', - 'Τριποταμιάς', - 'Τριπόλεως', - 'Τριπύλας', - 'Τριστένου', - 'Τριταίας', - 'Τριφυλλίου', - 'Τριχωνίου', - 'Τριόδου', - 'Τροβάτου', - 'Τροπαίων', - 'Τροπαιούχου', - 'Τρυπητής', - 'Τρυπών', - 'Τρωιανάτων', - 'Τρύγονα', - 'Τρύπης', - 'Τρύφου', - 'Τσάκονης', - 'Τσάκων', - 'Τσαγγαρίου', - 'Τσαγκαράδας', - 'Τσαγκαροπούλου', - 'Τσαμαντά', - 'Τσαπουρνιάς', - 'Τσαριτσάνης', - 'Τσελεπάκου', - 'Τσεπελόβου', - 'Τσερίων', - 'Τσικαλαριών', - 'Τσικκαλιών', - 'Τσιμανδρίων', - 'Τσιπιανών', - 'Τσιταλίων', - 'Τσοτυλίου', - 'Τσουκαλάδων', - 'Τσουκαλαιίκων', - 'Τσούκκας', - 'Τυλίσου', - 'Τυμπακίου', - 'Τυμφρηστού', - 'Τυρνάβου', - 'Τυρολόης', - 'Τυρού', - 'Τυχερού', - 'Τόρνου', - 'Υαμείας', - 'Υδρούσσης', - 'Υμηττού', - 'Υπάτης', - 'Υπάτου', - 'Υπερείας', - 'Υστερνίων', - 'Υψηλάντου', - 'Υψηλής Ράχης', - 'Υψηλομετώπου', - 'Υψηλού Χωρίου', - 'Φάρου', - 'Φάρσων', - 'Φήκης', - 'Φίλια', - 'Φίλιας', - 'Φαβατάτων', - 'Φαλάνθης', - 'Φαλάννης', - 'Φαλαισίας', - 'Φαλατάδου', - 'Φαλελιανών', - 'Φαμίλας', - 'Φαναρίου', - 'Φανερωμένης', - 'Φανού', - 'Φανών', - 'Φαράκλας', - 'Φαραγγίου', - 'Φαρακλάδας', - 'Φαρακλάτων', - 'Φαρακλού', - 'Φαρσάλων', - 'Φαρών', - 'Φασκομηλιάς', - 'Φελλίου', - 'Φελλού', - 'Φενεού', - 'Φερών', - 'Φιγαλείας', - 'Φιδακίων', - 'Φιλίας', - 'Φιλίππων', - 'Φιλίων', - 'Φιλαδελφίου', - 'Φιλαδελφείας', - 'Φιλιατρών', - 'Φιλιατών', - 'Φιλιππαίων', - 'Φιλλύρα', - 'Φιλοθέης', - 'Φιλοτίου', - 'Φιλυρίας', - 'Φιλωτείας', - 'Φιλύρας', - 'Φιλύρου', - 'Φιλώτα', - 'Φιολίτη', - 'Φισίνης', - 'Φισκάρδου', - 'Φιχτίου', - 'Φλαμουριάς', - 'Φλαμπουραρίου', - 'Φλαμπουρεσίου', - 'Φλαμπούρου', - 'Φλαμπούρων', - 'Φλατσίων', - 'Φλογητών', - 'Φλωρίνης', - 'Φλόκα', - 'Φλόκας', - 'Φοινίκης', - 'Φοινικίου', - 'Φολεγάνδρου', - 'Φολόης', - 'Φοναϊτίκων', - 'Φορτοσίου', - 'Φουντωτού', - 'Φουρνάς', - 'Φουρνέ', - 'Φουρνής', - 'Φουρφουρά', - 'Φούρκας', - 'Φούρνων', - 'Φούστανης', - 'Φούφα', - 'Φράγκας', - 'Φράγκου', - 'Φρίξης', - 'Φραγκάδων', - 'Φραγκουλαιίκων', - 'Φραντάτου', - 'Φραντζή', - 'Φραντζεσκιανών Μετοχίων', - 'Φρατσίων', - 'Φρε', - 'Φρεγκαίνης', - 'Φριλιγκιανίκων', - 'Φροσύνης', - 'Φρουσιούνας', - 'Φτέρης', - 'Φτελιάς', - 'Φτερνού', - 'Φυλάκης', - 'Φυλής', - 'Φυλακής', - 'Φυλακίου', - 'Φυλακτής', - 'Φυλακτού', - 'Φυτείας', - 'Φυτειών', - 'Φυτών', - 'Φωκαίας', - 'Φωλεάς', - 'Φωσταίνης', - 'Φωτάδας', - 'Φωτεινού', - 'Φωτεινών', - 'Φωτολίβους', - 'Φόδελε', - 'Φύλλου', - 'Φύλλων', - 'Φύσκας', - 'Χάλκης', - 'Χέρσου', - 'Χίνκας', - 'Χίου', - 'Χαβαρίου', - 'Χαβδάτων', - 'Χαβριάτων', - 'Χαιρεθιανών', - 'Χαιρωνείας', - 'Χαλάνδρων', - 'Χαλάρων', - 'Χαλάστρας', - 'Χαλαζονίου', - 'Χαλανδρίου', - 'Χαλανδρίτσης', - 'Χαλικίου', - 'Χαλικίου Αμβρακίας', - 'Χαλιωτάτων', - 'Χαλκείου', - 'Χαλκερού', - 'Χαλκιά', - 'Χαλκιάδων', - 'Χαλκιδέων', - 'Χαλκιοπούλων', - 'Χαμαλευρίου', - 'Χαμεζίου', - 'Χανίων', - 'Χανδρά', - 'Χανδρινού', - 'Χανιώτη', - 'Χαράδρου', - 'Χαράς', - 'Χαράσου', - 'Χαραδιατίκων', - 'Χαρακίου', - 'Χαρακοπίου', - 'Χαραυγής', - 'Χαριάς', - 'Χαριέσσης', - 'Χαριτωμένης', - 'Χαρκίων', - 'Χαροκόπιον', - 'Χαροπού', - 'Χατζή', - 'Χαϊδαρίου', - 'Χαϊκαλίου', - 'Χειμάρρου', - 'Χειμαδιού', - 'Χειμερινού', - 'Χειμωνίου', - 'Χελιδονίου', - 'Χελυδορέου', - 'Χερσονήσου', - 'Χιδήρων', - 'Χιλιοδένδρου', - 'Χιλιομοδίου', - 'Χιονάδου', - 'Χιονάδων', - 'Χιονάτων', - 'Χιράδων', - 'Χιόνας', - 'Χλοματιανών', - 'Χλομού', - 'Χολαργού', - 'Χορηγού', - 'Χορτάτων', - 'Χορτερού', - 'Χορτιάτη', - 'Χουδετσίου', - 'Χουλιαράδων', - 'Χουμερίου', - 'Χουμεριάκου', - 'Χουμνικού', - 'Χουστουλιανών', - 'Χούνης', - 'Χράνων', - 'Χρισσού', - 'Χριστιανουπόλεως', - 'Χριστού', - 'Χρομοναστηρίου', - 'Χρούσων', - 'Χρυσάφων', - 'Χρυσής', - 'Χρυσανθίου', - 'Χρυσαυγής', - 'Χρυσοβίτσας', - 'Χρυσοβίτσης', - 'Χρυσοβεργίου', - 'Χρυσοβιτσίου', - 'Χρυσοκάστρου', - 'Χρυσοκελλαριάς', - 'Χρυσοκεφάλου', - 'Χρυσομηλέας', - 'Χρυσοπέτρας', - 'Χρυσοπηγής', - 'Χρυσορράχης', - 'Χρυσοστόμου', - 'Χρυσουπόλεως', - 'Χρυσοχωράφων', - 'Χρυσοχωρίου', - 'Χρυσού', - 'Χρωμίου', - 'Χρύσως', - 'Χωματάδας', - 'Χωρέμη', - 'Χωρίου', - 'Χωρίου Αποκορρώνου', - 'Χωρίου Κυδωνίας', - 'Χωρδακίου', - 'Χωρεπισκόπων', - 'Χωριστής', - 'Χωρυγίου', - 'Χωσιαρίου', - 'Χωστιά', - 'Χωτούσσης', - 'Χόβολης', - 'Χόικας', - 'Χόμορης', - 'Χόνδρου', - 'Χόχλιας', - 'Χώνου', - 'Χώρας', - 'Χώρας Σφακίων', - 'Ψάκας', - 'Ψήνας', - 'Ψίνθου', - 'Ψαθογιάννου', - 'Ψαθοπύργου', - 'Ψαθοτοπίου', - 'Ψαράδων', - 'Ψαρίου', - 'Ψαρών', - 'Ψαχνών', - 'Ψηλής Βρύσης', - 'Ψηλοβράχου', - 'Ψιανών', - 'Ψυχικού', - 'Ψυχρού', - 'Ωλένης', - 'Ωραίου', - 'Ωραιοκάστρου', - 'Ωρεών', - 'Ωριάς', - 'Ωρολογίου', - 'Ωρωπού', - 'Όθους', - 'Όρμης', - 'Όρμου Κορθίου', - 'Όρους', - 'Όσσης', - 'Όχθιας', - 'Ύδρας', + "Άγρα", + "Άγρας", + "Άδελε", + "Άκρης", + "Άλλης Μεριάς", + "Άλσους", + "Άμμου", + "Άμπλιανης", + "Άνδρου", + "Άργους", + "Άργους Ορεστικού", + "Άρζου", + "Άρλας", + "Άρμπουνα", + "Άρνης", + "Άσκρης", + "Άσου", + "Άσπρου", + "Άσπρων Σπιτιών", + "Άσσου", + "Άστρους", + "Άτταλης", + "Άφρας", + "Έλους", + "Έμπωνα", + "Έρφων", + "Ήπιον", + "Ήρας", + "Ίδας", + "Ίμπρου", + "Ίσαρη", + "Αΐμονα", + "Αβάτου", + "Αβίας", + "Αβαρίκου", + "Αβγαριάς", + "Αβγού", + "Αβδέλλας", + "Αβδήρων", + "Αβδού", + "Αβρακόντε", + "Αβραμιού", + "Αβραμυλιάς", + "Αβόρανης", + "Αβόρου", + "Αγάπης", + "Αγία Βαρβάρα", + "Αγία Κυριακή", + "Αγία Παρασκευή", + "Αγίας Άννας", + "Αγίας Άννης", + "Αγίας Αναστασίας", + "Αγίας Βαρβάρας", + "Αγίας Βλαχέρνης", + "Αγίας Γαλήνης", + "Αγίας Ειρήνης", + "Αγίας Ελένης", + "Αγίας Ευθυμίας", + "Αγίας Ευφημίας", + "Αγίας Θέκλης", + "Αγίας Κυριακής", + "Αγίας Μαρίνης", + "Αγίας Μαύρας", + "Αγίας Παρασκευής", + "Αγίας Ρουμέλης", + "Αγίας Σοφίας", + "Αγίας Σωτήρας", + "Αγίου", + "Αγίου Αδριανού", + "Αγίου Αθανασίου", + "Αγίου Ακακίου", + "Αγίου Ανδρέου", + "Αγίου Αντωνίου", + "Αγίου Αρσενίου", + "Αγίου Αχιλλείου", + "Αγίου Βαρθολομαίου", + "Αγίου Βασιλείου", + "Αγίου Βασιλείου Κυνουρίας", + "Αγίου Βασιλείου Μαντινείας", + "Αγίου Βησσαρίου", + "Αγίου Βλασίου", + "Αγίου Γερμανού", + "Αγίου Γεωργίου", + "Αγίου Γεωργίου Δομοκού", + "Αγίου Γεωργίου Λαρίσης", + "Αγίου Γεωργίου Λασιθίου", + "Αγίου Γεωργίου Νηλείας", + "Αγίου Γεωργίου Σητείας", + "Αγίου Γεωργίου Συκούση", + "Αγίου Γεωργίου Φαρσάλων", + "Αγίου Γεωργίου Φερών", + "Αγίου Δημητρίου", + "Αγίου Δημητρίου Μονεμβασίας", + "Αγίου Δημητρίου Πηλίου", + "Αγίου Ευστρατίου", + "Αγίου Ηλία", + "Αγίου Ηλία Πηνηίων", + "Αγίου Ηλία Πύργου", + "Αγίου Θεοδώρου", + "Αγίου Θωμά", + "Αγίου Ισιδώρου", + "Αγίου Ιωάννη", + "Αγίου Ιωάννου", + "Αγίου Ιωάννου Αγίου Βασιλείου", + "Αγίου Ιωάννου Αμαρίου", + "Αγίου Ιωάννου Αρχαίας Ηραίας", + "Αγίου Ιωάννου Επιδαύρου Λιμήρας", + "Αγίου Ιωάννου Μυλοποτάμου", + "Αγίου Ιωάννου Ρέντη", + "Αγίου Κηρύκου", + "Αγίου Κοσμά", + "Αγίου Κυρίλλου", + "Αγίου Κωνσταντίνου", + "Αγίου Λαυρεντίου", + "Αγίου Λουκά", + "Αγίου Μάρκου", + "Αγίου Ματθαίου", + "Αγίου Μηνά", + "Αγίου Νικήτα", + "Αγίου Νικολάου", + "Αγίου Νικολάου Βοιών", + "Αγίου Νικολάου Βονίτσης και Ξηρομέρου", + "Αγίου Νικολάου Κράλης", + "Αγίου Νικολάου Μονεμβασίας", + "Αγίου Νικολάου Σπάτων", + "Αγίου Ονουφρίου", + "Αγίου Πέτρου", + "Αγίου Παντελεήμονα", + "Αγίου Παύλου", + "Αγίου Πολυκάρπου", + "Αγίου Προδρόμου", + "Αγίου Προκοπίου", + "Αγίου Σεραφείμ", + "Αγίου Στεφάνου", + "Αγίου Σύλλα", + "Αγίου Σώστου", + "Αγίου Φλώρου", + "Αγίου Χαραλάμπους", + "Αγίου Χριστοφόρου", + "Αγίων Αναργύρων", + "Αγίων Αποστόλων", + "Αγίων Δέκα", + "Αγίων Δούλων", + "Αγίων Θεοδώρων", + "Αγίων Πάντων", + "Αγίων Παρασκιών", + "Αγαθονησίου", + "Αγαθουπόλεως", + "Αγαλά", + "Αγαλιανής", + "Αγαλιανού", + "Αγγίστης", + "Αγγελιανών", + "Αγγελοκάστρου", + "Αγγελοχωρίου", + "Αγγελώνας", + "Αγδινών", + "Αγιάς", + "Αγιάσου", + "Αγιοβλασιτίκων", + "Αγιονερίου", + "Αγιονορίου", + "Αγιοπηγής", + "Αγιοφύλλου", + "Αγιοχωρίου", + "Αγιοχώριον", + "Αγιωργιτίκων", + "Αγκίστρου", + "Αγκαθιάς", + "Αγκαιριάς", + "Αγκαρυώνων", + "Αγκιστρίου", + "Αγκουσελιανών", + "Αγνάντης", + "Αγνάντων", + "Αγναντερής", + "Αγναντερού", + "Αγναντιάς", + "Αγοράς", + "Αγράφων", + "Αγρίλου", + "Αγραμπέλων", + "Αγραπιδεών", + "Αγραπιδιάς", + "Αγραπιδοχωρίου", + "Αγραφών", + "Αγρελιάς", + "Αγριάνων", + "Αγριάς", + "Αγριακόνας", + "Αγριανής", + "Αγριδίου", + "Αγριλιάς Μεσσήνης", + "Αγριλιάς Τριφυλίας", + "Αγριλοβούνου", + "Αγρινίου", + "Αγριοβοτάνου", + "Αγροσυκέας", + "Αγρού", + "Αγχιάλου", + "Αγόριανης", + "Αδάμ", + "Αδένδρου", + "Αδαμίου", + "Αδελφικού", + "Αδριανής", + "Αερινού", + "Αετολόφου", + "Αετομηλίτσης", + "Αετοπέτρας", + "Αετοπέτρας Δωδώνης", + "Αετοπέτρας Κονίτσης", + "Αετορράχη", + "Αετορράχης", + "Αετού", + "Αζώρου", + "Αηδονίων", + "Αηδονιάς", + "Αηδονοχωρίου", + "Αθαμανίας", + "Αθαμανίου", + "Αθανίου", + "Αθανασίου Διάκου", + "Αθηναίου", + "Αθηναίων", + "Αθικίων", + "Αθύρων", + "Αιανής", + "Αιαντείου", + "Αιγάλεω", + "Αιγάνης", + "Αιγίνης", + "Αιγίου", + "Αιγείρας", + "Αιγείρου", + "Αιγιάλης", + "Αιγινίου", + "Αιγιών", + "Αιγών", + "Αιθαίας", + "Αισύμης", + "Αιτωλικού", + "Ακοντίου", + "Ακουμίων", + "Ακράτας", + "Ακρίτα", + "Ακρίτας", + "Ακρίων", + "Ακραιφνίου", + "Ακρασίου", + "Ακρινής", + "Ακριτοχωρίου", + "Ακρολίμνης", + "Ακροποτάμου", + "Ακροποταμιάς", + "Ακρωτηρίου", + "Ακρών", + "Ακταίου", + "Ακόβου", + "Αλέας", + "Αλίκων", + "Αλίμου", + "Αλαγνίου", + "Αλαγονίας", + "Αλαλκομενών", + "Αλατόπετρας", + "Αλειμματάδων", + "Αλεξάνδρου", + "Αλεξανδρείας", + "Αλεξανδρουπόλεως", + "Αλεποχωρίου", + "Αλεποχωρίου Μπότσαρη", + "Αλεπούς", + "Αλεστίων", + "Αλεσταίνης", + "Αλευράδας", + "Αλευρούς", + "Αληθινής", + "Αλιάρτου", + "Αλιβερίου", + "Αλικάμπου", + "Αλικανά", + "Αλικαρνασσού", + "Αλικιανού", + "Αλισσού", + "Αλιστράτης", + "Αλιφείρας", + "Αλμυροποτάμου", + "Αλμυρού", + "Αλοίδων", + "Αλοννήσου", + "Αλποχωρίου", + "Αλτομιρών", + "Αλυφαντών", + "Αλφάς", + "Αλφειούσης", + "Αλωνίων", + "Αλωνακίων", + "Αλωνισταίνης", + "Αλώνων", + "Αλώρου", + "Αμάδων", + "Αμαλιαπόλεως", + "Αμαξάδων", + "Αμαράντου", + "Αμαράντων", + "Αμαρίου", + "Αμαριανού", + "Αμαρουσίου", + "Αμαρύνθου", + "Αμβρακίας", + "Αμβροσίας", + "Αμελάντων", + "Αμιρά", + "Αμισιανών", + "Αμμολόχου", + "Αμμοτόπου", + "Αμμουδάρας", + "Αμμουδιάς", + "Αμμουλιανής", + "Αμμοχωρίου", + "Αμνάτου", + "Αμορίου", + "Αμοργιανών", + "Αμοργού", + "Αμουρίου", + "Αμπέλου", + "Αμπέλων", + "Αμπελίων", + "Αμπελακίου", + "Αμπελακίων", + "Αμπελακιωτίσσης", + "Αμπελείας", + "Αμπελειών", + "Αμπελιάς", + "Αμπελικού", + "Αμπελιώνας", + "Αμπελοκάμπου", + "Αμπελοκήπων", + "Αμπελοφύτου", + "Αμπελοχωρίου", + "Αμπελούζου", + "Αμυγδαλέας", + "Αμυγδαλής", + "Αμυγδαλεών", + "Αμυγδαλιάς", + "Αμυγδαλοκεφαλίου", + "Αμυκλών", + "Αμυνταίου", + "Αμφία", + "Αμφίσσης", + "Αμφείας", + "Αμφιθέας", + "Αμφικλείας", + "Αμφιλοχίας", + "Αμφιπόλεως", + "Ανάβατου", + "Ανάβρας", + "Ανάφης", + "Ανέζης", + "Αναβρυτής", + "Αναβρυτού", + "Αναβρυτών", + "Αναβύσσου", + "Αναγεννήσεως", + "Ανακασιάς", + "Αναλήψεως", + "Αναργύρων", + "Αναρράχης", + "Αναστάσεως", + "Αναστασίας", + "Ανατολής", + "Ανατολικής", + "Ανατολικής Φραγκίστας", + "Ανατολικού", + "Αναφωνητρίας", + "Ανδανίας", + "Ανδρίτσης", + "Ανδραβίδας", + "Ανδριτσαίνης", + "Ανδρούσης", + "Ανδρωνιάνων", + "Ανεμοδουρίου", + "Ανεμομύλου", + "Ανεμορράχης", + "Ανεμοχωρίου", + "Ανεμότιας", + "Ανηλίου", + "Ανθήλης", + "Ανθής", + "Ανθείας", + "Ανθηρού", + "Ανθοτόπου", + "Ανθοφύτου", + "Ανθοχωρίου", + "Ανθοχωρίου Δωδώνης", + "Ανθοχωρίου Μετσόβου", + "Ανθοχώριον", + "Ανθούσης", + "Ανθρακίτη", + "Ανιάδας", + "Ανοίξεως", + "Ανοιξιάτικου", + "Αντίσσης", + "Ανταρτικού", + "Αντιγονείας", + "Αντικαλάμου", + "Αντικυθήρων", + "Αντικύρας", + "Αντιμαχείας", + "Αντιπάρου", + "Αντιπάτων Ερίσου", + "Αντιπερνών", + "Αντιρρίου", + "Αντισκαρίου", + "Αντιφιλίππων", + "Αντρωνίου", + "Ανυφίου", + "Ανωγής", + "Ανωγείου", + "Ανωγείων", + "Ανωπόλεως", + "Ανύδρου", + "Ανώσκελης", + "Αξιοκάστρου", + "Αξιουπόλεως", + "Αξιοχωρίου", + "Αξού", + "Απεράθου", + "Απερίου", + "Απεσωκαρίου", + "Απιδέα", + "Απιδέας", + "Απιδίων", + "Απλαδιανών", + "Αποδούλου", + "Αποικίων", + "Απολακκιάς", + "Απολλωνίας", + "Απολπαίνης", + "Αποστολιά", + "Αποστόλων", + "Απροβάτου", + "Απτέρων", + "Απόλλωνα", + "Αράξου", + "Αράχου", + "Αρήνης", + "Αρίας", + "Αρίσβη", + "Αρίσβης", + "Αρίστης", + "Αραβησσού", + "Αραχαμιτών", + "Αραχναίου", + "Αραχοβιτίκων", + "Αραχόβης", + "Αρβανίτη", + "Αργέννου", + "Αργίλου", + "Αργαλαστής", + "Αργασίου", + "Αργιθέας", + "Αργινίων", + "Αργολικού", + "Αργοστολίου", + "Αργυράδων", + "Αργυράς", + "Αργυρίου", + "Αργυρίων", + "Αργυροπουλείου", + "Αργυροτόπου", + "Αργυρουπόλεως", + "Αργυροχωρίου", + "Αργυρού", + "Αργυρού Πηγαδίου", + "Αργυρούπολης", + "Αργυρούπολις", + "Αρδάκτου", + "Αρδάσσης", + "Αρδαμερίου", + "Αρδανίου", + "Αρδείας", + "Αρδόσεως", + "Αρεθούσης", + "Αρεοπόλεως", + "Αρετής", + "Αριδαίας", + "Αριοχωρίου", + "Αριστοδημείου", + "Αριστομένους", + "Αρκάσας", + "Αρκίτσας", + "Αρκαδάδων", + "Αρκαδικού", + "Αρκαλοχωρίου", + "Αρκεσίνης", + "Αρκοχωρίου", + "Αρμάτων", + "Αρμένων", + "Αρματολικού", + "Αρμενάδων", + "Αρμενίου", + "Αρμενιών", + "Αρμενοχωρίου", + "Αρμολίων", + "Αρνά", + "Αρνίθας", + "Αρνίσσης", + "Αρναίας", + "Αροανίας", + "Αρραβωνίτσης", + "Αρριανά", + "Αρσενίου", + "Αρσινόης", + "Αρτάκης", + "Αρτέμιδας", + "Αρταίων", + "Αρτεμισίας", + "Αρτεμισίου", + "Αρτεσιανού", + "Αρτικίου", + "Αρτοπούλας", + "Αρτοτίνας", + "Αρφαρών", + "Αρχαίας Ήλιδας", + "Αρχαίας Ελεύθερνας", + "Αρχαίας Επιδαύρου", + "Αρχαίας Κορίνθου", + "Αρχαίας Μεσσήνης", + "Αρχαίας Νεμέας", + "Αρχαίας Ολυμπίας", + "Αρχαίας Πίσας", + "Αρχαίας Φενεού", + "Αρχαίων Κλεωνών", + "Αρχαγγέλου", + "Αρχανίου", + "Αρχανών", + "Αρχιλόχου", + "Αρχιπόλεως", + "Αρχοντικά", + "Αρχοντικής", + "Αρχοντικού", + "Αρχοντοχωρίου", + "Αρωγή", + "Αρωνά", + "Αρωνίου", + "Αρωνιαδίκων", + "Ασέας", + "Ασή Γωνιάς", + "Ασίνης", + "Ασβεστάδων", + "Ασβεστίου", + "Ασβεστοπέτρας", + "Ασβεστοχωρίου", + "Ασημένιου", + "Ασημίου", + "Ασημοχωρίου", + "Ασιτών", + "Ασκληπιείου", + "Ασκού", + "Ασκύφου", + "Ασκών", + "Ασμηνίου", + "Ασπραγγέλων", + "Ασπριάς", + "Ασπροβάλτας", + "Ασπρογείων", + "Ασπρογερακάτων", + "Ασπροκάμπου", + "Ασπροκκλησίου", + "Ασπροκκλησιάς", + "Ασπρονερίου", + "Ασπροπουλιάς", + "Ασπροπύργου", + "Ασπροχωρίου", + "Ασπρούλας", + "Ασσήρου", + "Αστακού", + "Αστερίου", + "Αστρά", + "Αστράκων", + "Αστρίτσης", + "Αστριτσίου", + "Αστροχωρίου", + "Αστυπαλαίας", + "Αστυρακίου", + "Ασφάκας", + "Ασφένδου", + "Ασφενδιού", + "Ασωμάτου", + "Ασωμάτων", + "Ασωπίας", + "Ασωπού", + "Ασώματα", + "Αταλάντης", + "Ατραπού", + "Ατσικής", + "Ατσιποπούλου", + "Ατσιχόλου", + "Αυγής", + "Αυγείου", + "Αυγενικής", + "Αυγερινού", + "Αυγώνυμων", + "Αυλής", + "Αυλακίου", + "Αυλιωτών", + "Αυλοτόπου", + "Αυλωναρίου", + "Αυλών", + "Αφάντου", + "Αφετών", + "Αφιδνών", + "Αφισίου", + "Αφράτου", + "Αφράτων", + "Αφρατίου", + "Αφροξυλιάς", + "Αφύτου", + "Αχαΐας", + "Αχαρνών", + "Αχαϊκού", + "Αχεντριά", + "Αχερουσίας", + "Αχιλλείου", + "Αχινού", + "Αχλάδας", + "Αχλαδέ", + "Αχλαδέας", + "Αχλαδίου", + "Αχλαδίων", + "Αχλαδερής", + "Αχλαδεών", + "Αχλαδινής", + "Αχλαδοκάμπου", + "Αχλαδοκάστρου", + "Αχλαδοχωρίου", + "Αχυρών", + "Αψάλου", + "Αϊδινίου", + "Αϊτανίων", + "Αύρας", + "Βάβδου", + "Βάγγου", + "Βάθειας", + "Βάθης", + "Βάλτας", + "Βάλτου", + "Βάμου", + "Βάρδας", + "Βάρης", + "Βάρνακα", + "Βάρους", + "Βάστα", + "Βάτου", + "Βάχλιας", + "Βάχου", + "Βέλου", + "Βέλους", + "Βέργας", + "Βέργης", + "Βέροιας", + "Βέσσης", + "Βήσσανης", + "Βίβλου", + "Βίγλας", + "Βίνιανης", + "Βίτολης", + "Βίτσης", + "Βαβιλών", + "Βαβουρίου", + "Βαγίων", + "Βαγενιτίου", + "Βαγιονιάς", + "Βαθέως", + "Βαθείας", + "Βαθυκοίλου", + "Βαθυλάκκου", + "Βαθυπέδου", + "Βαθυτόπου", + "Βαλανίδας", + "Βαλανείου", + "Βαλανιδιάς", + "Βαλανιδοράχης", + "Βαλανιδούσσας", + "Βαλαώρας", + "Βαλεριάνου", + "Βαλιμής", + "Βαλιμιτίκων", + "Βαλκάνου", + "Βαλσαμονέρου", + "Βαλτερού", + "Βαλτεσινίκου", + "Βαλτετσίου", + "Βαλτινού", + "Βαλτονέρων", + "Βαλτοτοπίου", + "Βαλτοχωρίου", + "Βαλύρας", + "Βαμβακιάς", + "Βαμβακοπούλου", + "Βαμβακοφύτου", + "Βαμβακούς", + "Βαμβακούσσης", + "Βανάδας", + "Βανάτου", + "Βαπτιστού", + "Βαρβάρας", + "Βαρβίτσης", + "Βαρβασαίνης", + "Βαργιάδων", + "Βαργιάνης", + "Βαρδάτων", + "Βαρδαλής", + "Βαρετάδας", + "Βαρθολομιού", + "Βαρικού", + "Βαρλαάμ", + "Βαρνάβα", + "Βαρυπατάδων", + "Βαρύπετρου", + "Βασαρά", + "Βασιλή", + "Βασιλακίου", + "Βασιλατίκων", + "Βασιλειών", + "Βασιλεωνοίκου", + "Βασιλικής", + "Βασιλικιάδων", + "Βασιλικού", + "Βασιλικών", + "Βασιλικών Ανωγείων", + "Βασιλιτσίου", + "Βασιλοπούλου", + "Βασιλουδίου", + "Βατίου", + "Βατατάδων", + "Βατερού", + "Βατολάκκου", + "Βατοχωρίου", + "Βατούσσης", + "Βατσουνιάς", + "Βαυκερής", + "Βαφέ", + "Βαφιοχωρίου", + "Βαχού", + "Βεγόρων", + "Βελάς", + "Βελίκας", + "Βελίνης", + "Βελανιδίου", + "Βελανιδίων", + "Βελανιδιάς", + "Βελβίνας", + "Βελβεντού", + "Βελεντζικού", + "Βελεσιωτών", + "Βελεστίνου", + "Βελημαχίου", + "Βελιγοστής", + "Βελιμαχίου", + "Βελιτσών", + "Βελιών", + "Βελονάδων", + "Βελωτών", + "Βενίου", + "Βενεράτου", + "Βερίνου", + "Βερβένων", + "Βερβεράτου", + "Βεργίνης", + "Βερδικούσσης", + "Βερενίκης", + "Βερμίου", + "Βερτίσκου", + "Βεύης", + "Βιάννου", + "Βιδιακίου", + "Βιζαρίου", + "Βικίου", + "Βιλίων", + "Βιλανδρέδου", + "Βιλιβίνης", + "Βιρού", + "Βισταγής", + "Βιτάλων", + "Βιταλάδων", + "Βιταλίου", + "Βλάση", + "Βλάστης", + "Βλάτους", + "Βλασίας", + "Βλασίου", + "Βλαχάβας", + "Βλαχάτων Εικοσιμίας", + "Βλαχέρνης", + "Βλαχατάνου", + "Βλαχερωνιτίσσης", + "Βλαχιάς", + "Βλαχιώτη", + "Βλαχογιαννίου", + "Βλαχοκερασέας", + "Βλαχομάνδρας", + "Βλαχοπούλου", + "Βλησιδιάς", + "Βλιζιανών", + "Βλοχού", + "Βλυχού", + "Βοβούσης", + "Βογατσικού", + "Βοθιανών", + "Βολιμών", + "Βολισσού", + "Βομβοκούς", + "Βορδονίας", + "Βορεινού", + "Βοριζίων", + "Βοσκοχωρίου", + "Βοτονοσίου", + "Βουβοποτάμου", + "Βουβών", + "Βουγιάτου", + "Βουζίου", + "Βουκολιών", + "Βουλγάρω", + "Βουλιάστης", + "Βουλιαγμένης", + "Βουλισμένης", + "Βουνάργου", + "Βουναίνων", + "Βουναρίων", + "Βουνιατάδων", + "Βουνιχώρας", + "Βουνοπλαγιάς", + "Βουνού", + "Βουρβούλου", + "Βουρβούρων", + "Βουργαρελίου", + "Βουρκωτής", + "Βουρλιωτών", + "Βουρνικά", + "Βουτά", + "Βουταίνης", + "Βουτιάνων", + "Βουτσίμου", + "Βουτσαρά", + "Βουτύρου", + "Βουτών", + "Βουχωρίνας", + "Βοχαϊκού", + "Βούλας", + "Βούλπης", + "Βούνων", + "Βούρμπιανης", + "Βούτση", + "Βράχας", + "Βράχου", + "Βρίας", + "Βρίνας", + "Βρίσας", + "Βραΐλας", + "Βραγγιανών", + "Βραγιά", + "Βραγκιανών", + "Βραδέτου", + "Βρασνών", + "Βραστάμων", + "Βραχασίου", + "Βραχατίου", + "Βραχιάς", + "Βραχναιίκων", + "Βρεσθένων", + "Βρεστού", + "Βριλησσίων", + "Βρομόβρυσης", + "Βροντάδου", + "Βροντής", + "Βρονταμά", + "Βροντερού", + "Βροντισμένης", + "Βροντούς", + "Βροσίνας", + "Βρουβιανών", + "Βρουστίου", + "Βρουχά", + "Βροχίτσης", + "Βρούτση", + "Βρυναίνης", + "Βρυοτόπου", + "Βρυσέλλας", + "Βρυσακίου", + "Βρυσικών", + "Βρυσιών", + "Βρυσουλών", + "Βρυσοχωρίου", + "Βρυσούλας", + "Βρυσών", + "Βρυσών Αποκορρώνου", + "Βρυσών Κυδωνίας", + "Βρυτών", + "Βρύσης", + "Βυζίτσης", + "Βυζικίου", + "Βυθού", + "Βυρωνείας", + "Βυσσινέας", + "Βυτίνης", + "Βυτιναιίκων", + "Βωλάδας", + "Βωλεώνων", + "Βόλβης", + "Βόλου", + "Βόνης", + "Βόνιτσας", + "Βύσσης", + "Βώρων", + "Γάβρου", + "Γέρακα", + "Γέργερης", + "Γέρμα", + "Γέρμας", + "Γέροντα", + "Γαΐου", + "Γαβαλά", + "Γαβαλοχωρίου", + "Γαβαλούς", + "Γαβρακίων", + "Γαβριάς", + "Γαβρισιών", + "Γαβρολίμνης", + "Γαζίου", + "Γαζώρου", + "Γαλάνης", + "Γαλάρου", + "Γαλήνης", + "Γαλίφας", + "Γαλανάδου", + "Γαλαναίϊκα", + "Γαλανόβρυσης", + "Γαλαξιδίου", + "Γαλαρινού", + "Γαλατά", + "Γαλατάδων", + "Γαλατίστης", + "Γαλατακίου", + "Γαλατείας", + "Γαλατινής", + "Γαλατσάδων", + "Γαλατσίου", + "Γαλατσώνας", + "Γαλησσά", + "Γαληψού", + "Γαλιάς", + "Γαλλικού", + "Γαναδιού", + "Γανοχώρας", + "Γαράζου", + "Γαρέας", + "Γαρίπας", + "Γαργαλιάνων", + "Γαρδελάδων", + "Γαρδικίου", + "Γαρδικίου Σούλι", + "Γαρεφείου", + "Γαρούνας", + "Γαστουρίου", + "Γαστούνης", + "Γαυρίου", + "Γαϊτανίου", + "Γαύδου", + "Γδοχίων", + "Γελάνθης", + "Γελινιατίκων", + "Γενεσίου", + "Γενισέας", + "Γενναδίου", + "Γερακίου", + "Γερακαρίου", + "Γερακαρούς", + "Γερακιούς", + "Γερακλίου", + "Γερανίου", + "Γερανίων", + "Γεροπλατάνου", + "Γεφυρίων", + "Γεφυρουδίου", + "Γεφύρας", + "Γεωργάνων", + "Γεωργανάδων", + "Γεωργιανής", + "Γεωργιανών", + "Γεωργικού", + "Γεωργιουπόλεως", + "Γεωργιτσίου", + "Γιάλτρων", + "Γιάννουλης", + "Γιαννάδων", + "Γιανναίων", + "Γιαννακοχωρίου", + "Γιαννιτσίου", + "Γιαννιτσοχωρίου", + "Γιαννιτσούς", + "Γιαννιτσών", + "Γιαννοπούλων", + "Γιαννωτών", + "Γιμαρίου", + "Γιουργάνιστας", + "Γιρομερίου", + "Γκαγκαλών", + "Γκανέϊκα", + "Γκοριτσάς", + "Γκούρας", + "Γκρίκας", + "Γκραίκα", + "Γκριμπόβου", + "Γλάστρας", + "Γλίνου", + "Γλαφυρών", + "Γλαύκης", + "Γλινάδου", + "Γλυκής", + "Γλυκομηλέας", + "Γλυκορριζίου", + "Γλυκόβρυσης", + "Γλυκών Νερών", + "Γλυφάδα", + "Γλυφάδας", + "Γλύφας", + "Γλώσσης", + "Γολάς", + "Γοματίου", + "Γονίμου", + "Γονούσσης", + "Γοράνων", + "Γοργοβιτών", + "Γοργογυρίου", + "Γοργομύλου", + "Γοργοποτάμου", + "Γοργόπη", + "Γορτυνίας", + "Γουβών", + "Γουλεδιανών", + "Γουλεμίου", + "Γουλών", + "Γουμένισσας", + "Γουμέρου", + "Γουριάς", + "Γουριωτίσσης", + "Γράμου", + "Γρίβας", + "Γραίκα", + "Γραβιάς", + "Γραβούνης", + "Γραικικού", + "Γραικοχωρίου", + "Γραικού", + "Γραμβουσής", + "Γραμμένης", + "Γραμμένης Οξυάς", + "Γραμμένου", + "Γραμματικού", + "Γραμματικούς", + "Γραμμενίτσης", + "Γραμμούσης", + "Γραμπιάς", + "Γρανίτου", + "Γρανίτσης", + "Γρανιτσαιίκων", + "Γρανιτσοπούλας", + "Γρατίνη", + "Γρεβενιτίου", + "Γρεβενών", + "Γρηγορίας", + "Γρηγορίου", + "Γρηγόρη", + "Γριζάνου", + "Γριζάτων", + "Γριμπόβου", + "Γρύλλου", + "Γυθείου", + "Γυμνοτόπου", + "Γυμνού", + "Γυναικοκάστρου", + "Γυρίου", + "Γωνιάς", + "Γωνιών Μαλεβιζίου", + "Γόμφων", + "Γόννων", + "Δάρα", + "Δάφνης", + "Δάφνου", + "Δένδρου", + "Δένδρων Τυρνάβου", + "Δένδρων Φαρσάλων", + "Δέσης", + "Δήμητρας", + "Δίβρης", + "Δίου", + "Δαδιάς", + "Δαιμονίας", + "Δαλαμανάρας", + "Δαμάστας", + "Δαμαβόλου", + "Δαμακινίου", + "Δαμανίων", + "Δαμασίου", + "Δαμασκηνιάς", + "Δαματρίας", + "Δαμουλιανάτων", + "Δανακού", + "Δαράτσου", + "Δαρμένη", + "Δασκίου", + "Δασολόφου", + "Δασοχωρίου", + "Δασυλλίου", + "Δασωτού", + "Δαυγάτων", + "Δαυλείας", + "Δαφίων", + "Δαφνέ", + "Δαφνίου", + "Δαφνιά", + "Δαφνιωτίσσης", + "Δαφνοσπηλιάς", + "Δαφνουδίου", + "Δαφνοφύτου", + "Δαφνούλας", + "Δαφνούσσης", + "Δαφνωτής", + "Δαφνών", + "Δειλινά", + "Δελβινακίου", + "Δελβινακοπούλου", + "Δελερίων", + "Δελιανών", + "Δελφίνου", + "Δελφών", + "Δεματίου", + "Δεμεστίχων", + "Δενδροχωρίου", + "Δερβενίου", + "Δερβιζιάνων", + "Δερματίου", + "Δεσινού", + "Δεσκάτης", + "Δεσποτικού", + "Δεσφίνης", + "Δεσύλλα", + "Δημαίνης", + "Δημαρίου", + "Δημητρητσίου", + "Δημητροπούλου", + "Δημητσάνης", + "Διάβας", + "Διάσελλου", + "Διαβατού", + "Διαβατών", + "Διαβολιτσίου", + "Διακοπίου", + "Διακοπτού", + "Διαλεκτού", + "Διασέλλου", + "Διασέλλων", + "Διασελλακίου", + "Διβαράτων", + "Διγελιωτίκων", + "Διδυμοτείχου", + "Διδύμας", + "Διδύμων", + "Διευχών", + "Δικάστρου", + "Δικαίων", + "Δικορύφου", + "Διλινάτων", + "Διλόφου", + "Διλόφου Λαρίσης", + "Διλόφου Φαρσάλων", + "Διμηνίου", + "Διμηνιού", + "Διμοκορίου", + "Διμυλιάς", + "Διοδίων", + "Διομηδείας", + "Διονυσίου", + "Διονύσου", + "Διπλατάνου", + "Διποτάμου", + "Διποταμιάς", + "Δισπηλίου", + "Διστράτου", + "Διστόμου", + "Διχειμάρρου", + "Διχομοιρίου", + "Διχωρίου", + "Δοβλά", + "Δοκιμίου", + "Δοκός", + "Δολίχης", + "Δολιανών", + "Δολού", + "Δολών", + "Δομίρου", + "Δομβραίνης", + "Δομενίκου", + "Δομιανών", + "Δομνίστης", + "Δομοκού", + "Δονούσης", + "Δοξάτου", + "Δοξαρά", + "Δοξαρού", + "Δορίσκου", + "Δορβιτσιάς", + "Δοτσικού", + "Δουκάδων", + "Δουκαναιίκων", + "Δουλίου", + "Δουμενών", + "Δουμπιών", + "Δουναίικων", + "Δούκα", + "Δράμας", + "Δρίμιτσας", + "Δραΐνας", + "Δραβήσκου", + "Δραγάνου", + "Δραγασιάς", + "Δραγοψάς", + "Δραγωγίου", + "Δρακαίων", + "Δρακείας", + "Δρακοβουνίου", + "Δρακόνας", + "Δρακότρυπας", + "Δραμεσιών", + "Δραπανιά", + "Δραπετσώνας", + "Δρεπάνου", + "Δριμίσκου", + "Δροσάτου", + "Δροσίνη", + "Δροσερού", + "Δροσιά", + "Δροσιάς", + "Δροσινή", + "Δροσοπηγής", + "Δροσοχωρίου", + "Δρυάλου", + "Δρυμάδων", + "Δρυμαίας", + "Δρυμού", + "Δρυοβούνου", + "Δρυοφύτου", + "Δρυόπης", + "Δρύμη", + "Δυρραχίου", + "Δυσβάτου", + "Δυτικής Φραγκίστας", + "Δυτικού", + "Δωδώνης", + "Δωματίων", + "Δωρίου", + "Δωρικού", + "Δωροθέας", + "Δόλιανης", + "Δόξης", + "Δόριζα", + "Δύο Βουνών", + "Δύο Χωρίων", + "Δύστου", + "Εβροπούλων", + "Εγγαρών", + "Εγκλουβής", + "Εδέσσης", + "Εθιάς", + "Εθνικού", + "Ειδομένης", + "Ειρηνικού", + "Εκάλης", + "Εκκάρας", + "Εκκλησιών", + "Εκκλησοχωρίου", + "Εκκλησούλας", + "Ελάτας", + "Ελάτειας", + "Ελάτης", + "Ελάτου", + "Ελάφου", + "Ελίκας", + "Ελίκης", + "Ελαίας", + "Ελαιοφύτου", + "Ελαιοχωρίου", + "Ελαιοχωρίων", + "Ελαταριάς", + "Ελατείας", + "Ελατοχωρίου", + "Ελατούς", + "Ελατόβρυσης", + "Ελαφονήσου", + "Ελαφοχωρίου", + "Ελαφότοπου", + "Ελενών", + "Ελεούσης", + "Ελευθέρνης", + "Ελευθέρου", + "Ελευθερίου", + "Ελευθερίου-Κορδελιού", + "Ελευθεριανής", + "Ελευθερουπόλεως", + "Ελευθεροχωρίου", + "Ελευθερών", + "Ελικίστρας", + "Ελληνίτσης", + "Ελληνικού", + "Ελληνικών", + "Ελληνοεκκλησίας", + "Ελληνοκάστρου", + "Ελληνοπύργου", + "Ελληνοχωρίου", + "Ελλοπίας", + "Ελούντας", + "Εμμανουήλ Παππά", + "Εμπάρου", + "Εμπεσού", + "Εμπορίου", + "Εμπορείου", + "Εμπορειού", + "Εμπροσνέρου", + "Ενορίας", + "Εξάρχου", + "Εξαλόφου", + "Εξαμιλίων", + "Εξανθείας", + "Εξαπλατάνου", + "Εξοχή", + "Εξοχής", + "Εξοχικού", + "Εξωγής", + "Εξωχωρίου", + "Επάνω Βαθείας", + "Επανομής", + "Επανωχωρίου", + "Επιβατών", + "Επιδαύρου", + "Επινιανών", + "Επισκέψεως", + "Επισκοπής", + "Επισκοπής Γωνιάς", + "Επισκοπής Νάουσας", + "Επισκοπικού", + "Επιταλίου", + "Επταλόφου", + "Επταμύλων", + "Επταχωρίου", + "Ερασμίου", + "Ερατεινής", + "Ερατεινού", + "Ερατύρας", + "Ερεικούσσης", + "Ερεσού", + "Ερετρίας", + "Ερινεού", + "Ερμακιάς", + "Ερμητσίου", + "Ερμιόνης", + "Ερμουπόλεως", + "Ερυθραίας", + "Ερυθρών", + "Ερυμανθείας", + "Εσοχή", + "Εσωβάλτων", + "Εσωχωρίων", + "Ευάνδρου", + "Ευαγγελισμού", + "Ευαγγελισμού Λαρίσης", + "Ευαγγελιστρίας", + "Ευγήρου", + "Ευδήλου", + "Ευζώνων", + "Ευηνοχωρίου", + "Ευκαρπίας", + "Ευλάλου", + "Ευμοίρου", + "Ευξεινουπόλεως", + "Ευπαλίου", + "Ευρωπού", + "Ευρωστίνης Ροζενών", + "Ευόσμου", + "Εφέσου", + "Εφύρας", + "Εχίνου", + "Εύας", + "Ζάκα", + "Ζάκρου", + "Ζάρκου", + "Ζήριας", + "Ζίρου", + "Ζίτσης", + "Ζίχνης", + "Ζαγκλιβερίου", + "Ζαγοράς", + "Ζακυνθίων", + "Ζαλόγγου", + "Ζαππείου", + "Ζαράκων", + "Ζαρκαδιάς", + "Ζαρού", + "Ζαρούχλης", + "Ζατούνης", + "Ζαχάρως", + "Ζαχλωριτίκων", + "Ζαχλωρούς", + "Ζαϊμίου", + "Ζελίου", + "Ζεμενού", + "Ζενίων", + "Ζερβοχωρίου", + "Ζερμπισίων", + "Ζευγαρακίου", + "Ζευγολατείου", + "Ζευγολατιού", + "Ζεφυρίου", + "Ζηλευτής", + "Ζηλευτού", + "Ζιγοβιστίου", + "Ζουνακίου", + "Ζουριδίου", + "Ζούζουλης", + "Ζυγού", + "Ζυμπραγού", + "Ζυφιά", + "Ζωής", + "Ζωγράφου", + "Ζωνιανών", + "Ζωοδόχου", + "Ζωοδόχου Πηγής", + "Ζωριάνου", + "Ζωτικού", + "Ζωφόρων", + "Ζόλων", + "Ζώνης", + "Ηγουμενίτσης", + "Ηλέκτρας", + "Ηλιοκάλης", + "Ηλιοκάστρου", + "Ηλιοκώμης", + "Ηλιορράχης", + "Ηλιοχωρίου", + "Ηλιούπολης", + "Ηλιόλουστο", + "Ημεροβιγλίου", + "Ηραίου", + "Ηρακλίτσης", + "Ηρακλείας", + "Ηρακλείου", + "Θάνα", + "Θάνους", + "Θάσου", + "Θέας", + "Θέρμης", + "Θέρμου", + "Θήρας", + "Θίσβης", + "Θαλαμών", + "Θαλερού", + "Θαρουνίων", + "Θαυμακού", + "Θεισόας", + "Θεμέλου", + "Θεοδοσίων", + "Θεοδωρακίου", + "Θεοδωρακείου", + "Θεοδωριάνων", + "Θεοδώρας", + "Θεοκτίστου", + "Θεολόγου", + "Θεοπέτρας", + "Θερίσου", + "Θεραπειό", + "Θεριακησίου", + "Θεριανού", + "Θερινού", + "Θερμησίας", + "Θερμοπυλών", + "Θερμών", + "Θεσπιών", + "Θεσπρωτικού", + "Θεσσαλονίκης", + "Θηβαίων", + "Θηναίας", + "Θηρασίας", + "Θηριοπέτρας", + "Θολαρίων", + "Θολοποταμίου", + "Θολού", + "Θουρίας", + "Θουρίου", + "Θούριο Θουρίου", + "Θρακομακεδόνων", + "Θραψανού", + "Θραψιμίου", + "Θροφαρίου", + "Θρυλορίου", + "Θρόνου", + "Θυμιανών", + "Θυρίου", + "Θωκνίας", + "Ιάσιον", + "Ιάσμου", + "Ιαλυσού", + "Ιβήρων", + "Ιεραπέτρας", + "Ιερισσού", + "Ιερομνήμης", + "Ιεροπηγής", + "Ιητών", + "Ιθάκης", + "Ιθώμης", + "Ικλαίνης", + "Ιλίου", + "Ιμέρου", + "Ιμέρων", + "Ινάχου", + "Ινίου", + "Ιππείου", + "Ιρίων", + "Ισαακίου", + "Ισθμίας", + "Ιστιαίας", + "Ιστρίου", + "Ισώματος Καρυών", + "Ιτέα", + "Ιτέας", + "Ιωαννίνων", + "Ιωαννιτών", + "Ιωνίας", + "Κάινας", + "Κάλφα", + "Κάμπου", + "Κάμπων", + "Κάπης", + "Κάρπης", + "Κάσου", + "Κάσπακα", + "Κάστρου", + "Κάψα", + "Κέδρου", + "Κέδρων", + "Κέλλης", + "Κέντρου", + "Κέχρου", + "Κήπων", + "Κίνυρα", + "Κίου", + "Κίρκης", + "Κίρρας", + "Καβάλας", + "Καβάλου", + "Καβάσιλα", + "Καβαλλαρίου", + "Καβαλλουρίου", + "Καβασίλων", + "Καββαδάδων", + "Καβησού", + "Καβουσίου", + "Καβύλης", + "Καγκαδίου", + "Καδίου", + "Καθενών", + "Καθολικού", + "Καινουργίου", + "Καινούργιου Χωρίου", + "Καισάρειας", + "Καισαρίου", + "Καισαριανής", + "Κακαλετρίου", + "Κακοβάτου", + "Κακοδικίου", + "Κακολάκκου", + "Κακοπέτρου", + "Κακοπλευρίου", + "Κακοταρίου", + "Κακουραίικων", + "Καλάθου", + "Καλάμου", + "Καλάνδρας", + "Καλάνου", + "Καλής", + "Καλής Βρύσης", + "Καλής Κώμης", + "Καλαβάρδα", + "Καλαβρούζης", + "Καλαβρύτων", + "Καλαθενών", + "Καλαμάτας", + "Καλαμίου", + "Καλαμακίου", + "Καλαμαρά", + "Καλαμαριάς", + "Καλαμαύκας", + "Καλαμιά", + "Καλαμιάς", + "Καλαμιτσίου", + "Καλαμιτσίου Αλεξάνδρου", + "Καλαμιτσίου Αμυγδαλίου", + "Καλαμπάκας", + "Καλαμπακίου", + "Καλαμωτής", + "Καλαμωτού", + "Καλανίστρας", + "Καλανδαρές", + "Καλαποδίου", + "Καλαρρυτών", + "Καλαφατιώνων", + "Καλεντίνης", + "Καλεντζίου", + "Καλεσιών", + "Καλεσμένου", + "Καλημεριάνων", + "Καληράχης", + "Καλιανών", + "Καλιδόνης", + "Καλιπάδου", + "Καλιτσαίνης", + "Καλλίου", + "Καλλίστη", + "Καλλίστης", + "Καλλεργιανών", + "Καλλιανίου", + "Καλλιανού", + "Καλλιδρόμου", + "Καλλιθέας", + "Καλλιθέας Σουλίου", + "Καλλιθέας Φαρσάλων", + "Καλλιθέας Φιλιατών", + "Καλλιθήρου", + "Καλλικράτειας", + "Καλλικώμου", + "Καλλιμασιάς", + "Καλλινίκης", + "Καλλιπεύκης", + "Καλλιπόλεως", + "Καλλιράχης", + "Καλλιρρόης", + "Καλλιφωνίου", + "Καλλιφύτου", + "Καλλιόπης", + "Καλλονής", + "Καλλυντήριον", + "Καλοβάτου", + "Καλογέρου", + "Καλογήρων", + "Καλογερεσίου", + "Καλογερικού", + "Καλογερόρραχης", + "Καλογριανής", + "Καλογριανών", + "Καλοκάστρου", + "Καλομοίρας", + "Καλονερίου", + "Καλονύκτου", + "Καλοσκοπής", + "Καλουδίου", + "Καλουδιανών", + "Καλουσίου", + "Καλουτά", + "Καλοχίου", + "Καλοχωρίου", + "Καλοχωρίου-Παντειχίου", + "Καλού Αγρού", + "Καλού Νερού", + "Καλού Χωρίου", + "Καλπακίου", + "Καλτεζών", + "Καλυβίων", + "Καλυβίων Θορικού", + "Καλυβίων Μυρτουντίων", + "Καλυβίων Σοχάς", + "Καλυβακίων", + "Καλυβών", + "Καλυδονίας", + "Καλυθιών", + "Καλυμνίων", + "Καλύβου", + "Καλών Δένδρων", + "Καλών Νερών", + "Καμάρας", + "Καμάρων", + "Καμένης", + "Καμένων Βούρλων", + "Καμήλας", + "Καμαρίνας", + "Καμαρίου", + "Καμαρίτσης", + "Καμαρίων", + "Καμαριώτου", + "Καμαρούλας", + "Καμαρωτού", + "Καμαρών", + "Καματερού", + "Καμενίτσης", + "Καμενιάνων", + "Καμηλαρίου", + "Καμινίων", + "Καμινακίου", + "Καμιναράτων", + "Καμισιανών", + "Καμπάνη", + "Καμπής", + "Καμπανού", + "Καμπιών", + "Καμποχωρίου", + "Κανακάδων", + "Καναλίου", + "Καναλίων", + "Καναλλακίου", + "Κανδάλου", + "Κανδάνου", + "Κανδήλας", + "Καπανδριτίου", + "Καπαρελλίου", + "Καπελέτου", + "Καπεσόβου", + "Καπλανίου", + "Καπνοφύτου", + "Καπνοχωρίου", + "Καππά", + "Καππαδοκικού", + "Καππαριάς", + "Καράνου", + "Καράτουλα", + "Καράτουλα Κυνουρίας", + "Καράτουλα Μεγαπόλεως", + "Καρέας", + "Καρές", + "Καρίτσης", + "Καρίτσης Δολόπων", + "Καρίτσης Καρπενησίου", + "Καραβά", + "Καραβάδου", + "Καραβομύλου", + "Καραβοστάμου", + "Καραιίκων", + "Καρατζά", + "Καραϊσκάκη", + "Καρβάλης", + "Καρβασαρά", + "Καρβελά", + "Καρβελίου", + "Καρβουνάδων", + "Καρβουναρίου", + "Καρδίας", + "Καρδίτσης", + "Καρδαμά", + "Καρδαμαίνης", + "Καρδαμύλης", + "Καρδαμύλων", + "Καρδαρά", + "Καρδαριτσίου", + "Καρδιάς", + "Καρδιακαυτίου", + "Καρδιανής", + "Καρδιτσομαγούλας", + "Καριανής", + "Καρινών", + "Καριταίνης", + "Καριωτίου", + "Καριωτών", + "Καρκιναγρίου", + "Καρλοβασίων", + "Καρνασίου", + "Καρνεζαίικων", + "Καροπλεσίου", + "Καρουζανών", + "Καρουσάδων", + "Καρουτών", + "Καρπάθου", + "Καρπασίου", + "Καρπενησίου", + "Καρπερής", + "Καρπερού", + "Καρποφόρων", + "Καρποχωρίου", + "Καρτεράδου", + "Καρτερίου", + "Καρτερολίου", + "Καρτερών", + "Καρυάς", + "Καρυδίου", + "Καρυδίου Μιραμπέλλου", + "Καρυδίτσας", + "Καρυδιάς", + "Καρυοβουνίου", + "Καρυουπόλεως", + "Καρυοφύτου", + "Καρυοχωρίου", + "Καρυωτίσσης", + "Καρυών", + "Καρωτής", + "Καρύστου", + "Καρών Αποκορρώνου", + "Καρών Κισσάμου", + "Κασάνου", + "Κασσανδρείας", + "Κασσανδρηνού", + "Κασσιόπης", + "Καστάνιανης", + "Καστέλλας", + "Καστέλλου", + "Κασταμονίτσης", + "Καστανέας", + "Καστανέας Επιδαύρου Λιμηράς", + "Καστανίτσης", + "Καστανίων", + "Καστανερής", + "Καστανεών", + "Καστανιάς", + "Καστανιωτίσσης", + "Καστανοφύτου", + "Καστανοχωρίου", + "Καστανούλας", + "Καστανούσσης", + "Καστανώνος Ζαγορίου", + "Καστελλάνων Γύρου", + "Καστελλάνων Μέσης", + "Καστελλίου", + "Καστελλίου Φουρνής", + "Καστελλίων", + "Καστελλιανών", + "Καστορίας", + "Καστορείου", + "Καστού", + "Καστρίου", + "Καστρίτσης", + "Καστρίων", + "Καστρακίου", + "Καστριτσίου", + "Καστριωτίσσης", + "Κατάκαλης", + "Καταβόθρας", + "Κατακαλίου", + "Κατακοίλου", + "Κατακόλου", + "Καταλάκκου", + "Καταλαγαρίου", + "Καταλωνίων", + "Καταμάχης", + "Καταπόλων", + "Καταρράκτου", + "Κατασταρίου", + "Καταφυγίου", + "Καταφυλλίου", + "Καταφύτου", + "Καταχά", + "Κατερίνης", + "Κατοχής", + "Κατούνας", + "Κατούνης", + "Κατσίμπαλη", + "Κατσαρού", + "Κατσαρωνίου", + "Κατσιδωνίου", + "Κατσικά", + "Κατταβίας", + "Κατωγής", + "Κατωμερίου", + "Κατωχωρίου", + "Καυκάσου", + "Καυκωνίας", + "Καψάλων", + "Καψοράχης", + "Κελεφά", + "Κεντρικής", + "Κεντρικού", + "Κεντροχωρίου", + "Κεράμου", + "Κεράς", + "Κερίου", + "Κεραμέ", + "Κεραμίου", + "Κεραμίτσης", + "Κεραματών", + "Κεραμείας", + "Κεραμείων", + "Κεραμειών", + "Κεραμιδίου", + "Κεραμιδιάς", + "Κεραμουτσίου", + "Κεραμωτής", + "Κερασέα", + "Κερασέας", + "Κερασίτσης", + "Κερασίων", + "Κερασεών", + "Κερασιάς", + "Κερασοχωρίου", + "Κεραστάρη", + "Κερασόβου", + "Κερατέας", + "Κερατσινίου", + "Κερδυλίων", + "Κερκίνης", + "Κερκυραίων", + "Κερπινής", + "Κερτέζης", + "Κερυνείας", + "Κεσσάνης", + "Κεστρίνης", + "Κεφάλου", + "Κεφαλά", + "Κεφαλίου", + "Κεφαλαρίου", + "Κεφαλινού", + "Κεφαλοβρυσίου", + "Κεφαλοβρύσου", + "Κεφαλοχωρίου", + "Κεφαλόβρυσης", + "Κεχρινιάς", + "Κεχριών", + "Κεχροκάμπου", + "Κηκίδιον", + "Κηπίων", + "Κηπουρείου", + "Κηρίνθου", + "Κηφισιάς", + "Κιβερίου", + "Κιβωτού", + "Κιζάριον", + "Κιλελέρ", + "Κιλκίς", + "Κιμμερίων", + "Κιμώλου", + "Κινιδάρου", + "Κιονίου", + "Κιρκιζατών", + "Κισσάμου", + "Κισσού", + "Κλένιας", + "Κλήματος Ευπαλίου", + "Κλαδά", + "Κλαδέου", + "Κλαδορράχης", + "Κλαυσίου", + "Κλείτου", + "Κλειδίου", + "Κλειδωνιάς", + "Κλεινού", + "Κλεινών", + "Κλειούς", + "Κλεισορρευμάτων", + "Κλεισούρας", + "Κλεισωρείας", + "Κλειτορίας", + "Κλειτσού", + "Κλεπάς", + "Κληματακίου", + "Κληματιάς", + "Κλημεντίου", + "Κλινδιάς", + "Κλοκοτού", + "Κλωνίου", + "Κνίδης", + "Κοίλων", + "Κοίτας", + "Κοζάνης", + "Κοθρέα", + "Κοιλαδίου", + "Κοιλιωμένου", + "Κοιμήσεως", + "Κοινής", + "Κοκκάλας", + "Κοκκίνου", + "Κοκκίνου Χωρίου", + "Κοκκαρίου", + "Κοκκινίου", + "Κοκκινιάς", + "Κοκκινογείου", + "Κοκκινογείων", + "Κοκκινολιθαρίου", + "Κοκκινομηλέας", + "Κοκκινοπηλού", + "Κοκκινορράχης", + "Κοκκινοχωρίου", + "Κοκκινόβρυσης", + "Κοκκορά", + "Κοκκωνίου", + "Κοκκωτών", + "Κολινδρού", + "Κολιρίου", + "Κολλινών", + "Κολοκυθιάς", + "Κολυμβαρίου", + "Κολχικής", + "Κολχικού", + "Κομάνου", + "Κομάρων", + "Κομίτου", + "Κομηλίου", + "Κομιτάτων", + "Κομμένου", + "Κομνίνης", + "Κομνηνάδων", + "Κομνηνών", + "Κομοτηνής", + "Κομπηγαδίου", + "Κομπιτσίου", + "Κομποτάδων", + "Κομποτίου", + "Κομπωτής", + "Κονίσκης", + "Κονίτσης", + "Κονακίων", + "Κονιάκου", + "Κονιδίτσης", + "Κονισκού", + "Κονιστρών", + "Κονοπίνας", + "Κονταιίκων", + "Κοντακαιίκων", + "Κονταραίνης", + "Κονταριωτίσσης", + "Κοντιά", + "Κοντοβαζαίνης", + "Κοντοβουνίου", + "Κοντογενάδας", + "Κοντοδεσποτίου", + "Κοντολιανίκων", + "Κοντομαρίου", + "Κοντοπουλίου", + "Κοντοπούλων", + "Κοξαρές", + "Κοπάνης", + "Κοπανακίου", + "Κοπανού", + "Κορίνθου", + "Κορίτιανης", + "Κορακιάνας", + "Κορακοβουνίου", + "Κορακοχωρίου", + "Κορησού", + "Κορησσίας", + "Κορθίου", + "Κορινού", + "Κορμίστης", + "Κορνοφωλεάς", + "Κορνού", + "Κοροίβου", + "Κορομηλέας", + "Κορυδαλλού", + "Κορυσχάδων", + "Κορυφής", + "Κορυφασίου", + "Κορυφούλας", + "Κορυφών", + "Κορφιωτίσσης", + "Κορφοβουνίου", + "Κορφών", + "Κορωνείας", + "Κορωνησίας", + "Κορωνούδας", + "Κορώνας", + "Κορώνης", + "Κορώνου", + "Κοσκίνων", + "Κοσκινά", + "Κοσκινού", + "Κοσμά", + "Κοσμαδαίων", + "Κοσματίου", + "Κοσμηράς", + "Κοτρωνίου", + "Κοτσανοπούλου", + "Κοτσικιάς", + "Κοτύλης", + "Κουβαλάτων", + "Κουβαρά", + "Κουβουκλίων", + "Κουδουνίου", + "Κουδουνίων", + "Κουκκουλίου", + "Κουκκουλίων", + "Κουκκουνάρας", + "Κουκλεσίου", + "Κουκλιών", + "Κουκουλιών", + "Κουκουναράς", + "Κουλεντίων", + "Κουλούρας", + "Κουμαιίκων", + "Κουμαραδαίων", + "Κουμαριάς", + "Κουμαριτσίου", + "Κουμπουριανών", + "Κουνάβων", + "Κουνινάς", + "Κουνουπίτσης", + "Κουνουπιάς", + "Κουνουπιδιανών", + "Κουπακίου", + "Κουπιών", + "Κουρέντων", + "Κουραμάδων", + "Κουρεμαδίου", + "Κουρκουλών", + "Κουρνά", + "Κουρουκλάτων", + "Κουρουνίου", + "Κουρουνίων", + "Κουρουνιού", + "Κουρουτών", + "Κουρτακίου", + "Κουρτεσίου", + "Κουσέ", + "Κουσπάδων", + "Κουτίφαρη", + "Κουταλά", + "Κουτρούφων", + "Κουτσίου", + "Κουτσελιού", + "Κουτσοποδίου", + "Κουτσοχέρας", + "Κουτσοχέρου", + "Κουτσού", + "Κουφαλίων", + "Κουφοβούνου", + "Κουφονησίων", + "Κουφοπούλου", + "Κουφού", + "Κοχύλου", + "Κούβελα", + "Κούκκου", + "Κούμανη", + "Κούμαρη", + "Κούμων", + "Κούνου", + "Κούταλης", + "Κούτελης", + "Κούφης", + "Κράψης", + "Κρήμνης", + "Κρήνης", + "Κρήνης Αιγιαλείας", + "Κρήνης Πατρών", + "Κρίνου", + "Κραθίου", + "Κρανέας", + "Κρανιδίου", + "Κρανιδίων", + "Κρανούλας", + "Κρασίου", + "Κρατερού", + "Κρεμαστής", + "Κρεμαστού", + "Κρεμμυδίων", + "Κρεστένων", + "Κρηνίδων", + "Κρηνίτσης", + "Κρηνών", + "Κρηστώνης", + "Κρητηνίας", + "Κριατσίου", + "Κριεζών", + "Κριθαρακίων", + "Κριθιάς", + "Κρικέλλου", + "Κριμηνίου", + "Κρινοφύτων", + "Κριτσάς", + "Κροκίου", + "Κροκεών", + "Κροκυλείου", + "Κρούστα", + "Κρυονέρου", + "Κρυονερίου", + "Κρυονερίου Ηλείας", + "Κρυονερίου Ολυμπίας", + "Κρυονερίτη", + "Κρυονερίων", + "Κρυοπηγής", + "Κρυσταλλοπηγής", + "Κρυσταλλόβρυσης", + "Κρυφοβού", + "Κρυόβρυση", + "Κρυόβρυσης", + "Κρυών", + "Κρωβύλης", + "Κρωπίας", + "Κρόκου", + "Κρύας", + "Κρύας Βρύσης", + "Κτένιον", + "Κτικάδου", + "Κτιμένης", + "Κτισμάτων", + "Κτιστάδων", + "Κυανής", + "Κυδωνέας", + "Κυδωνιών", + "Κυθήρων", + "Κυλλήνης", + "Κυμίνων", + "Κυνηγού", + "Κυνοπιαστών", + "Κυπαρίσσου", + "Κυπαρισσίας", + "Κυπαρισσίου", + "Κυπαρισσίων", + "Κυρά Βγένας", + "Κυρίων", + "Κυρακαλής", + "Κυριάννας", + "Κυριακής", + "Κυριακίου", + "Κυριακοχωρίου", + "Κυρτώνης", + "Κυψέλης", + "Κυψέλης Μεθάνων", + "Κυψελοχωρίου", + "Κω", + "Κωνσταντίας", + "Κωνσταντίνων", + "Κωνσταντινάτου", + "Κωστάνιανης", + "Κωστακιών", + "Κωσταλέξη", + "Κωσταραζίου", + "Κωτιλίου", + "Κωφών", + "Κόκκινων Λουριών", + "Κόκλα", + "Κόμπων", + "Κόντσικας", + "Κόξαρης", + "Κόρφου", + "Κόσμιον", + "Κότρωνα", + "Κύθνου", + "Κύμης", + "Κώμης", + "Κώστου", + "Κώτα", + "Λάβδα", + "Λάβδανης", + "Λάγιου", + "Λάγκας", + "Λάδης", + "Λάκκας", + "Λάκκων", + "Λάλα", + "Λάλουκα", + "Λάμπου Μύλων", + "Λάρδου", + "Λάστης", + "Λάστρου", + "Λάτα", + "Λέκας", + "Λέρου", + "Λίμνης", + "Λίνδου", + "Λίππας", + "Λίστας", + "Λαΐστης", + "Λαέρμων", + "Λαβάρων", + "Λαγίας", + "Λαγανά", + "Λαγκάδας", + "Λαγκαδά", + "Λαγκαδίων", + "Λαγκαδαιίκων", + "Λαγκαδακίων", + "Λαγκαδικίων", + "Λαγοβουνίου", + "Λαγολίου", + "Λαγορράχης", + "Λαγού", + "Λαγυνών", + "Λαγωπόδου", + "Λαδά", + "Λαδικούς", + "Λαδοχωρίου", + "Λαζαράτων", + "Λαζαρίνας", + "Λαιίκων", + "Λαιμού", + "Λακήθρας", + "Λακκοπέτρας", + "Λακκωμάτων", + "Λακκωνίων", + "Λακώνων", + "Λαλιώτου", + "Λαμιέων", + "Λαμπαίνης", + "Λαμπείας", + "Λαμπερού", + "Λαμπινής", + "Λαμπινούς", + "Λαμπιρίου", + "Λαμπιωτών", + "Λαμποκάμπου", + "Λαμπρόν", + "Λαμψάκου", + "Λαμύρων", + "Λανθίου", + "Λαντζουνάτου", + "Λαπαναγών", + "Λαρίσης", + "Λαρανίου", + "Λαρύμνης", + "Λασταιίκων", + "Λατζοΐου", + "Λατσίδας", + "Λαυκίου", + "Λαυρεωτικής", + "Λαφιώνας", + "Λαφυστίου", + "Λαχίου", + "Λαχανά", + "Λαχανάδας", + "Λαχανιάς", + "Λαψίστης", + "Λαύκας", + "Λαύκου", + "Λεήμονα", + "Λεβαίας", + "Λεβαδέων", + "Λεβεντοχωρίου", + "Λεβιδίου", + "Λειανοκλαδίου", + "Λειψυδρίου", + "Λειψών", + "Λεκάνης", + "Λεοντίου", + "Λεοντίτου", + "Λεονταρίου", + "Λεπενούς", + "Λεπετύμνου", + "Λεπιανών", + "Λεπούρων", + "Λεπρέου", + "Λεπτινίου", + "Λεπτοκαρυάς", + "Λεπτοκαρυάς Ζαγορίου", + "Λεπτοκαρυών", + "Λεπτοπόδων", + "Λεσινίου", + "Λευκάρων", + "Λευκίμμης", + "Λευκαδίων", + "Λευκαδιτίου", + "Λευκακίων", + "Λευκασίου", + "Λευκογείων", + "Λευκοθέας", + "Λευκοπηγής", + "Λευκοτόπου", + "Λευκοχωρίου", + "Λευκοχώρας", + "Λευκού", + "Λευκόβρυσης", + "Λευκών", + "Λεχαίου", + "Λεχαινών", + "Λεχουρίου", + "Λεχωνίων", + "Λεχόβου", + "Λεωνιδίου", + "Λεύκας", + "Λεύκης", + "Λεύκτρων", + "Λημερίου", + "Ληνός", + "Ληξουρίου", + "Λητής", + "Λιανοβεργίου", + "Λιαπάδων", + "Λιας", + "Λιβαδίου", + "Λιβαδίων", + "Λιβαδακίου", + "Λιβαδαρίου", + "Λιβαδερού", + "Λιβαδιάς", + "Λιβαδοχωρίου", + "Λιβανατών", + "Λιβαρτζίου", + "Λιβερών", + "Λιγκιάδων", + "Λιγορτύνου", + "Λιγοψάς", + "Λιδωρικίου", + "Λιθίνου", + "Λιθίου", + "Λιθακιάς", + "Λιθιάς", + "Λιθινών", + "Λιθοβουνίων", + "Λιθοτόπου", + "Λιθοχωρίου", + "Λικνάδων", + "Λιλαίας", + "Λιλιανού", + "Λιμένος Χερσονήσου", + "Λιμίνης", + "Λιμεναρίων", + "Λιμνίτσης", + "Λιμνιών", + "Λιμνοτόπου", + "Λιμνοχωρίου", + "Λιμνών", + "Λιναριάς", + "Λινισταίνης", + "Λιοδώρας", + "Λιοπράσου", + "Λιοσίων", + "Λιπαρού", + "Λιποχωρίου", + "Λιρών", + "Λισβορίου", + "Λιτοσέλου", + "Λιτοχώρου", + "Λογγάδων", + "Λογγάς", + "Λογγάστρας", + "Λογγιτσίου", + "Λογγού", + "Λογκανίκου", + "Λογοθετιανίκων", + "Λοξάδας", + "Λουκά", + "Λουκισίων", + "Λουκομίου", + "Λουρδάτων", + "Λουρών", + "Λουσακιών", + "Λουσικών", + "Λουσών", + "Λουτουφίου", + "Λουτρακίου", + "Λουτρακίου Περαχώρας", + "Λουτροπηγής", + "Λουτροπόλεως Θερμής", + "Λουτροπόλεως Μεθάνων", + "Λουτροτόπου", + "Λουτρού", + "Λουτρού Λαρίσης", + "Λουτρών", + "Λουτρών Αιδηψού", + "Λουτρών Ηραίας", + "Λουτρών Υπάτης", + "Λουτσίου", + "Λουτσών", + "Λοφίσκου", + "Λοφαρίου", + "Λοχριάς", + "Λούβρης", + "Λούβρου", + "Λούμα", + "Λούρου", + "Λούτσας", + "Λούτσης", + "Λούχας", + "Λυγαριάς", + "Λυγερέα", + "Λυγερής", + "Λυγιά", + "Λυγιάς", + "Λυδίας", + "Λυκίσσης", + "Λυκαίου", + "Λυκοβρύσεως", + "Λυκοποριάς", + "Λυκοσούρας", + "Λυκοστόμου", + "Λυκοτράφου", + "Λυκουδίου", + "Λυκουρίας", + "Λυκοχίων", + "Λυκούρεση", + "Λυκόγιαννης", + "Λυπουδεσίου", + "Λυρκείας", + "Λυσιμαχείας", + "Λυσσαρέας", + "Λυττού", + "Λυχνού", + "Λόγγου", + "Λόφου", + "Λόφων", + "Λύγγου", + "Λύκειον", + "Λύρας", + "Λύχνων", + "Μάγειρα", + "Μάζης", + "Μάζιας", + "Μάκρης", + "Μάλεμε", + "Μάλης", + "Μάλθης", + "Μάλτας", + "Μάναρη", + "Μάνδρας", + "Μάνεση", + "Μάνης", + "Μάννα", + "Μάννας", + "Μάραθα", + "Μάρθας", + "Μάρκου", + "Μάστρου", + "Μάχου", + "Μέγα Κάμπου", + "Μέγα Πιστόν", + "Μέρους", + "Μέρωνα", + "Μέσα Διδύμας", + "Μέσα Λακκωνίων", + "Μέσα Λασιθίου", + "Μέσα Μουλιανών", + "Μέση", + "Μέσης", + "Μέσης Συνοικίας Τρικάλων", + "Μέσου Γερακαρίου", + "Μήλου", + "Μίλα", + "Μίνας", + "Μίνθης", + "Μίστρου", + "Μαγαζιών", + "Μαγαρικαρίου", + "Μαγγάνων", + "Μαγγανίτου", + "Μαγγανιακού", + "Μαγικού", + "Μαγνησίας", + "Μαγουλάδων", + "Μαγουλίτσης", + "Μαγουλιάνων", + "Μαγούλας", + "Μαδένης", + "Μαδύτου", + "Μαζίου", + "Μαζαράκι", + "Μαζαρακίου", + "Μαζαρακιάς", + "Μαθίας", + "Μαθιάς", + "Μαθρακίου", + "Μαινάλου", + "Μακίστου", + "Μακράδων", + "Μακρίνου", + "Μακρίσης", + "Μακρακώμης", + "Μακρινής", + "Μακρινίτσης", + "Μακρινούς", + "Μακρισίων", + "Μακρολιβάδου", + "Μακροταντάλου", + "Μακροχωρίου", + "Μακρυγιάλου", + "Μακρυκάπας", + "Μακρυλιάς", + "Μακρυπλαγίου", + "Μακρυρράχης", + "Μακρυσίου", + "Μακρυχωρίου", + "Μακρυωτίκων", + "Μακυνείας", + "Μαλάξας", + "Μαλίων", + "Μαλαθύρου", + "Μαλακάσης", + "Μαλακίων", + "Μαλακασίου", + "Μαλαμάτων", + "Μαλανδρίνου", + "Μαλαντρενίου", + "Μαλγάρων", + "Μαλεσίνης", + "Μαλεσιάδας", + "Μαλετιάνων", + "Μαλλωτών", + "Μαλουνίου", + "Μαλυκρείου", + "Μαλών", + "Μαμουλάδας", + "Μαμουσιάς", + "Μαναγούλης", + "Μανασσή", + "Μανδάλου", + "Μανδηλίου", + "Μανδρακίου", + "Μανδρινής", + "Μανδρών", + "Μανεσίου Καλαβρύτων", + "Μανεσίου Πατρών", + "Μανθυρέας", + "Μανιάκων", + "Μανιακίου", + "Μανικίων", + "Μανολατών", + "Μανολιάσης", + "Μανολιοπούλου", + "Μανταμάδου", + "Μαντασιάς", + "Μαντείου", + "Μαντζαρίου", + "Μαντινείας", + "Μαντουδίου", + "Μαράθου", + "Μαρίνης", + "Μαρίου", + "Μαραθέας", + "Μαραθιά", + "Μαραθιάς", + "Μαραθοκάμπου", + "Μαραθοπόλεως", + "Μαραθούσσης", + "Μαραντοχωρίου", + "Μαρασίων", + "Μαργαριτίου", + "Μαργαριτών", + "Μαργελίου", + "Μαριολάτας", + "Μαριού", + "Μαριτσών", + "Μαριών", + "Μαρκινιάδας", + "Μαρκοπούλου", + "Μαρκοπούλου Μεσογαίας", + "Μαρκοπούλου Ωρωπού", + "Μαρμάρου", + "Μαρμάρων", + "Μαρμακέτου", + "Μαρμαρά", + "Μαρμαρίνης", + "Μαρμαρίου", + "Μαρουλά", + "Μαρπήσσης", + "Μαρτίνου", + "Μαρωνίας", + "Μαρωνείας", + "Μασάρων", + "Μασχολουρίου", + "Ματίου", + "Ματαράγκας", + "Ματεσίου", + "Ματονερίου", + "Ματσουκίου", + "Μαυράτων", + "Μαυρίλου", + "Μαυραναίων", + "Μαυρατζαίων", + "Μαυραχάδων", + "Μαυρελίου", + "Μαυρικίου", + "Μαυριών", + "Μαυροβάτου", + "Μαυροβουνίου", + "Μαυρογιάννη", + "Μαυροδενδρίου", + "Μαυροθαλάσσης", + "Μαυροκάμπου", + "Μαυροκκλησίου", + "Μαυρολεύκης", + "Μαυρολιθαρίου", + "Μαυρολόφου", + "Μαυρομμάτας", + "Μαυρομματίου", + "Μαυρομματίου Παμίσου", + "Μαυρονερίου", + "Μαυρονόρους", + "Μαυροπηγής", + "Μαυροπούλου", + "Μαυρουδίου", + "Μαυροχωρίου", + "Μαυρούδας", + "Μαχαιρά", + "Μαχαιράδου", + "Μαχαιρών", + "Μεγάλης Βρύσης", + "Μεγάλης Γότιστας", + "Μεγάλης Δοξιπάρας", + "Μεγάλης Κάψης", + "Μεγάλης Κερασέας", + "Μεγάλης Παναγίας", + "Μεγάλης Στέρνας", + "Μεγάλης Χώρας", + "Μεγάλου Βάλτου", + "Μεγάλου Γαρδικίου", + "Μεγάλου Δουκάτου", + "Μεγάλου Ελευθεροχωρίου", + "Μεγάλου Ευυδρίου", + "Μεγάλου Κεφαλοβρύσου", + "Μεγάλου Μοναστηρίου", + "Μεγάλου Περιστερίου", + "Μεγάλου Σειρηνίου", + "Μεγάλου Χωρίου", + "Μεγάλων Καλυβίων", + "Μεγάρου", + "Μεγάρχης", + "Μεγίστης", + "Μεγαλοβρύσου", + "Μεγαλοκάμπου", + "Μεγαλοπόλεως", + "Μεγαλοχωρίου", + "Μεγαλόχαρης", + "Μεγαπλατάνου", + "Μεγαρέων", + "Μεθώνης", + "Μελά", + "Μελάμπων", + "Μελάνων", + "Μελέτη", + "Μελίας", + "Μελίκης", + "Μελίσσα", + "Μελίσσης", + "Μελίτης", + "Μελανθίου", + "Μελανιού", + "Μελενικιτσίου", + "Μελεσών", + "Μελιάς", + "Μελιανών", + "Μελιβοίας", + "Μελιγαλά", + "Μελιγγών", + "Μελιγούς", + "Μελιδονίου", + "Μελισσίου", + "Μελισσίων", + "Μελισσοκομείου", + "Μελισσοπέτρας", + "Μελισσοτόπου", + "Μελισσουργακίου", + "Μελισσουργού", + "Μελισσουργών", + "Μελισσοχωρίου", + "Μελισσόπετρας", + "Μελιτίνης", + "Μελιταίας", + "Μελπείας", + "Μενδενίτσης", + "Μενεμένης", + "Μενετών", + "Μενιδίου", + "Μεξιατών", + "Μεράς", + "Μεριάς", + "Μερκάδας", + "Μερκοβουνίου", + "Μερόπης", + "Μεσαίας Κάψης", + "Μεσαίου", + "Μεσαγρού", + "Μεσαναγρού", + "Μεσαρίστης", + "Μεσαριάς", + "Μεσαριάς Άνδρου", + "Μεσελέρων", + "Μεσενικόλα", + "Μεσημβρίας", + "Μεσημερίου", + "Μεσιάς", + "Μεσιανής", + "Μεσιανού", + "Μεσινού", + "Μεσκλών", + "Μεσοβουνίου", + "Μεσοβουνίων", + "Μεσοβούνου", + "Μεσογείου", + "Μεσοκάμπου", + "Μεσοκώμης", + "Μεσολακκιάς", + "Μεσολογγίου", + "Μεσολουρίου", + "Μεσολόγγου", + "Μεσονησίου", + "Μεσοποτάμου", + "Μεσοποταμιάς", + "Μεσοπύργου", + "Μεσορράχης", + "Μεσορρουγίου", + "Μεσορόπης", + "Μεσοτόπου", + "Μεσοχωρίου", + "Μεσοχωρίου Υπάτης", + "Μεσοχωρίων", + "Μεσοχώρας", + "Μεσσήνης", + "Μεστών", + "Μετάλλων", + "Μεταγκιτσίου", + "Μεταμορφώσεως", + "Μεταμόρφωσης", + "Μεταξά", + "Μεταξάδας", + "Μεταξάδων", + "Μεταξάτων", + "Μεταξοχωρίου", + "Μετοχίου", + "Μετοχίου Διρφύων", + "Μετοχίου Κηρέως", + "Μετσόβου", + "Μετόχιο Προδρόμου", + "Μηθύμνης", + "Μηλέα", + "Μηλέας", + "Μηλίνης", + "Μηλίτσας", + "Μηλίτσης", + "Μηλεών", + "Μηλιάς", + "Μηλιανών", + "Μηλιωτίου", + "Μηλοχωρίου", + "Μητάτου", + "Μητάτων", + "Μητροπόλεως", + "Μητρουσίου", + "Μηχανιώνας", + "Μιαμούς", + "Μιδέας", + "Μικράς Γότιστας", + "Μικράς Μαντινείας", + "Μικροβάλτου", + "Μικροθηβών", + "Μικροκάμπου", + "Μικροκάστρου", + "Μικροκλεισούρας", + "Μικρολίμνης", + "Μικρολιβάδου", + "Μικρομάνης", + "Μικρομηλέας", + "Μικροπόλεως", + "Μικροσπηλιάς", + "Μικροχωρίου", + "Μικρού Βάλτου", + "Μικρού Βουνού", + "Μικρού Δάσους", + "Μικρού Δερείου", + "Μικρού Μοναστηρίου", + "Μικρού Περιβολακίου", + "Μικρού Περιστερίου", + "Μικρού Ποντιά", + "Μικρού Σουλίου", + "Μικρού Χωρίου", + "Μικρόν Πιστόν", + "Μιλάτου", + "Μιλλιαράδων", + "Μιντιλογλίου", + "Μιράνων", + "Μιραλίου", + "Μιστεγνών", + "Μιτοπόλεως", + "Μιχαλιτσίου", + "Μιχοΐου", + "Μοίρας", + "Μοδίου", + "Μοιρών", + "Μολάων", + "Μολίστης", + "Μολυβδοσκεπάστου", + "Μολόχας", + "Μονής", + "Μοναστηρίου", + "Μοναστηρακίου", + "Μοναχιτίου", + "Μονεμβασίας", + "Μονοδενδρίου", + "Μονοδρύου", + "Μονοκαρυάς", + "Μονοκκλησιάς", + "Μονολίθου", + "Μονολιθίου", + "Μονοπολάτων", + "Μονοσπίτων", + "Μονόβρυσης", + "Μοραΐτικων", + "Μορονίου", + "Μορφοβουνίου", + "Μοσιάς", + "Μοσχάτου", + "Μοσχοκαρυάς", + "Μοσχοποτάμου", + "Μοσχοφύτου", + "Μοσχοχωρίου", + "Μουδανιών", + "Μουζίλου", + "Μουζακίου", + "Μουζακαίων", + "Μουζακαιίκων", + "Μουζουρά", + "Μουλίων", + "Μουλιανών", + "Μουλκίου", + "Μουρεσίου", + "Μουριάς", + "Μουριατάδας", + "Μουρικίου", + "Μουριών", + "Μουρνές", + "Μουρνιών", + "Μουσάτων", + "Μουσθένης", + "Μουσιωτίτσης", + "Μουσουνίτσης", + "Μουσούρων", + "Μοχού", + "Μούδρου", + "Μούντρου", + "Μπάφρας", + "Μπαμπίνης", + "Μπαμπαλιού", + "Μπαουσιών", + "Μπατσίου", + "Μπελοκομίτης", + "Μπενιτσών", + "Μπεστιάς", + "Μπιζανίου", + "Μποζικά", + "Μπολατίου", + "Μπουλαριών", + "Μποχάλης", + "Μπράλου", + "Μπόρσα", + "Μπόρσιον", + "Μυγδαλιάς", + "Μυκηνών", + "Μυκονίων", + "Μυλοποτάμου", + "Μυλοτόπου", + "Μυξόρρουμα", + "Μυρίκης", + "Μυρίνης", + "Μυριναίων", + "Μυριοκεφάλων", + "Μυριοφύτου", + "Μυρκίνου", + "Μυρμηγκίου", + "Μυροδάφνης", + "Μυροφύλλου", + "Μυρρίνης", + "Μυρσίνης", + "Μυρσινοχωρίου", + "Μυρτέας", + "Μυρτιάς", + "Μυρτιδίων", + "Μυρτουντίων", + "Μυρτοφύτου", + "Μυρωδάτου", + "Μυρωνίων", + "Μυρόβρυσης", + "Μυστρά", + "Μυτιλήνης", + "Μυτιληνιών", + "Μυχού", + "Μόριας", + "Μόρφης", + "Μύθων", + "Μύκης", + "Μύλων", + "Μύρθιου", + "Μύρου", + "Μύρτου", + "Μύρων", + "Μύστακας", + "Μύτικα", + "Μώλου", + "Ν.Κερασιάς", + "Νάξου", + "Νάπης", + "Νέα Σάντα", + "Νίκης", + "Νίπους", + "Νίψης", + "Ναμάτων", + "Ναούσης", + "Ναρθακίου", + "Ναρκίσσου", + "Νασίων", + "Ναυπάκτου", + "Ναυπακτίας", + "Ναυπλιέων", + "Νεάπολης", + "Νεαπόλεως", + "Νεγάδων", + "Νεγράδων", + "Νεδούσης", + "Νεμέας", + "Νεμούτας", + "Νενήτων", + "Νενητουρίων", + "Νεοκάστρου", + "Νεοκαισαρείας", + "Νεοχωρίου", + "Νεοχωρακίου", + "Νεοχωροπούλου", + "Νεοχωρούδας", + "Νεράιδας", + "Νεράντζης", + "Νεραντζιών", + "Νεραϊδοχωρίου", + "Νεριανών", + "Νεροκούρου", + "Νερομάννας", + "Νερομύλου", + "Νερομύλων", + "Νεροτριβιάς", + "Νεροφράκτου", + "Νεροχωρίου", + "Νεστάνης", + "Νεστορίου", + "Νευροκοπίου", + "Νεύρα", + "Νησίου", + "Νησακίου", + "Νιάτων", + "Νιγρίτης", + "Νιθαύρεως", + "Νικήσιανης", + "Νικήτης", + "Νικαίας", + "Νικηθιανού", + "Νικηταί", + "Νικηφόρου", + "Νικιών", + "Νικοκλείας", + "Νικολή", + "Νικολαιίκων", + "Νικολιτσίου", + "Νικομηδείας", + "Νικομηδινού", + "Νικοπόλεως", + "Νικοτσάρας", + "Νικόπολης", + "Νιπιδιτού", + "Νιφοραιίκων", + "Νομής", + "Νομίων", + "Νομιτσή", + "Νοστίμου", + "Νοτίας", + "Νοχιών", + "Ντερέ", + "Νυβρίτου", + "Νυδρίου", + "Νυμφίου", + "Νυμφαίου", + "Νυμφασίας", + "Νυμφοπέτρας", + "Νυμφών", + "Νυφίου", + "Ξάνθης", + "Ξαμουδοχωρίου", + "Ξανθάτων", + "Ξανθοχωρίου", + "Ξενιάκου", + "Ξενιών", + "Ξενοπούλου", + "Ξεριά", + "Ξεχασμένης", + "Ξεχώρου", + "Ξηροκάμπου", + "Ξηροκαμπίου", + "Ξηροκαριταίνης", + "Ξηρολίμνης", + "Ξηρολόφου", + "Ξηρονομής", + "Ξηροπηγάδου", + "Ξηροποτάμου", + "Ξηροστερνίου", + "Ξηροχωρίου", + "Ξινονερίου", + "Ξινού Νερού", + "Ξινόβρυσης", + "Ξιφιανής", + "Ξορυχτίου", + "Ξυλαγανής", + "Ξυλικών", + "Ξυλοκάστρου", + "Ξυλοκέρας", + "Ξυλοκερίζης", + "Ξυλοκερατέας", + "Ξυλοπαροίκου", + "Ξυλοπόλεως", + "Οάσεως", + "Οίας", + "Οίτης", + "Οβριάς", + "Οθωνών", + "Οινουσσών", + "Οινοφύτων", + "Οινοχωρίου", + "Οινούσσας", + "Οινόης", + "Οιτύλου", + "Οιχαλίας", + "Οκτωνιάς", + "Ολβίου", + "Ολύμπου", + "Ολύμπων", + "Ολύνθου", + "Ομαλής", + "Ομαλών", + "Ομβριακής", + "Ομηρικόν", + "Ομολίου", + "Ομορφοκκλησιάς", + "Ομορφοχωρίου", + "Οξυάς", + "Οξυλίθου", + "Οξυνείας", + "Ορίου", + "Οργάνης", + "Ορεινής", + "Ορεινού", + "Ορεινού Ξηροβάλτου", + "Ορθέ", + "Ορθοβουνίου", + "Ορθονιών", + "Ορθουνίου", + "Ορμενίου", + "Ορμυλίας", + "Ορνές", + "Οροπεδίου", + "Ορφανίου", + "Ορφανών", + "Ορχομενού", + "Ουρανοπόλεως", + "Οφρυνίου", + "Οχθίων", + "Οχυρού", + "Πάγου", + "Πάγων", + "Πάδων", + "Πάου", + "Πάπαρη", + "Πάργας", + "Πάρου", + "Πάστρας", + "Πάτμου", + "Πέλεκα", + "Πέλλης", + "Πέντε Εκκλησιών", + "Πέπλου", + "Πέρα Μελάνων", + "Πέραν Τριοβασάλου", + "Πέρδικας", + "Πέρκου", + "Πέρνης", + "Πέτα", + "Πέτρα", + "Πέτρας", + "Παγκαλοχωρίου", + "Παγκρατίου", + "Παγκρατών", + "Παγονερίου", + "Παγουριών", + "Παγώνδου", + "Παγώντα", + "Παιανίας", + "Πακίων", + "Παλαίρου", + "Παλαίστρας", + "Παλαιάς Γιαννιτσούς", + "Παλαιάς Καβάλας", + "Παλαιάς Φωκαίας", + "Παλαικάστρου", + "Παλαιοβαρβασαίνης", + "Παλαιοβράχας", + "Παλαιοκάστρου", + "Παλαιοκήπου", + "Παλαιοκαρυάς", + "Παλαιοκατούνας", + "Παλαιοκατούνου", + "Παλαιοκερασέας", + "Παλαιοκκλησίου", + "Παλαιοκώμης", + "Παλαιομανίνας", + "Παλαιομοναστήρου", + "Παλαιοξαρίου", + "Παλαιοπαναγίας", + "Παλαιοπόλεως", + "Παλαιοπύργου", + "Παλαιοσελλίου", + "Παλαιοχούνης", + "Παλαιοχωρίου", + "Παλαιοχωρίου Δωριέων", + "Παλαιοχωρίου Μπότσαρη", + "Παλαιοχωρίου Σιράκου", + "Παλαιοχωρίου Τυμφρηστού", + "Παλαιοχωρακίου", + "Παλαιοχώρας", + "Παλαιού Αγιονερίου", + "Παλαιού Ελευθεροχωρίου", + "Παλαιού Κεραμιδίου", + "Παλαιού Λουτρού", + "Παλαιού Μυλοτόπου", + "Παλαιού Σκυλλιτσίου", + "Παλαιού Φαλήρου", + "Παλαιφύτου", + "Παλαιόβρυσης", + "Παλαιόστανης", + "Παλαιών Ρουμάτων", + "Παλαμά", + "Παλαμαρίου", + "Παλαμπά", + "Παλατίων", + "Παλατιτσίων", + "Παλιαμπέλων", + "Παλιουρίου", + "Παλιουριάς", + "Παλιούρα", + "Παλιούρης", + "Παλλήνης", + "Παλλαντίου", + "Παλούμπας", + "Παμφίλων", + "Παμφίου", + "Πανάσου", + "Παναγίας", + "Παναγίτσας", + "Παναγιούδας", + "Παναγούλας", + "Παναιτωλίου", + "Παναρίτη", + "Παναριτίου", + "Πανδρόσου", + "Πανεθήμου", + "Πανιπερίου", + "Πανουργιά", + "Παντανάσσης", + "Πανόρμου", + "Παπάγου", + "Παπίγκου", + "Παπαδιανίκων", + "Παπαφλέσσα", + "Παππά", + "Παππάδου", + "Παππάδων", + "Παππαγιάννη", + "Παππαγιαννάδων", + "Παππαδάτου", + "Παππαδατών", + "Παππαδιανών", + "Παππαρουσίου", + "Παππουλίων", + "Παραβόλας", + "Παραδείσου", + "Παραδεισίου", + "Παραδεισίων", + "Παρακαλάμου", + "Παρακοίλων", + "Παραλία Μέσης", + "Παραλίας", + "Παραλίας Πλατάνου", + "Παραλίου Άστρους", + "Παραλιμνίου", + "Παραλογγών", + "Παραμέρου", + "Παραμυθίας", + "Παρανεστίου", + "Παρανύμφων", + "Παραποτάμου", + "Παραπουγκίου", + "Παρασκευής", + "Παρδαλίτσης", + "Παρθενίου", + "Παρορίου", + "Παρορείου", + "Παρπαριάς", + "Παρτίρων", + "Πασίου", + "Πασαλιτών", + "Παστίδας", + "Πασχαλίτσης", + "Πασχαλιάς", + "Πατερμά", + "Πατιοπούλου", + "Πατουλιάς", + "Πατρέων", + "Πατρικάτων", + "Πατρικίου", + "Πατρικών", + "Πατσιανού", + "Πατσιδερού", + "Πατσού", + "Παυλιάνας", + "Παυλοπούλου", + "Παχείας Άμμου", + "Παχτουρίου", + "Παχυκαλάμου", + "Παϊδοχωρίου", + "Παύλιανης", + "Παύλιας", + "Παύλου", + "Πεδινής", + "Πεδινού", + "Πεδινών", + "Πεζούλας", + "Πεζών", + "Πεθελινού", + "Πειραιώς", + "Πελάγους", + "Πελαγίας", + "Πελαργού", + "Πελασγίας", + "Πελεκάνου", + "Πελεκανάδας", + "Πελετών", + "Πελλάνας", + "Πελλήνης", + "Πελοπίου", + "Πελόπης", + "Πεμονίων", + "Πεντέλης", + "Πενταβρύσου", + "Πενταγιών", + "Πεντακόρφου", + "Πενταλόφου", + "Πενταμοδίου", + "Πενταπόλεως", + "Πεντατίου", + "Πεντεορίων", + "Πεντολάκκου", + "Πεπονιάς", + "Περάμα", + "Περάμου", + "Περάνθης", + "Περάτη", + "Περίου", + "Περίστης", + "Περαίας", + "Περατάτων", + "Περατιάς", + "Περαχωρίου", + "Περβολακίων", + "Περδίκκα", + "Περδικίου", + "Περδικακίου", + "Περδικονερίου", + "Περδικόβρυσης", + "Περθωρίου", + "Περιβλέπτου", + "Περιβολίου", + "Περιβολίου Δομοκού", + "Περιβολίων", + "Περιβολίων Κισσάμου", + "Περιβολίων Κυδωνίας", + "Περιβολακίου", + "Περιβολακίων", + "Περιγιαλίου", + "Περιθείας", + "Περιθιωτίσσης", + "Περιθωρίου", + "Περικλείας", + "Περιστάσεως", + "Περιστέρας", + "Περιστεράς", + "Περιστερίου", + "Περιστερώνας", + "Περιχώρας", + "Περουλάδων", + "Περσαίνης", + "Περτουλίου", + "Πεσάδας", + "Πεστών", + "Πεταλείας", + "Πεταλιδίου", + "Πετουσίου", + "Πετράδων", + "Πετρίλου", + "Πετρίνας", + "Πετρίνου", + "Πετρίου", + "Πετραίας", + "Πετραλώνων", + "Πετρανών", + "Πετριτής", + "Πετριτσίου", + "Πετριών", + "Πετροβίτσας", + "Πετροβούνιον", + "Πετροκεράσων", + "Πετροκεφάλου", + "Πετροκεφαλίου", + "Πετροπηγής", + "Πετροπόρου", + "Πετροχωρίου", + "Πετρούπολης", + "Πετρούσσης", + "Πετρωτού", + "Πετρωτών", + "Πετρών", + "Πετρώνας", + "Πετσάκων", + "Πετσαλίου", + "Πευκοδάσους", + "Πευκοφύτου", + "Πευκοχωρίου", + "Πεύκης", + "Πεύκου", + "Πεύκων", + "Πηγής", + "Πηγαδίου", + "Πηγαδίτσης", + "Πηγαδίων", + "Πηγαδακίων", + "Πηγαδησάνων", + "Πηγαδούλια", + "Πηγαϊδακίων", + "Πηγών", + "Πηδάσου", + "Πηλίου", + "Πιάνας", + "Πιαλείας", + "Πικέρνη", + "Πικερμίου", + "Πιλαλίστρας", + "Πινακατών", + "Πινακοχωρίου", + "Πιπερίτσης", + "Πιπεριών", + "Πιραμάς", + "Πισίων", + "Πισκοκεφάλου", + "Πισοδερίου", + "Πιστιανών", + "Πιτίτσης", + "Πιτροφού", + "Πιτσίου", + "Πιτσιδίων", + "Πιτσιναιίκων", + "Πιτσιωτών", + "Πιτσών", + "Πλάκας", + "Πλάνου", + "Πλάτης", + "Πλάτσης", + "Πλαγίων", + "Πλαγιά", + "Πλαγιάς", + "Πλαγιαρίου", + "Πλαγιών", + "Πλαισίου", + "Πλαισίων Μαλακασίου", + "Πλακάδου", + "Πλακίδας", + "Πλακωτής", + "Πλανητέρου", + "Πλατάνας", + "Πλατάνης", + "Πλατάνου", + "Πλαταιών", + "Πλατανίου", + "Πλατανίων", + "Πλατανακίου", + "Πλατανακίων", + "Πλατανιά", + "Πλατανιάς", + "Πλατανιστού", + "Πλατανιωτίσσης", + "Πλατανοτόπου", + "Πλατανούσσης", + "Πλατανόβρυσης", + "Πλαταριάς", + "Πλατιάνας", + "Πλατρειθιά", + "Πλατυβόλας", + "Πλατυκάμπου", + "Πλατυστόμου", + "Πλατυστόμων", + "Πλεμενιανών", + "Πληκατίου", + "Πλουτοχωρίου", + "Πλωμαρίου", + "Πλώρας", + "Πογωνίας", + "Ποδογοράς", + "Ποδοχωρίου", + "Ποιμενικού", + "Ποκίστης", + "Πολίχνης", + "Πολεμαρχίου", + "Πολιανής", + "Πολιτικών", + "Πολιχνίτου", + "Πολοβίτσης", + "Πολυάνθου", + "Πολυανέμου", + "Πολυγύρου", + "Πολυδένδρου", + "Πολυδαμείου", + "Πολυδενδρίου", + "Πολυδρόσου", + "Πολυδώρου", + "Πολυθέας", + "Πολυκάρπης", + "Πολυκάστρου", + "Πολυκαρπίου", + "Πολυκαστάνου", + "Πολυκεράσου", + "Πολυλάκκου", + "Πολυλόφου", + "Πολυμύλου", + "Πολυνέρου", + "Πολυνερίου", + "Πολυπέτρου", + "Πολυπλατάνου", + "Πολυποτάμου", + "Πολυρράχου", + "Πολυρρηνίας", + "Πολυσίτου", + "Πολυσταφύλου", + "Πολυστύλου", + "Πολυφύτου", + "Πολυχρόνου", + "Ποντικατών", + "Ποντινής", + "Ποντισμένου", + "Ποντοηρακλείας", + "Ποντοκερασέας", + "Ποντοκώμης", + "Ποντολιβάδου", + "Ποροΐων", + "Ποροβίτσης", + "Πορτής", + "Πορτίτσης", + "Πορταριάς", + "Πορτιανού", + "Πορτοχελίου", + "Πορτών", + "Ποσειδωνίας", + "Ποτάμων", + "Ποταμίδας", + "Ποταμιά", + "Ποταμιάς", + "Ποταμιών", + "Ποταμού", + "Ποταμούλας Μεσολογγίου", + "Ποταμών", + "Ποτειδαίας", + "Ποτιδάνειας", + "Ποτιστικών", + "Πουγκακίων", + "Πουλάτων", + "Πουλίθρων", + "Πουλιτσίου", + "Πουλλίτσης", + "Πουλλακίδας", + "Πουρίου", + "Πουρναρίου", + "Πουρναριάς", + "Πουρνιάς", + "Πούρνου", + "Πρίνας", + "Πρίνου", + "Πραγγίου", + "Πραγματευτή", + "Πραισού", + "Πραιτωρίου", + "Πραιτωρίων", + "Πραμάντων", + "Πρασέ", + "Πρασίνου", + "Πρασιάς", + "Πρασιδακίου", + "Πρασινάδας", + "Πρασιών", + "Πραστού", + "Πρεβέζης", + "Πρινέ", + "Πρινιά", + "Πριολίθου", + "Προαστίου", + "Προβατά", + "Προδρομίου", + "Προδρόμου", + "Προκοπίου", + "Προμάχων", + "Προμυρίου", + "Προσβόρρου", + "Προσηλίου", + "Προσηλίων", + "Προσκυνά", + "Προσκυνητών", + "Προσοτσάνης", + "Προσύμνης", + "Προυσού", + "Προφήτη Ηλία", + "Προφήτης Ηλίας", + "Προφήτου", + "Προφήτου Ηλία", + "Προφήτου Ηλιού", + "Προφίλιας", + "Πρωτοκκλησίου", + "Πρωτοχωρίου", + "Πρωτόπαππα", + "Πρώτης", + "Πτέρης", + "Πτελέας", + "Πτελέας Πλατανιάς", + "Πτελεού", + "Πτελοπούλας", + "Πτεριάς", + "Πυθίου", + "Πυθαγορείου", + "Πυλίου", + "Πυλαίας", + "Πυλωρίου", + "Πυλωρών", + "Πυλών", + "Πυξαρίου", + "Πυράς", + "Πυργέλλας", + "Πυργίου", + "Πυργαδικίων", + "Πυργακίου", + "Πυργετού", + "Πυργιωτίκων", + "Πυργούς", + "Πυρρή", + "Πυρρίχου", + "Πυρσόγιαννης", + "Πωγωνιανής", + "Πόδου", + "Πόμπιας", + "Πόρου", + "Πόρπη", + "Πόρων", + "Πύδνας", + "Πύλας", + "Πύλης", + "Πύλου", + "Πύργου", + "Πύργου Διρού", + "Πύργου Ιθώμης", + "Πύργου Καλαμών", + "Πύργου Καλλίστης", + "Πύργου Κιερίου", + "Πύργου Τριφυλίας", + "Πύργων", + "Πύργων Θερμής", + "Πύρρας", + "Ράδου", + "Ράμιας", + "Ράξας", + "Ράφτη", + "Ράχη", + "Ράχης", + "Ρίγανης", + "Ρίζης", + "Ρίζου", + "Ρίου", + "Ραΐκου", + "Ραβδούχας", + "Ραβενής", + "Ραβενίων", + "Ραγάδα", + "Ραγίου", + "Ραδοβιζίου", + "Ραιδεστού", + "Ραμνής", + "Ραπτοπούλου", + "Ραφήνας", + "Ραφταναίων", + "Ραχούλας", + "Ραχτάδων", + "Ραχωνίου", + "Ραχών", + "Ραχώνας", + "Ραψάνης", + "Ραψομμάτη", + "Ρεγκινίου", + "Ρεθίου", + "Ρεθύμνης", + "Ρειχέας", + "Ρεντίνας", + "Ρεπανιδίου", + "Ρεπετίστης", + "Ρετσίνων", + "Ρετσιανών", + "Ρευματιάς", + "Ρητίνης", + "Ριαχόβου", + "Ριγανίου", + "Ριγκλίων", + "Ριζίων", + "Ριζαρίου", + "Ριζοβουνίου", + "Ριζομύλου", + "Ριζοσπηλιάς", + "Ριζού", + "Ριζωμάτων", + "Ριζών", + "Ριφίου", + "Ριόλου", + "Ροβίων", + "Ροβιάτας", + "Ροβιών", + "Ροβολιαρίου", + "Ρογιτίκων", + "Ρογών", + "Ροδίτου", + "Ροδίτσης", + "Ροδακίνου", + "Ροδαυγής", + "Ροδιάς", + "Ροδιανής", + "Ροδινών", + "Ροδοβανίου", + "Ροδοδάφνης", + "Ροδολίβους", + "Ροδοπόλεως", + "Ροδοτοπίου", + "Ροδοχωρίου", + "Ροδωνιάς", + "Ροδωπού", + "Ροεινού", + "Ρομιρίου", + "Ροποτού", + "Ροσκάς", + "Ρουμελής", + "Ρουπακίου", + "Ρουπακιάς", + "Ρουσσοπουλίου", + "Ρουσσοσπιτίου", + "Ρουστίκων", + "Ρουτσίου", + "Ρουφά", + "Ρουψιάς", + "Ρούσσας Εκκλησίας", + "Ρούσσου", + "Ρυακίου", + "Ρυακίων", + "Ρυζιών", + "Ρυμνίου", + "Ρυσίου", + "Ρωμαιίκου", + "Ρωμανού", + "Ρωμιάς", + "Ρόδου", + "Ρόδων", + "Ρόκκας", + "Σάγκα", + "Σάλπης", + "Σάμης", + "Σάντας", + "Σάρτης", + "Σάρχου", + "Σέκουλα", + "Σέμπρωνα", + "Σέρβου", + "Σέσκλου", + "Σέτας", + "Σίβα", + "Σίβας", + "Σίδερης", + "Σίλης", + "Σίμου", + "Σίνδου", + "Σίτσαινα", + "Σαβαλίων", + "Σαγαιίκων", + "Σαγιάδας", + "Σαγκρίου", + "Σακτουρίων", + "Σαλάκου", + "Σαλμενίκου", + "Σαλμώνης", + "Σαλονίκης", + "Σαμίων", + "Σαμαρίνης", + "Σαμικού", + "Σαμοθράκης", + "Σαμονίδας", + "Σαμπά", + "Σαντομερίου", + "Σανών", + "Σαπουνακαίϊκων", + "Σαπών", + "Σαραβαλίου", + "Σαρακήνας", + "Σαρακηνάδου", + "Σαρακηνών", + "Σαρακινίου", + "Σαρακινίου Ηραίας", + "Σαρανταπήχου", + "Σαρανταπόρου", + "Σαργιάδας", + "Σαρδινίων", + "Σαρδών", + "Σαρκίνης", + "Σασάλου", + "Σατρών", + "Σαϊδόνας", + "Σαϊτουρών", + "Σβορωνάτων", + "Σβορώνου", + "Σγουράδων", + "Σγουροκεφαλίου", + "Σεβαστής", + "Σεβαστιανών", + "Σεβαστού", + "Σειρών", + "Σελέρου", + "Σελίνου", + "Σελεγουδίου", + "Σελευκείας", + "Σεληνίων", + "Σελιάνας", + "Σελιανιτίκων", + "Σελλά", + "Σελλάδων", + "Σελλίου", + "Σελλίων", + "Σελλασίας", + "Σελλών", + "Σενίκου", + "Σερίφου", + "Σερβίων", + "Σερβιανών", + "Σερβωτών", + "Σεργούλας", + "Σεριζιανών", + "Σερνικακίου", + "Σερρών", + "Σημάντρου", + "Σημάντρων", + "Σηρικαρίου", + "Σησαμίας", + "Σητείας", + "Σιάμου", + "Σιάνων", + "Σιατίστης", + "Σιβίστης", + "Σιγουνίου", + "Σιγρίου", + "Σιδήρων", + "Σιδαρίου", + "Σιδερά", + "Σιδηράδες", + "Σιδηροκάστρου", + "Σιδηρονέρου", + "Σιδηροχωρίου", + "Σικίνου", + "Σιλάτων", + "Σιλίμνης", + "Σιμίζα", + "Σιμιάδων", + "Σιμοπούλου", + "Σιναράδων", + "Σινεβρού", + "Σινιών", + "Σινώπης", + "Σιριλίου", + "Σισανίου", + "Σιστρουνίου", + "Σισών", + "Σιταίνης", + "Σιταγρών", + "Σιταρά", + "Σιταραλώνων", + "Σιταριάς", + "Σιτομένων", + "Σιτοχωρίου", + "Σιτοχώρου", + "Σκάλας", + "Σκάλας Ωρωπού", + "Σκάλωμα", + "Σκάφης", + "Σκήτης", + "Σκαδού", + "Σκαλανίου", + "Σκαλοχωρίου", + "Σκαλωτής", + "Σκαμνακίου", + "Σκαμνελλίου", + "Σκανδάλου", + "Σκανδαλίου", + "Σκαρφείας", + "Σκαφιδακίου", + "Σκαφιδιάς", + "Σκαφιδωτής", + "Σκεπαρίου", + "Σκεπαστής", + "Σκεπαστού", + "Σκιάδα", + "Σκιάθου", + "Σκιαδά", + "Σκιλλουντίας", + "Σκινέ", + "Σκινέως", + "Σκινιά", + "Σκιώνης", + "Σκλήθρου", + "Σκλίβανης", + "Σκλίβας", + "Σκλαβοπούλας", + "Σκληρού", + "Σκοπέλου", + "Σκοπής", + "Σκοπιάς", + "Σκοπού", + "Σκορτσινού", + "Σκοτάνης", + "Σκοτίνης", + "Σκοτεινής", + "Σκοτούσσης", + "Σκουληκάδου", + "Σκουληκαριάς", + "Σκουλουφίων", + "Σκουραιίκων", + "Σκουρβούλων", + "Σκουροχωρίου", + "Σκουρτούς", + "Σκουτάρεως", + "Σκουτάρου", + "Σκουταρίου", + "Σκουτεράς", + "Σκουτεσιάδας", + "Σκούπας", + "Σκούρα", + "Σκούρας", + "Σκούρτων", + "Σκρα", + "Σκριπερού", + "Σκύδρας", + "Σκύρου", + "Σμέρνας", + "Σμέρτου", + "Σμίλας", + "Σμίξης", + "Σμαρίου", + "Σμυρτιάς", + "Σμύρνης", + "Σοκαρά", + "Σολακίου", + "Σολομού", + "Σοπίου", + "Σορωνής", + "Σουδεναιίκων", + "Σουλίου", + "Σουλαρίου", + "Σουληναρίου", + "Σουλλάρων", + "Σουλοπούλου", + "Σουνίου", + "Σουρωτής", + "Σουστιάνων", + "Σουφλίου", + "Σοφάδων", + "Σοφιάδας", + "Σοφιανών", + "Σοφικού", + "Σοφικό", + "Σοχού", + "Σούγιας", + "Σούδας", + "Σούλου", + "Σούρπης", + "Σπάθαρη", + "Σπάρτου", + "Σπάτων-Λούτσας", + "Σπήλιου", + "Σπαθάδων", + "Σπαθαρίου", + "Σπαθαραίων", + "Σπανοχωρίου", + "Σπαρτιά", + "Σπαρτιάς", + "Σπαρτιατών", + "Σπαρτιών", + "Σπαρτοχωρίου", + "Σπαρτύλα", + "Σπερχογείας", + "Σπετσών", + "Σπηλίου", + "Σπηλαίου", + "Σπηλαίων", + "Σπηλιάς", + "Σπιταλίου", + "Σπολαίτης", + "Σπόθων", + "Σπόων", + "Στάβλων", + "Στάθη", + "Στάνου", + "Στέρνας", + "Στίβου", + "Στίλιας", + "Στίρφακας", + "Σταβιών", + "Σταγίρων", + "Σταγιατών", + "Σταδίου", + "Σταθά", + "Σταθμού Αγγίστης", + "Σταθμού Μουριών", + "Σταλού", + "Σταμάτας", + "Σταματινού", + "Σταμνάς", + "Στανού", + "Σταροχωρίου", + "Στασίμου", + "Στασιού", + "Σταυρακίου", + "Σταυρακίων", + "Σταυρινήδων", + "Σταυροδρομίου", + "Σταυροπηγίου", + "Σταυροσκιαδίου", + "Σταυρουπόλεως", + "Σταυροχωρίου", + "Σταυρού", + "Σταυρωμένου", + "Σταφιδοκάμπου", + "Στειρίου", + "Στεμνίτσης", + "Στενής", + "Στενημάχου", + "Στενιών", + "Στενού", + "Στενυκλάρου", + "Στερνών", + "Στεφάνης", + "Στεφανίου", + "Στεφανιάς", + "Στεφανινών", + "Στεφανοβικείου", + "Στεφανοβούνου", + "Στιμάγκας", + "Στομίου", + "Στουππαίων", + "Στουρναραιίκων", + "Στράτου", + "Στρίγκου", + "Στρανώμης", + "Στρατινίστης", + "Στρατονίκης", + "Στρατωνίου", + "Στρεφίου", + "Στροβλών", + "Στρογγυλής", + "Στρογγυλοβουνίου", + "Στροπώνων", + "Στρουσίου", + "Στροφή", + "Στροφυλιάς", + "Στρυμονικού", + "Στρυμονοχωρίου", + "Στρόμης", + "Στρύμης", + "Στυλάριον", + "Στυλίων", + "Στυμφαλίας", + "Στόλου", + "Στόλων", + "Στύλιας", + "Στύλου", + "Στύρων", + "Στύψης", + "Συβότων", + "Συγκρέλλου", + "Συκά Υπάτης", + "Συκέας", + "Συκής", + "Συκαμίνου", + "Συκαμινέας", + "Συκεών", + "Συκιάδας", + "Συκολόγου", + "Συκορράχης", + "Συκουρίου", + "Συλιβαινιώτικων", + "Συμβολής", + "Συνδένδρου", + "Συνετίου", + "Συνοικίας Τρικάλων", + "Συρράκου", + "Συρρίζου", + "Σφάκας", + "Σφακερών", + "Σφακοπηγαδίου", + "Σφελινού", + "Σφενδαμίου", + "Σφηκιάς", + "Σφηνωτού", + "Σχίνων", + "Σχηματαρίου", + "Σχινοκαψάλων", + "Σχινοχωρίου", + "Σχοινούσσης", + "Σχολαρίου", + "Σωκρακίου", + "Σωληναρίου", + "Σωσάνδρας", + "Σωστίου", + "Σωτήρας", + "Σωταίνης", + "Σωτηρίου", + "Σωτηρίτσης", + "Σωτηριανίκων", + "Σύβρου", + "Σύμης", + "Σύρνας", + "Σύρου", + "Σώστης", + "Τέμενης", + "Τήνου", + "Ταγαράδων", + "Τακτικουπόλεως", + "Ταλάντων", + "Τανάγρας", + "Ταξιάρχου", + "Ταξιαρχών", + "Ταρσινών", + "Ταρσού", + "Ταυρωνίτου", + "Ταύρου", + "Τειχίου", + "Τεμενίων", + "Τεμπών", + "Τενέδου", + "Τεριαχίου", + "Τερπνής", + "Τερπύλλου", + "Τερψιθέας", + "Τερόβου", + "Τετρακώμου", + "Τετραλόφου", + "Τεφελίου", + "Τζίβα", + "Τζερμιάδου", + "Τζιτζιφέ", + "Τιθορέας", + "Τιθρωνίου", + "Τιτάνης", + "Τοιχίου", + "Τολού", + "Τοξοτών", + "Τοπολίων", + "Τοπολιάνων", + "Τουλιάτων", + "Τουρκολέκα", + "Τουρλάδας", + "Τουρλωτής", + "Τούμπας", + "Τρίκαστρον", + "Τρίτους", + "Τραγάνας", + "Τραγίλου", + "Τραγακίου", + "Τραγανού", + "Τρανοβάλτου", + "Τραπέζης", + "Τραπεζίτσης", + "Τραπεζαντής", + "Τραχήλας", + "Τραχειάς", + "Τραχηλίου", + "Τρεχλού", + "Τριανδρίας", + "Τριαντάρου", + "Τριανταφυλλέας", + "Τριανταφυλλιάς", + "Τριβούνου", + "Τριγλίας", + "Τριγωνικού", + "Τριδένδρου", + "Τριζονίων", + "Τρικάλων", + "Τρικερίου", + "Τρικκαίων", + "Τρικλίνου", + "Τρικοκκιάς", + "Τρικορύφου", + "Τρικόρφου", + "Τρικώμου", + "Τριλόφου", + "Τριοβασάλου", + "Τριποτάμου", + "Τριποταμιάς", + "Τριπόλεως", + "Τριπύλας", + "Τριστένου", + "Τριταίας", + "Τριφυλλίου", + "Τριχωνίου", + "Τριόδου", + "Τροβάτου", + "Τροπαίων", + "Τροπαιούχου", + "Τρυπητής", + "Τρυπών", + "Τρωιανάτων", + "Τρύγονα", + "Τρύπης", + "Τρύφου", + "Τσάκονης", + "Τσάκων", + "Τσαγγαρίου", + "Τσαγκαράδας", + "Τσαγκαροπούλου", + "Τσαμαντά", + "Τσαπουρνιάς", + "Τσαριτσάνης", + "Τσελεπάκου", + "Τσεπελόβου", + "Τσερίων", + "Τσικαλαριών", + "Τσικκαλιών", + "Τσιμανδρίων", + "Τσιπιανών", + "Τσιταλίων", + "Τσοτυλίου", + "Τσουκαλάδων", + "Τσουκαλαιίκων", + "Τσούκκας", + "Τυλίσου", + "Τυμπακίου", + "Τυμφρηστού", + "Τυρνάβου", + "Τυρολόης", + "Τυρού", + "Τυχερού", + "Τόρνου", + "Υαμείας", + "Υδρούσσης", + "Υμηττού", + "Υπάτης", + "Υπάτου", + "Υπερείας", + "Υστερνίων", + "Υψηλάντου", + "Υψηλής Ράχης", + "Υψηλομετώπου", + "Υψηλού Χωρίου", + "Φάρου", + "Φάρσων", + "Φήκης", + "Φίλια", + "Φίλιας", + "Φαβατάτων", + "Φαλάνθης", + "Φαλάννης", + "Φαλαισίας", + "Φαλατάδου", + "Φαλελιανών", + "Φαμίλας", + "Φαναρίου", + "Φανερωμένης", + "Φανού", + "Φανών", + "Φαράκλας", + "Φαραγγίου", + "Φαρακλάδας", + "Φαρακλάτων", + "Φαρακλού", + "Φαρσάλων", + "Φαρών", + "Φασκομηλιάς", + "Φελλίου", + "Φελλού", + "Φενεού", + "Φερών", + "Φιγαλείας", + "Φιδακίων", + "Φιλίας", + "Φιλίππων", + "Φιλίων", + "Φιλαδελφίου", + "Φιλαδελφείας", + "Φιλιατρών", + "Φιλιατών", + "Φιλιππαίων", + "Φιλλύρα", + "Φιλοθέης", + "Φιλοτίου", + "Φιλυρίας", + "Φιλωτείας", + "Φιλύρας", + "Φιλύρου", + "Φιλώτα", + "Φιολίτη", + "Φισίνης", + "Φισκάρδου", + "Φιχτίου", + "Φλαμουριάς", + "Φλαμπουραρίου", + "Φλαμπουρεσίου", + "Φλαμπούρου", + "Φλαμπούρων", + "Φλατσίων", + "Φλογητών", + "Φλωρίνης", + "Φλόκα", + "Φλόκας", + "Φοινίκης", + "Φοινικίου", + "Φολεγάνδρου", + "Φολόης", + "Φοναϊτίκων", + "Φορτοσίου", + "Φουντωτού", + "Φουρνάς", + "Φουρνέ", + "Φουρνής", + "Φουρφουρά", + "Φούρκας", + "Φούρνων", + "Φούστανης", + "Φούφα", + "Φράγκας", + "Φράγκου", + "Φρίξης", + "Φραγκάδων", + "Φραγκουλαιίκων", + "Φραντάτου", + "Φραντζή", + "Φραντζεσκιανών Μετοχίων", + "Φρατσίων", + "Φρε", + "Φρεγκαίνης", + "Φριλιγκιανίκων", + "Φροσύνης", + "Φρουσιούνας", + "Φτέρης", + "Φτελιάς", + "Φτερνού", + "Φυλάκης", + "Φυλής", + "Φυλακής", + "Φυλακίου", + "Φυλακτής", + "Φυλακτού", + "Φυτείας", + "Φυτειών", + "Φυτών", + "Φωκαίας", + "Φωλεάς", + "Φωσταίνης", + "Φωτάδας", + "Φωτεινού", + "Φωτεινών", + "Φωτολίβους", + "Φόδελε", + "Φύλλου", + "Φύλλων", + "Φύσκας", + "Χάλκης", + "Χέρσου", + "Χίνκας", + "Χίου", + "Χαβαρίου", + "Χαβδάτων", + "Χαβριάτων", + "Χαιρεθιανών", + "Χαιρωνείας", + "Χαλάνδρων", + "Χαλάρων", + "Χαλάστρας", + "Χαλαζονίου", + "Χαλανδρίου", + "Χαλανδρίτσης", + "Χαλικίου", + "Χαλικίου Αμβρακίας", + "Χαλιωτάτων", + "Χαλκείου", + "Χαλκερού", + "Χαλκιά", + "Χαλκιάδων", + "Χαλκιδέων", + "Χαλκιοπούλων", + "Χαμαλευρίου", + "Χαμεζίου", + "Χανίων", + "Χανδρά", + "Χανδρινού", + "Χανιώτη", + "Χαράδρου", + "Χαράς", + "Χαράσου", + "Χαραδιατίκων", + "Χαρακίου", + "Χαρακοπίου", + "Χαραυγής", + "Χαριάς", + "Χαριέσσης", + "Χαριτωμένης", + "Χαρκίων", + "Χαροκόπιον", + "Χαροπού", + "Χατζή", + "Χαϊδαρίου", + "Χαϊκαλίου", + "Χειμάρρου", + "Χειμαδιού", + "Χειμερινού", + "Χειμωνίου", + "Χελιδονίου", + "Χελυδορέου", + "Χερσονήσου", + "Χιδήρων", + "Χιλιοδένδρου", + "Χιλιομοδίου", + "Χιονάδου", + "Χιονάδων", + "Χιονάτων", + "Χιράδων", + "Χιόνας", + "Χλοματιανών", + "Χλομού", + "Χολαργού", + "Χορηγού", + "Χορτάτων", + "Χορτερού", + "Χορτιάτη", + "Χουδετσίου", + "Χουλιαράδων", + "Χουμερίου", + "Χουμεριάκου", + "Χουμνικού", + "Χουστουλιανών", + "Χούνης", + "Χράνων", + "Χρισσού", + "Χριστιανουπόλεως", + "Χριστού", + "Χρομοναστηρίου", + "Χρούσων", + "Χρυσάφων", + "Χρυσής", + "Χρυσανθίου", + "Χρυσαυγής", + "Χρυσοβίτσας", + "Χρυσοβίτσης", + "Χρυσοβεργίου", + "Χρυσοβιτσίου", + "Χρυσοκάστρου", + "Χρυσοκελλαριάς", + "Χρυσοκεφάλου", + "Χρυσομηλέας", + "Χρυσοπέτρας", + "Χρυσοπηγής", + "Χρυσορράχης", + "Χρυσοστόμου", + "Χρυσουπόλεως", + "Χρυσοχωράφων", + "Χρυσοχωρίου", + "Χρυσού", + "Χρωμίου", + "Χρύσως", + "Χωματάδας", + "Χωρέμη", + "Χωρίου", + "Χωρίου Αποκορρώνου", + "Χωρίου Κυδωνίας", + "Χωρδακίου", + "Χωρεπισκόπων", + "Χωριστής", + "Χωρυγίου", + "Χωσιαρίου", + "Χωστιά", + "Χωτούσσης", + "Χόβολης", + "Χόικας", + "Χόμορης", + "Χόνδρου", + "Χόχλιας", + "Χώνου", + "Χώρας", + "Χώρας Σφακίων", + "Ψάκας", + "Ψήνας", + "Ψίνθου", + "Ψαθογιάννου", + "Ψαθοπύργου", + "Ψαθοτοπίου", + "Ψαράδων", + "Ψαρίου", + "Ψαρών", + "Ψαχνών", + "Ψηλής Βρύσης", + "Ψηλοβράχου", + "Ψιανών", + "Ψυχικού", + "Ψυχρού", + "Ωλένης", + "Ωραίου", + "Ωραιοκάστρου", + "Ωρεών", + "Ωριάς", + "Ωρολογίου", + "Ωρωπού", + "Όθους", + "Όρμης", + "Όρμου Κορθίου", + "Όρους", + "Όσσης", + "Όχθιας", + "Ύδρας", ) diff --git a/faker/providers/address/en/__init__.py b/faker/providers/address/en/__init__.py index 7078be3ef1..8675566270 100644 --- a/faker/providers/address/en/__init__.py +++ b/faker/providers/address/en/__init__.py @@ -3,51 +3,249 @@ class Provider(AddressProvider): countries = ( - 'Afghanistan', 'Albania', 'Algeria', 'American Samoa', 'Andorra', 'Angola', 'Anguilla', - 'Antarctica (the territory South of 60 deg S)', 'Antigua and Barbuda', 'Argentina', 'Armenia', 'Aruba', - 'Australia', 'Austria', 'Azerbaijan', - 'Bahamas', 'Bahrain', 'Bangladesh', 'Barbados', 'Belarus', 'Belgium', 'Belize', 'Benin', 'Bermuda', 'Bhutan', - 'Bolivia', 'Bosnia and Herzegovina', 'Botswana', 'Bouvet Island (Bouvetoya)', 'Brazil', - 'British Indian Ocean Territory (Chagos Archipelago)', 'British Virgin Islands', 'Brunei Darussalam', - 'Bulgaria', 'Burkina Faso', 'Burundi', - 'Cambodia', 'Cameroon', 'Canada', 'Cape Verde', 'Cayman Islands', 'Central African Republic', 'Chad', 'Chile', - 'China', 'Christmas Island', 'Cocos (Keeling) Islands', 'Colombia', 'Comoros', 'Congo', 'Congo', 'Cook Islands', - 'Costa Rica', 'Cote d\'Ivoire', 'Croatia', 'Cuba', 'Cyprus', 'Czech Republic', - 'Denmark', 'Djibouti', 'Dominica', 'Dominican Republic', - 'Ecuador', 'Egypt', 'El Salvador', 'Equatorial Guinea', 'Eritrea', 'Estonia', 'Ethiopia', - 'Faroe Islands', 'Falkland Islands (Malvinas)', 'Fiji', 'Finland', 'France', 'French Guiana', - 'French Polynesia', 'French Southern Territories', - 'Gabon', 'Gambia', 'Georgia', 'Germany', 'Ghana', 'Gibraltar', 'Greece', 'Greenland', 'Grenada', 'Guadeloupe', - 'Guam', 'Guatemala', 'Guernsey', 'Guinea', 'Guinea-Bissau', 'Guyana', - 'Haiti', 'Heard Island and McDonald Islands', 'Holy See (Vatican City State)', 'Honduras', 'Hong Kong', - 'Hungary', - 'Iceland', 'India', 'Indonesia', 'Iran', 'Iraq', 'Ireland', 'Isle of Man', 'Israel', 'Italy', - 'Jamaica', 'Japan', 'Jersey', 'Jordan', - 'Kazakhstan', 'Kenya', 'Kiribati', 'Korea', 'Korea', 'Kuwait', 'Kyrgyz Republic', - 'Lao People\'s Democratic Republic', 'Latvia', 'Lebanon', 'Lesotho', 'Liberia', 'Libyan Arab Jamahiriya', - 'Liechtenstein', 'Lithuania', 'Luxembourg', - 'Macao', 'Macedonia', 'Madagascar', 'Malawi', 'Malaysia', 'Maldives', 'Mali', 'Malta', 'Marshall Islands', - 'Martinique', 'Mauritania', 'Mauritius', 'Mayotte', 'Mexico', 'Micronesia', 'Moldova', 'Monaco', 'Mongolia', - 'Montenegro', 'Montserrat', 'Morocco', 'Mozambique', 'Myanmar', - 'Namibia', 'Nauru', 'Nepal', 'Netherlands Antilles', 'Netherlands', 'New Caledonia', 'New Zealand', 'Nicaragua', - 'Niger', 'Nigeria', 'Niue', 'Norfolk Island', 'Northern Mariana Islands', 'Norway', - 'Oman', - 'Pakistan', 'Palau', 'Palestinian Territory', 'Panama', 'Papua New Guinea', 'Paraguay', 'Peru', 'Philippines', - 'Pitcairn Islands', 'Poland', 'Portugal', 'Puerto Rico', - 'Qatar', - 'Reunion', 'Romania', 'Russian Federation', 'Rwanda', - 'Saint Barthelemy', 'Saint Helena', 'Saint Kitts and Nevis', 'Saint Lucia', 'Saint Martin', - 'Saint Pierre and Miquelon', 'Saint Vincent and the Grenadines', 'Samoa', 'San Marino', 'Sao Tome and Principe', - 'Saudi Arabia', 'Senegal', 'Serbia', 'Seychelles', 'Sierra Leone', 'Singapore', 'Slovakia (Slovak Republic)', - 'Slovenia', 'Solomon Islands', 'Somalia', 'South Africa', 'South Georgia and the South Sandwich Islands', - 'Spain', 'Sri Lanka', 'Sudan', 'Suriname', 'Svalbard & Jan Mayen Islands', 'Swaziland', 'Sweden', 'Switzerland', - 'Syrian Arab Republic', - 'Taiwan', 'Tajikistan', 'Tanzania', 'Thailand', 'Timor-Leste', 'Togo', 'Tokelau', 'Tonga', - 'Trinidad and Tobago', 'Tunisia', 'Turkey', 'Turkmenistan', 'Turks and Caicos Islands', 'Tuvalu', - 'Uganda', 'Ukraine', 'United Arab Emirates', 'United Kingdom', 'United States of America', - 'United States Minor Outlying Islands', 'United States Virgin Islands', 'Uruguay', 'Uzbekistan', - 'Vanuatu', 'Venezuela', 'Vietnam', - 'Wallis and Futuna', 'Western Sahara', - 'Yemen', - 'Zambia', 'Zimbabwe', + "Afghanistan", + "Albania", + "Algeria", + "American Samoa", + "Andorra", + "Angola", + "Anguilla", + "Antarctica (the territory South of 60 deg S)", + "Antigua and Barbuda", + "Argentina", + "Armenia", + "Aruba", + "Australia", + "Austria", + "Azerbaijan", + "Bahamas", + "Bahrain", + "Bangladesh", + "Barbados", + "Belarus", + "Belgium", + "Belize", + "Benin", + "Bermuda", + "Bhutan", + "Bolivia", + "Bosnia and Herzegovina", + "Botswana", + "Bouvet Island (Bouvetoya)", + "Brazil", + "British Indian Ocean Territory (Chagos Archipelago)", + "British Virgin Islands", + "Brunei Darussalam", + "Bulgaria", + "Burkina Faso", + "Burundi", + "Cambodia", + "Cameroon", + "Canada", + "Cape Verde", + "Cayman Islands", + "Central African Republic", + "Chad", + "Chile", + "China", + "Christmas Island", + "Cocos (Keeling) Islands", + "Colombia", + "Comoros", + "Congo", + "Congo", + "Cook Islands", + "Costa Rica", + "Cote d'Ivoire", + "Croatia", + "Cuba", + "Cyprus", + "Czech Republic", + "Denmark", + "Djibouti", + "Dominica", + "Dominican Republic", + "Ecuador", + "Egypt", + "El Salvador", + "Equatorial Guinea", + "Eritrea", + "Estonia", + "Ethiopia", + "Faroe Islands", + "Falkland Islands (Malvinas)", + "Fiji", + "Finland", + "France", + "French Guiana", + "French Polynesia", + "French Southern Territories", + "Gabon", + "Gambia", + "Georgia", + "Germany", + "Ghana", + "Gibraltar", + "Greece", + "Greenland", + "Grenada", + "Guadeloupe", + "Guam", + "Guatemala", + "Guernsey", + "Guinea", + "Guinea-Bissau", + "Guyana", + "Haiti", + "Heard Island and McDonald Islands", + "Holy See (Vatican City State)", + "Honduras", + "Hong Kong", + "Hungary", + "Iceland", + "India", + "Indonesia", + "Iran", + "Iraq", + "Ireland", + "Isle of Man", + "Israel", + "Italy", + "Jamaica", + "Japan", + "Jersey", + "Jordan", + "Kazakhstan", + "Kenya", + "Kiribati", + "Korea", + "Korea", + "Kuwait", + "Kyrgyz Republic", + "Lao People's Democratic Republic", + "Latvia", + "Lebanon", + "Lesotho", + "Liberia", + "Libyan Arab Jamahiriya", + "Liechtenstein", + "Lithuania", + "Luxembourg", + "Macao", + "Macedonia", + "Madagascar", + "Malawi", + "Malaysia", + "Maldives", + "Mali", + "Malta", + "Marshall Islands", + "Martinique", + "Mauritania", + "Mauritius", + "Mayotte", + "Mexico", + "Micronesia", + "Moldova", + "Monaco", + "Mongolia", + "Montenegro", + "Montserrat", + "Morocco", + "Mozambique", + "Myanmar", + "Namibia", + "Nauru", + "Nepal", + "Netherlands Antilles", + "Netherlands", + "New Caledonia", + "New Zealand", + "Nicaragua", + "Niger", + "Nigeria", + "Niue", + "Norfolk Island", + "Northern Mariana Islands", + "Norway", + "Oman", + "Pakistan", + "Palau", + "Palestinian Territory", + "Panama", + "Papua New Guinea", + "Paraguay", + "Peru", + "Philippines", + "Pitcairn Islands", + "Poland", + "Portugal", + "Puerto Rico", + "Qatar", + "Reunion", + "Romania", + "Russian Federation", + "Rwanda", + "Saint Barthelemy", + "Saint Helena", + "Saint Kitts and Nevis", + "Saint Lucia", + "Saint Martin", + "Saint Pierre and Miquelon", + "Saint Vincent and the Grenadines", + "Samoa", + "San Marino", + "Sao Tome and Principe", + "Saudi Arabia", + "Senegal", + "Serbia", + "Seychelles", + "Sierra Leone", + "Singapore", + "Slovakia (Slovak Republic)", + "Slovenia", + "Solomon Islands", + "Somalia", + "South Africa", + "South Georgia and the South Sandwich Islands", + "Spain", + "Sri Lanka", + "Sudan", + "Suriname", + "Svalbard & Jan Mayen Islands", + "Swaziland", + "Sweden", + "Switzerland", + "Syrian Arab Republic", + "Taiwan", + "Tajikistan", + "Tanzania", + "Thailand", + "Timor-Leste", + "Togo", + "Tokelau", + "Tonga", + "Trinidad and Tobago", + "Tunisia", + "Turkey", + "Turkmenistan", + "Turks and Caicos Islands", + "Tuvalu", + "Uganda", + "Ukraine", + "United Arab Emirates", + "United Kingdom", + "United States of America", + "United States Minor Outlying Islands", + "United States Virgin Islands", + "Uruguay", + "Uzbekistan", + "Vanuatu", + "Venezuela", + "Vietnam", + "Wallis and Futuna", + "Western Sahara", + "Yemen", + "Zambia", + "Zimbabwe", ) diff --git a/faker/providers/address/en_AU/__init__.py b/faker/providers/address/en_AU/__init__.py index 854ace870b..a59fd01663 100644 --- a/faker/providers/address/en_AU/__init__.py +++ b/faker/providers/address/en_AU/__init__.py @@ -3,136 +3,341 @@ class Provider(AddressProvider): - city_prefixes = ('North', 'East', 'West', 'South', 'New', 'Lake', 'Port', - 'St.') + city_prefixes = ("North", "East", "West", "South", "New", "Lake", "Port", "St.") - city_suffixes = ('town', 'ton', 'land', 'ville', 'berg', 'burgh', - 'borough', 'bury', 'view', 'port', 'mouth', 'stad', - 'furt', 'chester', 'mouth', 'fort', 'haven', 'side', - 'shire') + city_suffixes = ( + "town", + "ton", + "land", + "ville", + "berg", + "burgh", + "borough", + "bury", + "view", + "port", + "mouth", + "stad", + "furt", + "chester", + "mouth", + "fort", + "haven", + "side", + "shire", + ) - building_number_formats = ('###', '##', '#') + building_number_formats = ("###", "##", "#") street_suffixes = ( - 'Access', 'Alley', 'Alleyway', 'Amble', 'Anchorage', 'Approach', - 'Arcade', 'Artery', 'Avenue', 'Basin', 'Beach', 'Bend', 'Block', - 'Boulevard', 'Brace', 'Brae', 'Break', 'Bridge', 'Broadway', 'Brow', - 'Bypass', 'Byway', 'Causeway', 'Centre', 'Centreway', 'Chase', - 'Circle', 'Circlet', 'Circuit', 'Circus', 'Close', 'Colonnade', - 'Common', 'Concourse', 'Copse', 'Corner', 'Corso', 'Court', - 'Courtyard', 'Cove', 'Crescent', 'Crest', 'Cross', 'Crossing', - 'Crossroad', 'Crossway', 'Cruiseway', 'Cul-de-sac', 'Cutting', 'Dale', - 'Dell', 'Deviation', 'Dip', 'Distributor', 'Drive', 'Driveway', 'Edge', - 'Elbow', 'End', 'Entrance', 'Esplanade', 'Estate', 'Expressway', - 'Extension', 'Fairway', 'Fire Track', 'Firetrail', 'Flat', 'Follow', - 'Footway', 'Foreshore', 'Formation', 'Freeway', 'Front', 'Frontage', - 'Gap', 'Garden', 'Gardens', 'Gate', 'Gates', 'Glade', 'Glen', 'Grange', - 'Green', 'Ground', 'Grove', 'Gully', 'Heights', 'Highroad', 'Highway', - 'Hill', 'Interchange', 'Intersection', 'Junction', 'Key', 'Landing', - 'Lane', 'Laneway', 'Lees', 'Line', 'Link', 'Little', 'Lookout', 'Loop', - 'Lower', 'Mall', 'Meander', 'Mew', 'Mews', 'Motorway', 'Mount', 'Nook', - 'Outlook', 'Parade', 'Park', 'Parklands', 'Parkway', 'Part', 'Pass', - 'Path', 'Pathway', 'Piazza', 'Place', 'Plateau', 'Plaza', 'Pocket', - 'Point', 'Port', 'Promenade', 'Quad', 'Quadrangle', 'Quadrant', 'Quay', - 'Quays', 'Ramble', 'Ramp', 'Range', 'Reach', 'Reserve', 'Rest', - 'Retreat', 'Ride', 'Ridge', 'Ridgeway', 'Right Of Way', 'Ring', 'Rise', - 'River', 'Riverway', 'Riviera', 'Road', 'Roads', 'Roadside', 'Roadway', - 'Ronde', 'Rosebowl', 'Rotary', 'Round', 'Route', 'Row', 'Rue', 'Run', - 'Service Way', 'Siding', 'Slope', 'Sound', 'Spur', 'Square', 'Stairs', - 'State Highway', 'Steps', 'Strand', 'Street', 'Strip', 'Subway', - 'Tarn', 'Terrace', 'Thoroughfare', 'Tollway', 'Top', 'Tor', 'Towers', - 'Track', 'Trail', 'Trailer', 'Triangle', 'Trunkway', 'Turn', - 'Underpass', 'Upper', 'Vale', 'Viaduct', 'View', 'Villas', 'Vista', - 'Wade', 'Walk', 'Walkway', 'Way', 'Wynd') + "Access", + "Alley", + "Alleyway", + "Amble", + "Anchorage", + "Approach", + "Arcade", + "Artery", + "Avenue", + "Basin", + "Beach", + "Bend", + "Block", + "Boulevard", + "Brace", + "Brae", + "Break", + "Bridge", + "Broadway", + "Brow", + "Bypass", + "Byway", + "Causeway", + "Centre", + "Centreway", + "Chase", + "Circle", + "Circlet", + "Circuit", + "Circus", + "Close", + "Colonnade", + "Common", + "Concourse", + "Copse", + "Corner", + "Corso", + "Court", + "Courtyard", + "Cove", + "Crescent", + "Crest", + "Cross", + "Crossing", + "Crossroad", + "Crossway", + "Cruiseway", + "Cul-de-sac", + "Cutting", + "Dale", + "Dell", + "Deviation", + "Dip", + "Distributor", + "Drive", + "Driveway", + "Edge", + "Elbow", + "End", + "Entrance", + "Esplanade", + "Estate", + "Expressway", + "Extension", + "Fairway", + "Fire Track", + "Firetrail", + "Flat", + "Follow", + "Footway", + "Foreshore", + "Formation", + "Freeway", + "Front", + "Frontage", + "Gap", + "Garden", + "Gardens", + "Gate", + "Gates", + "Glade", + "Glen", + "Grange", + "Green", + "Ground", + "Grove", + "Gully", + "Heights", + "Highroad", + "Highway", + "Hill", + "Interchange", + "Intersection", + "Junction", + "Key", + "Landing", + "Lane", + "Laneway", + "Lees", + "Line", + "Link", + "Little", + "Lookout", + "Loop", + "Lower", + "Mall", + "Meander", + "Mew", + "Mews", + "Motorway", + "Mount", + "Nook", + "Outlook", + "Parade", + "Park", + "Parklands", + "Parkway", + "Part", + "Pass", + "Path", + "Pathway", + "Piazza", + "Place", + "Plateau", + "Plaza", + "Pocket", + "Point", + "Port", + "Promenade", + "Quad", + "Quadrangle", + "Quadrant", + "Quay", + "Quays", + "Ramble", + "Ramp", + "Range", + "Reach", + "Reserve", + "Rest", + "Retreat", + "Ride", + "Ridge", + "Ridgeway", + "Right Of Way", + "Ring", + "Rise", + "River", + "Riverway", + "Riviera", + "Road", + "Roads", + "Roadside", + "Roadway", + "Ronde", + "Rosebowl", + "Rotary", + "Round", + "Route", + "Row", + "Rue", + "Run", + "Service Way", + "Siding", + "Slope", + "Sound", + "Spur", + "Square", + "Stairs", + "State Highway", + "Steps", + "Strand", + "Street", + "Strip", + "Subway", + "Tarn", + "Terrace", + "Thoroughfare", + "Tollway", + "Top", + "Tor", + "Towers", + "Track", + "Trail", + "Trailer", + "Triangle", + "Trunkway", + "Turn", + "Underpass", + "Upper", + "Vale", + "Viaduct", + "View", + "Villas", + "Vista", + "Wade", + "Walk", + "Walkway", + "Way", + "Wynd", + ) postcode_formats = ( # as per https://en.wikipedia.org/wiki/Postcodes_in_Australia # NSW - '1###', - '20##', - '21##', - '22##', - '23##', - '24##', - '25##', - '2619', - '262#', - '263#', - '264#', - '265#', - '266#', - '267#', - '268#', - '269#', - '27##', - '28##', - '292#', - '293#', - '294#', - '295#', - '296#', - '297#', - '298#', - '299#', + "1###", + "20##", + "21##", + "22##", + "23##", + "24##", + "25##", + "2619", + "262#", + "263#", + "264#", + "265#", + "266#", + "267#", + "268#", + "269#", + "27##", + "28##", + "292#", + "293#", + "294#", + "295#", + "296#", + "297#", + "298#", + "299#", # ACT - '02##', - '260#', - '261#', - '290#', - '291#', - '2920', + "02##", + "260#", + "261#", + "290#", + "291#", + "2920", # VIC - '3###', - '8###', + "3###", + "8###", # QLD - '4###', - '9###', + "4###", + "9###", # SA - '5###', + "5###", # WA - '6###', + "6###", # TAS - '7###', + "7###", # NT - '08##', - '09##', + "08##", + "09##", ) - states = ('Australian Capital Territory', 'New South Wales', - 'Northern Territory', 'Queensland', 'South Australia', - 'Tasmania', 'Victoria', 'Western Australia') + states = ( + "Australian Capital Territory", + "New South Wales", + "Northern Territory", + "Queensland", + "South Australia", + "Tasmania", + "Victoria", + "Western Australia", + ) - states_abbr = ('ACT', 'NSW', 'NT', 'QLD', 'SA', 'TAS', 'VIC', 'WA') + states_abbr = ("ACT", "NSW", "NT", "QLD", "SA", "TAS", "VIC", "WA") - city_formats = ('{{city_prefix}} {{first_name}}{{city_suffix}}', - '{{city_prefix}} {{first_name}}', - '{{first_name}}{{city_suffix}}', - '{{last_name}}{{city_suffix}}') + city_formats = ( + "{{city_prefix}} {{first_name}}{{city_suffix}}", + "{{city_prefix}} {{first_name}}", + "{{first_name}}{{city_suffix}}", + "{{last_name}}{{city_suffix}}", + ) - street_name_formats = ('{{first_name}} {{street_suffix}}', - '{{last_name}} {{street_suffix}}') + street_name_formats = ( + "{{first_name}} {{street_suffix}}", + "{{last_name}} {{street_suffix}}", + ) street_address_formats = ( - '{{building_number}} {{street_name}}', - '{{secondary_address}}\n {{building_number}} {{street_name}}', + "{{building_number}} {{street_name}}", + "{{secondary_address}}{{building_number}} {{street_name}}", ) - address_formats = ( - "{{street_address}}\n{{city}}, {{state_abbr}}, {{postcode}}", ) + address_formats = ("{{street_address}}\n{{city}}, {{state_abbr}}, {{postcode}}",) - secondary_address_formats = ('Apt. ###', 'Flat ##', 'Suite ###', 'Unit ##', - 'Level #', '### /', '## /', '# /') + secondary_address_formats = ( + "Apt. ### ", + "Flat ## ", + "Suite ### ", + "Unit ## ", + "Level # ", + "###/", + "##/", + "#/", + ) - def city_prefix(self): + def city_prefix(self) -> str: return self.random_element(self.city_prefixes) - def secondary_address(self): - return self.numerify( - self.random_element( - self.secondary_address_formats)) + def secondary_address(self) -> str: + return self.numerify(self.random_element(self.secondary_address_formats)) - def state(self): + def administrative_unit(self) -> str: return self.random_element(self.states) - def state_abbr(self): + state = administrative_unit + + def state_abbr(self) -> str: return self.random_element(self.states_abbr) diff --git a/faker/providers/address/en_CA/__init__.py b/faker/providers/address/en_CA/__init__.py index a13f738454..4602bb0ead 100644 --- a/faker/providers/address/en_CA/__init__.py +++ b/faker/providers/address/en_CA/__init__.py @@ -1,5 +1,7 @@ import re +from typing import Optional + from ..en import Provider as AddressProvider @@ -11,342 +13,385 @@ class Provider(AddressProvider): # wild), but online official documentation is hard to find, so just ignore # them for now. postal_code_letters = ( - 'A', 'B', 'C', 'E', 'G', 'H', 'J', 'K', 'L', 'M', 'N', 'P', 'R', 'S', - 'T', 'V', 'X', 'Y', + "A", + "B", + "C", + "E", + "G", + "H", + "J", + "K", + "L", + "M", + "N", + "P", + "R", + "S", + "T", + "V", + "X", + "Y", ) - city_prefixes = ('North', 'East', 'West', 'South', 'New', 'Lake', 'Port') + city_prefixes = ("North", "East", "West", "South", "New", "Lake", "Port") city_suffixes = ( - 'town', - 'ton', - 'land', - 'ville', - 'berg', - 'burgh', - 'borough', - 'bury', - 'view', - 'port', - 'mouth', - 'stad', - 'furt', - 'chester', - 'mouth', - 'fort', - 'haven', - 'side', - 'shire') + "town", + "ton", + "land", + "ville", + "berg", + "burgh", + "borough", + "bury", + "view", + "port", + "mouth", + "stad", + "furt", + "chester", + "mouth", + "fort", + "haven", + "side", + "shire", + ) - building_number_formats = ('#####', '####', '###') + building_number_formats = ("#####", "####", "###") street_suffixes = ( - 'Alley', - 'Avenue', - 'Branch', - 'Bridge', - 'Brook', - 'Brooks', - 'Burg', - 'Burgs', - 'Bypass', - 'Camp', - 'Canyon', - 'Cape', - 'Causeway', - 'Center', - 'Centers', - 'Circle', - 'Circles', - 'Cliff', - 'Cliffs', - 'Club', - 'Common', - 'Corner', - 'Corners', - 'Course', - 'Court', - 'Courts', - 'Cove', - 'Coves', - 'Creek', - 'Crescent', - 'Crest', - 'Crossing', - 'Crossroad', - 'Curve', - 'Dale', - 'Dam', - 'Divide', - 'Drive', - 'Drive', - 'Drives', - 'Estate', - 'Estates', - 'Expressway', - 'Extension', - 'Extensions', - 'Fall', - 'Falls', - 'Ferry', - 'Field', - 'Fields', - 'Flat', - 'Flats', - 'Ford', - 'Fords', - 'Forest', - 'Forge', - 'Forges', - 'Fork', - 'Forks', - 'Fort', - 'Freeway', - 'Garden', - 'Gardens', - 'Gateway', - 'Glen', - 'Glens', - 'Green', - 'Greens', - 'Grove', - 'Groves', - 'Harbor', - 'Harbors', - 'Haven', - 'Heights', - 'Highway', - 'Hill', - 'Hills', - 'Hollow', - 'Inlet', - 'Inlet', - 'Island', - 'Island', - 'Islands', - 'Islands', - 'Isle', - 'Isle', - 'Junction', - 'Junctions', - 'Key', - 'Keys', - 'Knoll', - 'Knolls', - 'Lake', - 'Lakes', - 'Land', - 'Landing', - 'Lane', - 'Light', - 'Lights', - 'Loaf', - 'Lock', - 'Locks', - 'Locks', - 'Lodge', - 'Lodge', - 'Loop', - 'Mall', - 'Manor', - 'Manors', - 'Meadow', - 'Meadows', - 'Mews', - 'Mill', - 'Mills', - 'Mission', - 'Mission', - 'Motorway', - 'Mount', - 'Mountain', - 'Mountain', - 'Mountains', - 'Mountains', - 'Neck', - 'Orchard', - 'Oval', - 'Overpass', - 'Park', - 'Parks', - 'Parkway', - 'Parkways', - 'Pass', - 'Passage', - 'Path', - 'Pike', - 'Pine', - 'Pines', - 'Place', - 'Plain', - 'Plains', - 'Plains', - 'Plaza', - 'Plaza', - 'Point', - 'Points', - 'Port', - 'Port', - 'Ports', - 'Ports', - 'Prairie', - 'Prairie', - 'Radial', - 'Ramp', - 'Ranch', - 'Rapid', - 'Rapids', - 'Rest', - 'Ridge', - 'Ridges', - 'River', - 'Road', - 'Road', - 'Roads', - 'Roads', - 'Route', - 'Row', - 'Rue', - 'Run', - 'Shoal', - 'Shoals', - 'Shore', - 'Shores', - 'Skyway', - 'Spring', - 'Springs', - 'Springs', - 'Spur', - 'Spurs', - 'Square', - 'Square', - 'Squares', - 'Squares', - 'Station', - 'Station', - 'Stravenue', - 'Stravenue', - 'Stream', - 'Stream', - 'Street', - 'Street', - 'Streets', - 'Summit', - 'Summit', - 'Terrace', - 'Throughway', - 'Trace', - 'Track', - 'Trafficway', - 'Trail', - 'Trail', - 'Tunnel', - 'Tunnel', - 'Turnpike', - 'Turnpike', - 'Underpass', - 'Union', - 'Unions', - 'Valley', - 'Valleys', - 'Via', - 'Viaduct', - 'View', - 'Views', - 'Village', - 'Village', - 'Villages', - 'Ville', - 'Vista', - 'Vista', - 'Walk', - 'Walks', - 'Wall', - 'Way', - 'Ways', - 'Well', - 'Wells') + "Alley", + "Avenue", + "Branch", + "Bridge", + "Brook", + "Brooks", + "Burg", + "Burgs", + "Bypass", + "Camp", + "Canyon", + "Cape", + "Causeway", + "Center", + "Centers", + "Circle", + "Circles", + "Cliff", + "Cliffs", + "Club", + "Common", + "Corner", + "Corners", + "Course", + "Court", + "Courts", + "Cove", + "Coves", + "Creek", + "Crescent", + "Crest", + "Crossing", + "Crossroad", + "Curve", + "Dale", + "Dam", + "Divide", + "Drive", + "Drive", + "Drives", + "Estate", + "Estates", + "Expressway", + "Extension", + "Extensions", + "Fall", + "Falls", + "Ferry", + "Field", + "Fields", + "Flat", + "Flats", + "Ford", + "Fords", + "Forest", + "Forge", + "Forges", + "Fork", + "Forks", + "Fort", + "Freeway", + "Garden", + "Gardens", + "Gateway", + "Glen", + "Glens", + "Green", + "Greens", + "Grove", + "Groves", + "Harbor", + "Harbors", + "Haven", + "Heights", + "Highway", + "Hill", + "Hills", + "Hollow", + "Inlet", + "Inlet", + "Island", + "Island", + "Islands", + "Islands", + "Isle", + "Isle", + "Junction", + "Junctions", + "Key", + "Keys", + "Knoll", + "Knolls", + "Lake", + "Lakes", + "Land", + "Landing", + "Lane", + "Light", + "Lights", + "Loaf", + "Lock", + "Locks", + "Locks", + "Lodge", + "Lodge", + "Loop", + "Mall", + "Manor", + "Manors", + "Meadow", + "Meadows", + "Mews", + "Mill", + "Mills", + "Mission", + "Mission", + "Motorway", + "Mount", + "Mountain", + "Mountain", + "Mountains", + "Mountains", + "Neck", + "Orchard", + "Oval", + "Overpass", + "Park", + "Parks", + "Parkway", + "Parkways", + "Pass", + "Passage", + "Path", + "Pike", + "Pine", + "Pines", + "Place", + "Plain", + "Plains", + "Plains", + "Plaza", + "Plaza", + "Point", + "Points", + "Port", + "Port", + "Ports", + "Ports", + "Prairie", + "Prairie", + "Radial", + "Ramp", + "Ranch", + "Rapid", + "Rapids", + "Rest", + "Ridge", + "Ridges", + "River", + "Road", + "Road", + "Roads", + "Roads", + "Route", + "Row", + "Rue", + "Run", + "Shoal", + "Shoals", + "Shore", + "Shores", + "Skyway", + "Spring", + "Springs", + "Springs", + "Spur", + "Spurs", + "Square", + "Square", + "Squares", + "Squares", + "Station", + "Station", + "Stravenue", + "Stravenue", + "Stream", + "Stream", + "Street", + "Street", + "Streets", + "Summit", + "Summit", + "Terrace", + "Throughway", + "Trace", + "Track", + "Trafficway", + "Trail", + "Trail", + "Tunnel", + "Tunnel", + "Turnpike", + "Turnpike", + "Underpass", + "Union", + "Unions", + "Valley", + "Valleys", + "Via", + "Viaduct", + "View", + "Views", + "Village", + "Village", + "Villages", + "Ville", + "Vista", + "Vista", + "Walk", + "Walks", + "Wall", + "Way", + "Ways", + "Well", + "Wells", + ) - postal_code_formats = ('?%? %?%', '?%?%?%') + postal_code_formats = ("?%? %?%", "?%?%?%") provinces = ( - 'Alberta', 'British Columbia', 'Manitoba', 'New Brunswick', - 'Newfoundland and Labrador', 'Northwest Territories', - 'Nova Scotia', 'Nunavut', 'Ontario', - 'Prince Edward Island', 'Quebec', 'Saskatchewan', 'Yukon Territory') + "Alberta", + "British Columbia", + "Manitoba", + "New Brunswick", + "Newfoundland and Labrador", + "Northwest Territories", + "Nova Scotia", + "Nunavut", + "Ontario", + "Prince Edward Island", + "Quebec", + "Saskatchewan", + "Yukon Territory", + ) provinces_abbr = ( - 'AB', 'BC', 'MB', 'NB', 'NL', 'NT', 'NS', - 'NU', 'ON', 'PE', 'QC', 'SK', 'YT') + "AB", + "BC", + "MB", + "NB", + "NL", + "NT", + "NS", + "NU", + "ON", + "PE", + "QC", + "SK", + "YT", + ) provinces_postcode_prefixes = { - 'NL': ['A'], 'NS': ['B'], 'PE': ['C'], 'NB': ['E'], - 'QC': ['G', 'H', 'J'], 'ON': ['K', 'L', 'M', 'N', 'P'], - 'MB': ['R'], 'SK': ['S'], 'AB': ['T'], 'BC': ['V'], - 'NU': ['X'], 'NT': ['X'], 'YT': ['Y'], + "NL": ["A"], + "NS": ["B"], + "PE": ["C"], + "NB": ["E"], + "QC": ["G", "H", "J"], + "ON": ["K", "L", "M", "N", "P"], + "MB": ["R"], + "SK": ["S"], + "AB": ["T"], + "BC": ["V"], + "NU": ["X"], + "NT": ["X"], + "YT": ["Y"], } city_formats = ( - '{{city_prefix}} {{first_name}}{{city_suffix}}', - '{{city_prefix}} {{first_name}}', - '{{first_name}}{{city_suffix}}', - '{{last_name}}{{city_suffix}}', + "{{city_prefix}} {{first_name}}{{city_suffix}}", + "{{city_prefix}} {{first_name}}", + "{{first_name}}{{city_suffix}}", + "{{last_name}}{{city_suffix}}", ) street_name_formats = ( - '{{first_name}} {{street_suffix}}', - '{{last_name}} {{street_suffix}}', + "{{first_name}} {{street_suffix}}", + "{{last_name}} {{street_suffix}}", ) street_address_formats = ( - '{{building_number}} {{street_name}}', - '{{building_number}} {{street_name}} {{secondary_address}}', + "{{building_number}} {{street_name}}", + "{{building_number}} {{street_name}} {{secondary_address}}", ) - address_formats = ( - "{{street_address}}\n{{city}}, {{province_abbr}} {{postalcode}}", - ) - secondary_address_formats = ('Apt. ###', 'Suite ###') + address_formats = ("{{street_address}}\n{{city}}, {{province_abbr}} {{postalcode}}",) + secondary_address_formats = ("Apt. ###", "Suite ###") - def province(self): - """ - """ + def administrative_unit(self) -> str: + """ """ return self.random_element(self.provinces) - def province_abbr(self): + province = administrative_unit + + def province_abbr(self) -> str: return self.random_element(self.provinces_abbr) - def city_prefix(self): + def city_prefix(self) -> str: return self.random_element(self.city_prefixes) - def secondary_address(self): - return self.numerify( - self.random_element( - self.secondary_address_formats)) + def secondary_address(self) -> str: + return self.numerify(self.random_element(self.secondary_address_formats)) - def postal_code_letter(self): + def postal_code_letter(self) -> str: """ Returns a random letter from the list of allowable letters in a canadian postal code """ return self.random_element(self.postal_code_letters) - def _postcode_replace(self, postal_code_format): + def _postcode_replace(self, postal_code_format: str) -> str: """ Replaces all question mark ('?') occurrences with a random letter from given postal_code_format, then passes result to numerify to insert numbers """ - temp = re.sub(r'\?', - lambda x: self.postal_code_letter(), - postal_code_format) + temp = re.sub(r"\?", lambda x: self.postal_code_letter(), postal_code_format) return self.numerify(temp) - def postcode(self): + def postcode(self) -> str: """ Returns a random postcode """ - return self._postcode_replace( - self.random_element(self.postal_code_formats)) + return self._postcode_replace(self.random_element(self.postal_code_formats)) - def postcode_in_province(self, province_abbr=None): + def postcode_in_province(self, province_abbr: Optional[str] = None) -> str: """ Returns a random postcode within the provided province abbreviation """ @@ -354,18 +399,18 @@ def postcode_in_province(self, province_abbr=None): province_abbr = self.random_element(self.provinces_abbr) if province_abbr in self.provinces_abbr: - postal_code_format = self.random_element(self.postal_code_formats) + postal_code_format: str = self.random_element(self.postal_code_formats) postal_code_format = postal_code_format.replace( - '?', - self.generator.random_element( - self.provinces_postcode_prefixes[province_abbr]), - 1) + "?", + self.generator.random_element(self.provinces_postcode_prefixes[province_abbr]), + 1, + ) return self._postcode_replace(postal_code_format) else: - raise Exception('Province Abbreviation not found in list') + raise Exception("Province Abbreviation not found in list") - def postalcode_in_province(self, province_abbr=None): + def postalcode_in_province(self, province_abbr: Optional[str] = None) -> str: return self.postcode_in_province(province_abbr) - def postalcode(self): + def postalcode(self) -> str: return self.postcode() diff --git a/faker/providers/address/en_GB/__init__.py b/faker/providers/address/en_GB/__init__.py index 282ac45862..921b190a57 100644 --- a/faker/providers/address/en_GB/__init__.py +++ b/faker/providers/address/en_GB/__init__.py @@ -4,427 +4,547 @@ class Provider(AddressProvider): - city_prefixes = ('North', 'East', 'West', 'South', 'New', 'Lake', 'Port') + city_prefixes = ("North", "East", "West", "South", "New", "Lake", "Port") city_suffixes = ( - 'town', - 'ton', - 'land', - 'ville', - 'berg', - 'burgh', - 'borough', - 'bury', - 'view', - 'port', - 'mouth', - 'stad', - 'furt', - 'chester', - 'mouth', - 'fort', - 'haven', - 'side', - 'shire', + "town", + "ton", + "land", + "ville", + "berg", + "burgh", + "borough", + "bury", + "view", + "port", + "mouth", + "stad", + "furt", + "chester", + "mouth", + "fort", + "haven", + "side", + "shire", ) counties = ( - 'Bedfordshire', - 'Buckinghamshire', - 'Cambridgeshire', - 'Cheshire', - 'Cleveland', - 'Cornwall', - 'Cumbria', - 'Derbyshire', - 'Devon', - 'Dorset', - 'Durham', - 'East Sussex', - 'Essex', - 'Gloucestershire', - 'Greater London', - 'Greater Manchester', - 'Hampshire', - 'Hertfordshire', - 'Kent', - 'Lancashire', - 'Leicestershire', - 'Lincolnshire', - 'Merseyside', - 'Norfolk', - 'North Yorkshire', - 'Northamptonshire', - 'Northumberland', - 'Nottinghamshire', - 'Oxfordshire', - 'Shropshire', - 'Somerset', - 'South Yorkshire', - 'Staffordshire', - 'Suffolk', - 'Surrey', - 'Tyne and Wear', - 'Warwickshire', - 'West Berkshire', - 'West Midlands', - 'West Sussex', - 'West Yorkshire', - 'Wiltshire', - 'Worcestershire', - 'Flintshire', - 'Glamorgan', - 'Merionethshire', - 'Monmouthshire', - 'Montgomeryshire', - 'Pembrokeshire', - 'Radnorshire', - 'Anglesey', - 'Breconshire', - 'Caernarvonshire', - 'Cardiganshire', - 'Carmarthenshire', - 'Denbighshire', - 'Aberdeen City', - 'Aberdeenshire', - 'Angus', - 'Argyll and Bute', - 'City of Edinburgh', - 'Clackmannanshire', - 'Dumfries and Galloway', - 'Dundee City', - 'East Ayrshire', - 'East Dunbartonshire', - 'East Lothian', - 'East Renfrewshire', - 'Eilean Siar', - 'Falkirk', - 'Fife', - 'Glasgow City', - 'Highland', - 'Inverclyde', - 'Midlothian', - 'Moray', - 'North Ayrshire', - 'North Lanarkshire', - 'Orkney Islands', - 'Perth and Kinross', - 'Renfrewshire', - 'Scottish Borders', - 'Shetland Islands', - 'South Ayrshire', - 'South Lanarkshire', - 'Stirling', - 'West Dunbartonshire', - 'West Lothian', - 'Antrim', - 'Armagh', - 'Down', - 'Fermanagh', - 'Derry and Londonderry', - 'Tyrone', + "Bedfordshire", + "Buckinghamshire", + "Cambridgeshire", + "Cheshire", + "Cleveland", + "Cornwall", + "Cumbria", + "Derbyshire", + "Devon", + "Dorset", + "Durham", + "East Sussex", + "Essex", + "Gloucestershire", + "Greater London", + "Greater Manchester", + "Hampshire", + "Hertfordshire", + "Kent", + "Lancashire", + "Leicestershire", + "Lincolnshire", + "Merseyside", + "Norfolk", + "North Yorkshire", + "Northamptonshire", + "Northumberland", + "Nottinghamshire", + "Oxfordshire", + "Shropshire", + "Somerset", + "South Yorkshire", + "Staffordshire", + "Suffolk", + "Surrey", + "Tyne and Wear", + "Warwickshire", + "West Berkshire", + "West Midlands", + "West Sussex", + "West Yorkshire", + "Wiltshire", + "Worcestershire", + "Flintshire", + "Glamorgan", + "Merionethshire", + "Monmouthshire", + "Montgomeryshire", + "Pembrokeshire", + "Radnorshire", + "Anglesey", + "Breconshire", + "Caernarvonshire", + "Cardiganshire", + "Carmarthenshire", + "Denbighshire", + "Aberdeen City", + "Aberdeenshire", + "Angus", + "Argyll and Bute", + "City of Edinburgh", + "Clackmannanshire", + "Dumfries and Galloway", + "Dundee City", + "East Ayrshire", + "East Dunbartonshire", + "East Lothian", + "East Renfrewshire", + "Eilean Siar", + "Falkirk", + "Fife", + "Glasgow City", + "Highland", + "Inverclyde", + "Midlothian", + "Moray", + "North Ayrshire", + "North Lanarkshire", + "Orkney Islands", + "Perth and Kinross", + "Renfrewshire", + "Scottish Borders", + "Shetland Islands", + "South Ayrshire", + "South Lanarkshire", + "Stirling", + "West Dunbartonshire", + "West Lothian", + "Antrim", + "Armagh", + "Down", + "Fermanagh", + "Derry and Londonderry", + "Tyrone", ) - building_number_formats = ('#', '##', '###') + building_number_formats = ("#", "##", "###") street_suffixes = ( - 'alley', - 'avenue', - 'branch', - 'bridge', - 'brook', - 'brooks', - 'burg', - 'burgs', - 'bypass', - 'camp', - 'canyon', - 'cape', - 'causeway', - 'center', - 'centers', - 'circle', - 'circles', - 'cliff', - 'cliffs', - 'club', - 'common', - 'corner', - 'corners', - 'course', - 'court', - 'courts', - 'cove', - 'coves', - 'creek', - 'crescent', - 'crest', - 'crossing', - 'crossroad', - 'curve', - 'dale', - 'dam', - 'divide', - 'drive', - 'drive', - 'drives', - 'estate', - 'estates', - 'expressway', - 'extension', - 'extensions', - 'fall', - 'falls', - 'ferry', - 'field', - 'fields', - 'flat', - 'flats', - 'ford', - 'fords', - 'forest', - 'forge', - 'forges', - 'fork', - 'forks', - 'fort', - 'freeway', - 'garden', - 'gardens', - 'gateway', - 'glen', - 'glens', - 'green', - 'greens', - 'grove', - 'groves', - 'harbor', - 'harbors', - 'haven', - 'heights', - 'highway', - 'hill', - 'hills', - 'hollow', - 'inlet', - 'inlet', - 'island', - 'island', - 'islands', - 'islands', - 'isle', - 'isle', - 'junction', - 'junctions', - 'key', - 'keys', - 'knoll', - 'knolls', - 'lake', - 'lakes', - 'land', - 'landing', - 'lane', - 'light', - 'lights', - 'loaf', - 'lock', - 'locks', - 'locks', - 'lodge', - 'lodge', - 'loop', - 'mall', - 'manor', - 'manors', - 'meadow', - 'meadows', - 'mews', - 'mill', - 'mills', - 'mission', - 'mission', - 'motorway', - 'mount', - 'mountain', - 'mountain', - 'mountains', - 'mountains', - 'neck', - 'orchard', - 'oval', - 'overpass', - 'park', - 'parks', - 'parkway', - 'parkways', - 'pass', - 'passage', - 'path', - 'pike', - 'pine', - 'pines', - 'place', - 'plain', - 'plains', - 'plains', - 'plaza', - 'plaza', - 'point', - 'points', - 'port', - 'port', - 'ports', - 'ports', - 'prairie', - 'prairie', - 'radial', - 'ramp', - 'ranch', - 'rapid', - 'rapids', - 'rest', - 'ridge', - 'ridges', - 'river', - 'road', - 'road', - 'roads', - 'roads', - 'route', - 'row', - 'rue', - 'run', - 'shoal', - 'shoals', - 'shore', - 'shores', - 'skyway', - 'spring', - 'springs', - 'springs', - 'spur', - 'spurs', - 'square', - 'square', - 'squares', - 'squares', - 'station', - 'station', - 'stravenue', - 'stravenue', - 'stream', - 'stream', - 'street', - 'street', - 'streets', - 'summit', - 'summit', - 'terrace', - 'throughway', - 'trace', - 'track', - 'trafficway', - 'trail', - 'trail', - 'tunnel', - 'tunnel', - 'turnpike', - 'turnpike', - 'underpass', - 'union', - 'unions', - 'valley', - 'valleys', - 'via', - 'viaduct', - 'view', - 'views', - 'village', - 'village', - 'villages', - 'ville', - 'vista', - 'vista', - 'walk', - 'walks', - 'wall', - 'way', - 'ways', - 'well', - 'wells') + "alley", + "avenue", + "branch", + "bridge", + "brook", + "brooks", + "burg", + "burgs", + "bypass", + "camp", + "canyon", + "cape", + "causeway", + "center", + "centers", + "circle", + "circles", + "cliff", + "cliffs", + "club", + "common", + "corner", + "corners", + "course", + "court", + "courts", + "cove", + "coves", + "creek", + "crescent", + "crest", + "crossing", + "crossroad", + "curve", + "dale", + "dam", + "divide", + "drive", + "drive", + "drives", + "estate", + "estates", + "expressway", + "extension", + "extensions", + "fall", + "falls", + "ferry", + "field", + "fields", + "flat", + "flats", + "ford", + "fords", + "forest", + "forge", + "forges", + "fork", + "forks", + "fort", + "freeway", + "garden", + "gardens", + "gateway", + "glen", + "glens", + "green", + "greens", + "grove", + "groves", + "harbor", + "harbors", + "haven", + "heights", + "highway", + "hill", + "hills", + "hollow", + "inlet", + "inlet", + "island", + "island", + "islands", + "islands", + "isle", + "isle", + "junction", + "junctions", + "key", + "keys", + "knoll", + "knolls", + "lake", + "lakes", + "land", + "landing", + "lane", + "light", + "lights", + "loaf", + "lock", + "locks", + "locks", + "lodge", + "lodge", + "loop", + "mall", + "manor", + "manors", + "meadow", + "meadows", + "mews", + "mill", + "mills", + "mission", + "mission", + "motorway", + "mount", + "mountain", + "mountain", + "mountains", + "mountains", + "neck", + "orchard", + "oval", + "overpass", + "park", + "parks", + "parkway", + "parkways", + "pass", + "passage", + "path", + "pike", + "pine", + "pines", + "place", + "plain", + "plains", + "plains", + "plaza", + "plaza", + "point", + "points", + "port", + "port", + "ports", + "ports", + "prairie", + "prairie", + "radial", + "ramp", + "ranch", + "rapid", + "rapids", + "rest", + "ridge", + "ridges", + "river", + "road", + "road", + "roads", + "roads", + "route", + "row", + "rue", + "run", + "shoal", + "shoals", + "shore", + "shores", + "skyway", + "spring", + "springs", + "springs", + "spur", + "spurs", + "square", + "square", + "squares", + "squares", + "station", + "station", + "stravenue", + "stravenue", + "stream", + "stream", + "street", + "street", + "streets", + "summit", + "summit", + "terrace", + "throughway", + "trace", + "track", + "trafficway", + "trail", + "trail", + "tunnel", + "tunnel", + "turnpike", + "turnpike", + "underpass", + "union", + "unions", + "valley", + "valleys", + "via", + "viaduct", + "view", + "views", + "village", + "village", + "villages", + "ville", + "vista", + "vista", + "walk", + "walks", + "wall", + "way", + "ways", + "well", + "wells", + ) POSTAL_ZONES = ( - 'AB', 'AL', 'B', 'BA', 'BB', 'BD', 'BH', 'BL', 'BN', 'BR', - 'BS', 'BT', 'CA', 'CB', 'CF', 'CH', 'CM', 'CO', 'CR', 'CT', - 'CV', 'CW', 'DA', 'DD', 'DE', 'DG', 'DH', 'DL', 'DN', 'DT', - 'DY', 'E', 'EC', 'EH', 'EN', 'EX', 'FK', 'FY', 'G', 'GL', - 'GY', 'GU', 'HA', 'HD', 'HG', 'HP', 'HR', 'HS', 'HU', 'HX', - 'IG', 'IM', 'IP', 'IV', 'JE', 'KA', 'KT', 'KW', 'KY', 'L', - 'LA', 'LD', 'LE', 'LL', 'LN', 'LS', 'LU', 'M', 'ME', 'MK', - 'ML', 'N', 'NE', 'NG', 'NN', 'NP', 'NR', 'NW', 'OL', 'OX', - 'PA', 'PE', 'PH', 'PL', 'PO', 'PR', 'RG', 'RH', 'RM', 'S', - 'SA', 'SE', 'SG', 'SK', 'SL', 'SM', 'SN', 'SO', 'SP', 'SR', - 'SS', 'ST', 'SW', 'SY', 'TA', 'TD', 'TF', 'TN', 'TQ', 'TR', - 'TS', 'TW', 'UB', 'W', 'WA', 'WC', 'WD', 'WF', 'WN', 'WR', - 'WS', 'WV', 'YO', 'ZE', + "AB", + "AL", + "B", + "BA", + "BB", + "BD", + "BH", + "BL", + "BN", + "BR", + "BS", + "BT", + "CA", + "CB", + "CF", + "CH", + "CM", + "CO", + "CR", + "CT", + "CV", + "CW", + "DA", + "DD", + "DE", + "DG", + "DH", + "DL", + "DN", + "DT", + "DY", + "E", + "EC", + "EH", + "EN", + "EX", + "FK", + "FY", + "G", + "GL", + "GY", + "GU", + "HA", + "HD", + "HG", + "HP", + "HR", + "HS", + "HU", + "HX", + "IG", + "IM", + "IP", + "IV", + "JE", + "KA", + "KT", + "KW", + "KY", + "L", + "LA", + "LD", + "LE", + "LL", + "LN", + "LS", + "LU", + "M", + "ME", + "MK", + "ML", + "N", + "NE", + "NG", + "NN", + "NP", + "NR", + "NW", + "OL", + "OX", + "PA", + "PE", + "PH", + "PL", + "PO", + "PR", + "RG", + "RH", + "RM", + "S", + "SA", + "SE", + "SG", + "SK", + "SL", + "SM", + "SN", + "SO", + "SP", + "SR", + "SS", + "ST", + "SW", + "SY", + "TA", + "TD", + "TF", + "TN", + "TQ", + "TR", + "TS", + "TW", + "UB", + "W", + "WA", + "WC", + "WD", + "WF", + "WN", + "WR", + "WS", + "WV", + "YO", + "ZE", ) POSTAL_ZONES_ONE_CHAR = [zone for zone in POSTAL_ZONES if len(zone) == 1] POSTAL_ZONES_TWO_CHARS = [zone for zone in POSTAL_ZONES if len(zone) == 2] postcode_formats = ( - 'AN NEE', - 'ANN NEE', - 'PN NEE', - 'PNN NEE', - 'ANC NEE', - 'PND NEE', + "AN NEE", + "ANN NEE", + "PN NEE", + "PNN NEE", + "ANC NEE", + "PND NEE", ) - _postcode_sets = OrderedDict(( - (' ', ' '), - ('N', [str(i) for i in range(0, 10)]), - ('A', POSTAL_ZONES_ONE_CHAR), - ('B', 'ABCDEFGHKLMNOPQRSTUVWXY'), - ('C', 'ABCDEFGHJKSTUW'), - ('D', 'ABEHMNPRVWXY'), - ('E', 'ABDEFGHJLNPQRSTUWXYZ'), - ('P', POSTAL_ZONES_TWO_CHARS), - )) + _postcode_sets = OrderedDict( + ( + (" ", " "), + ("N", [str(i) for i in range(0, 10)]), + ("A", POSTAL_ZONES_ONE_CHAR), + ("B", "ABCDEFGHKLMNOPQRSTUVWXY"), + ("C", "ABCDEFGHJKSTUW"), + ("D", "ABEHMNPRVWXY"), + ("E", "ABDEFGHJLNPQRSTUWXYZ"), + ("P", POSTAL_ZONES_TWO_CHARS), + ) + ) city_formats = ( - '{{city_prefix}} {{first_name}}{{city_suffix}}', - '{{city_prefix}} {{first_name}}', - '{{first_name}}{{city_suffix}}', - '{{last_name}}{{city_suffix}}', + "{{city_prefix}} {{first_name}}{{city_suffix}}", + "{{city_prefix}} {{first_name}}", + "{{first_name}}{{city_suffix}}", + "{{last_name}}{{city_suffix}}", ) street_name_formats = ( - '{{first_name}} {{street_suffix}}', - '{{last_name}} {{street_suffix}}', + "{{first_name}} {{street_suffix}}", + "{{last_name}} {{street_suffix}}", ) street_address_formats = ( - '{{building_number}} {{street_name}}', - '{{secondary_address}}\n{{street_name}}', - ) - address_formats = ( - "{{street_address}}\n{{city}}\n{{postcode}}", + "{{building_number}} {{street_name}}", + "{{secondary_address}}\n{{street_name}}", ) + address_formats = ("{{street_address}}\n{{city}}\n{{postcode}}",) secondary_address_formats = ( - 'Flat #', 'Flat ##', 'Flat ##?', 'Studio #', 'Studio ##', 'Studio ##?') + "Flat #", + "Flat ##", + "Flat ##?", + "Studio #", + "Studio ##", + "Studio ##?", + ) - def postcode(self): + def postcode(self) -> str: """ See http://web.archive.org/web/20090930140939/http://www.govtalk.gov.uk/gdsc/html/noframes/PostCode-2-1-Release.htm """ - postcode = '' - pattern = self.random_element(self.postcode_formats) + postcode = "" + pattern: str = self.random_element(self.postcode_formats) for placeholder in pattern: postcode += self.random_element(self._postcode_sets[placeholder]) return postcode - def city_prefix(self): + def city_prefix(self) -> str: return self.random_element(self.city_prefixes) - def secondary_address(self): + def secondary_address(self) -> str: return self.bothify(self.random_element(self.secondary_address_formats)) - def county(self): + def administrative_unit(self) -> str: return self.random_element(self.counties) + + county = administrative_unit diff --git a/faker/providers/address/en_IE/__init__.py b/faker/providers/address/en_IE/__init__.py new file mode 100644 index 0000000000..cc2f68b3e2 --- /dev/null +++ b/faker/providers/address/en_IE/__init__.py @@ -0,0 +1,61 @@ +from collections import OrderedDict + +from ..en import Provider as AddressProvider + + +class Provider(AddressProvider): + counties = ( + "Cork", + "Galway", + "Mayo", + "Donegal", + "Kerry", + "Tipperary", + "Clare", + "Tyrone", + "Antrim", + "Limerick", + "Roscommon", + "Down", + "Meath", + "Londonderry", + "Wexford", + "Kilkenny", + "Offaly", + "Cavan", + "Wicklow", + "Waterford", + "Sligo", + "Laois", + "Westmeath", + "Kildare", + "Leitrim", + "Armagh", + "Fermanagh", + "Monaghan", + "Dublin", + "Louth", + "Longford", + "Carlow", + ) + + _postcode_sets = OrderedDict( + ( + (" ", [" ", ""]), + ("N", [str(i) for i in range(0, 10)]), + ("L", "ACDEFHKNPRTVWXY"), + ("A", "ACDEFHKNPRTVWXY0123456789"), + ) + ) + postcode_pattern: str = "LNN AAAA" + + def postcode(self) -> str: + postcode = "" + for placeholder in self.postcode_pattern: + postcode += self.random_element(self._postcode_sets[placeholder]) + return postcode + + def administrative_unit(self) -> str: + return self.random_element(self.counties) + + county = administrative_unit diff --git a/faker/providers/address/en_IN/__init__.py b/faker/providers/address/en_IN/__init__.py new file mode 100644 index 0000000000..75e6d2960c --- /dev/null +++ b/faker/providers/address/en_IN/__init__.py @@ -0,0 +1,400 @@ +from .. import Provider as AddressProvider + + +class Provider(AddressProvider): + # City and States names taken from wikipedia + # Street format taken from some common famous places in India + # Link for cities: https://en.wikipedia.org/wiki/List_of_cities_in_India_by_population + # Link for States: https://en.wikipedia.org/wiki/States_and_union_territories_of_India + # Links for street name formats: https://www.mumbai77.com/city/3313/travel/old-new-street-names/ + + city_formats = ("{{city_name}}",) + + street_name_formats = ( + "{{last_name}} Nagar", + "{{last_name}} Zila", + "{{last_name}} Street", + "{{last_name}} Ganj", + "{{last_name}} Road", + "{{last_name}} Path", + "{{last_name}} Marg", + "{{last_name}} Chowk", + "{{last_name}} Circle", + "{{last_name}}", + ) + + street_address_formats = ( + "{{building_number}}, {{street_name}}", + "{{building_number}}\n{{street_name}}", + ) + + address_formats = ( + "{{street_address}}\n{{city}} {{postcode}}", + "{{street_address}}\n{{city}}-{{postcode}}", + "{{street_address}}, {{city}} {{postcode}}", + "{{street_address}}, {{city}}-{{postcode}}", + ) + + building_number_formats = ("H.No. ###", "###", "H.No. ##", "##", "##/##", "##/###") + + postcode_formats = ("######",) + + cities = ( + "Mumbai", + "Delhi", + "Kolkata", + "Chennai", + "Bangalore", + "Hyderabad", + "Ahmedabad", + "Kanpur", + "Pune", + "Surat", + "Jaipur", + "Lucknow", + "Nagpur", + "Indore", + "Bhopal", + "Ludhiana", + "Patna", + "Visakhapatnam", + "Vadodara", + "Agra", + "Thane", + "Kalyan-Dombivli", + "Varanasi", + "Ranchi", + "Nashik", + "Dhanbad", + "Faridabad", + "Meerut", + "Pimpri-Chinchwad", + "Howrah", + "Allahabad", + "Ghaziabad", + "Rajkot", + "Amritsar", + "Jabalpur", + "Coimbatore", + "Madurai", + "Srinagar", + "Aurangabad", + "Solapur", + "Vijayawada", + "Jodhpur", + "Gwalior", + "Guwahati", + "Chandigarh", + "Hubli–Dharwad", + "Mysore", + "Tiruchirappalli", + "Bareilly", + "Jalandhar", + "Navi Mumbai", + "Salem", + "Kota", + "Vasai-Virar", + "Aligarh", + "Moradabad", + "Bhubaneswar", + "Gorakhpur", + "Raipur", + "Bhiwandi", + "Kochi", + "Jamshedpur", + "Bhilai", + "Amravati", + "Cuttack", + "Warangal", + "Bikaner", + "Mira-Bhayandar", + "Guntur", + "Bhavnagar", + "Durgapur", + "Kolhapur", + "Ajmer", + "Asansol", + "Ulhasnagar", + "Siliguri", + "Jalgaon", + "Saharanpur", + "Jamnagar", + "Bhatpara", + "Sangli-Miraj & Kupwad", + "Kozhikode", + "Nanded", + "Ujjain", + "Dehradun", + "Rourkela", + "Gulbarga", + "Tirunelveli", + "Malegaon", + "Akola", + "Belgaum", + "Mangalore", + "Bokaro", + "South Dumdum", + "Udaipur", + "Gaya", + "Maheshtala", + "Jhansi", + "Nellore", + "Jammu", + "Thiruvananthapuram", + "Davanagere", + "Kollam", + "Panihati", + "Kurnool", + "Tiruppur", + "Dhule", + "Bhagalpur", + "Rajpur Sonarpur", + "Kakinada", + "Thrissur", + "Bellary", + "Muzaffarnagar", + "Korba", + "Rajahmundry", + "Kamarhati", + "Ambattur", + "Berhampur", + "Ahmednagar", + "Muzaffarpur", + "Noida", + "Patiala", + "Mathura", + "New Delhi", + "Latur", + "Sambalpur", + "Shahjahanpur", + "Kulti", + "Chandrapur", + "Nizamabad", + "Rohtak", + "Bardhaman", + "Rampur", + "Bhilwara", + "Firozabad", + "Bilaspur", + "Shimoga", + "Agartala", + "Gopalpur", + "Darbhanga", + "Panipat", + "Bally", + "Alwar", + "Parbhani", + "Ichalkaranji", + "Anantapuram", + "Baranagar", + "Tumkur", + "Ramagundam", + "Jalna", + "Durg", + "Sagar", + "Bihar Sharif", + "Dewas", + "Barasat", + "Avadi", + "Farrukhabad", + "Aizawl", + "Tirupati", + "Bijapur", + "Satara", + "Satna", + "Ratlam", + "Imphal", + "Pondicherry", + "North Dumdum", + "Anantapur", + "Khammam", + "Ozhukarai", + "Bathinda", + "Thoothukudi", + "Thanjavur", + "Naihati", + "Sonipat", + "Mau", + "Tiruvottiyur", + "Hapur", + "Sri Ganganagar", + "Karnal", + "Etawah", + "Nagercoil", + "Raichur", + "Raurkela Industrial Township", + "Secunderabad", + "Karimnagar", + "Mirzapur", + "Bharatpur", + "Ambarnath", + "Arrah", + "Uluberia", + "Serampore", + "Dindigul", + "Gandhinagar", + "Burhanpur", + "Nadiad", + "Eluru", + "Yamunanagar", + "Kharagpur", + "Munger", + "Pali", + "Katni", + "Singrauli", + "Tenali", + "Sikar", + "Silchar", + "Rewa", + "Sambhal", + "Machilipatnam", + "Vellore", + "Alappuzha", + "Bulandshahr", + "Haridwar", + "Vijayanagaram", + "Erode", + "Gurgaon", + "Bidar", + "Bhusawal", + "Khandwa", + "Purnia", + "Haldia", + "Chinsurah", + "Bhiwani", + "Raebareli", + "Junagadh", + "Bahraich", + "Gandhidham", + "Mango", + "Raiganj", + "Amroha", + "Sultan Pur Majra", + "Hospet", + "Bidhannagar", + "Malda", + "Sirsa", + "Berhampore", + "Jaunpur", + "Surendranagar Dudhrej", + "Madhyamgram", + "Kirari Suleman Nagar", + "Bhind", + "Nandyal", + "Chittoor", + "Bhalswa Jahangir Pur", + "Fatehpur", + "Morena", + "Nangloi Jat", + "Ongole", + "Karawal Nagar", + "Shivpuri", + "Morbi", + "Unnao", + "Pallavaram", + "Kumbakonam", + "Shimla", + "Mehsana", + "Panchkula", + "Orai", + "Ambala", + "Dibrugarh", + "Guna", + "Danapur", + "Sasaram", + "Anand", + "Kottayam", + "Hazaribagh", + "Kadapa", + "Saharsa", + "Nagaon", + "Loni", + "Hajipur", + "Dehri", + "Bettiah", + "Katihar", + "Deoghar", + "Jorhat", + "Siwan", + "Panvel", + "Hosur", + "Tinsukia", + "Bongaigaon", + "Motihari", + "Jamalpur", + "Suryapet", + "Begusarai", + "Miryalaguda", + "Proddatur", + "Karaikudi", + "Kishanganj", + "Phusro", + "Buxar", + "Tezpur", + "Jehanabad", + "Aurangabad", + "Chapra", + "Ramgarh", + "Gangtok", + "Adoni", + "Amaravati", + "Ballia", + "Bhimavaram", + "Dharmavaram", + "Giridih", + "Gudivada", + "Guntakal", + "Hindupur", + "Kavali", + "Khora ", + "Ghaziabad", + "Madanapalle", + "Mahbubnagar", + "Medininagar", + "Narasaraopet", + "Phagwara", + "Pudukkottai", + "Srikakulam", + "Tadepalligudem", + "Tadipatri", + "Udupi", + ) + + states = ( + "Andhra Pradesh", + "Arunachal Pradesh", + "Assam", + "Bihar", + "Chhattisgarh", + "Goa", + "Gujarat", + "Haryana", + "Himachal Pradesh", + "Jharkhand", + "Karnataka", + "Kerala", + "Madhya Pradesh", + "Maharashtra", + "Manipur", + "Meghalaya", + "Mizoram", + "Nagaland", + "Odisha", + "Punjab", + "Rajasthan", + "Sikkim", + "Tamil Nadu", + "Telangana", + "Tripura", + "Uttar Pradesh", + "Uttarakhand", + "West Bengal", + ) + + def city_name(self) -> str: + return self.random_element(self.cities) + + def administrative_unit(self) -> str: + return self.random_element(self.states) + + state = administrative_unit diff --git a/faker/providers/address/en_NZ/__init__.py b/faker/providers/address/en_NZ/__init__.py index 60e92b116d..be6ad00961 100644 --- a/faker/providers/address/en_NZ/__init__.py +++ b/faker/providers/address/en_NZ/__init__.py @@ -4,249 +4,337 @@ class Provider(AddressProvider): city_prefixes = ( - 'North', - 'East', - 'West', - 'South', - 'New', - 'Lake', - 'Port', - 'Upper', - 'Lower', - 'High', - 'Mount', + "North", + "East", + "West", + "South", + "New", + "Lake", + "Port", + "Upper", + "Lower", + "High", + "Mount", ) city_suffixes = ( - 'town', 'ton', 'land', 'ville', 'berg', 'burgh', - 'borough', 'bury', 'burn', 'ing', 'port', 'mouth', 'stone', 'ings' - 'mouth', 'fort', 'haven', 'leigh', 'side', 'gate', 'neath', 'side', - ' Flats', ' Hill', + "town", + "ton", + "land", + "ville", + "berg", + "burgh", + "borough", + "bury", + "burn", + "ing", + "port", + "mouth", + "stone", + "ings" "mouth", + "fort", + "haven", + "leigh", + "side", + "gate", + "neath", + "side", + " Flats", + " Hill", ) - building_number_formats = ('%##', '%#', '%') + building_number_formats = ("%##", "%#", "%") street_suffixes = ( # Most common: - 'Arcade', 'Arcade', 'Arcade', - 'Avenue', 'Avenue', 'Avenue', 'Avenue', - 'Avenue', 'Avenue', 'Avenue', 'Avenue', - 'Beach Road', 'Beach Road', 'Beach Road', 'Beach Road', - 'Crescent', 'Crescent', 'Crescent', 'Crescent', 'Crescent', - 'Drive', 'Drive', 'Drive', 'Drive', - 'Mews', 'Mews', 'Mews', - 'Place', 'Place', 'Place', 'Place', - 'Range Road', 'Range Road', - 'Road', 'Road', 'Road', 'Road', 'Road', 'Road', 'Road', 'Road', 'Road', - 'Street', 'Street', 'Street', 'Street', 'Street', 'Street', 'Street', - 'Street', 'Street', 'Street', 'Street', 'Street', 'Street', 'Street', - 'Street', 'Street', 'Street', 'Street', 'Street', 'Street', 'Street', - 'Terrace', 'Terrace', 'Terrace', - 'Way', 'Way', 'Way', - + "Arcade", + "Arcade", + "Arcade", + "Avenue", + "Avenue", + "Avenue", + "Avenue", + "Avenue", + "Avenue", + "Avenue", + "Avenue", + "Beach Road", + "Beach Road", + "Beach Road", + "Beach Road", + "Crescent", + "Crescent", + "Crescent", + "Crescent", + "Crescent", + "Drive", + "Drive", + "Drive", + "Drive", + "Mews", + "Mews", + "Mews", + "Place", + "Place", + "Place", + "Place", + "Range Road", + "Range Road", + "Road", + "Road", + "Road", + "Road", + "Road", + "Road", + "Road", + "Road", + "Road", + "Street", + "Street", + "Street", + "Street", + "Street", + "Street", + "Street", + "Street", + "Street", + "Street", + "Street", + "Street", + "Street", + "Street", + "Street", + "Street", + "Street", + "Street", + "Street", + "Street", + "Street", + "Terrace", + "Terrace", + "Terrace", + "Way", + "Way", + "Way", # Other: - 'Access', 'Alley', 'Alleyway', 'Amble', 'Anchorage', 'Approach', - 'Broadway', 'Bypass', 'Causeway', 'Centre', - 'Circle', 'Circuit', 'Close', 'Concourse', 'Copse', 'Corner', 'Court', - 'Cove', - 'Crest', 'Cross', 'Crossing', - 'Cutting', - 'Esplanade', - 'Flats', - 'Gardens', 'Grove', 'Heights', 'Highway', - 'Lane', 'Line', 'Keys', - 'Parade', 'Park', 'Pass', - 'Plaza', - 'Point', 'Quay', - 'Reserve', - 'Ridge', - 'Rise', - 'Square', - 'Track', 'Trail', - 'View', + "Access", + "Alley", + "Alleyway", + "Amble", + "Anchorage", + "Approach", + "Broadway", + "Bypass", + "Causeway", + "Centre", + "Circle", + "Circuit", + "Close", + "Concourse", + "Copse", + "Corner", + "Court", + "Cove", + "Crest", + "Cross", + "Crossing", + "Cutting", + "Esplanade", + "Flats", + "Gardens", + "Grove", + "Heights", + "Highway", + "Lane", + "Line", + "Keys", + "Parade", + "Park", + "Pass", + "Plaza", + "Point", + "Quay", + "Reserve", + "Ridge", + "Rise", + "Square", + "Track", + "Trail", + "View", ) # Māori nouns commonly present in placenames. te_reo_parts = ( - 'ara', - 'awa', - 'horo', - 'kawa', - 'koro', - 'kowhai', - 'manawa', - 'mata', - 'maunga', - 'moko', - 'motu', - 'ngauru', - 'pa' - 'papa', - 'po', - 'puke', - 'rangi', - 'rohe', - 'rongo', - 'roto', - 'tahi', - 'tai', - 'tangi', - 'tau', - 'tere', - 'tipu', - 'wai', - 'waka', - 'whaka', - 'whanga', - 'whare', - 'weka', + "ara", + "awa", + "horo", + "kawa", + "koro", + "kowhai", + "manawa", + "mata", + "maunga", + "moko", + "motu", + "ngauru", + "pa" "papa", + "po", + "puke", + "rangi", + "rohe", + "rongo", + "roto", + "tahi", + "tai", + "tangi", + "tau", + "tere", + "tipu", + "wai", + "waka", + "whaka", + "whanga", + "whare", + "weka", ) # Māori endings (usually adjectives) commonly present in placenames. te_reo_endings = ( - 'hanga', - 'hope', - 'iti', - 'iti', - 'kiwi', - 'makau', - 'nui', - 'nui', - 'nui', - 'nuku', - 'roa', - 'rua', - 'tanga', - 'tapu', - 'toa', - 'whenua', - 'whero', - 'whitu', + "hanga", + "hope", + "iti", + "iti", + "kiwi", + "makau", + "nui", + "nui", + "nui", + "nuku", + "roa", + "rua", + "tanga", + "tapu", + "toa", + "whenua", + "whero", + "whitu", ) postcode_formats = ( # as per https://en.wikipedia.org/wiki/Postcodes_in_New_Zealand # Northland - '0%##', + "0%##", # Auckland - '1###', - '20##', - '21##', - '22##', - '23##', - '24##', - '25##', - '26##', + "1###", + "20##", + "21##", + "22##", + "23##", + "24##", + "25##", + "26##", # Central North Island - '3###', - '4###', + "3###", + "4###", # Lower North Island - '50##', - '51##', - '52##', - '53##', - '55##', - '57##', - '58##', + "50##", + "51##", + "52##", + "53##", + "55##", + "57##", + "58##", # Wellington - '60##', - '61##', - '62##', - '64##', - '69##', + "60##", + "61##", + "62##", + "64##", + "69##", # Upper South Island - '7###', + "7###", # Christchurch - '80##', - '81##', - '82##', - '84##', - '85##', - '86##', - '88##', - '89##', + "80##", + "81##", + "82##", + "84##", + "85##", + "86##", + "88##", + "89##", # Southland - '90##', - '92##', - '93##', - '94##', - '95##', - '96##', - '97##', - '98##', + "90##", + "92##", + "93##", + "94##", + "95##", + "96##", + "97##", + "98##", ) city_formats = ( - '{{first_name}}{{city_suffix}}', - '{{last_name}}{{city_suffix}}', - '{{last_name}}{{city_suffix}}', - '{{last_name}}{{city_suffix}}', - '{{last_name}}{{city_suffix}}', - '{{last_name}}{{city_suffix}}', - '{{city_prefix}} {{last_name}}{{city_suffix}}', - '{{te_reo_first}}{{te_reo_ending}}', - '{{te_reo_first}}{{te_reo_ending}}', - '{{te_reo_first}}{{te_reo_ending}}', - '{{te_reo_first}}{{te_reo_ending}}', - '{{te_reo_first}}{{te_reo_part}}{{te_reo_ending}}', - '{{te_reo_first}}{{te_reo_part}}{{te_reo_ending}}', + "{{first_name}}{{city_suffix}}", + "{{last_name}}{{city_suffix}}", + "{{last_name}}{{city_suffix}}", + "{{last_name}}{{city_suffix}}", + "{{last_name}}{{city_suffix}}", + "{{last_name}}{{city_suffix}}", + "{{city_prefix}} {{last_name}}{{city_suffix}}", + "{{te_reo_first}}{{te_reo_ending}}", + "{{te_reo_first}}{{te_reo_ending}}", + "{{te_reo_first}}{{te_reo_ending}}", + "{{te_reo_first}}{{te_reo_ending}}", + "{{te_reo_first}}{{te_reo_part}}{{te_reo_ending}}", + "{{te_reo_first}}{{te_reo_part}}{{te_reo_ending}}", ) street_name_formats = ( - '{{first_name}} {{street_suffix}}', - '{{last_name}} {{street_suffix}}', - '{{last_name}} {{street_suffix}}', - '{{last_name}} {{street_suffix}}', - '{{last_name}}-{{last_name}} {{street_suffix}}', - '{{te_reo_first}}{{te_reo_ending}} {{street_suffix}}', - '{{te_reo_first}}{{te_reo_ending}} {{street_suffix}}', - '{{te_reo_first}}{{te_reo_part}}{{te_reo_ending}} {{street_suffix}}', + "{{first_name}} {{street_suffix}}", + "{{last_name}} {{street_suffix}}", + "{{last_name}} {{street_suffix}}", + "{{last_name}} {{street_suffix}}", + "{{last_name}}-{{last_name}} {{street_suffix}}", + "{{te_reo_first}}{{te_reo_ending}} {{street_suffix}}", + "{{te_reo_first}}{{te_reo_ending}} {{street_suffix}}", + "{{te_reo_first}}{{te_reo_part}}{{te_reo_ending}} {{street_suffix}}", ) street_address_formats = ( - '{{building_number}} {{street_name}}', - '{{building_number}} {{street_name}}', - '{{building_number}} {{street_name}}', - '{{building_number}} {{street_name}}\nRD {{rd_number}}', - '{{secondary_address}}\n{{building_number}} {{street_name}}', - 'PO Box {{building_number}}', + "{{building_number}} {{street_name}}", + "{{building_number}} {{street_name}}", + "{{building_number}} {{street_name}}", + "{{building_number}} {{street_name}}\nRD {{rd_number}}", + "{{secondary_address}}\n{{building_number}} {{street_name}}", + "PO Box {{building_number}}", ) - address_formats = ( - "{{street_address}}\n{{city}} {{postcode}}", - ) + address_formats = ("{{street_address}}\n{{city}} {{postcode}}",) secondary_address_formats = ( - 'Apt. %##', - 'Flat %#', - 'Suite %##', - 'Unit %#', - 'Level %', + "Apt. %##", + "Flat %#", + "Suite %##", + "Unit %#", + "Level %", ) - def state(self): - # New Zealand does not have states. - return '' - - def te_reo_part(self): + def te_reo_part(self) -> str: return self.random_element(self.te_reo_parts) - def te_reo_first(self): - return self.random_element(self.te_reo_parts).capitalize() + def te_reo_first(self) -> str: + return str(self.random_element(self.te_reo_parts)).capitalize() - def te_reo_ending(self): + def te_reo_ending(self) -> str: return self.random_element(self.te_reo_parts + self.te_reo_endings) - def city_prefix(self): + def city_prefix(self) -> str: return self.random_element(self.city_prefixes) - def city_suffix(self): + def city_suffix(self) -> str: return self.random_element(self.city_suffixes) - def rd_number(self): + def rd_number(self) -> str: return self.random_element([str(i) for i in range(1, 11)]) - def secondary_address(self): - return self.numerify( - self.random_element( - self.secondary_address_formats)) + def secondary_address(self) -> str: + return self.numerify(self.random_element(self.secondary_address_formats)) diff --git a/faker/providers/address/en_PH/__init__.py b/faker/providers/address/en_PH/__init__.py index b87cc67dfa..e097a45515 100644 --- a/faker/providers/address/en_PH/__init__.py +++ b/faker/providers/address/en_PH/__init__.py @@ -1,5 +1,6 @@ from collections import OrderedDict from string import ascii_uppercase +from typing import Sequence, Tuple, Union from .. import Provider as AddressProvider @@ -49,426 +50,1749 @@ class Provider(AddressProvider): """ metro_manila_postcodes = tuple(x for x in range(400, 1849)) - luzon_province_postcodes = ( - tuple(x for x in range(1850, 5000)) - + tuple(x for x in range(5100, 5600)) - ) + luzon_province_postcodes = tuple(x for x in range(1850, 5000)) + tuple(x for x in range(5100, 5600)) visayas_province_postcodes = ( - tuple(x for x in range(5000, 5100)) - + tuple(x for x in range(5600, 5800)) - + tuple(x for x in range(6000, 6900)) + tuple(x for x in range(5000, 5100)) + tuple(x for x in range(5600, 5800)) + tuple(x for x in range(6000, 6900)) ) mindanao_province_postcodes = ( - tuple(x for x in range(7000, 7600)) - + tuple(x for x in range(8000, 8900)) - + tuple(x for x in range(9000, 9900)) + tuple(x for x in range(7000, 7600)) + tuple(x for x in range(8000, 8900)) + tuple(x for x in range(9000, 9900)) ) postcodes = ( - metro_manila_postcodes - + luzon_province_postcodes - + visayas_province_postcodes - + mindanao_province_postcodes + metro_manila_postcodes + luzon_province_postcodes + visayas_province_postcodes + mindanao_province_postcodes ) metro_manila_lgus = ( - 'Caloocan', 'Las Piñas', 'Makati', 'Malabon', 'Mandaluyong', 'Manila', 'Marikina', 'Muntinlupa', 'Navotas', - 'Parañaque', 'Pasay', 'Pasig', 'Pateros', 'Quezon City', 'San Juan', 'Taguig', 'Valenzuela', + "Caloocan", + "Las Piñas", + "Makati", + "Malabon", + "Mandaluyong", + "Manila", + "Marikina", + "Muntinlupa", + "Navotas", + "Parañaque", + "Pasay", + "Pasig", + "Pateros", + "Quezon City", + "San Juan", + "Taguig", + "Valenzuela", ) province_lgus = ( - 'Aborlan', 'Abra de Ilog', 'Abucay', 'Abulug', 'Abuyog', 'Adams', 'Agdangan', 'Aglipay', 'Agno', 'Agoncillo', - 'Agoo', 'Aguilar', 'Aguinaldo', 'Agutaya', 'Ajuy', 'Akbar', 'Al-Barka', 'Alabat', 'Alabel', 'Alamada', - 'Alaminos', 'Alangalang', 'Albuera', 'Alburquerque', 'Alcala', 'Alcantara', 'Alcoy', 'Alegria', 'Aleosan', - 'Alfonso Castañeda', 'Alfonso Lista', 'Alfonso', 'Aliaga', 'Alicia', 'Alilem', 'Alimodian', 'Alitagtag', - 'Allacapan', 'Allen', 'Almagro', 'Almeria', 'Aloguinsan', 'Aloran', 'Altavas', 'Alubijid', 'Amadeo', - 'Amai Manabilang', 'Ambaguio', 'Amlan', 'Ampatuan', 'Amulung', 'Anahawan', 'Anao', 'Anda', 'Angadanan', 'Angat', - 'Angeles', 'Angono', 'Anilao', 'Anini-y', 'Antequera', 'Antipas', 'Antipolo', 'Apalit', 'Aparri', 'Araceli', - 'Arakan', 'Arayat', 'Argao', 'Aringay', 'Aritao', 'Aroroy', 'Arteche', 'Asingan', 'Asipulo', 'Asturias', - 'Asuncion', 'Atimonan', 'Atok', 'Aurora', 'Ayungon', 'Baao', 'Babatngon', 'Bacacay', 'Bacarra', 'Baclayon', - 'Bacnotan', 'Baco', 'Bacolod-Kalawi', 'Bacolod', 'Bacolor', 'Bacong', 'Bacoor', 'Bacuag', 'Badian', 'Badiangan', - 'Badoc', 'Bagabag', 'Bagac', 'Bagamanoc', 'Baganga', 'Baggao', 'Bago', 'Baguio', 'Bagulin', 'Bagumbayan', - 'Bais', 'Bakun', 'Balabac', 'Balabagan', 'Balagtas', 'Balamban', 'Balanga', 'Balangiga', 'Balangkayan', - 'Balaoan', 'Balasan', 'Balatan', 'Balayan', 'Balbalan', 'Baleno', 'Baler', 'Balete', 'Baliangao', 'Baliguian', - 'Balilihan', 'Balindong', 'Balingasag', 'Balingoan', 'Baliuag', 'Ballesteros', 'Baloi', 'Balud', 'Balungao', - 'Bamban', 'Bambang', 'Banate', 'Banaue', 'Banaybanay', 'Banayoyo', 'Banga', 'Bangar', 'Bangued', 'Bangui', - 'Banguingui', 'Bani', 'Banisilan', 'Banna', 'Bansalan', 'Bansud', 'Bantay', 'Bantayan', 'Banton', 'Baras', - 'Barbaza', 'Barcelona', 'Barili', 'Barira', 'Barlig', 'Barobo', 'Barotac Nuevo', 'Barotac Viejo', 'Baroy', - 'Barugo', 'Basay', 'Basco', 'Basey', 'Basilisa', 'Basista', 'Basud', 'Batac', 'Batad', 'Batan', 'Batangas City', - 'Bataraza', 'Bato', 'Batuan', 'Bauan', 'Bauang', 'Bauko', 'Baungon', 'Bautista', 'Bay', 'Bayabas', 'Bayambang', - 'Bayang', 'Bayawan', 'Baybay', 'Bayog', 'Bayombong', 'Bayugan', 'Belison', 'Benito Soliven', 'Besao', - 'Bien Unido', 'Bilar', 'Biliran', 'Binalbagan', 'Binalonan', 'Biñan', 'Binangonan', 'Bindoy', 'Bingawan', - 'Binidayan', 'Binmaley', 'Binuangan', 'Biri', 'Bislig', 'Boac', 'Bobon', 'Bocaue', 'Bogo', 'Bokod', 'Bolinao', - 'Boliney', 'Boljoon', 'Bombon', 'Bongabon', 'Bongabong', 'Bongao', 'Bonifacio', 'Bontoc', 'Borbon', 'Borongan', - 'Boston', 'Botolan', 'Braulio E. Dujali', "Brooke's Point", 'Buadiposo-Buntong', 'Bubong', 'Bucay', 'Bucloc', - 'Buenavista', 'Bugallon', 'Bugasong', 'Buguey', 'Buguias', 'Buhi', 'Bula', 'Bulakan', 'Bulalacao', 'Bulan', - 'Buldon', 'Buluan', 'Bulusan', 'Bunawan', 'Burauen', 'Burdeos', 'Burgos', 'Buruanga', 'Bustos', 'Busuanga', - 'Butig', 'Butuan', 'Buug', 'Caba', 'Cabadbaran', 'Cabagan', 'Cabanatuan', 'Cabangan', 'Cabanglasan', - 'Cabarroguis', 'Cabatuan', 'Cabiao', 'Cabucgayan', 'Cabugao', 'Cabusao', 'Cabuyao', 'Cadiz', 'Cagayan de Oro', - 'Cagayancillo', 'Cagdianao', 'Cagwait', 'Caibiran', 'Cainta', 'Cajidiocan', 'Calabanga', 'Calaca', 'Calamba', - 'Calanasan', 'Calanogas', 'Calapan', 'Calape', 'Calasiao', 'Calatagan', 'Calatrava', 'Calauag', 'Calauan', - 'Calayan', 'Calbayog', 'Calbiga', 'Calinog', 'Calintaan', 'Calubian', 'Calumpit', 'Caluya', 'Camalaniugan', - 'Camalig', 'Camaligan', 'Camiling', 'Can-avid', 'Canaman', 'Candaba', 'Candelaria', 'Candijay', 'Candon', - 'Candoni', 'Canlaon', 'Cantilan', 'Caoayan', 'Capalonga', 'Capas', 'Capoocan', 'Capul', 'Caraga', 'Caramoan', - 'Caramoran', 'Carasi', 'Carcar', 'Cardona', 'Carigara', 'Carles', 'Carmen', 'Carmona', 'Carranglan', - 'Carrascal', 'Casiguran', 'Castilla', 'Castillejos', 'Cataingan', 'Catanauan', 'Catarman', 'Catbalogan', - 'Cateel', 'Catigbian', 'Catmon', 'Catubig', 'Cauayan', 'Cavinti', 'Cavite City', 'Cawayan', 'Cebu City', - 'Cervantes', 'Clarin', 'Claver', 'Claveria', 'Columbio', 'Compostela', 'Concepcion', 'Conner', 'Consolacion', - 'Corcuera', 'Cordon', 'Cordova', 'Corella', 'Coron', 'Cortes', 'Cotabato City', 'Cuartero', 'Cuenca', 'Culaba', - 'Culasi', 'Culion', 'Currimao', 'Cuyapo', 'Cuyo', 'Daanbantayan', 'Daet', 'Dagami', 'Dagohoy', 'Daguioman', - 'Dagupan', 'Dalaguete', 'Damulog', 'Danao', 'Dangcagan', 'Danglas', 'Dao', 'Dapa', 'Dapitan', 'Daraga', 'Daram', - 'Dasmariñas', 'Dasol', 'Datu Abdullah Sangki', 'Datu Anggal Midtimbang', 'Datu Blah T. Sinsuat', - 'Datu Hoffer Ampatuan', 'Datu Montawal', 'Datu Odin Sinsuat', 'Datu Paglas', 'Datu Piang', 'Datu Salibo', - 'Datu Saudi-Ampatuan', 'Datu Unsay', 'Dauin', 'Dauis', 'Davao City', 'Del Carmen', 'Del Gallego', - 'Delfin Albano', 'Diadi', 'Diffun', 'Digos', 'Dilasag', 'Dimasalang', 'Dimataling', 'Dimiao', 'Dinagat', - 'Dinalungan', 'Dinalupihan', 'Dinapigue', 'Dinas', 'Dingalan', 'Dingle', 'Dingras', 'Dipaculao', 'Diplahan', - 'Dipolog', 'Ditsaan-Ramain', 'Divilacan', 'Dolores', 'Don Carlos', 'Don Marcelino', 'Don Victoriano Chiongbian', - 'Doña Remedios Trinidad', 'Donsol', 'Dueñas', 'Duero', 'Dulag', 'Dumaguete', 'Dumalag', 'Dumalinao', 'Dumalneg', - 'Dumangas', 'Dumanjug', 'Dumaran', 'Dumarao', 'Dumingag', 'Dupax del Norte', 'Dupax del Sur', 'Echague', - 'El Nido', 'El Salvador', 'Enrile', 'Enrique B. Magalona', 'Enrique Villanueva', 'Escalante', 'Esperanza', - 'Estancia', 'Famy', 'Ferrol', 'Flora', 'Floridablanca', 'Gabaldon', 'Gainza', 'Galimuyod', 'Gamay', 'Gamu', - 'Ganassi', 'Gandara', 'Gapan', 'Garchitorena', 'Garcia Hernandez', 'Gasan', 'Gattaran', - 'General Emilio Aguinaldo', 'General Luna', 'General MacArthur', 'General Mamerto Natividad', - 'General Mariano Alvarez', 'General Nakar', 'General Salipada K. Pendatun', 'General Santos', 'General Tinio', - 'General Trias', 'Gerona', 'Getafe', 'Gigaquit', 'Gigmoto', 'Ginatilan', 'Gingoog', 'Giporlos', 'Gitagum', - 'Glan', 'Gloria', 'Goa', 'Godod', 'Gonzaga', 'Governor Generoso', 'Gregorio del Pilar', 'Guagua', 'Gubat', - 'Guiguinto', 'Guihulngan', 'Guimba', 'Guimbal', 'Guinayangan', 'Guindulman', 'Guindulungan', 'Guinobatan', - 'Guinsiliban', 'Guipos', 'Guiuan', 'Gumaca', 'Gutalac', 'Hadji Mohammad Ajul', 'Hadji Muhtamad', - 'Hadji Panglima Tahil', 'Hagonoy', 'Hamtic', 'Hermosa', 'Hernani', 'Hilongos', 'Himamaylan', 'Hinabangan', - 'Hinatuan', 'Hindang', 'Hingyon', 'Hinigaran', 'Hinoba-an', 'Hinunangan', 'Hinundayan', 'Hungduan', 'Iba', - 'Ibaan', 'Ibajay', 'Igbaras', 'Iguig', 'Ilagan', 'Iligan', 'Ilog', 'Iloilo City', 'Imelda', 'Impasugong', - 'Imus', 'Inabanga', 'Indanan', 'Indang', 'Infanta', 'Initao', 'Inopacan', 'Ipil', 'Iriga', 'Irosin', 'Isabel', - 'Isabela City', 'Isabela', 'Isulan', 'Itbayat', 'Itogon', 'Ivana', 'Ivisan', 'Jabonga', 'Jaen', 'Jagna', - 'Jalajala', 'Jamindan', 'Janiuay', 'Jaro', 'Jasaan', 'Javier', 'Jiabong', 'Jimalalud', 'Jimenez', 'Jipapad', - 'Jolo', 'Jomalig', 'Jones', 'Jordan', 'Jose Abad Santos', 'Jose Dalman', 'Jose Panganiban', 'Josefina', - 'Jovellar', 'Juban', 'Julita', 'Kabacan', 'Kabankalan', 'Kabasalan', 'Kabayan', 'Kabugao', 'Kabuntalan', - 'Kadingilan', 'Kalamansig', 'Kalawit', 'Kalayaan', 'Kalibo', 'Kalilangan', 'Kalingalan Caluang', 'Kananga', - 'Kapai', 'Kapalong', 'Kapangan', 'Kapatagan', 'Kasibu', 'Katipunan', 'Kauswagan', 'Kawayan', 'Kawit', 'Kayapa', - 'Kiamba', 'Kiangan', 'Kibawe', 'Kiblawan', 'Kibungan', 'Kidapawan', 'Kinoguitan', 'Kitaotao', 'Kitcharao', - 'Kolambugan', 'Koronadal', 'Kumalarang', 'La Carlota', 'La Castellana', 'La Libertad', 'La Paz', 'La Trinidad', - 'Laak', 'Labangan', 'Labason', 'Labo', 'Labrador', 'Lacub', 'Lagangilang', 'Lagawe', 'Lagayan', 'Lagonglong', - 'Lagonoy', 'Laguindingan', 'Lake Sebu', 'Lakewood', 'Lal-lo', 'Lala', 'Lambayong', 'Lambunao', 'Lamitan', - 'Lamut', 'Langiden', 'Languyan', 'Lantapan', 'Lantawan', 'Lanuza', 'Laoac', 'Laoag', 'Laoang', 'Lapinig', - 'Lapu-Lapu', 'Lapuyan', 'Larena', 'Las Navas', 'Las Nieves', 'Lasam', 'Laua-an', 'Laur', 'Laurel', 'Lavezares', - 'Lawaan', 'Lazi', 'Lebak', 'Leganes', 'Legazpi', 'Lemery', 'Leon B. Postigo', 'Leon', 'Leyte', 'Lezo', 'Lian', - 'Lianga', 'Libacao', 'Libagon', 'Libertad', 'Libjo', 'Libmanan', 'Libon', 'Libona', 'Libungan', 'Licab', - 'Licuan-Baay', 'Lidlidda', 'Ligao', 'Lila', 'Liliw', 'Liloan', 'Liloy', 'Limasawa', 'Limay', 'Linamon', - 'Linapacan', 'Lingayen', 'Lingig', 'Lipa', 'Llanera', 'Llorente', 'Loay', 'Lobo', 'Loboc', 'Looc', 'Loon', - 'Lope de Vega', 'Lopez Jaena', 'Lopez', 'Loreto', 'Los Baños', 'Luba', 'Lubang', 'Lubao', 'Lubuagan', 'Lucban', - 'Lucena', 'Lugait', 'Lugus', 'Luisiana', 'Lumba-Bayabao', 'Lumbaca-Unayan', 'Lumban', 'Lumbatan', - 'Lumbayanague', 'Luna', 'Lupao', 'Lupi', 'Lupon', 'Lutayan', 'Luuk', "M'lang", 'Maasim', 'Maasin', 'Maayon', - 'Mabalacat', 'Mabinay', 'Mabini', 'Mabitac', 'Mabuhay', 'Macabebe', 'Macalelon', 'MacArthur', 'Maco', - 'Maconacon', 'Macrohon', 'Madalag', 'Madalum', 'Madamba', 'Maddela', 'Madrid', 'Madridejos', 'Magalang', - 'Magallanes', 'Magarao', 'Magdalena', 'Magdiwang', 'Magpet', 'Magsaysay', 'Magsingal', 'Maguing', 'Mahaplag', - 'Mahatao', 'Mahayag', 'Mahinog', 'Maigo', 'Maimbung', 'Mainit', 'Maitum', 'Majayjay', 'Makato', 'Makilala', - 'Malabang', 'Malabuyoc', 'Malalag', 'Malangas', 'Malapatan', 'Malasiqui', 'Malay', 'Malaybalay', 'Malibcong', - 'Malilipot', 'Malimono', 'Malinao', 'Malita', 'Malitbog', 'Mallig', 'Malolos', 'Malungon', 'Maluso', 'Malvar', - 'Mamasapano', 'Mambajao', 'Mamburao', 'Mambusao', 'Manabo', 'Manaoag', 'Manapla', 'Manay', 'Mandaon', 'Mandaue', - 'Mangaldan', 'Mangatarem', 'Mangudadatu', 'Manito', 'Manjuyod', 'Mankayan', 'Manolo Fortich', 'Mansalay', - 'Manticao', 'Manukan', 'Mapanas', 'Mapandan', 'Mapun', 'Marabut', 'Maragondon', 'Maragusan', 'Maramag', - 'Marantao', 'Marawi', 'Marcos', 'Margosatubig', 'Maria Aurora', 'Maria', 'Maribojoc', 'Marihatag', 'Marilao', - 'Maripipi', 'Mariveles', 'Marogong', 'Masantol', 'Masbate City', 'Masinloc', 'Masiu', 'Maslog', 'Mataasnakahoy', - 'Matag-ob', 'Matalam', 'Matalom', 'Matanao', 'Matanog', 'Mati', 'Matnog', 'Matuguinao', 'Matungao', 'Mauban', - 'Mawab', 'Mayantoc', 'Maydolong', 'Mayorga', 'Mayoyao', 'Medellin', 'Medina', 'Mendez', 'Mercedes', 'Merida', - 'Mexico', 'Meycauayan', 'Miagao', 'Midsalip', 'Midsayap', 'Milagros', 'Milaor', 'Mina', 'Minalabac', 'Minalin', - 'Minglanilla', 'Moalboal', 'Mobo', 'Mogpog', 'Moises Padilla', 'Molave', 'Moncada', 'Mondragon', 'Monkayo', - 'Monreal', 'Montevista', 'Morong', 'Motiong', 'Mulanay', 'Mulondo', 'Munai', 'Muñoz', 'Murcia', 'Mutia', - 'Naawan', 'Nabas', 'Nabua', 'Nabunturan', 'Naga', 'Nagbukel', 'Nagcarlan', 'Nagtipunan', 'Naguilian', 'Naic', - 'Nampicuan', 'Narra', 'Narvacan', 'Nasipit', 'Nasugbu', 'Natividad', 'Natonin', 'Naujan', 'Naval', 'New Bataan', - 'New Corella', 'New Lucena', 'New Washington', 'Norala', 'Northern Kabuntalan', 'Norzagaray', 'Noveleta', - 'Nueva Era', 'Nueva Valencia', 'Numancia', 'Nunungan', 'Oas', 'Obando', 'Ocampo', 'Odiongan', 'Old Panamao', - 'Olongapo', 'Olutanga', 'Omar', 'Opol', 'Orani', 'Oras', 'Orion', 'Ormoc', 'Oroquieta', 'Oslob', 'Oton', - 'Ozamiz', 'Padada', 'Padre Burgos', 'Padre Garcia', 'Paete', 'Pagadian', 'Pagalungan', 'Pagayawan', 'Pagbilao', - 'Paglat', 'Pagsanghan', 'Pagsanjan', 'Pagudpud', 'Pakil', 'Palanan', 'Palanas', 'Palapag', 'Palauig', 'Palayan', - 'Palimbang', 'Palo', 'Palompon', 'Paluan', 'Pambujan', 'Pamplona', 'Panabo', 'Panaon', 'Panay', 'Pandag', - 'Pandami', 'Pandan', 'Pandi', 'Panganiban', 'Pangantucan', 'Pangil', 'Panglao', 'Panglima Estino', - 'Panglima Sugala', 'Pangutaran', 'Paniqui', 'Panitan', 'Pantabangan', 'Pantao Ragat', 'Pantar', 'Pantukan', - 'Panukulan', 'Paoay', 'Paombong', 'Paracale', 'Paracelis', 'Paranas', 'Parang', 'Pasacao', 'Pasil', 'Passi', - 'Pastrana', 'Pasuquin', 'Pata', 'Patikul', 'Patnanungan', 'Patnongon', 'Pavia', 'Payao', 'Peñablanca', - 'Peñaranda', 'Peñarrubia', 'Perez', 'Piagapo', 'Piat', 'Picong', 'Piddig', 'Pidigan', 'Pigcawayan', 'Pikit', - 'Pila', 'Pilar', 'Pili', 'Pililla', 'Pinabacdao', 'Pinamalayan', 'Pinamungajan', 'Piñan', 'Pinili', 'Pintuyan', - 'Pinukpuk', 'Pio Duran', 'Pio V. Corpuz', 'Pitogo', 'Placer', 'Plaridel', 'Pola', 'Polanco', 'Polangui', - 'Polillo', 'Polomolok', 'Pontevedra', 'Poona Bayabao', 'Poona Piagapo', 'Porac', 'Poro', 'Pototan', - 'Pozorrubio', 'Presentacion', 'President Carlos P. Garcia', 'President Manuel A. Roxas', 'President Quirino', - 'President Roxas', 'Prieto Diaz', 'Prosperidad', 'Pualas', 'Pudtol', 'Puerto Galera', 'Puerto Princesa', 'Pugo', - 'Pulilan', 'Pulupandan', 'Pura', 'Quezon', 'Quinapondan', 'Quirino', 'Ragay', 'Rajah Buayan', 'Ramon Magsaysay', - 'Ramon', 'Ramos', 'Rapu-Rapu', 'Real', 'Reina Mercedes', 'Remedios T. Romualdez', 'Rizal', 'Rodriguez', - 'Romblon', 'Ronda', 'Rosales', 'Rosario', 'Roseller Lim', 'Roxas City', 'Roxas', 'Sabangan', 'Sablan', - 'Sablayan', 'Sabtang', 'Sadanga', 'Sagada', 'Sagay', 'Sagbayan', 'Sagñay', 'Saguday', 'Saguiaran', - 'Saint Bernard', 'Salay', 'Salcedo', 'Sallapadan', 'Salug', 'Salvador Benedicto', 'Salvador', 'Samal', - 'Samboan', 'Sampaloc', 'San Agustin', 'San Andres', 'San Antonio', 'San Benito', 'San Carlos', 'San Clemente', - 'San Dionisio', 'San Emilio', 'San Enrique', 'San Esteban', 'San Fabian', 'San Felipe', 'San Fernando', - 'San Francisco', 'San Gabriel', 'San Guillermo', 'San Ildefonso', 'San Isidro', 'San Jacinto', 'San Joaquin', - 'San Jorge', 'San Jose de Buan', 'San Jose de Buenavista', 'San Jose del Monte', 'San Jose', 'San Juan', - 'San Julian', 'San Leonardo', 'San Lorenzo Ruiz', 'San Lorenzo', 'San Luis', 'San Manuel', 'San Marcelino', - 'San Mariano', 'San Mateo', 'San Miguel', 'San Narciso', 'San Nicolas', 'San Pablo', 'San Pascual', 'San Pedro', - 'San Policarpo', 'San Quintin', 'San Rafael', 'San Remigio', 'San Ricardo', 'San Roque', 'San Sebastian', - 'San Simon', 'San Teodoro', 'San Vicente', 'Sanchez-Mira', 'Santa Ana', 'Santa Barbara', 'Santa Catalina', - 'Santa Cruz', 'Santa Elena', 'Santa Fe', 'Santa Ignacia', 'Santa Josefa', 'Santa Lucia', 'Santa Magdalena', - 'Santa Marcela', 'Santa Margarita', 'Santa Maria', 'Santa Monica', 'Santa Praxedes', 'Santa Rita', 'Santa Rosa', - 'Santa Teresita', 'Santa', 'Santander', 'Santiago', 'Santo Domingo', 'Santo Niño', 'Santo Tomas', 'Santol', - 'Sapa-Sapa', 'Sapad', 'Sapang Dalaga', 'Sapian', 'Sara', 'Sarangani', 'Sariaya', 'Sarrat', 'Sasmuan', 'Sebaste', - 'Senator Ninoy Aquino', 'Sergio Osmeña Sr.', 'Sevilla', 'Shariff Aguak', 'Shariff Saydona Mustapha', 'Siasi', - 'Siaton', 'Siay', 'Siayan', 'Sibagat', 'Sibalom', 'Sibonga', 'Sibuco', 'Sibulan', 'Sibunag', 'Sibutad', - 'Sibutu', 'Sierra Bullones', 'Sigay', 'Sigma', 'Sikatuna', 'Silago', 'Silang', 'Silay', 'Silvino Lobos', - 'Simunul', 'Sinacaban', 'Sinait', 'Sindangan', 'Siniloan', 'Siocon', 'Sipalay', 'Sipocot', 'Siquijor', - 'Sirawai', 'Siruma', 'Sison', 'Sitangkai', 'Socorro', 'Sofronio Española', 'Sogod', 'Solana', 'Solano', - 'Solsona', 'Sominot', 'Sorsogon City', 'South Ubian', 'South Upi', 'Sual', 'Subic', 'Sudipen', 'Sugbongcogon', - 'Sugpon', 'Sulat', 'Sulop', 'Sultan Dumalondong', 'Sultan Kudarat', 'Sultan Mastura', 'Sultan Naga Dimaporo', - 'Sultan sa Barongis', 'Sultan Sumagka', 'Sumilao', 'Sumisip', 'Surallah', 'Surigao City', 'Suyo', "T'Boli", - 'Taal', 'Tabaco', 'Tabango', 'Tabina', 'Tabogon', 'Tabontabon', 'Tabuan-Lasa', 'Tabuelan', 'Tabuk', 'Tacloban', - 'Tacurong', 'Tadian', 'Taft', 'Tagana-an', 'Tagapul-an', 'Tagaytay', 'Tagbilaran', 'Tagbina', 'Tagkawayan', - 'Tago', 'Tagoloan II', 'Tagoloan', 'Tagudin', 'Tagum', 'Talacogon', 'Talaingod', 'Talakag', 'Talalora', - 'Talavera', 'Talayan', 'Talibon', 'Talipao', 'Talisay', 'Talisayan', 'Talugtug', 'Talusan', 'Tambulig', - 'Tampakan', 'Tamparan', 'Tampilisan', 'Tanauan', 'Tanay', 'Tandag', 'Tandubas', 'Tangalan', 'Tangcal', 'Tangub', - 'Tanjay', 'Tantangan', 'Tanudan', 'Tanza', 'Tapaz', 'Tapul', 'Taraka', 'Tarangnan', 'Tarlac City', 'Tarragona', - 'Tayabas', 'Tayasan', 'Taysan', 'Taytay', 'Tayug', 'Tayum', 'Teresa', 'Ternate', 'Tiaong', 'Tibiao', 'Tigaon', - 'Tigbao', 'Tigbauan', 'Tinambac', 'Tineg', 'Tinglayan', 'Tingloy', 'Tinoc', 'Tipo-Tipo', 'Titay', 'Tiwi', - 'Tobias Fornier', 'Toboso', 'Toledo', 'Tolosa', 'Tomas Oppus', 'Torrijos', 'Trece Martires', 'Trento', - 'Trinidad', 'Tuao', 'Tuba', 'Tubajon', 'Tubao', 'Tubaran', 'Tubay', 'Tubigon', 'Tublay', 'Tubo', 'Tubod', - 'Tubungan', 'Tuburan', 'Tudela', 'Tugaya', 'Tuguegarao', 'Tukuran', 'Tulunan', 'Tumauini', 'Tunga', 'Tungawan', - 'Tupi', 'Turtle Islands', 'Tuy', 'Ubay', 'Umingan', 'Ungkaya Pukan', 'Unisan', 'Upi', 'Urbiztondo', 'Urdaneta', - 'Uson', 'Uyugan', 'Valderrama', 'Valencia', 'Valladolid', 'Vallehermoso', 'Veruela', 'Victoria', 'Victorias', - 'Viga', 'Vigan', 'Villaba', 'Villanueva', 'Villareal', 'Villasis', 'Villaverde', 'Villaviciosa', - 'Vincenzo A. Sagun', 'Vintar', 'Vinzons', 'Virac', 'Wao', 'Zamboanga City', 'Zamboanguita', 'Zaragoza', - 'Zarraga', 'Zumarraga', + "Aborlan", + "Abra de Ilog", + "Abucay", + "Abulug", + "Abuyog", + "Adams", + "Agdangan", + "Aglipay", + "Agno", + "Agoncillo", + "Agoo", + "Aguilar", + "Aguinaldo", + "Agutaya", + "Ajuy", + "Akbar", + "Al-Barka", + "Alabat", + "Alabel", + "Alamada", + "Alaminos", + "Alangalang", + "Albuera", + "Alburquerque", + "Alcala", + "Alcantara", + "Alcoy", + "Alegria", + "Aleosan", + "Alfonso Castañeda", + "Alfonso Lista", + "Alfonso", + "Aliaga", + "Alicia", + "Alilem", + "Alimodian", + "Alitagtag", + "Allacapan", + "Allen", + "Almagro", + "Almeria", + "Aloguinsan", + "Aloran", + "Altavas", + "Alubijid", + "Amadeo", + "Amai Manabilang", + "Ambaguio", + "Amlan", + "Ampatuan", + "Amulung", + "Anahawan", + "Anao", + "Anda", + "Angadanan", + "Angat", + "Angeles", + "Angono", + "Anilao", + "Anini-y", + "Antequera", + "Antipas", + "Antipolo", + "Apalit", + "Aparri", + "Araceli", + "Arakan", + "Arayat", + "Argao", + "Aringay", + "Aritao", + "Aroroy", + "Arteche", + "Asingan", + "Asipulo", + "Asturias", + "Asuncion", + "Atimonan", + "Atok", + "Aurora", + "Ayungon", + "Baao", + "Babatngon", + "Bacacay", + "Bacarra", + "Baclayon", + "Bacnotan", + "Baco", + "Bacolod-Kalawi", + "Bacolod", + "Bacolor", + "Bacong", + "Bacoor", + "Bacuag", + "Badian", + "Badiangan", + "Badoc", + "Bagabag", + "Bagac", + "Bagamanoc", + "Baganga", + "Baggao", + "Bago", + "Baguio", + "Bagulin", + "Bagumbayan", + "Bais", + "Bakun", + "Balabac", + "Balabagan", + "Balagtas", + "Balamban", + "Balanga", + "Balangiga", + "Balangkayan", + "Balaoan", + "Balasan", + "Balatan", + "Balayan", + "Balbalan", + "Baleno", + "Baler", + "Balete", + "Baliangao", + "Baliguian", + "Balilihan", + "Balindong", + "Balingasag", + "Balingoan", + "Baliuag", + "Ballesteros", + "Baloi", + "Balud", + "Balungao", + "Bamban", + "Bambang", + "Banate", + "Banaue", + "Banaybanay", + "Banayoyo", + "Banga", + "Bangar", + "Bangued", + "Bangui", + "Banguingui", + "Bani", + "Banisilan", + "Banna", + "Bansalan", + "Bansud", + "Bantay", + "Bantayan", + "Banton", + "Baras", + "Barbaza", + "Barcelona", + "Barili", + "Barira", + "Barlig", + "Barobo", + "Barotac Nuevo", + "Barotac Viejo", + "Baroy", + "Barugo", + "Basay", + "Basco", + "Basey", + "Basilisa", + "Basista", + "Basud", + "Batac", + "Batad", + "Batan", + "Batangas City", + "Bataraza", + "Bato", + "Batuan", + "Bauan", + "Bauang", + "Bauko", + "Baungon", + "Bautista", + "Bay", + "Bayabas", + "Bayambang", + "Bayang", + "Bayawan", + "Baybay", + "Bayog", + "Bayombong", + "Bayugan", + "Belison", + "Benito Soliven", + "Besao", + "Bien Unido", + "Bilar", + "Biliran", + "Binalbagan", + "Binalonan", + "Biñan", + "Binangonan", + "Bindoy", + "Bingawan", + "Binidayan", + "Binmaley", + "Binuangan", + "Biri", + "Bislig", + "Boac", + "Bobon", + "Bocaue", + "Bogo", + "Bokod", + "Bolinao", + "Boliney", + "Boljoon", + "Bombon", + "Bongabon", + "Bongabong", + "Bongao", + "Bonifacio", + "Bontoc", + "Borbon", + "Borongan", + "Boston", + "Botolan", + "Braulio E. Dujali", + "Brooke's Point", + "Buadiposo-Buntong", + "Bubong", + "Bucay", + "Bucloc", + "Buenavista", + "Bugallon", + "Bugasong", + "Buguey", + "Buguias", + "Buhi", + "Bula", + "Bulakan", + "Bulalacao", + "Bulan", + "Buldon", + "Buluan", + "Bulusan", + "Bunawan", + "Burauen", + "Burdeos", + "Burgos", + "Buruanga", + "Bustos", + "Busuanga", + "Butig", + "Butuan", + "Buug", + "Caba", + "Cabadbaran", + "Cabagan", + "Cabanatuan", + "Cabangan", + "Cabanglasan", + "Cabarroguis", + "Cabatuan", + "Cabiao", + "Cabucgayan", + "Cabugao", + "Cabusao", + "Cabuyao", + "Cadiz", + "Cagayan de Oro", + "Cagayancillo", + "Cagdianao", + "Cagwait", + "Caibiran", + "Cainta", + "Cajidiocan", + "Calabanga", + "Calaca", + "Calamba", + "Calanasan", + "Calanogas", + "Calapan", + "Calape", + "Calasiao", + "Calatagan", + "Calatrava", + "Calauag", + "Calauan", + "Calayan", + "Calbayog", + "Calbiga", + "Calinog", + "Calintaan", + "Calubian", + "Calumpit", + "Caluya", + "Camalaniugan", + "Camalig", + "Camaligan", + "Camiling", + "Can-avid", + "Canaman", + "Candaba", + "Candelaria", + "Candijay", + "Candon", + "Candoni", + "Canlaon", + "Cantilan", + "Caoayan", + "Capalonga", + "Capas", + "Capoocan", + "Capul", + "Caraga", + "Caramoan", + "Caramoran", + "Carasi", + "Carcar", + "Cardona", + "Carigara", + "Carles", + "Carmen", + "Carmona", + "Carranglan", + "Carrascal", + "Casiguran", + "Castilla", + "Castillejos", + "Cataingan", + "Catanauan", + "Catarman", + "Catbalogan", + "Cateel", + "Catigbian", + "Catmon", + "Catubig", + "Cauayan", + "Cavinti", + "Cavite City", + "Cawayan", + "Cebu City", + "Cervantes", + "Clarin", + "Claver", + "Claveria", + "Columbio", + "Compostela", + "Concepcion", + "Conner", + "Consolacion", + "Corcuera", + "Cordon", + "Cordova", + "Corella", + "Coron", + "Cortes", + "Cotabato City", + "Cuartero", + "Cuenca", + "Culaba", + "Culasi", + "Culion", + "Currimao", + "Cuyapo", + "Cuyo", + "Daanbantayan", + "Daet", + "Dagami", + "Dagohoy", + "Daguioman", + "Dagupan", + "Dalaguete", + "Damulog", + "Danao", + "Dangcagan", + "Danglas", + "Dao", + "Dapa", + "Dapitan", + "Daraga", + "Daram", + "Dasmariñas", + "Dasol", + "Datu Abdullah Sangki", + "Datu Anggal Midtimbang", + "Datu Blah T. Sinsuat", + "Datu Hoffer Ampatuan", + "Datu Montawal", + "Datu Odin Sinsuat", + "Datu Paglas", + "Datu Piang", + "Datu Salibo", + "Datu Saudi-Ampatuan", + "Datu Unsay", + "Dauin", + "Dauis", + "Davao City", + "Del Carmen", + "Del Gallego", + "Delfin Albano", + "Diadi", + "Diffun", + "Digos", + "Dilasag", + "Dimasalang", + "Dimataling", + "Dimiao", + "Dinagat", + "Dinalungan", + "Dinalupihan", + "Dinapigue", + "Dinas", + "Dingalan", + "Dingle", + "Dingras", + "Dipaculao", + "Diplahan", + "Dipolog", + "Ditsaan-Ramain", + "Divilacan", + "Dolores", + "Don Carlos", + "Don Marcelino", + "Don Victoriano Chiongbian", + "Doña Remedios Trinidad", + "Donsol", + "Dueñas", + "Duero", + "Dulag", + "Dumaguete", + "Dumalag", + "Dumalinao", + "Dumalneg", + "Dumangas", + "Dumanjug", + "Dumaran", + "Dumarao", + "Dumingag", + "Dupax del Norte", + "Dupax del Sur", + "Echague", + "El Nido", + "El Salvador", + "Enrile", + "Enrique B. Magalona", + "Enrique Villanueva", + "Escalante", + "Esperanza", + "Estancia", + "Famy", + "Ferrol", + "Flora", + "Floridablanca", + "Gabaldon", + "Gainza", + "Galimuyod", + "Gamay", + "Gamu", + "Ganassi", + "Gandara", + "Gapan", + "Garchitorena", + "Garcia Hernandez", + "Gasan", + "Gattaran", + "General Emilio Aguinaldo", + "General Luna", + "General MacArthur", + "General Mamerto Natividad", + "General Mariano Alvarez", + "General Nakar", + "General Salipada K. Pendatun", + "General Santos", + "General Tinio", + "General Trias", + "Gerona", + "Getafe", + "Gigaquit", + "Gigmoto", + "Ginatilan", + "Gingoog", + "Giporlos", + "Gitagum", + "Glan", + "Gloria", + "Goa", + "Godod", + "Gonzaga", + "Governor Generoso", + "Gregorio del Pilar", + "Guagua", + "Gubat", + "Guiguinto", + "Guihulngan", + "Guimba", + "Guimbal", + "Guinayangan", + "Guindulman", + "Guindulungan", + "Guinobatan", + "Guinsiliban", + "Guipos", + "Guiuan", + "Gumaca", + "Gutalac", + "Hadji Mohammad Ajul", + "Hadji Muhtamad", + "Hadji Panglima Tahil", + "Hagonoy", + "Hamtic", + "Hermosa", + "Hernani", + "Hilongos", + "Himamaylan", + "Hinabangan", + "Hinatuan", + "Hindang", + "Hingyon", + "Hinigaran", + "Hinoba-an", + "Hinunangan", + "Hinundayan", + "Hungduan", + "Iba", + "Ibaan", + "Ibajay", + "Igbaras", + "Iguig", + "Ilagan", + "Iligan", + "Ilog", + "Iloilo City", + "Imelda", + "Impasugong", + "Imus", + "Inabanga", + "Indanan", + "Indang", + "Infanta", + "Initao", + "Inopacan", + "Ipil", + "Iriga", + "Irosin", + "Isabel", + "Isabela City", + "Isabela", + "Isulan", + "Itbayat", + "Itogon", + "Ivana", + "Ivisan", + "Jabonga", + "Jaen", + "Jagna", + "Jalajala", + "Jamindan", + "Janiuay", + "Jaro", + "Jasaan", + "Javier", + "Jiabong", + "Jimalalud", + "Jimenez", + "Jipapad", + "Jolo", + "Jomalig", + "Jones", + "Jordan", + "Jose Abad Santos", + "Jose Dalman", + "Jose Panganiban", + "Josefina", + "Jovellar", + "Juban", + "Julita", + "Kabacan", + "Kabankalan", + "Kabasalan", + "Kabayan", + "Kabugao", + "Kabuntalan", + "Kadingilan", + "Kalamansig", + "Kalawit", + "Kalayaan", + "Kalibo", + "Kalilangan", + "Kalingalan Caluang", + "Kananga", + "Kapai", + "Kapalong", + "Kapangan", + "Kapatagan", + "Kasibu", + "Katipunan", + "Kauswagan", + "Kawayan", + "Kawit", + "Kayapa", + "Kiamba", + "Kiangan", + "Kibawe", + "Kiblawan", + "Kibungan", + "Kidapawan", + "Kinoguitan", + "Kitaotao", + "Kitcharao", + "Kolambugan", + "Koronadal", + "Kumalarang", + "La Carlota", + "La Castellana", + "La Libertad", + "La Paz", + "La Trinidad", + "Laak", + "Labangan", + "Labason", + "Labo", + "Labrador", + "Lacub", + "Lagangilang", + "Lagawe", + "Lagayan", + "Lagonglong", + "Lagonoy", + "Laguindingan", + "Lake Sebu", + "Lakewood", + "Lal-lo", + "Lala", + "Lambayong", + "Lambunao", + "Lamitan", + "Lamut", + "Langiden", + "Languyan", + "Lantapan", + "Lantawan", + "Lanuza", + "Laoac", + "Laoag", + "Laoang", + "Lapinig", + "Lapu-Lapu", + "Lapuyan", + "Larena", + "Las Navas", + "Las Nieves", + "Lasam", + "Laua-an", + "Laur", + "Laurel", + "Lavezares", + "Lawaan", + "Lazi", + "Lebak", + "Leganes", + "Legazpi", + "Lemery", + "Leon B. Postigo", + "Leon", + "Leyte", + "Lezo", + "Lian", + "Lianga", + "Libacao", + "Libagon", + "Libertad", + "Libjo", + "Libmanan", + "Libon", + "Libona", + "Libungan", + "Licab", + "Licuan-Baay", + "Lidlidda", + "Ligao", + "Lila", + "Liliw", + "Liloan", + "Liloy", + "Limasawa", + "Limay", + "Linamon", + "Linapacan", + "Lingayen", + "Lingig", + "Lipa", + "Llanera", + "Llorente", + "Loay", + "Lobo", + "Loboc", + "Looc", + "Loon", + "Lope de Vega", + "Lopez Jaena", + "Lopez", + "Loreto", + "Los Baños", + "Luba", + "Lubang", + "Lubao", + "Lubuagan", + "Lucban", + "Lucena", + "Lugait", + "Lugus", + "Luisiana", + "Lumba-Bayabao", + "Lumbaca-Unayan", + "Lumban", + "Lumbatan", + "Lumbayanague", + "Luna", + "Lupao", + "Lupi", + "Lupon", + "Lutayan", + "Luuk", + "M'lang", + "Maasim", + "Maasin", + "Maayon", + "Mabalacat", + "Mabinay", + "Mabini", + "Mabitac", + "Mabuhay", + "Macabebe", + "Macalelon", + "MacArthur", + "Maco", + "Maconacon", + "Macrohon", + "Madalag", + "Madalum", + "Madamba", + "Maddela", + "Madrid", + "Madridejos", + "Magalang", + "Magallanes", + "Magarao", + "Magdalena", + "Magdiwang", + "Magpet", + "Magsaysay", + "Magsingal", + "Maguing", + "Mahaplag", + "Mahatao", + "Mahayag", + "Mahinog", + "Maigo", + "Maimbung", + "Mainit", + "Maitum", + "Majayjay", + "Makato", + "Makilala", + "Malabang", + "Malabuyoc", + "Malalag", + "Malangas", + "Malapatan", + "Malasiqui", + "Malay", + "Malaybalay", + "Malibcong", + "Malilipot", + "Malimono", + "Malinao", + "Malita", + "Malitbog", + "Mallig", + "Malolos", + "Malungon", + "Maluso", + "Malvar", + "Mamasapano", + "Mambajao", + "Mamburao", + "Mambusao", + "Manabo", + "Manaoag", + "Manapla", + "Manay", + "Mandaon", + "Mandaue", + "Mangaldan", + "Mangatarem", + "Mangudadatu", + "Manito", + "Manjuyod", + "Mankayan", + "Manolo Fortich", + "Mansalay", + "Manticao", + "Manukan", + "Mapanas", + "Mapandan", + "Mapun", + "Marabut", + "Maragondon", + "Maragusan", + "Maramag", + "Marantao", + "Marawi", + "Marcos", + "Margosatubig", + "Maria Aurora", + "Maria", + "Maribojoc", + "Marihatag", + "Marilao", + "Maripipi", + "Mariveles", + "Marogong", + "Masantol", + "Masbate City", + "Masinloc", + "Masiu", + "Maslog", + "Mataasnakahoy", + "Matag-ob", + "Matalam", + "Matalom", + "Matanao", + "Matanog", + "Mati", + "Matnog", + "Matuguinao", + "Matungao", + "Mauban", + "Mawab", + "Mayantoc", + "Maydolong", + "Mayorga", + "Mayoyao", + "Medellin", + "Medina", + "Mendez", + "Mercedes", + "Merida", + "Mexico", + "Meycauayan", + "Miagao", + "Midsalip", + "Midsayap", + "Milagros", + "Milaor", + "Mina", + "Minalabac", + "Minalin", + "Minglanilla", + "Moalboal", + "Mobo", + "Mogpog", + "Moises Padilla", + "Molave", + "Moncada", + "Mondragon", + "Monkayo", + "Monreal", + "Montevista", + "Morong", + "Motiong", + "Mulanay", + "Mulondo", + "Munai", + "Muñoz", + "Murcia", + "Mutia", + "Naawan", + "Nabas", + "Nabua", + "Nabunturan", + "Naga", + "Nagbukel", + "Nagcarlan", + "Nagtipunan", + "Naguilian", + "Naic", + "Nampicuan", + "Narra", + "Narvacan", + "Nasipit", + "Nasugbu", + "Natividad", + "Natonin", + "Naujan", + "Naval", + "New Bataan", + "New Corella", + "New Lucena", + "New Washington", + "Norala", + "Northern Kabuntalan", + "Norzagaray", + "Noveleta", + "Nueva Era", + "Nueva Valencia", + "Numancia", + "Nunungan", + "Oas", + "Obando", + "Ocampo", + "Odiongan", + "Old Panamao", + "Olongapo", + "Olutanga", + "Omar", + "Opol", + "Orani", + "Oras", + "Orion", + "Ormoc", + "Oroquieta", + "Oslob", + "Oton", + "Ozamiz", + "Padada", + "Padre Burgos", + "Padre Garcia", + "Paete", + "Pagadian", + "Pagalungan", + "Pagayawan", + "Pagbilao", + "Paglat", + "Pagsanghan", + "Pagsanjan", + "Pagudpud", + "Pakil", + "Palanan", + "Palanas", + "Palapag", + "Palauig", + "Palayan", + "Palimbang", + "Palo", + "Palompon", + "Paluan", + "Pambujan", + "Pamplona", + "Panabo", + "Panaon", + "Panay", + "Pandag", + "Pandami", + "Pandan", + "Pandi", + "Panganiban", + "Pangantucan", + "Pangil", + "Panglao", + "Panglima Estino", + "Panglima Sugala", + "Pangutaran", + "Paniqui", + "Panitan", + "Pantabangan", + "Pantao Ragat", + "Pantar", + "Pantukan", + "Panukulan", + "Paoay", + "Paombong", + "Paracale", + "Paracelis", + "Paranas", + "Parang", + "Pasacao", + "Pasil", + "Passi", + "Pastrana", + "Pasuquin", + "Pata", + "Patikul", + "Patnanungan", + "Patnongon", + "Pavia", + "Payao", + "Peñablanca", + "Peñaranda", + "Peñarrubia", + "Perez", + "Piagapo", + "Piat", + "Picong", + "Piddig", + "Pidigan", + "Pigcawayan", + "Pikit", + "Pila", + "Pilar", + "Pili", + "Pililla", + "Pinabacdao", + "Pinamalayan", + "Pinamungajan", + "Piñan", + "Pinili", + "Pintuyan", + "Pinukpuk", + "Pio Duran", + "Pio V. Corpuz", + "Pitogo", + "Placer", + "Plaridel", + "Pola", + "Polanco", + "Polangui", + "Polillo", + "Polomolok", + "Pontevedra", + "Poona Bayabao", + "Poona Piagapo", + "Porac", + "Poro", + "Pototan", + "Pozorrubio", + "Presentacion", + "President Carlos P. Garcia", + "President Manuel A. Roxas", + "President Quirino", + "President Roxas", + "Prieto Diaz", + "Prosperidad", + "Pualas", + "Pudtol", + "Puerto Galera", + "Puerto Princesa", + "Pugo", + "Pulilan", + "Pulupandan", + "Pura", + "Quezon", + "Quinapondan", + "Quirino", + "Ragay", + "Rajah Buayan", + "Ramon Magsaysay", + "Ramon", + "Ramos", + "Rapu-Rapu", + "Real", + "Reina Mercedes", + "Remedios T. Romualdez", + "Rizal", + "Rodriguez", + "Romblon", + "Ronda", + "Rosales", + "Rosario", + "Roseller Lim", + "Roxas City", + "Roxas", + "Sabangan", + "Sablan", + "Sablayan", + "Sabtang", + "Sadanga", + "Sagada", + "Sagay", + "Sagbayan", + "Sagñay", + "Saguday", + "Saguiaran", + "Saint Bernard", + "Salay", + "Salcedo", + "Sallapadan", + "Salug", + "Salvador Benedicto", + "Salvador", + "Samal", + "Samboan", + "Sampaloc", + "San Agustin", + "San Andres", + "San Antonio", + "San Benito", + "San Carlos", + "San Clemente", + "San Dionisio", + "San Emilio", + "San Enrique", + "San Esteban", + "San Fabian", + "San Felipe", + "San Fernando", + "San Francisco", + "San Gabriel", + "San Guillermo", + "San Ildefonso", + "San Isidro", + "San Jacinto", + "San Joaquin", + "San Jorge", + "San Jose de Buan", + "San Jose de Buenavista", + "San Jose del Monte", + "San Jose", + "San Juan", + "San Julian", + "San Leonardo", + "San Lorenzo Ruiz", + "San Lorenzo", + "San Luis", + "San Manuel", + "San Marcelino", + "San Mariano", + "San Mateo", + "San Miguel", + "San Narciso", + "San Nicolas", + "San Pablo", + "San Pascual", + "San Pedro", + "San Policarpo", + "San Quintin", + "San Rafael", + "San Remigio", + "San Ricardo", + "San Roque", + "San Sebastian", + "San Simon", + "San Teodoro", + "San Vicente", + "Sanchez-Mira", + "Santa Ana", + "Santa Barbara", + "Santa Catalina", + "Santa Cruz", + "Santa Elena", + "Santa Fe", + "Santa Ignacia", + "Santa Josefa", + "Santa Lucia", + "Santa Magdalena", + "Santa Marcela", + "Santa Margarita", + "Santa Maria", + "Santa Monica", + "Santa Praxedes", + "Santa Rita", + "Santa Rosa", + "Santa Teresita", + "Santa", + "Santander", + "Santiago", + "Santo Domingo", + "Santo Niño", + "Santo Tomas", + "Santol", + "Sapa-Sapa", + "Sapad", + "Sapang Dalaga", + "Sapian", + "Sara", + "Sarangani", + "Sariaya", + "Sarrat", + "Sasmuan", + "Sebaste", + "Senator Ninoy Aquino", + "Sergio Osmeña Sr.", + "Sevilla", + "Shariff Aguak", + "Shariff Saydona Mustapha", + "Siasi", + "Siaton", + "Siay", + "Siayan", + "Sibagat", + "Sibalom", + "Sibonga", + "Sibuco", + "Sibulan", + "Sibunag", + "Sibutad", + "Sibutu", + "Sierra Bullones", + "Sigay", + "Sigma", + "Sikatuna", + "Silago", + "Silang", + "Silay", + "Silvino Lobos", + "Simunul", + "Sinacaban", + "Sinait", + "Sindangan", + "Siniloan", + "Siocon", + "Sipalay", + "Sipocot", + "Siquijor", + "Sirawai", + "Siruma", + "Sison", + "Sitangkai", + "Socorro", + "Sofronio Española", + "Sogod", + "Solana", + "Solano", + "Solsona", + "Sominot", + "Sorsogon City", + "South Ubian", + "South Upi", + "Sual", + "Subic", + "Sudipen", + "Sugbongcogon", + "Sugpon", + "Sulat", + "Sulop", + "Sultan Dumalondong", + "Sultan Kudarat", + "Sultan Mastura", + "Sultan Naga Dimaporo", + "Sultan sa Barongis", + "Sultan Sumagka", + "Sumilao", + "Sumisip", + "Surallah", + "Surigao City", + "Suyo", + "T'Boli", + "Taal", + "Tabaco", + "Tabango", + "Tabina", + "Tabogon", + "Tabontabon", + "Tabuan-Lasa", + "Tabuelan", + "Tabuk", + "Tacloban", + "Tacurong", + "Tadian", + "Taft", + "Tagana-an", + "Tagapul-an", + "Tagaytay", + "Tagbilaran", + "Tagbina", + "Tagkawayan", + "Tago", + "Tagoloan II", + "Tagoloan", + "Tagudin", + "Tagum", + "Talacogon", + "Talaingod", + "Talakag", + "Talalora", + "Talavera", + "Talayan", + "Talibon", + "Talipao", + "Talisay", + "Talisayan", + "Talugtug", + "Talusan", + "Tambulig", + "Tampakan", + "Tamparan", + "Tampilisan", + "Tanauan", + "Tanay", + "Tandag", + "Tandubas", + "Tangalan", + "Tangcal", + "Tangub", + "Tanjay", + "Tantangan", + "Tanudan", + "Tanza", + "Tapaz", + "Tapul", + "Taraka", + "Tarangnan", + "Tarlac City", + "Tarragona", + "Tayabas", + "Tayasan", + "Taysan", + "Taytay", + "Tayug", + "Tayum", + "Teresa", + "Ternate", + "Tiaong", + "Tibiao", + "Tigaon", + "Tigbao", + "Tigbauan", + "Tinambac", + "Tineg", + "Tinglayan", + "Tingloy", + "Tinoc", + "Tipo-Tipo", + "Titay", + "Tiwi", + "Tobias Fornier", + "Toboso", + "Toledo", + "Tolosa", + "Tomas Oppus", + "Torrijos", + "Trece Martires", + "Trento", + "Trinidad", + "Tuao", + "Tuba", + "Tubajon", + "Tubao", + "Tubaran", + "Tubay", + "Tubigon", + "Tublay", + "Tubo", + "Tubod", + "Tubungan", + "Tuburan", + "Tudela", + "Tugaya", + "Tuguegarao", + "Tukuran", + "Tulunan", + "Tumauini", + "Tunga", + "Tungawan", + "Tupi", + "Turtle Islands", + "Tuy", + "Ubay", + "Umingan", + "Ungkaya Pukan", + "Unisan", + "Upi", + "Urbiztondo", + "Urdaneta", + "Uson", + "Uyugan", + "Valderrama", + "Valencia", + "Valladolid", + "Vallehermoso", + "Veruela", + "Victoria", + "Victorias", + "Viga", + "Vigan", + "Villaba", + "Villanueva", + "Villareal", + "Villasis", + "Villaverde", + "Villaviciosa", + "Vincenzo A. Sagun", + "Vintar", + "Vinzons", + "Virac", + "Wao", + "Zamboanga City", + "Zamboanguita", + "Zaragoza", + "Zarraga", + "Zumarraga", ) luzon_provinces = ( - 'Abra', 'Albay', 'Apayao', 'Aurora', 'Bataan', 'Batanes', 'Batangas', 'Benguet', 'Bulacan', 'Cagayan', - 'Camarines Norte', 'Camarines Sur', 'Catanduanes', 'Cavite', 'Ifugao', 'Ilocos Norte', 'Ilocos Sur', 'Isabela', - 'Kalinga', 'La Union', 'Laguna', 'Marinduque', 'Masbate', 'Mountain Province', 'Nueva Ecija', 'Nueva Vizcaya', - 'Occidental Mindoro', 'Oriental Mindoro', 'Palawan', 'Pampanga', 'Pangasinan', 'Quezon', 'Quirino', 'Rizal', - 'Romblon', 'Sorsogon', 'Tarlac', 'Zambales', + "Abra", + "Albay", + "Apayao", + "Aurora", + "Bataan", + "Batanes", + "Batangas", + "Benguet", + "Bulacan", + "Cagayan", + "Camarines Norte", + "Camarines Sur", + "Catanduanes", + "Cavite", + "Ifugao", + "Ilocos Norte", + "Ilocos Sur", + "Isabela", + "Kalinga", + "La Union", + "Laguna", + "Marinduque", + "Masbate", + "Mountain Province", + "Nueva Ecija", + "Nueva Vizcaya", + "Occidental Mindoro", + "Oriental Mindoro", + "Palawan", + "Pampanga", + "Pangasinan", + "Quezon", + "Quirino", + "Rizal", + "Romblon", + "Sorsogon", + "Tarlac", + "Zambales", ) visayas_provinces = ( - 'Aklan', 'Antique', 'Biliran', 'Bohol', 'Capiz', 'Cebu', 'Eastern Samar', 'Guimaras', 'Iloilo', 'Leyte', - 'Negros Occidental', 'Negros Oriental', 'Northern Samar', 'Samar', 'Siquijor', 'Southern Leyte', + "Aklan", + "Antique", + "Biliran", + "Bohol", + "Capiz", + "Cebu", + "Eastern Samar", + "Guimaras", + "Iloilo", + "Leyte", + "Negros Occidental", + "Negros Oriental", + "Northern Samar", + "Samar", + "Siquijor", + "Southern Leyte", ) mindanao_provinces = ( - 'Agusan del Norte', 'Agusan del Sur', 'Basilan', 'Bukidnon', 'Camiguin', 'Compostela Valley', 'Cotabato', - 'Davao del Norte', 'Davao del Sur', 'Davao Occidental', 'Davao Oriental', 'Dinagat Islands', 'Lanao del Norte', - 'Lanao del Sur', 'Maguindanao', 'Misamis Occidental', 'Misamis Oriental', 'Sarangani', 'South Cotabato', - 'Sultan Kudarat', 'Sulu', 'Surigao del Norte', 'Surigao del Sur', 'Tawi-Tawi', 'Zamboanga del Norte', - 'Zamboanga del Sur', 'Zamboanga Sibugay', + "Agusan del Norte", + "Agusan del Sur", + "Basilan", + "Bukidnon", + "Camiguin", + "Compostela Valley", + "Cotabato", + "Davao del Norte", + "Davao del Sur", + "Davao Occidental", + "Davao Oriental", + "Dinagat Islands", + "Lanao del Norte", + "Lanao del Sur", + "Maguindanao", + "Misamis Occidental", + "Misamis Oriental", + "Sarangani", + "South Cotabato", + "Sultan Kudarat", + "Sulu", + "Surigao del Norte", + "Surigao del Sur", + "Tawi-Tawi", + "Zamboanga del Norte", + "Zamboanga del Sur", + "Zamboanga Sibugay", ) provinces = luzon_provinces + visayas_provinces + mindanao_provinces partitioned_building_number_formats = ( - '{{standalone_building_number}}?', - '{{standalone_building_number}} ?', - '{{standalone_building_number}}-?', - '{{standalone_building_number}} Unit ?', + "{{standalone_building_number}}?", + "{{standalone_building_number}} ?", + "{{standalone_building_number}}-?", + "{{standalone_building_number}} Unit ?", ) building_unit_number_formats = ( - 'Unit {{floor_unit_number}}', - 'Room {{floor_unit_number}}', - '{{floor_number}}F', - '{{ordinal_floor_number}} Floor', + "Unit {{floor_unit_number}}", + "Room {{floor_unit_number}}", + "{{floor_number}}F", + "{{ordinal_floor_number}} Floor", ) building_name_formats = ( - '{{last_name}} {{building_name_suffix}}', - '{{random_object_name}} {{building_name_suffix}}', + "{{last_name}} {{building_name_suffix}}", + "{{random_object_name}} {{building_name_suffix}}", ) building_name_suffixes = ( - 'Apartment', 'Apartments', - 'Building', 'Building %', 'Building Tower %', - 'Condominiums', 'Condominiums %', 'Condominiums Tower %', - 'Place', 'Place %', 'Place Tower %', - 'Residences', 'Residences %', 'Residences Tower %', - 'Suites', 'Suites %', 'Suites Tower %', - 'Tower', 'Towers', 'Towers %', + "Apartment", + "Apartments", + "Building", + "Building %", + "Building Tower %", + "Condominiums", + "Condominiums %", + "Condominiums Tower %", + "Place", + "Place %", + "Place Tower %", + "Residences", + "Residences %", + "Residences Tower %", + "Suites", + "Suites %", + "Suites Tower %", + "Tower", + "Towers", + "Towers %", ) subdivision_unit_number_formats = ( - 'B{{subdivision_block_number}} L{{subdivision_lot_number}}', - 'Block {{subdivision_block_number}} Lot {{subdivision_lot_number}}', + "B{{subdivision_block_number}} L{{subdivision_lot_number}}", + "Block {{subdivision_block_number}} Lot {{subdivision_lot_number}}", ) subdivision_name_formats = ( - '{{last_name}} {{subdivision_name_suffix}}', - '{{random_object_name}} {{subdivision_name_suffix}}', + "{{last_name}} {{subdivision_name_suffix}}", + "{{random_object_name}} {{subdivision_name_suffix}}", ) subdivision_name_suffixes = ( - 'Cove', 'Cove %', 'Cove Phase %', - 'Estates', 'Estates %', 'Estates Phase %', - 'Grove', 'Grove %', 'Grove Phase %', - 'Homes', 'Homes %', 'Homes Phase %', - 'Subdivision', 'Subdivision %', 'Subdivision Phase %', - 'Village', 'Village %', 'Village Phase %', + "Cove", + "Cove %", + "Cove Phase %", + "Estates", + "Estates %", + "Estates Phase %", + "Grove", + "Grove %", + "Grove Phase %", + "Homes", + "Homes %", + "Homes Phase %", + "Subdivision", + "Subdivision %", + "Subdivision Phase %", + "Village", + "Village %", + "Village Phase %", + ) + floor_numbers = OrderedDict( + [(str(x), 0.08) for x in range(2, 5)] # Floors 2 to 4, 24% of the time + + [(str(x), 0.32356832089420257 / x) for x in range(5, 13)] # Floors 5 to 12, 33% of the time + + [(str(x), 0.30341265418486174 / (x - 1)) for x in range(14, 30)] # Floors 14 to 29, 25% of the time + + [(str(x), 0.30096338222652870 / (x - 1)) for x in range(30, 50)] # Floors 30 to 49, 16% of the time + + [(str(x), 0.04570476167856688 / (x - 1)) for x in range(50, 75)] # Floors 50 to 74, 1.9% of the time + + [(str(x), 0.003415677066138734 / (x - 1)) for x in range(75, 100)] # Floors 75 to 99, 0.1% of the time + ) + + street_suffixes = OrderedDict( + [ + ("Avenue", 0.12), + ("Avenue Extension", 0.01), + ("Boulevard", 0.05), + ("Boulevard Extension", 0.008), + ("Circle", 0.002), + ("Drive", 0.15), + ("Drive Extension", 0.03), + ("Expressway", 0.01), + ("Extension", 0.05), + ("Highway", 0.02), + ("Road", 0.2), + ("Road Extension", 0.04), + ("Service Road", 0.01), + ("Street", 0.3), + ] ) - floor_numbers = OrderedDict([ - (str(x), 0.08) for x in range(2, 5) # Floors 2 to 4, 24% of the time - ] + [ - (str(x), 0.32356832089420257 / x) for x in range(5, 13) # Floors 5 to 12, 33% of the time - ] + [ - (str(x), 0.30341265418486174 / (x - 1)) for x in range(14, 30) # Floors 14 to 29, 25% of the time - ] + [ - (str(x), 0.30096338222652870 / (x - 1)) for x in range(30, 50) # Floors 30 to 49, 16% of the time - ] + [ - (str(x), 0.04570476167856688 / (x - 1)) for x in range(50, 75) # Floors 50 to 74, 1.9% of the time - ] + [ - (str(x), 0.003415677066138734 / (x - 1)) for x in range(75, 100) # Floors 75 to 99, 0.1% of the time - ]) - - street_suffixes = OrderedDict([ - ('Avenue', 0.12), - ('Avenue Extension', 0.01), - ('Boulevard', 0.05), - ('Boulevard Extension', 0.008), - ('Circle', 0.002), - ('Drive', 0.15), - ('Drive Extension', 0.03), - ('Expressway', 0.01), - ('Extension', 0.05), - ('Highway', 0.02), - ('Road', 0.2), - ('Road Extension', 0.04), - ('Service Road', 0.01), - ('Street', 0.3), - ]) street_name_formats = ( - '{{last_name}} {{street_suffix}}', - '{{ordinal_street_number}} {{street_suffix}}', - '{{gemstone_name}} {{street_suffix}}', - '{{mountain_name}} {{street_suffix}}', - '{{plant_name}} {{street_suffix}}', - '{{space_object_name}} {{street_suffix}}', + "{{last_name}} {{street_suffix}}", + "{{ordinal_street_number}} {{street_suffix}}", + "{{gemstone_name}} {{street_suffix}}", + "{{mountain_name}} {{street_suffix}}", + "{{plant_name}} {{street_suffix}}", + "{{space_object_name}} {{street_suffix}}", ) street_address_formats = ( - '{{standalone_building_number}} {{street_name}}', - '{{partitioned_building_number}} {{street_name}}', - '{{subdivision_unit_number}} {{subdivision_name}}, {{street_name}}', - '{{subdivision_unit_number}} {{street_name}}, {{subdivision_name}}', - '{{standalone_building_number}} {{street_name}}, {{subdivision_name}}', - '{{building_unit_number}} {{building_name}}, {{standalone_building_number}} {{street_name}}', + "{{standalone_building_number}} {{street_name}}", + "{{partitioned_building_number}} {{street_name}}", + "{{subdivision_unit_number}} {{subdivision_name}}, {{street_name}}", + "{{subdivision_unit_number}} {{street_name}}, {{subdivision_name}}", + "{{standalone_building_number}} {{street_name}}, {{subdivision_name}}", + "{{building_unit_number}} {{building_name}}, {{standalone_building_number}} {{street_name}}", ) - metro_manila_address_formats = ( - '{{street_address}}, {{metro_manila_lgu}}, {{metro_manila_postcode}} Metro Manila', - ) + metro_manila_address_formats = ("{{street_address}}, {{metro_manila_lgu}}, {{metro_manila_postcode}} Metro Manila",) luzon_province_address_formats = ( - '{{street_address}}, {{province_lgu}}, {{luzon_province_postcode}} {{luzon_province}}', + "{{street_address}}, {{province_lgu}}, {{luzon_province_postcode}} {{luzon_province}}", ) visayas_province_address_formats = ( - '{{street_address}}, {{province_lgu}}, {{visayas_province_postcode}} {{visayas_province}}', + "{{street_address}}, {{province_lgu}}, {{visayas_province_postcode}} {{visayas_province}}", ) mindanao_province_address_formats = ( - '{{street_address}}, {{province_lgu}}, {{mindanao_province_postcode}} {{mindanao_province}}', + "{{street_address}}, {{province_lgu}}, {{mindanao_province_postcode}} {{mindanao_province}}", ) - address_formats = OrderedDict([ - (metro_manila_address_formats, 0.127524), - (luzon_province_address_formats, 0.485317), - (visayas_province_address_formats, 0.148142), - (mindanao_province_address_formats, 0.239017), - ]) - - def _ordinal_string(self, num): + address_formats = OrderedDict( + [ + (metro_manila_address_formats, 0.127524), + (luzon_province_address_formats, 0.485317), + (visayas_province_address_formats, 0.148142), + (mindanao_province_address_formats, 0.239017), + ] + ) + + def _ordinal_string(self, num: Union[int, str]) -> str: if isinstance(num, str): num = int(num) - suffix = ['th', 'st', 'nd', 'rd', 'th'][min(num % 10, 4)] + suffix = ["th", "st", "nd", "rd", "th"][min(num % 10, 4)] if 11 <= num % 100 <= 13: - suffix = 'th' + suffix = "th" return str(num) + suffix - def _create_postcode(self, postcodes): - return '{postcode:04d}'.format(postcode=self.random_element(postcodes)) + def _create_postcode(self, postcodes: Sequence[int]) -> str: + return f"{self.random_element(postcodes):04d}" - def _create_address(self, address_formats): + def _create_address(self, address_formats: Tuple[str]) -> str: return self.generator.parse(self.random_element(address_formats)) - def metro_manila_postcode(self): + def metro_manila_postcode(self) -> str: return self._create_postcode(self.metro_manila_postcodes) - def luzon_province_postcode(self): + def luzon_province_postcode(self) -> str: return self._create_postcode(self.luzon_province_postcodes) - def visayas_province_postcode(self): + def visayas_province_postcode(self) -> str: return self._create_postcode(self.visayas_province_postcodes) - def mindanao_province_postcode(self): + def mindanao_province_postcode(self) -> str: return self._create_postcode(self.mindanao_province_postcodes) - def postcode(self): + def postcode(self) -> str: return self._create_postcode(self.postcodes) - def luzon_province(self): + def luzon_province(self) -> str: return self.random_element(self.luzon_provinces) - def visayas_province(self): + def visayas_province(self) -> str: return self.random_element(self.visayas_provinces) - def mindanao_province(self): + def mindanao_province(self) -> str: return self.random_element(self.mindanao_provinces) - def province(self): + def administrative_unit(self) -> str: return self.random_element(self.provinces) - def standalone_building_number(self): + province = administrative_unit + + def standalone_building_number(self) -> str: return str(self.random_int(min=1)) - def partitioned_building_number(self): - pattern = self.lexify( - self.random_element(self.partitioned_building_number_formats), letters=ascii_uppercase[:10], + def partitioned_building_number(self) -> str: + pattern: str = self.lexify( + self.random_element(self.partitioned_building_number_formats), + letters=ascii_uppercase[:10], ) return self.generator.parse(pattern) - def building_number(self): + def building_number(self) -> str: if self.random_int() % 2 == 0: return self.standalone_building_number() else: return self.partitioned_building_number() - def ordinal_street_number(self): + def ordinal_street_number(self) -> str: return self._ordinal_string(self.random_int(1, 99)) - def floor_number(self): + def floor_number(self) -> str: return self.random_element(self.floor_numbers) - def ordinal_floor_number(self): + def ordinal_floor_number(self) -> str: return self._ordinal_string(self.floor_number()) - def floor_unit_number(self): - return '{floor_number}{unit_number:02d}'.format( - floor_number=self.floor_number(), - unit_number=self.random_int(1, 40), - ) + def floor_unit_number(self) -> str: + return f"{self.floor_number()}{self.random_int(1, 40):02d}" - def building_unit_number(self): + def building_unit_number(self) -> str: return self.generator.parse(self.random_element(self.building_unit_number_formats)) - def building_name(self): + def building_name(self) -> str: return self.generator.parse(self.random_element(self.building_name_formats)) - def building_name_suffix(self): + def building_name_suffix(self) -> str: return self.numerify(self.random_element(self.building_name_suffixes)) - def subdivision_block_number(self): - return '{block_number:02d}'.format(block_number=self.random_int(1, 25)) + def subdivision_block_number(self) -> str: + return f"{self.random_int(1, 25):02d}" - def subdivision_lot_number(self): - return '{lot_number:02d}'.format(lot_number=self.random_int(1, 99)) + def subdivision_lot_number(self) -> str: + return f"{self.random_int(1, 99):02d}" - def subdivision_unit_number(self): + def subdivision_unit_number(self) -> str: return self.generator.parse(self.random_element(self.subdivision_unit_number_formats)) - def subdivision_name(self): + def subdivision_name(self) -> str: return self.generator.parse(self.random_element(self.subdivision_name_formats)) - def subdivision_name_suffix(self): + def subdivision_name_suffix(self) -> str: return self.numerify(self.random_element(self.subdivision_name_suffixes)) - def metro_manila_lgu(self): + def metro_manila_lgu(self) -> str: return self.random_element(self.metro_manila_lgus) - def province_lgu(self): + def province_lgu(self) -> str: return self.random_element(self.province_lgus) - def metro_manila_address(self): + def metro_manila_address(self) -> str: return self._create_address(self.metro_manila_address_formats) - def luzon_province_address(self): + def luzon_province_address(self) -> str: return self._create_address(self.luzon_province_address_formats) - def visayas_province_address(self): + def visayas_province_address(self) -> str: return self._create_address(self.visayas_province_address_formats) - def mindanao_province_address(self): + def mindanao_province_address(self) -> str: return self._create_address(self.mindanao_province_address_formats) - def address(self): + def address(self) -> str: return self._create_address(self.random_element(self.address_formats)) diff --git a/faker/providers/address/en_US/__init__.py b/faker/providers/address/en_US/__init__.py index 36c673ea6b..1ac7c0153f 100644 --- a/faker/providers/address/en_US/__init__.py +++ b/faker/providers/address/en_US/__init__.py @@ -1,360 +1,491 @@ from collections import OrderedDict +from typing import Optional from ..en import Provider as AddressProvider class Provider(AddressProvider): - city_prefixes = ('North', 'East', 'West', 'South', 'New', 'Lake', 'Port') + city_prefixes = ("North", "East", "West", "South", "New", "Lake", "Port") city_suffixes = ( - 'town', - 'ton', - 'land', - 'ville', - 'berg', - 'burgh', - 'borough', - 'bury', - 'view', - 'port', - 'mouth', - 'stad', - 'furt', - 'chester', - 'mouth', - 'fort', - 'haven', - 'side', - 'shire') - - building_number_formats = ('#####', '####', '###') + "town", + "ton", + "land", + "ville", + "berg", + "burgh", + "borough", + "bury", + "view", + "port", + "mouth", + "stad", + "furt", + "chester", + "mouth", + "fort", + "haven", + "side", + "shire", + ) + + building_number_formats = ("#####", "####", "###") street_suffixes = ( - 'Alley', - 'Avenue', - 'Branch', - 'Bridge', - 'Brook', - 'Brooks', - 'Burg', - 'Burgs', - 'Bypass', - 'Camp', - 'Canyon', - 'Cape', - 'Causeway', - 'Center', - 'Centers', - 'Circle', - 'Circles', - 'Cliff', - 'Cliffs', - 'Club', - 'Common', - 'Corner', - 'Corners', - 'Course', - 'Court', - 'Courts', - 'Cove', - 'Coves', - 'Creek', - 'Crescent', - 'Crest', - 'Crossing', - 'Crossroad', - 'Curve', - 'Dale', - 'Dam', - 'Divide', - 'Drive', - 'Drive', - 'Drives', - 'Estate', - 'Estates', - 'Expressway', - 'Extension', - 'Extensions', - 'Fall', - 'Falls', - 'Ferry', - 'Field', - 'Fields', - 'Flat', - 'Flats', - 'Ford', - 'Fords', - 'Forest', - 'Forge', - 'Forges', - 'Fork', - 'Forks', - 'Fort', - 'Freeway', - 'Garden', - 'Gardens', - 'Gateway', - 'Glen', - 'Glens', - 'Green', - 'Greens', - 'Grove', - 'Groves', - 'Harbor', - 'Harbors', - 'Haven', - 'Heights', - 'Highway', - 'Hill', - 'Hills', - 'Hollow', - 'Inlet', - 'Inlet', - 'Island', - 'Island', - 'Islands', - 'Islands', - 'Isle', - 'Isle', - 'Junction', - 'Junctions', - 'Key', - 'Keys', - 'Knoll', - 'Knolls', - 'Lake', - 'Lakes', - 'Land', - 'Landing', - 'Lane', - 'Light', - 'Lights', - 'Loaf', - 'Lock', - 'Locks', - 'Locks', - 'Lodge', - 'Lodge', - 'Loop', - 'Mall', - 'Manor', - 'Manors', - 'Meadow', - 'Meadows', - 'Mews', - 'Mill', - 'Mills', - 'Mission', - 'Mission', - 'Motorway', - 'Mount', - 'Mountain', - 'Mountain', - 'Mountains', - 'Mountains', - 'Neck', - 'Orchard', - 'Oval', - 'Overpass', - 'Park', - 'Parks', - 'Parkway', - 'Parkways', - 'Pass', - 'Passage', - 'Path', - 'Pike', - 'Pine', - 'Pines', - 'Place', - 'Plain', - 'Plains', - 'Plains', - 'Plaza', - 'Plaza', - 'Point', - 'Points', - 'Port', - 'Port', - 'Ports', - 'Ports', - 'Prairie', - 'Prairie', - 'Radial', - 'Ramp', - 'Ranch', - 'Rapid', - 'Rapids', - 'Rest', - 'Ridge', - 'Ridges', - 'River', - 'Road', - 'Road', - 'Roads', - 'Roads', - 'Route', - 'Row', - 'Rue', - 'Run', - 'Shoal', - 'Shoals', - 'Shore', - 'Shores', - 'Skyway', - 'Spring', - 'Springs', - 'Springs', - 'Spur', - 'Spurs', - 'Square', - 'Square', - 'Squares', - 'Squares', - 'Station', - 'Station', - 'Stravenue', - 'Stravenue', - 'Stream', - 'Stream', - 'Street', - 'Street', - 'Streets', - 'Summit', - 'Summit', - 'Terrace', - 'Throughway', - 'Trace', - 'Track', - 'Trafficway', - 'Trail', - 'Trail', - 'Tunnel', - 'Tunnel', - 'Turnpike', - 'Turnpike', - 'Underpass', - 'Union', - 'Unions', - 'Valley', - 'Valleys', - 'Via', - 'Viaduct', - 'View', - 'Views', - 'Village', - 'Village', - 'Villages', - 'Ville', - 'Vista', - 'Vista', - 'Walk', - 'Walks', - 'Wall', - 'Way', - 'Ways', - 'Well', - 'Wells') - - postcode_formats = ('#####', '#####-####') + "Alley", + "Avenue", + "Branch", + "Bridge", + "Brook", + "Brooks", + "Burg", + "Burgs", + "Bypass", + "Camp", + "Canyon", + "Cape", + "Causeway", + "Center", + "Centers", + "Circle", + "Circles", + "Cliff", + "Cliffs", + "Club", + "Common", + "Corner", + "Corners", + "Course", + "Court", + "Courts", + "Cove", + "Coves", + "Creek", + "Crescent", + "Crest", + "Crossing", + "Crossroad", + "Curve", + "Dale", + "Dam", + "Divide", + "Drive", + "Drive", + "Drives", + "Estate", + "Estates", + "Expressway", + "Extension", + "Extensions", + "Fall", + "Falls", + "Ferry", + "Field", + "Fields", + "Flat", + "Flats", + "Ford", + "Fords", + "Forest", + "Forge", + "Forges", + "Fork", + "Forks", + "Fort", + "Freeway", + "Garden", + "Gardens", + "Gateway", + "Glen", + "Glens", + "Green", + "Greens", + "Grove", + "Groves", + "Harbor", + "Harbors", + "Haven", + "Heights", + "Highway", + "Hill", + "Hills", + "Hollow", + "Inlet", + "Inlet", + "Island", + "Island", + "Islands", + "Islands", + "Isle", + "Isle", + "Junction", + "Junctions", + "Key", + "Keys", + "Knoll", + "Knolls", + "Lake", + "Lakes", + "Land", + "Landing", + "Lane", + "Light", + "Lights", + "Loaf", + "Lock", + "Locks", + "Locks", + "Lodge", + "Lodge", + "Loop", + "Mall", + "Manor", + "Manors", + "Meadow", + "Meadows", + "Mews", + "Mill", + "Mills", + "Mission", + "Mission", + "Motorway", + "Mount", + "Mountain", + "Mountain", + "Mountains", + "Mountains", + "Neck", + "Orchard", + "Oval", + "Overpass", + "Park", + "Parks", + "Parkway", + "Parkways", + "Pass", + "Passage", + "Path", + "Pike", + "Pine", + "Pines", + "Place", + "Plain", + "Plains", + "Plains", + "Plaza", + "Plaza", + "Point", + "Points", + "Port", + "Port", + "Ports", + "Ports", + "Prairie", + "Prairie", + "Radial", + "Ramp", + "Ranch", + "Rapid", + "Rapids", + "Rest", + "Ridge", + "Ridges", + "River", + "Road", + "Road", + "Roads", + "Roads", + "Route", + "Row", + "Rue", + "Run", + "Shoal", + "Shoals", + "Shore", + "Shores", + "Skyway", + "Spring", + "Springs", + "Springs", + "Spur", + "Spurs", + "Square", + "Square", + "Squares", + "Squares", + "Station", + "Station", + "Stravenue", + "Stravenue", + "Stream", + "Stream", + "Street", + "Street", + "Streets", + "Summit", + "Summit", + "Terrace", + "Throughway", + "Trace", + "Track", + "Trafficway", + "Trail", + "Trail", + "Tunnel", + "Tunnel", + "Turnpike", + "Turnpike", + "Underpass", + "Union", + "Unions", + "Valley", + "Valleys", + "Via", + "Viaduct", + "View", + "Views", + "Village", + "Village", + "Villages", + "Ville", + "Vista", + "Vista", + "Walk", + "Walks", + "Wall", + "Way", + "Ways", + "Well", + "Wells", + ) + + postcode_formats = ("#####", "#####-####") states = ( - 'Alabama', 'Alaska', 'Arizona', 'Arkansas', 'California', 'Colorado', - 'Connecticut', 'Delaware', 'Florida', 'Georgia', 'Hawaii', 'Idaho', - 'Illinois', 'Indiana', 'Iowa', 'Kansas', 'Kentucky', 'Louisiana', - 'Maine', 'Maryland', 'Massachusetts', 'Michigan', 'Minnesota', - 'Mississippi', 'Missouri', 'Montana', 'Nebraska', 'Nevada', - 'New Hampshire', 'New Jersey', 'New Mexico', 'New York', - 'North Carolina', 'North Dakota', 'Ohio', 'Oklahoma', 'Oregon', - 'Pennsylvania', 'Rhode Island', 'South Carolina', 'South Dakota', - 'Tennessee', 'Texas', 'Utah', 'Vermont', 'Virginia', 'Washington', - 'West Virginia', 'Wisconsin', 'Wyoming', + "Alabama", + "Alaska", + "Arizona", + "Arkansas", + "California", + "Colorado", + "Connecticut", + "Delaware", + "Florida", + "Georgia", + "Hawaii", + "Idaho", + "Illinois", + "Indiana", + "Iowa", + "Kansas", + "Kentucky", + "Louisiana", + "Maine", + "Maryland", + "Massachusetts", + "Michigan", + "Minnesota", + "Mississippi", + "Missouri", + "Montana", + "Nebraska", + "Nevada", + "New Hampshire", + "New Jersey", + "New Mexico", + "New York", + "North Carolina", + "North Dakota", + "Ohio", + "Oklahoma", + "Oregon", + "Pennsylvania", + "Rhode Island", + "South Carolina", + "South Dakota", + "Tennessee", + "Texas", + "Utah", + "Vermont", + "Virginia", + "Washington", + "West Virginia", + "Wisconsin", + "Wyoming", ) states_abbr = ( - 'AL', 'AK', 'AZ', 'AR', 'CA', 'CO', 'CT', 'DE', 'DC', 'FL', 'GA', 'HI', - 'ID', 'IL', 'IN', 'IA', 'KS', 'KY', 'LA', 'ME', 'MD', 'MA', 'MI', 'MN', - 'MS', 'MO', 'MT', 'NE', 'NV', 'NH', 'NJ', 'NM', 'NY', 'NC', 'ND', 'OH', - 'OK', 'OR', 'PA', 'RI', 'SC', 'SD', 'TN', 'TX', 'UT', 'VT', 'VA', 'WA', - 'WV', 'WI', 'WY', + "AL", + "AK", + "AZ", + "AR", + "CA", + "CO", + "CT", + "DE", + "DC", + "FL", + "GA", + "HI", + "ID", + "IL", + "IN", + "IA", + "KS", + "KY", + "LA", + "ME", + "MD", + "MA", + "MI", + "MN", + "MS", + "MO", + "MT", + "NE", + "NV", + "NH", + "NJ", + "NM", + "NY", + "NC", + "ND", + "OH", + "OK", + "OR", + "PA", + "RI", + "SC", + "SD", + "TN", + "TX", + "UT", + "VT", + "VA", + "WA", + "WV", + "WI", + "WY", ) states_postcode = { - 'AL': (35004, 36925), 'AK': (99501, 99950), 'AZ': (85001, 86556), - 'AR': (71601, 72959), 'CA': (90001, 96162), 'CO': (80001, 81658), - 'CT': (6001, 6389), 'DE': (19701, 19980), 'DC': (20001, 20039), - 'FL': (32004, 34997), 'GA': (30001, 31999), 'HI': (96701, 96898), - 'ID': (83201, 83876), 'IL': (60001, 62999), 'IN': (46001, 47997), - 'IA': (50001, 52809), 'KS': (66002, 67954), 'KY': (40003, 42788), - 'LA': (70001, 71232), 'ME': (3901, 4992), 'MD': (20331, 20331), - 'MA': (1001, 2791), 'MI': (48001, 49971), 'MN': (55001, 56763), - 'MS': (38601, 39776), 'MO': (63001, 65899), 'MT': (59001, 59937), - 'NE': (68001, 68118), 'NV': (88901, 89883), 'NH': (3031, 3897), - 'NJ': (7001, 8989), 'NM': (87001, 88441), 'NY': (10001, 14905), - 'NC': (27006, 28909), 'ND': (58001, 58856), 'OH': (43001, 45999), - 'OK': (73001, 73199), 'OR': (97001, 97920), 'PA': (15001, 19640), - 'RI': (2801, 2940), 'SC': (29001, 29948), 'SD': (57001, 57799), - 'TN': (37010, 38589), 'TX': (73301, 73301), 'UT': (84001, 84784), - 'VT': (5001, 5495), 'VA': (20040, 20041), 'WA': (98001, 99403), - 'WV': (24701, 26886), 'WI': (53001, 54990), 'WY': (82001, 83128), + "AL": (35004, 36925), + "AK": (99501, 99950), + "AZ": (85001, 86556), + "AR": (71601, 72959), + "CA": (90001, 96162), + "CO": (80001, 81658), + "CT": (6001, 6389), + "DE": (19701, 19980), + "DC": (20001, 20039), + "FL": (32004, 34997), + "GA": (30001, 31999), + "HI": (96701, 96898), + "ID": (83201, 83876), + "IL": (60001, 62999), + "IN": (46001, 47997), + "IA": (50001, 52809), + "KS": (66002, 67954), + "KY": (40003, 42788), + "LA": (70001, 71232), + "ME": (3901, 4992), + "MD": (20812, 21930), + "MA": (1001, 2791), + "MI": (48001, 49971), + "MN": (55001, 56763), + "MS": (38601, 39776), + "MO": (63001, 65899), + "MT": (59001, 59937), + "NE": (68001, 68118), + "NV": (88901, 89883), + "NH": (3031, 3897), + "NJ": (7001, 8989), + "NM": (87001, 88441), + "NY": (10001, 14905), + "NC": (27006, 28909), + "ND": (58001, 58856), + "OH": (43001, 45999), + "OK": (73001, 73199), + "OR": (97001, 97920), + "PA": (15001, 19640), + "RI": (2801, 2940), + "SC": (29001, 29948), + "SD": (57001, 57799), + "TN": (37010, 38589), + "TX": (75503, 79999), + "UT": (84001, 84784), + "VT": (5001, 5495), + "VA": (22001, 24658), + "WA": (98001, 99403), + "WV": (24701, 26886), + "WI": (53001, 54990), + "WY": (82001, 83128), } territories_abbr = ( - 'AS', 'FM', 'GU', 'MH', 'MP', 'PW', 'PR', 'VI', + "AS", + "FM", + "GU", + "MH", + "MP", + "PW", + "PR", + "VI", ) states_and_territories_abbr = states_abbr + territories_abbr - military_state_abbr = ('AE', 'AA', 'AP') + military_state_abbr = ("AE", "AA", "AP") - military_ship_prefix = ('USS', 'USNS', 'USNV', 'USCGC') + military_ship_prefix = ("USS", "USNS", "USNV", "USCGC") - military_apo_format = ("PSC ####, Box ####") + military_apo_format = "PSC ####, Box ####" - military_dpo_format = ("Unit #### Box ####") + military_dpo_format = "Unit #### Box ####" city_formats = ( - '{{city_prefix}} {{first_name}}{{city_suffix}}', - '{{city_prefix}} {{first_name}}', - '{{first_name}}{{city_suffix}}', - '{{last_name}}{{city_suffix}}', + "{{city_prefix}} {{first_name}}{{city_suffix}}", + "{{city_prefix}} {{first_name}}", + "{{first_name}}{{city_suffix}}", + "{{last_name}}{{city_suffix}}", ) street_name_formats = ( - '{{first_name}} {{street_suffix}}', - '{{last_name}} {{street_suffix}}', + "{{first_name}} {{street_suffix}}", + "{{last_name}} {{street_suffix}}", ) street_address_formats = ( - '{{building_number}} {{street_name}}', - '{{building_number}} {{street_name}} {{secondary_address}}', + "{{building_number}} {{street_name}}", + "{{building_number}} {{street_name}} {{secondary_address}}", ) - address_formats = ( - "{{street_address}}\n{{city}}, {{state_abbr}} {{postcode}}", + address_formats = OrderedDict( + ( + ("{{street_address}}\n{{city}}, {{state_abbr}} {{postcode}}", 25.0), + # military address formatting. + ("{{military_apo}}\nAPO {{military_state}} {{postcode}}", 1.0), + ( + "{{military_ship}} {{last_name}}\nFPO {{military_state}} {{postcode}}", + 1.0, + ), + ("{{military_dpo}}\nDPO {{military_state}} {{postcode}}", 1.0), + ) ) - address_formats = OrderedDict(( - ("{{street_address}}\n{{city}}, {{state_abbr}} {{postcode}}", 25), - # military address formatting. - ("{{military_apo}}\nAPO {{military_state}} {{postcode}}", 1), - ("{{military_ship}} {{last_name}}\nFPO {{military_state}} {{postcode}}", 1), - ("{{military_dpo}}\nDPO {{military_state}} {{postcode}}", 1), - )) - - secondary_address_formats = ('Apt. ###', 'Suite ###') + secondary_address_formats = ("Apt. ###", "Suite ###") - def city_prefix(self): + def city_prefix(self) -> str: return self.random_element(self.city_prefixes) - def secondary_address(self): - return self.numerify( - self.random_element( - self.secondary_address_formats)) + def secondary_address(self) -> str: + return self.numerify(self.random_element(self.secondary_address_formats)) - def state(self): + def administrative_unit(self) -> str: return self.random_element(self.states) - def state_abbr(self, include_territories=True): + state = administrative_unit + + def state_abbr(self, include_territories: bool = True) -> str: """ :returns: A random state or territory abbreviation. @@ -365,14 +496,13 @@ def state_abbr(self, include_territories=True): self.random_element(self.states_and_territories_abbr) return self.random_element(self.states_abbr) - def postcode(self): + def postcode(self) -> str: return "%05d" % self.generator.random.randint(501, 99950) - def zipcode_plus4(self): - return "%s-%04d" % (self.zipcode(), - self.generator.random.randint(1, 9999)) + def zipcode_plus4(self) -> str: + return "%s-%04d" % (self.zipcode(), self.generator.random.randint(1, 9999)) - def postcode_in_state(self, state_abbr=None): + def postcode_in_state(self, state_abbr: Optional[str] = None) -> str: """ :returns: A random postcode within the provided state abbreviation @@ -382,9 +512,12 @@ def postcode_in_state(self, state_abbr=None): state_abbr = self.random_element(self.states_abbr) if state_abbr in self.states_abbr: - postcode = "%d" % (self.generator.random.randint( - self.states_postcode[state_abbr][0], - self.states_postcode[state_abbr][1])) + postcode = "%d" % ( + self.generator.random.randint( + self.states_postcode[state_abbr][0], + self.states_postcode[state_abbr][1], + ) + ) if len(postcode) == 4: postcode = "0%s" % postcode @@ -392,44 +525,44 @@ def postcode_in_state(self, state_abbr=None): return postcode else: - raise Exception('State Abbreviation not found in list') + raise Exception("State Abbreviation not found in list") - def military_ship(self): + def military_ship(self) -> str: """ :example 'USS' """ return self.random_element(self.military_ship_prefix) - def military_state(self): + def military_state(self) -> str: """ :example 'APO' """ return self.random_element(self.military_state_abbr) - def military_apo(self): + def military_apo(self) -> str: """ :example 'PSC 5394 Box 3492 """ return self.numerify(self.military_apo_format) - def military_dpo(self): + def military_dpo(self) -> str: """ :example 'Unit 3333 Box 9342' """ return self.numerify(self.military_dpo_format) # Aliases - def zipcode(self): + def zipcode(self) -> str: return self.postcode() - def zipcode_in_state(self, state_abbr=None): + def zipcode_in_state(self, state_abbr: Optional[str] = None) -> str: return self.postcode_in_state(state_abbr) - def postalcode(self): + def postalcode(self) -> str: return self.postcode() - def postalcode_in_state(self, state_abbr=None): + def postalcode_in_state(self, state_abbr: Optional[str] = None) -> str: return self.postcode_in_state(state_abbr) - def postalcode_plus4(self): + def postalcode_plus4(self) -> str: return self.zipcode_plus4() diff --git a/faker/providers/address/es/__init__.py b/faker/providers/address/es/__init__.py index 7d41c0d9e4..e8f9f09a02 100644 --- a/faker/providers/address/es/__init__.py +++ b/faker/providers/address/es/__init__.py @@ -5,45 +5,197 @@ class Provider(AddressProvider): # List of Countries https://www.un.org/es/members/ countries = ( - 'Afganistán', 'Albania', 'Alemania', 'Andorra', 'Angola', - 'Antigua y Barbuda', 'Arabia Saudita', 'Argelia', 'Argentina', - 'Armenia', 'Australia', 'Austria', 'Azerbaiyán', 'Bahamas', 'Bahrein', - 'Bangladesh', 'Barbados', 'Belarús', 'Bélgica', 'Belice', 'Benin', - 'Bhután', 'Bolivia', 'Bosnia y Herzegovina', 'Botswana', 'Brasil', - 'Brunei Darussalam', 'Bulgaria', 'Burkina Faso', 'Burundi', - 'Cabo Verde', 'Camboya', 'Camerún', 'Canadá', 'Chad', 'Chile', 'China', - 'Chipre', 'Colombia', 'Comoras', 'Congo', 'Costa Rica', - 'Côte d\'Ivoire', 'Croacia', 'Cuba', 'Dinamarca', 'Djibouti', - 'Dominicana', 'Ecuador', 'Egipto', 'El Salvador', - 'Emiratos Árabes Unidos', 'Eritrea', 'Eslovaquia', 'Eslovenia', - 'España', 'Estados Unidos de América', 'Estonia', 'Etiopía', - 'ex República Yugoslava de Macedonia', 'Federación de Rusia', 'Fiji', - 'Filipinas', 'Finlandia', 'Francia', 'Gabón', 'Gambia', 'Georgia', - 'Ghana', 'Granada', 'Grecia', 'Guatemala', 'Guinea', 'Guinea Bissau', - 'Guinea Ecuatorial', 'Guyana', 'Haití', 'Honduras', 'Hungría', 'India', - 'Indonesia', 'Irán', 'Iraq', 'Irlanda', 'Islandia', 'Islas Marshall', - 'Islas Salomón', 'Israel', 'Italia', 'Jamaica', 'Japón', 'Jordania', - 'Kazajstán', 'Kenya', 'Kirguistán', 'Kiribati', 'Kuwait', 'Lesotho', - 'Letonia', 'Líbano', 'Liberia', 'Libia', 'Liechtenstein', 'Lituania', - 'Luxemburgo', 'Madagascar', 'Malasia', 'Malawi', 'Maldivas', 'Mali', - 'Malta', 'Marruecos', 'Mauricio', 'Mauritania', 'México', 'Micronesia', - 'Mónaco', 'Mongolia', 'Montenegro', 'Mozambique', 'Myanmar', 'Namibia', - 'Nauru', 'Nicaragua', 'Niger', 'Nigeria', 'Noruega', 'Nueva Zelandia', - 'Omán', 'Países Bajos', 'Pakistán', 'Palau', 'Panamá', - 'Papua Nueva Guinea', 'Paraguay', 'Perú', 'Polonia', 'Portugal', - 'Qatar', 'Reino Unido de Gran Bretaña e Irlanda del Norte', - 'República Árabe Siria', 'República Centroafricana', 'República Checa', - 'República de Corea', 'República de Moldova', - 'República Democrática del Congo', 'República Democrática Popular Lao', - 'República Dominicana', 'República Federal Democrática de Nepal', - 'República Popular Democrática de Corea', 'República Unida de Tanzanía', - 'Rumania', 'Rwanda', 'Saint Kitts y Nevis', 'Samoa', 'San Marino', - 'Santa Lucía', 'Santo Tomé y Príncipe', 'San Vicente y las Granadinas', - 'Senegal', 'Serbia', 'Seychelles', 'Sierra Leona', 'Singapur', - 'Somalia', 'Sri Lanka', 'Sudáfrica', 'Sudán', 'Sudán del Sur', 'Suecia', - 'Suiza', 'Suriname', 'Swazilandia', 'Tailandia', 'Tayikistán', - 'Timor-Leste', 'Togo', 'Tonga', 'Trinidad y Tabago', 'Túnez', - 'Turkmenistán', 'Turquía', 'Tuvalu', 'Ucrania', 'Uganda', 'Uruguay', - 'Uzbekistán', 'Vanuatu', 'Venezuela', 'Vietman', 'Yemen', 'Zambia', - 'Zimbabwe', + "Afganistán", + "Albania", + "Alemania", + "Andorra", + "Angola", + "Antigua y Barbuda", + "Arabia Saudita", + "Argelia", + "Argentina", + "Armenia", + "Australia", + "Austria", + "Azerbaiyán", + "Bahamas", + "Bahrein", + "Bangladesh", + "Barbados", + "Belarús", + "Bélgica", + "Belice", + "Benin", + "Bhután", + "Bolivia", + "Bosnia y Herzegovina", + "Botswana", + "Brasil", + "Brunei Darussalam", + "Bulgaria", + "Burkina Faso", + "Burundi", + "Cabo Verde", + "Camboya", + "Camerún", + "Canadá", + "Chad", + "Chile", + "China", + "Chipre", + "Colombia", + "Comoras", + "Congo", + "Costa Rica", + "Côte d'Ivoire", + "Croacia", + "Cuba", + "Dinamarca", + "Djibouti", + "Dominicana", + "Ecuador", + "Egipto", + "El Salvador", + "Emiratos Árabes Unidos", + "Eritrea", + "Eslovaquia", + "Eslovenia", + "España", + "Estados Unidos de América", + "Estonia", + "Etiopía", + "ex República Yugoslava de Macedonia", + "Federación de Rusia", + "Fiji", + "Filipinas", + "Finlandia", + "Francia", + "Gabón", + "Gambia", + "Georgia", + "Ghana", + "Granada", + "Grecia", + "Guatemala", + "Guinea", + "Guinea Bissau", + "Guinea Ecuatorial", + "Guyana", + "Haití", + "Honduras", + "Hungría", + "India", + "Indonesia", + "Irán", + "Iraq", + "Irlanda", + "Islandia", + "Islas Marshall", + "Islas Salomón", + "Israel", + "Italia", + "Jamaica", + "Japón", + "Jordania", + "Kazajstán", + "Kenya", + "Kirguistán", + "Kiribati", + "Kuwait", + "Lesotho", + "Letonia", + "Líbano", + "Liberia", + "Libia", + "Liechtenstein", + "Lituania", + "Luxemburgo", + "Madagascar", + "Malasia", + "Malawi", + "Maldivas", + "Mali", + "Malta", + "Marruecos", + "Mauricio", + "Mauritania", + "México", + "Micronesia", + "Mónaco", + "Mongolia", + "Montenegro", + "Mozambique", + "Myanmar", + "Namibia", + "Nauru", + "Nicaragua", + "Niger", + "Nigeria", + "Noruega", + "Nueva Zelandia", + "Omán", + "Países Bajos", + "Pakistán", + "Palau", + "Panamá", + "Papua Nueva Guinea", + "Paraguay", + "Perú", + "Polonia", + "Portugal", + "Qatar", + "Reino Unido de Gran Bretaña e Irlanda del Norte", + "República Árabe Siria", + "República Centroafricana", + "República Checa", + "República de Corea", + "República de Moldova", + "República Democrática del Congo", + "República Democrática Popular Lao", + "República Dominicana", + "República Federal Democrática de Nepal", + "República Popular Democrática de Corea", + "República Unida de Tanzanía", + "Rumania", + "Rwanda", + "Saint Kitts y Nevis", + "Samoa", + "San Marino", + "Santa Lucía", + "Santo Tomé y Príncipe", + "San Vicente y las Granadinas", + "Senegal", + "Serbia", + "Seychelles", + "Sierra Leona", + "Singapur", + "Somalia", + "Sri Lanka", + "Sudáfrica", + "Sudán", + "Sudán del Sur", + "Suecia", + "Suiza", + "Suriname", + "Swazilandia", + "Tailandia", + "Tayikistán", + "Timor-Leste", + "Togo", + "Tonga", + "Trinidad y Tabago", + "Túnez", + "Turkmenistán", + "Turquía", + "Tuvalu", + "Ucrania", + "Uganda", + "Uruguay", + "Uzbekistán", + "Vanuatu", + "Venezuela", + "Vietman", + "Yemen", + "Zambia", + "Zimbabwe", ) diff --git a/faker/providers/address/es_ES/__init__.py b/faker/providers/address/es_ES/__init__.py index 4438dbeda3..e9d9ab323b 100644 --- a/faker/providers/address/es_ES/__init__.py +++ b/faker/providers/address/es_ES/__init__.py @@ -2,124 +2,137 @@ class Provider(AddressProvider): - building_number_formats = ('%', '%#', '%#', '%#', '%##') + building_number_formats = ("%", "%#", "%#", "%#", "%##") street_prefixes = ( - 'Plaza', 'Calle', 'Avenida', 'Via', 'Vial', 'Rambla', 'Glorieta', - 'Urbanización', 'Callejón', 'Cañada', 'Alameda', 'Acceso', 'C.', - 'Ronda', 'Pasaje', 'Cuesta', 'Pasadizo', 'Paseo', 'Camino', + "Plaza", + "Calle", + "Avenida", + "Via", + "Vial", + "Rambla", + "Glorieta", + "Urbanización", + "Callejón", + "Cañada", + "Alameda", + "Acceso", + "C.", + "Ronda", + "Pasaje", + "Cuesta", + "Pasadizo", + "Paseo", + "Camino", ) - postcode_formats = ('#####', ) + postcode_formats = ("#####",) states = ( - 'Álava', - 'Albacete', - 'Alicante', - 'Almería', - 'Asturias', - 'Ávila', - 'Badajoz', - 'Baleares', - 'Barcelona', - 'Burgos', - 'Cáceres', - 'Cádiz', - 'Cantabria', - 'Castellón', - 'Ceuta', - 'Ciudad', - 'Córdoba', - 'Cuenca', - 'Girona', - 'Granada', - 'Guadalajara', - 'Guipúzcoa', - 'Huelva', - 'Huesca', - 'Jaén', - 'La Coruña', - 'La Rioja', - 'Las Palmas', - 'León', - 'Lleida', - 'Lugo', - 'Madrid', - 'Málaga', - 'Melilla', - 'Murcia', - 'Navarra', - 'Ourense', - 'Palencia', - 'Pontevedra', - 'Salamanca', - 'Santa Cruz de Tenerife', - 'Segovia', - 'Sevilla', - 'Soria', - 'Tarragona', - 'Teruel', - 'Toledo', - 'Valencia', - 'Valladolid', - 'Vizcaya', - 'Zamora', - 'Zaragoza') + "Álava", + "Albacete", + "Alicante", + "Almería", + "Asturias", + "Ávila", + "Badajoz", + "Baleares", + "Barcelona", + "Burgos", + "Cáceres", + "Cádiz", + "Cantabria", + "Castellón", + "Ceuta", + "Ciudad", + "Córdoba", + "Cuenca", + "Girona", + "Granada", + "Guadalajara", + "Guipúzcoa", + "Huelva", + "Huesca", + "Jaén", + "La Coruña", + "La Rioja", + "Las Palmas", + "León", + "Lleida", + "Lugo", + "Madrid", + "Málaga", + "Melilla", + "Murcia", + "Navarra", + "Ourense", + "Palencia", + "Pontevedra", + "Salamanca", + "Santa Cruz de Tenerife", + "Segovia", + "Sevilla", + "Soria", + "Tarragona", + "Teruel", + "Toledo", + "Valencia", + "Valladolid", + "Vizcaya", + "Zamora", + "Zaragoza", + ) # Source: # https://administracionelectronica.gob.es/ctt/resources/Soluciones # /238/Descargas/Catalogo-de-Comunidades-Autonomas.xlsx regions = ( - 'Andalucía', - 'Aragón', - 'Principado de Asturias', - 'Illes Balears', - 'Canarias', - 'Cantabria', - 'Castilla y León', - 'Castilla-La Mancha', - 'Cataluña', - 'Comunitat Valenciana', - 'Extremadura', - 'Galicia', - 'Comunidad de Madrid', - 'Región de Murcia', - 'Comunidad Foral de Navarra', - 'País Vasco', - 'La Rioja', - 'Ciudad Autónoma de Ceuta', - 'Ciudad Autónoma de Melilla') - - city_formats = ( - '{{state_name}}', + "Andalucía", + "Aragón", + "Principado de Asturias", + "Illes Balears", + "Canarias", + "Cantabria", + "Castilla y León", + "Castilla-La Mancha", + "Cataluña", + "Comunitat Valenciana", + "Extremadura", + "Galicia", + "Comunidad de Madrid", + "Región de Murcia", + "Comunidad Foral de Navarra", + "País Vasco", + "La Rioja", + "Ciudad Autónoma de Ceuta", + "Ciudad Autónoma de Melilla", ) - street_name_formats = ( - '{{street_prefix}} {{first_name}} {{last_name}}', - '{{street_prefix}} de {{first_name}} {{last_name}}', + city_formats = ("{{state_name}}",) + street_name_formats = ( + "{{street_prefix}} {{first_name}} {{last_name}}", + "{{street_prefix}} de {{first_name}} {{last_name}}", ) street_address_formats = ( - '{{street_name}} {{building_number}}', - '{{street_name}} {{building_number}} {{secondary_address}} ', - ) - address_formats = ( - "{{street_address}}\n{{city}}, {{postcode}}", + "{{street_name}} {{building_number}}", + "{{street_name}} {{building_number}} {{secondary_address}} ", ) - secondary_address_formats = ('Apt. ##', 'Piso #', 'Puerta #') + address_formats = ("{{street_address}}\n{{city}}, {{postcode}}",) + secondary_address_formats = ("Apt. ##", "Piso #", "Puerta #") - def state_name(self): + def state_name(self) -> str: return self.random_element(self.states) - def street_prefix(self): + def street_prefix(self) -> str: return self.random_element(self.street_prefixes) - def secondary_address(self): - return self.numerify( - self.random_element( - self.secondary_address_formats)) + def secondary_address(self) -> str: + return self.numerify(self.random_element(self.secondary_address_formats)) - def state(self): + def administrative_unit(self) -> str: return self.random_element(self.states) - def region(self): + state = administrative_unit + + def region(self) -> str: return self.random_element(self.regions) autonomous_community = region diff --git a/faker/providers/address/es_MX/__init__.py b/faker/providers/address/es_MX/__init__.py index 556536786e..c51b6a7abb 100644 --- a/faker/providers/address/es_MX/__init__.py +++ b/faker/providers/address/es_MX/__init__.py @@ -4,124 +4,160 @@ class Provider(AddressProvider): - city_prefixes = ('Sur', 'Norte') - city_adjectives = ('Nueva', 'Vieja') - city_suffixes = ('de la Montaña', 'los bajos', 'los altos') + city_prefixes = ("Sur", "Norte") + city_adjectives = ("Nueva", "Vieja") + city_suffixes = ("de la Montaña", "los bajos", "los altos") street_prefixes = ( - 'Ampliación', 'Andador', 'Avenida', 'Boulevard', 'Calle', 'Callejón', - 'Calzada', 'Cerrada', 'Circuito', 'Circunvalación', 'Continuación', - 'Corredor', 'Diagonal', 'Eje vial', 'Pasaje', 'Peatonal', 'Periférico', - 'Privada', 'Prolongación', 'Retorno', 'Viaducto', + "Ampliación", + "Andador", + "Avenida", + "Boulevard", + "Calle", + "Callejón", + "Calzada", + "Cerrada", + "Circuito", + "Circunvalación", + "Continuación", + "Corredor", + "Diagonal", + "Eje vial", + "Pasaje", + "Peatonal", + "Periférico", + "Privada", + "Prolongación", + "Retorno", + "Viaducto", ) - building_number_formats = ('#####', '####', '###') - postcode_formats = ('#####', '#####-####') + building_number_formats = ("#####", "####", "###") + postcode_formats = ("#####", "#####-####") # States and abbrs from Mexico from INEGI # http://www.inegi.org.mx/geo/contenidos/geoestadistica/CatalogoClaves.aspx states = ( - ('AGS', 'Aguascalientes'), ('BC', 'Baja California'), - ('BCS', 'Baja California Sur'), ('CAMP', 'Campeche'), - ('COAH', 'Coahuila de Zaragoza'), ('COL', 'Colima'), - ('CHIS', 'Chiapas'), ('CHIH', 'Chihuahua'), - ('DF', 'Distrito Federal'), ('DGO', 'Durango'), - ('GTO', 'Guanajuato'), ('GRO', 'Guerrero'), ('HGO', 'Hidalgo'), - ('JAL', 'Jalisco'), ('MEX', 'México'), - ('MICH', 'Michoacán de Ocampo'), ('MOR', 'Morelos'), - ('NAY', 'Nayarit'), ('NL', 'Nuevo León'), ('OAX', 'Oaxaca'), - ('PUE', 'Puebla'), ('QRO', 'Querétaro'), - ('Q. ROO', 'Quintana Roo'), ('SLP', 'San Luis Potosí'), - ('SIN', 'Sinaloa'), ('SON', 'Sonora'), ('TAB', 'Tabasco'), - ('TAMPS', 'Tamaulipas'), ('TLAX', 'Tlaxcala'), - ('VER', 'Veracruz de Ignacio de la Llave'), - ('YUC', 'Yucatán'), ('ZAC', 'Zacatecas')) + ("AGS", "Aguascalientes"), + ("BC", "Baja California"), + ("BCS", "Baja California Sur"), + ("CAMP", "Campeche"), + ("COAH", "Coahuila de Zaragoza"), + ("COL", "Colima"), + ("CHIS", "Chiapas"), + ("CHIH", "Chihuahua"), + ("DF", "Distrito Federal"), + ("DGO", "Durango"), + ("GTO", "Guanajuato"), + ("GRO", "Guerrero"), + ("HGO", "Hidalgo"), + ("JAL", "Jalisco"), + ("MEX", "México"), + ("MICH", "Michoacán de Ocampo"), + ("MOR", "Morelos"), + ("NAY", "Nayarit"), + ("NL", "Nuevo León"), + ("OAX", "Oaxaca"), + ("PUE", "Puebla"), + ("QRO", "Querétaro"), + ("Q. ROO", "Quintana Roo"), + ("SLP", "San Luis Potosí"), + ("SIN", "Sinaloa"), + ("SON", "Sonora"), + ("TAB", "Tabasco"), + ("TAMPS", "Tamaulipas"), + ("TLAX", "Tlaxcala"), + ("VER", "Veracruz de Ignacio de la Llave"), + ("YUC", "Yucatán"), + ("ZAC", "Zacatecas"), + ) - zip_codes = OrderedDict(( - # The ZipCodes has a begin & final range - # Source: Norma Técnica de Domicilios INEGI - ('AGS', (20000, 20999)), - ('BC', (21000, 22999)), - ('BCS', (23000, 23999)), - ('CAMP', (24000, 24999)), - ('COAH', (25000, 27999)), - ('COL', (28000, 28999)), - ('CHIS', (29000, 30999)), - ('CHIH', (31000, 33999)), - ('DF', (1000, 19999)), - ('DGO', (36000, 35999)), - ('GTO', (36000, 38999)), - ('GRO', (39000, 41999)), - ('HGO', (42000, 43999)), - ('JAL', (44000, 49999)), - ('MEX', (50000, 57999)), - ('MICH', (58000, 61999)), - ('MOR', (62000, 62999)), - ('NAY', (63000, 63999)), - ('NL', (64000, 67999)), - ('OAX', (68000, 71999)), - ('PUE', (72000, 75999)), - ('QRO', (76000, 76999)), - ('Q. ROO', (77000, 75999)), - ('SLP', (78000, 79999)), - ('SIN', (80000, 82999)), - ('SON', (83000, 85999)), - ('TAB', (86000, 86999)), - ('TAMPS', (87000, 89999)), - ('TLAX', (90000, 90999)), - ('VER', (91000, 97999)), - ('YUC', (97000, 97999)), - ('ZAC', (98000, 99999)), - )) + zip_codes = OrderedDict( + ( + # The ZipCodes has a begin & final range + # Source: Norma Técnica de Domicilios INEGI + ("AGS", (20000, 20999)), + ("BC", (21000, 22999)), + ("BCS", (23000, 23999)), + ("CAMP", (24000, 24999)), + ("COAH", (25000, 27999)), + ("COL", (28000, 28999)), + ("CHIS", (29000, 30999)), + ("CHIH", (31000, 33999)), + ("DF", (1000, 19999)), + ("DGO", (36000, 35999)), + ("GTO", (36000, 38999)), + ("GRO", (39000, 41999)), + ("HGO", (42000, 43999)), + ("JAL", (44000, 49999)), + ("MEX", (50000, 57999)), + ("MICH", (58000, 61999)), + ("MOR", (62000, 62999)), + ("NAY", (63000, 63999)), + ("NL", (64000, 67999)), + ("OAX", (68000, 71999)), + ("PUE", (72000, 75999)), + ("QRO", (76000, 76999)), + ("Q. ROO", (77000, 75999)), + ("SLP", (78000, 79999)), + ("SIN", (80000, 82999)), + ("SON", (83000, 85999)), + ("TAB", (86000, 86999)), + ("TAMPS", (87000, 89999)), + ("TLAX", (90000, 90999)), + ("VER", (91000, 97999)), + ("YUC", (97000, 97999)), + ("ZAC", (98000, 99999)), + ) + ) city_formats = ( - '{{city_adjective}} {{country}}', - 'San {{first_name}} {{city_suffix}}', + "{{city_adjective}} {{country}}", + "San {{first_name}} {{city_suffix}}", ) street_name_formats = ( - '{{street_prefix}} {{last_name}}', - '{{street_prefix}} {{country}}', - '{{street_prefix}} {{state}}', - '{{street_prefix}} {{city_prefix}} {{last_name}}', + "{{street_prefix}} {{last_name}}", + "{{street_prefix}} {{country}}", + "{{street_prefix}} {{state}}", + "{{street_prefix}} {{city_prefix}} {{last_name}}", ) - street_address_formats = ( - '{{street_name}} {{secondary_address}}', + street_address_formats = ("{{street_name}} {{secondary_address}}",) + address_formats = ("{{street_address}}\n{{city}}, {{state_abbr}} {{postcode}}",) + secondary_address_formats = ( + "### ###", + "### Interior ###", + "### Edif. ### , Depto. ###", ) - address_formats = ( - "{{street_address}}\n{{city}}, {{state_abbr}} {{postcode}}", - ) - secondary_address_formats = ('### ###', '### Interior ###', - '### Edif. ### , Depto. ###') - def city_prefix(self): + def city_prefix(self) -> str: return self.random_element(self.city_prefixes) - def city_suffix(self): + def city_suffix(self) -> str: return self.random_element(self.city_suffixes) - def city_adjective(self): + def city_adjective(self) -> str: return self.random_element(self.city_adjectives) - def street_prefix(self): + def street_prefix(self) -> str: """ :example 'Avenida' """ return self.random_element(self.street_prefixes) - def secondary_address(self): + def secondary_address(self) -> str: """ :example '020 Interior 999' """ - return self.numerify( - self.random_element( - self.secondary_address_formats)) + return self.numerify(self.random_element(self.secondary_address_formats)) - def state(self): + def administrative_unit(self) -> str: """ example: u'Guerrero' """ - return self.random_element(self.states)[1] + return self.random_element(self.states)[1] # type: ignore + + state = administrative_unit - def state_abbr(self): + def state_abbr(self) -> str: """ example: u'GRO' """ - return self.random_element(self.states)[0] + return self.random_element(self.states)[0] # type: ignore diff --git a/faker/providers/address/fa_IR/__init__.py b/faker/providers/address/fa_IR/__init__.py index 78fff9edad..ad79a701b2 100644 --- a/faker/providers/address/fa_IR/__init__.py +++ b/faker/providers/address/fa_IR/__init__.py @@ -3,84 +3,294 @@ class Provider(AddressProvider): city_prefixes = ( - 'شمال', 'غرب', 'شرق', 'جنوب', 'بندر', 'شهر', 'روستای', 'دهستان', - 'شهرستان', 'باغات', 'استان', + "شمال", + "غرب", + "شرق", + "جنوب", + "بندر", + "شهر", + "روستای", + "دهستان", + "شهرستان", + "باغات", + "استان", ) - building_number_formats = ('#####', '####', '###') + building_number_formats = ("#####", "####", "###") street_suffixes = ( - 'کوچه', 'خیابان', 'پل', 'دره', 'میدان', 'چهار راه', 'بن بست', 'بلوار', - 'جنب', 'تقاطع', 'آزاد راه', 'بزرگ راه', 'جزیره', 'کوه', 'جاده', 'تونل', + "کوچه", + "خیابان", + "پل", + "دره", + "میدان", + "چهار راه", + "بن بست", + "بلوار", + "جنب", + "تقاطع", + "آزاد راه", + "بزرگ راه", + "جزیره", + "کوه", + "جاده", + "تونل", ) - postcode_formats = ('###', '####', '#####', '######', '##########') + postcode_formats = ("###", "####", "#####", "######", "##########") states = ( - 'آذربایجان شرقی', 'آذربایجان غربی', 'اردبیل', 'خراسان', 'کردستان', - 'گیلان', 'اصفهان', 'البرز', 'ایلام', 'بوشهر', 'تهران', - 'چهارمحال و بختیاری', 'خراسان جنوبی', 'خراسان رضوی', 'خراسان شمالی', - 'خوزستان', 'زنجان', 'سمنان', 'سیستان و بلوچستان', 'فارس', 'قزوین', 'قم', - 'کرمان', 'کرمانشاه', 'کهگیلویه و بویراحمد', 'گلستان', 'لرستان', - 'مازندران', 'مرکزی', 'هرمزگان', 'همدان', 'یزد', + "آذربایجان شرقی", + "آذربایجان غربی", + "اردبیل", + "خراسان", + "کردستان", + "گیلان", + "اصفهان", + "البرز", + "ایلام", + "بوشهر", + "تهران", + "چهارمحال و بختیاری", + "خراسان جنوبی", + "خراسان رضوی", + "خراسان شمالی", + "خوزستان", + "زنجان", + "سمنان", + "سیستان و بلوچستان", + "فارس", + "قزوین", + "قم", + "کرمان", + "کرمانشاه", + "کهگیلویه و بویراحمد", + "گلستان", + "لرستان", + "مازندران", + "مرکزی", + "هرمزگان", + "همدان", + "یزد", ) countries = ( - 'جمهوری آذربایجان', 'آرژانتین', 'آفریقای جنوبی', 'جمهوری آفریقای مرکزی', - 'آلبانی', 'آلمان', 'آنتیگوا و باربودا', 'آندورا', 'آنگولا', 'اتریش', - 'اتیوپی', 'اردن', 'ارمنستان', 'اروگوئه', 'اریتره', 'ازبکستان', - 'اسپانیا', 'استرالیا', 'استونی', 'اسرائیل', 'اسلواکی', 'اسلوونی', - 'افغانستان', 'اکوادور', 'الجزایر', 'السالوادور', 'امارات متحده عربی', - 'اندونزی', 'اوکراین', 'اوگاندا', 'ایالات متحده آمریکا', 'ایتالیا', - 'ایران', 'جمهوری ایرلند', 'ایسلند', 'باربادوس', 'باهاما', 'بحرین', - 'برزیل', 'برونئی', 'بریتانیا', 'بلاروس', 'بلژیک', 'بلغارستان', 'بلیز', - 'بنگلادش', 'بنین', 'پادشاهی بوتان', 'بوتسوانا', 'بورکینافاسو', - 'بوروندی', 'بوسنی و هرزگوین', 'بولیوی', 'پاپوآ گینه نو', 'پاراگوئه', - 'پاناما', 'پاکستان', 'پرتغال', 'پرو', 'پورتوریکو', 'تاجیکستان', - 'تانزانیا', 'تایلند', 'جمهوری چین', 'ترکمنستان', 'ترکیه', - 'ترینیداد و توباگو', 'توگو', 'تونس', 'تونگا', 'تووالو', 'تیمور شرقی', - 'جامائیکا', 'جزایر سلیمان', 'جزایر مارشال', 'جمهوری چک', - 'جمهوری دومینیکن', 'جیبوتی', 'چاد', 'چین', 'دانمارک', 'دومینیکا', - 'جمهوری دومینیکن', 'رواندا', 'روسیه', 'رومانی', 'زامبیا', 'نیوزیلند', - 'زیمباوه', 'جمهوری دموکراتیک کنگو (زئیر)', 'ژاپن', 'سائوتومه و پرینسیپ', - 'ساحل عاج', 'ساموآی غربی', 'سن مارینو', 'سری‌لانکا', 'سنت کیتس و نویس', - 'سنت لوسیا', 'سنت وینسنت و گرنادین‌ها', 'سنگاپور', 'سنگال', 'سوئد', - 'سوئیس', 'سوازیلند', 'سودان', 'سودان جنوبی', 'سورینام', 'سوریه', - 'سومالی', 'سیرالئون', 'سیشل', 'شیلی', 'صربستان', 'عراق', - 'عربستان سعودی', 'عمان', 'غنا', 'فرانسه', 'فلسطین', 'فنلاند', 'فیجی', - 'فیلیپین', 'قبرس', 'قرقیزستان', 'قزاقستان', 'قطر', 'کامبوج', 'کامرون', - 'کانادا', 'کره جنوبی', 'کره شمالی', 'کرواسی', 'کاستاریکا', 'کلمبیا', - 'جمهوری کنگو', 'جمهوری دموکراتیک کنگو', 'کنیا', 'کوبا', 'کوزوو', - 'مجمع‌الجزایر قمر', 'کویت', 'کیپ ورد', 'کیریباتی', 'گابن', 'گامبیا', - 'گرجستان', 'گرنادا', 'گرینلند(از مستعمرات دانمارک)', 'گواتمالا', - 'گویان', 'گینه', 'گینه استوایی', 'گینه بیسائو', 'لائوس', 'لبنان', - 'لتونی', 'لسوتو', 'لهستان', 'لوکزامبورگ', 'لیبریا', 'لیبی', 'لیتوانی', - 'لیختن‌اشتاین', 'ماداگاسکار', 'مالاوی', 'مالت', 'مالدیو', 'مالزی', - 'مالی', 'مجارستان', 'مراکش', 'مصر', 'مغولستان', 'مقدونیه', 'مکزیک', - 'موریتانی', 'موریس', 'موزامبیک', 'مولداوی', 'موناکو', 'مونته‌نگرو', - 'میانمار', 'ایالات فدرال میکرونزی', 'نائورو', 'نامیبیا', 'نپال', - 'نروژ', 'نیجریه', 'نیکاراگوئه', 'نیوزیلند', 'واتیکان', 'وانواتو', - 'ونزوئلا', 'ویتنام', 'هائیتی', 'هلند', 'هندوراس', 'هند', 'یمن', 'یونان', + "جمهوری آذربایجان", + "آرژانتین", + "آفریقای جنوبی", + "جمهوری آفریقای مرکزی", + "آلبانی", + "آلمان", + "آنتیگوا و باربودا", + "آندورا", + "آنگولا", + "اتریش", + "اتیوپی", + "اردن", + "ارمنستان", + "اروگوئه", + "اریتره", + "ازبکستان", + "اسپانیا", + "استرالیا", + "استونی", + "اسرائیل", + "اسلواکی", + "اسلوونی", + "افغانستان", + "اکوادور", + "الجزایر", + "السالوادور", + "امارات متحده عربی", + "اندونزی", + "اوکراین", + "اوگاندا", + "ایالات متحده آمریکا", + "ایتالیا", + "ایران", + "جمهوری ایرلند", + "ایسلند", + "باربادوس", + "باهاما", + "بحرین", + "برزیل", + "برونئی", + "بریتانیا", + "بلاروس", + "بلژیک", + "بلغارستان", + "بلیز", + "بنگلادش", + "بنین", + "پادشاهی بوتان", + "بوتسوانا", + "بورکینافاسو", + "بوروندی", + "بوسنی و هرزگوین", + "بولیوی", + "پاپوآ گینه نو", + "پاراگوئه", + "پاناما", + "پاکستان", + "پرتغال", + "پرو", + "پورتوریکو", + "تاجیکستان", + "تانزانیا", + "تایلند", + "جمهوری چین", + "ترکمنستان", + "ترکیه", + "ترینیداد و توباگو", + "توگو", + "تونس", + "تونگا", + "تووالو", + "تیمور شرقی", + "جامائیکا", + "جزایر سلیمان", + "جزایر مارشال", + "جمهوری چک", + "جمهوری دومینیکن", + "جیبوتی", + "چاد", + "چین", + "دانمارک", + "دومینیکا", + "جمهوری دومینیکن", + "رواندا", + "روسیه", + "رومانی", + "زامبیا", + "نیوزیلند", + "زیمباوه", + "جمهوری دموکراتیک کنگو (زئیر)", + "ژاپن", + "سائوتومه و پرینسیپ", + "ساحل عاج", + "ساموآی غربی", + "سن مارینو", + "سری‌لانکا", + "سنت کیتس و نویس", + "سنت لوسیا", + "سنت وینسنت و گرنادین‌ها", + "سنگاپور", + "سنگال", + "سوئد", + "سوئیس", + "سوازیلند", + "سودان", + "سودان جنوبی", + "سورینام", + "سوریه", + "سومالی", + "سیرالئون", + "سیشل", + "شیلی", + "صربستان", + "عراق", + "عربستان سعودی", + "عمان", + "غنا", + "فرانسه", + "فلسطین", + "فنلاند", + "فیجی", + "فیلیپین", + "قبرس", + "قرقیزستان", + "قزاقستان", + "قطر", + "کامبوج", + "کامرون", + "کانادا", + "کره جنوبی", + "کره شمالی", + "کرواسی", + "کاستاریکا", + "کلمبیا", + "جمهوری کنگو", + "جمهوری دموکراتیک کنگو", + "کنیا", + "کوبا", + "کوزوو", + "مجمع‌الجزایر قمر", + "کویت", + "کیپ ورد", + "کیریباتی", + "گابن", + "گامبیا", + "گرجستان", + "گرنادا", + "گرینلند(از مستعمرات دانمارک)", + "گواتمالا", + "گویان", + "گینه", + "گینه استوایی", + "گینه بیسائو", + "لائوس", + "لبنان", + "لتونی", + "لسوتو", + "لهستان", + "لوکزامبورگ", + "لیبریا", + "لیبی", + "لیتوانی", + "لیختن‌اشتاین", + "ماداگاسکار", + "مالاوی", + "مالت", + "مالدیو", + "مالزی", + "مالی", + "مجارستان", + "مراکش", + "مصر", + "مغولستان", + "مقدونیه", + "مکزیک", + "موریتانی", + "موریس", + "موزامبیک", + "مولداوی", + "موناکو", + "مونته‌نگرو", + "میانمار", + "ایالات فدرال میکرونزی", + "نائورو", + "نامیبیا", + "نپال", + "نروژ", + "نیجریه", + "نیکاراگوئه", + "نیوزیلند", + "واتیکان", + "وانواتو", + "ونزوئلا", + "ویتنام", + "هائیتی", + "هلند", + "هندوراس", + "هند", + "یمن", + "یونان", ) - city_formats = ( - '{{city_prefix}} {{first_name}}', - ) + city_formats = ("{{city_prefix}} {{first_name}}",) street_name_formats = ( - '{{first_name}} {{street_suffix}}', - '{{last_name}} {{street_suffix}}', + "{{first_name}} {{street_suffix}}", + "{{last_name}} {{street_suffix}}", ) street_address_formats = ( - '{{building_number}} {{street_name}}', - '{{building_number}} {{street_name}} {{secondary_address}}', - ) - address_formats = ( - "{{street_address}}\n{{city}}, {{state}} {{postcode}}", + "{{building_number}} {{street_name}}", + "{{building_number}} {{street_name}} {{secondary_address}}", ) - secondary_address_formats = ('سوئیت ###', 'واحد ###') + address_formats = ("{{street_address}}\n{{city}}, {{state}} {{postcode}}",) + secondary_address_formats = ("سوئیت ###", "واحد ###") - def city_prefix(self): + def city_prefix(self) -> str: return self.random_element(self.city_prefixes) - def secondary_address(self): - return self.numerify( - self.random_element( - self.secondary_address_formats)) + def secondary_address(self) -> str: + return self.numerify(self.random_element(self.secondary_address_formats)) - def state(self): + def administrative_unit(self) -> str: return self.random_element(self.states) + + state = administrative_unit diff --git a/faker/providers/address/fi_FI/__init__.py b/faker/providers/address/fi_FI/__init__.py index d1ecf4bfbe..d2aa50d427 100644 --- a/faker/providers/address/fi_FI/__init__.py +++ b/faker/providers/address/fi_FI/__init__.py @@ -2,161 +2,799 @@ class Provider(AddressProvider): - building_number_formats = ('###', '##', '#') + building_number_formats = ("###", "##", "#") - postcode_formats = ('#####', ) + postcode_formats = ("#####",) - city_formats = ('{{city_name}}', ) + city_formats = ("{{city_name}}",) - street_name_formats = ('{{street_prefix}}{{street_suffix}}', ) + street_name_formats = ("{{street_prefix}}{{street_suffix}}",) - street_address_formats = ('{{street_name}} {{building_number}}', ) + street_address_formats = ("{{street_name}} {{building_number}}",) - address_formats = ("{{street_address}}\n{{postcode}} {{city}}", ) + address_formats = ("{{street_address}}\n{{postcode}} {{city}}",) # Data from: # https://www.avoindata.fi/data/en/dataset/kunnat/resource/b1cb9870-191f-4616-9c53-5388b7ca6beb cities = ( - 'Alajärvi', 'Alavieska', 'Alavus', 'Asikkala', 'Askola', 'Aura', 'Akaa', 'Brändö', 'Eckerö', 'Enonkoski', - 'Enontekiö', 'Espoo', 'Eura', 'Eurajoki', 'Evijärvi', 'Finström', 'Forssa', 'Föglö', 'Geta', 'Haapajärvi', - 'Haapavesi', 'Hailuoto', 'Halsua', 'Hamina', 'Hammarland', 'Hankasalmi', 'Hanko', 'Harjavalta', 'Hartola', - 'Hattula', 'Hausjärvi', 'Heinävesi', 'Helsinki', 'Vantaa', 'Hirvensalmi', 'Hollola', 'Honkajoki', 'Huittinen', - 'Humppila', 'Hyrynsalmi', 'Hyvinkää', 'Hämeenkyrö', 'Hämeenlinna', 'Heinola', 'Ii', 'Iisalmi', 'Iitti', - 'Ikaalinen', 'Ilmajoki', 'Ilomantsi', 'Inari', 'Inkoo', 'Isojoki', 'Isokyrö', 'Imatra', 'Janakkala', 'Joensuu', - 'Jokioinen', 'Jomala', 'Joroinen', 'Joutsa', 'Juuka', 'Juupajoki', 'Juva', 'Jyväskylä', 'Jämijärvi', 'Jämsä', - 'Järvenpää', 'Kaarina', 'Kaavi', 'Kajaani', 'Kalajoki', 'Kangasala', 'Kangasniemi', 'Kankaanpää', 'Kannonkoski', - 'Kannus', 'Karijoki', 'Karkkila', 'Karstula', 'Karvia', 'Kaskinen', 'Kauhajoki', 'Kauhava', 'Kauniainen', - 'Kaustinen', 'Keitele', 'Kemi', 'Keminmaa', 'Kempele', 'Kerava', 'Keuruu', 'Kihniö', 'Kinnula', 'Kirkkonummi', - 'Kitee', 'Kittilä', 'Kiuruvesi', 'Kivijärvi', 'Kokemäki', 'Kokkola', 'Kolari', 'Konnevesi', 'Kontiolahti', - 'Korsnäs', 'Koski Tl', 'Kotka', 'Kouvola', 'Kristiinankaupunki', 'Kruunupyy', 'Kuhmo', 'Kuhmoinen', 'Kumlinge', - 'Kuopio', 'Kuortane', 'Kurikka', 'Kustavi', 'Kuusamo', 'Outokumpu', 'Kyyjärvi', 'Kärkölä', 'Kärsämäki', 'Kökar', - 'Kemijärvi', 'Kemiönsaari', 'Lahti', 'Laihia', 'Laitila', 'Lapinlahti', 'Lappajärvi', 'Lappeenranta', - 'Lapinjärvi', 'Lapua', 'Laukaa', 'Lemi', 'Lemland', 'Lempäälä', 'Leppävirta', 'Lestijärvi', 'Lieksa', 'Lieto', - 'Liminka', 'Liperi', 'Loimaa', 'Loppi', 'Loviisa', 'Luhanka', 'Lumijoki', 'Lumparland', 'Luoto', 'Luumäki', - 'Lohja', 'Parainen', 'Maalahti', 'Maarianhamina', 'Marttila', 'Masku', 'Merijärvi', 'Merikarvia', 'Miehikkälä', - 'Mikkeli', 'Muhos', 'Multia', 'Muonio', 'Mustasaari', 'Muurame', 'Mynämäki', 'Myrskylä', 'Mäntsälä', - 'Mäntyharju', 'Mänttä-Vilppula', 'Naantali', 'Nakkila', 'Nivala', 'Nokia', 'Nousiainen', 'Nurmes', 'Nurmijärvi', - 'Närpiö', 'Orimattila', 'Oripää', 'Orivesi', 'Oulainen', 'Oulu', 'Padasjoki', 'Paimio', 'Paltamo', 'Parikkala', - 'Parkano', 'Pelkosenniemi', 'Perho', 'Pertunmaa', 'Petäjävesi', 'Pieksämäki', 'Pielavesi', 'Pietarsaari', - 'Pedersören kunta', 'Pihtipudas', 'Pirkkala', 'Polvijärvi', 'Pomarkku', 'Pori', 'Pornainen', 'Posio', - 'Pudasjärvi', 'Pukkila', 'Punkalaidun', 'Puolanka', 'Puumala', 'Pyhtää', 'Pyhäjoki', 'Pyhäjärvi', 'Pyhäntä', - 'Pyhäranta', 'Pälkäne', 'Pöytyä', 'Porvoo', 'Raahe', 'Raisio', 'Rantasalmi', 'Ranua', 'Rauma', 'Rautalampi', - 'Rautavaara', 'Rautjärvi', 'Reisjärvi', 'Riihimäki', 'Ristijärvi', 'Rovaniemi', 'Ruokolahti', 'Ruovesi', - 'Rusko', 'Rääkkylä', 'Raasepori', 'Saarijärvi', 'Salla', 'Salo', 'Saltvik', 'Sauvo', 'Savitaipale', - 'Savonlinna', 'Savukoski', 'Seinäjoki', 'Sievi', 'Siikainen', 'Siikajoki', 'Siilinjärvi', 'Simo', 'Sipoo', - 'Siuntio', 'Sodankylä', 'Soini', 'Somero', 'Sonkajärvi', 'Sotkamo', 'Sottunga', 'Sulkava', 'Sund', - 'Suomussalmi', 'Suonenjoki', 'Sysmä', 'Säkylä', 'Vaala', 'Sastamala', 'Siikalatva', 'Taipalsaari', - 'Taivalkoski', 'Taivassalo', 'Tammela', 'Tampere', 'Tervo', 'Tervola', 'Teuva', 'Tohmajärvi', 'Toholampi', - 'Toivakka', 'Tornio', 'Turku', 'Pello', 'Tuusniemi', 'Tuusula', 'Tyrnävä', 'Ulvila', 'Urjala', 'Utajärvi', - 'Utsjoki', 'Uurainen', 'Uusikaarlepyy', 'Uusikaupunki', 'Vaasa', 'Valkeakoski', 'Valtimo', 'Varkaus', 'Vehmaa', - 'Vesanto', 'Vesilahti', 'Veteli', 'Vieremä', 'Vihti', 'Viitasaari', 'Vimpeli', 'Virolahti', 'Virrat', 'Värdö', - 'Vöyri', 'Ylitornio', 'Ylivieska', 'Ylöjärvi', 'Ypäjä', 'Ähtäri', 'Äänekoski', + "Alajärvi", + "Alavieska", + "Alavus", + "Asikkala", + "Askola", + "Aura", + "Akaa", + "Brändö", + "Eckerö", + "Enonkoski", + "Enontekiö", + "Espoo", + "Eura", + "Eurajoki", + "Evijärvi", + "Finström", + "Forssa", + "Föglö", + "Geta", + "Haapajärvi", + "Haapavesi", + "Hailuoto", + "Halsua", + "Hamina", + "Hammarland", + "Hankasalmi", + "Hanko", + "Harjavalta", + "Hartola", + "Hattula", + "Hausjärvi", + "Heinävesi", + "Helsinki", + "Vantaa", + "Hirvensalmi", + "Hollola", + "Honkajoki", + "Huittinen", + "Humppila", + "Hyrynsalmi", + "Hyvinkää", + "Hämeenkyrö", + "Hämeenlinna", + "Heinola", + "Ii", + "Iisalmi", + "Iitti", + "Ikaalinen", + "Ilmajoki", + "Ilomantsi", + "Inari", + "Inkoo", + "Isojoki", + "Isokyrö", + "Imatra", + "Janakkala", + "Joensuu", + "Jokioinen", + "Jomala", + "Joroinen", + "Joutsa", + "Juuka", + "Juupajoki", + "Juva", + "Jyväskylä", + "Jämijärvi", + "Jämsä", + "Järvenpää", + "Kaarina", + "Kaavi", + "Kajaani", + "Kalajoki", + "Kangasala", + "Kangasniemi", + "Kankaanpää", + "Kannonkoski", + "Kannus", + "Karijoki", + "Karkkila", + "Karstula", + "Karvia", + "Kaskinen", + "Kauhajoki", + "Kauhava", + "Kauniainen", + "Kaustinen", + "Keitele", + "Kemi", + "Keminmaa", + "Kempele", + "Kerava", + "Keuruu", + "Kihniö", + "Kinnula", + "Kirkkonummi", + "Kitee", + "Kittilä", + "Kiuruvesi", + "Kivijärvi", + "Kokemäki", + "Kokkola", + "Kolari", + "Konnevesi", + "Kontiolahti", + "Korsnäs", + "Koski Tl", + "Kotka", + "Kouvola", + "Kristiinankaupunki", + "Kruunupyy", + "Kuhmo", + "Kuhmoinen", + "Kumlinge", + "Kuopio", + "Kuortane", + "Kurikka", + "Kustavi", + "Kuusamo", + "Outokumpu", + "Kyyjärvi", + "Kärkölä", + "Kärsämäki", + "Kökar", + "Kemijärvi", + "Kemiönsaari", + "Lahti", + "Laihia", + "Laitila", + "Lapinlahti", + "Lappajärvi", + "Lappeenranta", + "Lapinjärvi", + "Lapua", + "Laukaa", + "Lemi", + "Lemland", + "Lempäälä", + "Leppävirta", + "Lestijärvi", + "Lieksa", + "Lieto", + "Liminka", + "Liperi", + "Loimaa", + "Loppi", + "Loviisa", + "Luhanka", + "Lumijoki", + "Lumparland", + "Luoto", + "Luumäki", + "Lohja", + "Parainen", + "Maalahti", + "Maarianhamina", + "Marttila", + "Masku", + "Merijärvi", + "Merikarvia", + "Miehikkälä", + "Mikkeli", + "Muhos", + "Multia", + "Muonio", + "Mustasaari", + "Muurame", + "Mynämäki", + "Myrskylä", + "Mäntsälä", + "Mäntyharju", + "Mänttä-Vilppula", + "Naantali", + "Nakkila", + "Nivala", + "Nokia", + "Nousiainen", + "Nurmes", + "Nurmijärvi", + "Närpiö", + "Orimattila", + "Oripää", + "Orivesi", + "Oulainen", + "Oulu", + "Padasjoki", + "Paimio", + "Paltamo", + "Parikkala", + "Parkano", + "Pelkosenniemi", + "Perho", + "Pertunmaa", + "Petäjävesi", + "Pieksämäki", + "Pielavesi", + "Pietarsaari", + "Pedersören kunta", + "Pihtipudas", + "Pirkkala", + "Polvijärvi", + "Pomarkku", + "Pori", + "Pornainen", + "Posio", + "Pudasjärvi", + "Pukkila", + "Punkalaidun", + "Puolanka", + "Puumala", + "Pyhtää", + "Pyhäjoki", + "Pyhäjärvi", + "Pyhäntä", + "Pyhäranta", + "Pälkäne", + "Pöytyä", + "Porvoo", + "Raahe", + "Raisio", + "Rantasalmi", + "Ranua", + "Rauma", + "Rautalampi", + "Rautavaara", + "Rautjärvi", + "Reisjärvi", + "Riihimäki", + "Ristijärvi", + "Rovaniemi", + "Ruokolahti", + "Ruovesi", + "Rusko", + "Rääkkylä", + "Raasepori", + "Saarijärvi", + "Salla", + "Salo", + "Saltvik", + "Sauvo", + "Savitaipale", + "Savonlinna", + "Savukoski", + "Seinäjoki", + "Sievi", + "Siikainen", + "Siikajoki", + "Siilinjärvi", + "Simo", + "Sipoo", + "Siuntio", + "Sodankylä", + "Soini", + "Somero", + "Sonkajärvi", + "Sotkamo", + "Sottunga", + "Sulkava", + "Sund", + "Suomussalmi", + "Suonenjoki", + "Sysmä", + "Säkylä", + "Vaala", + "Sastamala", + "Siikalatva", + "Taipalsaari", + "Taivalkoski", + "Taivassalo", + "Tammela", + "Tampere", + "Tervo", + "Tervola", + "Teuva", + "Tohmajärvi", + "Toholampi", + "Toivakka", + "Tornio", + "Turku", + "Pello", + "Tuusniemi", + "Tuusula", + "Tyrnävä", + "Ulvila", + "Urjala", + "Utajärvi", + "Utsjoki", + "Uurainen", + "Uusikaarlepyy", + "Uusikaupunki", + "Vaasa", + "Valkeakoski", + "Valtimo", + "Varkaus", + "Vehmaa", + "Vesanto", + "Vesilahti", + "Veteli", + "Vieremä", + "Vihti", + "Viitasaari", + "Vimpeli", + "Virolahti", + "Virrat", + "Värdö", + "Vöyri", + "Ylitornio", + "Ylivieska", + "Ylöjärvi", + "Ypäjä", + "Ähtäri", + "Äänekoski", ) countries = ( - 'Afganistan', 'Alankomaat', 'Albania', 'Algeria', 'Andorra', 'Angola', - 'Antigua ja Barbuda', 'Argentiina', 'Armenia', 'Australia', - 'Azerbaidžan', 'Bahama', 'Bahrain', 'Bangladesh', 'Barbados', 'Belgia', - 'Belize', 'Benin', 'Bhutan', 'Bolivia', 'Bosnia ja Hertsegovina', - 'Botswana', 'Brasilia', 'Brunei', 'Bulgaria', 'Burkina', 'Faso', - 'Burundi', 'Chile', 'Costa', 'Rica', 'Djibouti', 'Dominica', - 'Dominikaaninen tasavalta', 'Ecuador', 'Egypti', 'El', 'Salvador', - 'Eritrea', 'Espanja', 'Etelä-Afrikka', 'Korean tasavalta', - 'Etelä-Sudan', 'Etiopia', 'Fidži', 'Filippiinit', 'Gabon', 'Gambia', - 'Georgia', 'Ghana', 'Grenada', 'Guatemala', 'Guinea-Bissau', 'Guinea', - 'Guyana', 'Haiti', 'Honduras', 'Indonesia', 'Intia', 'Irak', 'Iran', - 'Irlanti', 'Islanti', 'Israel', 'Italia', 'Itä-Timor', 'Itävalta', - 'Jamaika', 'Japani', 'Jemen', 'Jordania', 'Kambodža', 'Kamerun', - 'Kanada', 'Kap', 'Verde', 'Kazakstan', 'Kenia', - 'Keski-Afrikan tasavalta', 'Kiina', 'Kirgisia', 'Kiribati', - 'Kolumbia', 'Komorit', 'Kongon demokraattinen tasavalta', - 'Kongon tasavalta', 'Kosovo', 'Kreikka', 'Kroatia', 'Kuuba', 'Kuwait', - 'Kypros', 'Laos', 'Latvia', 'Lesotho', 'Libanon', 'Liberia', 'Libya', - 'Liechtenstein', 'Liettua', 'Luxemburg', 'Madagaskar', 'Makedonia', - 'Malawi', 'Malediivit', 'Malesia', 'Mali', 'Malta', 'Marokko', - 'Marshallinsaaret', 'Mauritania', 'Mauritius', 'Meksiko', 'Mikronesia', - 'Moldova', 'Monaco', 'Mongolia', 'Montenegro', 'Mosambik', 'Myanmar', - 'Namibia', 'Nauru', 'Nepal', 'Nicaragua', 'Nigeria', 'Niger', 'Norja', - 'Norsunluurannikko', 'Oman', 'Pakistan', 'Palau', 'Panama', - 'Papua-Uusi-Guinea', 'Paraguay', 'Peru', - 'Korean demokraattinen kansantasavalta', 'Portugali', 'Puola', - 'Päiväntasaajan Guinea', 'Qatar', 'Ranska', 'Romania', 'Ruanda', - 'Ruotsi', 'Saint Kitts ja Nevis', 'Saint Lucia', - 'Saint Vincent ja Grenadiinit', 'Saksa', 'Salomonsaaret', 'Sambia', - 'Samoa', 'San Marino', 'São Tomé ja Príncipe', - 'Saudi-Arabia', 'Senegal', 'Serbia', 'Seychellit', 'Sierra', 'Leone', - 'Singapore', 'Slovakia', 'Slovenia', 'Somalia', 'Sri', 'Lanka', 'Sudan', - 'Suomi', 'Suriname', 'Swazimaa', 'Sveitsi', 'Syyria', 'Tadžikistan', - 'Tansania', 'Tanska', 'Thaimaa', 'Togo', 'Tonga', 'Trinidad ja Tobago', - 'Tšad', 'Tšekki', 'Tunisia', 'Turkki', 'Turkmenistan', 'Tuvalu', - 'Uganda', 'Ukraina', 'Unkari', 'Uruguay', 'Uusi-Seelanti', 'Uzbekistan', - 'Valko-Venäjä', 'Vanuatu', 'Vatikaanivaltio', 'Venezuela', 'Venäjä', - 'Vietnam', 'Viro', 'Yhdistyneet arabiemiirikunnat', - 'Yhdistynyt kuningaskunta', 'Yhdysvallat', 'Zimbabwe', + "Afganistan", + "Alankomaat", + "Albania", + "Algeria", + "Andorra", + "Angola", + "Antigua ja Barbuda", + "Argentiina", + "Armenia", + "Australia", + "Azerbaidžan", + "Bahama", + "Bahrain", + "Bangladesh", + "Barbados", + "Belgia", + "Belize", + "Benin", + "Bhutan", + "Bolivia", + "Bosnia ja Hertsegovina", + "Botswana", + "Brasilia", + "Brunei", + "Bulgaria", + "Burkina", + "Faso", + "Burundi", + "Chile", + "Costa", + "Rica", + "Djibouti", + "Dominica", + "Dominikaaninen tasavalta", + "Ecuador", + "Egypti", + "El", + "Salvador", + "Eritrea", + "Espanja", + "Etelä-Afrikka", + "Korean tasavalta", + "Etelä-Sudan", + "Etiopia", + "Fidži", + "Filippiinit", + "Gabon", + "Gambia", + "Georgia", + "Ghana", + "Grenada", + "Guatemala", + "Guinea-Bissau", + "Guinea", + "Guyana", + "Haiti", + "Honduras", + "Indonesia", + "Intia", + "Irak", + "Iran", + "Irlanti", + "Islanti", + "Israel", + "Italia", + "Itä-Timor", + "Itävalta", + "Jamaika", + "Japani", + "Jemen", + "Jordania", + "Kambodža", + "Kamerun", + "Kanada", + "Kap", + "Verde", + "Kazakstan", + "Kenia", + "Keski-Afrikan tasavalta", + "Kiina", + "Kirgisia", + "Kiribati", + "Kolumbia", + "Komorit", + "Kongon demokraattinen tasavalta", + "Kongon tasavalta", + "Kosovo", + "Kreikka", + "Kroatia", + "Kuuba", + "Kuwait", + "Kypros", + "Laos", + "Latvia", + "Lesotho", + "Libanon", + "Liberia", + "Libya", + "Liechtenstein", + "Liettua", + "Luxemburg", + "Madagaskar", + "Makedonia", + "Malawi", + "Malediivit", + "Malesia", + "Mali", + "Malta", + "Marokko", + "Marshallinsaaret", + "Mauritania", + "Mauritius", + "Meksiko", + "Mikronesia", + "Moldova", + "Monaco", + "Mongolia", + "Montenegro", + "Mosambik", + "Myanmar", + "Namibia", + "Nauru", + "Nepal", + "Nicaragua", + "Nigeria", + "Niger", + "Norja", + "Norsunluurannikko", + "Oman", + "Pakistan", + "Palau", + "Panama", + "Papua-Uusi-Guinea", + "Paraguay", + "Peru", + "Korean demokraattinen kansantasavalta", + "Portugali", + "Puola", + "Päiväntasaajan Guinea", + "Qatar", + "Ranska", + "Romania", + "Ruanda", + "Ruotsi", + "Saint Kitts ja Nevis", + "Saint Lucia", + "Saint Vincent ja Grenadiinit", + "Saksa", + "Salomonsaaret", + "Sambia", + "Samoa", + "San Marino", + "São Tomé ja Príncipe", + "Saudi-Arabia", + "Senegal", + "Serbia", + "Seychellit", + "Sierra", + "Leone", + "Singapore", + "Slovakia", + "Slovenia", + "Somalia", + "Sri", + "Lanka", + "Sudan", + "Suomi", + "Suriname", + "Swazimaa", + "Sveitsi", + "Syyria", + "Tadžikistan", + "Tansania", + "Tanska", + "Thaimaa", + "Togo", + "Tonga", + "Trinidad ja Tobago", + "Tšad", + "Tšekki", + "Tunisia", + "Turkki", + "Turkmenistan", + "Tuvalu", + "Uganda", + "Ukraina", + "Unkari", + "Uruguay", + "Uusi-Seelanti", + "Uzbekistan", + "Valko-Venäjä", + "Vanuatu", + "Vatikaanivaltio", + "Venezuela", + "Venäjä", + "Vietnam", + "Viro", + "Yhdistyneet arabiemiirikunnat", + "Yhdistynyt kuningaskunta", + "Yhdysvallat", + "Zimbabwe", ) + # Data from Finnish legislation: + # https://www.finlex.fi/fi/laki/alkup/2019/20190978 states = ( - 'Turun ja Porin lääni', 'Uudenmaan ja Hämeen lääni', 'Pohjanmaan lääni', - 'Viipurin ja Savonlinnan lääni', 'Käkisalmen lääni', - 'Savonlinnan ja Kymenkartanon lääni', 'Kymenkartanon ja Savon lääni', - 'Vaasan lääni', 'Oulun lääni', 'Kymenkartanon lääni', - 'Savon ja Karjalan lääni', 'Viipurin lääni', 'Uudenmaan lääni', - 'Hämeen lääni', 'Mikkelin lääni', 'Kuopion lääni', 'Ahvenanmaan lääni', - 'Petsamon lääni', 'Lapin lääni', 'Kymen lääni', 'Keski-Suomen lääni', - 'Pohjois-Karjalan lääni', 'Etelä-Suomen lääni', 'Länsi-Suomen lääni', - 'Itä-Suomen lääni', '', 'Turun ja Porin lääni', - 'Uudenmaan ja Hämeen lääni', 'Pohjanmaan lääni', - 'Viipurin ja Savonlinnan lääni', 'Käkisalmen lääni', - 'Savonlinnan ja Kymenkartanon lääni', 'Kymenkartanon ja Savon lääni', - 'Vaasan lääni', 'Oulun lääni', 'Kymenkartanon lääni', - 'Savon ja Karjalan lääni', 'Viipurin lääni', 'Uudenmaan lääni', - 'Hämeen lääni', 'Mikkelin lääni', 'Kuopion lääni', 'Ahvenanmaan lääni', - 'Petsamon lääni', 'Lapin lääni', 'Kymen lääni', 'Keski-Suomen lääni', - 'Pohjois-Karjalan lääni', 'Etelä-Suomen lääni', 'Länsi-Suomen lääni', - 'Itä-Suomen lääni', + "Ahvenanmaa", + "Etelä-Karjala", + "Etelä-Pohjanmaa", + "Etelä-Savo", + "Kainuu", + "Kanta-Häme", + "Keski-Pohjanmaa", + "Keski-Suomi", + "Kymenlaakso", + "Lappi", + "Pirkanmaa", + "Pohjanmaa", + "Pohjois-Karjala", + "Pohjois-Pohjanmaa", + "Pohjois-Savo", + "Päijät-Häme", + "Satakunta", + "Uusimaa", + "Varsinais-Suomi", ) - street_suffixes = ('tie', 'katu', 'polku', 'kuja', 'bulevardi') + street_suffixes = ("tie", "katu", "polku", "kuja", "bulevardi") # Prefixes parsed from a street list of Helsinki: # http://kartta.hel.fi/ws/geoserver/avoindata/wfs?outputFormat=application/json&REQUEST=GetFeature&typeNames=avoindata:Helsinki_osoiteluettelo street_prefixes = ( - 'Adolf Lindforsin ', 'Agnes Sjöbergin ', 'Agnetan', 'Agricolan', 'Ahomäen', 'Ahvenkosken', 'Aidasmäen', - 'Agroksen', 'Agronomin', 'Ahdekaunokin', 'Bertel Jungin ', 'Bertha Pauligin ', 'Betlehemin', 'Betoni', - 'Biologin', 'Birger Kaipiaisen ', 'Bysantin', 'Böstaksen', 'Bengalin', 'Benktan', 'Bergan', 'Caloniuksen', - 'Capellan puisto', 'Castrénin', 'Chydeniuksen', 'Cygnaeuksen', 'Dagmarin', 'Damaskuksen', 'Degermosan', 'Disan', - 'Dosentin', 'Dunckerin', 'Döbelnin', 'Ehrensvärdin', 'Eino Leinon ', 'Elimäen', 'Elisabeth Kochin ', 'Eljaksen', - 'Elon', 'Elon', 'Edelfeltin', 'Eduskunta', 'Eerik Pyhän ', 'Franzénin', 'Fredrikin', 'Freesen', - 'Fabianin', 'Fagotti', 'Fahlanderin puisto', 'Fallin', 'Fallkullan', 'Fallpakan', 'Fastbölen', 'Gadolinin', - 'Gneissi', 'Granfeltin', 'Gunillan', 'Gunnel Nymanin ', 'Graniitti', 'Gustav Pauligin ', 'Gyldénin', - 'Gotlannin', 'Haapa', 'Haagan pappilan', 'Haahka', 'Haakoninlahden', 'Haaksi', 'Hankasuon', 'Hannukselan', - 'Harakkamyllyn', 'Harava', 'Harbon', 'Ilmattaren', 'Ilomäen', 'Ilotulitus', 'Iltaruskon', 'Iltatähden', 'Ilves', - 'Immolan', 'Ilkan', 'Ida Ekmanin ', 'Ies', 'Jälsi', 'Jämsän', 'Jänkä', 'Jänne', 'Järkäle', 'Jätkäsaaren', - 'Jättiläisen', 'Jyvä', 'Jägerhornin', 'Jäkälä', 'Kukkaniityn', 'Kolsin', 'Kolu', 'Kolvi', 'Kuhankeittäjän', - 'Katajaharjun', 'Kiitäjän', 'Kilpolan', 'Kimalais', 'Kimmon', 'Laajasalon', 'Laakavuoren', 'Lemun', - 'Lentokapteenin ', 'Lepolan', 'Louhen', 'Louhikko', 'Lukkarimäen', 'Laurinniityn', 'Lautamiehen', - 'Mamsellimyllyn', 'Mannerheimin', 'Maanmittarin', 'Maapadon', 'Maa', 'Maasalon', 'Maasälvän', 'Maatullin', - 'Malminkartanon', 'Maneesi', 'Niittylän', 'Niemi', 'Niitynperän', 'Nikon', 'Nils Westermarckin ', - 'Nordenskiöldin', 'Nelikko', 'Neon', 'Nervanderin', 'Neulapadon', 'Ostos', 'Orapihlaja', 'Oras', 'Orava', - 'Osmon', 'Osuuskunnan', 'Orisaaren', 'Ormus', 'Orvokki', 'Oterman', 'Pore', 'Porin', 'Porkkalan', 'Pyörökiven', - 'Puusepän', 'Puuska', 'Pohjolan', 'Poikasaarten', 'Purjetuulen', 'Puroniityn', 'Rukkilan', 'Ruko', - 'Rukoushuoneen', 'Runebergin', 'Runoilijan', 'Runokylän', 'Runonlaulajan', 'Rantavaraston', 'Rapakiven', - 'Rapolan', 'Santerlan', 'Saparon', 'Sapilas', 'Saramäen', 'Saanatunturin', 'Sade', 'Sahaajan', 'Salakka', - 'Salama', 'Salava', 'Tuomarinkylän', 'Tuulilasin', 'Taavetti Laitisen ', 'Taavin', 'Tahti', 'Taimiston', - 'Tukkisillan', 'Tuohikoivun', 'Tyynelän', 'Tyynylaavan', 'Uussillan', 'Urheilu', 'Urkurin', 'Urpu', 'Uskalikon', - 'Usva', 'Uudenkaupungin', 'Uunilinnun', 'Uunisepän', 'Uurtajan', 'Vanha Raja', 'Veropellon', 'Veräjämäen', - 'Vesakko', 'Vesalan', 'Vellikellon', 'Verkko', 'Verso', 'Vaakalinnun', 'Vaarna', 'Wavulinin', - 'Walentin Chorellin ', 'Wallinin', 'Waseniuksen puisto', 'Wecksellin', 'Willebrandin', 'Winqvistin', - 'Wäinö Aaltosen ', 'Werner Wirénin ', 'Yhteiskoulun', 'Ylipalon', 'Yllästunturin', 'Ylä-Fallin ', 'Yläkasken', - 'Ylänkö', 'Ylätuvan', 'Yrjö-Koskisen ', 'Yrjön', 'Yrttimaan', 'Zaidan', + "Adolf Lindforsin ", + "Agnes Sjöbergin ", + "Agnetan", + "Agricolan", + "Ahomäen", + "Ahvenkosken", + "Aidasmäen", + "Agroksen", + "Agronomin", + "Ahdekaunokin", + "Bertel Jungin ", + "Bertha Pauligin ", + "Betlehemin", + "Betoni", + "Biologin", + "Birger Kaipiaisen ", + "Bysantin", + "Böstaksen", + "Bengalin", + "Benktan", + "Bergan", + "Caloniuksen", + "Capellan puisto", + "Castrénin", + "Chydeniuksen", + "Cygnaeuksen", + "Dagmarin", + "Damaskuksen", + "Degermosan", + "Disan", + "Dosentin", + "Dunckerin", + "Döbelnin", + "Ehrensvärdin", + "Eino Leinon ", + "Elimäen", + "Elisabeth Kochin ", + "Eljaksen", + "Elon", + "Elon", + "Edelfeltin", + "Eduskunta", + "Eerik Pyhän ", + "Franzénin", + "Fredrikin", + "Freesen", + "Fabianin", + "Fagotti", + "Fahlanderin puisto", + "Fallin", + "Fallkullan", + "Fallpakan", + "Fastbölen", + "Gadolinin", + "Gneissi", + "Granfeltin", + "Gunillan", + "Gunnel Nymanin ", + "Graniitti", + "Gustav Pauligin ", + "Gyldénin", + "Gotlannin", + "Haapa", + "Haagan pappilan", + "Haahka", + "Haakoninlahden", + "Haaksi", + "Hankasuon", + "Hannukselan", + "Harakkamyllyn", + "Harava", + "Harbon", + "Ilmattaren", + "Ilomäen", + "Ilotulitus", + "Iltaruskon", + "Iltatähden", + "Ilves", + "Immolan", + "Ilkan", + "Ida Ekmanin ", + "Ies", + "Jälsi", + "Jämsän", + "Jänkä", + "Jänne", + "Järkäle", + "Jätkäsaaren", + "Jättiläisen", + "Jyvä", + "Jägerhornin", + "Jäkälä", + "Kukkaniityn", + "Kolsin", + "Kolu", + "Kolvi", + "Kuhankeittäjän", + "Katajaharjun", + "Kiitäjän", + "Kilpolan", + "Kimalais", + "Kimmon", + "Laajasalon", + "Laakavuoren", + "Lemun", + "Lentokapteenin ", + "Lepolan", + "Louhen", + "Louhikko", + "Lukkarimäen", + "Laurinniityn", + "Lautamiehen", + "Mamsellimyllyn", + "Mannerheimin", + "Maanmittarin", + "Maapadon", + "Maa", + "Maasalon", + "Maasälvän", + "Maatullin", + "Malminkartanon", + "Maneesi", + "Niittylän", + "Niemi", + "Niitynperän", + "Nikon", + "Nils Westermarckin ", + "Nordenskiöldin", + "Nelikko", + "Neon", + "Nervanderin", + "Neulapadon", + "Ostos", + "Orapihlaja", + "Oras", + "Orava", + "Osmon", + "Osuuskunnan", + "Orisaaren", + "Ormus", + "Orvokki", + "Oterman", + "Pore", + "Porin", + "Porkkalan", + "Pyörökiven", + "Puusepän", + "Puuska", + "Pohjolan", + "Poikasaarten", + "Purjetuulen", + "Puroniityn", + "Rukkilan", + "Ruko", + "Rukoushuoneen", + "Runebergin", + "Runoilijan", + "Runokylän", + "Runonlaulajan", + "Rantavaraston", + "Rapakiven", + "Rapolan", + "Santerlan", + "Saparon", + "Sapilas", + "Saramäen", + "Saanatunturin", + "Sade", + "Sahaajan", + "Salakka", + "Salama", + "Salava", + "Tuomarinkylän", + "Tuulilasin", + "Taavetti Laitisen ", + "Taavin", + "Tahti", + "Taimiston", + "Tukkisillan", + "Tuohikoivun", + "Tyynelän", + "Tyynylaavan", + "Uussillan", + "Urheilu", + "Urkurin", + "Urpu", + "Uskalikon", + "Usva", + "Uudenkaupungin", + "Uunilinnun", + "Uunisepän", + "Uurtajan", + "Vanha Raja", + "Veropellon", + "Veräjämäen", + "Vesakko", + "Vesalan", + "Vellikellon", + "Verkko", + "Verso", + "Vaakalinnun", + "Vaarna", + "Wavulinin", + "Walentin Chorellin ", + "Wallinin", + "Waseniuksen puisto", + "Wecksellin", + "Willebrandin", + "Winqvistin", + "Wäinö Aaltosen ", + "Werner Wirénin ", + "Yhteiskoulun", + "Ylipalon", + "Yllästunturin", + "Ylä-Fallin ", + "Yläkasken", + "Ylänkö", + "Ylätuvan", + "Yrjö-Koskisen ", + "Yrjön", + "Yrttimaan", + "Zaidan", ) - def street_prefix(self): + def street_prefix(self) -> str: return self.random_element(self.street_prefixes) - def city_name(self): + def city_name(self) -> str: return self.random_element(self.cities) - def state(self): + def administrative_unit(self) -> str: return self.random_element(self.states) + + state = administrative_unit diff --git a/faker/providers/address/fil_PH/__init__.py b/faker/providers/address/fil_PH/__init__.py index 10fd37a784..da54e5882d 100644 --- a/faker/providers/address/fil_PH/__init__.py +++ b/faker/providers/address/fil_PH/__init__.py @@ -3,4 +3,5 @@ class Provider(EnPhAddressProvider): """No difference from Address Provider for en_PH locale""" + pass diff --git a/faker/providers/address/fr_CH/__init__.py b/faker/providers/address/fr_CH/__init__.py index dcfea192de..502220a681 100644 --- a/faker/providers/address/fr_CH/__init__.py +++ b/faker/providers/address/fr_CH/__init__.py @@ -1,129 +1,365 @@ +from typing import Tuple + from .. import Provider as AddressProvider class Provider(AddressProvider): - city_suffixes = ('-des-Bois', '-les-Bains', '-la-Ville', '-Dessus', - '-Dessous', ' am Rhein', ' am See', ' am Albis', - ' an der Aare') - city_prefixes = ('Saint ', 'Sainte ', 'San ', 'Ober', 'Unter') - street_prefixes = ('rue', 'rue', 'chemin', 'avenue', 'boulevard') - - address_formats = ("{{street_address}}\n{{postcode}} {{city}}", ) - - building_number_formats = ('%', '%#', '%#', '%#', '%##') - - city_formats = ('{{last_name}}', '{{last_name}}', '{{last_name}}', - '{{last_name}}', '{{last_name}}{{city_suffix}}', - '{{last_name}}{{city_suffix}}', - '{{last_name}}{{city_suffix}}', - '{{last_name}}-près-{{last_name}}', - '{{last_name}}-sur-{{last_name}}', - '{{city_prefix}}{{last_name}}', - '{{last_name}} ({{canton_code}})') - - street_address_formats = ('{{street_name}}', - '{{street_name}} {{building_number}}', - '{{street_name}} {{building_number}}', - '{{street_name}} {{building_number}}', - '{{street_name}} {{building_number}}', - '{{street_name}} {{building_number}}') - street_name_formats = ('{{street_prefix}} {{last_name}}', - '{{street_prefix}} {{first_name}} {{last_name}}', - '{{street_prefix}} de {{last_name}}') - - postcode_formats = ('1###', '2###', '3###', '4###', '5###', '6###', '7###', - '8###', '9###') - - cantons = (('AG', 'Argovie'), ('AI', 'Appenzell Rhodes-Intérieures'), - ('AR', 'Appenzell Rhodes-Extérieures'), ('BE', 'Berne'), - ('BL', 'Bâle-Campagne'), ('BS', 'Bâle-Ville'), ('FR', 'Fribourg'), - ('GE', 'Genève'), ('GL', 'Glaris'), ('GR', 'Grisons'), ('JU', 'Jura'), - ('LU', 'Lucerne'), ('NE', 'Neuchâtel'), ('NW', 'Nidwald'), ('OW', 'Obwald'), - ('SG', 'Saint-Gall'), ('SH', 'Schaffhouse'), ('SO', 'Soleure'), - ('SZ', 'Schwytz'), ('TG', 'Thurgovie'), ('TI', 'Tessin'), ('UR', 'Uri'), - ('VD', 'Vaud'), ('VS', 'Valais'), ('ZG', 'Zoug'), ('ZH', 'Zurich')) + city_suffixes = ( + "-des-Bois", + "-les-Bains", + "-la-Ville", + "-Dessus", + "-Dessous", + " am Rhein", + " am See", + " am Albis", + " an der Aare", + ) + city_prefixes = ("Saint ", "Sainte ", "San ", "Ober", "Unter") + street_prefixes = ("rue", "rue", "chemin", "avenue", "boulevard") + + address_formats = ("{{street_address}}\n{{postcode}} {{city}}",) + + building_number_formats = ("%", "%#", "%#", "%#", "%##") + + city_formats = ( + "{{last_name}}", + "{{last_name}}", + "{{last_name}}", + "{{last_name}}", + "{{last_name}}{{city_suffix}}", + "{{last_name}}{{city_suffix}}", + "{{last_name}}{{city_suffix}}", + "{{last_name}}-près-{{last_name}}", + "{{last_name}}-sur-{{last_name}}", + "{{city_prefix}}{{last_name}}", + "{{last_name}} ({{canton_code}})", + ) + + street_address_formats = ( + "{{street_name}}", + "{{street_name}} {{building_number}}", + "{{street_name}} {{building_number}}", + "{{street_name}} {{building_number}}", + "{{street_name}} {{building_number}}", + "{{street_name}} {{building_number}}", + ) + street_name_formats = ( + "{{street_prefix}} {{last_name}}", + "{{street_prefix}} {{first_name}} {{last_name}}", + "{{street_prefix}} de {{last_name}}", + ) + + postcode_formats = ( + "1###", + "2###", + "3###", + "4###", + "5###", + "6###", + "7###", + "8###", + "9###", + ) + + cantons = ( + ("AG", "Argovie"), + ("AI", "Appenzell Rhodes-Intérieures"), + ("AR", "Appenzell Rhodes-Extérieures"), + ("BE", "Berne"), + ("BL", "Bâle-Campagne"), + ("BS", "Bâle-Ville"), + ("FR", "Fribourg"), + ("GE", "Genève"), + ("GL", "Glaris"), + ("GR", "Grisons"), + ("JU", "Jura"), + ("LU", "Lucerne"), + ("NE", "Neuchâtel"), + ("NW", "Nidwald"), + ("OW", "Obwald"), + ("SG", "Saint-Gall"), + ("SH", "Schaffhouse"), + ("SO", "Soleure"), + ("SZ", "Schwytz"), + ("TG", "Thurgovie"), + ("TI", "Tessin"), + ("UR", "Uri"), + ("VD", "Vaud"), + ("VS", "Valais"), + ("ZG", "Zoug"), + ("ZH", "Zurich"), + ) countries = ( - 'Afghanistan', 'Afrique du sud', 'Albanie', 'Algérie', 'Allemagne', - 'Andorre', 'Angola', 'Anguilla', 'Antarctique', 'Antigua et Barbuda', - 'Antilles néerlandaises', 'Arabie saoudite', 'Argentine', 'Arménie', - 'Aruba', 'Australie', 'Autriche', 'Azerbaïdjan', 'Bahamas', 'Bahrain', - 'Bangladesh', 'Belgique', 'Belize', 'Benin', 'Bermudes (Les)', - 'Bhoutan', 'Biélorussie', 'Bolivie', 'Bosnie-Herzégovine', 'Botswana', - 'Bouvet (Îles)', 'Brunei', 'Brésil', 'Bulgarie', 'Burkina Faso', - 'Burundi', 'Cambodge', 'Cameroun', 'Canada', 'Cap Vert', - 'Cayman (Îles)', 'Chili', 'Chine (Rép. pop.)', 'Christmas (Île)', - 'Chypre', 'Cocos (Îles)', 'Colombie', 'Comores', 'Cook (Îles)', - 'Corée du Nord', 'Corée, Sud', 'Costa Rica', 'Croatie', 'Cuba', - 'Côte d\'Ivoire', 'Danemark', 'Djibouti', 'Dominique', 'Égypte', - 'El Salvador', 'Émirats arabes unis', 'Équateur', 'Érythrée', - 'Espagne', 'Estonie', 'États-Unis', 'Ethiopie', 'Falkland (Île)', - 'Fidji (République des)', 'Finlande', 'France', - 'Féroé (Îles)', 'Gabon', 'Gambie', 'Ghana', 'Gibraltar', 'Grenade', - 'Groenland', 'Grèce', 'Guadeloupe', 'Guam', 'Guatemala', 'Guinée', - 'Guinée Equatoriale', 'Guinée-Bissau', 'Guyane', 'Guyane française', - 'Géorgie', 'Géorgie du Sud et Sandwich du Sud (Îles)', 'Haïti', - 'Heard et McDonald (Îles)', 'Honduras', 'Hong Kong', 'Hongrie', - 'Îles Mineures Éloignées des États-Unis', 'Inde', 'Indonésie', 'Irak', - 'Iran', 'Irlande', 'Islande', 'Israël', 'Italie', 'Jamaïque', 'Japon', - 'Jordanie', 'Kazakhstan', 'Kenya', 'Kirghizistan', 'Kiribati', - 'Koweit', 'La Barbad', 'Laos', 'Lesotho', 'Lettonie', 'Liban', 'Libye', - 'Libéria', 'Liechtenstein', 'Lithuanie', 'Luxembourg', 'Macau', - 'Macédoine', 'Madagascar', 'Malaisie', 'Malawi', 'Maldives (Îles)', - 'Mali', 'Malte', 'Mariannes du Nord (Îles)', 'Maroc', - 'Marshall (Îles)', 'Martinique', 'Maurice', 'Mauritanie', 'Mayotte', - 'Mexique', 'Micronésie (États fédérés de)', 'Moldavie', 'Monaco', - 'Mongolie', 'Montserrat', 'Mozambique', 'Myanmar', 'Namibie', 'Nauru', - 'Nepal', 'Nicaragua', 'Niger', 'Nigeria', 'Niue', 'Norfolk (Îles)', - 'Norvège', 'Nouvelle Calédonie', 'Nouvelle-Zélande', 'Oman', 'Ouganda', - 'Ouzbékistan', 'Pakistan', 'Palau', 'Panama', - 'Papouasie-Nouvelle-Guinée', 'Paraguay', 'Pays-Bas', 'Philippines', - 'Pitcairn (Îles)', 'Pologne', 'Polynésie française', 'Porto Rico', - 'Portugal', 'Pérou', 'Qatar', 'Roumanie', 'Royaume-Uni', 'Russie', - 'Rwanda', 'Rép. Dém. du Congo', 'République centrafricaine', - 'République Dominicaine', 'République tchèque', 'Réunion (La)', - 'Sahara Occidental', 'Saint Pierre et Miquelon', - 'Saint Vincent et les Grenadines', 'Saint-Kitts et Nevis', - 'Saint-Marin (Rép. de)', 'Sainte Hélène', 'Sainte Lucie', 'Samoa', - 'Samoa', 'Seychelles', 'Sierra Leone', 'Singapour', 'Slovaquie', - 'Slovénie', 'Somalie', 'Soudan', 'Sri Lanka', 'Suisse', 'Suriname', - 'Suède', 'Svalbard et Jan Mayen (Îles)', 'Swaziland', 'Syrie', - 'São Tomé et Príncipe (Rép.)', 'Sénégal', 'Tadjikistan', 'Taiwan', - 'Tanzanie', 'Tchad', 'Territoire britannique de l\'océan Indien', - 'Territoires français du sud', 'Thailande', 'Timor', 'Togo', 'Tokelau', - 'Tonga', 'Trinité et Tobago', 'Tunisie', 'Turkménistan', - 'Turks et Caïques (Îles)', 'Turquie', 'Tuvalu', 'Ukraine', 'Uruguay', - 'Vanuatu', 'Vatican (Etat du)', 'Venezuela', 'Vierges (Îles)', - 'Vierges britanniques (Îles)', 'Vietnam', 'Wallis et Futuna (Îles)', - 'Yemen', 'Yougoslavie', 'Zambie', 'Zaïre', 'Zimbabwe') - - def street_prefix(self): + "Afghanistan", + "Afrique du sud", + "Albanie", + "Algérie", + "Allemagne", + "Andorre", + "Angola", + "Anguilla", + "Antarctique", + "Antigua et Barbuda", + "Antilles néerlandaises", + "Arabie saoudite", + "Argentine", + "Arménie", + "Aruba", + "Australie", + "Autriche", + "Azerbaïdjan", + "Bahamas", + "Bahrain", + "Bangladesh", + "Belgique", + "Belize", + "Benin", + "Bermudes (Les)", + "Bhoutan", + "Biélorussie", + "Bolivie", + "Bosnie-Herzégovine", + "Botswana", + "Bouvet (Îles)", + "Brunei", + "Brésil", + "Bulgarie", + "Burkina Faso", + "Burundi", + "Cambodge", + "Cameroun", + "Canada", + "Cap Vert", + "Cayman (Îles)", + "Chili", + "Chine (Rép. pop.)", + "Christmas (Île)", + "Chypre", + "Cocos (Îles)", + "Colombie", + "Comores", + "Cook (Îles)", + "Corée du Nord", + "Corée, Sud", + "Costa Rica", + "Croatie", + "Cuba", + "Côte d'Ivoire", + "Danemark", + "Djibouti", + "Dominique", + "Égypte", + "El Salvador", + "Émirats arabes unis", + "Équateur", + "Érythrée", + "Espagne", + "Estonie", + "États-Unis", + "Ethiopie", + "Falkland (Île)", + "Fidji (République des)", + "Finlande", + "France", + "Féroé (Îles)", + "Gabon", + "Gambie", + "Ghana", + "Gibraltar", + "Grenade", + "Groenland", + "Grèce", + "Guadeloupe", + "Guam", + "Guatemala", + "Guinée", + "Guinée Equatoriale", + "Guinée-Bissau", + "Guyane", + "Guyane française", + "Géorgie", + "Géorgie du Sud et Sandwich du Sud (Îles)", + "Haïti", + "Heard et McDonald (Îles)", + "Honduras", + "Hong Kong", + "Hongrie", + "Îles Mineures Éloignées des États-Unis", + "Inde", + "Indonésie", + "Irak", + "Iran", + "Irlande", + "Islande", + "Israël", + "Italie", + "Jamaïque", + "Japon", + "Jordanie", + "Kazakhstan", + "Kenya", + "Kirghizistan", + "Kiribati", + "Koweit", + "La Barbad", + "Laos", + "Lesotho", + "Lettonie", + "Liban", + "Libye", + "Libéria", + "Liechtenstein", + "Lithuanie", + "Luxembourg", + "Macau", + "Macédoine", + "Madagascar", + "Malaisie", + "Malawi", + "Maldives (Îles)", + "Mali", + "Malte", + "Mariannes du Nord (Îles)", + "Maroc", + "Marshall (Îles)", + "Martinique", + "Maurice", + "Mauritanie", + "Mayotte", + "Mexique", + "Micronésie (États fédérés de)", + "Moldavie", + "Monaco", + "Mongolie", + "Montserrat", + "Mozambique", + "Myanmar", + "Namibie", + "Nauru", + "Nepal", + "Nicaragua", + "Niger", + "Nigeria", + "Niue", + "Norfolk (Îles)", + "Norvège", + "Nouvelle Calédonie", + "Nouvelle-Zélande", + "Oman", + "Ouganda", + "Ouzbékistan", + "Pakistan", + "Palau", + "Panama", + "Papouasie-Nouvelle-Guinée", + "Paraguay", + "Pays-Bas", + "Philippines", + "Pitcairn (Îles)", + "Pologne", + "Polynésie française", + "Porto Rico", + "Portugal", + "Pérou", + "Qatar", + "Roumanie", + "Royaume-Uni", + "Russie", + "Rwanda", + "Rép. Dém. du Congo", + "République centrafricaine", + "République Dominicaine", + "République tchèque", + "Réunion (La)", + "Sahara Occidental", + "Saint Pierre et Miquelon", + "Saint Vincent et les Grenadines", + "Saint-Kitts et Nevis", + "Saint-Marin (Rép. de)", + "Sainte Hélène", + "Sainte Lucie", + "Samoa", + "Samoa", + "Seychelles", + "Sierra Leone", + "Singapour", + "Slovaquie", + "Slovénie", + "Somalie", + "Soudan", + "Sri Lanka", + "Suisse", + "Suriname", + "Suède", + "Svalbard et Jan Mayen (Îles)", + "Swaziland", + "Syrie", + "São Tomé et Príncipe (Rép.)", + "Sénégal", + "Tadjikistan", + "Taiwan", + "Tanzanie", + "Tchad", + "Territoire britannique de l'océan Indien", + "Territoires français du sud", + "Thailande", + "Timor", + "Togo", + "Tokelau", + "Tonga", + "Trinité et Tobago", + "Tunisie", + "Turkménistan", + "Turks et Caïques (Îles)", + "Turquie", + "Tuvalu", + "Ukraine", + "Uruguay", + "Vanuatu", + "Vatican (Etat du)", + "Venezuela", + "Vierges (Îles)", + "Vierges britanniques (Îles)", + "Vietnam", + "Wallis et Futuna (Îles)", + "Yemen", + "Yougoslavie", + "Zambie", + "Zaïre", + "Zimbabwe", + ) + + def street_prefix(self) -> str: """ :example 'rue' """ return self.random_element(self.street_prefixes) - def city_prefix(self): + def city_prefix(self) -> str: """ :example 'rue' """ return self.random_element(self.city_prefixes) - def canton(self): + def canton(self) -> Tuple[str, str]: """ Randomly returns a swiss canton ('Abbreviated' , 'Name'). :example ('VD' . 'Vaud') """ return self.random_element(self.cantons) - def canton_name(self): + def administrative_unit(self) -> str: """ Randomly returns a Swiss canton name. :example 'Vaud' """ return self.canton()[1] - def canton_code(self): + canton_name = administrative_unit + + def canton_code(self) -> str: """ Randomly returns a Swiss canton code. :example 'VD' diff --git a/faker/providers/address/fr_FR/__init__.py b/faker/providers/address/fr_FR/__init__.py index 0ca2f9fce3..9b52145b6e 100644 --- a/faker/providers/address/fr_FR/__init__.py +++ b/faker/providers/address/fr_FR/__init__.py @@ -1,173 +1,466 @@ +from typing import Tuple + from .. import Provider as AddressProvider class Provider(AddressProvider): - city_suffixes = ('Ville', 'Bourg', '-les-Bains', - '-sur-Mer', '-la-Forêt', 'boeuf', 'nec', 'dan') - city_prefixes = ('Saint', 'Sainte') - street_prefixes = ('rue', 'rue', 'chemin', 'avenue', 'boulevard') + city_suffixes = ( + "Ville", + "Bourg", + "-les-Bains", + "-sur-Mer", + "-la-Forêt", + "boeuf", + "nec", + "dan", + ) + city_prefixes = ("Saint", "Sainte") + street_prefixes = ("rue", "rue", "chemin", "avenue", "boulevard") city_formats = ( - '{{city_prefix}} {{first_name}}', - '{{city_prefix}} {{first_name}}{{city_suffix}}', - '{{last_name}}', - '{{last_name}}', - '{{last_name}}', - '{{last_name}}', - '{{last_name}}{{city_suffix}}', - '{{last_name}}{{city_suffix}}', - '{{last_name}}{{city_suffix}}', - '{{last_name}}-sur-{{last_name}}', + "{{city_prefix}} {{first_name}}", + "{{city_prefix}} {{first_name}}{{city_suffix}}", + "{{last_name}}", + "{{last_name}}", + "{{last_name}}", + "{{last_name}}", + "{{last_name}}{{city_suffix}}", + "{{last_name}}{{city_suffix}}", + "{{last_name}}{{city_suffix}}", + "{{last_name}}-sur-{{last_name}}", ) street_name_formats = ( - '{{street_prefix}} {{last_name}}', - '{{street_prefix}} {{first_name}} {{last_name}}', - '{{street_prefix}} de {{last_name}}', + "{{street_prefix}} {{last_name}}", + "{{street_prefix}} {{first_name}} {{last_name}}", + "{{street_prefix}} de {{last_name}}", ) street_address_formats = ( - '{{street_name}}', - '{{building_number}}, {{street_name}}', - '{{building_number}}, {{street_name}}', - '{{building_number}}, {{street_name}}', - '{{building_number}}, {{street_name}}', - '{{building_number}}, {{street_name}}', + "{{street_name}}", + "{{building_number}}, {{street_name}}", + "{{building_number}}, {{street_name}}", + "{{building_number}}, {{street_name}}", + "{{building_number}}, {{street_name}}", + "{{building_number}}, {{street_name}}", ) - address_formats = ( - "{{street_address}}\n{{postcode}} {{city}}", - ) + address_formats = ("{{street_address}}\n{{postcode}} {{city}}",) - building_number_formats = ('%', '%#', '%#', '%#', '%##') - postcode_formats = ('#####', ) + building_number_formats = ("%", "%#", "%#", "%#", "%##") + postcode_formats = ("#####",) countries = ( - 'Afghanistan', 'Afrique du sud', 'Albanie', 'Algérie', 'Allemagne', 'Andorre', 'Angola', 'Anguilla', - 'Antarctique', 'Antigua et Barbuda', 'Antilles néerlandaises', 'Arabie saoudite', 'Argentine', 'Arménie', - 'Aruba', 'Australie', 'Autriche', 'Azerbaïdjan', 'Bahamas', 'Bahrain', 'Bangladesh', 'Belgique', 'Belize', - 'Benin', 'Bermudes (Les)', 'Bhoutan', 'Biélorussie', 'Bolivie', 'Bosnie-Herzégovine', 'Botswana', - 'Bouvet (Îles)', 'Brunei', 'Brésil', 'Bulgarie', 'Burkina Faso', 'Burundi', 'Cambodge', 'Cameroun', 'Canada', - 'Cap Vert', 'Cayman (Îles)', 'Chili', 'Chine (Rép. pop.)', 'Christmas (Île)', 'Chypre', 'Cocos (Îles)', - 'Colombie', 'Comores', 'Cook (Îles)', 'Corée du Nord', 'Corée, Sud', 'Costa Rica', 'Croatie', 'Cuba', - 'Côte d\'Ivoire', 'Danemark', 'Djibouti', 'Dominique', 'Égypte', 'El Salvador', 'Émirats arabes unis', - 'Équateur', 'Érythrée', 'Espagne', 'Estonie', 'États-Unis', 'Ethiopie', 'Falkland (Île)', - 'Fidji (République des)', 'Finlande', 'France', 'Féroé (Îles)', 'Gabon', - 'Gambie', 'Ghana', 'Gibraltar', 'Grenade', 'Groenland', 'Grèce', 'Guadeloupe', 'Guam', 'Guatemala', 'Guinée', - 'Guinée Equatoriale', 'Guinée-Bissau', 'Guyane', 'Guyane française', 'Géorgie', - 'Géorgie du Sud et Sandwich du Sud (Îles)', 'Haïti', 'Heard et McDonald (Îles)', 'Honduras', 'Hong Kong', - 'Hongrie', 'Îles Mineures Éloignées des États-Unis', 'Inde', 'Indonésie', 'Irak', 'Iran', 'Irlande', 'Islande', - 'Israël', 'Italie', 'Jamaïque', 'Japon', 'Jordanie', 'Kazakhstan', 'Kenya', 'Kirghizistan', 'Kiribati', - 'Koweit', 'La Barbad', 'Laos', 'Lesotho', 'Lettonie', 'Liban', 'Libye', 'Libéria', 'Liechtenstein', 'Lithuanie', - 'Luxembourg', 'Macau', 'Macédoine', 'Madagascar', 'Malaisie', 'Malawi', 'Maldives (Îles)', 'Mali', 'Malte', - 'Mariannes du Nord (Îles)', 'Maroc', 'Marshall (Îles)', 'Martinique', 'Maurice', 'Mauritanie', 'Mayotte', - 'Mexique', 'Micronésie (États fédérés de)', 'Moldavie', 'Monaco', 'Mongolie', 'Montserrat', 'Mozambique', - 'Myanmar', 'Namibie', 'Nauru', 'Nepal', - 'Nicaragua', 'Niger', 'Nigeria', 'Niue', 'Norfolk (Îles)', 'Norvège', 'Nouvelle Calédonie', 'Nouvelle-Zélande', - 'Oman', 'Ouganda', 'Ouzbékistan', 'Pakistan', 'Palau', 'Panama', 'Papouasie-Nouvelle-Guinée', 'Paraguay', - 'Pays-Bas', 'Philippines', 'Pitcairn (Îles)', 'Pologne', 'Polynésie française', 'Porto Rico', 'Portugal', - 'Pérou', 'Qatar', 'Roumanie', 'Royaume-Uni', 'Russie', 'Rwanda', 'Rép. Dém. du Congo', - 'République centrafricaine', 'République Dominicaine', 'République tchèque', 'Réunion (La)', - 'Sahara Occidental', 'Saint Pierre et Miquelon', 'Saint Vincent et les Grenadines', 'Saint-Kitts et Nevis', - 'Saint-Marin (Rép. de)', 'Sainte Hélène', 'Sainte Lucie', 'Samoa', 'Samoa', 'Seychelles', 'Sierra Leone', - 'Singapour', 'Slovaquie', 'Slovénie', 'Somalie', 'Soudan', 'Sri Lanka', 'Suisse', 'Suriname', 'Suède', - 'Svalbard et Jan Mayen (Îles)', 'Swaziland', 'Syrie', 'São Tomé et Príncipe (Rép.)', 'Sénégal', 'Tadjikistan', - 'Taiwan', 'Tanzanie', 'Tchad', - 'Territoire britannique de l\'océan Indien', 'Territoires français du sud', 'Thailande', 'Timor', 'Togo', - 'Tokelau', 'Tonga', 'Trinité et Tobago', 'Tunisie', 'Turkménistan', 'Turks et Caïques (Îles)', 'Turquie', - 'Tuvalu', 'Ukraine', 'Uruguay', 'Vanuatu', 'Vatican (Etat du)', 'Venezuela', 'Vierges (Îles)', - 'Vierges britanniques (Îles)', 'Vietnam', 'Wallis et Futuna (Îles)', 'Yemen', 'Yougoslavie', 'Zambie', 'Zaïre', - 'Zimbabwe', + "Afghanistan", + "Afrique du sud", + "Albanie", + "Algérie", + "Allemagne", + "Andorre", + "Angola", + "Anguilla", + "Antarctique", + "Antigua et Barbuda", + "Antilles néerlandaises", + "Arabie saoudite", + "Argentine", + "Arménie", + "Aruba", + "Australie", + "Autriche", + "Azerbaïdjan", + "Bahamas", + "Bahrain", + "Bangladesh", + "Belgique", + "Belize", + "Benin", + "Bermudes (Les)", + "Bhoutan", + "Biélorussie", + "Bolivie", + "Bosnie-Herzégovine", + "Botswana", + "Bouvet (Îles)", + "Brunei", + "Brésil", + "Bulgarie", + "Burkina Faso", + "Burundi", + "Cambodge", + "Cameroun", + "Canada", + "Cap Vert", + "Cayman (Îles)", + "Chili", + "Chine (Rép. pop.)", + "Christmas (Île)", + "Chypre", + "Cocos (Îles)", + "Colombie", + "Comores", + "Cook (Îles)", + "Corée du Nord", + "Corée, Sud", + "Costa Rica", + "Croatie", + "Cuba", + "Côte d'Ivoire", + "Danemark", + "Djibouti", + "Dominique", + "Égypte", + "El Salvador", + "Émirats arabes unis", + "Équateur", + "Érythrée", + "Espagne", + "Estonie", + "États-Unis", + "Ethiopie", + "Falkland (Île)", + "Fidji (République des)", + "Finlande", + "France", + "Féroé (Îles)", + "Gabon", + "Gambie", + "Ghana", + "Gibraltar", + "Grenade", + "Groenland", + "Grèce", + "Guadeloupe", + "Guam", + "Guatemala", + "Guinée", + "Guinée Equatoriale", + "Guinée-Bissau", + "Guyane", + "Guyane française", + "Géorgie", + "Géorgie du Sud et Sandwich du Sud (Îles)", + "Haïti", + "Heard et McDonald (Îles)", + "Honduras", + "Hong Kong", + "Hongrie", + "Îles Mineures Éloignées des États-Unis", + "Inde", + "Indonésie", + "Irak", + "Iran", + "Irlande", + "Islande", + "Israël", + "Italie", + "Jamaïque", + "Japon", + "Jordanie", + "Kazakhstan", + "Kenya", + "Kirghizistan", + "Kiribati", + "Koweit", + "La Barbad", + "Laos", + "Lesotho", + "Lettonie", + "Liban", + "Libye", + "Libéria", + "Liechtenstein", + "Lithuanie", + "Luxembourg", + "Macau", + "Macédoine", + "Madagascar", + "Malaisie", + "Malawi", + "Maldives (Îles)", + "Mali", + "Malte", + "Mariannes du Nord (Îles)", + "Maroc", + "Marshall (Îles)", + "Martinique", + "Maurice", + "Mauritanie", + "Mayotte", + "Mexique", + "Micronésie (États fédérés de)", + "Moldavie", + "Monaco", + "Mongolie", + "Montserrat", + "Mozambique", + "Myanmar", + "Namibie", + "Nauru", + "Nepal", + "Nicaragua", + "Niger", + "Nigeria", + "Niue", + "Norfolk (Îles)", + "Norvège", + "Nouvelle Calédonie", + "Nouvelle-Zélande", + "Oman", + "Ouganda", + "Ouzbékistan", + "Pakistan", + "Palau", + "Panama", + "Papouasie-Nouvelle-Guinée", + "Paraguay", + "Pays-Bas", + "Philippines", + "Pitcairn (Îles)", + "Pologne", + "Polynésie française", + "Porto Rico", + "Portugal", + "Pérou", + "Qatar", + "Roumanie", + "Royaume-Uni", + "Russie", + "Rwanda", + "Rép. Dém. du Congo", + "République centrafricaine", + "République Dominicaine", + "République tchèque", + "Réunion (La)", + "Sahara Occidental", + "Saint Pierre et Miquelon", + "Saint Vincent et les Grenadines", + "Saint-Kitts et Nevis", + "Saint-Marin (Rép. de)", + "Sainte Hélène", + "Sainte Lucie", + "Samoa", + "Samoa", + "Seychelles", + "Sierra Leone", + "Singapour", + "Slovaquie", + "Slovénie", + "Somalie", + "Soudan", + "Sri Lanka", + "Suisse", + "Suriname", + "Suède", + "Svalbard et Jan Mayen (Îles)", + "Swaziland", + "Syrie", + "São Tomé et Príncipe (Rép.)", + "Sénégal", + "Tadjikistan", + "Taiwan", + "Tanzanie", + "Tchad", + "Territoire britannique de l'océan Indien", + "Territoires français du sud", + "Thailande", + "Timor", + "Togo", + "Tokelau", + "Tonga", + "Trinité et Tobago", + "Tunisie", + "Turkménistan", + "Turks et Caïques (Îles)", + "Turquie", + "Tuvalu", + "Ukraine", + "Uruguay", + "Vanuatu", + "Vatican (Etat du)", + "Venezuela", + "Vierges (Îles)", + "Vierges britanniques (Îles)", + "Vietnam", + "Wallis et Futuna (Îles)", + "Yemen", + "Yougoslavie", + "Zambie", + "Zaïre", + "Zimbabwe", ) regions = ( - 'Alsace', - 'Aquitaine', - 'Auvergne', - 'Bourgogne', - 'Bretagne', - 'Centre', - 'Champagne-Ardenne', - 'Corse', - 'Franche-Comté', - 'Île-de-France', - 'Languedoc-Roussillon', - 'Limousin', - 'Lorraine', - 'Midi-Pyrénées', - 'Nord-Pas-de-Calais', - 'Basse-Normandie', - 'Haute-Normandie', - 'Pays-de-Loire', - 'Picardie', - 'Poitou-Charentes', + "Alsace", + "Aquitaine", + "Auvergne", + "Bourgogne", + "Bretagne", + "Centre", + "Champagne-Ardenne", + "Corse", + "Franche-Comté", + "Île-de-France", + "Languedoc-Roussillon", + "Limousin", + "Lorraine", + "Midi-Pyrénées", + "Nord-Pas-de-Calais", + "Basse-Normandie", + "Haute-Normandie", + "Pays-de-Loire", + "Picardie", + "Poitou-Charentes", "Province-Alpes-Côte d'Azur", - 'Rhone-Alpes', - 'Guadeloupe', - 'Martinique', - 'Guyane', - 'Réunion', - 'Saint-Pierre-et-Miquelon', - 'Mayotte', - 'Saint-Barthélémy', - 'Saint-Martin', - 'Wallis-et-Futuna', - 'Polynésie française', - 'Nouvelle-Calédonie') + "Rhone-Alpes", + "Guadeloupe", + "Martinique", + "Guyane", + "Réunion", + "Saint-Pierre-et-Miquelon", + "Mayotte", + "Saint-Barthélémy", + "Saint-Martin", + "Wallis-et-Futuna", + "Polynésie française", + "Nouvelle-Calédonie", + ) departments = ( - ('01', 'Ain'), ('02', 'Aisne'), ('03', 'Allier'), ('04', 'Alpes-de-Haute-Provence'), ('05', 'Hautes-Alpes'), - ('06', 'Alpes-Maritimes'), ('07', 'Ardèche'), ('08', 'Ardennes'), ('09', 'Ariège'), ('10', 'Aube'), - ('11', 'Aude'), ('12', 'Aveyron'), ('13', 'Bouches-du-Rhône'), ('14', 'Calvados'), ('15', 'Cantal'), - ('16', 'Charente'), ('17', 'Charente-Maritime'), ('18', 'Cher'), ('19', 'Corrèze'), ('2A', 'Corse-du-Sud'), - ('2B', 'Haute-Corse'), ('21', "Côte-d'Or"), ('22', "Côtes-d'Armor"), ('23', 'Creuse'), ('24', 'Dordogne'), - ('25', 'Doubs'), ('26', 'Drôme'), ('27', 'Eure'), ('28', 'Eure-et-Loir'), ('29', 'Finistère'), ('30', 'Gard'), - ('31', 'Haute-Garonne'), ('32', 'Gers'), ('33', 'Gironde'), ('34', 'Hérault'), ('35', 'Ille-et-Vilaine'), - ('36', 'Indre'), ('37', 'Indre-et-Loire'), ('38', 'Isère'), ('39', 'Jura'), ('40', 'Landes'), - ('41', 'Loir-et-Cher'), ('42', 'Loire'), ('43', 'Haute-Loire'), ('44', 'Loire-Atlantique'), ('45', 'Loiret'), - ('46', 'Lot'), ('47', 'Lot-et-Garonne'), ('48', 'Lozère'), ('49', 'Maine-et-Loire'), ('50', 'Manche'), - ('51', 'Marne'), ('52', 'Haute-Marne'), ('53', 'Mayenne'), ('54', 'Meurthe-et-Moselle'), ('55', 'Meuse'), - ('56', 'Morbihan'), ('57', 'Moselle'), ('58', 'Nièvre'), ('59', 'Nord'), ('60', 'Oise'), ('61', 'Orne'), - ('62', 'Pas-de-Calais'), ('63', 'Puy-de-Dôme'), ('64', 'Pyrénées-Atlantiques'), ('65', 'Hautes-Pyrénées'), - ('66', 'Pyrénées-Orientales'), ('67', 'Bas-Rhin'), ('68', 'Haut-Rhin'), ('69', 'Rhône'), ('70', 'Haute-Saône'), - ('71', 'Saône-et-Loire'), ('72', 'Sarthe'), ('73', 'Savoie'), ('74', 'Haute-Savoie'), ('75', 'Paris'), - ('76', 'Seine-Maritime'), ('77', 'Seine-et-Marne'), ('78', 'Yvelines'), ('79', 'Deux-Sèvres'), ('80', 'Somme'), - ('81', 'Tarn'), ('82', 'Tarn-et-Garonne'), ('83', 'Var'), ('84', 'Vaucluse'), ('85', 'Vendée'), - ('86', 'Vienne'), ('87', 'Haute-Vienne'), ('88', 'Vosges'), ('89', 'Yonne'), ('90', 'Territoire de Belfort'), - ('91', 'Essonne'), ('92', 'Hauts-de-Seine'), ('93', 'Seine-Saint-Denis'), ('94', 'Val-de-Marne'), - ('95', "Val-d'Oise"), ('971', 'Guadeloupe'), ('972', 'Martinique'), ('973', 'Guyane'), ('974', 'La Réunion'), - ('976', 'Mayotte'), + ("01", "Ain"), + ("02", "Aisne"), + ("03", "Allier"), + ("04", "Alpes-de-Haute-Provence"), + ("05", "Hautes-Alpes"), + ("06", "Alpes-Maritimes"), + ("07", "Ardèche"), + ("08", "Ardennes"), + ("09", "Ariège"), + ("10", "Aube"), + ("11", "Aude"), + ("12", "Aveyron"), + ("13", "Bouches-du-Rhône"), + ("14", "Calvados"), + ("15", "Cantal"), + ("16", "Charente"), + ("17", "Charente-Maritime"), + ("18", "Cher"), + ("19", "Corrèze"), + ("2A", "Corse-du-Sud"), + ("2B", "Haute-Corse"), + ("21", "Côte-d'Or"), + ("22", "Côtes-d'Armor"), + ("23", "Creuse"), + ("24", "Dordogne"), + ("25", "Doubs"), + ("26", "Drôme"), + ("27", "Eure"), + ("28", "Eure-et-Loir"), + ("29", "Finistère"), + ("30", "Gard"), + ("31", "Haute-Garonne"), + ("32", "Gers"), + ("33", "Gironde"), + ("34", "Hérault"), + ("35", "Ille-et-Vilaine"), + ("36", "Indre"), + ("37", "Indre-et-Loire"), + ("38", "Isère"), + ("39", "Jura"), + ("40", "Landes"), + ("41", "Loir-et-Cher"), + ("42", "Loire"), + ("43", "Haute-Loire"), + ("44", "Loire-Atlantique"), + ("45", "Loiret"), + ("46", "Lot"), + ("47", "Lot-et-Garonne"), + ("48", "Lozère"), + ("49", "Maine-et-Loire"), + ("50", "Manche"), + ("51", "Marne"), + ("52", "Haute-Marne"), + ("53", "Mayenne"), + ("54", "Meurthe-et-Moselle"), + ("55", "Meuse"), + ("56", "Morbihan"), + ("57", "Moselle"), + ("58", "Nièvre"), + ("59", "Nord"), + ("60", "Oise"), + ("61", "Orne"), + ("62", "Pas-de-Calais"), + ("63", "Puy-de-Dôme"), + ("64", "Pyrénées-Atlantiques"), + ("65", "Hautes-Pyrénées"), + ("66", "Pyrénées-Orientales"), + ("67", "Bas-Rhin"), + ("68", "Haut-Rhin"), + ("69", "Rhône"), + ("70", "Haute-Saône"), + ("71", "Saône-et-Loire"), + ("72", "Sarthe"), + ("73", "Savoie"), + ("74", "Haute-Savoie"), + ("75", "Paris"), + ("76", "Seine-Maritime"), + ("77", "Seine-et-Marne"), + ("78", "Yvelines"), + ("79", "Deux-Sèvres"), + ("80", "Somme"), + ("81", "Tarn"), + ("82", "Tarn-et-Garonne"), + ("83", "Var"), + ("84", "Vaucluse"), + ("85", "Vendée"), + ("86", "Vienne"), + ("87", "Haute-Vienne"), + ("88", "Vosges"), + ("89", "Yonne"), + ("90", "Territoire de Belfort"), + ("91", "Essonne"), + ("92", "Hauts-de-Seine"), + ("93", "Seine-Saint-Denis"), + ("94", "Val-de-Marne"), + ("95", "Val-d'Oise"), + ("971", "Guadeloupe"), + ("972", "Martinique"), + ("973", "Guyane"), + ("974", "La Réunion"), + ("976", "Mayotte"), ) - def street_prefix(self): + def street_prefix(self) -> str: """ :example 'rue' """ return self.random_element(self.street_prefixes) - def city_prefix(self): + def city_prefix(self) -> str: """ :example 'rue' """ return self.random_element(self.city_prefixes) - def region(self): + def administrative_unit(self) -> str: """ :example 'Guadeloupe' """ return self.random_element(self.regions) - def department(self): + region = administrative_unit + + def department(self) -> Tuple[str, str]: """ Randomly returns a french department ('departmentNumber' , 'departmentName'). :example ('2B' . 'Haute-Corse') """ return self.random_element(self.departments) - def department_name(self): + def department_name(self) -> str: """ Randomly returns a french department name. :example 'Ardèche' """ return self.department()[1] - def department_number(self): + def department_number(self) -> str: """ Randomly returns a french department number. diff --git a/faker/providers/address/he_IL/__init__.py b/faker/providers/address/he_IL/__init__.py index 71dc858b1b..86a3baeb59 100644 --- a/faker/providers/address/he_IL/__init__.py +++ b/faker/providers/address/he_IL/__init__.py @@ -2,11 +2,11 @@ class Provider(AddressProvider): - city_formats = ('{{city_name}}', ) - street_name_formats = ('{{street_title}}', ) - street_address_formats = ('{{street_name}} {{building_number}}', ) - address_formats = ('{{street_address}}, {{city}}, {{postcode}}', ) - postcode_formats = ('#######', ) + city_formats = ("{{city_name}}",) + street_name_formats = ("{{street_title}}",) + street_address_formats = ("{{street_name}} {{building_number}}",) + address_formats = ("{{street_address}}, {{city}}, {{postcode}}",) + postcode_formats = ("#######",) # Data sourced from data.gov.il # https://data.gov.il/dataset/321 @@ -28,7 +28,7 @@ class Provider(AddressProvider): "אזור תעשיה הר יונה", "אזור תעשייה", "אזור תעשייה מזרח", - "אח\"י אילת", + 'אח"י אילת', "אייזיק ניוטון", "איילת השחר )מ ק(", "אייר", @@ -79,7 +79,7 @@ class Provider(AddressProvider): "בועז", "בורסת היהלומים", "ביכורים", - "ביל\"ו", + 'ביל"ו', "בילינסון", "בית אבות", "בית היוצר", @@ -137,7 +137,7 @@ class Provider(AddressProvider): "האלונים", "האמוראים", "האצטדיון", - "האצ\"ל", + 'האצ"ל', "הברדלס", "הברוש", "הבריגדה", @@ -171,7 +171,7 @@ class Provider(AddressProvider): "היוזם", "הינשוף", "היקינטון", - "הל\"ה", + 'הל"ה', "המאה ואחד", "המבריא", "המברק", @@ -265,7 +265,7 @@ class Provider(AddressProvider): "טאחונת אלראהיב", "טביב", "טופז", - "י\"א באדר", + 'י"א באדר', "יאפא", "יד העפלה ממרוקו", "ידידה", @@ -300,7 +300,7 @@ class Provider(AddressProvider): "לוין מיכאל וחנה", "לוין שמריהו", "לוריא", - "לח\"י", + 'לח"י', "לילינבלום", "לכיש", "לסקוב חיים", @@ -356,11 +356,11 @@ class Provider(AddressProvider): "נורית", "נחל נחשון", "נחל סרפד", - "נחל ערוגות מ\"ר", + 'נחל ערוגות מ"ר', "נחל פארן", "נחלת צדוק", "ניר עם", - "נעמ\"ת", + 'נעמ"ת', "נצרת עילית", "נשר", "נתיב הפורצים", @@ -452,13 +452,13 @@ class Provider(AddressProvider): "רח מו כ שלם", "רח רז", "ריחאניה", - "רלב\"ג", - "רמב\"ם", - "רמב\"ן", + 'רלב"ג', + 'רמב"ם', + 'רמב"ן', "רמת האירוסים", "רמת כרמים", "רקפת", - "רש\"י", + 'רש"י', "ש אסבסטונים", "ש אסבסט צפון", "שאר ישוב", @@ -472,14 +472,14 @@ class Provider(AddressProvider): "שד גאולים", "שד גת", "שד העצמאות", - "שד ח\"ן", + 'שד ח"ן', "שד יוספטל גיורא", "ש הפועלים", "שוהם", "שומרון", "שושנה דמארי", "שושנת הכרמל", - "שז\"ר זלמן", + 'שז"ר זלמן', "שיזף", "שכ 14", "שכ החלוצים", @@ -500,7 +500,7 @@ class Provider(AddressProvider): "שני", "ש סלע חדש", "ש פועלים", - "ש\"ץ גרשון", + 'ש"ץ גרשון', "ש ציונים כלליים", "שקד", "ש קואפרטיבים", @@ -509,8 +509,9 @@ class Provider(AddressProvider): "תאנה", "תל חי", "תפארת ישראל", - "תרס\"ח", - "תרצ\"ו") + 'תרס"ח', + 'תרצ"ו', + ) city_names = ( "אבו רובייעה )שבט(", @@ -532,8 +533,8 @@ class Provider(AddressProvider): "ברקאי", "ברקת", "גבעת השלושה", - "גבעת ח\"ן", - "גבעת כ\"ח", + 'גבעת ח"ן', + 'גבעת כ"ח', "גדות", "גונן", "גינתון", @@ -542,7 +543,7 @@ class Provider(AddressProvider): "גנות הדר", "גני מודיעין", "גרופית", - "דוב\"ב", + 'דוב"ב', "דולב", "האון", "הסוללים", @@ -555,7 +556,7 @@ class Provider(AddressProvider): "חצור הגלילית", "חשמונאים", "טל-אל", - "יד רמב\"ם", + 'יד רמב"ם', "כסלון", "כפר אחים", "כפר הנוער הדתי", @@ -612,10 +613,11 @@ class Provider(AddressProvider): "שעב", "שפר", "שתולים", - "תלמי אליהו") + "תלמי אליהו", + ) - def city_name(self): + def city_name(self) -> str: return self.random_element(self.city_names) - def street_title(self): + def street_title(self) -> str: return self.random_element(self.street_titles) diff --git a/faker/providers/address/hi_IN/__init__.py b/faker/providers/address/hi_IN/__init__.py index 2d596e157f..9840eb62d8 100644 --- a/faker/providers/address/hi_IN/__init__.py +++ b/faker/providers/address/hi_IN/__init__.py @@ -3,231 +3,243 @@ class Provider(AddressProvider): - city_formats = ('{{city_name}}', ) + city_formats = ("{{city_name}}",) street_name_formats = ( - '{{first_name}} {{last_name}}', - '{{last_name}}', + "{{first_name}} {{last_name}}", + "{{last_name}}", ) - street_address_formats = ('{{building_number}} {{street_name}}', ) + street_address_formats = ("{{building_number}} {{street_name}}",) - address_formats = ('{{street_address}}\n{{city}} {{postcode}}', - '{{street_address}}\n{{city}}-{{postcode}}') + address_formats = ( + "{{street_address}}\n{{city}} {{postcode}}", + "{{street_address}}\n{{city}}-{{postcode}}", + ) building_number_formats = ( - '####', '###', '##', '#', '#/#', '##/##', '##/###', '##/####') + "####", + "###", + "##", + "#", + "#/#", + "##/##", + "##/###", + "##/####", + ) - postcode_formats = ('######', ) + postcode_formats = ("######",) cities = ( - 'आदिलाबाद', - 'अगरतला', - 'अहमदाबाद', - 'अहमदनगर', - 'अजमेर', - 'अम्बाजी', - 'अमरपुर', - 'इलाहाबाद', - 'अकोला', - 'अखनूर', - 'अन्तर्गत', - 'अलांग', - 'अलीगढ', - 'दादरा और नगर हवेली', - 'अमरावती', - 'अमरोहा', - 'अनन्तपुर', - 'करना', - 'जिससेबेलारी', - 'अनंतनाग', - 'भागलपुर', - 'भद्रक', - 'बचेली', - 'बहादुरगंज', - 'बहादुरगढ', - 'चिरमिरी', - 'चिराला', - 'चित्रदुर्ग', - 'चित्तूर', - 'चित्रकूट', - 'देवगढ़', - 'दालखोला', - 'देवास', - 'चंडीगढ', - 'चिपलुन', - 'चक्रधरपुर', - 'चंबा', - 'फतहपुर', - 'फतेहपुर', - 'फतेहगढ', - 'सभापतिने', - 'देवगढ़', - 'धर्मापुरी', - 'पाकाला', - 'धारवाड', - 'असम', - 'देहरा', - 'रानीताल', - 'खडगपुर', - 'मोकामा', - 'मोकोकचुंग', - 'जिलोंपर', - 'विस्तारण', - 'मोतिहारी', - 'लखनऊ', - 'मुंबई', - 'हैदराबाद', + "आदिलाबाद", + "अगरतला", + "अहमदाबाद", + "अहमदनगर", + "अजमेर", + "अम्बाजी", + "अमरपुर", + "इलाहाबाद", + "अकोला", + "अखनूर", + "अन्तर्गत", + "अलांग", + "अलीगढ", + "दादरा और नगर हवेली", + "अमरावती", + "अमरोहा", + "अनन्तपुर", + "करना", + "जिससेबेलारी", + "अनंतनाग", + "भागलपुर", + "भद्रक", + "बचेली", + "बहादुरगंज", + "बहादुरगढ", + "चिरमिरी", + "चिराला", + "चित्रदुर्ग", + "चित्तूर", + "चित्रकूट", + "देवगढ़", + "दालखोला", + "देवास", + "चंडीगढ", + "चिपलुन", + "चक्रधरपुर", + "चंबा", + "फतहपुर", + "फतेहपुर", + "फतेहगढ", + "सभापतिने", + "देवगढ़", + "धर्मापुरी", + "पाकाला", + "धारवाड", + "असम", + "देहरा", + "रानीताल", + "खडगपुर", + "मोकामा", + "मोकोकचुंग", + "जिलोंपर", + "विस्तारण", + "मोतिहारी", + "लखनऊ", + "मुंबई", + "हैदराबाद", ) states = ( - 'अरूणाचल प्रदेश', - 'बिहार', - 'असम', - 'आंध्र प्रदेश', - 'छत्तीसगढ', - 'हरियाणा', - 'गुजरात', - 'हिमाचल प्रदेश', - 'गोवा', - 'मध्य प्रदेश', - 'महाराष्ट्र', - 'जम्मू और कश्मीर', - 'केरल', - 'कर्नाटक', - 'मणिपुर', - 'मिजोरम', - 'मेघालय', - 'सिक्किम', - 'राजस्थान', - 'पंजाब', - 'उडीसा', - 'उत्तरांचल', - 'उत्तर प्रदेश', - 'तमिलनाडु', - 'त्रिपुरा', - 'पश्चिमी बंगाल', - 'अंडमान और निकोबार', - 'दमन और दीव', - 'दादरा और नगर हवेली', - 'दिल्ली', - 'पांडिचेरी', - 'लक्षद्वीप', + "अरूणाचल प्रदेश", + "बिहार", + "असम", + "आंध्र प्रदेश", + "छत्तीसगढ", + "हरियाणा", + "गुजरात", + "हिमाचल प्रदेश", + "गोवा", + "मध्य प्रदेश", + "महाराष्ट्र", + "जम्मू और कश्मीर", + "केरल", + "कर्नाटक", + "मणिपुर", + "मिजोरम", + "मेघालय", + "सिक्किम", + "राजस्थान", + "पंजाब", + "उडीसा", + "उत्तरांचल", + "उत्तर प्रदेश", + "तमिलनाडु", + "त्रिपुरा", + "पश्चिमी बंगाल", + "अंडमान और निकोबार", + "दमन और दीव", + "दादरा और नगर हवेली", + "दिल्ली", + "पांडिचेरी", + "लक्षद्वीप", ) countries = ( - 'आर्मीनिया', - 'यू.के.', - 'फ्रांस', - 'फलस्तीन', - 'मिस्र', - 'ब्राज़ील', - 'ईरान', - 'यूनान', - 'स्पेन', - 'जॉर्जिया', - 'लेबनान', - 'सायप्रस', - 'सीरिया', - 'कनाडा', - 'रूस', - 'संयुक्त राज्य अमरीका', - 'नेदर्लान्ड', - 'ऑस्ट्रेलिया', - 'एंटीगुआ', - 'बार्बुडा', - 'ऑस्ट्रिया', - 'अज़रबाइजान', - 'बारबाडोस', - 'बेलारूस', - 'बेल्जियम', - 'बेलीज़', - 'बेनिन', - 'बहामास', - 'बहरीन', - 'बांग्लादेश', - 'भूटान', - 'बोलिविया', - 'बोस्निया', - 'हर्जेगोविना', - 'बोत्सवाना', - 'ब्रुनेई', - 'बुल्गारिया', - 'बुर्किना फ़ासो', - 'बर्मा', - 'बुरूंडी', - 'डोमिनिकन रिपब्लिक', - 'गिनिया', - 'टीमोर', - 'फ़िनलैंड', - 'गेबोन', - 'गाम्बिया', - 'जर्मनी', - 'ग्रेनेडा', - 'घाना', - 'ग्रेट ब्रिटेन', - 'हंगरी', - 'भारत', - 'हिन्दुस्तान', - 'इराक', - 'आयरलैंड', - 'इंडोनेशिया', - 'इटली', - 'जमैका', - 'जॉर्डन', - 'जापान', - 'क़जाख़स्तान', - 'केन्या', - 'किरिबाती', - 'दक्षिण कोरिया', - 'लातविया', - 'लाओस', - 'उत्तर कोरिया', - 'कोसोवो', - 'कुवैत', - 'लेबनान', - 'लिचटीनस्टीन', - 'लिथुआनिया', - 'लक्समबर्ग', - 'लीबिया', - 'लाइबेरिया', - 'लेसोथो', - 'नेपाल', - 'न्यूज़ीलैण्ड', - 'निकारागुआ', - 'नाइजर', - 'नाउरू', - 'सेंट लुसिया', - 'रोमानिया', - 'अरब अमीरात', - 'यूएई', - 'युगांडा', - 'यूक्रेन', - 'उरूग्वे', - 'उज़बेकिस्तान', - 'यूनाइटेड किंगडम', - 'वानुआतू', - 'वेटिकन सिटी', - 'वेनेजुएला', - 'पश्चिमी सहारा', - 'वियतनाम', - 'यमन', - 'ज़ायर', - 'ज़ाम्बिया', - 'ज़िम्बाब्वे', - 'पाकिस्तान', - 'सउदी अरब', - 'ओमान', - 'क़तर', - 'ट्यूनीशिया', - 'मोरक्को', - 'तुर्की', - 'श्रीलंका', - 'अफ़ग़ानिस्तान', + "आर्मीनिया", + "यू.के.", + "फ्रांस", + "फलस्तीन", + "मिस्र", + "ब्राज़ील", + "ईरान", + "यूनान", + "स्पेन", + "जॉर्जिया", + "लेबनान", + "सायप्रस", + "सीरिया", + "कनाडा", + "रूस", + "संयुक्त राज्य अमरीका", + "नेदर्लान्ड", + "ऑस्ट्रेलिया", + "एंटीगुआ", + "बार्बुडा", + "ऑस्ट्रिया", + "अज़रबाइजान", + "बारबाडोस", + "बेलारूस", + "बेल्जियम", + "बेलीज़", + "बेनिन", + "बहामास", + "बहरीन", + "बांग्लादेश", + "भूटान", + "बोलिविया", + "बोस्निया", + "हर्जेगोविना", + "बोत्सवाना", + "ब्रुनेई", + "बुल्गारिया", + "बुर्किना फ़ासो", + "बर्मा", + "बुरूंडी", + "डोमिनिकन रिपब्लिक", + "गिनिया", + "टीमोर", + "फ़िनलैंड", + "गेबोन", + "गाम्बिया", + "जर्मनी", + "ग्रेनेडा", + "घाना", + "ग्रेट ब्रिटेन", + "हंगरी", + "भारत", + "हिन्दुस्तान", + "इराक", + "आयरलैंड", + "इंडोनेशिया", + "इटली", + "जमैका", + "जॉर्डन", + "जापान", + "क़जाख़स्तान", + "केन्या", + "किरिबाती", + "दक्षिण कोरिया", + "लातविया", + "लाओस", + "उत्तर कोरिया", + "कोसोवो", + "कुवैत", + "लेबनान", + "लिचटीनस्टीन", + "लिथुआनिया", + "लक्समबर्ग", + "लीबिया", + "लाइबेरिया", + "लेसोथो", + "नेपाल", + "न्यूज़ीलैण्ड", + "निकारागुआ", + "नाइजर", + "नाउरू", + "सेंट लुसिया", + "रोमानिया", + "अरब अमीरात", + "यूएई", + "युगांडा", + "यूक्रेन", + "उरूग्वे", + "उज़बेकिस्तान", + "यूनाइटेड किंगडम", + "वानुआतू", + "वेटिकन सिटी", + "वेनेजुएला", + "पश्चिमी सहारा", + "वियतनाम", + "यमन", + "ज़ायर", + "ज़ाम्बिया", + "ज़िम्बाब्वे", + "पाकिस्तान", + "सउदी अरब", + "ओमान", + "क़तर", + "ट्यूनीशिया", + "मोरक्को", + "तुर्की", + "श्रीलंका", + "अफ़ग़ानिस्तान", ) - def city_name(self): + def city_name(self) -> str: return self.random_element(self.cities) - def state(self): + def administrative_unit(self) -> str: return self.random_element(self.states) + + state = administrative_unit diff --git a/faker/providers/address/hr_HR/__init__.py b/faker/providers/address/hr_HR/__init__.py index e03373571d..60368c02cc 100755 --- a/faker/providers/address/hr_HR/__init__.py +++ b/faker/providers/address/hr_HR/__init__.py @@ -3,82 +3,303 @@ class Provider(AddressProvider): - city_formats = ('{{city_name}}', ) + city_formats = ("{{city_name}}",) - street_name_formats = ('{{street_name}}', ) - street_address_formats = ('{{street_name}} {{building_number}}', ) - address_formats = ('{{street_address}}\n{{postcode}} {{city}}', ) + street_name_formats = ("{{street_name}}",) + street_address_formats = ("{{street_name}} {{building_number}}",) + address_formats = ("{{street_address}}\n{{postcode}} {{city}}",) - building_number_formats = ('###', '##', '#', '#a', '#b', '#c', - '#a/#', '#b/#', '#c/#') + building_number_formats = ( + "###", + "##", + "#", + "#a", + "#b", + "#c", + "#a/#", + "#b/#", + "#c/#", + ) - postcode_formats = ('#####', ) + postcode_formats = ("#####",) street_suffixes_long = ( - '', 'ulica', 'cesta', 'put', 'avenija', + "", + "ulica", + "cesta", + "put", + "avenija", ) street_suffixes_short = ( - '', 'ul.', 'c.', 'a.', + "", + "ul.", + "c.", + "a.", ) cities = ( - "Bakar", "Beli Manastir", "Belišće", "Benkovac", "Biograd na Moru", - "Bjelovar", "Buje", "Buzet", "Cres", "Crikvenica", "Čabar", "Čakovec", - "Čazma", "Daruvar", "Delnice", "Donja Stubica", "Donji Miholjac", - "Drniš", "Dubrovnik", "Duga Resa", "Dugo Selo", "Đakovo", "Đurđevac", - "Garešnica", "Glina", "Gospić", "Grubišno Polje", - "Hrvatska Kostajnica", "Hvar", "Ilok", "Imotski", "Ivanec", - "Ivanić-Grad", "Jastrebarsko", "Karlovac", "Kastav", "Kaštela", - "Klanjec", "Knin", "Komiža", "Koprivnica", "Korčula", "Kraljevica", - "Krapina", "Križevci", "Krk", "Kutina", "Kutjevo", "Labin", - "Lepoglava", "Lipik", "Ludbreg", "Makarska", "Mali Lošinj", - "Metković", "Mursko Središće", "Našice", "Nin", "Nova Gradiška", - "Novalja", "Novi Marof", "Novi Vinodolski", "Novigrad", "Novska", - "Obrovac", "Ogulin", "Omiš", "Opatija", "Opuzen", "Orahovica", - "Oroslavje", "Osijek", "Otočac", "Otok", "Ozalj", "Pag", "Pakrac", - "Pazin", "Petrinja", "Pleternica", "Ploče", "Popovača", "Poreč", - "Požega", "Pregrada", "Prelog", "Pula", "Rab", "Rijeka", "Rovinj", - "Samobor", "Senj", "Sinj", "Sisak", "Skradin", "Slatina", - "Slavonski Brod", "Slunj", "Solin", "Split", "Stari Grad", - "Supetar", "Sveta Nedelja", "Sveti Ivan Zelina", "Šibenik", - "Trilj", "Trogir", "Umag", "Valpovo", "Varaždin", - "Varaždinske Toplice", "Velika Gorica", "Vinkovci", "Virovitica", - "Vis", "Vodice", "Vodnjan", "Vrbovec", "Vrbovsko", "Vrgorac", - "Vrlika", "Vukovar", "Zabok", "Zadar", "Zagreb", "Zaprešić", "Zlatar", + "Bakar", + "Beli Manastir", + "Belišće", + "Benkovac", + "Biograd na Moru", + "Bjelovar", + "Buje", + "Buzet", + "Cres", + "Crikvenica", + "Čabar", + "Čakovec", + "Čazma", + "Daruvar", + "Delnice", + "Donja Stubica", + "Donji Miholjac", + "Drniš", + "Dubrovnik", + "Duga Resa", + "Dugo Selo", + "Đakovo", + "Đurđevac", + "Garešnica", + "Glina", + "Gospić", + "Grubišno Polje", + "Hrvatska Kostajnica", + "Hvar", + "Ilok", + "Imotski", + "Ivanec", + "Ivanić-Grad", + "Jastrebarsko", + "Karlovac", + "Kastav", + "Kaštela", + "Klanjec", + "Knin", + "Komiža", + "Koprivnica", + "Korčula", + "Kraljevica", + "Krapina", + "Križevci", + "Krk", + "Kutina", + "Kutjevo", + "Labin", + "Lepoglava", + "Lipik", + "Ludbreg", + "Makarska", + "Mali Lošinj", + "Metković", + "Mursko Središće", + "Našice", + "Nin", + "Nova Gradiška", + "Novalja", + "Novi Marof", + "Novi Vinodolski", + "Novigrad", + "Novska", + "Obrovac", + "Ogulin", + "Omiš", + "Opatija", + "Opuzen", + "Orahovica", + "Oroslavje", + "Osijek", + "Otočac", + "Otok", + "Ozalj", + "Pag", + "Pakrac", + "Pazin", + "Petrinja", + "Pleternica", + "Ploče", + "Popovača", + "Poreč", + "Požega", + "Pregrada", + "Prelog", + "Pula", + "Rab", + "Rijeka", + "Rovinj", + "Samobor", + "Senj", + "Sinj", + "Sisak", + "Skradin", + "Slatina", + "Slavonski Brod", + "Slunj", + "Solin", + "Split", + "Stari Grad", + "Supetar", + "Sveta Nedelja", + "Sveti Ivan Zelina", + "Šibenik", + "Trilj", + "Trogir", + "Umag", + "Valpovo", + "Varaždin", + "Varaždinske Toplice", + "Velika Gorica", + "Vinkovci", + "Virovitica", + "Vis", + "Vodice", + "Vodnjan", + "Vrbovec", + "Vrbovsko", + "Vrgorac", + "Vrlika", + "Vukovar", + "Zabok", + "Zadar", + "Zagreb", + "Zaprešić", + "Zlatar", ) streets = ( - "Arnoldova", "Bakačeva", "Bijenička", "Bosanska", "Bučarova", - "Cmrok", "Čačkovićeva", "Davor", "Demetrova", - "Dolac", "Donje Prekrižje", "Draškovićeva", "Dubravkin", - "Dverce", "Dvoranski prečac", "Glogovac", "Golubovac", "Goljačke", - "Goljak", "Gornje Prekrižje", "Gračanska", "Gradec", "Grič", - "Gupčeva zvijezda", "Harmica", "Hercegovačka", "Horvatovac", - "Ilica", "Istarska", "Jabukovac", "Jadranska", "Jagodnjak", - "Javorovac", "Jezuitski trg", "Jurišićeva", "Jurjeve", - "Jurjevska", "Jurkovićeva", "Kamaufova", "Kamenita", "Kamenjak", - "Kaptol", "Kapucinske", "Klanac Grgura Tepečića", "Klenovac", - "Klesarski put", "Kozarčev vijenac", "Kožarska", "Kraljevec", - "Kraljevec II.", "Kraljevečki odvojak", "Kraljevečki ogranak", - "Krležin gvozd", "Krvavi most", "Ksaver", "Ksaverska", "Kurelčeva", - "Lisinskoga", "Lobmayerove", "Ljubinkovac", "Magdićeve", "Mala", - "Male", "Mašekova", "Medvedgradska", "Medveščak", "Mesnička", - "Mihaljevac", "Mirogojska", "Mletačka", "Mlinarska", "Mlinovi", - "Mlinske", "Naumovac", "Nemetova", "Nova Ves", - "Novi Goljak", "Opatička", "Opatovina", "Orlovac", - "Palmotićeva", "Pantovčak", "Paunovac", - "Perivoj biskupa Stjepana II.", "Perivoj srpanjskih žrtava", - "Petrova", "Pod zidom", "Podgaj", "Radnički dol", "Remetska", - "Ribnjak", "Rikardove", "Rockefellerova", "Rokov perivoj", "Rokova", - "Ružičnjak", "Skalinska", "Slavujevac", "Splavnica", - "Srebrnjak", "Streljačka", "Strossmayerovo šetalište", "Svibovac", - "Svibovac", "Šalata", "Šestinski vijenac", "Šestinski vrh", - "Šilobodov put", "Šumski prečac", "Tkalčićeva", "Tošovac", - "Tuškanac", "Vijenac", "Vinogradska", "Visoka", "Višnjica", - "Višnjičke", "Vitezovićeva", "Vlaška", "Voćarska", "Voćarsko naselje", - "Vončinina", "Vrazovo šetalište", "Wickerhauserova", "Zamenhofova", - "Zamenhofove", "Zavojna", "Zelengaj", "Zeleni dol", - "Zelenjak", "Zmajevac", "Zvonarnička", + "Arnoldova", + "Bakačeva", + "Bijenička", + "Bosanska", + "Bučarova", + "Cmrok", + "Čačkovićeva", + "Davor", + "Demetrova", + "Dolac", + "Donje Prekrižje", + "Draškovićeva", + "Dubravkin", + "Dverce", + "Dvoranski prečac", + "Glogovac", + "Golubovac", + "Goljačke", + "Goljak", + "Gornje Prekrižje", + "Gračanska", + "Gradec", + "Grič", + "Gupčeva zvijezda", + "Harmica", + "Hercegovačka", + "Horvatovac", + "Ilica", + "Istarska", + "Jabukovac", + "Jadranska", + "Jagodnjak", + "Javorovac", + "Jezuitski trg", + "Jurišićeva", + "Jurjeve", + "Jurjevska", + "Jurkovićeva", + "Kamaufova", + "Kamenita", + "Kamenjak", + "Kaptol", + "Kapucinske", + "Klanac Grgura Tepečića", + "Klenovac", + "Klesarski put", + "Kozarčev vijenac", + "Kožarska", + "Kraljevec", + "Kraljevec II.", + "Kraljevečki odvojak", + "Kraljevečki ogranak", + "Krležin gvozd", + "Krvavi most", + "Ksaver", + "Ksaverska", + "Kurelčeva", + "Lisinskoga", + "Lobmayerove", + "Ljubinkovac", + "Magdićeve", + "Mala", + "Male", + "Mašekova", + "Medvedgradska", + "Medveščak", + "Mesnička", + "Mihaljevac", + "Mirogojska", + "Mletačka", + "Mlinarska", + "Mlinovi", + "Mlinske", + "Naumovac", + "Nemetova", + "Nova Ves", + "Novi Goljak", + "Opatička", + "Opatovina", + "Orlovac", + "Palmotićeva", + "Pantovčak", + "Paunovac", + "Perivoj biskupa Stjepana II.", + "Perivoj srpanjskih žrtava", + "Petrova", + "Pod zidom", + "Podgaj", + "Radnički dol", + "Remetska", + "Ribnjak", + "Rikardove", + "Rockefellerova", + "Rokov perivoj", + "Rokova", + "Ružičnjak", + "Skalinska", + "Slavujevac", + "Splavnica", + "Srebrnjak", + "Streljačka", + "Strossmayerovo šetalište", + "Svibovac", + "Svibovac", + "Šalata", + "Šestinski vijenac", + "Šestinski vrh", + "Šilobodov put", + "Šumski prečac", + "Tkalčićeva", + "Tošovac", + "Tuškanac", + "Vijenac", + "Vinogradska", + "Visoka", + "Višnjica", + "Višnjičke", + "Vitezovićeva", + "Vlaška", + "Voćarska", + "Voćarsko naselje", + "Vončinina", + "Vrazovo šetalište", + "Wickerhauserova", + "Zamenhofova", + "Zamenhofove", + "Zavojna", + "Zelengaj", + "Zeleni dol", + "Zelenjak", + "Zmajevac", + "Zvonarnička", ) states = ( @@ -106,69 +327,263 @@ class Provider(AddressProvider): ) countries = ( - "Afganistan", "Alandski otoci", "Albanija", "Alžir", "Američka Samoa", - "Američki Djevičanski Otoci", "Andora", "Angola", "Anguila", - "Antarktik", "Antigua i Barbuda", "Argentina", "Armenija", "Aruba", - "Australija", "Austrija", "Azerbajdžan", "Bahami", - "Bahrein", "Bangladeš", "Barbados", "Belgija", "Belize", - "Benin", "Bermuda", "Bjelorusija", "Bocvana", "Bolivija", - "Bosna i Hercegovina", "Božićni Otok", "Brazil", - "Britanski Djevičanski Otoci", "Britanski Teritorij Indijskog Oceana", - "Brunei Darussalam", "Bugarska", "Burkina Faso", "Burundi", "Butan", - "Cipar", "Crna Gora", "Curacao", "Čad", "Čile", "Danska", "Dominika", - "Dominikanska Republika", "Džibuti", "Egipat", "Ekvador", - "Ekvatorska Gvineja", "El Salvador", "Eritreja", "Estonija", - "Etiopija", "Falklandi", "Farski Otoci", "Fidži", "Filipini", "Finska", - "Francuska", "Francuska Gvajana", "Francuska Polinezija", - "Francuski Južni Teritoriji", "Gabon", "Gambija", "Gana", "Gibraltar", - "Vatikan", "Grčka", "Grenada", "Grenland", "Gruzija", "Guadeloupe", - "Guam", "Guernsey", "Gvajana", "Gvatemala", "Gvineja", "Gvineja Bisau", - "Haiti", "Honduras", "Hong Kong", "Hrvatska", "Indija", "Indonezija", - "Irak", "Iran, Islamska Republika", "Irska", "Island", "Isle Of Man", - "Istočni Timor", "Italija", "Izrael", "Jamajka", "Japan", "Jemen", - "Jersey", "Jordan", "Južna Afrika", - "Južna Gruzija i Južni Sendvič Otoci", "Kajmanski Otoci", "Kambodža", - "Kamerun", "Kanada", "Katar", "Kazakstan", "Kenija", "Kina", - "Kirgistan", "Kiribati", "Kokosovi Otoci", "Kolumbija", "Komori", - "Kongo", "Kongo, Demokratska Republika", "Koreja, Južna", - "Koreja, Sjeverna", "Kosovo", "Kostarika", "Kuba", "Kukovi Otoci", - "Kuvajt", "Laoska Narodna Demokratska Republika", "Latvija", "Lesoto", - "Libanon", "Liberija", "Libijska Arapska Džamahirija", "Lihtenštajn", - "Litva", "Luksemburg", "Madagaskar", "Mađarska", "Majote", "Makao", - "Makedonija", "Malavi", "Maldivi Maldives", "Malezija", "Mali", - "Malta", "Maroko", "Maršalovi Otoci", "Martinik", "Mauricijus", - "Mauritanija", "Meksiko", "Mijanmar", "Mikronezija", - "Moldavija, Republika", "Monako", "Mongolija", "Montserat", "Mozambik", - "Namibija", "Nauru", "Nepal", "Niger", "Nigerija", "Nikaragva", "Niue", - "Nizozemska", "Norveška", "Nova Kaledonija", "Novi Zeland", "Njemačka", - "Obala Slonovače", "Oman", "Otok Bouvet", - "Otok Heard i Otoci McDonald", "Otok Norfolk", "Pakistan", "Palau", - "Palestinsko Područje", "Panama", "Papua Nova Gvineja", "Paragvaj", - "Peru", "Pitcairn", "Poljska Poland", "Portoriko", "Portugal", - "Republika Češka", "Reunion", "Ruanda", "Rumunjska", "Rusija", - "Salamunovi Otoci", "Samoa", "San Marino", "São Tomé ai Príncipe", - "Saudijska Arabija", "Sejšeli", "Senegal", "Sijera Leone", "Singapur", - "Sint Maarten", "Sirija", "Sjedinjene Američke Države", - "Sjeverni Marijanski Otoci", "Slovačka", "Slovenija", "Somalija", - "Južni Sudan", "Srbija", "Srednjoafrička Republika", "Sudan", - "Surinam", "Svalbard i Jan Mayen", "Svaziland", "Sveta Helena", - "Sveti Bartolomej", "Sveti Martin", "Sveti Petar i Miguel", - "Sv. Kristofor i Nevis", "Sv. Lucija", "Sv. Vincent i Grenadini", - "Španjolska", "Šri Lanka", "Švedska", "Švicarska", "Tadžikistan", - "Tajland", "Tajvan", "Tanzanija", "Togo", "Tokelau", "Tonga", - "Trinidad i Tobago", "Tunis", "Turkmenistan", "Turkski i Kaikos Otoci", - "Turska", "Tuvalu", "Uganda", + "Afganistan", + "Alandski otoci", + "Albanija", + "Alžir", + "Američka Samoa", + "Američki Djevičanski Otoci", + "Andora", + "Angola", + "Anguila", + "Antarktik", + "Antigua i Barbuda", + "Argentina", + "Armenija", + "Aruba", + "Australija", + "Austrija", + "Azerbajdžan", + "Bahami", + "Bahrein", + "Bangladeš", + "Barbados", + "Belgija", + "Belize", + "Benin", + "Bermuda", + "Bjelorusija", + "Bocvana", + "Bolivija", + "Bosna i Hercegovina", + "Božićni Otok", + "Brazil", + "Britanski Djevičanski Otoci", + "Britanski Teritorij Indijskog Oceana", + "Brunei Darussalam", + "Bugarska", + "Burkina Faso", + "Burundi", + "Butan", + "Cipar", + "Crna Gora", + "Curacao", + "Čad", + "Čile", + "Danska", + "Dominika", + "Dominikanska Republika", + "Džibuti", + "Egipat", + "Ekvador", + "Ekvatorska Gvineja", + "El Salvador", + "Eritreja", + "Estonija", + "Etiopija", + "Falklandi", + "Farski Otoci", + "Fidži", + "Filipini", + "Finska", + "Francuska", + "Francuska Gvajana", + "Francuska Polinezija", + "Francuski Južni Teritoriji", + "Gabon", + "Gambija", + "Gana", + "Gibraltar", + "Vatikan", + "Grčka", + "Grenada", + "Grenland", + "Gruzija", + "Guadeloupe", + "Guam", + "Guernsey", + "Gvajana", + "Gvatemala", + "Gvineja", + "Gvineja Bisau", + "Haiti", + "Honduras", + "Hong Kong", + "Hrvatska", + "Indija", + "Indonezija", + "Irak", + "Iran, Islamska Republika", + "Irska", + "Island", + "Isle Of Man", + "Istočni Timor", + "Italija", + "Izrael", + "Jamajka", + "Japan", + "Jemen", + "Jersey", + "Jordan", + "Južna Afrika", + "Južna Gruzija i Južni Sendvič Otoci", + "Kajmanski Otoci", + "Kambodža", + "Kamerun", + "Kanada", + "Katar", + "Kazakstan", + "Kenija", + "Kina", + "Kirgistan", + "Kiribati", + "Kokosovi Otoci", + "Kolumbija", + "Komori", + "Kongo", + "Kongo, Demokratska Republika", + "Koreja, Južna", + "Koreja, Sjeverna", + "Kosovo", + "Kostarika", + "Kuba", + "Kukovi Otoci", + "Kuvajt", + "Laoska Narodna Demokratska Republika", + "Latvija", + "Lesoto", + "Libanon", + "Liberija", + "Libijska Arapska Džamahirija", + "Lihtenštajn", + "Litva", + "Luksemburg", + "Madagaskar", + "Mađarska", + "Majote", + "Makao", + "Makedonija", + "Malavi", + "Maldivi Maldives", + "Malezija", + "Mali", + "Malta", + "Maroko", + "Maršalovi Otoci", + "Martinik", + "Mauricijus", + "Mauritanija", + "Meksiko", + "Mijanmar", + "Mikronezija", + "Moldavija, Republika", + "Monako", + "Mongolija", + "Montserat", + "Mozambik", + "Namibija", + "Nauru", + "Nepal", + "Niger", + "Nigerija", + "Nikaragva", + "Niue", + "Nizozemska", + "Norveška", + "Nova Kaledonija", + "Novi Zeland", + "Njemačka", + "Obala Slonovače", + "Oman", + "Otok Bouvet", + "Otok Heard i Otoci McDonald", + "Otok Norfolk", + "Pakistan", + "Palau", + "Palestinsko Područje", + "Panama", + "Papua Nova Gvineja", + "Paragvaj", + "Peru", + "Pitcairn", + "Poljska Poland", + "Portoriko", + "Portugal", + "Republika Češka", + "Reunion", + "Ruanda", + "Rumunjska", + "Rusija", + "Salamunovi Otoci", + "Samoa", + "San Marino", + "São Tomé ai Príncipe", + "Saudijska Arabija", + "Sejšeli", + "Senegal", + "Sijera Leone", + "Singapur", + "Sint Maarten", + "Sirija", + "Sjedinjene Američke Države", + "Sjeverni Marijanski Otoci", + "Slovačka", + "Slovenija", + "Somalija", + "Južni Sudan", + "Srbija", + "Srednjoafrička Republika", + "Sudan", + "Surinam", + "Svalbard i Jan Mayen", + "Svaziland", + "Sveta Helena", + "Sveti Bartolomej", + "Sveti Martin", + "Sveti Petar i Miguel", + "Sv. Kristofor i Nevis", + "Sv. Lucija", + "Sv. Vincent i Grenadini", + "Španjolska", + "Šri Lanka", + "Švedska", + "Švicarska", + "Tadžikistan", + "Tajland", + "Tajvan", + "Tanzanija", + "Togo", + "Tokelau", + "Tonga", + "Trinidad i Tobago", + "Tunis", + "Turkmenistan", + "Turkski i Kaikos Otoci", + "Turska", + "Tuvalu", + "Uganda", "Ujedinjene Države Manjih Pacifičkih Otoka", - "Ujedinjeni Arapski Emirati", "Ukrajina", "Urugvaj", "Uzbekistan", - "Vanuatu", "Velika Britanija", "Venezuela", "Vijetnam", - "Wallis i Futuna", "Zambija", "Zapadna Sahara", "Zeleni Rt", + "Ujedinjeni Arapski Emirati", + "Ukrajina", + "Urugvaj", + "Uzbekistan", + "Vanuatu", + "Velika Britanija", + "Venezuela", + "Vijetnam", + "Wallis i Futuna", + "Zambija", + "Zapadna Sahara", + "Zeleni Rt", ) - def city_name(self): + def city_name(self) -> str: return self.random_element(self.cities) - def street_name(self): + def street_name(self) -> str: return self.random_element(self.streets) - def state(self): + def administrative_unit(self) -> str: return self.random_element(self.states) + + state = administrative_unit diff --git a/faker/providers/address/hu_HU/__init__.py b/faker/providers/address/hu_HU/__init__.py index 5674ae689f..4fd1798812 100644 --- a/faker/providers/address/hu_HU/__init__.py +++ b/faker/providers/address/hu_HU/__init__.py @@ -5,34 +5,47 @@ class Provider(AddressProvider): street_suffixes = OrderedDict( - (('utca', 0.75), ('út', 0.1), ('tér', 0.1), ('köz', 0.001), ('körút', 0.001), ('sétány', 0.001))) + ( + ("utca", 0.75), + ("út", 0.1), + ("tér", 0.1), + ("köz", 0.001), + ("körút", 0.001), + ("sétány", 0.001), + ) + ) street_name_formats = ( - '{{frequent_street_name}} {{street_suffix}}', - '{{real_city_name}}i {{street_suffix}}', - '{{city_part}}{{city_suffix}}i {{street_suffix}}', - '{{city_prefix}}{{city_part}}i {{street_suffix}}') + "{{frequent_street_name}} {{street_suffix}}", + "{{real_city_name}}i {{street_suffix}}", + "{{city_part}}{{city_suffix}}i {{street_suffix}}", + "{{city_prefix}}{{city_part}}i {{street_suffix}}", + ) # Currently deprecated. # secondary_address_formats = ("#.em #.", "##. em. #.") - city_formats = ('{{city_prefix}}{{city_part}}{{city_suffix}}', - '{{city_part}}{{city_suffix}}', '{{real_city_name}}') + city_formats = ( + "{{city_prefix}}{{city_part}}{{city_suffix}}", + "{{city_part}}{{city_suffix}}", + "{{real_city_name}}", + ) - street_address_formats = ('{{street_name}} {{building_number}}',) + street_address_formats = ("{{street_name}} {{building_number}}",) address_formats = ("{{street_address}}\n{{postcode}} {{city}}",) frequent_street_names = ( - 'Ady Endre', - 'Dózsa György', - 'Petőfi', - 'Petőfi Sándor', - 'Arany János', - 'Béke', - 'Szabadság', - 'Kossuth', - 'József Attila') + "Ady Endre", + "Dózsa György", + "Petőfi", + "Petőfi Sándor", + "Arany János", + "Béke", + "Szabadság", + "Kossuth", + "József Attila", + ) # The 'real city name' generator includes a number of real cities of # Hungary that no generator could feasibly dispense. Please note that the @@ -47,198 +60,410 @@ class Provider(AddressProvider): # of 01 January 2016 (http://www.ksh.hu/docs/hun/hnk/hnk_2016.pdf). real_city_names = ( - 'Budapest', - 'Debrecen', - 'Szeged', - 'Miskolc', - 'Pécs', - 'Győr', - 'Nyíregyháza', - 'Kecskemét', - 'Székesfehérvár', - 'Szombathely', - 'Szolnok', - 'Tatabánya', - 'Érd', - 'Kaposvár', - 'Sopron', - 'Veszprém', - 'Békéscsaba', - 'Zalaegerszeg', - 'Eger', - 'Nagykanizsa', - 'Dunaújváros', - 'Hódmezővásárhely', - 'Dunakeszi', - 'Szigetszentmiklós', - 'Cegléd', - 'Baja', - 'Salgótarján', - 'Ózd', - 'Vác', - 'Mosonmagyaróvár') + "Budapest", + "Debrecen", + "Szeged", + "Miskolc", + "Pécs", + "Győr", + "Nyíregyháza", + "Kecskemét", + "Székesfehérvár", + "Szombathely", + "Szolnok", + "Tatabánya", + "Érd", + "Kaposvár", + "Sopron", + "Veszprém", + "Békéscsaba", + "Zalaegerszeg", + "Eger", + "Nagykanizsa", + "Dunaújváros", + "Hódmezővásárhely", + "Dunakeszi", + "Szigetszentmiklós", + "Cegléd", + "Baja", + "Salgótarján", + "Ózd", + "Vác", + "Mosonmagyaróvár", + ) city_prefs = ( - 'kis', - 'nagy', - 'szent', - 'duna', - 'tisza', - 'alsó', - 'felső', - 'belső', - 'bakony', - 'vác', - 'mező', - 'nyék', - 'nyír', - 'balaton', - 'borsod', - 'buda', - 'hajdú', - 'kun', - 'moson', - 'pilis', - 'új', - 'egyházas', - 'dráva', - 'magyar', - 'mátra', - 'somogy', - 'lajos', - 'bács', - 'békés', - 'puszta', - 'orosz', - 'rác', - 'szerb', - 'német', - 'török') + "kis", + "nagy", + "szent", + "duna", + "tisza", + "alsó", + "felső", + "belső", + "bakony", + "vác", + "mező", + "nyék", + "nyír", + "balaton", + "borsod", + "buda", + "hajdú", + "kun", + "moson", + "pilis", + "új", + "egyházas", + "dráva", + "magyar", + "mátra", + "somogy", + "lajos", + "bács", + "békés", + "puszta", + "orosz", + "rác", + "szerb", + "német", + "török", + ) city_parts = ( - 'híd', - 'györgy', - 'mindszent', - 'kereszt', - 'márton', - 'hát', - 'hetven', - 'mellék', - 'tamási', - 'tapolca', - 'fürdő', - 'liget', - 'szék', - 'tót', - '') + "híd", + "györgy", + "mindszent", + "kereszt", + "márton", + "hát", + "hetven", + "mellék", + "tamási", + "tapolca", + "fürdő", + "liget", + "szék", + "tót", + "", + ) city_suffixes = ( - 'háza', - 'németi', - 'devecser', - 'fa', - 'nádasd', - 'apáti', - 'falu', - 'falva', - 'vég', - 'vár', - 'vára', - 'várad', - 'hida', - 'kövesd', - 'bánya', - 'halas', - 'berény', - 'kőrös', - 'haraszti', - 'város') + "háza", + "németi", + "devecser", + "fa", + "nádasd", + "apáti", + "falu", + "falva", + "vég", + "vár", + "vára", + "várad", + "hida", + "kövesd", + "bánya", + "halas", + "berény", + "kőrös", + "haraszti", + "város", + ) counties = ( - 'Bács-Kiskun', - 'Baranya', - 'Békés', - 'Borsod-Abaúj-Zemplén', - 'Csongrád', - 'Fejér', - 'Győr-Moson-Sopron', - 'Hajdú-Bihar', - 'Heves', - 'Jász-Nagykun-Szolnok', - 'Komárom-Esztergom', - 'Nógrád', - 'Pest', - 'Somogy', - 'Szabolcs-Szatmár-Bereg', - 'Tolna', - 'Vas', - 'Veszprém', - 'Zala') + "Bács-Kiskun", + "Baranya", + "Békés", + "Borsod-Abaúj-Zemplén", + "Csongrád", + "Fejér", + "Győr-Moson-Sopron", + "Hajdú-Bihar", + "Heves", + "Jász-Nagykun-Szolnok", + "Komárom-Esztergom", + "Nógrád", + "Pest", + "Somogy", + "Szabolcs-Szatmár-Bereg", + "Tolna", + "Vas", + "Veszprém", + "Zala", + ) countries = ( - "Afganisztán", "Aland-szigetek", "Albánia", "Algéria", "Amerikai Szamoa", "Amerikai Virgin-szigetek", "Andorra", - "Angola", "Anguilla", "Antarktisz", "Antigua és Barbuda", "Apostoli Szentszék", "Argentína", "Aruba", - "Ausztrália", "Ausztria", "Amerikai Egyesült Államok Külső Szigetei", "Azerbajdzsán", "Bahama-szigetek", - "Bahrein", "Banglades", "Barbados", "Fehéroroszország", "Belgium", "Belize", "Benin", "Bermuda", "Bhután", - "Bissa -Guinea", "Bolívia", "Bosznia-Hercegovina", "Botswana", "Bouvet-sziget", "Brazília", - "Brit Indiai-óceáni Terület", "Brit Virgin - szigetek", "Brunei", "Bulgária", "Burkina Faso", "Burundi", - "Chile", "Ciprus", "Comore-szigetek", "Cook-szigetek", "Costa Rica", "Csád", "Csehország", "Dánia", - "Dél-Afrika", "Dél-Korea", "Dominika", "Dominikai Köztársaság", "Dzsibuti", "Ecuador", "Egyenlítői-Guinea", - "Egyesült Államok", "Egyesült Arab Emírségek", "Egyesült Királyság", "Egyiptom", "Elefántcsontpart", "Eritrea", - "Északi Mariana-szigetek", "Észak-Korea", "Észtország", "Etiópia", "Falkland-szigetek", "Feröer szigetek", - "Fidzsi-szigetek", "Finnország", "Francia Déli Területek", "Francia Guyana", "Francia Polinézia", - "Franciaország", "Fülöp-szigetek", "Gabon", "Gambia", "Ghána", "Gibraltár", "Görögország", "Grenada", - "Grönland", "Grúzia", "Guadeloupe", "Guam", "Guatemala", "Guinea", "Guyana", "Haiti", "Holland Antillák", - "Hollandia", "Honduras", "Hongkong", "Horvátország", "India", "Indonézia", "Irak", "Irán", "Írország", "Izland", - "Izrael", "Jamaica", "Japán", "Jemen", "Jordánia", "Kajmán-szigetek", "Kambodzsa", "Kamerun", "Kanada", - "Karácsony-sziget", "Katar", "Kazahsztán", "Kelet-Timor", "Kenya", "Kína", "Kirgizisztán", "Kiribati", - "Keeling-szigetek", "Kolumbia", "Kongó", "Kongói Demokratikus Köztársaság", "Közép-afrikai Köztársaság", "Kuba", - "Kuvait", "Laosz", "Lengyelország", "Lesotho", "Lettország", "Libanon", "Libéria", "Líbia", "Liechtenstein", - "Litvánia", "Luxemburg", "Macedónia", "Madagaszkár", "Magyarország", "Makaó", "Malajzia", "Malawi", - "Maldív-szigetek", "Mali", "Málta", "Marokkó", "Marshall-szigetek", "Martinique", "Mauritánia", "Mauritius", - "Mayotte", "Mexikó", "Mianmar", "Mikronézia", "Moldova", "Monaco", "Mongólia", "Montenegró", "Montserrat", - "Mozambik", "Namíbia", "Nauru", "Németország", "Nepál", "Nicaragua", "Niger", "Nigéria", "Niue", - "Norfolk-sziget", "Norvégia", "Nyugat-Szahara", "Olaszország", "Omán", "Oroszország", "Örményország", - "Pakisztán", "Palau", "Panama", "Pápua", "Új-Guinea", "Paraguay", "Peru", "Pitcairn-szigetek", "Portugália", - "Puerto Rico", "Réunion", "Románia", "Ruanda", "Saint Kitts és Nevis", "Saint Lucia", - "Saint-Pierre és Miquelon", "Saint Vincent és Grenadine-szigetek", "Salamon-szigetek", "Salvador", "San Marino", - "São Tomé és Príncipe", "Seychelle-szigetek", "Sierra Leone", "Spanyolország", "Srí Lanka", "Suriname", "Svájc", - "Svalbard szigetek", "Svédország", "Szamoa", "Szaúdi-Arábia", "Szenegál", "Szent Ilona", "Szerbia", "Szingapúr", - "Szíria", "Szlovákia", "Szlovénia", "Szomália", "Szudán", "Szváziföld", "Tádzsikisztán", "Tajvan", "Tanzánia", - "Thaiföld", "Togo", "Tokelau-szigetek", "Tonga", "Törökország", "Trinidad és Tobago", "Tunézia", - "Turks- és Caicos-szigetek", "Tuvalu", "Türkmenisztán", "Uganda", "Új-Kaledónia", "Új-Zéland", "Ukrajna", - "Uruguay", "Üzbegisztán", "Vanuatu", "Venezuela", "Vietnam", "Wallis és Futuna", "Zambia", "Zimbabwe", - "Zöld-foki szigetek") - - def county(self): + "Afganisztán", + "Aland-szigetek", + "Albánia", + "Algéria", + "Amerikai Szamoa", + "Amerikai Virgin-szigetek", + "Andorra", + "Angola", + "Anguilla", + "Antarktisz", + "Antigua és Barbuda", + "Apostoli Szentszék", + "Argentína", + "Aruba", + "Ausztrália", + "Ausztria", + "Amerikai Egyesült Államok Külső Szigetei", + "Azerbajdzsán", + "Bahama-szigetek", + "Bahrein", + "Banglades", + "Barbados", + "Fehéroroszország", + "Belgium", + "Belize", + "Benin", + "Bermuda", + "Bhután", + "Bissa -Guinea", + "Bolívia", + "Bosznia-Hercegovina", + "Botswana", + "Bouvet-sziget", + "Brazília", + "Brit Indiai-óceáni Terület", + "Brit Virgin - szigetek", + "Brunei", + "Bulgária", + "Burkina Faso", + "Burundi", + "Chile", + "Ciprus", + "Comore-szigetek", + "Cook-szigetek", + "Costa Rica", + "Csád", + "Csehország", + "Dánia", + "Dél-Afrika", + "Dél-Korea", + "Dominika", + "Dominikai Köztársaság", + "Dzsibuti", + "Ecuador", + "Egyenlítői-Guinea", + "Egyesült Államok", + "Egyesült Arab Emírségek", + "Egyesült Királyság", + "Egyiptom", + "Elefántcsontpart", + "Eritrea", + "Északi Mariana-szigetek", + "Észak-Korea", + "Észtország", + "Etiópia", + "Falkland-szigetek", + "Feröer szigetek", + "Fidzsi-szigetek", + "Finnország", + "Francia Déli Területek", + "Francia Guyana", + "Francia Polinézia", + "Franciaország", + "Fülöp-szigetek", + "Gabon", + "Gambia", + "Ghána", + "Gibraltár", + "Görögország", + "Grenada", + "Grönland", + "Grúzia", + "Guadeloupe", + "Guam", + "Guatemala", + "Guinea", + "Guyana", + "Haiti", + "Holland Antillák", + "Hollandia", + "Honduras", + "Hongkong", + "Horvátország", + "India", + "Indonézia", + "Irak", + "Irán", + "Írország", + "Izland", + "Izrael", + "Jamaica", + "Japán", + "Jemen", + "Jordánia", + "Kajmán-szigetek", + "Kambodzsa", + "Kamerun", + "Kanada", + "Karácsony-sziget", + "Katar", + "Kazahsztán", + "Kelet-Timor", + "Kenya", + "Kína", + "Kirgizisztán", + "Kiribati", + "Keeling-szigetek", + "Kolumbia", + "Kongó", + "Kongói Demokratikus Köztársaság", + "Közép-afrikai Köztársaság", + "Kuba", + "Kuvait", + "Laosz", + "Lengyelország", + "Lesotho", + "Lettország", + "Libanon", + "Libéria", + "Líbia", + "Liechtenstein", + "Litvánia", + "Luxemburg", + "Macedónia", + "Madagaszkár", + "Magyarország", + "Makaó", + "Malajzia", + "Malawi", + "Maldív-szigetek", + "Mali", + "Málta", + "Marokkó", + "Marshall-szigetek", + "Martinique", + "Mauritánia", + "Mauritius", + "Mayotte", + "Mexikó", + "Mianmar", + "Mikronézia", + "Moldova", + "Monaco", + "Mongólia", + "Montenegró", + "Montserrat", + "Mozambik", + "Namíbia", + "Nauru", + "Németország", + "Nepál", + "Nicaragua", + "Niger", + "Nigéria", + "Niue", + "Norfolk-sziget", + "Norvégia", + "Nyugat-Szahara", + "Olaszország", + "Omán", + "Oroszország", + "Örményország", + "Pakisztán", + "Palau", + "Panama", + "Pápua", + "Új-Guinea", + "Paraguay", + "Peru", + "Pitcairn-szigetek", + "Portugália", + "Puerto Rico", + "Réunion", + "Románia", + "Ruanda", + "Saint Kitts és Nevis", + "Saint Lucia", + "Saint-Pierre és Miquelon", + "Saint Vincent és Grenadine-szigetek", + "Salamon-szigetek", + "Salvador", + "San Marino", + "São Tomé és Príncipe", + "Seychelle-szigetek", + "Sierra Leone", + "Spanyolország", + "Srí Lanka", + "Suriname", + "Svájc", + "Svalbard szigetek", + "Svédország", + "Szamoa", + "Szaúdi-Arábia", + "Szenegál", + "Szent Ilona", + "Szerbia", + "Szingapúr", + "Szíria", + "Szlovákia", + "Szlovénia", + "Szomália", + "Szudán", + "Szváziföld", + "Tádzsikisztán", + "Tajvan", + "Tanzánia", + "Thaiföld", + "Togo", + "Tokelau-szigetek", + "Tonga", + "Törökország", + "Trinidad és Tobago", + "Tunézia", + "Turks- és Caicos-szigetek", + "Tuvalu", + "Türkmenisztán", + "Uganda", + "Új-Kaledónia", + "Új-Zéland", + "Ukrajna", + "Uruguay", + "Üzbegisztán", + "Vanuatu", + "Venezuela", + "Vietnam", + "Wallis és Futuna", + "Zambia", + "Zimbabwe", + "Zöld-foki szigetek", + ) + + def administrative_unit(self) -> str: return self.random_element(self.counties) - def street_address_with_county(self): - return "{street_address}\n{county} megye\n{postcode} {city}".format( - street_address=self.street_address(), - county=self.county(), - postcode=self.postcode(), - city=self.city().capitalize()) + county = administrative_unit + + def street_address_with_county(self) -> str: + return f"{self.street_address()}\n{self.county()} megye\n{self.postcode()} {self.city().capitalize()}" - def city_prefix(self): + def city_prefix(self) -> str: return self.random_element(self.city_prefs) - def city_part(self): + def city_part(self) -> str: return self.random_element(self.city_parts) - def real_city_name(self): + def real_city_name(self) -> str: return self.random_element(self.real_city_names) - def frequent_street_name(self): + def frequent_street_name(self) -> str: return self.random_element(self.frequent_street_names) - def postcode(self): - return "H-{}{}{}{}".format( - super().random_digit_not_null(), super().random_digit(), super().random_digit(), super().random_digit()) + def postcode(self) -> str: + return ( + f"H-{super().random_digit_not_null()}{super().random_digit()}" + f"{super().random_digit()}{super().random_digit()}" + ) - def street_name(self): + def street_name(self) -> str: return super().street_name().capitalize() - def building_number(self): + def building_number(self) -> str: numeric_part = super().random_int(1, 250) return str(numeric_part) + "." diff --git a/faker/providers/address/hy_AM/__init__.py b/faker/providers/address/hy_AM/__init__.py index 988a9b4fe7..9b2c0208c8 100644 --- a/faker/providers/address/hy_AM/__init__.py +++ b/faker/providers/address/hy_AM/__init__.py @@ -1,622 +1,625 @@ +from typing import Optional + from .. import Provider as AddressProvider class Provider(AddressProvider): - city_prefixes = ('ք.',) - city_suffixes = ('',) - street_prefixes = ('փողոց', 'պողոտա') - street_suffixes = ('',) - village_prefixes = ('գ.',) + city_formats = ("{{first_name}}",) + city_prefixes = ("ք.",) + city_suffixes = ("",) + street_prefixes = ("փողոց", "պողոտա") + street_suffixes = ("",) + village_prefixes = ("գ.",) address_formats = ( - '{{city_prefix}} {{city}}, {{street_name}} {{building_number}}', - '{{city_prefix}} {{city}}, {{street_name}} {{building_number}}, {{secondary_address}}', - '{{city_prefix}} {{city}}, {{postcode}}, {{street_name}} {{building_number}}', - '{{city_prefix}} {{city}}, {{postcode}}, {{street_name}} {{building_number}}, {{secondary_address}}', - '{{village_prefix}} {{village}}, {{state}}ի մարզ, {{postcode}}, {{street_name}} {{building_number}}', + "{{city_prefix}} {{city}}, {{street_name}} {{building_number}}", + "{{city_prefix}} {{city}}, {{street_name}} {{building_number}}, {{secondary_address}}", + "{{city_prefix}} {{city}}, {{postcode}}, {{street_name}} {{building_number}}", + "{{city_prefix}} {{city}}, {{postcode}}, {{street_name}} {{building_number}}, {{secondary_address}}", + "{{village_prefix}} {{village}}, {{state}}ի մարզ, {{postcode}}, {{street_name}} {{building_number}}", ) - building_number_formats = ('#', '##', '###') - postcode_formats = ('0###', '1###', '2###', '3###', '4###') - secondary_address_formats = ('բն. #', 'բն. ##', 'բն. ##') - street_address_formats = ('{{street_name}} {{building_number}}',) - street_name_formats = ('{{street}}',) + building_number_formats = ("#", "##", "###") + postcode_formats = ("0###", "1###", "2###", "3###", "4###") + secondary_address_formats = ("բն. #", "բն. ##", "բն. ##") + street_address_formats = ("{{street_name}} {{building_number}}",) + street_name_formats = ("{{street}}",) # Source: List of cities and towns in Armenia (Wikipedia) # https://en.wikipedia.org/wiki/List_of_cities_and_towns_in_Armenia cities = ( - 'Աբովյան', - 'Ագարակ', - 'Ալավերդի', - 'Ախթալա', - 'Այրում', - 'Աշտարակ', - 'Ապարան', - 'Արարատ', - 'Արթիկ', - 'Արմավիր', - 'Արտաշատ', - 'Բերդ', - 'Բյուրեղավան', - 'Գավառ', - 'Գյումրի', - 'Գորիս', - 'Դաստակերտ', - 'Դիլիջան', - 'Եղեգնաձոր', - 'Եղվարդ', - 'Երևան', - 'Վաղարշապատ', - 'Թալին', - 'Թումանյան', - 'Իջևան', - 'Ծաղկաձոր', - 'Կապան', - 'Հրազդան', - 'Ճամբարակ', - 'Մասիս', - 'Մարալիկ', - 'Մարտունի', - 'Մեծամոր', - 'Մեղրի', - 'Նոր Հաճն', - 'Նոյեմբերյան', - 'Շամլուղ', - 'Չարենցավան', - 'Ջերմուկ', - 'Սիսիան', - 'Սպիտակ', - 'Ստեփանավան', - 'Սևան', - 'Վայք', - 'Վանաձոր', - 'Վարդենիս', - 'Վեդի', - 'Տաշիր', - 'Քաջարան', + "Աբովյան", + "Ագարակ", + "Ալավերդի", + "Ախթալա", + "Այրում", + "Աշտարակ", + "Ապարան", + "Արարատ", + "Արթիկ", + "Արմավիր", + "Արտաշատ", + "Բերդ", + "Բյուրեղավան", + "Գավառ", + "Գյումրի", + "Գորիս", + "Դաստակերտ", + "Դիլիջան", + "Եղեգնաձոր", + "Եղվարդ", + "Երևան", + "Վաղարշապատ", + "Թալին", + "Թումանյան", + "Իջևան", + "Ծաղկաձոր", + "Կապան", + "Հրազդան", + "Ճամբարակ", + "Մասիս", + "Մարալիկ", + "Մարտունի", + "Մեծամոր", + "Մեղրի", + "Նոր Հաճն", + "Նոյեմբերյան", + "Շամլուղ", + "Չարենցավան", + "Ջերմուկ", + "Սիսիան", + "Սպիտակ", + "Ստեփանավան", + "Սևան", + "Վայք", + "Վանաձոր", + "Վարդենիս", + "Վեդի", + "Տաշիր", + "Քաջարան", ) # Source: Wikipedia's list of sovereign states # https://en.wikipedia.org/wiki/List_of_sovereign_states countries = ( - 'Աֆղանստան', - 'Ալբանիա', - 'Ալժիր', - 'Ամերիկյան Սամոա', - 'Անդորրա', - 'Անգոլա', - 'Անգիլիա', - 'Անտարկտիկա', - 'Անտիգուա և Բարբուդա', - 'Արգենտինա', - 'Հայաստան', - 'Արուբա', - 'Ավստրալիա', - 'Ավստրիա', - 'Ադրբեջան', - 'Բահամներ', - 'Բահրեյն', - 'Բանգլադեշ', - 'Բարբադոս', - 'Բելառուս', - 'Բելգիա', - 'Բելիզ', - 'Բենին', - 'Բերմուդա', - 'Բութան', - 'Բոլիվիա', - 'Բոսնիա և Հերցեգովինա', - 'Բոտսվանա', - 'Բրազիլիա', - 'Բրունեյ Դարուսսալամ', - 'Բուլղարիա', - 'Բուրկինա Ֆասո', - 'Բուրունդի', - 'Կամբոջա', - 'Կամերուն', - 'Կանադա', - 'Կաբո Վերդե', - 'Կայման Կղզիներ', - 'Կենտրոնական Աֆրիկյան Հանրապետություն', - 'Չադ', - 'Չիլի', - 'Չինաստան', - 'Սուրբ Ծննդյան Կղզի', - 'Կոկոս Կղզիներ', - 'Կոլումբիա', - 'Կոմորյան Կղզիներ', - 'Կոնգո', - 'Կուկի Կղզիներ', - 'Կոստա Ռիկա', - 'Կոտ դ\'Իվուար', - 'Խորվաթիա', - 'Կուբա', - 'Կիպրոս', - 'Չեխիայի Հանրապետություն', - 'Դանիա', - 'Ջիբութի', - 'Դոմինիկա', - 'Դոմինիկյան Հանրապետություն', - 'Էկվադոր', - 'Եգիպտոս', - 'Սալվադոր', - 'Հասարակածային Գվինեա', - 'Էրիտրեա', - 'Էստոնիա', - 'Եթովպիա', - 'Ֆարերյան Կղզիներ', - 'Ֆոլկլենդյան Կղզիներ', - 'Ֆիջի', - 'Ֆինլանդիա', - 'Ֆրանսիա', - 'Ֆրանսիական Գվիանա', - 'Ֆրանսիական Պոլինեզիա', - 'Ֆրանսիական Հարավային Տարածքներ', - 'Գաբոն', - 'Գամբիա', - 'Վրաստան', - 'Գերմանիա', - 'Գանա', - 'Ջիբրալթար', - 'Հունաստան', - 'Գրենլանդիա', - 'Գրենադա', - 'Գվադելուպա', - 'Գուամ', - 'Գվատեմալա', - 'Գերնսի', - 'Գվինեա', - 'Գվինեա Բիսաու', - 'Գայանա', - 'Հաիթի', - 'Վատիկան', - 'Հոնդուրաս', - 'Հոնգ Կոնգ', - 'Հունգարիա', - 'Իսլանդիա', - 'Հնդկաստան', - 'Ինդոնեզիա', - 'Իրան', - 'Իրաք', - 'Իռլանիա', - 'Իսրայել', - 'Իտալիա', - 'Ջամայկա', - 'Ճապոնիա', - 'Հորդանան', - 'Ղազախստան', - 'Քենիա', - 'Կիրիբատի', - 'Հյուսիսային Կորեա', - 'Հարավային Կորեա', - 'Կոսովո', - 'Քուվեյթ', - 'Ղրղզստան', - 'Լաոս', - 'Լատվիա', - 'Լիբանան', - 'Լեսոտո', - 'Լիբերիա', - 'Լիբիական Արաբական Ջամահիրիա', - 'Լիխտենշտեյն', - 'Լիտվա', - 'Լյուքսեմբուրգ', - 'Մակաո', - 'Մակեդոնիա', - 'Մադագասկար', - 'Մալավի', - 'Մալազիա', - 'Մալդիվներ', - 'Մալի', - 'Մալթա', - 'Մարշալյան Կղզիներ', - 'Մարտինիկ', - 'Մավրիտանիա', - 'Մավրիկիոս', - 'Մայոտտե', - 'Մեքսիկա', - 'Միկրոնեզիա', - 'Մոլդովա', - 'Մոնակո', - 'Մոնղոլիա', - 'Չեռնոգորիա', - 'Մոնսերատ', - 'Մարոկկո', - 'Մոզամբիկ', - 'Մյանմա', - 'Նամիբիա', - 'Նաուրու', - 'Նեպալ', - 'Նիդեռլանդական Անտիլներ', - 'Նիդերլանդներ', - 'Նոր Կալեդոնիա', - 'Նոր Զելանդիա', - 'Նիկարագուա', - 'Նիգեր', - 'Նիգերիա', - 'Նիուե', - 'Նորֆոլկ Կղզի', - 'Հյուսիսային Մարիանյան Կղզիներ', - 'Նորվեգիա', - 'Օման', - 'Պակիստան', - 'Պալաու', - 'Պաղեստին', - 'Պանամա', - 'Պապուա Նոր Գվինեա', - 'Պարագվայ', - 'Պերու', - 'Ֆիլիպիններ', - 'Պիտկիրնյան Կղզիներ', - 'Լեհաստան', - 'Պորտուգալիա', - 'Պուերտո Ռիկո', - 'Կատար', - 'Ռումինիա', - 'Ռուսաստանի Դաշնություն', - 'Ռուանդա', - 'Սուրբ Բարդուղիմեոս', - 'Սուրբ Հելենա', - 'Սենտ Կիտս և Նևիս', - 'Սուրբ Լուչիա', - 'Սուրբ Մարտին', - 'Սեն Պիեռ և Միկելոն', - 'Սենթ Վինսենթ և Գրենադիններ', - 'Սամոա', - 'Սան Մարինո', - 'Սաուդյան Արաբիա', - 'Սենեգալ', - 'Սերբիա', - 'Սեյշելներ', - 'Սիերա Լեոնե', - 'Սինգապուր', - 'Սլովակիա', - 'Սլովենիա', - 'Սողոմոնյան Կղզիներ', - 'Սոմալի', - 'Հարավային Աֆրիկա', - 'Իսպանիա', - 'Շրի Լանկա', - 'Սուդան', - 'Սուրինամ', - 'Սվալբարդ և Յան Մայենյան Կղզիներ', - 'Սվազիլենդ', - 'Շվեդիա', - 'Շվեյցարիա', - 'Սիրիայի Արաբական Հանրապետություն', - 'Թայվան', - 'Տաջիկստան', - 'Տանզանիա', - 'Թաիլանդ', - 'Տոգո', - 'Տոկելաու', - 'Տոնգա', - 'Տրինիդադ և Տոբագո', - 'Թունիս', - 'Թուրքիա', - 'Թուրքմենստան', - 'Տուվալու', - 'Ուգանդա', - 'Ուկրաինա', - 'Արաբական Միացյալ Էմիրություններ', - 'Մեծ Բրիտանիա', - 'Ամերիկայի Միացյալ Նահանգներ', - 'Ուրուգվայ', - 'Ուզբեկստան', - 'Վենեսուելա', - 'Վիետնամ', - 'Ուոլիս և Ֆուտունա', - 'Արևմտյան Սահարա', - 'Եմեն', - 'Զամբիա', - 'Զիմբաբվե', + "Աֆղանստան", + "Ալբանիա", + "Ալժիր", + "Ամերիկյան Սամոա", + "Անդորրա", + "Անգոլա", + "Անգիլիա", + "Անտարկտիկա", + "Անտիգուա և Բարբուդա", + "Արգենտինա", + "Հայաստան", + "Արուբա", + "Ավստրալիա", + "Ավստրիա", + "Ադրբեջան", + "Բահամներ", + "Բահրեյն", + "Բանգլադեշ", + "Բարբադոս", + "Բելառուս", + "Բելգիա", + "Բելիզ", + "Բենին", + "Բերմուդա", + "Բութան", + "Բոլիվիա", + "Բոսնիա և Հերցեգովինա", + "Բոտսվանա", + "Բրազիլիա", + "Բրունեյ Դարուսսալամ", + "Բուլղարիա", + "Բուրկինա Ֆասո", + "Բուրունդի", + "Կամբոջա", + "Կամերուն", + "Կանադա", + "Կաբո Վերդե", + "Կայման Կղզիներ", + "Կենտրոնական Աֆրիկյան Հանրապետություն", + "Չադ", + "Չիլի", + "Չինաստան", + "Սուրբ Ծննդյան Կղզի", + "Կոկոս Կղզիներ", + "Կոլումբիա", + "Կոմորյան Կղզիներ", + "Կոնգո", + "Կուկի Կղզիներ", + "Կոստա Ռիկա", + "Կոտ դ'Իվուար", + "Խորվաթիա", + "Կուբա", + "Կիպրոս", + "Չեխիայի Հանրապետություն", + "Դանիա", + "Ջիբութի", + "Դոմինիկա", + "Դոմինիկյան Հանրապետություն", + "Էկվադոր", + "Եգիպտոս", + "Սալվադոր", + "Հասարակածային Գվինեա", + "Էրիտրեա", + "Էստոնիա", + "Եթովպիա", + "Ֆարերյան Կղզիներ", + "Ֆոլկլենդյան Կղզիներ", + "Ֆիջի", + "Ֆինլանդիա", + "Ֆրանսիա", + "Ֆրանսիական Գվիանա", + "Ֆրանսիական Պոլինեզիա", + "Ֆրանսիական Հարավային Տարածքներ", + "Գաբոն", + "Գամբիա", + "Վրաստան", + "Գերմանիա", + "Գանա", + "Ջիբրալթար", + "Հունաստան", + "Գրենլանդիա", + "Գրենադա", + "Գվադելուպա", + "Գուամ", + "Գվատեմալա", + "Գերնսի", + "Գվինեա", + "Գվինեա Բիսաու", + "Գայանա", + "Հաիթի", + "Վատիկան", + "Հոնդուրաս", + "Հոնգ Կոնգ", + "Հունգարիա", + "Իսլանդիա", + "Հնդկաստան", + "Ինդոնեզիա", + "Իրան", + "Իրաք", + "Իռլանիա", + "Իսրայել", + "Իտալիա", + "Ջամայկա", + "Ճապոնիա", + "Հորդանան", + "Ղազախստան", + "Քենիա", + "Կիրիբատի", + "Հյուսիսային Կորեա", + "Հարավային Կորեա", + "Կոսովո", + "Քուվեյթ", + "Ղրղզստան", + "Լաոս", + "Լատվիա", + "Լիբանան", + "Լեսոտո", + "Լիբերիա", + "Լիբիական Արաբական Ջամահիրիա", + "Լիխտենշտեյն", + "Լիտվա", + "Լյուքսեմբուրգ", + "Մակաո", + "Մակեդոնիա", + "Մադագասկար", + "Մալավի", + "Մալազիա", + "Մալդիվներ", + "Մալի", + "Մալթա", + "Մարշալյան Կղզիներ", + "Մարտինիկ", + "Մավրիտանիա", + "Մավրիկիոս", + "Մայոտտե", + "Մեքսիկա", + "Միկրոնեզիա", + "Մոլդովա", + "Մոնակո", + "Մոնղոլիա", + "Չեռնոգորիա", + "Մոնսերատ", + "Մարոկկո", + "Մոզամբիկ", + "Մյանմա", + "Նամիբիա", + "Նաուրու", + "Նեպալ", + "Նիդեռլանդական Անտիլներ", + "Նիդերլանդներ", + "Նոր Կալեդոնիա", + "Նոր Զելանդիա", + "Նիկարագուա", + "Նիգեր", + "Նիգերիա", + "Նիուե", + "Նորֆոլկ Կղզի", + "Հյուսիսային Մարիանյան Կղզիներ", + "Նորվեգիա", + "Օման", + "Պակիստան", + "Պալաու", + "Պաղեստին", + "Պանամա", + "Պապուա Նոր Գվինեա", + "Պարագվայ", + "Պերու", + "Ֆիլիպիններ", + "Պիտկիրնյան Կղզիներ", + "Լեհաստան", + "Պորտուգալիա", + "Պուերտո Ռիկո", + "Կատար", + "Ռումինիա", + "Ռուսաստանի Դաշնություն", + "Ռուանդա", + "Սուրբ Բարդուղիմեոս", + "Սուրբ Հելենա", + "Սենտ Կիտս և Նևիս", + "Սուրբ Լուչիա", + "Սուրբ Մարտին", + "Սեն Պիեռ և Միկելոն", + "Սենթ Վինսենթ և Գրենադիններ", + "Սամոա", + "Սան Մարինո", + "Սաուդյան Արաբիա", + "Սենեգալ", + "Սերբիա", + "Սեյշելներ", + "Սիերա Լեոնե", + "Սինգապուր", + "Սլովակիա", + "Սլովենիա", + "Սողոմոնյան Կղզիներ", + "Սոմալի", + "Հարավային Աֆրիկա", + "Իսպանիա", + "Շրի Լանկա", + "Սուդան", + "Սուրինամ", + "Սվալբարդ և Յան Մայենյան Կղզիներ", + "Սվազիլենդ", + "Շվեդիա", + "Շվեյցարիա", + "Սիրիայի Արաբական Հանրապետություն", + "Թայվան", + "Տաջիկստան", + "Տանզանիա", + "Թաիլանդ", + "Տոգո", + "Տոկելաու", + "Տոնգա", + "Տրինիդադ և Տոբագո", + "Թունիս", + "Թուրքիա", + "Թուրքմենստան", + "Տուվալու", + "Ուգանդա", + "Ուկրաինա", + "Արաբական Միացյալ Էմիրություններ", + "Մեծ Բրիտանիա", + "Ամերիկայի Միացյալ Նահանգներ", + "Ուրուգվայ", + "Ուզբեկստան", + "Վենեսուելա", + "Վիետնամ", + "Ուոլիս և Ֆուտունա", + "Արևմտյան Սահարա", + "Եմեն", + "Զամբիա", + "Զիմբաբվե", ) # Source: Administrative divisions of Armenia (Wikipedia) # https://en.wikipedia.org/wiki/Administrative_divisions_of_Armenia states = ( - 'Արագածոտն', - 'Արարատ', - 'Արմավիր', - 'Գեղարքունիք', - 'Լոռի', - 'Կոտայք', - 'Շիրակ', - 'Սյունիք', - 'Տավուշ', - 'Վայոց Ձոր', + "Արագածոտն", + "Արարատ", + "Արմավիր", + "Գեղարքունիք", + "Լոռի", + "Կոտայք", + "Շիրակ", + "Սյունիք", + "Տավուշ", + "Վայոց Ձոր", ) states_abbr = ( - 'ԱԳ', - 'ԱՐ', - 'ԱՄ', - 'ԳՂ', - 'ԼՌ', - 'ԿՏ', - 'ՇԿ', - 'ՍՅ', - 'ՎՁ', - 'ՏՎ', + "ԱԳ", + "ԱՐ", + "ԱՄ", + "ԳՂ", + "ԼՌ", + "ԿՏ", + "ՇԿ", + "ՍՅ", + "ՎՁ", + "ՏՎ", ) # Source: Postal codes in Armenia (Wikipedia) # https://en.wikipedia.org/wiki/Postal_codes_in_Armenia states_postcode = { - 'ԱԳ': (200, 599), - 'ԱՐ': (600, 899), - 'ԱՄ': (900, 1199), - 'ԳՂ': (1200, 1699), - 'ԼՌ': (1700, 2199), - 'ԿՏ': (2200, 2599), - 'ՇԿ': (2600, 3199), - 'ՍՅ': (3200, 3599), - 'ՎՁ': (3600, 3899), - 'ՏՎ': (3900, 4299), + "ԱԳ": (200, 599), + "ԱՐ": (600, 899), + "ԱՄ": (900, 1199), + "ԳՂ": (1200, 1699), + "ԼՌ": (1700, 2199), + "ԿՏ": (2200, 2599), + "ՇԿ": (2600, 3199), + "ՍՅ": (3200, 3599), + "ՎՁ": (3600, 3899), + "ՏՎ": (3900, 4299), } streets = ( - 'Ազատության', - 'Արշակունյաց', - 'Արցախի', - 'Գայի', - 'Ծովակալ Իսակովի', - 'Կոմիտասի', - 'Հյուսիսային', - 'Մաշտոցի', - 'Մարշալ Բաղրամյան', - 'Մյասնիկյան', - 'Սայաթ-Նովայի', - 'Տիգրան Մեծի', - 'Աբելյան', - 'Աբովյան', - 'Ագաթանգեղոսի', - 'Ազատամարտիկների', - 'Աթենքի', - 'Աթոյան', - 'Ալեք Մանուկյան', - 'Ալիխանյան', - 'Աղայան', - 'Աղյուսագործների', - 'Ամիրյան', - 'Այասի', - 'Անտառային', - 'Անրի Վեռնոյի', - 'Ավագ Պետրոսյան', - 'Արամ Խաչատրյան', - 'Արամի', - 'Արգիշտիի', - 'Արմենակյան', - 'Բայրոնի', - 'Բարձրաբերդի', - 'Բելինսկու', - 'Բեյրութի', - 'Բուդապեշտի', - 'Բուռնազյան', - 'Բրյուսովի', - 'Գալոյան Եղբայրների', - 'Գարեգին Նժդեհի', - 'Գետառի', - 'Գլինկայի', - 'Գյուլբենկյան', - 'Գրիգոր Լուսավորչի', - 'Գրիգոր Հարությունյան', - 'Գրիգոր Տեր-Գրիգորյան', - 'Գևորգ Էմինի', - 'Գևորգ Հովսեփյան', - 'Գևորգ Քոչարի', - 'Դեղատան', - 'Դերենիկ Դեմիրճյան', - 'Եզնիկ Կողբացու', - 'Եկմալյան', - 'Երվանդ Քոչարի', - 'Զավարյան', - 'Զարոբյան', - 'Զաքյան', - 'Էրեբունու', - 'Թաիրովի', - 'Թամանյան', - 'Թորամանյան', - 'Թումանյան', - 'Իսահակյան', - 'Իսրայելյան', - 'Իտալիայի', - 'Լամբրոնի', - 'Լենինգրադյան', - 'Լեոյի', - 'Լեոնիդ Ազգալդյան', - 'Լեռ Կամսարի', - 'Լիսինյան', - 'Լոմոնոսովի', - 'Լոռիս-Մելիքովի', - 'Լուսինյանց', - 'Խանզադյան', - 'Խանջյան', - 'Ծատուրյան', - 'Ծխախոտագործների', - 'Կալենցի', - 'Կասյան', - 'Կարեն Դեմիրճյան', - 'Կիևյան', - 'Կոնդի', - 'Կորի', - 'Կորյունի', - 'Կուստոյի', - 'Կռիլովի', - 'Հալաբյան', - 'Հակոբ Հակոբյան', - 'Հայրիկ Մուրադյան', - 'Հանրապետության', - 'Հերացու', - 'Հին Երևանցու', - 'Հնդկաստանի', - 'Հովհաննես Կոզեռնի', - 'Հրանտ Շահինյան', - 'Հրաչյա Քոչարի', - 'Ձորափի', - 'Ղազար Փարպեցու', - 'Մայիսյան', - 'Մարկ Գրիգորյան', - 'Մարտի 8-ի', - 'Մելիք-Ադամյան', - 'Միչուրինի', - 'Մհեր Մկրտչյան', - 'Մոնթե Մելքոնյան', - 'Մոսկովյան', - 'Մովսես Խորենացու', - 'Մուրացանի', - 'Նալբանդյան', - 'Նար-Դոսի', - 'Նորքի', - 'Շարա Տալյան', - 'Շարիմանյան', - 'Շուկայի', - 'Ոսկերիչների', - 'Չայկովսկու', - 'Չարենցի', - 'Չեռնիշևսկու', - 'Պարոնյան', - 'Պետրոս Ադամյան', - 'Պուշկինի', - 'Պռոշյան', - 'Պրահայի', - 'Ռոստոմի', - 'Ռոստովյան', - 'Ռուսթավելու', - 'Սասունցի Դավթի', - 'Սարալանջի', - 'Սարմենի', - 'Սարյան', - 'Սեբաստիայի', - 'Սերգեյ Փարաջանովի', - 'Սիլվա Կապուտիկյան', - 'Սիմեոն Երևանցու', - 'Սիսվանի', - 'Սոսեի', - 'Սուվորովի', - 'Սուրբ Հովհաննեսի', - 'Սպենդիարյան', - 'Ստեփան Զորյան', - 'Սևանի', - 'Վազգեն Սարգսյան', - 'Վահրամ Փափազյան', - 'Վաղարշյան', - 'Վարդան Աճեմյան', - 'Վարդանանց', - 'Վերֆելի', - 'Վրացյան', - 'Տարսոնի', - 'Տերյան', - 'Տոլստոյի', - 'Տպագրիչների', - 'Ցախի', - 'Փավստոս Բուզանդի', - 'Քաջազնունու', - 'Քոչինյան', - 'Քրիստափորի', - 'Օստրովսկու', - 'Օրբելի Եղբայրների', - 'Ֆիզկուլտուրնիկների', - 'Ֆիրդուսու', - 'Ֆրիկի', + "Ազատության", + "Արշակունյաց", + "Արցախի", + "Գայի", + "Ծովակալ Իսակովի", + "Կոմիտասի", + "Հյուսիսային", + "Մաշտոցի", + "Մարշալ Բաղրամյան", + "Մյասնիկյան", + "Սայաթ-Նովայի", + "Տիգրան Մեծի", + "Աբելյան", + "Աբովյան", + "Ագաթանգեղոսի", + "Ազատամարտիկների", + "Աթենքի", + "Աթոյան", + "Ալեք Մանուկյան", + "Ալիխանյան", + "Աղայան", + "Աղյուսագործների", + "Ամիրյան", + "Այասի", + "Անտառային", + "Անրի Վեռնոյի", + "Ավագ Պետրոսյան", + "Արամ Խաչատրյան", + "Արամի", + "Արգիշտիի", + "Արմենակյան", + "Բայրոնի", + "Բարձրաբերդի", + "Բելինսկու", + "Բեյրութի", + "Բուդապեշտի", + "Բուռնազյան", + "Բրյուսովի", + "Գալոյան Եղբայրների", + "Գարեգին Նժդեհի", + "Գետառի", + "Գլինկայի", + "Գյուլբենկյան", + "Գրիգոր Լուսավորչի", + "Գրիգոր Հարությունյան", + "Գրիգոր Տեր-Գրիգորյան", + "Գևորգ Էմինի", + "Գևորգ Հովսեփյան", + "Գևորգ Քոչարի", + "Դեղատան", + "Դերենիկ Դեմիրճյան", + "Եզնիկ Կողբացու", + "Եկմալյան", + "Երվանդ Քոչարի", + "Զավարյան", + "Զարոբյան", + "Զաքյան", + "Էրեբունու", + "Թաիրովի", + "Թամանյան", + "Թորամանյան", + "Թումանյան", + "Իսահակյան", + "Իսրայելյան", + "Իտալիայի", + "Լամբրոնի", + "Լենինգրադյան", + "Լեոյի", + "Լեոնիդ Ազգալդյան", + "Լեռ Կամսարի", + "Լիսինյան", + "Լոմոնոսովի", + "Լոռիս-Մելիքովի", + "Լուսինյանց", + "Խանզադյան", + "Խանջյան", + "Ծատուրյան", + "Ծխախոտագործների", + "Կալենցի", + "Կասյան", + "Կարեն Դեմիրճյան", + "Կիևյան", + "Կոնդի", + "Կորի", + "Կորյունի", + "Կուստոյի", + "Կռիլովի", + "Հալաբյան", + "Հակոբ Հակոբյան", + "Հայրիկ Մուրադյան", + "Հանրապետության", + "Հերացու", + "Հին Երևանցու", + "Հնդկաստանի", + "Հովհաննես Կոզեռնի", + "Հրանտ Շահինյան", + "Հրաչյա Քոչարի", + "Ձորափի", + "Ղազար Փարպեցու", + "Մայիսյան", + "Մարկ Գրիգորյան", + "Մարտի 8-ի", + "Մելիք-Ադամյան", + "Միչուրինի", + "Մհեր Մկրտչյան", + "Մոնթե Մելքոնյան", + "Մոսկովյան", + "Մովսես Խորենացու", + "Մուրացանի", + "Նալբանդյան", + "Նար-Դոսի", + "Նորքի", + "Շարա Տալյան", + "Շարիմանյան", + "Շուկայի", + "Ոսկերիչների", + "Չայկովսկու", + "Չարենցի", + "Չեռնիշևսկու", + "Պարոնյան", + "Պետրոս Ադամյան", + "Պուշկինի", + "Պռոշյան", + "Պրահայի", + "Ռոստոմի", + "Ռոստովյան", + "Ռուսթավելու", + "Սասունցի Դավթի", + "Սարալանջի", + "Սարմենի", + "Սարյան", + "Սեբաստիայի", + "Սերգեյ Փարաջանովի", + "Սիլվա Կապուտիկյան", + "Սիմեոն Երևանցու", + "Սիսվանի", + "Սոսեի", + "Սուվորովի", + "Սուրբ Հովհաննեսի", + "Սպենդիարյան", + "Ստեփան Զորյան", + "Սևանի", + "Վազգեն Սարգսյան", + "Վահրամ Փափազյան", + "Վաղարշյան", + "Վարդան Աճեմյան", + "Վարդանանց", + "Վերֆելի", + "Վրացյան", + "Տարսոնի", + "Տերյան", + "Տոլստոյի", + "Տպագրիչների", + "Ցախի", + "Փավստոս Բուզանդի", + "Քաջազնունու", + "Քոչինյան", + "Քրիստափորի", + "Օստրովսկու", + "Օրբելի Եղբայրների", + "Ֆիզկուլտուրնիկների", + "Ֆիրդուսու", + "Ֆրիկի", ) # Source: Villages in Armenia (Wikipedia) # http://www.armeniapedia.org/wiki/Armenian_Towns_and_Villages villages = ( - 'Ագարակ', - 'Անտառուտ', - 'Բերքառատ', - 'Գեղաձոր', - 'Գետափ', - 'Զովասար', - 'Լեռնապար', - 'Լուսագյուղ', - 'Կաթնաղբյուր', - 'Կաքավաձոր', - 'Հացաշեն', - 'Նորաշեն', - 'Շենավան', - 'Ոսկեվազ', - 'Ցամաքասար', - 'Այգեզարդ', - 'Բարձրաշեն', - 'Բերքանուշ', - 'Լանջանիստ', - 'Լուսաշող', - 'Ջրաշեն', - 'Քաղցրաշեն', - 'Այգեկ', - 'Առատաշեն', - 'Բամբակաշատ', - 'Գեղակերտ', - 'Լեռնամերձ', - 'Ծաղկալանջ', - 'Հացիկ', - 'Մերձավան', - 'Քարակերտ', - 'Անտառամեջ', - 'Արծվաշեն', - 'Գեղաքար', - 'Զովաբեր', - 'Լանջաղբյուր', - 'Շատջրեք', - 'Այգեհատ', - 'Դարպաս', - 'Լեռնահովիտ', - 'Հարթագյուղ', - 'Պաղաղբյուր', - 'Սարամեջ', - 'Քարաձոր', - 'Զովք', - 'Լեռնանիստ', - 'Մեղրաձոր', - 'Այգաբաց', - 'Թավշուտ', - 'Լանջիկ', - 'Կարմրավան', - 'Հայկասար', - 'Նահապետավան', - 'Վարդաղբյուր', - 'Քարաբերդ', - 'Արծվանիկ', - 'Բարձրավան', - 'Կաղնուտ', - 'Հացավան', - 'Նռնաձոր', - 'Սառնակունք', - 'Աղավնաձոր', - 'Սևաժայռ', - 'Վերնաշեն', - 'Այգեհովիտ', - 'Արծվաբերդ', - 'Բերքաբեր', - 'Գետահովիտ', - 'Ծաղկավան', - 'Հաղթանակ', - 'Ոսկեպար', - 'Սարիգյուղ', + "Ագարակ", + "Անտառուտ", + "Բերքառատ", + "Գեղաձոր", + "Գետափ", + "Զովասար", + "Լեռնապար", + "Լուսագյուղ", + "Կաթնաղբյուր", + "Կաքավաձոր", + "Հացաշեն", + "Նորաշեն", + "Շենավան", + "Ոսկեվազ", + "Ցամաքասար", + "Այգեզարդ", + "Բարձրաշեն", + "Բերքանուշ", + "Լանջանիստ", + "Լուսաշող", + "Ջրաշեն", + "Քաղցրաշեն", + "Այգեկ", + "Առատաշեն", + "Բամբակաշատ", + "Գեղակերտ", + "Լեռնամերձ", + "Ծաղկալանջ", + "Հացիկ", + "Մերձավան", + "Քարակերտ", + "Անտառամեջ", + "Արծվաշեն", + "Գեղաքար", + "Զովաբեր", + "Լանջաղբյուր", + "Շատջրեք", + "Այգեհատ", + "Դարպաս", + "Լեռնահովիտ", + "Հարթագյուղ", + "Պաղաղբյուր", + "Սարամեջ", + "Քարաձոր", + "Զովք", + "Լեռնանիստ", + "Մեղրաձոր", + "Այգաբաց", + "Թավշուտ", + "Լանջիկ", + "Կարմրավան", + "Հայկասար", + "Նահապետավան", + "Վարդաղբյուր", + "Քարաբերդ", + "Արծվանիկ", + "Բարձրավան", + "Կաղնուտ", + "Հացավան", + "Նռնաձոր", + "Սառնակունք", + "Աղավնաձոր", + "Սևաժայռ", + "Վերնաշեն", + "Այգեհովիտ", + "Արծվաբերդ", + "Բերքաբեր", + "Գետահովիտ", + "Ծաղկավան", + "Հաղթանակ", + "Ոսկեպար", + "Սարիգյուղ", ) - def city(self): + def city(self) -> str: """ :example 'Բյուրեղավան' """ return self.random_element(self.cities) - def city_prefix(self): + def city_prefix(self) -> str: """ :example 'ք.' """ return self.random_element(self.city_prefixes) - def postcode(self): + def postcode(self) -> str: """ :example '3159' """ return "%04d" % self.generator.random.randint(200, 4299) - def postcode_in_state(self, state_abbr=None): + def postcode_in_state(self, state_abbr: Optional[str] = None) -> str: """ :example '4703' """ @@ -624,9 +627,12 @@ def postcode_in_state(self, state_abbr=None): state_abbr = self.random_element(self.states_abbr) if state_abbr in self.states_abbr: - postcode = "%d" % (self.generator.random.randint( - self.states_postcode[state_abbr][0], - self.states_postcode[state_abbr][1])) + postcode = "%d" % ( + self.generator.random.randint( + self.states_postcode[state_abbr][0], + self.states_postcode[state_abbr][1], + ) + ) if len(postcode) == 3: postcode = "0%s" % postcode @@ -634,45 +640,47 @@ def postcode_in_state(self, state_abbr=None): return postcode else: - raise Exception('State Abbreviation not found in list') + raise Exception("State Abbreviation not found in list") - def secondary_address(self): + def secondary_address(self) -> str: """ :example 'բն. 49' """ return self.numerify(self.random_element(self.secondary_address_formats)) - def state(self): + def administrative_unit(self) -> str: """ :example 'Կոտայք' """ return self.random_element(self.states) - def state_abbr(self): + state = administrative_unit + + def state_abbr(self) -> str: """ :example 'ՎՁ' """ return self.random_element(self.states_abbr) - def street(self): + def street(self) -> str: """ :example 'Ոսկերիչների' """ return self.random_element(self.streets) - def street_prefix(self): + def street_prefix(self) -> str: """ :example 'փողոց' """ return self.random_element(self.street_prefixes) - def village(self): + def village(self) -> str: """ :example 'Ոսկեվազ' """ return self.random_element(self.villages) - def village_prefix(self): + def village_prefix(self) -> str: """ :example 'գ.' """ diff --git a/faker/providers/address/id_ID/__init__.py b/faker/providers/address/id_ID/__init__.py index ff3447f921..1785c6d690 100644 --- a/faker/providers/address/id_ID/__init__.py +++ b/faker/providers/address/id_ID/__init__.py @@ -3,24 +3,22 @@ class Provider(AddressProvider): - building_number_formats = ('###', '##', '#') + building_number_formats = ("###", "##", "#") - city_formats = ('{{city_name}}',) + city_formats = ("{{city_name}}",) - postcode_formats = ('#####',) + postcode_formats = ("#####",) street_name_formats = ( - '{{street_prefix_short}} {{street}}', - '{{street_prefix_long}} {{street}}', + "{{street_prefix_short}} {{street}}", + "{{street_prefix_long}} {{street}}", ) - street_address_formats = ( - '{{street_name}} No. {{building_number}}', - ) + street_address_formats = ("{{street_name}} No. {{building_number}}",) address_formats = ( - '{{street_address}}\n{{city}}, {{state}} {{postcode}}', - '{{street_address}}\n{{city}}, {{state_abbr}} {{postcode}}', + "{{street_address}}\n{{city}}, {{state}} {{postcode}}", + "{{street_address}}\n{{city}}, {{state_abbr}} {{postcode}}", ) # From @@ -28,142 +26,502 @@ class Provider(AddressProvider): # https://www.surabaya.go.id/id/info-penting/47601/daftar-nama-jalan-dan-status-ja # https://www.streetdirectory.com/indonesia/jakarta/asia_travel/street/popular/ streets = ( - 'Abdul Muis', 'Antapani Lama', 'Asia Afrika', 'Astana Anyar', 'BKR', - 'Cihampelas', 'Cikapayang', 'Cikutra Barat', 'Cikutra Timur', - 'Ciumbuleuit', 'Ciwastra', 'Dipatiukur', 'Dipenogoro', 'Dr. Djunjunan', - 'Gardujati', 'Gedebage Selatan', 'Gegerkalong Hilir', - 'HOS. Cokroaminoto', 'Ir. H. Djuanda', 'Jakarta', 'Jamika', - 'Jend. A. Yani', 'Jend. Sudirman', 'K.H. Wahid Hasyim', 'Kebonjati', - 'Kiaracondong', 'Laswi', 'Lembong', 'Merdeka', 'Moch. Ramdan', - 'Moch. Toha', 'Pacuan Kuda', 'Pasir Koja', 'Pasirkoja', 'Pasteur', - 'Pelajar Pejuang', 'Peta', 'PHH. Mustofa', 'Rajawali Barat', - 'Rajawali Timur', 'Raya Setiabudhi', 'Raya Ujungberung', 'Rumah Sakit', - 'Sadang Serang', 'Sentot Alibasa', 'Setiabudhi', 'Siliwangi', - 'Soekarno Hatta', 'Sukabumi', 'Sukajadi', 'Suniaraja', 'Surapati', - 'Tubagus Ismail', 'Veteran', 'W.R. Supratman', 'Bangka Raya', 'Cempaka', - 'Cihampelas', 'Erlangga', 'Rawamangun', 'Waringin', 'Ronggowarsito', - 'Rajiman', 'Yos Sudarso', 'S. Parman', 'Monginsidi', 'M.T Haryono', - 'Ahmad Dahlan', 'Jayawijaya', 'R.E Martadinata', 'M.H Thamrin', - 'Stasiun Wonokromo', 'Ahmad Yani', 'Joyoboyo', 'Indragiri', 'Kutai', - 'Kutisari Selatan', 'Rungkut Industri', 'Kendalsari', 'Wonoayu', - 'Medokan Ayu', 'KH Amin Jasuta', 'H.J Maemunah', 'Suryakencana', - 'Kapten Muslihat', 'Otto Iskandardinata', 'Tebet Barat Dalam', + "Abdul Muis", + "Antapani Lama", + "Asia Afrika", + "Astana Anyar", + "BKR", + "Cihampelas", + "Cikapayang", + "Cikutra Barat", + "Cikutra Timur", + "Ciumbuleuit", + "Ciwastra", + "Dipatiukur", + "Dipenogoro", + "Dr. Djunjunan", + "Gardujati", + "Gedebage Selatan", + "Gegerkalong Hilir", + "HOS. Cokroaminoto", + "Ir. H. Djuanda", + "Jakarta", + "Jamika", + "Jend. A. Yani", + "Jend. Sudirman", + "K.H. Wahid Hasyim", + "Kebonjati", + "Kiaracondong", + "Laswi", + "Lembong", + "Merdeka", + "Moch. Ramdan", + "Moch. Toha", + "Pacuan Kuda", + "Pasir Koja", + "Pasirkoja", + "Pasteur", + "Pelajar Pejuang", + "Peta", + "PHH. Mustofa", + "Rajawali Barat", + "Rajawali Timur", + "Raya Setiabudhi", + "Raya Ujungberung", + "Rumah Sakit", + "Sadang Serang", + "Sentot Alibasa", + "Setiabudhi", + "Siliwangi", + "Soekarno Hatta", + "Sukabumi", + "Sukajadi", + "Suniaraja", + "Surapati", + "Tubagus Ismail", + "Veteran", + "W.R. Supratman", + "Bangka Raya", + "Cempaka", + "Cihampelas", + "Erlangga", + "Rawamangun", + "Waringin", + "Ronggowarsito", + "Rajiman", + "Yos Sudarso", + "S. Parman", + "Monginsidi", + "M.T Haryono", + "Ahmad Dahlan", + "Jayawijaya", + "R.E Martadinata", + "M.H Thamrin", + "Stasiun Wonokromo", + "Ahmad Yani", + "Joyoboyo", + "Indragiri", + "Kutai", + "Kutisari Selatan", + "Rungkut Industri", + "Kendalsari", + "Wonoayu", + "Medokan Ayu", + "KH Amin Jasuta", + "H.J Maemunah", + "Suryakencana", + "Kapten Muslihat", + "Otto Iskandardinata", + "Tebet Barat Dalam", ) street_prefixes_long = ( - 'Jalan', 'Gang', + "Jalan", + "Gang", ) street_prefixes_short = ( - 'Jl.', 'Gg.', + "Jl.", + "Gg.", ) # From # https://id.wikipedia.org/wiki/Daftar_kabupaten_dan_kota_di_Indonesia#Daftar_kota cities = ( - 'Ambon', 'Balikpapan', 'Banda Aceh', 'Bandar Lampung', 'Bandung', - 'Banjar', 'Banjarbaru', 'Banjarmasin', 'Batam', 'Batu', 'Bau-Bau', - 'Bekasi', 'Bengkulu', 'Bima', 'Binjai', 'Bitung', 'Blitar', 'Bogor', - 'Bontang', 'Bukittinggi', 'Cilegon', 'Cimahi', 'Cirebon', 'Denpasar', - 'Depok', 'Dumai', 'Gorontalo', 'Jambi', 'Jayapura', 'Kediri', 'Kendari', - 'Kota Administrasi Jakarta Barat', 'Kota Administrasi Jakarta Pusat', - 'Kota Administrasi Jakarta Selatan', 'Kota Administrasi Jakarta Timur', - 'Kota Administrasi Jakarta Utara', 'Kotamobagu', 'Kupang', 'Langsa', - 'Lhokseumawe', 'Lubuklinggau', 'Madiun', 'Magelang', 'Makassar', - 'Malang', 'Manado', 'Mataram', 'Medan', 'Metro', 'Meulaboh', - 'Mojokerto', 'Padang', 'Padang Sidempuan', 'Padangpanjang', 'Pagaralam', - 'Palangkaraya', 'Palembang', 'Palopo', 'Palu', 'Pangkalpinang', - 'Parepare', 'Pariaman', 'Pasuruan', 'Payakumbuh', 'Pekalongan', - 'Pekanbaru', 'Pematangsiantar', 'Pontianak', 'Prabumulih', - 'Probolinggo', 'Purwokerto', 'Sabang', 'Salatiga', 'Samarinda', - 'Sawahlunto', 'Semarang', 'Serang', 'Sibolga', 'Singkawang', 'Solok', - 'Sorong', 'Subulussalam', 'Sukabumi', 'Sungai Penuh', 'Surabaya', - 'Surakarta', 'Tangerang', 'Tangerang Selatan', 'Tanjungbalai', - 'Tanjungpinang', 'Tarakan', 'Tasikmalaya', 'Tebingtinggi', 'Tegal', - 'Ternate', 'Tidore Kepulauan', 'Tomohon', 'Tual', 'Yogyakarta', + "Ambon", + "Balikpapan", + "Banda Aceh", + "Bandar Lampung", + "Bandung", + "Banjar", + "Banjarbaru", + "Banjarmasin", + "Batam", + "Batu", + "Bau-Bau", + "Bekasi", + "Bengkulu", + "Bima", + "Binjai", + "Bitung", + "Blitar", + "Bogor", + "Bontang", + "Bukittinggi", + "Cilegon", + "Cimahi", + "Cirebon", + "Denpasar", + "Depok", + "Dumai", + "Gorontalo", + "Jambi", + "Jayapura", + "Kediri", + "Kendari", + "Kota Administrasi Jakarta Barat", + "Kota Administrasi Jakarta Pusat", + "Kota Administrasi Jakarta Selatan", + "Kota Administrasi Jakarta Timur", + "Kota Administrasi Jakarta Utara", + "Kotamobagu", + "Kupang", + "Langsa", + "Lhokseumawe", + "Lubuklinggau", + "Madiun", + "Magelang", + "Makassar", + "Malang", + "Manado", + "Mataram", + "Medan", + "Metro", + "Meulaboh", + "Mojokerto", + "Padang", + "Padang Sidempuan", + "Padangpanjang", + "Pagaralam", + "Palangkaraya", + "Palembang", + "Palopo", + "Palu", + "Pangkalpinang", + "Parepare", + "Pariaman", + "Pasuruan", + "Payakumbuh", + "Pekalongan", + "Pekanbaru", + "Pematangsiantar", + "Pontianak", + "Prabumulih", + "Probolinggo", + "Purwokerto", + "Sabang", + "Salatiga", + "Samarinda", + "Sawahlunto", + "Semarang", + "Serang", + "Sibolga", + "Singkawang", + "Solok", + "Sorong", + "Subulussalam", + "Sukabumi", + "Sungai Penuh", + "Surabaya", + "Surakarta", + "Tangerang", + "Tangerang Selatan", + "Tanjungbalai", + "Tanjungpinang", + "Tarakan", + "Tasikmalaya", + "Tebingtinggi", + "Tegal", + "Ternate", + "Tidore Kepulauan", + "Tomohon", + "Tual", + "Yogyakarta", ) # From https://id.wikipedia.org/wiki/Daftar_provinsi_di_Indonesia states = ( - 'Aceh', 'Bali', 'Banten', 'Bengkulu', 'DI Yogyakarta', 'DKI Jakarta', - 'Gorontalo', 'Jambi', 'Jawa Barat', 'Jawa Tengah', 'Jawa Timur', - 'Kalimantan Barat', 'Kalimantan Selatan', 'Kalimantan Tengah', - 'Kalimantan Timur', 'Kalimantan Utara', 'Kepulauan Bangka Belitung', - 'Kepulauan Riau', 'Lampung', 'Maluku', 'Maluku Utara', - 'Nusa Tenggara Barat', 'Nusa Tenggara Timur', 'Papua', 'Papua Barat', - 'Riau', 'Sulawesi Barat', 'Sulawesi Selatan', 'Sulawesi Tengah', - 'Sulawesi Tenggara', 'Sulawesi Utara', 'Sumatera Barat', - 'Sumatera Selatan', 'Sumatera Utara', + "Aceh", + "Bali", + "Banten", + "Bengkulu", + "DI Yogyakarta", + "DKI Jakarta", + "Gorontalo", + "Jambi", + "Jawa Barat", + "Jawa Tengah", + "Jawa Timur", + "Kalimantan Barat", + "Kalimantan Selatan", + "Kalimantan Tengah", + "Kalimantan Timur", + "Kalimantan Utara", + "Kepulauan Bangka Belitung", + "Kepulauan Riau", + "Lampung", + "Maluku", + "Maluku Utara", + "Nusa Tenggara Barat", + "Nusa Tenggara Timur", + "Papua", + "Papua Barat", + "Riau", + "Sulawesi Barat", + "Sulawesi Selatan", + "Sulawesi Tengah", + "Sulawesi Tenggara", + "Sulawesi Utara", + "Sumatera Barat", + "Sumatera Selatan", + "Sumatera Utara", ) # https://id.wikipedia.org/wiki/Daftar_provinsi_di_Indonesia states_abbr = ( - 'AC', 'BA', 'BT', 'BE', 'YO', 'JK', 'GO', - 'JA', 'JB', 'JT', 'JI', 'KB', 'KS', 'KT', - 'KI', 'KU', 'BB', 'KR', 'LA', 'MA', 'MU', - 'NB', 'NT', 'PA', 'PB', 'RI', 'SR', 'SN', 'ST', - 'SG', 'SU', 'SB', 'SS', 'SU', + "AC", + "BA", + "BT", + "BE", + "YO", + "JK", + "GO", + "JA", + "JB", + "JT", + "JI", + "KB", + "KS", + "KT", + "KI", + "KU", + "BB", + "KR", + "LA", + "MA", + "MU", + "NB", + "NT", + "PA", + "PB", + "RI", + "SR", + "SN", + "ST", + "SG", + "SU", + "SB", + "SS", + "SU", ) # From https://id.wikipedia.org/wiki/Daftar_negara-negara_di_dunia countries = ( - 'Afganistan', 'Afrika Selatan', 'Afrika Tengah', 'Albania', 'Aljazair', - 'Amerika Serikat', 'Andorra', 'Angola', 'Antigua dan Barbuda', - 'Arab Saudi', 'Argentina', 'Armenia', 'Australia', 'Austria', - 'Azerbaijan', 'Bahama', 'Bahrain', 'Bangladesh', 'Barbados', 'Belanda', - 'Belarus', 'Belgia', 'Belize', 'Benin', 'Bhutan', 'Bolivia', - 'Bosnia dan Herzegovina', 'Botswana', 'Brasil', 'Britania Raya', - 'Brunei', 'Bulgaria', 'Burkina Faso', 'Burundi', 'Ceko', 'Chad', - 'Chili', 'Denmark', 'Djibouti', 'Dominika', 'Ekuador', 'El Salvador', - 'Eritrea', 'Estonia', 'Ethiopia', 'Federasi Mikronesia', 'Fiji', - 'Filipina', 'Finlandia', 'Gabon', 'Gambia', 'Georgia', 'Ghana', - 'Grenada', 'Guatemala', 'Guinea', 'Guinea Khatulistiwa', - 'Guinea-Bissau', 'Guyana', 'Haiti', 'Honduras', 'Hongaria', 'India', - 'Indonesia', 'Irak', 'Iran', 'Islandia', 'Israel', 'Italia', 'Jamaika', - 'Jepang', 'Jerman', 'Kamboja', 'Kamerun', 'Kanada', 'Kazakhstan', - 'Kenya', 'Kepulauan Marshall', 'Kepulauan Solomon', 'Kirgizstan', - 'Kiribati', 'Kolombia', 'Komoro', 'Korea Selatan', 'Korea Utara', - 'Kosta Rika', 'Kroasia', 'Kuba', 'Kuwait', 'Laos', 'Latvia', 'Lebanon', - 'Lesotho', 'Liberia', 'Libya', 'Liechtenstein', 'Lituania', - 'Luksemburg', 'Madagaskar', 'Maladewa', 'Malawi', 'Malaysia', 'Mali', - 'Malta', 'Maroko', 'Mauritania', 'Mauritius', 'Meksiko', 'Mesir', - 'Moldova', 'Monako', 'Mongolia', 'Montenegro', 'Mozambik', 'Myanmar', - 'Namibia', 'Nauru', 'Nepal', 'Niger', 'Nigeria', 'Nikaragua', - 'Norwegia', 'Oman', 'Pakistan', 'Palau', 'Panama', 'Pantai Gading', - 'Papua Nugini', 'Paraguay', 'Perancis', 'Peru', 'Polandia', 'Portugal', - 'Qatar', 'Republik Demokratik Kongo', 'Republik Dominika', - 'Republik Irlandia', 'Republik Kongo', 'Republik Makedonia', - 'Republik Rakyat Tiongkok', 'Rumania', 'Rusia', 'Rwanda', - 'Saint Kitts dan Nevis', 'Saint Lucia', 'Saint Vincent dan Grenadine', - 'Samoa', 'San Marino', 'São Tomé dan Príncipe', 'Selandia Baru', - 'Senegal', 'Serbia', 'Seychelles', 'Sierra Leone', 'Singapura', - 'Siprus', 'Slovenia', 'Slowakia', 'Somalia', 'Spanyol', 'Sri Lanka', - 'Sudan', 'Sudan Selatan', 'Suriah', 'Suriname', 'Swaziland', 'Swedia', - 'Swiss', 'Tajikistan', 'Tanjung Verde', 'Tanzania', 'Thailand', - 'Timor Leste', 'Togo', 'Tonga', 'Trinidad dan Tobago', 'Tunisia', - 'Turki', 'Turkmenistan', 'Tuvalu', 'Uganda', 'Ukraina', - 'Uni Emirat Arab', 'Uruguay', 'Uzbekistan', 'Vanuatu', 'Vatikan', - 'Venezuela', 'Vietnam', 'Yaman', 'Yordania', 'Yunani', 'Zambia', - 'Zimbabwe', + "Afganistan", + "Afrika Selatan", + "Afrika Tengah", + "Albania", + "Aljazair", + "Amerika Serikat", + "Andorra", + "Angola", + "Antigua dan Barbuda", + "Arab Saudi", + "Argentina", + "Armenia", + "Australia", + "Austria", + "Azerbaijan", + "Bahama", + "Bahrain", + "Bangladesh", + "Barbados", + "Belanda", + "Belarus", + "Belgia", + "Belize", + "Benin", + "Bhutan", + "Bolivia", + "Bosnia dan Herzegovina", + "Botswana", + "Brasil", + "Britania Raya", + "Brunei", + "Bulgaria", + "Burkina Faso", + "Burundi", + "Ceko", + "Chad", + "Chili", + "Denmark", + "Djibouti", + "Dominika", + "Ekuador", + "El Salvador", + "Eritrea", + "Estonia", + "Ethiopia", + "Federasi Mikronesia", + "Fiji", + "Filipina", + "Finlandia", + "Gabon", + "Gambia", + "Georgia", + "Ghana", + "Grenada", + "Guatemala", + "Guinea", + "Guinea Khatulistiwa", + "Guinea-Bissau", + "Guyana", + "Haiti", + "Honduras", + "Hongaria", + "India", + "Indonesia", + "Irak", + "Iran", + "Islandia", + "Israel", + "Italia", + "Jamaika", + "Jepang", + "Jerman", + "Kamboja", + "Kamerun", + "Kanada", + "Kazakhstan", + "Kenya", + "Kepulauan Marshall", + "Kepulauan Solomon", + "Kirgizstan", + "Kiribati", + "Kolombia", + "Komoro", + "Korea Selatan", + "Korea Utara", + "Kosta Rika", + "Kroasia", + "Kuba", + "Kuwait", + "Laos", + "Latvia", + "Lebanon", + "Lesotho", + "Liberia", + "Libya", + "Liechtenstein", + "Lituania", + "Luksemburg", + "Madagaskar", + "Maladewa", + "Malawi", + "Malaysia", + "Mali", + "Malta", + "Maroko", + "Mauritania", + "Mauritius", + "Meksiko", + "Mesir", + "Moldova", + "Monako", + "Mongolia", + "Montenegro", + "Mozambik", + "Myanmar", + "Namibia", + "Nauru", + "Nepal", + "Niger", + "Nigeria", + "Nikaragua", + "Norwegia", + "Oman", + "Pakistan", + "Palau", + "Panama", + "Pantai Gading", + "Papua Nugini", + "Paraguay", + "Perancis", + "Peru", + "Polandia", + "Portugal", + "Qatar", + "Republik Demokratik Kongo", + "Republik Dominika", + "Republik Irlandia", + "Republik Kongo", + "Republik Makedonia", + "Republik Rakyat Tiongkok", + "Rumania", + "Rusia", + "Rwanda", + "Saint Kitts dan Nevis", + "Saint Lucia", + "Saint Vincent dan Grenadine", + "Samoa", + "San Marino", + "São Tomé dan Príncipe", + "Selandia Baru", + "Senegal", + "Serbia", + "Seychelles", + "Sierra Leone", + "Singapura", + "Siprus", + "Slovenia", + "Slowakia", + "Somalia", + "Spanyol", + "Sri Lanka", + "Sudan", + "Sudan Selatan", + "Suriah", + "Suriname", + "Swaziland", + "Swedia", + "Swiss", + "Tajikistan", + "Tanjung Verde", + "Tanzania", + "Thailand", + "Timor Leste", + "Togo", + "Tonga", + "Trinidad dan Tobago", + "Tunisia", + "Turki", + "Turkmenistan", + "Tuvalu", + "Uganda", + "Ukraina", + "Uni Emirat Arab", + "Uruguay", + "Uzbekistan", + "Vanuatu", + "Vatikan", + "Venezuela", + "Vietnam", + "Yaman", + "Yordania", + "Yunani", + "Zambia", + "Zimbabwe", ) - def street(self): + def street(self) -> str: return self.random_element(self.streets) - def street_prefix_short(self): + def street_prefix_short(self) -> str: return self.random_element(self.street_prefixes_short) - def street_prefix_long(self): + def street_prefix_long(self) -> str: return self.random_element(self.street_prefixes_long) - def city_name(self): + def city_name(self) -> str: return self.random_element(self.cities) - def state(self): + def administrative_unit(self) -> str: return self.random_element(self.states) - def state_abbr(self): + state = administrative_unit + + def state_abbr(self) -> str: return self.random_element(self.states_abbr) - def country(self): + def country(self) -> str: return self.random_element(self.countries) diff --git a/faker/providers/address/it_IT/__init__.py b/faker/providers/address/it_IT/__init__.py index 8020c9397e..6c87ebe148 100644 --- a/faker/providers/address/it_IT/__init__.py +++ b/faker/providers/address/it_IT/__init__.py @@ -2,127 +2,531 @@ class Provider(AddressProvider): - city_prefixes = ('San', 'Borgo', 'Sesto', 'Quarto', 'Settimo') - city_suffixes = ('a mare', 'lido', 'ligure', 'del friuli', 'salentino', - 'calabro', 'veneto', 'nell\'emilia', 'umbro', 'laziale', - 'terme', 'sardo') - building_number_formats = ('###', '##', '#') - street_suffixes = ('Piazza', 'Strada', 'Via', 'Borgo', 'Contrada', - 'Rotonda', 'Incrocio', 'Viale', 'Stretto', 'Vicolo', - 'Canale') - postcode_formats = ('#####', ) - states = ('Agrigento', 'Alessandria', 'Ancona', 'Aosta', 'Arezzo', - 'Ascoli Piceno', 'Asti', 'Avellino', 'Bari', - 'Barletta-Andria-Trani', 'Belluno', 'Benevento', 'Bergamo', - 'Biella', 'Bologna', 'Bolzano', 'Brescia', 'Brindisi', - 'Cagliari', 'Caltanissetta', 'Campobasso', 'Carbonia-Iglesias', - 'Caserta', 'Catania', 'Catanzaro', 'Chieti', 'Como', 'Cosenza', - 'Cremona', 'Crotone', 'Cuneo', 'Enna', 'Fermo', 'Ferrara', - 'Firenze', 'Foggia', 'Forlì-Cesena', 'Frosinone', 'Genova', - 'Gorizia', 'Grosseto', 'Imperia', 'Isernia', 'La Spezia', - 'L\'Aquila', 'Latina', 'Lecce', 'Lecco', 'Livorno', 'Lodi', - 'Lucca', 'Macerata', 'Mantova', 'Massa-Carrara', 'Matera', - 'Messina', 'Milano', 'Modena', 'Monza e della Brianza', 'Napoli', - 'Novara', 'Nuoro', 'Olbia-Tempio', 'Oristano', 'Padova', - 'Palermo', 'Parma', 'Pavia', 'Perugia', 'Pesaro e Urbino', - 'Pescara', 'Piacenza', 'Pisa', 'Pistoia', 'Pordenone', 'Potenza', - 'Prato', 'Ragusa', 'Ravenna', 'Reggio Calabria', 'Reggio Emilia', - 'Rieti', 'Rimini', 'Roma', 'Rovigo', 'Salerno', - 'Medio Campidano', 'Sassari', 'Savona', 'Siena', 'Siracusa', - 'Sondrio', 'Taranto', 'Teramo', 'Terni', 'Torino', 'Ogliastra', - 'Trapani', 'Trento', 'Treviso', 'Trieste', 'Udine', 'Varese', - 'Venezia', 'Verbano-Cusio-Ossola', 'Vercelli', 'Verona', - 'Vibo Valentia', 'Vicenza', 'Viterbo') - states_abbr = ('AG', 'AL', 'AN', 'AO', 'AR', 'AP', 'AT', 'AV', 'BA', 'BT', - 'BL', 'BN', 'BG', 'BI', 'BO', 'BZ', 'BS', 'BR', 'CA', 'CL', - 'CB', 'CI', 'CE', 'CT', 'CZ', 'CH', 'CO', 'CS', 'CR', 'KR', - 'CN', 'EN', 'FM', 'FE', 'FI', 'FG', 'FC', 'FR', 'GE', 'GO', - 'GR', 'IM', 'IS', 'SP', 'AQ', 'LT', 'LE', 'LC', 'LI', 'LO', - 'LU', 'MC', 'MN', 'MS', 'MT', 'ME', 'MI', 'MO', 'MB', 'NA', - 'NO', 'NU', 'OT', 'OR', 'PD', 'PA', 'PR', 'PV', 'PG', 'PU', - 'PE', 'PC', 'PI', 'PT', 'PN', 'PZ', 'PO', 'RG', 'RA', 'RC', - 'RE', 'RI', 'RN', 'RM', 'RO', 'SA', 'VS', 'SS', 'SV', 'SI', - 'SR', 'SO', 'TA', 'TE', 'TR', 'TO', 'OG', 'TP', 'TN', 'TV', - 'TS', 'UD', 'VA', 'VE', 'VB', 'VC', 'VR', 'VV', 'VI', 'VT') + city_prefixes = ("San", "Borgo", "Sesto", "Quarto", "Settimo") + city_suffixes = ( + "a mare", + "lido", + "ligure", + "del friuli", + "salentino", + "calabro", + "veneto", + "nell'emilia", + "umbro", + "laziale", + "terme", + "sardo", + ) + building_number_formats = ("###", "##", "#") + street_suffixes = ( + "Piazza", + "Strada", + "Via", + "Borgo", + "Contrada", + "Rotonda", + "Incrocio", + "Viale", + "Stretto", + "Vicolo", + "Canale", + ) + postcode_formats = ("#####",) + states = ( + "Agrigento", + "Alessandria", + "Ancona", + "Aosta", + "Arezzo", + "Ascoli Piceno", + "Asti", + "Avellino", + "Bari", + "Barletta-Andria-Trani", + "Belluno", + "Benevento", + "Bergamo", + "Biella", + "Bologna", + "Bolzano", + "Brescia", + "Brindisi", + "Cagliari", + "Caltanissetta", + "Campobasso", + "Carbonia-Iglesias", + "Caserta", + "Catania", + "Catanzaro", + "Chieti", + "Como", + "Cosenza", + "Cremona", + "Crotone", + "Cuneo", + "Enna", + "Fermo", + "Ferrara", + "Firenze", + "Foggia", + "Forlì-Cesena", + "Frosinone", + "Genova", + "Gorizia", + "Grosseto", + "Imperia", + "Isernia", + "La Spezia", + "L'Aquila", + "Latina", + "Lecce", + "Lecco", + "Livorno", + "Lodi", + "Lucca", + "Macerata", + "Mantova", + "Massa-Carrara", + "Matera", + "Messina", + "Milano", + "Modena", + "Monza e della Brianza", + "Napoli", + "Novara", + "Nuoro", + "Olbia-Tempio", + "Oristano", + "Padova", + "Palermo", + "Parma", + "Pavia", + "Perugia", + "Pesaro e Urbino", + "Pescara", + "Piacenza", + "Pisa", + "Pistoia", + "Pordenone", + "Potenza", + "Prato", + "Ragusa", + "Ravenna", + "Reggio Calabria", + "Reggio Emilia", + "Rieti", + "Rimini", + "Roma", + "Rovigo", + "Salerno", + "Medio Campidano", + "Sassari", + "Savona", + "Siena", + "Siracusa", + "Sondrio", + "Taranto", + "Teramo", + "Terni", + "Torino", + "Ogliastra", + "Trapani", + "Trento", + "Treviso", + "Trieste", + "Udine", + "Varese", + "Venezia", + "Verbano-Cusio-Ossola", + "Vercelli", + "Verona", + "Vibo Valentia", + "Vicenza", + "Viterbo", + ) + states_abbr = ( + "AG", + "AL", + "AN", + "AO", + "AR", + "AP", + "AT", + "AV", + "BA", + "BT", + "BL", + "BN", + "BG", + "BI", + "BO", + "BZ", + "BS", + "BR", + "CA", + "CL", + "CB", + "CI", + "CE", + "CT", + "CZ", + "CH", + "CO", + "CS", + "CR", + "KR", + "CN", + "EN", + "FM", + "FE", + "FI", + "FG", + "FC", + "FR", + "GE", + "GO", + "GR", + "IM", + "IS", + "SP", + "AQ", + "LT", + "LE", + "LC", + "LI", + "LO", + "LU", + "MC", + "MN", + "MS", + "MT", + "ME", + "MI", + "MO", + "MB", + "NA", + "NO", + "NU", + "OT", + "OR", + "PD", + "PA", + "PR", + "PV", + "PG", + "PU", + "PE", + "PC", + "PI", + "PT", + "PN", + "PZ", + "PO", + "RG", + "RA", + "RC", + "RE", + "RI", + "RN", + "RM", + "RO", + "SA", + "VS", + "SS", + "SV", + "SI", + "SR", + "SO", + "TA", + "TE", + "TR", + "TO", + "OG", + "TP", + "TN", + "TV", + "TS", + "UD", + "VA", + "VE", + "VB", + "VC", + "VR", + "VV", + "VI", + "VT", + ) countries = ( - 'Afghanistan', 'Albania', 'Algeria', 'American Samoa', 'Andorra', - 'Angola', 'Anguilla', 'Antartide (territori a sud del 60° parallelo)', - 'Antigua e Barbuda', 'Argentina', 'Armenia', 'Aruba', 'Australia', - 'Austria', 'Azerbaijan', 'Bahamas', 'Bahrain', 'Bangladesh', - 'Barbados', 'Bielorussia', 'Belgio', 'Belize', 'Benin', 'Bermuda', - 'Bhutan', 'Bolivia', 'Bosnia e Herzegovina', 'Botswana', - 'Bouvet Island (Bouvetoya)', 'Brasile', - 'Territorio dell\'arcipelago indiano', 'Isole Vergini Britanniche', - 'Brunei Darussalam', 'Bulgaria', 'Burkina Faso', 'Burundi', 'Cambogia', - 'Cameroon', 'Canada', 'Capo Verde', 'Isole Cayman', - 'Repubblica Centrale Africana', 'Chad', 'Cile', 'Cina', - 'Isola di Pasqua', 'Isola di Cocos (Keeling)', 'Colombia', 'Comoros', - 'Congo', 'Isole Cook', 'Costa Rica', 'Costa d\'Avorio', 'Croazia', - 'Cuba', 'Cipro', 'Repubblica Ceca', 'Danimarca', 'Gibuti', - 'Repubblica Dominicana', 'Equador', 'Egitto', 'El Salvador', - 'Guinea Equatoriale', 'Eritrea', 'Estonia', 'Etiopia', 'Isole Faroe', - 'Isole Falkland (Malvinas)', 'Fiji', 'Finlandia', 'Francia', - 'Guyana Francese', 'Polinesia Francese', 'Territori Francesi del sud', - 'Gabon', 'Gambia', 'Georgia', 'Germania', 'Ghana', 'Gibilterra', - 'Grecia', 'Groenlandia', 'Grenada', 'Guadalupa', 'Guam', 'Guatemala', - 'Guernsey', 'Guinea', 'Guinea-Bissau', 'Guyana', 'Haiti', - 'Heard Island and McDonald Islands', 'Città del Vaticano', 'Honduras', - 'Hong Kong', 'Ungheria', 'Islanda', 'India', 'Indonesia', 'Iran', - 'Iraq', 'Irlanda', 'Isola di Man', 'Israele', 'Italia', 'Giamaica', - 'Giappone', 'Jersey', 'Giordania', 'Kazakhstan', 'Kenya', 'Kiribati', - 'Korea', 'Kuwait', 'Republicca Kirgiza', 'Repubblica del Laos', - 'Latvia', 'Libano', 'Lesotho', 'Liberia', 'Libyan Arab Jamahiriya', - 'Liechtenstein', 'Lituania', 'Lussemburgo', 'Macao', 'Macedonia', - 'Madagascar', 'Malawi', 'Malesia', 'Maldive', 'Mali', 'Malta', - 'Isole Marshall', 'Martinica', 'Mauritania', 'Mauritius', 'Mayotte', - 'Messico', 'Micronesia', 'Moldova', 'Principato di Monaco', 'Mongolia', - 'Montenegro', 'Montserrat', 'Marocco', 'Mozambico', 'Myanmar', - 'Namibia', 'Nauru', 'Nepal', 'Antille Olandesi', 'Olanda', - 'Nuova Caledonia', 'Nuova Zelanda', 'Nicaragua', 'Niger', 'Nigeria', - 'Niue', 'Isole Norfolk', 'Northern Mariana Islands', 'Norvegia', - 'Oman', 'Pakistan', 'Palau', 'Palestina', 'Panama', - 'Papua Nuova Guinea', 'Paraguay', 'Peru', 'Filippine', - 'Pitcairn Islands', 'Polonia', 'Portogallo', 'Porto Rico', 'Qatar', - 'Reunion', 'Romania', 'Russia', 'Rwanda', 'San Bartolomeo', - 'Sant\'Elena', 'Saint Kitts and Nevis', 'Saint Lucia', 'Saint Martin', - 'Saint Pierre and Miquelon', 'Saint Vincent and the Grenadines', - 'Samoa', 'San Marino', 'Sao Tome and Principe', 'Arabia Saudita', - 'Senegal', 'Serbia', 'Seychelles', 'Sierra Leone', 'Singapore', - 'Slovenia', 'Isole Solomon', 'Somalia', 'Sud Africa', - 'Georgia del sud e South Sandwich Islands', 'Spagna', 'Sri Lanka', - 'Sudan', 'Suriname', 'Svalbard & Jan Mayen Islands', 'Swaziland', - 'Svezia', 'Svizzera', 'Siria', 'Taiwan', 'Tajikistan', 'Tanzania', - 'Tailandia', 'Timor-Leste', 'Togo', 'Tokelau', 'Tonga', - 'Trinidad e Tobago', 'Tunisia', 'Turchia', 'Turkmenistan', - 'Isole di Turks and Caicos', 'Tuvalu', 'Uganda', 'Ucraina', - 'Emirati Arabi Uniti', 'Regno Unito', 'Stati Uniti d\'America', - 'United States Minor Outlying Islands', 'Isole Vergini Statunitensi', - 'Uruguay', 'Uzbekistan', 'Vanuatu', 'Venezuela', 'Vietnam', - 'Wallis and Futuna', 'Western Sahara', 'Yemen', 'Zambia', 'Zimbabwe') + "Afghanistan", + "Albania", + "Algeria", + "American Samoa", + "Andorra", + "Angola", + "Anguilla", + "Antartide (territori a sud del 60° parallelo)", + "Antigua e Barbuda", + "Argentina", + "Armenia", + "Aruba", + "Australia", + "Austria", + "Azerbaijan", + "Bahamas", + "Bahrain", + "Bangladesh", + "Barbados", + "Bielorussia", + "Belgio", + "Belize", + "Benin", + "Bermuda", + "Bhutan", + "Bolivia", + "Bosnia e Herzegovina", + "Botswana", + "Bouvet Island (Bouvetoya)", + "Brasile", + "Territorio dell'arcipelago indiano", + "Isole Vergini Britanniche", + "Brunei Darussalam", + "Bulgaria", + "Burkina Faso", + "Burundi", + "Cambogia", + "Cameroon", + "Canada", + "Capo Verde", + "Isole Cayman", + "Repubblica Centrale Africana", + "Chad", + "Cile", + "Cina", + "Isola di Pasqua", + "Isola di Cocos (Keeling)", + "Colombia", + "Comoros", + "Congo", + "Isole Cook", + "Costa Rica", + "Costa d'Avorio", + "Croazia", + "Cuba", + "Cipro", + "Repubblica Ceca", + "Danimarca", + "Gibuti", + "Repubblica Dominicana", + "Equador", + "Egitto", + "El Salvador", + "Guinea Equatoriale", + "Eritrea", + "Estonia", + "Etiopia", + "Isole Faroe", + "Isole Falkland (Malvinas)", + "Fiji", + "Finlandia", + "Francia", + "Guyana Francese", + "Polinesia Francese", + "Territori Francesi del sud", + "Gabon", + "Gambia", + "Georgia", + "Germania", + "Ghana", + "Gibilterra", + "Grecia", + "Groenlandia", + "Grenada", + "Guadalupa", + "Guam", + "Guatemala", + "Guernsey", + "Guinea", + "Guinea-Bissau", + "Guyana", + "Haiti", + "Heard Island and McDonald Islands", + "Città del Vaticano", + "Honduras", + "Hong Kong", + "Ungheria", + "Islanda", + "India", + "Indonesia", + "Iran", + "Iraq", + "Irlanda", + "Isola di Man", + "Israele", + "Italia", + "Giamaica", + "Giappone", + "Jersey", + "Giordania", + "Kazakhstan", + "Kenya", + "Kiribati", + "Korea", + "Kuwait", + "Republicca Kirgiza", + "Repubblica del Laos", + "Latvia", + "Libano", + "Lesotho", + "Liberia", + "Libyan Arab Jamahiriya", + "Liechtenstein", + "Lituania", + "Lussemburgo", + "Macao", + "Macedonia", + "Madagascar", + "Malawi", + "Malesia", + "Maldive", + "Mali", + "Malta", + "Isole Marshall", + "Martinica", + "Mauritania", + "Mauritius", + "Mayotte", + "Messico", + "Micronesia", + "Moldova", + "Principato di Monaco", + "Mongolia", + "Montenegro", + "Montserrat", + "Marocco", + "Mozambico", + "Myanmar", + "Namibia", + "Nauru", + "Nepal", + "Antille Olandesi", + "Olanda", + "Nuova Caledonia", + "Nuova Zelanda", + "Nicaragua", + "Niger", + "Nigeria", + "Niue", + "Isole Norfolk", + "Northern Mariana Islands", + "Norvegia", + "Oman", + "Pakistan", + "Palau", + "Palestina", + "Panama", + "Papua Nuova Guinea", + "Paraguay", + "Peru", + "Filippine", + "Pitcairn Islands", + "Polonia", + "Portogallo", + "Porto Rico", + "Qatar", + "Reunion", + "Romania", + "Russia", + "Rwanda", + "San Bartolomeo", + "Sant'Elena", + "Saint Kitts and Nevis", + "Saint Lucia", + "Saint Martin", + "Saint Pierre and Miquelon", + "Saint Vincent and the Grenadines", + "Samoa", + "San Marino", + "Sao Tome and Principe", + "Arabia Saudita", + "Senegal", + "Serbia", + "Seychelles", + "Sierra Leone", + "Singapore", + "Slovenia", + "Isole Solomon", + "Somalia", + "Sud Africa", + "Georgia del sud e South Sandwich Islands", + "Spagna", + "Sri Lanka", + "Sudan", + "Suriname", + "Svalbard & Jan Mayen Islands", + "Swaziland", + "Svezia", + "Svizzera", + "Siria", + "Taiwan", + "Tajikistan", + "Tanzania", + "Tailandia", + "Timor-Leste", + "Togo", + "Tokelau", + "Tonga", + "Trinidad e Tobago", + "Tunisia", + "Turchia", + "Turkmenistan", + "Isole di Turks and Caicos", + "Tuvalu", + "Uganda", + "Ucraina", + "Emirati Arabi Uniti", + "Regno Unito", + "Stati Uniti d'America", + "United States Minor Outlying Islands", + "Isole Vergini Statunitensi", + "Uruguay", + "Uzbekistan", + "Vanuatu", + "Venezuela", + "Vietnam", + "Wallis and Futuna", + "Western Sahara", + "Yemen", + "Zambia", + "Zimbabwe", + ) - city_formats = ('{{city_prefix}} {{first_name}} {{city_suffix}}', - '{{city_prefix}} {{first_name}}', - '{{first_name}} {{city_suffix}}', - '{{last_name}} {{city_suffix}}') - street_name_formats = ('{{street_suffix}} {{first_name}}', - '{{street_suffix}} {{last_name}}') + city_formats = ( + "{{city_prefix}} {{first_name}} {{city_suffix}}", + "{{city_prefix}} {{first_name}}", + "{{first_name}} {{city_suffix}}", + "{{last_name}} {{city_suffix}}", + ) + street_name_formats = ( + "{{street_suffix}} {{first_name}}", + "{{street_suffix}} {{last_name}}", + ) street_address_formats = ( - '{{street_name}} {{building_number}}', - '{{street_name}} {{building_number}} {{secondary_address}}') - address_formats = ( - "{{street_address}}\n{{city}}, {{postcode}} {{state}} ({{state_abbr}})", + "{{street_name}} {{building_number}}", + "{{street_name}} {{building_number}} {{secondary_address}}", ) - secondary_address_formats = ('Appartamento ##', 'Piano #') + address_formats = ("{{street_address}}\n{{city}}, {{postcode}} {{state}} ({{state_abbr}})",) + secondary_address_formats = ("Appartamento ##", "Piano #") - def city_prefix(self): + def city_prefix(self) -> str: return self.random_element(self.city_prefixes) - def secondary_address(self): - return self.numerify( - self.random_element(self.secondary_address_formats)) + def secondary_address(self) -> str: + return self.numerify(self.random_element(self.secondary_address_formats)) - def state(self): + def administrative_unit(self) -> str: return self.random_element(self.states) - def state_abbr(self): + state = administrative_unit + + def state_abbr(self) -> str: return self.random_element(self.states_abbr) diff --git a/faker/providers/address/ja_JP/__init__.py b/faker/providers/address/ja_JP/__init__.py index 17638affa7..dc3bdd02b6 100644 --- a/faker/providers/address/ja_JP/__init__.py +++ b/faker/providers/address/ja_JP/__init__.py @@ -3,353 +3,644 @@ class Provider(AddressProvider): address_formats = ( - '{{prefecture}}{{city}}{{town}}{{chome}}{{ban}}{{gou}}', - '{{prefecture}}{{city}}{{town}}{{chome}}{{ban}}{{gou}} {{town}}{{building_name}}{{building_number}}', - '{{prefecture}}{{city}}{{town}}{{chome}}{{ban}}{{gou}} {{building_name}}{{town}}{{building_number}}') + "{{prefecture}}{{city}}{{town}}{{chome}}{{ban}}{{gou}}", + "{{prefecture}}{{city}}{{town}}{{chome}}{{ban}}{{gou}} {{town}}{{building_name}}{{building_number}}", + "{{prefecture}}{{city}}{{town}}{{chome}}{{ban}}{{gou}} {{building_name}}{{town}}{{building_number}}", + ) - building_number_formats = ('###', ) + building_number_formats = ("###",) countries = ( - 'アフガニスタン', - 'アルバニア', - 'アルジェリア', - 'アメリカ領サモア', - 'アンドラ', - 'アンゴラ', - 'アンギラ', - '南極大陸', - 'アンティグアバーブーダ', - 'アルゼンチン', - 'アルメニア', - 'アルバ', - 'オーストラリア', - 'オーストリア', - 'アゼルバイジャン', - 'バハマ', - 'バーレーン', - 'バングラデシュ', - 'バルバドス', - 'ベラルーシ', - 'ベルギー', - 'ベリーズ', - 'ベナン', - 'バミューダ島', - 'ブータン', - 'ボリビア', - 'ボスニア・ヘルツェゴビナ', - 'ボツワナ', - 'ブーベ島', - 'ブラジル', - 'イギリス領インド洋地域', - 'イギリス領ヴァージン諸島', - 'ブルネイ', - 'ブルガリア', - 'ブルキナファソ', - 'ブルンジ', - 'カンボジア', - 'カメルーン', - 'カナダ', - 'カーボベルデ', - 'ケイマン諸島', - '中央アフリカ共和国', - 'チャド', - 'チリ', - '中国', - 'クリスマス島', - 'ココス諸島', - 'コロンビア', - 'コモロ', - 'コンゴ共和国', - 'クック諸島', - 'コスタリカ', - 'コートジボワール', - 'クロアチア', - 'キューバ', - 'キプロス共和国', - 'チェコ共和国', - 'デンマーク', - 'ジブチ共和国', - 'ドミニカ国', - 'ドミニカ共和国', - 'エクアドル', - 'エジプト', - 'エルサルバドル', - '赤道ギニア共和国', - 'エリトリア', - 'エストニア', - 'エチオピア', - 'フェロー諸島', - 'フォークランド諸島', - 'フィジー共和国', - 'フィンランド', - 'フランス', - 'フランス領ギアナ', - 'フランス領ポリネシア', - 'フランス領極南諸島', - 'ガボン', - 'ガンビア', - 'グルジア', - 'ドイツ', - 'ガーナ', - 'ジブラルタル', - 'ギリシャ', - 'グリーンランド', - 'グレナダ', - 'グアドループ', - 'グアム', - 'グアテマラ', - 'ガーンジー', - 'ギニア', - 'ギニアビサウ', - 'ガイアナ', - 'ハイチ', - 'ハード島とマクドナルド諸島', - 'バチカン市国', - 'ホンジュラス', - '香港', - 'ハンガリー', - 'アイスランド', - 'インド', - 'インドネシア', - 'イラン', - 'イラク', - 'アイルランド共和国', - 'マン島', - 'イスラエル', - 'イタリア', - 'ジャマイカ', - '日本', - 'ジャージー島', - 'ヨルダン', - 'カザフスタン', - 'ケニア', - 'キリバス', - '朝鮮', - '韓国', - 'クウェート', - 'キルギス共和国', - 'ラオス人民民主共和国', - 'ラトビア', - 'レバノン', - 'レソト', - 'リベリア', - 'リビア国', - 'リヒテンシュタイン', - 'リトアニア', - 'ルクセンブルク', - 'マカオ', - 'マケドニア共和国', - 'マダガスカル', - 'マラウィ', - 'マレーシア', - 'モルディブ', - 'マリ', - 'マルタ共和国', - 'マーシャル諸島', - 'マルティニーク', - 'モーリタニア・イスラム共和国', - 'モーリシャス', - 'マヨット', - 'メキシコ', - 'ミクロネシア連邦', - 'モルドバ共和国', - 'モナコ公国', - 'モンゴル', - 'モンテネグロ共和国', - 'モントセラト', - 'モロッコ', - 'モザンビーク', - 'ミャンマー', - 'ナミビア', - 'ナウル', - 'ネパール', - 'オランダ領アンティル', - 'オランダ', - 'ニューカレドニア', - 'ニュージーランド', - 'ニカラグア', - 'ニジェール', - 'ナイジェリア', - 'ニース', - 'ノーフォーク島', - '北マリアナ諸島', - 'ノルウェー', - 'オマーン', - 'パキスタン', - 'パラオ', - 'パレスチナ自治区', - 'パナマ', - 'パプアニューギニア', - 'パラグアイ', - 'ペルー', - 'フィリピン', - 'ピトケアン諸島', - 'ポーランド', - 'ポルトガル', - 'プエルトリコ', - 'カタール', - 'レユニオン', - 'ルーマニア', - 'ロシア', - 'ルワンダ', - 'サン・バルテルミー島', - 'セントヘレナ', - 'セントクリストファー・ネイビス連邦', - 'セントルシア', - 'セント・マーチン島', - 'サンピエール島・ミクロン島', - 'セントビンセント・グレナディーン', - 'サモア', - 'サンマリノ', - 'サントメプリンシペ', - 'サウジアラビア', - 'セネガル', - 'セルビア', - 'セイシェル', - 'シエラレオネ', - 'シンガポール', - 'スロバキア', - 'スロベニア', - 'ソロモン諸島', - 'ソマリア', - '南アフリカ共和国', - 'サウスジョージア・サウスサンドウィッチ諸島', - 'スペイン', - 'スリランカ', - 'スーダン', - 'スリナム', - 'スヴァールバル諸島およびヤンマイエン島', - 'スワジランド王国', - 'スウェーデン', - 'スイス', - 'シリア', - '台湾', - 'タジキスタン共和国', - 'タンザニア', - 'タイ', - '東ティモール', - 'トーゴ', - 'トケラウ', - 'トンガ', - 'トリニダード・トバゴ', - 'チュニジア', - 'トルコ', - 'トルクメニスタン', - 'タークス・カイコス諸島', - 'ツバル', - 'ウガンダ', - 'ウクライナ', - 'アラブ首長国連邦', - 'イギリス', - 'アメリカ合衆国', - '合衆国領有小離島', - 'アメリカ領ヴァージン諸島', - 'ウルグアイ', - 'ウズベキスタン', - 'バヌアツ', - 'ベネズエラ', - 'ベトナム', - 'ウォリス・フツナ', - '西サハラ', - 'イエメン', - 'ザンビア', - 'ジンバブエ', + "アフガニスタン", + "アルバニア", + "アルジェリア", + "アメリカ領サモア", + "アンドラ", + "アンゴラ", + "アンギラ", + "南極大陸", + "アンティグアバーブーダ", + "アルゼンチン", + "アルメニア", + "アルバ", + "オーストラリア", + "オーストリア", + "アゼルバイジャン", + "バハマ", + "バーレーン", + "バングラデシュ", + "バルバドス", + "ベラルーシ", + "ベルギー", + "ベリーズ", + "ベナン", + "バミューダ島", + "ブータン", + "ボリビア", + "ボスニア・ヘルツェゴビナ", + "ボツワナ", + "ブーベ島", + "ブラジル", + "イギリス領インド洋地域", + "イギリス領ヴァージン諸島", + "ブルネイ", + "ブルガリア", + "ブルキナファソ", + "ブルンジ", + "カンボジア", + "カメルーン", + "カナダ", + "カーボベルデ", + "ケイマン諸島", + "中央アフリカ共和国", + "チャド", + "チリ", + "中国", + "クリスマス島", + "ココス諸島", + "コロンビア", + "コモロ", + "コンゴ共和国", + "クック諸島", + "コスタリカ", + "コートジボワール", + "クロアチア", + "キューバ", + "キプロス共和国", + "チェコ共和国", + "デンマーク", + "ジブチ共和国", + "ドミニカ国", + "ドミニカ共和国", + "エクアドル", + "エジプト", + "エルサルバドル", + "赤道ギニア共和国", + "エリトリア", + "エストニア", + "エチオピア", + "フェロー諸島", + "フォークランド諸島", + "フィジー共和国", + "フィンランド", + "フランス", + "フランス領ギアナ", + "フランス領ポリネシア", + "フランス領極南諸島", + "ガボン", + "ガンビア", + "グルジア", + "ドイツ", + "ガーナ", + "ジブラルタル", + "ギリシャ", + "グリーンランド", + "グレナダ", + "グアドループ", + "グアム", + "グアテマラ", + "ガーンジー", + "ギニア", + "ギニアビサウ", + "ガイアナ", + "ハイチ", + "ハード島とマクドナルド諸島", + "バチカン市国", + "ホンジュラス", + "香港", + "ハンガリー", + "アイスランド", + "インド", + "インドネシア", + "イラン", + "イラク", + "アイルランド共和国", + "マン島", + "イスラエル", + "イタリア", + "ジャマイカ", + "日本", + "ジャージー島", + "ヨルダン", + "カザフスタン", + "ケニア", + "キリバス", + "朝鮮", + "韓国", + "クウェート", + "キルギス共和国", + "ラオス人民民主共和国", + "ラトビア", + "レバノン", + "レソト", + "リベリア", + "リビア国", + "リヒテンシュタイン", + "リトアニア", + "ルクセンブルク", + "マカオ", + "マケドニア共和国", + "マダガスカル", + "マラウィ", + "マレーシア", + "モルディブ", + "マリ", + "マルタ共和国", + "マーシャル諸島", + "マルティニーク", + "モーリタニア・イスラム共和国", + "モーリシャス", + "マヨット", + "メキシコ", + "ミクロネシア連邦", + "モルドバ共和国", + "モナコ公国", + "モンゴル", + "モンテネグロ共和国", + "モントセラト", + "モロッコ", + "モザンビーク", + "ミャンマー", + "ナミビア", + "ナウル", + "ネパール", + "オランダ領アンティル", + "オランダ", + "ニューカレドニア", + "ニュージーランド", + "ニカラグア", + "ニジェール", + "ナイジェリア", + "ニース", + "ノーフォーク島", + "北マリアナ諸島", + "ノルウェー", + "オマーン", + "パキスタン", + "パラオ", + "パレスチナ自治区", + "パナマ", + "パプアニューギニア", + "パラグアイ", + "ペルー", + "フィリピン", + "ピトケアン諸島", + "ポーランド", + "ポルトガル", + "プエルトリコ", + "カタール", + "レユニオン", + "ルーマニア", + "ロシア", + "ルワンダ", + "サン・バルテルミー島", + "セントヘレナ", + "セントクリストファー・ネイビス連邦", + "セントルシア", + "セント・マーチン島", + "サンピエール島・ミクロン島", + "セントビンセント・グレナディーン", + "サモア", + "サンマリノ", + "サントメプリンシペ", + "サウジアラビア", + "セネガル", + "セルビア", + "セイシェル", + "シエラレオネ", + "シンガポール", + "スロバキア", + "スロベニア", + "ソロモン諸島", + "ソマリア", + "南アフリカ共和国", + "サウスジョージア・サウスサンドウィッチ諸島", + "スペイン", + "スリランカ", + "スーダン", + "スリナム", + "スヴァールバル諸島およびヤンマイエン島", + "スワジランド王国", + "スウェーデン", + "スイス", + "シリア", + "台湾", + "タジキスタン共和国", + "タンザニア", + "タイ", + "東ティモール", + "トーゴ", + "トケラウ", + "トンガ", + "トリニダード・トバゴ", + "チュニジア", + "トルコ", + "トルクメニスタン", + "タークス・カイコス諸島", + "ツバル", + "ウガンダ", + "ウクライナ", + "アラブ首長国連邦", + "イギリス", + "アメリカ合衆国", + "合衆国領有小離島", + "アメリカ領ヴァージン諸島", + "ウルグアイ", + "ウズベキスタン", + "バヌアツ", + "ベネズエラ", + "ベトナム", + "ウォリス・フツナ", + "西サハラ", + "イエメン", + "ザンビア", + "ジンバブエ", ) prefectures = ( - '北海道', '青森県', '岩手県', '宮城県', '秋田県', '山形県', '福島県', '茨城県', '栃木県', '群馬県', - '埼玉県', '千葉県', '東京都', '神奈川県', '新潟県', '富山県', '石川県', '福井県', '山梨県', '長野県', - '岐阜県', '静岡県', '愛知県', '三重県', '滋賀県', '京都府', '大阪府', '兵庫県', '奈良県', '和歌山県', - '鳥取県', '島根県', '岡山県', '広島県', '山口県', '徳島県', '香川県', '愛媛県', '高知県', '福岡県', - '佐賀県', '長崎県', '熊本県', '大分県', '宮崎県', '鹿児島県', '沖縄県', + "北海道", + "青森県", + "岩手県", + "宮城県", + "秋田県", + "山形県", + "福島県", + "茨城県", + "栃木県", + "群馬県", + "埼玉県", + "千葉県", + "東京都", + "神奈川県", + "新潟県", + "富山県", + "石川県", + "福井県", + "山梨県", + "長野県", + "岐阜県", + "静岡県", + "愛知県", + "三重県", + "滋賀県", + "京都府", + "大阪府", + "兵庫県", + "奈良県", + "和歌山県", + "鳥取県", + "島根県", + "岡山県", + "広島県", + "山口県", + "徳島県", + "香川県", + "愛媛県", + "高知県", + "福岡県", + "佐賀県", + "長崎県", + "熊本県", + "大分県", + "宮崎県", + "鹿児島県", + "沖縄県", ) cities = ( - '八千代市', '我孫子市', '鴨川市', '鎌ケ谷市', '君津市', '富津市', '浦安市', '四街道市', '袖ケ浦市', - '八街市', '印西市', '白井市', '富里市', '南房総市', '匝瑳市', '香取市', '山武市', 'いすみ市', '大網白里市', - '印旛郡酒々井町', '印旛郡印旛村', '印旛郡本埜村', '印旛郡栄町', '香取郡神崎町', '香取郡多古町', '香取郡東庄町', - '山武郡九十九里町', '山武郡芝山町', '山武郡横芝光町', '長生郡一宮町', '長生郡睦沢町', '長生郡長生村', - '長生郡白子町', '長生郡長柄町', '長生郡長南町', '夷隅郡大多喜町', '夷隅郡御宿町', '安房郡鋸南町', '千代田区', - '中央区', '港区', '新宿区', '文京区', '台東区', '墨田区', '江東区', '品川区', '目黒区', '大田区', - '世田谷区', '渋谷区', '中野区', '杉並区', '豊島区', '北区', '荒川区', '板橋区', '練馬区', '足立区', - '葛飾区', '江戸川区', '八王子市', '立川市', '武蔵野市', '三鷹市', '青梅市', '府中市', '昭島市', '調布市', - '町田市', '小金井市', '小平市', '日野市', '東村山市', '国分寺市', '国立市', '福生市', '狛江市', '東大和市', - '清瀬市', '東久留米市', '武蔵村山市', '多摩市', '稲城市', '羽村市', 'あきる野市', '西東京市', '西多摩郡瑞穂町', - '西多摩郡日の出町', '西多摩郡檜原村', '西多摩郡奥多摩町', '大島町', '利島村', '新島村', '神津島村', '三宅島三宅村', - '御蔵島村', '八丈島八丈町', '青ヶ島村', '小笠原村', '横浜市鶴見区', '横浜市神奈川区', '横浜市西区', '横浜市中区', - '横浜市南区', '横浜市保土ケ谷区', '横浜市磯子区', '横浜市金沢区', '横浜市港北区', '横浜市戸塚区', '横浜市港南区', - '横浜市旭区', '横浜市緑区', '横浜市瀬谷区', '横浜市栄区', '横浜市泉区', '横浜市青葉区', '横浜市都筑区', - '川崎市川崎区', '川崎市幸区', '川崎市中原区', '川崎市高津区', '川崎市多摩区', '川崎市宮前区', + "八千代市", + "我孫子市", + "鴨川市", + "鎌ケ谷市", + "君津市", + "富津市", + "浦安市", + "四街道市", + "袖ケ浦市", + "八街市", + "印西市", + "白井市", + "富里市", + "南房総市", + "匝瑳市", + "香取市", + "山武市", + "いすみ市", + "大網白里市", + "印旛郡酒々井町", + "印旛郡印旛村", + "印旛郡本埜村", + "印旛郡栄町", + "香取郡神崎町", + "香取郡多古町", + "香取郡東庄町", + "山武郡九十九里町", + "山武郡芝山町", + "山武郡横芝光町", + "長生郡一宮町", + "長生郡睦沢町", + "長生郡長生村", + "長生郡白子町", + "長生郡長柄町", + "長生郡長南町", + "夷隅郡大多喜町", + "夷隅郡御宿町", + "安房郡鋸南町", + "千代田区", + "中央区", + "港区", + "新宿区", + "文京区", + "台東区", + "墨田区", + "江東区", + "品川区", + "目黒区", + "大田区", + "世田谷区", + "渋谷区", + "中野区", + "杉並区", + "豊島区", + "北区", + "荒川区", + "板橋区", + "練馬区", + "足立区", + "葛飾区", + "江戸川区", + "八王子市", + "立川市", + "武蔵野市", + "三鷹市", + "青梅市", + "府中市", + "昭島市", + "調布市", + "町田市", + "小金井市", + "小平市", + "日野市", + "東村山市", + "国分寺市", + "国立市", + "福生市", + "狛江市", + "東大和市", + "清瀬市", + "東久留米市", + "武蔵村山市", + "多摩市", + "稲城市", + "羽村市", + "あきる野市", + "西東京市", + "西多摩郡瑞穂町", + "西多摩郡日の出町", + "西多摩郡檜原村", + "西多摩郡奥多摩町", + "大島町", + "利島村", + "新島村", + "神津島村", + "三宅島三宅村", + "御蔵島村", + "八丈島八丈町", + "青ヶ島村", + "小笠原村", + "横浜市鶴見区", + "横浜市神奈川区", + "横浜市西区", + "横浜市中区", + "横浜市南区", + "横浜市保土ケ谷区", + "横浜市磯子区", + "横浜市金沢区", + "横浜市港北区", + "横浜市戸塚区", + "横浜市港南区", + "横浜市旭区", + "横浜市緑区", + "横浜市瀬谷区", + "横浜市栄区", + "横浜市泉区", + "横浜市青葉区", + "横浜市都筑区", + "川崎市川崎区", + "川崎市幸区", + "川崎市中原区", + "川崎市高津区", + "川崎市多摩区", + "川崎市宮前区", ) towns = ( - '丹勢', '中宮祠', '手岡', '東和町', '所野', '土沢', '独鈷沢', '轟', '土呂部', '中小来川', '長畑', '中鉢石町', - '中三依', '西小来川', '西川', '日光', '東三島', '東大和町', '蟇沼', '二つ室', '方京', '細竹', '前弥六', - '前弥六南町', '松浦町', '南赤田', '南郷屋', '美原町', '無栗屋', '睦', '百村', '箭坪', '山中新田', '油井', - '湯宮', '豊町', '湯本塩原', '横林', '四区町', '渡辺', '氏家', '氏家新田', '卯の里', '小入', '大中', '押上', - '柿木沢', '柿木沢新田', '鍛冶ケ沢', '上高野', '上吉羽', '木立', '権現堂', '幸手', '下宇和田', '下吉羽', '神明内', - '外国府間', '千塚', '天神島', '戸島', '中川崎', '長間', '西関宿', '花島', '平須賀', '細野', '松石', '太田ヶ谷', - '上広谷', '五味ヶ谷', '脚折', '脚折町', '鶴ヶ丘', '羽折町', '藤金', '九段南', '皇居外苑', '麹町', '猿楽町', - '外神田', '西神田', '隼町', '東神田', '一ツ橋', '日比谷公園', '平河町', '丸の内', '丸の内JPタワー', '四番町', - '六番町', '明石町', '勝どき', '京橋', '月島', '北青山', '港南', '芝浦', '芝公園', '芝大門', '白金', '白金台', - '台場', '高輪', '虎ノ門', '虎ノ門虎ノ門ヒルズ森タワー', '大京町', '高田馬場', '箪笥町', '津久戸町', '筑土八幡町', - '戸塚町', '富久町', '戸山', '秋葉原', '浅草', '浅草橋', '池之端', '今戸', '入谷', '上野公園', '上野桜木', - '雷門', '北上野', '蔵前', '千束', '台東', '鳥越', '西浅草', '日本堤', '橋場', '花川戸', '東浅草', '東上野', - '松が谷', '三筋', '三ノ輪', '元浅草', '竜泉', '吾妻橋', + "丹勢", + "中宮祠", + "手岡", + "東和町", + "所野", + "土沢", + "独鈷沢", + "轟", + "土呂部", + "中小来川", + "長畑", + "中鉢石町", + "中三依", + "西小来川", + "西川", + "日光", + "東三島", + "東大和町", + "蟇沼", + "二つ室", + "方京", + "細竹", + "前弥六", + "前弥六南町", + "松浦町", + "南赤田", + "南郷屋", + "美原町", + "無栗屋", + "睦", + "百村", + "箭坪", + "山中新田", + "油井", + "湯宮", + "豊町", + "湯本塩原", + "横林", + "四区町", + "渡辺", + "氏家", + "氏家新田", + "卯の里", + "小入", + "大中", + "押上", + "柿木沢", + "柿木沢新田", + "鍛冶ケ沢", + "上高野", + "上吉羽", + "木立", + "権現堂", + "幸手", + "下宇和田", + "下吉羽", + "神明内", + "外国府間", + "千塚", + "天神島", + "戸島", + "中川崎", + "長間", + "西関宿", + "花島", + "平須賀", + "細野", + "松石", + "太田ヶ谷", + "上広谷", + "五味ヶ谷", + "脚折", + "脚折町", + "鶴ヶ丘", + "羽折町", + "藤金", + "九段南", + "皇居外苑", + "麹町", + "猿楽町", + "外神田", + "西神田", + "隼町", + "東神田", + "一ツ橋", + "日比谷公園", + "平河町", + "丸の内", + "丸の内JPタワー", + "四番町", + "六番町", + "明石町", + "勝どき", + "京橋", + "月島", + "北青山", + "港南", + "芝浦", + "芝公園", + "芝大門", + "白金", + "白金台", + "台場", + "高輪", + "虎ノ門", + "虎ノ門虎ノ門ヒルズ森タワー", + "大京町", + "高田馬場", + "箪笥町", + "津久戸町", + "筑土八幡町", + "戸塚町", + "富久町", + "戸山", + "秋葉原", + "浅草", + "浅草橋", + "池之端", + "今戸", + "入谷", + "上野公園", + "上野桜木", + "雷門", + "北上野", + "蔵前", + "千束", + "台東", + "鳥越", + "西浅草", + "日本堤", + "橋場", + "花川戸", + "東浅草", + "東上野", + "松が谷", + "三筋", + "三ノ輪", + "元浅草", + "竜泉", + "吾妻橋", ) building_names = ( - 'パレス', 'ハイツ', 'コーポ', 'アーバン', 'クレスト', 'パーク', 'シティ', 'シャルム', 'コート', + "パレス", + "ハイツ", + "コーポ", + "アーバン", + "クレスト", + "パーク", + "シティ", + "シャルム", + "コート", ) - def prefecture(self): + def administrative_unit(self) -> str: """ :example '東京都' """ return self.random_element(self.prefectures) - def city(self): + prefecture = administrative_unit + + def city(self) -> str: """ :example '台東区' """ return self.random_element(self.cities) - def town(self): + def town(self) -> str: """ :example '浅草' """ return self.random_element(self.towns) - def chome(self): + def chome(self) -> str: """ :example '1丁目' """ return "%d丁目" % self.generator.random.randint(1, 42) - def ban(self): + def ban(self) -> str: """ :example '3番' """ return "%d番" % self.generator.random.randint(1, 27) - def gou(self): + def gou(self) -> str: """ :example '10号' """ return "%d号" % self.generator.random.randint(1, 20) - def building_name(self): + def building_name(self) -> str: """ :example 'コーポ芝浦' """ return self.random_element(self.building_names) - def postcode(self): + def postcode(self) -> str: """ :example '101-1212' """ - return "%03d-%04d" % (self.generator.random.randint(0, 999), - self.generator.random.randint(0, 9999)) + return "%03d-%04d" % ( + self.generator.random.randint(0, 999), + self.generator.random.randint(0, 9999), + ) - def zipcode(self): + def zipcode(self) -> str: return self.postcode() diff --git a/faker/providers/address/ka_GE/__init__.py b/faker/providers/address/ka_GE/__init__.py index 271516a878..102e08eb6d 100644 --- a/faker/providers/address/ka_GE/__init__.py +++ b/faker/providers/address/ka_GE/__init__.py @@ -2,303 +2,1296 @@ class Provider(AddressProvider): - city_formats = ['{{city_name}}'] - street_name_formats = ['{{street_title}} {{street_suffix}}'] - street_address_formats = ['{{street_name}} {{building_number}}'] - address_formats = ['{{street_address}}, {{city}}'] - building_number_formats = ['##'] - street_suffixes = ['ქ.'] + city_formats = ["{{city_name}}"] + street_name_formats = ["{{street_title}} {{street_suffix}}"] + street_address_formats = ["{{street_name}} {{building_number}}"] + address_formats = ["{{street_address}}, {{city}}"] + building_number_formats = ["##"] + street_suffixes = ["ქ."] # Source: Wikipedia's list of sovereign states # https://en.wikipedia.org/wiki/List_of_sovereign_states countries = ( - 'ავსტრალია', 'ავსტრია', 'ავღანეთი', 'აზერბაიჯანი', 'ალბანეთი', 'ალჟირი', - 'ამერიკის სამოა', 'ამერიკის ვირჯინიის კუნძულები', - 'ამერიკის შეერთებული შტატები', 'ანგილია', 'ანგოლა', 'ანდორა', - 'ანტიგუა და ბარბუდა', 'არაბთა გაერთიანებული საამიროები', 'არგენტინა', - 'არუბა', 'აღმოსავლეთი ტიმორი', 'ახალი ზელანდია', 'ახალი კალედონია', - 'ბანგლადეში', 'ბარბადოსი', 'ბასას-და-ინდია', 'ბაჰამის კუნძულები', - 'ბაჰრეინი', 'ბელარუსი', 'ბელგია', 'ბელიზი', 'ბენინი', 'ბერმუდა', - 'ბოლივია', 'ბოსნია და ჰერცეგოვინა', 'ბოტსვანა', 'ბრაზილია', - 'ბრიტანეთის ვირჯინიის კუნძულები', - 'ბრიტანეთის ინდოეთის ოკეანის ტერიტორია', 'ბრუნეი', 'ბულგარეთი', - 'ბურკინა ფასო', 'ბურუნდი', 'ბუვე', 'ბჰუტანი', 'გაბონი', 'გაიანა', - 'გამბია', 'განა', 'გერმანია', 'გვადელუპა', 'გვატემალა', 'გვინეა', - 'გვინეა-ბისაუ', 'გიბრალტარი', 'გრენადა', 'გრენლანდია', 'გუამი', 'დანია', - 'დიდი ბრიტანეთი', 'დომინიკელთა რესპუბლიკა', 'დომინიკა', 'ეგვიპტე', - 'ევროპა (კუნძული)', 'ეთიოპია', 'ეკვადორი', 'ეკვატორული გვინეა', 'ერაყი', - 'ერიტრეა', 'ესპანეთი', 'ესტონეთი', 'ეშმორის და კარტიეს კუნძულები', - 'უოლისი და ფუტუნა', 'ვანუატუ', 'ვატიკანი', 'ვენესუელა', 'ვიეტნამი', - 'ზამბია', 'ზიმბაბვე', 'თურქეთი', 'თურქმენეთი', 'იამაიკა', 'იან მაიენი', - 'იაპონია', 'იემენი', 'ინდოეთი', 'ინდონეზია', 'იორდანია', 'ირანი', - 'ირლანდია', 'ისლანდია', 'ისრაელი', 'იტალია', 'კაბო-ვერდე', - 'კაიმანის კუნძულები', 'კამბოჯა', 'კამერუნი', 'კანადა', 'კატარი', - 'კენია', 'კვიპროსი', 'კინგმენის რიფი', 'კირიბატი', 'ქოქოსის კუნძულები', - 'კოლუმბია', 'კომორის კუნძულები', 'კონგოს დემოკრატიული რესპუბლიკა', - 'კონგოს რესპუბლიკა', 'კორეის რესპუბლიკა', 'ჩრდილოეთი კორეა', - 'კოსტა-რიკა', 'კოტ-დ’ივუარი', 'კუბა', 'კუკის კუნძულები', 'ლაოსი', - 'ლატვია', 'ლესოთო', 'ლიბანი', 'ლიბერია', 'ლიბია', 'ლიტვა', - 'ლიხტენშტაინი', 'ლუქსემბურგი', 'მადაგასკარი', 'მავრიკი', 'მავრიტანია', - 'მაიოტა', 'მაკაო', 'მაკედონია', 'მალავი', 'მალაიზია', 'მალდივი', 'მალი', - 'მალტა', 'მაროკო', 'მარშალის კუნძულები', 'მარჯნის ზღვის კუნძულები', - 'მექსიკა', 'მიანმარი', 'მიკრონეზია', 'მოზამბიკი', 'მოლდოვა', 'მონაკო', - 'მონსერატი', 'მონღოლეთი', 'ნამიბია', 'ნაურუ', 'ნეპალი', 'ნიგერი', - 'ნიგერია', 'ნიდერლანდი', 'ნიდერლანდის ანტილები', 'ნიკარაგუა', 'ნიუე', - 'ნორვეგია', 'ნორფოლკის კუნძული', 'ომანი', 'პაკისტანი', 'პალაუ', - 'პალმირა (ატოლი)', 'პანამა', 'პაპუა-ახალი გვინეა', 'პარაგვაი', 'პერუ', - 'პიტკერნის კუნძულები', 'პოლონეთი', 'პორტუგალია', - 'პრინც-ედუარდის კუნძული', 'პუერტო-რიკო', 'ჟუან-დი-ნოვა', 'რეიუნიონი', - 'რუანდა', 'რუმინეთი', 'რუსეთი', 'საბერძნეთი', 'სალვადორი', 'სამოა', - 'სამხრეთ აფრიკის რესპუბლიკა', - 'სამხრეთი გეორგია და სამხრეთ სენდვიჩის კუნძულები', 'სამხრეთი სუდანი', - 'სან-მარინო', 'სან-ტომე და პრინსიპი', 'საუდის არაბეთი', 'საფრანგეთი', - 'საფრანგეთის გვიანა', 'საფრანგეთის პოლინეზია', - 'საფრანგეთის სამხრეთული და ანტარქტიდული ტერიტორია', 'საქართველო', - 'სეიშელის კუნძულები', 'სენეგალი', 'სენ-პიერი და მიკელონი', - 'სენტ-ვინსენტი და გრენადინები', 'სენტ-კიტსი და ნევისი', 'სენტ-ლუსია', - 'სერბეთი', 'სეუტა', 'სვაზილენდი', 'სვალბარდი', 'სიერა-ლეონე', - 'სინგაპური', 'სირია', 'სლოვაკეთი', 'სლოვენია', 'სოლომონის კუნძულები', - 'სომალი', 'სომხეთი', 'სუდანი', 'სურინამი', 'ტაივანი', 'ტაილანდი', - 'ტანზანია', 'ტაჯიკეთი', 'ტერქსისა და კაიკოსის კუნძულები', 'ტოგო', - 'ტოკელაუ', 'ტონგა', 'ტრინიდადი და ტობაგო', 'ტუვალუ', 'ტუნისი', 'უგანდა', - 'უზბეკეთი', 'უკრაინა', 'უნგრეთი', 'ურუგვაი', 'ფარერის კუნძულები', - 'ფილიპინები', 'ფინეთი', 'ფიჯი', 'ფოლკლენდის კუნძულები', 'ქუვეითი', - 'ღაზის სექტორი', 'ყაზახეთი', 'ყირგიზეთი', 'შვეიცარია', 'შვედეთი', - 'შობის კუნძული', 'შრი-ლანკა', 'ჩადი', 'ჩერნოგორია', 'ჩეხეთი', - 'ჩეჩნეთის რესპუბლიკა იჩქერია', 'ჩილე', 'ჩინეთი', - 'ჩრდილოეთი მარიანას კუნძულები', 'ცენტრალური აფრიკის რესპუბლიკა', - 'წმინდა ელენე, ამაღლება და ტრისტანი-და-კუნია', - 'წყნარი ოკეანის კუნძულები', 'ხორვატია', 'ჯერსი', 'ჯიბუტი', 'ჰაიტი', - 'ჰონდურასი', 'ჰონკონგი', 'ჰერდი და მაკდონალდის კუნძულები', + "ავსტრალია", + "ავსტრია", + "ავღანეთი", + "აზერბაიჯანი", + "ალბანეთი", + "ალჟირი", + "ამერიკის სამოა", + "ამერიკის ვირჯინიის კუნძულები", + "ამერიკის შეერთებული შტატები", + "ანგილია", + "ანგოლა", + "ანდორა", + "ანტიგუა და ბარბუდა", + "არაბთა გაერთიანებული საამიროები", + "არგენტინა", + "არუბა", + "აღმოსავლეთი ტიმორი", + "ახალი ზელანდია", + "ახალი კალედონია", + "ბანგლადეში", + "ბარბადოსი", + "ბასას-და-ინდია", + "ბაჰამის კუნძულები", + "ბაჰრეინი", + "ბელარუსი", + "ბელგია", + "ბელიზი", + "ბენინი", + "ბერმუდა", + "ბოლივია", + "ბოსნია და ჰერცეგოვინა", + "ბოტსვანა", + "ბრაზილია", + "ბრიტანეთის ვირჯინიის კუნძულები", + "ბრიტანეთის ინდოეთის ოკეანის ტერიტორია", + "ბრუნეი", + "ბულგარეთი", + "ბურკინა ფასო", + "ბურუნდი", + "ბუვე", + "ბჰუტანი", + "გაბონი", + "გაიანა", + "გამბია", + "განა", + "გერმანია", + "გვადელუპა", + "გვატემალა", + "გვინეა", + "გვინეა-ბისაუ", + "გიბრალტარი", + "გრენადა", + "გრენლანდია", + "გუამი", + "დანია", + "დიდი ბრიტანეთი", + "დომინიკელთა რესპუბლიკა", + "დომინიკა", + "ეგვიპტე", + "ევროპა (კუნძული)", + "ეთიოპია", + "ეკვადორი", + "ეკვატორული გვინეა", + "ერაყი", + "ერიტრეა", + "ესპანეთი", + "ესტონეთი", + "ეშმორის და კარტიეს კუნძულები", + "უოლისი და ფუტუნა", + "ვანუატუ", + "ვატიკანი", + "ვენესუელა", + "ვიეტნამი", + "ზამბია", + "ზიმბაბვე", + "თურქეთი", + "თურქმენეთი", + "იამაიკა", + "იან მაიენი", + "იაპონია", + "იემენი", + "ინდოეთი", + "ინდონეზია", + "იორდანია", + "ირანი", + "ირლანდია", + "ისლანდია", + "ისრაელი", + "იტალია", + "კაბო-ვერდე", + "კაიმანის კუნძულები", + "კამბოჯა", + "კამერუნი", + "კანადა", + "კატარი", + "კენია", + "კვიპროსი", + "კინგმენის რიფი", + "კირიბატი", + "ქოქოსის კუნძულები", + "კოლუმბია", + "კომორის კუნძულები", + "კონგოს დემოკრატიული რესპუბლიკა", + "კონგოს რესპუბლიკა", + "კორეის რესპუბლიკა", + "ჩრდილოეთი კორეა", + "კოსტა-რიკა", + "კოტ-დ’ივუარი", + "კუბა", + "კუკის კუნძულები", + "ლაოსი", + "ლატვია", + "ლესოთო", + "ლიბანი", + "ლიბერია", + "ლიბია", + "ლიტვა", + "ლიხტენშტაინი", + "ლუქსემბურგი", + "მადაგასკარი", + "მავრიკი", + "მავრიტანია", + "მაიოტა", + "მაკაო", + "მაკედონია", + "მალავი", + "მალაიზია", + "მალდივი", + "მალი", + "მალტა", + "მაროკო", + "მარშალის კუნძულები", + "მარჯნის ზღვის კუნძულები", + "მექსიკა", + "მიანმარი", + "მიკრონეზია", + "მოზამბიკი", + "მოლდოვა", + "მონაკო", + "მონსერატი", + "მონღოლეთი", + "ნამიბია", + "ნაურუ", + "ნეპალი", + "ნიგერი", + "ნიგერია", + "ნიდერლანდი", + "ნიდერლანდის ანტილები", + "ნიკარაგუა", + "ნიუე", + "ნორვეგია", + "ნორფოლკის კუნძული", + "ომანი", + "პაკისტანი", + "პალაუ", + "პალმირა (ატოლი)", + "პანამა", + "პაპუა-ახალი გვინეა", + "პარაგვაი", + "პერუ", + "პიტკერნის კუნძულები", + "პოლონეთი", + "პორტუგალია", + "პრინც-ედუარდის კუნძული", + "პუერტო-რიკო", + "ჟუან-დი-ნოვა", + "რეიუნიონი", + "რუანდა", + "რუმინეთი", + "რუსეთი", + "საბერძნეთი", + "სალვადორი", + "სამოა", + "სამხრეთ აფრიკის რესპუბლიკა", + "სამხრეთი გეორგია და სამხრეთ სენდვიჩის კუნძულები", + "სამხრეთი სუდანი", + "სან-მარინო", + "სან-ტომე და პრინსიპი", + "საუდის არაბეთი", + "საფრანგეთი", + "საფრანგეთის გვიანა", + "საფრანგეთის პოლინეზია", + "საფრანგეთის სამხრეთული და ანტარქტიდული ტერიტორია", + "საქართველო", + "სეიშელის კუნძულები", + "სენეგალი", + "სენ-პიერი და მიკელონი", + "სენტ-ვინსენტი და გრენადინები", + "სენტ-კიტსი და ნევისი", + "სენტ-ლუსია", + "სერბეთი", + "სეუტა", + "სვაზილენდი", + "სვალბარდი", + "სიერა-ლეონე", + "სინგაპური", + "სირია", + "სლოვაკეთი", + "სლოვენია", + "სოლომონის კუნძულები", + "სომალი", + "სომხეთი", + "სუდანი", + "სურინამი", + "ტაივანი", + "ტაილანდი", + "ტანზანია", + "ტაჯიკეთი", + "ტერქსისა და კაიკოსის კუნძულები", + "ტოგო", + "ტოკელაუ", + "ტონგა", + "ტრინიდადი და ტობაგო", + "ტუვალუ", + "ტუნისი", + "უგანდა", + "უზბეკეთი", + "უკრაინა", + "უნგრეთი", + "ურუგვაი", + "ფარერის კუნძულები", + "ფილიპინები", + "ფინეთი", + "ფიჯი", + "ფოლკლენდის კუნძულები", + "ქუვეითი", + "ღაზის სექტორი", + "ყაზახეთი", + "ყირგიზეთი", + "შვეიცარია", + "შვედეთი", + "შობის კუნძული", + "შრი-ლანკა", + "ჩადი", + "ჩერნოგორია", + "ჩეხეთი", + "ჩეჩნეთის რესპუბლიკა იჩქერია", + "ჩილე", + "ჩინეთი", + "ჩრდილოეთი მარიანას კუნძულები", + "ცენტრალური აფრიკის რესპუბლიკა", + "წმინდა ელენე, ამაღლება და ტრისტანი-და-კუნია", + "წყნარი ოკეანის კუნძულები", + "ხორვატია", + "ჯერსი", + "ჯიბუტი", + "ჰაიტი", + "ჰონდურასი", + "ჰონკონგი", + "ჰერდი და მაკდონალდის კუნძულები", ) # Source: Tbilisi city directory # http://directory.ge/map/index.php?lang=eng street_titles = ( - '300 არაგველის', '8 მარტის', 'აბაკელიას', 'აბანოს', 'აბასთუმანის', - 'აბაშელის', 'აბაშის', 'აბაშიძე გრიგოლის', 'აბაშიძე დოდოს', - 'აბაშიძე ირაკლის', 'აბაშიძე ჰეიდარის', 'აბაშიძის', - 'აბდუშელიშვილი მალხაზის', 'აბესაძე გიას', 'აბზიანიძის', 'აბო ტბილელის', - 'აბოვიანის', 'აბუსერიძე-ტბელის', 'აგარის', 'აგლაძე რაფიელის', - 'ადიგენის', 'ავთანდილის', 'ავლაბრის', 'ავლევის', 'ათონელის', 'აკეთის', - 'აკოფიანის', 'აკურის', 'ალადაშვილის', 'ალაზნის', 'ალგეთის', - 'ალექსიძე მერაბის', 'ალვანის', 'ალიხანიანის', 'ალმასიანის', 'ამაღლების', - 'ამბროლაურის', 'ამირანაშვილი პეტრეს', 'ამირეჯიბის', 'ანაკლიის', - 'ანანურის', 'ანდრონიკაშვილის', 'ანდღულაძის', 'ანტონ კატალიკოსის', - 'ანტონოვსკაიას', 'ანჯაფარიძე ვერიკოს', 'არაგვის', 'არაგვისპირელი შიოს', - 'არალეთის', 'არარატის', 'არაყიშვილი დიმიტრის', 'არბოს', 'არბოშიკის', - 'არგვეთის', 'არდაზიანის', 'არდონის', 'არეშიძის', 'არველაძის', - 'ართვინის', 'არმაზის', 'არსენალის', 'ასათიანი ლადოს', 'ასკანის', - 'ასურეთის', 'ასხინის', 'ატენის', 'აფანასიევის', 'აფხაზეთის', 'აწყურის', - 'აჭარის', 'ახალარსენალის', 'ახალდაბის', 'ახალუბნის', 'ახალქალაქის', - 'ახვლედიანი ელენეს', 'ახვლედიანი გიორგის', 'ახვლედიანის', 'ახმეტელის', - 'ახმეტის', 'ახოსპირელის', 'ახტალის', 'ახუთის', 'ახუნდოვის', 'აჯამეთის', - 'ბააზოვის', 'ბაგინეთის', 'ბადიაურის', 'ბაზალეთის', 'ბათუმის', - 'ბაკურიანის', 'ბაკურციხის', 'ბალადინის', 'ბალანჩივაძე მელიტონის', - 'ბარათაშვილი ნოკოლოზის', 'ბარათაშვილის', 'ბარალეთის', - 'ბარამიძე ალექსანდრეს', 'ბარისახოს', 'ბარნოვის', 'ბაქოს', - 'ბაქრაძე დავითის', 'ბაქრაძე დიმიტრის', 'ბაღდათის', 'ბაღნარის', - 'ბახმაროს', 'ბახტრიონის', 'ბედიის', 'ბევრეთის', 'ბეთანიის', 'ბეთლემის', - 'ბელიაშვილი აკაკის', 'ბენაშვილის', 'ბენდელიანი ჭიჭიკოს', - 'ბეჟანიშვილი ეკას', 'ბერბუქის', 'ბერიაშვილის', 'ბერიკაშვილის', - 'ბერიტაშვილის', 'ბერიძე ვუკოლის', 'ბერძენიშვილის', 'ბესიკის', - 'ბექა ოპიზარის', 'ბეღლეთის', 'ბზიფის', 'ბიჭვინთის', 'ბოგვის', 'ბოდავის', - 'ბოდბის', 'ბოლნისის', 'ბორბალოს', 'ბოროდინოს', 'მ. ლებანიძის', - 'ბოტანიკურის', 'ბოცვაძის', 'ბოჭორიშვილის', 'ბოჭორმის', 'ბჟოლეთის', - 'ბროლოსანის', 'ბროსეს', 'ბუაჩიძე თენგიზის', 'ბუდაპეშტის', 'ბულაჩაურის', - 'ბურკიაშვილის', 'ბურძგლას', 'ბუღეულის', 'ბუხაიძის', - 'გაბაშვილი ეკატერინეს', 'გაგარინი იურის', 'გალავნის', - 'გალაქტიონ ტაბიძის', 'გალის', 'გამრეკელის', 'გამყრელიძის', - 'გამცემლიძე შოთას', 'განთიადის', 'გარე კახეთის', 'გარეჯელი დავითის', - 'გარიყული მარიამის', 'გაფრინდაულის', 'გახოკიძე აკაკის', 'გახოკიძის', - 'გეგუთის', 'გედევანიშვილის', 'გეზათის', 'გელათის', 'გერგეტის', - 'გვაზაურის', 'გვეტაძე რაჟდენის', 'გივიშვილის', 'გიორგაძის', - 'გიორგი ბრწყინვალის', 'გიორგი მერჩულეს', 'გლინკას', 'გოგაშენის', - 'გოგებაშვილის იაკობის', 'გოგიბერიძის', 'გოგოლაურის', 'გოგოლის', - 'გოგჩის', 'გოთუას', 'გოკიელის', 'გომარეთის', 'გომბორის', 'გომის', - 'გონაშვილი ჰამლეტის', 'გორგასლის', 'გორდის', 'გორის', 'გორკის', - 'გოცირიძის', 'გოძიაშვილის', 'გრანელი ტერენტის', 'გრიბოედოვის', - 'გრიშაშვილის', 'გროზნოს', 'გრუზინსკი პეტრეს', 'გუდამაყრის', 'გუდარეხის', - 'გუდარის', 'გუდაუთის', 'გუდიაშვილი ლადოს', 'გუთნის', 'გულიას', - 'გულისაშვილის', 'გულუა გიას', 'გუმათის', 'გუმათჰესის', 'გუმბრის', - 'გუნიას', 'გურგენიძის', 'გურიელის', 'გურიის', 'გურჯაანის', 'დაბახანას', - 'დადიანი შალვას', 'დადიანი ცოტნეს', 'დაისის', 'ლ. ელიავას', 'დარკვეთის', - 'დგებუაძის', 'დედოფლისწყაროს', 'დეკაბრისტების', 'დელისის', 'დეპოს', - 'დვალის', 'დვირის', 'დიდგორის', 'დიდხევის', 'დიდი ხეივნის', - 'დიდი ჯიხაიშის', 'დ. ყიფიანის', 'დიმიტრი თავდადებულის', 'დირსიჭალას', - 'დიუმა ალექსანდრეს', 'დმანისის', 'დობროლიუბოვის', 'დოდაშვილი სოლომონის', - 'დოესის', 'დოლიძე გოგის', 'დოლიძის', 'დოქის', 'დოღუმბარის', - 'დუტუ მეგრელის', 'დუშეთის', 'ედისის', 'ევდოშვილის', 'ეკალაძის', - 'ელდარის', 'ენგურის', 'ენგურჰესის', 'ენისელის', 'ენუქიძის', 'ერევნის', - 'ერისთავი თორნიკეს', 'ერისთავი კონსტანტინეს', 'ერისთავ-ხოშტარიას', - 'ერწოს', 'ესენინის', 'სანდრო ეულის', 'ეფრემ მცირის', 'ექიმის', - 'ვაზიანის', 'ვაზისუბნის', 'ვაკელი იონას', 'ვანის', 'ვარდევანის', - 'ვარდისუბნის', 'ვართაგავას', 'რომის', 'ვასაძის', 'ვაშლოვანის', - 'ვახტანგ VI–ის', 'ვეზიროვის', 'ვეკუა ვოვას', 'ვერცხლის', 'ვერჰარნის', - 'ვეძათხევის', 'ვეძინის', 'ვირსალაძის', 'ვორონინის', 'საარბრჯუკენის', - 'ზაზიშვილი გიგოს', 'ზალდასტანიშვილის', 'ზანდუკელი მიხეილის', 'ზარზმის', - 'ზაქარიაძე სერგოს', 'ზედაზნის', 'ზედამზის', 'ზედაუბნის', 'ზეინკლის', - 'ზეკარის', 'ზემო ვაკის', 'ზემო ვეძისის', 'ზესტაფონის', 'ზვარეთის', - 'ზიარის', 'ზიგზაგის', 'ზინდისის', 'ზიჩი მიხაის', 'ზოვრეთის', - 'ზუბალაშვილების', 'ზუგდიდის', 'ზურაბიშვილი ავლიპის', - 'თაბუკაშვილი რეზოს', 'თავაძე ფერდინანდის', 'თამარაშენის', - 'თამარაშვილი მიხეილის', 'გ. სვანიძის', 'თარხნიშვილის', 'თაქთაქიშვილის', - 'თაყაიშვილი სესილიას', 'თევდორე მღვდლის', 'თეთნულდის', 'თეთრიწყაროს', - 'თეკლათის', 'თელავის', 'ხახანაშვილის', 'თელეთის', 'თერგის', 'თეძმის', - 'თვალჭრელიძის', 'თიანეთის', 'თმოგველის', 'თმოგვის', 'თოდრიას', 'თოიძის', - 'თონეს', 'თორაძის', 'თოფურიას', 'თრიალეთის', 'თუმანიანის', 'თხინვალის', - 'იალბუზის', 'იამანიძე შოთას', 'იაშვილი პაოლოს', 'იბრაჰიმ ისპაჰანელის', - 'იდუმალას', 'იეთიმ გურჯის', 'იერუსალიმის', 'ივერიის', 'ივლეთის', - 'იზაშვილის', 'ილორის', 'ილურიძე კონსტანტინეს', 'იმედაშვილი გაიოზის', - 'იმერეთის', 'ინანიშვილი რამაზის', 'ინაშვილის', 'ინგოროყვა პავლეს', - 'ინტერნატის', 'იორის', 'იოსებიძის', 'იოსელიანის', 'იპოლიტე-ივანოვის', - 'ირბაქი ნიკიფორეს', 'ირგვლივის', 'ისაკიანის', 'ისნის', 'იფნის', - 'იყალთოს', 'კავთისხევის', 'კავსაძის', 'კაიშაურის', - 'კაკაბაძე პოლიკარპეს', 'კაკაბაძეების', 'კაკლიანის', 'კოტე ხიმშიაშვილის', - 'კალატოზის', 'კალიუჟნის', 'კალოუბნის', 'კანდელაკის', 'კანდელაკის', - 'კანკავას', 'კაპანაძის', 'კარალეთის', 'კარგარეთელის', 'კასპის', - 'კაჭრეთის', 'კახიანის', 'კედია სპირიდონის', 'კეკელიძე კორნელის', - 'კელაპტრიშვილი ომარის', 'კერესელიძე არჩილის', 'კერესელიძის', - 'კეცხოველი ნიკოს', 'კვალეთის', 'კვალის', 'კვანტალიანის', 'კვერნაულის', - 'კვესეთის', 'კიევის', 'კიკეთის', 'კიკვიძის', 'კისისხევის', 'კიშინიოვის', - 'კლდეკარის', 'კლდიაშვილის', 'კნოლევის', 'კობახიძის', 'კობერიძის', - 'კოდალოს', 'კოდორის', 'კოკინაკის', 'კოლმეურნეობის ველის', 'კოლხეთის', - 'კომუნის', 'კონდოლის', 'კონსტიტუციის', 'კოფცოვის', 'კოსტავას', - 'კოტეტიშვილი ვახტანგის', 'კოშკოვანის', 'კოხრეიძის', 'კოჯრის', - 'ჯ. კახიძის', 'კრწანისის', 'კუმისის', 'კუპრაძის', 'კურნატოვსკის', - 'კურსების', 'კურსკის', 'კუფტინის', 'ლაგოდეხის', 'ლაზოს', 'ლაითურის', - 'ლაილაშის', 'ლალიონის', 'ლამის', 'ლამისყანის', 'ლანჩხუთის', 'ლარეხის', - 'ლარსის', 'ლაღიძე მიტროფანეს', 'ლაღიძე რევაზის', 'ლებარდეს', - 'ლეკიშვილის', 'ლენტეხის', 'ლეონიძე გიორგის', 'ლეჟავას', 'ლერმონტოვის', - 'ლერწმის', 'ლესელიძის', 'ლესია უკრაინკას', 'ლეჩხუმის', 'ლიახვის', - 'ლიბანის', 'ლიკანის', 'ლისაშვილის', 'ლიუბოვსკის', 'ლიხაურის', 'ლიხის', - 'ლომაურის', 'ლომთათიძის', 'ლომონოსოვის', 'ლორთქიფანიძე გრიგოლის', - 'ლორთქიფანიძის', 'ლოჭინის', 'ლუბლიანას', 'ლუსიანინის', 'მაზნიაშვილის', - 'მათიაშვილის', 'მაიაკოვსკის', 'მამასახლისოვის', 'მამკოდის', 'მამკოდის', - 'მამრაძის', 'მანაგაძე ალეხსანდეს', 'მანავის', 'მანგლისის', - 'მანიჯაშვილი კახას', 'მანჯგალაძე ეროსის', 'მარაბდის', - 'მარგიანი რევაზის', 'მარელისის', 'მარი ნიკოს', 'მარიჯანის', 'მარტვილის', - 'მარტყოფის', 'მარუაშვილი გიორგის', 'მარუხის გმირების', - 'მარჯანიშვილი კოტეს', 'მარჯანიშვილი კოტეს', 'მაღალაშვილის', 'მაღაროს', - 'მაჩაბელი ივანეს', 'მაჩხაანის', 'მაცესტის', 'მაჭრის', 'მახათას', - 'მახინჯაურის', 'მგალობლიშვილის', 'მებაღიშვილის', 'მეგობრობის', - 'მეგრელაძის', 'მეველეს', 'მელაანის', 'მელიქიშვილის', 'მესხეთის', - 'მესხიას', 'მესხიშვილი ალექსის', 'მესხიშვილის', 'მეტეხის', 'მეუნარგიას', - 'მექანიზაციის', 'მეჯვრისხევის', 'მთავარანგელოზის', 'მთაწმინდის', - 'მთისძირის', 'მიმინოშვილი რომანის', 'მინდელაურის', 'მინდელის', - 'მირზა მეფის', 'მირზაანის', 'მიროტაძის', 'მიტინგის', 'მიქატაძის', - 'მიქატაძის', 'მიქელაძე ევგენის', 'მიქელაძის', 'მიშველაძე არჩილის', - 'მიჩურინის', 'მიცკევიჩის', 'მნათობის', 'მოლითის', 'მოლოკოვის', - 'მორეტის', 'მოსაშვილის', 'მოსე ხონელის', 'მოსიძე ვახტანგის', - 'მოსტკოვის', 'მოსულიშვილის', 'მრევლიშვილის', 'მტკვრის', 'მუკუზანის', - 'მუსხელიშვილის', 'მუხაძის', 'მუხაძის', 'მუხრანის', 'მშველიძის', - 'მცხეთის', 'ნაბახტაურის', 'ნაგომარის', 'ნადიკვარის', 'ნადირაძე კოლაუს', - 'ნავთლუღის', 'ნათაძის', 'ნაკადულის', 'ნიშნიანიძის', - 'ნანეიშვილი ვიქტორის', 'ნანეიშვილი ვლადიმერის', 'ნარგიზის', - 'ნასაკირალის', 'ნასიძე სულხანის', 'ნაქალაქევის', 'ნაქერალას', 'ნიაბის', - 'ნიაღვრის', 'ნიზამის', 'ნიკოლაძე ნიკოს', 'ნინიძის', 'ნიორაძის', - 'ნოვოროსისკის', 'ნონეშვილი იოსების', 'ნოსირის', 'ნოსტეს', 'ნუცუბიძის', - 'ობსერვატორიის', 'ოდესის', 'ონიაშვილის', 'ონის', 'ოჟიოს', 'ორბეთის', - 'ორბელების', 'ორთაჭალის', 'ორპირის', 'ორხევის', 'ოსეთის', 'ოსიაურის', - 'ოფრეთის', 'ოქრომჭედლების', 'ოქროყანის', 'ოჩამჩირის', 'ოცხელების', - 'ოძელაშვილის', 'ოძისის', 'პაიჭაძის', 'პალიასტომის', 'პანკისის', - 'პასტერის', 'პატარიძის', 'პატარძეულის', 'პეტეფი შანდორის', - 'პეტრე იბერის', 'პეტრიაშვილის', 'პეტრიწის', 'პიატიგორსკის', 'პიონერის', - 'პისარევის', 'პლატონის', 'პუშკინი ალექსანდრეს', 'ჟველაურის', 'ჟინვალის', - 'ჟონეთის', 'ჟორესის', 'ჟღენტის', 'რადიანი შალვას', 'რაზიკაშვილის', - 'რაზმაძის', 'რატევანის', 'რატილის', 'რაჭის', 'რევოლუცის', 'რთველაძის', - 'რიონის', 'რიონჰესის', 'რიწის', 'რკინიგზის', 'რკინის', 'როდენის', - 'როსტოვის', 'როსტომაშვილის', 'რუისპირის', 'რუსთაველის', 'რჩეულიშვილის', - 'საადის', 'სააკაძე პაატას', 'სააკაძის', 'საბადურის', 'საბანისძის', - 'საბაშვილის', 'საგარეჯოს', 'საგურამოს', 'სადმელის', 'სავანელის', - 'სათემოს', 'საიათნოვას', 'საირმის', 'სალამის', 'სალხინოს', - 'სამამულო ომის გმირების', 'სამგორის', 'სამტრედიის', 'სამურზაყანოს', - 'სამურის', 'სამღებროს', 'სამღერეთის', 'სამშვილდეს', 'სანავარდოს', - 'სანკტ-პეტერბურგის', 'სარაჯიშვილი დავითის', 'სარაჯიშვილი პეტრეს', - 'სართანიას', 'სართიჭალის', 'სარკინეთის', 'საქანელას', 'საქარის', - 'საყვირის', 'საჩხერის', 'საცხენისის', 'საჭილაოს', 'სახოკიას', 'სევანის', - 'სენაკის', 'სვანეთის', 'გუდაურის', 'სვირის', 'სიონის', 'სიღნაღის', - 'სიხარულიძის', 'სკოლის', 'სომხეთის', 'სოხუმის', 'სოღანლუღის', - 'სპანდარიანის', 'სპარტაკის', 'სტამბის', 'სტანისლავსკის', 'სტურუას', - 'სუვოროვის', 'სულიაშვილის', 'სულხანიშვილის', 'სულხან-საბას', - 'სუმბატაშვილ-იუჟინსკის', 'სუნდუკიანის', 'სურამის', 'სურგულაძის', - 'სხვიტორის', 'სხირტლაძის', 'სხულუხიას', 'ტაბახმელას', 'ტაბიძე ტიციანის', - 'ტანძიის', 'ტარიელის', 'ტატიშვილი ერეკლეს', 'ტატიშვილის', 'ტაშირის', - 'ტაშკენტის', 'ტელეგრაფის', 'ტეტელაშვილის', 'ტეხურის', 'ტვიშის', - 'ტიბაანის', 'ტირიფონის', 'ტიულენევის', 'ტიხონოვის', 'ტოლენჯის', - 'ტოლსტოის', 'ტოლსტონოგოვის', 'ტრანსპორტის', 'ტრაქტორის', 'ტრიკოტაჟის', - 'ტურგენევის', 'ტუსკიას', 'ტყავის', 'ტყეკულტურის', 'ტყვარჩელის', - 'ტყვიავის', 'ტყიბულის', 'ტყის', 'უბილავას', 'უზნაძე დიმიტრის', - 'უზნაძის', 'უიარაღოს', 'უკლება კირილეს', 'უმიკაშვილის', 'უნივერსიტეტის', - 'ურბნისის', 'ურეკის', 'ურიდიას', 'ურიცკის', 'უფლისციხის', 'უშაკოვის', - 'უჩანეიშვილი ირაკლის', 'უწერის', 'უჯარმის', 'ფაბრიკის', 'ფალიაშვილის', - 'ფანასკერტელ-ციციშვილის', 'ფანჯიკიძის', 'ფარავნის', 'ფასანაურის', - 'ფაღავა ირაკლის', 'ფერისცვალების', 'ფიზკულტურის', 'ფილიას', 'ფირდოუსის', - 'ფიროსმანის', 'ფიფიას', 'ფოთის', 'ფოსტის', 'ფოცხვერაშვილის', - 'ფოცხიაშვილი მორისის', 'ფურცელაძის', 'ფშავის', 'ქავთარაძის', 'ქარელის', - 'ქართველიშვილი ლევანის', 'ქართლის', 'ქებურიას', 'ქედის', 'ქერჩის', - 'ქვალონის', 'ქვიშხეთის', 'ქიაჩელის', 'ქიზიყის', 'ქინქლაძე ოთარის', - 'ქინძმარაულის', 'ქიქოძე გერონტის', 'ქობულაძის', 'ქობულეთის', 'ქსნის', - 'ქსოვრელის', 'ქუთათელაძის', 'ქუთათელაძე აპოლონის', 'ქუთაისის', - 'ქუმსიაშვილის', 'ქურდიანი არჩილის', 'ქურდიანი ზაქარიას', 'ქურხულის', - 'ქუჩიშვილის', 'ღამბაშიძის', 'ღრმაღელეს', 'ღუდუშაური ოთარის', - 'ყავლაშვილი შოთას', 'ყარყარაშვილის', 'ყვარელის', 'ყირიმის', 'ყიფიანის', - 'ყიფშიძის', 'ყუშიტაშვილის', 'შავგულიძის', 'შავთელის', 'შავი ზღვის', - 'შავიშვილის', 'შავნაბადას', 'შავსოფელის', 'შანიძე აკაკის', - 'შანშიაშვილის', 'შარაშიძის', 'შარდენის', 'შარტავა ჟიულის', - 'შატბერაშვილის', 'შატილის', 'შაქრიანის', 'შევჩენკო ტარასის', - 'შენგელაიას', 'შერვაშიძის', 'შილდის', 'შინდისის', 'შიო მღვიმელის', - 'შირაქის', 'შოვის', 'შორაპნის', 'შროშის', 'შუამთის', 'შურდულის', - 'შხეფის', 'ჩაიკოვსკის', 'ჩაილურის', 'ჩაისუბნის', 'ჩანჩიბაძის', - 'ჩარგლის', 'ჩარხის', 'ჩაქვის', 'ჩაჩავას', 'ჩახრუხაძის', 'ჩერნიშევსკის', - 'ჩერქეზიშვილის', 'ჩეჩელაშვილის', 'ჩეხოვის', 'ჩიკვანიას', 'ჩიტაიას', - 'ჩიტაძის', 'ჩიქობავა არნოლდის', 'ჩიქოვანის', 'ჩკალოვის', - 'ჩოლოყაშვილი ქაიხოსროს', 'ჩოჩუას', 'ჩოხატაურის', 'ჩოხელის', - 'ჩუბინაშვილი გიორგის', 'ჩუბინიძის', 'ჩხიკვაძის', 'ცაბაძე გიორგის', - 'ცაგარელი არჩილის', 'ცაგერის', 'ცაიშის', 'ცემის', 'ციმაკურიძის', - 'ცინცაძე კალისტრატეს', 'ცისარტკელას', 'ცისკრის', 'ციხისძირის', - 'ცოდნისკარის', 'ცურტაველი იაკობის', 'ცუცქირიძის', 'ცხემის', 'ცხვედაძის', - 'ცხრა აპრილის', 'ცხრა ძმის', 'ძეგამის', 'ძევერის', 'ძმობის', - 'ძოწენიძის', 'წავკისის', 'წალენჯიხის', 'წალკის', 'წაღვერის', 'წერეთლის', - 'წერნაკის', 'წერონისის', 'წიკლაურის', 'წინამძღვრიშვილის', - 'წინამძღვრიშვილის', 'წინანაურის', 'წინანდლის', 'წინაუბნის', - 'წიწამურის', 'წმ. ნიკოლოზის', 'წნორისწყლის', 'წრომის', 'წულაძის', - 'წულუკიძის', 'წურწუმიას', 'წუწუნავას', 'წუწხვატის', 'წყალსადენის', - 'წყალტუბოს', 'წყაროს', 'ჭაბუკიანი ვახტანგის', 'ჭავჭავაძე ზურაბის', - 'ჭავჭავაძე ალექსანდრეს', 'ჭალადიდის', 'ჭანტურია გიას', 'ჭიათურის', - 'ჭიაურელი მიხეილის', 'ჭიჭინაძე ზაქარიას', 'ჭოველიძე თამარის', - 'ჭონქაძე დანიელის', 'ჭოპორტის', 'ჭოროხის', 'ჭრებალოს', 'ჭრელაშვილის', - 'ხაბეიშვილის', 'ხაზინის', 'ხანძთელი გრიგოლის', 'ხარაბაძის', - 'ხარაგაულის', 'ხარფუხის', 'ხაჩატურიანის', 'ხევის', 'ხევისუბნის', - 'ხევსურეთის', 'ხევძმარის', 'ხეთაგუროვის', 'ხერგიანის', 'ხერთვისის', - 'ხერხეულიძეების', 'ხეჩუაშვილის', 'ხვამლის', 'ხვანჭკარის', 'ხვედელიანის', - 'ხვინგიას', 'ხვიჩია იპოლიტეს', 'ხიდის', 'ხიდისთავის', 'ხივინის', - 'ხიმშიაშვილის', 'ხმელნიცკის', 'ხოდაშენის', 'ხომლელის', 'ხონის', - 'ხორავა აკაკის', 'ხორნაბუჯის', 'ხოშარაულის', 'ხრამჰესის', 'ხრესილის', - 'ხუდადოვის', 'ჯაბაურის', 'ჯაბიძის', 'ჯავახეთის', 'ჯავახიშვილი ივანეს', - 'ჯავახიშვილი მიხეილის', 'ჯავის', 'ჯამბულის', 'ჯანაშვილის', 'ჯანაშიას', - 'ჯანჯღავას', 'ჯვარედინის', 'პოლიტკოვსკაიას', 'ჯიქიას', 'ჯორბენაძის', - 'ჯორჯაძის', 'ჰოსპიტალის', + "300 არაგველის", + "8 მარტის", + "აბაკელიას", + "აბანოს", + "აბასთუმანის", + "აბაშელის", + "აბაშის", + "აბაშიძე გრიგოლის", + "აბაშიძე დოდოს", + "აბაშიძე ირაკლის", + "აბაშიძე ჰეიდარის", + "აბაშიძის", + "აბდუშელიშვილი მალხაზის", + "აბესაძე გიას", + "აბზიანიძის", + "აბო ტბილელის", + "აბოვიანის", + "აბუსერიძე-ტბელის", + "აგარის", + "აგლაძე რაფიელის", + "ადიგენის", + "ავთანდილის", + "ავლაბრის", + "ავლევის", + "ათონელის", + "აკეთის", + "აკოფიანის", + "აკურის", + "ალადაშვილის", + "ალაზნის", + "ალგეთის", + "ალექსიძე მერაბის", + "ალვანის", + "ალიხანიანის", + "ალმასიანის", + "ამაღლების", + "ამბროლაურის", + "ამირანაშვილი პეტრეს", + "ამირეჯიბის", + "ანაკლიის", + "ანანურის", + "ანდრონიკაშვილის", + "ანდღულაძის", + "ანტონ კატალიკოსის", + "ანტონოვსკაიას", + "ანჯაფარიძე ვერიკოს", + "არაგვის", + "არაგვისპირელი შიოს", + "არალეთის", + "არარატის", + "არაყიშვილი დიმიტრის", + "არბოს", + "არბოშიკის", + "არგვეთის", + "არდაზიანის", + "არდონის", + "არეშიძის", + "არველაძის", + "ართვინის", + "არმაზის", + "არსენალის", + "ასათიანი ლადოს", + "ასკანის", + "ასურეთის", + "ასხინის", + "ატენის", + "აფანასიევის", + "აფხაზეთის", + "აწყურის", + "აჭარის", + "ახალარსენალის", + "ახალდაბის", + "ახალუბნის", + "ახალქალაქის", + "ახვლედიანი ელენეს", + "ახვლედიანი გიორგის", + "ახვლედიანის", + "ახმეტელის", + "ახმეტის", + "ახოსპირელის", + "ახტალის", + "ახუთის", + "ახუნდოვის", + "აჯამეთის", + "ბააზოვის", + "ბაგინეთის", + "ბადიაურის", + "ბაზალეთის", + "ბათუმის", + "ბაკურიანის", + "ბაკურციხის", + "ბალადინის", + "ბალანჩივაძე მელიტონის", + "ბარათაშვილი ნოკოლოზის", + "ბარათაშვილის", + "ბარალეთის", + "ბარამიძე ალექსანდრეს", + "ბარისახოს", + "ბარნოვის", + "ბაქოს", + "ბაქრაძე დავითის", + "ბაქრაძე დიმიტრის", + "ბაღდათის", + "ბაღნარის", + "ბახმაროს", + "ბახტრიონის", + "ბედიის", + "ბევრეთის", + "ბეთანიის", + "ბეთლემის", + "ბელიაშვილი აკაკის", + "ბენაშვილის", + "ბენდელიანი ჭიჭიკოს", + "ბეჟანიშვილი ეკას", + "ბერბუქის", + "ბერიაშვილის", + "ბერიკაშვილის", + "ბერიტაშვილის", + "ბერიძე ვუკოლის", + "ბერძენიშვილის", + "ბესიკის", + "ბექა ოპიზარის", + "ბეღლეთის", + "ბზიფის", + "ბიჭვინთის", + "ბოგვის", + "ბოდავის", + "ბოდბის", + "ბოლნისის", + "ბორბალოს", + "ბოროდინოს", + "მ. ლებანიძის", + "ბოტანიკურის", + "ბოცვაძის", + "ბოჭორიშვილის", + "ბოჭორმის", + "ბჟოლეთის", + "ბროლოსანის", + "ბროსეს", + "ბუაჩიძე თენგიზის", + "ბუდაპეშტის", + "ბულაჩაურის", + "ბურკიაშვილის", + "ბურძგლას", + "ბუღეულის", + "ბუხაიძის", + "გაბაშვილი ეკატერინეს", + "გაგარინი იურის", + "გალავნის", + "გალაქტიონ ტაბიძის", + "გალის", + "გამრეკელის", + "გამყრელიძის", + "გამცემლიძე შოთას", + "განთიადის", + "გარე კახეთის", + "გარეჯელი დავითის", + "გარიყული მარიამის", + "გაფრინდაულის", + "გახოკიძე აკაკის", + "გახოკიძის", + "გეგუთის", + "გედევანიშვილის", + "გეზათის", + "გელათის", + "გერგეტის", + "გვაზაურის", + "გვეტაძე რაჟდენის", + "გივიშვილის", + "გიორგაძის", + "გიორგი ბრწყინვალის", + "გიორგი მერჩულეს", + "გლინკას", + "გოგაშენის", + "გოგებაშვილის იაკობის", + "გოგიბერიძის", + "გოგოლაურის", + "გოგოლის", + "გოგჩის", + "გოთუას", + "გოკიელის", + "გომარეთის", + "გომბორის", + "გომის", + "გონაშვილი ჰამლეტის", + "გორგასლის", + "გორდის", + "გორის", + "გორკის", + "გოცირიძის", + "გოძიაშვილის", + "გრანელი ტერენტის", + "გრიბოედოვის", + "გრიშაშვილის", + "გროზნოს", + "გრუზინსკი პეტრეს", + "გუდამაყრის", + "გუდარეხის", + "გუდარის", + "გუდაუთის", + "გუდიაშვილი ლადოს", + "გუთნის", + "გულიას", + "გულისაშვილის", + "გულუა გიას", + "გუმათის", + "გუმათჰესის", + "გუმბრის", + "გუნიას", + "გურგენიძის", + "გურიელის", + "გურიის", + "გურჯაანის", + "დაბახანას", + "დადიანი შალვას", + "დადიანი ცოტნეს", + "დაისის", + "ლ. ელიავას", + "დარკვეთის", + "დგებუაძის", + "დედოფლისწყაროს", + "დეკაბრისტების", + "დელისის", + "დეპოს", + "დვალის", + "დვირის", + "დიდგორის", + "დიდხევის", + "დიდი ხეივნის", + "დიდი ჯიხაიშის", + "დ. ყიფიანის", + "დიმიტრი თავდადებულის", + "დირსიჭალას", + "დიუმა ალექსანდრეს", + "დმანისის", + "დობროლიუბოვის", + "დოდაშვილი სოლომონის", + "დოესის", + "დოლიძე გოგის", + "დოლიძის", + "დოქის", + "დოღუმბარის", + "დუტუ მეგრელის", + "დუშეთის", + "ედისის", + "ევდოშვილის", + "ეკალაძის", + "ელდარის", + "ენგურის", + "ენგურჰესის", + "ენისელის", + "ენუქიძის", + "ერევნის", + "ერისთავი თორნიკეს", + "ერისთავი კონსტანტინეს", + "ერისთავ-ხოშტარიას", + "ერწოს", + "ესენინის", + "სანდრო ეულის", + "ეფრემ მცირის", + "ექიმის", + "ვაზიანის", + "ვაზისუბნის", + "ვაკელი იონას", + "ვანის", + "ვარდევანის", + "ვარდისუბნის", + "ვართაგავას", + "რომის", + "ვასაძის", + "ვაშლოვანის", + "ვახტანგ VI–ის", + "ვეზიროვის", + "ვეკუა ვოვას", + "ვერცხლის", + "ვერჰარნის", + "ვეძათხევის", + "ვეძინის", + "ვირსალაძის", + "ვორონინის", + "საარბრჯუკენის", + "ზაზიშვილი გიგოს", + "ზალდასტანიშვილის", + "ზანდუკელი მიხეილის", + "ზარზმის", + "ზაქარიაძე სერგოს", + "ზედაზნის", + "ზედამზის", + "ზედაუბნის", + "ზეინკლის", + "ზეკარის", + "ზემო ვაკის", + "ზემო ვეძისის", + "ზესტაფონის", + "ზვარეთის", + "ზიარის", + "ზიგზაგის", + "ზინდისის", + "ზიჩი მიხაის", + "ზოვრეთის", + "ზუბალაშვილების", + "ზუგდიდის", + "ზურაბიშვილი ავლიპის", + "თაბუკაშვილი რეზოს", + "თავაძე ფერდინანდის", + "თამარაშენის", + "თამარაშვილი მიხეილის", + "გ. სვანიძის", + "თარხნიშვილის", + "თაქთაქიშვილის", + "თაყაიშვილი სესილიას", + "თევდორე მღვდლის", + "თეთნულდის", + "თეთრიწყაროს", + "თეკლათის", + "თელავის", + "ხახანაშვილის", + "თელეთის", + "თერგის", + "თეძმის", + "თვალჭრელიძის", + "თიანეთის", + "თმოგველის", + "თმოგვის", + "თოდრიას", + "თოიძის", + "თონეს", + "თორაძის", + "თოფურიას", + "თრიალეთის", + "თუმანიანის", + "თხინვალის", + "იალბუზის", + "იამანიძე შოთას", + "იაშვილი პაოლოს", + "იბრაჰიმ ისპაჰანელის", + "იდუმალას", + "იეთიმ გურჯის", + "იერუსალიმის", + "ივერიის", + "ივლეთის", + "იზაშვილის", + "ილორის", + "ილურიძე კონსტანტინეს", + "იმედაშვილი გაიოზის", + "იმერეთის", + "ინანიშვილი რამაზის", + "ინაშვილის", + "ინგოროყვა პავლეს", + "ინტერნატის", + "იორის", + "იოსებიძის", + "იოსელიანის", + "იპოლიტე-ივანოვის", + "ირბაქი ნიკიფორეს", + "ირგვლივის", + "ისაკიანის", + "ისნის", + "იფნის", + "იყალთოს", + "კავთისხევის", + "კავსაძის", + "კაიშაურის", + "კაკაბაძე პოლიკარპეს", + "კაკაბაძეების", + "კაკლიანის", + "კოტე ხიმშიაშვილის", + "კალატოზის", + "კალიუჟნის", + "კალოუბნის", + "კანდელაკის", + "კანდელაკის", + "კანკავას", + "კაპანაძის", + "კარალეთის", + "კარგარეთელის", + "კასპის", + "კაჭრეთის", + "კახიანის", + "კედია სპირიდონის", + "კეკელიძე კორნელის", + "კელაპტრიშვილი ომარის", + "კერესელიძე არჩილის", + "კერესელიძის", + "კეცხოველი ნიკოს", + "კვალეთის", + "კვალის", + "კვანტალიანის", + "კვერნაულის", + "კვესეთის", + "კიევის", + "კიკეთის", + "კიკვიძის", + "კისისხევის", + "კიშინიოვის", + "კლდეკარის", + "კლდიაშვილის", + "კნოლევის", + "კობახიძის", + "კობერიძის", + "კოდალოს", + "კოდორის", + "კოკინაკის", + "კოლმეურნეობის ველის", + "კოლხეთის", + "კომუნის", + "კონდოლის", + "კონსტიტუციის", + "კოფცოვის", + "კოსტავას", + "კოტეტიშვილი ვახტანგის", + "კოშკოვანის", + "კოხრეიძის", + "კოჯრის", + "ჯ. კახიძის", + "კრწანისის", + "კუმისის", + "კუპრაძის", + "კურნატოვსკის", + "კურსების", + "კურსკის", + "კუფტინის", + "ლაგოდეხის", + "ლაზოს", + "ლაითურის", + "ლაილაშის", + "ლალიონის", + "ლამის", + "ლამისყანის", + "ლანჩხუთის", + "ლარეხის", + "ლარსის", + "ლაღიძე მიტროფანეს", + "ლაღიძე რევაზის", + "ლებარდეს", + "ლეკიშვილის", + "ლენტეხის", + "ლეონიძე გიორგის", + "ლეჟავას", + "ლერმონტოვის", + "ლერწმის", + "ლესელიძის", + "ლესია უკრაინკას", + "ლეჩხუმის", + "ლიახვის", + "ლიბანის", + "ლიკანის", + "ლისაშვილის", + "ლიუბოვსკის", + "ლიხაურის", + "ლიხის", + "ლომაურის", + "ლომთათიძის", + "ლომონოსოვის", + "ლორთქიფანიძე გრიგოლის", + "ლორთქიფანიძის", + "ლოჭინის", + "ლუბლიანას", + "ლუსიანინის", + "მაზნიაშვილის", + "მათიაშვილის", + "მაიაკოვსკის", + "მამასახლისოვის", + "მამკოდის", + "მამკოდის", + "მამრაძის", + "მანაგაძე ალეხსანდეს", + "მანავის", + "მანგლისის", + "მანიჯაშვილი კახას", + "მანჯგალაძე ეროსის", + "მარაბდის", + "მარგიანი რევაზის", + "მარელისის", + "მარი ნიკოს", + "მარიჯანის", + "მარტვილის", + "მარტყოფის", + "მარუაშვილი გიორგის", + "მარუხის გმირების", + "მარჯანიშვილი კოტეს", + "მარჯანიშვილი კოტეს", + "მაღალაშვილის", + "მაღაროს", + "მაჩაბელი ივანეს", + "მაჩხაანის", + "მაცესტის", + "მაჭრის", + "მახათას", + "მახინჯაურის", + "მგალობლიშვილის", + "მებაღიშვილის", + "მეგობრობის", + "მეგრელაძის", + "მეველეს", + "მელაანის", + "მელიქიშვილის", + "მესხეთის", + "მესხიას", + "მესხიშვილი ალექსის", + "მესხიშვილის", + "მეტეხის", + "მეუნარგიას", + "მექანიზაციის", + "მეჯვრისხევის", + "მთავარანგელოზის", + "მთაწმინდის", + "მთისძირის", + "მიმინოშვილი რომანის", + "მინდელაურის", + "მინდელის", + "მირზა მეფის", + "მირზაანის", + "მიროტაძის", + "მიტინგის", + "მიქატაძის", + "მიქატაძის", + "მიქელაძე ევგენის", + "მიქელაძის", + "მიშველაძე არჩილის", + "მიჩურინის", + "მიცკევიჩის", + "მნათობის", + "მოლითის", + "მოლოკოვის", + "მორეტის", + "მოსაშვილის", + "მოსე ხონელის", + "მოსიძე ვახტანგის", + "მოსტკოვის", + "მოსულიშვილის", + "მრევლიშვილის", + "მტკვრის", + "მუკუზანის", + "მუსხელიშვილის", + "მუხაძის", + "მუხაძის", + "მუხრანის", + "მშველიძის", + "მცხეთის", + "ნაბახტაურის", + "ნაგომარის", + "ნადიკვარის", + "ნადირაძე კოლაუს", + "ნავთლუღის", + "ნათაძის", + "ნაკადულის", + "ნიშნიანიძის", + "ნანეიშვილი ვიქტორის", + "ნანეიშვილი ვლადიმერის", + "ნარგიზის", + "ნასაკირალის", + "ნასიძე სულხანის", + "ნაქალაქევის", + "ნაქერალას", + "ნიაბის", + "ნიაღვრის", + "ნიზამის", + "ნიკოლაძე ნიკოს", + "ნინიძის", + "ნიორაძის", + "ნოვოროსისკის", + "ნონეშვილი იოსების", + "ნოსირის", + "ნოსტეს", + "ნუცუბიძის", + "ობსერვატორიის", + "ოდესის", + "ონიაშვილის", + "ონის", + "ოჟიოს", + "ორბეთის", + "ორბელების", + "ორთაჭალის", + "ორპირის", + "ორხევის", + "ოსეთის", + "ოსიაურის", + "ოფრეთის", + "ოქრომჭედლების", + "ოქროყანის", + "ოჩამჩირის", + "ოცხელების", + "ოძელაშვილის", + "ოძისის", + "პაიჭაძის", + "პალიასტომის", + "პანკისის", + "პასტერის", + "პატარიძის", + "პატარძეულის", + "პეტეფი შანდორის", + "პეტრე იბერის", + "პეტრიაშვილის", + "პეტრიწის", + "პიატიგორსკის", + "პიონერის", + "პისარევის", + "პლატონის", + "პუშკინი ალექსანდრეს", + "ჟველაურის", + "ჟინვალის", + "ჟონეთის", + "ჟორესის", + "ჟღენტის", + "რადიანი შალვას", + "რაზიკაშვილის", + "რაზმაძის", + "რატევანის", + "რატილის", + "რაჭის", + "რევოლუცის", + "რთველაძის", + "რიონის", + "რიონჰესის", + "რიწის", + "რკინიგზის", + "რკინის", + "როდენის", + "როსტოვის", + "როსტომაშვილის", + "რუისპირის", + "რუსთაველის", + "რჩეულიშვილის", + "საადის", + "სააკაძე პაატას", + "სააკაძის", + "საბადურის", + "საბანისძის", + "საბაშვილის", + "საგარეჯოს", + "საგურამოს", + "სადმელის", + "სავანელის", + "სათემოს", + "საიათნოვას", + "საირმის", + "სალამის", + "სალხინოს", + "სამამულო ომის გმირების", + "სამგორის", + "სამტრედიის", + "სამურზაყანოს", + "სამურის", + "სამღებროს", + "სამღერეთის", + "სამშვილდეს", + "სანავარდოს", + "სანკტ-პეტერბურგის", + "სარაჯიშვილი დავითის", + "სარაჯიშვილი პეტრეს", + "სართანიას", + "სართიჭალის", + "სარკინეთის", + "საქანელას", + "საქარის", + "საყვირის", + "საჩხერის", + "საცხენისის", + "საჭილაოს", + "სახოკიას", + "სევანის", + "სენაკის", + "სვანეთის", + "გუდაურის", + "სვირის", + "სიონის", + "სიღნაღის", + "სიხარულიძის", + "სკოლის", + "სომხეთის", + "სოხუმის", + "სოღანლუღის", + "სპანდარიანის", + "სპარტაკის", + "სტამბის", + "სტანისლავსკის", + "სტურუას", + "სუვოროვის", + "სულიაშვილის", + "სულხანიშვილის", + "სულხან-საბას", + "სუმბატაშვილ-იუჟინსკის", + "სუნდუკიანის", + "სურამის", + "სურგულაძის", + "სხვიტორის", + "სხირტლაძის", + "სხულუხიას", + "ტაბახმელას", + "ტაბიძე ტიციანის", + "ტანძიის", + "ტარიელის", + "ტატიშვილი ერეკლეს", + "ტატიშვილის", + "ტაშირის", + "ტაშკენტის", + "ტელეგრაფის", + "ტეტელაშვილის", + "ტეხურის", + "ტვიშის", + "ტიბაანის", + "ტირიფონის", + "ტიულენევის", + "ტიხონოვის", + "ტოლენჯის", + "ტოლსტოის", + "ტოლსტონოგოვის", + "ტრანსპორტის", + "ტრაქტორის", + "ტრიკოტაჟის", + "ტურგენევის", + "ტუსკიას", + "ტყავის", + "ტყეკულტურის", + "ტყვარჩელის", + "ტყვიავის", + "ტყიბულის", + "ტყის", + "უბილავას", + "უზნაძე დიმიტრის", + "უზნაძის", + "უიარაღოს", + "უკლება კირილეს", + "უმიკაშვილის", + "უნივერსიტეტის", + "ურბნისის", + "ურეკის", + "ურიდიას", + "ურიცკის", + "უფლისციხის", + "უშაკოვის", + "უჩანეიშვილი ირაკლის", + "უწერის", + "უჯარმის", + "ფაბრიკის", + "ფალიაშვილის", + "ფანასკერტელ-ციციშვილის", + "ფანჯიკიძის", + "ფარავნის", + "ფასანაურის", + "ფაღავა ირაკლის", + "ფერისცვალების", + "ფიზკულტურის", + "ფილიას", + "ფირდოუსის", + "ფიროსმანის", + "ფიფიას", + "ფოთის", + "ფოსტის", + "ფოცხვერაშვილის", + "ფოცხიაშვილი მორისის", + "ფურცელაძის", + "ფშავის", + "ქავთარაძის", + "ქარელის", + "ქართველიშვილი ლევანის", + "ქართლის", + "ქებურიას", + "ქედის", + "ქერჩის", + "ქვალონის", + "ქვიშხეთის", + "ქიაჩელის", + "ქიზიყის", + "ქინქლაძე ოთარის", + "ქინძმარაულის", + "ქიქოძე გერონტის", + "ქობულაძის", + "ქობულეთის", + "ქსნის", + "ქსოვრელის", + "ქუთათელაძის", + "ქუთათელაძე აპოლონის", + "ქუთაისის", + "ქუმსიაშვილის", + "ქურდიანი არჩილის", + "ქურდიანი ზაქარიას", + "ქურხულის", + "ქუჩიშვილის", + "ღამბაშიძის", + "ღრმაღელეს", + "ღუდუშაური ოთარის", + "ყავლაშვილი შოთას", + "ყარყარაშვილის", + "ყვარელის", + "ყირიმის", + "ყიფიანის", + "ყიფშიძის", + "ყუშიტაშვილის", + "შავგულიძის", + "შავთელის", + "შავი ზღვის", + "შავიშვილის", + "შავნაბადას", + "შავსოფელის", + "შანიძე აკაკის", + "შანშიაშვილის", + "შარაშიძის", + "შარდენის", + "შარტავა ჟიულის", + "შატბერაშვილის", + "შატილის", + "შაქრიანის", + "შევჩენკო ტარასის", + "შენგელაიას", + "შერვაშიძის", + "შილდის", + "შინდისის", + "შიო მღვიმელის", + "შირაქის", + "შოვის", + "შორაპნის", + "შროშის", + "შუამთის", + "შურდულის", + "შხეფის", + "ჩაიკოვსკის", + "ჩაილურის", + "ჩაისუბნის", + "ჩანჩიბაძის", + "ჩარგლის", + "ჩარხის", + "ჩაქვის", + "ჩაჩავას", + "ჩახრუხაძის", + "ჩერნიშევსკის", + "ჩერქეზიშვილის", + "ჩეჩელაშვილის", + "ჩეხოვის", + "ჩიკვანიას", + "ჩიტაიას", + "ჩიტაძის", + "ჩიქობავა არნოლდის", + "ჩიქოვანის", + "ჩკალოვის", + "ჩოლოყაშვილი ქაიხოსროს", + "ჩოჩუას", + "ჩოხატაურის", + "ჩოხელის", + "ჩუბინაშვილი გიორგის", + "ჩუბინიძის", + "ჩხიკვაძის", + "ცაბაძე გიორგის", + "ცაგარელი არჩილის", + "ცაგერის", + "ცაიშის", + "ცემის", + "ციმაკურიძის", + "ცინცაძე კალისტრატეს", + "ცისარტკელას", + "ცისკრის", + "ციხისძირის", + "ცოდნისკარის", + "ცურტაველი იაკობის", + "ცუცქირიძის", + "ცხემის", + "ცხვედაძის", + "ცხრა აპრილის", + "ცხრა ძმის", + "ძეგამის", + "ძევერის", + "ძმობის", + "ძოწენიძის", + "წავკისის", + "წალენჯიხის", + "წალკის", + "წაღვერის", + "წერეთლის", + "წერნაკის", + "წერონისის", + "წიკლაურის", + "წინამძღვრიშვილის", + "წინამძღვრიშვილის", + "წინანაურის", + "წინანდლის", + "წინაუბნის", + "წიწამურის", + "წმ. ნიკოლოზის", + "წნორისწყლის", + "წრომის", + "წულაძის", + "წულუკიძის", + "წურწუმიას", + "წუწუნავას", + "წუწხვატის", + "წყალსადენის", + "წყალტუბოს", + "წყაროს", + "ჭაბუკიანი ვახტანგის", + "ჭავჭავაძე ზურაბის", + "ჭავჭავაძე ალექსანდრეს", + "ჭალადიდის", + "ჭანტურია გიას", + "ჭიათურის", + "ჭიაურელი მიხეილის", + "ჭიჭინაძე ზაქარიას", + "ჭოველიძე თამარის", + "ჭონქაძე დანიელის", + "ჭოპორტის", + "ჭოროხის", + "ჭრებალოს", + "ჭრელაშვილის", + "ხაბეიშვილის", + "ხაზინის", + "ხანძთელი გრიგოლის", + "ხარაბაძის", + "ხარაგაულის", + "ხარფუხის", + "ხაჩატურიანის", + "ხევის", + "ხევისუბნის", + "ხევსურეთის", + "ხევძმარის", + "ხეთაგუროვის", + "ხერგიანის", + "ხერთვისის", + "ხერხეულიძეების", + "ხეჩუაშვილის", + "ხვამლის", + "ხვანჭკარის", + "ხვედელიანის", + "ხვინგიას", + "ხვიჩია იპოლიტეს", + "ხიდის", + "ხიდისთავის", + "ხივინის", + "ხიმშიაშვილის", + "ხმელნიცკის", + "ხოდაშენის", + "ხომლელის", + "ხონის", + "ხორავა აკაკის", + "ხორნაბუჯის", + "ხოშარაულის", + "ხრამჰესის", + "ხრესილის", + "ხუდადოვის", + "ჯაბაურის", + "ჯაბიძის", + "ჯავახეთის", + "ჯავახიშვილი ივანეს", + "ჯავახიშვილი მიხეილის", + "ჯავის", + "ჯამბულის", + "ჯანაშვილის", + "ჯანაშიას", + "ჯანჯღავას", + "ჯვარედინის", + "პოლიტკოვსკაიას", + "ჯიქიას", + "ჯორბენაძის", + "ჯორჯაძის", + "ჰოსპიტალის", ) # Source: List of cities and towns in Georgia (Wikipedia) # https://en.wikipedia.org/wiki/List_of_cities_and_towns_in_Georgia_(country) city_names = ( - 'აბაშა', 'ამბროლაური', 'ახალი ათონი', 'ახალქალაქი', 'ახალციხე', - 'ახმეტა', 'ბათუმი', 'ბაღდათი', 'ბოლნისი', 'ბორჯომი', 'გაგრა', 'გალი', - 'გარდაბანი', 'გორი', 'გუდაუთა', 'გურჯაანი', 'დედოფლისწყარო', 'დმანისი', - 'დუშეთი', 'ვალე', 'ვანი', 'ზესტაფონი', 'ზუგდიდი', 'თბილისი', - 'თეთრიწყარო', 'თელავი', 'თერჯოლა', 'კასპი', 'ლაგოდეხი', 'ლანჩხუთი', - 'მარნეული', 'მარტვილი', 'მცხეთა', 'ნინოწმინდა', 'ოზურგეთი', 'ონი', - 'ოჩამჩირე', 'რუსთავი', 'საგარეჯო', 'სამტრედია', 'საჩხერე', 'სენაკი', - 'სიღნაღი', 'სოხუმი', 'ტყვარჩელი', 'ტყიბული', 'ფოთი', 'ქარელი', - 'ქობულეთი', 'ქუთაისი', 'ყვარელი', 'ცაგერი', 'ცხინვალი', 'წალენჯიხა', - 'წალკა', 'წნორი', 'წყალტუბო', 'ჭიათურა', 'ხაშური', 'ხობი', 'ხონი', - 'ჯვარი', + "აბაშა", + "ამბროლაური", + "ახალი ათონი", + "ახალქალაქი", + "ახალციხე", + "ახმეტა", + "ბათუმი", + "ბაღდათი", + "ბოლნისი", + "ბორჯომი", + "გაგრა", + "გალი", + "გარდაბანი", + "გორი", + "გუდაუთა", + "გურჯაანი", + "დედოფლისწყარო", + "დმანისი", + "დუშეთი", + "ვალე", + "ვანი", + "ზესტაფონი", + "ზუგდიდი", + "თბილისი", + "თეთრიწყარო", + "თელავი", + "თერჯოლა", + "კასპი", + "ლაგოდეხი", + "ლანჩხუთი", + "მარნეული", + "მარტვილი", + "მცხეთა", + "ნინოწმინდა", + "ოზურგეთი", + "ონი", + "ოჩამჩირე", + "რუსთავი", + "საგარეჯო", + "სამტრედია", + "საჩხერე", + "სენაკი", + "სიღნაღი", + "სოხუმი", + "ტყვარჩელი", + "ტყიბული", + "ფოთი", + "ქარელი", + "ქობულეთი", + "ქუთაისი", + "ყვარელი", + "ცაგერი", + "ცხინვალი", + "წალენჯიხა", + "წალკა", + "წნორი", + "წყალტუბო", + "ჭიათურა", + "ხაშური", + "ხობი", + "ხონი", + "ჯვარი", ) - def street_title(self): + def street_title(self) -> str: return self.random_element(self.street_titles) - def city_name(self): + def city_name(self) -> str: return self.random_element(self.city_names) diff --git a/faker/providers/address/ko_KR/__init__.py b/faker/providers/address/ko_KR/__init__.py index 2368870680..925085318e 100644 --- a/faker/providers/address/ko_KR/__init__.py +++ b/faker/providers/address/ko_KR/__init__.py @@ -43,401 +43,568 @@ class Provider(AddressProvider): """ building_suffixes = ( - '빌라', - '아파트', - '연립', - '마을', - '타운', - '타워', + "빌라", + "아파트", + "연립", + "마을", + "타운", + "타워", ) - road_suffixes = ('로', '길', '거리', '가') - town_suffixes = ('동', '읍', '면', '리', '마을') - postcode_formats = ('###-###',) - new_postal_code_formats = ('#####',) + road_suffixes = ("로", "길", "거리", "가") + town_suffixes = ("동", "읍", "면", "리", "마을") + postcode_formats = ("###-###",) + new_postal_code_formats = ("#####",) metropolitan_cities = ( - '서울특별시', - '부산광역시', - '대구광역시', - '인천광역시', - '광주광역시', - '대전광역시', - '울산광역시', - '세종특별자치시', + "서울특별시", + "부산광역시", + "대구광역시", + "인천광역시", + "광주광역시", + "대전광역시", + "울산광역시", + "세종특별자치시", ) provinces = ( - '경기도', - '강원도', - '충청북도', - '충청남도', - '전라북도', - '전라남도', - '경상북도', - '경상남도', - '제주특별자치도', + "경기도", + "강원도", + "충청북도", + "충청남도", + "전라북도", + "전라남도", + "경상북도", + "경상남도", + "제주특별자치도", ) cities = ( - '파주시', - '수원시', - '수원시 권선구', - '수원시 팔달구', - '수원시 영통구', - '성남시', - '성남시 수정구', - '성남시 중원구', - '화성시', - '성남시 분당구', - '안양시', - '안양시 만안구', - '안양시 동안구', - '부천시', - '부천시 원미구', - '부천시 소사구', - '부천시 오정구', - '광명시', - '평택시', - '이천시', - '동두천시', - '안산시', - '안산시 상록구', - '안산시 단원구', - '안성시', - '고양시', - '고양시 덕양구', - '고양시 일산동구', - '고양시 일산서구', - '과천시', - '구리시', - '남양주시', - '오산시', - '시흥시', - '군포시', - '의왕시', - '하남시', - '김포시', - '용인시', - '용인시 처인구', - '용인시 기흥구', - '용인시 수지구', - '연천군', - '가평군', - '양평군', - '광주시', - '포천시', - '양주시', - '수원시 장안구', - '의정부시', - '여주시', - '춘천시', - '원주시', - '강릉시', - '동해시', - '태백시', - '속초시', - '삼척시', - '홍천군', - '횡성군', - '영월군', - '평창군', - '정선군', - '철원군', - '화천군', - '양구군', - '인제군', - '고성군', - '양양군', - '천안시 동남구', - '천안시 서북구', - '공주시', - '보령시', - '아산시', - '서산시', - '논산시', - '계룡시', - '당진시', - '금산군', - '부여군', - '서천군', - '청양군', - '홍성군', - '예산군', - '태안군', - '청주시 상당구', - '청주시 서원구', - '청주시 흥덕구', - '청주시 청원구', - '충주시', - '제천시', - '보은군', - '옥천군', - '영동군', - '증평군', - '진천군', - '괴산군', - '음성군', - '단양군', + "파주시", + "수원시", + "수원시 권선구", + "수원시 팔달구", + "수원시 영통구", + "성남시", + "성남시 수정구", + "성남시 중원구", + "화성시", + "성남시 분당구", + "안양시", + "안양시 만안구", + "안양시 동안구", + "부천시", + "부천시 원미구", + "부천시 소사구", + "부천시 오정구", + "광명시", + "평택시", + "이천시", + "동두천시", + "안산시", + "안산시 상록구", + "안산시 단원구", + "안성시", + "고양시", + "고양시 덕양구", + "고양시 일산동구", + "고양시 일산서구", + "과천시", + "구리시", + "남양주시", + "오산시", + "시흥시", + "군포시", + "의왕시", + "하남시", + "김포시", + "용인시", + "용인시 처인구", + "용인시 기흥구", + "용인시 수지구", + "연천군", + "가평군", + "양평군", + "광주시", + "포천시", + "양주시", + "수원시 장안구", + "의정부시", + "여주시", + "춘천시", + "원주시", + "강릉시", + "동해시", + "태백시", + "속초시", + "삼척시", + "홍천군", + "횡성군", + "영월군", + "평창군", + "정선군", + "철원군", + "화천군", + "양구군", + "인제군", + "고성군", + "양양군", + "천안시 동남구", + "천안시 서북구", + "공주시", + "보령시", + "아산시", + "서산시", + "논산시", + "계룡시", + "당진시", + "금산군", + "부여군", + "서천군", + "청양군", + "홍성군", + "예산군", + "태안군", + "청주시 상당구", + "청주시 서원구", + "청주시 흥덕구", + "청주시 청원구", + "충주시", + "제천시", + "보은군", + "옥천군", + "영동군", + "증평군", + "진천군", + "괴산군", + "음성군", + "단양군", ) road_names = ( - '압구정', - '도산대', - '학동', - '봉은사', - '테헤란', - '역삼', - '논현', - '언주', - '강남대', - '양재천', - '삼성', - '영동대', - '개포', - '선릉', - '반포대', - '서초중앙', - '서초대', - '잠실', - '석촌호수', - '백제고분', - '가락', - '오금', + "압구정", + "도산대", + "학동", + "봉은사", + "테헤란", + "역삼", + "논현", + "언주", + "강남대", + "양재천", + "삼성", + "영동대", + "개포", + "선릉", + "반포대", + "서초중앙", + "서초대", + "잠실", + "석촌호수", + "백제고분", + "가락", + "오금", ) boroughs = ( - '종로구', - '중구', - '용산구', - '성동구', - '광진구', - '동대문구', - '중랑구', - '성북구', - '강북구', - '도봉구', - '노원구', - '은평구', - '서대문구', - '마포구', - '양천구', - '강서구', - '구로구', - '금천구', - '영등포구', - '동작구', - '관악구', - '서초구', - '강남구', - '송파구', - '강동구', - '동구', - '서구', - '남구', - '북구', + "종로구", + "중구", + "용산구", + "성동구", + "광진구", + "동대문구", + "중랑구", + "성북구", + "강북구", + "도봉구", + "노원구", + "은평구", + "서대문구", + "마포구", + "양천구", + "강서구", + "구로구", + "금천구", + "영등포구", + "동작구", + "관악구", + "서초구", + "강남구", + "송파구", + "강동구", + "동구", + "서구", + "남구", + "북구", + ) + countries = ( + "가나", + "가봉", + "가이아나", + "감비아", + "과테말라", + "그레나다", + "그리스", + "기니", + "기니비사우", + "나미비아", + "나우루", + "나이지리아", + "남수단", + "남아프리카 공화국", + "네덜란드 왕국", + "네팔", + "노르웨이", + "뉴질랜드", + "니제르", + "니카라과", + "대한민국", + "덴마크", + "도미니카 공화국", + "도미니카 연방", + "독일", + "동티모르", + "라오스", + "라이베리아", + "라트비아", + "러시아", + "레바논", + "레소토", + "루마니아", + "룩셈부르크", + "르완다", + "리비아", + "리투아니아", + "리히텐슈타인", + "마다가스카르", + "마셜 제도", + "마케도니아 공화국", + "말라위", + "말레이시아", + "말리", + "멕시코", + "모나코", + "모로코", + "모리셔스", + "모리타니", + "모잠비크", + "몬테네그로", + "몰도바", + "몰디브", + "몰타", + "몽골", + "미국", + "미얀마", + "미크로네시아 연방", + "바누아투", + "바레인", + "바베이도스", + "바하마", + "방글라데시", + "베냉", + "베네수엘라", + "베트남", + "벨기에", + "벨라루스", + "벨리즈", + "보스니아 헤르체고비나", + "보츠와나", + "볼리비아", + "부룬디", + "부르키나파소", + "부탄", + "불가리아", + "브라질", + "브루나이", + "사모아", + "사우디아라비아", + "산마리노", + "상투메 프린시페", + "세네갈", + "세르비아", + "세이셸", + "세인트루시아", + "세인트빈센트 그레나딘", + "세인트키츠 네비스", + "소말리아", + "솔로몬 제도", + "수단", + "수리남", + "스리랑카", + "스와질란드", + "스웨덴", + "스위스", + "스페인", + "슬로바키아", + "슬로베니아", + "시리아", + "시에라리온 공화국", + "싱가포르", + "아랍에미리트", + "아르메니아", + "아르헨티나", + "아이슬란드", + "아이티", + "아일랜드", + "아제르바이잔", + "아프가니스탄", + "안도라", + "알바니아", + "알제리", + "앙골라", + "앤티가 바부다", + "에리트레아", + "에스토니아", + "에콰도르", + "에티오피아", + "엘살바도르", + "영국", + "예멘", + "오만", + "오스트레일리아", + "오스트리아", + "온두라스", + "요르단", + "우간다", + "우루과이", + "우즈베키스탄", + "우크라이나", + "이라크", + "이란", + "이스라엘", + "이집트", + "이탈리아", + "인도네시아", + "일본", + "자메이카", + "잠비아", + "적도 기니", + "조선민주주의인민공화국", + "조지아", + "중앙아프리카 공화국", + "중화인민공화국", + "지부티", + "짐바브웨", + "차드", + "체코", + "칠레", + "카메룬", + "카보베르데", + "카자흐스탄", + "카타르", + "캄보디아", + "캐나다", + "케냐", + "코모로", + "코스타리카", + "코트디부아르", + "콜롬비아", + "콩고 공화국", + "콩고 민주 공화국", + "쿠바", + "쿠웨이트", + "크로아티아", + "키르기스스탄", + "키리바시", + "키프로스", + "타이", + "타지키스탄", + "탄자니아", + "터키", + "토고", + "통가", + "투르크메니스탄", + "투발루", + "튀니지", + "트리니다드 토바고", + "파나마", + "파라과이", + "파키스탄", + "파푸아 뉴기니", + "팔라우", + "페루", + "포르투갈", + "폴란드", + "프랑스", + "피지", + "핀란드", + "필리핀", + "헝가리", ) - countries = ('가나', '가봉', '가이아나', '감비아', '과테말라', '그레나다', '그리스', '기니', '기니비사우', - '나미비아', '나우루', '나이지리아', '남수단', '남아프리카 공화국', '네덜란드 왕국', '네팔', - '노르웨이', '뉴질랜드', '니제르', '니카라과', '대한민국', '덴마크', '도미니카 공화국', - '도미니카 연방', '독일', '동티모르', '라오스', '라이베리아', '라트비아', '러시아', '레바논', - '레소토', '루마니아', '룩셈부르크', '르완다', '리비아', '리투아니아', '리히텐슈타인', - '마다가스카르', '마셜 제도', '마케도니아 공화국', '말라위', '말레이시아', '말리', '멕시코', - '모나코', '모로코', '모리셔스', '모리타니', '모잠비크', '몬테네그로', '몰도바', '몰디브', - '몰타', '몽골', '미국', '미얀마', '미크로네시아 연방', '바누아투', '바레인', '바베이도스', - '바하마', '방글라데시', '베냉', '베네수엘라', '베트남', '벨기에', '벨라루스', '벨리즈', - '보스니아 헤르체고비나', '보츠와나', '볼리비아', '부룬디', '부르키나파소', '부탄', '불가리아', - '브라질', '브루나이', '사모아', '사우디아라비아', '산마리노', '상투메 프린시페', '세네갈', - '세르비아', '세이셸', '세인트루시아', '세인트빈센트 그레나딘', '세인트키츠 네비스', - '소말리아', '솔로몬 제도', '수단', '수리남', '스리랑카', '스와질란드', '스웨덴', '스위스', - '스페인', '슬로바키아', '슬로베니아', '시리아', '시에라리온 공화국', '싱가포르', - '아랍에미리트', '아르메니아', '아르헨티나', '아이슬란드', '아이티', '아일랜드', - '아제르바이잔', '아프가니스탄', '안도라', '알바니아', '알제리', '앙골라', '앤티가 바부다', - '에리트레아', '에스토니아', '에콰도르', '에티오피아', '엘살바도르', '영국', '예멘', '오만', - '오스트레일리아', '오스트리아', '온두라스', '요르단', '우간다', '우루과이', '우즈베키스탄', - '우크라이나', '이라크', '이란', '이스라엘', '이집트', '이탈리아', '인도네시아', '일본', - '자메이카', '잠비아', '적도 기니', '조선민주주의인민공화국', '조지아', '중앙아프리카 공화국', - '중화인민공화국', '지부티', '짐바브웨', '차드', '체코', '칠레', '카메룬', '카보베르데', - '카자흐스탄', '카타르', '캄보디아', '캐나다', '케냐', '코모로', '코스타리카', '코트디부아르', - '콜롬비아', '콩고 공화국', '콩고 민주 공화국', '쿠바', '쿠웨이트', '크로아티아', - '키르기스스탄', '키리바시', '키프로스', '타이', '타지키스탄', '탄자니아', '터키', - '토고', '통가', '투르크메니스탄', '투발루', '튀니지', '트리니다드 토바고', '파나마', - '파라과이', '파키스탄', '파푸아 뉴기니', '팔라우', '페루', '포르투갈', '폴란드', '프랑스', - '피지', '핀란드', '필리핀', '헝가리', - ) building_dongs = ( - '가', - '나', - '다', - '라', - '마', - '바', - '##', - '###', + "가", + "나", + "다", + "라", + "마", + "바", + "##", + "###", ) + tuple(ALPHABET) land_numbers = ( - '###', - '###-#', - '###-##', + "###", + "###-#", + "###-##", ) road_numbers = ( - '#', - '##', - '###', + "#", + "##", + "###", ) town_formats = ( - '{{first_name}}{{last_name}}{{town_suffix}}', - '{{first_name}}{{last_name}}{{last_name}}{{town_suffix}}', + "{{first_name}}{{last_name}}{{town_suffix}}", + "{{first_name}}{{last_name}}{{last_name}}{{town_suffix}}", ) building_name_formats = ( - '{{first_name}}{{last_name}}{{building_suffix}}', - '{{first_name}}{{last_name}}{{last_name}}{{building_suffix}}', + "{{first_name}}{{last_name}}{{building_suffix}}", + "{{first_name}}{{last_name}}{{last_name}}{{building_suffix}}", ) address_detail_formats = ( - '{{building_name}}', - '{{building_name}} ###호', - '{{building_name}} {{building_dong}}동 ###호', + "{{building_name}}", + "{{building_name}} ###호", + "{{building_name}} {{building_dong}}동 ###호", ) road_formats = ( - '{{road_name}}{{road_suffix}}', - '{{road_name}}{{road_number}}{{road_suffix}}', + "{{road_name}}{{road_suffix}}", + "{{road_name}}{{road_number}}{{road_suffix}}", ) road_address_formats = ( - '{{metropolitan_city}} {{borough}} {{road}}', - '{{province}} {{city}} {{road}}', - '{{metropolitan_city}} {{borough}} {{road}} ({{town}})', - '{{province}} {{city}} {{road}} ({{town}})', + "{{metropolitan_city}} {{borough}} {{road}}", + "{{province}} {{city}} {{road}}", + "{{metropolitan_city}} {{borough}} {{road}} ({{town}})", + "{{province}} {{city}} {{road}} ({{town}})", ) land_address_formats = ( - '{{metropolitan_city}} {{borough}} {{town}} {{land_number}}', - '{{province}} {{city}} {{town}} {{land_number}}', + "{{metropolitan_city}} {{borough}} {{town}} {{land_number}}", + "{{province}} {{city}} {{town}} {{land_number}}", ) # Keep backward compatibility - city_suffixes = ('시',) + city_suffixes = ("시",) street_suffixes = road_suffixes - street_name_formats = ('{{road_name}}',) + street_name_formats = ("{{road_name}}",) street_address_formats = road_address_formats address_formats = road_address_formats - def land_number(self): + def land_number(self) -> str: """ :example 507 """ return self.bothify(self.random_element(self.land_numbers)) - def land_address(self): + def land_address(self) -> str: """ :example 세종특별자치시 어진동 507 """ - pattern = self.random_element(self.land_address_formats) + pattern: str = self.random_element(self.land_address_formats) return self.generator.parse(pattern) - def road_number(self): + def road_number(self) -> str: """ :example 24 """ return self.bothify(self.random_element(self.road_numbers)) - def road_address(self): + def road_address(self) -> str: """ :example 세종특별자치시 도움5로 19 (어진동) """ - pattern = self.random_element(self.road_address_formats) + pattern: str = self.random_element(self.road_address_formats) return self.generator.parse(pattern) - def address_detail(self): + def address_detail(self) -> str: """ :example 가나아파트 가동 102호 """ - pattern = self.bothify(self.random_element( - self.address_detail_formats)) + pattern: str = self.bothify(self.random_element(self.address_detail_formats)) return self.generator.parse(pattern) - def road(self): + def road(self) -> str: """ :example 도움5로 """ - pattern = self.random_element(self.road_formats) + pattern: str = self.random_element(self.road_formats) return self.generator.parse(pattern) - def road_name(self): + def road_name(self) -> str: """ :example 압구정 """ return self.random_element(self.road_names) - def road_suffix(self): + def road_suffix(self) -> str: """ :example 길 """ return self.random_element(self.road_suffixes) - def metropolitan_city(self): + def metropolitan_city(self) -> str: """ :example 서울특별시 """ return self.random_element(self.metropolitan_cities) - def province(self): + def administrative_unit(self) -> str: """ :example 경기도 """ return self.random_element(self.provinces) - def city(self): + province = administrative_unit + + def city(self) -> str: """ :example 고양시 """ - pattern = self.random_element(self.cities) + pattern: str = self.random_element(self.cities) return self.generator.parse(pattern) - def borough(self): + def borough(self) -> str: """ :example 중구 """ return self.random_element(self.boroughs) - def town(self): + def town(self) -> str: """ :example 가나동 """ - pattern = self.random_element(self.town_formats) + pattern: str = self.random_element(self.town_formats) return self.generator.parse(pattern) - def town_suffix(self): + def town_suffix(self) -> str: """ :example 동 """ return self.random_element(self.town_suffixes) - def building_name(self): + def building_name(self) -> str: """ :example 김구아파트 """ - pattern = self.random_element(self.building_name_formats) + pattern: str = self.random_element(self.building_name_formats) return self.generator.parse(pattern) - def building_suffix(self): + def building_suffix(self) -> str: """ :example 아파트 """ return self.random_element(self.building_suffixes) - def building_dong(self): + def building_dong(self) -> str: """ :example 가 """ return self.bothify(self.random_element(self.building_dongs)) - def old_postal_code(self): + def old_postal_code(self) -> str: """ :example 123-456 """ return self.bothify(self.random_element(self.postcode_formats)) - def postcode(self): + def postcode(self) -> str: """ :example 12345 """ return self.bothify(self.random_element(self.new_postal_code_formats)) - def postal_code(self): + def postal_code(self) -> str: """ :example 12345 """ diff --git a/faker/providers/address/ne_NP/__init__.py b/faker/providers/address/ne_NP/__init__.py index acff4d3513..50ea22f0a9 100644 --- a/faker/providers/address/ne_NP/__init__.py +++ b/faker/providers/address/ne_NP/__init__.py @@ -2,597 +2,619 @@ class Provider(AddressProvider): - building_number_formats = ('#', '##', '###') - street_name_formats = ('{{last_name}} {{street_suffix}}',) - street_address_formats = ('{{street_name}}',) - city_formats = ('{{city}}',) + building_number_formats = ("#", "##", "###") + street_name_formats = ("{{last_name}} {{street_suffix}}",) + street_address_formats = ("{{street_name}}",) + city_formats = ("{{city}}",) # http://www.nepalpost.gov.np/index.php/postal-codes-of-nepal - postcode_formats = ('#####',) + postcode_formats = ("#####",) - address_formats = ( - "{{street_name}} {{building_prefix}} {{building_number}} \n{{city}}\n{{district}} {{postcode}}", - ) + address_formats = ("{{street_name}} {{building_prefix}} {{building_number}} \n{{city}}\n{{district}} {{postcode}}",) street_suffixes = ( - 'मार्ग', - 'आश्रम', - 'बाटो', - 'पथ', - 'गल्ली', - 'गेट', - 'हाईट', - 'टार', - 'रोड', - 'कुना', - 'चौर', - 'निवास', + "मार्ग", + "आश्रम", + "बाटो", + "पथ", + "गल्ली", + "गेट", + "हाईट", + "टार", + "रोड", + "कुना", + "चौर", + "निवास", ) - building_prefixes = ('वडा', 'घर') + building_prefixes = ("वडा", "घर") # https://en.wikipedia.org/wiki/List_of_sovereign_states countries = ( - 'अंगोला', - 'अक्रोटिरी र धेकेलिया', - 'अजरबैजान', - 'अफगानिस्तान', - 'अमेरिकी सामोआ', - 'अरुबा', - 'अर्जेन्टिना', - 'अर्मेनिया', - 'अलडेर्नी', - 'अल्जेरिया', - 'अल्बानिया', - 'अस्ट्रिया', - 'अस्ट्रेलिया', - 'आइजल अफ म्यान', - 'आइभोरी कोस्ट', - 'आइसल्याण्ड', - 'आजाद कश्मीर', - 'आयरल्याण्ड', - 'इक्वेटोरियल गिनी', - 'इक्वेडर', - 'इजरायल', - 'इटाली', - 'इण्डोनेशिया', - 'इथियोपिया', - 'इराक', - 'इरान', - 'इस्टोनिया', - 'उज्बेकिस्तान', - 'उत्तर कोरिया', - 'उत्तरी मारिआना टापु', - 'उत्तरी साइप्रस', - 'उरुग्वे', - 'एङगुइला', - 'एण्डोरा', - 'एन्टिगुआ र बर्बुडा', - 'एरिट्रिया', - 'एल साल्भादोर', - 'एशमोर र कर्टियर टापु', - 'ओमान', - 'कजाख्स्तान', - 'कतार', - 'कम्बोडिया', - 'किरिबाटी', - 'किर्गिजस्तान', - 'कुक द्वीप', - 'कुराकाओ', - 'कुवैत', - 'केन्या', - 'केप भर्ड', - 'केम्यान टापु', - 'कोकोस टापु', - 'कोटे डी आइभोरी', - 'कोमोरोस', - 'कोरल सी टापु क्षेत्र', - 'कोलम्बिया', - 'कोसोभो', - 'कोस्टारिका', - 'क्यानडा', - 'क्यामेरून', - 'क्युबा', - 'क्रिसमस टापु', - 'क्रोएसिया', - 'क्लिप्परटन द्वीप', - 'क्वीन माउड ल्याण्ड', - 'गणतन्त्र कङ्गो', - 'गणतन्त्र कोरिया', - 'गणतन्त्र स्पर्स्का', - 'गाबोन', - 'गिनी', - 'गिब्राल्टार', - 'गिलगीत', - 'गुयना', - 'गुर्न्जी', - 'ग्रिनाडा', - 'ग्रीनल्याण्ड', - 'ग्रीस', - 'ग्वाटेमाला', - 'ग्वाम', - 'घाना', - 'चाड', - 'चिली', - 'चीन', - 'चेक गणतन्त्र', - 'जमैका', - 'जर्मनी', - 'जर्सी', - 'जापान', - 'जाम्बिया', - 'जिबुटी', - 'जोर्डन', - 'टर्की', - 'टिमोर', - 'टुभालु', - 'टुर्क्स तथा काइकोस टापु', - 'टोंगा', - 'टोकेलाउ', - 'टोगो', - 'ट्युनिसिया', - 'ट्रान्सनिसट्रिया', - 'ट्रिनिडाड र टोबागो', - 'डेनमार्क', - 'डोमिनिकन गणतन्त्र', - 'डोमिनिका', - 'तन्जानिया', - 'ताइवान', - 'ताजिकिस्तान', - 'तुर्कमेनिस्तान', - 'थाइल्याण्ड', - 'दक्षिण अफ्रिका', - 'दक्षिण ओसेटिया', - 'दक्षिण कोरिया', - 'दक्षिण जर्जिया तथा दक्षिण स्याण्डवीच टापु', - 'दक्षिणी सुडान', - 'नर्वे', - 'नर्वेको', - 'नाइजर', - 'नाइजेरिया', - 'नाउरु', - 'नागोर्नो', - 'नामिबिया', - 'निकाराग्वा', - 'नियु', - 'नेदरल्याण्ड', - 'नेपाल', - 'नोर्फोक टापु', - 'न्यु क्यालोडेनिया', - 'न्युजिल्यान्ड', - 'पपुवा न्युगिनी', - 'पलाउ', - 'पाकिस्तान', - 'पानामा', - 'पाराग्वे', - 'पिटकेर्न टापु', - 'पिटर द्वीप', - 'पूर्वी टिमोर', - 'पेरु', - 'पोर्चुगल', - 'पोल्याण्ड', - 'प्यालेस्टाइन', - 'प्युर्तो रिको', - 'प्रजातान्त्रिक गणतन्त्र कंगो', - 'प्रजातान्त्रिक गणतन्त्र कोरिया', - 'प्रिडेनेस्ट्रोभी', - 'फकल्याण्ड टापु', - 'फरोइ टापु', - 'फिजी', - 'फिनल्याण्ड', - 'फिलिपिन्स', - 'फ्रान्स', - 'फ्रेन्च दक्षिणी र अन्टार्कटिक द्वीप', - 'फ्रेन्च पोलिनेसिया', - 'बंगलादेश', - 'बर्मा', - 'बर्मुडा', - 'बहराइन', - 'बहामस', - 'बार्बाडोस', - 'बुरुन्डी', - 'बुर्किना फासो', - 'बुल्गेरिया', - 'बेनिन', - 'बेलारूस', - 'बेलिज', - 'बेल्जियम', - 'बोत्स्वाना', - 'बोलिभिया', - 'बोस्निया र हर्जगोभिना', - 'बोस्निया र हर्जगोभिना संघ', - 'बौभेट द्वीप', - 'ब्राजिल', - 'ब्रिटिस भर्जिन टापु', - 'ब्रुनेई', - 'भानुअटु', - 'भारत', - 'भियतनाम', - 'भुटान', - 'भेनेजुएला', - 'भ्याटिकन', - 'भ्याटिकन सिटी', - 'मकाउ', - 'मङ्गोलिया', - 'मध्य अफ्रिकी गणतन्त्र', - 'मलावी', - 'मलेशिया', - 'माइक्रोनेसियाको संघीय राज्य', - 'माडागास्कर', - 'मार्शल द्वीप', - 'माली', - 'माल्टा', - 'माल्दिभ्स', - 'मिश्र', - 'मेक्सिको', - 'मोजाम्बिक', - 'मोनाको', - 'मोन्टसेराट', - 'मोन्टेनेग्रो', - 'मोरक्को', - 'मोल्डोभा', - 'मौरिसनिया', - 'मौरिसस', - 'म्यानमार', - 'म्यासेडोनिया', - 'यमन', - 'युक्रेन', - 'युगान्डा', - 'रसिया', - 'रुवाण्डा', - 'रोमानिया', - 'रोस डिपेन्डेन्सी', - 'लक्जेम्बर्ग', - 'लाईबेरिया', - 'लाओस', - 'लात्भिया', - 'लिचटेन्स्टाइन', - 'लिथुआनिया', - 'लिबिया', - 'लेबनान', - 'लेसोथो', - 'वाल्लिस र फुटुना', - 'श्रीलंका', - 'संघीय राज्य माइक्रोनेसिया', - 'संयुक्त अधिराज्य', - 'संयुक्त अरब इमिरेट्स', - 'संयुक्त राज्य अमेरिका', - 'संयुक्त राज्य भर्जिन टापु', - 'सर्बिया', - 'साइप्रस', - 'साउदी अरब', - 'साओ टोमे र प्रिन्सिपे', - 'सान मारिनो', - 'साबा', - 'सामोआ', - 'साहरवी अरब लोकतान्त्रिक गणतन्त्र', - 'सिंगापुर', - 'सिन्ट मार्टिन', - 'सीरियन कुर्दिस्तान', - 'सीरिया', - 'सुडान', - 'सुरिनेम', - 'सेनेगल', - 'सेन्ट किट्स र नेभिस', - 'सेन्ट पियेर्रे र मिकुएलन', - 'सेन्ट बार्थेलेमी', - 'सेन्ट भिन्सेन्ट र ग्रेनाडाइन्स', - 'सेन्ट मार्टिन', - 'सेन्ट लुसिया', - 'सेन्ट हेलेना', - 'सेरा लियोन', - 'सेसेल्स', - 'सोमालिया', - 'सोमालील्याण्ड', - 'सोलोमन द्वीप', - 'स्पेन', - 'स्लोभाकिया', - 'स्लोभेनिया', - 'स्वाजिल्याण्ड', - 'स्विजरल्याण्ड', - 'स्वीडेन', - 'हंगेरी', - 'हङकङ', - 'हर्म', - 'हाइटी', - 'हेयर्ड द्वीप र म्याकडोनाल्ड टापु', - 'होन्डुरस', - 'अबखाजिया', - 'जर्जिया', + "अंगोला", + "अक्रोटिरी र धेकेलिया", + "अजरबैजान", + "अफगानिस्तान", + "अमेरिकी सामोआ", + "अरुबा", + "अर्जेन्टिना", + "अर्मेनिया", + "अलडेर्नी", + "अल्जेरिया", + "अल्बानिया", + "अस्ट्रिया", + "अस्ट्रेलिया", + "आइजल अफ म्यान", + "आइभोरी कोस्ट", + "आइसल्याण्ड", + "आजाद कश्मीर", + "आयरल्याण्ड", + "इक्वेटोरियल गिनी", + "इक्वेडर", + "इजरायल", + "इटाली", + "इण्डोनेशिया", + "इथियोपिया", + "इराक", + "इरान", + "इस्टोनिया", + "उज्बेकिस्तान", + "उत्तर कोरिया", + "उत्तरी मारिआना टापु", + "उत्तरी साइप्रस", + "उरुग्वे", + "एङगुइला", + "एण्डोरा", + "एन्टिगुआ र बर्बुडा", + "एरिट्रिया", + "एल साल्भादोर", + "एशमोर र कर्टियर टापु", + "ओमान", + "कजाख्स्तान", + "कतार", + "कम्बोडिया", + "किरिबाटी", + "किर्गिजस्तान", + "कुक द्वीप", + "कुराकाओ", + "कुवैत", + "केन्या", + "केप भर्ड", + "केम्यान टापु", + "कोकोस टापु", + "कोटे डी आइभोरी", + "कोमोरोस", + "कोरल सी टापु क्षेत्र", + "कोलम्बिया", + "कोसोभो", + "कोस्टारिका", + "क्यानडा", + "क्यामेरून", + "क्युबा", + "क्रिसमस टापु", + "क्रोएसिया", + "क्लिप्परटन द्वीप", + "क्वीन माउड ल्याण्ड", + "गणतन्त्र कङ्गो", + "गणतन्त्र कोरिया", + "गणतन्त्र स्पर्स्का", + "गाबोन", + "गिनी", + "गिब्राल्टार", + "गिलगीत", + "गुयना", + "गुर्न्जी", + "ग्रिनाडा", + "ग्रीनल्याण्ड", + "ग्रीस", + "ग्वाटेमाला", + "ग्वाम", + "घाना", + "चाड", + "चिली", + "चीन", + "चेक गणतन्त्र", + "जमैका", + "जर्मनी", + "जर्सी", + "जापान", + "जाम्बिया", + "जिबुटी", + "जोर्डन", + "टर्की", + "टिमोर", + "टुभालु", + "टुर्क्स तथा काइकोस टापु", + "टोंगा", + "टोकेलाउ", + "टोगो", + "ट्युनिसिया", + "ट्रान्सनिसट्रिया", + "ट्रिनिडाड र टोबागो", + "डेनमार्क", + "डोमिनिकन गणतन्त्र", + "डोमिनिका", + "तन्जानिया", + "ताइवान", + "ताजिकिस्तान", + "तुर्कमेनिस्तान", + "थाइल्याण्ड", + "दक्षिण अफ्रिका", + "दक्षिण ओसेटिया", + "दक्षिण कोरिया", + "दक्षिण जर्जिया तथा दक्षिण स्याण्डवीच टापु", + "दक्षिणी सुडान", + "नर्वे", + "नर्वेको", + "नाइजर", + "नाइजेरिया", + "नाउरु", + "नागोर्नो", + "नामिबिया", + "निकाराग्वा", + "नियु", + "नेदरल्याण्ड", + "नेपाल", + "नोर्फोक टापु", + "न्यु क्यालोडेनिया", + "न्युजिल्यान्ड", + "पपुवा न्युगिनी", + "पलाउ", + "पाकिस्तान", + "पानामा", + "पाराग्वे", + "पिटकेर्न टापु", + "पिटर द्वीप", + "पूर्वी टिमोर", + "पेरु", + "पोर्चुगल", + "पोल्याण्ड", + "प्यालेस्टाइन", + "प्युर्तो रिको", + "प्रजातान्त्रिक गणतन्त्र कंगो", + "प्रजातान्त्रिक गणतन्त्र कोरिया", + "प्रिडेनेस्ट्रोभी", + "फकल्याण्ड टापु", + "फरोइ टापु", + "फिजी", + "फिनल्याण्ड", + "फिलिपिन्स", + "फ्रान्स", + "फ्रेन्च दक्षिणी र अन्टार्कटिक द्वीप", + "फ्रेन्च पोलिनेसिया", + "बंगलादेश", + "बर्मा", + "बर्मुडा", + "बहराइन", + "बहामस", + "बार्बाडोस", + "बुरुन्डी", + "बुर्किना फासो", + "बुल्गेरिया", + "बेनिन", + "बेलारूस", + "बेलिज", + "बेल्जियम", + "बोत्स्वाना", + "बोलिभिया", + "बोस्निया र हर्जगोभिना", + "बोस्निया र हर्जगोभिना संघ", + "बौभेट द्वीप", + "ब्राजिल", + "ब्रिटिस भर्जिन टापु", + "ब्रुनेई", + "भानुअटु", + "भारत", + "भियतनाम", + "भुटान", + "भेनेजुएला", + "भ्याटिकन", + "भ्याटिकन सिटी", + "मकाउ", + "मङ्गोलिया", + "मध्य अफ्रिकी गणतन्त्र", + "मलावी", + "मलेशिया", + "माइक्रोनेसियाको संघीय राज्य", + "माडागास्कर", + "मार्शल द्वीप", + "माली", + "माल्टा", + "माल्दिभ्स", + "मिश्र", + "मेक्सिको", + "मोजाम्बिक", + "मोनाको", + "मोन्टसेराट", + "मोन्टेनेग्रो", + "मोरक्को", + "मोल्डोभा", + "मौरिसनिया", + "मौरिसस", + "म्यानमार", + "म्यासेडोनिया", + "यमन", + "युक्रेन", + "युगान्डा", + "रसिया", + "रुवाण्डा", + "रोमानिया", + "रोस डिपेन्डेन्सी", + "लक्जेम्बर्ग", + "लाईबेरिया", + "लाओस", + "लात्भिया", + "लिचटेन्स्टाइन", + "लिथुआनिया", + "लिबिया", + "लेबनान", + "लेसोथो", + "वाल्लिस र फुटुना", + "श्रीलंका", + "संघीय राज्य माइक्रोनेसिया", + "संयुक्त अधिराज्य", + "संयुक्त अरब इमिरेट्स", + "संयुक्त राज्य अमेरिका", + "संयुक्त राज्य भर्जिन टापु", + "सर्बिया", + "साइप्रस", + "साउदी अरब", + "साओ टोमे र प्रिन्सिपे", + "सान मारिनो", + "साबा", + "सामोआ", + "साहरवी अरब लोकतान्त्रिक गणतन्त्र", + "सिंगापुर", + "सिन्ट मार्टिन", + "सीरियन कुर्दिस्तान", + "सीरिया", + "सुडान", + "सुरिनेम", + "सेनेगल", + "सेन्ट किट्स र नेभिस", + "सेन्ट पियेर्रे र मिकुएलन", + "सेन्ट बार्थेलेमी", + "सेन्ट भिन्सेन्ट र ग्रेनाडाइन्स", + "सेन्ट मार्टिन", + "सेन्ट लुसिया", + "सेन्ट हेलेना", + "सेरा लियोन", + "सेसेल्स", + "सोमालिया", + "सोमालील्याण्ड", + "सोलोमन द्वीप", + "स्पेन", + "स्लोभाकिया", + "स्लोभेनिया", + "स्वाजिल्याण्ड", + "स्विजरल्याण्ड", + "स्वीडेन", + "हंगेरी", + "हङकङ", + "हर्म", + "हाइटी", + "हेयर्ड द्वीप र म्याकडोनाल्ड टापु", + "होन्डुरस", + "अबखाजिया", + "जर्जिया", ) # cities are taken from # https://en.wikipedia.org/wiki/List_of_cities_in_Nepal cities = ( - 'मिर्चैया', - 'प्युठान', - 'कञ्चनपुर', - 'लुम्बिनी सांस्कृतिक', - 'बागलुङ', - 'इलाम', - 'भक्तपुर', - 'भद्रपुर', - 'घोराही', - 'स्याङ्जा', - 'खैरहानी नगरपालिका', - 'म्याग्दी', - 'रंगेली', - 'काठमाडौं', - 'शनि-अर्जुन', - 'पर्वत', - 'सप्तरी', - 'पनौती', - 'जयपृथ्वी', - 'लहान', - 'वालिङ', - 'बर्दघाट', - 'डोटी', - 'धरान', - 'पथरी शनिश्चरे', - 'चन्दननाथ', - 'नवलपरासी', - 'किर्तिपुर', - 'दैलेख', - 'सुनसरी', - 'बेलौरी', - 'कुस्मा', - 'मकवानपुर', - 'कञ्चनरूप', - 'गुलरिया', - 'टीकापुर', - 'राजापुर', - 'फिदिम', - 'खोटाङ', - 'धनुषाधाम', - 'झापा', - 'पुनर्वास', - 'भक्तपुर', - 'बर्दिया', - 'बागलुङ', - 'दमक', - 'तेह्रथुम', - 'नारायण', - 'ताप्लेजुङ', - 'तानसेन', - 'पाँचखाल', - 'बनेपा', - 'म्याङ्लुङ', - 'ललितपुर', - 'दिपायल', - 'अपी', - 'दाङ', - 'सन्धिखर्क', - 'धनकुटा', - 'बिरेन्द्रनगर', - 'गौर', - 'मोरङ', - 'सङ्खुवासभा', - 'लम्की-चुहा', - 'बारा', - 'हरिवन नगरपालिका', - 'मलङ्वा', - 'सिराहा', - 'जनकपुर', - 'सल्यान', - 'सिन्धुपाल्चोक', - 'दुल्लु', - 'ओखलढुङ्गा', - 'पाल्पा', - 'इटहरी', - 'रेसुङगा', - 'कृष्णनगर', - 'शुक्लगण्डकी', - 'नुवाकोट', - 'साँफेबगर', - 'राजविराज', - 'नेपालगंज', - 'भिमेश्वर', - 'ताप्लेजुङ', - 'धुलिखेल', - 'व्यास', - 'भोजपुर', - 'धादिङ', - 'बेनी', - 'अर्घाखाँची', - 'भीमदत्त', - 'रौतहट', - 'जलेश्वर', - 'देवदह', - 'बेलवारी', - 'बुटवल', - 'सुर्खेत', - 'मङ्गलसेन', - 'कैलाली', - 'धनकुटा', - 'रुपन्देही', - 'सल्यान', - 'रामपुर', - 'बिराटनगर', - 'चौतारा', - 'देवचुली', - 'कपिलवस्तु', - 'सुनवल', - 'शिवराज', - 'चम्पापुर (चापागाउँ)', - 'भरतपुर', - 'गढिमाई', - 'उर्लावारी', - 'लेखनाथ', - 'सिद्धिचरण', - 'मेचीनगर', - 'चित्रवन', - 'कास्की', - 'गौशाला', - 'पुतलीबजार', - 'बिदुर', - 'शम्भुनाथ', - 'पर्सा', - 'प्युठान', - 'निजगढ', - 'डडेलधुरा', - 'कन्काई', - 'गैंडाकोट', - 'पाल्पा', - 'कार्यविनायक*', - 'तिलोत्तमा', - 'तुलसीपुर', - 'वीरगञ्ज', - 'शंखरपुर*', - 'अत्तरिया', - 'बझाङ', - 'मन्थली*', - 'कपिलवस्तु', - 'कटारी', - 'हेटौडा', - 'कलैया', - 'सुन्दर दुलारी', - 'सिन्धुली', - 'थाहा', - 'बाँके', - 'ललितपुर', - 'दार्चुला', - 'पोखरा', - 'बन्दीपुर', - 'सर्लाही', - 'कोहलपुर', - 'सैनामैना', - 'अमरागढी', - 'उदयपुर', - 'काठमाडौं', - 'सुर्योदय', - 'सिराहा', - 'महोत्तरी', - 'धनगढी', - 'शारदा', - 'काभ्रेपलाञ्चोक', - 'त्रियुगा', - 'रामेछाप', - 'पाँचथर', - 'इलाम', - 'भोजपुर', - 'मध्यपुर ठिमी', - 'दुहवी-भलुवा', - 'दशरथचन्द', - 'बैतडी', - 'कोशी हरैंचा', - 'चापाकोट', - 'दिक्तेल', - 'चन्द्रपुर', - 'लालबन्दी', - 'चितवन', - 'रत्ननगर', - 'पृथ्वीनारायण', - 'धनुषा', - 'गुल्मी', - 'बेंसीशहर', - 'लमजुङ', - 'अछाम', - 'तनहुँ', - 'खाँदबारी', - 'बिर्तामोड', - 'कमलामाई', - 'छिरेश्वरनाथ', - 'सिद्धार्थनगर', - 'निलकण्ठ', - 'गोर्खा', - 'दोलखा', - 'रामग्राम', - 'इनरूवा', - 'कावासोती', - 'बेल्टार बसाहा', - 'जुम्ला', - 'ईश्वरपुर', + "मिर्चैया", + "प्युठान", + "कञ्चनपुर", + "लुम्बिनी सांस्कृतिक", + "बागलुङ", + "इलाम", + "भक्तपुर", + "भद्रपुर", + "घोराही", + "स्याङ्जा", + "खैरहानी नगरपालिका", + "म्याग्दी", + "रंगेली", + "काठमाडौं", + "शनि-अर्जुन", + "पर्वत", + "सप्तरी", + "पनौती", + "जयपृथ्वी", + "लहान", + "वालिङ", + "बर्दघाट", + "डोटी", + "धरान", + "पथरी शनिश्चरे", + "चन्दननाथ", + "नवलपरासी", + "किर्तिपुर", + "दैलेख", + "सुनसरी", + "बेलौरी", + "कुस्मा", + "मकवानपुर", + "कञ्चनरूप", + "गुलरिया", + "टीकापुर", + "राजापुर", + "फिदिम", + "खोटाङ", + "धनुषाधाम", + "झापा", + "पुनर्वास", + "भक्तपुर", + "बर्दिया", + "बागलुङ", + "दमक", + "तेह्रथुम", + "नारायण", + "ताप्लेजुङ", + "तानसेन", + "पाँचखाल", + "बनेपा", + "म्याङ्लुङ", + "ललितपुर", + "दिपायल", + "अपी", + "दाङ", + "सन्धिखर्क", + "धनकुटा", + "बिरेन्द्रनगर", + "गौर", + "मोरङ", + "सङ्खुवासभा", + "लम्की-चुहा", + "बारा", + "हरिवन नगरपालिका", + "मलङ्वा", + "सिराहा", + "जनकपुर", + "सल्यान", + "सिन्धुपाल्चोक", + "दुल्लु", + "ओखलढुङ्गा", + "पाल्पा", + "इटहरी", + "रेसुङगा", + "कृष्णनगर", + "शुक्लगण्डकी", + "नुवाकोट", + "साँफेबगर", + "राजविराज", + "नेपालगंज", + "भिमेश्वर", + "ताप्लेजुङ", + "धुलिखेल", + "व्यास", + "भोजपुर", + "धादिङ", + "बेनी", + "अर्घाखाँची", + "भीमदत्त", + "रौतहट", + "जलेश्वर", + "देवदह", + "बेलवारी", + "बुटवल", + "सुर्खेत", + "मङ्गलसेन", + "कैलाली", + "धनकुटा", + "रुपन्देही", + "सल्यान", + "रामपुर", + "बिराटनगर", + "चौतारा", + "देवचुली", + "कपिलवस्तु", + "सुनवल", + "शिवराज", + "चम्पापुर (चापागाउँ)", + "भरतपुर", + "गढिमाई", + "उर्लावारी", + "लेखनाथ", + "सिद्धिचरण", + "मेचीनगर", + "चित्रवन", + "कास्की", + "गौशाला", + "पुतलीबजार", + "बिदुर", + "शम्भुनाथ", + "पर्सा", + "प्युठान", + "निजगढ", + "डडेलधुरा", + "कन्काई", + "गैंडाकोट", + "पाल्पा", + "कार्यविनायक*", + "तिलोत्तमा", + "तुलसीपुर", + "वीरगञ्ज", + "शंखरपुर*", + "अत्तरिया", + "बझाङ", + "मन्थली*", + "कपिलवस्तु", + "कटारी", + "हेटौडा", + "कलैया", + "सुन्दर दुलारी", + "सिन्धुली", + "थाहा", + "बाँके", + "ललितपुर", + "दार्चुला", + "पोखरा", + "बन्दीपुर", + "सर्लाही", + "कोहलपुर", + "सैनामैना", + "अमरागढी", + "उदयपुर", + "काठमाडौं", + "सुर्योदय", + "सिराहा", + "महोत्तरी", + "धनगढी", + "शारदा", + "काभ्रेपलाञ्चोक", + "त्रियुगा", + "रामेछाप", + "पाँचथर", + "इलाम", + "भोजपुर", + "मध्यपुर ठिमी", + "दुहवी-भलुवा", + "दशरथचन्द", + "बैतडी", + "कोशी हरैंचा", + "चापाकोट", + "दिक्तेल", + "चन्द्रपुर", + "लालबन्दी", + "चितवन", + "रत्ननगर", + "पृथ्वीनारायण", + "धनुषा", + "गुल्मी", + "बेंसीशहर", + "लमजुङ", + "अछाम", + "तनहुँ", + "खाँदबारी", + "बिर्तामोड", + "कमलामाई", + "छिरेश्वरनाथ", + "सिद्धार्थनगर", + "निलकण्ठ", + "गोर्खा", + "दोलखा", + "रामग्राम", + "इनरूवा", + "कावासोती", + "बेल्टार बसाहा", + "जुम्ला", + "ईश्वरपुर", ) + # district taken from + # https://www.election.gov.np/election/np/district-wise-constituency-map.html districts = ( - 'अछाम', - 'अर्घाखाँची', - 'इलाम', - 'उदयपुर', - 'ओखलढुङ्गा', - 'कञ्चनपुर', - 'कपिलवस्तु', - 'काठमाडौं', - 'काभ्रेपलाञ्चोक', - 'कालीकोट', - 'कास्की', - 'कैलाली', - 'खोटाङ', - 'गुल्मी', - 'गोर्खा', - 'चितवन', - 'जाजरकोट', - 'जुम्ला', - 'झापा', - 'डडेल्धुरा', - 'डोटी', - 'डोल्पा', - 'तनहुँ', - 'ताप्लेजुङ', - 'तेह्रथुम', - 'दाङ', - 'दार्चुला', - 'दैलेख', - 'दोलखा', - 'धनकुटा', - 'धनुषा', - 'धादिङ', - 'नवलपरासी', - 'नुवाकोट', - 'पर्वत', - 'पर्सा', - 'पाँचथर', - 'पाल्पा', - 'प्युठान', - 'बझाङ', - 'बर्दिया', - 'बाँके', - 'बाग्लुङ', - 'बाजुरा', - 'बारा', - 'भक्तपुर', - 'भोजपुर', - 'मकवानपुर', - 'मनाङ', - 'महोत्तरी', - 'मुगु', - 'मुस्ताङ', - 'मोरङ', - 'म्याग्दी', - 'रसुवा', - 'रामेछाप', - 'रुकुम', - 'रूपन्देही', - 'रोल्पा', - 'रौतहट', - 'लमजुङ्', - 'ललितपुर', - 'वैतडी', - 'संखुवासभा', - 'सप्तरी', - 'सर्लाही', - 'सल्यान', - 'सिन्धुपलाञ्चोक', - 'सिन्धुली', - 'सिराहा', - 'सुनसरी', - 'सुर्खेत', - 'सोलुखुम्बु', - 'स्याङ्जा', - 'हुम्ला', + "अछाम", + "अर्घाखाँची", + "इलाम", + "उदयपुर", + "ओखलढुङ्गा", + "कञ्चनपुर", + "कपिलवस्तु", + "काठमाडौं", + "काभ्रेपलाञ्चोक", + "कालीकोट", + "कास्की", + "कैलाली", + "खोटाङ", + "गुल्मी", + "गोर्खा", + "चितवन", + "जाजरकोट", + "जुम्ला", + "झापा", + "डडेल्धुरा", + "डोटी", + "डोल्पा", + "तनहुँ", + "ताप्लेजुङ", + "तेह्रथुम", + "दाङ", + "दार्चुला", + "दैलेख", + "दोलखा", + "धनकुटा", + "धनुषा", + "धादिङ", + "नवलपरासी (बर्दघाट सुस्ता पूर्व)", + "नवलपरासी (बर्दघाट सुस्ता पश्चिम)", + "नुवाकोट", + "पर्वत", + "पर्सा", + "पाँचथर", + "पाल्पा", + "प्युठान", + "बझाङ", + "बर्दिया", + "बाँके", + "बाग्लुङ", + "बाजुरा", + "बारा", + "भक्तपुर", + "भोजपुर", + "मकवानपुर", + "मनाङ", + "महोत्तरी", + "मुगु", + "मुस्ताङ", + "मोरङ", + "म्याग्दी", + "रसुवा", + "रामेछाप", + "‍रुकुम पूर्व", + "रुकुम पश्चिम", + "रूपन्देही", + "रोल्पा", + "रौतहट", + "लमजुङ्", + "ललितपुर", + "वैतडी", + "संखुवासभा", + "सप्तरी", + "सर्लाही", + "सल्यान", + "सिन्धुपलाञ्चोक", + "सिन्धुली", + "सिराहा", + "सुनसरी", + "सुर्खेत", + "सोलुखुम्बु", + "स्याङ्जा", + "हुम्ला", + ) + + # province taken from + # https://ne.wikipedia.org/wiki/%E0%A4%A8%E0%A5%87%E0%A4%AA%E0%A4%BE%E0%A4%B2%E0%A4%95%E0%A4%BE_%E0%A4%AA%E0%A5%8D%E0%A4%B0%E0%A4%A6%E0%A5%87%E0%A4%B6%E0%A4%B9%E0%A4%B0%E0%A5%82 # noqa: E501 + provinces = ( + "प्रदेश नं १", + "प्रदेश नं २", + "बाग्मती प्रदेश", + "गण्डकी प्रदेश", + "प्रदेश नं ५", + "कर्णाली प्रदेश", + "सुदूरपश्चिम प्रदेश", ) - def district(self): + def administrative_unit(self) -> str: + """ + :example सुदूरपश्चिम प्रदेश + """ + return self.random_element(self.provinces) + + province = administrative_unit + + def district(self) -> str: """ :example अछाम """ return self.random_element(self.districts) - def city(self): + def city(self) -> str: """ - :example कावासोत + :example कावासोती """ return self.random_element(self.cities) - def building_prefix(self): + def building_prefix(self) -> str: """ :example वडा """ diff --git a/faker/providers/address/nl_BE/__init__.py b/faker/providers/address/nl_BE/__init__.py index b2d814af3f..d37219f92c 100644 --- a/faker/providers/address/nl_BE/__init__.py +++ b/faker/providers/address/nl_BE/__init__.py @@ -2,576 +2,3046 @@ class Provider(AddressProvider): - building_number_formats = ('#', '##', '###', '#', '##', '###') + building_number_formats = ("#", "##", "###", "#", "##", "###") street_suffixes = ( - 'baan', 'boulevard', 'dreef', 'hof', 'laan', 'lei', 'pad', - 'ring', 'singel', 'steeg', 'straat', 'weg', + "baan", + "boulevard", + "dreef", + "hof", + "laan", + "lei", + "pad", + "ring", + "singel", + "steeg", + "straat", + "weg", ) # the 4 digit numerical part of Belgium postal codes is between 1000 and 9999; # see https://nl.wikipedia.org/wiki/Postcode#Postnummers_in_België - postcode_formats = ('%###',) + postcode_formats = ("%###",) - city_formats = ('{{city}}',) + city_formats = ("{{city}}",) # countries are from http://nl.wikipedia.org/wiki/ISO_3166-1 countries = ( - 'Afghanistan', 'Albanië', 'Algerije', 'Amerikaans-Samoa', - 'Amerikaanse Maagdeneilanden', 'Andorra', 'Angola', 'Anguilla', - 'Antarctica', 'Antigua en Barbuda', 'Argentinië', 'Armenië', 'Aruba', - 'Australië', 'Azerbeidzjan', "Bahama's", 'Bahrein', 'Bangladesh', - 'Barbados', 'België', 'Belize', 'Benin', 'Bermuda', 'Bhutan', - 'Bolivia', 'Bonaire, Sint Eustatius en Saba', 'Bosnië en Herzegovina', - 'Botswana', 'Bouveteiland', 'Brazilië', - 'Brits Indische Oceaanterritorium', 'Britse Maagdeneilanden', 'Brunei', - 'Bulgarije', 'Burkina Faso', 'Burundi', 'Cambodja', 'Canada', - 'Centraal-Afrikaanse Republiek', 'Chili', 'China', 'Christmaseiland', - 'Cocoseilanden', 'Colombia', 'Comoren', 'Congo-Brazzaville', - 'Congo-Kinshasa', 'Cookeilanden', 'Costa Rica', 'Cuba', 'Curaçao', - 'Cyprus', 'Denemarken', 'Djibouti', 'Dominica', - 'Dominicaanse Republiek', 'Duitsland', 'Ecuador', 'Egypte', - 'El Salvador', 'Equatoriaal-Guinea', 'Eritrea', 'Estland', 'Ethiopië', - 'Faeröer', 'Falklandeilanden', 'Fiji', 'Filipijnen', 'Finland', - 'Frankrijk', 'Frans-Guyana', 'Frans-Polynesië', - 'Franse Zuidelijke en Antarctische Gebieden', 'Gabon', 'Gambia', - 'Georgië', 'Ghana', 'Gibraltar', 'Grenada', 'Griekenland', 'Groenland', - 'Guadeloupe', 'Guam', 'Guatemala', 'Guernsey', 'Guinee', - 'Guinee-Bissau', 'Guyana', 'Haïti', 'Heard en McDonaldeilanden', - 'Honduras', 'Hongarije', 'Hongkong', 'IJsland', 'Ierland', 'India', - 'Indonesië', 'Irak', 'Iran', 'Israël', 'Italië', 'Ivoorkust', - 'Jamaica', 'Japan', 'Jemen', 'Jersey', 'Jordanië', 'Kaaimaneilanden', - 'Kaapverdië', 'Kameroen', 'Kazachstan', 'Kenia', 'Kirgizië', - 'Kiribati', 'Kleine Pacifische eilanden van de Verenigde Staten', - 'Koeweit', 'Kroatië', 'Laos', 'Lesotho', 'Letland', 'Libanon', - 'Liberia', 'Libië', 'Liechtenstein', 'Litouwen', 'Luxemburg', 'Macau', - 'Macedonië', 'Madagaskar', 'Malawi', 'Maldiven', 'Maleisië', 'Mali', - 'Malta', 'Man', 'Marokko', 'Marshalleilanden', 'Martinique', - 'Mauritanië', 'Mauritius', 'Mayotte', 'Mexico', 'Micronesia', - 'Moldavië', 'Monaco', 'Mongolië', 'Montenegro', 'Montserrat', - 'Mozambique', 'Myanmar', 'Namibië', 'Nauru', 'Nederland', 'Nepal', - 'Nicaragua', 'Nieuw-Caledonië', 'Nieuw-Zeeland', 'Niger', 'Nigeria', - 'Niue', 'Noord-Korea', 'Noordelijke Marianen', 'Noorwegen', 'Norfolk', - 'Oeganda', 'Oekraïne', 'Oezbekistan', 'Oman', 'Oost-Timor', - 'Oostenrijk', 'Pakistan', 'Palau', 'Palestina', 'Panama', - 'Papoea-Nieuw-Guinea', 'Paraguay', 'Peru', 'Pitcairneilanden', 'Polen', - 'Portugal', 'Puerto Rico', 'Qatar', 'Roemenië', 'Rusland', 'Rwanda', - 'Réunion', 'Saint Kitts en Nevis', 'Saint Lucia', - 'Saint Vincent en de Grenadines', 'Saint-Barthélemy', - 'Saint-Pierre en Miquelon', 'Salomonseilanden', 'Samoa', 'San Marino', - 'Sao Tomé en Principe', 'Saoedi-Arabië', 'Senegal', 'Servië', - 'Seychellen', 'Sierra Leone', 'Singapore', 'Sint Maarten', - 'Sint-Helena, Ascension en Tristan da Cunha', 'Sint-Maarten', - 'Slovenië', 'Slowakije', 'Soedan', 'Somalië', 'Spanje', - 'Spitsbergen en Jan Mayen', 'Sri Lanka', 'Suriname', 'Swaziland', - 'Syrië', 'Tadzjikistan', 'Taiwan', 'Tanzania', 'Thailand', 'Togo', - 'Tokelau', 'Tonga', 'Trinidad en Tobago', 'Tsjaad', 'Tsjechië', - 'Tunesië', 'Turkije', 'Turkmenistan', 'Turks- en Caicoseilanden', - 'Tuvalu', 'Uruguay', 'Vanuatu', 'Vaticaanstad', 'Venezuela', - 'Verenigd Koninkrijk', 'Verenigde Arabische Emiraten', - 'Verenigde Staten', 'Vietnam', 'Wallis en Futuna', 'Westelijke Sahara', - 'Wit-Rusland', 'Zambia', 'Zimbabwe', 'Zuid-Afrika', - 'Zuid-Georgia en de Zuidelijke Sandwicheilanden', 'Zuid-Korea', - 'Zuid-Soedan', 'Zweden', 'Zwitserland', 'Åland', + "Afghanistan", + "Albanië", + "Algerije", + "Amerikaans-Samoa", + "Amerikaanse Maagdeneilanden", + "Andorra", + "Angola", + "Anguilla", + "Antarctica", + "Antigua en Barbuda", + "Argentinië", + "Armenië", + "Aruba", + "Australië", + "Azerbeidzjan", + "Bahama's", + "Bahrein", + "Bangladesh", + "Barbados", + "België", + "Belize", + "Benin", + "Bermuda", + "Bhutan", + "Bolivia", + "Bonaire, Sint Eustatius en Saba", + "Bosnië en Herzegovina", + "Botswana", + "Bouveteiland", + "Brazilië", + "Brits Indische Oceaanterritorium", + "Britse Maagdeneilanden", + "Brunei", + "Bulgarije", + "Burkina Faso", + "Burundi", + "Cambodja", + "Canada", + "Centraal-Afrikaanse Republiek", + "Chili", + "China", + "Christmaseiland", + "Cocoseilanden", + "Colombia", + "Comoren", + "Congo-Brazzaville", + "Congo-Kinshasa", + "Cookeilanden", + "Costa Rica", + "Cuba", + "Curaçao", + "Cyprus", + "Denemarken", + "Djibouti", + "Dominica", + "Dominicaanse Republiek", + "Duitsland", + "Ecuador", + "Egypte", + "El Salvador", + "Equatoriaal-Guinea", + "Eritrea", + "Estland", + "Ethiopië", + "Faeröer", + "Falklandeilanden", + "Fiji", + "Filipijnen", + "Finland", + "Frankrijk", + "Frans-Guyana", + "Frans-Polynesië", + "Franse Zuidelijke en Antarctische Gebieden", + "Gabon", + "Gambia", + "Georgië", + "Ghana", + "Gibraltar", + "Grenada", + "Griekenland", + "Groenland", + "Guadeloupe", + "Guam", + "Guatemala", + "Guernsey", + "Guinee", + "Guinee-Bissau", + "Guyana", + "Haïti", + "Heard en McDonaldeilanden", + "Honduras", + "Hongarije", + "Hongkong", + "IJsland", + "Ierland", + "India", + "Indonesië", + "Irak", + "Iran", + "Israël", + "Italië", + "Ivoorkust", + "Jamaica", + "Japan", + "Jemen", + "Jersey", + "Jordanië", + "Kaaimaneilanden", + "Kaapverdië", + "Kameroen", + "Kazachstan", + "Kenia", + "Kirgizië", + "Kiribati", + "Kleine Pacifische eilanden van de Verenigde Staten", + "Koeweit", + "Kroatië", + "Laos", + "Lesotho", + "Letland", + "Libanon", + "Liberia", + "Libië", + "Liechtenstein", + "Litouwen", + "Luxemburg", + "Macau", + "Macedonië", + "Madagaskar", + "Malawi", + "Maldiven", + "Maleisië", + "Mali", + "Malta", + "Man", + "Marokko", + "Marshalleilanden", + "Martinique", + "Mauritanië", + "Mauritius", + "Mayotte", + "Mexico", + "Micronesia", + "Moldavië", + "Monaco", + "Mongolië", + "Montenegro", + "Montserrat", + "Mozambique", + "Myanmar", + "Namibië", + "Nauru", + "Nederland", + "Nepal", + "Nicaragua", + "Nieuw-Caledonië", + "Nieuw-Zeeland", + "Niger", + "Nigeria", + "Niue", + "Noord-Korea", + "Noordelijke Marianen", + "Noorwegen", + "Norfolk", + "Oeganda", + "Oekraïne", + "Oezbekistan", + "Oman", + "Oost-Timor", + "Oostenrijk", + "Pakistan", + "Palau", + "Palestina", + "Panama", + "Papoea-Nieuw-Guinea", + "Paraguay", + "Peru", + "Pitcairneilanden", + "Polen", + "Portugal", + "Puerto Rico", + "Qatar", + "Roemenië", + "Rusland", + "Rwanda", + "Réunion", + "Saint Kitts en Nevis", + "Saint Lucia", + "Saint Vincent en de Grenadines", + "Saint-Barthélemy", + "Saint-Pierre en Miquelon", + "Salomonseilanden", + "Samoa", + "San Marino", + "Sao Tomé en Principe", + "Saoedi-Arabië", + "Senegal", + "Servië", + "Seychellen", + "Sierra Leone", + "Singapore", + "Sint Maarten", + "Sint-Helena, Ascension en Tristan da Cunha", + "Sint-Maarten", + "Slovenië", + "Slowakije", + "Soedan", + "Somalië", + "Spanje", + "Spitsbergen en Jan Mayen", + "Sri Lanka", + "Suriname", + "Swaziland", + "Syrië", + "Tadzjikistan", + "Taiwan", + "Tanzania", + "Thailand", + "Togo", + "Tokelau", + "Tonga", + "Trinidad en Tobago", + "Tsjaad", + "Tsjechië", + "Tunesië", + "Turkije", + "Turkmenistan", + "Turks- en Caicoseilanden", + "Tuvalu", + "Uruguay", + "Vanuatu", + "Vaticaanstad", + "Venezuela", + "Verenigd Koninkrijk", + "Verenigde Arabische Emiraten", + "Verenigde Staten", + "Vietnam", + "Wallis en Futuna", + "Westelijke Sahara", + "Wit-Rusland", + "Zambia", + "Zimbabwe", + "Zuid-Afrika", + "Zuid-Georgia en de Zuidelijke Sandwicheilanden", + "Zuid-Korea", + "Zuid-Soedan", + "Zweden", + "Zwitserland", + "Åland", ) # cities as listed on "postcodezoeker" # http://www.postcodes-maps.be/postcodelijst.php cities = ( - "'s Herenelderen", "'s-Gravenvoeren", "'s-Gravenwezel", "Aaigem", "Aalbeke", - "Aalst", "Aalter", "Aarschot", "Aarsele", "Aartrijke", "Aartselaar", "Abolens", - "Abée", "Achel", "Achet", "Achêne", "Acosse", "Acoz", "Adegem", "Adinkerke", - "Affligem", "Afsnee", "Agimont", "Aineffe", "Aische-en-Refail", "Aiseau", - "Aiseau-Presles", "Aisemont", "Alken", "Alle", "Alleur", "Alsemberg", - "Alveringem", "Amay", "Amberloup", "Ambly", "Ambresin", "Amel", "Amonines", - "Amougies", "Ampsin", "Andenne", "Anderlecht", "Anderlues", "Andrimont", - "Angleur", "Angre", "Angreau", "Anhée", "Anlier", "Anloy", "Annevoie-Rouillon", - "Ans", "Anseremme", "Anseroeul", "Antheit", "Anthisnes", "Anthée", "Antoing", - "Antwerpen", "Anvaing", "Anzegem", "Appels", "Appelterre-Eichem", "Arbre", - "Arbrefontaine", "Arc-Ainières", "Arc-Wattripont", "Archennes", "Ardooie", - "Arendonk", "Argenteau", "Arlon", "Arquennes", "Arsimont", "Arville", "As", - "Aspelare", "Asper", "Asquillies", "Asse", "Assebroek", "Assenede", "Assenois", - "Assent", "Assesse", "Astene", "Ath", "Athis", "Athus", "Attenhoven", "Attenrode", - "Attert", "Attre", "Aubange", "Aubechies", "Aubel", "Aublain", "Auby-sur-Semois", - "Audregnies", "Aulnois", "Autelbas", "Autre-Eglise", "Autreppe", "Auvelais", - "Ave-et-Auffe", "Avekapelle", "Avelgem", "Avennes", "Averbode", - "Avernas-le-Bauduin", "Avin", "Awans", "Awenne", "Awirs", "Aye", "Ayeneux", - "Aywaille", "Baaigem", "Baal", "Baardegem", "Baarle-Hertog", "Baasrode", - "Bachte-Maria-Leerne", "Baelen", "Bagimont", "Baileux", "Bailièvre", "Baillamont", - "Bailleul", "Baillonville", "Baisieux", "Baisy-Thy", "Balegem", "Balen", - "Balâtre", "Bambrugge", "Bande", "Barbençon", "Barchon", "Baronville", "Barry", - "Barvaux-Condroz", "Barvaux-sur-Ourthe", "Bas-Oha", "Basse-Bodeux", "Bassenge", - "Bassevelde", "Bassilly", "Bastogne", "Basècles", "Batsheers", "Battice", - "Battignies", "Baudour", "Bauffe", "Baugnies", "Baulers", "Bavegem", "Bavikhove", - "Bazel", "Beaufays", "Beaumont", "Beauraing", "Beausaint", "Beauvoorde", - "Beauwelz", "Beclers", "Beek", "Beerlegem", "Beernem", "Beerse", "Beersel", - "Beerst", "Beert", "Beervelde", "Beerzel", "Beez", "Beffe", "Begijnendijk", - "Beho", "Beigem", "Bekegem", "Bekkerzeel", "Bekkevoort", "Belgrade", "Bellaire", - "Bellecourt", "Bellefontaine", "Bellegem", "Bellem", "Bellevaux", - "Bellevaux-Ligneuville", "Bellingen", "Beloeil", "Belsele", "Ben-Ahin", "Bende", - "Berbroek", "Berchem", "Berendrecht", "Berg", "Bergilers", "Beringen", "Berlaar", - "Berlare", "Berlingen", "Berloz", "Berneau", "Bernissart", "Bersillies-l'Abbaye", - "Bertem", "Bertogne", "Bertrix", "Bertrée", "Berzée", "Beselare", "Betekom", - "Bettincourt", "Beuzet", "Bevekom", "Bevel", "Bever", "Bevercé", "Bevere", - "Beveren-Leie", "Beveren-Roeselare", "Beveren-Waas", "Beveren-aan-den-Ijzer", - "Beverlo", "Beverst", "Beyne-Heusay", "Bienne-lez-Happart", "Bierbeek", "Biercée", - "Bierges", "Bierghes", "Bierset", "Bierwart", "Biesme", "Biesme-sous-Thuin", - "Biesmerée", "Biez", "Bihain", "Bikschote", "Bilstain", "Bilzen", "Binche", - "Binderveld", "Binkom", "Bioul", "Bissegem", "Bizet", "Bièvre", "Blaasveld", - "Blaimont", "Blandain", "Blanden", "Blankenberge", "Blaregnies", "Blaton", - "Blaugies", "Blehen", "Bleid", "Bleret", "Blicquy", "Blégny", "Bléharies", - "Bocholt", "Boechout", "Boekhout", "Boekhoute", "Boezinge", "Bogaarden", "Bohan", - "Boignée", "Boirs", "Bois-d'Haine", "Bois-de-Lessines", "Bois-de-Villers", - "Bois-et-Borsu", "Bolinne", "Bolland", "Bomal", "Bomal-sur-Ourthe", "Bombaye", - "Bommershoven", "Bon-Secours", "Boncelles", "Boneffe", "Bonheiden", "Boninne", - "Bonlez", "Bonnert", "Bonneville", "Bonsin", "Booischot", "Booitshoeke", "Boom", - "Boorsem", "Boortmeerbeek", "Borchtlombeek", "Borgerhout", "Borgloon", "Borlez", - "Borlo", "Borlon", "Bornem", "Bornival", "Borsbeek", "Borsbeke", "Bossière", - "Bossuit", "Bossut-Gottechain", "Bost", "Bothey", "Bottelare", "Bouffioulx", - "Bouge", "Bougnies", "Bouillon", "Bourlers", "Bourseigne-Neuve", - "Bourseigne-Vieille", "Boussoit", "Boussu", "Boussu-en-Fagne", - "Boussu-lez-Walcourt", "Bousval", "Boutersem", "Bouvignes-sur-Meuse", - "Bouvignies", "Bouwel", "Bovekerke", "Bovelingen", "Bovenistier", "Bovesse", - "Bovigny", "Boëlhe", "Bra", "Braffe", "Braibant", "Braine-l'Alleud", - "Braine-le-Château", "Braine-le-Comte", "Braives", "Brakel", "Branchon", "Bras", - "Brasmenil", "Brasschaat", "Bray", "Brecht", "Bredene", "Bree", "Breendonk", - "Bressoux", "Briegden", "Brielen", "Broechem", "Broekom", "Brugelette", "Brugge", - "Brunehaut", "Brussegem", "Brussel", "Brustem", "Bruyelle", "Brye", "Brûly", - "Brûly-de-Pesche", "Budingen", "Buggenhout", "Buissenal", "Buissonville", - "Buizingen", "Buken", "Bulskamp", "Bunsbeek", "Burcht", "Burdinne", "Bure", - "Burg-Reuland", "Burst", "Bury", "Buvingen", "Buvrinnes", "Buzenol", "Buzet", - "Büllingen", "Bütgenbach", "Callenelle", "Calonne", "Cambron-Casteau", - "Cambron-Saint-Vincent", "Carlsbourg", "Carnières", "Casteau", "Castillon", - "Celles", "Cerfontaine", "Chaineux", "Chairière", "Champion", "Champlon", - "Chanly", "Chantemelle", "Chapelle-lez-Herlaimont", "Chapelle-à-Oie", - "Chapelle-à-Wattines", "Chapon-Seraing", "Charleroi", "Charneux", "Chassepierre", - "Chastre", "Chastre-Villeroux-Blanmont", "Chastrès", "Chaudfontaine", - "Chaumont-Gistoux", "Chaussée-Notre-Dame-Louvignies", "Cherain", "Cheratte", - "Chercq", "Chevetogne", "Chevron", "Chimay", "Chiny", "Chièvres", "Chokier", - "Châtelet", "Châtelineau", "Châtillon", "Chênée", "Ciergnon", "Ciney", "Ciplet", - "Ciply", "Clabecq", "Clavier", "Clermont", "Clermont-sous-Huy", "Cognelée", - "Colfontaine", "Comblain-Fairon", "Comblain-au-Pont", "Comblain-la-Tour", - "Conneux", "Corbais", "Corbion", "Cordes", "Corenne", "Cornesse", "Cornimont", - "Corroy-le-Château", "Corroy-le-Grand", "Corswarem", "Cortil-Noirmont", - "Cortil-Wodon", "Couillet", "Cour-sur-Heure", "Courcelles", "Courrière", - "Court-Saint-Etienne", "Couthuin", "Coutisse", "Couture-Saint-Germain", "Couvin", - "Cras-Avernas", "Crehen", "Crisnée", "Croix-lez-Rouveroy", "Crombach", "Crupet", - "Cuesmes", "Cugnon", "Cul-des-Sarts", "Custinne", "Cérexhe-Heuseux", - "Céroux-Mousty", "Dadizele", "Dailly", "Daknam", "Dalhem", "Damme", "Dampicourt", - "Dampremy", "Darion", "Daussois", "Daussoulx", "Dave", "Daverdisse", "De Haan", - "De Klinge", "De Moeren", "De Panne", "De Pinte", "Deerlijk", "Deftinge", - "Deinze", "Denderbelle", "Denderhoutem", "Denderleeuw", "Dendermonde", - "Denderwindeke", "Dentergem", "Denée", "Dergneau", "Dessel", "Desselgem", - "Destelbergen", "Desteldonk", "Deurle", "Deurne", "Deux-Acren", "Dhuy", - "Diepenbeek", "Diest", "Diets-Heur", "Dikkebus", "Dikkele", "Dikkelvenne", - "Diksmuide", "Dilbeek", "Dilsen-Stokkem", "Dinant", "Dion", "Dion-Valmont", - "Dison", "Dochamps", "Doel", "Dohan", "Doische", "Dolembreux", "Donceel", - "Dongelberg", "Donk", "Donstiennes", "Dorinne", "Dormaal", "Dottenijs", "Dour", - "Dourbes", "Dranouter", "Driekapellen", "Drieslinter", "Drogenbos", "Drongen", - "Dréhance", "Dudzele", "Duffel", "Duisburg", "Duras", "Durbuy", "Durnal", "Dworp", - "Eben-Emael", "Ebly", "Ecaussinnes", "Ecaussinnes-Lalaing", - "Ecaussinnes-d'Enghien", "Edegem", "Edelare", "Edingen", "Eeklo", "Eernegem", - "Egem", "Eggewaartskapelle", "Eghezée", "Ehein", "Eigenbilzen", "Eindhout", - "Eine", "Eisden", "Eke", "Ekeren", "Eksaarde", "Eksel", "Elen", "Elene", - "Elewijt", "Eliksem", "Elingen", "Ellemelle", "Ellezelles", - "Ellignies-Sainte-Anne", "Ellignies-lez-Frasnes", "Ellikom", "Elouges", "Elsegem", - "Elsenborn", "Elsene", "Elst", "Elverdinge", "Elversele", "Emblem", "Embourg", - "Emelgem", "Emines", "Emptinne", "Ename", "Engelmanshoven", "Engis", "Enines", - "Ensival", "Epinois", "Eppegem", "Eprave", "Erbaut", "Erbisoeul", "Ere", - "Erembodegem", "Erezée", "Ermeton-sur-Biert", "Ernage", "Erneuville", "Ernonheid", - "Erondegem", "Erpe", "Erpe-Mere", "Erpent", "Erpion", "Erps-Kwerps", - "Erquelinnes", "Erquennes", "Ertvelde", "Erwetegem", "Escanaffles", "Esen", - "Esneux", "Esplechin", "Esquelmes", "Essen", "Essene", "Estaimbourg", - "Estaimpuis", "Estinnes", "Estinnes-au-Mont", "Estinnes-au-Val", "Etalle", "Ethe", - "Etikhove", "Ettelgem", "Etterbeek", "Eugies", "Eupen", "Evegnée", "Evelette", - "Everbeek", "Everberg", "Evere", "Evergem", "Evregnies", "Evrehailles", - "Eynatten", "Ezemaal", "Fagnolle", "Faimes", "Falaën", "Falisolle", "Fallais", - "Falmagne", "Falmignoul", "Familleureux", "Farciennes", "Faulx-les-Tombes", - "Fauroeulx", "Fauvillers", "Faymonville", "Fays-les-Veneurs", "Fayt-le-Franc", - "Fayt-lez-Manage", "Felenne", "Feluy", "Feneur", "Fernelmont", "Ferrières", - "Feschaux", "Fexhe-Slins", "Fexhe-le-Haut-Clocher", "Filot", "Finnevaux", - "Fize-Fontaine", "Fize-le-Marsal", "Flamierge", "Flavion", "Flawinne", "Fleurus", - "Floreffe", "Florennes", "Florenville", "Floriffoux", "Florée", "Flostoy", - "Flémalle", "Flémalle-Grande", "Flémalle-Haute", "Flénu", "Fléron", "Flône", - "Focant", "Folx-les-Caves", "Fontaine-Valmont", "Fontaine-l'Evêque", "Fontenelle", - "Fontenoille", "Fontenoy", "Fooz", "Forchies-la-Marche", "Forest", "Forges", - "Forges-Philippe", "Forrières", "Forville", "Forêt", "Fosse", "Fosses-la-Ville", - "Fouleng", "Fourbechies", "Foy-Notre-Dame", "Fraipont", "Fraire", "Fraiture", - "Frameries", "Framont", "Franc-Waret", "Franchimont", "Francorchamps", "Franière", - "Frasnes", "Frasnes-lez-Anvaing", "Frasnes-lez-Buissenal", - "Frasnes-lez-Gosselies", "Freloux", "Freux", "Froidchapelle", "Froidfontaine", - "Froidmont", "Fronville", "Froyennes", "Fumal", "Furfooz", "Furnaux", "Gaasbeek", - "Gages", "Gallaix", "Galmaarden", "Ganshoren", "Gaurain-Ramecroix", "Gavere", - "Gedinne", "Geel", "Geer", "Geest-Gérompont-Petit-Rosière", "Geetbets", - "Gelbressée", "Gelinden", "Gellik", "Gelrode", "Geluveld", "Geluwe", "Gembes", - "Gembloux", "Gemmenich", "Genappe", "Genk", "Genly", "Genoelselderen", "Gent", - "Gentbrugge", "Gentinnes", "Genval", "Geraardsbergen", "Gerdingen", "Gerin", - "Gerpinnes", "Gestel", "Gesves", "Ghislenghien", "Ghlin", "Ghoy", "Gibecq", - "Gierle", "Gijverinkhove", "Gijzegem", "Gijzelbrechtegem", "Gijzenzele", "Gilly", - "Gimnée", "Gingelom", "Gistel", "Gits", "Givry", "Glabais", "Glabbeek-Zuurbemde", - "Glain", "Gleixhe", "Glimes", "Glons", "Gochenée", "Godarville", "Godinne", - "Godveerdegem", "Goeferdinge", "Goegnies-Chaussée", "Goesnes", "Goetsenhoven", - "Gomzé-Andoumont", "Gondregnies", "Gonrieux", "Gontrode", "Gooik", "Gors-Opleeuw", - "Gorsem", "Gosselies", "Gotem", "Gottem", "Gottignies", "Gougnies", "Gourdinne", - "Goutroux", "Gouvy", "Gouy-lez-Piéton", "Gozée", "Goé", "Graide", "Grammene", - "Grand-Axhe", "Grand-Hallet", "Grand-Halleux", "Grand-Leez", "Grand-Manil", - "Grand-Rechain", "Grand-Reng", "Grand-Rosière-Hottomont", "Grandglise", - "Grandhan", "Grandmenil", "Grandmetz", "Grandrieu", "Grandville", "Grandvoir", - "Grapfontaine", "Graty", "Graux", "Grazen", "Grembergen", "Grez-Doiceau", - "Grimbergen", "Grimminge", "Grivegnée", "Grobbendonk", "Groot-Bijgaarden", - "Groot-Gelmen", "Groot-Loon", "Gros-Fays", "Grosage", "Grote-Brogel", - "Grote-Spouwen", "Grotenberge", "Gruitrode", "Grune", "Grupont", "Grâce-Berleur", - "Grâce-Hollogne", "Guignies", "Guigoven", "Guirsch", "Gullegem", "Gutschoven", - "Gérompont", "Gérouville", "Haacht", "Haaltert", "Haasdonk", "Haasrode", "Habay", - "Habay-la-Neuve", "Habay-la-Vieille", "Habergy", "Haccourt", "Hachy", - "Hacquegnies", "Haillot", "Haine-Saint-Paul", "Haine-Saint-Pierre", "Hainin", - "Hakendover", "Halanzy", "Halen", "Hallaar", "Halle", "Halle-Booienhoven", - "Halleux", "Halma", "Halmaal", "Haltinne", "Ham", "Ham-sur-Heure", - "Ham-sur-Heure-Nalinnes", "Ham-sur-Sambre", "Hamipré", "Hamme", "Hamme-Mille", - "Hamoir", "Hamois", "Hamont", "Hamont-Achel", "Hampteau", "Han-sur-Lesse", - "Handzame", "Haneffe", "Hannut", "Hannêche", "Hanret", "Hansbeke", - "Hantes-Wihéries", "Hanzinelle", "Hanzinne", "Harchies", "Harelbeke", "Haren", - "Haren-Borgloon", "Haren-Tongeren", "Hargimont", "Harmignies", "Harnoncourt", - "Harre", "Harsin", "Harveng", "Harzé", "Hasselt", "Hastière", "Hastière-Lavaux", - "Hastière-par-Delà", "Hatrival", "Haulchin", "Hauset", "Haut-Fays", "Haut-Ittre", - "Haut-le-Wastia", "Hautrage", "Havay", "Havelange", "Haversin", "Havinnes", - "Havré", "Hechtel", "Hechtel-Eksel", "Heer", "Heers", "Hees", "Heestert", - "Heffen", "Heikruis", "Heindonk", "Heinsch", "Heist-aan-Zee", "Heist-op-den-Berg", - "Hekelgem", "Heks", "Helchteren", "Heldergem", "Helen-Bos", "Helkijn", - "Hellebecq", "Hemelveerdegem", "Hemiksem", "Hemptinne", "Hemptinne-lez-Florennes", - "Hendrieken", "Henis", "Hennuyères", "Henri-Chapelle", "Henripont", "Hensies", - "Heppen", "Heppenbach", "Heppignies", "Herbeumont", "Herchies", "Herderen", - "Herdersem", "Herent", "Herentals", "Herenthout", "Herfelingen", "Hergenrath", - "Herk-de-Stad", "Hermalle-sous-Argenteau", "Hermalle-sous-Huy", - "Hermeton-sur-Meuse", "Hermée", "Herne", "Herquegies", "Herseaux", "Herselt", - "Herstal", "Herstappe", "Hertain", "Herten", "Hertsberge", "Herve", "Herzele", - "Heule", "Heure", "Heure-le-Romain", "Heurne", "Heusden", "Heusden-Zolder", - "Heusy", "Heuvelland", "Hever", "Heverlee", "Heyd", "Hillegem", "Hingene", - "Hingeon", "Hives", "Hoboken", "Hodeige", "Hodister", "Hody", "Hoegaarden", - "Hoeilaart", "Hoeke", "Hoelbeek", "Hoeleden", "Hoepertingen", "Hoeselt", - "Hoevenen", "Hofstade", "Hogne", "Hognoul", "Hollain", "Hollange", "Hollebeke", - "Hollogne-aux-Pierres", "Hollogne-sur-Geer", "Holsbeek", "Hombeek", "Hombourg", - "Hompré", "Hondelange", "Honnay", "Honnelles", "Hooglede", "Hoogstade", - "Hoogstraten", "Horebeke", "Horion-Hozémont", "Hornu", "Horpmaal", "Horrues", - "Hotton", "Houdemont", "Houdeng-Aimeries", "Houdeng-Goegnies", "Houdremont", - "Houffalize", "Hour", "Housse", "Houtain-Saint-Siméon", "Houtain-le-Val", - "Houtaing", "Houtave", "Houtem", "Houthalen", "Houthalen-Helchteren", "Houthem", - "Houthulst", "Houtvenne", "Houwaart", "Houx", "Houyet", "Hove", "Hoves", - "Howardries", "Huccorgne", "Huise", "Huissignies", "Huizingen", "Huldenberg", - "Hulshout", "Hulsonniaux", "Hulste", "Humain", "Humbeek", "Hundelgem", "Huppaye", - "Huy", "Hyon", "Hélécine", "Hérinnes-lez-Pecq", "Héron", "Hévillers", "Ichtegem", - "Iddergem", "Idegem", "Ieper", "Impe", "Incourt", "Ingelmunster", "Ingooigem", - "Irchonwelz", "Isières", "Isnes", "Itegem", "Itterbeek", "Ittre", "Ivoz-Ramet", - "Izegem", "Izel", "Izenberge", "Izier", "Jabbeke", "Jalhay", "Jallet", "Jamagne", - "Jambes", "Jamiolle", "Jamioulx", "Jamoigne", "Jandrain-Jandrenouille", "Jauche", - "Jauchelette", "Javingue", "Jehay", "Jehonville", "Jemappes", "Jemelle", - "Jemeppe-sur-Meuse", "Jemeppe-sur-Sambre", "Jeneffe", "Jesseren", "Jette", "Jeuk", - "Jodoigne", "Jodoigne-Souveraine", "Jollain-Merlin", "Joncret", "Julémont", - "Jumet", "Jupille-sur-Meuse", "Juprelle", "Jurbise", "Juseret", "Kaaskerke", - "Kachtem", "Kaggevinne", "Kain", "Kalken", "Kallo", "Kallo-Kieldrecht", - "Kalmthout", "Kampenhout", "Kanegem", "Kanne", "Kapelle-op-den-Bos", "Kapellen", - "Kaprijke", "Kaster", "Kasterlee", "Kaulille", "Keerbergen", "Keiem", "Kelmis", - "Kemexhe", "Kemmel", "Kemzeke", "Kerkhove", "Kerkom", "Kerkom-bij-Sint-Truiden", - "Kerksken", "Kermt", "Kerniel", "Kersbeek-Miskom", "Kessel", "Kessel-Lo", - "Kessenich", "Kester", "Kettenis", "Keumiée", "Kieldrecht", "Kinrooi", - "Klein-Gelmen", "Kleine-Brogel", "Kleine-Spouwen", "Klemskerke", "Klerken", - "Kluisbergen", "Kluizen", "Knesselare", "Knokke", "Knokke-Heist", "Kobbegem", - "Koekelare", "Koekelberg", "Koersel", "Koksijde", "Kolmont-Borgloon", - "Kolmont-Tongeren", "Komen", "Komen-Waasten", "Koningshooikt", "Koninksem", - "Kontich", "Kooigem", "Koolkerke", "Koolskamp", "Korbeek-Dijle", "Korbeek-Lo", - "Kortemark", "Kortenaken", "Kortenberg", "Kortessem", "Kortijs", "Kortrijk", - "Kortrijk-Dutsel", "Kozen", "Kraainem", "Krombeke", "Kruibeke", "Kruishoutem", - "Kumtich", "Kuringen", "Kuttekoven", "Kuurne", "Kwaadmechelen", "Kwaremont", "La", - "La Bruyère", "La Glanerie", "La Gleize", "La Hestre", "La Hulpe", "La Louvière", - "La bouverie", "La-Roche-en-Ardenne", "Laakdal", "Laar", "Laarne", "Labuissière", - "Lacuisine", "Ladeuze", "Laforêt", "Lahamaide", "Laken", "Lamain", "Lambermont", - "Lambusart", "Lamine", "Lamontzée", "Lamorteau", "Lampernisse", "Lanaken", - "Lanaye", "Landegem", "Landelies", "Landen", "Landenne", "Landskouter", "Laneffe", - "Langdorp", "Langemark", "Langemark-Poelkapelle", "Lanklaar", "Lanquesaint", - "Lantin", "Lantremange", "Laplaigne", "Lapscheure", "Lasne", - "Lasne-Chapelle-Saint-Lambert", "Lathuy", "Latinne", "Latour", "Lauw", "Lauwe", - "Lavacherie", "Lavaux-Sainte-Anne", "Lavoir", "Le Mesniel", "Le Roeulx", - "Le Roux", "Lebbeke", "Lede", "Ledeberg", "Ledegem", "Leefdaal", "Leerbeek", - "Leernes", "Leers-Nord", "Leers-et-Fosteau", "Leest", "Leeuwergem", "Leffinge", - "Leignon", "Leisele", "Leke", "Lembeek", "Lembeke", "Lemberge", "Lendelede", - "Lennik", "Lens", "Lens-Saint-Remy", "Lens-Saint-Servais", "Lens-sur-Geer", - "Leopoldsburg", "Les Avins", "Les Bons", "Les Bulles", "Les Hayons", - "Les Waleffes", "Lesdain", "Lessines", "Lessive", "Lesterny", "Lesve", - "Lettelingen", "Letterhoutem", "Leugnies", "Leupegem", "Leut", "Leuven", "Leuze", - "Leuze-en-Hainaut", "Leval-Chaudeville", "Leval-Trahegnies", "Liberchies", - "Libin", "Libramont", "Libramont-Chevigny", "Lichtaart", "Lichtervelde", - "Liedekerke", "Lieferinge", "Lier", "Lierde", "Lierneux", "Liernu", "Liers", - "Liezele", "Ligne", "Ligney", "Ligny", "Lille", "Lillo", "Lillois-Witterzée", - "Limal", "Limbourg", "Limelette", "Limerlé", "Limont", "Lincent", "Linden", - "Linkebeek", "Linkhout", "Linsmeau", "Lint", "Linter", "Lippelo", "Lisogne", - "Lissewege", "Lives-sur-Meuse", "Lixhe", "Liège", "Lo", "Lo-Reninge", "Lobbes", - "Lochristi", "Lodelinsart", "Loenhout", "Loker", "Lokeren", "Loksbergen", - "Lombardsijde", "Lombise", "Lommel", "Lommersweiler", "Lompret", "Lomprez", - "Loncin", "Londerzeel", "Longchamps", "Longlier", "Longueville", "Longvilly", - "Lontzen", "Lonzée", "Loonbeek", "Loppem", "Lorcé", "Lot", "Lotenhulle", - "Louette-Saint-Denis", "Louette-Saint-Pierre", "Loupoigne", "Louvain-la-Neuve", - "Louveigné", "Lovendegem", "Lovenjoel", "Loverval", "Loyers", "Lubbeek", - "Luingne", "Lummen", "Lustin", "Luttre", "Léglise", "Maarke-Kerkem", "Maarkedal", - "Maaseik", "Maasmechelen", "Mabompré", "Machelen", "Macon", "Macquenoise", - "Maffe", "Maffle", "Magnée", "Maillen", "Mainvault", "Maisières", "Maissin", - "Maizeret", "Mal", "Maldegem", "Malderen", "Malempré", "Malle", "Malmedy", - "Malonne", "Malvoisin", "Malèves-Sainte-Marie-Wastines", "Manage", "Manderfeld", - "Manhay", "Mannekensvere", "Maransart", "Marbais", "Marbaix", "Marbehan", - "Marche-en-Famenne", "Marche-les-Dames", "Marche-lez-Ecaussinnes", - "Marchienne-au-Pont", "Marchin", "Marchipont", "Marchovelette", "Marcinelle", - "Marcourt", "Marenne", "Mariakerke", "Mariekerke", "Mariembourg", "Marilles", - "Mark", "Marke", "Markegem", "Marneffe", "Marquain", "Martelange", "Martenslinde", - "Martouzin-Neuville", "Masbourg", "Masnuy-Saint-Jean", "Masnuy-Saint-Pierre", - "Massemen", "Massenhoven", "Matagne-la-Grande", "Matagne-la-Petite", "Mater", - "Maubray", "Maulde", "Maurage", "Mazenzele", "Mazy", "Mazée", "Mechelen", - "Mechelen-Bovelingen", "Mechelen-aan-de-Maas", "Meeffe", "Meensel-Kiezegem", - "Meer", "Meerbeek", "Meerbeke", "Meerdonk", "Meerhout", "Meerle", "Meeswijk", - "Meetkerke", "Meeuwen", "Meeuwen-Gruitrode", "Mehaigne", "Meigem", "Meilegem", - "Meise", "Meix-devant-Virton", "Meix-le-Tige", "Melden", "Meldert", "Melen", - "Melkwezer", "Melle", "Mellery", "Melles", "Mellet", "Mellier", "Melsbroek", - "Melsele", "Melsen", "Membach", "Membre", "Membruggen", "Mendonk", "Menen", - "Merbes-Sainte-Marie", "Merbes-le-Château", "Merchtem", "Merdorp", "Mere", - "Merelbeke", "Merendree", "Merkem", "Merksem", "Merksplas", "Merlemont", "Mesen", - "Meslin-l'Evêque", "Mesnil-Eglise", "Mesnil-Saint-Blaise", "Mespelare", - "Messancy", "Messelbroek", "Mesvin", "Mettekoven", "Mettet", "Meulebeke", "Meux", - "Meyerode", "Michelbeke", "Micheroux", "Middelburg", "Middelkerke", - "Mielen-boven-Aalst", "Mignault", "Millen", "Milmort", "Minderhout", "Mirwart", - "Miécret", "Modave", "Moelingen", "Moen", "Moerbeke", "Moerbeke-Waas", "Moere", - "Moerkerke", "Moerzeke", "Moeskroen", "Moha", "Mohiville", "Moignelée", "Moircy", - "Mol", "Molenbaix", "Molenbeek-Wersbeek", "Molenbeersel", "Molenstede", "Mollem", - "Momalle", "Momignies", "Monceau-Imbrechies", "Monceau-en-Ardenne", - "Monceau-sur-Sambre", "Mons", "Mons-lez-Liège", "Monstreux", "Mont", - "Mont-Gauthier", "Mont-Saint-André", "Mont-Saint-Aubert", "Mont-Saint-Guibert", - "Mont-Sainte-Aldegonde", "Mont-Sainte-Geneviève", "Mont-de-l'Enclus", - "Mont-sur-Marchienne", "Montbliart", "Montegnée", "Montenaken", - "Montignies-Saint-Christophe", "Montignies-lez-Lens", "Montignies-sur-Roc", - "Montignies-sur-Sambre", "Montigny-le-Tilleul", "Montleban", "Montroeul-au-Bois", - "Montroeul-sur-Haine", "Montzen", "Moorsel", "Moorsele", "Moorslede", "Moortsele", - "Mopertingen", "Moregem", "Moresnet", "Morhet", "Morialmé", "Morkhoven", - "Morlanwelz", "Morlanwelz-Mariemont", "Mormont", "Mornimont", "Mortier", - "Mortroux", "Mortsel", "Morville", "Moulbaix", "Mourcourt", "Moustier", - "Moustier-sur-Sambre", "Mouzaive", "Moxhe", "Mozet", "Muizen", "Mullem", - "Munkzwalm", "Muno", "Munsterbilzen", "Munte", "Musson", "Mussy-la-Ville", "My", - "Méan", "Mélin", "Mévergnies-lez-Lens", "Naast", "Nadrin", "Nafraiture", - "Nalinnes", "Namur", "Namêche", "Nandrin", "Naninne", "Naomé", "Nassogne", - "Natoye", "Nazareth", "Neder-over-Heembeek", "Nederboelare", "Nederbrakel", - "Nederename", "Nederhasselt", "Nederokkerzeel", "Nederzwalm-Hermelgem", - "Neerglabbeek", "Neerharen", "Neerhespen", "Neerheylissem", "Neerijse", - "Neerlanden", "Neerlinter", "Neeroeteren", "Neerpelt", "Neerrepen", "Neervelp", - "Neerwaasten", "Neerwinden", "Neigem", "Nerem", "Nessonvaux", "Nethen", - "Nettinne", "Neu-Moresnet", "Neufchâteau", "Neufmaison", "Neufvilles", "Neupré", - "Neuville", "Neuville-en-Condroz", "Nevele", "Niel", "Niel-bij-As", - "Niel-bij-Sint-Truiden", "Nieuwenhove", "Nieuwenrode", "Nieuwerkerken", - "Nieuwkapelle", "Nieuwkerke", "Nieuwkerken-Waas", "Nieuwmunster", "Nieuwpoort", - "Nieuwrode", "Nijlen", "Nil-Saint-Vincent-Saint-Martin", "Nimy", "Ninove", - "Nismes", "Nivelles", "Niverlée", "Nives", "Nobressart", "Nodebais", "Noduwez", - "Noirchain", "Noirefontaine", "Noiseux", "Nokere", "Nollevaux", "Noorderwijk", - "Noordschote", "Nossegem", "Nothomb", "Nouvelles", "Noville", "Noville-les-Bois", - "Noville-sur-Méhaigne", "Nukerke", "Néchin", "Obaix", "Obigies", "Obourg", - "Ochamps", "Ocquier", "Odeigne", "Odeur", "Oedelem", "Oekene", "Oelegem", "Oeren", - "Oeselgem", "Oetingen", "Oeudeghien", "Oevel", "Offagne", "Ogy", "Ohain", "Ohey", - "Oignies-en-Thiérache", "Oisquercq", "Oizy", "Okegem", "Olen", "Oleye", - "Ollignies", "Olloy-sur-Viroin", "Olmen", "Olne", "Olsene", "Omal", "Ombret", - "Omezée", "On", "Onhaye", "Onkerzele", "Onnezies", "Onoz", - "Onze-Lieve-Vrouw-Lombeek", "Onze-Lieve-Vrouw-Waver", "Ooigem", "Ooike", - "Oombergen", "Oorbeek", "Oordegem", "Oostakker", "Oostduinkerke", "Oosteeklo", - "Oostende", "Oosterzele", "Oostham", "Oostkamp", "Oostkerke-Damme", - "Oostkerke-Diksmuide", "Oostmalle", "Oostnieuwkerke", "Oostrozebeke", - "Oostvleteren", "Oostwinkel", "Opbrakel", "Opdorp", "Opglabbeek", "Opgrimbie", - "Ophain-Bois-Seigneur-Isaac", "Ophasselt", "Opheers", "Opheylissem", "Ophoven", - "Opitter", "Oplinter", "Opoeteren", "Opont", "Opprebais", "Oppuurs", "Opvelp", - "Opwijk", "Orbais", "Orchimont", "Orcq", "Ordingen", "Oret", "Oreye", "Orgeo", - "Ormeignies", "Orp-Jauche", "Orp-le-Grand", "Orroir", "Orsmaal-Gussenhoven", - "Ortho", "Ostiches", "Otegem", "Oteppe", "Othée", "Otrange", "Ottenburg", - "Ottergem", "Ottignies", "Ottignies-Louvain-la-Neuve", "Oud-Heverlee", - "Oud-Turnhout", "Oudegem", "Oudekapelle", "Oudenaarde", "Oudenaken", "Oudenburg", - "Oudergem", "Ouffet", "Ougrée", "Oupeye", "Outer", "Outgaarden", "Outrelouxhe", - "Outrijve", "Ouwegem", "Overboelare", "Overhespen", "Overijse", "Overmere", - "Overpelt", "Overrepen", "Overwinden", "Paal", "Paifve", "Pailhe", "Paliseul", - "Pamel", "Papignies", "Parike", "Passendale", "Patignies", "Paturages", - "Paulatem", "Pecq", "Peer", "Peissant", "Pellaines", "Pellenberg", "Pepingen", - "Pepinster", "Perk", "Pervijze", "Perwez", "Perwez-Haillot", "Pesche", "Pessoux", - "Petegem-aan-de-Leie", "Petegem-aan-de-Schelde", "Petigny", "Petit-Fays", - "Petit-Hallet", "Petit-Rechain", "Petit-Roeulx-lez-Braine", - "Petit-Roeulx-lez-Nivelles", "Petit-Thier", "Petite-Chapelle", "Peutie", - "Philippeville", "Pipaix", "Piringen", "Pironchamps", "Pittem", "Piéton", - "Piétrain", "Piétrebais", "Plainevaux", "Plancenoit", "Ploegsteert", "Plombières", - "Poederlee", "Poeke", "Poelkapelle", "Poesele", "Pollare", "Polleur", - "Pollinkhove", "Pommeroeul", "Pondrôme", "Pont-de-Loup", "Pont-à-Celles", - "Pontillas", "Poperinge", "Poppel", "Popuelles", "Porcheresse", "Pottes", - "Poucet", "Poulseur", "Poupehan", "Pousset", "Presgaux", "Presles", - "Profondeville", "Proven", "Pry", "Pulderbos", "Pulle", "Purnode", "Pussemange", - "Putte", "Puurs", "Péronnes-lez-Antoing", "Péronnes-lez-Binche", "Péruwelz", - "Quaregnon", "Quartes", "Quenast", "Queue-du-Bois", "Quevaucamps", "Quiévrain", - "Quévy", "Quévy-le-Grand", "Quévy-le-Petit", "Rachecourt", "Racour", "Raeren", - "Ragnies", "Rahier", "Ramegnies", "Ramegnies-Chin", "Ramelot", "Ramillies-Offus", - "Ramsdonk", "Ramsel", "Ramskapelle-Knokke-Heist", "Ramskapelle-Nieuwpoort", - "Rance", "Ransart", "Ransberg", "Ranst", "Ravels", "Rebaix", "Rebecq", - "Rebecq-Rognon", "Recht", "Recogne", "Redu", "Reet", "Rekem", "Rekkem", "Relegem", - "Remagne", "Remersdaal", "Remicourt", "Rendeux", "Reninge", "Reningelst", - "Renlies", "Reppel", "Ressaix", "Ressegem", "Resteigne", "Retie", "Retinne", - "Reuland", "Rhisnes", "Richelle", "Riemst", "Rienne", "Rijkel", "Rijkevorsel", - "Rijkhoven", "Rijmenam", "Riksingen", "Rillaar", "Rivière", "Rixensart", "Rièzes", - "Robechies", "Robelmont", "Robertville", "Roborst", "Rochefort", "Rochehaut", - "Rocherath", "Roclenge-sur-Geer", "Rocourt", "Roesbrugge-Haringe", "Roeselare", - "Rognée", "Roisin", "Roksem", "Rollegem", "Rollegem-Kapelle", "Roloux", "Roly", - "Romedenne", "Romershoven", "Romerée", "Romsée", "Rongy", "Ronquières", "Ronse", - "Ronsele", "Roosbeek", "Roosdaal", "Roselies", "Rosières", "Rosmeer", - "Rosoux-Crenwick", "Rossignol", "Rosée", "Rotem", "Rotheux-Rimière", "Rotselaar", - "Roucourt", "Rouveroy", "Rouvreux", "Rouvroy", "Roux", "Roux-Miroir", "Roy", - "Rozebeke", "Ruddervoorde", "Ruette", "Ruien", "Ruisbroek", "Ruiselede", - "Rukkelingen-Loon", "Rulles", "Rumbeke", "Rumes", "Rumillies", "Rummen", - "Rumsdorp", "Rumst", "Runkelen", "Rupelmonde", "Russeignies", "Rutten", "Rèves", - "Saint-Amand", "Saint-André", "Saint-Aubin", "Saint-Denis", "Saint-Denis-Bovesse", - "Saint-Georges-sur-Meuse", "Saint-Germain", "Saint-Ghislain", "Saint-Gérard", - "Saint-Géry", "Saint-Hubert", "Saint-Jean-Geest", "Saint-Léger", "Saint-Marc", - "Saint-Mard", "Saint-Martin", "Saint-Maur", "Saint-Médard", "Saint-Nicolas", - "Saint-Pierre", "Saint-Remy", "Saint-Remy-Geest", "Saint-Sauveur", - "Saint-Servais", "Saint-Symphorien", "Saint-Séverin", "Saint-Vaast", - "Saint-Vincent", "Sainte-Cécile", "Sainte-Marie-Chevigny", - "Sainte-Marie-sur-Semois", "Sainte-Ode", "Saintes", "Saive", "Salles", "Samart", - "Sambreville", "Samrée", "Sankt-Vith", "Sars-la-Bruyère", "Sars-la-Buissière", - "Sart-Bernard", "Sart-Custinne", "Sart-Dames-Avelines", "Sart-Eustache", - "Sart-Saint-Laurent", "Sart-en-Fagne", "Sart-lez-Spa", "Sautin", "Sautour", - "Sauvenière", "Schaarbeek", "Schaffen", "Schalkhoven", "Schaltin", "Schelderode", - "Scheldewindeke", "Schelle", "Schellebelle", "Schendelbeke", "Schepdaal", - "Scherpenheuvel", "Scherpenheuvel-Zichem", "Schilde", "Schoonaarde", "Schore", - "Schorisse", "Schoten", "Schriek", "Schuiferskapelle", "Schulen", "Schönberg", - "Sclayn", "Scy", "Seilles", "Seloignes", "Semmerzake", "Seneffe", "Sensenruth", - "Seny", "Senzeille", "Septon", "Seraing", "Seraing-le-Château", "Serinchamps", - "Serskamp", "Serville", "Sibret", "Signeulx", "Sijsele", "Silenrieux", "Silly", - "Sinaai-Waas", "Sinsin", "Sint-Agatha-Berchem", "Sint-Agatha-Rode", "Sint-Amands", - "Sint-Amandsberg", "Sint-Andries", "Sint-Antelinks", "Sint-Baafs-Vijve", - "Sint-Blasius-Boekel", "Sint-Denijs", "Sint-Denijs-Boekel", "Sint-Denijs-Westrem", - "Sint-Eloois-Vijve", "Sint-Eloois-Winkel", "Sint-Genesius-Rode", "Sint-Gillis", - "Sint-Gillis-Waas", "Sint-Gillis-bij-Dendermonde", "Sint-Goriks-Oudenhove", - "Sint-Huibrechts-Hern", "Sint-Huibrechts-Lille", "Sint-Jacobs-Kapelle", - "Sint-Jan", "Sint-Jan-in-Eremo", "Sint-Jans-Molenbeek", "Sint-Job-in-'t-Goor", - "Sint-Joost-ten-Node", "Sint-Joris-Beernem", "Sint-Joris-Nieuwpoort", - "Sint-Joris-Weert", "Sint-Joris-Winge", "Sint-Katelijne-Waver", - "Sint-Katherina-Lombeek", "Sint-Kornelis-Horebeke", "Sint-Kruis", - "Sint-Kruis-Winkel", "Sint-Kwintens-Lennik", "Sint-Lambrechts-Herk", - "Sint-Lambrechts-Woluwe", "Sint-Laureins", "Sint-Laureins-Berchem", - "Sint-Lenaarts", "Sint-Lievens-Esse", "Sint-Lievens-Houtem", "Sint-Margriete", - "Sint-Margriete-Houtem", "Sint-Maria-Horebeke", "Sint-Maria-Latem", - "Sint-Maria-Lierde", "Sint-Maria-Oudenhove-Brakel", - "Sint-Maria-Oudenhove-Zottegem", "Sint-Martens-Bodegem", "Sint-Martens-Latem", - "Sint-Martens-Leerne", "Sint-Martens-Lennik", "Sint-Martens-Lierde", - "Sint-Martens-Voeren", "Sint-Michiels", "Sint-Niklaas", "Sint-Pauwels", - "Sint-Pieters-Kapelle", "Sint-Pieters-Leeuw", "Sint-Pieters-Rode", - "Sint-Pieters-Voeren", "Sint-Pieters-Woluwe", "Sint-Rijkers", - "Sint-Stevens-Woluwe", "Sint-Truiden", "Sint-Ulriks-Kapelle", "Sippenaeken", - "Sirault", "Sivry", "Sivry-Rance", "Sleidinge", "Slijpe", "Slins", "Sluizen", - "Smeerebbe-Vloerzegem", "Smetlede", "Smuid", "Snaaskerke", "Snellegem", - "Soheit-Tinlot", "Sohier", "Soignies", "Soiron", "Solre-Saint-Géry", - "Solre-sur-Sambre", "Sombreffe", "Somme-Leuze", "Sommethonne", "Sommière", - "Somzée", "Sorinne-la-Longue", "Sorinnes", "Sorée", "Sosoye", "Sougné-Remouchamps", - "Soulme", "Soumagne", "Soumoy", "Sourbrodt", "Souvret", "Sovet", "Soy", "Soye", - "Spa", "Spalbeek", "Spermalie", "Spiennes", "Spiere", "Spiere-Helkijn", "Spontin", - "Spouwen", "Sprimont", "Spy", "Stabroek", "Staden", "Stalhille", "Stambruges", - "Stave", "Stavele", "Stavelot", "Steendorp", "Steenhuffel", - "Steenhuize-Wijnhuize", "Steenkerke", "Steenkerque", "Steenokkerzeel", "Stekene", - "Stembert", "Stene", "Sterrebeek", "Stevoort", "Stokrooie", "Stoumont", - "Straimont", "Strijpen", "Strijtem", "Strombeek-Bever", "Strée", "Strée-lez-Huy", - "Strépy-Bracquegnies", "Stuivekenskerke", "Suarlée", "Sugny", "Surice", "Suxy", - "Sélange", "Tailles", "Taintignies", "Tamines", "Tarcienne", "Tavier", "Taviers", - "Tavigny", "Tellin", "Templeuve", "Temploux", "Temse", "Tenneville", "Teralfene", - "Terhagen", "Termes", "Ternat", "Tertre", "Tervuren", "Terwagne", "Tessenderlo", - "Testelt", "Teuven", "Theux", "Thiaumont", "Thieu", "Thieulain", "Thieusies", - "Thimister", "Thimister-Clermont", "Thimougies", "Thiméon", "Thines", "Thirimont", - "Thisnes", "Thommen", "Thon", "Thorembais-Saint-Trond", "Thorembais-les-Béguines", - "Thoricourt", "Thuillies", "Thuin", "Thulin", "Thumaide", "Thy-le-Bauduin", - "Thy-le-Château", "Thynes", "Thys", "Tiegem", "Tielen", "Tielrode", "Tielt", - "Tielt-Winge", "Tienen", "Tignée", "Tihange", "Tildonk", "Tilff", "Tillet", - "Tilleur", "Tillier", "Tilly", "Tinlot", "Tintange", "Tintigny", "Tisselt", - "Toernich", "Tohogne", "Tollembeek", "Tongeren", "Tongerlo", "Tongre-Notre-Dame", - "Tongre-Saint-Martin", "Tongrinne", "Tontelange", "Torgny", "Torhout", "Tourinne", - "Tourinnes-Saint-Lambert", "Tournai", "Tournay", "Tourpes", "Transinne", - "Trazegnies", "Treignes", "Trembleur", "Tremelo", "Trivières", "Trognée", - "Trois-Ponts", "Trooz", "Tubize", "Turnhout", "Ucimont", "Uikhoven", "Uitbergen", - "Uitkerke", "Ukkel", "Ulbeek", "Upigny", "Ursel", "Vaalbeek", "Val-Meer", "Vance", - "Varendonk", "Varsenare", "Vaucelles", "Vaulx", "Vaulx-lez-Chimay", - "Vaux-Chavanne", "Vaux-et-Borset", "Vaux-lez-Rosières", "Vaux-sous-Chèvremont", - "Vaux-sur-Sûre", "Vechmaal", "Vedrin", "Veerle", "Velaine-sur-Sambre", "Velaines", - "Veldegem", "Veldwezelt", "Vellereille-le-Sec", "Vellereille-les-Brayeux", "Velm", - "Velroux", "Veltem-Beisem", "Velzeke-Ruddershove", "Vencimont", "Vergnies", - "Verlaine", "Verlée", "Verrebroek", "Vertrijk", "Verviers", "Vesqueville", - "Veulen", "Veurne", "Vezin", "Vezon", "Viane", "Vichte", "Vielsalm", "Viemme", - "Viersel", "Vierset-Barse", "Vierves-sur-Viroin", "Viesville", "Vieux-Genappe", - "Vieux-Waleffe", "Vieuxville", "Villance", "Ville-Pommeroeul", "Ville-en-Hesbaye", - "Ville-sur-Haine", "Villerot", "Villers-Deux-Eglises", "Villers-Notre-Dame", - "Villers-Perwin", "Villers-Poterie", "Villers-Saint-Amand", - "Villers-Saint-Ghislain", "Villers-Saint-Siméon", "Villers-Sainte-Gertrude", - "Villers-aux-Tours", "Villers-devant-Orval", "Villers-en-Fagne", - "Villers-l'Evêque", "Villers-la-Bonne-Eau", "Villers-la-Loue", "Villers-la-Tour", - "Villers-la-Ville", "Villers-le-Bouillet", "Villers-le-Gambon", - "Villers-le-Peuplier", "Villers-le-Temple", "Villers-lez-Heest", - "Villers-sur-Lesse", "Villers-sur-Semois", "Vilvoorde", "Vinalmont", - "Vinderhoute", "Vinkem", "Vinkt", "Virelles", "Virginal-Samme", "Viroinval", - "Virton", "Vissenaken", "Visé", "Vitrival", "Vivegnis", "Vivy", "Vladslo", - "Vlamertinge", "Vlekkem", "Vleteren", "Vlezenbeek", "Vliermaal", "Vliermaalroot", - "Vlierzele", "Vlijtingen", "Vlimmeren", "Vlissegem", "Vloesberg", "Vodecée", - "Vodelée", "Voeren", "Vogenée", "Volkegem", "Vollezele", "Vonêche", "Voorde", - "Voormezele", "Voort", "Voroux-Goreux", "Voroux-lez-Liers", "Vorselaar", "Vorsen", - "Vorst", "Vosselaar", "Vosselare", "Vossem", "Vottem", "Vrasene", "Vremde", - "Vreren", "Vresse-sur-Semois", "Vroenhoven", "Vucht", "Vurste", "Vyle-et-Tharoul", - "Waanrode", "Waarbeke", "Waardamme", "Waarloos", "Waarmaarde", "Waarschoot", - "Waasmont", "Waasmunster", "Waasten", "Wachtebeke", "Wadelincourt", "Wagnelée", - "Waha", "Waillet", "Wakken", "Walcourt", "Walem", "Walhain", "Walhain-Saint-Paul", - "Walhorn", "Walsbets", "Walshoutem", "Waltwilder", "Wambeek", "Wancennes", - "Wandre", "Wanfercée-Baulet", "Wange", "Wangenies", "Wanlin", "Wanne", - "Wannebecq", "Wannegem-Lede", "Wansin", "Wanze", "Wanzele", "Warchin", "Warcoing", - "Wardin", "Waregem", "Waremme", "Waret-l'Evêque", "Waret-la-Chaussée", - "Warisoulx", "Warnant", "Warnant-Dreye", "Warquignies", "Warsage", "Warzée", - "Wasmes", "Wasmes-Audemez-Briffoeil", "Wasmuel", "Wasseiges", "Waterland-Oudeman", - "Waterloo", "Watermaal-Bosvoorde", "Watervliet", "Watou", "Wattripont", "Waudrez", - "Waulsort", "Wauthier-Braine", "Waver", "Wavreille", "Wayaux", "Ways", "Webbekom", - "Wechelderzande", "Weelde", "Weerde", "Weert", "Wegnez", "Weillen", "Weismes", - "Welden", "Welkenraedt", "Welle", "Wellen", "Wellin", "Wemmel", "Wenduine", - "Werbomont", "Werchter", "Werken", "Werm", "Wervik", "Wespelaar", "Westende", - "Westerlo", "Westkapelle", "Westkerke", "Westmalle", "Westmeerbeek", "Westouter", - "Westrem", "Westrozebeke", "Westvleteren", "Wetteren", "Wevelgem", "Wez-Velvain", - "Wezemaal", "Wezembeek-Oppem", "Wezeren", "Wibrin", "Wichelen", "Widooie", - "Wiekevorst", "Wielsbeke", "Wierde", "Wiers", "Wiesme", "Wieze", "Wihogne", - "Wihéries", "Wijchmaal", "Wijer", "Wijgmaal", "Wijnegem", "Wijshagen", - "Wijtschate", "Wilderen", "Willaupuis", "Willebringen", "Willebroek", "Willemeau", - "Willerzie", "Wilrijk", "Wilsele", "Wilskerke", "Wimmertingen", "Winenne", - "Wingene", "Winksele", "Wintershoven", "Witry", "Wodecq", "Woesten", "Wolkrange", - "Wolvertem", "Wommelgem", "Wommersom", "Wonck", "Wondelgem", "Wontergem", - "Wortegem", "Wortegem-Petegem", "Wortel", "Woubrechtegem", "Woumen", "Wulpen", - "Wulvergem", "Wulveringem", "Wuustwezel", "Wépion", "Wéris", "Xhendelesse", - "Xhendremael", "Xhoris", "Yernée-Fraineux", "Yves-Gomezée", "Yvoir", "Zaffelare", - "Zandbergen", "Zande", "Zandhoven", "Zandvliet", "Zandvoorde-Oostende", - "Zandvoorde-Zonnebeke", "Zarlardinge", "Zarren", "Zaventem", "Zedelgem", - "Zeebrugge", "Zegelsem", "Zele", "Zelem", "Zellik", "Zelzate", "Zemst", - "Zepperen", "Zerkegem", "Zevekote", "Zeveneken", "Zeveren", "Zevergem", "Zichem", - "Zichen-Zussen-Bolder", "Zillebeke", "Zingem", "Zoerle-Parwijs", "Zoersel", - "Zolder", "Zomergem", "Zonhoven", "Zonnebeke", "Zonnegem", "Zottegem", - "Zoutenaaie", "Zoutleeuw", "Zuidschote", "Zuienkerke", "Zulte", "Zulzeke", - "Zutendaal", "Zwalm", "Zwevegem", "Zwevezele", "Zwijnaarde", "Zwijndrecht", - "Zétrud-Lumay", "l'Escaillère", + "'s Herenelderen", + "'s-Gravenvoeren", + "'s-Gravenwezel", + "Aaigem", + "Aalbeke", + "Aalst", + "Aalter", + "Aarschot", + "Aarsele", + "Aartrijke", + "Aartselaar", + "Abolens", + "Abée", + "Achel", + "Achet", + "Achêne", + "Acosse", + "Acoz", + "Adegem", + "Adinkerke", + "Affligem", + "Afsnee", + "Agimont", + "Aineffe", + "Aische-en-Refail", + "Aiseau", + "Aiseau-Presles", + "Aisemont", + "Alken", + "Alle", + "Alleur", + "Alsemberg", + "Alveringem", + "Amay", + "Amberloup", + "Ambly", + "Ambresin", + "Amel", + "Amonines", + "Amougies", + "Ampsin", + "Andenne", + "Anderlecht", + "Anderlues", + "Andrimont", + "Angleur", + "Angre", + "Angreau", + "Anhée", + "Anlier", + "Anloy", + "Annevoie-Rouillon", + "Ans", + "Anseremme", + "Anseroeul", + "Antheit", + "Anthisnes", + "Anthée", + "Antoing", + "Antwerpen", + "Anvaing", + "Anzegem", + "Appels", + "Appelterre-Eichem", + "Arbre", + "Arbrefontaine", + "Arc-Ainières", + "Arc-Wattripont", + "Archennes", + "Ardooie", + "Arendonk", + "Argenteau", + "Arlon", + "Arquennes", + "Arsimont", + "Arville", + "As", + "Aspelare", + "Asper", + "Asquillies", + "Asse", + "Assebroek", + "Assenede", + "Assenois", + "Assent", + "Assesse", + "Astene", + "Ath", + "Athis", + "Athus", + "Attenhoven", + "Attenrode", + "Attert", + "Attre", + "Aubange", + "Aubechies", + "Aubel", + "Aublain", + "Auby-sur-Semois", + "Audregnies", + "Aulnois", + "Autelbas", + "Autre-Eglise", + "Autreppe", + "Auvelais", + "Ave-et-Auffe", + "Avekapelle", + "Avelgem", + "Avennes", + "Averbode", + "Avernas-le-Bauduin", + "Avin", + "Awans", + "Awenne", + "Awirs", + "Aye", + "Ayeneux", + "Aywaille", + "Baaigem", + "Baal", + "Baardegem", + "Baarle-Hertog", + "Baasrode", + "Bachte-Maria-Leerne", + "Baelen", + "Bagimont", + "Baileux", + "Bailièvre", + "Baillamont", + "Bailleul", + "Baillonville", + "Baisieux", + "Baisy-Thy", + "Balegem", + "Balen", + "Balâtre", + "Bambrugge", + "Bande", + "Barbençon", + "Barchon", + "Baronville", + "Barry", + "Barvaux-Condroz", + "Barvaux-sur-Ourthe", + "Bas-Oha", + "Basse-Bodeux", + "Bassenge", + "Bassevelde", + "Bassilly", + "Bastogne", + "Basècles", + "Batsheers", + "Battice", + "Battignies", + "Baudour", + "Bauffe", + "Baugnies", + "Baulers", + "Bavegem", + "Bavikhove", + "Bazel", + "Beaufays", + "Beaumont", + "Beauraing", + "Beausaint", + "Beauvoorde", + "Beauwelz", + "Beclers", + "Beek", + "Beerlegem", + "Beernem", + "Beerse", + "Beersel", + "Beerst", + "Beert", + "Beervelde", + "Beerzel", + "Beez", + "Beffe", + "Begijnendijk", + "Beho", + "Beigem", + "Bekegem", + "Bekkerzeel", + "Bekkevoort", + "Belgrade", + "Bellaire", + "Bellecourt", + "Bellefontaine", + "Bellegem", + "Bellem", + "Bellevaux", + "Bellevaux-Ligneuville", + "Bellingen", + "Beloeil", + "Belsele", + "Ben-Ahin", + "Bende", + "Berbroek", + "Berchem", + "Berendrecht", + "Berg", + "Bergilers", + "Beringen", + "Berlaar", + "Berlare", + "Berlingen", + "Berloz", + "Berneau", + "Bernissart", + "Bersillies-l'Abbaye", + "Bertem", + "Bertogne", + "Bertrix", + "Bertrée", + "Berzée", + "Beselare", + "Betekom", + "Bettincourt", + "Beuzet", + "Bevekom", + "Bevel", + "Bever", + "Bevercé", + "Bevere", + "Beveren-Leie", + "Beveren-Roeselare", + "Beveren-Waas", + "Beveren-aan-den-Ijzer", + "Beverlo", + "Beverst", + "Beyne-Heusay", + "Bienne-lez-Happart", + "Bierbeek", + "Biercée", + "Bierges", + "Bierghes", + "Bierset", + "Bierwart", + "Biesme", + "Biesme-sous-Thuin", + "Biesmerée", + "Biez", + "Bihain", + "Bikschote", + "Bilstain", + "Bilzen", + "Binche", + "Binderveld", + "Binkom", + "Bioul", + "Bissegem", + "Bizet", + "Bièvre", + "Blaasveld", + "Blaimont", + "Blandain", + "Blanden", + "Blankenberge", + "Blaregnies", + "Blaton", + "Blaugies", + "Blehen", + "Bleid", + "Bleret", + "Blicquy", + "Blégny", + "Bléharies", + "Bocholt", + "Boechout", + "Boekhout", + "Boekhoute", + "Boezinge", + "Bogaarden", + "Bohan", + "Boignée", + "Boirs", + "Bois-d'Haine", + "Bois-de-Lessines", + "Bois-de-Villers", + "Bois-et-Borsu", + "Bolinne", + "Bolland", + "Bomal", + "Bomal-sur-Ourthe", + "Bombaye", + "Bommershoven", + "Bon-Secours", + "Boncelles", + "Boneffe", + "Bonheiden", + "Boninne", + "Bonlez", + "Bonnert", + "Bonneville", + "Bonsin", + "Booischot", + "Booitshoeke", + "Boom", + "Boorsem", + "Boortmeerbeek", + "Borchtlombeek", + "Borgerhout", + "Borgloon", + "Borlez", + "Borlo", + "Borlon", + "Bornem", + "Bornival", + "Borsbeek", + "Borsbeke", + "Bossière", + "Bossuit", + "Bossut-Gottechain", + "Bost", + "Bothey", + "Bottelare", + "Bouffioulx", + "Bouge", + "Bougnies", + "Bouillon", + "Bourlers", + "Bourseigne-Neuve", + "Bourseigne-Vieille", + "Boussoit", + "Boussu", + "Boussu-en-Fagne", + "Boussu-lez-Walcourt", + "Bousval", + "Boutersem", + "Bouvignes-sur-Meuse", + "Bouvignies", + "Bouwel", + "Bovekerke", + "Bovelingen", + "Bovenistier", + "Bovesse", + "Bovigny", + "Boëlhe", + "Bra", + "Braffe", + "Braibant", + "Braine-l'Alleud", + "Braine-le-Château", + "Braine-le-Comte", + "Braives", + "Brakel", + "Branchon", + "Bras", + "Brasmenil", + "Brasschaat", + "Bray", + "Brecht", + "Bredene", + "Bree", + "Breendonk", + "Bressoux", + "Briegden", + "Brielen", + "Broechem", + "Broekom", + "Brugelette", + "Brugge", + "Brunehaut", + "Brussegem", + "Brussel", + "Brustem", + "Bruyelle", + "Brye", + "Brûly", + "Brûly-de-Pesche", + "Budingen", + "Buggenhout", + "Buissenal", + "Buissonville", + "Buizingen", + "Buken", + "Bulskamp", + "Bunsbeek", + "Burcht", + "Burdinne", + "Bure", + "Burg-Reuland", + "Burst", + "Bury", + "Buvingen", + "Buvrinnes", + "Buzenol", + "Buzet", + "Büllingen", + "Bütgenbach", + "Callenelle", + "Calonne", + "Cambron-Casteau", + "Cambron-Saint-Vincent", + "Carlsbourg", + "Carnières", + "Casteau", + "Castillon", + "Celles", + "Cerfontaine", + "Chaineux", + "Chairière", + "Champion", + "Champlon", + "Chanly", + "Chantemelle", + "Chapelle-lez-Herlaimont", + "Chapelle-à-Oie", + "Chapelle-à-Wattines", + "Chapon-Seraing", + "Charleroi", + "Charneux", + "Chassepierre", + "Chastre", + "Chastre-Villeroux-Blanmont", + "Chastrès", + "Chaudfontaine", + "Chaumont-Gistoux", + "Chaussée-Notre-Dame-Louvignies", + "Cherain", + "Cheratte", + "Chercq", + "Chevetogne", + "Chevron", + "Chimay", + "Chiny", + "Chièvres", + "Chokier", + "Châtelet", + "Châtelineau", + "Châtillon", + "Chênée", + "Ciergnon", + "Ciney", + "Ciplet", + "Ciply", + "Clabecq", + "Clavier", + "Clermont", + "Clermont-sous-Huy", + "Cognelée", + "Colfontaine", + "Comblain-Fairon", + "Comblain-au-Pont", + "Comblain-la-Tour", + "Conneux", + "Corbais", + "Corbion", + "Cordes", + "Corenne", + "Cornesse", + "Cornimont", + "Corroy-le-Château", + "Corroy-le-Grand", + "Corswarem", + "Cortil-Noirmont", + "Cortil-Wodon", + "Couillet", + "Cour-sur-Heure", + "Courcelles", + "Courrière", + "Court-Saint-Etienne", + "Couthuin", + "Coutisse", + "Couture-Saint-Germain", + "Couvin", + "Cras-Avernas", + "Crehen", + "Crisnée", + "Croix-lez-Rouveroy", + "Crombach", + "Crupet", + "Cuesmes", + "Cugnon", + "Cul-des-Sarts", + "Custinne", + "Cérexhe-Heuseux", + "Céroux-Mousty", + "Dadizele", + "Dailly", + "Daknam", + "Dalhem", + "Damme", + "Dampicourt", + "Dampremy", + "Darion", + "Daussois", + "Daussoulx", + "Dave", + "Daverdisse", + "De Haan", + "De Klinge", + "De Moeren", + "De Panne", + "De Pinte", + "Deerlijk", + "Deftinge", + "Deinze", + "Denderbelle", + "Denderhoutem", + "Denderleeuw", + "Dendermonde", + "Denderwindeke", + "Dentergem", + "Denée", + "Dergneau", + "Dessel", + "Desselgem", + "Destelbergen", + "Desteldonk", + "Deurle", + "Deurne", + "Deux-Acren", + "Dhuy", + "Diepenbeek", + "Diest", + "Diets-Heur", + "Dikkebus", + "Dikkele", + "Dikkelvenne", + "Diksmuide", + "Dilbeek", + "Dilsen-Stokkem", + "Dinant", + "Dion", + "Dion-Valmont", + "Dison", + "Dochamps", + "Doel", + "Dohan", + "Doische", + "Dolembreux", + "Donceel", + "Dongelberg", + "Donk", + "Donstiennes", + "Dorinne", + "Dormaal", + "Dottenijs", + "Dour", + "Dourbes", + "Dranouter", + "Driekapellen", + "Drieslinter", + "Drogenbos", + "Drongen", + "Dréhance", + "Dudzele", + "Duffel", + "Duisburg", + "Duras", + "Durbuy", + "Durnal", + "Dworp", + "Eben-Emael", + "Ebly", + "Ecaussinnes", + "Ecaussinnes-Lalaing", + "Ecaussinnes-d'Enghien", + "Edegem", + "Edelare", + "Edingen", + "Eeklo", + "Eernegem", + "Egem", + "Eggewaartskapelle", + "Eghezée", + "Ehein", + "Eigenbilzen", + "Eindhout", + "Eine", + "Eisden", + "Eke", + "Ekeren", + "Eksaarde", + "Eksel", + "Elen", + "Elene", + "Elewijt", + "Eliksem", + "Elingen", + "Ellemelle", + "Ellezelles", + "Ellignies-Sainte-Anne", + "Ellignies-lez-Frasnes", + "Ellikom", + "Elouges", + "Elsegem", + "Elsenborn", + "Elsene", + "Elst", + "Elverdinge", + "Elversele", + "Emblem", + "Embourg", + "Emelgem", + "Emines", + "Emptinne", + "Ename", + "Engelmanshoven", + "Engis", + "Enines", + "Ensival", + "Epinois", + "Eppegem", + "Eprave", + "Erbaut", + "Erbisoeul", + "Ere", + "Erembodegem", + "Erezée", + "Ermeton-sur-Biert", + "Ernage", + "Erneuville", + "Ernonheid", + "Erondegem", + "Erpe", + "Erpe-Mere", + "Erpent", + "Erpion", + "Erps-Kwerps", + "Erquelinnes", + "Erquennes", + "Ertvelde", + "Erwetegem", + "Escanaffles", + "Esen", + "Esneux", + "Esplechin", + "Esquelmes", + "Essen", + "Essene", + "Estaimbourg", + "Estaimpuis", + "Estinnes", + "Estinnes-au-Mont", + "Estinnes-au-Val", + "Etalle", + "Ethe", + "Etikhove", + "Ettelgem", + "Etterbeek", + "Eugies", + "Eupen", + "Evegnée", + "Evelette", + "Everbeek", + "Everberg", + "Evere", + "Evergem", + "Evregnies", + "Evrehailles", + "Eynatten", + "Ezemaal", + "Fagnolle", + "Faimes", + "Falaën", + "Falisolle", + "Fallais", + "Falmagne", + "Falmignoul", + "Familleureux", + "Farciennes", + "Faulx-les-Tombes", + "Fauroeulx", + "Fauvillers", + "Faymonville", + "Fays-les-Veneurs", + "Fayt-le-Franc", + "Fayt-lez-Manage", + "Felenne", + "Feluy", + "Feneur", + "Fernelmont", + "Ferrières", + "Feschaux", + "Fexhe-Slins", + "Fexhe-le-Haut-Clocher", + "Filot", + "Finnevaux", + "Fize-Fontaine", + "Fize-le-Marsal", + "Flamierge", + "Flavion", + "Flawinne", + "Fleurus", + "Floreffe", + "Florennes", + "Florenville", + "Floriffoux", + "Florée", + "Flostoy", + "Flémalle", + "Flémalle-Grande", + "Flémalle-Haute", + "Flénu", + "Fléron", + "Flône", + "Focant", + "Folx-les-Caves", + "Fontaine-Valmont", + "Fontaine-l'Evêque", + "Fontenelle", + "Fontenoille", + "Fontenoy", + "Fooz", + "Forchies-la-Marche", + "Forest", + "Forges", + "Forges-Philippe", + "Forrières", + "Forville", + "Forêt", + "Fosse", + "Fosses-la-Ville", + "Fouleng", + "Fourbechies", + "Foy-Notre-Dame", + "Fraipont", + "Fraire", + "Fraiture", + "Frameries", + "Framont", + "Franc-Waret", + "Franchimont", + "Francorchamps", + "Franière", + "Frasnes", + "Frasnes-lez-Anvaing", + "Frasnes-lez-Buissenal", + "Frasnes-lez-Gosselies", + "Freloux", + "Freux", + "Froidchapelle", + "Froidfontaine", + "Froidmont", + "Fronville", + "Froyennes", + "Fumal", + "Furfooz", + "Furnaux", + "Gaasbeek", + "Gages", + "Gallaix", + "Galmaarden", + "Ganshoren", + "Gaurain-Ramecroix", + "Gavere", + "Gedinne", + "Geel", + "Geer", + "Geest-Gérompont-Petit-Rosière", + "Geetbets", + "Gelbressée", + "Gelinden", + "Gellik", + "Gelrode", + "Geluveld", + "Geluwe", + "Gembes", + "Gembloux", + "Gemmenich", + "Genappe", + "Genk", + "Genly", + "Genoelselderen", + "Gent", + "Gentbrugge", + "Gentinnes", + "Genval", + "Geraardsbergen", + "Gerdingen", + "Gerin", + "Gerpinnes", + "Gestel", + "Gesves", + "Ghislenghien", + "Ghlin", + "Ghoy", + "Gibecq", + "Gierle", + "Gijverinkhove", + "Gijzegem", + "Gijzelbrechtegem", + "Gijzenzele", + "Gilly", + "Gimnée", + "Gingelom", + "Gistel", + "Gits", + "Givry", + "Glabais", + "Glabbeek-Zuurbemde", + "Glain", + "Gleixhe", + "Glimes", + "Glons", + "Gochenée", + "Godarville", + "Godinne", + "Godveerdegem", + "Goeferdinge", + "Goegnies-Chaussée", + "Goesnes", + "Goetsenhoven", + "Gomzé-Andoumont", + "Gondregnies", + "Gonrieux", + "Gontrode", + "Gooik", + "Gors-Opleeuw", + "Gorsem", + "Gosselies", + "Gotem", + "Gottem", + "Gottignies", + "Gougnies", + "Gourdinne", + "Goutroux", + "Gouvy", + "Gouy-lez-Piéton", + "Gozée", + "Goé", + "Graide", + "Grammene", + "Grand-Axhe", + "Grand-Hallet", + "Grand-Halleux", + "Grand-Leez", + "Grand-Manil", + "Grand-Rechain", + "Grand-Reng", + "Grand-Rosière-Hottomont", + "Grandglise", + "Grandhan", + "Grandmenil", + "Grandmetz", + "Grandrieu", + "Grandville", + "Grandvoir", + "Grapfontaine", + "Graty", + "Graux", + "Grazen", + "Grembergen", + "Grez-Doiceau", + "Grimbergen", + "Grimminge", + "Grivegnée", + "Grobbendonk", + "Groot-Bijgaarden", + "Groot-Gelmen", + "Groot-Loon", + "Gros-Fays", + "Grosage", + "Grote-Brogel", + "Grote-Spouwen", + "Grotenberge", + "Gruitrode", + "Grune", + "Grupont", + "Grâce-Berleur", + "Grâce-Hollogne", + "Guignies", + "Guigoven", + "Guirsch", + "Gullegem", + "Gutschoven", + "Gérompont", + "Gérouville", + "Haacht", + "Haaltert", + "Haasdonk", + "Haasrode", + "Habay", + "Habay-la-Neuve", + "Habay-la-Vieille", + "Habergy", + "Haccourt", + "Hachy", + "Hacquegnies", + "Haillot", + "Haine-Saint-Paul", + "Haine-Saint-Pierre", + "Hainin", + "Hakendover", + "Halanzy", + "Halen", + "Hallaar", + "Halle", + "Halle-Booienhoven", + "Halleux", + "Halma", + "Halmaal", + "Haltinne", + "Ham", + "Ham-sur-Heure", + "Ham-sur-Heure-Nalinnes", + "Ham-sur-Sambre", + "Hamipré", + "Hamme", + "Hamme-Mille", + "Hamoir", + "Hamois", + "Hamont", + "Hamont-Achel", + "Hampteau", + "Han-sur-Lesse", + "Handzame", + "Haneffe", + "Hannut", + "Hannêche", + "Hanret", + "Hansbeke", + "Hantes-Wihéries", + "Hanzinelle", + "Hanzinne", + "Harchies", + "Harelbeke", + "Haren", + "Haren-Borgloon", + "Haren-Tongeren", + "Hargimont", + "Harmignies", + "Harnoncourt", + "Harre", + "Harsin", + "Harveng", + "Harzé", + "Hasselt", + "Hastière", + "Hastière-Lavaux", + "Hastière-par-Delà", + "Hatrival", + "Haulchin", + "Hauset", + "Haut-Fays", + "Haut-Ittre", + "Haut-le-Wastia", + "Hautrage", + "Havay", + "Havelange", + "Haversin", + "Havinnes", + "Havré", + "Hechtel", + "Hechtel-Eksel", + "Heer", + "Heers", + "Hees", + "Heestert", + "Heffen", + "Heikruis", + "Heindonk", + "Heinsch", + "Heist-aan-Zee", + "Heist-op-den-Berg", + "Hekelgem", + "Heks", + "Helchteren", + "Heldergem", + "Helen-Bos", + "Helkijn", + "Hellebecq", + "Hemelveerdegem", + "Hemiksem", + "Hemptinne", + "Hemptinne-lez-Florennes", + "Hendrieken", + "Henis", + "Hennuyères", + "Henri-Chapelle", + "Henripont", + "Hensies", + "Heppen", + "Heppenbach", + "Heppignies", + "Herbeumont", + "Herchies", + "Herderen", + "Herdersem", + "Herent", + "Herentals", + "Herenthout", + "Herfelingen", + "Hergenrath", + "Herk-de-Stad", + "Hermalle-sous-Argenteau", + "Hermalle-sous-Huy", + "Hermeton-sur-Meuse", + "Hermée", + "Herne", + "Herquegies", + "Herseaux", + "Herselt", + "Herstal", + "Herstappe", + "Hertain", + "Herten", + "Hertsberge", + "Herve", + "Herzele", + "Heule", + "Heure", + "Heure-le-Romain", + "Heurne", + "Heusden", + "Heusden-Zolder", + "Heusy", + "Heuvelland", + "Hever", + "Heverlee", + "Heyd", + "Hillegem", + "Hingene", + "Hingeon", + "Hives", + "Hoboken", + "Hodeige", + "Hodister", + "Hody", + "Hoegaarden", + "Hoeilaart", + "Hoeke", + "Hoelbeek", + "Hoeleden", + "Hoepertingen", + "Hoeselt", + "Hoevenen", + "Hofstade", + "Hogne", + "Hognoul", + "Hollain", + "Hollange", + "Hollebeke", + "Hollogne-aux-Pierres", + "Hollogne-sur-Geer", + "Holsbeek", + "Hombeek", + "Hombourg", + "Hompré", + "Hondelange", + "Honnay", + "Honnelles", + "Hooglede", + "Hoogstade", + "Hoogstraten", + "Horebeke", + "Horion-Hozémont", + "Hornu", + "Horpmaal", + "Horrues", + "Hotton", + "Houdemont", + "Houdeng-Aimeries", + "Houdeng-Goegnies", + "Houdremont", + "Houffalize", + "Hour", + "Housse", + "Houtain-Saint-Siméon", + "Houtain-le-Val", + "Houtaing", + "Houtave", + "Houtem", + "Houthalen", + "Houthalen-Helchteren", + "Houthem", + "Houthulst", + "Houtvenne", + "Houwaart", + "Houx", + "Houyet", + "Hove", + "Hoves", + "Howardries", + "Huccorgne", + "Huise", + "Huissignies", + "Huizingen", + "Huldenberg", + "Hulshout", + "Hulsonniaux", + "Hulste", + "Humain", + "Humbeek", + "Hundelgem", + "Huppaye", + "Huy", + "Hyon", + "Hélécine", + "Hérinnes-lez-Pecq", + "Héron", + "Hévillers", + "Ichtegem", + "Iddergem", + "Idegem", + "Ieper", + "Impe", + "Incourt", + "Ingelmunster", + "Ingooigem", + "Irchonwelz", + "Isières", + "Isnes", + "Itegem", + "Itterbeek", + "Ittre", + "Ivoz-Ramet", + "Izegem", + "Izel", + "Izenberge", + "Izier", + "Jabbeke", + "Jalhay", + "Jallet", + "Jamagne", + "Jambes", + "Jamiolle", + "Jamioulx", + "Jamoigne", + "Jandrain-Jandrenouille", + "Jauche", + "Jauchelette", + "Javingue", + "Jehay", + "Jehonville", + "Jemappes", + "Jemelle", + "Jemeppe-sur-Meuse", + "Jemeppe-sur-Sambre", + "Jeneffe", + "Jesseren", + "Jette", + "Jeuk", + "Jodoigne", + "Jodoigne-Souveraine", + "Jollain-Merlin", + "Joncret", + "Julémont", + "Jumet", + "Jupille-sur-Meuse", + "Juprelle", + "Jurbise", + "Juseret", + "Kaaskerke", + "Kachtem", + "Kaggevinne", + "Kain", + "Kalken", + "Kallo", + "Kallo-Kieldrecht", + "Kalmthout", + "Kampenhout", + "Kanegem", + "Kanne", + "Kapelle-op-den-Bos", + "Kapellen", + "Kaprijke", + "Kaster", + "Kasterlee", + "Kaulille", + "Keerbergen", + "Keiem", + "Kelmis", + "Kemexhe", + "Kemmel", + "Kemzeke", + "Kerkhove", + "Kerkom", + "Kerkom-bij-Sint-Truiden", + "Kerksken", + "Kermt", + "Kerniel", + "Kersbeek-Miskom", + "Kessel", + "Kessel-Lo", + "Kessenich", + "Kester", + "Kettenis", + "Keumiée", + "Kieldrecht", + "Kinrooi", + "Klein-Gelmen", + "Kleine-Brogel", + "Kleine-Spouwen", + "Klemskerke", + "Klerken", + "Kluisbergen", + "Kluizen", + "Knesselare", + "Knokke", + "Knokke-Heist", + "Kobbegem", + "Koekelare", + "Koekelberg", + "Koersel", + "Koksijde", + "Kolmont-Borgloon", + "Kolmont-Tongeren", + "Komen", + "Komen-Waasten", + "Koningshooikt", + "Koninksem", + "Kontich", + "Kooigem", + "Koolkerke", + "Koolskamp", + "Korbeek-Dijle", + "Korbeek-Lo", + "Kortemark", + "Kortenaken", + "Kortenberg", + "Kortessem", + "Kortijs", + "Kortrijk", + "Kortrijk-Dutsel", + "Kozen", + "Kraainem", + "Krombeke", + "Kruibeke", + "Kruishoutem", + "Kumtich", + "Kuringen", + "Kuttekoven", + "Kuurne", + "Kwaadmechelen", + "Kwaremont", + "La", + "La Bruyère", + "La Glanerie", + "La Gleize", + "La Hestre", + "La Hulpe", + "La Louvière", + "La bouverie", + "La-Roche-en-Ardenne", + "Laakdal", + "Laar", + "Laarne", + "Labuissière", + "Lacuisine", + "Ladeuze", + "Laforêt", + "Lahamaide", + "Laken", + "Lamain", + "Lambermont", + "Lambusart", + "Lamine", + "Lamontzée", + "Lamorteau", + "Lampernisse", + "Lanaken", + "Lanaye", + "Landegem", + "Landelies", + "Landen", + "Landenne", + "Landskouter", + "Laneffe", + "Langdorp", + "Langemark", + "Langemark-Poelkapelle", + "Lanklaar", + "Lanquesaint", + "Lantin", + "Lantremange", + "Laplaigne", + "Lapscheure", + "Lasne", + "Lasne-Chapelle-Saint-Lambert", + "Lathuy", + "Latinne", + "Latour", + "Lauw", + "Lauwe", + "Lavacherie", + "Lavaux-Sainte-Anne", + "Lavoir", + "Le Mesniel", + "Le Roeulx", + "Le Roux", + "Lebbeke", + "Lede", + "Ledeberg", + "Ledegem", + "Leefdaal", + "Leerbeek", + "Leernes", + "Leers-Nord", + "Leers-et-Fosteau", + "Leest", + "Leeuwergem", + "Leffinge", + "Leignon", + "Leisele", + "Leke", + "Lembeek", + "Lembeke", + "Lemberge", + "Lendelede", + "Lennik", + "Lens", + "Lens-Saint-Remy", + "Lens-Saint-Servais", + "Lens-sur-Geer", + "Leopoldsburg", + "Les Avins", + "Les Bons", + "Les Bulles", + "Les Hayons", + "Les Waleffes", + "Lesdain", + "Lessines", + "Lessive", + "Lesterny", + "Lesve", + "Lettelingen", + "Letterhoutem", + "Leugnies", + "Leupegem", + "Leut", + "Leuven", + "Leuze", + "Leuze-en-Hainaut", + "Leval-Chaudeville", + "Leval-Trahegnies", + "Liberchies", + "Libin", + "Libramont", + "Libramont-Chevigny", + "Lichtaart", + "Lichtervelde", + "Liedekerke", + "Lieferinge", + "Lier", + "Lierde", + "Lierneux", + "Liernu", + "Liers", + "Liezele", + "Ligne", + "Ligney", + "Ligny", + "Lille", + "Lillo", + "Lillois-Witterzée", + "Limal", + "Limbourg", + "Limelette", + "Limerlé", + "Limont", + "Lincent", + "Linden", + "Linkebeek", + "Linkhout", + "Linsmeau", + "Lint", + "Linter", + "Lippelo", + "Lisogne", + "Lissewege", + "Lives-sur-Meuse", + "Lixhe", + "Liège", + "Lo", + "Lo-Reninge", + "Lobbes", + "Lochristi", + "Lodelinsart", + "Loenhout", + "Loker", + "Lokeren", + "Loksbergen", + "Lombardsijde", + "Lombise", + "Lommel", + "Lommersweiler", + "Lompret", + "Lomprez", + "Loncin", + "Londerzeel", + "Longchamps", + "Longlier", + "Longueville", + "Longvilly", + "Lontzen", + "Lonzée", + "Loonbeek", + "Loppem", + "Lorcé", + "Lot", + "Lotenhulle", + "Louette-Saint-Denis", + "Louette-Saint-Pierre", + "Loupoigne", + "Louvain-la-Neuve", + "Louveigné", + "Lovendegem", + "Lovenjoel", + "Loverval", + "Loyers", + "Lubbeek", + "Luingne", + "Lummen", + "Lustin", + "Luttre", + "Léglise", + "Maarke-Kerkem", + "Maarkedal", + "Maaseik", + "Maasmechelen", + "Mabompré", + "Machelen", + "Macon", + "Macquenoise", + "Maffe", + "Maffle", + "Magnée", + "Maillen", + "Mainvault", + "Maisières", + "Maissin", + "Maizeret", + "Mal", + "Maldegem", + "Malderen", + "Malempré", + "Malle", + "Malmedy", + "Malonne", + "Malvoisin", + "Malèves-Sainte-Marie-Wastines", + "Manage", + "Manderfeld", + "Manhay", + "Mannekensvere", + "Maransart", + "Marbais", + "Marbaix", + "Marbehan", + "Marche-en-Famenne", + "Marche-les-Dames", + "Marche-lez-Ecaussinnes", + "Marchienne-au-Pont", + "Marchin", + "Marchipont", + "Marchovelette", + "Marcinelle", + "Marcourt", + "Marenne", + "Mariakerke", + "Mariekerke", + "Mariembourg", + "Marilles", + "Mark", + "Marke", + "Markegem", + "Marneffe", + "Marquain", + "Martelange", + "Martenslinde", + "Martouzin-Neuville", + "Masbourg", + "Masnuy-Saint-Jean", + "Masnuy-Saint-Pierre", + "Massemen", + "Massenhoven", + "Matagne-la-Grande", + "Matagne-la-Petite", + "Mater", + "Maubray", + "Maulde", + "Maurage", + "Mazenzele", + "Mazy", + "Mazée", + "Mechelen", + "Mechelen-Bovelingen", + "Mechelen-aan-de-Maas", + "Meeffe", + "Meensel-Kiezegem", + "Meer", + "Meerbeek", + "Meerbeke", + "Meerdonk", + "Meerhout", + "Meerle", + "Meeswijk", + "Meetkerke", + "Meeuwen", + "Meeuwen-Gruitrode", + "Mehaigne", + "Meigem", + "Meilegem", + "Meise", + "Meix-devant-Virton", + "Meix-le-Tige", + "Melden", + "Meldert", + "Melen", + "Melkwezer", + "Melle", + "Mellery", + "Melles", + "Mellet", + "Mellier", + "Melsbroek", + "Melsele", + "Melsen", + "Membach", + "Membre", + "Membruggen", + "Mendonk", + "Menen", + "Merbes-Sainte-Marie", + "Merbes-le-Château", + "Merchtem", + "Merdorp", + "Mere", + "Merelbeke", + "Merendree", + "Merkem", + "Merksem", + "Merksplas", + "Merlemont", + "Mesen", + "Meslin-l'Evêque", + "Mesnil-Eglise", + "Mesnil-Saint-Blaise", + "Mespelare", + "Messancy", + "Messelbroek", + "Mesvin", + "Mettekoven", + "Mettet", + "Meulebeke", + "Meux", + "Meyerode", + "Michelbeke", + "Micheroux", + "Middelburg", + "Middelkerke", + "Mielen-boven-Aalst", + "Mignault", + "Millen", + "Milmort", + "Minderhout", + "Mirwart", + "Miécret", + "Modave", + "Moelingen", + "Moen", + "Moerbeke", + "Moerbeke-Waas", + "Moere", + "Moerkerke", + "Moerzeke", + "Moeskroen", + "Moha", + "Mohiville", + "Moignelée", + "Moircy", + "Mol", + "Molenbaix", + "Molenbeek-Wersbeek", + "Molenbeersel", + "Molenstede", + "Mollem", + "Momalle", + "Momignies", + "Monceau-Imbrechies", + "Monceau-en-Ardenne", + "Monceau-sur-Sambre", + "Mons", + "Mons-lez-Liège", + "Monstreux", + "Mont", + "Mont-Gauthier", + "Mont-Saint-André", + "Mont-Saint-Aubert", + "Mont-Saint-Guibert", + "Mont-Sainte-Aldegonde", + "Mont-Sainte-Geneviève", + "Mont-de-l'Enclus", + "Mont-sur-Marchienne", + "Montbliart", + "Montegnée", + "Montenaken", + "Montignies-Saint-Christophe", + "Montignies-lez-Lens", + "Montignies-sur-Roc", + "Montignies-sur-Sambre", + "Montigny-le-Tilleul", + "Montleban", + "Montroeul-au-Bois", + "Montroeul-sur-Haine", + "Montzen", + "Moorsel", + "Moorsele", + "Moorslede", + "Moortsele", + "Mopertingen", + "Moregem", + "Moresnet", + "Morhet", + "Morialmé", + "Morkhoven", + "Morlanwelz", + "Morlanwelz-Mariemont", + "Mormont", + "Mornimont", + "Mortier", + "Mortroux", + "Mortsel", + "Morville", + "Moulbaix", + "Mourcourt", + "Moustier", + "Moustier-sur-Sambre", + "Mouzaive", + "Moxhe", + "Mozet", + "Muizen", + "Mullem", + "Munkzwalm", + "Muno", + "Munsterbilzen", + "Munte", + "Musson", + "Mussy-la-Ville", + "My", + "Méan", + "Mélin", + "Mévergnies-lez-Lens", + "Naast", + "Nadrin", + "Nafraiture", + "Nalinnes", + "Namur", + "Namêche", + "Nandrin", + "Naninne", + "Naomé", + "Nassogne", + "Natoye", + "Nazareth", + "Neder-over-Heembeek", + "Nederboelare", + "Nederbrakel", + "Nederename", + "Nederhasselt", + "Nederokkerzeel", + "Nederzwalm-Hermelgem", + "Neerglabbeek", + "Neerharen", + "Neerhespen", + "Neerheylissem", + "Neerijse", + "Neerlanden", + "Neerlinter", + "Neeroeteren", + "Neerpelt", + "Neerrepen", + "Neervelp", + "Neerwaasten", + "Neerwinden", + "Neigem", + "Nerem", + "Nessonvaux", + "Nethen", + "Nettinne", + "Neu-Moresnet", + "Neufchâteau", + "Neufmaison", + "Neufvilles", + "Neupré", + "Neuville", + "Neuville-en-Condroz", + "Nevele", + "Niel", + "Niel-bij-As", + "Niel-bij-Sint-Truiden", + "Nieuwenhove", + "Nieuwenrode", + "Nieuwerkerken", + "Nieuwkapelle", + "Nieuwkerke", + "Nieuwkerken-Waas", + "Nieuwmunster", + "Nieuwpoort", + "Nieuwrode", + "Nijlen", + "Nil-Saint-Vincent-Saint-Martin", + "Nimy", + "Ninove", + "Nismes", + "Nivelles", + "Niverlée", + "Nives", + "Nobressart", + "Nodebais", + "Noduwez", + "Noirchain", + "Noirefontaine", + "Noiseux", + "Nokere", + "Nollevaux", + "Noorderwijk", + "Noordschote", + "Nossegem", + "Nothomb", + "Nouvelles", + "Noville", + "Noville-les-Bois", + "Noville-sur-Méhaigne", + "Nukerke", + "Néchin", + "Obaix", + "Obigies", + "Obourg", + "Ochamps", + "Ocquier", + "Odeigne", + "Odeur", + "Oedelem", + "Oekene", + "Oelegem", + "Oeren", + "Oeselgem", + "Oetingen", + "Oeudeghien", + "Oevel", + "Offagne", + "Ogy", + "Ohain", + "Ohey", + "Oignies-en-Thiérache", + "Oisquercq", + "Oizy", + "Okegem", + "Olen", + "Oleye", + "Ollignies", + "Olloy-sur-Viroin", + "Olmen", + "Olne", + "Olsene", + "Omal", + "Ombret", + "Omezée", + "On", + "Onhaye", + "Onkerzele", + "Onnezies", + "Onoz", + "Onze-Lieve-Vrouw-Lombeek", + "Onze-Lieve-Vrouw-Waver", + "Ooigem", + "Ooike", + "Oombergen", + "Oorbeek", + "Oordegem", + "Oostakker", + "Oostduinkerke", + "Oosteeklo", + "Oostende", + "Oosterzele", + "Oostham", + "Oostkamp", + "Oostkerke-Damme", + "Oostkerke-Diksmuide", + "Oostmalle", + "Oostnieuwkerke", + "Oostrozebeke", + "Oostvleteren", + "Oostwinkel", + "Opbrakel", + "Opdorp", + "Opglabbeek", + "Opgrimbie", + "Ophain-Bois-Seigneur-Isaac", + "Ophasselt", + "Opheers", + "Opheylissem", + "Ophoven", + "Opitter", + "Oplinter", + "Opoeteren", + "Opont", + "Opprebais", + "Oppuurs", + "Opvelp", + "Opwijk", + "Orbais", + "Orchimont", + "Orcq", + "Ordingen", + "Oret", + "Oreye", + "Orgeo", + "Ormeignies", + "Orp-Jauche", + "Orp-le-Grand", + "Orroir", + "Orsmaal-Gussenhoven", + "Ortho", + "Ostiches", + "Otegem", + "Oteppe", + "Othée", + "Otrange", + "Ottenburg", + "Ottergem", + "Ottignies", + "Ottignies-Louvain-la-Neuve", + "Oud-Heverlee", + "Oud-Turnhout", + "Oudegem", + "Oudekapelle", + "Oudenaarde", + "Oudenaken", + "Oudenburg", + "Oudergem", + "Ouffet", + "Ougrée", + "Oupeye", + "Outer", + "Outgaarden", + "Outrelouxhe", + "Outrijve", + "Ouwegem", + "Overboelare", + "Overhespen", + "Overijse", + "Overmere", + "Overpelt", + "Overrepen", + "Overwinden", + "Paal", + "Paifve", + "Pailhe", + "Paliseul", + "Pamel", + "Papignies", + "Parike", + "Passendale", + "Patignies", + "Paturages", + "Paulatem", + "Pecq", + "Peer", + "Peissant", + "Pellaines", + "Pellenberg", + "Pepingen", + "Pepinster", + "Perk", + "Pervijze", + "Perwez", + "Perwez-Haillot", + "Pesche", + "Pessoux", + "Petegem-aan-de-Leie", + "Petegem-aan-de-Schelde", + "Petigny", + "Petit-Fays", + "Petit-Hallet", + "Petit-Rechain", + "Petit-Roeulx-lez-Braine", + "Petit-Roeulx-lez-Nivelles", + "Petit-Thier", + "Petite-Chapelle", + "Peutie", + "Philippeville", + "Pipaix", + "Piringen", + "Pironchamps", + "Pittem", + "Piéton", + "Piétrain", + "Piétrebais", + "Plainevaux", + "Plancenoit", + "Ploegsteert", + "Plombières", + "Poederlee", + "Poeke", + "Poelkapelle", + "Poesele", + "Pollare", + "Polleur", + "Pollinkhove", + "Pommeroeul", + "Pondrôme", + "Pont-de-Loup", + "Pont-à-Celles", + "Pontillas", + "Poperinge", + "Poppel", + "Popuelles", + "Porcheresse", + "Pottes", + "Poucet", + "Poulseur", + "Poupehan", + "Pousset", + "Presgaux", + "Presles", + "Profondeville", + "Proven", + "Pry", + "Pulderbos", + "Pulle", + "Purnode", + "Pussemange", + "Putte", + "Puurs", + "Péronnes-lez-Antoing", + "Péronnes-lez-Binche", + "Péruwelz", + "Quaregnon", + "Quartes", + "Quenast", + "Queue-du-Bois", + "Quevaucamps", + "Quiévrain", + "Quévy", + "Quévy-le-Grand", + "Quévy-le-Petit", + "Rachecourt", + "Racour", + "Raeren", + "Ragnies", + "Rahier", + "Ramegnies", + "Ramegnies-Chin", + "Ramelot", + "Ramillies-Offus", + "Ramsdonk", + "Ramsel", + "Ramskapelle-Knokke-Heist", + "Ramskapelle-Nieuwpoort", + "Rance", + "Ransart", + "Ransberg", + "Ranst", + "Ravels", + "Rebaix", + "Rebecq", + "Rebecq-Rognon", + "Recht", + "Recogne", + "Redu", + "Reet", + "Rekem", + "Rekkem", + "Relegem", + "Remagne", + "Remersdaal", + "Remicourt", + "Rendeux", + "Reninge", + "Reningelst", + "Renlies", + "Reppel", + "Ressaix", + "Ressegem", + "Resteigne", + "Retie", + "Retinne", + "Reuland", + "Rhisnes", + "Richelle", + "Riemst", + "Rienne", + "Rijkel", + "Rijkevorsel", + "Rijkhoven", + "Rijmenam", + "Riksingen", + "Rillaar", + "Rivière", + "Rixensart", + "Rièzes", + "Robechies", + "Robelmont", + "Robertville", + "Roborst", + "Rochefort", + "Rochehaut", + "Rocherath", + "Roclenge-sur-Geer", + "Rocourt", + "Roesbrugge-Haringe", + "Roeselare", + "Rognée", + "Roisin", + "Roksem", + "Rollegem", + "Rollegem-Kapelle", + "Roloux", + "Roly", + "Romedenne", + "Romershoven", + "Romerée", + "Romsée", + "Rongy", + "Ronquières", + "Ronse", + "Ronsele", + "Roosbeek", + "Roosdaal", + "Roselies", + "Rosières", + "Rosmeer", + "Rosoux-Crenwick", + "Rossignol", + "Rosée", + "Rotem", + "Rotheux-Rimière", + "Rotselaar", + "Roucourt", + "Rouveroy", + "Rouvreux", + "Rouvroy", + "Roux", + "Roux-Miroir", + "Roy", + "Rozebeke", + "Ruddervoorde", + "Ruette", + "Ruien", + "Ruisbroek", + "Ruiselede", + "Rukkelingen-Loon", + "Rulles", + "Rumbeke", + "Rumes", + "Rumillies", + "Rummen", + "Rumsdorp", + "Rumst", + "Runkelen", + "Rupelmonde", + "Russeignies", + "Rutten", + "Rèves", + "Saint-Amand", + "Saint-André", + "Saint-Aubin", + "Saint-Denis", + "Saint-Denis-Bovesse", + "Saint-Georges-sur-Meuse", + "Saint-Germain", + "Saint-Ghislain", + "Saint-Gérard", + "Saint-Géry", + "Saint-Hubert", + "Saint-Jean-Geest", + "Saint-Léger", + "Saint-Marc", + "Saint-Mard", + "Saint-Martin", + "Saint-Maur", + "Saint-Médard", + "Saint-Nicolas", + "Saint-Pierre", + "Saint-Remy", + "Saint-Remy-Geest", + "Saint-Sauveur", + "Saint-Servais", + "Saint-Symphorien", + "Saint-Séverin", + "Saint-Vaast", + "Saint-Vincent", + "Sainte-Cécile", + "Sainte-Marie-Chevigny", + "Sainte-Marie-sur-Semois", + "Sainte-Ode", + "Saintes", + "Saive", + "Salles", + "Samart", + "Sambreville", + "Samrée", + "Sankt-Vith", + "Sars-la-Bruyère", + "Sars-la-Buissière", + "Sart-Bernard", + "Sart-Custinne", + "Sart-Dames-Avelines", + "Sart-Eustache", + "Sart-Saint-Laurent", + "Sart-en-Fagne", + "Sart-lez-Spa", + "Sautin", + "Sautour", + "Sauvenière", + "Schaarbeek", + "Schaffen", + "Schalkhoven", + "Schaltin", + "Schelderode", + "Scheldewindeke", + "Schelle", + "Schellebelle", + "Schendelbeke", + "Schepdaal", + "Scherpenheuvel", + "Scherpenheuvel-Zichem", + "Schilde", + "Schoonaarde", + "Schore", + "Schorisse", + "Schoten", + "Schriek", + "Schuiferskapelle", + "Schulen", + "Schönberg", + "Sclayn", + "Scy", + "Seilles", + "Seloignes", + "Semmerzake", + "Seneffe", + "Sensenruth", + "Seny", + "Senzeille", + "Septon", + "Seraing", + "Seraing-le-Château", + "Serinchamps", + "Serskamp", + "Serville", + "Sibret", + "Signeulx", + "Sijsele", + "Silenrieux", + "Silly", + "Sinaai-Waas", + "Sinsin", + "Sint-Agatha-Berchem", + "Sint-Agatha-Rode", + "Sint-Amands", + "Sint-Amandsberg", + "Sint-Andries", + "Sint-Antelinks", + "Sint-Baafs-Vijve", + "Sint-Blasius-Boekel", + "Sint-Denijs", + "Sint-Denijs-Boekel", + "Sint-Denijs-Westrem", + "Sint-Eloois-Vijve", + "Sint-Eloois-Winkel", + "Sint-Genesius-Rode", + "Sint-Gillis", + "Sint-Gillis-Waas", + "Sint-Gillis-bij-Dendermonde", + "Sint-Goriks-Oudenhove", + "Sint-Huibrechts-Hern", + "Sint-Huibrechts-Lille", + "Sint-Jacobs-Kapelle", + "Sint-Jan", + "Sint-Jan-in-Eremo", + "Sint-Jans-Molenbeek", + "Sint-Job-in-'t-Goor", + "Sint-Joost-ten-Node", + "Sint-Joris-Beernem", + "Sint-Joris-Nieuwpoort", + "Sint-Joris-Weert", + "Sint-Joris-Winge", + "Sint-Katelijne-Waver", + "Sint-Katherina-Lombeek", + "Sint-Kornelis-Horebeke", + "Sint-Kruis", + "Sint-Kruis-Winkel", + "Sint-Kwintens-Lennik", + "Sint-Lambrechts-Herk", + "Sint-Lambrechts-Woluwe", + "Sint-Laureins", + "Sint-Laureins-Berchem", + "Sint-Lenaarts", + "Sint-Lievens-Esse", + "Sint-Lievens-Houtem", + "Sint-Margriete", + "Sint-Margriete-Houtem", + "Sint-Maria-Horebeke", + "Sint-Maria-Latem", + "Sint-Maria-Lierde", + "Sint-Maria-Oudenhove-Brakel", + "Sint-Maria-Oudenhove-Zottegem", + "Sint-Martens-Bodegem", + "Sint-Martens-Latem", + "Sint-Martens-Leerne", + "Sint-Martens-Lennik", + "Sint-Martens-Lierde", + "Sint-Martens-Voeren", + "Sint-Michiels", + "Sint-Niklaas", + "Sint-Pauwels", + "Sint-Pieters-Kapelle", + "Sint-Pieters-Leeuw", + "Sint-Pieters-Rode", + "Sint-Pieters-Voeren", + "Sint-Pieters-Woluwe", + "Sint-Rijkers", + "Sint-Stevens-Woluwe", + "Sint-Truiden", + "Sint-Ulriks-Kapelle", + "Sippenaeken", + "Sirault", + "Sivry", + "Sivry-Rance", + "Sleidinge", + "Slijpe", + "Slins", + "Sluizen", + "Smeerebbe-Vloerzegem", + "Smetlede", + "Smuid", + "Snaaskerke", + "Snellegem", + "Soheit-Tinlot", + "Sohier", + "Soignies", + "Soiron", + "Solre-Saint-Géry", + "Solre-sur-Sambre", + "Sombreffe", + "Somme-Leuze", + "Sommethonne", + "Sommière", + "Somzée", + "Sorinne-la-Longue", + "Sorinnes", + "Sorée", + "Sosoye", + "Sougné-Remouchamps", + "Soulme", + "Soumagne", + "Soumoy", + "Sourbrodt", + "Souvret", + "Sovet", + "Soy", + "Soye", + "Spa", + "Spalbeek", + "Spermalie", + "Spiennes", + "Spiere", + "Spiere-Helkijn", + "Spontin", + "Spouwen", + "Sprimont", + "Spy", + "Stabroek", + "Staden", + "Stalhille", + "Stambruges", + "Stave", + "Stavele", + "Stavelot", + "Steendorp", + "Steenhuffel", + "Steenhuize-Wijnhuize", + "Steenkerke", + "Steenkerque", + "Steenokkerzeel", + "Stekene", + "Stembert", + "Stene", + "Sterrebeek", + "Stevoort", + "Stokrooie", + "Stoumont", + "Straimont", + "Strijpen", + "Strijtem", + "Strombeek-Bever", + "Strée", + "Strée-lez-Huy", + "Strépy-Bracquegnies", + "Stuivekenskerke", + "Suarlée", + "Sugny", + "Surice", + "Suxy", + "Sélange", + "Tailles", + "Taintignies", + "Tamines", + "Tarcienne", + "Tavier", + "Taviers", + "Tavigny", + "Tellin", + "Templeuve", + "Temploux", + "Temse", + "Tenneville", + "Teralfene", + "Terhagen", + "Termes", + "Ternat", + "Tertre", + "Tervuren", + "Terwagne", + "Tessenderlo", + "Testelt", + "Teuven", + "Theux", + "Thiaumont", + "Thieu", + "Thieulain", + "Thieusies", + "Thimister", + "Thimister-Clermont", + "Thimougies", + "Thiméon", + "Thines", + "Thirimont", + "Thisnes", + "Thommen", + "Thon", + "Thorembais-Saint-Trond", + "Thorembais-les-Béguines", + "Thoricourt", + "Thuillies", + "Thuin", + "Thulin", + "Thumaide", + "Thy-le-Bauduin", + "Thy-le-Château", + "Thynes", + "Thys", + "Tiegem", + "Tielen", + "Tielrode", + "Tielt", + "Tielt-Winge", + "Tienen", + "Tignée", + "Tihange", + "Tildonk", + "Tilff", + "Tillet", + "Tilleur", + "Tillier", + "Tilly", + "Tinlot", + "Tintange", + "Tintigny", + "Tisselt", + "Toernich", + "Tohogne", + "Tollembeek", + "Tongeren", + "Tongerlo", + "Tongre-Notre-Dame", + "Tongre-Saint-Martin", + "Tongrinne", + "Tontelange", + "Torgny", + "Torhout", + "Tourinne", + "Tourinnes-Saint-Lambert", + "Tournai", + "Tournay", + "Tourpes", + "Transinne", + "Trazegnies", + "Treignes", + "Trembleur", + "Tremelo", + "Trivières", + "Trognée", + "Trois-Ponts", + "Trooz", + "Tubize", + "Turnhout", + "Ucimont", + "Uikhoven", + "Uitbergen", + "Uitkerke", + "Ukkel", + "Ulbeek", + "Upigny", + "Ursel", + "Vaalbeek", + "Val-Meer", + "Vance", + "Varendonk", + "Varsenare", + "Vaucelles", + "Vaulx", + "Vaulx-lez-Chimay", + "Vaux-Chavanne", + "Vaux-et-Borset", + "Vaux-lez-Rosières", + "Vaux-sous-Chèvremont", + "Vaux-sur-Sûre", + "Vechmaal", + "Vedrin", + "Veerle", + "Velaine-sur-Sambre", + "Velaines", + "Veldegem", + "Veldwezelt", + "Vellereille-le-Sec", + "Vellereille-les-Brayeux", + "Velm", + "Velroux", + "Veltem-Beisem", + "Velzeke-Ruddershove", + "Vencimont", + "Vergnies", + "Verlaine", + "Verlée", + "Verrebroek", + "Vertrijk", + "Verviers", + "Vesqueville", + "Veulen", + "Veurne", + "Vezin", + "Vezon", + "Viane", + "Vichte", + "Vielsalm", + "Viemme", + "Viersel", + "Vierset-Barse", + "Vierves-sur-Viroin", + "Viesville", + "Vieux-Genappe", + "Vieux-Waleffe", + "Vieuxville", + "Villance", + "Ville-Pommeroeul", + "Ville-en-Hesbaye", + "Ville-sur-Haine", + "Villerot", + "Villers-Deux-Eglises", + "Villers-Notre-Dame", + "Villers-Perwin", + "Villers-Poterie", + "Villers-Saint-Amand", + "Villers-Saint-Ghislain", + "Villers-Saint-Siméon", + "Villers-Sainte-Gertrude", + "Villers-aux-Tours", + "Villers-devant-Orval", + "Villers-en-Fagne", + "Villers-l'Evêque", + "Villers-la-Bonne-Eau", + "Villers-la-Loue", + "Villers-la-Tour", + "Villers-la-Ville", + "Villers-le-Bouillet", + "Villers-le-Gambon", + "Villers-le-Peuplier", + "Villers-le-Temple", + "Villers-lez-Heest", + "Villers-sur-Lesse", + "Villers-sur-Semois", + "Vilvoorde", + "Vinalmont", + "Vinderhoute", + "Vinkem", + "Vinkt", + "Virelles", + "Virginal-Samme", + "Viroinval", + "Virton", + "Vissenaken", + "Visé", + "Vitrival", + "Vivegnis", + "Vivy", + "Vladslo", + "Vlamertinge", + "Vlekkem", + "Vleteren", + "Vlezenbeek", + "Vliermaal", + "Vliermaalroot", + "Vlierzele", + "Vlijtingen", + "Vlimmeren", + "Vlissegem", + "Vloesberg", + "Vodecée", + "Vodelée", + "Voeren", + "Vogenée", + "Volkegem", + "Vollezele", + "Vonêche", + "Voorde", + "Voormezele", + "Voort", + "Voroux-Goreux", + "Voroux-lez-Liers", + "Vorselaar", + "Vorsen", + "Vorst", + "Vosselaar", + "Vosselare", + "Vossem", + "Vottem", + "Vrasene", + "Vremde", + "Vreren", + "Vresse-sur-Semois", + "Vroenhoven", + "Vucht", + "Vurste", + "Vyle-et-Tharoul", + "Waanrode", + "Waarbeke", + "Waardamme", + "Waarloos", + "Waarmaarde", + "Waarschoot", + "Waasmont", + "Waasmunster", + "Waasten", + "Wachtebeke", + "Wadelincourt", + "Wagnelée", + "Waha", + "Waillet", + "Wakken", + "Walcourt", + "Walem", + "Walhain", + "Walhain-Saint-Paul", + "Walhorn", + "Walsbets", + "Walshoutem", + "Waltwilder", + "Wambeek", + "Wancennes", + "Wandre", + "Wanfercée-Baulet", + "Wange", + "Wangenies", + "Wanlin", + "Wanne", + "Wannebecq", + "Wannegem-Lede", + "Wansin", + "Wanze", + "Wanzele", + "Warchin", + "Warcoing", + "Wardin", + "Waregem", + "Waremme", + "Waret-l'Evêque", + "Waret-la-Chaussée", + "Warisoulx", + "Warnant", + "Warnant-Dreye", + "Warquignies", + "Warsage", + "Warzée", + "Wasmes", + "Wasmes-Audemez-Briffoeil", + "Wasmuel", + "Wasseiges", + "Waterland-Oudeman", + "Waterloo", + "Watermaal-Bosvoorde", + "Watervliet", + "Watou", + "Wattripont", + "Waudrez", + "Waulsort", + "Wauthier-Braine", + "Waver", + "Wavreille", + "Wayaux", + "Ways", + "Webbekom", + "Wechelderzande", + "Weelde", + "Weerde", + "Weert", + "Wegnez", + "Weillen", + "Weismes", + "Welden", + "Welkenraedt", + "Welle", + "Wellen", + "Wellin", + "Wemmel", + "Wenduine", + "Werbomont", + "Werchter", + "Werken", + "Werm", + "Wervik", + "Wespelaar", + "Westende", + "Westerlo", + "Westkapelle", + "Westkerke", + "Westmalle", + "Westmeerbeek", + "Westouter", + "Westrem", + "Westrozebeke", + "Westvleteren", + "Wetteren", + "Wevelgem", + "Wez-Velvain", + "Wezemaal", + "Wezembeek-Oppem", + "Wezeren", + "Wibrin", + "Wichelen", + "Widooie", + "Wiekevorst", + "Wielsbeke", + "Wierde", + "Wiers", + "Wiesme", + "Wieze", + "Wihogne", + "Wihéries", + "Wijchmaal", + "Wijer", + "Wijgmaal", + "Wijnegem", + "Wijshagen", + "Wijtschate", + "Wilderen", + "Willaupuis", + "Willebringen", + "Willebroek", + "Willemeau", + "Willerzie", + "Wilrijk", + "Wilsele", + "Wilskerke", + "Wimmertingen", + "Winenne", + "Wingene", + "Winksele", + "Wintershoven", + "Witry", + "Wodecq", + "Woesten", + "Wolkrange", + "Wolvertem", + "Wommelgem", + "Wommersom", + "Wonck", + "Wondelgem", + "Wontergem", + "Wortegem", + "Wortegem-Petegem", + "Wortel", + "Woubrechtegem", + "Woumen", + "Wulpen", + "Wulvergem", + "Wulveringem", + "Wuustwezel", + "Wépion", + "Wéris", + "Xhendelesse", + "Xhendremael", + "Xhoris", + "Yernée-Fraineux", + "Yves-Gomezée", + "Yvoir", + "Zaffelare", + "Zandbergen", + "Zande", + "Zandhoven", + "Zandvliet", + "Zandvoorde-Oostende", + "Zandvoorde-Zonnebeke", + "Zarlardinge", + "Zarren", + "Zaventem", + "Zedelgem", + "Zeebrugge", + "Zegelsem", + "Zele", + "Zelem", + "Zellik", + "Zelzate", + "Zemst", + "Zepperen", + "Zerkegem", + "Zevekote", + "Zeveneken", + "Zeveren", + "Zevergem", + "Zichem", + "Zichen-Zussen-Bolder", + "Zillebeke", + "Zingem", + "Zoerle-Parwijs", + "Zoersel", + "Zolder", + "Zomergem", + "Zonhoven", + "Zonnebeke", + "Zonnegem", + "Zottegem", + "Zoutenaaie", + "Zoutleeuw", + "Zuidschote", + "Zuienkerke", + "Zulte", + "Zulzeke", + "Zutendaal", + "Zwalm", + "Zwevegem", + "Zwevezele", + "Zwijnaarde", + "Zwijndrecht", + "Zétrud-Lumay", + "l'Escaillère", ) provinces = ( - "Antwerpen", "Henegouwen", "Limburg", "Luik", "Luxemburg", "Namen", - "Oost-Vlaanderen", "Vlaams-Brabant", "Waals-Brabant", "West-Vlaanderen", + "Antwerpen", + "Henegouwen", + "Limburg", + "Luik", + "Luxemburg", + "Namen", + "Oost-Vlaanderen", + "Vlaams-Brabant", + "Waals-Brabant", + "West-Vlaanderen", ) - street_name_formats = ( - '{{first_name}}{{street_suffix}}', - ) + street_name_formats = ("{{first_name}}{{street_suffix}}",) - street_address_formats = ( - '{{street_name}} {{building_number}}', - ) + street_address_formats = ("{{street_name}} {{building_number}}",) address_formats = ( "{{street_address}}\n{{postcode}}\n{{city}}", "{{street_address}}\n{{postcode}} {{city}}", ) - def province(self): + def administrative_unit(self) -> str: return self.random_element(self.provinces) - def city(self): + province = administrative_unit + + def city(self) -> str: return self.random_element(self.cities) diff --git a/faker/providers/address/nl_NL/__init__.py b/faker/providers/address/nl_NL/__init__.py index 9f8962ffb8..a69463c3f4 100644 --- a/faker/providers/address/nl_NL/__init__.py +++ b/faker/providers/address/nl_NL/__init__.py @@ -2,586 +2,2736 @@ class Provider(AddressProvider): - building_number_formats = ('#', '##', '###', '#', '##', '###') + building_number_formats = ("#", "##", "###", "#", "##", "###") street_suffixes = ( - 'baan', 'boulevard', 'dreef', 'hof', 'laan', 'pad', - 'ring', 'singel', 'steeg', 'straat', 'weg', + "baan", + "boulevard", + "dreef", + "hof", + "laan", + "pad", + "ring", + "singel", + "steeg", + "straat", + "weg", ) # the 4 digit numerical part of Dutch postcodes is between 1000 and 9999; # see http://nl.wikipedia.org/wiki/Postcode#Postcodes_in_Nederland - postcode_formats = ('%###??', '%### ??') + postcode_formats = ("%###??", "%### ??") - city_formats = ('{{city}}',) + city_formats = ("{{city}}",) # countries are from http://nl.wikipedia.org/wiki/ISO_3166-1 countries = ( - 'Afghanistan', 'Albanië', 'Algerije', 'Amerikaans-Samoa', - 'Amerikaanse Maagdeneilanden', 'Andorra', 'Angola', 'Anguilla', - 'Antarctica', 'Antigua en Barbuda', 'Argentinië', 'Armenië', 'Aruba', - 'Australië', 'Azerbeidzjan', "Bahama's", 'Bahrein', 'Bangladesh', - 'Barbados', 'België', 'Belize', 'Benin', 'Bermuda', 'Bhutan', - 'Bolivia', 'Bonaire, Sint Eustatius en Saba', 'Bosnië en Herzegovina', - 'Botswana', 'Bouveteiland', 'Brazilië', - 'Brits Indische Oceaanterritorium', 'Britse Maagdeneilanden', 'Brunei', - 'Bulgarije', 'Burkina Faso', 'Burundi', 'Cambodja', 'Canada', - 'Centraal-Afrikaanse Republiek', 'Chili', 'China', 'Christmaseiland', - 'Cocoseilanden', 'Colombia', 'Comoren', 'Congo-Brazzaville', - 'Congo-Kinshasa', 'Cookeilanden', 'Costa Rica', 'Cuba', 'Curaçao', - 'Cyprus', 'Denemarken', 'Djibouti', 'Dominica', - 'Dominicaanse Republiek', 'Duitsland', 'Ecuador', 'Egypte', - 'El Salvador', 'Equatoriaal-Guinea', 'Eritrea', 'Estland', 'Ethiopië', - 'Faeröer', 'Falklandeilanden', 'Fiji', 'Filipijnen', 'Finland', - 'Frankrijk', 'Frans-Guyana', 'Frans-Polynesië', - 'Franse Zuidelijke en Antarctische Gebieden', 'Gabon', 'Gambia', - 'Georgië', 'Ghana', 'Gibraltar', 'Grenada', 'Griekenland', 'Groenland', - 'Guadeloupe', 'Guam', 'Guatemala', 'Guernsey', 'Guinee', - 'Guinee-Bissau', 'Guyana', 'Haïti', 'Heard en McDonaldeilanden', - 'Honduras', 'Hongarije', 'Hongkong', 'IJsland', 'Ierland', 'India', - 'Indonesië', 'Irak', 'Iran', 'Israël', 'Italië', 'Ivoorkust', - 'Jamaica', 'Japan', 'Jemen', 'Jersey', 'Jordanië', 'Kaaimaneilanden', - 'Kaapverdië', 'Kameroen', 'Kazachstan', 'Kenia', 'Kirgizië', - 'Kiribati', 'Kleine Pacifische eilanden van de Verenigde Staten', - 'Koeweit', 'Kroatië', 'Laos', 'Lesotho', 'Letland', 'Libanon', - 'Liberia', 'Libië', 'Liechtenstein', 'Litouwen', 'Luxemburg', 'Macau', - 'Macedonië', 'Madagaskar', 'Malawi', 'Maldiven', 'Maleisië', 'Mali', - 'Malta', 'Man', 'Marokko', 'Marshalleilanden', 'Martinique', - 'Mauritanië', 'Mauritius', 'Mayotte', 'Mexico', 'Micronesia', - 'Moldavië', 'Monaco', 'Mongolië', 'Montenegro', 'Montserrat', - 'Mozambique', 'Myanmar', 'Namibië', 'Nauru', 'Nederland', 'Nepal', - 'Nicaragua', 'Nieuw-Caledonië', 'Nieuw-Zeeland', 'Niger', 'Nigeria', - 'Niue', 'Noord-Korea', 'Noordelijke Marianen', 'Noorwegen', 'Norfolk', - 'Oeganda', 'Oekraïne', 'Oezbekistan', 'Oman', 'Oost-Timor', - 'Oostenrijk', 'Pakistan', 'Palau', 'Palestina', 'Panama', - 'Papoea-Nieuw-Guinea', 'Paraguay', 'Peru', 'Pitcairneilanden', 'Polen', - 'Portugal', 'Puerto Rico', 'Qatar', 'Roemenië', 'Rusland', 'Rwanda', - 'Réunion', 'Saint Kitts en Nevis', 'Saint Lucia', - 'Saint Vincent en de Grenadines', 'Saint-Barthélemy', - 'Saint-Pierre en Miquelon', 'Salomonseilanden', 'Samoa', 'San Marino', - 'Sao Tomé en Principe', 'Saoedi-Arabië', 'Senegal', 'Servië', - 'Seychellen', 'Sierra Leone', 'Singapore', 'Sint Maarten', - 'Sint-Helena, Ascension en Tristan da Cunha', 'Sint-Maarten', - 'Slovenië', 'Slowakije', 'Soedan', 'Somalië', 'Spanje', - 'Spitsbergen en Jan Mayen', 'Sri Lanka', 'Suriname', 'Swaziland', - 'Syrië', 'Tadzjikistan', 'Taiwan', 'Tanzania', 'Thailand', 'Togo', - 'Tokelau', 'Tonga', 'Trinidad en Tobago', 'Tsjaad', 'Tsjechië', - 'Tunesië', 'Turkije', 'Turkmenistan', 'Turks- en Caicoseilanden', - 'Tuvalu', 'Uruguay', 'Vanuatu', 'Vaticaanstad', 'Venezuela', - 'Verenigd Koninkrijk', 'Verenigde Arabische Emiraten', - 'Verenigde Staten', 'Vietnam', 'Wallis en Futuna', 'Westelijke Sahara', - 'Wit-Rusland', 'Zambia', 'Zimbabwe', 'Zuid-Afrika', - 'Zuid-Georgia en de Zuidelijke Sandwicheilanden', 'Zuid-Korea', - 'Zuid-Soedan', 'Zweden', 'Zwitserland', 'Åland', + "Afghanistan", + "Albanië", + "Algerije", + "Amerikaans-Samoa", + "Amerikaanse Maagdeneilanden", + "Andorra", + "Angola", + "Anguilla", + "Antarctica", + "Antigua en Barbuda", + "Argentinië", + "Armenië", + "Aruba", + "Australië", + "Azerbeidzjan", + "Bahama's", + "Bahrein", + "Bangladesh", + "Barbados", + "België", + "Belize", + "Benin", + "Bermuda", + "Bhutan", + "Bolivia", + "Bonaire, Sint Eustatius en Saba", + "Bosnië en Herzegovina", + "Botswana", + "Bouveteiland", + "Brazilië", + "Brits Indische Oceaanterritorium", + "Britse Maagdeneilanden", + "Brunei", + "Bulgarije", + "Burkina Faso", + "Burundi", + "Cambodja", + "Canada", + "Centraal-Afrikaanse Republiek", + "Chili", + "China", + "Christmaseiland", + "Cocoseilanden", + "Colombia", + "Comoren", + "Congo-Brazzaville", + "Congo-Kinshasa", + "Cookeilanden", + "Costa Rica", + "Cuba", + "Curaçao", + "Cyprus", + "Denemarken", + "Djibouti", + "Dominica", + "Dominicaanse Republiek", + "Duitsland", + "Ecuador", + "Egypte", + "El Salvador", + "Equatoriaal-Guinea", + "Eritrea", + "Estland", + "Ethiopië", + "Faeröer", + "Falklandeilanden", + "Fiji", + "Filipijnen", + "Finland", + "Frankrijk", + "Frans-Guyana", + "Frans-Polynesië", + "Franse Zuidelijke en Antarctische Gebieden", + "Gabon", + "Gambia", + "Georgië", + "Ghana", + "Gibraltar", + "Grenada", + "Griekenland", + "Groenland", + "Guadeloupe", + "Guam", + "Guatemala", + "Guernsey", + "Guinee", + "Guinee-Bissau", + "Guyana", + "Haïti", + "Heard en McDonaldeilanden", + "Honduras", + "Hongarije", + "Hongkong", + "IJsland", + "Ierland", + "India", + "Indonesië", + "Irak", + "Iran", + "Israël", + "Italië", + "Ivoorkust", + "Jamaica", + "Japan", + "Jemen", + "Jersey", + "Jordanië", + "Kaaimaneilanden", + "Kaapverdië", + "Kameroen", + "Kazachstan", + "Kenia", + "Kirgizië", + "Kiribati", + "Kleine Pacifische eilanden van de Verenigde Staten", + "Koeweit", + "Kroatië", + "Laos", + "Lesotho", + "Letland", + "Libanon", + "Liberia", + "Libië", + "Liechtenstein", + "Litouwen", + "Luxemburg", + "Macau", + "Macedonië", + "Madagaskar", + "Malawi", + "Maldiven", + "Maleisië", + "Mali", + "Malta", + "Man", + "Marokko", + "Marshalleilanden", + "Martinique", + "Mauritanië", + "Mauritius", + "Mayotte", + "Mexico", + "Micronesia", + "Moldavië", + "Monaco", + "Mongolië", + "Montenegro", + "Montserrat", + "Mozambique", + "Myanmar", + "Namibië", + "Nauru", + "Nederland", + "Nepal", + "Nicaragua", + "Nieuw-Caledonië", + "Nieuw-Zeeland", + "Niger", + "Nigeria", + "Niue", + "Noord-Korea", + "Noordelijke Marianen", + "Noorwegen", + "Norfolk", + "Oeganda", + "Oekraïne", + "Oezbekistan", + "Oman", + "Oost-Timor", + "Oostenrijk", + "Pakistan", + "Palau", + "Palestina", + "Panama", + "Papoea-Nieuw-Guinea", + "Paraguay", + "Peru", + "Pitcairneilanden", + "Polen", + "Portugal", + "Puerto Rico", + "Qatar", + "Roemenië", + "Rusland", + "Rwanda", + "Réunion", + "Saint Kitts en Nevis", + "Saint Lucia", + "Saint Vincent en de Grenadines", + "Saint-Barthélemy", + "Saint-Pierre en Miquelon", + "Salomonseilanden", + "Samoa", + "San Marino", + "Sao Tomé en Principe", + "Saoedi-Arabië", + "Senegal", + "Servië", + "Seychellen", + "Sierra Leone", + "Singapore", + "Sint Maarten", + "Sint-Helena, Ascension en Tristan da Cunha", + "Sint-Maarten", + "Slovenië", + "Slowakije", + "Soedan", + "Somalië", + "Spanje", + "Spitsbergen en Jan Mayen", + "Sri Lanka", + "Suriname", + "Swaziland", + "Syrië", + "Tadzjikistan", + "Taiwan", + "Tanzania", + "Thailand", + "Togo", + "Tokelau", + "Tonga", + "Trinidad en Tobago", + "Tsjaad", + "Tsjechië", + "Tunesië", + "Turkije", + "Turkmenistan", + "Turks- en Caicoseilanden", + "Tuvalu", + "Uruguay", + "Vanuatu", + "Vaticaanstad", + "Venezuela", + "Verenigd Koninkrijk", + "Verenigde Arabische Emiraten", + "Verenigde Staten", + "Vietnam", + "Wallis en Futuna", + "Westelijke Sahara", + "Wit-Rusland", + "Zambia", + "Zimbabwe", + "Zuid-Afrika", + "Zuid-Georgia en de Zuidelijke Sandwicheilanden", + "Zuid-Korea", + "Zuid-Soedan", + "Zweden", + "Zwitserland", + "Åland", ) # cities are taken from the BAG "woonplaats"; # in this case the 8-Mar-2014 extract; # see http://data.nlextract.nl/bag/csv/ cities = ( - "'s Gravenmoer", "'s-Graveland", "'s-Gravendeel", "'s-Gravenhage", - "'s-Gravenpolder", "'s-Gravenzande", "'s-Heer Abtskerke", - "'s-Heer Arendskerke", "'s-Heer Hendrikskinderen", "'s-Heerenberg", - "'s-Heerenbroek", "'s-Heerenhoek", "'s-Hertogenbosch", "'t Goy", - "'t Haantje", "'t Harde", "'t Loo Oldebroek", "'t Veld", "'t Waar", - "'t Zand", "'t Zandt", '1e Exloërmond', '2e Exloërmond', - '2e Valthermond', 'Aadorp', 'Aagtekerke', 'Aalden', 'Aalsmeer', - 'Aalsmeerderbrug', 'Aalst', 'Aalsum', 'Aalten', 'Aardenburg', - 'Aarlanderveen', 'Aarle-Rixtel', 'Aartswoud', 'Abbega', 'Abbekerk', - 'Abbenbroek', 'Abbenes', 'Abcoude', 'Achlum', 'Achterveld', - 'Achthuizen', 'Achtmaal', 'Acquoy', 'Adorp', 'Aduard', 'Aerdenhout', - 'Aerdt', 'Afferden', 'Afferden L', 'Agelo', 'Akersloot', 'Akkrum', - 'Akmarijp', 'Albergen', 'Alblasserdam', 'Alde Leie', 'Aldeboarn', - 'Aldtsjerk', 'Alem', 'Alkmaar', 'Allingawier', 'Almelo', 'Almen', - 'Almere', 'Almkerk', 'Alphen', 'Alphen aan den Rijn', 'Alteveer', - 'Alteveer gem Hoogeveen', 'Altforst', 'Ambt Delden', 'Ameide', 'Amen', - 'America', 'Amerongen', 'Amersfoort', 'Ammerstol', 'Ammerzoden', - 'Amstelhoek', 'Amstelveen', 'Amstenrade', 'Amsterdam', - 'Amsterdam-Duivendrecht', 'Andel', 'Andelst', 'Anderen', 'Andijk', - 'Ane', 'Anerveen', 'Anevelde', 'Angeren', 'Angerlo', 'Anjum', - 'Ankeveen', 'Anloo', 'Anna Paulowna', 'Annen', 'Annerveenschekanaal', - 'Ansen', 'Apeldoorn', 'Appelscha', 'Appeltern', 'Appingedam', 'Arcen', - 'Arkel', 'Arnemuiden', 'Arnhem', 'Arriën', 'Arum', 'Asch', 'Asperen', - 'Assen', 'Assendelft', 'Asten', 'Augsbuurt', 'Augustinusga', - 'Austerlitz', 'Avenhorn', 'Axel', 'Azewijn', 'Baaiduinen', 'Baaium', - 'Baak', 'Baambrugge', 'Baard', 'Baarland', 'Baarle-Nassau', 'Baarlo', - 'Baarn', 'Baars', 'Babberich', 'Babyloniënbroek', 'Bad Nieuweschans', - 'Badhoevedorp', 'Baexem', 'Baflo', 'Bakel', 'Bakhuizen', 'Bakkeveen', - 'Balgoij', 'Balinge', 'Balk', 'Balkbrug', 'Balloo', 'Balloërveld', - 'Ballum', 'Baneheide', 'Banholt', 'Bant', 'Bantega', 'Barchem', - 'Barendrecht', 'Barger-Compascuum', 'Barneveld', 'Barsingerhorn', - 'Basse', 'Batenburg', 'Bathmen', 'Bavel', 'Bavel AC', 'Bears', 'Bedum', - 'Beegden', 'Beek', 'Beek en Donk', 'Beekbergen', 'Beemte Broekland', - 'Beers NB', 'Beerta', 'Beerze', 'Beerzerveld', 'Beesd', 'Beesel', - 'Beets', 'Beetsterzwaag', 'Beilen', 'Beinsdorp', 'Belfeld', - 'Bellingwolde', 'Belt-Schutsloot', 'Beltrum', 'Bemelen', 'Bemmel', - 'Beneden-Leeuwen', 'Bennebroek', 'Bennekom', 'Benneveld', - 'Benningbroek', 'Benschop', 'Bentelo', 'Benthuizen', 'Bentveld', - 'Berg en Dal', 'Berg en Terblijt', 'Bergambacht', 'Bergeijk', - 'Bergen (NH)', 'Bergen L', 'Bergen aan Zee', 'Bergen op Zoom', - 'Bergentheim', 'Bergharen', 'Berghem', 'Bergschenhoek', 'Beringe', - 'Berkel en Rodenrijs', 'Berkel-Enschot', 'Berkenwoude', 'Berkhout', - 'Berlicum', 'Berltsum', 'Bern', 'Best', 'Beugen', 'Beuningen', - 'Beuningen Gld', 'Beusichem', 'Beutenaken', 'Beverwijk', - 'Biddinghuizen', 'Bierum', 'Biervliet', 'Biest-Houtakker', - 'Biezenmortel', 'Biggekerke', 'Bilthoven', 'Bingelrade', 'Bitgum', - 'Bitgummole', 'Bladel', 'Blankenham', 'Blaricum', 'Blauwestad', - 'Blauwhuis', 'Bleiswijk', 'Blesdijke', 'Bleskensgraaf ca', 'Blessum', - 'Blije', 'Blijham', 'Blitterswijck', 'Bloemendaal', 'Blokker', - 'Blokzijl', 'Boazum', 'Bocholtz', 'Bodegraven', 'Boekel', - 'Boelenslaan', 'Boer', 'Boerakker', 'Boesingheliede', 'Boijl', - 'Boksum', 'Bolsward', 'Bontebok', 'Boornbergum', 'Boornzwaag', - 'Borculo', 'Borger', 'Borgercompagnie', 'Borgsweer', 'Born', 'Borne', - 'Bornerbroek', 'Bornwird', 'Borssele', 'Bosch en Duin', 'Boschoord', - 'Boskoop', 'Bosschenhoofd', 'Botlek Rotterdam', 'Bourtange', - 'Boven-Leeuwen', 'Bovenkarspel', 'Bovensmilde', 'Boxmeer', 'Boxtel', - 'Braamt', 'Brakel', 'Brandwijk', 'Brantgum', 'Breda', 'Bredevoort', - 'Breedenbroek', 'Breezand', 'Breezanddijk', 'Breskens', 'Breukelen', - 'Breukeleveen', 'Brielle', 'Briltil', 'Britsum', 'Britswert', 'Broek', - 'Broek in Waterland', 'Broek op Langedijk', 'Broekhuizen', - 'Broekhuizenvorst', 'Broekland', 'Broeksterwâld', 'Bronkhorst', - 'Bronneger', 'Bronnegerveen', 'Brouwershaven', 'Bruchem', 'Brucht', - 'Bruchterveld', 'Bruinehaar', 'Bruinisse', 'Brummen', 'Brunssum', - 'Bruntinge', 'Buchten', 'Budel', 'Budel-Dorplein', 'Budel-Schoot', - 'Buggenum', 'Buinen', 'Buinerveen', 'Buitenkaag', 'Buitenpost', - 'Bunde', 'Bunne', 'Bunnik', 'Bunschoten-Spakenburg', 'Burdaard', - 'Buren', 'Burgerbrug', 'Burgerveen', 'Burgh-Haamstede', 'Burgum', - 'Burgwerd', 'Burum', 'Bussum', 'Buurmalsen', 'Cadier en Keer', - 'Cadzand', 'Callantsoog', 'Capelle aan den IJssel', 'Castelre', - 'Castenray', 'Casteren', 'Castricum', 'Chaam', 'Clinge', 'Coevorden', - 'Colijnsplaat', 'Collendoorn', 'Colmschate', 'Cornwerd', 'Cothen', - 'Creil', 'Cromvoirt', 'Cruquius', 'Cuijk', 'Culemborg', 'Daarle', - 'Daarlerveen', 'Dalem', 'Dalen', 'Dalerpeel', 'Dalerveen', 'Dalfsen', - 'Dalmsholte', 'Damwâld', 'Darp', 'De Bilt', 'De Blesse', 'De Bult', - 'De Cocksdorp', 'De Falom', 'De Glind', 'De Goorn', 'De Groeve', - 'De Heen', 'De Heurne', 'De Hoeve', 'De Kiel', 'De Klomp', 'De Knipe', - 'De Koog', 'De Krim', 'De Kwakel', 'De Lier', 'De Meern', 'De Moer', - 'De Mortel', 'De Pol', 'De Punt', 'De Rijp', 'De Rips', - 'De Schiphorst', 'De Steeg', 'De Tike', 'De Veenhoop', 'De Waal', - 'De Weere', 'De Westereen', 'De Wilgen', 'De Wilp', 'De Zilk', - 'Dearsum', 'Dedemsvaart', 'Dedgum', 'Deelen', 'Deest', 'Deil', - 'Deinum', 'Delden', 'Delfgauw', 'Delfstrahuizen', 'Delft', 'Delfzijl', - 'Delwijnen', 'Demen', 'Den Andel', 'Den Bommel', 'Den Burg', - 'Den Dolder', 'Den Dungen', 'Den Ham', 'Den Helder', 'Den Hoorn', - 'Den Horn', 'Den Hout', 'Den Ilp', 'Den Oever', 'Den Velde', - 'Denekamp', 'Deurne', 'Deurningen', 'Deursen-Dennenburg', 'Deurze', - 'Deventer', 'Didam', 'Dieden', 'Diemen', 'Diepenheim', 'Diepenveen', - 'Dieren', 'Diessen', 'Diever', 'Dieverbrug', 'Diffelen', 'Dijken', - 'Dinteloord', 'Dinxperlo', 'Diphoorn', 'Dirkshorn', 'Dirksland', - 'Dodewaard', 'Doenrade', 'Doesburg', 'Doetinchem', 'Doeveren', - 'Doezum', 'Dokkum', 'Doldersum', 'Domburg', 'Donderen', 'Dongen', - 'Dongjum', 'Doniaga', 'Donkerbroek', 'Doorn', 'Doornenburg', - 'Doornspijk', 'Doorwerth', 'Dordrecht', 'Dorst', 'Drachten', - 'Drachten-Azeven', 'Drachtstercompagnie', 'Dreischor', 'Drempt', - 'Dreumel', 'Driebergen-Rijsenburg', 'Drieborg', 'Driebruggen', - 'Driehuis NH', 'Driehuizen', 'Driel', 'Driewegen', 'Driezum', - 'Drijber', 'Drimmelen', 'Drogeham', 'Drogteropslagen', 'Drongelen', - 'Dronryp', 'Dronten', 'Drouwen', 'Drouwenermond', 'Drouwenerveen', - 'Drunen', 'Druten', 'Duiven', 'Duivendrecht', 'Duizel', 'Dussen', - 'Dwingeloo', 'Eagum', 'Earnewâld', 'Easterein', 'Easterlittens', - 'Eastermar', 'Easterwierrum', 'Echt', 'Echteld', 'Echten', - 'Echtenerbrug', 'Eck en Wiel', 'Eckelrade', 'Edam', 'Ede', 'Ederveen', - 'Ee', 'Eede', 'Eefde', 'Eelde', 'Eelderwolde', 'Eemdijk', 'Eemnes', - 'Eemshaven', 'Een', 'Een-West', 'Eenrum', 'Eenum', 'Eerbeek', 'Eersel', - 'Ees', 'Eesergroen', 'Eeserveen', 'Eesterga', 'Eesveen', 'Eethen', - 'Eext', 'Eexterveen', 'Eexterveenschekanaal', 'Eexterzandvoort', - 'Egchel', 'Egmond aan Zee', 'Egmond aan den Hoef', 'Egmond-Binnen', - 'Eibergen', 'Eijsden', 'Eindhoven', 'Einighausen', 'Ekehaar', - 'Elahuizen', 'Elburg', 'Eldersloo', 'Eleveld', 'Elim', 'Elkenrade', - 'Ell', 'Ellecom', 'Ellemeet', 'Ellertshaar', 'Ellewoutsdijk', 'Elp', - 'Elsendorp', 'Elshout', 'Elsloo', 'Elspeet', 'Elst', 'Elst Ut', - 'Emmeloord', 'Emmen', 'Emmer-Compascuum', 'Empe', 'Emst', 'Engwierum', - 'Enkhuizen', 'Ens', 'Enschede', 'Enspijk', 'Enter', 'Enumatil', 'Epe', - 'Epen', 'Eppenhuizen', 'Epse', 'Erica', 'Erichem', 'Erlecom', 'Erm', - 'Ermelo', 'Erp', 'Esbeek', 'Esch', 'Escharen', 'Espel', 'Est', 'Etten', - 'Etten-Leur', 'Europoort Rotterdam', 'Eursinge', 'Everdingen', - 'Evertsoord', 'Ewijk', 'Exloo', 'Exloërveen', 'Exmorra', 'Eygelshoven', - 'Eys', 'Ezinge', 'Farmsum', 'Feanwâlden', 'Feerwerd', 'Feinsum', - 'Ferwert', 'Ferwoude', 'Fijnaart', 'Finsterwolde', 'Firdgum', - 'Fleringen', 'Fluitenberg', 'Fochteloo', 'Follega', 'Folsgare', - 'Formerum', 'Foudgum', 'Foxhol', 'Foxwolde', 'Franeker', - 'Frederiksoord', 'Friens', 'Frieschepalen', 'Froombosch', 'Gaanderen', - 'Gaast', 'Gaastmeer', 'Galder', 'Gameren', 'Gapinge', 'Garderen', - 'Garmerwolde', 'Garminge', 'Garnwerd', 'Garrelsweer', 'Garsthuizen', - 'Garyp', 'Gassel', 'Gasselte', 'Gasselternijveen', - 'Gasselternijveenschemond', 'Gastel', 'Gasteren', 'Gauw', 'Geelbroek', - 'Geerdijk', 'Geersdijk', 'Geertruidenberg', 'Geervliet', 'Gees', - 'Geesbrug', 'Geesteren', 'Geeuwenbrug', 'Geffen', 'Geijsteren', - 'Geldermalsen', 'Gelderswoude', 'Geldrop', 'Geleen', 'Gellicum', - 'Gelselaar', 'Gemert', 'Gemonde', 'Genderen', 'Gendringen', 'Gendt', - 'Genemuiden', 'Gennep', 'Gerkesklooster', 'Gersloot', 'Geulle', - 'Giesbeek', 'Giessen', 'Giessenburg', 'Gieten', 'Gieterveen', - 'Giethmen', 'Giethoorn', 'Gilze', 'Ginnum', 'Glane', 'Glimmen', - 'Godlinze', 'Goedereede', 'Goes', 'Goingarijp', 'Goirle', 'Goor', - 'Gorinchem', 'Gorredijk', 'Gorssel', 'Gouda', 'Gouderak', 'Goudriaan', - 'Goudswaard', 'Goutum', 'Goënga', 'Goëngahuizen', 'Graauw', - 'Grafhorst', 'Graft', 'Gramsbergen', 'Grashoek', 'Grathem', 'Grave', - 'Greonterp', 'Grevenbicht', 'Griendtsveen', 'Grijpskerk', - 'Grijpskerke', 'Groede', 'Groenekan', 'Groeningen', 'Groenlo', - 'Groesbeek', 'Groessen', 'Groet', 'Grolloo', 'Groningen', 'Gronsveld', - 'Groot-Ammers', 'Grootebroek', 'Grootegast', 'Grootschermer', 'Grou', - 'Grubbenvorst', 'Gulpen', 'Guttecoven', 'Gytsjerk', 'Haaften', - 'Haaksbergen', 'Haalderen', 'Haaren', 'Haarle', 'Haarlem', - 'Haarlemmerliede', 'Haarlo', 'Haarsteeg', 'Haarzuilens', 'Haastrecht', - 'Haelen', 'Hagestein', 'Haghorst', 'Haler', 'Halfweg', 'Hall', 'Halle', - 'Hallum', 'Halsteren', 'Handel', 'Hank', 'Hansweert', 'Hantum', - 'Hantumeruitburen', 'Hantumhuizen', 'Hapert', 'Haps', 'Harbrinkhoek', - 'Hardenberg', 'Harderwijk', 'Hardinxveld-Giessendam', 'Haren', - 'Haren Gn', 'Harfsen', 'Harich', 'Haringhuizen', 'Harkema', - 'Harkstede', 'Harlingen', 'Harmelen', 'Harreveld', 'Harskamp', - 'Hartwerd', 'Haskerdijken', 'Haskerhorne', 'Hasselt', 'Hattem', - 'Hattemerbroek', 'Haule', 'Haulerwijk', 'Hauwert', 'Havelte', - 'Havelterberg', 'Hazerswoude-Dorp', 'Hazerswoude-Rijndijk', 'Hedel', - 'Hedikhuizen', 'Hee', 'Heeg', 'Heel', 'Heelsum', 'Heelweg', - 'Heemserveen', 'Heemskerk', 'Heemstede', 'Heenvliet', 'Heerde', - 'Heerenveen', 'Heerewaarden', 'Heerhugowaard', 'Heerjansdam', 'Heerle', - 'Heerlen', 'Heesbeen', 'Heesch', 'Heesselt', 'Heeswijk-Dinther', - 'Heeten', 'Heeze', 'Hegebeintum', 'Hegelsom', 'Hei- en Boeicop', - 'Heibloem', 'Heide', 'Heijen', 'Heijenrath', 'Heijningen', 'Heikant', - 'Heilig Landstichting', 'Heiligerlee', 'Heiloo', 'Heinenoord', - 'Heinkenszand', 'Heino', 'Hekelingen', 'Hekendorp', 'Helden', - 'Helenaveen', 'Hellendoorn', 'Hellevoetsluis', 'Hellouw', 'Hellum', - 'Helmond', 'Helvoirt', 'Hem', 'Hemelum', 'Hemmen', 'Hempens', 'Hemrik', - 'Hendrik-Ido-Ambacht', 'Hengelo', 'Hengelo (Gld)', 'Hengevelde', - 'Hengstdijk', 'Hensbroek', 'Herbaijum', 'Herkenbosch', 'Herkingen', - 'Hernen', 'Herpen', 'Herpt', 'Herten', 'Hertme', 'Herveld', 'Herwen', - 'Herwijnen', 'Heteren', 'Heukelom', 'Heukelum', 'Heumen', 'Heusden', - 'Heveadorp', 'Heythuysen', 'Hezingen', 'Hiaure', 'Hichtum', 'Hidaard', - 'Hierden', 'Hieslum', 'Hijken', 'Hijum', 'Hilaard', 'Hillegom', - 'Hilvarenbeek', 'Hilversum', 'Hindeloopen', 'Hinnaard', - 'Hippolytushoef', 'Hitzum', 'Hobrede', 'Hoedekenskerke', 'Hoek', - 'Hoek van Holland', 'Hoenderloo', 'Hoensbroek', 'Hoenzadriel', - 'Hoevelaken', 'Hoeven', 'Hoge Hexel', 'Hollandsche Rading', - 'Hollandscheveld', 'Hollum', 'Holsloot', 'Holten', 'Holthees', - 'Holtheme', 'Holthone', 'Holtum', 'Holwerd', 'Holwierde', 'Hommerts', - 'Homoet', 'Honselersdijk', 'Hoofddorp', 'Hoofdplaat', 'Hoog Soeren', - 'Hoog-Keppel', 'Hoogblokland', 'Hooge Mierde', 'Hooge Zwaluwe', - 'Hoogeloon', 'Hoogenweg', 'Hoogerheide', 'Hoogersmilde', 'Hoogeveen', - 'Hoogezand', 'Hooghalen', 'Hoogkarspel', 'Hoogland', 'Hooglanderveen', - 'Hoogmade', 'Hoogvliet Rotterdam', 'Hoogwoud', 'Hoorn', 'Hoornaar', - 'Hoornsterzwaag', 'Horn', 'Hornhuizen', 'Horssen', 'Horst', 'Houten', - 'Houtigehage', 'Houwerzijl', 'Huijbergen', 'Huis ter Heide', - 'Huisduinen', 'Huisseling', 'Huissen', 'Huizen', 'Huizinge', - 'Hulsberg', 'Hulsel', 'Hulshorst', 'Hulst', 'Hulten', 'Hummelo', - 'Hunsel', 'Hurdegaryp', 'Hurwenen', 'Húns', 'IJhorst', 'IJlst', - 'IJmuiden', 'IJsselham', 'IJsselmuiden', 'IJsselstein', 'IJzendijke', - 'IJzendoorn', 'Idaerd', 'Idsegahuizum', 'Idskenhuizen', 'Idzega', - 'Iens', 'Ilpendam', 'Indijk', 'Ingber', 'Ingelum', 'Ingen', - 'It Heidenskip', 'Itens', 'Ittervoort', 'Jaarsveld', 'Jabeek', - 'Jannum', 'Jellum', 'Jelsum', 'Jirnsum', 'Jislum', 'Jisp', 'Jistrum', - 'Jonkerslân', 'Jonkersvaart', 'Joppe', 'Jorwert', 'Joure', 'Jouswier', - 'Jubbega', 'Julianadorp', 'Jutrijp', 'Kaag', 'Kaard', 'Kaatsheuvel', - 'Kalenberg', 'Kallenkote', 'Kamerik', 'Kampen', 'Kamperland', - 'Kamperveen', 'Kantens', 'Kapel Avezaath', 'Kapel-Avezaath', 'Kapelle', - 'Kapellebrug', 'Katlijk', 'Kats', 'Kattendijke', 'Katwijk', - 'Katwijk NB', 'Katwoude', 'Kedichem', 'Keent', 'Keijenborg', - 'Kekerdom', 'Kelpen-Oler', 'Kerk Avezaath', 'Kerk-Avezaath', - 'Kerkdriel', 'Kerkenveld', 'Kerkrade', 'Kerkwerve', 'Kerkwijk', - 'Kessel', 'Kesteren', 'Kiel-Windeweer', 'Kilder', 'Kimswerd', - 'Kinderdijk', 'Kinnum', 'Klaaswaal', 'Klarenbeek', 'Klazienaveen', - 'Klazienaveen-Noord', 'Klein Zundert', 'Klijndijk', 'Klimmen', - 'Kloetinge', 'Klooster Lidlum', 'Kloosterburen', 'Kloosterhaar', - 'Kloosterzande', 'Klundert', 'Knegsel', 'Koarnjum', 'Kockengen', - 'Koedijk', 'Koekange', 'Koewacht', 'Kolderwolde', 'Kolham', 'Kolhorn', - 'Kollum', 'Kollumerpomp', 'Kollumerzwaag', 'Kommerzijl', - 'Koningsbosch', 'Koningslust', 'Koog aan de Zaan', 'Koolwijk', - 'Kootstertille', 'Kootwijk', 'Kootwijkerbroek', 'Kornhorn', - 'Kornwerderzand', 'Kortehemmen', 'Kortenhoef', 'Kortgene', - 'Koudekerk aan den Rijn', 'Koudekerke', 'Koudum', 'Koufurderrige', - 'Krabbendijke', 'Kraggenburg', 'Kreileroord', 'Krewerd', - 'Krimpen aan de Lek', 'Krimpen aan den IJssel', 'Kring van Dorth', - 'Krommenie', 'Kronenberg', 'Kropswolde', 'Kruiningen', 'Kruisland', - 'Kudelstaart', 'Kuinre', 'Kuitaart', 'Kwadendamme', 'Kwadijk', - 'Kwintsheul', 'Kûbaard', 'Laag Zuthem', 'Laag-Keppel', 'Laag-Soeren', - 'Lage Mierde', 'Lage Vuursche', 'Lage Zwaluwe', 'Lageland', - 'Lambertschaag', 'Lamswaarde', 'Landerum', 'Landgraaf', 'Landhorst', - 'Landsmeer', 'Langbroek', 'Langedijke', 'Langelille', 'Langelo', - 'Langenboom', 'Langerak', 'Langeveen', 'Langeweg', 'Langezwaag', - 'Langweer', 'Laren', 'Lathum', 'Lattrop-Breklenkamp', 'Lauwersoog', - 'Lauwerzijl', 'Ledeacker', 'Leek', 'Leende', 'Leens', 'Leerbroek', - 'Leerdam', 'Leermens', 'Leersum', 'Leeuwarden', 'Legemeer', 'Leiden', - 'Leiderdorp', 'Leidschendam', 'Leimuiden', 'Leimuiderbrug', - 'Lekkerkerk', 'Lekkum', 'Lellens', 'Lelystad', 'Lemele', 'Lemelerveld', - 'Lemiers', 'Lemmer', 'Lengel', 'Lent', 'Leons', 'Lepelstraat', - 'Lettelbert', 'Lettele', 'Leunen', 'Leur', 'Leusden', 'Leuth', - 'Leutingewolde', 'Leuvenheim', 'Leveroy', 'Lewedorp', 'Lexmond', - 'Lichtaard', 'Lichtenvoorde', 'Liempde', 'Lienden', 'Lierderholthuis', - 'Lieren', 'Lierop', 'Lies', 'Lieshout', 'Liessel', 'Lievelde', - 'Lieveren', 'Lijnden', 'Limbricht', 'Limmen', 'Linde', 'Linden', - 'Linne', 'Linschoten', 'Lioessens', 'Lippenhuizen', 'Lisse', - 'Lisserbroek', 'Lith', 'Lithoijen', 'Lobith', 'Lochem', 'Loenen', - 'Loenen aan de Vecht', 'Loenersloot', 'Loerbeek', 'Lollum', 'Lomm', - 'Longerhouw', 'Loo Gld', 'Loon', 'Loon op Zand', 'Loosbroek', - 'Loosdrecht', 'Loozen', 'Lopik', 'Lopikerkapel', 'Loppersum', - 'Losdorp', 'Losser', 'Lottum', 'Loënga', 'Lucaswolde', 'Luddeweer', - 'Luinjeberd', 'Lunteren', 'Lutjebroek', 'Lutjegast', 'Lutjewinkel', - 'Luttelgeest', 'Lutten', 'Luttenberg', 'Luxwoude', 'Luyksgestel', - 'Lytsewierrum', 'Maarheeze', 'Maarn', 'Maarsbergen', 'Maarssen', - 'Maartensdijk', 'Maasbommel', 'Maasbracht', 'Maasbree', 'Maasdam', - 'Maasdijk', 'Maashees', 'Maasland', 'Maassluis', 'Maastricht', - 'Maastricht-Airport', 'Maasvlakte Rotterdam', 'Macharen', 'Made', - 'Makkinga', 'Makkum', 'Malden', 'Mander', 'Manderveen', 'Mantgum', - 'Mantinge', 'Maren-Kessel', 'Margraten', 'Maria Hoop', 'Mariahout', - 'Mariaparochie', 'Marijenkampen', 'Mariënberg', 'Mariënheem', - 'Mariënvelde', 'Markelo', 'Marken', 'Markenbinnen', 'Marknesse', - 'Marle', 'Marrum', 'Marsum', 'Marum', 'Marwijksoord', 'Mastenbroek', - 'Matsloot', 'Maurik', 'Mechelen', 'Medemblik', 'Meeden', 'Meedhuizen', - 'Meerkerk', 'Meerlo', 'Meerssen', 'Meerstad', 'Meeuwen', 'Megchelen', - 'Megen', 'Meijel', 'Melderslo', 'Melick', 'Meliskerke', 'Melissant', - 'Menaam', 'Mensingeweer', 'Meppel', 'Meppen', 'Merkelbeek', 'Merselo', - 'Meteren', 'Meterik', 'Metslawier', 'Mheer', 'Middelaar', 'Middelburg', - 'Middelharnis', 'Middelie', 'Middelstum', 'Middenbeemster', - 'Middenmeer', 'Midlaren', 'Midlum', 'Midsland', 'Midwolda', 'Midwolde', - 'Midwoud', 'Miedum', 'Mierlo', 'Mijdrecht', 'Mijnsheerenland', - 'Mildam', 'Milheeze', 'Mill', 'Millingen aan de Rijn', 'Milsbeek', - 'Minnertsga', 'Mirns', 'Moddergat', 'Moerdijk', 'Moergestel', - 'Moerkapelle', 'Moerstraten', 'Molenaarsgraaf', 'Molenhoek', - 'Molenschot', 'Molkwerum', 'Monnickendam', 'Monster', 'Montfoort', - 'Montfort', 'Mook', 'Mookhoek', 'Moordrecht', 'Moorveld', 'Morra', - 'Muiden', 'Muiderberg', 'Munnekeburen', 'Munnekezijl', 'Munstergeleen', - 'Muntendam', 'Mussel', 'Musselkanaal', 'Mûnein', 'Naaldwijk', - 'Naarden', 'Nagele', 'Nederasselt', 'Nederhemert', - 'Nederhorst den Berg', 'Nederland', 'Nederweert', 'Nederweert-Eind', - 'Neede', 'Neer', 'Neerijnen', 'Neeritter', 'Neerkant', 'Neerlangel', - 'Neerloon', 'Nes', 'Netersel', 'Netterden', 'Niawier', 'Nibbixwoud', - 'Niebert', 'Niehove', 'Niekerk', 'Nietap', 'Nieuw Annerveen', - 'Nieuw Beerta', 'Nieuw Heeten', 'Nieuw Namen', 'Nieuw Scheemda', - 'Nieuw- en Sint Joosland', 'Nieuw-Amsterdam', 'Nieuw-Balinge', - 'Nieuw-Beijerland', 'Nieuw-Buinen', 'Nieuw-Dordrecht', - 'Nieuw-Lekkerland', 'Nieuw-Roden', 'Nieuw-Schoonebeek', 'Nieuw-Vennep', - 'Nieuw-Vossemeer', 'Nieuw-Weerdinge', 'Nieuwaal', 'Nieuwdorp', - 'Nieuwe Niedorp', 'Nieuwe Pekela', 'Nieuwe Wetering', 'Nieuwe-Tonge', - 'Nieuwebrug', 'Nieuwediep', 'Nieuwegein', 'Nieuwehorne', 'Nieuwendijk', - 'Nieuwer Ter Aa', 'Nieuwerbrug aan den Rijn', 'Nieuwerkerk', - 'Nieuwerkerk aan den IJssel', 'Nieuweroord', 'Nieuwersluis', - 'Nieuweschoot', 'Nieuwkoop', 'Nieuwkuijk', 'Nieuwland', 'Nieuwlande', - 'Nieuwlande Coevorden', 'Nieuwleusen', 'Nieuwolda', 'Nieuwpoort', - 'Nieuwstadt', 'Nieuwveen', 'Nieuwvliet', 'Niezijl', 'Niftrik', - 'Nigtevecht', 'Nij Altoenae', 'Nij Beets', 'Nijbroek', 'Nijeberkoop', - 'Nijega', 'Nijehaske', 'Nijeholtpade', 'Nijeholtwolde', 'Nijelamer', - 'Nijemirdum', 'Nijensleek', 'Nijetrijne', 'Nijeveen', 'Nijhuizum', - 'Nijkerk', 'Nijkerkerveen', 'Nijland', 'Nijlande', 'Nijmegen', - 'Nijverdal', 'Nispen', 'Nisse', 'Nistelrode', 'Noardburgum', - 'Nooitgedacht', 'Noorbeek', 'Noord-Scharwoude', 'Noord-Sleen', - 'Noordbeemster', 'Noordbroek', 'Noordeinde', 'Noordeinde Gld', - 'Noordeloos', 'Noorden', 'Noordgouwe', 'Noordhoek', 'Noordhorn', - 'Noordlaren', 'Noordscheschut', 'Noordwelle', 'Noordwijk', - 'Noordwijkerhout', 'Noordwolde', 'Nootdorp', 'Norg', 'Notter', - 'Nuenen', 'Nuis', 'Nuland', 'Numansdorp', 'Nunhem', 'Nunspeet', 'Nuth', - 'Nutter', 'Obbicht', 'Obdam', 'Ochten', 'Odijk', 'Odiliapeel', - 'Odoorn', 'Odoornerveen', 'Oeffelt', 'Oegstgeest', 'Oene', 'Oentsjerk', - 'Offingawier', 'Ohé en Laak', 'Oijen', 'Oirlo', 'Oirsbeek', 'Oirschot', - 'Oisterwijk', 'Okkenbroek', 'Olburgen', 'Oldeberkoop', 'Oldebroek', - 'Oldeholtpade', 'Oldeholtwolde', 'Oldehove', 'Oldekerk', 'Oldelamer', - 'Oldemarkt', 'Oldenzaal', 'Oldenzijl', 'Oldeouwer', 'Oldetrijne', - 'Olst', 'Olterterp', 'Ommel', 'Ommen', 'Ommeren', 'Onderdendam', - 'Onna', 'Onnen', 'Onstwedde', 'Ooij', 'Ooltgensplaat', - 'Oost West en Middelbeers', 'Oost-Graftdijk', 'Oost-Souburg', - 'Oostburg', 'Oostdijk', 'Oosteind', 'Oosterbeek', 'Oosterbierum', - 'Oosterblokker', 'Oosterend', 'Oosterhesselen', 'Oosterhout', - 'Oosterland', 'Oosterleek', 'Oosternieland', 'Oosternijkerk', - 'Oosterstreek', 'Oosterwijk', 'Oosterwijtwerd', 'Oosterwolde', - 'Oosterwolde Gld', 'Oosterzee', 'Oosthem', 'Oosthuizen', 'Oostkapelle', - 'Oostknollendam', 'Oostrum', 'Oostvoorne', 'Oostwold', 'Oostwoud', - 'Oostzaan', 'Ootmarsum', 'Opeinde', 'Opende', 'Ophemert', 'Opheusden', - 'Opijnen', 'Oploo', 'Opmeer', 'Oppenhuizen', 'Opperdoes', 'Oranje', - 'Oranjewoud', 'Orvelte', 'Ospel', 'Oss', 'Ossendrecht', 'Ossenisse', - 'Ossenwaard', 'Ossenzijl', 'Oterleek', 'Otterlo', 'Ottersum', - 'Ottoland', 'Oud Ade', 'Oud Annerveen', 'Oud Gastel', 'Oud Ootmarsum', - 'Oud Zuilen', 'Oud-Alblas', 'Oud-Beijerland', 'Oud-Vossemeer', - 'Ouddorp', 'Oude Meer', 'Oude Niedorp', 'Oude Pekela', 'Oude Wetering', - 'Oude Willem', 'Oude-Tonge', 'Oudebildtzijl', 'Oudega', 'Oudehaske', - 'Oudehorne', 'Oudelande', 'Oudemirdum', 'Oudemolen', 'Oudenbosch', - 'Oudendijk', 'Oudenhoorn', 'Ouderkerk aan de Amstel', - 'Ouderkerk aan den IJssel', 'Oudeschans', 'Oudeschild', 'Oudeschip', - 'Oudeschoot', 'Oudesluis', 'Oudewater', 'Oudezijl', 'Oudheusden', - 'Oudkarspel', 'Oudorp', 'Oudwoude', 'Ouwerkerk', 'Ouwster-Nijega', - 'Ouwsterhaule', 'Overasselt', 'Overberg', 'Overdinkel', 'Overlangel', - 'Overloon', 'Overschild', 'Overslag', 'Overveen', 'Ovezande', - 'Paasloo', 'Paesens', 'Pannerden', 'Panningen', 'Papekop', - 'Papendrecht', 'Papenhoven', 'Papenvoort', 'Parrega', 'Paterswolde', - 'Peest', 'Peins', 'Peize', 'Peperga', 'Pernis Rotterdam', 'Persingen', - 'Pesse', 'Petten', 'Philippine', 'Piaam', 'Piershil', 'Pieterburen', - 'Pietersbierum', 'Pieterzijl', 'Pijnacker', 'Pingjum', 'Plasmolen', - 'Poederoijen', 'Poeldijk', 'Polsbroek', 'Poortugaal', 'Poortvliet', - 'Poppenwier', 'Posterholt', 'Prinsenbeek', 'Puiflijk', 'Punthorst', - 'Purmer', 'Purmerend', 'Purmerland', 'Puth', 'Putte', 'Putten', - 'Puttershoek', 'Raalte', 'Raamsdonk', 'Raamsdonksveer', 'Raard', - 'Radewijk', 'Radio Kootwijk', 'Raerd', 'Randwijk', 'Ransdaal', - 'Rasquert', 'Ravenstein', 'Ravenswaaij', 'Ravenswoud', 'Readtsjerk', - 'Reahûs', 'Reduzum', 'Reek', 'Reeuwijk', 'Reijmerstok', 'Reitsum', - 'Rekken', 'Renesse', 'Renkum', 'Renswoude', 'Ressen', 'Retranchement', - 'Reusel', 'Reutum', 'Reuver', 'Rha', 'Rheden', 'Rhee', 'Rheeze', - 'Rheezerveen', 'Rhenen', 'Rhenoy', 'Rhoon', 'Ridderkerk', 'Ried', - 'Riel', 'Rien', 'Riethoven', 'Rietmolen', 'Rijen', 'Rijkevoort', - 'Rijkevoort-De Walsert', 'Rijnsaterwoude', 'Rijnsburg', 'Rijpwetering', - 'Rijs', 'Rijsbergen', 'Rijsenhout', 'Rijssen', 'Rijswijk', - 'Rijswijk (GLD)', 'Rijswijk (NB)', 'Rilland', 'Rinsumageast', - 'Ritthem', 'Rockanje', 'Roden', 'Roderesch', 'Roderwolde', - 'Roelofarendsveen', 'Roermond', 'Rogat', 'Roggel', 'Rohel', 'Rolde', - 'Roodeschool', 'Roosendaal', 'Roosteren', 'Rosmalen', 'Rossum', - 'Roswinkel', 'Rotstergaast', 'Rotsterhaule', 'Rotterdam', - 'Rotterdam-Albrandswaard', 'Rottevalle', 'Rottum', 'Rouveen', - 'Rozenburg', 'Rozendaal', 'Rucphen', 'Ruigahuizen', 'Ruinen', - 'Ruinerwold', 'Rumpt', 'Rutten', 'Ruurlo', 'Ryptsjerk', 'Saaksum', - 'Saasveld', 'Saaxumhuizen', 'Sambeek', 'Sandfirden', 'Santpoort-Noord', - 'Santpoort-Zuid', 'Sappemeer', 'Sas van Gent', 'Sassenheim', 'Sauwerd', - 'Schagen', 'Schagerbrug', 'Schaijk', 'Schalkhaar', 'Schalkwijk', - 'Schalsum', 'Schardam', 'Scharendijke', 'Scharmer', 'Scharnegoutum', - 'Scharsterbrug', 'Scharwoude', 'Scheemda', 'Scheerwolde', - 'Schellinkhout', 'Schelluinen', 'Schermerhorn', 'Scherpenisse', - 'Scherpenzeel', 'Schettens', 'Scheulder', 'Schiedam', - 'Schiermonnikoog', 'Schijf', 'Schijndel', 'Schildwolde', 'Schimmert', - 'Schin op Geul', 'Schinnen', 'Schinveld', 'Schipborg', 'Schiphol', - 'Schiphol-Rijk', 'Schipluiden', 'Schokland', 'Schoondijke', - 'Schoonebeek', 'Schoonhoven', 'Schoonloo', 'Schoonoord', - 'Schoonrewoerd', 'Schoorl', 'Schore', 'Schouwerzijl', 'Schraard', - 'Schuinesloot', 'Sebaldeburen', 'Sellingen', 'Serooskerke', 'Sevenum', - 'Sexbierum', 'Sibculo', 'Sibrandabuorren', 'Sibrandahûs', 'Siddeburen', - 'Siebengewald', 'Siegerswoude', 'Sijbekarspel', 'Silvolde', - 'Simonshaven', 'Simpelveld', 'Sinderen', 'Sint Agatha', 'Sint Annen', - 'Sint Anthonis', 'Sint Geertruid', 'Sint Hubert', 'Sint Jansklooster', - 'Sint Jansteen', 'Sint Joost', 'Sint Kruis', 'Sint Maarten', - 'Sint Maartensbrug', 'Sint Maartensvlotbrug', 'Sint Nicolaasga', - 'Sint Odiliënberg', 'Sint Pancras', 'Sint Philipsland', - 'Sint-Annaland', 'Sint-Maartensdijk', 'Sint-Michielsgestel', - 'Sint-Oedenrode', 'Sintjohannesga', 'Sirjansland', 'Sittard', - 'Skingen', 'Slagharen', 'Slappeterp', 'Sleen', 'Sleeuwijk', 'Slenaken', - 'Sliedrecht', 'Slijk-Ewijk', 'Slijkenburg', 'Slochteren', 'Slootdorp', - 'Sloten', 'Sluis', 'Sluiskil', 'Smakt', 'Smalle Ee', 'Smallebrugge', - 'Smilde', 'Snakkerburen', 'Sneek', 'Snelrewaard', 'Snikzwaag', - 'Soerendonk', 'Soest', 'Soesterberg', 'Someren', 'Sommelsdijk', - 'Son en Breugel', 'Sondel', 'Sonnega', 'Spaarndam', - 'Spaarndam gem. Haarlem', 'Spanbroek', 'Spanga', 'Spankeren', - 'Spannum', 'Spaubeek', 'Spier', 'Spierdijk', 'Spijk', 'Spijk Gn', - 'Spijkenisse', 'Spijkerboor', 'Sprang-Capelle', 'Sprundel', 'Spui', - 'St. Willebrord', 'St.-Annaparochie', 'St.-Jacobiparochie', - "Stad aan 't Haringvliet", 'Stadskanaal', 'Stampersgat', - 'Standdaarbuiten', 'Staphorst', 'Starnmeer', 'Startenhuizen', - 'Stavenisse', 'Stavoren', 'Stedum', 'Steenbergen', 'Steendam', - 'Steenderen', 'Steenenkamer', 'Steensel', 'Steenwijk', - 'Steenwijkerwold', 'Stegeren', 'Steggerda', 'Stein', 'Stellendam', - 'Sterksel', 'Stevensbeek', 'Stevensweert', 'Steyl', 'Stieltjeskanaal', - 'Stiens', 'Stitswerd', 'Stokkum', 'Stolwijk', 'Stompetoren', - 'Stoutenburg', 'Stoutenburg Noord', 'Stramproy', 'Streefkerk', - 'Striep', 'Strijbeek', 'Strijen', 'Strijensas', 'Stroe', 'Stroobos', - 'Stuifzand', 'Sumar', 'Surhuisterveen', 'Surhuizum', 'Susteren', - 'Suwâld', 'Swalmen', 'Sweikhuizen', 'Swichum', 'Swifterbant', - 'Swolgen', 'Taarlo', 'Teeffelen', 'Teerns', 'Tegelen', 'Ten Boer', - 'Ten Post', 'Ter Aar', 'Ter Aard', 'Ter Apel', 'Ter Apelkanaal', - 'Ter Heijde', 'Ter Idzard', 'Terband', 'Terborg', 'Terheijden', - 'Terherne', 'Terhole', 'Terkaple', 'Termunten', 'Termunterzijl', - 'Ternaard', 'Terneuzen', 'Teroele', 'Terschuur', 'Tersoal', - 'Terwispel', 'Terwolde', 'Teteringen', 'Teuge', 'Thesinge', 'Tholen', - 'Thorn', 'Tiel', 'Tiendeveen', 'Tienhoven', 'Tienray', 'Tijnje', - 'Tilburg', 'Tilligte', 'Tinallinge', 'Tinte', 'Tirns', 'Tjalhuizum', - 'Tjalleberd', 'Tjerkgaast', 'Tjerkwerd', 'Tjuchem', 'Tolbert', - 'Toldijk', 'Tolkamer', 'Tollebeek', 'Tonden', 'Toornwerd', 'Tricht', - 'Triemen', 'Tripscompagnie', 'Tubbergen', 'Tuil', 'Tuitjenhorn', 'Tuk', - "Tull en 't Waal", 'Twello', 'Twijzel', 'Twijzelerheide', 'Twisk', - 'Tynaarlo', 'Tytsjerk', 'Tzum', 'Tzummarum', 'Ubbena', 'Ubbergen', - 'Uddel', 'Uden', 'Udenhout', 'Uffelte', 'Ugchelen', 'Uitdam', - 'Uitgeest', 'Uithoorn', 'Uithuizen', 'Uithuizermeeden', - 'Uitwellingerga', 'Uitwijk', 'Ulestraten', 'Ulft', 'Ulicoten', 'Ulrum', - 'Ulvenhout', 'Ulvenhout AC', 'Ureterp', 'Urk', 'Urmond', 'Ursem', - 'Ursem gem. S', 'Usquert', 'Utrecht', 'Vaals', 'Vaassen', 'Valburg', - 'Valkenburg', 'Valkenswaard', 'Valthe', 'Valthermond', 'Varik', - 'Varsselder', 'Varsseveld', 'Vasse', 'Veelerveen', 'Veen', 'Veendam', - 'Veenendaal', 'Veenhuizen', 'Veeningen', 'Veenklooster', 'Veenoord', - 'Veere', 'Veessen', 'Vegelinsoord', 'Veghel', 'Velddriel', 'Velden', - 'Veldhoven', 'Velp', 'Velsen-Noord', 'Velsen-Zuid', 'Velserbroek', - 'Ven-Zelderheide', 'Venebrugge', 'Venhorst', 'Venhuizen', 'Venlo', - 'Venray', 'Vessem', 'Vethuizen', 'Veulen', 'Vianen', 'Vianen NB', - 'Vierakker', 'Vierhouten', 'Vierhuizen', 'Vierlingsbeek', - 'Vierpolders', 'Vijfhuizen', 'Vijlen', 'Vilsteren', 'Vinkega', - 'Vinkel', 'Vinkenbuurt', 'Vinkeveen', 'Visvliet', 'Vlaardingen', - 'Vlagtwedde', 'Vledder', 'Vledderveen', 'Vleuten', 'Vlieland', - 'Vlierden', 'Vlijmen', 'Vlissingen', 'Vlist', 'Vlodrop', 'Voerendaal', - 'Vogelenzang', 'Vogelwaarde', 'Volendam', 'Volkel', 'Vollenhove', - 'Vondelingenplaat Rotterdam', 'Voorburg', 'Voorhout', 'Voorschoten', - 'Voorst', 'Voorthuizen', 'Vorchten', 'Vorden', 'Vorstenbosch', - 'Vortum-Mullem', 'Vragender', 'Vredenheim', 'Vredepeel', 'Vreeland', - 'Vries', 'Vriescheloo', 'Vriezenveen', 'Vroomshoop', 'Vrouwenakker', - 'Vrouwenparochie', 'Vrouwenpolder', 'Vught', 'Vuren', 'Waaksens', - 'Waal', 'Waalre', 'Waalwijk', 'Waarde', 'Waardenburg', 'Waarder', - 'Waardhuizen', 'Waarland', 'Waaxens', 'Wachtum', 'Waddinxveen', - 'Wadenoijen', 'Wagenberg', 'Wagenborgen', 'Wageningen', 'Walem', - 'Walsoorden', 'Wamel', 'Wanneperveen', 'Wanroij', 'Wanssum', - 'Wapenveld', 'Wapse', 'Wapserveen', 'Warder', 'Warffum', 'Warfhuizen', - 'Warfstermolen', 'Warmenhuizen', 'Warmond', 'Warns', 'Warnsveld', - 'Warstiens', 'Warten', 'Waskemeer', 'Waspik', 'Wassenaar', 'Wateren', - 'Watergang', 'Waterhuizen', 'Wateringen', 'Waterlandkerkje', - 'Waverveen', 'Wedde', 'Weerselo', 'Weert', 'Weesp', 'Wehe-den Hoorn', - 'Wehl', 'Weidum', 'Weiteveen', 'Wekerom', 'Well', 'Well L', - 'Wellerlooi', 'Welsum', 'Wemeldinge', 'Wenum Wiesel', 'Wergea', - 'Werkendam', 'Werkhoven', 'Wernhout', 'Wervershoof', 'Wesepe', - 'Wessem', 'West-Graftdijk', 'West-Terschelling', 'Westbeemster', - 'Westbroek', 'Westdorp', 'Westdorpe', 'Westendorp', 'Westerbeek', - 'Westerbork', 'Westerbroek', 'Westeremden', 'Westergeest', - 'Westerhaar-Vriezenveensewijk', 'Westerhoven', 'Westerland', - 'Westerlee', 'Westernieland', 'Westervelde', 'Westervoort', - 'Westerwijtwerd', 'Westhem', 'Westhoek', 'Westkapelle', - 'Westknollendam', 'Westmaas', 'Westwoud', 'Westzaan', 'Wetering', - 'Weteringbrug', 'Wetsens', 'Wetsinge', 'Weurt', 'Wezep', 'Wezup', - 'Wezuperbrug', 'Wichmond', 'Wier', 'Wierden', 'Wieringerwaard', - 'Wieringerwerf', 'Wierum', 'Wijchen', 'Wijckel', 'Wijdenes', - 'Wijdewormer', 'Wijhe', 'Wijk aan Zee', 'Wijk bij Duurstede', - 'Wijk en Aalburg', 'Wijlre', 'Wijnaldum', 'Wijnandsrade', 'Wijnbergen', - 'Wijngaarden', 'Wijnjewoude', 'Wijster', 'Wilbertoord', 'Wildervank', - 'Wilhelminadorp', 'Wilhelminaoord', 'Willemsoord', 'Willemstad', - 'Wilnis', 'Wilp', 'Wilsum', 'Winde', 'Windraak', 'Winkel', 'Winneweer', - 'Winschoten', 'Winssen', 'Winsum', 'Wintelre', 'Winterswijk', - 'Winterswijk Brinkheurne', 'Winterswijk Corle', 'Winterswijk Henxel', - 'Winterswijk Huppel', 'Winterswijk Kotten', 'Winterswijk Meddo', - 'Winterswijk Miste', 'Winterswijk Ratum', 'Winterswijk Woold', - 'Wirdum', 'Wirdum Gn', 'Wissenkerke', 'Witharen', 'Witmarsum', - 'Witte Paarden', 'Wittelte', 'Wittem', 'Witteveen', 'Wiuwert', - 'Wjelsryp', 'Woensdrecht', 'Woerden', 'Woerdense Verlaat', 'Wognum', - 'Woldendorp', 'Wolfheze', 'Wolphaartsdijk', 'Wolsum', 'Woltersum', - 'Wolvega', 'Wommels', 'Wons', 'Workum', 'Wormer', 'Wormerveer', - 'Woubrugge', 'Woudbloem', 'Woudenberg', 'Woudrichem', 'Woudsend', - 'Wouw', 'Wouwse Plantage', 'Wyns', 'Wytgaard', 'Wâlterswâld', - 'Wânswert', 'Yde', 'Yerseke', 'Ypecolsga', 'Ysbrechtum', 'Ysselsteyn', - 'Zaamslag', 'Zaandam', 'Zaandijk', 'Zalk', 'Zaltbommel', 'Zandberg', - 'Zandeweer', 'Zandhuizen', 'Zandpol', 'Zandvoort', 'Zeddam', 'Zeegse', - 'Zeeland', 'Zeerijp', 'Zeewolde', 'Zegge', 'Zegveld', 'Zeijen', - 'Zeijerveen', 'Zeijerveld', 'Zeist', 'Zelhem', 'Zenderen', - 'Zennewijnen', 'Zetten', 'Zevenaar', 'Zevenbergen', - 'Zevenbergschen Hoek', 'Zevenhoven', 'Zevenhuizen', 'Zierikzee', - 'Zieuwent', 'Zijderveld', 'Zijdewind', 'Zijldijk', 'Zoelen', - 'Zoelmond', 'Zoetermeer', 'Zoeterwoude', 'Zonnemaire', 'Zorgvlied', - 'Zoutelande', 'Zoutkamp', 'Zuid-Beijerland', 'Zuid-Scharwoude', - 'Zuidbroek', 'Zuiddorpe', 'Zuidermeer', 'Zuiderwoude', 'Zuidhorn', - 'Zuidlaarderveen', 'Zuidland', 'Zuidlaren', 'Zuidoostbeemster', - 'Zuidschermer', 'Zuidveen', 'Zuidveld', 'Zuidvelde', 'Zuidwolde', - 'Zuidzande', 'Zuilichem', 'Zuna', 'Zundert', 'Zurich', 'Zutphen', - 'Zuurdijk', 'Zwaag', 'Zwaagdijk-Oost', 'Zwaagdijk-West', 'Zwaanshoek', - 'Zwagerbosch', 'Zwammerdam', 'Zwanenburg', 'Zwartebroek', 'Zwartemeer', - 'Zwartewaal', 'Zwartsluis', 'Zweeloo', 'Zweins', 'Zwiggelte', - 'Zwijndrecht', 'Zwinderen', 'Zwolle', 'de Hoef', 'de Lutte', 'de Wijk', - 'de Woude', + "'s Gravenmoer", + "'s-Graveland", + "'s-Gravendeel", + "'s-Gravenhage", + "'s-Gravenpolder", + "'s-Gravenzande", + "'s-Heer Abtskerke", + "'s-Heer Arendskerke", + "'s-Heer Hendrikskinderen", + "'s-Heerenberg", + "'s-Heerenbroek", + "'s-Heerenhoek", + "'s-Hertogenbosch", + "'t Goy", + "'t Haantje", + "'t Harde", + "'t Loo Oldebroek", + "'t Veld", + "'t Waar", + "'t Zand", + "'t Zandt", + "1e Exloërmond", + "2e Exloërmond", + "2e Valthermond", + "Aadorp", + "Aagtekerke", + "Aalden", + "Aalsmeer", + "Aalsmeerderbrug", + "Aalst", + "Aalsum", + "Aalten", + "Aardenburg", + "Aarlanderveen", + "Aarle-Rixtel", + "Aartswoud", + "Abbega", + "Abbekerk", + "Abbenbroek", + "Abbenes", + "Abcoude", + "Achlum", + "Achterveld", + "Achthuizen", + "Achtmaal", + "Acquoy", + "Adorp", + "Aduard", + "Aerdenhout", + "Aerdt", + "Afferden", + "Afferden L", + "Agelo", + "Akersloot", + "Akkrum", + "Akmarijp", + "Albergen", + "Alblasserdam", + "Alde Leie", + "Aldeboarn", + "Aldtsjerk", + "Alem", + "Alkmaar", + "Allingawier", + "Almelo", + "Almen", + "Almere", + "Almkerk", + "Alphen", + "Alphen aan den Rijn", + "Alteveer", + "Alteveer gem Hoogeveen", + "Altforst", + "Ambt Delden", + "Ameide", + "Amen", + "America", + "Amerongen", + "Amersfoort", + "Ammerstol", + "Ammerzoden", + "Amstelhoek", + "Amstelveen", + "Amstenrade", + "Amsterdam", + "Amsterdam-Duivendrecht", + "Andel", + "Andelst", + "Anderen", + "Andijk", + "Ane", + "Anerveen", + "Anevelde", + "Angeren", + "Angerlo", + "Anjum", + "Ankeveen", + "Anloo", + "Anna Paulowna", + "Annen", + "Annerveenschekanaal", + "Ansen", + "Apeldoorn", + "Appelscha", + "Appeltern", + "Appingedam", + "Arcen", + "Arkel", + "Arnemuiden", + "Arnhem", + "Arriën", + "Arum", + "Asch", + "Asperen", + "Assen", + "Assendelft", + "Asten", + "Augsbuurt", + "Augustinusga", + "Austerlitz", + "Avenhorn", + "Axel", + "Azewijn", + "Baaiduinen", + "Baaium", + "Baak", + "Baambrugge", + "Baard", + "Baarland", + "Baarle-Nassau", + "Baarlo", + "Baarn", + "Baars", + "Babberich", + "Babyloniënbroek", + "Bad Nieuweschans", + "Badhoevedorp", + "Baexem", + "Baflo", + "Bakel", + "Bakhuizen", + "Bakkeveen", + "Balgoij", + "Balinge", + "Balk", + "Balkbrug", + "Balloo", + "Balloërveld", + "Ballum", + "Baneheide", + "Banholt", + "Bant", + "Bantega", + "Barchem", + "Barendrecht", + "Barger-Compascuum", + "Barneveld", + "Barsingerhorn", + "Basse", + "Batenburg", + "Bathmen", + "Bavel", + "Bavel AC", + "Bears", + "Bedum", + "Beegden", + "Beek", + "Beek en Donk", + "Beekbergen", + "Beemte Broekland", + "Beers NB", + "Beerta", + "Beerze", + "Beerzerveld", + "Beesd", + "Beesel", + "Beets", + "Beetsterzwaag", + "Beilen", + "Beinsdorp", + "Belfeld", + "Bellingwolde", + "Belt-Schutsloot", + "Beltrum", + "Bemelen", + "Bemmel", + "Beneden-Leeuwen", + "Bennebroek", + "Bennekom", + "Benneveld", + "Benningbroek", + "Benschop", + "Bentelo", + "Benthuizen", + "Bentveld", + "Berg en Dal", + "Berg en Terblijt", + "Bergambacht", + "Bergeijk", + "Bergen (NH)", + "Bergen L", + "Bergen aan Zee", + "Bergen op Zoom", + "Bergentheim", + "Bergharen", + "Berghem", + "Bergschenhoek", + "Beringe", + "Berkel en Rodenrijs", + "Berkel-Enschot", + "Berkenwoude", + "Berkhout", + "Berlicum", + "Berltsum", + "Bern", + "Best", + "Beugen", + "Beuningen", + "Beuningen Gld", + "Beusichem", + "Beutenaken", + "Beverwijk", + "Biddinghuizen", + "Bierum", + "Biervliet", + "Biest-Houtakker", + "Biezenmortel", + "Biggekerke", + "Bilthoven", + "Bingelrade", + "Bitgum", + "Bitgummole", + "Bladel", + "Blankenham", + "Blaricum", + "Blauwestad", + "Blauwhuis", + "Bleiswijk", + "Blesdijke", + "Bleskensgraaf ca", + "Blessum", + "Blije", + "Blijham", + "Blitterswijck", + "Bloemendaal", + "Blokker", + "Blokzijl", + "Boazum", + "Bocholtz", + "Bodegraven", + "Boekel", + "Boelenslaan", + "Boer", + "Boerakker", + "Boesingheliede", + "Boijl", + "Boksum", + "Bolsward", + "Bontebok", + "Boornbergum", + "Boornzwaag", + "Borculo", + "Borger", + "Borgercompagnie", + "Borgsweer", + "Born", + "Borne", + "Bornerbroek", + "Bornwird", + "Borssele", + "Bosch en Duin", + "Boschoord", + "Boskoop", + "Bosschenhoofd", + "Botlek Rotterdam", + "Bourtange", + "Boven-Leeuwen", + "Bovenkarspel", + "Bovensmilde", + "Boxmeer", + "Boxtel", + "Braamt", + "Brakel", + "Brandwijk", + "Brantgum", + "Breda", + "Bredevoort", + "Breedenbroek", + "Breezand", + "Breezanddijk", + "Breskens", + "Breukelen", + "Breukeleveen", + "Brielle", + "Briltil", + "Britsum", + "Britswert", + "Broek", + "Broek in Waterland", + "Broek op Langedijk", + "Broekhuizen", + "Broekhuizenvorst", + "Broekland", + "Broeksterwâld", + "Bronkhorst", + "Bronneger", + "Bronnegerveen", + "Brouwershaven", + "Bruchem", + "Brucht", + "Bruchterveld", + "Bruinehaar", + "Bruinisse", + "Brummen", + "Brunssum", + "Bruntinge", + "Buchten", + "Budel", + "Budel-Dorplein", + "Budel-Schoot", + "Buggenum", + "Buinen", + "Buinerveen", + "Buitenkaag", + "Buitenpost", + "Bunde", + "Bunne", + "Bunnik", + "Bunschoten-Spakenburg", + "Burdaard", + "Buren", + "Burgerbrug", + "Burgerveen", + "Burgh-Haamstede", + "Burgum", + "Burgwerd", + "Burum", + "Bussum", + "Buurmalsen", + "Cadier en Keer", + "Cadzand", + "Callantsoog", + "Capelle aan den IJssel", + "Castelre", + "Castenray", + "Casteren", + "Castricum", + "Chaam", + "Clinge", + "Coevorden", + "Colijnsplaat", + "Collendoorn", + "Colmschate", + "Cornwerd", + "Cothen", + "Creil", + "Cromvoirt", + "Cruquius", + "Cuijk", + "Culemborg", + "Daarle", + "Daarlerveen", + "Dalem", + "Dalen", + "Dalerpeel", + "Dalerveen", + "Dalfsen", + "Dalmsholte", + "Damwâld", + "Darp", + "De Bilt", + "De Blesse", + "De Bult", + "De Cocksdorp", + "De Falom", + "De Glind", + "De Goorn", + "De Groeve", + "De Heen", + "De Heurne", + "De Hoeve", + "De Kiel", + "De Klomp", + "De Knipe", + "De Koog", + "De Krim", + "De Kwakel", + "De Lier", + "De Meern", + "De Moer", + "De Mortel", + "De Pol", + "De Punt", + "De Rijp", + "De Rips", + "De Schiphorst", + "De Steeg", + "De Tike", + "De Veenhoop", + "De Waal", + "De Weere", + "De Westereen", + "De Wilgen", + "De Wilp", + "De Zilk", + "Dearsum", + "Dedemsvaart", + "Dedgum", + "Deelen", + "Deest", + "Deil", + "Deinum", + "Delden", + "Delfgauw", + "Delfstrahuizen", + "Delft", + "Delfzijl", + "Delwijnen", + "Demen", + "Den Andel", + "Den Bommel", + "Den Burg", + "Den Dolder", + "Den Dungen", + "Den Ham", + "Den Helder", + "Den Hoorn", + "Den Horn", + "Den Hout", + "Den Ilp", + "Den Oever", + "Den Velde", + "Denekamp", + "Deurne", + "Deurningen", + "Deursen-Dennenburg", + "Deurze", + "Deventer", + "Didam", + "Dieden", + "Diemen", + "Diepenheim", + "Diepenveen", + "Dieren", + "Diessen", + "Diever", + "Dieverbrug", + "Diffelen", + "Dijken", + "Dinteloord", + "Dinxperlo", + "Diphoorn", + "Dirkshorn", + "Dirksland", + "Dodewaard", + "Doenrade", + "Doesburg", + "Doetinchem", + "Doeveren", + "Doezum", + "Dokkum", + "Doldersum", + "Domburg", + "Donderen", + "Dongen", + "Dongjum", + "Doniaga", + "Donkerbroek", + "Doorn", + "Doornenburg", + "Doornspijk", + "Doorwerth", + "Dordrecht", + "Dorst", + "Drachten", + "Drachten-Azeven", + "Drachtstercompagnie", + "Dreischor", + "Drempt", + "Dreumel", + "Driebergen-Rijsenburg", + "Drieborg", + "Driebruggen", + "Driehuis NH", + "Driehuizen", + "Driel", + "Driewegen", + "Driezum", + "Drijber", + "Drimmelen", + "Drogeham", + "Drogteropslagen", + "Drongelen", + "Dronryp", + "Dronten", + "Drouwen", + "Drouwenermond", + "Drouwenerveen", + "Drunen", + "Druten", + "Duiven", + "Duivendrecht", + "Duizel", + "Dussen", + "Dwingeloo", + "Eagum", + "Earnewâld", + "Easterein", + "Easterlittens", + "Eastermar", + "Easterwierrum", + "Echt", + "Echteld", + "Echten", + "Echtenerbrug", + "Eck en Wiel", + "Eckelrade", + "Edam", + "Ede", + "Ederveen", + "Ee", + "Eede", + "Eefde", + "Eelde", + "Eelderwolde", + "Eemdijk", + "Eemnes", + "Eemshaven", + "Een", + "Een-West", + "Eenrum", + "Eenum", + "Eerbeek", + "Eersel", + "Ees", + "Eesergroen", + "Eeserveen", + "Eesterga", + "Eesveen", + "Eethen", + "Eext", + "Eexterveen", + "Eexterveenschekanaal", + "Eexterzandvoort", + "Egchel", + "Egmond aan Zee", + "Egmond aan den Hoef", + "Egmond-Binnen", + "Eibergen", + "Eijsden", + "Eindhoven", + "Einighausen", + "Ekehaar", + "Elahuizen", + "Elburg", + "Eldersloo", + "Eleveld", + "Elim", + "Elkenrade", + "Ell", + "Ellecom", + "Ellemeet", + "Ellertshaar", + "Ellewoutsdijk", + "Elp", + "Elsendorp", + "Elshout", + "Elsloo", + "Elspeet", + "Elst", + "Elst Ut", + "Emmeloord", + "Emmen", + "Emmer-Compascuum", + "Empe", + "Emst", + "Engwierum", + "Enkhuizen", + "Ens", + "Enschede", + "Enspijk", + "Enter", + "Enumatil", + "Epe", + "Epen", + "Eppenhuizen", + "Epse", + "Erica", + "Erichem", + "Erlecom", + "Erm", + "Ermelo", + "Erp", + "Esbeek", + "Esch", + "Escharen", + "Espel", + "Est", + "Etten", + "Etten-Leur", + "Europoort Rotterdam", + "Eursinge", + "Everdingen", + "Evertsoord", + "Ewijk", + "Exloo", + "Exloërveen", + "Exmorra", + "Eygelshoven", + "Eys", + "Ezinge", + "Farmsum", + "Feanwâlden", + "Feerwerd", + "Feinsum", + "Ferwert", + "Ferwoude", + "Fijnaart", + "Finsterwolde", + "Firdgum", + "Fleringen", + "Fluitenberg", + "Fochteloo", + "Follega", + "Folsgare", + "Formerum", + "Foudgum", + "Foxhol", + "Foxwolde", + "Franeker", + "Frederiksoord", + "Friens", + "Frieschepalen", + "Froombosch", + "Gaanderen", + "Gaast", + "Gaastmeer", + "Galder", + "Gameren", + "Gapinge", + "Garderen", + "Garmerwolde", + "Garminge", + "Garnwerd", + "Garrelsweer", + "Garsthuizen", + "Garyp", + "Gassel", + "Gasselte", + "Gasselternijveen", + "Gasselternijveenschemond", + "Gastel", + "Gasteren", + "Gauw", + "Geelbroek", + "Geerdijk", + "Geersdijk", + "Geertruidenberg", + "Geervliet", + "Gees", + "Geesbrug", + "Geesteren", + "Geeuwenbrug", + "Geffen", + "Geijsteren", + "Geldermalsen", + "Gelderswoude", + "Geldrop", + "Geleen", + "Gellicum", + "Gelselaar", + "Gemert", + "Gemonde", + "Genderen", + "Gendringen", + "Gendt", + "Genemuiden", + "Gennep", + "Gerkesklooster", + "Gersloot", + "Geulle", + "Giesbeek", + "Giessen", + "Giessenburg", + "Gieten", + "Gieterveen", + "Giethmen", + "Giethoorn", + "Gilze", + "Ginnum", + "Glane", + "Glimmen", + "Godlinze", + "Goedereede", + "Goes", + "Goingarijp", + "Goirle", + "Goor", + "Gorinchem", + "Gorredijk", + "Gorssel", + "Gouda", + "Gouderak", + "Goudriaan", + "Goudswaard", + "Goutum", + "Goënga", + "Goëngahuizen", + "Graauw", + "Grafhorst", + "Graft", + "Gramsbergen", + "Grashoek", + "Grathem", + "Grave", + "Greonterp", + "Grevenbicht", + "Griendtsveen", + "Grijpskerk", + "Grijpskerke", + "Groede", + "Groenekan", + "Groeningen", + "Groenlo", + "Groesbeek", + "Groessen", + "Groet", + "Grolloo", + "Groningen", + "Gronsveld", + "Groot-Ammers", + "Grootebroek", + "Grootegast", + "Grootschermer", + "Grou", + "Grubbenvorst", + "Gulpen", + "Guttecoven", + "Gytsjerk", + "Haaften", + "Haaksbergen", + "Haalderen", + "Haaren", + "Haarle", + "Haarlem", + "Haarlemmerliede", + "Haarlo", + "Haarsteeg", + "Haarzuilens", + "Haastrecht", + "Haelen", + "Hagestein", + "Haghorst", + "Haler", + "Halfweg", + "Hall", + "Halle", + "Hallum", + "Halsteren", + "Handel", + "Hank", + "Hansweert", + "Hantum", + "Hantumeruitburen", + "Hantumhuizen", + "Hapert", + "Haps", + "Harbrinkhoek", + "Hardenberg", + "Harderwijk", + "Hardinxveld-Giessendam", + "Haren", + "Haren Gn", + "Harfsen", + "Harich", + "Haringhuizen", + "Harkema", + "Harkstede", + "Harlingen", + "Harmelen", + "Harreveld", + "Harskamp", + "Hartwerd", + "Haskerdijken", + "Haskerhorne", + "Hasselt", + "Hattem", + "Hattemerbroek", + "Haule", + "Haulerwijk", + "Hauwert", + "Havelte", + "Havelterberg", + "Hazerswoude-Dorp", + "Hazerswoude-Rijndijk", + "Hedel", + "Hedikhuizen", + "Hee", + "Heeg", + "Heel", + "Heelsum", + "Heelweg", + "Heemserveen", + "Heemskerk", + "Heemstede", + "Heenvliet", + "Heerde", + "Heerenveen", + "Heerewaarden", + "Heerhugowaard", + "Heerjansdam", + "Heerle", + "Heerlen", + "Heesbeen", + "Heesch", + "Heesselt", + "Heeswijk-Dinther", + "Heeten", + "Heeze", + "Hegebeintum", + "Hegelsom", + "Hei- en Boeicop", + "Heibloem", + "Heide", + "Heijen", + "Heijenrath", + "Heijningen", + "Heikant", + "Heilig Landstichting", + "Heiligerlee", + "Heiloo", + "Heinenoord", + "Heinkenszand", + "Heino", + "Hekelingen", + "Hekendorp", + "Helden", + "Helenaveen", + "Hellendoorn", + "Hellevoetsluis", + "Hellouw", + "Hellum", + "Helmond", + "Helvoirt", + "Hem", + "Hemelum", + "Hemmen", + "Hempens", + "Hemrik", + "Hendrik-Ido-Ambacht", + "Hengelo", + "Hengelo (Gld)", + "Hengevelde", + "Hengstdijk", + "Hensbroek", + "Herbaijum", + "Herkenbosch", + "Herkingen", + "Hernen", + "Herpen", + "Herpt", + "Herten", + "Hertme", + "Herveld", + "Herwen", + "Herwijnen", + "Heteren", + "Heukelom", + "Heukelum", + "Heumen", + "Heusden", + "Heveadorp", + "Heythuysen", + "Hezingen", + "Hiaure", + "Hichtum", + "Hidaard", + "Hierden", + "Hieslum", + "Hijken", + "Hijum", + "Hilaard", + "Hillegom", + "Hilvarenbeek", + "Hilversum", + "Hindeloopen", + "Hinnaard", + "Hippolytushoef", + "Hitzum", + "Hobrede", + "Hoedekenskerke", + "Hoek", + "Hoek van Holland", + "Hoenderloo", + "Hoensbroek", + "Hoenzadriel", + "Hoevelaken", + "Hoeven", + "Hoge Hexel", + "Hollandsche Rading", + "Hollandscheveld", + "Hollum", + "Holsloot", + "Holten", + "Holthees", + "Holtheme", + "Holthone", + "Holtum", + "Holwerd", + "Holwierde", + "Hommerts", + "Homoet", + "Honselersdijk", + "Hoofddorp", + "Hoofdplaat", + "Hoog Soeren", + "Hoog-Keppel", + "Hoogblokland", + "Hooge Mierde", + "Hooge Zwaluwe", + "Hoogeloon", + "Hoogenweg", + "Hoogerheide", + "Hoogersmilde", + "Hoogeveen", + "Hoogezand", + "Hooghalen", + "Hoogkarspel", + "Hoogland", + "Hooglanderveen", + "Hoogmade", + "Hoogvliet Rotterdam", + "Hoogwoud", + "Hoorn", + "Hoornaar", + "Hoornsterzwaag", + "Horn", + "Hornhuizen", + "Horssen", + "Horst", + "Houten", + "Houtigehage", + "Houwerzijl", + "Huijbergen", + "Huis ter Heide", + "Huisduinen", + "Huisseling", + "Huissen", + "Huizen", + "Huizinge", + "Hulsberg", + "Hulsel", + "Hulshorst", + "Hulst", + "Hulten", + "Hummelo", + "Hunsel", + "Hurdegaryp", + "Hurwenen", + "Húns", + "IJhorst", + "IJlst", + "IJmuiden", + "IJsselham", + "IJsselmuiden", + "IJsselstein", + "IJzendijke", + "IJzendoorn", + "Idaerd", + "Idsegahuizum", + "Idskenhuizen", + "Idzega", + "Iens", + "Ilpendam", + "Indijk", + "Ingber", + "Ingelum", + "Ingen", + "It Heidenskip", + "Itens", + "Ittervoort", + "Jaarsveld", + "Jabeek", + "Jannum", + "Jellum", + "Jelsum", + "Jirnsum", + "Jislum", + "Jisp", + "Jistrum", + "Jonkerslân", + "Jonkersvaart", + "Joppe", + "Jorwert", + "Joure", + "Jouswier", + "Jubbega", + "Julianadorp", + "Jutrijp", + "Kaag", + "Kaard", + "Kaatsheuvel", + "Kalenberg", + "Kallenkote", + "Kamerik", + "Kampen", + "Kamperland", + "Kamperveen", + "Kantens", + "Kapel Avezaath", + "Kapel-Avezaath", + "Kapelle", + "Kapellebrug", + "Katlijk", + "Kats", + "Kattendijke", + "Katwijk", + "Katwijk NB", + "Katwoude", + "Kedichem", + "Keent", + "Keijenborg", + "Kekerdom", + "Kelpen-Oler", + "Kerk Avezaath", + "Kerk-Avezaath", + "Kerkdriel", + "Kerkenveld", + "Kerkrade", + "Kerkwerve", + "Kerkwijk", + "Kessel", + "Kesteren", + "Kiel-Windeweer", + "Kilder", + "Kimswerd", + "Kinderdijk", + "Kinnum", + "Klaaswaal", + "Klarenbeek", + "Klazienaveen", + "Klazienaveen-Noord", + "Klein Zundert", + "Klijndijk", + "Klimmen", + "Kloetinge", + "Klooster Lidlum", + "Kloosterburen", + "Kloosterhaar", + "Kloosterzande", + "Klundert", + "Knegsel", + "Koarnjum", + "Kockengen", + "Koedijk", + "Koekange", + "Koewacht", + "Kolderwolde", + "Kolham", + "Kolhorn", + "Kollum", + "Kollumerpomp", + "Kollumerzwaag", + "Kommerzijl", + "Koningsbosch", + "Koningslust", + "Koog aan de Zaan", + "Koolwijk", + "Kootstertille", + "Kootwijk", + "Kootwijkerbroek", + "Kornhorn", + "Kornwerderzand", + "Kortehemmen", + "Kortenhoef", + "Kortgene", + "Koudekerk aan den Rijn", + "Koudekerke", + "Koudum", + "Koufurderrige", + "Krabbendijke", + "Kraggenburg", + "Kreileroord", + "Krewerd", + "Krimpen aan de Lek", + "Krimpen aan den IJssel", + "Kring van Dorth", + "Krommenie", + "Kronenberg", + "Kropswolde", + "Kruiningen", + "Kruisland", + "Kudelstaart", + "Kuinre", + "Kuitaart", + "Kwadendamme", + "Kwadijk", + "Kwintsheul", + "Kûbaard", + "Laag Zuthem", + "Laag-Keppel", + "Laag-Soeren", + "Lage Mierde", + "Lage Vuursche", + "Lage Zwaluwe", + "Lageland", + "Lambertschaag", + "Lamswaarde", + "Landerum", + "Landgraaf", + "Landhorst", + "Landsmeer", + "Langbroek", + "Langedijke", + "Langelille", + "Langelo", + "Langenboom", + "Langerak", + "Langeveen", + "Langeweg", + "Langezwaag", + "Langweer", + "Laren", + "Lathum", + "Lattrop-Breklenkamp", + "Lauwersoog", + "Lauwerzijl", + "Ledeacker", + "Leek", + "Leende", + "Leens", + "Leerbroek", + "Leerdam", + "Leermens", + "Leersum", + "Leeuwarden", + "Legemeer", + "Leiden", + "Leiderdorp", + "Leidschendam", + "Leimuiden", + "Leimuiderbrug", + "Lekkerkerk", + "Lekkum", + "Lellens", + "Lelystad", + "Lemele", + "Lemelerveld", + "Lemiers", + "Lemmer", + "Lengel", + "Lent", + "Leons", + "Lepelstraat", + "Lettelbert", + "Lettele", + "Leunen", + "Leur", + "Leusden", + "Leuth", + "Leutingewolde", + "Leuvenheim", + "Leveroy", + "Lewedorp", + "Lexmond", + "Lichtaard", + "Lichtenvoorde", + "Liempde", + "Lienden", + "Lierderholthuis", + "Lieren", + "Lierop", + "Lies", + "Lieshout", + "Liessel", + "Lievelde", + "Lieveren", + "Lijnden", + "Limbricht", + "Limmen", + "Linde", + "Linden", + "Linne", + "Linschoten", + "Lioessens", + "Lippenhuizen", + "Lisse", + "Lisserbroek", + "Lith", + "Lithoijen", + "Lobith", + "Lochem", + "Loenen", + "Loenen aan de Vecht", + "Loenersloot", + "Loerbeek", + "Lollum", + "Lomm", + "Longerhouw", + "Loo Gld", + "Loon", + "Loon op Zand", + "Loosbroek", + "Loosdrecht", + "Loozen", + "Lopik", + "Lopikerkapel", + "Loppersum", + "Losdorp", + "Losser", + "Lottum", + "Loënga", + "Lucaswolde", + "Luddeweer", + "Luinjeberd", + "Lunteren", + "Lutjebroek", + "Lutjegast", + "Lutjewinkel", + "Luttelgeest", + "Lutten", + "Luttenberg", + "Luxwoude", + "Luyksgestel", + "Lytsewierrum", + "Maarheeze", + "Maarn", + "Maarsbergen", + "Maarssen", + "Maartensdijk", + "Maasbommel", + "Maasbracht", + "Maasbree", + "Maasdam", + "Maasdijk", + "Maashees", + "Maasland", + "Maassluis", + "Maastricht", + "Maastricht-Airport", + "Maasvlakte Rotterdam", + "Macharen", + "Made", + "Makkinga", + "Makkum", + "Malden", + "Mander", + "Manderveen", + "Mantgum", + "Mantinge", + "Maren-Kessel", + "Margraten", + "Maria Hoop", + "Mariahout", + "Mariaparochie", + "Marijenkampen", + "Mariënberg", + "Mariënheem", + "Mariënvelde", + "Markelo", + "Marken", + "Markenbinnen", + "Marknesse", + "Marle", + "Marrum", + "Marsum", + "Marum", + "Marwijksoord", + "Mastenbroek", + "Matsloot", + "Maurik", + "Mechelen", + "Medemblik", + "Meeden", + "Meedhuizen", + "Meerkerk", + "Meerlo", + "Meerssen", + "Meerstad", + "Meeuwen", + "Megchelen", + "Megen", + "Meijel", + "Melderslo", + "Melick", + "Meliskerke", + "Melissant", + "Menaam", + "Mensingeweer", + "Meppel", + "Meppen", + "Merkelbeek", + "Merselo", + "Meteren", + "Meterik", + "Metslawier", + "Mheer", + "Middelaar", + "Middelburg", + "Middelharnis", + "Middelie", + "Middelstum", + "Middenbeemster", + "Middenmeer", + "Midlaren", + "Midlum", + "Midsland", + "Midwolda", + "Midwolde", + "Midwoud", + "Miedum", + "Mierlo", + "Mijdrecht", + "Mijnsheerenland", + "Mildam", + "Milheeze", + "Mill", + "Millingen aan de Rijn", + "Milsbeek", + "Minnertsga", + "Mirns", + "Moddergat", + "Moerdijk", + "Moergestel", + "Moerkapelle", + "Moerstraten", + "Molenaarsgraaf", + "Molenhoek", + "Molenschot", + "Molkwerum", + "Monnickendam", + "Monster", + "Montfoort", + "Montfort", + "Mook", + "Mookhoek", + "Moordrecht", + "Moorveld", + "Morra", + "Muiden", + "Muiderberg", + "Munnekeburen", + "Munnekezijl", + "Munstergeleen", + "Muntendam", + "Mussel", + "Musselkanaal", + "Mûnein", + "Naaldwijk", + "Naarden", + "Nagele", + "Nederasselt", + "Nederhemert", + "Nederhorst den Berg", + "Nederland", + "Nederweert", + "Nederweert-Eind", + "Neede", + "Neer", + "Neerijnen", + "Neeritter", + "Neerkant", + "Neerlangel", + "Neerloon", + "Nes", + "Netersel", + "Netterden", + "Niawier", + "Nibbixwoud", + "Niebert", + "Niehove", + "Niekerk", + "Nietap", + "Nieuw Annerveen", + "Nieuw Beerta", + "Nieuw Heeten", + "Nieuw Namen", + "Nieuw Scheemda", + "Nieuw- en Sint Joosland", + "Nieuw-Amsterdam", + "Nieuw-Balinge", + "Nieuw-Beijerland", + "Nieuw-Buinen", + "Nieuw-Dordrecht", + "Nieuw-Lekkerland", + "Nieuw-Roden", + "Nieuw-Schoonebeek", + "Nieuw-Vennep", + "Nieuw-Vossemeer", + "Nieuw-Weerdinge", + "Nieuwaal", + "Nieuwdorp", + "Nieuwe Niedorp", + "Nieuwe Pekela", + "Nieuwe Wetering", + "Nieuwe-Tonge", + "Nieuwebrug", + "Nieuwediep", + "Nieuwegein", + "Nieuwehorne", + "Nieuwendijk", + "Nieuwer Ter Aa", + "Nieuwerbrug aan den Rijn", + "Nieuwerkerk", + "Nieuwerkerk aan den IJssel", + "Nieuweroord", + "Nieuwersluis", + "Nieuweschoot", + "Nieuwkoop", + "Nieuwkuijk", + "Nieuwland", + "Nieuwlande", + "Nieuwlande Coevorden", + "Nieuwleusen", + "Nieuwolda", + "Nieuwpoort", + "Nieuwstadt", + "Nieuwveen", + "Nieuwvliet", + "Niezijl", + "Niftrik", + "Nigtevecht", + "Nij Altoenae", + "Nij Beets", + "Nijbroek", + "Nijeberkoop", + "Nijega", + "Nijehaske", + "Nijeholtpade", + "Nijeholtwolde", + "Nijelamer", + "Nijemirdum", + "Nijensleek", + "Nijetrijne", + "Nijeveen", + "Nijhuizum", + "Nijkerk", + "Nijkerkerveen", + "Nijland", + "Nijlande", + "Nijmegen", + "Nijverdal", + "Nispen", + "Nisse", + "Nistelrode", + "Noardburgum", + "Nooitgedacht", + "Noorbeek", + "Noord-Scharwoude", + "Noord-Sleen", + "Noordbeemster", + "Noordbroek", + "Noordeinde", + "Noordeinde Gld", + "Noordeloos", + "Noorden", + "Noordgouwe", + "Noordhoek", + "Noordhorn", + "Noordlaren", + "Noordscheschut", + "Noordwelle", + "Noordwijk", + "Noordwijkerhout", + "Noordwolde", + "Nootdorp", + "Norg", + "Notter", + "Nuenen", + "Nuis", + "Nuland", + "Numansdorp", + "Nunhem", + "Nunspeet", + "Nuth", + "Nutter", + "Obbicht", + "Obdam", + "Ochten", + "Odijk", + "Odiliapeel", + "Odoorn", + "Odoornerveen", + "Oeffelt", + "Oegstgeest", + "Oene", + "Oentsjerk", + "Offingawier", + "Ohé en Laak", + "Oijen", + "Oirlo", + "Oirsbeek", + "Oirschot", + "Oisterwijk", + "Okkenbroek", + "Olburgen", + "Oldeberkoop", + "Oldebroek", + "Oldeholtpade", + "Oldeholtwolde", + "Oldehove", + "Oldekerk", + "Oldelamer", + "Oldemarkt", + "Oldenzaal", + "Oldenzijl", + "Oldeouwer", + "Oldetrijne", + "Olst", + "Olterterp", + "Ommel", + "Ommen", + "Ommeren", + "Onderdendam", + "Onna", + "Onnen", + "Onstwedde", + "Ooij", + "Ooltgensplaat", + "Oost West en Middelbeers", + "Oost-Graftdijk", + "Oost-Souburg", + "Oostburg", + "Oostdijk", + "Oosteind", + "Oosterbeek", + "Oosterbierum", + "Oosterblokker", + "Oosterend", + "Oosterhesselen", + "Oosterhout", + "Oosterland", + "Oosterleek", + "Oosternieland", + "Oosternijkerk", + "Oosterstreek", + "Oosterwijk", + "Oosterwijtwerd", + "Oosterwolde", + "Oosterwolde Gld", + "Oosterzee", + "Oosthem", + "Oosthuizen", + "Oostkapelle", + "Oostknollendam", + "Oostrum", + "Oostvoorne", + "Oostwold", + "Oostwoud", + "Oostzaan", + "Ootmarsum", + "Opeinde", + "Opende", + "Ophemert", + "Opheusden", + "Opijnen", + "Oploo", + "Opmeer", + "Oppenhuizen", + "Opperdoes", + "Oranje", + "Oranjewoud", + "Orvelte", + "Ospel", + "Oss", + "Ossendrecht", + "Ossenisse", + "Ossenwaard", + "Ossenzijl", + "Oterleek", + "Otterlo", + "Ottersum", + "Ottoland", + "Oud Ade", + "Oud Annerveen", + "Oud Gastel", + "Oud Ootmarsum", + "Oud Zuilen", + "Oud-Alblas", + "Oud-Beijerland", + "Oud-Vossemeer", + "Ouddorp", + "Oude Meer", + "Oude Niedorp", + "Oude Pekela", + "Oude Wetering", + "Oude Willem", + "Oude-Tonge", + "Oudebildtzijl", + "Oudega", + "Oudehaske", + "Oudehorne", + "Oudelande", + "Oudemirdum", + "Oudemolen", + "Oudenbosch", + "Oudendijk", + "Oudenhoorn", + "Ouderkerk aan de Amstel", + "Ouderkerk aan den IJssel", + "Oudeschans", + "Oudeschild", + "Oudeschip", + "Oudeschoot", + "Oudesluis", + "Oudewater", + "Oudezijl", + "Oudheusden", + "Oudkarspel", + "Oudorp", + "Oudwoude", + "Ouwerkerk", + "Ouwster-Nijega", + "Ouwsterhaule", + "Overasselt", + "Overberg", + "Overdinkel", + "Overlangel", + "Overloon", + "Overschild", + "Overslag", + "Overveen", + "Ovezande", + "Paasloo", + "Paesens", + "Pannerden", + "Panningen", + "Papekop", + "Papendrecht", + "Papenhoven", + "Papenvoort", + "Parrega", + "Paterswolde", + "Peest", + "Peins", + "Peize", + "Peperga", + "Pernis Rotterdam", + "Persingen", + "Pesse", + "Petten", + "Philippine", + "Piaam", + "Piershil", + "Pieterburen", + "Pietersbierum", + "Pieterzijl", + "Pijnacker", + "Pingjum", + "Plasmolen", + "Poederoijen", + "Poeldijk", + "Polsbroek", + "Poortugaal", + "Poortvliet", + "Poppenwier", + "Posterholt", + "Prinsenbeek", + "Puiflijk", + "Punthorst", + "Purmer", + "Purmerend", + "Purmerland", + "Puth", + "Putte", + "Putten", + "Puttershoek", + "Raalte", + "Raamsdonk", + "Raamsdonksveer", + "Raard", + "Radewijk", + "Radio Kootwijk", + "Raerd", + "Randwijk", + "Ransdaal", + "Rasquert", + "Ravenstein", + "Ravenswaaij", + "Ravenswoud", + "Readtsjerk", + "Reahûs", + "Reduzum", + "Reek", + "Reeuwijk", + "Reijmerstok", + "Reitsum", + "Rekken", + "Renesse", + "Renkum", + "Renswoude", + "Ressen", + "Retranchement", + "Reusel", + "Reutum", + "Reuver", + "Rha", + "Rheden", + "Rhee", + "Rheeze", + "Rheezerveen", + "Rhenen", + "Rhenoy", + "Rhoon", + "Ridderkerk", + "Ried", + "Riel", + "Rien", + "Riethoven", + "Rietmolen", + "Rijen", + "Rijkevoort", + "Rijkevoort-De Walsert", + "Rijnsaterwoude", + "Rijnsburg", + "Rijpwetering", + "Rijs", + "Rijsbergen", + "Rijsenhout", + "Rijssen", + "Rijswijk", + "Rijswijk (GLD)", + "Rijswijk (NB)", + "Rilland", + "Rinsumageast", + "Ritthem", + "Rockanje", + "Roden", + "Roderesch", + "Roderwolde", + "Roelofarendsveen", + "Roermond", + "Rogat", + "Roggel", + "Rohel", + "Rolde", + "Roodeschool", + "Roosendaal", + "Roosteren", + "Rosmalen", + "Rossum", + "Roswinkel", + "Rotstergaast", + "Rotsterhaule", + "Rotterdam", + "Rotterdam-Albrandswaard", + "Rottevalle", + "Rottum", + "Rouveen", + "Rozenburg", + "Rozendaal", + "Rucphen", + "Ruigahuizen", + "Ruinen", + "Ruinerwold", + "Rumpt", + "Rutten", + "Ruurlo", + "Ryptsjerk", + "Saaksum", + "Saasveld", + "Saaxumhuizen", + "Sambeek", + "Sandfirden", + "Santpoort-Noord", + "Santpoort-Zuid", + "Sappemeer", + "Sas van Gent", + "Sassenheim", + "Sauwerd", + "Schagen", + "Schagerbrug", + "Schaijk", + "Schalkhaar", + "Schalkwijk", + "Schalsum", + "Schardam", + "Scharendijke", + "Scharmer", + "Scharnegoutum", + "Scharsterbrug", + "Scharwoude", + "Scheemda", + "Scheerwolde", + "Schellinkhout", + "Schelluinen", + "Schermerhorn", + "Scherpenisse", + "Scherpenzeel", + "Schettens", + "Scheulder", + "Schiedam", + "Schiermonnikoog", + "Schijf", + "Schijndel", + "Schildwolde", + "Schimmert", + "Schin op Geul", + "Schinnen", + "Schinveld", + "Schipborg", + "Schiphol", + "Schiphol-Rijk", + "Schipluiden", + "Schokland", + "Schoondijke", + "Schoonebeek", + "Schoonhoven", + "Schoonloo", + "Schoonoord", + "Schoonrewoerd", + "Schoorl", + "Schore", + "Schouwerzijl", + "Schraard", + "Schuinesloot", + "Sebaldeburen", + "Sellingen", + "Serooskerke", + "Sevenum", + "Sexbierum", + "Sibculo", + "Sibrandabuorren", + "Sibrandahûs", + "Siddeburen", + "Siebengewald", + "Siegerswoude", + "Sijbekarspel", + "Silvolde", + "Simonshaven", + "Simpelveld", + "Sinderen", + "Sint Agatha", + "Sint Annen", + "Sint Anthonis", + "Sint Geertruid", + "Sint Hubert", + "Sint Jansklooster", + "Sint Jansteen", + "Sint Joost", + "Sint Kruis", + "Sint Maarten", + "Sint Maartensbrug", + "Sint Maartensvlotbrug", + "Sint Nicolaasga", + "Sint Odiliënberg", + "Sint Pancras", + "Sint Philipsland", + "Sint-Annaland", + "Sint-Maartensdijk", + "Sint-Michielsgestel", + "Sint-Oedenrode", + "Sintjohannesga", + "Sirjansland", + "Sittard", + "Skingen", + "Slagharen", + "Slappeterp", + "Sleen", + "Sleeuwijk", + "Slenaken", + "Sliedrecht", + "Slijk-Ewijk", + "Slijkenburg", + "Slochteren", + "Slootdorp", + "Sloten", + "Sluis", + "Sluiskil", + "Smakt", + "Smalle Ee", + "Smallebrugge", + "Smilde", + "Snakkerburen", + "Sneek", + "Snelrewaard", + "Snikzwaag", + "Soerendonk", + "Soest", + "Soesterberg", + "Someren", + "Sommelsdijk", + "Son en Breugel", + "Sondel", + "Sonnega", + "Spaarndam", + "Spaarndam gem. Haarlem", + "Spanbroek", + "Spanga", + "Spankeren", + "Spannum", + "Spaubeek", + "Spier", + "Spierdijk", + "Spijk", + "Spijk Gn", + "Spijkenisse", + "Spijkerboor", + "Sprang-Capelle", + "Sprundel", + "Spui", + "St. Willebrord", + "St.-Annaparochie", + "St.-Jacobiparochie", + "Stad aan 't Haringvliet", + "Stadskanaal", + "Stampersgat", + "Standdaarbuiten", + "Staphorst", + "Starnmeer", + "Startenhuizen", + "Stavenisse", + "Stavoren", + "Stedum", + "Steenbergen", + "Steendam", + "Steenderen", + "Steenenkamer", + "Steensel", + "Steenwijk", + "Steenwijkerwold", + "Stegeren", + "Steggerda", + "Stein", + "Stellendam", + "Sterksel", + "Stevensbeek", + "Stevensweert", + "Steyl", + "Stieltjeskanaal", + "Stiens", + "Stitswerd", + "Stokkum", + "Stolwijk", + "Stompetoren", + "Stoutenburg", + "Stoutenburg Noord", + "Stramproy", + "Streefkerk", + "Striep", + "Strijbeek", + "Strijen", + "Strijensas", + "Stroe", + "Stroobos", + "Stuifzand", + "Sumar", + "Surhuisterveen", + "Surhuizum", + "Susteren", + "Suwâld", + "Swalmen", + "Sweikhuizen", + "Swichum", + "Swifterbant", + "Swolgen", + "Taarlo", + "Teeffelen", + "Teerns", + "Tegelen", + "Ten Boer", + "Ten Post", + "Ter Aar", + "Ter Aard", + "Ter Apel", + "Ter Apelkanaal", + "Ter Heijde", + "Ter Idzard", + "Terband", + "Terborg", + "Terheijden", + "Terherne", + "Terhole", + "Terkaple", + "Termunten", + "Termunterzijl", + "Ternaard", + "Terneuzen", + "Teroele", + "Terschuur", + "Tersoal", + "Terwispel", + "Terwolde", + "Teteringen", + "Teuge", + "Thesinge", + "Tholen", + "Thorn", + "Tiel", + "Tiendeveen", + "Tienhoven", + "Tienray", + "Tijnje", + "Tilburg", + "Tilligte", + "Tinallinge", + "Tinte", + "Tirns", + "Tjalhuizum", + "Tjalleberd", + "Tjerkgaast", + "Tjerkwerd", + "Tjuchem", + "Tolbert", + "Toldijk", + "Tolkamer", + "Tollebeek", + "Tonden", + "Toornwerd", + "Tricht", + "Triemen", + "Tripscompagnie", + "Tubbergen", + "Tuil", + "Tuitjenhorn", + "Tuk", + "Tull en 't Waal", + "Twello", + "Twijzel", + "Twijzelerheide", + "Twisk", + "Tynaarlo", + "Tytsjerk", + "Tzum", + "Tzummarum", + "Ubbena", + "Ubbergen", + "Uddel", + "Uden", + "Udenhout", + "Uffelte", + "Ugchelen", + "Uitdam", + "Uitgeest", + "Uithoorn", + "Uithuizen", + "Uithuizermeeden", + "Uitwellingerga", + "Uitwijk", + "Ulestraten", + "Ulft", + "Ulicoten", + "Ulrum", + "Ulvenhout", + "Ulvenhout AC", + "Ureterp", + "Urk", + "Urmond", + "Ursem", + "Ursem gem. S", + "Usquert", + "Utrecht", + "Vaals", + "Vaassen", + "Valburg", + "Valkenburg", + "Valkenswaard", + "Valthe", + "Valthermond", + "Varik", + "Varsselder", + "Varsseveld", + "Vasse", + "Veelerveen", + "Veen", + "Veendam", + "Veenendaal", + "Veenhuizen", + "Veeningen", + "Veenklooster", + "Veenoord", + "Veere", + "Veessen", + "Vegelinsoord", + "Veghel", + "Velddriel", + "Velden", + "Veldhoven", + "Velp", + "Velsen-Noord", + "Velsen-Zuid", + "Velserbroek", + "Ven-Zelderheide", + "Venebrugge", + "Venhorst", + "Venhuizen", + "Venlo", + "Venray", + "Vessem", + "Vethuizen", + "Veulen", + "Vianen", + "Vianen NB", + "Vierakker", + "Vierhouten", + "Vierhuizen", + "Vierlingsbeek", + "Vierpolders", + "Vijfhuizen", + "Vijlen", + "Vilsteren", + "Vinkega", + "Vinkel", + "Vinkenbuurt", + "Vinkeveen", + "Visvliet", + "Vlaardingen", + "Vlagtwedde", + "Vledder", + "Vledderveen", + "Vleuten", + "Vlieland", + "Vlierden", + "Vlijmen", + "Vlissingen", + "Vlist", + "Vlodrop", + "Voerendaal", + "Vogelenzang", + "Vogelwaarde", + "Volendam", + "Volkel", + "Vollenhove", + "Vondelingenplaat Rotterdam", + "Voorburg", + "Voorhout", + "Voorschoten", + "Voorst", + "Voorthuizen", + "Vorchten", + "Vorden", + "Vorstenbosch", + "Vortum-Mullem", + "Vragender", + "Vredenheim", + "Vredepeel", + "Vreeland", + "Vries", + "Vriescheloo", + "Vriezenveen", + "Vroomshoop", + "Vrouwenakker", + "Vrouwenparochie", + "Vrouwenpolder", + "Vught", + "Vuren", + "Waaksens", + "Waal", + "Waalre", + "Waalwijk", + "Waarde", + "Waardenburg", + "Waarder", + "Waardhuizen", + "Waarland", + "Waaxens", + "Wachtum", + "Waddinxveen", + "Wadenoijen", + "Wagenberg", + "Wagenborgen", + "Wageningen", + "Walem", + "Walsoorden", + "Wamel", + "Wanneperveen", + "Wanroij", + "Wanssum", + "Wapenveld", + "Wapse", + "Wapserveen", + "Warder", + "Warffum", + "Warfhuizen", + "Warfstermolen", + "Warmenhuizen", + "Warmond", + "Warns", + "Warnsveld", + "Warstiens", + "Warten", + "Waskemeer", + "Waspik", + "Wassenaar", + "Wateren", + "Watergang", + "Waterhuizen", + "Wateringen", + "Waterlandkerkje", + "Waverveen", + "Wedde", + "Weerselo", + "Weert", + "Weesp", + "Wehe-den Hoorn", + "Wehl", + "Weidum", + "Weiteveen", + "Wekerom", + "Well", + "Well L", + "Wellerlooi", + "Welsum", + "Wemeldinge", + "Wenum Wiesel", + "Wergea", + "Werkendam", + "Werkhoven", + "Wernhout", + "Wervershoof", + "Wesepe", + "Wessem", + "West-Graftdijk", + "West-Terschelling", + "Westbeemster", + "Westbroek", + "Westdorp", + "Westdorpe", + "Westendorp", + "Westerbeek", + "Westerbork", + "Westerbroek", + "Westeremden", + "Westergeest", + "Westerhaar-Vriezenveensewijk", + "Westerhoven", + "Westerland", + "Westerlee", + "Westernieland", + "Westervelde", + "Westervoort", + "Westerwijtwerd", + "Westhem", + "Westhoek", + "Westkapelle", + "Westknollendam", + "Westmaas", + "Westwoud", + "Westzaan", + "Wetering", + "Weteringbrug", + "Wetsens", + "Wetsinge", + "Weurt", + "Wezep", + "Wezup", + "Wezuperbrug", + "Wichmond", + "Wier", + "Wierden", + "Wieringerwaard", + "Wieringerwerf", + "Wierum", + "Wijchen", + "Wijckel", + "Wijdenes", + "Wijdewormer", + "Wijhe", + "Wijk aan Zee", + "Wijk bij Duurstede", + "Wijk en Aalburg", + "Wijlre", + "Wijnaldum", + "Wijnandsrade", + "Wijnbergen", + "Wijngaarden", + "Wijnjewoude", + "Wijster", + "Wilbertoord", + "Wildervank", + "Wilhelminadorp", + "Wilhelminaoord", + "Willemsoord", + "Willemstad", + "Wilnis", + "Wilp", + "Wilsum", + "Winde", + "Windraak", + "Winkel", + "Winneweer", + "Winschoten", + "Winssen", + "Winsum", + "Wintelre", + "Winterswijk", + "Winterswijk Brinkheurne", + "Winterswijk Corle", + "Winterswijk Henxel", + "Winterswijk Huppel", + "Winterswijk Kotten", + "Winterswijk Meddo", + "Winterswijk Miste", + "Winterswijk Ratum", + "Winterswijk Woold", + "Wirdum", + "Wirdum Gn", + "Wissenkerke", + "Witharen", + "Witmarsum", + "Witte Paarden", + "Wittelte", + "Wittem", + "Witteveen", + "Wiuwert", + "Wjelsryp", + "Woensdrecht", + "Woerden", + "Woerdense Verlaat", + "Wognum", + "Woldendorp", + "Wolfheze", + "Wolphaartsdijk", + "Wolsum", + "Woltersum", + "Wolvega", + "Wommels", + "Wons", + "Workum", + "Wormer", + "Wormerveer", + "Woubrugge", + "Woudbloem", + "Woudenberg", + "Woudrichem", + "Woudsend", + "Wouw", + "Wouwse Plantage", + "Wyns", + "Wytgaard", + "Wâlterswâld", + "Wânswert", + "Yde", + "Yerseke", + "Ypecolsga", + "Ysbrechtum", + "Ysselsteyn", + "Zaamslag", + "Zaandam", + "Zaandijk", + "Zalk", + "Zaltbommel", + "Zandberg", + "Zandeweer", + "Zandhuizen", + "Zandpol", + "Zandvoort", + "Zeddam", + "Zeegse", + "Zeeland", + "Zeerijp", + "Zeewolde", + "Zegge", + "Zegveld", + "Zeijen", + "Zeijerveen", + "Zeijerveld", + "Zeist", + "Zelhem", + "Zenderen", + "Zennewijnen", + "Zetten", + "Zevenaar", + "Zevenbergen", + "Zevenbergschen Hoek", + "Zevenhoven", + "Zevenhuizen", + "Zierikzee", + "Zieuwent", + "Zijderveld", + "Zijdewind", + "Zijldijk", + "Zoelen", + "Zoelmond", + "Zoetermeer", + "Zoeterwoude", + "Zonnemaire", + "Zorgvlied", + "Zoutelande", + "Zoutkamp", + "Zuid-Beijerland", + "Zuid-Scharwoude", + "Zuidbroek", + "Zuiddorpe", + "Zuidermeer", + "Zuiderwoude", + "Zuidhorn", + "Zuidlaarderveen", + "Zuidland", + "Zuidlaren", + "Zuidoostbeemster", + "Zuidschermer", + "Zuidveen", + "Zuidveld", + "Zuidvelde", + "Zuidwolde", + "Zuidzande", + "Zuilichem", + "Zuna", + "Zundert", + "Zurich", + "Zutphen", + "Zuurdijk", + "Zwaag", + "Zwaagdijk-Oost", + "Zwaagdijk-West", + "Zwaanshoek", + "Zwagerbosch", + "Zwammerdam", + "Zwanenburg", + "Zwartebroek", + "Zwartemeer", + "Zwartewaal", + "Zwartsluis", + "Zweeloo", + "Zweins", + "Zwiggelte", + "Zwijndrecht", + "Zwinderen", + "Zwolle", + "de Hoef", + "de Lutte", + "de Wijk", + "de Woude", ) provinces = ( - 'Drenthe', 'Flevoland', 'Friesland', 'Gelderland', 'Groningen', - 'Limburg', 'Noord-Brabant', 'Noord-Holland', 'Overijssel', 'Utrecht', - 'Zeeland', 'Zuid-Holland', + "Drenthe", + "Flevoland", + "Friesland", + "Gelderland", + "Groningen", + "Limburg", + "Noord-Brabant", + "Noord-Holland", + "Overijssel", + "Utrecht", + "Zeeland", + "Zuid-Holland", ) - street_name_formats = ( - '{{first_name}}{{street_suffix}}', - ) + street_name_formats = ("{{first_name}}{{street_suffix}}",) - street_address_formats = ( - '{{street_name}} {{building_number}}', - ) + street_address_formats = ("{{street_name}} {{building_number}}",) - address_formats = ( - "{{street_address}}\n{{postcode}}\n{{city}}", - ) + address_formats = ("{{street_address}}\n{{postcode}}\n{{city}}",) - def province(self): + def administrative_unit(self) -> str: return self.random_element(self.provinces) - def city(self): + province = administrative_unit + + def city(self) -> str: return self.random_element(self.cities) diff --git a/faker/providers/address/no_NO/__init__.py b/faker/providers/address/no_NO/__init__.py index a49c759129..170cba5f52 100644 --- a/faker/providers/address/no_NO/__init__.py +++ b/faker/providers/address/no_NO/__init__.py @@ -4,48 +4,111 @@ class Provider(AddressProvider): - city_suffixes = ['berg', 'borg', 'by', 'bø', 'dal', 'eid', 'fjell', - 'fjord', 'foss', 'grunn', 'hamn', 'havn', 'helle', 'mark', - 'nes', 'odden', 'sand', 'sjøen', 'stad', 'strand', - 'strøm', 'sund', 'vik', 'vær', 'våg', 'ø', 'øy', 'ås'] - street_suffixes = ['alléen', 'bakken', 'berget', 'bråten', 'eggen', - 'engen', 'ekra', 'faret', 'flata', 'gata', 'gjerdet', - 'grenda', 'gropa', 'hagen', 'haugen', 'havna', 'holtet', - 'høgda', 'jordet', 'kollen', 'kroken', 'lia', 'lunden', - 'lyngen', 'løkka', 'marka', 'moen', 'myra', 'plassen', - 'ringen', 'roa', 'røa', 'skogen', 'skrenten', - 'spranget', 'stien', 'stranda', 'stubben', 'stykket', - 'svingen', 'tjernet', 'toppen', 'tunet', 'vollen', - 'vika', 'åsen'] - city_formats = [ - '{{first_name}}{{city_suffix}}', '{{last_name}}'] + city_suffixes = [ + "berg", + "borg", + "by", + "bø", + "dal", + "eid", + "fjell", + "fjord", + "foss", + "grunn", + "hamn", + "havn", + "helle", + "mark", + "nes", + "odden", + "sand", + "sjøen", + "stad", + "strand", + "strøm", + "sund", + "vik", + "vær", + "våg", + "ø", + "øy", + "ås", + ] + street_suffixes = [ + "alléen", + "bakken", + "berget", + "bråten", + "eggen", + "engen", + "ekra", + "faret", + "flata", + "gata", + "gjerdet", + "grenda", + "gropa", + "hagen", + "haugen", + "havna", + "holtet", + "høgda", + "jordet", + "kollen", + "kroken", + "lia", + "lunden", + "lyngen", + "løkka", + "marka", + "moen", + "myra", + "plassen", + "ringen", + "roa", + "røa", + "skogen", + "skrenten", + "spranget", + "stien", + "stranda", + "stubben", + "stykket", + "svingen", + "tjernet", + "toppen", + "tunet", + "vollen", + "vika", + "åsen", + ] + city_formats = ["{{first_name}}{{city_suffix}}", "{{last_name}}"] street_name_formats = [ - '{{last_name}}{{street_suffix}}', + "{{last_name}}{{street_suffix}}", ] - street_address_formats = ('{{street_name}} {{building_number}}',) - address_formats = ('{{street_address}}, {{postcode}} {{city}}',) - building_number_formats = ('%', '%', '%', '%?', '##', '##', '##?', '###') - building_number_suffixes = OrderedDict([ - ('A', 0.2), - ('B', 0.2), - ('C', 0.2), - ('D', 0.1), - ('E', 0.1), - ('F', 0.1), - ('G', 0.05), - ('H', 0.05), - ]) - postcode_formats = ('####',) + street_address_formats = ("{{street_name}} {{building_number}}",) + address_formats = ("{{street_address}}, {{postcode}} {{city}}",) + building_number_formats = ("%", "%", "%", "%?", "##", "##", "##?", "###") + building_number_suffixes = OrderedDict( + [ + ("A", 0.2), + ("B", 0.2), + ("C", 0.2), + ("D", 0.1), + ("E", 0.1), + ("F", 0.1), + ("G", 0.05), + ("H", 0.05), + ] + ) + postcode_formats = ("####",) - def building_number(self): - suffix = self.random_element(self.building_number_suffixes) - return self.numerify( - self.random_element( - self.building_number_formats)).replace( - '?', suffix) + def building_number(self) -> str: + suffix: str = self.random_element(self.building_number_suffixes) + return self.numerify(self.random_element(self.building_number_formats)).replace("?", suffix) - def city_suffix(self): + def city_suffix(self) -> str: return self.random_element(self.city_suffixes) - def street_suffix(self): + def street_suffix(self) -> str: return self.random_element(self.street_suffixes) diff --git a/faker/providers/address/pl_PL/__init__.py b/faker/providers/address/pl_PL/__init__.py index 616c14e3e8..baaa0dea39 100644 --- a/faker/providers/address/pl_PL/__init__.py +++ b/faker/providers/address/pl_PL/__init__.py @@ -3,185 +3,676 @@ class Provider(AddressProvider): cities = ( - 'Warszawa', 'Kraków', 'Łódź', 'Wrocław', 'Poznań', 'Gdańsk', - 'Szczecin', - 'Bydgoszcz', 'Lublin', 'Katowice', 'Białystok', 'Gdynia', - 'Częstochowa', 'Radom', 'Sosnowiec', 'Toruń', 'Kielce', 'Gliwice', - 'Rzeszów', 'Zabrze', 'Bytom', 'Olsztyn', 'Bielsko-Biała', - 'Ruda Śląska', - 'Rybnik', 'Tychy', 'Dąbrowa Górnicza', 'Gorzów Wielkopolski', - 'Elbląg', - 'Płock', 'Opole', 'Wałbrzych', 'Zielona Góra', 'Włocławek', 'Tarnów', - 'Chorzów', 'Koszalin', 'Kalisz', 'Legnica', 'Grudziądz', 'Słupsk', - 'Jaworzno', 'Jastrzębie-Zdrój', 'Nowy Sącz', 'Jelenia Góra', 'Konin', - 'Piotrków Trybunalski', 'Siedlce', 'Inowrocław', 'Mysłowice', 'Piła', - 'Lubin', 'Ostrów Wielkopolski', 'Ostrowiec Świętokrzyski', 'Gniezno', - 'Stargard Szczeciński', 'Siemianowice Śląskie', 'Suwałki', 'Głogów', - 'Pabianice', 'Chełm', 'Zamość', 'Tomaszów Mazowiecki', 'Leszno', - 'Przemyśl', 'Stalowa Wola', 'Kędzierzyn-Koźle', 'Łomża', 'Żory', - 'Mielec', 'Tarnowskie Góry', 'Tczew', 'Bełchatów', 'Świdnica', - 'Ełk', 'Pruszków', 'Będzin', 'Biała Podlaska', 'Zgierz', - 'Piekary Śląskie', 'Racibórz', 'Legionowo', 'Ostrołęka', - 'Świętochłowice', 'Starachowice', 'Zawiercie', 'Wejherowo', - 'Puławy', 'Wodzisław Śląski', 'Starogard Gdański', 'Skierniewice', - 'Tarnobrzeg', 'Skarżysko-Kamienna', 'Radomsko', 'Krosno', 'Rumia', - 'Dębica', 'Kołobrzeg', 'Kutno', 'Nysa', 'Ciechanów', 'Otwock', - 'Piaseczno', 'Zduńska Wola', 'Sieradz', 'Świnoujście', 'Żyrardów', - 'Szczecinek', 'Świdnik', 'Chojnice', 'Nowa Sól', 'Oświęcim', - 'Bolesławiec', 'Mińsk Mazowiecki', 'Mikołów', 'Jarosław', 'Sanok', - 'Knurów', 'Malbork', 'Żary', 'Kwidzyn', 'Chrzanów', 'Sopot', - 'Sochaczew', 'Wołomin', 'Oleśnica', 'Brzeg', 'Olkusz', 'Jasło', - 'Cieszyn', 'Kraśnik', 'Lębork', 'Czechowice-Dziedzice', 'Dzierżoniów', - 'Ostróda', 'Police', 'Nowy Targ', 'Iława', 'Czeladź', 'Myszków', - 'Żywiec', 'Zgorzelec', 'Oława', 'Bielawa', 'Swarzędz', 'Mława', - 'Ząbki', 'Łuków', 'Augustów', 'Śrem', 'Bochnia', 'Luboń', 'Giżycko', - 'Grodzisk Mazowiecki', 'Łowicz', 'Krotoszyn', 'Września', - 'Turek', 'Pruszcz Gdański', 'Brodnica', 'Gorlice', - 'Czerwionka-Leszczyny', 'Kłodzko', 'Marki', 'Nowy Dwór Mazowiecki', - 'Kętrzyn', 'Zakopane', 'Wyszków', 'Biłgoraj', 'Żagań', - 'Bielsk Podlaski', 'Świecie', 'Wałcz', 'Jarocin', 'Pszczyna', - 'Wągrowiec', 'Szczytno', 'Białogard', 'Sandomierz', 'Bartoszyce', - 'Kluczbork', 'Lubliniec', 'Skawina', 'Jawor', 'Kościan', 'Wieluń', - 'Kościerzyna', 'Nowa Ruda', 'Świebodzice', 'Koło', 'Piastów', - 'Goleniów', 'Ostrów Mazowiecka', 'Polkowice', 'Lubartów', 'Zambrów', - 'Płońsk', 'Reda', 'Łaziska Górne', 'Środa Wielkopolska', + "Warszawa", + "Kraków", + "Łódź", + "Wrocław", + "Poznań", + "Gdańsk", + "Szczecin", + "Bydgoszcz", + "Lublin", + "Katowice", + "Białystok", + "Gdynia", + "Częstochowa", + "Radom", + "Sosnowiec", + "Toruń", + "Kielce", + "Gliwice", + "Rzeszów", + "Zabrze", + "Bytom", + "Olsztyn", + "Bielsko-Biała", + "Ruda Śląska", + "Rybnik", + "Tychy", + "Dąbrowa Górnicza", + "Gorzów Wielkopolski", + "Elbląg", + "Płock", + "Opole", + "Wałbrzych", + "Zielona Góra", + "Włocławek", + "Tarnów", + "Chorzów", + "Koszalin", + "Kalisz", + "Legnica", + "Grudziądz", + "Słupsk", + "Jaworzno", + "Jastrzębie-Zdrój", + "Nowy Sącz", + "Jelenia Góra", + "Konin", + "Piotrków Trybunalski", + "Siedlce", + "Inowrocław", + "Mysłowice", + "Piła", + "Lubin", + "Ostrów Wielkopolski", + "Ostrowiec Świętokrzyski", + "Gniezno", + "Stargard Szczeciński", + "Siemianowice Śląskie", + "Suwałki", + "Głogów", + "Pabianice", + "Chełm", + "Zamość", + "Tomaszów Mazowiecki", + "Leszno", + "Przemyśl", + "Stalowa Wola", + "Kędzierzyn-Koźle", + "Łomża", + "Żory", + "Mielec", + "Tarnowskie Góry", + "Tczew", + "Bełchatów", + "Świdnica", + "Ełk", + "Pruszków", + "Będzin", + "Biała Podlaska", + "Zgierz", + "Piekary Śląskie", + "Racibórz", + "Legionowo", + "Ostrołęka", + "Świętochłowice", + "Starachowice", + "Zawiercie", + "Wejherowo", + "Puławy", + "Wodzisław Śląski", + "Starogard Gdański", + "Skierniewice", + "Tarnobrzeg", + "Skarżysko-Kamienna", + "Radomsko", + "Krosno", + "Rumia", + "Dębica", + "Kołobrzeg", + "Kutno", + "Nysa", + "Ciechanów", + "Otwock", + "Piaseczno", + "Zduńska Wola", + "Sieradz", + "Świnoujście", + "Żyrardów", + "Szczecinek", + "Świdnik", + "Chojnice", + "Nowa Sól", + "Oświęcim", + "Bolesławiec", + "Mińsk Mazowiecki", + "Mikołów", + "Jarosław", + "Sanok", + "Knurów", + "Malbork", + "Żary", + "Kwidzyn", + "Chrzanów", + "Sopot", + "Sochaczew", + "Wołomin", + "Oleśnica", + "Brzeg", + "Olkusz", + "Jasło", + "Cieszyn", + "Kraśnik", + "Lębork", + "Czechowice-Dziedzice", + "Dzierżoniów", + "Ostróda", + "Police", + "Nowy Targ", + "Iława", + "Czeladź", + "Myszków", + "Żywiec", + "Zgorzelec", + "Oława", + "Bielawa", + "Swarzędz", + "Mława", + "Ząbki", + "Łuków", + "Augustów", + "Śrem", + "Bochnia", + "Luboń", + "Giżycko", + "Grodzisk Mazowiecki", + "Łowicz", + "Krotoszyn", + "Września", + "Turek", + "Pruszcz Gdański", + "Brodnica", + "Gorlice", + "Czerwionka-Leszczyny", + "Kłodzko", + "Marki", + "Nowy Dwór Mazowiecki", + "Kętrzyn", + "Zakopane", + "Wyszków", + "Biłgoraj", + "Żagań", + "Bielsk Podlaski", + "Świecie", + "Wałcz", + "Jarocin", + "Pszczyna", + "Wągrowiec", + "Szczytno", + "Białogard", + "Sandomierz", + "Bartoszyce", + "Kluczbork", + "Lubliniec", + "Skawina", + "Jawor", + "Kościan", + "Wieluń", + "Kościerzyna", + "Nowa Ruda", + "Świebodzice", + "Koło", + "Piastów", + "Goleniów", + "Ostrów Mazowiecka", + "Polkowice", + "Lubartów", + "Zambrów", + "Płońsk", + "Reda", + "Łaziska Górne", + "Środa Wielkopolska", ) street_prefixes = ( - 'ulica', 'aleja', 'plac', + "ulica", + "aleja", + "plac", ) streets = ( - 'Polna', 'Leśna', 'Słoneczna', 'Krótka', 'Szkolna', 'Ogrodowa', - 'Lipowa', 'Brzozowa', 'Łąkowa', 'Kwiatowa', 'Sosnowa', 'Kościelna', - 'Akacjowa', 'Parkowa', 'Zielona', 'Kolejowa', 'Sportowa', 'Dębowa', - 'Kościuszki', 'Maja', 'Mickiewicza', 'Cicha', 'Spokojna', 'Klonowa', - 'Spacerowa', 'Swierkowa', 'Kasztanowa', 'Nowa', 'Piaskowa', - 'Sienkiewicza', 'Rózana', 'Topolowa', 'Wiśniowa', 'Dworcowa', - 'Wiejska', 'Graniczna', 'Słowackiego', 'Długa', 'Wrzosowa', - 'Konopnickiej', 'Boczna', 'Wąska', 'Wierzbowa', 'Jaśminowa', - 'Wspólna', 'Modrzewiowa', 'Kopernika', 'Jana Pawła II', - 'Poprzeczna', 'Wesoła', 'Pogodna', 'Żeromskiego', 'Rynek', 'Bukowa', - 'Wojska Polskiego', 'Sadowa', 'Górna', 'Jodłowa', 'Wolności', - 'Glówna', 'Młyńska', 'Strażacka', 'Prusa', 'Jesionowa', 'Przemysłowa', - 'Osiedlowa', 'Wiosenna', 'Sikorskiego', 'Chopina', 'Południowa', - 'Malinowa', 'Stawowa', 'Reymonta', 'Piłsudskiego', 'Zacisze', - 'Cmentarna', 'Okrężna', 'Kochanowskiego', 'Armii Krajowej', 'Miła', - 'Jasna', 'Wodna', 'Zamkowa', 'Witosa', 'Reja', 'Warszawska', - 'Miodowa', 'Partyzantów', 'Krzywa', 'Kilińskiego', 'Dolna', - 'Podgórna', 'Kreta', 'Jarzębinowa', 'Moniuszki', 'Targowa', 'Prosta', - 'Orzeszkowej', 'Spółdzielcza', 'Jagodowa', 'Działkowa', 'Staszica', - 'Orzechowa', 'Rzemieślnicza', 'Rzeczna', 'Bolesława Chrobrego', - 'Fabryczna', 'Tęczowa', 'Chabrowa', 'Poziomkowa', 'Konwaliowa', - 'Wyszyńskiego', 'Kalinowa', 'Północna', 'Matejki', 'Grunwaldzka', - 'Cisowa', 'Nadrzeczna', 'Pocztowa', 'Zachodnia', 'Dąbrowskiego', - 'Grabowa', 'Norwida', 'Źródlana', 'Asnyka', 'Gajowa', 'Paderewskiego', - 'Listopada', 'Wyspiańskiego', 'Mostowa', 'Broniewskiego', 'Tuwima', - 'Wschodnia', 'Jaworowa', 'Poznańska', 'Makowa', 'Bema', 'Jeziorna', - 'Piękna', 'Czereśniowa', 'Mała', 'Krakowska', 'Radosna', - 'Leszczynowa', 'Traugutta', 'Jadwigi', 'Rolna', 'Wyzwolenia', - 'Piastowska', 'Grzybowa', 'Krasickiego', 'Podleśna', 'Żytnia', - 'Złota', 'Bursztynowa', 'Żwirowa', 'Stycznia', 'Widokowa', - 'Kazimierza Wielkiego', 'Kamienna', 'Jałowcowa', 'Morelowa', - 'Mieszka I', 'Myśliwska', 'Łączna', 'Szpitalna', 'Wczasowa', - 'Żurawia', 'Fiołkowa', 'Głowackiego', 'Rolnicza', 'Tulipanowa', - 'Władysława Jagiełły', 'Dworska', 'Letnia', 'Liliowa', 'Owocowa', - 'Pułaskiego', 'Stefana Batorego', 'Harcerska', 'Kołłątaja', - 'Strzelecka', 'Kraszewskiego', 'Władysława Łokietka', - 'Żwirki i Wigury', 'Wrocławska', 'Gdańska', 'Turystyczna', - 'Niepodległości', 'Poniatowskiego', 'Korczaka', 'Rybacka', - 'Narutowicza', 'Okrzei', 'Krucza', 'Jagiellońska', 'Świerczewskiego', - 'Kasprowicza', 'Szeroka', 'Jana III Sobieskiego', 'Młynarska', - 'Olchowa', 'Powstańców Śląskich', 'Rumiankowa', 'Stroma', - 'Starowiejska', 'Mazowiecka', - 'Lawendowa', 'Robotnicza', 'Zbożowa', 'Mokra', - 'Powstańców Wielkopolskich', 'Towarowa', 'Dobra', 'Środkowa', - 'Willowa', 'Zielna', 'Zdrojowa', 'Opolska', 'Agrestowa', 'Księżycowa', - 'Zwycięstwa', 'Fredry', 'Letniskowa', 'Andersa', 'Baczynskiego', - 'Batalionów Chłopskich', 'Dąbrowskiej', 'Orla', 'Skłodowskiej-Curie', - 'Błękitna', 'Rubinowa', 'Brzoskwiniowa', 'Urocza', 'Gałczynskiego', - 'Krasińskiego', 'Pomorska', 'Szymanowskiego', 'Jeżynowa', - 'Czarnieckiego', 'Nałkowskiej', 'Zaciszna', 'Porzeczkowa', - 'Krańcowa', 'Jesienna', 'Klasztorna', 'Irysowa', 'Niecała', - 'Wybickiego', 'Nadbrzeżna', 'Szarych Szeregów', 'Wałowa', - 'Słowicza', 'Strumykowa', 'Drzymały', 'Gołębia', 'Torowa', - 'Cegielniana', 'Cyprysowa', 'Słowianska', 'Diamentowa', 'Waryńskiego', - 'Częstochowska', 'Dojazdowa', 'Przechodnia', 'Hallera', 'Lubelska', - 'Plater', 'Popiełuszki', 'Borówkowa', 'Chełmońskiego', 'Daszyńskiego', - 'Plażowa', 'Tartaczna', 'Jabłoniowa', 'Kossaka', 'Skargi', 'Ludowa', - 'Sokola', 'Azaliowa', 'Szmaragdowa', 'Lipca', 'Staffa', 'Tysiąclecia', - 'Brzechwy', 'Jastrzębia', 'Kusocińskiego', 'Storczykowa', 'Wilcza', - 'Górnicza', 'Szafirowa', 'Długosza', 'Handlowa', 'Krokusowa', - 'Składowa', 'Widok', 'Perłowa', 'Skośna', 'Wypoczynkowa', 'Chmielna', - 'Jaskółcza', 'Nowowiejska', 'Piwna', 'Śląska', 'Zaułek', 'Głogowa', - 'Górska', 'Truskawkowa', 'Kaszubska', 'Kosynierów', 'Mazurska', - 'Srebrna', 'Bociania', 'Ptasia', 'Cedrowa', 'Rycerska', - 'Wieniawskiego', 'Żabia', 'Toruńska', 'Podmiejska', 'Słonecznikowa', - 'Sowia', 'Stolarska', 'Powstańców', 'Sucharskiego', - 'Bolesława Krzywoustego', 'Konarskiego', - 'Szczęśliwa', 'Lazurowa', 'Miarki', 'Narcyzowa', 'Browarna', - 'Konstytucji 3 Maja', 'Majowa', 'Miłosza', 'Malczewskiego', 'Orkana', - 'Skrajna', 'Bankowa', 'Bydgoska', 'Piekarska', 'Żeglarska', 'Jana', - 'Turkusowa', 'Tylna', 'Wysoka', 'Zakątek', 'Maczka', 'Morska', - 'Rataja', 'Szewska', 'Podwale', 'Pałacowa', 'Magnoliowa', 'Ceglana', - 'Sawickiej', 'Ściegiennego', 'Wiklinowa', 'Zakole', 'Borowa', - 'Kolorowa', 'Lisia', 'Lotnicza', 'Sarnia', 'Wiązowa', 'Grottgera', - 'Kolonia', 'Królewska', 'Promienna', 'Daleka', 'Jana Sobieskiego', - 'Rejtana', 'Wiatraczna', 'Kaliska', 'Łanowa', 'Średnia', 'Wiślana', - 'Wróblewskiego', 'Koralowa', 'Kruczkowskiego', 'Lelewela', - 'Makuszyńskiego', 'Sybiraków', 'Kowalska', 'Morcinka', 'Odrzańska', - 'Okulickiego', 'Solidarnosci', 'Zapolskiej', 'Łabędzia', 'Wojciecha', - 'Bałtycka', 'Lwowska', 'Rajska', 'Korfantego', 'Pszenna', 'Ciasna', - 'Floriana', 'Hutnicza', 'Kielecka', + "Polna", + "Leśna", + "Słoneczna", + "Krótka", + "Szkolna", + "Ogrodowa", + "Lipowa", + "Brzozowa", + "Łąkowa", + "Kwiatowa", + "Sosnowa", + "Kościelna", + "Akacjowa", + "Parkowa", + "Zielona", + "Kolejowa", + "Sportowa", + "Dębowa", + "Kościuszki", + "Maja", + "Mickiewicza", + "Cicha", + "Spokojna", + "Klonowa", + "Spacerowa", + "Swierkowa", + "Kasztanowa", + "Nowa", + "Piaskowa", + "Sienkiewicza", + "Rózana", + "Topolowa", + "Wiśniowa", + "Dworcowa", + "Wiejska", + "Graniczna", + "Słowackiego", + "Długa", + "Wrzosowa", + "Konopnickiej", + "Boczna", + "Wąska", + "Wierzbowa", + "Jaśminowa", + "Wspólna", + "Modrzewiowa", + "Kopernika", + "Jana Pawła II", + "Poprzeczna", + "Wesoła", + "Pogodna", + "Żeromskiego", + "Rynek", + "Bukowa", + "Wojska Polskiego", + "Sadowa", + "Górna", + "Jodłowa", + "Wolności", + "Glówna", + "Młyńska", + "Strażacka", + "Prusa", + "Jesionowa", + "Przemysłowa", + "Osiedlowa", + "Wiosenna", + "Sikorskiego", + "Chopina", + "Południowa", + "Malinowa", + "Stawowa", + "Reymonta", + "Piłsudskiego", + "Zacisze", + "Cmentarna", + "Okrężna", + "Kochanowskiego", + "Armii Krajowej", + "Miła", + "Jasna", + "Wodna", + "Zamkowa", + "Witosa", + "Reja", + "Warszawska", + "Miodowa", + "Partyzantów", + "Krzywa", + "Kilińskiego", + "Dolna", + "Podgórna", + "Kreta", + "Jarzębinowa", + "Moniuszki", + "Targowa", + "Prosta", + "Orzeszkowej", + "Spółdzielcza", + "Jagodowa", + "Działkowa", + "Staszica", + "Orzechowa", + "Rzemieślnicza", + "Rzeczna", + "Bolesława Chrobrego", + "Fabryczna", + "Tęczowa", + "Chabrowa", + "Poziomkowa", + "Konwaliowa", + "Wyszyńskiego", + "Kalinowa", + "Północna", + "Matejki", + "Grunwaldzka", + "Cisowa", + "Nadrzeczna", + "Pocztowa", + "Zachodnia", + "Dąbrowskiego", + "Grabowa", + "Norwida", + "Źródlana", + "Asnyka", + "Gajowa", + "Paderewskiego", + "Listopada", + "Wyspiańskiego", + "Mostowa", + "Broniewskiego", + "Tuwima", + "Wschodnia", + "Jaworowa", + "Poznańska", + "Makowa", + "Bema", + "Jeziorna", + "Piękna", + "Czereśniowa", + "Mała", + "Krakowska", + "Radosna", + "Leszczynowa", + "Traugutta", + "Jadwigi", + "Rolna", + "Wyzwolenia", + "Piastowska", + "Grzybowa", + "Krasickiego", + "Podleśna", + "Żytnia", + "Złota", + "Bursztynowa", + "Żwirowa", + "Stycznia", + "Widokowa", + "Kazimierza Wielkiego", + "Kamienna", + "Jałowcowa", + "Morelowa", + "Mieszka I", + "Myśliwska", + "Łączna", + "Szpitalna", + "Wczasowa", + "Żurawia", + "Fiołkowa", + "Głowackiego", + "Rolnicza", + "Tulipanowa", + "Władysława Jagiełły", + "Dworska", + "Letnia", + "Liliowa", + "Owocowa", + "Pułaskiego", + "Stefana Batorego", + "Harcerska", + "Kołłątaja", + "Strzelecka", + "Kraszewskiego", + "Władysława Łokietka", + "Żwirki i Wigury", + "Wrocławska", + "Gdańska", + "Turystyczna", + "Niepodległości", + "Poniatowskiego", + "Korczaka", + "Rybacka", + "Narutowicza", + "Okrzei", + "Krucza", + "Jagiellońska", + "Świerczewskiego", + "Kasprowicza", + "Szeroka", + "Jana III Sobieskiego", + "Młynarska", + "Olchowa", + "Powstańców Śląskich", + "Rumiankowa", + "Stroma", + "Starowiejska", + "Mazowiecka", + "Lawendowa", + "Robotnicza", + "Zbożowa", + "Mokra", + "Powstańców Wielkopolskich", + "Towarowa", + "Dobra", + "Środkowa", + "Willowa", + "Zielna", + "Zdrojowa", + "Opolska", + "Agrestowa", + "Księżycowa", + "Zwycięstwa", + "Fredry", + "Letniskowa", + "Andersa", + "Baczynskiego", + "Batalionów Chłopskich", + "Dąbrowskiej", + "Orla", + "Skłodowskiej-Curie", + "Błękitna", + "Rubinowa", + "Brzoskwiniowa", + "Urocza", + "Gałczynskiego", + "Krasińskiego", + "Pomorska", + "Szymanowskiego", + "Jeżynowa", + "Czarnieckiego", + "Nałkowskiej", + "Zaciszna", + "Porzeczkowa", + "Krańcowa", + "Jesienna", + "Klasztorna", + "Irysowa", + "Niecała", + "Wybickiego", + "Nadbrzeżna", + "Szarych Szeregów", + "Wałowa", + "Słowicza", + "Strumykowa", + "Drzymały", + "Gołębia", + "Torowa", + "Cegielniana", + "Cyprysowa", + "Słowianska", + "Diamentowa", + "Waryńskiego", + "Częstochowska", + "Dojazdowa", + "Przechodnia", + "Hallera", + "Lubelska", + "Plater", + "Popiełuszki", + "Borówkowa", + "Chełmońskiego", + "Daszyńskiego", + "Plażowa", + "Tartaczna", + "Jabłoniowa", + "Kossaka", + "Skargi", + "Ludowa", + "Sokola", + "Azaliowa", + "Szmaragdowa", + "Lipca", + "Staffa", + "Tysiąclecia", + "Brzechwy", + "Jastrzębia", + "Kusocińskiego", + "Storczykowa", + "Wilcza", + "Górnicza", + "Szafirowa", + "Długosza", + "Handlowa", + "Krokusowa", + "Składowa", + "Widok", + "Perłowa", + "Skośna", + "Wypoczynkowa", + "Chmielna", + "Jaskółcza", + "Nowowiejska", + "Piwna", + "Śląska", + "Zaułek", + "Głogowa", + "Górska", + "Truskawkowa", + "Kaszubska", + "Kosynierów", + "Mazurska", + "Srebrna", + "Bociania", + "Ptasia", + "Cedrowa", + "Rycerska", + "Wieniawskiego", + "Żabia", + "Toruńska", + "Podmiejska", + "Słonecznikowa", + "Sowia", + "Stolarska", + "Powstańców", + "Sucharskiego", + "Bolesława Krzywoustego", + "Konarskiego", + "Szczęśliwa", + "Lazurowa", + "Miarki", + "Narcyzowa", + "Browarna", + "Konstytucji 3 Maja", + "Majowa", + "Miłosza", + "Malczewskiego", + "Orkana", + "Skrajna", + "Bankowa", + "Bydgoska", + "Piekarska", + "Żeglarska", + "Jana", + "Turkusowa", + "Tylna", + "Wysoka", + "Zakątek", + "Maczka", + "Morska", + "Rataja", + "Szewska", + "Podwale", + "Pałacowa", + "Magnoliowa", + "Ceglana", + "Sawickiej", + "Ściegiennego", + "Wiklinowa", + "Zakole", + "Borowa", + "Kolorowa", + "Lisia", + "Lotnicza", + "Sarnia", + "Wiązowa", + "Grottgera", + "Kolonia", + "Królewska", + "Promienna", + "Daleka", + "Jana Sobieskiego", + "Rejtana", + "Wiatraczna", + "Kaliska", + "Łanowa", + "Średnia", + "Wiślana", + "Wróblewskiego", + "Koralowa", + "Kruczkowskiego", + "Lelewela", + "Makuszyńskiego", + "Sybiraków", + "Kowalska", + "Morcinka", + "Odrzańska", + "Okulickiego", + "Solidarnosci", + "Zapolskiej", + "Łabędzia", + "Wojciecha", + "Bałtycka", + "Lwowska", + "Rajska", + "Korfantego", + "Pszenna", + "Ciasna", + "Floriana", + "Hutnicza", + "Kielecka", ) regions = ( - "Dolnośląskie", "Kujawsko - pomorskie", "Lubelskie", "Lubuskie", - "Łódzkie", "Małopolskie", "Mazowieckie", "Opolskie", "Podkarpackie", - "Podlaskie", "Pomorskie", "Śląskie", "Świętokrzyskie", - "Warmińsko - mazurskie", "Wielkopolskie", "Zachodniopomorskie", + "Dolnośląskie", + "Kujawsko - pomorskie", + "Lubelskie", + "Lubuskie", + "Łódzkie", + "Małopolskie", + "Mazowieckie", + "Opolskie", + "Podkarpackie", + "Podlaskie", + "Pomorskie", + "Śląskie", + "Świętokrzyskie", + "Warmińsko - mazurskie", + "Wielkopolskie", + "Zachodniopomorskie", ) - building_number_formats = ('##', '###', "##/##") - postcode_formats = ('##-###',) + building_number_formats = ("##", "###", "##/##") + postcode_formats = ("##-###",) street_address_formats = ( - '{{street_prefix}} {{street_name}} {{building_number}}', - '{{street_prefix_short}} {{street_name}} {{building_number}}', - ) - address_formats = ( - "{{street_address}}\n{{postcode}} {{city}}", + "{{street_prefix}} {{street_name}} {{building_number}}", + "{{street_prefix_short}} {{street_name}} {{building_number}}", ) + address_formats = ("{{street_address}}\n{{postcode}} {{city}}",) - def street_prefix(self): + def street_prefix(self) -> str: """ Randomly returns a street prefix :example 'aleja' """ return self.random_element(self.street_prefixes) - def street_prefix_short(self): + def street_prefix_short(self) -> str: """ Randomly returns an abbreviation of the street prefix. :example 'al.' """ - return self.random_element(self.street_prefixes)[:2] + '.' + return self.random_element(self.street_prefixes)[:2] + "." # type: ignore - def street_name(self): + def street_name(self) -> str: """ Randomly returns a street name :example 'Wróblewskiego' """ return self.random_element(self.streets) - def city(self): + def city(self) -> str: """ Randomly returns a street name :example 'Konin' """ return self.random_element(self.cities) - def region(self): + def administrative_unit(self) -> str: """ :example 'Wielkopolskie' """ return self.random_element(self.regions) + + region = administrative_unit diff --git a/faker/providers/address/pt_BR/__init__.py b/faker/providers/address/pt_BR/__init__.py index 8b52480128..583988a5da 100644 --- a/faker/providers/address/pt_BR/__init__.py +++ b/faker/providers/address/pt_BR/__init__.py @@ -1,286 +1,903 @@ +from typing import Tuple + from .. import Provider as AddressProvider class Provider(AddressProvider): city_suffixes = ( - 'do Sul', - 'do Norte', - 'de Minas', - 'do Campo', - 'Grande', - 'da Serra', - 'do Oeste', - 'de Goiás', - 'Paulista', - 'da Mata', - 'Alegre', - 'da Praia', - 'das Flores', - 'das Pedras', - 'dos Dourados', - 'do Amparo', - 'do Galho', - 'da Prata', - 'Verde') + "do Sul", + "do Norte", + "de Minas", + "do Campo", + "Grande", + "da Serra", + "do Oeste", + "de Goiás", + "Paulista", + "da Mata", + "Alegre", + "da Praia", + "das Flores", + "das Pedras", + "dos Dourados", + "do Amparo", + "do Galho", + "da Prata", + "Verde", + ) street_prefixes = ( - 'Aeroporto', - 'Alameda', - 'Área', - 'Avenida', - 'Campo', - 'Chácara', - 'Colônia', - 'Condomínio', - 'Conjunto', - 'Distrito', - 'Esplanada', - 'Estação', - 'Estrada', - 'Favela', - 'Fazenda', - 'Feira', - 'Jardim', - 'Ladeira', - 'Lago', - 'Lagoa', - 'Largo', - 'Loteamento', - 'Morro', - 'Núcleo', - 'Parque', - 'Passarela', - 'Pátio', - 'Praça', - 'Praia', - 'Quadra', - 'Recanto', - 'Residencial', - 'Rodovia', - 'Rua', - 'Setor', - 'Sítio', - 'Travessa', - 'Trecho', - 'Trevo', - 'Vale', - 'Vereda', - 'Via', - 'Viaduto', - 'Viela', - 'Vila') + "Aeroporto", + "Alameda", + "Área", + "Avenida", + "Campo", + "Chácara", + "Colônia", + "Condomínio", + "Conjunto", + "Distrito", + "Esplanada", + "Estação", + "Estrada", + "Favela", + "Fazenda", + "Feira", + "Jardim", + "Ladeira", + "Lago", + "Lagoa", + "Largo", + "Loteamento", + "Morro", + "Núcleo", + "Parque", + "Passarela", + "Pátio", + "Praça", + "Praia", + "Quadra", + "Recanto", + "Residencial", + "Rodovia", + "Rua", + "Setor", + "Sítio", + "Travessa", + "Trecho", + "Trevo", + "Vale", + "Vereda", + "Via", + "Viaduto", + "Viela", + "Vila", + ) city_formats = ( - '{{last_name}}', - '{{last_name}}', - '{{last_name}}', - '{{last_name}}', - '{{last_name}} {{city_suffix}}', - '{{last_name}} {{city_suffix}}', - '{{last_name}} {{city_suffix}}', - '{{last_name}} de {{last_name}}', + "{{last_name}}", + "{{last_name}}", + "{{last_name}}", + "{{last_name}}", + "{{last_name}} {{city_suffix}}", + "{{last_name}} {{city_suffix}}", + "{{last_name}} {{city_suffix}}", + "{{last_name}} de {{last_name}}", ) street_name_formats = ( - '{{street_prefix}} {{last_name}}', - '{{street_prefix}} {{first_name}} {{last_name}}', - '{{street_prefix}} de {{last_name}}', + "{{street_prefix}} {{last_name}}", + "{{street_prefix}} {{first_name}} {{last_name}}", + "{{street_prefix}} de {{last_name}}", ) street_address_formats = ( - '{{street_name}}', - '{{street_name}}, {{building_number}}', - '{{street_name}}, {{building_number}}', - '{{street_name}}, {{building_number}}', - '{{street_name}}, {{building_number}}', - '{{street_name}}, {{building_number}}', - '{{street_name}}, {{building_number}}', + "{{street_name}}", + "{{street_name}}, {{building_number}}", + "{{street_name}}, {{building_number}}", + "{{street_name}}, {{building_number}}", + "{{street_name}}, {{building_number}}", + "{{street_name}}, {{building_number}}", + "{{street_name}}, {{building_number}}", ) - address_formats = ( - "{{street_address}}\n{{bairro}}\n{{postcode}} {{city}} / {{estado_sigla}}", ) + address_formats = ("{{street_address}}\n{{bairro}}\n{{postcode}} {{city}} / {{estado_sigla}}",) - building_number_formats = ('%', '%#', '%#', '%#', '%##') + building_number_formats = ("%", "%#", "%#", "%#", "%##") - postcode_raw_formats = ('########', ) - postcode_all_formats = postcode_raw_formats + ('#####-###', ) + postcode_raw_formats = ("########",) + postcode_all_formats = postcode_raw_formats + ("#####-###",) bairros = ( - 'Aarão Reis', 'Acaba Mundo', 'Acaiaca', 'Ademar Maldonado', 'Aeroporto', 'Aguas Claras', 'Alípio De Melo', - 'Alpes', - 'Alta Tensão 1ª Seção', 'Alta Tensão 2ª Seção', 'Alto Caiçaras', 'Alto Das Antenas', 'Alto Dos Pinheiros', - 'Alto Vera Cruz', - 'Álvaro Camargos', 'Ambrosina', 'Andiroba', 'Antonio Ribeiro De Abreu 1ª Seção', 'Aparecida 7ª Seção', 'Ápia', - 'Apolonia', 'Araguaia', 'Atila De Paiva', 'Bacurau', 'Bairro Das Indústrias Ii', 'Baleia', - 'Barão Homem De Melo 1ª Seção', 'Barão Homem De Melo 2ª Seção', 'Barão Homem De Melo 3ª Seção', - 'Barreiro', 'Beija Flor', 'Beira Linha', 'Bela Vitoria', 'Belmonte', 'Bernadete', 'Betânia', 'Biquinhas', - 'Boa Esperança', 'Boa União 1ª Seção', 'Boa União 2ª Seção', 'Boa Viagem', 'Boa Vista', 'Bom Jesus', 'Bonfim', - 'Bonsucesso', 'Brasil Industrial', 'Braúnas', 'Buraco Quente', 'Cabana Do Pai Tomás', - 'Cachoeirinha', 'Caetano Furquim', 'Caiçara - Adelaide', 'Calafate', 'Califórnia', 'Camargos', 'Campo Alegre', - 'Camponesa 1ª Seção', 'Camponesa 2ª Seção', 'Canaa', 'Canadá', 'Candelaria', 'Capitão Eduardo', 'Cardoso', - 'Casa Branca', 'Castanheira', 'Cdi Jatoba', 'Cenaculo', 'Céu Azul', 'Chácara Leonina', - 'Cidade Jardim Taquaril', 'Cinquentenário', 'Colégio Batista', 'Comiteco', 'Concórdia', - 'Cônego Pinheiro 1ª Seção', - 'Cônego Pinheiro 2ª Seção', 'Confisco', 'Conjunto Bonsucesso', 'Conjunto Califórnia I', - 'Conjunto Califórnia Ii', - 'Conjunto Capitão Eduardo', 'Conjunto Celso Machado', 'Conjunto Floramar', - 'Conjunto Jardim Filadélfia', 'Conjunto Jatoba', 'Conjunto Lagoa', 'Conjunto Minas Caixa', - 'Conjunto Novo Dom Bosco', 'Conjunto Paulo Vi', 'Conjunto Providencia', 'Conjunto Santa Maria', - 'Conjunto São Francisco De Assis', 'Conjunto Serra Verde', 'Conjunto Taquaril', 'Copacabana', 'Coqueiros', - 'Corumbiara', - 'Custodinha', 'Das Industrias I', 'Delta', 'Diamante', 'Distrito Industrial Do Jatoba', 'Dom Bosco', - 'Dom Cabral', - 'Dom Joaquim', 'Dom Silverio', 'Dona Clara', 'Embaúbas', 'Engenho Nogueira', 'Ermelinda', 'Ernesto Nascimento', - 'Esperança', 'Estrela', 'Estrela Do Oriente', 'Etelvina Carneiro', 'Europa', - 'Eymard', 'Fazendinha', 'Flamengo', 'Flavio De Oliveira', 'Flavio Marques Lisboa', 'Floramar', 'Frei Leopoldo', - 'Gameleira', 'Garças', 'Glória', 'Goiania', 'Graça', 'Granja De Freitas', 'Granja Werneck', 'Grota', 'Grotinha', - 'Guarani', 'Guaratã', 'Havaí', 'Heliopolis', 'Horto Florestal', 'Inconfidência', - 'Indaiá', 'Independência', 'Ipe', 'Itapoa', 'Itatiaia', 'Jaqueline', 'Jaraguá', 'Jardim Alvorada', - 'Jardim Atlântico', 'Jardim Do Vale', 'Jardim Dos Comerciarios', 'Jardim Felicidade', 'Jardim Guanabara', - 'Jardim Leblon', 'Jardim Montanhês', 'Jardim São José', 'Jardim Vitoria', 'Jardinópolis', 'Jatobá', - 'João Alfredo', 'João Paulo Ii', 'Jonas Veiga', 'Juliana', 'Lagoa', 'Lagoinha', 'Lagoinha Leblon', 'Lajedo', - 'Laranjeiras', 'Leonina', 'Leticia', 'Liberdade', 'Lindéia', 'Lorena', 'Madre Gertrudes', 'Madri', - 'Mala E Cuia', - 'Manacas', 'Mangueiras', 'Mantiqueira', 'Marajó', 'Maravilha', 'Marçola', 'Maria Goretti', - 'Maria Helena', 'Maria Tereza', 'Maria Virgínia', 'Mariano De Abreu', 'Marieta 1ª Seção', 'Marieta 2ª Seção', - 'Marieta 3ª Seção', 'Marilandia', 'Mariquinhas', 'Marmiteiros', 'Milionario', 'Minas Brasil', 'Minas Caixa', - 'Minaslandia', 'Mineirão', 'Miramar', 'Mirante', 'Mirtes', 'Monsenhor Messias', 'Monte Azul', - 'Monte São José', 'Morro Dos Macacos', 'Nazare', 'Nossa Senhora Aparecida', 'Nossa Senhora Da Aparecida', - 'Nossa Senhora Da Conceição', 'Nossa Senhora De Fátima', 'Nossa Senhora Do Rosário', 'Nova America', - 'Nova Cachoeirinha', 'Nova Cintra', 'Nova Esperança', 'Nova Floresta', 'Nova Gameleira', 'Nova Pampulha', - 'Novo Aarão Reis', 'Novo Das Industrias', 'Novo Glória', 'Novo Santa Cecilia', 'Novo Tupi', 'Oeste', 'Olaria', - "Olhos D'água", 'Ouro Minas', 'Pantanal', 'Paquetá', 'Paraíso', 'Parque São José', 'Parque São Pedro', - 'Paulo Vi', - 'Pedreira Padro Lopes', 'Penha', 'Petropolis', 'Pilar', 'Pindorama', 'Pindura Saia', - 'Piraja', 'Piratininga', 'Pirineus', 'Pompéia', 'Pongelupe', 'Pousada Santo Antonio', 'Primeiro De Maio', - 'Providencia', 'Ribeiro De Abreu', 'Rio Branco', 'Salgado Filho', 'Santa Amelia', 'Santa Branca', - 'Santa Cecilia', - 'Santa Cruz', 'Santa Helena', 'Santa Inês', 'Santa Isabel', 'Santa Margarida', 'Santa Maria', - 'Santa Rita', 'Santa Rita De Cássia', 'Santa Sofia', 'Santa Terezinha', 'Santana Do Cafezal', 'Santo André', - 'São Benedito', 'São Bernardo', 'São Cristóvão', 'São Damião', 'São Francisco', 'São Francisco Das Chagas', - 'São Gabriel', 'São Geraldo', 'São Gonçalo', 'São João', 'São João Batista', 'São Jorge 1ª Seção', - 'São Jorge 2ª Seção', 'São Jorge 3ª Seção', 'São José', 'São Marcos', 'São Paulo', 'São Salvador', - 'São Sebastião', - 'São Tomaz', 'São Vicente', 'Satelite', 'Saudade', 'Senhor Dos Passos', 'Serra Do Curral', 'Serra Verde', - 'Serrano', - 'Solar Do Barreiro', 'Solimoes', 'Sport Club', 'Suzana', 'Taquaril', - 'Teixeira Dias', 'Tiradentes', 'Tirol', 'Tres Marias', 'Trevo', 'Túnel De Ibirité', 'Tupi A', 'Tupi B', 'União', - 'Unidas', 'Universitário', 'Universo', 'Urca', 'Vale Do Jatoba', 'Varzea Da Palma', 'Venda Nova', 'Ventosa', - 'Vera Cruz', 'Vila Aeroporto', 'Vila Aeroporto Jaraguá', 'Vila Antena', 'Vila Antena Montanhês', - 'Vila Atila De Paiva', 'Vila Bandeirantes', 'Vila Barragem Santa Lúcia', 'Vila Batik', 'Vila Betânia', - 'Vila Boa Vista', 'Vila Calafate', 'Vila Califórnia', 'Vila Canto Do Sabiá', 'Vila Cemig', 'Vila Cloris', - 'Vila Copacabana', 'Vila Copasa', 'Vila Coqueiral', 'Vila Da Amizade', 'Vila Da Ária', 'Vila Da Luz', - 'Vila Da Paz', 'Vila Das Oliveiras', 'Vila Do Pombal', 'Vila Dos Anjos', 'Vila Ecológica', - 'Vila Engenho Nogueira', - 'Vila Esplanada', 'Vila Formosa', 'Vila Fumec', 'Vila Havaí', 'Vila Independencia 1ª Seção', - 'Vila Independencia 2ª Seção', 'Vila Independencia 3ª Seção', 'Vila Inestan', 'Vila Ipiranga', - 'Vila Jardim Alvorada', 'Vila Jardim Leblon', 'Vila Jardim São José', 'Vila Madre Gertrudes 1ª Seção', - 'Vila Madre Gertrudes 2ª Seção', 'Vila Madre Gertrudes 3ª Seção', 'Vila Madre Gertrudes 4ª Seção', - 'Vila Maloca', - 'Vila Mangueiras', 'Vila Mantiqueira', 'Vila Maria', 'Vila Minaslandia', 'Vila Nossa Senhora Do Rosário', - 'Vila Nova', 'Vila Nova Cachoeirinha 1ª Seção', 'Vila Nova Cachoeirinha 2ª Seção', - 'Vila Nova Cachoeirinha 3ª Seção', 'Vila Nova Dos Milionarios', 'Vila Nova Gameleira 1ª Seção', - 'Vila Nova Gameleira 2ª Seção', 'Vila Nova Gameleira 3ª Seção', 'Vila Nova Paraíso', 'Vila Novo São Lucas', - 'Vila Oeste', "Vila Olhos D'água", - 'Vila Ouro Minas', 'Vila Paquetá', 'Vila Paraíso', 'Vila Petropolis', 'Vila Pilar', 'Vila Pinho', - 'Vila Piratininga', 'Vila Piratininga Venda Nova', 'Vila Primeiro De Maio', 'Vila Puc', 'Vila Real 1ª Seção', - 'Vila Real 2ª Seção', 'Vila Rica', 'Vila Santa Monica 1ª Seção', 'Vila Santa Monica 2ª Seção', - 'Vila Santa Rosa', - 'Vila Santo Antônio', 'Vila Santo Antônio Barroquinha', 'Vila São Dimas', 'Vila São Francisco', - 'Vila São Gabriel', - 'Vila São Gabriel Jacui', 'Vila São Geraldo', 'Vila São João Batista', 'Vila São Paulo', 'Vila São Rafael', - 'Vila Satélite', 'Vila Sesc', 'Vila Sumaré', 'Vila Suzana Primeira Seção', 'Vila Suzana Segunda Seção', - 'Vila Tirol', 'Vila Trinta E Um De Março', 'Vila União', 'Vila Vista Alegre', 'Virgínia', 'Vista Alegre', - 'Vista Do Sol', 'Vitoria', 'Vitoria Da Conquista', 'Xangri-Lá', 'Xodo-Marize', 'Zilah Sposito', 'Outro', - 'Novo São Lucas', 'Esplanada', 'Estoril', 'Novo Ouro Preto', 'Ouro Preto', 'Padre Eustáquio', 'Palmares', - 'Palmeiras', 'Vila De Sá', 'Floresta', 'Anchieta', 'Aparecida', 'Grajaú', 'Planalto', 'Bandeirantes', - 'Gutierrez', - 'Jardim América', 'Renascença', 'Barro Preto', 'Barroca', 'Sagrada Família', 'Ipiranga', 'Belvedere', - 'Santa Efigênia', 'Santa Lúcia', 'Santa Monica', 'Vila Jardim Montanhes', 'Santa Rosa', 'Santa Tereza', - 'Buritis', 'Vila Paris', 'Santo Agostinho', 'Santo Antônio', 'Caiçaras', 'São Bento', 'Prado', 'Lourdes', - 'Fernão Dias', 'Carlos Prates', 'Carmo', 'Luxemburgo', 'São Lucas', 'São Luiz', 'Mangabeiras', 'São Pedro', - 'Horto', - 'Cidade Jardim', 'Castelo', 'Cidade Nova', 'Savassi', 'Serra', 'Silveira', 'Sion', 'Centro', - 'Alto Barroca', 'Nova Vista', 'Coração De Jesus', 'Coração Eucarístico', 'Funcionários', 'Cruzeiro', - 'João Pinheiro', 'Nova Granada', 'Nova Suíça', 'Itaipu', + "Aarão Reis", + "Acaba Mundo", + "Acaiaca", + "Ademar Maldonado", + "Aeroporto", + "Aguas Claras", + "Alípio De Melo", + "Alpes", + "Alta Tensão 1ª Seção", + "Alta Tensão 2ª Seção", + "Alto Caiçaras", + "Alto Das Antenas", + "Alto Dos Pinheiros", + "Alto Vera Cruz", + "Álvaro Camargos", + "Ambrosina", + "Andiroba", + "Antonio Ribeiro De Abreu 1ª Seção", + "Aparecida 7ª Seção", + "Ápia", + "Apolonia", + "Araguaia", + "Atila De Paiva", + "Bacurau", + "Bairro Das Indústrias Ii", + "Baleia", + "Barão Homem De Melo 1ª Seção", + "Barão Homem De Melo 2ª Seção", + "Barão Homem De Melo 3ª Seção", + "Barreiro", + "Beija Flor", + "Beira Linha", + "Bela Vitoria", + "Belmonte", + "Bernadete", + "Betânia", + "Biquinhas", + "Boa Esperança", + "Boa União 1ª Seção", + "Boa União 2ª Seção", + "Boa Viagem", + "Boa Vista", + "Bom Jesus", + "Bonfim", + "Bonsucesso", + "Brasil Industrial", + "Braúnas", + "Buraco Quente", + "Cabana Do Pai Tomás", + "Cachoeirinha", + "Caetano Furquim", + "Caiçara - Adelaide", + "Calafate", + "Califórnia", + "Camargos", + "Campo Alegre", + "Camponesa 1ª Seção", + "Camponesa 2ª Seção", + "Canaa", + "Canadá", + "Candelaria", + "Capitão Eduardo", + "Cardoso", + "Casa Branca", + "Castanheira", + "Cdi Jatoba", + "Cenaculo", + "Céu Azul", + "Chácara Leonina", + "Cidade Jardim Taquaril", + "Cinquentenário", + "Colégio Batista", + "Comiteco", + "Concórdia", + "Cônego Pinheiro 1ª Seção", + "Cônego Pinheiro 2ª Seção", + "Confisco", + "Conjunto Bonsucesso", + "Conjunto Califórnia I", + "Conjunto Califórnia Ii", + "Conjunto Capitão Eduardo", + "Conjunto Celso Machado", + "Conjunto Floramar", + "Conjunto Jardim Filadélfia", + "Conjunto Jatoba", + "Conjunto Lagoa", + "Conjunto Minas Caixa", + "Conjunto Novo Dom Bosco", + "Conjunto Paulo Vi", + "Conjunto Providencia", + "Conjunto Santa Maria", + "Conjunto São Francisco De Assis", + "Conjunto Serra Verde", + "Conjunto Taquaril", + "Copacabana", + "Coqueiros", + "Corumbiara", + "Custodinha", + "Das Industrias I", + "Delta", + "Diamante", + "Distrito Industrial Do Jatoba", + "Dom Bosco", + "Dom Cabral", + "Dom Joaquim", + "Dom Silverio", + "Dona Clara", + "Embaúbas", + "Engenho Nogueira", + "Ermelinda", + "Ernesto Nascimento", + "Esperança", + "Estrela", + "Estrela Do Oriente", + "Etelvina Carneiro", + "Europa", + "Eymard", + "Fazendinha", + "Flamengo", + "Flavio De Oliveira", + "Flavio Marques Lisboa", + "Floramar", + "Frei Leopoldo", + "Gameleira", + "Garças", + "Glória", + "Goiania", + "Graça", + "Granja De Freitas", + "Granja Werneck", + "Grota", + "Grotinha", + "Guarani", + "Guaratã", + "Havaí", + "Heliopolis", + "Horto Florestal", + "Inconfidência", + "Indaiá", + "Independência", + "Ipe", + "Itapoa", + "Itatiaia", + "Jaqueline", + "Jaraguá", + "Jardim Alvorada", + "Jardim Atlântico", + "Jardim Do Vale", + "Jardim Dos Comerciarios", + "Jardim Felicidade", + "Jardim Guanabara", + "Jardim Leblon", + "Jardim Montanhês", + "Jardim São José", + "Jardim Vitoria", + "Jardinópolis", + "Jatobá", + "João Alfredo", + "João Paulo Ii", + "Jonas Veiga", + "Juliana", + "Lagoa", + "Lagoinha", + "Lagoinha Leblon", + "Lajedo", + "Laranjeiras", + "Leonina", + "Leticia", + "Liberdade", + "Lindéia", + "Lorena", + "Madre Gertrudes", + "Madri", + "Mala E Cuia", + "Manacas", + "Mangueiras", + "Mantiqueira", + "Marajó", + "Maravilha", + "Marçola", + "Maria Goretti", + "Maria Helena", + "Maria Tereza", + "Maria Virgínia", + "Mariano De Abreu", + "Marieta 1ª Seção", + "Marieta 2ª Seção", + "Marieta 3ª Seção", + "Marilandia", + "Mariquinhas", + "Marmiteiros", + "Milionario", + "Minas Brasil", + "Minas Caixa", + "Minaslandia", + "Mineirão", + "Miramar", + "Mirante", + "Mirtes", + "Monsenhor Messias", + "Monte Azul", + "Monte São José", + "Morro Dos Macacos", + "Nazare", + "Nossa Senhora Aparecida", + "Nossa Senhora Da Aparecida", + "Nossa Senhora Da Conceição", + "Nossa Senhora De Fátima", + "Nossa Senhora Do Rosário", + "Nova America", + "Nova Cachoeirinha", + "Nova Cintra", + "Nova Esperança", + "Nova Floresta", + "Nova Gameleira", + "Nova Pampulha", + "Novo Aarão Reis", + "Novo Das Industrias", + "Novo Glória", + "Novo Santa Cecilia", + "Novo Tupi", + "Oeste", + "Olaria", + "Olhos D'água", + "Ouro Minas", + "Pantanal", + "Paquetá", + "Paraíso", + "Parque São José", + "Parque São Pedro", + "Paulo Vi", + "Pedreira Padro Lopes", + "Penha", + "Petropolis", + "Pilar", + "Pindorama", + "Pindura Saia", + "Piraja", + "Piratininga", + "Pirineus", + "Pompéia", + "Pongelupe", + "Pousada Santo Antonio", + "Primeiro De Maio", + "Providencia", + "Ribeiro De Abreu", + "Rio Branco", + "Salgado Filho", + "Santa Amelia", + "Santa Branca", + "Santa Cecilia", + "Santa Cruz", + "Santa Helena", + "Santa Inês", + "Santa Isabel", + "Santa Margarida", + "Santa Maria", + "Santa Rita", + "Santa Rita De Cássia", + "Santa Sofia", + "Santa Terezinha", + "Santana Do Cafezal", + "Santo André", + "São Benedito", + "São Bernardo", + "São Cristóvão", + "São Damião", + "São Francisco", + "São Francisco Das Chagas", + "São Gabriel", + "São Geraldo", + "São Gonçalo", + "São João", + "São João Batista", + "São Jorge 1ª Seção", + "São Jorge 2ª Seção", + "São Jorge 3ª Seção", + "São José", + "São Marcos", + "São Paulo", + "São Salvador", + "São Sebastião", + "São Tomaz", + "São Vicente", + "Satelite", + "Saudade", + "Senhor Dos Passos", + "Serra Do Curral", + "Serra Verde", + "Serrano", + "Solar Do Barreiro", + "Solimoes", + "Sport Club", + "Suzana", + "Taquaril", + "Teixeira Dias", + "Tiradentes", + "Tirol", + "Tres Marias", + "Trevo", + "Túnel De Ibirité", + "Tupi A", + "Tupi B", + "União", + "Unidas", + "Universitário", + "Universo", + "Urca", + "Vale Do Jatoba", + "Varzea Da Palma", + "Venda Nova", + "Ventosa", + "Vera Cruz", + "Vila Aeroporto", + "Vila Aeroporto Jaraguá", + "Vila Antena", + "Vila Antena Montanhês", + "Vila Atila De Paiva", + "Vila Bandeirantes", + "Vila Barragem Santa Lúcia", + "Vila Batik", + "Vila Betânia", + "Vila Boa Vista", + "Vila Calafate", + "Vila Califórnia", + "Vila Canto Do Sabiá", + "Vila Cemig", + "Vila Cloris", + "Vila Copacabana", + "Vila Copasa", + "Vila Coqueiral", + "Vila Da Amizade", + "Vila Da Ária", + "Vila Da Luz", + "Vila Da Paz", + "Vila Das Oliveiras", + "Vila Do Pombal", + "Vila Dos Anjos", + "Vila Ecológica", + "Vila Engenho Nogueira", + "Vila Esplanada", + "Vila Formosa", + "Vila Fumec", + "Vila Havaí", + "Vila Independencia 1ª Seção", + "Vila Independencia 2ª Seção", + "Vila Independencia 3ª Seção", + "Vila Inestan", + "Vila Ipiranga", + "Vila Jardim Alvorada", + "Vila Jardim Leblon", + "Vila Jardim São José", + "Vila Madre Gertrudes 1ª Seção", + "Vila Madre Gertrudes 2ª Seção", + "Vila Madre Gertrudes 3ª Seção", + "Vila Madre Gertrudes 4ª Seção", + "Vila Maloca", + "Vila Mangueiras", + "Vila Mantiqueira", + "Vila Maria", + "Vila Minaslandia", + "Vila Nossa Senhora Do Rosário", + "Vila Nova", + "Vila Nova Cachoeirinha 1ª Seção", + "Vila Nova Cachoeirinha 2ª Seção", + "Vila Nova Cachoeirinha 3ª Seção", + "Vila Nova Dos Milionarios", + "Vila Nova Gameleira 1ª Seção", + "Vila Nova Gameleira 2ª Seção", + "Vila Nova Gameleira 3ª Seção", + "Vila Nova Paraíso", + "Vila Novo São Lucas", + "Vila Oeste", + "Vila Olhos D'água", + "Vila Ouro Minas", + "Vila Paquetá", + "Vila Paraíso", + "Vila Petropolis", + "Vila Pilar", + "Vila Pinho", + "Vila Piratininga", + "Vila Piratininga Venda Nova", + "Vila Primeiro De Maio", + "Vila Puc", + "Vila Real 1ª Seção", + "Vila Real 2ª Seção", + "Vila Rica", + "Vila Santa Monica 1ª Seção", + "Vila Santa Monica 2ª Seção", + "Vila Santa Rosa", + "Vila Santo Antônio", + "Vila Santo Antônio Barroquinha", + "Vila São Dimas", + "Vila São Francisco", + "Vila São Gabriel", + "Vila São Gabriel Jacui", + "Vila São Geraldo", + "Vila São João Batista", + "Vila São Paulo", + "Vila São Rafael", + "Vila Satélite", + "Vila Sesc", + "Vila Sumaré", + "Vila Suzana Primeira Seção", + "Vila Suzana Segunda Seção", + "Vila Tirol", + "Vila Trinta E Um De Março", + "Vila União", + "Vila Vista Alegre", + "Virgínia", + "Vista Alegre", + "Vista Do Sol", + "Vitoria", + "Vitoria Da Conquista", + "Xangri-Lá", + "Xodo-Marize", + "Zilah Sposito", + "Outro", + "Novo São Lucas", + "Esplanada", + "Estoril", + "Novo Ouro Preto", + "Ouro Preto", + "Padre Eustáquio", + "Palmares", + "Palmeiras", + "Vila De Sá", + "Floresta", + "Anchieta", + "Aparecida", + "Grajaú", + "Planalto", + "Bandeirantes", + "Gutierrez", + "Jardim América", + "Renascença", + "Barro Preto", + "Barroca", + "Sagrada Família", + "Ipiranga", + "Belvedere", + "Santa Efigênia", + "Santa Lúcia", + "Santa Monica", + "Vila Jardim Montanhes", + "Santa Rosa", + "Santa Tereza", + "Buritis", + "Vila Paris", + "Santo Agostinho", + "Santo Antônio", + "Caiçaras", + "São Bento", + "Prado", + "Lourdes", + "Fernão Dias", + "Carlos Prates", + "Carmo", + "Luxemburgo", + "São Lucas", + "São Luiz", + "Mangabeiras", + "São Pedro", + "Horto", + "Cidade Jardim", + "Castelo", + "Cidade Nova", + "Savassi", + "Serra", + "Silveira", + "Sion", + "Centro", + "Alto Barroca", + "Nova Vista", + "Coração De Jesus", + "Coração Eucarístico", + "Funcionários", + "Cruzeiro", + "João Pinheiro", + "Nova Granada", + "Nova Suíça", + "Itaipu", ) countries = ( - 'Afeganistão', 'África do Sul', 'Akrotiri', 'Albânia', 'Alemanha', 'Andorra', 'Angola', 'Anguila', - 'Antártica', 'Antígua e Barbuda', 'Antilhas Holandesas', 'Arábia Saudita', 'Argélia', 'Argentina', - 'Armênia', 'Aruba', 'Ashmore and Cartier Islands', 'Austrália', 'Áustria', 'Azerbaijão', 'Bahamas', - 'Bangladesh', 'Barbados', 'Barein', 'Bélgica', 'Belize', 'Benim', 'Bermudas', 'Bielorrússia', - 'Birmânia', 'Bolívia', 'Bósnia e Herzegovina', 'Botsuana', 'Brasil', 'Brunei', 'Bulgária', - 'Burquina Faso', 'Burundi', 'Butão', 'Cabo Verde', 'Camarões', 'Camboja', 'Canadá', 'Catar', - 'Cazaquistão', 'Chade', 'Chile', 'China', 'Chipre', 'Clipperton Island', 'Colômbia', 'Comores', - 'Congo-Brazzaville', 'Congo-Kinshasa', 'Coral Sea Islands', 'Coreia do Norte', 'Coreia do Sul', - 'Costa do Marfim', 'Costa Rica', 'Croácia', 'Cuba', 'Dhekelia', 'Dinamarca', 'Domínica', 'Egito', - 'Costa do Marfim', 'Costa Rica', 'Croácia', 'Cuba', 'Dhekelia', 'Dinamarca', 'Domínica', 'Egito', - 'Emirados Árabes Unidos', 'Equador', 'Eritreia', 'Eslováquia', 'Eslovênia', 'Espanha', - 'Estados Unidos', - 'Estônia', 'Etiópia', 'Faroé', 'Fiji', 'Filipinas', 'Finlândia', 'França', 'Gabão', 'Gâmbia', 'Gana', - 'Geórgia', 'Geórgia do Sul e Sandwich do Sul', 'Gibraltar', 'Granada', 'Grécia', 'Gronelândia', - 'Guam', 'Guatemala', 'Guernsey', 'Guiana', 'Guiné', 'Guiné Equatorial', 'Guiné-Bissau', 'Haiti', - 'Honduras', 'Hong Kong', 'Hungria', 'Iêmen', 'Ilha Bouvet', 'Ilha do Natal', 'Ilha Norfolk', - 'Ilhas Caiman', 'Ilhas Cook', 'Ilhas dos Cocos', 'Ilhas Falkland', 'Ilhas Heard e McDonald', - 'Ilhas Marshall', 'Ilhas Salomão', 'Ilhas Turcas e Caicos', 'Ilhas Virgens Americanas', - 'Ilhas Virgens Britânicas', 'Índia', 'Indonésia', 'Iran', 'Iraque', 'Irlanda', 'Islândia', 'Israel', - 'Itália', 'Jamaica', 'Jan Mayen', 'Japão', 'Jersey', 'Jibuti', 'Jordânia', 'Kuwait', 'Laos', 'Lesoto', - 'Letônia', 'Líbano', 'Libéria', 'Líbia', 'Liechtenstein', 'Lituânia', 'Luxemburgo', 'Macau', - 'Macedônia', - 'Madagáscar', 'Malásia', 'Malávi', 'Maldivas', 'Mali', 'Malta', 'Man, Isle of', 'Marianas do Norte', - 'Marrocos', 'Maurícia', 'Mauritânia', 'Mayotte', 'México', 'Micronésia', 'Moçambique', 'Moldávia', - 'Mônaco', 'Mongólia', 'Monserrate', 'Montenegro', 'Namíbia', 'Nauru', 'Navassa Island', 'Nepal', - 'Nicarágua', 'Níger', 'Nigéria', 'Niue', 'Noruega', 'Nova Caledónia', 'Nova Zelândia', 'Omã', - 'Países Baixos', 'Palau', 'Panamá', 'Papua-Nova Guiné', 'Paquistão', 'Paracel Islands', 'Paraguai', - 'Peru', 'Pitcairn', 'Polinésia Francesa', 'Polônia', 'Porto Rico', 'Portugal', 'Quênia', - 'Quirguizistão', - 'Quiribáti', 'Reino Unido', 'República Centro-Africana', 'República Checa', 'República Dominicana', - 'Roménia', 'Ruanda', 'Rússia', 'Salvador', 'Samoa', 'Samoa Americana', 'Santa Helena', 'Santa Lúcia', - 'São Cristóvão e Neves', 'São Marinho', 'São Pedro e Miquelon', 'São Tomé e Príncipe', - 'São Vicente e Granadinas', 'Sara Ocidental', 'Seicheles', 'Senegal', 'Serra Leoa', 'Sérvia', - 'Singapura', 'Síria', 'Somália', 'Sri Lanka', 'Suazilândia', 'Sudão', 'Suécia', 'Suíça', 'Suriname', - 'Svalbard e Jan Mayen', 'Tailândia', 'Taiwan', 'Tajiquistão', 'Tanzânia', - 'Território Britânico do Oceano Índico', - 'Territórios Austrais Franceses', 'Timor Leste', 'Togo', 'Tokelau', 'Tonga', 'Trindade e Tobago', - 'Tunísia', 'Turquemenistão', 'Turquia', 'Tuvalu', 'Ucrânia', 'Uganda', 'União Europeia', 'Uruguai', - 'Usbequistão', 'Vanuatu', 'Vaticano', 'Venezuela', 'Vietnam', 'Wake Island', 'Wallis e Futuna', - 'Zâmbia', 'Zimbabué', + "Afeganistão", + "África do Sul", + "Akrotiri", + "Albânia", + "Alemanha", + "Andorra", + "Angola", + "Anguila", + "Antártica", + "Antígua e Barbuda", + "Antilhas Holandesas", + "Arábia Saudita", + "Argélia", + "Argentina", + "Armênia", + "Aruba", + "Ashmore and Cartier Islands", + "Austrália", + "Áustria", + "Azerbaijão", + "Bahamas", + "Bangladesh", + "Barbados", + "Barein", + "Bélgica", + "Belize", + "Benim", + "Bermudas", + "Bielorrússia", + "Birmânia", + "Bolívia", + "Bósnia e Herzegovina", + "Botsuana", + "Brasil", + "Brunei", + "Bulgária", + "Burquina Faso", + "Burundi", + "Butão", + "Cabo Verde", + "Camarões", + "Camboja", + "Canadá", + "Catar", + "Cazaquistão", + "Chade", + "Chile", + "China", + "Chipre", + "Clipperton Island", + "Colômbia", + "Comores", + "Congo-Brazzaville", + "Congo-Kinshasa", + "Coral Sea Islands", + "Coreia do Norte", + "Coreia do Sul", + "Costa do Marfim", + "Costa Rica", + "Croácia", + "Cuba", + "Dhekelia", + "Dinamarca", + "Domínica", + "Egito", + "Costa do Marfim", + "Costa Rica", + "Croácia", + "Cuba", + "Dhekelia", + "Dinamarca", + "Domínica", + "Egito", + "Emirados Árabes Unidos", + "Equador", + "Eritreia", + "Eslováquia", + "Eslovênia", + "Espanha", + "Estados Unidos", + "Estônia", + "Etiópia", + "Faroé", + "Fiji", + "Filipinas", + "Finlândia", + "França", + "Gabão", + "Gâmbia", + "Gana", + "Geórgia", + "Geórgia do Sul e Sandwich do Sul", + "Gibraltar", + "Granada", + "Grécia", + "Gronelândia", + "Guam", + "Guatemala", + "Guernsey", + "Guiana", + "Guiné", + "Guiné Equatorial", + "Guiné-Bissau", + "Haiti", + "Honduras", + "Hong Kong", + "Hungria", + "Iêmen", + "Ilha Bouvet", + "Ilha do Natal", + "Ilha Norfolk", + "Ilhas Caiman", + "Ilhas Cook", + "Ilhas dos Cocos", + "Ilhas Falkland", + "Ilhas Heard e McDonald", + "Ilhas Marshall", + "Ilhas Salomão", + "Ilhas Turcas e Caicos", + "Ilhas Virgens Americanas", + "Ilhas Virgens Britânicas", + "Índia", + "Indonésia", + "Iran", + "Iraque", + "Irlanda", + "Islândia", + "Israel", + "Itália", + "Jamaica", + "Jan Mayen", + "Japão", + "Jersey", + "Jibuti", + "Jordânia", + "Kuwait", + "Laos", + "Lesoto", + "Letônia", + "Líbano", + "Libéria", + "Líbia", + "Liechtenstein", + "Lituânia", + "Luxemburgo", + "Macau", + "Macedônia", + "Madagáscar", + "Malásia", + "Malávi", + "Maldivas", + "Mali", + "Malta", + "Man, Isle of", + "Marianas do Norte", + "Marrocos", + "Maurícia", + "Mauritânia", + "Mayotte", + "México", + "Micronésia", + "Moçambique", + "Moldávia", + "Mônaco", + "Mongólia", + "Monserrate", + "Montenegro", + "Namíbia", + "Nauru", + "Navassa Island", + "Nepal", + "Nicarágua", + "Níger", + "Nigéria", + "Niue", + "Noruega", + "Nova Caledónia", + "Nova Zelândia", + "Omã", + "Países Baixos", + "Palau", + "Panamá", + "Papua-Nova Guiné", + "Paquistão", + "Paracel Islands", + "Paraguai", + "Peru", + "Pitcairn", + "Polinésia Francesa", + "Polônia", + "Porto Rico", + "Portugal", + "Quênia", + "Quirguizistão", + "Quiribáti", + "Reino Unido", + "República Centro-Africana", + "República Checa", + "República Dominicana", + "Roménia", + "Ruanda", + "Rússia", + "Salvador", + "Samoa", + "Samoa Americana", + "Santa Helena", + "Santa Lúcia", + "São Cristóvão e Neves", + "São Marinho", + "São Pedro e Miquelon", + "São Tomé e Príncipe", + "São Vicente e Granadinas", + "Sara Ocidental", + "Seicheles", + "Senegal", + "Serra Leoa", + "Sérvia", + "Singapura", + "Síria", + "Somália", + "Sri Lanka", + "Suazilândia", + "Sudão", + "Suécia", + "Suíça", + "Suriname", + "Svalbard e Jan Mayen", + "Tailândia", + "Taiwan", + "Tajiquistão", + "Tanzânia", + "Território Britânico do Oceano Índico", + "Territórios Austrais Franceses", + "Timor Leste", + "Togo", + "Tokelau", + "Tonga", + "Trindade e Tobago", + "Tunísia", + "Turquemenistão", + "Turquia", + "Tuvalu", + "Ucrânia", + "Uganda", + "União Europeia", + "Uruguai", + "Usbequistão", + "Vanuatu", + "Vaticano", + "Venezuela", + "Vietnam", + "Wake Island", + "Wallis e Futuna", + "Zâmbia", + "Zimbabué", ) estados = ( - ('AC', 'Acre'), ('AL', 'Alagoas'), ('AP', - 'Amapá'), ('AM', 'Amazonas'), ('BA', 'Bahia'), - ('CE', 'Ceará'), ('DF', 'Distrito Federal'), ('ES', - 'Espírito Santo'), ('GO', 'Goiás'), ('MA', 'Maranhão'), - ('MT', 'Mato Grosso'), ('MS', 'Mato Grosso do Sul'), ('MG', - 'Minas Gerais'), ('PA', 'Pará'), ('PB', 'Paraíba'), - ('PR', 'Paraná'), ('PE', 'Pernambuco'), ('PI', - 'Piauí'), ('RJ', 'Rio de Janeiro'), - ('RN', 'Rio Grande do Norte'), - ('RS', 'Rio Grande do Sul'), ('RO', 'Rondônia'), ('RR', - 'Roraima'), ('SC', 'Santa Catarina'), - ('SP', 'São Paulo'), - ('SE', 'Sergipe'), ('TO', 'Tocantins'), + ("AC", "Acre"), + ("AL", "Alagoas"), + ("AP", "Amapá"), + ("AM", "Amazonas"), + ("BA", "Bahia"), + ("CE", "Ceará"), + ("DF", "Distrito Federal"), + ("ES", "Espírito Santo"), + ("GO", "Goiás"), + ("MA", "Maranhão"), + ("MT", "Mato Grosso"), + ("MS", "Mato Grosso do Sul"), + ("MG", "Minas Gerais"), + ("PA", "Pará"), + ("PB", "Paraíba"), + ("PR", "Paraná"), + ("PE", "Pernambuco"), + ("PI", "Piauí"), + ("RJ", "Rio de Janeiro"), + ("RN", "Rio Grande do Norte"), + ("RS", "Rio Grande do Sul"), + ("RO", "Rondônia"), + ("RR", "Roraima"), + ("SC", "Santa Catarina"), + ("SP", "São Paulo"), + ("SE", "Sergipe"), + ("TO", "Tocantins"), ) - def street_prefix(self): + def street_prefix(self) -> str: """ :example 'rua' """ return self.random_element(self.street_prefixes) - def estado(self): + def estado(self) -> Tuple[str, str]: """ Randomly returns a Brazilian State ('sigla' , 'nome'). :example ('MG' . 'Minas Gerais') """ return self.random_element(self.estados) - def estado_nome(self): + def estado_nome(self) -> str: """ Randomly returns a Brazilian State Name :example 'Minas Gerais' """ return self.estado()[1] - def estado_sigla(self): + def estado_sigla(self) -> str: """ Randomly returns the abbreviation of a Brazilian State @@ -288,7 +905,7 @@ def estado_sigla(self): """ return self.estado()[0] - def bairro(self): + def bairro(self) -> str: """ Randomly returns a bairro (neighborhood) name. The names were taken from the city of Belo Horizonte - Minas Gerais @@ -297,7 +914,7 @@ def bairro(self): """ return self.random_element(self.bairros) - def postcode(self, formatted=True): + def postcode(self, formatted: bool = True) -> str: """ Randomly returns a postcode. :param formatted: True to allow formatted postcodes, else False (default True) @@ -308,11 +925,13 @@ def postcode(self, formatted=True): return self.bothify(self.random_element(template)) # aliases - def neighborhood(self): + def neighborhood(self) -> str: return self.bairro() - def state(self): + def administrative_unit(self) -> str: return self.estado_nome() - def state_abbr(self): + state = administrative_unit + + def state_abbr(self) -> str: return self.estado_sigla() diff --git a/faker/providers/address/pt_PT/__init__.py b/faker/providers/address/pt_PT/__init__.py index 2ba63872d4..bdaf54b89a 100644 --- a/faker/providers/address/pt_PT/__init__.py +++ b/faker/providers/address/pt_PT/__init__.py @@ -3,421 +3,1590 @@ class Provider(AddressProvider): - street_prefixes = ('Av', 'Avenida', 'R.', 'Rua', 'Travessa', 'Largo', 'Alameda', 'Praça') + street_prefixes = ( + "Av", + "Avenida", + "R.", + "Rua", + "Travessa", + "Largo", + "Alameda", + "Praça", + ) - city_formats = ('{{city_name}}',) + city_formats = ("{{city_name}}",) street_name_formats = ( - '{{street_prefix}} {{last_name}}', - '{{street_prefix}} {{first_name}} {{last_name}}', - '{{street_prefix}} de {{last_name}}', - '{{street_prefix}} {{place_name}}', + "{{street_prefix}} {{last_name}}", + "{{street_prefix}} {{first_name}} {{last_name}}", + "{{street_prefix}} de {{last_name}}", + "{{street_prefix}} {{place_name}}", ) - street_address_formats = ( - '{{street_name}}, {{building_number}}', - ) + street_address_formats = ("{{street_name}}, {{building_number}}",) - address_formats = ( - "{{street_address}}\n{{postcode}} {{city}}", - ) + address_formats = ("{{street_address}}\n{{postcode}} {{city}}",) - building_number_formats = ('S/N', '%', '%#', '%#', '%#', '%##') + building_number_formats = ("S/N", "%", "%#", "%#", "%#", "%##") - postcode_formats = ('####-###',) + postcode_formats = ("####-###",) cities = ( - 'Abrantes', 'Agualva-Cacém', 'Albufeira', 'Alcobaça', 'Alcácer do Sal', - 'Almada', 'Almeirim', 'Alverca do Ribatejo', 'Amadora', 'Amarante', - 'Amora', 'Anadia', 'Angra do Heroísmo', 'Aveiro', 'Barcelos', - 'Barreiro', 'Beja', 'Braga', 'Bragança', 'Caldas da Rainha', 'Caniço', - 'Cantanhede', 'Cartaxo', 'Castelo Branco', 'Chaves', 'Coimbra', - 'Costa da Caparica', 'Covilhã', 'Câmara de Lobos', 'Elvas', - 'Entroncamento', 'Ermesinde', 'Esmoriz', 'Espinho', 'Esposende', - 'Estarreja', 'Estremoz', 'Fafe', 'Faro', 'Felgueiras', - 'Figueira da Foz', 'Fiães', 'Freamunde', 'Funchal', 'Fundão', 'Fátima', - 'Gafanha da Nazaré', 'Gandra', 'Gondomar', 'Gouveia', 'Guarda', - 'Guimarães', 'Horta', 'Lagoa', 'Lagos', 'Lamego', 'Leiria', 'Lisboa', - 'Lixa', 'Loulé', 'Loures', 'Lourosa', 'Macedo de Cavaleiros', 'Maia', - 'Mangualde', 'Marco de Canaveses', 'Marinha Grande', 'Matosinhos', - 'Mealhada', 'Miranda do Douro', 'Mirandela', 'Montemor-o-Novo', - 'Montijo', 'Moura', 'Mêda', 'Odivelas', 'Olhão', 'Oliveira de Azeméis', - 'Oliveira do Bairro', 'Oliveira do Hospital', 'Ourém', 'Ovar', - 'Paredes', 'Paços de Ferreira', 'Penafiel', 'Peniche', 'Peso da Régua', - 'Pinhel', 'Pombal', 'Ponta Delgada', 'Ponte de Sor', 'Portalegre', - 'Portimão', 'Porto', 'Porto Santo', 'Praia da Vitória', - 'Póvoa de Santa Iria', 'Póvoa de Varzim', 'Quarteira', 'Queluz', - 'Rebordosa', 'Reguengos de Monsaraz', 'Ribeira Grande', 'Rio Maior', - 'Rio Tinto', 'Sabugal', 'Sacavém', 'Santa Comba Dão', 'Santa Cruz', - 'Santa Maria da Feira', 'Santana', 'Santarém', 'Santiago do Cacém', - 'Santo Tirso', 'Seia', 'Seixal', 'Serpa', 'Setúbal', 'Silves', 'Sines', - 'Sintra', 'São João da Madeira', 'São Mamede de Infesta', - 'São Salvador de Lordelo', 'Tarouca', 'Tavira', 'Tomar', 'Tondela', - 'Torres Novas', 'Torres Vedras', 'Trancoso', 'Trofa', 'Valbom', - 'Vale de Cambra', 'Valongo', 'Valpaços', 'Vendas Novas', - 'Viana do Castelo', 'Vila Franca de Xira', 'Vila Nova de Famalicão', - 'Vila Nova de Foz Côa', 'Vila Nova de Gaia', 'Vila Nova de Santo André', - 'Vila Real', 'Vila Real de Santo António', 'Vila do Conde', 'Viseu', - 'Vizela', 'Évora', 'Ílhavo', + "Abrantes", + "Agualva-Cacém", + "Albufeira", + "Alcobaça", + "Alcácer do Sal", + "Almada", + "Almeirim", + "Alverca do Ribatejo", + "Amadora", + "Amarante", + "Amora", + "Anadia", + "Angra do Heroísmo", + "Aveiro", + "Barcelos", + "Barreiro", + "Beja", + "Braga", + "Bragança", + "Caldas da Rainha", + "Caniço", + "Cantanhede", + "Cartaxo", + "Castelo Branco", + "Chaves", + "Coimbra", + "Costa da Caparica", + "Covilhã", + "Câmara de Lobos", + "Elvas", + "Entroncamento", + "Ermesinde", + "Esmoriz", + "Espinho", + "Esposende", + "Estarreja", + "Estremoz", + "Fafe", + "Faro", + "Felgueiras", + "Figueira da Foz", + "Fiães", + "Freamunde", + "Funchal", + "Fundão", + "Fátima", + "Gafanha da Nazaré", + "Gandra", + "Gondomar", + "Gouveia", + "Guarda", + "Guimarães", + "Horta", + "Lagoa", + "Lagos", + "Lamego", + "Leiria", + "Lisboa", + "Lixa", + "Loulé", + "Loures", + "Lourosa", + "Macedo de Cavaleiros", + "Maia", + "Mangualde", + "Marco de Canaveses", + "Marinha Grande", + "Matosinhos", + "Mealhada", + "Miranda do Douro", + "Mirandela", + "Montemor-o-Novo", + "Montijo", + "Moura", + "Mêda", + "Odivelas", + "Olhão", + "Oliveira de Azeméis", + "Oliveira do Bairro", + "Oliveira do Hospital", + "Ourém", + "Ovar", + "Paredes", + "Paços de Ferreira", + "Penafiel", + "Peniche", + "Peso da Régua", + "Pinhel", + "Pombal", + "Ponta Delgada", + "Ponte de Sor", + "Portalegre", + "Portimão", + "Porto", + "Porto Santo", + "Praia da Vitória", + "Póvoa de Santa Iria", + "Póvoa de Varzim", + "Quarteira", + "Queluz", + "Rebordosa", + "Reguengos de Monsaraz", + "Ribeira Grande", + "Rio Maior", + "Rio Tinto", + "Sabugal", + "Sacavém", + "Santa Comba Dão", + "Santa Cruz", + "Santa Maria da Feira", + "Santana", + "Santarém", + "Santiago do Cacém", + "Santo Tirso", + "Seia", + "Seixal", + "Serpa", + "Setúbal", + "Silves", + "Sines", + "Sintra", + "São João da Madeira", + "São Mamede de Infesta", + "São Salvador de Lordelo", + "Tarouca", + "Tavira", + "Tomar", + "Tondela", + "Torres Novas", + "Torres Vedras", + "Trancoso", + "Trofa", + "Valbom", + "Vale de Cambra", + "Valongo", + "Valpaços", + "Vendas Novas", + "Viana do Castelo", + "Vila Franca de Xira", + "Vila Nova de Famalicão", + "Vila Nova de Foz Côa", + "Vila Nova de Gaia", + "Vila Nova de Santo André", + "Vila Real", + "Vila Real de Santo António", + "Vila do Conde", + "Viseu", + "Vizela", + "Évora", + "Ílhavo", ) countries = ( - 'Afeganistão', 'África do Sul', 'Akrotiri', 'Albânia', 'Alemanha', - 'Andorra', 'Angola', 'Anguila', 'Antárctida', 'Antígua e Barbuda', - 'Antilhas Neerlandesas', 'Arábia Saudita', 'Arctic Ocean', 'Argélia', - 'Argentina', 'Arménia', 'Aruba', 'Ashmore and Cartier Islands', - 'Atlantic Ocean', 'Austrália', 'Áustria', 'Azerbaijão', 'Baamas', - 'Bangladeche', 'Barbados', 'Barém', 'Bélgica', 'Belize', 'Benim', - 'Bermudas', 'Bielorrússia', 'Birmânia', 'Bolívia', - 'Bósnia e Herzegovina', 'Botsuana', 'Brasil', 'Brunei', 'Bulgária', - 'Burquina Faso', 'Burúndi', 'Butão', 'Cabo Verde', 'Camarões', - 'Camboja', 'Canadá', 'Catar', 'Cazaquistão', 'Chade', 'Chile', 'China', - 'Chipre', 'Clipperton Island', 'Colômbia', 'Comores', - 'Congo-Brazzaville', 'Congo-Kinshasa', 'Coral Sea Islands', - 'Coreia do Norte', 'Coreia do Sul', 'Costa do Marfim', 'Costa Rica', - 'Croácia', 'Cuba', 'Dhekelia', 'Dinamarca', 'Domínica', 'Egipto', - 'Emiratos Árabes Unidos', 'Equador', 'Eritreia', 'Eslováquia', - 'Eslovénia', 'Espanha', 'Estados Unidos', 'Estónia', 'Etiópia', 'Faroé', - 'Fiji', 'Filipinas', 'Finlândia', 'França', 'Gabão', 'Gâmbia', 'Gana', - 'Gaza Strip', 'Geórgia', 'Geórgia do Sul e Sandwich do Sul', - 'Gibraltar', 'Granada', 'Grécia', 'Gronelândia', 'Guame', 'Guatemala', - 'Guernsey', 'Guiana', 'Guiné', 'Guiné Equatorial', 'Guiné-Bissau', - 'Haiti', 'Honduras', 'Hong Kong', 'Hungria', 'Iémen', 'Ilha Bouvet', - 'Ilha do Natal', 'Ilha Norfolk', 'Ilhas Caimão', 'Ilhas Cook', - 'Ilhas dos Cocos', 'Ilhas Falkland', 'Ilhas Heard e McDonald', - 'Ilhas Marshall', 'Ilhas Salomão', 'Ilhas Turcas e Caicos', - 'Ilhas Virgens Americanas', 'Ilhas Virgens Britânicas', 'Índia', - 'Indian Ocean', 'Indonésia', 'Irão', 'Iraque', 'Irlanda', 'Islândia', - 'Israel', 'Itália', 'Jamaica', 'Jan Mayen', 'Japão', 'Jersey', 'Jibuti', - 'Jordânia', 'Kuwait', 'Laos', 'Lesoto', 'Letónia', 'Líbano', 'Libéria', - 'Líbia', 'Listenstaine', 'Lituânia', 'Luxemburgo', 'Macau', 'Macedónia', - 'Madagáscar', 'Malásia', 'Malávi', 'Maldivas', 'Mali', 'Malta', - 'Man, Isle of', 'Marianas do Norte', 'Marrocos', 'Maurícia', - 'Mauritânia', 'Mayotte', 'México', 'Micronésia', 'Moçambique', - 'Moldávia', 'Mónaco', 'Mongólia', 'Monserrate', 'Montenegro', 'Mundo', - 'Namíbia', 'Nauru', 'Navassa Island', 'Nepal', 'Nicarágua', 'Níger', - 'Nigéria', 'Niue', 'Noruega', 'Nova Caledónia', 'Nova Zelândia', 'Omã', - 'Pacific Ocean', 'Países Baixos', 'Palau', 'Panamá', 'Papua-Nova Guiné', - 'Paquistão', 'Paracel Islands', 'Paraguai', 'Peru', 'Pitcairn', - 'Polinésia Francesa', 'Polónia', 'Porto Rico', 'Portugal', 'Quénia', - 'Quirguizistão', 'Quiribáti', 'Reino Unido', - 'República Centro-Africana', 'República Checa', 'República Dominicana', - 'Roménia', 'Ruanda', 'Rússia', 'Salvador', 'Samoa', 'Samoa Americana', - 'Santa Helena', 'Santa Lúcia', 'São Cristóvão e Neves', 'São Marinho', - 'São Pedro e Miquelon', 'São Tomé e Príncipe', - 'São Vicente e Granadinas', 'Sara Ocidental', 'Seicheles', 'Senegal', - 'Serra Leoa', 'Sérvia', 'Singapura', 'Síria', 'Somália', - 'Southern Ocean', 'Spratly Islands', 'Sri Lanca', 'Suazilândia', - 'Sudão', 'Suécia', 'Suíça', 'Suriname', 'Svalbard e Jan Mayen', - 'Tailândia', 'Taiwan', 'Tajiquistão', 'Tanzânia', - 'Território Britânico do Oceano Índico', - 'Territórios Austrais Franceses', 'Timor Leste', 'Togo', 'Tokelau', - 'Tonga', 'Trindade e Tobago', 'Tunísia', 'Turquemenistão', 'Turquia', - 'Tuvalu', 'Ucrânia', 'Uganda', 'União Europeia', 'Uruguai', - 'Usbequistão', 'Vanuatu', 'Vaticano', 'Venezuela', 'Vietname', - 'Wake Island', 'Wallis e Futuna', 'West Bank', 'Zâmbia', 'Zimbabué', + "Afeganistão", + "África do Sul", + "Akrotiri", + "Albânia", + "Alemanha", + "Andorra", + "Angola", + "Anguila", + "Antárctida", + "Antígua e Barbuda", + "Antilhas Neerlandesas", + "Arábia Saudita", + "Arctic Ocean", + "Argélia", + "Argentina", + "Arménia", + "Aruba", + "Ashmore and Cartier Islands", + "Atlantic Ocean", + "Austrália", + "Áustria", + "Azerbaijão", + "Baamas", + "Bangladeche", + "Barbados", + "Barém", + "Bélgica", + "Belize", + "Benim", + "Bermudas", + "Bielorrússia", + "Birmânia", + "Bolívia", + "Bósnia e Herzegovina", + "Botsuana", + "Brasil", + "Brunei", + "Bulgária", + "Burquina Faso", + "Burúndi", + "Butão", + "Cabo Verde", + "Camarões", + "Camboja", + "Canadá", + "Catar", + "Cazaquistão", + "Chade", + "Chile", + "China", + "Chipre", + "Clipperton Island", + "Colômbia", + "Comores", + "Congo-Brazzaville", + "Congo-Kinshasa", + "Coral Sea Islands", + "Coreia do Norte", + "Coreia do Sul", + "Costa do Marfim", + "Costa Rica", + "Croácia", + "Cuba", + "Dhekelia", + "Dinamarca", + "Domínica", + "Egipto", + "Emiratos Árabes Unidos", + "Equador", + "Eritreia", + "Eslováquia", + "Eslovénia", + "Espanha", + "Estados Unidos", + "Estónia", + "Etiópia", + "Faroé", + "Fiji", + "Filipinas", + "Finlândia", + "França", + "Gabão", + "Gâmbia", + "Gana", + "Gaza Strip", + "Geórgia", + "Geórgia do Sul e Sandwich do Sul", + "Gibraltar", + "Granada", + "Grécia", + "Gronelândia", + "Guame", + "Guatemala", + "Guernsey", + "Guiana", + "Guiné", + "Guiné Equatorial", + "Guiné-Bissau", + "Haiti", + "Honduras", + "Hong Kong", + "Hungria", + "Iémen", + "Ilha Bouvet", + "Ilha do Natal", + "Ilha Norfolk", + "Ilhas Caimão", + "Ilhas Cook", + "Ilhas dos Cocos", + "Ilhas Falkland", + "Ilhas Heard e McDonald", + "Ilhas Marshall", + "Ilhas Salomão", + "Ilhas Turcas e Caicos", + "Ilhas Virgens Americanas", + "Ilhas Virgens Britânicas", + "Índia", + "Indian Ocean", + "Indonésia", + "Irão", + "Iraque", + "Irlanda", + "Islândia", + "Israel", + "Itália", + "Jamaica", + "Jan Mayen", + "Japão", + "Jersey", + "Jibuti", + "Jordânia", + "Kuwait", + "Laos", + "Lesoto", + "Letónia", + "Líbano", + "Libéria", + "Líbia", + "Listenstaine", + "Lituânia", + "Luxemburgo", + "Macau", + "Macedónia", + "Madagáscar", + "Malásia", + "Malávi", + "Maldivas", + "Mali", + "Malta", + "Man, Isle of", + "Marianas do Norte", + "Marrocos", + "Maurícia", + "Mauritânia", + "Mayotte", + "México", + "Micronésia", + "Moçambique", + "Moldávia", + "Mónaco", + "Mongólia", + "Monserrate", + "Montenegro", + "Mundo", + "Namíbia", + "Nauru", + "Navassa Island", + "Nepal", + "Nicarágua", + "Níger", + "Nigéria", + "Niue", + "Noruega", + "Nova Caledónia", + "Nova Zelândia", + "Omã", + "Pacific Ocean", + "Países Baixos", + "Palau", + "Panamá", + "Papua-Nova Guiné", + "Paquistão", + "Paracel Islands", + "Paraguai", + "Peru", + "Pitcairn", + "Polinésia Francesa", + "Polónia", + "Porto Rico", + "Portugal", + "Quénia", + "Quirguizistão", + "Quiribáti", + "Reino Unido", + "República Centro-Africana", + "República Checa", + "República Dominicana", + "Roménia", + "Ruanda", + "Rússia", + "Salvador", + "Samoa", + "Samoa Americana", + "Santa Helena", + "Santa Lúcia", + "São Cristóvão e Neves", + "São Marinho", + "São Pedro e Miquelon", + "São Tomé e Príncipe", + "São Vicente e Granadinas", + "Sara Ocidental", + "Seicheles", + "Senegal", + "Serra Leoa", + "Sérvia", + "Singapura", + "Síria", + "Somália", + "Southern Ocean", + "Spratly Islands", + "Sri Lanca", + "Suazilândia", + "Sudão", + "Suécia", + "Suíça", + "Suriname", + "Svalbard e Jan Mayen", + "Tailândia", + "Taiwan", + "Tajiquistão", + "Tanzânia", + "Território Britânico do Oceano Índico", + "Territórios Austrais Franceses", + "Timor Leste", + "Togo", + "Tokelau", + "Tonga", + "Trindade e Tobago", + "Tunísia", + "Turquemenistão", + "Turquia", + "Tuvalu", + "Ucrânia", + "Uganda", + "União Europeia", + "Uruguai", + "Usbequistão", + "Vanuatu", + "Vaticano", + "Venezuela", + "Vietname", + "Wake Island", + "Wallis e Futuna", + "West Bank", + "Zâmbia", + "Zimbabué", ) # From https://pt.wikipedia.org/wiki/Distritos_de_Portugal distritos = ( - 'Aveiro', 'Beja', 'Braga', 'Bragança', 'Castelo Branco', 'Coimbra', - 'Évora', 'Faro', 'Guarda', 'Leiria', 'Lisboa', 'Portalegre', 'Porto', - 'Santarém', 'Setúbal', 'Viana do Castelo', 'Vila Real', 'Viseu', + "Aveiro", + "Beja", + "Braga", + "Bragança", + "Castelo Branco", + "Coimbra", + "Évora", + "Faro", + "Guarda", + "Leiria", + "Lisboa", + "Portalegre", + "Porto", + "Santarém", + "Setúbal", + "Viana do Castelo", + "Vila Real", + "Viseu", ) # From https://pt.wikipedia.org/wiki/Lista_de_concelhos_por_NUTS,_distritos_e_ilhas concelhos = ( - "Águeda", "Aguiar da Beira", "Alandroal", "Albergaria-a-Velha", "Albufeira", - "Alcácer do Sal", "Alcanena", "Alcobaça", "Alcochete", "Alcoutim", "Alenquer", - "Alfândega da Fé", "Alijó", "Aljezur", "Aljustrel", "Almada", "Almeida", "Almeirim", - "Almodôvar", "Alpiarça", "Alter do Chão", "Alvaiázere", "Alvito", "Amadora", - "Amarante", "Amares", "Anadia", "Angra do Heroísmo", "Ansião", - "Arcos de Valdevez", "Arganil", "Armamar", "Arouca", "Arraiolos", - "Arronches", "Arruda dos Vinhos", "Aveiro", "Avis", "Azambuja", - "Baião", "Barcelos", "Barrancos", "Barreiro", "Batalha", "Beja", - "Belmonte", "Benavente", "Bombarral", "Borba", "Boticas", "Braga", - "Bragança", "Cabeceiras de Basto", "Cadaval", "Caldas da Rainha", - "Calheta (R.A.A.)", "Calheta (R.A.M.)", "Câmara de Lobos", "Caminha", - "Campo Maior", "Cantanhede", "Carrazeda de Ansiães", "Carregal do Sal", - "Cartaxo", "Cascais", "Castanheira de Pêra", "Castelo Branco", - "Castelo de Paiva", "Castelo de Vide", "Castro Daire", "Castro Marim", - "Castro Verde", "Celorico da Beira", "Celorico de Basto", "Chamusca", - "Chaves", "Cinfães", "Coimbra", "Condeixa-a-Nova", "Constância", - "Coruche", "Corvo", "Covilhã", "Crato", "Cuba", "Elvas", - "Entroncamento", "Espinho", "Esposende", "Estarreja", "Estremoz", - "Évora", "Fafe", "Faro", "Felgueiras", "Ferreira do Alentejo", - "Ferreira do Zêzere", "Figueira da Foz", "Figueira de Castelo Rodrigo", - "Figueiró dos Vinhos", "Fornos de Algodres", "Freixo de Espada à Cinta", - "Fronteira", "Funchal", "Fundão", "Gavião", "Góis", "Golegã", "Gondomar", - "Gouveia", "Grândola", "Guarda", "Guimarães", "Horta", "Idanha-a-Nova", - "Ílhavo", "Lagoa", "Lagoa (R.A.A)", "Lagos", "Lajes das Flores", - "Lajes do Pico", "Lamego", "Leiria", "Lisboa", "Loulé", "Loures", - "Lourinhã", "Lousã", "Lousada", "Mação", "Macedo de Cavaleiros", - "Machico", "Madalena", "Mafra", "Maia", "Mangualde", "Manteigas", - "Marco de Canaveses", "Marinha Grande", "Marvão", "Matosinhos", - "Mealhada", "Meda", "Melgaço", "Mértola", "Mesão Frio", "Mira", - "Miranda do Corvo", "Miranda do Douro", "Mirandela", "Mogadouro", - "Moimenta da Beira", "Moita", "Monção", "Monchique", "Mondim de Basto", - "Monforte", "Montalegre", "Montemor-o-Novo", "Montemor-o-Velho", "Montijo", - "Mora", "Mortágua", "Moura", "Mourão", "Murça", "Murtosa", "Nazaré", - "Nelas", "Nisa", "Nordeste", "Óbidos", "Odemira", "Odivelas", "Oeiras", - "Oleiros", "Olhão", "Oliveira de Azeméis", "Oliveira de Frades", - "Oliveira do Bairro", "Oliveira do Hospital", "Ourém", "Ourique", "Ovar", - "Paços de Ferreira", "Palmela", "Pampilhosa da Serra", "Paredes", - "Paredes de Coura", "Pedrógão Grande", "Penacova", "Penafiel", - "Penalva do Castelo", "Penamacor", "Penedono", "Penela", "Peniche", - "Peso da Régua", "Pinhel", "Pombal", "Ponta Delgada", "Ponta do Sol", - "Ponte da Barca", "Ponte de Lima", "Ponte de Sor", "Portalegre", "Portel", - "Portimão", "Porto", "Porto de Mós", "Porto Moniz", "Porto Santo", - "Povoação", "Póvoa de Lanhoso", "Póvoa de Varzim", "Proença-a-Nova", - "Redondo", "Reguengos de Monsaraz", "Resende", "Ribeira Brava", - "Ribeira de Pena", "Ribeira Grande", "Rio Maior", "Sabrosa", - "Sabugal", "Salvaterra de Magos", "Santa Comba Dão", "Santa Cruz", - "Santa Cruz da Graciosa", "Santa Cruz das Flores", "Santa Maria da Feira", - "Santa Marta de Penaguião", "Santana", "Santarém", "Santiago do Cacém", - "Santo Tirso", "São Brás de Alportel", "São João da Madeira", - "São João da Pesqueira", "São Pedro do Sul", "São Roque do Pico", - "São Vicente", "Sardoal", "Sátão", "Seia", "Seixal", "Sernancelhe", - "Serpa", "Sertã", "Sesimbra", "Setúbal", "Sever do Vouga", "Silves", - "Sines", "Sintra", "Sobral de Monte Agraço", "Soure", "Sousel", - "Tábua", "Tabuaço", "Tarouca", "Tavira", "Terras de Bouro", - "Tomar", "Tondela", "Torre de Moncorvo", "Torres Novas", - "Torres Vedras", "Trancoso", "Trofa", "Vagos", "Vale de Cambra", - "Valença", "Valongo", "Valpaços", "Velas", "Vendas Novas", - "Viana do Alentejo", "Viana do Castelo", "Vidigueira", - "Vieira do Minho", "Vila da Praia da Vitória", "Vila de Rei", - "Vila do Bispo", "Vila do Conde", "Vila do Porto", "Vila Flor", - "Vila Franca de Xira", "Vila Franca do Campo", "Vila Nova da Barquinha", - "Vila Nova de Cerveira", "Vila Nova de Famalicão", "Vila Nova de Foz Côa", - "Vila Nova de Gaia", "Vila Nova de Paiva", "Vila Nova de Poiares", - "Vila Pouca de Aguiar", "Vila Real", "Vila Real de Santo António", - "Vila Velha de Ródão", "Vila Verde", "Vila Viçosa", "Vimioso", - "Vinhais", "Viseu", "Vizela", "Vouzela", + "Águeda", + "Aguiar da Beira", + "Alandroal", + "Albergaria-a-Velha", + "Albufeira", + "Alcácer do Sal", + "Alcanena", + "Alcobaça", + "Alcochete", + "Alcoutim", + "Alenquer", + "Alfândega da Fé", + "Alijó", + "Aljezur", + "Aljustrel", + "Almada", + "Almeida", + "Almeirim", + "Almodôvar", + "Alpiarça", + "Alter do Chão", + "Alvaiázere", + "Alvito", + "Amadora", + "Amarante", + "Amares", + "Anadia", + "Angra do Heroísmo", + "Ansião", + "Arcos de Valdevez", + "Arganil", + "Armamar", + "Arouca", + "Arraiolos", + "Arronches", + "Arruda dos Vinhos", + "Aveiro", + "Avis", + "Azambuja", + "Baião", + "Barcelos", + "Barrancos", + "Barreiro", + "Batalha", + "Beja", + "Belmonte", + "Benavente", + "Bombarral", + "Borba", + "Boticas", + "Braga", + "Bragança", + "Cabeceiras de Basto", + "Cadaval", + "Caldas da Rainha", + "Calheta (R.A.A.)", + "Calheta (R.A.M.)", + "Câmara de Lobos", + "Caminha", + "Campo Maior", + "Cantanhede", + "Carrazeda de Ansiães", + "Carregal do Sal", + "Cartaxo", + "Cascais", + "Castanheira de Pêra", + "Castelo Branco", + "Castelo de Paiva", + "Castelo de Vide", + "Castro Daire", + "Castro Marim", + "Castro Verde", + "Celorico da Beira", + "Celorico de Basto", + "Chamusca", + "Chaves", + "Cinfães", + "Coimbra", + "Condeixa-a-Nova", + "Constância", + "Coruche", + "Corvo", + "Covilhã", + "Crato", + "Cuba", + "Elvas", + "Entroncamento", + "Espinho", + "Esposende", + "Estarreja", + "Estremoz", + "Évora", + "Fafe", + "Faro", + "Felgueiras", + "Ferreira do Alentejo", + "Ferreira do Zêzere", + "Figueira da Foz", + "Figueira de Castelo Rodrigo", + "Figueiró dos Vinhos", + "Fornos de Algodres", + "Freixo de Espada à Cinta", + "Fronteira", + "Funchal", + "Fundão", + "Gavião", + "Góis", + "Golegã", + "Gondomar", + "Gouveia", + "Grândola", + "Guarda", + "Guimarães", + "Horta", + "Idanha-a-Nova", + "Ílhavo", + "Lagoa", + "Lagoa (R.A.A)", + "Lagos", + "Lajes das Flores", + "Lajes do Pico", + "Lamego", + "Leiria", + "Lisboa", + "Loulé", + "Loures", + "Lourinhã", + "Lousã", + "Lousada", + "Mação", + "Macedo de Cavaleiros", + "Machico", + "Madalena", + "Mafra", + "Maia", + "Mangualde", + "Manteigas", + "Marco de Canaveses", + "Marinha Grande", + "Marvão", + "Matosinhos", + "Mealhada", + "Meda", + "Melgaço", + "Mértola", + "Mesão Frio", + "Mira", + "Miranda do Corvo", + "Miranda do Douro", + "Mirandela", + "Mogadouro", + "Moimenta da Beira", + "Moita", + "Monção", + "Monchique", + "Mondim de Basto", + "Monforte", + "Montalegre", + "Montemor-o-Novo", + "Montemor-o-Velho", + "Montijo", + "Mora", + "Mortágua", + "Moura", + "Mourão", + "Murça", + "Murtosa", + "Nazaré", + "Nelas", + "Nisa", + "Nordeste", + "Óbidos", + "Odemira", + "Odivelas", + "Oeiras", + "Oleiros", + "Olhão", + "Oliveira de Azeméis", + "Oliveira de Frades", + "Oliveira do Bairro", + "Oliveira do Hospital", + "Ourém", + "Ourique", + "Ovar", + "Paços de Ferreira", + "Palmela", + "Pampilhosa da Serra", + "Paredes", + "Paredes de Coura", + "Pedrógão Grande", + "Penacova", + "Penafiel", + "Penalva do Castelo", + "Penamacor", + "Penedono", + "Penela", + "Peniche", + "Peso da Régua", + "Pinhel", + "Pombal", + "Ponta Delgada", + "Ponta do Sol", + "Ponte da Barca", + "Ponte de Lima", + "Ponte de Sor", + "Portalegre", + "Portel", + "Portimão", + "Porto", + "Porto de Mós", + "Porto Moniz", + "Porto Santo", + "Povoação", + "Póvoa de Lanhoso", + "Póvoa de Varzim", + "Proença-a-Nova", + "Redondo", + "Reguengos de Monsaraz", + "Resende", + "Ribeira Brava", + "Ribeira de Pena", + "Ribeira Grande", + "Rio Maior", + "Sabrosa", + "Sabugal", + "Salvaterra de Magos", + "Santa Comba Dão", + "Santa Cruz", + "Santa Cruz da Graciosa", + "Santa Cruz das Flores", + "Santa Maria da Feira", + "Santa Marta de Penaguião", + "Santana", + "Santarém", + "Santiago do Cacém", + "Santo Tirso", + "São Brás de Alportel", + "São João da Madeira", + "São João da Pesqueira", + "São Pedro do Sul", + "São Roque do Pico", + "São Vicente", + "Sardoal", + "Sátão", + "Seia", + "Seixal", + "Sernancelhe", + "Serpa", + "Sertã", + "Sesimbra", + "Setúbal", + "Sever do Vouga", + "Silves", + "Sines", + "Sintra", + "Sobral de Monte Agraço", + "Soure", + "Sousel", + "Tábua", + "Tabuaço", + "Tarouca", + "Tavira", + "Terras de Bouro", + "Tomar", + "Tondela", + "Torre de Moncorvo", + "Torres Novas", + "Torres Vedras", + "Trancoso", + "Trofa", + "Vagos", + "Vale de Cambra", + "Valença", + "Valongo", + "Valpaços", + "Velas", + "Vendas Novas", + "Viana do Alentejo", + "Viana do Castelo", + "Vidigueira", + "Vieira do Minho", + "Vila da Praia da Vitória", + "Vila de Rei", + "Vila do Bispo", + "Vila do Conde", + "Vila do Porto", + "Vila Flor", + "Vila Franca de Xira", + "Vila Franca do Campo", + "Vila Nova da Barquinha", + "Vila Nova de Cerveira", + "Vila Nova de Famalicão", + "Vila Nova de Foz Côa", + "Vila Nova de Gaia", + "Vila Nova de Paiva", + "Vila Nova de Poiares", + "Vila Pouca de Aguiar", + "Vila Real", + "Vila Real de Santo António", + "Vila Velha de Ródão", + "Vila Verde", + "Vila Viçosa", + "Vimioso", + "Vinhais", + "Viseu", + "Vizela", + "Vouzela", ) # From https://pt.wikipedia.org/wiki/Lista_de_freguesias_de_Portugal freguesias = [ - "Abrantes", "Águeda", "Aguiar da Beira", "Alandroal", - "Albergaria-a-Velha", "Albufeira", "Alcácer do Sal", "Alcanena", - "Alcobaça", "Alcochete", "Alcoutim", "Alenquer", "Alfândega da Fé", - "Alijó", "Aljezur", "Aljustrel", "Almada", "Almeida", "Almeirim", - "Almodôvar", "Alpiarça", "Alter do Chão", "Alvaiázere", "Alvito", - "Amadora", "Amarante", "Amares", "Anadia", "Angra do Heroísmo", - "Ansião", "Arcos de Valdevez", "Arganil", "Armamar", "Arouca", - "Arraiolos", "Arronches", "Arruda dos Vinhos", "Aveiro", "Avis", - "Azambuja", "Baião", "Barcelos", "Barrancos", "Barreiro", "Batalha", - "Beja", "Belmonte", "Benavente", "Bombarral", "Borba", "Boticas", - "Braga", "Bragança", "Cabeceiras de Basto", "Cadaval", - "Caldas da Rainha", "Calheta (Açores)", "Calheta (Madeira)", - "Câmara de Lobos", "Caminha", "Campo Maior", "Cantanhede", - "Carrazeda de Ansiães", "Carregal do Sal", "Cartaxo", "Cascais", - "Castanheira de Pêra", "Castelo Branco", "Castelo de Paiva", - "Castelo de Vide", "Castro Daire", "Castro Marim", "Castro Verde", - "Celorico da Beira", "Celorico de Basto", "Chamusca", "Chaves", - "Cinfães", "Coimbra", "Condeixa-a-Nova", "Constância", "Coruche", - "Corvo", "Covilhã", "Crato", "Cuba", "Elvas", "Entroncamento", - "Espinho", "Esposende", "Estarreja", "Estremoz", "Évora", "Fafe", - "Faro", "Felgueiras", "Ferreira do Alentejo", "Ferreira do Zêzere", - "Figueira da Foz", "Figueira de Castelo Rodrigo", - "Figueiró dos Vinhos", "Fornos de Algodres", - "Freixo de Espada à Cinta", "Fronteira", "Funchal", "Fundão", "Gavião", - "Góis", "Golegã", "Gondomar", "Gouveia", "Grândola", "Guarda", - "Guimarães", "Horta", "Idanha-a-Nova", "Ílhavo", "Lagoa", - "Lagoa (Açores)", "Lagos", "Lajes das Flores", "Lajes do Pico", - "Lamego", "Leiria", "Lisboa", "Loulé", "Loures", "Lourinhã", "Lousã", - "Lousada", "Mação", "Macedo de Cavaleiros", "Machico", "Madalena", - "Mafra", "Maia", "Mangualde", "Manteigas", "Marco de Canaveses", - "Marinha Grande", "Marvão", "Matosinhos", "Mealhada", "Mêda", - "Melgaço", "Mértola", "Mesão Frio", "Mira", "Miranda do Corvo", - "Miranda do Douro", "Mirandela", "Mogadouro", "Moimenta da Beira", - "Moita", "Monção", "Monchique", "Mondim de Basto", "Monforte", - "Montalegre", "Montemor-o-Novo", "Montemor-o-Velho", "Montijo", - "Mora", "Mortágua", "Moura", "Mourão", "Murça", "Murtosa", "Nazaré", - "Nelas", "Nisa", "Nordeste", "Óbidos", "Odemira", "Odivelas", - "Oeiras", "Oleiros", "Olhão", "Oliveira de Azeméis", - "Oliveira de Frades", "Oliveira do Bairro", "Oliveira do Hospital", - "Ourém", "Ourique", "Ovar", "Paços de Ferreira", "Palmela", - "Pampilhosa da Serra", "Paredes", "Paredes de Coura", "Pedrógão Grande", - "Penacova", "Penafiel", "Penalva do Castelo", "Penamacor", "Penedono", - "Penela", "Peniche", "Peso da Régua", "Pinhel", "Pombal", - "Ponta Delgada", "Ponta do Sol", "Ponte da Barca", "Ponte de Lima", - "Ponte de Sor", "Portalegre", "Portel", "Portimão", "Porto", - "Porto de Mós", "Porto Moniz", "Porto Santo", "Póvoa de Lanhoso", - "Póvoa de Varzim", "Povoação", "Praia da Vitória", "Proença-a-Nova", - "Redondo", "Reguengos de Monsaraz", "Resende", "Ribeira Brava", - "Ribeira de Pena", "Ribeira Grande", "Rio Maior", "Sabrosa", "Sabugal", - "Salvaterra de Magos", "Santa Comba Dão", "Santa Cruz", - "Santa Cruz da Graciosa", "Santa Cruz das Flores", - "Santa Maria da Feira", "Santa Marta de Penaguião", "Santana", - "Santarém", "Santiago do Cacém", "Santo Tirso", "São Brás de Alportel", - "São João da Madeira", "São João da Pesqueira", "São Pedro do Sul", - "São Roque do Pico", "São Vicente (Madeira)", "Sardoal", "Sátão", - "Seia", "Seixal", "Sernancelhe", "Serpa", "Sertã", "Sesimbra", - "Setúbal", "Sever do Vouga", "Silves", "Sines", "Sintra", - "Sobral de Monte Agraço", "Soure", "Sousel", "Tábua", "Tabuaço", - "Tarouca", "Tavira", "Terras de Bouro", "Tomar", "Tondela", - "Torre de Moncorvo", "Torres Novas", "Torres Vedras", "Trancoso", - "Trofa", "Vagos", "Vale de Cambra", "Valença", "Valongo", "Valpaços", - "Velas", "Vendas Novas", "Viana do Alentejo", "Viana do Castelo", - "Vidigueira", "Vieira do Minho", "Vila de Rei", "Vila do Bispo", - "Vila do Conde", "Vila do Porto", "Vila Flor", "Vila Franca de Xira", - "Vila Franca do Campo", "Vila Nova da Barquinha", - "Vila Nova de Cerveira", "Vila Nova de Famalicão", - "Vila Nova de Foz Côa", "Vila Nova de Gaia", "Vila Nova de Paiva", - "Vila Nova de Poiares", "Vila Pouca de Aguiar", "Vila Real", - "Vila Real de Santo António", "Vila Velha de Ródão", "Vila Verde", - "Vila Viçosa", "Vimioso", "Vinhais", "Viseu", "Vizela", "Vouzela", + "Abrantes", + "Águeda", + "Aguiar da Beira", + "Alandroal", + "Albergaria-a-Velha", + "Albufeira", + "Alcácer do Sal", + "Alcanena", + "Alcobaça", + "Alcochete", + "Alcoutim", + "Alenquer", + "Alfândega da Fé", + "Alijó", + "Aljezur", + "Aljustrel", + "Almada", + "Almeida", + "Almeirim", + "Almodôvar", + "Alpiarça", + "Alter do Chão", + "Alvaiázere", + "Alvito", + "Amadora", + "Amarante", + "Amares", + "Anadia", + "Angra do Heroísmo", + "Ansião", + "Arcos de Valdevez", + "Arganil", + "Armamar", + "Arouca", + "Arraiolos", + "Arronches", + "Arruda dos Vinhos", + "Aveiro", + "Avis", + "Azambuja", + "Baião", + "Barcelos", + "Barrancos", + "Barreiro", + "Batalha", + "Beja", + "Belmonte", + "Benavente", + "Bombarral", + "Borba", + "Boticas", + "Braga", + "Bragança", + "Cabeceiras de Basto", + "Cadaval", + "Caldas da Rainha", + "Calheta (Açores)", + "Calheta (Madeira)", + "Câmara de Lobos", + "Caminha", + "Campo Maior", + "Cantanhede", + "Carrazeda de Ansiães", + "Carregal do Sal", + "Cartaxo", + "Cascais", + "Castanheira de Pêra", + "Castelo Branco", + "Castelo de Paiva", + "Castelo de Vide", + "Castro Daire", + "Castro Marim", + "Castro Verde", + "Celorico da Beira", + "Celorico de Basto", + "Chamusca", + "Chaves", + "Cinfães", + "Coimbra", + "Condeixa-a-Nova", + "Constância", + "Coruche", + "Corvo", + "Covilhã", + "Crato", + "Cuba", + "Elvas", + "Entroncamento", + "Espinho", + "Esposende", + "Estarreja", + "Estremoz", + "Évora", + "Fafe", + "Faro", + "Felgueiras", + "Ferreira do Alentejo", + "Ferreira do Zêzere", + "Figueira da Foz", + "Figueira de Castelo Rodrigo", + "Figueiró dos Vinhos", + "Fornos de Algodres", + "Freixo de Espada à Cinta", + "Fronteira", + "Funchal", + "Fundão", + "Gavião", + "Góis", + "Golegã", + "Gondomar", + "Gouveia", + "Grândola", + "Guarda", + "Guimarães", + "Horta", + "Idanha-a-Nova", + "Ílhavo", + "Lagoa", + "Lagoa (Açores)", + "Lagos", + "Lajes das Flores", + "Lajes do Pico", + "Lamego", + "Leiria", + "Lisboa", + "Loulé", + "Loures", + "Lourinhã", + "Lousã", + "Lousada", + "Mação", + "Macedo de Cavaleiros", + "Machico", + "Madalena", + "Mafra", + "Maia", + "Mangualde", + "Manteigas", + "Marco de Canaveses", + "Marinha Grande", + "Marvão", + "Matosinhos", + "Mealhada", + "Mêda", + "Melgaço", + "Mértola", + "Mesão Frio", + "Mira", + "Miranda do Corvo", + "Miranda do Douro", + "Mirandela", + "Mogadouro", + "Moimenta da Beira", + "Moita", + "Monção", + "Monchique", + "Mondim de Basto", + "Monforte", + "Montalegre", + "Montemor-o-Novo", + "Montemor-o-Velho", + "Montijo", + "Mora", + "Mortágua", + "Moura", + "Mourão", + "Murça", + "Murtosa", + "Nazaré", + "Nelas", + "Nisa", + "Nordeste", + "Óbidos", + "Odemira", + "Odivelas", + "Oeiras", + "Oleiros", + "Olhão", + "Oliveira de Azeméis", + "Oliveira de Frades", + "Oliveira do Bairro", + "Oliveira do Hospital", + "Ourém", + "Ourique", + "Ovar", + "Paços de Ferreira", + "Palmela", + "Pampilhosa da Serra", + "Paredes", + "Paredes de Coura", + "Pedrógão Grande", + "Penacova", + "Penafiel", + "Penalva do Castelo", + "Penamacor", + "Penedono", + "Penela", + "Peniche", + "Peso da Régua", + "Pinhel", + "Pombal", + "Ponta Delgada", + "Ponta do Sol", + "Ponte da Barca", + "Ponte de Lima", + "Ponte de Sor", + "Portalegre", + "Portel", + "Portimão", + "Porto", + "Porto de Mós", + "Porto Moniz", + "Porto Santo", + "Póvoa de Lanhoso", + "Póvoa de Varzim", + "Povoação", + "Praia da Vitória", + "Proença-a-Nova", + "Redondo", + "Reguengos de Monsaraz", + "Resende", + "Ribeira Brava", + "Ribeira de Pena", + "Ribeira Grande", + "Rio Maior", + "Sabrosa", + "Sabugal", + "Salvaterra de Magos", + "Santa Comba Dão", + "Santa Cruz", + "Santa Cruz da Graciosa", + "Santa Cruz das Flores", + "Santa Maria da Feira", + "Santa Marta de Penaguião", + "Santana", + "Santarém", + "Santiago do Cacém", + "Santo Tirso", + "São Brás de Alportel", + "São João da Madeira", + "São João da Pesqueira", + "São Pedro do Sul", + "São Roque do Pico", + "São Vicente (Madeira)", + "Sardoal", + "Sátão", + "Seia", + "Seixal", + "Sernancelhe", + "Serpa", + "Sertã", + "Sesimbra", + "Setúbal", + "Sever do Vouga", + "Silves", + "Sines", + "Sintra", + "Sobral de Monte Agraço", + "Soure", + "Sousel", + "Tábua", + "Tabuaço", + "Tarouca", + "Tavira", + "Terras de Bouro", + "Tomar", + "Tondela", + "Torre de Moncorvo", + "Torres Novas", + "Torres Vedras", + "Trancoso", + "Trofa", + "Vagos", + "Vale de Cambra", + "Valença", + "Valongo", + "Valpaços", + "Velas", + "Vendas Novas", + "Viana do Alentejo", + "Viana do Castelo", + "Vidigueira", + "Vieira do Minho", + "Vila de Rei", + "Vila do Bispo", + "Vila do Conde", + "Vila do Porto", + "Vila Flor", + "Vila Franca de Xira", + "Vila Franca do Campo", + "Vila Nova da Barquinha", + "Vila Nova de Cerveira", + "Vila Nova de Famalicão", + "Vila Nova de Foz Côa", + "Vila Nova de Gaia", + "Vila Nova de Paiva", + "Vila Nova de Poiares", + "Vila Pouca de Aguiar", + "Vila Real", + "Vila Real de Santo António", + "Vila Velha de Ródão", + "Vila Verde", + "Vila Viçosa", + "Vimioso", + "Vinhais", + "Viseu", + "Vizela", + "Vouzela", ] # from https://pt.wikipedia.org/wiki/Lista_de_arruamentos_de_Lisboa # and https://pt.wikipedia.org/wiki/Lista_de_arruamentos_do_Porto places = ( - "da Igreja", "António Sérgio", "Cardeal Cerejeira", "Coronel Marques Júnior", "da Encarnação", - "da Música", "da Quinta de Santo António", "da Universidade", "das Comunidades Portuguesas", - "das Linhas de Torres", "de Santo António dos Capuchos", "do Beato", "Dom Afonso Henriques", - "dos Oceanos", "dos Pinheiros", "Edgar Cardoso", "Mahatma Gandhi", - "Manuel Ricardo Espírito Santo", "Padre Álvaro Proença", "Roentgen", "da Boavista", - "da Cova da Moura", "das Conchas", "de Caselas", "de São Francisco", - "do Carvalhão", "do Longo", "do Penalva", "do Varejão", - "dos Moinhos", "da Conceição", "das Portas do Mar", "de Jesus", - "do Evaristo", "do Rosário", "Escuro", "Grande de Cima", - "Areeiro", "Campolide", "Madrid", "Paris (Nascente)", - "Paris (Poente)", "Roma", "Sabugosa", "Novo (à Travessa das Águas Boas)", - "da Ponte da Lama", "da Praia da Galé", "do Duro", "dos Ferreiros", - "das Rolas", "da Lingueta", "das Naus", "do Olival", - "do Sodré", "dos Argonautas", "Português", "da Figueira", - "de Santo Estêvão", "de São Lourenço", "de São Miguel", "do Tijolo", - "dos Olivais", "da Feiteira", "da Rainha", "da Raposa", - "das Andorinhas", "das Cegonhas", "das Gaivotas ao Parque das Nações", "de Baixo da Penha", - "de Palma de Cima", "do Alto do Varejão", "do Arboreto", "dos Estorninhos", - "dos Flamingos", "dos Melros", "dos Pardais", "dos Pinheiros ao Parque das Nações", - "dos Rouxinóis", "Velho do Outeiro", "das Amoreiras", "das Cebolas", - "de Santa Clara", "dos Mártires da Pátria", "Grande", "Pequeno", - "de Campolide", "da Graça", "de Colares", "Norte do Bairro da Encarnação", - "Sul do Bairro da Encarnação", "da Torrinha", "do Castelo", "de Santa Helena", - "da Sé", "das Bolas", "das Chagas", "José António Marques", - "do Monte", "Gerais", "D. Carlos I ao Parque das Nações", "Adão Barata", - "Alfredo Keil", "Alice Cruz", "Amália Rodrigues", "Amélia Carvalheira", - "Amnistia Internacional", "Augusto Monjardino", "Bento Martins", "das Nações", - "Ducla Soares", "Eduardo Prado Coelho", "Elisa Baptista de Sousa Pedroso", "Fernanda de Castro", - "Fernando Pessa", "Ferreira de Mira", "Garcia de Orta ao Parque das Nações", "Irmã Lúcia", - "Jorge Luis Borges", "Luís Ferreira", "Maria da Luz Ponces de Carvalho", "Maria de Lourdes Sá Teixeira", - "Maria José Moura", "Mário Ruivo", "Mário Soares", "9 de Abril", - "Prof. António de Sousa Franco", "Prof. Francisco Caldeira Cabral", "Pulido Garcia", "Tristão da Silva", - "Ribeirinhos", "Sophia de Mello Breyner Andresen", "do Mirante", "do Alto de São João", - "General Afonso Botelho", "Eduardo VII de Inglaterra", "Silva Porto", "Artur Agostinho", - "da Ilha dos Amores", "da Nau Catrineta", "da Vila Expo", "das Âncoras", - "das Fragatas", "das Garças", "das Gáveas ao Parque das Nações", "das Musas", - "das Tágides", "de Neptuno", "de Ulisses", "do Adamastor", - "do Amazonas", "do Báltico", "do Campo da Bola", "do Cantábrico", - "do Levante", "do Parque", "do Ródano", "do Sapal", - "do Tejo", "do Trancão", "dos Aventureiros", "dos Cruzados", - "dos Fenícios", "dos Heróis do Mar", "dos Jacarandás", "dos Mastros", - "dos Navegadores", "João Jayme Faria Affonso", "Júlio Verne", "Afonso de Albuquerque", - "da Cruz", "da Galega", "das Canas", "das Galeotas ao Parque das Nações", - "das Pirogas", "de Dom Fradique", "do Carrasco", "do Peneireiro", - "do Pimenta", "do Pinzaleiro", "do Seabra", "do Sequeiro", - "do Sextante", "do Tronco", "dos Escaleres", "do Borratém", - "do Mar", "Adolfo Ayala", "Cuf", "da Quinta de São João Baptista", - "da Quinta do Guarda-Mor", "da Rua Duque de Palmela", "das Torres do Restelo", "do Chinquilho", - "Fernando Valle", "Maestro Ivo Cruz", "Prof. António José Saraiva", "Professor Gonçalves Ferreira", - "Professor José Conde", "Teófilo Ferreira", "das Necessidades", "do Mercado", - "dos Anjos", "do Conde de Óbidos", "de Palma", "Almirante Pinheiro de Azevedo", - "António Dias Lourenço", "Coronel Vítor Alves", "da Expo 98", "das Olaias", - "das Oliveiras", "de Pina Manique", "dos Vice-reis", "Matilde Bensaúde", - "Nelson Mandela", "Pupilos do Exército", "República Argentina", "República da Colômbia", - "Visconde de Alvalade", "do Barcal", "do Calhau", "de São Vicente", - "das Ondas", "dos Corvos", "Feia", "Arquitecto Carlos Ramos", - "das Antas", "das Fontainhas", "de 25 de Abril", "de Aquilino Ribeiro", - "de Basílio Teles", "de Cartes", "de Cláudio Carneiro", "de Eça de Queirós", - "de Manuel d'Arriaga", "do Dr. António Macedo", "do Dr. Fernando de Azeredo Antas", "do Prof. Hernâni Monteiro", - "do Prof. Ruy Luís Gomes", "dos Capitães de Abril", "25 de Abril", "da Associação Empresarial de Portugal", - "da França", "de Camilo", "de D. Afonso Henriques", "de D. Carlos I", - "de D. João II", "de Fernão de Magalhães", "de Fontes Pereira de Melo", "de Gustavo Eiffel", - "de Montevideu", "de Nun'Álvares Pereira", "de Paiva Couceiro", "de Rodrigues de Freitas", - "de Sidónio Pais", "de Vasco da Gama", "de Vímara Peres", "do Bessa", - "do Brasil (Porto)", "do Conselho da Europa", "do Dr. Antunes Guimarães", "do Marechal Gomes da Costa", - "dos Aliados", "dos Combatentes da Grande Guerra", "Flor da Rosa", "José Domingues dos Santos", - "da Agra do Amial", "da Fonte da Moura", "da Pasteleira", "da Rainha D. Leonor", - "de Costa Cabral", "de Francos", "de Manuel Cardoso Agrelos", "de Pio XII", - "de Ramalde", "de São João de Deus", "de São Roque da Lameira", "de São Vicente de Paulo", - "de Santo Eugénio", "do Aleixo", "do Bom Sucesso", "do Carvalhido", - "do Cerco do Porto", "do Dr. Nuno Pinheiro Torres", "do Falcão", "do Lagarteiro", - "do Leal", "do Outeiro", "do Regado", "do Viso", - "Herculano", "Central", "da Bela Vista", "da Beneditina", - "da Senhora da Luz", "de Bonjóia", "de Carreiras", "de Passos Manuel", - "de S. João da Foz", "de S. Macário", "de S. Marçal", "do Arrabalde", - "do Campo", "do Campo Alegre", "do Machado", "do Meiral", - "do Paço", "do Pedregulho", "do Preto", "de Baixo", - "de Cima", "da Alfândega", "da Estiva", "da Ribeira", - "das Pedras", "do Bicalho", "dos Guindais", "da Arrábida", - "da Boa Viagem", "da Póvoa", "da Ranha", "das Carquejeiras", - "das Laranjeiras", "das Virtudes", "de Chaves de Oliveira", "de D. Pedro Pitões", - "de Godim", "de João do Carmo", "de Maceda", "de Marques Marinho", - "de Monchique", "de Nova Sintra", "de São Pedro", "de Serrúbia", - "de Sobre-o-Douro", "de Vandoma", "do Calvário", "do Carregal", - "do Forno Velho", "do Monte da Lapa", "do Monte de S. João", "do Ouro", - "do Rego Lameiro", "dos Ingleses", "da Fonte de Cima", "das Congostas", - "da Asprela", "de Vinte e Quatro de Agosto", "do Rou", "de Antero de Quental", - "de Estêvão Vasconcelos", "de Viterbo de Campos", "do Dr. Manuel Laranjeira", - "Carolina Michaelis de Vasconcelos", "da Vitória", "das Sereias", "das Verdades", "de S. Francisco de Borja", - "do Adro", "do Barredo", "do Caminho Novo", "do Cidral de Baixo", - "do Cidral de Cima", "do Codeçal", "do Colégio", "do Monte Cativo", - "do Monte dos Judeus", "do Pinheiro", "do Recanto", "do Roleto", - "dos Armazéns", "do Molhe", "da Circunvalação", "de Gondomar", - "Nacional 108", "Nacional 209", "de Moradias Populares do Eng.º Machado Vaz", - "de Moradais Populares do Carriçal", "de Antero de Figueiredo", "de Arnaldo Gama", "de Belém", - "de Carrilho Videira", "de Guedes de Oliveira", "de João Chagas", "de Marques de Oliveira", "de Teófilo Braga", - "do Moreda", "do Passeio Alegre", "Machado de Asis", "Severo Portela", - "da Foz", "do Bolhão", "dos Bacalhoeiros", "da Luz", - "do Seminário", "S. Bartolomeu", "de S. Lázaro", "das Escadas do Monte dos Judeus", - "das Japoneiras", "de S. Salvador", "do Bonjardim", "de Luiz I", - "de Maria Pia", "do Freixo", "do Carvão", "da Banda de Ramalde", - "da Cidade da Praia", "das Mimosas", "de Adelino Amaro da Costa", "de Augusto Gomes", - "de Bernarda Ferreira Lacerda", "de Eduardo Soares", "de Francisco Borges", "de Irene de Castro", - "de João Augusto Ribeiro", "de José Régio", "de José Serra", "de Luís António Verney", - "de Públia Hortênsia", "de Ribeiro Sanches", "de S. Mamede", "do Dr. Jaime Cortesão", - "do Maestro Afonso Valentim", "do Maestro Resende Dias", "do Mestre de Aviz", "do Prof. Egas Moniz", - "Egito Gonçalves", "Ernesto Veiga de Oliveira", "João Glama", "José Luís Nunes", - "Manuel Gonçalves Moreira", "Artur Cupertino de Miranda", "Associação Empresarial de Portugal", - "Manuel Pinto de Azevedo Júnior", "Goelas de Pau", "de Cintura Interna", "do Almirante Gago Coutinho", - "do Castelo do Queijo", "Futebol Clube do Porto", "Panorâmica", "Panorâmica Edgar Cardoso", - "de Gonçalo Cristóvão", "do Cais das Pedras", "da Aldeia", "da Baleia", "da Bouça", - "da Carvalhosa", "da Companhia", "da Ilha do Ferro", "da Pedreira", "da Senhora da Lapa", "das Andrezas", - "de Grijó", "de Lamas", "de S. Brás", "de Santana", "do Anjo", "do Anjo da Guarda", - "do Buraco", "do José da Mestra", "do Monte da Pena", "do Picoto", "do Sobreirinho", - ) + "da Igreja", + "António Sérgio", + "Cardeal Cerejeira", + "Coronel Marques Júnior", + "da Encarnação", + "da Música", + "da Quinta de Santo António", + "da Universidade", + "das Comunidades Portuguesas", + "das Linhas de Torres", + "de Santo António dos Capuchos", + "do Beato", + "Dom Afonso Henriques", + "dos Oceanos", + "dos Pinheiros", + "Edgar Cardoso", + "Mahatma Gandhi", + "Manuel Ricardo Espírito Santo", + "Padre Álvaro Proença", + "Roentgen", + "da Boavista", + "da Cova da Moura", + "das Conchas", + "de Caselas", + "de São Francisco", + "do Carvalhão", + "do Longo", + "do Penalva", + "do Varejão", + "dos Moinhos", + "da Conceição", + "das Portas do Mar", + "de Jesus", + "do Evaristo", + "do Rosário", + "Escuro", + "Grande de Cima", + "Areeiro", + "Campolide", + "Madrid", + "Paris (Nascente)", + "Paris (Poente)", + "Roma", + "Sabugosa", + "Novo (à Travessa das Águas Boas)", + "da Ponte da Lama", + "da Praia da Galé", + "do Duro", + "dos Ferreiros", + "das Rolas", + "da Lingueta", + "das Naus", + "do Olival", + "do Sodré", + "dos Argonautas", + "Português", + "da Figueira", + "de Santo Estêvão", + "de São Lourenço", + "de São Miguel", + "do Tijolo", + "dos Olivais", + "da Feiteira", + "da Rainha", + "da Raposa", + "das Andorinhas", + "das Cegonhas", + "das Gaivotas ao Parque das Nações", + "de Baixo da Penha", + "de Palma de Cima", + "do Alto do Varejão", + "do Arboreto", + "dos Estorninhos", + "dos Flamingos", + "dos Melros", + "dos Pardais", + "dos Pinheiros ao Parque das Nações", + "dos Rouxinóis", + "Velho do Outeiro", + "das Amoreiras", + "das Cebolas", + "de Santa Clara", + "dos Mártires da Pátria", + "Grande", + "Pequeno", + "de Campolide", + "da Graça", + "de Colares", + "Norte do Bairro da Encarnação", + "Sul do Bairro da Encarnação", + "da Torrinha", + "do Castelo", + "de Santa Helena", + "da Sé", + "das Bolas", + "das Chagas", + "José António Marques", + "do Monte", + "Gerais", + "D. Carlos I ao Parque das Nações", + "Adão Barata", + "Alfredo Keil", + "Alice Cruz", + "Amália Rodrigues", + "Amélia Carvalheira", + "Amnistia Internacional", + "Augusto Monjardino", + "Bento Martins", + "das Nações", + "Ducla Soares", + "Eduardo Prado Coelho", + "Elisa Baptista de Sousa Pedroso", + "Fernanda de Castro", + "Fernando Pessa", + "Ferreira de Mira", + "Garcia de Orta ao Parque das Nações", + "Irmã Lúcia", + "Jorge Luis Borges", + "Luís Ferreira", + "Maria da Luz Ponces de Carvalho", + "Maria de Lourdes Sá Teixeira", + "Maria José Moura", + "Mário Ruivo", + "Mário Soares", + "9 de Abril", + "Prof. António de Sousa Franco", + "Prof. Francisco Caldeira Cabral", + "Pulido Garcia", + "Tristão da Silva", + "Ribeirinhos", + "Sophia de Mello Breyner Andresen", + "do Mirante", + "do Alto de São João", + "General Afonso Botelho", + "Eduardo VII de Inglaterra", + "Silva Porto", + "Artur Agostinho", + "da Ilha dos Amores", + "da Nau Catrineta", + "da Vila Expo", + "das Âncoras", + "das Fragatas", + "das Garças", + "das Gáveas ao Parque das Nações", + "das Musas", + "das Tágides", + "de Neptuno", + "de Ulisses", + "do Adamastor", + "do Amazonas", + "do Báltico", + "do Campo da Bola", + "do Cantábrico", + "do Levante", + "do Parque", + "do Ródano", + "do Sapal", + "do Tejo", + "do Trancão", + "dos Aventureiros", + "dos Cruzados", + "dos Fenícios", + "dos Heróis do Mar", + "dos Jacarandás", + "dos Mastros", + "dos Navegadores", + "João Jayme Faria Affonso", + "Júlio Verne", + "Afonso de Albuquerque", + "da Cruz", + "da Galega", + "das Canas", + "das Galeotas ao Parque das Nações", + "das Pirogas", + "de Dom Fradique", + "do Carrasco", + "do Peneireiro", + "do Pimenta", + "do Pinzaleiro", + "do Seabra", + "do Sequeiro", + "do Sextante", + "do Tronco", + "dos Escaleres", + "do Borratém", + "do Mar", + "Adolfo Ayala", + "Cuf", + "da Quinta de São João Baptista", + "da Quinta do Guarda-Mor", + "da Rua Duque de Palmela", + "das Torres do Restelo", + "do Chinquilho", + "Fernando Valle", + "Maestro Ivo Cruz", + "Prof. António José Saraiva", + "Professor Gonçalves Ferreira", + "Professor José Conde", + "Teófilo Ferreira", + "das Necessidades", + "do Mercado", + "dos Anjos", + "do Conde de Óbidos", + "de Palma", + "Almirante Pinheiro de Azevedo", + "António Dias Lourenço", + "Coronel Vítor Alves", + "da Expo 98", + "das Olaias", + "das Oliveiras", + "de Pina Manique", + "dos Vice-reis", + "Matilde Bensaúde", + "Nelson Mandela", + "Pupilos do Exército", + "República Argentina", + "República da Colômbia", + "Visconde de Alvalade", + "do Barcal", + "do Calhau", + "de São Vicente", + "das Ondas", + "dos Corvos", + "Feia", + "Arquitecto Carlos Ramos", + "das Antas", + "das Fontainhas", + "de 25 de Abril", + "de Aquilino Ribeiro", + "de Basílio Teles", + "de Cartes", + "de Cláudio Carneiro", + "de Eça de Queirós", + "de Manuel d'Arriaga", + "do Dr. António Macedo", + "do Dr. Fernando de Azeredo Antas", + "do Prof. Hernâni Monteiro", + "do Prof. Ruy Luís Gomes", + "dos Capitães de Abril", + "25 de Abril", + "da Associação Empresarial de Portugal", + "da França", + "de Camilo", + "de D. Afonso Henriques", + "de D. Carlos I", + "de D. João II", + "de Fernão de Magalhães", + "de Fontes Pereira de Melo", + "de Gustavo Eiffel", + "de Montevideu", + "de Nun'Álvares Pereira", + "de Paiva Couceiro", + "de Rodrigues de Freitas", + "de Sidónio Pais", + "de Vasco da Gama", + "de Vímara Peres", + "do Bessa", + "do Brasil (Porto)", + "do Conselho da Europa", + "do Dr. Antunes Guimarães", + "do Marechal Gomes da Costa", + "dos Aliados", + "dos Combatentes da Grande Guerra", + "Flor da Rosa", + "José Domingues dos Santos", + "da Agra do Amial", + "da Fonte da Moura", + "da Pasteleira", + "da Rainha D. Leonor", + "de Costa Cabral", + "de Francos", + "de Manuel Cardoso Agrelos", + "de Pio XII", + "de Ramalde", + "de São João de Deus", + "de São Roque da Lameira", + "de São Vicente de Paulo", + "de Santo Eugénio", + "do Aleixo", + "do Bom Sucesso", + "do Carvalhido", + "do Cerco do Porto", + "do Dr. Nuno Pinheiro Torres", + "do Falcão", + "do Lagarteiro", + "do Leal", + "do Outeiro", + "do Regado", + "do Viso", + "Herculano", + "Central", + "da Bela Vista", + "da Beneditina", + "da Senhora da Luz", + "de Bonjóia", + "de Carreiras", + "de Passos Manuel", + "de S. João da Foz", + "de S. Macário", + "de S. Marçal", + "do Arrabalde", + "do Campo", + "do Campo Alegre", + "do Machado", + "do Meiral", + "do Paço", + "do Pedregulho", + "do Preto", + "de Baixo", + "de Cima", + "da Alfândega", + "da Estiva", + "da Ribeira", + "das Pedras", + "do Bicalho", + "dos Guindais", + "da Arrábida", + "da Boa Viagem", + "da Póvoa", + "da Ranha", + "das Carquejeiras", + "das Laranjeiras", + "das Virtudes", + "de Chaves de Oliveira", + "de D. Pedro Pitões", + "de Godim", + "de João do Carmo", + "de Maceda", + "de Marques Marinho", + "de Monchique", + "de Nova Sintra", + "de São Pedro", + "de Serrúbia", + "de Sobre-o-Douro", + "de Vandoma", + "do Calvário", + "do Carregal", + "do Forno Velho", + "do Monte da Lapa", + "do Monte de S. João", + "do Ouro", + "do Rego Lameiro", + "dos Ingleses", + "da Fonte de Cima", + "das Congostas", + "da Asprela", + "de Vinte e Quatro de Agosto", + "do Rou", + "de Antero de Quental", + "de Estêvão Vasconcelos", + "de Viterbo de Campos", + "do Dr. Manuel Laranjeira", + "Carolina Michaelis de Vasconcelos", + "da Vitória", + "das Sereias", + "das Verdades", + "de S. Francisco de Borja", + "do Adro", + "do Barredo", + "do Caminho Novo", + "do Cidral de Baixo", + "do Cidral de Cima", + "do Codeçal", + "do Colégio", + "do Monte Cativo", + "do Monte dos Judeus", + "do Pinheiro", + "do Recanto", + "do Roleto", + "dos Armazéns", + "do Molhe", + "da Circunvalação", + "de Gondomar", + "Nacional 108", + "Nacional 209", + "de Moradias Populares do Eng.º Machado Vaz", + "de Moradais Populares do Carriçal", + "de Antero de Figueiredo", + "de Arnaldo Gama", + "de Belém", + "de Carrilho Videira", + "de Guedes de Oliveira", + "de João Chagas", + "de Marques de Oliveira", + "de Teófilo Braga", + "do Moreda", + "do Passeio Alegre", + "Machado de Asis", + "Severo Portela", + "da Foz", + "do Bolhão", + "dos Bacalhoeiros", + "da Luz", + "do Seminário", + "S. Bartolomeu", + "de S. Lázaro", + "das Escadas do Monte dos Judeus", + "das Japoneiras", + "de S. Salvador", + "do Bonjardim", + "de Luiz I", + "de Maria Pia", + "do Freixo", + "do Carvão", + "da Banda de Ramalde", + "da Cidade da Praia", + "das Mimosas", + "de Adelino Amaro da Costa", + "de Augusto Gomes", + "de Bernarda Ferreira Lacerda", + "de Eduardo Soares", + "de Francisco Borges", + "de Irene de Castro", + "de João Augusto Ribeiro", + "de José Régio", + "de José Serra", + "de Luís António Verney", + "de Públia Hortênsia", + "de Ribeiro Sanches", + "de S. Mamede", + "do Dr. Jaime Cortesão", + "do Maestro Afonso Valentim", + "do Maestro Resende Dias", + "do Mestre de Aviz", + "do Prof. Egas Moniz", + "Egito Gonçalves", + "Ernesto Veiga de Oliveira", + "João Glama", + "José Luís Nunes", + "Manuel Gonçalves Moreira", + "Artur Cupertino de Miranda", + "Associação Empresarial de Portugal", + "Manuel Pinto de Azevedo Júnior", + "Goelas de Pau", + "de Cintura Interna", + "do Almirante Gago Coutinho", + "do Castelo do Queijo", + "Futebol Clube do Porto", + "Panorâmica", + "Panorâmica Edgar Cardoso", + "de Gonçalo Cristóvão", + "do Cais das Pedras", + "da Aldeia", + "da Baleia", + "da Bouça", + "da Carvalhosa", + "da Companhia", + "da Ilha do Ferro", + "da Pedreira", + "da Senhora da Lapa", + "das Andrezas", + "de Grijó", + "de Lamas", + "de S. Brás", + "de Santana", + "do Anjo", + "do Anjo da Guarda", + "do Buraco", + "do José da Mestra", + "do Monte da Pena", + "do Picoto", + "do Sobreirinho", + ) - def street_prefix(self): + def street_prefix(self) -> str: """ :example 'Rua' """ return self.random_element(self.street_prefixes) - def city_name(self): + def city_name(self) -> str: """ :example 'Amora' """ return self.random_element(self.cities) - def distrito(self): + def administrative_unit(self) -> str: """ :example 'Bragança' """ return self.random_element(self.distritos) - def concelho(self): + distrito = administrative_unit + + def concelho(self) -> str: """ :example 'Tondela' """ return self.random_element(self.concelhos) - def freguesia(self): + def freguesia(self) -> str: """ :example 'Miranda do Douro' """ return self.random_element(self.freguesias) - def place_name(self): + def place_name(self) -> str: """ :example "do Pombal" """ diff --git a/faker/providers/address/ro_RO/__init__.py b/faker/providers/address/ro_RO/__init__.py new file mode 100644 index 0000000000..3848a21c5a --- /dev/null +++ b/faker/providers/address/ro_RO/__init__.py @@ -0,0 +1,438 @@ +from typing import Tuple + +from .. import Provider as AddressProvider + + +class Provider(AddressProvider): + street_prefixes = ( + "Strada", + "Aleea", + "Intrarea", + "Bulevardul", + "Soseaua", + "Drumul", + ) + street_name_formats = ( + "{{street_prefix}} {{last_name}}", + "{{street_prefix}} {{first_name}} {{last_name}}", + "{{street_prefix}} {{last_name}}", + ) + street_address_formats = ( + "{{street_name}}", + "{{street_name}} {{building_number}}", + "{{street_name}} {{building_number}} {{secondary_address}}", + ) + address_formats = ("{{street_address}}\n{{city}}, {{postcode}}",) + building_number_formats = ("Nr. %#", "Nr. %##") + secondary_address_formats = ("Bl. %# Sc. %# Ap. %##",) + postcode_formats = ( + "1#####", + "2#####", + "3#####", + "4#####", + "5#####", + "6#####", + "7#####", + "8#####", + "9#####", + ) + city_formats = ("{{city_name}}",) + cities = ( + "Cluj-Napoca", + "Timisoara", + "Iasi", + "Constanta", + "Craiova", + "Brasov", + "Galati", + "Ploiesti", + "Oradea", + "Braila", + "Arad", + "Pitesti", + "Sibiu", + "Bacau", + "Targu Mures", + "Baia Mare", + "Buzau", + "Botosani", + "Satu Mare", + "Suceava", + "Ramnicu Valcea", + "Drobeta-Turnu Severin", + "Piatra-Neamt", + "Targoviste", + "Targu Jiu", + "Focsani", + "Tulcea", + "Resita", + "Slatina", + "Bistrita", + "Calarasi", + "Giurgiu", + "Deva", + "Hunedoara", + "Zalau", + "Barlad", + "Alba Iulia", + "Sfantu Gheorghe", + "Roman", + "Vaslui", + "Turda", + "Medias", + "Alexandria", + "Voluntari", + "Pipera (Voluntari)", + "Slobozia", + "Lugoj", + "Medgidia", + "Onesti", + "Miercurea-Ciuc", + "Petrosani", + "Tecuci", + "Mangalia", + "Odorheiu Secuiesc", + "Ramnicu Sarat", + "Sighetu Marmatiei", + "Campina", + "Navodari", + "Campulung", + "Caracal", + "Sacele", + "Fagaras", + "Dej", + "Rosiori de Vede", + "Mioveni", + "Curtea de Arges", + "Husi", + "Reghin", + "Sighisoara", + "Pantelimon", + "Pascani", + "Oltenita", + "Turnu Magurele", + "Caransebes", + "Falticeni", + "Radauti", + "Lupeni", + "Dorohoi", + "Vulcan", + "Campia Turzii", + "Zarnesti", + "Borsa", + "Popesti-Leordeni", + "Codlea", + "Carei", + "Moinesti", + "Petrila", + "Sebes", + "Tarnaveni", + "Floresti", + "Gherla", + "Fetesti-Gara", + "Buftea", + "Cugir", + "Moreni", + "Gheorgheni", + "Comanesti", + "Salonta", + "Cernavoda", + "Targu Secuiesc", + "Bailesti", + "Campulung Moldovenesc", + "Aiud", + "Dragasani", + "Valea Caselor (Dragasani)", + "Bals", + "Bocsa", + "Motru", + "Corabia", + "Bragadiru", + "Urziceni", + "Rasnov", + "Rasnov Romacril", + "Buhusi", + "Zimnicea", + "Marghita", + "Mizil", + "Cisnadie", + "Targu Neamt", + "Calafat", + "Vatra Dornei", + "Adjud", + "Gaesti", + "Tandarei", + "Gura Humorului", + "Chitila", + "Viseu de Sus", + "Otopeni", + "Ludus", + "Brad", + "Dragu-Brad", + "Valu lui Traian", + "Cumpana", + "Sannicolau Mare", + "Valenii de Munte", + "Jilava", + "Dabuleni", + "Filiasi", + "Blaj", + "Ovidiu", + "Simleu Silvaniei", + "Matca", + "Pecica", + "Rovinari", + "Videle", + "Baicoi", + "Pucioasa", + "Jimbolia", + "Baia Sprie", + "Targu Frumos", + "Vicovu de Sus", + "Orsova", + "Sinaia", + "Negresti-Oas", + "Beius", + "Santana", + "Pechea", + "Simeria", + "Boldesti-Scaeni", + "Poienile de sub Munte", + "Valea lui Mihai", + "Covasna", + "Targu Ocna", + "Toplita", + "Sovata", + "Otelu Rosu", + "Oravita", + "Moisei", + "Harsova", + "Murfatlar", + "Beclean", + "Poiana Mare", + "Huedin", + "Babadag", + "Marasesti", + "Topoloveni", + "Sangeorgiu de Mures", + "Jibou", + "Sabaoani", + "Hateg", + "Avrig", + "Darmanesti", + "Marginea", + "Moldova Veche", + "Ineu", + "Bolintin-Vale", + "Mihail Kogalniceanu", + "Macin", + "Tomesti", + "Nasaud", + "Uricani", + "Rosu", + "Calan", + "Borcea", + "Afumati", + "Domnesti", + "Draganesti-Olt", + "Cristuru Secuiesc", + "1 Decembrie", + "Lumina", + "Fetesti", + "Mogosoaia", + "Modelu", + "Dumbravita", + "Seini", + "Alesd", + "Sangeorz-Bai", + "Curtici", + "Darabani", + "Nadlac", + "Victoria", + "Amara", + "Branesti", + "Harlau", + "Lipova", + "Techirghiol", + "Agnita", + "Sacueni", + "Titu", + "Siret", + "Segarcea", + "Odobesti", + "Podu Iloaiei", + "Ocna Mures", + "Urlati", + "Strehaia", + "Tasnad", + "Cajvana", + "Tuzla", + "Sadova", + "Vlahita", + "Stei", + "Diosig", + "Cobadin", + "Gilau", + "Vladimirescu", + "Dancu", + "Bumbesti-Jiu", + "Busteni", + "Peretu", + "Cudalbi", + "Bosanci", + "Balotesti", + "Lunca Cetatuii", + "Dragalina", + "Fieni", + "Chisineu-Cris", + "Balan", + "Sandominic", + "Strejnicu", + "Baciu", + "Fundulea", + "Remetea", + "Fagetel (Remetea)", + "Ianca", + "Roseti", + "Breaza de Sus", + "Cornetu", + "Insuratei", + "Apahida", + "Berceni", + "Vicovu de Jos", + "Savinesti (Poiana Teiului)", + "Savinesti", + "Teius", + "Barbulesti", + "Plosca", + "Toflea", + "Magurele", + "Feldru", + "Anina", + "Negresti", + "Valea Mare (Negresti)", + "Peris", + "Fundeni", + "Giroc", + "Baile Borsa", + "Oituz", + "Rucar", + "Curcani", + "Babeni", + "Valea Mare (Babeni)", + "Rodna", + "Deta", + "Ruscova", + "Intorsura Buzaului", + "Pancota", + "Glina", + "Talmaciu", + "Copsa Mica", + "Motatei", + "Gugesti", + "Schela Cladovei", + "Sancraiu de Mures", + "Iernut", + "Targu Lapus", + "Maieru", + "Prejmer", + "Pogoanele", + "Dobroesti", + "Baraolt", + "Arbore", + "Homocea", + "Corund", + "Tufesti", + "Giarmata", + "Baia", + "Dumbraveni", + "Eforie Nord", + "Horodnic de Sus", + "Greci", + "Tudora", + "Straja", + "Rasinari", + "Sebis", + "Raducaneni", + "Siria", + "Paunesti", + "Saveni", + "Tunari", + ) + + states: Tuple[Tuple[str, str], ...] = ( + ("AB", "Alba"), + ("AG", "Argeș"), + ("AR", "Arad"), + ("B", "București"), + ("BC", "Bacău"), + ("BH", "Bihor"), + ("BN", "Bistrița-Năsăud"), + ("BR", "Brăila"), + ("BT", "Botoșani"), + ("BV", "Brașov"), + ("BZ", "Buzău"), + ("CJ", "Cluj"), + ("CL", "Călărași"), + ("CS", "Caraș Severin"), + ("CT", "Constanța"), + ("CV", "Covasna"), + ("DB", "Dâmbovița"), + ("DJ", "Dolj"), + ("GJ", "Gorj"), + ("GL", "Galați"), + ("GR", "Giurgiu"), + ("HD", "Hunedoara"), + ("HR", "Harghita"), + ("IF", "Ilfov"), + ("IL", "Ialomița"), + ("IS", "Iași"), + ("MH", "Mehedinți"), + ("MM", "Maramureș"), + ("MS", "Mureș"), + ("NT", "Neamț"), + ("OT", "Olt"), + ("PH", "Prahova"), + ("SB", "Sibiu"), + ("SJ", "Sălaj"), + ("SM", "Satu Mare"), + ("SV", "Suceava"), + ("TL", "Tulcea"), + ("TM", "Timiș"), + ("TR", "Teleorman"), + ("VL", "Vâlcea"), + ("VN", "Vrancea"), + ("VS", "Vaslui"), + ) + + def street_prefix(self) -> str: + """ + :example 'Strada' + """ + return self.random_element(self.street_prefixes) + + def secondary_address(self) -> str: + """ + :example 'Bl. 123 Sc. 2 Ap. 15' + """ + return self.numerify(self.random_element(self.secondary_address_formats)) + + def city_name(self) -> str: + return self.random_element(self.cities) + + def city_with_postcode(self) -> str: + return self.postcode() + " " + self.random_element(self.cities) + + def administrative_unit(self) -> str: + """ + example: u'Timiș' + """ + return self.random_element(self.states)[1] # type: ignore + + state = administrative_unit + + def state_abbr(self) -> str: + """ + example: u'TM' + """ + return self.random_element(self.states)[0] # type: ignore diff --git a/faker/providers/address/ru_RU/__init__.py b/faker/providers/address/ru_RU/__init__.py index ea27b28c72..9b3ac39c11 100644 --- a/faker/providers/address/ru_RU/__init__.py +++ b/faker/providers/address/ru_RU/__init__.py @@ -2,379 +2,1580 @@ class Provider(AddressProvider): - city_suffixes = ('ск', 'вль', 'град', 'поль', 'ин', 'ов', 'бург') - street_suffixes = ('ул.', 'алл.', 'наб.', 'пр.', 'пер.', 'бул.', 'ш.') - region_suffixes = ('респ.', 'обл.', 'край', 'АО') - city_formats = ('{{city_prefix}} {{city_name}}', ) - street_address_formats = ('{{street_name}}, д. {{building_number}}', - '{{street_name}}, д. {{building_number}} к. {{building_number}}', - '{{street_name}}, д. {{building_number}} стр. {{building_number}}') - address_formats = ('{{city}}, {{street_address}}, {{postcode}}', ) - postcode_formats = ('######',) - building_number_formats = ('%##', '%#', '%', '%/%') + city_suffixes = ("ск", "вль", "град", "поль", "ин", "ов", "бург") + street_suffixes = ("ул.", "алл.", "наб.", "пр.", "пер.", "бул.", "ш.") + region_suffixes = ("респ.", "обл.", "край", "АО") + city_formats = ("{{city_prefix}} {{city_name}}",) + street_address_formats = ( + "{{street_name}}, д. {{building_number}}", + "{{street_name}}, д. {{building_number}} к. {{building_number}}", + "{{street_name}}, д. {{building_number}} стр. {{building_number}}", + ) + address_formats = ("{{city}}, {{street_address}}, {{postcode}}",) + postcode_formats = ("######",) + building_number_formats = ("%##", "%#", "%", "%/%") - city_prefixes = ('г.', 'п.', 'к.', 'с.', 'д.', 'клх', 'ст.') + city_prefixes = ("г.", "п.", "к.", "с.", "д.", "клх", "ст.") - street_suffixes_masc = ('пр.', 'пер.', 'бул.') - street_suffixes_fem = ('ул.', 'алл.', 'наб.') - street_suffixes_neu = ('ш.', ) + street_suffixes_masc = ("пр.", "пер.", "бул.") + street_suffixes_fem = ("ул.", "алл.", "наб.") + street_suffixes_neu = ("ш.",) street_titles = ( - 'Советская', 'Молодежная', 'Центральная', 'Школьная', 'Новая', - 'Садовая', 'Лесная', 'Набережная', 'Октябрьская', 'Зеленая', - 'Комсомольская', 'Заречная', 'Первомайская', 'Полевая', 'Луговая', - 'Пионерская', 'Юбилейная', 'Северная', 'Пролетарская', 'Степная', - 'Южная', 'Колхозная', 'Рабочая', 'Солнечная', 'Железнодорожная', - 'Восточная', 'Заводская', 'Нагорная', 'Береговая', 'Кооперативная', - 'Красноармейская', 'Совхозная', 'Речная', 'Спортивная', 'Озерная', - 'Строительная', 'Парковая', 'Подгорная', 'Почтовая', 'Партизанская', - 'Вокзальная', 'Дорожная', 'Дачная', 'Западная', 'Московская', - 'Красная', 'Трудовая', 'Шоссейная', 'Коммунистическая', 'Сосновая', - 'Клубная', 'Березовая', 'Больничная', 'Интернациональная', 'Цветочная', - 'Трактовая', 'Горная', 'Весенняя', 'Коммунальная', 'Майская', - 'Привокзальная', 'Таежная', 'Транспортная', 'Овражная', 'Светлая', - 'Вишневая', 'Ключевая', 'Песчаная', 'Ленинградская', 'Профсоюзная', - 'Верхняя', 'Ленинская', 'Кирпичная', 'Мостовая', 'Станционная', - 'Уральская', 'Линейная', 'Фабричная', 'Магистральная', 'Сибирская', - 'Крестьянская', 'Российская', 'Тихая', 'Широкая', 'Нижняя', - 'Народная', 'Промышленная', 'Кольцевая', 'Дальняя', 'Базарная', - 'Целинная', 'Родниковая', 'Революционная', 'Социалистическая', 'Звездная', - 'Студенческая', 'Мирная', 'Кубанская', 'Гаражная', 'Фестивальная', - 'Гражданская', 'Песочная', 'Сиреневая', 'Сельская', 'Кузнечная', - 'Пушкинская', 'Крайняя', 'Гвардейская', 'Веселая', 'Загородная', - 'Олимпийская', 'Приозерная', 'Рябиновая', 'Заозерная', 'Боровая', - 'Урожайная', 'Торговая', 'Донская', 'Пограничная', 'Огородная', - 'Пригородная', 'Стадионная', 'Виноградная', 'Киевская', 'Индустриальная', - 'Красногвардейская', 'Волжская', 'Свободная', 'Кедровая', 'Подлесная', - 'Полярная', 'Раздольная', 'Карьерная', 'Мельничная', 'Украинская', - 'Шахтерская', 'Запрудная', 'Элеваторная', 'Театральная', 'Геологическая', - 'Болотная', 'Придорожная', 'Кленовая', 'Казачья', 'Малая', - 'Морская', 'Волгоградская', 'Средняя', 'Безымянная', 'Краснофлотская', - 'Братская', 'Тенистая', 'Учительская', 'Кавказская', 'Короткая', - 'Деповская', 'Амурская', 'Сенная', 'Поселковая', 'Прудовая', - 'Депутатская', 'Авиационная', 'Аэродромная', 'Большая', 'Приморская', - 'Алтайская', 'Тополиная', 'Ростовская', 'Тракторная', 'Мелиоративная', - 'Ольховая', 'Славянская', 'Радужная', 'Краснодарская', 'Стахановская', - 'Ярославская', 'Коллективная', 'Ангарская', 'Локомотивная', 'Ягодная', - 'Смоленская', 'Тепличная', 'Водопроводная', 'Республиканская', 'Осенняя', - 'Байкальская', 'Саратовская', 'Казанская', 'Воронежская', 'Брянская', - 'Производственная', 'Техническая', 'Енисейская', 'Севастопольская', 'Окружная', - 'Орловская', 'Хуторская', 'Тупиковая', 'Каштановая', 'Омская', - 'Привольная', 'Курортная', 'Ивановская', 'Выгонная', 'Крымская', - 'Путейская', 'Проезжая', 'Краснознаменная', 'Одесская', 'Логовая', - 'Высокая', 'Ясная', 'Портовая', 'Снежная', 'Санаторная', - 'Союзная', 'Ульяновская', 'Сахалинская', 'Горняцкая', 'Прибрежная', - 'Рыбацкая', 'Полтавская', 'Тамбовская', 'Красноярская', 'Новосельская', - 'Проточная', 'Черноморская', 'Минская', 'Главная', 'Вольная', - 'Хвойная', 'Космическая', 'Моховая', 'Курская', 'Курганная', - 'Угловая', 'Камская', 'Инженерная', 'Лесозаводская', 'Астраханская', - 'Белорусская', 'Заовражная', 'Азовская', 'Ручейная', 'Волочаевская', - 'Ставропольская', 'Слободская', 'Тульская', 'Харьковская', 'Петровская', - 'Владимирская', 'Высоковольтная', 'Лазурная', 'Покровская', 'Новгородская', - 'Ленская', 'Сплавная', 'Ударная', 'Калужская', 'Прудная', - 'Краснопартизанская', 'Ореховая', 'Таманская', 'Иркутская', 'Отрадная', - 'Большевистская', 'Троицкая', 'Лесхозная', 'Васильковая', 'Механическая', - 'Путевая', 'Кузнецкая', 'Физкультурная', 'Черемуховая', 'Флотская', - 'Угольная', 'Просторная', 'Поперечная', 'Городская', 'Абрикосовая', - 'Бульварная', 'Прохладная', 'Томская', 'Энергетическая', 'Литейная', - 'Медицинская', 'Заливная', 'Бригадная', 'Детская', 'Запорожская', - 'Дальневосточная', 'Балтийская', 'Февральская', 'Лунная', 'Высотная', - 'Рязанская', 'Малиновая', - + "Советская", + "Молодежная", + "Центральная", + "Школьная", + "Новая", + "Садовая", + "Лесная", + "Набережная", + "Октябрьская", + "Зеленая", + "Комсомольская", + "Заречная", + "Первомайская", + "Полевая", + "Луговая", + "Пионерская", + "Юбилейная", + "Северная", + "Пролетарская", + "Степная", + "Южная", + "Колхозная", + "Рабочая", + "Солнечная", + "Железнодорожная", + "Восточная", + "Заводская", + "Нагорная", + "Береговая", + "Кооперативная", + "Красноармейская", + "Совхозная", + "Речная", + "Спортивная", + "Озерная", + "Строительная", + "Парковая", + "Подгорная", + "Почтовая", + "Партизанская", + "Вокзальная", + "Дорожная", + "Дачная", + "Западная", + "Московская", + "Красная", + "Трудовая", + "Шоссейная", + "Коммунистическая", + "Сосновая", + "Клубная", + "Березовая", + "Больничная", + "Интернациональная", + "Цветочная", + "Трактовая", + "Горная", + "Весенняя", + "Коммунальная", + "Майская", + "Привокзальная", + "Таежная", + "Транспортная", + "Овражная", + "Светлая", + "Вишневая", + "Ключевая", + "Песчаная", + "Ленинградская", + "Профсоюзная", + "Верхняя", + "Ленинская", + "Кирпичная", + "Мостовая", + "Станционная", + "Уральская", + "Линейная", + "Фабричная", + "Магистральная", + "Сибирская", + "Крестьянская", + "Российская", + "Тихая", + "Широкая", + "Нижняя", + "Народная", + "Промышленная", + "Кольцевая", + "Дальняя", + "Базарная", + "Целинная", + "Родниковая", + "Революционная", + "Социалистическая", + "Звездная", + "Студенческая", + "Мирная", + "Кубанская", + "Гаражная", + "Фестивальная", + "Гражданская", + "Песочная", + "Сиреневая", + "Сельская", + "Кузнечная", + "Пушкинская", + "Крайняя", + "Гвардейская", + "Веселая", + "Загородная", + "Олимпийская", + "Приозерная", + "Рябиновая", + "Заозерная", + "Боровая", + "Урожайная", + "Торговая", + "Донская", + "Пограничная", + "Огородная", + "Пригородная", + "Стадионная", + "Виноградная", + "Киевская", + "Индустриальная", + "Красногвардейская", + "Волжская", + "Свободная", + "Кедровая", + "Подлесная", + "Полярная", + "Раздольная", + "Карьерная", + "Мельничная", + "Украинская", + "Шахтерская", + "Запрудная", + "Элеваторная", + "Театральная", + "Геологическая", + "Болотная", + "Придорожная", + "Кленовая", + "Казачья", + "Малая", + "Морская", + "Волгоградская", + "Средняя", + "Безымянная", + "Краснофлотская", + "Братская", + "Тенистая", + "Учительская", + "Кавказская", + "Короткая", + "Деповская", + "Амурская", + "Сенная", + "Поселковая", + "Прудовая", + "Депутатская", + "Авиационная", + "Аэродромная", + "Большая", + "Приморская", + "Алтайская", + "Тополиная", + "Ростовская", + "Тракторная", + "Мелиоративная", + "Ольховая", + "Славянская", + "Радужная", + "Краснодарская", + "Стахановская", + "Ярославская", + "Коллективная", + "Ангарская", + "Локомотивная", + "Ягодная", + "Смоленская", + "Тепличная", + "Водопроводная", + "Республиканская", + "Осенняя", + "Байкальская", + "Саратовская", + "Казанская", + "Воронежская", + "Брянская", + "Производственная", + "Техническая", + "Енисейская", + "Севастопольская", + "Окружная", + "Орловская", + "Хуторская", + "Тупиковая", + "Каштановая", + "Омская", + "Привольная", + "Курортная", + "Ивановская", + "Выгонная", + "Крымская", + "Путейская", + "Проезжая", + "Краснознаменная", + "Одесская", + "Логовая", + "Высокая", + "Ясная", + "Портовая", + "Снежная", + "Санаторная", + "Союзная", + "Ульяновская", + "Сахалинская", + "Горняцкая", + "Прибрежная", + "Рыбацкая", + "Полтавская", + "Тамбовская", + "Красноярская", + "Новосельская", + "Проточная", + "Черноморская", + "Минская", + "Главная", + "Вольная", + "Хвойная", + "Космическая", + "Моховая", + "Курская", + "Курганная", + "Угловая", + "Камская", + "Инженерная", + "Лесозаводская", + "Астраханская", + "Белорусская", + "Заовражная", + "Азовская", + "Ручейная", + "Волочаевская", + "Ставропольская", + "Слободская", + "Тульская", + "Харьковская", + "Петровская", + "Владимирская", + "Высоковольтная", + "Лазурная", + "Покровская", + "Новгородская", + "Ленская", + "Сплавная", + "Ударная", + "Калужская", + "Прудная", + "Краснопартизанская", + "Ореховая", + "Таманская", + "Иркутская", + "Отрадная", + "Большевистская", + "Троицкая", + "Лесхозная", + "Васильковая", + "Механическая", + "Путевая", + "Кузнецкая", + "Физкультурная", + "Черемуховая", + "Флотская", + "Угольная", + "Просторная", + "Поперечная", + "Городская", + "Абрикосовая", + "Бульварная", + "Прохладная", + "Томская", + "Энергетическая", + "Литейная", + "Медицинская", + "Заливная", + "Бригадная", + "Детская", + "Запорожская", + "Дальневосточная", + "Балтийская", + "Февральская", + "Лунная", + "Высотная", + "Рязанская", + "Малиновая", ) street_titles_noflex = ( - 'Ленина', 'Мира', 'Гагарина', 'Кирова', 'Пушкина', 'Калинина', - 'Чапаева', 'Строителей', 'Победы', 'Горького', 'Чкалова', - 'Мичурина', 'Дружбы', 'Лермонтова', 'Свободы', 'Маяковского', - 'Фрунзе', 'Дзержинского', 'Свердлова', 'Некрасова', 'Гоголя', - 'Чехова', 'Труда', 'Комарова', 'Матросова', 'Островского', - 'Куйбышева', 'Крупской', 'Карла Маркса', '8 Марта', 'Суворова', - 'Ломоносова', 'Космонавтов', 'Энергетиков', 'Шевченко', 'Механизаторов', - '40 лет Победы', 'Энгельса', 'Чернышевского', 'Урицкого', 'Ворошилова', - 'Тургенева', 'Толстого', 'Буденного', 'Орджоникидзе', 'Герцена', - 'Щорса', 'Луначарского', 'Энтузиастов', 'Титова', 'Лазо', - '50 лет Октября', 'Пугачева', 'Володарского', 'Кутузова', 'Чайковского', - 'Мелиораторов', 'Новоселов', 'Белинского', 'Тельмана', 'Тимирязева', - 'Котовского', '60 лет Октября', 'Есенина', 'К.Маркса', '40 лет Октября', - 'Крылова', 'Декабристов', '70 лет Октября', 'Фурманова', 'Гайдара', - 'Терешковой', 'Ватутина', 'Коммунаров', 'Гастелло', 'Жданова', - 'Радищева', 'Нефтяников', 'Осипенко', 'Нахимова', 'Жукова', - 'Павлова', 'Степана Разина', 'Попова', 'Жуковского', 'Королева', - 'Грибоедова', 'Менделеева', 'Достоевского', 'Репина', 'Циолковского', - 'Воровского', 'Максима Горького', 'Революции', 'Кошевого', 'Пархоменко', - 'Серова', 'Добролюбова', '50 лет Победы', 'Красина', 'Коминтерна', - '30 лет Победы', 'Разина', 'Черняховского', 'Ветеранов', 'Пирогова', - 'Льва Толстого', 'Геологов', 'Димитрова', 'М.Горького', 'Розы Люксембург', - 'Маркса', 'Ушакова', 'Юности', 'Короленко', 'Шолохова', - '50 лет ВЛКСМ', 'Черемушки', 'Кольцова', 'Плеханова', 'Макаренко', - 'Глинки', 'Специалистов', 'Халтурина', 'Морозова', 'Коммуны', - 'Красных Партизан', 'Зои Космодемьянской', 'Карбышева', 'Баумана', 'Марта 8', - 'Правды', 'Маркса Карла', 'Фадеева', '60 лет СССР', 'Челюскинцев', - 'Олега Кошевого', 'Новостройка', 'Шмидта', 'Кузнецова', 'Войкова', - 'Панфилова', 'Карла Либкнехта', 'Парижской Коммуны', 'Автомобилистов', 'Космодемьянской', - 'Седова', 'Блюхера', 'Демьяна Бедного', 'Спартака', 'Николаева', - 'Бабушкина', 'Октября', 'Щетинкина', 'Гончарова', 'Щербакова', - 'Азина', 'Сурикова', '9 Января', 'Подстанция', 'Волкова', - 'Никитина', 'Рылеева', 'Химиков', 'Курчатова', 'Микрорайон', - 'Докучаева', 'Просвещения', 'Смирнова', 'Макарова', 'Иванова', - 'Л.Толстого', 'Гафури', 'Высоцкого', 'Бажова', 'Кочубея', - 'Леонова', 'Надежды', 'Металлистов', 'Вавилова', 'Ульянова', - 'Павлика Морозова', 'Семашко', 'Шаумяна', 'Чайкиной', 'Ермака', - 'Дорожников', 'Советской Армии', 'Монтажников', 'Шишкина', 'Металлургов', - 'Беляева', 'Дружба', 'Серафимовича', 'Ильича', 'Мусы Джалиля', - 'Невского', 'Клары Цеткин', 'Леваневского', 'Водников', 'Вахитова', - 'Станиславского', 'Советов', 'Восьмого Марта', 'Пожарского', 'Папанина', - 'Победа', '8-е Марта', 'Журавлева', 'Культуры', 'Мая 1', - 'Минина', 'Машиностроителей', 'ДОС', 'Тюленина', 'Громова', - 'О.Кошевого', 'Р.Люксембург', 'Толбухина', 'Дарвина', 'З.Космодемьянской', - '1 Мая', '9 мая', 'Тукая', + "Ленина", + "Мира", + "Гагарина", + "Кирова", + "Пушкина", + "Калинина", + "Чапаева", + "Строителей", + "Победы", + "Горького", + "Чкалова", + "Мичурина", + "Дружбы", + "Лермонтова", + "Свободы", + "Маяковского", + "Фрунзе", + "Дзержинского", + "Свердлова", + "Некрасова", + "Гоголя", + "Чехова", + "Труда", + "Комарова", + "Матросова", + "Островского", + "Куйбышева", + "Крупской", + "Карла Маркса", + "8 Марта", + "Суворова", + "Ломоносова", + "Космонавтов", + "Энергетиков", + "Шевченко", + "Механизаторов", + "40 лет Победы", + "Энгельса", + "Чернышевского", + "Урицкого", + "Ворошилова", + "Тургенева", + "Толстого", + "Буденного", + "Орджоникидзе", + "Герцена", + "Щорса", + "Луначарского", + "Энтузиастов", + "Титова", + "Лазо", + "50 лет Октября", + "Пугачева", + "Володарского", + "Кутузова", + "Чайковского", + "Мелиораторов", + "Новоселов", + "Белинского", + "Тельмана", + "Тимирязева", + "Котовского", + "60 лет Октября", + "Есенина", + "К.Маркса", + "40 лет Октября", + "Крылова", + "Декабристов", + "70 лет Октября", + "Фурманова", + "Гайдара", + "Терешковой", + "Ватутина", + "Коммунаров", + "Гастелло", + "Жданова", + "Радищева", + "Нефтяников", + "Осипенко", + "Нахимова", + "Жукова", + "Павлова", + "Степана Разина", + "Попова", + "Жуковского", + "Королева", + "Грибоедова", + "Менделеева", + "Достоевского", + "Репина", + "Циолковского", + "Воровского", + "Максима Горького", + "Революции", + "Кошевого", + "Пархоменко", + "Серова", + "Добролюбова", + "50 лет Победы", + "Красина", + "Коминтерна", + "30 лет Победы", + "Разина", + "Черняховского", + "Ветеранов", + "Пирогова", + "Льва Толстого", + "Геологов", + "Димитрова", + "М.Горького", + "Розы Люксембург", + "Маркса", + "Ушакова", + "Юности", + "Короленко", + "Шолохова", + "50 лет ВЛКСМ", + "Черемушки", + "Кольцова", + "Плеханова", + "Макаренко", + "Глинки", + "Специалистов", + "Халтурина", + "Морозова", + "Коммуны", + "Красных Партизан", + "Зои Космодемьянской", + "Карбышева", + "Баумана", + "Марта 8", + "Правды", + "Маркса Карла", + "Фадеева", + "60 лет СССР", + "Челюскинцев", + "Олега Кошевого", + "Новостройка", + "Шмидта", + "Кузнецова", + "Войкова", + "Панфилова", + "Карла Либкнехта", + "Парижской Коммуны", + "Автомобилистов", + "Космодемьянской", + "Седова", + "Блюхера", + "Демьяна Бедного", + "Спартака", + "Николаева", + "Бабушкина", + "Октября", + "Щетинкина", + "Гончарова", + "Щербакова", + "Азина", + "Сурикова", + "9 Января", + "Подстанция", + "Волкова", + "Никитина", + "Рылеева", + "Химиков", + "Курчатова", + "Микрорайон", + "Докучаева", + "Просвещения", + "Смирнова", + "Макарова", + "Иванова", + "Л.Толстого", + "Гафури", + "Высоцкого", + "Бажова", + "Кочубея", + "Леонова", + "Надежды", + "Металлистов", + "Вавилова", + "Ульянова", + "Павлика Морозова", + "Семашко", + "Шаумяна", + "Чайкиной", + "Ермака", + "Дорожников", + "Советской Армии", + "Монтажников", + "Шишкина", + "Металлургов", + "Беляева", + "Дружба", + "Серафимовича", + "Ильича", + "Мусы Джалиля", + "Невского", + "Клары Цеткин", + "Леваневского", + "Водников", + "Вахитова", + "Станиславского", + "Советов", + "Восьмого Марта", + "Пожарского", + "Папанина", + "Победа", + "8-е Марта", + "Журавлева", + "Культуры", + "Мая 1", + "Минина", + "Машиностроителей", + "ДОС", + "Тюленина", + "Громова", + "О.Кошевого", + "Р.Люксембург", + "Толбухина", + "Дарвина", + "З.Космодемьянской", + "1 Мая", + "9 мая", + "Тукая", ) street_titles_irregular_masc = { - 'Полевая': 'Полевой', 'Луговая': 'Луговой', 'Степная': 'Степной', 'Заводская': 'Заводской', - 'Береговая': 'Береговой', 'Речная': 'Речной', 'Трудовая': 'Трудовой', 'Ключевая': 'Ключевой', - 'Мостовая': 'Мостовой', 'Кольцевая': 'Кольцевой', 'Боровая': 'Боровой', 'Донская': 'Донской', - 'Морская': 'Морской', 'Сенная': 'Сенной', 'Прудовая': 'Прудовой', 'Большая': 'Большой', - 'Окружная': 'Окружной', 'Хуторская': 'Хуторской', 'Логовая': 'Логовой', 'Моховая': 'Моховой', - 'Угловая': 'Угловой', 'Слободская': 'Слободской', 'Путевая': 'Путевой', 'Городская': 'Городской', - 'Рабочая': 'Рабочий', 'Верхняя': 'Верхний', 'Тихая': 'Тихий', 'Широкая': 'Широкий', 'Нижняя': 'Нижний', - 'Дальняя': 'Дальний', 'Крайняя': 'Крайний', 'Казачья': 'Казачий', 'Весенняя': 'Весенний', 'Средняя': 'Средний', - 'Короткая': 'Короткий', 'Осенняя': 'Осенний', 'Проезжая': 'Проезжий', 'Высокая': 'Высокий', + "Полевая": "Полевой", + "Луговая": "Луговой", + "Степная": "Степной", + "Заводская": "Заводской", + "Береговая": "Береговой", + "Речная": "Речной", + "Трудовая": "Трудовой", + "Ключевая": "Ключевой", + "Мостовая": "Мостовой", + "Кольцевая": "Кольцевой", + "Боровая": "Боровой", + "Донская": "Донской", + "Морская": "Морской", + "Сенная": "Сенной", + "Прудовая": "Прудовой", + "Большая": "Большой", + "Окружная": "Окружной", + "Хуторская": "Хуторской", + "Логовая": "Логовой", + "Моховая": "Моховой", + "Угловая": "Угловой", + "Слободская": "Слободской", + "Путевая": "Путевой", + "Городская": "Городской", + "Рабочая": "Рабочий", + "Верхняя": "Верхний", + "Тихая": "Тихий", + "Широкая": "Широкий", + "Нижняя": "Нижний", + "Дальняя": "Дальний", + "Крайняя": "Крайний", + "Казачья": "Казачий", + "Весенняя": "Весенний", + "Средняя": "Средний", + "Короткая": "Короткий", + "Осенняя": "Осенний", + "Проезжая": "Проезжий", + "Высокая": "Высокий", } street_titles_irregular_neu = { - 'Весенняя': 'Весеннее', 'Верхняя': 'Верхнее', 'Нижняя': 'Нижнее', 'Средняя': 'Среднее', 'Дальняя': 'Дальнее', - 'Крайняя': 'Крайнее', 'Казачья': 'Казачье', 'Рабочая': 'Рабочее', 'Осеняя': 'Осеннее', 'Проезжая': 'Проезжее', + "Весенняя": "Весеннее", + "Верхняя": "Верхнее", + "Нижняя": "Нижнее", + "Средняя": "Среднее", + "Дальняя": "Дальнее", + "Крайняя": "Крайнее", + "Казачья": "Казачье", + "Рабочая": "Рабочее", + "Осеняя": "Осеннее", + "Проезжая": "Проезжее", } city_names = ( - 'Абакан', 'Абинск', 'Агата', 'Агинское (Забайк.)', 'Адлер', 'Адыгейск', - 'Азов (Рост.)', 'Алагир', 'Алапаевск', 'Алдан', 'Александров', - 'Александров Гай', 'Александровск', 'Александровск-Сахалинский', - 'Алексин', 'Амдерма', 'Амурск', 'Анадырь', 'Анапа', 'Ангарск', - 'Андреаполь', 'Анива', 'Апатиты', 'Апрелевка', 'Апшеронск', 'Аргаяш', - 'Ардон', 'Арзамас', 'Армавир', 'Арсеньев', 'Артем', 'Архангельск', - 'Архыз', 'Аршан (Бурят.)', 'Асбест', 'Асино', 'Астрахань', 'Ахтубинск', - 'Ачинск', 'Ачхой Мартан', 'Аша', 'Бавлы', 'Байкальск', 'Баксан', - 'Балашиха', 'Балашов', 'Балтийск', 'Баргузин', 'Барнаул', 'Батайск', - 'Белгород', 'Белогорск (Амур.)', 'Белокуриха', 'Беломорск', 'Белорецк', - 'Белореченск', 'Белоярский', 'Белый Яр (Томск.)', 'Березники', - 'Беслан', 'Бийск', 'Билибино', 'Биробиджан', 'Бирск', - 'Благовещенск (Амур.)', 'Богучар', 'Бодайбо', 'Бологое', 'Бомнак', - 'Борзя', 'Боровск', 'Братск', 'Бреды', 'Бронницы', 'Брянск', - 'Бугульма', 'Бугуруслан', 'Буденновск', 'Бузулук', 'Буйнакск', - 'Быково (метеост.)', 'Валаам', 'Валдай', 'Ведено', 'Великие Луки', - 'Великий Устюг', 'Вендинга', 'Верещагино (Перм.)', 'Верхнее Пенжино', - 'Верхний Баскунчак', 'Верхний Тагил', 'Верхний Уфалей', 'Верхотурье', - 'Верхоянск', 'Видное', 'Вилюйск', 'Витим', 'Владивосток', - 'Владикавказ', 'Владимир', 'Внуково (метеост.)', 'Волгоград', - 'Волгодонск', 'Вологда', 'Волоколамск', 'Волхов', 'Воркута', - 'Воронеж', 'Воскресенск', 'Воткинск', 'Всеволожск', 'Вуктыл', 'Выборг', - 'Вытегра', 'Вязьма', 'Гаврилов-Ям', 'Гагарин', 'Галич', 'Гатчина', - 'Гдов', 'Геленджик', 'Глазов', 'Голицыно', 'Горно-Алтайск', - 'Городовиковск', 'Горячий Ключ', 'Горячинск', 'Гремячинск (Бурят.)', - 'Гремячинск (Перм.)', 'Грозный', 'Губаха', 'Губкин', 'Губкинский', - 'Гудермес', 'Гусь-Хрустальный', 'Дагомыс', 'Далматово', 'Данков', - 'Двинской', 'Дербент', 'Джейрах', 'Джубга', 'Дзержинск', 'Дивногорск', - 'Диксон', 'Дмитров', 'Дно', 'Добрянка', 'Долинск', 'Домбай', - 'Домодедово', 'Дубна', 'Дудинка', 'Егорьевск', 'Ейск', 'Екатеринбург', - 'Елабуга', 'Елатьма', 'Елец', 'Ельня', 'Енисейск', 'Ербогачен', - 'Ершов', 'Ессентуки', 'Железногорск(Курск.)', 'Жиганск', 'Жигулевск', - 'Жуковский', 'Забайкальск', 'Заводоуковск', 'Завьялиха', 'Зарайск', - 'Звенигород', 'Зеленогорск (Ленин.)', 'Зеленоград', 'Златоуст', - 'Змеиногорск', 'Иваново', 'Ивдель', 'Игарка', 'Игнашино', 'Ижевск', - 'Избербаш', 'Инта', 'Ирбит', 'Иркутск', 'Истра', 'Ишим', 'Йошкар-Ола', - 'Кабанск', 'Кажим', 'Казань', 'Калач', 'Калач-на-Дону', 'Калачинск', - 'Калевала', 'Калининград', 'Калуга', 'Калязин', 'Каменномостский', - 'Каменск-Уральский', 'Каменск-Шахтинский', 'Камень-на-Оби', 'Камышин', - 'Камышлов', 'Кандалакша', 'Каневская', 'Канск', 'Карабудахкент', - 'Карабулак', 'Карачаевск', 'Каргасок', 'Каргополь', 'Карпинск', - 'Карталы', 'Касимов', 'Каспийск', 'Катав-Ивановск', 'Катайск', - 'Качканар', 'Кашира', 'Кашхатау', 'Кедровый', 'Кежма', 'Кемерово', - 'Кетченеры', 'Кижи', 'Кизел', 'Кизилюрт', 'Кизляр', 'Кимры', - 'Кингисепп', 'Кинешма', 'Киренск', 'Киржач', 'Кириши', 'Киров (Вятка)', - 'Кирово-Чепецк', 'Кировск (Мурм.)', 'Кировск (Ленин.)', 'Кисловодск', - 'Клин', 'Ковров', 'Когалым', 'Коломна', 'Колпашево', - 'Комсомольск-на-Амуре', 'Кондопога', 'Королев', 'Корсаков', - 'Костомукша', 'Кострома', 'Котельнич', 'Котлас', 'Кош-Агач', - 'Красная Поляна', 'Красновишерск', 'Красногорск (Моск.)', 'Краснодар', - 'Краснокамск', 'Красноселькуп', 'Краснотурьинск', 'Красноуральск', - 'Красноуфимск', 'Красноярск', 'Кропоткин (Краснод.)', 'Крымск', - 'Кудымкар', 'Кузнецк', 'Кулу', 'Кулунда', 'Кунгур', 'Курган', - 'Курганинск', 'Курильск', 'Курск', 'Куртамыш', 'Курумкан', 'Курчатов', - 'Кущевская', 'Кызыл', 'Кырен', 'Кыштым', 'Кяхта', 'Лабинск', - 'Лабытнанги', 'Лагань', 'Лазаревское', 'Лесной (Сверд.)', 'Липецк', - 'Листвянка (Иркут.)', 'Лодейное Поле', 'Лотошино', 'Луга', 'Луховицы', - 'Лысьва', 'Льгов', 'Любань', 'Люберцы', 'Лянтор', 'Магадан', 'Магас', - 'Магнитогорск', 'Майкоп', 'Макаров', 'Макушино', 'Малая Вишера', - 'Малгобек', 'Малоярославец', 'Махачкала', 'Медногорск', - 'Междуреченский', 'Мезень', 'Мелеуз', 'Меренга', 'Миасс', - 'Миллерово', 'Минеральные Воды', 'Минусинск', 'Мирный', 'Мичуринск', - 'Можайск', 'Можга', 'Моздок', 'Мокшан', 'Мончегорск', 'Морозовск', - 'Моршанск', 'Москва', 'Москва, МГУ', 'Мостовской', 'Муравленко', - 'Мураши', 'Мурманск', 'Муром', 'Мценск', 'Мыс Шмидта', 'Мытищи', - 'Набережные Челны', 'Надым', 'Назрань', 'Нальчик', 'Наро-Фоминск', - 'Нарткала', 'Нарым', 'Нарьян-Мар', 'Находка', 'Невельск', - 'Невинномысск', 'Невьянск', 'Неплюевка', 'Нерчинск', 'Нефедова', - 'Нефтегорск (Самар.)', 'Нефтекамск', 'Нефтеюганск', 'Нижневартовск', - 'Нижнекамск', 'Нижнеудинск', 'Нижний Новгород', 'Нижний Тагил', - 'Новая Игирма', 'Новгород Великий', 'Новокузнецк', 'Новомичуринск', - 'Новомосковск', 'Новороссийка', 'Новороссийск', 'Новосибирск', - 'Новочеркасск', 'Новый Оскол', 'Новый Уренгой', 'Ногинск (Моск.)', - 'Ноглики', 'Норильск', 'Ноябрьск', 'Нурлат', 'Нягань', 'Нязепетровск', - 'Обнинск', 'Обоянь', 'Объячево', 'Одинцово', 'Озеры', 'Оймякон', - 'Октябрьский (Башк.)', 'Октябрьское (Хант.)', 'Октябрьское (Челяб.)', - 'Оленегорск (Якут.)', 'Оленек', 'Омск', 'Онега', 'Орел', 'Оренбург', - 'Орехово-Зуево', 'Орск', 'Оса', 'Осташков', 'Оха', 'Охотск', - 'Павловская', 'Павловский Посад', 'Палана', 'Партизанск', 'Певек', - 'Пенза', 'Переславль-Залесский', 'Пермь', 'Петрозаводск', - 'Петропавловск-Камчатский', 'Петухово', 'Петушки', 'Печенга', 'Печора', - 'Пинега', 'Плес', 'Плесецк', 'Подольск', 'Поронайск', 'Поярково', - 'Приморско-Ахтарск', 'Приозерск', 'Прохладный', 'Псебай', 'Псков', - 'Пушкин', 'Пушкино (Моск.)', 'Пушкинские Горы', 'Пышма', 'Пятигорск', - 'Радужный', 'Раменское', 'Ребриха', 'Ревда (Сверд.)', 'Ржев', - 'Рославль', 'Россошь', 'Ростов', 'Ростов-на-Дону', 'Рубцовск', 'Руза', - 'Рыбинск', 'Рыльск', 'Ряжск', 'Рязань', 'Салават', 'Салехард', - 'Сальск', 'Самара', 'Санкт-Петербург', 'Саранск', 'Сарапул', 'Саратов', - 'Саров (Морд.)', 'Сасово', 'Саянск', 'Светлогорск (Калин.)', - 'Северо-Курильск', 'Северобайкальск', 'Северодвинск', 'Североморск', - 'Североуральск', 'Сеймчан', 'Семлячики', 'Серафимович', - 'Сергиев Посад', 'Серебряные Пруды', 'Середниково', 'Серов', - 'Серпухов', 'Сибай', 'Сковородино', 'Славгород', 'Славянск-на-Кубани', - 'Сладково', 'Слюдянка', 'Смирных', 'Смоленск', 'Снежинск', - 'Снежногорск (Мурм.)', 'Соболево', 'Советский', 'Соликамск', - 'Солнечногорск', 'Соловки', 'Соль-Илецк', 'Сорочинск', 'Сортавала', - 'Сосновый Бор', 'Сосногорск', 'Сосьва (Хант.)', 'Сочи', 'Ставрополь', - 'Старая Русса', 'Старый Оскол', 'Стерлитамак', 'Стрежевой', 'Ступино', - 'Суздаль', 'Сузун', 'Сунтар', 'Сургут (Хант.)', 'Сусуман', 'Сухиничи', - 'Сызрань', 'Сыктывкар', 'Тавда', 'Таганрог', 'Тайшет', 'Талдом', - 'Тамбей', 'Тамбов', 'Тарко-Сале', 'Таштагол', 'Тверь', 'Теберда', - 'Темрюк', 'Териберка', 'Терней', 'Терскол', 'Тикси', 'Тимашевск', - 'Тихвин', 'Тихорецк', 'Тобольск', 'Токма', 'Токсово', 'Тольятти', - 'Томари', 'Томпа', 'Томск', 'Торжок', 'Тосно', 'Тотьма', - 'Троицк (Челяб.)', 'Троицк (Моск.)', 'Троицко-Печорск', 'Туапсе', - 'Тула', 'Тулпан', 'Тулун', 'Тура', 'Туруханск', 'Тутаев', 'Тутончаны', - 'Тымовское', 'Тында', 'Тырныауз', 'Тюмень', 'Уварово', 'Углегорск', - 'Углич', 'Улан-Удэ', 'Ульяновск', 'Урай', 'Уренгой', 'Урус-Мартан', - 'Урюпинск', 'Усинск', 'Усмань', 'Усолье Сибирское', 'Уссурийск', - 'Усть-Баргузин', 'Усть-Джегута', 'Усть-Илимск', 'Усть-Ишим', - 'Усть-Калманка', 'Усть-Камчатск', 'Усть-Катав', 'Усть-Кулом', - 'Усть-Кут', 'Усть-Ордынский', 'Устюжна', 'Уфа', 'Ухта', 'Учалы', - 'Уэлен', 'Фатеж', 'Хабаровск', 'Ханты-Мансийск', 'Хасавюрт', - 'Хасан', 'Хатанга', 'Химки', 'Холмогоры', 'Холмск', 'Хоста', - 'Хужир', 'Цимлянск', 'Чайковский', 'Чебаркуль', 'Чебоксары', - 'Чегем', 'Челюскин', 'Челябинск', 'Черемхово', 'Череповец', - 'Черкесск', 'Чермоз', 'Черняховск', 'Черский', 'Черусти', 'Чехов', - 'Чикола', 'Чита', 'Чокурдах', 'Чулым', 'Чусовой', 'Шадринск', 'Шали', - 'Шамары', 'Шарья', 'Шатки', 'Шатой', 'Шатура', 'Шаховская', 'Шахты', - 'Шелагонцы', 'Шелехов', 'Шенкурск', 'Шерегеш', 'Шереметьево', 'Шилка', - 'Шумиха', 'Шуя', 'Щелково', 'Щельяюр', 'Элиста', 'Эльбрус', 'Эльтон', - 'Энгельс', 'Югорск', 'Южно-Курильск', 'Южно-Сахалинск', 'Южноуральск', - 'Юровск', 'Юрьев-Польский', 'Юрьевец (Иван.)', 'Юрюзань', 'Якутск', - 'Якша', 'Ялуторовск', 'Ямбург', 'Яр-Сале', 'Ярославль', - 'Ясный (Оренб.)', 'Яхрома', 'Яшалта', 'Яшкуль', + "Абакан", + "Абинск", + "Агата", + "Агинское (Забайк.)", + "Адлер", + "Адыгейск", + "Азов (Рост.)", + "Алагир", + "Алапаевск", + "Алдан", + "Александров", + "Александров Гай", + "Александровск", + "Александровск-Сахалинский", + "Алексин", + "Амдерма", + "Амурск", + "Анадырь", + "Анапа", + "Ангарск", + "Андреаполь", + "Анива", + "Апатиты", + "Апрелевка", + "Апшеронск", + "Аргаяш", + "Ардон", + "Арзамас", + "Армавир", + "Арсеньев", + "Артем", + "Архангельск", + "Архыз", + "Аршан (Бурят.)", + "Асбест", + "Асино", + "Астрахань", + "Ахтубинск", + "Ачинск", + "Ачхой Мартан", + "Аша", + "Бавлы", + "Байкальск", + "Баксан", + "Балашиха", + "Балашов", + "Балтийск", + "Баргузин", + "Барнаул", + "Батайск", + "Белгород", + "Белогорск (Амур.)", + "Белокуриха", + "Беломорск", + "Белорецк", + "Белореченск", + "Белоярский", + "Белый Яр (Томск.)", + "Березники", + "Беслан", + "Бийск", + "Билибино", + "Биробиджан", + "Бирск", + "Благовещенск (Амур.)", + "Богучар", + "Бодайбо", + "Бологое", + "Бомнак", + "Борзя", + "Боровск", + "Братск", + "Бреды", + "Бронницы", + "Брянск", + "Бугульма", + "Бугуруслан", + "Буденновск", + "Бузулук", + "Буйнакск", + "Быково (метеост.)", + "Валаам", + "Валдай", + "Ведено", + "Великие Луки", + "Великий Устюг", + "Вендинга", + "Верещагино (Перм.)", + "Верхнее Пенжино", + "Верхний Баскунчак", + "Верхний Тагил", + "Верхний Уфалей", + "Верхотурье", + "Верхоянск", + "Видное", + "Вилюйск", + "Витим", + "Владивосток", + "Владикавказ", + "Владимир", + "Внуково (метеост.)", + "Волгоград", + "Волгодонск", + "Вологда", + "Волоколамск", + "Волхов", + "Воркута", + "Воронеж", + "Воскресенск", + "Воткинск", + "Всеволожск", + "Вуктыл", + "Выборг", + "Вытегра", + "Вязьма", + "Гаврилов-Ям", + "Гагарин", + "Галич", + "Гатчина", + "Гдов", + "Геленджик", + "Глазов", + "Голицыно", + "Горно-Алтайск", + "Городовиковск", + "Горячий Ключ", + "Горячинск", + "Гремячинск (Бурят.)", + "Гремячинск (Перм.)", + "Грозный", + "Губаха", + "Губкин", + "Губкинский", + "Гудермес", + "Гусь-Хрустальный", + "Дагомыс", + "Далматово", + "Данков", + "Двинской", + "Дербент", + "Джейрах", + "Джубга", + "Дзержинск", + "Дивногорск", + "Диксон", + "Дмитров", + "Дно", + "Добрянка", + "Долинск", + "Домбай", + "Домодедово", + "Дубна", + "Дудинка", + "Егорьевск", + "Ейск", + "Екатеринбург", + "Елабуга", + "Елатьма", + "Елец", + "Ельня", + "Енисейск", + "Ербогачен", + "Ершов", + "Ессентуки", + "Железногорск(Курск.)", + "Жиганск", + "Жигулевск", + "Жуковский", + "Забайкальск", + "Заводоуковск", + "Завьялиха", + "Зарайск", + "Звенигород", + "Зеленогорск (Ленин.)", + "Зеленоград", + "Златоуст", + "Змеиногорск", + "Иваново", + "Ивдель", + "Игарка", + "Игнашино", + "Ижевск", + "Избербаш", + "Инта", + "Ирбит", + "Иркутск", + "Истра", + "Ишим", + "Йошкар-Ола", + "Кабанск", + "Кажим", + "Казань", + "Калач", + "Калач-на-Дону", + "Калачинск", + "Калевала", + "Калининград", + "Калуга", + "Калязин", + "Каменномостский", + "Каменск-Уральский", + "Каменск-Шахтинский", + "Камень-на-Оби", + "Камышин", + "Камышлов", + "Кандалакша", + "Каневская", + "Канск", + "Карабудахкент", + "Карабулак", + "Карачаевск", + "Каргасок", + "Каргополь", + "Карпинск", + "Карталы", + "Касимов", + "Каспийск", + "Катав-Ивановск", + "Катайск", + "Качканар", + "Кашира", + "Кашхатау", + "Кедровый", + "Кежма", + "Кемерово", + "Кетченеры", + "Кижи", + "Кизел", + "Кизилюрт", + "Кизляр", + "Кимры", + "Кингисепп", + "Кинешма", + "Киренск", + "Киржач", + "Кириши", + "Киров (Вятка)", + "Кирово-Чепецк", + "Кировск (Мурм.)", + "Кировск (Ленин.)", + "Кисловодск", + "Клин", + "Ковров", + "Когалым", + "Коломна", + "Колпашево", + "Комсомольск-на-Амуре", + "Кондопога", + "Королев", + "Корсаков", + "Костомукша", + "Кострома", + "Котельнич", + "Котлас", + "Кош-Агач", + "Красная Поляна", + "Красновишерск", + "Красногорск (Моск.)", + "Краснодар", + "Краснокамск", + "Красноселькуп", + "Краснотурьинск", + "Красноуральск", + "Красноуфимск", + "Красноярск", + "Кропоткин (Краснод.)", + "Крымск", + "Кудымкар", + "Кузнецк", + "Кулу", + "Кулунда", + "Кунгур", + "Курган", + "Курганинск", + "Курильск", + "Курск", + "Куртамыш", + "Курумкан", + "Курчатов", + "Кущевская", + "Кызыл", + "Кырен", + "Кыштым", + "Кяхта", + "Лабинск", + "Лабытнанги", + "Лагань", + "Лазаревское", + "Лесной (Сверд.)", + "Липецк", + "Листвянка (Иркут.)", + "Лодейное Поле", + "Лотошино", + "Луга", + "Луховицы", + "Лысьва", + "Льгов", + "Любань", + "Люберцы", + "Лянтор", + "Магадан", + "Магас", + "Магнитогорск", + "Майкоп", + "Макаров", + "Макушино", + "Малая Вишера", + "Малгобек", + "Малоярославец", + "Махачкала", + "Медногорск", + "Междуреченский", + "Мезень", + "Мелеуз", + "Меренга", + "Миасс", + "Миллерово", + "Минеральные Воды", + "Минусинск", + "Мирный", + "Мичуринск", + "Можайск", + "Можга", + "Моздок", + "Мокшан", + "Мончегорск", + "Морозовск", + "Моршанск", + "Москва", + "Москва, МГУ", + "Мостовской", + "Муравленко", + "Мураши", + "Мурманск", + "Муром", + "Мценск", + "Мыс Шмидта", + "Мытищи", + "Набережные Челны", + "Надым", + "Назрань", + "Нальчик", + "Наро-Фоминск", + "Нарткала", + "Нарым", + "Нарьян-Мар", + "Находка", + "Невельск", + "Невинномысск", + "Невьянск", + "Неплюевка", + "Нерчинск", + "Нефедова", + "Нефтегорск (Самар.)", + "Нефтекамск", + "Нефтеюганск", + "Нижневартовск", + "Нижнекамск", + "Нижнеудинск", + "Нижний Новгород", + "Нижний Тагил", + "Новая Игирма", + "Новгород Великий", + "Новокузнецк", + "Новомичуринск", + "Новомосковск", + "Новороссийка", + "Новороссийск", + "Новосибирск", + "Новочеркасск", + "Новый Оскол", + "Новый Уренгой", + "Ногинск (Моск.)", + "Ноглики", + "Норильск", + "Ноябрьск", + "Нурлат", + "Нягань", + "Нязепетровск", + "Обнинск", + "Обоянь", + "Объячево", + "Одинцово", + "Озеры", + "Оймякон", + "Октябрьский (Башк.)", + "Октябрьское (Хант.)", + "Октябрьское (Челяб.)", + "Оленегорск (Якут.)", + "Оленек", + "Омск", + "Онега", + "Орел", + "Оренбург", + "Орехово-Зуево", + "Орск", + "Оса", + "Осташков", + "Оха", + "Охотск", + "Павловская", + "Павловский Посад", + "Палана", + "Партизанск", + "Певек", + "Пенза", + "Переславль-Залесский", + "Пермь", + "Петрозаводск", + "Петропавловск-Камчатский", + "Петухово", + "Петушки", + "Печенга", + "Печора", + "Пинега", + "Плес", + "Плесецк", + "Подольск", + "Поронайск", + "Поярково", + "Приморско-Ахтарск", + "Приозерск", + "Прохладный", + "Псебай", + "Псков", + "Пушкин", + "Пушкино (Моск.)", + "Пушкинские Горы", + "Пышма", + "Пятигорск", + "Радужный", + "Раменское", + "Ребриха", + "Ревда (Сверд.)", + "Ржев", + "Рославль", + "Россошь", + "Ростов", + "Ростов-на-Дону", + "Рубцовск", + "Руза", + "Рыбинск", + "Рыльск", + "Ряжск", + "Рязань", + "Салават", + "Салехард", + "Сальск", + "Самара", + "Санкт-Петербург", + "Саранск", + "Сарапул", + "Саратов", + "Саров (Морд.)", + "Сасово", + "Саянск", + "Светлогорск (Калин.)", + "Северо-Курильск", + "Северобайкальск", + "Северодвинск", + "Североморск", + "Североуральск", + "Сеймчан", + "Семлячики", + "Серафимович", + "Сергиев Посад", + "Серебряные Пруды", + "Середниково", + "Серов", + "Серпухов", + "Сибай", + "Сковородино", + "Славгород", + "Славянск-на-Кубани", + "Сладково", + "Слюдянка", + "Смирных", + "Смоленск", + "Снежинск", + "Снежногорск (Мурм.)", + "Соболево", + "Советский", + "Соликамск", + "Солнечногорск", + "Соловки", + "Соль-Илецк", + "Сорочинск", + "Сортавала", + "Сосновый Бор", + "Сосногорск", + "Сосьва (Хант.)", + "Сочи", + "Ставрополь", + "Старая Русса", + "Старый Оскол", + "Стерлитамак", + "Стрежевой", + "Ступино", + "Суздаль", + "Сузун", + "Сунтар", + "Сургут (Хант.)", + "Сусуман", + "Сухиничи", + "Сызрань", + "Сыктывкар", + "Тавда", + "Таганрог", + "Тайшет", + "Талдом", + "Тамбей", + "Тамбов", + "Тарко-Сале", + "Таштагол", + "Тверь", + "Теберда", + "Темрюк", + "Териберка", + "Терней", + "Терскол", + "Тикси", + "Тимашевск", + "Тихвин", + "Тихорецк", + "Тобольск", + "Токма", + "Токсово", + "Тольятти", + "Томари", + "Томпа", + "Томск", + "Торжок", + "Тосно", + "Тотьма", + "Троицк (Челяб.)", + "Троицк (Моск.)", + "Троицко-Печорск", + "Туапсе", + "Тула", + "Тулпан", + "Тулун", + "Тура", + "Туруханск", + "Тутаев", + "Тутончаны", + "Тымовское", + "Тында", + "Тырныауз", + "Тюмень", + "Уварово", + "Углегорск", + "Углич", + "Улан-Удэ", + "Ульяновск", + "Урай", + "Уренгой", + "Урус-Мартан", + "Урюпинск", + "Усинск", + "Усмань", + "Усолье Сибирское", + "Уссурийск", + "Усть-Баргузин", + "Усть-Джегута", + "Усть-Илимск", + "Усть-Ишим", + "Усть-Калманка", + "Усть-Камчатск", + "Усть-Катав", + "Усть-Кулом", + "Усть-Кут", + "Усть-Ордынский", + "Устюжна", + "Уфа", + "Ухта", + "Учалы", + "Уэлен", + "Фатеж", + "Хабаровск", + "Ханты-Мансийск", + "Хасавюрт", + "Хасан", + "Хатанга", + "Химки", + "Холмогоры", + "Холмск", + "Хоста", + "Хужир", + "Цимлянск", + "Чайковский", + "Чебаркуль", + "Чебоксары", + "Чегем", + "Челюскин", + "Челябинск", + "Черемхово", + "Череповец", + "Черкесск", + "Чермоз", + "Черняховск", + "Черский", + "Черусти", + "Чехов", + "Чикола", + "Чита", + "Чокурдах", + "Чулым", + "Чусовой", + "Шадринск", + "Шали", + "Шамары", + "Шарья", + "Шатки", + "Шатой", + "Шатура", + "Шаховская", + "Шахты", + "Шелагонцы", + "Шелехов", + "Шенкурск", + "Шерегеш", + "Шереметьево", + "Шилка", + "Шумиха", + "Шуя", + "Щелково", + "Щельяюр", + "Элиста", + "Эльбрус", + "Эльтон", + "Энгельс", + "Югорск", + "Южно-Курильск", + "Южно-Сахалинск", + "Южноуральск", + "Юровск", + "Юрьев-Польский", + "Юрьевец (Иван.)", + "Юрюзань", + "Якутск", + "Якша", + "Ялуторовск", + "Ямбург", + "Яр-Сале", + "Ярославль", + "Ясный (Оренб.)", + "Яхрома", + "Яшалта", + "Яшкуль", ) # https://en.wikipedia.org/wiki/Federal_subjects_of_Russia region_republics = ( - 'Адыгея', 'Алтай', 'Башкортостан', 'Бурятия', 'Дагестан', - 'Ингушетия', 'Кабардино-Балкария', 'Калмыкия', 'Карачаево-Черкесия', 'Карелия', - 'Коми', 'Крым', 'Марий-Эл', 'Мордовия', 'Саха (Якутия)', - 'Северная Осетия - Алания', 'Татарстан', 'Тыва', 'Удмуртия', 'Хакасия', - 'Чечня', 'Чувашия', + "Адыгея", + "Алтай", + "Башкортостан", + "Бурятия", + "Дагестан", + "Ингушетия", + "Кабардино-Балкария", + "Калмыкия", + "Карачаево-Черкесия", + "Карелия", + "Коми", + "Крым", + "Марий-Эл", + "Мордовия", + "Саха (Якутия)", + "Северная Осетия - Алания", + "Татарстан", + "Тыва", + "Удмуртия", + "Хакасия", + "Чечня", + "Чувашия", ) region_krai = ( - 'Алтайский', 'Забайкальский', 'Камчатский', 'Краснодарский', 'Красноярский', - 'Пермский', 'Приморский', 'Ставропольский', 'Хабаровский', + "Алтайский", + "Забайкальский", + "Камчатский", + "Краснодарский", + "Красноярский", + "Пермский", + "Приморский", + "Ставропольский", + "Хабаровский", ) region_oblast = ( - 'Амурская', 'Архангельская', 'Астраханская', 'Белгородская', 'Брянская', - 'Владимирская', 'Волгоградская', 'Вологодская', 'Воронежская', 'Ивановская', - 'Иркутская', 'Калининградская', 'Калужская', 'Кемеровская', 'Кировская', - 'Костромская', 'Курганская', 'Курская', 'Ленинградская', 'Липецкая', - 'Магаданская', 'Московская', 'Мурманская', 'Нижегородская', 'Новгородская', - 'Новосибирская', 'Омская', 'Оренбургская', 'Орловская', 'Пензенская', - 'Псковская', 'Ростовская', 'Рязанская', 'Самарская', 'Саратовская', - 'Сахалинская', 'Свердловская', 'Смоленская', 'Тамбовская', 'Тверская', - 'Томская', 'Тульская', 'Тюменская', 'Ульяновская', 'Челябинская', - 'Ярославская', + "Амурская", + "Архангельская", + "Астраханская", + "Белгородская", + "Брянская", + "Владимирская", + "Волгоградская", + "Вологодская", + "Воронежская", + "Ивановская", + "Иркутская", + "Калининградская", + "Калужская", + "Кемеровская", + "Кировская", + "Костромская", + "Курганская", + "Курская", + "Ленинградская", + "Липецкая", + "Магаданская", + "Московская", + "Мурманская", + "Нижегородская", + "Новгородская", + "Новосибирская", + "Омская", + "Оренбургская", + "Орловская", + "Пензенская", + "Псковская", + "Ростовская", + "Рязанская", + "Самарская", + "Саратовская", + "Сахалинская", + "Свердловская", + "Смоленская", + "Тамбовская", + "Тверская", + "Томская", + "Тульская", + "Тюменская", + "Ульяновская", + "Челябинская", + "Ярославская", ) region_ao = ( - 'Еврейская', 'Ханты-Мансийский', 'Чукотский', 'Ямало-Ненецкий', 'Ненецкий', + "Еврейская", + "Ханты-Мансийский", + "Чукотский", + "Ямало-Ненецкий", + "Ненецкий", ) countries = ( - 'Австралия', 'Австрия', 'Азербайджан', 'Албания', - 'Алжир', 'Ангола', 'Андорра', 'Антигуа и Барбуда', - 'Аргентина', 'Армения', 'Афганистан', 'Багамские Острова', - 'Бангладеш', 'Барбадос', 'Бахрейн', 'Белоруссия', 'Белиз', - 'Бельгия', 'Бенин', 'Болгария', 'Боливия', 'Босния и Герцеговина', - 'Ботсвана', 'Бразилия', 'Бруней', 'Буркина-Фасо', 'Бурунди', - 'Бутан', 'Вануату', 'Великобритания', 'Венгрия', 'Венесуэла', - 'Восточный Тимор', 'Вьетнам', 'Габон', 'Гаити', 'Гайана', - 'Гамбия', 'Гана', 'Гватемала', 'Гвинея', 'Гвинея-Бисау', 'Германия', - 'Гондурас', 'Гренада', 'Греция', 'Грузия', 'Дания', 'Джибути', - 'Доминика', 'Доминиканская Республика', 'Египет', 'Замбия', - 'Зимбабве', 'Израиль', 'Индия', 'Индонезия', 'Иордания', - 'Ирак', 'Иран', 'Ирландия', 'Исландия', 'Испания', 'Италия', - 'Йемен', 'Кабо-Верде', 'Казахстан', 'Камбоджа', 'Камерун', - 'Канада', 'Катар', 'Кения', 'Кипр', 'Киргизия', 'Кирибати', - 'Китай', 'Колумбия', 'Коморы', 'Республика Конго', - 'Демократическая Республика Конго', 'КНДР', 'Республика Корея', - 'Коста-Рика', 'Кот-д’Ивуар', 'Куба', 'Кувейт', 'Лаос', 'Латвия', - 'Лесото', 'Либерия', 'Ливан', 'Ливия', 'Литва', 'Лихтенштейн', - 'Люксембург', 'Маврикий', 'Мавритания', 'Мадагаскар', 'Малави', - 'Малайзия', 'Мали', 'Мальдивы', 'Мальта', 'Марокко', 'Маршалловы Острова', - 'Мексика', 'Мозамбик', 'Молдавия', 'Монако', 'Монголия', 'Мьянма', - 'Намибия', 'Науру', 'Непал', 'Нигер', 'Нигерия', 'Нидерланды', - 'Никарагуа', 'Новая Зеландия', 'Норвегия', 'ОАЭ', 'Оман', 'Пакистан', - 'Палау', 'Панама', 'Папуа', 'Парагвай', 'Перу', 'Польша', 'Португалия', - 'Россия', 'Руанда', 'Румыния', 'Сальвадор', 'Самоа', 'Сан-Марино', - 'Сан-Томе и Принсипи', 'Саудовская Аравия', 'Северная Македония', - 'Сейшельские Острова', 'Сенегал', 'Сент-Винсент и Гренадины', - 'Сент-Китс и Невис', 'Сент-Люсия', 'Сербия', 'Сингапур', 'Сирия', - 'Словакия', 'Словения', 'США', 'Соломоновы Острова', 'Сомали', - 'Судан', 'Суринам', 'Сьерра-Леоне', 'Таджикистан', 'Таиланд', - 'Танзания', 'Того', 'Тонга', 'Тринидад и Тобаго', 'Тувалу', - 'Тунис', 'Туркмения', 'Турция', 'Уганда', 'Узбекистан', 'Украина', - 'Уругвай', 'Федеративные Штаты Микронезии', 'Фиджи', 'Филиппины', - 'Финляндия', 'Франция', 'Хорватия', 'Центральноафриканская Республика', - 'Чад', 'Черногория', 'Чехия', 'Чили', 'Швейцария', 'Швеция', - 'Шри-Ланка', 'Эквадор', 'Экваториальная Гвинея', 'Эритрея', - 'Эсватини', 'Эстония', 'Эфиопия', 'ЮАР', 'Южный Судан', 'Ямайка', 'Япония', + "Австралия", + "Австрия", + "Азербайджан", + "Албания", + "Алжир", + "Ангола", + "Андорра", + "Антигуа и Барбуда", + "Аргентина", + "Армения", + "Афганистан", + "Багамские Острова", + "Бангладеш", + "Барбадос", + "Бахрейн", + "Белоруссия", + "Белиз", + "Бельгия", + "Бенин", + "Болгария", + "Боливия", + "Босния и Герцеговина", + "Ботсвана", + "Бразилия", + "Бруней", + "Буркина-Фасо", + "Бурунди", + "Бутан", + "Вануату", + "Великобритания", + "Венгрия", + "Венесуэла", + "Восточный Тимор", + "Вьетнам", + "Габон", + "Гаити", + "Гайана", + "Гамбия", + "Гана", + "Гватемала", + "Гвинея", + "Гвинея-Бисау", + "Германия", + "Гондурас", + "Гренада", + "Греция", + "Грузия", + "Дания", + "Джибути", + "Доминика", + "Доминиканская Республика", + "Египет", + "Замбия", + "Зимбабве", + "Израиль", + "Индия", + "Индонезия", + "Иордания", + "Ирак", + "Иран", + "Ирландия", + "Исландия", + "Испания", + "Италия", + "Йемен", + "Кабо-Верде", + "Казахстан", + "Камбоджа", + "Камерун", + "Канада", + "Катар", + "Кения", + "Кипр", + "Киргизия", + "Кирибати", + "Китай", + "Колумбия", + "Коморы", + "Республика Конго", + "Демократическая Республика Конго", + "КНДР", + "Республика Корея", + "Коста-Рика", + "Кот-д’Ивуар", + "Куба", + "Кувейт", + "Лаос", + "Латвия", + "Лесото", + "Либерия", + "Ливан", + "Ливия", + "Литва", + "Лихтенштейн", + "Люксембург", + "Маврикий", + "Мавритания", + "Мадагаскар", + "Малави", + "Малайзия", + "Мали", + "Мальдивы", + "Мальта", + "Марокко", + "Маршалловы Острова", + "Мексика", + "Мозамбик", + "Молдавия", + "Монако", + "Монголия", + "Мьянма", + "Намибия", + "Науру", + "Непал", + "Нигер", + "Нигерия", + "Нидерланды", + "Никарагуа", + "Новая Зеландия", + "Норвегия", + "ОАЭ", + "Оман", + "Пакистан", + "Палау", + "Панама", + "Папуа", + "Парагвай", + "Перу", + "Польша", + "Португалия", + "Россия", + "Руанда", + "Румыния", + "Сальвадор", + "Самоа", + "Сан-Марино", + "Сан-Томе и Принсипи", + "Саудовская Аравия", + "Северная Македония", + "Сейшельские Острова", + "Сенегал", + "Сент-Винсент и Гренадины", + "Сент-Китс и Невис", + "Сент-Люсия", + "Сербия", + "Сингапур", + "Сирия", + "Словакия", + "Словения", + "США", + "Соломоновы Острова", + "Сомали", + "Судан", + "Суринам", + "Сьерра-Леоне", + "Таджикистан", + "Таиланд", + "Танзания", + "Того", + "Тонга", + "Тринидад и Тобаго", + "Тувалу", + "Тунис", + "Туркмения", + "Турция", + "Уганда", + "Узбекистан", + "Украина", + "Уругвай", + "Федеративные Штаты Микронезии", + "Фиджи", + "Филиппины", + "Финляндия", + "Франция", + "Хорватия", + "Центральноафриканская Республика", + "Чад", + "Черногория", + "Чехия", + "Чили", + "Швейцария", + "Швеция", + "Шри-Ланка", + "Эквадор", + "Экваториальная Гвинея", + "Эритрея", + "Эсватини", + "Эстония", + "Эфиопия", + "ЮАР", + "Южный Судан", + "Ямайка", + "Япония", ) - def city_prefix(self): + def city_prefix(self) -> str: return self.random_element(self.city_prefixes) - def city_name(self): + def city_name(self) -> str: return self.random_element(self.city_names) - def country(self): + def country(self) -> str: return self.random_element(self.countries) - def region(self): - regions_suffix = self.random_element(self.region_suffixes) - if regions_suffix == 'респ.': - return regions_suffix + ' ' + self.random_element(self.region_republics) - elif regions_suffix == 'край': - return self.random_element(self.region_krai) + ' ' + regions_suffix - elif regions_suffix == 'обл.': - return self.random_element(self.region_oblast) + ' ' + regions_suffix - elif regions_suffix == 'АО': - return self.random_element(self.region_ao) + ' ' + regions_suffix + def administrative_unit(self) -> str: + regions_suffix: str = self.random_element(self.region_suffixes) + if regions_suffix == "респ.": + return f"{regions_suffix} {self.random_element(self.region_republics)}" + elif regions_suffix == "край": + return f"{self.random_element(self.region_krai)} {regions_suffix}" + elif regions_suffix == "обл.": + return f"{self.random_element(self.region_oblast)} {regions_suffix}" + elif regions_suffix == "АО": + return f"{self.random_element(self.region_ao)} {regions_suffix}" + else: + raise ValueError(f'Unknown region "{regions_suffix}"') + + region = administrative_unit - def street_suffix(self): + def street_suffix(self) -> str: return self.random_element(self.street_suffixes) - def street_title(self): + def street_title(self) -> str: return self.random_element(self.street_titles + self.street_titles_noflex) - def street_name(self): + def street_name(self) -> str: suffix = self.street_suffix() street = self.street_title() stem = street[:-2] @@ -384,13 +1585,13 @@ def street_name(self): if street in self.street_titles_irregular_masc.keys(): result = self.street_titles_irregular_masc[street] else: - if stem.endswith('ск') or stem.endswith('цк'): - result = stem + 'ий' + if stem.endswith("ск") or stem.endswith("цк"): + result = stem + "ий" else: - result = stem + 'ый' + result = stem + "ый" elif suffix in self.street_suffixes_neu: if street in self.street_titles_irregular_neu.keys(): result = self.street_titles_irregular_neu[street] else: - result = stem + 'ое' - return suffix + ' ' + result + result = stem + "ое" + return f"{suffix} {result}" diff --git a/faker/providers/address/sk_SK/__init__.py b/faker/providers/address/sk_SK/__init__.py index 7a675d6fa8..814575f798 100644 --- a/faker/providers/address/sk_SK/__init__.py +++ b/faker/providers/address/sk_SK/__init__.py @@ -2,1158 +2,5265 @@ class Provider(AddressProvider): - city_formats = ('{{city_name}}', ) + city_formats = ("{{city_name}}",) - street_name_formats = ('{{street_name}}', ) - street_address_formats = ('{{street_name}} {{building_number}}', ) - address_formats = ('{{street_address}}\n{{postcode}} {{city}}', ) + street_name_formats = ("{{street_name}}",) + street_address_formats = ("{{street_name}} {{building_number}}",) + address_formats = ("{{street_address}}\n{{postcode}} {{city}}",) - building_number_formats = ('####', '###', '##', '#', '#/#') + building_number_formats = ("%", "%#", "%##") - street_suffixes_long = ('ulica', ) - street_suffixes_short = ('ul.', ) + street_suffixes_long = ("ulica", "trieda", "nábrežie", "námestie") + street_suffixes_short = ("ul.", "tr.", "nábr.", "nám.") - postcode_formats = ('### ##', ) + postcode_formats = ( + "8## ##", + "9## ##", + "0## ##", + ) cities = ( - 'Ábelová', 'Abovce', 'Abrahám', 'Abrahámovce', 'Abrahámovce', - 'Abramová', 'Abranovce', 'Adidovce', 'Alekšince', 'Andovce', - 'Andrejová', 'Ardanovce', 'Ardovo', 'Arnutovce', 'Báb', 'Babie', - 'Babín', 'Babiná', 'Babindol', 'Babinec', 'Bacúch', 'Bacúrov', 'Báč', - 'Bačka', 'Bačkov', 'Bačkovík', 'Badín', 'Baďan', 'Báhoň', 'Bajany', - 'Bajč', 'Bajerov', 'Bajerovce', 'Bajka', 'Bajtava', 'Baka', 'Baláže', - 'Baldovce', 'Balog nad Ipľom', 'Baloň', 'Banka', 'Bánov', - 'Bánovce nad Bebravou', 'Bánovce nad Ondavou', 'Banská Belá', - 'Banská Štiavnica', 'Banská Bystrica', 'Banské', 'Banský Studenec', - 'Baňa', 'Bara', 'Barca', 'Bartošovce', 'Bardoňovo', - 'Bartošova Lehôtka', 'Bardejov', 'Baška', 'Baškovce', 'Baškovce', - 'Bašovce', 'Batizovce', 'Bátorová', 'Bátka', 'Bátorove Kosihy', - 'Bátovce', 'Beharovce', 'Beckov', 'Becherov', 'Belá', 'Belá', - 'Belá - Dulice', 'Belá nad Cirochou', 'Beladice', 'Belejovce', 'Belín', - 'Belina', 'Belince', 'Bellova Ves', 'Beloveža', 'Beluj', 'Beluša', - 'Belža', 'Beniakovce', 'Benice', 'Benkovce', 'Beňadiková', - 'Beňadikovce', 'Beňadovo', 'Beňatina', 'Beňuš', 'Bernolákovo', - 'Bertotovce', 'Beša', 'Beša', 'Bešeňov', 'Bešeňová', 'Betlanovce', - 'Betliar', 'Bežovce', 'Bidovce', 'Biel', 'Bielovce', 'Biely Kostol', - 'Bijacovce', 'Bílkove Humence', 'Bíňa', 'Bíňovce', 'Biskupice', - 'Biskupová', 'Bitarová', 'Blahová', 'Blatná na Ostrove', - 'Blatná Polianka', 'Blatné', 'Blatné Remety', 'Blatné Revištia', - 'Blatnica', 'Blažice', 'Blažovce', 'Blesovce', 'Blhovce', 'Bobot', - 'Bobrov', 'Bobrovček', 'Bobrovec', 'Bobrovník', 'Bočiar', 'Bodíky', - 'Bodiná', 'Bodorová', 'Bodovce', 'Bodružal', 'Bodza', - 'Bodzianske Lúky', 'Bogliarka', 'Bohdanovce', 'Bohdanovce nad Trnavou', - 'Boheľov', 'Bohunice', 'Bohunice', 'Bohúňovo', 'Bojná', 'Bojnice', - 'Bojničky', 'Boldog', 'Boleráz', 'Bolešov', 'Boliarov', 'Boľ', - 'Boľkovce', 'Borcová', 'Borčany', 'Borčice', 'Borinka', 'Borová', - 'Borovce', 'Borský Mikuláš', 'Borský Svätý Jur', 'Borša', 'Bory', - 'Bošáca', 'Bošany', 'Bottovo', 'Boťany', 'Bôrka', 'Bracovce', 'Branč', - 'Branovo', 'Bratislava', 'Okres Bratislava II', 'Okres Bratislava III', - 'Okres Bratislava IV', 'Okres Bratislava V', 'Braväcovo', 'Brdárka', - 'Brehov', 'Brehy', 'Brekov', 'Brestov', 'Brestov', - 'Brestov nad Laborcom', 'Brestovany', 'Brestovec', 'Brestovec', - 'Bretejovce', 'Bretka', 'Breza', 'Brezany', 'Brezina', 'Breziny', - 'Breznica', 'Breznička', 'Breznička', 'Brezno', 'Brezolupy', 'Brezov', - 'Brezová pod Bradlom', 'Brezovec', 'Brezovica', 'Brezovica', - 'Brezovička', 'Brezovka', 'Brežany', 'Brhlovce', 'Brieštie', 'Brodské', - 'Brodzany', 'Brunovce', 'Brusnica', 'Brusník', 'Brusno', 'Brutovce', - 'Bruty', 'Brvnište', 'Brzotín', 'Buclovany', 'Búč', 'Bučany', 'Budča', - 'Budikovany', 'Budimír', 'Budiná', 'Budince', 'Budiš', 'Budkovce', - 'Budmerice', 'Buglovce', 'Buková', 'Bukovce', 'Bukovec', 'Bukovec', - 'Bukovina', 'Bulhary', 'Bunetice', 'Bunkovce', 'Bušince', 'Bušovce', - 'Buzica', 'Buzitka', 'Bystrá', 'Bystrá', 'Bystrany', 'Bystré', - 'Bystričany', 'Bystrička', 'Byšta', 'Bytča', 'Bzenica', 'Bzenov', - 'Bzince pod Javorinou', 'Bziny', 'Bzovík', 'Bzovská Lehôtka', 'Bžany', - 'Cabaj - Čápor', 'Cabov', 'Cakov', 'Cejkov', 'Cernina', 'Cerová', - 'Cerovo', 'Cestice', 'Cífer', 'Cigeľ', 'Cigeľka', 'Cigla', 'Cimenná', - 'Cinobaňa', 'Čabalovce', 'Čabiny', 'Čabradský Vrbovok', 'Čadca', - 'Čachtice', 'Čajkov', 'Čaka', 'Čakajovce', 'Čakanovce', 'Čakanovce', - 'Čakany', 'Čaklov', 'Čalovec', 'Čamovce', 'Čaňa', 'Čaradice', 'Čáry', - 'Častá', 'Častkov', 'Častkovce', 'Čata', 'Čataj', 'Čavoj', 'Čebovce', - 'Čečehov', 'Čečejovce', 'Čechy', 'Čechynce', 'Čekovce', 'Čeláre', - 'Čelkova Lehota', 'Čelovce', 'Čelovce', 'Čeľadice', 'Čeľadince', - 'Čeľovce', 'Čenkovce', 'Čerenčany', 'Čereňany', 'Čerhov', 'Čerín', - 'Čermany', 'Černík', 'Černina', 'Černochov', 'Čertižné', - 'Červená Voda', 'Červenica', 'Červenica pri Sabinove', 'Červeník', - 'Červený Hrádok', 'Červený Kameň', 'Červený Kláštor', 'Červeňany', - 'České Brezovo', 'Čičarovce', 'Čičava', 'Čičmany', 'Číčov', 'Čierna', - 'Čierna Lehota', 'Čierna Lehota', 'Čierna nad Tisou', 'Čierna Voda', - 'Čierne', 'Čierne Kľačany', 'Čierne nad Topľou', 'Čierne Pole', - 'Čierny Balog', 'Čierny Brod', 'Čierny Potok', 'Čifáre', - 'Čiližská Radvaň', 'Čimhová', 'Čirč', 'Číž', 'Čižatice', 'Čoltovo', - 'Čremošné', 'Čučma', 'Čukalovce', 'Dačov Lom', 'Daletice', 'Danišovce', - 'Dargov', 'Davidov', 'Debraď', 'Dedačov', 'Dedina Mládeže', 'Dedinka', - 'Dedinky', 'Dechtice', 'Dekýš', 'Demandice', 'Demänovská Dolina', - 'Demjata', 'Detrík', 'Detva', 'Detvianska Huta', 'Devičany', 'Devičie', - 'Dežerice', 'Diaková', 'Diakovce', 'Diviacka Nová Ves', - 'Diviaky nad Nitricou', 'Divín', 'Divina', 'Divinka', 'Dlhá', - 'Dlhá nad Kysucou', 'Dlhá nad Oravou', 'Dlhá nad Váhom', 'Dlhá Ves', - 'Dlhé Klčovo', 'Dlhé nad Cirochou', 'Dlhé Pole', 'Dlhé Stráže', - 'Dlhoňa', 'Dlžín', 'Dobrá', 'Dobrá Niva', 'Dobrá Voda', 'Dobroč', - 'Dobrohošť', 'Dobroslava', 'Dobšiná', 'Dohňany', 'Dojč', 'Dolinka', - 'Dolná Breznica', 'Dolná Krupá', 'Dolná Lehota', 'Dolná Mariková', - 'Dolná Mičiná', 'Dolná Poruba', 'Dolná Seč', 'Dolná Streda', - 'Dolná Strehová', 'Dolná Súča', 'Dolná Tižina', 'Dolná Trnávka', - 'Dolná Ves', 'Dolná Ždaňa', 'Dolné Dubové', 'Dolné Kočkovce', - 'Dolné Lefantovce', 'Dolné Lovčice', 'Dolné Mladonice', - 'Dolné Naštice', 'Dolné Obdokovce', 'Dolné Orešany', 'Dolné Otrokovce', - 'Dolné Plachtince', 'Dolné Saliby', 'Dolné Semerovce', 'Dolné Srnie', - 'Dolné Strháre', 'Dolné Trhovište', 'Dolné Vestenice', 'Dolné Zahorany', - 'Dolné Zelenice', 'Dolný Badín', 'Dolný Bar', 'Dolný Harmanec', - 'Dolný Hričov', 'Dolný Chotár', 'Dolný Kalník', 'Dolný Kubín', - 'Dolný Lieskov', 'Dolný Lopašov', 'Dolný Ohaj', 'Dolný Pial', - 'Dolný Štál', 'Dolný Vadičov', 'Doľany', 'Doľany', 'Domadice', - 'Domaníky', 'Domaniža', 'Domaňovce', 'Donovaly', 'Drábsko', 'Drahňov', - 'Drahovce', 'Dravce', 'Dražice', 'Dražkovce', 'Drážovce', 'Drienčany', - 'Drienica', 'Drienov', 'Drienovec', 'Drienovo', 'Drienovská Nová Ves', - 'Drietoma', 'Drnava', 'Drňa', 'Družstevná pri Hornáde', 'Drženice', - 'Držkovce', 'Dubinné', 'Dubnica nad Váhom', 'Dubnička', 'Dubník', - 'Dubno', 'Dubodiel', 'Dubová', 'Dubová', 'Dubovany', 'Dubovce', - 'Dubové', 'Dubové', 'Dubovec', 'Dubovica', 'Dúbrava', 'Dúbrava', - 'Dúbrava', 'Dúbravica', 'Dúbravka', 'Dúbravy', 'Ducové', 'Dudince', - 'Dukovce', 'Dulov', 'Dulova Ves', 'Dulovce', 'Dulovo', - 'Dunajská Lužná', 'Dunajov', 'Dunajská Streda', 'Dunajský Klátov', - 'Duplín', 'Dvorany nad Nitrou', 'Dvorec', 'Dvorianky', 'Dvorníky', - 'Dvorníky - Včeláre', 'Dvory nad Žitavou', 'Ďačov', 'Ďanová', - 'Ďapalovce', 'Ďubákovo', 'Ďurčiná', 'Ďurďoš', 'Ďurďošík', 'Ďurďové', - 'Ďurkov', 'Ďurková', 'Ďurkovce', 'Egreš', 'Fačkov', 'Falkušovce', - 'Farná', 'Fekišovce', 'Figa', 'Fijaš', 'Fiľakovo', 'Fiľakovské Kováče', - 'Fintice', 'Folkušová', 'Forbasy', 'Frička', 'Fričkovce', 'Fričovce', - 'Fulianka', 'Gabčíkovo', 'Gaboltov', 'Gajary', 'Galanta', 'Galovany', - 'Gánovce', 'Gáň', 'Gbelce', 'Gbely', 'Gbeľany', 'Geča', 'Gelnica', - 'Gemer', 'Gemerček', 'Gemerská Hôrka', 'Gemerská Panica', - 'Gemerská Poloma', 'Gemerská Ves', 'Gemerské Dechtáre', - 'Gemerské Michalovce', 'Gemerské Teplice', 'Gemerský Jablonec', - 'Gemerský Sad', 'Geraltov', 'Gerlachov', 'Gerlachov', 'Giglovce', - 'Giraltovce', 'Girovce', 'Glabušovce', 'Gočaltovo', 'Gočovo', - 'Golianovo', 'Gortva', 'Gôtovany', 'Granč - Petrovce', - 'Gregorova Vieska', 'Gregorovce', 'Gribov', 'Gruzovce', 'Gyňov', - 'Habovka', 'Habura', 'Hačava', 'Háj', 'Háj', 'Hajná Nová Ves', - 'Hajnáčka', 'Hájske', 'Hajtovka', 'Haláčovce', 'Halič', 'Haligovce', - 'Haluzice', 'Hamuliakovo', 'Handlová', 'Hanigovce', 'Haniska', - 'Haniska', 'Hanková', 'Hankovce', 'Hankovce', 'Hanušovce nad Topľou', - 'Harakovce', 'Harhaj', 'Harichovce', 'Harmanec', 'Hatalov', 'Hatné', - 'Havaj', 'Havka', 'Havranec', 'Hažín', 'Hažín nad Cirochou', 'Hažlín', - 'Helcmanovce', 'Heľpa', 'Henckovce', 'Henclová', 'Hencovce', - 'Hendrichovce', 'Herľany', 'Hermanovce', 'Hermanovce nad Topľou', - 'Hertník', 'Hervartov', 'Hiadeľ', 'Hincovce', 'Hladovka', 'Hlboké', - 'Hliník nad Hronom', 'Hlinné', 'Hlivištia', 'Hlohovec', 'Hniezdne', - 'Hnilčík', 'Hnilec', 'Hnojné', 'Hnúšťa', 'Hodejov', 'Hodejovec', - 'Hodkovce', 'Hodruša - Hámre', 'Hokovce', 'Holčíkovce', 'Holiare', - 'Holice', 'Holíč', 'Holiša', 'Holumnica', 'Honce', 'Hontianska Vrbica', - 'Hontianske Moravce', 'Hontianske Nemce', 'Hontianske Tesáre', - 'Hontianske Trsťany', 'Horná Breznica', 'Horná Kráľová', 'Horná Krupá', - 'Horná Lehota', 'Horná Lehota', 'Horná Mariková', 'Horná Mičiná', - 'Horná Poruba', 'Horná Potôň', 'Horná Seč', 'Horná Streda', - 'Horná Strehová', 'Horná Súča', 'Horná Štubňa', 'Horná Ves', - 'Horná Ves', 'Horná Ždaňa', 'Horné Dubové', 'Horné Hámre', - 'Horné Chlebany', 'Horné Lefantovce', 'Horné Mladonice', 'Horné Mýto', - 'Horné Naštice', 'Horné Obdokovce', 'Horné Orešany', 'Horné Otrokovce', - 'Horné Plachtince', 'Horné Pršany', 'Horné Saliby', 'Horné Semerovce', - 'Horné Srnie', 'Horné Strháre', 'Horné Štitáre', 'Horné Trhovište', - 'Horné Turovce', 'Horné Vestenice', 'Horné Zahorany', 'Horné Zelenice', - 'Horný Badín', 'Horný Bar', 'Horný Hričov', 'Horný Kalník', - 'Horný Lieskov', 'Horný Pial', 'Horný Tisovník', 'Horný Vadičov', - 'Horňa', 'Horňany', 'Horovce', 'Horovce', 'Hoste', 'Hostice', 'Hostie', - 'Hostišovce', 'Hostovice', 'Hosťová', 'Hosťovce', 'Hosťovce', - 'Hozelec', 'Hôrka', 'Hôrka nad Váhom', 'Hôrky', 'Hrabičov', 'Hrabkov', - 'Hrabová Roztoka', 'Hrabovčík', 'Hrabovec', 'Hrabovec nad Laborcom', - 'Hrabské', 'Hrabušice', 'Hradisko', 'Hradište', 'Hradište', - 'Hradište pod Vrátnom', 'Hrádok', 'Hrachovište', 'Hrachovo', - 'Hraničné', 'Hranovnica', 'Hraň', 'Hrašné', 'Hrašovík', 'Hrčeľ', - 'Hrhov', 'Hriadky', 'Hričovské Podhradie', 'Hriňová', 'Hrišovce', - 'Hrkovce', 'Hrlica', 'Hrnčiarovce nad Parnou', 'Hrnčiarska Ves', - 'Hrnčiarske Zalužany', 'Hrochoť', 'Hromoš', 'Hronec', 'Hronovce', - 'Hronsek', 'Hronská Breznica', 'Hronská Dúbrava', 'Hronské Kľačany', - 'Hronské Kosihy', 'Hronský Beňadik', 'Hrubá Borša', 'Hruboňovo', - 'Hrubov', 'Hrubý Šúr', 'Hrušov', 'Hrušov', 'Hrušovany', 'Hrušovo', - 'Hruštín', 'Hubice', 'Hubina', 'Hubošovce', 'Hubová', 'Hubovo', - 'Hucín', 'Hudcovce', 'Hul', 'Humenné', 'Huncovce', 'Hunkovce', - 'Hurbanova Ves', 'Hurbanovo', 'Husák', 'Husiná', 'Hutka', 'Huty', - 'Hviezdoslavov', 'Hvozdnica', 'Hybe', 'Hýľov', 'Chanava', 'Chlebnice', - 'Chlmec', 'Chľaba', 'Chmeľnica', 'Chmeľov', 'Chmeľová', 'Chmeľovec', - 'Chminianska Nová Ves', 'Chminianske Jakubovany', 'Chmiňany', 'Choča', - 'Chocholná - Velčice', 'Choňkovce', 'Chorvátsky Grob', 'Chorváty', - 'Chotča', 'Chotín', 'Chrabrany', 'Chrámec', 'Chrastince', 'Chrastné', - 'Chrasť nad Hornádom', 'Chrenovec - Brusno', 'Chropov', 'Chrťany', - 'Chtelnica', 'Chudá Lehota', 'Chvalová', 'Chvojnica', 'Chvojnica', - 'Chynorany', 'Chyžné', 'Igram', 'Ihľany', 'Ihráč', 'Ilava', 'Iliašovce', - 'Ilija', 'Imeľ', 'Inovce', 'Iňa', 'Iňačovce', 'Ipeľské Predmostie', - 'Ipeľské Úľany', 'Ipeľský Sokolec', 'Istebné', 'Ivachnová', 'Ivančiná', - 'Ivanice', 'Ivanka pri Dunaji', 'Ivanka pri Nitre', 'Ivanovce', 'Iža', - 'Ižipovce', 'Ižkovce', 'Jablonec', 'Jablonica', 'Jablonka', 'Jablonov', - 'Jablonov nad Turňou', 'Jablonové', 'Jablonové', 'Jabloň', 'Jabloňovce', - 'Jacovce', 'Jahodná', 'Jaklovce', 'Jakovany', 'Jakubany', 'Jakubov', - 'Jakubova Voľa', 'Jakubovany', 'Jakubovany', 'Jakušovce', 'Jalová', - 'Jalovec', 'Jalovec', 'Jalšové', 'Jalšovík', 'Jamník', 'Jamník', - 'Janice', 'Janík', 'Janíky', 'Jankovce', 'Janov', 'Janova Lehota', - 'Janovce', 'Jánovce', 'Jánovce', 'Janovík', 'Jarabá', 'Jarabina', - 'Jarok', 'Jarovnice', 'Jasenica', 'Jasenie', 'Jasenov', 'Jasenov', - 'Jasenová', 'Jasenovce', 'Jasenové', 'Jasenovo', 'Jaslovské Bohunice', - 'Jasov', 'Jasová', 'Jastrabá', 'Jastrabie nad Topľou', - 'Jastrabie pri Michalovciach', 'Jatov', 'Javorina (vojenský obvod)', - 'Jazernica', 'Jedlinka', 'Jedľové Kostoľany', 'Jelenec', 'Jelka', - 'Jelšava', 'Jelšovce', 'Jelšovec', 'Jenkovce', 'Jesenské', 'Jesenské', - 'Jestice', 'Ješkova Ves', 'Jezersko', 'Jovice', 'Jovsa', - 'Jur nad Hronom', 'Jurkova Voľa', 'Jurová', 'Jurské', 'Juskova Voľa', - 'Kačanov', 'Kajal', 'Kalameny', 'Kalinkovo', 'Kalinov', 'Kalinovo', - 'Kalná nad Hronom', 'Kalná Roztoka', 'Kálnica', 'Kalnište', 'Kalonda', - 'Kalša', 'Kaloša', 'Kaluža', 'Kaľamenová', 'Kaľava', 'Kamanová', - 'Kamenec pod Vtáčnikom', 'Kamenica', 'Kamenica nad Cirochou', - 'Kamenica nad Hronom', 'Kameničany', 'Kameničná', 'Kamenín', - 'Kamenná Poruba', 'Kamenná Poruba', 'Kamenné Kosihy', 'Kamenný Most', - 'Kameňany', 'Kamienka', 'Kamienka', 'Kanianka', 'Kapišová', 'Kaplna', - 'Kapušany', 'Kapušianske Kľačany', 'Karlová', 'Karná', 'Kašov', - 'Kátlovce', 'Kátov', 'Kazimír', 'Kecerovce', 'Kecerovský Lipovec', - 'Kečkovce', 'Kečovo', 'Kechnec', 'Kendice', 'Kesovce', 'Keť', - 'Kežmarok', 'Kiarov', 'Kladzany', 'Klasov', 'Kláštor pod Znievom', - 'Klátova Nová Ves', 'Klčov', 'Klenov', 'Klenová', 'Klenovec', - 'Kleňany', 'Klieština', 'Klin', 'Klin nad Bodrogom', 'Klížska Nemá', - 'Klokoč', 'Klokočov', 'Klokočov', 'Klubina', 'Kluknava', 'Kľačany', - 'Kľače', 'Kľačno', 'Kľak', 'Kľúčovec', 'Kľušov', 'Kmeťovo', - 'Kobeliarovo', 'Kobylnice', 'Kobyly', 'Koceľovce', 'Kociha', - 'Kocurany', 'Kočín - Lančár', 'Kočovce', 'Kochanovce', 'Kochanovce', - 'Kojatice', 'Kojšov', 'Kokava nad Rimavicou', 'Kokošovce', - 'Kokšov - Bakša', 'Kolačkov', 'Kolačno', 'Koláre', 'Kolárovice', - 'Kolárovo', 'Kolbasov', 'Kolbovce', 'Kolibabovce', 'Kolinovce', - 'Kolíňany', 'Kolonica', 'Kolta', 'Komárany', 'Komárno', 'Komárov', - 'Komárovce', 'Komjatice', 'Komjatná', 'Komoča', 'Koniarovce', - 'Konrádovce', 'Konská', 'Konská', 'Koňuš', 'Kopčany', 'Kopernica', - 'Koplotovce', 'Koprivnica', 'Kordíky', 'Korejovce', 'Korňa', 'Koromľa', - 'Korunková', 'Korytárky', 'Korytné', 'Kosihovce', 'Kosihy nad Ipľom', - 'Kosorín', 'Kostolec', 'Kostolište', 'Kostolná pri Dunaji', - 'Kostolná Ves', 'Kostolná - Záriečie', 'Kostolné', 'Kostolné Kračany', - 'Kostoľany pod Tribečom', 'Koš', 'Košariská', 'Košarovce', 'Košeca', - 'Košecké Podhradie', 'Košice', 'Okres Košice II', 'Okres Košice III', - 'Okres Košice IV', 'Košická Belá', 'Košická Polianka', - 'Košické Oľšany', 'Košický Klečenov', 'Koškovce', 'Košolná', 'Košúty', - 'Košťany nad Turcom', 'Kotešová', 'Kotmanová', 'Kotrčiná Lúčka', - 'Kováčová', 'Kováčová', 'Kováčovce', 'Koválov', 'Koválovec', 'Kovarce', - 'Kozárovce', 'Kozelník', 'Kozí Vrbovok', 'Kožany', 'Kožuchov', - 'Kožuchovce', 'Kračúnovce', 'Krahule', 'Krajná Bystrá', 'Krajná Poľana', - 'Krajná Porúbka', 'Krajné', 'Krajné Čierno', 'Krakovany', 'Králiky', - 'Kráľ', 'Kráľov Brod', 'Kráľova Lehota', 'Kráľová nad Váhom', - 'Kráľová pri Senci', 'Kraľovany', 'Kráľovce', 'Kráľovce - Krnišov', - 'Kráľovičove Kračany', 'Kráľovský Chlmec', 'Kraskovo', 'Krásna Lúka', - 'Krásna Ves', 'Krásno', 'Krásno nad Kysucou', 'Krásnohorská Dlhá Lúka', - 'Krásnohorské Podhradie', 'Krásnovce', 'Krásny Brod', 'Krasňany', - 'Kravany', 'Kravany', 'Kravany nad Dunajom', 'Krčava', 'Kremná', - 'Kremnica', 'Kremnické Bane', 'Kristy', 'Krišľovce', - 'Krišovská Liesková', 'Krivá', 'Krivany', 'Kriváň', 'Krivé', - 'Krivoklát', 'Krivosúd - Bodovka', 'Kríže', 'Krížová Ves', 'Krížovany', - 'Križovany nad Dudváhom', 'Krná', 'Krnča', 'Krokava', 'Krompachy', - 'Krpeľany', 'Krškany', 'Krtovce', 'Kručov', 'Krupina', 'Krušetnica', - 'Krušinec', 'Krušovce', 'Kružlov', 'Kružlová', 'Kružná', 'Kružno', - 'Kšinná', 'Kubáňovo', 'Kučín', 'Kučín', 'Kuchyňa', 'Kuklov', 'Kuková', - 'Kukučínov', 'Kunerad', 'Kunešov', 'Kunova Teplica', 'Kuraľany', - 'Kurima', 'Kurimany', 'Kurimka', 'Kurov', 'Kusín', 'Kútniky', 'Kúty', - 'Kuzmice', 'Kuzmice', 'Kvačany', 'Kvačany', 'Kvakovce', 'Kvašov', - 'Kvetoslavov', 'Kyjatice', 'Kyjov', 'Kynceľová', 'Kysak', 'Kyselica', - 'Kysta', 'Kysucké Nové Mesto', 'Kysucký Lieskovec', 'Láb', 'Lackov', - 'Lacková', 'Lada', 'Ladce', 'Ladice', 'Ladmovce', 'Ladomerská Vieska', - 'Ladomirov', 'Ladomirová', 'Ladzany', 'Lakšárska Nová Ves', 'Lascov', - 'Laskár', 'Lastomír', 'Lastovce', 'Laškovce', 'Látky', 'Lazany', - 'Lazisko', 'Lazy pod Makytou', 'Lažany', 'Lednica', 'Lednické Rovne', - 'Legnava', 'Lehnice', 'Lehota', 'Lehota nad Rimavicou', - 'Lehota pod Vtáčnikom', 'Lehôtka', 'Lehôtka pod Brehmi', 'Lechnica', - 'Lekárovce', 'Leles', 'Leľa', 'Lemešany', 'Lenartov', 'Lenartovce', - 'Lendak', 'Lenka', 'Lentvora', 'Leopoldov', 'Lesenice', 'Lesíček', - 'Lesné', 'Lesnica', 'Leštiny', 'Lešť (vojenský obvod)', 'Letanovce', - 'Letničie', 'Leváre', 'Levice', 'Levkuška', 'Levoča', 'Ležiachov', - 'Libichava', 'Licince', 'Ličartovce', 'Liesek', 'Lieskovany', - 'Lieskovec', 'Lieskovec', 'Liešno', 'Liešťany', 'Lietava', - 'Lietavská Lúčka', 'Lietavská Svinná - Babkov', 'Likavka', 'Limbach', - 'Lipany', 'Lipník', 'Lipníky', 'Lipová', 'Lipová', 'Lipovany', - 'Lipovce', 'Lipové', 'Lipovec', 'Lipovec', 'Lipovník', 'Lipovník', - 'Liptovská Anna', 'Liptovská Kokava', 'Liptovská Lúžna', - 'Liptovská Osada', 'Liptovská Porúbka', 'Liptovská Sielnica', - 'Liptovská Štiavnica', 'Liptovská Teplá', 'Liptovská Teplička', - 'Liptovské Beharovce', 'Liptovské Kľačany', 'Liptovské Matiašovce', - 'Liptovské Revúce', 'Liptovské Sliače', 'Liptovský Hrádok', - 'Liptovský Ján', 'Liptovský Michal', 'Liptovský Mikuláš', - 'Liptovský Ondrej', 'Liptovský Peter', 'Liptovský Trnovec', 'Lisková', - 'Lišov', 'Litava', 'Litmanová', 'Livina', 'Livinské Opatovce', 'Livov', - 'Livovská Huta', 'Lodno', 'Lok', 'Lokca', 'Lom nad Rimavicou', 'Lomná', - 'Lomné', 'Lomnička', 'Lontov', 'Lopašov', 'Lopúchov', 'Lopušné Pažite', - 'Lošonec', 'Lovce', 'Lovča', 'Lovčica - Trubín', 'Lovinobaňa', - 'Lozorno', 'Ložín', 'Lubeník', 'Lubina', 'Lúč na Ostrove', 'Lučatín', - 'Lučenec', 'Lúčina', 'Lučivná', 'Lúčka', 'Lúčka', 'Lúčka', 'Lúčka', - 'Lúčky', 'Lúčky', 'Lúčky', 'Lúčnica nad Žitavou', 'Ludanice', - 'Ludrová', 'Luhyňa', 'Lúka', 'Lukačovce', 'Lukáčovce', 'Lukavica', - 'Lukavica', 'Lukov', 'Lukovištia', 'Lúky', 'Lula', 'Lupoč', 'Lutila', - 'Lutiše', 'Lužany', 'Lužany pri Topli', 'Lužianky', 'Lysá pod Makytou', - 'Lysica', 'Ľubá', 'Ľubela', 'Ľubica', 'Ľubietová', 'Ľubiša', 'Ľubochňa', - 'Ľuboreč', 'Ľuboriečka', 'Ľubotice', 'Ľubotín', 'Ľubovec', 'Ľudovítová', - 'Ľutina', 'Ľutov', 'Macov', 'Mad', 'Madunice', 'Magnezitovce', - 'Machulince', 'Majcichov', 'Majere', 'Majerovce', 'Makov', 'Makovce', - 'Malacky', 'Malachov', 'Malá Čalomija', 'Malá Čausa', 'Malá Čierna', - 'Malá Domaša', 'Malá Franková', 'Malá Hradná', 'Malá Ida', - 'Malá Lehota', 'Malá Lodina', 'Malá nad Hronom', 'Malá Poľana', - 'Malá Tŕňa', 'Málaš', 'Malatiná', 'Malatíny', 'Malcov', 'Malčice', - 'Malé Borové', 'Malé Dvorníky', 'Malé Chyndice', 'Malé Hoste', - 'Malé Kosihy', 'Malé Kozmálovce', 'Malé Kršteňany', 'Malé Lednice', - 'Malé Leváre', 'Malé Ludince', 'Malé Ozorovce', 'Malé Raškovce', - 'Malé Ripňany', 'Malé Straciny', 'Malé Trakany', 'Malé Uherce', - 'Malé Vozokany', 'Malé Zálužie', 'Malé Zlievce', 'Málinec', 'Malinová', - 'Malinovo', 'Malužiná', 'Malý Cetín', 'Malý Čepčín', 'Malý Horeš', - 'Malý Kamenec', 'Malý Krtíš', 'Malý Lapáš', 'Malý Lipník', - 'Malý Slavkov', 'Malý Slivník', 'Malý Šariš', 'Malženice', 'Mankovce', - 'Maňa', 'Marcelová', 'Margecany', 'Marhaň', 'Marianka', 'Markovce', - 'Markuška', 'Markušovce', 'Maršová - Rašov', 'Martin', - 'Martin nad Žitavou', 'Martinček', 'Martinová', 'Martovce', 'Mašková', - 'Maškovce', 'Matejovce nad Hornádom', 'Matiaška', 'Matiašovce', - 'Matovce', 'Matúškovo', 'Matysová', 'Maťovské Vojkovce', 'Medovarce', - 'Medvedie', 'Medveďov', 'Medzany', 'Medzev', 'Medzianky', 'Medzibrod', - 'Medzibrodie nad Oravou', 'Medzilaborce', 'Melčice - Lieskové', 'Melek', - 'Meliata', 'Mengusovce', 'Merašice', 'Merník', 'Mestečko', 'Mestisko', - 'Mičakovce', 'Mierovo', 'Miezgovce', 'Michajlov', 'Michal na Ostrove', - 'Michal nad Žitavou', 'Michalková', 'Michalok', 'Michalová', - 'Michalovce', 'Michaľany', 'Miklušovce', 'Miková', 'Mikulášová', - 'Mikušovce', 'Mikušovce', 'Milhosť', 'Miloslavov', 'Milpoš', 'Miňovce', - 'Mirkovce', 'Miroľa', 'Mládzovo', 'Mlynárovce', 'Mlynčeky', 'Mlynica', - 'Mlynky', 'Mníchova Lehota', 'Mníšek nad Hnilcom', - 'Mníšek nad Popradom', 'Moča', 'Močenok', 'Močiar', 'Modra', - 'Modra nad Cirochou', 'Modrany', 'Modrová', 'Modrovka', 'Modrý Kameň', - 'Mojmírovce', 'Mojš', 'Mojtín', 'Mojzesovo', 'Mokrá Lúka', 'Mokrance', - 'Mokroluh', 'Mokrý Háj', 'Moldava nad Bodvou', 'Moravany', - 'Moravany nad Váhom', 'Moravské Lieskové', 'Moravský Svätý Ján', - 'Most pri Bratislave', 'Mostová', 'Moškovec', 'Mošovce', 'Moštenica', - 'Mošurov', 'Motešice', 'Motyčky', 'Môlča', 'Mrázovce', 'Mučín', - 'Mudroňovo', 'Mudrovce', 'Muľa', 'Muráň', 'Muránska Dlhá Lúka', - 'Muránska Huta', 'Muránska Lehota', 'Muránska Zdychava', 'Mútne', - 'Mužla', 'Myjava', 'Myslina', 'Mýtna', 'Mýtne Ludany', - 'Mýto pod Ďumbierom', 'Nacina Ves', 'Nadlice', 'Naháč', 'Nálepkovo', - 'Námestovo', 'Nána', 'Nandraž', 'Necpaly', 'Nedanovce', 'Nedašovce', - 'Neded', 'Nededza', 'Nedožery - Brezany', 'Nechválova Polianka', - 'Nemce', 'Nemcovce', 'Nemcovce', 'Nemčice', 'Nemčiňany', 'Nemecká', - 'Nemečky', 'Nemešany', 'Nemšová', 'Nenince', 'Neporadza', 'Neporadza', - 'Nesvady', 'Nesluša', 'Neverice', 'Nevidzany', 'Nevidzany', 'Nevoľné', - 'Nezbudská Lúčka', 'Nimnica', 'Nitra', 'Nitra nad Ipľom', - 'Nitrianska Blatnica', 'Nitrianska Streda', 'Nitrianske Hrnčiarovce', - 'Nitrianske Pravno', 'Nitrianske Rudno', 'Nitrianske Sučany', 'Nitrica', - 'Nižná', 'Nižná', 'Nižná Boca', 'Nižná Hutka', 'Nižná Jablonka', - 'Nižná Jedľová', 'Nižná Kamenica', 'Nižná Myšľa', 'Nižná Olšava', - 'Nižná Pisaná', 'Nižná Polianka', 'Nižná Rybnica', 'Nižná Sitnica', - 'Nižná Slaná', 'Nižná Voľa', 'Nižné Ladičkovce', 'Nižné Nemecké', - 'Nižné Repaše', 'Nižné Ružbachy', 'Nižný Čaj', 'Nižný Hrabovec', - 'Nižný Hrušov', 'Nižný Klátov', 'Nižný Komárnik', 'Nižný Kručov', - 'Nižný Lánec', 'Nižný Mirošov', 'Nižný Orlík', 'Nižný Skálnik', - 'Nižný Slavkov', 'Nižný Tvarožec', 'Nižný Žipov', 'Nolčovo', 'Norovce', - 'Nová Baňa', 'Nová Bašta', 'Nová Bošáca', 'Nová Bystrica', - 'Nová Dedina', 'Nová Dedinka', 'Nová Dubnica', 'Nová Kelča', - 'Nová Lehota', 'Nová Lesná', 'Nová Ľubovňa', 'Nová Polhora', - 'Nová Polianka', 'Nová Sedlica', 'Nová Ves', 'Nová Ves nad Váhom', - 'Nová Ves nad Žitavou', 'Nová Vieska', 'Nováčany', 'Nováky', 'Nové Hony', - 'Nové Mesto nad Váhom', 'Nové Sady', 'Nové Zámky', 'Novosad', 'Novoť', - 'Nový Ruskov', 'Nový Salaš', 'Nový Tekov', 'Nový Život', 'Nýrovce', - 'Ňagov', 'Ňárad', 'Obeckov', 'Obišovce', 'Oborín', 'Obručné', 'Obyce', - 'Očkov', 'Očová', 'Odorín', 'Ohrady', 'Ohradzany', 'Ochodnica', - 'Ochtiná', 'Okoč', 'Okoličná na Ostrove', 'Okrúhle', 'Okružná', - 'Olcnava', 'Olejníkov', 'Olešná', 'Olováry', 'Olšovany', 'Oľdza', - 'Oľka', 'Oľšavce', 'Oľšavica', 'Oľšavka', 'Oľšavka', 'Oľšinkov', - 'Oľšov', 'Omastiná', 'Omšenie', 'Ondavka', 'Ondavské Matiašovce', - 'Ondrašovce', 'Ondrašová', 'Ondrejovce', 'Opátka', 'Opatovce', - 'Opatovce nad Nitrou', 'Opatovská Nová Ves', 'Opava', 'Opiná', 'Opoj', - 'Oponice', 'Oravce', 'Orávka', 'Oravská Jasenica', 'Oravská Lesná', - 'Oravská Polhora', 'Oravská Poruba', 'Oravský Biely Potok', - 'Oravský Podzámok', 'Ordzovany', 'Orechová', 'Orechová Potôň', - 'Oravské Veselé', 'Oreské', 'Oreské', 'Orešany', 'Orlov', 'Orovnica', - 'Ortuťová', 'Osádka', 'Osadné', 'Osikov', 'Oslany', 'Osrblie', - 'Ostrá Lúka', 'Ostratice', 'Ostrov', 'Ostrov', 'Ostrovany', - 'Ostrý Grúň', 'Osturňa', 'Osuské', 'Oščadnica', 'Otrhánky', 'Otročok', - 'Ovčiarsko', 'Ovčie', 'Ozdín', 'Ožďany', 'Pača', 'Padáň', 'Padarovce', - 'Pakostov', 'Palárikovo', 'Palín', 'Palota', 'Panické Dravce', 'Paňa', - 'Paňovce', 'Papín', 'Papradno', 'Parchovany', 'Parihuzovce', 'Párnica', - 'Partizánska Ľupča', 'Partizánske', 'Pastovce', 'Pastuchov', 'Pašková', - 'Paština Závada', 'Pata', 'Pataš', 'Pavčina Lehota', 'Pavlice', - 'Pavlová', 'Pavlova Ves', 'Pavlovce', 'Pavlovce', 'Pavlovce nad Uhom', - 'Pavľany', 'Pažiť', 'Pčoliné', 'Pečenice', 'Pečeňady', 'Pečeňany', - 'Pečovská Nová Ves', 'Peder', 'Perín - Chym', 'Pernek', 'Petkovce', - 'Petrikovce', 'Petrová', 'Petrova Lehota', 'Petrova Ves', 'Petrovany', - 'Petrovce', 'Petrovce', 'Petrovce', 'Petrovce nad Laborcom', - 'Petrovice', 'Petrovo', 'Pezinok', 'Piešťany', 'Pichne', 'Píla', - 'Píla', 'Píla', 'Pinciná', 'Pinkovce', 'Piskorovce', 'Pitelová', - 'Plášťovce', 'Plavé Vozokany', 'Plavecké Podhradie', 'Plavecký Mikuláš', - 'Plavecký Peter', 'Plavecký Štvrtok', 'Plaveč', 'Plavnica', - 'Plechotice', 'Pleš', 'Plešivec', 'Plevník - Drienové', 'Pliešovce', - 'Ploské', 'Ploské', 'Pobedim', 'Počarová', 'Počúvadlo', 'Podbiel', - 'Podbranč', 'Podbrezová', 'Podhájska', 'Podhorany', 'Podhorany', - 'Podhorany', 'Podhorie', 'Podhorie', 'Podhoroď', 'Podhradie', - 'Podhradie', 'Podhradie', 'Podhradík', 'Podkonice', 'Podkriváň', - 'Podkylava', 'Podlužany', 'Podlužany', 'Podolie', 'Podolínec', - 'Podrečany', 'Podskalie', 'Podtureň', 'Podvysoká', 'Podzámčok', - 'Pohorelá', 'Pohranice', 'Pohronská Polhora', 'Pohronský Bukovec', - 'Pohronský Ruskov', 'Pochabany', 'Pokryváč', 'Poliakovce', 'Polianka', - 'Polichno', 'Polina', 'Poloma', 'Polomka', 'Poltár', 'Poluvsie', - 'Poľanovce', 'Poľany', 'Poľný Kesov', 'Pongrácovce', 'Poniky', - 'Poprad', 'Poproč', 'Poproč', 'Popudinské Močidľany', 'Poráč', - 'Poriadie', 'Porostov', 'Poruba', 'Poruba pod Vihorlatom', 'Porúbka', - 'Porúbka', 'Porúbka', 'Porúbka', 'Poša', 'Potok', 'Potok', 'Potoky', - 'Potôčky', 'Potvorice', 'Považany', 'Považská Bystrica', 'Povina', - 'Povoda', 'Povrazník', 'Pozba', 'Pozdišovce', 'Pôtor', 'Praha', - 'Prakovce', 'Prašice', 'Prašník', 'Pravenec', 'Pravica', 'Pravotice', - 'Práznovce', 'Prečín', 'Predajná', 'Predmier', 'Prenčov', 'Preseľany', - 'Prestavlky', 'Prešov', 'Príbelce', 'Pribeník', 'Pribeta', 'Pribiš', - 'Príbovce', 'Pribylina', 'Priechod', 'Priekopa', 'Priepasné', - 'Prietrž', 'Prietržka', 'Prievaly', 'Prievidza', 'Prihradzany', - 'Príkra', 'Príslop', 'Prituľany', 'Proč', 'Prochot', 'Prosačov', - 'Prosiek', 'Prša', 'Pruské', 'Prusy', 'Pružina', 'Pstriná', 'Ptičie', - 'Ptrukša', 'Pucov', 'Púchov', 'Pukanec', 'Pusté Čemerné', 'Pusté Pole', - 'Pusté Sady', 'Pusté Úľany', 'Pušovce', 'Rabča', 'Rabčice', 'Rad', - 'Radatice', 'Radava', 'Radimov', 'Radnovce', 'Radobica', 'Radoľa', - 'Radoma', 'Radošina', 'Radošovce', 'Radošovce', 'Radôstka', - 'Radvanovce', 'Radvaň nad Dunajom', 'Radvaň nad Laborcom', 'Radzovce', - 'Rafajovce', 'Rajčany', 'Rajec', 'Rajecká Lesná', 'Rajecké Teplice', - 'Rákoš', 'Rákoš', 'Raková', 'Rakovčík', 'Rakovec nad Ondavou', - 'Rakovice', 'Rakovnica', 'Rakovo', 'Rakša', 'Rakúsy', 'Rakytník', - 'Rankovce', 'Rapovce', 'Raslavice', 'Rastislavice', 'Rašice', 'Ratka', - 'Ratková', 'Ratkovce', 'Ratkovo', 'Ratkovská Lehota', 'Ratkovská Suchá', - 'Ratkovské Bystré', 'Ratnovce', 'Ratvaj', 'Ráztočno', 'Ráztoka', - 'Ražňany', 'Reca', 'Regetovka', 'Rejdová', 'Reľov', 'Remeniny', - 'Remetské Hámre', 'Renčišov', 'Repejov', 'Repište', 'Rešica', 'Rešov', - 'Revúca', 'Revúcka Lehota', 'Riečka', 'Riečka', 'Richnava', 'Richvald', - 'Rimavská Baňa', 'Rimavská Seč', 'Rimavská Sobota', 'Rimavské Brezovo', - 'Rimavské Janovce', 'Rimavské Zalužany', 'Rohov', 'Rohovce', 'Rohožník', - 'Rohožník', 'Rochovce', 'Rokycany', 'Rokytov', 'Rokytov pri Humennom', - 'Rokytovce', 'Rosina', 'Roškovce', 'Roštár', 'Rovensko', 'Rovinka', - 'Rovné', 'Rovné', 'Rovné', 'Rovňany', 'Rozhanovce', 'Rozložná', - 'Roztoky', 'Rožkovany', 'Rožňava', 'Rožňavské Bystré', 'Rúbaň', - 'Rudina', 'Rudinka', 'Rudinská', 'Rudlov', 'Rudná', 'Rudnianska Lehota', - 'Rudník', 'Rudník', 'Rudno', 'Rudno nad Hronom', 'Rudňany', 'Rumanová', - 'Rumince', 'Runina', 'Ruská', 'Ruská Bystrá', 'Ruská Kajňa', - 'Ruská Nová Ves', 'Ruská Poruba', 'Ruská Volová', 'Ruská Voľa', - 'Ruská Voľa nad Popradom', 'Ruskov', 'Ruskovce', 'Ruskovce', - 'Ruský Hrabovec', 'Ruský Potok', 'Ružiná', 'Ružindol', 'Ružomberok', - 'Rybany', 'Rybky', 'Rybník', 'Rybník', 'Rykynčice', 'Sabinov', - 'Sačurov', 'Sádočné', 'Sady nad Torysou', 'Salka', 'Santovka', 'Sap', - 'Sása', 'Sása', 'Sasinkovo', 'Sazdice', 'Sebedín - Bečov', 'Sebedražie', - 'Sebechleby', 'Seč', 'Sečianky', 'Sečovce', 'Sečovská Polianka', - 'Sedliacka Dubová', 'Sedliská', 'Sedmerovec', 'Sejkov', 'Sekule', - 'Selce', 'Selce', 'Selce', 'Selec', 'Selice', 'Seľany', 'Semerovo', - 'Senec', 'Seniakovce', 'Senica', 'Senné', 'Senné', 'Senohrad', 'Seňa', - 'Sereď', 'Sielnica', 'Sihelné', 'Sihla', 'Sikenica', 'Sikenička', - 'Siladice', 'Silica', 'Silická Brezová', 'Silická Jablonica', 'Sirk', - 'Sirník', 'Skačany', 'Skalica', 'Skalité', 'Skalka nad Váhom', 'Skároš', - 'Skerešovo', 'Sklabiná', 'Sklabinský Podzámok', 'Sklabiňa', 'Sklené', - 'Sklené Teplice', 'Skrabské', 'Skýcov', 'Sládkovičovo', 'Slančík', - 'Slanec', 'Slanská Huta', 'Slanské Nové Mesto', 'Slaská', 'Slatina', - 'Slatina nad Bebravou', 'Slatinka nad Bebravou', 'Slatinské Lazy', - 'Slatvina', 'Slavec', 'Slavkovce', 'Slavnica', 'Slavoška', 'Slavošovce', - 'Slepčany', 'Sliač', 'Sliepkovce', 'Slizké', 'Slivník', 'Slopná', - 'Slovany', 'Slovenská Kajňa', 'Slovenská Ľupča', 'Slovenská Nová Ves', - 'Slovenská Ves', 'Slovenská Volová', 'Slovenské Ďarmoty', - 'Slovenské Kľačany', 'Slovenské Krivé', 'Slovenské Nové Mesto', - 'Slovenské Pravno', 'Slovenský Grob', 'Slovinky', 'Sľažany', 'Smilno', - 'Smižany', 'Smolenice', 'Smolinské', 'Smolnícka Huta', 'Smolník', - 'Smrdáky', 'Smrečany', 'Snakov', 'Snežnica', 'Snina', 'Socovce', - 'Soblahov', 'Soboš', 'Sobotište', 'Sobrance', 'Sokolce', 'Sokolovce', - 'Sokoľ', 'Sokoľany', 'Solčany', 'Solčianky', 'Sološnica', 'Soľ', - 'Soľnička', 'Soľník', 'Somotor', 'Sopkovce', 'Spišská Belá', - 'Spišská Nová Ves', 'Spišská Stará Ves', 'Spišská Teplica', - 'Spišské Bystré', 'Spišské Hanušovce', 'Spišské Podhradie', - 'Spišské Tomášovce', 'Spišské Vlachy', 'Spišský Hrhov', 'Spišský Hrušov', - 'Spišský Štiavnik', 'Spišský Štvrtok', 'Stakčín', 'Stakčínska Roztoka', - 'Stanča', 'Stankovany', 'Stankovce', 'Stará Bašta', 'Stará Bystrica', - 'Stará Halič', 'Stará Huta', 'Stará Kremnička', 'Stará Lehota', - 'Stará Lesná', 'Stará Ľubovňa', 'Stará Myjava', 'Stará Turá', - 'Stará Voda', 'Staré', 'Staré Hory', 'Starina', 'Starý Hrádok', - 'Starý Tekov', 'Staškov', 'Staškovce', 'Stebnícka Huta', 'Stebník', - 'Stožok', 'Stráne pod Tatrami', 'Stránska', 'Stránske', 'Stráňany', - 'Stráňavy', 'Stratená', 'Stráža', 'Strážne', 'Strážske', 'Strečno', - 'Streda nad Bodrogom', 'Stredné Plachtince', 'Strekov', 'Strelníky', - 'Stretava', 'Stretavka', 'Streženice', 'Strihovce', 'Stročín', - 'Stropkov', 'Studená', 'Studenec', 'Studienka', 'Stuľany', 'Stupava', - 'Stupné', 'Sučany', 'Sudince', 'Súdovce', 'Suchá Dolina', 'Suchá Hora', - 'Suchá nad Parnou', 'Sucháň', 'Suché', 'Suché Brezovo', 'Suchohrad', - 'Sukov', 'Sulín', 'Súlovce', 'Súľov - Hradná', 'Sušany', 'Sútor', - 'Svätá Mária', 'Svätoplukovo', 'Svätuš', 'Svätuše', 'Svätý Anton', - 'Svätý Jur', 'Svätý Kríž', 'Svätý Peter', 'Svederník', 'Sverepec', - 'Sveržov', 'Svetlice', 'Svidnička', 'Svidník', 'Svinia', 'Svinica', - 'Svinice', 'Svinná', 'Svit', 'Svodín', 'Svrbice', 'Svrčinovec', 'Šahy', - 'Šajdíkove Humence', 'Šalgovce', 'Šalgočka', 'Šalov', 'Šaľa', 'Šambron', - 'Šamorín', 'Šamudovce', 'Šandal', 'Šarbov', 'Šarišská Poruba', - 'Šarišská Trstená', 'Šarišské Bohdanovce', 'Šarišské Čierne', - 'Šarišské Dravce', 'Šarišské Jastrabie', 'Šarišské Michaľany', - 'Šarišské Sokolovce', 'Šarišský Štiavnik', 'Šarkan', 'Šarovce', - 'Šašová', 'Šaštín - Stráže', 'Šávoľ', 'Šelpice', 'Šemetkovce', 'Šemša', - 'Šenkvice', 'Šiatorská Bukovinka', 'Šiba', 'Šíd', 'Šimonovce', - 'Šindliar', 'Šintava', 'Šípkov', 'Šípkové', 'Širákov', 'Širkovce', - 'Široké', 'Šišov', 'Šivetice', 'Šmigovec', 'Šoltýska', 'Šoporňa', - 'Špačince', 'Špania Dolina', 'Španie Pole', 'Šrobárová', 'Štefanov', - 'Štefanov nad Oravou', 'Štefanová', 'Štefanovce', 'Štefanovce', - 'Štefanovičová', 'Štefurov', 'Šterusy', 'Štiavnické Bane', - 'Štiavnička', 'Štiavnik', 'Štítnik', 'Štós', 'Štôla', 'Štrba', - 'Štrkovec', 'Štúrovo', 'Štvrtok', 'Štvrtok na Ostrove', 'Šuľa', - 'Šumiac', 'Šuňava', 'Šurany', 'Šurianky', 'Šurice', 'Šúrovce', - 'Šútovo', 'Šútovce', 'Švábovce', 'Švedlár', 'Švošov', 'Tachty', - 'Tajná', 'Tajov', 'Tarnov', 'Tatranská Javorina', 'Tašuľa', 'Tehla', - 'Tekolďany', 'Tekovská Breznica', 'Tekovské Lužany', 'Tekovské Nemce', - 'Tekovský Hrádok', 'Telgárt', 'Telince', 'Temeš', 'Teplička', - 'Teplička nad Váhom', 'Tepličky', 'Teplý Vrch', 'Terany', 'Terchová', - 'Teriakovce', 'Terňa', 'Tesáre', 'Tesárske Mlyňany', 'Tešedíkovo', - 'Tibava', 'Tichý Potok', 'Timoradza', 'Tisinec', 'Tisovec', 'Tlmače', - 'Točnica', 'Tokajík', 'Tomášikovo', 'Tomášov', 'Tomášovce', - 'Tomášovce', 'Topoľa', 'Topoľčany', 'Topoľčianky', 'Topoľnica', - 'Topoľníky', 'Topoľovka', 'Toporec', 'Tornaľa', 'Torysa', 'Torysky', - 'Tovarné', 'Tovarnianska Polianka', 'Tovarníky', 'Tôň', 'Trakovice', - 'Trávnica', 'Trávnik', 'Trebatice', 'Trebejov', 'Trebeľovce', - 'Trebichava', 'Trebišov', 'Trebostovo', 'Trebušovce', 'Trenč', - 'Trenčianska Teplá', 'Trenčianska Turná', 'Trenčianske Bohuslavice', - 'Trenčianske Jastrabie', 'Trenčianske Mitice', 'Trenčianske Stankovce', - 'Trenčianske Teplice', 'Trenčín', 'Trhová Hradská', 'Trhovište', - 'Trnava', 'Trnavá Hora', 'Trnava pri Laborci', 'Trnávka', 'Trnávka', - 'Trnkov', 'Trnovec', 'Trnovec nad Váhom', 'Trnovo', 'Tročany', 'Trpín', - 'Trstená', 'Trstená na Ostrove', 'Trstené', 'Trstené pri Hornáde', - 'Trstice', 'Trstín', 'Trsťany', 'Tŕnie', 'Tuhár', 'Tuhrina', 'Tuchyňa', - 'Tulčík', 'Tupá', 'Turá', 'Turany', 'Turany nad Ondavou', 'Turcovce', - 'Turček', 'Turčianky', 'Turčianska Štiavnička', 'Turčianske Jaseno', - 'Turčianske Kľačany', 'Turčianske Teplice', 'Turčiansky Ďur', - 'Turčiansky Peter', 'Turčok', 'Turecká', 'Tureň', 'Turie', 'Turík', - 'Turnianska Nová Ves', 'Turňa nad Bodvou', 'Turová', 'Turzovka', - 'Tušice', 'Tušická Nová Ves', 'Tužina', 'Tvarožná', 'Tvrdomestice', - 'Tvrdošín', 'Tvrdošovce', 'Ťapešovo', 'Ubľa', 'Úbrež', 'Udavské', - 'Udiča', 'Údol', 'Uhliská', 'Úhorná', 'Uhorská Ves', 'Uhorské', - 'Uhrovec', 'Uhrovské Podhradie', 'Ulič', 'Uličské Krivé', 'Uloža', - 'Úľany nad Žitavou', 'Unín', 'Uňatín', 'Urmince', 'Utekáč', 'Uzovce', - 'Uzovská Panica', 'Uzovské Pekľany', 'Uzovský Šalgov', 'Vaďovce', - 'Vagrinec', 'Váhovce', 'Vajkovce', 'Valaliky', 'Valaská', - 'Valaská Belá', 'Valaská Dubová', 'Valaškovce (vojenský obvod)', - 'Valča', 'Valentovce', 'Valice', 'Valkovce', 'Vaľkovňa', 'Vaniškovce', - 'Vápeník', 'Varadka', 'Varechovce', 'Varhaňovce', 'Varín', 'Vasiľov', - 'Vavrečka', 'Vavrinec', 'Vavrišovo', 'Važec', 'Vechec', 'Velčice', - 'Veličná', 'Velušovce', 'Veľaty', 'Veľká Čausa', 'Veľká Čierna', - 'Veľká Dolina', 'Veľká Franková', 'Veľká Hradná', 'Veľká Ida', - 'Veľká Lesná', 'Veľká Lodina', 'Veľká Lomnica', 'Veľká Mača', - 'Veľká Paka', 'Veľká Tŕňa', 'Veľké Bierovce', 'Veľké Blahovo', - 'Veľké Borové', 'Veľké Držkovce', 'Veľké Dvorany', 'Veľké Dvorníky', - 'Veľké Hoste', 'Veľké Chlievany', 'Veľké Chyndice', 'Veľké Kapušany', - 'Veľké Kosihy', 'Veľké Kostoľany', 'Veľké Kozmálovce', 'Veľké Kršteňany', - 'Veľké Leváre', 'Veľké Lovce', 'Veľké Ludince', 'Veľké Orvište', - 'Veľké Ozorovce', 'Veľké Raškovce', 'Veľké Revištia', 'Veľké Ripňany', - 'Veľké Rovné', 'Veľké Slemence', 'Veľké Trakany', 'Veľké Turovce', - 'Veľké Uherce', 'Veľké Úľany', 'Veľké Vozokany', 'Veľké Zálužie', - 'Veľkrop', 'Veľký Biel', 'Veľký Cetín', 'Veľký Čepčín', 'Veľký Ďur', - 'Veľký Folkmar', 'Veľký Grob', 'Veľký Horeš', 'Veľký Kamenec', - 'Veľký Klíž', 'Veľký Krtíš', 'Veľký Kýr', 'Veľký Lapáš', 'Veľký Lipník', - 'Veľký Meder', 'Veľký Slavkov', 'Veľký Slivník', 'Veľký Šariš', - 'Veľopolie', 'Vernár', 'Veselé', 'Veterná Poruba', 'Vieska', 'Vieska', - 'Vieska nad Žitavou', 'Vikartovce', 'Vinica', 'Viničky', 'Viničné', - 'Vinné', 'Vinodol', 'Vinohrady nad Váhom', 'Vinosady', 'Virt', - 'Vislanka', 'Vislava', 'Visolaje', 'Višňov', 'Višňové', 'Višňové', - 'Vištuk', 'Vitanová', 'Vítkovce', 'Víťaz', 'Víťazovce', 'Vlača', - 'Vladiča', 'Vlachovo', 'Vlachy', 'Vlčany', 'Vlčkovce', 'Vlkas', - 'Vlková', 'Vlkovce', 'Vlky', 'Voderady', 'Vojany', 'Vojčice', 'Vojka', - 'Vojka nad Dunajom', 'Vojkovce', 'Vojnatina', 'Vojňany', 'Vojtovce', - 'Volica', 'Volkovce', 'Voľa', 'Vozokany', 'Vozokany', 'Vráble', - 'Vrádište', 'Vrakúň', 'Vranov nad Topľou', 'Vrbnica', 'Vrbov', - 'Vrbovce', 'Vrbová nad Váhom', 'Vrbové', 'Vrchteplá', 'Vrícko', - 'Vršatské Podhradie', 'Vrútky', 'Vtáčkovce', 'Výborná', - 'Výčapy - Opatovce', 'Vydrany', 'Vydrná', 'Vydrník', 'Východná', - 'Výrava', 'Vysočany', 'Vysoká', 'Vysoká', 'Vysoká nad Kysucou', - 'Vysoká nad Uhom', 'Vysoká pri Morave', 'Vysoké Tatry', 'Vyškovce', - 'Vyškovce nad Ipľom', 'Vyšná Boca', 'Vyšná Hutka', 'Vyšná Jablonka', - 'Vyšná Jedľová', 'Vyšná Kamenica', 'Vyšná Myšľa', 'Vyšná Olšava', - 'Vyšná Pisaná', 'Vyšná Polianka', 'Vyšná Rybnica', 'Vyšná Sitnica', - 'Vyšná Slaná', 'Vyšná Šebastová', 'Vyšná Voľa', 'Vyšné Ladičkovce', - 'Vyšné nad Hronom', 'Vyšné Nemecké', 'Vyšné Remety', 'Vyšné Repaše', - 'Vyšné Ružbachy', 'Vyšný Čaj', 'Vyšný Hrabovec', 'Vyšný Hrušov', - 'Vyšný Kazimír', 'Vyšný Klátov', 'Vyšný Komárnik', 'Vyšný Kručov', - 'Vyšný Kubín', 'Vyšný Mirošov', 'Vyšný Orlík', 'Vyšný Slavkov', - 'Vyšný Tvarožec', 'Vyšný Žipov', 'Zábiedovo', 'Záborie', 'Záborské', - 'Zádiel', 'Záhor', 'Záhorie (vojenský obvod)', 'Záhorská Ves', - 'Záhradné', 'Zákamenné', 'Zákopčie', 'Zalaba', 'Zálesie', 'Zálesie', - 'Zalužice', 'Zamarovce', 'Zámutov', 'Záriečie', 'Záskalie', 'Zatín', - 'Závada', 'Závada', 'Závadka', 'Závadka', 'Závadka', 'Zavar', - 'Závažná Poruba', 'Závod', 'Zázrivá', 'Zbehňov', 'Zbehy', 'Zboj', - 'Zbojné', 'Zborov', 'Zborov nad Bystricou', 'Zbrojníky', - 'Zbudská Belá', 'Zbudské Dlhé', 'Zbudza', 'Zbyňov', 'Zeleneč', - 'Zemianska Olča', 'Zemianske Kostoľany', 'Zemianske Podhradie', - 'Zemianske Sady', 'Zemné', 'Zemplín', 'Zemplínska Nová Ves', - 'Zemplínska Široká', 'Zemplínska Teplica', 'Zemplínske Hámre', - 'Zemplínske Hradište', 'Zemplínske Jastrabie', 'Zemplínske Kopčany', - 'Zemplínsky Branč', 'Zlatá Baňa', 'Zlatá Idka', 'Zlaté', 'Zlaté Klasy', - 'Zlaté Moravce', 'Zlatná na Ostrove', 'Zlatník', 'Zlatníky', 'Zlatno', - 'Zlatno', 'Zliechov', 'Zohor', 'Zubák', 'Zuberec', 'Zubné', - 'Zubrohlava', 'Zvolen', 'Zvončín', 'Žabokreky', 'Žabokreky nad Nitrou', - 'Žakarovce', 'Žakovce', 'Žalobín', 'Žarnov', 'Žarnovica', 'Žaškov', - 'Žbince', 'Ždaňa', 'Ždiar', 'Žehňa', 'Žehra', 'Železník', 'Želiezovce', - 'Želmanovce', 'Žemberovce', 'Žemliare', 'Žiar', 'Žiar', - 'Žiar nad Hronom', 'Žihárec', 'Žikava', 'Žilina', 'Žipov', 'Žirany', - 'Žitavany', 'Žitavce', 'Žitná - Radiša', 'Žlkovce', 'Župčany', + "Ábelová", + "Abovce", + "Abrahám", + "Abrahámovce", + "Abrahámovce", + "Abramová", + "Abranovce", + "Adidovce", + "Alekšince", + "Andovce", + "Andrejová", + "Ardanovce", + "Ardovo", + "Arnutovce", + "Báb", + "Babie", + "Babín", + "Babiná", + "Babindol", + "Babinec", + "Bacúch", + "Bacúrov", + "Báč", + "Bačka", + "Bačkov", + "Bačkovík", + "Badín", + "Baďan", + "Báhoň", + "Bajany", + "Bajč", + "Bajerov", + "Bajerovce", + "Bajka", + "Bajtava", + "Baka", + "Baláže", + "Baldovce", + "Balog nad Ipľom", + "Baloň", + "Banka", + "Bánov", + "Bánovce nad Bebravou", + "Bánovce nad Ondavou", + "Banská Belá", + "Banská Štiavnica", + "Banská Bystrica", + "Banské", + "Banský Studenec", + "Baňa", + "Bara", + "Barca", + "Bartošovce", + "Bardoňovo", + "Bartošova Lehôtka", + "Bardejov", + "Baška", + "Baškovce", + "Baškovce", + "Bašovce", + "Batizovce", + "Bátorová", + "Bátka", + "Bátorove Kosihy", + "Bátovce", + "Beharovce", + "Beckov", + "Becherov", + "Belá", + "Belá", + "Belá - Dulice", + "Belá nad Cirochou", + "Beladice", + "Belejovce", + "Belín", + "Belina", + "Belince", + "Bellova Ves", + "Beloveža", + "Beluj", + "Beluša", + "Belža", + "Beniakovce", + "Benice", + "Benkovce", + "Beňadiková", + "Beňadikovce", + "Beňadovo", + "Beňatina", + "Beňuš", + "Bernolákovo", + "Bertotovce", + "Beša", + "Beša", + "Bešeňov", + "Bešeňová", + "Betlanovce", + "Betliar", + "Bežovce", + "Bidovce", + "Biel", + "Bielovce", + "Biely Kostol", + "Bijacovce", + "Bílkove Humence", + "Bíňa", + "Bíňovce", + "Biskupice", + "Biskupová", + "Bitarová", + "Blahová", + "Blatná na Ostrove", + "Blatná Polianka", + "Blatné", + "Blatné Remety", + "Blatné Revištia", + "Blatnica", + "Blažice", + "Blažovce", + "Blesovce", + "Blhovce", + "Bobot", + "Bobrov", + "Bobrovček", + "Bobrovec", + "Bobrovník", + "Bočiar", + "Bodíky", + "Bodiná", + "Bodorová", + "Bodovce", + "Bodružal", + "Bodza", + "Bodzianske Lúky", + "Bogliarka", + "Bohdanovce", + "Bohdanovce nad Trnavou", + "Boheľov", + "Bohunice", + "Bohunice", + "Bohúňovo", + "Bojná", + "Bojnice", + "Bojničky", + "Boldog", + "Boleráz", + "Bolešov", + "Boliarov", + "Boľ", + "Boľkovce", + "Borcová", + "Borčany", + "Borčice", + "Borinka", + "Borová", + "Borovce", + "Borský Mikuláš", + "Borský Svätý Jur", + "Borša", + "Bory", + "Bošáca", + "Bošany", + "Bottovo", + "Boťany", + "Bôrka", + "Bracovce", + "Branč", + "Branovo", + "Bratislava", + "Okres Bratislava II", + "Okres Bratislava III", + "Okres Bratislava IV", + "Okres Bratislava V", + "Braväcovo", + "Brdárka", + "Brehov", + "Brehy", + "Brekov", + "Brestov", + "Brestov", + "Brestov nad Laborcom", + "Brestovany", + "Brestovec", + "Brestovec", + "Bretejovce", + "Bretka", + "Breza", + "Brezany", + "Brezina", + "Breziny", + "Breznica", + "Breznička", + "Breznička", + "Brezno", + "Brezolupy", + "Brezov", + "Brezová pod Bradlom", + "Brezovec", + "Brezovica", + "Brezovica", + "Brezovička", + "Brezovka", + "Brežany", + "Brhlovce", + "Brieštie", + "Brodské", + "Brodzany", + "Brunovce", + "Brusnica", + "Brusník", + "Brusno", + "Brutovce", + "Bruty", + "Brvnište", + "Brzotín", + "Buclovany", + "Búč", + "Bučany", + "Budča", + "Budikovany", + "Budimír", + "Budiná", + "Budince", + "Budiš", + "Budkovce", + "Budmerice", + "Buglovce", + "Buková", + "Bukovce", + "Bukovec", + "Bukovec", + "Bukovina", + "Bulhary", + "Bunetice", + "Bunkovce", + "Bušince", + "Bušovce", + "Buzica", + "Buzitka", + "Bystrá", + "Bystrá", + "Bystrany", + "Bystré", + "Bystričany", + "Bystrička", + "Byšta", + "Bytča", + "Bzenica", + "Bzenov", + "Bzince pod Javorinou", + "Bziny", + "Bzovík", + "Bzovská Lehôtka", + "Bžany", + "Cabaj - Čápor", + "Cabov", + "Cakov", + "Cejkov", + "Cernina", + "Cerová", + "Cerovo", + "Cestice", + "Cífer", + "Cigeľ", + "Cigeľka", + "Cigla", + "Cimenná", + "Cinobaňa", + "Čabalovce", + "Čabiny", + "Čabradský Vrbovok", + "Čadca", + "Čachtice", + "Čajkov", + "Čaka", + "Čakajovce", + "Čakanovce", + "Čakanovce", + "Čakany", + "Čaklov", + "Čalovec", + "Čamovce", + "Čaňa", + "Čaradice", + "Čáry", + "Častá", + "Častkov", + "Častkovce", + "Čata", + "Čataj", + "Čavoj", + "Čebovce", + "Čečehov", + "Čečejovce", + "Čechy", + "Čechynce", + "Čekovce", + "Čeláre", + "Čelkova Lehota", + "Čelovce", + "Čelovce", + "Čeľadice", + "Čeľadince", + "Čeľovce", + "Čenkovce", + "Čerenčany", + "Čereňany", + "Čerhov", + "Čerín", + "Čermany", + "Černík", + "Černina", + "Černochov", + "Čertižné", + "Červená Voda", + "Červenica", + "Červenica pri Sabinove", + "Červeník", + "Červený Hrádok", + "Červený Kameň", + "Červený Kláštor", + "Červeňany", + "České Brezovo", + "Čičarovce", + "Čičava", + "Čičmany", + "Číčov", + "Čierna", + "Čierna Lehota", + "Čierna Lehota", + "Čierna nad Tisou", + "Čierna Voda", + "Čierne", + "Čierne Kľačany", + "Čierne nad Topľou", + "Čierne Pole", + "Čierny Balog", + "Čierny Brod", + "Čierny Potok", + "Čifáre", + "Čiližská Radvaň", + "Čimhová", + "Čirč", + "Číž", + "Čižatice", + "Čoltovo", + "Čremošné", + "Čučma", + "Čukalovce", + "Dačov Lom", + "Daletice", + "Danišovce", + "Dargov", + "Davidov", + "Debraď", + "Dedačov", + "Dedina Mládeže", + "Dedinka", + "Dedinky", + "Dechtice", + "Dekýš", + "Demandice", + "Demänovská Dolina", + "Demjata", + "Detrík", + "Detva", + "Detvianska Huta", + "Devičany", + "Devičie", + "Dežerice", + "Diaková", + "Diakovce", + "Diviacka Nová Ves", + "Diviaky nad Nitricou", + "Divín", + "Divina", + "Divinka", + "Dlhá", + "Dlhá nad Kysucou", + "Dlhá nad Oravou", + "Dlhá nad Váhom", + "Dlhá Ves", + "Dlhé Klčovo", + "Dlhé nad Cirochou", + "Dlhé Pole", + "Dlhé Stráže", + "Dlhoňa", + "Dlžín", + "Dobrá", + "Dobrá Niva", + "Dobrá Voda", + "Dobroč", + "Dobrohošť", + "Dobroslava", + "Dobšiná", + "Dohňany", + "Dojč", + "Dolinka", + "Dolná Breznica", + "Dolná Krupá", + "Dolná Lehota", + "Dolná Mariková", + "Dolná Mičiná", + "Dolná Poruba", + "Dolná Seč", + "Dolná Streda", + "Dolná Strehová", + "Dolná Súča", + "Dolná Tižina", + "Dolná Trnávka", + "Dolná Ves", + "Dolná Ždaňa", + "Dolné Dubové", + "Dolné Kočkovce", + "Dolné Lefantovce", + "Dolné Lovčice", + "Dolné Mladonice", + "Dolné Naštice", + "Dolné Obdokovce", + "Dolné Orešany", + "Dolné Otrokovce", + "Dolné Plachtince", + "Dolné Saliby", + "Dolné Semerovce", + "Dolné Srnie", + "Dolné Strháre", + "Dolné Trhovište", + "Dolné Vestenice", + "Dolné Zahorany", + "Dolné Zelenice", + "Dolný Badín", + "Dolný Bar", + "Dolný Harmanec", + "Dolný Hričov", + "Dolný Chotár", + "Dolný Kalník", + "Dolný Kubín", + "Dolný Lieskov", + "Dolný Lopašov", + "Dolný Ohaj", + "Dolný Pial", + "Dolný Štál", + "Dolný Vadičov", + "Doľany", + "Doľany", + "Domadice", + "Domaníky", + "Domaniža", + "Domaňovce", + "Donovaly", + "Drábsko", + "Drahňov", + "Drahovce", + "Dravce", + "Dražice", + "Dražkovce", + "Drážovce", + "Drienčany", + "Drienica", + "Drienov", + "Drienovec", + "Drienovo", + "Drienovská Nová Ves", + "Drietoma", + "Drnava", + "Drňa", + "Družstevná pri Hornáde", + "Drženice", + "Držkovce", + "Dubinné", + "Dubnica nad Váhom", + "Dubnička", + "Dubník", + "Dubno", + "Dubodiel", + "Dubová", + "Dubová", + "Dubovany", + "Dubovce", + "Dubové", + "Dubové", + "Dubovec", + "Dubovica", + "Dúbrava", + "Dúbrava", + "Dúbrava", + "Dúbravica", + "Dúbravka", + "Dúbravy", + "Ducové", + "Dudince", + "Dukovce", + "Dulov", + "Dulova Ves", + "Dulovce", + "Dulovo", + "Dunajská Lužná", + "Dunajov", + "Dunajská Streda", + "Dunajský Klátov", + "Duplín", + "Dvorany nad Nitrou", + "Dvorec", + "Dvorianky", + "Dvorníky", + "Dvorníky - Včeláre", + "Dvory nad Žitavou", + "Ďačov", + "Ďanová", + "Ďapalovce", + "Ďubákovo", + "Ďurčiná", + "Ďurďoš", + "Ďurďošík", + "Ďurďové", + "Ďurkov", + "Ďurková", + "Ďurkovce", + "Egreš", + "Fačkov", + "Falkušovce", + "Farná", + "Fekišovce", + "Figa", + "Fijaš", + "Fiľakovo", + "Fiľakovské Kováče", + "Fintice", + "Folkušová", + "Forbasy", + "Frička", + "Fričkovce", + "Fričovce", + "Fulianka", + "Gabčíkovo", + "Gaboltov", + "Gajary", + "Galanta", + "Galovany", + "Gánovce", + "Gáň", + "Gbelce", + "Gbely", + "Gbeľany", + "Geča", + "Gelnica", + "Gemer", + "Gemerček", + "Gemerská Hôrka", + "Gemerská Panica", + "Gemerská Poloma", + "Gemerská Ves", + "Gemerské Dechtáre", + "Gemerské Michalovce", + "Gemerské Teplice", + "Gemerský Jablonec", + "Gemerský Sad", + "Geraltov", + "Gerlachov", + "Gerlachov", + "Giglovce", + "Giraltovce", + "Girovce", + "Glabušovce", + "Gočaltovo", + "Gočovo", + "Golianovo", + "Gortva", + "Gôtovany", + "Granč - Petrovce", + "Gregorova Vieska", + "Gregorovce", + "Gribov", + "Gruzovce", + "Gyňov", + "Habovka", + "Habura", + "Hačava", + "Háj", + "Háj", + "Hajná Nová Ves", + "Hajnáčka", + "Hájske", + "Hajtovka", + "Haláčovce", + "Halič", + "Haligovce", + "Haluzice", + "Hamuliakovo", + "Handlová", + "Hanigovce", + "Haniska", + "Haniska", + "Hanková", + "Hankovce", + "Hankovce", + "Hanušovce nad Topľou", + "Harakovce", + "Harhaj", + "Harichovce", + "Harmanec", + "Hatalov", + "Hatné", + "Havaj", + "Havka", + "Havranec", + "Hažín", + "Hažín nad Cirochou", + "Hažlín", + "Helcmanovce", + "Heľpa", + "Henckovce", + "Henclová", + "Hencovce", + "Hendrichovce", + "Herľany", + "Hermanovce", + "Hermanovce nad Topľou", + "Hertník", + "Hervartov", + "Hiadeľ", + "Hincovce", + "Hladovka", + "Hlboké", + "Hliník nad Hronom", + "Hlinné", + "Hlivištia", + "Hlohovec", + "Hniezdne", + "Hnilčík", + "Hnilec", + "Hnojné", + "Hnúšťa", + "Hodejov", + "Hodejovec", + "Hodkovce", + "Hodruša - Hámre", + "Hokovce", + "Holčíkovce", + "Holiare", + "Holice", + "Holíč", + "Holiša", + "Holumnica", + "Honce", + "Hontianska Vrbica", + "Hontianske Moravce", + "Hontianske Nemce", + "Hontianske Tesáre", + "Hontianske Trsťany", + "Horná Breznica", + "Horná Kráľová", + "Horná Krupá", + "Horná Lehota", + "Horná Lehota", + "Horná Mariková", + "Horná Mičiná", + "Horná Poruba", + "Horná Potôň", + "Horná Seč", + "Horná Streda", + "Horná Strehová", + "Horná Súča", + "Horná Štubňa", + "Horná Ves", + "Horná Ves", + "Horná Ždaňa", + "Horné Dubové", + "Horné Hámre", + "Horné Chlebany", + "Horné Lefantovce", + "Horné Mladonice", + "Horné Mýto", + "Horné Naštice", + "Horné Obdokovce", + "Horné Orešany", + "Horné Otrokovce", + "Horné Plachtince", + "Horné Pršany", + "Horné Saliby", + "Horné Semerovce", + "Horné Srnie", + "Horné Strháre", + "Horné Štitáre", + "Horné Trhovište", + "Horné Turovce", + "Horné Vestenice", + "Horné Zahorany", + "Horné Zelenice", + "Horný Badín", + "Horný Bar", + "Horný Hričov", + "Horný Kalník", + "Horný Lieskov", + "Horný Pial", + "Horný Tisovník", + "Horný Vadičov", + "Horňa", + "Horňany", + "Horovce", + "Horovce", + "Hoste", + "Hostice", + "Hostie", + "Hostišovce", + "Hostovice", + "Hosťová", + "Hosťovce", + "Hosťovce", + "Hozelec", + "Hôrka", + "Hôrka nad Váhom", + "Hôrky", + "Hrabičov", + "Hrabkov", + "Hrabová Roztoka", + "Hrabovčík", + "Hrabovec", + "Hrabovec nad Laborcom", + "Hrabské", + "Hrabušice", + "Hradisko", + "Hradište", + "Hradište", + "Hradište pod Vrátnom", + "Hrádok", + "Hrachovište", + "Hrachovo", + "Hraničné", + "Hranovnica", + "Hraň", + "Hrašné", + "Hrašovík", + "Hrčeľ", + "Hrhov", + "Hriadky", + "Hričovské Podhradie", + "Hriňová", + "Hrišovce", + "Hrkovce", + "Hrlica", + "Hrnčiarovce nad Parnou", + "Hrnčiarska Ves", + "Hrnčiarske Zalužany", + "Hrochoť", + "Hromoš", + "Hronec", + "Hronovce", + "Hronsek", + "Hronská Breznica", + "Hronská Dúbrava", + "Hronské Kľačany", + "Hronské Kosihy", + "Hronský Beňadik", + "Hrubá Borša", + "Hruboňovo", + "Hrubov", + "Hrubý Šúr", + "Hrušov", + "Hrušov", + "Hrušovany", + "Hrušovo", + "Hruštín", + "Hubice", + "Hubina", + "Hubošovce", + "Hubová", + "Hubovo", + "Hucín", + "Hudcovce", + "Hul", + "Humenné", + "Huncovce", + "Hunkovce", + "Hurbanova Ves", + "Hurbanovo", + "Husák", + "Husiná", + "Hutka", + "Huty", + "Hviezdoslavov", + "Hvozdnica", + "Hybe", + "Hýľov", + "Chanava", + "Chlebnice", + "Chlmec", + "Chľaba", + "Chmeľnica", + "Chmeľov", + "Chmeľová", + "Chmeľovec", + "Chminianska Nová Ves", + "Chminianske Jakubovany", + "Chmiňany", + "Choča", + "Chocholná - Velčice", + "Choňkovce", + "Chorvátsky Grob", + "Chorváty", + "Chotča", + "Chotín", + "Chrabrany", + "Chrámec", + "Chrastince", + "Chrastné", + "Chrasť nad Hornádom", + "Chrenovec - Brusno", + "Chropov", + "Chrťany", + "Chtelnica", + "Chudá Lehota", + "Chvalová", + "Chvojnica", + "Chvojnica", + "Chynorany", + "Chyžné", + "Igram", + "Ihľany", + "Ihráč", + "Ilava", + "Iliašovce", + "Ilija", + "Imeľ", + "Inovce", + "Iňa", + "Iňačovce", + "Ipeľské Predmostie", + "Ipeľské Úľany", + "Ipeľský Sokolec", + "Istebné", + "Ivachnová", + "Ivančiná", + "Ivanice", + "Ivanka pri Dunaji", + "Ivanka pri Nitre", + "Ivanovce", + "Iža", + "Ižipovce", + "Ižkovce", + "Jablonec", + "Jablonica", + "Jablonka", + "Jablonov", + "Jablonov nad Turňou", + "Jablonové", + "Jablonové", + "Jabloň", + "Jabloňovce", + "Jacovce", + "Jahodná", + "Jaklovce", + "Jakovany", + "Jakubany", + "Jakubov", + "Jakubova Voľa", + "Jakubovany", + "Jakubovany", + "Jakušovce", + "Jalová", + "Jalovec", + "Jalovec", + "Jalšové", + "Jalšovík", + "Jamník", + "Jamník", + "Janice", + "Janík", + "Janíky", + "Jankovce", + "Janov", + "Janova Lehota", + "Janovce", + "Jánovce", + "Jánovce", + "Janovík", + "Jarabá", + "Jarabina", + "Jarok", + "Jarovnice", + "Jasenica", + "Jasenie", + "Jasenov", + "Jasenov", + "Jasenová", + "Jasenovce", + "Jasenové", + "Jasenovo", + "Jaslovské Bohunice", + "Jasov", + "Jasová", + "Jastrabá", + "Jastrabie nad Topľou", + "Jastrabie pri Michalovciach", + "Jatov", + "Javorina (vojenský obvod)", + "Jazernica", + "Jedlinka", + "Jedľové Kostoľany", + "Jelenec", + "Jelka", + "Jelšava", + "Jelšovce", + "Jelšovec", + "Jenkovce", + "Jesenské", + "Jesenské", + "Jestice", + "Ješkova Ves", + "Jezersko", + "Jovice", + "Jovsa", + "Jur nad Hronom", + "Jurkova Voľa", + "Jurová", + "Jurské", + "Juskova Voľa", + "Kačanov", + "Kajal", + "Kalameny", + "Kalinkovo", + "Kalinov", + "Kalinovo", + "Kalná nad Hronom", + "Kalná Roztoka", + "Kálnica", + "Kalnište", + "Kalonda", + "Kalša", + "Kaloša", + "Kaluža", + "Kaľamenová", + "Kaľava", + "Kamanová", + "Kamenec pod Vtáčnikom", + "Kamenica", + "Kamenica nad Cirochou", + "Kamenica nad Hronom", + "Kameničany", + "Kameničná", + "Kamenín", + "Kamenná Poruba", + "Kamenná Poruba", + "Kamenné Kosihy", + "Kamenný Most", + "Kameňany", + "Kamienka", + "Kamienka", + "Kanianka", + "Kapišová", + "Kaplna", + "Kapušany", + "Kapušianske Kľačany", + "Karlová", + "Karná", + "Kašov", + "Kátlovce", + "Kátov", + "Kazimír", + "Kecerovce", + "Kecerovský Lipovec", + "Kečkovce", + "Kečovo", + "Kechnec", + "Kendice", + "Kesovce", + "Keť", + "Kežmarok", + "Kiarov", + "Kladzany", + "Klasov", + "Kláštor pod Znievom", + "Klátova Nová Ves", + "Klčov", + "Klenov", + "Klenová", + "Klenovec", + "Kleňany", + "Klieština", + "Klin", + "Klin nad Bodrogom", + "Klížska Nemá", + "Klokoč", + "Klokočov", + "Klokočov", + "Klubina", + "Kluknava", + "Kľačany", + "Kľače", + "Kľačno", + "Kľak", + "Kľúčovec", + "Kľušov", + "Kmeťovo", + "Kobeliarovo", + "Kobylnice", + "Kobyly", + "Koceľovce", + "Kociha", + "Kocurany", + "Kočín - Lančár", + "Kočovce", + "Kochanovce", + "Kochanovce", + "Kojatice", + "Kojšov", + "Kokava nad Rimavicou", + "Kokošovce", + "Kokšov - Bakša", + "Kolačkov", + "Kolačno", + "Koláre", + "Kolárovice", + "Kolárovo", + "Kolbasov", + "Kolbovce", + "Kolibabovce", + "Kolinovce", + "Kolíňany", + "Kolonica", + "Kolta", + "Komárany", + "Komárno", + "Komárov", + "Komárovce", + "Komjatice", + "Komjatná", + "Komoča", + "Koniarovce", + "Konrádovce", + "Konská", + "Konská", + "Koňuš", + "Kopčany", + "Kopernica", + "Koplotovce", + "Koprivnica", + "Kordíky", + "Korejovce", + "Korňa", + "Koromľa", + "Korunková", + "Korytárky", + "Korytné", + "Kosihovce", + "Kosihy nad Ipľom", + "Kosorín", + "Kostolec", + "Kostolište", + "Kostolná pri Dunaji", + "Kostolná Ves", + "Kostolná - Záriečie", + "Kostolné", + "Kostolné Kračany", + "Kostoľany pod Tribečom", + "Koš", + "Košariská", + "Košarovce", + "Košeca", + "Košecké Podhradie", + "Košice", + "Okres Košice II", + "Okres Košice III", + "Okres Košice IV", + "Košická Belá", + "Košická Polianka", + "Košické Oľšany", + "Košický Klečenov", + "Koškovce", + "Košolná", + "Košúty", + "Košťany nad Turcom", + "Kotešová", + "Kotmanová", + "Kotrčiná Lúčka", + "Kováčová", + "Kováčová", + "Kováčovce", + "Koválov", + "Koválovec", + "Kovarce", + "Kozárovce", + "Kozelník", + "Kozí Vrbovok", + "Kožany", + "Kožuchov", + "Kožuchovce", + "Kračúnovce", + "Krahule", + "Krajná Bystrá", + "Krajná Poľana", + "Krajná Porúbka", + "Krajné", + "Krajné Čierno", + "Krakovany", + "Králiky", + "Kráľ", + "Kráľov Brod", + "Kráľova Lehota", + "Kráľová nad Váhom", + "Kráľová pri Senci", + "Kraľovany", + "Kráľovce", + "Kráľovce - Krnišov", + "Kráľovičove Kračany", + "Kráľovský Chlmec", + "Kraskovo", + "Krásna Lúka", + "Krásna Ves", + "Krásno", + "Krásno nad Kysucou", + "Krásnohorská Dlhá Lúka", + "Krásnohorské Podhradie", + "Krásnovce", + "Krásny Brod", + "Krasňany", + "Kravany", + "Kravany", + "Kravany nad Dunajom", + "Krčava", + "Kremná", + "Kremnica", + "Kremnické Bane", + "Kristy", + "Krišľovce", + "Krišovská Liesková", + "Krivá", + "Krivany", + "Kriváň", + "Krivé", + "Krivoklát", + "Krivosúd - Bodovka", + "Kríže", + "Krížová Ves", + "Krížovany", + "Križovany nad Dudváhom", + "Krná", + "Krnča", + "Krokava", + "Krompachy", + "Krpeľany", + "Krškany", + "Krtovce", + "Kručov", + "Krupina", + "Krušetnica", + "Krušinec", + "Krušovce", + "Kružlov", + "Kružlová", + "Kružná", + "Kružno", + "Kšinná", + "Kubáňovo", + "Kučín", + "Kučín", + "Kuchyňa", + "Kuklov", + "Kuková", + "Kukučínov", + "Kunerad", + "Kunešov", + "Kunova Teplica", + "Kuraľany", + "Kurima", + "Kurimany", + "Kurimka", + "Kurov", + "Kusín", + "Kútniky", + "Kúty", + "Kuzmice", + "Kuzmice", + "Kvačany", + "Kvačany", + "Kvakovce", + "Kvašov", + "Kvetoslavov", + "Kyjatice", + "Kyjov", + "Kynceľová", + "Kysak", + "Kyselica", + "Kysta", + "Kysucké Nové Mesto", + "Kysucký Lieskovec", + "Láb", + "Lackov", + "Lacková", + "Lada", + "Ladce", + "Ladice", + "Ladmovce", + "Ladomerská Vieska", + "Ladomirov", + "Ladomirová", + "Ladzany", + "Lakšárska Nová Ves", + "Lascov", + "Laskár", + "Lastomír", + "Lastovce", + "Laškovce", + "Látky", + "Lazany", + "Lazisko", + "Lazy pod Makytou", + "Lažany", + "Lednica", + "Lednické Rovne", + "Legnava", + "Lehnice", + "Lehota", + "Lehota nad Rimavicou", + "Lehota pod Vtáčnikom", + "Lehôtka", + "Lehôtka pod Brehmi", + "Lechnica", + "Lekárovce", + "Leles", + "Leľa", + "Lemešany", + "Lenartov", + "Lenartovce", + "Lendak", + "Lenka", + "Lentvora", + "Leopoldov", + "Lesenice", + "Lesíček", + "Lesné", + "Lesnica", + "Leštiny", + "Lešť (vojenský obvod)", + "Letanovce", + "Letničie", + "Leváre", + "Levice", + "Levkuška", + "Levoča", + "Ležiachov", + "Libichava", + "Licince", + "Ličartovce", + "Liesek", + "Lieskovany", + "Lieskovec", + "Lieskovec", + "Liešno", + "Liešťany", + "Lietava", + "Lietavská Lúčka", + "Lietavská Svinná - Babkov", + "Likavka", + "Limbach", + "Lipany", + "Lipník", + "Lipníky", + "Lipová", + "Lipová", + "Lipovany", + "Lipovce", + "Lipové", + "Lipovec", + "Lipovec", + "Lipovník", + "Lipovník", + "Liptovská Anna", + "Liptovská Kokava", + "Liptovská Lúžna", + "Liptovská Osada", + "Liptovská Porúbka", + "Liptovská Sielnica", + "Liptovská Štiavnica", + "Liptovská Teplá", + "Liptovská Teplička", + "Liptovské Beharovce", + "Liptovské Kľačany", + "Liptovské Matiašovce", + "Liptovské Revúce", + "Liptovské Sliače", + "Liptovský Hrádok", + "Liptovský Ján", + "Liptovský Michal", + "Liptovský Mikuláš", + "Liptovský Ondrej", + "Liptovský Peter", + "Liptovský Trnovec", + "Lisková", + "Lišov", + "Litava", + "Litmanová", + "Livina", + "Livinské Opatovce", + "Livov", + "Livovská Huta", + "Lodno", + "Lok", + "Lokca", + "Lom nad Rimavicou", + "Lomná", + "Lomné", + "Lomnička", + "Lontov", + "Lopašov", + "Lopúchov", + "Lopušné Pažite", + "Lošonec", + "Lovce", + "Lovča", + "Lovčica - Trubín", + "Lovinobaňa", + "Lozorno", + "Ložín", + "Lubeník", + "Lubina", + "Lúč na Ostrove", + "Lučatín", + "Lučenec", + "Lúčina", + "Lučivná", + "Lúčka", + "Lúčka", + "Lúčka", + "Lúčka", + "Lúčky", + "Lúčky", + "Lúčky", + "Lúčnica nad Žitavou", + "Ludanice", + "Ludrová", + "Luhyňa", + "Lúka", + "Lukačovce", + "Lukáčovce", + "Lukavica", + "Lukavica", + "Lukov", + "Lukovištia", + "Lúky", + "Lula", + "Lupoč", + "Lutila", + "Lutiše", + "Lužany", + "Lužany pri Topli", + "Lužianky", + "Lysá pod Makytou", + "Lysica", + "Ľubá", + "Ľubela", + "Ľubica", + "Ľubietová", + "Ľubiša", + "Ľubochňa", + "Ľuboreč", + "Ľuboriečka", + "Ľubotice", + "Ľubotín", + "Ľubovec", + "Ľudovítová", + "Ľutina", + "Ľutov", + "Macov", + "Mad", + "Madunice", + "Magnezitovce", + "Machulince", + "Majcichov", + "Majere", + "Majerovce", + "Makov", + "Makovce", + "Malacky", + "Malachov", + "Malá Čalomija", + "Malá Čausa", + "Malá Čierna", + "Malá Domaša", + "Malá Franková", + "Malá Hradná", + "Malá Ida", + "Malá Lehota", + "Malá Lodina", + "Malá nad Hronom", + "Malá Poľana", + "Malá Tŕňa", + "Málaš", + "Malatiná", + "Malatíny", + "Malcov", + "Malčice", + "Malé Borové", + "Malé Dvorníky", + "Malé Chyndice", + "Malé Hoste", + "Malé Kosihy", + "Malé Kozmálovce", + "Malé Kršteňany", + "Malé Lednice", + "Malé Leváre", + "Malé Ludince", + "Malé Ozorovce", + "Malé Raškovce", + "Malé Ripňany", + "Malé Straciny", + "Malé Trakany", + "Malé Uherce", + "Malé Vozokany", + "Malé Zálužie", + "Malé Zlievce", + "Málinec", + "Malinová", + "Malinovo", + "Malužiná", + "Malý Cetín", + "Malý Čepčín", + "Malý Horeš", + "Malý Kamenec", + "Malý Krtíš", + "Malý Lapáš", + "Malý Lipník", + "Malý Slavkov", + "Malý Slivník", + "Malý Šariš", + "Malženice", + "Mankovce", + "Maňa", + "Marcelová", + "Margecany", + "Marhaň", + "Marianka", + "Markovce", + "Markuška", + "Markušovce", + "Maršová - Rašov", + "Martin", + "Martin nad Žitavou", + "Martinček", + "Martinová", + "Martovce", + "Mašková", + "Maškovce", + "Matejovce nad Hornádom", + "Matiaška", + "Matiašovce", + "Matovce", + "Matúškovo", + "Matysová", + "Maťovské Vojkovce", + "Medovarce", + "Medvedie", + "Medveďov", + "Medzany", + "Medzev", + "Medzianky", + "Medzibrod", + "Medzibrodie nad Oravou", + "Medzilaborce", + "Melčice - Lieskové", + "Melek", + "Meliata", + "Mengusovce", + "Merašice", + "Merník", + "Mestečko", + "Mestisko", + "Mičakovce", + "Mierovo", + "Miezgovce", + "Michajlov", + "Michal na Ostrove", + "Michal nad Žitavou", + "Michalková", + "Michalok", + "Michalová", + "Michalovce", + "Michaľany", + "Miklušovce", + "Miková", + "Mikulášová", + "Mikušovce", + "Mikušovce", + "Milhosť", + "Miloslavov", + "Milpoš", + "Miňovce", + "Mirkovce", + "Miroľa", + "Mládzovo", + "Mlynárovce", + "Mlynčeky", + "Mlynica", + "Mlynky", + "Mníchova Lehota", + "Mníšek nad Hnilcom", + "Mníšek nad Popradom", + "Moča", + "Močenok", + "Močiar", + "Modra", + "Modra nad Cirochou", + "Modrany", + "Modrová", + "Modrovka", + "Modrý Kameň", + "Mojmírovce", + "Mojš", + "Mojtín", + "Mojzesovo", + "Mokrá Lúka", + "Mokrance", + "Mokroluh", + "Mokrý Háj", + "Moldava nad Bodvou", + "Moravany", + "Moravany nad Váhom", + "Moravské Lieskové", + "Moravský Svätý Ján", + "Most pri Bratislave", + "Mostová", + "Moškovec", + "Mošovce", + "Moštenica", + "Mošurov", + "Motešice", + "Motyčky", + "Môlča", + "Mrázovce", + "Mučín", + "Mudroňovo", + "Mudrovce", + "Muľa", + "Muráň", + "Muránska Dlhá Lúka", + "Muránska Huta", + "Muránska Lehota", + "Muránska Zdychava", + "Mútne", + "Mužla", + "Myjava", + "Myslina", + "Mýtna", + "Mýtne Ludany", + "Mýto pod Ďumbierom", + "Nacina Ves", + "Nadlice", + "Naháč", + "Nálepkovo", + "Námestovo", + "Nána", + "Nandraž", + "Necpaly", + "Nedanovce", + "Nedašovce", + "Neded", + "Nededza", + "Nedožery - Brezany", + "Nechválova Polianka", + "Nemce", + "Nemcovce", + "Nemcovce", + "Nemčice", + "Nemčiňany", + "Nemecká", + "Nemečky", + "Nemešany", + "Nemšová", + "Nenince", + "Neporadza", + "Neporadza", + "Nesvady", + "Nesluša", + "Neverice", + "Nevidzany", + "Nevidzany", + "Nevoľné", + "Nezbudská Lúčka", + "Nimnica", + "Nitra", + "Nitra nad Ipľom", + "Nitrianska Blatnica", + "Nitrianska Streda", + "Nitrianske Hrnčiarovce", + "Nitrianske Pravno", + "Nitrianske Rudno", + "Nitrianske Sučany", + "Nitrica", + "Nižná", + "Nižná", + "Nižná Boca", + "Nižná Hutka", + "Nižná Jablonka", + "Nižná Jedľová", + "Nižná Kamenica", + "Nižná Myšľa", + "Nižná Olšava", + "Nižná Pisaná", + "Nižná Polianka", + "Nižná Rybnica", + "Nižná Sitnica", + "Nižná Slaná", + "Nižná Voľa", + "Nižné Ladičkovce", + "Nižné Nemecké", + "Nižné Repaše", + "Nižné Ružbachy", + "Nižný Čaj", + "Nižný Hrabovec", + "Nižný Hrušov", + "Nižný Klátov", + "Nižný Komárnik", + "Nižný Kručov", + "Nižný Lánec", + "Nižný Mirošov", + "Nižný Orlík", + "Nižný Skálnik", + "Nižný Slavkov", + "Nižný Tvarožec", + "Nižný Žipov", + "Nolčovo", + "Norovce", + "Nová Baňa", + "Nová Bašta", + "Nová Bošáca", + "Nová Bystrica", + "Nová Dedina", + "Nová Dedinka", + "Nová Dubnica", + "Nová Kelča", + "Nová Lehota", + "Nová Lesná", + "Nová Ľubovňa", + "Nová Polhora", + "Nová Polianka", + "Nová Sedlica", + "Nová Ves", + "Nová Ves nad Váhom", + "Nová Ves nad Žitavou", + "Nová Vieska", + "Nováčany", + "Nováky", + "Nové Hony", + "Nové Mesto nad Váhom", + "Nové Sady", + "Nové Zámky", + "Novosad", + "Novoť", + "Nový Ruskov", + "Nový Salaš", + "Nový Tekov", + "Nový Život", + "Nýrovce", + "Ňagov", + "Ňárad", + "Obeckov", + "Obišovce", + "Oborín", + "Obručné", + "Obyce", + "Očkov", + "Očová", + "Odorín", + "Ohrady", + "Ohradzany", + "Ochodnica", + "Ochtiná", + "Okoč", + "Okoličná na Ostrove", + "Okrúhle", + "Okružná", + "Olcnava", + "Olejníkov", + "Olešná", + "Olováry", + "Olšovany", + "Oľdza", + "Oľka", + "Oľšavce", + "Oľšavica", + "Oľšavka", + "Oľšavka", + "Oľšinkov", + "Oľšov", + "Omastiná", + "Omšenie", + "Ondavka", + "Ondavské Matiašovce", + "Ondrašovce", + "Ondrašová", + "Ondrejovce", + "Opátka", + "Opatovce", + "Opatovce nad Nitrou", + "Opatovská Nová Ves", + "Opava", + "Opiná", + "Opoj", + "Oponice", + "Oravce", + "Orávka", + "Oravská Jasenica", + "Oravská Lesná", + "Oravská Polhora", + "Oravská Poruba", + "Oravský Biely Potok", + "Oravský Podzámok", + "Ordzovany", + "Orechová", + "Orechová Potôň", + "Oravské Veselé", + "Oreské", + "Oreské", + "Orešany", + "Orlov", + "Orovnica", + "Ortuťová", + "Osádka", + "Osadné", + "Osikov", + "Oslany", + "Osrblie", + "Ostrá Lúka", + "Ostratice", + "Ostrov", + "Ostrov", + "Ostrovany", + "Ostrý Grúň", + "Osturňa", + "Osuské", + "Oščadnica", + "Otrhánky", + "Otročok", + "Ovčiarsko", + "Ovčie", + "Ozdín", + "Ožďany", + "Pača", + "Padáň", + "Padarovce", + "Pakostov", + "Palárikovo", + "Palín", + "Palota", + "Panické Dravce", + "Paňa", + "Paňovce", + "Papín", + "Papradno", + "Parchovany", + "Parihuzovce", + "Párnica", + "Partizánska Ľupča", + "Partizánske", + "Pastovce", + "Pastuchov", + "Pašková", + "Paština Závada", + "Pata", + "Pataš", + "Pavčina Lehota", + "Pavlice", + "Pavlová", + "Pavlova Ves", + "Pavlovce", + "Pavlovce", + "Pavlovce nad Uhom", + "Pavľany", + "Pažiť", + "Pčoliné", + "Pečenice", + "Pečeňady", + "Pečeňany", + "Pečovská Nová Ves", + "Peder", + "Perín - Chym", + "Pernek", + "Petkovce", + "Petrikovce", + "Petrová", + "Petrova Lehota", + "Petrova Ves", + "Petrovany", + "Petrovce", + "Petrovce", + "Petrovce", + "Petrovce nad Laborcom", + "Petrovice", + "Petrovo", + "Pezinok", + "Piešťany", + "Pichne", + "Píla", + "Píla", + "Píla", + "Pinciná", + "Pinkovce", + "Piskorovce", + "Pitelová", + "Plášťovce", + "Plavé Vozokany", + "Plavecké Podhradie", + "Plavecký Mikuláš", + "Plavecký Peter", + "Plavecký Štvrtok", + "Plaveč", + "Plavnica", + "Plechotice", + "Pleš", + "Plešivec", + "Plevník - Drienové", + "Pliešovce", + "Ploské", + "Ploské", + "Pobedim", + "Počarová", + "Počúvadlo", + "Podbiel", + "Podbranč", + "Podbrezová", + "Podhájska", + "Podhorany", + "Podhorany", + "Podhorany", + "Podhorie", + "Podhorie", + "Podhoroď", + "Podhradie", + "Podhradie", + "Podhradie", + "Podhradík", + "Podkonice", + "Podkriváň", + "Podkylava", + "Podlužany", + "Podlužany", + "Podolie", + "Podolínec", + "Podrečany", + "Podskalie", + "Podtureň", + "Podvysoká", + "Podzámčok", + "Pohorelá", + "Pohranice", + "Pohronská Polhora", + "Pohronský Bukovec", + "Pohronský Ruskov", + "Pochabany", + "Pokryváč", + "Poliakovce", + "Polianka", + "Polichno", + "Polina", + "Poloma", + "Polomka", + "Poltár", + "Poluvsie", + "Poľanovce", + "Poľany", + "Poľný Kesov", + "Pongrácovce", + "Poniky", + "Poprad", + "Poproč", + "Poproč", + "Popudinské Močidľany", + "Poráč", + "Poriadie", + "Porostov", + "Poruba", + "Poruba pod Vihorlatom", + "Porúbka", + "Porúbka", + "Porúbka", + "Porúbka", + "Poša", + "Potok", + "Potok", + "Potoky", + "Potôčky", + "Potvorice", + "Považany", + "Považská Bystrica", + "Povina", + "Povoda", + "Povrazník", + "Pozba", + "Pozdišovce", + "Pôtor", + "Praha", + "Prakovce", + "Prašice", + "Prašník", + "Pravenec", + "Pravica", + "Pravotice", + "Práznovce", + "Prečín", + "Predajná", + "Predmier", + "Prenčov", + "Preseľany", + "Prestavlky", + "Prešov", + "Príbelce", + "Pribeník", + "Pribeta", + "Pribiš", + "Príbovce", + "Pribylina", + "Priechod", + "Priekopa", + "Priepasné", + "Prietrž", + "Prietržka", + "Prievaly", + "Prievidza", + "Prihradzany", + "Príkra", + "Príslop", + "Prituľany", + "Proč", + "Prochot", + "Prosačov", + "Prosiek", + "Prša", + "Pruské", + "Prusy", + "Pružina", + "Pstriná", + "Ptičie", + "Ptrukša", + "Pucov", + "Púchov", + "Pukanec", + "Pusté Čemerné", + "Pusté Pole", + "Pusté Sady", + "Pusté Úľany", + "Pušovce", + "Rabča", + "Rabčice", + "Rad", + "Radatice", + "Radava", + "Radimov", + "Radnovce", + "Radobica", + "Radoľa", + "Radoma", + "Radošina", + "Radošovce", + "Radošovce", + "Radôstka", + "Radvanovce", + "Radvaň nad Dunajom", + "Radvaň nad Laborcom", + "Radzovce", + "Rafajovce", + "Rajčany", + "Rajec", + "Rajecká Lesná", + "Rajecké Teplice", + "Rákoš", + "Rákoš", + "Raková", + "Rakovčík", + "Rakovec nad Ondavou", + "Rakovice", + "Rakovnica", + "Rakovo", + "Rakša", + "Rakúsy", + "Rakytník", + "Rankovce", + "Rapovce", + "Raslavice", + "Rastislavice", + "Rašice", + "Ratka", + "Ratková", + "Ratkovce", + "Ratkovo", + "Ratkovská Lehota", + "Ratkovská Suchá", + "Ratkovské Bystré", + "Ratnovce", + "Ratvaj", + "Ráztočno", + "Ráztoka", + "Ražňany", + "Reca", + "Regetovka", + "Rejdová", + "Reľov", + "Remeniny", + "Remetské Hámre", + "Renčišov", + "Repejov", + "Repište", + "Rešica", + "Rešov", + "Revúca", + "Revúcka Lehota", + "Riečka", + "Riečka", + "Richnava", + "Richvald", + "Rimavská Baňa", + "Rimavská Seč", + "Rimavská Sobota", + "Rimavské Brezovo", + "Rimavské Janovce", + "Rimavské Zalužany", + "Rohov", + "Rohovce", + "Rohožník", + "Rohožník", + "Rochovce", + "Rokycany", + "Rokytov", + "Rokytov pri Humennom", + "Rokytovce", + "Rosina", + "Roškovce", + "Roštár", + "Rovensko", + "Rovinka", + "Rovné", + "Rovné", + "Rovné", + "Rovňany", + "Rozhanovce", + "Rozložná", + "Roztoky", + "Rožkovany", + "Rožňava", + "Rožňavské Bystré", + "Rúbaň", + "Rudina", + "Rudinka", + "Rudinská", + "Rudlov", + "Rudná", + "Rudnianska Lehota", + "Rudník", + "Rudník", + "Rudno", + "Rudno nad Hronom", + "Rudňany", + "Rumanová", + "Rumince", + "Runina", + "Ruská", + "Ruská Bystrá", + "Ruská Kajňa", + "Ruská Nová Ves", + "Ruská Poruba", + "Ruská Volová", + "Ruská Voľa", + "Ruská Voľa nad Popradom", + "Ruskov", + "Ruskovce", + "Ruskovce", + "Ruský Hrabovec", + "Ruský Potok", + "Ružiná", + "Ružindol", + "Ružomberok", + "Rybany", + "Rybky", + "Rybník", + "Rybník", + "Rykynčice", + "Sabinov", + "Sačurov", + "Sádočné", + "Sady nad Torysou", + "Salka", + "Santovka", + "Sap", + "Sása", + "Sása", + "Sasinkovo", + "Sazdice", + "Sebedín - Bečov", + "Sebedražie", + "Sebechleby", + "Seč", + "Sečianky", + "Sečovce", + "Sečovská Polianka", + "Sedliacka Dubová", + "Sedliská", + "Sedmerovec", + "Sejkov", + "Sekule", + "Selce", + "Selce", + "Selce", + "Selec", + "Selice", + "Seľany", + "Semerovo", + "Senec", + "Seniakovce", + "Senica", + "Senné", + "Senné", + "Senohrad", + "Seňa", + "Sereď", + "Sielnica", + "Sihelné", + "Sihla", + "Sikenica", + "Sikenička", + "Siladice", + "Silica", + "Silická Brezová", + "Silická Jablonica", + "Sirk", + "Sirník", + "Skačany", + "Skalica", + "Skalité", + "Skalka nad Váhom", + "Skároš", + "Skerešovo", + "Sklabiná", + "Sklabinský Podzámok", + "Sklabiňa", + "Sklené", + "Sklené Teplice", + "Skrabské", + "Skýcov", + "Sládkovičovo", + "Slančík", + "Slanec", + "Slanská Huta", + "Slanské Nové Mesto", + "Slaská", + "Slatina", + "Slatina nad Bebravou", + "Slatinka nad Bebravou", + "Slatinské Lazy", + "Slatvina", + "Slavec", + "Slavkovce", + "Slavnica", + "Slavoška", + "Slavošovce", + "Slepčany", + "Sliač", + "Sliepkovce", + "Slizké", + "Slivník", + "Slopná", + "Slovany", + "Slovenská Kajňa", + "Slovenská Ľupča", + "Slovenská Nová Ves", + "Slovenská Ves", + "Slovenská Volová", + "Slovenské Ďarmoty", + "Slovenské Kľačany", + "Slovenské Krivé", + "Slovenské Nové Mesto", + "Slovenské Pravno", + "Slovenský Grob", + "Slovinky", + "Sľažany", + "Smilno", + "Smižany", + "Smolenice", + "Smolinské", + "Smolnícka Huta", + "Smolník", + "Smrdáky", + "Smrečany", + "Snakov", + "Snežnica", + "Snina", + "Socovce", + "Soblahov", + "Soboš", + "Sobotište", + "Sobrance", + "Sokolce", + "Sokolovce", + "Sokoľ", + "Sokoľany", + "Solčany", + "Solčianky", + "Sološnica", + "Soľ", + "Soľnička", + "Soľník", + "Somotor", + "Sopkovce", + "Spišská Belá", + "Spišská Nová Ves", + "Spišská Stará Ves", + "Spišská Teplica", + "Spišské Bystré", + "Spišské Hanušovce", + "Spišské Podhradie", + "Spišské Tomášovce", + "Spišské Vlachy", + "Spišský Hrhov", + "Spišský Hrušov", + "Spišský Štiavnik", + "Spišský Štvrtok", + "Stakčín", + "Stakčínska Roztoka", + "Stanča", + "Stankovany", + "Stankovce", + "Stará Bašta", + "Stará Bystrica", + "Stará Halič", + "Stará Huta", + "Stará Kremnička", + "Stará Lehota", + "Stará Lesná", + "Stará Ľubovňa", + "Stará Myjava", + "Stará Turá", + "Stará Voda", + "Staré", + "Staré Hory", + "Starina", + "Starý Hrádok", + "Starý Tekov", + "Staškov", + "Staškovce", + "Stebnícka Huta", + "Stebník", + "Stožok", + "Stráne pod Tatrami", + "Stránska", + "Stránske", + "Stráňany", + "Stráňavy", + "Stratená", + "Stráža", + "Strážne", + "Strážske", + "Strečno", + "Streda nad Bodrogom", + "Stredné Plachtince", + "Strekov", + "Strelníky", + "Stretava", + "Stretavka", + "Streženice", + "Strihovce", + "Stročín", + "Stropkov", + "Studená", + "Studenec", + "Studienka", + "Stuľany", + "Stupava", + "Stupné", + "Sučany", + "Sudince", + "Súdovce", + "Suchá Dolina", + "Suchá Hora", + "Suchá nad Parnou", + "Sucháň", + "Suché", + "Suché Brezovo", + "Suchohrad", + "Sukov", + "Sulín", + "Súlovce", + "Súľov - Hradná", + "Sušany", + "Sútor", + "Svätá Mária", + "Svätoplukovo", + "Svätuš", + "Svätuše", + "Svätý Anton", + "Svätý Jur", + "Svätý Kríž", + "Svätý Peter", + "Svederník", + "Sverepec", + "Sveržov", + "Svetlice", + "Svidnička", + "Svidník", + "Svinia", + "Svinica", + "Svinice", + "Svinná", + "Svit", + "Svodín", + "Svrbice", + "Svrčinovec", + "Šahy", + "Šajdíkove Humence", + "Šalgovce", + "Šalgočka", + "Šalov", + "Šaľa", + "Šambron", + "Šamorín", + "Šamudovce", + "Šandal", + "Šarbov", + "Šarišská Poruba", + "Šarišská Trstená", + "Šarišské Bohdanovce", + "Šarišské Čierne", + "Šarišské Dravce", + "Šarišské Jastrabie", + "Šarišské Michaľany", + "Šarišské Sokolovce", + "Šarišský Štiavnik", + "Šarkan", + "Šarovce", + "Šašová", + "Šaštín - Stráže", + "Šávoľ", + "Šelpice", + "Šemetkovce", + "Šemša", + "Šenkvice", + "Šiatorská Bukovinka", + "Šiba", + "Šíd", + "Šimonovce", + "Šindliar", + "Šintava", + "Šípkov", + "Šípkové", + "Širákov", + "Širkovce", + "Široké", + "Šišov", + "Šivetice", + "Šmigovec", + "Šoltýska", + "Šoporňa", + "Špačince", + "Špania Dolina", + "Španie Pole", + "Šrobárová", + "Štefanov", + "Štefanov nad Oravou", + "Štefanová", + "Štefanovce", + "Štefanovce", + "Štefanovičová", + "Štefurov", + "Šterusy", + "Štiavnické Bane", + "Štiavnička", + "Štiavnik", + "Štítnik", + "Štós", + "Štôla", + "Štrba", + "Štrkovec", + "Štúrovo", + "Štvrtok", + "Štvrtok na Ostrove", + "Šuľa", + "Šumiac", + "Šuňava", + "Šurany", + "Šurianky", + "Šurice", + "Šúrovce", + "Šútovo", + "Šútovce", + "Švábovce", + "Švedlár", + "Švošov", + "Tachty", + "Tajná", + "Tajov", + "Tarnov", + "Tatranská Javorina", + "Tašuľa", + "Tehla", + "Tekolďany", + "Tekovská Breznica", + "Tekovské Lužany", + "Tekovské Nemce", + "Tekovský Hrádok", + "Telgárt", + "Telince", + "Temeš", + "Teplička", + "Teplička nad Váhom", + "Tepličky", + "Teplý Vrch", + "Terany", + "Terchová", + "Teriakovce", + "Terňa", + "Tesáre", + "Tesárske Mlyňany", + "Tešedíkovo", + "Tibava", + "Tichý Potok", + "Timoradza", + "Tisinec", + "Tisovec", + "Tlmače", + "Točnica", + "Tokajík", + "Tomášikovo", + "Tomášov", + "Tomášovce", + "Tomášovce", + "Topoľa", + "Topoľčany", + "Topoľčianky", + "Topoľnica", + "Topoľníky", + "Topoľovka", + "Toporec", + "Tornaľa", + "Torysa", + "Torysky", + "Tovarné", + "Tovarnianska Polianka", + "Tovarníky", + "Tôň", + "Trakovice", + "Trávnica", + "Trávnik", + "Trebatice", + "Trebejov", + "Trebeľovce", + "Trebichava", + "Trebišov", + "Trebostovo", + "Trebušovce", + "Trenč", + "Trenčianska Teplá", + "Trenčianska Turná", + "Trenčianske Bohuslavice", + "Trenčianske Jastrabie", + "Trenčianske Mitice", + "Trenčianske Stankovce", + "Trenčianske Teplice", + "Trenčín", + "Trhová Hradská", + "Trhovište", + "Trnava", + "Trnavá Hora", + "Trnava pri Laborci", + "Trnávka", + "Trnávka", + "Trnkov", + "Trnovec", + "Trnovec nad Váhom", + "Trnovo", + "Tročany", + "Trpín", + "Trstená", + "Trstená na Ostrove", + "Trstené", + "Trstené pri Hornáde", + "Trstice", + "Trstín", + "Trsťany", + "Tŕnie", + "Tuhár", + "Tuhrina", + "Tuchyňa", + "Tulčík", + "Tupá", + "Turá", + "Turany", + "Turany nad Ondavou", + "Turcovce", + "Turček", + "Turčianky", + "Turčianska Štiavnička", + "Turčianske Jaseno", + "Turčianske Kľačany", + "Turčianske Teplice", + "Turčiansky Ďur", + "Turčiansky Peter", + "Turčok", + "Turecká", + "Tureň", + "Turie", + "Turík", + "Turnianska Nová Ves", + "Turňa nad Bodvou", + "Turová", + "Turzovka", + "Tušice", + "Tušická Nová Ves", + "Tužina", + "Tvarožná", + "Tvrdomestice", + "Tvrdošín", + "Tvrdošovce", + "Ťapešovo", + "Ubľa", + "Úbrež", + "Udavské", + "Udiča", + "Údol", + "Uhliská", + "Úhorná", + "Uhorská Ves", + "Uhorské", + "Uhrovec", + "Uhrovské Podhradie", + "Ulič", + "Uličské Krivé", + "Uloža", + "Úľany nad Žitavou", + "Unín", + "Uňatín", + "Urmince", + "Utekáč", + "Uzovce", + "Uzovská Panica", + "Uzovské Pekľany", + "Uzovský Šalgov", + "Vaďovce", + "Vagrinec", + "Váhovce", + "Vajkovce", + "Valaliky", + "Valaská", + "Valaská Belá", + "Valaská Dubová", + "Valaškovce (vojenský obvod)", + "Valča", + "Valentovce", + "Valice", + "Valkovce", + "Vaľkovňa", + "Vaniškovce", + "Vápeník", + "Varadka", + "Varechovce", + "Varhaňovce", + "Varín", + "Vasiľov", + "Vavrečka", + "Vavrinec", + "Vavrišovo", + "Važec", + "Vechec", + "Velčice", + "Veličná", + "Velušovce", + "Veľaty", + "Veľká Čausa", + "Veľká Čierna", + "Veľká Dolina", + "Veľká Franková", + "Veľká Hradná", + "Veľká Ida", + "Veľká Lesná", + "Veľká Lodina", + "Veľká Lomnica", + "Veľká Mača", + "Veľká Paka", + "Veľká Tŕňa", + "Veľké Bierovce", + "Veľké Blahovo", + "Veľké Borové", + "Veľké Držkovce", + "Veľké Dvorany", + "Veľké Dvorníky", + "Veľké Hoste", + "Veľké Chlievany", + "Veľké Chyndice", + "Veľké Kapušany", + "Veľké Kosihy", + "Veľké Kostoľany", + "Veľké Kozmálovce", + "Veľké Kršteňany", + "Veľké Leváre", + "Veľké Lovce", + "Veľké Ludince", + "Veľké Orvište", + "Veľké Ozorovce", + "Veľké Raškovce", + "Veľké Revištia", + "Veľké Ripňany", + "Veľké Rovné", + "Veľké Slemence", + "Veľké Trakany", + "Veľké Turovce", + "Veľké Uherce", + "Veľké Úľany", + "Veľké Vozokany", + "Veľké Zálužie", + "Veľkrop", + "Veľký Biel", + "Veľký Cetín", + "Veľký Čepčín", + "Veľký Ďur", + "Veľký Folkmar", + "Veľký Grob", + "Veľký Horeš", + "Veľký Kamenec", + "Veľký Klíž", + "Veľký Krtíš", + "Veľký Kýr", + "Veľký Lapáš", + "Veľký Lipník", + "Veľký Meder", + "Veľký Slavkov", + "Veľký Slivník", + "Veľký Šariš", + "Veľopolie", + "Vernár", + "Veselé", + "Veterná Poruba", + "Vieska", + "Vieska", + "Vieska nad Žitavou", + "Vikartovce", + "Vinica", + "Viničky", + "Viničné", + "Vinné", + "Vinodol", + "Vinohrady nad Váhom", + "Vinosady", + "Virt", + "Vislanka", + "Vislava", + "Visolaje", + "Višňov", + "Višňové", + "Višňové", + "Vištuk", + "Vitanová", + "Vítkovce", + "Víťaz", + "Víťazovce", + "Vlača", + "Vladiča", + "Vlachovo", + "Vlachy", + "Vlčany", + "Vlčkovce", + "Vlkas", + "Vlková", + "Vlkovce", + "Vlky", + "Voderady", + "Vojany", + "Vojčice", + "Vojka", + "Vojka nad Dunajom", + "Vojkovce", + "Vojnatina", + "Vojňany", + "Vojtovce", + "Volica", + "Volkovce", + "Voľa", + "Vozokany", + "Vozokany", + "Vráble", + "Vrádište", + "Vrakúň", + "Vranov nad Topľou", + "Vrbnica", + "Vrbov", + "Vrbovce", + "Vrbová nad Váhom", + "Vrbové", + "Vrchteplá", + "Vrícko", + "Vršatské Podhradie", + "Vrútky", + "Vtáčkovce", + "Výborná", + "Výčapy - Opatovce", + "Vydrany", + "Vydrná", + "Vydrník", + "Východná", + "Výrava", + "Vysočany", + "Vysoká", + "Vysoká", + "Vysoká nad Kysucou", + "Vysoká nad Uhom", + "Vysoká pri Morave", + "Vysoké Tatry", + "Vyškovce", + "Vyškovce nad Ipľom", + "Vyšná Boca", + "Vyšná Hutka", + "Vyšná Jablonka", + "Vyšná Jedľová", + "Vyšná Kamenica", + "Vyšná Myšľa", + "Vyšná Olšava", + "Vyšná Pisaná", + "Vyšná Polianka", + "Vyšná Rybnica", + "Vyšná Sitnica", + "Vyšná Slaná", + "Vyšná Šebastová", + "Vyšná Voľa", + "Vyšné Ladičkovce", + "Vyšné nad Hronom", + "Vyšné Nemecké", + "Vyšné Remety", + "Vyšné Repaše", + "Vyšné Ružbachy", + "Vyšný Čaj", + "Vyšný Hrabovec", + "Vyšný Hrušov", + "Vyšný Kazimír", + "Vyšný Klátov", + "Vyšný Komárnik", + "Vyšný Kručov", + "Vyšný Kubín", + "Vyšný Mirošov", + "Vyšný Orlík", + "Vyšný Slavkov", + "Vyšný Tvarožec", + "Vyšný Žipov", + "Zábiedovo", + "Záborie", + "Záborské", + "Zádiel", + "Záhor", + "Záhorie (vojenský obvod)", + "Záhorská Ves", + "Záhradné", + "Zákamenné", + "Zákopčie", + "Zalaba", + "Zálesie", + "Zálesie", + "Zalužice", + "Zamarovce", + "Zámutov", + "Záriečie", + "Záskalie", + "Zatín", + "Závada", + "Závada", + "Závadka", + "Závadka", + "Závadka", + "Zavar", + "Závažná Poruba", + "Závod", + "Zázrivá", + "Zbehňov", + "Zbehy", + "Zboj", + "Zbojné", + "Zborov", + "Zborov nad Bystricou", + "Zbrojníky", + "Zbudská Belá", + "Zbudské Dlhé", + "Zbudza", + "Zbyňov", + "Zeleneč", + "Zemianska Olča", + "Zemianske Kostoľany", + "Zemianske Podhradie", + "Zemianske Sady", + "Zemné", + "Zemplín", + "Zemplínska Nová Ves", + "Zemplínska Široká", + "Zemplínska Teplica", + "Zemplínske Hámre", + "Zemplínske Hradište", + "Zemplínske Jastrabie", + "Zemplínske Kopčany", + "Zemplínsky Branč", + "Zlatá Baňa", + "Zlatá Idka", + "Zlaté", + "Zlaté Klasy", + "Zlaté Moravce", + "Zlatná na Ostrove", + "Zlatník", + "Zlatníky", + "Zlatno", + "Zlatno", + "Zliechov", + "Zohor", + "Zubák", + "Zuberec", + "Zubné", + "Zubrohlava", + "Zvolen", + "Zvončín", + "Žabokreky", + "Žabokreky nad Nitrou", + "Žakarovce", + "Žakovce", + "Žalobín", + "Žarnov", + "Žarnovica", + "Žaškov", + "Žbince", + "Ždaňa", + "Ždiar", + "Žehňa", + "Žehra", + "Železník", + "Želiezovce", + "Želmanovce", + "Žemberovce", + "Žemliare", + "Žiar", + "Žiar", + "Žiar nad Hronom", + "Žihárec", + "Žikava", + "Žilina", + "Žipov", + "Žirany", + "Žitavany", + "Žitavce", + "Žitná - Radiša", + "Žlkovce", + "Župčany", ) streets = ( - 'Adámiho', 'Agátová', 'Ahoj', 'Albánska', 'Albrechtova', 'Alejová', - 'Alešova', 'Alstrova', 'Alžbetínska', 'Alžbety Gwerkovej', - 'Amarelková', 'Ambroseho', 'Ambrova', 'Ambrušova', 'Americká', - 'Americké námestie', 'Americké námestie', 'Amurská', 'Andreja Mráza', - 'Andreja Plávku', 'Andrusovova', 'Anenská', 'Anenská', 'Anízová', - 'Antická', 'Antolská', 'Arménska', 'Astronomická', 'Astrová', - 'Avarská', 'Azalková', 'Azovská', 'Babuškova', 'Bagarova', 'Báger', - 'Bahniatková', 'Bachova', 'Bajkalská', 'Bajkalská', 'Bajkalská', - 'Bajkalská', 'Bajkalská', 'Bajkalská', 'Bajzova', 'Bakošova', - 'Balkánska', 'Baltská', 'Bancíkovej', 'Banícka', 'Baničova', - 'Baníkova', 'Banskobystrická', 'Banšelova', 'Bardejovská', 'Bárdošova', - 'Barónka', 'Bartókova', 'Bartoňova', 'Bartoškova', 'Baštová', - 'Batkova', 'Bazalková', 'Bazová', 'Bazovského', 'Bažantia', - 'Beblavého', 'Bebravská', 'Beckovská', 'Bedľová', 'Begóniová', - 'Belániková', 'Belehradská', 'Belianska', 'Belinského', 'Bellova', - 'Belopotockého', 'Beňadická', 'Bencúrova', 'Benediktiho', 'Beniakova', - 'Beňovského', 'Bernolákova', 'Beskydská', 'Betliarska', 'Bezekova', - 'Bezručova', 'Biela', 'Bielkova', 'Bieloruská', 'Bilíkova', - 'Biskupická', 'Björnsonova', 'Blagoevova', 'Blatnická', 'Blatúchová', - 'Bleduľová', 'Blumentálska', 'Blyskáčová', 'Bočná', 'Bodliaková', - 'Bodrocká', 'Bodvianska', 'Bohrova', 'Bohúňova', 'Bojnická', - 'Boragová', 'Borekova', 'Borievková', 'Borinská', 'Borodáčova', - 'Borovicová', 'Borská', 'Bosákova', 'Boskovičova', 'Bošániho', - 'Botanická', 'Bottova', 'Boženy Němcovej', 'Bôrik', 'Bradáčova', - 'Bradlianska', 'Brančská', 'Bratislava-Vinohrady', 'Bratislavská', - 'Bratská', 'Brečtanová', 'Brestová', 'Brezová', 'Brezovská', 'Brežná', - 'Bridlicová', 'Briežky', 'Brigádnická', 'Brižitská', 'Brnianska', - 'Brodná', 'Brodská', 'Brokolicová', 'Bronzová', 'Broskyňová', - 'Bršlenová', 'Brumovická', 'Brusnicová', 'Břeclavská', 'Bučinová', - 'Budatínska', 'Budatínska', 'Budatínska', 'Búdkova cesta', - 'Budovateľská', 'Budyšínska', 'Budyšínska', 'Bujnáková', 'Buková', - 'Bukovinská', 'Bukureštská', 'Bulharská', 'Bulíkova', 'Bullova', - 'Burgundská', 'Buzalkova', 'Bystrého', 'Bystrická', 'BzovIcka', - 'Cabanova', 'Cablkova', 'Cádrova', 'Cesta mládeže', 'Cesta mládeže', - 'Cesta na Červený most', 'Cesta na Červený most', 'Cesta na Kamzík', - 'Cesta na Klanec', 'Cesta na Senec', 'Cígeľská', 'Cikkerova', - 'Cintorínska', 'Cintulova', 'Colnícka', 'Cukrová', 'Cyklámenová', - 'Cyprichova', 'Cyprichova', 'Cyrilova', 'Čachtická', 'Čajakova', - 'Čajakova', 'Čajkovského', 'Čakanková', 'Čaklovská', 'Čalovská', - 'Čapajevova', 'Čapkova', 'Čárskeho', 'Čavojského', 'Čečinová', - 'Čelakovského', 'Čerešňová', 'Černicová', 'Černockého', 'Černockého', - 'Černyševského', 'Červená', 'Červeňákova', 'Červeňova', 'Česká', - 'Československých par', 'Československých tan', 'Čiernohorská', - 'Čiernovodská', 'Čierny chodník', 'Čiližská', 'Čipkárska', 'Čmelíkova', - 'Čmeľovec', 'Čremchová', 'Čučoriedková', 'Čulenova', - 'Daliborovo námestie', 'Damborského', 'Dankovského', 'Dargovská', - 'Ďatelinová', 'Daxnerovo námestie', 'Delená', 'Delená cesta', - 'Demänovská', 'Desiata', 'Detvianska', 'Devätinová', 'Deviata', - 'Devínska cesta', 'Devínska cesta - kam', 'Devínske jazero', 'Dlhá', - 'Dlhé diely I.', 'Dlhé diely II.', 'Dlhé diely III.', 'Dneperská', - 'Dobrovičova', 'Dobrovičova', 'Dobrovského', 'Dobšinského', - 'Dohnalova', 'Dohnányho', 'Doležalova', 'Dolná', 'Dolné Koruny', - 'Dolnokorunská', 'Dolnozemská cesta', 'Domašská', 'Domkárska', - 'Domové role', 'Donnerova', 'Donovalova', 'Donská', 'Dopravná', - 'Dorastenecká', 'Dostojevského rad', 'Dr. Vladimíra Clemen', - 'Dražická', 'Drevená', 'Drieňová', 'Drieňová', 'Drieňová', 'Drobného', - 'Drotárska cesta', 'Drotárska cesta', 'Drotárska cesta', 'Druhá', - 'Druidská', 'Družicová', 'Družobná', 'Družstevná', 'Dubnická', - 'Dubová', 'Dúbravčická', 'Dúbravská cesta', 'Dudova', 'Dudvážska', - 'Dulovo námestie', 'Dulovo námestie', 'Ďumbierska', 'Dunajská', - 'Ďurgalova', 'Dvanásta', 'Dvojkrížna', 'Dvojkrížna', - 'Dvořákovo nábrežie', 'Edisonova', 'Egrešová', 'Einsteinova', - 'Eisnerova', 'Elektrárenská', 'Estónska', 'Estónska', 'Exnárova', - 'F. Kostku', 'Fadruszova', 'Fajnorovo nábrežie', 'Fándlyho', 'Farebná', - 'Farská', 'Farského', 'Fazuľová', 'Fedákova', 'Fedinova', - 'Ferienčíkova', 'Fialkové údolie', 'Fibichova', 'Fikusová', - 'Filiálne nádražie', 'Fláviovská', 'Flöglova', 'Floriánske námestie', - 'Fraňa Kráľa', 'Francisciho', 'Francúzskych partizá', 'Frankovská', - 'Františkánska', 'Františkánske námest', 'Františka Schmuckera', - 'Furdekova', 'Furdekova', 'Furmanská', 'Furmintská', 'Gabčíkova', - 'Gagarinova', 'Gagarinova', 'Gagarinova', 'Gajarská', 'Gajc', 'Gajova', - 'Galaktická', 'Galandova', 'Galbavého', 'Gallayova', 'Gallova', - 'Galvaniho', 'Gašparíkova', 'Gaštanová', 'Gavlovičova', 'Gbelská', - 'Gelnická', 'Gemerská', 'Geologická', 'Georgínová', 'Gercenova', - 'Gerulatská', 'Gessayova', 'Gettingová', 'Glavica', 'Godrova', - 'Gogoľova', 'Goláňova', 'Gondova', 'Goralská', 'Gorazdova', 'Gorkého', - 'Gregorovej', 'Gronárska', 'Grösslingova', 'Gruzínska', 'Gunduličova', - 'Guothova', 'Gusevova', 'Haanova', 'Haburská', 'Hadia cesta', - 'Hadriánová', 'Hagarova', 'Hagarova', 'Hájová', 'Halašova', 'Hálkova', - 'Hálova', 'Hamuliakova', 'Hanácka', 'Handlovská', 'Hanulova', - 'Hanulova', 'Hany Meličkovej', 'Hargašova', 'Harmanecká', 'Harmincova', - 'Hasičská', 'Hattalova', 'Havelkova', 'Havlíčkova', 'Havrania', - 'Haydnova', 'Hečkova', 'Herlianska', 'Herlianska', 'Heydukova', - 'Heyrovského', 'Hlaváčikova', 'Hlavatého', 'Hlavná', 'Hlavné námestie', - 'Hlbinná', 'Hlboká cesta', 'Hlboká cesta', 'Hlinická', 'Hlinická', - 'Hlivová', 'Hlohová', 'Hlučínska', 'Hnilecká', 'Hodálova', - 'Hodonínska', 'Hodonínska', 'Hodonínska', 'Hodžovo námestie', - 'Holekova', 'Holíčska', 'Hollého', 'Holubyho', 'Homolova', - 'Hontianska', 'Horárska', 'Horcová', 'Horčičná', 'Horná', - 'Horná Vančurová', 'Hornádska', 'Horné Židiny', 'Horská', 'Horská', - 'Horská', 'Hospodárska', 'Hrabový chodník', 'Hrad', 'Hradištná', - 'Hradná', 'Hradné údolie', 'Hradská', 'Hrachová', 'Hraničiarska', - 'Hraničná', 'Hraničný priechod-Ču', 'Hrdličkova', 'Hrebendova', - 'Hríbová', 'Hriňovská', 'Hrobákova', 'Hrobárska', 'Hroboňova', - 'Hronska', 'Hroznová', 'Hrušková', 'Hrušovská', 'Hubeného', 'Hubeného', - 'Hudecova', 'Humenské námestie', 'Hummelova', 'Hurbanovo námestie', - 'Hurbanovo námestie', 'Husova', 'Húščavova', 'Hutnícka', 'Hviezdna', - 'Hviezdicová', 'Hviezdoslavova', 'Hviezdoslavovo námes', 'Hyacintová', - 'Hybešova', 'Hydinárska', 'Hýrošova', 'Chalupkova', 'Charkovská', - 'Chemická', 'Chladná', 'Chlumeckého', 'Chmeľová', 'Chorvátska', - 'Chorvátska', 'Chotárna', 'Chrasťová', 'Chrenová', 'Chrobákova', - 'Ihličnatá', 'Ihrisková', 'Iľjušinova', 'Ilkovičova', 'Ílová', - 'Ilýrska', 'Imelová', 'Inovecká', 'Inovecká', 'Ipeľská', 'Irisová', - 'Irkutská', 'Iršajská', 'Iskerníková', 'Istrijská', 'Ivana Blazeviča', - 'Ivana Bukovčana', 'Ivana Horvátha', 'Ivánska cesta', 'J.C.Hronského', - 'Jabloňová', 'Jačmenná', 'Jadranská', 'Jadrová', 'Jahodová', - 'Jakabova', 'Jakubíkova', 'Jakubovo námestie', 'Jakubská', 'Jalovcová', - 'Jamnického', 'Jána Jonáša', 'Jána Poničana', 'Jána Raka', - 'Jána Smreka', 'Jána Stanislava', 'Janáčkova', 'Jančova', - 'Janíkove role', 'Janka Kráľa', 'Jankolova', 'Jánošíkova', 'Jánoškova', - 'Janotova', 'Janšákova', 'Jantárová', 'Jantárová', 'Jantárová cesta', - 'Jarabinková', 'Jarná', 'Jaroslavova', 'Jarošova', 'Jasencová', - 'Jaseňová', 'Jaskový rad', 'Jasná', 'Jasovská', 'Jastrabia', 'Jašíkova', - 'Javorinská', 'Javorová', 'Jazdecká', 'Jazerná', 'Jazmínová', - 'Jedenásta', 'Jedlíkova', 'Jedľová', 'Jégého', 'Jegeneš', 'Jelačičova', - 'Jelenia', 'Jelšová', 'Jeséniova', 'Jesenná', 'Jesenského', - 'Jesienková', 'Jiráskova', 'Jiskrova', 'Jókaiho', 'Jozefa Mikisitsa', - 'Jozefa Vachovského', 'Jozefská', 'Júlová', 'Junácka', 'Jungmannova', - 'Júnová', 'Jurigovo námestie', 'Jurkovičova', 'Jurovského', 'Jurská', - 'Justičná', 'K horárskej studni', 'K lomu', 'K pasienkom', - 'K Železnej studienke', 'Kadnárova', 'Kadnárova', 'Kadnárova', - 'Kadnárova', 'Kadnárova', 'Kafendova', 'Kalinčiakova', 'Kalinová', - 'Kalištná', 'Kaméliová', 'Kamenárska', 'Kamenné námestie', 'Kamilková', - 'Kamilková', 'Kamzík', 'Kapicova', 'Kapitulská', 'Kapitulský dvor', - 'Kaplinská', 'Kapucínska', 'Kapušianska', 'Karadžičova', 'Karadžičova', - 'Karadžičova', 'Karadžičova', 'Karloveská', 'Karloveské rameno', - 'Karpatská', 'Karpatské námestie', 'Kašmírska', 'Kaštielska', - 'Kataríny Brúderovej', 'Kaukazská', 'Kazanská', 'Kazanská', 'Kazanská', - 'Keltská', 'Kempelenova', 'Ketelec', 'Kežmarské námestie', - 'Kladnianska', 'Klariská', 'Klásková', 'Kláštorská', 'Klatovská', - 'Klatovská', 'Klemensova', 'Klenová', 'Klimkovičova', 'Klincová', - 'Klobučnícka', 'Klokočova', 'Kľukatá', 'Kĺzavá', 'Kmeťovo námestie', - 'Knižková dolina', 'Koceľova', 'Kočánkova', 'Kohútova', 'Koľajná', - 'Kolárska', 'Kolískova', 'Kollárova', 'Kollárovo námestie', - 'Kollárovo námestie', 'Kolmá', 'Komárňanská', 'Komárnická', - 'Komárnická', 'Komárovská', 'Komenského námestie', 'Kominárska', - 'Komonicová', 'Koncová', 'Koniarkova', 'Konopná', 'Konvalinková', - 'Konventná', 'Kopanice', 'Kopčianska', 'Koperníkova', 'Koprivnická', - 'Koprivnická', 'Koprivnická', 'Korabinského', 'Kórejská', 'Koreničova', - 'Koreňová', 'Korunská', 'Korytnická', 'Kosatcová', 'Kosodrevinová', - 'Kostlivého', 'Kostolná', 'Košická', 'Košická', 'Košická', 'Kovácsova', - 'Kováčska', 'Kovorobotnícka', 'Kovová', 'Kozia', 'Koziarka', - 'Kozičova', 'Kozmonautická', 'Kožušnícka', 'Kôprová', 'Kôstková', - 'Krahulčia', 'Krajinská', 'Krajinská cesta', 'Krajná', 'Krakovská', - 'Kráľovské údolie', 'Krasinského', 'Kraskova', 'Krásna', - 'Krásnohorská', 'Krasovského', 'Kratiny', 'Krátka', 'Krčméryho', - 'Kremeľská', 'Kremencová', 'Kremnická', 'Kresánkova', 'Kríková', - 'Krivá', 'Križkova', 'Krížna', 'Krížna', 'Krížna', 'Krížna', - 'Krmanova', 'Krokusová', 'Krompašská', 'Krupinská', 'Kubačova', - 'Kubániho', 'Kubínska', 'Kudlákova', 'Kuklovská', 'Kúkoľová', - 'Kukučínova', 'Kukuričná', 'Kulíškova', 'Kultúrna', 'Kuneradská', - 'Kupeckého', 'Kúpeľná', 'Kurucova', 'Kutlíkova', 'Kútska', - 'Kutuzovova', 'Kuzmányho', 'Kvačalova', 'Kvetinárska', 'Kvetná', - 'Kýčerského', 'Kyjevská', 'Kysucká', 'Laborecká', 'Lackova', - 'Ladislava Batthyányh', 'Ladislava Dérera', 'Ladislava Sáru', 'Ľadová', - 'Ladzianskeho', 'Lachova', 'Ľaliová', 'Lamačská cesta', - 'Lamačská cesta', 'Lamačská cesta', 'Lamanského', 'Landauova', - 'Landererova', 'Langsfeldova', 'Ľanová', 'Laskomerského', 'Laténská', - 'Latorická', 'Laučekova', 'Laurinská', 'Lazaretská', 'Lazaretská', - 'Leánska', 'Lediny', 'Legerského', 'Legionárska', 'Legionárska', - 'Lehotského', 'Lehotského', 'Leknová', 'Lenardova', 'Lermontovova', - 'Lesná', 'Lesnícka', 'Leškova', 'Letecká', 'Letisko M.R.Štefánik', - 'Letná', 'Levanduľová', 'Levárska', 'Levická', 'Levočská', 'Lidická', - 'Lieskovec', 'Lieskovcová', 'Lieskovská cesta', 'Lietavská', - 'Lichardova', 'Likavská', 'Limbová', 'Linzbothova', 'Lipnicová', - 'Lipová', 'Lipského', 'Liptovská', 'Lisovňa', 'Listová', 'Líščie nivy', - 'Líščie údolie', 'Litovská', 'Lodná', 'Lombardiniho', 'Lomnická', - 'Lomonosovova', 'Longobardská', 'Lónyaiová', 'Lopenícka', 'Lotyšská', - 'Lovinského', 'Lozornianská', 'Ľubietovská', 'Ľubinská', 'Ľubľanská', - 'Ľubochnianska', 'Ľubovnianska', 'Ľubovníková', 'Ľudové námestie', - 'Ľudovíta Fullu', 'Luhačovická', 'Lužická', 'Lúčna', 'Lužná', - 'Lýcejná', 'Lykovcová', 'Lysákova', 'M. Hella', 'Madáchova', 'Maďarská', - 'Magnetová', 'Magnezitová', 'Magnóliová', 'Magurská', 'Macharova', - 'Máchova', 'Majakovského', 'Majerníkova', 'Majerská', 'Májkova', - 'Majoránová', 'Májová', 'Maková', 'Makovického', 'Malá', 'Malagová', - 'Malé pálenisko', 'Malinová', 'Malodunajská', 'Malokarpatské námest', - 'Malý Draždiak', 'Malý trh', 'Mamateyova', 'Mamateyova', 'Mandľová', - 'Mandľovníková', 'Mánesovo námestie', 'Margarétková', 'Marhuľová', - 'Mariánska', 'Marie Curie-Sklodows', 'Márie Medveďovej', 'Markova', - 'Marótyho', 'Martákovej', 'Martinčekova', 'Martinčekova', - 'Martinengova', 'Martinská', 'Mateja Bela', 'Matejkova', 'Matičná', - 'Mätová', 'Matúškova', 'Matúšova', 'Mečíkova', 'Medená', 'Medová', - 'Medovková', 'Medzierka', 'Medzilaborecká', 'Mesačná', 'Mestská', - 'Meteorová', 'Metodova', 'Mickiewiczova', 'Mierová', 'Michalská', - 'Mikovíniho', 'Mikulášska', 'Milana Marečka', 'Milana Pišúta', - 'Miletičova', 'Miletičova', 'Mišíkova', 'Mišíkova', 'Mišíkova', - 'Mládežnícka', 'Mliekárenská', 'Mlynarovičova', 'Mlynská', - 'Mlynská dolina', 'Mlynská dolina', 'Mlynská dolina', 'Mlynské luhy', - 'Mlynské nivy', 'Mlynské nivy', 'Mlynské nivy', 'Mlynské nivy', - 'Mlynské nivy', 'Modranská', 'Modricová', 'Modrý chodník', 'Mojmírova', - 'Mokráň záhon', 'Mokrohájska cesta', 'Moldavská', 'Molecova', - 'Monardová', 'Morava', 'Moravská', 'Morušova', 'Moskovská', 'Most SNP', - 'Mostná', 'Mostová', 'Mošovského', 'Motýlia', 'Moyšova', 'Moyzesova', - 'Mozartova', 'Mramorová', 'Mraziarenská', 'Mrázova', 'Mudrochova', - 'Mudroňova', 'Mudroňova', 'Mudroňova', 'Muchovo námestie', 'Muránska', - 'Murgašova', 'Murnice', 'Muškátová', 'Muštová', 'Múzejná', 'Myjavská', - 'Mýtna', 'Mýtna', 'Na Baránku', 'Na barine', 'Na Brezinách', - 'Na doline', 'Na grbe', 'Na Grunte', 'Na Holom vrchu', 'Na hrádzi', - 'Na Hrebienku', 'Na hriadkach', 'Na Kalvárii', 'Na kaštieli', - 'Na kopci', 'Na križovatkách', 'Na lánoch', 'Na medzi', 'Na mýte', - 'Na pántoch', 'Na pasekách', 'Na paši', 'Na pažiti', 'Na piesku', - 'Na Revíne', 'Na Riviére', 'Na rozhliadke', 'Na Sitine', 'Na skale', - 'Na Slanci', 'Na Slavíne', 'Na spojke', 'Na stráni', 'Na Štyridsiatku', - 'Na úvrati', 'Na varte', 'Na Vlkovkách', 'Na vrátkach', 'Na vŕšku', - 'Na vyhliadke', 'Na výslní', 'Na Zlatej nohe', 'Nábělkova', - 'Nábrežie arm. gen. L', 'Nábrežná', 'Nad Dunajom', 'Nad Gronárom', - 'Nad jazierkom', 'Nad kúriou', 'Nad lomom', 'Nad lúčkami', - 'Nad lúčkami', 'Nad ostrovom', 'Nad Sihoťou', 'Nákovná', 'Nákupná', - 'Námestie 1. mája', 'Námestie 6. apríla', 'Námestie Alexandra D', - 'Námestie Andreja Hli', 'Námestie Biely kríž', 'Námestie Hraničiarov', - 'Námestie Jána Kostru', 'Námestie Jána Pavla', 'Námestie Ľudovíta Št', - 'Námestie Martina Ben', 'Námestie Rodiny', 'Námestie slobody', - 'Námestie slobody', 'Námestie SNP', 'Námestie SNP', - 'Námestie sv. Františ', 'Námestie sv. Petra a', 'Narcisová', - 'Nedbalova', 'Nechtíková', 'Nejedlého', 'Nekrasovova', 'Nemčíkova', - 'Nerudova', 'Nevädzová', 'Nevská', 'Nezábudková', 'Nezvalova', - 'Niťová', 'Nitrianska', 'Nížinná', 'Nobelova', 'Nobelovo námestie', - 'Nová', 'Nová Bellova', 'Nová hora', 'Novackého', 'Nové pálenisko', - 'Nové záhrady I', 'Nové záhrady II', 'Nové záhrady III', - 'Nové záhrady IV', 'Nové záhrady V', 'Nové záhrady VI', - 'Nové záhrady VII', 'Novinárska', 'Novobanská', 'Novodvorská', - 'Novohorská', 'Novohradská', 'Novosadná', 'Novosvetská', 'Novosvetská', - 'Novosvetská', 'Novoveská', 'Nový záhon', 'Obežná', 'Obchodná', - 'Oblačná', 'Oblúková', 'Očovská', 'Odbojárov', 'Odborárska', - 'Odborárske námestie', 'Odborárske námestie', 'Odeská', 'Ohnicová', - 'Okánikova', 'Okružná', 'Olbrachtova', 'Oleandrová', 'Olejkárska', - 'Olivová', 'Olšová', 'Ondavská', 'Ondrejovova', 'Ondrejská', 'Opavská', - 'Opletalova', 'Oráčska', 'Oravská', 'Orechová', 'Orechová cesta', - 'Orechový rad', 'Orenburská', 'Orgovánová', 'Orchideová', 'Oriešková', - 'Ormisova', 'Osadná', 'Osiková', 'Oskorušová', 'Osloboditeľská', - 'Ostravská', 'Ostredková', 'Ostružinová', 'Osuského', 'Osvetová', - 'Otonelská', 'Ovčiarska', 'Ovocná', 'Ovručská', 'Ovsená', - 'Ovsištské námestie', 'Ožvoldíkova', 'Ôsma', 'Pajštúnska', 'Palackého', - 'Palárikova', 'Palárikova', 'Palinová', 'Palisády', 'Palisády', - 'Palisády', 'Palkovičova', 'Palmová', 'Panenská', 'Pankúchova', - 'Panónska cesta', 'Panská', 'Papánkovo námestie', 'Papraďová', - 'Parcelná', 'Páričkova', 'Parková', 'Partizánska', 'Pasienková', - 'Pasienky', 'Pastierska', 'Paulínyho', 'Pave Vukoviča', 'Pavla Blaha', - 'Pavla Horova', 'Pavlovičova', 'Pavlovova', 'Pavlovská', 'Pažického', - 'Pažítková', 'Pečnianska', 'Pekná cesta', 'Pekná cesta', 'Pekná cesta', - 'Pekná vyhliadka', 'Pekníkova', 'Pernecká', 'Perličková', - 'Pestovateľská', 'Petara Pasicha', 'Peterská', 'Petöfiho', - 'Petržalská', 'Petúniová', 'Pezinská', 'Piata', 'Pieskovcová', - 'Piesočná', 'Piešťanská', 'Pifflova', 'Pilárikova', 'Pílová', - 'Píniová', 'Pionierska', 'Pionierska', 'Pivoňková', 'Plachého', - 'Plachého', 'Planckova', 'Planét', 'Plánky', 'Platanová', 'Plátenícka', - 'Plavecká', 'Plickova', 'Pluhová', 'Plynárenská', 'Plzenská', - 'Pobrežná', 'Pod agátmi', 'Pod Bôrikom', 'Pod brehmi', 'Pod gaštanmi', - 'Pod Kalváriou', 'Pod Klepáčom', 'Pod Kobylou', 'Pod Krásnou hôrkou', - 'Pod lesom', 'Pod lipami', 'Pod Lipovým', 'Pod násypom', - 'Pod Rovnicami', 'Pod skalou', 'Pod srdcom', 'Pod Strážami', - 'Pod Vachmajstrom', 'Pod Válkom', 'Pod vinicami', 'Pod záhradami', - 'Pod záhradami', 'Pod Zečákom', 'Podbeľová', 'Podbrezovská', 'Podháj', - 'Podhorská', 'Podhorského', 'Podjavorinskej', 'Podkarpatská', - 'Podkerepušky', 'Podkolibská', 'Podkorunská', 'Podlesná', - 'Podlučinského', 'Podniková', 'Podpriehradná', 'Podtatranského', - 'Podunajská', 'Podunajská', 'Podzáhradná', 'Pohánková', 'Pohraničníkov', - 'Pohronská', 'Polárna', 'Polianky', 'Poľná', 'Poľnohospodárska', - 'Poľný mlyn', 'Poloreckého', 'Poľská', 'Poludníková', 'Poniklecová', - 'Popolná', 'Popovova', 'Popradská', 'Porubského', 'Poštová', 'Potočná', - 'Považanova', 'Považská', 'Povoznícka', 'Povraznícka', 'Povraznícka', - 'Požiarnická', 'Pračanská', 'Prasličková', 'Pražská', 'Pražská', - 'Predstaničné námesti', 'Prepoštská', 'Prešernova', 'Prešovská', - 'Prešovská', 'Prešovská', 'Pri Bielom kríži', 'Pri dvore', - 'Pri Dynamitke', 'Pri Habánskom mlyne', 'Pri hradnej studni', - 'Pri hrádzi', 'Pri kolíske', 'Pri kríži', 'Pri mlyne', 'Pri Rochu', - 'Pri seči', 'Pri Starej Prachárni', 'Pri Starom háji', - 'Pri starom letisku', 'Pri Starom Mýte', 'Pri strelnici', 'Pri Struhe', - 'Pri Suchom mlyne', 'Pri Šajbách', 'Pri tehelni', 'Pri trati', - 'Pri vinohradoch', 'Pri zvonici', 'Priama cesta', 'Pribylinská', - 'Pribinova', 'Pribinova', 'Pribinova', 'Pribišova', 'Prídanky', - 'Prídavková', 'Priečna', 'Priehradná', 'Priekopnícka', 'Priekopy', - 'Priemyselná', 'Priemyselná', 'Prievozská', 'Prievozská', 'Prievozská', - 'Príjazdná', 'Príkopova', 'Primaciálne námestie', 'Prímoravská', - 'Prípojná', 'Prístav', 'Prístavná', 'Prokofievova', 'Prokopa Veľkého', - 'Prokopova', 'Prúdová', 'Prvá', 'Prvosienková', 'Pšeničná', - 'Púchovská', 'Púpavová', 'Pustá', 'Puškinova', 'Pútnická', - 'Pyrenejská', 'Rácova', 'Račianska', 'Račianska', 'Račianska', - 'Račianska', 'Račianska', 'Račianska', 'Račianske mýto', 'Radarová', - 'Rádiová', 'Radlinského', 'Radničná', 'Radničné námestie', 'Radvanská', - 'Rajčianska', 'Rajecká', 'Rajská', 'Rajtákova', 'Raketová', 'Rákosová', - 'Rascová', 'Rascová', 'Rastislavova', 'Rastlinná', 'Rašelinová', - 'Ráztočná', 'Rázusovo nábrežie', 'Ražná', 'Rebarborová', 'Regrútska', - 'Remeselnícka', 'Repašského', 'Repíková', 'Repná', 'Rešetkova', - 'Revolučná', 'Révová', 'Revúcka', 'Rezedová', 'Riazanská', 'Riazanská', - 'Ribayová', 'Ríbezľová', 'Riečna', 'Rigeleho', 'Rímska', 'Rízlingová', - 'Riznerova', 'Robotnícka', 'Roľnícka', 'Romanova', 'Röntgenova', - 'Rosná', 'Rostovská', 'Rošického', 'Rovná', 'Rovniankova', 'Rovníková', - 'Royova', 'Rozálska', 'Rozmarínová', 'Rozvodná', 'Rožňavská', - 'Rožňavská', 'Rožňavská', 'Rubínová', 'Rubinsteinova', - 'Rudnayovo námestie', 'Rudnícka', 'Rulandská', 'Rumančeková', - 'Rumunská', 'Rusovce', 'Rusovská cesta', 'Rustaveliho', 'Ružičková', - 'Ružinovská', 'Ružinovská', 'Ružinovská', 'Ružomberská', - 'Ružová dolina', 'Ružová dolina', 'Rybárska brána', 'Rybné námestie', - 'Rybničná', 'Rybničná', 'Rybničná', 'Rýdziková', 'Rytierska', - 'Sabinovská', 'Sabinovská', 'Sad Janka Kráľa', 'Sadmelijská', 'Sadová', - 'Samova', 'Saratovská', 'Sartorisova', 'Sasanková', 'Sasinkova', - 'Savignonská', 'Seberíniho', 'Sečovská', 'Sedlárska', 'Sedmokrásková', - 'Segnáre', 'Segnerova', 'Sekulská', 'Sekurisova', 'Sekýľska', - 'Semenárska', 'Semianova', 'Semilonská', 'Senická', 'Senná', - 'Septimiova', 'Schengenská', 'Schillerova', 'Schneidera -Trnavské', - 'Schody pri starej vo', 'Sibírska', 'Siedma', 'Sienkiewiczova', - 'Silvánska', 'Sinokvetná', 'Skalická cesta', 'Skalná', 'Skerličova', - 'Sklabinská', 'Sklenárova', 'Sklenárska', 'Skoroceľová', 'Skuteckého', - 'Skýcovská', 'Sládkovičova', 'Sladová', 'Slatinská', 'Slávičie údolie', - 'Slavín', 'Slepá', 'Sliačska', 'Sliezska', 'Slivková', 'Sĺňavská', - 'Slnečná', 'Slnečnicová', 'Slovanské nábrežie', 'Slovienska', - 'Slovinec', 'Slovinská', 'Slovnaftská', 'Slovnaftská', 'Slowackého', - 'Smetanova', 'Smikova', 'Smolenická', 'Smolnícka', 'Smrečianska', - 'Smrečianska', 'Snežienková', 'Soferove schody', 'Socháňova', - 'Sochorova', 'Sokolíkova', 'Sokolská', 'Solivarská', 'Sološnická', - 'Somolického', 'Somolického', 'Sosnová', 'Sovia', 'Spádová', - 'Spätná cesta', 'Spišská', 'Spojná', 'Spoločenská', 'Sputniková', - 'Sreznevského', 'Srnčia', 'Stachanovská', 'Stálicová', 'Stanekova', - 'Staničná', 'Stará Černicová', 'Stará Ivánska cesta', 'Stará Klenová', - 'Stará Prievozská', 'Stará Stupavská', 'Stará Vajnorská', - 'Stará vinárska', 'Staré Grunty', 'Staré ihrisko', 'Staré záhrady', - 'Starhradská', 'Starohájska', 'Staromestská', 'Staromlynská', - 'Starorímska', 'Staroturský chodník', 'Stavbárska', 'Staviteľská', - 'Stepná cesta', 'Stodolova', 'Stoklasová', 'Stolárska', 'Strakova', - 'Stratená', 'Strážna', 'Strážnická', 'Strážny dom', 'Strečnianska', - 'Stredná', 'Strelecká', 'Strelkova', 'Strmá cesta', 'Strmé sady', - 'Strmý bok', 'Strmý vŕšok', 'Strojnícka', 'Stromová', 'Stropkovská', - 'Struková', 'Studená', 'Studenohorská', 'Stuhová', 'Stupavská', - 'Súbežná', 'Sudová', 'Súhvezdná', 'Suchá', 'Suché mýto', 'Suchohradská', - 'Súkennícka', 'Súľovská', 'Sumbalova', 'Súmračná', 'Súťažná', - 'Svätého Vincenta', 'Svätoplukova', 'Svätoplukova', 'Svätovojtešská', - 'Svébska', 'Svetlá', 'Svíbová', 'Svidnícka', 'Svoradova', 'Svrčia', - 'Syslia', 'Šafárikovo námestie', 'Šafárikovo námestie', 'Šafránová', - 'Šagátova', 'Šachorová', 'Šalátová', 'Šaldova', 'Šalviová', - 'Šamorínska', 'Šancová', 'Šancová', 'Šancová', 'Šancová', 'Šándorova', - 'Šarišská', 'Šášovská', 'Šaštínska', 'Ševčenkova', 'Šiesta', 'Šikmá', - 'Šinkovské', 'Šintavská', 'Šípková', 'Šípová', 'Šíravská', 'Široká', - 'Škarniclova', 'Školská', 'Škovránčia', 'Škultétyho', 'Šoltésovej', - 'Šošovicová', 'Špieszova', 'Špitálska', 'Športová', - 'Šrobárovo námestie', 'Šťastná', 'Štedrá', 'Štefana Králika', - 'Štefana Králika', 'Štefana Majera', 'Štefánikova', 'Štefánikova', - 'Štefánikova', 'Štefanovičova', 'Štefunkova', 'Štepná', 'Štetinova', - 'Štiavnická', 'Štítová', 'Štrbská', 'Štúrova', 'Štvrtá', 'Štyndlova', - 'Šulekova', 'Šulekova', 'Šulekova', 'Šumavská', 'Šuňavcova', 'Šúrska', - 'Šustekova', 'Šuty', 'Švabinského', 'Švantnerova', 'Tabaková', - 'Tablicova', 'Táborská', 'Tajovského', 'Talichova', 'Tallerova', - 'Tatranská', 'Tavaríkova osada', 'Tbiliská', 'Tehelná', 'Tehelňa', - 'Tehliarska', 'Technická', 'Tekovská', 'Tekvicová', 'Telocvičná', - 'Tematínska', 'Teplická', 'Terchovská', 'Teslova', 'Tešedíkova', - 'Tetmayerova', 'Thurzova', 'Tibenského', 'Tibériová', 'Tichá', - 'Tilgnerova', 'Timravina', 'Tobrucká', 'Tokajícka', 'Tolstého', - 'Tománkova', 'Tomanova', 'Tomášikova', 'Tomášikova', 'Tomášikova', - 'Tomášikova', 'Tomášikova', 'Toplianska', 'Topoľčianska', 'Topoľová', - 'Toryská', 'Továrenská', 'Trajánova', 'Tramínová', 'Tranovského', - 'Trávna', 'Trebišovská', 'Trebišovská', 'Trebišovská', 'Trenčianska', - 'Treskoňova', 'Tretia', 'Trhová', 'Trinásta', 'Trnavská cesta', - 'Trnavská cesta', 'Trnavská cesta', 'Trnavská cesta', 'Trnavská cesta', - 'Trnavské mýto', 'Trnková', 'Tŕňová', 'Trojdomy', 'Trojičné námestie', - 'Trstínska', 'Tučkova', 'Tuhovská', 'Tulipánová', 'Tupého', - 'Tupolevova', 'Turbínova', 'Turčianska', 'Turistická', 'Turnianska', - 'Tvarožkova', 'Tylova', 'Tymiánová', 'Tyršovo nábrežie', 'Učiteľská', - 'Údernícka', 'Údolná', 'Uhliská', 'Uhorková', 'Uhrova', 'Uhrovecká', - 'Ukrajinská', 'Ulica 1. mája', 'Ulica 29. augusta', - 'Ulica 29. augusta', 'Ulica 29. augusta', 'Ulica 29. augusta', - 'Ulica 8. mája', 'Ulica Alviano', 'Ulica Imricha Karvaš', - 'Ulica J. Valašťana D', 'Ulica Janka Alexyho', 'Ulica Jozefa Krónera', - 'Ulica Juraja Hronca', 'Ulica Karola Adlera', 'Ulica kpt. Rašu', - 'Ulica Leopoldov maje', 'Ulica Ľuda Zúbka', 'Ulica Nad Válkom', - 'Ulica padlých hrdino', 'Ulica Pri gaštanovej', 'Ulica Pri pastierni', - 'Ulica Pri Vápeníckom', 'Ulica Pri vodnej nád', 'Ulica svornosti', - 'Ulica Viktora Tegelh', 'Úprkova', 'Úradnícka', 'Uránová', 'Urbánkova', - 'Urbárska', 'Ursínyho', 'Uršulínska', 'Ušiakova', 'Úvozná', 'Uzbecká', - 'Úzka', 'Úžiny', 'V záhradách', 'Vajanského nábrežie', 'Vajnorská', - 'Vajnorská', 'Vajnorská', 'Vajnorská', 'Vajnorská', 'Vajnorská', - 'Vajnorská', 'Vajnorská', 'Vajnorská', 'Valachovej', 'Valašská', - 'Valchárska', 'Vančurova', 'Vansovej', 'Vápencová', 'Vápenka', - 'Vápenná', 'Varínska', 'Varšavská', 'Varšavská', 'Vavilovova', - 'Vavrinecká', 'Vavrínova', 'Vazovova', 'Vážska', 'Včelárska', - 'Velehradská', 'Veľké Štepnice', 'Veltlínska', 'Vendelínska', - 'Ventúrska', 'Veterná', 'Veternicová', 'Vetvárska', 'Vetvová', - 'Vidlicová', 'Viedenská cesta', 'Viedenská cesta', 'Viedenská cesta', - 'Vietnamská', 'Vígľašská', 'Vihorlatská', 'Viktorínova', 'Vilová', - 'Viničná', 'Vínna', 'Vinohradnícka', 'Višňová', 'Víťazná', 'Vlárska', - 'Vlastenecké námestie', 'Vlčie hrdlo', 'Vlčkova', 'Vlčkova', 'Vlčkova', - 'Vodné elektrárne', 'Vodný vrch', 'Vosková', 'Votrubova', 'Vrábeľská', - 'Vrakunská', 'Vrakunská cesta', 'Vrakunská cesta', 'Vrančovičova', - 'Vranovská', 'Vrbánska', 'Vrbenského', 'Vŕbová', 'Vresová', - 'Vretenová', 'Vrchná', 'Vrútocká', 'Vtáčikova', 'Vtáčnik', 'Vyhliadka', - 'Vyhnianska cesta', 'Výhonská', 'Východná', 'Vysoká', 'Vysokohorská', - 'Vyšehradská', 'Vyšná', 'Výtvarná', 'Vývojová', 'Wattova', 'Wilsonova', - 'Wolkrova', 'Za bránou', 'Za farou', 'Za Kasárňou', 'Za mlynom', - 'Za sokolovňou', 'Za Stanicou', 'Za tehelňou', 'Záborského', - 'Zadunajská cesta', 'Záhorácka', 'Záhorská', 'Záhradkárska', 'Záhradná', - 'Záhradnícka', 'Záhradnícka', 'Záhradnícka', 'Záhradnícka', 'Záhrady', - 'Záhrebská', 'Záhrebská', 'Záhumenná', 'Záhumenská', 'Zákutie', - 'Zálužická', 'Zámocká', 'Zámocké schody', 'Zámočnícka', 'Západná', - 'Západný rad', 'Záporožská', 'Záruby', 'Zátišie', 'Zátureckého', - 'Zavadilová', 'Závadská', 'Záveterná', 'Závodná', 'Závodníkova', - 'Zbrody', 'Zdravotnícka', 'Zelená', 'Zeleninová', 'Zelenohorská', - 'Zelinárska', 'Zhorínska', 'Zidiny', 'Zimná', 'Zlatá', 'Zlaté piesky', - 'Zlaté schody', 'Zlatohorská', 'Znievska', 'Zohorská', 'Zochova', - 'Zrinského', 'Zvolenská', 'Zvončeková', 'Žabí majer', 'Žabotova', - 'Žarnovická', 'Žatevná', 'Žehrianska', 'Železná', 'Železničiarska', - 'Železničná', 'Želiarska', 'Žellova', 'Žiacka', 'Žiarska', 'Židovská', - 'Žihľavová', 'Žilinská', 'Žilinská', 'Žitavská', 'Žitná', 'Živnostenská', - 'Žižkova', 'Žulová', 'Župné námestie', 'Borágova', 'Parenicová', - 'Loparová', 'Jegnešská', 'Jonatanová', 'Monardová', 'Perličková', + "Adámiho", + "Agátová", + "Ahoj", + "Albánska", + "Albrechtova", + "Alejová", + "Alešova", + "Alstrova", + "Alžbetínska", + "Alžbety Gwerkovej", + "Amarelková", + "Ambroseho", + "Ambrova", + "Ambrušova", + "Americká", + "Americké námestie", + "Americké námestie", + "Amurská", + "Andreja Mráza", + "Andreja Plávku", + "Andrusovova", + "Anenská", + "Anenská", + "Anízová", + "Antická", + "Antolská", + "Arménska", + "Astronomická", + "Astrová", + "Avarská", + "Azalková", + "Azovská", + "Babuškova", + "Bagarova", + "Báger", + "Bahniatková", + "Bachova", + "Bajkalská", + "Bajkalská", + "Bajkalská", + "Bajkalská", + "Bajkalská", + "Bajkalská", + "Bajzova", + "Bakošova", + "Balkánska", + "Baltská", + "Bancíkovej", + "Banícka", + "Baničova", + "Baníkova", + "Banskobystrická", + "Banšelova", + "Bardejovská", + "Bárdošova", + "Barónka", + "Bartókova", + "Bartoňova", + "Bartoškova", + "Baštová", + "Batkova", + "Bazalková", + "Bazová", + "Bazovského", + "Bažantia", + "Beblavého", + "Bebravská", + "Beckovská", + "Bedľová", + "Begóniová", + "Belániková", + "Belehradská", + "Belianska", + "Belinského", + "Bellova", + "Belopotockého", + "Beňadická", + "Bencúrova", + "Benediktiho", + "Beniakova", + "Beňovského", + "Bernolákova", + "Beskydská", + "Betliarska", + "Bezekova", + "Bezručova", + "Biela", + "Bielkova", + "Bieloruská", + "Bilíkova", + "Biskupická", + "Björnsonova", + "Blagoevova", + "Blatnická", + "Blatúchová", + "Bleduľová", + "Blumentálska", + "Blyskáčová", + "Bočná", + "Bodliaková", + "Bodrocká", + "Bodvianska", + "Bohrova", + "Bohúňova", + "Bojnická", + "Boragová", + "Borekova", + "Borievková", + "Borinská", + "Borodáčova", + "Borovicová", + "Borská", + "Bosákova", + "Boskovičova", + "Bošániho", + "Botanická", + "Bottova", + "Boženy Němcovej", + "Bôrik", + "Bradáčova", + "Bradlianska", + "Brančská", + "Bratislava-Vinohrady", + "Bratislavská", + "Bratská", + "Brečtanová", + "Brestová", + "Brezová", + "Brezovská", + "Brežná", + "Bridlicová", + "Briežky", + "Brigádnická", + "Brižitská", + "Brnianska", + "Brodná", + "Brodská", + "Brokolicová", + "Bronzová", + "Broskyňová", + "Bršlenová", + "Brumovická", + "Brusnicová", + "Břeclavská", + "Bučinová", + "Budatínska", + "Budatínska", + "Budatínska", + "Búdkova cesta", + "Budovateľská", + "Budyšínska", + "Budyšínska", + "Bujnáková", + "Buková", + "Bukovinská", + "Bukureštská", + "Bulharská", + "Bulíkova", + "Bullova", + "Burgundská", + "Buzalkova", + "Bystrého", + "Bystrická", + "BzovIcka", + "Cabanova", + "Cablkova", + "Cádrova", + "Cesta mládeže", + "Cesta mládeže", + "Cesta na Červený most", + "Cesta na Červený most", + "Cesta na Kamzík", + "Cesta na Klanec", + "Cesta na Senec", + "Cígeľská", + "Cikkerova", + "Cintorínska", + "Cintulova", + "Colnícka", + "Cukrová", + "Cyklámenová", + "Cyprichova", + "Cyprichova", + "Cyrilova", + "Čachtická", + "Čajakova", + "Čajakova", + "Čajkovského", + "Čakanková", + "Čaklovská", + "Čalovská", + "Čapajevova", + "Čapkova", + "Čárskeho", + "Čavojského", + "Čečinová", + "Čelakovského", + "Čerešňová", + "Černicová", + "Černockého", + "Černockého", + "Černyševského", + "Červená", + "Červeňákova", + "Červeňova", + "Česká", + "Československých par", + "Československých tan", + "Čiernohorská", + "Čiernovodská", + "Čierny chodník", + "Čiližská", + "Čipkárska", + "Čmelíkova", + "Čmeľovec", + "Čremchová", + "Čučoriedková", + "Čulenova", + "Daliborovo námestie", + "Damborského", + "Dankovského", + "Dargovská", + "Ďatelinová", + "Daxnerovo námestie", + "Delená", + "Delená cesta", + "Demänovská", + "Desiata", + "Detvianska", + "Devätinová", + "Deviata", + "Devínska cesta", + "Devínska cesta - kam", + "Devínske jazero", + "Dlhá", + "Dlhé diely I.", + "Dlhé diely II.", + "Dlhé diely III.", + "Dneperská", + "Dobrovičova", + "Dobrovičova", + "Dobrovského", + "Dobšinského", + "Dohnalova", + "Dohnányho", + "Doležalova", + "Dolná", + "Dolné Koruny", + "Dolnokorunská", + "Dolnozemská cesta", + "Domašská", + "Domkárska", + "Domové role", + "Donnerova", + "Donovalova", + "Donská", + "Dopravná", + "Dorastenecká", + "Dostojevského rad", + "Dr. Vladimíra Clemen", + "Dražická", + "Drevená", + "Drieňová", + "Drieňová", + "Drieňová", + "Drobného", + "Drotárska cesta", + "Drotárska cesta", + "Drotárska cesta", + "Druhá", + "Druidská", + "Družicová", + "Družobná", + "Družstevná", + "Dubnická", + "Dubová", + "Dúbravčická", + "Dúbravská cesta", + "Dudova", + "Dudvážska", + "Dulovo námestie", + "Dulovo námestie", + "Ďumbierska", + "Dunajská", + "Ďurgalova", + "Dvanásta", + "Dvojkrížna", + "Dvojkrížna", + "Dvořákovo nábrežie", + "Edisonova", + "Egrešová", + "Einsteinova", + "Eisnerova", + "Elektrárenská", + "Estónska", + "Estónska", + "Exnárova", + "F. Kostku", + "Fadruszova", + "Fajnorovo nábrežie", + "Fándlyho", + "Farebná", + "Farská", + "Farského", + "Fazuľová", + "Fedákova", + "Fedinova", + "Ferienčíkova", + "Fialkové údolie", + "Fibichova", + "Fikusová", + "Filiálne nádražie", + "Fláviovská", + "Flöglova", + "Floriánske námestie", + "Fraňa Kráľa", + "Francisciho", + "Francúzskych partizá", + "Frankovská", + "Františkánska", + "Františkánske námest", + "Františka Schmuckera", + "Furdekova", + "Furdekova", + "Furmanská", + "Furmintská", + "Gabčíkova", + "Gagarinova", + "Gagarinova", + "Gagarinova", + "Gajarská", + "Gajc", + "Gajova", + "Galaktická", + "Galandova", + "Galbavého", + "Gallayova", + "Gallova", + "Galvaniho", + "Gašparíkova", + "Gaštanová", + "Gavlovičova", + "Gbelská", + "Gelnická", + "Gemerská", + "Geologická", + "Georgínová", + "Gercenova", + "Gerulatská", + "Gessayova", + "Gettingová", + "Glavica", + "Godrova", + "Gogoľova", + "Goláňova", + "Gondova", + "Goralská", + "Gorazdova", + "Gorkého", + "Gregorovej", + "Gronárska", + "Grösslingova", + "Gruzínska", + "Gunduličova", + "Guothova", + "Gusevova", + "Haanova", + "Haburská", + "Hadia cesta", + "Hadriánová", + "Hagarova", + "Hagarova", + "Hájová", + "Halašova", + "Hálkova", + "Hálova", + "Hamuliakova", + "Hanácka", + "Handlovská", + "Hanulova", + "Hanulova", + "Hany Meličkovej", + "Hargašova", + "Harmanecká", + "Harmincova", + "Hasičská", + "Hattalova", + "Havelkova", + "Havlíčkova", + "Havrania", + "Haydnova", + "Hečkova", + "Herlianska", + "Herlianska", + "Heydukova", + "Heyrovského", + "Hlaváčikova", + "Hlavatého", + "Hlavná", + "Hlavné námestie", + "Hlbinná", + "Hlboká cesta", + "Hlboká cesta", + "Hlinická", + "Hlinická", + "Hlivová", + "Hlohová", + "Hlučínska", + "Hnilecká", + "Hodálova", + "Hodonínska", + "Hodonínska", + "Hodonínska", + "Hodžovo námestie", + "Holekova", + "Holíčska", + "Hollého", + "Holubyho", + "Homolova", + "Hontianska", + "Horárska", + "Horcová", + "Horčičná", + "Horná", + "Horná Vančurová", + "Hornádska", + "Horné Židiny", + "Horská", + "Horská", + "Horská", + "Hospodárska", + "Hrabový chodník", + "Hrad", + "Hradištná", + "Hradná", + "Hradné údolie", + "Hradská", + "Hrachová", + "Hraničiarska", + "Hraničná", + "Hraničný priechod-Ču", + "Hrdličkova", + "Hrebendova", + "Hríbová", + "Hriňovská", + "Hrobákova", + "Hrobárska", + "Hroboňova", + "Hronska", + "Hroznová", + "Hrušková", + "Hrušovská", + "Hubeného", + "Hubeného", + "Hudecova", + "Humenské námestie", + "Hummelova", + "Hurbanovo námestie", + "Hurbanovo námestie", + "Husova", + "Húščavova", + "Hutnícka", + "Hviezdna", + "Hviezdicová", + "Hviezdoslavova", + "Hviezdoslavovo námes", + "Hyacintová", + "Hybešova", + "Hydinárska", + "Hýrošova", + "Chalupkova", + "Charkovská", + "Chemická", + "Chladná", + "Chlumeckého", + "Chmeľová", + "Chorvátska", + "Chorvátska", + "Chotárna", + "Chrasťová", + "Chrenová", + "Chrobákova", + "Ihličnatá", + "Ihrisková", + "Iľjušinova", + "Ilkovičova", + "Ílová", + "Ilýrska", + "Imelová", + "Inovecká", + "Inovecká", + "Ipeľská", + "Irisová", + "Irkutská", + "Iršajská", + "Iskerníková", + "Istrijská", + "Ivana Blazeviča", + "Ivana Bukovčana", + "Ivana Horvátha", + "Ivánska cesta", + "J.C.Hronského", + "Jabloňová", + "Jačmenná", + "Jadranská", + "Jadrová", + "Jahodová", + "Jakabova", + "Jakubíkova", + "Jakubovo námestie", + "Jakubská", + "Jalovcová", + "Jamnického", + "Jána Jonáša", + "Jána Poničana", + "Jána Raka", + "Jána Smreka", + "Jána Stanislava", + "Janáčkova", + "Jančova", + "Janíkove role", + "Janka Kráľa", + "Jankolova", + "Jánošíkova", + "Jánoškova", + "Janotova", + "Janšákova", + "Jantárová", + "Jantárová", + "Jantárová cesta", + "Jarabinková", + "Jarná", + "Jaroslavova", + "Jarošova", + "Jasencová", + "Jaseňová", + "Jaskový rad", + "Jasná", + "Jasovská", + "Jastrabia", + "Jašíkova", + "Javorinská", + "Javorová", + "Jazdecká", + "Jazerná", + "Jazmínová", + "Jedenásta", + "Jedlíkova", + "Jedľová", + "Jégého", + "Jegeneš", + "Jelačičova", + "Jelenia", + "Jelšová", + "Jeséniova", + "Jesenná", + "Jesenského", + "Jesienková", + "Jiráskova", + "Jiskrova", + "Jókaiho", + "Jozefa Mikisitsa", + "Jozefa Vachovského", + "Jozefská", + "Júlová", + "Junácka", + "Jungmannova", + "Júnová", + "Jurigovo námestie", + "Jurkovičova", + "Jurovského", + "Jurská", + "Justičná", + "K horárskej studni", + "K lomu", + "K pasienkom", + "K Železnej studienke", + "Kadnárova", + "Kadnárova", + "Kadnárova", + "Kadnárova", + "Kadnárova", + "Kafendova", + "Kalinčiakova", + "Kalinová", + "Kalištná", + "Kaméliová", + "Kamenárska", + "Kamenné námestie", + "Kamilková", + "Kamilková", + "Kamzík", + "Kapicova", + "Kapitulská", + "Kapitulský dvor", + "Kaplinská", + "Kapucínska", + "Kapušianska", + "Karadžičova", + "Karadžičova", + "Karadžičova", + "Karadžičova", + "Karloveská", + "Karloveské rameno", + "Karpatská", + "Karpatské námestie", + "Kašmírska", + "Kaštielska", + "Kataríny Brúderovej", + "Kaukazská", + "Kazanská", + "Kazanská", + "Kazanská", + "Keltská", + "Kempelenova", + "Ketelec", + "Kežmarské námestie", + "Kladnianska", + "Klariská", + "Klásková", + "Kláštorská", + "Klatovská", + "Klatovská", + "Klemensova", + "Klenová", + "Klimkovičova", + "Klincová", + "Klobučnícka", + "Klokočova", + "Kľukatá", + "Kĺzavá", + "Kmeťovo námestie", + "Knižková dolina", + "Koceľova", + "Kočánkova", + "Kohútova", + "Koľajná", + "Kolárska", + "Kolískova", + "Kollárova", + "Kollárovo námestie", + "Kollárovo námestie", + "Kolmá", + "Komárňanská", + "Komárnická", + "Komárnická", + "Komárovská", + "Komenského námestie", + "Kominárska", + "Komonicová", + "Koncová", + "Koniarkova", + "Konopná", + "Konvalinková", + "Konventná", + "Kopanice", + "Kopčianska", + "Koperníkova", + "Koprivnická", + "Koprivnická", + "Koprivnická", + "Korabinského", + "Kórejská", + "Koreničova", + "Koreňová", + "Korunská", + "Korytnická", + "Kosatcová", + "Kosodrevinová", + "Kostlivého", + "Kostolná", + "Košická", + "Košická", + "Košická", + "Kovácsova", + "Kováčska", + "Kovorobotnícka", + "Kovová", + "Kozia", + "Koziarka", + "Kozičova", + "Kozmonautická", + "Kožušnícka", + "Kôprová", + "Kôstková", + "Krahulčia", + "Krajinská", + "Krajinská cesta", + "Krajná", + "Krakovská", + "Kráľovské údolie", + "Krasinského", + "Kraskova", + "Krásna", + "Krásnohorská", + "Krasovského", + "Kratiny", + "Krátka", + "Krčméryho", + "Kremeľská", + "Kremencová", + "Kremnická", + "Kresánkova", + "Kríková", + "Krivá", + "Križkova", + "Krížna", + "Krížna", + "Krížna", + "Krížna", + "Krmanova", + "Krokusová", + "Krompašská", + "Krupinská", + "Kubačova", + "Kubániho", + "Kubínska", + "Kudlákova", + "Kuklovská", + "Kúkoľová", + "Kukučínova", + "Kukuričná", + "Kulíškova", + "Kultúrna", + "Kuneradská", + "Kupeckého", + "Kúpeľná", + "Kurucova", + "Kutlíkova", + "Kútska", + "Kutuzovova", + "Kuzmányho", + "Kvačalova", + "Kvetinárska", + "Kvetná", + "Kýčerského", + "Kyjevská", + "Kysucká", + "Laborecká", + "Lackova", + "Ladislava Batthyányh", + "Ladislava Dérera", + "Ladislava Sáru", + "Ľadová", + "Ladzianskeho", + "Lachova", + "Ľaliová", + "Lamačská cesta", + "Lamačská cesta", + "Lamačská cesta", + "Lamanského", + "Landauova", + "Landererova", + "Langsfeldova", + "Ľanová", + "Laskomerského", + "Laténská", + "Latorická", + "Laučekova", + "Laurinská", + "Lazaretská", + "Lazaretská", + "Leánska", + "Lediny", + "Legerského", + "Legionárska", + "Legionárska", + "Lehotského", + "Lehotského", + "Leknová", + "Lenardova", + "Lermontovova", + "Lesná", + "Lesnícka", + "Leškova", + "Letecká", + "Letisko M.R.Štefánik", + "Letná", + "Levanduľová", + "Levárska", + "Levická", + "Levočská", + "Lidická", + "Lieskovec", + "Lieskovcová", + "Lieskovská cesta", + "Lietavská", + "Lichardova", + "Likavská", + "Limbová", + "Linzbothova", + "Lipnicová", + "Lipová", + "Lipského", + "Liptovská", + "Lisovňa", + "Listová", + "Líščie nivy", + "Líščie údolie", + "Litovská", + "Lodná", + "Lombardiniho", + "Lomnická", + "Lomonosovova", + "Longobardská", + "Lónyaiová", + "Lopenícka", + "Lotyšská", + "Lovinského", + "Lozornianská", + "Ľubietovská", + "Ľubinská", + "Ľubľanská", + "Ľubochnianska", + "Ľubovnianska", + "Ľubovníková", + "Ľudové námestie", + "Ľudovíta Fullu", + "Luhačovická", + "Lužická", + "Lúčna", + "Lužná", + "Lýcejná", + "Lykovcová", + "Lysákova", + "M. Hella", + "Madáchova", + "Maďarská", + "Magnetová", + "Magnezitová", + "Magnóliová", + "Magurská", + "Macharova", + "Máchova", + "Majakovského", + "Majerníkova", + "Majerská", + "Májkova", + "Majoránová", + "Májová", + "Maková", + "Makovického", + "Malá", + "Malagová", + "Malé pálenisko", + "Malinová", + "Malodunajská", + "Malokarpatské námest", + "Malý Draždiak", + "Malý trh", + "Mamateyova", + "Mamateyova", + "Mandľová", + "Mandľovníková", + "Mánesovo námestie", + "Margarétková", + "Marhuľová", + "Mariánska", + "Marie Curie-Sklodows", + "Márie Medveďovej", + "Markova", + "Marótyho", + "Martákovej", + "Martinčekova", + "Martinčekova", + "Martinengova", + "Martinská", + "Mateja Bela", + "Matejkova", + "Matičná", + "Mätová", + "Matúškova", + "Matúšova", + "Mečíkova", + "Medená", + "Medová", + "Medovková", + "Medzierka", + "Medzilaborecká", + "Mesačná", + "Mestská", + "Meteorová", + "Metodova", + "Mickiewiczova", + "Mierová", + "Michalská", + "Mikovíniho", + "Mikulášska", + "Milana Marečka", + "Milana Pišúta", + "Miletičova", + "Miletičova", + "Mišíkova", + "Mišíkova", + "Mišíkova", + "Mládežnícka", + "Mliekárenská", + "Mlynarovičova", + "Mlynská", + "Mlynská dolina", + "Mlynská dolina", + "Mlynská dolina", + "Mlynské luhy", + "Mlynské nivy", + "Mlynské nivy", + "Mlynské nivy", + "Mlynské nivy", + "Mlynské nivy", + "Modranská", + "Modricová", + "Modrý chodník", + "Mojmírova", + "Mokráň záhon", + "Mokrohájska cesta", + "Moldavská", + "Molecova", + "Monardová", + "Morava", + "Moravská", + "Morušova", + "Moskovská", + "Most SNP", + "Mostná", + "Mostová", + "Mošovského", + "Motýlia", + "Moyšova", + "Moyzesova", + "Mozartova", + "Mramorová", + "Mraziarenská", + "Mrázova", + "Mudrochova", + "Mudroňova", + "Mudroňova", + "Mudroňova", + "Muchovo námestie", + "Muránska", + "Murgašova", + "Murnice", + "Muškátová", + "Muštová", + "Múzejná", + "Myjavská", + "Mýtna", + "Mýtna", + "Na Baránku", + "Na barine", + "Na Brezinách", + "Na doline", + "Na grbe", + "Na Grunte", + "Na Holom vrchu", + "Na hrádzi", + "Na Hrebienku", + "Na hriadkach", + "Na Kalvárii", + "Na kaštieli", + "Na kopci", + "Na križovatkách", + "Na lánoch", + "Na medzi", + "Na mýte", + "Na pántoch", + "Na pasekách", + "Na paši", + "Na pažiti", + "Na piesku", + "Na Revíne", + "Na Riviére", + "Na rozhliadke", + "Na Sitine", + "Na skale", + "Na Slanci", + "Na Slavíne", + "Na spojke", + "Na stráni", + "Na Štyridsiatku", + "Na úvrati", + "Na varte", + "Na Vlkovkách", + "Na vrátkach", + "Na vŕšku", + "Na vyhliadke", + "Na výslní", + "Na Zlatej nohe", + "Nábělkova", + "Nábrežie arm. gen. L", + "Nábrežná", + "Nad Dunajom", + "Nad Gronárom", + "Nad jazierkom", + "Nad kúriou", + "Nad lomom", + "Nad lúčkami", + "Nad lúčkami", + "Nad ostrovom", + "Nad Sihoťou", + "Nákovná", + "Nákupná", + "Námestie 1. mája", + "Námestie 6. apríla", + "Námestie Alexandra D", + "Námestie Andreja Hli", + "Námestie Biely kríž", + "Námestie Hraničiarov", + "Námestie Jána Kostru", + "Námestie Jána Pavla", + "Námestie Ľudovíta Št", + "Námestie Martina Ben", + "Námestie Rodiny", + "Námestie slobody", + "Námestie slobody", + "Námestie SNP", + "Námestie SNP", + "Námestie sv. Františ", + "Námestie sv. Petra a", + "Narcisová", + "Nedbalova", + "Nechtíková", + "Nejedlého", + "Nekrasovova", + "Nemčíkova", + "Nerudova", + "Nevädzová", + "Nevská", + "Nezábudková", + "Nezvalova", + "Niťová", + "Nitrianska", + "Nížinná", + "Nobelova", + "Nobelovo námestie", + "Nová", + "Nová Bellova", + "Nová hora", + "Novackého", + "Nové pálenisko", + "Nové záhrady I", + "Nové záhrady II", + "Nové záhrady III", + "Nové záhrady IV", + "Nové záhrady V", + "Nové záhrady VI", + "Nové záhrady VII", + "Novinárska", + "Novobanská", + "Novodvorská", + "Novohorská", + "Novohradská", + "Novosadná", + "Novosvetská", + "Novosvetská", + "Novosvetská", + "Novoveská", + "Nový záhon", + "Obežná", + "Obchodná", + "Oblačná", + "Oblúková", + "Očovská", + "Odbojárov", + "Odborárska", + "Odborárske námestie", + "Odborárske námestie", + "Odeská", + "Ohnicová", + "Okánikova", + "Okružná", + "Olbrachtova", + "Oleandrová", + "Olejkárska", + "Olivová", + "Olšová", + "Ondavská", + "Ondrejovova", + "Ondrejská", + "Opavská", + "Opletalova", + "Oráčska", + "Oravská", + "Orechová", + "Orechová cesta", + "Orechový rad", + "Orenburská", + "Orgovánová", + "Orchideová", + "Oriešková", + "Ormisova", + "Osadná", + "Osiková", + "Oskorušová", + "Osloboditeľská", + "Ostravská", + "Ostredková", + "Ostružinová", + "Osuského", + "Osvetová", + "Otonelská", + "Ovčiarska", + "Ovocná", + "Ovručská", + "Ovsená", + "Ovsištské námestie", + "Ožvoldíkova", + "Ôsma", + "Pajštúnska", + "Palackého", + "Palárikova", + "Palárikova", + "Palinová", + "Palisády", + "Palisády", + "Palisády", + "Palkovičova", + "Palmová", + "Panenská", + "Pankúchova", + "Panónska cesta", + "Panská", + "Papánkovo námestie", + "Papraďová", + "Parcelná", + "Páričkova", + "Parková", + "Partizánska", + "Pasienková", + "Pasienky", + "Pastierska", + "Paulínyho", + "Pave Vukoviča", + "Pavla Blaha", + "Pavla Horova", + "Pavlovičova", + "Pavlovova", + "Pavlovská", + "Pažického", + "Pažítková", + "Pečnianska", + "Pekná cesta", + "Pekná cesta", + "Pekná cesta", + "Pekná vyhliadka", + "Pekníkova", + "Pernecká", + "Perličková", + "Pestovateľská", + "Petara Pasicha", + "Peterská", + "Petöfiho", + "Petržalská", + "Petúniová", + "Pezinská", + "Piata", + "Pieskovcová", + "Piesočná", + "Piešťanská", + "Pifflova", + "Pilárikova", + "Pílová", + "Píniová", + "Pionierska", + "Pionierska", + "Pivoňková", + "Plachého", + "Plachého", + "Planckova", + "Planét", + "Plánky", + "Platanová", + "Plátenícka", + "Plavecká", + "Plickova", + "Pluhová", + "Plynárenská", + "Plzenská", + "Pobrežná", + "Pod agátmi", + "Pod Bôrikom", + "Pod brehmi", + "Pod gaštanmi", + "Pod Kalváriou", + "Pod Klepáčom", + "Pod Kobylou", + "Pod Krásnou hôrkou", + "Pod lesom", + "Pod lipami", + "Pod Lipovým", + "Pod násypom", + "Pod Rovnicami", + "Pod skalou", + "Pod srdcom", + "Pod Strážami", + "Pod Vachmajstrom", + "Pod Válkom", + "Pod vinicami", + "Pod záhradami", + "Pod záhradami", + "Pod Zečákom", + "Podbeľová", + "Podbrezovská", + "Podháj", + "Podhorská", + "Podhorského", + "Podjavorinskej", + "Podkarpatská", + "Podkerepušky", + "Podkolibská", + "Podkorunská", + "Podlesná", + "Podlučinského", + "Podniková", + "Podpriehradná", + "Podtatranského", + "Podunajská", + "Podunajská", + "Podzáhradná", + "Pohánková", + "Pohraničníkov", + "Pohronská", + "Polárna", + "Polianky", + "Poľná", + "Poľnohospodárska", + "Poľný mlyn", + "Poloreckého", + "Poľská", + "Poludníková", + "Poniklecová", + "Popolná", + "Popovova", + "Popradská", + "Porubského", + "Poštová", + "Potočná", + "Považanova", + "Považská", + "Povoznícka", + "Povraznícka", + "Povraznícka", + "Požiarnická", + "Pračanská", + "Prasličková", + "Pražská", + "Pražská", + "Predstaničné námesti", + "Prepoštská", + "Prešernova", + "Prešovská", + "Prešovská", + "Prešovská", + "Pri Bielom kríži", + "Pri dvore", + "Pri Dynamitke", + "Pri Habánskom mlyne", + "Pri hradnej studni", + "Pri hrádzi", + "Pri kolíske", + "Pri kríži", + "Pri mlyne", + "Pri Rochu", + "Pri seči", + "Pri Starej Prachárni", + "Pri Starom háji", + "Pri starom letisku", + "Pri Starom Mýte", + "Pri strelnici", + "Pri Struhe", + "Pri Suchom mlyne", + "Pri Šajbách", + "Pri tehelni", + "Pri trati", + "Pri vinohradoch", + "Pri zvonici", + "Priama cesta", + "Pribylinská", + "Pribinova", + "Pribinova", + "Pribinova", + "Pribišova", + "Prídanky", + "Prídavková", + "Priečna", + "Priehradná", + "Priekopnícka", + "Priekopy", + "Priemyselná", + "Priemyselná", + "Prievozská", + "Prievozská", + "Prievozská", + "Príjazdná", + "Príkopova", + "Primaciálne námestie", + "Prímoravská", + "Prípojná", + "Prístav", + "Prístavná", + "Prokofievova", + "Prokopa Veľkého", + "Prokopova", + "Prúdová", + "Prvá", + "Prvosienková", + "Pšeničná", + "Púchovská", + "Púpavová", + "Pustá", + "Puškinova", + "Pútnická", + "Pyrenejská", + "Rácova", + "Račianska", + "Račianska", + "Račianska", + "Račianska", + "Račianska", + "Račianska", + "Račianske mýto", + "Radarová", + "Rádiová", + "Radlinského", + "Radničná", + "Radničné námestie", + "Radvanská", + "Rajčianska", + "Rajecká", + "Rajská", + "Rajtákova", + "Raketová", + "Rákosová", + "Rascová", + "Rascová", + "Rastislavova", + "Rastlinná", + "Rašelinová", + "Ráztočná", + "Rázusovo nábrežie", + "Ražná", + "Rebarborová", + "Regrútska", + "Remeselnícka", + "Repašského", + "Repíková", + "Repná", + "Rešetkova", + "Revolučná", + "Révová", + "Revúcka", + "Rezedová", + "Riazanská", + "Riazanská", + "Ribayová", + "Ríbezľová", + "Riečna", + "Rigeleho", + "Rímska", + "Rízlingová", + "Riznerova", + "Robotnícka", + "Roľnícka", + "Romanova", + "Röntgenova", + "Rosná", + "Rostovská", + "Rošického", + "Rovná", + "Rovniankova", + "Rovníková", + "Royova", + "Rozálska", + "Rozmarínová", + "Rozvodná", + "Rožňavská", + "Rožňavská", + "Rožňavská", + "Rubínová", + "Rubinsteinova", + "Rudnayovo námestie", + "Rudnícka", + "Rulandská", + "Rumančeková", + "Rumunská", + "Rusovce", + "Rusovská cesta", + "Rustaveliho", + "Ružičková", + "Ružinovská", + "Ružinovská", + "Ružinovská", + "Ružomberská", + "Ružová dolina", + "Ružová dolina", + "Rybárska brána", + "Rybné námestie", + "Rybničná", + "Rybničná", + "Rybničná", + "Rýdziková", + "Rytierska", + "Sabinovská", + "Sabinovská", + "Sad Janka Kráľa", + "Sadmelijská", + "Sadová", + "Samova", + "Saratovská", + "Sartorisova", + "Sasanková", + "Sasinkova", + "Savignonská", + "Seberíniho", + "Sečovská", + "Sedlárska", + "Sedmokrásková", + "Segnáre", + "Segnerova", + "Sekulská", + "Sekurisova", + "Sekýľska", + "Semenárska", + "Semianova", + "Semilonská", + "Senická", + "Senná", + "Septimiova", + "Schengenská", + "Schillerova", + "Schneidera -Trnavské", + "Schody pri starej vo", + "Sibírska", + "Siedma", + "Sienkiewiczova", + "Silvánska", + "Sinokvetná", + "Skalická cesta", + "Skalná", + "Skerličova", + "Sklabinská", + "Sklenárova", + "Sklenárska", + "Skoroceľová", + "Skuteckého", + "Skýcovská", + "Sládkovičova", + "Sladová", + "Slatinská", + "Slávičie údolie", + "Slavín", + "Slepá", + "Sliačska", + "Sliezska", + "Slivková", + "Sĺňavská", + "Slnečná", + "Slnečnicová", + "Slovanské nábrežie", + "Slovienska", + "Slovinec", + "Slovinská", + "Slovnaftská", + "Slovnaftská", + "Slowackého", + "Smetanova", + "Smikova", + "Smolenická", + "Smolnícka", + "Smrečianska", + "Smrečianska", + "Snežienková", + "Soferove schody", + "Socháňova", + "Sochorova", + "Sokolíkova", + "Sokolská", + "Solivarská", + "Sološnická", + "Somolického", + "Somolického", + "Sosnová", + "Sovia", + "Spádová", + "Spätná cesta", + "Spišská", + "Spojná", + "Spoločenská", + "Sputniková", + "Sreznevského", + "Srnčia", + "Stachanovská", + "Stálicová", + "Stanekova", + "Staničná", + "Stará Černicová", + "Stará Ivánska cesta", + "Stará Klenová", + "Stará Prievozská", + "Stará Stupavská", + "Stará Vajnorská", + "Stará vinárska", + "Staré Grunty", + "Staré ihrisko", + "Staré záhrady", + "Starhradská", + "Starohájska", + "Staromestská", + "Staromlynská", + "Starorímska", + "Staroturský chodník", + "Stavbárska", + "Staviteľská", + "Stepná cesta", + "Stodolova", + "Stoklasová", + "Stolárska", + "Strakova", + "Stratená", + "Strážna", + "Strážnická", + "Strážny dom", + "Strečnianska", + "Stredná", + "Strelecká", + "Strelkova", + "Strmá cesta", + "Strmé sady", + "Strmý bok", + "Strmý vŕšok", + "Strojnícka", + "Stromová", + "Stropkovská", + "Struková", + "Studená", + "Studenohorská", + "Stuhová", + "Stupavská", + "Súbežná", + "Sudová", + "Súhvezdná", + "Suchá", + "Suché mýto", + "Suchohradská", + "Súkennícka", + "Súľovská", + "Sumbalova", + "Súmračná", + "Súťažná", + "Svätého Vincenta", + "Svätoplukova", + "Svätoplukova", + "Svätovojtešská", + "Svébska", + "Svetlá", + "Svíbová", + "Svidnícka", + "Svoradova", + "Svrčia", + "Syslia", + "Šafárikovo námestie", + "Šafárikovo námestie", + "Šafránová", + "Šagátova", + "Šachorová", + "Šalátová", + "Šaldova", + "Šalviová", + "Šamorínska", + "Šancová", + "Šancová", + "Šancová", + "Šancová", + "Šándorova", + "Šarišská", + "Šášovská", + "Šaštínska", + "Ševčenkova", + "Šiesta", + "Šikmá", + "Šinkovské", + "Šintavská", + "Šípková", + "Šípová", + "Šíravská", + "Široká", + "Škarniclova", + "Školská", + "Škovránčia", + "Škultétyho", + "Šoltésovej", + "Šošovicová", + "Špieszova", + "Špitálska", + "Športová", + "Šrobárovo námestie", + "Šťastná", + "Štedrá", + "Štefana Králika", + "Štefana Králika", + "Štefana Majera", + "Štefánikova", + "Štefánikova", + "Štefánikova", + "Štefanovičova", + "Štefunkova", + "Štepná", + "Štetinova", + "Štiavnická", + "Štítová", + "Štrbská", + "Štúrova", + "Štvrtá", + "Štyndlova", + "Šulekova", + "Šulekova", + "Šulekova", + "Šumavská", + "Šuňavcova", + "Šúrska", + "Šustekova", + "Šuty", + "Švabinského", + "Švantnerova", + "Tabaková", + "Tablicova", + "Táborská", + "Tajovského", + "Talichova", + "Tallerova", + "Tatranská", + "Tavaríkova osada", + "Tbiliská", + "Tehelná", + "Tehelňa", + "Tehliarska", + "Technická", + "Tekovská", + "Tekvicová", + "Telocvičná", + "Tematínska", + "Teplická", + "Terchovská", + "Teslova", + "Tešedíkova", + "Tetmayerova", + "Thurzova", + "Tibenského", + "Tibériová", + "Tichá", + "Tilgnerova", + "Timravina", + "Tobrucká", + "Tokajícka", + "Tolstého", + "Tománkova", + "Tomanova", + "Tomášikova", + "Tomášikova", + "Tomášikova", + "Tomášikova", + "Tomášikova", + "Toplianska", + "Topoľčianska", + "Topoľová", + "Toryská", + "Továrenská", + "Trajánova", + "Tramínová", + "Tranovského", + "Trávna", + "Trebišovská", + "Trebišovská", + "Trebišovská", + "Trenčianska", + "Treskoňova", + "Tretia", + "Trhová", + "Trinásta", + "Trnavská cesta", + "Trnavská cesta", + "Trnavská cesta", + "Trnavská cesta", + "Trnavská cesta", + "Trnavské mýto", + "Trnková", + "Tŕňová", + "Trojdomy", + "Trojičné námestie", + "Trstínska", + "Tučkova", + "Tuhovská", + "Tulipánová", + "Tupého", + "Tupolevova", + "Turbínova", + "Turčianska", + "Turistická", + "Turnianska", + "Tvarožkova", + "Tylova", + "Tymiánová", + "Tyršovo nábrežie", + "Učiteľská", + "Údernícka", + "Údolná", + "Uhliská", + "Uhorková", + "Uhrova", + "Uhrovecká", + "Ukrajinská", + "Ulica 1. mája", + "Ulica 29. augusta", + "Ulica 29. augusta", + "Ulica 29. augusta", + "Ulica 29. augusta", + "Ulica 8. mája", + "Ulica Alviano", + "Ulica Imricha Karvaš", + "Ulica J. Valašťana D", + "Ulica Janka Alexyho", + "Ulica Jozefa Krónera", + "Ulica Juraja Hronca", + "Ulica Karola Adlera", + "Ulica kpt. Rašu", + "Ulica Leopoldov maje", + "Ulica Ľuda Zúbka", + "Ulica Nad Válkom", + "Ulica padlých hrdino", + "Ulica Pri gaštanovej", + "Ulica Pri pastierni", + "Ulica Pri Vápeníckom", + "Ulica Pri vodnej nád", + "Ulica svornosti", + "Ulica Viktora Tegelh", + "Úprkova", + "Úradnícka", + "Uránová", + "Urbánkova", + "Urbárska", + "Ursínyho", + "Uršulínska", + "Ušiakova", + "Úvozná", + "Uzbecká", + "Úzka", + "Úžiny", + "V záhradách", + "Vajanského nábrežie", + "Vajnorská", + "Vajnorská", + "Vajnorská", + "Vajnorská", + "Vajnorská", + "Vajnorská", + "Vajnorská", + "Vajnorská", + "Vajnorská", + "Valachovej", + "Valašská", + "Valchárska", + "Vančurova", + "Vansovej", + "Vápencová", + "Vápenka", + "Vápenná", + "Varínska", + "Varšavská", + "Varšavská", + "Vavilovova", + "Vavrinecká", + "Vavrínova", + "Vazovova", + "Vážska", + "Včelárska", + "Velehradská", + "Veľké Štepnice", + "Veltlínska", + "Vendelínska", + "Ventúrska", + "Veterná", + "Veternicová", + "Vetvárska", + "Vetvová", + "Vidlicová", + "Viedenská cesta", + "Viedenská cesta", + "Viedenská cesta", + "Vietnamská", + "Vígľašská", + "Vihorlatská", + "Viktorínova", + "Vilová", + "Viničná", + "Vínna", + "Vinohradnícka", + "Višňová", + "Víťazná", + "Vlárska", + "Vlastenecké námestie", + "Vlčie hrdlo", + "Vlčkova", + "Vlčkova", + "Vlčkova", + "Vodné elektrárne", + "Vodný vrch", + "Vosková", + "Votrubova", + "Vrábeľská", + "Vrakunská", + "Vrakunská cesta", + "Vrakunská cesta", + "Vrančovičova", + "Vranovská", + "Vrbánska", + "Vrbenského", + "Vŕbová", + "Vresová", + "Vretenová", + "Vrchná", + "Vrútocká", + "Vtáčikova", + "Vtáčnik", + "Vyhliadka", + "Vyhnianska cesta", + "Výhonská", + "Východná", + "Vysoká", + "Vysokohorská", + "Vyšehradská", + "Vyšná", + "Výtvarná", + "Vývojová", + "Wattova", + "Wilsonova", + "Wolkrova", + "Za bránou", + "Za farou", + "Za Kasárňou", + "Za mlynom", + "Za sokolovňou", + "Za Stanicou", + "Za tehelňou", + "Záborského", + "Zadunajská cesta", + "Záhorácka", + "Záhorská", + "Záhradkárska", + "Záhradná", + "Záhradnícka", + "Záhradnícka", + "Záhradnícka", + "Záhradnícka", + "Záhrady", + "Záhrebská", + "Záhrebská", + "Záhumenná", + "Záhumenská", + "Zákutie", + "Zálužická", + "Zámocká", + "Zámocké schody", + "Zámočnícka", + "Západná", + "Západný rad", + "Záporožská", + "Záruby", + "Zátišie", + "Zátureckého", + "Zavadilová", + "Závadská", + "Záveterná", + "Závodná", + "Závodníkova", + "Zbrody", + "Zdravotnícka", + "Zelená", + "Zeleninová", + "Zelenohorská", + "Zelinárska", + "Zhorínska", + "Zidiny", + "Zimná", + "Zlatá", + "Zlaté piesky", + "Zlaté schody", + "Zlatohorská", + "Znievska", + "Zohorská", + "Zochova", + "Zrinského", + "Zvolenská", + "Zvončeková", + "Žabí majer", + "Žabotova", + "Žarnovická", + "Žatevná", + "Žehrianska", + "Železná", + "Železničiarska", + "Železničná", + "Želiarska", + "Žellova", + "Žiacka", + "Žiarska", + "Židovská", + "Žihľavová", + "Žilinská", + "Žilinská", + "Žitavská", + "Žitná", + "Živnostenská", + "Žižkova", + "Žulová", + "Župné námestie", + "Borágova", + "Parenicová", + "Loparová", + "Jegnešská", + "Jonatanová", + "Monardová", + "Perličková", ) states = ( - 'Bratislavský kraj', 'Trnavský kraj', 'Trenčiansky kraj', - 'Nitriansky kraj', 'Žilinský kraj', 'Banskobystrický kraj', - 'Prešovský kraj', 'Košický kraj', + "Bratislavský kraj", + "Trnavský kraj", + "Trenčiansky kraj", + "Nitriansky kraj", + "Žilinský kraj", + "Banskobystrický kraj", + "Prešovský kraj", + "Košický kraj", ) countries = ( - 'Afganistan', 'Afghanistanská islamská republika', 'Ålandy', - 'Albánsko', 'Albánska republika', 'Alžírsko', - 'Alžírska demokratická ľudová republika', 'Americká Samoa', 'Andorra', - 'Andorrské kniežatstvo', 'Angola', 'Angolská republika', 'Anguilla', - 'Antarktída', 'Antigua a Barbuda', 'Argentína', - 'Argentínska republika', 'Arménsko', 'Arménska republika', 'Aruba', - 'Austrália', 'Rakúsko', 'Rakúska republika', 'Azerbajdžan', - 'Azerbajdžanská republika', 'Bahamy', 'Bahamské spoločenstvo', - 'Bahrajn', 'Bahrajnské kráľovstvo', 'Bangladéš', - 'Bangladéšska ľudová republika', 'Barbados', 'Bielorusko', - 'Bieloruská republika', 'Belgicko', 'Belgické kráľovstvo', 'Belize', - 'Benin', 'Beninská republika', 'Bermudy', 'Bhután', - 'Bhutánske kráľovstvo', 'Bolívijská republika', 'Bolívijská republika', - 'Bolívia', 'Bosna a Hercegovina', 'Republika Bosny a Hercegoviny', - 'Botswana', 'Botswanská republika', 'Bouvetov ostrov', 'Brazília', - 'Brazílska federatívna republika', 'Britské indickooceánske územie', - 'Brunejsko-darussalamský štát', 'Bulharsko', 'Bulharská republika', - 'Burkina Faso', 'Burundi', 'Burundská republika', 'Kambodža', - 'Kambodžské kráľovstvo', 'Kamerun', 'Kamerunská republika', 'Kanada', - 'Kapverdy', 'Kapverdská republika', 'Kajmanie ostrovy', - 'Stredoafrická republika', 'Čad', 'Čadská republika', 'Čile', - 'Čilská republika', 'Čína', 'Čínska ľudová republika', - 'Vianočný ostrov', 'Kokosové ostrovy', 'Kolumbia', - 'Kolumbijská republika', 'Komory', 'Komorský zväz', 'Kongo', - 'Konžská republika', 'Konžská demokratická republika', - 'Cookove ostrovy', 'Kostarika', 'Kostarická republika', - 'Pobrežie Slonoviny', 'Republika Pobrežia Slonoviny', 'Chorvátsko', - 'Chorvátska republika', 'Kuba', 'Kubánska republika', 'Cyprus', - 'Cyperská republika', 'Česká republika', 'Dánsko', 'Dánske kráľovstvo', - 'Džibutsko', 'Džibutská republika', 'Dominika', - 'Dominické spoločenstvo', 'Dominikánska republika', 'Ekvádor', - 'Ekvádorská republika', 'Egypt', 'Egyptská arabská republika', - 'Salvádor', 'Salvádorská republika', 'Rovníková Guinea', - 'Republika Rovníkovej Guiney', 'Eritrea', 'Estónsko', - 'Estónska republika', 'Etiópia', - 'Etiópska federatívna demokratická republika', 'Falklandy (Malvíny)', - 'Faerské ostrovy', 'Fidži', 'Fínsko', 'Fínska republika', 'Francúzsko', - 'Francúzska republika', 'Francúzska Guyana', 'Francúzska Polynézia', - 'Francúzske južné a antarktické územia', 'Gabon', 'Gabonská republika', - 'Gambia', 'Gambijská republika', 'Gruzínsko', 'Nemecko', - 'Nemecká spolková republika', 'Ghana', 'Ghanská republika', - 'Gibraltár', 'Grécko', 'Grécka republika', 'Grónsko', 'Grenada', - 'Guadeloupe', 'Guam', 'Guatemala', 'Guatemalská republika', 'Guernsey', - 'Guinea', 'Guinejská republika', 'Guinea-Bissau', - 'Guinejsko-bissauská republika', 'Guyana', - 'Guyanská kooperatívna republika', 'Haiti', 'Haitská republika', - 'Heardov ostrov', 'Svätá stolica (Vatikánsky mestský štát)', - 'Honduras', 'Honduraská republika', 'Hongkong', - 'Osobitná administratívna oblasť Číny Hongkong', 'Maďarsko', - 'Maďarská republika', 'Island', 'Islandská republika', 'India', - 'Indická republika', 'Indonézia', 'Indonézska republika', - 'Iránska islamská republika', 'Iránska islamská republika', 'Irak', - 'Iracká republika', 'Írsko', 'Man', 'Izrael', 'Izraelský štát', - 'Taliansko', 'Talianska republika', 'Jamajka', 'Japonsko', 'Jersey', - 'Jordánsko', 'Jordánske hášimovské kráľovstvo', 'Kazachstan', - 'Kazašská republika', 'Keňa', 'Kenská republika', 'Kiribati', - 'Kiribatská republika', 'Kórejská ľudovodemokratická republika', - 'Kórejská ľudovodemokratická republika', 'Kórejská republika', - 'Kuvajt', 'Kuvajtský štát', 'Kirgizsko', 'Kirgizská republika', - 'Laoská ľudovodemokratická republika', 'Lotyšsko', - 'Lotyšská republika', 'Libanon', 'Libanonská republika', 'Lesotho', - 'Lesothské kráľovstvo', 'Libéria', 'Libérijská republika', 'Líbya', - 'Lichtenštajnsko', 'Lichtenštajnské kniežatstvo', 'Litva', - 'Litovská republika', 'Luxembursko', 'Luxemburské veľkovojvodstvo', - 'Macao', 'Osobitná administratívna oblasť Číny Macao', - 'Macedónska republika', 'Bývalá juhoslovanská republika Macedónsko', - 'Madagaskar', 'Madagaskarská republika', 'Malawi', - 'Malawijská republika', 'Malajzia', 'Maldivy', 'Maldivská republika', - 'Mali', 'Malijská republika', 'Malta', 'Maltská republika', - 'Marshallove ostrovy', 'Republika Marshallových ostrovov', 'Martinik', - 'Mauritánia', 'Mauritánska islamská republika', 'Maurícius', - 'Maurícijská republika', 'Mayotte', 'Mexiko', 'Spojené štáty mexické', - 'Mikronézske federatívne štáty', 'Mikronézske federatívne štáty', - 'Moldavská republika', 'Moldavská republika', 'Moldavsko', 'Monako', - 'Monacké kniežatstvo', 'Mongolsko', 'Čierna Hora', 'Montserrat', - 'Maroko', 'Marocké kráľovstvo', 'Mozambik', 'Mozambická republika', - 'Mjanmarsko', 'Namíbia', 'Namíbijská republika', 'Nauru', - 'Nauruská republika', 'Nepál', - 'Nepálska federatívna demokratická republika', 'Holandsko', - 'Holandské kráľovstvo', 'Nová Kaledónia', 'Nový Zéland', 'Nikaragua', - 'Nikaragujská republika', 'Niger', 'Nigerská republika', 'Nigéria', - 'Nigérijská federatívna republika', 'Niue', 'Norfolk', - 'Severné Mariány', 'Spoločenstvo Severných Marián', 'Nórsko', - 'Nórske kráľovstvo', 'Omán', 'Ománsky sultanát', 'Pakistan', - 'Pakistanská islamská republika', 'Palau', 'Palauská republika', - 'palestínske územie, Okupované', 'Okupované palestínske územie', - 'Panama', 'Panamská republika', 'Papua - Nová Guinea', 'Paraguaj', - 'Paraguajská republika', 'Peru', 'Peruánska republika', 'Filipíny', - 'Filipínska republika', 'Pitcairnove ostrovy', 'Poľsko', - 'Poľská republika', 'Portugalsko', 'Portugalská republika', - 'Portoriko', 'Katar', 'Katarský štát', 'Réunion', 'Rumunsko', - 'Ruská federácia', 'Rwanda', 'Rwandská republika', 'Svätý Bartolomej', - 'Svätá Helena, Ascension a Tristan da Cunha', 'Svätý Krištof a Nevis', - 'Svätá Lucia', 'Saint Martin', 'Saint Pierre a Miquelon', - 'Svätý Vincent a Grenadíny', 'Samoa', 'Samojský nezávislý štát', - 'San Maríno', 'Sanmarínska republika', 'Svätý Tomáš a Princov ostrov', - 'Demokratická republika Svätého Tomáša a Princovho ostrova', - 'Saudská Arábia', 'Saudskoarabské kráľovstvo', 'Senegal', - 'Senegalská republika', 'Srbsko', 'Srbská republika', 'Seychely', - 'Seychelská republika', 'Sierra Leone', 'Sierraleonská republika', - 'Singapur', 'Singapurská republika', 'Slovensko', - 'Slovenská republika', 'Slovinsko', 'Slovinská republika', - 'Šalamúnove ostrovy', 'Somálsko', 'Somálska republika', 'Južná Afrika', - 'Juhoafrická republika', 'Južná Georgia a Južné Sandwichove ostrovy', - 'Španielsko', 'Španielske kráľovstvo', 'Srí Lanka', - 'Srílanská demokratická socialistická republika', 'Sudán', - 'Sudánska republika', 'Surinam', 'Surinamská republika', - 'Svalbard a Jan Mayen', 'Svazijsko', 'Svazijské kráľovstvo', 'Švédsko', - 'Švédske kráľovstvo', 'Švajčiarsko', 'Švajčiarska konfederácia', - 'Sýrska arabská republika', 'Taiwan, provincia Číny', 'Taiwan', - 'Tadžikistan', 'Tadžická republika', 'Tanzánijská zjednotená republika', - 'Tanzánijská zjednotená republika', 'Thajsko', 'Thajské kráľovstvo', - 'Východný Timor', 'Východotimorská demokratická republika', 'Togo', - 'Togská republika', 'Tokelau', 'Tonga', 'Tongské kráľovstvo', - 'Trinidad a Tobago', 'Republika Trinidadu a Tobaga', 'Tunisko', - 'Tuniská republika', 'Turecko', 'Turecká republika', 'Turkménsko', - 'Ostrovy Turks a Caicos', 'Tuvalu', 'Uganda', 'Ugandská republika', - 'Ukrajina', 'Spojené arabské emiráty', 'Spojené kráľovstvo', - 'Spojené kráľovstvo Veľkej Británie a Severného Írska', - 'Spojené štáty', 'Spojené štáty americké', - 'Menšie odľahlé ostrovy Spojených štátov', 'Uruguaj', - 'Uruguajská východná republika', 'Uzbekistan', 'Uzbecká republika', - 'Vanuatu', 'Vanuatská republika', 'Venezuelská bolívarovská republika', - 'Venezuela', 'Vietnam', 'Vietnamská socialistická republika', - 'Panenské ostrovy, Britské', 'Britské Panenské ostrovy', - 'Panenské ostrovy, Americké', 'Panenské ostrovy Spojených štátov', - 'Wallis a Futuna', 'Západná Sahara', 'Jemen', 'Jemenská republika', - 'Zambia', 'Zambijská republika', 'Zimbabwe', 'Zimbabwianska republika', - 'Britské antarktické územie', 'Socialistická republika Barmský zväz', - 'Bieloruská sovietska socialistická republika', - 'ostrovy Canton a Enderbury', - 'Československo, Československá socialistická republika', 'Dahome', - 'Zem kráľovnej Maud', 'Východný Timor', 'Metropolitné Francúzsko', - 'Francúzske pobrežie Afarov a Isasov', - 'Francúzske južné a antarktické územia', - 'Nemecká demokratická republika', 'Nemecká spolková republika', - 'Gilbertove a lagúnové ostrovy', 'Johnston', 'Midwajské ostrovy', - 'Holandské Antily', 'neutrálne pôdy', 'Nové Hebridy', - 'Poručnícke územie tichomorských ostrovov', 'Panamská republika', - 'Panamské prieplavové pásmo', 'Rumunská socialistická republika', - 'Svätý Krištof', 'Srbsko a Čierna Hora', 'Sikkim', 'Rodézia', - 'Španielska Sahara', 'Tichomorské ostrovy pod správou USA', - 'ZSSR, Zväz sovietskych socialistických republík', - 'Republika Horná Volta', 'Vatikánsky mestský štát (Svätá stolica)', - 'Vietnamská demokratická republika', 'Wake', - 'Jemenská ľudovodemokratická republika', 'Jemenská arabská republika', - 'Socialistická federatívna republika Juhoslávia', 'Zairská republika', + "Afganistan", + "Afghanistanská islamská republika", + "Ålandy", + "Albánsko", + "Albánska republika", + "Alžírsko", + "Alžírska demokratická ľudová republika", + "Americká Samoa", + "Andorra", + "Andorrské kniežatstvo", + "Angola", + "Angolská republika", + "Anguilla", + "Antarktída", + "Antigua a Barbuda", + "Argentína", + "Argentínska republika", + "Arménsko", + "Arménska republika", + "Aruba", + "Austrália", + "Rakúsko", + "Rakúska republika", + "Azerbajdžan", + "Azerbajdžanská republika", + "Bahamy", + "Bahamské spoločenstvo", + "Bahrajn", + "Bahrajnské kráľovstvo", + "Bangladéš", + "Bangladéšska ľudová republika", + "Barbados", + "Bielorusko", + "Bieloruská republika", + "Belgicko", + "Belgické kráľovstvo", + "Belize", + "Benin", + "Beninská republika", + "Bermudy", + "Bhután", + "Bhutánske kráľovstvo", + "Bolívijská republika", + "Bolívijská republika", + "Bolívia", + "Bosna a Hercegovina", + "Republika Bosny a Hercegoviny", + "Botswana", + "Botswanská republika", + "Bouvetov ostrov", + "Brazília", + "Brazílska federatívna republika", + "Britské indickooceánske územie", + "Brunejsko-darussalamský štát", + "Bulharsko", + "Bulharská republika", + "Burkina Faso", + "Burundi", + "Burundská republika", + "Kambodža", + "Kambodžské kráľovstvo", + "Kamerun", + "Kamerunská republika", + "Kanada", + "Kapverdy", + "Kapverdská republika", + "Kajmanie ostrovy", + "Stredoafrická republika", + "Čad", + "Čadská republika", + "Čile", + "Čilská republika", + "Čína", + "Čínska ľudová republika", + "Vianočný ostrov", + "Kokosové ostrovy", + "Kolumbia", + "Kolumbijská republika", + "Komory", + "Komorský zväz", + "Kongo", + "Konžská republika", + "Konžská demokratická republika", + "Cookove ostrovy", + "Kostarika", + "Kostarická republika", + "Pobrežie Slonoviny", + "Republika Pobrežia Slonoviny", + "Chorvátsko", + "Chorvátska republika", + "Kuba", + "Kubánska republika", + "Cyprus", + "Cyperská republika", + "Česká republika", + "Dánsko", + "Dánske kráľovstvo", + "Džibutsko", + "Džibutská republika", + "Dominika", + "Dominické spoločenstvo", + "Dominikánska republika", + "Ekvádor", + "Ekvádorská republika", + "Egypt", + "Egyptská arabská republika", + "Salvádor", + "Salvádorská republika", + "Rovníková Guinea", + "Republika Rovníkovej Guiney", + "Eritrea", + "Estónsko", + "Estónska republika", + "Etiópia", + "Etiópska federatívna demokratická republika", + "Falklandy (Malvíny)", + "Faerské ostrovy", + "Fidži", + "Fínsko", + "Fínska republika", + "Francúzsko", + "Francúzska republika", + "Francúzska Guyana", + "Francúzska Polynézia", + "Francúzske južné a antarktické územia", + "Gabon", + "Gabonská republika", + "Gambia", + "Gambijská republika", + "Gruzínsko", + "Nemecko", + "Nemecká spolková republika", + "Ghana", + "Ghanská republika", + "Gibraltár", + "Grécko", + "Grécka republika", + "Grónsko", + "Grenada", + "Guadeloupe", + "Guam", + "Guatemala", + "Guatemalská republika", + "Guernsey", + "Guinea", + "Guinejská republika", + "Guinea-Bissau", + "Guinejsko-bissauská republika", + "Guyana", + "Guyanská kooperatívna republika", + "Haiti", + "Haitská republika", + "Heardov ostrov", + "Svätá stolica (Vatikánsky mestský štát)", + "Honduras", + "Honduraská republika", + "Hongkong", + "Osobitná administratívna oblasť Číny Hongkong", + "Maďarsko", + "Maďarská republika", + "Island", + "Islandská republika", + "India", + "Indická republika", + "Indonézia", + "Indonézska republika", + "Iránska islamská republika", + "Iránska islamská republika", + "Irak", + "Iracká republika", + "Írsko", + "Man", + "Izrael", + "Izraelský štát", + "Taliansko", + "Talianska republika", + "Jamajka", + "Japonsko", + "Jersey", + "Jordánsko", + "Jordánske hášimovské kráľovstvo", + "Kazachstan", + "Kazašská republika", + "Keňa", + "Kenská republika", + "Kiribati", + "Kiribatská republika", + "Kórejská ľudovodemokratická republika", + "Kórejská ľudovodemokratická republika", + "Kórejská republika", + "Kuvajt", + "Kuvajtský štát", + "Kirgizsko", + "Kirgizská republika", + "Laoská ľudovodemokratická republika", + "Lotyšsko", + "Lotyšská republika", + "Libanon", + "Libanonská republika", + "Lesotho", + "Lesothské kráľovstvo", + "Libéria", + "Libérijská republika", + "Líbya", + "Lichtenštajnsko", + "Lichtenštajnské kniežatstvo", + "Litva", + "Litovská republika", + "Luxembursko", + "Luxemburské veľkovojvodstvo", + "Macao", + "Osobitná administratívna oblasť Číny Macao", + "Macedónska republika", + "Bývalá juhoslovanská republika Macedónsko", + "Madagaskar", + "Madagaskarská republika", + "Malawi", + "Malawijská republika", + "Malajzia", + "Maldivy", + "Maldivská republika", + "Mali", + "Malijská republika", + "Malta", + "Maltská republika", + "Marshallove ostrovy", + "Republika Marshallových ostrovov", + "Martinik", + "Mauritánia", + "Mauritánska islamská republika", + "Maurícius", + "Maurícijská republika", + "Mayotte", + "Mexiko", + "Spojené štáty mexické", + "Mikronézske federatívne štáty", + "Mikronézske federatívne štáty", + "Moldavská republika", + "Moldavská republika", + "Moldavsko", + "Monako", + "Monacké kniežatstvo", + "Mongolsko", + "Čierna Hora", + "Montserrat", + "Maroko", + "Marocké kráľovstvo", + "Mozambik", + "Mozambická republika", + "Mjanmarsko", + "Namíbia", + "Namíbijská republika", + "Nauru", + "Nauruská republika", + "Nepál", + "Nepálska federatívna demokratická republika", + "Holandsko", + "Holandské kráľovstvo", + "Nová Kaledónia", + "Nový Zéland", + "Nikaragua", + "Nikaragujská republika", + "Niger", + "Nigerská republika", + "Nigéria", + "Nigérijská federatívna republika", + "Niue", + "Norfolk", + "Severné Mariány", + "Spoločenstvo Severných Marián", + "Nórsko", + "Nórske kráľovstvo", + "Omán", + "Ománsky sultanát", + "Pakistan", + "Pakistanská islamská republika", + "Palau", + "Palauská republika", + "palestínske územie, Okupované", + "Okupované palestínske územie", + "Panama", + "Panamská republika", + "Papua - Nová Guinea", + "Paraguaj", + "Paraguajská republika", + "Peru", + "Peruánska republika", + "Filipíny", + "Filipínska republika", + "Pitcairnove ostrovy", + "Poľsko", + "Poľská republika", + "Portugalsko", + "Portugalská republika", + "Portoriko", + "Katar", + "Katarský štát", + "Réunion", + "Rumunsko", + "Ruská federácia", + "Rwanda", + "Rwandská republika", + "Svätý Bartolomej", + "Svätá Helena, Ascension a Tristan da Cunha", + "Svätý Krištof a Nevis", + "Svätá Lucia", + "Saint Martin", + "Saint Pierre a Miquelon", + "Svätý Vincent a Grenadíny", + "Samoa", + "Samojský nezávislý štát", + "San Maríno", + "Sanmarínska republika", + "Svätý Tomáš a Princov ostrov", + "Demokratická republika Svätého Tomáša a Princovho ostrova", + "Saudská Arábia", + "Saudskoarabské kráľovstvo", + "Senegal", + "Senegalská republika", + "Srbsko", + "Srbská republika", + "Seychely", + "Seychelská republika", + "Sierra Leone", + "Sierraleonská republika", + "Singapur", + "Singapurská republika", + "Slovensko", + "Slovenská republika", + "Slovinsko", + "Slovinská republika", + "Šalamúnove ostrovy", + "Somálsko", + "Somálska republika", + "Južná Afrika", + "Juhoafrická republika", + "Južná Georgia a Južné Sandwichove ostrovy", + "Španielsko", + "Španielske kráľovstvo", + "Srí Lanka", + "Srílanská demokratická socialistická republika", + "Sudán", + "Sudánska republika", + "Surinam", + "Surinamská republika", + "Svalbard a Jan Mayen", + "Svazijsko", + "Svazijské kráľovstvo", + "Švédsko", + "Švédske kráľovstvo", + "Švajčiarsko", + "Švajčiarska konfederácia", + "Sýrska arabská republika", + "Taiwan, provincia Číny", + "Taiwan", + "Tadžikistan", + "Tadžická republika", + "Tanzánijská zjednotená republika", + "Tanzánijská zjednotená republika", + "Thajsko", + "Thajské kráľovstvo", + "Východný Timor", + "Východotimorská demokratická republika", + "Togo", + "Togská republika", + "Tokelau", + "Tonga", + "Tongské kráľovstvo", + "Trinidad a Tobago", + "Republika Trinidadu a Tobaga", + "Tunisko", + "Tuniská republika", + "Turecko", + "Turecká republika", + "Turkménsko", + "Ostrovy Turks a Caicos", + "Tuvalu", + "Uganda", + "Ugandská republika", + "Ukrajina", + "Spojené arabské emiráty", + "Spojené kráľovstvo", + "Spojené kráľovstvo Veľkej Británie a Severného Írska", + "Spojené štáty", + "Spojené štáty americké", + "Menšie odľahlé ostrovy Spojených štátov", + "Uruguaj", + "Uruguajská východná republika", + "Uzbekistan", + "Uzbecká republika", + "Vanuatu", + "Vanuatská republika", + "Venezuelská bolívarovská republika", + "Venezuela", + "Vietnam", + "Vietnamská socialistická republika", + "Panenské ostrovy, Britské", + "Britské Panenské ostrovy", + "Panenské ostrovy, Americké", + "Panenské ostrovy Spojených štátov", + "Wallis a Futuna", + "Západná Sahara", + "Jemen", + "Jemenská republika", + "Zambia", + "Zambijská republika", + "Zimbabwe", + "Zimbabwianska republika", + "Britské antarktické územie", + "Socialistická republika Barmský zväz", + "Bieloruská sovietska socialistická republika", + "ostrovy Canton a Enderbury", + "Československo, Československá socialistická republika", + "Dahome", + "Zem kráľovnej Maud", + "Východný Timor", + "Metropolitné Francúzsko", + "Francúzske pobrežie Afarov a Isasov", + "Francúzske južné a antarktické územia", + "Nemecká demokratická republika", + "Nemecká spolková republika", + "Gilbertove a lagúnové ostrovy", + "Johnston", + "Midwajské ostrovy", + "Holandské Antily", + "neutrálne pôdy", + "Nové Hebridy", + "Poručnícke územie tichomorských ostrovov", + "Panamská republika", + "Panamské prieplavové pásmo", + "Rumunská socialistická republika", + "Svätý Krištof", + "Srbsko a Čierna Hora", + "Sikkim", + "Rodézia", + "Španielska Sahara", + "Tichomorské ostrovy pod správou USA", + "ZSSR, Zväz sovietskych socialistických republík", + "Republika Horná Volta", + "Vatikánsky mestský štát (Svätá stolica)", + "Vietnamská demokratická republika", + "Wake", + "Jemenská ľudovodemokratická republika", + "Jemenská arabská republika", + "Socialistická federatívna republika Juhoslávia", + "Zairská republika", ) - def street_suffix_short(self): + def street_suffix_short(self) -> str: return self.random_element(self.street_suffixes_short) - def street_suffix_long(self): + def street_suffix_long(self) -> str: return self.random_element(self.street_suffixes_long) - def city_name(self): + def city_name(self) -> str: return self.random_element(self.cities) - def street_name(self): + def street_name(self) -> str: return self.random_element(self.streets) - def state(self): + def administrative_unit(self) -> str: return self.random_element(self.states) + + state = administrative_unit + + def city_with_postcode(self) -> str: + return self.postcode() + " " + self.random_element(self.cities) diff --git a/faker/providers/address/sl_SI/__init__.py b/faker/providers/address/sl_SI/__init__.py index 50ac3cbace..ae4bc5db39 100755 --- a/faker/providers/address/sl_SI/__init__.py +++ b/faker/providers/address/sl_SI/__init__.py @@ -3,507 +3,1600 @@ class Provider(AddressProvider): - city_formats = ('{{city_name}}', ) + city_formats = ("{{city_name}}",) - street_name_formats = ('{{street_name}}', ) - street_address_formats = ('{{street_name}} {{building_number}}', ) - address_formats = ('{{street_address}}\n{{postcode}} {{city}}', ) + street_name_formats = ("{{street_name}}",) + street_address_formats = ("{{street_name}} {{building_number}}",) + address_formats = ("{{street_address}}\n{{postcode}} {{city}}",) - building_number_formats = ('###', '##', '#', '#a', '#b', '#c') + building_number_formats = ("###", "##", "#", "#a", "#b", "#c") - postcode_formats = ('####', ) + postcode_formats = ("####",) cities = ( - "Ajdovščina", "Bled", "Bovec", "Brežice", "Celje", "Cerknica", - "Črnomelj", "Domžale", "Dravograd", "Gornja Radgona", "Gornji Grad", - "Grosuplje", "Hrastnik", "Idrija", "Ilirska Bistrica", "Izola", - "Jesenice", "Kamnik", "Kobarid", "Kočevje", "Koper", - "Kostanjevica na Krki", "Kranj", "Krško", "Laško", - "Lenart v Slovenskih goricah", "Lendava", "Litija", "Ljubljana", - "Ljutomer", "Logatec", "Maribor", "Medvode", "Mengeš", "Metlika", - "Mežica", "Murska Sobota", "Nova Gorica", "Novo mesto", "Ormož", - "Piran", "Postojna", "Prevalje", "Ptuj", "Radeče", "Radovljica", - "Ravne na Koroškem", "Ribnica", "Rogaška Slatina", - "Ruše", "Sevnica", "Sežana", "Slovenj Gradec", "Slovenska Bistrica", - "Slovenske Konjice", "Šempeter pri Gorici", "Šentjur", "Škofja Loka", - "Šoštanj", "Tolmin", "Trbovlje", "Trebnje", "Tržič", "Turnišče", - "Velenje", "Vipava", "Vipavski Križ", "Višnja Gora", "Vrhnika", - "Zagorje ob Savi", "Žalec", "Železniki", "Žiri", + "Ajdovščina", + "Bled", + "Bovec", + "Brežice", + "Celje", + "Cerknica", + "Črnomelj", + "Domžale", + "Dravograd", + "Gornja Radgona", + "Gornji Grad", + "Grosuplje", + "Hrastnik", + "Idrija", + "Ilirska Bistrica", + "Izola", + "Jesenice", + "Kamnik", + "Kobarid", + "Kočevje", + "Koper", + "Kostanjevica na Krki", + "Kranj", + "Krško", + "Laško", + "Lenart v Slovenskih goricah", + "Lendava", + "Litija", + "Ljubljana", + "Ljutomer", + "Logatec", + "Maribor", + "Medvode", + "Mengeš", + "Metlika", + "Mežica", + "Murska Sobota", + "Nova Gorica", + "Novo mesto", + "Ormož", + "Piran", + "Postojna", + "Prevalje", + "Ptuj", + "Radeče", + "Radovljica", + "Ravne na Koroškem", + "Ribnica", + "Rogaška Slatina", + "Ruše", + "Sevnica", + "Sežana", + "Slovenj Gradec", + "Slovenska Bistrica", + "Slovenske Konjice", + "Šempeter pri Gorici", + "Šentjur", + "Škofja Loka", + "Šoštanj", + "Tolmin", + "Trbovlje", + "Trebnje", + "Tržič", + "Turnišče", + "Velenje", + "Vipava", + "Vipavski Križ", + "Višnja Gora", + "Vrhnika", + "Zagorje ob Savi", + "Žalec", + "Železniki", + "Žiri", ) streets = ( - "Abramova ulica", "Adamičeva ulica", "Adamič-Lundrovo nabrežje", - "Ajdovščina", "Aleševa ulica", "Alešovčeva ulica", - "Aljaževa ulica", "Ambrožev trg", "Ameriška ulica", - "Andrićeva ulica", "Anžurjeva ulica", "Apihova ulica", - "Argentinska ulica", "Arharjeva cesta", "Arkova ulica", - "Artačeva ulica", "Aškerčeva cesta", "Avčinova ulica", - "Avsečeva ulica", "Avstrijska ulica", "Avšičeva cesta", - "Ažmanova ulica", "Babičeva ulica", "Badjurova ulica", - "Balinarska pot", "Baragova ulica", "Barjanska cesta", - "Bavdkova ulica", "Baznikova ulica", "Bazoviška ulica", - "Beethovnova ulica", "Belačeva ulica", "Beljaška ulica", - "Berčičeva ulica", "Berčonova pot", "Berdajsova ulica", - "Bernekerjeva ulica", "Bernikova ulica", "Betettova cesta", - "Bezenškova ulica", "Bežigrad", "Bičevje", "Bilečanska ulica", - "Bitenčeva ulica", "Bizjakova ulica", "Bizjanova ulica", - "Bizovški štradon", "Blasnikova ulica", "Blasov breg", - "Bleiweisova cesta", "Bobenčkova ulica", "Bobrova ulica", - "Bognarjeva pot", "Bohinjčeva ulica", "Bohoričeva ulica", - "Boletova ulica", "Bolgarska ulica", "Borovniška ulica", - "Borštnikov trg", "Borutova ulica", "Božičeva ulica", - "Brankova ulica", "Bratinova ulica", "Bratislavska cesta", - "Bratov Jakopičev ulica", "Bratov Kunovarjev ulica", - "Bravničarjeva ulica", "Brdnikova ulica", "Breg", "Bregarjeva ulica", - "Breznikova ulica", "Brglezov štradon", "Brilejeva ulica", - "Brodarjev trg", "Brodska cesta", "Burnikova ulica", "Cankarjev vrh", - "Cankarjevo nabrežje", "Carja Dušana ulica", "Celarčeva ulica", - "Celjska ulica", "Celovška cesta", "Cerkniška ulica", - "Cerutova ulica", "Cesta Andreja Bitenca", "Cesta Ceneta Štuparja", - "Cesta Dolomitskega odreda", "Cesta II. grupe odredov", - "Cesta Ljubljanske brigade", "Cesta na Bellevue", "Cesta na Bokalce", - "Cesta na Brinovec", "Cesta na Brod", "Cesta na Ježah", - "Cesta na Kope", "Cesta na Laze", "Cesta na Loko", "Cesta na Mesarico", - "Cesta na Ozare", "Cesta na Poljane", "Cesta na Prevoje", - "Cesta na Urh", "Cesta na Vrhovce", "Cesta slov. kmečkih uporov", - "Cesta Urške Zatlerjeve", "Cesta v Dvor", "Cesta v Gameljne", - "Cesta v Hrastje", "Cesta v hrib", "Cesta v Kleče", "Cesta v Kostanj", - "Cesta v Legarico", "Cesta v Mestni log", "Cesta v Pečale", - "Cesta v Prod", "Cesta v Rožno dolino", "Cesta v Šmartno", - "Cesta v Zeleni log", "Cesta v Zgornji log", "Cesta vstaje", - "Cesta 24. junija", "Cesta 25 talcev", "Cesta 27. aprila", - "Chengdujska cesta", "Chopinov prehod", "Cigaletova ulica", - "Cilenškova ulica", "Cimermanova ulica", "Cimpermanova ulica", - "Cizejeva ulica", "Clevelandska ulica", "Colnarjeva ulica", - "Cvetlična pot", "Čampova ulica", "Čanžekova ulica", - "Čargova ulica", "Čebelarska ulica", "Čehova ulica", - "Čepelnikova ulica", "Čepovanska ulica", "Čerinova ulica", - "Černigojeva ulica", "Černivčeva ulica", "Červanova ulica", - "Čevljarska ulica", "Čižmanova ulica", "Čopova ulica", "Črna pot", - "Črnuška cesta", "Črtomirova ulica", "Čučkova ulica", - "Dajnkova ulica", "Dalmatinova ulica", "Danile Kumarjeve ulica", - "Dečkova ulica", "Dečmanova ulica", "Delakova ulica", - "Demšarjeva cesta", "Derčeva ulica", "Dergančeva ulica", - "Dermotova ulica", "Detelova ulica", "Devinska ulica", "Devova ulica", - "Divjakova ulica", "Do proge", "Dobrajčeva ulica", "Dobrdobska ulica", - "Dolenjska cesta", "Dolgi breg", "Dolgi most", "Dolharjeva ulica", - "Dolinarjeva ulica", "Dolinškova ulica", "Dolničarjeva ulica", - "Dolomitska ulica", "Drabosnjakova ulica", "Draga", "Draveljska ulica", - "Dražgoška ulica", "Drenikov vrh", "Drenikova ulica", - "Dunajska cesta", "Dvojna ulica", "Dvorakova ulica", "Dvorni trg", - "Eipprova ulica", "Ellerjeva ulica", "Emonska cesta", - "Erbežnikova ulica", "Erjavčeva cesta", "Fabianijeva ulica", - "Fani Grumove ulica", "Ferberjeva ulica", "Filipičeva ulica", - "Flajšmanova ulica", "Flandrova ulica", "Forsterjeva ulica", - "Franketova ulica", "Frankopanska ulica", "Frenkova pot", - "Friškovec", "Funtkova ulica", "Fužinska cesta", "Gabrov trg", - "Gača", "Galičeva ulica", "Galjevica", "Gallusovo nabrežje", - "Gasilska cesta", "Gasparijeva ulica", "Gašperšičeva ulica", - "Gerbičeva ulica", "Gestrinova ulica", "Glavarjeva ulica", - "Gledališka stolba", "Glinška ulica", "Glinškova ploščad", - "Glonarjeva ulica", "Gmajnice", "Gobarska pot", "Godeževa ulica", - "Gola Loka", "Golarjeva ulica", "Goljarjeva pot", "Golouhova ulica", - "Goriška ulica", "Gorjančeva ulica", "Gorjupova ulica", - "Gornji Rudnik I", "Gornji Rudnik II", "Gornji Rudnik III", - "Gornji trg", "Goropečnikova ulica", "Gortanova ulica", - "Gospodinjska ulica", "Gosposka ulica", "Gosposvetska cesta", - "Govekarjeva ulica", "Gozdna pot", "Grablovičeva ulica", - "Gradišče", "Gradnikova ulica", "Grafenauerjeva ulica", - "Grajski drevored", "Grajzerjeva ulica", "Gramozna pot", - "Grassellijeva ulica", "Gregorčičeva ulica", "Gregorinova ulica", - "Grintovška ulica", "Grobeljca", "Grobeljska pot", "Groharjeva cesta", - "Groznikova ulica", "Grška ulica", "Grško", "Gruberjevo nabrežje", - "Grudnovo nabrežje", "Gubčeva ulica", "Gunceljska cesta", - "Gustinčarjeva ulica", "Gustinčičeva ulica", "Hacetova ulica", - "Hafnerjeva ulica", "Hajdrihova ulica", "Hauptmanca", - "Hladilniška pot", "Hladnikova cesta", "Hlebčeva ulica", - "Hotimirova ulica", "Hradeckega cesta", "Hranilniška ulica", - "Hribarjevo nabrežje", "Hribernikova ulica", "Hribovska pot", - "Hrvaška ulica", "Hrvatski trg", "Hubadova ulica", "Hudourniška pot", - "Idrijska ulica", "Igriška ulica", "Ilešičeva ulica", - "Ilovški štradon", "Industrijska cesta", "Ingličeva ulica", - "Italijanska ulica", "Izletniška ulica", "Ižanska cesta", - "Jakčeva ulica", "Jakhljeva ulica", "Jakopičev drevored", - "Jakopičevo sprehajališče", "Jakšičeva ulica", "Jalnova ulica", - "Jamova cesta", "Janežičeva cesta", "Janova ulica", "Janševa ulica", - "Jarčeva ulica", "Jarnikova ulica", "Jarše", "Jarška cesta", - "Javorškova ulica", "Jazbečeva pot", "Jelinčičeva ulica", - "Jenkova ulica", "Jensenova ulica", "Jerajeva ulica", - "Jeranova ulica", "Jesenkova ulica", "Jesihov štradon", - "Jezerska ulica", "Ježa", "Ježica", "Joškov štradon", - "Jurčičev trg", "Jurčkova cesta", "Juričeva ulica", - "Juvanova ulica", "K reaktorju", "Kadilnikova ulica", - "Kajuhova ulica", "Kalingerjeva ulica", "Kalinova ulica", - "Kaminova ulica", "Kamniška ulica", "Kamnogoriška cesta", - "Kančeva ulica", "Kanonijeva cesta", "Kantetova ulica", - "Kapusova ulica", "Kardeljeva ploščad", "Karingerjeva ulica", - "Karunova ulica", "Kastelčeva ulica", "Kašeljska cesta", - "Kavadarska cesta", "Kavčičeva ulica", "Kavškova ulica", - "Kekčeva ulica", "Kermaunerjeva ulica", "Kernova cesta", - "Kerševanova ulica", "Keržičeva ulica", "Kettejeva ulica", - "Kladezna ulica", "Klančarjeva ulica", "Kleče", - "Klemenova ulica", "Kleparska steza", "Ključavničarska ulica", - "Klunova ulica", "Kmečka pot", "Knafljev prehod", - "Knezov štradon", "Knezova ulica", "Knobleharjeva ulica", - "Koblarjeva ulica", "Kocbekova ulica", "Kocenova ulica", - "Kocjanova ulica", "Kočenska ulica", "Kodrova ulica", - "Kogojeva ulica", "Kogovškova ulica", "Kokaljeva ulica", - "Kolarjeva ulica", "Kolesarska pot", "Koleševa ulica", - "Kolinska ulica", "Kolmanova ulica", "Kolodvorska ulica", - "Komanova ulica", "Komenskega ulica", "Kongresni trg", - "Kopališka ulica", "Kopitarjeva ulica", "Kopna pot", "Koprska ulica", - "Koreninova ulica", "Koroška ulica", "Korotanska ulica", - "Kosančeva ulica", "Koseskega ulica", "Koseška cesta", - "Kosmačeva ulica", "Kosova ulica", "Kosovelova ulica", - "Koširjeva ulica", "Kotnikova ulica", "Kovačeva ulica", - "Kovaška ulica", "Kovinarska ulica", "Kozakova ulica", - "Kozinova ulica", "Kozlarjeva pot", "Koželjeva ulica", - "Krakovski nasip", "Kraljeva ulica", "Kranerjeva ulica", - "Kraška ulica", "Kratka pot", "Kratka steza", "Kregarjeva ulica", - "Kreljeva ulica", "Kremžarjeva ulica", "Krimska ulica", - "Krištofova ulica", "Kriva pot", "Krivec", "Križevniška soteska", - "Križna ulica", "Krmčeva ulica", "Krmeljeva ulica", - "Kropova ulica", "Krošljeva ulica", "Krovska ulica", "Krožna pot", - "Kržičeva ulica", "Kudrova ulica", "Kuhljeva cesta", - "Kumerdejeva ulica", "Kumerjeve ulica", "Kumrovška ulica", - "Kurilniška ulica", "Kurirska ulica", "Kusoldova ulica", - "Kuštrinova ulica", "Kuzeletova ulica", "Kuzmičeva ulica", - "Lahova pot", "Lajovčeva ulica", "Laknerjeva ulica", "Lakotence", - "Lampetova ulica", "Lamutova ulica", "Langusova ulica", "Latinski trg", - "Lavrinova ulica", "Layerjeva ulica", "Lazarjeva ulica", - "Legatova ulica", "Lemeževa ulica", "Lepi pot", "Lepodvorska ulica", - "Leskovičeva ulica", "Letališka cesta", "Levarjeva ulica", - "Levičnikova ulica", "Levstikov trg", "Levstikova ulica", - "Linhartov podhod", "Linhartova cesta", "Lipahova ulica", - "Litijska cesta", "Litostrojska cesta", "Livada", "Livarska ulica", - "Ločnikarjeva ulica", "Lončarska steza", "Lorenzova cesta", - "Lovrenčičeva ulica", "Lovska ulica", "Lovšetova ulica", - "Lubejeva ulica", "Luize Pesjakove ulica", "Lunačkova ulica", - "Mačja steza", "Mačkov kot", "Mačkova ulica", "Madžarska ulica", - "Magistrova ulica", "Maistrova ulica", "Majaronova ulica", - "Majde Vrhovnikove ulica", "Majorja Lavriča ulica", "Makucova ulica", - "Mala ulica", "Mala vas", "Malejeva ulica", "Malenškova ulica", - "Malgajeva ulica", "Mali štradon", "Mali trg", "Malnarjeva ulica", - "Marčenkova ulica", "Marentičeva ulica", "Mareška pot", - "Marice Kovačeve ulica", "Marincljeva ulica", "Marinovševa cesta", - "Maroltova ulica", "Martina Krpana ulica", "Martinčeva ulica", - "Martinova ulica", "Marušičeva ulica", "Masarykova cesta", - "Matjanova pot", "Matjaževa ulica", "Maurerjeva ulica", - "Mazovčeva pot", "Med hmeljniki", "Medarska ulica", "Medenska cesta", - "Medveščkova ulica", "Mekinčeva ulica", "Melikova ulica", - "Mencingerjeva ulica", "Merčnikova ulica", "Merosodna ulica", - "Mesesnelova ulica", "Mestni trg", "Meškova ulica", "Metelkova ulica", - "Miheličeva cesta", "Mihov štradon", "Miklavčeva ulica", - "Miklošičeva cesta", "Mikuževa ulica", "Milčetova pot", - "Mire Lenardičeve ulica", "Mirje", "Mirna pot", "Mislejeva ulica", - "Mizarska pot", "Mladinska ulica", "Mlake", "Mlinska pot", - "Močnikova ulica", "Mokrška ulica", "Molekova ulica", - "Moškričeva ulica", "Mrharjeva ulica", "Mrzelova ulica", - "Murkova ulica", "Murnikova ulica", "Murnova ulica", "Muzejska ulica", - "Na cvetači", "Na delih", "Na dolih", "Na gaju", "Na gmajni", - "Na Herši", "Na jami", "Na klančku", "Na Korošci", "Na Palcah", - "Na požaru", "Na produ", "Na Rojah", "Na Stolbi", "Na Straški vrh", - "Na Trati", "Na Žalah", "Nade Ovčakove ulica", "Nadgoriška cesta", - "Nahlikova ulica", "Nahtigalova ulica", "Nanoška ulica", - "Nazorjeva ulica", "Nebotičnikov prehod", "Nedohova ulica", - "Njegoševa cesta", "Nova ulica", "Novakova pot", "Novakova ulica", - "Novi trg", "Novinarska ulica", "Novo naselje", "Novo Polje, cesta I", - "Novo Polje, cesta III", "Novo Polje, cesta IV", - "Novo Polje, cesta V", "Novo Polje, cesta VI", "Novo Polje, cesta VII", - "Novo Polje, cesta X", "Novo Polje, cesta XI", "Novo Polje, cesta XII", - "Novo Polje, cesta XIV", "Novo Polje, cesta XIX", - "Novo Polje, cesta XVI", "Novo Polje, cesta XVII", - "Novo Polje, cesta XXI", "Novo Polje, cesta XXIII", "Novosadska ulica", - "Ob daljnovodu", "Ob dolenjski železnici", "Ob Farjevcu", - "Ob Ljubljanici", "Ob Mejašu", "Ob potoku", "Ob pristanu", "Ob Savi", - "Ob studencu", "Ob zdravstvenem domu", "Ob zeleni jami", "Ob zelenici", - "Ob žici", "Obirska ulica", "Obrežna steza", "Obrije", - "Ocvirkova ulica", "Ogrinčeva ulica", "Okiškega ulica", - "Omahnova ulica", "Omejčeva ulica", "Omersova ulica", - "Oražnova ulica", "Orlova ulica", "Osenjakova ulica", - "Osojna pot", "Osojna steza", "Osterčeva ulica", "Ovčakova ulica", - "Pahorjeva ulica", "Palmejeva ulica", "Papirniška pot", - "Park Ajdovščina", "Park Arturo Toscanini", - "Parmova ulica", "Parmska cesta", "Partizanska ulica", - "Pavlovčeva ulica", "Pavšičeva ulica", "Pečarjeva ulica", - "Pečnik", "Pečnikova ulica", "Pegamova ulica", "Perčeva ulica", - "Periška cesta", "Perkova ulica", "Peršinova cesta", - "Pesarska cesta", "Pestotnikova ulica", "Peščena pot", - "Petkova ulica", "Petkovškovo nabrežje", "Petrčeva ulica", - "Pilonova ulica", "Pionirska pot", "Pipanova pot", "Pirnatova ulica", - "Planinska cesta", "Planinškova ulica", "Plečnikov podhod", - "Plemljeva ulica", "Plešičeva ulica", "Pleteršnikova ulica", - "Pločanska ulica", "Pod akacijami", "Pod bregom", "Pod bresti", - "Pod bukvami", "Pod Debnim vrhom", "Pod gabri", "Pod gozdom", - "Pod hrasti", "Pod hribom", "Pod hruško", "Pod jelšami", - "Pod jezom", "Pod ježami", "Pod Kamno gorico", "Pod klancem", - "Pod lipami", "Pod topoli", "Pod Trančo", "Pod turnom", "Pod vrbami", - "Podgornikova ulica", "Podgorska cesta", "Podgrajska cesta", - "Podjunska ulica", "Podlimbarskega ulica", "Podmilščakova ulica", - "Podrožniška pot", "Podsmreška cesta", "Podutiška cesta", - "Pogačarjev trg", "Pohlinova ulica", "Poklukarjeva ulica", - "Polakova ulica", "Polanškova ulica", "Poljanska cesta", - "Polje", "Polje, cesta I", "Polje, cesta II", "Polje, cesta III", - "Polje, cesta VI", "Polje, cesta VIII", "Polje, cesta X", - "Polje, cesta XIV", "Polje, cesta XL", "Polje, cesta XLII", - "Polje, cesta XLVI", "Polje, cesta XVI", "Polje, cesta XVIII", - "Polje, cesta XXII", "Polje, cesta XXIV", "Polje, cesta XXVI", - "Polje, cesta XXX", "Polje, cesta XXXII", "Polje, cesta XXXIV", - "Polje, cesta XXXVIII", "Poljedelska ulica", "Poljska pot", - "Porentova ulica", "Posavskega ulica", "Postojnska ulica", - "Pot do šole", "Pot Draga Jakopiča", "Pot heroja Trtnika", - "Pot k igrišču", "Pot k ribniku", "Pot k Savi", "Pot k sejmišču", - "Pot k studencu", "Pot na Breje", "Pot na Drenikov vrh", - "Pot na Golovec", "Pot na goro", "Pot na Gradišče", "Pot na Grič", - "Pot na Labar", "Pot na mah", "Pot na most", "Pot na Orle", - "Pot na Visoko", "Pot na Zduše", "Pot Rdečega križa", - "Pot v boršt", "Pot v Čeželj", "Pot v dolino", "Pot v Goričico", - "Pot v hribec", "Pot v mejah", "Pot v Mlake", "Pot v Podgorje", - "Pot v Zeleni gaj", "Pot za Brdom", "Pot za razori", - "Potokarjeva ulica", "Potrčeva ulica", "Povšetova ulica", - "Prašnikarjeva ulica", "Praznikova ulica", "Pražakova ulica", - "Pred Savljami", "Predjamska cesta", "Predor pod Gradom", - "Preglov trg", "Prekmurska ulica", "Prelčeva ulica", "Preloge", - "Premrlova ulica", "Preradovićeva ulica", "Preserska ulica", - "Prešernov trg", "Prešernova cesta", "Pretnarjeva ulica", - "Pri borštu", "Pri brvi", "Pri malem kamnu", "Pri mostiščarjih", - "Pribinova ulica", "Prijateljeva ulica", "Primorska ulica", - "Prinčičeva ulica", "Prisojna ulica", "Prištinska ulica", "Privoz", - "Proletarska cesta", "Prule", "Prušnikova ulica", "Prvomajska ulica", - "Pšatnik", "Pšatska pot", "Ptujska ulica", "Pučnikova ulica", - "Puharjeva ulica", "Puhova ulica", "Puhtejeva ulica", - "Puterlejeva ulica", "Putrihova ulica", "Raičeva ulica", - "Rakovniška ulica", "Rakuševa ulica", "Ramovševa ulica", - "Ravbarjeva ulica", "Ravna pot", "Ravnikova ulica", - "Razgledna steza", "Reber", "Reboljeva ulica", "Rečna ulica", - "Regentova cesta", "Resljeva cesta", "Reška ulica", - "Ribičičeva ulica", "Ribji trg", "Ribniška ulica", - "Rimska cesta", "Rjava cesta", "Robbova ulica", "Robičeva ulica", - "Rodičeva ulica", "Rojčeva ulica", "Romavhova ulica", "Rosna pot", - "Rotarjeva ulica", "Rovšnikova ulica", "Rozmanova ulica", - "Rožanska ulica", "Rožičeva ulica", "Rožna dolina, cesta I", - "Rožna dolina, cesta III", "Rožna dolina, cesta IV", - "Rožna dolina, cesta V", "Rožna dolina, cesta VI", - "Rožna dolina, cesta VIII", "Rožna dolina, cesta X", - "Rožna dolina, cesta XII", "Rožna dolina, cesta XIII", - "Rožna dolina, cesta XV", "Rožna dolina, cesta XVII", - "Rožna ulica", "Rudnik I", "Rudnik II", "Rudnik III", "Runkova ulica", - "Ruska ulica", "Rutarjeva ulica", "Sadinja vas", "Sajovčeva ulica", - "Samova ulica", "Saškova ulica", "Sattnerjeva ulica", - "Savinova ulica", "Savinškova ulica", "Savlje", "Savska cesta", - "Sedejeva ulica", "Selanov trg", "Selanova ulica", - "Setnikarjeva ulica", "Seunigova ulica", "Simončičeva ulica", - "Siva pot", "Skapinova ulica", "Sketova ulica", "Skopčeva ulica", - "Skrbinškova ulica", "Slape", "Slapnikova ulica", "Slavčja ulica", - "Slomškova ulica", "Slovenčeva ulica", "Slovenska cesta", - "Smoletova ulica", "Smrekarjeva ulica", "Smrtnikova ulica", - "Snebersko nabrežje", "Snežniška ulica", "Snojeva ulica", - "Sojerjeva ulica", "Sončna pot", "Sostrska cesta", "Soška ulica", - "Soteška pot", "Soussenska ulica", "Sovretova ulica", - "Spodnji Rudnik I", "Spodnji Rudnik II", "Spodnji Rudnik III", - "Spodnji Rudnik V", "Spomeniška pot", "Srebrničeva ulica", - "Srednja pot", "Stadionska ulica", "Staničeva ulica", - "Stara Ježica", "Stara slovenska ulica", "Stare Črnuče", - "Stari trg", "Stegne", "Steletova ulica", "Sternadova ulica", - "Stiška ulica", "Stolpniška ulica", "Stoženska ulica", "Stožice", - "Stražarjeva ulica", "Streliška ulica", "Stritarjeva ulica", - "Strmeckijeva ulica", "Strmi pot", "Strniševa cesta", - "Strossmayerjeva ulica", "Strugarska ulica", "Strupijevo nabrežje", - "Suhadolčanova ulica", "Sulčja ulica", "Svetčeva ulica", - "Šarhova ulica", "Šentjakob", "Šentviška ulica", - "Šerkova ulica", "Šestova ulica", "Šibeniška ulica", - "Šinkov štradon", "Šišenska cesta", "Šivičeva ulica", - "Škerljeva ulica", "Škofova ulica", "Škrabčeva ulica", - "Šlandrova ulica", "Šlosarjeva ulica", "Šmarna gora", - "Šmartinska cesta", "Šmartno", "Španova pot", "Španska ulica", - "Štajerska cesta", "Štebijeva cesta", "Štefančeva ulica", - "Štembalova ulica", "Štepanjska cesta", "Štepanjsko nabrežje", - "Štirnova ulica", "Štradon čez Prošco", "Štrekljeva ulica", - "Študentovska ulica", "Štukljeva cesta", "Štula", - "Šturmova ulica", "Šubičeva ulica", "Šumarjeva ulica", - "Švabićeva ulica", "Švarova ulica", "Švegljeva cesta", "Tabor", - "Tacenska cesta", "Tavčarjeva ulica", "Tbilisijska ulica", - "Tesarska ulica", "Teslova ulica", "Tesna ulica", "Tesovnikova ulica", - "Tiha ulica", "Tiranova ulica", "Tischlerjeva ulica", - "Tivolska cesta", "Tkalska ulica", "Tobačna ulica", "Tolminska ulica", - "Tomačevo", "Tomačevska cesta", "Tomažičeva ulica", - "Tometova ulica", "Tominškova ulica", "Tomišeljska ulica", - "Toplarniška ulica", "Topniška ulica", "Torkarjeva ulica", - "Tratnikova ulica", "Travniška ulica", "Trbeže", "Trdinova ulica", - "Trebušakova ulica", "Trg francoske revolucije", - "Trg mladih", "Trg mladinskih delov. brigad", "Trg narodnih herojev", - "Trg prekomorskih brigad", "Trg republike", "Trg 9. maja", - "Trinkova ulica", "Trnovčeva ulica", "Trnovska ulica", - "Trpinčeva ulica", "Trstenjakova ulica", "Trtnikova ulica", - "Tržaška cesta", "Tržna ulica", "Tugomerjeva ulica", - "Turnerjeva ulica", "Turnsko nabrežje", "Udvančeva ulica", - "Ulica aktivistov", "Ulica Alme Sodnik", "Ulica Andreja Kumarja", - "Ulica Angelce Ocepkove", "Ulica Angele Ljubičeve", - "Ulica borca Petra", "Ulica borcev za severno mejo", - "Ulica bratov Bezlajev", "Ulica bratov Blanč", "Ulica bratov Jančar", - "Ulica bratov Komel", "Ulica bratov Kraljič", "Ulica bratov Martinec", - "Ulica bratov Novak", "Ulica bratov Rozmanov", "Ulica bratov Škofov", - "Ulica bratov Učakar", "Ulica bratov Židan", - "Ulica Dušana Kraigherja", "Ulica Ernesta Kramerja", - "Ulica Franca Nebca", "Ulica Francke Jerasove", "Ulica Franja Novaka", - "Ulica gledališča BTC", "Ulica Goce Delčeva", - "Ulica Gubčeve brigade", "Ulica Hermana Potočnika", - "Ulica Ivana Roba", "Ulica Ivanke Kožuh", "Ulica Ivice Pirjevčeve", - "Ulica Janeza Pavla II.", "Ulica Janeza Rožiča", - "Ulica Jožeta Jame", "Ulica Jožeta Japlja", "Ulica Jožeta Mirtiča", - "Ulica Konrada Babnika", "Ulica Koroškega bataljona", - "Ulica Lizike Jančarjeve", "Ulica Lojzeta Spacala", - "Ulica Lovre Klemenčiča", "Ulica Malči Beličeve", - "Ulica Marije Drakslerjeve", "Ulica Marije Hvaličeve", - "Ulica Marje Boršnikove", "Ulica Marka Šlajmerja", - "Ulica Milana Majcna", "Ulica Milke Kerinove", "Ulica Minke Bobnar", - "Ulica Mirka Jurce", "Ulica Mirka Tomšiča", "Ulica Miroslava Turka", - "Ulica Molniške čete", "Ulica na Grad", "Ulica Nade Čamernikove", - "Ulica Olge Mohorjeve", "Ulica padlih borcev", "Ulica Pariške komune", - "Ulica Pohorskega bataljona", "Ulica Polonce Čude", - "Ulica prvoborcev", "Ulica Rezke Dragarjeve", "Ulica Rezke Klopčič", - "Ulica Rudolfa Janežiča", "Ulica Staneta Severja", - "Ulica Štefke Zbašnikove", "Ulica talcev", - "Ulica Tončke Čečeve", "Ulica v Kokovšek", - "Ulica Vide Pregarčeve", "Ulica Vladimirja Trampuža", - "Ulica Zore Ragancinove", "Ulica Žanke Erjavec", - "Ulica 15. aprila", "Ulica 15. maja", "Ulica 24. avgusta", - "Ulica 4. julija", "Ulica 7. septembra", "Ulica 9. junija", - "Uršičev štradon", "Usnjarska ulica", "V Češnjico", "V dolini", - "V Karlovce", "V Karlovce", "V Kladeh", "V Murglah", "V Sige", - "V Varde", "V Zalar", "Vagajeva ulica", "Valjavčeva ulica", - "Valvasorjeva ulica", "Vandotova ulica", "Vaška pot", - "Večna pot", "Vegova ulica", "Velebitska ulica", - "Veliki štradon", "Velikovška ulica", "Velnarjeva ulica", - "Verovškova ulica", "Veršičeva ulica", "Veselova ulica", - "Videmska ulica", "Vidergarjeva ulica", "Vidičeva ulica", - "Vidovdanska cesta", "Vilharjev podhod", "Vilharjeva cesta", - "Vinterca", "Vipavska ulica", "Vipotnikova ulica", "Viška cesta", - "Vižmarska pot", "Vodmatska ulica", "Vodmatski trg", "Vodna steza", - "Vodnikova cesta", "Vodnikovo naselje", "Vodovodna cesta", - "Vogelna ulica", "Vojkova cesta", "Volaričeva ulica", - "Vošnjakova ulica", "Vozna pot na Grad", "Vožarski pot", - "Vrazov trg", "Vrbovec", "Vrbska ulica", "Vregova ulica", - "Vrhovci, cesta I", "Vrhovci, cesta II", "Vrhovci, cesta III", - "Vrhovci, cesta IX", "Vrhovci, cesta V", "Vrhovci, cesta VI", - "Vrhovci, cesta X", "Vrhovci, cesta XI", "Vrhovci, cesta XII", - "Vrhovci, cesta XIV", "Vrhovci, cesta XIX", "Vrhovci, cesta XV", - "Vrhovci, cesta XVII", "Vrhovci, cesta XVIII", "Vrhovci, cesta XX", - "Vrhovci, cesta XXII", "Vrhovci, cesta XXVI", "Vrhovci, cesta XXVIII", - "Vrhovci, cesta XXXII", "Vrhovčeva ulica", "Vrhovnikova ulica", - "Vrtača", "Vrtna ulica", "Vrtnarska cesta", "Vulčeva ulica", - "Vzajemna ulica", "Windischerjeva ulica", "Wolfova ulica", - "Za Garažami", "Za gasilskim domom", "Za Gradom", "Za krajem", - "Za opekarno", "Za partizanskim domom", "Za progo", "Za vasjo", - "Zadnikarjeva ulica", "Zadobrovška cesta", "Zadružna ulica", - "Zajčeva pot", "Zajčevi dvori", "Zakotnikova ulica", - "Zalaznikova ulica", "Zaletelova ulica", "Zaloška cesta", - "Zarnikova ulica", "Zasavska cesta", "Zatišje", "Zavetiška ulica", - "Završje", "Zbašnikova ulica", "Zdešarjeva cesta", - "Zelena pot", "Zelenova ulica", "Zeljarska ulica", - "Zevnikova ulica", "Zidarjev štradon", "Ziherlova ulica", - "Zlatek", "Znamenjska ulica", "Zofke Kvedrove ulica", "Zoisova cesta", - "Zupanova ulica", "Zvezda", "Zvezdarska ulica", "Zvezna ulica", - "Žabarjeva ulica", "Žabjak", "Žalska ulica", "Žaucerjeva ulica", - "Žeje", "Železna cesta", "Železnikarjeva ulica", "Žerjalova ulica", - "Židankova ulica", "Židovska steza", "Židovska ulica", - "Živaličeva ulica", "Živinozdravska ulica", "Žolgerjeva ulica", - + "Abramova ulica", + "Adamičeva ulica", + "Adamič-Lundrovo nabrežje", + "Ajdovščina", + "Aleševa ulica", + "Alešovčeva ulica", + "Aljaževa ulica", + "Ambrožev trg", + "Ameriška ulica", + "Andrićeva ulica", + "Anžurjeva ulica", + "Apihova ulica", + "Argentinska ulica", + "Arharjeva cesta", + "Arkova ulica", + "Artačeva ulica", + "Aškerčeva cesta", + "Avčinova ulica", + "Avsečeva ulica", + "Avstrijska ulica", + "Avšičeva cesta", + "Ažmanova ulica", + "Babičeva ulica", + "Badjurova ulica", + "Balinarska pot", + "Baragova ulica", + "Barjanska cesta", + "Bavdkova ulica", + "Baznikova ulica", + "Bazoviška ulica", + "Beethovnova ulica", + "Belačeva ulica", + "Beljaška ulica", + "Berčičeva ulica", + "Berčonova pot", + "Berdajsova ulica", + "Bernekerjeva ulica", + "Bernikova ulica", + "Betettova cesta", + "Bezenškova ulica", + "Bežigrad", + "Bičevje", + "Bilečanska ulica", + "Bitenčeva ulica", + "Bizjakova ulica", + "Bizjanova ulica", + "Bizovški štradon", + "Blasnikova ulica", + "Blasov breg", + "Bleiweisova cesta", + "Bobenčkova ulica", + "Bobrova ulica", + "Bognarjeva pot", + "Bohinjčeva ulica", + "Bohoričeva ulica", + "Boletova ulica", + "Bolgarska ulica", + "Borovniška ulica", + "Borštnikov trg", + "Borutova ulica", + "Božičeva ulica", + "Brankova ulica", + "Bratinova ulica", + "Bratislavska cesta", + "Bratov Jakopičev ulica", + "Bratov Kunovarjev ulica", + "Bravničarjeva ulica", + "Brdnikova ulica", + "Breg", + "Bregarjeva ulica", + "Breznikova ulica", + "Brglezov štradon", + "Brilejeva ulica", + "Brodarjev trg", + "Brodska cesta", + "Burnikova ulica", + "Cankarjev vrh", + "Cankarjevo nabrežje", + "Carja Dušana ulica", + "Celarčeva ulica", + "Celjska ulica", + "Celovška cesta", + "Cerkniška ulica", + "Cerutova ulica", + "Cesta Andreja Bitenca", + "Cesta Ceneta Štuparja", + "Cesta Dolomitskega odreda", + "Cesta II. grupe odredov", + "Cesta Ljubljanske brigade", + "Cesta na Bellevue", + "Cesta na Bokalce", + "Cesta na Brinovec", + "Cesta na Brod", + "Cesta na Ježah", + "Cesta na Kope", + "Cesta na Laze", + "Cesta na Loko", + "Cesta na Mesarico", + "Cesta na Ozare", + "Cesta na Poljane", + "Cesta na Prevoje", + "Cesta na Urh", + "Cesta na Vrhovce", + "Cesta slov. kmečkih uporov", + "Cesta Urške Zatlerjeve", + "Cesta v Dvor", + "Cesta v Gameljne", + "Cesta v Hrastje", + "Cesta v hrib", + "Cesta v Kleče", + "Cesta v Kostanj", + "Cesta v Legarico", + "Cesta v Mestni log", + "Cesta v Pečale", + "Cesta v Prod", + "Cesta v Rožno dolino", + "Cesta v Šmartno", + "Cesta v Zeleni log", + "Cesta v Zgornji log", + "Cesta vstaje", + "Cesta 24. junija", + "Cesta 25 talcev", + "Cesta 27. aprila", + "Chengdujska cesta", + "Chopinov prehod", + "Cigaletova ulica", + "Cilenškova ulica", + "Cimermanova ulica", + "Cimpermanova ulica", + "Cizejeva ulica", + "Clevelandska ulica", + "Colnarjeva ulica", + "Cvetlična pot", + "Čampova ulica", + "Čanžekova ulica", + "Čargova ulica", + "Čebelarska ulica", + "Čehova ulica", + "Čepelnikova ulica", + "Čepovanska ulica", + "Čerinova ulica", + "Černigojeva ulica", + "Černivčeva ulica", + "Červanova ulica", + "Čevljarska ulica", + "Čižmanova ulica", + "Čopova ulica", + "Črna pot", + "Črnuška cesta", + "Črtomirova ulica", + "Čučkova ulica", + "Dajnkova ulica", + "Dalmatinova ulica", + "Danile Kumarjeve ulica", + "Dečkova ulica", + "Dečmanova ulica", + "Delakova ulica", + "Demšarjeva cesta", + "Derčeva ulica", + "Dergančeva ulica", + "Dermotova ulica", + "Detelova ulica", + "Devinska ulica", + "Devova ulica", + "Divjakova ulica", + "Do proge", + "Dobrajčeva ulica", + "Dobrdobska ulica", + "Dolenjska cesta", + "Dolgi breg", + "Dolgi most", + "Dolharjeva ulica", + "Dolinarjeva ulica", + "Dolinškova ulica", + "Dolničarjeva ulica", + "Dolomitska ulica", + "Drabosnjakova ulica", + "Draga", + "Draveljska ulica", + "Dražgoška ulica", + "Drenikov vrh", + "Drenikova ulica", + "Dunajska cesta", + "Dvojna ulica", + "Dvorakova ulica", + "Dvorni trg", + "Eipprova ulica", + "Ellerjeva ulica", + "Emonska cesta", + "Erbežnikova ulica", + "Erjavčeva cesta", + "Fabianijeva ulica", + "Fani Grumove ulica", + "Ferberjeva ulica", + "Filipičeva ulica", + "Flajšmanova ulica", + "Flandrova ulica", + "Forsterjeva ulica", + "Franketova ulica", + "Frankopanska ulica", + "Frenkova pot", + "Friškovec", + "Funtkova ulica", + "Fužinska cesta", + "Gabrov trg", + "Gača", + "Galičeva ulica", + "Galjevica", + "Gallusovo nabrežje", + "Gasilska cesta", + "Gasparijeva ulica", + "Gašperšičeva ulica", + "Gerbičeva ulica", + "Gestrinova ulica", + "Glavarjeva ulica", + "Gledališka stolba", + "Glinška ulica", + "Glinškova ploščad", + "Glonarjeva ulica", + "Gmajnice", + "Gobarska pot", + "Godeževa ulica", + "Gola Loka", + "Golarjeva ulica", + "Goljarjeva pot", + "Golouhova ulica", + "Goriška ulica", + "Gorjančeva ulica", + "Gorjupova ulica", + "Gornji Rudnik I", + "Gornji Rudnik II", + "Gornji Rudnik III", + "Gornji trg", + "Goropečnikova ulica", + "Gortanova ulica", + "Gospodinjska ulica", + "Gosposka ulica", + "Gosposvetska cesta", + "Govekarjeva ulica", + "Gozdna pot", + "Grablovičeva ulica", + "Gradišče", + "Gradnikova ulica", + "Grafenauerjeva ulica", + "Grajski drevored", + "Grajzerjeva ulica", + "Gramozna pot", + "Grassellijeva ulica", + "Gregorčičeva ulica", + "Gregorinova ulica", + "Grintovška ulica", + "Grobeljca", + "Grobeljska pot", + "Groharjeva cesta", + "Groznikova ulica", + "Grška ulica", + "Grško", + "Gruberjevo nabrežje", + "Grudnovo nabrežje", + "Gubčeva ulica", + "Gunceljska cesta", + "Gustinčarjeva ulica", + "Gustinčičeva ulica", + "Hacetova ulica", + "Hafnerjeva ulica", + "Hajdrihova ulica", + "Hauptmanca", + "Hladilniška pot", + "Hladnikova cesta", + "Hlebčeva ulica", + "Hotimirova ulica", + "Hradeckega cesta", + "Hranilniška ulica", + "Hribarjevo nabrežje", + "Hribernikova ulica", + "Hribovska pot", + "Hrvaška ulica", + "Hrvatski trg", + "Hubadova ulica", + "Hudourniška pot", + "Idrijska ulica", + "Igriška ulica", + "Ilešičeva ulica", + "Ilovški štradon", + "Industrijska cesta", + "Ingličeva ulica", + "Italijanska ulica", + "Izletniška ulica", + "Ižanska cesta", + "Jakčeva ulica", + "Jakhljeva ulica", + "Jakopičev drevored", + "Jakopičevo sprehajališče", + "Jakšičeva ulica", + "Jalnova ulica", + "Jamova cesta", + "Janežičeva cesta", + "Janova ulica", + "Janševa ulica", + "Jarčeva ulica", + "Jarnikova ulica", + "Jarše", + "Jarška cesta", + "Javorškova ulica", + "Jazbečeva pot", + "Jelinčičeva ulica", + "Jenkova ulica", + "Jensenova ulica", + "Jerajeva ulica", + "Jeranova ulica", + "Jesenkova ulica", + "Jesihov štradon", + "Jezerska ulica", + "Ježa", + "Ježica", + "Joškov štradon", + "Jurčičev trg", + "Jurčkova cesta", + "Juričeva ulica", + "Juvanova ulica", + "K reaktorju", + "Kadilnikova ulica", + "Kajuhova ulica", + "Kalingerjeva ulica", + "Kalinova ulica", + "Kaminova ulica", + "Kamniška ulica", + "Kamnogoriška cesta", + "Kančeva ulica", + "Kanonijeva cesta", + "Kantetova ulica", + "Kapusova ulica", + "Kardeljeva ploščad", + "Karingerjeva ulica", + "Karunova ulica", + "Kastelčeva ulica", + "Kašeljska cesta", + "Kavadarska cesta", + "Kavčičeva ulica", + "Kavškova ulica", + "Kekčeva ulica", + "Kermaunerjeva ulica", + "Kernova cesta", + "Kerševanova ulica", + "Keržičeva ulica", + "Kettejeva ulica", + "Kladezna ulica", + "Klančarjeva ulica", + "Kleče", + "Klemenova ulica", + "Kleparska steza", + "Ključavničarska ulica", + "Klunova ulica", + "Kmečka pot", + "Knafljev prehod", + "Knezov štradon", + "Knezova ulica", + "Knobleharjeva ulica", + "Koblarjeva ulica", + "Kocbekova ulica", + "Kocenova ulica", + "Kocjanova ulica", + "Kočenska ulica", + "Kodrova ulica", + "Kogojeva ulica", + "Kogovškova ulica", + "Kokaljeva ulica", + "Kolarjeva ulica", + "Kolesarska pot", + "Koleševa ulica", + "Kolinska ulica", + "Kolmanova ulica", + "Kolodvorska ulica", + "Komanova ulica", + "Komenskega ulica", + "Kongresni trg", + "Kopališka ulica", + "Kopitarjeva ulica", + "Kopna pot", + "Koprska ulica", + "Koreninova ulica", + "Koroška ulica", + "Korotanska ulica", + "Kosančeva ulica", + "Koseskega ulica", + "Koseška cesta", + "Kosmačeva ulica", + "Kosova ulica", + "Kosovelova ulica", + "Koširjeva ulica", + "Kotnikova ulica", + "Kovačeva ulica", + "Kovaška ulica", + "Kovinarska ulica", + "Kozakova ulica", + "Kozinova ulica", + "Kozlarjeva pot", + "Koželjeva ulica", + "Krakovski nasip", + "Kraljeva ulica", + "Kranerjeva ulica", + "Kraška ulica", + "Kratka pot", + "Kratka steza", + "Kregarjeva ulica", + "Kreljeva ulica", + "Kremžarjeva ulica", + "Krimska ulica", + "Krištofova ulica", + "Kriva pot", + "Krivec", + "Križevniška soteska", + "Križna ulica", + "Krmčeva ulica", + "Krmeljeva ulica", + "Kropova ulica", + "Krošljeva ulica", + "Krovska ulica", + "Krožna pot", + "Kržičeva ulica", + "Kudrova ulica", + "Kuhljeva cesta", + "Kumerdejeva ulica", + "Kumerjeve ulica", + "Kumrovška ulica", + "Kurilniška ulica", + "Kurirska ulica", + "Kusoldova ulica", + "Kuštrinova ulica", + "Kuzeletova ulica", + "Kuzmičeva ulica", + "Lahova pot", + "Lajovčeva ulica", + "Laknerjeva ulica", + "Lakotence", + "Lampetova ulica", + "Lamutova ulica", + "Langusova ulica", + "Latinski trg", + "Lavrinova ulica", + "Layerjeva ulica", + "Lazarjeva ulica", + "Legatova ulica", + "Lemeževa ulica", + "Lepi pot", + "Lepodvorska ulica", + "Leskovičeva ulica", + "Letališka cesta", + "Levarjeva ulica", + "Levičnikova ulica", + "Levstikov trg", + "Levstikova ulica", + "Linhartov podhod", + "Linhartova cesta", + "Lipahova ulica", + "Litijska cesta", + "Litostrojska cesta", + "Livada", + "Livarska ulica", + "Ločnikarjeva ulica", + "Lončarska steza", + "Lorenzova cesta", + "Lovrenčičeva ulica", + "Lovska ulica", + "Lovšetova ulica", + "Lubejeva ulica", + "Luize Pesjakove ulica", + "Lunačkova ulica", + "Mačja steza", + "Mačkov kot", + "Mačkova ulica", + "Madžarska ulica", + "Magistrova ulica", + "Maistrova ulica", + "Majaronova ulica", + "Majde Vrhovnikove ulica", + "Majorja Lavriča ulica", + "Makucova ulica", + "Mala ulica", + "Mala vas", + "Malejeva ulica", + "Malenškova ulica", + "Malgajeva ulica", + "Mali štradon", + "Mali trg", + "Malnarjeva ulica", + "Marčenkova ulica", + "Marentičeva ulica", + "Mareška pot", + "Marice Kovačeve ulica", + "Marincljeva ulica", + "Marinovševa cesta", + "Maroltova ulica", + "Martina Krpana ulica", + "Martinčeva ulica", + "Martinova ulica", + "Marušičeva ulica", + "Masarykova cesta", + "Matjanova pot", + "Matjaževa ulica", + "Maurerjeva ulica", + "Mazovčeva pot", + "Med hmeljniki", + "Medarska ulica", + "Medenska cesta", + "Medveščkova ulica", + "Mekinčeva ulica", + "Melikova ulica", + "Mencingerjeva ulica", + "Merčnikova ulica", + "Merosodna ulica", + "Mesesnelova ulica", + "Mestni trg", + "Meškova ulica", + "Metelkova ulica", + "Miheličeva cesta", + "Mihov štradon", + "Miklavčeva ulica", + "Miklošičeva cesta", + "Mikuževa ulica", + "Milčetova pot", + "Mire Lenardičeve ulica", + "Mirje", + "Mirna pot", + "Mislejeva ulica", + "Mizarska pot", + "Mladinska ulica", + "Mlake", + "Mlinska pot", + "Močnikova ulica", + "Mokrška ulica", + "Molekova ulica", + "Moškričeva ulica", + "Mrharjeva ulica", + "Mrzelova ulica", + "Murkova ulica", + "Murnikova ulica", + "Murnova ulica", + "Muzejska ulica", + "Na cvetači", + "Na delih", + "Na dolih", + "Na gaju", + "Na gmajni", + "Na Herši", + "Na jami", + "Na klančku", + "Na Korošci", + "Na Palcah", + "Na požaru", + "Na produ", + "Na Rojah", + "Na Stolbi", + "Na Straški vrh", + "Na Trati", + "Na Žalah", + "Nade Ovčakove ulica", + "Nadgoriška cesta", + "Nahlikova ulica", + "Nahtigalova ulica", + "Nanoška ulica", + "Nazorjeva ulica", + "Nebotičnikov prehod", + "Nedohova ulica", + "Njegoševa cesta", + "Nova ulica", + "Novakova pot", + "Novakova ulica", + "Novi trg", + "Novinarska ulica", + "Novo naselje", + "Novo Polje, cesta I", + "Novo Polje, cesta III", + "Novo Polje, cesta IV", + "Novo Polje, cesta V", + "Novo Polje, cesta VI", + "Novo Polje, cesta VII", + "Novo Polje, cesta X", + "Novo Polje, cesta XI", + "Novo Polje, cesta XII", + "Novo Polje, cesta XIV", + "Novo Polje, cesta XIX", + "Novo Polje, cesta XVI", + "Novo Polje, cesta XVII", + "Novo Polje, cesta XXI", + "Novo Polje, cesta XXIII", + "Novosadska ulica", + "Ob daljnovodu", + "Ob dolenjski železnici", + "Ob Farjevcu", + "Ob Ljubljanici", + "Ob Mejašu", + "Ob potoku", + "Ob pristanu", + "Ob Savi", + "Ob studencu", + "Ob zdravstvenem domu", + "Ob zeleni jami", + "Ob zelenici", + "Ob žici", + "Obirska ulica", + "Obrežna steza", + "Obrije", + "Ocvirkova ulica", + "Ogrinčeva ulica", + "Okiškega ulica", + "Omahnova ulica", + "Omejčeva ulica", + "Omersova ulica", + "Oražnova ulica", + "Orlova ulica", + "Osenjakova ulica", + "Osojna pot", + "Osojna steza", + "Osterčeva ulica", + "Ovčakova ulica", + "Pahorjeva ulica", + "Palmejeva ulica", + "Papirniška pot", + "Park Ajdovščina", + "Park Arturo Toscanini", + "Parmova ulica", + "Parmska cesta", + "Partizanska ulica", + "Pavlovčeva ulica", + "Pavšičeva ulica", + "Pečarjeva ulica", + "Pečnik", + "Pečnikova ulica", + "Pegamova ulica", + "Perčeva ulica", + "Periška cesta", + "Perkova ulica", + "Peršinova cesta", + "Pesarska cesta", + "Pestotnikova ulica", + "Peščena pot", + "Petkova ulica", + "Petkovškovo nabrežje", + "Petrčeva ulica", + "Pilonova ulica", + "Pionirska pot", + "Pipanova pot", + "Pirnatova ulica", + "Planinska cesta", + "Planinškova ulica", + "Plečnikov podhod", + "Plemljeva ulica", + "Plešičeva ulica", + "Pleteršnikova ulica", + "Pločanska ulica", + "Pod akacijami", + "Pod bregom", + "Pod bresti", + "Pod bukvami", + "Pod Debnim vrhom", + "Pod gabri", + "Pod gozdom", + "Pod hrasti", + "Pod hribom", + "Pod hruško", + "Pod jelšami", + "Pod jezom", + "Pod ježami", + "Pod Kamno gorico", + "Pod klancem", + "Pod lipami", + "Pod topoli", + "Pod Trančo", + "Pod turnom", + "Pod vrbami", + "Podgornikova ulica", + "Podgorska cesta", + "Podgrajska cesta", + "Podjunska ulica", + "Podlimbarskega ulica", + "Podmilščakova ulica", + "Podrožniška pot", + "Podsmreška cesta", + "Podutiška cesta", + "Pogačarjev trg", + "Pohlinova ulica", + "Poklukarjeva ulica", + "Polakova ulica", + "Polanškova ulica", + "Poljanska cesta", + "Polje", + "Polje, cesta I", + "Polje, cesta II", + "Polje, cesta III", + "Polje, cesta VI", + "Polje, cesta VIII", + "Polje, cesta X", + "Polje, cesta XIV", + "Polje, cesta XL", + "Polje, cesta XLII", + "Polje, cesta XLVI", + "Polje, cesta XVI", + "Polje, cesta XVIII", + "Polje, cesta XXII", + "Polje, cesta XXIV", + "Polje, cesta XXVI", + "Polje, cesta XXX", + "Polje, cesta XXXII", + "Polje, cesta XXXIV", + "Polje, cesta XXXVIII", + "Poljedelska ulica", + "Poljska pot", + "Porentova ulica", + "Posavskega ulica", + "Postojnska ulica", + "Pot do šole", + "Pot Draga Jakopiča", + "Pot heroja Trtnika", + "Pot k igrišču", + "Pot k ribniku", + "Pot k Savi", + "Pot k sejmišču", + "Pot k studencu", + "Pot na Breje", + "Pot na Drenikov vrh", + "Pot na Golovec", + "Pot na goro", + "Pot na Gradišče", + "Pot na Grič", + "Pot na Labar", + "Pot na mah", + "Pot na most", + "Pot na Orle", + "Pot na Visoko", + "Pot na Zduše", + "Pot Rdečega križa", + "Pot v boršt", + "Pot v Čeželj", + "Pot v dolino", + "Pot v Goričico", + "Pot v hribec", + "Pot v mejah", + "Pot v Mlake", + "Pot v Podgorje", + "Pot v Zeleni gaj", + "Pot za Brdom", + "Pot za razori", + "Potokarjeva ulica", + "Potrčeva ulica", + "Povšetova ulica", + "Prašnikarjeva ulica", + "Praznikova ulica", + "Pražakova ulica", + "Pred Savljami", + "Predjamska cesta", + "Predor pod Gradom", + "Preglov trg", + "Prekmurska ulica", + "Prelčeva ulica", + "Preloge", + "Premrlova ulica", + "Preradovićeva ulica", + "Preserska ulica", + "Prešernov trg", + "Prešernova cesta", + "Pretnarjeva ulica", + "Pri borštu", + "Pri brvi", + "Pri malem kamnu", + "Pri mostiščarjih", + "Pribinova ulica", + "Prijateljeva ulica", + "Primorska ulica", + "Prinčičeva ulica", + "Prisojna ulica", + "Prištinska ulica", + "Privoz", + "Proletarska cesta", + "Prule", + "Prušnikova ulica", + "Prvomajska ulica", + "Pšatnik", + "Pšatska pot", + "Ptujska ulica", + "Pučnikova ulica", + "Puharjeva ulica", + "Puhova ulica", + "Puhtejeva ulica", + "Puterlejeva ulica", + "Putrihova ulica", + "Raičeva ulica", + "Rakovniška ulica", + "Rakuševa ulica", + "Ramovševa ulica", + "Ravbarjeva ulica", + "Ravna pot", + "Ravnikova ulica", + "Razgledna steza", + "Reber", + "Reboljeva ulica", + "Rečna ulica", + "Regentova cesta", + "Resljeva cesta", + "Reška ulica", + "Ribičičeva ulica", + "Ribji trg", + "Ribniška ulica", + "Rimska cesta", + "Rjava cesta", + "Robbova ulica", + "Robičeva ulica", + "Rodičeva ulica", + "Rojčeva ulica", + "Romavhova ulica", + "Rosna pot", + "Rotarjeva ulica", + "Rovšnikova ulica", + "Rozmanova ulica", + "Rožanska ulica", + "Rožičeva ulica", + "Rožna dolina, cesta I", + "Rožna dolina, cesta III", + "Rožna dolina, cesta IV", + "Rožna dolina, cesta V", + "Rožna dolina, cesta VI", + "Rožna dolina, cesta VIII", + "Rožna dolina, cesta X", + "Rožna dolina, cesta XII", + "Rožna dolina, cesta XIII", + "Rožna dolina, cesta XV", + "Rožna dolina, cesta XVII", + "Rožna ulica", + "Rudnik I", + "Rudnik II", + "Rudnik III", + "Runkova ulica", + "Ruska ulica", + "Rutarjeva ulica", + "Sadinja vas", + "Sajovčeva ulica", + "Samova ulica", + "Saškova ulica", + "Sattnerjeva ulica", + "Savinova ulica", + "Savinškova ulica", + "Savlje", + "Savska cesta", + "Sedejeva ulica", + "Selanov trg", + "Selanova ulica", + "Setnikarjeva ulica", + "Seunigova ulica", + "Simončičeva ulica", + "Siva pot", + "Skapinova ulica", + "Sketova ulica", + "Skopčeva ulica", + "Skrbinškova ulica", + "Slape", + "Slapnikova ulica", + "Slavčja ulica", + "Slomškova ulica", + "Slovenčeva ulica", + "Slovenska cesta", + "Smoletova ulica", + "Smrekarjeva ulica", + "Smrtnikova ulica", + "Snebersko nabrežje", + "Snežniška ulica", + "Snojeva ulica", + "Sojerjeva ulica", + "Sončna pot", + "Sostrska cesta", + "Soška ulica", + "Soteška pot", + "Soussenska ulica", + "Sovretova ulica", + "Spodnji Rudnik I", + "Spodnji Rudnik II", + "Spodnji Rudnik III", + "Spodnji Rudnik V", + "Spomeniška pot", + "Srebrničeva ulica", + "Srednja pot", + "Stadionska ulica", + "Staničeva ulica", + "Stara Ježica", + "Stara slovenska ulica", + "Stare Črnuče", + "Stari trg", + "Stegne", + "Steletova ulica", + "Sternadova ulica", + "Stiška ulica", + "Stolpniška ulica", + "Stoženska ulica", + "Stožice", + "Stražarjeva ulica", + "Streliška ulica", + "Stritarjeva ulica", + "Strmeckijeva ulica", + "Strmi pot", + "Strniševa cesta", + "Strossmayerjeva ulica", + "Strugarska ulica", + "Strupijevo nabrežje", + "Suhadolčanova ulica", + "Sulčja ulica", + "Svetčeva ulica", + "Šarhova ulica", + "Šentjakob", + "Šentviška ulica", + "Šerkova ulica", + "Šestova ulica", + "Šibeniška ulica", + "Šinkov štradon", + "Šišenska cesta", + "Šivičeva ulica", + "Škerljeva ulica", + "Škofova ulica", + "Škrabčeva ulica", + "Šlandrova ulica", + "Šlosarjeva ulica", + "Šmarna gora", + "Šmartinska cesta", + "Šmartno", + "Španova pot", + "Španska ulica", + "Štajerska cesta", + "Štebijeva cesta", + "Štefančeva ulica", + "Štembalova ulica", + "Štepanjska cesta", + "Štepanjsko nabrežje", + "Štirnova ulica", + "Štradon čez Prošco", + "Štrekljeva ulica", + "Študentovska ulica", + "Štukljeva cesta", + "Štula", + "Šturmova ulica", + "Šubičeva ulica", + "Šumarjeva ulica", + "Švabićeva ulica", + "Švarova ulica", + "Švegljeva cesta", + "Tabor", + "Tacenska cesta", + "Tavčarjeva ulica", + "Tbilisijska ulica", + "Tesarska ulica", + "Teslova ulica", + "Tesna ulica", + "Tesovnikova ulica", + "Tiha ulica", + "Tiranova ulica", + "Tischlerjeva ulica", + "Tivolska cesta", + "Tkalska ulica", + "Tobačna ulica", + "Tolminska ulica", + "Tomačevo", + "Tomačevska cesta", + "Tomažičeva ulica", + "Tometova ulica", + "Tominškova ulica", + "Tomišeljska ulica", + "Toplarniška ulica", + "Topniška ulica", + "Torkarjeva ulica", + "Tratnikova ulica", + "Travniška ulica", + "Trbeže", + "Trdinova ulica", + "Trebušakova ulica", + "Trg francoske revolucije", + "Trg mladih", + "Trg mladinskih delov. brigad", + "Trg narodnih herojev", + "Trg prekomorskih brigad", + "Trg republike", + "Trg 9. maja", + "Trinkova ulica", + "Trnovčeva ulica", + "Trnovska ulica", + "Trpinčeva ulica", + "Trstenjakova ulica", + "Trtnikova ulica", + "Tržaška cesta", + "Tržna ulica", + "Tugomerjeva ulica", + "Turnerjeva ulica", + "Turnsko nabrežje", + "Udvančeva ulica", + "Ulica aktivistov", + "Ulica Alme Sodnik", + "Ulica Andreja Kumarja", + "Ulica Angelce Ocepkove", + "Ulica Angele Ljubičeve", + "Ulica borca Petra", + "Ulica borcev za severno mejo", + "Ulica bratov Bezlajev", + "Ulica bratov Blanč", + "Ulica bratov Jančar", + "Ulica bratov Komel", + "Ulica bratov Kraljič", + "Ulica bratov Martinec", + "Ulica bratov Novak", + "Ulica bratov Rozmanov", + "Ulica bratov Škofov", + "Ulica bratov Učakar", + "Ulica bratov Židan", + "Ulica Dušana Kraigherja", + "Ulica Ernesta Kramerja", + "Ulica Franca Nebca", + "Ulica Francke Jerasove", + "Ulica Franja Novaka", + "Ulica gledališča BTC", + "Ulica Goce Delčeva", + "Ulica Gubčeve brigade", + "Ulica Hermana Potočnika", + "Ulica Ivana Roba", + "Ulica Ivanke Kožuh", + "Ulica Ivice Pirjevčeve", + "Ulica Janeza Pavla II.", + "Ulica Janeza Rožiča", + "Ulica Jožeta Jame", + "Ulica Jožeta Japlja", + "Ulica Jožeta Mirtiča", + "Ulica Konrada Babnika", + "Ulica Koroškega bataljona", + "Ulica Lizike Jančarjeve", + "Ulica Lojzeta Spacala", + "Ulica Lovre Klemenčiča", + "Ulica Malči Beličeve", + "Ulica Marije Drakslerjeve", + "Ulica Marije Hvaličeve", + "Ulica Marje Boršnikove", + "Ulica Marka Šlajmerja", + "Ulica Milana Majcna", + "Ulica Milke Kerinove", + "Ulica Minke Bobnar", + "Ulica Mirka Jurce", + "Ulica Mirka Tomšiča", + "Ulica Miroslava Turka", + "Ulica Molniške čete", + "Ulica na Grad", + "Ulica Nade Čamernikove", + "Ulica Olge Mohorjeve", + "Ulica padlih borcev", + "Ulica Pariške komune", + "Ulica Pohorskega bataljona", + "Ulica Polonce Čude", + "Ulica prvoborcev", + "Ulica Rezke Dragarjeve", + "Ulica Rezke Klopčič", + "Ulica Rudolfa Janežiča", + "Ulica Staneta Severja", + "Ulica Štefke Zbašnikove", + "Ulica talcev", + "Ulica Tončke Čečeve", + "Ulica v Kokovšek", + "Ulica Vide Pregarčeve", + "Ulica Vladimirja Trampuža", + "Ulica Zore Ragancinove", + "Ulica Žanke Erjavec", + "Ulica 15. aprila", + "Ulica 15. maja", + "Ulica 24. avgusta", + "Ulica 4. julija", + "Ulica 7. septembra", + "Ulica 9. junija", + "Uršičev štradon", + "Usnjarska ulica", + "V Češnjico", + "V dolini", + "V Karlovce", + "V Karlovce", + "V Kladeh", + "V Murglah", + "V Sige", + "V Varde", + "V Zalar", + "Vagajeva ulica", + "Valjavčeva ulica", + "Valvasorjeva ulica", + "Vandotova ulica", + "Vaška pot", + "Večna pot", + "Vegova ulica", + "Velebitska ulica", + "Veliki štradon", + "Velikovška ulica", + "Velnarjeva ulica", + "Verovškova ulica", + "Veršičeva ulica", + "Veselova ulica", + "Videmska ulica", + "Vidergarjeva ulica", + "Vidičeva ulica", + "Vidovdanska cesta", + "Vilharjev podhod", + "Vilharjeva cesta", + "Vinterca", + "Vipavska ulica", + "Vipotnikova ulica", + "Viška cesta", + "Vižmarska pot", + "Vodmatska ulica", + "Vodmatski trg", + "Vodna steza", + "Vodnikova cesta", + "Vodnikovo naselje", + "Vodovodna cesta", + "Vogelna ulica", + "Vojkova cesta", + "Volaričeva ulica", + "Vošnjakova ulica", + "Vozna pot na Grad", + "Vožarski pot", + "Vrazov trg", + "Vrbovec", + "Vrbska ulica", + "Vregova ulica", + "Vrhovci, cesta I", + "Vrhovci, cesta II", + "Vrhovci, cesta III", + "Vrhovci, cesta IX", + "Vrhovci, cesta V", + "Vrhovci, cesta VI", + "Vrhovci, cesta X", + "Vrhovci, cesta XI", + "Vrhovci, cesta XII", + "Vrhovci, cesta XIV", + "Vrhovci, cesta XIX", + "Vrhovci, cesta XV", + "Vrhovci, cesta XVII", + "Vrhovci, cesta XVIII", + "Vrhovci, cesta XX", + "Vrhovci, cesta XXII", + "Vrhovci, cesta XXVI", + "Vrhovci, cesta XXVIII", + "Vrhovci, cesta XXXII", + "Vrhovčeva ulica", + "Vrhovnikova ulica", + "Vrtača", + "Vrtna ulica", + "Vrtnarska cesta", + "Vulčeva ulica", + "Vzajemna ulica", + "Windischerjeva ulica", + "Wolfova ulica", + "Za Garažami", + "Za gasilskim domom", + "Za Gradom", + "Za krajem", + "Za opekarno", + "Za partizanskim domom", + "Za progo", + "Za vasjo", + "Zadnikarjeva ulica", + "Zadobrovška cesta", + "Zadružna ulica", + "Zajčeva pot", + "Zajčevi dvori", + "Zakotnikova ulica", + "Zalaznikova ulica", + "Zaletelova ulica", + "Zaloška cesta", + "Zarnikova ulica", + "Zasavska cesta", + "Zatišje", + "Zavetiška ulica", + "Završje", + "Zbašnikova ulica", + "Zdešarjeva cesta", + "Zelena pot", + "Zelenova ulica", + "Zeljarska ulica", + "Zevnikova ulica", + "Zidarjev štradon", + "Ziherlova ulica", + "Zlatek", + "Znamenjska ulica", + "Zofke Kvedrove ulica", + "Zoisova cesta", + "Zupanova ulica", + "Zvezda", + "Zvezdarska ulica", + "Zvezna ulica", + "Žabarjeva ulica", + "Žabjak", + "Žalska ulica", + "Žaucerjeva ulica", + "Žeje", + "Železna cesta", + "Železnikarjeva ulica", + "Žerjalova ulica", + "Židankova ulica", + "Židovska steza", + "Židovska ulica", + "Živaličeva ulica", + "Živinozdravska ulica", + "Žolgerjeva ulica", ) states = ( - 'Pomurksa', 'Podravska', 'Koroška', 'Savinjska', 'Zasavska', - 'Spodnjeposavska', 'Jugovzhodna Slovenija', 'Osrednjeslovenska', - 'Gorenjska', 'Notranjsko - kraška', 'Goriška', 'Obalno - kraška', + "Pomurksa", + "Podravska", + "Koroška", + "Savinjska", + "Zasavska", + "Spodnjeposavska", + "Jugovzhodna Slovenija", + "Osrednjeslovenska", + "Gorenjska", + "Notranjsko - kraška", + "Goriška", + "Obalno - kraška", ) countries = ( - "Afganistan", "Islamska republika Afganistan", "Albanija", - "Alžirija", "Ljudska demokratična republika Alžirija", "Andora", - "Angola", "Republika Angola", "Antigva in Barbuda", "Argentina", - "Armenija", "Republika Armenija", "Avstralija", "Avstrija", - "Azerbajdžan", "Azerbajdžanska republika", "Bahami", "Zveza Bahami", - "Država Bahrajn", "Bangladeš", "Ljudska republika Bangladeš", - "Belgija", "Kraljevina Belgija", "Belize", "Belorusija", - "Benin", "Republika Benin", "Bocvana", "Republika Bocvana", - "Republika Bolgarija", "Bolivija", "Republika Bolivija", - "Brazilija", "Federativna republika Brazilija", "Brunej", - "Burkina Faso", "Burundi", "Republika Burundi", "Butan", - "Ciper", "Republika Ciper", "Čad", "Republika Čad", "Češka", - "Čile", "Republika Čile", "Črna gora", "Republika Črna gora", - "Kraljevina Danska", "Dominika", "Zveza Dominika", - "Džibuti", "Republika Džibuti", "Egipt", "Arabska republika Egipt", - "Republika Ekvador", "Ekvatorialna Gvineja", "Eritreja", - "Estonija", "Republika Estonija", "Etiopija", "Fidži", - "Filipini", "Republika Filipini", "Finska", "Republika Finska", - "Francoska republika", "Gabon", "Gabonska republika", "Gambija", - "Gana", "Republika Gana", "Grčija", "Helenska republika", "Grenada", - "Gvajana", "Republika Gvajana", "Gvatemala", "Republika Gvatemala", - "Republika Gvineja", "Gvineja Bissau", "Republika Gvineja Bissau", - "Republika Haiti", "Honduras", "Republika Honduras", "Hrvaška", - "Indija", "Republika Indija", "Indonezija", "Republika Indonezija", - "Republika Irak", "Iran", "Islamska republika Iran", "Irska", - "Republika Islandija", "Italija", "Italijanska republika", "Izrael", - "Jamajka", "Japonska", "Jemen", "Republika Jemen", "Jordanija", - "Južna Afrika", "Republika Južna Afrika", "Južna Koreja", - "Kambodža", "Kraljevina Kambodža", "Kamerun", "Republika Kamerun", - "Katar", "Država Katar", "Kazahstan", "Republika Kazahstan", "Kenija", - "Kirgizistan", "Kirgiška republika", "Kiribati", "Kitajska", - "Kolumbija", "Republika Kolumbija", "Komori", - "Kongo", "Republika Kongo", "Demokratična republika Kongo", - "Republika Kostarika", "Kuba", "Republika Kuba", "Kuvajt", - "Laos", "Laoška ljudska demokratična republika", "Latvija", - "Lesoto", "Kraljevina Lesoto", "Libanon", "Libanonska republika", - "Republika Liberija", "Libija", "Libijska arabska džamahirija", - "Lihtenštajn", "Kneževina Lihtenštajn", "Litva", "Republika Litva", - "Veliko vojvodstvo Luksemburg", "Madagaskar", "Republika Madagaskar", - "Republika Madžarska", "Makedonija", "Republika Makedonija", "Malavi", - "Maldivi", "Republika Maldivi", "Malezija", "Mali", "Republika Mali", - "Republika Malta", "Maroko", "Kraljevina Maroko", "Marshallovi otoki", - "Mauritius", "Republika Mauritius", "Mavretanija", - "Mehika", "Združene mehiške države", "Mikronezija", - "Mjanmar", "Zveza Mjanmar", "Moldavija", "Moldavija, Republika", - "Kneževina Monako", "Mongolija", "Mozambik", "Republika Mozambik", - "Republika Namibija", "Nauru", "Republika Nauru", "Nemčija", - "Nepal", "Kraljevina Nepal", "Niger", "Republika Niger", "Nigerija", - "Nikaragva", "Republika Nikaragva", "Nizozemska", - "Norveška", "Kraljevina Norveška", "Nova Zelandija", "Oman", - "Pakistan", "Islamska republika Pakistan", "Palau", "Republika Palau", - "Republika Panama", "Papua Nova Gvineja", "Paragvaj", - "Peru", "Republika Peru", "Poljska", "Republika Poljska", - "Portugalska republika", "Romunija", "Ruanda", "Republika Ruanda", - "Ruska federacija", "Saint Kitts in Nevis", "Saint Lucia", - "Salomonovi otoki", "Salvador", "Republika Salvador", "San Marino", - "Sao Tome in Principe", "Demokratična republika Sao Tome in Principe", - "Kraljevina Saudova Arabija", "Sejšeli", "Republika Sejšeli", - "Republika Senegal", "Severna Koreja", - "Sierra Leone", "Republika Sierra Leone", "Singapur", - "Sirija", "Sirska arabska republika", "Slonokoščena obala", - "Slovaška", "Slovaška republika", "Slovenija", "Republika Slovenija", - "Somalska demokratična republika", "Srbija", "Republika Srbija", - "Sudan", "Republika Sudan", "Surinam", "Republika Surinam", "Svazi", - "Španija", "Kraljevina Španija", "Šrilanka", - "Švedska", "Kraljevina Švedska", "Švica", - "Tadžikistan", "Republika Tadžikistan", "Tajska", - "Tajvan", "Tajvan, Provinca Kitajske", "Tanzanija", - "Togo", "Togoška republika", "Tonga", "Kraljevina Tonga", - "Republika Trinidad in Tobago", "Tunizija", "Republika Tunizija", - "Republika Turčija", "Turkmenistan", "Tuvalu", "Uganda", - "Ukrajina", "Urugvaj", "Vzhodna republika Urugvaj", "Uzbekistan", - "Vanuatu", "Republika Vanuatu", "Vatikan", - "Velika Britanija", "Združeno kraljestvo", - "Venezuela", "Republika Venezuela", "Vietnam", - "Vzhodni Timor", "Demokratična republika Vzhodni Timor", - "Samoa", "Neodvisna država Zahodna Samoa", "Zambija", - "Združene države Amerike", "Združene države", - "Združeni arabski emirati", "Zelenortski otoki", + "Afganistan", + "Islamska republika Afganistan", + "Albanija", + "Alžirija", + "Ljudska demokratična republika Alžirija", + "Andora", + "Angola", + "Republika Angola", + "Antigva in Barbuda", + "Argentina", + "Armenija", + "Republika Armenija", + "Avstralija", + "Avstrija", + "Azerbajdžan", + "Azerbajdžanska republika", + "Bahami", + "Zveza Bahami", + "Država Bahrajn", + "Bangladeš", + "Ljudska republika Bangladeš", + "Belgija", + "Kraljevina Belgija", + "Belize", + "Belorusija", + "Benin", + "Republika Benin", + "Bocvana", + "Republika Bocvana", + "Republika Bolgarija", + "Bolivija", + "Republika Bolivija", + "Brazilija", + "Federativna republika Brazilija", + "Brunej", + "Burkina Faso", + "Burundi", + "Republika Burundi", + "Butan", + "Ciper", + "Republika Ciper", + "Čad", + "Republika Čad", + "Češka", + "Čile", + "Republika Čile", + "Črna gora", + "Republika Črna gora", + "Kraljevina Danska", + "Dominika", + "Zveza Dominika", + "Džibuti", + "Republika Džibuti", + "Egipt", + "Arabska republika Egipt", + "Republika Ekvador", + "Ekvatorialna Gvineja", + "Eritreja", + "Estonija", + "Republika Estonija", + "Etiopija", + "Fidži", + "Filipini", + "Republika Filipini", + "Finska", + "Republika Finska", + "Francoska republika", + "Gabon", + "Gabonska republika", + "Gambija", + "Gana", + "Republika Gana", + "Grčija", + "Helenska republika", + "Grenada", + "Gvajana", + "Republika Gvajana", + "Gvatemala", + "Republika Gvatemala", + "Republika Gvineja", + "Gvineja Bissau", + "Republika Gvineja Bissau", + "Republika Haiti", + "Honduras", + "Republika Honduras", + "Hrvaška", + "Indija", + "Republika Indija", + "Indonezija", + "Republika Indonezija", + "Republika Irak", + "Iran", + "Islamska republika Iran", + "Irska", + "Republika Islandija", + "Italija", + "Italijanska republika", + "Izrael", + "Jamajka", + "Japonska", + "Jemen", + "Republika Jemen", + "Jordanija", + "Južna Afrika", + "Republika Južna Afrika", + "Južna Koreja", + "Kambodža", + "Kraljevina Kambodža", + "Kamerun", + "Republika Kamerun", + "Katar", + "Država Katar", + "Kazahstan", + "Republika Kazahstan", + "Kenija", + "Kirgizistan", + "Kirgiška republika", + "Kiribati", + "Kitajska", + "Kolumbija", + "Republika Kolumbija", + "Komori", + "Kongo", + "Republika Kongo", + "Demokratična republika Kongo", + "Republika Kostarika", + "Kuba", + "Republika Kuba", + "Kuvajt", + "Laos", + "Laoška ljudska demokratična republika", + "Latvija", + "Lesoto", + "Kraljevina Lesoto", + "Libanon", + "Libanonska republika", + "Republika Liberija", + "Libija", + "Libijska arabska džamahirija", + "Lihtenštajn", + "Kneževina Lihtenštajn", + "Litva", + "Republika Litva", + "Veliko vojvodstvo Luksemburg", + "Madagaskar", + "Republika Madagaskar", + "Republika Madžarska", + "Makedonija", + "Republika Makedonija", + "Malavi", + "Maldivi", + "Republika Maldivi", + "Malezija", + "Mali", + "Republika Mali", + "Republika Malta", + "Maroko", + "Kraljevina Maroko", + "Marshallovi otoki", + "Mauritius", + "Republika Mauritius", + "Mavretanija", + "Mehika", + "Združene mehiške države", + "Mikronezija", + "Mjanmar", + "Zveza Mjanmar", + "Moldavija", + "Moldavija, Republika", + "Kneževina Monako", + "Mongolija", + "Mozambik", + "Republika Mozambik", + "Republika Namibija", + "Nauru", + "Republika Nauru", + "Nemčija", + "Nepal", + "Kraljevina Nepal", + "Niger", + "Republika Niger", + "Nigerija", + "Nikaragva", + "Republika Nikaragva", + "Nizozemska", + "Norveška", + "Kraljevina Norveška", + "Nova Zelandija", + "Oman", + "Pakistan", + "Islamska republika Pakistan", + "Palau", + "Republika Palau", + "Republika Panama", + "Papua Nova Gvineja", + "Paragvaj", + "Peru", + "Republika Peru", + "Poljska", + "Republika Poljska", + "Portugalska republika", + "Romunija", + "Ruanda", + "Republika Ruanda", + "Ruska federacija", + "Saint Kitts in Nevis", + "Saint Lucia", + "Salomonovi otoki", + "Salvador", + "Republika Salvador", + "San Marino", + "Sao Tome in Principe", + "Demokratična republika Sao Tome in Principe", + "Kraljevina Saudova Arabija", + "Sejšeli", + "Republika Sejšeli", + "Republika Senegal", + "Severna Koreja", + "Sierra Leone", + "Republika Sierra Leone", + "Singapur", + "Sirija", + "Sirska arabska republika", + "Slonokoščena obala", + "Slovaška", + "Slovaška republika", + "Slovenija", + "Republika Slovenija", + "Somalska demokratična republika", + "Srbija", + "Republika Srbija", + "Sudan", + "Republika Sudan", + "Surinam", + "Republika Surinam", + "Svazi", + "Španija", + "Kraljevina Španija", + "Šrilanka", + "Švedska", + "Kraljevina Švedska", + "Švica", + "Tadžikistan", + "Republika Tadžikistan", + "Tajska", + "Tajvan", + "Tajvan, Provinca Kitajske", + "Tanzanija", + "Togo", + "Togoška republika", + "Tonga", + "Kraljevina Tonga", + "Republika Trinidad in Tobago", + "Tunizija", + "Republika Tunizija", + "Republika Turčija", + "Turkmenistan", + "Tuvalu", + "Uganda", + "Ukrajina", + "Urugvaj", + "Vzhodna republika Urugvaj", + "Uzbekistan", + "Vanuatu", + "Republika Vanuatu", + "Vatikan", + "Velika Britanija", + "Združeno kraljestvo", + "Venezuela", + "Republika Venezuela", + "Vietnam", + "Vzhodni Timor", + "Demokratična republika Vzhodni Timor", + "Samoa", + "Neodvisna država Zahodna Samoa", + "Zambija", + "Združene države Amerike", + "Združene države", + "Združeni arabski emirati", + "Zelenortski otoki", ) - def city_name(self): + def city_name(self) -> str: return self.random_element(self.cities) - def street_name(self): + def street_name(self) -> str: return self.random_element(self.streets) - def state(self): + def administrative_unit(self) -> str: return self.random_element(self.states) + + state = administrative_unit diff --git a/faker/providers/address/sv_SE/__init__.py b/faker/providers/address/sv_SE/__init__.py index 1db0c75ea1..02cbf921c7 100644 --- a/faker/providers/address/sv_SE/__init__.py +++ b/faker/providers/address/sv_SE/__init__.py @@ -3,108 +3,374 @@ class Provider(AddressProvider): - building_number_formats = ('###', '##', '#') + building_number_formats = ("###", "##", "#") - street_name_formats = ('{{street_prefix}}{{street_suffix}}', ) + street_name_formats = ("{{street_prefix}}{{street_suffix}}",) - street_address_formats = ('{{street_name}} {{building_number}}',) + street_address_formats = ("{{street_name}} {{building_number}}",) street_prefixes = ( - 'Björk', 'Järnvägs', 'Ring', 'Skol', 'Skogs', 'Ny', 'Gran', 'Idrotts', - 'Stor', 'Kyrk', 'Industri', 'Park', 'Strand', 'Skol', 'Trädgårds', - 'Industri', 'Ängs', 'Kyrko', 'Park', 'Villa', 'Ek', 'Kvarn', 'Stations', - 'Back', 'Furu', 'Gen', 'Fabriks', 'Åker', 'Bäck', 'Asp', + "Björk", + "Järnvägs", + "Ring", + "Skol", + "Skogs", + "Ny", + "Gran", + "Idrotts", + "Stor", + "Kyrk", + "Industri", + "Park", + "Strand", + "Skol", + "Trädgårds", + "Industri", + "Ängs", + "Kyrko", + "Park", + "Villa", + "Ek", + "Kvarn", + "Stations", + "Back", + "Furu", + "Gen", + "Fabriks", + "Åker", + "Bäck", + "Asp", ) - street_suffixes = ('gatan', 'gatan', 'vägen', 'vägen', - 'stigen', 'gränd', 'torget') + street_suffixes = ("gatan", "gatan", "vägen", "vägen", "stigen", "gränd", "torget") - address_formats = ("{{street_address}}\n{{postcode}} {{city}}", ) + address_formats = ("{{street_address}}\n{{postcode}} {{city}}",) # Postcode should be formatted as described in # https://sv.wikipedia.org/wiki/Postnummer_i_Sverige and # in 2nd chapter of https://www.postnord.se/siteassets/pdf/faktablad/postnummersystemet-i-sverige-171213.pdf. - postcode_formats = ('%####', ) + postcode_formats = ("%####",) - city_formats = ('{{city_name}}', ) + city_formats = ("{{city_name}}",) cities = ( - 'Stockholm', 'Göteborg', 'Malmö', 'Uppsala', 'Västerås', 'Örebro', - 'Linköping', 'Helsingborg', 'Jönköping', 'Norrköping', 'Lund', 'Umeå', - 'Gävle', 'Borås', 'Mölndal', 'Södertälje', 'Eskilstuna', 'Karlstad', - 'Halmstad', 'Växjö', 'Sundsvall', 'Luleå', 'Trollhättan', 'Östersund', - 'Borlänge', 'Falun', 'Kalmar', 'Skövde', 'Kristianstad', 'Karlskrona', - 'Skellefteå', 'Uddevalla', 'Lidingö', 'Motala', 'Landskrona', - 'Örnsköldsvik', 'Nyköping', 'Karlskoga', 'Varberg', 'Trelleborg', - 'Lidköping', 'Alingsås', 'Piteå', 'Sandviken', 'Ängelholm', + "Stockholm", + "Göteborg", + "Malmö", + "Uppsala", + "Västerås", + "Örebro", + "Linköping", + "Helsingborg", + "Jönköping", + "Norrköping", + "Lund", + "Umeå", + "Gävle", + "Borås", + "Mölndal", + "Södertälje", + "Eskilstuna", + "Karlstad", + "Halmstad", + "Växjö", + "Sundsvall", + "Luleå", + "Trollhättan", + "Östersund", + "Borlänge", + "Falun", + "Kalmar", + "Skövde", + "Kristianstad", + "Karlskrona", + "Skellefteå", + "Uddevalla", + "Lidingö", + "Motala", + "Landskrona", + "Örnsköldsvik", + "Nyköping", + "Karlskoga", + "Varberg", + "Trelleborg", + "Lidköping", + "Alingsås", + "Piteå", + "Sandviken", + "Ängelholm", ) countries = ( - 'Afghanistan', 'Albanien', 'Algeriet', 'Amerikanska Samoa', 'Andorra', - 'Angola', 'Anguilla', 'Antarktis', 'Antigua och Barbuda', 'Argentina', - 'Armenien', 'Aruba', 'Ascension', 'Australien', 'Azerbajdzjan', - 'Bahamas', 'Bahrain', 'Bangladesh', 'Barbados', 'Belarus', 'Belgien', - 'Belize', 'Benin', 'Bermuda', 'Bhutan', 'Bolivia', 'Bosnien och Hercegovina', - 'Botswana', 'Brasilien', 'Brittiska Jungfruöarna', 'Brunei', - 'Bulgarien', 'Burkina Faso', 'Burma', 'Burundi', 'Caymanöarna', - 'Centralafrikanska republiken', 'Chile', 'Colombia', 'Cooköarna', - 'Costa Rica', 'Cypern', 'Danmark', 'Diego Garcia', 'Djibouti', - 'Dominica', 'Dominikanska republiken', 'Ecuador', 'Egypten', - 'Ekvatorialguinea', 'Elfenbenskusten', 'El Salvador', 'Eritrea', - 'Estland', 'Etiopien', 'England', 'Falklandsöarna', 'Fiji', - 'Filippinerna', 'Finland', 'Frankrike', 'Franska Guyana', - 'Franska Polynesien', 'Färöarna', 'Förenade Arabemiraten', 'Gabon', - 'Gambia', 'Georgien', 'Ghana', 'Gibraltar', 'Grekland', 'Grenada', - 'Grönland', 'Guadeloupe', 'Guatemala', 'Guinea', 'Guinea-Bissau', - 'Guyana', 'Haiti', 'Honduras', 'Hongkong', 'Indien', 'Indonesien', - 'Irak', 'Iran', 'Irland', 'Island', 'Israel', 'Italien', 'Jamaica', - 'Japan', 'Jemen', 'Jordanien', 'Kambodja', 'Kamerun', 'Kanada', - 'Kap Verde', 'Kazakstan', 'Kenya', 'Kina', 'Kirgizistan', 'Kiribati', - 'Komorerna', 'Kongo-Brazzaville', 'Kongo-Kinshasa', 'Kosovo', - 'Kroatien', 'Kuba', 'Kuwait', 'Laos', 'Lesotho', 'Lettland', 'Libanon', - 'Liberia', 'Libyen', 'Liechtenstein', 'Litauen', 'Luxemburg', 'Macao', - 'Madagaskar', 'Makedonien', 'Malawi', 'Malaysia', 'Maldiverna', 'Mali', - 'Malta', 'Marianerna', 'Marocko', 'Marshallöarna', 'Martinique', - 'Mauretanien', 'Mauritius', 'Mayotte', 'Mexiko', 'Midwayöarna', - 'Mikronesiens federerade stater', 'Moçambique', 'Moldavien', 'Monaco', - 'Mongoliet', 'Montenegro', 'Montserrat', 'Namibia', 'Nauru', - 'Nederländerna', 'Nederländska Antillerna', 'Nepal', - 'Nicaragua', 'Niger', 'Nigeria', 'Niue', 'Nordkorea', 'Nordmarianerna', - 'Norfolkön', 'Norge', 'Nya Kaledonien', 'Nya Zeeland', 'Oman', - 'Pakistan', 'Palau', 'Palestina', 'Panama', 'Papua Nya Guinea', - 'Paraguay', 'Peru', 'Pitcairnöarna', 'Polen', 'Portugal', 'Qatar', - 'Réunion', 'Rumänien', 'Rwanda', 'Ryssland', 'Saint Kitts och Nevis', - 'Saint Lucia', 'Saint-Pierre och Miquelon', - 'Saint Vincent och Grenadinerna', 'Salomonöarna', 'Samoa', - 'Sankta Helena', 'San Marino', 'São Tomé och Príncipe', - 'Saudiarabien', 'Schweiz', 'Senegal', 'Serbien', 'Seychellerna', - 'SierraLeone', 'Singapore', 'Sint Maarten', 'Slovakien', 'Slovenien', - 'Somalia', 'Spanien', 'Sri Lanka', 'Storbritannien', 'Sudan', - 'Surinam', 'Sverige', 'Swaziland', 'Sydafrika', 'Sydkorea', 'Sydsudan', - 'Syrien', 'Tadzjikistan', 'Taiwan', 'Tanzania', 'Tchad', 'Thailand', - 'Tjeckien', 'Togo', 'Tokelauöarna', 'Tonga', 'Trinidad och Tobago', - 'Tunisien', 'Turkiet', 'Turkmenistan', 'Turks-och Caicosöarna', - 'Tuvalu', 'Tyskland', 'Uganda', 'Ukraina', 'Ungern', 'Uruguay', 'USA', - 'Uzbekistan', 'Vanuatu', 'Vatikanstaten', 'Venezuela', 'Vietnam', - 'Wake', 'Wallis-och Futunaöarna', 'Zambia', 'Zimbabwe', - 'Österrike', 'Östtimor', + "Afghanistan", + "Albanien", + "Algeriet", + "Amerikanska Samoa", + "Andorra", + "Angola", + "Anguilla", + "Antarktis", + "Antigua och Barbuda", + "Argentina", + "Armenien", + "Aruba", + "Ascension", + "Australien", + "Azerbajdzjan", + "Bahamas", + "Bahrain", + "Bangladesh", + "Barbados", + "Belarus", + "Belgien", + "Belize", + "Benin", + "Bermuda", + "Bhutan", + "Bolivia", + "Bosnien och Hercegovina", + "Botswana", + "Brasilien", + "Brittiska Jungfruöarna", + "Brunei", + "Bulgarien", + "Burkina Faso", + "Burma", + "Burundi", + "Caymanöarna", + "Centralafrikanska republiken", + "Chile", + "Colombia", + "Cooköarna", + "Costa Rica", + "Cypern", + "Danmark", + "Diego Garcia", + "Djibouti", + "Dominica", + "Dominikanska republiken", + "Ecuador", + "Egypten", + "Ekvatorialguinea", + "Elfenbenskusten", + "El Salvador", + "Eritrea", + "Estland", + "Etiopien", + "England", + "Falklandsöarna", + "Fiji", + "Filippinerna", + "Finland", + "Frankrike", + "Franska Guyana", + "Franska Polynesien", + "Färöarna", + "Förenade Arabemiraten", + "Gabon", + "Gambia", + "Georgien", + "Ghana", + "Gibraltar", + "Grekland", + "Grenada", + "Grönland", + "Guadeloupe", + "Guatemala", + "Guinea", + "Guinea-Bissau", + "Guyana", + "Haiti", + "Honduras", + "Hongkong", + "Indien", + "Indonesien", + "Irak", + "Iran", + "Irland", + "Island", + "Israel", + "Italien", + "Jamaica", + "Japan", + "Jemen", + "Jordanien", + "Kambodja", + "Kamerun", + "Kanada", + "Kap Verde", + "Kazakstan", + "Kenya", + "Kina", + "Kirgizistan", + "Kiribati", + "Komorerna", + "Kongo-Brazzaville", + "Kongo-Kinshasa", + "Kosovo", + "Kroatien", + "Kuba", + "Kuwait", + "Laos", + "Lesotho", + "Lettland", + "Libanon", + "Liberia", + "Libyen", + "Liechtenstein", + "Litauen", + "Luxemburg", + "Macao", + "Madagaskar", + "Makedonien", + "Malawi", + "Malaysia", + "Maldiverna", + "Mali", + "Malta", + "Marianerna", + "Marocko", + "Marshallöarna", + "Martinique", + "Mauretanien", + "Mauritius", + "Mayotte", + "Mexiko", + "Midwayöarna", + "Mikronesiens federerade stater", + "Moçambique", + "Moldavien", + "Monaco", + "Mongoliet", + "Montenegro", + "Montserrat", + "Namibia", + "Nauru", + "Nederländerna", + "Nederländska Antillerna", + "Nepal", + "Nicaragua", + "Niger", + "Nigeria", + "Niue", + "Nordkorea", + "Nordmarianerna", + "Norfolkön", + "Norge", + "Nya Kaledonien", + "Nya Zeeland", + "Oman", + "Pakistan", + "Palau", + "Palestina", + "Panama", + "Papua Nya Guinea", + "Paraguay", + "Peru", + "Pitcairnöarna", + "Polen", + "Portugal", + "Qatar", + "Réunion", + "Rumänien", + "Rwanda", + "Ryssland", + "Saint Kitts och Nevis", + "Saint Lucia", + "Saint-Pierre och Miquelon", + "Saint Vincent och Grenadinerna", + "Salomonöarna", + "Samoa", + "Sankta Helena", + "San Marino", + "São Tomé och Príncipe", + "Saudiarabien", + "Schweiz", + "Senegal", + "Serbien", + "Seychellerna", + "SierraLeone", + "Singapore", + "Sint Maarten", + "Slovakien", + "Slovenien", + "Somalia", + "Spanien", + "Sri Lanka", + "Storbritannien", + "Sudan", + "Surinam", + "Sverige", + "Swaziland", + "Sydafrika", + "Sydkorea", + "Sydsudan", + "Syrien", + "Tadzjikistan", + "Taiwan", + "Tanzania", + "Tchad", + "Thailand", + "Tjeckien", + "Togo", + "Tokelauöarna", + "Tonga", + "Trinidad och Tobago", + "Tunisien", + "Turkiet", + "Turkmenistan", + "Turks-och Caicosöarna", + "Tuvalu", + "Tyskland", + "Uganda", + "Ukraina", + "Ungern", + "Uruguay", + "USA", + "Uzbekistan", + "Vanuatu", + "Vatikanstaten", + "Venezuela", + "Vietnam", + "Wake", + "Wallis-och Futunaöarna", + "Zambia", + "Zimbabwe", + "Österrike", + "Östtimor", ) states = ( - 'Stockholms län', 'Uppsala län', 'Södermanlands län', - 'Östergötlands län', 'Jönköpings län', 'Kronobergs län', 'Kalmar län', - 'Gotlands län', 'Blekinge län', 'Skåne län', 'Hallands län', - 'Västra Götalands län', 'Värmlands län', 'Örebro län', - 'Västmanlands län', 'Dalarnas län', 'Gävleborgs län', - 'Västernorrlands län', 'Jämtlands län', 'Västerbottens län', - 'Norrbottens län', + "Stockholms län", + "Uppsala län", + "Södermanlands län", + "Östergötlands län", + "Jönköpings län", + "Kronobergs län", + "Kalmar län", + "Gotlands län", + "Blekinge län", + "Skåne län", + "Hallands län", + "Västra Götalands län", + "Värmlands län", + "Örebro län", + "Västmanlands län", + "Dalarnas län", + "Gävleborgs län", + "Västernorrlands län", + "Jämtlands län", + "Västerbottens län", + "Norrbottens län", ) - def street_prefix(self): + def street_prefix(self) -> str: return self.random_element(self.street_prefixes) - def city_name(self): + def city_name(self) -> str: return self.random_element(self.cities) - def state(self): + def administrative_unit(self) -> str: return self.random_element(self.states) + + state = administrative_unit diff --git a/faker/providers/address/ta_IN/__init__.py b/faker/providers/address/ta_IN/__init__.py index de37e2b48e..9cefa8571e 100644 --- a/faker/providers/address/ta_IN/__init__.py +++ b/faker/providers/address/ta_IN/__init__.py @@ -3,416 +3,428 @@ class Provider(AddressProvider): - city_formats = ('{{city_name}}', ) + city_formats = ("{{city_name}}",) street_name_formats = ( - '{{first_name}} {{last_name}}', - '{{last_name}}', + "{{first_name}} {{last_name}}", + "{{last_name}}", ) - street_address_formats = ('{{building_number}} {{street_name}}', ) + street_address_formats = ("{{building_number}} {{street_name}}",) - address_formats = ('{{street_address}}\n{{city}} {{postcode}}', - '{{street_address}}\n{{city}}-{{postcode}}') + address_formats = ( + "{{street_address}}\n{{city}} {{postcode}}", + "{{street_address}}\n{{city}}-{{postcode}}", + ) building_number_formats = ( - '####', '###', '##', '#', '#/#', '##/##', '##/###', '##/####') + "####", + "###", + "##", + "#", + "#/#", + "##/##", + "##/###", + "##/####", + ) - postcode_formats = ('######', ) + postcode_formats = ("######",) # Source: https://ta.wikipedia.org/wiki/மக்கள்_தொகை_மிகுந்த_இந்திய_நகரங்கள் cities = ( - 'சென்னை', - 'கோயம்புத்தூர்', - 'மதுரை', - 'திருச்சிராப்பள்ளி', - 'திருப்பூர்', - 'சேலம்', - 'ஈரோடு', - 'திருநெல்வேலி', - 'வேலூர்', - 'தூத்துக்குடி', - 'திண்டுக்கல்', - 'தஞ்சாவூர்', - 'இராணிப்பேட்டை', - 'சிவகாசி', - 'கரூர் (கரூர் மாவட்டம்)', - 'உதகமண்டலம்', - 'ஓசூர்', - 'நாகர்கோவில்', - 'காஞ்சிபுரம்', - 'குமாரபாளையம்', - 'காரைக்குடி', - 'நெய்வேலி', - 'கடலூர்', - 'கும்பகோணம்', - 'திருவண்ணாமலை', - 'பொள்ளாச்சி', - 'இராஜபாளையம், விருதுநகர் மாவட்டம்', - 'குடியாத்தம்', - 'புதுக்கோட்டை', - 'வாணியம்பாடி', - 'ஆம்பூர்', - 'நாகப்பட்டினம்', - 'மும்பை பெருநகர்', - 'தில்லி', - 'கொல்கத்தா பெருநகர்', - 'சென்னை பெருநகர்', - 'பெங்களூரு', - 'ஐதராபாத்', - 'புனே', - 'அகமதாபாத்', - 'கான்பூர்', - 'சூரத்', - 'ஜெய்ப்பூர்', - 'லக்னோ', - 'பாட்னா', - 'நாக்பூர்', - 'இந்தோர்', - 'மீரட்', - 'நாசிக்', - 'போபால்', - 'லூதியானா', - 'ஆக்ரா', - 'வதோதரா', - 'புவனேசுவர்', - 'கோயம்புத்தூர்', - 'ராஜ்கோட்', - 'கொச்சி', - 'விசாகப்பட்டினம்', - 'வாரணாசி', - 'மதுரை', - 'ஆசன்சோல்', - 'அலகாபாத்', - 'மைசூர்', - 'ஜபல்பூர்', - 'ஜம்சேத்பூர்', - 'அவுரங்கபாத்', - 'அம்ரித்சர்', - 'தன்பாத்', - 'விஜயவாடா', - 'சோலாப்பூர்', - 'பிலாய்', - 'ஸ்ரீநகர்', - 'ராஞ்சி', - 'திருவனந்தபுரம்', - 'சண்டிகர்', - 'குவஹாத்தி', - 'கோழிக்கோடு', - 'ஜோத்பூர்', - 'குவாலியர்', - 'ஜலந்தர்', - 'திருச்சிராப்பள்ளி', - 'பரேலி', - 'ஹுப்ளி-தர்வாத்', - 'அலிகார்', - 'கோட்டா', - 'மொரதாபாத்', - 'ராய்ப்பூர்', - 'தேராதூன்', - 'கோரக்பூர்', - 'ஜம்மு', - 'அமராவதி', - 'வாரங்கல்', - 'ஜாம்நகர்', - 'பிகானேர்', - 'சாங்கலி', - 'திருப்பூர்', - 'பாவ்நகர்', - 'மங்களூர்', - 'அஜ்மீர்', - 'பொகாரோ', - 'பெல்காம்', - 'புதுச்சேரி', - 'சிலிகுரி', - 'கண்ணூர்', - 'கோலாப்பூர்', - 'நான்தேட்', - 'ரூர்கேலா', - 'துர்காபூர்', - 'குல்பர்கா', - 'குண்டூர்', - 'ஜான்சி', - 'சகாரன்பூர்', - 'கரக்பூர்', - 'கயா', - 'ஜல்கான்', - 'மதுரா', - 'கொல்லம்', - 'கோர்பா', - 'பிரோசாபாத்', - 'திருநெல்வேலி', - 'உஜ்ஜைன்', - 'அகமத்நகர்', - 'நெல்லூர்', - 'ராமகுண்டம்', - 'ராஜமுந்திரி', - 'மாலேகான்', - 'உதயப்பூர்', - 'அகோலா', - 'தாவண்கரே', - 'வேலூர்', - 'திருவண்ணாமலை', - 'காஜுவாகா', + "சென்னை", + "கோயம்புத்தூர்", + "மதுரை", + "திருச்சிராப்பள்ளி", + "திருப்பூர்", + "சேலம்", + "ஈரோடு", + "திருநெல்வேலி", + "வேலூர்", + "தூத்துக்குடி", + "திண்டுக்கல்", + "தஞ்சாவூர்", + "இராணிப்பேட்டை", + "சிவகாசி", + "கரூர் (கரூர் மாவட்டம்)", + "உதகமண்டலம்", + "ஓசூர்", + "நாகர்கோவில்", + "காஞ்சிபுரம்", + "குமாரபாளையம்", + "காரைக்குடி", + "நெய்வேலி", + "கடலூர்", + "கும்பகோணம்", + "திருவண்ணாமலை", + "பொள்ளாச்சி", + "இராஜபாளையம், விருதுநகர் மாவட்டம்", + "குடியாத்தம்", + "புதுக்கோட்டை", + "வாணியம்பாடி", + "ஆம்பூர்", + "நாகப்பட்டினம்", + "மும்பை பெருநகர்", + "தில்லி", + "கொல்கத்தா பெருநகர்", + "சென்னை பெருநகர்", + "பெங்களூரு", + "ஐதராபாத்", + "புனே", + "அகமதாபாத்", + "கான்பூர்", + "சூரத்", + "ஜெய்ப்பூர்", + "லக்னோ", + "பாட்னா", + "நாக்பூர்", + "இந்தோர்", + "மீரட்", + "நாசிக்", + "போபால்", + "லூதியானா", + "ஆக்ரா", + "வதோதரா", + "புவனேசுவர்", + "கோயம்புத்தூர்", + "ராஜ்கோட்", + "கொச்சி", + "விசாகப்பட்டினம்", + "வாரணாசி", + "மதுரை", + "ஆசன்சோல்", + "அலகாபாத்", + "மைசூர்", + "ஜபல்பூர்", + "ஜம்சேத்பூர்", + "அவுரங்கபாத்", + "அம்ரித்சர்", + "தன்பாத்", + "விஜயவாடா", + "சோலாப்பூர்", + "பிலாய்", + "ஸ்ரீநகர்", + "ராஞ்சி", + "திருவனந்தபுரம்", + "சண்டிகர்", + "குவஹாத்தி", + "கோழிக்கோடு", + "ஜோத்பூர்", + "குவாலியர்", + "ஜலந்தர்", + "திருச்சிராப்பள்ளி", + "பரேலி", + "ஹுப்ளி-தர்வாத்", + "அலிகார்", + "கோட்டா", + "மொரதாபாத்", + "ராய்ப்பூர்", + "தேராதூன்", + "கோரக்பூர்", + "ஜம்மு", + "அமராவதி", + "வாரங்கல்", + "ஜாம்நகர்", + "பிகானேர்", + "சாங்கலி", + "திருப்பூர்", + "பாவ்நகர்", + "மங்களூர்", + "அஜ்மீர்", + "பொகாரோ", + "பெல்காம்", + "புதுச்சேரி", + "சிலிகுரி", + "கண்ணூர்", + "கோலாப்பூர்", + "நான்தேட்", + "ரூர்கேலா", + "துர்காபூர்", + "குல்பர்கா", + "குண்டூர்", + "ஜான்சி", + "சகாரன்பூர்", + "கரக்பூர்", + "கயா", + "ஜல்கான்", + "மதுரா", + "கொல்லம்", + "கோர்பா", + "பிரோசாபாத்", + "திருநெல்வேலி", + "உஜ்ஜைன்", + "அகமத்நகர்", + "நெல்லூர்", + "ராமகுண்டம்", + "ராஜமுந்திரி", + "மாலேகான்", + "உதயப்பூர்", + "அகோலா", + "தாவண்கரே", + "வேலூர்", + "திருவண்ணாமலை", + "காஜுவாகா", ) # Source: https://ta.wikipedia.org/wiki/இந்தியாவின்_மாநிலங்களும்_ஆட்சிப்பகுதிகளும் states = ( - 'ஆந்திரப் பிரதேசம்', - 'அருணாச்சலப் பிரதேசம்', - 'அசாம்', - 'பீகார்', - 'சத்தீஸ்கர்', - 'கோவா', - 'குஜராத்', - 'அரியானா', - 'இமாச்சலப் பிரதேசம்', - 'சம்மு காசுமீர்', - 'ஜார்கண்ட்', - 'கர்நாடகா', - 'கேரளா', - 'மத்தியப் பிரதேசம்', - 'மகாராஷ்டிரா', - 'மணிப்பூர்', - 'மேகாலயா', - 'மிசோரம்', - 'நாகலாந்து', - 'ஒரிசா', - 'பஞ்சாப்', - 'ராஜஸ்தான்', - 'சிக்கிம்', - 'தமிழ்நாடு', - 'தெலுங்கானா', - 'திரிபுரா', - 'உத்தரப்பிரதேசம்', - 'உத்தரகண்ட்', - 'மேற்கு வங்கம்', + "ஆந்திரப் பிரதேசம்", + "அருணாச்சலப் பிரதேசம்", + "அசாம்", + "பீகார்", + "சத்தீஸ்கர்", + "கோவா", + "குஜராத்", + "அரியானா", + "இமாச்சலப் பிரதேசம்", + "சம்மு காசுமீர்", + "ஜார்கண்ட்", + "கர்நாடகா", + "கேரளா", + "மத்தியப் பிரதேசம்", + "மகாராஷ்டிரா", + "மணிப்பூர்", + "மேகாலயா", + "மிசோரம்", + "நாகலாந்து", + "ஒரிசா", + "பஞ்சாப்", + "ராஜஸ்தான்", + "சிக்கிம்", + "தமிழ்நாடு", + "தெலுங்கானா", + "திரிபுரா", + "உத்தரப்பிரதேசம்", + "உத்தரகண்ட்", + "மேற்கு வங்கம்", ) # Source: https://ta.wikipedia.org/wiki/பிறப்பு_விகித_அடிப்படையில்_நாடுகளின்_பட்டியல் countries = ( - 'ஆப்கானித்தான்', - 'அல்பேனியா', - 'அல்ஜீரியா', - 'அந்தோரா', - 'அங்கோலா', - 'அன்டிகுவா பர்புடா', - 'அர்கெந்தீனா', - 'ஆர்மீனியா', - 'ஆத்திரேலியா', - 'ஆஸ்திரியா', - 'அசர்பைஜான்', - 'பஹமாஸ்', - 'பகுரைன்', - 'வங்காளதேசம்', - 'பார்படோசு', - 'பெலருஸ்', - 'பெல்ஜியம்', - 'பெலீசு', - 'பெனின்', - 'பூட்டான்', - 'பொலிவியா', - 'பொசுனியா எர்செகோவினா', - 'போட்சுவானா', - 'பிரேசில்', - 'புரூணை', - 'பல்கேரியா', - 'புர்க்கினா பாசோ', - 'புருண்டி', - 'கம்போடியா', - 'கமரூன்', - 'கனடா', - 'கேப் வர்டி', - 'மத்திய ஆப்பிரிக்கக் குடியரசு', - 'சாட்', - 'சிலி', - 'சீனா', - 'கொலம்பியா', - 'கொமொரோசு', - 'காங்கோ மக்களாட்சிக் குடியரசு', - 'காங்கோ மக்களாட்சிக் குடியரசு', - 'கோஸ்ட்டா ரிக்கா', - 'ஐவரி கோஸ்ட்', - 'குரோவாசியா', - 'கியூபா', - 'சைப்பிரசு', - 'செக் குடியரசு', - 'டென்மார்க்', - 'சீபூத்தீ', - 'டொமினிக்கா', - 'டொமினிக்கன் குடியரசு', - 'எக்குவடோர்', - 'எகிப்து', - 'எல் சல்வடோர', - 'எக்குவடோரியல் கினி', - 'எரித்திரியா', - 'எசுத்தோனியா', - 'எதியோப்பியா', - 'பிஜி', - 'பின்லாந்து', - 'பிரான்சு', - 'காபொன்', - 'கம்பியா', - 'சியார்சியா', - 'செருமனி', - 'கானா', - 'கிரேக்க நாடு', - 'கிரெனடா', - 'குவாத்தமாலா', - 'கினியா', - 'கினி-பிசாவு', - 'கயானா', - 'எயிட்டி', - 'ஒண்டுராசு', - 'அங்கேரி', - 'ஐசுலாந்து', - 'இந்தியா', - 'இந்தோனேசியா', - 'ஈரான்', - 'ஈராக்', - 'அயர்லாந்து', - 'இசுரேல்', - 'இத்தாலி', - 'ஜமேக்கா', - 'சப்பான்', - 'யோர்தான்', - 'கசக்கஸ்தான்', - 'கென்யா', - 'கிரிபட்டி', - 'வட கொரியா', - 'தென் கொரியா', - 'குவைத்', - 'கிர்கிசுத்தான்', - 'லாவோஸ்', - 'லாத்வியா', - 'லெபனான்', - 'லெசோத்தோ', - 'லைபீரியா', - 'லிபியா', - 'லீக்கின்ஸ்டைன்', - 'லித்துவேனியா', - 'லக்சம்பர்க்', - 'மாக்கடோனியக் குடியரசு', - 'மடகாசுகர்', - 'மலாவி', - 'மலேசியா', - 'மாலைத்தீவுகள்', - 'மாலி', - 'மால்ட்டா', - 'மார்சல் தீவுகள்', - 'மூரித்தானியா', - 'மொரிசியசு', - 'மெக்சிக்கோ', - 'மைக்குரோனீசியக் கூட்டு நாடுகள்', - 'மல்தோவா', - 'மொனாகோ', - 'மங்கோலியா', - 'மொண்டெனேகுரோ', - 'மொரோக்கோ', - 'மொசாம்பிக்', - 'மியான்மர்', - 'நமீபியா', - 'நவூரு', - 'நேபாளம்', - 'நெதர்லாந்து', - 'நியூசிலாந்து', - 'நிக்கராகுவா', - 'நைஜர்', - 'நைஜீரியா', - 'நோர்வே', - 'ஓமான்', - 'பாக்கித்தான்', - 'பலாவு', - 'பலத்தீன்', - 'பனாமா', - 'பப்புவா நியூ கினி', - 'பரகுவை', - 'பெரு', - 'பிலிப்பீன்சு', - 'போலந்து', - 'போர்த்துகல்', - 'கட்டார்', - 'உருமேனியா', - 'உருசியா', - 'ருவாண்டா', - 'செயிண்ட். கிட்ஸ் நெவிஸ்', - 'செயிண்ட். லூசியா', - 'செயின்ட் வின்செண்டு மற்றும் கிரெனடீன்கள்', - 'சமோவா', - 'சான் மரீனோ', - 'சாவோ தொமே மற்றும் பிரின்சிப்பி', - 'சவூதி அரேபியா', - 'செனிகல்', - 'செர்பியா', - 'சீசெல்சு', - 'சியேரா லியோனி', - 'சிங்கப்பூர்', - 'சிலவாக்கியா', - 'சுலோவீனியா', - 'சொலமன் தீவுகள்', - 'சோமாலியா', - 'தென்னாப்பிரிக்கா', - 'தெற்கு சூடான்', - 'எசுப்பானியா', - 'இலங்கை', - 'சூடான்', - 'சுரிநாம்', - 'சுவாசிலாந்து', - 'சுவீடன்', - 'சுவிட்சர்லாந்து', - 'சிரியா', - 'சீனக் குடியரசு', - 'தாஜிக்ஸ்தான்', - 'தன்சானியா', - 'தாய்லாந்து', - 'கிழக்குத் திமோர்', - 'டோகோ', - 'தொங்கா', - 'டிரினிடாட் மற்றும் டொபாகோ', - 'தூனிசியா', - 'துருக்கி', - 'துருக்மெனிஸ்தான்', - 'துவாலு', - 'உகாண்டா', - 'உக்ரைன்', - 'ஐக்கிய அரபு அமீரகம்', - 'ஐக்கிய இராச்சியம்', - 'ஐக்கிய அமெரிக்கா', - 'உருகுவை', - 'உஸ்பெகிஸ்தான்', - 'வனுவாட்டு', - 'வெனிசுவேலா', - 'வியட்நாம்', - 'மேற்கு சகாரா (Sahrawi)', - 'யேமன்', - 'சாம்பியா', - 'சிம்பாப்வே', - 'அங்கியுலா (UK)', - 'அரூபா (Netherlands)', - 'பெர்முடா (UK)', - 'கேமன் தீவுகள் (UK)', - 'குயெர்ன்சி (கால்வாய் தீவுகள், UK)', - 'யேர்சி (கால்வாய் தீவுகள், UK)', - 'குக் தீவுகள் (New Zealand)', - 'குராசோ (Netherlands)', - 'போக்லாந்து தீவுகள்/Malvinas', - 'பரோயே தீவுகள் (Denmark)', - 'கிப்ரல்டார் (UK)', - 'கிறீன்லாந்து (Denmark)', - 'குவாதலூப்பு (France)', - 'குவாம் (USA)', - 'பிரெஞ்சு கயானா', - 'ஆங்காங்', - 'மாண் தீவு (UK)', - 'கொசோவோ', - 'மக்காவு', - 'மர்தினிக்கு (France)', - 'மயோட்டே (France)', - 'மொன்செராட்', + "ஆப்கானித்தான்", + "அல்பேனியா", + "அல்ஜீரியா", + "அந்தோரா", + "அங்கோலா", + "அன்டிகுவா பர்புடா", + "அர்கெந்தீனா", + "ஆர்மீனியா", + "ஆத்திரேலியா", + "ஆஸ்திரியா", + "அசர்பைஜான்", + "பஹமாஸ்", + "பகுரைன்", + "வங்காளதேசம்", + "பார்படோசு", + "பெலருஸ்", + "பெல்ஜியம்", + "பெலீசு", + "பெனின்", + "பூட்டான்", + "பொலிவியா", + "பொசுனியா எர்செகோவினா", + "போட்சுவானா", + "பிரேசில்", + "புரூணை", + "பல்கேரியா", + "புர்க்கினா பாசோ", + "புருண்டி", + "கம்போடியா", + "கமரூன்", + "கனடா", + "கேப் வர்டி", + "மத்திய ஆப்பிரிக்கக் குடியரசு", + "சாட்", + "சிலி", + "சீனா", + "கொலம்பியா", + "கொமொரோசு", + "காங்கோ மக்களாட்சிக் குடியரசு", + "காங்கோ மக்களாட்சிக் குடியரசு", + "கோஸ்ட்டா ரிக்கா", + "ஐவரி கோஸ்ட்", + "குரோவாசியா", + "கியூபா", + "சைப்பிரசு", + "செக் குடியரசு", + "டென்மார்க்", + "சீபூத்தீ", + "டொமினிக்கா", + "டொமினிக்கன் குடியரசு", + "எக்குவடோர்", + "எகிப்து", + "எல் சல்வடோர", + "எக்குவடோரியல் கினி", + "எரித்திரியா", + "எசுத்தோனியா", + "எதியோப்பியா", + "பிஜி", + "பின்லாந்து", + "பிரான்சு", + "காபொன்", + "கம்பியா", + "சியார்சியா", + "செருமனி", + "கானா", + "கிரேக்க நாடு", + "கிரெனடா", + "குவாத்தமாலா", + "கினியா", + "கினி-பிசாவு", + "கயானா", + "எயிட்டி", + "ஒண்டுராசு", + "அங்கேரி", + "ஐசுலாந்து", + "இந்தியா", + "இந்தோனேசியா", + "ஈரான்", + "ஈராக்", + "அயர்லாந்து", + "இசுரேல்", + "இத்தாலி", + "ஜமேக்கா", + "சப்பான்", + "யோர்தான்", + "கசக்கஸ்தான்", + "கென்யா", + "கிரிபட்டி", + "வட கொரியா", + "தென் கொரியா", + "குவைத்", + "கிர்கிசுத்தான்", + "லாவோஸ்", + "லாத்வியா", + "லெபனான்", + "லெசோத்தோ", + "லைபீரியா", + "லிபியா", + "லீக்கின்ஸ்டைன்", + "லித்துவேனியா", + "லக்சம்பர்க்", + "மாக்கடோனியக் குடியரசு", + "மடகாசுகர்", + "மலாவி", + "மலேசியா", + "மாலைத்தீவுகள்", + "மாலி", + "மால்ட்டா", + "மார்சல் தீவுகள்", + "மூரித்தானியா", + "மொரிசியசு", + "மெக்சிக்கோ", + "மைக்குரோனீசியக் கூட்டு நாடுகள்", + "மல்தோவா", + "மொனாகோ", + "மங்கோலியா", + "மொண்டெனேகுரோ", + "மொரோக்கோ", + "மொசாம்பிக்", + "மியான்மர்", + "நமீபியா", + "நவூரு", + "நேபாளம்", + "நெதர்லாந்து", + "நியூசிலாந்து", + "நிக்கராகுவா", + "நைஜர்", + "நைஜீரியா", + "நோர்வே", + "ஓமான்", + "பாக்கித்தான்", + "பலாவு", + "பலத்தீன்", + "பனாமா", + "பப்புவா நியூ கினி", + "பரகுவை", + "பெரு", + "பிலிப்பீன்சு", + "போலந்து", + "போர்த்துகல்", + "கட்டார்", + "உருமேனியா", + "உருசியா", + "ருவாண்டா", + "செயிண்ட். கிட்ஸ் நெவிஸ்", + "செயிண்ட். லூசியா", + "செயின்ட் வின்செண்டு மற்றும் கிரெனடீன்கள்", + "சமோவா", + "சான் மரீனோ", + "சாவோ தொமே மற்றும் பிரின்சிப்பி", + "சவூதி அரேபியா", + "செனிகல்", + "செர்பியா", + "சீசெல்சு", + "சியேரா லியோனி", + "சிங்கப்பூர்", + "சிலவாக்கியா", + "சுலோவீனியா", + "சொலமன் தீவுகள்", + "சோமாலியா", + "தென்னாப்பிரிக்கா", + "தெற்கு சூடான்", + "எசுப்பானியா", + "இலங்கை", + "சூடான்", + "சுரிநாம்", + "சுவாசிலாந்து", + "சுவீடன்", + "சுவிட்சர்லாந்து", + "சிரியா", + "சீனக் குடியரசு", + "தாஜிக்ஸ்தான்", + "தன்சானியா", + "தாய்லாந்து", + "கிழக்குத் திமோர்", + "டோகோ", + "தொங்கா", + "டிரினிடாட் மற்றும் டொபாகோ", + "தூனிசியா", + "துருக்கி", + "துருக்மெனிஸ்தான்", + "துவாலு", + "உகாண்டா", + "உக்ரைன்", + "ஐக்கிய அரபு அமீரகம்", + "ஐக்கிய இராச்சியம்", + "ஐக்கிய அமெரிக்கா", + "உருகுவை", + "உஸ்பெகிஸ்தான்", + "வனுவாட்டு", + "வெனிசுவேலா", + "வியட்நாம்", + "மேற்கு சகாரா (Sahrawi)", + "யேமன்", + "சாம்பியா", + "சிம்பாப்வே", + "அங்கியுலா (UK)", + "அரூபா (Netherlands)", + "பெர்முடா (UK)", + "கேமன் தீவுகள் (UK)", + "குயெர்ன்சி (கால்வாய் தீவுகள், UK)", + "யேர்சி (கால்வாய் தீவுகள், UK)", + "குக் தீவுகள் (New Zealand)", + "குராசோ (Netherlands)", + "போக்லாந்து தீவுகள்/Malvinas", + "பரோயே தீவுகள் (Denmark)", + "கிப்ரல்டார் (UK)", + "கிறீன்லாந்து (Denmark)", + "குவாதலூப்பு (France)", + "குவாம் (USA)", + "பிரெஞ்சு கயானா", + "ஆங்காங்", + "மாண் தீவு (UK)", + "கொசோவோ", + "மக்காவு", + "மர்தினிக்கு (France)", + "மயோட்டே (France)", + "மொன்செராட்", ) - def city_name(self): + def city_name(self) -> str: return self.random_element(self.cities) - def state(self): + def administrative_unit(self) -> str: return self.random_element(self.states) + + state = administrative_unit diff --git a/faker/providers/address/th/__init__.py b/faker/providers/address/th/__init__.py new file mode 100644 index 0000000000..9b3530bc19 --- /dev/null +++ b/faker/providers/address/th/__init__.py @@ -0,0 +1,252 @@ +from .. import Provider as AddressProvider + + +class Provider(AddressProvider): + + # country names adapted from + # https://github.com/PyThaiNLP/pythainlp/blob/dev/pythainlp/corpus/countries_th.txt + countries = ( + "กรีซ", + "กรีนแลนด์", + "กวม", + "กัมพูชา", + "กัวเดอลุป", + "กัวเตมาลา", + "กาตาร์", + "กานา", + "กาบอง", + "กาบูเวร์ดี", + "กายอานา", + "กินี-บิสเซา", + "กินี", + "เกรเนดา", + "เกาหลีใต้", + "เกาหลีเหนือ", + "เกาะคริสต์มาส", + "เกาะนอร์ฟอล์ก", + "เกาะบูเวต", + "เกาะแมน", + "เกิร์นซีย์", + "แกมเบีย", + "โกตดิวัวร์", + "คอโมโรส", + "คอสตาริกา", + "คาซัคสถาน", + "คิริบาส", + "คิวบา", + "คีร์กีซสถาน", + "คีลิง", + "คูเวต", + "เคนยา", + "แคนาดา", + "แคเมอรูน", + "โครเอเชีย", + "โคลอมเบีย", + "จอร์เจีย", + "จอร์แดน", + "จาเมกา", + "จิบูตี", + "จีน", + "เจอร์ซีย์", + "ชาด", + "ชิลี", + "ซานมารีโน", + "ซามัว", + "ซาอุดีอาระเบีย", + "ซิมบับเว", + "ซีเรีย", + "ซูดาน", + "ซูรินาม", + "เซเชลส์", + "เซนต์คิตส์และเนวิส", + "เซนต์ลูเซีย", + "เซนต์วินเซนต์และเกรนาดีนส์", + "เซนต์เฮเลนา", + "เซเนกัล", + "เซอร์เบีย", + "เซาตูเมและปรินซิปี", + "เซียร์ราลีโอน", + "แซ็ง-บาร์เตเลมี", + "แซ็งบาร์เตเลมี", + "แซ็ง-มาร์แต็ง", + "แซ็งมาร์แต็ง", + "แซงปีแยร์และมีเกอลง", + "แซมเบีย", + "โซมาเลีย", + "ไซปรัส", + "ญี่ปุ่น", + "ดอมินีกา", + "เดนมาร์ก", + "ตรินิแดดและโตเบโก", + "ตองกา", + "ติมอร์-เลสเต", + "ติมอร์เลสเต", + "ตุรกี", + "ตูนิเซีย", + "ตูวาลู", + "เติร์กเมนิสถาน", + "โตเกเลา", + "โตโก", + "ไต้หวัน", + "ทาจิกิสถาน", + "แทนซาเนีย", + "ไทย", + "นครรัฐวาติกัน", + "นอร์เวย์", + "นามิเบีย", + "นาอูรู", + "นิการากัว", + "นิวแคลิโดเนีย", + "นิวซีแลนด์", + "นีอูเอ", + "เนเธอร์แลนด์แอนทิลลีส", + "เนเธอร์แลนด์", + "เนปาล", + "ไนจีเรีย", + "ไนเจอร์", + "บราซิล", + "บริติชอินเดียนโอเชียนเทร์ริทอรี", + "บรูไนดารุสซาลาม", + "บอตสวานา", + "บอสเนียและเฮอร์เซโกวีนา", + "บังกลาเทศ", + "บัลแกเรีย", + "บาร์เบโดส", + "บาห์เรน", + "บาฮามาส", + "บุรุนดี", + "บูร์กินาฟาโซ", + "เบนิน", + "เบลเยียม", + "เบลารุส", + "เบลีซ", + "เบอร์มิวดา", + "โบลิเวีย", + "ปากีสถาน", + "ปานามา", + "ปาปัวนิวกินี", + "ปารากวัย", + "ปาเลา", + "ปาเลสไตน์", + "เปรู", + "เปอร์โตริโก", + "โปรตุเกส", + "โปแลนด์", + "ฝรั่งเศส", + "พม่า", + "ฟิจิ", + "ฟินแลนด์", + "ฟิลิปปินส์", + "เฟรนช์เกียนา", + "เฟรนช์โปลินีเซีย", + "ภูฏาน", + "มองโกเลีย", + "มอนต์เซอร์รัต", + "มอนเตเนโกร", + "มอริเชียส", + "มอริเตเนีย", + "มอลโดวา", + "มอลตา", + "มัลดีฟส์", + "มาเก๊า", + "มาซิโดเนีย", + "มาดากัสการ์", + "มายอต", + "มาร์ตีนิก", + "มาลาวี", + "มาลี", + "มาเลเซีย", + "เม็กซิโก", + "โมซัมบิก", + "โมนาโก", + "โมร็อกโก", + "ไมโครนีเซีย", + "ยานไมเอน", + "ยิบรอลตาร์", + "ยูกันดา", + "ยูเครน", + "เยเมน", + "เยอรมนี", + "รวันดา", + "รัสเซีย", + "เรอูว์นียง", + "โรมาเนีย", + "ลักเซมเบิร์ก", + "ลัตเวีย", + "ลาว", + "ลิกเตนสไตน์", + "ลิทัวเนีย", + "ลิเบีย", + "เลโซโท", + "เลบานอน", + "ไลบีเรีย", + "วานูอาตู", + "วาลลิสและฟุตูนา", + "เวเนซุเอลา", + "เวสเทิร์นสะฮารา", + "เวียดนาม", + "ศรีลังกา", + "สกอตแลนด์", + "สเปน", + "สฟาลบาร์", + "สโลวาเกีย", + "สโลวีเนีย", + "สวาซิแลนด์", + "สวิตเซอร์แลนด์", + "สวีเดน", + "สหรัฐอเมริกา", + "สหรัฐอาหรับเอมิเรตส์", + "สหราชอาณาจักร", + "สาธารณรัฐคองโก", + "สาธารณรัฐเช็ก", + "สาธารณรัฐโดมินิกัน", + "สิงคโปร์", + "หมู่เกาะคุก", + "หมู่เกาะเคย์แมน", + "หมู่เกาะโคโคส", + "หมู่เกาะโซโลมอน", + "หมู่เกาะบริติชเวอร์จิน", + "หมู่เกาะพิตแคร์น", + "หมู่เกาะฟอล์กแลนด์", + "หมู่เกาะแฟโร", + "หมู่เกาะมาร์แชลล์", + "อเมริกันซามัว", + "ออสเตรเลีย", + "ออสเตรีย", + "อังกฤษ", + "อันดอร์รา", + "อัฟกานิสถาน", + "อาเซอร์ไบจาน", + "อาร์เจนตินา", + "อาร์มีเนีย", + "อารูบา", + "อิเควทอเรียลกินี", + "อิตาลี", + "อินเดีย", + "อินโดนีเซีย", + "อิรัก", + "อิสราเอล", + "อิหร่าน", + "อียิปต์", + "อุซเบกิสถาน", + "อุรุกวัย", + "เอกวาดอร์", + "เอธิโอเปีย", + "เอริเทรีย", + "เอลซัลวาดอร์", + "เอสโตเนีย", + "แองกวิลลา", + "แองโกลา", + "แอฟริกากลาง", + "แอฟริกาใต้", + "แอลจีเรีย", + "แอลเบเนีย", + "โอมาน", + "ไอซ์แลนด์", + "ไอร์แลนด์", + "ไอวอรีโคสต์", + "ฮ่องกง", + "ฮอนดูรัส", + "ฮังการี", + "เฮติ", + ) diff --git a/faker/providers/address/th_TH/__init__.py b/faker/providers/address/th_TH/__init__.py new file mode 100644 index 0000000000..66d5de78f8 --- /dev/null +++ b/faker/providers/address/th_TH/__init__.py @@ -0,0 +1,390 @@ +from collections import OrderedDict + +from ..th import Provider as AddressProvider + + +class Provider(AddressProvider): + street_name_formats = ("{{street_prefix}}{{last_name}}",) + street_address_formats = ("{{building_number}} {{street_name}}",) + + address_formats = OrderedDict( + ( + ( + "{{street_address}} {{tambon}} {{amphoe}} {{province}} {{postcode}}", + 50.0, + ), + ( + "{{street_address}} ตำบล{{tambon}} อำเภอ{{amphoe}} {{province}} {{postcode}}", + 50.0, + ), + ( + "{{street_address}} ต.{{tambon}} อ.{{amphoe}} {{province}} {{postcode}}", + 50.0, + ), + ( + "{{street_address}} ต.{{tambon}} อ.{{amphoe}} จ.{{province}} {{postcode}}", + 40.0, + ), + ("{{street_address}} อำเภอ{{amphoe}} {{province}} {{postcode}}", 30.0), + ("{{street_address}} อ.{{amphoe}} {{province}} {{postcode}}", 30.0), + ("{{street_address}} {{amphoe}} {{province}} {{postcode}}", 30.0), + ("{{street_address}} {{tambon}} {{province}} {{postcode}}", 15.0), + ("{{street_address}} {{amphoe}} จ.{{province}} {{postcode}}", 15.0), + ("{{street_address}} {{tambon}} จ.{{province}} {{postcode}}", 15.0), + ("{{street_address}} อ.{{amphoe}} จ.{{province}} {{postcode}}", 15.0), + ("{{street_address}} ต.{{tambon}} จ.{{province}} {{postcode}}", 15.0), + ( + "{{street_address}} อำเภอ{{amphoe}} จังหวัด{{province}} {{postcode}}", + 15.0, + ), + ( + "{{street_address}} ตำบล{{tambon}} อำเภอ{{amphoe}} จังหวัด{{province}} {{postcode}}", + 10.0, + ), + ("{{street_address}} {{province}} {{postcode}}", 15.0), + ("{{street_address}} ต.{{tambon}} อ.{{amphoe}} {{province}}", 15.0), + ("{{street_address}} ต.{{tambon}} อ.{{amphoe}} จ.{{province}}", 15.0), + ( + "{{street_address}} ตำบล{{tambon}} จังหวัด{{province}} {{postcode}}", + 10.0, + ), + ( + "{{building_number}} ต.{{tambon}} อ.{{amphoe}} {{province}} {{postcode}}", + 10.0, + ), + ( + "{{building_number}} หมู่บ้าน{{first_name}} {{amphoe}} {{province}} {{postcode}}", + 10.0, + ), + ) + ) + + # city names are actual city municipalities in Thailand + # source: Wikipedia: https://th.wikipedia.org/wiki/เทศบาลนครในประเทศไทย + city_formats = ("{{city_name}}",) + cities = ( + "กรุงเทพมหานคร", + "นนทบุรี", + "ปากเกร็ด", + "หาดใหญ่", + "เจ้าพระยาสุรศักดิ์", + "สุราษฎร์ธานี", + "อุดรธานี", + "เชียงใหม่", + "นครราชสีมา", + "พัทยา", + "ขอนแก่น", + "นครศรีธรรมราช", + "แหลมฉบัง", + "รังสิต", + "นครสวรรค์", + "ภูเก็ต", + "เชียงราย", + "อุบลราชธานี", + "นครปฐม", + "เกาะสมุย", + "สมุทรสาคร", + "พิษณุโลก", + "ระยอง", + "สงขลา", + "ยะลา", + "ตรัง", + "อ้อมน้อย", + "สกลนคร", + "ลำปาง", + "สมุทรปราการ", + "พระนครศรีอยุธยา", + "แม่สอด", + ) + + building_number_formats = ( + "###", + "##", + "#", + "###/#", + "###/##", + "##/#", + "##/##", + "#/#", + "## หมู่ #", + "## หมู่ ##", + ) + + street_prefixes = OrderedDict( + ( + ("ถนน", 0.5), + ("ถ.", 0.4), + ("ซอย", 0.02), + ("ซ.", 0.02), + ) + ) + + postcode_formats = ( + # as per https://en.wikipedia.org/wiki/Postal_codes_in_Thailand + "1###0", + "2###0", + "3###0", + "4###0", + "5###0", + "6###0", + "7###0", + "8###0", + "9###0", + ) + + provinces = ( + "กระบี่", + "กรุงเทพมหานคร", + "กรุงเทพ", + "กรุงเทพฯ", + "กทม.", + "กาญจนบุรี", + "กาฬสินธุ์", + "กำแพงเพชร", + "ขอนแก่น", + "จันทบุรี", + "ฉะเชิงเทรา", + "ชลบุรี", + "ชัยนาท", + "ชัยภูมิ", + "ชุมพร", + "เชียงราย", + "เชียงใหม่", + "ตรัง", + "ตราด", + "ตาก", + "นครนายก", + "นครปฐม", + "นครพนม", + "นครราชสีมา", + "นครศรีธรรมราช", + "นครสวรรค์", + "นนทบุรี", + "นราธิวาส", + "น่าน", + "บึงกาฬ", + "บุรีรัมย์", + "ปทุมธานี", + "ประจวบคีรีขันธ์", + "ปราจีนบุรี", + "ปัตตานี", + "พระนครศรีอยุธยา", + "พะเยา", + "พังงา", + "พัทลุง", + "พิจิตร", + "พิษณุโลก", + "เพชรบุรี", + "เพชรบูรณ์", + "แพร่", + "ภูเก็ต", + "มหาสารคาม", + "มุกดาหาร", + "แม่ฮ่องสอน", + "ยโสธร", + "ยะลา", + "ร้อยเอ็ด", + "ระนอง", + "ระยอง", + "ราชบุรี", + "ลพบุรี", + "ลำปาง", + "ลำพูน", + "เลย", + "ศรีสะเกษ", + "สกลนคร", + "สงขลา", + "สตูล", + "สมุทรปราการ", + "สมุทรสงคราม", + "สมุทรสาคร", + "สระแก้ว", + "สระบุรี", + "สิงห์บุรี", + "สุโขทัย", + "สุพรรณบุรี", + "สุราษฎร์ธานี", + "สุรินทร์", + "หนองคาย", + "หนองบัวลำภู", + "อ่างทอง", + "อำนาจเจริญ", + "อุดรธานี", + "อุตรดิตถ์", + "อุทัยธานี", + "อุบลราชธานี", + ) + + amphoes = ( + "เกษตรสมบูรณ์", + "แก้งคร้อ", + "คอนสวรรค์", + "คอนสาร", + "ซับใหญ่", + "เทพสถิต", + "เนินสง่า", + "บ้านเขว้า", + "บ้านแท่น", + "บำเหน็จณรงค์", + "หนองบัวโคก", + "ภักดีชุมพล", + "ภูเขียว", + "หนองบัวแดง", + "หนองบัวระเหว", + "เทิง", + "แม่ลาว", + "แม่สรวย", + "เวียงแก่น", + "เวียงชัย", + "เวียงป่าเป้า", + "เขาสมิง", + "คลองใหญ่", + "บ่อไร่", + "นาแก", + "นาทม", + "นาหว้า", + "บ้านแพง", + "ปลาปาก", + "โพนสวรรค์", + "เรณูนคร", + "วังยาง", + "ศรีสงคราม", + "เฉลิมพระเกียรติ", + "เมือง", + "ปากคาด", + "พรเจริญ", + "ศรีวิไล", + "ป้อมปราบศัตรูพ่าย", + "พระนคร", + "สามโคก", + "บางสะพานน้อย", + "บึงกุ่ม", + "ภาษีเจริญ", + "วังทองหลาง", + "ห้วยขวาง", + "หนอกจอก", + "สะพานสูง", + ) + + tambons = ( + "บางแค", + "บางแค", + "บางไผ่", + "บางปะกอก", + "ยางตลาด", + "ดอนสมบูรณ์", + "หัวงัว", + "นาเชือก", + "เทพศิรินทร์", + "อุ่มเม่า", + "คลองขาม", + "บัวบาน", + "เขาพระนอน", + "เว่อ", + "นาดี", + "อิตื้อ", + "โนนสูง", + "หัวนาคำ", + "หนองตอกแป้น", + "หนองอิเฒ่า", + "โนนศิลา", + "หนองปลาหมอ", + "เปือยใหญ่", + "โนนแดง", + "ก้อนแก้ว", + "คลองเขื่อน", + "บางเล่า", + "บางโรง", + "บางตลาด", + "เนินขาม", + "กะบกเตี้ย", + "สุขเดือนห้า", + "พะโต๊ะ", + "ปากทรง", + "ปังหวาน", + "พระรักษ์", + "ห้วยยอด", + "ปากคม", + "หนองช้างแล่น", + "ท่างิ้ว", + "บางดี", + "ลำภูรา", + "บางกุ้ง", + "นาวง", + "เขากอบ", + "เขาขาว", + "ในเตา", + "เขาปูน", + "ทุ่งต่อ", + "ปากแจ่ม", + "เกาะหวาย", + "ปากพลี", + "เกาะโพธิ์", + "ท่าเรือ", + "โคกกรวด", + "หนองแสง", + "นาหินลาด", + ) + + tambon_prefixes = OrderedDict( + ( + ("", 40.0), + ("วัด", 2.0), + ("บ้าน", 2.0), + ("บ่อ", 2.0), + ("บึง", 2.0), + ("ป่า", 1.0), + ("ห้วย", 1.0), + ) + ) + + tambon_suffixes = OrderedDict( + ( + ("", 30), + ("เหนือ", 3), + ("ใต้", 3), + ("ใหญ่", 2), + ("กลาง", 1), + ("เล็ก", 1), + ("ใหม่", 1), + ("เดิม", 0.1), + ) + ) + + city_suffixes = ("นคร",) + + def street_prefix(self) -> str: + """ + :example 'ถนน' + """ + return self.random_element(self.street_prefixes) + + def administrative_unit(self) -> str: + """ + :example 'อุบลราชธานี' + """ + return self.random_element(self.provinces) + + province = administrative_unit + + def amphoe(self) -> str: + """ + Get a random Amphoe (district) name. + Currently it's total random and not necessarily matched with a province. + :example 'บางสะพานน้อย' + """ + return self.random_element(self.amphoes) + + def tambon(self) -> str: + """ + Get a random Tambon (subdistrict) name. + Currently it's total random and not necessarily matched with an amphoe or province. + :example 'ห้วยนาง' + """ + return ( + f"{self.random_element(self.tambon_prefixes)}{self.random_element(self.tambons)}" + + f"{self.random_element(self.tambon_suffixes)}" + ) + + def city_name(self) -> str: + return self.random_element(self.cities) diff --git a/faker/providers/address/tl_PH/__init__.py b/faker/providers/address/tl_PH/__init__.py index 10fd37a784..da54e5882d 100644 --- a/faker/providers/address/tl_PH/__init__.py +++ b/faker/providers/address/tl_PH/__init__.py @@ -3,4 +3,5 @@ class Provider(EnPhAddressProvider): """No difference from Address Provider for en_PH locale""" + pass diff --git a/faker/providers/address/uk_UA/__init__.py b/faker/providers/address/uk_UA/__init__.py index a4ebf720bb..ef387294d0 100644 --- a/faker/providers/address/uk_UA/__init__.py +++ b/faker/providers/address/uk_UA/__init__.py @@ -2,172 +2,2249 @@ class Provider(AddressProvider): - address_formats = ['{{street_address}}, {{city}}, {{postcode}}'] - building_number_formats = ['#', '##', '###'] - city_formats = ['{{city_prefix}} {{first_name}}'] - street_address_formats = ['{{street_name}}, {{building_number}}'] - street_name_formats = ('{{street_prefix}} {{street_title}}', ) + address_formats = ["{{street_address}}, {{city_name}}, {{postcode}}"] + building_number_formats = ["#", "##", "###"] + city_formats = ["{{city_prefix}} {{city_name}}"] + street_address_formats = ( + "{{street_prefix}} {{street_name}}, буд. {{building_number}}", + "{{street_prefix}} {{street_name}}, буд. {{building_number}} кв. {{building_number}}", + ) + + street_name_formats = "{{street_prefix}} {{street_title}}" + + city_prefixes = ["місто", "село", "селище", "хутір"] + + city_names = ( + "Авдіївка", + "Алмазна", + "Алупка", + "Алушта", + "Алчевськ", + "Амвросіївка", + "Ананьїв", + "Андрушівка", + "Антрацит ", + "Апостолове", + "Армянськ", + "Арциз", + "Балаклія", + "Балта", + "Бар", + "Баранівка", + "Барвінкове", + "Батурин", + "Бахмач", + "Бахмут", + "Бахчисарай", + "Баштанка", + "Белз", + "Бердичів", + "Бердянськ", + "Берегове", + "Бережани", + "Березань ", + "Березівка", + "Березне", + "Берестечко", + "Берислав", + "Бершадь", + "Бібрка", + "Біла Церква", + "Білгород-Дністровський", + "Білицьке", + "Білогірськ", + "Білозерське", + "Білопілля", + "Біляївка", + "Благовіщенське", + "Бобринець", + "Бобровиця", + "Богодухів", + "Богуслав", + "Боково-Хрустальне", + "Болград", + "Болехів", + "Борзна", + "Борислав", + "Бориспіль", + "Борщів", + "Боярка", + "Бровари", + "Броди", + "Брянка", + "Бунге ", + "Буринь", + "Бурштин ", + "Буськ", + "Буча", + "Бучач", + "Валки ", + "Вараш", + "Василівка ", + "Васильків", + "Ватутіне", + "Вашківці", + "Великі Мости", + "Верхівцеве", + "Верхньодніпровськ", + "Вижниця", + "Вилкове", + "Винники", + "Виноградів", + "Вишгород", + "Вишневе ", + "Вільногірськ", + "Вільнянськ", + "Вінниця", + "Вовчанськ", + "Вознесенівка", + "Вознесенськ", + "Волноваха", + "Володимир-Волинський", + "Волочиськ", + "Ворожба", + "Вуглегірськ", + "Вугледар", + "Гадяч", + "Гайворон", + "Гайсин", + "Галич", + "Генічеськ", + "Географія Вільнянська", + "Герца", + "Гірник ", + "Гірське", + "Глиняни", + "Глобине", + "Глухів", + "Гнівань", + "Гола Пристань", + "Голубівка", + "Горішні Плавні", + "Горлівка", + "Городенка", + "Городище ", + "Городня", + "Городок", + "Горохів", + "Гребінка", + "Гуляйполе", + "Дебальцеве", + "Деражня", + "Дергачі", + "Джанкой", + "Дніпро ", + "Дніпрорудне", + "Добромиль", + "Добропілля", + "Довжанськ", + "Докучаєвськ", + "Долина ", + "Долинська", + "Донецьк", + "Дрогобич", + "Дружба ", + "Дружківка", + "Дубляни", + "Дубно", + "Дубровиця", + "Дунаївці", + "Енергодар", + "Євпаторія", + "Єнакієве", + "Жашків", + "Жданівка", + "Жидачів", + "Житомир", + "Жмеринка", + "Жовква", + "Жовті Води", + "Заводське", + "Залізне", + "Заліщики", + "Запоріжжя", + "Заставна", + "Збараж", + "Зборів", + "Звенигородка", + "Здолбунів", + "Зеленодольськ", + "Зимогір'я", + "Зіньків", + "Зміїв", + "Знам'янка", + "Золоте", + "Золотоноша", + "Золочів", + "Зоринськ", + "Зугрес", + "Івано-Франківськ", + "Ізмаїл", + "Ізюм", + "Ізяслав", + "Іллінці", + "Іловайськ", + "Інкерман", + "Ірміно", + "Ірпінь", + "Іршава", + "Ічня", + "Кагарлик", + "Кадіївка", + "Калинівка ", + "Калуш", + "Кальміуське", + "Кам'янець-Подільський", + "Кам'янка (Черкаська область)", + "Кам'янка-Бузька", + "Кам'янка-Дніпровська", + "Кам'янське", + "Камінь-Каширський", + "Канів", + "Карлівка", + "Каховка", + "Керч", + "Київ", + "Кипуче", + "Ківерці", + "Кілія", + "Кіцмань", + "Кобеляки", + "Ковель", + "Кодима", + "Козятин", + "Коломия", + "Комарно", + "Конотоп", + "Копичинці", + "Корець", + "Коростень", + "Коростишів", + "Корсунь-Шевченківський", + "Корюківка", + "Косів", + "Костопіль", + "Костянтинівка", + "Краматорськ", + "Красилів", + "Красногорівка", + "Красноград", + "Красноперекопськ", + "Кременець", + "Кременчук", + "Кремінна", + "Кривий Ріг", + "Кролевець", + "Кропивницький", + "Куп'янськ", + "Курахове", + "Ладижин", + "Ланівці", + "Лебедин", + "Лиман ", + "Липовець", + "Лисичанськ", + "Лозова ", + "Лохвиця", + "Лубни", + "Луганськ", + "Лутугине", + "Луцьк", + "Львів", + "Любомль", + "Люботин", + "Макіївка", + "Мала Виска", + "Малин", + "Мар'їнка", + "Марганець ", + "Маріуполь", + "Мелітополь", + "Мена ", + "Мерефа", + "Миколаїв", + "Миколаївка ", + "Миргород", + "Мирноград", + "Миронівка", + "Міусинськ", + "Могилів-Подільський", + "Молодогвардійськ", + "Молочанськ", + "Монастириська", + "Монастирище", + "Моршин", + "Моспине", + "Мостиська", + "Мукачево", + "Надвірна", + "Немирів", + "Нетішин", + "Ніжин", + "Нікополь", + "Нова Каховка", + "Нова Одеса", + "Новгород-Сіверський", + "Нове Давидково", + "Новий Буг", + "Новий Калинів", + "Новий Розділ", + "Новоазовськ", + "Нововолинськ", + "Новоград-Волинський", + "Новогродівка", + "Новодністровськ", + "Новодружеськ", + "Новомиргород", + "Новомосковськ", + "Новоселиця", + "Новоукраїнка", + "Новояворівськ", + "Носівка", + "Обухів", + "Овруч", + "Одеса", + "Олевськ", + "Олександрівськ", + "Олександрія", + "Олешки", + "Оріхів", + "Остер ", + "Острог", + "Охтирка", + "Очаків", + "П'ятихатки", + "Павлоград", + "Первомайськ", + "Первомайський ", + "Перевальськ", + "Перемишляни", + "Перечин", + "Перещепине", + "Переяслав", + "Першотравенськ", + "Петрово-Красносілля", + "Пирятин", + "Південне ", + "Підгайці", + "Підгородне", + "Погребище", + "Подільськ", + "Покров", + "Покровськ", + "Пологи ", + "Полонне", + "Полтава", + "Помічна", + "Попасна", + "Почаїв", + "Привілля", + "Прилуки", + "Приморськ (Україна)", + "Прип'ять ", + "Пустомити", + "Путивль", + "Рава-Руська", + "Радехів", + "Радивилів", + "Радомишль", + "Рахів", + "Рені", + "Решетилівка", + "Ржищів", + "Рівне", + "Ровеньки", + "Рогатин", + "Родинське", + "Рожище", + "Роздільна", + "Ромни", + "Рубіжне", + "Рудки", + "Саки ", + "Самбір", + "Сарни", + "Свалява", + "Сватове", + "Світловодськ", + "Світлодарськ", + "Святогірськ", + "Севастополь", + "Селидове", + "Семенівка", + "Середина-Буда", + "Сєвєродонецьк", + "Синельникове", + "Сіверськ", + "Сімферополь", + "Скадовськ", + "Скалат", + "Сквира", + "Сколе", + "Славута", + "Славутич", + "Слов'янськ", + "Сміла", + "Снігурівка", + "Сніжне", + "Сновськ", + "Снятин", + "Сокаль", + "Сокиряни", + "Соледар", + "Сорокине", + "Соснівка ", + "Старий Крим", + "Старий Самбір", + "Старобільськ", + "Старокостянтинів", + "Стебник", + "Сторожинець", + "Стрий", + "Судак ", + "Судова Вишня", + "Сулимівка (Слов'янськ)", + "Суми", + "Суходільськ", + "Таврійськ", + "Тальне", + "Тараща", + "Татарбунари", + "Теплодар", + "Теребовля", + "Тернівка ", + "Тернопіль", + "Тетіїв", + "Тиврів", + "Тисмениця", + "Тлумач", + "Токмак", + "Торецьк", + "Тростянець", + "Трускавець", + "Тульчин", + "Турка", + "Тячів", + "Угнів", + "Ужгород", + "Узин", + "Українка ", + "Українськ", + "Умань", + "Устилуг", + "Фастів", + "Федорівка", + "Феодосія", + "Харків", + "Харцизьк", + "Херсон", + "Хирів", + "Хмельницький", + "Хмільник", + "Ходорів", + "Хорол ", + "Хоростків", + "Хотин", + "Хрестівка", + "Христинівка", + "Хрустальний", + "Хуст", + "Часів Яр", + "Червоноград", + "Червоносів", + "Черкаси", + "Чернівці", + "Чернігів", + "Чигирин", + "Чистякове", + "Чоп", + "Чорнобиль", + "Чорноморськ", + "Чортків", + "Чугуїв", + "Чуднів", + "Шаргород", + "Шахтарськ", + "Шепетівка", + "Шостка", + "Шпола", + "Шумськ", + "Щастя ", + "Щолкіне", + "Южне", + "Южноукраїнськ", + "Яворів", + "Яготин", + "Ялта", + "Ямпіль", + "Яремче", + "Ясинувата", + ) + + region_names = ( + "Автономна Республіка Крим", + "Вінницька область", + "Волинська область", + "Дніпропетровська область", + "Донецька область", + "Житомирська область", + "Закарпатська область", + "Запорізька область", + "Івано-Франківська область", + "Київська область", + "Кіровоградська область", + "Луганська область", + "Львівська область", + "Миколаївська область", + "Одеська область", + "Полтавська область", + "Рівненська область", + "Сумська область", + "Тернопільська область", + "Харківська область", + "Херсонська область", + "Хмельницька область", + "Черкаська область", + "Чернівецька область", + "Чернігівська область", + ) - city_prefixes = ['місто', 'село', 'селище', 'хутір'] countries = [ - 'Австралія', 'Австрія', 'Азербайджан', 'Албанія', 'Алжир', 'Ангола', - 'Андорра', 'Антигуа і Барбуда', 'Аргентина', 'Афганістан', - 'Багамські Острови', 'Бангладеш', 'Барбадос', 'Бахрейн', 'Беліз', - 'Бельгія', 'Бенін', 'Білорусь', 'Болгарія', 'Болівія', - 'Боснія і Герцеговина', 'Ботсвана', 'Бразилія', 'Бруней', - 'Буркіна-Фасо', 'Бурунді', 'Бутан', 'Вануату', 'Ватикан', - 'Велика Британія', 'Венесуела', 'В\'єтнам', 'Вірменія', 'Габон', - 'Гаїті', 'Гаяна', 'Гамбія', 'Гана', 'Гватемала', 'Гвінея', - 'Гвінея-Бісау', 'Гондурас', 'Гренада', 'Греція', 'Грузія', 'Данія', - 'Джибуті', 'Домініка', 'Домініканська Республіка', 'Еквадор', - 'Екваторіальна Гвінея', 'Еритрея', 'Естонія', 'Ефіопія', 'Єгипет', - 'Ємен', 'Замбія', 'Західна Сахара', 'Зімбабве', 'Ізраїль', 'Індія', - 'Індонезія', 'Ірак', 'Іран', 'Ірландія', 'Ісландія', 'Іспанія', - 'Італія', 'Йорданія', 'Кабо-Верде', 'Казахстан', 'Камбоджа', 'Камерун', - 'Канада', 'Катар', 'Кенія', 'Киргизстан', 'КНР', 'Кіпр', 'Кірибаті', - 'Колумбія', 'Коморські Острови', 'Конго', 'ДР Конго', 'Південна Корея', - 'Північна Корея', 'Косово', 'Коста-Рика', 'Кот-д\'Івуар', 'Куба', - 'Кувейт', 'Лаос', 'Латвія', 'Лесото', 'Литва', 'Ліберія', 'Ліван', - 'Лівія', 'Ліхтенштейн', 'Люксембург', 'Маврикій', 'Мавританія', - 'Мадагаскар', 'Республіка Македонія', 'Малаві', 'Малайзія', 'Малі', - 'Мальдіви', 'Мальта', 'Марокко', 'Маршаллові Острови', 'Мексика', - 'Федеративні Штати Мікронезії', 'Мозамбік', 'Молдова', 'Монако', - 'Монголія', 'М\'янма', 'Намібія', 'Науру', 'Непал', 'Нігер', 'Нігерія', - 'Нідерланди', 'Нікарагуа', 'Німеччина', 'Нова Зеландія', 'Норвегія', - 'ОАЕ', 'Оман', 'Пакистан', 'Палау', 'Палестинська держава', 'Панама', - 'Папуа Нова Гвінея', 'ПАР', 'Парагвай', 'Перу', 'Південний Судан', - 'Польща', 'Португалія', 'Росія', 'Руанда', 'Румунія', 'Сальвадор', - 'Самоа', 'Сан-Марино', 'Сан-Томе і Принсіпі', 'Саудівська Аравія', - 'Свазіленд', 'Сейшельські Острови', 'Сенегал', - 'Сент-Вінсент і Гренадини', 'Сент-Кіттс і Невіс', 'Сент-Люсія', - 'Сербія', 'Сінгапур', 'Сирія', 'Словаччина', 'Словенія', - 'Соломонові Острови', 'Сомалі', 'Судан', 'Суринам', 'Східний Тимор', - 'США', 'Сьєрра-Леоне', 'Таджикистан', 'Таїланд', 'Тайвань', 'Танзанія', - 'Того', 'Тонга', 'Тринідад і Тобаго', 'Тувалу', 'Туніс', 'Туреччина', - 'Туркменістан', 'Уганда', 'Угорщина', 'Узбекистан', 'Україна', - 'Уругвай', 'Фіджі', 'Філіппіни', 'Фінляндія', 'Франція', 'Хорватія', - 'Центральноафриканська Республіка', 'Чад', 'Чехія', 'Чилі', - 'Чорногорія', 'Швейцарія', 'Швеція', 'Шрі-Ланка', 'Ямайка', 'Японія', + "Австралія", + "Австрія", + "Азербайджан", + "Албанія", + "Алжир", + "Ангола", + "Андорра", + "Антигуа і Барбуда", + "Аргентина", + "Афганістан", + "Багамські Острови", + "Бангладеш", + "Барбадос", + "Бахрейн", + "Беліз", + "Бельгія", + "Бенін", + "Білорусь", + "Болгарія", + "Болівія", + "Боснія і Герцеговина", + "Ботсвана", + "Бразилія", + "Бруней", + "Буркіна-Фасо", + "Бурунді", + "Бутан", + "Вануату", + "Ватикан", + "Велика Британія", + "Венесуела", + "В'єтнам", + "Вірменія", + "Габон", + "Гаїті", + "Гаяна", + "Гамбія", + "Гана", + "Гватемала", + "Гвінея", + "Гвінея-Бісау", + "Гондурас", + "Гренада", + "Греція", + "Грузія", + "Данія", + "Джибуті", + "Домініка", + "Домініканська Республіка", + "Еквадор", + "Екваторіальна Гвінея", + "Еритрея", + "Естонія", + "Ефіопія", + "Єгипет", + "Ємен", + "Замбія", + "Західна Сахара", + "Зімбабве", + "Ізраїль", + "Індія", + "Індонезія", + "Ірак", + "Іран", + "Ірландія", + "Ісландія", + "Іспанія", + "Італія", + "Йорданія", + "Кабо-Верде", + "Казахстан", + "Камбоджа", + "Камерун", + "Канада", + "Катар", + "Кенія", + "Киргизстан", + "КНР", + "Кіпр", + "Кірибаті", + "Колумбія", + "Коморські Острови", + "Конго", + "ДР Конго", + "Південна Корея", + "Північна Корея", + "Косово", + "Коста-Рика", + "Кот-д'Івуар", + "Куба", + "Кувейт", + "Лаос", + "Латвія", + "Лесото", + "Литва", + "Ліберія", + "Ліван", + "Лівія", + "Ліхтенштейн", + "Люксембург", + "Маврикій", + "Мавританія", + "Мадагаскар", + "Республіка Македонія", + "Малаві", + "Малайзія", + "Малі", + "Мальдіви", + "Мальта", + "Марокко", + "Маршаллові Острови", + "Мексика", + "Федеративні Штати Мікронезії", + "Мозамбік", + "Молдова", + "Монако", + "Монголія", + "М'янма", + "Намібія", + "Науру", + "Непал", + "Нігер", + "Нігерія", + "Нідерланди", + "Нікарагуа", + "Німеччина", + "Нова Зеландія", + "Норвегія", + "ОАЕ", + "Оман", + "Пакистан", + "Палау", + "Палестинська держава", + "Панама", + "Папуа Нова Гвінея", + "ПАР", + "Парагвай", + "Перу", + "Південний Судан", + "Польща", + "Португалія", + "Росія", + "Руанда", + "Румунія", + "Сальвадор", + "Самоа", + "Сан-Марино", + "Сан-Томе і Принсіпі", + "Саудівська Аравія", + "Свазіленд", + "Сейшельські Острови", + "Сенегал", + "Сент-Вінсент і Гренадини", + "Сент-Кіттс і Невіс", + "Сент-Люсія", + "Сербія", + "Сінгапур", + "Сирія", + "Словаччина", + "Словенія", + "Соломонові Острови", + "Сомалі", + "Судан", + "Суринам", + "Східний Тимор", + "США", + "Сьєрра-Леоне", + "Таджикистан", + "Таїланд", + "Тайвань", + "Танзанія", + "Того", + "Тонга", + "Тринідад і Тобаго", + "Тувалу", + "Туніс", + "Туреччина", + "Туркменістан", + "Уганда", + "Угорщина", + "Узбекистан", + "Україна", + "Уругвай", + "Фіджі", + "Філіппіни", + "Фінляндія", + "Франція", + "Хорватія", + "Центральноафриканська Республіка", + "Чад", + "Чехія", + "Чилі", + "Чорногорія", + "Швейцарія", + "Швеція", + "Шрі-Ланка", + "Ямайка", + "Японія", ] street_prefixes = [ - 'вулиця', 'набережна', + "вулиця", + "набережна", + "провулок", + "площа", + "проспект", + "узвіз", + "сквер", + "парк", + "шосе", ] - street_suffixes = ['узвіз'] + # https://data.gov.ua/en/dataset/__-120/resource/76e2684f-e75c-45e5-a0b2-6d5596ab47f8 + # https://opendata.drohobych-rada.gov.ua/sites/default/files/%D0%90%D0%B4%D1%80%D0%B5%D1%81%D0%B8%20%D0%94%D1%80%D0%BE%D0%B3%D0%BE%D0%B1%D0%B8%D1%87.xlsx street_titles = [ - '40-летия Октября', - 'Академика Шлихтера', - 'Алексея Давыдова', - 'Анищенко', - 'Антонова-Овсеенко', - 'Артема', - 'Бабушкина', - 'Бакинских Комиссаров', - 'Баумана', - 'Блюхера', - 'Боженко', - 'Бонч-Бруевича', - 'Буденного', - 'Ветрова', - 'Воровского', - 'Воссоединения', - 'Гамарника', - 'Горького', - 'Дзержинского', - 'Димитрова', - 'Дубового Ивана', - 'Дундича Олеко', - 'Жданова', - 'Ивана Клименко', - 'Ивана Лепсе', - 'Иванова Андрея', - 'Ильича', - 'Калининская', - 'Киквидзе', - 'Кирова', - 'Коллективизации', - 'Коллонтай', - 'Командарма Уборевич', - 'Комиссара Рыкова', - 'Коммунистическая', - 'Комсомольская', - 'Котовского', - 'Кравченко Николая', - 'Красикова Петра', - 'Красноармейская', - 'Красногвардейская', - 'Краснопартизанская', - 'Краснофлотская', - 'Крупской', - 'Крыленко', - 'Кутузова', - 'Лазо Сергея', - 'Лайоша Гавро', - 'Ластовского', - 'Ленина', - 'Ленинская', - 'Луначарского', - 'Майорова Михаила', - 'Маршала Буденного', - 'Маршала Тухачевского', - 'Мате Залки', - 'Машина Михаила', - 'Мильчакова Александра', - 'Михаила Скрипника', - 'Московская', - 'Октябрьская', - 'Омельяна Горбачова', - 'Островского Николая', - 'Павла Дибенко', - 'Павлика Морозова', - 'Патриса Лумумбы', - 'Перспективная', - 'Петра Дегтяренко', - 'Петра Шелеста', - 'Петровского', - 'Пика Вильгельма', - 'Полупанова', - 'Примакова', - 'Профинтерна', - 'Руднева Николая', - 'Сагайдика Степана', - 'Сарафимовича', - 'Сергея Струтинского', - 'Смирнова-Ласточкина', - 'Советская', - 'Софьи Перовской', - 'Строкача Тимофея', - 'Суворова', - 'Терешковой Валентины', - 'Трутенко Онуфрия', - 'Фадеева', - 'Федько Ивана', - 'Фрунзе', - 'Фурманова', - 'Цурюпинская', - 'Чапаева', - 'Чекистов', - 'Чеслава Белинского', - 'Чудновского', - 'Шаумяна', - 'Щербакова', - 'Щорса', - 'Юрия Коцюбинского', - 'Якира', + "1-ша Лінія 4-ї ст. Люстдорфської дороги", + "1-ша Лінія 6-й ст. Люстдорфської дороги", + "1-ша Лінія Марії Демченко", + "1-ша Суворовська", + "1-й Академічний тупик", + "10-та Лінія 6-й ст. Люстдорфської дороги", + "10-та Лінія Марії Демченко", + "10-та Суворовська", + "11-ша Лінія 6-й ст. Люстдорфської дороги", + "11-та Лінія Марії Демченко", + "11-та ст. Великого Фонтану пляж", + "11-та Суворовська", + "12-та Лінія 6-й ст. Люстдорфської дороги", + "12-та ст. Великого Фонтану пляж", + "12-та Суворовська", + "13-та Лінія 6-й ст. Люстдорфської дороги", + "13-та ст. Великого Фонтану пляж", + "13-та Суворовська", + "14-та Лінія 6-й ст. Люстдорфської дороги", + "14-та ст. Великого Фонтану пляж", + "14-та Суворовська", + "15-та Лінія 6-й ст. Люстдорфської дороги", + "15-та ст. Великого Фонтану пляж", + "15-та Суворовська", + "16-та Лінія 6-й ст. Люстдорфської дороги", + "17-та Лінія 6-й ст. Люстдорфської дороги", + "18-та Лінія 6-й ст. Люстдорфської дороги", + "19-та Лінія", + "19-й км Старокиївської дороги", + "2-га Лінія 4-ї ст. Люстдорфської дороги", + "2-га Лінія 6-й ст. Люстдорфської дороги", + "2-га Лінія Марії Демченко", + "2-га Суворовська", + "2-й Академічний тупик", + "21-й км Старокиївської дороги", + "3-тя Лінія 4-ї ст. Люстдорфської дороги", + "3-тя Лінія 6-й ст. Люстдорфської дороги", + "3-тя Лінія Марії Демченко", + "3-тя Суворовська", + "4-та Лінія 6-й ст. Люстдорфської дороги", + "4-та Лінія Марії Демченко", + "4-та Суворовська", + "40-річчя оборони Одеси", + "411-ї батареї", + "5-та Лінія 6-й ст. Люстдорфської дороги", + "5-та Лінія Марії Демченко", + "5-та Суворовська", + "6-та Лінія 6-й ст. Люстдорфської дороги", + "6-та Лінія Марії Демченко", + "6-та Суворовська", + "7-ма Лінія 6-й ст. Люстдорфської дороги", + "7-ма Лінія Дачі Ковалевського", + "7-ма Суворовська", + "8-ма Лінія 6-й ст. Люстдорфської дороги", + "8-ма Лінія Дачі Ковалевського", + "8-ма Суворовська", + "9-та Лінія Дачі Ковалевського", + "9-та Суворовська", + "Абрикосова", + "Абрикосовий", + "Авангардна", + "Авдєєва-Чорноморського", + "Авіаторів", + "Авіаційна", + "Аграрна", + "Агрономічна", + "Агрономічний", + "Адміральський", + "Аеродромна", + "Аеродромний 1-й", + "Аеродромний 2-й", + "Аеродромний 3-й", + "Аеропортівська", + "Аеропортівський 1-й", + "Аеропортівський 2-й", + "Аеропортівський 3-й", + "Аеропортівський 4-й", + "Аеропортівський 5-й", + "Аеропортівський 6-й", + "Азербайджан", + "Азовський", + "Академіка Богатського", + "Академіка Вавилова", + "Академіка Векслера", + "Академіка Вільямса", + "Академіка Вільямса", + "Академіка Вільямса", + "Академіка Воробйова", + "Академіка Гаркавого", + "Академіка Глушка", + "Академіка Заболотного", + "Академіка Корольова", + "Академіка Панкратової", + "Академіка Сахарова", + "Академіка Філатова", + "Академіка Ясиновського", + "Академічна", + "Академічний", + "Акордна", + "Алмазна", + "Альпіністів", + "Амбулаторна", + "Амбулаторний", + "Амбулаторний 1-й", + "Амбулаторний 2-й", + "Амундсена, 1-й", + "Амундсена, 2-й", + "Амундсена, 3-й", + "Амурська", + "Амурський 1-й", + "Амурський 2-й", + "Амурський 3-й", + "Амурський 4-й", + "Ананьївська", + "Ангарська", + "Андреєвського", + "Андрійця Олега", + "Андросовський", + "Анни Ахматової", + "Аполона Скальковського", + "Аптекарський", + "Аркадіївський", + "Аркадійська", + "Аркаса Миколи", + "Армійська", + "Артезіанська", + "Артилерійська", + "Артилерійський 2-й", + "Архітекторська", + "Архітектурна", + "Асєєва Юрія", + "Асташкіна", + "Асташкіна", + "Астрономічна", + "Астрономічний", + "Ашгабатська", + "Бабеля", + "Багрицького", + "Базарна", + "Байдарочний", + "Байкал тупик", + "Байкальська", + "Балківська", + "Балтська дорога", + "Балтський 1-й", + "Балтський 2-й", + "Балтський 3-й", + "Балтський 4-й", + "Балтський 5-й", + "Балтський 6-й", + "Балтський 7-й", + "Балтський 8-й", + "Банний", + "Баркасний", + "Басейна", + "Басейний 1-й", + "Басейний 2-й", + "Басейний 3-й", + "Басейний 4-й", + "Басейний 6-й", + "Бахчева", + "Баштанна", + "Безіменний", + "Берегова", + "Березова", + "Березовий", + "Бернардацці", + "Бессарабська", + "Бехтерєва", + "Бібліотечна", + "Білоруська", + "Більшовицький", + "Біляївська", + "Бірюкова", + "Бісквітний", + "Бітумна", + "Благовидової", + "Богдана Хмельницького", + "Богуна", + "Бодаревського", + "Бокаріуса Миколи", + "Болгарська", + "Болградська", + "Бориса Дерев'янка", + "Бориса Літвака", + "Бородінська", + "Ботанічний", + "Братів Поджіо", + "Братська", + "Брестська", + "Бреуса", + "Бригадна", + "Бугаївська", + "Будівельна", + "Будівельний", + "Бузкова", + "Бузковий", + "Бузковий 1-й", + "Бузковий 2-й", + "Буніна", + "Бучми", + "В’ячеслава Чорновола", + "Валіховський", + "Ванний", + "Ванцетті", + "Ванцетті", + "Вапняна", + "Вапняне селище", + "Вапняний 1-й", + "Вапняний 2-й", + "Вапняний 3-й", + "Варненська", + "Василя Кандинського", + "Василя Кандинського 1-й", + "Василя Кандинського 2-й", + "Василя Кандинського 3-й", + "Василя Кандинського 4-й", + "Василя Кандинського 5-й", + "Василя Симоненка", + "Василя Стуса", + "Васнецова", + "Васнецова", + "Ватманський", + "Велика Арнаутська", + "Велика Садова", + "Венгера", + "Верещагіна", + "Вернидуба", + "Верстатобудівна", + "Вертелецького", + "Верф’яний", + "Верхня", + "Вершинна", + "Весела", + "Весняна", + "Ветеранів праці", + "Вєтрова", + "Вєтрогонова", + "Виїзна", + "Виноградна", + "Виноградна 1-ша", + "Виноградна 2-га", + "Виноградна 3-тя", + "Виноградний", + "Виноградний тупик", + "Висока", + "Високий", + "Висоцького", + "Виставочна", + "Вишнева", + "Вишневий", + "Відважних", + "Військовий узвіз", + "Вільгельма Габсбурга", + "Віри Інбер", + "Віри Фігнер", + "Віри Холодної", + "Вірського", + "Вітчизняна", + "Віцеадмірала Азарова", + "Віцеадмірала Жукова", + "Водний", + "Водопровідна", + "Водопровідний 1-й", + "Водопровідний 2-й", + "Водопровідний 3-й", + "Вознесенський", + "Вокзальна", + "Вокзальний", + "Волзький", + "Волна тупик", + "Волниста", + "Володимира Вінниченка", + "Володимира Хавкіна", + "Володі Дубініна", + "Волоколамська", + "Воронезька", + "Воронцовський", + "Восьмого березня", + "Восьмого березня 1-й", + "Восьмого березня 2-й", + "Восьмого березня 3-й", + "Восьмого березня 4-й", + "Восьмого березня 5-й", + "Восьмого березня 6-й", + "Восьмого березня 7-й", + "Восьмого березня 8-й", + "Восьмого березня 9-й", + "Восьмого Березня Лінія 1-ша", + "Восьмого Березня Лінія 2-га", + "Восьмого Березня Лінія 3-тя", + "Восьмого Березня Лінія 4-та", + "Восьмого Березня Лінія 5-та", + "Восьмого березня узвіз", + "Восьмого березня узвіз", + "Вузький", + "Вчительська", + "Вчительської, 2-й", + "Гаванна", + "Гагаріна", + "Гагаріна", + "Гагаріна", + "Гагарінське плато", + "Газова", + "Газовий", + "Гаріна", + "Гаршина", + "Гаршина", + "Гастелло", + "Гвардійська", + "Гвоздична", + "Гвоздичний", + "Гена Іоганна", + "Генуезька", + "Геологічна", + "Георгія Гамова", + "Геранієва", + "Героїв Крут", + "Героїв Небесної Сотні", + "Героїв оборони Одеси", + "Героїв прикордонників", + "Герцена", + "Гетьманський", + "Гілельса", + "Гімназична", + "Гладкова", + "Глазунова", + "Глазунова 1-й", + "Глазунова 2-й", + "Глиняна", + "Глухий міст", + "Гоголя", + "Головківська", + "Головна", + "Гонтаренко", + "Горбатий міст", + "Горбиста", + "Горизонтальна", + "Горіхова", + "Городня", + "Госпітальний", + "Градоначальницька", + "Гранатна", + "Гранатний", + "Грецька", + "Грецька", + "Грецький", + "Грибоєдова", + "Грузинська", + "Грузовий", + "Давида Ойстраха", + "Далекосхідна", + "Дальницька", + "Дальницьке", + "Дальній", + "Дальня", + "Данила Крижанівського", + "Данькевича", + "Дача Ковалевського", + "Дачна", + "Дачний", + "Дачний 1-й", + "Дачний 2-й", + "Дворянська", + "Дев’ята", + "Деволанівська", + "Деволанівський узвіз", + "Дежньова", + "Декабристів", + "Дельфін", + "Дем’янова", + "Демократична", + "Депутатський", + "Деревообробна", + "Деревообробний 1-й", + "Деревообробний 2-й", + "Деревообробний 3-й", + "Деревообробний 4-й", + "Деревообробний 5-й", + "Державіна", + "Державіна", + "Дерибасівська", + "Десантний", + "Десята", + "Десятого квітня", + "Десятого квітня", + "Джерельна", + "Джутовий", + "Дзвінка", + "Дігтярна", + "Дідріхсона", + "Діхтієвського Віктора", + "Дмитрія Донського", + "Дмитрія Донського", + "Дніпровська", + "Дніпропетровська дорога", + "Дністровська", + "Добровольського", + "Довга", + "Довженка", + "Докова", + "Долинська", + "Донецька", + "Донцова Дмитра", + "Дорбуду", + "Дорожня", + "Достоєвського", + "Достоєвського", + "Друга", + "Дружний", + "Дубова", + "Дубовий гай", + "Дукова", + "Думська", + "Дунаєва", + "Дунаєвського", + "Дунаєвського 1-й", + "Дунаєвського 2-й", + "Дунаєвського 3-й", + "Дунайська", + "Дюківська", + "Дюківський сад", + "Економічний", + "Елеваторна", + "Естафетна", + "Естонська", + "Естонський", + "Єврейська", + "Єлисаветградський", + "Єліна", + "Єлісаветинська", + "Єнісейська", + "Єрмака", + "Єфімова", + "Жаботинського", + "Жасминна", + "Жевахова", + "Желябова", + "Житкова", + "Житомирська", + "Житомирський 3-й", + "Житомирський 4-й", + "Жоліо-Кюрі", + "Жолкова Бориса", + "Жуковського", + "Заводська", + "Заводська 1-ша", + "Заводська 2-га", + "Заводська 3-тя", + "Заводська 4-та", + "Заводська 5-та", + "Задніпровського", + "Закарпатська", + "Залізнична", + "Залізничний 3-й", + "Заньковецької", + "Запорізька", + "Зарічна", + "Західний 1-й", + "Західний 2-й", + "Західний 3-й", + "Західний 4-й", + "Зелена", + "Зелена балка", + "Зелена гірка", + "Зелений", + "Зернова", + "Злакова", + "Змієнка Всеволода", + "Зої Космодем’янської", + "Золотий берег", + "Зоопаркова", + "Зоринська", + "Зоряна", + "Івана Вазова", + "Івана Микитенка", + "Івана Франка", + "Івана Франка", + "Іванівська", + "Іванівський переїзд", + "Іванова", + "Іванова 1-й", + "Іванова 2-й", + "Іванова Ігоря", + "Івасюка Володимира", + "Івахненка Петра", + "Ільфа і Петрова", + "ім. С.Ю. Вітте", + "ім. К.Г. Паустовського", + "Інглезі", + "Індійська", + "Інтернаціональний", + "Іподромний", + "Іспанська", + "Іспанський", + "Історія Футболу", + "Італійський", + "Іцхака Рабіна", + "Йосипа Тимченка", + "Кавказька", + "Кавказький", + "Кавунова", + "Казанська", + "Казковий", + "Калинова", + "Калнишевського Петра", + "Каманіна", + "Каманіна", + "Камишова", + "Канатна", + "Канатний", + "Капітана Гаврікова", + "Капітана Кузнецова", + "Кар’єрна", + "Карантинна", + "Карантинний узвіз", + "Каретний", + "Каркашадзе", + "Карпатська", + "Картамишевська", + "Картамишевський", + "Касима Юрія", + "Каспійський", + "Катаєва", + "Катерининська", + "Катерининська", + "Каховський", + "Качалова", + "Каштанова", + "Квіткова", + "Квітковий", + "Квітнева", + "Кедровий", + "Керченська", + "Керченський 1-й", + "Керченський 2-й", + "Керченський 3-й", + "Кибальчича", + "Київське", + "Килимовий", + "Кипарисний 1-й", + "Кипарисний 2-й", + "Кипарисний 3-й", + "Китобійна", + "Китобійний 1-й", + "Китобійний 2-й", + "Кифоренка Бориса", + "Кишинівська", + "Кільовий", + "Кільцева", + "Кінна", + "Кісельова Ігоря", + "Кладовищенська", + "Кладовищний", + "Кленова", + "Клинова", + "Ключовий 1-й", + "Ключовий 2-й", + "Книжковий", + "Князівська", + "Князівський", + "Коблевська", + "Ковалевського", + "Ковалевського узвіз", + "Ковиловий", + "Колективний", + "Колекційна", + "Колонічна", + "Колонтаївська", + "Комітетська", + "Компасний", + "Композитора Глинки", + "Композитора Глинки", + "Композитора Ніщинського", + "Кондрашина", + "Кондренка", + "Конструкторський", + "Контрадмірала Луніна", + "Кордонна", + "Кордонний", + "Корнюшина", + "Короленка", + "Короткий", + "Косвена", + "Косий", + "Космонавта Комарова", + "Космонавтів", + "Косовська", + "Косовський", + "Костанді", + "Костанді 2-й", + "Костанді 3-й", + "Кострова", + "Косяченка Олексія", + "Котляревського", + "Коцебу міст", + "Коцюбинського", + "Кощового отамана", + "Крайня", + "Красива", + "Красна", + "Красний", + "Красних Зорь", + "Краснова", + "Красносільська", + "Краснослобідська", + "Краснослобідський", + "Кредитний", + "Кренкеля", + "Кривобалківська", + "Крижанівський", + "Крилова", + "Кримська", + "Кримський", + "Кристаловського", + "Кришталева", + "Кришталевий", + "Кропивницького", + "Кругова", + "Круговий", + "Крутоярська", + "Крушельницької", + "Кузнечна", + "Куликове поле", + "Куликовський 2-й", + "Куниці", + "Купріна", + "Курганська", + "Курортний", + "Курортний 6-й", + "Курська", + "Кустанайська", + "Кустанайський 2-й", + "Кутова", + "Кутузова", + "Куяльницький міст", + "Лавкова", + "Лазурний 1-й", + "Лазурний 2-й", + "Лазурний 3-й", + "Лазурний 4-й", + "Лазурний 5-й", + "Лазурний 6-й", + "Ламаний", + "Ланжерон", + "Ланжеронівська", + "Ланжеронівський узвіз", + "Латвійський узвіз", + "Левадна", + "Леваневського", + "Леваневського", + "Леваневського", + "Леваневського тупик", + "Левітана", + "Левкоєва", + "Лейтенанта Шмідта", + "Леонова", + "Леонтовича", + "Лермонтовський", + "Лермонтовський 2-й", + "Лесі Українки", + "Лесі Українки", + "Леха Качинського", + "Лиманна", + "Лиманний", + "Лиманчик 2-й Лінія 1-ша", + "Лиманчик 2-й Лінія 11-та", + "Лиманчик 2-й Лінія 2-га", + "Лиманчик 2-й Лінія 3-тя", + "Лиманчик 2-й Лінія 4-та", + "Лиманчик 2-й Лінія 5-та", + "Лиманчик 2-й Лінія 8-ма", + "Лиманчик 2-й Лінія 9-та", + "Лип Івана та Юрія", + "Липнева", + "Листяна", + "Листяний", + "Литовська", + "Ліверпульський", + "Лідерсівський", + "Лізи Чайкіної", + "Лінійна", + "Лінійний", + "Лїнія 1-ша", + "Лінія 22-га", + "Лінія 23-тя", + "Лінія 24-та", + "Лінія 25-та", + "Лінія 26-та", + "Лінія 27-ма", + "Лінія 28-ма", + "Лінія 29-та", + "Лінія 30-та", + "Лінія 31-ша", + "Лінія 32-га", + "Лінія 33-тя", + "Лінія 35-та", + "Лінія 36-та", + "Лінія 37-ма", + "Лінія 38-ма", + "Лінія 39-та", + "Лінія 40-ва", + "Лінія 41-ша", + "Лінія 42-га", + "Лінія 43-тя", + "Лінія 44-та", + "Лінія 45-та", + "Лінія 46-та", + "Лінія 47-ма", + "Лінія 48-ма", + "Лінія 49-та", + "Лінія 50-та", + "Лінія 51-ша", + "Лінія 52-га", + "Лінія 53-тя", + "Лінія 54-та", + "Лінія 55-та", + "Літакова", + "Літературна", + "Літній", + "Літня", + "Лобачевського", + "Лодочний", + "Локальна", + "Локомотивна", + "Локомотивний 1-й", + "Локомотивний 2-й", + "Локомотивний 3-й", + "Локомотивний 4-й", + "Ломоносова", + "Луганська", + "Лугова", + "Лузанівка", + "Лузанівка", + "Лузанівська", + "Лузанівський", + "Лузанівський 1-й", + "Лузанівський 2-й", + "Лунний", + "Луценка Івана", + "Луцька", + "Лучиста", + "Льва Симиренка", + "Льва Толстого", + "Льва Толстого", + "Львівська", + "Львівський", + "Любашівський", + "Людмили Гінзбург", + "Люстдорфська дорога", + "Люстдорфський", + "Лютеранський", + "Лютнева", + "Лютневий 1-й", + "Лютневий 2-й", + "Лядова", + "Ляпідевського", + "Ляпунова", + "М’ясоєдовська", + "Магістральна", + "Магнітогорська", + "Магнітогорський", + "Магнітогорський 2-й", + "Магнітогорський 3-й", + "Мазараті", + "Мазепи Івана", + "Майстерний", + "Макаренка", + "Макарова", + "Макова", + "Маковий", + "Мала", + "Мала Арнаутська", + "Мала Садова", + "Маланова", + "Малиновський", + "Маловського", + "Манежна", + "Манежний", + "Маразліївська", + "Марата", + "Марата 1-й", + "Марата 2-й", + "Маринеско узвіз", + "Мариністів", + "Марії Демченко", + "Марії Демченко", + "Марії Демченко 2-й", + "Маріїнська", + "Марсельська", + "Маршала Бабаджаняна", + "Маршала Говорова", + "Маршала Малиновського", + "Маршрутна", + "Матеріальний 1-й", + "Матроська Слобідка", + "Матроська Слобідка", + "Матроський узвіз", + "Матюшенка", + "Махачкалинська", + "Мацієвської", + "Мацієвської узвіз", + "Машинобудівний", + "Маяковського", + "Маячний", + "Мелітопольська", + "Мельницька", + "Металістів", + "Метрополітенівський", + "Мечникова", + "Мечникова", + "Мигдальна", + "Миколаївська дорога", + "Миколаївський 1-й", + "Миколи Бажана", + "Миколи Боровського", + "Миколи Вороного", + "Миколи Гефта", + "Миколи Гумільова", + "Миколи Огренича", + "Миколи Плигуна", + "Мирна", + "Митна", + "Митракова", + "Михайла Божія", + "Михайла Грушевського", + "Михайла Жванецького", + "Михайлівська", + "Михайлівська", + "Мінська", + "Місячна", + "Місячна", + "Міхновського Миколи", + "Міцкевича", + "Мічманський 1-й", + "Мічманський 2-й", + "Мічуріна", + "Мічуріна", + "Мічуріна", + "Могилівська", + "Молоді", + "Молодіжна", + "Молодіжна", + "Молодогвардійська", + "Молокова", + "Монастирський", + "Монгольська", + "Морехідна", + "Морехідний", + "Морська", + "Морський", + "Морський 2-й", + "Москвіна", + "Москеті", + "Мостовий", + "Моторна", + "Моторний 1-й", + "Моторний 2-й", + "Моторний 3-й", + "Мукачівський", + "Мусіна", + "Набережна", + "Навігаційний", + "Надіїі", + "Наклонна", + "Наливна", + "Нафтовиків", + "Нафтовиків", + "Нафтовиків 1-й", + "Нафтовиків 2-й", + "Нафтовиків 3-й", + "Нахімова", + "Наявний 1-й", + "Наявний 2-й", + "Наявний 3-й", + "Наявний 4-й", + "Наявний 5-й", + "Наявний 6-й", + "Наявний 7-й", + "Небесної Сотні", + "Недєліна", + "Нежданової", + "Нежданової", + "Незалежності", + "Некрасова", + "Немировича-Данченка", + "Неплія", + "Нерубайська", + "Нескучна", + "Нечипуренка", + "Ніжинська", + "Нікітіна", + "Нова", + "Нова", + "Нова", + "Новаторів", + "Новгородська", + "Новгородський", + "Новгородський 2-й", + "Новий", + "Новиков міст", + "Новикова", + "Новікова 2-га", + "Новобазарний", + "Новоберегова", + "Новомосковська дорога", + "Новоселів", + "Новоселів", + "Новосельского", + "Новоукраїнський", + "Новощіпний ряд", + "Об'їзна дорога", + "Обільна", + "Обільний 1-й", + "Обільний 2-й", + "Оборони Ленінграду", + "Обривиста", + "Обсерваторний", + "Овідіопольська", + "Овідіопольська дорога", + "Овідіопольська дуга", + "Овідіопольський", + "Одарія", + "Одеса-Головна", + "Одеська", + "Одеський", + "Озерна", + "Окружна", + "Олександра Блока", + "Олександра Вронського", + "Олександра Кутузакія", + "Олександра Матросова", + "Олександра Невського", + "Олександра Невського 1-й", + "Олександра Невського 2-й", + "Олександра Невського 3-й", + "Олександра Невського 4-й", + "Олександра Невського 5-й", + "Олександра Стурдзи", + "Олександра Тимошенка", + "Олександрівський", + "Олексіївська", + "Ольгіївська", + "Ольгіївський узвіз", + "Омська", + "Онезька", + "Онілової", + "Оранжерейний", + "Орликова", + "Орловська", + "Орловський", + "Осипова", + "Осіння", + "Остапа Вишні", + "Отамана Головатого", + "Отамана Чепіги", + "Отрада", + "Отрадна", + "Офіцерська", + "Офіцерський 1-й", + "Офіцерський 2-й", + "П'ята", + "Пiвденний", + "Павла Кравцова", + "Павла Шклярука", + "Павлова", + "Павлодарська", + "Палія Семена", + "Палубна", + "Палубний", + "Панаса Мирного", + "Пантелеймонівська", + "Панченка", + "Парашутний", + "Паркова", + "Парковий", + "Партизанська", + "Партизанської Слави", + "Парусна", + "Пассіонарії", + "Пастера", + "Патріотична", + "Паустовського", + "Педагогічна", + "Педагогічний", + "Пейзажна", + "Перемоги", + "Перемоги", + "Перепечка", + "Пересипський міст", + "Пересипська 1-ша", + "Пересипська 10-та", + "Пересипська 2-га", + "Пересипська 3-тя", + "Пересипська 4-та", + "Пересипська 5-та", + "Пересипська 6-та", + "Пересипська 7-ма", + "Пересипська 8-ма", + "Пересипська 9-та", + "Пересипський 1-й", + "Пересипський 2-й", + "Пересипський узвіз", + "Перлинна", + "Перша", + "Перший Кришталевий", + "Першотравневий 1-й", + "Першотравневий 2-й", + "Першотравневий 3-й", + "Пестеля", + "Пестеля", + "Петра Лещенка", + "Петрашевського", + "Пироговська", + "Пироговський", + "Писарева", + "Південна", + "Південна дорога", + "Південно-Санаторний", + "Північна", + "Північний", + "Підйомний", + "Пілотна", + "Пісочна", + "Пісочний", + "Пішонівська", + "Планетна", + "Платанова", + "Плієва", + "Пляжна", + "Побратимів", + "Подільська", + "Поїзна", + "Покровський", + "Ползунова 1-й", + "Ползунова 2-й", + "Політкаторжан", + "Політкаторжан", + "Полтавська", + "Полуничний", + "Польова", + "Польова", + "Польовий 1-й", + "Польська", + "Польський узвіз", + "Поперечний", + "Посівна", + "Посмітного", + "Поштова", + "Поштовий", + "Преображенська", + "Пресича Олександра", + "Пржевальського", + "Прибережний", + "Привозна", + "Привокзальна", + "Привокзальний", + "Приморська", + "Приморський", + "Приморський", + "Прирейкова", + "Проектна 1-ша", + "Проектна 2-га", + "Проектний 5-й", + "Проектований 3-й", + "Проектований 4-й", + "Проїзний 1-й", + "Проїзний 2-й", + "Проїзний 3-й", + "Прокатна", + "Пролетарський 3-й", + "Промислова", + "Промисловий", + "Прорізна", + "Прорізний", + "Просвіти", + "Просьолочна", + "Проточний", + "Професора Каришковського", + "Професора Коровицького", + "Профспілкова", + "Прохоровська", + "Прохоровський", + "Прохоровський", + "Проценка", + "Псковська", + "Псковський", + "Пугачова", + "Путьова", + "Пушкінська", + "ПшеничнаРадищева", + "Радіальна", + "Радіальний", + "Радіо", + "Радісна", + "Радісний", + "Разумовська", + "Раїси Сергієнко", + "Райдужна", + "Ракетна", + "Рачкова", + "Регенсбург", + "Рекордний", + "Рельєфна", + "Ремонтна", + "Республіканська", + "Рєпіна", + "Рибальська", + "Рибальська балка", + "Рибальський", + "Ризька", + "Рівний", + "Рівності", + "Рівності", + "Рівності 1-й", + "Рівності 2-й", + "Різдвяна", + "Різницький", + "Різовська", + "Рішельєвська", + "Рожева", + "Роздольна", + "Розкидайлівська", + "Розумовський 1-й", + "Розумовський 2-й", + "Романа Кармена", + "Романтиків", + "Романтичний", + "Ромашкова", + "Ростовська", + "Рощева", + "Рульовий", + "Сабанєєв", + "Сабанський", + "Савицький", + "Савранська", + "Садиковська", + "Садова", + "Садова 1-ша", + "Садова 2-га", + "Садова 3-тя", + "Садова 4-та", + "Садова 5-та", + "Садова 6-та", + "Садовий", + "Садовського", + "Саксаганського", + "Салтикова-Щедріна", + "Самарська", + "Самодіяльна", + "Санаторний", + "Санітарна", + "Сашка Хорошенка", + "Світанку", + "Світла", + "Світлий", + "Свободи", + "Святослава Ріхтера", + "Севастопольський", + "Сегедська", + "Селекційна", + "Селекційний", + "Селищна", + "Селищний", + "Семафорний", + "Семінарська", + "Сергія Ейзенштейна", + "Сергія Уточкіна", + "Сергія Ядова", + "Серединський", + "Середньофонтанська", + "Середньофонтанський", + "Середня", + "Сєрова", + "Сєрогодського", + "Сєченова", + "Сибірська", + "Сирітський", + "Сирітський 2-й", + "Сільська", + "Сільськогосподарський", + "Сімферопольська", + "Сінна", + "Скворцова", + "Скидановська", + "Скидановський узвіз", + "Складська", + "Скляна", + "Скляний 1-й", + "Скляний 2-й", + "Скляний 3-й", + "Скрипковий", + "Слави", + "Слави", + "Слєпньова", + "Сливова", + "Слобідська", + "Слобідський узвіз", + "Слов'янська", + "Сміливий", + "Смоленська", + "Собінова", + "Соборна", + "Совіньйонівський", + "Солонцюватий", + "Солонцюватий 1-й", + "Соляна", + "Соляний 1-й", + "Соляний 2-й", + "Соляний 3-й", + "Соляний 4-й", + "Соляний 5-й", + "Соляний 6-й", + "Соляний 7-й", + "Сонячна", + "Сонячна", + "Сортувальна 1-ша", + "Сортувальна 2-га", + "Сосюри", + "Софії Перовської", + "Софіївська", + "Соціальна", + "Спартаківська", + "Спартаківський", + "Спаський", + "Спиридонівська", + "Спортивна", + "Спортивний", + "Сталепрокатна", + "Стамбульський", + "Станційна 1-ша", + "Станційна 2-га", + "Станційна 3-тя", + "Старицького", + "Старобазарний", + "Старокінний", + "Старопортофранківська", + "Старорізнична", + "Старосінна", + "Стахановський 4-й", + "Стельмаха", + "Степана Олійника узвіз", + "Степана Разіна", + "Степна", + "Степний 2-й", + "Степова", + "Стеценко", + "Стєклова", + "Стовпова", + "Стороженка Олега", + "Стражеска Миколи", + "Строганов міст", + "Строганова", + "Студена", + "Студентський", + "Студентський 1-й", + "Студентський 2-й", + "Студентський 3-й", + "Студентський 4-й", + "Студентський 5-й", + "Суворовська", + "Суднобудівна", + "Суднобудівний", + "Сумська", + "Сумський", + "Суперфосфатна", + "Супутників", + "Сурикова", + "Сурикова 1-й", + "Сурикова 2-й", + "Сухолиманна", + "Східний", + "Східний 1-й", + "Східний 2-й", + "Східчастий 3-й", + "Східчастий 4-й", + "Східчастий", + "Сьома", + "Таїрова", + "Таїрова", + "Танкерна", + "Танкістів", + "Танфільєва", + "Тарутинська", + "Творча", + "Текстильників", + "Теліги Олени", + "Тепла", + "Теплична", + "Тепличний 1-й", + "Тепличний 2-й", + "Терещенка Володимира", + "Тетяни Тесс", + "Технічний", + "Тещин міст", + "Тимірязєва", + "Тимірязєва", + "Тимірязєва 3-й", + "Тимірязєва 4-й", + "Тимірязєва 5-й", + "Тираспольська", + "Тираспольська", + "Тираспольське", + "Тиха", + "Тіниста", + "Тінистий", + "Тінистий", + "Ткачова", + "Товарний", + "Толбухіна", + "Толбухіна", + "Толбухіна", + "Тополина", + "Тополиний", + "Топольського", + "Торгова", + "Травневий", + "Травневий 1-й", + "Травневий 2-й", + "Травневий 3-й", + "Травневий 4-й", + "Травневий 5-й", + "Тракторна", + "Трамвайна", + "Трамвайний", + "Транспортна", + "Траса Здоров'я", + "Троїцька", + "Троїцького Миколи", + "Тролейбусна", + "Трояндова", + "Трудова", + "Трудовий", + "Трудових резервів", + "Тульська", + "Тульська", + "Тупиковий", + "Тупиковий 1-й", + "Тупиковий 2-й", + "Тургенєва", + "Туристська", + "Туристський", + "Тюльпанний", + "Угорська", + "Удільний", + "Українська", + "Український 1-й", + "Український 2-й", + "Український 3-й", + "Улітіна", + "Уманська", + "Умова", + "Університетський", + "Уральська", + "Уральський", + "Урожайна", + "Усатівська", + "Успенська", + "Успенський", + "Утьосова", + "Училищна", + "Учительський", + "Учнівська", + "Ушакова", + "Ушинського", + "Уютна", + "Ф. Пішеніна", + "Фабрична", + "Фестивальний", + "Флотська", + "Флотський 1-й", + "Флотський 2-й", + "Флотський 3-й", + "Флотський 4-й", + "Фонтанська дорога", + "Французький", + "Фруктовий", + "Хаджибейська дорога", + "Хаджибейський 1-й", + "Хаджибейський 2-й", + "Хаджибейський 3-й", + "Харківська", + "Хвойний", + "Херсонський", + "Херсонський сквер", + "Хімічна", + "Хімічний 1-й", + "Хімічний 2-й", + "Хімічний 3-й", + "Хлібна гавань", + "Художника Федорова", + "Хутірська", + "Хутірський", + "Цебриківська", + "Цегельнозаводська", + "Цегляна", + "Цементний", + "Центральна", + "Центральний аеропорт", + "Церковна", + "Цимлянська", + "Ціолковського", + "Чайковського", + "Чапаєва", + "Чапаєва", + "Чапаєва", + "Чапаєва 2-й", + "Черепанових", + "Черепанових 2-й", + "Черешнева", + "Черкаська", + "Чернишевського", + "Чернівецький", + "Чернігівська", + "Чернігівський", + "Черняховського", + "Четверта", + "Чехова", + "Чорноморка", + "Чорноморська", + "Чорноморський", + "Чорноморський", + "Чорноморський 1-й", + "Чорноморський 10-й", + "Чорноморський 11-й", + "Чорноморський 12-й", + "Чорноморський 13-й", + "Чорноморський 2-й", + "Чорноморський 3-й", + "Чорноморський 4-й", + "Чорноморський 5-й", + "Чорноморський 6-й", + "Чорноморський 7-й", + "Чорноморський 8-й", + "Чорноморський 9-й", + "Чорноморського козацтва", + "Чубаївська", + "Чубаївський", + "Чумацька", + "Шампанський", + "Шахтинський", + "Шебелінський", + "Шевченка", + "Шевченка парк", + "Шептицікого", + "Шефська", + "Шилова", + "Ширшова", + "Ширяївський", + "Шишкіна", + "Шишкіна", + "Шишкіна 1-й", + "Шишкіна 2-й", + "Шишкіна 3-й", + "Шкільний", + "Шкільний аеродром", + "Шкіперська", + "Шкодова гора", + "Шовкуненка", + "Шовкуненка", + "Шолохова", + "Шоста", + "Шостої 1-й", + "Шостої 2-й", + "Шота Руставелі", + "Штабний", + "Штильова", + "Штурвальна", + "Штурманська", + "Шухевича Романа", + "Щіпний", + "Щоглова", + "Щоголєва", + "Щукіна", + "Ювілейний 1-й", + "Ювілейний 2-й", + "Юннатів", + "Юннатів 1-й", + "Юннатів 2-й", + "Юннатів 3-й", + "Юрженка Олександра", + "Юрія Олеші", + "Юрія Яновського", + "Юхима Геллера", + "Юхима Фесенка", + "Яблочкіної", + "Яблунева", + "Яблучна", + "Якірний", + "Якутська", + "Ялинкова", + "Ялинковий", + "Ямська", + "Ямчитського", + "Ярморочна площа", + "Яружний", + "Ясна", + "Яхненка Семена", + "Яші Гордієнка", ] - def city_prefix(self): + def city_prefix(self) -> str: return self.random_element(self.city_prefixes) - def postcode(self): + def city_name(self) -> str: + return self.random_element(self.city_names) + + def postcode(self) -> str: """The code consists of five digits (01000-99999)""" - return '{}{}'.format( - self.generator.random.randint( - 0, 10), self.generator.random.randint( - 1000, 10000)) + return f"{self.generator.random.randint(0, 10)}{self.generator.random.randint(1000, 10000)}" - def street_prefix(self): + def street_prefix(self) -> str: return self.random_element(self.street_prefixes) - def street_title(self): + def street_name(self) -> str: return self.random_element(self.street_titles) + + def street_title(self) -> str: + prefix = self.street_prefix() + street = self.street_name() + return prefix + " " + street + + def region(self) -> str: + return self.random_element(self.region_names) diff --git a/faker/providers/address/zh_CN/__init__.py b/faker/providers/address/zh_CN/__init__.py index e29017eea7..74de54fdb0 100644 --- a/faker/providers/address/zh_CN/__init__.py +++ b/faker/providers/address/zh_CN/__init__.py @@ -3,8 +3,7 @@ class Provider(AddressProvider): city_suffixes = ("市", "县") - city_formats = ("{{city_name}}{{city_suffix}}", - "{{first_name}}{{city_suffix}}") + city_formats = ("{{city_name}}{{city_suffix}}", "{{first_name}}{{city_suffix}}") district_formats = ("{{district}}区",) @@ -12,76 +11,439 @@ class Provider(AddressProvider): postcode_formats = ("%#####",) street_suffixes = ("街", "路") - street_name_formats = ("{{city_name}}{{street_suffix}}", - "{{last_name}}{{street_suffix}}") + street_name_formats = ( + "{{city_name}}{{street_suffix}}", + "{{last_name}}{{street_suffix}}", + ) street_address_formats = ("{{street_name}}{{building_number}}",) - address_formats = ( - "{{province}}{{city}}{{district}}{{street_address}} {{postcode}}",) + address_formats = ("{{province}}{{city}}{{district}}{{street_address}} {{postcode}}",) provinces = ( - "北京市", "上海市", "天津市", "重庆市", - "内蒙古自治区", "山西省", "河北省", "吉林省", "江苏省", "辽宁省", "黑龙江省", - "安徽省", "山东省", "浙江省", "江西省", "福建省", "湖南省", "湖北省", - "河南省", "广东省", "广西壮族自治区", "贵州省", "海南省", "四川省", "云南省", - "陕西省", "甘肃省", "宁夏回族自治区", "青海省", "新疆维吾尔自治区", "西藏自治区", - "台湾省", "香港特别行政区", "澳门特别行政区", + "北京市", + "上海市", + "天津市", + "重庆市", + "内蒙古自治区", + "山西省", + "河北省", + "吉林省", + "江苏省", + "辽宁省", + "黑龙江省", + "安徽省", + "山东省", + "浙江省", + "江西省", + "福建省", + "湖南省", + "湖北省", + "河南省", + "广东省", + "广西壮族自治区", + "贵州省", + "海南省", + "四川省", + "云南省", + "陕西省", + "甘肃省", + "宁夏回族自治区", + "青海省", + "新疆维吾尔自治区", + "西藏自治区", + "台湾省", + "香港特别行政区", + "澳门特别行政区", ) districts = ( - "西夏", "永川", "秀英", "高港", "清城", "兴山", "锡山", "清河", - "龙潭", "华龙", "海陵", "滨城", "东丽", "高坪", "沙湾", "平山", - "城北", "海港", "沙市", "双滦", "长寿", "山亭", "南湖", "浔阳", - "南长", "友好", "安次", "翔安", "沈河", "魏都", "西峰", "萧山", - "金平", "沈北新", "孝南", "上街", "城东", "牧野", "大东", - "白云", "花溪", "吉区", "新城", "怀柔", "六枝特", "涪城", - "清浦", "南溪", "淄川", "高明", "东城", "崇文", "朝阳", "大兴", - "房山", "门头沟", "黄浦", "徐汇", "静安", "普陀", "闵行", "和平", - "蓟州", "永川", "长寿", "璧山", "合川", "梁平", "丰都", "江北", + "西夏", + "永川", + "秀英", + "高港", + "清城", + "兴山", + "锡山", + "清河", + "龙潭", + "华龙", + "海陵", + "滨城", + "东丽", + "高坪", + "沙湾", + "平山", + "城北", + "海港", + "沙市", + "双滦", + "长寿", + "山亭", + "南湖", + "浔阳", + "南长", + "友好", + "安次", + "翔安", + "沈河", + "魏都", + "西峰", + "萧山", + "金平", + "沈北新", + "孝南", + "上街", + "城东", + "牧野", + "大东", + "白云", + "花溪", + "吉区", + "新城", + "怀柔", + "六枝特", + "涪城", + "清浦", + "南溪", + "淄川", + "高明", + "东城", + "崇文", + "朝阳", + "大兴", + "房山", + "门头沟", + "黄浦", + "徐汇", + "静安", + "普陀", + "闵行", + "和平", + "蓟州", + "永川", + "长寿", + "璧山", + "合川", + "梁平", + "丰都", + "江北", ) cities = ( - "北京", "上海", "天津", "重庆", "哈尔滨", "长春", "沈阳", "呼和浩特", - "石家庄", "乌鲁木齐", "兰州", "西宁", "西安", "银川", "郑州", "济南", "太原", - "合肥", "武汉", "长沙", "南京", "成都", "贵阳", "昆明", "南宁", "拉萨", - "杭州", "南昌", "广州", "福州", "台北", "海口", "香港", "澳门", "通辽", - "兴安盟", "太原", "辛集", "邯郸", "沈阳", "辽阳", "兴城", "北镇", "阜新", - "哈尔滨", "齐齐哈尔", "淮安", "张家港", "海门", "六安", "巢湖", "马鞍山", - "永安", "宁德", "嘉禾", "荆门", "潜江", "大冶", "宜都", "佛山", "深圳", - "潮州", "惠州", "汕尾", "东莞", "梧州", "柳州", "合山", "六盘水", "关岭") + "北京", + "上海", + "天津", + "重庆", + "哈尔滨", + "长春", + "沈阳", + "呼和浩特", + "石家庄", + "乌鲁木齐", + "兰州", + "西宁", + "西安", + "银川", + "郑州", + "济南", + "太原", + "合肥", + "武汉", + "长沙", + "南京", + "成都", + "贵阳", + "昆明", + "南宁", + "拉萨", + "杭州", + "南昌", + "广州", + "福州", + "台北", + "海口", + "香港", + "澳门", + "通辽", + "兴安盟", + "太原", + "辛集", + "邯郸", + "沈阳", + "辽阳", + "兴城", + "北镇", + "阜新", + "哈尔滨", + "齐齐哈尔", + "淮安", + "张家港", + "海门", + "六安", + "巢湖", + "马鞍山", + "永安", + "宁德", + "嘉禾", + "荆门", + "潜江", + "大冶", + "宜都", + "佛山", + "深圳", + "潮州", + "惠州", + "汕尾", + "东莞", + "梧州", + "柳州", + "合山", + "六盘水", + "关岭", + ) countries = ( - "阿富汗", "阿拉斯加", "阿尔巴尼亚", "阿尔及利亚", "安道尔", "安哥拉", "安圭拉岛英", "安提瓜和巴布达", - "阿根廷", "亚美尼亚", "阿鲁巴岛", "阿森松", "澳大利亚", "奥地利", "阿塞拜疆", "巴林", "孟加拉国", - "巴巴多斯", "白俄罗斯", "比利时", "伯利兹", "贝宁", "百慕大群岛", "不丹", "玻利维亚", "波斯尼亚和黑塞哥维那", - "博茨瓦纳", "巴西", "保加利亚", "布基纳法索", "布隆迪", "喀麦隆", "加拿大", "加那利群岛", "佛得角", - "开曼群岛", "中非", "乍得", "智利", "圣诞岛", "科科斯岛", "哥伦比亚", "巴哈马国", "多米尼克国", "科摩罗", - "刚果", "科克群岛", "哥斯达黎加", "克罗地亚", "古巴", "塞浦路斯", "捷克", "丹麦", "迪戈加西亚岛", "吉布提", - "多米尼加共和国", "厄瓜多尔", "埃及", "萨尔瓦多", "赤道几内亚", "厄立特里亚", "爱沙尼亚", "埃塞俄比亚", "福克兰群岛", - "法罗群岛", "斐济", "芬兰", "法国", "法属圭亚那", "法属波里尼西亚", "加蓬", "冈比亚", "格鲁吉亚", "德国", "加纳", - "直布罗陀", "希腊", "格陵兰岛", "格林纳达", "瓜德罗普岛", "关岛", "危地马拉", "几内亚", "几内亚比绍", "圭亚那", - "海地", "夏威夷", "洪都拉斯", "匈牙利", "冰岛", "印度", "印度尼西亚", "伊郎", "伊拉克", "爱尔兰", "以色列", - "意大利", "科特迪瓦", "牙买加", "日本", "约旦", "柬埔塞", "哈萨克斯坦", "肯尼亚", "基里巴斯", "朝鲜", "韩国", - "科威特", "吉尔吉斯斯坦", "老挝", "拉脱维亚", "黎巴嫩", "莱索托", "利比里亚", "利比亚", "列支敦士登", "立陶宛", - "卢森堡", "马其顿", "马达加斯加", "马拉维", "马来西亚", "马尔代夫", "马里", "马耳他", "马里亚纳群岛", "马绍尔群岛", - "马提尼克", "毛里塔尼亚", "毛里求斯", "马约特岛", "墨西哥", "密克罗尼西亚", "中途岛", "摩尔多瓦", "摩纳哥", "蒙古", - "蒙特塞拉特岛", "摩洛哥", "莫桑比克", "缅甸", "纳米比亚", "瑙鲁", "尼泊尔", "荷兰", "荷属安的列斯群岛", "新喀里多尼亚群岛", - "新西兰", "尼加拉瓜", "尼日尔", "尼日利亚", "纽埃岛", "诺福克岛", "挪威", "阿曼", "帕劳", "巴拿马", "巴布亚新几内亚", - "巴拉圭", "秘鲁", "菲律宾", "波兰", "葡萄牙", "巴基斯坦", "波多黎各", "卡塔尔", "留尼汪岛", "罗马尼亚", "俄罗斯", - "卢旺达", "东萨摩亚", "西萨摩亚", "圣马力诺", "圣皮埃尔岛及密克隆岛", "圣多美和普林西比", "沙特阿拉伯", "塞内加尔", - "塞舌尔", "新加坡", "斯洛伐克", "斯洛文尼亚", "所罗门群岛", "索马里", "南非", "西班牙", "斯里兰卡", "圣克里斯托弗和尼维斯", - "圣赫勒拿", "圣卢西亚", "圣文森特岛", "苏丹", "苏里南", "斯威士兰", "瑞典", "瑞士", "叙利亚", "塔吉克斯坦", "坦桑尼亚", - "泰国", "阿拉伯联合酋长国", "多哥", "托克劳群岛", "汤加", "特立尼达和多巴哥", "突尼斯", "土耳其", "土库曼斯坦", - "特克斯和凯科斯群岛", "图瓦卢", "美国", "乌干达", "乌克兰", "英国", "乌拉圭", "乌兹别克斯坦", "瓦努阿图", - "梵蒂冈", "委内瑞拉", "越南", "维尔京群岛", "维尔京群岛和圣罗克伊", "威克岛", "瓦里斯和富士那群岛", "西撒哈拉", - "也门", "南斯拉夫", "扎伊尔", "赞比亚", "桑给巴尔", "津巴布韦", "中华人民共和国", "中国", + "阿富汗", + "阿拉斯加", + "阿尔巴尼亚", + "阿尔及利亚", + "安道尔", + "安哥拉", + "安圭拉岛英", + "安提瓜和巴布达", + "阿根廷", + "亚美尼亚", + "阿鲁巴岛", + "阿森松", + "澳大利亚", + "奥地利", + "阿塞拜疆", + "巴林", + "孟加拉国", + "巴巴多斯", + "白俄罗斯", + "比利时", + "伯利兹", + "贝宁", + "百慕大群岛", + "不丹", + "玻利维亚", + "波斯尼亚和黑塞哥维那", + "博茨瓦纳", + "巴西", + "保加利亚", + "布基纳法索", + "布隆迪", + "喀麦隆", + "加拿大", + "加那利群岛", + "佛得角", + "开曼群岛", + "中非", + "乍得", + "智利", + "圣诞岛", + "科科斯岛", + "哥伦比亚", + "巴哈马国", + "多米尼克国", + "科摩罗", + "刚果", + "科克群岛", + "哥斯达黎加", + "克罗地亚", + "古巴", + "塞浦路斯", + "捷克", + "丹麦", + "迪戈加西亚岛", + "吉布提", + "多米尼加共和国", + "厄瓜多尔", + "埃及", + "萨尔瓦多", + "赤道几内亚", + "厄立特里亚", + "爱沙尼亚", + "埃塞俄比亚", + "福克兰群岛", + "法罗群岛", + "斐济", + "芬兰", + "法国", + "法属圭亚那", + "法属波里尼西亚", + "加蓬", + "冈比亚", + "格鲁吉亚", + "德国", + "加纳", + "直布罗陀", + "希腊", + "格陵兰岛", + "格林纳达", + "瓜德罗普岛", + "关岛", + "危地马拉", + "几内亚", + "几内亚比绍", + "圭亚那", + "海地", + "夏威夷", + "洪都拉斯", + "匈牙利", + "冰岛", + "印度", + "印度尼西亚", + "伊郎", + "伊拉克", + "爱尔兰", + "以色列", + "意大利", + "科特迪瓦", + "牙买加", + "日本", + "约旦", + "柬埔塞", + "哈萨克斯坦", + "肯尼亚", + "基里巴斯", + "朝鲜", + "韩国", + "科威特", + "吉尔吉斯斯坦", + "老挝", + "拉脱维亚", + "黎巴嫩", + "莱索托", + "利比里亚", + "利比亚", + "列支敦士登", + "立陶宛", + "卢森堡", + "马其顿", + "马达加斯加", + "马拉维", + "马来西亚", + "马尔代夫", + "马里", + "马耳他", + "马里亚纳群岛", + "马绍尔群岛", + "马提尼克", + "毛里塔尼亚", + "毛里求斯", + "马约特岛", + "墨西哥", + "密克罗尼西亚", + "中途岛", + "摩尔多瓦", + "摩纳哥", + "蒙古", + "蒙特塞拉特岛", + "摩洛哥", + "莫桑比克", + "缅甸", + "纳米比亚", + "瑙鲁", + "尼泊尔", + "荷兰", + "荷属安的列斯群岛", + "新喀里多尼亚群岛", + "新西兰", + "尼加拉瓜", + "尼日尔", + "尼日利亚", + "纽埃岛", + "诺福克岛", + "挪威", + "阿曼", + "帕劳", + "巴拿马", + "巴布亚新几内亚", + "巴拉圭", + "秘鲁", + "菲律宾", + "波兰", + "葡萄牙", + "巴基斯坦", + "波多黎各", + "卡塔尔", + "留尼汪岛", + "罗马尼亚", + "俄罗斯", + "卢旺达", + "东萨摩亚", + "西萨摩亚", + "圣马力诺", + "圣皮埃尔岛及密克隆岛", + "圣多美和普林西比", + "沙特阿拉伯", + "塞内加尔", + "塞舌尔", + "新加坡", + "斯洛伐克", + "斯洛文尼亚", + "所罗门群岛", + "索马里", + "南非", + "西班牙", + "斯里兰卡", + "圣克里斯托弗和尼维斯", + "圣赫勒拿", + "圣卢西亚", + "圣文森特岛", + "苏丹", + "苏里南", + "斯威士兰", + "瑞典", + "瑞士", + "叙利亚", + "塔吉克斯坦", + "坦桑尼亚", + "泰国", + "阿拉伯联合酋长国", + "多哥", + "托克劳群岛", + "汤加", + "特立尼达和多巴哥", + "突尼斯", + "土耳其", + "土库曼斯坦", + "特克斯和凯科斯群岛", + "图瓦卢", + "美国", + "乌干达", + "乌克兰", + "英国", + "乌拉圭", + "乌兹别克斯坦", + "瓦努阿图", + "梵蒂冈", + "委内瑞拉", + "越南", + "维尔京群岛", + "维尔京群岛和圣罗克伊", + "威克岛", + "瓦里斯和富士那群岛", + "西撒哈拉", + "也门", + "南斯拉夫", + "扎伊尔", + "赞比亚", + "桑给巴尔", + "津巴布韦", + "中华人民共和国", + "中国", ) - def building_number(self): + def building_number(self) -> str: return self.lexify(self.random_element(self.building_number_formats)) - def city_name(self): + def city_name(self) -> str: return self.random_element(self.cities) - def province(self): + def administrative_unit(self) -> str: return self.random_element(self.provinces) - def district(self): + province = administrative_unit + + def district(self) -> str: return self.random_element(self.districts) diff --git a/faker/providers/address/zh_TW/__init__.py b/faker/providers/address/zh_TW/__init__.py index 7202e2a8e5..6ba612936e 100644 --- a/faker/providers/address/zh_TW/__init__.py +++ b/faker/providers/address/zh_TW/__init__.py @@ -6,106 +6,383 @@ class Provider(AddressProvider): building_number_formats = ("%號", "%#號", "%##號") postcode_formats = ("%####", "%##") section_formats = ("", "", "", "", "%段") - street_address_formats = ( - "{{street_name}}{{street_name_suffix}}{{section_number}}{{building_number}}", ) - address_formats = ( - "{{postcode}} {{city}}{{street_address}}{{secondary_address}}", ) - secondary_address_formats = ('#樓', '之#') + street_address_formats = ("{{street_name}}{{street_name_suffix}}{{section_number}}{{building_number}}",) + address_formats = ("{{postcode}} {{city}}{{street_address}}{{secondary_address}}",) + secondary_address_formats = ("#樓", "之#") - street_names = ("中正", "中山", "民生", "中華", "和平", - "中興", "仁愛", "復興", "民族", "民權", - "忠孝", "信義", "成功", "新興", "新生", - "動物園", "淡水", "新生", "文化", "大同", - "三民", "新生", "光復", "自強", "光明", - "公園", "文山", "松山", "新店", "建國", - "西門", "古亭", "迴龍", "中山", "新莊", - "蘆洲", "永安", "四維", "大橋頭", "府中", - "福德", "大同", "文昌", "土城", "博愛", - "象山", "光華", "太平", "水源", "莒光", - "廣慈", "大仁", "中央", "大智", "林森", - "長春", "南", "劍南", "大坪", "國凱" - "八德", "天母", "東興", "勝利", "頂福州", - "東湖", "大勇", "民有", "自由", "長安", - "明德", "大安", "龍山寺", "德", "忠義", - "中和", "自由", "新埔", "永和", "延平", - "正義", "五福", "華興", "育英", "平和", - "福安", "小碧潭", "永寧", "育英", "興", - "自立", "民享", "昆陽", "民治", "關渡", - "學府", "奇岩", "紅樹林", "和街", "民富", - "關渡", "北投", "石牌", "芝山", "景美", - "士林", "劍潭", "雙連", "新北投", "萬隆") + street_names = ( + "中正", + "中山", + "民生", + "中華", + "和平", + "中興", + "仁愛", + "復興", + "民族", + "民權", + "忠孝", + "信義", + "成功", + "新興", + "新生", + "動物園", + "淡水", + "新生", + "文化", + "大同", + "三民", + "新生", + "光復", + "自強", + "光明", + "公園", + "文山", + "松山", + "新店", + "建國", + "西門", + "古亭", + "迴龍", + "中山", + "新莊", + "蘆洲", + "永安", + "四維", + "大橋頭", + "府中", + "福德", + "大同", + "文昌", + "土城", + "博愛", + "象山", + "光華", + "太平", + "水源", + "莒光", + "廣慈", + "大仁", + "中央", + "大智", + "林森", + "長春", + "南", + "劍南", + "大坪", + "國凱" "八德", + "天母", + "東興", + "勝利", + "頂福州", + "東湖", + "大勇", + "民有", + "自由", + "長安", + "明德", + "大安", + "龍山寺", + "德", + "忠義", + "中和", + "自由", + "新埔", + "永和", + "延平", + "正義", + "五福", + "華興", + "育英", + "平和", + "福安", + "小碧潭", + "永寧", + "育英", + "興", + "自立", + "民享", + "昆陽", + "民治", + "關渡", + "學府", + "奇岩", + "紅樹林", + "和街", + "民富", + "關渡", + "北投", + "石牌", + "芝山", + "景美", + "士林", + "劍潭", + "雙連", + "新北投", + "萬隆", + ) street_suffixes = ("路", "街", "巷") - cities = ("基隆", "台北", "新北", "桃園", "新竹", - "新竹", "苗栗", "台中", "彰化", "南投", - "雲林", "嘉義", "桃園", "台南", "高雄", - "屏東", "台東", "花蓮", "宜蘭", "澎湖", - "金門", "連江", "太保", "朴子", "馬公", - "頭份", "臺東", "斗六", "員林", "竹北", - "平鎮", "臺中", "八德", "板橋", "大里", - "鳳山", "豐原", "蘆洲", "蘆竹", "三重", - "樹林", "太平", "新營", "新營", "汐止", - "楊梅", "永和", "永康", "中和", "中壢", - "阿里山", "白沙", "褒忠", "北斗", "北竿", - "北港", "卑南", "草屯", "梅山", "牡丹", - "橫山", "光復", "關山", "古坑", "竹田") + cities = ( + "基隆", + "台北", + "新北", + "桃園", + "新竹", + "新竹", + "苗栗", + "台中", + "彰化", + "南投", + "雲林", + "嘉義", + "桃園", + "台南", + "高雄", + "屏東", + "台東", + "花蓮", + "宜蘭", + "澎湖", + "金門", + "連江", + "太保", + "朴子", + "馬公", + "頭份", + "臺東", + "斗六", + "員林", + "竹北", + "平鎮", + "臺中", + "八德", + "板橋", + "大里", + "鳳山", + "豐原", + "蘆洲", + "蘆竹", + "三重", + "樹林", + "太平", + "新營", + "新營", + "汐止", + "楊梅", + "永和", + "永康", + "中和", + "中壢", + "阿里山", + "白沙", + "褒忠", + "北斗", + "北竿", + "北港", + "卑南", + "草屯", + "梅山", + "牡丹", + "橫山", + "光復", + "關山", + "古坑", + "竹田", + ) city_suffixes = ("市", "縣") # from - countries = ("阿爾巴尼亞", "剛果共和國", "阿爾及利亞", "丹麥", - "安哥拉", "多明尼加", "安圭拉", "多米尼克", - "阿根廷", "厄瓜多爾", "亞美尼亞", "埃及", - "阿路巴", "薩爾瓦多", "澳大利亞", "厄利垂亞", - "奧地利", "愛沙尼亞", "亞塞拜然", "衣索匹亞", - "巴哈馬", "斐濟", "巴林", "芬蘭", "孟加拉", "法屬玻里尼西亞", - "法國", "巴貝多", "加彭", "白俄羅斯", "喬治亞", - "比利時", "德國", "貝里斯", "迦納", "貝南", "直布羅陀", - "百慕達", "英國", "不丹", "希臘", "玻利維亞", "格瑞那達", - "波希尼亞及赫塞哥維那", "瓜地馬拉", "波札那", "幾內亞", - "巴西", "蓋亞那", "汶萊", "海地", "保加利亞", "宏都拉斯", - "布吉納法索", "香港", "蒲隆地", "匈牙利", "柬埔寨", "冰島", - "喀麥隆", "印度", "加拿大", "印尼", "維德角島", "依朗", - "開曼群島", "伊拉克", "中非共和國", "愛爾蘭", "查德", "以色列", - "智利", "義大利", "中國大陸", "牙買加", "哥倫比亞", "日本", - "剛果", "約旦", "科克群島", "肯亞", "哥斯大黎加", "韓國", - "象牙海岸", "科威特", "克羅埃西亞", "寮國", "塞浦路斯", "拉脫維亞", - "捷克", "賴索托", "盧森堡", "聖露西亞", "澳門", "聖文森及格瑞那丁", - "馬其頓", "聖多美及普林西比", "馬達加斯加", "沙烏地阿拉伯", - "馬拉威", "塞內加爾", "馬來西亞", "塞席爾", "馬爾地夫", "獅子山", - "馬利", "新加坡", "馬爾他", "斯洛伐克", "模里西斯", "斯洛維尼亞", - "茅利塔尼亞", "索羅門群島", "墨西哥", "索馬利亞", - "摩爾多瓦", "南非", "蒙古", "西班牙", "摩洛哥", "斯里蘭卡", - "緬甸", "蘇丹", "納米比亞", "蘇利南", "諾魯", "史瓦濟蘭", - "尼泊爾", "瑞典", "荷蘭", "瑞士", "新喀里多尼亞", "敘利亞", - "紐西蘭", "坦尚尼亞", "尼日", "泰國", "奈及利亞", "多哥", - "挪威", "千里達及托貝哥", "阿曼", "突尼西亞", "巴基斯坦", "土耳其", - "巴拿馬", "烏干達", "巴布亞紐幾內亞", "烏克蘭", - "巴拉圭", "阿拉伯聯合大公國", "秘魯", "美國", "菲律賓", "烏拉圭", - "波蘭", "委內瑞拉", "葡萄牙", "越南", "卡達", "西薩摩亞", - "羅馬尼亞", "葉門", "俄羅斯", "尚比亞", "盧安達", "辛巴威", - "聖克里斯多福及尼維斯") + countries = ( + "阿爾巴尼亞", + "剛果共和國", + "阿爾及利亞", + "丹麥", + "安哥拉", + "多明尼加", + "安圭拉", + "多米尼克", + "阿根廷", + "厄瓜多爾", + "亞美尼亞", + "埃及", + "阿路巴", + "薩爾瓦多", + "澳大利亞", + "厄利垂亞", + "奧地利", + "愛沙尼亞", + "亞塞拜然", + "衣索匹亞", + "巴哈馬", + "斐濟", + "巴林", + "芬蘭", + "孟加拉", + "法屬玻里尼西亞", + "法國", + "巴貝多", + "加彭", + "白俄羅斯", + "喬治亞", + "比利時", + "德國", + "貝里斯", + "迦納", + "貝南", + "直布羅陀", + "百慕達", + "英國", + "不丹", + "希臘", + "玻利維亞", + "格瑞那達", + "波希尼亞及赫塞哥維那", + "瓜地馬拉", + "波札那", + "幾內亞", + "巴西", + "蓋亞那", + "汶萊", + "海地", + "保加利亞", + "宏都拉斯", + "布吉納法索", + "香港", + "蒲隆地", + "匈牙利", + "柬埔寨", + "冰島", + "喀麥隆", + "印度", + "加拿大", + "印尼", + "維德角島", + "依朗", + "開曼群島", + "伊拉克", + "中非共和國", + "愛爾蘭", + "查德", + "以色列", + "智利", + "義大利", + "中國大陸", + "牙買加", + "哥倫比亞", + "日本", + "剛果", + "約旦", + "科克群島", + "肯亞", + "哥斯大黎加", + "韓國", + "象牙海岸", + "科威特", + "克羅埃西亞", + "寮國", + "塞浦路斯", + "拉脫維亞", + "捷克", + "賴索托", + "盧森堡", + "聖露西亞", + "澳門", + "聖文森及格瑞那丁", + "馬其頓", + "聖多美及普林西比", + "馬達加斯加", + "沙烏地阿拉伯", + "馬拉威", + "塞內加爾", + "馬來西亞", + "塞席爾", + "馬爾地夫", + "獅子山", + "馬利", + "新加坡", + "馬爾他", + "斯洛伐克", + "模里西斯", + "斯洛維尼亞", + "茅利塔尼亞", + "索羅門群島", + "墨西哥", + "索馬利亞", + "摩爾多瓦", + "南非", + "蒙古", + "西班牙", + "摩洛哥", + "斯里蘭卡", + "緬甸", + "蘇丹", + "納米比亞", + "蘇利南", + "諾魯", + "史瓦濟蘭", + "尼泊爾", + "瑞典", + "荷蘭", + "瑞士", + "新喀里多尼亞", + "敘利亞", + "紐西蘭", + "坦尚尼亞", + "尼日", + "泰國", + "奈及利亞", + "多哥", + "挪威", + "千里達及托貝哥", + "阿曼", + "突尼西亞", + "巴基斯坦", + "土耳其", + "巴拿馬", + "烏干達", + "巴布亞紐幾內亞", + "烏克蘭", + "巴拉圭", + "阿拉伯聯合大公國", + "秘魯", + "美國", + "菲律賓", + "烏拉圭", + "波蘭", + "委內瑞拉", + "葡萄牙", + "越南", + "卡達", + "西薩摩亞", + "羅馬尼亞", + "葉門", + "俄羅斯", + "尚比亞", + "盧安達", + "辛巴威", + "聖克里斯多福及尼維斯", + ) - def secondary_address(self): - return self.numerify( - self.random_element( - self.secondary_address_formats)) + def secondary_address(self) -> str: + return self.numerify(self.random_element(self.secondary_address_formats)) - def building_number(self): + def building_number(self) -> str: return self.numerify(self.random_element(self.building_number_formats)) - def street_name(self): + def street_name(self) -> str: return self.random_element(self.street_names) - def street_name_suffix(self): + def street_name_suffix(self) -> str: return self.random_element(self.street_suffixes) - def city_name(self): + def city_name(self) -> str: return self.random_element(self.cities) - def city_name_suffix(self): + def city_name_suffix(self) -> str: return self.random_element(self.city_suffixes) - def section_number(self): + def section_number(self) -> str: return self.numerify(self.random_element(self.section_formats)) diff --git a/faker/providers/automotive/__init__.py b/faker/providers/automotive/__init__.py index d83a7cd46f..4a3156e34c 100644 --- a/faker/providers/automotive/__init__.py +++ b/faker/providers/automotive/__init__.py @@ -2,7 +2,7 @@ from string import ascii_uppercase -from .. import BaseProvider +from .. import BaseProvider, ElementsType localized = True @@ -10,11 +10,13 @@ class Provider(BaseProvider): """Implement default automotive provider for Faker.""" - license_formats = () + license_formats: ElementsType = () - def license_plate(self): + def license_plate(self) -> str: """Generate a license plate.""" - temp = re.sub(r'\?', - lambda x: self.random_element(ascii_uppercase), - self.random_element(self.license_formats)) + temp = re.sub( + r"\?", + lambda x: self.random_element(ascii_uppercase), + self.random_element(self.license_formats), + ) return self.numerify(temp) diff --git a/faker/providers/automotive/ar_JO/__init__.py b/faker/providers/automotive/ar_JO/__init__.py index 3432c64d07..c258108229 100644 --- a/faker/providers/automotive/ar_JO/__init__.py +++ b/faker/providers/automotive/ar_JO/__init__.py @@ -10,38 +10,44 @@ class Provider(AutomotiveProvider): """ license_formats = ( - '{{initials}}-####', - '{{initials}}-#####', + "{{initials}}-####", + "{{initials}}-#####", ) - def initials(self): + def initials(self) -> str: """Generate an initial number for license plates.""" - return self.random_element([ - '1', # Ministers - '2', '3', # Parliament - '5', # General Government - - '6', # Aqaba free zone - '7', '8', # Diplomatic - '9', # Temporary - '10', '23', # Passenger cars - '38', '39', # Crew cabs - '41', '42', # Light goods vehicles - '44', # Tractors - '46', # Motorcycles and scooters - '50', # Taxi - '56', # Small buses - '58', # Coaches - '60', # HGVs - '70', # Rental Cars - '71', # Trailer - '90', # Army - '95', # Ambulance - '96', # Gendarmerie - '99', # Police - ]) - - def license_plate(self): + return self.random_element( + [ + "1", # Ministers + "2", + "3", # Parliament + "5", # General Government + "6", # Aqaba free zone + "7", + "8", # Diplomatic + "9", # Temporary + "10", + "23", # Passenger cars + "38", + "39", # Crew cabs + "41", + "42", # Light goods vehicles + "44", # Tractors + "46", # Motorcycles and scooters + "50", # Taxi + "56", # Small buses + "58", # Coaches + "60", # HGVs + "70", # Rental Cars + "71", # Trailer + "90", # Army + "95", # Ambulance + "96", # Gendarmerie + "99", # Police + ] + ) + + def license_plate(self) -> str: """Generate a license plate.""" - pattern = self.random_element(self.license_formats) + pattern: str = self.random_element(self.license_formats) return self.numerify(self.generator.parse(pattern)) diff --git a/faker/providers/automotive/ar_PS/__init__.py b/faker/providers/automotive/ar_PS/__init__.py index be5845d9e0..2d9f3f4689 100644 --- a/faker/providers/automotive/ar_PS/__init__.py +++ b/faker/providers/automotive/ar_PS/__init__.py @@ -11,57 +11,54 @@ class Provider(AutomotiveProvider): license_formats = ( # Private vehicles - '{{district}}-####-3#', - '{{district}}-####-4#', - '{{district}}-####-7#', - '{{district}}-####-9#', + "{{district}}-####-3#", + "{{district}}-####-4#", + "{{district}}-####-7#", + "{{district}}-####-9#", # Public transport - '{{district}}-####-30', + "{{district}}-####-30", # Authority vehicles - '####', + "####", # New police vehicles - '####-99', - + "####-99", # Gaza strip after 2012 - # Private - '1-####-0#', - '3-####-0#', + "1-####-0#", + "3-####-0#", # Commercial - '1-####-1#', - '3-####-1#', + "1-####-1#", + "3-####-1#", # Public - '1-####-2#', - '3-####-2#', + "1-####-2#", + "3-####-2#", # Municipal - '1-####-4#', - '3-####-4#', + "1-####-4#", + "3-####-4#", # Governmental, and Governmental personal vehicles - '1-####-5#', - '3-####-5#', + "1-####-5#", + "3-####-5#", ) - def district(self): + def district(self) -> str: """Generate a district code for license plates.""" - return self.random_element([ - # Gaza Strip - '1', - '3', - - # Northern West Bank (Nablus, Tulkarm, Qalqilya, Jenin) - '4', - '7', - - # Central West Bank (Ramallah, Jerusalem, Jericho) - '5', - '6', - - # Southern West Bank (Bethlehem, Hebron) - '8', - '9', - ]) + return self.random_element( + [ + # Gaza Strip + "1", + "3", + # Northern West Bank (Nablus, Tulkarm, Qalqilya, Jenin) + "4", + "7", + # Central West Bank (Ramallah, Jerusalem, Jericho) + "5", + "6", + # Southern West Bank (Bethlehem, Hebron) + "8", + "9", + ] + ) - def license_plate(self): + def license_plate(self) -> str: """Generate a license plate.""" - pattern = self.random_element(self.license_formats) + pattern: str = self.random_element(self.license_formats) return self.numerify(self.generator.parse(pattern)) diff --git a/faker/providers/automotive/ar_SA/__init__.py b/faker/providers/automotive/ar_SA/__init__.py index e0cd953dd7..6b7ee49e4a 100644 --- a/faker/providers/automotive/ar_SA/__init__.py +++ b/faker/providers/automotive/ar_SA/__init__.py @@ -14,50 +14,50 @@ class Provider(AutomotiveProvider): :meth:`license_plate_en()` """ - LICENSE_FORMAT_EN = '#### ???' - LICENSE_FORMAT_AR = '? ? ? ####' + LICENSE_FORMAT_EN = "#### ???" + LICENSE_FORMAT_AR = "? ? ? ####" - PLATE_CHARS_EN = 'ABDEGHJKLNRSTUVXZ' - PLATE_CHARS_AR = 'أبدعقهحكلنرسطوىصم' + PLATE_CHARS_EN = "ABDEGHJKLNRSTUVXZ" + PLATE_CHARS_AR = "أبدعقهحكلنرسطوىصم" PLATE_MAP = { - 'A': 'ا', - 'B': 'ب', - 'D': 'د', - 'E': 'ع', - 'G': 'ق', - 'H': 'ه', - 'J': 'ح', - 'K': 'ك', - 'L': 'ل', - 'N': 'ن', - 'R': 'ر', - 'S': 'س', - 'T': 'ط', - 'U': 'و', - 'V': 'ى', - 'X': 'ص', - 'Z': 'م', - - '0': '٠', - '1': '١', - '2': '٢', - '3': '٣', - '4': '٤', - '5': '٥', - '6': '٦', - '7': '٧', - '8': '٨', - '9': '٩', + "A": "ا", + "B": "ب", + "D": "د", + "E": "ع", + "G": "ق", + "H": "ه", + "J": "ح", + "K": "ك", + "L": "ل", + "N": "ن", + "R": "ر", + "S": "س", + "T": "ط", + "U": "و", + "V": "ى", + "X": "ص", + "Z": "م", + "0": "٠", + "1": "١", + "2": "٢", + "3": "٣", + "4": "٤", + "5": "٥", + "6": "٦", + "7": "٧", + "8": "٨", + "9": "٩", } - def license_plate_en(self): + def license_plate_en(self) -> str: """Generate a license plate in Latin/Western characters.""" return self.bothify( - self.LICENSE_FORMAT_EN, letters=self.PLATE_CHARS_EN, + self.LICENSE_FORMAT_EN, + letters=self.PLATE_CHARS_EN, ) - def license_plate_ar(self): + def license_plate_ar(self) -> str: """Generate a license plate in Arabic characters. This method first generates a license plate in Latin/Western characters @@ -68,32 +68,22 @@ def license_plate_ar(self): english_plate = self.license_plate_en() return self._translate_license_plate(english_plate) - def _translate_license_plate(self, license_plate): + def _translate_license_plate(self, license_plate: str) -> str: nums = list(reversed(license_plate[0:4])) chars = list(license_plate[5:8]) numerated = re.sub( - r'\#', + r"\#", lambda x: self.PLATE_MAP[nums.pop()], self.LICENSE_FORMAT_AR, ) ar_plate = re.sub( - r'\?', + r"\?", lambda x: self.PLATE_MAP[chars.pop()], numerated, ) return ar_plate - def license_plate(self): - """Generate a license plate. - - This method first generates a license plate in Latin/Western characters - using |license_plate_en|, and the result is translated internally to - generate the Arabic counterpart. A 2-tuple containing those results - will serve as the return value. - """ - en_palate = self.license_plate_en() - ar_palate = self._translate_license_plate(en_palate) - - return en_palate, ar_palate + def license_plate(self, ar: bool = True) -> str: + return self.license_plate_ar() if ar else self.license_plate_en() diff --git a/faker/providers/automotive/de_DE/__init__.py b/faker/providers/automotive/de_DE/__init__.py index 4ce8434a34..7bf5bb73a2 100644 --- a/faker/providers/automotive/de_DE/__init__.py +++ b/faker/providers/automotive/de_DE/__init__.py @@ -12,39 +12,419 @@ class Provider(AutomotiveProvider): """ license_plate_prefix = ( - 'A', 'AA', 'AB', 'ABI', 'ABG', 'AC', 'AE', 'AIC', 'AK', 'AM', 'AN', 'AÖ', 'AP', 'AS', 'AUR', 'AW', 'AZ', 'B', - 'BA', 'BAD', 'BAR', 'BB', 'BC', 'BD', 'BGL', 'BI', 'BIR', 'BIT', 'BK', 'BL', 'BLK', 'BM', 'BN', 'BO', 'BOR', - 'BOT', 'BP', 'BRA', 'BRB', 'BS', 'BT', 'BTF', 'BÜS', 'BW', 'BWL', 'BYL', 'BZ', 'C', 'CB', 'CE', 'CHA', 'CO', - 'COC', 'COE', 'CUX', 'CW', 'D', 'DA', 'DAH', 'DAN', 'DAU', 'DBR', 'DD', 'DE', 'DEG', 'DEL', 'DGF', 'DH', 'DL', - 'DLG', 'DN', 'Do', 'DON', 'DU', 'DÜW', 'E', 'EA', 'EB', 'EBE', 'ED', 'EE', 'EF', 'EI', 'EIC', 'EL', 'EM', 'EMD', - 'EMS', 'EN', 'ER', 'ERB', 'ERH', 'ERZ', 'ES', 'ESW', 'EU', 'F', 'FB', 'FD', 'FDS', 'FF', 'FFB', 'FG', 'FL', - 'FN', 'FO', 'FR', 'FRG', 'FRI', 'FS', 'FT', 'FÜ', 'G', 'GAP', 'GE', 'GER', 'GF', 'GG', 'GI', 'GL', 'GM', 'GÖ', - 'GP', 'GR', 'GRZ', 'GS', 'GT', 'GTH', 'GÜ', 'GZ', 'H', 'HA', 'HAL', 'HAM', 'HAS', 'HB', 'HBN', 'HD', 'HDH', - 'HE', 'HEF', 'HEI', 'HEL', 'HER', 'HF', 'HG', 'HGW', 'HH', 'HI', 'HL', 'HM', 'HN', 'HO', 'HOL', 'HOM', 'HP', - 'HR', 'HRO', 'HS', 'HSK', 'HST', 'HU', 'HVL', 'HWI', 'HX', 'HZ', 'IGB', 'IK', 'IN', 'IZ', 'J', 'JL', 'K', 'KA', - 'KB', 'KC', 'KE', 'KEH', 'KF', 'KG', 'KH', 'KI', 'KIB', 'KL', 'KLE', 'KN', 'KO', 'KR', 'KS', 'KT', 'KU', 'KÜN', - 'KUS', 'KYF', 'L', 'LA', 'LAU', 'LB', 'LD', 'LDK', 'LDS', 'LER', 'LEV', 'LG', 'LI', 'LIF', 'LIP', 'LL', 'LM', - 'LÖ', 'LOS', 'LRO', 'LSA', 'LSN', 'LU', 'LWL', 'M', 'MA', 'MB', 'MD', 'ME', 'MEI', 'MG', 'MI', 'MIL', 'MK', - 'MKK', 'MM', 'MN', 'MOL', 'MOS', 'MR', 'MS', 'MSH', 'MSP', 'MST', 'MTK', 'MÜ', 'MÜR', 'MVL', 'MYK', 'MZ', 'MZG', - 'N', 'NB', 'ND', 'NDH', 'NE', 'NEA', 'NES', 'NEW', 'NF', 'NI', 'NK', 'NL', 'NM', 'NMS', 'NOH', 'NOM', 'NR', - 'NU', 'NVP', 'NW', 'NWM', 'OA', 'OAL', 'OB', 'OD', 'OE', 'OF', 'OG', 'OH', 'OHA', 'OHV', 'OHZ', 'OL', 'OPR', - 'OS', 'OSL', 'OVP', 'P', 'PA', 'PAF', 'PAN', 'PB', 'PCH', 'PE', 'PF', 'PI', 'PIR', 'PLÖ', 'PM', 'PR', 'PS', 'R', - 'RA', 'RD', 'RE', 'REG', 'RO', 'ROS', 'ROW', 'RP', 'RPL', 'RS', 'RT', 'RÜD', 'RÜG', 'RV', 'RW', 'RZ', 'S', - 'SAD', 'SAL', 'SAW', 'SB', 'SC', 'SDL', 'SE', 'SG', 'SH', 'SHA', 'SHG', 'SHK', 'SHL', 'SI', 'SIG', 'SIM', 'SK', - 'SL', 'SLF', 'SLK', 'SLS', 'SM', 'SN', 'SO', 'SOK', 'SÖM', 'SON', 'SP', 'SPN', 'SR', 'ST', 'STA', 'STD', 'SU', - 'SÜW', 'SW', 'SZ', 'TDO', 'TBB', 'TF', 'TG', 'THL', 'THW', 'TIR', 'TÖL', 'TR', 'TS', 'TÜ', 'TUT', 'UE', 'UL', - 'UM', 'UN', 'V', 'VB', 'VEC', 'VER', 'VIE', 'VK', 'VR', 'VS', 'W', 'WAF', 'WAK', 'WB', 'WE', 'WEN', 'WES', 'WF', - 'WHV', 'WI', 'WIL', 'WL', 'WM', 'WN', 'WND', 'WO', 'WOB', 'WST', 'WT', 'WTM', 'WÜ', 'WUG', 'WUN', 'WW', 'WZ', - 'Y', 'Z', 'ZW', + "A", + "AA", + "AB", + "ABI", + "ABG", + "AC", + "AE", + "AIC", + "AK", + "AM", + "AN", + "AÖ", + "AP", + "AS", + "AUR", + "AW", + "AZ", + "B", + "BA", + "BAD", + "BAR", + "BB", + "BC", + "BD", + "BGL", + "BI", + "BIR", + "BIT", + "BK", + "BL", + "BLK", + "BM", + "BN", + "BO", + "BOR", + "BOT", + "BP", + "BRA", + "BRB", + "BS", + "BT", + "BTF", + "BÜS", + "BW", + "BWL", + "BYL", + "BZ", + "C", + "CB", + "CE", + "CHA", + "CO", + "COC", + "COE", + "CUX", + "CW", + "D", + "DA", + "DAH", + "DAN", + "DAU", + "DBR", + "DD", + "DE", + "DEG", + "DEL", + "DGF", + "DH", + "DL", + "DLG", + "DN", + "Do", + "DON", + "DU", + "DÜW", + "E", + "EA", + "EB", + "EBE", + "ED", + "EE", + "EF", + "EI", + "EIC", + "EL", + "EM", + "EMD", + "EMS", + "EN", + "ER", + "ERB", + "ERH", + "ERZ", + "ES", + "ESW", + "EU", + "F", + "FB", + "FD", + "FDS", + "FF", + "FFB", + "FG", + "FL", + "FN", + "FO", + "FR", + "FRG", + "FRI", + "FS", + "FT", + "FÜ", + "G", + "GAP", + "GE", + "GER", + "GF", + "GG", + "GI", + "GL", + "GM", + "GÖ", + "GP", + "GR", + "GRZ", + "GS", + "GT", + "GTH", + "GÜ", + "GZ", + "H", + "HA", + "HAL", + "HAM", + "HAS", + "HB", + "HBN", + "HD", + "HDH", + "HE", + "HEF", + "HEI", + "HEL", + "HER", + "HF", + "HG", + "HGW", + "HH", + "HI", + "HL", + "HM", + "HN", + "HO", + "HOL", + "HOM", + "HP", + "HR", + "HRO", + "HS", + "HSK", + "HST", + "HU", + "HVL", + "HWI", + "HX", + "HZ", + "IGB", + "IK", + "IN", + "IZ", + "J", + "JL", + "K", + "KA", + "KB", + "KC", + "KE", + "KEH", + "KF", + "KG", + "KH", + "KI", + "KIB", + "KL", + "KLE", + "KN", + "KO", + "KR", + "KS", + "KT", + "KU", + "KÜN", + "KUS", + "KYF", + "L", + "LA", + "LAU", + "LB", + "LD", + "LDK", + "LDS", + "LER", + "LEV", + "LG", + "LI", + "LIF", + "LIP", + "LL", + "LM", + "LÖ", + "LOS", + "LRO", + "LSA", + "LSN", + "LU", + "LWL", + "M", + "MA", + "MB", + "MD", + "ME", + "MEI", + "MG", + "MI", + "MIL", + "MK", + "MKK", + "MM", + "MN", + "MOL", + "MOS", + "MR", + "MS", + "MSH", + "MSP", + "MST", + "MTK", + "MÜ", + "MÜR", + "MVL", + "MYK", + "MZ", + "MZG", + "N", + "NB", + "ND", + "NDH", + "NE", + "NEA", + "NES", + "NEW", + "NF", + "NI", + "NK", + "NL", + "NM", + "NMS", + "NOH", + "NOM", + "NR", + "NU", + "NVP", + "NW", + "NWM", + "OA", + "OAL", + "OB", + "OD", + "OE", + "OF", + "OG", + "OH", + "OHA", + "OHV", + "OHZ", + "OL", + "OPR", + "OS", + "OSL", + "OVP", + "P", + "PA", + "PAF", + "PAN", + "PB", + "PCH", + "PE", + "PF", + "PI", + "PIR", + "PLÖ", + "PM", + "PR", + "PS", + "R", + "RA", + "RD", + "RE", + "REG", + "RO", + "ROS", + "ROW", + "RP", + "RPL", + "RS", + "RT", + "RÜD", + "RÜG", + "RV", + "RW", + "RZ", + "S", + "SAD", + "SAL", + "SAW", + "SB", + "SC", + "SDL", + "SE", + "SG", + "SH", + "SHA", + "SHG", + "SHK", + "SHL", + "SI", + "SIG", + "SIM", + "SK", + "SL", + "SLF", + "SLK", + "SLS", + "SM", + "SN", + "SO", + "SOK", + "SÖM", + "SON", + "SP", + "SPN", + "SR", + "ST", + "STA", + "STD", + "SU", + "SÜW", + "SW", + "SZ", + "TDO", + "TBB", + "TF", + "TG", + "THL", + "THW", + "TIR", + "TÖL", + "TR", + "TS", + "TÜ", + "TUT", + "UE", + "UL", + "UM", + "UN", + "V", + "VB", + "VEC", + "VER", + "VIE", + "VK", + "VR", + "VS", + "W", + "WAF", + "WAK", + "WB", + "WE", + "WEN", + "WES", + "WF", + "WHV", + "WI", + "WIL", + "WL", + "WM", + "WN", + "WND", + "WO", + "WOB", + "WST", + "WT", + "WTM", + "WÜ", + "WUG", + "WUN", + "WW", + "WZ", + "Y", + "Z", + "ZW", ) license_plate_suffix = ( - '-??-%@@@', - '-?-%@@@', + "-??-%@@@", + "-?-%@@@", ) - def license_plate(self): + def license_plate(self) -> str: """Generate a license plate.""" - prefix = self.random_element(self.license_plate_prefix) - suffix = self.bothify(self.random_element(self.license_plate_suffix), letters=string.ascii_uppercase) + prefix: str = self.random_element(self.license_plate_prefix) + suffix = self.bothify( + self.random_element(self.license_plate_suffix), + letters=string.ascii_uppercase, + ) return prefix + suffix diff --git a/faker/providers/automotive/el_GR/__init__.py b/faker/providers/automotive/el_GR/__init__.py new file mode 100644 index 0000000000..98067dd698 --- /dev/null +++ b/faker/providers/automotive/el_GR/__init__.py @@ -0,0 +1,23 @@ +import re + +from .. import Provider as AutomotiveProvider + + +class Provider(AutomotiveProvider): + """Implement automotive provider for ``el_GR`` locale.""" + + uppercase_letters = "ABEZHIKMNOPTYX" + + license_formats = ( + "??? ####", + "?? ####", + ) + + def license_plate(self) -> str: + """Generate a license plate.""" + temp = re.sub( + r"\?", + lambda x: self.random_element(self.uppercase_letters), + self.random_element(self.license_formats), + ) + return self.numerify(temp) diff --git a/faker/providers/automotive/en_CA/__init__.py b/faker/providers/automotive/en_CA/__init__.py index 62ca8432ca..d918d4d37d 100644 --- a/faker/providers/automotive/en_CA/__init__.py +++ b/faker/providers/automotive/en_CA/__init__.py @@ -11,35 +11,35 @@ class Provider(AutomotiveProvider): license_formats = ( # Alberta - '???-####', + "???-####", # BC - '??# ##?', - '?? ####', + "??# ##?", + "?? ####", # Manitoba - '??? ###', + "??? ###", # New Brunswick - '??? ###', + "??? ###", # Newfoundland and Labrador - '??? ###', + "??? ###", # NWT - '######', + "######", # Nova Scotia - '??? ###', + "??? ###", # Nunavut - '### ###', + "### ###", # Ontario - '### ???', - '???? ###', - '??# ###', - '### #??', - '?? ####', - 'GV??-###', + "### ???", + "???? ###", + "??# ###", + "### #??", + "?? ####", + "GV??-###", # PEI - '## ##??', + "## ##??", # Quebec - '?## ???', + "?## ???", # Saskatchewan - '### ???', + "### ???", # Yukon - '???##', + "???##", ) diff --git a/faker/providers/automotive/en_GB/__init__.py b/faker/providers/automotive/en_GB/__init__.py index 082a6f11dc..ab96dd7f9e 100644 --- a/faker/providers/automotive/en_GB/__init__.py +++ b/faker/providers/automotive/en_GB/__init__.py @@ -10,6 +10,6 @@ class Provider(AutomotiveProvider): """ license_formats = ( - '??## ???', - '??##???', + "??## ???", + "??##???", ) diff --git a/faker/providers/automotive/en_NZ/__init__.py b/faker/providers/automotive/en_NZ/__init__.py index 7bb81d74f6..2802d627af 100644 --- a/faker/providers/automotive/en_NZ/__init__.py +++ b/faker/providers/automotive/en_NZ/__init__.py @@ -11,22 +11,22 @@ class Provider(AutomotiveProvider): license_formats = ( # Old plates - '??%##', - '??%###', - '??%###', + "??%##", + "??%###", + "??%###", # Three letters since 2002 - 'A??%##', - 'B??%##', - 'C??%##', - 'D??%##', - 'E??%##', - 'F??%##', - 'G??%##', - 'H??%##', - 'J??%##', - 'K??%##', - 'L??%##', - 'M??%##', + "A??%##", + "B??%##", + "C??%##", + "D??%##", + "E??%##", + "F??%##", + "G??%##", + "H??%##", + "J??%##", + "K??%##", + "L??%##", + "M??%##", # After 2018 - 'N??%##', + "N??%##", ) diff --git a/faker/providers/automotive/en_PH/__init__.py b/faker/providers/automotive/en_PH/__init__.py index 97b4a907df..f78c0f9fa8 100644 --- a/faker/providers/automotive/en_PH/__init__.py +++ b/faker/providers/automotive/en_PH/__init__.py @@ -1,4 +1,5 @@ from string import ascii_uppercase +from typing import List from ... import BaseProvider @@ -18,21 +19,21 @@ class Provider(BaseProvider): - https://en.wikipedia.org/wiki/Vehicle_registration_plates_of_the_Philippines """ - protocol_licenses = tuple(str(x) for x in range(1, 18) if x != 15) - motorcycle_license_formats = ( - '??####', # 1981 series - '??#####', # 2014 series - ) - automobile_license_formats = ( - '???###', # 1981 series - '???####', # 2014 series - ) + protocol_licenses = [str(x) for x in range(1, 18) if x != 15] + motorcycle_license_formats = [ + "??####", # 1981 series + "??#####", # 2014 series + ] + automobile_license_formats = [ + "???###", # 1981 series + "???####", # 2014 series + ] license_formats = motorcycle_license_formats + automobile_license_formats - def _license_plate(self, license_format): + def _license_plate(self, license_format: List[str]) -> str: return self.bothify(self.random_element(license_format), ascii_uppercase) - def protocol_license_plate(self): + def protocol_license_plate(self) -> str: """Generate a protocol license plate. .. note:: @@ -41,7 +42,7 @@ def protocol_license_plate(self): """ return self.random_element(self.protocol_licenses) - def motorcycle_license_plate(self): + def motorcycle_license_plate(self) -> str: """Generate a motorcycle license plate. .. note:: @@ -50,7 +51,7 @@ def motorcycle_license_plate(self): """ return self._license_plate(self.motorcycle_license_formats) - def automobile_license_plate(self): + def automobile_license_plate(self) -> str: """Generate an automobile license plate. .. note:: @@ -59,7 +60,7 @@ def automobile_license_plate(self): """ return self._license_plate(self.automobile_license_formats) - def license_plate(self): + def license_plate(self) -> str: """Generate a license plate. .. note:: diff --git a/faker/providers/automotive/en_US/__init__.py b/faker/providers/automotive/en_US/__init__.py index 78ad358063..5cd6a01e6a 100644 --- a/faker/providers/automotive/en_US/__init__.py +++ b/faker/providers/automotive/en_US/__init__.py @@ -11,158 +11,158 @@ class Provider(AutomotiveProvider): license_formats = ( # Alabama - '#??####', - '##??###', + "#??####", + "##??###", # Alaska - '### ???', + "### ???", # American Samoa - '####', + "####", # Arizona - '???####', + "???####", # Arkansas - '### ???', - '###???', + "### ???", + "###???", # California - '#???###', + "#???###", # Colarado - '###-???', - '???-###', + "###-???", + "???-###", # Conneticut - '###-???', + "###-???", # Delaware - '######', + "######", # DC - '??-####', + "??-####", # Florda - '??? ?##', - '### ???', - '?## #??', - '### #??', + "??? ?##", + "### ???", + "?## #??", + "### #??", # Georgia - '???####', + "???####", # Guam - '?? ####', + "?? ####", # Hawaii - '??? ###', - 'H?? ###', - 'Z?? ###', - 'K?? ###', - 'L?? ###', - 'M?? ###', + "??? ###", + "H?? ###", + "Z?? ###", + "K?? ###", + "L?? ###", + "M?? ###", # Idaho - '? ######', - '#? #####', - '#? ?####', - '#? ??###', - '#? #?#???', - '#? ####?', - '##? ####', + "? ######", + "#? #####", + "#? ?####", + "#? ??###", + "#? #?#???", + "#? ####?", + "##? ####", # Illinois - '?? #####', - '??# ####', + "?? #####", + "??# ####", # Indiana - '###?', - '###??', - '###???', + "###?", + "###??", + "###???", # Iowa - '??? ###', + "??? ###", # Kansas - '### ???', + "### ???", # Kentucky - '### ???', + "### ???", # Louisiana - '### ???', + "### ???", # Maine - '#### ??', + "#### ??", # Maryland - '#??####', + "#??####", # Massachusetts - '#??? ##', - '#?? ###', - '### ??#', - '##? ?##', + "#??? ##", + "#?? ###", + "### ??#", + "##? ?##", # Michigan - '### ???', - '#?? ?##', + "### ???", + "#?? ?##", # Minnesota - '###-???', + "###-???", # Mississippi - '??? ###', + "??? ###", # Missouri - '??# ?#?', + "??# ?#?", # Montana - '#-#####?', - '##-####?', + "#-#####?", + "##-####?", # Nebraska - '??? ###', - '#-?####', - '##-?###', - '##-??##', + "??? ###", + "#-?####", + "##-?###", + "##-??##", # Nevada - '##?•###', + "##?•###", # New Hampshire - '### ####', + "### ####", # New Jersey - '?##-???', + "?##-???", # New Mexico - '###-???', - '???-###', + "###-???", + "???-###", # New York - '???-####', + "???-####", # North Carolina - '###-????', + "###-????", # North Dakota - '### ???', + "### ???", # Nothern Mariana Islands - '??? ###', + "??? ###", # Ohio - '??? ####', + "??? ####", # Oklahoma - '???-###', + "???-###", # Oregon - '### ???', + "### ???", # Pennsylvania - '???-####', + "???-####", # Peurto Rico - '???-###', + "???-###", # Rhode Island - '###-###', + "###-###", # South Carolina - '### #??', + "### #??", # South Dakota - '#?? ###', - '#?? ?##', - '##? ###', - '##? ?##', - '##? ??#', + "#?? ###", + "#?? ?##", + "##? ###", + "##? ?##", + "##? ??#", # Tennessee - '?##-##?', + "?##-##?", # Texas - '???-####', + "???-####", # Utah - '?## #??', - '?## #??', + "?## #??", + "?## #??", # Vermont - '??? ###', - '##??#', - '#??##', - '###?#', - '#?###', + "??? ###", + "##??#", + "#??##", + "###?#", + "#?###", # US Virgin Islands - '??? ###', + "??? ###", # Virginia - '???-####', + "???-####", # Washington - '???####', - '###-???', + "???####", + "###-???", # West Virginia - '#?? ###', - '??? ###', + "#?? ###", + "??? ###", # Wisconsin - '???-####', - '###-???', + "???-####", + "###-???", # Wyoming - '#-#####', - '#-####?', - '##-#####', + "#-#####", + "#-####?", + "##-#####", ) diff --git a/faker/providers/automotive/es_ES/__init__.py b/faker/providers/automotive/es_ES/__init__.py index 6df6c72d47..d78c976e60 100644 --- a/faker/providers/automotive/es_ES/__init__.py +++ b/faker/providers/automotive/es_ES/__init__.py @@ -2,6 +2,8 @@ import re +from typing import Optional + from .. import Provider as AutomotiveProvider @@ -21,7 +23,7 @@ class Provider(AutomotiveProvider): license_formats = ( # New format - '#### ???', + "#### ???", ) # New format suffix letters (excluding vocals and Q from ascii uppercase) @@ -32,15 +34,15 @@ class Provider(AutomotiveProvider): # Province prefixes (for old format) province_prefix = ( - "A", # Alicante + "A", # Alicante "AB", # Albacete "AL", # Almería "AV", # Ávila - "B", # Barcelona + "B", # Barcelona "BA", # Badajoz "BI", # Bilbao "BU", # Burgos - "C", # La Coruña + "C", # La Coruña "CA", # Cádiz "CC", # Cáceres "CS", # Castellón de la Plana @@ -53,66 +55,67 @@ class Provider(AutomotiveProvider): "GI", # Girona (since 1992) "GR", # Granada "GU", # Guadalajara - "H", # Huelva + "H", # Huelva "HU", # Huesca "PM", # Palma de Mallorca (until 1997) "IB", # Islas Baleares (since 1997) - "J", # Jaén - "L", # Lleida + "J", # Jaén + "L", # Lleida "LE", # León "LO", # Logroño "LU", # Lugo - "M", # Madrid + "M", # Madrid "MA", # Málaga "ML", # Melilla "MU", # Murcia - "O", # Oviedo + "O", # Oviedo "OR", # Ourense (until 1998) "OU", # Ourense (since 1998) - "P", # Palencia + "P", # Palencia "NA", # Navarra "PO", # Pontevedra - "S", # Santander + "S", # Santander "SA", # Salamanca "SE", # Sevilla "SG", # Segovia "SO", # Soria "SS", # Donostia/San Sebastián - "T", # Tarragona + "T", # Tarragona "TE", # Teruel "TF", # Santa Cruz de Tenerife "TO", # Toledo - "V", # Valencia + "V", # Valencia "VA", # Valladolid "VI", # Vitoria - "Z", # Zaragoza + "Z", # Zaragoza "ZA", # Zamora ) - def license_plate_unified(self): + def license_plate_unified(self) -> str: """Generate a unified license plate.""" - temp = re.sub(r'\?', - lambda x: self.random_element( - self.license_plate_new_format_suffix_letters), - self.license_formats[0]) + temp = re.sub( + r"\?", + lambda x: self.random_element(self.license_plate_new_format_suffix_letters), + self.license_formats[0], + ) return self.numerify(temp) - def license_plate_by_province(self, province_prefix=None): + def license_plate_by_province(self, province_prefix: Optional[str] = None) -> str: """Generate a provincial license plate. If a value for ``province_prefix`` is provided, the value will be used as the prefix regardless of validity. If ``None``, then a valid prefix will be selected at random. """ - province_prefix = province_prefix if province_prefix is not None else \ - self.random_element(self.province_prefix) - temp = re.sub(r'\?', - lambda x: self.random_element( - self.license_plate_old_format_suffix_letters), - "#### ??") + province_prefix = province_prefix if province_prefix is not None else self.random_element(self.province_prefix) + temp = re.sub( + r"\?", + lambda x: self.random_element(self.license_plate_old_format_suffix_letters), + "#### ??", + ) return province_prefix + " " + self.numerify(temp) - def license_plate(self): + def license_plate(self) -> str: """Generate a license plate. This method randomly chooses (50/50) between |license_plate_unified| diff --git a/faker/providers/automotive/fr_FR/__init__.py b/faker/providers/automotive/fr_FR/__init__.py index 36476b5bd1..0118c145ff 100644 --- a/faker/providers/automotive/fr_FR/__init__.py +++ b/faker/providers/automotive/fr_FR/__init__.py @@ -11,7 +11,7 @@ class Provider(AutomotiveProvider): license_formats = ( # New format - '??-###-??', + "??-###-??", # Old format for plates < 2009 - '###-???-##', + "###-???-##", ) diff --git a/faker/providers/automotive/he_IL/__init__.py b/faker/providers/automotive/he_IL/__init__.py new file mode 100644 index 0000000000..0609f62ddc --- /dev/null +++ b/faker/providers/automotive/he_IL/__init__.py @@ -0,0 +1,11 @@ +from .. import Provider as AutomotiveProvider + + +class Provider(AutomotiveProvider): + """Implement automotive provider for ``he_IL`` locale.""" + + """ Source : https://en.wikipedia.org/wiki/Vehicle_registration_plates_of_Israel """ + license_formats = ( + "###-##-###", + "##-###-##", + ) diff --git a/faker/providers/automotive/hu_HU/__init__.py b/faker/providers/automotive/hu_HU/__init__.py index 5aade7c3fb..a046723acf 100644 --- a/faker/providers/automotive/hu_HU/__init__.py +++ b/faker/providers/automotive/hu_HU/__init__.py @@ -9,6 +9,4 @@ class Provider(AutomotiveProvider): - https://en.wikipedia.org/wiki/Vehicle_registration_plates_of_Hungary """ - license_formats = ( - '???-###', - ) + license_formats = ("???-###",) diff --git a/faker/providers/automotive/id_ID/__init__.py b/faker/providers/automotive/id_ID/__init__.py index 84833cde2b..6f7d50f6c3 100644 --- a/faker/providers/automotive/id_ID/__init__.py +++ b/faker/providers/automotive/id_ID/__init__.py @@ -5,12 +5,12 @@ class Provider(AutomotiveProvider): """Implement automotive provider for ``id_ID`` locale.""" license_formats = ( - '? ### ??', - '? ### ???', - '?? ### ??', - '?? ### ???', - '? #### ??', - '? #### ???', - '?? #### ??', - '?? #### ???', + "? ### ??", + "? ### ???", + "?? ### ??", + "?? ### ???", + "? #### ??", + "? #### ???", + "?? #### ??", + "?? #### ???", ) diff --git a/faker/providers/automotive/nl_NL/__init__.py b/faker/providers/automotive/nl_NL/__init__.py new file mode 100644 index 0000000000..0dbab37f2d --- /dev/null +++ b/faker/providers/automotive/nl_NL/__init__.py @@ -0,0 +1,77 @@ +import re +import string + +from .. import Provider as AutomotiveProvider + + +class Provider(AutomotiveProvider): + """Implement automotive provider for `nl_NL` locale. + + Sources: + - https://en.wikipedia.org/wiki/Vehicle_registration_plates_of_the_Netherlands + - https://www.cbs.nl/en-gb/figures/detail/82044eng + + .. |license_plate_car| replace:: + :meth:`license_plate_car() ` + + .. |license_plate_motorbike| replace:: + :meth:`license_plate_motorbike() ` + """ + + # License formats for cars / other vehicles than motorbikes + license_formats = ( + # Format 6 + "##-%?-??", + # Format 7 + "##-%??-#", + # Format 8 + "#-@??-##", + # Format 9 + "%?-###-?", + # Format 10 + "%-###-??", + ) + + # License formats for motorbikes. + # According to CBS, approximately 10% of road vehicles in the Netherlands are motorbikes + license_formats_motorbike = ( + "M?-??-##", + "##-M?-??", + ) + + # Base first letters of format + license_plate_prefix_letters = "BDFGHJKLNPRSTVXZ" + + # For Format 8 (9-XXX-99) "BDFGHJLNPR" are not used, + # as to not clash with former export license plates + license_plate_prefix_letters_format_8 = "KSTVXZ" + + def license_plate_motorbike(self) -> str: + """Generate a license plate for motorbikes.""" + return self.bothify( + self.random_element(self.license_formats_motorbike), + letters=string.ascii_uppercase, + ) + + def license_plate_car(self) -> str: + """Generate a license plate for cars.""" + # Replace % with license_plate_prefix_letters + temp = re.sub( + r"\%", + self.random_element(self.license_plate_prefix_letters), + self.random_element(self.license_formats), + ) + + # Replace @ with license_plate_prefix_letters_format_8 + temp = re.sub(r"\@", self.random_element(self.license_plate_prefix_letters_format_8), temp) + + return self.bothify(temp, letters=string.ascii_uppercase) + + def license_plate(self) -> str: + """Generate a license plate. + This method randomly chooses 10% between |license_plate_motorbike| + or 90% |license_plate_car| to generate the result. + """ + if self.generator.random.random() < 0.1: + return self.license_plate_motorbike() + return self.license_plate_car() diff --git a/faker/providers/automotive/no_NO/__init__.py b/faker/providers/automotive/no_NO/__init__.py index 8fc3109e17..e268814c25 100644 --- a/faker/providers/automotive/no_NO/__init__.py +++ b/faker/providers/automotive/no_NO/__init__.py @@ -11,5 +11,5 @@ class Provider(AutomotiveProvider): license_formats = ( # Classic format - '?? #####', + "?? #####", ) diff --git a/faker/providers/automotive/pl_PL/__init__.py b/faker/providers/automotive/pl_PL/__init__.py index 304280ee9c..0ecd733a5f 100644 --- a/faker/providers/automotive/pl_PL/__init__.py +++ b/faker/providers/automotive/pl_PL/__init__.py @@ -1,3 +1,5 @@ +from typing import List + from .. import Provider as AutomotiveProvider @@ -10,23 +12,23 @@ class Provider(AutomotiveProvider): """ license_formats = ( - '?? #####', - '?? ####?', - '?? ###??', - '?? #?###', - '?? #??##', - '??? ?###', - '??? ##??', - '??? #?##', - '??? ##?#', - '??? #??#', - '??? ??##', - '??? #####', - '??? ####?', - '??? ###??', + "?? #####", + "?? ####?", + "?? ###??", + "?? #?###", + "?? #??##", + "??? ?###", + "??? ##??", + "??? #?##", + "??? ##?#", + "??? #??#", + "??? ??##", + "??? #####", + "??? ####?", + "??? ###??", ) - def license_plate_regex_formats(self): + def license_plate_regex_formats(self) -> List[str]: """Return a regex for matching license plates. .. warning:: @@ -34,4 +36,4 @@ def license_plate_regex_formats(self): should not be part of the public API. User should refrain from using this method. """ - return [plate.replace('?', '[A-Z]').replace('#', '[0-9]') for plate in self.license_formats] + return [plate.replace("?", "[A-Z]").replace("#", "[0-9]") for plate in self.license_formats] diff --git a/faker/providers/automotive/pt_BR/__init__.py b/faker/providers/automotive/pt_BR/__init__.py index ac1d92e7d1..a28b39f7f1 100644 --- a/faker/providers/automotive/pt_BR/__init__.py +++ b/faker/providers/automotive/pt_BR/__init__.py @@ -4,6 +4,4 @@ class Provider(AutomotiveProvider): """Implement automotive provider for ``pt_BR`` locale.""" - license_formats = ( - '???-####', - ) + license_formats = ("???-####",) diff --git a/faker/providers/automotive/pt_PT/__init__.py b/faker/providers/automotive/pt_PT/__init__.py index 6372063373..cd8fee49bc 100644 --- a/faker/providers/automotive/pt_PT/__init__.py +++ b/faker/providers/automotive/pt_PT/__init__.py @@ -6,11 +6,13 @@ class Provider(AutomotiveProvider): Sources: - - https://pt.wikipedia.org/wiki/Matr%C3%ADculas_de_autom%C3%B3veis_em_Portugal + - https://en.wikipedia.org/wiki/Vehicle_registration_plates_of_Portugal """ license_formats = ( - '##-##-??', - '##-??-##', - '??-##-##', + "##-##-??", + "##-??-##", + "??-##-##", + # New format since March 2020 + "??-##-??", ) diff --git a/faker/providers/automotive/ro_RO/__init__.py b/faker/providers/automotive/ro_RO/__init__.py new file mode 100644 index 0000000000..f5e4c44067 --- /dev/null +++ b/faker/providers/automotive/ro_RO/__init__.py @@ -0,0 +1,66 @@ +import string + +from .. import Provider as AutomotiveProvider + + +class Provider(AutomotiveProvider): + """Implement automotive provider for ``ro_RO`` locale.""" + + license_plate_prefix = ( + "AB", + "AG", + "AR", + "B", + "BC", + "BH", + "BN", + "BR", + "BT", + "BV", + "BZ", + "CJ", + "CL", + "CS", + "CT", + "CV", + "DB", + "DJ", + "GJ", + "GL", + "GR", + "HD", + "HR", + "IF", + "IL", + "IS", + "MH", + "MM", + "MS", + "NT", + "OT", + "PH", + "SB", + "SJ", + "SM", + "SV", + "TL", + "TM", + "TR", + "VL", + "VN", + "VS", + ) + + license_plate_suffix = ( + "-###-???", + "-##-???", + ) + + def license_plate(self) -> str: + """Generate a license plate.""" + prefix: str = self.random_element(self.license_plate_prefix) + suffix = self.bothify( + self.random_element(self.license_plate_suffix), + letters=string.ascii_uppercase, + ) + return prefix + suffix diff --git a/faker/providers/automotive/ru_RU/__init__.py b/faker/providers/automotive/ru_RU/__init__.py index 7f07894710..cce4ba0630 100644 --- a/faker/providers/automotive/ru_RU/__init__.py +++ b/faker/providers/automotive/ru_RU/__init__.py @@ -10,250 +10,312 @@ class Provider(AutomotiveProvider): - https://ru.wikipedia.org/wiki/Категории_транспортных_средств """ - license_plate_letters = ('A', 'B', 'E', 'K', 'M', 'Н', 'О', 'Р', 'С', 'Т', 'У', 'Х') + license_plate_letters = ("A", "B", "E", "K", "M", "Н", "О", "Р", "С", "Т", "У", "Х") - vehicle_categories = ('M', 'A', 'A1', 'B', 'B1', 'BE', 'C', 'C1', 'C1E', 'CE', 'D', 'D1', 'DE', 'Tm', 'Tb') + vehicle_categories = ( + "M", + "A", + "A1", + "B", + "B1", + "BE", + "C", + "C1", + "C1E", + "CE", + "D", + "D1", + "DE", + "Tm", + "Tb", + ) license_plate_suffix = ( # Republic of Adygea - '01', + "01", # Republic of Bashkortostan - '02', '102', + "02", + "102", # Republic of Buryatia - '03', + "03", # Altai Republic - '04', + "04", # Republic of Dagestan - '05', + "05", # Republic of Ingushetia - '06', + "06", # Kabardino-Balkar Republic - '07', + "07", # Republic of Kalmykia - '08', + "08", # Karachay-Cherkess Republic - '09', + "09", # Republic of Karelia - '10', + "10", # Komi Republic - '11', + "11", # Mari El Republic - '12', + "12", # Republic of Mordovia - '13', '113', + "13", + "113", # Sakha Republic - '14', + "14", # Republic of North Ossetia–Alania - '15', + "15", # Republic of Tatarstan - '16', '116', '716', + "16", + "116", + "716", # Tuva Republic - '17', + "17", # Udmurt Republic - '18', + "18", # Republic of Khakassia - '19', + "19", # Chechen Republic - '20', '95', + "20", + "95", # Chuvash Republic - '21', '121', + "21", + "121", # Altai Krai - '22', + "22", # Krasnodar Krai - '23', '93', '123', + "23", + "93", + "123", # Krasnoyarsk Krai - '24', '84', '88', '124', + "24", + "84", + "88", + "124", # Primorsky Krai - '25', '125', + "25", + "125", # Stavropol Krai - '26', '126', + "26", + "126", # Khabarovsk Krai - '27', + "27", # Amur Oblast - '28', + "28", # Arkhangelsk Oblast - '29', + "29", # Astrakhan Oblast - '30', + "30", # Belgorod Oblast - '31', + "31", # Bryansk Oblast - '32', + "32", # Vladimir Oblast - '33', + "33", # Volgograd Oblast - '34', '134', + "34", + "134", # Vologda Oblast - '35', + "35", # Voronezh Oblast - '36', '136', + "36", + "136", # Ivanovo Oblast - '37', + "37", # Irkutsk Oblast - '38', '85', '38', + "38", + "85", + "38", # Kaliningrad Oblast - '39', '91', + "39", + "91", # Kaluga Oblast - '40', + "40", # Kamchatka Krai - '41', '82', + "41", + "82", # Kemerovo Oblast - '42', '142', + "42", + "142", # Kirov Oblast - '43', + "43", # Kostroma Oblast - '44', + "44", # Kurgan Oblast - '45', + "45", # Kursk Oblast - '46', + "46", # Leningrad Oblast - '47', + "47", # Lipetsk Oblast - '48', + "48", # Magadan Oblast - '49', + "49", # Moscow Oblast - '50', '90', '150', '190', '750', + "50", + "90", + "150", + "190", + "750", # Murmansk Oblast - '51', + "51", # Nizhny Novgorod Oblast - '52', '152', + "52", + "152", # Novgorod Oblast - '53', + "53", # Novosibirsk Oblast - '54', '154', + "54", + "154", # Omsk Oblast - '55', + "55", # Orenburg Oblast - '56', + "56", # Oryol Oblast - '57', + "57", # Penza Oblast - '58', + "58", # Perm Krai - '59', '81', '159', + "59", + "81", + "159", # Pskov Oblast - '60', + "60", # Rostov Oblast - '61', '161', + "61", + "161", # Ryazan Oblast - '62', + "62", # Samara Oblast - '63', '163', '763', + "63", + "163", + "763", # Saratov Oblast - '64', '164', + "64", + "164", # Sakhalin Oblast - '65', + "65", # Sverdlovsk Oblast - '66', '96', '196', + "66", + "96", + "196", # Smolensk Oblast - '67', + "67", # Tambov Oblast - '68', + "68", # Tver Oblast - '69', + "69", # Tomsk Oblast - '70', + "70", # Tula Oblast - '71', + "71", # Tyumen Oblast - '72', + "72", # Ulyanovsk Oblast - '73', '173', + "73", + "173", # Chelyabinsk Oblast - '74', '174', + "74", + "174", # Zabaykalsky Krai - '75', '80', + "75", + "80", # Yaroslavl Oblast - '76', + "76", # Moscow - '77', '97', '99', '177', '197', '199', '777', '799', + "77", + "97", + "99", + "177", + "197", + "199", + "777", + "799", # St. Petersburg - '78', '98', '178', '198', + "78", + "98", + "178", + "198", # Jewish Autonomous Oblast - '79', + "79", # Agin-Buryat Okrug / "Former Buryat Autonomous District of Aginskoye" - '80', + "80", # Komi-Permyak Okrug / "Former Komi-Permyak Autonomous District" - '81', + "81", # Republic of Crimea / De jure part of Ukraine as Autonomous Republic. Annexed by Russia in 2014. - '82', + "82", # Koryak Okrug / "Former Koryak Autonomous District" - '82', + "82", # Nenets Autonomous Okrug (Nenetsia) - '83', + "83", # Taymyr Autonomous Okrug / "Former Taymyr (Dolgan-Nenets) Autonomous District" - '84', + "84", # Ust-Orda Buryat Okrug / "Former Buryat Autonomous District of Ust-Ordynskoy" - '85', + "85", # Khanty-Mansi Autonomous Okrug - '86', '186', + "86", + "186", # Chukotka Autonomous Okrug - '87', + "87", # Evenk Autonomous Okrug / "Former Evenk Autonomous District" - '88', + "88", # Yamalo-Nenets Autonomous Okrug - '89', + "89", # Sevastopol / De jure part of Ukraine as City with special status. Annexed by Russia in 2014. - '92', + "92", # Territories outside of the Russian Federation, # served by the bodies of internal affairs of the Russian Federation, such as Baikonur - '94', + "94", ) license_plate_formats = ( # Private vehicle plate - '{{plate_letter}}{{plate_number}}{{plate_letter}}{{plate_letter}} {{plate_suffix}}', + "{{plate_letter}}{{plate_number}}{{plate_letter}}{{plate_letter}} {{plate_suffix}}", # Public transport plate - '{{plate_letter}}{{plate_letter}}{{plate_number}} {{plate_suffix}}', + "{{plate_letter}}{{plate_letter}}{{plate_number}} {{plate_suffix}}", # Trailer plate - '{{plate_letter}}{{plate_letter}}{{plate_number_extra}} {{plate_suffix}}', + "{{plate_letter}}{{plate_letter}}{{plate_number_extra}} {{plate_suffix}}", # Police forces vehicle plate - '{{plate_letter}}{{plate_number_extra}} {{plate_suffix}}', + "{{plate_letter}}{{plate_number_extra}} {{plate_suffix}}", # Military vehicle plate - '{{plate_number_extra}}{{plate_letter}}{{plate_letter}} {{plate_suffix}}', + "{{plate_number_extra}}{{plate_letter}}{{plate_letter}} {{plate_suffix}}", # Diplomatic vehicles - '{{plate_number_special}} {{plate_suffix}}', + "{{plate_number_special}} {{plate_suffix}}", ) - plate_number_formats = ( - '###', - ) + plate_number_formats = ("###",) - plate_extra_formats = ( - '####', - ) + plate_extra_formats = ("####",) plate_special_formats = ( - '00#CD#', '00#D###', '00#T###', + "00#CD#", + "00#D###", + "00#T###", ) - def license_plate(self): + def license_plate(self) -> str: """Generate a license plate.""" - pattern = self.random_element(self.license_plate_formats) + pattern: str = self.random_element(self.license_plate_formats) return self.generator.parse(pattern) - def plate_letter(self): + def plate_letter(self) -> str: """Generate a letter for license plates.""" return self.random_element(self.license_plate_letters) - def plate_number(self): + def plate_number(self) -> str: """Generate a number for license plates.""" return self.numerify(self.random_element(self.plate_number_formats)) - def plate_number_extra(self): + def plate_number_extra(self) -> str: """Generate extra numerical code for license plates.""" return self.numerify(self.random_element(self.plate_extra_formats)) - def plate_number_special(self): + def plate_number_special(self) -> str: """Generate a special code for license plates.""" return self.numerify(self.random_element(self.plate_special_formats)) - def plate_suffix(self): + def plate_suffix(self) -> str: """Generate a suffix code for license plates.""" return self.random_element(self.license_plate_suffix) - def vehicle_category(self): + def vehicle_category(self) -> str: """Generate a vehicle category code for license plates.""" return self.random_element(self.vehicle_categories) diff --git a/faker/providers/automotive/sk_SK/__init__.py b/faker/providers/automotive/sk_SK/__init__.py new file mode 100644 index 0000000000..b92bb17987 --- /dev/null +++ b/faker/providers/automotive/sk_SK/__init__.py @@ -0,0 +1,100 @@ +import string + +from .. import Provider as AutomotiveProvider + + +class Provider(AutomotiveProvider): + """Implement automotive provider for ``sk_SK`` locale. + + Sources: + + - https://en.wikipedia.org/wiki/Vehicle_registration_plates_of_Slovakia + """ + + license_plate_prefix = [ + "BA", + "BL", + "BT", # Bratislava + "BB", # Banska Bystrica + "BJ", # Bardejov + "BN", # Banovce nad Bebravou + "BR", # Brezno + "BS", # Banska Stiavnica + "BY", # Bytca + "CA", # Cadca + "DK", # Dolny Kubin + "DS", # Dunajska Streda + "DT", # Detva + "GA", # Galanta + "GL", # Gelnica + "HC", # Hlohovec + "HE", # Humenne + "IL", # Ilava + "KA", # Krupina + "KE", # Kosice + "KK", # Kezmarok + "KM", # Kysucke Nove Mesto + "KN", # Komarno + "KS", # Kosice-okolie + "LC", # Lucenec + "LE", # Levoca + "LM", # Liptovsky Mikulas + "LV", # Levice + "MA", # Malacky + "MI", # Michalovce + "ML", # Medzilaborce + "MT", # Martin + "MY", # Myjava + "NR", # Nitra + "NM", # Nove Mesto nad Vahom + "NO", # Namestovo + "NZ", # Nove Zamky + "PB", # Povazska Bystrica + "PD", # Prievidza + "PE", # Partizanske + "PK", # Pezinok + "PN", # Piestany + "PO", # Presov + "PP", # Poprad + "PT", # Poltar + "PU", # Puchov + "RA", # Revuca + "RK", # Ruzomberok + "RS", # Rimavska Sobota + "RV", # Roznava + "SA", # Sala + "SB", # Sabinov + "SC", # Senec + "SE", # Senica + "SI", # Skalica + "SK", # Svidnik + "SL", # Stara Lubovna + "SN", # Spisska Nova Ves + "SO", # Sobrance + "SP", # Stropkov + "SV", # Snina + "TT", # Trnava + "TN", # Trencin + "TO", # Topolcany + "TR", # Turcianske Teplice + "TS", # Tvrdosin + "TV", # Trebisov + "VK", # Velky Krtis + "VT", # Vranov nad Toplou + "ZA", # Zilina + "ZC", # Zarnovica + "ZH", # Ziar nad Hronom + "ZM", # Zlate Moravce + "ZV", # Zvolen + ] + + license_plate_suffix = ("###??",) + + def license_plate(self) -> str: + """Generate a license plate.""" + prefix: str = self.random_element(self.license_plate_prefix) + suffix = self.bothify( + self.random_element(self.license_plate_suffix), + letters=string.ascii_uppercase, + ) + return prefix + suffix diff --git a/faker/providers/automotive/sv_SE/__init__.py b/faker/providers/automotive/sv_SE/__init__.py index d7def78d42..f875d2b870 100644 --- a/faker/providers/automotive/sv_SE/__init__.py +++ b/faker/providers/automotive/sv_SE/__init__.py @@ -12,7 +12,7 @@ class Provider(AutomotiveProvider): license_formats = ( # Classic format - '??? ###', + "??? ###", # New format - '??? ##?', + "??? ##?", ) diff --git a/faker/providers/automotive/th_TH/__init__.py b/faker/providers/automotive/th_TH/__init__.py new file mode 100644 index 0000000000..078c210475 --- /dev/null +++ b/faker/providers/automotive/th_TH/__init__.py @@ -0,0 +1,39 @@ +import re + +from .. import Provider as AutomotiveProvider + + +class Provider(AutomotiveProvider): + """Implement automotive provider for ``th_TH`` locale. + + Sources: + + - https://en.wikipedia.org/wiki/Vehicle_registration_plates_of_Thailand + """ + + license_formats = ( + "# ?? ####", + "# ?? ###", + "# ?? ##", + "# ?? #", + "?? ####", + "?? ###", + "?? ##", + "?? #", + "??? ###", + "??? ##", + "??? #", + "##-####", + ) + + thai_consonants = "กขฃคฅฆงจฉชซฌญฎฏฐฑฒณดตถทธนบปผฝพฟภมยรลวศษสหฬอฮ" + + def license_plate(self) -> str: + """Generate a license plate.""" + + temp = re.sub( + r"\?", + lambda x: self.random_element(self.thai_consonants), + self.random_element(self.license_formats), + ) + return self.numerify(temp) diff --git a/faker/providers/automotive/tr_TR/__init__.py b/faker/providers/automotive/tr_TR/__init__.py new file mode 100644 index 0000000000..7b977a2363 --- /dev/null +++ b/faker/providers/automotive/tr_TR/__init__.py @@ -0,0 +1,33 @@ +import re + +from .. import Provider as AutomotiveProvider + + +class Provider(AutomotiveProvider): + """Implement automotive provider for ``tr_TR`` locale. + + Sources: + + - https://en.wikipedia.org/wiki/Vehicle_registration_plates_of_Turkey + """ + + license_formats = ( + "## ? ####", + "## ? #####", + "## ?? ###", + "## ?? ####", + "## ??? ##", + "## ??? ###", + ) + ascii_uppercase_turkish = "ABCDEFGHIJKLMNOPRSTUVYZ" + + def license_plate(self) -> str: + """Generate a license plate.""" + temp = re.sub( + r"\?", + lambda x: self.random_element(self.ascii_uppercase_turkish), + self.random_element(self.license_formats), + ) + temp = temp.replace("##", "{:02d}", 1) + temp = temp.format(self.random_element(range(1, 82))) + return self.numerify(temp) diff --git a/faker/providers/bank/__init__.py b/faker/providers/bank/__init__.py index ee46e8001f..7a0f4d249b 100644 --- a/faker/providers/bank/__init__.py +++ b/faker/providers/bank/__init__.py @@ -1,12 +1,14 @@ import re import string +from math import ceil from string import ascii_uppercase +from typing import Dict, Optional from .. import BaseProvider localized = True -default_locale = 'en_GB' +default_locale = "en_GB" class Provider(BaseProvider): @@ -25,33 +27,44 @@ class Provider(BaseProvider): - https://www.theswiftcodes.com/swift-code-checker/ """ - ALPHA = {c: str(ord(c) % 55) for c in string.ascii_uppercase} - bban_format = '????#############' - country_code = 'GB' + ALPHA: Dict[str, str] = {c: str(ord(c) % 55) for c in string.ascii_uppercase} + bban_format: str = "????#############" + country_code: str = "GB" - def bank_country(self): + def aba(self) -> str: + """Generate an ABA routing transit number.""" + fed_num = self.random_int(min=1, max=12) + rand = self.numerify("######") + aba = f"{fed_num:02}{rand}" + + # calculate check digit + d = [int(n) for n in aba] + chk_digit = 3 * (d[0] + d[3] + d[6]) + 7 * (d[1] + d[4] + d[7]) + d[2] + d[5] + chk_digit = ceil(chk_digit / 10) * 10 - chk_digit + + return f"{aba}{chk_digit}" + + def bank_country(self) -> str: """Generate the bank provider's ISO 3166-1 alpha-2 country code.""" return self.country_code - def bban(self): + def bban(self) -> str: """Generate a Basic Bank Account Number (BBAN).""" - temp = re.sub(r'\?', - lambda x: self.random_element(ascii_uppercase), - self.bban_format) + temp = re.sub(r"\?", lambda x: self.random_element(ascii_uppercase), self.bban_format) return self.numerify(temp) - def iban(self): + def iban(self) -> str: """Generate an International Bank Account Number (IBAN).""" bban = self.bban() - check = bban + self.country_code + '00' - check = int(''.join(self.ALPHA.get(c, c) for c in check)) - check = 98 - (check % 97) - check = str(check).zfill(2) + check = bban + self.country_code + "00" + check_ = int("".join(self.ALPHA.get(c, c) for c in check)) + check_ = 98 - (check_ % 97) + check = str(check_).zfill(2) return self.country_code + check + bban - def swift8(self, use_dataset=False): + def swift8(self, use_dataset: bool = False) -> str: """Generate an 8-digit SWIFT code. This method uses |swift| under the hood with the ``length`` argument set @@ -63,7 +76,7 @@ def swift8(self, use_dataset=False): """ return self.swift(length=8, use_dataset=use_dataset) - def swift11(self, primary=None, use_dataset=False): + def swift11(self, primary: bool = False, use_dataset: bool = False) -> str: """Generate an 11-digit SWIFT code. This method uses |swift| under the hood with the ``length`` argument set @@ -76,7 +89,12 @@ def swift11(self, primary=None, use_dataset=False): """ return self.swift(length=11, primary=primary, use_dataset=use_dataset) - def swift(self, length=None, primary=None, use_dataset=False): + def swift( + self, + length: Optional[int] = None, + primary: bool = False, + use_dataset: bool = False, + ) -> str: """Generate a SWIFT code. SWIFT codes, reading from left to right, are composed of a 4 alphabet @@ -112,26 +130,26 @@ def swift(self, length=None, primary=None, use_dataset=False): if length is None: length = self.random_element((8, 11)) if length not in (8, 11): - raise AssertionError('length can only be 8 or 11') + raise AssertionError("length can only be 8 or 11") - if use_dataset and hasattr(self, 'swift_bank_codes'): - bank_code = self.random_element(self.swift_bank_codes) + if use_dataset and hasattr(self, "swift_bank_codes"): + bank_code: str = self.random_element(self.swift_bank_codes) # type: ignore[attr-defined] else: - bank_code = self.lexify('????', letters=string.ascii_uppercase) + bank_code = self.lexify("????", letters=string.ascii_uppercase) - if use_dataset and hasattr(self, 'swift_location_codes'): - location_code = self.random_element(self.swift_location_codes) + if use_dataset and hasattr(self, "swift_location_codes"): + location_code: str = self.random_element(self.swift_location_codes) # type: ignore[attr-defined] else: - location_code = self.lexify('??', letters=string.ascii_uppercase + string.digits) + location_code = self.lexify("??", letters=string.ascii_uppercase + string.digits) if length == 8: return bank_code + self.country_code + location_code if primary: - branch_code = 'XXX' - elif use_dataset and hasattr(self, 'swift_branch_codes'): - branch_code = self.random_element(self.swift_branch_codes) + branch_code = "XXX" + elif use_dataset and hasattr(self, "swift_branch_codes"): + branch_code = self.random_element(self.swift_branch_codes) # type: ignore[attr-defined] else: - branch_code = self.lexify('???', letters=string.ascii_uppercase + string.digits) + branch_code = self.lexify("???", letters=string.ascii_uppercase + string.digits) return bank_code + self.country_code + location_code + branch_code diff --git a/faker/providers/bank/de_AT/__init__.py b/faker/providers/bank/de_AT/__init__.py index 379c27a25c..34ebbfefb7 100644 --- a/faker/providers/bank/de_AT/__init__.py +++ b/faker/providers/bank/de_AT/__init__.py @@ -4,5 +4,5 @@ class Provider(BankProvider): """Implement bank provider for ``de_AT`` locale.""" - bban_format = '################' - country_code = 'AT' + bban_format = "################" + country_code = "AT" diff --git a/faker/providers/bank/de_CH/__init__.py b/faker/providers/bank/de_CH/__init__.py new file mode 100644 index 0000000000..a8aae28c08 --- /dev/null +++ b/faker/providers/bank/de_CH/__init__.py @@ -0,0 +1,8 @@ +from .. import Provider as BankProvider + + +class Provider(BankProvider): + """Implement bank provider for ``de_CH`` locale.""" + + bban_format = "#################" + country_code = "CH" diff --git a/faker/providers/bank/de_DE/__init__.py b/faker/providers/bank/de_DE/__init__.py index 69a97b3684..03d5459ff9 100644 --- a/faker/providers/bank/de_DE/__init__.py +++ b/faker/providers/bank/de_DE/__init__.py @@ -4,5 +4,5 @@ class Provider(BankProvider): """Implement bank provider for ``de_DE`` locale.""" - bban_format = '##################' - country_code = 'DE' + bban_format = "##################" + country_code = "DE" diff --git a/faker/providers/bank/el_GR/__init__.py b/faker/providers/bank/el_GR/__init__.py new file mode 100644 index 0000000000..02893136f1 --- /dev/null +++ b/faker/providers/bank/el_GR/__init__.py @@ -0,0 +1,8 @@ +from .. import Provider as BankProvider + + +class Provider(BankProvider): + """Implement bank provider for ``el_GR`` locale.""" + + bban_format = "#######################" + country_code = "GR" diff --git a/faker/providers/bank/en_GB/__init__.py b/faker/providers/bank/en_GB/__init__.py index 916e3b258b..15756eb4c4 100644 --- a/faker/providers/bank/en_GB/__init__.py +++ b/faker/providers/bank/en_GB/__init__.py @@ -4,5 +4,5 @@ class Provider(BankProvider): """Implement bank provider for ``en_GB`` locale.""" - bban_format = '????##############' - country_code = 'GB' + bban_format = "????##############" + country_code = "GB" diff --git a/faker/providers/bank/en_IE/__init__.py b/faker/providers/bank/en_IE/__init__.py new file mode 100644 index 0000000000..99793af284 --- /dev/null +++ b/faker/providers/bank/en_IE/__init__.py @@ -0,0 +1,8 @@ +from .. import Provider as BankProvider + + +class Provider(BankProvider): + """Implement bank provider for ``en_IE`` locale.""" + + bban_format = "#######################" + country_code = "IE" diff --git a/faker/providers/bank/en_PH/__init__.py b/faker/providers/bank/en_PH/__init__.py index 0bc9500ed2..22e92a32cc 100644 --- a/faker/providers/bank/en_PH/__init__.py +++ b/faker/providers/bank/en_PH/__init__.py @@ -8,26 +8,79 @@ class Provider(BankProvider): """Implement bank provider for ``en_PH`` locale.""" - country_code = 'PH' - bban_format = '################' + country_code = "PH" + bban_format = "################" swift_bank_codes = ( - 'ANZB', 'AUBK', 'BKCH', 'BKKB', 'BNOR', 'BNPA', 'BOFA', 'BOPI', - 'BOTK', 'BPDI', 'BPFS', 'BPGO', 'CHAS', 'CHBK', 'CHSV', 'CITI', - 'CPHI', 'CTCB', 'DBPH', 'DEUT', 'EQSN', 'EWBC', 'FCBK', 'HBPH', - 'HNBK', 'HSBC', 'IBKO', 'ICBC', 'INGB', 'KOEX', 'MBBE', 'MBTC', - 'MHCB', 'PABI', 'PHSB', 'PHTB', 'PHVB', 'PNBM', 'PPBU', 'RCBC', - 'ROBP', 'SCBL', 'SETC', 'SHBK', 'SMBC', 'STLA', 'TACB', 'TLBP', - 'TYBK', 'UBPH', 'UCPB', 'UOVB', 'UWCB', + "ANZB", + "AUBK", + "BKCH", + "BKKB", + "BNOR", + "BNPA", + "BOFA", + "BOPI", + "BOTK", + "BPDI", + "BPFS", + "BPGO", + "CHAS", + "CHBK", + "CHSV", + "CITI", + "CPHI", + "CTCB", + "DBPH", + "DEUT", + "EQSN", + "EWBC", + "FCBK", + "HBPH", + "HNBK", + "HSBC", + "IBKO", + "ICBC", + "INGB", + "KOEX", + "MBBE", + "MBTC", + "MHCB", + "PABI", + "PHSB", + "PHTB", + "PHVB", + "PNBM", + "PPBU", + "RCBC", + "ROBP", + "SCBL", + "SETC", + "SHBK", + "SMBC", + "STLA", + "TACB", + "TLBP", + "TYBK", + "UBPH", + "UCPB", + "UOVB", + "UWCB", ) swift_location_codes = ( - '22', '2X', 'M1', - 'MM', 'MQ', 'MX', + "22", + "2X", + "M1", + "MM", + "MQ", + "MX", ) swift_branch_codes = ( - 'CBU', 'EQI', 'TSU', 'XXX', + "CBU", + "EQI", + "TSU", + "XXX", ) - def bban(self): + def bban(self) -> str: """Generate a Basic Bank Account Number (BBAN). .. warning:: @@ -42,7 +95,7 @@ def bban(self): logger.warning("Numbers generated by this method are purely hypothetical.") return super().bban() - def iban(self): + def iban(self) -> str: """Generate an International Bank Account Number (IBAN). .. warning:: diff --git a/faker/providers/bank/es_ES/__init__.py b/faker/providers/bank/es_ES/__init__.py index ec42e91107..16622baf35 100644 --- a/faker/providers/bank/es_ES/__init__.py +++ b/faker/providers/bank/es_ES/__init__.py @@ -4,5 +4,5 @@ class Provider(BankProvider): """Implement bank provider for ``es_ES`` locale.""" - bban_format = '####################' - country_code = 'ES' + bban_format = "####################" + country_code = "ES" diff --git a/faker/providers/bank/fi_FI/__init__.py b/faker/providers/bank/fi_FI/__init__.py index 09c85d4260..5992d000d4 100644 --- a/faker/providers/bank/fi_FI/__init__.py +++ b/faker/providers/bank/fi_FI/__init__.py @@ -4,5 +4,5 @@ class Provider(BankProvider): """Implement bank provider for ``fi_FI`` locale.""" - bban_format = '##############' - country_code = 'FI' + bban_format = "##############" + country_code = "FI" diff --git a/faker/providers/bank/fr_CH/__init__.py b/faker/providers/bank/fr_CH/__init__.py new file mode 100644 index 0000000000..602d75fd6f --- /dev/null +++ b/faker/providers/bank/fr_CH/__init__.py @@ -0,0 +1,10 @@ +from ..de_CH import Provider as DeChBankProvider + + +class Provider(DeChBankProvider): + """Implement bank provider for ``fr_CH`` locale. + + There is no difference from the ``de_CH`` implementation. + """ + + pass diff --git a/faker/providers/bank/fr_FR/__init__.py b/faker/providers/bank/fr_FR/__init__.py index 1cb5772030..d417ea0207 100644 --- a/faker/providers/bank/fr_FR/__init__.py +++ b/faker/providers/bank/fr_FR/__init__.py @@ -4,5 +4,5 @@ class Provider(BankProvider): """Implement bank provider for ``fr_FR`` locale.""" - bban_format = '#######################' - country_code = 'FR' + bban_format = "#######################" + country_code = "FR" diff --git a/faker/providers/bank/it_CH/__init__.py b/faker/providers/bank/it_CH/__init__.py new file mode 100644 index 0000000000..8964453856 --- /dev/null +++ b/faker/providers/bank/it_CH/__init__.py @@ -0,0 +1,10 @@ +from ..de_CH import Provider as DeChBankProvider + + +class Provider(DeChBankProvider): + """Implement bank provider for ``it_CH`` locale. + + There is no difference from the ``de_CH`` implementation. + """ + + pass diff --git a/faker/providers/bank/it_IT/__init__.py b/faker/providers/bank/it_IT/__init__.py index f98cfa7a98..995e9fb8ae 100644 --- a/faker/providers/bank/it_IT/__init__.py +++ b/faker/providers/bank/it_IT/__init__.py @@ -4,5 +4,5 @@ class Provider(BankProvider): """Implement bank provider for ``it_IT`` locale.""" - bban_format = '?######################' - country_code = 'IT' + bban_format = "?######################" + country_code = "IT" diff --git a/faker/providers/bank/nl_NL/__init__.py b/faker/providers/bank/nl_NL/__init__.py index 1a573890a5..be578404ef 100644 --- a/faker/providers/bank/nl_NL/__init__.py +++ b/faker/providers/bank/nl_NL/__init__.py @@ -4,5 +4,5 @@ class Provider(BankProvider): """Implement bank provider for ``nl_NL`` locale.""" - bban_format = '????##########' - country_code = 'NL' + bban_format = "????##########" + country_code = "NL" diff --git a/faker/providers/bank/no_NO/__init__.py b/faker/providers/bank/no_NO/__init__.py index 94a21fd110..7e5ff16690 100644 --- a/faker/providers/bank/no_NO/__init__.py +++ b/faker/providers/bank/no_NO/__init__.py @@ -4,5 +4,5 @@ class Provider(BankProvider): """Implement bank provider for ``no_NO`` locale.""" - bban_format = '###########' - country_code = 'NO' + bban_format = "###########" + country_code = "NO" diff --git a/faker/providers/bank/pl_PL/__init__.py b/faker/providers/bank/pl_PL/__init__.py index 3c37bcabcc..9d9b8f647b 100644 --- a/faker/providers/bank/pl_PL/__init__.py +++ b/faker/providers/bank/pl_PL/__init__.py @@ -4,5 +4,5 @@ class Provider(BankProvider): """Implement bank provider for ``pl_PL`` locale.""" - bban_format = '#' * 26 - country_code = 'PL' + bban_format = "#" * 26 + country_code = "PL" diff --git a/faker/providers/bank/pt_PT/__init__.py b/faker/providers/bank/pt_PT/__init__.py index 2580a4148d..c772c996c0 100644 --- a/faker/providers/bank/pt_PT/__init__.py +++ b/faker/providers/bank/pt_PT/__init__.py @@ -4,5 +4,5 @@ class Provider(BankProvider): """Implement bank provider for ``pt_PT`` locale.""" - bban_format = '#####################' - country_code = 'PT' + bban_format = "#####################" + country_code = "PT" diff --git a/faker/providers/bank/ro_RO/__init__.py b/faker/providers/bank/ro_RO/__init__.py new file mode 100644 index 0000000000..e135a02d93 --- /dev/null +++ b/faker/providers/bank/ro_RO/__init__.py @@ -0,0 +1,50 @@ +from faker.providers.bank import Provider as BankProvider + + +class Provider(BankProvider): + """Implement bank provider for ``ro_RO`` locale.""" + + country_code = "RO" + bban_format = "????################" + swift_bank_codes = ( + "NBOR", + "ABNA", + "BUCU", + "ARBL", + "MIND", + "BPOS", + "CARP", + "RNCB", + "BROM", + "BITR", + "BRDE", + "BRMA", + "BTRL", + "DAFB", + "MIRB", + "CECE", + "CITI", + "CRCO", + "FNNB", + "EGNA", + "BSEA", + "EXIM", + "UGBI", + "HVBL", + "INGB", + "BREL", + "CRDZ", + "BNRB", + "PIRB", + "PORL", + "MIRO", + "RZBL", + "RZBR", + "ROIN", + "WBAN", + "TRFD", + "TREZ", + "BACX", + "VBBU", + "DARO", + ) diff --git a/faker/providers/bank/ru_RU/__init__.py b/faker/providers/bank/ru_RU/__init__.py index 1964a828ba..7513ba449f 100644 --- a/faker/providers/bank/ru_RU/__init__.py +++ b/faker/providers/bank/ru_RU/__init__.py @@ -11,129 +11,728 @@ class Provider(BankProvider): - http://cbr.ru/credit/coreports/ko17012020.zip """ - country_code = 'RU' + country_code = "RU" region_codes = ( - '01', '03', '04', '05', '07', '08', '10', '11', '12', '14', '15', '17', '18', '19', '20', '22', - '24', '25', '26', '27', '28', '29', '30', '32', '33', '34', '35', '36', '37', '38', '40', '41', - '42', '44', '45', '46', '47', '49', '50', '52', '53', '54', '56', '57', '58', '60', '61', '63', - '64', '65', '66', '67', '68', '69', '70', '71', '73', '75', '76', '77', '78', '79', '80', '81', - '82', '83', '84', '85', '86', '87', '88', '89', '90', '91', '92', '93', '94', '95', '96', '97', - '98', '99', '111', '118', '7110', '718', '7114', '719', + "01", + "03", + "04", + "05", + "07", + "08", + "10", + "11", + "12", + "14", + "15", + "17", + "18", + "19", + "20", + "22", + "24", + "25", + "26", + "27", + "28", + "29", + "30", + "32", + "33", + "34", + "35", + "36", + "37", + "38", + "40", + "41", + "42", + "44", + "45", + "46", + "47", + "49", + "50", + "52", + "53", + "54", + "56", + "57", + "58", + "60", + "61", + "63", + "64", + "65", + "66", + "67", + "68", + "69", + "70", + "71", + "73", + "75", + "76", + "77", + "78", + "79", + "80", + "81", + "82", + "83", + "84", + "85", + "86", + "87", + "88", + "89", + "90", + "91", + "92", + "93", + "94", + "95", + "96", + "97", + "98", + "99", ) department_code_formats = ( - '0#', '1#', '2#', '3#', '4#', '5#', '6#', '7#', '8#', '9#', + "0#", + "1#", + "2#", + "3#", + "4#", + "5#", + "6#", + "7#", + "8#", + "9#", ) credit_organization_code_formats = ( - '05#', '06#', '07#', '08#', '09#', '1##', '2##', '3##', '4##', '5##', '6##', '7##', '8##', '9##', + "05#", + "06#", + "07#", + "08#", + "09#", + "1##", + "2##", + "3##", + "4##", + "5##", + "6##", + "7##", + "8##", + "9##", ) - checking_account_codes = [str(i) for i in range(102, 110)] + ['203', '204'] + [str(i) for i in range(301, 330)] + \ - [str(i) for i in range(401, 409)] + [str(i) for i in range(411, 426)] + ['430'] + \ - [str(i) for i in range(501, 527)] + checking_account_codes = ( + [str(i) for i in range(102, 110)] + + ["203", "204"] + + [str(i) for i in range(301, 330)] + + [str(i) for i in range(401, 409)] + + [str(i) for i in range(411, 426)] + + ["430"] + + [str(i) for i in range(501, 527)] + ) organization_codes = ( - '01', '02', '03', '04', + "01", + "02", + "03", + "04", ) currency_codes = ( - '008', '012', '032', '036', '044', '048', '050', '051', '052', '060', '064', '068', '072', '084', '090', '096', - '104', '108', '116', '124', '132', '136', '144', '152', '156', '170', '174', '188', '191', '192', '203', '208', - '214', '222', '230', '232', '238', '242', '262', '270', '292', '320', '324', '328', '332', '340', '344', '348', - '352', '356', '360', '364', '368', '376', '388', '392', '398', '400', '404', '408', '410', '414', '417', '418', - '422', '426', '430', '434', '440', '446', '454', '458', '462', '478', '480', '484', '496', '498', '504', '512', - '516', '524', '532', '533', '548', '554', '558', '566', '578', '586', '590', '598', '600', '604', '608', '634', - '643', '646', '654', '678', '682', '690', '694', '702', '704', '706', '710', '728', '748', '752', '756', '760', - '764', '776', '780', '784', '788', '800', '807', '810', '818', '826', '834', '840', '858', '860', '882', '886', - '894', '901', '931', '932', '933', '934', '936', '937', '938', '940', '941', '943', '944', '946', '947', '948', - '949', '950', '951', '952', '953', '959', '960', '961', '962', '963', '964', '968', '969', '970', '971', '972', - '973', '975', '976', '977', '978', '980', '981', '985', '986', '997', '998', '999', + "008", + "012", + "032", + "036", + "044", + "048", + "050", + "051", + "052", + "060", + "064", + "068", + "072", + "084", + "090", + "096", + "104", + "108", + "116", + "124", + "132", + "136", + "144", + "152", + "156", + "170", + "174", + "188", + "191", + "192", + "203", + "208", + "214", + "222", + "230", + "232", + "238", + "242", + "262", + "270", + "292", + "320", + "324", + "328", + "332", + "340", + "344", + "348", + "352", + "356", + "360", + "364", + "368", + "376", + "388", + "392", + "398", + "400", + "404", + "408", + "410", + "414", + "417", + "418", + "422", + "426", + "430", + "434", + "440", + "446", + "454", + "458", + "462", + "478", + "480", + "484", + "496", + "498", + "504", + "512", + "516", + "524", + "532", + "533", + "548", + "554", + "558", + "566", + "578", + "586", + "590", + "598", + "600", + "604", + "608", + "634", + "643", + "646", + "654", + "678", + "682", + "690", + "694", + "702", + "704", + "706", + "710", + "728", + "748", + "752", + "756", + "760", + "764", + "776", + "780", + "784", + "788", + "800", + "807", + "810", + "818", + "826", + "834", + "840", + "858", + "860", + "882", + "886", + "894", + "901", + "931", + "932", + "933", + "934", + "936", + "937", + "938", + "940", + "941", + "943", + "944", + "946", + "947", + "948", + "949", + "950", + "951", + "952", + "953", + "959", + "960", + "961", + "962", + "963", + "964", + "968", + "969", + "970", + "971", + "972", + "973", + "975", + "976", + "977", + "978", + "980", + "981", + "985", + "986", + "997", + "998", + "999", ) banks = ( - 'Абсолют Банк', 'Авангард', 'Аверс', 'Автоградбанк', 'Автокредитбанк', 'Автоторгбанк', 'Агора', - 'Агропромкредит', 'Агророс', 'Азиатско-Тихоокеанский Банк', 'Азия-Инвест Банк', 'Айсибиси Банк', - 'АК Барс', 'Акибанк', 'Акрополь', 'Актив Банк', 'Акцепт', 'Александровский', 'Алеф-Банк', 'Алмазэргиэнбанк', - 'Алтайкапиталбанк', 'Алтынбанк', 'Альба Альянс', 'Альтернатива', 'Альфа-Банк', 'Америкэн Экспресс Банк', - 'Апабанк', 'Аресбанк', 'Арзамас', 'Байкалинвестбанк', 'Байкалкредобанк', 'Балаково-Банк', 'Балтинвестбанк', - 'Банк "Санкт-Петербург"', 'Банк "СКС"', 'Банк 131', 'Банк Берейт', 'Банк Дом.рф', - 'Банк Жилищного Финансирования', 'Банк Зенит', 'Банк Зенит Сочи', 'Банк Интеза', 'Банк Казани', - 'Банк Корпоративного Финансирования', 'Банк Кредит Свисс (Москва)', 'Банк Оранжевый', 'Банк Оренбург', - 'Банк ПСА Финанс Рус', 'Банк Раунд', 'Банк Реалист', 'Банк РМП', 'Банк РСИ', 'Банк СГБ', - 'Банк Стандарт-Кредит', 'Банк Финам', 'Банк ЧБРР', 'ББР Банк', 'Белгородсоцбанк', 'Бест Эффортс Банк', - 'Бизнес-Сервис-Траст', 'БКС Банк', 'БМ-Банк', 'БМВ Банк', 'БНП Париба Банк', 'Братский АНКБ', 'Быстробанк', - 'Бэнк Оф Чайна', 'Вакобанк', 'Великие Луки Банк', 'Венец', 'Веста', 'Викинг', 'Витабанк', 'Вкабанк', - 'Владбизнесбанк', 'Внешфинбанк', 'Возрождение', 'Вологжанин', 'Восточный', 'ВРБ', - 'Всероссийский Банк Развития Регионов', 'ВТБ', 'Вуз-Банк', 'Вятич', 'Газнефтьбанк', 'Газпромбанк', - 'Газтрансбанк', 'Газэнергобанк', 'Гарант-Инвест', 'Генбанк', 'Геобанк', 'Гефест', 'Глобус', - 'Голдман Сакс Банк', 'Горбанк', 'Гута-Банк', 'Далена', 'Дальневосточный Банк', 'Денизбанк Москва', 'Держава', - 'Дж.П. Морган Банк Интернешнл', 'Джей Энд Ти Банк', 'Дойче Банк', 'Долинск', 'Дом-Банк', 'Донкомбанк', - 'Дон-Тексбанк', 'Дружба', 'ЕАТП Банк', 'Евразийский Банк', 'Евроазиатский Инвестиционный Банк', 'Евроальянс', - 'Еврофинанс Моснарбанк', 'Екатеринбург', 'Енисейский Объединенный Банк', 'Ермак', 'Живаго Банк', - 'Запсибкомбанк', 'Заречье', 'Заубер Банк', 'Земельный', 'Земский Банк', 'Зираат Банк (Москва)', 'Ижкомбанк', - 'ИК Банк', 'Икано Банк', 'Инбанк', 'Инвестторгбанк', 'Инг Банк (Евразия)', 'Интерпрогрессбанк', - 'Интерпромбанк', 'ИРС', 'ИС Банк', 'ИТ Банк', 'Итуруп', 'Ишбанк', 'Йошкар-Ола', 'Калуга', - 'Камский Коммерческий Банк', 'Капитал', 'Кетовский Коммерческий Банк', 'Киви Банк', 'Классик Эконом Банк', - 'Кольцо Урала', 'Коммерцбанк (Евразия)', 'Коммерческий Индо Банк', 'Консервативный Коммерческий Банк', - 'Континенталь', 'Космос', 'Костромаселькомбанк', 'Кошелев-Банк', 'Креди Агриколь Киб', 'Кредит Европа Банк', - 'Кредит Урал Банк', 'Кремлевский', 'Крокус-Банк', 'Крона-Банк', 'Кросна-Банк', 'КС Банк', 'Кубань Кредит', - 'Кубаньторгбанк', 'Кузбассхимбанк', 'Кузнецкбизнесбанк', 'Кузнецкий', 'Кузнецкий Мост', 'Курган', - 'Курскпромбанк', 'Кэб Эйчэнби Банк', 'Ланта-Банк', 'Левобережный', 'Локо-Банк', 'Майкопбанк', 'Майский', - 'Максима', 'МБА-Москва', 'МВС Банк', 'Мегаполис', 'Международный Финансовый Клуб', 'Мерседес-Бенц Банк Рус', - 'Металлинвестбанк', 'Металлург', 'Меткомбанк', 'Мидзухо Банк (Москва)', 'Мир Бизнес Банк', 'МКБ', 'Модульбанк', - 'Морган Стэнли Банк', 'Морской Банк', 'Москва-Сити', 'Московский Индустриальный Банк', - 'Московский Коммерческий Банк', 'Московский Кредитный Банк', 'Московский Нефтехимический Банк', - 'Московский Областной Банк', 'Московское Ипотечное Агентство', 'Москоммерцбанк', 'МС Банк Рус', 'МСКБ', - 'МСП Банк', 'МТИ Банк', 'МТС-Банк', 'Муниципальный Камчатпрофитбанк', 'Нальчик', 'Народный Банк', - 'Народный Банк Тувы', 'Народный Доверительный Банк', 'Натиксис Банк', 'Национальный Банк Сбережений', - 'Национальный Инвестиционно-Промышленный', 'Национальный Резервный Банк', 'Национальный Стандарт', 'НБД-Банк', - 'Невастройинвест', 'Нейва', 'Нефтепромбанк', 'НИБ', 'Нижневолжский Коммерческий Банк', 'Нико-Банк', 'НК Банк', - 'Новикомбанк', 'Новобанк', 'Новокиб', 'Новый Век', 'Новый Московский Банк', 'Нокссбанк', 'Ноосфера', - 'Норвик Банк', 'Нордеа Банк', 'НС Банк', 'НФК', 'Объединенный Банк Республики', 'Объединенный Капитал', - 'Онего', 'Оней Банк', 'Орбанк', 'Оргбанк', 'ОТП Банк', 'Первоуральскбанк', 'Первый Дортрансбанк', - 'Первый Инвестиционный Банк', 'Первый Клиентский Банк', 'Пересвет', 'Пермь', - 'Петербургский Социальный Ком. Банк', 'Платина', 'Плюс Банк', 'Пойдём!', 'Почта Банк', 'Почтобанк', - 'Приморский Территориальный', 'Приморье', 'Примсоцбанк', 'Приобье', 'Прио-Внешторгбанк', 'Прокоммерцбанк', - 'Проминвестбанк', 'Промсвязьбанк', 'Промсельхозбанк', 'Промтрансбанк', 'Профессионал Банк', - 'Профессиональный Инвестиционный Банк', 'Прохладный', 'Развитие-Столица', 'Райффайзенбанк', - 'РБА', 'Ренессанс Кредит', 'Рента-Банк', 'Ресо Кредит', 'Республиканский Кредитный Альянс', 'Ресурс-Траст', - 'РН Банк', 'Росбанк', 'Росбизнесбанк', 'Росгосстрах Банк', 'Росдорбанк', 'Роскосмосбанк', 'Россельхозбанк', - 'Российская Финансовая Корпорация', 'Российский Национальный Коммерческий Банк', 'Россита-Банк', 'Россия', - 'Ростфинанс', 'Росэксимбанк', 'Роял Кредит Банк', 'Руна-Банк', 'Руснарбанк', 'Русский Банк Сбережений', - 'Русский Региональный Банк', 'Русский Стандарт', 'Русфинанс Банк', 'Русьуниверсалбанк', 'РФИ Банк', - 'Саммит Банк', 'Санкт-Петербургский Банк Инвестиций', 'Саратов', 'Саровбизнесбанк', 'Сбербанк России', - 'Связь-Банк', 'СДМ-Банк', 'Севастопольский Морской Банк', 'Северный Морской Путь', 'Северный Народный Банк', - 'Северстройбанк', 'Севзапинвестпромбанк', 'Сельмашбанк', 'Сервис Резерв', 'Сетелем Банк', 'СИАБ', 'Сибсоцбанк', - 'Синко-Банк', 'Система', 'Сити Инвест Банк', 'Ситибанк', 'СКБ-Банк', 'Славия', 'Славянбанк', - 'Славянский Кредит', 'Снежинский', 'Собинбанк', 'Совкомбанк', 'Современные Стандарты Бизнеса', 'Соколовский', - 'Солид Банк', 'Солидарность', 'Социум-Банк', 'Союз', 'Спецстройбанк', 'Спиритбанк', 'Спутник', - 'Ставропольпромстройбанк', 'Столичный Кредит', 'Стройлесбанк', 'Сумитомо Мицуи Рус Банк', 'Сургутнефтегазбанк', - 'СЭБ Банк', 'Таврический Банк', 'Таганрогбанк', 'Тайдон', 'Тамбовкредитпромбанк', 'Татсоцбанк', 'Тексбанк', - 'Тендер-Банк', 'Тимер Банк', 'Тинькофф Банк', 'Тойота Банк', 'Тольяттихимбанк', 'Томскпромстройбанк', 'Торжок', - 'Транскапиталбанк', 'Трансстройбанк', 'Траст', 'Тэмбр-Банк', 'Углеметбанк', 'Унифондбанк', 'Уралпромбанк', - 'Уралсиб', 'Уралфинанс', 'Уральский Банк Реконструкции и Развития', 'Уральский Финансовый Дом', 'УРИ Банк', - 'Финанс Бизнес Банк', 'Финсервис', 'ФК Открытие', 'Фольксваген Банк Рус', 'Фора-Банк', 'Форбанк', 'Форштадт', - 'Фридом Финанс', 'Хакасский Муниципальный Банк', 'Химик', 'ХКФ Банк', 'Хлынов', 'Центрально-Азиатский', - 'Центр-Инвест', 'Центрокредит', 'ЦМРБанк', 'Чайна Констракшн Банк', 'Чайнасельхозбанк', 'Челиндбанк', - 'Челябинвестбанк', 'Эйч-Эс-Би-Си Банк (РР)', 'Эко-Инвест', 'Экономбанк', 'Экси-Банк', 'Экспобанк', - 'Экспресс-Волга', 'Элита', 'Эм-Ю-Эф-Джи Банк (Евразия)', 'Энергобанк', 'Энергомашбанк', 'Энерготрансбанк', - 'Эс-Би-Ай Банк', 'Ю Би Эс Банк', 'Юг-Инвестбанк', 'ЮМК Банк', 'Юникредит Банк', 'Юнистрим', 'Яринтербанк', + "Абсолют Банк", + "Авангард", + "Аверс", + "Автоградбанк", + "Автокредитбанк", + "Автоторгбанк", + "Агора", + "Агропромкредит", + "Агророс", + "Азиатско-Тихоокеанский Банк", + "Азия-Инвест Банк", + "Айсибиси Банк", + "АК Барс", + "Акибанк", + "Акрополь", + "Актив Банк", + "Акцепт", + "Александровский", + "Алеф-Банк", + "Алмазэргиэнбанк", + "Алтайкапиталбанк", + "Алтынбанк", + "Альба Альянс", + "Альтернатива", + "Альфа-Банк", + "Америкэн Экспресс Банк", + "Апабанк", + "Аресбанк", + "Арзамас", + "Байкалинвестбанк", + "Байкалкредобанк", + "Балаково-Банк", + "Балтинвестбанк", + 'Банк "Санкт-Петербург"', + 'Банк "СКС"', + "Банк 131", + "Банк Берейт", + "Банк Дом.рф", + "Банк Жилищного Финансирования", + "Банк Зенит", + "Банк Зенит Сочи", + "Банк Интеза", + "Банк Казани", + "Банк Корпоративного Финансирования", + "Банк Кредит Свисс (Москва)", + "Банк Оранжевый", + "Банк Оренбург", + "Банк ПСА Финанс Рус", + "Банк Раунд", + "Банк Реалист", + "Банк РМП", + "Банк РСИ", + "Банк СГБ", + "Банк Стандарт-Кредит", + "Банк Финам", + "Банк ЧБРР", + "ББР Банк", + "Белгородсоцбанк", + "Бест Эффортс Банк", + "Бизнес-Сервис-Траст", + "БКС Банк", + "БМ-Банк", + "БМВ Банк", + "БНП Париба Банк", + "Братский АНКБ", + "Быстробанк", + "Бэнк Оф Чайна", + "Вакобанк", + "Великие Луки Банк", + "Венец", + "Веста", + "Викинг", + "Витабанк", + "Вкабанк", + "Владбизнесбанк", + "Внешфинбанк", + "Возрождение", + "Вологжанин", + "Восточный", + "ВРБ", + "Всероссийский Банк Развития Регионов", + "ВТБ", + "Вуз-Банк", + "Вятич", + "Газнефтьбанк", + "Газпромбанк", + "Газтрансбанк", + "Газэнергобанк", + "Гарант-Инвест", + "Генбанк", + "Геобанк", + "Гефест", + "Глобус", + "Голдман Сакс Банк", + "Горбанк", + "Гута-Банк", + "Далена", + "Дальневосточный Банк", + "Денизбанк Москва", + "Держава", + "Дж.П. Морган Банк Интернешнл", + "Джей Энд Ти Банк", + "Дойче Банк", + "Долинск", + "Дом-Банк", + "Донкомбанк", + "Дон-Тексбанк", + "Дружба", + "ЕАТП Банк", + "Евразийский Банк", + "Евроазиатский Инвестиционный Банк", + "Евроальянс", + "Еврофинанс Моснарбанк", + "Екатеринбург", + "Енисейский Объединенный Банк", + "Ермак", + "Живаго Банк", + "Запсибкомбанк", + "Заречье", + "Заубер Банк", + "Земельный", + "Земский Банк", + "Зираат Банк (Москва)", + "Ижкомбанк", + "ИК Банк", + "Икано Банк", + "Инбанк", + "Инвестторгбанк", + "Инг Банк (Евразия)", + "Интерпрогрессбанк", + "Интерпромбанк", + "ИРС", + "ИС Банк", + "ИТ Банк", + "Итуруп", + "Ишбанк", + "Йошкар-Ола", + "Калуга", + "Камский Коммерческий Банк", + "Капитал", + "Кетовский Коммерческий Банк", + "Киви Банк", + "Классик Эконом Банк", + "Кольцо Урала", + "Коммерцбанк (Евразия)", + "Коммерческий Индо Банк", + "Консервативный Коммерческий Банк", + "Континенталь", + "Космос", + "Костромаселькомбанк", + "Кошелев-Банк", + "Креди Агриколь Киб", + "Кредит Европа Банк", + "Кредит Урал Банк", + "Кремлевский", + "Крокус-Банк", + "Крона-Банк", + "Кросна-Банк", + "КС Банк", + "Кубань Кредит", + "Кубаньторгбанк", + "Кузбассхимбанк", + "Кузнецкбизнесбанк", + "Кузнецкий", + "Кузнецкий Мост", + "Курган", + "Курскпромбанк", + "Кэб Эйчэнби Банк", + "Ланта-Банк", + "Левобережный", + "Локо-Банк", + "Майкопбанк", + "Майский", + "Максима", + "МБА-Москва", + "МВС Банк", + "Мегаполис", + "Международный Финансовый Клуб", + "Мерседес-Бенц Банк Рус", + "Металлинвестбанк", + "Металлург", + "Меткомбанк", + "Мидзухо Банк (Москва)", + "Мир Бизнес Банк", + "МКБ", + "Модульбанк", + "Морган Стэнли Банк", + "Морской Банк", + "Москва-Сити", + "Московский Индустриальный Банк", + "Московский Коммерческий Банк", + "Московский Кредитный Банк", + "Московский Нефтехимический Банк", + "Московский Областной Банк", + "Московское Ипотечное Агентство", + "Москоммерцбанк", + "МС Банк Рус", + "МСКБ", + "МСП Банк", + "МТИ Банк", + "МТС-Банк", + "Муниципальный Камчатпрофитбанк", + "Нальчик", + "Народный Банк", + "Народный Банк Тувы", + "Народный Доверительный Банк", + "Натиксис Банк", + "Национальный Банк Сбережений", + "Национальный Инвестиционно-Промышленный", + "Национальный Резервный Банк", + "Национальный Стандарт", + "НБД-Банк", + "Невастройинвест", + "Нейва", + "Нефтепромбанк", + "НИБ", + "Нижневолжский Коммерческий Банк", + "Нико-Банк", + "НК Банк", + "Новикомбанк", + "Новобанк", + "Новокиб", + "Новый Век", + "Новый Московский Банк", + "Нокссбанк", + "Ноосфера", + "Норвик Банк", + "Нордеа Банк", + "НС Банк", + "НФК", + "Объединенный Банк Республики", + "Объединенный Капитал", + "Онего", + "Оней Банк", + "Орбанк", + "Оргбанк", + "ОТП Банк", + "Первоуральскбанк", + "Первый Дортрансбанк", + "Первый Инвестиционный Банк", + "Первый Клиентский Банк", + "Пересвет", + "Пермь", + "Петербургский Социальный Ком. Банк", + "Платина", + "Плюс Банк", + "Пойдём!", + "Почта Банк", + "Почтобанк", + "Приморский Территориальный", + "Приморье", + "Примсоцбанк", + "Приобье", + "Прио-Внешторгбанк", + "Прокоммерцбанк", + "Проминвестбанк", + "Промсвязьбанк", + "Промсельхозбанк", + "Промтрансбанк", + "Профессионал Банк", + "Профессиональный Инвестиционный Банк", + "Прохладный", + "Развитие-Столица", + "Райффайзенбанк", + "РБА", + "Ренессанс Кредит", + "Рента-Банк", + "Ресо Кредит", + "Республиканский Кредитный Альянс", + "Ресурс-Траст", + "РН Банк", + "Росбанк", + "Росбизнесбанк", + "Росгосстрах Банк", + "Росдорбанк", + "Роскосмосбанк", + "Россельхозбанк", + "Российская Финансовая Корпорация", + "Российский Национальный Коммерческий Банк", + "Россита-Банк", + "Россия", + "Ростфинанс", + "Росэксимбанк", + "Роял Кредит Банк", + "Руна-Банк", + "Руснарбанк", + "Русский Банк Сбережений", + "Русский Региональный Банк", + "Русский Стандарт", + "Русфинанс Банк", + "Русьуниверсалбанк", + "РФИ Банк", + "Саммит Банк", + "Санкт-Петербургский Банк Инвестиций", + "Саратов", + "Саровбизнесбанк", + "Сбербанк России", + "Связь-Банк", + "СДМ-Банк", + "Севастопольский Морской Банк", + "Северный Морской Путь", + "Северный Народный Банк", + "Северстройбанк", + "Севзапинвестпромбанк", + "Сельмашбанк", + "Сервис Резерв", + "Сетелем Банк", + "СИАБ", + "Сибсоцбанк", + "Синко-Банк", + "Система", + "Сити Инвест Банк", + "Ситибанк", + "СКБ-Банк", + "Славия", + "Славянбанк", + "Славянский Кредит", + "Снежинский", + "Собинбанк", + "Совкомбанк", + "Современные Стандарты Бизнеса", + "Соколовский", + "Солид Банк", + "Солидарность", + "Социум-Банк", + "Союз", + "Спецстройбанк", + "Спиритбанк", + "Спутник", + "Ставропольпромстройбанк", + "Столичный Кредит", + "Стройлесбанк", + "Сумитомо Мицуи Рус Банк", + "Сургутнефтегазбанк", + "СЭБ Банк", + "Таврический Банк", + "Таганрогбанк", + "Тайдон", + "Тамбовкредитпромбанк", + "Татсоцбанк", + "Тексбанк", + "Тендер-Банк", + "Тимер Банк", + "Тинькофф Банк", + "Тойота Банк", + "Тольяттихимбанк", + "Томскпромстройбанк", + "Торжок", + "Транскапиталбанк", + "Трансстройбанк", + "Траст", + "Тэмбр-Банк", + "Углеметбанк", + "Унифондбанк", + "Уралпромбанк", + "Уралсиб", + "Уралфинанс", + "Уральский Банк Реконструкции и Развития", + "Уральский Финансовый Дом", + "УРИ Банк", + "Финанс Бизнес Банк", + "Финсервис", + "ФК Открытие", + "Фольксваген Банк Рус", + "Фора-Банк", + "Форбанк", + "Форштадт", + "Фридом Финанс", + "Хакасский Муниципальный Банк", + "Химик", + "ХКФ Банк", + "Хлынов", + "Центрально-Азиатский", + "Центр-Инвест", + "Центрокредит", + "ЦМРБанк", + "Чайна Констракшн Банк", + "Чайнасельхозбанк", + "Челиндбанк", + "Челябинвестбанк", + "Эйч-Эс-Би-Си Банк (РР)", + "Эко-Инвест", + "Экономбанк", + "Экси-Банк", + "Экспобанк", + "Экспресс-Волга", + "Элита", + "Эм-Ю-Эф-Джи Банк (Евразия)", + "Энергобанк", + "Энергомашбанк", + "Энерготрансбанк", + "Эс-Би-Ай Банк", + "Ю Би Эс Банк", + "Юг-Инвестбанк", + "ЮМК Банк", + "Юникредит Банк", + "Юнистрим", + "Яринтербанк", ) - def bic(self): + def bic(self) -> str: """Generate a bank identification code (BIC). BIC is a bank identification code that is used in Russia. See https://ru.wikipedia.org/wiki/Банковский_идентификационный_код. """ - region = self.random_element(self.region_codes) - department_code = self.numerify(self.random_element(self.department_code_formats)) - credit_organization_code = self.numerify(self.random_element(self.credit_organization_code_formats)) - return '04' + region + department_code + credit_organization_code + region: str = self.random_element(self.region_codes) + department_code: str = self.numerify(self.random_element(self.department_code_formats)) + credit_organization_code: str = self.numerify(self.random_element(self.credit_organization_code_formats)) + return "04" + region + department_code + credit_organization_code - def correspondent_account(self): + def correspondent_account(self) -> str: """Generate a correspondent account number. Correspondent account is established to handle various financial @@ -141,20 +740,20 @@ def correspondent_account(self): See https://ru.wikipedia.org/wiki/Корреспондентский_счёт. """ credit_organization_code = self.numerify(self.random_element(self.credit_organization_code_formats)) - return '301' + self.numerify('#' * 14) + credit_organization_code + return "301" + self.numerify("#" * 14) + credit_organization_code - def checking_account(self): + def checking_account(self) -> str: """Generate a checking account number. Checking account is used in banks to handle financial operations of clients. See https://ru.wikipedia.org/wiki/Расчётный_счёт. """ - account = self.random_element(self.checking_account_codes) - organization = self.random_element(self.organization_codes) - currency = self.random_element(self.currency_codes) - return account + organization + currency + self.numerify('#' * 12) + account: str = self.random_element(self.checking_account_codes) + organization: str = self.random_element(self.organization_codes) + currency: str = self.random_element(self.currency_codes) + return account + organization + currency + self.numerify("#" * 12) - def bank(self): + def bank(self) -> str: """Generate a bank name.""" return self.random_element(self.banks) diff --git a/faker/providers/bank/th_TH/__init__.py b/faker/providers/bank/th_TH/__init__.py new file mode 100644 index 0000000000..e2776732a3 --- /dev/null +++ b/faker/providers/bank/th_TH/__init__.py @@ -0,0 +1,64 @@ +from .. import Provider as BankProvider + + +class Provider(BankProvider): + """Implement bank provider for ``th_TH`` locale.""" + + bban_format = "#" * 10 + country_code = "TH" + swift_bank_codes = ( + "AIAC", + "ANZB", + "BKKB", + "BAAB", + "BOFA", + "AYUD", + "BKCH", + "BOTH", + "BNPA", + "UBOB", + "CITI", + "CRES", + "DEUT", + "EXTH", + "GSBA", + "BHOB", + "ICBK", + "TIBT", + "CHAS", + "KASI", + "KKPB", + "KRTH", + "LAHR", + "ICBC", + "MHCB", + "OCBC", + "DCBB", + "SICO", + "SMEB", + "SCBL", + "SMBC", + "THBK", + "HSBC", + "TMBK", + "UOVB", + ) + swift_location_codes = ( + "BK", + "B2", + "BB", + "BX", + "2X", + ) + swift_branch_codes = ( + "BKO", + "BNA", + "RYO", + "CHB", + "IBF", + "SEC", + "HDY", + "CHM", + "NAV", + "XXX", + ) diff --git a/faker/providers/bank/tr_TR/__init__.py b/faker/providers/bank/tr_TR/__init__.py index e89db54f42..e57bed6420 100644 --- a/faker/providers/bank/tr_TR/__init__.py +++ b/faker/providers/bank/tr_TR/__init__.py @@ -4,5 +4,5 @@ class Provider(BankProvider): """Implement bank provider for ``tr_TR`` locale.""" - bban_format = '######################' - country_code = 'TR' + bban_format = "######################" + country_code = "TR" diff --git a/faker/providers/barcode/__init__.py b/faker/providers/barcode/__init__.py index e388f1d52a..57957a3c87 100644 --- a/faker/providers/barcode/__init__.py +++ b/faker/providers/barcode/__init__.py @@ -1,7 +1,11 @@ +from typing import Tuple, Union + from .. import BaseProvider localized = True +PrefixType = Tuple[Union[int, str, Tuple[Union[int, str], ...]], ...] + class Provider(BaseProvider): """Implement default barcode provider for Faker. @@ -11,17 +15,17 @@ class Provider(BaseProvider): - https://gs1.org/standards/id-keys/company-prefix """ - local_prefixes = () + local_prefixes: PrefixType = () - def _ean(self, length=13, prefixes=()): + def _ean(self, length: int = 13, prefixes: PrefixType = ()) -> str: if length not in (8, 13): raise AssertionError("length can only be 8 or 13") code = [self.random_digit() for _ in range(length - 1)] if prefixes: - prefix = self.random_element(prefixes) - code[:len(prefix)] = map(int, prefix) + prefix: str = self.random_element(prefixes) + code[: len(prefix)] = map(int, prefix) if length == 8: weights = [3, 1, 3, 1, 3, 1, 3] @@ -32,9 +36,9 @@ def _ean(self, length=13, prefixes=()): check_digit = (10 - weighted_sum % 10) % 10 code.append(check_digit) - return ''.join(str(x) for x in code) + return "".join(str(x) for x in code) - def ean(self, length=13, prefixes=()): + def ean(self, length: int = 13, prefixes: PrefixType = ()) -> str: """Generate an EAN barcode of the specified ``length``. The value of ``length`` can only be ``8`` or ``13`` (default) which will @@ -50,7 +54,7 @@ def ean(self, length=13, prefixes=()): """ return self._ean(length, prefixes=prefixes) - def ean8(self, prefixes=()): + def ean8(self, prefixes: Tuple[()] = ()) -> str: """Generate an EAN-8 barcode. This method uses |ean| under the hood with the ``length`` argument @@ -65,7 +69,7 @@ def ean8(self, prefixes=()): """ return self._ean(8, prefixes=prefixes) - def ean13(self, prefixes=()): + def ean13(self, prefixes: PrefixType = ()) -> str: """Generate an EAN-13 barcode. This method uses |ean| under the hood with the ``length`` argument @@ -85,7 +89,7 @@ def ean13(self, prefixes=()): """ return self._ean(13, prefixes=prefixes) - def localized_ean(self, length=13): + def localized_ean(self, length: int = 13) -> str: """Generate a localized EAN barcode of the specified ``length``. The value of ``length`` can only be ``8`` or ``13`` (default) which will @@ -101,7 +105,7 @@ def localized_ean(self, length=13): """ return self._ean(length, prefixes=self.local_prefixes) - def localized_ean8(self): + def localized_ean8(self) -> str: """Generate a localized EAN-8 barcode. This method uses |localized_ean| under the hood with the ``length`` @@ -109,7 +113,7 @@ def localized_ean8(self): """ return self.localized_ean(8) - def localized_ean13(self): + def localized_ean13(self) -> str: """Generate a localized EAN-13 barcode. This method uses |localized_ean| under the hood with the ``length`` diff --git a/faker/providers/barcode/en_US/__init__.py b/faker/providers/barcode/en_US/__init__.py index 9a3578e618..e009dfc6c6 100644 --- a/faker/providers/barcode/en_US/__init__.py +++ b/faker/providers/barcode/en_US/__init__.py @@ -1,7 +1,9 @@ import re from itertools import product +from typing import Dict, Optional, Pattern +from .. import PrefixType from .. import Provider as BarcodeProvider @@ -18,32 +20,32 @@ class Provider(BarcodeProvider): *product((1,), range(4)), ) - upc_e_base_pattern = re.compile(r'^\d{6}$') - upc_ae_pattern1 = re.compile( - r'^(?P[01])' # The first digit must be 0 or 1 - r'(?=\d{11}$)' # followed by 11 digits of which - r'(?P\d{2})' # the first 2 digits make up the manufacturer code, - r'(?:(?P[012])0{4})' # if immediately followed by 00000, 10000, or 20000, - r'(?P\d{3})' # a 3-digit product code, - r'(?P\d)$', # and finally a check digit. + upc_e_base_pattern: Pattern = re.compile(r"^\d{6}$") + upc_ae_pattern1: Pattern = re.compile( + r"^(?P[01])" # The first digit must be 0 or 1 + r"(?=\d{11}$)" # followed by 11 digits of which + r"(?P\d{2})" # the first 2 digits make up the manufacturer code, + r"(?:(?P[012])0{4})" # if immediately followed by 00000, 10000, or 20000, + r"(?P\d{3})" # a 3-digit product code, + r"(?P\d)$", # and finally a check digit. ) - upc_ae_pattern2 = re.compile( - r'^(?P[01])' # The first digit must be 0 or 1 - r'(?=\d{11}$)' # followed by 11 digits of which - r'(?P\d{3,4}?)' # the first 3 or 4 digits make up the manufacturer code, - r'(?:0{5})' # if immediately followed by 00000, - r'(?P\d{1,2})' # a 2-digit or single digit product code, - r'(?P\d)$', # and finally a check digit. + upc_ae_pattern2: Pattern = re.compile( + r"^(?P[01])" # The first digit must be 0 or 1 + r"(?=\d{11}$)" # followed by 11 digits of which + r"(?P\d{3,4}?)" # the first 3 or 4 digits make up the manufacturer code, + r"(?:0{5})" # if immediately followed by 00000, + r"(?P\d{1,2})" # a 2-digit or single digit product code, + r"(?P\d)$", # and finally a check digit. ) - upc_ae_pattern3 = re.compile( - r'^(?P[01])' # The first digit must be 0 or 1 - r'(?=\d{11}$)' # followed by 11 digits of which - r'(?P\d{5})' # the first 5 digits make up the manufacturer code, - r'(?:0{4}(?P[5-9]))' # if immediately followed by 0000 and a 5, 6, 7, 8, or 9, - r'(?P\d)$', # and finally a check digit. + upc_ae_pattern3: Pattern = re.compile( + r"^(?P[01])" # The first digit must be 0 or 1 + r"(?=\d{11}$)" # followed by 11 digits of which + r"(?P\d{5})" # the first 5 digits make up the manufacturer code, + r"(?:0{4}(?P[5-9]))" # if immediately followed by 0000 and a 5, 6, 7, 8, or 9, + r"(?P\d)$", # and finally a check digit. ) - def ean13(self, leading_zero=None, prefixes=()): + def ean13(self, prefixes: PrefixType = (), leading_zero: Optional[bool] = None) -> str: """Generate an EAN-13 barcode. If ``leading_zero`` is ``True``, the leftmost digit of the barcode will @@ -82,33 +84,34 @@ def ean13(self, leading_zero=None, prefixes=()): return super().ean13(prefixes=prefixes) - def _convert_upc_a2e(self, upc_a): + def _convert_upc_a2e(self, upc_a: str) -> str: """Convert a 12-digit UPC-A barcode to its 8-digit UPC-E equivalent. .. warning:: Not all UPC-A barcodes can be converted. """ if not isinstance(upc_a, str): - raise TypeError('`upc_a` is not a string') + raise TypeError("`upc_a` is not a string") m1 = self.upc_ae_pattern1.match(upc_a) m2 = self.upc_ae_pattern2.match(upc_a) m3 = self.upc_ae_pattern3.match(upc_a) if not any([m1, m2, m3]): - raise ValueError('`upc_a` has an invalid value') - upc_e_template = '{number_system_digit}{mfr_code}{product_code}{extra}{check_digit}' + raise ValueError("`upc_a` has an invalid value") + upc_e_template = "{number_system_digit}{mfr_code}{product_code}{extra}{check_digit}" if m1: upc_e = upc_e_template.format(**m1.groupdict()) elif m2: - groupdict = m2.groupdict() - groupdict['extra'] = str(len(groupdict.get('mfr_code'))) + groupdict: Dict[str, str] = m2.groupdict() + mfr_code = groupdict.get("mfr_code") or "" + groupdict["extra"] = str(len(mfr_code)) upc_e = upc_e_template.format(**groupdict) - else: + elif m3: groupdict = m3.groupdict() - groupdict['product_code'] = '' + groupdict["product_code"] = "" upc_e = upc_e_template.format(**groupdict) return upc_e - def _upc_ae(self, base=None, number_system_digit=None): + def _upc_ae(self, base: Optional[str] = None, number_system_digit: Optional[int] = None) -> str: """Create a 12-digit UPC-A barcode that can be converted to UPC-E. The expected value of ``base`` is a 6-digit string. If any other value @@ -121,28 +124,34 @@ def _upc_ae(self, base=None, number_system_digit=None): Please also view notes on |EnUsBarcodeProvider.upc_a| and |EnUsBarcodeProvider.upc_e| for more details. """ - if isinstance(base, str) and self.upc_e_base_pattern.match(base): - base = [int(x) for x in base] - else: - base = [self.random_int(0, 9) for _ in range(6)] + base_ = ( + [int(x) for x in base] + if isinstance(base, str) and self.upc_e_base_pattern.match(base) + else [self.random_int(0, 9) for _ in range(6)] + ) if number_system_digit not in [0, 1]: number_system_digit = self.random_int(0, 1) - if base[-1] <= 2: - code = base[:2] + base[-1:] + [0] * 4 + base[2:-1] - elif base[-1] <= 4: - code = base[:base[-1]] + [0] * 5 + base[base[-1]:-1] + if base_[-1] <= 2: + code = base_[:2] + base_[-1:] + [0] * 4 + base_[2:-1] + elif base_[-1] <= 4: + code = base_[: base_[-1]] + [0] * 5 + base_[base_[-1] : -1] else: - code = base[:5] + [0] * 4 + base[-1:] + code = base_[:5] + [0] * 4 + base_[-1:] code.insert(0, number_system_digit) weights = [3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3] weighted_sum = sum(x * y for x, y in zip(code, weights)) check_digit = (10 - weighted_sum % 10) % 10 code.append(check_digit) - return ''.join(str(x) for x in code) - - def upc_a(self, upc_ae_mode=False, base=None, number_system_digit=None): + return "".join(str(x) for x in code) + + def upc_a( + self, + upc_ae_mode: bool = False, + base: Optional[str] = None, + number_system_digit: Optional[int] = None, + ) -> str: """Generate a 12-digit UPC-A barcode. The value of ``upc_ae_mode`` controls how barcodes will be generated. If @@ -182,7 +191,12 @@ def upc_a(self, upc_ae_mode=False, base=None, number_system_digit=None): ean13 = self.ean13(leading_zero=True) return ean13[1:] - def upc_e(self, base=None, number_system_digit=None, safe_mode=True): + def upc_e( + self, + base: Optional[str] = None, + number_system_digit: Optional[int] = None, + safe_mode: bool = True, + ) -> str: """Generate an 8-digit UPC-E barcode. UPC-E barcodes can be expressed in 6, 7, or 8-digit formats, but this @@ -232,4 +246,4 @@ def upc_e(self, base=None, number_system_digit=None, safe_mode=True): return self._convert_upc_a2e(upc_ae) else: upc_ae = self._upc_ae(base=base, number_system_digit=number_system_digit) - return upc_ae[0] + ''.join(str(x) for x in base) + upc_ae[-1] + return upc_ae[0] + "".join(str(x) for x in base or "") + upc_ae[-1] diff --git a/faker/providers/barcode/ja_JP/__init__.py b/faker/providers/barcode/ja_JP/__init__.py index 4fc6191b06..b4d571f283 100644 --- a/faker/providers/barcode/ja_JP/__init__.py +++ b/faker/providers/barcode/ja_JP/__init__.py @@ -23,7 +23,7 @@ class Provider(BarcodeProvider): local_prefixes = (4, 5), (4, 9) - def jan(self, length=13): + def jan(self, length: int = 13) -> str: """Generate a JAN barcode of the specified ``length``. This method is an alias for |JaJpProvider.localized_ean|. @@ -34,14 +34,14 @@ def jan(self, length=13): """ return self.localized_ean(length) - def jan8(self): + def jan8(self) -> str: """Generate a 8 digit JAN barcode. This method is an alias for |JaJpProvider.localized_ean8|. """ return self.localized_ean8() - def jan13(self): + def jan13(self) -> str: """Generate a 13 digit JAN barcode. This method is an alias for |JaJpProvider.localized_ean13|. diff --git a/faker/providers/color/__init__.py b/faker/providers/color/__init__.py index 915a618414..6cc5019980 100644 --- a/faker/providers/color/__init__.py +++ b/faker/providers/color/__init__.py @@ -1,6 +1,8 @@ from collections import OrderedDict +from typing import Dict, Optional -from .. import BaseProvider +from ...typing import HueType +from .. import BaseProvider, ElementsType from .color import RandomColor localized = True @@ -9,186 +11,199 @@ class Provider(BaseProvider): """Implement default color provider for Faker.""" - all_colors = OrderedDict(( - ("AliceBlue", "#F0F8FF"), - ("AntiqueWhite", "#FAEBD7"), - ("Aqua", "#00FFFF"), - ("Aquamarine", "#7FFFD4"), - ("Azure", "#F0FFFF"), - ("Beige", "#F5F5DC"), - ("Bisque", "#FFE4C4"), - ("Black", "#000000"), - ("BlanchedAlmond", "#FFEBCD"), - ("Blue", "#0000FF"), - ("BlueViolet", "#8A2BE2"), - ("Brown", "#A52A2A"), - ("BurlyWood", "#DEB887"), - ("CadetBlue", "#5F9EA0"), - ("Chartreuse", "#7FFF00"), - ("Chocolate", "#D2691E"), - ("Coral", "#FF7F50"), - ("CornflowerBlue", "#6495ED"), - ("Cornsilk", "#FFF8DC"), - ("Crimson", "#DC143C"), - ("Cyan", "#00FFFF"), - ("DarkBlue", "#00008B"), - ("DarkCyan", "#008B8B"), - ("DarkGoldenRod", "#B8860B"), - ("DarkGray", "#A9A9A9"), - ("DarkGreen", "#006400"), - ("DarkKhaki", "#BDB76B"), - ("DarkMagenta", "#8B008B"), - ("DarkOliveGreen", "#556B2F"), - ("DarkOrange", "#FF8C00"), - ("DarkOrchid", "#9932CC"), - ("DarkRed", "#8B0000"), - ("DarkSalmon", "#E9967A"), - ("DarkSeaGreen", "#8FBC8F"), - ("DarkSlateBlue", "#483D8B"), - ("DarkSlateGray", "#2F4F4F"), - ("DarkTurquoise", "#00CED1"), - ("DarkViolet", "#9400D3"), - ("DeepPink", "#FF1493"), - ("DeepSkyBlue", "#00BFFF"), - ("DimGray", "#696969"), - ("DodgerBlue", "#1E90FF"), - ("FireBrick", "#B22222"), - ("FloralWhite", "#FFFAF0"), - ("ForestGreen", "#228B22"), - ("Fuchsia", "#FF00FF"), - ("Gainsboro", "#DCDCDC"), - ("GhostWhite", "#F8F8FF"), - ("Gold", "#FFD700"), - ("GoldenRod", "#DAA520"), - ("Gray", "#808080"), - ("Green", "#008000"), - ("GreenYellow", "#ADFF2F"), - ("HoneyDew", "#F0FFF0"), - ("HotPink", "#FF69B4"), - ("IndianRed", "#CD5C5C"), - ("Indigo", "#4B0082"), - ("Ivory", "#FFFFF0"), - ("Khaki", "#F0E68C"), - ("Lavender", "#E6E6FA"), - ("LavenderBlush", "#FFF0F5"), - ("LawnGreen", "#7CFC00"), - ("LemonChiffon", "#FFFACD"), - ("LightBlue", "#ADD8E6"), - ("LightCoral", "#F08080"), - ("LightCyan", "#E0FFFF"), - ("LightGoldenRodYellow", "#FAFAD2"), - ("LightGray", "#D3D3D3"), - ("LightGreen", "#90EE90"), - ("LightPink", "#FFB6C1"), - ("LightSalmon", "#FFA07A"), - ("LightSeaGreen", "#20B2AA"), - ("LightSkyBlue", "#87CEFA"), - ("LightSlateGray", "#778899"), - ("LightSteelBlue", "#B0C4DE"), - ("LightYellow", "#FFFFE0"), - ("Lime", "#00FF00"), - ("LimeGreen", "#32CD32"), - ("Linen", "#FAF0E6"), - ("Magenta", "#FF00FF"), - ("Maroon", "#800000"), - ("MediumAquaMarine", "#66CDAA"), - ("MediumBlue", "#0000CD"), - ("MediumOrchid", "#BA55D3"), - ("MediumPurple", "#9370DB"), - ("MediumSeaGreen", "#3CB371"), - ("MediumSlateBlue", "#7B68EE"), - ("MediumSpringGreen", "#00FA9A"), - ("MediumTurquoise", "#48D1CC"), - ("MediumVioletRed", "#C71585"), - ("MidnightBlue", "#191970"), - ("MintCream", "#F5FFFA"), - ("MistyRose", "#FFE4E1"), - ("Moccasin", "#FFE4B5"), - ("NavajoWhite", "#FFDEAD"), - ("Navy", "#000080"), - ("OldLace", "#FDF5E6"), - ("Olive", "#808000"), - ("OliveDrab", "#6B8E23"), - ("Orange", "#FFA500"), - ("OrangeRed", "#FF4500"), - ("Orchid", "#DA70D6"), - ("PaleGoldenRod", "#EEE8AA"), - ("PaleGreen", "#98FB98"), - ("PaleTurquoise", "#AFEEEE"), - ("PaleVioletRed", "#DB7093"), - ("PapayaWhip", "#FFEFD5"), - ("PeachPuff", "#FFDAB9"), - ("Peru", "#CD853F"), - ("Pink", "#FFC0CB"), - ("Plum", "#DDA0DD"), - ("PowderBlue", "#B0E0E6"), - ("Purple", "#800080"), - ("Red", "#FF0000"), - ("RosyBrown", "#BC8F8F"), - ("RoyalBlue", "#4169E1"), - ("SaddleBrown", "#8B4513"), - ("Salmon", "#FA8072"), - ("SandyBrown", "#F4A460"), - ("SeaGreen", "#2E8B57"), - ("SeaShell", "#FFF5EE"), - ("Sienna", "#A0522D"), - ("Silver", "#C0C0C0"), - ("SkyBlue", "#87CEEB"), - ("SlateBlue", "#6A5ACD"), - ("SlateGray", "#708090"), - ("Snow", "#FFFAFA"), - ("SpringGreen", "#00FF7F"), - ("SteelBlue", "#4682B4"), - ("Tan", "#D2B48C"), - ("Teal", "#008080"), - ("Thistle", "#D8BFD8"), - ("Tomato", "#FF6347"), - ("Turquoise", "#40E0D0"), - ("Violet", "#EE82EE"), - ("Wheat", "#F5DEB3"), - ("White", "#FFFFFF"), - ("WhiteSmoke", "#F5F5F5"), - ("Yellow", "#FFFF00"), - ("YellowGreen", "#9ACD32"), - )) - - safe_colors = ( - 'black', 'maroon', 'green', 'navy', 'olive', - 'purple', 'teal', 'lime', 'blue', 'silver', - 'gray', 'yellow', 'fuchsia', 'aqua', 'white', + all_colors: Dict[str, str] = OrderedDict( + ( + ("AliceBlue", "#F0F8FF"), + ("AntiqueWhite", "#FAEBD7"), + ("Aqua", "#00FFFF"), + ("Aquamarine", "#7FFFD4"), + ("Azure", "#F0FFFF"), + ("Beige", "#F5F5DC"), + ("Bisque", "#FFE4C4"), + ("Black", "#000000"), + ("BlanchedAlmond", "#FFEBCD"), + ("Blue", "#0000FF"), + ("BlueViolet", "#8A2BE2"), + ("Brown", "#A52A2A"), + ("BurlyWood", "#DEB887"), + ("CadetBlue", "#5F9EA0"), + ("Chartreuse", "#7FFF00"), + ("Chocolate", "#D2691E"), + ("Coral", "#FF7F50"), + ("CornflowerBlue", "#6495ED"), + ("Cornsilk", "#FFF8DC"), + ("Crimson", "#DC143C"), + ("Cyan", "#00FFFF"), + ("DarkBlue", "#00008B"), + ("DarkCyan", "#008B8B"), + ("DarkGoldenRod", "#B8860B"), + ("DarkGray", "#A9A9A9"), + ("DarkGreen", "#006400"), + ("DarkKhaki", "#BDB76B"), + ("DarkMagenta", "#8B008B"), + ("DarkOliveGreen", "#556B2F"), + ("DarkOrange", "#FF8C00"), + ("DarkOrchid", "#9932CC"), + ("DarkRed", "#8B0000"), + ("DarkSalmon", "#E9967A"), + ("DarkSeaGreen", "#8FBC8F"), + ("DarkSlateBlue", "#483D8B"), + ("DarkSlateGray", "#2F4F4F"), + ("DarkTurquoise", "#00CED1"), + ("DarkViolet", "#9400D3"), + ("DeepPink", "#FF1493"), + ("DeepSkyBlue", "#00BFFF"), + ("DimGray", "#696969"), + ("DodgerBlue", "#1E90FF"), + ("FireBrick", "#B22222"), + ("FloralWhite", "#FFFAF0"), + ("ForestGreen", "#228B22"), + ("Fuchsia", "#FF00FF"), + ("Gainsboro", "#DCDCDC"), + ("GhostWhite", "#F8F8FF"), + ("Gold", "#FFD700"), + ("GoldenRod", "#DAA520"), + ("Gray", "#808080"), + ("Green", "#008000"), + ("GreenYellow", "#ADFF2F"), + ("HoneyDew", "#F0FFF0"), + ("HotPink", "#FF69B4"), + ("IndianRed", "#CD5C5C"), + ("Indigo", "#4B0082"), + ("Ivory", "#FFFFF0"), + ("Khaki", "#F0E68C"), + ("Lavender", "#E6E6FA"), + ("LavenderBlush", "#FFF0F5"), + ("LawnGreen", "#7CFC00"), + ("LemonChiffon", "#FFFACD"), + ("LightBlue", "#ADD8E6"), + ("LightCoral", "#F08080"), + ("LightCyan", "#E0FFFF"), + ("LightGoldenRodYellow", "#FAFAD2"), + ("LightGray", "#D3D3D3"), + ("LightGreen", "#90EE90"), + ("LightPink", "#FFB6C1"), + ("LightSalmon", "#FFA07A"), + ("LightSeaGreen", "#20B2AA"), + ("LightSkyBlue", "#87CEFA"), + ("LightSlateGray", "#778899"), + ("LightSteelBlue", "#B0C4DE"), + ("LightYellow", "#FFFFE0"), + ("Lime", "#00FF00"), + ("LimeGreen", "#32CD32"), + ("Linen", "#FAF0E6"), + ("Magenta", "#FF00FF"), + ("Maroon", "#800000"), + ("MediumAquaMarine", "#66CDAA"), + ("MediumBlue", "#0000CD"), + ("MediumOrchid", "#BA55D3"), + ("MediumPurple", "#9370DB"), + ("MediumSeaGreen", "#3CB371"), + ("MediumSlateBlue", "#7B68EE"), + ("MediumSpringGreen", "#00FA9A"), + ("MediumTurquoise", "#48D1CC"), + ("MediumVioletRed", "#C71585"), + ("MidnightBlue", "#191970"), + ("MintCream", "#F5FFFA"), + ("MistyRose", "#FFE4E1"), + ("Moccasin", "#FFE4B5"), + ("NavajoWhite", "#FFDEAD"), + ("Navy", "#000080"), + ("OldLace", "#FDF5E6"), + ("Olive", "#808000"), + ("OliveDrab", "#6B8E23"), + ("Orange", "#FFA500"), + ("OrangeRed", "#FF4500"), + ("Orchid", "#DA70D6"), + ("PaleGoldenRod", "#EEE8AA"), + ("PaleGreen", "#98FB98"), + ("PaleTurquoise", "#AFEEEE"), + ("PaleVioletRed", "#DB7093"), + ("PapayaWhip", "#FFEFD5"), + ("PeachPuff", "#FFDAB9"), + ("Peru", "#CD853F"), + ("Pink", "#FFC0CB"), + ("Plum", "#DDA0DD"), + ("PowderBlue", "#B0E0E6"), + ("Purple", "#800080"), + ("Red", "#FF0000"), + ("RosyBrown", "#BC8F8F"), + ("RoyalBlue", "#4169E1"), + ("SaddleBrown", "#8B4513"), + ("Salmon", "#FA8072"), + ("SandyBrown", "#F4A460"), + ("SeaGreen", "#2E8B57"), + ("SeaShell", "#FFF5EE"), + ("Sienna", "#A0522D"), + ("Silver", "#C0C0C0"), + ("SkyBlue", "#87CEEB"), + ("SlateBlue", "#6A5ACD"), + ("SlateGray", "#708090"), + ("Snow", "#FFFAFA"), + ("SpringGreen", "#00FF7F"), + ("SteelBlue", "#4682B4"), + ("Tan", "#D2B48C"), + ("Teal", "#008080"), + ("Thistle", "#D8BFD8"), + ("Tomato", "#FF6347"), + ("Turquoise", "#40E0D0"), + ("Violet", "#EE82EE"), + ("Wheat", "#F5DEB3"), + ("White", "#FFFFFF"), + ("WhiteSmoke", "#F5F5F5"), + ("Yellow", "#FFFF00"), + ("YellowGreen", "#9ACD32"), + ) + ) + + safe_colors: ElementsType = ( + "black", + "maroon", + "green", + "navy", + "olive", + "purple", + "teal", + "lime", + "blue", + "silver", + "gray", + "yellow", + "fuchsia", + "aqua", + "white", ) - def color_name(self): + def color_name(self) -> str: """Generate a color name.""" return self.random_element(self.all_colors.keys()) - def safe_color_name(self): + def safe_color_name(self) -> str: """Generate a web-safe color name.""" return self.random_element(self.safe_colors) - def hex_color(self): + def hex_color(self) -> str: """Generate a color formatted as a hex triplet.""" - return "#{}".format( - ("%x" % - self.random_int( - 1, 16777215)).ljust( - 6, '0')) + return f"#{self.random_int(1, 16777215):06x}" - def safe_hex_color(self): + def safe_hex_color(self) -> str: """Generate a web-safe color formatted as a hex triplet.""" - color = ("%x" % self.random_int(0, 255)).ljust(3, '0') - return "#{0}{0}{1}{1}{2}{2}".format(*color) + return f"#{self.random_int(0, 15) * 17:02x}{self.random_int(0, 15) * 17:02x}{self.random_int(0, 15) * 17:02x}" - def rgb_color(self): + def rgb_color(self) -> str: """Generate a color formatted as a comma-separated RGB value.""" - return ','.join(map(str, (self.random_int(0, 255) for _ in range(3)))) + return ",".join(map(str, (self.random_int(0, 255) for _ in range(3)))) - def rgb_css_color(self): + def rgb_css_color(self) -> str: """Generate a color formatted as a CSS rgb() function.""" - return 'rgb(%s)' % ','.join( - map(str, (self.random_int(0, 255) for _ in range(3)))) - - def color(self, hue=None, luminosity=None, color_format='hex'): + return f"rgb({self.random_int(0, 255)},{self.random_int(0, 255)},{self.random_int(0, 255)})" + + def color( + self, + hue: Optional[HueType] = None, + luminosity: Optional[str] = None, + color_format: str = "hex", + ) -> str: """Generate a color in a human-friendly way. Under the hood, this method first creates a color represented in the HSV @@ -224,5 +239,7 @@ def color(self, hue=None, luminosity=None, color_format='hex'): :sample: hue=(300, 20), luminosity='random', color_format='hsl' """ return RandomColor(self.generator).generate( - hue=hue, luminosity=luminosity, color_format=color_format, + hue=hue, + luminosity=luminosity, + color_format=color_format, ) diff --git a/faker/providers/color/ar_PS/__init__.py b/faker/providers/color/ar_PS/__init__.py index 3a130635c5..7e6793c2db 100644 --- a/faker/providers/color/ar_PS/__init__.py +++ b/faker/providers/color/ar_PS/__init__.py @@ -6,151 +6,165 @@ class Provider(ColorProvider): """Implement color provider for ``ar_PS`` locale.""" - all_colors = OrderedDict(( - ("أزرق أليس", "#F0F8FF"), - ("أبيض عتيق", "#FAEBD7"), - ("مائي", "#00FFFF"), - ("زبرجدي", "#7FFFD4"), - ("لازوردي", "#F0FFFF"), - ("صوفي", "#F5F5DC"), - ("حسائي", "#FFE4C4"), - ("أسود", "#000000"), - ("لوزي", "#FFEBCD"), - ("أزرق", "#0000FF"), - ("بنفسجي مزرق", "#8A2BE2"), - ("بني", "#A52A2A"), - ("خشبية", "#DEB887"), - ("أزرق كاديتي", "#5F9EA0"), - ("كرتوزي", "#7FFF00"), - ("شوكولاتيّ", "#D2691E"), - ("مرجاني", "#FF7F50"), - ("قنطريوني", "#6495ED"), - ("حرير الذرة", "#FFF8DC"), - ("قرمزي", "#DC143C"), - ("سيان", "#00FFFF"), - ("أزرق داكن", "#00008B"), - ("سيان داكن", "#008B8B"), - ("عصا الدهب الغامق", "#B8860B"), - ("رمادي داكن", "#A9A9A9"), - ("أخضر داكن", "#006400"), - ("خاكي داكن", "#BDB76B"), - ("ماجنتا داكن", "#8B008B"), - ("أخضر زيتوني داكن", "#556B2F"), - ("برتقالي داكن", "#FF8C00"), - ("أوركيدي داكن", "#9932CC"), - ("أحمر داكن", "#8B0000"), - ("سلموني داكن", "#E9967A"), - ("أخضر بحري داكن", "#8FBC8F"), - ("أزرق أردوازي داكن", "#483D8B"), - ("رمادي لازوردي داكن", "#2F4F4F"), - ("تركوازي داكن", "#00CED1"), - ("بنفسج داكن", "#9400D3"), - ("زهري غامق", "#FF1493"), - ("أزرق سماوي غامق", "#00BFFF"), - ("رمادي خافت", "#696969"), - ("أزرق فريق دودجر", "#1E90FF"), - ("الطوب شمت", "#B22222"), - ("أبيض وردي", "#FFFAF0"), - ("أخضر الغابت", "#228B22"), - ("فوشي", "#FF00FF"), - ("رمادي باهت", "#DCDCDC"), - ("أبيض شبحي", "#F8F8FF"), - ("ذهبي", "#FFD700"), - ("ذهبي", "#DAA520"), - ("رمادي", "#808080"), - ("أخضر", "#008000"), - ("أصفر مخضر", "#ADFF2F"), - ("عسلي", "#F0FFF0"), - ("وردي فاقع", "#FF69B4"), - ("قسطلي", "#CD5C5C"), - ("نيلي", "#4B0082"), - ("سكري", "#FFFFF0"), - ("خاكي", "#F0E68C"), - ("لاڤندر", "#E6E6FA"), - ("أحمر اللافندر", "#FFF0F5"), - ("أخضر عشبي", "#7CFC00"), - ("ليمون شيفوني", "#FFFACD"), - ("أزرق فاتح", "#ADD8E6"), - ("مرجاني فاتح", "#F08080"), - ("أزرق طفولي", "#E0FFFF"), - ("أصفر ذهبي فاتح ", "#FAFAD2"), - ("رمادي فاتح", "#D3D3D3"), - ("أخضر فاتح", "#90EE90"), - ("وردي فاتح", "#FFB6C1"), - ("سلموني فاتح", "#FFA07A"), - ("أخضر بحري فاتح", "#20B2AA"), - ("سماوي فاتح", "#87CEFA"), - ("أزرق أردوازي فاتح", "#778899"), - ("أزرق معدني فاتح", "#B0C4DE"), - ("أصفر فاتح", "#FFFFE0"), - ("ليمي", "#00FF00"), - ("أخضر ليموني", "#32CD32"), - ("كتاني", "#FAF0E6"), - ("فوشيا", "#FF00FF"), - ("كستنائي", "#800000"), - ("زبرجدي متوسط", "#66CDAA"), - ("أزرق متوسط", "#0000CD"), - ("أوركيدي متوسط", "#BA55D3"), - ("فوشي متوسط", "#9370DB"), - ("أخضر بحري متوسط", "#3CB371"), - ("أزرق أردوازي متوسط", "#7B68EE"), - ("أخضر ربيعي متوسط", "#00FA9A"), - ("ترموازي متوسط", "#48D1CC"), - ("أحمر بنفسجي", "#C71585"), - ("الأزرق متوسط", "#191970"), - ("نعناعي كريمي", "#F5FFFA"), - ("الوردي الضبابي", "#FFE4E1"), - ("موكاسيني", "#FFE4B5"), - ("أبيض نافاجو", "#FFDEAD"), - ("كحلي", "#000080"), - ("رباطي قديم", "#FDF5E6"), - ("زيتوني", "#808000"), - ("زيتوني رمادي", "#6B8E23"), - ("برتقالي", "#FFA500"), - ("أحمر برتقالي", "#FF4500"), - ("أوركيدي", "#DA70D6"), - ("ذهبي باهت", "#EEE8AA"), - ("أخضر باهت", "#98FB98"), - ("تركوازي باهت", "#AFEEEE"), - ("أحمر بنفسجي باهت", "#DB7093"), - ("بابايا", "#FFEFD5"), - ("حنطي", "#FFDAB9"), - ("بيرو", "#CD853F"), - ("زهري", "#FFC0CB"), - ("برقوقي", "#DDA0DD"), - ("أزرق مسحوقي", "#B0E0E6"), - ("أرجواني", "#800080"), - ("أحمر", "#FF0000"), - ("بني وردي", "#BC8F8F"), - ("أزرق ملكي", "#4169E1"), - ("بني السرج", "#8B4513"), - ("سالموني", "#FA8072"), - ("بني رملي", "#F4A460"), - ("أخضر بحري", "#2E8B57"), - ("صدفي", "#FFF5EE"), - ("سيينا", "#A0522D"), - ("فضي", "#C0C0C0"), - ("أزرق سماي", "#87CEEB"), - ("أزرق أردوازي", "#6A5ACD"), - ("رمادي معدني", "#708090"), - ("ثلجي", "#FFFAFA"), - ("أخضر ربيعي", "#00FF7F"), - ("أزرق معدني", "#4682B4"), - ("نطي", "#D2B48C"), - ("حذفي", "#008080"), - ("أرجواني", "#D8BFD8"), - ("طماطمي", "#FF6347"), - ("تركواز", "#40E0D0"), - ("بنفسجي", "#EE82EE"), - ("قمحي", "#F5DEB3"), - ("أبيض", "#FFFFFF"), - ("دخاني قمحي", "#F5F5F5"), - ("أصفر", "#FFFF00"), - ("أصفر مخضر", "#9ACD32"), - )) + all_colors = OrderedDict( + ( + ("أزرق أليس", "#F0F8FF"), + ("أبيض عتيق", "#FAEBD7"), + ("مائي", "#00FFFF"), + ("زبرجدي", "#7FFFD4"), + ("لازوردي", "#F0FFFF"), + ("صوفي", "#F5F5DC"), + ("حسائي", "#FFE4C4"), + ("أسود", "#000000"), + ("لوزي", "#FFEBCD"), + ("أزرق", "#0000FF"), + ("بنفسجي مزرق", "#8A2BE2"), + ("بني", "#A52A2A"), + ("خشبية", "#DEB887"), + ("أزرق كاديتي", "#5F9EA0"), + ("كرتوزي", "#7FFF00"), + ("شوكولاتيّ", "#D2691E"), + ("مرجاني", "#FF7F50"), + ("قنطريوني", "#6495ED"), + ("حرير الذرة", "#FFF8DC"), + ("قرمزي", "#DC143C"), + ("سيان", "#00FFFF"), + ("أزرق داكن", "#00008B"), + ("سيان داكن", "#008B8B"), + ("عصا الدهب الغامق", "#B8860B"), + ("رمادي داكن", "#A9A9A9"), + ("أخضر داكن", "#006400"), + ("خاكي داكن", "#BDB76B"), + ("ماجنتا داكن", "#8B008B"), + ("أخضر زيتوني داكن", "#556B2F"), + ("برتقالي داكن", "#FF8C00"), + ("أوركيدي داكن", "#9932CC"), + ("أحمر داكن", "#8B0000"), + ("سلموني داكن", "#E9967A"), + ("أخضر بحري داكن", "#8FBC8F"), + ("أزرق أردوازي داكن", "#483D8B"), + ("رمادي لازوردي داكن", "#2F4F4F"), + ("تركوازي داكن", "#00CED1"), + ("بنفسج داكن", "#9400D3"), + ("زهري غامق", "#FF1493"), + ("أزرق سماوي غامق", "#00BFFF"), + ("رمادي خافت", "#696969"), + ("أزرق فريق دودجر", "#1E90FF"), + ("الطوب شمت", "#B22222"), + ("أبيض وردي", "#FFFAF0"), + ("أخضر الغابت", "#228B22"), + ("فوشي", "#FF00FF"), + ("رمادي باهت", "#DCDCDC"), + ("أبيض شبحي", "#F8F8FF"), + ("ذهبي", "#FFD700"), + ("ذهبي", "#DAA520"), + ("رمادي", "#808080"), + ("أخضر", "#008000"), + ("أصفر مخضر", "#ADFF2F"), + ("عسلي", "#F0FFF0"), + ("وردي فاقع", "#FF69B4"), + ("قسطلي", "#CD5C5C"), + ("نيلي", "#4B0082"), + ("سكري", "#FFFFF0"), + ("خاكي", "#F0E68C"), + ("لاڤندر", "#E6E6FA"), + ("أحمر اللافندر", "#FFF0F5"), + ("أخضر عشبي", "#7CFC00"), + ("ليمون شيفوني", "#FFFACD"), + ("أزرق فاتح", "#ADD8E6"), + ("مرجاني فاتح", "#F08080"), + ("أزرق طفولي", "#E0FFFF"), + ("أصفر ذهبي فاتح ", "#FAFAD2"), + ("رمادي فاتح", "#D3D3D3"), + ("أخضر فاتح", "#90EE90"), + ("وردي فاتح", "#FFB6C1"), + ("سلموني فاتح", "#FFA07A"), + ("أخضر بحري فاتح", "#20B2AA"), + ("سماوي فاتح", "#87CEFA"), + ("أزرق أردوازي فاتح", "#778899"), + ("أزرق معدني فاتح", "#B0C4DE"), + ("أصفر فاتح", "#FFFFE0"), + ("ليمي", "#00FF00"), + ("أخضر ليموني", "#32CD32"), + ("كتاني", "#FAF0E6"), + ("فوشيا", "#FF00FF"), + ("كستنائي", "#800000"), + ("زبرجدي متوسط", "#66CDAA"), + ("أزرق متوسط", "#0000CD"), + ("أوركيدي متوسط", "#BA55D3"), + ("فوشي متوسط", "#9370DB"), + ("أخضر بحري متوسط", "#3CB371"), + ("أزرق أردوازي متوسط", "#7B68EE"), + ("أخضر ربيعي متوسط", "#00FA9A"), + ("ترموازي متوسط", "#48D1CC"), + ("أحمر بنفسجي", "#C71585"), + ("الأزرق متوسط", "#191970"), + ("نعناعي كريمي", "#F5FFFA"), + ("الوردي الضبابي", "#FFE4E1"), + ("موكاسيني", "#FFE4B5"), + ("أبيض نافاجو", "#FFDEAD"), + ("كحلي", "#000080"), + ("رباطي قديم", "#FDF5E6"), + ("زيتوني", "#808000"), + ("زيتوني رمادي", "#6B8E23"), + ("برتقالي", "#FFA500"), + ("أحمر برتقالي", "#FF4500"), + ("أوركيدي", "#DA70D6"), + ("ذهبي باهت", "#EEE8AA"), + ("أخضر باهت", "#98FB98"), + ("تركوازي باهت", "#AFEEEE"), + ("أحمر بنفسجي باهت", "#DB7093"), + ("بابايا", "#FFEFD5"), + ("حنطي", "#FFDAB9"), + ("بيرو", "#CD853F"), + ("زهري", "#FFC0CB"), + ("برقوقي", "#DDA0DD"), + ("أزرق مسحوقي", "#B0E0E6"), + ("أرجواني", "#800080"), + ("أحمر", "#FF0000"), + ("بني وردي", "#BC8F8F"), + ("أزرق ملكي", "#4169E1"), + ("بني السرج", "#8B4513"), + ("سالموني", "#FA8072"), + ("بني رملي", "#F4A460"), + ("أخضر بحري", "#2E8B57"), + ("صدفي", "#FFF5EE"), + ("سيينا", "#A0522D"), + ("فضي", "#C0C0C0"), + ("أزرق سماي", "#87CEEB"), + ("أزرق أردوازي", "#6A5ACD"), + ("رمادي معدني", "#708090"), + ("ثلجي", "#FFFAFA"), + ("أخضر ربيعي", "#00FF7F"), + ("أزرق معدني", "#4682B4"), + ("نطي", "#D2B48C"), + ("حذفي", "#008080"), + ("أرجواني", "#D8BFD8"), + ("طماطمي", "#FF6347"), + ("تركواز", "#40E0D0"), + ("بنفسجي", "#EE82EE"), + ("قمحي", "#F5DEB3"), + ("أبيض", "#FFFFFF"), + ("دخاني قمحي", "#F5F5F5"), + ("أصفر", "#FFFF00"), + ("أصفر مخضر", "#9ACD32"), + ) + ) safe_colors = ( - 'أسود', 'كستنائي', 'أخضر', 'كحلي', 'زيتوني', - 'أرجواني', 'حذفي', 'ليمي', 'أزرق', 'فضي', - 'رمادي', 'أصفر', 'فوشي', 'مائي', 'أبيض', + "أسود", + "كستنائي", + "أخضر", + "كحلي", + "زيتوني", + "أرجواني", + "حذفي", + "ليمي", + "أزرق", + "فضي", + "رمادي", + "أصفر", + "فوشي", + "مائي", + "أبيض", ) diff --git a/faker/providers/color/bg_BG/__init__.py b/faker/providers/color/bg_BG/__init__.py new file mode 100644 index 0000000000..ec699860a5 --- /dev/null +++ b/faker/providers/color/bg_BG/__init__.py @@ -0,0 +1,86 @@ +from collections import OrderedDict + +from .. import Provider as ColorProvider + +localized = True + + +class Provider(ColorProvider): + """Implement color provider for ``bg_BG`` locale.""" + + all_colors = OrderedDict( + ( + ("Антично-бяло", "#FAEBD7"), + ("Аквамарин", "#7FFFD4"), + ("Лазурно", "#F0FFFF"), + ("Бежово", "#F5F5DC"), + ("Черно", "#000000"), + ("Синьо", "#0000FF"), + ("Синьо-виолетовo", "#8A2BE2"), + ("Кафявo", "#A52A2A"), + ("Шоколадовo", "#D2691E"), + ("Корал", "#FF7F50"), + ("Метличино синьо", "#6495ED"), + ("Малиново", "#DC143C"), + ("Тъмносиньо", "#00008B"), + ("Тъмноциан", "#008B8B"), + ("Тъмносуво", "#A9A9A9"), + ("Тъмнозелено", "#006400"), + ("Тъмно маслинено зелено", "#BDB76B"), + ("Тъмнооранжево", "#FF8C00"), + ("Тъмночервено", "#8B0000"), + ("Тъмнотюркоазено", "#00CED1"), + ("Тъмновиолетово", "#9400D3"), + ("Тъмнорозово", "#FF1493"), + ("Бледо сиво", "#696969"), + ("Фуксия", "#FF00FF"), + ("Златно", "#FFD700"), + ("Сребърно", "#808080"), + ("Зелено", "#008000"), + ("Жълто-зелено", "#ADFF2F"), + ("Ярко-розово", "#FF69B4"), + ("Индиго", "#4B0082"), + ("Слонова кост", "#FFFFF0"), + ("Маслинено зелено", "#F0E68C"), + ("Розовато-лавандулово", "#FFF0F5"), + ("Светлосиньо", "#ADD8E6"), + ("Светло-небесносино", "#E0FFFF"), + ("Светлосиво", "#D3D3D3"), + ("Светлозелено", "#90EE90"), + ("Светлорозово", "#FFB6C1"), + ("Небесносиньо", "#87CEFA"), + ("Светложълто", "#FFFFE0"), + ("Кестеняво", "#800000"), + ("Оранжево", "#FFA500"), + ("Оранжево-червено", "#FF4500"), + ("Бледозелено", "#98FB98"), + ("Бледотюркоазно", "#AFEEEE"), + ("Розово", "#FFC0CB"), + ("Сливово розово", "#DDA0DD"), + ("Пурпурно", "#800080"), + ("Червено", "#FF0000"), + ("Циан", "#2E8B57"), + ("Сребърно", "#C0C0C0"), + ("Тюркоазено", "#40E0D0"), + ("Виолетово", "#EE82EE"), + ("Бяло", "#FFFFFF"), + ("Жълто", "#FFFF00"), + ("Жълто-зелено", "#9ACD32"), + ) + ) + + safe_colors = ( + "черно", + "бордо", + "зелено", + "маслинено зелено", + "пурпурно", + "циан", + "лайм", + "синьо", + "сребърно", + "сиво", + "жълто", + "фуксия", + "бяло", + ) diff --git a/faker/providers/color/color.py b/faker/providers/color/color.py index 975af448d3..91132f5c60 100644 --- a/faker/providers/color/color.py +++ b/faker/providers/color/color.py @@ -16,63 +16,111 @@ import random import sys -COLOR_MAP = { - 'monochrome': { - 'hue_range': [0, 0], - 'lower_bounds': [ - [0, 0], [100, 0], +from typing import TYPE_CHECKING, Dict, Hashable, Optional, Sequence, Tuple + +if TYPE_CHECKING: + from ...factory import Generator + +from ...typing import HueType + +COLOR_MAP: Dict[str, Dict[str, Sequence[Tuple[int, int]]]] = { + "monochrome": { + "hue_range": [(0, 0)], + "lower_bounds": [ + (0, 0), + (100, 0), ], }, - 'red': { - 'hue_range': [-26, 18], - 'lower_bounds': [ - [20, 100], [30, 92], [40, 89], - [50, 85], [60, 78], [70, 70], - [80, 60], [90, 55], [100, 50], + "red": { + "hue_range": [(-26, 18)], + "lower_bounds": [ + (20, 100), + (30, 92), + (40, 89), + (50, 85), + (60, 78), + (70, 70), + (80, 60), + (90, 55), + (100, 50), ], }, - 'orange': { - 'hue_range': [19, 46], - 'lower_bounds': [ - [20, 100], [30, 93], [40, 88], [50, 86], - [60, 85], [70, 70], [100, 70], + "orange": { + "hue_range": [(19, 46)], + "lower_bounds": [ + (20, 100), + (30, 93), + (40, 88), + (50, 86), + (60, 85), + (70, 70), + (100, 70), ], }, - 'yellow': { - 'hue_range': [47, 62], - 'lower_bounds': [ - [25, 100], [40, 94], [50, 89], [60, 86], - [70, 84], [80, 82], [90, 80], [100, 75], + "yellow": { + "hue_range": [(47, 62)], + "lower_bounds": [ + (25, 100), + (40, 94), + (50, 89), + (60, 86), + (70, 84), + (80, 82), + (90, 80), + (100, 75), ], }, - 'green': { - 'hue_range': [63, 178], - 'lower_bounds': [ - [30, 100], [40, 90], [50, 85], [60, 81], - [70, 74], [80, 64], [90, 50], [100, 40], + "green": { + "hue_range": [(63, 178)], + "lower_bounds": [ + (30, 100), + (40, 90), + (50, 85), + (60, 81), + (70, 74), + (80, 64), + (90, 50), + (100, 40), ], }, - 'blue': { - 'hue_range': [179, 257], - 'lower_bounds': [ - [20, 100], [30, 86], [40, 80], - [50, 74], [60, 60], [70, 52], - [80, 44], [90, 39], [100, 35], + "blue": { + "hue_range": [(179, 257)], + "lower_bounds": [ + (20, 100), + (30, 86), + (40, 80), + (50, 74), + (60, 60), + (70, 52), + (80, 44), + (90, 39), + (100, 35), ], }, - 'purple': { - 'hue_range': [258, 282], - 'lower_bounds': [ - [20, 100], [30, 87], [40, 79], - [50, 70], [60, 65], [70, 59], - [80, 52], [90, 45], [100, 42], + "purple": { + "hue_range": [(258, 282)], + "lower_bounds": [ + (20, 100), + (30, 87), + (40, 79), + (50, 70), + (60, 65), + (70, 59), + (80, 52), + (90, 45), + (100, 42), ], }, - 'pink': { - 'hue_range': [283, 334], - 'lower_bounds': [ - [20, 100], [30, 90], [40, 86], [60, 84], - [80, 80], [90, 75], [100, 73], + "pink": { + "hue_range": [(283, 334)], + "lower_bounds": [ + (20, 100), + (30, 90), + (40, 86), + (60, 84), + (80, 80), + (90, 75), + (100, 73), ], }, } @@ -85,7 +133,7 @@ class RandomColor: :meth:`color() ` method. """ - def __init__(self, generator=None, seed=None): + def __init__(self, generator: Optional["Generator"] = None, seed: Optional[Hashable] = None) -> None: self.colormap = COLOR_MAP # Option to specify a seed was not removed so this class @@ -97,17 +145,19 @@ def __init__(self, generator=None, seed=None): self.random = random.Random(self.seed) for color_name, color_attrs in self.colormap.items(): - lower_bounds = color_attrs['lower_bounds'] - s_min = lower_bounds[0][0] - s_max = lower_bounds[-1][0] - - b_min = lower_bounds[-1][1] - b_max = lower_bounds[0][1] - - self.colormap[color_name]['saturation_range'] = [s_min, s_max] - self.colormap[color_name]['brightness_range'] = [b_min, b_max] - - def generate(self, hue=None, luminosity=None, color_format='hex'): + lower_bounds: Sequence[Tuple[int, int]] = color_attrs["lower_bounds"] + s_min, b_max = lower_bounds[0] + s_max, b_min = lower_bounds[-1] + + self.colormap[color_name]["saturation_range"] = [(s_min, s_max)] + self.colormap[color_name]["brightness_range"] = [(b_min, b_max)] + + def generate( + self, + hue: Optional[HueType] = None, + luminosity: Optional[str] = None, + color_format: str = "hex", + ) -> str: """Generate a color. Whenever :meth:`color() ` is @@ -124,163 +174,157 @@ def generate(self, hue=None, luminosity=None, color_format='hex'): b = self.pick_brightness(h, s, luminosity) # Then we return the HSB color in the desired format - return self.set_format([h, s, b], color_format) + return self.set_format((h, s, b), color_format) - def pick_hue(self, hue): + def pick_hue(self, hue: Optional[HueType]) -> int: """Return a numerical hue value.""" - hue_range = self.get_hue_range(hue) - hue = self.random_within(hue_range) + hue_ = self.random_within(self.get_hue_range(hue)) # Instead of storing red as two separate ranges, # we group them, using negative numbers - if hue < 0: - hue += 360 + if hue_ < 0: + hue_ += 360 - return hue + return hue_ - def pick_saturation(self, hue, hue_name, luminosity): + def pick_saturation(self, hue: int, hue_name: Optional[HueType], luminosity: Optional[str]) -> int: """Return a numerical saturation value.""" - if luminosity == 'random': - return self.random_within([0, 100]) + if luminosity is None: + luminosity = "" + if luminosity == "random": + return self.random_within((0, 100)) - if hue_name == 'monochrome': + if isinstance(hue_name, str) and hue_name == "monochrome": return 0 - saturation_range = self.get_saturation_range(hue) + s_min, s_max = self.get_saturation_range(hue) - s_min = saturation_range[0] - s_max = saturation_range[1] - - if luminosity == 'bright': + if luminosity == "bright": s_min = 55 - elif luminosity == 'dark': + elif luminosity == "dark": s_min = s_max - 10 - elif luminosity == 'light': + elif luminosity == "light": s_max = 55 - return self.random_within([s_min, s_max]) + return self.random_within((s_min, s_max)) - def pick_brightness(self, h, s, luminosity): + def pick_brightness(self, h: int, s: int, luminosity: Optional[str]) -> int: """Return a numerical brightness value.""" + if luminosity is None: + luminosity = "" + b_min = self.get_minimum_brightness(h, s) b_max = 100 - if luminosity == 'dark': + if luminosity == "dark": b_max = b_min + 20 - elif luminosity == 'light': - b_min = (b_max + b_min) / 2 - elif luminosity == 'random': + elif luminosity == "light": + b_min = (b_max + b_min) // 2 + elif luminosity == "random": b_min = 0 b_max = 100 - return self.random_within([b_min, b_max]) + return self.random_within((b_min, b_max)) - def set_format(self, hsv, color_format): + def set_format(self, hsv: Tuple[int, int, int], color_format: str) -> str: """Handle conversion of HSV values into desired format.""" - if color_format == 'hsv': - color = 'hsv({}, {}, {})'.format(*hsv) + if color_format == "hsv": + color = f"hsv({hsv[0]}, {hsv[1]}, {hsv[2]})" - elif color_format == 'hsl': + elif color_format == "hsl": hsl = self.hsv_to_hsl(hsv) - color = 'hsl({}, {}, {})'.format(*hsl) + color = f"hsl({hsl[0]}, {hsl[1]}, {hsl[2]})" - elif color_format == 'rgb': + elif color_format == "rgb": rgb = self.hsv_to_rgb(hsv) - color = 'rgb({}, {}, {})'.format(*rgb) + color = f"rgb({rgb[0]}, {rgb[1]}, {rgb[2]})" else: rgb = self.hsv_to_rgb(hsv) - color = '#{:02x}{:02x}{:02x}'.format(*rgb) + color = f"#{rgb[0]:02x}{rgb[1]:02x}{rgb[2]:02x}" return color - def get_minimum_brightness(self, h, s): + def get_minimum_brightness(self, h: int, s: int) -> int: """Return the minimum allowed brightness for ``h`` and ``s``.""" - lower_bounds = self.get_color_info(h)['lower_bounds'] + lower_bounds: Sequence[Tuple[int, int]] = self.get_color_info(h)["lower_bounds"] for i in range(len(lower_bounds) - 1): - s1 = lower_bounds[i][0] - v1 = lower_bounds[i][1] - - s2 = lower_bounds[i + 1][0] - v2 = lower_bounds[i + 1][1] + s1, v1 = lower_bounds[i] + s2, v2 = lower_bounds[i + 1] if s1 <= s <= s2: - m = (v2 - v1) / (s2 - s1) - b = v1 - m * s1 + m: float = (v2 - v1) / (s2 - s1) + b: float = v1 - m * s1 - return m * s + b + return int(m * s + b) return 0 - def get_hue_range(self, color_input): + def get_hue_range(self, color_input: Optional[HueType]) -> Tuple[int, int]: """Return the hue range for a given ``color_input``.""" if isinstance(color_input, (int, float)) and 0 <= color_input <= 360: color_input = int(color_input) - return [color_input, color_input] - + return (color_input, color_input) elif isinstance(color_input, str) and color_input in self.colormap: - return self.colormap[color_input]['hue_range'] - + return self.colormap[color_input]["hue_range"][0] elif color_input is None: - return [0, 360] - - try: - v1, v2 = color_input - v1 = int(v1) - v2 = int(v2) - except (ValueError, TypeError): - msg = 'Hue must be a valid string, numeric type, or a tuple/list of 2 numeric types.' - raise TypeError(msg) - else: + return (0, 360) + + if isinstance(color_input, list): + color_input = tuple(color_input) + if ( + isinstance(color_input, tuple) + and len(color_input) == 2 + and all(isinstance(c, (float, int)) for c in color_input) + ): + v1 = int(color_input[0]) + v2 = int(color_input[1]) + if v2 < v1: v1, v2 = v2, v1 - if v1 < 0: - v1 = 0 - if v2 > 360: - v2 = 360 - return [v1, v2] + v1 = max(v1, 0) + v2 = min(v2, 360) + return (v1, v2) + raise TypeError("Hue must be a valid string, numeric type, or a tuple/list of 2 numeric types.") - def get_saturation_range(self, hue): + def get_saturation_range(self, hue: int) -> Tuple[int, int]: """Return the saturation range for a given numerical ``hue`` value.""" - return self.get_color_info(hue)['saturation_range'] + return self.get_color_info(hue)["saturation_range"][0] - def get_color_info(self, hue): + def get_color_info(self, hue: int) -> Dict[str, Sequence[Tuple[int, int]]]: """Return the color info for a given numerical ``hue`` value.""" # Maps red colors to make picking hue easier if 334 <= hue <= 360: hue -= 360 for color_name, color in self.colormap.items(): - if color['hue_range'][0] <= hue <= color['hue_range'][1]: + hue_range: Tuple[int, int] = color["hue_range"][0] + if hue_range[0] <= hue <= hue_range[1]: return self.colormap[color_name] else: - raise ValueError('Value of hue `%s` is invalid.' % hue) + raise ValueError("Value of hue `%s` is invalid." % hue) - def random_within(self, r): + def random_within(self, r: Sequence[int]) -> int: """Return a random integer within the range ``r``.""" return self.random.randint(int(r[0]), int(r[1])) @classmethod - def hsv_to_rgb(cls, hsv): + def hsv_to_rgb(cls, hsv: Tuple[int, int, int]) -> Tuple[int, int, int]: """Convert HSV to RGB. This method expects ``hsv`` to be a 3-tuple of H, S, and V values, and it will return a 3-tuple of the equivalent R, G, and B values. """ h, s, v = hsv - h = 1 if h == 0 else h - h = 359 if h == 360 else h - - h = float(h)/360 - s = float(s)/100 - v = float(v)/100 + h = max(h, 1) + h = min(h, 359) - rgb = colorsys.hsv_to_rgb(h, s, v) - return (int(c * 255) for c in rgb) + r, g, b = colorsys.hsv_to_rgb(h / 360, s / 100, v / 100) + return (int(r * 255), int(g * 255), int(b * 255)) @classmethod - def hsv_to_hsl(cls, hsv): + def hsv_to_hsl(cls, hsv: Tuple[int, int, int]) -> Tuple[int, int, int]: """Convert HSV to HSL. This method expects ``hsv`` to be a 3-tuple of H, S, and V values, and @@ -288,12 +332,9 @@ def hsv_to_hsl(cls, hsv): """ h, s, v = hsv - s = float(s)/100 - v = float(v)/100 - l = 0.5 * v * (2 - s) # noqa: E741 + s_: float = s / 100.0 + v_: float = v / 100.0 + l = 0.5 * (v_) * (2 - s_) # noqa: E741 - if l in [0, 1]: - s = 0 - else: - s = v * s / (1 - math.fabs(2 * l - 1)) - return (int(c) for c in [h, s * 100, l * 100]) + s_ = 0.0 if l in [0, 1] else v_ * s_ / (1 - math.fabs(2 * l - 1)) + return (int(h), int(s_ * 100), int(l * 100)) diff --git a/faker/providers/color/el_GR/__init__.py b/faker/providers/color/el_GR/__init__.py new file mode 100644 index 0000000000..64f6cdba21 --- /dev/null +++ b/faker/providers/color/el_GR/__init__.py @@ -0,0 +1,113 @@ +from collections import OrderedDict + +from .. import Provider as ColorProvider + +localized = True + + +class Provider(ColorProvider): + """ + Implement color provider for ``el_GR`` locale. + Naming and hex codes are based on https://encycolorpedia.gr/named + """ + + all_colors = OrderedDict( + ( + ("άσιντ πράσινο", "#B0BF1A"), + ("άσπρο", "#FFFFFF"), + ("άστριοι", "#FDD5B1"), + ("αβοκάντο", "#568203"), + ("αγκινάρα", "#8F9779"), + ("αζούρ", "#8AB9F1"), + ("ακαζού", "#4C2F27"), + ("ασημένιο", "#C0C0C0"), + ("βαθύ κόκκινο", "#850101"), + ("βερικοκί", "#FBCEB1"), + ("βερμιγιόν", "#E34234"), + ("βιολετί", "#7F00FF"), + ("βρύο", "#8A9A5B"), + ("βυσσινί", "#DC143C"), + ("γαλάζιο", "#ADD8E6"), + ("γκρι", "#808080"), + ("γλαυκό", "#6082B6"), + ("εκρού", "#C2B280"), + ("ιβουάρ", "#FFFFF0"), + ("ινδικό", "#4B0082"), + ("κίτρινο", "#9B870C"), + ("καμηλό", "#C19A6B"), + ("κανέλα", "#D2691E"), + ("καστανέρυθρο", "#8B0000"), + ("καστανό", "#954535"), + ("καφέ", "#A52A2A"), + ("καφές", "#6F4E37"), + ("κυανό", "#800080"), + ("κεχριμπάρι", "#FFBF00"), + ("κόκκινο", "#FF0000"), + ("λάβα", "#CF1020"), + ("λαδί", "#3B3C36"), + ("λευκό", "#DBE9F4"), + ("μαρόν", "#800000"), + ("ματζέντα", "#CC00CC"), + ("μαόνι", "#CD4A4C"), + ("μαύρο", "#000000"), + ("μπέιμπι μπλου", "#89CFF0"), + ("μπεζ", "#F5F5DC"), + ("μπλε", "#0000FF"), + ("μπλε μαρέν", "#1974D2"), + ("μπορντό", "#7F1734"), + ("μπουργκουντί", "#900020"), + ("μυρτιά", "#317873"), + ("μωβ", "#B19CD9"), + ("ορείχαλκος", "#B5A642"), + ("πέρλα", "#EAE0C8"), + ("πεύκο", "#01796F"), + ("πλατίνα", "#E5E4E2"), + ("πορτοκαλί", "#FF7F00"), + ("πορτοκαλοκίτρινο", "#DAA520"), + ("πράσινο", "#000FF0"), + ("πράσινο chartreuse", "#7FFF00"), + ("πράσινο αγκινάρας", "#4B6F44"), + ("πράσινο ανοιχτό", "#90EE90"), + ("πράσινο ζούγκλας", "#29AB87"), + ("πράσινο λαουρέλ", "#A9BA9D"), + ("πράσινο σκούρο", "#013220"), + ("πράσινο της άνοιξης", "#00FF7F"), + ("πράσινο της μέντας", "#98FB98"), + ("πράσινο της φτέρης", "#4F7942"), + ("πράσινο του δάσους", "#228B22"), + ("πράσινο τσάι", "#D0F0C0"), + ("πράσινο χούκερ", "#49796B"), + ("ραφ", "#5D8AA8"), + ("ροζ", "#FFC0CB"), + ("ροζέ", "#FF007F"), + ("σέπια", "#704214"), + ("σαμπανιζέ", "#F7E7CE"), + ("σκάρλετ", "#FF2400"), + ("σκούρο βρύο", "#4A5D23"), + ("σπαραγγί", "#87A96B"), + ("ταν", "#D2B48C"), + ("φλαμίνγκο", "#FC8EAC"), + ("φούξια", "#F400A1"), + ("φτέρη", "#71BC78"), + ("χλωροφύλλη", "#4AFF00"), + ("χρυσαφένιο", "#FFD700"), + ("χρυσό", "#808000"), + ("ώχρα", "#E97451"), + ) + ) + + safe_colors = ( + "μαύρο", + "πράσινο", + "μπλε", + "κίτρινο", + "κόκκινο", + "μωβ", + "άσπρο", + "γκρι", + "ασημένιο", + "καφέ", + "λαδί", + "χρυσό", + "ροζ", + ) diff --git a/faker/providers/color/es_ES/__init__.py b/faker/providers/color/es_ES/__init__.py index 388a18c59f..382a7e2616 100644 --- a/faker/providers/color/es_ES/__init__.py +++ b/faker/providers/color/es_ES/__init__.py @@ -8,150 +8,162 @@ class Provider(ColorProvider): """Implement color provider for ``es_ES`` locale.""" - all_colors = OrderedDict(( - ("Agua marina medio", "#66CDAA"), - ("Agua-marina", "#7FFFD4"), - ("Almendra blanqueado", "#FFEBCD"), - ("Amarillo", "#FFFF00"), - ("Amarillo claro", "#FFFFE0"), - ("Amarillo dorado", "#DAA520"), - ("Amarillo dorado claro", "#FAFAD2"), - ("Amarillo dorado oscuro", "#B8860B"), - ("Amarillo dorado pálido", "#EEE8AA"), - ("Amarillo trigo", "#F5DEB3"), - ("Amarillo verde", "#9ACD32"), - ("Azul", "#0000FF"), - ("Azul Alicia", "#F0F8FF"), - ("Azul acero", "#4682B4"), - ("Azul acero claro", "#B0C4DE"), - ("Azul anciano", "#6495ED"), - ("Azul azur", "#F0FFFF"), - ("Azul cadete", "#5F9EA0"), - ("Azul cielo", "#87CEEB"), - ("Azul cielo claro", "#87CEFA"), - ("Azul cielo profundo", "#00BFFF"), - ("Azul claro", "#ADD8E6"), - ("Azul lona", "#1E90FF"), - ("Azul marino", "#000080"), - ("Azul medianoche", "#191970"), - ("Azul medio", "#0000CD"), - ("Azul oscuro", "#00008B"), - ("Azul pizarra", "#6A5ACD"), - ("Azul pizarra medio", "#7B68EE"), - ("Azul pizarra oscuro", "#483D8B"), - ("Azul polvo", "#B0E0E6"), - ("Azul real", "#4169E1"), - ("Azul violeta", "#8A2BE2"), - ("Beige", "#F5F5DC"), - ("Beige antiguo", "#FAEBD7"), - ("Beige limón", "#FFFACD"), - ("Beige melocotón", "#FFDAB9"), - ("Beige mocasín", "#FFE4B5"), - ("Beige papaya", "#FFEFD5"), - ("Bisque", "#FFE4C4"), - ("Blanco", "#FFFFFF"), - ("Blanco concha", "#FFF5EE"), - ("Blanco encaje", "#FDF5E6"), - ("Blanco fantasma", "#F8F8FF"), - ("Blanco floral", "#FFFAF0"), - ("Blanco humo", "#F5F5F5"), - ("Blanco lavanda", "#FFF0F5"), - ("Blanco lino", "#FAF0E6"), - ("Blanco menta", "#F5FFFA"), - ("Blanco navajo", "#FFDEAD"), - ("Blanco nieve", "#FFFAFA"), - ("Caqui", "#6B8E23"), - ("Caqui oscuro", "#BDB76B"), - ("Chartreuse", "#7FFF00"), - ("Chocolate", "#D2691E"), - ("Cian", "#00FFFF"), - ("Cian clarto", "#E0FFFF"), - ("Ciruela", "#DDA0DD"), - ("Coral", "#FF7F50"), - ("Coral claro", "#F08080"), - ("Amarillo maíz dulce", "#FFF8DC"), - ("Cyan oscuro", "#008B8B"), - ("Fucsia", "#FF00FF"), - ("Granate", "#800000"), - ("Gris", "#808080"), - ("Gris claro", "#D3D3D3"), - ("Gris gainsboro (Estaño)", "#DCDCDC"), - ("Gris mate", "#696969"), - ("Gris oscuro", "#A9A9A9"), - ("Gris pizarra", "#708090"), - ("Gris pizarra claro", "#778899"), - ("Gris pizarra oscuro", "#2F4F4F"), - ("Lavanda", "#E6E6FA"), - ("Lima", "#00FF00"), - ("Magenta", "#FF00FF"), - ("Magenta oscuro", "#8B008B"), - ("Marfil", "#FFFFF0"), - ("Marrón", "#A52A2A"), - ("Marrón arena", "#F4A460"), - ("Marrón caqui", "#F0E68C"), - ("Marrón cuero", "#8B4513"), - ("Marrón madera rústica", "#DEB887"), - ("Marrón perú", "#CD853F"), - ("Marrón rojizo", "#D2B48C"), - ("Marrón rosado", "#BC8F8F"), - ("Marrón siena", "#A0522D"), - ("Melón dulce", "#F0FFF0"), - ("Naranja", "#FFA500"), - ("Naranja oscuro", "#FF8C00"), - ("Negro", "#000000"), - ("Oliva", "#808000"), - ("Oro", "#FFD700"), - ("Orquídea", "#DA70D6"), - ("Orquídea medio", "#BA55D3"), - ("Orquídea púrpura oscuro", "#9932CC"), - ("Plata", "#C0C0C0"), - ("Púrpura", "#800080"), - ("Púrpura medio", "#9370DB"), - ("Rojo", "#FF0000"), - ("Rojo anaranjado", "#FF4500"), - ("Rojo carmesí", "#DC143C"), - ("Rojo indio", "#CD5C5C"), - ("Rojo ladrillo", "#B22222"), - ("Rojo oscuro", "#8B0000"), - ("Rojo tomate", "#FF6347"), - ("Rojo violeta medio", "#C71585"), - ("Rosa", "#FFC0CB"), - ("Rosa brumoso", "#FFE4E1"), - ("Rosa caliente", "#FF69B4"), - ("Rosa claro", "#FFB6C1"), - ("Rosa profundo", "#FF1493"), - ("Salmón", "#FA8072"), - ("Salmón claro", "#FFA07A"), - ("Salmón oscuro", "#E9967A"), - ("Turquesa", "#40E0D0"), - ("Turquesa medio", "#48D1CC"), - ("Turquesa oscuro", "#00CED1"), - ("Turquesa pálido", "#AFEEEE"), - ("Verde", "#008000"), - ("Verde azulado", "#008080"), - ("Verde bosque", "#228B22"), - ("Verde claro", "#90EE90"), - ("Verde lima", "#32CD32"), - ("Verde limón", "#ADFF2F"), - ("Verde mar", "#2E8B57"), - ("Verde mar claro", "#20B2AA"), - ("Verde mar medio", "#3CB371"), - ("Verde mar oscuro", "#8FBC8F"), - ("Verde oliva oscuro", "#556B2F"), - ("Verde oscuro", "#006400"), - ("Verde prado", "#7CFC00"), - ("Verde primavera", "#00FF7F"), - ("Verde primavera medio", "#00FA9A"), - ("Verde pálido", "#98FB98"), - ("Violeta", "#EE82EE"), - ("Violeta cardo", "#D8BFD8"), - ("Violeta oscuro", "#9400D3"), - ("Violeta sonrojado pálido", "#DB7093"), - ("Índigo", "#4B0082"), - )) + all_colors = OrderedDict( + ( + ("Agua marina medio", "#66CDAA"), + ("Agua-marina", "#7FFFD4"), + ("Almendra blanqueado", "#FFEBCD"), + ("Amarillo", "#FFFF00"), + ("Amarillo claro", "#FFFFE0"), + ("Amarillo dorado", "#DAA520"), + ("Amarillo dorado claro", "#FAFAD2"), + ("Amarillo dorado oscuro", "#B8860B"), + ("Amarillo dorado pálido", "#EEE8AA"), + ("Amarillo trigo", "#F5DEB3"), + ("Amarillo verde", "#9ACD32"), + ("Azul", "#0000FF"), + ("Azul Alicia", "#F0F8FF"), + ("Azul acero", "#4682B4"), + ("Azul acero claro", "#B0C4DE"), + ("Azul anciano", "#6495ED"), + ("Azul azur", "#F0FFFF"), + ("Azul cadete", "#5F9EA0"), + ("Azul cielo", "#87CEEB"), + ("Azul cielo claro", "#87CEFA"), + ("Azul cielo profundo", "#00BFFF"), + ("Azul claro", "#ADD8E6"), + ("Azul lona", "#1E90FF"), + ("Azul marino", "#000080"), + ("Azul medianoche", "#191970"), + ("Azul medio", "#0000CD"), + ("Azul oscuro", "#00008B"), + ("Azul pizarra", "#6A5ACD"), + ("Azul pizarra medio", "#7B68EE"), + ("Azul pizarra oscuro", "#483D8B"), + ("Azul polvo", "#B0E0E6"), + ("Azul real", "#4169E1"), + ("Azul violeta", "#8A2BE2"), + ("Beige", "#F5F5DC"), + ("Beige antiguo", "#FAEBD7"), + ("Beige limón", "#FFFACD"), + ("Beige melocotón", "#FFDAB9"), + ("Beige mocasín", "#FFE4B5"), + ("Beige papaya", "#FFEFD5"), + ("Bisque", "#FFE4C4"), + ("Blanco", "#FFFFFF"), + ("Blanco concha", "#FFF5EE"), + ("Blanco encaje", "#FDF5E6"), + ("Blanco fantasma", "#F8F8FF"), + ("Blanco floral", "#FFFAF0"), + ("Blanco humo", "#F5F5F5"), + ("Blanco lavanda", "#FFF0F5"), + ("Blanco lino", "#FAF0E6"), + ("Blanco menta", "#F5FFFA"), + ("Blanco navajo", "#FFDEAD"), + ("Blanco nieve", "#FFFAFA"), + ("Caqui", "#6B8E23"), + ("Caqui oscuro", "#BDB76B"), + ("Chartreuse", "#7FFF00"), + ("Chocolate", "#D2691E"), + ("Cian", "#00FFFF"), + ("Cian clarto", "#E0FFFF"), + ("Ciruela", "#DDA0DD"), + ("Coral", "#FF7F50"), + ("Coral claro", "#F08080"), + ("Amarillo maíz dulce", "#FFF8DC"), + ("Cyan oscuro", "#008B8B"), + ("Fucsia", "#FF00FF"), + ("Granate", "#800000"), + ("Gris", "#808080"), + ("Gris claro", "#D3D3D3"), + ("Gris gainsboro (Estaño)", "#DCDCDC"), + ("Gris mate", "#696969"), + ("Gris oscuro", "#A9A9A9"), + ("Gris pizarra", "#708090"), + ("Gris pizarra claro", "#778899"), + ("Gris pizarra oscuro", "#2F4F4F"), + ("Lavanda", "#E6E6FA"), + ("Lima", "#00FF00"), + ("Magenta", "#FF00FF"), + ("Magenta oscuro", "#8B008B"), + ("Marfil", "#FFFFF0"), + ("Marrón", "#A52A2A"), + ("Marrón arena", "#F4A460"), + ("Marrón caqui", "#F0E68C"), + ("Marrón cuero", "#8B4513"), + ("Marrón madera rústica", "#DEB887"), + ("Marrón perú", "#CD853F"), + ("Marrón rojizo", "#D2B48C"), + ("Marrón rosado", "#BC8F8F"), + ("Marrón siena", "#A0522D"), + ("Melón dulce", "#F0FFF0"), + ("Naranja", "#FFA500"), + ("Naranja oscuro", "#FF8C00"), + ("Negro", "#000000"), + ("Oliva", "#808000"), + ("Oro", "#FFD700"), + ("Orquídea", "#DA70D6"), + ("Orquídea medio", "#BA55D3"), + ("Orquídea púrpura oscuro", "#9932CC"), + ("Plata", "#C0C0C0"), + ("Púrpura", "#800080"), + ("Púrpura medio", "#9370DB"), + ("Rojo", "#FF0000"), + ("Rojo anaranjado", "#FF4500"), + ("Rojo carmesí", "#DC143C"), + ("Rojo indio", "#CD5C5C"), + ("Rojo ladrillo", "#B22222"), + ("Rojo oscuro", "#8B0000"), + ("Rojo tomate", "#FF6347"), + ("Rojo violeta medio", "#C71585"), + ("Rosa", "#FFC0CB"), + ("Rosa brumoso", "#FFE4E1"), + ("Rosa caliente", "#FF69B4"), + ("Rosa claro", "#FFB6C1"), + ("Rosa profundo", "#FF1493"), + ("Salmón", "#FA8072"), + ("Salmón claro", "#FFA07A"), + ("Salmón oscuro", "#E9967A"), + ("Turquesa", "#40E0D0"), + ("Turquesa medio", "#48D1CC"), + ("Turquesa oscuro", "#00CED1"), + ("Turquesa pálido", "#AFEEEE"), + ("Verde", "#008000"), + ("Verde azulado", "#008080"), + ("Verde bosque", "#228B22"), + ("Verde claro", "#90EE90"), + ("Verde lima", "#32CD32"), + ("Verde limón", "#ADFF2F"), + ("Verde mar", "#2E8B57"), + ("Verde mar claro", "#20B2AA"), + ("Verde mar medio", "#3CB371"), + ("Verde mar oscuro", "#8FBC8F"), + ("Verde oliva oscuro", "#556B2F"), + ("Verde oscuro", "#006400"), + ("Verde prado", "#7CFC00"), + ("Verde primavera", "#00FF7F"), + ("Verde primavera medio", "#00FA9A"), + ("Verde pálido", "#98FB98"), + ("Violeta", "#EE82EE"), + ("Violeta cardo", "#D8BFD8"), + ("Violeta oscuro", "#9400D3"), + ("Violeta sonrojado pálido", "#DB7093"), + ("Índigo", "#4B0082"), + ) + ) safe_colors = ( - "negro", "budeos", "verde", "rojo", - "violeta", "verde azulado", "azul", "plata", - "gris", "amarilo", "fucsia", "cian", "blanco", + "negro", + "budeos", + "verde", + "rojo", + "violeta", + "verde azulado", + "azul", + "plata", + "gris", + "amarilo", + "fucsia", + "cian", + "blanco", ) diff --git a/faker/providers/color/fa_IR/__init__.py b/faker/providers/color/fa_IR/__init__.py index 8207058182..75fbb7bdeb 100644 --- a/faker/providers/color/fa_IR/__init__.py +++ b/faker/providers/color/fa_IR/__init__.py @@ -11,151 +11,165 @@ class Provider(ColorProvider): - https://bit.ly/353BBiY """ - all_colors = OrderedDict(( - ("نیلی محو", "#F0F8FF"), - ("بژ تیره", "#FAEBD7"), - ("فیروزه‌ای", "#00FFFF"), - ("یشمی", "#7FFFD4"), - ("لاجوردی", "#F0FFFF"), - ("بژ", "#F5F5DC"), - ("کرم", "#FFE4C4"), - ("مشکی", "#000000"), - ("کاهگلی", "#FFEBCD"), - ("آبی", "#0000FF"), - ("آبی-بنفش سیر", "#8A2BE2"), - ("قهوه‌ای", "#A52A2A"), - ("خاکی", "#DEB887"), - ("آبی لجنی", "#5F9EA0"), - ("سبز روشن", "#7FFF00"), - ("شوکولاتی", "#D2691E"), - ("مرجانی", "#FF7F50"), - ("آبی کدر", "#6495ED"), - ("کاهی", "#FFF8DC"), - ("زرشکی", "#DC143C"), - ("فیروزه‌ای", "#00FFFF"), - ("سرمه‌ای", "#00008B"), - ("سبز کبریتی تیره", "#008B8B"), - ("ماشی سیر", "#B8860B"), - ("خاکستری سیر", "#A9A9A9"), - ("سبز آووکادو", "#006400"), - ("ماشی", "#BDB76B"), - ("مخملی", "#8B008B"), - ("زیتونی سیر", "#556B2F"), - ("نارنجی سیر", "#FF8C00"), - ("ارکیده بنفش", "#9932CC"), - ("عنابی تند", "#8B0000"), - ("قهوه‌ایِ حنایی", "#E9967A"), - ("سبز دریایی تیره", "#8FBC8F"), - ("آبی دودی", "#483D8B"), - ("لجنی تیره", "#2F4F4F"), - ("فیروزه‌ای سیر", "#00CED1"), - ("بنفش باز", "#9400D3"), - ("شفقی", "#FF1493"), - ("آبی کمرنگ", "#00BFFF"), - ("دودی", "#696969"), - ("نیلی", "#1E90FF"), - ("شرابی", "#B22222"), - ("پوست پیازی", "#FFFAF0"), - ("شویدی", "#228B22"), - ("سرخابی", "#FF00FF"), - ("خاکستری مات", "#DCDCDC"), - ("سفید بنفشه", "#F8F8FF"), - ("کهربایی باز", "#FFD700"), - ("خردلی", "#DAA520"), - ("خاکستری", "#808080"), - ("سبز", "#008000"), - ("مغزپسته‌ای کمرنگ", "#ADFF2F"), - ("یشمی محو", "#F0FFF0"), - ("سرخابی", "#FF69B4"), - ("جگری", "#CD5C5C"), - ("نیلی سیر", "#4B0082"), - ("استخوانی", "#FFFFF0"), - ("خاکی روشن", "#F0E68C"), - ("نیلی کمرنگ", "#E6E6FA"), - ("صورتی مات", "#FFF0F5"), - ("مغزپسته‌ای پررنگ", "#7CFC00"), - ("شیرشکری", "#FFFACD"), - ("آبی کبریتی", "#ADD8E6"), - ("بژ تیره", "#F08080"), - ("آبی آسمانی", "#E0FFFF"), - ("لیمویی روشن", "#FAFAD2"), - ("خاکستری روشن", "#D3D3D3"), - ("سبز روشن", "#90EE90"), - ("صورتی روشن", "#FFB6C1"), - ("کرم نارنجی", "#FFA07A"), - ("سبز کبریتی روشن", "#20B2AA"), - ("آبی آسمانی روشن", "#87CEFA"), - ("سربی", "#778899"), - ("بنفش مایل به آبی", "#B0C4DE"), - ("شیری", "#FFFFE0"), - ("مغزپسته‌ای روشن", "#00FF00"), - ("سبز چمنی", "#32CD32"), - ("كتانی", "#FAF0E6"), - ("سرخ آبی", "#FF00FF"), - ("آلبالویی", "#800000"), - ("سبز دریایی", "#66CDAA"), - ("آبی سیر", "#0000CD"), - ("ارکیده سیر", "#BA55D3"), - ("سرخ آبی سیر", "#9370DB"), - ("خزه‌ای", "#3CB371"), - ("آبی متالیک روشن", "#7B68EE"), - ("یشمی سیر", "#00FA9A"), - ("فیروزه‌ای تیره", "#48D1CC"), - ("ارغوانی", "#C71585"), - ("آبی نفتی", "#191970"), - ("سفید نعنائی", "#F5FFFA"), - ("بژ", "#FFE4E1"), - ("هلویی", "#FFE4B5"), - ("کرم سیر", "#FFDEAD"), - ("لاجوردی", "#000080"), - ("بژ روشن", "#FDF5E6"), - ("زیتونی", "#808000"), - ("سبز ارتشی", "#6B8E23"), - ("نارنجی", "#FFA500"), - ("قرمز-نارنجی", "#FF4500"), - ("ارکیده", "#DA70D6"), - ("نخودی", "#EEE8AA"), - ("سبز کمرنگ", "#98FB98"), - ("فیروزه‌ای کدر", "#AFEEEE"), - ("شرابی روشن", "#DB7093"), - ("هلویی روشن", "#FFEFD5"), - ("هلویی پررنگ", "#FFDAB9"), - ("بادامی سیر", "#CD853F"), - ("صورتی", "#FFC0CB"), - ("بنفش کدر", "#DDA0DD"), - ("آبی کبریتی روشن", "#B0E0E6"), - ("بنفش", "#800080"), - ("قرمز", "#FF0000"), - ("بادمجانی", "#BC8F8F"), - ("فیروزه‌ای فسفری", "#4169E1"), - ("کاکائویی", "#8B4513"), - ("سالمحناییِ روشنوني", "#FA8072"), - ("هلویی سیر", "#F4A460"), - ("خزه‌ای پررنگ", "#2E8B57"), - ("صدفی", "#FFF5EE"), - ("قهوه‌ای متوسط", "#A0522D"), - ("طوسی", "#C0C0C0"), - ("آبی آسمانی", "#87CEEB"), - ("آبی فولادی", "#6A5ACD"), - ("سربی تیره", "#708090"), - ("صورتی محو", "#FFFAFA"), - ("یشمی کمرنگ", "#00FF7F"), - ("نیلی متالیک", "#4682B4"), - ("برنزه کدر", "#D2B48C"), - ("سبز دودی", "#008080"), - ("بادمجانی روشن", "#D8BFD8"), - ("قرمز گوجه‌ای", "#FF6347"), - ("سبز دریایی روشن", "#40E0D0"), - ("بنفش روشن", "#EE82EE"), - ("گندمی", "#F5DEB3"), - ("سفید", "#FFFFFF"), - ("خاکستری محو", "#F5F5F5"), - ("زرد", "#FFFF00"), - ("سبز لجنی", "#9ACD32"), - )) + all_colors = OrderedDict( + ( + ("نیلی محو", "#F0F8FF"), + ("بژ تیره", "#FAEBD7"), + ("فیروزه‌ای", "#00FFFF"), + ("یشمی", "#7FFFD4"), + ("لاجوردی", "#F0FFFF"), + ("بژ", "#F5F5DC"), + ("کرم", "#FFE4C4"), + ("مشکی", "#000000"), + ("کاهگلی", "#FFEBCD"), + ("آبی", "#0000FF"), + ("آبی-بنفش سیر", "#8A2BE2"), + ("قهوه‌ای", "#A52A2A"), + ("خاکی", "#DEB887"), + ("آبی لجنی", "#5F9EA0"), + ("سبز روشن", "#7FFF00"), + ("شوکولاتی", "#D2691E"), + ("مرجانی", "#FF7F50"), + ("آبی کدر", "#6495ED"), + ("کاهی", "#FFF8DC"), + ("زرشکی", "#DC143C"), + ("فیروزه‌ای", "#00FFFF"), + ("سرمه‌ای", "#00008B"), + ("سبز کبریتی تیره", "#008B8B"), + ("ماشی سیر", "#B8860B"), + ("خاکستری سیر", "#A9A9A9"), + ("سبز آووکادو", "#006400"), + ("ماشی", "#BDB76B"), + ("مخملی", "#8B008B"), + ("زیتونی سیر", "#556B2F"), + ("نارنجی سیر", "#FF8C00"), + ("ارکیده بنفش", "#9932CC"), + ("عنابی تند", "#8B0000"), + ("قهوه‌ایِ حنایی", "#E9967A"), + ("سبز دریایی تیره", "#8FBC8F"), + ("آبی دودی", "#483D8B"), + ("لجنی تیره", "#2F4F4F"), + ("فیروزه‌ای سیر", "#00CED1"), + ("بنفش باز", "#9400D3"), + ("شفقی", "#FF1493"), + ("آبی کمرنگ", "#00BFFF"), + ("دودی", "#696969"), + ("نیلی", "#1E90FF"), + ("شرابی", "#B22222"), + ("پوست پیازی", "#FFFAF0"), + ("شویدی", "#228B22"), + ("سرخابی", "#FF00FF"), + ("خاکستری مات", "#DCDCDC"), + ("سفید بنفشه", "#F8F8FF"), + ("کهربایی باز", "#FFD700"), + ("خردلی", "#DAA520"), + ("خاکستری", "#808080"), + ("سبز", "#008000"), + ("مغزپسته‌ای کمرنگ", "#ADFF2F"), + ("یشمی محو", "#F0FFF0"), + ("سرخابی", "#FF69B4"), + ("جگری", "#CD5C5C"), + ("نیلی سیر", "#4B0082"), + ("استخوانی", "#FFFFF0"), + ("خاکی روشن", "#F0E68C"), + ("نیلی کمرنگ", "#E6E6FA"), + ("صورتی مات", "#FFF0F5"), + ("مغزپسته‌ای پررنگ", "#7CFC00"), + ("شیرشکری", "#FFFACD"), + ("آبی کبریتی", "#ADD8E6"), + ("بژ تیره", "#F08080"), + ("آبی آسمانی", "#E0FFFF"), + ("لیمویی روشن", "#FAFAD2"), + ("خاکستری روشن", "#D3D3D3"), + ("سبز روشن", "#90EE90"), + ("صورتی روشن", "#FFB6C1"), + ("کرم نارنجی", "#FFA07A"), + ("سبز کبریتی روشن", "#20B2AA"), + ("آبی آسمانی روشن", "#87CEFA"), + ("سربی", "#778899"), + ("بنفش مایل به آبی", "#B0C4DE"), + ("شیری", "#FFFFE0"), + ("مغزپسته‌ای روشن", "#00FF00"), + ("سبز چمنی", "#32CD32"), + ("كتانی", "#FAF0E6"), + ("سرخ آبی", "#FF00FF"), + ("آلبالویی", "#800000"), + ("سبز دریایی", "#66CDAA"), + ("آبی سیر", "#0000CD"), + ("ارکیده سیر", "#BA55D3"), + ("سرخ آبی سیر", "#9370DB"), + ("خزه‌ای", "#3CB371"), + ("آبی متالیک روشن", "#7B68EE"), + ("یشمی سیر", "#00FA9A"), + ("فیروزه‌ای تیره", "#48D1CC"), + ("ارغوانی", "#C71585"), + ("آبی نفتی", "#191970"), + ("سفید نعنائی", "#F5FFFA"), + ("بژ", "#FFE4E1"), + ("هلویی", "#FFE4B5"), + ("کرم سیر", "#FFDEAD"), + ("لاجوردی", "#000080"), + ("بژ روشن", "#FDF5E6"), + ("زیتونی", "#808000"), + ("سبز ارتشی", "#6B8E23"), + ("نارنجی", "#FFA500"), + ("قرمز-نارنجی", "#FF4500"), + ("ارکیده", "#DA70D6"), + ("نخودی", "#EEE8AA"), + ("سبز کمرنگ", "#98FB98"), + ("فیروزه‌ای کدر", "#AFEEEE"), + ("شرابی روشن", "#DB7093"), + ("هلویی روشن", "#FFEFD5"), + ("هلویی پررنگ", "#FFDAB9"), + ("بادامی سیر", "#CD853F"), + ("صورتی", "#FFC0CB"), + ("بنفش کدر", "#DDA0DD"), + ("آبی کبریتی روشن", "#B0E0E6"), + ("بنفش", "#800080"), + ("قرمز", "#FF0000"), + ("بادمجانی", "#BC8F8F"), + ("فیروزه‌ای فسفری", "#4169E1"), + ("کاکائویی", "#8B4513"), + ("سالمحناییِ روشنوني", "#FA8072"), + ("هلویی سیر", "#F4A460"), + ("خزه‌ای پررنگ", "#2E8B57"), + ("صدفی", "#FFF5EE"), + ("قهوه‌ای متوسط", "#A0522D"), + ("طوسی", "#C0C0C0"), + ("آبی آسمانی", "#87CEEB"), + ("آبی فولادی", "#6A5ACD"), + ("سربی تیره", "#708090"), + ("صورتی محو", "#FFFAFA"), + ("یشمی کمرنگ", "#00FF7F"), + ("نیلی متالیک", "#4682B4"), + ("برنزه کدر", "#D2B48C"), + ("سبز دودی", "#008080"), + ("بادمجانی روشن", "#D8BFD8"), + ("قرمز گوجه‌ای", "#FF6347"), + ("سبز دریایی روشن", "#40E0D0"), + ("بنفش روشن", "#EE82EE"), + ("گندمی", "#F5DEB3"), + ("سفید", "#FFFFFF"), + ("خاکستری محو", "#F5F5F5"), + ("زرد", "#FFFF00"), + ("سبز لجنی", "#9ACD32"), + ) + ) safe_colors = ( - "سیاه", "عنابی", "سبز", "آبی کاربنی", "زیتونی", - "بنفش", "سبز دودی", "آهکی", "آبی", "نقره‌ای", - "خاکستری", "زرد", "ارغوانی", "فیروزه‌ای", "سفید", + "سیاه", + "عنابی", + "سبز", + "آبی کاربنی", + "زیتونی", + "بنفش", + "سبز دودی", + "آهکی", + "آبی", + "نقره‌ای", + "خاکستری", + "زرد", + "ارغوانی", + "فیروزه‌ای", + "سفید", ) diff --git a/faker/providers/color/fr_FR/__init__.py b/faker/providers/color/fr_FR/__init__.py index 588bc00cef..3630f1fd02 100644 --- a/faker/providers/color/fr_FR/__init__.py +++ b/faker/providers/color/fr_FR/__init__.py @@ -8,148 +8,160 @@ class Provider(ColorProvider): """Implement color provider for ``fr_FR`` locale.""" - all_colors = OrderedDict(( - ("Noir", "#000000"), - ("Gris mat", "#696969"), - ("Gris", "#808080"), - ("Gris foncé (Acier)", "#A9A9A9"), - ("Gris argent", "#C0C0C0"), - ("Gris clair", "#D3D3D3"), - ("Gris gainsboro (Etain)", "#DCDCDC"), - ("Blanc fumée", "#F5F5F5"), - ("Blanc spectral", "#F8F8FF"), - ("Blanc", "#FFFFFF"), - ("Ivoire", "#FFFFF0"), - ("Blanc floral", "#FFFAF0"), - ("Blanc coquillage", "#FFF5EE"), - ("Blanc lavande", "#FFF0F5"), - ("Blanc dentelle", "#FDF5E6"), - ("Blanc Lin", "#FAF0E6"), - ("Rose brumeux", "#FFE4E1"), - ("Rose", "#FFC0CB"), - ("Rose clair", "#FFB6C1"), - ("Rose Passion", "#FF69B4"), - ("Rose profond", "#FF1493"), - ("Violet pâle", "#DB7093"), - ("Fushia (Magenta)", "#FF00FF"), - ("Violet moyen", "#C71585"), - ("Violet chardon", "#D8BFD8"), - ("Prune", "#DDA0DD"), - ("Violet", "#EE82EE"), - ("Violet orchidée", "#DA70D6"), - ("Violet orchidée moyen", "#BA55D3"), - ("Violet orchidée foncé", "#9932CC"), - ("Violet foncé", "#9400D3"), - ("Bleu violet", "#8A2BE2"), - ("Indigo", "#4B0082"), - ("Bleu ardoise moyen", "#7B68EE"), - ("Bleu ardoise", "#6A5ACD"), - ("Bleu ardoise foncé", "#483D8B"), - ("Pourpre moyen", "#9370DB"), - ("Magenta foncé", "#8B008B"), - ("Pourpre", "#800080"), - ("Brun rosé", "#BC8F8F"), - ("Corail clair", "#F08080"), - ("Corail", "#FF7F50"), - ("Tomate", "#FF6347"), - ("Orangé", "#FF4500"), - ("Rouge", "#FF0000"), - ("Rouge cramoisi", "#DC143C"), - ("Saumon clair", "#FFA07A"), - ("Saumon Foncé", "#E9967A"), - ("Saumon", "#FA8072"), - ("Rouge Indien", "#CD5C5C"), - ("Rouge brique", "#B22222"), - ("Brun", "#A52A2A"), - ("Rouge foncé", "#8B0000"), - ("Bordeaux", "#800000"), - ("Beige", "#F5F5DC"), - ("Beige antique", "#FAEBD7"), - ("Beige papaye", "#FFEFD5"), - ("Amande", "#FFEBCD"), - ("Bisque", "#FFE4C4"), - ("Beige pêche", "#FFDAB9"), - ("Beige mocassin", "#FFE4B5"), - ("Jaune blanc navaro", "#FFDEAD"), - ("Jaune blé", "#F5DEB3"), - ("Brun bois rustique", "#DEB887"), - ("Brun roux", "#D2B48C"), - ("Brun sable", "#F4A460"), - ("Orange", "#FFA500"), - ("Orange foncé", "#FF8C00"), - ("Chocolat", "#D2691E"), - ("Brun pérou", "#CD853F"), - ("Terre de Sienne", "#A0522D"), - ("Brun cuir", "#8B4513"), - ("Jaune clair", "#FFFFE0"), - ("Jaune maïs doux", "#FFF8DC"), - ("Jaune doré clair", "#FAFAD2"), - ("Beige citron soie", "#FFFACD"), - ("Jaune doré pâle", "#EEE8AA"), - ("Brun kaki", "#F0E68C"), - ("Jaune", "#FFFF00"), - ("Or", "#FFD700"), - ("Jaune doré", "#DAA520"), - ("Jaune doré foncé", "#B8860B"), - ("Brun kaki foncé", "#BDB76B"), - ("Jaune vert", "#9ACD32"), - ("Kaki", "#6B8E23"), - ("Olive", "#808000"), - ("Vert olive foncé", "#556B2F"), - ("Vert jaune", "#ADFF2F"), - ("Chartreuse", "#7FFF00"), - ("Vert prairie", "#7CFC00"), - ("Citron vert", "#00FF00"), - ("Citron vert foncé", "#32CD32"), - ("Blanc menthe", "#F5FFFA"), - ("Miellat", "#F0FFF0"), - ("Vert pâle", "#98FB98"), - ("Vert clair", "#90EE90"), - ("Vert printemps", "#00FF7F"), - ("Vert printemps moyen", "#00FA9A"), - ("Vert forêt", "#228B22"), - ("Vert", "#008000"), - ("Vert foncé", "#006400"), - ("Vert océan foncé", "#8FBC8F"), - ("Vert océan moyen", "#3CB371"), - ("Vert océan", "#2E8B57"), - ("Gris ardoise clair", "#778899"), - ("Gris ardoise", "#708090"), - ("Gris ardoise foncé", "#2F4F4F"), - ("Bleu alice", "#F0F8FF"), - ("Bleu azur", "#F0FFFF"), - ("Cyan clair", "#E0FFFF"), - ("Azurin", "#AFEEEE"), - ("Aigue-marine", "#7FFFD4"), - ("Aigue-marine moyen", "#66CDAA"), - ("Cyan", "#00FFFF"), - ("Turquoise", "#40E0D0"), - ("Turquoise moyen", "#48D1CC"), - ("Turquoise foncé", "#00CED1"), - ("Vert marin clair", "#20B2AA"), - ("Cyan foncé", "#008B8B"), - ("Vert sarcelle", "#008080"), - ("Bleu pétrole", "#5F9EA0"), - ("Bleu poudre", "#B0E0E6"), - ("Bleu clair", "#ADD8E6"), - ("Bleu azur clair", "#87CEFA"), - ("Bleu azur", "#87CEEB"), - ("Bleu azur profond", "#00BFFF"), - ("Bleu toile", "#1E90FF"), - ("Bleu lavande", "#E6E6FA"), - ("Bleu acier clair", "#B0C4DE"), - ("Bleuet", "#6495ED"), - ("Bleu acier", "#4682B4"), - ("Bleu royal", "#4169E1"), - ("Bleu", "#0000FF"), - ("Bleu moyen", "#0000CD"), - ("Bleu foncé", "#00008B"), - ("Bleu marin", "#000080"), - ("Bleu de minuit", "#191970"), - )) + all_colors = OrderedDict( + ( + ("Noir", "#000000"), + ("Gris mat", "#696969"), + ("Gris", "#808080"), + ("Gris foncé (Acier)", "#A9A9A9"), + ("Gris argent", "#C0C0C0"), + ("Gris clair", "#D3D3D3"), + ("Gris gainsboro (Etain)", "#DCDCDC"), + ("Blanc fumée", "#F5F5F5"), + ("Blanc spectral", "#F8F8FF"), + ("Blanc", "#FFFFFF"), + ("Ivoire", "#FFFFF0"), + ("Blanc floral", "#FFFAF0"), + ("Blanc coquillage", "#FFF5EE"), + ("Blanc lavande", "#FFF0F5"), + ("Blanc dentelle", "#FDF5E6"), + ("Blanc Lin", "#FAF0E6"), + ("Rose brumeux", "#FFE4E1"), + ("Rose", "#FFC0CB"), + ("Rose clair", "#FFB6C1"), + ("Rose Passion", "#FF69B4"), + ("Rose profond", "#FF1493"), + ("Violet pâle", "#DB7093"), + ("Fushia (Magenta)", "#FF00FF"), + ("Violet moyen", "#C71585"), + ("Violet chardon", "#D8BFD8"), + ("Prune", "#DDA0DD"), + ("Violet", "#EE82EE"), + ("Violet orchidée", "#DA70D6"), + ("Violet orchidée moyen", "#BA55D3"), + ("Violet orchidée foncé", "#9932CC"), + ("Violet foncé", "#9400D3"), + ("Bleu violet", "#8A2BE2"), + ("Indigo", "#4B0082"), + ("Bleu ardoise moyen", "#7B68EE"), + ("Bleu ardoise", "#6A5ACD"), + ("Bleu ardoise foncé", "#483D8B"), + ("Pourpre moyen", "#9370DB"), + ("Magenta foncé", "#8B008B"), + ("Pourpre", "#800080"), + ("Brun rosé", "#BC8F8F"), + ("Corail clair", "#F08080"), + ("Corail", "#FF7F50"), + ("Tomate", "#FF6347"), + ("Orangé", "#FF4500"), + ("Rouge", "#FF0000"), + ("Rouge cramoisi", "#DC143C"), + ("Saumon clair", "#FFA07A"), + ("Saumon Foncé", "#E9967A"), + ("Saumon", "#FA8072"), + ("Rouge Indien", "#CD5C5C"), + ("Rouge brique", "#B22222"), + ("Brun", "#A52A2A"), + ("Rouge foncé", "#8B0000"), + ("Bordeaux", "#800000"), + ("Beige", "#F5F5DC"), + ("Beige antique", "#FAEBD7"), + ("Beige papaye", "#FFEFD5"), + ("Amande", "#FFEBCD"), + ("Bisque", "#FFE4C4"), + ("Beige pêche", "#FFDAB9"), + ("Beige mocassin", "#FFE4B5"), + ("Jaune blanc navaro", "#FFDEAD"), + ("Jaune blé", "#F5DEB3"), + ("Brun bois rustique", "#DEB887"), + ("Brun roux", "#D2B48C"), + ("Brun sable", "#F4A460"), + ("Orange", "#FFA500"), + ("Orange foncé", "#FF8C00"), + ("Chocolat", "#D2691E"), + ("Brun pérou", "#CD853F"), + ("Terre de Sienne", "#A0522D"), + ("Brun cuir", "#8B4513"), + ("Jaune clair", "#FFFFE0"), + ("Jaune maïs doux", "#FFF8DC"), + ("Jaune doré clair", "#FAFAD2"), + ("Beige citron soie", "#FFFACD"), + ("Jaune doré pâle", "#EEE8AA"), + ("Brun kaki", "#F0E68C"), + ("Jaune", "#FFFF00"), + ("Or", "#FFD700"), + ("Jaune doré", "#DAA520"), + ("Jaune doré foncé", "#B8860B"), + ("Brun kaki foncé", "#BDB76B"), + ("Jaune vert", "#9ACD32"), + ("Kaki", "#6B8E23"), + ("Olive", "#808000"), + ("Vert olive foncé", "#556B2F"), + ("Vert jaune", "#ADFF2F"), + ("Chartreuse", "#7FFF00"), + ("Vert prairie", "#7CFC00"), + ("Citron vert", "#00FF00"), + ("Citron vert foncé", "#32CD32"), + ("Blanc menthe", "#F5FFFA"), + ("Miellat", "#F0FFF0"), + ("Vert pâle", "#98FB98"), + ("Vert clair", "#90EE90"), + ("Vert printemps", "#00FF7F"), + ("Vert printemps moyen", "#00FA9A"), + ("Vert forêt", "#228B22"), + ("Vert", "#008000"), + ("Vert foncé", "#006400"), + ("Vert océan foncé", "#8FBC8F"), + ("Vert océan moyen", "#3CB371"), + ("Vert océan", "#2E8B57"), + ("Gris ardoise clair", "#778899"), + ("Gris ardoise", "#708090"), + ("Gris ardoise foncé", "#2F4F4F"), + ("Bleu alice", "#F0F8FF"), + ("Bleu azur", "#F0FFFF"), + ("Cyan clair", "#E0FFFF"), + ("Azurin", "#AFEEEE"), + ("Aigue-marine", "#7FFFD4"), + ("Aigue-marine moyen", "#66CDAA"), + ("Cyan", "#00FFFF"), + ("Turquoise", "#40E0D0"), + ("Turquoise moyen", "#48D1CC"), + ("Turquoise foncé", "#00CED1"), + ("Vert marin clair", "#20B2AA"), + ("Cyan foncé", "#008B8B"), + ("Vert sarcelle", "#008080"), + ("Bleu pétrole", "#5F9EA0"), + ("Bleu poudre", "#B0E0E6"), + ("Bleu clair", "#ADD8E6"), + ("Bleu azur clair", "#87CEFA"), + ("Bleu azur", "#87CEEB"), + ("Bleu azur profond", "#00BFFF"), + ("Bleu toile", "#1E90FF"), + ("Bleu lavande", "#E6E6FA"), + ("Bleu acier clair", "#B0C4DE"), + ("Bleuet", "#6495ED"), + ("Bleu acier", "#4682B4"), + ("Bleu royal", "#4169E1"), + ("Bleu", "#0000FF"), + ("Bleu moyen", "#0000CD"), + ("Bleu foncé", "#00008B"), + ("Bleu marin", "#000080"), + ("Bleu de minuit", "#191970"), + ) + ) safe_colors = ( - 'noir', 'bordeaux', 'vert', 'rouge', - 'violet', 'sarcelle', 'bleu', 'argent', - 'gris', 'jaune', 'fuchsia', 'cyan', 'blanc', + "noir", + "bordeaux", + "vert", + "rouge", + "violet", + "sarcelle", + "bleu", + "argent", + "gris", + "jaune", + "fuchsia", + "cyan", + "blanc", ) diff --git a/faker/providers/color/he_IL/__init__.py b/faker/providers/color/he_IL/__init__.py new file mode 100644 index 0000000000..67963cd977 --- /dev/null +++ b/faker/providers/color/he_IL/__init__.py @@ -0,0 +1,49 @@ +from collections import OrderedDict + +from .. import Provider as ColorProvider + +localized = True + + +class Provider(ColorProvider): + """Implement color provider for ``he_IL`` locale.""" + + """Source : https://he.wikipedia.org/wiki/%D7%95%D7%99%D7%A7%D7%99%D7%A4%D7%93%D7%99%D7%94:%D7%A2%D7%A8%D7%9B%D7%AA_%D7%A6%D7%91%D7%A2%D7%99%D7%9D#%D7%98%D7%91%D7%9C%D7%94_%D7%96%D7%95_%D7%9E%D7%A8%D7%90%D7%94_%D7%90%D7%AA_%D7%98%D7%95%D7%95%D7%97_%D7%94%D7%92%D7%95%D7%95%D7%A0%D7%99%D7%9D_%D7%A9%D7%9C_%D7%9B%D7%9E%D7%94_%D7%A6%D7%91%D7%A2%D7%99%D7%9D_%D7%A0%D7%A4%D7%95%D7%A6%D7%99%D7%9D""" # NOQA + + all_colors = OrderedDict( + ( + ("אדום", "#FF0000"), + ("אוכרה", "#DDAA33"), + ("אינדיגו", "#4B0082"), + ("אפור", "#7F7F7F"), + ("ארגמן", "#7F003F"), + ("ורוד", "#FF007F"), + ("זהב", "#FFDF00"), + ("חאקי", "#C3B091"), + ("חום", "#7F3F00"), + ("טורקיז", "#40E0D0"), + ("ירוק", "#00FF00"), + ("כחול", "#0000FF"), + ("כסף", "#C0C0C0"), + ("כתום", "#FF7F00"), + ("לבן", "#FFFFFF"), + ("מג'נטה", "#FF00FF"), + ("סגול", "#7F00FF"), + ("צהוב", "#FFFF00"), + ("ציאן", "#00FFFF"), + ("קרדינל", "#C41E3A"), + ("שחור", "#000000"), + ("שני", "#7F0000"), + ("תכלת", "#007FFF"), + ) + ) + + safe_colors = ( + "אדום", + "ירוק", + "כחול", + "צהוב", + "ציאן", + "מג'נטה", + "לבן", + ) diff --git a/faker/providers/color/hr_HR/__init__.py b/faker/providers/color/hr_HR/__init__.py index e408587ca3..c71f499863 100644 --- a/faker/providers/color/hr_HR/__init__.py +++ b/faker/providers/color/hr_HR/__init__.py @@ -8,151 +8,165 @@ class Provider(ColorProvider): """Implement color provider for ``hr_HR`` locale.""" - all_colors = OrderedDict(( - ('Akvamarin', '#7FFFD4'), - ('Antikna bijela', '#FAEBD7'), - ('Azurna', '#F0FFFF'), - ('Bež', '#F5F5DC'), - ('Bijela', '#FFFFFF'), - ('Bijelo bilje', '#FFFAF0'), - ('Bjelokost', '#FFFFF0'), - ('Blijeda kudelja', '#EEE8AA'), - ('Blijedi badem', '#FFEBCD'), - ('Blijedoljubičasta', '#DB7093'), - ('Blijedotirkizna', '#AFEEEE'), - ('Blijedozelena', '#98FB98'), - ('Breskva', '#FFDAB9'), - ('Brončana', '#D2B48C'), - ('Čeličnoplava', '#4682B4'), - ('Čičak', '#D8BFD8'), - ('Cijan', '#00FFFF'), - ('Čipka', '#FDF5E6'), - ('Čokoladna', '#D2691E'), - ('Crna', '#000000'), - ('Crvena', '#FF0000'), - ('Dim', '#F5F5F5'), - ('Dodger plava', '#1E90FF'), - ('Duboko ružičasta', '#FF1493'), - ('Fuksija', '#FF00FF'), - ('Gainsboro', '#DCDCDC'), - ('Grimizna', '#DC143C'), - ('Indigo', '#4B0082'), - ('Jelenska koža', '#FFE4B5'), - ('Kadetski plava', '#5F9EA0'), - ('Kestenjasta', '#800000'), - ('Koraljna', '#FF7F50'), - ('Kraljevski plava', '#4169E1'), - ('Kudelja', '#DAA520'), - ('Lan', '#FAF0E6'), - ('Lavanda', '#E6E6FA'), - ('Limun', '#FFFACD'), - ('Lipa', '#00FF00'), - ('Ljubičasta', '#EE82EE'), - ('Magenta', '#FF00FF'), - ('Maslinasta', '#808000'), - ('Medljika', '#F0FFF0'), - ('Menta', '#F5FFFA'), - ('Modro nebo', '#00BFFF'), - ('Modrozelena', '#008080'), - ('Mornarska', '#000080'), - ('Morskozelena', '#2E8B57'), - ('Mračno siva', '#696969'), - ('Narančasta', '#FFA500'), - ('Narančastocrvena', '#FF4500'), - ('Narančastoružičasta', '#FA8072'), - ('Noćno plava', '#191970'), - ('Orhideja', '#DA70D6'), - ('Papaja', '#FFEFD5'), - ('Peru', '#CD853F'), - ('Plava', '#0000FF'), - ('Plavi prah', '#B0E0E6'), - ('Plavi škriljevac', '#6A5ACD'), - ('Plavkasta', '#F0F8FF'), - ('Plavo cvijeće', '#6495ED'), - ('Plavo nebo', '#87CEEB'), - ('Plavoljubičasta', '#8A2BE2'), - ('Porculanska', '#FFE4C4'), - ('Prljavomaslinasta', '#6B8E23'), - ('Proljetnozelena', '#00FF7F'), - ('Prozirno bijela', '#F8F8FF'), - ('Pšenica', '#F5DEB3'), - ('Purpurna', '#800080'), - ('Rajčica', '#FF6347'), - ('Rumena lavanda', '#FFF0F5'), - ('Ružičasta', '#FFC0CB'), - ('Ružičastosmeđa', '#BC8F8F'), - ('Siva', '#808080'), - ('Sivi škriljevac', '#708090'), - ('Sivožuta', '#F0E68C'), - ('Smeđa', '#A52A2A'), - ('Smeđe sedlo', '#8B4513'), - ('Smeđi pijesak', '#F4A460'), - ('Smeđkasto bijela', '#FFDEAD'), - ('Snijeg', '#FFFAFA'), - ('Srebrna', '#C0C0C0'), - ('Srednja akvamarin', '#66CDAA'), - ('Srednja crvenoljubičasta', '#C71585'), - ('Srednja morskozelena', '#3CB371'), - ('Srednja orhideja', '#BA55D3'), - ('Srednja plava', '#0000CD'), - ('Srednja proljetnozelena', '#00FA9A'), - ('Srednja purpurna', '#9370DB'), - ('Srednja tirkizna', '#48D1CC'), - ('Srednje plavi škriljevac', '#7B68EE'), - ('Svijetla čeličnoplava', '#B0C4DE'), - ('Svijetla narančastoružičasta', '#FFA07A'), - ('Svijetli cijan', '#E0FFFF'), - ('Svijetlo drvo', '#DEB887'), - ('Svijetlokoraljna', '#F08080'), - ('Svijetlomorskozelena', '#20B2AA'), - ('Svijetloplava', '#ADD8E6'), - ('Svijetloružičasta', '#FFB6C1'), - ('Svijetlosiva', '#D3D3D3'), - ('Svijetlosivi škriljevac', '#778899'), - ('Svijetlozelena', '#90EE90'), - ('Svijetložuta kudelja', '#FAFAD2'), - ('Svijetložuta', '#FFFFE0'), - ('Šamotna opeka', '#B22222'), - ('Školjka', '#FFF5EE'), - ('Šljiva', '#DDA0DD'), - ('Tamna kudelja', '#B8860B'), - ('Tamna magenta', '#8B008B'), - ('Tamna narančastoružičasta', '#E9967A'), - ('Tamna orhideja', '#9932CC'), - ('Tamna sivožuta', '#BDB76B'), - ('Tamni cijan', '#008B8B'), - ('Tamno zelena', '#006400'), - ('Tamnocrvena', '#8B0000'), - ('Tamnoljubičasta', '#9400D3'), - ('Tamnomaslinasta', '#556B2F'), - ('Tamnonarančasta', '#FF8C00'), - ('Tamnoplava', '#00008B'), - ('Tamnoplavi škriljevac', '#483D8B'), - ('Tamnosiva', '#A9A9A9'), - ('Tamnosivi škriljevac', '#2F4F4F'), - ('Tamnotirkizna', '#00CED1'), - ('Tamnozelena', '#8FBC8F'), - ('Tirkizna', '#40E0D0'), - ('Topla ružičasta', '#FF69B4'), - ('Vedro nebo', '#87CEFA'), - ('Voda', '#00FFFF'), - ('Zelena lipa', '#32CD32'), - ('Zelena šuma', '#228B22'), - ('Zelena tratina', '#7CFC00'), - ('Zelena', '#008000'), - ('Zeleni liker', '#7FFF00'), - ('Zelenožuta', '#ADFF2F'), - ('Zlatna', '#FFD700'), - ('Žućkastocrvena zemlja', '#CD5C5C'), - ('Žućkastoružičasta', '#FFE4E1'), - ('Žućkastosmeđa glina', '#A0522D'), - ('Žuta svila', '#FFF8DC'), - ('Žuta', '#FFFF00'), - ('Žutozelena', '#9ACD32'), - )) + all_colors = OrderedDict( + ( + ("Akvamarin", "#7FFFD4"), + ("Antikna bijela", "#FAEBD7"), + ("Azurna", "#F0FFFF"), + ("Bež", "#F5F5DC"), + ("Bijela", "#FFFFFF"), + ("Bijelo bilje", "#FFFAF0"), + ("Bjelokost", "#FFFFF0"), + ("Blijeda kudelja", "#EEE8AA"), + ("Blijedi badem", "#FFEBCD"), + ("Blijedoljubičasta", "#DB7093"), + ("Blijedotirkizna", "#AFEEEE"), + ("Blijedozelena", "#98FB98"), + ("Breskva", "#FFDAB9"), + ("Brončana", "#D2B48C"), + ("Čeličnoplava", "#4682B4"), + ("Čičak", "#D8BFD8"), + ("Cijan", "#00FFFF"), + ("Čipka", "#FDF5E6"), + ("Čokoladna", "#D2691E"), + ("Crna", "#000000"), + ("Crvena", "#FF0000"), + ("Dim", "#F5F5F5"), + ("Dodger plava", "#1E90FF"), + ("Duboko ružičasta", "#FF1493"), + ("Fuksija", "#FF00FF"), + ("Gainsboro", "#DCDCDC"), + ("Grimizna", "#DC143C"), + ("Indigo", "#4B0082"), + ("Jelenska koža", "#FFE4B5"), + ("Kadetski plava", "#5F9EA0"), + ("Kestenjasta", "#800000"), + ("Koraljna", "#FF7F50"), + ("Kraljevski plava", "#4169E1"), + ("Kudelja", "#DAA520"), + ("Lan", "#FAF0E6"), + ("Lavanda", "#E6E6FA"), + ("Limun", "#FFFACD"), + ("Lipa", "#00FF00"), + ("Ljubičasta", "#EE82EE"), + ("Magenta", "#FF00FF"), + ("Maslinasta", "#808000"), + ("Medljika", "#F0FFF0"), + ("Menta", "#F5FFFA"), + ("Modro nebo", "#00BFFF"), + ("Modrozelena", "#008080"), + ("Mornarska", "#000080"), + ("Morskozelena", "#2E8B57"), + ("Mračno siva", "#696969"), + ("Narančasta", "#FFA500"), + ("Narančastocrvena", "#FF4500"), + ("Narančastoružičasta", "#FA8072"), + ("Noćno plava", "#191970"), + ("Orhideja", "#DA70D6"), + ("Papaja", "#FFEFD5"), + ("Peru", "#CD853F"), + ("Plava", "#0000FF"), + ("Plavi prah", "#B0E0E6"), + ("Plavi škriljevac", "#6A5ACD"), + ("Plavkasta", "#F0F8FF"), + ("Plavo cvijeće", "#6495ED"), + ("Plavo nebo", "#87CEEB"), + ("Plavoljubičasta", "#8A2BE2"), + ("Porculanska", "#FFE4C4"), + ("Prljavomaslinasta", "#6B8E23"), + ("Proljetnozelena", "#00FF7F"), + ("Prozirno bijela", "#F8F8FF"), + ("Pšenica", "#F5DEB3"), + ("Purpurna", "#800080"), + ("Rajčica", "#FF6347"), + ("Rumena lavanda", "#FFF0F5"), + ("Ružičasta", "#FFC0CB"), + ("Ružičastosmeđa", "#BC8F8F"), + ("Siva", "#808080"), + ("Sivi škriljevac", "#708090"), + ("Sivožuta", "#F0E68C"), + ("Smeđa", "#A52A2A"), + ("Smeđe sedlo", "#8B4513"), + ("Smeđi pijesak", "#F4A460"), + ("Smeđkasto bijela", "#FFDEAD"), + ("Snijeg", "#FFFAFA"), + ("Srebrna", "#C0C0C0"), + ("Srednja akvamarin", "#66CDAA"), + ("Srednja crvenoljubičasta", "#C71585"), + ("Srednja morskozelena", "#3CB371"), + ("Srednja orhideja", "#BA55D3"), + ("Srednja plava", "#0000CD"), + ("Srednja proljetnozelena", "#00FA9A"), + ("Srednja purpurna", "#9370DB"), + ("Srednja tirkizna", "#48D1CC"), + ("Srednje plavi škriljevac", "#7B68EE"), + ("Svijetla čeličnoplava", "#B0C4DE"), + ("Svijetla narančastoružičasta", "#FFA07A"), + ("Svijetli cijan", "#E0FFFF"), + ("Svijetlo drvo", "#DEB887"), + ("Svijetlokoraljna", "#F08080"), + ("Svijetlomorskozelena", "#20B2AA"), + ("Svijetloplava", "#ADD8E6"), + ("Svijetloružičasta", "#FFB6C1"), + ("Svijetlosiva", "#D3D3D3"), + ("Svijetlosivi škriljevac", "#778899"), + ("Svijetlozelena", "#90EE90"), + ("Svijetložuta kudelja", "#FAFAD2"), + ("Svijetložuta", "#FFFFE0"), + ("Šamotna opeka", "#B22222"), + ("Školjka", "#FFF5EE"), + ("Šljiva", "#DDA0DD"), + ("Tamna kudelja", "#B8860B"), + ("Tamna magenta", "#8B008B"), + ("Tamna narančastoružičasta", "#E9967A"), + ("Tamna orhideja", "#9932CC"), + ("Tamna sivožuta", "#BDB76B"), + ("Tamni cijan", "#008B8B"), + ("Tamno zelena", "#006400"), + ("Tamnocrvena", "#8B0000"), + ("Tamnoljubičasta", "#9400D3"), + ("Tamnomaslinasta", "#556B2F"), + ("Tamnonarančasta", "#FF8C00"), + ("Tamnoplava", "#00008B"), + ("Tamnoplavi škriljevac", "#483D8B"), + ("Tamnosiva", "#A9A9A9"), + ("Tamnosivi škriljevac", "#2F4F4F"), + ("Tamnotirkizna", "#00CED1"), + ("Tamnozelena", "#8FBC8F"), + ("Tirkizna", "#40E0D0"), + ("Topla ružičasta", "#FF69B4"), + ("Vedro nebo", "#87CEFA"), + ("Voda", "#00FFFF"), + ("Zelena lipa", "#32CD32"), + ("Zelena šuma", "#228B22"), + ("Zelena tratina", "#7CFC00"), + ("Zelena", "#008000"), + ("Zeleni liker", "#7FFF00"), + ("Zelenožuta", "#ADFF2F"), + ("Zlatna", "#FFD700"), + ("Žućkastocrvena zemlja", "#CD5C5C"), + ("Žućkastoružičasta", "#FFE4E1"), + ("Žućkastosmeđa glina", "#A0522D"), + ("Žuta svila", "#FFF8DC"), + ("Žuta", "#FFFF00"), + ("Žutozelena", "#9ACD32"), + ) + ) safe_colors = ( - 'crna', 'kestenjasta', 'zelena', 'mornarska', 'maslinasta', - 'purpurna', 'modrozelena', 'lipa', 'plava', 'srebrna', - 'siva', 'žuta', 'fuksija', 'voda', 'bijela', + "crna", + "kestenjasta", + "zelena", + "mornarska", + "maslinasta", + "purpurna", + "modrozelena", + "lipa", + "plava", + "srebrna", + "siva", + "žuta", + "fuksija", + "voda", + "bijela", ) diff --git a/faker/providers/color/hu_HU/__init__.py b/faker/providers/color/hu_HU/__init__.py index abea2a05aa..18e36c1cbd 100644 --- a/faker/providers/color/hu_HU/__init__.py +++ b/faker/providers/color/hu_HU/__init__.py @@ -1,11 +1,23 @@ -from faker.providers import BaseProvider +from .. import Provider as ColorProvider -class Provider(BaseProvider): +class Provider(ColorProvider): """Implement color provider for ``hu_HU`` locale.""" safe_colors = ( - 'fekete', 'bordó', 'zöld', 'királykék', 'oliva', - 'bíbor', 'kékeszöld', 'citromzöld', 'kék', 'ezüst', - 'szürke', 'sárga', 'mályva', 'akvamarin', 'fehér', + "fekete", + "bordó", + "zöld", + "királykék", + "oliva", + "bíbor", + "kékeszöld", + "citromzöld", + "kék", + "ezüst", + "szürke", + "sárga", + "mályva", + "akvamarin", + "fehér", ) diff --git a/faker/providers/color/hy_AM/__init__.py b/faker/providers/color/hy_AM/__init__.py index 70a3448d95..011aaf67f8 100644 --- a/faker/providers/color/hy_AM/__init__.py +++ b/faker/providers/color/hy_AM/__init__.py @@ -6,149 +6,163 @@ class Provider(ColorProvider): """Implement color provider for ``hy_AM`` locale.""" - all_colors = OrderedDict(( - ("Ալիսի կապույտ", "#F0F8FF"), - ("Անանուխի կրեմ", "#F5FFFA"), - ("Անտառային կանաչ", "#228B22"), - ("Արծաթագույն", "#C0C0C0"), - ("Արքայական կապույտ", "#4169E1"), - ("Բաց դեղին", "#FFFFE0"), - ("Բաց դեղնաոսկեգույն", "#FAFAD2"), - ("Բաց երկնագույն", "#87CEFA"), - ("Բաց ծովային կանաչ", "#20B2AA"), - ("Բաց կաթնագույն", "#FFFFF0"), - ("Բաց կանաչ", "#90EE90"), - ("Բաց կապույտ", "#ADD8E6"), - ("Բաց կապտականաչ", "#E0FFFF"), - ("Բաց կորալ", "#F08080"), - ("Բաց մանուշակագույն", "#EE82EE"), - ("Բաց մոխրագույն թերթաքար", "#778899"), - ("Բաց մոխրագույն", "#D3D3D3"), - ("Բաց նշագույն", "#FFEBCD"), - ("Բաց պողպատե կապույտ", "#B0C4DE"), - ("Բաց սաղմոնագույն", "#FFA07A"), - ("Բաց վարդագույն", "#FFB6C1"), - ("Բեժ", "#F5F5DC"), - ("Բոսորագույն", "#DC143C"), - ("Գարնանային կանաչ", "#00FF7F"), - ("Գեյնսբորրո", "#DCDCDC"), - ("Գունատ կանաչ", "#98FB98"), - ("Գունատ կարմիր մանուշակագույն", "#DB7093"), - ("Գունատ ոսկեգույն", "#EEE8AA"), - ("Գունատ փիրուզագույն", "#AFEEEE"), - ("Գրասենյակային կանաչ", "#008000"), - ("Դարչնագույն ավազ", "#F4A460"), - ("Դարչնագույն", "#964B00"), - ("Դեղին", "#FFFF00"), - ("Դեղձի կրեմ", "#FFDAB9"), - ("Դեղնականաչ", "#9ACD3"), - ("Դոդջերս կապույտ", "#1E90FF"), - ("Եգիպտացորենի մազիկներ", "#FFF8DC"), - ("Երկնագույն մառախուղ", "#F0FFFF"), - ("Երկնագույն", "#87CEEB"), - ("Զինվորական կանաչ", "#6B8E23"), - ("Թամբի դարչնագույն", "#8B4513"), - ("Թեժ վարդագույն", "#FF69B4"), - ("Թուխ", "#D2B48C"), - ("Ինդիգո", "#4B0082"), - ("Լայմի կանաչ", "#32CD32"), - ("Լավանդ", "#E6E6FA"), - ("Լոլիկ", "#FF6347"), - ("Խակի", "#F0E68C"), - ("Խոլորձագույն", "#DA70D6"), - ("Ծխագույն", "#F5F5F5"), - ("Ծովախեցի", "#FFF5EE"), - ("Ծովակնագույն", "#7FFFD4"), - ("Ծովային կանաչ", "#2E8B57"), - ("Կադետների կապույտ", "#5F9EA0"), - ("Կաթնագույն", "#FFFAF0"), - ("Կակաոյի դարչնագույն", "#D2691E"), - ("Կանաչ", "#00FF00"), - ("Կանաչադեղին", "#ADFF2F"), - ("Կապույտ թերթաքար", "#6A5ACD"), - ("Կապույտ մանուշակագույն", "#8A2BE2"), - ("Կապույտ փոշի", "#B0E0E6"), - ("Կապույտ", "#0000FF"), - ("Կապտականաչ", "#00FFFF"), - ("Կարմիր դարչնագույն", "#A52A2A"), - ("Կարմիր լավանդ", "#FFF0F5"), - ("Կարմիր մանուշակագույն", "#C71585"), - ("Կարմիր", "#FF0000"), - ("Կեսգիշերային կապույտ", "#191970"), - ("Կիտրոնի շիֆոն", "#FFFACD"), - ("Կորալ", "#FF7F50"), - ("Հարած պապայա", "#FFEFD5"), - ("Հին ժանյակ", "#FDF5E6"), - ("Հնաոճ սպիտակ", "#FAEBD7"), - ("Հնդկական կարմիր", "#CD5C5C"), - ("Հրակայուն աղյուս", "#B22222"), - ("Ձիթապտղի գույն", "#808000"), - ("Ձյունաճերմակ", "#FFFAFA"), - ("Մանուշակագույն", "#800080"), - ("Մեղրացող սեխ", "#F0FFF0"), - ("Միջին գարնանային կանաչ", "#00FA9A"), - ("Միջին խոլորձագույն", "#BA55D3"), - ("Միջին ծովակնագույն", "#66CDAA"), - ("Միջին ծովային կանաչ", "#3CB371"), - ("Միջին կապույտ թերթաքար", "#7B68EE"), - ("Միջին կապույտ", "#0000CD"), - ("Միջին կապտականաչ", "#9370DB"), - ("Միջին փիրուզագույն", "#48D1CC"), - ("Մոխրագույն թերթաքար", "#708090"), - ("Մոխրագույն", "#808080"), - ("Մոկասին", "#FFE4B5"), - ("Մուգ երկնագույն", "#00BFFF"), - ("Մուգ խակի", "#BDB76B"), - ("Մուգ խոլորձագույն", "#9932CC"), - ("Մուգ ծովային կանաչ", "#8FBC8F"), - ("Մուգ կանաչ", "#006400"), - ("Մուգ կապույտ թերթաքար", "#483D8B"), - ("Մուգ կապույտ", "#00008B"), - ("Մուգ կապտականաչ", "#008080"), - ("Մուգ կարմիր", "#8B0000"), - ("Մուգ ձիթապտղի կանաչ", "#556B2F"), - ("Մուգ մանուշակագույն", "#9400D3"), - ("Մուգ մոխրագույն թերթաքար", "#2F4F4F"), - ("Մուգ մոխրագույն", "#696969"), - ("Մուգ մոխրագույն", "#A9A9A9"), - ("Մուգ նարնջագույն", "#FF8C00"), - ("Մուգ ոսկեգույն", "#B8860B"), - ("Մուգ սաղմոնագույն", "#E9967A"), - ("Մուգ վառ մանուշակագույն", "#8B008B"), - ("Մուգ վարդագույն", "#FF1493"), - ("Մուգ փիրուզագույն", "#00CED1"), - ("Նավահո սպիտակ", "#FFDEAD"), - ("Նավատորմի կապույտ", "#000080"), - ("Նարնջագույն կարմիր", "#FF4500"), - ("Նարնջագույն", "#FFA500"), - ("Նշագույն", "#FFE4C4"), - ("Շագանակագույն", "#800000"), - ("Շարտրուզ", "#7FFF00"), - ("Ոսկեգույն ձող", "#DAA520"), - ("Ոսկեգույն", "#FFD700"), - ("Պերու", "#CD853F"), - ("Պողպատե կապույտ", "#4682B4"), - ("Սալոր", "#DDA0DD"), - ("Սաղմոնագույն", "#FA8072"), - ("Սիենա", "#A0522D"), - ("Սիզամարգի կանաչ", "#7CFC00"), - ("Սպիտակ ստվեր", "#F8F8FF"), - ("Սպիտակ", "#FFFFFF"), - ("Սև", "#000000"), - ("Վառ մանուշակագույն", "#FF00FF"), - ("Վարդագույն", "#FFC0CB"), - ("Վարդագույն", "#FFE4E1"), - ("Վարդադարչնագույն", "#BC8F8F"), - ("Վուշ", "#FAF0E6"), - ("Տատասկ", "#D8BFD8"), - ("Տերեփուկի կապույտ", "#6495ED"), - ("Ցորենագույն", "#F5DEB3"), - ("Փիրուզագույն", "#40E0D0"), - ("Փխրուն փայտ", "#DEB887"), - )) + all_colors = OrderedDict( + ( + ("Ալիսի կապույտ", "#F0F8FF"), + ("Անանուխի կրեմ", "#F5FFFA"), + ("Անտառային կանաչ", "#228B22"), + ("Արծաթագույն", "#C0C0C0"), + ("Արքայական կապույտ", "#4169E1"), + ("Բաց դեղին", "#FFFFE0"), + ("Բաց դեղնաոսկեգույն", "#FAFAD2"), + ("Բաց երկնագույն", "#87CEFA"), + ("Բաց ծովային կանաչ", "#20B2AA"), + ("Բաց կաթնագույն", "#FFFFF0"), + ("Բաց կանաչ", "#90EE90"), + ("Բաց կապույտ", "#ADD8E6"), + ("Բաց կապտականաչ", "#E0FFFF"), + ("Բաց կորալ", "#F08080"), + ("Բաց մանուշակագույն", "#EE82EE"), + ("Բաց մոխրագույն թերթաքար", "#778899"), + ("Բաց մոխրագույն", "#D3D3D3"), + ("Բաց նշագույն", "#FFEBCD"), + ("Բաց պողպատե կապույտ", "#B0C4DE"), + ("Բաց սաղմոնագույն", "#FFA07A"), + ("Բաց վարդագույն", "#FFB6C1"), + ("Բեժ", "#F5F5DC"), + ("Բոսորագույն", "#DC143C"), + ("Գարնանային կանաչ", "#00FF7F"), + ("Գեյնսբորրո", "#DCDCDC"), + ("Գունատ կանաչ", "#98FB98"), + ("Գունատ կարմիր մանուշակագույն", "#DB7093"), + ("Գունատ ոսկեգույն", "#EEE8AA"), + ("Գունատ փիրուզագույն", "#AFEEEE"), + ("Գրասենյակային կանաչ", "#008000"), + ("Դարչնագույն ավազ", "#F4A460"), + ("Դարչնագույն", "#964B00"), + ("Դեղին", "#FFFF00"), + ("Դեղձի կրեմ", "#FFDAB9"), + ("Դեղնականաչ", "#9ACD3"), + ("Դոդջերս կապույտ", "#1E90FF"), + ("Եգիպտացորենի մազիկներ", "#FFF8DC"), + ("Երկնագույն մառախուղ", "#F0FFFF"), + ("Երկնագույն", "#87CEEB"), + ("Զինվորական կանաչ", "#6B8E23"), + ("Թամբի դարչնագույն", "#8B4513"), + ("Թեժ վարդագույն", "#FF69B4"), + ("Թուխ", "#D2B48C"), + ("Ինդիգո", "#4B0082"), + ("Լայմի կանաչ", "#32CD32"), + ("Լավանդ", "#E6E6FA"), + ("Լոլիկ", "#FF6347"), + ("Խակի", "#F0E68C"), + ("Խոլորձագույն", "#DA70D6"), + ("Ծխագույն", "#F5F5F5"), + ("Ծովախեցի", "#FFF5EE"), + ("Ծովակնագույն", "#7FFFD4"), + ("Ծովային կանաչ", "#2E8B57"), + ("Կադետների կապույտ", "#5F9EA0"), + ("Կաթնագույն", "#FFFAF0"), + ("Կակաոյի դարչնագույն", "#D2691E"), + ("Կանաչ", "#00FF00"), + ("Կանաչադեղին", "#ADFF2F"), + ("Կապույտ թերթաքար", "#6A5ACD"), + ("Կապույտ մանուշակագույն", "#8A2BE2"), + ("Կապույտ փոշի", "#B0E0E6"), + ("Կապույտ", "#0000FF"), + ("Կապտականաչ", "#00FFFF"), + ("Կարմիր դարչնագույն", "#A52A2A"), + ("Կարմիր լավանդ", "#FFF0F5"), + ("Կարմիր մանուշակագույն", "#C71585"), + ("Կարմիր", "#FF0000"), + ("Կեսգիշերային կապույտ", "#191970"), + ("Կիտրոնի շիֆոն", "#FFFACD"), + ("Կորալ", "#FF7F50"), + ("Հարած պապայա", "#FFEFD5"), + ("Հին ժանյակ", "#FDF5E6"), + ("Հնաոճ սպիտակ", "#FAEBD7"), + ("Հնդկական կարմիր", "#CD5C5C"), + ("Հրակայուն աղյուս", "#B22222"), + ("Ձիթապտղի գույն", "#808000"), + ("Ձյունաճերմակ", "#FFFAFA"), + ("Մանուշակագույն", "#800080"), + ("Մեղրացող սեխ", "#F0FFF0"), + ("Միջին գարնանային կանաչ", "#00FA9A"), + ("Միջին խոլորձագույն", "#BA55D3"), + ("Միջին ծովակնագույն", "#66CDAA"), + ("Միջին ծովային կանաչ", "#3CB371"), + ("Միջին կապույտ թերթաքար", "#7B68EE"), + ("Միջին կապույտ", "#0000CD"), + ("Միջին կապտականաչ", "#9370DB"), + ("Միջին փիրուզագույն", "#48D1CC"), + ("Մոխրագույն թերթաքար", "#708090"), + ("Մոխրագույն", "#808080"), + ("Մոկասին", "#FFE4B5"), + ("Մուգ երկնագույն", "#00BFFF"), + ("Մուգ խակի", "#BDB76B"), + ("Մուգ խոլորձագույն", "#9932CC"), + ("Մուգ ծովային կանաչ", "#8FBC8F"), + ("Մուգ կանաչ", "#006400"), + ("Մուգ կապույտ թերթաքար", "#483D8B"), + ("Մուգ կապույտ", "#00008B"), + ("Մուգ կապտականաչ", "#008080"), + ("Մուգ կարմիր", "#8B0000"), + ("Մուգ ձիթապտղի կանաչ", "#556B2F"), + ("Մուգ մանուշակագույն", "#9400D3"), + ("Մուգ մոխրագույն թերթաքար", "#2F4F4F"), + ("Մուգ մոխրագույն", "#696969"), + ("Մուգ մոխրագույն", "#A9A9A9"), + ("Մուգ նարնջագույն", "#FF8C00"), + ("Մուգ ոսկեգույն", "#B8860B"), + ("Մուգ սաղմոնագույն", "#E9967A"), + ("Մուգ վառ մանուշակագույն", "#8B008B"), + ("Մուգ վարդագույն", "#FF1493"), + ("Մուգ փիրուզագույն", "#00CED1"), + ("Նավահո սպիտակ", "#FFDEAD"), + ("Նավատորմի կապույտ", "#000080"), + ("Նարնջագույն կարմիր", "#FF4500"), + ("Նարնջագույն", "#FFA500"), + ("Նշագույն", "#FFE4C4"), + ("Շագանակագույն", "#800000"), + ("Շարտրուզ", "#7FFF00"), + ("Ոսկեգույն ձող", "#DAA520"), + ("Ոսկեգույն", "#FFD700"), + ("Պերու", "#CD853F"), + ("Պողպատե կապույտ", "#4682B4"), + ("Սալոր", "#DDA0DD"), + ("Սաղմոնագույն", "#FA8072"), + ("Սիենա", "#A0522D"), + ("Սիզամարգի կանաչ", "#7CFC00"), + ("Սպիտակ ստվեր", "#F8F8FF"), + ("Սպիտակ", "#FFFFFF"), + ("Սև", "#000000"), + ("Վառ մանուշակագույն", "#FF00FF"), + ("Վարդագույն", "#FFC0CB"), + ("Վարդագույն", "#FFE4E1"), + ("Վարդադարչնագույն", "#BC8F8F"), + ("Վուշ", "#FAF0E6"), + ("Տատասկ", "#D8BFD8"), + ("Տերեփուկի կապույտ", "#6495ED"), + ("Ցորենագույն", "#F5DEB3"), + ("Փիրուզագույն", "#40E0D0"), + ("Փխրուն փայտ", "#DEB887"), + ) + ) safe_colors = ( - 'սև', 'շագանակագույն', 'կանաչ', 'նավատորմի կապույտ', 'ձիթապտղի գույն', - 'մանուշակագույն', 'մուգ կապտականաչ', 'լայմ', 'կապույտ', 'արծաթագույն', - 'մոխրագույն', 'դեղին', 'վառ մանուշակագույն', 'կապտականաչ', 'սպիտակ', + "սև", + "շագանակագույն", + "կանաչ", + "նավատորմի կապույտ", + "ձիթապտղի գույն", + "մանուշակագույն", + "մուգ կապտականաչ", + "լայմ", + "կապույտ", + "արծաթագույն", + "մոխրագույն", + "դեղին", + "վառ մանուշակագույն", + "կապտականաչ", + "սպիտակ", ) diff --git a/faker/providers/color/pt_BR/__init__.py b/faker/providers/color/pt_BR/__init__.py index 8259735820..de682ef1b5 100644 --- a/faker/providers/color/pt_BR/__init__.py +++ b/faker/providers/color/pt_BR/__init__.py @@ -8,239 +8,254 @@ class Provider(ColorProvider): """Implement color provider for ``pt_BR`` locale.""" - all_colors = OrderedDict(( - ("Açafrão", "#F4C430"), - ("Água-marinha média", "#66CDAA"), - ("Água-marinha", "#7FFFD4"), - ("Água", "#00FFFF"), - ("Alizarina", "#E32636"), - ("Amarelo brasilis", "#ECDB00"), - ("Amarelo claro", "#FFFFE0"), - ("Amarelo creme", "#ECD690"), - ("Amarelo escuro", "#F2B73F"), - ("Amarelo esverdeado", "#9ACD32"), - ("Amarelo esverdeado", "#ADFF2F"), - ("Amarelo ouro claro", "#FAFAD2"), - ("Amarelo queimado", "#EEAD2D"), - ("Amarelo", "#FFFF00"), - ("Âmbar", "#FFBF00"), - ("Ameixa", "#DDA0DD"), - ("Amêndoa", "#FFEBCD"), - ("Ametista", "#9966CC"), - ("Aspargo", "#7BA05B"), - ("Azul aço claro", "#B0C4DE"), - ("Azul aço", "#4682B4"), - ("Azul alice", "#F0F8FF"), - ("Azul ardósia claro", "#8470FF"), - ("Azul ardósia escuro", "#483D8B"), - ("Azul ardósia médio", "#7B68EE"), - ("Azul ardósia", "#6A5ACD"), - ("Azul areado", "#B8CAD4"), - ("Azul brasilis brilhante", "#09ACDB"), - ("Azul brasilis", "#00BDCE"), - ("Azul cadete", "#5F9EA0"), - ("Azul camarada", "#054F77"), - ("Azul celeste brilhante", "#007FFF"), - ("Azul celeste pernambucano", "#00A4CD"), - ("Azul celeste", "#F0FFFF"), - ("Azul céu claro", "#87CEFA"), - ("Azul céu profundo", "#00BFFF"), - ("Azul céu", "#87CEEB"), - ("Azul claro", "#ADD8E6"), - ("Azul cobalto", "#0047AB"), - ("Azul escuro", "#00008B"), - ("Azul flor de milho", "#6495ED"), - ("Azul força aérea", "#5D8AA8"), - ("Azul furtivo", "#1E90FF"), - ("Azul manteiga", "#A6AA3E"), - ("Azul marinho", "#120A8F"), - ("Azul médio", "#0000CD"), - ("Azul meia-noite", "#191970"), - ("Azul petróleo", "#084D6E"), - ("Azul pólvora", "#B0E0E6"), - ("Azul real", "#0000DD"), - ("Azul taparuere", "#248EFF"), - ("Azul turquesa brilhante", "#00DDFF"), - ("Azul turquesa", "#00CCEE"), - ("Azul violeta", "#8A2BE2"), - ("Azul", "#0000FF"), - ("Bege", "#F5F5DC"), - ("Bordô", "#800000"), - ("Borgonha", "#900020"), - ("Branco antigo", "#FAEBD7"), - ("Branco fantasma", "#F8F8FF"), - ("Branco floral", "#FFFAF0"), - ("Branco fumaça", "#F5F5F5"), - ("Branco navajo", "#FFDEAD"), - ("Branco", "#FFFFFF"), - ("Brasil", "#A7F432"), - ("Bronze", "#CD7F32"), - ("Caqui escuro", "#BDB76B"), - ("Caqui", "#F0E68C"), - ("Caramelo", "#8B5742"), - ("Cardo", "#D8BFD8"), - ("Carmesim", "#DC143C"), - ("Carmim carnáceo", "#960018"), - ("Carmim clássico", "#992244"), - ("Carmim", "#712F26"), - ("Castanho avermelhado", "#8B0000"), - ("Castanho claro", "#D2B48C"), - ("Cenoura", "#ED9121"), - ("Cereja Hollywood", "#F400A1"), - ("Cereja", "#DE3163"), - ("Chocolate", "#D2691E"), - ("Ciano claro", "#E0FFFF"), - ("Ciano escuro", "#008B8B"), - ("Ciano", "#00FFFF"), - ("Cinza ardósia claro", "#778899"), - ("Cinza ardósia escuro", "#2F4F4F"), - ("Cinza ardósia", "#708090"), - ("Cinza claro", "#D3D3D3"), - ("Cinza escuro", "#A9A9A9"), - ("Cinza fosco", "#696969"), - ("Cinza médio", "#DCDCDC"), - ("Cinza", "#808080"), - ("Cobre", "#B87333"), - ("Concha", "#FFF5EE"), - ("Coral claro", "#F08080"), - ("Coral", "#FF7F50"), - ("Couro", "#F0DC82"), - ("Creme de marisco", "#FFE4C4"), - ("Creme de menta", "#F5FFFA"), - ("Creme", "#FFFDD0"), - ("Dourado escuro", "#B8860B"), - ("Dourado pálido", "#EEE8AA"), - ("Dourado", "#DAA520"), - ("Ébano", "#555D50"), - ("Eminência", "#6C3082"), - ("Escarlate", "#FF2400"), - ("Esmeralda", "#50C878"), - ("Eucalipto", "#44D7A8"), - ("Fandango", "#B53389"), - ("Feldspato", "#FDD5B1"), - ("Ferrugem", "#B7410E"), - ("Flerte", "#A2006D"), - ("Fúcsia", "#FF00FF"), - ("Fuligem", "#3D2B1F"), - ("Glicínia", "#C9A0DC"), - ("Glitter", "#E6E8FA"), - ("Grená", "#831D1C"), - ("Heliotrópio", "#DF73FF"), - ("Herbal", "#2E8B57"), - ("Independência", "#4C516D"), - ("Índigo", "#4B0082"), - ("Iris", "#5A4FCF"), - ("Jade", "#00A86B"), - ("Jambo", "#FF4500"), - ("Jasmine", "#F8DE7E"), - ("Kiwi", "#8EE53F"), - ("Laranja claro", "#FFB84D"), - ("Laranja escuro", "#FF8C00"), - ("Laranja", "#FFA500"), - ("Lavanda avermelhada", "#FFF0F5"), - ("Lavanda", "#E6E6FA"), - ("Lilás", "#C8A2C8"), - ("Lima", "#FDE910"), - ("Limão", "#00FF00"), - ("Linho", "#FAF0E6"), - ("Madeira", "#DEB887"), - ("Magenta escuro", "#8B008B"), - ("Magenta", "#FF00FF"), - ("Malva", "#E0B0FF"), - ("Mamão batido", "#FFEFD5"), - ("Maná", "#F0FFF0"), - ("Marfim", "#FFFFF0"), - ("Marrom amarelado", "#F4A460"), - ("Marrom claro", "#A52A2A"), - ("Marrom rosado", "#BC8F8F"), - ("Marrom sela", "#8B4513"), - ("Marrom", "#964B00"), - ("Milho Claro", "#FFF8DC"), - ("Milho", "#FBEC5D"), - ("Mocassim", "#FFE4B5"), - ("Mostarda", "#FFDB58"), - ("Naval", "#000080"), - ("Neve", "#FFFAFA"), - ("Nyanza", "#E9FFDB"), - ("Ocre", "#CC7722"), - ("Oliva escura", "#556B2F"), - ("Oliva parda", "#6B8E23"), - ("Oliva", "#808000"), - ("Orquídea escura", "#9932CC"), - ("Orquídea média", "#BA55D3"), - ("Orquídea", "#DA70D6"), - ("Ouro", "#FFD700"), - ("Pardo escuro", "#CC6600"), - ("Pardo", "#CD853F"), - ("Pêssego", "#FFDAB9"), - ("Prata", "#C0C0C0"), - ("Preto", "#000000"), - ("Púrpura média", "#9370DB"), - ("Púrpura", "#800080"), - ("Quantum", "#111111"), - ("Quartzo", "#51484F"), - ("Renda antiga", "#FDF5E6"), - ("Rosa amoroso", "#CD69CD"), - ("Rosa brilhante", "#FF007F"), - ("Rosa Choque", "#FC0FC0"), - ("Rosa claro", "#FFB6C1"), - ("Rosa danação", "#DA69A1"), - ("Rosa embaçado", "#FFE4E1"), - ("Rosa forte", "#FF69B4"), - ("Rosa profundo", "#FF1493"), - ("Rosa", "#FFCBDB"), - ("Roxo brasilis", "#8A008A"), - ("Roxo", "#993399"), - ("Rútilo", "#6D351A"), - ("Salmão claro", "#FFA07A"), - ("Salmão escuro", "#E9967A"), - ("Salmão", "#FA7F72"), - ("Sépia", "#705714"), - ("Siena", "#FF8247"), - ("Tangerina", "#F28500"), - ("Terracota", "#E2725B"), - ("Tijolo refratário", "#B22222"), - ("Tomate", "#FF6347"), - ("Triássico", "#FF2401"), - ("Trigo", "#F5DEB3"), - ("Turquesa escura", "#00CED1"), - ("Turquesa média", "#48D1CC"), - ("Turquesa pálida", "#AFEEEE"), - ("Turquesa", "#40E0D0"), - ("Urucum", "#EC2300"), - ("Verde amarelado", "#9ACD32"), - ("Verde claro", "#90EE90"), - ("Verde escuro", "#006400"), - ("Verde espectro", "#00FF00"), - ("Verde floresta", "#228B22"), - ("Verde fluorescente", "#CCFF33"), - ("Verde grama", "#7CFC00"), - ("Verde lima", "#32CD32"), - ("Verde mar claro", "#20B2AA"), - ("Verde mar escuro", "#8FBC8F"), - ("Verde mar médio", "#3CB371"), - ("Verde militar", "#78866B"), - ("Verde pálido", "#98FB98"), - ("Verde Paris", "#7FFF00"), - ("Verde primavera médio", "#00FA9A"), - ("Verde primavera", "#00FF7F"), - ("Verde-azulado", "#008080"), - ("Verde", "#008000"), - ("Vermelho enegrecido", "#550000"), - ("Vermelho escuro", "#8B0000"), - ("Vermelho indiano", "#CD5C5C"), - ("Vermelho violeta médio", "#C71585"), - ("Vermelho violeta pálido", "#DB7093"), - ("Vermelho violeta", "#D02090"), - ("Vermelho", "#FF0000"), - ("Violeta claro", "#F8CBF8"), - ("Violeta escuro", "#9400D3"), - ("Violeta", "#EE82EE"), - ("Zinco", "#E2DDF0"), - )) + all_colors = OrderedDict( + ( + ("Açafrão", "#F4C430"), + ("Água-marinha média", "#66CDAA"), + ("Água-marinha", "#7FFFD4"), + ("Água", "#00FFFF"), + ("Alizarina", "#E32636"), + ("Amarelo brasilis", "#ECDB00"), + ("Amarelo claro", "#FFFFE0"), + ("Amarelo creme", "#ECD690"), + ("Amarelo escuro", "#F2B73F"), + ("Amarelo esverdeado", "#9ACD32"), + ("Amarelo esverdeado", "#ADFF2F"), + ("Amarelo ouro claro", "#FAFAD2"), + ("Amarelo queimado", "#EEAD2D"), + ("Amarelo", "#FFFF00"), + ("Âmbar", "#FFBF00"), + ("Ameixa", "#DDA0DD"), + ("Amêndoa", "#FFEBCD"), + ("Ametista", "#9966CC"), + ("Aspargo", "#7BA05B"), + ("Azul aço claro", "#B0C4DE"), + ("Azul aço", "#4682B4"), + ("Azul alice", "#F0F8FF"), + ("Azul ardósia claro", "#8470FF"), + ("Azul ardósia escuro", "#483D8B"), + ("Azul ardósia médio", "#7B68EE"), + ("Azul ardósia", "#6A5ACD"), + ("Azul areado", "#B8CAD4"), + ("Azul brasilis brilhante", "#09ACDB"), + ("Azul brasilis", "#00BDCE"), + ("Azul cadete", "#5F9EA0"), + ("Azul camarada", "#054F77"), + ("Azul celeste brilhante", "#007FFF"), + ("Azul celeste pernambucano", "#00A4CD"), + ("Azul celeste", "#F0FFFF"), + ("Azul céu claro", "#87CEFA"), + ("Azul céu profundo", "#00BFFF"), + ("Azul céu", "#87CEEB"), + ("Azul claro", "#ADD8E6"), + ("Azul cobalto", "#0047AB"), + ("Azul escuro", "#00008B"), + ("Azul flor de milho", "#6495ED"), + ("Azul força aérea", "#5D8AA8"), + ("Azul furtivo", "#1E90FF"), + ("Azul manteiga", "#A6AA3E"), + ("Azul marinho", "#120A8F"), + ("Azul médio", "#0000CD"), + ("Azul meia-noite", "#191970"), + ("Azul petróleo", "#084D6E"), + ("Azul pólvora", "#B0E0E6"), + ("Azul real", "#0000DD"), + ("Azul taparuere", "#248EFF"), + ("Azul turquesa brilhante", "#00DDFF"), + ("Azul turquesa", "#00CCEE"), + ("Azul violeta", "#8A2BE2"), + ("Azul", "#0000FF"), + ("Bege", "#F5F5DC"), + ("Bordô", "#800000"), + ("Borgonha", "#900020"), + ("Branco antigo", "#FAEBD7"), + ("Branco fantasma", "#F8F8FF"), + ("Branco floral", "#FFFAF0"), + ("Branco fumaça", "#F5F5F5"), + ("Branco navajo", "#FFDEAD"), + ("Branco", "#FFFFFF"), + ("Brasil", "#A7F432"), + ("Bronze", "#CD7F32"), + ("Caqui escuro", "#BDB76B"), + ("Caqui", "#F0E68C"), + ("Caramelo", "#8B5742"), + ("Cardo", "#D8BFD8"), + ("Carmesim", "#DC143C"), + ("Carmim carnáceo", "#960018"), + ("Carmim clássico", "#992244"), + ("Carmim", "#712F26"), + ("Castanho avermelhado", "#8B0000"), + ("Castanho claro", "#D2B48C"), + ("Cenoura", "#ED9121"), + ("Cereja Hollywood", "#F400A1"), + ("Cereja", "#DE3163"), + ("Chocolate", "#D2691E"), + ("Ciano claro", "#E0FFFF"), + ("Ciano escuro", "#008B8B"), + ("Ciano", "#00FFFF"), + ("Cinza ardósia claro", "#778899"), + ("Cinza ardósia escuro", "#2F4F4F"), + ("Cinza ardósia", "#708090"), + ("Cinza claro", "#D3D3D3"), + ("Cinza escuro", "#A9A9A9"), + ("Cinza fosco", "#696969"), + ("Cinza médio", "#DCDCDC"), + ("Cinza", "#808080"), + ("Cobre", "#B87333"), + ("Concha", "#FFF5EE"), + ("Coral claro", "#F08080"), + ("Coral", "#FF7F50"), + ("Couro", "#F0DC82"), + ("Creme de marisco", "#FFE4C4"), + ("Creme de menta", "#F5FFFA"), + ("Creme", "#FFFDD0"), + ("Dourado escuro", "#B8860B"), + ("Dourado pálido", "#EEE8AA"), + ("Dourado", "#DAA520"), + ("Ébano", "#555D50"), + ("Eminência", "#6C3082"), + ("Escarlate", "#FF2400"), + ("Esmeralda", "#50C878"), + ("Eucalipto", "#44D7A8"), + ("Fandango", "#B53389"), + ("Feldspato", "#FDD5B1"), + ("Ferrugem", "#B7410E"), + ("Flerte", "#A2006D"), + ("Fúcsia", "#FF00FF"), + ("Fuligem", "#3D2B1F"), + ("Glicínia", "#C9A0DC"), + ("Glitter", "#E6E8FA"), + ("Grená", "#831D1C"), + ("Heliotrópio", "#DF73FF"), + ("Herbal", "#2E8B57"), + ("Independência", "#4C516D"), + ("Índigo", "#4B0082"), + ("Iris", "#5A4FCF"), + ("Jade", "#00A86B"), + ("Jambo", "#FF4500"), + ("Jasmine", "#F8DE7E"), + ("Kiwi", "#8EE53F"), + ("Laranja claro", "#FFB84D"), + ("Laranja escuro", "#FF8C00"), + ("Laranja", "#FFA500"), + ("Lavanda avermelhada", "#FFF0F5"), + ("Lavanda", "#E6E6FA"), + ("Lilás", "#C8A2C8"), + ("Lima", "#FDE910"), + ("Limão", "#00FF00"), + ("Linho", "#FAF0E6"), + ("Madeira", "#DEB887"), + ("Magenta escuro", "#8B008B"), + ("Magenta", "#FF00FF"), + ("Malva", "#E0B0FF"), + ("Mamão batido", "#FFEFD5"), + ("Maná", "#F0FFF0"), + ("Marfim", "#FFFFF0"), + ("Marrom amarelado", "#F4A460"), + ("Marrom claro", "#A52A2A"), + ("Marrom rosado", "#BC8F8F"), + ("Marrom sela", "#8B4513"), + ("Marrom", "#964B00"), + ("Milho Claro", "#FFF8DC"), + ("Milho", "#FBEC5D"), + ("Mocassim", "#FFE4B5"), + ("Mostarda", "#FFDB58"), + ("Naval", "#000080"), + ("Neve", "#FFFAFA"), + ("Nyanza", "#E9FFDB"), + ("Ocre", "#CC7722"), + ("Oliva escura", "#556B2F"), + ("Oliva parda", "#6B8E23"), + ("Oliva", "#808000"), + ("Orquídea escura", "#9932CC"), + ("Orquídea média", "#BA55D3"), + ("Orquídea", "#DA70D6"), + ("Ouro", "#FFD700"), + ("Pardo escuro", "#CC6600"), + ("Pardo", "#CD853F"), + ("Pêssego", "#FFDAB9"), + ("Prata", "#C0C0C0"), + ("Preto", "#000000"), + ("Púrpura média", "#9370DB"), + ("Púrpura", "#800080"), + ("Quantum", "#111111"), + ("Quartzo", "#51484F"), + ("Renda antiga", "#FDF5E6"), + ("Rosa amoroso", "#CD69CD"), + ("Rosa brilhante", "#FF007F"), + ("Rosa Choque", "#FC0FC0"), + ("Rosa claro", "#FFB6C1"), + ("Rosa danação", "#DA69A1"), + ("Rosa embaçado", "#FFE4E1"), + ("Rosa forte", "#FF69B4"), + ("Rosa profundo", "#FF1493"), + ("Rosa", "#FFCBDB"), + ("Roxo brasilis", "#8A008A"), + ("Roxo", "#993399"), + ("Rútilo", "#6D351A"), + ("Salmão claro", "#FFA07A"), + ("Salmão escuro", "#E9967A"), + ("Salmão", "#FA7F72"), + ("Sépia", "#705714"), + ("Siena", "#FF8247"), + ("Tangerina", "#F28500"), + ("Terracota", "#E2725B"), + ("Tijolo refratário", "#B22222"), + ("Tomate", "#FF6347"), + ("Triássico", "#FF2401"), + ("Trigo", "#F5DEB3"), + ("Turquesa escura", "#00CED1"), + ("Turquesa média", "#48D1CC"), + ("Turquesa pálida", "#AFEEEE"), + ("Turquesa", "#40E0D0"), + ("Urucum", "#EC2300"), + ("Verde amarelado", "#9ACD32"), + ("Verde claro", "#90EE90"), + ("Verde escuro", "#006400"), + ("Verde espectro", "#00FF00"), + ("Verde floresta", "#228B22"), + ("Verde fluorescente", "#CCFF33"), + ("Verde grama", "#7CFC00"), + ("Verde lima", "#32CD32"), + ("Verde mar claro", "#20B2AA"), + ("Verde mar escuro", "#8FBC8F"), + ("Verde mar médio", "#3CB371"), + ("Verde militar", "#78866B"), + ("Verde pálido", "#98FB98"), + ("Verde Paris", "#7FFF00"), + ("Verde primavera médio", "#00FA9A"), + ("Verde primavera", "#00FF7F"), + ("Verde-azulado", "#008080"), + ("Verde", "#008000"), + ("Vermelho enegrecido", "#550000"), + ("Vermelho escuro", "#8B0000"), + ("Vermelho indiano", "#CD5C5C"), + ("Vermelho violeta médio", "#C71585"), + ("Vermelho violeta pálido", "#DB7093"), + ("Vermelho violeta", "#D02090"), + ("Vermelho", "#FF0000"), + ("Violeta claro", "#F8CBF8"), + ("Violeta escuro", "#9400D3"), + ("Violeta", "#EE82EE"), + ("Zinco", "#E2DDF0"), + ) + ) safe_colors = ( - 'preto', 'marrom', 'verde', 'azul escuro', 'verde escuro', - 'roxo', 'laranja', 'verde claro', 'azul', 'rosa', 'violeta', - 'cinza', 'amarelo', 'magenta', 'ciano', 'branco', + "preto", + "marrom", + "verde", + "azul escuro", + "verde escuro", + "roxo", + "laranja", + "verde claro", + "azul", + "rosa", + "violeta", + "cinza", + "amarelo", + "magenta", + "ciano", + "branco", ) diff --git a/faker/providers/color/ru_RU/__init__.py b/faker/providers/color/ru_RU/__init__.py index 8ec7bf0304..aed63487c5 100644 --- a/faker/providers/color/ru_RU/__init__.py +++ b/faker/providers/color/ru_RU/__init__.py @@ -8,67 +8,79 @@ class Provider(ColorProvider): """Implement color provider for ``ru_RU`` locale.""" - all_colors = OrderedDict(( - ("Античный Белый", "#FAEBD7"), - ("Аквамарин", "#7FFFD4"), - ("Лазурный", "#F0FFFF"), - ("Бежевый", "#F5F5DC"), - ("Черный", "#000000"), - ("Синий", "#0000FF"), - ("Сине-фиолетовый", "#8A2BE2"), - ("Коричневый", "#A52A2A"), - ("Шоколадный", "#D2691E"), - ("Коралловый", "#FF7F50"), - ("Васильковый", "#6495ED"), - ("Малиновый", "#DC143C"), - ("Темно-синий", "#00008B"), - ("Темно-голубой", "#008B8B"), - ("Темно-серый", "#A9A9A9"), - ("Темно-зеленый", "#006400"), - ("Темный хаки", "#BDB76B"), - ("Темно-оранжевый", "#FF8C00"), - ("Темно-красный", "#8B0000"), - ("Темно-бирюзовый", "#00CED1"), - ("Темно-фиолетовый", "#9400D3"), - ("Темно-розовый", "#FF1493"), - ("Тусклый серый", "#696969"), - ("Фуксия", "#FF00FF"), - ("Золотой", "#FFD700"), - ("Серый", "#808080"), - ("Зеленый", "#008000"), - ("Желто-зеленый", "#ADFF2F"), - ("Ярко-розовый", "#FF69B4"), - ("Индиго", "#4B0082"), - ("Слоновая кость", "#FFFFF0"), - ("Хаки", "#F0E68C"), - ("Розовато-лавандовый", "#FFF0F5"), - ("Светло-синий", "#ADD8E6"), - ("Светло-голубой", "#E0FFFF"), - ("Светло-серый", "#D3D3D3"), - ("Светло-зеленый", "#90EE90"), - ("Светло-розовый", "#FFB6C1"), - ("Светло-голубой", "#87CEFA"), - ("Светло-желтый", "#FFFFE0"), - ("Каштановый", "#800000"), - ("Оранжевый", "#FFA500"), - ("Оранжево-красный", "#FF4500"), - ("Бледно-зеленый", "#98FB98"), - ("Бледно-Бирюзовый", "#AFEEEE"), - ("Розовый", "#FFC0CB"), - ("Сливовый", "#DDA0DD"), - ("Пурпурный", "#800080"), - ("Красный", "#FF0000"), - ("Цвет морской волны", "#2E8B57"), - ("Серебряный", "#C0C0C0"), - ("Бирюзовый", "#40E0D0"), - ("Фиолетовый", "#EE82EE"), - ("Белый", "#FFFFFF"), - ("Желтый", "#FFFF00"), - ("Желто-зеленый", "#9ACD32"), - )) + all_colors = OrderedDict( + ( + ("Античный Белый", "#FAEBD7"), + ("Аквамарин", "#7FFFD4"), + ("Лазурный", "#F0FFFF"), + ("Бежевый", "#F5F5DC"), + ("Черный", "#000000"), + ("Синий", "#0000FF"), + ("Сине-фиолетовый", "#8A2BE2"), + ("Коричневый", "#A52A2A"), + ("Шоколадный", "#D2691E"), + ("Коралловый", "#FF7F50"), + ("Васильковый", "#6495ED"), + ("Малиновый", "#DC143C"), + ("Темно-синий", "#00008B"), + ("Темно-голубой", "#008B8B"), + ("Темно-серый", "#A9A9A9"), + ("Темно-зеленый", "#006400"), + ("Темный хаки", "#BDB76B"), + ("Темно-оранжевый", "#FF8C00"), + ("Темно-красный", "#8B0000"), + ("Темно-бирюзовый", "#00CED1"), + ("Темно-фиолетовый", "#9400D3"), + ("Темно-розовый", "#FF1493"), + ("Тусклый серый", "#696969"), + ("Фуксия", "#FF00FF"), + ("Золотой", "#FFD700"), + ("Серый", "#808080"), + ("Зеленый", "#008000"), + ("Желто-зеленый", "#ADFF2F"), + ("Ярко-розовый", "#FF69B4"), + ("Индиго", "#4B0082"), + ("Слоновая кость", "#FFFFF0"), + ("Хаки", "#F0E68C"), + ("Розовато-лавандовый", "#FFF0F5"), + ("Светло-синий", "#ADD8E6"), + ("Светло-голубой", "#E0FFFF"), + ("Светло-серый", "#D3D3D3"), + ("Светло-зеленый", "#90EE90"), + ("Светло-розовый", "#FFB6C1"), + ("Светло-голубой", "#87CEFA"), + ("Светло-желтый", "#FFFFE0"), + ("Каштановый", "#800000"), + ("Оранжевый", "#FFA500"), + ("Оранжево-красный", "#FF4500"), + ("Бледно-зеленый", "#98FB98"), + ("Бледно-Бирюзовый", "#AFEEEE"), + ("Розовый", "#FFC0CB"), + ("Сливовый", "#DDA0DD"), + ("Пурпурный", "#800080"), + ("Красный", "#FF0000"), + ("Цвет морской волны", "#2E8B57"), + ("Серебряный", "#C0C0C0"), + ("Бирюзовый", "#40E0D0"), + ("Фиолетовый", "#EE82EE"), + ("Белый", "#FFFFFF"), + ("Желтый", "#FFFF00"), + ("Желто-зеленый", "#9ACD32"), + ) + ) safe_colors = ( - 'черный', 'бордовый', 'зеленый', 'оливковый', - 'пурпурный', 'teal', 'lime', 'синий', 'серебряный', - 'серый', 'желтый', 'фуксия', 'белый', + "черный", + "бордовый", + "зеленый", + "оливковый", + "пурпурный", + "teal", + "lime", + "синий", + "серебряный", + "серый", + "желтый", + "фуксия", + "белый", ) diff --git a/faker/providers/color/sk_SK/__init__.py b/faker/providers/color/sk_SK/__init__.py index 64cf79d248..ec5738e0d4 100644 --- a/faker/providers/color/sk_SK/__init__.py +++ b/faker/providers/color/sk_SK/__init__.py @@ -5,7 +5,19 @@ class Provider(ColorProvider): """Implement color provider for ``sk_SK`` locale.""" safe_colors = ( - 'čierna', 'gaštanová', 'zelená', 'námornícka', 'olivová', - 'fialová', 'zelenomodrá', 'limetková', 'modrá', 'strieborná', - 'sivá', 'žltá', 'fuchsiová', 'aquamarinová', 'biela', + "čierna", + "gaštanová", + "zelená", + "námornícka", + "olivová", + "fialová", + "zelenomodrá", + "limetková", + "modrá", + "strieborná", + "sivá", + "žltá", + "fuchsiová", + "aquamarinová", + "biela", ) diff --git a/faker/providers/color/th_TH/__init__.py b/faker/providers/color/th_TH/__init__.py index d46034da55..08d8797bb6 100644 --- a/faker/providers/color/th_TH/__init__.py +++ b/faker/providers/color/th_TH/__init__.py @@ -12,30 +12,41 @@ class Provider(ColorProvider): - https://th.wikipedia.org/wiki/รายชื่อสี """ - all_colors = OrderedDict(( - ('สีดำ', '#000000'), - ('สีน้ำเงินเขียว', '#0095B6'), - ('สีน้ำเงินม่วง', '#8A2BE2'), - ('สีทองแดง', '#CD7F32'), - ('สีน้ำตาล', '#964B00'), - ('สีกาแฟ', '#6F4E37'), - ('สีทอง', '#FFD700'), - ('สีเทา', '#808080'), - ('สีเขียว', '#00FF00'), - ('สีหยก', '#00A86B'), - ('สีส้ม', '#FFA500'), - ('สีส้มแดง', '#FF4500'), - ('สีออร์คิด', '#DA70D6'), - ('สีชมพู', '#FFC0CB'), - ('สีม่วง', '#800080'), - ('สีแดง', '#FF0000'), - ('สีเงิน', '#C0C0C0'), - ('สีขาว', '#FFFFFF'), - ('สีเหลือง', '#FFFF00'), - )) + all_colors = OrderedDict( + ( + ("สีดำ", "#000000"), + ("สีน้ำเงินเขียว", "#0095B6"), + ("สีน้ำเงินม่วง", "#8A2BE2"), + ("สีทองแดง", "#CD7F32"), + ("สีน้ำตาล", "#964B00"), + ("สีกาแฟ", "#6F4E37"), + ("สีทอง", "#FFD700"), + ("สีเทา", "#808080"), + ("สีเขียว", "#00FF00"), + ("สีหยก", "#00A86B"), + ("สีส้ม", "#FFA500"), + ("สีส้มแดง", "#FF4500"), + ("สีออร์คิด", "#DA70D6"), + ("สีชมพู", "#FFC0CB"), + ("สีม่วง", "#800080"), + ("สีแดง", "#FF0000"), + ("สีเงิน", "#C0C0C0"), + ("สีขาว", "#FFFFFF"), + ("สีเหลือง", "#FFFF00"), + ) + ) safe_colors = ( - 'สีดำ', 'สีน้ำตาล', 'สีทอง', 'สีเขียว', - 'สีส้ม', 'สีชมพู', 'สีม่วง', 'สีเงิน', 'สีแดง', - 'สีเงิน', 'สีขาว', 'สีเหลือง', + "สีดำ", + "สีน้ำตาล", + "สีทอง", + "สีเขียว", + "สีส้ม", + "สีชมพู", + "สีม่วง", + "สีเงิน", + "สีแดง", + "สีเงิน", + "สีขาว", + "สีเหลือง", ) diff --git a/faker/providers/color/uk_UA/__init__.py b/faker/providers/color/uk_UA/__init__.py index 082c0e3c70..9cb373e495 100644 --- a/faker/providers/color/uk_UA/__init__.py +++ b/faker/providers/color/uk_UA/__init__.py @@ -10,211 +10,213 @@ class Provider(ColorProvider): - https://uk.wikipedia.org/wiki/Список_кольорів """ - all_colors = OrderedDict(( - ('Абрикосовий', '#FBCEB1'), - ('Аквамариновий', '#7FFFD4'), - ('Алізариновий червоний', '#E32636'), - ('Амарантовий', '#E52B50'), - ('Амарантово-рожевий', '#F19CBB'), - ('Аметистовий', '#9966CC'), - ('Андроїдний зелений', '#A4C639'), - ('Арсеновий', '#3B444B'), - ('Атомний мандаріновий', '#FF9966'), - ('Багряний', '#FF2400'), - ('Баклажановий', '#990066'), - ('Барвінковий', '#CCCCFF'), - ('Бежевий', '#F5F5DC'), - ('Берлінська лазур', '#003153'), - ('Блаватний', '#6495ED'), - ('Блакитний', '#AFEEEE'), - ('Блакитний Брандейса', '#0070FF'), - ('Блакитно-зелений', '#00DDDD'), - ('Блакитно-фіолетовий', '#8A2BE2'), - ('Блідий рожево-ліловий', '#996666'), - ('Блідо-брунатний', '#987654'), - ('Блідо-волошковий', '#ABCDEF'), - ('Блідо-карміновий', '#AF4035'), - ('Блідо-каштановий', '#DDADAF'), - ('Блідо-пурпуровий', '#F984E5'), - ('Блідо-пісочний', '#DABDAB'), - ('Блідо-рожевий', '#FADADD'), - ('Болотний', '#ACB78E'), - ('Бронзовий', '#CD7F32'), - ('Брунатний', '#964B00'), - ('Брунато-малиновий', '#800000'), - ('Будяковий', '#D8BFD8'), - ('Бузковий', '#C8A2C8'), - ('Бургундський', '#900020'), - ('Бурий', '#755A57'), - ('Бурштиновий', '#FFBF00'), - ('Білий', '#FFFFFF'), - ('Білий навахо', '#FFDEAD'), - ('Бірюзовий', '#30D5C8'), - ('Бістр', '#3D2B1F'), - ('Вода пляжа Бонді', '#0095B6'), - ('Вохра', '#CC7722'), - ('Відбірний жовтий', '#FFBA00'), - ('Візантійський', '#702963'), - ('Гарбуз', '#FF7518'), - ('Гарячо-рожевий', '#FC0FC0'), - ('Геліотроп', '#DF73FF'), - ('Глибокий фіолетовий', '#423189'), - ('Глицінія', '#C9A0DC'), - ('Грушевий', '#D1E231'), - ('Гумігут', '#E49B0F'), - ('Гірчичний', '#FFDB58'), - ('Дерева', '#79443B'), - ('Джинсовий', '#1560BD'), - ('Діамантово-рожевий', '#FF55A3'), - ('Жовтий', '#FFFF00'), - ('Жовто-зелений', '#ADFF2F'), - ('Жовто-персиковий', '#FADFAD'), - ('Захисний синій', '#1E90FF'), - ('Зелена весна', '#00FF7F'), - ('Зелена мʼята', '#98FF98'), - ('Зелена сосна', '#01796F'), - ('Зелене море', '#2E8B57'), - ('Зелений', '#00FF00'), - ('Зелений армійський', '#4B5320'), - ('Зелений мох', '#ADDFAD'), - ('Зелений папороть', '#4F7942'), - ('Зелений чай', '#D0F0C0'), - ('Зелено-сірий чай', '#CADABA'), - ('Зеленувато-блакитний', '#008080'), - ('Золотаво-березовий', '#DAA520'), - ('Золотий', '#FFD700'), - ('Золотисто-каштановий', '#6D351A'), - ('Індиго', '#4B0082'), - ('Іржавий', '#B7410E'), - ('Кардинал (колір)', '#C41E3A'), - ('Карміновий', '#960018'), - ('Каштановий', '#CD5C5C'), - ('Кобальтовий', '#0047AB'), - ('Колір жовтого шкільного автобуса', '#FFD800'), - ('Колір засмаги', '#D2B48C'), - ('Колір морської піни', '#FFF5EE'), - ('Колір морської хвилі', '#00FFFF'), - ('Кораловий', '#FF7F50'), - ('Королівський синій', '#4169E1'), - ('Кремовий', '#FFFDD0'), - ('Кукурудзяний', '#FBEC5D'), - ('Кіновар', '#FF4D00'), - ('Лавандний', '#E6E6FA'), - ('Лазуровий', '#007BA7'), - ('Лазурово-синій', '#2A52BE'), - ('Лайм', '#CCFF00'), - ('Латунний', '#B5A642'), - ('Лимонний', '#FDE910'), - ('Лимонно-кремовий', '#FFFACD'), - ('Лляний', '#EEDC82'), - ('Лляний', '#FAF0E6'), - ('Лососевий', '#FF8C69'), - ('Ліловий', '#DB7093'), - ('Малахітовий', '#0BDA51'), - ('Малиновий', '#DC143C'), - ('Мандариновий', '#FFCC00'), - ('Мисливський', '#004225'), - ('Морквяний', '#ED9121'), - ('Мідний', '#B87333'), - ('Міжнародний помаранчевий', '#FF4F00'), - ('Нефритовий', '#00A86B'), - ('Ніжно-блакитний', '#E0FFFF'), - ('Ніжно-оливковий', '#6B8E23'), - ('Ніжно-рожевий', '#FB607F'), - ('Оливковий', '#808000'), - ('Опівнічно-синій', '#003366'), - ('Орхідея', '#DA70D6'), - ('Палена сіена', '#E97451'), - ('Палений оранжевий', '#CC5500'), - ('Панг', '#C7FCEC'), - ('Паросток папаї', '#FFEFD5'), - ('Пастельно-зелений', '#77DD77'), - ('Пастельно-рожевий', '#FFD1DC'), - ('Персиковий', '#FFE5B4'), - ('Перський синій', '#6600FF'), - ('Помаранчевий', '#FFA500'), - ('Помаранчево-персиковий', '#FFCC99'), - ('Помаранчево-рожевий', '#FF9966'), - ('Пурпурний', '#FF00FF'), - ('Пурпуровий', '#660099'), - ('Пшеничний', '#F5DEB3'), - ('Пісочний колір', '#F4A460'), - ('Рожевий', '#FFC0CB'), - ('Рожевий Маунтбеттена', '#997A8D'), - ('Рожево-лавандний', '#FFF0F5'), - ('Рожево-ліловий', '#993366'), - ('Салатовий', '#7FFF00'), - ('Сангрія', '#92000A'), - ('Сапфіровий', '#082567'), - ('Світло-синій', '#007DFF'), - ('Сепія', '#704214'), - ('Сиваво-зелений', '#ACE1AF'), - ('Сигнально-помаранчевий', '#FF9900'), - ('Синя пил', '#003399'), - ('Синя сталь', '#4682B4'), - ('Сині яйця малинівки', '#00CCCC'), - ('Синій', '#0000FF'), - ('Синій (RYB)', '#0247FE'), - ('Синій (пігмент)', '#333399'), - ('Синій ВПС', '#5D8AA8'), - ('Синій Клейна', '#3A75C4'), - ('Сливовий', '#660066'), - ('Смарагдовий', '#50C878'), - ('Спаржевий', '#7BA05B'), - ('Срібний', '#C0C0C0'), - ('Старе золото', '#CFB53B'), - ('Сіра спаржа', '#465945'), - ('Сірий', '#808080'), - ('Сірий шифер', '#708090'), - ('Темний весняно-зелений', '#177245'), - ('Темний жовто-брунатний', '#918151'), - ('Темний зелений чай', '#BADBAD'), - ('Темний пастельно-зелений', '#03C03C'), - ('Темний хакі', '#BDB76B'), - ('Темний індиго', '#310062'), - ('Темно-аспідний сірий', '#2F4F4F'), - ('Темно-брунатний', '#654321'), - ('Темно-бірюзовий', '#116062'), - ('Темно-зелений', '#013220'), - ('Темно-зелений хакі', '#78866B'), - ('Темно-золотий', '#B8860B'), - ('Темно-карміновий', '#560319'), - ('Темно-каштановий', '#986960'), - ('Темно-кораловий', '#CD5B45'), - ('Темно-лазурний', '#08457E'), - ('Темно-лососевий', '#E9967A'), - ('Темно-мандариновий', '#FFA812'), - ('Темно-оливковий', '#556832'), - ('Темно-персиковий', '#FFDAB9'), - ('Темно-рожевий', '#E75480'), - ('Темно-синій', '#000080'), - ('Ультрамариновий', '#120A8F'), - ('Умбра', '#734A12'), - ('Умбра палена', '#8A3324'), - ('Фуксія', '#FF00FF'), - ('Фіолетовий', '#8B00FF'), - ('Фіолетово-баклажановий', '#991199'), - ('Фіолетово-червоний', '#C71585'), - ('Хакі', '#C3B091'), - ('Цинамоновий', '#7B3F00'), - ('Циннвальдит', '#EBC2AF'), - ('Ціан (колір)', '#00FFFF'), - ('Ціано-блакитний', '#F0F8FF'), - ('Червоний', '#FF0000'), - ('Червоно-буро-помаранчевий', '#CD5700'), - ('Червоновато-брунатний', '#CC8899'), - ('Чорний', '#000000'), - ('Шафрановий', '#F4C430'), - ('Шкіра буйвола', '#F0DC82'), - ('Шоколадний', '#D2691E'), - ('Яскраво-бурштиновий', '#FF7E00'), - ('Яскраво-бірюзовий', '#08E8DE'), - ('Яскраво-зелений', '#66FF00'), - ('Яскраво-зелений', '#40826D'), - ('Яскраво-рожевий', '#FF007F'), - ('Яскраво-фіолетовий', '#CD00CD'), - ('Ясно-брунатний', '#CD853F'), - ('Ясно-вишневий', '#DE3163'), - ('Ясно-лазуровий', '#007FFF'), - ('Ясно-лазуровий (веб)', '#F0FFFF'), - )) + all_colors = OrderedDict( + ( + ("Абрикосовий", "#FBCEB1"), + ("Аквамариновий", "#7FFFD4"), + ("Алізариновий червоний", "#E32636"), + ("Амарантовий", "#E52B50"), + ("Амарантово-рожевий", "#F19CBB"), + ("Аметистовий", "#9966CC"), + ("Андроїдний зелений", "#A4C639"), + ("Арсеновий", "#3B444B"), + ("Атомний мандаріновий", "#FF9966"), + ("Багряний", "#FF2400"), + ("Баклажановий", "#990066"), + ("Барвінковий", "#CCCCFF"), + ("Бежевий", "#F5F5DC"), + ("Берлінська лазур", "#003153"), + ("Блаватний", "#6495ED"), + ("Блакитний", "#AFEEEE"), + ("Блакитний Брандейса", "#0070FF"), + ("Блакитно-зелений", "#00DDDD"), + ("Блакитно-фіолетовий", "#8A2BE2"), + ("Блідий рожево-ліловий", "#996666"), + ("Блідо-брунатний", "#987654"), + ("Блідо-волошковий", "#ABCDEF"), + ("Блідо-карміновий", "#AF4035"), + ("Блідо-каштановий", "#DDADAF"), + ("Блідо-пурпуровий", "#F984E5"), + ("Блідо-пісочний", "#DABDAB"), + ("Блідо-рожевий", "#FADADD"), + ("Болотний", "#ACB78E"), + ("Бронзовий", "#CD7F32"), + ("Брунатний", "#964B00"), + ("Брунато-малиновий", "#800000"), + ("Будяковий", "#D8BFD8"), + ("Бузковий", "#C8A2C8"), + ("Бургундський", "#900020"), + ("Бурий", "#755A57"), + ("Бурштиновий", "#FFBF00"), + ("Білий", "#FFFFFF"), + ("Білий навахо", "#FFDEAD"), + ("Бірюзовий", "#30D5C8"), + ("Бістр", "#3D2B1F"), + ("Вода пляжа Бонді", "#0095B6"), + ("Вохра", "#CC7722"), + ("Відбірний жовтий", "#FFBA00"), + ("Візантійський", "#702963"), + ("Гарбуз", "#FF7518"), + ("Гарячо-рожевий", "#FC0FC0"), + ("Геліотроп", "#DF73FF"), + ("Глибокий фіолетовий", "#423189"), + ("Глицінія", "#C9A0DC"), + ("Грушевий", "#D1E231"), + ("Гумігут", "#E49B0F"), + ("Гірчичний", "#FFDB58"), + ("Дерева", "#79443B"), + ("Джинсовий", "#1560BD"), + ("Діамантово-рожевий", "#FF55A3"), + ("Жовтий", "#FFFF00"), + ("Жовто-зелений", "#ADFF2F"), + ("Жовто-персиковий", "#FADFAD"), + ("Захисний синій", "#1E90FF"), + ("Зелена весна", "#00FF7F"), + ("Зелена мʼята", "#98FF98"), + ("Зелена сосна", "#01796F"), + ("Зелене море", "#2E8B57"), + ("Зелений", "#00FF00"), + ("Зелений армійський", "#4B5320"), + ("Зелений мох", "#ADDFAD"), + ("Зелений папороть", "#4F7942"), + ("Зелений чай", "#D0F0C0"), + ("Зелено-сірий чай", "#CADABA"), + ("Зеленувато-блакитний", "#008080"), + ("Золотаво-березовий", "#DAA520"), + ("Золотий", "#FFD700"), + ("Золотисто-каштановий", "#6D351A"), + ("Індиго", "#4B0082"), + ("Іржавий", "#B7410E"), + ("Кардинал (колір)", "#C41E3A"), + ("Карміновий", "#960018"), + ("Каштановий", "#CD5C5C"), + ("Кобальтовий", "#0047AB"), + ("Колір жовтого шкільного автобуса", "#FFD800"), + ("Колір засмаги", "#D2B48C"), + ("Колір морської піни", "#FFF5EE"), + ("Колір морської хвилі", "#00FFFF"), + ("Кораловий", "#FF7F50"), + ("Королівський синій", "#4169E1"), + ("Кремовий", "#FFFDD0"), + ("Кукурудзяний", "#FBEC5D"), + ("Кіновар", "#FF4D00"), + ("Лавандний", "#E6E6FA"), + ("Лазуровий", "#007BA7"), + ("Лазурово-синій", "#2A52BE"), + ("Лайм", "#CCFF00"), + ("Латунний", "#B5A642"), + ("Лимонний", "#FDE910"), + ("Лимонно-кремовий", "#FFFACD"), + ("Лляний", "#EEDC82"), + ("Лляний", "#FAF0E6"), + ("Лососевий", "#FF8C69"), + ("Ліловий", "#DB7093"), + ("Малахітовий", "#0BDA51"), + ("Малиновий", "#DC143C"), + ("Мандариновий", "#FFCC00"), + ("Мисливський", "#004225"), + ("Морквяний", "#ED9121"), + ("Мідний", "#B87333"), + ("Міжнародний помаранчевий", "#FF4F00"), + ("Нефритовий", "#00A86B"), + ("Ніжно-блакитний", "#E0FFFF"), + ("Ніжно-оливковий", "#6B8E23"), + ("Ніжно-рожевий", "#FB607F"), + ("Оливковий", "#808000"), + ("Опівнічно-синій", "#003366"), + ("Орхідея", "#DA70D6"), + ("Палена сіена", "#E97451"), + ("Палений оранжевий", "#CC5500"), + ("Панг", "#C7FCEC"), + ("Паросток папаї", "#FFEFD5"), + ("Пастельно-зелений", "#77DD77"), + ("Пастельно-рожевий", "#FFD1DC"), + ("Персиковий", "#FFE5B4"), + ("Перський синій", "#6600FF"), + ("Помаранчевий", "#FFA500"), + ("Помаранчево-персиковий", "#FFCC99"), + ("Помаранчево-рожевий", "#FF9966"), + ("Пурпурний", "#FF00FF"), + ("Пурпуровий", "#660099"), + ("Пшеничний", "#F5DEB3"), + ("Пісочний колір", "#F4A460"), + ("Рожевий", "#FFC0CB"), + ("Рожевий Маунтбеттена", "#997A8D"), + ("Рожево-лавандний", "#FFF0F5"), + ("Рожево-ліловий", "#993366"), + ("Салатовий", "#7FFF00"), + ("Сангрія", "#92000A"), + ("Сапфіровий", "#082567"), + ("Світло-синій", "#007DFF"), + ("Сепія", "#704214"), + ("Сиваво-зелений", "#ACE1AF"), + ("Сигнально-помаранчевий", "#FF9900"), + ("Синя пил", "#003399"), + ("Синя сталь", "#4682B4"), + ("Сині яйця малинівки", "#00CCCC"), + ("Синій", "#0000FF"), + ("Синій (RYB)", "#0247FE"), + ("Синій (пігмент)", "#333399"), + ("Синій ВПС", "#5D8AA8"), + ("Синій Клейна", "#3A75C4"), + ("Сливовий", "#660066"), + ("Смарагдовий", "#50C878"), + ("Спаржевий", "#7BA05B"), + ("Срібний", "#C0C0C0"), + ("Старе золото", "#CFB53B"), + ("Сіра спаржа", "#465945"), + ("Сірий", "#808080"), + ("Сірий шифер", "#708090"), + ("Темний весняно-зелений", "#177245"), + ("Темний жовто-брунатний", "#918151"), + ("Темний зелений чай", "#BADBAD"), + ("Темний пастельно-зелений", "#03C03C"), + ("Темний хакі", "#BDB76B"), + ("Темний індиго", "#310062"), + ("Темно-аспідний сірий", "#2F4F4F"), + ("Темно-брунатний", "#654321"), + ("Темно-бірюзовий", "#116062"), + ("Темно-зелений", "#013220"), + ("Темно-зелений хакі", "#78866B"), + ("Темно-золотий", "#B8860B"), + ("Темно-карміновий", "#560319"), + ("Темно-каштановий", "#986960"), + ("Темно-кораловий", "#CD5B45"), + ("Темно-лазурний", "#08457E"), + ("Темно-лососевий", "#E9967A"), + ("Темно-мандариновий", "#FFA812"), + ("Темно-оливковий", "#556832"), + ("Темно-персиковий", "#FFDAB9"), + ("Темно-рожевий", "#E75480"), + ("Темно-синій", "#000080"), + ("Ультрамариновий", "#120A8F"), + ("Умбра", "#734A12"), + ("Умбра палена", "#8A3324"), + ("Фуксія", "#FF00FF"), + ("Фіолетовий", "#8B00FF"), + ("Фіолетово-баклажановий", "#991199"), + ("Фіолетово-червоний", "#C71585"), + ("Хакі", "#C3B091"), + ("Цинамоновий", "#7B3F00"), + ("Циннвальдит", "#EBC2AF"), + ("Ціан (колір)", "#00FFFF"), + ("Ціано-блакитний", "#F0F8FF"), + ("Червоний", "#FF0000"), + ("Червоно-буро-помаранчевий", "#CD5700"), + ("Червоновато-брунатний", "#CC8899"), + ("Чорний", "#000000"), + ("Шафрановий", "#F4C430"), + ("Шкіра буйвола", "#F0DC82"), + ("Шоколадний", "#D2691E"), + ("Яскраво-бурштиновий", "#FF7E00"), + ("Яскраво-бірюзовий", "#08E8DE"), + ("Яскраво-зелений", "#66FF00"), + ("Яскраво-зелений", "#40826D"), + ("Яскраво-рожевий", "#FF007F"), + ("Яскраво-фіолетовий", "#CD00CD"), + ("Ясно-брунатний", "#CD853F"), + ("Ясно-вишневий", "#DE3163"), + ("Ясно-лазуровий", "#007FFF"), + ("Ясно-лазуровий (веб)", "#F0FFFF"), + ) + ) diff --git a/faker/providers/company/__init__.py b/faker/providers/company/__init__.py index ecf2fc36fe..7b0cbfd288 100644 --- a/faker/providers/company/__init__.py +++ b/faker/providers/company/__init__.py @@ -1,523 +1,531 @@ -from .. import BaseProvider +from typing import Tuple + +from .. import BaseProvider, ElementsType localized = True class Provider(BaseProvider): - formats = ( - '{{last_name}} {{company_suffix}}', - '{{last_name}}-{{last_name}}', - '{{last_name}}, {{last_name}} and {{last_name}}', + formats: ElementsType = ( + "{{last_name}} {{company_suffix}}", + "{{last_name}}-{{last_name}}", + "{{last_name}}, {{last_name}} and {{last_name}}", ) - company_suffixes = ('Inc', 'and Sons', 'LLC', 'Group', 'PLC', 'Ltd') + company_suffixes: ElementsType = ("Inc", "and Sons", "LLC", "Group", "PLC", "Ltd") - catch_phrase_words = ( - ('Adaptive', - 'Advanced', - 'Ameliorated', - 'Assimilated', - 'Automated', - 'Balanced', - 'Business-focused', - 'Centralized', - 'Cloned', - 'Compatible', - 'Configurable', - 'Cross-group', - 'Cross-platform', - 'Customer-focused', - 'Customizable', - 'Decentralized', - 'De-engineered', - 'Devolved', - 'Digitized', - 'Distributed', - 'Diverse', - 'Down-sized', - 'Enhanced', - 'Enterprise-wide', - 'Ergonomic', - 'Exclusive', - 'Expanded', - 'Extended', - 'Face-to-face', - 'Focused', - 'Front-line', - 'Fully-configurable', - 'Function-based', - 'Fundamental', - 'Future-proofed', - 'Grass-roots', - 'Horizontal', - 'Implemented', - 'Innovative', - 'Integrated', - 'Intuitive', - 'Inverse', - 'Managed', - 'Mandatory', - 'Monitored', - 'Multi-channeled', - 'Multi-lateral', - 'Multi-layered', - 'Multi-tiered', - 'Networked', - 'Object-based', - 'Open-architected', - 'Open-source', - 'Operative', - 'Optimized', - 'Optional', - 'Organic', - 'Organized', - 'Persevering', - 'Persistent', - 'Phased', - 'Polarized', - 'Pre-emptive', - 'Proactive', - 'Profit-focused', - 'Profound', - 'Programmable', - 'Progressive', - 'Public-key', - 'Quality-focused', - 'Reactive', - 'Realigned', - 'Re-contextualized', - 'Re-engineered', - 'Reduced', - 'Reverse-engineered', - 'Right-sized', - 'Robust', - 'Seamless', - 'Secured', - 'Self-enabling', - 'Sharable', - 'Stand-alone', - 'Streamlined', - 'Switchable', - 'Synchronized', - 'Synergistic', - 'Synergized', - 'Team-oriented', - 'Total', - 'Triple-buffered', - 'Universal', - 'Up-sized', - 'Upgradable', - 'User-centric', - 'User-friendly', - 'Versatile', - 'Virtual', - 'Visionary', - 'Vision-oriented'), - ('24hour', - '24/7', - '3rdgeneration', - '4thgeneration', - '5thgeneration', - '6thgeneration', - 'actuating', - 'analyzing', - 'asymmetric', - 'asynchronous', - 'attitude-oriented', - 'background', - 'bandwidth-monitored', - 'bi-directional', - 'bifurcated', - 'bottom-line', - 'clear-thinking', - 'client-driven', - 'client-server', - 'coherent', - 'cohesive', - 'composite', - 'context-sensitive', - 'contextually-based', - 'content-based', - 'dedicated', - 'demand-driven', - 'didactic', - 'directional', - 'discrete', - 'disintermediate', - 'dynamic', - 'eco-centric', - 'empowering', - 'encompassing', - 'even-keeled', - 'executive', - 'explicit', - 'exuding', - 'fault-tolerant', - 'foreground', - 'fresh-thinking', - 'full-range', - 'global', - 'grid-enabled', - 'heuristic', - 'high-level', - 'holistic', - 'homogeneous', - 'human-resource', - 'hybrid', - 'impactful', - 'incremental', - 'intangible', - 'interactive', - 'intermediate', - 'leadingedge', - 'local', - 'logistical', - 'maximized', - 'methodical', - 'mission-critical', - 'mobile', - 'modular', - 'motivating', - 'multimedia', - 'multi-state', - 'multi-tasking', - 'national', - 'needs-based', - 'neutral', - 'next generation', - 'non-volatile', - 'object-oriented', - 'optimal', - 'optimizing', - 'radical', - 'real-time', - 'reciprocal', - 'regional', - 'responsive', - 'scalable', - 'secondary', - 'solution-oriented', - 'stable', - 'static', - 'systematic', - 'systemic', - 'system-worthy', - 'tangible', - 'tertiary', - 'transitional', - 'uniform', - 'upward-trending', - 'user-facing', - 'value-added', - 'web-enabled', - 'well-modulated', - 'zero administration', - 'zero-defect', - 'zero tolerance'), - ('ability', - 'access', - 'adapter', - 'algorithm', - 'alliance', - 'analyzer', - 'application', - 'approach', - 'architecture', - 'archive', - 'artificial intelligence', - 'array', - 'attitude', - 'benchmark', - 'budgetary management', - 'capability', - 'capacity', - 'challenge', - 'circuit', - 'collaboration', - 'complexity', - 'concept', - 'conglomeration', - 'contingency', - 'core', - 'customer loyalty', - 'database', - 'data-warehouse', - 'definition', - 'emulation', - 'encoding', - 'encryption', - 'extranet', - 'firmware', - 'flexibility', - 'focus group', - 'forecast', - 'frame', - 'framework', - 'function', - 'functionalities', - 'Graphic Interface', - 'groupware', - 'Graphical User Interface', - 'hardware', - 'help-desk', - 'hierarchy', - 'hub', - 'implementation', - 'info-mediaries', - 'infrastructure', - 'initiative', - 'installation', - 'instruction set', - 'interface', - 'Internet solution', - 'intranet', - 'knowledge user', - 'knowledgebase', - 'Local Area Network', - 'leverage', - 'matrices', - 'matrix', - 'methodology', - 'middleware', - 'migration', - 'model', - 'moderator', - 'monitoring', - 'moratorium', - 'neural-net', - 'open architecture', - 'open system', - 'orchestration', - 'paradigm', - 'parallelism', - 'policy', - 'portal', - 'pricing structure', - 'process improvement', - 'product', - 'productivity', - 'project', - 'projection', - 'protocol', - 'secured line', - 'service-desk', - 'software', - 'solution', - 'standardization', - 'strategy', - 'structure', - 'success', - 'superstructure', - 'support', - 'synergy', - 'system engine', - 'task-force', - 'throughput', - 'time-frame', - 'toolset', - 'utilization', - 'website', - 'workforce')) + catch_phrase_words: Tuple[ElementsType, ...] = ( + ( + "Adaptive", + "Advanced", + "Ameliorated", + "Assimilated", + "Automated", + "Balanced", + "Business-focused", + "Centralized", + "Cloned", + "Compatible", + "Configurable", + "Cross-group", + "Cross-platform", + "Customer-focused", + "Customizable", + "Decentralized", + "De-engineered", + "Devolved", + "Digitized", + "Distributed", + "Diverse", + "Down-sized", + "Enhanced", + "Enterprise-wide", + "Ergonomic", + "Exclusive", + "Expanded", + "Extended", + "Face-to-face", + "Focused", + "Front-line", + "Fully-configurable", + "Function-based", + "Fundamental", + "Future-proofed", + "Grass-roots", + "Horizontal", + "Implemented", + "Innovative", + "Integrated", + "Intuitive", + "Inverse", + "Managed", + "Mandatory", + "Monitored", + "Multi-channeled", + "Multi-lateral", + "Multi-layered", + "Multi-tiered", + "Networked", + "Object-based", + "Open-architected", + "Open-source", + "Operative", + "Optimized", + "Optional", + "Organic", + "Organized", + "Persevering", + "Persistent", + "Phased", + "Polarized", + "Pre-emptive", + "Proactive", + "Profit-focused", + "Profound", + "Programmable", + "Progressive", + "Public-key", + "Quality-focused", + "Reactive", + "Realigned", + "Re-contextualized", + "Re-engineered", + "Reduced", + "Reverse-engineered", + "Right-sized", + "Robust", + "Seamless", + "Secured", + "Self-enabling", + "Sharable", + "Stand-alone", + "Streamlined", + "Switchable", + "Synchronized", + "Synergistic", + "Synergized", + "Team-oriented", + "Total", + "Triple-buffered", + "Universal", + "Up-sized", + "Upgradable", + "User-centric", + "User-friendly", + "Versatile", + "Virtual", + "Visionary", + "Vision-oriented", + ), + ( + "24hour", + "24/7", + "3rdgeneration", + "4thgeneration", + "5thgeneration", + "6thgeneration", + "actuating", + "analyzing", + "asymmetric", + "asynchronous", + "attitude-oriented", + "background", + "bandwidth-monitored", + "bi-directional", + "bifurcated", + "bottom-line", + "clear-thinking", + "client-driven", + "client-server", + "coherent", + "cohesive", + "composite", + "context-sensitive", + "contextually-based", + "content-based", + "dedicated", + "demand-driven", + "didactic", + "directional", + "discrete", + "disintermediate", + "dynamic", + "eco-centric", + "empowering", + "encompassing", + "even-keeled", + "executive", + "explicit", + "exuding", + "fault-tolerant", + "foreground", + "fresh-thinking", + "full-range", + "global", + "grid-enabled", + "heuristic", + "high-level", + "holistic", + "homogeneous", + "human-resource", + "hybrid", + "impactful", + "incremental", + "intangible", + "interactive", + "intermediate", + "leadingedge", + "local", + "logistical", + "maximized", + "methodical", + "mission-critical", + "mobile", + "modular", + "motivating", + "multimedia", + "multi-state", + "multi-tasking", + "national", + "needs-based", + "neutral", + "next generation", + "non-volatile", + "object-oriented", + "optimal", + "optimizing", + "radical", + "real-time", + "reciprocal", + "regional", + "responsive", + "scalable", + "secondary", + "solution-oriented", + "stable", + "static", + "systematic", + "systemic", + "system-worthy", + "tangible", + "tertiary", + "transitional", + "uniform", + "upward-trending", + "user-facing", + "value-added", + "web-enabled", + "well-modulated", + "zero administration", + "zero-defect", + "zero tolerance", + ), + ( + "ability", + "access", + "adapter", + "algorithm", + "alliance", + "analyzer", + "application", + "approach", + "architecture", + "archive", + "artificial intelligence", + "array", + "attitude", + "benchmark", + "budgetary management", + "capability", + "capacity", + "challenge", + "circuit", + "collaboration", + "complexity", + "concept", + "conglomeration", + "contingency", + "core", + "customer loyalty", + "database", + "data-warehouse", + "definition", + "emulation", + "encoding", + "encryption", + "extranet", + "firmware", + "flexibility", + "focus group", + "forecast", + "frame", + "framework", + "function", + "functionalities", + "Graphic Interface", + "groupware", + "Graphical User Interface", + "hardware", + "help-desk", + "hierarchy", + "hub", + "implementation", + "info-mediaries", + "infrastructure", + "initiative", + "installation", + "instruction set", + "interface", + "Internet solution", + "intranet", + "knowledge user", + "knowledgebase", + "Local Area Network", + "leverage", + "matrices", + "matrix", + "methodology", + "middleware", + "migration", + "model", + "moderator", + "monitoring", + "moratorium", + "neural-net", + "open architecture", + "open system", + "orchestration", + "paradigm", + "parallelism", + "policy", + "portal", + "pricing structure", + "process improvement", + "product", + "productivity", + "project", + "projection", + "protocol", + "secured line", + "service-desk", + "software", + "solution", + "standardization", + "strategy", + "structure", + "success", + "superstructure", + "support", + "synergy", + "system engine", + "task-force", + "throughput", + "time-frame", + "toolset", + "utilization", + "website", + "workforce", + ), + ) - bsWords = ( - ('implement', - 'utilize', - 'integrate', - 'streamline', - 'optimize', - 'evolve', - 'transform', - 'embrace', - 'enable', - 'orchestrate', - 'leverage', - 'reinvent', - 'aggregate', - 'architect', - 'enhance', - 'incentivize', - 'morph', - 'empower', - 'envisioneer', - 'monetize', - 'harness', - 'facilitate', - 'seize', - 'disintermediate', - 'synergize', - 'strategize', - 'deploy', - 'brand', - 'grow', - 'target', - 'syndicate', - 'synthesize', - 'deliver', - 'mesh', - 'incubate', - 'engage', - 'maximize', - 'benchmark', - 'expedite', - 're-intermediate', - 'whiteboard', - 'visualize', - 'repurpose', - 'innovate', - 'scale', - 'unleash', - 'drive', - 'extend', - 'engineer', - 'revolutionize', - 'generate', - 'exploit', - 'transition', - 'e-enable', - 'iterate', - 'cultivate', - 'matrix', - 'productize', - 'redefine', - 're-contextualize'), - ('clicks-and-mortar', - 'value-added', - 'vertical', - 'proactive', - 'robust', - 'revolutionary', - 'scalable', - 'leading-edge', - 'innovative', - 'intuitive', - 'strategic', - 'e-business', - 'mission-critical', - 'sticky', - 'one-to-one', - '24/7', - 'end-to-end', - 'global', - 'B2B', - 'B2C', - 'granular', - 'frictionless', - 'virtual', - 'viral', - 'dynamic', - '24/365', - 'best-of-breed', - 'killer', - 'magnetic', - 'bleeding-edge', - 'web-enabled', - 'interactive', - 'dot-com', - 'back-end', - 'real-time', - 'efficient', - 'front-end', - 'distributed', - 'seamless', - 'extensible', - 'turn-key', - 'world-class', - 'open-source', - 'cross-platform', - 'cross-media', - 'synergistic', - 'bricks-and-clicks', - 'out-of-the-box', - 'enterprise', - 'integrated', - 'impactful', - 'wireless', - 'transparent', - 'next-generation', - 'cutting-edge', - 'user-centric', - 'visionary', - 'customized', - 'ubiquitous', - 'plug-and-play', - 'collaborative', - 'compelling', - 'holistic', - 'rich'), - ('synergies', - 'web-readiness', - 'paradigms', - 'markets', - 'partnerships', - 'infrastructures', - 'platforms', - 'initiatives', - 'channels', - 'eyeballs', - 'communities', - 'ROI', - 'solutions', - 'e-tailers', - 'e-services', - 'action-items', - 'portals', - 'niches', - 'technologies', - 'content', - 'vortals', - 'supply-chains', - 'convergence', - 'relationships', - 'architectures', - 'interfaces', - 'e-markets', - 'e-commerce', - 'systems', - 'bandwidth', - 'info-mediaries', - 'models', - 'mindshare', - 'deliverables', - 'users', - 'schemas', - 'networks', - 'applications', - 'metrics', - 'e-business', - 'functionalities', - 'experiences', - 'web services', - 'methodologies')) + bsWords: Tuple[ElementsType, ...] = ( + ( + "implement", + "utilize", + "integrate", + "streamline", + "optimize", + "evolve", + "transform", + "embrace", + "enable", + "orchestrate", + "leverage", + "reinvent", + "aggregate", + "architect", + "enhance", + "incentivize", + "morph", + "empower", + "envisioneer", + "monetize", + "harness", + "facilitate", + "seize", + "disintermediate", + "synergize", + "strategize", + "deploy", + "brand", + "grow", + "target", + "syndicate", + "synthesize", + "deliver", + "mesh", + "incubate", + "engage", + "maximize", + "benchmark", + "expedite", + "re-intermediate", + "whiteboard", + "visualize", + "repurpose", + "innovate", + "scale", + "unleash", + "drive", + "extend", + "engineer", + "revolutionize", + "generate", + "exploit", + "transition", + "e-enable", + "iterate", + "cultivate", + "matrix", + "productize", + "redefine", + "re-contextualize", + ), + ( + "clicks-and-mortar", + "value-added", + "vertical", + "proactive", + "robust", + "revolutionary", + "scalable", + "leading-edge", + "innovative", + "intuitive", + "strategic", + "e-business", + "mission-critical", + "sticky", + "one-to-one", + "24/7", + "end-to-end", + "global", + "B2B", + "B2C", + "granular", + "frictionless", + "virtual", + "viral", + "dynamic", + "24/365", + "best-of-breed", + "killer", + "magnetic", + "bleeding-edge", + "web-enabled", + "interactive", + "dot-com", + "back-end", + "real-time", + "efficient", + "front-end", + "distributed", + "seamless", + "extensible", + "turn-key", + "world-class", + "open-source", + "cross-platform", + "cross-media", + "synergistic", + "bricks-and-clicks", + "out-of-the-box", + "enterprise", + "integrated", + "impactful", + "wireless", + "transparent", + "next-generation", + "cutting-edge", + "user-centric", + "visionary", + "customized", + "ubiquitous", + "plug-and-play", + "collaborative", + "compelling", + "holistic", + "rich", + ), + ( + "synergies", + "web-readiness", + "paradigms", + "markets", + "partnerships", + "infrastructures", + "platforms", + "initiatives", + "channels", + "eyeballs", + "communities", + "ROI", + "solutions", + "e-tailers", + "e-services", + "action-items", + "portals", + "niches", + "technologies", + "content", + "vortals", + "supply-chains", + "convergence", + "relationships", + "architectures", + "interfaces", + "e-markets", + "e-commerce", + "systems", + "bandwidth", + "info-mediaries", + "models", + "mindshare", + "deliverables", + "users", + "schemas", + "networks", + "applications", + "metrics", + "e-business", + "functionalities", + "experiences", + "web services", + "methodologies", + ), + ) - def company(self): + def company(self) -> str: """ :example 'Acme Ltd' """ - pattern = self.random_element(self.formats) + pattern: str = self.random_element(self.formats) return self.generator.parse(pattern) - def company_suffix(self): + def company_suffix(self) -> str: """ :example 'Ltd' """ return self.random_element(self.company_suffixes) - def catch_phrase(self): + def catch_phrase(self) -> str: """ :example 'Robust full-range hub' """ - result = [] - for word_list in self.catch_phrase_words: - result.append(self.random_element(word_list)) + return " ".join([self.random_element(word_list) for word_list in self.catch_phrase_words]) - return " ".join(result) - - def bs(self): + def bs(self) -> str: """ :example 'integrate extensible convergence' """ - result = [] - for word_list in self.bsWords: - result.append(self.random_element(word_list)) - - return " ".join(result) + return " ".join([self.random_element(word_list) for word_list in self.bsWords]) diff --git a/faker/providers/company/bg_BG/__init__.py b/faker/providers/company/bg_BG/__init__.py index b584714a8c..c84141332e 100644 --- a/faker/providers/company/bg_BG/__init__.py +++ b/faker/providers/company/bg_BG/__init__.py @@ -3,19 +3,28 @@ class Provider(CompanyProvider): formats = ( - '{{last_name}} {{company_suffix}}', - '{{last_name}} {{last_name}} {{company_suffix}}', - '{{last_name}}', + "{{last_name}} {{company_suffix}}", + "{{last_name}} {{last_name}} {{company_suffix}}", + "{{last_name}}", ) company_suffixes = ( - 'АД', 'AD', - 'ADSITz', 'АДСИЦ', - 'EAD', 'ЕАД', - 'EOOD', 'ЕООД', - 'ET', 'ET', - 'OOD', 'ООД', - 'KD', 'КД', - 'KDA', 'КДА', - 'SD', 'СД', + "АД", + "AD", + "ADSITz", + "АДСИЦ", + "EAD", + "ЕАД", + "EOOD", + "ЕООД", + "ET", + "ET", + "OOD", + "ООД", + "KD", + "КД", + "KDA", + "КДА", + "SD", + "СД", ) diff --git a/faker/providers/company/cs_CZ/__init__.py b/faker/providers/company/cs_CZ/__init__.py index 3a7eb83fe5..f2eed6b99a 100644 --- a/faker/providers/company/cs_CZ/__init__.py +++ b/faker/providers/company/cs_CZ/__init__.py @@ -3,11 +3,13 @@ class Provider(CompanyProvider): formats = ( - '{{last_name}} {{company_suffix}}', - '{{last_name}} {{last_name}} {{company_suffix}}', - '{{last_name}}', + "{{last_name}} {{company_suffix}}", + "{{last_name}} {{last_name}} {{company_suffix}}", + "{{last_name}}", ) company_suffixes = ( - 's.r.o.', 'o.s.', 'a.s.', + "s.r.o.", + "o.s.", + "a.s.", ) diff --git a/faker/providers/company/de_DE/__init__.py b/faker/providers/company/de_DE/__init__.py index 9cdb270545..07eacc36c8 100644 --- a/faker/providers/company/de_DE/__init__.py +++ b/faker/providers/company/de_DE/__init__.py @@ -3,15 +3,36 @@ class Provider(CompanyProvider): formats = ( - '{{last_name}} {{company_suffix}}', - '{{last_name}} {{last_name}} {{company_suffix}}', - '{{last_name}}', + "{{last_name}} {{company_suffix}}", + "{{last_name}} {{last_name}} {{company_suffix}}", + "{{last_name}}", ) company_suffixes = ( - 'AG', 'AG', 'AG', 'AG', 'AG & Co. KG', 'AG & Co. KGaA', 'AG & Co. OHG', - 'GbR', 'GbR', 'GmbH', 'GmbH', 'GmbH', 'GmbH', 'GmbH & Co. KG', - 'GmbH & Co. KG', 'GmbH & Co. KGaA', 'GmbH & Co. OHG', 'KG', 'KG', 'KG', - 'KGaA', 'OHG mbH', 'Stiftung & Co. KG', 'Stiftung & Co. KGaA', 'e.G.', - 'e.V.', + "AG", + "AG", + "AG", + "AG", + "AG & Co. KG", + "AG & Co. KGaA", + "AG & Co. OHG", + "GbR", + "GbR", + "GmbH", + "GmbH", + "GmbH", + "GmbH", + "GmbH & Co. KG", + "GmbH & Co. KG", + "GmbH & Co. KGaA", + "GmbH & Co. OHG", + "KG", + "KG", + "KG", + "KGaA", + "OHG mbH", + "Stiftung & Co. KG", + "Stiftung & Co. KGaA", + "e.G.", + "e.V.", ) diff --git a/faker/providers/company/el_GR/__init__.py b/faker/providers/company/el_GR/__init__.py new file mode 100644 index 0000000000..554c486cb3 --- /dev/null +++ b/faker/providers/company/el_GR/__init__.py @@ -0,0 +1,11 @@ +from .. import Provider as CompanyProvider + + +class Provider(CompanyProvider): + formats = ( + "{{last_name}} {{company_suffix}}", + "{{last_name}}-{{last_name}}", + "{{last_name}}-{{last_name}} {{company_suffix}}", + "{{last_name}}, {{last_name}} και {{last_name}}", + ) + company_suffixes = ("Α.Ε.", "και υιοί", "Ο.Ε.", "Α.Β.Ε.Ε.", "Α.Ε. ΟΜΙΛΟΣ ΕΤΑΙΡΕΙΩΝ") diff --git a/faker/providers/company/en_PH/__init__.py b/faker/providers/company/en_PH/__init__.py index b528ca31af..c92ddd5ddb 100644 --- a/faker/providers/company/en_PH/__init__.py +++ b/faker/providers/company/en_PH/__init__.py @@ -14,118 +14,134 @@ class Provider(CompanyProvider): - https://www.pse.com.ph/stockMarket/listedCompanyDirectory.html """ - formats = OrderedDict([ - ('{{random_company_adjective}} {{random_company_noun_chain}} {{company_type}} {{company_suffix}}', 0.24), - ('{{random_company_acronym}} {{random_company_noun_chain}} {{company_type}} {{company_suffix}}', 0.24), - ('{{last_name}} {{random_company_noun_chain}} {{company_type}} {{company_suffix}}', 0.16), - ('{{random_company_adjective}} {{company_type}} {{company_suffix}}', 0.12), - ('{{random_company_acronym}} {{company_type}} {{company_suffix}}', 0.12), - ('{{last_name}} {{company_type}} {{company_suffix}}', 0.09), - ('National {{random_company_product}} Corporation of the Philippines', 0.03), - ]) - company_suffixes = OrderedDict([ - ('Inc.', 0.45), - ('Corporation', 0.45), - ('Limited', 0.1), - ]) + formats = OrderedDict( + [ + ( + "{{random_company_adjective}} {{random_company_noun_chain}} {{company_type}} {{company_suffix}}", + 0.24, + ), + ( + "{{random_company_acronym}} {{random_company_noun_chain}} {{company_type}} {{company_suffix}}", + 0.24, + ), + ( + "{{last_name}} {{random_company_noun_chain}} {{company_type}} {{company_suffix}}", + 0.16, + ), + ("{{random_company_adjective}} {{company_type}} {{company_suffix}}", 0.12), + ("{{random_company_acronym}} {{company_type}} {{company_suffix}}", 0.12), + ("{{last_name}} {{company_type}} {{company_suffix}}", 0.09), + ( + "National {{random_company_product}} Corporation of the Philippines", + 0.03, + ), + ] + ) + company_suffixes = OrderedDict( + [ + ("Inc.", 0.45), + ("Corporation", 0.45), + ("Limited", 0.1), + ] + ) company_types = ( - 'Bank', - 'Banking', - 'Capital', - 'Company', - 'Construction', - 'Development', - 'Enterprise', - 'Equities', - 'Finance', - 'Foods', - 'Group', - 'Holdings', - 'Hotel', - 'Manufacturing', - 'Mining', - 'Properties', - 'Resorts', - 'Resources', - 'Services', - 'Shipping', - 'Solutions', - 'Technologies', - 'Trust', - 'Ventures', + "Bank", + "Banking", + "Capital", + "Company", + "Construction", + "Development", + "Enterprise", + "Equities", + "Finance", + "Foods", + "Group", + "Holdings", + "Hotel", + "Manufacturing", + "Mining", + "Properties", + "Resorts", + "Resources", + "Services", + "Shipping", + "Solutions", + "Technologies", + "Trust", + "Ventures", ) company_products = ( - 'Bottle', - 'Coconut', - 'Computer', - 'Electricity', - 'Flour', - 'Furniture', - 'Glass', - 'Newspaper', - 'Pillow', - 'Water', + "Bottle", + "Coconut", + "Computer", + "Electricity", + "Flour", + "Furniture", + "Glass", + "Newspaper", + "Pillow", + "Water", ) company_nouns = ( - 'Century', - 'City', - 'Crown', - 'Dragon', - 'Empire', - 'Genesis', - 'Gold', - 'King', - 'Liberty', - 'Millennium', - 'Morning', - 'Silver', - 'Star', - 'State', - 'Summit', - 'Sun', - 'Union', - 'World', + "Century", + "City", + "Crown", + "Dragon", + "Empire", + "Genesis", + "Gold", + "King", + "Liberty", + "Millennium", + "Morning", + "Silver", + "Star", + "State", + "Summit", + "Sun", + "Union", + "World", ) company_adjectives = ( - 'Advanced', - 'Rising', - 'Double', - 'Triple', - 'Quad', - 'Allied', - 'Cyber', - 'Sovereign', - 'Great', - 'Far', - 'Northern', - 'Southern', - 'Eastern', - 'Western', - 'First', - 'Filipino', - 'Grand', - 'Manila', - 'Mega', - 'Metro', - 'Global', - 'Pacific', - 'Oriental', - 'Philippine', - 'Prime', + "Advanced", + "Rising", + "Double", + "Triple", + "Quad", + "Allied", + "Cyber", + "Sovereign", + "Great", + "Far", + "Northern", + "Southern", + "Eastern", + "Western", + "First", + "Filipino", + "Grand", + "Manila", + "Mega", + "Metro", + "Global", + "Pacific", + "Oriental", + "Philippine", + "Prime", ) - def company_type(self): + def company_type(self) -> str: return self.random_element(self.company_types) - def random_company_adjective(self): + def random_company_adjective(self) -> str: return self.random_element(self.company_adjectives) - def random_company_noun_chain(self): - return ' '.join(self.random_elements(self.company_nouns, length=self.random_int(1, 2), unique=True)) + def random_company_noun_chain(self) -> str: + return " ".join(self.random_elements(self.company_nouns, length=self.random_int(1, 2), unique=True)) - def random_company_product(self): + def random_company_product(self) -> str: return self.random_element(self.company_products) - def random_company_acronym(self): + def random_company_acronym(self) -> str: letters = self.random_letters(self.random_int(2, 4)) - return ''.join(letters).upper() + return "".join(letters).upper() diff --git a/faker/providers/company/es_MX/__init__.py b/faker/providers/company/es_MX/__init__.py index a260be1b77..8b73329971 100644 --- a/faker/providers/company/es_MX/__init__.py +++ b/faker/providers/company/es_MX/__init__.py @@ -3,166 +3,437 @@ class Provider(CompanyProvider): formats = ( - '{{last_name}} {{company_suffix}}', - '{{last_name}}-{{last_name}}', - '{{company_prefix}} {{last_name}}-{{last_name}}', - '{{company_prefix}} {{last_name}} y {{last_name}}', - '{{company_prefix}} {{last_name}}, {{last_name}} y {{last_name}}', - '{{last_name}}-{{last_name}} {{company_suffix}}', - '{{last_name}}, {{last_name}} y {{last_name}}', - '{{last_name}} y {{last_name}} {{company_suffix}}', + "{{last_name}} {{company_suffix}}", + "{{last_name}}-{{last_name}}", + "{{company_prefix}} {{last_name}}-{{last_name}}", + "{{company_prefix}} {{last_name}} y {{last_name}}", + "{{company_prefix}} {{last_name}}, {{last_name}} y {{last_name}}", + "{{last_name}}-{{last_name}} {{company_suffix}}", + "{{last_name}}, {{last_name}} y {{last_name}}", + "{{last_name}} y {{last_name}} {{company_suffix}}", ) catch_phrase_words = ( ( - "habilidad", "acceso", "adaptador", "algoritmo", "alianza", - "analista", "aplicación", "enfoque", "arquitectura", - "archivo", "inteligencia artificial", "array", "actitud", - "medición", "gestión presupuestaria", "capacidad", "desafío", - "circuito", "colaboración", "complejidad", "concepto", - "conglomeración", "contingencia", "núcleo", "fidelidad", - "base de datos", "data-warehouse", "definición", "emulación", - "codificar", "encriptar", "extranet", "firmware", - "flexibilidad", "focus group", "previsión", "base de trabajo", - "función", "funcionalidad", "interfaz gráfica", "groupware", - "interfaz gráfico de usuario", "hardware", "soporte", "jerarquía", - "conjunto", "implementación", "infraestructura", "iniciativa", - "instalación", "conjunto de instrucciones", "interfaz", - "intranet", "base del conocimiento", "red de area local", - "aprovechar", "matrices", "metodologías", "middleware", - "migración", "modelo", "moderador", "monitorizar", - "arquitectura abierta", "sistema abierto", "orquestar", - "paradigma", "paralelismo", "política", "portal", - "estructura de precios", "proceso de mejora", - "producto", "productividad", "proyecto", "proyección", - "protocolo", "línea segura", "software", "solución", - "estandarización", "estrategia", "estructura", "éxito", - "superestructura", "soporte", "sinergia", "mediante", - "marco de tiempo", "caja de herramientas", "utilización", - "website", "fuerza de trabajo"), + "habilidad", + "acceso", + "adaptador", + "algoritmo", + "alianza", + "analista", + "aplicación", + "enfoque", + "arquitectura", + "archivo", + "inteligencia artificial", + "array", + "actitud", + "medición", + "gestión presupuestaria", + "capacidad", + "desafío", + "circuito", + "colaboración", + "complejidad", + "concepto", + "conglomeración", + "contingencia", + "núcleo", + "fidelidad", + "base de datos", + "data-warehouse", + "definición", + "emulación", + "codificar", + "encriptar", + "extranet", + "firmware", + "flexibilidad", + "focus group", + "previsión", + "base de trabajo", + "función", + "funcionalidad", + "interfaz gráfica", + "groupware", + "interfaz gráfico de usuario", + "hardware", + "soporte", + "jerarquía", + "conjunto", + "implementación", + "infraestructura", + "iniciativa", + "instalación", + "conjunto de instrucciones", + "interfaz", + "intranet", + "base del conocimiento", + "red de area local", + "aprovechar", + "matrices", + "metodologías", + "middleware", + "migración", + "modelo", + "moderador", + "monitorizar", + "arquitectura abierta", + "sistema abierto", + "orquestar", + "paradigma", + "paralelismo", + "política", + "portal", + "estructura de precios", + "proceso de mejora", + "producto", + "productividad", + "proyecto", + "proyección", + "protocolo", + "línea segura", + "software", + "solución", + "estandarización", + "estrategia", + "estructura", + "éxito", + "superestructura", + "soporte", + "sinergia", + "mediante", + "marco de tiempo", + "caja de herramientas", + "utilización", + "website", + "fuerza de trabajo", + ), ( - "24 horas", "24/7", "3ra generación", "4ta generación", - "5ta generación", "6ta generación", "analizada", - "asimétrica", "asíncrona", "monitorizada por red", - "bidireccional", "bifurcada", "generada por el cliente", - "cliente-servidor", "coherente", "cohesiva", "compuesto", - "sensible al contexto", "basado en el contexto", - "basado en contenido", "dedicada", - "generado por la demanda", "didáctica", "direccional", - "discreta", "dinámica", "potenciada", "acompasada", - "ejecutiva", "explícita", "tolerante a fallos", - "innovadora", "amplio abanico", "global", "heurística", - "alto nivel", "holística", "homogénea", "híbrida", - "incremental", "intangible", "interactiva", "intermedia", - "local", "logística", "maximizada", "metódica", - "misión crítica", "móvil", "modular", "motivadora", - "multimedia", "multiestado", "multitarea", "nacional", - "basado en necesidades", "neutral", "nueva generación", - "no-volátil", "orientado a objetos", "óptima", "optimizada", - "radical", "tiempo real", "recíproca", "regional", - "escalable", "secundaria", "orientada a soluciones", - "estable", "estática", "sistemática", "sistémica", - "tangible", "terciaria", "transicional", "uniforme", - "valor añadido", "vía web", "defectos cero", "tolerancia cero", + "24 horas", + "24/7", + "3ra generación", + "4ta generación", + "5ta generación", + "6ta generación", + "analizada", + "asimétrica", + "asíncrona", + "monitorizada por red", + "bidireccional", + "bifurcada", + "generada por el cliente", + "cliente-servidor", + "coherente", + "cohesiva", + "compuesto", + "sensible al contexto", + "basado en el contexto", + "basado en contenido", + "dedicada", + "generado por la demanda", + "didáctica", + "direccional", + "discreta", + "dinámica", + "potenciada", + "acompasada", + "ejecutiva", + "explícita", + "tolerante a fallos", + "innovadora", + "amplio abanico", + "global", + "heurística", + "alto nivel", + "holística", + "homogénea", + "híbrida", + "incremental", + "intangible", + "interactiva", + "intermedia", + "local", + "logística", + "maximizada", + "metódica", + "misión crítica", + "móvil", + "modular", + "motivadora", + "multimedia", + "multiestado", + "multitarea", + "nacional", + "basado en necesidades", + "neutral", + "nueva generación", + "no-volátil", + "orientado a objetos", + "óptima", + "optimizada", + "radical", + "tiempo real", + "recíproca", + "regional", + "escalable", + "secundaria", + "orientada a soluciones", + "estable", + "estática", + "sistemática", + "sistémica", + "tangible", + "terciaria", + "transicional", + "uniforme", + "valor añadido", + "vía web", + "defectos cero", + "tolerancia cero", ), ( - 'adaptativo', 'avanzado', 'asimilado', 'automatizado', - 'balanceado', 'enfocado al negocio', - 'centralizado', 'clonado', 'compatible', 'configurable', - 'multiplataforma', 'enfocado al cliente', 'personalizable', - 'descentralizado', 'digitalizado', 'distribuido', 'diverso', - 'mejorado', 'en toda la empresa', 'ergonómico', 'exclusivo', - 'expandido', 'extendido', 'cara a cara', 'enfocado', - 'de primera línea', 'totalmente configurable', - 'basado en funcionalidad', 'fundamental', 'horizontal', - 'implementado', 'innovador', 'integrado', 'intuitivo', - 'inverso', 'administrado', 'mandatorio', 'monitoreado', - 'multicanal', 'multilateral', 'multi-capas', 'en red', - 'basado en objetos', 'de arquitectura abierta', - 'open-source', 'operativo', 'optimizado', 'opcional', - 'orgánico', 'organizado', 'perseverante', 'persistente', - 'polarizado', 'preventivo', 'proactivo', 'enfocado a ganancias', - 'programable', 'progresivo', 'llave pública', - 'enfocado a la calidad', 'reactivo', 'realineado', - 'recontextualizado', 'reducido', 'con ingeniería inversa', - 'de tamaño adecuado', 'robusto', 'seguro', 'compartible', - 'sincronizado', 'orientado a equipos', 'total', - 'universal', 'actualizable', 'centrado en el usuario', - 'versátil', 'virtual', 'visionario', + "adaptativo", + "avanzado", + "asimilado", + "automatizado", + "balanceado", + "enfocado al negocio", + "centralizado", + "clonado", + "compatible", + "configurable", + "multiplataforma", + "enfocado al cliente", + "personalizable", + "descentralizado", + "digitalizado", + "distribuido", + "diverso", + "mejorado", + "en toda la empresa", + "ergonómico", + "exclusivo", + "expandido", + "extendido", + "cara a cara", + "enfocado", + "de primera línea", + "totalmente configurable", + "basado en funcionalidad", + "fundamental", + "horizontal", + "implementado", + "innovador", + "integrado", + "intuitivo", + "inverso", + "administrado", + "mandatorio", + "monitoreado", + "multicanal", + "multilateral", + "multi-capas", + "en red", + "basado en objetos", + "de arquitectura abierta", + "open-source", + "operativo", + "optimizado", + "opcional", + "orgánico", + "organizado", + "perseverante", + "persistente", + "polarizado", + "preventivo", + "proactivo", + "enfocado a ganancias", + "programable", + "progresivo", + "llave pública", + "enfocado a la calidad", + "reactivo", + "realineado", + "recontextualizado", + "reducido", + "con ingeniería inversa", + "de tamaño adecuado", + "robusto", + "seguro", + "compartible", + "sincronizado", + "orientado a equipos", + "total", + "universal", + "actualizable", + "centrado en el usuario", + "versátil", + "virtual", + "visionario", ), ) bsWords = ( ( - 'implementa', 'utiliza', 'integra', 'optimiza', - 'evoluciona', 'transforma', 'abraza', 'habilita', - 'orquesta', 'reinventa', 'agrega', 'mejora', 'incentiva', - 'modifica', 'empodera', 'monetiza', 'fortalece', - 'facilita', 'sinergiza', 'crea marca', 'crece', - 'sintetiza', 'entrega', 'mezcla', 'incuba', 'compromete', - 'maximiza', 'visualiza', 'innova', - 'escala', 'libera', 'maneja', 'extiende', 'revoluciona', - 'genera', 'explota', 'transiciona', 'itera', 'cultiva', - 'redefine', 'recontextualiza', + "implementa", + "utiliza", + "integra", + "optimiza", + "evoluciona", + "transforma", + "abraza", + "habilita", + "orquesta", + "reinventa", + "agrega", + "mejora", + "incentiva", + "modifica", + "empodera", + "monetiza", + "fortalece", + "facilita", + "sinergiza", + "crea marca", + "crece", + "sintetiza", + "entrega", + "mezcla", + "incuba", + "compromete", + "maximiza", + "visualiza", + "innova", + "escala", + "libera", + "maneja", + "extiende", + "revoluciona", + "genera", + "explota", + "transiciona", + "itera", + "cultiva", + "redefine", + "recontextualiza", ), ( - 'sinergias', 'paradigmas', 'marcados', 'socios', - 'infraestructuras', 'plataformas', 'iniciativas', - 'canales', 'communidades', 'ROI', 'soluciones', - 'portales', 'nichos', 'tecnologías', 'contenido', - 'cadena de producción', 'convergencia', 'relaciones', - 'arquitecturas', 'interfaces', 'comercio electrónico', - 'sistemas', 'ancho de banda', 'modelos', 'entregables', - 'usuarios', 'esquemas', 'redes', 'aplicaciones', 'métricas', - 'funcionalidades', 'experiencias', 'servicios web', - 'metodologías', + "sinergias", + "paradigmas", + "marcados", + "socios", + "infraestructuras", + "plataformas", + "iniciativas", + "canales", + "communidades", + "ROI", + "soluciones", + "portales", + "nichos", + "tecnologías", + "contenido", + "cadena de producción", + "convergencia", + "relaciones", + "arquitecturas", + "interfaces", + "comercio electrónico", + "sistemas", + "ancho de banda", + "modelos", + "entregables", + "usuarios", + "esquemas", + "redes", + "aplicaciones", + "métricas", + "funcionalidades", + "experiencias", + "servicios web", + "metodologías", ), ( - 'valor agregado', 'verticales', 'proactivas', 'robustas', - 'revolucionarias', 'escalables', 'de punta', 'innovadoras', - 'intuitivas', 'estratégicas', 'e-business', 'de misión crítica', - 'uno-a-uno', '24/7', 'end-to-end', 'globales', 'B2B', 'B2C', - 'granulares', 'sin fricciones', 'virtuales', 'virales', - 'dinámicas', '24/365', 'magnéticas', 'listo para la web', - 'interactivas', 'punto-com', 'sexi', 'en tiempo real', - 'eficientes', 'front-end', 'distribuidas', 'extensibles', - 'llave en mano', 'de clase mundial', 'open-source', - 'plataforma cruzada', 'de paquete', 'empresariales', - 'integrado', 'impacto total', 'inalámbrica', 'transparentes', - 'de siguiente generación', 'lo último', 'centrado al usuario', - 'visionarias', 'personalizado', 'ubicuas', 'plug-and-play', - 'colaborativas', 'holísticas', 'ricas', + "valor agregado", + "verticales", + "proactivas", + "robustas", + "revolucionarias", + "escalables", + "de punta", + "innovadoras", + "intuitivas", + "estratégicas", + "e-business", + "de misión crítica", + "uno-a-uno", + "24/7", + "end-to-end", + "globales", + "B2B", + "B2C", + "granulares", + "sin fricciones", + "virtuales", + "virales", + "dinámicas", + "24/365", + "magnéticas", + "listo para la web", + "interactivas", + "punto-com", + "sexi", + "en tiempo real", + "eficientes", + "front-end", + "distribuidas", + "extensibles", + "llave en mano", + "de clase mundial", + "open-source", + "plataforma cruzada", + "de paquete", + "empresariales", + "integrado", + "impacto total", + "inalámbrica", + "transparentes", + "de siguiente generación", + "lo último", + "centrado al usuario", + "visionarias", + "personalizado", + "ubicuas", + "plug-and-play", + "colaborativas", + "holísticas", + "ricas", ), ) - company_preffixes = ('Despacho', 'Grupo', 'Corporacin', 'Club', - 'Industrias', 'Laboratorios', 'Proyectos') + company_preffixes = ( + "Despacho", + "Grupo", + "Corporacin", + "Club", + "Industrias", + "Laboratorios", + "Proyectos", + ) - company_suffixes = ('A.C.', 'S.A.', 'S.A. de C.V.', 'S.C.', - 'S. R.L. de C.V.', 'e Hijos', 'y Asociados') + company_suffixes = ( + "A.C.", + "S.A.", + "S.A. de C.V.", + "S.C.", + "S. R.L. de C.V.", + "e Hijos", + "y Asociados", + ) - def company_prefix(self): + def company_prefix(self) -> str: """ Ejemplo: Grupo """ return self.random_element(self.company_preffixes) - - def catch_phrase(self): - """ - :example 'Robust full-range hub' - """ - result = [] - for word_list in self.catch_phrase_words: - result.append(self.random_element(word_list)) - - return " ".join(result) - - def bs(self): - """ - :example 'integrate extensible convergence' - """ - result = [] - for word_list in self.bsWords: - result.append(self.random_element(word_list)) - - return " ".join(result) diff --git a/faker/providers/company/fa_IR/__init__.py b/faker/providers/company/fa_IR/__init__.py index 267aedf605..7f631d8bcb 100644 --- a/faker/providers/company/fa_IR/__init__.py +++ b/faker/providers/company/fa_IR/__init__.py @@ -4,1111 +4,1111 @@ class Provider(CompanyProvider): company_names = [ - 'گروه سیمان', - 'گروه فلزات اساسي', - 'ایران گچ', - 'آلومتك', - 'ساروج بوشهر', - 'آلومينيوم ايران', - 'سيمان  ساوه', - 'ایران ذوب', - 'سيمان اردبيل و آهك آذرشهر', - 'پارس مولیبدن', - 'سيمان اروميه', - 'ذوب روی اصفهان', - 'سيمان اصفهان', - 'صنايع مس شهيد باهنر', - 'سيمان ايلام', - 'صنایع خالص سازان روی زنجان', - 'سيمان بجنورد', - 'صنعتی و سرمایه گذاری سپنتا', - 'سيمان بهبهان', - 'كالسيمين', - 'سيمان تهران', - 'گروه كارخانه هاي توليدي نورد آلومينيوم', - 'سيمان خاش', - 'ملي سرب و روي ايران', - 'سيمان خزر', - 'ملی صنایع مس ایران', - 'سيمان داراب', - 'آلومراد', - 'سيمان دورود', - 'آلومينيوم المهدي', - 'سيمان سفيدني ريز', - 'آلومينيوم پارس', - 'سيمان شاهرود', - 'کارخانجات تولیدی مواد الومینیوم', - 'سيمان شرق', - 'مجتمع ذوب و احیای روی قشم', - 'سيمان شمال', - 'مجتمع صنايع الومينيوم جنوب', - 'سيمان صوفيان', - 'مس تکنار', - 'سيمان غرب', - 'گروه کانی های فلزی', - 'سيمان فارس', - 'آلوميناي ايران', - 'سيمان قاين', - 'تهيه و توليد مواد اوليه فولاد خراسان', - 'سيمان كارون', - 'سنگ آهن مركزي ايران', - 'سيمان كرمان', - 'هرمز انرژی', - 'سيمان مازندران', - 'واحد طلای موته', - 'سيمان هرمزگان', - 'واحد پیربکران', - 'سيمان هگمتان', - 'واحد فسفات اسفردی', - 'سیمان خوزستان', - 'واحد نخلک', - 'سیمان دشتستان', - 'ويتانا', - 'سیمان زابل', - 'گروه صنایع غذایی', - 'سیمان فارس نو', - 'کشاورزی و تحقیقاتی نوین زعفران', - 'سیمان لار سبزوار', - 'گلستان', - 'سیمان لارستان', - 'آرد زر', - 'سیمان لامرد', - 'اروم آدا', - 'سیمان مجد خواف', - 'ایران گلاب مرغوب', - 'سیمان ممتازان کرمان', - 'بيسكوئيت گرجي', - 'فراورده سیمان شرق', - 'تحول چاشنی توس', - 'گچ ماشيني فارس', - 'تهیه و بسته بندی خشکبار آرات', - 'سیمان آذر آبادگان خوی', - 'توسعه کشت ذرت', - 'سیمان بوهروک یزد', - 'تولیدی آرد البرز', - 'سیمان جوین', - 'تولیدی زعفران سحرخیز', - 'سیمان قشم', - 'خوراك دام پارس', - 'سیمان کردستان', - 'دشت مرغاب', - 'گچ تهران', - 'روغن نباتي پارس', - 'گروه فولاد', - 'روغن نباتي جهان', - 'پلی ران اتصال', - 'روغن نباتی گلناز', - 'توليدی لوله هاي پلي اتيلن دوجداره بوشهر', - 'روغنکشی خرمشهر', - 'تولید لوله و پوشش سلفچگان', - 'زر ماکارون', - 'سلفچگان', - 'سالمين', - 'ذوب آهن اصفهان', - 'سپتیکو', - 'ساخته های فلزی اصفهان', - 'سحر همدان', - 'صنايع فرو آلياژ ايران', - 'سقزسازی کردستان', - 'صنايع گالوانيزه فجر سپاهان', - 'شاد گل نیشابور', - 'صنایع فولاد آلياژي يزد', - 'شهد ايران', - 'فولاد اکسین خوزستان', - 'صنایع غذایی مینو شرق', - 'فولاد آلیاژی ایران', - 'صنعتي  پارس مينو', - 'فولاد خوزستان', - 'صنعتي مينو خرم دره', - 'فولاد صنعت مهدی', - 'فراورده های سیب زمینی پریس اصفهان', - 'فولاد مباركه اصفهان', - 'فرآورده های گوشتی تهران', - 'کارخانجات نورد لوله یاران', - 'كشت و صنعت پياذر', - 'کاوه کشاورز', - 'كيوان', - 'گروه صنعتي سپاهان', - 'کشت و صنعت اشراق', - 'لوله و پروفیل سپنتا تهران', - 'کشت و صنعت قطران گل ایران', - 'لوله و ماشين سازي ايران', - 'کشت وصنعت روژین تاک', - 'مجتمع فولاد خراسان', - 'کشتارگاه صنعتی طیور سپیدان آمل', - 'میراب پروفیل', - 'گروه توليدي مهرام', - 'نورد و توليد قطعات فولادي', - 'گلوكوزان', - 'نورد و لوله صفا', - 'مارگارين', - 'نوین آلیاژسمنان', - 'مجتمع صنایع غذایی بهپودر اصفهان', - 'فولاد آذربايجان', - 'مجتمع كشت و صنعت چين چين', - 'فولاد افزا سپاهان', - 'مجتمع کارخانجات سوربن شمال', - 'گروه ملي صنعتي فولاد ايران', - 'مرغ اجداد زربال', - 'پروفيل صنعت جنوب', - 'شوكو پارس', - 'صبا فولاد خلیج فارس', - 'آرد تجارت', - 'فولاد تربت حیدریه', - 'بهپاك', - 'لوله و تجهيزات سديد', - 'پيچك', - 'نورد لوله اهواز', - 'توسعه کشت و صنعت ملی ( كشت و صنعت گرگان )', - 'نورد و پروفيل پارس', - 'فراورده هاي غذائي مشهد', - 'گروه پیمانکاری صنعتی', - 'گروه معادن', - 'احداث صنعت', - 'معدن کاران انگوران', - 'گروه ساخت قطعات خودرو', - 'باما', - 'تولید موتور های دیزل ایران', - 'تامين ماسه ريخته گري', - 'اگزوز خودرو خراسان', - 'تامین مواد اولیه فولاد صبا نور', - 'الكتريك خودرو شرق', - 'توسعه معادن روي ايران', - 'آهنگري تراكتورسازي ايران', - 'توليد فروموليبدن كرمان', - 'اورند پلاستیک', - 'تولیدی آذر سنگ سرخ', - 'ايران دوچرخ', - 'جهاد نصر سیرجان', - 'پلاسكو كار سايپا', - 'حفاری ایراندشت کاشان', - 'توليد محورخودرو', - 'ذوب وروی بافق', - 'توليدي قطعات محوري خراسان', - 'زرین معدن آسیا', - 'تولیدی صنعتی لنت پارس', - 'زغال سنگ نگين طبس', - 'چرخشگر', - 'زنجان برنز', - 'رادياتور ايران', - 'سرمایه گذاری توسعه معادن کوثر', - 'ريخته گري تراكتورسازي ايران', - 'سنگ آهن شرق', - 'رينگ سازي مشهد', - 'سنگ آهن گل گهر', - 'ریخته گری آلومینیوم ایران خودرو', - 'سنگاب آذرشهر', - 'ساخت و نصب صنعتی البرز', - 'سنگاب همدان', - 'سازه پويش', - 'سوژميران', - 'سايپا آذين', - 'سولفاتيک', - 'سایپا پرس', - 'شن سازان هراز', - 'سیبا موتور', - 'صنعت روی زنگان', - 'شمیم پژوهش', - 'صنعتي و معدني شمال شرق شاهرود', - 'صنايع ريخته گري ايران', - 'فراوري مواد معدني ايران', - 'صنایع ریخته گری پرلیت آسیا', - 'فرو سيليس ايران', - 'صنایع نوید موتور', - 'مجتمع معادن سنگ چینی نی ریز', - 'صنعتي نيرو محركه', - 'معادن بافق', - 'صنعتی صبوران پلیمر', - 'معادن سنگ اهن احیاء سپاهان', - 'فنر سازی زر گلپايگان', - 'معادن منگنز ايران', - 'فنرسازي خاور', - 'معدن کار باختر', - 'فنرسازي زر', - 'معدني دماوند', - 'كاربراتور ايران', - 'معدني و صنعتي چادرملو', - 'كارخانجات كمك فنر ايندامين سايپا', - 'معدنی و فرآوری سرمه فیروزآباد', - 'کابل خودرو سبزوار', - 'ندای رهاوی', - 'کلاچ سازی شایان صنعت', - 'زغال سنگ البرز شرقی', - 'گیربکس سایپا', - 'زغال سنگ البرز مرکزی', - 'لنت ترمز ايران', - 'زغال سنگ کرمان', - 'ماشین سازی فراگیر سپنتا', - 'فرآوري معدني اپال کاني پارس', - 'مجتمع صنعتی سپاهان باطری', - 'گروه توسعه معادن روی ایران', - 'محورسازان ايران خودرو', - 'گروه قند و شکر', - 'مهركام پارس', - 'سهامی عام شهد – قند خوی', - 'مهندسي نصير ماشين', - 'شکر شاهرود', - 'موتورسازان تراكتورسازي ايران', - 'صنعتی کشاورزی شیرین خراسان', - 'نیروسازاراک‎', - 'فرآورد ه هاي غذايي و قند پيرانشهر', - 'یسکو', - 'فراورده هاي غذايي و قند تربت جام', - 'گروه انتشار، چاپ و تكثير', - 'فرآورده هاي غذايي و قند چهارمحال', - 'افست', - 'قند اصفهان', - 'گروه خدمات فنی و مهندسی', - 'قند ثابت خراسان', - 'ملی ساختمان', - 'قند شيروان قوچان وبجنورد', - 'مهندسی فرا نیرو', - 'قند قهستان', - 'آبادراهان پارس', - 'قند لرستان', - 'احداث تاسیسات انتقال نیرو – اتانیر', - 'قند مرودشت', - 'آذرپاسیلو', - 'قند نقش جهان', - 'ارسا ساختمان', - 'قند نيشابور', - 'آفرینه طوس', - 'قند هكمتان', - 'اهرام فناوری قدرت', - 'کارخانجات قند قزوین', - 'ایریتک', - 'قند بيستون', - 'بازرسي مهندسي و صنعتي ايران', - 'قند پارس', - 'تجهیزات و خدمات صنایع آب و برق ایران – صانیر', - 'گروه رایانه و فعالیتهای وابسته به آن', - 'تکنیک', - 'ایران ارقام', - 'توسعه ساخت و نصب صنايع بتني و فلزي گسترش مانا ساز آبيک', - 'تجارت الكترونيك پارسيان', - 'جنرال مکانیک', - 'توسعه سازه پایه فن آوا', - 'حفاری شمال', - 'توسعه فناوری اطلاعات خوارزمی', - 'خدمات مهندسی ساختمان تاسیسات راه آهن', - 'تینا سامانه', - 'خدماتي تجهيزات سنگين همگام', - 'داده پردازي خوارزمي', - 'راهبران فولاد اصفهان', - 'داده پردازی ایران', - 'راهسازی و ساختمانی 115', - 'داده پردازی فن آوا', - 'ره  گستر نفت', - 'داده سامانه فن آوا', - 'صنعتی دریایی ایران – صدرا', - 'فن آوا کارت', - 'فراب', - 'کارت اعتباری ایران کیش', - 'کیسون', - 'گسترش الکترونیک مبین ایران', - 'معماران پارس صنعت', - 'خدمات انفورماتیک', - 'مهام شرق', - 'گروه وسايل اندازه گيري، پزشكي و اپتيكي', - 'مهندسان مشاور سازه', - 'مهندسی فرسار تجارت', - 'مهندسي و نصب فيرمکو پارس', - 'پویندگان راه سعادت', - 'مهندسي وتحقيقاتي فلزات غيرآهنی', - 'كنتور سازي ايران', - 'مهندسی و پشتیبانی نیروگاهی البرز توربین', - 'گروه ماشين آلات و تجهيزات', - 'موننکو ایران', - 'مارال صنعت جاوید', - 'نصب نیرو', - 'ماشین رول', - 'خدمات ماشینی کشتیرانی', - 'افرند کالا سازه', - 'گسترش صنايع وخدمات', - 'آلفا پاک ایران', - 'گروه لوازم خانگي', - 'بلبرينگ ايران', - 'لعران', - 'بهسازان غلطک فولاد اصفهان', - 'ارج', - 'پارس بوشونگ', - 'آیسان خزر', - 'پاریزان صنعت', - 'پارس خزر', - 'پمپ سمنان انرژی', - 'تولیدی و صنعتی نیک کالا', - 'تراكتور سازي ايران', - 'صنايع سرماآفرين قشم', - 'تراکتور سازی کردستان', - 'صنعتي جنرال', - 'تسهیل ماشین صنعت', - 'كارخانجات آبسال', - 'توليد تجهيزات سنگين هپكو', - 'كارخانجات لوازم خانگي پارس', - 'توليدي پمپ پارس', - 'کارخانجات پارس ماشین', - 'توليدي تجهيزات ايمني راهها', - 'گروه صنعتي بوتان', - 'تیراژه ماشین', - 'لوازم خانگی نانیوا', - 'دلتا راه ماشین', - 'توليدي كولر گازي ايران', - 'رهشاد سپاهان', - 'جام جهان نما', - 'ساخت تجهيزات سپاهان', - 'كارخانجات صنعتي آزمايش', - 'سوت ماشین', - 'گروه پلاستيك', - 'صنايع پمپ سازي ايران', - 'یزد بسپار', - 'صنايع سرما آفرين', - 'آرتا پلاست', - 'صنایع پمپ ابارا', - 'پلاستيران', - 'صنعتی هلی خودرو', - 'پلاستيکهاي مهندسي درخشان ساز', - 'طراحي مهندسي وساخت تجهيزات وابزارآلات سايپا', - 'توليدي پلاستيك شاهين', - 'فولادريزي قائم سپهر سپاهان', - 'توليدي گاز لوله', - 'کالای پمپ', - 'توليدي و صنعتي درخشان تهران', - 'ماشين سازي اراك', - 'جوی گستر نفت', - 'ماشين سازي نیرو محركه', - 'صنايع لاستيك سهند', - 'مهندسي تكنو تار', - 'كارخانجات توليدي تهران', - 'مهندسي و توليد ماشين آلات راهسازي و معدني کشاورزي هپکو اراک', - 'توليدي وصنعتي ايران وغرب', - 'مهندسي و ساختمان ماشين سازي اراک', - 'لوله سازي اهواز', - 'مهندسي و قطعات ماشين آلات راه سازي ايران', - 'گروه مبلمان و مصنوعات ديگر', - 'مهندسی فیروزا', - 'عايق پلاستيك', - 'مهندسی و ساخت بویلر مپنا', - 'تجهيزات مدارس ايران', - 'هوا ابزار تهران', - 'صنعتی جهان چیدمان-جلیس', - 'اشتهاد موتورز', - 'گروه محصولات شيميايي', - 'كارخانجات صنعتي  و توليدي اتمسفر', - 'احسان شیمی استهبان', - 'كمپر سور سازي ايران', - 'آریا رزین', - 'ليفتراك سازي سهند', - 'الکترو زر سازه', - 'فرتاک ماشین', - 'ایمن تاش سپاهان', - 'کمباین سازی ایران', - 'بردار شیب', - 'ماشين آلات صنعتي تراكتور سازي ايران', - 'بين المللي محصولات پارس', - 'صنايع توليدي اشتاد ايران', - 'بين المللي سارنگ تدارك', - 'پروفيل و يخچال ايران پويا', - 'پارس زئولايت', - 'توليدي بهمن', - 'پارسیان پارت پاسارگاد', - 'گروه محصولات كاغذي', - 'پاكسان', - 'بسته بندي پارس', - 'پاکنام', - 'صنايع كاغذ سازي كاوه', - 'پالایش قطران ذغالسنگ اصفهان', - 'صنایع چوب و کاغذ مازندران', - 'توکا رنگ فولاد سپاهان', - 'كارتن البرز', - 'تولي پرس', - 'كارتن ايران', - 'توليد سموم علف كش', - 'کارتن مشهد', - 'تولید مواد اولیه الیاف مصنوعی', - 'محصولات کاغذی لطیف', - 'تولیدی و صنعتی  فراسان', - 'كارتن پارس', - 'تولیدی و صنعتی سامد', - 'گروه منسوجات', - 'تولیدی وصنعتی خودرنگ', - 'ايران برك', - 'حباب کف توس', - 'توليدي بافت آزادي', - 'داروئي ارايشي وبهداشتي مينو', - 'وطن اصفهان', - 'دنیای آرایش', - 'ريسندگي و با فندگي كاشان', - 'دوده صنعتي پارس', - 'ريسندگي و بافندگي پاكريس', - 'رزیتان', - 'ريسندگي و بافندگي ري', - 'ریف ایران', - 'فرش پارس', - 'سامان شیمی', - 'گردباف يزد', - 'سرمايه گذاري صنايع شيميايي ايران', - 'گروه صنعتي نقش ايران', - 'شيمي بافت', - 'نساجي بابكان', - 'شيميايي پارس پامچال', - 'نساجي خوي', - 'شيميايي فرآورد قشم', - 'نساجي غرب', - 'شیمیایی بهداد', - 'نساجي قائم شهر', - 'شیمیایی بهداش', - 'نساجي مازندران', - 'شیمیایی و تولیدی رزپلیمر', - 'وطن اصفهان', - 'صنايع شيميايي رنگين', - 'يزد باف', - 'صنايع شيميايي سينا', - 'صنايع نساجي ايران', - 'صنايع شيميايي فارس', - 'گروه بانك ها، موسسات اعتباري و ساير نهادهاي مالي', - 'صنایع بهداشتی ساینا', - 'بانك اقتصاد نوين', - 'صنایع رنگ و رزین طیف سایپا', - 'بانك پارسيان', - 'صنایع شیمی ساختمان آباد گران', - 'بانك سامان', - 'فراپاکس شیراز', - 'بانك كارآفرين', - 'كربن ايران', - 'بانک انصار', - 'كف', - 'بانک ایران زمین', - 'کلر پارس', - 'بانک پاسارگاد', - 'گلتاش', - 'بانک تجارت ایران', - 'لابراتوارهای داروهای گیاهی طبیعت زنده', - 'بانک حکمت ایرانیان', - 'لعاب مشهد', - 'بانک دی', - 'لعابيران', - 'بانک سرمایه', - 'مجتمع صنایع شیمیایی پلیمر ایران', - 'بانک سینا', - 'مديريت صنعت شوينده توسعه صنايع بهشهر', - 'بانک شهر', - 'مروارید هامون', - 'بانک صادرات ایران', - 'معدني املاح ايران', - 'بانک گردشگری', - 'ملي شيمي كشاورز', - 'بانک ملت', - 'من', - 'پست بانک', - 'نيرو كلر', - 'بانک تات', - 'الياف', - 'بانک کشاورزی', - 'پارسيلون', - 'گروه واسطه گري هاي مالي', - 'توليدي  الياف پلي  پروپيلين  بنياد', - 'رايان سايپا', - 'صنايع تبديلي گلستان', - 'سپرده گذاری مرکزی اوراق بهادار و تسویه وجوه', - 'كارخانجات توليدي سوپر رنگ', - 'ليزينگ آريادانا', - 'صنايع رنگ پارس الوان', - 'ليزينگ ايران', - 'گروه مواد و محصولات دارويي', - 'ليزينگ خودرو غدير', - 'آفا شیمی', - 'ليزينگ صنعت و معدن', - 'البرز دارو', - 'ليزينگ ماشين الات سنگين ايرانيان', - 'ايران دارو', - 'لیزینگ اقتصاد نوین', - 'پارس دارو', - 'لیزینگ رازی', - 'تحقیقاتی و تولیدی سیناژن', - 'لیزینگ ماشین آلات و تجهیزات پاسارگاد', - 'تهران دارو', - 'لیزینگ ایرانیان', - 'تهران شيمي', - 'لیزینگ شهر – لیزینگ سامان آریا', - 'توليد ژلاتين کپسول ايران', - 'گروه توزیع برق', - 'توليد مواد اوليه دارو پخش', - 'توزیع برق بوشهر', - 'تولید مواد دارویی درسا دارو', - 'توسعه برق شمال افشان گستر', - 'داروسازي اسوه', - 'صنايع برق زنگان پارس', - 'داروسازي اكسير', - 'گهر انرژي سيرجان', - 'داروسازي امين', - 'برق و انرژی صبا', - 'داروسازي جابرابن حيان', - 'گروه شرکتهای بازرگانی', - 'داروسازي حكيم', - 'اتصال استیل هما', - 'داروسازي دكتر عبيدي', - 'اسپرلوس اهورا', - 'داروسازي روزدارو', - 'افزار پرداز رمیس', - 'داروسازي زهراوي', - 'الهام بیسان', - 'داروسازي فارابي', - 'ایمان تجارت روشن', - 'داروسازي كوثر', - 'بازرگاني پتروشيمي', - 'داروسازی بهوزان', - 'بازرگانی ارمغان مهر سیرت', - 'داروسازی تولید دارو – سهامی خاص', - 'بازرگانی ایران ترانسفو', - 'داروسازی دانا', - 'بازرگانی بین المللی استوان سپند', - 'داروسازی شهید قاضی تبریز', - 'بازرگانی پارس ماهان آسیا', - 'داروسازی گیلارانکو', - 'بازرگانی پتروشیمی زنجان', - 'داروئي و بهداشتي لقمان', - 'بازرگانی تبادل و تدارک کالا', - 'داملران', - 'بازرگانی صبا بیمه ایرانیان', - 'سينا دارو', - 'بازرگانی مبین تجارت غرب', - 'شيمي دارويي داروپخش', - 'بازرگانی نفت یاب', - 'صنعتي كيميدارو', - 'بازرگانی،صنعتی بهشت پارس', - 'فارما شیمی', - 'بهترین های پزشکی پارس', - 'فراورده هاي تزريقي ايران', - 'پارس بازرگان', - 'كارخانجات دارو پخش', - 'پارس گستر مینو', - 'لابراتورهای دارویی رازک', - 'پديده گستران غرب', - 'مواد اولیه دارویی تهران شیمی', - 'تجارت گستران خوارزمي', - 'داروسازی سبحان انکولوژی', - 'تجاری و بازرگانی مواد معدنی میناب', - 'سرمايه گذاري البرز', - 'تجهیز یاران', - 'شيرين دارو', - 'تهیه و تولید خاک نسوز استقلال آباده', - 'گروه دارویی سبحان', - 'توسعه صنايع غذايي بم', - 'گروه خودروسازی', - 'توسعه و تجارت بین المللی صبا', - 'ايران خودرو', - 'توسعه و تجارت ماتریس', - 'ايران خودروديزل', - 'جهان فعالیت', - 'ایران خودرو تبریز', - 'خشکبار دست چین', - 'ایران خودرو خراسان', - 'داده های رسا', - 'ایران خودرو مازندران', - 'دانیال کار', - 'بهمن دیزل', - 'درمان یار آنی', - 'پارس خودرو', - 'راسن درمان', - 'تولیدی و صنعتی عقاب افشان', - 'رویال پیشگام شرق', - 'زامياد', - 'سامان بارز', - 'سايپا', - 'سیاحان سپهر آسیا', - 'سايپاديزل', - 'صخره سنگی فرزین', - 'سایپا کاشان', - 'صنایع نئون پرس', - 'گروه بهمن', - 'فانوس دشت تجارت', - 'بنيان ديزل', - 'کیا مهستان', - 'توليدي مرتب', - 'کیمیا آرا هرم', - 'گروه محصولات لبني', - 'گسترش تجارت کالای ایرانیان', - 'پاک پی', - 'مديريت و ساخت طرحهاي نفت گستر', - 'تولید فرآورده های لبنی کاله', - 'مهر اسپند پویا', - 'شير پاستوريزه پگاه اصفهان', - 'مهندسی بازرگانی درداران سریر', - 'شير پاستوريزه پگاه خراسان', - 'نویان بسپار', - 'شير پگاه آذربايجان غربي', - 'نیکان شهد بارز', - 'صنايع شير ايلام زاگرس', - 'گروه هولدینگ', - 'فراورده هاي لبني پاکسار ساري', - 'توسعه صنايع بهشهر – هلدينگ', - 'لبنيات پاستوريزه پاك', - 'داروپخش – هلدينگ', - 'لبنيات كالبر', - 'راه آهن جمهوری اسلامی ایران', - 'لبنیات پاستوریزه پاک آرا سنندج', - 'سرمايه گذاري توسعه معادن و فلزات', - 'گروه منسوجات و فرش بافی', - 'سرمايه گذاري توكا فولاد – هلدينگ', - 'ابهر ریس', - 'سرمايه گذاري صنعت نفت – هلدينگ', - 'ايران پوپلين', - 'سرمایه گذاری گروه صنعتی ملی', - 'ايران مرينوس', - 'گروه صنعتي سديد – هلدينگ', - 'بافتینه', - 'گروه صنعتي قطعات اتومبيل ايران', - 'پشمبافي توس', - 'گروه صنعتي ناب', - 'پلي اكريل ايران', - 'گسترش نفت و گاز پارسیان', - 'تمدن فرش کاشان', - 'مدیریت پروژه های نیروگاهی ایران – مپنا', - 'تولیدی پارس دکور', - 'هلدینگ توسعه معادن و صنایع معدنی خاورمیانه', - 'تولیدی پارس نخ', - 'هلدینگ دامپروری شیروگوشت پارس', - 'تولیدی پینک', - 'سرمايه گذاري بانك ملي ايران – هلدينگ', - 'تولیدی و صنعتی پارس تکمیل', - 'صنعتي بهشهر', - 'تولیدی و صنعتی رسول اصفهان', - 'گروه بنادر ودریانوردی', - 'شبنم باف', - 'پایانه ها و مخازن پتروشیمی', - 'صنایع موکت همدان', - 'خدمات دریایی و بندری کاوه', - 'صنایع نخ خمین', - 'گروه گاز', - 'صنایع نساجی همدانیان', - 'گاز اصفهان', - 'ظریف مصور', - 'ملی گاز', - 'فرش مشهد', - 'گاز خراسان جنوبی', - 'فرش نگین مشهد', - 'گروه آشامیدنی ها', - 'کارخانجات ریسندگی نطنز', - 'آب معدنی دماوند', - 'مخمل و ابريشم كاشان', - 'آذر شهد ارومیه', - 'موکت نگین مشهد', - 'بهنوش ايران', - 'نساجي بروجرد', - 'پیمان فردان', - 'نساجی کویر سمنان', - 'تولیدی نوشابه ارم نوش', - 'صنايع نساجي ايران', - 'زمزم آذربایجان', - 'گروه حمل و نقل دریایی و حمل و نقل آب های ساحلی', - 'زمزم اصفهان', - 'حمل و نقل ترکیبی کشتیرانی جمهوری اسلامی', - 'زمزم تهران', - 'حمل و نقل خدمات دریایی آبادان', - 'زمزم رشت', - 'خدمات دریایی و کشتیرانی خط دریا بندر', - 'زمزم گرگان', - 'دريابان جنوب ايران', - 'شهداب', - 'کشتیرانی آریا', - 'فرآورده های نوشیدنی تسنیم نوش', - 'کشتیرانی جمهوری اسلامی ایران', - 'نوش مازندران', - 'کشتیرانی والفجر', - 'ساسان', - 'گروه خدمات فنی-مهندسی خودرو', - 'گروه تایر سازی', - 'امداد خودرو ایران', - 'ایران یاسا', - 'امداد خودرو سایپا', - 'بید وایر ایران', - 'بازرسی فنی و کنترل خوردگی تکین کو', - 'توليدي ايران تاير', - 'گواه', - 'توليدي لاستيکهاي صنعتي مبارکه', - 'مزدا یدک', - 'کویر تایر', - 'مهندسی و مشاور سازه گستر سایپا', - 'لاستيك دنا', - 'خدمات کمات ماشین شرق', - 'لاستیک بارز', - 'گروه فرهنگی و گردشگری', - '8', - 'لاستیک پارس', - 'تجارت توسعه گردشگري آتيه انديشان', - 'مجتمع صنايع لاستيك يزد', - 'توسعه گردشگري کاروانسراي پارس', - 'مجتمع صنعتي آرتاويل تاير', - 'گروه سرمايه گذاري ميراث فرهنگي و گردشگري ايران', - 'توليدي لاستيك البرز – كيان تاير', - 'مجتمع توريستي، رفاهي آبادگران ايران', - 'گروه شرکتهای مشاوره', - 'گروه كاني های غير فلزي', - 'irpmc', - 'آجر نسوز امين آباد', - 'بودجه irpmc', - 'آذريت', - 'همکاران سیستم اردبیل', - 'ايتالران', - 'همکاران سیستم البرز', - 'ايرانيت', - 'همکاران سیستم پناه شرق', - 'پرمیت', - 'همکاران سیستم خراسان جنوبی', - 'پشم شیشه ایران', - '7', - 'همکاران سیستم خراسان رضوی', - 'تولیدی و صنعتی آبگینه', - 'همکاران سیستم خوزستان', - 'خاك چيني ايران', - 'همکاران سیستم زنجان', - 'زرین شیشه مرکزی', - 'همکاران سیستم فارس', - 'سایپا شیشه', - 'همکاران سیستم قزوین', - 'سراميك هاي صنعتي اردكان', - 'همکاران سیستم گیلان', - 'شيشه قزوين', - 'همکاران سیستم مازندران', - 'شيشه همدان', - 'گروه ماشين آلات و دستگاههاي برقي', - 'شيشه و گاز', - 'ايران ترانسفو', - 'شیشه داروئی رازی تاکستان', - 'ایران ترانسفوی ری', - 'فارسيت اهواز', - 'پارس سوئيچ', - 'فرآورده هاي نسوز پارس', - 'تال ایران', - 'فرآورده هاي نسوزآذر', - 'تامین تابلو', - 'فراورده های نسوز ایران', - 'تجهیزات انتقال برق پارس', - 'كارخانجات توليدي شيشه دارويي رازي', - 'ترانسفور ماتور توزیع زنگان', - 'كارخانه فارسيت درود', - 'تهران پادنا', - 'ورزيران', - 'توربوژنراتور شاهرود', - 'مقره سازی ایران', - 'توس فیوز', - 'چینی سازی البرز', - 'جابون', - 'گروه ارتباطات', - 'خیام الکتریک', - 'ارتباطات فن آوا', - 'صنايع جوشكاب يزد', - 'ارتباطات کوه نور', - 'صنایع کابل سازی افق البرز', - 'ارتباطات سیار ایران – همراه اول', - 'صنعتی مهندسی پالایش نیرو', - 'مخابرات ایران', - 'فاراتل', - 'گروه شرکت های پخش', - 'كابل البرز', - 'پخش سراسری کالای کالبر', - 'كابل باختر', - 'پخش هجرت', - 'كابلهاي مخابراتي شهيد قندي', - 'توزيع داروهاي دامي داروپخش', - 'كارخانجات كابلسازي ايران', - 'مهندسي و پشتيباني پخش فرآورده هاي نفتي امين', - 'کابل تک', - 'گروه بیمه', - 'لامپ پارس شهاب', - 'بيمه پاسارگاد', - 'مازی نور', - 'بیمه آسیا', - 'مهندسی مپنا مکو', - 'بیمه البرز', - 'مهندسی و ساخت توربین مپنا توکا', - 'بیمه پارسیان', - 'مهندسی و ساخت ژنراتور مپنا – پارس', - 'بیمه دانا', - 'موتوژن', - 'بیمه دی', - 'نيرو ترانس', - 'بیمه نوین', - 'پارس نور الکتریک', - 'صندوق بیمه سرمایه گذاری فعالیت های معدنی', - 'توليدي قوه پارس', - 'گروه سرمايه گذاري ها', - 'مهندسی و ساخت پره توربين مپنا – پرتو', - 'حفیظ سامانه', - 'تامین قطعات و تجهیزات سرو نیرو شیراز', - 'تکادو', - 'صنایع مهتاب خراسان', - 'سرمايه گذاري آتيه دماوند', - 'صنعتي مهر آباد', - 'سرمايه گذاري انديشه محوران', - 'گروه كشاورزي ، دامپروري و خدمات وابسته به آن', - 'سرمايه گذاري بهمن', - 'تلیسه نمونه', - 'سرمايه گذاري پارس توشه', - 'دانه چین', - 'سرمايه گذاري توسعه آذربايجان', - 'دامپروری و مرغداری دشت خرمدره', - 'سرمايه گذاري توسعه صنعتي ايران', - 'دامداری شیر و دام بنیاد', - 'سرمايه گذاري توسعه ملي', - 'شیر و گوشت زاگرس', - 'سرمايه گذاري چشم انداز توسعه شمال', - 'کشاورزی ودامپروری بینالود', - 'سرمايه گذاري ساختمان ايران – هلدينگ', - 'کشاورزی ودامپروری دشت نوین ملایرا', - 'سرمايه گذاري سايپا', - 'کشاورزی ودامپروری یاسوج', - 'سرمايه گذاري سپه', - 'کشت و دام قیام اصفهان', - 'سرمايه گذاري صندوق بازنشستگي كشوري', - 'کشت وصنعت سبز پاسارگاد', - 'سرمايه گذاري صنعت بيمه', - 'گسترش صنايع و خدمات کشاورزي', - 'سرمايه گذاري صنعت ومعدن', - 'مجتمع دامداری بیجین', - 'سرمايه گذاري گروه صنايع بهشهر ايران', - 'مجتمع شیر و گوشت مهدشت', - 'سرمايه گذاري گروه صنعتي رنا', - 'مگسال', - 'سرمايه گذاري معيار صنعت پارس', - 'کشت وصنعت پیوند هراز', - 'سرمايه گذاري ملت', - 'گروه محصولات فلزي', - 'سرمايه گذاري ملي ايران', - 'صنعتی گام اراک', - 'سرمايه گذاري نيرو', - 'آریا بارون توس', - 'سرمايه گذاري هامون کيش', - 'پودر جوش ایران', - 'سرمایه گذاری اعتماد جم', - 'تولیدی و صنعتی الکترود یزد', - 'سرمایه گذاری اقتصاد نوین', - 'جوش و اکسیژن ایران', - 'سرمایه گذاری ایساتیس پویا', - 'دژپاد', - 'سرمایه گذاری پارس آریان', - 'سولیران', - 'سرمایه گذاری توسعه و عمران استان اردبیل-سبلان سبز', - 'صنايع مفتولي زنجان', - 'سرمایه گذاری دارویی تامین', - 'صنایع آذرآب', - 'سرمایه گذاری دانایان پارس', - 'صنایع استیل البرز', - 'سرمایه گذاری سروش یاران', - 'صنایع بسته بندی ایران', - 'سرمایه گذاری صندوق بازنشستگی کارکنان بانک ها', - 'صنایع بسته بندی مشهد', - 'گسترش سرمايه گذاري ايران خودرو', - 'صنایع فلزی کوشا', - 'گسترش سرمایه گذاری ایرانیان', - 'صنعتی آما', - 'مديريت سرمايه گذاري اميد', - 'صنعتی جام دارو', - 'نیرو سرمایه', - 'لامیران – تیغ ایران', - 'هلدینگ توسعه معادن و صنایع معدنی خاور میانه -میدکو', - 'آونگان', - 'ملی نفت ایران', - 'پارس متال', - 'مديريت سرمايه برنا', - 'پایساز', - 'سرمايه گذاري بوعلي', - 'توسعه و گسترش صنایع بسته بندی فلزی', - 'سرمايه گذاري سمند', - 'تولیدی ابزار مهدی', - 'سرمايه گذاري صنايع پتروشيمي', - 'گسترش صنایع انرژی آذرآب', - 'سرمايه گذاري كار آفرين', - 'صنایع فلزی ایران', - 'سرمايه گذاري نفت قشم', - 'صنعتی کاوه', - 'سرمایه گذاری پویا همگام', - 'صنعتی ملایر', - 'سرمایه گذاری توسعه  الوند غدیر', - 'بسته بندي البرز', - 'گروه فعاليتهاي پشتيباني و حمل و نقل', - 'گروه حمل و نقل، انبارداری و ارتباطات', - 'خدمات دريايي تايدواترخاورميانه', - 'بنیادبارانداز', - 'گروه توليدات پتروشيمي', - 'توکا ریل', - 'پترو شیمی لاله', - 'حمل و نقل آشنا راه سماء', - 'پتروشيمي آبادان', - 'حمل و نقل بین المللی خلیج فارس', - 'پتروشيمي اراك-پتروشیمی شازند', - 'حمل و نقل پتروشیمی', - 'پتروشيمي اصفهان', - 'حمل و نقل توکا', - 'پتروشيمي شيراز', - 'گروه فرآورده هاي نفتي كك و سوخت هسته اي', - 'پتروشیمی  پردیس', - 'پالايشگاه نفت تبريز', - 'پتروشیمی  زاگرس', - 'پالایش نفت آبادان', - 'پتروشیمی امیرکبیر', - 'پالایش نفت بندر عباس', - 'پتروشیمی بندر امام', - 'پالایش نفت تهران', - 'پتروشیمی بیستون', - 'پالایش نفت لاوان', - 'پتروشیمی تند گویان', - 'پالایشگاه نفت شیراز', - 'پتروشیمی جم', - 'تجهيز نيروي زنگان', - 'پتروشیمی جهرم', - 'خدمات حفاری صنایع نفت', - 'پتروشیمی خارک', - 'نفت ایرانول', - 'پتروشیمی خراسان', - 'نفت بهران', - 'پتروشیمی رجال', - 'نفت پارس', - 'پتروشیمی فن آوران', - 'نگین فخر آذربایجان', - 'پتروشیمی مارون', - 'توسعه نفت وگاز مپنا', - 'پتروشیمی مبین', - 'تولیدی مخازن گاز طبیعی آسیا ناما', - 'صنایع پتروشیمی کرمانشاه', - 'گروه كاشي و سراميك', - 'پتروشيمي اروند', - 'پارس سرام', - 'پتروشيمي برزويه', - 'تولید سرام دیر گداز', - 'پتروشيمي فجر', - 'تولیدی توس چینی', - 'مديريت توسعه صنايع پتروشيمي', - 'تولیدی گرانیت بهسرام', - 'پتروشيمي بوعلي سينا', - 'سرامیک طوس', - 'پتروشيمي بين الملل', - 'صنایع چینی زرین ایران', - 'پتروشيمي خوزستان', - 'صنایع کاشی اصفهان', - 'پتروشيمي پارس', - 'صنایع کاشی تیما', - 'اوره و ؛آمونیک پتروشیمی زنجان', - 'صنایع کاشی نائین', - 'پتروشيمي فسا', - 'صنایع کاشی و سرامیک الوند', - 'پتروشیمی داراب', - 'کارخانجات کاشی و سرامیک حافظ', - 'پتروشیمی سرمایه گذاری ایرانیان', - 'کارخانه چینی ایران', - 'پتروشیمی لردگان', - 'کاشی بیستون', - 'پتروشیمی ممسنی', - 'کاشی پارس', - 'خاک طلایی توس', - 'کاشی تکسرام', - 'شهرک صنعتی پتروشیمی زنجان', - 'کاشی فیروزه مشهد', - 'صنايع پتروشيمي دهدشت', - 'کاشی کرد', - 'صنایع پتروشیمی تخت جمشید', - 'کاشی نیلو', - 'صنایع پتروشیمی زنجان', - 'کاشی و سرامیک سعدی', - 'گروه انبوه سازي، املاك و مستغلات', - 'کاشی و سرامیک سینا', - 'آ س پ', - 'گلسار فارس', - 'آذر توسعه مسکن', - 'گروه شركتهاي چند رشته اي صنعتي', - 'بين المللي توسعه ساختمان', - 'سرمايه گذاري غدير', - 'پارس مسکن خزر', - 'سرمایه گذاری گروه توسعه ملی(سرمایه گذاری بانک ملی ایران', - 'توسعه ساختمان خوارزمي', - 'گروه ساير وسايل حمل و نقل', - 'توسعه صنعت ساختمان غدیرخوزستان', - 'سرمايه گذاري اعتباري ايران', - 'زرین بنا پارسیان', - 'گروه ساخت راديو، تلويزيون و دستگاهها و وسايل ارتباطي', - 'ساختمان اصفهان', - 'آريا الكترونيك ايران', - 'ساختماني برج ناهيد', - 'پارس الكتريك', - 'سامان گستر اصفهان', - 'شهاب', - 'سرمايه گذاري توسعه شهري توس گستر', - 'صنايع مخابراتي راه دور ايران', - 'سرمايه گذاري توسعه وساختماني برج آوران', - 'فن آوران انیاک', - 'سرمايه گذاري ساختمان نوین', - 'كارخانجات صنعتي پيام', - 'سرمايه گذاري شاهد', - 'كارخانجات مخابراتي ايران', - 'سرمايه گذاري و توسعه خوزستان', - 'مرکز ماشینهای اداری ایران', - 'سرمایه گذاری مسکن تهران', - 'گروه محصولات چوبي', - 'سرمایه گذاری مسکن شمال شرق', - 'ایزوفام', - 'شهرسازی و خانه سازی باغ میشه', - 'توليد فيبر ايران', - 'صبا آرمه', - 'صنايع چوب خزر کاسپين', - 'طرح ساختمان پارسا', - 'نئوپان 22 بهمن', - 'عمران و توسعه شاهد', - 'سخت آژند', - 'گروه شرکت های مشاوره تبلیغاتی', - 'موسسه پویندگان توسعه پارس', + "گروه سیمان", + "گروه فلزات اساسي", + "ایران گچ", + "آلومتك", + "ساروج بوشهر", + "آلومينيوم ايران", + "سيمان  ساوه", + "ایران ذوب", + "سيمان اردبيل و آهك آذرشهر", + "پارس مولیبدن", + "سيمان اروميه", + "ذوب روی اصفهان", + "سيمان اصفهان", + "صنايع مس شهيد باهنر", + "سيمان ايلام", + "صنایع خالص سازان روی زنجان", + "سيمان بجنورد", + "صنعتی و سرمایه گذاری سپنتا", + "سيمان بهبهان", + "كالسيمين", + "سيمان تهران", + "گروه كارخانه هاي توليدي نورد آلومينيوم", + "سيمان خاش", + "ملي سرب و روي ايران", + "سيمان خزر", + "ملی صنایع مس ایران", + "سيمان داراب", + "آلومراد", + "سيمان دورود", + "آلومينيوم المهدي", + "سيمان سفيدني ريز", + "آلومينيوم پارس", + "سيمان شاهرود", + "کارخانجات تولیدی مواد الومینیوم", + "سيمان شرق", + "مجتمع ذوب و احیای روی قشم", + "سيمان شمال", + "مجتمع صنايع الومينيوم جنوب", + "سيمان صوفيان", + "مس تکنار", + "سيمان غرب", + "گروه کانی های فلزی", + "سيمان فارس", + "آلوميناي ايران", + "سيمان قاين", + "تهيه و توليد مواد اوليه فولاد خراسان", + "سيمان كارون", + "سنگ آهن مركزي ايران", + "سيمان كرمان", + "هرمز انرژی", + "سيمان مازندران", + "واحد طلای موته", + "سيمان هرمزگان", + "واحد پیربکران", + "سيمان هگمتان", + "واحد فسفات اسفردی", + "سیمان خوزستان", + "واحد نخلک", + "سیمان دشتستان", + "ويتانا", + "سیمان زابل", + "گروه صنایع غذایی", + "سیمان فارس نو", + "کشاورزی و تحقیقاتی نوین زعفران", + "سیمان لار سبزوار", + "گلستان", + "سیمان لارستان", + "آرد زر", + "سیمان لامرد", + "اروم آدا", + "سیمان مجد خواف", + "ایران گلاب مرغوب", + "سیمان ممتازان کرمان", + "بيسكوئيت گرجي", + "فراورده سیمان شرق", + "تحول چاشنی توس", + "گچ ماشيني فارس", + "تهیه و بسته بندی خشکبار آرات", + "سیمان آذر آبادگان خوی", + "توسعه کشت ذرت", + "سیمان بوهروک یزد", + "تولیدی آرد البرز", + "سیمان جوین", + "تولیدی زعفران سحرخیز", + "سیمان قشم", + "خوراك دام پارس", + "سیمان کردستان", + "دشت مرغاب", + "گچ تهران", + "روغن نباتي پارس", + "گروه فولاد", + "روغن نباتي جهان", + "پلی ران اتصال", + "روغن نباتی گلناز", + "توليدی لوله هاي پلي اتيلن دوجداره بوشهر", + "روغنکشی خرمشهر", + "تولید لوله و پوشش سلفچگان", + "زر ماکارون", + "سلفچگان", + "سالمين", + "ذوب آهن اصفهان", + "سپتیکو", + "ساخته های فلزی اصفهان", + "سحر همدان", + "صنايع فرو آلياژ ايران", + "سقزسازی کردستان", + "صنايع گالوانيزه فجر سپاهان", + "شاد گل نیشابور", + "صنایع فولاد آلياژي يزد", + "شهد ايران", + "فولاد اکسین خوزستان", + "صنایع غذایی مینو شرق", + "فولاد آلیاژی ایران", + "صنعتي  پارس مينو", + "فولاد خوزستان", + "صنعتي مينو خرم دره", + "فولاد صنعت مهدی", + "فراورده های سیب زمینی پریس اصفهان", + "فولاد مباركه اصفهان", + "فرآورده های گوشتی تهران", + "کارخانجات نورد لوله یاران", + "كشت و صنعت پياذر", + "کاوه کشاورز", + "كيوان", + "گروه صنعتي سپاهان", + "کشت و صنعت اشراق", + "لوله و پروفیل سپنتا تهران", + "کشت و صنعت قطران گل ایران", + "لوله و ماشين سازي ايران", + "کشت وصنعت روژین تاک", + "مجتمع فولاد خراسان", + "کشتارگاه صنعتی طیور سپیدان آمل", + "میراب پروفیل", + "گروه توليدي مهرام", + "نورد و توليد قطعات فولادي", + "گلوكوزان", + "نورد و لوله صفا", + "مارگارين", + "نوین آلیاژسمنان", + "مجتمع صنایع غذایی بهپودر اصفهان", + "فولاد آذربايجان", + "مجتمع كشت و صنعت چين چين", + "فولاد افزا سپاهان", + "مجتمع کارخانجات سوربن شمال", + "گروه ملي صنعتي فولاد ايران", + "مرغ اجداد زربال", + "پروفيل صنعت جنوب", + "شوكو پارس", + "صبا فولاد خلیج فارس", + "آرد تجارت", + "فولاد تربت حیدریه", + "بهپاك", + "لوله و تجهيزات سديد", + "پيچك", + "نورد لوله اهواز", + "توسعه کشت و صنعت ملی ( كشت و صنعت گرگان )", + "نورد و پروفيل پارس", + "فراورده هاي غذائي مشهد", + "گروه پیمانکاری صنعتی", + "گروه معادن", + "احداث صنعت", + "معدن کاران انگوران", + "گروه ساخت قطعات خودرو", + "باما", + "تولید موتور های دیزل ایران", + "تامين ماسه ريخته گري", + "اگزوز خودرو خراسان", + "تامین مواد اولیه فولاد صبا نور", + "الكتريك خودرو شرق", + "توسعه معادن روي ايران", + "آهنگري تراكتورسازي ايران", + "توليد فروموليبدن كرمان", + "اورند پلاستیک", + "تولیدی آذر سنگ سرخ", + "ايران دوچرخ", + "جهاد نصر سیرجان", + "پلاسكو كار سايپا", + "حفاری ایراندشت کاشان", + "توليد محورخودرو", + "ذوب وروی بافق", + "توليدي قطعات محوري خراسان", + "زرین معدن آسیا", + "تولیدی صنعتی لنت پارس", + "زغال سنگ نگين طبس", + "چرخشگر", + "زنجان برنز", + "رادياتور ايران", + "سرمایه گذاری توسعه معادن کوثر", + "ريخته گري تراكتورسازي ايران", + "سنگ آهن شرق", + "رينگ سازي مشهد", + "سنگ آهن گل گهر", + "ریخته گری آلومینیوم ایران خودرو", + "سنگاب آذرشهر", + "ساخت و نصب صنعتی البرز", + "سنگاب همدان", + "سازه پويش", + "سوژميران", + "سايپا آذين", + "سولفاتيک", + "سایپا پرس", + "شن سازان هراز", + "سیبا موتور", + "صنعت روی زنگان", + "شمیم پژوهش", + "صنعتي و معدني شمال شرق شاهرود", + "صنايع ريخته گري ايران", + "فراوري مواد معدني ايران", + "صنایع ریخته گری پرلیت آسیا", + "فرو سيليس ايران", + "صنایع نوید موتور", + "مجتمع معادن سنگ چینی نی ریز", + "صنعتي نيرو محركه", + "معادن بافق", + "صنعتی صبوران پلیمر", + "معادن سنگ اهن احیاء سپاهان", + "فنر سازی زر گلپايگان", + "معادن منگنز ايران", + "فنرسازي خاور", + "معدن کار باختر", + "فنرسازي زر", + "معدني دماوند", + "كاربراتور ايران", + "معدني و صنعتي چادرملو", + "كارخانجات كمك فنر ايندامين سايپا", + "معدنی و فرآوری سرمه فیروزآباد", + "کابل خودرو سبزوار", + "ندای رهاوی", + "کلاچ سازی شایان صنعت", + "زغال سنگ البرز شرقی", + "گیربکس سایپا", + "زغال سنگ البرز مرکزی", + "لنت ترمز ايران", + "زغال سنگ کرمان", + "ماشین سازی فراگیر سپنتا", + "فرآوري معدني اپال کاني پارس", + "مجتمع صنعتی سپاهان باطری", + "گروه توسعه معادن روی ایران", + "محورسازان ايران خودرو", + "گروه قند و شکر", + "مهركام پارس", + "سهامی عام شهد – قند خوی", + "مهندسي نصير ماشين", + "شکر شاهرود", + "موتورسازان تراكتورسازي ايران", + "صنعتی کشاورزی شیرین خراسان", + "نیروسازاراک‎", + "فرآورد ه هاي غذايي و قند پيرانشهر", + "یسکو", + "فراورده هاي غذايي و قند تربت جام", + "گروه انتشار، چاپ و تكثير", + "فرآورده هاي غذايي و قند چهارمحال", + "افست", + "قند اصفهان", + "گروه خدمات فنی و مهندسی", + "قند ثابت خراسان", + "ملی ساختمان", + "قند شيروان قوچان وبجنورد", + "مهندسی فرا نیرو", + "قند قهستان", + "آبادراهان پارس", + "قند لرستان", + "احداث تاسیسات انتقال نیرو – اتانیر", + "قند مرودشت", + "آذرپاسیلو", + "قند نقش جهان", + "ارسا ساختمان", + "قند نيشابور", + "آفرینه طوس", + "قند هكمتان", + "اهرام فناوری قدرت", + "کارخانجات قند قزوین", + "ایریتک", + "قند بيستون", + "بازرسي مهندسي و صنعتي ايران", + "قند پارس", + "تجهیزات و خدمات صنایع آب و برق ایران – صانیر", + "گروه رایانه و فعالیتهای وابسته به آن", + "تکنیک", + "ایران ارقام", + "توسعه ساخت و نصب صنايع بتني و فلزي گسترش مانا ساز آبيک", + "تجارت الكترونيك پارسيان", + "جنرال مکانیک", + "توسعه سازه پایه فن آوا", + "حفاری شمال", + "توسعه فناوری اطلاعات خوارزمی", + "خدمات مهندسی ساختمان تاسیسات راه آهن", + "تینا سامانه", + "خدماتي تجهيزات سنگين همگام", + "داده پردازي خوارزمي", + "راهبران فولاد اصفهان", + "داده پردازی ایران", + "راهسازی و ساختمانی 115", + "داده پردازی فن آوا", + "ره  گستر نفت", + "داده سامانه فن آوا", + "صنعتی دریایی ایران – صدرا", + "فن آوا کارت", + "فراب", + "کارت اعتباری ایران کیش", + "کیسون", + "گسترش الکترونیک مبین ایران", + "معماران پارس صنعت", + "خدمات انفورماتیک", + "مهام شرق", + "گروه وسايل اندازه گيري، پزشكي و اپتيكي", + "مهندسان مشاور سازه", + "مهندسی فرسار تجارت", + "مهندسي و نصب فيرمکو پارس", + "پویندگان راه سعادت", + "مهندسي وتحقيقاتي فلزات غيرآهنی", + "كنتور سازي ايران", + "مهندسی و پشتیبانی نیروگاهی البرز توربین", + "گروه ماشين آلات و تجهيزات", + "موننکو ایران", + "مارال صنعت جاوید", + "نصب نیرو", + "ماشین رول", + "خدمات ماشینی کشتیرانی", + "افرند کالا سازه", + "گسترش صنايع وخدمات", + "آلفا پاک ایران", + "گروه لوازم خانگي", + "بلبرينگ ايران", + "لعران", + "بهسازان غلطک فولاد اصفهان", + "ارج", + "پارس بوشونگ", + "آیسان خزر", + "پاریزان صنعت", + "پارس خزر", + "پمپ سمنان انرژی", + "تولیدی و صنعتی نیک کالا", + "تراكتور سازي ايران", + "صنايع سرماآفرين قشم", + "تراکتور سازی کردستان", + "صنعتي جنرال", + "تسهیل ماشین صنعت", + "كارخانجات آبسال", + "توليد تجهيزات سنگين هپكو", + "كارخانجات لوازم خانگي پارس", + "توليدي پمپ پارس", + "کارخانجات پارس ماشین", + "توليدي تجهيزات ايمني راهها", + "گروه صنعتي بوتان", + "تیراژه ماشین", + "لوازم خانگی نانیوا", + "دلتا راه ماشین", + "توليدي كولر گازي ايران", + "رهشاد سپاهان", + "جام جهان نما", + "ساخت تجهيزات سپاهان", + "كارخانجات صنعتي آزمايش", + "سوت ماشین", + "گروه پلاستيك", + "صنايع پمپ سازي ايران", + "یزد بسپار", + "صنايع سرما آفرين", + "آرتا پلاست", + "صنایع پمپ ابارا", + "پلاستيران", + "صنعتی هلی خودرو", + "پلاستيکهاي مهندسي درخشان ساز", + "طراحي مهندسي وساخت تجهيزات وابزارآلات سايپا", + "توليدي پلاستيك شاهين", + "فولادريزي قائم سپهر سپاهان", + "توليدي گاز لوله", + "کالای پمپ", + "توليدي و صنعتي درخشان تهران", + "ماشين سازي اراك", + "جوی گستر نفت", + "ماشين سازي نیرو محركه", + "صنايع لاستيك سهند", + "مهندسي تكنو تار", + "كارخانجات توليدي تهران", + "مهندسي و توليد ماشين آلات راهسازي و معدني کشاورزي هپکو اراک", + "توليدي وصنعتي ايران وغرب", + "مهندسي و ساختمان ماشين سازي اراک", + "لوله سازي اهواز", + "مهندسي و قطعات ماشين آلات راه سازي ايران", + "گروه مبلمان و مصنوعات ديگر", + "مهندسی فیروزا", + "عايق پلاستيك", + "مهندسی و ساخت بویلر مپنا", + "تجهيزات مدارس ايران", + "هوا ابزار تهران", + "صنعتی جهان چیدمان-جلیس", + "اشتهاد موتورز", + "گروه محصولات شيميايي", + "كارخانجات صنعتي  و توليدي اتمسفر", + "احسان شیمی استهبان", + "كمپر سور سازي ايران", + "آریا رزین", + "ليفتراك سازي سهند", + "الکترو زر سازه", + "فرتاک ماشین", + "ایمن تاش سپاهان", + "کمباین سازی ایران", + "بردار شیب", + "ماشين آلات صنعتي تراكتور سازي ايران", + "بين المللي محصولات پارس", + "صنايع توليدي اشتاد ايران", + "بين المللي سارنگ تدارك", + "پروفيل و يخچال ايران پويا", + "پارس زئولايت", + "توليدي بهمن", + "پارسیان پارت پاسارگاد", + "گروه محصولات كاغذي", + "پاكسان", + "بسته بندي پارس", + "پاکنام", + "صنايع كاغذ سازي كاوه", + "پالایش قطران ذغالسنگ اصفهان", + "صنایع چوب و کاغذ مازندران", + "توکا رنگ فولاد سپاهان", + "كارتن البرز", + "تولي پرس", + "كارتن ايران", + "توليد سموم علف كش", + "کارتن مشهد", + "تولید مواد اولیه الیاف مصنوعی", + "محصولات کاغذی لطیف", + "تولیدی و صنعتی  فراسان", + "كارتن پارس", + "تولیدی و صنعتی سامد", + "گروه منسوجات", + "تولیدی وصنعتی خودرنگ", + "ايران برك", + "حباب کف توس", + "توليدي بافت آزادي", + "داروئي ارايشي وبهداشتي مينو", + "وطن اصفهان", + "دنیای آرایش", + "ريسندگي و با فندگي كاشان", + "دوده صنعتي پارس", + "ريسندگي و بافندگي پاكريس", + "رزیتان", + "ريسندگي و بافندگي ري", + "ریف ایران", + "فرش پارس", + "سامان شیمی", + "گردباف يزد", + "سرمايه گذاري صنايع شيميايي ايران", + "گروه صنعتي نقش ايران", + "شيمي بافت", + "نساجي بابكان", + "شيميايي پارس پامچال", + "نساجي خوي", + "شيميايي فرآورد قشم", + "نساجي غرب", + "شیمیایی بهداد", + "نساجي قائم شهر", + "شیمیایی بهداش", + "نساجي مازندران", + "شیمیایی و تولیدی رزپلیمر", + "وطن اصفهان", + "صنايع شيميايي رنگين", + "يزد باف", + "صنايع شيميايي سينا", + "صنايع نساجي ايران", + "صنايع شيميايي فارس", + "گروه بانك ها، موسسات اعتباري و ساير نهادهاي مالي", + "صنایع بهداشتی ساینا", + "بانك اقتصاد نوين", + "صنایع رنگ و رزین طیف سایپا", + "بانك پارسيان", + "صنایع شیمی ساختمان آباد گران", + "بانك سامان", + "فراپاکس شیراز", + "بانك كارآفرين", + "كربن ايران", + "بانک انصار", + "كف", + "بانک ایران زمین", + "کلر پارس", + "بانک پاسارگاد", + "گلتاش", + "بانک تجارت ایران", + "لابراتوارهای داروهای گیاهی طبیعت زنده", + "بانک حکمت ایرانیان", + "لعاب مشهد", + "بانک دی", + "لعابيران", + "بانک سرمایه", + "مجتمع صنایع شیمیایی پلیمر ایران", + "بانک سینا", + "مديريت صنعت شوينده توسعه صنايع بهشهر", + "بانک شهر", + "مروارید هامون", + "بانک صادرات ایران", + "معدني املاح ايران", + "بانک گردشگری", + "ملي شيمي كشاورز", + "بانک ملت", + "من", + "پست بانک", + "نيرو كلر", + "بانک تات", + "الياف", + "بانک کشاورزی", + "پارسيلون", + "گروه واسطه گري هاي مالي", + "توليدي  الياف پلي  پروپيلين  بنياد", + "رايان سايپا", + "صنايع تبديلي گلستان", + "سپرده گذاری مرکزی اوراق بهادار و تسویه وجوه", + "كارخانجات توليدي سوپر رنگ", + "ليزينگ آريادانا", + "صنايع رنگ پارس الوان", + "ليزينگ ايران", + "گروه مواد و محصولات دارويي", + "ليزينگ خودرو غدير", + "آفا شیمی", + "ليزينگ صنعت و معدن", + "البرز دارو", + "ليزينگ ماشين الات سنگين ايرانيان", + "ايران دارو", + "لیزینگ اقتصاد نوین", + "پارس دارو", + "لیزینگ رازی", + "تحقیقاتی و تولیدی سیناژن", + "لیزینگ ماشین آلات و تجهیزات پاسارگاد", + "تهران دارو", + "لیزینگ ایرانیان", + "تهران شيمي", + "لیزینگ شهر – لیزینگ سامان آریا", + "توليد ژلاتين کپسول ايران", + "گروه توزیع برق", + "توليد مواد اوليه دارو پخش", + "توزیع برق بوشهر", + "تولید مواد دارویی درسا دارو", + "توسعه برق شمال افشان گستر", + "داروسازي اسوه", + "صنايع برق زنگان پارس", + "داروسازي اكسير", + "گهر انرژي سيرجان", + "داروسازي امين", + "برق و انرژی صبا", + "داروسازي جابرابن حيان", + "گروه شرکتهای بازرگانی", + "داروسازي حكيم", + "اتصال استیل هما", + "داروسازي دكتر عبيدي", + "اسپرلوس اهورا", + "داروسازي روزدارو", + "افزار پرداز رمیس", + "داروسازي زهراوي", + "الهام بیسان", + "داروسازي فارابي", + "ایمان تجارت روشن", + "داروسازي كوثر", + "بازرگاني پتروشيمي", + "داروسازی بهوزان", + "بازرگانی ارمغان مهر سیرت", + "داروسازی تولید دارو – سهامی خاص", + "بازرگانی ایران ترانسفو", + "داروسازی دانا", + "بازرگانی بین المللی استوان سپند", + "داروسازی شهید قاضی تبریز", + "بازرگانی پارس ماهان آسیا", + "داروسازی گیلارانکو", + "بازرگانی پتروشیمی زنجان", + "داروئي و بهداشتي لقمان", + "بازرگانی تبادل و تدارک کالا", + "داملران", + "بازرگانی صبا بیمه ایرانیان", + "سينا دارو", + "بازرگانی مبین تجارت غرب", + "شيمي دارويي داروپخش", + "بازرگانی نفت یاب", + "صنعتي كيميدارو", + "بازرگانی،صنعتی بهشت پارس", + "فارما شیمی", + "بهترین های پزشکی پارس", + "فراورده هاي تزريقي ايران", + "پارس بازرگان", + "كارخانجات دارو پخش", + "پارس گستر مینو", + "لابراتورهای دارویی رازک", + "پديده گستران غرب", + "مواد اولیه دارویی تهران شیمی", + "تجارت گستران خوارزمي", + "داروسازی سبحان انکولوژی", + "تجاری و بازرگانی مواد معدنی میناب", + "سرمايه گذاري البرز", + "تجهیز یاران", + "شيرين دارو", + "تهیه و تولید خاک نسوز استقلال آباده", + "گروه دارویی سبحان", + "توسعه صنايع غذايي بم", + "گروه خودروسازی", + "توسعه و تجارت بین المللی صبا", + "ايران خودرو", + "توسعه و تجارت ماتریس", + "ايران خودروديزل", + "جهان فعالیت", + "ایران خودرو تبریز", + "خشکبار دست چین", + "ایران خودرو خراسان", + "داده های رسا", + "ایران خودرو مازندران", + "دانیال کار", + "بهمن دیزل", + "درمان یار آنی", + "پارس خودرو", + "راسن درمان", + "تولیدی و صنعتی عقاب افشان", + "رویال پیشگام شرق", + "زامياد", + "سامان بارز", + "سايپا", + "سیاحان سپهر آسیا", + "سايپاديزل", + "صخره سنگی فرزین", + "سایپا کاشان", + "صنایع نئون پرس", + "گروه بهمن", + "فانوس دشت تجارت", + "بنيان ديزل", + "کیا مهستان", + "توليدي مرتب", + "کیمیا آرا هرم", + "گروه محصولات لبني", + "گسترش تجارت کالای ایرانیان", + "پاک پی", + "مديريت و ساخت طرحهاي نفت گستر", + "تولید فرآورده های لبنی کاله", + "مهر اسپند پویا", + "شير پاستوريزه پگاه اصفهان", + "مهندسی بازرگانی درداران سریر", + "شير پاستوريزه پگاه خراسان", + "نویان بسپار", + "شير پگاه آذربايجان غربي", + "نیکان شهد بارز", + "صنايع شير ايلام زاگرس", + "گروه هولدینگ", + "فراورده هاي لبني پاکسار ساري", + "توسعه صنايع بهشهر – هلدينگ", + "لبنيات پاستوريزه پاك", + "داروپخش – هلدينگ", + "لبنيات كالبر", + "راه آهن جمهوری اسلامی ایران", + "لبنیات پاستوریزه پاک آرا سنندج", + "سرمايه گذاري توسعه معادن و فلزات", + "گروه منسوجات و فرش بافی", + "سرمايه گذاري توكا فولاد – هلدينگ", + "ابهر ریس", + "سرمايه گذاري صنعت نفت – هلدينگ", + "ايران پوپلين", + "سرمایه گذاری گروه صنعتی ملی", + "ايران مرينوس", + "گروه صنعتي سديد – هلدينگ", + "بافتینه", + "گروه صنعتي قطعات اتومبيل ايران", + "پشمبافي توس", + "گروه صنعتي ناب", + "پلي اكريل ايران", + "گسترش نفت و گاز پارسیان", + "تمدن فرش کاشان", + "مدیریت پروژه های نیروگاهی ایران – مپنا", + "تولیدی پارس دکور", + "هلدینگ توسعه معادن و صنایع معدنی خاورمیانه", + "تولیدی پارس نخ", + "هلدینگ دامپروری شیروگوشت پارس", + "تولیدی پینک", + "سرمايه گذاري بانك ملي ايران – هلدينگ", + "تولیدی و صنعتی پارس تکمیل", + "صنعتي بهشهر", + "تولیدی و صنعتی رسول اصفهان", + "گروه بنادر ودریانوردی", + "شبنم باف", + "پایانه ها و مخازن پتروشیمی", + "صنایع موکت همدان", + "خدمات دریایی و بندری کاوه", + "صنایع نخ خمین", + "گروه گاز", + "صنایع نساجی همدانیان", + "گاز اصفهان", + "ظریف مصور", + "ملی گاز", + "فرش مشهد", + "گاز خراسان جنوبی", + "فرش نگین مشهد", + "گروه آشامیدنی ها", + "کارخانجات ریسندگی نطنز", + "آب معدنی دماوند", + "مخمل و ابريشم كاشان", + "آذر شهد ارومیه", + "موکت نگین مشهد", + "بهنوش ايران", + "نساجي بروجرد", + "پیمان فردان", + "نساجی کویر سمنان", + "تولیدی نوشابه ارم نوش", + "صنايع نساجي ايران", + "زمزم آذربایجان", + "گروه حمل و نقل دریایی و حمل و نقل آب های ساحلی", + "زمزم اصفهان", + "حمل و نقل ترکیبی کشتیرانی جمهوری اسلامی", + "زمزم تهران", + "حمل و نقل خدمات دریایی آبادان", + "زمزم رشت", + "خدمات دریایی و کشتیرانی خط دریا بندر", + "زمزم گرگان", + "دريابان جنوب ايران", + "شهداب", + "کشتیرانی آریا", + "فرآورده های نوشیدنی تسنیم نوش", + "کشتیرانی جمهوری اسلامی ایران", + "نوش مازندران", + "کشتیرانی والفجر", + "ساسان", + "گروه خدمات فنی-مهندسی خودرو", + "گروه تایر سازی", + "امداد خودرو ایران", + "ایران یاسا", + "امداد خودرو سایپا", + "بید وایر ایران", + "بازرسی فنی و کنترل خوردگی تکین کو", + "توليدي ايران تاير", + "گواه", + "توليدي لاستيکهاي صنعتي مبارکه", + "مزدا یدک", + "کویر تایر", + "مهندسی و مشاور سازه گستر سایپا", + "لاستيك دنا", + "خدمات کمات ماشین شرق", + "لاستیک بارز", + "گروه فرهنگی و گردشگری", + "8", + "لاستیک پارس", + "تجارت توسعه گردشگري آتيه انديشان", + "مجتمع صنايع لاستيك يزد", + "توسعه گردشگري کاروانسراي پارس", + "مجتمع صنعتي آرتاويل تاير", + "گروه سرمايه گذاري ميراث فرهنگي و گردشگري ايران", + "توليدي لاستيك البرز – كيان تاير", + "مجتمع توريستي، رفاهي آبادگران ايران", + "گروه شرکتهای مشاوره", + "گروه كاني های غير فلزي", + "irpmc", + "آجر نسوز امين آباد", + "بودجه irpmc", + "آذريت", + "همکاران سیستم اردبیل", + "ايتالران", + "همکاران سیستم البرز", + "ايرانيت", + "همکاران سیستم پناه شرق", + "پرمیت", + "همکاران سیستم خراسان جنوبی", + "پشم شیشه ایران", + "7", + "همکاران سیستم خراسان رضوی", + "تولیدی و صنعتی آبگینه", + "همکاران سیستم خوزستان", + "خاك چيني ايران", + "همکاران سیستم زنجان", + "زرین شیشه مرکزی", + "همکاران سیستم فارس", + "سایپا شیشه", + "همکاران سیستم قزوین", + "سراميك هاي صنعتي اردكان", + "همکاران سیستم گیلان", + "شيشه قزوين", + "همکاران سیستم مازندران", + "شيشه همدان", + "گروه ماشين آلات و دستگاههاي برقي", + "شيشه و گاز", + "ايران ترانسفو", + "شیشه داروئی رازی تاکستان", + "ایران ترانسفوی ری", + "فارسيت اهواز", + "پارس سوئيچ", + "فرآورده هاي نسوز پارس", + "تال ایران", + "فرآورده هاي نسوزآذر", + "تامین تابلو", + "فراورده های نسوز ایران", + "تجهیزات انتقال برق پارس", + "كارخانجات توليدي شيشه دارويي رازي", + "ترانسفور ماتور توزیع زنگان", + "كارخانه فارسيت درود", + "تهران پادنا", + "ورزيران", + "توربوژنراتور شاهرود", + "مقره سازی ایران", + "توس فیوز", + "چینی سازی البرز", + "جابون", + "گروه ارتباطات", + "خیام الکتریک", + "ارتباطات فن آوا", + "صنايع جوشكاب يزد", + "ارتباطات کوه نور", + "صنایع کابل سازی افق البرز", + "ارتباطات سیار ایران – همراه اول", + "صنعتی مهندسی پالایش نیرو", + "مخابرات ایران", + "فاراتل", + "گروه شرکت های پخش", + "كابل البرز", + "پخش سراسری کالای کالبر", + "كابل باختر", + "پخش هجرت", + "كابلهاي مخابراتي شهيد قندي", + "توزيع داروهاي دامي داروپخش", + "كارخانجات كابلسازي ايران", + "مهندسي و پشتيباني پخش فرآورده هاي نفتي امين", + "کابل تک", + "گروه بیمه", + "لامپ پارس شهاب", + "بيمه پاسارگاد", + "مازی نور", + "بیمه آسیا", + "مهندسی مپنا مکو", + "بیمه البرز", + "مهندسی و ساخت توربین مپنا توکا", + "بیمه پارسیان", + "مهندسی و ساخت ژنراتور مپنا – پارس", + "بیمه دانا", + "موتوژن", + "بیمه دی", + "نيرو ترانس", + "بیمه نوین", + "پارس نور الکتریک", + "صندوق بیمه سرمایه گذاری فعالیت های معدنی", + "توليدي قوه پارس", + "گروه سرمايه گذاري ها", + "مهندسی و ساخت پره توربين مپنا – پرتو", + "حفیظ سامانه", + "تامین قطعات و تجهیزات سرو نیرو شیراز", + "تکادو", + "صنایع مهتاب خراسان", + "سرمايه گذاري آتيه دماوند", + "صنعتي مهر آباد", + "سرمايه گذاري انديشه محوران", + "گروه كشاورزي ، دامپروري و خدمات وابسته به آن", + "سرمايه گذاري بهمن", + "تلیسه نمونه", + "سرمايه گذاري پارس توشه", + "دانه چین", + "سرمايه گذاري توسعه آذربايجان", + "دامپروری و مرغداری دشت خرمدره", + "سرمايه گذاري توسعه صنعتي ايران", + "دامداری شیر و دام بنیاد", + "سرمايه گذاري توسعه ملي", + "شیر و گوشت زاگرس", + "سرمايه گذاري چشم انداز توسعه شمال", + "کشاورزی ودامپروری بینالود", + "سرمايه گذاري ساختمان ايران – هلدينگ", + "کشاورزی ودامپروری دشت نوین ملایرا", + "سرمايه گذاري سايپا", + "کشاورزی ودامپروری یاسوج", + "سرمايه گذاري سپه", + "کشت و دام قیام اصفهان", + "سرمايه گذاري صندوق بازنشستگي كشوري", + "کشت وصنعت سبز پاسارگاد", + "سرمايه گذاري صنعت بيمه", + "گسترش صنايع و خدمات کشاورزي", + "سرمايه گذاري صنعت ومعدن", + "مجتمع دامداری بیجین", + "سرمايه گذاري گروه صنايع بهشهر ايران", + "مجتمع شیر و گوشت مهدشت", + "سرمايه گذاري گروه صنعتي رنا", + "مگسال", + "سرمايه گذاري معيار صنعت پارس", + "کشت وصنعت پیوند هراز", + "سرمايه گذاري ملت", + "گروه محصولات فلزي", + "سرمايه گذاري ملي ايران", + "صنعتی گام اراک", + "سرمايه گذاري نيرو", + "آریا بارون توس", + "سرمايه گذاري هامون کيش", + "پودر جوش ایران", + "سرمایه گذاری اعتماد جم", + "تولیدی و صنعتی الکترود یزد", + "سرمایه گذاری اقتصاد نوین", + "جوش و اکسیژن ایران", + "سرمایه گذاری ایساتیس پویا", + "دژپاد", + "سرمایه گذاری پارس آریان", + "سولیران", + "سرمایه گذاری توسعه و عمران استان اردبیل-سبلان سبز", + "صنايع مفتولي زنجان", + "سرمایه گذاری دارویی تامین", + "صنایع آذرآب", + "سرمایه گذاری دانایان پارس", + "صنایع استیل البرز", + "سرمایه گذاری سروش یاران", + "صنایع بسته بندی ایران", + "سرمایه گذاری صندوق بازنشستگی کارکنان بانک ها", + "صنایع بسته بندی مشهد", + "گسترش سرمايه گذاري ايران خودرو", + "صنایع فلزی کوشا", + "گسترش سرمایه گذاری ایرانیان", + "صنعتی آما", + "مديريت سرمايه گذاري اميد", + "صنعتی جام دارو", + "نیرو سرمایه", + "لامیران – تیغ ایران", + "هلدینگ توسعه معادن و صنایع معدنی خاور میانه -میدکو", + "آونگان", + "ملی نفت ایران", + "پارس متال", + "مديريت سرمايه برنا", + "پایساز", + "سرمايه گذاري بوعلي", + "توسعه و گسترش صنایع بسته بندی فلزی", + "سرمايه گذاري سمند", + "تولیدی ابزار مهدی", + "سرمايه گذاري صنايع پتروشيمي", + "گسترش صنایع انرژی آذرآب", + "سرمايه گذاري كار آفرين", + "صنایع فلزی ایران", + "سرمايه گذاري نفت قشم", + "صنعتی کاوه", + "سرمایه گذاری پویا همگام", + "صنعتی ملایر", + "سرمایه گذاری توسعه  الوند غدیر", + "بسته بندي البرز", + "گروه فعاليتهاي پشتيباني و حمل و نقل", + "گروه حمل و نقل، انبارداری و ارتباطات", + "خدمات دريايي تايدواترخاورميانه", + "بنیادبارانداز", + "گروه توليدات پتروشيمي", + "توکا ریل", + "پترو شیمی لاله", + "حمل و نقل آشنا راه سماء", + "پتروشيمي آبادان", + "حمل و نقل بین المللی خلیج فارس", + "پتروشيمي اراك-پتروشیمی شازند", + "حمل و نقل پتروشیمی", + "پتروشيمي اصفهان", + "حمل و نقل توکا", + "پتروشيمي شيراز", + "گروه فرآورده هاي نفتي كك و سوخت هسته اي", + "پتروشیمی  پردیس", + "پالايشگاه نفت تبريز", + "پتروشیمی  زاگرس", + "پالایش نفت آبادان", + "پتروشیمی امیرکبیر", + "پالایش نفت بندر عباس", + "پتروشیمی بندر امام", + "پالایش نفت تهران", + "پتروشیمی بیستون", + "پالایش نفت لاوان", + "پتروشیمی تند گویان", + "پالایشگاه نفت شیراز", + "پتروشیمی جم", + "تجهيز نيروي زنگان", + "پتروشیمی جهرم", + "خدمات حفاری صنایع نفت", + "پتروشیمی خارک", + "نفت ایرانول", + "پتروشیمی خراسان", + "نفت بهران", + "پتروشیمی رجال", + "نفت پارس", + "پتروشیمی فن آوران", + "نگین فخر آذربایجان", + "پتروشیمی مارون", + "توسعه نفت وگاز مپنا", + "پتروشیمی مبین", + "تولیدی مخازن گاز طبیعی آسیا ناما", + "صنایع پتروشیمی کرمانشاه", + "گروه كاشي و سراميك", + "پتروشيمي اروند", + "پارس سرام", + "پتروشيمي برزويه", + "تولید سرام دیر گداز", + "پتروشيمي فجر", + "تولیدی توس چینی", + "مديريت توسعه صنايع پتروشيمي", + "تولیدی گرانیت بهسرام", + "پتروشيمي بوعلي سينا", + "سرامیک طوس", + "پتروشيمي بين الملل", + "صنایع چینی زرین ایران", + "پتروشيمي خوزستان", + "صنایع کاشی اصفهان", + "پتروشيمي پارس", + "صنایع کاشی تیما", + "اوره و ؛آمونیک پتروشیمی زنجان", + "صنایع کاشی نائین", + "پتروشيمي فسا", + "صنایع کاشی و سرامیک الوند", + "پتروشیمی داراب", + "کارخانجات کاشی و سرامیک حافظ", + "پتروشیمی سرمایه گذاری ایرانیان", + "کارخانه چینی ایران", + "پتروشیمی لردگان", + "کاشی بیستون", + "پتروشیمی ممسنی", + "کاشی پارس", + "خاک طلایی توس", + "کاشی تکسرام", + "شهرک صنعتی پتروشیمی زنجان", + "کاشی فیروزه مشهد", + "صنايع پتروشيمي دهدشت", + "کاشی کرد", + "صنایع پتروشیمی تخت جمشید", + "کاشی نیلو", + "صنایع پتروشیمی زنجان", + "کاشی و سرامیک سعدی", + "گروه انبوه سازي، املاك و مستغلات", + "کاشی و سرامیک سینا", + "آ س پ", + "گلسار فارس", + "آذر توسعه مسکن", + "گروه شركتهاي چند رشته اي صنعتي", + "بين المللي توسعه ساختمان", + "سرمايه گذاري غدير", + "پارس مسکن خزر", + "سرمایه گذاری گروه توسعه ملی(سرمایه گذاری بانک ملی ایران", + "توسعه ساختمان خوارزمي", + "گروه ساير وسايل حمل و نقل", + "توسعه صنعت ساختمان غدیرخوزستان", + "سرمايه گذاري اعتباري ايران", + "زرین بنا پارسیان", + "گروه ساخت راديو، تلويزيون و دستگاهها و وسايل ارتباطي", + "ساختمان اصفهان", + "آريا الكترونيك ايران", + "ساختماني برج ناهيد", + "پارس الكتريك", + "سامان گستر اصفهان", + "شهاب", + "سرمايه گذاري توسعه شهري توس گستر", + "صنايع مخابراتي راه دور ايران", + "سرمايه گذاري توسعه وساختماني برج آوران", + "فن آوران انیاک", + "سرمايه گذاري ساختمان نوین", + "كارخانجات صنعتي پيام", + "سرمايه گذاري شاهد", + "كارخانجات مخابراتي ايران", + "سرمايه گذاري و توسعه خوزستان", + "مرکز ماشینهای اداری ایران", + "سرمایه گذاری مسکن تهران", + "گروه محصولات چوبي", + "سرمایه گذاری مسکن شمال شرق", + "ایزوفام", + "شهرسازی و خانه سازی باغ میشه", + "توليد فيبر ايران", + "صبا آرمه", + "صنايع چوب خزر کاسپين", + "طرح ساختمان پارسا", + "نئوپان 22 بهمن", + "عمران و توسعه شاهد", + "سخت آژند", + "گروه شرکت های مشاوره تبلیغاتی", + "موسسه پویندگان توسعه پارس", # Source: https://en.wikipedia.org/wiki/List_of_companies_of_Iran - 'شرکت ملی نفت ایران', - 'معادن ایران', - 'سازمان نوسازی', - 'ایران خودرو', - 'امیدان تجارت کیش ', - 'سایپا', - 'مجتمع فولاد مبارکه', - 'بانک پارسیان', - 'بانک سامان', - 'بانک سپه', - 'صنایع پتروشیمی ایران', - 'بانک مسکن', - 'لایف برد پارسه', - 'صنایع پترو شیمی بو علی سینا', - 'فولاد خورستان', - 'ابر موتور', - 'سرمایه‌گذاری بانک ملی', - 'ایران خودرو دیزل', - 'توسعه صنعتی بوشهر', - 'بانک اقتصاد نوین', - 'شرکت زامیاد', - 'صنایع شیر ایران (پگاه)', - 'سرمایه‌گذاری غدیر', - 'ایمیدرو', - 'کارخانجات داروپخش', - 'سایپا دیزل', - 'بانک کارآفرین', - 'معدنی و صنعتی چادرملو', - 'ساخت تأسیسات دریایی ایران', - 'اتکا', - 'گسترش و نوسازی صنایع ایران', - 'تولی‌پرس', - 'هواپیمایی آسمان', - 'سازمان صنایع هوایی ایران', - 'مادیران', - 'پارس آنلاین', - 'شاتل', - 'شرکت مخابرات ایران', - 'ایرانسل', - 'راه‌آهن ایران', - 'هواپیمایی پیام', - 'متروی تهران', - 'شرکت ملی نفت‌کش ایران', - 'پالایش و پخش فراورده‌های نفتی ایران', - 'سازمان انرژی اتمی ایران', - 'صدا و سیما', - 'رجحان', - 'شرکت داده‌پردازی ایران', - 'گروه هتل‌های هما', - 'کیش اورینتال', - 'الک تیک', + "شرکت ملی نفت ایران", + "معادن ایران", + "سازمان نوسازی", + "ایران خودرو", + "امیدان تجارت کیش ", + "سایپا", + "مجتمع فولاد مبارکه", + "بانک پارسیان", + "بانک سامان", + "بانک سپه", + "صنایع پتروشیمی ایران", + "بانک مسکن", + "لایف برد پارسه", + "صنایع پترو شیمی بو علی سینا", + "فولاد خورستان", + "ابر موتور", + "سرمایه‌گذاری بانک ملی", + "ایران خودرو دیزل", + "توسعه صنعتی بوشهر", + "بانک اقتصاد نوین", + "شرکت زامیاد", + "صنایع شیر ایران (پگاه)", + "سرمایه‌گذاری غدیر", + "ایمیدرو", + "کارخانجات داروپخش", + "سایپا دیزل", + "بانک کارآفرین", + "معدنی و صنعتی چادرملو", + "ساخت تأسیسات دریایی ایران", + "اتکا", + "گسترش و نوسازی صنایع ایران", + "تولی‌پرس", + "هواپیمایی آسمان", + "سازمان صنایع هوایی ایران", + "مادیران", + "پارس آنلاین", + "شاتل", + "شرکت مخابرات ایران", + "ایرانسل", + "راه‌آهن ایران", + "هواپیمایی پیام", + "متروی تهران", + "شرکت ملی نفت‌کش ایران", + "پالایش و پخش فراورده‌های نفتی ایران", + "سازمان انرژی اتمی ایران", + "صدا و سیما", + "رجحان", + "شرکت داده‌پردازی ایران", + "گروه هتل‌های هما", + "کیش اورینتال", + "الک تیک", ] - def company(self): + def company(self) -> str: return self.random_element(self.company_names) diff --git a/faker/providers/company/fi_FI/__init__.py b/faker/providers/company/fi_FI/__init__.py index f7b010f2cf..adfecfb686 100644 --- a/faker/providers/company/fi_FI/__init__.py +++ b/faker/providers/company/fi_FI/__init__.py @@ -3,17 +3,23 @@ class Provider(CompanyProvider): formats = ( - '{{last_name}} {{company_suffix}}', - '{{last_name}} {{last_name}} {{company_suffix}}', - '{{last_name}} {{last_name}} {{company_suffix}}', - '{{last_name}}', + "{{last_name}} {{company_suffix}}", + "{{last_name}} {{last_name}} {{company_suffix}}", + "{{last_name}} {{last_name}} {{company_suffix}}", + "{{last_name}}", ) company_suffixes = ( - 'As Oy', 'Tmi', 'Oy', 'Oyj', 'Ky', 'Osk', 'ry', + "As Oy", + "Tmi", + "Oy", + "Oyj", + "Ky", + "Osk", + "ry", ) - def company_business_id(self): + def company_business_id(self) -> str: """ Returns Finnish company Business Identity Code (y-tunnus). Format is 8 digits - e.g. FI99999999,[8] last digit is a check @@ -21,38 +27,40 @@ def company_business_id(self): organizations. This function provides current codes starting with non-zero. """ - def calculate_checksum(number): + + def calculate_checksum(number: str) -> str: """Calculate the checksum using mod 11,2 method""" factors = [7, 9, 10, 5, 8, 4, 2] sum_ = 0 for x, y in zip(number, factors): sum_ = sum_ + int(x) * y if sum_ % 11 == 1: - raise ValueError('Checksum 1 is invalid') + raise ValueError("Checksum 1 is invalid") if sum_ % 11 == 0: - return '0' + return "0" else: return str(11 - sum_ % 11) while True: first_digit = str(self.random_digit_not_null()) - body = first_digit + self.bothify('######') + body = first_digit + self.bothify("######") try: cs = calculate_checksum(body) except ValueError: continue - return body + '-' + str(cs) + return body + "-" + str(cs) - def company_vat(self): + def company_vat(self) -> str: """ Returns Finnish VAT identification number (Arvonlisaveronumero). This can be calculated from company business identity code by adding prefix "FI" and removing dash before checksum. """ - def convert_to_vat(business_id): + + def convert_to_vat(business_id: str) -> str: """ Convert business id to VATIN """ - return 'FI' + business_id.replace('-', '') + return "FI" + business_id.replace("-", "") return convert_to_vat(self.company_business_id()) diff --git a/faker/providers/company/fil_PH/__init__.py b/faker/providers/company/fil_PH/__init__.py index 9a09f07115..01319b35bf 100644 --- a/faker/providers/company/fil_PH/__init__.py +++ b/faker/providers/company/fil_PH/__init__.py @@ -1,4 +1,5 @@ from collections import OrderedDict +from typing import Sequence from ..en_PH import Provider as EnPhProvider @@ -15,71 +16,79 @@ class Provider(EnPhProvider): phrases in pure Filipino randomly alongside the English ones. """ - catch_phrase_formats = OrderedDict([ - ('{{english_catch_phrase}}', 0.64), - ('Ang {{random_noun_ish_good_trait}} ng {{random_object_of_concern}}!', 0.12), - ('Serbisyong {{random_good_service_adjective}} para sa {{random_object_of_concern}}!', 0.12), - ('Kahit kailan, {{random_good_service_adjective_chain}}!', 0.12), - ]) + catch_phrase_formats = OrderedDict( + [ + ("{{english_catch_phrase}}", 0.64), + ( + "Ang {{random_noun_ish_good_trait}} ng {{random_object_of_concern}}!", + 0.12, + ), + ( + "Serbisyong {{random_good_service_adjective}} para sa {{random_object_of_concern}}!", + 0.12, + ), + ("Kahit kailan, {{random_good_service_adjective_chain}}!", 0.12), + ] + ) noun_ish_good_traits = ( - 'bida', - 'ginhawa', - 'haligi', - 'karangalan', - 'lingkod', - 'liwanag', - 'numero uno', - 'pag-asa', - 'tulay', + "bida", + "ginhawa", + "haligi", + "karangalan", + "lingkod", + "liwanag", + "numero uno", + "pag-asa", + "tulay", ) good_service_adjectives = ( - 'bida', - 'dekalidad', - 'hindi umaatras', - 'kakaiba', - 'maasahan', - 'magaling', - 'mapatitiwalaan', - 'numero uno', - 'panalo', - 'tagumpay', - 'tama', - 'tapat', - 'totoo', - 'tunay', - 'walang kapantay', - 'walang katulad', - 'walang tatalo', + "bida", + "dekalidad", + "hindi umaatras", + "kakaiba", + "maasahan", + "magaling", + "mapatitiwalaan", + "numero uno", + "panalo", + "tagumpay", + "tama", + "tapat", + "totoo", + "tunay", + "walang kapantay", + "walang katulad", + "walang tatalo", ) objects_of_concern = [ - 'Filipino', - 'Pilipinas', - 'Pilipino', - 'Pinoy', - 'bahay', - 'bansa', - 'bayan', - 'buhay', - 'mamamayan', - 'mundo', - 'tahanan', + "Filipino", + "Pilipinas", + "Pilipino", + "Pinoy", + "bahay", + "bansa", + "bayan", + "buhay", + "mamamayan", + "mundo", + "tahanan", ] - def random_noun_ish_good_trait(self): + def random_noun_ish_good_trait(self) -> str: return self.random_element(self.noun_ish_good_traits) - def random_good_service_adjective(self): + def random_good_service_adjective(self) -> str: return self.random_element(self.good_service_adjectives) - def random_good_service_adjective_chain(self): - adjectives = self.random_elements(self.good_service_adjectives, length=2, unique=True) - return ' at '.join(adjectives) + def random_good_service_adjective_chain(self) -> str: + adjectives: Sequence[str] = self.random_elements(self.good_service_adjectives, length=2, unique=True) + return " at ".join(adjectives) - def random_object_of_concern(self): + def random_object_of_concern(self) -> str: return self.random_element(self.objects_of_concern) - def english_catch_phrase(self): + def english_catch_phrase(self) -> str: return super().catch_phrase() - def catch_phrase(self): + def catch_phrase(self) -> str: return self.random_element(self.catch_phrase_formats) diff --git a/faker/providers/company/fr_CH/__init__.py b/faker/providers/company/fr_CH/__init__.py index 224ec87302..35d3a8f8a7 100644 --- a/faker/providers/company/fr_CH/__init__.py +++ b/faker/providers/company/fr_CH/__init__.py @@ -1,15 +1,18 @@ +from typing import List + from ..fr_FR import Provider as CompanyProvider class Provider(CompanyProvider): - company_suffixes = ('SA', 'Sàrl.') + company_suffixes = ("SA", "Sàrl.") - def ide(self): + def ide(self) -> str: """ Generates a IDE number (9 digits). http://www.bfs.admin.ch/bfs/portal/fr/index/themen/00/05/blank/03/02.html """ - def _checksum(digits): + + def _checksum(digits: List[int]) -> int: factors = (5, 4, 3, 2, 7, 6, 5, 4) sum_ = 0 for i in range(len(digits)): @@ -27,11 +30,10 @@ def _checksum(digits): digits.append(control_number) break - digits = ''.join([str(digit) for digit in digits]) + digits = "".join([str(digit) for digit in digits]) # finally return our random but valid BSN - return 'CHE-' + digits[0:3] + '.'\ - + digits[3:6] + '.'\ - + digits[6:9] + return "CHE-" + digits[0:3] + "." + digits[3:6] + "." + digits[6:9] + uid = ide # uid: german name for ide idi = ide diff --git a/faker/providers/company/fr_FR/__init__.py b/faker/providers/company/fr_FR/__init__.py index 448f3c7a47..39527bdf33 100644 --- a/faker/providers/company/fr_FR/__init__.py +++ b/faker/providers/company/fr_FR/__init__.py @@ -1,86 +1,97 @@ +from typing import Tuple + from .. import Provider as CompanyProvider class Provider(CompanyProvider): formats = ( - '{{last_name}} {{company_suffix}}', - '{{last_name}} {{last_name}} {{company_suffix}}', - '{{last_name}}', - '{{last_name}}', + "{{last_name}} {{company_suffix}}", + "{{last_name}} {{last_name}} {{company_suffix}}", + "{{last_name}}", + "{{last_name}}", ) - catch_phrase_formats = ( - '{{catch_phrase_noun}} {{catch_phrase_verb}} {{catch_phrase_attribute}}', ) + catch_phrase_formats = ("{{catch_phrase_noun}} {{catch_phrase_verb}} {{catch_phrase_attribute}}",) nouns = ( - 'la sécurité', - 'le plaisir', - 'le confort', - 'la simplicité', + "la sécurité", + "le plaisir", + "le confort", + "la simplicité", "l'assurance", "l'art", - 'le pouvoir', - 'le droit', - 'la possibilité', + "le pouvoir", + "le droit", + "la possibilité", "l'avantage", - 'la liberté') + "la liberté", + ) verbs = ( - 'de rouler', + "de rouler", "d'avancer", "d'évoluer", - 'de changer', + "de changer", "d'innover", - 'de louer', + "de louer", "d'atteindre vos buts", - 'de concrétiser vos projets') + "de concrétiser vos projets", + ) attributes = ( - 'de manière efficace', - 'plus rapidement', - 'plus facilement', - 'plus simplement', - 'en toute tranquilité', - 'avant-tout', - 'autrement', - 'naturellement', - 'à la pointe', - 'sans soucis', + "de manière efficace", + "plus rapidement", + "plus facilement", + "plus simplement", + "en toute tranquilité", + "avant-tout", + "autrement", + "naturellement", + "à la pointe", + "sans soucis", "à l'état pur", - 'à sa source', - 'de manière sûre', - 'en toute sécurité') + "à sa source", + "de manière sûre", + "en toute sécurité", + ) - company_suffixes = ('SA', 'S.A.', 'SARL', 'S.A.R.L.', 'S.A.S.', 'et Fils') + company_suffixes: Tuple[str, ...] = ( + "SA", + "S.A.", + "SARL", + "S.A.R.L.", + "S.A.S.", + "et Fils", + ) siren_format = "### ### ###" - def catch_phrase_noun(self): + def catch_phrase_noun(self) -> str: """ Returns a random catch phrase noun. """ return self.random_element(self.nouns) - def catch_phrase_attribute(self): + def catch_phrase_attribute(self) -> str: """ Returns a random catch phrase attribute. """ return self.random_element(self.attributes) - def catch_phrase_verb(self): + def catch_phrase_verb(self) -> str: """ Returns a random catch phrase verb. """ return self.random_element(self.verbs) - def catch_phrase(self): + def catch_phrase(self) -> str: """ :example 'integrate extensible convergence' """ catch_phrase = "" while True: - pattern = self.random_element(self.catch_phrase_formats) + pattern: str = self.random_element(self.catch_phrase_formats) catch_phrase = self.generator.parse(pattern) catch_phrase = catch_phrase[0].upper() + catch_phrase[1:] @@ -90,9 +101,9 @@ def catch_phrase(self): return catch_phrase # An array containing string which should not appear twice in a catch phrase - words_which_should_not_appear_twice = ('sécurité', 'simpl') + words_which_should_not_appear_twice = ("sécurité", "simpl") - def _is_catch_phrase_valid(self, catch_phrase): + def _is_catch_phrase_valid(self, catch_phrase: str) -> bool: """ Validates a french catch phrase. @@ -108,13 +119,13 @@ def _is_catch_phrase_valid(self, catch_phrase): return True - def siren(self): + def siren(self) -> str: """ Generates a siren number (9 digits). """ return self.numerify(self.siren_format) - def siret(self, max_sequential_digits=2): + def siret(self, max_sequential_digits: int = 2) -> str: """ Generates a siret number (14 digits). It is in fact the result of the concatenation of a siren number (9 digits), @@ -125,6 +136,5 @@ def siret(self, max_sequential_digits=2): if max_sequential_digits > 4 or max_sequential_digits <= 0: max_sequential_digits = 2 - sequential_number = str(self.random_number( - max_sequential_digits)).zfill(4) - return self.numerify(self.siren() + ' ' + sequential_number + '#') + sequential_number = str(self.random_number(max_sequential_digits)).zfill(4) + return self.numerify(self.siren() + " " + sequential_number + "#") diff --git a/faker/providers/company/hr_HR/__init__.py b/faker/providers/company/hr_HR/__init__.py index 15e63daa25..9a0f6e02d6 100755 --- a/faker/providers/company/hr_HR/__init__.py +++ b/faker/providers/company/hr_HR/__init__.py @@ -3,11 +3,13 @@ class Provider(CompanyProvider): formats = ( - '{{last_name}} {{company_suffix}}', - '{{last_name}} {{last_name}} {{company_suffix}}', - '{{last_name}}', + "{{last_name}} {{company_suffix}}", + "{{last_name}} {{last_name}} {{company_suffix}}", + "{{last_name}}", ) company_suffixes = ( - 'd.o.o.', 'd.d.', 'j.d.o.o.', + "d.o.o.", + "d.d.", + "j.d.o.o.", ) diff --git a/faker/providers/company/hu_HU/__init__.py b/faker/providers/company/hu_HU/__init__.py index 5d6649e17f..7e776fe26d 100644 --- a/faker/providers/company/hu_HU/__init__.py +++ b/faker/providers/company/hu_HU/__init__.py @@ -3,13 +3,13 @@ class Provider(CompanyProvider): formats = ( - '{{last_name}} {{company_suffix}}', - '{{last_name}} {{last_name}} {{company_suffix}}', - '{{last_name}} és {{last_name}} {{company_suffix}}', - '{{last_name}} és társa {{company_suffix}}', + "{{last_name}} {{company_suffix}}", + "{{last_name}} {{last_name}} {{company_suffix}}", + "{{last_name}} és {{last_name}} {{company_suffix}}", + "{{last_name}} és társa {{company_suffix}}", ) - company_suffixes = ('Kft.', 'Kht.', 'Zrt.', 'Bt.', 'Nyrt.', 'Kkt.') + company_suffixes = ("Kft.", "Kht.", "Zrt.", "Bt.", "Nyrt.", "Kkt.") - def company_suffix(self): + def company_suffix(self) -> str: return self.random_element(self.company_suffixes) diff --git a/faker/providers/company/hy_AM/__init__.py b/faker/providers/company/hy_AM/__init__.py index e5edac78a0..003bf5d862 100644 --- a/faker/providers/company/hy_AM/__init__.py +++ b/faker/providers/company/hy_AM/__init__.py @@ -4,267 +4,281 @@ class Provider(CompanyProvider): formats = ( - '{{first_name}} և {{first_name}} {{company_suffix}}', - '{{last_name}} {{company_suffix}}', - '{{last_name}} և {{last_name}} {{company_suffix}}' - '{{last_name}}, {{last_name}} և {{last_name}} {{company_suffix}}', + "{{first_name}} և {{first_name}} {{company_suffix}}", + "{{last_name}} {{company_suffix}}", + "{{last_name}} և {{last_name}} {{company_suffix}}" + "{{last_name}}, {{last_name}} և {{last_name}} {{company_suffix}}", ) - company_suffixes = ('ՍՊԸ', 'ՀՁ', 'ՓԲԸ', 'ԲԲԸ', 'Գրուպ', 'Հոլդինգ') + company_suffixes = ("ՍՊԸ", "ՀՁ", "ՓԲԸ", "ԲԲԸ", "Գրուպ", "Հոլդինգ") catch_phrase_words = ( - ('առաջավոր', - 'բարելավված', - 'ավտոմատացված', - 'հավասարակշռված', - 'կենտրոնացված', - 'համատեղելի', - 'կարգավորելի', - 'անհատականացված', - 'ապակենտրոնացված', - 'թվայնացված', - 'տարածված', - 'փոքրացված', - 'ընդլայնված', - 'էրգոնիկ', - 'բացառիկ', - 'երկարացված', - 'լիովին կոնֆիգուրացվող', - 'ֆունկցիոնալ հիմունքներով', - 'հիմնական', - 'հորիզոնական', - 'իրականացված', - 'նորարական', - 'ինտեգրված', - 'ինտուիտիվ', - 'պարտադիր', - 'բազմուղի', - 'բազմաշերտ', - 'ցանցային', - 'բաց կոդով', - 'օպերատիվ', - 'օպտիմալացված', - 'օրգանական', - 'կազմակերպված', - 'կայուն', - 'կենսունակ', - 'ավարտված', - 'բևեռացված', - 'կանխարգելող', - 'ակտիվ', - 'ծրագրավորելի', - 'առաջադիմական', - 'որակով', - 'ռեակտիվ', - 'իրականացված', - 'նվազեցված', - 'դիմացկուն', - 'անխափան', - 'ապահով', - 'համատեղելի', - 'հեշտացված', - 'փոխարկելի', - 'սինխրոնիզացված', - 'ունիվերսալ', - 'ճկուն', - 'վիրտուալ'), - ('3-րդ սերնդի', - '4-րդ սերնդի', - '5-րդ սերնդի', - '6-րդ սերնդի', - 'ասիմետրիկ', - 'ասինխրոն', - 'թողունակությունը վերահսկվող', - 'երկկողմանի', - 'հստակ մտածող', - 'համաձայնեցված', - 'բաղադրյալ', - 'դիդակտիկ', - 'ուղղորդիչ', - 'դիսկրետ', - 'բացահայտ', - 'գլոբալ', - 'բարձր մակարդակի', - 'ամբողջական', - 'միատարր', - 'հիբրիդ', - 'ազդեցիկ', - 'ինտերակտիվ', - 'միջանկյալ', - 'առաջատար', - 'տեղային', - 'լոգիստիկ', - 'սիստեմատիկ', - 'մոդուլային', - 'չեզոք', - 'հաջորդ սերնդի', - 'օբյեկտի վրա հիմնված', - 'օպտիմալ', - 'արմատական', - 'փոխադարձ', - 'ռեգիոնալ', - 'երկրորդական', - 'կայուն', - 'ստատիկ', - 'համակարգված', - 'համակարգային', - 'շոշափելի', - 'երրորդական', - 'անցումային', - 'միատեսակ', - 'լավ մոդուլացված', - 'առանց թերությունների'), - ('կարողություն', - 'մուտք', - 'ադապտեր', - 'ալգորիթմ', - 'միություն', - 'վերլուծիչ', - 'ծրագրային ապահովում', - 'մոտեցում', - 'արխիվ', - 'արհեստական բանականություն', - 'վերաբերմունք', - 'ընդունակություն', - 'կարողություն', - 'մարտահրավեր', - 'գործակցություն', - 'բարդություն', - 'գաղափար', - 'համախմբվածություն', - 'տվյալների բազա', - 'տվյալների պահեստ', - 'սահմանում', - 'իմացություն', - 'կոդավորում', - 'գաղտնագրում', - 'կանխատեսում', - 'հենքային ծրագիր', - 'ֆունկցիա', - 'գործառույթ', - 'գրաֆիկական ինտերֆեյս', - 'սարքային ապահովում', - 'հիերարխիա', - 'հանգույց', - 'ենթակառուցվածք', - 'նախաձեռնություն', - 'ծրագրի ներդրում', - 'հրահանգների հավաքածու', - 'ինտերֆեյս', - 'ինտրանետ', - 'գիտելիքների բազա', - 'տեղական ցանց', - 'մատրիցա', - 'մեթոդաբանություն', - 'միջանկյալ շերտ', - 'միգրացիա', - 'մոդել', - 'կարգավորիչ', - 'մոնիտորինգ', - 'բաց համակարգ', - 'պարադիգմ', - 'պորտալ', - 'գնային կառուցվածք', - 'արդյունավետություն', - 'նախագիծ', - 'ապահովված գիծ', - 'ծրագրային ապահովում', - 'լուծում', - 'ստանդարտացում', - 'ստրատեգիա', - 'կառուցվածք', - 'օպերատիվ խումբ', - 'արտադրողականություն', - 'ժամանակացույց', - 'գործիք', - 'օգտագործում', - 'կայք', - 'աշխատուժ')) + ( + "առաջավոր", + "բարելավված", + "ավտոմատացված", + "հավասարակշռված", + "կենտրոնացված", + "համատեղելի", + "կարգավորելի", + "անհատականացված", + "ապակենտրոնացված", + "թվայնացված", + "տարածված", + "փոքրացված", + "ընդլայնված", + "էրգոնիկ", + "բացառիկ", + "երկարացված", + "լիովին կոնֆիգուրացվող", + "ֆունկցիոնալ հիմունքներով", + "հիմնական", + "հորիզոնական", + "իրականացված", + "նորարական", + "ինտեգրված", + "ինտուիտիվ", + "պարտադիր", + "բազմուղի", + "բազմաշերտ", + "ցանցային", + "բաց կոդով", + "օպերատիվ", + "օպտիմալացված", + "օրգանական", + "կազմակերպված", + "կայուն", + "կենսունակ", + "ավարտված", + "բևեռացված", + "կանխարգելող", + "ակտիվ", + "ծրագրավորելի", + "առաջադիմական", + "որակով", + "ռեակտիվ", + "իրականացված", + "նվազեցված", + "դիմացկուն", + "անխափան", + "ապահով", + "համատեղելի", + "հեշտացված", + "փոխարկելի", + "սինխրոնիզացված", + "ունիվերսալ", + "ճկուն", + "վիրտուալ", + ), + ( + "3-րդ սերնդի", + "4-րդ սերնդի", + "5-րդ սերնդի", + "6-րդ սերնդի", + "ասիմետրիկ", + "ասինխրոն", + "թողունակությունը վերահսկվող", + "երկկողմանի", + "հստակ մտածող", + "համաձայնեցված", + "բաղադրյալ", + "դիդակտիկ", + "ուղղորդիչ", + "դիսկրետ", + "բացահայտ", + "գլոբալ", + "բարձր մակարդակի", + "ամբողջական", + "միատարր", + "հիբրիդ", + "ազդեցիկ", + "ինտերակտիվ", + "միջանկյալ", + "առաջատար", + "տեղային", + "լոգիստիկ", + "սիստեմատիկ", + "մոդուլային", + "չեզոք", + "հաջորդ սերնդի", + "օբյեկտի վրա հիմնված", + "օպտիմալ", + "արմատական", + "փոխադարձ", + "ռեգիոնալ", + "երկրորդական", + "կայուն", + "ստատիկ", + "համակարգված", + "համակարգային", + "շոշափելի", + "երրորդական", + "անցումային", + "միատեսակ", + "լավ մոդուլացված", + "առանց թերությունների", + ), + ( + "կարողություն", + "մուտք", + "ադապտեր", + "ալգորիթմ", + "միություն", + "վերլուծիչ", + "ծրագրային ապահովում", + "մոտեցում", + "արխիվ", + "արհեստական բանականություն", + "վերաբերմունք", + "ընդունակություն", + "կարողություն", + "մարտահրավեր", + "գործակցություն", + "բարդություն", + "գաղափար", + "համախմբվածություն", + "տվյալների բազա", + "տվյալների պահեստ", + "սահմանում", + "իմացություն", + "կոդավորում", + "գաղտնագրում", + "կանխատեսում", + "հենքային ծրագիր", + "ֆունկցիա", + "գործառույթ", + "գրաֆիկական ինտերֆեյս", + "սարքային ապահովում", + "հիերարխիա", + "հանգույց", + "ենթակառուցվածք", + "նախաձեռնություն", + "ծրագրի ներդրում", + "հրահանգների հավաքածու", + "ինտերֆեյս", + "ինտրանետ", + "գիտելիքների բազա", + "տեղական ցանց", + "մատրիցա", + "մեթոդաբանություն", + "միջանկյալ շերտ", + "միգրացիա", + "մոդել", + "կարգավորիչ", + "մոնիտորինգ", + "բաց համակարգ", + "պարադիգմ", + "պորտալ", + "գնային կառուցվածք", + "արդյունավետություն", + "նախագիծ", + "ապահովված գիծ", + "ծրագրային ապահովում", + "լուծում", + "ստանդարտացում", + "ստրատեգիա", + "կառուցվածք", + "օպերատիվ խումբ", + "արտադրողականություն", + "ժամանակացույց", + "գործիք", + "օգտագործում", + "կայք", + "աշխատուժ", + ), + ) bsWords = ( - ('իրականացնել', - 'օգտագործել', - 'ինտեգրել', - 'ռացիոնալացնել', - 'օպտիմալացնել', - 'փոխակերպել', - 'ընդգրկել', - 'ակտիվացնել', - 'կազմակերպել', - 'նախագծել', - 'խթանել', - 'ձևափոխել', - 'արտոնել', - 'դրամայնացնել', - 'հեշտացնել', - 'վերցնել', - 'աճեցնել', - 'սինթեզել', - 'առաքել', - 'զբաղվել', - 'առավելագույնի հասցնել', - 'արագացնել', - 'միջնորդել', - 'պատկերացնել', - 'վերափոխել', - 'ընդլայնել', - 'նախաձեռնել', - 'հեղափոխականացնել', - 'առաջացնել', - 'օգտագործել', - 'զարգացնել', - 'արտադրանքի վերածել'), - ('ուղղահայաց', - 'ակտիվ', - 'դիմացկուն', - 'հեղափոխական', - 'առաջատար', - 'նորարարական', - 'ինտուիտիվ', - 'ռազմավարական', - 'էլեկտրոնային', - 'գլոբալ', - 'վիրտուալ', - 'դինամիկ', - 'գրավիչ', - 'ինտերակտիվ', - 'արդյունավետ', - 'ընդարձակելի', - 'պատրաստի', - 'ինտեգրված', - 'ազդեցիկ', - 'անլար', - 'թափանցիկ', - 'հաջորդ սերնդի', - 'ժամանակակից', - 'հարմարեցված', - 'համատարած', - 'ազդեցիկ', - 'ամբողջական', - 'հարուստ', - 'անվճար'), - ('պարադիգմներ', - 'շուկաներ', - 'ենթակառուցվածքներ', - 'պլատֆորմներ', - 'նախաձեռնություններ', - 'ուղիներ', - 'համայնքներ', - 'լուծումներ', - 'պորտալներ', - 'տեխնոլոգիաներ', - 'հարաբերություններ', - 'կառուցվածքներ', - 'ինտերֆեյսներ', - 'շուկաներ', - 'համակարգեր', - 'մոդելներ', - 'օգտագործողներ', - 'սխեմաներ', - 'ցանցեր', - 'ծրագրեր', - 'չափանիշներ', - 'բիզնես', - 'գործառույթներ', - 'փորձառություններ', - 'մեթոդաբանություններ')) + ( + "իրականացնել", + "օգտագործել", + "ինտեգրել", + "ռացիոնալացնել", + "օպտիմալացնել", + "փոխակերպել", + "ընդգրկել", + "ակտիվացնել", + "կազմակերպել", + "նախագծել", + "խթանել", + "ձևափոխել", + "արտոնել", + "դրամայնացնել", + "հեշտացնել", + "վերցնել", + "աճեցնել", + "սինթեզել", + "առաքել", + "զբաղվել", + "առավելագույնի հասցնել", + "արագացնել", + "միջնորդել", + "պատկերացնել", + "վերափոխել", + "ընդլայնել", + "նախաձեռնել", + "հեղափոխականացնել", + "առաջացնել", + "օգտագործել", + "զարգացնել", + "արտադրանքի վերածել", + ), + ( + "ուղղահայաց", + "ակտիվ", + "դիմացկուն", + "հեղափոխական", + "առաջատար", + "նորարարական", + "ինտուիտիվ", + "ռազմավարական", + "էլեկտրոնային", + "գլոբալ", + "վիրտուալ", + "դինամիկ", + "գրավիչ", + "ինտերակտիվ", + "արդյունավետ", + "ընդարձակելի", + "պատրաստի", + "ինտեգրված", + "ազդեցիկ", + "անլար", + "թափանցիկ", + "հաջորդ սերնդի", + "ժամանակակից", + "հարմարեցված", + "համատարած", + "ազդեցիկ", + "ամբողջական", + "հարուստ", + "անվճար", + ), + ( + "պարադիգմներ", + "շուկաներ", + "ենթակառուցվածքներ", + "պլատֆորմներ", + "նախաձեռնություններ", + "ուղիներ", + "համայնքներ", + "լուծումներ", + "պորտալներ", + "տեխնոլոգիաներ", + "հարաբերություններ", + "կառուցվածքներ", + "ինտերֆեյսներ", + "շուկաներ", + "համակարգեր", + "մոդելներ", + "օգտագործողներ", + "սխեմաներ", + "ցանցեր", + "ծրագրեր", + "չափանիշներ", + "բիզնես", + "գործառույթներ", + "փորձառություններ", + "մեթոդաբանություններ", + ), + ) diff --git a/faker/providers/company/id_ID/__init__.py b/faker/providers/company/id_ID/__init__.py index 7ec5d37023..8e070d8dc4 100644 --- a/faker/providers/company/id_ID/__init__.py +++ b/faker/providers/company/id_ID/__init__.py @@ -3,25 +3,30 @@ class Provider(CompanyProvider): formats = ( - '{{company_prefix}} {{last_name}}', - '{{company_prefix}} {{last_name}} {{last_name}}', - '{{company_prefix}} {{last_name}} {{company_suffix}}', - '{{company_prefix}} {{last_name}} {{last_name}} {{company_suffix}}', + "{{company_prefix}} {{last_name}}", + "{{company_prefix}} {{last_name}} {{last_name}}", + "{{company_prefix}} {{last_name}} {{company_suffix}}", + "{{company_prefix}} {{last_name}} {{last_name}} {{company_suffix}}", ) # From http://id.wikipedia.org/wiki/Jenis_badan_usaha # via # https://github.com/fzaninotto/faker/blob/master/src/Faker/Provider/id_ID/Company.php company_prefixes = ( - 'PT', 'CV', 'UD', 'PD', 'Perum', + "PT", + "CV", + "UD", + "PD", + "Perum", ) # From http://id.wikipedia.org/wiki/Jenis_badan_usaha # via # https://github.com/fzaninotto/faker/blob/master/src/Faker/Provider/id_ID/Company.php company_suffixes = ( - '(Persero) Tbk', 'Tbk', + "(Persero) Tbk", + "Tbk", ) - def company_prefix(self): + def company_prefix(self) -> str: return self.random_element(self.company_prefixes) diff --git a/faker/providers/company/it_IT/__init__.py b/faker/providers/company/it_IT/__init__.py index 4b2bbd0bb3..8bdcd924d1 100644 --- a/faker/providers/company/it_IT/__init__.py +++ b/faker/providers/company/it_IT/__init__.py @@ -5,354 +5,348 @@ class Provider(CompanyProvider): formats = ( - '{{last_name}} {{company_suffix}}', - '{{last_name}}-{{last_name}} {{company_suffix}}', - '{{last_name}}, {{last_name}} e {{last_name}} {{company_suffix}}', + "{{last_name}} {{company_suffix}}", + "{{last_name}}-{{last_name}} {{company_suffix}}", + "{{last_name}}, {{last_name}} e {{last_name}} {{company_suffix}}", ) catch_phrase_words = ( - ('Abilità', - 'Access', - 'Adattatore', - 'Algoritmo', - 'Alleanza', - 'Analizzatore', - 'Applicazione', - 'Approccio', - 'Architettura', - 'Archivio', - 'Intelligenza artificiale', - 'Array', - 'Attitudine', - 'Benchmark', - 'Capacità', - 'Sfida', - 'Circuito', - 'Collaborazione', - 'Complessità', - 'Concetto', - 'Conglomerato', - 'Contingenza', - 'Core', - 'Database', - 'Data-warehouse', - 'Definizione', - 'Emulazione', - 'Codifica', - 'Criptazione', - 'Firmware', - 'Flessibilità', - 'Previsione', - 'Frame', - 'framework', - 'Funzione', - 'Funzionalità', - 'Interfaccia grafica', - 'Hardware', - 'Help-desk', - 'Gerarchia', - 'Hub', - 'Implementazione', - 'Infrastruttura', - 'Iniziativa', - 'Installazione', - 'Set di istruzioni', - 'Interfaccia', - 'Soluzione internet', - 'Intranet', - 'Conoscenza base', - 'Matrici', - 'Matrice', - 'Metodologia', - 'Middleware', - 'Migrazione', - 'Modello', - 'Moderazione', - 'Monitoraggio', - 'Moratoria', - 'Rete', - 'Architettura aperta', - 'Sistema aperto', - 'Orchestrazione', - 'Paradigma', - 'Parallelismo', - 'Policy', - 'Portale', - 'Struttura di prezzo', - 'Prodotto', - 'Produttività', - 'Progetto', - 'Proiezione', - 'Protocollo', - 'Servizio clienti', - 'Software', - 'Soluzione', - 'Standardizzazione', - 'Strategia', - 'Struttura', - 'Successo', - 'Sovrastruttura', - 'Supporto', - 'Sinergia', - 'Task-force', - 'Finestra temporale', - 'Strumenti', - 'Utilizzazione', - 'Sito web', - 'Forza lavoro'), - ('adattiva', - 'avanzata', - 'migliorata', - 'assimilata', - 'automatizzata', - 'bilanciata', - 'centralizzata', - 'compatibile', - 'configurabile', - 'cross-platform', - 'decentralizzata', - 'digitalizzata', - 'distribuita', - 'piccola', - 'ergonomica', - 'esclusiva', - 'espansa', - 'estesa', - 'configurabile', - 'fondamentale', - 'orizzontale', - 'implementata', - 'innovativa', - 'integrata', - 'intuitiva', - 'inversa', - 'gestita', - 'obbligatoria', - 'monitorata', - 'multi-canale', - 'multi-laterale', - 'open-source', - 'operativa', - 'ottimizzata', - 'organica', - 'persistente', - 'polarizzata', - 'proattiva', - 'programmabile', - 'progressiva', - 'reattiva', - 'riallineata', - 'ricontestualizzata', - 'ridotta', - 'robusta', - 'sicura', - 'condivisibile', - 'stand-alone', - 'switchabile', - 'sincronizzata', - 'sinergica', - 'totale', - 'universale', - 'user-friendly', - 'versatile', - 'virtuale', - 'visionaria'), - ('24 ore', - '24/7', - 'terza generazione', - 'quarta generazione', - 'quinta generazione', - 'sesta generazione', - 'asimmetrica', - 'asincrona', - 'background', - 'bi-direzionale', - 'biforcata', - 'bottom-line', - 'coerente', - 'coesiva', - 'composita', - 'sensibile al contesto', - 'basta sul contesto', - 'basata sul contenuto', - 'dedicata', - 'didattica', - 'direzionale', - 'discreta', - 'dinamica', - 'eco-centrica', - 'esecutiva', - 'esplicita', - 'full-range', - 'globale', - 'euristica', - 'alto livello', - 'olistica', - 'omogenea', - 'ibrida', - 'impattante', - 'incrementale', - 'intangibile', - 'interattiva', - 'intermediaria', - 'locale', - 'logistica', - 'massimizzata', - 'metodica', - 'mission-critical', - 'mobile', - 'modulare', - 'motivazionale', - 'multimedia', - 'multi-tasking', - 'nazionale', - 'neutrale', - 'nextgeneration', - 'non-volatile', - 'object-oriented', - 'ottima', - 'ottimizzante', - 'radicale', - 'real-time', - 'reciproca', - 'regionale', - 'responsiva', - 'scalabile', - 'secondaria', - 'stabile', - 'statica', - 'sistematica', - 'sistemica', - 'tangibile', - 'terziaria', - 'uniforme', - 'valore aggiunto')) + ( + "Abilità", + "Access", + "Adattatore", + "Algoritmo", + "Alleanza", + "Analizzatore", + "Applicazione", + "Approccio", + "Architettura", + "Archivio", + "Intelligenza artificiale", + "Array", + "Attitudine", + "Benchmark", + "Capacità", + "Sfida", + "Circuito", + "Collaborazione", + "Complessità", + "Concetto", + "Conglomerato", + "Contingenza", + "Core", + "Database", + "Data-warehouse", + "Definizione", + "Emulazione", + "Codifica", + "Criptazione", + "Firmware", + "Flessibilità", + "Previsione", + "Frame", + "framework", + "Funzione", + "Funzionalità", + "Interfaccia grafica", + "Hardware", + "Help-desk", + "Gerarchia", + "Hub", + "Implementazione", + "Infrastruttura", + "Iniziativa", + "Installazione", + "Set di istruzioni", + "Interfaccia", + "Soluzione internet", + "Intranet", + "Conoscenza base", + "Matrici", + "Matrice", + "Metodologia", + "Middleware", + "Migrazione", + "Modello", + "Moderazione", + "Monitoraggio", + "Moratoria", + "Rete", + "Architettura aperta", + "Sistema aperto", + "Orchestrazione", + "Paradigma", + "Parallelismo", + "Policy", + "Portale", + "Struttura di prezzo", + "Prodotto", + "Produttività", + "Progetto", + "Proiezione", + "Protocollo", + "Servizio clienti", + "Software", + "Soluzione", + "Standardizzazione", + "Strategia", + "Struttura", + "Successo", + "Sovrastruttura", + "Supporto", + "Sinergia", + "Task-force", + "Finestra temporale", + "Strumenti", + "Utilizzazione", + "Sito web", + "Forza lavoro", + ), + ( + "adattiva", + "avanzata", + "migliorata", + "assimilata", + "automatizzata", + "bilanciata", + "centralizzata", + "compatibile", + "configurabile", + "cross-platform", + "decentralizzata", + "digitalizzata", + "distribuita", + "piccola", + "ergonomica", + "esclusiva", + "espansa", + "estesa", + "configurabile", + "fondamentale", + "orizzontale", + "implementata", + "innovativa", + "integrata", + "intuitiva", + "inversa", + "gestita", + "obbligatoria", + "monitorata", + "multi-canale", + "multi-laterale", + "open-source", + "operativa", + "ottimizzata", + "organica", + "persistente", + "polarizzata", + "proattiva", + "programmabile", + "progressiva", + "reattiva", + "riallineata", + "ricontestualizzata", + "ridotta", + "robusta", + "sicura", + "condivisibile", + "stand-alone", + "switchabile", + "sincronizzata", + "sinergica", + "totale", + "universale", + "user-friendly", + "versatile", + "virtuale", + "visionaria", + ), + ( + "24 ore", + "24/7", + "terza generazione", + "quarta generazione", + "quinta generazione", + "sesta generazione", + "asimmetrica", + "asincrona", + "background", + "bi-direzionale", + "biforcata", + "bottom-line", + "coerente", + "coesiva", + "composita", + "sensibile al contesto", + "basta sul contesto", + "basata sul contenuto", + "dedicata", + "didattica", + "direzionale", + "discreta", + "dinamica", + "eco-centrica", + "esecutiva", + "esplicita", + "full-range", + "globale", + "euristica", + "alto livello", + "olistica", + "omogenea", + "ibrida", + "impattante", + "incrementale", + "intangibile", + "interattiva", + "intermediaria", + "locale", + "logistica", + "massimizzata", + "metodica", + "mission-critical", + "mobile", + "modulare", + "motivazionale", + "multimedia", + "multi-tasking", + "nazionale", + "neutrale", + "nextgeneration", + "non-volatile", + "object-oriented", + "ottima", + "ottimizzante", + "radicale", + "real-time", + "reciproca", + "regionale", + "responsiva", + "scalabile", + "secondaria", + "stabile", + "statica", + "sistematica", + "sistemica", + "tangibile", + "terziaria", + "uniforme", + "valore aggiunto", + ), + ) bsWords = ( - ('partnerships', - 'comunità', - 'ROI', - 'soluzioni', - 'e-services', - 'nicchie', - 'tecnologie', - 'contenuti', - 'supply-chains', - 'convergenze', - 'relazioni', - 'architetture', - 'interfacce', - 'mercati', - 'e-commerce', - 'sistemi', - 'modelli', - 'schemi', - 'reti', - 'applicazioni', - 'metriche', - 'e-business', - 'funzionalità', - 'esperienze', - 'webservices', - 'metodologie'), - ('implementate', - 'utilizzo', - 'integrate', - 'ottimali', - 'evolutive', - 'abilitate', - 'reinventate', - 'aggregate', - 'migliorate', - 'incentivate', - 'monetizzate', - 'sinergizzate', - 'strategiche', - 'deploy', - 'marchi', - 'accrescitive', - 'target', - 'sintetizzate', - 'spedizioni', - 'massimizzate', - 'innovazione', - 'guida', - 'estensioni', - 'generate', - 'exploit', - 'transizionali', - 'matrici', - 'ricontestualizzate'), - ('valore aggiunto', - 'verticalizzate', - 'proattive', - 'forti', - 'rivoluzionari', - 'scalabili', - 'innovativi', - 'intuitivi', - 'strategici', - 'e-business', - 'mission-critical', - '24/7', - 'globali', - 'B2B', - 'B2C', - 'granulari', - 'virtuali', - 'virali', - 'dinamiche', - 'magnetiche', - 'web', - 'interattive', - 'sexy', - 'back-end', - 'real-time', - 'efficienti', - 'front-end', - 'distributivi', - 'estensibili', - 'mondiali', - 'open-source', - 'cross-platform', - 'sinergiche', - 'out-of-the-box', - 'enterprise', - 'integrate', - 'di impatto', - 'wireless', - 'trasparenti', - 'next-generation', - 'cutting-edge', - 'visionari', - 'plug-and-play', - 'collaborative', - 'olistiche', - 'ricche')) - - company_suffixes = ('SPA', 'e figli', 'Group', 's.r.l.') - - def catch_phrase(self): - """ - :example 'Robust full-range hub' - """ - result = [] - for word_list in self.catch_phrase_words: - result.append(self.random_element(word_list)) - - return " ".join(result) - - def bs(self): - """ - :example 'integrate extensible convergence' - """ - result = [] - for word_list in self.bsWords: - result.append(self.random_element(word_list)) + ( + "partnerships", + "comunità", + "ROI", + "soluzioni", + "e-services", + "nicchie", + "tecnologie", + "contenuti", + "supply-chains", + "convergenze", + "relazioni", + "architetture", + "interfacce", + "mercati", + "e-commerce", + "sistemi", + "modelli", + "schemi", + "reti", + "applicazioni", + "metriche", + "e-business", + "funzionalità", + "esperienze", + "webservices", + "metodologie", + ), + ( + "implementate", + "utilizzo", + "integrate", + "ottimali", + "evolutive", + "abilitate", + "reinventate", + "aggregate", + "migliorate", + "incentivate", + "monetizzate", + "sinergizzate", + "strategiche", + "deploy", + "marchi", + "accrescitive", + "target", + "sintetizzate", + "spedizioni", + "massimizzate", + "innovazione", + "guida", + "estensioni", + "generate", + "exploit", + "transizionali", + "matrici", + "ricontestualizzate", + ), + ( + "valore aggiunto", + "verticalizzate", + "proattive", + "forti", + "rivoluzionari", + "scalabili", + "innovativi", + "intuitivi", + "strategici", + "e-business", + "mission-critical", + "24/7", + "globali", + "B2B", + "B2C", + "granulari", + "virtuali", + "virali", + "dinamiche", + "magnetiche", + "web", + "interattive", + "sexy", + "back-end", + "real-time", + "efficienti", + "front-end", + "distributivi", + "estensibili", + "mondiali", + "open-source", + "cross-platform", + "sinergiche", + "out-of-the-box", + "enterprise", + "integrate", + "di impatto", + "wireless", + "trasparenti", + "next-generation", + "cutting-edge", + "visionari", + "plug-and-play", + "collaborative", + "olistiche", + "ricche", + ), + ) - return " ".join(result) + company_suffixes = ("SPA", "e figli", "Group", "s.r.l.") - def _random_vat_office(self): + def _random_vat_office(self) -> int: """ Returns a random code identifying the VAT office needed to build a valid VAT with company_vat. @@ -372,10 +366,10 @@ def _random_vat_office(self): # else: between 1 and 100 are all valid return val - def company_vat(self): + def company_vat(self) -> str: """ Returns Italian VAT identification number (Partita IVA). """ - code = self.bothify('#######') + str(self._random_vat_office()).zfill(3) - luhn_checksum = str(calculate_luhn(code)) - return 'IT{}{}'.format(code, luhn_checksum) + code = self.bothify("#######") + str(self._random_vat_office()).zfill(3) + luhn_checksum = str(calculate_luhn(int(code))) + return f"IT{code}{luhn_checksum}" diff --git a/faker/providers/company/ja_JP/__init__.py b/faker/providers/company/ja_JP/__init__.py index 3968950e50..fa0e26ab65 100644 --- a/faker/providers/company/ja_JP/__init__.py +++ b/faker/providers/company/ja_JP/__init__.py @@ -3,15 +3,29 @@ class Provider(CompanyProvider): formats = ( - '{{company_prefix}}{{last_name}}{{company_category}}', - '{{last_name}}{{company_category}}{{company_prefix}}', + "{{company_prefix}}{{last_name}}{{company_category}}", + "{{last_name}}{{company_category}}{{company_prefix}}", ) - company_prefixes = ('株式会社', '有限会社', '合同会社') - company_categories = ('水産', '農林', '鉱業', '建設', '食品', '印刷', '電気', 'ガス', '情報', '通信', '運輸', '銀行', '保険') + company_prefixes = ("株式会社", "有限会社", "合同会社") + company_categories = ( + "水産", + "農林", + "鉱業", + "建設", + "食品", + "印刷", + "電気", + "ガス", + "情報", + "通信", + "運輸", + "銀行", + "保険", + ) - def company_prefix(self): + def company_prefix(self) -> str: return self.random_element(self.company_prefixes) - def company_category(self): + def company_category(self) -> str: return self.random_element(self.company_categories) diff --git a/faker/providers/company/ko_KR/__init__.py b/faker/providers/company/ko_KR/__init__.py index 38229ffaa5..9a4c409618 100644 --- a/faker/providers/company/ko_KR/__init__.py +++ b/faker/providers/company/ko_KR/__init__.py @@ -3,376 +3,370 @@ class Provider(CompanyProvider): formats = ( - '{{company_suffix}} {{last_name}}{{last_name}}{{last_name}}', - '{{company_suffix}} {{last_name}}', - '{{last_name}}{{last_name}}', - '{{last_name}}{{last_name}}{{last_name}}', + "{{company_suffix}} {{last_name}}{{last_name}}{{last_name}}", + "{{company_suffix}} {{last_name}}", + "{{last_name}}{{last_name}}", + "{{last_name}}{{last_name}}{{last_name}}", ) catch_phrase_words = ( - ('적응된', - '숙련된', - '자동화된', - '안정적인', - '비즈니스 중점적', - '중심이', - '복제된', - '효율적인', - '설정 가능한', - '크로스 그룹', - '크로스 플랫폼', - '사용자 중심의', - '조절 가능한', - '디지털화된', - '출판된', - '다양한', - '낮은', - '강화된', - '인체 공학적인', - '특별한', - '확장된', - '확대된', - '1:1', - '최전방', - '완벽히 설정된', - '함수 기반의', - '미래가 보장된', - '관리된', - '모니터링되는', - '멀티 채널', - '다중 주파수', - '멀티 레이어', - '조직화된', - '객체 기반의', - '공개 아키텍쳐', - '오픈소스', - '최적화된', - '선택적', - '유기농', - '수익에 중점을 둔', - '프로그래밍 가능한', - '진보적인', - '공개 키', - '품질 중심의', - '반동적인', - '재정렬', - '줄어든', - '리버스 엔지니어링된', - '올바른 사이즈의', - '강력한', - '원활한', - '안전한', - '자가 이용 가능한', - '공유 가능한', - '독보적인', - '무결점의', - '변경 가능한', - '동기화', - '융합력있는', - '융합된', - '단체 기반의', - '총', - '트리플 버퍼', - '다용도', - '더 커진', - '업그레이드 가능한', - '더 작아진', - '유저 친화적', - '가상', - '비전 있는'), - ('24시간', - '24/7', - '3세대', - '4세대', - '5세대', - '6세대', - '작동', - '분석중인', - '비대칭', - '비동기', - '고도 기반', - '백그라운드', - '주파수 탐지 가능', - '요약', - '클라이언트 단', - '클라이언트-서버', - '밀착', - '결합된', - '합성물', - '상황에 맞는', - '문맥 기반', - '컨텐츠 기반', - '헌신적', - '교훈적', - '방향', - '분리된', - '다이나믹', - '환경 친화적', - '실행', - '취약점', - '스며든', - '수요 중심', - '장거리', - '글로벌', - '그리드 가능', - '휴리스틱', - '고단계', - '분리형', - '인간자원', - '하이브리드', - '선구적', - '로컬', - '물류', - '최대화', - '결정', - '휴대형', - '모듈형', - '멀티미디어', - '다중 상태', - '멀티 태스킹', - '국가적', - '범국가적', - '중립형', - '다음 세대', - '객체 지향적', - '필수', - '최적화된', - '근본적', - '실시간', - '역수', - '지역적', - '확장', - '보조', - '해답 기반', - '안정적', - '정적', - '가치추가', - '웹 사용 가능', - '잘 모듈화된', - '무관리', - '무해한', - '무관용'), - ('능력', - '접근', - '어댑터', - '알고리즘', - '연합', - '분석', - '어플리케이션', - '접근', - '아키텍쳐', - '아카이브', - '인공지능', - '배열', - '태도', - '벤치마크', - '예산 관리', - '환경', - '생산 능력', - '도전', - '회로', - '융합', - '컨셉', - '축적', - '우연성', - '코어', - '고객 만족', - '데이터베이스', - '정의', - '에뮬레이션', - '인코딩', - '암호화', - '엑스트라넷', - '펌웨어', - '유연성', - '예보', - '프레임', - '프레임워크', - '함수', - '그래픽 인터페이스', - '그룹웨어', - 'GUI', - '하드웨어', - '안내 창구', - '계층', - '허브', - '미디어 정보', - '환경', - '설치과정', - '인터페이스', - '인트라넷', - '지식 기반', - 'LAN', - '미들웨어', - '마이그레이션', - '모델', - '관리자', - '모니터링', - '공개 시스템', - '패러다임', - '정책', - '포탈', - '제품', - '프로젝트', - '프로토콜', - '서비스 창구', - '소프트웨어', - '솔루션', - '보안구역', - '전략', - '구조체', - '성공', - '지원', - '시너지', - '엔진', - '표준', - '시간화', - '공구', - '웹 사이트')) + ( + "적응된", + "숙련된", + "자동화된", + "안정적인", + "비즈니스 중점적", + "중심이", + "복제된", + "효율적인", + "설정 가능한", + "크로스 그룹", + "크로스 플랫폼", + "사용자 중심의", + "조절 가능한", + "디지털화된", + "출판된", + "다양한", + "낮은", + "강화된", + "인체 공학적인", + "특별한", + "확장된", + "확대된", + "1:1", + "최전방", + "완벽히 설정된", + "함수 기반의", + "미래가 보장된", + "관리된", + "모니터링되는", + "멀티 채널", + "다중 주파수", + "멀티 레이어", + "조직화된", + "객체 기반의", + "공개 아키텍쳐", + "오픈소스", + "최적화된", + "선택적", + "유기농", + "수익에 중점을 둔", + "프로그래밍 가능한", + "진보적인", + "공개 키", + "품질 중심의", + "반동적인", + "재정렬", + "줄어든", + "리버스 엔지니어링된", + "올바른 사이즈의", + "강력한", + "원활한", + "안전한", + "자가 이용 가능한", + "공유 가능한", + "독보적인", + "무결점의", + "변경 가능한", + "동기화", + "융합력있는", + "융합된", + "단체 기반의", + "총", + "트리플 버퍼", + "다용도", + "더 커진", + "업그레이드 가능한", + "더 작아진", + "유저 친화적", + "가상", + "비전 있는", + ), + ( + "24시간", + "24/7", + "3세대", + "4세대", + "5세대", + "6세대", + "작동", + "분석중인", + "비대칭", + "비동기", + "고도 기반", + "백그라운드", + "주파수 탐지 가능", + "요약", + "클라이언트 단", + "클라이언트-서버", + "밀착", + "결합된", + "합성물", + "상황에 맞는", + "문맥 기반", + "컨텐츠 기반", + "헌신적", + "교훈적", + "방향", + "분리된", + "다이나믹", + "환경 친화적", + "실행", + "취약점", + "스며든", + "수요 중심", + "장거리", + "글로벌", + "그리드 가능", + "휴리스틱", + "고단계", + "분리형", + "인간자원", + "하이브리드", + "선구적", + "로컬", + "물류", + "최대화", + "결정", + "휴대형", + "모듈형", + "멀티미디어", + "다중 상태", + "멀티 태스킹", + "국가적", + "범국가적", + "중립형", + "다음 세대", + "객체 지향적", + "필수", + "최적화된", + "근본적", + "실시간", + "역수", + "지역적", + "확장", + "보조", + "해답 기반", + "안정적", + "정적", + "가치추가", + "웹 사용 가능", + "잘 모듈화된", + "무관리", + "무해한", + "무관용", + ), + ( + "능력", + "접근", + "어댑터", + "알고리즘", + "연합", + "분석", + "어플리케이션", + "접근", + "아키텍쳐", + "아카이브", + "인공지능", + "배열", + "태도", + "벤치마크", + "예산 관리", + "환경", + "생산 능력", + "도전", + "회로", + "융합", + "컨셉", + "축적", + "우연성", + "코어", + "고객 만족", + "데이터베이스", + "정의", + "에뮬레이션", + "인코딩", + "암호화", + "엑스트라넷", + "펌웨어", + "유연성", + "예보", + "프레임", + "프레임워크", + "함수", + "그래픽 인터페이스", + "그룹웨어", + "GUI", + "하드웨어", + "안내 창구", + "계층", + "허브", + "미디어 정보", + "환경", + "설치과정", + "인터페이스", + "인트라넷", + "지식 기반", + "LAN", + "미들웨어", + "마이그레이션", + "모델", + "관리자", + "모니터링", + "공개 시스템", + "패러다임", + "정책", + "포탈", + "제품", + "프로젝트", + "프로토콜", + "서비스 창구", + "소프트웨어", + "솔루션", + "보안구역", + "전략", + "구조체", + "성공", + "지원", + "시너지", + "엔진", + "표준", + "시간화", + "공구", + "웹 사이트", + ), + ) bsWords = ( - ('다용도의', - '통합된', - '간소화된', - '최적화된', - '진화된', - '변화된', - '포용적인', - '사용 가능한', - '웅장한', - '재평가된', - '재발명된', - '구조적인', - '강화된', - '장려하는', - '변화무쌍한', - '자율적인', - '선구적인', - '화폐화된', - '전략적인', - '발전하는', - '합성', - '배송', - '혼합된', - '최대화된', - '벤치마킹된', - '신속한', - '깨끗한', - '시각적인', - '창의적인', - '큰', - '폭발하는', - '확장된', - '엔지니어', - '혁명적인', - '제작된', - '취약점의', - '배열적인', - '문화적인'), - ('온라인 쇼핑', - '가치 상승', - '선구적', - '철벽', - '혁명적', - '가변', - '창조적', - '직감', - '전략적', - '전자 비즈니스', - '끈끈한', - '1:1', - '24/7', - '글로벌', - 'B2B', - 'B2C', - '고운', - '가상', - '바이러스성', - '다이나믹', - '24/365', - '고사양', - '킬러', - '자기장', - '최첨단', - '닷컴', - '섹시', - '백 엔드', - '실시간', - '효율적', - '프론트 엔드', - '무결점', - '확장', - '턴키', - '세계급', - '오픈 소스', - '크로스 플랫폼', - '크로스 미디어', - '엔터프라이즈', - '통합', - '강렬한', - '무선', - '투명', - '다음 세대', - '날카로운', - '창의적', - '반투명', - '유비쿼터스', - '플러그 앤 플레이', - '융합', - '강력한', - '강렬한', - '부자'), - ('시너지', - '패러다임', - '마케팅', - '파트너쉽', - '인프라', - '플랫폼', - '채널', - '커뮤니티', - '솔루션', - '전자 서비스', - '포탈', - '기술', - '컨텐츠', - '생산라인', - '관계', - '아키텍쳐', - '인터페이스', - '전자시장', - '전자화폐', - '시스템', - '주파수', - '모델', - '어플리케이션', - '사용자들', - '스키마', - '네트웍스', - '앱', - '매트릭스', - '전자 비즈니스', - '경험', - '웹서비스', - '방법론')) - - company_suffixes = ('(주)', '주식회사', '(유)', '유한회사') - - def catch_phrase(self): - """ - :example 'Robust full-range hub' - """ - result = [] - for word_list in self.catch_phrase_words: - result.append(self.random_element(word_list)) - - return " ".join(result) - - def bs(self): - """ - :example 'integrate extensible convergence' - """ - result = [] - for word_list in self.bsWords: - result.append(self.random_element(word_list)) + ( + "다용도의", + "통합된", + "간소화된", + "최적화된", + "진화된", + "변화된", + "포용적인", + "사용 가능한", + "웅장한", + "재평가된", + "재발명된", + "구조적인", + "강화된", + "장려하는", + "변화무쌍한", + "자율적인", + "선구적인", + "화폐화된", + "전략적인", + "발전하는", + "합성", + "배송", + "혼합된", + "최대화된", + "벤치마킹된", + "신속한", + "깨끗한", + "시각적인", + "창의적인", + "큰", + "폭발하는", + "확장된", + "엔지니어", + "혁명적인", + "제작된", + "취약점의", + "배열적인", + "문화적인", + ), + ( + "온라인 쇼핑", + "가치 상승", + "선구적", + "철벽", + "혁명적", + "가변", + "창조적", + "직감", + "전략적", + "전자 비즈니스", + "끈끈한", + "1:1", + "24/7", + "글로벌", + "B2B", + "B2C", + "고운", + "가상", + "바이러스성", + "다이나믹", + "24/365", + "고사양", + "킬러", + "자기장", + "최첨단", + "닷컴", + "섹시", + "백 엔드", + "실시간", + "효율적", + "프론트 엔드", + "무결점", + "확장", + "턴키", + "세계급", + "오픈 소스", + "크로스 플랫폼", + "크로스 미디어", + "엔터프라이즈", + "통합", + "강렬한", + "무선", + "투명", + "다음 세대", + "날카로운", + "창의적", + "반투명", + "유비쿼터스", + "플러그 앤 플레이", + "융합", + "강력한", + "강렬한", + "부자", + ), + ( + "시너지", + "패러다임", + "마케팅", + "파트너쉽", + "인프라", + "플랫폼", + "채널", + "커뮤니티", + "솔루션", + "전자 서비스", + "포탈", + "기술", + "컨텐츠", + "생산라인", + "관계", + "아키텍쳐", + "인터페이스", + "전자시장", + "전자화폐", + "시스템", + "주파수", + "모델", + "어플리케이션", + "사용자들", + "스키마", + "네트웍스", + "앱", + "매트릭스", + "전자 비즈니스", + "경험", + "웹서비스", + "방법론", + ), + ) - return " ".join(result) + company_suffixes = ("(주)", "주식회사", "(유)", "유한회사") diff --git a/faker/providers/company/nl_NL/__init__.py b/faker/providers/company/nl_NL/__init__.py index 4b70b274f3..c0034a358f 100644 --- a/faker/providers/company/nl_NL/__init__.py +++ b/faker/providers/company/nl_NL/__init__.py @@ -4,102 +4,518 @@ class Provider(CompanyProvider): formats = ( - '{{last_name}} {{company_suffix}}', - '{{last_name}} & {{last_name}}', - '{{company_prefix}} {{last_name}}', - '{{large_company}}', + "{{last_name}} {{company_suffix}}", + "{{last_name}} & {{last_name}}", + "{{company_prefix}} {{last_name}}", + "{{large_company}}", ) company_prefixes = ( - 'Stichting', 'Koninklijke', 'Royal', + "Stichting", + "Koninklijke", + "Royal", ) company_suffixes = ( - 'BV', 'NV', 'Groep', + "BV", + "NV", + "Groep", ) # Source: https://www.mt.nl/management/reputatie/mt-500-2018-de-lijst/559930 large_companies = ( - 'Shell', 'Coolblue', 'ASML', 'Ahold', 'Tata Steel', 'KLM', 'Bol.com', 'BP Nederland', 'De Efteling', 'Eneco', - 'De Persgroep', 'ING', 'Royal HaskoningDHV', 'Randstad', 'Google', 'Ikea', 'Rockwool', 'BAM', 'Achmea', - 'Damen Shipyard', 'ABN Amro', 'Remeha Group', 'TenneT', 'Coca-Cola', 'Van Leeuwen Buizen', 'Wavin', 'Rabobank', - 'AkzoNobel', 'Arcadis', 'AFAS', 'Cisco', 'DAF Trucks', 'DHL', 'Hanos', 'Boon Edam', 'BMW Nederland', - 'The Greenery', 'Dutch Flower Group', 'Koninklijke Mosa', 'Yacht', 'Rituals', 'Microsoft', 'Esso', - '3W Vastgoed', 'Deloitte', 'Corio', 'Voortman Steel Group', 'Agrifirm', 'Makro Nederland', - 'Nederlandse Publieke Omroep', 'De Alliantie', 'Heijmans', 'McDonalds', 'ANWB', 'Mediamarkt', 'Kruidvat' - 'Van Merksteijn Steel', 'Dura Vermeer', 'Alliander', 'Unilever', 'Enexis', 'Berenschot', 'Jumbo', - 'Technische Unie', 'Havenbedrijf Rotterdam', 'Ballast Nedam', 'RTL Nederland', 'Talpa Media', - 'Blauwhoed Vastgoed', 'DSM', 'Ymere', 'Witteveen+Bos', 'NS', 'Action', 'FloraHolland', 'Heineken', 'Nuon', 'EY', - 'Dow Benelux', 'Bavaria', 'Schiphol', 'Holland Casino', 'Binck bank', 'BDO', 'HEMA', 'Alphabet Nederland', - 'Croon Elektrotechniek', 'ASR Vastgoed ontwikkeling', 'PwC', 'Mammoet', 'KEMA', 'IBM', 'A.S. Watson', - 'KPMG', 'VodafoneZiggo', 'YoungCapital', 'Triodos Bank', 'Aviko', 'AgruniekRijnvallei', 'Heerema', 'Accenture', - 'Aegon', 'NXP', 'Breman Installatiegroep', 'Movares Groep', 'Q-Park', 'FleuraMetz', 'Sanoma', - 'Bakker Logistiek', 'VDL Group', 'Bayer', 'Boskalis', 'Nutreco', 'Dell', 'Brunel', 'Exact', 'Manpower', - 'Essent', 'Canon', 'ONVZ Zorgverzekeraar', 'Telegraaf Media Group', 'Nationale Nederlanden', 'Andus Group', - 'Den Braven Group', 'ADP', 'ASR', 'ArboNed', 'Plieger', 'De Heus Diervoeders', 'USG People', 'Bidvest Deli XL', - 'Apollo Vredestein', 'Tempo-Team', 'Trespa', 'Janssen Biologics', 'Starbucks', 'PostNL', 'Vanderlande', - 'FrieslandCampina', 'Constellium', 'Huisman', 'Abbott', 'Koninklijke Boom Uitgevers', 'Bosch Rexroth', 'BASF', - 'Audax', 'VolkerWessels', 'Hunkemöller', 'Athlon Car Lease', 'DSW Zorgverzekeraar', 'Mars', - 'De Brauw Blackstone Westbroek', 'NDC Mediagroep', 'Bluewater', 'Stedin', 'Feenstra', - 'Wuppermann Staal Nederland', 'Kramp', 'SABIC', 'Iv-Groep', 'Bejo Zaden', 'Wolters Kluwer', 'Nyrstar holding', - 'Adecco', 'Tauw', 'Robeco', 'Eriks', 'Allianz Nederland Groep', 'Driessen', 'Burger King', 'Lekkerland', - 'Van Lanschot', 'Brocacef', 'Bureau Veritas', 'Relx', 'Pathé Bioscopen', 'Bosal', - 'Ardagh Group', 'Maandag', 'Inalfa', 'Atradius', 'Capgemini', 'Greenchoice', 'Q8 (Kuwait Petroleum Europe)', - 'ASM International', 'Van der Valk', 'Delta Lloyd', 'GlaxoSmithKline', 'ABB', - 'Fabory, a Grainger company', 'Veen Bosch & Keuning Uitgeversgroep', 'CZ', 'Plus', 'RET Rotterdam', - 'Loyens & Loeff', 'Holland Trading', 'Archer Daniels Midland Nederland', 'Ten Brinke', 'NAM', 'DAS', - 'Samsung Electronics Benelux', 'Koopman International', 'TUI', 'Lannoo Meulenhoff', 'AC Restaurants', - 'Stage Entertainment', 'Acer', 'HDI Global SE', 'Detailresult', 'Nestle', 'GVB Amsterdam', 'Dekamarkt', 'Dirk', - 'MSD', 'Arriva', 'Baker Tilly Berk', 'SBM Offshore', 'TomTom', 'Fujifilm', 'B&S', 'BCC', 'Gasunie', - 'Oracle Nederland', 'Astellas Pharma', 'SKF', 'Woningstichting Eigen Haard', 'Rijk Zwaan', 'Chubb', 'Fugro', - 'Total', 'Rochdale', 'ASVB', 'Atos', 'Acomo', 'KPN', 'Van Drie Group', 'Olympia uitzendbureau', - 'Bacardi Nederland', 'JMW Horeca Uitzendbureau', 'Warner Bros/Eyeworks', 'Aalberts Industries', 'SNS Bank', - 'Amtrada Holding', 'VGZ', 'Grolsch', 'Office Depot', 'De Rijke Group', 'Bovemij Verzekeringsgroep', - 'Coop Nederland', 'Eaton Industries', 'ASN', 'Yara Sluiskil', 'HSF Logistics', 'Fokker', 'Deutsche Bank', - 'Sweco', 'Univé Groep', 'Koninklijke Wagenborg', 'Strukton', 'Conclusion', 'Philips', 'In Person', - 'Fluor', 'Vroegop-Windig', 'ArboUnie', 'Centraal Boekhuis', 'Siemens', 'Connexxion', 'Fujitsu', 'Consolid', - 'AVR Afvalverwerking', 'Brabant Alucast', 'Centric', 'Havensteder', 'Novartis', 'Booking.com', 'Menzis', - 'Frankort & Koning Groep', 'Jan de Rijk', 'Brand Loyalty Group', 'Ohra Verzekeringen', 'Terberg Group', - 'Cloetta', 'Holland & Barrett', 'Enza Zaden', 'VION', 'Woonzorg Nederland', - 'T-Mobile', 'Crucell', 'NautaDutilh', 'BNP Paribas', 'NIBC Bank', 'VastNed', 'CCV Holland', - 'IHC Merwede', 'Neways', 'NSI N.V.', 'Deen', 'Accor', 'HTM', 'ITM Group', 'Ordina', 'Dümmen Orange', 'Optiver', - 'Zara', 'L\'Oreal Nederland B.V.', 'Vinci Energies', 'Suit Supply Topco', 'Sita', 'Vos Logistics', - 'Altran', 'St. Clair', 'BESI', 'Fiat Chrysler Automobiles', 'UPS', 'Jacobs', 'Emté', 'TBI', 'De Bijenkorf', - 'Aldi Nederland', 'Van Wijnen', 'Vitens', 'De Goudse Verzekeringen', 'SBS Broadcasting', - 'Sandd', 'Omron', 'Sogeti', 'Alfa Accountants & Adviseurs', 'Harvey Nash', 'Stork', 'Glencore Grain', - 'Meijburg & Co', 'Honeywell', 'Meyn', 'Ericsson Telecommunicatie', 'Hurks', 'Mitsubishi', 'GGN', - 'CGI Nederland', 'Staples Nederland', 'Denkavit International', 'Ecorys', 'Rexel Nederland', - 'A. Hakpark', 'DuPont Nederland', 'CBRE Group', 'Bolsius', 'Marel', 'Metro', - 'Flynth Adviseurs en Accountants', 'Kropman Installatietechniek', 'Kuijpers', 'Medtronic', 'Cefetra', - 'Simon Loos', 'Citadel Enterprises', 'Intergamma', 'Ceva Logistics', 'Beter Bed', 'Subway', 'Gamma', 'Karwei' - 'Varo Energy', 'APM Terminals', 'Center Parcs', 'Brenntag Nederland', 'NFI', 'Hoogvliet', - 'Van Gansewinkel', 'Nedap', 'Blokker', 'Perfetti Van Melle', 'Vestia', 'Kuehne + Nagel Logistics', - 'Rensa Group', 'NTS Group', 'Joh. Mourik & Co. Holding', 'Mercedes-Benz', 'DIT Personeel', 'Verkade', - 'Hametha', 'Vopak', 'IFF', 'Pearle', 'Mainfreight', 'De Jong & Laan', 'DSV', 'P4People', 'Mazars', 'Cargill', - 'Ten Brinke Groep', 'Alewijnse', 'Agio Cigars', 'Peter Appel Transport', 'Syngenta', 'Avery Dennison', - 'Accon AVM', 'Vitol', 'Vermaat Groep', 'BMC', 'Alcatel-Lucent', 'Maxeda DIY', 'Equens', - 'Van Gelder Groep', 'Emerson Electric Nederland', 'Bakkersland', 'Specsavers', 'E.On', 'Landal Greenparks', - 'IMC Trading', 'Barentz Group', 'Epson', 'Raet', 'Van Oord', 'Thomas Cook Nederland', 'SDU uitgevers', - 'Nedschroef', 'Linde Gas', 'Ewals Cargo Care', 'Theodoor Gilissen', 'TMF Group', 'Cornelis Vrolijk', - 'Jan Linders Supermarkten', 'SIF group', 'BT Nederland', 'Kinepolis', 'Pink Elephant', - 'General Motors Nederland', 'Carlson Wagonlit', 'Bruna', 'Docdata', 'Schenk Tanktransport', 'WPG', 'Peak-IT', - 'Martinair', 'Reesink', 'Elopak Nederland', 'Fagron N.V.', 'OVG Groep', 'Ford Nederland', 'Multi Corporation', - 'Simac', 'Primark', 'Tech Data Nederland', 'Vleesgroothandel Zandbergen', 'Raben Group', 'Farm Frites', - 'Libéma', 'Caldic', 'Portaal', 'Syntus', 'Jacobs DE', 'Stena Line', 'The Phone House', 'Interfood Group', - 'Thales', 'Teva Pharmaceuticals', 'RFS Holland', 'Aebi Schmidt Nederland', - 'Rockwell Automation Nederland', 'Engie Services', 'Hendrix Genetics', 'Qbuzz', 'Unica', - '2SistersFoodGroup', 'Ziut', 'Munckhof Groep', 'Spar Holding', 'Samskip', 'Continental Bakeries', 'Sligro', - 'Merck', 'Foot Locker Europe', 'Unit4', 'PepsiCo', 'Sulzer', 'Tebodin', 'Value8', 'Boels', - 'DKG Groep', 'Bruynzeel Keukens', 'Janssen de Jong Groep', 'ProRail', 'Solid Professionals', 'Hermes Partners', + "Shell", + "Coolblue", + "ASML", + "Ahold", + "Tata Steel", + "KLM", + "Bol.com", + "BP Nederland", + "De Efteling", + "Eneco", + "De Persgroep", + "ING", + "Royal HaskoningDHV", + "Randstad", + "Google", + "Ikea", + "Rockwool", + "BAM", + "Achmea", + "Damen Shipyard", + "ABN Amro", + "Remeha Group", + "TenneT", + "Coca-Cola", + "Van Leeuwen Buizen", + "Wavin", + "Rabobank", + "AkzoNobel", + "Arcadis", + "AFAS", + "Cisco", + "DAF Trucks", + "DHL", + "Hanos", + "Boon Edam", + "BMW Nederland", + "The Greenery", + "Dutch Flower Group", + "Koninklijke Mosa", + "Yacht", + "Rituals", + "Microsoft", + "Esso", + "3W Vastgoed", + "Deloitte", + "Corio", + "Voortman Steel Group", + "Agrifirm", + "Makro Nederland", + "Nederlandse Publieke Omroep", + "De Alliantie", + "Heijmans", + "McDonalds", + "ANWB", + "Mediamarkt", + "Kruidvat" "Van Merksteijn Steel", + "Dura Vermeer", + "Alliander", + "Unilever", + "Enexis", + "Berenschot", + "Jumbo", + "Technische Unie", + "Havenbedrijf Rotterdam", + "Ballast Nedam", + "RTL Nederland", + "Talpa Media", + "Blauwhoed Vastgoed", + "DSM", + "Ymere", + "Witteveen+Bos", + "NS", + "Action", + "FloraHolland", + "Heineken", + "Nuon", + "EY", + "Dow Benelux", + "Bavaria", + "Schiphol", + "Holland Casino", + "Binck bank", + "BDO", + "HEMA", + "Alphabet Nederland", + "Croon Elektrotechniek", + "ASR Vastgoed ontwikkeling", + "PwC", + "Mammoet", + "KEMA", + "IBM", + "A.S. Watson", + "KPMG", + "VodafoneZiggo", + "YoungCapital", + "Triodos Bank", + "Aviko", + "AgruniekRijnvallei", + "Heerema", + "Accenture", + "Aegon", + "NXP", + "Breman Installatiegroep", + "Movares Groep", + "Q-Park", + "FleuraMetz", + "Sanoma", + "Bakker Logistiek", + "VDL Group", + "Bayer", + "Boskalis", + "Nutreco", + "Dell", + "Brunel", + "Exact", + "Manpower", + "Essent", + "Canon", + "ONVZ Zorgverzekeraar", + "Telegraaf Media Group", + "Nationale Nederlanden", + "Andus Group", + "Den Braven Group", + "ADP", + "ASR", + "ArboNed", + "Plieger", + "De Heus Diervoeders", + "USG People", + "Bidvest Deli XL", + "Apollo Vredestein", + "Tempo-Team", + "Trespa", + "Janssen Biologics", + "Starbucks", + "PostNL", + "Vanderlande", + "FrieslandCampina", + "Constellium", + "Huisman", + "Abbott", + "Koninklijke Boom Uitgevers", + "Bosch Rexroth", + "BASF", + "Audax", + "VolkerWessels", + "Hunkemöller", + "Athlon Car Lease", + "DSW Zorgverzekeraar", + "Mars", + "De Brauw Blackstone Westbroek", + "NDC Mediagroep", + "Bluewater", + "Stedin", + "Feenstra", + "Wuppermann Staal Nederland", + "Kramp", + "SABIC", + "Iv-Groep", + "Bejo Zaden", + "Wolters Kluwer", + "Nyrstar holding", + "Adecco", + "Tauw", + "Robeco", + "Eriks", + "Allianz Nederland Groep", + "Driessen", + "Burger King", + "Lekkerland", + "Van Lanschot", + "Brocacef", + "Bureau Veritas", + "Relx", + "Pathé Bioscopen", + "Bosal", + "Ardagh Group", + "Maandag", + "Inalfa", + "Atradius", + "Capgemini", + "Greenchoice", + "Q8 (Kuwait Petroleum Europe)", + "ASM International", + "Van der Valk", + "Delta Lloyd", + "GlaxoSmithKline", + "ABB", + "Fabory, a Grainger company", + "Veen Bosch & Keuning Uitgeversgroep", + "CZ", + "Plus", + "RET Rotterdam", + "Loyens & Loeff", + "Holland Trading", + "Archer Daniels Midland Nederland", + "Ten Brinke", + "NAM", + "DAS", + "Samsung Electronics Benelux", + "Koopman International", + "TUI", + "Lannoo Meulenhoff", + "AC Restaurants", + "Stage Entertainment", + "Acer", + "HDI Global SE", + "Detailresult", + "Nestle", + "GVB Amsterdam", + "Dekamarkt", + "Dirk", + "MSD", + "Arriva", + "Baker Tilly Berk", + "SBM Offshore", + "TomTom", + "Fujifilm", + "B&S", + "BCC", + "Gasunie", + "Oracle Nederland", + "Astellas Pharma", + "SKF", + "Woningstichting Eigen Haard", + "Rijk Zwaan", + "Chubb", + "Fugro", + "Total", + "Rochdale", + "ASVB", + "Atos", + "Acomo", + "KPN", + "Van Drie Group", + "Olympia uitzendbureau", + "Bacardi Nederland", + "JMW Horeca Uitzendbureau", + "Warner Bros/Eyeworks", + "Aalberts Industries", + "SNS Bank", + "Amtrada Holding", + "VGZ", + "Grolsch", + "Office Depot", + "De Rijke Group", + "Bovemij Verzekeringsgroep", + "Coop Nederland", + "Eaton Industries", + "ASN", + "Yara Sluiskil", + "HSF Logistics", + "Fokker", + "Deutsche Bank", + "Sweco", + "Univé Groep", + "Koninklijke Wagenborg", + "Strukton", + "Conclusion", + "Philips", + "In Person", + "Fluor", + "Vroegop-Windig", + "ArboUnie", + "Centraal Boekhuis", + "Siemens", + "Connexxion", + "Fujitsu", + "Consolid", + "AVR Afvalverwerking", + "Brabant Alucast", + "Centric", + "Havensteder", + "Novartis", + "Booking.com", + "Menzis", + "Frankort & Koning Groep", + "Jan de Rijk", + "Brand Loyalty Group", + "Ohra Verzekeringen", + "Terberg Group", + "Cloetta", + "Holland & Barrett", + "Enza Zaden", + "VION", + "Woonzorg Nederland", + "T-Mobile", + "Crucell", + "NautaDutilh", + "BNP Paribas", + "NIBC Bank", + "VastNed", + "CCV Holland", + "IHC Merwede", + "Neways", + "NSI N.V.", + "Deen", + "Accor", + "HTM", + "ITM Group", + "Ordina", + "Dümmen Orange", + "Optiver", + "Zara", + "L'Oreal Nederland B.V.", + "Vinci Energies", + "Suit Supply Topco", + "Sita", + "Vos Logistics", + "Altran", + "St. Clair", + "BESI", + "Fiat Chrysler Automobiles", + "UPS", + "Jacobs", + "Emté", + "TBI", + "De Bijenkorf", + "Aldi Nederland", + "Van Wijnen", + "Vitens", + "De Goudse Verzekeringen", + "SBS Broadcasting", + "Sandd", + "Omron", + "Sogeti", + "Alfa Accountants & Adviseurs", + "Harvey Nash", + "Stork", + "Glencore Grain", + "Meijburg & Co", + "Honeywell", + "Meyn", + "Ericsson Telecommunicatie", + "Hurks", + "Mitsubishi", + "GGN", + "CGI Nederland", + "Staples Nederland", + "Denkavit International", + "Ecorys", + "Rexel Nederland", + "A. Hakpark", + "DuPont Nederland", + "CBRE Group", + "Bolsius", + "Marel", + "Metro", + "Flynth Adviseurs en Accountants", + "Kropman Installatietechniek", + "Kuijpers", + "Medtronic", + "Cefetra", + "Simon Loos", + "Citadel Enterprises", + "Intergamma", + "Ceva Logistics", + "Beter Bed", + "Subway", + "Gamma", + "Karwei" "Varo Energy", + "APM Terminals", + "Center Parcs", + "Brenntag Nederland", + "NFI", + "Hoogvliet", + "Van Gansewinkel", + "Nedap", + "Blokker", + "Perfetti Van Melle", + "Vestia", + "Kuehne + Nagel Logistics", + "Rensa Group", + "NTS Group", + "Joh. Mourik & Co. Holding", + "Mercedes-Benz", + "DIT Personeel", + "Verkade", + "Hametha", + "Vopak", + "IFF", + "Pearle", + "Mainfreight", + "De Jong & Laan", + "DSV", + "P4People", + "Mazars", + "Cargill", + "Ten Brinke Groep", + "Alewijnse", + "Agio Cigars", + "Peter Appel Transport", + "Syngenta", + "Avery Dennison", + "Accon AVM", + "Vitol", + "Vermaat Groep", + "BMC", + "Alcatel-Lucent", + "Maxeda DIY", + "Equens", + "Van Gelder Groep", + "Emerson Electric Nederland", + "Bakkersland", + "Specsavers", + "E.On", + "Landal Greenparks", + "IMC Trading", + "Barentz Group", + "Epson", + "Raet", + "Van Oord", + "Thomas Cook Nederland", + "SDU uitgevers", + "Nedschroef", + "Linde Gas", + "Ewals Cargo Care", + "Theodoor Gilissen", + "TMF Group", + "Cornelis Vrolijk", + "Jan Linders Supermarkten", + "SIF group", + "BT Nederland", + "Kinepolis", + "Pink Elephant", + "General Motors Nederland", + "Carlson Wagonlit", + "Bruna", + "Docdata", + "Schenk Tanktransport", + "WPG", + "Peak-IT", + "Martinair", + "Reesink", + "Elopak Nederland", + "Fagron N.V.", + "OVG Groep", + "Ford Nederland", + "Multi Corporation", + "Simac", + "Primark", + "Tech Data Nederland", + "Vleesgroothandel Zandbergen", + "Raben Group", + "Farm Frites", + "Libéma", + "Caldic", + "Portaal", + "Syntus", + "Jacobs DE", + "Stena Line", + "The Phone House", + "Interfood Group", + "Thales", + "Teva Pharmaceuticals", + "RFS Holland", + "Aebi Schmidt Nederland", + "Rockwell Automation Nederland", + "Engie Services", + "Hendrix Genetics", + "Qbuzz", + "Unica", + "2SistersFoodGroup", + "Ziut", + "Munckhof Groep", + "Spar Holding", + "Samskip", + "Continental Bakeries", + "Sligro", + "Merck", + "Foot Locker Europe", + "Unit4", + "PepsiCo", + "Sulzer", + "Tebodin", + "Value8", + "Boels", + "DKG Groep", + "Bruynzeel Keukens", + "Janssen de Jong Groep", + "ProRail", + "Solid Professionals", + "Hermes Partners", ) - def large_company(self): + def large_company(self) -> str: """ :example: 'Bol.com' """ return self.random_element(self.large_companies) - def company_prefix(self): + def company_prefix(self) -> str: """ :example 'Stichting' """ diff --git a/faker/providers/company/no_NO/__init__.py b/faker/providers/company/no_NO/__init__.py index c86b9bf805..3cea1de0ee 100644 --- a/faker/providers/company/no_NO/__init__.py +++ b/faker/providers/company/no_NO/__init__.py @@ -3,14 +3,20 @@ class Provider(CompanyProvider): formats = [ - '{{last_name}} {{company_suffix}}', - '{{last_name}} {{company_suffix}}', - '{{last_name}} {{company_suffix}}', - '{{last_name}}-{{last_name}} {{company_suffix}}', - '{{last_name}}, {{last_name}} og {{last_name}}', - '{{last_name}}-{{last_name}}', + "{{last_name}} {{company_suffix}}", + "{{last_name}} {{company_suffix}}", + "{{last_name}} {{company_suffix}}", + "{{last_name}}-{{last_name}} {{company_suffix}}", + "{{last_name}}, {{last_name}} og {{last_name}}", + "{{last_name}}-{{last_name}}", ] company_suffixes = [ - 'Gruppen', 'AS', 'ASA', 'BA', 'RFH', 'og Sønner', '& co.', + "Gruppen", + "AS", + "ASA", + "BA", + "RFH", + "og Sønner", + "& co.", ] diff --git a/faker/providers/company/pl_PL/__init__.py b/faker/providers/company/pl_PL/__init__.py index 23e222357d..825d0e10ff 100644 --- a/faker/providers/company/pl_PL/__init__.py +++ b/faker/providers/company/pl_PL/__init__.py @@ -1,7 +1,9 @@ +from typing import List + from .. import Provider as CompanyProvider -def regon_checksum(digits): +def regon_checksum(digits: List[int]) -> int: """ Calculates and returns a control digit for given list of digits basing on REGON standard. """ @@ -19,7 +21,7 @@ def regon_checksum(digits): return check_digit -def local_regon_checksum(digits): +def local_regon_checksum(digits: List[int]) -> int: """ Calculates and returns a control digit for given list of digits basing on local REGON standard. """ @@ -37,7 +39,7 @@ def local_regon_checksum(digits): return check_digit -def company_vat_checksum(digits): +def company_vat_checksum(digits: List[int]) -> int: """ Calculates and returns a control digit for given list of digits basing on NIP standard. """ @@ -55,24 +57,40 @@ def company_vat_checksum(digits): class Provider(CompanyProvider): formats = ( - '{{last_name}} {{company_suffix}}', - '{{last_name}}-{{last_name}} {{company_suffix}}', - '{{company_prefix}} {{last_name}}', - '{{company_prefix}} {{last_name}} {{company_suffix}}', - '{{company_prefix}} {{last_name}}-{{last_name}} {{company_suffix}}', + "{{last_name}} {{company_suffix}}", + "{{last_name}}-{{last_name}} {{company_suffix}}", + "{{company_prefix}} {{last_name}}", + "{{company_prefix}} {{last_name}} {{company_suffix}}", + "{{company_prefix}} {{last_name}}-{{last_name}} {{company_suffix}}", ) - company_prefixes = ('Grupa', 'Spółdzielnia', 'Stowarzyszenie', 'Fundacja', 'PPUH', 'FPUH', 'Gabinety') + company_prefixes = ( + "Grupa", + "Spółdzielnia", + "Stowarzyszenie", + "Fundacja", + "PPUH", + "FPUH", + "Gabinety", + ) - company_suffixes = ('Sp. z o.o.', 'S.A.', 'Sp. z o.o. Sp.k.', 'Sp.j.', 's.c.', 'Sp.k.', 'i syn s.c.') + company_suffixes = ( + "Sp. z o.o.", + "S.A.", + "Sp. z o.o. Sp.k.", + "Sp.j.", + "s.c.", + "Sp.k.", + "i syn s.c.", + ) - def company_prefix(self): + def company_prefix(self) -> str: """ :example 'Grupa' """ return self.random_element(self.company_prefixes) - def regon(self): + def regon(self) -> str: """ Returns 9 character Polish National Business Registry Number, Polish: Rejestr Gospodarki Narodowej - REGON. @@ -87,9 +105,9 @@ def regon(self): regon_digits.append(regon_checksum(regon_digits)) - return ''.join(str(digit) for digit in regon_digits) + return "".join(str(digit) for digit in regon_digits) - def local_regon(self): + def local_regon(self) -> str: """ Returns 14 character Polish National Business Registry Number, local entity number. @@ -103,9 +121,9 @@ def local_regon(self): regon_digits.append(local_regon_checksum(regon_digits)) - return ''.join(str(digit) for digit in regon_digits) + return "".join(str(digit) for digit in regon_digits) - def company_vat(self): + def company_vat(self) -> str: """ Returns 10 character tax identification number, Polish: Numer identyfikacji podatkowej. @@ -129,4 +147,4 @@ def company_vat(self): vat_digits.append(check_digit) - return ''.join(str(digit) for digit in vat_digits) + return "".join(str(digit) for digit in vat_digits) diff --git a/faker/providers/company/pt_BR/__init__.py b/faker/providers/company/pt_BR/__init__.py index 42d7fad4a5..6be21dd3cf 100644 --- a/faker/providers/company/pt_BR/__init__.py +++ b/faker/providers/company/pt_BR/__init__.py @@ -1,7 +1,9 @@ +from typing import List + from .. import Provider as CompanyProvider -def company_id_checksum(digits): +def company_id_checksum(digits: List[int]) -> List[int]: digits = list(digits) weights = 6, 5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2 @@ -20,88 +22,90 @@ def company_id_checksum(digits): class Provider(CompanyProvider): formats = ( - '{{last_name}} {{company_suffix}}', - '{{last_name}} {{last_name}} {{company_suffix}}', - '{{last_name}}', - '{{last_name}}', + "{{last_name}} {{company_suffix}}", + "{{last_name}} {{last_name}} {{company_suffix}}", + "{{last_name}}", + "{{last_name}}", ) - catch_phrase_formats = ( - '{{catch_phrase_noun}} {{catch_phrase_verb}} {{catch_phrase_attribute}}', ) + catch_phrase_formats = ("{{catch_phrase_noun}} {{catch_phrase_verb}} {{catch_phrase_attribute}}",) nouns = ( - 'a segurança', - 'o prazer', - 'o conforto', - 'a simplicidade', - 'a certeza', - 'a arte', - 'o poder', - 'o direito', - 'a possibilidade', - 'a vantagem', - 'a liberdade') + "a segurança", + "o prazer", + "o conforto", + "a simplicidade", + "a certeza", + "a arte", + "o poder", + "o direito", + "a possibilidade", + "a vantagem", + "a liberdade", + ) verbs = ( - 'de conseguir', - 'de avançar', - 'de evoluir', - 'de mudar', - 'de inovar', - 'de ganhar', - 'de atingir seus objetivos', - 'de concretizar seus projetos', - 'de realizar seus sonhos') + "de conseguir", + "de avançar", + "de evoluir", + "de mudar", + "de inovar", + "de ganhar", + "de atingir seus objetivos", + "de concretizar seus projetos", + "de realizar seus sonhos", + ) attributes = ( - 'de maneira eficaz', - 'mais rapidamente', - 'mais facilmente', - 'simplesmente', - 'com toda a tranquilidade', - 'antes de tudo', - 'naturalmente', - 'sem preocupação', - 'em estado puro', - 'com força total', - 'direto da fonte', - 'com confiança') - - company_suffixes = ('S/A', 'S.A.', 'Ltda.', '- ME', '- EI', 'e Filhos') - - def catch_phrase_noun(self): + "de maneira eficaz", + "mais rapidamente", + "mais facilmente", + "simplesmente", + "com toda a tranquilidade", + "antes de tudo", + "naturalmente", + "sem preocupação", + "em estado puro", + "com força total", + "direto da fonte", + "com confiança", + ) + + company_suffixes = ("S/A", "S.A.", "Ltda.", "- ME", "- EI", "e Filhos") + + def catch_phrase_noun(self) -> str: """ Returns a random catch phrase noun. """ return self.random_element(self.nouns) - def catch_phrase_attribute(self): + def catch_phrase_attribute(self) -> str: """ Returns a random catch phrase attribute. """ return self.random_element(self.attributes) - def catch_phrase_verb(self): + def catch_phrase_verb(self) -> str: """ Returns a random catch phrase verb. """ return self.random_element(self.verbs) - def catch_phrase(self): + def catch_phrase(self) -> str: """ :example 'a segurança de evoluir sem preocupação' """ - pattern = self.random_element(self.catch_phrase_formats) + pattern: str = self.random_element(self.catch_phrase_formats) catch_phrase = self.generator.parse(pattern) catch_phrase = catch_phrase[0].upper() + catch_phrase[1:] return catch_phrase - def company_id(self): - digits = self.random_sample(range(10), 8) + [0, 0, 0, 1] + def company_id(self) -> str: + digits: List[int] = list(self.random_sample(range(10), 8)) + digits += [0, 0, 0, 1] digits += company_id_checksum(digits) - return ''.join(str(d) for d in digits) + return "".join(str(d) for d in digits) - def cnpj(self): + def cnpj(self) -> str: digits = self.company_id() - return '{}.{}.{}/{}-{}'.format(digits[:2], digits[2:5], digits[5:8], - digits[8:12], digits[12:]) + return f"{digits[:2]}.{digits[2:5]}.{digits[5:8]}/{digits[8:12]}-{digits[12:]}" diff --git a/faker/providers/company/pt_PT/__init__.py b/faker/providers/company/pt_PT/__init__.py index 93ab7959da..fd5be8b690 100644 --- a/faker/providers/company/pt_PT/__init__.py +++ b/faker/providers/company/pt_PT/__init__.py @@ -3,32 +3,51 @@ class Provider(CompanyProvider): formats = ( - '{{last_name}} {{company_suffix}}', - '{{last_name}} {{last_name}} {{company_suffix}}', - '{{last_name}}', - '{{last_name}}', + "{{last_name}} {{company_suffix}}", + "{{last_name}} {{last_name}} {{company_suffix}}", + "{{last_name}}", + "{{last_name}}", ) - catch_phrase_formats = ( - '{{catch_phrase_noun}} {{catch_phrase_verb}} {{catch_phrase_attribute}}', ) - nouns = ( - 'a segurança', 'o prazer', 'o conforto', 'a simplicidade', 'a certeza', - 'a arte', 'o poder', 'o direito', 'a possibilidade', 'a vantagem', - 'a liberdade', + "a segurança", + "o prazer", + "o conforto", + "a simplicidade", + "a certeza", + "a arte", + "o poder", + "o direito", + "a possibilidade", + "a vantagem", + "a liberdade", ) verbs = ( - 'de conseguir', 'de avançar', 'de evoluir', 'de mudar', 'de inovar', - 'de ganhar', 'de atingir os seus objetivos', - 'de concretizar seus projetos', 'de realizar seus sonhos', + "de conseguir", + "de avançar", + "de evoluir", + "de mudar", + "de inovar", + "de ganhar", + "de atingir os seus objetivos", + "de concretizar seus projetos", + "de realizar seus sonhos", ) attributes = ( - 'de maneira eficaz', 'mais rapidamente', 'mais facilmente', - 'simplesmente', 'com toda a tranquilidade', 'antes de tudo', - 'naturalmente', 'sem preocupação', 'em estado puro', 'com força total', - 'direto da fonte', 'com confiança', + "de maneira eficaz", + "mais rapidamente", + "mais facilmente", + "simplesmente", + "com toda a tranquilidade", + "antes de tudo", + "naturalmente", + "sem preocupação", + "em estado puro", + "com força total", + "direto da fonte", + "com confiança", ) - company_suffixes = ('S/A', 'S.A.', 'Lda.', 'e Filhos') + company_suffixes = ("S/A", "S.A.", "Lda.", "e Filhos") diff --git a/faker/providers/company/ro_RO/__init__.py b/faker/providers/company/ro_RO/__init__.py new file mode 100644 index 0000000000..fee7e19f93 --- /dev/null +++ b/faker/providers/company/ro_RO/__init__.py @@ -0,0 +1,35 @@ +from .. import Provider as CompanyProvider + + +class Provider(CompanyProvider): + + formats = ( + "{{last_name}} {{company_suffix}}", + "{{last_name}} {{last_name}} {{company_suffix}}", + "{{last_name}}", + ) + + company_suffixes = ( + "SRL", + "SA", + "SCA", + "SNC", + "SCS", + "AFJ", + "ASF", + "CON", + "CRL", + "INC", + "LOC", + "OC1", + "OC2", + "OC3", + "PFA", + "RA", + "SCS", + "SPI", + "URL", + ) + + def company_suffix(self) -> str: + return self.random_element(self.company_suffixes) diff --git a/faker/providers/company/ru_RU/__init__.py b/faker/providers/company/ru_RU/__init__.py index 4cc65e3ffe..f305bedc99 100644 --- a/faker/providers/company/ru_RU/__init__.py +++ b/faker/providers/company/ru_RU/__init__.py @@ -3,8 +3,8 @@ from .. import Provider as CompanyProvider -def calculate_checksum(value): - factors = [3, 7, 2, 4, 10, 3, 5, 9, 4, 6, 8][-len(value):] +def calculate_checksum(value: str) -> str: + factors = [3, 7, 2, 4, 10, 3, 5, 9, 4, 6, 8][-len(value) :] check_sum = 0 for number, factor in zip(value, factors): check_sum += int(number) * factor @@ -14,310 +14,1157 @@ def calculate_checksum(value): class Provider(CompanyProvider): formats = ( - '{{company_prefix}} «{{last_name}}»', - '{{company_prefix}} «{{last_name}} {{last_name}}»', - '{{company_prefix}} «{{last_name}}-{{last_name}}»', - '{{company_prefix}} «{{last_name}}, {{last_name}} и {{last_name}}»', - '{{last_name}} {{company_suffix}}', - '{{large_company}}', + "{{company_prefix}} «{{last_name}}»", + "{{company_prefix}} «{{last_name}} {{last_name}}»", + "{{company_prefix}} «{{last_name}}-{{last_name}}»", + "{{company_prefix}} «{{last_name}}, {{last_name}} и {{last_name}}»", + "{{last_name}} {{company_suffix}}", + "{{large_company}}", ) company_prefixes = ( - 'РАО', 'АО', 'ИП', 'НПО', 'ЗАО', 'ООО', 'ОАО', + "РАО", + "АО", + "ИП", + "НПО", + "ЗАО", + "ООО", + "ОАО", ) company_suffixes = ( - 'Инк', 'Инкорпорэйтед', 'и партнеры', 'Групп', 'Лтд', 'Лимитед', + "Инк", + "Инкорпорэйтед", + "и партнеры", + "Групп", + "Лтд", + "Лимитед", ) # Source: https://www.rbc.ru/rbc500/ large_companies = ( - 'Газпром', 'ЛУКОЙЛ', 'Роснефть', 'Сбербанк России', 'Российские железные дороги', 'Ростех', 'Сургутнефтегаз', - 'X5 Retail Group', 'ВТБ', 'Магнит', 'САФМАР', 'Росатом', 'Российские сети', 'Интер РАО', 'Транснефть', - 'Татнефть', 'НОВАТЭК', 'Евраз', 'АФК Система', 'En +', 'НЛМК', 'Норникель', 'ГК Мегаполис', 'Газпромбанк', - 'Русал', 'Аэрофлот — Российские авиалинии', 'Сибур Холдинг', 'Северсталь', 'СУЭК', 'ММК', 'Группа УГМК', - 'Мобильные телесистемы', 'Металлоинвест', 'Лента', 'Объединенная авиастроительная корпорация', 'РусГидро', - 'Сахалин Энерджи', 'Т Плюс', 'Группа М.Видео-Эльдорадо', 'Еврохим', 'ВымпелКом', - 'Банковский холдинг Альфа-банка', 'Объединенная судостроительная корпорация', 'МегаФон', 'Ростелеком', 'ТМК', - 'Славнефть', 'Тойота Мотор (Toyota)', 'Мечел', 'Автотор холдинг', 'Стройгазмонтаж', 'Дж.Т.И. Россия (JTI)', - 'Торговая сеть Красное и Белое', 'АК Алроса', 'Дикси Групп', 'ВЭБ.РФ', 'ФМСМ (PMI)', 'Фольксваген Груп Рус', - 'АвтоВАЗ', 'Леруа Мерлен Восток (Leroi Merlin)', 'Ашан (Auchan)', 'Россельхозбанк', 'ДНС Групп', - 'ГК ТНС энерго', 'Протек', 'Группа компаний ПИК', 'Объединенная двигателестроительная корпорация', - 'Независимая нефтегазовая компания', 'Merlion', 'ФосАгро', 'КМР и СНГ (KIA)', 'Катрен', 'Банк ФК Открытие', - 'Корпорация Тактическое ракетное вооружение', 'Группа Рольф', 'ТАИФ-НК', 'Трансмашхолдинг', - 'Метро Кэш энд Керри (Metro Cash & Carry)', 'Мостотрест', 'СОГАЗ', 'Эппл Рус (Apple)', 'Арктикгаз', - 'Нижнекамскнефтехим', '«Томскнефть» ВНК', 'Зарубежнефть', 'ЕвроСибЭнерго', 'Вертолеты России', 'Группа ГАЗ', - 'Почта России', 'МУМТ (BAT)', 'Стройтранснефтегаз', 'КамАЗ', 'ФК Пульс', 'Полюс', 'Хендэ Мотор СНГ (Hyundai)', - 'S7 Group', 'Ямал СПГ', 'Группа Содружество', 'ЧТПЗ', 'Иркутская нефтяная компания', 'Русснефть', - 'Национальная компьютерная корпорация', 'Мерседес-Бенц Рус (Mercedes-Benz)', 'Русэнергосбыт', 'ОМК', - 'Уралкалий', 'ГК Ташир', 'Компания Газ-Альянс', 'ФортеИнвест', 'Группа Мэйджор', 'Российская электроника', - 'ГК СНС', 'Сибирский антрацит', "Группа О'кей", 'Мосинжпроект', 'UCL Holding', 'Группа Илим', - 'Московский кредитный банк', 'Группа Синара', 'Нефтиса', 'Объединенная компания Связной — Евросеть', - 'Группа ЛСР', 'Т2 РТК Холдинг', 'НЗНП', 'АльфаСтрахование', 'Ланит', 'НПК Уралвагонзавод', - 'Рено Россия (Renault)', 'Удмуртнефть', 'Нестле Россия (Nestle)', 'Райффайзенбанк (Raiffeisen)', - 'Техкомпания Хуавэй (Huawei)', 'КДВ Групп', 'Яндекс', 'Мессояханефтегаз', 'БМВ Русланд Трейдинг (BMW)', - 'Салым Петролеум', 'Данон (Danone)', 'ЮниКредит Банк (UniCredit)', 'ТД Риф', 'Мираторг', 'Группа Волга-Днепр', - 'Вайлдберриз', 'Московский метрополитен', 'Полиметалл', 'Группа РЕСО', 'Пепсико холдингс', 'ГК Эфко', - 'СДС-Уголь', 'ЛокоТех', 'ГК Автомир', 'Совкомбанк', 'ФСК Лидер', 'Марс (Mars)', 'Детский мир', - 'Группа НПФ Благосостояние', 'Госкорпорация по ОрВД', 'Трансойл', 'ОХК Уралхим', - 'Каспийский трубопроводный консорциум-Р', 'Тинькофф Банк', 'Fix Price', 'Промсвязьбанк', 'Акрон', - 'Спортмастер', 'Проктер Энд Гэмбл. Дистрибьюторская компания (Procter & Gamble)', - 'Eurasia Drilling Company', 'Группа Черкизово', 'ИКЕА Дом (INGKA)', 'Славянск Эко', 'Корпорация ВСМПО-АВИСМА', - 'Росбанк (Societe General)', 'Монетка', 'Стройсервис', 'ГК Транстехсервис', 'Совкомфлот', 'ВСК', - 'СБСВ-Ключавто', 'Ингосстрах', 'Сэтл групп', 'Гиперглобус (Bruch-Beteiligungs)', 'Технониколь', - 'Металлсервис', 'Нефтехимсервис', 'Промышленно-металлургический холдинг', - 'Урало-Сибирская металлургическая компания', 'Мария-Ра', 'Globaltrans', 'Кубанская нефтегазовая компания', - 'Авиакомпания ЮТэйр', 'НПФ Газфонд пенсионные накопления', 'Русагро', "Л'Этуаль", 'ЛГ Электроникс Рус (LG)', - 'Каргилл (Cargill)', 'ВАД', 'Астон', 'Уральские авиалинии', 'Сталепромышленная компания', 'НИПИ НГ Петон', - 'Бристоль', 'Уралвтормет', 'Нефтетранссервис', 'Казаньоргсинтез', 'Газпром бурение', 'ГК Агро-Белогорье', - 'Фортум (Fortum)', 'ПК Балтика (Carlsbergfondet)', 'Авилон АГ', 'Шелл Нефть (Shell)', 'Юнипро (Uniper)', - 'Технологии машиностроения (Техмаш)', 'НПК Объединенная вагонная компания', 'Велесстрой', 'ТД Интерторг', - 'Юнилевер Русь (Unilever)', 'Солид-товарные рынки', 'Вольво Восток (AB Volvo)', 'Энел Россия', 'Марвел КТ', - 'ГК Эталон', 'Металлокомплект-М', 'Группа Ренессанс Страхование', 'Военторг', 'Nordgold', 'Сибуглемет', - 'Акционерный банк Россия', 'ДОМ.РФ', 'Форд Соллерс Холдинг', 'ИКЕА Торг (INGKA)', 'Макдоналдc (McDonald`s)', - 'Кузбасская топливная компания', 'Хенкель Рус (Henkel)', 'Дон-Строй Инвест', - 'Главное управление обустройства войск (ГУОВ)', 'СК Росгосстрах', 'Кока-Кола Эйчбиси Евразия (Coca-Cola)', - 'Хоум Кредит энд Финанс Банк (PPF)', 'Гленкор Агро Мзк (Firada)', 'Mail.Ru Group', 'Монди СЛПК (Mondi)', - 'НПО Алмаз', 'ММС Рус (Mitsubishi Motors)', 'Объединенные кондитеры', 'Комацу СНГ (Komatsu)', - 'Национальная медиа группа', 'Агентство по страхованию вкладов (АСВ)', 'Татэнергосбыт', 'Куйбышевазот', - 'Азбука вкуса', 'Трансбункер', 'Башкирская содовая компания', 'Инвестнефтетрейд', 'Inventive Retail Group', - 'Самсунг Электроникс Рус Калуга (Samsung)', 'Крокус', 'Гугл (Google)', 'АСЦ-Холдинг', - 'Новороссийский морской торговый порт', 'Швабе', 'Русская медная компания', 'Евроцемент груп', 'Мосводоканал', - 'Международный аэропорт Шереметьево', 'Сегежа', 'Р-Фарм', 'Фармстандарт', 'Ростсельмаш', - 'Транспортная группа FESCO', 'Компания Адамас', 'Метафракс', 'Джонсон & Джонсон (Johnson & Johnson)', - 'Softline', 'Ягуар ленд ровер', 'Байер', 'Эркафарм', 'Фармперспектива', 'Банк Уралсиб', 'ВО Машиноимпорт', - 'Кордиант', 'Новосталь', 'ВкусВилл', "Л'Ореаль (L'Oreal)", 'DDS', 'ТОАЗ', 'Банк Санкт-Петербург', - 'Группа агропредприятий Ресурс', 'Ярче!', 'Ренейссанс Констракшн (Ronesans Holding Anonim Sirketi)', - 'Санофи Россия (Sanofi)', 'Группа ГМС', 'Северный ветер', 'БСС', 'Скания-Русь (Scania)', 'ГК Фаворит Моторс', - 'Группа РТК', 'Фармкомплект', 'Нокиан Шина (Nokian)', 'ДСК Автобан', 'Омега Групп', 'Квадра', 'Roust', - 'ГК Невада (Самбери)', 'Восточный экспресс банк', 'Верисел-трейдинг', 'Гознак', - 'Фирма Агрокомплекс им. Ткачева', 'Банк Русский стандарт', 'Мазда Мотор Рус (Mazda)', 'Группа Газфонд', - 'СТД Петрович', 'Беркс', 'Кари', 'Арконик СМЗ', 'Мон Дэлис (Mondelez)', 'Комус', 'Группа Агат', - 'Великолукский мясокомбинат', 'Верный', 'СДС Азот', 'М Фэшн', 'Белгранкорм-холдинг', 'Группа Нэфис', - 'ФГ Будущее', 'Глория Джинс', 'Билла (Rewe)', 'Государственная транспортная лизинговая компания', - 'ФК Гранд Капитал', 'ЭС', 'Компания Металл Профиль', 'ГК Орими Трэйд', 'ГСЛ', - 'Интернешнл Пейпер (International Paper)', 'Лаборатория Касперского', 'ПСМА Рус', 'Аптечная сеть 36,6', - 'Тетра Пак (Tetra Pak)', 'Центральная пригородная пассажирская компания', 'Самараэнерго', 'Азур Эйр', - 'Командор-Холдинг', 'Белуга Групп', 'ТД БелАЗ', 'Мосгортранс', 'Спар Миддл Волга', - 'Холдинг Транспортные компоненты', 'Московский аэропорт Домодедово', 'Рулог (Havi)', 'Эйч Энд Эм (H&M)', - 'Концерн Автоматика', 'Татэнерго', 'Трубная грузовая компания', 'Комос Групп', 'Первая тяжеловесная компания', - 'ОМПК', 'НК Дулисьма', 'Ачимгаз', 'Новосибирскэнергосбыт', 'Компания СИМ-Авто', 'Ситибанк', 'Остин', - 'Адидас (Adidas)', 'Ферреро Руссия (Ferrero)', 'Пермэнергосбыт', 'РКК Энергия', 'Свеза', 'Росжелдорпроект', - 'Мазда Соллерс Мануфэкчуринг Рус', 'БСХ Бытовые приборы (BSH Hausgerate)', 'Московская биржа ММВБ-РТС', - 'Русэнергоресурс', 'Компания Луис Дрейфус Восток (Louis Dreyfus)', 'ЭР-Телеком Холдинг', 'Соллерс', - 'Объединенная энергетическая компания', 'Уральские локомотивы', 'ТМК Чермет', 'Загорский трубный завод', - 'Элко Рус (Elko)', 'Архангельский ЦБК', 'Мособлгаз', 'ДК Рус', 'Энергосбытовая компания Восток', - 'ГКНПЦ им. М.В.Хруничева', 'Металлоторг', 'Агросила Групп', 'Ман Трак Энд Бас Рус (Volkswagen)', - 'Петербургский метрополитен', 'ТГК-2', 'Концерн Титан-2', 'Ренейссанс Хэви Индастрис Ronesans Endustri', - 'Бургер Рус (Burger King)', 'Ozon', 'Сони Электроникс (Sony)', 'Продо', 'Продимекс-Холдинг', 'АвтоГермес', - 'Railgo', 'Новотранс', 'Новикомбанк', 'Рив Гош', 'Сибирская горно-металлургическая компания', - 'Сименс (Siemens)', 'Лига ставок', 'Банк Ак Барс', 'Группа Полипластик', 'Водоканал Санкт-Петербурга', - 'РэйлАльянс', 'Российская телевизионная и радиовещательная сеть', 'Зерно-трейд', 'Ренессанс Кредит', - 'Роберт Бош (Robert Bosch)', 'ВО Промсырьеимпорт', 'САП СНГ (SAP)', 'А Групп', 'Приосколье', 'Зара СНГ (Zara)', - 'Модум-транс', 'Эбботт лэбораториз (Abbott Laboratories)', 'Группа Магнезит', 'Газпром автоматизация', - 'Газэнергосервис', 'Независимая энергосбытовая компания Краснодарского края', 'Группа ЭПМ', 'Минудобрения', - 'Либхерр-Русланд (Liebherr)', 'Восточная техника (Vost-Tech)', 'Первый канал', 'ГМК Сплав', 'ГК Автодилерство', - 'НМЖК', 'ВГТРК', 'Неофарм', 'Роскосмос', 'Вита Лайн', 'Краснодарзернопродукт-Экспо', 'Алкоторг', 'Красцветмет', - 'Касторама Рус (Castorama)', 'Деловые линии', 'ГВСУ по специальным объектам', 'ПКФ ДиПОС', 'Восток-Запад', - 'Амурская нефтебаза', 'Юг Руси', 'Шнейдер Электрик (Schneider Electric)', 'Сингента (Chemchina)', 'Титан', - 'Петропавловск', 'Фармимэкс', 'АБ Инбев Эфес (Anheuser-Busch Inbev)', 'ABI Product', 'Профитмед', - 'ТД Агроторг', 'ТЭК СПБ', 'ТД Ункомтех', 'ОПХ (Heineken)', 'ТГК-16', 'Уральский банк реконструкции и развития', - 'QIWI', 'СК Согласие', 'Группа Эссен', 'Втормет', 'Эссити (Essity)', 'Hoff (Домашний интерьер)', - 'Сиско Солюшенз (Cisco)', 'ВО ЖДТ России', 'Купишуз (Lamoda)', 'Делл (Dell)', 'ПСК', - 'Каменск-Уральский металлургический завод', 'Аргос', 'А.П.Р.', 'ГК 1520', 'Артис-Агро Экспорт', 'Луидор', - 'Порше Руссланд (Porsche)', 'Денцу Эйджис Си Эс (Dentsu)', 'Эйвон Бьюти Продактс Компани (Avon)', - 'РКЦ Прогресс', 'Силовые машины', 'АНГК', 'Корпорация Гринн', 'Фаберлик', 'Сибирская сервисная компания', - 'Банк Возрождение', 'Отисифарм', 'Боэс Констракшн (Boes Construction)', 'Саткинский чугуноплавильный завод', - 'Алтайвагон', 'ПТК', 'Щекиноазот', 'Волгоградэнергосбыт', 'Русский уголь', 'Трест КХМ', 'РМ Рейл', - 'Восточная горнорудная компания', 'Группа Стройтрансгаз', 'БАСФ (BASF)', 'Мерида', 'Брок-Инвест-Сервис и К', - 'Вирлпул Рус (Whirlpool)', 'Карелия Палп', 'Тева (Teva)', 'Media Direction Group', - 'Якобс Дау Эгбертс Рус (Jacobs Douwe Egberts)', 'ГК Великан', 'Август', 'Транслом', 'ОТП Банк', 'РусВинил', - 'Системный оператор Единой энергетической системы', 'АСР-Углесбыт', 'ЦЭНКИ', 'Транстрейдойл', 'Росморпорт', - 'Газнефтетрэйдинг', 'Сладковско-Заречное', 'Кроношпан (Kronoplus)', 'ТЦ Кунцево Лимитед', 'СНПХ', - 'Кимберли-Кларк (Kimberly-Clark)', 'Катерпиллар Евразия (Caterpillar)', 'Крок инкорпорейтед', - 'Ашинский металлургический завод', 'Автодом', 'Международный центр', 'Мишлен (Michelin)', 'Картли', 'БелАЗ-24', - 'Первый завод', 'ГК ЕКС', 'Петролеум Трейдинг', 'Нижфарм (Nidda Midco)', 'Импэкснефтехим', - 'Вольво Карс (Zhejiang Geely)', 'Мосметрострой', 'ТЭК Мосэнерго', 'Борисхоф 1 (Inchcape)', 'ГК Титан', - 'ПТК Уголь', 'Авторусь', 'Юг-Авто', 'Нова', 'Метрострой', 'Ресурс', 'Сетевая компания', 'РЕ Трэйдинг (LPP)', - 'Углетранс', 'ЭйчПи Инк (HP Inc.)', 'ТК Шлюмберже (Schlumberger)', 'ГК Мега-Авто', - 'Корпорация Электросевкавмонтаж', 'ГК Российские коммунальные системы', 'Запсибгазпром', 'Нефтепродукттрейд', - 'Сатурн-Р', 'Завод имени Дегтярева', 'Такеда Фармасьютикалс (Takeda Pharmaceutical)', 'Слата супермаркет', - 'Emex', 'САМ-МБ', '171 Меридиан', 'Армтек', 'Центр финансовых технологий', 'Группа компаний Пионер', - 'АХ Степь', 'Таграс (ТНГ-Групп)', 'Fonbet', 'Сандоз (Sandoz)', 'Берлин-Хеми А. Менарини (Berlin Chemie)', - 'ГК Агропромкомплектация', 'МАКС', 'Компания Трасса', 'Башкирэнерго', 'Охрана Росгвардии', 'Гала-Форм', - 'КРКА Фарма (KRKA)', 'Максидом', 'Нефтехимремстрой', 'Нефтьмагистраль', 'Авеста Фармацевтика (Baby Dream)', - 'Старттех', 'Конар', 'Нортгаз', 'УГС', 'АББ (ABB)', 'Металлстандарт', 'Балтийская топливная компания', - 'Мострансавто', 'Аксель-Моторс', 'Группа компаний МИЦ', 'ПК Борец', 'Европа', 'Сибирская аграрная группа', - 'РТИ', 'Ферронордик машины (Ferronordic)', 'Южуралзолото ГК', 'Прогресс', 'Юг-Нефтепродукт', 'Камский кабель', - 'Familia', 'Транскапиталбанк', 'А-Ойл', 'Сибтрейд', 'МТС-банк', 'Московская инженерно-строительная компания', - 'Курганмашзавод', 'Вектрум-К', 'Морской терминал Тамань', 'Таркетт Рус (Tarkett)', - 'Несте Санкт-Петербург (Neste)', 'Ново-Уренгойская газовая компания', 'Национальная нерудная компания', - 'Октоблу (Decathlon)', 'Снежная Королева', 'Новартис Фарма (Novartis)', 'Магнолия', 'Техинком', - 'Дочки-Сыночки', 'Астеллас Фарма', 'General Fueller', 'Автозаправочные комплексы Atan', 'Псковвтормет', - 'Авиакомпания Икар', + "Газпром", + "ЛУКОЙЛ", + "Роснефть", + "Сбербанк России", + "Российские железные дороги", + "Ростех", + "Сургутнефтегаз", + "X5 Retail Group", + "ВТБ", + "Магнит", + "САФМАР", + "Росатом", + "Российские сети", + "Интер РАО", + "Транснефть", + "Татнефть", + "НОВАТЭК", + "Евраз", + "АФК Система", + "En +", + "НЛМК", + "Норникель", + "ГК Мегаполис", + "Газпромбанк", + "Русал", + "Аэрофлот — Российские авиалинии", + "Сибур Холдинг", + "Северсталь", + "СУЭК", + "ММК", + "Группа УГМК", + "Мобильные телесистемы", + "Металлоинвест", + "Лента", + "Объединенная авиастроительная корпорация", + "РусГидро", + "Сахалин Энерджи", + "Т Плюс", + "Группа М.Видео-Эльдорадо", + "Еврохим", + "ВымпелКом", + "Банковский холдинг Альфа-банка", + "Объединенная судостроительная корпорация", + "МегаФон", + "Ростелеком", + "ТМК", + "Славнефть", + "Тойота Мотор (Toyota)", + "Мечел", + "Автотор холдинг", + "Стройгазмонтаж", + "Дж.Т.И. Россия (JTI)", + "Торговая сеть Красное и Белое", + "АК Алроса", + "Дикси Групп", + "ВЭБ.РФ", + "ФМСМ (PMI)", + "Фольксваген Груп Рус", + "АвтоВАЗ", + "Леруа Мерлен Восток (Leroi Merlin)", + "Ашан (Auchan)", + "Россельхозбанк", + "ДНС Групп", + "ГК ТНС энерго", + "Протек", + "Группа компаний ПИК", + "Объединенная двигателестроительная корпорация", + "Независимая нефтегазовая компания", + "Merlion", + "ФосАгро", + "КМР и СНГ (KIA)", + "Катрен", + "Банк ФК Открытие", + "Корпорация Тактическое ракетное вооружение", + "Группа Рольф", + "ТАИФ-НК", + "Трансмашхолдинг", + "Метро Кэш энд Керри (Metro Cash & Carry)", + "Мостотрест", + "СОГАЗ", + "Эппл Рус (Apple)", + "Арктикгаз", + "Нижнекамскнефтехим", + "«Томскнефть» ВНК", + "Зарубежнефть", + "ЕвроСибЭнерго", + "Вертолеты России", + "Группа ГАЗ", + "Почта России", + "МУМТ (BAT)", + "Стройтранснефтегаз", + "КамАЗ", + "ФК Пульс", + "Полюс", + "Хендэ Мотор СНГ (Hyundai)", + "S7 Group", + "Ямал СПГ", + "Группа Содружество", + "ЧТПЗ", + "Иркутская нефтяная компания", + "Русснефть", + "Национальная компьютерная корпорация", + "Мерседес-Бенц Рус (Mercedes-Benz)", + "Русэнергосбыт", + "ОМК", + "Уралкалий", + "ГК Ташир", + "Компания Газ-Альянс", + "ФортеИнвест", + "Группа Мэйджор", + "Российская электроника", + "ГК СНС", + "Сибирский антрацит", + "Группа О'кей", + "Мосинжпроект", + "UCL Holding", + "Группа Илим", + "Московский кредитный банк", + "Группа Синара", + "Нефтиса", + "Объединенная компания Связной — Евросеть", + "Группа ЛСР", + "Т2 РТК Холдинг", + "НЗНП", + "АльфаСтрахование", + "Ланит", + "НПК Уралвагонзавод", + "Рено Россия (Renault)", + "Удмуртнефть", + "Нестле Россия (Nestle)", + "Райффайзенбанк (Raiffeisen)", + "Техкомпания Хуавэй (Huawei)", + "КДВ Групп", + "Яндекс", + "Мессояханефтегаз", + "БМВ Русланд Трейдинг (BMW)", + "Салым Петролеум", + "Данон (Danone)", + "ЮниКредит Банк (UniCredit)", + "ТД Риф", + "Мираторг", + "Группа Волга-Днепр", + "Вайлдберриз", + "Московский метрополитен", + "Полиметалл", + "Группа РЕСО", + "Пепсико холдингс", + "ГК Эфко", + "СДС-Уголь", + "ЛокоТех", + "ГК Автомир", + "Совкомбанк", + "ФСК Лидер", + "Марс (Mars)", + "Детский мир", + "Группа НПФ Благосостояние", + "Госкорпорация по ОрВД", + "Трансойл", + "ОХК Уралхим", + "Каспийский трубопроводный консорциум-Р", + "Тинькофф Банк", + "Fix Price", + "Промсвязьбанк", + "Акрон", + "Спортмастер", + "Проктер Энд Гэмбл. Дистрибьюторская компания (Procter & Gamble)", + "Eurasia Drilling Company", + "Группа Черкизово", + "ИКЕА Дом (INGKA)", + "Славянск Эко", + "Корпорация ВСМПО-АВИСМА", + "Росбанк (Societe General)", + "Монетка", + "Стройсервис", + "ГК Транстехсервис", + "Совкомфлот", + "ВСК", + "СБСВ-Ключавто", + "Ингосстрах", + "Сэтл групп", + "Гиперглобус (Bruch-Beteiligungs)", + "Технониколь", + "Металлсервис", + "Нефтехимсервис", + "Промышленно-металлургический холдинг", + "Урало-Сибирская металлургическая компания", + "Мария-Ра", + "Globaltrans", + "Кубанская нефтегазовая компания", + "Авиакомпания ЮТэйр", + "НПФ Газфонд пенсионные накопления", + "Русагро", + "Л'Этуаль", + "ЛГ Электроникс Рус (LG)", + "Каргилл (Cargill)", + "ВАД", + "Астон", + "Уральские авиалинии", + "Сталепромышленная компания", + "НИПИ НГ Петон", + "Бристоль", + "Уралвтормет", + "Нефтетранссервис", + "Казаньоргсинтез", + "Газпром бурение", + "ГК Агро-Белогорье", + "Фортум (Fortum)", + "ПК Балтика (Carlsbergfondet)", + "Авилон АГ", + "Шелл Нефть (Shell)", + "Юнипро (Uniper)", + "Технологии машиностроения (Техмаш)", + "НПК Объединенная вагонная компания", + "Велесстрой", + "ТД Интерторг", + "Юнилевер Русь (Unilever)", + "Солид-товарные рынки", + "Вольво Восток (AB Volvo)", + "Энел Россия", + "Марвел КТ", + "ГК Эталон", + "Металлокомплект-М", + "Группа Ренессанс Страхование", + "Военторг", + "Nordgold", + "Сибуглемет", + "Акционерный банк Россия", + "ДОМ.РФ", + "Форд Соллерс Холдинг", + "ИКЕА Торг (INGKA)", + "Макдоналдc (McDonald`s)", + "Кузбасская топливная компания", + "Хенкель Рус (Henkel)", + "Дон-Строй Инвест", + "Главное управление обустройства войск (ГУОВ)", + "СК Росгосстрах", + "Кока-Кола Эйчбиси Евразия (Coca-Cola)", + "Хоум Кредит энд Финанс Банк (PPF)", + "Гленкор Агро Мзк (Firada)", + "Mail.Ru Group", + "Монди СЛПК (Mondi)", + "НПО Алмаз", + "ММС Рус (Mitsubishi Motors)", + "Объединенные кондитеры", + "Комацу СНГ (Komatsu)", + "Национальная медиа группа", + "Агентство по страхованию вкладов (АСВ)", + "Татэнергосбыт", + "Куйбышевазот", + "Азбука вкуса", + "Трансбункер", + "Башкирская содовая компания", + "Инвестнефтетрейд", + "Inventive Retail Group", + "Самсунг Электроникс Рус Калуга (Samsung)", + "Крокус", + "Гугл (Google)", + "АСЦ-Холдинг", + "Новороссийский морской торговый порт", + "Швабе", + "Русская медная компания", + "Евроцемент груп", + "Мосводоканал", + "Международный аэропорт Шереметьево", + "Сегежа", + "Р-Фарм", + "Фармстандарт", + "Ростсельмаш", + "Транспортная группа FESCO", + "Компания Адамас", + "Метафракс", + "Джонсон & Джонсон (Johnson & Johnson)", + "Softline", + "Ягуар ленд ровер", + "Байер", + "Эркафарм", + "Фармперспектива", + "Банк Уралсиб", + "ВО Машиноимпорт", + "Кордиант", + "Новосталь", + "ВкусВилл", + "Л'Ореаль (L'Oreal)", + "DDS", + "ТОАЗ", + "Банк Санкт-Петербург", + "Группа агропредприятий Ресурс", + "Ярче!", + "Ренейссанс Констракшн (Ronesans Holding Anonim Sirketi)", + "Санофи Россия (Sanofi)", + "Группа ГМС", + "Северный ветер", + "БСС", + "Скания-Русь (Scania)", + "ГК Фаворит Моторс", + "Группа РТК", + "Фармкомплект", + "Нокиан Шина (Nokian)", + "ДСК Автобан", + "Омега Групп", + "Квадра", + "Roust", + "ГК Невада (Самбери)", + "Восточный экспресс банк", + "Верисел-трейдинг", + "Гознак", + "Фирма Агрокомплекс им. Ткачева", + "Банк Русский стандарт", + "Мазда Мотор Рус (Mazda)", + "Группа Газфонд", + "СТД Петрович", + "Беркс", + "Кари", + "Арконик СМЗ", + "Мон Дэлис (Mondelez)", + "Комус", + "Группа Агат", + "Великолукский мясокомбинат", + "Верный", + "СДС Азот", + "М Фэшн", + "Белгранкорм-холдинг", + "Группа Нэфис", + "ФГ Будущее", + "Глория Джинс", + "Билла (Rewe)", + "Государственная транспортная лизинговая компания", + "ФК Гранд Капитал", + "ЭС", + "Компания Металл Профиль", + "ГК Орими Трэйд", + "ГСЛ", + "Интернешнл Пейпер (International Paper)", + "Лаборатория Касперского", + "ПСМА Рус", + "Аптечная сеть 36,6", + "Тетра Пак (Tetra Pak)", + "Центральная пригородная пассажирская компания", + "Самараэнерго", + "Азур Эйр", + "Командор-Холдинг", + "Белуга Групп", + "ТД БелАЗ", + "Мосгортранс", + "Спар Миддл Волга", + "Холдинг Транспортные компоненты", + "Московский аэропорт Домодедово", + "Рулог (Havi)", + "Эйч Энд Эм (H&M)", + "Концерн Автоматика", + "Татэнерго", + "Трубная грузовая компания", + "Комос Групп", + "Первая тяжеловесная компания", + "ОМПК", + "НК Дулисьма", + "Ачимгаз", + "Новосибирскэнергосбыт", + "Компания СИМ-Авто", + "Ситибанк", + "Остин", + "Адидас (Adidas)", + "Ферреро Руссия (Ferrero)", + "Пермэнергосбыт", + "РКК Энергия", + "Свеза", + "Росжелдорпроект", + "Мазда Соллерс Мануфэкчуринг Рус", + "БСХ Бытовые приборы (BSH Hausgerate)", + "Московская биржа ММВБ-РТС", + "Русэнергоресурс", + "Компания Луис Дрейфус Восток (Louis Dreyfus)", + "ЭР-Телеком Холдинг", + "Соллерс", + "Объединенная энергетическая компания", + "Уральские локомотивы", + "ТМК Чермет", + "Загорский трубный завод", + "Элко Рус (Elko)", + "Архангельский ЦБК", + "Мособлгаз", + "ДК Рус", + "Энергосбытовая компания Восток", + "ГКНПЦ им. М.В.Хруничева", + "Металлоторг", + "Агросила Групп", + "Ман Трак Энд Бас Рус (Volkswagen)", + "Петербургский метрополитен", + "ТГК-2", + "Концерн Титан-2", + "Ренейссанс Хэви Индастрис Ronesans Endustri", + "Бургер Рус (Burger King)", + "Ozon", + "Сони Электроникс (Sony)", + "Продо", + "Продимекс-Холдинг", + "АвтоГермес", + "Railgo", + "Новотранс", + "Новикомбанк", + "Рив Гош", + "Сибирская горно-металлургическая компания", + "Сименс (Siemens)", + "Лига ставок", + "Банк Ак Барс", + "Группа Полипластик", + "Водоканал Санкт-Петербурга", + "РэйлАльянс", + "Российская телевизионная и радиовещательная сеть", + "Зерно-трейд", + "Ренессанс Кредит", + "Роберт Бош (Robert Bosch)", + "ВО Промсырьеимпорт", + "САП СНГ (SAP)", + "А Групп", + "Приосколье", + "Зара СНГ (Zara)", + "Модум-транс", + "Эбботт лэбораториз (Abbott Laboratories)", + "Группа Магнезит", + "Газпром автоматизация", + "Газэнергосервис", + "Независимая энергосбытовая компания Краснодарского края", + "Группа ЭПМ", + "Минудобрения", + "Либхерр-Русланд (Liebherr)", + "Восточная техника (Vost-Tech)", + "Первый канал", + "ГМК Сплав", + "ГК Автодилерство", + "НМЖК", + "ВГТРК", + "Неофарм", + "Роскосмос", + "Вита Лайн", + "Краснодарзернопродукт-Экспо", + "Алкоторг", + "Красцветмет", + "Касторама Рус (Castorama)", + "Деловые линии", + "ГВСУ по специальным объектам", + "ПКФ ДиПОС", + "Восток-Запад", + "Амурская нефтебаза", + "Юг Руси", + "Шнейдер Электрик (Schneider Electric)", + "Сингента (Chemchina)", + "Титан", + "Петропавловск", + "Фармимэкс", + "АБ Инбев Эфес (Anheuser-Busch Inbev)", + "ABI Product", + "Профитмед", + "ТД Агроторг", + "ТЭК СПБ", + "ТД Ункомтех", + "ОПХ (Heineken)", + "ТГК-16", + "Уральский банк реконструкции и развития", + "QIWI", + "СК Согласие", + "Группа Эссен", + "Втормет", + "Эссити (Essity)", + "Hoff (Домашний интерьер)", + "Сиско Солюшенз (Cisco)", + "ВО ЖДТ России", + "Купишуз (Lamoda)", + "Делл (Dell)", + "ПСК", + "Каменск-Уральский металлургический завод", + "Аргос", + "А.П.Р.", + "ГК 1520", + "Артис-Агро Экспорт", + "Луидор", + "Порше Руссланд (Porsche)", + "Денцу Эйджис Си Эс (Dentsu)", + "Эйвон Бьюти Продактс Компани (Avon)", + "РКЦ Прогресс", + "Силовые машины", + "АНГК", + "Корпорация Гринн", + "Фаберлик", + "Сибирская сервисная компания", + "Банк Возрождение", + "Отисифарм", + "Боэс Констракшн (Boes Construction)", + "Саткинский чугуноплавильный завод", + "Алтайвагон", + "ПТК", + "Щекиноазот", + "Волгоградэнергосбыт", + "Русский уголь", + "Трест КХМ", + "РМ Рейл", + "Восточная горнорудная компания", + "Группа Стройтрансгаз", + "БАСФ (BASF)", + "Мерида", + "Брок-Инвест-Сервис и К", + "Вирлпул Рус (Whirlpool)", + "Карелия Палп", + "Тева (Teva)", + "Media Direction Group", + "Якобс Дау Эгбертс Рус (Jacobs Douwe Egberts)", + "ГК Великан", + "Август", + "Транслом", + "ОТП Банк", + "РусВинил", + "Системный оператор Единой энергетической системы", + "АСР-Углесбыт", + "ЦЭНКИ", + "Транстрейдойл", + "Росморпорт", + "Газнефтетрэйдинг", + "Сладковско-Заречное", + "Кроношпан (Kronoplus)", + "ТЦ Кунцево Лимитед", + "СНПХ", + "Кимберли-Кларк (Kimberly-Clark)", + "Катерпиллар Евразия (Caterpillar)", + "Крок инкорпорейтед", + "Ашинский металлургический завод", + "Автодом", + "Международный центр", + "Мишлен (Michelin)", + "Картли", + "БелАЗ-24", + "Первый завод", + "ГК ЕКС", + "Петролеум Трейдинг", + "Нижфарм (Nidda Midco)", + "Импэкснефтехим", + "Вольво Карс (Zhejiang Geely)", + "Мосметрострой", + "ТЭК Мосэнерго", + "Борисхоф 1 (Inchcape)", + "ГК Титан", + "ПТК Уголь", + "Авторусь", + "Юг-Авто", + "Нова", + "Метрострой", + "Ресурс", + "Сетевая компания", + "РЕ Трэйдинг (LPP)", + "Углетранс", + "ЭйчПи Инк (HP Inc.)", + "ТК Шлюмберже (Schlumberger)", + "ГК Мега-Авто", + "Корпорация Электросевкавмонтаж", + "ГК Российские коммунальные системы", + "Запсибгазпром", + "Нефтепродукттрейд", + "Сатурн-Р", + "Завод имени Дегтярева", + "Такеда Фармасьютикалс (Takeda Pharmaceutical)", + "Слата супермаркет", + "Emex", + "САМ-МБ", + "171 Меридиан", + "Армтек", + "Центр финансовых технологий", + "Группа компаний Пионер", + "АХ Степь", + "Таграс (ТНГ-Групп)", + "Fonbet", + "Сандоз (Sandoz)", + "Берлин-Хеми А. Менарини (Berlin Chemie)", + "ГК Агропромкомплектация", + "МАКС", + "Компания Трасса", + "Башкирэнерго", + "Охрана Росгвардии", + "Гала-Форм", + "КРКА Фарма (KRKA)", + "Максидом", + "Нефтехимремстрой", + "Нефтьмагистраль", + "Авеста Фармацевтика (Baby Dream)", + "Старттех", + "Конар", + "Нортгаз", + "УГС", + "АББ (ABB)", + "Металлстандарт", + "Балтийская топливная компания", + "Мострансавто", + "Аксель-Моторс", + "Группа компаний МИЦ", + "ПК Борец", + "Европа", + "Сибирская аграрная группа", + "РТИ", + "Ферронордик машины (Ferronordic)", + "Южуралзолото ГК", + "Прогресс", + "Юг-Нефтепродукт", + "Камский кабель", + "Familia", + "Транскапиталбанк", + "А-Ойл", + "Сибтрейд", + "МТС-банк", + "Московская инженерно-строительная компания", + "Курганмашзавод", + "Вектрум-К", + "Морской терминал Тамань", + "Таркетт Рус (Tarkett)", + "Несте Санкт-Петербург (Neste)", + "Ново-Уренгойская газовая компания", + "Национальная нерудная компания", + "Октоблу (Decathlon)", + "Снежная Королева", + "Новартис Фарма (Novartis)", + "Магнолия", + "Техинком", + "Дочки-Сыночки", + "Астеллас Фарма", + "General Fueller", + "Автозаправочные комплексы Atan", + "Псковвтормет", + "Авиакомпания Икар", ) catch_phrase_adj = ( - ('Автоматизированный', 'Автономный', 'Адаптивный', 'Амортизированный', 'Ассимилированный', 'Безопасный', - 'Бизнес-ориентированный', 'Взаимовыгодный', 'Виртуальный', 'Глубокий', 'Горизонтальный', 'Делегируемый', - 'Децентрализованный', 'Дублируемый', 'Инверсный', 'Инновационный', 'Интегрированный', 'Интуитивный', - 'Качественный', 'Клиент-ориентированный', 'Контролируемый', 'Концептуальный', 'Корпоративный', - 'Кросс-платформенный', 'Межгрупповой', 'Многогранный', 'Многоканальный', 'Многослойный', 'Многоуровневый', - 'Модернизируемый', 'Настраиваемый', 'Новый', 'Общедоступный', 'Объектный', 'Обязательный', 'Оперативный', - 'Оптимизированный', 'Опциональный', 'Организованный', 'Органичный', 'Ориентированный', 'Открытый', - 'Оцифрованный', 'Переключаемый', 'Переосмысленный', 'Переработанный', 'Перспективный', 'Полный', 'Поэтапный', - 'Превентивный', 'Программируемый', 'Прогрессивный', 'Продвинутый', 'Прочный', 'Разнообразный', - 'Распределённый', 'Расширенный', 'Реализованный', 'Реконструируемый', 'Самодостаточный', 'Сбалансированный', - 'Сетевой', 'Синхронизированный', 'Совместимый', 'Сокращенный', 'Сосредоточенный', 'Стабильный', - 'Стратегический', 'Увеличенный', 'Удобный', 'Улучшенный', 'Улучшенный', 'Уменьшенный', 'Универсальный', - 'Управляемый', 'Устойчивый', 'Фундаментальный', 'Функциональный', 'Цельный', 'Централизованный', - 'Эксклюзивный', 'Элегантный', 'Эргономичный'), - ('аналитический', 'асимметричный', 'асинхронный', 'бездефектный', 'бескомпромиссный', 'веб-ориентированный', - 'встречный', 'вторичный', 'высокоуровневый', 'гибкий', 'гибридный', 'глобальный', 'двунаправленный', - 'действенный', 'динамичный', 'единообразный', 'заметный', 'инструктивный', 'интерактивный', 'исполнительный', - 'итернациональный', 'клиент-серверный', 'контекстуальный', 'круглосуточный', 'логистический', 'локальный', - 'максимальный', 'масштабируемый', 'методичный', 'многозадачный', 'мобильный', 'модульный', 'мультимедийный', - 'наглядный', 'направленный', 'национальный', 'нейтральный', 'нестандартный', 'объектно-ориентированный', - 'однородный', 'оптимальный', 'основной', 'отказостойкий', 'переходный', 'последовательный', 'потенциальный', - 'пошаговый', 'прибыльный', 'приоритетный', 'промежуточный', 'радикальный', 'раздвоенный', 'региональный', - 'связный', 'систематический', 'системный', 'составной', 'социальный', 'специализированный', 'статический', - 'третичный', 'ультрасовременный', 'целостный', 'широкий', 'широкопрофильный', 'эвристический', - 'экоцентричный', 'энергонезависимый', 'яркий'), + ( + "Автоматизированный", + "Автономный", + "Адаптивный", + "Амортизированный", + "Ассимилированный", + "Безопасный", + "Бизнес-ориентированный", + "Взаимовыгодный", + "Виртуальный", + "Глубокий", + "Горизонтальный", + "Делегируемый", + "Децентрализованный", + "Дублируемый", + "Инверсный", + "Инновационный", + "Интегрированный", + "Интуитивный", + "Качественный", + "Клиент-ориентированный", + "Контролируемый", + "Концептуальный", + "Корпоративный", + "Кросс-платформенный", + "Межгрупповой", + "Многогранный", + "Многоканальный", + "Многослойный", + "Многоуровневый", + "Модернизируемый", + "Настраиваемый", + "Новый", + "Общедоступный", + "Объектный", + "Обязательный", + "Оперативный", + "Оптимизированный", + "Опциональный", + "Организованный", + "Органичный", + "Ориентированный", + "Открытый", + "Оцифрованный", + "Переключаемый", + "Переосмысленный", + "Переработанный", + "Перспективный", + "Полный", + "Поэтапный", + "Превентивный", + "Программируемый", + "Прогрессивный", + "Продвинутый", + "Прочный", + "Разнообразный", + "Распределённый", + "Расширенный", + "Реализованный", + "Реконструируемый", + "Самодостаточный", + "Сбалансированный", + "Сетевой", + "Синхронизированный", + "Совместимый", + "Сокращенный", + "Сосредоточенный", + "Стабильный", + "Стратегический", + "Увеличенный", + "Удобный", + "Улучшенный", + "Улучшенный", + "Уменьшенный", + "Универсальный", + "Управляемый", + "Устойчивый", + "Фундаментальный", + "Функциональный", + "Цельный", + "Централизованный", + "Эксклюзивный", + "Элегантный", + "Эргономичный", + ), + ( + "аналитический", + "асимметричный", + "асинхронный", + "бездефектный", + "бескомпромиссный", + "веб-ориентированный", + "встречный", + "вторичный", + "высокоуровневый", + "гибкий", + "гибридный", + "глобальный", + "двунаправленный", + "действенный", + "динамичный", + "единообразный", + "заметный", + "инструктивный", + "интерактивный", + "исполнительный", + "итернациональный", + "клиент-серверный", + "контекстуальный", + "круглосуточный", + "логистический", + "локальный", + "максимальный", + "масштабируемый", + "методичный", + "многозадачный", + "мобильный", + "модульный", + "мультимедийный", + "наглядный", + "направленный", + "национальный", + "нейтральный", + "нестандартный", + "объектно-ориентированный", + "однородный", + "оптимальный", + "основной", + "отказостойкий", + "переходный", + "последовательный", + "потенциальный", + "пошаговый", + "прибыльный", + "приоритетный", + "промежуточный", + "радикальный", + "раздвоенный", + "региональный", + "связный", + "систематический", + "системный", + "составной", + "социальный", + "специализированный", + "статический", + "третичный", + "ультрасовременный", + "целостный", + "широкий", + "широкопрофильный", + "эвристический", + "экоцентричный", + "энергонезависимый", + "яркий", + ), ) catch_phrase_nouns_masc = ( - 'адаптер', 'алгоритм', 'альянс', 'анализатор', 'архив', 'веб-сайт', 'вызов', 'графический интерфейс', - 'графический интерфейс пользователя', 'доступ', 'инструментарий', 'интерфейс', 'инфопосредник', - 'искусственный интеллект', 'массив', 'модератор', 'мониторинг', 'набор инструкций', 'параллелизм', 'подход', - 'портал', 'прогноз', 'продукт', 'проект', 'протокол', 'ресурс', 'системный движок', 'успех', 'фреймворк', 'хаб', - 'эталон', + "адаптер", + "алгоритм", + "альянс", + "анализатор", + "архив", + "веб-сайт", + "вызов", + "графический интерфейс", + "графический интерфейс пользователя", + "доступ", + "инструментарий", + "интерфейс", + "инфопосредник", + "искусственный интеллект", + "массив", + "модератор", + "мониторинг", + "набор инструкций", + "параллелизм", + "подход", + "портал", + "прогноз", + "продукт", + "проект", + "протокол", + "ресурс", + "системный движок", + "успех", + "фреймворк", + "хаб", + "эталон", ) catch_phrase_nouns_fem = ( - 'архитектура', 'база данных', 'база знаний', 'вероятность', 'возможность', 'гибкость', 'защищенная линия', - 'иерархия', 'инициатива', 'инфраструктура', 'кодировка', 'конгломерация', 'концепция', 'координация', - 'локальная сеть', 'матрица', 'методология', 'миграция', 'модель', 'нейронная сеть', 'парадигма', 'поддержка', - 'политика', 'проекция', 'производительность', 'прошивка', 'рабочая группа', 'реализация', 'сеть Интранет', - 'сеть Экстранет', 'служба поддержки', 'служба техподдержки', 'способность', 'стандартизация', 'стратегия', - 'структура', 'суперструктура', 'установка', 'фокус-группа', 'функциональность', 'функция', 'ценовая структура', - 'эмуляция', + "архитектура", + "база данных", + "база знаний", + "вероятность", + "возможность", + "гибкость", + "защищенная линия", + "иерархия", + "инициатива", + "инфраструктура", + "кодировка", + "конгломерация", + "концепция", + "координация", + "локальная сеть", + "матрица", + "методология", + "миграция", + "модель", + "нейронная сеть", + "парадигма", + "поддержка", + "политика", + "проекция", + "производительность", + "прошивка", + "рабочая группа", + "реализация", + "сеть Интранет", + "сеть Экстранет", + "служба поддержки", + "служба техподдержки", + "способность", + "стандартизация", + "стратегия", + "структура", + "суперструктура", + "установка", + "фокус-группа", + "функциональность", + "функция", + "ценовая структура", + "эмуляция", ) catch_phrase_nouns_neu = ( - 'взаимодействие', 'групповое программное обеспечение', 'интернет-решение', 'использование', - 'межплатформенное программное обеспечение', 'оборудование', 'определение', 'отношение', 'приложение', - 'программное обеспечение', 'решение', 'совершенствование процесса', 'сотрудничество', 'управление бюджетом', - 'хранилище данных', 'шифрование', 'ядро', + "взаимодействие", + "групповое программное обеспечение", + "интернет-решение", + "использование", + "межплатформенное программное обеспечение", + "оборудование", + "определение", + "отношение", + "приложение", + "программное обеспечение", + "решение", + "совершенствование процесса", + "сотрудничество", + "управление бюджетом", + "хранилище данных", + "шифрование", + "ядро", ) bsWords = ( - ('Адаптация', 'Визуализация', 'Включение', 'Внедрение', 'Генерация', 'Инновация', 'Интеграция', 'Использование', - 'Итерация', 'Конструирование', 'Координация', 'Культивация', 'Максимизация', 'Модернизация', 'Монетизация', - 'Мотивация', 'Обеспечение', 'Объединение', 'Оптимизация', 'Освоение', 'Охват', 'Оцифровка', 'Перезагрузка', - 'Переопределение', 'Переосмысление', 'Перепрофилирование', 'Переход', 'Преображение', 'Приспособление', - 'Продление', 'Производство', 'Развитие', 'Разворачивание', 'Разработка', 'Распределение', 'Реализация', - 'Революция', 'Синтез', 'Синхронизация', 'Сравнение', 'Трансформация', 'Увеличение', 'Управление', 'Ускорение', - 'Формирование', 'Шкалирование', 'Эксплуатация'), - ('B2B', 'B2C', 'активных', 'безотказных', 'беспроводных', 'богатых', 'веб-ориентированных', 'вертикальных', - 'виртуальных', 'глобальных', 'действенных', 'динамичных', 'заказных', 'индивидуальных', 'инновационных', - 'интегрированных', 'интерактивных', 'интуитивных', 'концептуальных', 'корпоративных', 'критически важных', - 'кроссплатформенных', 'круглогодичных', 'круглосуточных', 'лучших в своём роде', 'масштабируемых', - 'мультимедийных', 'наглядных', 'надежных', 'онлайн и офлайн', 'ориентированных на пользователя', 'открытых', - 'передовых', 'подробных', 'популярных', 'престижных', 'прибыльных', 'притягательных', 'прозрачных', - 'распределённых', 'распространенных', 'расширяемых', 'революционных', 'сенсационных', 'серверных', 'сетевых', - 'соблазнительных', 'совместных', 'современных', 'стандартных', 'стратегических', 'ультрасовременных', - 'фронт-энд', 'целостных', 'цельных', 'эффективных'), - ('архитектур', 'аудиторий', 'веб-сервисов', 'взаимодействий', 'действий', 'диапазонов', 'знаний', 'инициатив', - 'интернет-компаний', 'интернет-магазинов', 'интернет-продавцоы', 'интернет-услуг', 'интерфейсов', - 'инфопосредников', 'инфраструктур', 'каналов', 'методик', 'метрик', 'моделей', 'ниш', 'областей интереса', - 'отношений', 'парадигм', 'партнерств', 'платформ', 'пользователей', 'порталов', 'приложений', 'результатов', - 'решений', 'рынков', 'сетей', 'систем', 'систем снабжения', 'сообществ', 'схем', 'технологий', 'функций')) + ( + "Адаптация", + "Визуализация", + "Включение", + "Внедрение", + "Генерация", + "Инновация", + "Интеграция", + "Использование", + "Итерация", + "Конструирование", + "Координация", + "Культивация", + "Максимизация", + "Модернизация", + "Монетизация", + "Мотивация", + "Обеспечение", + "Объединение", + "Оптимизация", + "Освоение", + "Охват", + "Оцифровка", + "Перезагрузка", + "Переопределение", + "Переосмысление", + "Перепрофилирование", + "Переход", + "Преображение", + "Приспособление", + "Продление", + "Производство", + "Развитие", + "Разворачивание", + "Разработка", + "Распределение", + "Реализация", + "Революция", + "Синтез", + "Синхронизация", + "Сравнение", + "Трансформация", + "Увеличение", + "Управление", + "Ускорение", + "Формирование", + "Шкалирование", + "Эксплуатация", + ), + ( + "B2B", + "B2C", + "активных", + "безотказных", + "беспроводных", + "богатых", + "веб-ориентированных", + "вертикальных", + "виртуальных", + "глобальных", + "действенных", + "динамичных", + "заказных", + "индивидуальных", + "инновационных", + "интегрированных", + "интерактивных", + "интуитивных", + "концептуальных", + "корпоративных", + "критически важных", + "кроссплатформенных", + "круглогодичных", + "круглосуточных", + "лучших в своём роде", + "масштабируемых", + "мультимедийных", + "наглядных", + "надежных", + "онлайн и офлайн", + "ориентированных на пользователя", + "открытых", + "передовых", + "подробных", + "популярных", + "престижных", + "прибыльных", + "притягательных", + "прозрачных", + "распределённых", + "распространенных", + "расширяемых", + "революционных", + "сенсационных", + "серверных", + "сетевых", + "соблазнительных", + "совместных", + "современных", + "стандартных", + "стратегических", + "ультрасовременных", + "фронт-энд", + "целостных", + "цельных", + "эффективных", + ), + ( + "архитектур", + "аудиторий", + "веб-сервисов", + "взаимодействий", + "действий", + "диапазонов", + "знаний", + "инициатив", + "интернет-компаний", + "интернет-магазинов", + "интернет-продавцоы", + "интернет-услуг", + "интерфейсов", + "инфопосредников", + "инфраструктур", + "каналов", + "методик", + "метрик", + "моделей", + "ниш", + "областей интереса", + "отношений", + "парадигм", + "партнерств", + "платформ", + "пользователей", + "порталов", + "приложений", + "результатов", + "решений", + "рынков", + "сетей", + "систем", + "систем снабжения", + "сообществ", + "схем", + "технологий", + "функций", + ), + ) - def catch_phrase(self): + def catch_phrase(self) -> str: """ :example: 'Адаптивный и масштабируемый графический интерфейс' """ - noun = self.random_element(self.catch_phrase_nouns_masc + self.catch_phrase_nouns_fem + - self.catch_phrase_nouns_neu) - adj_first = self.random_element(self.catch_phrase_adj[0]) - adj_second = self.random_element(self.catch_phrase_adj[1]) + noun: str = self.random_element( + self.catch_phrase_nouns_masc + self.catch_phrase_nouns_fem + self.catch_phrase_nouns_neu + ) + adj_first: str = self.random_element(self.catch_phrase_adj[0]) + adj_second: str = self.random_element(self.catch_phrase_adj[1]) if noun in self.catch_phrase_nouns_fem: - adj_first = adj_first[:-2] + 'ая' - adj_second = adj_second[:-2] + 'ая' + adj_first = adj_first[:-2] + "ая" + adj_second = adj_second[:-2] + "ая" elif noun in self.catch_phrase_nouns_neu: - adj_first = adj_first[:-2] + 'ое' - adj_second = adj_second[:-2] + 'ое' - return adj_first + ' и ' + adj_second + ' ' + noun + adj_first = adj_first[:-2] + "ое" + adj_second = adj_second[:-2] + "ое" + return adj_first + " и " + adj_second + " " + noun - def large_company(self): + def large_company(self) -> str: """ :example: 'АвтоВАЗ' """ return self.random_element(self.large_companies) - def company_prefix(self): + def company_prefix(self) -> str: """ :example: 'ООО' """ return self.random_element(self.company_prefixes) - def businesses_inn(self): + def businesses_inn(self) -> str: """ Returns tax identification number for businesses (ru. идентификационный номер налогоплательщика, ИНН). """ - region = '%02d' % self.random_int(min=1, max=92) - inspection = '%02d' % self.random_int(min=1, max=99) - tail = '%05d' % self.random_int(min=1, max=99999) - result = region + inspection + tail + region: str = "%02d" % self.random_int(min=1, max=92) + inspection: str = "%02d" % self.random_int(min=1, max=99) + tail: str = "%05d" % self.random_int(min=1, max=99999) + result: str = region + inspection + tail return result + calculate_checksum(result) - def individuals_inn(self): + def individuals_inn(self) -> str: """ Returns tax identification number for individuals (ru. идентификационный номер налогоплательщика, ИНН). """ - region = '%02d' % self.random_int(min=1, max=92) - inspection = '%02d' % self.random_int(min=1, max=99) - tail = '%06d' % self.random_int(min=1, max=999999) - result = region + inspection + tail + region: str = "%02d" % self.random_int(min=1, max=92) + inspection: str = "%02d" % self.random_int(min=1, max=99) + tail: str = "%06d" % self.random_int(min=1, max=999999) + result: str = region + inspection + tail result += calculate_checksum(result) return result + calculate_checksum(result) - def businesses_ogrn(self): + def businesses_ogrn(self) -> str: """ Returns primary state registration number for businesses (ru. основной государственный регистрационный номер, ОГРН). """ - sign = self.random_element(('1', '5')) - year = '%02d' % self.random_int(min=1, max=datetime.now().year - 2000) - region = '%02d' % self.random_int(min=1, max=92) - tail = '%07d' % self.random_int(min=1, max=9999999) + sign: str = self.random_element(("1", "5")) + year: str = "%02d" % self.random_int(min=1, max=datetime.now().year - 2000) + region: str = "%02d" % self.random_int(min=1, max=92) + tail: str = "%07d" % self.random_int(min=1, max=9999999) - result = sign + year + region + tail + result: str = sign + year + region + tail return result + str((int(result) % 11) % 10) - def individuals_ogrn(self): + def individuals_ogrn(self) -> str: """ Returns primary state registration number for individuals (ru. основной государственный регистрационный номер, ОГРН). """ - year = '%02d' % self.random_int(min=1, max=datetime.now().year - 2000) - region = '%02d' % self.random_int(min=1, max=92) - tail = '%09d' % self.random_int(min=1, max=999999999) + year: str = "%02d" % self.random_int(min=1, max=datetime.now().year - 2000) + region: str = "%02d" % self.random_int(min=1, max=92) + tail: str = "%09d" % self.random_int(min=1, max=999999999) - result = '3' + year + region + tail + result: str = "3" + year + region + tail return result + str((int(result) % 13) % 10) - def kpp(self): + def kpp(self) -> str: """ Returns tax registration reason code (ru. код причины постановки на учет, КПП). """ - region = '%02d' % self.random_int(min=1, max=92) - inspection = '%02d' % self.random_int(min=1, max=99) - reason = self.random_element(('01', '43', '44', '45')) - tail = '%03d' % self.random_int(min=1, max=999) + region: str = "%02d" % self.random_int(min=1, max=92) + inspection: str = "%02d" % self.random_int(min=1, max=99) + reason: str = self.random_element(("01", "43", "44", "45")) + tail: str = "%03d" % self.random_int(min=1, max=999) return region + inspection + reason + tail diff --git a/faker/providers/company/sk_SK/__init__.py b/faker/providers/company/sk_SK/__init__.py index e5e8e2f3b6..a14bed0c70 100644 --- a/faker/providers/company/sk_SK/__init__.py +++ b/faker/providers/company/sk_SK/__init__.py @@ -3,11 +3,14 @@ class Provider(CompanyProvider): formats = ( - '{{last_name}} {{company_suffix}}', - '{{last_name}} {{last_name}} {{company_suffix}}', - '{{last_name}}', + "{{last_name}} {{company_suffix}}", + "{{last_name}} {{last_name}} {{company_suffix}}", + "{{last_name}}", ) company_suffixes = ( - 's.r.o.', 'v.o.s.', 'a.s.', 'k.s.', + "s.r.o.", + "v.o.s.", + "a.s.", + "k.s.", ) diff --git a/faker/providers/company/sl_SI/__init__.py b/faker/providers/company/sl_SI/__init__.py index 3cf9202be7..79d8c1f92e 100755 --- a/faker/providers/company/sl_SI/__init__.py +++ b/faker/providers/company/sl_SI/__init__.py @@ -3,10 +3,11 @@ class Provider(CompanyProvider): formats = ( - '{{last_name}} {{company_suffix}}', - '{{first_name}} {{last_name}} s.p.', + "{{last_name}} {{company_suffix}}", + "{{first_name}} {{last_name}} s.p.", ) company_suffixes = ( - 'd.o.o.', 'd.d.', + "d.o.o.", + "d.d.", ) diff --git a/faker/providers/company/sv_SE/__init__.py b/faker/providers/company/sv_SE/__init__.py index da00872633..9ef04c87c7 100644 --- a/faker/providers/company/sv_SE/__init__.py +++ b/faker/providers/company/sv_SE/__init__.py @@ -3,11 +3,12 @@ class Provider(CompanyProvider): formats = ( - '{{last_name}} {{company_suffix}}', - '{{last_name}} {{last_name}} {{company_suffix}}', - '{{last_name}} & {{last_name}} {{company_suffix}}', + "{{last_name}} {{company_suffix}}", + "{{last_name}} {{last_name}} {{company_suffix}}", + "{{last_name}} & {{last_name}} {{company_suffix}}", ) company_suffixes = ( - 'AB', 'HB', + "AB", + "HB", ) diff --git a/faker/providers/company/th_TH/__init__.py b/faker/providers/company/th_TH/__init__.py new file mode 100644 index 0000000000..ba01e27655 --- /dev/null +++ b/faker/providers/company/th_TH/__init__.py @@ -0,0 +1,126 @@ +from collections import OrderedDict + +from .. import Provider as CompanyProvider + + +class Provider(CompanyProvider): + formats = OrderedDict( + ( + ("{{company_limited_prefix}}{{last_name}} {{company_limited_suffix}}", 0.2), + ( + "{{company_limited_prefix}}{{last_name}}{{company_suffix}} {{company_limited_suffix}}", + 0.2, + ), + ("{{company_limited_prefix}}{{last_name}} {{company_limited_suffix}}", 0.2), + ("{{company_prefix}}{{last_name}}", 0.2), + ("{{company_prefix}}{{last_name}}{{company_suffix}}", 0.2), + ("{{last_name}}{{company_suffix}}", 0.1), + ("{{nonprofit_prefix}}{{last_name}}", 0.1), + ("{{last_name}}-{{last_name}}", 0.05), + ("{{last_name}}และ{{last_name}}", 0.05), + ("{{company_limited_prefix}}{{last_name}}", 0.01), + ) + ) + + company_prefixes = OrderedDict( + ( + ("ห้างหุ้นส่วนจำกัด ", 0.3), + ("หจก.", 0.2), + ("บจก.", 0.1), + ("บมจ.", 0.1), + ("ห้างหุ้นส่วนสามัญ ", 0.1), + ("หสน.", 0.01), + ) + ) + + nonprofit_prefixes = OrderedDict( + ( + ("สมาคม", 0.4), + ("มูลนิธิ", 0.3), + ("ชมรม", 0.2), + ("สหภาพแรงงาน", 0.1), + ) + ) + + company_suffixes = ( + "และเพื่อน", + "และบุตร", + "แอนด์ซันส์", + "กรุ๊ป", + "การช่าง", + "ก่อสร้าง", + "บริการ", + "เซอร์วิส", + "กลการ", + "ซัพพลาย", + "คอมมิวนิเคชั่น", + "พืชผล", + "เอเยนซี", + "เอ็นจิเนียริ่ง", + "คอนสตรัคชั่น", + "วิศวกรรม", + "วิศวการ", + "คอมพิวเตอร์", + "พานิช", + "ขนส่ง", + "เฟอนิชชิ่ง", + "เฟอร์นิเจอร์", + "อุตสาหกรรม", + "เอนเตอรไพรส์", + "จิวเวลรี่", + "อะไหล่ยนต์", + "ภาพยนตร์", + "ยานยนต์", + "เทรดดิ้ง", + "การค้า", + "แลบ", + "เคมิคอล", + "อิมปอร์ตเอ็กซปอร์ต", + "อินเตอร์เนชั่นแนล", + "บรรจุภัณฑ์", + "แพคกิ้ง", + "มอเตอร์", + "โอสถ", + "การบัญชี", + "สโตร์", + ) + + company_limited_prefixes = OrderedDict( + ( + ("บริษัท ", 0.95), + ("ธนาคาร", 0.03), + ("บริษัทหลักทรัพย์ ", 0.005), + ("กองทุนรวม", 0.005), + ) + ) + + company_limited_suffixes = OrderedDict( + ( + ("จำกัด", 0.85), + ("จำกัด (มหาชน)", 0.15), + ) + ) + + def company_prefix(self) -> str: + """ + :example 'ห้างหุ้นส่วนจำกัด' + """ + return self.random_element(self.company_prefixes) + + def company_limited_prefix(self) -> str: + """ + :example 'บริษัท' + """ + return self.random_element(self.company_limited_prefixes) + + def company_limited_suffix(self) -> str: + """ + :example 'จำกัด' + """ + return self.random_element(self.company_limited_suffixes) + + def nonprofit_prefix(self) -> str: + """ + :example 'มูลนิธิ' + """ + return self.random_element(self.nonprofit_prefixes) diff --git a/faker/providers/company/tl_PH/__init__.py b/faker/providers/company/tl_PH/__init__.py index 05bb9c090d..4359d9d4ed 100644 --- a/faker/providers/company/tl_PH/__init__.py +++ b/faker/providers/company/tl_PH/__init__.py @@ -3,4 +3,5 @@ class Provider(FilPhProvider): """No difference from Company Provider for fil_PH locale""" + pass diff --git a/faker/providers/company/tr_TR/__init__.py b/faker/providers/company/tr_TR/__init__.py new file mode 100644 index 0000000000..17b16712bf --- /dev/null +++ b/faker/providers/company/tr_TR/__init__.py @@ -0,0 +1,52 @@ +from .. import Provider as CompanyProvider + + +class Provider(CompanyProvider): + formats = ( + "{{last_name}} {{company_suffix}}", + "{{last_name}} {{last_name}} {{company_suffix}}", + "{{large_company}}", + ) + # Source: https://www.capital.com.tr/listeler/capital-500 + large_companies = ( + "Tüpraş", + "Türk Hava Yolları", + "Petrol Ofisi", + "Opet", + "BİM", + "Ford Otosan", + "Arçelik", + "Vestel", + "Toyota Otomotiv", + "Oyak Renault", + "A101 Yeni Mağzacılık", + "Turkcell", + "Türk Telekom", + "Anadolu Efes", + "Migros", + "LC Waikiki", + "Peak Games", + "Masomo", + "EnerjiSA", + "Tofaş", + "Şişecam", + "Selçuk Ecza", + "ŞOK Marketler", + "Petkim", + "Limak İnşaat", + "Aselsan", + "Havelsan", + "Roketsan", + "Şişecam", + ) + company_suffixes = ( + "A.Ş.", + "Ltd.", + "Şti.", + ) + + def large_company(self) -> str: + """ + :example: 'Peak Games' + """ + return self.random_element(self.large_companies) diff --git a/faker/providers/company/zh_CN/__init__.py b/faker/providers/company/zh_CN/__init__.py index 9eb404765e..af946550bb 100644 --- a/faker/providers/company/zh_CN/__init__.py +++ b/faker/providers/company/zh_CN/__init__.py @@ -4,21 +4,92 @@ class Provider(CompanyProvider): formats = ["{{company_prefix}}{{company_suffix}}"] - company_prefixes = ["超艺", "和泰", "九方", "鑫博腾飞", "戴硕电子", "济南亿次元", - "海创", "创联世纪", "凌云", "泰麒麟", "彩虹", "兰金电子", - "晖来计算机", "天益", "恒聪百汇", "菊风公司", "惠派国际公司", - "创汇", "思优", "时空盒数字", "易动力", "飞海科技", "华泰通安", - "盟新", "商软冠联", "图龙信息", "易动力", "华远软件", "创亿", - "时刻", "开发区世创", "明腾", "良诺", "天开", "毕博诚", "快讯", - "凌颖信息", "黄石金承", "恩悌", "雨林木风计算机", "双敏电子", - "维旺明", "网新恒天", "数字100", "飞利信", "立信电子", "联通时科", - "中建创业", "新格林耐特", "新宇龙信息", "浙大万朋", "MBP软件", - "昂歌信息", "万迅电脑", "方正科技", "联软", "七喜", "南康", "银嘉", - "巨奥", "佳禾", "国讯", "信诚致远", "浦华众城", "迪摩", "太极", - "群英", "合联电子", "同兴万点", "襄樊地球村", "精芯", "艾提科信", - "昊嘉", "鸿睿思博", "四通", "富罳", "商软冠联", "诺依曼软件", - "东方峻景", "华成育卓", "趋势", "维涛", "通际名联"] + company_prefixes = [ + "超艺", + "和泰", + "九方", + "鑫博腾飞", + "戴硕电子", + "济南亿次元", + "海创", + "创联世纪", + "凌云", + "泰麒麟", + "彩虹", + "兰金电子", + "晖来计算机", + "天益", + "恒聪百汇", + "菊风公司", + "惠派国际公司", + "创汇", + "思优", + "时空盒数字", + "易动力", + "飞海科技", + "华泰通安", + "盟新", + "商软冠联", + "图龙信息", + "易动力", + "华远软件", + "创亿", + "时刻", + "开发区世创", + "明腾", + "良诺", + "天开", + "毕博诚", + "快讯", + "凌颖信息", + "黄石金承", + "恩悌", + "雨林木风计算机", + "双敏电子", + "维旺明", + "网新恒天", + "数字100", + "飞利信", + "立信电子", + "联通时科", + "中建创业", + "新格林耐特", + "新宇龙信息", + "浙大万朋", + "MBP软件", + "昂歌信息", + "万迅电脑", + "方正科技", + "联软", + "七喜", + "南康", + "银嘉", + "巨奥", + "佳禾", + "国讯", + "信诚致远", + "浦华众城", + "迪摩", + "太极", + "群英", + "合联电子", + "同兴万点", + "襄樊地球村", + "精芯", + "艾提科信", + "昊嘉", + "鸿睿思博", + "四通", + "富罳", + "商软冠联", + "诺依曼软件", + "东方峻景", + "华成育卓", + "趋势", + "维涛", + "通际名联", + ] company_suffixes = [n + "有限公司" for n in ["科技", "网络", "信息", "传媒"]] - def company_prefix(self): + def company_prefix(self) -> str: return self.random_element(self.company_prefixes) diff --git a/faker/providers/company/zh_TW/__init__.py b/faker/providers/company/zh_TW/__init__.py index 15a09ff5d2..4052536435 100644 --- a/faker/providers/company/zh_TW/__init__.py +++ b/faker/providers/company/zh_TW/__init__.py @@ -2,36 +2,112 @@ class Provider(CompanyProvider): - formats = ("{{company_prefix}}{{company_suffix}}", ) + formats = ("{{company_prefix}}{{company_suffix}}",) company_prefixes = ( - "品王餐飲", "一統企業", "品誠", "台灣電信", - "Goagle", "一統星巴克", "台日積體電路", "榮長航空", - "台灣印無品良", "華中航空", "台灣人銀行", "國中鋼鐵", - "海鴻精密", "台灣鐵高", "家宜家居(KIEA)", "天上雜誌", - "台灣力電", "碩華電腦", "雄豹旅遊", "光新三越百貨", - "台灣軟微", "鐵台", "一統超商", "碁宏", - "創群光電(奇原美電子)", "台灣酒菸", "美奧廣告", "AYHOO!摩奇", - "台灣台油", "達宏國際電子", "華晶國際酒店", "秀威影城", - "王鼎餐飲集團", "台灣五星電子", "遊戲葡萄數位科技", "橋子王生技", - "大八電視", "台灣業糖", "都亞緻麗", "台灣來自水", - "麥當當", "風微廣場", "見遠雜誌", "石金堂", - "邦城文化事業", "華中郵政", "達友光電", "中台信託商業銀行", - "台北登來喜大飯店", "全味食品工業", "遠西百貨", "旗花(台灣銀)行", - "冠智科技", "丹味企業", "發聯科技", "台灣雅萊(Y'ORÉAL)", - "古太可口可樂", "榮長海運", "達廣電腦", "華福大飯店", - "立三電視", "星燦國際旅行社", "衣優庫(Nuiqlo)", "德汎", - "台北眾大捷運", "共公電視", "明陽海運", "雄遠建設事業", - "台灣迪奧汽車", "台灣地土銀行", "天中電視", "月日光半導體", - "塑台石化", "樂可旅遊集團", "信永藥品", "輝燁企業", - "興復航空運輸", "豐兆國際商業銀行", "平太洋崇光百貨", "神漢名店百貨", - "台灣士賓", "賓國大飯店", "業商週刊", "台灣BIM", - "湖劍山世界", "合作庫金商業銀行", "台北邦富商業銀行", "愛味之", - "邦富人壽保險", "律理法律", "心安食品服務(斯摩漢堡)", "松黑", - "台灣生資堂", "鮮爭", "達台電子", "聯燁鋼鐵", "華聯電子", - "瑞輝大藥廠", "隆豐大飯店(北台君悅)", "資華粧業(生資堂)") + "品王餐飲", + "一統企業", + "品誠", + "台灣電信", + "Goagle", + "一統星巴克", + "台日積體電路", + "榮長航空", + "台灣印無品良", + "華中航空", + "台灣人銀行", + "國中鋼鐵", + "海鴻精密", + "台灣鐵高", + "家宜家居(KIEA)", + "天上雜誌", + "台灣力電", + "碩華電腦", + "雄豹旅遊", + "光新三越百貨", + "台灣軟微", + "鐵台", + "一統超商", + "碁宏", + "創群光電(奇原美電子)", + "台灣酒菸", + "美奧廣告", + "AYHOO!摩奇", + "台灣台油", + "達宏國際電子", + "華晶國際酒店", + "秀威影城", + "王鼎餐飲集團", + "台灣五星電子", + "遊戲葡萄數位科技", + "橋子王生技", + "大八電視", + "台灣業糖", + "都亞緻麗", + "台灣來自水", + "麥當當", + "風微廣場", + "見遠雜誌", + "石金堂", + "邦城文化事業", + "華中郵政", + "達友光電", + "中台信託商業銀行", + "台北登來喜大飯店", + "全味食品工業", + "遠西百貨", + "旗花(台灣銀)行", + "冠智科技", + "丹味企業", + "發聯科技", + "台灣雅萊(Y'ORÉAL)", + "古太可口可樂", + "榮長海運", + "達廣電腦", + "華福大飯店", + "立三電視", + "星燦國際旅行社", + "衣優庫(Nuiqlo)", + "德汎", + "台北眾大捷運", + "共公電視", + "明陽海運", + "雄遠建設事業", + "台灣迪奧汽車", + "台灣地土銀行", + "天中電視", + "月日光半導體", + "塑台石化", + "樂可旅遊集團", + "信永藥品", + "輝燁企業", + "興復航空運輸", + "豐兆國際商業銀行", + "平太洋崇光百貨", + "神漢名店百貨", + "台灣士賓", + "賓國大飯店", + "業商週刊", + "台灣BIM", + "湖劍山世界", + "合作庫金商業銀行", + "台北邦富商業銀行", + "愛味之", + "邦富人壽保險", + "律理法律", + "心安食品服務(斯摩漢堡)", + "松黑", + "台灣生資堂", + "鮮爭", + "達台電子", + "聯燁鋼鐵", + "華聯電子", + "瑞輝大藥廠", + "隆豐大飯店(北台君悅)", + "資華粧業(生資堂)", + ) company_suffixes = ("", "有限公司", "股份有限公司", "資訊有限公司") - def company_prefix(self): + def company_prefix(self) -> str: return self.random_element(self.company_prefixes) diff --git a/faker/providers/credit_card/__init__.py b/faker/providers/credit_card/__init__.py index 025b01fa97..5688cd78c2 100644 --- a/faker/providers/credit_card/__init__.py +++ b/faker/providers/credit_card/__init__.py @@ -1,19 +1,23 @@ from collections import OrderedDict +from typing import Dict, List, Optional, TypeVar +from ...typing import DateParseType from .. import BaseProvider localized = True +CardType = TypeVar("CardType", "CreditCard", str) -class CreditCard: +class CreditCard: def __init__( - self, - name, - prefixes, - length=16, - security_code='CVC', - security_code_length=3): + self, + name: str, + prefixes: List[str], + length: int = 16, + security_code: str = "CVC", + security_code_length: int = 3, + ) -> None: self.name = name self.prefixes = prefixes self.length = length @@ -37,53 +41,111 @@ class Provider(BaseProvider): - https://creditcardjs.com/credit-card-type-detection """ - prefix_maestro = ['5018', '5020', '5038', '56##', '57##', '58##', - '6304', '6759', '6761', '6762', '6763', '0604', '6390'] - prefix_mastercard = ['51', '52', '53', '54', '55', '222%', '223', '224', - '225', '226', '227', '228', '229', '23', '24', '25', - '26', '270', '271', '2720'] - prefix_visa = ['4'] - prefix_amex = ['34', '37'] - prefix_discover = ['6011', '65'] - prefix_diners = ['300', '301', '302', '303', '304', '305', '36', '38'] - prefix_jcb16 = ['35'] - prefix_jcb15 = ['2131', '1800'] - - credit_card_types = OrderedDict(( - ('maestro', CreditCard('Maestro', - prefix_maestro, 12, security_code='CVV')), - ('mastercard', CreditCard('Mastercard', - prefix_mastercard, 16, security_code='CVV')), - ('visa16', CreditCard('VISA 16 digit', prefix_visa)), - ('visa13', CreditCard('VISA 13 digit', prefix_visa, 13)), - ('visa19', CreditCard('VISA 19 digit', prefix_visa, 19)), - ('amex', CreditCard('American Express', prefix_amex, - 15, security_code='CID', security_code_length=4)), - ('discover', CreditCard('Discover', prefix_discover)), - ('diners', CreditCard('Diners Club / Carte Blanche', prefix_diners, 14)), - ('jcb15', CreditCard('JCB 15 digit', prefix_jcb15, 15)), - ('jcb16', CreditCard('JCB 16 digit', prefix_jcb16)), - )) - credit_card_types['visa'] = credit_card_types['visa16'] - credit_card_types['jcb'] = credit_card_types['jcb16'] - - luhn_lookup = {'0': 0, '1': 2, '2': 4, '3': 6, '4': 8, - '5': 1, '6': 3, '7': 5, '8': 7, '9': 9} - - def credit_card_provider(self, card_type=None): + prefix_maestro: List[str] = [ + "5018", + "5020", + "5038", + "56##", + "57##", + "58##", + "6304", + "6759", + "6761", + "6762", + "6763", + "0604", + "6390", + ] + prefix_mastercard: List[str] = [ + "51", + "52", + "53", + "54", + "55", + "222%", + "223", + "224", + "225", + "226", + "227", + "228", + "229", + "23", + "24", + "25", + "26", + "270", + "271", + "2720", + ] + prefix_visa: List[str] = ["4"] + prefix_amex: List[str] = ["34", "37"] + prefix_discover: List[str] = ["6011", "65"] + prefix_diners: List[str] = ["300", "301", "302", "303", "304", "305", "36", "38"] + prefix_jcb16: List[str] = ["35"] + prefix_jcb15: List[str] = ["2131", "1800"] + + credit_card_types: Dict[str, CreditCard] = OrderedDict( + ( + ("maestro", CreditCard("Maestro", prefix_maestro, 12, security_code="CVV")), + ( + "mastercard", + CreditCard("Mastercard", prefix_mastercard, 16, security_code="CVV"), + ), + ("visa16", CreditCard("VISA 16 digit", prefix_visa)), + ("visa13", CreditCard("VISA 13 digit", prefix_visa, 13)), + ("visa19", CreditCard("VISA 19 digit", prefix_visa, 19)), + ( + "amex", + CreditCard( + "American Express", + prefix_amex, + 15, + security_code="CID", + security_code_length=4, + ), + ), + ("discover", CreditCard("Discover", prefix_discover)), + ("diners", CreditCard("Diners Club / Carte Blanche", prefix_diners, 14)), + ("jcb15", CreditCard("JCB 15 digit", prefix_jcb15, 15)), + ("jcb16", CreditCard("JCB 16 digit", prefix_jcb16)), + ) + ) + credit_card_types["visa"] = credit_card_types["visa16"] + credit_card_types["jcb"] = credit_card_types["jcb16"] + + luhn_lookup = { + "0": 0, + "1": 2, + "2": 4, + "3": 6, + "4": 8, + "5": 1, + "6": 3, + "7": 5, + "8": 7, + "9": 9, + } + + def credit_card_provider(self, card_type: Optional[CardType] = None) -> str: """Generate a credit card provider name.""" if card_type is None: card_type = self.random_element(self.credit_card_types.keys()) return self._credit_card_type(card_type).name - def credit_card_number(self, card_type=None): + def credit_card_number(self, card_type: Optional[CardType] = None) -> str: """Generate a valid credit card number.""" card = self._credit_card_type(card_type) - prefix = self.random_element(card.prefixes) + prefix: str = self.random_element(card.prefixes) number = self._generate_number(self.numerify(prefix), card.length) return number - def credit_card_expire(self, start='now', end='+10y', date_format='%m/%y'): + def credit_card_expire( + self, + start: DateParseType = "now", + end: DateParseType = "+10y", + date_format: str = "%m/%y", + ) -> str: """Generate a credit card expiry date. This method uses |date_time_between| under the hood to generate the @@ -95,31 +157,29 @@ def credit_card_expire(self, start='now', end='+10y', date_format='%m/%y'): expire_date = self.generator.date_time_between(start, end) return expire_date.strftime(date_format) - def credit_card_full(self, card_type=None): + def credit_card_full(self, card_type: Optional[CardType] = None) -> str: """Generate a set of credit card details.""" card = self._credit_card_type(card_type) - tpl = ('{provider}\n' - '{owner}\n' - '{number} {expire_date}\n' - '{security}: {security_nb}\n') + tpl = "{provider}\n" "{owner}\n" "{number} {expire_date}\n" "{security}: {security_nb}\n" - tpl = tpl.format(provider=card.name, - owner=self.generator.parse( - "{{first_name}} {{last_name}}"), - number=self.credit_card_number(card), - expire_date=self.credit_card_expire(), - security=card.security_code, - security_nb=self.credit_card_security_code(card)) + tpl = tpl.format( + provider=card.name, + owner=self.generator.parse("{{first_name}} {{last_name}}"), + number=self.credit_card_number(card), + expire_date=self.credit_card_expire(), + security=card.security_code, + security_nb=self.credit_card_security_code(card), + ) return self.generator.parse(tpl) - def credit_card_security_code(self, card_type=None): + def credit_card_security_code(self, card_type: Optional[CardType] = None) -> str: """Generate a credit card security code.""" sec_len = self._credit_card_type(card_type).security_code_length - return self.numerify('#' * sec_len) + return self.numerify("#" * sec_len) - def _credit_card_type(self, card_type=None): + def _credit_card_type(self, card_type: Optional[CardType] = None) -> CreditCard: """Generate a random CreditCard instance of the specified card type.""" if card_type is None: card_type = self.random_element(self.credit_card_types.keys()) @@ -127,7 +187,7 @@ def _credit_card_type(self, card_type=None): return card_type return self.credit_card_types[card_type] - def _generate_number(self, prefix, length): + def _generate_number(self, prefix: str, length: int) -> str: """Generate a credit card number. The ``prefix`` argument is the start of the CC number as a string which @@ -136,7 +196,7 @@ def _generate_number(self, prefix, length): """ number = prefix # Generate random char digits - number += '#' * (length - len(prefix) - 1) + number += "#" * (length - len(prefix) - 1) number = self.numerify(number) reverse = number[::-1] # Calculate sum diff --git a/faker/providers/credit_card/fa_IR/__init__.py b/faker/providers/credit_card/fa_IR/__init__.py index b393798afc..b10f0fac85 100644 --- a/faker/providers/credit_card/fa_IR/__init__.py +++ b/faker/providers/credit_card/fa_IR/__init__.py @@ -52,46 +52,72 @@ class Provider(CreditCardProvider): prefix_parsian = ["622106"] prefix_bim = ["627961"] - credit_card_types = OrderedDict(( - ('ansar', CreditCard('انصار', prefix_ansar, 16, security_code='CVV2')), - ('iran_zamin', CreditCard('ایران زمین', prefix_iran_zamin, 16, security_code='CVV2')), - ('hekmat', CreditCard('حکمت', prefix_hekmat, 16, security_code='CVV2')), - ('keshavarzi', CreditCard('کشاورزی', prefix_keshavarzi, 16, security_code='CVV2')), - ('shahr', CreditCard('شهر', prefix_shahr, 16, security_code='CVV2')), - ('mehre_ghtesad', CreditCard('مهراقتصاد', prefix_mehr_eghtesad, 16, security_code='CVV2')), - ('sarmayeh', CreditCard('سرمایه', prefix_sarmayeh, 16, security_code='CVV2')), - ('post_bank', CreditCard('پست بانک', prefix_post_bank, 16, security_code='CVV2')), - ('tose', CreditCard('توسعه', prefix_tose, 16, security_code='CVV2')), - ('eghtesad_novin', CreditCard('اقتصاد نوین', prefix_eghtesad_novin, 16, security_code='CVV2')), - ('meli', CreditCard('ملی', prefix_meli, 16, security_code='CVV2')), - ('pasargad', CreditCard('پاسارگاد', prefix_pasargad, 16, security_code='CVV2')), - ('tourism_bank', CreditCard('گردشگری', prefix_tourism_bank, 16, security_code='CVV2')), - ('ghavamin', CreditCard('قوامین', prefix_ghavamin, 16, security_code='CVV2')), - ('day', CreditCard('دی', prefix_day, 16, security_code='CVV2')), - ('mellat', CreditCard('ملت', prefix_mellat, 16, security_code='CVV2')), - ('tejarat', CreditCard('تجارت', prefix_tejarat, 16, security_code='CVV2')), - ('mellal', CreditCard('ملل', prefix_moasse_mellal, 16, security_code='CVV2')), - ('saman', CreditCard('سامان', prefix_saman_bank, 16, security_code='CVV2')), - ('kosar', CreditCard('کوثر', prefix_kosar, 16, security_code='CVV2')), - ('refah', CreditCard('رفاه', prefix_refah, 16, security_code='CVV2')), - ('saderat', CreditCard('صادرات', prefix_saderat, 16, security_code='CVV2')), - ('tat', CreditCard('تات', prefix_tat, 16, security_code='CVV2')), - ('sina', CreditCard('سینا', prefix_sina, 16, security_code='CVV2')), - ('kar_afarin', CreditCard('کار آفرین', prefix_kar_afarin, 16, security_code='CVV2')), - ('sepah', CreditCard('سپه', prefix_sepah, 16, security_code='CVV2')), - ('maskan', CreditCard('مسکن', prefix_maskan, 16, security_code='CVV2')), - ('parsian', CreditCard('پارسیان', prefix_parsian, 16, security_code='CVV2')), - ('bim', CreditCard('صنعت و معدن', prefix_bim, 16, security_code='CVV2')), - )) - - def credit_card_expire(self, start='now', end='+3y', date_format='%y/%m'): - """Generate a credit card expiry date. - - This method uses |date_time_between| under the hood to generate the - expiry date, so the ``start`` and ``end`` arguments work in the same way - here as it would in that method. For the actual formatting of the expiry - date, |strftime| is used and ``date_format`` is simply passed - to that method. - """ - expire_date = self.generator.date_time_between(start, end) - return expire_date.strftime(date_format) + credit_card_types = OrderedDict( + ( + ("ansar", CreditCard("انصار", prefix_ansar, 16, security_code="CVV2")), + ( + "iran_zamin", + CreditCard("ایران زمین", prefix_iran_zamin, 16, security_code="CVV2"), + ), + ("hekmat", CreditCard("حکمت", prefix_hekmat, 16, security_code="CVV2")), + ( + "keshavarzi", + CreditCard("کشاورزی", prefix_keshavarzi, 16, security_code="CVV2"), + ), + ("shahr", CreditCard("شهر", prefix_shahr, 16, security_code="CVV2")), + ( + "mehre_ghtesad", + CreditCard("مهراقتصاد", prefix_mehr_eghtesad, 16, security_code="CVV2"), + ), + ( + "sarmayeh", + CreditCard("سرمایه", prefix_sarmayeh, 16, security_code="CVV2"), + ), + ( + "post_bank", + CreditCard("پست بانک", prefix_post_bank, 16, security_code="CVV2"), + ), + ("tose", CreditCard("توسعه", prefix_tose, 16, security_code="CVV2")), + ( + "eghtesad_novin", + CreditCard("اقتصاد نوین", prefix_eghtesad_novin, 16, security_code="CVV2"), + ), + ("meli", CreditCard("ملی", prefix_meli, 16, security_code="CVV2")), + ( + "pasargad", + CreditCard("پاسارگاد", prefix_pasargad, 16, security_code="CVV2"), + ), + ( + "tourism_bank", + CreditCard("گردشگری", prefix_tourism_bank, 16, security_code="CVV2"), + ), + ( + "ghavamin", + CreditCard("قوامین", prefix_ghavamin, 16, security_code="CVV2"), + ), + ("day", CreditCard("دی", prefix_day, 16, security_code="CVV2")), + ("mellat", CreditCard("ملت", prefix_mellat, 16, security_code="CVV2")), + ("tejarat", CreditCard("تجارت", prefix_tejarat, 16, security_code="CVV2")), + ( + "mellal", + CreditCard("ملل", prefix_moasse_mellal, 16, security_code="CVV2"), + ), + ("saman", CreditCard("سامان", prefix_saman_bank, 16, security_code="CVV2")), + ("kosar", CreditCard("کوثر", prefix_kosar, 16, security_code="CVV2")), + ("refah", CreditCard("رفاه", prefix_refah, 16, security_code="CVV2")), + ("saderat", CreditCard("صادرات", prefix_saderat, 16, security_code="CVV2")), + ("tat", CreditCard("تات", prefix_tat, 16, security_code="CVV2")), + ("sina", CreditCard("سینا", prefix_sina, 16, security_code="CVV2")), + ( + "kar_afarin", + CreditCard("کار آفرین", prefix_kar_afarin, 16, security_code="CVV2"), + ), + ("sepah", CreditCard("سپه", prefix_sepah, 16, security_code="CVV2")), + ("maskan", CreditCard("مسکن", prefix_maskan, 16, security_code="CVV2")), + ( + "parsian", + CreditCard("پارسیان", prefix_parsian, 16, security_code="CVV2"), + ), + ("bim", CreditCard("صنعت و معدن", prefix_bim, 16, security_code="CVV2")), + ) + ) diff --git a/faker/providers/credit_card/pt_PT/__init__.py b/faker/providers/credit_card/pt_PT/__init__.py new file mode 100644 index 0000000000..bfb500b65a --- /dev/null +++ b/faker/providers/credit_card/pt_PT/__init__.py @@ -0,0 +1,298 @@ +from collections import OrderedDict + +from .. import CreditCard +from .. import Provider as CreditCardProvider + + +class Provider(CreditCardProvider): + """Implementation of ``pt_PT`` locale credit card + + For all methods that take ``card_type`` as an argument a random card type + will be used if the supplied value is ``None``. The list of valid card types + includes ``'visa'``, ``'mastercard'`` and ``'maestro'``. + + Source: https://bincheck.org/portugal + """ + + prefix_visa = [ + "400131", + "400190", + "400817", + "402192", + "402947", + "402956", + "403005", + "403006", + "403007", + "403008", + "403271", + "404520", + "404530", + "405758", + "406170", + "406475", + "407548", + "407549", + "407575", + "408237", + "408239", + "409842", + "409843", + "410000", + "410344", + "410345", + "410553", + "410557", + "411635", + "411700", + "411701", + "411869", + "412487", + "412488", + "412489", + "412657", + "412782", + "412990", + "413014", + "413793", + "413871", + "415158", + "415159", + "415170", + "415171", + "415174", + "415175", + "415194", + "415195", + "415238", + "415272", + "415273", + "415403", + "415404", + "415405", + "415440", + "415441", + "415569", + "415920", + "415961", + "416952", + "416963", + "416970", + "417005", + "417091", + "417092", + "417337", + "418847", + "419022", + "419682", + "419683", + "419684", + "421149", + "421510", + "422080", + "422240", + "422241", + "422414", + "422417", + "422597", + "422869", + "423392", + "423393", + "424118", + "424184", + "424208", + "424661", + "425509", + "425510", + "425906", + "426150", + "426360", + "426370", + "427256", + "427304", + "427729", + "427770", + "427867", + "428139", + "428184", + "428185", + "428186", + "428187", + "429711", + "430240", + "430241", + "431926", + "433390", + "433391", + "433511", + "433512", + "433513", + "433599", + "433618", + "433622", + "433966", + "437886", + "438257", + "439070", + "440637", + "440644", + "440645", + "442664", + "443977", + "443978", + "444224", + "444227", + "445961", + "445962", + "446140", + "446144", + "449389", + "450915", + "451156", + "451166", + "454755", + "455250", + "455290", + "455292", + "455658", + "456811", + "456812", + "457031", + "458058", + "458059", + "459432", + "459433", + "459449", + "460340", + "460341", + "460342", + "461247", + "461248", + "461249", + "462731", + "462732", + "464406", + "465964", + "476066", + "476067", + "476068", + "476069", + "476070", + "476071", + "476329", + "477920", + "477921", + "477922", + "477947", + "477989", + "478062", + "478063", + "479702", + "479736", + "483088", + "485672", + "486449", + "486457", + "489434", + "489485", + "490772", + "490830", + "490831", + "490832", + "490841", + "490863", + "491213", + "491546", + "491547", + "491613", + "492194", + "493402", + "493480", + "493800", + "493801", + "493830", + "498800", + "499968", + "499969", + "499986", + "422239", + "422041", + "464409", + "464408", + ] + + prefix_mastercard = [ + "510122", + "510123", + "512556", + "518772", + "519744", + "519774", + "520342", + "524552", + "524878", + "525625", + "525808", + "526819", + "527014", + "528024", + "529119", + "530267", + "530770", + "532355", + "536468", + "541171", + "541557", + "542081", + "542098", + "542858", + "543099", + "543116", + "543123", + "544051", + "544052", + "544233", + "547260", + "547459", + "548168", + "548169", + "552727", + "552755", + "553057", + "554506", + "554517", + "554518", + "556660", + "557836", + "557882", + "557883", + "557888", + ] + + prefix_maestro = [ + "501654", + "501659", + "670530", + "670811", + "670812", + "676938", + "676938", + "677393", + "677707", + "670835", + "670817", + ] + + credit_card_types = OrderedDict( + ( + ( + "maestro", + CreditCard("Maestro", prefix_maestro, 16, security_code="CVV2"), + ), + ( + "mastercard", + CreditCard("Mastercard", prefix_mastercard, 16, security_code="CVV2"), + ), + ("visa", CreditCard("Visa", prefix_visa, 16, security_code="CVV2")), + ) + ) diff --git a/faker/providers/credit_card/ru_RU/__init__.py b/faker/providers/credit_card/ru_RU/__init__.py index 8826f9ec29..34f2a97daa 100644 --- a/faker/providers/credit_card/ru_RU/__init__.py +++ b/faker/providers/credit_card/ru_RU/__init__.py @@ -1,8 +1,9 @@ from collections import OrderedDict +from typing import Optional from faker.providers.person.ru_RU import translit -from .. import CreditCard +from .. import CardType, CreditCard from .. import Provider as CreditCardProvider @@ -19,53 +20,96 @@ class Provider(CreditCardProvider): - https://en.wikipedia.org/wiki/Payment_card_number#Issuer_identification_number_(IIN) """ - prefix_visa = ['4'] - prefix_mastercard = ['51', '52', '53', '54', '55', '222%', '223', '224', '225', '226', - '227', '228', '229', '23', '24', '25', '26', '270', '271', '2720'] - prefix_mir = ['2200', '2201', '2202', '2203', '2204'] - prefix_maestro = ['50', '56', '57', '58', '59', '60', '61', '62', '63', '64', '65', '66', '67', '68', '69'] - prefix_amex = ['34', '37'] - prefix_unionpay = ['62', '81'] + prefix_visa = ["4"] + prefix_mastercard = [ + "51", + "52", + "53", + "54", + "55", + "222%", + "223", + "224", + "225", + "226", + "227", + "228", + "229", + "23", + "24", + "25", + "26", + "270", + "271", + "2720", + ] + prefix_mir = ["2200", "2201", "2202", "2203", "2204"] + prefix_maestro = [ + "50", + "56", + "57", + "58", + "59", + "60", + "61", + "62", + "63", + "64", + "65", + "66", + "67", + "68", + "69", + ] + prefix_amex = ["34", "37"] + prefix_unionpay = ["62", "81"] - credit_card_types = OrderedDict(( - ('visa', CreditCard('Visa', prefix_visa, security_code='CVV2')), - ('mastercard', CreditCard('Mastercard', prefix_mastercard, security_code='CVC2')), - ('mir', CreditCard('МИР', prefix_mir)), - ('maestro', CreditCard('Maestro', prefix_maestro, security_code='CVV2')), - ('amex', CreditCard('American Express', prefix_amex, 15, security_code='CID', security_code_length=4)), - ('unionpay', CreditCard('Union Pay', prefix_unionpay)), - )) + credit_card_types = OrderedDict( + ( + ("visa", CreditCard("Visa", prefix_visa, security_code="CVV2")), + ( + "mastercard", + CreditCard("Mastercard", prefix_mastercard, security_code="CVC2"), + ), + ("mir", CreditCard("МИР", prefix_mir)), + ("maestro", CreditCard("Maestro", prefix_maestro, security_code="CVV2")), + ( + "amex", + CreditCard( + "American Express", + prefix_amex, + 15, + security_code="CID", + security_code_length=4, + ), + ), + ("unionpay", CreditCard("Union Pay", prefix_unionpay)), + ) + ) - def credit_card_expire(self, start='now', end='+4y', date_format='%m/%y'): - """Generate a credit card expiry date. - - This method uses |date_time_between| under the hood to generate the - expiry date, so the ``start`` and ``end`` arguments work in the same way - here as it would in that method. For the actual formatting of the expiry - date, |strftime| is used and ``date_format`` is simply passed - to that method. - """ - expire_date = self.generator.date_time_between(start, end) - return expire_date.strftime(date_format) - - def credit_card_full(self, card_type=None): + def credit_card_full(self, card_type: Optional[CardType] = None) -> str: """Generate a set of credit card details.""" card = self._credit_card_type(card_type) - tpl = ('{provider}\n' - '{owner}\n' - '{number} {expire_date}\n' - '{security}: {security_nb}\n' - '{issuer}') + tpl = "{provider}\n" "{owner}\n" "{number} {expire_date}\n" "{security}: {security_nb}\n" "{issuer}" - tpl = tpl.format(provider=card.name, - owner=translit( - self.generator.parse(self.random_element(["{{first_name_male}} {{last_name_male}}", - "{{first_name_female}} {{last_name_female}}"]))), - number=self.credit_card_number(card), - expire_date=self.credit_card_expire(), - security=card.security_code, - security_nb=self.credit_card_security_code(card), - issuer=self.generator.parse("{{bank}}")) + tpl = tpl.format( + provider=card.name, + owner=translit( + self.generator.parse( + self.random_element( + [ + "{{first_name_male}} {{last_name_male}}", + "{{first_name_female}} {{last_name_female}}", + ] + ) + ) + ), + number=self.credit_card_number(card), + expire_date=self.credit_card_expire(), + security=card.security_code, + security_nb=self.credit_card_security_code(card), + issuer=self.generator.parse("{{bank}}"), + ) return self.generator.parse(tpl) diff --git a/faker/providers/currency/__init__.py b/faker/providers/currency/__init__.py index f6842e0e71..6479883540 100644 --- a/faker/providers/currency/__init__.py +++ b/faker/providers/currency/__init__.py @@ -1,11 +1,13 @@ -from .. import BaseProvider +from typing import Dict, Optional, Tuple + +from .. import BaseProvider, ElementsType localized = True class Provider(BaseProvider): # Format: (code, name) - currencies = ( + currencies: ElementsType[Tuple[str, str]] = ( ("AED", "United Arab Emirates dirham"), ("AFN", "Afghan afghani"), ("ALL", "Albanian lek"), @@ -173,80 +175,149 @@ class Provider(BaseProvider): ) # Source: https://en.wikipedia.org/wiki/List_of_cryptocurrencies - cryptocurrencies = ( - ('AMP', "AMP"), - ('AUR', "Auroracoin"), - ('BC', "BlackCoin"), - ('BTC', "Bitcoin"), - ('BURST', "Burstcoin"), - ('DASH', "Dash"), - ('DOGE', "Dogecoin"), - ('EMC', "Emercoin"), - ('ETH', "Ethereum"), - ('ETC', "Ethereum Classic"), - ('GRC', "Gridcoin"), - ('KOI', "Coinye"), - ('LTC', "Litecoin"), - ('MSC', "Omni"), - ('MZC', "MazaCoin"), - ('NMC', "Namecoin"), - ('NXT', "Nxt"), - ('POT', "PotCoin"), - ('PPC', "Peercoin"), - ('TIT', "Titcoin"), - ('VTC', "Vertcoin"), - ('XDN', "DigitalNote"), - ('XMR', "Monero"), - ('XPM', "Primecoin"), - ('XRP', "Ripple"), - ('ZEC', "Zcash"), - ('STC', "SwiftCoin"), - ('BCN', "Bytecoin"), - ('FTH', "Feathercoin"), - ('NEO', "NEO"), - ('NEM', "XEM"), - ('USDT', "Tether"), - ('IOTA', "IOTA"), - ('DRC', "Decred"), - ('WAVES', "Waves Platform"), - ('LSK', "Lisk"), - ('ZCL', "Zclassic"), - ('BCH', "Bitcoin Cash"), - ('UBQ', "Ubiq"), - ('EOS', "EOS.IO"), - ('SRN', "Sirin Labs"), - ('TRX', "TRON"), - ('ADA', "Cardano"), + cryptocurrencies: ElementsType[Tuple[str, str]] = ( + ("AMP", "AMP"), + ("AUR", "Auroracoin"), + ("BC", "BlackCoin"), + ("BTC", "Bitcoin"), + ("BURST", "Burstcoin"), + ("DASH", "Dash"), + ("DOGE", "Dogecoin"), + ("EMC", "Emercoin"), + ("ETH", "Ethereum"), + ("ETC", "Ethereum Classic"), + ("GRC", "Gridcoin"), + ("KOI", "Coinye"), + ("LTC", "Litecoin"), + ("MSC", "Omni"), + ("MZC", "MazaCoin"), + ("NMC", "Namecoin"), + ("NXT", "Nxt"), + ("POT", "PotCoin"), + ("PPC", "Peercoin"), + ("TIT", "Titcoin"), + ("VTC", "Vertcoin"), + ("XDN", "DigitalNote"), + ("XMR", "Monero"), + ("XPM", "Primecoin"), + ("XRP", "Ripple"), + ("ZEC", "Zcash"), + ("STC", "SwiftCoin"), + ("BCN", "Bytecoin"), + ("FTH", "Feathercoin"), + ("NEO", "NEO"), + ("NEM", "XEM"), + ("USDT", "Tether"), + ("IOTA", "IOTA"), + ("DRC", "Decred"), + ("WAVES", "Waves Platform"), + ("LSK", "Lisk"), + ("ZCL", "Zclassic"), + ("BCH", "Bitcoin Cash"), + ("UBQ", "Ubiq"), + ("EOS", "EOS.IO"), + ("SRN", "Sirin Labs"), + ("TRX", "TRON"), + ("ADA", "Cardano"), ) # List of currency symbols in Unicode, source: https://www.unicode.org/charts/beta/nameslist/n_20A0.html - currency_symbols = { - 'AFN': '\u060B', 'ANG': '\u0192', 'ARS': '\u0024', 'AUD': '\u0024', 'AWG': '\u0192', 'BBD': '\u0024', - 'BDT': '\u09F3', 'BMD': '\u0024', 'BND': '\u0024', 'BOB': '\u0024', 'BRL': '\u0024', 'BSD': '\u0024', - 'BZD': '\u0024', 'CAD': '\u0024', 'CLP': '\u0024', 'CNY': '\u00A5', 'COP': '\u0024', 'CRC': '\u20A1', - 'CUP': '\u0024', 'CVE': '\u0024', 'DOP': '\u0024', 'EGP': '\u00A3', 'EUR': '\u20AC', 'FJD': '\u0024', - 'FKP': '\u00A3', 'GBP': '\u00A3', 'GHS': '\u20B5', 'GIP': '\u00A3', 'GYD': '\u0024', 'HKD': '\u0024', - 'HUF': '\u0192', 'IDR': '\u20A8', 'ILS': '\u20AA', 'INR': '\u20B9', 'IRR': '\uFDFC', 'JMD': '\u0024', - 'JPY': '\u00A5', 'KHR': '\u17DB', 'KPW': '\u20A9', 'KRW': '\u20A9', 'KYD': '\u0024', 'KZT': '\u20B8', - 'LAK': '\u20AD', 'LBP': '\u00A3', 'LKR': '\u20A8', 'LRD': '\u0024', 'MNT': '\u20AE', 'MOP': '\u0024', - 'MUR': '\u20A8', 'MXN': '\u0024', 'NAD': '\u0024', 'NGN': '\u20A6', 'NIO': '\u0024', 'NPR': '\u20A8', - 'NZD': '\u0024', 'OMR': '\uFDFC', 'PHP': '\u20B1', 'PKR': '\u20A8', 'PYG': '\u20B2', 'QAR': '\uFDFC', - 'RUB': '\u20BD', 'SAR': '\uFDFC', 'SBD': '\u0024', 'SDG': '\u00A3', 'SGD': '\u0024', 'SHP': '\u00A3', - 'SRD': '\u0024', 'SYP': '\u00A3', 'THB': '\u0E3F', 'TOP': '\u0024', 'TRY': '\u20BA', 'TTD': '\u0024', - 'TWD': '\u0024', 'UAH': '\u20B4', 'USD': '\u0024', 'UY': '\u0024', 'VND': '\u20AB', 'WST': '\u0024', - 'XCD': '\u0024', 'YER': '\uFDFC', 'ZWD': '\u0024', + currency_symbols: Dict[str, str] = { + "AFN": "\u060B", + "ANG": "\u0192", + "ARS": "\u0024", + "AUD": "\u0024", + "AWG": "\u0192", + "BBD": "\u0024", + "BDT": "\u09F3", + "BMD": "\u0024", + "BND": "\u0024", + "BOB": "\u0024", + "BRL": "\u0024", + "BSD": "\u0024", + "BZD": "\u0024", + "CAD": "\u0024", + "CLP": "\u0024", + "CNY": "\u00A5", + "COP": "\u0024", + "CRC": "\u20A1", + "CUP": "\u0024", + "CVE": "\u0024", + "DOP": "\u0024", + "EGP": "\u00A3", + "EUR": "\u20AC", + "FJD": "\u0024", + "FKP": "\u00A3", + "GBP": "\u00A3", + "GHS": "\u20B5", + "GIP": "\u00A3", + "GYD": "\u0024", + "HKD": "\u0024", + "HUF": "\u0192", + "IDR": "\u20A8", + "ILS": "\u20AA", + "INR": "\u20B9", + "IRR": "\uFDFC", + "JMD": "\u0024", + "JPY": "\u00A5", + "KHR": "\u17DB", + "KPW": "\u20A9", + "KRW": "\u20A9", + "KYD": "\u0024", + "KZT": "\u20B8", + "LAK": "\u20AD", + "LBP": "\u00A3", + "LKR": "\u20A8", + "LRD": "\u0024", + "MNT": "\u20AE", + "MOP": "\u0024", + "MUR": "\u20A8", + "MXN": "\u0024", + "NAD": "\u0024", + "NGN": "\u20A6", + "NIO": "\u0024", + "NPR": "\u20A8", + "NZD": "\u0024", + "OMR": "\uFDFC", + "PHP": "\u20B1", + "PKR": "\u20A8", + "PYG": "\u20B2", + "QAR": "\uFDFC", + "RUB": "\u20BD", + "SAR": "\uFDFC", + "SBD": "\u0024", + "SDG": "\u00A3", + "SGD": "\u0024", + "SHP": "\u00A3", + "SRD": "\u0024", + "SYP": "\u00A3", + "THB": "\u0E3F", + "TOP": "\u0024", + "TRY": "\u20BA", + "TTD": "\u0024", + "TWD": "\u0024", + "UAH": "\u20B4", + "USD": "\u0024", + "UY": "\u0024", + "VND": "\u20AB", + "WST": "\u0024", + "XCD": "\u0024", + "YER": "\uFDFC", + "ZWD": "\u0024", } - def currency(self): + price_formats: ElementsType = ["#.##", "%#.##", "%##.##", "%,###.##", "%#,###.##"] + + def currency(self) -> Tuple[str, str]: return self.random_element(self.currencies) - def currency_code(self): + def currency_code(self) -> str: return self.currency()[0] - def currency_name(self): + def currency_name(self) -> str: return self.currency()[1] - def currency_symbol(self, code=None): + def currency_symbol(self, code: Optional[str] = None) -> str: """ :example: $ """ @@ -254,11 +325,15 @@ def currency_symbol(self, code=None): code = self.random_element(self.currency_symbols.keys()) return self.currency_symbols[code] - def cryptocurrency(self): + def cryptocurrency(self) -> Tuple[str, str]: return self.random_element(self.cryptocurrencies) - def cryptocurrency_code(self): + def cryptocurrency_code(self) -> str: return self.cryptocurrency()[0] - def cryptocurrency_name(self): + def cryptocurrency_name(self) -> str: return self.cryptocurrency()[1] + + def pricetag(self) -> str: + currency: Tuple[str, str] = self.random_element(self.currencies) + return currency[0] + "\N{no-break space}" + self.numerify(self.random_element(self.price_formats)) diff --git a/faker/providers/currency/cs_CZ/__init__.py b/faker/providers/currency/cs_CZ/__init__.py new file mode 100644 index 0000000000..044cf8dfb0 --- /dev/null +++ b/faker/providers/currency/cs_CZ/__init__.py @@ -0,0 +1,9 @@ +from .. import Provider as CurrencyProvider + + +class Provider(CurrencyProvider): + + price_formats = ["#,#0", "%#,#0", "%##,#0", "%.###,#0", "%#.###,#0"] + + def pricetag(self) -> str: + return self.numerify(self.random_element(self.price_formats)) + "\N{no-break space}Kč" diff --git a/faker/providers/currency/de_AT/__init__.py b/faker/providers/currency/de_AT/__init__.py new file mode 100644 index 0000000000..4bd855a9d4 --- /dev/null +++ b/faker/providers/currency/de_AT/__init__.py @@ -0,0 +1,9 @@ +from .. import Provider as CurrencyProvider + + +class Provider(CurrencyProvider): + + price_formats = ["#,##", "%#,##", "%##,##", "%.###,##", "%#.###,##"] + + def pricetag(self) -> str: + return self.numerify(self.random_element(self.price_formats)) + "\N{no-break space}\N{euro sign}" diff --git a/faker/providers/currency/de_DE/__init__.py b/faker/providers/currency/de_DE/__init__.py new file mode 100644 index 0000000000..1e863b6c44 --- /dev/null +++ b/faker/providers/currency/de_DE/__init__.py @@ -0,0 +1,9 @@ +from .. import Provider as CurrencyProvider + + +class Provider(CurrencyProvider): + + price_formats = ["#,##", "%#,##", "%##,##", "%.###,##", "%#.###,##"] + + def pricetag(self): + return self.numerify(self.random_element(self.price_formats)) + "\N{no-break space}\N{euro sign}" diff --git a/faker/providers/currency/el_GR/__init__.py b/faker/providers/currency/el_GR/__init__.py new file mode 100644 index 0000000000..a16afce4e6 --- /dev/null +++ b/faker/providers/currency/el_GR/__init__.py @@ -0,0 +1,158 @@ +from .. import Provider as CurrencyProvider + + +class Provider(CurrencyProvider): + # Source https://el.wikipedia.org/wiki/Κατάλογος_νομισμάτων_των_χωρών_του_κόσμου + # Format: (code, name) + currencies = ( + ("AED", "Ντιρχάμ των Ηνωμένων Αραβικών Εμιράτων"), + ("AFN", "Αφγάνι"), + ("ALL", "Λεκ"), + ("AMD", "Ντραμ"), + ("AOA", "Κουάνζα"), + ("ARS", "Πέσο Αργεντινής"), + ("AUD", "Δολάριο Αυστραλίας"), + ("AZN", "Μανάτ του Αζερμπαϊτζάν"), + ("BAM", "Μετατρέψιμο μάρκο Βοσνίας και Ερζεγοβίνης"), + ("BBD", "Δολάριο των Μπαρμπάντος"), + ("BDT", "Τάκα"), + ("BGN", "Λεβ"), + ("BHD", "Δηνάριο του Μπαχρέιν"), + ("BIF", "Φράγκο του Μπουρούντι"), + ("BND", "Κυάτ Μιανμάρ"), + ("BOB", "Μπολιβιάνο"), + ("BRL", "Ρεάλ Βραζιλίας"), + ("BSD", "Δολάριο Μπαχάμας"), + ("BTN", "Νγκούλντρουμ"), + ("BWP", "Πούλα"), + ("BYΝ", "Ρούβλι Λευκορωσίας"), + ("BZD", "Δολάριο Μπελίζ"), + ("CAD", "Δολάριο Καναδά"), + ("CDF", "Φράγκο του Κονγκό"), + ("CHF", "Ελβετικό Φράγκο"), + ("CLP", "Πέσο Χιλής"), + ("CNY", "Γιουάν |"), + ("COP", "Πέσο Κολομβίας"), + ("CRC", "Κολόν"), + ("CSD", "Δηνάριο Σερβίας"), + ("CUC", "Μετατρέψιμο πέσο Κούβας"), + ("CUP", "Πέσος Κούβας"), + ("CVE", "Εσκούδο Πρασίνου Ακρωτηρίου"), + ("CZK", "Κορόνα Τσεχίας (koruna)"), + ("DJF", "Φράγκο του Τζιμπουτί"), + ("DKK", "Κορόνα Δανίας"), + ("DOP", "Πέσο Δομινικανής Δημοκρατίας"), + ("DZD", "Δηνάριο της Αλγερίας"), + ("EGP", "Λίρα Αιγύπτου"), + ("ERN", "Νάκφα"), + ("ETB", "Μπιρ"), + ("EUR", "Ευρώ"), + ("FJD", "Δολάριο Νησιών Φίτζι"), + ("GBP", "Στερλίνα"), + ("GEL", "Λάρι"), + ("GHC", "Σέντι της Γκάνας"), + ("GMD", "Νταλάζι (Dalasi)"), + ("GNF", "Φράγκο Γουινέας"), + ("GTQ", "Κετσάλ"), + ("GYD", "Δολάριο Γουιάνας"), + ("HNL", "Λεμπίρα"), + ("HRK", "Κούνα"), + ("HTG", "Γκουρντ"), + ("HUF", "Φιορίνι Ουγγαρίας"), + ("IDR", "Ρουπία Ινδονησίας"), + ("ILS", "Νέο σέκελ"), + ("INR", "Ρουπία Ινδίας[6]"), + ("IQD", "Δηνάριο του Ιράκ"), + ("IRR", "Ριάλ του Ιράν"), + ("ISK", "Κορόνα Ισλανδίας (króna)"), + ("JMD", "Δολάριο Τζαμάικας"), + ("JOD", "Ιορδανικό δηνάριο"), + ("JPY", "Γιέν"), + ("KES", "Σελίνι Κένυας"), + ("KGS", "Σομ της Κιργιζίας"), + ("KHR", "Ριέλ Καμπότζης"), + ("KMF", "Φράγκο Κομόρων"), + ("KPW", "Γουόν Βόρειας Κορέας"), + ("KRW", "Γουόν Νότιας Κορέας"), + ("KWD", "Δηνάριο του Κουβέιτ"), + ("KZT", "Τένγκε"), + ("LAK", "Κιπ"), + ("LBP", "Λίρα Λιβάνου"), + ("LKR", "Ρουπία της Σρι Λάνκας (rupee)"), + ("LRD", "Δολάριο Λιβερίας"), + ("LSL", "Λότι"), + ("LYD", "Δηνάριο Λιβύης"), + ("MAD", "Ντιρχάμ Μαρόκου"), + ("MDL", "Μολδαβικό Λέου"), + ("MGA", "Αριάρι[10]"), + ("MKD", "Δηνάριο Βόρειας Μακεδονίας"), + ("MNT", "Τουγκρίκ"), + ("MRU", "Ουγκίγια[10]"), + ("MUR", "Ρουπία Μαυρίκιου"), + ("MVR", "Ρουφίγια"), + ("MWK", "Κουάτσα του Μαλάουι"), + ("MXN", "Πέσο Μεξικού"), + ("MYR", "Ρινγκίτ"), + ("MZN", "Μετικάλ"), + ("NAD", "Δολάριο Ναμίμπιας"), + ("NGN", "Νάιρα"), + ("NIO", "Χρυσό κόρντομπα της Νικαράγουας"), + ("NOK", "Κορόνα Νορβηγίας (krone)"), + ("NPR", "Ρουπία του Νεπάλ (rupee)"), + ("NZD", "Δολάριο Νέας Ζηλανδίας"), + ("OMR", "Ριάλ του Ομάν"), + ("PAB", "Μπαλμπόα Παναμά"), + ("PEK", "ΠΕΚΕΡΟΝ"), + ("PEN", "Σολ Περού (sol)"), + ("PGK", "Κίνα Παπούα-Νέας Γουινέας"), + ("PHP", "Πέσο Φιλιππίνων"), + ("PKR", "Ρουπία του Πακιστάν (rupee)"), + ("PLN", "Ζλότι"), + ("PYG", "Γκουαρανί"), + ("QAR", "Ριγιάλ του Κατάρ"), + ("RON", "Λέου Ρουμανίας"), + ("RUB", "Ρούβλι Ρωσίας"), + ("RWF", "Φράγκο της Ρουάντα"), + ("SAR", "Ριάλ Σαουδικής Αραβίας (riyal)"), + ("SBD", "Δολάριο των Νήσων του Σολομώντα"), + ("SCR", "Ρουπία των Σεϋχελλών (Seychellois rupee)"), + ("SDG", "Λίρα του Σουδάν"), + ("SEK", "Κορόνα Σουηδίας (krona)"), + ("SGD", "Δολάριο Σιγκαπούρης"), + ("SLL", "Λεόνε της Σιέρα Λεόνε"), + ("SOS", "Σελίνι Σομαλίας"), + ("SRD", "Δολάριο του Σουρινάμ"), + ("SSP", "Λίρα Νοτίου Σουδάν"), + ("STN", "Ντόμπρα"), + ("SYP", "Λίρα Συρίας"), + ("SZL", "Λιλανγκένι"), + ("THB", "Μπαχτ"), + ("TJS", "Σομόνι"), + ("TMM", "Μανάτ του Τουρκμενιστάν"), + ("TND", "Δηνάριο Τυνησίας"), + ("TOP", "Παάνγκα"), + ("TRY", "Τουρκική Λίρα"), + ("TTD", "Δολάριο Τρινιντάντ και Τομπάγκο"), + ("TZS", "Σελίνι Τανζανίας (shilling)"), + ("UAH", "Γρίβνα Ουκρανίας"), + ("UGX", "Σελίνι Ουγκάντας"), + ("USD", "Δολάριο ΗΠΑ"), + ("UYU", "Πέσο Ουρουγουάης"), + ("UZS", "Σομ του Ουζμπεκιστάν"), + ("VES", "Μπολίβαρ Σομπεράνο"), + ("VND", "Ντονγκ"), + ("VUV", "Βάτου"), + ("WST", "Τάλα Σαμόα"), + ("XAF", "Φράγκο CFA Κεντρικής Αφρικής"), + ("XCD", "Δολάριο Ανατολικής Καραϊβικής"), + ("XOF", "Φράγκο CFA Δυτικής Αφρικής"), + ("YER", "Ριάλ Υεμένης"), + ("ZAR", "Ραντ Νότιας Αφρικής"), + ("ZMK", "Κουάτσα της Ζάμπιας"), + ("ZWD", "RTGS Dollar"), + ) + + price_formats = ["#,##", "%#,##", "%##,##", "%.###,##", "%#.###,##"] + + def pricetag(self) -> str: + return self.numerify(self.random_element(self.price_formats)) + "\N{no-break space}\N{euro sign}" diff --git a/faker/providers/currency/en_AU/__init__.py b/faker/providers/currency/en_AU/__init__.py new file mode 100644 index 0000000000..0de4dcc182 --- /dev/null +++ b/faker/providers/currency/en_AU/__init__.py @@ -0,0 +1,9 @@ +from .. import Provider as CurrencyProvider + + +class Provider(CurrencyProvider): + + price_formats = ["#.##", "%#.##", "%##.##", "%,###.##", "%#,###.##"] + + def pricetag(self) -> str: + return "$\N{no-break space}" + self.numerify(self.random_element(self.price_formats)) diff --git a/faker/providers/currency/en_CA/__init__.py b/faker/providers/currency/en_CA/__init__.py new file mode 100644 index 0000000000..a343d14942 --- /dev/null +++ b/faker/providers/currency/en_CA/__init__.py @@ -0,0 +1,9 @@ +from .. import Provider as CurrencyProvider + + +class Provider(CurrencyProvider): + + price_formats = ["#.##", "%#.##", "%##.##", "%,###.##", "%#,###.##"] + + def pricetag(self): + return "$\N{no-break space}" + self.numerify(self.random_element(self.price_formats)) diff --git a/faker/providers/currency/en_US/__init__.py b/faker/providers/currency/en_US/__init__.py index 977d614cb6..a93cc5285f 100644 --- a/faker/providers/currency/en_US/__init__.py +++ b/faker/providers/currency/en_US/__init__.py @@ -2,4 +2,8 @@ class Provider(CurrencyProvider): - pass + + price_formats = ["#.##", "%#.##", "%##.##", "%,###.##", "%#,###.##"] + + def pricetag(self) -> str: + return "$" + self.numerify(self.random_element(self.price_formats)) diff --git a/faker/providers/currency/es_ES/__init__.py b/faker/providers/currency/es_ES/__init__.py index e7f9006b9c..ebfdfacd84 100644 --- a/faker/providers/currency/es_ES/__init__.py +++ b/faker/providers/currency/es_ES/__init__.py @@ -169,3 +169,8 @@ class Provider(CurrencyProvider): ("ZMW", "Kwacha zambiano"), ("ZWD", "Dólar zimbabuense"), ) + + price_formats = ["#,##", "%#,##", "%##,##", "%.###,##", "%#.###,##"] + + def pricetag(self) -> str: + return self.numerify(self.random_element(self.price_formats)) + "\N{no-break space}\N{euro sign}" diff --git a/faker/providers/currency/fr_CA/__init__.py b/faker/providers/currency/fr_CA/__init__.py new file mode 100644 index 0000000000..9728678852 --- /dev/null +++ b/faker/providers/currency/fr_CA/__init__.py @@ -0,0 +1,9 @@ +from .. import Provider as CurrencyProvider + + +class Provider(CurrencyProvider): + + price_formats = ["#,##", "%#,##", "%##,##", "%.###,##", "%#.###,##"] + + def pricetag(self) -> str: + return self.numerify(self.random_element(self.price_formats)) + "\N{no-break space}$" diff --git a/faker/providers/currency/fr_FR/__init__.py b/faker/providers/currency/fr_FR/__init__.py new file mode 100644 index 0000000000..1e863b6c44 --- /dev/null +++ b/faker/providers/currency/fr_FR/__init__.py @@ -0,0 +1,9 @@ +from .. import Provider as CurrencyProvider + + +class Provider(CurrencyProvider): + + price_formats = ["#,##", "%#,##", "%##,##", "%.###,##", "%#.###,##"] + + def pricetag(self): + return self.numerify(self.random_element(self.price_formats)) + "\N{no-break space}\N{euro sign}" diff --git a/faker/providers/currency/it_IT/__init__.py b/faker/providers/currency/it_IT/__init__.py new file mode 100644 index 0000000000..1e863b6c44 --- /dev/null +++ b/faker/providers/currency/it_IT/__init__.py @@ -0,0 +1,9 @@ +from .. import Provider as CurrencyProvider + + +class Provider(CurrencyProvider): + + price_formats = ["#,##", "%#,##", "%##,##", "%.###,##", "%#.###,##"] + + def pricetag(self): + return self.numerify(self.random_element(self.price_formats)) + "\N{no-break space}\N{euro sign}" diff --git a/faker/providers/currency/nl_NL/__init__.py b/faker/providers/currency/nl_NL/__init__.py new file mode 100644 index 0000000000..009d277cc2 --- /dev/null +++ b/faker/providers/currency/nl_NL/__init__.py @@ -0,0 +1,9 @@ +from faker.providers.currency import Provider as CurrencyProvider + + +class Provider(CurrencyProvider): + + price_formats = ["#,##", "%#,##", "%##,##", "%.###,##", "%#.###,##"] + + def pricetag(self) -> str: + return "\N{euro sign}" + self.numerify(self.random_element(self.price_formats)) diff --git a/faker/providers/currency/pl_PL/__init__.py b/faker/providers/currency/pl_PL/__init__.py new file mode 100644 index 0000000000..eab51a7269 --- /dev/null +++ b/faker/providers/currency/pl_PL/__init__.py @@ -0,0 +1,9 @@ +from .. import Provider as CurrencyProvider + + +class Provider(CurrencyProvider): + + price_formats = ["#,##", "%#,##", "%##,##", "%.###,##", "%#.###,##"] + + def pricetag(self) -> str: + return self.numerify(self.random_element(self.price_formats)) + "\N{no-break space}zł" diff --git a/faker/providers/currency/pt_BR/__init__.py b/faker/providers/currency/pt_BR/__init__.py new file mode 100644 index 0000000000..f3e707f754 --- /dev/null +++ b/faker/providers/currency/pt_BR/__init__.py @@ -0,0 +1,9 @@ +from .. import Provider as CurrencyProvider + + +class Provider(CurrencyProvider): + + price_formats = ["#,##", "%#,##", "%##,##", "%.###,##", "%#.###,##"] + + def pricetag(self) -> str: + return "R$" + self.numerify(self.random_element(self.price_formats)) diff --git a/faker/providers/currency/ro_RO/__init__.py b/faker/providers/currency/ro_RO/__init__.py new file mode 100644 index 0000000000..f6d5e7642c --- /dev/null +++ b/faker/providers/currency/ro_RO/__init__.py @@ -0,0 +1,9 @@ +from .. import Provider as CurrencyProvider + + +class Provider(CurrencyProvider): + + price_formats = ["#,##", "%#,##", "%##,##", "%.###,##", "%#.###,##"] + + def pricetag(self) -> str: + return self.numerify(self.random_element(self.price_formats)) + "\N{no-break space}Lei" diff --git a/faker/providers/currency/ru_RU/__init__.py b/faker/providers/currency/ru_RU/__init__.py index 72f3f778a6..f6843c22bd 100644 --- a/faker/providers/currency/ru_RU/__init__.py +++ b/faker/providers/currency/ru_RU/__init__.py @@ -170,3 +170,10 @@ class Provider(CurrencyProvider): ("ZMW", "Замбийская квача"), ("ZWD", "Доллар Зимбабве"), ) + + price_formats = ["#,##", "%#,##", "%##,##", "%.###,##", "%#.###,##"] + + def pricetag(self) -> str: + return ( + self.numerify(self.random_element(self.price_formats)) + "\N{no-break space}\N{cyrillic small letter er}." + ) diff --git a/faker/providers/currency/sk_SK/__init__.py b/faker/providers/currency/sk_SK/__init__.py new file mode 100644 index 0000000000..1e863b6c44 --- /dev/null +++ b/faker/providers/currency/sk_SK/__init__.py @@ -0,0 +1,9 @@ +from .. import Provider as CurrencyProvider + + +class Provider(CurrencyProvider): + + price_formats = ["#,##", "%#,##", "%##,##", "%.###,##", "%#.###,##"] + + def pricetag(self): + return self.numerify(self.random_element(self.price_formats)) + "\N{no-break space}\N{euro sign}" diff --git a/faker/providers/currency/sv_SE/__init__.py b/faker/providers/currency/sv_SE/__init__.py new file mode 100644 index 0000000000..69919686e4 --- /dev/null +++ b/faker/providers/currency/sv_SE/__init__.py @@ -0,0 +1,178 @@ +from .. import Provider as CurrencyProvider + +# Names taken from https://www.iban.se/currency-codes + + +class Provider(CurrencyProvider): + # Format: (code, name) + currencies = ( + ("AED", "UAE Dirham"), + ("AFN", "Afghani"), + ("ALL", "Lek"), + ("AMD", "Armenisk Dram"), + ("ANG", "Gulden från Nederländska Antillerna"), + ("AOA", "Kwanza"), + ("ARS", "Argentinsk Peso"), + ("AUD", "Australisk Dollar"), + ("AWG", "Arubisk Florin"), + ("AZN", "Azerbajdzjansk Manat"), + ("BAM", "Konvertibel Mark"), + ("BBD", "Barbadosdollar"), + ("BDT", "Taka"), + ("BGN", "Bulgarisk Lev"), + ("BHD", "Bahraini Dinar"), + ("BIF", "Burundi-franc"), + ("BMD", "Bermuda-dollar"), + ("BND", "Brunei-dollar"), + ("BOB", "Boliviano"), + ("BOV", "Mvdol"), + ("BRL", "Brasilisk Real"), + ("BSD", "Bahamasdollar"), + ("BTN", "Ngultrum"), + ("BWP", "Pula"), + ("BYR", "Vitrysk Rubel"), + ("BZD", "Belize-dollar"), + ("CAD", "Kanadensisk Dollar"), + ("CDF", "Kongolesisk Franc"), + ("CHE", "WIR Euro"), + ("CHF", "Schweizerfranc"), + ("CHW", "WIR Franc"), + ("CLF", "Unidad de Fomento"), + ("CLP", "Chilensk Peso"), + ("CNY", "Yuan Renminbi"), + ("COP", "Colombiansk Peso"), + ("COU", "Unidad de Valor Real"), + ("CRC", "Costa Ricansk Colon"), + ("CUC", "Peso Convertible"), + ("CUP", "Kubansk Peso"), + ("CVE", "Kap Verde Escudo"), + ("CZK", "Tjeckisk Koruna"), + ("DJF", "Djibouti-franc"), + ("DKK", "Dansk Krone"), + ("DOP", "Dominicansk Peso"), + ("DZD", "Algerisk Dinar"), + ("EGP", "Egyptiskt pund"), + ("ERN", "Nakfa"), + ("ETB", "Etiopisk Birr"), + ("EUR", "Euro"), + ("FJD", "Fiji Dollar"), + ("FKP", "Pund från Falklandöarna"), + ("GBP", "Pund Sterling"), + ("GEL", "Lari"), + ("GHS", "Ghana Cedi"), + ("GIP", "Gibraltar-pund"), + ("GMD", "Dalasi"), + ("GNF", "Guinea-franc"), + ("GTQ", "Quetzal"), + ("GYD", "Guyana-dollar"), + ("HKD", "Hong Kong-dollar"), + ("HNL", "Lempira"), + ("HRK", "Kuna"), + ("HTG", "Gourde"), + ("HUF", "Forint"), + ("IDR", "Rupiah"), + ("ILS", "Ny Israelisk Shekel"), + ("INR", "Indisk Rupie"), + ("IQD", "Irakisk Dinar"), + ("IRR", "Iransk Rial"), + ("ISK", "Isländsk Krona"), + ("JMD", "Jamaica-dollar"), + ("JOD", "Jordanisk Dinar"), + ("JPY", "Yen"), + ("KES", "Kenyansk Shilling"), + ("KGS", "Som"), + ("KHR", "Riel"), + ("KMF", "Comoros-franc"), + ("KPW", "Nordkoreansk Won"), + ("KRW", "Won"), + ("KWD", "Kuwaiti Dinar"), + ("KYD", "Caymanöar-dollar"), + ("KZT", "Tenge"), + ("LAK", "Kip"), + ("LBP", "Libanesiskt pund"), + ("LKR", "Sri Lanka Rupie"), + ("LRD", "Liberiansk Dollar"), + ("LSL", "Loti"), + ("LYD", "Libysk Dinar"), + ("MAD", "Marockansk Dirham"), + ("MDL", "Moldavisk Leu"), + ("MGA", "Malagasy Ariary"), + ("MKD", "Denar"), + ("MMK", "Kyat"), + ("MNT", "Tugrik"), + ("MOP", "Pataca"), + ("MRO", "Ouguiya"), + ("MUR", "Mauritius Rupie"), + ("MVR", "Rufiyaa"), + ("MWK", "Kwacha"), + ("MXN", "Mexikansk Peso"), + ("MXV", "Mexikansk Unidad de Inversion (UDI)"), + ("MYR", "Malaysisk Ringgit"), + ("MZN", "Mozambique Metical"), + ("NAD", "Namibia Dollar"), + ("NGN", "Naira"), + ("NIO", "Cordoba Oro"), + ("NOK", "Norsk Krone"), + ("NOK", "Norwegian Krone"), + ("NPR", "Nepalesisk Rupie"), + ("NZD", "Nya Zealand-dollar"), + ("OMR", "Rial Omani"), + ("PAB", "Balboa"), + ("PEN", "Nuevo Sol"), + ("PGK", "Kina"), + ("PHP", "Filippinsk Peso"), + ("PKR", "Pakistansk Rupie"), + ("PLN", "Zloty"), + ("PYG", "Guarani"), + ("QAR", "Qatari Rial"), + ("RON", "Rumänsk Leu"), + ("RSD", "Serbisk Dinar"), + ("RUB", "Rysk Rubel"), + ("RWF", "Rwanda Franc"), + ("SAR", "Saudi Riyal"), + ("SBD", "Dollar från Salomonöarna"), + ("SCR", "Seychell-rupie"), + ("SDG", "Sudanesiskt pund"), + ("SEK", "Svensk Krona"), + ("SGD", "Singapore Dollar"), + ("SHP", "Saint Helena pund"), + ("SLL", "Leone"), + ("SOS", "Somalisk Shilling"), + ("SRD", "Surinam Dollar"), + ("SSP", "Sydsudanesiskt pund"), + ("STD", "Dobra"), + ("SVC", "El Salvador Colon"), + ("SYP", "Syriskt pund"), + ("SZL", "Lilangeni"), + ("THB", "Baht"), + ("TJS", "Somoni"), + ("TMT", "Turkmenistansk Ny Manat"), + ("TND", "Tunisisk Dinar"), + ("TOP", "Pa’anga"), + ("TRY", "Turkisk Lira"), + ("TTD", "Trinidad och Tobago Dollar"), + ("TWD", "Ny Taiwanesisk Dollar"), + ("TZS", "Tanzanisk Shilling"), + ("UAH", "Hryvnia"), + ("UGX", "Uganda Shilling"), + ("USD", "US Dollar"), + ("USN", "US Dollar (Nästa dag)"), + ("UYI", "Uruguay Peso en Unidades Indexadas (URUIURUI)"), + ("UYU", "Peso Uruguayo"), + ("UZS", "Uzbekistansk Sum"), + ("VEF", "Bolivar"), + ("VND", "Dong"), + ("VUV", "Vatu"), + ("WST", "Tala"), + ("XAF", "CFA Franc BEAC"), + ("XCD", "East Caribbean Dollar"), + ("XDR", "SDR (Särskild dragningsrätt)"), + ("XOF", "CFA Franc BCEAO"), + ("XPF", "CFP Franc"), + ("XSU", "Sucre"), + ("XUA", "ADB Beräkningsenhet"), + ("YER", "Yemeni Rial"), + ("ZAR", "Rand"), + ("ZMW", "Zambian Kwacha"), + ("ZWL", "Zimbabwe Dollar"), + ) diff --git a/faker/providers/currency/th_TH/__init__.py b/faker/providers/currency/th_TH/__init__.py new file mode 100644 index 0000000000..6c07758266 --- /dev/null +++ b/faker/providers/currency/th_TH/__init__.py @@ -0,0 +1,186 @@ +from .. import Provider as CurrencyProvider + +# Names taken from https://std.moc.go.th/std/codelist_detail/40 + + +class Provider(CurrencyProvider): + # Format: (code, name) + currencies = ( + ("AED", "ดีแรห์ม สหรัฐอาหรับเอมิเรตส์"), + ("AFN", "อัฟกานิ"), + ("ALL", "เลค"), + ("AMD", "ดีแรห์ม อาร์เมเนีย"), + ("ANG", "กิลเดอร์ เนเธอร์แลนด์แอนทิลลิส"), + ("AOA", "ควันซา"), + ("ARS", "เปโซ อาร์เจนตินา"), + ("AUD", "ดอลลาร์ ออสเตรเลีย"), + ("AWG", "กิลเดอร์ อารูบา"), + ("AZN", "มานาท อาเซอร์ไบจาน"), + ("BAM", "มาร์ค บอสเนียและเฮอร์เซโกวีนา"), + ("BBD", "ดอลลาร์ บาร์เบโดส"), + ("BDT", "ตากา"), + ("BGN", "เลฟ บัลแกเรีย"), + ("BHD", "ดีนาร์ บาห์เรน"), + ("BIF", "ฟรังก์ บุรุนดี"), + ("BMD", "ดอลลาร์ เบอร์มิวดา"), + ("BND", "ดอลลาร์ บรูไนดารุสซาลาม"), + ("BOB", "โบลีเวียโน"), + ("BRL", "เรียล บราซิล"), + ("BSD", "ดอลลาร์ บาฮามาส"), + ("BTN", "เองกัลทรัม"), + ("BWP", "พูลา"), + ("BYR", "รูเบิล เบลารุส"), + ("BZD", "ดอลลาร์ เบลีซ"), + ("CAD", "ดอลลาร์ แคนาดา"), + ("CDF", "ฟรังก์ คองโก"), + ("CHF", "ฟรังก์ สวิส"), + ("CLF", "ฟันด์ โค้ด ยูนิแดด ดี โฟเมนโต"), + ("CLP", "เปโซ ชิลี"), + ("CNY", "หยวนเหรินหมินปี้"), + ("COP", "เปโซ โคลอมเบีย"), + ("COU", "ยูนิแดด ดี วาโล เรียล"), + ("CRC", "โคโลน คอสตาริกา"), + ("CUC", "แปลงสภาพเปโซ"), + ("CUP", "เปโซ คิวบา"), + ("CVE", "เอสคูโด เคปเวิร์ด"), + ("CZK", "คราวน์ เช็ก"), + ("DJF", "ฟรังก์ จิบูตี"), + ("DKK", "โครน เดนมาร์ก"), + ("DOP", "เปโซ สาธารณรัฐโดมินิกัน"), + ("DZD", "ดีนาร์ แอลจีเรีย"), + ("EGP", "ปอนด์ อียิปต์"), + ("ERN", "นาคฟา"), + ("ETB", "เปอร์ เอธิโอเปีย"), + ("EUR", "ยูโร"), + ("FJD", "ดอลลาร์ ฟิจิ"), + ("FKP", "ปอนด์ หมู่เกาะฟอล์กแลนด์"), + ("GBP", "ปอนด์สเตอลิง"), + ("GEL", "ลารี"), + ("GHS", "เซดี กานา"), + ("GIP", "ปอนด์ ยิบรอลตาร์"), + ("GMD", "ดาราซี"), + ("GNF", "ฟรังก์ กินี"), + ("GTQ", "เก็ตซาล"), + ("GYD", "ดอลลาร์ กายอานา"), + ("HKD", "ดอลลาร์ ฮ่องกง"), + ("HNL", "เลมพีรา ฮอนดูรัส"), + ("HRK", "คูนา"), + ("HTG", "กอร์ด"), + ("HUF", "ฟอรินท์"), + ("IDR", "รูเปีย"), + ("ILS", "เชคเกิล อิสราเอล"), + ("INR", "รูปี อินเดีย"), + ("IQD", "ดีนาร์ อิรัก"), + ("IRR", "เรียล อิหร่าน"), + ("ISK", "โครนา ไอซ์แลนด์"), + ("JMD", "ดอลลาร์ จาเมกา"), + ("JOD", "ดอลลาร์ จอร์แดน"), + ("JPY", "เยน"), + ("KES", "ชิลลิง เคนยา"), + ("KGS", "ซอม"), + ("KHR", "เรียล กัมพูชา"), + ("KMF", "ฟรังก์ คอโมโรส"), + ("KPW", "วอน เกาหลีเหนือ"), + ("KRW", "วอน เกาหลีใต้"), + ("KWD", "ดีนาร์ คูเวต"), + ("KYD", "ดอลลาร์ หมู่เกาะเคย์แมน"), + ("KZT", "เทงเก"), + ("LAK", "กีบ"), + ("LBP", "ปอนด์ เลบานอน"), + ("LKR", "รูปี ศรีลังกา"), + ("LRD", "ดอลลาร์ ไลบีเรีย"), + ("LSL", "โลตี"), + ("LTL", "ลีทาส ลิทัวเนีย"), + ("LVL", "ลัตส์ ลัตเวีย"), + ("LYD", "ดีนาร์ ลิเบีย"), + ("MAD", "ดีแรห์ม โมร็อกโก"), + ("MDL", "ลิว มอลโดวา"), + ("MGA", "อเรียรี่ มาดากัสการ์"), + ("MKD", "ดีนาร์ มาซิโดเนีย"), + ("MMK", "จัต"), + ("MNT", "ทูกริค"), + ("MOP", "พาทากา"), + ("MRO", "อูกุยยา / อูกียา"), + ("MUR", "รูปี มอริเชียส"), + ("MVR", "รูฟียา"), + ("MWK", "ควาซา มาลาวี"), + ("MXN", "เปโซ เม็กซิโก"), + ("MYR", "ริงกิต มาเลเซีย"), + ("MZN", "เมททิคัล โมซัมบิก"), + ("NAD", "ดอลลาร์ นามิเบีย"), + ("NGN", "ไนรา"), + ("NIO", "คอร์โดบา"), + ("NOK", "โครน นอร์เวย์"), + ("NPR", "รูปี เนปาล"), + ("NZD", "ดอลลาร์ นิวซีแลนด์"), + ("OMR", "เรียล โอมาน"), + ("PAB", "บัลโบอา"), + ("PEN", "ซัล เปรู"), + ("PGK", "คีนา"), + ("PHP", "เปโซ ฟิลิปปินส์"), + ("PKR", "รูปี ปากีสถาน"), + ("PLN", "สล็อตตี"), + ("PYG", "กวารานี"), + ("QAR", "เรียล กาตาร์"), + ("RON", "ลิว โรมาเนีย"), + ("RSD", "ดีนาร์ เซอร์เบีย"), + ("RUB", "รูเบิล รัสเซีย"), + ("RWF", "ฟรังก์ รวันดา"), + ("SAR", "ริยัล ซาอุดีอาระเบีย"), + ("SBD", "ดอลลาร์ หมู่เกาะโซโลมอน"), + ("SCR", "รูปี เซเชลส์"), + ("SDG", "ปอนด์ ซูดาน"), + ("SEK", "โครนา สวีเดน"), + ("SGD", "ดอลลาร์ สิงคโปร์"), + ("SHP", "ปอนด์ เซนต์เฮเลนา"), + ("SLL", "ลีโอน"), + ("SOS", "ชิลลิง โซมาเลีย"), + ("SRD", "ดอลลาร์ ซูรินาเม"), + ("SSP", "ปอนด์ เซาท์ซูดาน"), + ("STD", "โดบรา"), + ("SVC", "โคโลน เอลซัลวาดอร์"), + ("SYP", "ปอนด์ ซีเรีย"), + ("SZL", "ลิลอนเกนี"), + ("THB", "บาท"), + ("TJS", "โซโมนิ"), + ("TMT", "มานาท เติร์กเมนิสถานใหม่"), + ("TND", "ดีนาร์ ตูนิเซีย"), + ("TOP", "พาอานกา"), + ("TRY", "ลีร์ ตุรกี"), + ("TTD", "ดอลลาร์ ตรินิแดดและโตเบโก"), + ("TWD", "ดอลลาร์ ไต้หวัน"), + ("TZS", "ชิลลิง แทนซาเนีย"), + ("UAH", "รีฟเนีย"), + ("UGX", "ชิลลิง ยูกันดา"), + ("USD", "ดอลลาร์ สหรัฐอเมริกา"), + ("USN", "ดอลลาร์ สหรัฐอเมริกา เน็กซ์เดย์ฟัน"), + ("UYI", "อุรุกวัย เปโซ เอ็น อุนดิดาเดซ อินเด็กซาดาซ"), + ("UYU", "เปโซ อุรุกวัย"), + ("UZS", "โซม อุซเบกิสถาน"), + ("VEF", "โบลิวาร์"), + ("VND", "ดอง"), + ("VUV", "วาตู"), + ("WST", "ทาลา"), + ("XAF", "ฟรังก์ ซีเอฟเอ บีอีเอซี"), + ("XAG", "เงิน"), + ("XAU", "ทองคำ"), + ("XBA", "อียูอาร์ซีโอ"), + ("XBB", "อีเอ็มยู 6"), + ("XBC", "บัญชี อียู 9"), + ("XBD", "บัญชี อียู 17"), + ("XCD", "ดอลลาร์ คาริบเบียลตะวันออก"), + ("XDR", "สิทธิพิเศษถอนเงิน (กองทุนการเงินระหว่างประเทศ)"), + ("XEU", "อี ซี ยู"), + ("XFU", "ยูไอซี ฟรังก์"), + ("XOF", "ฟรังก์ ซีเอฟเอ บีซีอีเอโอ"), + ("XPD", "พัลเลเดียม"), + ("XPF", "ฟรังก์ ซีเอฟพี"), + ("XPT", "แพลตตินัม"), + ("XSU", "ซูเคร"), + ("XUA", "เอดีบี"), + ("XXX", "ธุรกรรมที่ไม่มีเงินสกุลใดเกี่ยวข้อง"), + ("YER", "เรียล เยเมน"), + ("ZAR", "แรนด์"), + ("ZMW", "ควาซา แซมเบีย"), + ("ZWL", "ดอลลาร์ ซิมบับเว"), + ) diff --git a/faker/providers/date_time/__init__.py b/faker/providers/date_time/__init__.py index a645c3ecd3..8477331349 100644 --- a/faker/providers/date_time/__init__.py +++ b/faker/providers/date_time/__init__.py @@ -1,33 +1,37 @@ import re from calendar import timegm -from datetime import MAXYEAR, date, datetime, timedelta +from datetime import MAXYEAR +from datetime import date as dtdate +from datetime import datetime +from datetime import time as dttime +from datetime import timedelta +from datetime import tzinfo as TzInfo +from typing import Any, Callable, Dict, Iterator, Optional, Tuple, Union from dateutil import relativedelta from dateutil.tz import gettz, tzlocal, tzutc -from .. import BaseProvider +from ...typing import DateParseType +from .. import BaseProvider, ElementsType localized = True -def datetime_to_timestamp(dt): - if getattr(dt, 'tzinfo', None) is not None: +def datetime_to_timestamp(dt: Union[dtdate, datetime]) -> int: + if isinstance(dt, datetime) and getattr(dt, "tzinfo", None) is not None: dt = dt.astimezone(tzutc()) return timegm(dt.timetuple()) -def timestamp_to_datetime(timestamp, tzinfo): +def timestamp_to_datetime(timestamp: Union[int, float], tzinfo: Optional[TzInfo]) -> datetime: if tzinfo is None: - pick = datetime.fromtimestamp(timestamp, tzlocal()) - pick = pick.astimezone(tzutc()).replace(tzinfo=None) - else: - pick = datetime.fromtimestamp(timestamp, tzinfo) - - return pick + pick = convert_timestamp_to_datetime(timestamp, tzlocal()) + return pick.astimezone(tzutc()).replace(tzinfo=None) + return convert_timestamp_to_datetime(timestamp, tzinfo) -def change_year(current_date, year_diff): +def change_year(current_date: dtdate, year_diff: int) -> dtdate: """ Unless the current_date is February 29th, it is fine to just subtract years. If it is a leap day, and we are rolling back to a non-leap year, it will @@ -54,1333 +58,1753 @@ class ParseError(ValueError): pass -timedelta_pattern = r'' -for name, sym in [('years', 'y'), ('months', 'M'), ('weeks', 'w'), ('days', 'd'), - ('hours', 'h'), ('minutes', 'm'), ('seconds', 's')]: - timedelta_pattern += r'((?P<{}>(?:\+|-)\d+?){})?'.format(name, sym) +timedelta_pattern: str = r"" +for name, sym in [ + ("years", "y"), + ("months", "M"), + ("weeks", "w"), + ("days", "d"), + ("hours", "h"), + ("minutes", "m"), + ("seconds", "s"), +]: + timedelta_pattern += r"((?P<{}>(?:\+|-)\d+?){})?".format(name, sym) class Provider(BaseProvider): - centuries = [ - 'I', - 'II', - 'III', - 'IV', - 'V', - 'VI', - 'VII', - 'VIII', - 'IX', - 'X', - 'XI', - 'XII', - 'XIII', - 'XIV', - 'XV', - 'XVI', - 'XVII', - 'XVIII', - 'XIX', - 'XX', - 'XXI'] - - countries = [{'timezones': ['Europe/Andorra'], - 'alpha-2-code': 'AD', - 'alpha-3-code': 'AND', - 'continent': 'Europe', - 'name': 'Andorra', - 'capital': 'Andorra la Vella'}, - {'timezones': ['Asia/Kabul'], - 'alpha-2-code': 'AF', - 'alpha-3-code': 'AFG', - 'continent': 'Asia', - 'name': 'Afghanistan', - 'capital': 'Kabul'}, - {'timezones': ['America/Antigua'], - 'alpha-2-code': 'AG', - 'alpha-3-code': 'ATG', - 'continent': 'North America', - 'name': 'Antigua and Barbuda', - 'capital': "St. John's"}, - {'timezones': ['Europe/Tirane'], - 'alpha-2-code': 'AL', - 'alpha-3-code': 'ALB', - 'continent': 'Europe', - 'name': 'Albania', - 'capital': 'Tirana'}, - {'timezones': ['Asia/Yerevan'], - 'alpha-2-code': 'AM', - 'alpha-3-code': 'ARM', - 'continent': 'Asia', - 'name': 'Armenia', - 'capital': 'Yerevan'}, - {'timezones': ['Africa/Luanda'], - 'alpha-2-code': 'AO', - 'alpha-3-code': 'AGO', - 'continent': 'Africa', - 'name': 'Angola', - 'capital': 'Luanda'}, - {'timezones': ['America/Argentina/Buenos_Aires', - 'America/Argentina/Cordoba', - 'America/Argentina/Jujuy', - 'America/Argentina/Tucuman', - 'America/Argentina/Catamarca', - 'America/Argentina/La_Rioja', - 'America/Argentina/San_Juan', - 'America/Argentina/Mendoza', - 'America/Argentina/Rio_Gallegos', - 'America/Argentina/Ushuaia'], - 'alpha-2-code': 'AR', - 'alpha-3-code': 'ARG', - 'continent': 'South America', - 'name': 'Argentina', - 'capital': 'Buenos Aires'}, - {'timezones': ['Europe/Vienna'], - 'alpha-2-code': 'AT', - 'alpha-3-code': 'AUT', - 'continent': 'Europe', - 'name': 'Austria', - 'capital': 'Vienna'}, - {'timezones': ['Australia/Lord_Howe', - 'Australia/Hobart', - 'Australia/Currie', - 'Australia/Melbourne', - 'Australia/Sydney', - 'Australia/Broken_Hill', - 'Australia/Brisbane', - 'Australia/Lindeman', - 'Australia/Adelaide', - 'Australia/Darwin', - 'Australia/Perth'], - 'alpha-2-code': 'AU', - 'alpha-3-code': 'AUS', - 'continent': 'Oceania', - 'name': 'Australia', - 'capital': 'Canberra'}, - {'timezones': ['Asia/Baku'], - 'alpha-2-code': 'AZ', - 'alpha-3-code': 'AZE', - 'continent': 'Asia', - 'name': 'Azerbaijan', - 'capital': 'Baku'}, - {'timezones': ['America/Barbados'], - 'alpha-2-code': 'BB', - 'alpha-3-code': 'BRB', - 'continent': 'North America', - 'name': 'Barbados', - 'capital': 'Bridgetown'}, - {'timezones': ['Asia/Dhaka'], - 'alpha-2-code': 'BD', - 'alpha-3-code': 'BGD', - 'continent': 'Asia', - 'name': 'Bangladesh', - 'capital': 'Dhaka'}, - {'timezones': ['Europe/Brussels'], - 'alpha-2-code': 'BE', - 'alpha-3-code': 'BEL', - 'continent': 'Europe', - 'name': 'Belgium', - 'capital': 'Brussels'}, - {'timezones': ['Africa/Ouagadougou'], - 'alpha-2-code': 'BF', - 'alpha-3-code': 'BFA', - 'continent': 'Africa', - 'name': 'Burkina Faso', - 'capital': 'Ouagadougou'}, - {'timezones': ['Europe/Sofia'], - 'alpha-2-code': 'BG', - 'alpha-3-code': 'BGR', - 'continent': 'Europe', - 'name': 'Bulgaria', - 'capital': 'Sofia'}, - {'timezones': ['Asia/Bahrain'], - 'alpha-2-code': 'BH', - 'alpha-3-code': 'BHR', - 'continent': 'Asia', - 'name': 'Bahrain', - 'capital': 'Manama'}, - {'timezones': ['Africa/Bujumbura'], - 'alpha-2-code': 'BI', - 'alpha-3-code': 'BDI', - 'continent': 'Africa', - 'name': 'Burundi', - 'capital': 'Bujumbura'}, - {'timezones': ['Africa/Porto-Novo'], - 'alpha-2-code': 'BJ', - 'alpha-3-code': 'BEN', - 'continent': 'Africa', - 'name': 'Benin', - 'capital': 'Porto-Novo'}, - {'timezones': ['Asia/Brunei'], - 'alpha-2-code': 'BN', - 'alpha-3-code': 'BRN', - 'continent': 'Asia', - 'name': 'Brunei Darussalam', - 'capital': 'Bandar Seri Begawan'}, - {'timezones': ['America/La_Paz'], - 'alpha-2-code': 'BO', - 'alpha-3-code': 'BOL', - 'continent': 'South America', - 'name': 'Bolivia', - 'capital': 'Sucre'}, - {'timezones': ['America/Noronha', - 'America/Belem', - 'America/Fortaleza', - 'America/Recife', - 'America/Araguaina', - 'America/Maceio', - 'America/Bahia', - 'America/Sao_Paulo', - 'America/Campo_Grande', - 'America/Cuiaba', - 'America/Porto_Velho', - 'America/Boa_Vista', - 'America/Manaus', - 'America/Eirunepe', - 'America/Rio_Branco'], - 'alpha-2-code': 'BR', - 'alpha-3-code': 'BRA', - 'continent': 'South America', - 'name': 'Brazil', - 'capital': 'Bras\xc3\xadlia'}, - {'timezones': ['America/Nassau'], - 'alpha-2-code': 'BS', - 'alpha-3-code': 'BHS', - 'continent': 'North America', - 'name': 'Bahamas', - 'capital': 'Nassau'}, - {'timezones': ['Asia/Thimphu'], - 'alpha-2-code': 'BT', - 'alpha-3-code': 'BTN', - 'continent': 'Asia', - 'name': 'Bhutan', - 'capital': 'Thimphu'}, - {'timezones': ['Africa/Gaborone'], - 'alpha-2-code': 'BW', - 'alpha-3-code': 'BWA', - 'continent': 'Africa', - 'name': 'Botswana', - 'capital': 'Gaborone'}, - {'timezones': ['Europe/Minsk'], - 'alpha-2-code': 'BY', - 'alpha-3-code': 'BLR', - 'continent': 'Europe', - 'name': 'Belarus', - 'capital': 'Minsk'}, - {'timezones': ['America/Belize'], - 'alpha-2-code': 'BZ', - 'alpha-3-code': 'BLZ', - 'continent': 'North America', - 'name': 'Belize', - 'capital': 'Belmopan'}, - {'timezones': ['America/St_Johns', - 'America/Halifax', - 'America/Glace_Bay', - 'America/Moncton', - 'America/Goose_Bay', - 'America/Blanc-Sablon', - 'America/Montreal', - 'America/Toronto', - 'America/Nipigon', - 'America/Thunder_Bay', - 'America/Pangnirtung', - 'America/Iqaluit', - 'America/Atikokan', - 'America/Rankin_Inlet', - 'America/Winnipeg', - 'America/Rainy_River', - 'America/Cambridge_Bay', - 'America/Regina', - 'America/Swift_Current', - 'America/Edmonton', - 'America/Yellowknife', - 'America/Inuvik', - 'America/Dawson_Creek', - 'America/Vancouver', - 'America/Whitehorse', - 'America/Dawson'], - 'alpha-2-code': 'CA', - 'alpha-3-code': 'CAN', - 'continent': 'North America', - 'name': 'Canada', - 'capital': 'Ottawa'}, - {'timezones': ['Africa/Kinshasa', - 'Africa/Lubumbashi'], - 'alpha-2-code': 'CD', - 'alpha-3-code': 'COD', - 'continent': 'Africa', - 'name': 'Democratic Republic of the Congo', - 'capital': 'Kinshasa'}, - {'timezones': ['Africa/Brazzaville'], - 'alpha-2-code': 'CG', - 'alpha-3-code': 'COG', - 'continent': 'Africa', - 'name': 'Republic of the Congo', - 'capital': 'Brazzaville'}, - {'timezones': ['Africa/Abidjan'], - 'alpha-2-code': 'CI', - 'alpha-3-code': 'CIV', - 'continent': 'Africa', - 'name': "C\xc3\xb4te d'Ivoire", - 'capital': 'Yamoussoukro'}, - {'timezones': ['America/Santiago', - 'Pacific/Easter'], - 'alpha-2-code': 'CL', - 'alpha-3-code': 'CHL', - 'continent': 'South America', - 'name': 'Chile', - 'capital': 'Santiago'}, - {'timezones': ['Africa/Douala'], - 'alpha-2-code': 'CM', - 'alpha-3-code': 'CMR', - 'continent': 'Africa', - 'name': 'Cameroon', - 'capital': 'Yaound\xc3\xa9'}, - {'timezones': ['Asia/Shanghai', - 'Asia/Harbin', - 'Asia/Chongqing', - 'Asia/Urumqi', - 'Asia/Kashgar'], - 'alpha-2-code': 'CN', - 'alpha-3-code': 'CHN', - 'continent': 'Asia', - 'name': "People's Republic of China", - 'capital': 'Beijing'}, - {'timezones': ['America/Bogota'], - 'alpha-2-code': 'CO', - 'alpha-3-code': 'COL', - 'continent': 'South America', - 'name': 'Colombia', - 'capital': 'Bogot\xc3\xa1'}, - {'timezones': ['America/Costa_Rica'], - 'alpha-2-code': 'CR', - 'alpha-3-code': 'CRI', - 'continent': 'North America', - 'name': 'Costa Rica', - 'capital': 'San Jos\xc3\xa9'}, - {'timezones': ['America/Havana'], - 'alpha-2-code': 'CU', - 'alpha-3-code': 'CUB', - 'continent': 'North America', - 'name': 'Cuba', - 'capital': 'Havana'}, - {'timezones': ['Atlantic/Cape_Verde'], - 'alpha-2-code': 'CV', - 'alpha-3-code': 'CPV', - 'continent': 'Africa', - 'name': 'Cape Verde', - 'capital': 'Praia'}, - {'timezones': ['Asia/Nicosia'], - 'alpha-2-code': 'CY', - 'alpha-3-code': 'CYP', - 'continent': 'Asia', - 'name': 'Cyprus', - 'capital': 'Nicosia'}, - {'timezones': ['Europe/Prague'], - 'alpha-2-code': 'CZ', - 'alpha-3-code': 'CZE', - 'continent': 'Europe', - 'name': 'Czech Republic', - 'capital': 'Prague'}, - {'timezones': ['Europe/Berlin'], - 'alpha-2-code': 'DE', - 'alpha-3-code': 'DEU', - 'continent': 'Europe', - 'name': 'Germany', - 'capital': 'Berlin'}, - {'timezones': ['Africa/Djibouti'], - 'alpha-2-code': 'DJ', - 'alpha-3-code': 'DJI', - 'continent': 'Africa', - 'name': 'Djibouti', - 'capital': 'Djibouti City'}, - {'timezones': ['Europe/Copenhagen'], - 'alpha-2-code': 'DK', - 'alpha-3-code': 'DNK', - 'continent': 'Europe', - 'name': 'Denmark', - 'capital': 'Copenhagen'}, - {'timezones': ['America/Dominica'], - 'alpha-2-code': 'DM', - 'alpha-3-code': 'DMA', - 'continent': 'North America', - 'name': 'Dominica', - 'capital': 'Roseau'}, - {'timezones': ['America/Santo_Domingo'], - 'alpha-2-code': 'DO', - 'alpha-3-code': 'DOM', - 'continent': 'North America', - 'name': 'Dominican Republic', - 'capital': 'Santo Domingo'}, - {'timezones': ['America/Guayaquil', - 'Pacific/Galapagos'], - 'alpha-2-code': 'EC', - 'alpha-3-code': 'ECU', - 'continent': 'South America', - 'name': 'Ecuador', - 'capital': 'Quito'}, - {'timezones': ['Europe/Tallinn'], - 'alpha-2-code': 'EE', - 'alpha-3-code': 'EST', - 'continent': 'Europe', - 'name': 'Estonia', - 'capital': 'Tallinn'}, - {'timezones': ['Africa/Cairo'], - 'alpha-2-code': 'EG', - 'alpha-3-code': 'EGY', - 'continent': 'Africa', - 'name': 'Egypt', - 'capital': 'Cairo'}, - {'timezones': ['Africa/Asmera'], - 'alpha-2-code': 'ER', - 'alpha-3-code': 'ERI', - 'continent': 'Africa', - 'name': 'Eritrea', - 'capital': 'Asmara'}, - {'timezones': ['Africa/Addis_Ababa'], - 'alpha-2-code': 'ET', - 'alpha-3-code': 'ETH', - 'continent': 'Africa', - 'name': 'Ethiopia', - 'capital': 'Addis Ababa'}, - {'timezones': ['Europe/Helsinki'], - 'alpha-2-code': 'FI', - 'alpha-3-code': 'FIN', - 'continent': 'Europe', - 'name': 'Finland', - 'capital': 'Helsinki'}, - {'timezones': ['Pacific/Fiji'], - 'alpha-2-code': 'FJ', - 'alpha-3-code': 'FJI', - 'continent': 'Oceania', - 'name': 'Fiji', - 'capital': 'Suva'}, - {'timezones': ['Europe/Paris'], - 'alpha-2-code': 'FR', - 'alpha-3-code': 'FRA', - 'continent': 'Europe', - 'name': 'France', - 'capital': 'Paris'}, - {'timezones': ['Africa/Libreville'], - 'alpha-2-code': 'GA', - 'alpha-3-code': 'GAB', - 'continent': 'Africa', - 'name': 'Gabon', - 'capital': 'Libreville'}, - {'timezones': ['Asia/Tbilisi'], - 'alpha-2-code': 'GE', - 'alpha-3-code': 'GEO', - 'continent': 'Asia', - 'name': 'Georgia', - 'capital': 'Tbilisi'}, - {'timezones': ['Africa/Accra'], - 'alpha-2-code': 'GH', - 'alpha-3-code': 'GHA', - 'continent': 'Africa', - 'name': 'Ghana', - 'capital': 'Accra'}, - {'timezones': ['Africa/Banjul'], - 'alpha-2-code': 'GM', - 'alpha-3-code': 'GMB', - 'continent': 'Africa', - 'name': 'The Gambia', - 'capital': 'Banjul'}, - {'timezones': ['Africa/Conakry'], - 'alpha-2-code': 'GN', - 'alpha-3-code': 'GIN', - 'continent': 'Africa', - 'name': 'Guinea', - 'capital': 'Conakry'}, - {'timezones': ['Europe/Athens'], - 'alpha-2-code': 'GR', - 'alpha-3-code': 'GRC', - 'continent': 'Europe', - 'name': 'Greece', - 'capital': 'Athens'}, - {'timezones': ['America/Guatemala'], - 'alpha-2-code': 'GT', - 'alpha-3-code': 'GTM', - 'continent': 'North America', - 'name': 'Guatemala', - 'capital': 'Guatemala City'}, - {'timezones': ['America/Guatemala'], - 'alpha-2-code': 'HT', - 'alpha-3-code': 'HTI', - 'continent': 'North America', - 'name': 'Haiti', - 'capital': 'Port-au-Prince'}, - {'timezones': ['Africa/Bissau'], - 'alpha-2-code': 'GW', - 'alpha-3-code': 'GNB', - 'continent': 'Africa', - 'name': 'Guinea-Bissau', - 'capital': 'Bissau'}, - {'timezones': ['America/Guyana'], - 'alpha-2-code': 'GY', - 'alpha-3-code': 'GUY', - 'continent': 'South America', - 'name': 'Guyana', - 'capital': 'Georgetown'}, - {'timezones': ['America/Tegucigalpa'], - 'alpha-2-code': 'HN', - 'alpha-3-code': 'HND', - 'continent': 'North America', - 'name': 'Honduras', - 'capital': 'Tegucigalpa'}, - {'timezones': ['Europe/Budapest'], - 'alpha-2-code': 'HU', - 'alpha-3-code': 'HUN', - 'continent': 'Europe', - 'name': 'Hungary', - 'capital': 'Budapest'}, - {'timezones': ['Asia/Jakarta', - 'Asia/Pontianak', - 'Asia/Makassar', - 'Asia/Jayapura'], - 'alpha-2-code': 'ID', - 'alpha-3-code': 'IDN', - 'continent': 'Asia', - 'name': 'Indonesia', - 'capital': 'Jakarta'}, - {'timezones': ['Europe/Dublin'], - 'alpha-2-code': 'IE', - 'alpha-3-code': 'IRL', - 'continent': 'Europe', - 'name': 'Republic of Ireland', - 'capital': 'Dublin'}, - {'timezones': ['Asia/Jerusalem'], - 'alpha-2-code': 'IL', - 'alpha-3-code': 'ISR', - 'continent': 'Asia', - 'name': 'Israel', - 'capital': 'Jerusalem'}, - {'timezones': ['Asia/Calcutta'], - 'alpha-2-code': 'IN', - 'alpha-3-code': 'IND', - 'continent': 'Asia', - 'name': 'India', - 'capital': 'New Delhi'}, - {'timezones': ['Asia/Baghdad'], - 'alpha-2-code': 'IQ', - 'alpha-3-code': 'IRQ', - 'continent': 'Asia', - 'name': 'Iraq', - 'capital': 'Baghdad'}, - {'timezones': ['Asia/Tehran'], - 'alpha-2-code': 'IR', - 'alpha-3-code': 'IRN', - 'continent': 'Asia', - 'name': 'Iran', - 'capital': 'Tehran'}, - {'timezones': ['Atlantic/Reykjavik'], - 'alpha-2-code': 'IS', - 'alpha-3-code': 'ISL', - 'continent': 'Europe', - 'name': 'Iceland', - 'capital': 'Reykjav\xc3\xadk'}, - {'timezones': ['Europe/Rome'], - 'alpha-2-code': 'IT', - 'alpha-3-code': 'ITA', - 'continent': 'Europe', - 'name': 'Italy', - 'capital': 'Rome'}, - {'timezones': ['America/Jamaica'], - 'alpha-2-code': 'JM', - 'alpha-3-code': 'JAM', - 'continent': 'North America', - 'name': 'Jamaica', - 'capital': 'Kingston'}, - {'timezones': ['Asia/Amman'], - 'alpha-2-code': 'JO', - 'alpha-3-code': 'JOR', - 'continent': 'Asia', - 'name': 'Jordan', - 'capital': 'Amman'}, - {'timezones': ['Asia/Tokyo'], - 'alpha-2-code': 'JP', - 'alpha-3-code': 'JPN', - 'continent': 'Asia', - 'name': 'Japan', - 'capital': 'Tokyo'}, - {'timezones': ['Africa/Nairobi'], - 'alpha-2-code': 'KE', - 'alpha-3-code': 'KEN', - 'continent': 'Africa', - 'name': 'Kenya', - 'capital': 'Nairobi'}, - {'timezones': ['Asia/Bishkek'], - 'alpha-2-code': 'KG', - 'alpha-3-code': 'KGZ', - 'continent': 'Asia', - 'name': 'Kyrgyzstan', - 'capital': 'Bishkek'}, - {'timezones': ['Pacific/Tarawa', - 'Pacific/Enderbury', - 'Pacific/Kiritimati'], - 'alpha-2-code': 'KI', - 'alpha-3-code': 'KIR', - 'continent': 'Oceania', - 'name': 'Kiribati', - 'capital': 'Tarawa'}, - {'timezones': ['Asia/Pyongyang'], - 'alpha-2-code': 'KP', - 'alpha-3-code': 'PRK', - 'continent': 'Asia', - 'name': 'North Korea', - 'capital': 'Pyongyang'}, - {'timezones': ['Asia/Seoul'], - 'alpha-2-code': 'KR', - 'alpha-3-code': 'KOR', - 'continent': 'Asia', - 'name': 'South Korea', - 'capital': 'Seoul'}, - {'timezones': ['Asia/Kuwait'], - 'alpha-2-code': 'KW', - 'alpha-3-code': 'KWT', - 'continent': 'Asia', - 'name': 'Kuwait', - 'capital': 'Kuwait City'}, - {'timezones': ['Asia/Beirut'], - 'alpha-2-code': 'LB', - 'alpha-3-code': 'LBN', - 'continent': 'Asia', - 'name': 'Lebanon', - 'capital': 'Beirut'}, - {'timezones': ['Europe/Vaduz'], - 'alpha-2-code': 'LI', - 'alpha-3-code': 'LIE', - 'continent': 'Europe', - 'name': 'Liechtenstein', - 'capital': 'Vaduz'}, - {'timezones': ['Africa/Monrovia'], - 'alpha-2-code': 'LR', - 'alpha-3-code': 'LBR', - 'continent': 'Africa', - 'name': 'Liberia', - 'capital': 'Monrovia'}, - {'timezones': ['Africa/Maseru'], - 'alpha-2-code': 'LS', - 'alpha-3-code': 'LSO', - 'continent': 'Africa', - 'name': 'Lesotho', - 'capital': 'Maseru'}, - {'timezones': ['Europe/Vilnius'], - 'alpha-2-code': 'LT', - 'alpha-3-code': 'LTU', - 'continent': 'Europe', - 'name': 'Lithuania', - 'capital': 'Vilnius'}, - {'timezones': ['Europe/Luxembourg'], - 'alpha-2-code': 'LU', - 'alpha-3-code': 'LUX', - 'continent': 'Europe', - 'name': 'Luxembourg', - 'capital': 'Luxembourg City'}, - {'timezones': ['Europe/Riga'], - 'alpha-2-code': 'LV', - 'alpha-3-code': 'LVA', - 'continent': 'Europe', - 'name': 'Latvia', - 'capital': 'Riga'}, - {'timezones': ['Africa/Tripoli'], - 'alpha-2-code': 'LY', - 'alpha-3-code': 'LBY', - 'continent': 'Africa', - 'name': 'Libya', - 'capital': 'Tripoli'}, - {'timezones': ['Indian/Antananarivo'], - 'alpha-2-code': 'MG', - 'alpha-3-code': 'MDG', - 'continent': 'Africa', - 'name': 'Madagascar', - 'capital': 'Antananarivo'}, - {'timezones': ['Pacific/Majuro', - 'Pacific/Kwajalein'], - 'alpha-2-code': 'MH', - 'alpha-3-code': 'MHL', - 'continent': 'Oceania', - 'name': 'Marshall Islands', - 'capital': 'Majuro'}, - {'timezones': ['Europe/Skopje'], - 'alpha-2-code': 'MK', - 'alpha-3-code': 'MKD', - 'continent': 'Europe', - 'name': 'Macedonia', - 'capital': 'Skopje'}, - {'timezones': ['Africa/Bamako'], - 'alpha-2-code': 'ML', - 'alpha-3-code': 'MLI', - 'continent': 'Africa', - 'name': 'Mali', - 'capital': 'Bamako'}, - {'timezones': ['Asia/Rangoon'], - 'alpha-2-code': 'MM', - 'alpha-3-code': 'MMR', - 'continent': 'Asia', - 'name': 'Myanmar', - 'capital': 'Naypyidaw'}, - {'timezones': ['Asia/Ulaanbaatar', - 'Asia/Hovd', - 'Asia/Choibalsan'], - 'alpha-2-code': 'MN', - 'alpha-3-code': 'MNG', - 'continent': 'Asia', - 'name': 'Mongolia', - 'capital': 'Ulaanbaatar'}, - {'timezones': ['Africa/Nouakchott'], - 'alpha-2-code': 'MR', - 'alpha-3-code': 'MRT', - 'continent': 'Africa', - 'name': 'Mauritania', - 'capital': 'Nouakchott'}, - {'timezones': ['Europe/Malta'], - 'alpha-2-code': 'MT', - 'alpha-3-code': 'MLT', - 'continent': 'Europe', - 'name': 'Malta', - 'capital': 'Valletta'}, - {'timezones': ['Indian/Mauritius'], - 'alpha-2-code': 'MU', - 'alpha-3-code': 'MUS', - 'continent': 'Africa', - 'name': 'Mauritius', - 'capital': 'Port Louis'}, - {'timezones': ['Indian/Maldives'], - 'alpha-2-code': 'MV', - 'alpha-3-code': 'MDV', - 'continent': 'Asia', - 'name': 'Maldives', - 'capital': 'Mal\xc3\xa9'}, - {'timezones': ['Africa/Blantyre'], - 'alpha-2-code': 'MW', - 'alpha-3-code': 'MWI', - 'continent': 'Africa', - 'name': 'Malawi', - 'capital': 'Lilongwe'}, - {'timezones': ['America/Mexico_City', - 'America/Cancun', - 'America/Merida', - 'America/Monterrey', - 'America/Mazatlan', - 'America/Chihuahua', - 'America/Hermosillo', - 'America/Tijuana'], - 'alpha-2-code': 'MX', - 'alpha-3-code': 'MEX', - 'continent': 'North America', - 'name': 'Mexico', - 'capital': 'Mexico City'}, - {'timezones': ['Asia/Kuala_Lumpur', - 'Asia/Kuching'], - 'alpha-2-code': 'MY', - 'alpha-3-code': 'MYS', - 'continent': 'Asia', - 'name': 'Malaysia', - 'capital': 'Kuala Lumpur'}, - {'timezones': ['Africa/Maputo'], - 'alpha-2-code': 'MZ', - 'alpha-3-code': 'MOZ', - 'continent': 'Africa', - 'name': 'Mozambique', - 'capital': 'Maputo'}, - {'timezones': ['Africa/Windhoek'], - 'alpha-2-code': 'NA', - 'alpha-3-code': 'NAM', - 'continent': 'Africa', - 'name': 'Namibia', - 'capital': 'Windhoek'}, - {'timezones': ['Africa/Niamey'], - 'alpha-2-code': 'NE', - 'alpha-3-code': 'NER', - 'continent': 'Africa', - 'name': 'Niger', - 'capital': 'Niamey'}, - {'timezones': ['Africa/Lagos'], - 'alpha-2-code': 'NG', - 'alpha-3-code': 'NGA', - 'continent': 'Africa', - 'name': 'Nigeria', - 'capital': 'Abuja'}, - {'timezones': ['America/Managua'], - 'alpha-2-code': 'NI', - 'alpha-3-code': 'NIC', - 'continent': 'North America', - 'name': 'Nicaragua', - 'capital': 'Managua'}, - {'timezones': ['Europe/Amsterdam'], - 'alpha-2-code': 'NL', - 'alpha-3-code': 'NLD', - 'continent': 'Europe', - 'name': 'Kingdom of the Netherlands', - 'capital': 'Amsterdam'}, - {'timezones': ['Europe/Oslo'], - 'alpha-2-code': 'NO', - 'alpha-3-code': 'NOR', - 'continent': 'Europe', - 'name': 'Norway', - 'capital': 'Oslo'}, - {'timezones': ['Asia/Katmandu'], - 'alpha-2-code': 'NP', - 'alpha-3-code': 'NPL', - 'continent': 'Asia', - 'name': 'Nepal', - 'capital': 'Kathmandu'}, - {'timezones': ['Pacific/Nauru'], - 'alpha-2-code': 'NR', - 'alpha-3-code': 'NRU', - 'continent': 'Oceania', - 'name': 'Nauru', - 'capital': 'Yaren'}, - {'timezones': ['Pacific/Auckland', - 'Pacific/Chatham'], - 'alpha-2-code': 'NZ', - 'alpha-3-code': 'NZL', - 'continent': 'Oceania', - 'name': 'New Zealand', - 'capital': 'Wellington'}, - {'timezones': ['Asia/Muscat'], - 'alpha-2-code': 'OM', - 'alpha-3-code': 'OMN', - 'continent': 'Asia', - 'name': 'Oman', - 'capital': 'Muscat'}, - {'timezones': ['America/Panama'], - 'alpha-2-code': 'PA', - 'alpha-3-code': 'PAN', - 'continent': 'North America', - 'name': 'Panama', - 'capital': 'Panama City'}, - {'timezones': ['America/Lima'], - 'alpha-2-code': 'PE', - 'alpha-3-code': 'PER', - 'continent': 'South America', - 'name': 'Peru', - 'capital': 'Lima'}, - {'timezones': ['Pacific/Port_Moresby'], - 'alpha-2-code': 'PG', - 'alpha-3-code': 'PNG', - 'continent': 'Oceania', - 'name': 'Papua New Guinea', - 'capital': 'Port Moresby'}, - {'timezones': ['Asia/Manila'], - 'alpha-2-code': 'PH', - 'alpha-3-code': 'PHL', - 'continent': 'Asia', - 'name': 'Philippines', - 'capital': 'Manila'}, - {'timezones': ['Asia/Karachi'], - 'alpha-2-code': 'PK', - 'alpha-3-code': 'PAK', - 'continent': 'Asia', - 'name': 'Pakistan', - 'capital': 'Islamabad'}, - {'timezones': ['Europe/Warsaw'], - 'alpha-2-code': 'PL', - 'alpha-3-code': 'POL', - 'continent': 'Europe', - 'name': 'Poland', - 'capital': 'Warsaw'}, - {'timezones': ['Europe/Lisbon', - 'Atlantic/Madeira', - 'Atlantic/Azores'], - 'alpha-2-code': 'PT', - 'alpha-3-code': 'PRT', - 'continent': 'Europe', - 'name': 'Portugal', - 'capital': 'Lisbon'}, - {'timezones': ['Pacific/Palau'], - 'alpha-2-code': 'PW', - 'alpha-3-code': 'PLW', - 'continent': 'Oceania', - 'name': 'Palau', - 'capital': 'Ngerulmud'}, - {'timezones': ['America/Asuncion'], - 'alpha-2-code': 'PY', - 'alpha-3-code': 'PRY', - 'continent': 'South America', - 'name': 'Paraguay', - 'capital': 'Asunci\xc3\xb3n'}, - {'timezones': ['Asia/Qatar'], - 'alpha-2-code': 'QA', - 'alpha-3-code': 'QAT', - 'continent': 'Asia', - 'name': 'Qatar', - 'capital': 'Doha'}, - {'timezones': ['Europe/Bucharest'], - 'alpha-2-code': 'RO', - 'alpha-3-code': 'ROU', - 'continent': 'Europe', - 'name': 'Romania', - 'capital': 'Bucharest'}, - {'timezones': ['Europe/Kaliningrad', - 'Europe/Moscow', - 'Europe/Volgograd', - 'Europe/Samara', - 'Asia/Yekaterinburg', - 'Asia/Omsk', - 'Asia/Novosibirsk', - 'Asia/Krasnoyarsk', - 'Asia/Irkutsk', - 'Asia/Yakutsk', - 'Asia/Vladivostok', - 'Asia/Sakhalin', - 'Asia/Magadan', - 'Asia/Kamchatka', - 'Asia/Anadyr'], - 'alpha-2-code': 'RU', - 'alpha-3-code': 'RUS', - 'continent': 'Europe', - 'name': 'Russia', - 'capital': 'Moscow'}, - {'timezones': ['Africa/Kigali'], - 'alpha-2-code': 'RW', - 'alpha-3-code': 'RWA', - 'continent': 'Africa', - 'name': 'Rwanda', - 'capital': 'Kigali'}, - {'timezones': ['Asia/Riyadh'], - 'alpha-2-code': 'SA', - 'alpha-3-code': 'SAU', - 'continent': 'Asia', - 'name': 'Saudi Arabia', - 'capital': 'Riyadh'}, - {'timezones': ['Pacific/Guadalcanal'], - 'alpha-2-code': 'SB', - 'alpha-3-code': 'SLB', - 'continent': 'Oceania', - 'name': 'Solomon Islands', - 'capital': 'Honiara'}, - {'timezones': ['Indian/Mahe'], - 'alpha-2-code': 'SC', - 'alpha-3-code': 'SYC', - 'continent': 'Africa', - 'name': 'Seychelles', - 'capital': 'Victoria'}, - {'timezones': ['Africa/Khartoum'], - 'alpha-2-code': 'SD', - 'alpha-3-code': 'SDN', - 'continent': 'Africa', - 'name': 'Sudan', - 'capital': 'Khartoum'}, - {'timezones': ['Europe/Stockholm'], - 'alpha-2-code': 'SE', - 'alpha-3-code': 'SWE', - 'continent': 'Europe', - 'name': 'Sweden', - 'capital': 'Stockholm'}, - {'timezones': ['Asia/Singapore'], - 'alpha-2-code': 'SG', - 'alpha-3-code': 'SGP', - 'continent': 'Asia', - 'name': 'Singapore', - 'capital': 'Singapore'}, - {'timezones': ['Europe/Ljubljana'], - 'alpha-2-code': 'SI', - 'alpha-3-code': 'SVN', - 'continent': 'Europe', - 'name': 'Slovenia', - 'capital': 'Ljubljana'}, - {'timezones': ['Europe/Bratislava'], - 'alpha-2-code': 'SK', - 'alpha-3-code': 'SVK', - 'continent': 'Europe', - 'name': 'Slovakia', - 'capital': 'Bratislava'}, - {'timezones': ['Africa/Freetown'], - 'alpha-2-code': 'SL', - 'alpha-3-code': 'SLE', - 'continent': 'Africa', - 'name': 'Sierra Leone', - 'capital': 'Freetown'}, - {'timezones': ['Europe/San_Marino'], - 'alpha-2-code': 'SM', - 'alpha-3-code': 'SMR', - 'continent': 'Europe', - 'name': 'San Marino', - 'capital': 'San Marino'}, - {'timezones': ['Africa/Dakar'], - 'alpha-2-code': 'SN', - 'alpha-3-code': 'SEN', - 'continent': 'Africa', - 'name': 'Senegal', - 'capital': 'Dakar'}, - {'timezones': ['Africa/Mogadishu'], - 'alpha-2-code': 'SO', - 'alpha-3-code': 'SOM', - 'continent': 'Africa', - 'name': 'Somalia', - 'capital': 'Mogadishu'}, - {'timezones': ['America/Paramaribo'], - 'alpha-2-code': 'SR', - 'alpha-3-code': 'SUR', - 'continent': 'South America', - 'name': 'Suriname', - 'capital': 'Paramaribo'}, - {'timezones': ['Africa/Sao_Tome'], - 'alpha-2-code': 'ST', - 'alpha-3-code': 'STP', - 'continent': 'Africa', - 'name': 'S\xc3\xa3o Tom\xc3\xa9 and Pr\xc3\xadncipe', - 'capital': 'S\xc3\xa3o Tom\xc3\xa9'}, - {'timezones': ['Asia/Damascus'], - 'alpha-2-code': 'SY', - 'alpha-3-code': 'SYR', - 'continent': 'Asia', - 'name': 'Syria', - 'capital': 'Damascus'}, - {'timezones': ['Africa/Lome'], - 'alpha-2-code': 'TG', - 'alpha-3-code': 'TGO', - 'continent': 'Africa', - 'name': 'Togo', - 'capital': 'Lom\xc3\xa9'}, - {'timezones': ['Asia/Bangkok'], - 'alpha-2-code': 'TH', - 'alpha-3-code': 'THA', - 'continent': 'Asia', - 'name': 'Thailand', - 'capital': 'Bangkok'}, - {'timezones': ['Asia/Dushanbe'], - 'alpha-2-code': 'TJ', - 'alpha-3-code': 'TJK', - 'continent': 'Asia', - 'name': 'Tajikistan', - 'capital': 'Dushanbe'}, - {'timezones': ['Asia/Ashgabat'], - 'alpha-2-code': 'TM', - 'alpha-3-code': 'TKM', - 'continent': 'Asia', - 'name': 'Turkmenistan', - 'capital': 'Ashgabat'}, - {'timezones': ['Africa/Tunis'], - 'alpha-2-code': 'TN', - 'alpha-3-code': 'TUN', - 'continent': 'Africa', - 'name': 'Tunisia', - 'capital': 'Tunis'}, - {'timezones': ['Pacific/Tongatapu'], - 'alpha-2-code': 'TO', - 'alpha-3-code': 'TON', - 'continent': 'Oceania', - 'name': 'Tonga', - 'capital': 'Nuku\xca\xbbalofa'}, - {'timezones': ['Europe/Istanbul'], - 'alpha-2-code': 'TR', - 'alpha-3-code': 'TUR', - 'continent': 'Asia', - 'name': 'Turkey', - 'capital': 'Ankara'}, - {'timezones': ['America/Port_of_Spain'], - 'alpha-2-code': 'TT', - 'alpha-3-code': 'TTO', - 'continent': 'North America', - 'name': 'Trinidad and Tobago', - 'capital': 'Port of Spain'}, - {'timezones': ['Pacific/Funafuti'], - 'alpha-2-code': 'TV', - 'alpha-3-code': 'TUV', - 'continent': 'Oceania', - 'name': 'Tuvalu', - 'capital': 'Funafuti'}, - {'timezones': ['Africa/Dar_es_Salaam'], - 'alpha-2-code': 'TZ', - 'alpha-3-code': 'TZA', - 'continent': 'Africa', - 'name': 'Tanzania', - 'capital': 'Dodoma'}, - {'timezones': ['Europe/Kiev', - 'Europe/Uzhgorod', - 'Europe/Zaporozhye', - 'Europe/Simferopol'], - 'alpha-2-code': 'UA', - 'alpha-3-code': 'UKR', - 'continent': 'Europe', - 'name': 'Ukraine', - 'capital': 'Kiev'}, - {'timezones': ['Africa/Kampala'], - 'alpha-2-code': 'UG', - 'alpha-3-code': 'UGA', - 'continent': 'Africa', - 'name': 'Uganda', - 'capital': 'Kampala'}, - {'timezones': ['America/New_York', - 'America/Detroit', - 'America/Kentucky/Louisville', - 'America/Kentucky/Monticello', - 'America/Indiana/Indianapolis', - 'America/Indiana/Marengo', - 'America/Indiana/Knox', - 'America/Indiana/Vevay', - 'America/Chicago', - 'America/Indiana/Vincennes', - 'America/Indiana/Petersburg', - 'America/Menominee', - 'America/North_Dakota/Center', - 'America/North_Dakota/New_Salem', - 'America/Denver', - 'America/Boise', - 'America/Shiprock', - 'America/Phoenix', - 'America/Los_Angeles', - 'America/Anchorage', - 'America/Juneau', - 'America/Yakutat', - 'America/Nome', - 'America/Adak', - 'Pacific/Honolulu'], - 'alpha-2-code': 'US', - 'alpha-3-code': 'USA', - 'continent': 'North America', - 'name': 'United States', - 'capital': 'Washington, D.C.'}, - {'timezones': ['America/Montevideo'], - 'alpha-2-code': 'UY', - 'alpha-3-code': 'URY', - 'continent': 'South America', - 'name': 'Uruguay', - 'capital': 'Montevideo'}, - {'timezones': ['Asia/Samarkand', - 'Asia/Tashkent'], - 'alpha-2-code': 'UZ', - 'alpha-3-code': 'UZB', - 'continent': 'Asia', - 'name': 'Uzbekistan', - 'capital': 'Tashkent'}, - {'timezones': ['Europe/Vatican'], - 'alpha-2-code': 'VA', - 'alpha-3-code': 'VAT', - 'continent': 'Europe', - 'name': 'Vatican City', - 'capital': 'Vatican City'}, - {'timezones': ['America/Caracas'], - 'alpha-2-code': 'VE', - 'alpha-3-code': 'VEN', - 'continent': 'South America', - 'name': 'Venezuela', - 'capital': 'Caracas'}, - {'timezones': ['Asia/Saigon'], - 'alpha-2-code': 'VN', - 'alpha-3-code': 'VNM', - 'continent': 'Asia', - 'name': 'Vietnam', - 'capital': 'Hanoi'}, - {'timezones': ['Pacific/Efate'], - 'alpha-2-code': 'VU', - 'alpha-3-code': 'VUT', - 'continent': 'Oceania', - 'name': 'Vanuatu', - 'capital': 'Port Vila'}, - {'timezones': ['Asia/Aden'], - 'alpha-2-code': 'YE', - 'alpha-3-code': 'YEM', - 'continent': 'Asia', - 'name': 'Yemen', - 'capital': "Sana'a"}, - {'timezones': ['Africa/Lusaka'], - 'alpha-2-code': 'ZM', - 'alpha-3-code': 'ZMB', - 'continent': 'Africa', - 'name': 'Zambia', - 'capital': 'Lusaka'}, - {'timezones': ['Africa/Harare'], - 'alpha-2-code': 'ZW', - 'alpha-3-code': 'ZWE', - 'continent': 'Africa', - 'name': 'Zimbabwe', - 'capital': 'Harare'}, - {'timezones': ['Africa/Algiers'], - 'alpha-2-code': 'DZ', - 'alpha-3-code': 'DZA', - 'continent': 'Africa', - 'name': 'Algeria', - 'capital': 'Algiers'}, - {'timezones': ['Europe/Sarajevo'], - 'alpha-2-code': 'BA', - 'alpha-3-code': 'BIH', - 'continent': 'Europe', - 'name': 'Bosnia and Herzegovina', - 'capital': 'Sarajevo'}, - {'timezones': ['Asia/Phnom_Penh'], - 'alpha-2-code': 'KH', - 'alpha-3-code': 'KHM', - 'continent': 'Asia', - 'name': 'Cambodia', - 'capital': 'Phnom Penh'}, - {'timezones': ['Africa/Bangui'], - 'alpha-2-code': 'CF', - 'alpha-3-code': 'CAF', - 'continent': 'Africa', - 'name': 'Central African Republic', - 'capital': 'Bangui'}, - {'timezones': ['Africa/Ndjamena'], - 'alpha-2-code': 'TD', - 'alpha-3-code': 'TCD', - 'continent': 'Africa', - 'name': 'Chad', - 'capital': "N'Djamena"}, - {'timezones': ['Indian/Comoro'], - 'alpha-2-code': 'KM', - 'alpha-3-code': 'COM', - 'continent': 'Africa', - 'name': 'Comoros', - 'capital': 'Moroni'}, - {'timezones': ['Europe/Zagreb'], - 'alpha-2-code': 'HR', - 'alpha-3-code': 'HRV', - 'continent': 'Europe', - 'name': 'Croatia', - 'capital': 'Zagreb'}, - {'timezones': ['Asia/Dili'], - 'alpha-2-code': 'TL', - 'alpha-3-code': 'TLS', - 'continent': 'Asia', - 'name': 'East Timor', - 'capital': 'Dili'}, - {'timezones': ['America/El_Salvador'], - 'alpha-2-code': 'SV', - 'alpha-3-code': 'SLV', - 'continent': 'North America', - 'name': 'El Salvador', - 'capital': 'San Salvador'}, - {'timezones': ['Africa/Malabo'], - 'alpha-2-code': 'GQ', - 'alpha-3-code': 'GNQ', - 'continent': 'Africa', - 'name': 'Equatorial Guinea', - 'capital': 'Malabo'}, - {'timezones': ['America/Grenada'], - 'alpha-2-code': 'GD', - 'alpha-3-code': 'GRD', - 'continent': 'North America', - 'name': 'Grenada', - 'capital': "St. George's"}, - {'timezones': ['Asia/Almaty', - 'Asia/Qyzylorda', - 'Asia/Aqtobe', - 'Asia/Aqtau', - 'Asia/Oral'], - 'alpha-2-code': 'KZ', - 'alpha-3-code': 'KAZ', - 'continent': 'Asia', - 'name': 'Kazakhstan', - 'capital': 'Astana'}, - {'timezones': ['Asia/Vientiane'], - 'alpha-2-code': 'LA', - 'alpha-3-code': 'LAO', - 'continent': 'Asia', - 'name': 'Laos', - 'capital': 'Vientiane'}, - {'timezones': ['Pacific/Truk', - 'Pacific/Ponape', - 'Pacific/Kosrae'], - 'alpha-2-code': 'FM', - 'alpha-3-code': 'FSM', - 'continent': 'Oceania', - 'name': 'Federated States of Micronesia', - 'capital': 'Palikir'}, - {'timezones': ['Europe/Chisinau'], - 'alpha-2-code': 'MD', - 'alpha-3-code': 'MDA', - 'continent': 'Europe', - 'name': 'Moldova', - 'capital': 'Chi\xc5\x9fin\xc4\x83u'}, - {'timezones': ['Europe/Monaco'], - 'alpha-2-code': 'MC', - 'alpha-3-code': 'MCO', - 'continent': 'Europe', - 'name': 'Monaco', - 'capital': 'Monaco'}, - {'timezones': ['Europe/Podgorica'], - 'alpha-2-code': 'ME', - 'alpha-3-code': 'MNE', - 'continent': 'Europe', - 'name': 'Montenegro', - 'capital': 'Podgorica'}, - {'timezones': ['Africa/Casablanca'], - 'alpha-2-code': 'MA', - 'alpha-3-code': 'MAR', - 'continent': 'Africa', - 'name': 'Morocco', - 'capital': 'Rabat'}, - {'timezones': ['America/St_Kitts'], - 'alpha-2-code': 'KN', - 'alpha-3-code': 'KNA', - 'continent': 'North America', - 'name': 'Saint Kitts and Nevis', - 'capital': 'Basseterre'}, - {'timezones': ['America/St_Lucia'], - 'alpha-2-code': 'LC', - 'alpha-3-code': 'LCA', - 'continent': 'North America', - 'name': 'Saint Lucia', - 'capital': 'Castries'}, - {'timezones': ['America/St_Vincent'], - 'alpha-2-code': 'VC', - 'alpha-3-code': 'VCT', - 'continent': 'North America', - 'name': 'Saint Vincent and the Grenadines', - 'capital': 'Kingstown'}, - {'timezones': ['Pacific/Apia'], - 'alpha-2-code': 'WS', - 'alpha-3-code': 'WSM', - 'continent': 'Oceania', - 'name': 'Samoa', - 'capital': 'Apia'}, - {'timezones': ['Europe/Belgrade'], - 'alpha-2-code': 'RS', - 'alpha-3-code': 'SRB', - 'continent': 'Europe', - 'name': 'Serbia', - 'capital': 'Belgrade'}, - {'timezones': ['Africa/Johannesburg'], - 'alpha-2-code': 'ZA', - 'alpha-3-code': 'ZAF', - 'continent': 'Africa', - 'name': 'South Africa', - 'capital': 'Pretoria'}, - {'timezones': ['Europe/Madrid', - 'Africa/Ceuta', - 'Atlantic/Canary'], - 'alpha-2-code': 'ES', - 'alpha-3-code': 'ESP', - 'continent': 'Europe', - 'name': 'Spain', - 'capital': 'Madrid'}, - {'timezones': ['Asia/Colombo'], - 'alpha-2-code': 'LK', - 'alpha-3-code': 'LKA', - 'continent': 'Asia', - 'name': 'Sri Lanka', - 'capital': 'Sri Jayewardenepura Kotte'}, - {'timezones': ['Africa/Mbabane'], - 'alpha-2-code': 'SZ', - 'alpha-3-code': 'SWZ', - 'continent': 'Africa', - 'name': 'Swaziland', - 'capital': 'Mbabane'}, - {'timezones': ['Europe/Zurich'], - 'alpha-2-code': 'CH', - 'alpha-3-code': 'CHE', - 'continent': 'Europe', - 'name': 'Switzerland', - 'capital': 'Bern'}, - {'timezones': ['Asia/Dubai'], - 'alpha-2-code': 'AE', - 'alpha-3-code': 'ARE', - 'continent': 'Asia', - 'name': 'United Arab Emirates', - 'capital': 'Abu Dhabi'}, - {'timezones': ['Europe/London'], - 'alpha-2-code': 'GB', - 'alpha-3-code': 'GBR', - 'continent': 'Europe', - 'name': 'United Kingdom', - 'capital': 'London'}, - ] + centuries: ElementsType = [ + "I", + "II", + "III", + "IV", + "V", + "VI", + "VII", + "VIII", + "IX", + "X", + "XI", + "XII", + "XIII", + "XIV", + "XV", + "XVI", + "XVII", + "XVIII", + "XIX", + "XX", + "XXI", + ] + + countries = [ + { + "timezones": ["Europe/Andorra"], + "alpha-2-code": "AD", + "alpha-3-code": "AND", + "continent": "Europe", + "name": "Andorra", + "capital": "Andorra la Vella", + }, + { + "timezones": ["Asia/Kabul"], + "alpha-2-code": "AF", + "alpha-3-code": "AFG", + "continent": "Asia", + "name": "Afghanistan", + "capital": "Kabul", + }, + { + "timezones": ["America/Antigua"], + "alpha-2-code": "AG", + "alpha-3-code": "ATG", + "continent": "North America", + "name": "Antigua and Barbuda", + "capital": "St. John's", + }, + { + "timezones": ["Europe/Tirane"], + "alpha-2-code": "AL", + "alpha-3-code": "ALB", + "continent": "Europe", + "name": "Albania", + "capital": "Tirana", + }, + { + "timezones": ["Asia/Yerevan"], + "alpha-2-code": "AM", + "alpha-3-code": "ARM", + "continent": "Asia", + "name": "Armenia", + "capital": "Yerevan", + }, + { + "timezones": ["Africa/Luanda"], + "alpha-2-code": "AO", + "alpha-3-code": "AGO", + "continent": "Africa", + "name": "Angola", + "capital": "Luanda", + }, + { + "timezones": [ + "America/Argentina/Buenos_Aires", + "America/Argentina/Cordoba", + "America/Argentina/Jujuy", + "America/Argentina/Tucuman", + "America/Argentina/Catamarca", + "America/Argentina/La_Rioja", + "America/Argentina/San_Juan", + "America/Argentina/Mendoza", + "America/Argentina/Rio_Gallegos", + "America/Argentina/Ushuaia", + ], + "alpha-2-code": "AR", + "alpha-3-code": "ARG", + "continent": "South America", + "name": "Argentina", + "capital": "Buenos Aires", + }, + { + "timezones": ["Europe/Vienna"], + "alpha-2-code": "AT", + "alpha-3-code": "AUT", + "continent": "Europe", + "name": "Austria", + "capital": "Vienna", + }, + { + "timezones": [ + "Australia/Lord_Howe", + "Australia/Hobart", + "Australia/Currie", + "Australia/Melbourne", + "Australia/Sydney", + "Australia/Broken_Hill", + "Australia/Brisbane", + "Australia/Lindeman", + "Australia/Adelaide", + "Australia/Darwin", + "Australia/Perth", + ], + "alpha-2-code": "AU", + "alpha-3-code": "AUS", + "continent": "Oceania", + "name": "Australia", + "capital": "Canberra", + }, + { + "timezones": ["Asia/Baku"], + "alpha-2-code": "AZ", + "alpha-3-code": "AZE", + "continent": "Asia", + "name": "Azerbaijan", + "capital": "Baku", + }, + { + "timezones": ["America/Barbados"], + "alpha-2-code": "BB", + "alpha-3-code": "BRB", + "continent": "North America", + "name": "Barbados", + "capital": "Bridgetown", + }, + { + "timezones": ["Asia/Dhaka"], + "alpha-2-code": "BD", + "alpha-3-code": "BGD", + "continent": "Asia", + "name": "Bangladesh", + "capital": "Dhaka", + }, + { + "timezones": ["Europe/Brussels"], + "alpha-2-code": "BE", + "alpha-3-code": "BEL", + "continent": "Europe", + "name": "Belgium", + "capital": "Brussels", + }, + { + "timezones": ["Africa/Ouagadougou"], + "alpha-2-code": "BF", + "alpha-3-code": "BFA", + "continent": "Africa", + "name": "Burkina Faso", + "capital": "Ouagadougou", + }, + { + "timezones": ["Europe/Sofia"], + "alpha-2-code": "BG", + "alpha-3-code": "BGR", + "continent": "Europe", + "name": "Bulgaria", + "capital": "Sofia", + }, + { + "timezones": ["Asia/Bahrain"], + "alpha-2-code": "BH", + "alpha-3-code": "BHR", + "continent": "Asia", + "name": "Bahrain", + "capital": "Manama", + }, + { + "timezones": ["Africa/Bujumbura"], + "alpha-2-code": "BI", + "alpha-3-code": "BDI", + "continent": "Africa", + "name": "Burundi", + "capital": "Bujumbura", + }, + { + "timezones": ["Africa/Porto-Novo"], + "alpha-2-code": "BJ", + "alpha-3-code": "BEN", + "continent": "Africa", + "name": "Benin", + "capital": "Porto-Novo", + }, + { + "timezones": ["Asia/Brunei"], + "alpha-2-code": "BN", + "alpha-3-code": "BRN", + "continent": "Asia", + "name": "Brunei Darussalam", + "capital": "Bandar Seri Begawan", + }, + { + "timezones": ["America/La_Paz"], + "alpha-2-code": "BO", + "alpha-3-code": "BOL", + "continent": "South America", + "name": "Bolivia", + "capital": "Sucre", + }, + { + "timezones": [ + "America/Noronha", + "America/Belem", + "America/Fortaleza", + "America/Recife", + "America/Araguaina", + "America/Maceio", + "America/Bahia", + "America/Sao_Paulo", + "America/Campo_Grande", + "America/Cuiaba", + "America/Porto_Velho", + "America/Boa_Vista", + "America/Manaus", + "America/Eirunepe", + "America/Rio_Branco", + ], + "alpha-2-code": "BR", + "alpha-3-code": "BRA", + "continent": "South America", + "name": "Brazil", + "capital": "Bras\xc3\xadlia", + }, + { + "timezones": ["America/Nassau"], + "alpha-2-code": "BS", + "alpha-3-code": "BHS", + "continent": "North America", + "name": "Bahamas", + "capital": "Nassau", + }, + { + "timezones": ["Asia/Thimphu"], + "alpha-2-code": "BT", + "alpha-3-code": "BTN", + "continent": "Asia", + "name": "Bhutan", + "capital": "Thimphu", + }, + { + "timezones": ["Africa/Gaborone"], + "alpha-2-code": "BW", + "alpha-3-code": "BWA", + "continent": "Africa", + "name": "Botswana", + "capital": "Gaborone", + }, + { + "timezones": ["Europe/Minsk"], + "alpha-2-code": "BY", + "alpha-3-code": "BLR", + "continent": "Europe", + "name": "Belarus", + "capital": "Minsk", + }, + { + "timezones": ["America/Belize"], + "alpha-2-code": "BZ", + "alpha-3-code": "BLZ", + "continent": "North America", + "name": "Belize", + "capital": "Belmopan", + }, + { + "timezones": [ + "America/St_Johns", + "America/Halifax", + "America/Glace_Bay", + "America/Moncton", + "America/Goose_Bay", + "America/Blanc-Sablon", + "America/Montreal", + "America/Toronto", + "America/Nipigon", + "America/Thunder_Bay", + "America/Pangnirtung", + "America/Iqaluit", + "America/Atikokan", + "America/Rankin_Inlet", + "America/Winnipeg", + "America/Rainy_River", + "America/Cambridge_Bay", + "America/Regina", + "America/Swift_Current", + "America/Edmonton", + "America/Yellowknife", + "America/Inuvik", + "America/Dawson_Creek", + "America/Vancouver", + "America/Whitehorse", + "America/Dawson", + ], + "alpha-2-code": "CA", + "alpha-3-code": "CAN", + "continent": "North America", + "name": "Canada", + "capital": "Ottawa", + }, + { + "timezones": ["Africa/Kinshasa", "Africa/Lubumbashi"], + "alpha-2-code": "CD", + "alpha-3-code": "COD", + "continent": "Africa", + "name": "Democratic Republic of the Congo", + "capital": "Kinshasa", + }, + { + "timezones": ["Africa/Brazzaville"], + "alpha-2-code": "CG", + "alpha-3-code": "COG", + "continent": "Africa", + "name": "Republic of the Congo", + "capital": "Brazzaville", + }, + { + "timezones": ["Africa/Abidjan"], + "alpha-2-code": "CI", + "alpha-3-code": "CIV", + "continent": "Africa", + "name": "C\xc3\xb4te d'Ivoire", + "capital": "Yamoussoukro", + }, + { + "timezones": ["America/Santiago", "Pacific/Easter"], + "alpha-2-code": "CL", + "alpha-3-code": "CHL", + "continent": "South America", + "name": "Chile", + "capital": "Santiago", + }, + { + "timezones": ["Africa/Douala"], + "alpha-2-code": "CM", + "alpha-3-code": "CMR", + "continent": "Africa", + "name": "Cameroon", + "capital": "Yaound\xc3\xa9", + }, + { + "timezones": [ + "Asia/Shanghai", + "Asia/Harbin", + "Asia/Chongqing", + "Asia/Urumqi", + "Asia/Kashgar", + ], + "alpha-2-code": "CN", + "alpha-3-code": "CHN", + "continent": "Asia", + "name": "People's Republic of China", + "capital": "Beijing", + }, + { + "timezones": ["America/Bogota"], + "alpha-2-code": "CO", + "alpha-3-code": "COL", + "continent": "South America", + "name": "Colombia", + "capital": "Bogot\xc3\xa1", + }, + { + "timezones": ["America/Costa_Rica"], + "alpha-2-code": "CR", + "alpha-3-code": "CRI", + "continent": "North America", + "name": "Costa Rica", + "capital": "San Jos\xc3\xa9", + }, + { + "timezones": ["America/Havana"], + "alpha-2-code": "CU", + "alpha-3-code": "CUB", + "continent": "North America", + "name": "Cuba", + "capital": "Havana", + }, + { + "timezones": ["Atlantic/Cape_Verde"], + "alpha-2-code": "CV", + "alpha-3-code": "CPV", + "continent": "Africa", + "name": "Cape Verde", + "capital": "Praia", + }, + { + "timezones": ["Asia/Nicosia"], + "alpha-2-code": "CY", + "alpha-3-code": "CYP", + "continent": "Asia", + "name": "Cyprus", + "capital": "Nicosia", + }, + { + "timezones": ["Europe/Prague"], + "alpha-2-code": "CZ", + "alpha-3-code": "CZE", + "continent": "Europe", + "name": "Czech Republic", + "capital": "Prague", + }, + { + "timezones": ["Europe/Berlin"], + "alpha-2-code": "DE", + "alpha-3-code": "DEU", + "continent": "Europe", + "name": "Germany", + "capital": "Berlin", + }, + { + "timezones": ["Africa/Djibouti"], + "alpha-2-code": "DJ", + "alpha-3-code": "DJI", + "continent": "Africa", + "name": "Djibouti", + "capital": "Djibouti City", + }, + { + "timezones": ["Europe/Copenhagen"], + "alpha-2-code": "DK", + "alpha-3-code": "DNK", + "continent": "Europe", + "name": "Denmark", + "capital": "Copenhagen", + }, + { + "timezones": ["America/Dominica"], + "alpha-2-code": "DM", + "alpha-3-code": "DMA", + "continent": "North America", + "name": "Dominica", + "capital": "Roseau", + }, + { + "timezones": ["America/Santo_Domingo"], + "alpha-2-code": "DO", + "alpha-3-code": "DOM", + "continent": "North America", + "name": "Dominican Republic", + "capital": "Santo Domingo", + }, + { + "timezones": ["America/Guayaquil", "Pacific/Galapagos"], + "alpha-2-code": "EC", + "alpha-3-code": "ECU", + "continent": "South America", + "name": "Ecuador", + "capital": "Quito", + }, + { + "timezones": ["Europe/Tallinn"], + "alpha-2-code": "EE", + "alpha-3-code": "EST", + "continent": "Europe", + "name": "Estonia", + "capital": "Tallinn", + }, + { + "timezones": ["Africa/Cairo"], + "alpha-2-code": "EG", + "alpha-3-code": "EGY", + "continent": "Africa", + "name": "Egypt", + "capital": "Cairo", + }, + { + "timezones": ["Africa/Asmera"], + "alpha-2-code": "ER", + "alpha-3-code": "ERI", + "continent": "Africa", + "name": "Eritrea", + "capital": "Asmara", + }, + { + "timezones": ["Africa/Addis_Ababa"], + "alpha-2-code": "ET", + "alpha-3-code": "ETH", + "continent": "Africa", + "name": "Ethiopia", + "capital": "Addis Ababa", + }, + { + "timezones": ["Europe/Helsinki"], + "alpha-2-code": "FI", + "alpha-3-code": "FIN", + "continent": "Europe", + "name": "Finland", + "capital": "Helsinki", + }, + { + "timezones": ["Pacific/Fiji"], + "alpha-2-code": "FJ", + "alpha-3-code": "FJI", + "continent": "Oceania", + "name": "Fiji", + "capital": "Suva", + }, + { + "timezones": ["Europe/Paris"], + "alpha-2-code": "FR", + "alpha-3-code": "FRA", + "continent": "Europe", + "name": "France", + "capital": "Paris", + }, + { + "timezones": ["Africa/Libreville"], + "alpha-2-code": "GA", + "alpha-3-code": "GAB", + "continent": "Africa", + "name": "Gabon", + "capital": "Libreville", + }, + { + "timezones": ["Asia/Tbilisi"], + "alpha-2-code": "GE", + "alpha-3-code": "GEO", + "continent": "Asia", + "name": "Georgia", + "capital": "Tbilisi", + }, + { + "timezones": ["Africa/Accra"], + "alpha-2-code": "GH", + "alpha-3-code": "GHA", + "continent": "Africa", + "name": "Ghana", + "capital": "Accra", + }, + { + "timezones": ["Africa/Banjul"], + "alpha-2-code": "GM", + "alpha-3-code": "GMB", + "continent": "Africa", + "name": "The Gambia", + "capital": "Banjul", + }, + { + "timezones": ["Africa/Conakry"], + "alpha-2-code": "GN", + "alpha-3-code": "GIN", + "continent": "Africa", + "name": "Guinea", + "capital": "Conakry", + }, + { + "timezones": ["Europe/Athens"], + "alpha-2-code": "GR", + "alpha-3-code": "GRC", + "continent": "Europe", + "name": "Greece", + "capital": "Athens", + }, + { + "timezones": ["America/Guatemala"], + "alpha-2-code": "GT", + "alpha-3-code": "GTM", + "continent": "North America", + "name": "Guatemala", + "capital": "Guatemala City", + }, + { + "timezones": ["America/Guatemala"], + "alpha-2-code": "HT", + "alpha-3-code": "HTI", + "continent": "North America", + "name": "Haiti", + "capital": "Port-au-Prince", + }, + { + "timezones": ["Africa/Bissau"], + "alpha-2-code": "GW", + "alpha-3-code": "GNB", + "continent": "Africa", + "name": "Guinea-Bissau", + "capital": "Bissau", + }, + { + "timezones": ["America/Guyana"], + "alpha-2-code": "GY", + "alpha-3-code": "GUY", + "continent": "South America", + "name": "Guyana", + "capital": "Georgetown", + }, + { + "timezones": ["America/Tegucigalpa"], + "alpha-2-code": "HN", + "alpha-3-code": "HND", + "continent": "North America", + "name": "Honduras", + "capital": "Tegucigalpa", + }, + { + "timezones": ["Europe/Budapest"], + "alpha-2-code": "HU", + "alpha-3-code": "HUN", + "continent": "Europe", + "name": "Hungary", + "capital": "Budapest", + }, + { + "timezones": [ + "Asia/Jakarta", + "Asia/Pontianak", + "Asia/Makassar", + "Asia/Jayapura", + ], + "alpha-2-code": "ID", + "alpha-3-code": "IDN", + "continent": "Asia", + "name": "Indonesia", + "capital": "Jakarta", + }, + { + "timezones": ["Europe/Dublin"], + "alpha-2-code": "IE", + "alpha-3-code": "IRL", + "continent": "Europe", + "name": "Republic of Ireland", + "capital": "Dublin", + }, + { + "timezones": ["Asia/Jerusalem"], + "alpha-2-code": "IL", + "alpha-3-code": "ISR", + "continent": "Asia", + "name": "Israel", + "capital": "Jerusalem", + }, + { + "timezones": ["Asia/Calcutta"], + "alpha-2-code": "IN", + "alpha-3-code": "IND", + "continent": "Asia", + "name": "India", + "capital": "New Delhi", + }, + { + "timezones": ["Asia/Baghdad"], + "alpha-2-code": "IQ", + "alpha-3-code": "IRQ", + "continent": "Asia", + "name": "Iraq", + "capital": "Baghdad", + }, + { + "timezones": ["Asia/Tehran"], + "alpha-2-code": "IR", + "alpha-3-code": "IRN", + "continent": "Asia", + "name": "Iran", + "capital": "Tehran", + }, + { + "timezones": ["Atlantic/Reykjavik"], + "alpha-2-code": "IS", + "alpha-3-code": "ISL", + "continent": "Europe", + "name": "Iceland", + "capital": "Reykjav\xc3\xadk", + }, + { + "timezones": ["Europe/Rome"], + "alpha-2-code": "IT", + "alpha-3-code": "ITA", + "continent": "Europe", + "name": "Italy", + "capital": "Rome", + }, + { + "timezones": ["America/Jamaica"], + "alpha-2-code": "JM", + "alpha-3-code": "JAM", + "continent": "North America", + "name": "Jamaica", + "capital": "Kingston", + }, + { + "timezones": ["Asia/Amman"], + "alpha-2-code": "JO", + "alpha-3-code": "JOR", + "continent": "Asia", + "name": "Jordan", + "capital": "Amman", + }, + { + "timezones": ["Asia/Tokyo"], + "alpha-2-code": "JP", + "alpha-3-code": "JPN", + "continent": "Asia", + "name": "Japan", + "capital": "Tokyo", + }, + { + "timezones": ["Africa/Nairobi"], + "alpha-2-code": "KE", + "alpha-3-code": "KEN", + "continent": "Africa", + "name": "Kenya", + "capital": "Nairobi", + }, + { + "timezones": ["Asia/Bishkek"], + "alpha-2-code": "KG", + "alpha-3-code": "KGZ", + "continent": "Asia", + "name": "Kyrgyzstan", + "capital": "Bishkek", + }, + { + "timezones": ["Pacific/Tarawa", "Pacific/Enderbury", "Pacific/Kiritimati"], + "alpha-2-code": "KI", + "alpha-3-code": "KIR", + "continent": "Oceania", + "name": "Kiribati", + "capital": "Tarawa", + }, + { + "timezones": ["Asia/Pyongyang"], + "alpha-2-code": "KP", + "alpha-3-code": "PRK", + "continent": "Asia", + "name": "North Korea", + "capital": "Pyongyang", + }, + { + "timezones": ["Asia/Seoul"], + "alpha-2-code": "KR", + "alpha-3-code": "KOR", + "continent": "Asia", + "name": "South Korea", + "capital": "Seoul", + }, + { + "timezones": ["Asia/Kuwait"], + "alpha-2-code": "KW", + "alpha-3-code": "KWT", + "continent": "Asia", + "name": "Kuwait", + "capital": "Kuwait City", + }, + { + "timezones": ["Asia/Beirut"], + "alpha-2-code": "LB", + "alpha-3-code": "LBN", + "continent": "Asia", + "name": "Lebanon", + "capital": "Beirut", + }, + { + "timezones": ["Europe/Vaduz"], + "alpha-2-code": "LI", + "alpha-3-code": "LIE", + "continent": "Europe", + "name": "Liechtenstein", + "capital": "Vaduz", + }, + { + "timezones": ["Africa/Monrovia"], + "alpha-2-code": "LR", + "alpha-3-code": "LBR", + "continent": "Africa", + "name": "Liberia", + "capital": "Monrovia", + }, + { + "timezones": ["Africa/Maseru"], + "alpha-2-code": "LS", + "alpha-3-code": "LSO", + "continent": "Africa", + "name": "Lesotho", + "capital": "Maseru", + }, + { + "timezones": ["Europe/Vilnius"], + "alpha-2-code": "LT", + "alpha-3-code": "LTU", + "continent": "Europe", + "name": "Lithuania", + "capital": "Vilnius", + }, + { + "timezones": ["Europe/Luxembourg"], + "alpha-2-code": "LU", + "alpha-3-code": "LUX", + "continent": "Europe", + "name": "Luxembourg", + "capital": "Luxembourg City", + }, + { + "timezones": ["Europe/Riga"], + "alpha-2-code": "LV", + "alpha-3-code": "LVA", + "continent": "Europe", + "name": "Latvia", + "capital": "Riga", + }, + { + "timezones": ["Africa/Tripoli"], + "alpha-2-code": "LY", + "alpha-3-code": "LBY", + "continent": "Africa", + "name": "Libya", + "capital": "Tripoli", + }, + { + "timezones": ["Indian/Antananarivo"], + "alpha-2-code": "MG", + "alpha-3-code": "MDG", + "continent": "Africa", + "name": "Madagascar", + "capital": "Antananarivo", + }, + { + "timezones": ["Pacific/Majuro", "Pacific/Kwajalein"], + "alpha-2-code": "MH", + "alpha-3-code": "MHL", + "continent": "Oceania", + "name": "Marshall Islands", + "capital": "Majuro", + }, + { + "timezones": ["Europe/Skopje"], + "alpha-2-code": "MK", + "alpha-3-code": "MKD", + "continent": "Europe", + "name": "Macedonia", + "capital": "Skopje", + }, + { + "timezones": ["Africa/Bamako"], + "alpha-2-code": "ML", + "alpha-3-code": "MLI", + "continent": "Africa", + "name": "Mali", + "capital": "Bamako", + }, + { + "timezones": ["Asia/Rangoon"], + "alpha-2-code": "MM", + "alpha-3-code": "MMR", + "continent": "Asia", + "name": "Myanmar", + "capital": "Naypyidaw", + }, + { + "timezones": ["Asia/Ulaanbaatar", "Asia/Hovd", "Asia/Choibalsan"], + "alpha-2-code": "MN", + "alpha-3-code": "MNG", + "continent": "Asia", + "name": "Mongolia", + "capital": "Ulaanbaatar", + }, + { + "timezones": ["Africa/Nouakchott"], + "alpha-2-code": "MR", + "alpha-3-code": "MRT", + "continent": "Africa", + "name": "Mauritania", + "capital": "Nouakchott", + }, + { + "timezones": ["Europe/Malta"], + "alpha-2-code": "MT", + "alpha-3-code": "MLT", + "continent": "Europe", + "name": "Malta", + "capital": "Valletta", + }, + { + "timezones": ["Indian/Mauritius"], + "alpha-2-code": "MU", + "alpha-3-code": "MUS", + "continent": "Africa", + "name": "Mauritius", + "capital": "Port Louis", + }, + { + "timezones": ["Indian/Maldives"], + "alpha-2-code": "MV", + "alpha-3-code": "MDV", + "continent": "Asia", + "name": "Maldives", + "capital": "Mal\xc3\xa9", + }, + { + "timezones": ["Africa/Blantyre"], + "alpha-2-code": "MW", + "alpha-3-code": "MWI", + "continent": "Africa", + "name": "Malawi", + "capital": "Lilongwe", + }, + { + "timezones": [ + "America/Mexico_City", + "America/Cancun", + "America/Merida", + "America/Monterrey", + "America/Mazatlan", + "America/Chihuahua", + "America/Hermosillo", + "America/Tijuana", + ], + "alpha-2-code": "MX", + "alpha-3-code": "MEX", + "continent": "North America", + "name": "Mexico", + "capital": "Mexico City", + }, + { + "timezones": ["Asia/Kuala_Lumpur", "Asia/Kuching"], + "alpha-2-code": "MY", + "alpha-3-code": "MYS", + "continent": "Asia", + "name": "Malaysia", + "capital": "Kuala Lumpur", + }, + { + "timezones": ["Africa/Maputo"], + "alpha-2-code": "MZ", + "alpha-3-code": "MOZ", + "continent": "Africa", + "name": "Mozambique", + "capital": "Maputo", + }, + { + "timezones": ["Africa/Windhoek"], + "alpha-2-code": "NA", + "alpha-3-code": "NAM", + "continent": "Africa", + "name": "Namibia", + "capital": "Windhoek", + }, + { + "timezones": ["Africa/Niamey"], + "alpha-2-code": "NE", + "alpha-3-code": "NER", + "continent": "Africa", + "name": "Niger", + "capital": "Niamey", + }, + { + "timezones": ["Africa/Lagos"], + "alpha-2-code": "NG", + "alpha-3-code": "NGA", + "continent": "Africa", + "name": "Nigeria", + "capital": "Abuja", + }, + { + "timezones": ["America/Managua"], + "alpha-2-code": "NI", + "alpha-3-code": "NIC", + "continent": "North America", + "name": "Nicaragua", + "capital": "Managua", + }, + { + "timezones": ["Europe/Amsterdam"], + "alpha-2-code": "NL", + "alpha-3-code": "NLD", + "continent": "Europe", + "name": "Kingdom of the Netherlands", + "capital": "Amsterdam", + }, + { + "timezones": ["Europe/Oslo"], + "alpha-2-code": "NO", + "alpha-3-code": "NOR", + "continent": "Europe", + "name": "Norway", + "capital": "Oslo", + }, + { + "timezones": ["Asia/Katmandu"], + "alpha-2-code": "NP", + "alpha-3-code": "NPL", + "continent": "Asia", + "name": "Nepal", + "capital": "Kathmandu", + }, + { + "timezones": ["Pacific/Nauru"], + "alpha-2-code": "NR", + "alpha-3-code": "NRU", + "continent": "Oceania", + "name": "Nauru", + "capital": "Yaren", + }, + { + "timezones": ["Pacific/Auckland", "Pacific/Chatham"], + "alpha-2-code": "NZ", + "alpha-3-code": "NZL", + "continent": "Oceania", + "name": "New Zealand", + "capital": "Wellington", + }, + { + "timezones": ["Asia/Muscat"], + "alpha-2-code": "OM", + "alpha-3-code": "OMN", + "continent": "Asia", + "name": "Oman", + "capital": "Muscat", + }, + { + "timezones": ["America/Panama"], + "alpha-2-code": "PA", + "alpha-3-code": "PAN", + "continent": "North America", + "name": "Panama", + "capital": "Panama City", + }, + { + "timezones": ["America/Lima"], + "alpha-2-code": "PE", + "alpha-3-code": "PER", + "continent": "South America", + "name": "Peru", + "capital": "Lima", + }, + { + "timezones": ["Pacific/Port_Moresby"], + "alpha-2-code": "PG", + "alpha-3-code": "PNG", + "continent": "Oceania", + "name": "Papua New Guinea", + "capital": "Port Moresby", + }, + { + "timezones": ["Asia/Manila"], + "alpha-2-code": "PH", + "alpha-3-code": "PHL", + "continent": "Asia", + "name": "Philippines", + "capital": "Manila", + }, + { + "timezones": ["Asia/Karachi"], + "alpha-2-code": "PK", + "alpha-3-code": "PAK", + "continent": "Asia", + "name": "Pakistan", + "capital": "Islamabad", + }, + { + "timezones": ["Europe/Warsaw"], + "alpha-2-code": "PL", + "alpha-3-code": "POL", + "continent": "Europe", + "name": "Poland", + "capital": "Warsaw", + }, + { + "timezones": ["Europe/Lisbon", "Atlantic/Madeira", "Atlantic/Azores"], + "alpha-2-code": "PT", + "alpha-3-code": "PRT", + "continent": "Europe", + "name": "Portugal", + "capital": "Lisbon", + }, + { + "timezones": ["Pacific/Palau"], + "alpha-2-code": "PW", + "alpha-3-code": "PLW", + "continent": "Oceania", + "name": "Palau", + "capital": "Ngerulmud", + }, + { + "timezones": ["America/Asuncion"], + "alpha-2-code": "PY", + "alpha-3-code": "PRY", + "continent": "South America", + "name": "Paraguay", + "capital": "Asunci\xc3\xb3n", + }, + { + "timezones": ["Asia/Qatar"], + "alpha-2-code": "QA", + "alpha-3-code": "QAT", + "continent": "Asia", + "name": "Qatar", + "capital": "Doha", + }, + { + "timezones": ["Europe/Bucharest"], + "alpha-2-code": "RO", + "alpha-3-code": "ROU", + "continent": "Europe", + "name": "Romania", + "capital": "Bucharest", + }, + { + "timezones": [ + "Europe/Kaliningrad", + "Europe/Moscow", + "Europe/Volgograd", + "Europe/Samara", + "Asia/Yekaterinburg", + "Asia/Omsk", + "Asia/Novosibirsk", + "Asia/Krasnoyarsk", + "Asia/Irkutsk", + "Asia/Yakutsk", + "Asia/Vladivostok", + "Asia/Sakhalin", + "Asia/Magadan", + "Asia/Kamchatka", + "Asia/Anadyr", + ], + "alpha-2-code": "RU", + "alpha-3-code": "RUS", + "continent": "Europe", + "name": "Russia", + "capital": "Moscow", + }, + { + "timezones": ["Africa/Kigali"], + "alpha-2-code": "RW", + "alpha-3-code": "RWA", + "continent": "Africa", + "name": "Rwanda", + "capital": "Kigali", + }, + { + "timezones": ["Asia/Riyadh"], + "alpha-2-code": "SA", + "alpha-3-code": "SAU", + "continent": "Asia", + "name": "Saudi Arabia", + "capital": "Riyadh", + }, + { + "timezones": ["Pacific/Guadalcanal"], + "alpha-2-code": "SB", + "alpha-3-code": "SLB", + "continent": "Oceania", + "name": "Solomon Islands", + "capital": "Honiara", + }, + { + "timezones": ["Indian/Mahe"], + "alpha-2-code": "SC", + "alpha-3-code": "SYC", + "continent": "Africa", + "name": "Seychelles", + "capital": "Victoria", + }, + { + "timezones": ["Africa/Khartoum"], + "alpha-2-code": "SD", + "alpha-3-code": "SDN", + "continent": "Africa", + "name": "Sudan", + "capital": "Khartoum", + }, + { + "timezones": ["Europe/Stockholm"], + "alpha-2-code": "SE", + "alpha-3-code": "SWE", + "continent": "Europe", + "name": "Sweden", + "capital": "Stockholm", + }, + { + "timezones": ["Asia/Singapore"], + "alpha-2-code": "SG", + "alpha-3-code": "SGP", + "continent": "Asia", + "name": "Singapore", + "capital": "Singapore", + }, + { + "timezones": ["Europe/Ljubljana"], + "alpha-2-code": "SI", + "alpha-3-code": "SVN", + "continent": "Europe", + "name": "Slovenia", + "capital": "Ljubljana", + }, + { + "timezones": ["Europe/Bratislava"], + "alpha-2-code": "SK", + "alpha-3-code": "SVK", + "continent": "Europe", + "name": "Slovakia", + "capital": "Bratislava", + }, + { + "timezones": ["Africa/Freetown"], + "alpha-2-code": "SL", + "alpha-3-code": "SLE", + "continent": "Africa", + "name": "Sierra Leone", + "capital": "Freetown", + }, + { + "timezones": ["Europe/San_Marino"], + "alpha-2-code": "SM", + "alpha-3-code": "SMR", + "continent": "Europe", + "name": "San Marino", + "capital": "San Marino", + }, + { + "timezones": ["Africa/Dakar"], + "alpha-2-code": "SN", + "alpha-3-code": "SEN", + "continent": "Africa", + "name": "Senegal", + "capital": "Dakar", + }, + { + "timezones": ["Africa/Mogadishu"], + "alpha-2-code": "SO", + "alpha-3-code": "SOM", + "continent": "Africa", + "name": "Somalia", + "capital": "Mogadishu", + }, + { + "timezones": ["America/Paramaribo"], + "alpha-2-code": "SR", + "alpha-3-code": "SUR", + "continent": "South America", + "name": "Suriname", + "capital": "Paramaribo", + }, + { + "timezones": ["Africa/Sao_Tome"], + "alpha-2-code": "ST", + "alpha-3-code": "STP", + "continent": "Africa", + "name": "S\xc3\xa3o Tom\xc3\xa9 and Pr\xc3\xadncipe", + "capital": "S\xc3\xa3o Tom\xc3\xa9", + }, + { + "timezones": ["Asia/Damascus"], + "alpha-2-code": "SY", + "alpha-3-code": "SYR", + "continent": "Asia", + "name": "Syria", + "capital": "Damascus", + }, + { + "timezones": ["Africa/Lome"], + "alpha-2-code": "TG", + "alpha-3-code": "TGO", + "continent": "Africa", + "name": "Togo", + "capital": "Lom\xc3\xa9", + }, + { + "timezones": ["Asia/Bangkok"], + "alpha-2-code": "TH", + "alpha-3-code": "THA", + "continent": "Asia", + "name": "Thailand", + "capital": "Bangkok", + }, + { + "timezones": ["Asia/Dushanbe"], + "alpha-2-code": "TJ", + "alpha-3-code": "TJK", + "continent": "Asia", + "name": "Tajikistan", + "capital": "Dushanbe", + }, + { + "timezones": ["Asia/Ashgabat"], + "alpha-2-code": "TM", + "alpha-3-code": "TKM", + "continent": "Asia", + "name": "Turkmenistan", + "capital": "Ashgabat", + }, + { + "timezones": ["Africa/Tunis"], + "alpha-2-code": "TN", + "alpha-3-code": "TUN", + "continent": "Africa", + "name": "Tunisia", + "capital": "Tunis", + }, + { + "timezones": ["Pacific/Tongatapu"], + "alpha-2-code": "TO", + "alpha-3-code": "TON", + "continent": "Oceania", + "name": "Tonga", + "capital": "Nuku\xca\xbbalofa", + }, + { + "timezones": ["Europe/Istanbul"], + "alpha-2-code": "TR", + "alpha-3-code": "TUR", + "continent": "Asia", + "name": "Turkey", + "capital": "Ankara", + }, + { + "timezones": ["America/Port_of_Spain"], + "alpha-2-code": "TT", + "alpha-3-code": "TTO", + "continent": "North America", + "name": "Trinidad and Tobago", + "capital": "Port of Spain", + }, + { + "timezones": ["Pacific/Funafuti"], + "alpha-2-code": "TV", + "alpha-3-code": "TUV", + "continent": "Oceania", + "name": "Tuvalu", + "capital": "Funafuti", + }, + { + "timezones": ["Africa/Dar_es_Salaam"], + "alpha-2-code": "TZ", + "alpha-3-code": "TZA", + "continent": "Africa", + "name": "Tanzania", + "capital": "Dodoma", + }, + { + "timezones": [ + "Europe/Kiev", + "Europe/Uzhgorod", + "Europe/Zaporozhye", + "Europe/Simferopol", + ], + "alpha-2-code": "UA", + "alpha-3-code": "UKR", + "continent": "Europe", + "name": "Ukraine", + "capital": "Kiev", + }, + { + "timezones": ["Africa/Kampala"], + "alpha-2-code": "UG", + "alpha-3-code": "UGA", + "continent": "Africa", + "name": "Uganda", + "capital": "Kampala", + }, + { + "timezones": [ + "America/New_York", + "America/Detroit", + "America/Kentucky/Louisville", + "America/Kentucky/Monticello", + "America/Indiana/Indianapolis", + "America/Indiana/Marengo", + "America/Indiana/Knox", + "America/Indiana/Vevay", + "America/Chicago", + "America/Indiana/Vincennes", + "America/Indiana/Petersburg", + "America/Menominee", + "America/North_Dakota/Center", + "America/North_Dakota/New_Salem", + "America/Denver", + "America/Boise", + "America/Shiprock", + "America/Phoenix", + "America/Los_Angeles", + "America/Anchorage", + "America/Juneau", + "America/Yakutat", + "America/Nome", + "America/Adak", + "Pacific/Honolulu", + ], + "alpha-2-code": "US", + "alpha-3-code": "USA", + "continent": "North America", + "name": "United States", + "capital": "Washington, D.C.", + }, + { + "timezones": ["America/Montevideo"], + "alpha-2-code": "UY", + "alpha-3-code": "URY", + "continent": "South America", + "name": "Uruguay", + "capital": "Montevideo", + }, + { + "timezones": ["Asia/Samarkand", "Asia/Tashkent"], + "alpha-2-code": "UZ", + "alpha-3-code": "UZB", + "continent": "Asia", + "name": "Uzbekistan", + "capital": "Tashkent", + }, + { + "timezones": ["Europe/Vatican"], + "alpha-2-code": "VA", + "alpha-3-code": "VAT", + "continent": "Europe", + "name": "Vatican City", + "capital": "Vatican City", + }, + { + "timezones": ["America/Caracas"], + "alpha-2-code": "VE", + "alpha-3-code": "VEN", + "continent": "South America", + "name": "Venezuela", + "capital": "Caracas", + }, + { + "timezones": ["Asia/Saigon"], + "alpha-2-code": "VN", + "alpha-3-code": "VNM", + "continent": "Asia", + "name": "Vietnam", + "capital": "Hanoi", + }, + { + "timezones": ["Pacific/Efate"], + "alpha-2-code": "VU", + "alpha-3-code": "VUT", + "continent": "Oceania", + "name": "Vanuatu", + "capital": "Port Vila", + }, + { + "timezones": ["Asia/Aden"], + "alpha-2-code": "YE", + "alpha-3-code": "YEM", + "continent": "Asia", + "name": "Yemen", + "capital": "Sana'a", + }, + { + "timezones": ["Africa/Lusaka"], + "alpha-2-code": "ZM", + "alpha-3-code": "ZMB", + "continent": "Africa", + "name": "Zambia", + "capital": "Lusaka", + }, + { + "timezones": ["Africa/Harare"], + "alpha-2-code": "ZW", + "alpha-3-code": "ZWE", + "continent": "Africa", + "name": "Zimbabwe", + "capital": "Harare", + }, + { + "timezones": ["Africa/Algiers"], + "alpha-2-code": "DZ", + "alpha-3-code": "DZA", + "continent": "Africa", + "name": "Algeria", + "capital": "Algiers", + }, + { + "timezones": ["Europe/Sarajevo"], + "alpha-2-code": "BA", + "alpha-3-code": "BIH", + "continent": "Europe", + "name": "Bosnia and Herzegovina", + "capital": "Sarajevo", + }, + { + "timezones": ["Asia/Phnom_Penh"], + "alpha-2-code": "KH", + "alpha-3-code": "KHM", + "continent": "Asia", + "name": "Cambodia", + "capital": "Phnom Penh", + }, + { + "timezones": ["Africa/Bangui"], + "alpha-2-code": "CF", + "alpha-3-code": "CAF", + "continent": "Africa", + "name": "Central African Republic", + "capital": "Bangui", + }, + { + "timezones": ["Africa/Ndjamena"], + "alpha-2-code": "TD", + "alpha-3-code": "TCD", + "continent": "Africa", + "name": "Chad", + "capital": "N'Djamena", + }, + { + "timezones": ["Indian/Comoro"], + "alpha-2-code": "KM", + "alpha-3-code": "COM", + "continent": "Africa", + "name": "Comoros", + "capital": "Moroni", + }, + { + "timezones": ["Europe/Zagreb"], + "alpha-2-code": "HR", + "alpha-3-code": "HRV", + "continent": "Europe", + "name": "Croatia", + "capital": "Zagreb", + }, + { + "timezones": ["Asia/Dili"], + "alpha-2-code": "TL", + "alpha-3-code": "TLS", + "continent": "Asia", + "name": "East Timor", + "capital": "Dili", + }, + { + "timezones": ["America/El_Salvador"], + "alpha-2-code": "SV", + "alpha-3-code": "SLV", + "continent": "North America", + "name": "El Salvador", + "capital": "San Salvador", + }, + { + "timezones": ["Africa/Malabo"], + "alpha-2-code": "GQ", + "alpha-3-code": "GNQ", + "continent": "Africa", + "name": "Equatorial Guinea", + "capital": "Malabo", + }, + { + "timezones": ["America/Grenada"], + "alpha-2-code": "GD", + "alpha-3-code": "GRD", + "continent": "North America", + "name": "Grenada", + "capital": "St. George's", + }, + { + "timezones": [ + "Asia/Almaty", + "Asia/Qyzylorda", + "Asia/Aqtobe", + "Asia/Aqtau", + "Asia/Oral", + ], + "alpha-2-code": "KZ", + "alpha-3-code": "KAZ", + "continent": "Asia", + "name": "Kazakhstan", + "capital": "Astana", + }, + { + "timezones": ["Asia/Vientiane"], + "alpha-2-code": "LA", + "alpha-3-code": "LAO", + "continent": "Asia", + "name": "Laos", + "capital": "Vientiane", + }, + { + "timezones": ["Pacific/Truk", "Pacific/Ponape", "Pacific/Kosrae"], + "alpha-2-code": "FM", + "alpha-3-code": "FSM", + "continent": "Oceania", + "name": "Federated States of Micronesia", + "capital": "Palikir", + }, + { + "timezones": ["Europe/Chisinau"], + "alpha-2-code": "MD", + "alpha-3-code": "MDA", + "continent": "Europe", + "name": "Moldova", + "capital": "Chi\xc5\x9fin\xc4\x83u", + }, + { + "timezones": ["Europe/Monaco"], + "alpha-2-code": "MC", + "alpha-3-code": "MCO", + "continent": "Europe", + "name": "Monaco", + "capital": "Monaco", + }, + { + "timezones": ["Europe/Podgorica"], + "alpha-2-code": "ME", + "alpha-3-code": "MNE", + "continent": "Europe", + "name": "Montenegro", + "capital": "Podgorica", + }, + { + "timezones": ["Africa/Casablanca"], + "alpha-2-code": "MA", + "alpha-3-code": "MAR", + "continent": "Africa", + "name": "Morocco", + "capital": "Rabat", + }, + { + "timezones": ["America/St_Kitts"], + "alpha-2-code": "KN", + "alpha-3-code": "KNA", + "continent": "North America", + "name": "Saint Kitts and Nevis", + "capital": "Basseterre", + }, + { + "timezones": ["America/St_Lucia"], + "alpha-2-code": "LC", + "alpha-3-code": "LCA", + "continent": "North America", + "name": "Saint Lucia", + "capital": "Castries", + }, + { + "timezones": ["America/St_Vincent"], + "alpha-2-code": "VC", + "alpha-3-code": "VCT", + "continent": "North America", + "name": "Saint Vincent and the Grenadines", + "capital": "Kingstown", + }, + { + "timezones": ["Pacific/Apia"], + "alpha-2-code": "WS", + "alpha-3-code": "WSM", + "continent": "Oceania", + "name": "Samoa", + "capital": "Apia", + }, + { + "timezones": ["Europe/Belgrade"], + "alpha-2-code": "RS", + "alpha-3-code": "SRB", + "continent": "Europe", + "name": "Serbia", + "capital": "Belgrade", + }, + { + "timezones": ["Africa/Johannesburg"], + "alpha-2-code": "ZA", + "alpha-3-code": "ZAF", + "continent": "Africa", + "name": "South Africa", + "capital": "Pretoria", + }, + { + "timezones": ["Europe/Madrid", "Africa/Ceuta", "Atlantic/Canary"], + "alpha-2-code": "ES", + "alpha-3-code": "ESP", + "continent": "Europe", + "name": "Spain", + "capital": "Madrid", + }, + { + "timezones": ["Asia/Colombo"], + "alpha-2-code": "LK", + "alpha-3-code": "LKA", + "continent": "Asia", + "name": "Sri Lanka", + "capital": "Sri Jayewardenepura Kotte", + }, + { + "timezones": ["Africa/Mbabane"], + "alpha-2-code": "SZ", + "alpha-3-code": "SWZ", + "continent": "Africa", + "name": "Swaziland", + "capital": "Mbabane", + }, + { + "timezones": ["Europe/Zurich"], + "alpha-2-code": "CH", + "alpha-3-code": "CHE", + "continent": "Europe", + "name": "Switzerland", + "capital": "Bern", + }, + { + "timezones": ["Asia/Dubai"], + "alpha-2-code": "AE", + "alpha-3-code": "ARE", + "continent": "Asia", + "name": "United Arab Emirates", + "capital": "Abu Dhabi", + }, + { + "timezones": ["Europe/London"], + "alpha-2-code": "GB", + "alpha-3-code": "GBR", + "continent": "Europe", + "name": "United Kingdom", + "capital": "London", + }, + { + "timezones": ["Asia/Taipei"], + "alpha-2-code": "TW", + "alpha-3-code": "TWN", + "continent": "Asia", + "name": "Taiwan", + "capital": "Taipei", + }, + { + "timezones": ["Asia/Gaza", "Asia/Hebron"], + "alpha-2-code": "PS", + "alpha-3-code": "PSE", + "continent": "Asia", + "name": "Palestine", + "capital": "Ramallah", + }, + ] regex = re.compile(timedelta_pattern) - def unix_time(self, end_datetime=None, start_datetime=None): + def unix_time( + self, + end_datetime: Optional[DateParseType] = None, + start_datetime: Optional[DateParseType] = None, + ) -> int: """ Get a timestamp between January 1, 1970 and now, unless passed explicit start_datetime or end_datetime values. @@ -1390,35 +1814,43 @@ def unix_time(self, end_datetime=None, start_datetime=None): end_datetime = self._parse_end_datetime(end_datetime) return self.generator.random.randint(start_datetime, end_datetime) - def time_delta(self, end_datetime=None): + def time_delta(self, end_datetime: Optional[DateParseType] = None) -> timedelta: """ Get a timedelta object """ - start_datetime = self._parse_start_datetime('now') + start_datetime = self._parse_start_datetime("now") end_datetime = self._parse_end_datetime(end_datetime) seconds = end_datetime - start_datetime ts = self.generator.random.randint(*sorted([0, seconds])) return timedelta(seconds=ts) - def date_time(self, tzinfo=None, end_datetime=None): + def date_time( + self, + tzinfo: Optional[TzInfo] = None, + end_datetime: Optional[DateParseType] = None, + ) -> datetime: """ Get a datetime object for a date between January 1, 1970 and now :param tzinfo: timezone, instance of datetime.tzinfo subclass - :example DateTime('2005-08-16 20:39:21') + :example datetime('2005-08-16 20:39:21') :return datetime """ # NOTE: On windows, the lowest value you can get from windows is 86400 # on the first day. Known python issue: # https://bugs.python.org/issue30684 - return datetime(1970, 1, 1, tzinfo=tzinfo) + \ - timedelta(seconds=self.unix_time(end_datetime=end_datetime)) - - def date_time_ad(self, tzinfo=None, end_datetime=None, start_datetime=None): + return datetime(1970, 1, 1, tzinfo=tzinfo) + timedelta(seconds=self.unix_time(end_datetime=end_datetime)) + + def date_time_ad( + self, + tzinfo: Optional[TzInfo] = None, + end_datetime: Optional[DateParseType] = None, + start_datetime: Optional[DateParseType] = None, + ) -> datetime: """ Get a datetime object for a date between January 1, 001 and now :param tzinfo: timezone, instance of datetime.tzinfo subclass - :example DateTime('1265-03-22 21:15:52') + :example datetime('1265-03-22 21:15:52') :return datetime """ @@ -1441,14 +1873,18 @@ def date_time_ad(self, tzinfo=None, end_datetime=None, start_datetime=None): # https://bugs.python.org/issue30684 return datetime(1970, 1, 1, tzinfo=tzinfo) + timedelta(seconds=ts) - def iso8601(self, tzinfo=None, end_datetime=None): + def iso8601( + self, + tzinfo: Optional[TzInfo] = None, + end_datetime: Optional[DateParseType] = None, + ) -> str: """ :param tzinfo: timezone, instance of datetime.tzinfo subclass :example '2003-10-21T16:05:52+0000' """ return self.date_time(tzinfo, end_datetime=end_datetime).isoformat() - def date(self, pattern='%Y-%m-%d', end_datetime=None): + def date(self, pattern: str = "%Y-%m-%d", end_datetime: Optional[DateParseType] = None) -> str: """ Get a date string between January 1, 1970 and now :param pattern format @@ -1456,23 +1892,22 @@ def date(self, pattern='%Y-%m-%d', end_datetime=None): """ return self.date_time(end_datetime=end_datetime).strftime(pattern) - def date_object(self, end_datetime=None): + def date_object(self, end_datetime: datetime = None) -> dtdate: """ Get a date object between January 1, 1970 and now :example datetime.date(2016, 9, 20) """ return self.date_time(end_datetime=end_datetime).date() - def time(self, pattern='%H:%M:%S', end_datetime=None): + def time(self, pattern: str = "%H:%M:%S", end_datetime: Optional[DateParseType] = None) -> str: """ Get a time string (24h format by default) :param pattern format :example '15:02:34' """ - return self.date_time( - end_datetime=end_datetime).time().strftime(pattern) + return self.date_time(end_datetime=end_datetime).time().strftime(pattern) - def time_object(self, end_datetime=None): + def time_object(self, end_datetime: Optional[DateParseType] = None) -> dttime: """ Get a time object :example datetime.time(15, 56, 56, 772876) @@ -1480,98 +1915,103 @@ def time_object(self, end_datetime=None): return self.date_time(end_datetime=end_datetime).time() @classmethod - def _parse_start_datetime(cls, value): + def _parse_start_datetime(cls, value: Optional[DateParseType]) -> int: if value is None: return 0 return cls._parse_date_time(value) @classmethod - def _parse_end_datetime(cls, value): + def _parse_end_datetime(cls, value: Optional[DateParseType]) -> int: if value is None: return datetime_to_timestamp(datetime.now()) return cls._parse_date_time(value) @classmethod - def _parse_date_string(cls, value): + def _parse_date_string(cls, value: str) -> Dict[str, float]: parts = cls.regex.match(value) if not parts: - raise ParseError("Can't parse date string `{}`.".format(value)) + raise ParseError(f"Can't parse date string `{value}`") parts = parts.groupdict() - time_params = {} + time_params: Dict[str, float] = {} for (name_, param_) in parts.items(): if param_: time_params[name_] = int(param_) - if 'years' in time_params: - if 'days' not in time_params: - time_params['days'] = 0 - time_params['days'] += 365.24 * time_params.pop('years') - if 'months' in time_params: - if 'days' not in time_params: - time_params['days'] = 0 - time_params['days'] += 30.42 * time_params.pop('months') + if "years" in time_params: + if "days" not in time_params: + time_params["days"] = 0 + time_params["days"] += 365.24 * time_params.pop("years") + if "months" in time_params: + if "days" not in time_params: + time_params["days"] = 0 + time_params["days"] += 30.42 * time_params.pop("months") if not time_params: - raise ParseError("Can't parse date string `{}`.".format(value)) + raise ParseError(f"Can't parse date string `{value}`") return time_params @classmethod - def _parse_timedelta(cls, value): + def _parse_timedelta(cls, value: Union[timedelta, str, float]) -> Union[float, int]: if isinstance(value, timedelta): return value.total_seconds() if isinstance(value, str): time_params = cls._parse_date_string(value) - return timedelta(**time_params).total_seconds() + return timedelta(**time_params).total_seconds() # type: ignore if isinstance(value, (int, float)): return value - raise ParseError("Invalid format for timedelta '{}'".format(value)) + raise ParseError(f"Invalid format for timedelta {value!r}") @classmethod - def _parse_date_time(cls, value, tzinfo=None): - if isinstance(value, (datetime, date)): + def _parse_date_time(cls, value: DateParseType, tzinfo: Optional[TzInfo] = None) -> int: + if isinstance(value, (datetime, dtdate)): return datetime_to_timestamp(value) now = datetime.now(tzinfo) if isinstance(value, timedelta): return datetime_to_timestamp(now + value) if isinstance(value, str): - if value == 'now': + if value == "now": return datetime_to_timestamp(datetime.now(tzinfo)) time_params = cls._parse_date_string(value) - return datetime_to_timestamp(now + timedelta(**time_params)) + return datetime_to_timestamp(now + timedelta(**time_params)) # type: ignore if isinstance(value, int): return datetime_to_timestamp(now + timedelta(value)) - raise ParseError("Invalid format for date '{}'".format(value)) + raise ParseError(f"Invalid format for date {value!r}") @classmethod - def _parse_date(cls, value): + def _parse_date(cls, value: DateParseType) -> dtdate: if isinstance(value, datetime): return value.date() - elif isinstance(value, date): + elif isinstance(value, dtdate): return value - today = date.today() + today = dtdate.today() if isinstance(value, timedelta): return today + value if isinstance(value, str): - if value in ('today', 'now'): + if value in ("today", "now"): return today time_params = cls._parse_date_string(value) - return today + timedelta(**time_params) + return today + timedelta(**time_params) # type: ignore if isinstance(value, int): return today + timedelta(value) - raise ParseError("Invalid format for date '{}'".format(value)) - - def date_time_between(self, start_date='-30y', end_date='now', tzinfo=None): + raise ParseError(f"Invalid format for date {value!r}") + + def date_time_between( + self, + start_date: DateParseType = "-30y", + end_date: DateParseType = "now", + tzinfo: Optional[TzInfo] = None, + ) -> datetime: """ - Get a DateTime object based on a random date between two given dates. + Get a datetime object based on a random date between two given dates. Accepts date strings that can be recognized by strtotime(). :param start_date Defaults to 30 years ago :param end_date Defaults to "now" :param tzinfo: timezone, instance of datetime.tzinfo subclass - :example DateTime('1999-02-02 11:42:52') - :return DateTime + :example datetime('1999-02-02 11:42:52') + :return datetime """ start_date = self._parse_date_time(start_date, tzinfo=tzinfo) end_date = self._parse_date_time(end_date, tzinfo=tzinfo) @@ -1582,11 +2022,9 @@ def date_time_between(self, start_date='-30y', end_date='now', tzinfo=None): if tzinfo is None: return datetime(1970, 1, 1, tzinfo=tzinfo) + timedelta(seconds=ts) else: - return ( - datetime(1970, 1, 1, tzinfo=tzutc()) + timedelta(seconds=ts) - ).astimezone(tzinfo) + return (datetime(1970, 1, 1, tzinfo=tzutc()) + timedelta(seconds=ts)).astimezone(tzinfo) - def date_between(self, start_date='-30y', end_date='today'): + def date_between(self, start_date: DateParseType = "-30y", end_date: DateParseType = "today") -> dtdate: """ Get a Date object based on a random date between two given dates. Accepts date strings that can be recognized by strtotime(). @@ -1601,22 +2039,20 @@ def date_between(self, start_date='-30y', end_date='today'): end_date = self._parse_date(end_date) return self.date_between_dates(date_start=start_date, date_end=end_date) - def future_datetime(self, end_date='+30d', tzinfo=None): + def future_datetime(self, end_date: DateParseType = "+30d", tzinfo: Optional[TzInfo] = None) -> datetime: """ - Get a DateTime object based on a random date between 1 second form now + Get a datetime object based on a random date between 1 second form now and a given date. Accepts date strings that can be recognized by strtotime(). :param end_date Defaults to "+30d" :param tzinfo: timezone, instance of datetime.tzinfo subclass - :example DateTime('1999-02-02 11:42:52') - :return DateTime + :example datetime('1999-02-02 11:42:52') + :return datetime """ - return self.date_time_between( - start_date='+1s', end_date=end_date, tzinfo=tzinfo, - ) + return self.date_time_between(start_date="+1s", end_date=end_date, tzinfo=tzinfo) - def future_date(self, end_date='+30d', tzinfo=None): + def future_date(self, end_date: DateParseType = "+30d", tzinfo: Optional[TzInfo] = None) -> dtdate: """ Get a Date object based on a random date between 1 day from now and a given date. @@ -1624,27 +2060,25 @@ def future_date(self, end_date='+30d', tzinfo=None): :param end_date Defaults to "+30d" :param tzinfo: timezone, instance of datetime.tzinfo subclass - :example DateTime('1999-02-02 11:42:52') - :return DateTime + :example dtdate('2030-01-01') + :return dtdate """ - return self.date_between(start_date='+1d', end_date=end_date) + return self.date_between(start_date="+1d", end_date=end_date) - def past_datetime(self, start_date='-30d', tzinfo=None): + def past_datetime(self, start_date: DateParseType = "-30d", tzinfo: Optional[TzInfo] = None) -> datetime: """ - Get a DateTime object based on a random date between a given date and 1 + Get a datetime object based on a random date between a given date and 1 second ago. Accepts date strings that can be recognized by strtotime(). :param start_date Defaults to "-30d" :param tzinfo: timezone, instance of datetime.tzinfo subclass - :example DateTime('1999-02-02 11:42:52') - :return DateTime + :example datetime('1999-02-02 11:42:52') + :return datetime """ - return self.date_time_between( - start_date=start_date, end_date='-1s', tzinfo=tzinfo, - ) + return self.date_time_between(start_date=start_date, end_date="-1s", tzinfo=tzinfo) - def past_date(self, start_date='-30d', tzinfo=None): + def past_date(self, start_date: DateParseType = "-30d", tzinfo: Optional[TzInfo] = None) -> dtdate: """ Get a Date object based on a random date between a given date and 1 day ago. @@ -1652,41 +2086,45 @@ def past_date(self, start_date='-30d', tzinfo=None): :param start_date Defaults to "-30d" :param tzinfo: timezone, instance of datetime.tzinfo subclass - :example DateTime('1999-02-02 11:42:52') - :return DateTime + :example dtdate('1999-02-02') + :return dtdate """ - return self.date_between(start_date=start_date, end_date='-1d') + return self.date_between(start_date=start_date, end_date="-1d") def date_time_between_dates( - self, - datetime_start=None, - datetime_end=None, - tzinfo=None): + self, + datetime_start: Optional[DateParseType] = None, + datetime_end: Optional[DateParseType] = None, + tzinfo: Optional[TzInfo] = None, + ) -> datetime: """ - Takes two DateTime objects and returns a random datetime between the two + Takes two datetime objects and returns a random datetime between the two given datetimes. - Accepts DateTime objects. + Accepts datetime objects. - :param datetime_start: DateTime - :param datetime_end: DateTime + :param datetime_start: datetime + :param datetime_end: datetime :param tzinfo: timezone, instance of datetime.tzinfo subclass - :example DateTime('1999-02-02 11:42:52') - :return DateTime + :example datetime('1999-02-02 11:42:52') + :return datetime """ - if datetime_start is None: - datetime_start = datetime.now(tzinfo) - - if datetime_end is None: - datetime_end = datetime.now(tzinfo) - - timestamp = self.generator.random.randint( - datetime_to_timestamp(datetime_start), - datetime_to_timestamp(datetime_end), + datetime_start_ = ( + datetime_to_timestamp(datetime.now(tzinfo)) + if datetime_start is None + else self._parse_date_time(datetime_start) + ) + datetime_end_ = ( + datetime_to_timestamp(datetime.now(tzinfo)) if datetime_end is None else self._parse_date_time(datetime_end) ) + + timestamp = self.generator.random.randint(datetime_start_, datetime_end_) try: if tzinfo is None: - pick = datetime.fromtimestamp(timestamp, tzlocal()) - pick = pick.astimezone(tzutc()).replace(tzinfo=None) + pick = convert_timestamp_to_datetime(timestamp, tzlocal()) + try: + pick = pick.astimezone(tzutc()).replace(tzinfo=None) + except OSError: + pass else: pick = datetime.fromtimestamp(timestamp, tzinfo) except OverflowError: @@ -1696,10 +2134,14 @@ def date_time_between_dates( ) return pick - def date_between_dates(self, date_start=None, date_end=None): + def date_between_dates( + self, + date_start: Optional[DateParseType] = None, + date_end: Optional[DateParseType] = None, + ) -> dtdate: """ Takes two Date objects and returns a random date between the two given dates. - Accepts Date or Datetime objects + Accepts Date or datetime objects :param date_start: Date :param date_end: Date @@ -1708,28 +2150,26 @@ def date_between_dates(self, date_start=None, date_end=None): return self.date_time_between_dates(date_start, date_end).date() def date_time_this_century( - self, - before_now=True, - after_now=False, - tzinfo=None): + self, + before_now: bool = True, + after_now: bool = False, + tzinfo: Optional[TzInfo] = None, + ) -> datetime: """ - Gets a DateTime object for the current century. + Gets a datetime object for the current century. :param before_now: include days in current century before today :param after_now: include days in current century after today :param tzinfo: timezone, instance of datetime.tzinfo subclass - :example DateTime('2012-04-04 11:02:02') - :return DateTime + :example datetime('2012-04-04 11:02:02') + :return datetime """ now = datetime.now(tzinfo) - this_century_start = datetime( - now.year - (now.year % 100), 1, 1, tzinfo=tzinfo) - next_century_start = datetime( - min(this_century_start.year + 100, MAXYEAR), 1, 1, tzinfo=tzinfo) + this_century_start = datetime(now.year - (now.year % 100), 1, 1, tzinfo=tzinfo) + next_century_start = datetime(min(this_century_start.year + 100, MAXYEAR), 1, 1, tzinfo=tzinfo) if before_now and after_now: - return self.date_time_between_dates( - this_century_start, next_century_start, tzinfo) + return self.date_time_between_dates(this_century_start, next_century_start, tzinfo) elif not before_now and after_now: return self.date_time_between_dates(now, next_century_start, tzinfo) elif not after_now and before_now: @@ -1738,28 +2178,26 @@ def date_time_this_century( return now def date_time_this_decade( - self, - before_now=True, - after_now=False, - tzinfo=None): + self, + before_now: bool = True, + after_now: bool = False, + tzinfo: Optional[TzInfo] = None, + ) -> datetime: """ - Gets a DateTime object for the decade year. + Gets a datetime object for the decade year. :param before_now: include days in current decade before today :param after_now: include days in current decade after today :param tzinfo: timezone, instance of datetime.tzinfo subclass - :example DateTime('2012-04-04 11:02:02') - :return DateTime + :example datetime('2012-04-04 11:02:02') + :return datetime """ now = datetime.now(tzinfo) - this_decade_start = datetime( - now.year - (now.year % 10), 1, 1, tzinfo=tzinfo) - next_decade_start = datetime( - min(this_decade_start.year + 10, MAXYEAR), 1, 1, tzinfo=tzinfo) + this_decade_start = datetime(now.year - (now.year % 10), 1, 1, tzinfo=tzinfo) + next_decade_start = datetime(min(this_decade_start.year + 10, MAXYEAR), 1, 1, tzinfo=tzinfo) if before_now and after_now: - return self.date_time_between_dates( - this_decade_start, next_decade_start, tzinfo) + return self.date_time_between_dates(this_decade_start, next_decade_start, tzinfo) elif not before_now and after_now: return self.date_time_between_dates(now, next_decade_start, tzinfo) elif not after_now and before_now: @@ -1768,27 +2206,26 @@ def date_time_this_decade( return now def date_time_this_year( - self, - before_now=True, - after_now=False, - tzinfo=None): + self, + before_now: bool = True, + after_now: bool = False, + tzinfo: Optional[TzInfo] = None, + ) -> datetime: """ - Gets a DateTime object for the current year. + Gets a datetime object for the current year. :param before_now: include days in current year before today :param after_now: include days in current year after today :param tzinfo: timezone, instance of datetime.tzinfo subclass - :example DateTime('2012-04-04 11:02:02') - :return DateTime + :example datetime('2012-04-04 11:02:02') + :return datetime """ now = datetime.now(tzinfo) - this_year_start = now.replace( - month=1, day=1, hour=0, minute=0, second=0, microsecond=0) + this_year_start = now.replace(month=1, day=1, hour=0, minute=0, second=0, microsecond=0) next_year_start = datetime(now.year + 1, 1, 1, tzinfo=tzinfo) if before_now and after_now: - return self.date_time_between_dates( - this_year_start, next_year_start, tzinfo) + return self.date_time_between_dates(this_year_start, next_year_start, tzinfo) elif not before_now and after_now: return self.date_time_between_dates(now, next_year_start, tzinfo) elif not after_now and before_now: @@ -1797,28 +2234,26 @@ def date_time_this_year( return now def date_time_this_month( - self, - before_now=True, - after_now=False, - tzinfo=None): + self, + before_now: bool = True, + after_now: bool = False, + tzinfo: Optional[TzInfo] = None, + ) -> datetime: """ - Gets a DateTime object for the current month. + Gets a datetime object for the current month. :param before_now: include days in current month before today :param after_now: include days in current month after today :param tzinfo: timezone, instance of datetime.tzinfo subclass - :example DateTime('2012-04-04 11:02:02') - :return DateTime + :example datetime('2012-04-04 11:02:02') + :return datetime """ now = datetime.now(tzinfo) - this_month_start = now.replace( - day=1, hour=0, minute=0, second=0, microsecond=0) + this_month_start = now.replace(day=1, hour=0, minute=0, second=0, microsecond=0) - next_month_start = this_month_start + \ - relativedelta.relativedelta(months=1) + next_month_start = this_month_start + relativedelta.relativedelta(months=1) if before_now and after_now: - return self.date_time_between_dates( - this_month_start, next_month_start, tzinfo) + return self.date_time_between_dates(this_month_start, next_month_start, tzinfo) elif not before_now and after_now: return self.date_time_between_dates(now, next_month_start, tzinfo) elif not after_now and before_now: @@ -1826,7 +2261,7 @@ def date_time_this_month( else: return now - def date_this_century(self, before_today=True, after_today=False): + def date_this_century(self, before_today: bool = True, after_today: bool = False) -> dtdate: """ Gets a Date object for the current century. @@ -1835,13 +2270,12 @@ def date_this_century(self, before_today=True, after_today=False): :example Date('2012-04-04') :return Date """ - today = date.today() - this_century_start = date(today.year - (today.year % 100), 1, 1) - next_century_start = date(this_century_start.year + 100, 1, 1) + today = dtdate.today() + this_century_start = dtdate(today.year - (today.year % 100), 1, 1) + next_century_start = dtdate(this_century_start.year + 100, 1, 1) if before_today and after_today: - return self.date_between_dates( - this_century_start, next_century_start) + return self.date_between_dates(this_century_start, next_century_start) elif not before_today and after_today: return self.date_between_dates(today, next_century_start) elif not after_today and before_today: @@ -1849,7 +2283,7 @@ def date_this_century(self, before_today=True, after_today=False): else: return today - def date_this_decade(self, before_today=True, after_today=False): + def date_this_decade(self, before_today: bool = True, after_today: bool = False) -> dtdate: """ Gets a Date object for the decade year. @@ -1858,9 +2292,9 @@ def date_this_decade(self, before_today=True, after_today=False): :example Date('2012-04-04') :return Date """ - today = date.today() - this_decade_start = date(today.year - (today.year % 10), 1, 1) - next_decade_start = date(this_decade_start.year + 10, 1, 1) + today = dtdate.today() + this_decade_start = dtdate(today.year - (today.year % 10), 1, 1) + next_decade_start = dtdate(this_decade_start.year + 10, 1, 1) if before_today and after_today: return self.date_between_dates(this_decade_start, next_decade_start) @@ -1871,7 +2305,7 @@ def date_this_decade(self, before_today=True, after_today=False): else: return today - def date_this_year(self, before_today=True, after_today=False): + def date_this_year(self, before_today: bool = True, after_today: bool = False) -> dtdate: """ Gets a Date object for the current year. @@ -1880,9 +2314,9 @@ def date_this_year(self, before_today=True, after_today=False): :example Date('2012-04-04') :return Date """ - today = date.today() + today = dtdate.today() this_year_start = today.replace(month=1, day=1) - next_year_start = date(today.year + 1, 1, 1) + next_year_start = dtdate(today.year + 1, 1, 1) if before_today and after_today: return self.date_between_dates(this_year_start, next_year_start) @@ -1893,21 +2327,19 @@ def date_this_year(self, before_today=True, after_today=False): else: return today - def date_this_month(self, before_today=True, after_today=False): + def date_this_month(self, before_today: bool = True, after_today: bool = False) -> dtdate: """ Gets a Date object for the current month. :param before_today: include days in current month before today :param after_today: include days in current month after today - :param tzinfo: timezone, instance of datetime.tzinfo subclass - :example DateTime('2012-04-04 11:02:02') - :return DateTime + :example dtdate('2012-04-04') + :return dtdate """ - today = date.today() + today = dtdate.today() this_month_start = today.replace(day=1) - next_month_start = this_month_start + \ - relativedelta.relativedelta(months=1) + next_month_start = this_month_start + relativedelta.relativedelta(months=1) if before_today and after_today: return self.date_between_dates(this_month_start, next_month_start) elif not before_today and after_today: @@ -1918,12 +2350,13 @@ def date_this_month(self, before_today=True, after_today=False): return today def time_series( - self, - start_date='-30d', - end_date='now', - precision=None, - distrib=None, - tzinfo=None): + self, + start_date: DateParseType = "-30d", + end_date: DateParseType = "now", + precision: Optional[float] = None, + distrib: Optional[Callable[[datetime], float]] = None, + tzinfo: Optional[TzInfo] = None, + ) -> Iterator[Tuple[datetime, Any]]: """ Returns a generator yielding tuples of ``(, )``. @@ -1932,58 +2365,55 @@ def time_series( ``distrib`` is a callable that accepts ```` and returns ```` """ - start_date = self._parse_date_time(start_date, tzinfo=tzinfo) - end_date = self._parse_date_time(end_date, tzinfo=tzinfo) + start_date_ = self._parse_date_time(start_date, tzinfo=tzinfo) + end_date_ = self._parse_date_time(end_date, tzinfo=tzinfo) - if end_date < start_date: + if end_date_ < start_date_: raise ValueError("`end_date` must be greater than `start_date`.") - if precision is None: - precision = (end_date - start_date) / 30 - - precision = self._parse_timedelta(precision) + precision_ = self._parse_timedelta((end_date_ - start_date_) / 30 if precision is None else precision) if distrib is None: - def distrib(dt): return self.generator.random.uniform(0, precision) # noqa + + def distrib(dt): + return self.generator.random.uniform(0, precision_) # noqa if not callable(distrib): - raise ValueError( - "`distrib` must be a callable. Got {} instead.".format(distrib)) + raise ValueError(f"`distrib` must be a callable. Got {distrib} instead.") - datapoint = start_date - while datapoint < end_date: + datapoint: Union[float, int] = start_date_ + while datapoint < end_date_: dt = timestamp_to_datetime(datapoint, tzinfo) - datapoint += precision + datapoint += precision_ yield (dt, distrib(dt)) - def am_pm(self): - return self.date('%p') + def am_pm(self) -> str: + return self.date("%p") - def day_of_month(self): - return self.date('%d') + def day_of_month(self) -> str: + return self.date("%d") - def day_of_week(self): - return self.date('%A') + def day_of_week(self) -> str: + return self.date("%A") - def month(self): - return self.date('%m') + def month(self) -> str: + return self.date("%m") - def month_name(self): - return self.date('%B') + def month_name(self) -> str: + return self.date("%B") - def year(self): - return self.date('%Y') + def year(self) -> str: + return self.date("%Y") - def century(self): + def century(self) -> str: """ :example 'XVII' """ return self.random_element(self.centuries) - def timezone(self): - return self.generator.random.choice( - self.random_element(self.countries)['timezones']) + def timezone(self) -> str: + return self.generator.random.choice(self.random_element(self.countries)["timezones"]) # type: ignore - def pytimezone(self, *args, **kwargs): + def pytimezone(self, *args: Any, **kwargs: Any) -> Optional[TzInfo]: """ Generate a random timezone (see `faker.timezone` for any args) and return as a python object usable as a `tzinfo` to `datetime` @@ -1992,9 +2422,14 @@ def pytimezone(self, *args, **kwargs): :example faker.pytimezone() :return dateutil.tz.tz.tzfile """ - return gettz(self.timezone(*args, **kwargs)) - - def date_of_birth(self, tzinfo=None, minimum_age=0, maximum_age=115): + return gettz(self.timezone(*args, **kwargs)) # type: ignore + + def date_of_birth( + self, + tzinfo: Optional[TzInfo] = None, + minimum_age: int = 0, + maximum_age: int = 115, + ) -> dtdate: """ Generate a random date of birth represented as a Date object, constrained by optional miminimum_age and maximum_age @@ -2014,13 +2449,13 @@ def date_of_birth(self, tzinfo=None, minimum_age=0, maximum_age=115): if not isinstance(maximum_age, int): raise TypeError("maximum_age must be an integer.") - if (maximum_age < 0): + if maximum_age < 0: raise ValueError("maximum_age must be greater than or equal to zero.") - if (minimum_age < 0): + if minimum_age < 0: raise ValueError("minimum_age must be greater than or equal to zero.") - if (minimum_age > maximum_age): + if minimum_age > maximum_age: raise ValueError("minimum_age must be less than or equal to maximum_age.") # In order to return the full range of possible dates of birth, add one @@ -2034,3 +2469,12 @@ def date_of_birth(self, tzinfo=None, minimum_age=0, maximum_age=115): dob = self.date_time_ad(tzinfo=tzinfo, start_datetime=start_date, end_datetime=end_date).date() return dob if dob != start_date else dob + timedelta(days=1) + + +def convert_timestamp_to_datetime(timestamp: Union[int, float], tzinfo: TzInfo) -> datetime: + import datetime as dt + + if timestamp >= 0: + return dt.datetime.fromtimestamp(timestamp, tzinfo) + else: + return dt.datetime(1970, 1, 1, tzinfo=tzinfo) + dt.timedelta(seconds=int(timestamp)) diff --git a/faker/providers/date_time/ar_AA/__init__.py b/faker/providers/date_time/ar_AA/__init__.py index 19d32938d2..4520ad1de8 100644 --- a/faker/providers/date_time/ar_AA/__init__.py +++ b/faker/providers/date_time/ar_AA/__init__.py @@ -3,1152 +3,1568 @@ class Provider(DateTimeProvider): DAY_NAMES = { - '0': 'السبت', - '1': 'الأحد', - '2': 'الإثنين', - '3': 'الثلاثاء', - '4': 'الأربعاء', - '5': 'الخميس', - '6': 'الجمعة', + "0": "السبت", + "1": "الأحد", + "2": "الإثنين", + "3": "الثلاثاء", + "4": "الأربعاء", + "5": "الخميس", + "6": "الجمعة", } MONTH_NAMES = { - '01': 'كانون الثّاني', - '02': 'شباط', - '03': 'آذار', - '04': 'نيسان', - '05': 'أيّار', - '06': 'حزيران', - '07': 'تمّوز', - '08': 'آب', - '09': 'أيلول', - '10': 'تشرين الأول', - '11': 'تشرين الثاني', - '12': 'كانون الأول', + "01": "كانون الثّاني", + "02": "شباط", + "03": "آذار", + "04": "نيسان", + "05": "أيّار", + "06": "حزيران", + "07": "تمّوز", + "08": "آب", + "09": "أيلول", + "10": "تشرين الأول", + "11": "تشرين الثاني", + "12": "كانون الأول", } centuries = [ - 'الأول', 'الثاني', 'الثالث', 'الرابع', 'الخامس', 'السادس', - 'السابع', 'الثامن', 'التاسع', 'العاشر', 'الحادي عشر', - 'الثاني عشر', 'الثالث عشر', 'الرابع عشر', 'الخامس عشر', - 'السادس عشر', 'الثامن عشر', 'التاسع عشر', 'العشرين', - 'الحادي والعشرين', 'الثاني والعشرين', + "الأول", + "الثاني", + "الثالث", + "الرابع", + "الخامس", + "السادس", + "السابع", + "الثامن", + "التاسع", + "العاشر", + "الحادي عشر", + "الثاني عشر", + "الثالث عشر", + "الرابع عشر", + "الخامس عشر", + "السادس عشر", + "الثامن عشر", + "التاسع عشر", + "العشرين", + "الحادي والعشرين", + "الثاني والعشرين", ] - countries = [{'timezones': ['أوروب/أندورا'], - 'alpha-2-code': 'AD', - 'continent': 'أوروبا', - 'name': 'أندورا', - 'capital': 'أندورا لا فيلا'}, - {'timezones': ['آسيا/كابل'], - 'alpha-2-code': 'AF', - 'continent': 'آسيا', - 'name': 'أفغانستان', - 'capital': 'كابل'}, - {'timezones': ['أمريكا/أنتيغوا'], - 'alpha-2-code': 'AG', - 'continent': 'أمريكا الشمالية', - 'name': 'أنتيغوا وباربودا', - 'capital': "سانت جونز"}, - {'timezones': ['أوروبا/تيرانا'], - 'alpha-2-code': 'AL', - 'continent': 'أوروبا', - 'name': 'ألبانيا', - 'capital': 'تيرانا'}, - {'timezones': ['آسيا/يريفان'], - 'alpha-2-code': 'AM', - 'continent': 'آسيا', - 'name': 'أرمينيا', - 'capital': 'يريفان'}, - {'timezones': ['إفريقيا/لواندا'], - 'alpha-2-code': 'AO', - 'continent': 'إفريقيا', - 'name': 'أنغولا', - 'capital': 'لواندا'}, - {'timezones': ['أمريكا/الأرجنتين/بوينس_آيرس', - 'أمريكا/الأرجنتين/Cordoba', - 'أمريكا/الأرجنتين/خوخوي', - 'أمريكا/الأرجنتين/توكومان', - 'أمريكا/الأرجنتين/كاتاماركا', - 'أمريكا/الأرجنتين/لا_ريوخا', - 'أمريكا/الأرجنتين/سان_خوان', - 'أمريكا/الأرجنتين/مندوزا', - 'أمريكا/الأرجنتين/ريو_غاليغوس', - 'أمريكا/الأرجنتين/أوشوايا'], - 'alpha-2-code': 'AR', - 'continent': 'أمريكا الجنوبية', - 'name': 'الأرجنتين', - 'capital': 'بوينس آيرس'}, - {'timezones': ['أوروبا/النمسا'], - 'alpha-2-code': 'AT', - 'continent': 'أوروبا', - 'name': 'النمسا', - 'capital': 'فيينا'}, - {'timezones': ['أستراليا/لورد_هاو', - 'أستراليا/هوبارت', - 'أستراليا/كري', - 'أستراليا/ملبورن', - 'أستراليا/سدني', - 'أستراليا/بروكن_هل', - 'أستراليا/بريزبن', - 'أستراليا/ليندمان', - 'أستراليا/أديلايد', - 'أستراليا/داروين', - 'أستراليا/برث'], - 'alpha-2-code': 'AU', - 'continent': 'أوقيانوسيا', - 'name': 'أستراليا', - 'capital': 'كانبرا'}, - {'timezones': ['آسيا/باكو'], - 'alpha-2-code': 'AZ', - 'continent': 'آسيا', - 'name': 'أذربيجان', - 'capital': 'باكو'}, - {'timezones': ['أمريكا/باربادوس'], - 'alpha-2-code': 'BB', - 'continent': 'أمريكا الشمالية', - 'name': 'باربادوس', - 'capital': 'بريدج تاون'}, - {'timezones': ['آسيا/دكا'], - 'alpha-2-code': 'BD', - 'continent': 'آسيا', - 'name': 'بنغلادش', - 'capital': 'دكا'}, - {'timezones': ['أوروبا/بروكسل'], - 'alpha-2-code': 'BE', - 'continent': 'أوروبا', - 'name': 'بلجيكا', - 'capital': 'بروكسل'}, - {'timezones': ['إفريقيا/واغادوغو'], - 'alpha-2-code': 'BF', - 'continent': 'إفريقيا', - 'name': 'بوركينا فاسو', - 'capital': 'واغادوغو'}, - {'timezones': ['أوروبا/صوفيا'], - 'alpha-2-code': 'BG', - 'continent': 'أوروبا', - 'name': 'بلغاريا', - 'capital': 'صوفيا'}, - {'timezones': ['آسيا/البحرين'], - 'alpha-2-code': 'BH', - 'continent': 'آسيا', - 'name': 'البحرين', - 'capital': 'المنامة'}, - {'timezones': ['إفريقيا/بوجمبورا'], - 'alpha-2-code': 'BI', - 'continent': 'إفريقيا', - 'name': 'بوروندي', - 'capital': 'بوجمبورا'}, - {'timezones': ['إفريقيا/بورتو نوفو'], - 'alpha-2-code': 'BJ', - 'continent': 'إفريقيا', - 'name': 'بنين', - 'capital': 'بورتو نوفو'}, - {'timezones': ['آسيا/بروناي'], - 'alpha-2-code': 'BN', - 'continent': 'آسيا', - 'name': 'اتحاد بروناي (دار السلام)', - 'capital': 'بندر سري بكاوان'}, - {'timezones': ['أمريكا/لاباز'], - 'alpha-2-code': 'BO', - 'continent': 'أمريكا الجنوبية', - 'name': 'بوليفيا', - 'capital': 'سوكري'}, - {'timezones': ['أمريكا/نورونها', - 'أمريكا/بليم', - 'أمريكا/فورتاليزا', - 'أمريكا/ريسيفي', - 'أمريكا/أراغوينا', - 'أمريكا/ماسايو', - 'أمريكا/باهيا', - 'أمريكا/ساو_باولو', - 'أمريكا/كامبو_غراندي', - 'أمريكا/كويابا', - 'أمريكا/بورتو_فاليو', - 'أمريكا/بوا_فيستا', - 'أمريكا/ماناوس', - 'أمريكا/إيرونيبي', - 'أمريكا/ريو_برانكو'], - 'alpha-2-code': 'BR', - 'continent': 'أمريكا الجنوبية', - 'name': 'البرازيل', - 'capital': 'برازيليا'}, - {'timezones': ['أمريكا/ناساو'], - 'alpha-2-code': 'BS', - 'continent': 'أمريكا الشمالية', - 'name': 'باهاماس', - 'capital': 'ناساو'}, - {'timezones': ['آسيا/تيمفو'], - 'alpha-2-code': 'BT', - 'continent': 'آسيا', - 'name': 'بوتان', - 'capital': 'تيمفو'}, - {'timezones': ['إفريقيا/غابورون'], - 'alpha-2-code': 'BW', - 'continent': 'إفريقيا', - 'name': 'بوتسوانا', - 'capital': 'غابورون'}, - {'timezones': ['أوروبا/مينسك'], - 'alpha-2-code': 'BY', - 'continent': 'أوروبا', - 'name': 'روسيا البيضاء', - 'capital': 'مينسك'}, - {'timezones': ['أمريكا/بليز'], - 'alpha-2-code': 'BZ', - 'continent': 'أمريكا الشمالية', - 'name': 'بليز', - 'capital': 'بلموبان'}, - {'timezones': ['أمريكا/سينت_جونز', - 'أمريكا/هاليفاكس', - 'أمريكا/جليس_باي', - 'أمريكا/مونكتون', - 'أمريكا/جووس_باي', - 'أمريكا/بلانك_سابلون', - 'أمريكا/مونتريال', - 'أمريكا/تورونتو', - 'أمريكا/نيبيغون', - 'أمريكا/ثاندر_باي', - 'أمريكا/بانغيرتانغ', - 'أمريكا/إيكواليوت', - 'أمريكا/أتيكوكان', - 'أمريكا/رانكن_إنلت', - 'أمريكا/وينيبيغ', - 'أمريكا/رايني_ريفر', - 'أمريكا/كامبريدج_باي', - 'أمريكا/ريجينا', - 'أمريكا/سويفت_كارنت', - 'أمريكا/إدمونتون', - 'أمريكا/يلو_نايف', - 'أمريكا/إنوفك', - 'أمريكا/دوسن_كريك', - 'أمريكا/فانكوفر', - 'أمريكا/وايت_هورس', - 'أمريكا/داوسون'], - 'alpha-2-code': 'CA', - 'continent': 'أمريكا الشمالية', - 'name': 'كندا', - 'capital': 'أوتاوا'}, - {'timezones': ['إفريقيا/كينشاسا', - 'إفريقيا/لوبومباشي'], - 'alpha-2-code': 'CD', - 'continent': 'إفريقيا', - 'name': 'جمهورية الكونغو الديمقراطية', - 'capital': 'كينشاسا'}, - {'timezones': ['إفريقيا/برازافيل'], - 'alpha-2-code': 'CG', - 'continent': 'إفريقيا', - 'name': 'جمهورية الكونغو', - 'capital': 'برازافيل'}, - {'timezones': ['إفريقيا/أبيدجان'], - 'alpha-2-code': 'CI', - 'continent': 'إفريقيا', - 'name': "ساحل العاج", - 'capital': 'ياموسوكرو'}, - {'timezones': ['أمريكا/سانتياغو', - 'المحيط_الهاديء/جزيرة_القيامة'], - 'alpha-2-code': 'CL', - 'continent': 'أمريكا الجنوبية', - 'name': 'تشيلي', - 'capital': 'سانتياغو'}, - {'timezones': ['إفريقيا/دوالا'], - 'alpha-2-code': 'CM', - 'continent': 'إفريقيا', - 'name': 'الكاميرون', - 'capital': 'ياوندي'}, - {'timezones': ['آسيا/شانغهاي', - 'آسيا/هاربن', - 'آسيا/تشونغتشينغ', - 'آسيا/أورومتشي', - 'آسيا/كاشغر'], - 'alpha-2-code': 'CN', - 'continent': 'آسيا', - 'name': "جمهورية الصين الشعبية", - 'capital': 'بكين'}, - {'timezones': ['أمريكا/بوغوتا'], - 'alpha-2-code': 'CO', - 'continent': 'أمريكا الجنوبية', - 'name': 'كولومبيا', - 'capital': 'بوغوتا'}, - {'timezones': ['أمريكا/كوستاريكا'], - 'alpha-2-code': 'CR', - 'continent': 'أمريكا الشمالية', - 'name': 'كوستاريكا', - 'capital': 'سان خوسيه'}, - {'timezones': ['أمريكا/هافانا'], - 'alpha-2-code': 'CU', - 'continent': 'أمريكا الشمالية', - 'name': 'كوبا', - 'capital': 'هافانا'}, - {'timezones': ['الأطلنطي/الرأس_الأخضر'], - 'alpha-2-code': 'CV', - 'continent': 'إفريقيا', - 'name': 'جمهورية الرأس الأخضر', - 'capital': 'برايا'}, - {'timezones': ['آسيا/نيقوسيا'], - 'alpha-2-code': 'CY', - 'continent': 'آسيا', - 'name': 'قبرص', - 'capital': 'نيقوسيا'}, - {'timezones': ['أوروبا/براغ'], - 'alpha-2-code': 'CZ', - 'continent': 'أوروبا', - 'name': 'جمهورية التشيك', - 'capital': 'براغ'}, - {'timezones': ['أوروبا/برلين'], - 'alpha-2-code': 'DE', - 'continent': 'أوروبا', - 'name': 'ألمانيا', - 'capital': 'برلين'}, - {'timezones': ['إفريقيا/جيبوتي'], - 'alpha-2-code': 'DJ', - 'continent': 'إفريقيا', - 'name': 'جيبوتي', - 'capital': 'جيبوتي'}, - {'timezones': ['أوروبا/كوبنهاغن'], - 'alpha-2-code': 'DK', - 'continent': 'أوروبا', - 'name': 'الدنمارك', - 'capital': 'كوبنهاغن'}, - {'timezones': ['أمريكا/دومينيكا'], - 'alpha-2-code': 'DM', - 'continent': 'أمريكا الشمالية', - 'name': 'دومينيكا', - 'capital': 'روسياو'}, - {'timezones': ['أمريكا/سانتو_دومينغو'], - 'alpha-2-code': 'DO', - 'continent': 'أمريكا الشمالية', - 'name': 'جمهورية الدومينيكان', - 'capital': 'سانتو دومينغو'}, - {'timezones': ['أمريكا/غواياكيل', - 'المحيط_الهاديء/أرخبيل_غالاباغوس'], - 'alpha-2-code': 'EC', - 'continent': 'أمريكا الجنوبية', - 'name': 'الإكوادور', - 'capital': 'كيتو'}, - {'timezones': ['أوروبا/تالين'], - 'alpha-2-code': 'EE', - 'continent': 'أوروبا', - 'name': 'إستونيا', - 'capital': 'تالين'}, - {'timezones': ['إفريقيا/القاهرة'], - 'alpha-2-code': 'EG', - 'continent': 'إفريقيا', - 'name': 'مصر', - 'capital': 'القاهرة'}, - {'timezones': ['إفريقيا/أسمرة'], - 'alpha-2-code': 'ER', - 'continent': 'إفريقيا', - 'name': 'إرتيريا', - 'capital': 'أسمرة'}, - {'timezones': ['إفريقيا/أديس أبابا'], - 'alpha-2-code': 'ET', - 'continent': 'إفريقيا', - 'name': 'إثيوبيا', - 'capital': 'أديس أبابا'}, - {'timezones': ['أوروبا/هلسنكي'], - 'alpha-2-code': 'FI', - 'continent': 'أوروبا', - 'name': 'فنلندا', - 'capital': 'هلسنكي'}, - {'timezones': ['المحيط_الهاديء/فيجي'], - 'alpha-2-code': 'FJ', - 'continent': 'أوقيانوسيا', - 'name': 'فيجي', - 'capital': 'سوفا'}, - {'timezones': ['أوروبا/باريس'], - 'alpha-2-code': 'FR', - 'continent': 'أوروبا', - 'name': 'فرنسا', - 'capital': 'باريس'}, - {'timezones': ['إفريقيا/ليبرفيل'], - 'alpha-2-code': 'GA', - 'continent': 'إفريقيا', - 'name': 'الغابون', - 'capital': 'ليبرفيل'}, - {'timezones': ['آسيا/تبليسي'], - 'alpha-2-code': 'GE', - 'continent': 'آسيا', - 'name': 'جورجيا', - 'capital': 'تبليسي'}, - {'timezones': ['إفريقيا/أكرا'], - 'alpha-2-code': 'GH', - 'continent': 'إفريقيا', - 'name': 'غانا', - 'capital': 'أكرا'}, - {'timezones': ['إفريقيا/بانجول'], - 'alpha-2-code': 'GM', - 'continent': 'إفريقيا', - 'name': 'غامبيا', - 'capital': 'بانجول'}, - {'timezones': ['إفريقيا/كوناكري'], - 'alpha-2-code': 'GN', - 'continent': 'إفريقيا', - 'name': 'غينيا', - 'capital': 'كوناكري'}, - {'timezones': ['أوروبا/أثينا'], - 'alpha-2-code': 'GR', - 'continent': 'أوروبا', - 'name': 'اليونان', - 'capital': 'أثينا'}, - {'timezones': ['أمريكا/غواتيمالا'], - 'alpha-2-code': 'GT', - 'continent': 'أمريكا الشمالية', - 'name': 'غواتيمالا', - 'capital': 'غواتيمالا سيتي'}, - {'timezones': ['أمريكا/غواتيمالا'], - 'alpha-2-code': 'GT', - 'continent': 'أمريكا الشمالية', - 'name': 'هايتي', - 'capital': 'بورت أو برانس'}, - {'timezones': ['إفريقيا/بيساو'], - 'alpha-2-code': 'GW', - 'continent': 'إفريقيا', - 'name': 'غينيا بيساو', - 'capital': 'بيساو'}, - {'timezones': ['أمريكا/غيانا'], - 'alpha-2-code': 'GY', - 'continent': 'أمريكا الجنوبية', - 'name': 'غيانا', - 'capital': 'جورج تاون'}, - {'timezones': ['أمريكا/تيجوسيجالبا'], - 'alpha-2-code': 'HN', - 'continent': 'أمريكا الشمالية', - 'name': 'هندوراس', - 'capital': 'تيجوسيجالبا'}, - {'timezones': ['أوروبا/بودابست'], - 'alpha-2-code': 'HU', - 'continent': 'أوروبا', - 'name': 'هنغاريا', - 'capital': 'بودابست'}, - {'timezones': ['آسيا/جاكرتا', - 'آسيا/بونتياناك', - 'آسيا/ماكاسار', - 'آسيا/جايابورا'], - 'alpha-2-code': 'ID', - 'continent': 'آسيا', - 'name': 'إندونسيا', - 'capital': 'جاكرتا'}, - {'timezones': ['أوروبا/دبلن'], - 'alpha-2-code': 'IE', - 'continent': 'أوروبا', - 'name': 'إيرلندا', - 'capital': 'دبلن'}, - {'timezones': ['آسيا/القدس'], - 'alpha-2-code': 'IL', - 'continent': 'آسيا', - 'name': 'فلسطين', - 'capital': 'القدس'}, - {'timezones': ['آسيا/كالكتا'], - 'alpha-2-code': 'IN', - 'continent': 'آسيا', - 'name': 'الهند', - 'capital': 'نيو دلهي'}, - {'timezones': ['آسيا/بغداد'], - 'alpha-2-code': 'IQ', - 'continent': 'آسيا', - 'name': 'العراق', - 'capital': 'بغداد'}, - {'timezones': ['آسيا/طهران'], - 'alpha-2-code': 'IR', - 'continent': 'آسيا', - 'name': 'إيران', - 'capital': 'طهران'}, - {'timezones': ['الأطلنطي/ريكيافيك'], - 'alpha-2-code': 'IS', - 'continent': 'أوروبا', - 'name': 'آيسلندا', - 'capital': 'ريكيافيك'}, - {'timezones': ['أوروبا/روما'], - 'alpha-2-code': 'IT', - 'continent': 'أوروبا', - 'name': 'إيطاليا', - 'capital': 'روما'}, - {'timezones': ['أمريكا/جامايكا'], - 'alpha-2-code': 'JM', - 'continent': 'أمريكا الشمالية', - 'name': 'جامايكا', - 'capital': 'كينغستون'}, - {'timezones': ['آسيا/عمّان'], - 'alpha-2-code': 'JO', - 'continent': 'آسيا', - 'name': 'الأردن', - 'capital': 'عمّان'}, - {'timezones': ['آسيا/طوكيو'], - 'alpha-2-code': 'JP', - 'continent': 'آسيا', - 'name': 'اليابان', - 'capital': 'طوكيو'}, - {'timezones': ['إفريقيا/نيروبي'], - 'alpha-2-code': 'KE', - 'continent': 'إفريقيا', - 'name': 'كينيا', - 'capital': 'نيروبي'}, - {'timezones': ['آسيا/بشكيك'], - 'alpha-2-code': 'KG', - 'continent': 'آسيا', - 'name': 'قيرغيزستان', - 'capital': 'بشكيك'}, - {'timezones': ['المحيط_الهاديء/تاراوا', - 'المحيط_الهاديء/إيديربيري', - 'المحيط_الهاديء/كريتيماتي'], - 'alpha-2-code': 'KI', - 'continent': 'أوقيانوسيا', - 'name': 'كيريباتي', - 'capital': 'جنوب تاراوا'}, - {'timezones': ['آسيا/بيونغ_يانغ'], - 'alpha-2-code': 'KP', - 'continent': 'آسيا', - 'name': 'كوريا الشمالية', - 'capital': 'بيونغ يانغ'}, - {'timezones': ['آسيا/سيؤول'], - 'alpha-2-code': 'KR', - 'continent': 'آسيا', - 'name': '؛كوريا الجنوبية', - 'capital': 'سيؤول'}, - {'timezones': ['آسيا/الكويت'], - 'alpha-2-code': 'KW', - 'continent': 'آسيا', - 'name': 'الكويت', - 'capital': 'الكويت'}, - {'timezones': ['آسيا/بيروت'], - 'alpha-2-code': 'LB', - 'continent': 'آسيا', - 'name': 'لبنان', - 'capital': 'بيروت'}, - {'timezones': ['أوروبا/فادوز'], - 'alpha-2-code': 'LI', - 'continent': 'أوروبا', - 'name': 'ليختنشتاين', - 'capital': 'فادوز'}, - {'timezones': ['إفريقيا/مونروفيا'], - 'alpha-2-code': 'LR', - 'continent': 'إفريقيا', - 'name': 'ليبيريا', - 'capital': 'مونروفيا'}, - {'timezones': ['إفريقيا/ماسيرو'], - 'alpha-2-code': 'LS', - 'continent': 'إفريقيا', - 'name': 'ليسوتو', - 'capital': 'ماسيرو'}, - {'timezones': ['أوروبا/فيلنيوس'], - 'alpha-2-code': 'LT', - 'continent': 'أوروبا', - 'name': 'ليتوانيا', - 'capital': 'فيلنيوس'}, - {'timezones': ['أوروبا/لوكسمبرغ'], - 'alpha-2-code': 'LU', - 'continent': 'أوروبا', - 'name': 'لوكسمبرغ', - 'capital': 'لوكسمبرغ سيتي'}, - {'timezones': ['أوروبا/ربيغ'], - 'alpha-2-code': 'LV', - 'continent': 'أوروبا', - 'name': 'لاتفيا', - 'capital': 'ربيغ'}, - {'timezones': ['إفريقيا/طرابلس'], - 'alpha-2-code': 'LY', - 'continent': 'إفريقيا', - 'name': 'ليبيا', - 'capital': 'طرابلس'}, - {'timezones': ['الهندي/أنتاناناريفو'], - 'alpha-2-code': 'MG', - 'continent': 'إفريقيا', - 'name': 'مدغشقر', - 'capital': 'أنتاناناريفو'}, - {'timezones': ['المحيط_الهاديء/ماجورو', - 'المحيط_الهاديء/كواجلين_أتول'], - 'alpha-2-code': 'MH', - 'continent': 'أوقيانوسيا', - 'name': 'جزر مارشال', - 'capital': 'ماجورو'}, - {'timezones': ['أوروبا/سكوبيه'], - 'alpha-2-code': 'MK', - 'continent': 'أوروبا', - 'name': 'جمهورية مقدونيا', - 'capital': 'سكوبيه'}, - {'timezones': ['إفريقيا/باماكو'], - 'alpha-2-code': 'ML', - 'continent': 'إفريقيا', - 'name': 'مالي', - 'capital': 'باماكو'}, - {'timezones': ['آسيا/رانغون'], - 'alpha-2-code': 'MM', - 'continent': 'آسيا', - 'name': 'ميانمار', - 'capital': 'نايبيداو'}, - {'timezones': ['آسيا/أولان_باتور', - 'آسيا/Hovd', - 'آسيا/تشويبالسان'], - 'alpha-2-code': 'MN', - 'continent': 'آسيا', - 'name': 'مانغوليا', - 'capital': 'أولان باتور'}, - {'timezones': ['إفريقيا/نواكشط'], - 'alpha-2-code': 'MR', - 'continent': 'إفريقيا', - 'name': 'موريتانيا', - 'capital': 'نواكشط'}, - {'timezones': ['أوروبا/مالطا'], - 'alpha-2-code': 'MT', - 'continent': 'أوروبا', - 'name': 'مالطا', - 'capital': 'فاليتا'}, - {'timezones': ['الهندي/موريشيوس'], - 'alpha-2-code': 'MU', - 'continent': 'إفريقيا', - 'name': 'موريشيوس', - 'capital': 'بور لويس'}, - {'timezones': ['الهندي/جزر_المالديف'], - 'alpha-2-code': 'MV', - 'continent': 'آسيا', - 'name': 'جمهورية المالديف', - 'capital': 'ماليه'}, - {'timezones': ['إفريقيا/بلانتاير'], - 'alpha-2-code': 'MW', - 'continent': 'إفريقيا', - 'name': 'ملاوي', - 'capital': 'ليلونغوي'}, - {'timezones': ['أمريكا/ميكسيكو_سيتي', - 'أمريكا/كانكون', - 'أمريكا/ميرديا', - 'أمريكا/مونتيري', - 'أمريكا/مازاتلان', - 'أمريكا/شيواوا', - 'أمريكا/ارموسييو_سونورا', - 'أمريكا/تيخوانا'], - 'alpha-2-code': 'MX', - 'continent': 'أمريكا الشمالية', - 'name': 'المكسيك', - 'capital': 'ميكسيكو سيتي§'}, - {'timezones': ['آسيا/كوالا_لامبور', - 'آسيا/Kuching'], - 'alpha-2-code': 'MY', - 'continent': 'آسيا', - 'name': 'ماليزيا', - 'capital': 'كوالا لامبور'}, - {'timezones': ['إفريقيا/مابوتو'], - 'alpha-2-code': 'MZ', - 'continent': 'إفريقيا', - 'name': 'موزمبيق', - 'capital': 'مابوتو'}, - {'timezones': ['إفريقيا/ويندهوك'], - 'alpha-2-code': 'NA', - 'continent': 'إفريقيا', - 'name': 'ناميبيا', - 'capital': 'ويندهوك'}, - {'timezones': ['إفريقيا/نيامي'], - 'alpha-2-code': 'NE', - 'continent': 'إفريقيا', - 'name': 'النيجر', - 'capital': 'نيامي'}, - {'timezones': ['إفريقيا/لاغوس'], - 'alpha-2-code': 'NG', - 'continent': 'إفريقيا', - 'name': 'نيجيريا', - 'capital': 'أبوجا'}, - {'timezones': ['أمريكا/ماناغوا'], - 'alpha-2-code': 'NI', - 'continent': 'أمريكا الشمالية', - 'name': 'نيكاراغوا', - 'capital': 'ماناغوا'}, - {'timezones': ['أوروبا/أمستردام'], - 'alpha-2-code': 'NL', - 'continent': 'أوروبا', - 'name': 'هولندا', - 'capital': 'أمستردام'}, - {'timezones': ['أوروبا/أوسلو'], - 'alpha-2-code': 'NO', - 'continent': 'أوروبا', - 'name': 'النرويج', - 'capital': 'أوسلو'}, - {'timezones': ['آسيا/كاتماندو'], - 'alpha-2-code': 'NP', - 'continent': 'آسيا', - 'name': 'النيبال', - 'capital': 'كاتماندو'}, - {'timezones': ['المحيط_الهاديء/ناورو'], - 'alpha-2-code': 'NR', - 'continent': 'أوقيانوسيا', - 'name': 'ناورو', - 'capital': 'يارين'}, - {'timezones': ['المحيط_الهاديء/أوكلاند', - 'المحيط_الهاديء/تشاتهام'], - 'alpha-2-code': 'NZ', - 'continent': 'أوقيانوسيا', - 'name': 'نيوزيلاندا', - 'capital': 'ويلينغتون'}, - {'timezones': ['آسيا/مسقط'], - 'alpha-2-code': 'OM', - 'continent': 'آسيا', - 'name': 'عمان', - 'capital': 'مسقط'}, - {'timezones': ['أمريكا/بنما'], - 'alpha-2-code': 'PA', - 'continent': 'أمريكا الشمالية', - 'name': 'بنما', - 'capital': 'بنما'}, - {'timezones': ['أمريكا/ليما'], - 'alpha-2-code': 'PE', - 'continent': 'أمريكا الجنوبية', - 'name': 'البيرو', - 'capital': 'ليما'}, - {'timezones': ['المحيط_الهاديء/بورت_مورسبي'], - 'alpha-2-code': 'PG', - 'continent': 'أوقيانوسيا', - 'name': 'بابوا غينيا الجديدة', - 'capital': 'بورت مورسبي'}, - {'timezones': ['آسيا/مانيلا'], - 'alpha-2-code': 'PH', - 'continent': 'آسيا', - 'name': 'الفيليبين', - 'capital': 'مانيلا'}, - {'timezones': ['آسيا/كاراتشي'], - 'alpha-2-code': 'PK', - 'continent': 'آسيا', - 'name': 'باكستان', - 'capital': 'إسلام أباد'}, - {'timezones': ['أوروبا/وارسو'], - 'alpha-2-code': 'PL', - 'continent': 'أوروبا', - 'name': 'بولندا', - 'capital': 'وارسو'}, - {'timezones': ['أوروبا/لشبونة', - 'الأطلنطي/ماديرا', - 'الأطلنطي/الأزور'], - 'alpha-2-code': 'PT', - 'continent': 'أوروبا', - 'name': 'البرتغال', - 'capital': 'لشبونة'}, - {'timezones': ['المحيط_الهاديء/بالاو'], - 'alpha-2-code': 'PW', - 'continent': 'أوقيانوسيا', - 'name': 'بالاو', - 'capital': 'نجيرولمد'}, - {'timezones': ['أمريكا/أسونسيون'], - 'alpha-2-code': 'PY', - 'continent': 'أمريكا الجنوبية', - 'name': 'بابرغوي', - 'capital': 'أسونسيون'}, - {'timezones': ['آسيا/قطر'], - 'alpha-2-code': 'QA', - 'continent': 'آسيا', - 'name': 'قطر', - 'capital': 'الدوحة'}, - {'timezones': ['أوروبا/بوخارست'], - 'alpha-2-code': 'RO', - 'continent': 'أوروبا', - 'name': 'رومانيا', - 'capital': 'بوخارست'}, - {'timezones': ['أوروبا/كالينينغراد', - 'أوروبا/موسكو', - 'أوروبا/Volgograd', - 'أوروبا/سمارة', - 'آسيا/يكاترينبورغ', - 'آسيا/أومسك', - 'آسيا/نوفوسيبيرسك', - 'آسيا/كراسنوياسك', - 'آسيا/إروتسك', - 'آسيا/ياكوتسك', - 'آسيا/فالديفوستوك', - 'آسيا/ساخالن', - 'آسيا/ماغادان', - 'آسيا/كامشتكا', - 'آسيا/أنادير'], - 'alpha-2-code': 'RU', - 'continent': 'أوروبا', - 'name': 'روسيا', - 'capital': 'موسكو'}, - {'timezones': ['إفريقيا/كيغالي'], - 'alpha-2-code': 'RW', - 'continent': 'إفريقيا', - 'name': 'رواندا', - 'capital': 'كيغالي'}, - {'timezones': ['آسيا/الرياض'], - 'alpha-2-code': 'SA', - 'continent': 'آسيا', - 'name': 'المملكة العربية السعودية', - 'capital': 'الرياض'}, - {'timezones': ['المحيط_الهاديء/غوادالكانال'], - 'alpha-2-code': 'SB', - 'continent': 'أوقيانوسيا', - 'name': 'جزر سولمون', - 'capital': 'هونيارا'}, - {'timezones': ['الهندي/ماهي'], - 'alpha-2-code': 'SC', - 'continent': 'إفريقيا', - 'name': 'سيشل', - 'capital': 'فيكتوريا'}, - {'timezones': ['إفريقيا/الخرطوم'], - 'alpha-2-code': 'SD', - 'continent': 'إفريقيا', - 'name': 'السودان', - 'capital': 'الخرطوم'}, - {'timezones': ['أوروبا/ستوكهولم'], - 'alpha-2-code': 'SE', - 'continent':'أوروبا', - 'name': 'السويد', - 'capital': 'ستوكهولم'}, - {'timezones': ['آسيا/سنغافورة'], - 'alpha-2-code': 'SG', - 'continent': 'آسيا', - 'name': 'سنغافورة', - 'capital': 'سنغافورة'}, - {'timezones': ['أوروبا/ليوبليانا'], - 'alpha-2-code': 'SI', - 'continent': 'أوروبا', - 'name': 'سلوفانيا', - 'capital': 'ليوبليانا'}, - {'timezones': ['أوروبا/براتيسلافا'], - 'alpha-2-code': 'SK', - 'continent': 'أوروبا', - 'name': 'سلوفاكيا', - 'capital': 'براتيسلافا'}, - {'timezones': ['إفريقيا/فريتاون'], - 'alpha-2-code': 'SL', - 'continent': 'إفريقيا', - 'name': 'سيراليون', - 'capital': 'فريتاون'}, - {'timezones': ['أوروبا/سان_مارينو'], - 'alpha-2-code': 'SM', - 'continent': 'أوروبا', - 'name': 'جمهورية سان مارينو', - 'capital': 'سان مارينو'}, - {'timezones': ['إفريقيا/داكار'], - 'alpha-2-code': 'SN', - 'continent': 'إفريقيا', - 'name': 'السنغال', - 'capital': 'داكار'}, - {'timezones': ['إفريقيا/مقديشو'], - 'alpha-2-code': 'SO', - 'continent': 'إفريقيا', - 'name': 'الصومال', - 'capital': 'مقديشو'}, - {'timezones': ['أمريكا/باراماريبو'], - 'alpha-2-code': 'SR', - 'continent': 'أمريكا الجنوبية', - 'name': 'Suriname', - 'capital': 'باراماريبو'}, - {'timezones': ['إفريقيا/ساو_تومي'], - 'alpha-2-code': 'ST', - 'continent': 'إفريقيا', - 'name': ' ساو تومي وبرينسيب', - 'capital': 'ساو تومي'}, - {'timezones': ['آسيا/دممشق'], - 'alpha-2-code': 'SY', - 'continent': 'آسيا', - 'name': 'سوريا', - 'capital': 'دمشق'}, - {'timezones': ['إفريقيا/لومي'], - 'alpha-2-code': 'TG', - 'continent': 'إفريقيا', - 'name': 'توغو', - 'capital': 'لومي'}, - {'timezones': ['آسيا/بانغوك'], - 'alpha-2-code': 'TH', - 'continent': 'آسيا', - 'name': 'تايلند', - 'capital': 'بناغوك'}, - {'timezones': ['آسيا/دوشنبه'], - 'alpha-2-code': 'TJ', - 'continent': 'آسيا', - 'name': 'طاجكيستان', - 'capital': 'دوشنبه'}, - {'timezones': ['آسيا/عشق_آباد'], - 'alpha-2-code': 'TM', - 'continent': 'آسيا', - 'name': 'تركمانستان', - 'capital': 'عشق آباد'}, - {'timezones': ['إفريقيا/تونس'], - 'alpha-2-code': 'TN', - 'continent': 'إفريقيا', - 'name': 'تونس', - 'capital': 'تونس'}, - {'timezones': ['المحيط_الهاديء/تونغاتابو'], - 'alpha-2-code': 'TO', - 'continent': 'أوقيانوسيا', - 'name': 'تونغا', - 'capital': 'نوكو ألوفا'}, - {'timezones': ['أوروبا/إسطنبول'], - 'alpha-2-code': 'TR', - 'continent': 'آسيا', - 'name': 'تركيا', - 'capital': 'أنقرة'}, - {'timezones': ['أمريكا/بورت_أوف_سبين'], - 'alpha-2-code': 'TT', - 'continent': 'أمريكا الشمالية', - 'name': 'ترينيداد وتوباغو', - 'capital': 'بورت أوف سبين'}, - {'timezones': ['المحيط_الهاديء/فونافوتي'], - 'alpha-2-code': 'TV', - 'continent': 'أوقيانوسيا', - 'name': 'توفالو', - 'capital': 'فونافوتي'}, - {'timezones': ['إفريقيا/دار_السلام'], - 'alpha-2-code': 'TZ', - 'continent': 'إفريقيا', - 'name': 'تانزانيا', - 'capital': 'دودوما'}, - {'timezones': ['أوروبا/كييف', - 'أوروبا/أوجهورود', - 'أوروبا/زاباروجيا', - 'أوروبا/سيمفروبول'], - 'alpha-2-code': 'UA', - 'continent': 'أوروبا', - 'name': 'أوكرانيا', - 'capital': 'كييف'}, - {'timezones': ['إفريقيا/كامبالا'], - 'alpha-2-code': 'UG', - 'continent': 'إفريقيا', - 'name': 'أوغندا', - 'capital': 'كامبالا'}, - {'timezones': ['أمريكا/نيويورك', - 'أمريكا/ديترويت', - 'أمريكا/كنتاكي/لويسفيل', - 'أمريكا/كنتاكي/مونتيسللو', - 'أمريكا/إنديانا/إنديانابولس', - 'أمريكا/إنديانا/مارنغو', - 'أمريكا/إنديانا/نوكس', - 'أمريكا/إنديانا/فيفاي', - 'أمريكا/شيكاغو', - 'أمريكا/إنديانا/فانسان', - 'أمريكا/إنديانا/بيترزبيرغ', - 'أمريكا/مينومني', - 'أمريكا/نورث_داكوتا/سينتر', - 'أمريكا/نورث_داكوتا/نيو_سالم', - 'أمريكا/دنفر', - 'أمريكا/بويسي', - 'أمريكا/شيبروك', - 'أمريكا/فينيكس', - 'أمريكا/لوس_أنجيلوس', - 'أمريكا/أنكوريج', - 'أمريكا/جونو', - 'أمريكا/ياكوتات', - 'أمريكا/نوم', - 'أمريكا/أداك', - 'المحيط_الهاديء/هونولولو'], - 'alpha-2-code': 'US', - 'continent': 'أمريكا الشمالية', - 'name': 'الولايات المتحدة الأمريكية', - 'capital': 'واشنطن'}, - {'timezones': ['أمريكا/مونتفيدو'], - 'alpha-2-code': 'UY', - 'continent': 'أمريكا الجنوبية', - 'name': 'أوروغواي', - 'capital': 'مونتفيدو'}, - {'timezones': ['آسيا/سمرقند', - 'آسيا/طشقند'], - 'alpha-2-code': 'UZ', - 'continent': 'آسيا', - 'name': 'أوزبكستان', - 'capital': 'طشقند'}, - {'timezones': ['أوروبا/الفاتيكان'], - 'alpha-2-code': 'VA', - 'continent': 'أوروبا', - 'name': 'الفاتيكان', - 'capital': 'الفاتيكان'}, - {'timezones': ['أمريكا/كاركاس'], - 'alpha-2-code': 'VE', - 'continent': 'أمريكا الجنوبية', - 'name': 'فنزويلا', - 'capital': 'كاركاس'}, - {'timezones': ['آسيا/سايغون'], - 'alpha-2-code': 'VN', - 'continent': 'آسيا', - 'name': 'فيتنام', - 'capital': 'هانوي'}, - {'timezones': ['المحيط_الهاديء/أيفاتي'], - 'alpha-2-code': 'VU', - 'continent': 'أوقيانوسيا', - 'name': 'فانواتو', - 'capital': 'بورت فيلا'}, - {'timezones': ['آسيا/عدن'], - 'alpha-2-code': 'YE', - 'continent': 'آسيا', - 'name': 'اليمن', - 'capital': "صنعاء"}, - {'timezones': ['إفريقيا/لوساكا'], - 'alpha-2-code': 'ZM', - 'continent': 'إفريقيا', - 'name': 'زامبيا', - 'capital': 'لوساكا'}, - {'timezones': ['إفريقيا/هراري'], - 'alpha-2-code': 'ZW', - 'continent': 'إفريقيا', - 'name': 'زيمبابوي', - 'capital': 'هراري'}, - {'timezones': ['إفريقيا/الجزائر'], - 'alpha-2-code': 'DZ', - 'continent': 'إفريقيا', - 'name': 'الجزائر', - 'capital': 'الجزائر'}, - {'timezones': ['أوروبا/سراييفو'], - 'alpha-2-code': 'BA', - 'continent': 'أوروبا', - 'name': 'البوسنة والهرسك', - 'capital': 'سراييفو'}, - {'timezones': ['آسيا/بنوم_بنه'], - 'alpha-2-code': 'KH', - 'continent': 'آسيا', - 'name': 'كمبوديا', - 'capital': 'بنوم بنه'}, - {'timezones': ['إفريقيا/بانغي'], - 'alpha-2-code': 'CF', - 'continent': 'إفريقيا', - 'name': 'جمهورية أفريقيا الوسطى', - 'capital': 'بانغي'}, - {'timezones': ['إفريقيا/نجامينا'], - 'alpha-2-code': 'TD', - 'continent': 'إفريقيا', - 'name': 'تشاد', - 'capital': "نجامينا"}, - {'timezones': ['الهندي/كومورو'], - 'alpha-2-code': 'KM', - 'continent': 'إفريقيا', - 'name': 'جزر القمر', - 'capital': 'موروني'}, - {'timezones': ['أوروبا/زغرب'], - 'alpha-2-code': 'HR', - 'continent': 'أوروبا', - 'name': 'كرواتيا', - 'capital': 'زغرب'}, - {'timezones': ['آسيا/ديلي'], - 'alpha-2-code': 'TL', - 'continent': 'آسيا', - 'name': 'تيمور الشرقية', - 'capital': 'ديلي'}, - {'timezones': ['أمريكا/السلفادور'], - 'alpha-2-code': 'SV', - 'continent': 'أمريكا الشمالية', - 'name': 'السلفادور', - 'capital': 'سان سلفادور'}, - {'timezones': ['إفريقيا/مالابو'], - 'alpha-2-code': 'GQ', - 'continent': 'إفريقيا', - 'name': 'غينيا الاستوائية', - 'capital': 'مالابو'}, - {'timezones': ['أمريكا/غرينادا'], - 'alpha-2-code': 'GD', - 'continent': 'أمريكا الشمالية', - 'name': 'غرينادا', - 'capital': "سانت جورجز"}, - {'timezones': ['آسيا/ألماتي', - 'آسيا/كيزيلوردا', - 'آسيا/أقتوبي', - 'آسيا/أقتاو', - 'آسيا/أورال'], - 'alpha-2-code': 'KZ', - 'continent': 'آسيا', - 'name': 'كازاخستان', - 'capital': 'أستانة'}, - {'timezones': ['آسيا/فيينتيان'], - 'alpha-2-code': 'LA', - 'continent': 'آسيا', - 'name': 'لاوس', - 'capital': 'فيينتيان'}, - {'timezones': ['المحيط_الهاديء/تشوك', - 'المحيط_الهاديء/بونابي', - 'المحيط_الهاديء/كورساي'], - 'alpha-2-code': 'FM', - 'continent': 'أوقيانوسيا', - 'name': 'ولايات ميكرونيسيا المتحدة', - 'capital': 'باليكير'}, - {'timezones': ['أوروبا/كيشيناو'], - 'alpha-2-code': 'MD', - 'continent': 'أوروبا', - 'name': 'مولدافيا', - 'capital': 'كيشيناو'}, - {'timezones': ['أوروبا/موناكو'], - 'alpha-2-code': 'MC', - 'continent': 'أوروبا', - 'name': 'موناكو', - 'capital': 'موناكو'}, - {'timezones': ['أوروبا/بودغوريتسا'], - 'alpha-2-code': 'ME', - 'continent': 'أوروبا', - 'name': 'الجبل الأسود', - 'capital': 'بودغوريتسا'}, - {'timezones': ['إفريقيا/الدار_البيضاء'], - 'alpha-2-code': 'MA', - 'continent': 'إفريقيا', - 'name': 'المغرب', - 'capital': 'الرباط'}, - {'timezones': ['أمريكا/سانت_كيتس'], - 'alpha-2-code': 'KN', - 'continent': 'أمريكا الشمالية', - 'name': 'سانت كيتس ونيفيس', - 'capital': 'باستير'}, - {'timezones': ['أمريكا/سانت_لوسيا'], - 'alpha-2-code': 'LC', - 'continent': 'أمريكا الشمالية', - 'name': 'سانت لوسيا', - 'capital': 'كاستريس'}, - {'timezones': ['أمريكا/سينت_فينسينت'], - 'alpha-2-code': 'VC', - 'continent': 'أمريكا الشمالية', - 'name': 'سانت فينسنت والغرينادين', - 'capital': 'كينغستاون'}, - {'timezones': ['المحيط_الهاديء/أبيا'], - 'alpha-2-code': 'WS', - 'continent': 'أوقيانوسيا', - 'name': 'ساموا', - 'capital': 'أبيا'}, - {'timezones': ['أوروبا/بلغراد'], - 'alpha-2-code': 'RS', - 'continent': 'أوروبا', - 'name': 'صربيا', - 'capital': 'بلغراد'}, - {'timezones': ['إفريقيا/جوهانسبرغ'], - 'alpha-2-code': 'ZA', - 'continent': 'إفريقيا', - 'name': 'جنوب إفريقيا', - 'capital': 'بريتوريا'}, - {'timezones': ['أوروبا/مدريد', - 'إفريقيا/سبتة', - 'الأطلنطي/الكناري'], - 'alpha-2-code': 'ES', - 'continent': 'أوروبا', - 'name': 'إسبانيا', - 'capital': 'مدريد'}, - {'timezones': ['آسيا/كولمبو'], - 'alpha-2-code': 'LK', - 'continent': 'آسيا', - 'name': 'سريلانكا', - 'capital': 'سري جاياواردنابورا كوتي'}, - {'timezones': ['إفريقيا/مبابان'], - 'alpha-2-code': 'SZ', - 'continent': 'إفريقيا', - 'name': 'سوازيلاند', - 'capital': 'مبابان'}, - {'timezones': ['أوروبا/زيورخ'], - 'alpha-2-code': 'CH', - 'continent': 'أوروبا', - 'name': 'سويسرا', - 'capital': 'برن'}, - {'timezones': ['آسيا/دبي'], - 'alpha-2-code': 'AE', - 'continent': 'آسيا', - 'name': 'الإمارات العربية المتحدة', - 'capital': 'أبو ظبي'}, - {'timezones': ['أوروبا/لندن'], - 'alpha-2-code': 'GB', - 'continent': 'أوروبا', - 'name': 'المملكة المتحدة', - 'capital': 'لندن'}, - ] + countries = [ + { + "timezones": ["أوروب/أندورا"], + "alpha-2-code": "AD", + "continent": "أوروبا", + "name": "أندورا", + "capital": "أندورا لا فيلا", + }, + { + "timezones": ["آسيا/كابل"], + "alpha-2-code": "AF", + "continent": "آسيا", + "name": "أفغانستان", + "capital": "كابل", + }, + { + "timezones": ["أمريكا/أنتيغوا"], + "alpha-2-code": "AG", + "continent": "أمريكا الشمالية", + "name": "أنتيغوا وباربودا", + "capital": "سانت جونز", + }, + { + "timezones": ["أوروبا/تيرانا"], + "alpha-2-code": "AL", + "continent": "أوروبا", + "name": "ألبانيا", + "capital": "تيرانا", + }, + { + "timezones": ["آسيا/يريفان"], + "alpha-2-code": "AM", + "continent": "آسيا", + "name": "أرمينيا", + "capital": "يريفان", + }, + { + "timezones": ["إفريقيا/لواندا"], + "alpha-2-code": "AO", + "continent": "إفريقيا", + "name": "أنغولا", + "capital": "لواندا", + }, + { + "timezones": [ + "أمريكا/الأرجنتين/بوينس_آيرس", + "أمريكا/الأرجنتين/Cordoba", + "أمريكا/الأرجنتين/خوخوي", + "أمريكا/الأرجنتين/توكومان", + "أمريكا/الأرجنتين/كاتاماركا", + "أمريكا/الأرجنتين/لا_ريوخا", + "أمريكا/الأرجنتين/سان_خوان", + "أمريكا/الأرجنتين/مندوزا", + "أمريكا/الأرجنتين/ريو_غاليغوس", + "أمريكا/الأرجنتين/أوشوايا", + ], + "alpha-2-code": "AR", + "continent": "أمريكا الجنوبية", + "name": "الأرجنتين", + "capital": "بوينس آيرس", + }, + { + "timezones": ["أوروبا/النمسا"], + "alpha-2-code": "AT", + "continent": "أوروبا", + "name": "النمسا", + "capital": "فيينا", + }, + { + "timezones": [ + "أستراليا/لورد_هاو", + "أستراليا/هوبارت", + "أستراليا/كري", + "أستراليا/ملبورن", + "أستراليا/سدني", + "أستراليا/بروكن_هل", + "أستراليا/بريزبن", + "أستراليا/ليندمان", + "أستراليا/أديلايد", + "أستراليا/داروين", + "أستراليا/برث", + ], + "alpha-2-code": "AU", + "continent": "أوقيانوسيا", + "name": "أستراليا", + "capital": "كانبرا", + }, + { + "timezones": ["آسيا/باكو"], + "alpha-2-code": "AZ", + "continent": "آسيا", + "name": "أذربيجان", + "capital": "باكو", + }, + { + "timezones": ["أمريكا/باربادوس"], + "alpha-2-code": "BB", + "continent": "أمريكا الشمالية", + "name": "باربادوس", + "capital": "بريدج تاون", + }, + { + "timezones": ["آسيا/دكا"], + "alpha-2-code": "BD", + "continent": "آسيا", + "name": "بنغلادش", + "capital": "دكا", + }, + { + "timezones": ["أوروبا/بروكسل"], + "alpha-2-code": "BE", + "continent": "أوروبا", + "name": "بلجيكا", + "capital": "بروكسل", + }, + { + "timezones": ["إفريقيا/واغادوغو"], + "alpha-2-code": "BF", + "continent": "إفريقيا", + "name": "بوركينا فاسو", + "capital": "واغادوغو", + }, + { + "timezones": ["أوروبا/صوفيا"], + "alpha-2-code": "BG", + "continent": "أوروبا", + "name": "بلغاريا", + "capital": "صوفيا", + }, + { + "timezones": ["آسيا/البحرين"], + "alpha-2-code": "BH", + "continent": "آسيا", + "name": "البحرين", + "capital": "المنامة", + }, + { + "timezones": ["إفريقيا/بوجمبورا"], + "alpha-2-code": "BI", + "continent": "إفريقيا", + "name": "بوروندي", + "capital": "بوجمبورا", + }, + { + "timezones": ["إفريقيا/بورتو نوفو"], + "alpha-2-code": "BJ", + "continent": "إفريقيا", + "name": "بنين", + "capital": "بورتو نوفو", + }, + { + "timezones": ["آسيا/بروناي"], + "alpha-2-code": "BN", + "continent": "آسيا", + "name": "اتحاد بروناي (دار السلام)", + "capital": "بندر سري بكاوان", + }, + { + "timezones": ["أمريكا/لاباز"], + "alpha-2-code": "BO", + "continent": "أمريكا الجنوبية", + "name": "بوليفيا", + "capital": "سوكري", + }, + { + "timezones": [ + "أمريكا/نورونها", + "أمريكا/بليم", + "أمريكا/فورتاليزا", + "أمريكا/ريسيفي", + "أمريكا/أراغوينا", + "أمريكا/ماسايو", + "أمريكا/باهيا", + "أمريكا/ساو_باولو", + "أمريكا/كامبو_غراندي", + "أمريكا/كويابا", + "أمريكا/بورتو_فاليو", + "أمريكا/بوا_فيستا", + "أمريكا/ماناوس", + "أمريكا/إيرونيبي", + "أمريكا/ريو_برانكو", + ], + "alpha-2-code": "BR", + "continent": "أمريكا الجنوبية", + "name": "البرازيل", + "capital": "برازيليا", + }, + { + "timezones": ["أمريكا/ناساو"], + "alpha-2-code": "BS", + "continent": "أمريكا الشمالية", + "name": "باهاماس", + "capital": "ناساو", + }, + { + "timezones": ["آسيا/تيمفو"], + "alpha-2-code": "BT", + "continent": "آسيا", + "name": "بوتان", + "capital": "تيمفو", + }, + { + "timezones": ["إفريقيا/غابورون"], + "alpha-2-code": "BW", + "continent": "إفريقيا", + "name": "بوتسوانا", + "capital": "غابورون", + }, + { + "timezones": ["أوروبا/مينسك"], + "alpha-2-code": "BY", + "continent": "أوروبا", + "name": "روسيا البيضاء", + "capital": "مينسك", + }, + { + "timezones": ["أمريكا/بليز"], + "alpha-2-code": "BZ", + "continent": "أمريكا الشمالية", + "name": "بليز", + "capital": "بلموبان", + }, + { + "timezones": [ + "أمريكا/سينت_جونز", + "أمريكا/هاليفاكس", + "أمريكا/جليس_باي", + "أمريكا/مونكتون", + "أمريكا/جووس_باي", + "أمريكا/بلانك_سابلون", + "أمريكا/مونتريال", + "أمريكا/تورونتو", + "أمريكا/نيبيغون", + "أمريكا/ثاندر_باي", + "أمريكا/بانغيرتانغ", + "أمريكا/إيكواليوت", + "أمريكا/أتيكوكان", + "أمريكا/رانكن_إنلت", + "أمريكا/وينيبيغ", + "أمريكا/رايني_ريفر", + "أمريكا/كامبريدج_باي", + "أمريكا/ريجينا", + "أمريكا/سويفت_كارنت", + "أمريكا/إدمونتون", + "أمريكا/يلو_نايف", + "أمريكا/إنوفك", + "أمريكا/دوسن_كريك", + "أمريكا/فانكوفر", + "أمريكا/وايت_هورس", + "أمريكا/داوسون", + ], + "alpha-2-code": "CA", + "continent": "أمريكا الشمالية", + "name": "كندا", + "capital": "أوتاوا", + }, + { + "timezones": ["إفريقيا/كينشاسا", "إفريقيا/لوبومباشي"], + "alpha-2-code": "CD", + "continent": "إفريقيا", + "name": "جمهورية الكونغو الديمقراطية", + "capital": "كينشاسا", + }, + { + "timezones": ["إفريقيا/برازافيل"], + "alpha-2-code": "CG", + "continent": "إفريقيا", + "name": "جمهورية الكونغو", + "capital": "برازافيل", + }, + { + "timezones": ["إفريقيا/أبيدجان"], + "alpha-2-code": "CI", + "continent": "إفريقيا", + "name": "ساحل العاج", + "capital": "ياموسوكرو", + }, + { + "timezones": ["أمريكا/سانتياغو", "المحيط_الهاديء/جزيرة_القيامة"], + "alpha-2-code": "CL", + "continent": "أمريكا الجنوبية", + "name": "تشيلي", + "capital": "سانتياغو", + }, + { + "timezones": ["إفريقيا/دوالا"], + "alpha-2-code": "CM", + "continent": "إفريقيا", + "name": "الكاميرون", + "capital": "ياوندي", + }, + { + "timezones": [ + "آسيا/شانغهاي", + "آسيا/هاربن", + "آسيا/تشونغتشينغ", + "آسيا/أورومتشي", + "آسيا/كاشغر", + ], + "alpha-2-code": "CN", + "continent": "آسيا", + "name": "جمهورية الصين الشعبية", + "capital": "بكين", + }, + { + "timezones": ["أمريكا/بوغوتا"], + "alpha-2-code": "CO", + "continent": "أمريكا الجنوبية", + "name": "كولومبيا", + "capital": "بوغوتا", + }, + { + "timezones": ["أمريكا/كوستاريكا"], + "alpha-2-code": "CR", + "continent": "أمريكا الشمالية", + "name": "كوستاريكا", + "capital": "سان خوسيه", + }, + { + "timezones": ["أمريكا/هافانا"], + "alpha-2-code": "CU", + "continent": "أمريكا الشمالية", + "name": "كوبا", + "capital": "هافانا", + }, + { + "timezones": ["الأطلنطي/الرأس_الأخضر"], + "alpha-2-code": "CV", + "continent": "إفريقيا", + "name": "جمهورية الرأس الأخضر", + "capital": "برايا", + }, + { + "timezones": ["آسيا/نيقوسيا"], + "alpha-2-code": "CY", + "continent": "آسيا", + "name": "قبرص", + "capital": "نيقوسيا", + }, + { + "timezones": ["أوروبا/براغ"], + "alpha-2-code": "CZ", + "continent": "أوروبا", + "name": "جمهورية التشيك", + "capital": "براغ", + }, + { + "timezones": ["أوروبا/برلين"], + "alpha-2-code": "DE", + "continent": "أوروبا", + "name": "ألمانيا", + "capital": "برلين", + }, + { + "timezones": ["إفريقيا/جيبوتي"], + "alpha-2-code": "DJ", + "continent": "إفريقيا", + "name": "جيبوتي", + "capital": "جيبوتي", + }, + { + "timezones": ["أوروبا/كوبنهاغن"], + "alpha-2-code": "DK", + "continent": "أوروبا", + "name": "الدنمارك", + "capital": "كوبنهاغن", + }, + { + "timezones": ["أمريكا/دومينيكا"], + "alpha-2-code": "DM", + "continent": "أمريكا الشمالية", + "name": "دومينيكا", + "capital": "روسياو", + }, + { + "timezones": ["أمريكا/سانتو_دومينغو"], + "alpha-2-code": "DO", + "continent": "أمريكا الشمالية", + "name": "جمهورية الدومينيكان", + "capital": "سانتو دومينغو", + }, + { + "timezones": ["أمريكا/غواياكيل", "المحيط_الهاديء/أرخبيل_غالاباغوس"], + "alpha-2-code": "EC", + "continent": "أمريكا الجنوبية", + "name": "الإكوادور", + "capital": "كيتو", + }, + { + "timezones": ["أوروبا/تالين"], + "alpha-2-code": "EE", + "continent": "أوروبا", + "name": "إستونيا", + "capital": "تالين", + }, + { + "timezones": ["إفريقيا/القاهرة"], + "alpha-2-code": "EG", + "continent": "إفريقيا", + "name": "مصر", + "capital": "القاهرة", + }, + { + "timezones": ["إفريقيا/أسمرة"], + "alpha-2-code": "ER", + "continent": "إفريقيا", + "name": "إرتيريا", + "capital": "أسمرة", + }, + { + "timezones": ["إفريقيا/أديس أبابا"], + "alpha-2-code": "ET", + "continent": "إفريقيا", + "name": "إثيوبيا", + "capital": "أديس أبابا", + }, + { + "timezones": ["أوروبا/هلسنكي"], + "alpha-2-code": "FI", + "continent": "أوروبا", + "name": "فنلندا", + "capital": "هلسنكي", + }, + { + "timezones": ["المحيط_الهاديء/فيجي"], + "alpha-2-code": "FJ", + "continent": "أوقيانوسيا", + "name": "فيجي", + "capital": "سوفا", + }, + { + "timezones": ["أوروبا/باريس"], + "alpha-2-code": "FR", + "continent": "أوروبا", + "name": "فرنسا", + "capital": "باريس", + }, + { + "timezones": ["إفريقيا/ليبرفيل"], + "alpha-2-code": "GA", + "continent": "إفريقيا", + "name": "الغابون", + "capital": "ليبرفيل", + }, + { + "timezones": ["آسيا/تبليسي"], + "alpha-2-code": "GE", + "continent": "آسيا", + "name": "جورجيا", + "capital": "تبليسي", + }, + { + "timezones": ["إفريقيا/أكرا"], + "alpha-2-code": "GH", + "continent": "إفريقيا", + "name": "غانا", + "capital": "أكرا", + }, + { + "timezones": ["إفريقيا/بانجول"], + "alpha-2-code": "GM", + "continent": "إفريقيا", + "name": "غامبيا", + "capital": "بانجول", + }, + { + "timezones": ["إفريقيا/كوناكري"], + "alpha-2-code": "GN", + "continent": "إفريقيا", + "name": "غينيا", + "capital": "كوناكري", + }, + { + "timezones": ["أوروبا/أثينا"], + "alpha-2-code": "GR", + "continent": "أوروبا", + "name": "اليونان", + "capital": "أثينا", + }, + { + "timezones": ["أمريكا/غواتيمالا"], + "alpha-2-code": "GT", + "continent": "أمريكا الشمالية", + "name": "غواتيمالا", + "capital": "غواتيمالا سيتي", + }, + { + "timezones": ["أمريكا/غواتيمالا"], + "alpha-2-code": "GT", + "continent": "أمريكا الشمالية", + "name": "هايتي", + "capital": "بورت أو برانس", + }, + { + "timezones": ["إفريقيا/بيساو"], + "alpha-2-code": "GW", + "continent": "إفريقيا", + "name": "غينيا بيساو", + "capital": "بيساو", + }, + { + "timezones": ["أمريكا/غيانا"], + "alpha-2-code": "GY", + "continent": "أمريكا الجنوبية", + "name": "غيانا", + "capital": "جورج تاون", + }, + { + "timezones": ["أمريكا/تيجوسيجالبا"], + "alpha-2-code": "HN", + "continent": "أمريكا الشمالية", + "name": "هندوراس", + "capital": "تيجوسيجالبا", + }, + { + "timezones": ["أوروبا/بودابست"], + "alpha-2-code": "HU", + "continent": "أوروبا", + "name": "هنغاريا", + "capital": "بودابست", + }, + { + "timezones": [ + "آسيا/جاكرتا", + "آسيا/بونتياناك", + "آسيا/ماكاسار", + "آسيا/جايابورا", + ], + "alpha-2-code": "ID", + "continent": "آسيا", + "name": "إندونسيا", + "capital": "جاكرتا", + }, + { + "timezones": ["أوروبا/دبلن"], + "alpha-2-code": "IE", + "continent": "أوروبا", + "name": "إيرلندا", + "capital": "دبلن", + }, + { + "timezones": ["آسيا/القدس"], + "alpha-2-code": "IL", + "continent": "آسيا", + "name": "فلسطين", + "capital": "القدس", + }, + { + "timezones": ["آسيا/كالكتا"], + "alpha-2-code": "IN", + "continent": "آسيا", + "name": "الهند", + "capital": "نيو دلهي", + }, + { + "timezones": ["آسيا/بغداد"], + "alpha-2-code": "IQ", + "continent": "آسيا", + "name": "العراق", + "capital": "بغداد", + }, + { + "timezones": ["آسيا/طهران"], + "alpha-2-code": "IR", + "continent": "آسيا", + "name": "إيران", + "capital": "طهران", + }, + { + "timezones": ["الأطلنطي/ريكيافيك"], + "alpha-2-code": "IS", + "continent": "أوروبا", + "name": "آيسلندا", + "capital": "ريكيافيك", + }, + { + "timezones": ["أوروبا/روما"], + "alpha-2-code": "IT", + "continent": "أوروبا", + "name": "إيطاليا", + "capital": "روما", + }, + { + "timezones": ["أمريكا/جامايكا"], + "alpha-2-code": "JM", + "continent": "أمريكا الشمالية", + "name": "جامايكا", + "capital": "كينغستون", + }, + { + "timezones": ["آسيا/عمّان"], + "alpha-2-code": "JO", + "continent": "آسيا", + "name": "الأردن", + "capital": "عمّان", + }, + { + "timezones": ["آسيا/طوكيو"], + "alpha-2-code": "JP", + "continent": "آسيا", + "name": "اليابان", + "capital": "طوكيو", + }, + { + "timezones": ["إفريقيا/نيروبي"], + "alpha-2-code": "KE", + "continent": "إفريقيا", + "name": "كينيا", + "capital": "نيروبي", + }, + { + "timezones": ["آسيا/بشكيك"], + "alpha-2-code": "KG", + "continent": "آسيا", + "name": "قيرغيزستان", + "capital": "بشكيك", + }, + { + "timezones": [ + "المحيط_الهاديء/تاراوا", + "المحيط_الهاديء/إيديربيري", + "المحيط_الهاديء/كريتيماتي", + ], + "alpha-2-code": "KI", + "continent": "أوقيانوسيا", + "name": "كيريباتي", + "capital": "جنوب تاراوا", + }, + { + "timezones": ["آسيا/بيونغ_يانغ"], + "alpha-2-code": "KP", + "continent": "آسيا", + "name": "كوريا الشمالية", + "capital": "بيونغ يانغ", + }, + { + "timezones": ["آسيا/سيؤول"], + "alpha-2-code": "KR", + "continent": "آسيا", + "name": "؛كوريا الجنوبية", + "capital": "سيؤول", + }, + { + "timezones": ["آسيا/الكويت"], + "alpha-2-code": "KW", + "continent": "آسيا", + "name": "الكويت", + "capital": "الكويت", + }, + { + "timezones": ["آسيا/بيروت"], + "alpha-2-code": "LB", + "continent": "آسيا", + "name": "لبنان", + "capital": "بيروت", + }, + { + "timezones": ["أوروبا/فادوز"], + "alpha-2-code": "LI", + "continent": "أوروبا", + "name": "ليختنشتاين", + "capital": "فادوز", + }, + { + "timezones": ["إفريقيا/مونروفيا"], + "alpha-2-code": "LR", + "continent": "إفريقيا", + "name": "ليبيريا", + "capital": "مونروفيا", + }, + { + "timezones": ["إفريقيا/ماسيرو"], + "alpha-2-code": "LS", + "continent": "إفريقيا", + "name": "ليسوتو", + "capital": "ماسيرو", + }, + { + "timezones": ["أوروبا/فيلنيوس"], + "alpha-2-code": "LT", + "continent": "أوروبا", + "name": "ليتوانيا", + "capital": "فيلنيوس", + }, + { + "timezones": ["أوروبا/لوكسمبرغ"], + "alpha-2-code": "LU", + "continent": "أوروبا", + "name": "لوكسمبرغ", + "capital": "لوكسمبرغ سيتي", + }, + { + "timezones": ["أوروبا/ربيغ"], + "alpha-2-code": "LV", + "continent": "أوروبا", + "name": "لاتفيا", + "capital": "ربيغ", + }, + { + "timezones": ["إفريقيا/طرابلس"], + "alpha-2-code": "LY", + "continent": "إفريقيا", + "name": "ليبيا", + "capital": "طرابلس", + }, + { + "timezones": ["الهندي/أنتاناناريفو"], + "alpha-2-code": "MG", + "continent": "إفريقيا", + "name": "مدغشقر", + "capital": "أنتاناناريفو", + }, + { + "timezones": ["المحيط_الهاديء/ماجورو", "المحيط_الهاديء/كواجلين_أتول"], + "alpha-2-code": "MH", + "continent": "أوقيانوسيا", + "name": "جزر مارشال", + "capital": "ماجورو", + }, + { + "timezones": ["أوروبا/سكوبيه"], + "alpha-2-code": "MK", + "continent": "أوروبا", + "name": "جمهورية مقدونيا", + "capital": "سكوبيه", + }, + { + "timezones": ["إفريقيا/باماكو"], + "alpha-2-code": "ML", + "continent": "إفريقيا", + "name": "مالي", + "capital": "باماكو", + }, + { + "timezones": ["آسيا/رانغون"], + "alpha-2-code": "MM", + "continent": "آسيا", + "name": "ميانمار", + "capital": "نايبيداو", + }, + { + "timezones": ["آسيا/أولان_باتور", "آسيا/Hovd", "آسيا/تشويبالسان"], + "alpha-2-code": "MN", + "continent": "آسيا", + "name": "مانغوليا", + "capital": "أولان باتور", + }, + { + "timezones": ["إفريقيا/نواكشط"], + "alpha-2-code": "MR", + "continent": "إفريقيا", + "name": "موريتانيا", + "capital": "نواكشط", + }, + { + "timezones": ["أوروبا/مالطا"], + "alpha-2-code": "MT", + "continent": "أوروبا", + "name": "مالطا", + "capital": "فاليتا", + }, + { + "timezones": ["الهندي/موريشيوس"], + "alpha-2-code": "MU", + "continent": "إفريقيا", + "name": "موريشيوس", + "capital": "بور لويس", + }, + { + "timezones": ["الهندي/جزر_المالديف"], + "alpha-2-code": "MV", + "continent": "آسيا", + "name": "جمهورية المالديف", + "capital": "ماليه", + }, + { + "timezones": ["إفريقيا/بلانتاير"], + "alpha-2-code": "MW", + "continent": "إفريقيا", + "name": "ملاوي", + "capital": "ليلونغوي", + }, + { + "timezones": [ + "أمريكا/ميكسيكو_سيتي", + "أمريكا/كانكون", + "أمريكا/ميرديا", + "أمريكا/مونتيري", + "أمريكا/مازاتلان", + "أمريكا/شيواوا", + "أمريكا/ارموسييو_سونورا", + "أمريكا/تيخوانا", + ], + "alpha-2-code": "MX", + "continent": "أمريكا الشمالية", + "name": "المكسيك", + "capital": "ميكسيكو سيتي§", + }, + { + "timezones": ["آسيا/كوالا_لامبور", "آسيا/Kuching"], + "alpha-2-code": "MY", + "continent": "آسيا", + "name": "ماليزيا", + "capital": "كوالا لامبور", + }, + { + "timezones": ["إفريقيا/مابوتو"], + "alpha-2-code": "MZ", + "continent": "إفريقيا", + "name": "موزمبيق", + "capital": "مابوتو", + }, + { + "timezones": ["إفريقيا/ويندهوك"], + "alpha-2-code": "NA", + "continent": "إفريقيا", + "name": "ناميبيا", + "capital": "ويندهوك", + }, + { + "timezones": ["إفريقيا/نيامي"], + "alpha-2-code": "NE", + "continent": "إفريقيا", + "name": "النيجر", + "capital": "نيامي", + }, + { + "timezones": ["إفريقيا/لاغوس"], + "alpha-2-code": "NG", + "continent": "إفريقيا", + "name": "نيجيريا", + "capital": "أبوجا", + }, + { + "timezones": ["أمريكا/ماناغوا"], + "alpha-2-code": "NI", + "continent": "أمريكا الشمالية", + "name": "نيكاراغوا", + "capital": "ماناغوا", + }, + { + "timezones": ["أوروبا/أمستردام"], + "alpha-2-code": "NL", + "continent": "أوروبا", + "name": "هولندا", + "capital": "أمستردام", + }, + { + "timezones": ["أوروبا/أوسلو"], + "alpha-2-code": "NO", + "continent": "أوروبا", + "name": "النرويج", + "capital": "أوسلو", + }, + { + "timezones": ["آسيا/كاتماندو"], + "alpha-2-code": "NP", + "continent": "آسيا", + "name": "النيبال", + "capital": "كاتماندو", + }, + { + "timezones": ["المحيط_الهاديء/ناورو"], + "alpha-2-code": "NR", + "continent": "أوقيانوسيا", + "name": "ناورو", + "capital": "يارين", + }, + { + "timezones": ["المحيط_الهاديء/أوكلاند", "المحيط_الهاديء/تشاتهام"], + "alpha-2-code": "NZ", + "continent": "أوقيانوسيا", + "name": "نيوزيلاندا", + "capital": "ويلينغتون", + }, + { + "timezones": ["آسيا/مسقط"], + "alpha-2-code": "OM", + "continent": "آسيا", + "name": "عمان", + "capital": "مسقط", + }, + { + "timezones": ["أمريكا/بنما"], + "alpha-2-code": "PA", + "continent": "أمريكا الشمالية", + "name": "بنما", + "capital": "بنما", + }, + { + "timezones": ["أمريكا/ليما"], + "alpha-2-code": "PE", + "continent": "أمريكا الجنوبية", + "name": "البيرو", + "capital": "ليما", + }, + { + "timezones": ["المحيط_الهاديء/بورت_مورسبي"], + "alpha-2-code": "PG", + "continent": "أوقيانوسيا", + "name": "بابوا غينيا الجديدة", + "capital": "بورت مورسبي", + }, + { + "timezones": ["آسيا/مانيلا"], + "alpha-2-code": "PH", + "continent": "آسيا", + "name": "الفيليبين", + "capital": "مانيلا", + }, + { + "timezones": ["آسيا/كاراتشي"], + "alpha-2-code": "PK", + "continent": "آسيا", + "name": "باكستان", + "capital": "إسلام أباد", + }, + { + "timezones": ["أوروبا/وارسو"], + "alpha-2-code": "PL", + "continent": "أوروبا", + "name": "بولندا", + "capital": "وارسو", + }, + { + "timezones": ["أوروبا/لشبونة", "الأطلنطي/ماديرا", "الأطلنطي/الأزور"], + "alpha-2-code": "PT", + "continent": "أوروبا", + "name": "البرتغال", + "capital": "لشبونة", + }, + { + "timezones": ["المحيط_الهاديء/بالاو"], + "alpha-2-code": "PW", + "continent": "أوقيانوسيا", + "name": "بالاو", + "capital": "نجيرولمد", + }, + { + "timezones": ["أمريكا/أسونسيون"], + "alpha-2-code": "PY", + "continent": "أمريكا الجنوبية", + "name": "بابرغوي", + "capital": "أسونسيون", + }, + { + "timezones": ["آسيا/قطر"], + "alpha-2-code": "QA", + "continent": "آسيا", + "name": "قطر", + "capital": "الدوحة", + }, + { + "timezones": ["أوروبا/بوخارست"], + "alpha-2-code": "RO", + "continent": "أوروبا", + "name": "رومانيا", + "capital": "بوخارست", + }, + { + "timezones": [ + "أوروبا/كالينينغراد", + "أوروبا/موسكو", + "أوروبا/Volgograd", + "أوروبا/سمارة", + "آسيا/يكاترينبورغ", + "آسيا/أومسك", + "آسيا/نوفوسيبيرسك", + "آسيا/كراسنوياسك", + "آسيا/إروتسك", + "آسيا/ياكوتسك", + "آسيا/فالديفوستوك", + "آسيا/ساخالن", + "آسيا/ماغادان", + "آسيا/كامشتكا", + "آسيا/أنادير", + ], + "alpha-2-code": "RU", + "continent": "أوروبا", + "name": "روسيا", + "capital": "موسكو", + }, + { + "timezones": ["إفريقيا/كيغالي"], + "alpha-2-code": "RW", + "continent": "إفريقيا", + "name": "رواندا", + "capital": "كيغالي", + }, + { + "timezones": ["آسيا/الرياض"], + "alpha-2-code": "SA", + "continent": "آسيا", + "name": "المملكة العربية السعودية", + "capital": "الرياض", + }, + { + "timezones": ["المحيط_الهاديء/غوادالكانال"], + "alpha-2-code": "SB", + "continent": "أوقيانوسيا", + "name": "جزر سولمون", + "capital": "هونيارا", + }, + { + "timezones": ["الهندي/ماهي"], + "alpha-2-code": "SC", + "continent": "إفريقيا", + "name": "سيشل", + "capital": "فيكتوريا", + }, + { + "timezones": ["إفريقيا/الخرطوم"], + "alpha-2-code": "SD", + "continent": "إفريقيا", + "name": "السودان", + "capital": "الخرطوم", + }, + { + "timezones": ["أوروبا/ستوكهولم"], + "alpha-2-code": "SE", + "continent": "أوروبا", + "name": "السويد", + "capital": "ستوكهولم", + }, + { + "timezones": ["آسيا/سنغافورة"], + "alpha-2-code": "SG", + "continent": "آسيا", + "name": "سنغافورة", + "capital": "سنغافورة", + }, + { + "timezones": ["أوروبا/ليوبليانا"], + "alpha-2-code": "SI", + "continent": "أوروبا", + "name": "سلوفانيا", + "capital": "ليوبليانا", + }, + { + "timezones": ["أوروبا/براتيسلافا"], + "alpha-2-code": "SK", + "continent": "أوروبا", + "name": "سلوفاكيا", + "capital": "براتيسلافا", + }, + { + "timezones": ["إفريقيا/فريتاون"], + "alpha-2-code": "SL", + "continent": "إفريقيا", + "name": "سيراليون", + "capital": "فريتاون", + }, + { + "timezones": ["أوروبا/سان_مارينو"], + "alpha-2-code": "SM", + "continent": "أوروبا", + "name": "جمهورية سان مارينو", + "capital": "سان مارينو", + }, + { + "timezones": ["إفريقيا/داكار"], + "alpha-2-code": "SN", + "continent": "إفريقيا", + "name": "السنغال", + "capital": "داكار", + }, + { + "timezones": ["إفريقيا/مقديشو"], + "alpha-2-code": "SO", + "continent": "إفريقيا", + "name": "الصومال", + "capital": "مقديشو", + }, + { + "timezones": ["أمريكا/باراماريبو"], + "alpha-2-code": "SR", + "continent": "أمريكا الجنوبية", + "name": "Suriname", + "capital": "باراماريبو", + }, + { + "timezones": ["إفريقيا/ساو_تومي"], + "alpha-2-code": "ST", + "continent": "إفريقيا", + "name": " ساو تومي وبرينسيب", + "capital": "ساو تومي", + }, + { + "timezones": ["آسيا/دممشق"], + "alpha-2-code": "SY", + "continent": "آسيا", + "name": "سوريا", + "capital": "دمشق", + }, + { + "timezones": ["إفريقيا/لومي"], + "alpha-2-code": "TG", + "continent": "إفريقيا", + "name": "توغو", + "capital": "لومي", + }, + { + "timezones": ["آسيا/بانغوك"], + "alpha-2-code": "TH", + "continent": "آسيا", + "name": "تايلند", + "capital": "بناغوك", + }, + { + "timezones": ["آسيا/دوشنبه"], + "alpha-2-code": "TJ", + "continent": "آسيا", + "name": "طاجكيستان", + "capital": "دوشنبه", + }, + { + "timezones": ["آسيا/عشق_آباد"], + "alpha-2-code": "TM", + "continent": "آسيا", + "name": "تركمانستان", + "capital": "عشق آباد", + }, + { + "timezones": ["إفريقيا/تونس"], + "alpha-2-code": "TN", + "continent": "إفريقيا", + "name": "تونس", + "capital": "تونس", + }, + { + "timezones": ["المحيط_الهاديء/تونغاتابو"], + "alpha-2-code": "TO", + "continent": "أوقيانوسيا", + "name": "تونغا", + "capital": "نوكو ألوفا", + }, + { + "timezones": ["أوروبا/إسطنبول"], + "alpha-2-code": "TR", + "continent": "آسيا", + "name": "تركيا", + "capital": "أنقرة", + }, + { + "timezones": ["أمريكا/بورت_أوف_سبين"], + "alpha-2-code": "TT", + "continent": "أمريكا الشمالية", + "name": "ترينيداد وتوباغو", + "capital": "بورت أوف سبين", + }, + { + "timezones": ["المحيط_الهاديء/فونافوتي"], + "alpha-2-code": "TV", + "continent": "أوقيانوسيا", + "name": "توفالو", + "capital": "فونافوتي", + }, + { + "timezones": ["إفريقيا/دار_السلام"], + "alpha-2-code": "TZ", + "continent": "إفريقيا", + "name": "تانزانيا", + "capital": "دودوما", + }, + { + "timezones": [ + "أوروبا/كييف", + "أوروبا/أوجهورود", + "أوروبا/زاباروجيا", + "أوروبا/سيمفروبول", + ], + "alpha-2-code": "UA", + "continent": "أوروبا", + "name": "أوكرانيا", + "capital": "كييف", + }, + { + "timezones": ["إفريقيا/كامبالا"], + "alpha-2-code": "UG", + "continent": "إفريقيا", + "name": "أوغندا", + "capital": "كامبالا", + }, + { + "timezones": [ + "أمريكا/نيويورك", + "أمريكا/ديترويت", + "أمريكا/كنتاكي/لويسفيل", + "أمريكا/كنتاكي/مونتيسللو", + "أمريكا/إنديانا/إنديانابولس", + "أمريكا/إنديانا/مارنغو", + "أمريكا/إنديانا/نوكس", + "أمريكا/إنديانا/فيفاي", + "أمريكا/شيكاغو", + "أمريكا/إنديانا/فانسان", + "أمريكا/إنديانا/بيترزبيرغ", + "أمريكا/مينومني", + "أمريكا/نورث_داكوتا/سينتر", + "أمريكا/نورث_داكوتا/نيو_سالم", + "أمريكا/دنفر", + "أمريكا/بويسي", + "أمريكا/شيبروك", + "أمريكا/فينيكس", + "أمريكا/لوس_أنجيلوس", + "أمريكا/أنكوريج", + "أمريكا/جونو", + "أمريكا/ياكوتات", + "أمريكا/نوم", + "أمريكا/أداك", + "المحيط_الهاديء/هونولولو", + ], + "alpha-2-code": "US", + "continent": "أمريكا الشمالية", + "name": "الولايات المتحدة الأمريكية", + "capital": "واشنطن", + }, + { + "timezones": ["أمريكا/مونتفيدو"], + "alpha-2-code": "UY", + "continent": "أمريكا الجنوبية", + "name": "أوروغواي", + "capital": "مونتفيدو", + }, + { + "timezones": ["آسيا/سمرقند", "آسيا/طشقند"], + "alpha-2-code": "UZ", + "continent": "آسيا", + "name": "أوزبكستان", + "capital": "طشقند", + }, + { + "timezones": ["أوروبا/الفاتيكان"], + "alpha-2-code": "VA", + "continent": "أوروبا", + "name": "الفاتيكان", + "capital": "الفاتيكان", + }, + { + "timezones": ["أمريكا/كاركاس"], + "alpha-2-code": "VE", + "continent": "أمريكا الجنوبية", + "name": "فنزويلا", + "capital": "كاركاس", + }, + { + "timezones": ["آسيا/سايغون"], + "alpha-2-code": "VN", + "continent": "آسيا", + "name": "فيتنام", + "capital": "هانوي", + }, + { + "timezones": ["المحيط_الهاديء/أيفاتي"], + "alpha-2-code": "VU", + "continent": "أوقيانوسيا", + "name": "فانواتو", + "capital": "بورت فيلا", + }, + { + "timezones": ["آسيا/عدن"], + "alpha-2-code": "YE", + "continent": "آسيا", + "name": "اليمن", + "capital": "صنعاء", + }, + { + "timezones": ["إفريقيا/لوساكا"], + "alpha-2-code": "ZM", + "continent": "إفريقيا", + "name": "زامبيا", + "capital": "لوساكا", + }, + { + "timezones": ["إفريقيا/هراري"], + "alpha-2-code": "ZW", + "continent": "إفريقيا", + "name": "زيمبابوي", + "capital": "هراري", + }, + { + "timezones": ["إفريقيا/الجزائر"], + "alpha-2-code": "DZ", + "continent": "إفريقيا", + "name": "الجزائر", + "capital": "الجزائر", + }, + { + "timezones": ["أوروبا/سراييفو"], + "alpha-2-code": "BA", + "continent": "أوروبا", + "name": "البوسنة والهرسك", + "capital": "سراييفو", + }, + { + "timezones": ["آسيا/بنوم_بنه"], + "alpha-2-code": "KH", + "continent": "آسيا", + "name": "كمبوديا", + "capital": "بنوم بنه", + }, + { + "timezones": ["إفريقيا/بانغي"], + "alpha-2-code": "CF", + "continent": "إفريقيا", + "name": "جمهورية أفريقيا الوسطى", + "capital": "بانغي", + }, + { + "timezones": ["إفريقيا/نجامينا"], + "alpha-2-code": "TD", + "continent": "إفريقيا", + "name": "تشاد", + "capital": "نجامينا", + }, + { + "timezones": ["الهندي/كومورو"], + "alpha-2-code": "KM", + "continent": "إفريقيا", + "name": "جزر القمر", + "capital": "موروني", + }, + { + "timezones": ["أوروبا/زغرب"], + "alpha-2-code": "HR", + "continent": "أوروبا", + "name": "كرواتيا", + "capital": "زغرب", + }, + { + "timezones": ["آسيا/ديلي"], + "alpha-2-code": "TL", + "continent": "آسيا", + "name": "تيمور الشرقية", + "capital": "ديلي", + }, + { + "timezones": ["أمريكا/السلفادور"], + "alpha-2-code": "SV", + "continent": "أمريكا الشمالية", + "name": "السلفادور", + "capital": "سان سلفادور", + }, + { + "timezones": ["إفريقيا/مالابو"], + "alpha-2-code": "GQ", + "continent": "إفريقيا", + "name": "غينيا الاستوائية", + "capital": "مالابو", + }, + { + "timezones": ["أمريكا/غرينادا"], + "alpha-2-code": "GD", + "continent": "أمريكا الشمالية", + "name": "غرينادا", + "capital": "سانت جورجز", + }, + { + "timezones": [ + "آسيا/ألماتي", + "آسيا/كيزيلوردا", + "آسيا/أقتوبي", + "آسيا/أقتاو", + "آسيا/أورال", + ], + "alpha-2-code": "KZ", + "continent": "آسيا", + "name": "كازاخستان", + "capital": "أستانة", + }, + { + "timezones": ["آسيا/فيينتيان"], + "alpha-2-code": "LA", + "continent": "آسيا", + "name": "لاوس", + "capital": "فيينتيان", + }, + { + "timezones": [ + "المحيط_الهاديء/تشوك", + "المحيط_الهاديء/بونابي", + "المحيط_الهاديء/كورساي", + ], + "alpha-2-code": "FM", + "continent": "أوقيانوسيا", + "name": "ولايات ميكرونيسيا المتحدة", + "capital": "باليكير", + }, + { + "timezones": ["أوروبا/كيشيناو"], + "alpha-2-code": "MD", + "continent": "أوروبا", + "name": "مولدافيا", + "capital": "كيشيناو", + }, + { + "timezones": ["أوروبا/موناكو"], + "alpha-2-code": "MC", + "continent": "أوروبا", + "name": "موناكو", + "capital": "موناكو", + }, + { + "timezones": ["أوروبا/بودغوريتسا"], + "alpha-2-code": "ME", + "continent": "أوروبا", + "name": "الجبل الأسود", + "capital": "بودغوريتسا", + }, + { + "timezones": ["إفريقيا/الدار_البيضاء"], + "alpha-2-code": "MA", + "continent": "إفريقيا", + "name": "المغرب", + "capital": "الرباط", + }, + { + "timezones": ["أمريكا/سانت_كيتس"], + "alpha-2-code": "KN", + "continent": "أمريكا الشمالية", + "name": "سانت كيتس ونيفيس", + "capital": "باستير", + }, + { + "timezones": ["أمريكا/سانت_لوسيا"], + "alpha-2-code": "LC", + "continent": "أمريكا الشمالية", + "name": "سانت لوسيا", + "capital": "كاستريس", + }, + { + "timezones": ["أمريكا/سينت_فينسينت"], + "alpha-2-code": "VC", + "continent": "أمريكا الشمالية", + "name": "سانت فينسنت والغرينادين", + "capital": "كينغستاون", + }, + { + "timezones": ["المحيط_الهاديء/أبيا"], + "alpha-2-code": "WS", + "continent": "أوقيانوسيا", + "name": "ساموا", + "capital": "أبيا", + }, + { + "timezones": ["أوروبا/بلغراد"], + "alpha-2-code": "RS", + "continent": "أوروبا", + "name": "صربيا", + "capital": "بلغراد", + }, + { + "timezones": ["إفريقيا/جوهانسبرغ"], + "alpha-2-code": "ZA", + "continent": "إفريقيا", + "name": "جنوب إفريقيا", + "capital": "بريتوريا", + }, + { + "timezones": ["أوروبا/مدريد", "إفريقيا/سبتة", "الأطلنطي/الكناري"], + "alpha-2-code": "ES", + "continent": "أوروبا", + "name": "إسبانيا", + "capital": "مدريد", + }, + { + "timezones": ["آسيا/كولمبو"], + "alpha-2-code": "LK", + "continent": "آسيا", + "name": "سريلانكا", + "capital": "سري جاياواردنابورا كوتي", + }, + { + "timezones": ["إفريقيا/مبابان"], + "alpha-2-code": "SZ", + "continent": "إفريقيا", + "name": "سوازيلاند", + "capital": "مبابان", + }, + { + "timezones": ["أوروبا/زيورخ"], + "alpha-2-code": "CH", + "continent": "أوروبا", + "name": "سويسرا", + "capital": "برن", + }, + { + "timezones": ["آسيا/دبي"], + "alpha-2-code": "AE", + "continent": "آسيا", + "name": "الإمارات العربية المتحدة", + "capital": "أبو ظبي", + }, + { + "timezones": ["أوروبا/لندن"], + "alpha-2-code": "GB", + "continent": "أوروبا", + "name": "المملكة المتحدة", + "capital": "لندن", + }, + ] AM_PM = { - 'AM': 'ص', - 'PM': 'م', + "AM": "ص", + "PM": "م", } - def month_name(self): - month = self.date('%m') + def month_name(self) -> str: + month = self.date("%m") return self.MONTH_NAMES[month] - def am_pm(self): - date = self.date('%p') + def am_pm(self) -> str: + date = self.date("%p") return self.AM_PM[date] - def day_of_week(self): - day = self.date('%w') + def day_of_week(self) -> str: + day = self.date("%w") return self.DAY_NAMES[day] diff --git a/faker/providers/date_time/ar_EG/__init__.py b/faker/providers/date_time/ar_EG/__init__.py index ed1fb9a55b..1a05cd6a5f 100644 --- a/faker/providers/date_time/ar_EG/__init__.py +++ b/faker/providers/date_time/ar_EG/__init__.py @@ -3,16 +3,16 @@ class Provider(ArabicDateTimeProvider): MONTH_NAMES = { - '01': 'يناير', - '02': 'فبراير', - '03': 'مارس', - '04': 'أبريل', - '05': 'مايو', - '06': 'يونيو', - '07': 'يوليو', - '08': 'أغسطس', - '09': 'سبتمبر', - '10': 'أكتوبر', - '11': 'نوفمبر', - '12': 'ديسمبر', + "01": "يناير", + "02": "فبراير", + "03": "مارس", + "04": "أبريل", + "05": "مايو", + "06": "يونيو", + "07": "يوليو", + "08": "أغسطس", + "09": "سبتمبر", + "10": "أكتوبر", + "11": "نوفمبر", + "12": "ديسمبر", } diff --git a/faker/providers/date_time/bn_BD/__init__.py b/faker/providers/date_time/bn_BD/__init__.py new file mode 100644 index 0000000000..db020c9c47 --- /dev/null +++ b/faker/providers/date_time/bn_BD/__init__.py @@ -0,0 +1,37 @@ +from .. import Provider as DateTimeProvider + + +class Provider(DateTimeProvider): + + DAY_NAMES = { + "0": "রবিবার", + "1": "সোমবার", + "2": "মঙ্গলবার", + "3": "বুধবার", + "4": "বৃহস্পতিবার", + "5": "শুক্রবার", + "6": "শনিবার", + } + + MONTH_NAMES = { + "01": "জানুয়ারি", + "02": "ফেব্রুয়ারি", + "03": "মার্চ", + "04": "এপ্রিল", + "05": "মে", + "06": "জুন", + "07": "জুলাই", + "08": "আগস্ট", + "09": "সেপ্টেম্বর", + "10": "অক্টোবর", + "11": "নভেম্বর", + "12": "ডিসেম্বর", + } + + def day_of_week(self) -> str: + day = self.date("%w") + return self.DAY_NAMES[day] + + def month_name(self) -> str: + month = self.month() + return self.MONTH_NAMES[month] diff --git a/faker/providers/date_time/el_GR/__init__.py b/faker/providers/date_time/el_GR/__init__.py new file mode 100644 index 0000000000..e1307c6b4e --- /dev/null +++ b/faker/providers/date_time/el_GR/__init__.py @@ -0,0 +1,37 @@ +from .. import Provider as DateTimeProvider + + +class Provider(DateTimeProvider): + + DAY_NAMES = { + "0": "Κυριακή", + "1": "Δευτέρα", + "2": "Τρίτη", + "3": "Τετάρτη", + "4": "Πέμπτη", + "5": "Παρασκευή", + "6": "Σάββατο", + } + + MONTH_NAMES = { + "01": "Ιανουάριος", + "02": "Φεβρουάριος", + "03": "Μάρτιος", + "04": "Απρίλιος", + "05": "Μάιος", + "06": "Ιούνιος", + "07": "Ιούλιος", + "08": "Αύγουστος", + "09": "Σεπτέμβριος", + "10": "Οκτώβριος", + "11": "Νοέμβριος", + "12": "Δεκέμβριος", + } + + def day_of_week(self): + day = self.date("%w") + return self.DAY_NAMES[day] + + def month_name(self): + month = self.month() + return self.MONTH_NAMES[month] diff --git a/faker/providers/date_time/en_PH/__init__.py b/faker/providers/date_time/en_PH/__init__.py index 5b71473d01..f57570ee02 100644 --- a/faker/providers/date_time/en_PH/__init__.py +++ b/faker/providers/date_time/en_PH/__init__.py @@ -3,4 +3,5 @@ class Provider(DateTimeProvider): """No difference from default DateTimeProvider""" + pass diff --git a/faker/providers/date_time/fil_PH/__init__.py b/faker/providers/date_time/fil_PH/__init__.py index 42a7364391..b569092460 100644 --- a/faker/providers/date_time/fil_PH/__init__.py +++ b/faker/providers/date_time/fil_PH/__init__.py @@ -5,31 +5,31 @@ class Provider(DateTimeProvider): """Provider for datetimes for fil_PH locale""" DAY_NAMES = { - '0': 'Linggo', - '1': 'Lunes', - '2': 'Martes', - '3': 'Miyerkules', - '4': 'Huwebes', - '5': 'Biyernes', - '6': 'Sabado', + "0": "Linggo", + "1": "Lunes", + "2": "Martes", + "3": "Miyerkules", + "4": "Huwebes", + "5": "Biyernes", + "6": "Sabado", } MONTH_NAMES = { - '01': 'Enero', - '02': 'Pebrero', - '03': 'Marso', - '04': 'Abril', - '05': 'Mayo', - '06': 'Hunyo', - '07': 'Hulyo', - '08': 'Agosto', - '09': 'Setyembre', - '10': 'Oktubre', - '11': 'Nobyembre', - '12': 'Disyembre', + "01": "Enero", + "02": "Pebrero", + "03": "Marso", + "04": "Abril", + "05": "Mayo", + "06": "Hunyo", + "07": "Hulyo", + "08": "Agosto", + "09": "Setyembre", + "10": "Oktubre", + "11": "Nobyembre", + "12": "Disyembre", } def day_of_week(self): - day = self.date('%w') + day = self.date("%w") return self.DAY_NAMES[day] def month_name(self): diff --git a/faker/providers/date_time/fr_FR/__init__.py b/faker/providers/date_time/fr_FR/__init__.py index 67d51fb803..ca031e97a3 100644 --- a/faker/providers/date_time/fr_FR/__init__.py +++ b/faker/providers/date_time/fr_FR/__init__.py @@ -2,9 +2,8 @@ class Provider(DateTimeProvider): - - def day_of_week(self): - day = self.date('%w') + def day_of_week(self) -> str: + day = self.date("%w") DAY_NAMES = { "0": "Dimanche", "1": "Lundi", @@ -16,7 +15,7 @@ def day_of_week(self): } return DAY_NAMES[day] - def month_name(self): + def month_name(self) -> str: month = self.month() MONTH_NAMES = { "01": "Janvier", diff --git a/faker/providers/date_time/hi_IN/__init__.py b/faker/providers/date_time/hi_IN/__init__.py index 93ddf52d2d..06ff2f1028 100644 --- a/faker/providers/date_time/hi_IN/__init__.py +++ b/faker/providers/date_time/hi_IN/__init__.py @@ -2,9 +2,8 @@ class Provider(DateTimeProvider): - - def day_of_week(self): - day = self.date('%w') + def day_of_week(self) -> str: + day = self.date("%w") DAY_NAMES = { "0": "सोमवार", "1": "मंगलवार", @@ -17,7 +16,7 @@ def day_of_week(self): return DAY_NAMES[day] - def month_name(self): + def month_name(self) -> str: month = self.month() MONTH_NAMES = { "01": "जनवरी", diff --git a/faker/providers/date_time/hr_HR/__init__.py b/faker/providers/date_time/hr_HR/__init__.py index f885a2f464..010ebb8d6e 100644 --- a/faker/providers/date_time/hr_HR/__init__.py +++ b/faker/providers/date_time/hr_HR/__init__.py @@ -2,9 +2,8 @@ class Provider(DateTimeProvider): - - def day_of_week(self): - day = self.date('%w') + def day_of_week(self) -> str: + day = self.date("%w") DAY_NAMES = { "0": "Nedjelja", "1": "Ponedjeljak", @@ -16,7 +15,7 @@ def day_of_week(self): } return DAY_NAMES[day] - def month_name(self): + def month_name(self) -> str: month = self.month() MONTH_NAMES = { "01": "Siječanj", diff --git a/faker/providers/date_time/hu_HU/__init__.py b/faker/providers/date_time/hu_HU/__init__.py index 7b579af620..58a22b0d99 100644 --- a/faker/providers/date_time/hu_HU/__init__.py +++ b/faker/providers/date_time/hu_HU/__init__.py @@ -2,9 +2,8 @@ class Provider(DateTimeProvider): - - def day_of_week(self): - day = self.date('%w') + def day_of_week(self) -> str: + day = self.date("%w") DAY_NAMES = { "0": "hétfő", "1": "kedd", @@ -17,7 +16,7 @@ def day_of_week(self): return DAY_NAMES[day] - def month_name(self): + def month_name(self) -> str: month = self.month() MONTH_NAMES = { "01": "január", diff --git a/faker/providers/date_time/hy_AM/__init__.py b/faker/providers/date_time/hy_AM/__init__.py index ad7f3cd686..b2fb86e3f1 100644 --- a/faker/providers/date_time/hy_AM/__init__.py +++ b/faker/providers/date_time/hy_AM/__init__.py @@ -29,7 +29,7 @@ class Provider(DateTimeProvider): } def day_of_week(self): - day = self.date('%w') + day = self.date("%w") return self.DAY_NAMES[day] def month_name(self): diff --git a/faker/providers/date_time/id_ID/__init__.py b/faker/providers/date_time/id_ID/__init__.py index 943d2cf5b6..f59e3fde07 100644 --- a/faker/providers/date_time/id_ID/__init__.py +++ b/faker/providers/date_time/id_ID/__init__.py @@ -2,9 +2,8 @@ class Provider(DateTimeProvider): - - def day_of_week(self): - day = self.date('%w') + def day_of_week(self) -> str: + day = self.date("%w") DAY_NAMES = { "0": "Senin", "1": "Selasa", @@ -17,7 +16,7 @@ def day_of_week(self): return DAY_NAMES[day] - def month_name(self): + def month_name(self) -> str: month = self.month() MONTH_NAMES = { "01": "Januari", diff --git a/faker/providers/date_time/ko_KR/__init__.py b/faker/providers/date_time/ko_KR/__init__.py index 8d2dbc623e..12de46271e 100644 --- a/faker/providers/date_time/ko_KR/__init__.py +++ b/faker/providers/date_time/ko_KR/__init__.py @@ -2,9 +2,8 @@ class Provider(DateTimeProvider): - - def day_of_week(self): - day = self.date('%w') + def day_of_week(self) -> str: + day = self.date("%w") DAY_NAMES = { "0": "일요일", "1": "월요일", @@ -16,7 +15,7 @@ def day_of_week(self): } return DAY_NAMES[day] - def month_name(self): + def month_name(self) -> str: month = self.month() MONTH_NAMES = { "01": "1월", diff --git a/faker/providers/date_time/nl_NL/__init__.py b/faker/providers/date_time/nl_NL/__init__.py new file mode 100644 index 0000000000..e7cc5854be --- /dev/null +++ b/faker/providers/date_time/nl_NL/__init__.py @@ -0,0 +1,37 @@ +from .. import Provider as DateTimeProvider + + +class Provider(DateTimeProvider): + + DAY_NAMES = { + "0": "zondag", + "1": "maandag", + "2": "dinsdag", + "3": "woensdag", + "4": "donderdag", + "5": "vrijdag", + "6": "zaterdag", + } + + MONTH_NAMES = { + "01": "januari", + "02": "februari", + "03": "maart", + "04": "april", + "05": "mei", + "06": "juni", + "07": "juli", + "08": "augustus", + "09": "september", + "10": "oktober", + "11": "november", + "12": "december", + } + + def day_of_week(self): + day = self.date("%w") + return self.DAY_NAMES[day] + + def month_name(self): + month = self.month() + return self.MONTH_NAMES[month] diff --git a/faker/providers/date_time/pl_PL/__init__.py b/faker/providers/date_time/pl_PL/__init__.py index 907e8093fc..416dce11e8 100644 --- a/faker/providers/date_time/pl_PL/__init__.py +++ b/faker/providers/date_time/pl_PL/__init__.py @@ -4,32 +4,32 @@ class Provider(DateTimeProvider): DAY_NAMES = { - '0': 'poniedziałek', - '1': 'wtorek', - '2': 'środa', - '3': 'czwartek', - '4': 'piątek', - '5': 'sobota', - '6': 'niedziela', + "0": "poniedziałek", + "1": "wtorek", + "2": "środa", + "3": "czwartek", + "4": "piątek", + "5": "sobota", + "6": "niedziela", } MONTH_NAMES = { - '01': 'styczeń', - '02': 'luty', - '03': 'marzec', - '04': 'kwiecień', - '05': 'maj', - '06': 'czerwiec', - '07': 'lipiec', - '08': 'sierpień', - '09': 'wrzesień', - '10': 'październik', - '11': 'listopad', - '12': 'grudzień', + "01": "styczeń", + "02": "luty", + "03": "marzec", + "04": "kwiecień", + "05": "maj", + "06": "czerwiec", + "07": "lipiec", + "08": "sierpień", + "09": "wrzesień", + "10": "październik", + "11": "listopad", + "12": "grudzień", } def day_of_week(self): - day = self.date('%w') + day = self.date("%w") return self.DAY_NAMES[day] def month_name(self): diff --git a/faker/providers/date_time/pt_BR/__init__.py b/faker/providers/date_time/pt_BR/__init__.py new file mode 100644 index 0000000000..e853211f0c --- /dev/null +++ b/faker/providers/date_time/pt_BR/__init__.py @@ -0,0 +1,37 @@ +from .. import Provider as DateTimeProvider + + +class Provider(DateTimeProvider): + + DAY_NAMES = { + "0": "domingo", + "1": "segunda-feira", + "2": "terça-feira", + "3": "quarta-feira", + "4": "quinta-feira", + "5": "sexta-feira", + "6": "sábado", + } + + MONTH_NAMES = { + "01": "janeiro", + "02": "fevereiro", + "03": "março", + "04": "abril", + "05": "maio", + "06": "junho", + "07": "julho", + "08": "agosto", + "09": "setembro", + "10": "outubro", + "11": "novembro", + "12": "dezembro", + } + + def day_of_week(self): + day = self.date("%w") + return self.DAY_NAMES[day] + + def month_name(self): + month = self.month() + return self.MONTH_NAMES[month] diff --git a/faker/providers/date_time/pt_PT/__init__.py b/faker/providers/date_time/pt_PT/__init__.py new file mode 100644 index 0000000000..e853211f0c --- /dev/null +++ b/faker/providers/date_time/pt_PT/__init__.py @@ -0,0 +1,37 @@ +from .. import Provider as DateTimeProvider + + +class Provider(DateTimeProvider): + + DAY_NAMES = { + "0": "domingo", + "1": "segunda-feira", + "2": "terça-feira", + "3": "quarta-feira", + "4": "quinta-feira", + "5": "sexta-feira", + "6": "sábado", + } + + MONTH_NAMES = { + "01": "janeiro", + "02": "fevereiro", + "03": "março", + "04": "abril", + "05": "maio", + "06": "junho", + "07": "julho", + "08": "agosto", + "09": "setembro", + "10": "outubro", + "11": "novembro", + "12": "dezembro", + } + + def day_of_week(self): + day = self.date("%w") + return self.DAY_NAMES[day] + + def month_name(self): + month = self.month() + return self.MONTH_NAMES[month] diff --git a/faker/providers/date_time/ro_RO/__init__.py b/faker/providers/date_time/ro_RO/__init__.py new file mode 100644 index 0000000000..fdf103e625 --- /dev/null +++ b/faker/providers/date_time/ro_RO/__init__.py @@ -0,0 +1,37 @@ +from .. import Provider as DateTimeProvider + + +class Provider(DateTimeProvider): + + DAY_NAMES = { + "0": "duminica", + "1": "luni", + "2": "marti", + "3": "miercuri", + "4": "joi", + "5": "vineri", + "6": "sambata", + } + + MONTH_NAMES = { + "01": "ianuarie", + "02": "februarie", + "03": "martie", + "04": "aprilie", + "05": "mai", + "06": "iunie", + "07": "iulie", + "08": "august", + "09": "septembrie", + "10": "octombrie", + "11": "noiembrie", + "12": "decembrie", + } + + def day_of_week(self): + day = self.date("%w") + return self.DAY_NAMES[day] + + def month_name(self): + month = self.month() + return self.MONTH_NAMES[month] diff --git a/faker/providers/date_time/ru_RU/__init__.py b/faker/providers/date_time/ru_RU/__init__.py index 8618c5086b..e4a92ef325 100644 --- a/faker/providers/date_time/ru_RU/__init__.py +++ b/faker/providers/date_time/ru_RU/__init__.py @@ -29,1217 +29,1611 @@ class Provider(DateTimeProvider): } # Timezone names are based on Wiki list, source: https://ru.wikipedia.org/wiki/Список_часовых_поясов_по_странам - countries = [{'timezones': ['Андорра (UTC+01)'], - 'alpha-2-code': 'AD', - 'alpha-3-code': 'AND', - 'continent': 'Европа', - 'name': 'Андорра', - 'capital': 'Андорра-ла-Велья'}, - {'timezones': ['Афганистан (UTC+04:30)'], - 'alpha-2-code': 'AF', - 'alpha-3-code': 'AFG', - 'continent': 'Азия', - 'name': 'Афганистан', - 'capital': 'Кабул'}, - {'timezones': ['Антигуа и Барбуда (UTC-04)'], - 'alpha-2-code': 'AG', - 'alpha-3-code': 'ATG', - 'continent': 'Северная Америка', - 'name': 'Антигуа и Барбуда', - 'capital': "Сент-Джонс"}, - {'timezones': ['Албания (UTC+01)'], - 'alpha-2-code': 'AL', - 'alpha-3-code': 'ALB', - 'continent': 'Европа', - 'name': 'Албания', - 'capital': 'Тирана'}, - {'timezones': ['Армения (UTC+04)'], - 'alpha-2-code': 'AM', - 'alpha-3-code': 'ARM', - 'continent': 'Азия', - 'name': 'Армения', - 'capital': 'Ереван'}, - {'timezones': ['Ангола (UTC+01)'], - 'alpha-2-code': 'AO', - 'alpha-3-code': 'AGO', - 'continent': 'Африка', - 'name': 'Ангола', - 'capital': 'Луанда'}, - {'timezones': ['Аргентина (UTC-03)'], - 'alpha-2-code': 'AR', - 'alpha-3-code': 'ARG', - 'continent': 'Южная Америка', - 'name': 'Аргентина', - 'capital': 'Буэнос Айрес'}, - {'timezones': ['Австрия (UTC+01)'], - 'alpha-2-code': 'AT', - 'alpha-3-code': 'AUT', - 'continent': 'Европа', - 'name': 'Австрия', - 'capital': 'Вена'}, - {'timezones': ['Австралия (UTC+05)', - 'Австралия (UTC+06:30)', - 'Австралия (UTC+07)', - 'Австралия (UTC+08)', - 'Австралия (UTC+9:30)', - 'Австралия (UTC+10)', - 'Австралия (UTC+10:30)', - 'Австралия (UTC+11:30)'], - 'alpha-2-code': 'AU', - 'alpha-3-code': 'AUS', - 'continent': 'Океания', - 'name': 'Австралия', - 'capital': 'Канберра'}, - {'timezones': ['Азербайджан (UTC+04)'], - 'alpha-2-code': 'AZ', - 'alpha-3-code': 'AZE', - 'continent': 'Азия', - 'name': 'Азербайджан', - 'capital': 'Баку'}, - {'timezones': ['Барбадос (UTC-04)'], - 'alpha-2-code': 'BB', - 'alpha-3-code': 'BRB', - 'continent': 'Северная Америка', - 'name': 'Барбадос', - 'capital': 'Бриджтаун'}, - {'timezones': ['Бангладеш (UTC+06)'], - 'alpha-2-code': 'BD', - 'alpha-3-code': 'BGD', - 'continent': 'Азия', - 'name': 'Бангладеш', - 'capital': 'Дака'}, - {'timezones': ['Бельгия (UTC+01)'], - 'alpha-2-code': 'BE', - 'alpha-3-code': 'BEL', - 'continent': 'Европа', - 'name': 'Бельгия', - 'capital': 'Брюссель'}, - {'timezones': ['Буркина-Фасо (UTC)'], - 'alpha-2-code': 'BF', - 'alpha-3-code': 'BFA', - 'continent': 'Африка', - 'name': 'Буркина-Фасо', - 'capital': 'Уагадугу'}, - {'timezones': ['Болгария (UTC+02)'], - 'alpha-2-code': 'BG', - 'alpha-3-code': 'BGR', - 'continent': 'Европа', - 'name': 'Болгария', - 'capital': 'София'}, - {'timezones': ['Бахрейн (UTC+03)'], - 'alpha-2-code': 'BH', - 'alpha-3-code': 'BHR', - 'continent': 'Азия', - 'name': 'Бахрейн', - 'capital': 'Манама'}, - {'timezones': ['Бурунди (UTC+02)'], - 'alpha-2-code': 'BI', - 'alpha-3-code': 'BDI', - 'continent': 'Африка', - 'name': 'Бурунди', - 'capital': 'Гитега'}, - {'timezones': ['Бенин (UTC+01)'], - 'alpha-2-code': 'BJ', - 'alpha-3-code': 'BEN', - 'continent': 'Африка', - 'name': 'Бенин', - 'capital': 'Порто-Ново'}, - {'timezones': ['Бруней (UTC+08)'], - 'alpha-2-code': 'BN', - 'alpha-3-code': 'BRN', - 'continent': 'Азия', - 'name': 'Бруней', - 'capital': 'Бандар-Сери-Бегаван'}, - {'timezones': ['Боливия (UTC-04)'], - 'alpha-2-code': 'BO', - 'alpha-3-code': 'BOL', - 'continent': 'Южная Америка', - 'name': 'Боливия', - 'capital': 'Сукре'}, - {'timezones': ['Бразилия (UTC-05)', - 'Бразилия (UTC-04)', - 'Бразилия (UTC-03)', - 'Бразилия (UTC-02)'], - 'alpha-2-code': 'BR', - 'alpha-3-code': 'BRA', - 'continent': 'Южная Америка', - 'name': 'Бразилия', - 'capital': 'Бразилиа'}, - {'timezones': ['Багамские Острова (UTC-05)'], - 'alpha-2-code': 'BS', - 'alpha-3-code': 'BHS', - 'continent': 'Северная Америка', - 'name': 'Багамские Острова', - 'capital': 'Нассау'}, - {'timezones': ['Бутан (UTC+06)'], - 'alpha-2-code': 'BT', - 'alpha-3-code': 'BTN', - 'continent': 'Азия', - 'name': 'Бутан', - 'capital': 'Тхимпху'}, - {'timezones': ['Ботсвана (UTC+02)'], - 'alpha-2-code': 'BW', - 'alpha-3-code': 'BWA', - 'continent': 'Африка', - 'name': 'Ботсвана', - 'capital': 'Габороне'}, - {'timezones': ['Белоруссия (UTC+03)'], - 'alpha-2-code': 'BY', - 'alpha-3-code': 'BLR', - 'continent': 'Европа', - 'name': 'Белоруссия', - 'capital': 'Минск'}, - {'timezones': ['Белиз (UTC-06)'], - 'alpha-2-code': 'BZ', - 'alpha-3-code': 'BLZ', - 'continent': 'Северная Америка', - 'name': 'Белиз', - 'capital': 'Бельмопан'}, - {'timezones': ['Канада (UTC-08)', - 'Канада (UTC-07)', - 'Канада (UTC-06)', - 'Канада (UTC-05)', - 'Канада (UTC-04)', - 'Канада (UTC-03:30)'], - 'alpha-2-code': 'CA', - 'alpha-3-code': 'CAN', - 'continent': 'Северная Америка', - 'name': 'Канада', - 'capital': 'Оттава'}, - {'timezones': ['Демократическая Республика Конго (UTC+01)', - 'Демократическая Республика Конго (UTC+02)'], - 'alpha-2-code': 'CD', - 'alpha-3-code': 'COD', - 'continent': 'Африка', - 'name': 'Демократическая Республика Конго', - 'capital': 'Киншаса'}, - {'timezones': ['Республика Конго (UTC+01)'], - 'alpha-2-code': 'CG', - 'alpha-3-code': 'COG', - 'continent': 'Африка', - 'name': 'Руспублика Конго', - 'capital': 'Браззавиль'}, - {'timezones': ["Кот-д'Ивуар (UTC)"], - 'alpha-2-code': 'CI', - 'alpha-3-code': 'CIV', - 'continent': 'Африка', - 'name': "Кот-д'Ивуар", - 'capital': 'Ямусукро'}, - {'timezones': ['Чили (UTC-06)', - 'Чили (UTC-04)'], - 'alpha-2-code': 'CL', - 'alpha-3-code': 'CHL', - 'continent': 'Южная Америка', - 'name': 'Чили', - 'capital': 'Сантьяго'}, - {'timezones': ['Камерун (UTC+01)'], - 'alpha-2-code': 'CM', - 'alpha-3-code': 'CMR', - 'continent': 'Африка', - 'name': 'Камерун', - 'capital': 'Яунде'}, - {'timezones': ['Китай (UTC+08)'], - 'alpha-2-code': 'CN', - 'alpha-3-code': 'CHN', - 'continent': 'Азия', - 'name': "Китайская Народная Республика", - 'capital': 'Пекин'}, - {'timezones': ['Колумбия (UTC-05)'], - 'alpha-2-code': 'CO', - 'alpha-3-code': 'COL', - 'continent': 'Южная Америка', - 'name': 'Колумбия', - 'capital': 'Богота'}, - {'timezones': ['Коста-Рика (UTC-06)'], - 'alpha-2-code': 'CR', - 'alpha-3-code': 'CRI', - 'continent': 'Северная Америка', - 'name': 'Коста-Рика', - 'capital': 'Сан-Хосе'}, - {'timezones': ['Куба (UTC-05)'], - 'alpha-2-code': 'CU', - 'alpha-3-code': 'CUB', - 'continent': 'Северная Америка', - 'name': 'Куба', - 'capital': 'Гавана'}, - {'timezones': ['Кабо-Верде (UTC-01)'], - 'alpha-2-code': 'CV', - 'alpha-3-code': 'CPV', - 'continent': 'Африка', - 'name': 'Кабо-Верде', - 'capital': 'Прая'}, - {'timezones': ['Кипр (UTC+02)'], - 'alpha-2-code': 'CY', - 'alpha-3-code': 'CYP', - 'continent': 'Азия', - 'name': 'Кипр', - 'capital': 'Никосия'}, - {'timezones': ['Чехия (UTC+01)'], - 'alpha-2-code': 'CZ', - 'alpha-3-code': 'CZE', - 'continent': 'Европа', - 'name': 'Чехия', - 'capital': 'Прага'}, - {'timezones': ['Германия (UTC+01)'], - 'alpha-2-code': 'DE', - 'alpha-3-code': 'DEU', - 'continent': 'Европа', - 'name': 'Германия', - 'capital': 'Берлин'}, - {'timezones': ['Джибути (UTC+03)'], - 'alpha-2-code': 'DJ', - 'alpha-3-code': 'DJI', - 'continent': 'Африка', - 'name': 'Джибути', - 'capital': 'Джибути'}, - {'timezones': ['Дания (UTC+01)'], - 'alpha-2-code': 'DK', - 'alpha-3-code': 'DNK', - 'continent': 'Европа', - 'name': 'Дания', - 'capital': 'Копенгаген'}, - {'timezones': ['Доминика (UTC-04)'], - 'alpha-2-code': 'DM', - 'alpha-3-code': 'DMA', - 'continent': 'Северная Америка', - 'name': 'Доминика', - 'capital': 'Розо'}, - {'timezones': ['Доминиканская Республика (UTC-04)'], - 'alpha-2-code': 'DO', - 'alpha-3-code': 'DOM', - 'continent': 'Северная Америка', - 'name': 'Доминиканская Республика', - 'capital': 'Санто-Доминго'}, - {'timezones': ['Эквадор (UTC-06)', - 'Эквадор (UTC-05)'], - 'alpha-2-code': 'EC', - 'alpha-3-code': 'ECU', - 'continent': 'Южная Америка', - 'name': 'Эквадор', - 'capital': 'Кито'}, - {'timezones': ['Эстония (UTC+02)'], - 'alpha-2-code': 'EE', - 'alpha-3-code': 'EST', - 'continent': 'Европа', - 'name': 'Эстония', - 'capital': 'Таллинн'}, - {'timezones': ['Египет (UTC+02)'], - 'alpha-2-code': 'EG', - 'alpha-3-code': 'EGY', - 'continent': 'Африка', - 'name': 'Египет', - 'capital': 'Каир'}, - {'timezones': ['Эритрея (UTC+03)'], - 'alpha-2-code': 'ER', - 'alpha-3-code': 'ERI', - 'continent': 'Африка', - 'name': 'Эритрея', - 'capital': 'Асмэра'}, - {'timezones': ['Эфиопия (UTC+03)'], - 'alpha-2-code': 'ET', - 'alpha-3-code': 'ETH', - 'continent': 'Африка', - 'name': 'Эфиопия', - 'capital': 'Аддис-Абеба'}, - {'timezones': ['Финляндия (UTC+02)'], - 'alpha-2-code': 'FI', - 'alpha-3-code': 'FIN', - 'continent': 'Европа', - 'name': 'Финляндия', - 'capital': 'Хельсинки'}, - {'timezones': ['Фиджи (UTC+12)'], - 'alpha-2-code': 'FJ', - 'alpha-3-code': 'FJI', - 'continent': 'Океания', - 'name': 'Фиджи', - 'capital': 'Сува'}, - {'timezones': ['Франция (UTC+01)'], - 'alpha-2-code': 'FR', - 'alpha-3-code': 'FRA', - 'continent': 'Европа', - 'name': 'Франция', - 'capital': 'Париж'}, - {'timezones': ['Габон (UTC+01)'], - 'alpha-2-code': 'GA', - 'alpha-3-code': 'GAB', - 'continent': 'Африка', - 'name': 'Габон', - 'capital': 'Либревиль'}, - {'timezones': ['Грузия (UTC+04)'], - 'alpha-2-code': 'GE', - 'alpha-3-code': 'GEO', - 'continent': 'Азия', - 'name': 'Грузия', - 'capital': 'Тбилиси'}, - {'timezones': ['Гана (UTC)'], - 'alpha-2-code': 'GH', - 'alpha-3-code': 'GHA', - 'continent': 'Африка', - 'name': 'Гана', - 'capital': 'Аккра'}, - {'timezones': ['Гамбия (UTC)'], - 'alpha-2-code': 'GM', - 'alpha-3-code': 'GMB', - 'continent': 'Африка', - 'name': 'Гамбия', - 'capital': 'Банджул'}, - {'timezones': ['Гвинея (UTC)'], - 'alpha-2-code': 'GN', - 'alpha-3-code': 'GIN', - 'continent': 'Африка', - 'name': 'Гвинея', - 'capital': 'Конакри'}, - {'timezones': ['Греция (UTC+02)'], - 'alpha-2-code': 'GR', - 'alpha-3-code': 'GRC', - 'continent': 'Европа', - 'name': 'Греция', - 'capital': 'Афины'}, - {'timezones': ['Гватемала (UTC-06)'], - 'alpha-2-code': 'GT', - 'alpha-3-code': 'GTM', - 'continent': 'Северная Америка', - 'name': 'Гватемала', - 'capital': 'Гватемала'}, - {'timezones': ['Гаити (UTC-05)'], - 'alpha-2-code': 'HT', - 'alpha-3-code': 'HTI', - 'continent': 'Северная Америка', - 'name': 'Гаити', - 'capital': 'Порт-о-Пренс'}, - {'timezones': ['Гвинея-Бисау (UTC)'], - 'alpha-2-code': 'GW', - 'alpha-3-code': 'GNB', - 'continent': 'Африка', - 'name': 'Гвинея-Бисау', - 'capital': 'Бисау'}, - {'timezones': ['Гайана (UTC-04)'], - 'alpha-2-code': 'GY', - 'alpha-3-code': 'GUY', - 'continent': 'Южная Америка', - 'name': 'Гайана', - 'capital': 'Джорджтаун'}, - {'timezones': ['Гондурас (UTC-06)'], - 'alpha-2-code': 'HN', - 'alpha-3-code': 'HND', - 'continent': 'Северная Америка', - 'name': 'Гондурас', - 'capital': 'Тегусигальпа'}, - {'timezones': ['Венгрия (UTC+01)'], - 'alpha-2-code': 'HU', - 'alpha-3-code': 'HUN', - 'continent': 'Европа', - 'name': 'Венгрия', - 'capital': 'Будапешт'}, - {'timezones': ['Индонезия (UTC+07)', - 'Индонезия (UTC+08)', - 'Индонезия (UTC+09)'], - 'alpha-2-code': 'ID', - 'alpha-3-code': 'IDN', - 'continent': 'Азия', - 'name': 'Индонезия', - 'capital': 'Джакарта'}, - {'timezones': ['Ирландия (UTC)'], - 'alpha-2-code': 'IE', - 'alpha-3-code': 'IRL', - 'continent': 'Европа', - 'name': 'Ирландия', - 'capital': 'Дублин'}, - {'timezones': ['Израиль (UTC+02)'], - 'alpha-2-code': 'IL', - 'alpha-3-code': 'ISR', - 'continent': 'Азия', - 'name': 'Израиль', - 'capital': 'Иерусалим'}, - {'timezones': ['Индия (UTC+05:30'], - 'alpha-2-code': 'IN', - 'alpha-3-code': 'IND', - 'continent': 'Азия', - 'name': 'Индия', - 'capital': 'Дели'}, - {'timezones': ['Ирак (UTC+03)'], - 'alpha-2-code': 'IQ', - 'alpha-3-code': 'IRQ', - 'continent': 'Азия', - 'name': 'Ирак', - 'capital': 'Багдад'}, - {'timezones': ['Иран (UTC+03:30)'], - 'alpha-2-code': 'IR', - 'alpha-3-code': 'IRN', - 'continent': 'Азия', - 'name': 'Иран', - 'capital': 'Тегеран'}, - {'timezones': ['Исландия (UTC)'], - 'alpha-2-code': 'IS', - 'alpha-3-code': 'ISL', - 'continent': 'Европа', - 'name': 'Исландия', - 'capital': 'Рейкьявик'}, - {'timezones': ['Италия (UTC+01)'], - 'alpha-2-code': 'IT', - 'alpha-3-code': 'ITA', - 'continent': 'Европа', - 'name': 'Италия', - 'capital': 'Рим'}, - {'timezones': ['Ямайка (UTC-05)'], - 'alpha-2-code': 'JM', - 'alpha-3-code': 'JAM', - 'continent': 'Северная Америка', - 'name': 'Ямайка', - 'capital': 'Кингстон'}, - {'timezones': ['Иордания (UTC+02)'], - 'alpha-2-code': 'JO', - 'alpha-3-code': 'JOR', - 'continent': 'Азия', - 'name': 'Иордания', - 'capital': 'Амман'}, - {'timezones': ['Япония (UTC+09)'], - 'alpha-2-code': 'JP', - 'alpha-3-code': 'JPN', - 'continent': 'Азия', - 'name': 'Япония', - 'capital': 'Токио'}, - {'timezones': ['Кения (UTC+03)'], - 'alpha-2-code': 'KE', - 'alpha-3-code': 'KEN', - 'continent': 'Африка', - 'name': 'Кения', - 'capital': 'Найроби'}, - {'timezones': ['Киргизия (UTC+06)'], - 'alpha-2-code': 'KG', - 'alpha-3-code': 'KGZ', - 'continent': 'Азия', - 'name': 'Киргизия', - 'capital': 'Бишкек'}, - {'timezones': ['Кирибати (UTC+12)', - 'Кирибати (UTC+13)', - 'Кирибати (UTC+14)'], - 'alpha-2-code': 'KI', - 'alpha-3-code': 'KIR', - 'continent': 'Океания', - 'name': 'Кирибати', - 'capital': 'Южная Тарава'}, - {'timezones': ['КНДР (UTC+09)'], - 'alpha-2-code': 'KP', - 'alpha-3-code': 'PRK', - 'continent': 'Азия', - 'name': 'КНДР', - 'capital': 'Пхеньян'}, - {'timezones': ['Республика Корея (UTC+09)'], - 'alpha-2-code': 'KR', - 'alpha-3-code': 'KOR', - 'continent': 'Азия', - 'name': 'Республика Корея', - 'capital': 'Сеул'}, - {'timezones': ['Кувейт (UTC+03)'], - 'alpha-2-code': 'KW', - 'alpha-3-code': 'KWT', - 'continent': 'Азия', - 'name': 'Кувейт', - 'capital': 'Эль-Кувейт'}, - {'timezones': ['Ливан (UTC+02)'], - 'alpha-2-code': 'LB', - 'alpha-3-code': 'LBN', - 'continent': 'Азия', - 'name': 'Ливан', - 'capital': 'Бейрут'}, - {'timezones': ['Лихтенштейн (UTC+01)'], - 'alpha-2-code': 'LI', - 'alpha-3-code': 'LIE', - 'continent': 'Европа', - 'name': 'Лихтенштейн', - 'capital': 'Вадуц'}, - {'timezones': ['Либерия (UTC)'], - 'alpha-2-code': 'LR', - 'alpha-3-code': 'LBR', - 'continent': 'Африка', - 'name': 'Либерия', - 'capital': 'Монровия'}, - {'timezones': ['Лесото (UTC+02)'], - 'alpha-2-code': 'LS', - 'alpha-3-code': 'LSO', - 'continent': 'Африка', - 'name': 'Лесото', - 'capital': 'Масеру'}, - {'timezones': ['Литва (UTC+02)'], - 'alpha-2-code': 'LT', - 'alpha-3-code': 'LTU', - 'continent': 'Европа', - 'name': 'Литва', - 'capital': 'Вильнюс'}, - {'timezones': ['Люксембург (UTC+01)'], - 'alpha-2-code': 'LU', - 'alpha-3-code': 'LUX', - 'continent': 'Европа', - 'name': 'Люксембург', - 'capital': 'Люксембург'}, - {'timezones': ['Латвия (UTC+02)'], - 'alpha-2-code': 'LV', - 'alpha-3-code': 'LVA', - 'continent': 'Европа', - 'name': 'Латвия', - 'capital': 'Рига'}, - {'timezones': ['Ливия (UTC+02)'], - 'alpha-2-code': 'LY', - 'alpha-3-code': 'LBY', - 'continent': 'Африка', - 'name': 'Ливия', - 'capital': 'Триполи'}, - {'timezones': ['Мадагаскар (UTC+03)'], - 'alpha-2-code': 'MG', - 'alpha-3-code': 'MDG', - 'continent': 'Африка', - 'name': 'Мадагаскар', - 'capital': 'Антананариву'}, - {'timezones': ['Маршалловы Острова (UTC+12)'], - 'alpha-2-code': 'MH', - 'alpha-3-code': 'MHL', - 'continent': 'Океания', - 'name': 'Маршалловы Острова', - 'capital': 'Маджуро'}, - {'timezones': ['Северная Македония (UTC+01)'], - 'alpha-2-code': 'MK', - 'alpha-3-code': 'MKD', - 'continent': 'Европа', - 'name': 'Северная Македония', - 'capital': 'Скопье'}, - {'timezones': ['Мали (UTC)'], - 'alpha-2-code': 'ML', - 'alpha-3-code': 'MLI', - 'continent': 'Африка', - 'name': 'Мали', - 'capital': 'Бамако'}, - {'timezones': ['Мьянма (UTC+06:30)'], - 'alpha-2-code': 'MM', - 'alpha-3-code': 'MMR', - 'continent': 'Азия', - 'name': 'Мьянма', - 'capital': 'Нейпьидо'}, - {'timezones': ['Монголия (UTC+07)', - 'Монголия (UTC+08)'], - 'alpha-2-code': 'MN', - 'alpha-3-code': 'MNG', - 'continent': 'Азия', - 'name': 'Монголия', - 'capital': 'Улан-Батор'}, - {'timezones': ['Мавритания (UTC)'], - 'alpha-2-code': 'MR', - 'alpha-3-code': 'MRT', - 'continent': 'Африка', - 'name': 'Мавритания', - 'capital': 'Нуакшот'}, - {'timezones': ['Мальта (UTC+01)'], - 'alpha-2-code': 'MT', - 'alpha-3-code': 'MLT', - 'continent': 'Европа', - 'name': 'Мальта', - 'capital': 'Валлетта'}, - {'timezones': ['Маврикий (UTC+04)'], - 'alpha-2-code': 'MU', - 'alpha-3-code': 'MUS', - 'continent': 'Африка', - 'name': 'Маврикий', - 'capital': 'Порт-Луи'}, - {'timezones': ['Мальдивы (UTC+05)'], - 'alpha-2-code': 'MV', - 'alpha-3-code': 'MDV', - 'continent': 'Азия', - 'name': 'Мальдивы', - 'capital': 'Мале'}, - {'timezones': ['Малави (UTC+02)'], - 'alpha-2-code': 'MW', - 'alpha-3-code': 'MWI', - 'continent': 'Африка', - 'name': 'Малави', - 'capital': 'Лилонгве'}, - {'timezones': ['Мексика (UTC-08)', - 'Мексика (UTC-07)', - 'Мексика (UTC-06)'], - 'alpha-2-code': 'MX', - 'alpha-3-code': 'MEX', - 'continent': 'Северная Америка', - 'name': 'Мексика', - 'capital': 'Мехико'}, - {'timezones': ['Малайзия (UTC+08)'], - 'alpha-2-code': 'MY', - 'alpha-3-code': 'MYS', - 'continent': 'Азия', - 'name': 'Малайзия', - 'capital': 'Куала-Лумпур'}, - {'timezones': ['Мозамбик (UTC+02)'], - 'alpha-2-code': 'MZ', - 'alpha-3-code': 'MOZ', - 'continent': 'Африка', - 'name': 'Мозамбик', - 'capital': 'Мапуту'}, - {'timezones': ['Намибия (UTC+01)'], - 'alpha-2-code': 'NA', - 'alpha-3-code': 'NAM', - 'continent': 'Африка', - 'name': 'Намибия', - 'capital': 'Виндхук'}, - {'timezones': ['Нигер (UTC+01)'], - 'alpha-2-code': 'NE', - 'alpha-3-code': 'NER', - 'continent': 'Африка', - 'name': 'Нигер', - 'capital': 'Ниамей'}, - {'timezones': ['Нигерия (UTC+01)'], - 'alpha-2-code': 'NG', - 'alpha-3-code': 'NGA', - 'continent': 'Африка', - 'name': 'Нигерия', - 'capital': 'Абуджа'}, - {'timezones': ['Никарагуа (UTC-06)'], - 'alpha-2-code': 'NI', - 'alpha-3-code': 'NIC', - 'continent': 'Северная Америка', - 'name': 'Никарагуа', - 'capital': 'Манагуа'}, - {'timezones': ['Нидерланды (UTC+01)'], - 'alpha-2-code': 'NL', - 'alpha-3-code': 'NLD', - 'continent': 'Европа', - 'name': 'Нидерланды', - 'capital': 'Амстердам'}, - {'timezones': ['Норвегия (UTC+01)'], - 'alpha-2-code': 'NO', - 'alpha-3-code': 'NOR', - 'continent': 'Европа', - 'name': 'Норвегия', - 'capital': 'Осло'}, - {'timezones': ['Непал (UTC+05:45'], - 'alpha-2-code': 'NP', - 'alpha-3-code': 'NPL', - 'continent': 'Азия', - 'name': 'Непал', - 'capital': 'Катманду'}, - {'timezones': ['Науру (UTC+12)'], - 'alpha-2-code': 'NR', - 'alpha-3-code': 'NRU', - 'continent': 'Океания', - 'name': 'Науру', - 'capital': 'Ярен'}, - {'timezones': ['Новая Зеландия (UTC+12)'], - 'alpha-2-code': 'NZ', - 'alpha-3-code': 'NZL', - 'continent': 'Океания', - 'name': 'Новая Зеландия', - 'capital': 'Веллингтон'}, - {'timezones': ['Оман (UTC+04'], - 'alpha-2-code': 'OM', - 'alpha-3-code': 'OMN', - 'continent': 'Азия', - 'name': 'Оман', - 'capital': 'Маскат'}, - {'timezones': ['Панама (UTC-05)'], - 'alpha-2-code': 'PA', - 'alpha-3-code': 'PAN', - 'continent': 'Северная Америка', - 'name': 'Панама', - 'capital': 'Панама'}, - {'timezones': ['Перу (UTC-05)'], - 'alpha-2-code': 'PE', - 'alpha-3-code': 'PER', - 'continent': 'Южная Америка', - 'name': 'Перу', - 'capital': 'Лима'}, - {'timezones': ['Папуа - Новая Гвинея (UTC+10)'], - 'alpha-2-code': 'PG', - 'alpha-3-code': 'PNG', - 'continent': 'Океания', - 'name': 'Папуа - Новая Гвинея', - 'capital': 'Порт-Морсби'}, - {'timezones': ['Филиппины (UTC+08)'], - 'alpha-2-code': 'PH', - 'alpha-3-code': 'PHL', - 'continent': 'Азия', - 'name': 'Филиппины', - 'capital': 'Манила'}, - {'timezones': ['Пакистан (UTC+05)'], - 'alpha-2-code': 'PK', - 'alpha-3-code': 'PAK', - 'continent': 'Азия', - 'name': 'Пакистан', - 'capital': 'Исламабад'}, - {'timezones': ['Польша (UTC+01)'], - 'alpha-2-code': 'PL', - 'alpha-3-code': 'POL', - 'continent': 'Европа', - 'name': 'Польша', - 'capital': 'Варшава'}, - {'timezones': ['Португалия (UTC)'], - 'alpha-2-code': 'PT', - 'alpha-3-code': 'PRT', - 'continent': 'Европа', - 'name': 'Португалия', - 'capital': 'Лиссабон'}, - {'timezones': ['Палау (UTC+09)'], - 'alpha-2-code': 'PW', - 'alpha-3-code': 'PLW', - 'continent': 'Океания', - 'name': 'Палау', - 'capital': 'Кампала'}, - {'timezones': ['Парагвай (UTC-04)'], - 'alpha-2-code': 'PY', - 'alpha-3-code': 'PRY', - 'continent': 'Южная Америка', - 'name': 'Парагвай', - 'capital': 'Асунсьон'}, - {'timezones': ['Катар (UTC+03)'], - 'alpha-2-code': 'QA', - 'alpha-3-code': 'QAT', - 'continent': 'Азия', - 'name': 'Катар', - 'capital': 'Доха'}, - {'timezones': ['Румыния (UTC+02)'], - 'alpha-2-code': 'RO', - 'alpha-3-code': 'ROU', - 'continent': 'Европа', - 'name': 'Румыния', - 'capital': 'Бухарест'}, - {'timezones': ['Россия (UTC+02)', - 'Россия (UTC+03)', - 'Россия (UTC+04)', - 'Россия (UTC+05)', - 'Россия (UTC+06)', - 'Россия (UTC+07)', - 'Россия (UTC+08)', - 'Россия (UTC+09)', - 'Россия (UTC+10)', - 'Россия (UTC+11)', - 'Россия (UTC+12)'], - 'alpha-2-code': 'RU', - 'alpha-3-code': 'RUS', - 'continent': 'Европа', - 'name': 'Россия', - 'capital': 'Москва'}, - {'timezones': ['Руанда (UTC+02)'], - 'alpha-2-code': 'RW', - 'alpha-3-code': 'RWA', - 'continent': 'Африка', - 'name': 'Руанда', - 'capital': 'Кигали'}, - {'timezones': ['Саудовская Аравия (UTC+03)'], - 'alpha-2-code': 'SA', - 'alpha-3-code': 'SAU', - 'continent': 'Азия', - 'name': 'Саудовская Аравия', - 'capital': 'Эр-Рияд'}, - {'timezones': ['Соломоновы Острова (UTC+11)'], - 'alpha-2-code': 'SB', - 'alpha-3-code': 'SLB', - 'continent': 'Океания', - 'name': 'Соломоновы Острова', - 'capital': 'Хониара'}, - {'timezones': ['Сейшельские острова (UTC+04)'], - 'alpha-2-code': 'SC', - 'alpha-3-code': 'SYC', - 'continent': 'Африка', - 'name': 'Сейшельские острова', - 'capital': 'Виктория'}, - {'timezones': ['Судан (UTC+03)'], - 'alpha-2-code': 'SD', - 'alpha-3-code': 'SDN', - 'continent': 'Африка', - 'name': 'Судан', - 'capital': 'Хартум'}, - {'timezones': ['Швеция (UTC+01)'], - 'alpha-2-code': 'SE', - 'alpha-3-code': 'SWE', - 'continent': 'Европа', - 'name': 'Швеци', - 'capital': 'Стокгольм'}, - {'timezones': ['Сингапур (UTC+08)'], - 'alpha-2-code': 'SG', - 'alpha-3-code': 'SGP', - 'continent': 'Азия', - 'name': 'Сингапур', - 'capital': 'Сингапур'}, - {'timezones': ['Словения (UTC+01)'], - 'alpha-2-code': 'SI', - 'alpha-3-code': 'SVN', - 'continent': 'Европа', - 'name': 'Словения', - 'capital': 'Любляна'}, - {'timezones': ['Словакия (UTC+01)'], - 'alpha-2-code': 'SK', - 'alpha-3-code': 'SVK', - 'continent': 'Европа', - 'name': 'Словакия', - 'capital': 'Братислава'}, - {'timezones': ['Сьерра-Леоне (UTC)'], - 'alpha-2-code': 'SL', - 'alpha-3-code': 'SLE', - 'continent': 'Африка', - 'name': 'Сьерра Леоне', - 'capital': 'Фритаун'}, - {'timezones': ['Сан-Марино (UTC+01)'], - 'alpha-2-code': 'SM', - 'alpha-3-code': 'SMR', - 'continent': 'Европа', - 'name': 'Сан-Марино', - 'capital': 'Сан-Марино'}, - {'timezones': ['Сенегал (UTC)'], - 'alpha-2-code': 'SN', - 'alpha-3-code': 'SEN', - 'continent': 'Африка', - 'name': 'Сенегал', - 'capital': 'Дакар'}, - {'timezones': ['Сомали (UTC+03)'], - 'alpha-2-code': 'SO', - 'alpha-3-code': 'SOM', - 'continent': 'Африка', - 'name': 'Сомали', - 'capital': 'Могадишо'}, - {'timezones': ['Суринам (UTC-03)'], - 'alpha-2-code': 'SR', - 'alpha-3-code': 'SUR', - 'continent': 'Южная Америка', - 'name': 'Суринам', - 'capital': 'Парамарибо'}, - {'timezones': ['Сан-Томе и Принсипи (UTC)'], - 'alpha-2-code': 'ST', - 'alpha-3-code': 'STP', - 'continent': 'Африка', - 'name': 'Сан-Томе и Принсипи', - 'capital': 'Сан-Томе'}, - {'timezones': ['Сирия (UTC+02)'], - 'alpha-2-code': 'SY', - 'alpha-3-code': 'SYR', - 'continent': 'Азия', - 'name': 'Сирия', - 'capital': 'Дамаск'}, - {'timezones': ['Того (UTC)'], - 'alpha-2-code': 'TG', - 'alpha-3-code': 'TGO', - 'continent': 'Африка', - 'name': 'Того', - 'capital': 'Ломе'}, - {'timezones': ['Таиланд (UTC+07)'], - 'alpha-2-code': 'TH', - 'alpha-3-code': 'THA', - 'continent': 'Азия', - 'name': 'Таиланд', - 'capital': 'Бангкок'}, - {'timezones': ['Таджикистан (UTC+05)'], - 'alpha-2-code': 'TJ', - 'alpha-3-code': 'TJK', - 'continent': 'Азия', - 'name': 'Таджикистан', - 'capital': 'Душанбе'}, - {'timezones': ['Туркмения (UTC+05)'], - 'alpha-2-code': 'TM', - 'alpha-3-code': 'TKM', - 'continent': 'Азия', - 'name': 'Туркмения', - 'capital': 'Ашхабад'}, - {'timezones': ['Тунис (UTC+01)'], - 'alpha-2-code': 'TN', - 'alpha-3-code': 'TUN', - 'continent': 'Африка', - 'name': 'Тунис', - 'capital': 'Тунис'}, - {'timezones': ['Тонга (UTC+13)'], - 'alpha-2-code': 'TO', - 'alpha-3-code': 'TON', - 'continent': 'Океания', - 'name': 'Тонга', - 'capital': 'Нукуалофа'}, - {'timezones': ['Турция (UTC+02)'], - 'alpha-2-code': 'TR', - 'alpha-3-code': 'TUR', - 'continent': 'Азия', - 'name': 'Турция', - 'capital': 'Анкара'}, - {'timezones': ['Тринидад и Тобаго (UTC-04)'], - 'alpha-2-code': 'TT', - 'alpha-3-code': 'TTO', - 'continent': 'Северная Америка', - 'name': 'Тринидад и Тобаго', - 'capital': 'Порт-оф-Спейн'}, - {'timezones': ['Тувалу (UTC+12)'], - 'alpha-2-code': 'TV', - 'alpha-3-code': 'TUV', - 'continent': 'Океания', - 'name': 'Тувалу', - 'capital': 'Фунафути'}, - {'timezones': ['Танзания (UTC+03)'], - 'alpha-2-code': 'TZ', - 'alpha-3-code': 'TZA', - 'continent': 'Африка', - 'name': 'Танзания', - 'capital': 'Додома'}, - {'timezones': ['Украина (UTC+02)', - 'Украина (UTC+03)'], - 'alpha-2-code': 'UA', - 'alpha-3-code': 'UKR', - 'continent': 'Европа', - 'name': 'Украина', - 'capital': 'Киев'}, - {'timezones': ['Уганда (UTC+03)'], - 'alpha-2-code': 'UG', - 'alpha-3-code': 'UGA', - 'continent': 'Африка', - 'name': 'Уганда', - 'capital': 'Кампала'}, - {'timezones': ['США (UTC-11)', - 'США (UTC-10)', - 'США (UTC-09)', - 'США (UTC-08)', - 'США (UTC-07)', - 'США (UTC-06)', - 'США (UTC-05)', - 'США (UTC-04)', - 'США (UTC+10)'], - 'alpha-2-code': 'US', - 'alpha-3-code': 'USA', - 'continent': 'Северная Америка', - 'name': 'США', - 'capital': 'Вашингтон'}, - {'timezones': ['Уругвай (UTC-03)'], - 'alpha-2-code': 'UY', - 'alpha-3-code': 'URY', - 'continent': 'Южная Америка', - 'name': 'Уругвай', - 'capital': 'Монтевидео'}, - {'timezones': ['Узбекистан (UTC+05)'], - 'alpha-2-code': 'UZ', - 'alpha-3-code': 'UZB', - 'continent': 'Азия', - 'name': 'Узбекистан', - 'capital': 'Ташкент'}, - {'timezones': ['Ватикан (UTC+01)'], - 'alpha-2-code': 'VA', - 'alpha-3-code': 'VAT', - 'continent': 'Европа', - 'name': 'Ватикан', - 'capital': 'Ватикан'}, - {'timezones': ['Венесуэла (UTC-04:30)'], - 'alpha-2-code': 'VE', - 'alpha-3-code': 'VEN', - 'continent': 'Южная Америка', - 'name': 'Венесуэла', - 'capital': 'Каракас'}, - {'timezones': ['Вьетнам (UTC+07)'], - 'alpha-2-code': 'VN', - 'alpha-3-code': 'VNM', - 'continent': 'Азия', - 'name': 'Вьетнам', - 'capital': 'Ханой'}, - {'timezones': ['Вануату (UTC+11)'], - 'alpha-2-code': 'VU', - 'alpha-3-code': 'VUT', - 'continent': 'Океания', - 'name': 'Вануату', - 'capital': 'Порт-Вила'}, - {'timezones': ['Йемен (UTC+03)'], - 'alpha-2-code': 'YE', - 'alpha-3-code': 'YEM', - 'continent': 'Азия', - 'name': 'Йемен', - 'capital': "Сана"}, - {'timezones': ['Замбия (UTC+02)'], - 'alpha-2-code': 'ZM', - 'alpha-3-code': 'ZMB', - 'continent': 'Африка', - 'name': 'Замбия', - 'capital': 'Лусака'}, - {'timezones': ['Зимбабве (UTC+02)'], - 'alpha-2-code': 'ZW', - 'alpha-3-code': 'ZWE', - 'continent': 'Африка', - 'name': 'Зимбабве', - 'capital': 'Хараре'}, - {'timezones': ['Алжир (UTC+01)'], - 'alpha-2-code': 'DZ', - 'alpha-3-code': 'DZA', - 'continent': 'Африка', - 'name': 'Алжир', - 'capital': 'Алжир'}, - {'timezones': ['Босния и Герцеговина (UTC+01)'], - 'alpha-2-code': 'BA', - 'alpha-3-code': 'BIH', - 'continent': 'Европа', - 'name': 'Босния и Герцеговина', - 'capital': 'Сараево'}, - {'timezones': ['Камбоджа (UTC+07)'], - 'alpha-2-code': 'KH', - 'alpha-3-code': 'KHM', - 'continent': 'Азия', - 'name': 'Камбоджа', - 'capital': 'Пномпень'}, - {'timezones': ['ЦАР (UTC+01)'], - 'alpha-2-code': 'CF', - 'alpha-3-code': 'CAF', - 'continent': 'Африка', - 'name': 'ЦАР', - 'capital': 'Банги'}, - {'timezones': ['Чад (UTC+01)'], - 'alpha-2-code': 'TD', - 'alpha-3-code': 'TCD', - 'continent': 'Африка', - 'name': 'Чад', - 'capital': "Нджамена"}, - {'timezones': ['Коморы (UTC+03)'], - 'alpha-2-code': 'KM', - 'alpha-3-code': 'COM', - 'continent': 'Африка', - 'name': 'Коморы', - 'capital': 'Морони'}, - {'timezones': ['Хорватия (UTC+01)'], - 'alpha-2-code': 'HR', - 'alpha-3-code': 'HRV', - 'continent': 'Европа', - 'name': 'Хорватия', - 'capital': 'Загреб'}, - {'timezones': ['Восточный Тимор (UTC+09)'], - 'alpha-2-code': 'TL', - 'alpha-3-code': 'TLS', - 'continent': 'Азия', - 'name': 'Восточный Тимор', - 'capital': 'Дили'}, - {'timezones': ['Сальвадор (UTC-06)'], - 'alpha-2-code': 'SV', - 'alpha-3-code': 'SLV', - 'continent': 'Северная Америка', - 'name': 'Сальвадор', - 'capital': 'Сан-Сальвадор'}, - {'timezones': ['Экваториальная Гвинея (UTC+01)'], - 'alpha-2-code': 'GQ', - 'alpha-3-code': 'GNQ', - 'continent': 'Африка', - 'name': 'Экваториальная Гвинея', - 'capital': 'Малабо'}, - {'timezones': ['Гренада (UTC-04)'], - 'alpha-2-code': 'GD', - 'alpha-3-code': 'GRD', - 'continent': 'Северная Америка', - 'name': 'Гренада', - 'capital': "Сент-Джорджес"}, - {'timezones': ['Казахстан (UTC+05)', - 'Казахстан (UTC+06)'], - 'alpha-2-code': 'KZ', - 'alpha-3-code': 'KAZ', - 'continent': 'Азия', - 'name': 'Казахстан', - 'capital': 'Нур-Султан (Астана)'}, - {'timezones': ['Лаос (UTC+07)'], - 'alpha-2-code': 'LA', - 'alpha-3-code': 'LAO', - 'continent': 'Азия', - 'name': 'Лаос', - 'capital': 'Вьентьян'}, - {'timezones': ['Микронезия (UTC+10)', - 'Микронезия (UTC+11)'], - 'alpha-2-code': 'FM', - 'alpha-3-code': 'FSM', - 'continent': 'Океания', - 'name': 'Микронезия', - 'capital': 'Паликир'}, - {'timezones': ['Молдавия (UTC+02)'], - 'alpha-2-code': 'MD', - 'alpha-3-code': 'MDA', - 'continent': 'Европа', - 'name': 'Молдавия', - 'capital': 'Кишинев'}, - {'timezones': ['Монако (UTC+01)'], - 'alpha-2-code': 'MC', - 'alpha-3-code': 'MCO', - 'continent': 'Европа', - 'name': 'Монако', - 'capital': 'Монако'}, - {'timezones': ['Черногория (UTC+01)'], - 'alpha-2-code': 'ME', - 'alpha-3-code': 'MNE', - 'continent': 'Европа', - 'name': 'Черногория', - 'capital': 'Подгорица'}, - {'timezones': ['Марокко (UTC)'], - 'alpha-2-code': 'MA', - 'alpha-3-code': 'MAR', - 'continent': 'Африка', - 'name': 'Марокко', - 'capital': 'Рабат'}, - {'timezones': ['Сент-Китс и Невис (UTC-04)'], - 'alpha-2-code': 'KN', - 'alpha-3-code': 'KNA', - 'continent': 'Северная Америка', - 'name': 'Сент-Китс и Невис', - 'capital': 'Бастер'}, - {'timezones': ['Сент-Люсия (UTC-04)'], - 'alpha-2-code': 'LC', - 'alpha-3-code': 'LCA', - 'continent': 'Северная Америка', - 'name': 'Сент-Люсия', - 'capital': 'Кастри'}, - {'timezones': ['Сент-Винсент и Гренадины (UTC-04)'], - 'alpha-2-code': 'VC', - 'alpha-3-code': 'VCT', - 'continent': 'Северная Америка', - 'name': 'Сент-Винсент и Гренадины', - 'capital': 'Кингстаун'}, - {'timezones': ['Самоа (UTC+13)'], - 'alpha-2-code': 'WS', - 'alpha-3-code': 'WSM', - 'continent': 'Океания', - 'name': 'Самоа', - 'capital': 'Апиа'}, - {'timezones': ['Сербия (UTC+01)'], - 'alpha-2-code': 'RS', - 'alpha-3-code': 'SRB', - 'continent': 'Европа', - 'name': 'Сербия', - 'capital': 'Белград'}, - {'timezones': ['ЮАР (UTC+02)'], - 'alpha-2-code': 'ZA', - 'alpha-3-code': 'ZAF', - 'continent': 'Африка', - 'name': 'ЮАР', - 'capital': 'Претория'}, - {'timezones': ['Испания (UTC)', - 'Испания (UTC+01)'], - 'alpha-2-code': 'ES', - 'alpha-3-code': 'ESP', - 'continent': 'Европа', - 'name': 'Испания', - 'capital': 'Мадрид'}, - {'timezones': ['Шри-Ланка (UTC+05:30)'], - 'alpha-2-code': 'LK', - 'alpha-3-code': 'LKA', - 'continent': 'Азия', - 'name': 'Шри-Ланка', - 'capital': 'Шри-Джаяварденепура-Котте'}, - {'timezones': ['Эсватини (Свазиленд) (UTC+02)'], - 'alpha-2-code': 'SZ', - 'alpha-3-code': 'SWZ', - 'continent': 'Африка', - 'name': 'Эсватини (Свазиленд)', - 'capital': 'Мбабане'}, - {'timezones': ['Швейцария (UTC+01)'], - 'alpha-2-code': 'CH', - 'alpha-3-code': 'CHE', - 'continent': 'Европа', - 'name': 'Швейцария', - 'capital': 'Берн'}, - {'timezones': ['ОАЭ (UTC+04)'], - 'alpha-2-code': 'AE', - 'alpha-3-code': 'ARE', - 'continent': 'Азия', - 'name': 'ОАЭ', - 'capital': 'Абу-Даби'}, - {'timezones': ['Великобритания (UTC)'], - 'alpha-2-code': 'GB', - 'alpha-3-code': 'GBR', - 'continent': 'Европа', - 'name': 'Великобритания', - 'capital': 'Лондон'}, - ] + countries = [ + { + "timezones": ["Андорра (UTC+01)"], + "alpha-2-code": "AD", + "alpha-3-code": "AND", + "continent": "Европа", + "name": "Андорра", + "capital": "Андорра-ла-Велья", + }, + { + "timezones": ["Афганистан (UTC+04:30)"], + "alpha-2-code": "AF", + "alpha-3-code": "AFG", + "continent": "Азия", + "name": "Афганистан", + "capital": "Кабул", + }, + { + "timezones": ["Антигуа и Барбуда (UTC-04)"], + "alpha-2-code": "AG", + "alpha-3-code": "ATG", + "continent": "Северная Америка", + "name": "Антигуа и Барбуда", + "capital": "Сент-Джонс", + }, + { + "timezones": ["Албания (UTC+01)"], + "alpha-2-code": "AL", + "alpha-3-code": "ALB", + "continent": "Европа", + "name": "Албания", + "capital": "Тирана", + }, + { + "timezones": ["Армения (UTC+04)"], + "alpha-2-code": "AM", + "alpha-3-code": "ARM", + "continent": "Азия", + "name": "Армения", + "capital": "Ереван", + }, + { + "timezones": ["Ангола (UTC+01)"], + "alpha-2-code": "AO", + "alpha-3-code": "AGO", + "continent": "Африка", + "name": "Ангола", + "capital": "Луанда", + }, + { + "timezones": ["Аргентина (UTC-03)"], + "alpha-2-code": "AR", + "alpha-3-code": "ARG", + "continent": "Южная Америка", + "name": "Аргентина", + "capital": "Буэнос Айрес", + }, + { + "timezones": ["Австрия (UTC+01)"], + "alpha-2-code": "AT", + "alpha-3-code": "AUT", + "continent": "Европа", + "name": "Австрия", + "capital": "Вена", + }, + { + "timezones": [ + "Австралия (UTC+05)", + "Австралия (UTC+06:30)", + "Австралия (UTC+07)", + "Австралия (UTC+08)", + "Австралия (UTC+9:30)", + "Австралия (UTC+10)", + "Австралия (UTC+10:30)", + "Австралия (UTC+11:30)", + ], + "alpha-2-code": "AU", + "alpha-3-code": "AUS", + "continent": "Океания", + "name": "Австралия", + "capital": "Канберра", + }, + { + "timezones": ["Азербайджан (UTC+04)"], + "alpha-2-code": "AZ", + "alpha-3-code": "AZE", + "continent": "Азия", + "name": "Азербайджан", + "capital": "Баку", + }, + { + "timezones": ["Барбадос (UTC-04)"], + "alpha-2-code": "BB", + "alpha-3-code": "BRB", + "continent": "Северная Америка", + "name": "Барбадос", + "capital": "Бриджтаун", + }, + { + "timezones": ["Бангладеш (UTC+06)"], + "alpha-2-code": "BD", + "alpha-3-code": "BGD", + "continent": "Азия", + "name": "Бангладеш", + "capital": "Дака", + }, + { + "timezones": ["Бельгия (UTC+01)"], + "alpha-2-code": "BE", + "alpha-3-code": "BEL", + "continent": "Европа", + "name": "Бельгия", + "capital": "Брюссель", + }, + { + "timezones": ["Буркина-Фасо (UTC)"], + "alpha-2-code": "BF", + "alpha-3-code": "BFA", + "continent": "Африка", + "name": "Буркина-Фасо", + "capital": "Уагадугу", + }, + { + "timezones": ["Болгария (UTC+02)"], + "alpha-2-code": "BG", + "alpha-3-code": "BGR", + "continent": "Европа", + "name": "Болгария", + "capital": "София", + }, + { + "timezones": ["Бахрейн (UTC+03)"], + "alpha-2-code": "BH", + "alpha-3-code": "BHR", + "continent": "Азия", + "name": "Бахрейн", + "capital": "Манама", + }, + { + "timezones": ["Бурунди (UTC+02)"], + "alpha-2-code": "BI", + "alpha-3-code": "BDI", + "continent": "Африка", + "name": "Бурунди", + "capital": "Гитега", + }, + { + "timezones": ["Бенин (UTC+01)"], + "alpha-2-code": "BJ", + "alpha-3-code": "BEN", + "continent": "Африка", + "name": "Бенин", + "capital": "Порто-Ново", + }, + { + "timezones": ["Бруней (UTC+08)"], + "alpha-2-code": "BN", + "alpha-3-code": "BRN", + "continent": "Азия", + "name": "Бруней", + "capital": "Бандар-Сери-Бегаван", + }, + { + "timezones": ["Боливия (UTC-04)"], + "alpha-2-code": "BO", + "alpha-3-code": "BOL", + "continent": "Южная Америка", + "name": "Боливия", + "capital": "Сукре", + }, + { + "timezones": [ + "Бразилия (UTC-05)", + "Бразилия (UTC-04)", + "Бразилия (UTC-03)", + "Бразилия (UTC-02)", + ], + "alpha-2-code": "BR", + "alpha-3-code": "BRA", + "continent": "Южная Америка", + "name": "Бразилия", + "capital": "Бразилиа", + }, + { + "timezones": ["Багамские Острова (UTC-05)"], + "alpha-2-code": "BS", + "alpha-3-code": "BHS", + "continent": "Северная Америка", + "name": "Багамские Острова", + "capital": "Нассау", + }, + { + "timezones": ["Бутан (UTC+06)"], + "alpha-2-code": "BT", + "alpha-3-code": "BTN", + "continent": "Азия", + "name": "Бутан", + "capital": "Тхимпху", + }, + { + "timezones": ["Ботсвана (UTC+02)"], + "alpha-2-code": "BW", + "alpha-3-code": "BWA", + "continent": "Африка", + "name": "Ботсвана", + "capital": "Габороне", + }, + { + "timezones": ["Белоруссия (UTC+03)"], + "alpha-2-code": "BY", + "alpha-3-code": "BLR", + "continent": "Европа", + "name": "Белоруссия", + "capital": "Минск", + }, + { + "timezones": ["Белиз (UTC-06)"], + "alpha-2-code": "BZ", + "alpha-3-code": "BLZ", + "continent": "Северная Америка", + "name": "Белиз", + "capital": "Бельмопан", + }, + { + "timezones": [ + "Канада (UTC-08)", + "Канада (UTC-07)", + "Канада (UTC-06)", + "Канада (UTC-05)", + "Канада (UTC-04)", + "Канада (UTC-03:30)", + ], + "alpha-2-code": "CA", + "alpha-3-code": "CAN", + "continent": "Северная Америка", + "name": "Канада", + "capital": "Оттава", + }, + { + "timezones": [ + "Демократическая Республика Конго (UTC+01)", + "Демократическая Республика Конго (UTC+02)", + ], + "alpha-2-code": "CD", + "alpha-3-code": "COD", + "continent": "Африка", + "name": "Демократическая Республика Конго", + "capital": "Киншаса", + }, + { + "timezones": ["Республика Конго (UTC+01)"], + "alpha-2-code": "CG", + "alpha-3-code": "COG", + "continent": "Африка", + "name": "Руспублика Конго", + "capital": "Браззавиль", + }, + { + "timezones": ["Кот-д'Ивуар (UTC)"], + "alpha-2-code": "CI", + "alpha-3-code": "CIV", + "continent": "Африка", + "name": "Кот-д'Ивуар", + "capital": "Ямусукро", + }, + { + "timezones": ["Чили (UTC-06)", "Чили (UTC-04)"], + "alpha-2-code": "CL", + "alpha-3-code": "CHL", + "continent": "Южная Америка", + "name": "Чили", + "capital": "Сантьяго", + }, + { + "timezones": ["Камерун (UTC+01)"], + "alpha-2-code": "CM", + "alpha-3-code": "CMR", + "continent": "Африка", + "name": "Камерун", + "capital": "Яунде", + }, + { + "timezones": ["Китай (UTC+08)"], + "alpha-2-code": "CN", + "alpha-3-code": "CHN", + "continent": "Азия", + "name": "Китайская Народная Республика", + "capital": "Пекин", + }, + { + "timezones": ["Колумбия (UTC-05)"], + "alpha-2-code": "CO", + "alpha-3-code": "COL", + "continent": "Южная Америка", + "name": "Колумбия", + "capital": "Богота", + }, + { + "timezones": ["Коста-Рика (UTC-06)"], + "alpha-2-code": "CR", + "alpha-3-code": "CRI", + "continent": "Северная Америка", + "name": "Коста-Рика", + "capital": "Сан-Хосе", + }, + { + "timezones": ["Куба (UTC-05)"], + "alpha-2-code": "CU", + "alpha-3-code": "CUB", + "continent": "Северная Америка", + "name": "Куба", + "capital": "Гавана", + }, + { + "timezones": ["Кабо-Верде (UTC-01)"], + "alpha-2-code": "CV", + "alpha-3-code": "CPV", + "continent": "Африка", + "name": "Кабо-Верде", + "capital": "Прая", + }, + { + "timezones": ["Кипр (UTC+02)"], + "alpha-2-code": "CY", + "alpha-3-code": "CYP", + "continent": "Азия", + "name": "Кипр", + "capital": "Никосия", + }, + { + "timezones": ["Чехия (UTC+01)"], + "alpha-2-code": "CZ", + "alpha-3-code": "CZE", + "continent": "Европа", + "name": "Чехия", + "capital": "Прага", + }, + { + "timezones": ["Германия (UTC+01)"], + "alpha-2-code": "DE", + "alpha-3-code": "DEU", + "continent": "Европа", + "name": "Германия", + "capital": "Берлин", + }, + { + "timezones": ["Джибути (UTC+03)"], + "alpha-2-code": "DJ", + "alpha-3-code": "DJI", + "continent": "Африка", + "name": "Джибути", + "capital": "Джибути", + }, + { + "timezones": ["Дания (UTC+01)"], + "alpha-2-code": "DK", + "alpha-3-code": "DNK", + "continent": "Европа", + "name": "Дания", + "capital": "Копенгаген", + }, + { + "timezones": ["Доминика (UTC-04)"], + "alpha-2-code": "DM", + "alpha-3-code": "DMA", + "continent": "Северная Америка", + "name": "Доминика", + "capital": "Розо", + }, + { + "timezones": ["Доминиканская Республика (UTC-04)"], + "alpha-2-code": "DO", + "alpha-3-code": "DOM", + "continent": "Северная Америка", + "name": "Доминиканская Республика", + "capital": "Санто-Доминго", + }, + { + "timezones": ["Эквадор (UTC-06)", "Эквадор (UTC-05)"], + "alpha-2-code": "EC", + "alpha-3-code": "ECU", + "continent": "Южная Америка", + "name": "Эквадор", + "capital": "Кито", + }, + { + "timezones": ["Эстония (UTC+02)"], + "alpha-2-code": "EE", + "alpha-3-code": "EST", + "continent": "Европа", + "name": "Эстония", + "capital": "Таллинн", + }, + { + "timezones": ["Египет (UTC+02)"], + "alpha-2-code": "EG", + "alpha-3-code": "EGY", + "continent": "Африка", + "name": "Египет", + "capital": "Каир", + }, + { + "timezones": ["Эритрея (UTC+03)"], + "alpha-2-code": "ER", + "alpha-3-code": "ERI", + "continent": "Африка", + "name": "Эритрея", + "capital": "Асмэра", + }, + { + "timezones": ["Эфиопия (UTC+03)"], + "alpha-2-code": "ET", + "alpha-3-code": "ETH", + "continent": "Африка", + "name": "Эфиопия", + "capital": "Аддис-Абеба", + }, + { + "timezones": ["Финляндия (UTC+02)"], + "alpha-2-code": "FI", + "alpha-3-code": "FIN", + "continent": "Европа", + "name": "Финляндия", + "capital": "Хельсинки", + }, + { + "timezones": ["Фиджи (UTC+12)"], + "alpha-2-code": "FJ", + "alpha-3-code": "FJI", + "continent": "Океания", + "name": "Фиджи", + "capital": "Сува", + }, + { + "timezones": ["Франция (UTC+01)"], + "alpha-2-code": "FR", + "alpha-3-code": "FRA", + "continent": "Европа", + "name": "Франция", + "capital": "Париж", + }, + { + "timezones": ["Габон (UTC+01)"], + "alpha-2-code": "GA", + "alpha-3-code": "GAB", + "continent": "Африка", + "name": "Габон", + "capital": "Либревиль", + }, + { + "timezones": ["Грузия (UTC+04)"], + "alpha-2-code": "GE", + "alpha-3-code": "GEO", + "continent": "Азия", + "name": "Грузия", + "capital": "Тбилиси", + }, + { + "timezones": ["Гана (UTC)"], + "alpha-2-code": "GH", + "alpha-3-code": "GHA", + "continent": "Африка", + "name": "Гана", + "capital": "Аккра", + }, + { + "timezones": ["Гамбия (UTC)"], + "alpha-2-code": "GM", + "alpha-3-code": "GMB", + "continent": "Африка", + "name": "Гамбия", + "capital": "Банджул", + }, + { + "timezones": ["Гвинея (UTC)"], + "alpha-2-code": "GN", + "alpha-3-code": "GIN", + "continent": "Африка", + "name": "Гвинея", + "capital": "Конакри", + }, + { + "timezones": ["Греция (UTC+02)"], + "alpha-2-code": "GR", + "alpha-3-code": "GRC", + "continent": "Европа", + "name": "Греция", + "capital": "Афины", + }, + { + "timezones": ["Гватемала (UTC-06)"], + "alpha-2-code": "GT", + "alpha-3-code": "GTM", + "continent": "Северная Америка", + "name": "Гватемала", + "capital": "Гватемала", + }, + { + "timezones": ["Гаити (UTC-05)"], + "alpha-2-code": "HT", + "alpha-3-code": "HTI", + "continent": "Северная Америка", + "name": "Гаити", + "capital": "Порт-о-Пренс", + }, + { + "timezones": ["Гвинея-Бисау (UTC)"], + "alpha-2-code": "GW", + "alpha-3-code": "GNB", + "continent": "Африка", + "name": "Гвинея-Бисау", + "capital": "Бисау", + }, + { + "timezones": ["Гайана (UTC-04)"], + "alpha-2-code": "GY", + "alpha-3-code": "GUY", + "continent": "Южная Америка", + "name": "Гайана", + "capital": "Джорджтаун", + }, + { + "timezones": ["Гондурас (UTC-06)"], + "alpha-2-code": "HN", + "alpha-3-code": "HND", + "continent": "Северная Америка", + "name": "Гондурас", + "capital": "Тегусигальпа", + }, + { + "timezones": ["Венгрия (UTC+01)"], + "alpha-2-code": "HU", + "alpha-3-code": "HUN", + "continent": "Европа", + "name": "Венгрия", + "capital": "Будапешт", + }, + { + "timezones": [ + "Индонезия (UTC+07)", + "Индонезия (UTC+08)", + "Индонезия (UTC+09)", + ], + "alpha-2-code": "ID", + "alpha-3-code": "IDN", + "continent": "Азия", + "name": "Индонезия", + "capital": "Джакарта", + }, + { + "timezones": ["Ирландия (UTC)"], + "alpha-2-code": "IE", + "alpha-3-code": "IRL", + "continent": "Европа", + "name": "Ирландия", + "capital": "Дублин", + }, + { + "timezones": ["Израиль (UTC+02)"], + "alpha-2-code": "IL", + "alpha-3-code": "ISR", + "continent": "Азия", + "name": "Израиль", + "capital": "Иерусалим", + }, + { + "timezones": ["Индия (UTC+05:30"], + "alpha-2-code": "IN", + "alpha-3-code": "IND", + "continent": "Азия", + "name": "Индия", + "capital": "Дели", + }, + { + "timezones": ["Ирак (UTC+03)"], + "alpha-2-code": "IQ", + "alpha-3-code": "IRQ", + "continent": "Азия", + "name": "Ирак", + "capital": "Багдад", + }, + { + "timezones": ["Иран (UTC+03:30)"], + "alpha-2-code": "IR", + "alpha-3-code": "IRN", + "continent": "Азия", + "name": "Иран", + "capital": "Тегеран", + }, + { + "timezones": ["Исландия (UTC)"], + "alpha-2-code": "IS", + "alpha-3-code": "ISL", + "continent": "Европа", + "name": "Исландия", + "capital": "Рейкьявик", + }, + { + "timezones": ["Италия (UTC+01)"], + "alpha-2-code": "IT", + "alpha-3-code": "ITA", + "continent": "Европа", + "name": "Италия", + "capital": "Рим", + }, + { + "timezones": ["Ямайка (UTC-05)"], + "alpha-2-code": "JM", + "alpha-3-code": "JAM", + "continent": "Северная Америка", + "name": "Ямайка", + "capital": "Кингстон", + }, + { + "timezones": ["Иордания (UTC+02)"], + "alpha-2-code": "JO", + "alpha-3-code": "JOR", + "continent": "Азия", + "name": "Иордания", + "capital": "Амман", + }, + { + "timezones": ["Япония (UTC+09)"], + "alpha-2-code": "JP", + "alpha-3-code": "JPN", + "continent": "Азия", + "name": "Япония", + "capital": "Токио", + }, + { + "timezones": ["Кения (UTC+03)"], + "alpha-2-code": "KE", + "alpha-3-code": "KEN", + "continent": "Африка", + "name": "Кения", + "capital": "Найроби", + }, + { + "timezones": ["Киргизия (UTC+06)"], + "alpha-2-code": "KG", + "alpha-3-code": "KGZ", + "continent": "Азия", + "name": "Киргизия", + "capital": "Бишкек", + }, + { + "timezones": [ + "Кирибати (UTC+12)", + "Кирибати (UTC+13)", + "Кирибати (UTC+14)", + ], + "alpha-2-code": "KI", + "alpha-3-code": "KIR", + "continent": "Океания", + "name": "Кирибати", + "capital": "Южная Тарава", + }, + { + "timezones": ["КНДР (UTC+09)"], + "alpha-2-code": "KP", + "alpha-3-code": "PRK", + "continent": "Азия", + "name": "КНДР", + "capital": "Пхеньян", + }, + { + "timezones": ["Республика Корея (UTC+09)"], + "alpha-2-code": "KR", + "alpha-3-code": "KOR", + "continent": "Азия", + "name": "Республика Корея", + "capital": "Сеул", + }, + { + "timezones": ["Кувейт (UTC+03)"], + "alpha-2-code": "KW", + "alpha-3-code": "KWT", + "continent": "Азия", + "name": "Кувейт", + "capital": "Эль-Кувейт", + }, + { + "timezones": ["Ливан (UTC+02)"], + "alpha-2-code": "LB", + "alpha-3-code": "LBN", + "continent": "Азия", + "name": "Ливан", + "capital": "Бейрут", + }, + { + "timezones": ["Лихтенштейн (UTC+01)"], + "alpha-2-code": "LI", + "alpha-3-code": "LIE", + "continent": "Европа", + "name": "Лихтенштейн", + "capital": "Вадуц", + }, + { + "timezones": ["Либерия (UTC)"], + "alpha-2-code": "LR", + "alpha-3-code": "LBR", + "continent": "Африка", + "name": "Либерия", + "capital": "Монровия", + }, + { + "timezones": ["Лесото (UTC+02)"], + "alpha-2-code": "LS", + "alpha-3-code": "LSO", + "continent": "Африка", + "name": "Лесото", + "capital": "Масеру", + }, + { + "timezones": ["Литва (UTC+02)"], + "alpha-2-code": "LT", + "alpha-3-code": "LTU", + "continent": "Европа", + "name": "Литва", + "capital": "Вильнюс", + }, + { + "timezones": ["Люксембург (UTC+01)"], + "alpha-2-code": "LU", + "alpha-3-code": "LUX", + "continent": "Европа", + "name": "Люксембург", + "capital": "Люксембург", + }, + { + "timezones": ["Латвия (UTC+02)"], + "alpha-2-code": "LV", + "alpha-3-code": "LVA", + "continent": "Европа", + "name": "Латвия", + "capital": "Рига", + }, + { + "timezones": ["Ливия (UTC+02)"], + "alpha-2-code": "LY", + "alpha-3-code": "LBY", + "continent": "Африка", + "name": "Ливия", + "capital": "Триполи", + }, + { + "timezones": ["Мадагаскар (UTC+03)"], + "alpha-2-code": "MG", + "alpha-3-code": "MDG", + "continent": "Африка", + "name": "Мадагаскар", + "capital": "Антананариву", + }, + { + "timezones": ["Маршалловы Острова (UTC+12)"], + "alpha-2-code": "MH", + "alpha-3-code": "MHL", + "continent": "Океания", + "name": "Маршалловы Острова", + "capital": "Маджуро", + }, + { + "timezones": ["Северная Македония (UTC+01)"], + "alpha-2-code": "MK", + "alpha-3-code": "MKD", + "continent": "Европа", + "name": "Северная Македония", + "capital": "Скопье", + }, + { + "timezones": ["Мали (UTC)"], + "alpha-2-code": "ML", + "alpha-3-code": "MLI", + "continent": "Африка", + "name": "Мали", + "capital": "Бамако", + }, + { + "timezones": ["Мьянма (UTC+06:30)"], + "alpha-2-code": "MM", + "alpha-3-code": "MMR", + "continent": "Азия", + "name": "Мьянма", + "capital": "Нейпьидо", + }, + { + "timezones": ["Монголия (UTC+07)", "Монголия (UTC+08)"], + "alpha-2-code": "MN", + "alpha-3-code": "MNG", + "continent": "Азия", + "name": "Монголия", + "capital": "Улан-Батор", + }, + { + "timezones": ["Мавритания (UTC)"], + "alpha-2-code": "MR", + "alpha-3-code": "MRT", + "continent": "Африка", + "name": "Мавритания", + "capital": "Нуакшот", + }, + { + "timezones": ["Мальта (UTC+01)"], + "alpha-2-code": "MT", + "alpha-3-code": "MLT", + "continent": "Европа", + "name": "Мальта", + "capital": "Валлетта", + }, + { + "timezones": ["Маврикий (UTC+04)"], + "alpha-2-code": "MU", + "alpha-3-code": "MUS", + "continent": "Африка", + "name": "Маврикий", + "capital": "Порт-Луи", + }, + { + "timezones": ["Мальдивы (UTC+05)"], + "alpha-2-code": "MV", + "alpha-3-code": "MDV", + "continent": "Азия", + "name": "Мальдивы", + "capital": "Мале", + }, + { + "timezones": ["Малави (UTC+02)"], + "alpha-2-code": "MW", + "alpha-3-code": "MWI", + "continent": "Африка", + "name": "Малави", + "capital": "Лилонгве", + }, + { + "timezones": ["Мексика (UTC-08)", "Мексика (UTC-07)", "Мексика (UTC-06)"], + "alpha-2-code": "MX", + "alpha-3-code": "MEX", + "continent": "Северная Америка", + "name": "Мексика", + "capital": "Мехико", + }, + { + "timezones": ["Малайзия (UTC+08)"], + "alpha-2-code": "MY", + "alpha-3-code": "MYS", + "continent": "Азия", + "name": "Малайзия", + "capital": "Куала-Лумпур", + }, + { + "timezones": ["Мозамбик (UTC+02)"], + "alpha-2-code": "MZ", + "alpha-3-code": "MOZ", + "continent": "Африка", + "name": "Мозамбик", + "capital": "Мапуту", + }, + { + "timezones": ["Намибия (UTC+01)"], + "alpha-2-code": "NA", + "alpha-3-code": "NAM", + "continent": "Африка", + "name": "Намибия", + "capital": "Виндхук", + }, + { + "timezones": ["Нигер (UTC+01)"], + "alpha-2-code": "NE", + "alpha-3-code": "NER", + "continent": "Африка", + "name": "Нигер", + "capital": "Ниамей", + }, + { + "timezones": ["Нигерия (UTC+01)"], + "alpha-2-code": "NG", + "alpha-3-code": "NGA", + "continent": "Африка", + "name": "Нигерия", + "capital": "Абуджа", + }, + { + "timezones": ["Никарагуа (UTC-06)"], + "alpha-2-code": "NI", + "alpha-3-code": "NIC", + "continent": "Северная Америка", + "name": "Никарагуа", + "capital": "Манагуа", + }, + { + "timezones": ["Нидерланды (UTC+01)"], + "alpha-2-code": "NL", + "alpha-3-code": "NLD", + "continent": "Европа", + "name": "Нидерланды", + "capital": "Амстердам", + }, + { + "timezones": ["Норвегия (UTC+01)"], + "alpha-2-code": "NO", + "alpha-3-code": "NOR", + "continent": "Европа", + "name": "Норвегия", + "capital": "Осло", + }, + { + "timezones": ["Непал (UTC+05:45"], + "alpha-2-code": "NP", + "alpha-3-code": "NPL", + "continent": "Азия", + "name": "Непал", + "capital": "Катманду", + }, + { + "timezones": ["Науру (UTC+12)"], + "alpha-2-code": "NR", + "alpha-3-code": "NRU", + "continent": "Океания", + "name": "Науру", + "capital": "Ярен", + }, + { + "timezones": ["Новая Зеландия (UTC+12)"], + "alpha-2-code": "NZ", + "alpha-3-code": "NZL", + "continent": "Океания", + "name": "Новая Зеландия", + "capital": "Веллингтон", + }, + { + "timezones": ["Оман (UTC+04"], + "alpha-2-code": "OM", + "alpha-3-code": "OMN", + "continent": "Азия", + "name": "Оман", + "capital": "Маскат", + }, + { + "timezones": ["Панама (UTC-05)"], + "alpha-2-code": "PA", + "alpha-3-code": "PAN", + "continent": "Северная Америка", + "name": "Панама", + "capital": "Панама", + }, + { + "timezones": ["Перу (UTC-05)"], + "alpha-2-code": "PE", + "alpha-3-code": "PER", + "continent": "Южная Америка", + "name": "Перу", + "capital": "Лима", + }, + { + "timezones": ["Папуа - Новая Гвинея (UTC+10)"], + "alpha-2-code": "PG", + "alpha-3-code": "PNG", + "continent": "Океания", + "name": "Папуа - Новая Гвинея", + "capital": "Порт-Морсби", + }, + { + "timezones": ["Филиппины (UTC+08)"], + "alpha-2-code": "PH", + "alpha-3-code": "PHL", + "continent": "Азия", + "name": "Филиппины", + "capital": "Манила", + }, + { + "timezones": ["Пакистан (UTC+05)"], + "alpha-2-code": "PK", + "alpha-3-code": "PAK", + "continent": "Азия", + "name": "Пакистан", + "capital": "Исламабад", + }, + { + "timezones": ["Польша (UTC+01)"], + "alpha-2-code": "PL", + "alpha-3-code": "POL", + "continent": "Европа", + "name": "Польша", + "capital": "Варшава", + }, + { + "timezones": ["Португалия (UTC)"], + "alpha-2-code": "PT", + "alpha-3-code": "PRT", + "continent": "Европа", + "name": "Португалия", + "capital": "Лиссабон", + }, + { + "timezones": ["Палау (UTC+09)"], + "alpha-2-code": "PW", + "alpha-3-code": "PLW", + "continent": "Океания", + "name": "Палау", + "capital": "Кампала", + }, + { + "timezones": ["Парагвай (UTC-04)"], + "alpha-2-code": "PY", + "alpha-3-code": "PRY", + "continent": "Южная Америка", + "name": "Парагвай", + "capital": "Асунсьон", + }, + { + "timezones": ["Катар (UTC+03)"], + "alpha-2-code": "QA", + "alpha-3-code": "QAT", + "continent": "Азия", + "name": "Катар", + "capital": "Доха", + }, + { + "timezones": ["Румыния (UTC+02)"], + "alpha-2-code": "RO", + "alpha-3-code": "ROU", + "continent": "Европа", + "name": "Румыния", + "capital": "Бухарест", + }, + { + "timezones": [ + "Россия (UTC+02)", + "Россия (UTC+03)", + "Россия (UTC+04)", + "Россия (UTC+05)", + "Россия (UTC+06)", + "Россия (UTC+07)", + "Россия (UTC+08)", + "Россия (UTC+09)", + "Россия (UTC+10)", + "Россия (UTC+11)", + "Россия (UTC+12)", + ], + "alpha-2-code": "RU", + "alpha-3-code": "RUS", + "continent": "Европа", + "name": "Россия", + "capital": "Москва", + }, + { + "timezones": ["Руанда (UTC+02)"], + "alpha-2-code": "RW", + "alpha-3-code": "RWA", + "continent": "Африка", + "name": "Руанда", + "capital": "Кигали", + }, + { + "timezones": ["Саудовская Аравия (UTC+03)"], + "alpha-2-code": "SA", + "alpha-3-code": "SAU", + "continent": "Азия", + "name": "Саудовская Аравия", + "capital": "Эр-Рияд", + }, + { + "timezones": ["Соломоновы Острова (UTC+11)"], + "alpha-2-code": "SB", + "alpha-3-code": "SLB", + "continent": "Океания", + "name": "Соломоновы Острова", + "capital": "Хониара", + }, + { + "timezones": ["Сейшельские острова (UTC+04)"], + "alpha-2-code": "SC", + "alpha-3-code": "SYC", + "continent": "Африка", + "name": "Сейшельские острова", + "capital": "Виктория", + }, + { + "timezones": ["Судан (UTC+03)"], + "alpha-2-code": "SD", + "alpha-3-code": "SDN", + "continent": "Африка", + "name": "Судан", + "capital": "Хартум", + }, + { + "timezones": ["Швеция (UTC+01)"], + "alpha-2-code": "SE", + "alpha-3-code": "SWE", + "continent": "Европа", + "name": "Швеци", + "capital": "Стокгольм", + }, + { + "timezones": ["Сингапур (UTC+08)"], + "alpha-2-code": "SG", + "alpha-3-code": "SGP", + "continent": "Азия", + "name": "Сингапур", + "capital": "Сингапур", + }, + { + "timezones": ["Словения (UTC+01)"], + "alpha-2-code": "SI", + "alpha-3-code": "SVN", + "continent": "Европа", + "name": "Словения", + "capital": "Любляна", + }, + { + "timezones": ["Словакия (UTC+01)"], + "alpha-2-code": "SK", + "alpha-3-code": "SVK", + "continent": "Европа", + "name": "Словакия", + "capital": "Братислава", + }, + { + "timezones": ["Сьерра-Леоне (UTC)"], + "alpha-2-code": "SL", + "alpha-3-code": "SLE", + "continent": "Африка", + "name": "Сьерра Леоне", + "capital": "Фритаун", + }, + { + "timezones": ["Сан-Марино (UTC+01)"], + "alpha-2-code": "SM", + "alpha-3-code": "SMR", + "continent": "Европа", + "name": "Сан-Марино", + "capital": "Сан-Марино", + }, + { + "timezones": ["Сенегал (UTC)"], + "alpha-2-code": "SN", + "alpha-3-code": "SEN", + "continent": "Африка", + "name": "Сенегал", + "capital": "Дакар", + }, + { + "timezones": ["Сомали (UTC+03)"], + "alpha-2-code": "SO", + "alpha-3-code": "SOM", + "continent": "Африка", + "name": "Сомали", + "capital": "Могадишо", + }, + { + "timezones": ["Суринам (UTC-03)"], + "alpha-2-code": "SR", + "alpha-3-code": "SUR", + "continent": "Южная Америка", + "name": "Суринам", + "capital": "Парамарибо", + }, + { + "timezones": ["Сан-Томе и Принсипи (UTC)"], + "alpha-2-code": "ST", + "alpha-3-code": "STP", + "continent": "Африка", + "name": "Сан-Томе и Принсипи", + "capital": "Сан-Томе", + }, + { + "timezones": ["Сирия (UTC+02)"], + "alpha-2-code": "SY", + "alpha-3-code": "SYR", + "continent": "Азия", + "name": "Сирия", + "capital": "Дамаск", + }, + { + "timezones": ["Того (UTC)"], + "alpha-2-code": "TG", + "alpha-3-code": "TGO", + "continent": "Африка", + "name": "Того", + "capital": "Ломе", + }, + { + "timezones": ["Таиланд (UTC+07)"], + "alpha-2-code": "TH", + "alpha-3-code": "THA", + "continent": "Азия", + "name": "Таиланд", + "capital": "Бангкок", + }, + { + "timezones": ["Таджикистан (UTC+05)"], + "alpha-2-code": "TJ", + "alpha-3-code": "TJK", + "continent": "Азия", + "name": "Таджикистан", + "capital": "Душанбе", + }, + { + "timezones": ["Туркмения (UTC+05)"], + "alpha-2-code": "TM", + "alpha-3-code": "TKM", + "continent": "Азия", + "name": "Туркмения", + "capital": "Ашхабад", + }, + { + "timezones": ["Тунис (UTC+01)"], + "alpha-2-code": "TN", + "alpha-3-code": "TUN", + "continent": "Африка", + "name": "Тунис", + "capital": "Тунис", + }, + { + "timezones": ["Тонга (UTC+13)"], + "alpha-2-code": "TO", + "alpha-3-code": "TON", + "continent": "Океания", + "name": "Тонга", + "capital": "Нукуалофа", + }, + { + "timezones": ["Турция (UTC+02)"], + "alpha-2-code": "TR", + "alpha-3-code": "TUR", + "continent": "Азия", + "name": "Турция", + "capital": "Анкара", + }, + { + "timezones": ["Тринидад и Тобаго (UTC-04)"], + "alpha-2-code": "TT", + "alpha-3-code": "TTO", + "continent": "Северная Америка", + "name": "Тринидад и Тобаго", + "capital": "Порт-оф-Спейн", + }, + { + "timezones": ["Тувалу (UTC+12)"], + "alpha-2-code": "TV", + "alpha-3-code": "TUV", + "continent": "Океания", + "name": "Тувалу", + "capital": "Фунафути", + }, + { + "timezones": ["Танзания (UTC+03)"], + "alpha-2-code": "TZ", + "alpha-3-code": "TZA", + "continent": "Африка", + "name": "Танзания", + "capital": "Додома", + }, + { + "timezones": ["Украина (UTC+02)", "Украина (UTC+03)"], + "alpha-2-code": "UA", + "alpha-3-code": "UKR", + "continent": "Европа", + "name": "Украина", + "capital": "Киев", + }, + { + "timezones": ["Уганда (UTC+03)"], + "alpha-2-code": "UG", + "alpha-3-code": "UGA", + "continent": "Африка", + "name": "Уганда", + "capital": "Кампала", + }, + { + "timezones": [ + "США (UTC-11)", + "США (UTC-10)", + "США (UTC-09)", + "США (UTC-08)", + "США (UTC-07)", + "США (UTC-06)", + "США (UTC-05)", + "США (UTC-04)", + "США (UTC+10)", + ], + "alpha-2-code": "US", + "alpha-3-code": "USA", + "continent": "Северная Америка", + "name": "США", + "capital": "Вашингтон", + }, + { + "timezones": ["Уругвай (UTC-03)"], + "alpha-2-code": "UY", + "alpha-3-code": "URY", + "continent": "Южная Америка", + "name": "Уругвай", + "capital": "Монтевидео", + }, + { + "timezones": ["Узбекистан (UTC+05)"], + "alpha-2-code": "UZ", + "alpha-3-code": "UZB", + "continent": "Азия", + "name": "Узбекистан", + "capital": "Ташкент", + }, + { + "timezones": ["Ватикан (UTC+01)"], + "alpha-2-code": "VA", + "alpha-3-code": "VAT", + "continent": "Европа", + "name": "Ватикан", + "capital": "Ватикан", + }, + { + "timezones": ["Венесуэла (UTC-04:30)"], + "alpha-2-code": "VE", + "alpha-3-code": "VEN", + "continent": "Южная Америка", + "name": "Венесуэла", + "capital": "Каракас", + }, + { + "timezones": ["Вьетнам (UTC+07)"], + "alpha-2-code": "VN", + "alpha-3-code": "VNM", + "continent": "Азия", + "name": "Вьетнам", + "capital": "Ханой", + }, + { + "timezones": ["Вануату (UTC+11)"], + "alpha-2-code": "VU", + "alpha-3-code": "VUT", + "continent": "Океания", + "name": "Вануату", + "capital": "Порт-Вила", + }, + { + "timezones": ["Йемен (UTC+03)"], + "alpha-2-code": "YE", + "alpha-3-code": "YEM", + "continent": "Азия", + "name": "Йемен", + "capital": "Сана", + }, + { + "timezones": ["Замбия (UTC+02)"], + "alpha-2-code": "ZM", + "alpha-3-code": "ZMB", + "continent": "Африка", + "name": "Замбия", + "capital": "Лусака", + }, + { + "timezones": ["Зимбабве (UTC+02)"], + "alpha-2-code": "ZW", + "alpha-3-code": "ZWE", + "continent": "Африка", + "name": "Зимбабве", + "capital": "Хараре", + }, + { + "timezones": ["Алжир (UTC+01)"], + "alpha-2-code": "DZ", + "alpha-3-code": "DZA", + "continent": "Африка", + "name": "Алжир", + "capital": "Алжир", + }, + { + "timezones": ["Босния и Герцеговина (UTC+01)"], + "alpha-2-code": "BA", + "alpha-3-code": "BIH", + "continent": "Европа", + "name": "Босния и Герцеговина", + "capital": "Сараево", + }, + { + "timezones": ["Камбоджа (UTC+07)"], + "alpha-2-code": "KH", + "alpha-3-code": "KHM", + "continent": "Азия", + "name": "Камбоджа", + "capital": "Пномпень", + }, + { + "timezones": ["ЦАР (UTC+01)"], + "alpha-2-code": "CF", + "alpha-3-code": "CAF", + "continent": "Африка", + "name": "ЦАР", + "capital": "Банги", + }, + { + "timezones": ["Чад (UTC+01)"], + "alpha-2-code": "TD", + "alpha-3-code": "TCD", + "continent": "Африка", + "name": "Чад", + "capital": "Нджамена", + }, + { + "timezones": ["Коморы (UTC+03)"], + "alpha-2-code": "KM", + "alpha-3-code": "COM", + "continent": "Африка", + "name": "Коморы", + "capital": "Морони", + }, + { + "timezones": ["Хорватия (UTC+01)"], + "alpha-2-code": "HR", + "alpha-3-code": "HRV", + "continent": "Европа", + "name": "Хорватия", + "capital": "Загреб", + }, + { + "timezones": ["Восточный Тимор (UTC+09)"], + "alpha-2-code": "TL", + "alpha-3-code": "TLS", + "continent": "Азия", + "name": "Восточный Тимор", + "capital": "Дили", + }, + { + "timezones": ["Сальвадор (UTC-06)"], + "alpha-2-code": "SV", + "alpha-3-code": "SLV", + "continent": "Северная Америка", + "name": "Сальвадор", + "capital": "Сан-Сальвадор", + }, + { + "timezones": ["Экваториальная Гвинея (UTC+01)"], + "alpha-2-code": "GQ", + "alpha-3-code": "GNQ", + "continent": "Африка", + "name": "Экваториальная Гвинея", + "capital": "Малабо", + }, + { + "timezones": ["Гренада (UTC-04)"], + "alpha-2-code": "GD", + "alpha-3-code": "GRD", + "continent": "Северная Америка", + "name": "Гренада", + "capital": "Сент-Джорджес", + }, + { + "timezones": ["Казахстан (UTC+05)", "Казахстан (UTC+06)"], + "alpha-2-code": "KZ", + "alpha-3-code": "KAZ", + "continent": "Азия", + "name": "Казахстан", + "capital": "Нур-Султан (Астана)", + }, + { + "timezones": ["Лаос (UTC+07)"], + "alpha-2-code": "LA", + "alpha-3-code": "LAO", + "continent": "Азия", + "name": "Лаос", + "capital": "Вьентьян", + }, + { + "timezones": ["Микронезия (UTC+10)", "Микронезия (UTC+11)"], + "alpha-2-code": "FM", + "alpha-3-code": "FSM", + "continent": "Океания", + "name": "Микронезия", + "capital": "Паликир", + }, + { + "timezones": ["Молдавия (UTC+02)"], + "alpha-2-code": "MD", + "alpha-3-code": "MDA", + "continent": "Европа", + "name": "Молдавия", + "capital": "Кишинев", + }, + { + "timezones": ["Монако (UTC+01)"], + "alpha-2-code": "MC", + "alpha-3-code": "MCO", + "continent": "Европа", + "name": "Монако", + "capital": "Монако", + }, + { + "timezones": ["Черногория (UTC+01)"], + "alpha-2-code": "ME", + "alpha-3-code": "MNE", + "continent": "Европа", + "name": "Черногория", + "capital": "Подгорица", + }, + { + "timezones": ["Марокко (UTC)"], + "alpha-2-code": "MA", + "alpha-3-code": "MAR", + "continent": "Африка", + "name": "Марокко", + "capital": "Рабат", + }, + { + "timezones": ["Сент-Китс и Невис (UTC-04)"], + "alpha-2-code": "KN", + "alpha-3-code": "KNA", + "continent": "Северная Америка", + "name": "Сент-Китс и Невис", + "capital": "Бастер", + }, + { + "timezones": ["Сент-Люсия (UTC-04)"], + "alpha-2-code": "LC", + "alpha-3-code": "LCA", + "continent": "Северная Америка", + "name": "Сент-Люсия", + "capital": "Кастри", + }, + { + "timezones": ["Сент-Винсент и Гренадины (UTC-04)"], + "alpha-2-code": "VC", + "alpha-3-code": "VCT", + "continent": "Северная Америка", + "name": "Сент-Винсент и Гренадины", + "capital": "Кингстаун", + }, + { + "timezones": ["Самоа (UTC+13)"], + "alpha-2-code": "WS", + "alpha-3-code": "WSM", + "continent": "Океания", + "name": "Самоа", + "capital": "Апиа", + }, + { + "timezones": ["Сербия (UTC+01)"], + "alpha-2-code": "RS", + "alpha-3-code": "SRB", + "continent": "Европа", + "name": "Сербия", + "capital": "Белград", + }, + { + "timezones": ["ЮАР (UTC+02)"], + "alpha-2-code": "ZA", + "alpha-3-code": "ZAF", + "continent": "Африка", + "name": "ЮАР", + "capital": "Претория", + }, + { + "timezones": ["Испания (UTC)", "Испания (UTC+01)"], + "alpha-2-code": "ES", + "alpha-3-code": "ESP", + "continent": "Европа", + "name": "Испания", + "capital": "Мадрид", + }, + { + "timezones": ["Шри-Ланка (UTC+05:30)"], + "alpha-2-code": "LK", + "alpha-3-code": "LKA", + "continent": "Азия", + "name": "Шри-Ланка", + "capital": "Шри-Джаяварденепура-Котте", + }, + { + "timezones": ["Эсватини (Свазиленд) (UTC+02)"], + "alpha-2-code": "SZ", + "alpha-3-code": "SWZ", + "continent": "Африка", + "name": "Эсватини (Свазиленд)", + "capital": "Мбабане", + }, + { + "timezones": ["Швейцария (UTC+01)"], + "alpha-2-code": "CH", + "alpha-3-code": "CHE", + "continent": "Европа", + "name": "Швейцария", + "capital": "Берн", + }, + { + "timezones": ["ОАЭ (UTC+04)"], + "alpha-2-code": "AE", + "alpha-3-code": "ARE", + "continent": "Азия", + "name": "ОАЭ", + "capital": "Абу-Даби", + }, + { + "timezones": ["Великобритания (UTC)"], + "alpha-2-code": "GB", + "alpha-3-code": "GBR", + "continent": "Европа", + "name": "Великобритания", + "capital": "Лондон", + }, + ] - def day_of_week(self): - day = self.date('%w') + def day_of_week(self) -> str: + day = self.date("%w") return self.DAY_NAMES[day] - def month_name(self): + def month_name(self) -> str: month = self.month() return self.MONTH_NAMES[month] diff --git a/faker/providers/date_time/sl_SI/__init__.py b/faker/providers/date_time/sl_SI/__init__.py index 7ead297252..e5c9af3277 100644 --- a/faker/providers/date_time/sl_SI/__init__.py +++ b/faker/providers/date_time/sl_SI/__init__.py @@ -2,9 +2,8 @@ class Provider(DateTimeProvider): - - def day_of_week(self): - day = self.date('%w') + def day_of_week(self) -> str: + day = self.date("%w") DAY_NAMES = { "0": "Nedelja", "1": "Ponedeljek", @@ -16,7 +15,7 @@ def day_of_week(self): } return DAY_NAMES[day] - def month_name(self): + def month_name(self) -> str: month = self.month() MONTH_NAMES = { "01": "Januar", diff --git a/faker/providers/date_time/ta_IN/__init__.py b/faker/providers/date_time/ta_IN/__init__.py index daf61f4a0d..915aac03dc 100644 --- a/faker/providers/date_time/ta_IN/__init__.py +++ b/faker/providers/date_time/ta_IN/__init__.py @@ -29,10 +29,10 @@ class Provider(DateTimeProvider): "12": "டிசம்பர்", } - def day_of_week(self): - day = self.date('%w') + def day_of_week(self) -> str: + day = self.date("%w") return self.DAY_NAMES[day] - def month_name(self): + def month_name(self) -> str: month = self.month() return self.MONTH_NAMES[month] diff --git a/faker/providers/date_time/th_TH/__init__.py b/faker/providers/date_time/th_TH/__init__.py new file mode 100644 index 0000000000..b8218f1b71 --- /dev/null +++ b/faker/providers/date_time/th_TH/__init__.py @@ -0,0 +1,340 @@ +import warnings + +from datetime import datetime +from typing import Optional + +from ....typing import DateParseType +from .. import Provider as DateParseTypeProvider + +# thai_strftime() code adapted from +# https://gist.github.com/bact/b8afe49cb1ae62913e6c1e899dcddbdb +# (Same code base with PyThaiNLP 2.x) +# Public Domain or CC0 1.0 Universal + +_TH_ABBR_WEEKDAYS = ["จ", "อ", "พ", "พฤ", "ศ", "ส", "อา"] +_TH_FULL_WEEKDAYS = [ + "วันจันทร์", + "วันอังคาร", + "วันพุธ", + "วันพฤหัสบดี", + "วันศุกร์", + "วันเสาร์", + "วันอาทิตย์", +] + +_TH_ABBR_MONTHS = [ + "ม.ค.", + "ก.พ.", + "มี.ค.", + "เม.ย.", + "พ.ค.", + "มิ.ย.", + "ก.ค.", + "ส.ค.", + "ก.ย.", + "ต.ค.", + "พ.ย.", + "ธ.ค.", +] +_TH_FULL_MONTHS = [ + "มกราคม", + "กุมภาพันธ์", + "มีนาคม", + "เมษายน", + "พฤษภาคม", + "มิถุนายน", + "กรกฎาคม", + "สิงหาคม", + "กันยายน", + "ตุลาคม", + "พฤศจิกายน", + "ธันวาคม", +] + +_HA_TH_DIGITS = str.maketrans("0123456789", "๐๑๒๓๔๕๖๗๘๙") +_BE_AD_DIFFERENCE = 543 + +_NEED_L10N = "AaBbCcDFGgvXxYy+" # flags that need localization +_EXTENSIONS = "EO-_0^#" # extension flags + + +# Standard conversion support for thai_strftime() +def _std_strftime(dt_obj: datetime, fmt_char: str) -> str: + """ + Standard datetime.strftime() with normalization and exception handling. + """ + str_ = "" + try: + str_ = dt_obj.strftime(f"%{fmt_char}") + if not str_ or str_ == f"%{fmt_char}": + # normalize outputs for unsupported directives + # in different platforms + # "%Q" may result "%Q", "Q", or "", make it "Q" + str_ = fmt_char + except ValueError as err: # pragma: no cover + # Unsupported directives may raise ValueError on Windows, + # in that case just use the fmt_char + warnings.warn( + (f"String format directive unknown/not support: %{fmt_char}" f"The system raises this ValueError: {err}"), + UserWarning, + ) + str_ = fmt_char + return str_ + + +# Thai conversion support for thai_strftime() +def _thai_strftime( + dt_obj: datetime, + fmt_char: str, + buddhist_era: bool = True, +) -> str: + """ + Conversion support for thai_strftime(). + + The fmt_char should be in _NEED_L10N when call this function. + """ + str_ = "" + year = dt_obj.year + if buddhist_era: + year = year + _BE_AD_DIFFERENCE + + if fmt_char == "A": + # National representation of the full weekday name + str_ = _TH_FULL_WEEKDAYS[dt_obj.weekday()] + elif fmt_char == "a": + # National representation of the abbreviated weekday + str_ = _TH_ABBR_WEEKDAYS[dt_obj.weekday()] + elif fmt_char == "B": + # National representation of the full month name + str_ = _TH_FULL_MONTHS[dt_obj.month - 1] + elif fmt_char == "b": + # National representation of the abbreviated month name + str_ = _TH_ABBR_MONTHS[dt_obj.month - 1] + elif fmt_char == "C": + # Thai Buddhist century (AD+543)/100 + 1 as decimal number; + str_ = str(int(year / 100) + 1).zfill(2) + elif fmt_char == "c": + # Locale’s appropriate date and time representation + # Wed 6 Oct 01:40:00 1976 + # พ 6 ต.ค. 01:40:00 2519 <-- left-aligned weekday, right-aligned day + str_ = ( + f"{_TH_ABBR_WEEKDAYS[dt_obj.weekday()]:<2} {dt_obj.day:>2} " + f"{_TH_ABBR_MONTHS[dt_obj.month - 1]} {dt_obj:%H:%M:%S} {year:04}" + ) + elif fmt_char == "D": + # Equivalent to ``%m/%d/%y'' + str_ = f"{dt_obj:%m/%d}/{year % 100:02}" + elif fmt_char == "F": + # Equivalent to ``%Y-%m-%d'' + str_ = f"{year:04}-{dt_obj:%m-%d}" + elif fmt_char == "G": + # ISO 8601 year with century representing the year that contains + # the greater part of the ISO week (%V). Monday as the first day + # of the week. + year_G = int(dt_obj.strftime("%G")) + if buddhist_era: + year_G = year_G + _BE_AD_DIFFERENCE + str_ = f"{year_G:04}" + elif fmt_char == "g": + # Same year as in ``%G'', + # but as a decimal number without century (00-99). + year_G = int(dt_obj.strftime("%G")) + if buddhist_era: + year_G = year_G + _BE_AD_DIFFERENCE + str_ = f"{year_G % 100:02}" + elif fmt_char == "v": + # BSD extension, ' 6-Oct-1976' + str_ = f"{dt_obj.day:>2}-{_TH_ABBR_MONTHS[dt_obj.month - 1]}-{year:04}" + elif fmt_char == "X": + # Locale’s appropriate time representation. + str_ = f"{dt_obj:%H:%M:%S}" + elif fmt_char == "x": + # Locale’s appropriate date representation. + str_ = f"{dt_obj:%d/%m}/{year:04}" + elif fmt_char == "Y": + # Year with century + str_ = f"{year:04}" + elif fmt_char == "y": + # Year without century + str_ = f"{year % 100:02}" + elif fmt_char == "+": + # National representation of the date and time + # (the format is similar to that produced by date(1)) + # Wed 6 Oct 1976 01:40:00 + str_ = ( + f"{_TH_ABBR_WEEKDAYS[dt_obj.weekday()]:<2} {dt_obj.day:>2} " + f"{_TH_ABBR_MONTHS[dt_obj.month - 1]} {year} {dt_obj:%H:%M:%S}" + ) + + return str_ + + +def thai_strftime( + dt_obj: datetime, + fmt: str = "%-d %b %Y", + thai_digit: bool = False, + buddhist_era: bool = True, +) -> str: + """ + Convert :class:`datetime.datetime` into Thai date and time format. + + The formatting directives are similar to :func:`datatime.strrftime`. + + This function uses Thai names and Thai Buddhist Era for these directives: + * **%a** - abbreviated weekday name + (i.e. "จ", "อ", "พ", "พฤ", "ศ", "ส", "อา") + * **%A** - full weekday name + (i.e. "วันจันทร์", "วันอังคาร", "วันเสาร์", "วันอาทิตย์") + * **%b** - abbreviated month name + (i.e. "ม.ค.", "ก.พ.", "มี.ค.", "เม.ย.", "พ.ค.", "มิ.ย.", "ธ.ค.") + * **%B** - full month name + (i.e. "มกราคม", "กุมภาพันธ์", "พฤศจิกายน", "ธันวาคม",) + * **%y** - year without century (i.e. "56", "10") + * **%Y** - year with century (i.e. "2556", "2410") + * **%c** - date and time representation + (i.e. "พ 6 ต.ค. 01:40:00 2519") + * **%v** - short date representation + (i.e. " 6-ม.ค.-2562", "27-ก.พ.-2555") + """ + thaidate_parts = [] + + i = 0 + fmt_len = len(fmt) + while i < fmt_len: + str_ = "" + if fmt[i] == "%": + j = i + 1 + if j < fmt_len: + fmt_char = fmt[j] + if fmt_char in _NEED_L10N: # requires localization? + str_ = _thai_strftime(dt_obj, fmt_char, buddhist_era) + elif fmt_char in _EXTENSIONS: + fmt_char_ext = fmt_char + k = j + 1 + if k < fmt_len: + fmt_char = fmt[k] + if fmt_char in _NEED_L10N: + str_ = _thai_strftime( + dt_obj, + fmt_char, + buddhist_era, + ) + else: + str_ = _std_strftime(dt_obj, fmt_char) + + if fmt_char_ext == "-": + # GNU libc extension, + # no padding + if str_[0] and str_[0] in " 0": + str_ = str_[1:] + elif fmt_char_ext == "_": + # GNU libc extension, + # explicitly specify space (" ") for padding + if str_[0] and str_[0] == "0": + str_ = " " + str_[1:] + elif fmt_char_ext == "0": + # GNU libc extension, + # explicitly specify zero ("0") for padding + if str_[0] and str_[0] == " ": + str_ = "0" + str_[1:] + elif fmt_char_ext == "^": + # GNU libc extension, + # convert to upper case + str_ = str_.upper() + elif fmt_char_ext == "#": + # GNU libc extension, + # swap case - useful for %Z + str_ = str_.swapcase() + elif fmt_char_ext == "E": + # POSIX extension, + # uses the locale's alternative representation + # Not implemented yet + pass + elif fmt_char_ext == "O": + # POSIX extension, + # uses the locale's alternative numeric symbols + str_ = str_.translate(_HA_TH_DIGITS) + i = i + 1 # consume char after format char + else: + # format char at string's end has no meaning + str_ = fmt_char_ext + else: # not in _NEED_L10N nor _EXTENSIONS + # no known localization available, use Python's default + str_ = _std_strftime(dt_obj, fmt_char) + + i = i + 1 # consume char after "%" + else: + # % char at string's end has no meaning + str_ = "%" + else: + str_ = fmt[i] + + thaidate_parts.append(str_) + i = i + 1 + + thaidate_text = "".join(thaidate_parts) + + if thai_digit: + thaidate_text = thaidate_text.translate(_HA_TH_DIGITS) + + return thaidate_text + + +class Provider(DateParseTypeProvider): + def date( + self, + pattern: str = "%-d %b %Y", + end_datetime: Optional[DateParseType] = None, + thai_digit: bool = False, + buddhist_era: bool = True, + ) -> str: + """ + Get a date string between January 1, 1970 and now + :param pattern format + :param end_datetime datetime + :param thai_digit use Thai digit or not (default: False) + :param buddhist_era use Buddist era or not (default: True) + :example '08 พ.ย. 2563' + :example '๐๘ พ.ย. 2563' (thai_digit = True) + :example '8 พฤศิจกายน 2020' (pattern: str = "%-d %B %Y", buddhist_era = False) + """ + return thai_strftime( + self.date_time(end_datetime=end_datetime), + pattern, + thai_digit, + buddhist_era, + ) + + def time( + self, + pattern: str = "%H:%M:%S", + end_datetime: Optional[DateParseType] = None, + thai_digit: bool = False, + ) -> str: + """ + Get a time string (24h format by default) + :param pattern format + :param end_datetime datetime + :param thai_digit use Thai digit or not (default: False) + :example '15:02:34' + :example '๑๕:๐๒:๓๔' (thai_digit = True) + """ + return thai_strftime( + self.date_time(end_datetime=end_datetime), + pattern, + thai_digit, + ) + + def century(self, thai_digit: bool = False, buddhist_era: bool = True) -> str: + """ + :param thai_digit use Thai digit or not (default: False) + :param buddhist_era use Buddist era or not (default: True) + :example '20' + """ + end_century = 22 + if buddhist_era: + end_century = 26 + text = str(self.random_element(range(1, end_century))) + if thai_digit: + text = text.translate(_HA_TH_DIGITS) + return text diff --git a/faker/providers/date_time/tl_PH/__init__.py b/faker/providers/date_time/tl_PH/__init__.py index a44dbca401..a8a98d24be 100644 --- a/faker/providers/date_time/tl_PH/__init__.py +++ b/faker/providers/date_time/tl_PH/__init__.py @@ -3,4 +3,5 @@ class Provider(FilPhProvider): """No difference from DateTime Provider for fil_PH locale""" + pass diff --git a/faker/providers/file/__init__.py b/faker/providers/file/__init__.py index e856bc1632..169f230a05 100644 --- a/faker/providers/file/__init__.py +++ b/faker/providers/file/__init__.py @@ -1,15 +1,15 @@ import string from collections import OrderedDict +from typing import Dict, Optional -from .. import BaseProvider +from .. import BaseProvider, ElementsType class Provider(BaseProvider): """Implement default file provider for Faker.""" - application_mime_types = ( - + application_mime_types: ElementsType = ( "application/atom+xml", # Atom feeds "application/ecmascript", # ECMAScript/JavaScript; Defined in RFC 4329 (equivalent to @@ -46,10 +46,10 @@ class Provider(BaseProvider): "application/xml-dtd", # DTD files; Defined by RFC 3023 "application/xop+xml", # XOP "application/zip", # ZIP archive files; Registered[8] - "application/gzip", # Gzip, Defined in RFC 6713 + "application/gzip", # Gzip, Defined in RFC 6713 ) - audio_mime_types = ( + audio_mime_types: ElementsType = ( "audio/basic", # mulaw audio at 8 kHz, 1 channel; Defined in RFC 2046 "audio/L24", # 24bit Linear PCM audio at 8-48 kHz, 1-N channels; Defined in RFC 3190 "audio/mp4", # MP4 audio @@ -59,10 +59,10 @@ class Provider(BaseProvider): # RealAudio; Documented in RealPlayer Help[9] "audio/vnd.rn-realaudio", "audio/vnd.wave", # WAV audio; Defined in RFC 2361 - "audio/webm", # WebM open media format + "audio/webm", # WebM open media format ) - image_mime_types = ( + image_mime_types: ElementsType = ( "image/gif", # GIF image; Defined in RFC 2045 and RFC 2046 "image/jpeg", # JPEG JFIF image; Defined in RFC 2045 and RFC 2046 "image/pjpeg", @@ -76,7 +76,7 @@ class Provider(BaseProvider): "image/vnd.microsoft.icon", # ICO image; Registered[11] ) - message_mime_types = ( + message_mime_types: ElementsType = ( "message/http", # Defined in RFC 2616 "message/imdn+xml", # IMDN Instant Message Disposition Notification; Defined in RFC 5438 "message/partial", # Email; Defined in RFC 2045 and RFC 2046 @@ -85,7 +85,7 @@ class Provider(BaseProvider): "message/rfc822", ) - model_mime_types = ( + model_mime_types: ElementsType = ( "model/example", # Defined in RFC 4735 "model/iges", # IGS files, IGES files; Defined in RFC 2077 "model/mesh", # MSH files, MESH files; Defined in RFC 2077, SILO files @@ -97,7 +97,7 @@ class Provider(BaseProvider): "model/x3d+xml", # X3D ISO standard for representing 3D computer graphics, X3D XML files ) - multipart_mime_types = ( + multipart_mime_types: ElementsType = ( "multipart/mixed", # MIME Email; Defined in RFC 2045 and RFC 2046 "multipart/alternative", # MIME Email; Defined in RFC 2045 and RFC 2046 # MIME Email; Defined in RFC 2387 and used by MHTML (HTML mail) @@ -107,7 +107,7 @@ class Provider(BaseProvider): "multipart/encrypted", # Defined in RFC 1847 ) - text_mime_types = ( + text_mime_types: ElementsType = ( "text/cmd", # commands; subtype resident in Gecko browsers like Firefox 3.5 "text/css", # Cascading Style Sheets; Defined in RFC 2318 "text/csv", # Comma-separated values; Defined in RFC 4180 @@ -123,7 +123,7 @@ class Provider(BaseProvider): "text/xml", # Extensible Markup Language; Defined in RFC 3023 ) - video_mime_types = ( + video_mime_types: ElementsType = ( "video/mpeg", # MPEG-1 video with multiplexed audio; Defined in RFC 2045 and RFC 2046 "video/mp4", # MP4 video; Defined in RFC 4337 # Ogg Theora or other video (with audio); Defined in RFC 5334 @@ -135,24 +135,26 @@ class Provider(BaseProvider): "video/x-flv", # Flash video (FLV files) ) - mime_types = OrderedDict(( - ('application', application_mime_types), - ('audio', audio_mime_types), - ('image', image_mime_types), - ('message', message_mime_types), - ('model', model_mime_types), - ('multipart', multipart_mime_types), - ('text', text_mime_types), - ('video', video_mime_types), - )) - - audio_file_extensions = ( + mime_types: Dict[str, ElementsType] = OrderedDict( + ( + ("application", application_mime_types), + ("audio", audio_mime_types), + ("image", image_mime_types), + ("message", message_mime_types), + ("model", model_mime_types), + ("multipart", multipart_mime_types), + ("text", text_mime_types), + ("video", video_mime_types), + ) + ) + + audio_file_extensions: ElementsType = ( "flac", "mp3", "wav", ) - image_file_extensions = ( + image_file_extensions: ElementsType = ( "bmp", "gif", "jpeg", @@ -161,7 +163,7 @@ class Provider(BaseProvider): "tiff", ) - text_file_extensions = ( + text_file_extensions: ElementsType = ( "css", "csv", "html", @@ -170,14 +172,14 @@ class Provider(BaseProvider): "txt", ) - video_file_extensions = ( + video_file_extensions: ElementsType = ( "mp4", "avi", "mov", "webm", ) - office_file_extensions = ( + office_file_extensions: ElementsType = ( "doc", # legacy MS Word "docx", # MS Word "xls", # legacy MS Excel @@ -193,16 +195,18 @@ class Provider(BaseProvider): "pdf", # Portable Document Format ) - file_extensions = OrderedDict(( - ("audio", audio_file_extensions), - ("image", image_file_extensions), - ("office", office_file_extensions), - ("text", text_file_extensions), - ("video", video_file_extensions), - )) - unix_device_prefixes = ('sd', 'vd', 'xvd') + file_extensions: Dict[str, ElementsType] = OrderedDict( + ( + ("audio", audio_file_extensions), + ("image", image_file_extensions), + ("office", office_file_extensions), + ("text", text_file_extensions), + ("video", video_file_extensions), + ) + ) + unix_device_prefixes: ElementsType = ("sd", "vd", "xvd") - def mime_type(self, category=None): + def mime_type(self, category: Optional[str] = None) -> str: """Generate a mime type under the specified ``category``. If ``category`` is ``None``, a random category will be used. The list of @@ -213,11 +217,10 @@ def mime_type(self, category=None): :sample: :sample: category='application' """ - category = category if category else self.random_element( - list(self.mime_types.keys())) + category = category if category else self.random_element(list(self.mime_types.keys())) return self.random_element(self.mime_types[category]) - def file_name(self, category=None, extension=None): + def file_name(self, category: Optional[str] = None, extension: Optional[str] = None) -> str: """Generate a random file name with extension. If ``extension`` is ``None``, a random extension will be created under @@ -231,11 +234,12 @@ def file_name(self, category=None, extension=None): :sample: extension='abcdef' :sample: category='audio', extension='abcdef' """ - extension = extension if extension else self.file_extension(category) - filename = self.generator.word() - return '{}.{}'.format(filename, extension) + if extension is None: + extension = self.file_extension(category) + filename: str = self.generator.word() + return f"{filename}.{extension}" - def file_extension(self, category=None): + def file_extension(self, category: Optional[str] = None) -> str: """Generate a file extension under the specified ``category``. If ``category`` is ``None``, a random category will be used. The list of @@ -245,11 +249,16 @@ def file_extension(self, category=None): :sample: :sample: category='image' """ - category = category if category else self.random_element( - list(self.file_extensions.keys())) + if category is None: + category = self.random_element(list(self.file_extensions.keys())) return self.random_element(self.file_extensions[category]) - def file_path(self, depth=1, category=None, extension=None): + def file_path( + self, + depth: int = 1, + category: Optional[str] = None, + extension: Optional[str] = None, + ) -> str: """Generate an absolute pathname to a file. This method uses |file_name| under the hood to generate the file name @@ -261,13 +270,13 @@ def file_path(self, depth=1, category=None, extension=None): :sample: depth=5, category='video' :sample: depth=5, category='video', extension='abcdef' """ - file = self.file_name(category, extension) - path = "/{}".format(file) + file: str = self.file_name(category, extension) + path: str = f"/{file}" for _ in range(0, depth): - path = "/{}{}".format(self.generator.word(), path) + path = f"/{self.generator.word()}{path}" return path - def unix_device(self, prefix=None): + def unix_device(self, prefix: Optional[str] = None) -> str: """Generate a Unix device file name. If ``prefix`` is ``None``, a random prefix will be used. The list of @@ -276,12 +285,13 @@ def unix_device(self, prefix=None): :sample: :sample: prefix='mmcblk' """ - prefix = prefix or self.random_element(self.unix_device_prefixes) - suffix = self.random_element(string.ascii_lowercase) - path = '/dev/%s%s' % (prefix, suffix) + if prefix is None: + prefix = self.random_element(self.unix_device_prefixes) + suffix: str = self.random_element(string.ascii_lowercase) + path = "/dev/%s%s" % (prefix, suffix) return path - def unix_partition(self, prefix=None): + def unix_partition(self, prefix: Optional[str] = None) -> str: """Generate a Unix partition name. This method uses |unix_device| under the hood to create a device file @@ -290,6 +300,6 @@ def unix_partition(self, prefix=None): :sample: :sample: prefix='mmcblk' """ - path = self.unix_device(prefix=prefix) + path: str = self.unix_device(prefix=prefix) path += str(self.random_digit()) return path diff --git a/faker/providers/geo/__init__.py b/faker/providers/geo/__init__.py index 4a83618854..377ef7d075 100644 --- a/faker/providers/geo/__init__.py +++ b/faker/providers/geo/__init__.py @@ -1,9 +1,12 @@ from decimal import Decimal +from typing import Optional, Tuple, Union from .. import BaseProvider localized = True +PlaceType = Tuple[str, str, str, str, str] + class Provider(BaseProvider): """ @@ -13,13 +16,19 @@ class Provider(BaseProvider): Timezones are canonical (https://en.wikipedia.org/wiki/List_of_tz_database_time_zones). """ - land_coords = ( + land_coords: Tuple[PlaceType, ...] = ( ("42.50729", "1.53414", "les Escaldes", "AD", "Europe/Andorra"), ("36.21544", "65.93249", "Sar-e Pul", "AF", "Asia/Kabul"), ("40.49748", "44.7662", "Hrazdan", "AM", "Asia/Yerevan"), ("-11.78333", "19.91667", "Luena", "AO", "Africa/Luanda"), ("-37.32167", "-59.13316", "Tandil", "AR", "America/Argentina/Buenos_Aires"), - ("-34.74785", "-58.70072", "Pontevedra", "AR", "America/Argentina/Buenos_Aires"), + ( + "-34.74785", + "-58.70072", + "Pontevedra", + "AR", + "America/Argentina/Buenos_Aires", + ), ("-34.64966", "-58.38341", "Barracas", "AR", "America/Argentina/Buenos_Aires"), ("-54.8", "-68.3", "Ushuaia", "AR", "America/Argentina/Ushuaia"), ("-31.25033", "-61.4867", "Rafaela", "AR", "America/Argentina/Cordoba"), @@ -240,7 +249,13 @@ class Provider(BaseProvider): ("53.6052", "10.03988", "Barmbek-Nord", "DE", "Europe/Berlin"), ("11.15583", "42.7125", "'Ali Sabieh", "DJ", "Africa/Djibouti"), ("55.67938", "12.53463", "Frederiksberg", "DK", "Europe/Copenhagen"), - ("18.20854", "-71.10077", "Santa Cruz de Barahona", "DO", "America/Santo_Domingo"), + ( + "18.20854", + "-71.10077", + "Santa Cruz de Barahona", + "DO", + "America/Santo_Domingo", + ), ("36.76639", "3.47717", "Boumerdas", "DZ", "Africa/Algiers"), ("36.72544", "3.55665", "Thenia", "DZ", "Africa/Algiers"), ("34.15429", "3.50309", "Messaad", "DZ", "Africa/Algiers"), @@ -974,12 +989,12 @@ class Provider(BaseProvider): ("-24.19436", "29.00974", "Mokopane", "ZA", "Africa/Johannesburg"), ) - def coordinate(self, center=None, radius=0.001): + def coordinate(self, center: Optional[float] = None, radius: Union[float, int] = 0.001) -> Decimal: """ Optionally center the coord and pick a point within radius. """ if center is None: - return Decimal(str(self.generator.random.randint(-180000000, 180000000) / 1000000.0)).quantize( + return Decimal(str(self.generator.random.randint(-180000000, 180000000) / 1000000)).quantize( Decimal(".000001"), ) else: @@ -988,29 +1003,34 @@ def coordinate(self, center=None, radius=0.001): geo = self.generator.random.uniform(center - radius, center + radius) return Decimal(str(geo)).quantize(Decimal(".000001")) - def latitude(self): + def latitude(self) -> Decimal: # Latitude has a range of -90 to 90, so divide by two. return self.coordinate() / 2 - def longitude(self): + def longitude(self) -> Decimal: return self.coordinate() - def latlng(self): + def latlng(self) -> Tuple[Decimal, Decimal]: return (self.latitude(), self.longitude()) - def local_latlng(self, country_code='US', coords_only=False): + def local_latlng( + self, + country_code: str = "US", + coords_only: bool = False, + ) -> Optional[Tuple[str, ...]]: """Returns a location known to exist on land in a country specified by `country_code`. Defaults to 'en_US'. See the `land_coords` list for available locations/countries. """ results = [loc for loc in self.land_coords if loc[3] == country_code] if results: - place = self.random_element(results) + place: PlaceType = self.random_element(results) return (place[0], place[1]) if coords_only else place + return None - def location_on_land(self, coords_only=False): + def location_on_land(self, coords_only: bool = False) -> Tuple[str, ...]: """Returns a random tuple specifying a coordinate set guaranteed to exist on land. Format is `(latitude, longitude, place name, two-letter country code, timezone)` Pass `coords_only` to return coordinates without metadata. """ - place = self.random_element(self.land_coords) + place: PlaceType = self.random_element(self.land_coords) return (place[0], place[1]) if coords_only else place diff --git a/faker/providers/geo/de_AT/__init__.py b/faker/providers/geo/de_AT/__init__.py index 0277ca8414..5a57b160d2 100644 --- a/faker/providers/geo/de_AT/__init__.py +++ b/faker/providers/geo/de_AT/__init__.py @@ -1,10 +1,11 @@ +from decimal import Decimal + from .. import Provider as GeoProvider class Provider(GeoProvider): - - def local_latitude(self): + def local_latitude(self) -> Decimal: return self.coordinate(center=47.60707, radius=1) - def local_longitude(self): + def local_longitude(self) -> Decimal: return self.coordinate(center=13.37208, radius=2) diff --git a/faker/providers/geo/el_GR/__init__.py b/faker/providers/geo/el_GR/__init__.py index 606b2715f0..14619e6d1b 100644 --- a/faker/providers/geo/el_GR/__init__.py +++ b/faker/providers/geo/el_GR/__init__.py @@ -1,4 +1,5 @@ from decimal import Decimal +from typing import Any, Tuple from .. import Provider as GeoProvider @@ -6,21 +7,23 @@ class Provider(GeoProvider): poly = ( - (40.34026, 19.15120), - (42.21670, 26.13934), - (35.55680, 29.38280), - (34.15370, 22.58810), + ("40.34026", "19.15120"), + ("42.21670", "26.13934"), + ("35.55680", "29.38280"), + ("34.15370", "22.58810"), ) - def local_latlng(self): - return float(self.local_latitude()), float(self.local_longitude()) + def local_latlng(self, *args: Any, **kwargs: Any) -> Tuple[str, str]: + return str(self.local_latitude()), str(self.local_longitude()) - def local_latitude(self): - latitudes = list(map(lambda t: int(t[0] * 10000000), self.poly)) - return Decimal(str(self.generator.random.randint( - min(latitudes), max(latitudes)) / 10000000.0)).quantize(Decimal('.000001')) + def local_latitude(self) -> Decimal: + latitudes = list(map(lambda t: int(Decimal(t[0]) * 10000000), self.poly)) + return Decimal(str(self.generator.random.randint(min(latitudes), max(latitudes)) / 10000000)).quantize( + Decimal(".000001") + ) - def local_longitude(self): - longitudes = list(map(lambda t: int(t[1] * 10000000), self.poly)) - return Decimal(str(self.generator.random.randint( - min(longitudes), max(longitudes)) / 10000000.0)).quantize(Decimal('.000001')) + def local_longitude(self) -> Decimal: + longitudes = list(map(lambda t: int(Decimal(t[1]) * 10000000), self.poly)) + return Decimal(str(self.generator.random.randint(min(longitudes), max(longitudes)) / 10000000)).quantize( + Decimal(".000001") + ) diff --git a/faker/providers/geo/en_IE/__init__.py b/faker/providers/geo/en_IE/__init__.py new file mode 100644 index 0000000000..2a2f994375 --- /dev/null +++ b/faker/providers/geo/en_IE/__init__.py @@ -0,0 +1,52 @@ +from .. import Provider as GeoProvider + + +class Provider(GeoProvider): + # Source: https://www.latlong.net/category/towns-106-55.html + land_coords = ( + ( + "53.944000", + "-8.095000", + "Carrish on Shannon, Leitrim,", + "IE", + "Europe/Dublin", + ), + ("52.354279", "-7.695040", "Clonmel, Co. Tipperary,", "IE", "Europe/Dublin"), + ( + "52.668076", + "-8.536722", + "Annacotty, County Limerick,", + "IE", + "Europe/Dublin", + ), + ("52.808887", "-8.447515", "Killaloe, Co. Clare,", "IE", "Europe/Dublin"), + ("52.059937", "-9.504427", "Killarney, Co. Kerry,", "IE", "Europe/Dublin"), + ("51.850334", "-8.294286", "Cobh, Co. Cork,", "IE", "Europe/Dublin"), + ("51.842426", "-8.830432", "Crookstown, Co. Cork,", "IE", "Europe/Dublin"), + ("53.802132", "-9.514347", "Westport, Co. Mayo,", "IE", "Europe/Dublin"), + ("52.856201", "-9.400776", "Miltown Malbay, Co. Clare,", "IE", "Europe/Dublin"), + ("53.016029", "-9.377420", "Doolin, Co. Clare,", "IE", "Europe/Dublin"), + ("53.011299", "-6.326156", "Glendalough, Co. Wicklow,", "IE", "Europe/Dublin"), + ("53.342617", "-7.613920", "Clara, Co. Offaly,", "IE", "Europe/Dublin"), + ("51.555923", "-9.262130", "Skibbereen, County Cork,", "IE", "Europe/Dublin"), + ("53.525932", "-7.338138", "Mullingar, Co. Westmeath,", "IE", "Europe/Dublin"), + ("53.357208", "-6.449849", "Lucan, Co. Dublin,", "IE", "Europe/Dublin"), + ("52.336918", "-6.463338", "Wexford", "IE", "Europe/Dublin"), + ("53.381290", "-6.591850", "Maynooth, Co. Kildare,", "IE", "Europe/Dublin"), + ("53.220566", "-6.659308", "Naas, Co. Kildare,", "IE", "Europe/Dublin"), + ("53.176861", "-6.802586", "Newbridge, Co. Kildare,", "IE", "Europe/Dublin"), + ("52.847054", "-8.988436", "Ennis, Clare,", "IE", "Europe/Dublin"), + ("53.293785", "-6.687040", "Clane, Co. Kildare,", "IE", "Europe/Dublin"), + ("52.703434", "-6.956577", "Mhuine Bheag, Co. Carlow,", "IE", "Europe/Dublin"), + ("51.555923", "-9.262130", "Skibbereen, Co. Cork,", "IE", "Europe/Dublin"), + ("53.580429", "-6.106339", "Skerries, Co. Dublin,", "IE", "Europe/Dublin"), + ("52.138977", "-8.653916", "Mallow, Co. Cork,", "IE", "Europe/Dublin"), + ("53.653042", "-6.684230", "Navan, Co. Meath,", "IE", "Europe/Dublin"), + ("51.880878", "-8.658640", "Ovens, Co. Cork,", "IE", "Europe/Dublin"), + ("53.279690", "-6.181159", "Newpark, Dublin,", "IE", "Europe/Dublin"), + ("51.706051", "-8.522501", "Kinsale, Co. Cork,", "IE", "Europe/Dublin"), + ("53.580551", "-6.107878", "Skerries, Co. Dublin,", "IE", "Europe/Dublin"), + ("55.194862", "-7.836965", "Downings, Co. Donegal,", "IE", "Europe/Dublin"), + ("53.514114", "-8.856518", "Tuam, Co. Galway,", "IE", "Europe/Dublin"), + ("53.270962", "-9.062691", "Galway", "IE", "Europe/Dublin"), + ) diff --git a/faker/providers/geo/pt_PT/__init__.py b/faker/providers/geo/pt_PT/__init__.py index 0d5691e70b..9b3b804d31 100644 --- a/faker/providers/geo/pt_PT/__init__.py +++ b/faker/providers/geo/pt_PT/__init__.py @@ -4,23 +4,124 @@ class Provider(GeoProvider): nationalities = ( - "Afegã", "Albanesa", "Arménia", "Angolana", "Argentina", "Austríaca", "Australiana", "Azerbaijã", "Belga", - "Bulgara", "Boliviana", "Brasileira", "Bielorussa", "Canadiana", "Congolesa (República Democrática do Congo)", - "Congolesa (República do Congo)", "Suíça", "Marfinense", "Chilena", "Chinesa", "Colombiana", "Costa-Riquenha", - "Cubana", "Cabo-verdiana", "Cipriota", "Checa", "Alemã", "Dinamarquesa", "Dominicana", "Argelina", - "Equatoriana", "Estónia", "Egípcia", "Espanhola", "Etíope", "Finlândesa", "Francesa", "Grega", - "Guineense (Bissau)", "Croata", "Húngara", "Indonésia", "Irlandesa", "Israelita", "Indiana", "Iraquiana", - "Iraniana", "Islandesa", "Italiana", "Jamaicana", "Japonesa", "Queniana", "Coreana", "Libanesa", "Lituana", - "Luxemburguesa", "Letã", "Marroquina", "Moldava", "Birmanesa", "Maltesa", "Mexicana", "Moçambicana", - "Nigeriana", "Holandesa", "Norueguesa", "Nepalesa", "Neozelandesa", "Peruana", "Filipina", "Paquistanesa", - "Polaca", "Portuguesa", "Paraguaia", "Romena", "Russa", "Ruandesa", "Sudanesa", "Sueca", "Eslovena", "Eslovaca", - "Senegalesa", "Somali", "Santomense", "Salvadorenha", "Tailandesa", "Tunisina", "Turca", "Ucraniana", - "Britânica", "Americana", "Uruguaia", "Venezuelana", "Vietnamita", "Sul-Africana", "Sérvia", "Andorrenha", - "Bósnia", "Camaronesa", "Georgiana", "Ganesa", "Gambiana", "Hondurenha", "Haitiana", "Cazaque", "Libanesa ", - "Monegasca", "Maliana", "Mongol", "Mauritana", "Malaia", "Panamiana", "Saudita", "Singapurense", "Togolesa", + "Afegã", + "Albanesa", + "Arménia", + "Angolana", + "Argentina", + "Austríaca", + "Australiana", + "Azerbaijã", + "Belga", + "Bulgara", + "Boliviana", + "Brasileira", + "Bielorussa", + "Canadiana", + "Congolesa (República Democrática do Congo)", + "Congolesa (República do Congo)", + "Suíça", + "Marfinense", + "Chilena", + "Chinesa", + "Colombiana", + "Costa-Riquenha", + "Cubana", + "Cabo-verdiana", + "Cipriota", + "Checa", + "Alemã", + "Dinamarquesa", + "Dominicana", + "Argelina", + "Equatoriana", + "Estónia", + "Egípcia", + "Espanhola", + "Etíope", + "Finlândesa", + "Francesa", + "Grega", + "Guineense (Bissau)", + "Croata", + "Húngara", + "Indonésia", + "Irlandesa", + "Israelita", + "Indiana", + "Iraquiana", + "Iraniana", + "Islandesa", + "Italiana", + "Jamaicana", + "Japonesa", + "Queniana", + "Coreana", + "Libanesa", + "Lituana", + "Luxemburguesa", + "Letã", + "Marroquina", + "Moldava", + "Birmanesa", + "Maltesa", + "Mexicana", + "Moçambicana", + "Nigeriana", + "Holandesa", + "Norueguesa", + "Nepalesa", + "Neozelandesa", + "Peruana", + "Filipina", + "Paquistanesa", + "Polaca", + "Portuguesa", + "Paraguaia", + "Romena", + "Russa", + "Ruandesa", + "Sudanesa", + "Sueca", + "Eslovena", + "Eslovaca", + "Senegalesa", + "Somali", + "Santomense", + "Salvadorenha", + "Tailandesa", + "Tunisina", + "Turca", + "Ucraniana", + "Britânica", + "Americana", + "Uruguaia", + "Venezuelana", + "Vietnamita", + "Sul-Africana", + "Sérvia", + "Andorrenha", + "Bósnia", + "Camaronesa", + "Georgiana", + "Ganesa", + "Gambiana", + "Hondurenha", + "Haitiana", + "Cazaque", + "Libanesa ", + "Monegasca", + "Maliana", + "Mongol", + "Mauritana", + "Malaia", + "Panamiana", + "Saudita", + "Singapurense", + "Togolesa", ) - def nationality(self): + def nationality(self) -> str: """ :example 'Portuguesa' """ diff --git a/faker/providers/geo/tr_TR/__init__.py b/faker/providers/geo/tr_TR/__init__.py new file mode 100644 index 0000000000..5d9246a56f --- /dev/null +++ b/faker/providers/geo/tr_TR/__init__.py @@ -0,0 +1,106 @@ +from .. import Provider as GeoProvider + + +class Provider(GeoProvider): + # Source: https://tr.wikipedia.org/wiki/T%C3%BCrkiye%27nin_illeri + land_coords = ( + ("37.003277000000004", "35.3261219", "Adana", "TR", "Europe/Istanbul"), + ("37.7640008", "38.2764355", "Adıyaman", "TR", "Europe/Istanbul"), + ( + "38.756850899999996", + "30.538694399999997", + "Afyonkarahisar", + "TR", + "Europe/Istanbul", + ), + ("38.3705416", "34.026907", "Aksaray", "TR", "Europe/Istanbul"), + ("40.6569451", "35.7727169", "Amasya", "TR", "Europe/Istanbul"), + ("39.921521899999995", "32.8537929", "Ankara", "TR", "Europe/Istanbul"), + ("36.9009641", "30.6954846", "Antalya", "TR", "Europe/Istanbul"), + ("41.1102966", "42.7035585", "Ardahan", "TR", "Europe/Istanbul"), + ("41.160506", "41.839862700000005", "Artvin", "TR", "Europe/Istanbul"), + ("37.841300700000005", "27.832837400000003", "Aydın", "TR", "Europe/Istanbul"), + ("39.7201318", "43.050038799999996", "Ağrı", "TR", "Europe/Istanbul"), + ("39.6473917", "27.8879787", "Balıkesir", "TR", "Europe/Istanbul"), + ("41.6338394", "32.3384354", "Bartın", "TR", "Europe/Istanbul"), + ("37.7874104", "41.2573924", "Batman", "TR", "Europe/Istanbul"), + ("40.25569", "40.224099", "Bayburt", "TR", "Europe/Istanbul"), + ("40.1435101", "29.975291100000003", "Bilecik", "TR", "Europe/Istanbul"), + ("38.8851831", "40.4965998", "Bingöl", "TR", "Europe/Istanbul"), + ("38.4002185", "42.1081317", "Bitlis", "TR", "Europe/Istanbul"), + ("40.733295299999995", "31.6110479", "Bolu", "TR", "Europe/Istanbul"), + ("37.7248394", "30.288728600000002", "Burdur", "TR", "Europe/Istanbul"), + ("40.1826036", "29.067565500000004", "Bursa", "TR", "Europe/Istanbul"), + ( + "37.773483299999995", + "29.087389399999996", + "Denizli", + "TR", + "Europe/Istanbul", + ), + ("37.9167321", "40.2225658", "Diyarbakır", "TR", "Europe/Istanbul"), + ("40.8458611", "31.164851000000002", "Düzce", "TR", "Europe/Istanbul"), + ("41.675932700000004", "26.5587225", "Edirne", "TR", "Europe/Istanbul"), + ("38.5824771", "39.396179", "Elazığ", "TR", "Europe/Istanbul"), + ("39.749605200000005", "39.4941023", "Erzincan", "TR", "Europe/Istanbul"), + ("39.7581897", "41.4032241", "Erzurum", "TR", "Europe/Istanbul"), + ("39.766681299999995", "30.5255947", "Eskişehir", "TR", "Europe/Istanbul"), + ("37.0611756", "37.3793085", "Gaziantep", "TR", "Europe/Istanbul"), + ("40.9148702", "38.3879289", "Giresun", "TR", "Europe/Istanbul"), + ("40.4617844", "39.475733899999994", "Gümüşhane", "TR", "Europe/Istanbul"), + ("37.574898", "43.73766", "Hakkari", "TR", "Europe/Istanbul"), + ("36.202593900000004", "36.1603945", "Hatay", "TR", "Europe/Istanbul"), + ("37.77035", "30.5556933", "Isparta", "TR", "Europe/Istanbul"), + ("39.921566799999994", "44.0467724", "Iğdır", "TR", "Europe/Istanbul"), + ("37.5812744", "36.927509", "Kahramanmaraş", "TR", "Europe/Istanbul"), + ("41.1110349", "32.619390100000004", "Karabük", "TR", "Europe/Istanbul"), + ( + "37.179244700000005", + "33.222478100000004", + "Karaman", + "TR", + "Europe/Istanbul", + ), + ("40.605158", "43.0961734", "Kars", "TR", "Europe/Istanbul"), + ("41.3765359", "33.7770087", "Kastamonu", "TR", "Europe/Istanbul"), + ("38.7225274", "35.4874516", "Kayseri", "TR", "Europe/Istanbul"), + ("36.718045000000004", "37.11688", "Kilis", "TR", "Europe/Istanbul"), + ("40.765382", "29.9406983", "Kocaeli", "TR", "Europe/Istanbul"), + ("37.8719963", "32.484401500000004", "Konya", "TR", "Europe/Istanbul"), + ("39.4191505", "29.987292800000002", "Kütahya", "TR", "Europe/Istanbul"), + ("41.7370223", "27.223552299999998", "Kırklareli", "TR", "Europe/Istanbul"), + ("39.8485708", "33.5276222", "Kırıkkale", "TR", "Europe/Istanbul"), + ("39.14611420000001", "34.1605587", "Kırşehir", "TR", "Europe/Istanbul"), + ("38.3483098", "38.3178715", "Malatya", "TR", "Europe/Istanbul"), + ("38.615502899999996", "27.4255716", "Manisa", "TR", "Europe/Istanbul"), + ("37.341485399999996", "40.7476249", "Mardin", "TR", "Europe/Istanbul"), + ("36.8117583", "34.6292679", "Mersin", "TR", "Europe/Istanbul"), + ("37.1642053", "28.2624288", "Muğla", "TR", "Europe/Istanbul"), + ("38.740370299999995", "41.4967451", "Muş", "TR", "Europe/Istanbul"), + ("38.6223688", "34.713602200000004", "Nevşehir", "TR", "Europe/Istanbul"), + ("37.971207899999996", "34.6775534", "Niğde", "TR", "Europe/Istanbul"), + ("40.8292569", "37.4082764", "Ordu", "TR", "Europe/Istanbul"), + ("37.073671000000004", "36.255941", "Osmaniye", "TR", "Europe/Istanbul"), + ("41.022809", "40.519612", "Rize", "TR", "Europe/Istanbul"), + ("40.7731834", "30.481606", "Sakarya", "TR", "Europe/Istanbul"), + ("41.2889924", "36.329445899999996", "Samsun", "TR", "Europe/Istanbul"), + ("37.931282", "41.939840000000004", "Siirt", "TR", "Europe/Istanbul"), + ("42.0266698", "35.1506765", "Sinop", "TR", "Europe/Istanbul"), + ("39.7503572", "37.0145185", "Sivas", "TR", "Europe/Istanbul"), + ("40.986222999999995", "27.513944", "Tekirdağ", "TR", "Europe/Istanbul"), + ("40.327746999999995", "36.5539494", "Tokat", "TR", "Europe/Istanbul"), + ("41.0058605", "39.718092799999994", "Trabzon", "TR", "Europe/Istanbul"), + ("39.1080631", "39.548196999999995", "Tunceli", "TR", "Europe/Istanbul"), + ("38.6710838", "29.407250899999998", "Uşak", "TR", "Europe/Istanbul"), + ("38.508360100000004", "43.374532200000004", "Van", "TR", "Europe/Istanbul"), + ("40.6556669", "29.272909100000003", "Yalova", "TR", "Europe/Istanbul"), + ("39.8205571", "34.8094917", "Yozgat", "TR", "Europe/Istanbul"), + ("41.250324", "31.8389738", "Zonguldak", "TR", "Europe/Istanbul"), + ("40.1534952", "26.4140933", "Çanakkale", "TR", "Europe/Istanbul"), + ("40.5971947", "33.6212704", "Çankırı", "TR", "Europe/Istanbul"), + ("40.54914960000001", "34.9602453", "Çorum", "TR", "Europe/Istanbul"), + ("41.0096334", "28.9651646", "İstanbul", "TR", "Europe/Istanbul"), + ("38.415342100000004", "27.144474", "İzmir", "TR", "Europe/Istanbul"), + ("37.2595198", "39.0408174", "Şanlıurfa", "TR", "Europe/Istanbul"), + ("37.455253000000006", "42.5212049", "Şırnak", "TR", "Europe/Istanbul"), + ) diff --git a/faker/providers/internet/__init__.py b/faker/providers/internet/__init__.py index e321c8f100..f9a038fb9f 100644 --- a/faker/providers/internet/__init__.py +++ b/faker/providers/internet/__init__.py @@ -1,13 +1,11 @@ -from ipaddress import IPV4LENGTH, IPV6LENGTH, ip_address, ip_network +from ipaddress import IPV4LENGTH, IPV6LENGTH, IPv4Network, ip_address, ip_network +from typing import Dict, List, Optional, Tuple from text_unidecode import unidecode -# from faker.generator import random -# from faker.providers.lorem.la import Provider as Lorem -from faker.utils.decorators import lowercase, slugify, slugify_unicode -from faker.utils.distribution import choices_distribution - -from .. import BaseProvider +from ...utils.decorators import lowercase, slugify, slugify_unicode +from ...utils.distribution import choices_distribution +from .. import BaseProvider, ElementsType localized = True @@ -20,98 +18,152 @@ class _IPv4Constants: Excluded network list is updated to comply with current IANA list of private and reserved networks. """ - _network_classes = { - 'a': ip_network('0.0.0.0/1'), - 'b': ip_network('128.0.0.0/2'), - 'c': ip_network('192.0.0.0/3'), + + _network_classes: Dict[str, IPv4Network] = { + "a": ip_network("0.0.0.0/1"), + "b": ip_network("128.0.0.0/2"), + "c": ip_network("192.0.0.0/3"), } # Three common private networks from class A, B and CIDR # to generate private addresses from. - _private_networks = [ - ip_network('10.0.0.0/8'), - ip_network('172.16.0.0/12'), - ip_network('192.168.0.0/16'), + _private_networks: List[IPv4Network] = [ + ip_network("10.0.0.0/8"), + ip_network("172.16.0.0/12"), + ip_network("192.168.0.0/16"), ] # List of networks from which IP addresses will never be generated, # includes other private IANA and reserved networks from # ttps://www.iana.org/assignments/iana-ipv4-special-registry/iana-ipv4-special-registry.xhtml - _excluded_networks = [ - ip_network('0.0.0.0/8'), - ip_network('100.64.0.0/10'), - ip_network('127.0.0.0/8'), # loopback network - ip_network('169.254.0.0/16'), # linklocal network - ip_network('192.0.0.0/24'), - ip_network('192.0.2.0/24'), - ip_network('192.31.196.0/24'), - ip_network('192.52.193.0/24'), - ip_network('192.88.99.0/24'), - ip_network('192.175.48.0/24'), - ip_network('198.18.0.0/15'), - ip_network('198.51.100.0/24'), - ip_network('203.0.113.0/24'), - ip_network('224.0.0.0/4'), # multicast network - ip_network('240.0.0.0/4'), - ip_network('255.255.255.255/32'), + _excluded_networks: List[IPv4Network] = [ + ip_network("0.0.0.0/8"), + ip_network("100.64.0.0/10"), + ip_network("127.0.0.0/8"), # loopback network + ip_network("169.254.0.0/16"), # linklocal network + ip_network("192.0.0.0/24"), + ip_network("192.0.2.0/24"), + ip_network("192.31.196.0/24"), + ip_network("192.52.193.0/24"), + ip_network("192.88.99.0/24"), + ip_network("192.175.48.0/24"), + ip_network("198.18.0.0/15"), + ip_network("198.51.100.0/24"), + ip_network("203.0.113.0/24"), + ip_network("224.0.0.0/4"), # multicast network + ip_network("240.0.0.0/4"), + ip_network("255.255.255.255/32"), ] class Provider(BaseProvider): - safe_domain_names = ('example.org', 'example.com', 'example.net') - free_email_domains = ('gmail.com', 'yahoo.com', 'hotmail.com') - tlds = ( - 'com', 'com', 'com', 'com', 'com', 'com', 'biz', 'info', 'net', 'org', + safe_domain_names: ElementsType = ("example.org", "example.com", "example.net") + free_email_domains: ElementsType = ("gmail.com", "yahoo.com", "hotmail.com") + tlds: ElementsType = ( + "com", + "com", + "com", + "com", + "com", + "com", + "biz", + "info", + "net", + "org", + ) + hostname_prefixes: ElementsType = ( + "db", + "srv", + "desktop", + "laptop", + "lt", + "email", + "web", ) - hostname_prefixes = ('db', 'srv', 'desktop', 'laptop', 'lt', 'email', 'web') - uri_pages = ( - 'index', 'home', 'search', 'main', 'post', 'homepage', 'category', - 'register', 'login', 'faq', 'about', 'terms', 'privacy', 'author', + uri_pages: ElementsType = ( + "index", + "home", + "search", + "main", + "post", + "homepage", + "category", + "register", + "login", + "faq", + "about", + "terms", + "privacy", + "author", ) - uri_paths = ( - 'app', 'main', 'wp-content', 'search', 'category', 'tag', 'categories', - 'tags', 'blog', 'posts', 'list', 'explore', + uri_paths: ElementsType = ( + "app", + "main", + "wp-content", + "search", + "category", + "tag", + "categories", + "tags", + "blog", + "posts", + "list", + "explore", ) - uri_extensions = ( - '.html', '.html', '.html', '.htm', '.htm', '.php', '.php', '.jsp', - '.asp', + uri_extensions: ElementsType = ( + ".html", + ".html", + ".html", + ".htm", + ".htm", + ".php", + ".php", + ".jsp", + ".asp", ) - http_methods = ( - 'GET', 'HEAD', 'POST', 'PUT', 'DELETE', 'CONNECT', 'OPTIONS', 'TRACE', - 'PATCH', + http_methods: ElementsType = ( + "GET", + "HEAD", + "POST", + "PUT", + "DELETE", + "CONNECT", + "OPTIONS", + "TRACE", + "PATCH", ) - user_name_formats = ( - '{{last_name}}.{{first_name}}', - '{{first_name}}.{{last_name}}', - '{{first_name}}##', - '?{{last_name}}', + user_name_formats: ElementsType = ( + "{{last_name}}.{{first_name}}", + "{{first_name}}.{{last_name}}", + "{{first_name}}##", + "?{{last_name}}", ) - email_formats = ( - '{{user_name}}@{{domain_name}}', - '{{user_name}}@{{free_email_domain}}', + email_formats: ElementsType = ( + "{{user_name}}@{{domain_name}}", + "{{user_name}}@{{free_email_domain}}", ) - url_formats = ( - 'www.{{domain_name}}/', - '{{domain_name}}/', + url_formats: ElementsType = ( + "www.{{domain_name}}/", + "{{domain_name}}/", ) - uri_formats = ( - '{{url}}', - '{{url}}{{uri_page}}/', - '{{url}}{{uri_page}}{{uri_extension}}', - '{{url}}{{uri_path}}/{{uri_page}}/', - '{{url}}{{uri_path}}/{{uri_page}}{{uri_extension}}', + uri_formats: ElementsType = ( + "{{url}}", + "{{url}}{{uri_page}}/", + "{{url}}{{uri_page}}{{uri_extension}}", + "{{url}}{{uri_path}}/{{uri_page}}/", + "{{url}}{{uri_path}}/{{uri_page}}{{uri_extension}}", ) - image_placeholder_services = ( - 'https://www.lorempixel.com/{width}/{height}', - 'https://dummyimage.com/{width}x{height}', - 'https://placekitten.com/{width}/{height}', - 'https://placeimg.com/{width}/{height}/any', + image_placeholder_services: ElementsType = ( + "https://www.lorempixel.com/{width}/{height}", + "https://dummyimage.com/{width}x{height}", + "https://placekitten.com/{width}/{height}", + "https://placeimg.com/{width}/{height}/any", ) - replacements = () + replacements: Tuple[Tuple[str, str], ...] = () - def _to_ascii(self, string): + def _to_ascii(self, string: str) -> str: for search, replace in self.replacements: string = string.replace(search, replace) @@ -119,67 +171,66 @@ def _to_ascii(self, string): return string @lowercase - def email(self, domain=None): + def email(self, safe: bool = True, domain: Optional[str] = None) -> str: if domain: - email = '{}@{}'.format(self.user_name(), domain) + email = f"{self.user_name()}@{domain}" + elif safe: + email = f"{self.user_name()}@{self.safe_domain_name()}" else: - pattern = self.random_element(self.email_formats) + pattern: str = self.random_element(self.email_formats) email = "".join(self.generator.parse(pattern).split(" ")) return email @lowercase - def safe_domain_name(self): + def safe_domain_name(self) -> str: return self.random_element(self.safe_domain_names) @lowercase - def safe_email(self): - return self.user_name() + '@' + self.safe_domain_name() + def safe_email(self) -> str: + return self.user_name() + "@" + self.safe_domain_name() @lowercase - def free_email(self): - return self.user_name() + '@' + self.free_email_domain() + def free_email(self) -> str: + return self.user_name() + "@" + self.free_email_domain() @lowercase - def company_email(self): - return self.user_name() + '@' + self.domain_name() + def company_email(self) -> str: + return self.user_name() + "@" + self.domain_name() @lowercase - def free_email_domain(self): + def free_email_domain(self) -> str: return self.random_element(self.free_email_domains) @lowercase - def ascii_email(self): - pattern = self.random_element(self.email_formats) + def ascii_email(self) -> str: + pattern: str = self.random_element(self.email_formats) return self._to_ascii( "".join(self.generator.parse(pattern).split(" ")), ) @lowercase - def ascii_safe_email(self): - return self._to_ascii(self.user_name() + '@' + self.safe_domain_name()) + def ascii_safe_email(self) -> str: + return self._to_ascii(self.user_name() + "@" + self.safe_domain_name()) @lowercase - def ascii_free_email(self): + def ascii_free_email(self) -> str: return self._to_ascii( - self.user_name() + '@' + self.free_email_domain(), + self.user_name() + "@" + self.free_email_domain(), ) @lowercase - def ascii_company_email(self): + def ascii_company_email(self) -> str: return self._to_ascii( - self.user_name() + '@' + self.domain_name(), + self.user_name() + "@" + self.domain_name(), ) @slugify_unicode - def user_name(self): - pattern = self.random_element(self.user_name_formats) - username = self._to_ascii( - self.bothify(self.generator.parse(pattern)).lower(), - ) - return username + def user_name(self) -> str: + pattern: str = self.random_element(self.user_name_formats) + return self._to_ascii(self.bothify(self.generator.parse(pattern)).lower()) @lowercase - def hostname(self, levels=1): + def hostname(self, levels: int = 1) -> str: """ Produce a hostname with specified number of subdomain levels. @@ -190,12 +241,14 @@ def hostname(self, levels=1): >>> hostname(2) web-12.williamson-hopkins.jackson.com """ - if levels < 1: - return self.random_element(self.hostname_prefixes) + '-' + self.numerify('##') - return self.random_element(self.hostname_prefixes) + '-' + self.numerify('##') + '.' + self.domain_name(levels) + hostname_prefix: str = self.random_element(self.hostname_prefixes) + hostname_prefix_first_level: str = hostname_prefix + "-" + self.numerify("##") + return ( + hostname_prefix_first_level if levels < 1 else hostname_prefix_first_level + "." + self.domain_name(levels) + ) @lowercase - def domain_name(self, levels=1): + def domain_name(self, levels: int = 1) -> str: """ Produce an Internet domain name with the specified number of subdomain levels. @@ -208,19 +261,24 @@ def domain_name(self, levels=1): if levels < 1: raise ValueError("levels must be greater than or equal to 1") if levels == 1: - return self.domain_word() + '.' + self.tld() - else: - return self.domain_word() + '.' + self.domain_name(levels - 1) + return self.domain_word() + "." + self.tld() + return self.domain_word() + "." + self.domain_name(levels - 1) @lowercase @slugify_unicode - def domain_word(self): - company = self.generator.format('company') - company_elements = company.split(' ') - company = self._to_ascii(company_elements.pop(0)) - return company - - def dga(self, year=None, month=None, day=None, tld=None, length=None): + def domain_word(self) -> str: + company: str = self.generator.format("company") + company_elements: List[str] = company.split(" ") + return self._to_ascii(company_elements.pop(0)) + + def dga( + self, + year: Optional[int] = None, + month: Optional[int] = None, + day: Optional[int] = None, + tld: Optional[str] = None, + length: Optional[int] = None, + ) -> str: """Generates a domain name by given date https://en.wikipedia.org/wiki/Domain_generation_algorithm @@ -232,7 +290,7 @@ def dga(self, year=None, month=None, day=None, tld=None, length=None): :rtype: str """ - domain = '' + domain = "" year = year or self.random_int(min=1, max=9999) month = month or self.random_int(min=1, max=12) day = day or self.random_int(min=1, max=30) @@ -245,12 +303,12 @@ def dga(self, year=None, month=None, day=None, tld=None, length=None): day = ((day ^ (day << 13)) >> 19) ^ ((day & 0xFFFFFFFE) << 12) domain += chr(((year ^ month ^ day) % 25) + 97) - return domain + '.' + tld + return domain + "." + tld - def tld(self): + def tld(self) -> str: return self.random_element(self.tlds) - def http_method(self): + def http_method(self) -> str: """Returns random HTTP method https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods @@ -259,7 +317,7 @@ def http_method(self): return self.random_element(self.http_methods) - def url(self, schemes=None): + def url(self, schemes: Optional[List[str]] = None) -> str: """ :param schemes: a list of strings to use as schemes, one will chosen randomly. If None, it will generate http and https urls. @@ -268,16 +326,13 @@ def url(self, schemes=None): :returns: a random url string. """ if schemes is None: - schemes = ['http', 'https'] + schemes = ["http", "https"] - pattern = '{}://{}'.format( - self.random_element(schemes) if schemes else "", - self.random_element(self.url_formats), - ) + pattern: str = f'{self.random_element(schemes) if schemes else ""}://{self.random_element(self.url_formats)}' return self.generator.parse(pattern) - def _get_all_networks_and_weights(self, address_class=None): + def _get_all_networks_and_weights(self, address_class: Optional[str] = None) -> Tuple[List[IPv4Network], List[int]]: """ Produces a 2-tuple of valid IPv4 networks and corresponding relative weights @@ -285,14 +340,14 @@ def _get_all_networks_and_weights(self, address_class=None): """ # If `address_class` has an unexpected value, use the whole IPv4 pool if address_class in _IPv4Constants._network_classes.keys(): - networks_attr = '_cached_all_class_{}_networks'.format(address_class) - all_networks = [_IPv4Constants._network_classes[address_class]] + networks_attr = f"_cached_all_class_{address_class}_networks" + all_networks = [_IPv4Constants._network_classes[address_class]] # type: ignore else: - networks_attr = '_cached_all_networks' - all_networks = [ip_network('0.0.0.0/0')] + networks_attr = "_cached_all_networks" + all_networks = [ip_network("0.0.0.0/0")] # Return cached network and weight data if available - weights_attr = '{}_weights'.format(networks_attr) + weights_attr = f"{networks_attr}_weights" if hasattr(self, networks_attr) and hasattr(self, weights_attr): return getattr(self, networks_attr), getattr(self, weights_attr) @@ -310,28 +365,28 @@ def _get_all_networks_and_weights(self, address_class=None): setattr(self, weights_attr, weights) return all_networks, weights - def _get_private_networks_and_weights(self, address_class=None): + def _get_private_networks_and_weights( + self, + address_class: Optional[str] = None, + ) -> Tuple[List[IPv4Network], List[int]]: """ Produces an OrderedDict of valid private IPv4 networks and corresponding relative weights :param address_class: IPv4 address class (a, b, or c) """ # If `address_class` has an unexpected value, choose a valid value at random - if address_class not in _IPv4Constants._network_classes.keys(): + if not address_class or address_class not in _IPv4Constants._network_classes.keys(): address_class = self.ipv4_network_class() # Return cached network and weight data if available for a specific address class - networks_attr = '_cached_private_class_{}_networks'.format(address_class) - weights_attr = '{}_weights'.format(networks_attr) + networks_attr = f"_cached_private_class_{address_class}_networks" + weights_attr = f"{networks_attr}_weights" if hasattr(self, networks_attr) and hasattr(self, weights_attr): return getattr(self, networks_attr), getattr(self, weights_attr) # Otherwise, compute for list of private networks (excluding special networks) supernet = _IPv4Constants._network_classes[address_class] - private_networks = [ - subnet for subnet in _IPv4Constants._private_networks - if subnet.overlaps(supernet) - ] + private_networks = [subnet for subnet in _IPv4Constants._private_networks if subnet.overlaps(supernet)] private_networks = self._exclude_ipv4_networks( private_networks, _IPv4Constants._excluded_networks, @@ -345,7 +400,10 @@ def _get_private_networks_and_weights(self, address_class=None): setattr(self, weights_attr, weights) return private_networks, weights - def _get_public_networks_and_weights(self, address_class=None): + def _get_public_networks_and_weights( + self, + address_class: Optional[str] = None, + ) -> Tuple[List[IPv4Network], List[int]]: """ Produces a 2-tuple of valid public IPv4 networks and corresponding relative weights @@ -356,17 +414,16 @@ def _get_public_networks_and_weights(self, address_class=None): address_class = self.ipv4_network_class() # Return cached network and weight data if available for a specific address class - networks_attr = '_cached_public_class_{}_networks'.format(address_class) - weights_attr = '{}_weights'.format(networks_attr) + networks_attr = f"_cached_public_class_{address_class}_networks" + weights_attr = f"{networks_attr}_weights" if hasattr(self, networks_attr) and hasattr(self, weights_attr): return getattr(self, networks_attr), getattr(self, weights_attr) # Otherwise, compute for list of public networks (excluding private and special networks) - public_networks = [_IPv4Constants._network_classes[address_class]] + public_networks = [_IPv4Constants._network_classes[address_class]] # type: ignore public_networks = self._exclude_ipv4_networks( public_networks, - _IPv4Constants._private_networks + - _IPv4Constants._excluded_networks, + _IPv4Constants._private_networks + _IPv4Constants._excluded_networks, ) # Then compute for list of corresponding relative weights @@ -377,7 +434,12 @@ def _get_public_networks_and_weights(self, address_class=None): setattr(self, weights_attr, weights) return public_networks, weights - def _random_ipv4_address_from_subnets(self, subnets, weights=None, network=False): + def _random_ipv4_address_from_subnets( + self, + subnets: List[IPv4Network], + weights: Optional[List[int]] = None, + network: bool = False, + ) -> str: """ Produces a random IPv4 address or network with a valid CIDR from within the given subnets using a distribution described @@ -388,28 +450,47 @@ def _random_ipv4_address_from_subnets(self, subnets, weights=None, network=False :param network: Return a network address, and not an IP address :return: """ + if not subnets: + raise ValueError("No subnets to choose from") + # If the weights argument has an invalid value, default to equal distribution - try: - subnet = choices_distribution(subnets, weights, random=self.generator.random, length=1)[0] - except (AssertionError, TypeError): + if ( + isinstance(weights, list) + and len(subnets) == len(weights) + and all(isinstance(w, (float, int)) for w in weights) + ): + subnet = choices_distribution( + subnets, + [float(w) for w in weights], + random=self.generator.random, + length=1, + )[0] + else: subnet = self.generator.random.choice(subnets) address = str( - subnet[self.generator.random.randint( - 0, subnet.num_addresses - 1, - )], + subnet[ + self.generator.random.randint( + 0, + subnet.num_addresses - 1, + ) + ], ) if network: - address += '/' + str(self.generator.random.randint( - subnet.prefixlen, - subnet.max_prefixlen, - )) + address += "/" + str( + self.generator.random.randint( + subnet.prefixlen, + subnet.max_prefixlen, + ) + ) address = str(ip_network(address, strict=False)) return address - def _exclude_ipv4_networks(self, networks, networks_to_exclude): + def _exclude_ipv4_networks( + self, networks: List[IPv4Network], networks_to_exclude: List[IPv4Network] + ) -> List[IPv4Network]: """ Exclude the list of networks from another list of networks and return a flat list of new networks. @@ -420,6 +501,7 @@ def _exclude_ipv4_networks(self, networks, networks_to_exclude): """ networks_to_exclude.sort(key=lambda x: x.prefixlen) for network_to_exclude in networks_to_exclude: + def _exclude_ipv4_network(network): """ Exclude a single network from another single network @@ -444,24 +526,25 @@ def _exclude_ipv4_network(network): else: return [network] - networks = list(map(_exclude_ipv4_network, networks)) - - # flatten list of lists - networks = [ - item for nested in networks for item in nested - ] + nested_networks = list(map(_exclude_ipv4_network, networks)) + networks = [item for nested in nested_networks for item in nested] return networks - def ipv4_network_class(self): + def ipv4_network_class(self) -> str: """ Returns a IPv4 network class 'a', 'b' or 'c'. :returns: IPv4 network class """ - return self.random_element('abc') - - def ipv4(self, network=False, address_class=None, private=None): + return self.random_element("abc") + + def ipv4( + self, + network: bool = False, + address_class: Optional[str] = None, + private: Optional[str] = None, + ) -> str: """ Returns a random IPv4 address or network with a valid CIDR. @@ -471,16 +554,14 @@ def ipv4(self, network=False, address_class=None, private=None): :returns: IPv4 """ if private is True: - return self.ipv4_private(address_class=address_class, - network=network) + return self.ipv4_private(address_class=address_class, network=network) elif private is False: - return self.ipv4_public(address_class=address_class, - network=network) + return self.ipv4_public(address_class=address_class, network=network) else: all_networks, weights = self._get_all_networks_and_weights(address_class=address_class) return self._random_ipv4_address_from_subnets(all_networks, weights=weights, network=network) - def ipv4_private(self, network=False, address_class=None): + def ipv4_private(self, network: bool = False, address_class: Optional[str] = None) -> str: """ Returns a private IPv4. @@ -491,7 +572,7 @@ def ipv4_private(self, network=False, address_class=None): private_networks, weights = self._get_private_networks_and_weights(address_class=address_class) return self._random_ipv4_address_from_subnets(private_networks, weights=weights, network=network) - def ipv4_public(self, network=False, address_class=None): + def ipv4_public(self, network: bool = False, address_class: Optional[str] = None) -> str: """ Returns a public IPv4 excluding private blocks. @@ -502,20 +583,19 @@ def ipv4_public(self, network=False, address_class=None): public_networks, weights = self._get_public_networks_and_weights(address_class=address_class) return self._random_ipv4_address_from_subnets(public_networks, weights=weights, network=network) - def ipv6(self, network=False): + def ipv6(self, network: bool = False) -> str: """Produce a random IPv6 address or network with a valid CIDR""" - address = str(ip_address(self.generator.random.randint( - 2 ** IPV4LENGTH, (2 ** IPV6LENGTH) - 1))) + address = str(ip_address(self.generator.random.randint(2 ** IPV4LENGTH, (2 ** IPV6LENGTH) - 1))) if network: - address += '/' + str(self.generator.random.randint(0, IPV6LENGTH)) + address += "/" + str(self.generator.random.randint(0, IPV6LENGTH)) address = str(ip_network(address, strict=False)) return address - def mac_address(self): - mac = [self.generator.random.randint(0x00, 0xff) for _ in range(0, 6)] + def mac_address(self) -> str: + mac = [self.generator.random.randint(0x00, 0xFF) for _ in range(0, 6)] return ":".join(map(lambda x: "%02x" % x, mac)) - def port_number(self, is_system=False, is_user=False, is_dynamic=False): + def port_number(self, is_system: bool = False, is_user: bool = False, is_dynamic: bool = False) -> int: """Returns a network port number https://tools.ietf.org/html/rfc6335 @@ -534,35 +614,77 @@ def port_number(self, is_system=False, is_user=False, is_dynamic=False): return self.random_int(min=0, max=65535) - def uri_page(self): + def uri_page(self) -> str: return self.random_element(self.uri_pages) - def uri_path(self, deep=None): + def uri_path(self, deep: Optional[int] = None) -> str: deep = deep if deep else self.generator.random.randint(1, 3) return "/".join( self.random_elements(self.uri_paths, length=deep), ) - def uri_extension(self): + def uri_extension(self) -> str: return self.random_element(self.uri_extensions) - def uri(self): - pattern = self.random_element(self.uri_formats) + def uri(self) -> str: + pattern: str = self.random_element(self.uri_formats) return self.generator.parse(pattern) @slugify - def slug(self, value=None): + def slug(self, value: Optional[str] = None) -> str: """Django algorithm""" if value is None: value = self.generator.text(20) return value - def image_url(self, width=None, height=None): + def image_url(self, width: Optional[int] = None, height: Optional[int] = None) -> str: """ Returns URL to placeholder image Example: http://placehold.it/640x480 """ width_ = width or self.random_int(max=1024) height_ = height or self.random_int(max=1024) - placeholder_url = self.random_element(self.image_placeholder_services) + placeholder_url: str = self.random_element(self.image_placeholder_services) return placeholder_url.format(width=width_, height=height_) + + def iana_id(self) -> str: + """Returns IANA Registrar ID + https://www.iana.org/assignments/registrar-ids/registrar-ids.xhtml + + :rtype: str + """ + + return str(self.random_int(min=1, max=8888888)) + + def ripe_id(self) -> str: + """Returns RIPE Organization ID + https://www.ripe.net/manage-ips-and-asns/db/support/organisation-object-in-the-ripe-database + + :rtype: str + """ + + lex = "?" * self.random_int(min=2, max=4) + num = "%" * self.random_int(min=1, max=5) + return self.bothify(f"ORG-{lex}{num}-RIPE").upper() + + def nic_handle(self, suffix: str = "FAKE") -> str: + """Returns NIC Handle ID + https://www.apnic.net/manage-ip/using-whois/guide/person/ + + :rtype: str + """ + + if len(suffix) < 2: + raise ValueError("suffix length must be greater than or equal to 2") + + lex = "?" * self.random_int(min=2, max=4) + num = "%" * self.random_int(min=1, max=5) + return self.bothify(f"{lex}{num}-{suffix}").upper() + + def nic_handles(self, count: int = 1, suffix: str = "????") -> List[str]: + """Returns NIC Handle ID list + + :rtype: list[str] + """ + + return [self.nic_handle(suffix=suffix) for _ in range(count)] diff --git a/faker/providers/internet/ar_AA/__init__.py b/faker/providers/internet/ar_AA/__init__.py index 1288e13705..2fb4608a0a 100644 --- a/faker/providers/internet/ar_AA/__init__.py +++ b/faker/providers/internet/ar_AA/__init__.py @@ -4,51 +4,51 @@ class Provider(InternetProvider): replacements = ( - ('س', 's'), - ('ق', 'q'), - ('ب', 'b'), - ('خ', 'x'), - ('ش', '$'), - ('َ', 'a'), - ('ئ', '}'), - ('إ', '<'), - ('ل', 'l'), - ('ٰ', '`'), - ('ف', 'f'), - ('و', 'w'), - ('ض', 'D'), - ('ي', 'y'), - ('ُ', 'u'), - ('ة', 'p'), - ('ظ', 'Z'), - ('ث', 'v'), - ('ـ', '_'), - ('ج', 'j'), - ('د', 'd'), - ('ح', 'H'), - ('ا', 'A'), - ('أ', '>'), - ('ر', 'r'), - ('ى', 'Y'), - ('ذ', '*'), - ('ْ', 'o'), - ('ن', 'n'), - ('ّ', '~'), - ('ك', 'k'), - ('ء', "'"), - ('ط', 'T'), - ('ت', 't'), - ('ه', 'h'), - ('ً', 'F'), - ('ؤ', '&'), - ('ٍ', 'K'), - ('ِ', 'i'), - ('ص', 'S'), - ('ٱ', '{'), - ('ٌ', 'N'), - ('م', 'm'), - ('ز', 'z'), - ('ع', 'E'), - ('آ', '|'), - ('غ', 'g'), + ("س", "s"), + ("ق", "q"), + ("ب", "b"), + ("خ", "x"), + ("ش", "$"), + ("َ", "a"), + ("ئ", "}"), + ("إ", "<"), + ("ل", "l"), + ("ٰ", "`"), + ("ف", "f"), + ("و", "w"), + ("ض", "D"), + ("ي", "y"), + ("ُ", "u"), + ("ة", "p"), + ("ظ", "Z"), + ("ث", "v"), + ("ـ", "_"), + ("ج", "j"), + ("د", "d"), + ("ح", "H"), + ("ا", "A"), + ("أ", ">"), + ("ر", "r"), + ("ى", "Y"), + ("ذ", "*"), + ("ْ", "o"), + ("ن", "n"), + ("ّ", "~"), + ("ك", "k"), + ("ء", "'"), + ("ط", "T"), + ("ت", "t"), + ("ه", "h"), + ("ً", "F"), + ("ؤ", "&"), + ("ٍ", "K"), + ("ِ", "i"), + ("ص", "S"), + ("ٱ", "{"), + ("ٌ", "N"), + ("م", "m"), + ("ز", "z"), + ("ع", "E"), + ("آ", "|"), + ("غ", "g"), ) diff --git a/faker/providers/internet/bg_BG/__init__.py b/faker/providers/internet/bg_BG/__init__.py index 6e5a42501d..d6fb72dee0 100644 --- a/faker/providers/internet/bg_BG/__init__.py +++ b/faker/providers/internet/bg_BG/__init__.py @@ -4,38 +4,110 @@ class Provider(InternetProvider): user_name_formats = ( - '{{last_name_female}}.{{first_name_female}}', - '{{last_name_male}}.{{first_name_male}}', - '{{last_name_male}}.{{first_name_male}}', - '{{first_name_male}}.{{last_name_male}}', - '{{first_name}}##', - '?{{last_name}}', - '{{first_name}}{{year}}', + "{{last_name_female}}.{{first_name_female}}", + "{{last_name_male}}.{{first_name_male}}", + "{{last_name_male}}.{{first_name_male}}", + "{{first_name_male}}.{{last_name_male}}", + "{{first_name}}##", + "?{{last_name}}", + "{{first_name}}{{year}}", ) email_formats = ( - '{{user_name}}@{{free_email_domain}}', - '{{user_name}}@{{domain_name}}') + "{{user_name}}@{{free_email_domain}}", + "{{user_name}}@{{domain_name}}", + ) free_email_domains = ( - 'gmail.com', 'yahoo.com', 'hotmail.com', 'mail.bg', 'abv.bg', 'dir.bg', + "gmail.com", + "yahoo.com", + "hotmail.com", + "mail.bg", + "abv.bg", + "dir.bg", ) - tlds = ('bg', 'com', 'biz', 'info', 'net', 'org', 'edu') + tlds = ("bg", "com", "biz", "info", "net", "org", "edu") replacements = ( - ('Б', 'b'), ('Г', 'r'), ('Д', 'd'), ('Ж', 'zh'), ('З', 'z'), ('И', 'i'), - ('Й', 'i'), ('Л', 'l'), ('П', 'p'), ('Ф', 'f'), ('Ц', 'ts'), ('Ч', 'ch'), - ('Ш', 'sh'), ('Щ', 'sht'), ('Ъ', 'u'), ('Ь', ''), ('Ю', 'yu'), ('Я', 'ya'), - ('б', 'b'), ('в', 'v'), ('д', 'd'), ('ж', 'zh'), ('з', 'z'), ('и', 'i'), - ('й', 'i'), ('к', 'k'), ('л', 'l'), ('м', 'm'), ('н', 'n'), ('п', 'p'), - ('т', 't'), ('ф', 'f'), ('ц', 'ts'), ('ч', 'ch'), ('ш', 'sh'), ('щ', 'sht'), - ('ъ', 'u'), ('ь', ''), ('ю', 'yu'), ('я', 'ya'), ('Б', 'b'), ('Г', 'r'), - ('Д', 'd'), ('Ж', 'zh'), ('З', 'z'), ('И', 'i'), ('Й', 'i'), ('Л', 'l'), - ('П', 'p'), ('Ф', 'f'), ('Ц', 'ts'), ('Ч', 'ch'), ('Ш', 'sh'), ('Щ', 'sht'), - ('Ъ', 'u'), ('Ь', ''), ('Ю', 'yu'), ('Я', 'ya'), ('б', 'b'), ('в', 'v'), - ('д', 'd'), ('ж', 'zh'), ('з', 'z'), ('и', 'i'), ('й', 'i'), ('к', 'k'), - ('л', 'l'), ('м', 'm'), ('н', 'n'), ('п', 'p'), ('т', 't'), ('ф', 'f'), - ('ц', 'ts'), ('ч', 'ch'), ('ш', 'sh'), ('щ', 'sht'), ('ъ', 'u'), ('ь', ''), - ('ю', 'yu'), ('я', 'ya'), + ("Б", "b"), + ("Г", "r"), + ("Д", "d"), + ("Ж", "zh"), + ("З", "z"), + ("И", "i"), + ("Й", "i"), + ("Л", "l"), + ("П", "p"), + ("Ф", "f"), + ("Ц", "ts"), + ("Ч", "ch"), + ("Ш", "sh"), + ("Щ", "sht"), + ("Ъ", "u"), + ("Ь", ""), + ("Ю", "yu"), + ("Я", "ya"), + ("б", "b"), + ("в", "v"), + ("д", "d"), + ("ж", "zh"), + ("з", "z"), + ("и", "i"), + ("й", "i"), + ("к", "k"), + ("л", "l"), + ("м", "m"), + ("н", "n"), + ("п", "p"), + ("т", "t"), + ("ф", "f"), + ("ц", "ts"), + ("ч", "ch"), + ("ш", "sh"), + ("щ", "sht"), + ("ъ", "u"), + ("ь", ""), + ("ю", "yu"), + ("я", "ya"), + ("Б", "b"), + ("Г", "r"), + ("Д", "d"), + ("Ж", "zh"), + ("З", "z"), + ("И", "i"), + ("Й", "i"), + ("Л", "l"), + ("П", "p"), + ("Ф", "f"), + ("Ц", "ts"), + ("Ч", "ch"), + ("Ш", "sh"), + ("Щ", "sht"), + ("Ъ", "u"), + ("Ь", ""), + ("Ю", "yu"), + ("Я", "ya"), + ("б", "b"), + ("в", "v"), + ("д", "d"), + ("ж", "zh"), + ("з", "z"), + ("и", "i"), + ("й", "i"), + ("к", "k"), + ("л", "l"), + ("м", "m"), + ("н", "n"), + ("п", "p"), + ("т", "t"), + ("ф", "f"), + ("ц", "ts"), + ("ч", "ch"), + ("ш", "sh"), + ("щ", "sht"), + ("ъ", "u"), + ("ь", ""), + ("ю", "yu"), + ("я", "ya"), ) diff --git a/faker/providers/internet/bs_BA/__init__.py b/faker/providers/internet/bs_BA/__init__.py index 58db488943..8fa2eaa205 100644 --- a/faker/providers/internet/bs_BA/__init__.py +++ b/faker/providers/internet/bs_BA/__init__.py @@ -4,16 +4,25 @@ class Provider(InternetProvider): free_email_domains = ( - 'gmail.com', 'hotmail.com', 'yahoo.com', 'outlook.com', - 'bih.net.ba', 'tel.net.ba', + "gmail.com", + "hotmail.com", + "yahoo.com", + "outlook.com", + "bih.net.ba", + "tel.net.ba", ) - tlds = ('ba', 'com.ba', 'org.ba', 'net.ba', 'gov.ba', 'edu.ba', 'unsa.ba') + tlds = ("ba", "com.ba", "org.ba", "net.ba", "gov.ba", "edu.ba", "unsa.ba") replacements = ( - ('č', 'c'), ('Č', 'C'), - ('ć', 'c'), ('Ć', 'C'), - ('đ', 'dj'), ('Đ', 'Dj'), - ('š', 's'), ('Š', 'S'), - ('ž', 'z'), ('Ž', 'Z'), + ("č", "c"), + ("Č", "C"), + ("ć", "c"), + ("Ć", "C"), + ("đ", "dj"), + ("Đ", "Dj"), + ("š", "s"), + ("Š", "S"), + ("ž", "z"), + ("Ž", "Z"), ) diff --git a/faker/providers/internet/cs_CZ/__init__.py b/faker/providers/internet/cs_CZ/__init__.py index 571e8ceac7..efea45c42b 100644 --- a/faker/providers/internet/cs_CZ/__init__.py +++ b/faker/providers/internet/cs_CZ/__init__.py @@ -4,28 +4,28 @@ class Provider(InternetProvider): user_name_formats = ( - '{{last_name_female}}.{{first_name_female}}', - '{{last_name_female}}.{{first_name_female}}', - '{{last_name_male}}.{{first_name_male}}', - '{{last_name_male}}.{{first_name_male}}', - '{{first_name_female}}.{{last_name_female}}', - '{{first_name_male}}.{{last_name_male}}', - '{{first_name}}##', - '?{{last_name}}', - '?{{last_name}}', - '?{{last_name}}', + "{{last_name_female}}.{{first_name_female}}", + "{{last_name_female}}.{{first_name_female}}", + "{{last_name_male}}.{{first_name_male}}", + "{{last_name_male}}.{{first_name_male}}", + "{{first_name_female}}.{{last_name_female}}", + "{{first_name_male}}.{{last_name_male}}", + "{{first_name}}##", + "?{{last_name}}", + "?{{last_name}}", + "?{{last_name}}", ) - email_formats = ('{{user_name}}@{{free_email_domain}}', ) + email_formats = ("{{user_name}}@{{free_email_domain}}",) free_email_domains = ( - 'seznam.cz', - 'gmail.com', - 'email.cz', - 'post.cz', - 'chello.cz', - 'centrum.cz', - 'volny.cz', + "seznam.cz", + "gmail.com", + "email.cz", + "post.cz", + "chello.cz", + "centrum.cz", + "volny.cz", ) - tlds = ('cz', 'com', 'cz') + tlds = ("cz", "com", "cz") diff --git a/faker/providers/internet/de_AT/__init__.py b/faker/providers/internet/de_AT/__init__.py index b252fe6be6..d8cdfc0b02 100644 --- a/faker/providers/internet/de_AT/__init__.py +++ b/faker/providers/internet/de_AT/__init__.py @@ -4,13 +4,19 @@ class Provider(InternetProvider): free_email_domains = ( - 'chello.at', 'gmail.com', 'gmx.at', 'kabsi.at', + "chello.at", + "gmail.com", + "gmx.at", + "kabsi.at", ) - tlds = ('at', 'co.at', 'com', 'net', 'org') + tlds = ("at", "co.at", "com", "net", "org") replacements = ( - ('ä', 'ae'), ('Ä', 'Ae'), - ('ö', 'oe'), ('Ö', 'Oe'), - ('ü', 'ue'), ('Ü', 'Ue'), - ('ß', 'ss'), + ("ä", "ae"), + ("Ä", "Ae"), + ("ö", "oe"), + ("Ö", "Oe"), + ("ü", "ue"), + ("Ü", "Ue"), + ("ß", "ss"), ) diff --git a/faker/providers/internet/de_DE/__init__.py b/faker/providers/internet/de_DE/__init__.py index cbc8d5a021..2d35205ff3 100644 --- a/faker/providers/internet/de_DE/__init__.py +++ b/faker/providers/internet/de_DE/__init__.py @@ -4,16 +4,26 @@ class Provider(InternetProvider): free_email_domains = ( - 'aol.de', 'gmail.com', 'gmx.de', 'googlemail.com', 'hotmail.de', - 'web.de', 'yahoo.de', + "aol.de", + "gmail.com", + "gmx.de", + "googlemail.com", + "hotmail.de", + "web.de", + "yahoo.de", ) - tlds = ('com', 'com', 'com', 'net', 'org', 'de', 'de', 'de') + tlds = ("com", "com", "com", "net", "org", "de", "de", "de") replacements = ( - ('ä', 'ae'), ('Ä', 'Ae'), - ('ö', 'oe'), ('Ö', 'Oe'), - ('ü', 'ue'), ('Ü', 'Ue'), - ('é', 'e'), ('É', 'E'), - ('à', 'a'), ('À', 'A'), - ('ß', 'ss'), + ("ä", "ae"), + ("Ä", "Ae"), + ("ö", "oe"), + ("Ö", "Oe"), + ("ü", "ue"), + ("Ü", "Ue"), + ("é", "e"), + ("É", "E"), + ("à", "a"), + ("À", "A"), + ("ß", "ss"), ) diff --git a/faker/providers/internet/el_GR/__init__.py b/faker/providers/internet/el_GR/__init__.py index ae87321b88..ec0522582e 100644 --- a/faker/providers/internet/el_GR/__init__.py +++ b/faker/providers/internet/el_GR/__init__.py @@ -8,32 +8,38 @@ class Provider(InternetProvider): free_email_domains = ( - 'hol.gr', 'gmail.com', 'hotmail.gr', 'yahoo.gr', 'googlemail.gr', - 'otenet.gr', 'forthnet.gr', + "hol.gr", + "gmail.com", + "hotmail.gr", + "yahoo.gr", + "googlemail.gr", + "otenet.gr", + "forthnet.gr", ) - tlds = ('com', 'com', 'com', 'net', 'org', 'gr', 'gr', 'gr') + tlds = ("com", "com", "com", "net", "org", "gr", "gr", "gr") @slugify_domain - def user_name(self): - pattern = self.random_element(self.user_name_formats) + def user_name(self) -> str: + pattern: str = self.random_element(self.user_name_formats) return latinize(self.bothify(self.generator.parse(pattern))) @slugify_domain - def domain_word(self): - company = self.generator.format('company') - company_elements = company.split(' ') + def domain_word(self) -> str: + company = self.generator.format("company") + company_elements = company.split(" ") company = latinize(company_elements.pop(0)) return company # ``slugify`` doesn't replace greek glyphs. -def remove_accents(value): + +def remove_accents(value: str) -> str: """ Remove accents from characters in the given string. """ - search = 'ΆΈΉΊΌΎΏάέήίόύώΪϊΐϋΰ' - replace = 'ΑΕΗΙΟΥΩαεηιουωΙιιυυ' + search = "ΆΈΉΊΌΎΏάέήίόύώΪϊΐϋΰ" + replace = "ΑΕΗΙΟΥΩαεηιουωΙιιυυ" def replace_accented_character(match): matched = match.group(0) @@ -41,39 +47,36 @@ def replace_accented_character(match): return replace[search.find(matched)] return matched - return re.sub(r'[{}]+'.format(search), replace_accented_character, value) + return re.sub(r"[{}]+".format(search), replace_accented_character, value) -def latinize(value): +def latinize(value: str) -> str: """ Converts (transliterates) greek letters to latin equivalents. """ + def replace_double_character(match): - search = ('Θ Χ Ψ ' - 'θ χ ψ ' - 'ΟΥ ΑΥ ΕΥ ' - 'Ου Αυ Ευ ' - 'ου αυ ευ').split() - replace = ('TH CH PS ' - 'th ch ps ' - 'OU AU EU ' - 'Ou Au Eu ' - 'ou au eu').split() + search = ("Θ Χ Ψ " "θ χ ψ " "ΟΥ ΑΥ ΕΥ " "Ου Αυ Ευ " "ου αυ ευ").split() + replace = ("TH CH PS " "th ch ps " "OU AU EU " "Ou Au Eu " "ou au eu").split() matched = match.group(0) if matched in search: return replace[search.index(matched)] return matched - search = 'ΑΒΓΔΕΖΗΙΚΛΜΝΞΟΠΡΣΣΤΥΦΩαβγδεζηικλμνξοπρσςτυφω' - replace = 'AVGDEZIIKLMNXOPRSSTUFOavgdeziiklmnxoprsstyfo' + search = "ΑΒΓΔΕΖΗΙΚΛΜΝΞΟΠΡΣΣΤΥΦΩαβγδεζηικλμνξοπρσςτυφω" + replace = "AVGDEZIIKLMNXOPRSSTUFOavgdeziiklmnxoprsstyfo" def replace_greek_character(match): matched = list(match.group(0)) value = map(lambda l: replace[search.find(l)], matched) - return ''.join(value) - - return re.sub(r'[{}]+'.format(search), - replace_greek_character, re.sub( - r'([ΘΧΨθχψ]+|ΟΥ|ΑΥ|ΕΥ|Ου|Αυ|Ευ|ου|αυ|ευ)', - replace_double_character, - remove_accents(value))) + return "".join(value) + + return re.sub( + r"[{}]+".format(search), + replace_greek_character, + re.sub( + r"([ΘΧΨθχψ]+|ΟΥ|ΑΥ|ΕΥ|Ου|Αυ|Ευ|ου|αυ|ευ)", + replace_double_character, + remove_accents(value), + ), + ) diff --git a/faker/providers/internet/en_AU/__init__.py b/faker/providers/internet/en_AU/__init__.py index 959506710c..e621b7077d 100644 --- a/faker/providers/internet/en_AU/__init__.py +++ b/faker/providers/internet/en_AU/__init__.py @@ -4,12 +4,22 @@ class Provider(InternetProvider): free_email_domains = ( - 'gmail.com', - 'yahoo.com', - 'hotmail.com', - 'yahoo.com.au', - 'hotmail.com.au', + "gmail.com", + "yahoo.com", + "hotmail.com", + "yahoo.com.au", + "hotmail.com.au", ) - tlds = ('com', 'com.au', 'org', 'org.au', 'net', - 'net.au', 'biz', 'info', 'edu', 'edu.au') + tlds = ( + "com", + "com.au", + "org", + "org.au", + "net", + "net.au", + "biz", + "info", + "edu", + "edu.au", + ) diff --git a/faker/providers/internet/en_GB/__init__.py b/faker/providers/internet/en_GB/__init__.py index c2b795ede3..29e6bcea30 100644 --- a/faker/providers/internet/en_GB/__init__.py +++ b/faker/providers/internet/en_GB/__init__.py @@ -6,12 +6,24 @@ class Provider(InternetProvider): # https://github.com/fzaninotto/Faker/blob/master/src/Faker/Provider/en_GB/Internet.php free_email_domains = ( - 'gmail.com', - 'yahoo.com', - 'hotmail.com', - 'gmail.co.uk', - 'yahoo.co.uk', - 'hotmail.co.uk', + "gmail.com", + "yahoo.com", + "hotmail.com", + "yahoo.co.uk", + "hotmail.co.uk", + "outlook.com", ) - tlds = ('com', 'com', 'com', 'com', 'com', 'com', 'biz', 'info', 'net', 'org', 'co.uk') + tlds = ( + "com", + "com", + "com", + "com", + "com", + "com", + "biz", + "info", + "net", + "org", + "co.uk", + ) diff --git a/faker/providers/internet/en_NZ/__init__.py b/faker/providers/internet/en_NZ/__init__.py index 77eeb25a95..ea725341f1 100644 --- a/faker/providers/internet/en_NZ/__init__.py +++ b/faker/providers/internet/en_NZ/__init__.py @@ -4,22 +4,22 @@ class Provider(InternetProvider): free_email_domains = ( - 'gmail.com', - 'yahoo.com', - 'hotmail.com', - 'inspire.net.nz', - 'xtra.co.nz', + "gmail.com", + "yahoo.com", + "hotmail.com", + "inspire.net.nz", + "xtra.co.nz", ) tlds = ( - 'nz', - 'co.nz', - 'org.nz', - 'kiwi', - 'kiwi.nz', - 'geek.nz', - 'net.nz', - 'school.nz', - 'ac.nz', - 'maori.nz', + "nz", + "co.nz", + "org.nz", + "kiwi", + "kiwi.nz", + "geek.nz", + "net.nz", + "school.nz", + "ac.nz", + "maori.nz", ) diff --git a/faker/providers/internet/en_PH/__init__.py b/faker/providers/internet/en_PH/__init__.py index ad024c8911..46c8f2eaba 100644 --- a/faker/providers/internet/en_PH/__init__.py +++ b/faker/providers/internet/en_PH/__init__.py @@ -17,42 +17,49 @@ class Provider(InternetProvider): """ tlds = ( - 'com', 'net', 'org', 'ph', - 'com.ph', 'net.ph', 'org.ph', + "com", + "net", + "org", + "ph", + "com.ph", + "net.ph", + "org.ph", ) safe_email_tlds = tlds free_email_domains = ( - 'gmail.com', - 'yahoo.com', - 'zohomail.com', + "gmail.com", + "yahoo.com", + "zohomail.com", + ) + email_formats = OrderedDict( + [ + ("{{user_name}}@{{domain_name}}", 0.75), + ("{{user_name}}@{{free_email_domain}}", 0.25), + ] ) - email_formats = OrderedDict([ - ('{{user_name}}@{{domain_name}}', 0.75), - ('{{user_name}}@{{free_email_domain}}', 0.25), - ]) @lowercase @slugify - def domain_word(self): + def domain_word(self) -> str: check = self.random_int(0, 99) if check % 100 < 40: - company_acronym = self.generator.format('random_company_acronym') + company_acronym = self.generator.format("random_company_acronym") if len(company_acronym) == 2: - company_type = self.generator.format('company_type') + company_type = self.generator.format("company_type") return company_acronym + company_type else: return company_acronym else: if check % 2 == 0: - name_part = self.generator.format('last_name') + name_part = self.generator.format("last_name") else: - name_part = self.generator.format('random_company_adjective') - company_noun_chain = self.generator.format('random_company_noun_chain') - company_nouns = company_noun_chain.split(' ') + name_part = self.generator.format("random_company_adjective") + company_noun_chain = self.generator.format("random_company_noun_chain") + company_nouns = company_noun_chain.split(" ") if len(company_nouns) == 1: return name_part + company_noun_chain else: - company_type = self.generator.format('company_type') + company_type = self.generator.format("company_type") company_elements = [name_part] + company_nouns - acronym = ''.join([word[0] for word in company_elements]) + acronym = "".join([word[0] for word in company_elements]) return acronym + company_type diff --git a/faker/providers/internet/es_ES/__init__.py b/faker/providers/internet/es_ES/__init__.py index 0a9513e227..2584cbe33a 100644 --- a/faker/providers/internet/es_ES/__init__.py +++ b/faker/providers/internet/es_ES/__init__.py @@ -2,13 +2,20 @@ class Provider(InternetProvider): - safe_email_tlds = ('com', 'net', 'es', 'es') - tlds = ('com', 'com', 'com', 'net', 'org', 'es', 'es', 'es') + safe_email_tlds = ("com", "net", "es", "es") + tlds = ("com", "com", "com", "net", "org", "es", "es", "es") replacements = ( - ('à', 'a'), ('â', 'a'), ('ã', 'a'), ('á', 'a'), - ('ç', 'c'), - ('é', 'e'), ('ê', 'e'), - ('í', 'i'), - ('ô', 'o'), ('ö', 'o'), ('õ', 'o'), ('ó', 'o'), - ('ú', 'u'), + ("à", "a"), + ("â", "a"), + ("ã", "a"), + ("á", "a"), + ("ç", "c"), + ("é", "e"), + ("ê", "e"), + ("í", "i"), + ("ô", "o"), + ("ö", "o"), + ("õ", "o"), + ("ó", "o"), + ("ú", "u"), ) diff --git a/faker/providers/internet/fa_IR/__init__.py b/faker/providers/internet/fa_IR/__init__.py index 656dcae379..a144a41bc5 100644 --- a/faker/providers/internet/fa_IR/__init__.py +++ b/faker/providers/internet/fa_IR/__init__.py @@ -2,7 +2,12 @@ class Provider(BaseProvider): - safe_email_tlds = ('com', 'net', 'ir', 'org') - free_email_domains = ('chmail.ir', 'mailfa.com', - 'gmail.com', 'hotmail.com', 'yahoo.com') - tlds = ('com', 'com', 'com', 'net', 'org', 'ir', 'ir', 'ir') + safe_email_tlds = ("com", "net", "ir", "org") + free_email_domains = ( + "chmail.ir", + "mailfa.com", + "gmail.com", + "hotmail.com", + "yahoo.com", + ) + tlds = ("com", "com", "com", "net", "org", "ir", "ir", "ir") diff --git a/faker/providers/internet/fi_FI/__init__.py b/faker/providers/internet/fi_FI/__init__.py index 9aa61d2e15..30dd3b08be 100644 --- a/faker/providers/internet/fi_FI/__init__.py +++ b/faker/providers/internet/fi_FI/__init__.py @@ -4,8 +4,13 @@ class Provider(InternetProvider): free_email_domains = ( - 'gmail.com', 'googlemail.com', 'hotmail.com', 'suomi24.fi', - 'kolumbus.fi', 'luukku.com', 'surffi.net', + "gmail.com", + "googlemail.com", + "hotmail.com", + "suomi24.fi", + "kolumbus.fi", + "luukku.com", + "surffi.net", ) - tlds = ('com', 'com', 'com', 'fi', 'fi', 'net', 'org') + tlds = ("com", "com", "com", "fi", "fi", "net", "org") diff --git a/faker/providers/internet/fil_PH/__init__.py b/faker/providers/internet/fil_PH/__init__.py index 03135afd8f..51d2166c1e 100644 --- a/faker/providers/internet/fil_PH/__init__.py +++ b/faker/providers/internet/fil_PH/__init__.py @@ -3,4 +3,5 @@ class Provider(EnPhInternetProvider): """No difference from Internet Provider for en_PH locale""" + pass diff --git a/faker/providers/internet/fr_CH/__init__.py b/faker/providers/internet/fr_CH/__init__.py index 26a8250180..d74384e59b 100644 --- a/faker/providers/internet/fr_CH/__init__.py +++ b/faker/providers/internet/fr_CH/__init__.py @@ -2,24 +2,34 @@ class Provider(InternetProvider): - safe_email_tlds = ('org', 'com', 'net', 'ch') + safe_email_tlds = ("org", "com", "net", "ch") free_email_domains = ( - 'gmail.com', - 'hotmail.fr', - 'yahoo.fr', - 'bluewin.ch', - 'romandie.com', - 'hispeed.ch', - 'sunrise.ch', - 'vtxnet.ch') - tlds = ('com', 'com', 'com', 'net', 'org', 'ch', 'ch', 'ch') + "gmail.com", + "hotmail.fr", + "yahoo.fr", + "bluewin.ch", + "romandie.com", + "hispeed.ch", + "sunrise.ch", + "vtxnet.ch", + ) + tlds = ("com", "com", "com", "net", "org", "ch", "ch", "ch") replacements = ( - ('ä', 'ae'), ('à', 'a'), ('â', 'a'), - ('ç', 'c'), - ('é', 'e'), ('è', 'e'), ('ê', 'e'), ('ë', 'e'), - ('ï', 'i'), ('î', 'i'), - ('ö', 'oe'), ('ô', 'o'), - ('ü', 'ue'), ('ù', 'u'), ('ü', 'u'), - ('ß', 'ss'), + ("ä", "ae"), + ("à", "a"), + ("â", "a"), + ("ç", "c"), + ("é", "e"), + ("è", "e"), + ("ê", "e"), + ("ë", "e"), + ("ï", "i"), + ("î", "i"), + ("ö", "oe"), + ("ô", "o"), + ("ü", "ue"), + ("ù", "u"), + ("ü", "u"), + ("ß", "ss"), ) diff --git a/faker/providers/internet/fr_FR/__init__.py b/faker/providers/internet/fr_FR/__init__.py index 074367abac..2a33a43131 100644 --- a/faker/providers/internet/fr_FR/__init__.py +++ b/faker/providers/internet/fr_FR/__init__.py @@ -2,31 +2,41 @@ class Provider(InternetProvider): - safe_email_tlds = ('com', 'net', 'fr', 'fr') + safe_email_tlds = ("com", "net", "fr", "fr") free_email_domains = ( - 'voila.fr', - 'gmail.com', - 'hotmail.fr', - 'yahoo.fr', - 'laposte.net', - 'free.fr', - 'sfr.fr', - 'orange.fr', - 'bouygtel.fr', - 'club-internet.fr', - 'dbmail.com', - 'live.com', - 'ifrance.com', - 'noos.fr', - 'tele2.fr', - 'tiscali.fr', - 'wanadoo.fr') - tlds = ('com', 'com', 'com', 'net', 'org', 'fr', 'fr', 'fr') + "voila.fr", + "gmail.com", + "hotmail.fr", + "yahoo.fr", + "laposte.net", + "free.fr", + "sfr.fr", + "orange.fr", + "bouygtel.fr", + "club-internet.fr", + "dbmail.com", + "live.com", + "ifrance.com", + "noos.fr", + "tele2.fr", + "tiscali.fr", + "wanadoo.fr", + ) + tlds = ("com", "com", "com", "net", "org", "fr", "fr", "fr") replacements = ( - ('à', 'a'), ('â', 'a'), ('ä', 'a'), - ('ç', 'c'), - ('é', 'e'), ('è', 'e'), ('ê', 'e'), ('ë', 'e'), ('É', 'e'), - ('ï', 'i'), ('î', 'i'), - ('ô', 'o'), ('ö', 'o'), - ('ù', 'u'), ('ü', 'u'), + ("à", "a"), + ("â", "a"), + ("ä", "a"), + ("ç", "c"), + ("é", "e"), + ("è", "e"), + ("ê", "e"), + ("ë", "e"), + ("É", "e"), + ("ï", "i"), + ("î", "i"), + ("ô", "o"), + ("ö", "o"), + ("ù", "u"), + ("ü", "u"), ) diff --git a/faker/providers/internet/hr_HR/__init__.py b/faker/providers/internet/hr_HR/__init__.py index 878fc7a025..5be2df9674 100755 --- a/faker/providers/internet/hr_HR/__init__.py +++ b/faker/providers/internet/hr_HR/__init__.py @@ -4,17 +4,31 @@ class Provider(InternetProvider): free_email_domains = ( - 'gmail.com', 'hotmail.com', 'yahoo.com', - 'net.hr', 'zg.t-com.hr', 'inet.hr', 't.ht.hr', 'vip.hr', - 'globalnet.hr', 'xnet.hr', 'yahoo.hr', 'zagreb.hr', + "gmail.com", + "hotmail.com", + "yahoo.com", + "net.hr", + "zg.t-com.hr", + "inet.hr", + "t.ht.hr", + "vip.hr", + "globalnet.hr", + "xnet.hr", + "yahoo.hr", + "zagreb.hr", ) - tlds = ('hr', 'com', 'com.hr', 'info', 'org', 'net', 'biz') + tlds = ("hr", "com", "com.hr", "info", "org", "net", "biz") replacements = ( - ('č', 'c'), ('Č', 'C'), - ('ć', 'c'), ('Ć', 'C'), - ('đ', 'dj'), ('Đ', 'Dj'), - ('š', 's'), ('Š', 'S'), - ('ž', 'z'), ('Ž', 'Z'), + ("č", "c"), + ("Č", "C"), + ("ć", "c"), + ("Ć", "C"), + ("đ", "dj"), + ("Đ", "Dj"), + ("š", "s"), + ("Š", "S"), + ("ž", "z"), + ("Ž", "Z"), ) diff --git a/faker/providers/internet/hu_HU/__init__.py b/faker/providers/internet/hu_HU/__init__.py index faaedc7945..a24a3b7307 100644 --- a/faker/providers/internet/hu_HU/__init__.py +++ b/faker/providers/internet/hu_HU/__init__.py @@ -4,29 +4,29 @@ class Provider(InternetProvider): free_email_domains = ( - 'gmail.com', - 'hotmail.com', - 'yahoo.com', + "gmail.com", + "hotmail.com", + "yahoo.com", ) tlds = ( - 'hu', - 'com', - 'com.hu', - 'info', - 'org', - 'net', - 'biz', + "hu", + "com", + "com.hu", + "info", + "org", + "net", + "biz", ) replacements = ( - ('ö', 'o'), - ('ü', 'u'), - ('á', 'a'), - ('é', 'e'), - ('í', 'i'), - ('ó', 'i'), - ('ő', 'o'), - ('ú', 'u'), - ('ű', 'u'), + ("ö", "o"), + ("ü", "u"), + ("á", "a"), + ("é", "e"), + ("í", "i"), + ("ó", "i"), + ("ő", "o"), + ("ú", "u"), + ("ű", "u"), ) diff --git a/faker/providers/internet/id_ID/__init__.py b/faker/providers/internet/id_ID/__init__.py index 4f0dafd915..8c38c24d66 100644 --- a/faker/providers/internet/id_ID/__init__.py +++ b/faker/providers/internet/id_ID/__init__.py @@ -4,9 +4,25 @@ class Provider(InternetProvider): tlds = ( # From https://en.wikipedia.org/wiki/List_of_Internet_top-level_domains - 'com', 'org', 'net', 'int', 'edu', 'gov', 'mil', - + "com", + "org", + "net", + "int", + "edu", + "gov", + "mil", # From https://id.wikipedia.org/wiki/.id - 'id', 'ac.id', 'biz.id', 'co.id', 'desa.id', 'go.id', 'mil.id', - 'my.id', 'net.id', 'or.id', 'ponpes.id', 'sch.id', 'web.id', + "id", + "ac.id", + "biz.id", + "co.id", + "desa.id", + "go.id", + "mil.id", + "my.id", + "net.id", + "or.id", + "ponpes.id", + "sch.id", + "web.id", ) diff --git a/faker/providers/internet/it_IT/__init__.py b/faker/providers/internet/it_IT/__init__.py index 4a95d52480..e658e8f9f8 100644 --- a/faker/providers/internet/it_IT/__init__.py +++ b/faker/providers/internet/it_IT/__init__.py @@ -2,27 +2,35 @@ class Provider(InternetProvider): - safe_email_tlds = ('com', 'net', 'eu', 'it', 'it', 'it') + safe_email_tlds = ("com", "net", "eu", "it", "it", "it") free_email_domains = ( - 'libero.it', 'libero.it', 'libero.it', - 'tim.it', - 'tin.it', - 'alice.it', - 'virgilio.it', - 'tiscali.it', - 'fastwebnet.it', - 'vodafone.it', - 'poste.it', - 'gmail.com', 'gmail.com', 'gmail.com', - 'outlook.com', - 'live.com', - 'hotmail.com', - 'hotmail.it', - 'yahoo.com', - 'tele2.it', + "libero.it", + "libero.it", + "libero.it", + "tim.it", + "tin.it", + "alice.it", + "virgilio.it", + "tiscali.it", + "fastwebnet.it", + "vodafone.it", + "poste.it", + "gmail.com", + "gmail.com", + "gmail.com", + "outlook.com", + "live.com", + "hotmail.com", + "hotmail.it", + "yahoo.com", + "tele2.it", ) - tlds = ('com', 'com', 'com', 'net', 'org', 'eu', 'it', 'it', 'it', 'it') + tlds = ("com", "com", "com", "net", "org", "eu", "it", "it", "it", "it") replacements = ( - ('à', 'a'), ('é', 'e'), ('è', 'e'), - ('ì', 'i'), ('ò', 'o'), ('ù', 'u'), + ("à", "a"), + ("é", "e"), + ("è", "e"), + ("ì", "i"), + ("ò", "o"), + ("ù", "u"), ) diff --git a/faker/providers/internet/ja_JP/__init__.py b/faker/providers/internet/ja_JP/__init__.py index 0933bab4fb..04a552d9f8 100644 --- a/faker/providers/internet/ja_JP/__init__.py +++ b/faker/providers/internet/ja_JP/__init__.py @@ -5,13 +5,13 @@ class Provider(InternetProvider): user_name_formats = ( - '{{last_romanized_name}}.{{first_romanized_name}}', - '{{first_romanized_name}}.{{last_romanized_name}}', - '{{first_romanized_name}}##', - '?{{last_romanized_name}}', + "{{last_romanized_name}}.{{first_romanized_name}}", + "{{first_romanized_name}}.{{last_romanized_name}}", + "{{first_romanized_name}}##", + "?{{last_romanized_name}}", ) - tlds = ('com', 'com', 'com', 'net', 'org', 'jp', 'jp', 'jp') + tlds = ("com", "com", "com", "net", "org", "jp", "jp", "jp") @slugify - def domain_word(self): - return self.generator.format('last_romanized_name') + def domain_word(self) -> str: + return self.generator.format("last_romanized_name") diff --git a/faker/providers/internet/ko_KR/__init__.py b/faker/providers/internet/ko_KR/__init__.py index 3fe58b355f..21615dfef5 100644 --- a/faker/providers/internet/ko_KR/__init__.py +++ b/faker/providers/internet/ko_KR/__init__.py @@ -4,7 +4,13 @@ class Provider(InternetProvider): free_email_domains = ( - 'gmail.com', 'daum.net', 'hotmail.com', 'hanmail.net', - 'naver.com', 'nate.com', 'live.com', 'dreamwiz.com', + "gmail.com", + "daum.net", + "hotmail.com", + "hanmail.net", + "naver.com", + "nate.com", + "live.com", + "dreamwiz.com", ) - tlds = ('com', 'com', 'com', 'kr', 'kr', 'net', 'org') + tlds = ("com", "com", "com", "kr", "kr", "net", "org") diff --git a/faker/providers/internet/no_NO/__init__.py b/faker/providers/internet/no_NO/__init__.py index a0f9bf739c..e8e88224f1 100644 --- a/faker/providers/internet/no_NO/__init__.py +++ b/faker/providers/internet/no_NO/__init__.py @@ -3,13 +3,19 @@ class Provider(InternetProvider): - tlds = ('com', 'com', 'com', 'net', 'org', 'no', 'no', 'no', 'no', 'no') + tlds = ("com", "com", "com", "net", "org", "no", "no", "no", "no", "no") replacements = ( - ('æ', 'ae'), ('Æ', 'Ae'), - ('ø', 'oe'), ('Ø', 'Oe'), - ('å', 'aa'), ('Å', 'Aa'), - ('ä', 'ae'), ('Ä', 'Ae'), - ('ö', 'oe'), ('Ö', 'Oe'), - ('ü', 'ue'), ('Ü', 'Ue'), + ("æ", "ae"), + ("Æ", "Ae"), + ("ø", "oe"), + ("Ø", "Oe"), + ("å", "aa"), + ("Å", "Aa"), + ("ä", "ae"), + ("Ä", "Ae"), + ("ö", "oe"), + ("Ö", "Oe"), + ("ü", "ue"), + ("Ü", "Ue"), ) diff --git a/faker/providers/internet/pl_PL/__init__.py b/faker/providers/internet/pl_PL/__init__.py index 5d0f0d8324..a65147b575 100644 --- a/faker/providers/internet/pl_PL/__init__.py +++ b/faker/providers/internet/pl_PL/__init__.py @@ -4,24 +4,24 @@ class Provider(InternetProvider): free_email_domains = ( - 'onet.pl', - 'interia.pl', - 'gmail.com', - 'o2.pl', - 'yahoo.com', - 'hotmail.com', + "onet.pl", + "interia.pl", + "gmail.com", + "o2.pl", + "yahoo.com", + "hotmail.com", ) - tlds = ('com', 'com', 'com', 'net', 'org', 'pl', 'pl', 'pl') + tlds = ("com", "com", "com", "net", "org", "pl", "pl", "pl") replacements = ( - ('ą', 'a'), - ('ć', 'c'), - ('ę', 'e'), - ('ł', 'l'), - ('ń', 'n'), - ('ó', 'o'), - ('ś', 's'), - ('ź', 'z'), - ('ż', 'z'), + ("ą", "a"), + ("ć", "c"), + ("ę", "e"), + ("ł", "l"), + ("ń", "n"), + ("ó", "o"), + ("ś", "s"), + ("ź", "z"), + ("ż", "z"), ) diff --git a/faker/providers/internet/pt_BR/__init__.py b/faker/providers/internet/pt_BR/__init__.py index a834cc059f..11f84002ae 100644 --- a/faker/providers/internet/pt_BR/__init__.py +++ b/faker/providers/internet/pt_BR/__init__.py @@ -2,20 +2,26 @@ class Provider(InternetProvider): - safe_email_tlds = ('com', 'net', 'br', 'br') + safe_email_tlds = ("com", "net", "br", "br") free_email_domains = ( - 'gmail.com', - 'hotmail.com', - 'yahoo.com.br', - 'uol.com.br', - 'bol.com.br', - 'ig.com.br') - tlds = ('com', 'com', 'com', 'net', 'org', 'br', 'br', 'br') + "gmail.com", + "hotmail.com", + "yahoo.com.br", + "uol.com.br", + "bol.com.br", + "ig.com.br", + ) + tlds = ("com", "com", "com", "net", "org", "br", "br", "br") replacements = ( - ('à', 'a'), ('â', 'a'), ('ã', 'a'), - ('ç', 'c'), - ('é', 'e'), ('ê', 'e'), - ('í', 'i'), - ('ô', 'o'), ('ö', 'o'), ('õ', 'o'), - ('ú', 'u'), + ("à", "a"), + ("â", "a"), + ("ã", "a"), + ("ç", "c"), + ("é", "e"), + ("ê", "e"), + ("í", "i"), + ("ô", "o"), + ("ö", "o"), + ("õ", "o"), + ("ú", "u"), ) diff --git a/faker/providers/internet/pt_PT/__init__.py b/faker/providers/internet/pt_PT/__init__.py index 6658237759..e6420f9e08 100644 --- a/faker/providers/internet/pt_PT/__init__.py +++ b/faker/providers/internet/pt_PT/__init__.py @@ -2,6 +2,6 @@ class Provider(InternetProvider): - safe_email_tlds = ('com', 'net', 'pt', 'pt') - free_email_domains = ('gmail.com', 'hotmail.com', 'clix.pt', 'sapo.pt') - tlds = ('com', 'com', 'com', 'net', 'org', 'pt', 'pt', 'pt') + safe_email_tlds = ("com", "net", "pt", "pt") + free_email_domains = ("gmail.com", "hotmail.com", "clix.pt", "sapo.pt") + tlds = ("com", "com", "com", "net", "org", "pt", "pt", "pt") diff --git a/faker/providers/internet/ro_RO/__init__.py b/faker/providers/internet/ro_RO/__init__.py new file mode 100644 index 0000000000..6820e8dbd6 --- /dev/null +++ b/faker/providers/internet/ro_RO/__init__.py @@ -0,0 +1,31 @@ +from .. import Provider as InternetProvider + + +class Provider(InternetProvider): + + user_name_formats = ( + "{{last_name_female}}.{{first_name_female}}", + "{{last_name_female}}.{{first_name_female}}", + "{{last_name_male}}.{{first_name_male}}", + "{{last_name_male}}.{{first_name_male}}", + "{{first_name_female}}.{{last_name_female}}", + "{{first_name_male}}.{{last_name_male}}", + "{{first_name}}##", + "?{{last_name}}", + "?{{last_name}}", + "?{{last_name}}", + ) + + email_formats = ("{{user_name}}@{{free_email_domain}}",) + + free_email_domains = ( + "email.ro", + "gmail.com", + "kappa.ro", + "acasa.ro", + "zzup.ro", + "141.ro", + "post.ro", + ) + + tlds = ("ro", "com", "ro") diff --git a/faker/providers/internet/ru_RU/__init__.py b/faker/providers/internet/ru_RU/__init__.py index bf67f7f260..0c00a9333d 100644 --- a/faker/providers/internet/ru_RU/__init__.py +++ b/faker/providers/internet/ru_RU/__init__.py @@ -3,42 +3,98 @@ class Provider(InternetProvider): user_name_formats = ( - '{{last_name_female}}.{{first_name_female}}', - '{{last_name_male}}.{{first_name_male}}', - '{{last_name_male}}.{{first_name_male}}', - '{{first_name_male}}.{{last_name_male}}', - '{{first_name}}##', - '{{first_name}}_##', - '?{{last_name}}', - '{{first_name}}{{year}}', - '{{first_name}}_{{year}}', + "{{last_name_female}}.{{first_name_female}}", + "{{last_name_male}}.{{first_name_male}}", + "{{last_name_male}}.{{first_name_male}}", + "{{first_name_male}}.{{last_name_male}}", + "{{first_name}}##", + "{{first_name}}_##", + "?{{last_name}}", + "{{first_name}}{{year}}", + "{{first_name}}_{{year}}", ) email_formats = ( - '{{user_name}}@{{free_email_domain}}', - '{{user_name}}@{{domain_name}}') + "{{user_name}}@{{free_email_domain}}", + "{{user_name}}@{{domain_name}}", + ) free_email_domains = ( - 'gmail.com', - 'yahoo.com', - 'hotmail.com', - 'mail.ru', - 'yandex.ru', - 'rambler.ru') + "gmail.com", + "yahoo.com", + "hotmail.com", + "mail.ru", + "yandex.ru", + "rambler.ru", + ) - tlds = ('ru', 'com', 'biz', 'info', 'net', 'org', 'edu') + tlds = ("ru", "com", "biz", "info", "net", "org", "edu") replacements = ( - ('А', 'a'), ('Б', 'b'), ('В', 'v'), ('Г', 'g'), ('Д', 'd'), ('Е', 'e'), - ('Ё', 'e'), ('Ж', 'zh'), ('З', 'z'), ('И', 'i'), ('Й', ''), ('К', 'k'), - ('Л', 'l'), ('М', 'm'), ('Н', 'n'), ('О', 'o'), ('П', 'p'), ('Р', 'r'), - ('С', 's'), ('Т', 't'), ('У', 'u'), ('Ф', 'f'), ('Х', 'h'), ('Ц', 'ts'), - ('Ч', 'ch'), ('Ш', 'sh'), ('Щ', 'shch'), ('Ъ', ''), ('Ы', 'i'), - ('Ь', ''), ('Э', 'e'), ('Ю', 'yu'), ('Я', 'ya'), ('а', 'a'), ('б', 'b'), - ('в', 'v'), ('г', 'g'), ('д', 'd'), ('е', 'e'), ('ё', 'e'), ('ж', 'zh'), - ('з', 'z'), ('и', 'i'), ('й', ''), ('к', 'k'), ('л', 'l'), ('м', 'm'), - ('н', 'n'), ('о', 'o'), ('п', 'p'), ('р', 'r'), ('с', 's'), ('т', 't'), - ('у', 'u'), ('ф', 'f'), ('х', 'h'), ('ц', 'ts'), ('ч', 'ch'), - ('ш', 'sh'), ('щ', 'shch'), ('ъ', ''), ('ы', 'i'), ('ь', ''), - ('э', 'e'), ('ю', 'ju'), ('я', 'ja'), + ("А", "a"), + ("Б", "b"), + ("В", "v"), + ("Г", "g"), + ("Д", "d"), + ("Е", "e"), + ("Ё", "e"), + ("Ж", "zh"), + ("З", "z"), + ("И", "i"), + ("Й", ""), + ("К", "k"), + ("Л", "l"), + ("М", "m"), + ("Н", "n"), + ("О", "o"), + ("П", "p"), + ("Р", "r"), + ("С", "s"), + ("Т", "t"), + ("У", "u"), + ("Ф", "f"), + ("Х", "h"), + ("Ц", "ts"), + ("Ч", "ch"), + ("Ш", "sh"), + ("Щ", "shch"), + ("Ъ", ""), + ("Ы", "i"), + ("Ь", ""), + ("Э", "e"), + ("Ю", "yu"), + ("Я", "ya"), + ("а", "a"), + ("б", "b"), + ("в", "v"), + ("г", "g"), + ("д", "d"), + ("е", "e"), + ("ё", "e"), + ("ж", "zh"), + ("з", "z"), + ("и", "i"), + ("й", ""), + ("к", "k"), + ("л", "l"), + ("м", "m"), + ("н", "n"), + ("о", "o"), + ("п", "p"), + ("р", "r"), + ("с", "s"), + ("т", "t"), + ("у", "u"), + ("ф", "f"), + ("х", "h"), + ("ц", "ts"), + ("ч", "ch"), + ("ш", "sh"), + ("щ", "shch"), + ("ъ", ""), + ("ы", "i"), + ("ь", ""), + ("э", "e"), + ("ю", "ju"), + ("я", "ja"), ) diff --git a/faker/providers/internet/sk_SK/__init__.py b/faker/providers/internet/sk_SK/__init__.py index 6aa3cf3218..689b759fc4 100644 --- a/faker/providers/internet/sk_SK/__init__.py +++ b/faker/providers/internet/sk_SK/__init__.py @@ -3,31 +3,31 @@ class Provider(InternetProvider): user_name_formats = ( - '{{last_name_female}}.{{first_name_female}}', - '{{last_name_female}}.{{first_name_female}}', - '{{last_name_male}}.{{first_name_male}}', - '{{last_name_male}}.{{first_name_male}}', - '{{first_name_female}}.{{last_name_female}}', - '{{first_name_male}}.{{last_name_male}}', - '{{first_name}}##', - '?{{last_name}}', - '?{{last_name}}', - '?{{last_name}}', + "{{last_name_female}}.{{first_name_female}}", + "{{last_name_female}}.{{first_name_female}}", + "{{last_name_male}}.{{first_name_male}}", + "{{last_name_male}}.{{first_name_male}}", + "{{first_name_female}}.{{last_name_female}}", + "{{first_name_male}}.{{last_name_male}}", + "{{first_name}}##", + "?{{last_name}}", + "?{{last_name}}", + "?{{last_name}}", ) - email_formats = ('{{user_name}}@{{free_email_domain}}', ) + email_formats = ("{{user_name}}@{{free_email_domain}}",) free_email_domains = ( - 'zoznam.sk', - 'gmail.com', - 'centrum.sk', - 'post.sk', - 'chello.sk', - 'pobox.sk', - 'szm.sk', - 'atlas.sk', - 'azet.sk', - 'inmail.sk', + "zoznam.sk", + "gmail.com", + "centrum.sk", + "post.sk", + "chello.sk", + "pobox.sk", + "szm.sk", + "atlas.sk", + "azet.sk", + "inmail.sk", ) - tlds = ('sk', 'com') + tlds = ("sk", "com") diff --git a/faker/providers/internet/sl_SI/__init__.py b/faker/providers/internet/sl_SI/__init__.py index 46bb183fc6..324240510b 100755 --- a/faker/providers/internet/sl_SI/__init__.py +++ b/faker/providers/internet/sl_SI/__init__.py @@ -4,31 +4,61 @@ class Provider(InternetProvider): user_name_formats = ( - '{{last_name}}.{{first_name_female}}', - '{{last_name}}.{{first_name_male}}', - '{{first_name_female}}.{{last_name}}', - '{{first_name_male}}.{{last_name}}', - '{{first_name}}##', + "{{last_name}}.{{first_name_female}}", + "{{last_name}}.{{first_name_male}}", + "{{first_name_female}}.{{last_name}}", + "{{first_name_male}}.{{last_name}}", + "{{first_name}}##", ) - email_formats = ('{{user_name}}@{{free_email_domain}}', ) + email_formats = ("{{user_name}}@{{free_email_domain}}",) free_email_domains = ( - 'gmail.com', 'siol.net', 'email.si', 'volja.net', + "gmail.com", + "siol.net", + "email.si", + "volja.net", ) uri_pages = ( - 'index', 'domov', 'iskanje', 'main', 'novica', - 'homepage', 'kategorija', 'registracija', 'login', - 'faq', 'o-nas', 'pogoji', - 'zasebnost', 'avtor', + "index", + "domov", + "iskanje", + "main", + "novica", + "homepage", + "kategorija", + "registracija", + "login", + "faq", + "o-nas", + "pogoji", + "zasebnost", + "avtor", ) uri_paths = ( - 'app', 'main', 'wp-content', 'iskanje', 'kategorija', 'novica', - 'kategorije', 'novice', 'blog', 'komentarji', 'seznam') + "app", + "main", + "wp-content", + "iskanje", + "kategorija", + "novica", + "kategorije", + "novice", + "blog", + "komentarji", + "seznam", + ) uri_extensions = ( - '.html', '.html', '.html', '.htm', '.htm', '.php', - '.php', '.jsp', '.asp', + ".html", + ".html", + ".html", + ".htm", + ".htm", + ".php", + ".php", + ".jsp", + ".asp", ) - tlds = ('si', 'com') + tlds = ("si", "com") diff --git a/faker/providers/internet/sv_SE/__init__.py b/faker/providers/internet/sv_SE/__init__.py index c010ee5867..c901abd24e 100644 --- a/faker/providers/internet/sv_SE/__init__.py +++ b/faker/providers/internet/sv_SE/__init__.py @@ -4,13 +4,21 @@ class Provider(InternetProvider): free_email_domains = ( - 'telia.com', 'gmail.com', 'swipnet.se', 'googlemail.com', 'live.se', - 'spray.se', 'yahoo.de', + "telia.com", + "gmail.com", + "swipnet.se", + "googlemail.com", + "live.se", + "spray.se", + "yahoo.de", ) - tlds = ('com', 'com', 'com', 'se', 'se', 'se', 'net', 'org') + tlds = ("com", "com", "com", "se", "se", "se", "net", "org") replacements = ( - ('å', 'a'), ('Å', 'A'), - ('ä', 'a'), ('Ä', 'A'), - ('ö', 'o'), ('Ö', 'O'), + ("å", "a"), + ("Å", "A"), + ("ä", "a"), + ("Ä", "A"), + ("ö", "o"), + ("Ö", "O"), ) diff --git a/faker/providers/internet/th_TH/__init__.py b/faker/providers/internet/th_TH/__init__.py new file mode 100644 index 0000000000..229ff5e338 --- /dev/null +++ b/faker/providers/internet/th_TH/__init__.py @@ -0,0 +1,32 @@ +from collections import OrderedDict + +from .. import Provider as InternetProvider + + +class Provider(InternetProvider): + free_email_domains = ( + "hotmail.com", + "gmail.com", + "outlook.com", + "yahoo.com", + "ymail.com", + "kon.in.th", + "icloud.com", + "protonmail.com", + ) + + tlds = OrderedDict( + ( + ("in.th", 100), + ("co.th", 80), + ("go.th", 40), + ("or.th", 40), + ("ac.th", 20), + ("net.th", 10), + ("mi.th", 5), + ("co", 10), + ("net", 20), + ("com", 150), + ("org", 50), + ), + ) diff --git a/faker/providers/internet/tl_PH/__init__.py b/faker/providers/internet/tl_PH/__init__.py index 03135afd8f..51d2166c1e 100644 --- a/faker/providers/internet/tl_PH/__init__.py +++ b/faker/providers/internet/tl_PH/__init__.py @@ -3,4 +3,5 @@ class Provider(EnPhInternetProvider): """No difference from Internet Provider for en_PH locale""" + pass diff --git a/faker/providers/internet/uk_UA/__init__.py b/faker/providers/internet/uk_UA/__init__.py index a20332ce55..bc955e3f1b 100644 --- a/faker/providers/internet/uk_UA/__init__.py +++ b/faker/providers/internet/uk_UA/__init__.py @@ -3,22 +3,80 @@ class Provider(InternetProvider): free_email_domains = ( - 'email.ua', 'gmail.com', 'gov.ua', 'i.ua', 'meta.ua', 'ukr.net', + "email.ua", + "gmail.com", + "gov.ua", + "i.ua", + "meta.ua", + "ukr.net", ) - tlds = ('com', 'info', 'net', 'org', 'ua', 'укр') + tlds = ("com", "info", "net", "org", "ua", "укр") replacements = ( - ('А', 'a'), ('Б', 'b'), ('В', 'v'), ('Г', 'h'), ('Ґ', 'g'), ('Д', 'd'), - ('Е', 'e'), ('Є', 'ye'), ('Ж', 'zh'), ('З', 'z'), ('И', 'y'), - ('І', 'i'), ('Ї', 'yi'), ('Й', 'y'), ('К', 'k'), ('Л', 'l'), - ('М', 'm'), ('Н', 'n'), ('О', 'o'), ('П', 'p'), ('Р', 'r'), ('С', 's'), - ('Т', 't'), ('У', 'u'), ('Ф', 'f'), ('Х', 'kh'), ('Ц', 'ts'), - ('Ч', 'ch'), ('Ш', 'sh'), ('Щ', 'shch'), ('Ь', 'ʹ'), ('Ю', 'yu'), - ('Я', 'ya'), ('а', 'a'), ('б', 'b'), ('в', 'v'), ('г', 'h'), - ('ґ', 'g'), ('д', 'd'), ('е', 'e'), ('є', 'ie'), ('ж', 'zh'), - ('з', 'z'), ('и', 'y'), ('і', 'i'), ('ї', 'i'), ('й', 'i'), - ('к', 'k'), ('л', 'l'), ('м', 'm'), ('н', 'n'), ('о', 'o'), ('п', 'p'), - ('р', 'r'), ('с', 's'), ('т', 't'), ('у', 'u'), ('ф', 'f'), - ('х', 'kh'), ('ц', 'ts'), ('ч', 'ch'), ('ш', 'sh'), ('щ', 'shch'), - ('ь', 'ʹ'), ('ю', 'iu'), ('я', 'ia'), + ("А", "a"), + ("Б", "b"), + ("В", "v"), + ("Г", "h"), + ("Ґ", "g"), + ("Д", "d"), + ("Е", "e"), + ("Є", "ye"), + ("Ж", "zh"), + ("З", "z"), + ("И", "y"), + ("І", "i"), + ("Ї", "yi"), + ("Й", "y"), + ("К", "k"), + ("Л", "l"), + ("М", "m"), + ("Н", "n"), + ("О", "o"), + ("П", "p"), + ("Р", "r"), + ("С", "s"), + ("Т", "t"), + ("У", "u"), + ("Ф", "f"), + ("Х", "kh"), + ("Ц", "ts"), + ("Ч", "ch"), + ("Ш", "sh"), + ("Щ", "shch"), + ("Ь", "ʹ"), + ("Ю", "yu"), + ("Я", "ya"), + ("а", "a"), + ("б", "b"), + ("в", "v"), + ("г", "h"), + ("ґ", "g"), + ("д", "d"), + ("е", "e"), + ("є", "ie"), + ("ж", "zh"), + ("з", "z"), + ("и", "y"), + ("і", "i"), + ("ї", "i"), + ("й", "i"), + ("к", "k"), + ("л", "l"), + ("м", "m"), + ("н", "n"), + ("о", "o"), + ("п", "p"), + ("р", "r"), + ("с", "s"), + ("т", "t"), + ("у", "u"), + ("ф", "f"), + ("х", "kh"), + ("ц", "ts"), + ("ч", "ch"), + ("ш", "sh"), + ("щ", "shch"), + ("ь", "ʹ"), + ("ю", "iu"), + ("я", "ia"), ) diff --git a/faker/providers/internet/zh_CN/__init__.py b/faker/providers/internet/zh_CN/__init__.py index 9fea88bcd6..6db322e2ce 100644 --- a/faker/providers/internet/zh_CN/__init__.py +++ b/faker/providers/internet/zh_CN/__init__.py @@ -7,43 +7,83 @@ class Provider(InternetProvider): user_name_formats = ( - '{{last_romanized_name}}.{{first_romanized_name}}', - '{{first_romanized_name}}.{{last_romanized_name}}', - '{{first_romanized_name}}##', - '?{{last_romanized_name}}', + "{{last_romanized_name}}.{{first_romanized_name}}", + "{{first_romanized_name}}.{{last_romanized_name}}", + "{{first_romanized_name}}##", + "?{{last_romanized_name}}", ) - tlds = OrderedDict(( - ('cn', 0.8), - ('net', 0.1), - ('com', 0.05), - ('org', 0.05), - )) + tlds = OrderedDict( + ( + ("cn", 0.8), + ("net", 0.1), + ("com", 0.05), + ("org", 0.05), + ) + ) - second_level_domains = ('ac', 'com', 'edu', 'gov', 'mil', 'net', 'org', - 'ah', 'bj', 'cq', 'fj', 'gd', 'gs', 'gz', 'gx', - 'ha', 'hb', 'he', 'hi', 'hk', 'hl', 'hn', 'jl', - 'js', 'jx', 'ln', 'mo', 'nm', 'nx', 'qh', 'sc', - 'sd', 'sh', 'sn', 'sx', 'tj', 'xj', 'xz', 'yn', 'zj') + second_level_domains = ( + "ac", + "com", + "edu", + "gov", + "mil", + "net", + "org", + "ah", + "bj", + "cq", + "fj", + "gd", + "gs", + "gz", + "gx", + "ha", + "hb", + "he", + "hi", + "hk", + "hl", + "hn", + "jl", + "js", + "jx", + "ln", + "mo", + "nm", + "nx", + "qh", + "sc", + "sd", + "sh", + "sn", + "sx", + "tj", + "xj", + "xz", + "yn", + "zj", + ) domain_formats = ( - '##', '??', - '{{first_romanized_name}}', - '{{last_romanized_name}}', - '{{first_romanized_name}}{{last_romanized_name}}', - '{{last_romanized_name}}{{last_romanized_name}}', - '{{first_romanized_name}}{{first_romanized_name}}', + "##", + "??", + "{{first_romanized_name}}", + "{{last_romanized_name}}", + "{{first_romanized_name}}{{last_romanized_name}}", + "{{last_romanized_name}}{{last_romanized_name}}", + "{{first_romanized_name}}{{first_romanized_name}}", ) @slugify - def domain_word(self): - pattern = self.random_element(self.domain_formats) - if '#' in pattern or '?' in pattern: + def domain_word(self) -> str: + pattern: str = self.random_element(self.domain_formats) + if "#" in pattern or "?" in pattern: return self.bothify(pattern) else: return self.generator.parse(pattern) - def domain_name(self, levels=1): + def domain_name(self, levels: int = 1) -> str: if levels < 1: raise ValueError("levels must be greater than or equal to 1") if levels == 1: @@ -51,13 +91,13 @@ def domain_name(self, levels=1): # Avoids he.cn as seen in issue #687 while domain_word in self.second_level_domains: domain_word = self.domain_word() - return domain_word + '.' + self.tld() + return domain_word + "." + self.tld() elif levels == 2: my_tld = self.tld() - if my_tld == 'cn': - my_second_level = self.random_element(self.second_level_domains) + if my_tld == "cn": + my_second_level: str = self.random_element(self.second_level_domains) else: my_second_level = self.domain_word() - return self.domain_word() + '.' + my_second_level + '.' + my_tld + return self.domain_word() + "." + my_second_level + "." + my_tld else: - return self.domain_word() + '.' + self.domain_name(levels - 1) + return self.domain_word() + "." + self.domain_name(levels - 1) diff --git a/faker/providers/internet/zh_TW/__init__.py b/faker/providers/internet/zh_TW/__init__.py index ecd14d4ee4..0bd66ea912 100644 --- a/faker/providers/internet/zh_TW/__init__.py +++ b/faker/providers/internet/zh_TW/__init__.py @@ -5,13 +5,13 @@ class Provider(InternetProvider): user_name_formats = ( - '{{last_romanized_name}}.{{first_romanized_name}}', - '{{first_romanized_name}}.{{last_romanized_name}}', - '{{first_romanized_name}}##', - '?{{last_romanized_name}}', + "{{last_romanized_name}}.{{first_romanized_name}}", + "{{first_romanized_name}}.{{last_romanized_name}}", + "{{first_romanized_name}}##", + "?{{last_romanized_name}}", ) - tlds = ('com', 'com', 'com', 'net', 'org', 'tw', 'tw', 'tw') + tlds = ("com", "com", "com", "net", "org", "tw", "tw", "tw") @slugify def domain_word(self): - return self.generator.format('last_romanized_name') + return self.generator.format("last_romanized_name") diff --git a/faker/providers/isbn/__init__.py b/faker/providers/isbn/__init__.py index 1353055306..cad4e81aa0 100644 --- a/faker/providers/isbn/__init__.py +++ b/faker/providers/isbn/__init__.py @@ -1,10 +1,14 @@ +from typing import List, Tuple + +from faker.providers.isbn.rules import RegistrantRule + from .. import BaseProvider from .isbn import ISBN, ISBN10, ISBN13 from .rules import RULES class Provider(BaseProvider): - """ Generates fake ISBNs. ISBN rules vary across languages/regions + """Generates fake ISBNs. ISBN rules vary across languages/regions so this class makes no attempt at replicating all of the rules. It only replicates the 978 EAN prefix for the English registration groups, meaning the first 4 digits of the ISBN-13 will either be @@ -17,30 +21,30 @@ class Provider(BaseProvider): list of rules pertaining to each prefix/registration group. """ - def _body(self): - """ Generate the information required to create an ISBN-10 or + def _body(self) -> List[str]: + """Generate the information required to create an ISBN-10 or ISBN-13. """ - ean = self.random_element(RULES.keys()) - reg_group = self.random_element(RULES[ean].keys()) + ean: str = self.random_element(RULES.keys()) + reg_group: str = self.random_element(RULES[ean].keys()) # Given the chosen ean/group, decide how long the # registrant/publication string may be. # We must allocate for the calculated check digit, so # subtract 1 - reg_pub_len = ISBN.MAX_LENGTH - len(ean) - len(reg_group) - 1 + reg_pub_len: int = ISBN.MAX_LENGTH - len(ean) - len(reg_group) - 1 # Generate a registrant/publication combination - reg_pub = self.numerify('#' * reg_pub_len) + reg_pub: str = self.numerify("#" * reg_pub_len) # Use rules to separate the registrant from the publication - rules = RULES[ean][reg_group] + rules: List[RegistrantRule] = RULES[ean][reg_group] registrant, publication = self._registrant_publication(reg_pub, rules) return [ean, reg_group, registrant, publication] @staticmethod - def _registrant_publication(reg_pub, rules): - """ Separate the registration from the publication in a given + def _registrant_publication(reg_pub: str, rules: List[RegistrantRule]) -> Tuple[str, str]: + """Separate the registration from the publication in a given string. :param reg_pub: A string of digits representing a registration and publication. @@ -53,17 +57,16 @@ def _registrant_publication(reg_pub, rules): reg_len = rule.registrant_length break else: - raise Exception('Registrant/Publication not found in registrant ' - 'rule list.') + raise Exception("Registrant/Publication not found in registrant " "rule list.") registrant, publication = reg_pub[:reg_len], reg_pub[reg_len:] return registrant, publication - def isbn13(self, separator='-'): + def isbn13(self, separator: str = "-") -> str: ean, group, registrant, publication = self._body() isbn = ISBN13(ean, group, registrant, publication) return isbn.format(separator) - def isbn10(self, separator='-'): + def isbn10(self, separator: str = "-") -> str: ean, group, registrant, publication = self._body() isbn = ISBN10(ean, group, registrant, publication) return isbn.format(separator) diff --git a/faker/providers/isbn/isbn.py b/faker/providers/isbn/isbn.py index 2083dc88c4..d792c14802 100644 --- a/faker/providers/isbn/isbn.py +++ b/faker/providers/isbn/isbn.py @@ -2,13 +2,20 @@ This module is responsible for generating the check digit and formatting ISBN numbers. """ +from typing import Any, Optional class ISBN: MAX_LENGTH = 13 - def __init__(self, ean=None, group=None, registrant=None, publication=None): + def __init__( + self, + ean: Optional[str] = None, + group: Optional[str] = None, + registrant: Optional[str] = None, + publication: Optional[str] = None, + ) -> None: self.ean = ean self.group = group self.registrant = registrant @@ -16,46 +23,64 @@ def __init__(self, ean=None, group=None, registrant=None, publication=None): class ISBN13(ISBN): - - def __init__(self, *args, **kwargs): + def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) self.check_digit = self._check_digit() - def _check_digit(self): - """ Calculate the check digit for ISBN-13. + def _check_digit(self) -> str: + """Calculate the check digit for ISBN-13. See https://en.wikipedia.org/wiki/International_Standard_Book_Number for calculation. """ weights = (1 if x % 2 == 0 else 3 for x in range(12)) - body = ''.join([self.ean, self.group, self.registrant, - self.publication]) + body = "".join([part for part in [self.ean, self.group, self.registrant, self.publication] if part is not None]) remainder = sum(int(b) * w for b, w in zip(body, weights)) % 10 diff = 10 - remainder check_digit = 0 if diff == 10 else diff return str(check_digit) - def format(self, separator=''): - return separator.join([self.ean, self.group, self.registrant, - self.publication, self.check_digit]) + def format(self, separator: str = "") -> str: + return separator.join( + [ + part + for part in [ + self.ean, + self.group, + self.registrant, + self.publication, + self.check_digit, + ] + if part is not None + ] + ) class ISBN10(ISBN): - - def __init__(self, *args, **kwargs): + def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) self.check_digit = self._check_digit() - def _check_digit(self): - """ Calculate the check digit for ISBN-10. + def _check_digit(self) -> str: + """Calculate the check digit for ISBN-10. See https://en.wikipedia.org/wiki/International_Standard_Book_Number for calculation. """ weights = range(1, 10) - body = ''.join([self.group, self.registrant, self.publication]) + body = "".join([part for part in [self.group, self.registrant, self.publication] if part is not None]) remainder = sum(int(b) * w for b, w in zip(body, weights)) % 11 - check_digit = 'X' if remainder == 10 else str(remainder) + check_digit = "X" if remainder == 10 else str(remainder) return str(check_digit) - def format(self, separator=''): - return separator.join([self.group, self.registrant, self.publication, - self.check_digit]) + def format(self, separator: str = "") -> str: + return separator.join( + [ + part + for part in [ + self.group, + self.registrant, + self.publication, + self.check_digit, + ] + if part is not None + ] + ) diff --git a/faker/providers/isbn/rules.py b/faker/providers/isbn/rules.py index 280f85a709..db5d126070 100644 --- a/faker/providers/isbn/rules.py +++ b/faker/providers/isbn/rules.py @@ -10,36 +10,36 @@ """ from collections import namedtuple +from typing import Dict, List -RegistrantRule = namedtuple( - 'RegistrantRule', ['min', 'max', 'registrant_length']) +RegistrantRule = namedtuple("RegistrantRule", ["min", "max", "registrant_length"]) # Structure: RULES[`EAN Prefix`][`Registration Group`] = [Rule1, Rule2, ...] -RULES = { - '978': { - '0': [ - RegistrantRule('0000000', '1999999', 2), - RegistrantRule('2000000', '2279999', 3), - RegistrantRule('2280000', '2289999', 4), - RegistrantRule('2290000', '6479999', 3), - RegistrantRule('6480000', '6489999', 7), - RegistrantRule('6490000', '6999999', 3), - RegistrantRule('7000000', '8499999', 4), - RegistrantRule('8500000', '8999999', 5), - RegistrantRule('9000000', '9499999', 6), - RegistrantRule('9500000', '9999999', 7), +RULES: Dict[str, Dict[str, List[RegistrantRule]]] = { + "978": { + "0": [ + RegistrantRule("0000000", "1999999", 2), + RegistrantRule("2000000", "2279999", 3), + RegistrantRule("2280000", "2289999", 4), + RegistrantRule("2290000", "6479999", 3), + RegistrantRule("6480000", "6489999", 7), + RegistrantRule("6490000", "6999999", 3), + RegistrantRule("7000000", "8499999", 4), + RegistrantRule("8500000", "8999999", 5), + RegistrantRule("9000000", "9499999", 6), + RegistrantRule("9500000", "9999999", 7), ], - '1': [ - RegistrantRule('0000000', '0999999', 2), - RegistrantRule('1000000', '3999999', 3), - RegistrantRule('4000000', '5499999', 4), - RegistrantRule('5500000', '7319999', 5), - RegistrantRule('7320000', '7399999', 7), - RegistrantRule('7400000', '8697999', 5), - RegistrantRule('8698000', '9729999', 6), - RegistrantRule('9730000', '9877999', 4), - RegistrantRule('9878000', '9989999', 6), - RegistrantRule('9990000', '9999999', 7), + "1": [ + RegistrantRule("0000000", "0999999", 2), + RegistrantRule("1000000", "3999999", 3), + RegistrantRule("4000000", "5499999", 4), + RegistrantRule("5500000", "7319999", 5), + RegistrantRule("7320000", "7399999", 7), + RegistrantRule("7400000", "8697999", 5), + RegistrantRule("8698000", "9729999", 6), + RegistrantRule("9730000", "9877999", 4), + RegistrantRule("9878000", "9989999", 6), + RegistrantRule("9990000", "9999999", 7), ], }, } diff --git a/faker/providers/job/__init__.py b/faker/providers/job/__init__.py index 90db45020c..c97a9fc2bf 100644 --- a/faker/providers/job/__init__.py +++ b/faker/providers/job/__init__.py @@ -1,10 +1,10 @@ -from .. import BaseProvider +from .. import BaseProvider, ElementsType localized = True class Provider(BaseProvider): - jobs = ( + jobs: ElementsType = ( "Academic librarian", "Accommodation manager", "Accountant, chartered", @@ -646,5 +646,5 @@ class Provider(BaseProvider): "Youth worker", ) - def job(self): + def job(self) -> str: return self.random_element(self.jobs) diff --git a/faker/providers/job/ar_AA/__init__.py b/faker/providers/job/ar_AA/__init__.py index d8e18ff1f3..c07b5cef7a 100644 --- a/faker/providers/job/ar_AA/__init__.py +++ b/faker/providers/job/ar_AA/__init__.py @@ -4,146 +4,146 @@ class Provider(BaseProvider): # Source: https://learnenglish100.com/grammar/career-job/ jobs = ( - 'محاسب', - 'ممثل', - 'ممثلة', - 'محام', - 'مضيفة في الطائرة', - 'مضيفة جوية', - 'عالم', - 'عالم اثار', - 'فنان', - 'مؤلف', - 'خباز', - 'راقصة باليه', - 'مدير بنك', - 'حلاق', - 'أحيائي', - 'حداد', - 'مجلد كتب', - 'صاحب مكتبة', - 'نباتي', - 'عامل بناء', - 'جزار', - 'مشتري', - 'نجار', - 'رئيس طهاه', - 'صيدلي', - 'قائد شرطة', - 'موظف حكومي', - 'كاتب', - 'ملحن', - 'طباخ', - 'مصحح قانوني', - 'راقصة', - 'مصمم ديكور', - 'موصل طلبيات', - 'طبيب أسنان', - 'مصصم', - 'رجل مباحث', - 'مدير او مخرج', - 'طبيب', - 'رسام', - 'خياطة', - 'سائق', - 'صباغ', - 'خبير اقتصادي', - 'محرر', - 'محرر جريدة', - 'مھندس', - 'خبير في التراث الشعبي', - 'منسق ازياء', - 'اطفائي', - 'بائع زهور', - 'جيولوجي', - 'صائغ', - 'مصمم جرافيك', - 'بائع خضار وفاكهة', - 'حلاق', - 'مصفف شعر', - 'مصور', - 'وسيط تأمين', - 'مترجم', - 'مكوى', - 'بواب', - 'جوھري', - 'صحافي', - 'قاضي', - 'غسالة', - 'محام', - 'محاضر', - 'لغوي', - 'سائق شاحنة', - 'خادمة', - 'ساعي بريد', - 'مدير', - 'مدير تسويق', - 'عالم رياضيات', - 'ميكانيكي', - 'تاجر', - 'عالم أرصاد جوية', - 'داية', - 'عارضة أزياء', - 'صراف', - 'موسيقار', - 'مذيع', - 'موزع جرائد', - 'روائي', - 'ممرضة', - 'طبيب عيون', - 'صانع أدوات بصرية', - 'رسام', - 'مدير موظفين', - 'صيدلي', - 'فيلسوف', - 'مصور', - 'عالم فيزياء', - 'معالج طبيعي', - 'طيار', - 'كاتب مسرحي', - 'سمكري', - 'شاعر', - 'ضابط شرطة', - 'شرطي', - 'سياسي', - 'صاحب مطبعة', - 'منتج', - 'مبرمج', - 'طبيب نفساني', - 'ناشر', - 'وكيل عقارات', - 'موظف استقبال', - 'صحفي', - 'مساعد مبيعات', - 'بائع', - 'بائعة', - 'عالم', - 'نحات', - 'سكرتير', - 'سكرتيرة', - 'صباغ أحذية', - 'عامل أحذية', - 'ماسح احذية', - 'عامل بمتجر', - 'صاحب متجر', - 'مطرب', - 'مغني', - 'احصائي', - 'مدير متجر', - 'طبيب جراح', - 'خياط', - 'سائق تاكسي', - 'معلم', - 'موظف بدالة', - 'مترجم', - 'وكيل سفر', - 'سائق شاحنة', - 'خراط', - 'ضارب على الآلة الكاتبة', - 'منجد', - 'نادلة', - 'ساعاتي', - 'عامل', - 'كاتب', - 'خبير في عالم الحيوان', + "محاسب", + "ممثل", + "ممثلة", + "محام", + "مضيفة في الطائرة", + "مضيفة جوية", + "عالم", + "عالم اثار", + "فنان", + "مؤلف", + "خباز", + "راقصة باليه", + "مدير بنك", + "حلاق", + "أحيائي", + "حداد", + "مجلد كتب", + "صاحب مكتبة", + "نباتي", + "عامل بناء", + "جزار", + "مشتري", + "نجار", + "رئيس طهاه", + "صيدلي", + "قائد شرطة", + "موظف حكومي", + "كاتب", + "ملحن", + "طباخ", + "مصحح قانوني", + "راقصة", + "مصمم ديكور", + "موصل طلبيات", + "طبيب أسنان", + "مصصم", + "رجل مباحث", + "مدير او مخرج", + "طبيب", + "رسام", + "خياطة", + "سائق", + "صباغ", + "خبير اقتصادي", + "محرر", + "محرر جريدة", + "مھندس", + "خبير في التراث الشعبي", + "منسق ازياء", + "اطفائي", + "بائع زهور", + "جيولوجي", + "صائغ", + "مصمم جرافيك", + "بائع خضار وفاكهة", + "حلاق", + "مصفف شعر", + "مصور", + "وسيط تأمين", + "مترجم", + "مكوى", + "بواب", + "جوھري", + "صحافي", + "قاضي", + "غسالة", + "محام", + "محاضر", + "لغوي", + "سائق شاحنة", + "خادمة", + "ساعي بريد", + "مدير", + "مدير تسويق", + "عالم رياضيات", + "ميكانيكي", + "تاجر", + "عالم أرصاد جوية", + "داية", + "عارضة أزياء", + "صراف", + "موسيقار", + "مذيع", + "موزع جرائد", + "روائي", + "ممرضة", + "طبيب عيون", + "صانع أدوات بصرية", + "رسام", + "مدير موظفين", + "صيدلي", + "فيلسوف", + "مصور", + "عالم فيزياء", + "معالج طبيعي", + "طيار", + "كاتب مسرحي", + "سمكري", + "شاعر", + "ضابط شرطة", + "شرطي", + "سياسي", + "صاحب مطبعة", + "منتج", + "مبرمج", + "طبيب نفساني", + "ناشر", + "وكيل عقارات", + "موظف استقبال", + "صحفي", + "مساعد مبيعات", + "بائع", + "بائعة", + "عالم", + "نحات", + "سكرتير", + "سكرتيرة", + "صباغ أحذية", + "عامل أحذية", + "ماسح احذية", + "عامل بمتجر", + "صاحب متجر", + "مطرب", + "مغني", + "احصائي", + "مدير متجر", + "طبيب جراح", + "خياط", + "سائق تاكسي", + "معلم", + "موظف بدالة", + "مترجم", + "وكيل سفر", + "سائق شاحنة", + "خراط", + "ضارب على الآلة الكاتبة", + "منجد", + "نادلة", + "ساعاتي", + "عامل", + "كاتب", + "خبير في عالم الحيوان", ) diff --git a/faker/providers/job/de_DE/__init__.py b/faker/providers/job/de_DE/__init__.py index b7644f4d95..125b20cdfe 100644 --- a/faker/providers/job/de_DE/__init__.py +++ b/faker/providers/job/de_DE/__init__.py @@ -5,39 +5,40 @@ class Provider(BaseProvider): """ Source: http://planet-beruf.de/schuelerinnen/mein-beruf/berufe-von-a-z/ """ + jobs = [ - 'Altenpfleger', - 'Asphaltbauer', - 'Artist', - 'Augenoptiker', - 'Ausbaufacharbeiter', - 'Bäcker', - 'Bankkaufmann', - 'Beamter', - 'Binnenschiffer', - 'Chemikant', - 'Chirurgiemechaniker', - 'Designer', - 'Drogist', - 'Erzieher', - 'Elektroniker', - 'Fachinformatiker', - 'Fleischer', - 'Florist', - 'Forstwirt', - 'Friseur', - 'Informatiker', - 'Programmierer', - 'Techniker', - 'Mathematiker', - 'Koreanistiker', - 'Mechaniker', - 'Pfleger', - 'Polizist', - 'Pilot', - 'Arzt', - 'Krankenschwester', - 'Medizininformatiker', - 'Schornsteinfeger', - 'Winzer', + "Altenpfleger", + "Asphaltbauer", + "Artist", + "Augenoptiker", + "Ausbaufacharbeiter", + "Bäcker", + "Bankkaufmann", + "Beamter", + "Binnenschiffer", + "Chemikant", + "Chirurgiemechaniker", + "Designer", + "Drogist", + "Erzieher", + "Elektroniker", + "Fachinformatiker", + "Fleischer", + "Florist", + "Forstwirt", + "Friseur", + "Informatiker", + "Programmierer", + "Techniker", + "Mathematiker", + "Koreanistiker", + "Mechaniker", + "Pfleger", + "Polizist", + "Pilot", + "Arzt", + "Krankenschwester", + "Medizininformatiker", + "Schornsteinfeger", + "Winzer", ] diff --git a/faker/providers/job/el_GR/__init__.py b/faker/providers/job/el_GR/__init__.py index 6b6a14518e..af34d3cf8f 100644 --- a/faker/providers/job/el_GR/__init__.py +++ b/faker/providers/job/el_GR/__init__.py @@ -3,449 +3,449 @@ class Provider(BaseProvider): jobs = [ - 'Αγγειοπλάστης', - 'Αγιογράφος Βυζαντινών Εικόνων και Τοιχογραφιών', - 'Αγρονόμος Τοπογράφος Μηχανικός', - 'Αγρότης Καλλιεργητής', - 'Αεροναυπηγός Μηχανικός', - 'Αεροσυνοδός', - 'Αθλητικός Δημοσιογράφος – Ρεπόρτερ', - 'Αισθητικός - Ειδικός Εφαρμογών Αισθητικής', - 'Αισθητικός Αρωματοθεραπείας', - 'Αισθητικός Επαγγελματικού Μακιγιάζ Θεάτρου και Σκηνής', - 'Αισθητικός Ποδολογίας και Καλλωπισμού Νυχιών', - 'Τεχνίτης Περιποίησης Νυχιών', - 'Ακροβάτης', - 'Ακτινοδιαγνώστης', - 'Αλουμινάς', - 'Αναισθησιολόγος', - 'Αναλογιστής', - 'Ανθοκόμος', - 'Αξιωματικός Μηχανικός Ναυσιπλοΐας', - 'Αξιωματικός Νοσηλευτικής', - 'Αξιωματικός Πολεμικής Αεροπορίας', - 'Αξιωματικός Στρατού Ξηράς', - 'Αξιωματικός Σωμάτων Ενόπλων Δυνάμεων', - 'Αξιωματικός Φαρμακοποιός', - 'Αργυροχρυσοχόος', - 'Αρτοποιός', - 'Αρχαιολόγος', - 'Αρχειοθέτης', - 'Αρχιμάγειρας', - 'Αρχισυντάκτης', - 'Αρχιτέκτονας', - 'Αστυνομικός', - 'Ασφαλιστής', - 'Βιβλιοδέτης', - 'Βιβλιοθηκονόμος', - 'Βιολόγος', - 'Βιοπληροφορικός', - 'Βοηθός Αναισθησιολόγου', - 'Βοηθός Αρτοποιίας – Ζαχαροπλαστικής', - 'Βοηθός Ιατρικών και Βιολογικών Εργαστηρίων, Βιοχημικού και Μικροβιολογικού Εργαστηρίου', - 'Βοηθός Ιατρικών και Βιολογικών Εργαστηρίων, Αιματολογικού Εργαστηρίου', - 'Βοηθός Κομμωτή', - 'Βοηθός Λογιστή', - 'Βοηθός Μαγειρικής Τέχνης', - 'Βοηθός Νοσηλευτή Μονάδας Εντατικής Θεραπείας', - 'Βοηθός Νοσηλευτή Τραυματολογίας', - 'Βοηθός Νοσηλευτή Χειρουργείου', - 'Βοηθός Οδοντιάτρου', - 'Βοηθός Φαρμακοποιού', - 'Βοηθός Φυσικοθεραπευτή σε Ιαματικές Πηγές και Λουτρά', - 'Βοηθός Φυσικοθεραπευτή - Υπάλληλος Εργαστηρίου Φυσικοθεραπείας', - 'Βοτανολόγος', - 'Βρεφοκόμος', - 'Γεωγράφος', - 'Γεωλόγος', - 'Γεωπόνος Φυτικής Παραγωγής', - 'Γεωργός Βιολογικής Γεωργίας', - 'Γεωτεχνολόγος', - 'Γεωτρυπανιστής', - 'Γεωφυσικός', - 'Γλωσσολόγος', - 'Γλύπτης', - 'Γουνοποιός', - 'Γραμματέας', - 'Γραμματέας Νομικών Επαγγελμάτων', - 'Γραφίστας', - 'Γραφολόγος', - 'Δάσκαλος', - 'Δασολόγος', - 'Δασοφύλακας - Ειδικός Δασικής Προστασίας', - 'Δημοσιογράφος Συντάκτης - Ρεπόρτερ Δημοσιογραφίας', - 'Διαδικτυακός Διαφημιστής', - 'Διαιτητής Αθλήματος', - 'Διαιτολόγος - Ειδικός Εφαρμογών Διαιτητικής', - 'Διακοσμητής - Τεχνικός Διακόσμησης', - 'Διαφημιστής', - 'Διαχειριστής Logistics', - 'Διαχειριστής Τεχνολογίας Internet', - 'Διερμηνέας', - 'Διευθυντής Eπιχειρήσεων', - 'Διευθύνων Επιχειρηματίας', - 'Δικαστής', - 'Δικαστικός Επιμελητής', - 'Δικηγόρος', - 'Διοικητικό Στέλεχος Αθλητισμού', - 'Διοικητικό και Οικονομικό Στέλεχος Επιχειρήσεων', - 'Διοικητικός Υπάλληλος', - 'Διπλωμάτης', - 'Εγκληματολόγος', - 'Εθνολόγος - Λαογράφος', - 'Ειδικός 3D Animation', - 'Ειδικός Αεροπορικών Εταιριών', - 'Ειδικός Αργυροχρυσοχοΐας', - 'Ειδικός Ασφαλιστικών Εργασιών', - 'Ειδικός Γεωγραφικών Πληροφοριακών Συστημάτων', - 'Ειδικός Διοίκησης Πολιτισμικών Μονάδων', - 'Ειδικός Εκπαίδευσης Ενηλίκων', - 'Ειδικός Εμπορίας, Διαφήμισης και Προώθησης Προϊόντων', - 'Ειδικός Εμπορικών Επιχειρήσεων', - 'Ειδικός Ενδυματολογίας και Σχεδίασης Μόδας', - 'Ειδικός Επιστήμων Θάλασσας', - 'Ειδικός Ηλεκτρονικής Σχεδίασης Εντύπου', - 'Ειδικός Ιατρικών Συσκευών Ακτινοθεραπείας', - 'Ειδικός Ιατρικών Συσκευών Απεικονίσεων', - 'Ειδικός Ιατρικών και Βιολογικών Εργαστηρίων Αιματολογικού Εργαστηρίου', - 'Ειδικός Κινηματογράφου', - 'Ειδικός Μάρκετινγκ', - 'Ειδικός Μουσικής με Τεχνολογία Η/Υ', - 'Ειδικός Ναυτιλιακής Κατεύθυνσης', - 'Ειδικός Νοσηλευτικής Ατόμων με Ψυχικές Παθήσεις', - 'Ειδικός Νοσηλευτικής Μονάδων Εντατικής Θεραπείας', - 'Ειδικός Νοσηλευτικής Ογκολογικών Παθήσεων', - 'Ειδικός Νοσηλευτικής Τραυματολογίας', - 'Ειδικός Ξενοδοχειακής Ψυχαγωγίας', - 'Ειδικός Ξενοδοχειακών Υπηρεσιών και Τροφοδοσίας', - 'Ειδικός Οδοντοτεχνικής Ορθοδοντικής', - 'Ειδικός Οδοντοτεχνικής Πορσελάνης', - 'Ειδικός Οπτικών και Ηχητικών Εφέ', - 'Ειδικός Παθολόγος Λόγου και Ομιλίας', - 'Ειδικός Πληροφοριακών Συστημάτων με Πολυμέσα', - 'Ειδικός Προσχολικής Αγωγής Δραστηριοτήτων Δημιουργίας και Έκφρασης', - 'Ειδικός Προσχολικής Αγωγής Ημερήσιας Φροντίδας Παιδιών με Ειδικές Ανάγκες', - 'Ειδικός Πρόληψης και Θεραπείας Εξαρτημένων Ατόμων', - 'Ειδικός Πωλήσεων', - 'Ειδικός Στατιστικής Έρευνας Αγοράς και Δημοσκοπήσεων – Στέλεχος Στατιστικής Δημοσκόπησης', - 'Ειδικός Συναρμολόγησης Εικόνας (Μοντέρ) - Ηλεκτρονική Επεξεργασία Εικόνας', - 'Ειδικός Σχεδίασης Διαδραστικών και Βιομηχανικών Προϊόντων και Συστημάτων', - 'Ειδικός Σχεδίου και Μάρκετινγκ Μόδας', - 'Ειδικός Σχεδιασμού Αστικής και Περιφερειακής Ανάπτυξης', - 'Ειδικός Σχεδιασμού Επίπλου', - 'Ειδικός Τροφοδοσίας-Σίτισης', - 'Υδροθεραπευτής - Λουτροθεραπευτής', - 'Ειδικός Φοροτεχνικού Γραφείου', - 'Ειδικός Φρουρός', - 'Ειδικός Ψηφιακών Μορφών Τέχνης', - 'Εικονογράφος - Σκιτσογράφος', - 'Εικονολήπτης', - 'Εισαγγελέας', - 'Εκδότης Βιβλίων', - 'Εκκλησιαστική και Πολιτιστική Κατάρτιση', - 'Εκπαιδευτής Ζώων', - 'Εκπαιδευτής Υποψήφιων Οδηγών Αυτοκινήτων και Μοτοσικλετών', - 'Εκπαιδευτικός Ειδικής Αγωγής', - 'Εκτελωνιστής και Πράκτορας Μεταφορών', - 'Εκτιμητής Έργων Τέχνης', - 'Εκτιμητής και Εκπλειστηριαστής', - 'Εκφωνητής', - 'Ελαιοχρωματιστής', - 'Ελεγκτής Εναέριας Κυκλοφορίας', - 'Ελεγκτής Ολικής Ποιότητας', - 'Ενδυματολόγος', - 'Επαγγελματίας Αθλητής', - 'Επαγγελματίας Δύτης', - 'Επαγγελματικό Μακιγιάζ', - 'Επιθεωρητής κτιρίων και πυρασφάλειας', - 'Επικοινωνιολόγος', - 'Επιμελητής Πτήσεων', - 'Επιπλοποιός', - 'Επισκέπτης Υγείας', - 'Επισκευαστής Λαμαρινών Αυτοκινήτων-Οχημάτων', - 'Επισκευαστής Πλαστικών Σκαφών', - 'Επιστήμων Πληροφορικής και Η/Υ', - 'Επόπτης Δημόσιας Υγείας', - 'Εργοθεραπευτής', - 'Ζαχαροπλάστης', - 'Ζωγράφος', - 'Ζωολόγος', - 'Ηθοποιός', - 'Ηλεκτρολόγος', - 'Ηλεκτρολόγος Μηχανικός και Μηχανικός Η/Υ', - 'Ηλεκτρονικός', - 'Ηχολήπτης', - 'Θεατρολόγος', - 'Θεολόγος-Ιεροκήρυκας', - 'Ιατρικός Επισκέπτης', - 'Ιατροδικαστής', - 'Ιατρός', - 'Ιερέας', - 'Ιεροψάλτης', - 'Ιστορικός', - 'Ιστορικός Τέχνης', - 'Ιχθυοκαλλιεργητής', - 'Ιχθυοπαθολόγος', - 'Καθηγητής Γυμναστικής', - 'Καθηγητής Δευτεροβάθμιας Εκπαίδευσης', - 'Καθηγητής Πρωτοβάθμιας Εκπαίδευσης', - 'Καθηγητής Τριτοβάθμιας Εκπαίδευσης', - 'Καλλιτέχνης', - 'Καμαριέρης - Καμαριέρα', - 'Κασκαντέρ', - 'Κατασκευαστής Ειδών Ενδυμασίας', - 'Κατασκευαστής Υποδημάτων', - 'Κεραμίστας', - 'Κηπουρός - Ανθοκηπουρός - Κηποτεχνικός', - 'Κλειδαράς', - 'Κλιματολόγος', - 'Κλωστοϋφαντουργός', - 'Κλόουν - Γελοτοποιός', - 'Κοινωνικός Ανθρωπολόγος', - 'Κοινωνικός Λειτουργός', - 'Κοινωνιολόγος', - 'Κομμωτής – Τεχνικός Περιποίησης Κόμης', - 'Κορνιζοποιός', - 'Κοσμετολόγος', - 'Κρεοπώλης', - 'Κριτικός Τέχνης', - 'Κτηματομεσίτης', - 'Μεσίτης Αστικών Συμβάσεων', - 'Διαχειριστής Ακίνητης Περιουσίας', - 'Κτηνίατρος', - 'Κτηνοτρόφος', - 'Κόπτης Ενδυμάτων', - 'Κόφτης Υποδημάτων', - 'Λατόμος', - 'Λιθογράφος Ψηφιακής Τεχνολογίας', - 'Λιμενεργάτης', - 'Λιμενικός', - 'Λογιστής - Ειδικός Μηχανογραφημένου Λογιστηρίου', - 'Λογοθεραπευτής', - 'Λογοτέχνης', - 'Μαθηματικός', - 'Μαιευτής – Μαία', - 'Μακιγιέρ/Μακιγιέζ', - 'Μαρμαράς', - 'Μελισσοκόμος', - 'Μεσίτης Ναυτιλιακών Συμβάσεων', - 'Μεταφραστής', - 'Μετεωρολόγος', - 'Μηχανικός Αεροσκαφών', - 'Μηχανικός Αυτοκινήτων', - 'Μηχανικός Διαχείρισης Ενεργειακών Πόρων', - 'Μηχανικός Εμπορικού Ναυτικού', - 'Μηχανικός Επιστήμης και Τεχνολογίας των Υλικών', - 'Μηχανικός Η/Υ, Τηλεπικοινωνιών και Δικτύων', - 'Μηχανικός Μεταλλείων', - 'Μηχανικός Ορυκτών Πόρων', - 'Μηχανικός Παραγωγής και Διοίκησης', - 'Μηχανικός Περιβάλλοντος', - 'Μηχανικός Πληροφοριακών και Επικοινωνιακών Συστημάτων', - 'Μηχανικός Πλοίων', - 'Μηχανικός Πολεμικής Αεροπορίας', - 'Μηχανικός Πολεμικού Ναυτικού', - 'Μηχανικός Τηλεπικοινωνιών', - 'Μηχανικός Χωροταξίας και Περιφερειακής Ανάπτυξης', - 'Μηχανοδηγός Τρένου', - 'Μηχανολόγος Μηχανικός', - 'Μηχανολόγος Μηχανικός Βιομηχανίας', - 'Μηχανολόγος Μηχανικός Συστημάτων Αυτόματου Ελέγχου και Ρομποτικής', - 'Μηχανοσυνθέτης Αεροσκαφών', - 'Μικροβιολόγος', - 'Μουσειολόγος Μουσειογράφος και Σχεδιαστής Εκθέσεων', - 'Μουσικολόγος', - 'Μουσικός', - 'Μουσικός Ενορχηστρωτής', - 'Μουσικός Επιμελητής', - 'Μόνιμος Υπαξιωματικός Αεροπορίας', - 'Μόνιμος Υπαξιωματικός Ναυτικού', - 'Μόνιμος Υπαξιωματικός Στρατού Ξηράς', - 'Νανοτεχνολόγος', - 'Ναυαγοσώστης', - 'Ναυπηγός Μηχανικός', - 'Ναύτης', - 'Νηπιαγωγός', - 'Νοσοκόμα Παίδων', - 'Νοσοκόμος-Νοσηλευτής', - 'Ντετέκτιβ', - 'Ξεναγός', - 'Ξενοδοχοϋπάλληλος', - 'Ξυλουργός', - 'Οδηγός Αυτοκινήτου Αγώνων', - 'Οδηγός Οχημάτων Δημοσίας Χρήσης', - 'Οδηγός ΤΑΞΙ', - 'Οδοντίατρος', - 'Οδοντοτεχνίτης', - 'Οικονομολόγος', - 'Οινολόγος', - 'Οπτικός', - 'Οργανοποιός', - 'Οργανωτής Συνεδρίων, Εκθέσεων και Εκδηλώσεων', - 'Οργανωτικός Συντονιστής Παραγωγής - Παραγωγός', - 'Οφθαλμίατρος', - 'Παιδίατρος', - 'Παραγωγός Κινηματογράφου και Τηλεόρασης', - 'Παραγωγός Προϊόντων Αλευρόμυλων, Παραγωγή Αμύλων και Προϊόντων Αμύλου', - 'Παραγωγός Ραδιοφωνικών Εκπομπών', - 'Πατωματζής (Επαγγέλματα Οικοδομής)', - 'Περιβαλλοντολόγος', - 'Πιλοποιός', - 'Πιλότος', - 'Πλέκτης', - 'Πλακάς', - 'Πλανόδιος Πωλητής', - 'Πλοίαρχος', - 'Πλοηγός Σκαφών Αναψυχής', - 'Πολιτικός Επιστήμονας', - 'Πολιτικός Μηχανικός', - 'Πολιτικός Συντάκτης', - 'Προγραμματιστής Συστημάτων και Εφαρμογών Η/Υ', - 'Προπονητής Αθλήματος', - 'Προπονητής Αντισφαίρισης', - 'Προπονητής Γυμναστικής με Βάρη', - 'Προπονητής Ελεύθερης Γυμναστικής', - 'Προπονητής Καλαθοσφαίρισης', - 'Προπονητής Κλασικού Αθλητισμού', - 'Προπονητής Κολύμβησης', - 'Προπονητής Πετοσφαίρισης', - 'Προπονητής Ποδοσφαίρου', - 'Πυροσβέστης', - 'Πωλητής', - 'Πωλητής Οικολογικών Τροφίμων και άλλων Ειδών', - 'Ράφτης', - 'Ρεσεψιονίστ Ξενοδοχείου', - 'Στέλεχος Υποδοχής Ξενοδοχείου', - 'Σεισμολόγος', - 'Σεναριογράφος', - 'Σερβιτόρος', - 'Σερβιτόρος Ποτών - Μπάρμαν', - 'Σιδεράς - Σιδηρουργός', - 'Σιδερωτής', - 'Σκηνογράφος', - 'Σκηνοθέτης Τηλεόρασης', - 'Σοβατζής', - 'Στέλεχος Marketing', - 'Στέλεχος Διεθνούς Εμπορίου', - 'Στέλεχος Εκδοτικών Επιχειρήσεων', - 'Στέλεχος Κοστολόγησης στη Βιομηχανία - Βιοτεχνία', - 'Στέλεχος Μικρομεσαίων Επιχειρήσεων', - 'Στέλεχος Τουρισμού', - 'Στέλεχος Τραπεζικών Εργασιών', - 'Στέλεχος Υπηρεσιών Ασφαλείας', - 'Στέλεχος Υπηρεσιών Εφοδιαστικής Αλυσίδας', - 'Στέλεχος Χρηματιστηριακών Εργασιών', - 'Στατιστικολόγος', - 'Στρατιωτικός Ψυχολόγος', - 'Στυλίστας', - 'Συμβολαιογράφος', - 'Συνοδός Εδάφους', - 'Συντηρητής Αρχαιοτήτων και Έργων Τέχνης', - 'Τεχνικός Συντήρησης Έργων Τέχνης', - 'Σφουγγαράς', - 'Σχεδιαστής Επίπλου', - 'Σχεδιαστής Κινουμένων Σχεδίων', - 'Σχεδιαστής Μέσω Συστημάτων Η/Υ', - 'Σχεδιαστής Πολυμέσων - Ειδικός Πολυμέσων', - 'Σχεδιαστής Υποδημάτων', - 'Σχολικός Σύμβουλος', - 'Σύμβουλος Επιχειρήσεων', - 'Σύμβουλος Σχολικού και Επαγγελματικού Προσανατολισμού', - 'Ταμίας', - 'Ταξιδιωτικός Συνοδός και Συνοδός δρυμών', - 'Τουριστικός Συνοδός', - 'Ταπετσέρης', - 'Ταπητουργός', - 'Ταχυδρόμος', - 'Χειριστής Τηλεφωνικού Κέντρου', - 'Τεχνίτης Αδαμαντοκοπής Μαρμάρων', - 'Τεχνίτης Αλιείας - Ιχθυοπαραγωγής - Τεχνολόγος Υδατοκαλλιεργητής', - 'Τεχνίτης Δερμάτινων Ειδών', - 'Τεχνίτης Φαρμάκων - Καλλυντικών - Τεχνικός Φαρμάκων Καλλυντικών και Παρεμφερών Προϊόντων', - 'Τεχνίτης Ψάθας - Καλαθοποιίας', - 'Τεχνίτης Ψηφιδωτών', - 'Τεχνικός - Ειδικός Εφαρμογών Πληροφορικής', - 'Τεχνικός Αερίων Καυσίμων', - 'Τεχνικός Αεροσκαφών - Ειδικός Μηχανοσύνθετων Αεροσκαφών', - 'Τεχνικός Αμπελουργίας - Οινοτεχνίας', - 'Τεχνικός Ανελκυστήρων', - 'Τεχνικός Αρδεύσεων', - 'Τεχνικός Αρτοποιίας - Ζαχαροπλαστικής', - 'Τεχνικός Ασφαλείας Δικτύων Η/Υ - Τεχνικός Δικτύων Υπολογιστών', - 'Τεχνικός Αυτοκινήτων Οχημάτων', - 'Τεχνικός Αυτοματισμών', - 'Τεχνικός Διαχείρισης Συστημάτων και Παροχής Υπηρεσιών Intranet - Internet', - 'Τεχνικός Διαχείρισης και Ανακύκλωσης Αποβλήτων', - 'Τεχνικός Δομικών Έργων', - 'Τεχνικός Ελέγχου Βιομηχανικού και Εργασιακού Περιβάλλοντος', - 'Τεχνικός Ελέγχου Ρύπανσης και Εγκαταστάσεων Αντιρρύπανσης', - 'Τεχνικός Ελέγχου Υλικών', - 'Τεχνικός Επεξεργασίας Γάλακτος', - 'Τεχνικός Εργαλειομηχανών', - 'Τεχνικός Εφαρμογών Ιατρικής Πληροφορικής', - 'Τεχνικός Εφαρμογών Πληροφορικής', - 'Τεχνικός Εφαρμογών Πληροφορικής, Δικτύων και Αυτοματισμού Γραφείου', - 'Τεχνικός Θέρμανσης και Υδραυλικών Εγκαταστάσεων', - 'Τεχνικός Κοσμήματος Παραγωγής', - 'Τεχνικός Μηχανών Θαλάσσης και Αναψυχής', - 'Τεχνικός Οργάνων Μετρήσεων', - 'Τεχνικός Ποτοποιίας - Αποσταγματοποιίας', - 'Τεχνικός Υπαξιωματικός Αεροπορίας', - 'Τεχνικός Ψηφιακής Φωτογραφίας και CD-ROM', - 'Τεχνολόγος - Δασοπόνος Διαχείρισης Φυσικών Πόρων', - 'Τεχνολόγος Ακτινολογίας Ακτινοθεραπείας', - 'Τεχνολόγος Αντιρρύπανσης', - 'Τεχνολόγος Βιομηχανικού Σχεδιασμού', - 'Τεχνολόγος Ενεργειακής Τεχνικής', - 'Τεχνολόγος Ιατρικών Οργάνων', - 'Τεχνολόγος Ιχθυοκαλλιέργειας', - 'Τεχνολόγος Ορυχείων', - 'Τεχνολόγος Πετρελαίου', - 'Τεχνολόγος Τηλεϊατρικής', - 'Τεχνολόγος Τροφίμων', - 'Τεχνολόγος Φυτικής Παραγωγής', - 'Τζακάς', - 'Τζαμάς', - 'Τηλεπαρουσιαστής', - 'Τηλεφωνητής', - 'Τουριστικός Πράκτορας', - 'Τραγουδιστής', - 'Τυπογράφος', - 'Υαλουργός', - 'Υδραυλικός', - 'Υλοτόμος', - 'Υπάλληλος Εξυπηρέτησης Πελατών', - 'Υπάλληλος Τουριστικού Γραφείου – Ειδικός Τουριστικού Πρακτορείου', - 'Υπάλληλος Τράπεζας', - 'Υπαξιωματικός Ενόπλων Δυνάμεων', - 'Υπεύθυνος Ανθρώπινου Δυναμικού', - 'Υπεύθυνος Γραφείου Τύπου', - 'Υπεύθυνος Δημοσίων Σχέσεων', - 'Υπεύθυνος Προμηθειών και Διαχείρισης Αποθήκης', - 'Φαρμακοποιός', - 'Φιλόλογος', - 'Φοντοποιός', - 'Φυσικός', - 'Φυσιοθεραπευτής', - 'Φωτογράφος - Τεχνικός Λήψης Φωτογραφίας - Έγχρωμη Φωτογραφία', - 'Φωτομοντέλο - Μανεκέν', - 'Φύλακας Ασφαλείας', - 'Φύλακας Μουσείων και Αρχαιολογικών Χώρων', - 'Χαράκτης', - 'Χειριστές Βαρέων Μηχανημάτων και Αγροτικών Μηχανημάτων', - 'Χειριστής Μηχανημάτων Κοπής Ξύλου', - 'Χειρούργος', - 'Χημικός', - 'Χημικός Μηχανικός', - 'Χορευτής', - 'Χορογράφος', - 'Χρηματιστής', - 'Χρηματοοικονομικός Σύμβουλος', - 'Χτίστης', - 'Ψαράς', - 'Ψυκτικός - Τεχνικός Εγκαταστάσεων Ψύξης Αερισμού και Κλιματισμού', - 'Ψυχίατρος', - 'Ψυχολόγος', - 'Ωκεανογράφος', - 'Ωρολογοποιός', + "Αγγειοπλάστης", + "Αγιογράφος Βυζαντινών Εικόνων και Τοιχογραφιών", + "Αγρονόμος Τοπογράφος Μηχανικός", + "Αγρότης Καλλιεργητής", + "Αεροναυπηγός Μηχανικός", + "Αεροσυνοδός", + "Αθλητικός Δημοσιογράφος – Ρεπόρτερ", + "Αισθητικός - Ειδικός Εφαρμογών Αισθητικής", + "Αισθητικός Αρωματοθεραπείας", + "Αισθητικός Επαγγελματικού Μακιγιάζ Θεάτρου και Σκηνής", + "Αισθητικός Ποδολογίας και Καλλωπισμού Νυχιών", + "Τεχνίτης Περιποίησης Νυχιών", + "Ακροβάτης", + "Ακτινοδιαγνώστης", + "Αλουμινάς", + "Αναισθησιολόγος", + "Αναλογιστής", + "Ανθοκόμος", + "Αξιωματικός Μηχανικός Ναυσιπλοΐας", + "Αξιωματικός Νοσηλευτικής", + "Αξιωματικός Πολεμικής Αεροπορίας", + "Αξιωματικός Στρατού Ξηράς", + "Αξιωματικός Σωμάτων Ενόπλων Δυνάμεων", + "Αξιωματικός Φαρμακοποιός", + "Αργυροχρυσοχόος", + "Αρτοποιός", + "Αρχαιολόγος", + "Αρχειοθέτης", + "Αρχιμάγειρας", + "Αρχισυντάκτης", + "Αρχιτέκτονας", + "Αστυνομικός", + "Ασφαλιστής", + "Βιβλιοδέτης", + "Βιβλιοθηκονόμος", + "Βιολόγος", + "Βιοπληροφορικός", + "Βοηθός Αναισθησιολόγου", + "Βοηθός Αρτοποιίας – Ζαχαροπλαστικής", + "Βοηθός Ιατρικών και Βιολογικών Εργαστηρίων, Βιοχημικού και Μικροβιολογικού Εργαστηρίου", + "Βοηθός Ιατρικών και Βιολογικών Εργαστηρίων, Αιματολογικού Εργαστηρίου", + "Βοηθός Κομμωτή", + "Βοηθός Λογιστή", + "Βοηθός Μαγειρικής Τέχνης", + "Βοηθός Νοσηλευτή Μονάδας Εντατικής Θεραπείας", + "Βοηθός Νοσηλευτή Τραυματολογίας", + "Βοηθός Νοσηλευτή Χειρουργείου", + "Βοηθός Οδοντιάτρου", + "Βοηθός Φαρμακοποιού", + "Βοηθός Φυσικοθεραπευτή σε Ιαματικές Πηγές και Λουτρά", + "Βοηθός Φυσικοθεραπευτή - Υπάλληλος Εργαστηρίου Φυσικοθεραπείας", + "Βοτανολόγος", + "Βρεφοκόμος", + "Γεωγράφος", + "Γεωλόγος", + "Γεωπόνος Φυτικής Παραγωγής", + "Γεωργός Βιολογικής Γεωργίας", + "Γεωτεχνολόγος", + "Γεωτρυπανιστής", + "Γεωφυσικός", + "Γλωσσολόγος", + "Γλύπτης", + "Γουνοποιός", + "Γραμματέας", + "Γραμματέας Νομικών Επαγγελμάτων", + "Γραφίστας", + "Γραφολόγος", + "Δάσκαλος", + "Δασολόγος", + "Δασοφύλακας - Ειδικός Δασικής Προστασίας", + "Δημοσιογράφος Συντάκτης - Ρεπόρτερ Δημοσιογραφίας", + "Διαδικτυακός Διαφημιστής", + "Διαιτητής Αθλήματος", + "Διαιτολόγος - Ειδικός Εφαρμογών Διαιτητικής", + "Διακοσμητής - Τεχνικός Διακόσμησης", + "Διαφημιστής", + "Διαχειριστής Logistics", + "Διαχειριστής Τεχνολογίας Internet", + "Διερμηνέας", + "Διευθυντής Eπιχειρήσεων", + "Διευθύνων Επιχειρηματίας", + "Δικαστής", + "Δικαστικός Επιμελητής", + "Δικηγόρος", + "Διοικητικό Στέλεχος Αθλητισμού", + "Διοικητικό και Οικονομικό Στέλεχος Επιχειρήσεων", + "Διοικητικός Υπάλληλος", + "Διπλωμάτης", + "Εγκληματολόγος", + "Εθνολόγος - Λαογράφος", + "Ειδικός 3D Animation", + "Ειδικός Αεροπορικών Εταιριών", + "Ειδικός Αργυροχρυσοχοΐας", + "Ειδικός Ασφαλιστικών Εργασιών", + "Ειδικός Γεωγραφικών Πληροφοριακών Συστημάτων", + "Ειδικός Διοίκησης Πολιτισμικών Μονάδων", + "Ειδικός Εκπαίδευσης Ενηλίκων", + "Ειδικός Εμπορίας, Διαφήμισης και Προώθησης Προϊόντων", + "Ειδικός Εμπορικών Επιχειρήσεων", + "Ειδικός Ενδυματολογίας και Σχεδίασης Μόδας", + "Ειδικός Επιστήμων Θάλασσας", + "Ειδικός Ηλεκτρονικής Σχεδίασης Εντύπου", + "Ειδικός Ιατρικών Συσκευών Ακτινοθεραπείας", + "Ειδικός Ιατρικών Συσκευών Απεικονίσεων", + "Ειδικός Ιατρικών και Βιολογικών Εργαστηρίων Αιματολογικού Εργαστηρίου", + "Ειδικός Κινηματογράφου", + "Ειδικός Μάρκετινγκ", + "Ειδικός Μουσικής με Τεχνολογία Η/Υ", + "Ειδικός Ναυτιλιακής Κατεύθυνσης", + "Ειδικός Νοσηλευτικής Ατόμων με Ψυχικές Παθήσεις", + "Ειδικός Νοσηλευτικής Μονάδων Εντατικής Θεραπείας", + "Ειδικός Νοσηλευτικής Ογκολογικών Παθήσεων", + "Ειδικός Νοσηλευτικής Τραυματολογίας", + "Ειδικός Ξενοδοχειακής Ψυχαγωγίας", + "Ειδικός Ξενοδοχειακών Υπηρεσιών και Τροφοδοσίας", + "Ειδικός Οδοντοτεχνικής Ορθοδοντικής", + "Ειδικός Οδοντοτεχνικής Πορσελάνης", + "Ειδικός Οπτικών και Ηχητικών Εφέ", + "Ειδικός Παθολόγος Λόγου και Ομιλίας", + "Ειδικός Πληροφοριακών Συστημάτων με Πολυμέσα", + "Ειδικός Προσχολικής Αγωγής Δραστηριοτήτων Δημιουργίας και Έκφρασης", + "Ειδικός Προσχολικής Αγωγής Ημερήσιας Φροντίδας Παιδιών με Ειδικές Ανάγκες", + "Ειδικός Πρόληψης και Θεραπείας Εξαρτημένων Ατόμων", + "Ειδικός Πωλήσεων", + "Ειδικός Στατιστικής Έρευνας Αγοράς και Δημοσκοπήσεων – Στέλεχος Στατιστικής Δημοσκόπησης", + "Ειδικός Συναρμολόγησης Εικόνας (Μοντέρ) - Ηλεκτρονική Επεξεργασία Εικόνας", + "Ειδικός Σχεδίασης Διαδραστικών και Βιομηχανικών Προϊόντων και Συστημάτων", + "Ειδικός Σχεδίου και Μάρκετινγκ Μόδας", + "Ειδικός Σχεδιασμού Αστικής και Περιφερειακής Ανάπτυξης", + "Ειδικός Σχεδιασμού Επίπλου", + "Ειδικός Τροφοδοσίας-Σίτισης", + "Υδροθεραπευτής - Λουτροθεραπευτής", + "Ειδικός Φοροτεχνικού Γραφείου", + "Ειδικός Φρουρός", + "Ειδικός Ψηφιακών Μορφών Τέχνης", + "Εικονογράφος - Σκιτσογράφος", + "Εικονολήπτης", + "Εισαγγελέας", + "Εκδότης Βιβλίων", + "Εκκλησιαστική και Πολιτιστική Κατάρτιση", + "Εκπαιδευτής Ζώων", + "Εκπαιδευτής Υποψήφιων Οδηγών Αυτοκινήτων και Μοτοσικλετών", + "Εκπαιδευτικός Ειδικής Αγωγής", + "Εκτελωνιστής και Πράκτορας Μεταφορών", + "Εκτιμητής Έργων Τέχνης", + "Εκτιμητής και Εκπλειστηριαστής", + "Εκφωνητής", + "Ελαιοχρωματιστής", + "Ελεγκτής Εναέριας Κυκλοφορίας", + "Ελεγκτής Ολικής Ποιότητας", + "Ενδυματολόγος", + "Επαγγελματίας Αθλητής", + "Επαγγελματίας Δύτης", + "Επαγγελματικό Μακιγιάζ", + "Επιθεωρητής κτιρίων και πυρασφάλειας", + "Επικοινωνιολόγος", + "Επιμελητής Πτήσεων", + "Επιπλοποιός", + "Επισκέπτης Υγείας", + "Επισκευαστής Λαμαρινών Αυτοκινήτων-Οχημάτων", + "Επισκευαστής Πλαστικών Σκαφών", + "Επιστήμων Πληροφορικής και Η/Υ", + "Επόπτης Δημόσιας Υγείας", + "Εργοθεραπευτής", + "Ζαχαροπλάστης", + "Ζωγράφος", + "Ζωολόγος", + "Ηθοποιός", + "Ηλεκτρολόγος", + "Ηλεκτρολόγος Μηχανικός και Μηχανικός Η/Υ", + "Ηλεκτρονικός", + "Ηχολήπτης", + "Θεατρολόγος", + "Θεολόγος-Ιεροκήρυκας", + "Ιατρικός Επισκέπτης", + "Ιατροδικαστής", + "Ιατρός", + "Ιερέας", + "Ιεροψάλτης", + "Ιστορικός", + "Ιστορικός Τέχνης", + "Ιχθυοκαλλιεργητής", + "Ιχθυοπαθολόγος", + "Καθηγητής Γυμναστικής", + "Καθηγητής Δευτεροβάθμιας Εκπαίδευσης", + "Καθηγητής Πρωτοβάθμιας Εκπαίδευσης", + "Καθηγητής Τριτοβάθμιας Εκπαίδευσης", + "Καλλιτέχνης", + "Καμαριέρης - Καμαριέρα", + "Κασκαντέρ", + "Κατασκευαστής Ειδών Ενδυμασίας", + "Κατασκευαστής Υποδημάτων", + "Κεραμίστας", + "Κηπουρός - Ανθοκηπουρός - Κηποτεχνικός", + "Κλειδαράς", + "Κλιματολόγος", + "Κλωστοϋφαντουργός", + "Κλόουν - Γελοτοποιός", + "Κοινωνικός Ανθρωπολόγος", + "Κοινωνικός Λειτουργός", + "Κοινωνιολόγος", + "Κομμωτής – Τεχνικός Περιποίησης Κόμης", + "Κορνιζοποιός", + "Κοσμετολόγος", + "Κρεοπώλης", + "Κριτικός Τέχνης", + "Κτηματομεσίτης", + "Μεσίτης Αστικών Συμβάσεων", + "Διαχειριστής Ακίνητης Περιουσίας", + "Κτηνίατρος", + "Κτηνοτρόφος", + "Κόπτης Ενδυμάτων", + "Κόφτης Υποδημάτων", + "Λατόμος", + "Λιθογράφος Ψηφιακής Τεχνολογίας", + "Λιμενεργάτης", + "Λιμενικός", + "Λογιστής - Ειδικός Μηχανογραφημένου Λογιστηρίου", + "Λογοθεραπευτής", + "Λογοτέχνης", + "Μαθηματικός", + "Μαιευτής – Μαία", + "Μακιγιέρ/Μακιγιέζ", + "Μαρμαράς", + "Μελισσοκόμος", + "Μεσίτης Ναυτιλιακών Συμβάσεων", + "Μεταφραστής", + "Μετεωρολόγος", + "Μηχανικός Αεροσκαφών", + "Μηχανικός Αυτοκινήτων", + "Μηχανικός Διαχείρισης Ενεργειακών Πόρων", + "Μηχανικός Εμπορικού Ναυτικού", + "Μηχανικός Επιστήμης και Τεχνολογίας των Υλικών", + "Μηχανικός Η/Υ, Τηλεπικοινωνιών και Δικτύων", + "Μηχανικός Μεταλλείων", + "Μηχανικός Ορυκτών Πόρων", + "Μηχανικός Παραγωγής και Διοίκησης", + "Μηχανικός Περιβάλλοντος", + "Μηχανικός Πληροφοριακών και Επικοινωνιακών Συστημάτων", + "Μηχανικός Πλοίων", + "Μηχανικός Πολεμικής Αεροπορίας", + "Μηχανικός Πολεμικού Ναυτικού", + "Μηχανικός Τηλεπικοινωνιών", + "Μηχανικός Χωροταξίας και Περιφερειακής Ανάπτυξης", + "Μηχανοδηγός Τρένου", + "Μηχανολόγος Μηχανικός", + "Μηχανολόγος Μηχανικός Βιομηχανίας", + "Μηχανολόγος Μηχανικός Συστημάτων Αυτόματου Ελέγχου και Ρομποτικής", + "Μηχανοσυνθέτης Αεροσκαφών", + "Μικροβιολόγος", + "Μουσειολόγος Μουσειογράφος και Σχεδιαστής Εκθέσεων", + "Μουσικολόγος", + "Μουσικός", + "Μουσικός Ενορχηστρωτής", + "Μουσικός Επιμελητής", + "Μόνιμος Υπαξιωματικός Αεροπορίας", + "Μόνιμος Υπαξιωματικός Ναυτικού", + "Μόνιμος Υπαξιωματικός Στρατού Ξηράς", + "Νανοτεχνολόγος", + "Ναυαγοσώστης", + "Ναυπηγός Μηχανικός", + "Ναύτης", + "Νηπιαγωγός", + "Νοσοκόμα Παίδων", + "Νοσοκόμος-Νοσηλευτής", + "Ντετέκτιβ", + "Ξεναγός", + "Ξενοδοχοϋπάλληλος", + "Ξυλουργός", + "Οδηγός Αυτοκινήτου Αγώνων", + "Οδηγός Οχημάτων Δημοσίας Χρήσης", + "Οδηγός ΤΑΞΙ", + "Οδοντίατρος", + "Οδοντοτεχνίτης", + "Οικονομολόγος", + "Οινολόγος", + "Οπτικός", + "Οργανοποιός", + "Οργανωτής Συνεδρίων, Εκθέσεων και Εκδηλώσεων", + "Οργανωτικός Συντονιστής Παραγωγής - Παραγωγός", + "Οφθαλμίατρος", + "Παιδίατρος", + "Παραγωγός Κινηματογράφου και Τηλεόρασης", + "Παραγωγός Προϊόντων Αλευρόμυλων, Παραγωγή Αμύλων και Προϊόντων Αμύλου", + "Παραγωγός Ραδιοφωνικών Εκπομπών", + "Πατωματζής (Επαγγέλματα Οικοδομής)", + "Περιβαλλοντολόγος", + "Πιλοποιός", + "Πιλότος", + "Πλέκτης", + "Πλακάς", + "Πλανόδιος Πωλητής", + "Πλοίαρχος", + "Πλοηγός Σκαφών Αναψυχής", + "Πολιτικός Επιστήμονας", + "Πολιτικός Μηχανικός", + "Πολιτικός Συντάκτης", + "Προγραμματιστής Συστημάτων και Εφαρμογών Η/Υ", + "Προπονητής Αθλήματος", + "Προπονητής Αντισφαίρισης", + "Προπονητής Γυμναστικής με Βάρη", + "Προπονητής Ελεύθερης Γυμναστικής", + "Προπονητής Καλαθοσφαίρισης", + "Προπονητής Κλασικού Αθλητισμού", + "Προπονητής Κολύμβησης", + "Προπονητής Πετοσφαίρισης", + "Προπονητής Ποδοσφαίρου", + "Πυροσβέστης", + "Πωλητής", + "Πωλητής Οικολογικών Τροφίμων και άλλων Ειδών", + "Ράφτης", + "Ρεσεψιονίστ Ξενοδοχείου", + "Στέλεχος Υποδοχής Ξενοδοχείου", + "Σεισμολόγος", + "Σεναριογράφος", + "Σερβιτόρος", + "Σερβιτόρος Ποτών - Μπάρμαν", + "Σιδεράς - Σιδηρουργός", + "Σιδερωτής", + "Σκηνογράφος", + "Σκηνοθέτης Τηλεόρασης", + "Σοβατζής", + "Στέλεχος Marketing", + "Στέλεχος Διεθνούς Εμπορίου", + "Στέλεχος Εκδοτικών Επιχειρήσεων", + "Στέλεχος Κοστολόγησης στη Βιομηχανία - Βιοτεχνία", + "Στέλεχος Μικρομεσαίων Επιχειρήσεων", + "Στέλεχος Τουρισμού", + "Στέλεχος Τραπεζικών Εργασιών", + "Στέλεχος Υπηρεσιών Ασφαλείας", + "Στέλεχος Υπηρεσιών Εφοδιαστικής Αλυσίδας", + "Στέλεχος Χρηματιστηριακών Εργασιών", + "Στατιστικολόγος", + "Στρατιωτικός Ψυχολόγος", + "Στυλίστας", + "Συμβολαιογράφος", + "Συνοδός Εδάφους", + "Συντηρητής Αρχαιοτήτων και Έργων Τέχνης", + "Τεχνικός Συντήρησης Έργων Τέχνης", + "Σφουγγαράς", + "Σχεδιαστής Επίπλου", + "Σχεδιαστής Κινουμένων Σχεδίων", + "Σχεδιαστής Μέσω Συστημάτων Η/Υ", + "Σχεδιαστής Πολυμέσων - Ειδικός Πολυμέσων", + "Σχεδιαστής Υποδημάτων", + "Σχολικός Σύμβουλος", + "Σύμβουλος Επιχειρήσεων", + "Σύμβουλος Σχολικού και Επαγγελματικού Προσανατολισμού", + "Ταμίας", + "Ταξιδιωτικός Συνοδός και Συνοδός δρυμών", + "Τουριστικός Συνοδός", + "Ταπετσέρης", + "Ταπητουργός", + "Ταχυδρόμος", + "Χειριστής Τηλεφωνικού Κέντρου", + "Τεχνίτης Αδαμαντοκοπής Μαρμάρων", + "Τεχνίτης Αλιείας - Ιχθυοπαραγωγής - Τεχνολόγος Υδατοκαλλιεργητής", + "Τεχνίτης Δερμάτινων Ειδών", + "Τεχνίτης Φαρμάκων - Καλλυντικών - Τεχνικός Φαρμάκων Καλλυντικών και Παρεμφερών Προϊόντων", + "Τεχνίτης Ψάθας - Καλαθοποιίας", + "Τεχνίτης Ψηφιδωτών", + "Τεχνικός - Ειδικός Εφαρμογών Πληροφορικής", + "Τεχνικός Αερίων Καυσίμων", + "Τεχνικός Αεροσκαφών - Ειδικός Μηχανοσύνθετων Αεροσκαφών", + "Τεχνικός Αμπελουργίας - Οινοτεχνίας", + "Τεχνικός Ανελκυστήρων", + "Τεχνικός Αρδεύσεων", + "Τεχνικός Αρτοποιίας - Ζαχαροπλαστικής", + "Τεχνικός Ασφαλείας Δικτύων Η/Υ - Τεχνικός Δικτύων Υπολογιστών", + "Τεχνικός Αυτοκινήτων Οχημάτων", + "Τεχνικός Αυτοματισμών", + "Τεχνικός Διαχείρισης Συστημάτων και Παροχής Υπηρεσιών Intranet - Internet", + "Τεχνικός Διαχείρισης και Ανακύκλωσης Αποβλήτων", + "Τεχνικός Δομικών Έργων", + "Τεχνικός Ελέγχου Βιομηχανικού και Εργασιακού Περιβάλλοντος", + "Τεχνικός Ελέγχου Ρύπανσης και Εγκαταστάσεων Αντιρρύπανσης", + "Τεχνικός Ελέγχου Υλικών", + "Τεχνικός Επεξεργασίας Γάλακτος", + "Τεχνικός Εργαλειομηχανών", + "Τεχνικός Εφαρμογών Ιατρικής Πληροφορικής", + "Τεχνικός Εφαρμογών Πληροφορικής", + "Τεχνικός Εφαρμογών Πληροφορικής, Δικτύων και Αυτοματισμού Γραφείου", + "Τεχνικός Θέρμανσης και Υδραυλικών Εγκαταστάσεων", + "Τεχνικός Κοσμήματος Παραγωγής", + "Τεχνικός Μηχανών Θαλάσσης και Αναψυχής", + "Τεχνικός Οργάνων Μετρήσεων", + "Τεχνικός Ποτοποιίας - Αποσταγματοποιίας", + "Τεχνικός Υπαξιωματικός Αεροπορίας", + "Τεχνικός Ψηφιακής Φωτογραφίας και CD-ROM", + "Τεχνολόγος - Δασοπόνος Διαχείρισης Φυσικών Πόρων", + "Τεχνολόγος Ακτινολογίας Ακτινοθεραπείας", + "Τεχνολόγος Αντιρρύπανσης", + "Τεχνολόγος Βιομηχανικού Σχεδιασμού", + "Τεχνολόγος Ενεργειακής Τεχνικής", + "Τεχνολόγος Ιατρικών Οργάνων", + "Τεχνολόγος Ιχθυοκαλλιέργειας", + "Τεχνολόγος Ορυχείων", + "Τεχνολόγος Πετρελαίου", + "Τεχνολόγος Τηλεϊατρικής", + "Τεχνολόγος Τροφίμων", + "Τεχνολόγος Φυτικής Παραγωγής", + "Τζακάς", + "Τζαμάς", + "Τηλεπαρουσιαστής", + "Τηλεφωνητής", + "Τουριστικός Πράκτορας", + "Τραγουδιστής", + "Τυπογράφος", + "Υαλουργός", + "Υδραυλικός", + "Υλοτόμος", + "Υπάλληλος Εξυπηρέτησης Πελατών", + "Υπάλληλος Τουριστικού Γραφείου – Ειδικός Τουριστικού Πρακτορείου", + "Υπάλληλος Τράπεζας", + "Υπαξιωματικός Ενόπλων Δυνάμεων", + "Υπεύθυνος Ανθρώπινου Δυναμικού", + "Υπεύθυνος Γραφείου Τύπου", + "Υπεύθυνος Δημοσίων Σχέσεων", + "Υπεύθυνος Προμηθειών και Διαχείρισης Αποθήκης", + "Φαρμακοποιός", + "Φιλόλογος", + "Φοντοποιός", + "Φυσικός", + "Φυσιοθεραπευτής", + "Φωτογράφος - Τεχνικός Λήψης Φωτογραφίας - Έγχρωμη Φωτογραφία", + "Φωτομοντέλο - Μανεκέν", + "Φύλακας Ασφαλείας", + "Φύλακας Μουσείων και Αρχαιολογικών Χώρων", + "Χαράκτης", + "Χειριστές Βαρέων Μηχανημάτων και Αγροτικών Μηχανημάτων", + "Χειριστής Μηχανημάτων Κοπής Ξύλου", + "Χειρούργος", + "Χημικός", + "Χημικός Μηχανικός", + "Χορευτής", + "Χορογράφος", + "Χρηματιστής", + "Χρηματοοικονομικός Σύμβουλος", + "Χτίστης", + "Ψαράς", + "Ψυκτικός - Τεχνικός Εγκαταστάσεων Ψύξης Αερισμού και Κλιματισμού", + "Ψυχίατρος", + "Ψυχολόγος", + "Ωκεανογράφος", + "Ωρολογοποιός", ] diff --git a/faker/providers/job/fi_FI/__init__.py b/faker/providers/job/fi_FI/__init__.py index a103831a70..afa65f07d4 100644 --- a/faker/providers/job/fi_FI/__init__.py +++ b/faker/providers/job/fi_FI/__init__.py @@ -4,197 +4,199 @@ class Provider(BaseProvider): # jobs parsed from a list provided by State Treasury: # http://www.valtiokonttori.fi/download/noname/%7BF69EA5BD-C919-49FE-8D51-91434E4B030D%7D/82158 - jobs = ["Agrologi", - "Aikuiskoulutusjohtaja", - "Aineenopettaja", - "Ajojärjestelijä", - "Akatemian tutkijatohtori", - "Aktuaari", - "Alakoulujen apulaisrehtori", - "Alikersantti", - "Alkoholiasiain ylitarkastaja", - "Back office asiantuntija", - "Ballistikko", - "Bioanalyytikko", - "Brand manager", - "Budjettiassistentti", - "Business controller", - "Cc-yritysneuvoja", - "Cert-fi -yksikön päällikkö", - "Communication officer", - "Consul", - "Counsellor", - "Data-analyytikko", - "Dekaanin sihteeri", - "Dieettikeittäjä", - "Digitaalisen kokeen toteuttaja", - "Diplomi-insinööri", - "Dokumentoija", - "Dosentti", - "Eakr-koordinaattori", - "Editoija", - "Edunvalvontasihteeri", - "Egr-ohjaaja", - "Ekokampuskoordinaattori", - "Elektroniikka-asentaja", - "Elinkeinopäällikkö", - "Elokuvakonemestari", - "Elputeknikko", - "Eläinlääkintöneuvos", - "Faktori", - "Farmakologi", - "Fidipro-professori", - "Filmiteknikko", - "Financial controller", - "Floristi", - "Fysioterapeutti", - "Fyysikko", - "Gemmologi", - "Gentax-järjestelmäasiantuntija", - "Geofyysikko", - "Gis-asiantuntija", - "Gm huto pääkäyttäjä", - "Graafikko", - "Haastattelija", - "Hakukoordinaattori", - "Hallimestari", - "Hammashoitaja", - "Hankearkkitehti", - "Harjaantumisopetuksen erityisluokanopettaja", - "Havainnontarkastaja", - "Helikopterihuoltoaliupseeri", - "Henkikirjoittaja", - "Johtava kuluttajaoikeusneuvoja", - "Ict-arkkitehti", - "Ihmisoikeuskeskuksen johtaja", - "Iktyonomi", - "Ilma-aluksen päällikkö", - "Iltapäiväkerhon ohjaaja", - "Immunologi", - "Info-palvelupisteen hoitaja", - "Innoittaja", - "Jakeluvastaava", - "Jalkaväen tarkastaja", - "Jaoksen johtaja", - "Jatkokoulutettava eläinlääkäri", - "Jhs-projektipäällikkö", - "Johdon asiantuntija", - "Joukkoliikenneasiantuntija", - "Julkaisu- ja markkinointisuunnittelija", - "Junamies", - "Juontaja", - "Kaapeli-insinööri", - "Kabinettisihteeri", - "Kadettikoulun johtaja", - "Kahvila-apulainen", - "Kairaaja", - "Kalabiologi", - "Kampanjapäällikkö", - "Kanavanhoitaja", - "Kapellimestari", - "Karjamestari", - "Laadunvarmistuksen asiantuntija", - "Laboraattori", - "Laillisuusvalvontasihteeri", - "Laki- ja henkilöstöasiainjohtaja", - "Lapsiasiavaltuutettu", - "Laskennan kehittämispäällikkö", - "Lataamoinsinööri", - "Lautakuntasihteeri", - "Lavastaja", - "Maa- ja vesirakennustyöntekijä", - "Maisema-arkkitehti", - "Majakkateknikko", - "Maksatusasiantuntija", - "Malli", - "Mareografihoitaja", - "Mastoteknikko", - "Matemaatikko", - "Media- ja kulttuurikoordinaattori", - "Neuropsykologi", - "Nimikkeistöpäällikkö", - "Nosturinkuljettaja", - "Notaari", - "Nukutuslääkäri", - "Numerointisihteeri", - "Nuorempi konstaapeli", - "Näytearkistonhoitaja", - "Näönkäytön asiantuntija", - "Obduktiokoordinaattori", - "Observaattori", - "Offset-monistaja", - "Ohjaaja", - "Oikaisulautakunnan puheenjohtaja", - "Oleskelulupakäsittelijä", - "Omistajaohjausyksikön johtaja", - "Ompelija", - "Opas", - "Operaatiopäällikkö", - "Padonhoitaja", - "Paikallisjohtaja", - "Pakolaiskeskuksen johtaja", - "Palkanlaskentapäällikkö", - "Panostaja", - "Paperikonservaattori", - "Parturi-kampaaja", - "Passi- ja maahantulolupavirkailija/toimistovirkailija", - "Pataljoonan komentaja", - "Pedagogi", - "Radioasentaja", - "Rahakammion johtaja", - "Raideliikennejohtaja", - "Rajaeläinlääkäri", - "Rakennemuutosjohtaja", - "Raportoinnin asiantuntija", - "Ratainsinööri", - "Rauhanturvaaja", - "Ravintohaastattelija", - "Rehtori", - "Saamelaisarkistonhoitaja", - "Sadehavainnontekijä", - "Sairaala-apulainen", - "Saksan, englannin ja ruotsinkielen lehtori", - "Salkunhoitaja", - "Sanomakeskusaliupseeri", - "Satamapäällikkö", - "Seismologi", - "Sektorijohtaja", - "Selvittelijä", - "Taajuussuunnittelija", - "Taideamanuenssi", - "Tallentaja", - "Tanssija", - "Tapahtumakoordinaattori", - "Tarjoilija", - "Tasa-arvoneuvos", - "Tavaraliikennelupakäsittelijä", - "Team finland kasvu- ja kansainvälistymiskoordinaattori", - "Teemapäällikkö", - "Ulkoasiainneuvos", - "Ulosottojohtaja", - "Ultraäänihoitaja", - "Unix-asiantuntija", - "Upseeri", - "Urakonsultti", - "Urheiluohjaaja", - "Vaaitsija", - "Vac-yhdyshenkilö", - "Vahingonkorvausasiantuntija", - "Vaihteenhoitaja", - "Vakuustoimittaja", - "Valaistusmestari", - "Vammaisasiamies", - "Vanhempi tutkijainsinööri", - "Vapaa-ajan ohjaaja", - "Varadekaani", - "Www-asiantuntija", - "Yhdenvertaisuusvaltuutettu", - "Yhteinen tuntiopettaja", - "Yksikkösihteeri", - "Yleinen edunvalvoja", - "Yliaktuaari", - "Ylläpidon palvelupäällikkö", - "Yläasteen rehtori", - "Ympärintönsuojeluyksikön päällikkö", - "Yrittäjyysneuvoja", - "Yva-koordinaattori"] + jobs = [ + "Agrologi", + "Aikuiskoulutusjohtaja", + "Aineenopettaja", + "Ajojärjestelijä", + "Akatemian tutkijatohtori", + "Aktuaari", + "Alakoulujen apulaisrehtori", + "Alikersantti", + "Alkoholiasiain ylitarkastaja", + "Back office asiantuntija", + "Ballistikko", + "Bioanalyytikko", + "Brand manager", + "Budjettiassistentti", + "Business controller", + "Cc-yritysneuvoja", + "Cert-fi -yksikön päällikkö", + "Communication officer", + "Consul", + "Counsellor", + "Data-analyytikko", + "Dekaanin sihteeri", + "Dieettikeittäjä", + "Digitaalisen kokeen toteuttaja", + "Diplomi-insinööri", + "Dokumentoija", + "Dosentti", + "Eakr-koordinaattori", + "Editoija", + "Edunvalvontasihteeri", + "Egr-ohjaaja", + "Ekokampuskoordinaattori", + "Elektroniikka-asentaja", + "Elinkeinopäällikkö", + "Elokuvakonemestari", + "Elputeknikko", + "Eläinlääkintöneuvos", + "Faktori", + "Farmakologi", + "Fidipro-professori", + "Filmiteknikko", + "Financial controller", + "Floristi", + "Fysioterapeutti", + "Fyysikko", + "Gemmologi", + "Gentax-järjestelmäasiantuntija", + "Geofyysikko", + "Gis-asiantuntija", + "Gm huto pääkäyttäjä", + "Graafikko", + "Haastattelija", + "Hakukoordinaattori", + "Hallimestari", + "Hammashoitaja", + "Hankearkkitehti", + "Harjaantumisopetuksen erityisluokanopettaja", + "Havainnontarkastaja", + "Helikopterihuoltoaliupseeri", + "Henkikirjoittaja", + "Johtava kuluttajaoikeusneuvoja", + "Ict-arkkitehti", + "Ihmisoikeuskeskuksen johtaja", + "Iktyonomi", + "Ilma-aluksen päällikkö", + "Iltapäiväkerhon ohjaaja", + "Immunologi", + "Info-palvelupisteen hoitaja", + "Innoittaja", + "Jakeluvastaava", + "Jalkaväen tarkastaja", + "Jaoksen johtaja", + "Jatkokoulutettava eläinlääkäri", + "Jhs-projektipäällikkö", + "Johdon asiantuntija", + "Joukkoliikenneasiantuntija", + "Julkaisu- ja markkinointisuunnittelija", + "Junamies", + "Juontaja", + "Kaapeli-insinööri", + "Kabinettisihteeri", + "Kadettikoulun johtaja", + "Kahvila-apulainen", + "Kairaaja", + "Kalabiologi", + "Kampanjapäällikkö", + "Kanavanhoitaja", + "Kapellimestari", + "Karjamestari", + "Laadunvarmistuksen asiantuntija", + "Laboraattori", + "Laillisuusvalvontasihteeri", + "Laki- ja henkilöstöasiainjohtaja", + "Lapsiasiavaltuutettu", + "Laskennan kehittämispäällikkö", + "Lataamoinsinööri", + "Lautakuntasihteeri", + "Lavastaja", + "Maa- ja vesirakennustyöntekijä", + "Maisema-arkkitehti", + "Majakkateknikko", + "Maksatusasiantuntija", + "Malli", + "Mareografihoitaja", + "Mastoteknikko", + "Matemaatikko", + "Media- ja kulttuurikoordinaattori", + "Neuropsykologi", + "Nimikkeistöpäällikkö", + "Nosturinkuljettaja", + "Notaari", + "Nukutuslääkäri", + "Numerointisihteeri", + "Nuorempi konstaapeli", + "Näytearkistonhoitaja", + "Näönkäytön asiantuntija", + "Obduktiokoordinaattori", + "Observaattori", + "Offset-monistaja", + "Ohjaaja", + "Oikaisulautakunnan puheenjohtaja", + "Oleskelulupakäsittelijä", + "Omistajaohjausyksikön johtaja", + "Ompelija", + "Opas", + "Operaatiopäällikkö", + "Padonhoitaja", + "Paikallisjohtaja", + "Pakolaiskeskuksen johtaja", + "Palkanlaskentapäällikkö", + "Panostaja", + "Paperikonservaattori", + "Parturi-kampaaja", + "Passi- ja maahantulolupavirkailija/toimistovirkailija", + "Pataljoonan komentaja", + "Pedagogi", + "Radioasentaja", + "Rahakammion johtaja", + "Raideliikennejohtaja", + "Rajaeläinlääkäri", + "Rakennemuutosjohtaja", + "Raportoinnin asiantuntija", + "Ratainsinööri", + "Rauhanturvaaja", + "Ravintohaastattelija", + "Rehtori", + "Saamelaisarkistonhoitaja", + "Sadehavainnontekijä", + "Sairaala-apulainen", + "Saksan, englannin ja ruotsinkielen lehtori", + "Salkunhoitaja", + "Sanomakeskusaliupseeri", + "Satamapäällikkö", + "Seismologi", + "Sektorijohtaja", + "Selvittelijä", + "Taajuussuunnittelija", + "Taideamanuenssi", + "Tallentaja", + "Tanssija", + "Tapahtumakoordinaattori", + "Tarjoilija", + "Tasa-arvoneuvos", + "Tavaraliikennelupakäsittelijä", + "Team finland kasvu- ja kansainvälistymiskoordinaattori", + "Teemapäällikkö", + "Ulkoasiainneuvos", + "Ulosottojohtaja", + "Ultraäänihoitaja", + "Unix-asiantuntija", + "Upseeri", + "Urakonsultti", + "Urheiluohjaaja", + "Vaaitsija", + "Vac-yhdyshenkilö", + "Vahingonkorvausasiantuntija", + "Vaihteenhoitaja", + "Vakuustoimittaja", + "Valaistusmestari", + "Vammaisasiamies", + "Vanhempi tutkijainsinööri", + "Vapaa-ajan ohjaaja", + "Varadekaani", + "Www-asiantuntija", + "Yhdenvertaisuusvaltuutettu", + "Yhteinen tuntiopettaja", + "Yksikkösihteeri", + "Yleinen edunvalvoja", + "Yliaktuaari", + "Ylläpidon palvelupäällikkö", + "Yläasteen rehtori", + "Ympärintönsuojeluyksikön päällikkö", + "Yrittäjyysneuvoja", + "Yva-koordinaattori", + ] diff --git a/faker/providers/job/hu_HU/__init__.py b/faker/providers/job/hu_HU/__init__.py index b233c7e32f..372ba727dc 100644 --- a/faker/providers/job/hu_HU/__init__.py +++ b/faker/providers/job/hu_HU/__init__.py @@ -1,417 +1,418 @@ -from .. import BaseProvider +from .. import Provider as BaseProvider class Provider(BaseProvider): # Derived from KSH's FEOR'08 jobs = ( - 'Titkár(nő)', - 'Értékbecslő', - 'Közterület-felügyelő', - 'Építőmérnök', - 'Köszörűs', - 'Gépjármű- és motorkarbantartó', - 'Mezőgazdasági mérnök', - 'Számítógéphálózat- és rendszertechnikus', - 'Adósságbehajtó', - 'Fémöntőminta-készítő', - 'Gyümölcs- és zöldségfeldolgozó', - 'Telekommunikációs mérnök', - 'Könyv- és lapkiadó szerkesztője', - 'Geológus', - 'Manikűrös', - 'Energetikus', - 'Kézbesítő', - 'Kontroller', - 'Mentőtiszt', - 'Háztartási takarító és kisegítő', - 'Dekoratőr', - 'Tejfeldolgozó', - 'Gyógytornász', - 'Csomagkihordó', - 'Kádár', - 'Színész', - 'Anyaggazdálkodó', - 'Szoftverfejlesztő', - 'Adó- és illetékhivatali ügyintéző', - 'Utaskísérő', - 'Táj- és kertépítészmérnök', - 'Muzeológus', - 'Koreográfus', - 'Tetőfedő', - 'Telepőr', - 'Pedikűrös', - 'Fémfeldolgozó', - 'Intézményi takarító és kisegítő', - 'Irodai szakmai irányító', - 'Recepciós', - 'Gépíró, szövegszerkesztő', - 'Ifjúságsegítő', - 'Pap', - 'Adatbázis- és hálózati elemző', - 'Szoftver- és alkalmazásfejlesztő', - 'Burkoló', - 'Történész', - 'Intézményi takarító és kisegítő ', - 'Kohó- és anyagtechnikus', - 'Jogi asszisztens', - 'Tőzsde- és pénzügyi ügynök', - 'Varró', - 'Bolti pénztáros', - 'Kémikus', - 'Kőműves', - 'Szakorvos', - 'Elemző közgazdász', - 'Kézi mosó, vasaló', - 'Irattáros', - 'Földmérő és térinformatikus', - 'Vendéglős', - 'Élelmiszer-ipari mérnök', - 'Kisállattartó és -tenyésztő', - 'Szociológus', - 'Lakatos', - 'Pszichológus', - 'Utcaseprő', - 'Adatbázis-tervező és -üzemeltető', - 'Gyermekfelügyelő', - 'Metróvezető', - 'Háztartási alkalmazott', - 'Könyvelő', - 'Általános irodai adminisztrátor', - 'Épületasztalos', - 'Ékszerkészítő', - 'Üvegező', - 'Könyvtári, levéltári nyilvántartó', - 'Általános iskolai tanár, tanító', - 'Szemétgyűjtő', - 'Rendőr', - 'Orvosi laboratóriumi asszisztens', - 'Kubikos', - 'Adatrögzítő', - 'Informatikatanár', - 'Fizikus', - 'Vegyésztechnikus', - 'Hímző', - 'Ügynök', - 'Kalapos', - 'Egyéb művészetek tanára', - 'Zöldségtermesztő', - 'Dísznövény-, virág- és faiskolai kertész, csemetenevelő', - 'Csipkeverő', - 'Postai ügyfélkapcsolati foglalkozású', - 'Tolmács', - 'Kódoló', - 'Fa- és könnyűipari mérnök', - 'Szarvasmarha-, ló-, sertés-, juhtartó és -tenyésztő ', - 'Település- és közlekedéstervező mérnök', - 'Rendszergazda', - 'Állatorvosi asszisztens', - 'Újságíró', - 'Piaci, utcai étel- és italárus', - 'Néprajzkutató', - 'Vám- és pénzügyőr', - 'Hordár', - 'Webrendszer-technikus', - 'Hivatalsegéd', - 'Üzletpolitikai elemző', - 'Fogorvos', - 'Statisztikus', - 'Stukkózó', - 'Utazásszervező', - 'Épületbádogos', - 'Szociális gondozó', - 'Villamosipari technikus (elektronikai technikus)', - 'Iratkezelő', - 'Matróz', - 'Trolibuszvezető', - 'Banki pénztáros', - 'Szikvízkészítő', - 'Kovács', - 'Minőségbiztosítási mérnök', - 'Csillagász', - 'Író', - 'Könyvtáros', - 'Fényképész', - 'Bányászati technikus', - 'Üzletpolitikai elemző, szervező', - 'Jelnyelvi tolmács', - 'Alkalmazásprogramozó', - 'Cipőkészítő', - 'Drágakőcsiszoló', - 'Botanikus', - 'Járműtakarító', - 'Biztosítási ügynök', - 'Gépészmérnök', - 'Légiforgalmi irányító', - 'Üveggyártó', - 'Gumitermékgyártó', - 'Repülőgépmotor-karbantartó', - 'Építészmérnök', - 'Tűzoltó', - 'Könyvkötő', - 'Pultos', - 'Borász', - 'Gyógyszerész', - 'Kozmetikus', - 'Segédápoló', - 'Ápoló', - 'Fordító', - 'Munkavédelmi és üzembiztonsági foglalkozású', - 'Végrehajtó, adósságbehajtó', - 'Gyógyszertári asszisztens', - 'Szőrmefestő', - 'Bőrtermékkészítő', - 'Műsorszóró és audiovizuális technikus', - 'Kártevőirtó', - 'Rakodómunkás', - 'Szabásminta-készítő', - 'Hulladékosztályozó', - 'Erdő- és természetvédelmi mérnök', - 'Készlet- és anyagnyilvántartó', - 'Fogászati asszisztens', - 'Séf', - 'Könyvszakértő', - 'Bróker', - 'Áru- és divatbemutató', - 'Kölcsönző', - 'Épületgondnok', - 'Telekommunikációs technikus', - 'Környezetvédelmi technikus', - 'Házvezető', - 'Famegmunkáló', - 'Szállodai recepciós', - 'Kézi csomagoló', - 'Ötvös', - 'Csecsemő- és kisgyermeknevelő', - 'Kerékpár-karbantartó', - 'Operatőr', - 'Ügyvéd', - 'Szigetelő', - 'Fizioterápiás asszisztens', - 'Kereskedő', - 'Biológus', - 'Ruházati gép kezelője és gyártósor mellett dolgozó', - 'Szűcs', - 'Ügyféltájékoztató', - 'Gyógynövénytermesztő', - 'Lelkész', - 'Énekes', - 'Munka- és termelésszervező ', - 'Légiforgalmi irányítástechnikus', - 'Számítógép-hálózati elemző', - 'Szabó', - 'Szakács', - 'Növényorvos ', - 'Testőr', - 'Erdő- és természetvédelmi technikus', - 'Kőfaragó', - 'Bányászati szakmai irányító', - 'Régész', - 'Lakossági kérdező', - 'Számviteli ügyintéző', - 'Természetvédelmi őr', - 'Egyetemi, főiskolai oktató', - 'Óvodapedagógus', - 'Gyomírtó', - 'Növényvédelmi szakértő', - 'Védőnő', - 'Egészségügyi dokumentátor ', - 'Finommechanikai műszerész', - 'Műszaki rajzoló', - 'Demográfus', - 'Általános orvos', - 'Fedélzeti tiszt', - 'Vagyonőr', - 'Rendszerelemző', - 'Tímár', - 'Hajózómérnök', - 'Hálózat- és multimédia-fejlesztő', - 'Konyhai kisegítő', - 'Mozigépész', - 'Épületvillamossági szerelő', - 'Bionövény-termesztő', - 'Fogtechnikus', - 'Büntetés-végrehajtási őr', - 'Erdész', - 'Vízgazdálkodási gépkezelő', - 'Szerszámkészítő', - 'Vegyészmérnök', - 'Festő', - 'Iratkezelő, irattáros', - 'Légiforgalmi irányítástechnikai berendezések üzemeltetője', - 'Masszőr', - 'Zenetanár', - 'Zálogházi ügyintéző és pénzkölcsönző', - 'Jogtanácsos', - 'Tehergépkocsi-vezető', - 'Bolti eladó', - 'Pénzintézeti ügyintéző', - 'Növényorvosi asszisztens', - 'Fitnesz- és rekreációs program irányítója', - 'Zeneszerző', - 'Építményszerkezet-szerelő', - 'Vegyes profilú gazdálkodó', - 'Pultfeltöltő', - 'Képzőművész', - 'Végrehajtó', - 'Szerencsejáték-szervező', - 'Jegypénztáros', - 'Konyhafőnök', - 'Műtőssegéd', - 'Adótanácsadó', - 'Jogász', - 'Orvosi képalkotó diagnosztikai asszisztens', - 'Zoológus', - 'Látszerész', - 'Szállítási, szállítmányozási nyilvántartó', - 'Kárpitos', - 'Házi gondozó', - 'Táncművész', - 'Cipész', - 'Élelmiszer-ipari technikus', - 'Zenész', - 'Könyvelő (analitikus)', - 'Felvásárló', - 'Személyzeti és pályaválasztási szakértő', - 'Bányamérnök', - 'Pincér', - 'Mosodai gép kezelője', - 'Dietetikus', - 'Rendező', - 'Bognár', - 'Targoncavezető', - 'Hobbiállat-gondozó', - 'Segédrendező', - 'Marketing- és PR-ügyintéző', - 'Bőrdíszműves', - 'Darukezelő', - 'Hallás- és beszédterapeuta', - 'Konduktor', - 'Villamosmérnök (energetikai mérnök)', - 'Meteorológus', - 'Táplálkozási tanácsadó', - 'Cirkuszi előadóművész', - 'Húsfeldolgozó', - 'Vezető eladó', - 'Könyvvizsgáló', - 'Feldolgozóipari szakmai irányító', - 'Pedagógiai szakértő', - 'Telefonos értékesítési ügynök', - 'Villamosvezető', - 'Baromfitartó és -tenyésztő', - 'Politológus', - 'Mérőóra-leolvasó', - 'Egyéb növénytermesztési foglalkozású', - 'Méhész', - 'Felvonószerelő', - 'Személygépkocsi-vezető', - 'Textilműves', - 'Építő- és építésztechnikus', - 'Bőröndös', - 'Gipszkartonozó', - 'Kalauz', - 'Járművezető-oktató', - 'Bérelszámoló', - 'Bútorasztalos', - 'Villanyszerelő', - 'Kesztyűs', - 'Nyomdai előkészítő', - 'Mezőgazdasági technikus', - 'Szőlő-, gyümölcstermesztő', - 'Oktatási asszisztens', - 'Édesiparitermék-gyártó', - 'Fodrász', - 'Nyomdász', - 'Keramikus', - 'Általános egészségügyi asszisztens', - 'Ács', - 'Kereskedelmi ügyintéző', - 'Környezetfelmérő', - 'Kéményseprő', - 'Fotó- és mozgófilmlaboráns', - 'Statisztikai ügyintéző', - 'Szakképzett edző', - 'Fa- és könnyűipari technikus', - 'Múzeumi gyűjteménygondnok', - 'Árufeltöltő', - 'Idegenvezető', - 'Mozdonyvezető', - 'Kohó- és anyagmérnök', - 'Műköves', - 'Állatorvos', - 'Földmérő és térinformatikai technikus ', - 'Nyelvtanár', - 'Ügyész', - 'Sportoló', - 'Címfestő', - 'Nyelvész', - 'Gyógypedagógus', - 'Üzemanyagtöltő állomás kezelője', - 'Fémcsiszoló', - 'Kulturális szervező', - 'Lakberendező', - 'Grafikus és multimédia-tervező ', - 'Középiskolai tanár', - 'Cukrász', - 'Légijármű-vezető', - 'Sportszervező', - 'Parkolóőr', - 'Favágó', - 'Matematikus', - 'Pénzügyi elemző és befektetési tanácsadó', - 'Konferencia- és rendezvényszervező', - 'Faesztergályos', - 'Kályha- és kandallóépítő', - 'Közjegyző', - 'Festékszóró', - 'Statiszta', - 'Minőségbiztosítási technikus', - 'Épületszerkezet-tisztító', - 'Menetjegyellenőr', - 'Kereskedelmi tervező ', - 'Munkaerő-piaci szolgáltatási ügyintéző', - 'Adószakértő', - 'Hegesztő', - 'Gyorséttermi eladó', - 'Iparművész', - 'Díszítő', - 'Szociálpolitikus', - 'Gyártmány- és ruhatervező', - 'Ingatlanforgalmazási ügyintéző', - 'Kormányos', - 'Díszletező', - 'Segédszínész', - 'Levéltáros', - 'Robbantómester', - 'Villamosipari technikus (energetikai technikus)', - 'Ortopédiai eszközkészítő', - 'Gépésztechnikus', - 'Szociális segítő', - 'Pék', - 'Ipari alpinista', - 'Villamosmérnök (elektronikai mérnök)', - 'Személyi asszisztens', - 'Ablaktisztító', - 'Portás', - 'Filozófus', - 'Forgácsoló', - 'Bábművész', - 'Kárszakértő', - 'Humánpolitikai adminisztrátor', - 'Hangszerkészítő', - 'Társadalombiztosítási és segélyezési hatósági ügyintéző', - 'Optometrista', - 'Szántóföldinövény-termesztő', - 'Ingatlanügynök', - 'Nyomozó', - 'Egyéb, máshova nem sorolható technikus', - 'Vezető takarító', - 'Autóbuszvezető', - 'Kárbecslő', - 'Piaci árus', - 'Bíró', - 'Általános iskolai tanár', - 'Szerszámköszörűs', - 'Építőipari szakmai irányító') + "Titkár(nő)", + "Értékbecslő", + "Közterület-felügyelő", + "Építőmérnök", + "Köszörűs", + "Gépjármű- és motorkarbantartó", + "Mezőgazdasági mérnök", + "Számítógéphálózat- és rendszertechnikus", + "Adósságbehajtó", + "Fémöntőminta-készítő", + "Gyümölcs- és zöldségfeldolgozó", + "Telekommunikációs mérnök", + "Könyv- és lapkiadó szerkesztője", + "Geológus", + "Manikűrös", + "Energetikus", + "Kézbesítő", + "Kontroller", + "Mentőtiszt", + "Háztartási takarító és kisegítő", + "Dekoratőr", + "Tejfeldolgozó", + "Gyógytornász", + "Csomagkihordó", + "Kádár", + "Színész", + "Anyaggazdálkodó", + "Szoftverfejlesztő", + "Adó- és illetékhivatali ügyintéző", + "Utaskísérő", + "Táj- és kertépítészmérnök", + "Muzeológus", + "Koreográfus", + "Tetőfedő", + "Telepőr", + "Pedikűrös", + "Fémfeldolgozó", + "Intézményi takarító és kisegítő", + "Irodai szakmai irányító", + "Recepciós", + "Gépíró, szövegszerkesztő", + "Ifjúságsegítő", + "Pap", + "Adatbázis- és hálózati elemző", + "Szoftver- és alkalmazásfejlesztő", + "Burkoló", + "Történész", + "Intézményi takarító és kisegítő ", + "Kohó- és anyagtechnikus", + "Jogi asszisztens", + "Tőzsde- és pénzügyi ügynök", + "Varró", + "Bolti pénztáros", + "Kémikus", + "Kőműves", + "Szakorvos", + "Elemző közgazdász", + "Kézi mosó, vasaló", + "Irattáros", + "Földmérő és térinformatikus", + "Vendéglős", + "Élelmiszer-ipari mérnök", + "Kisállattartó és -tenyésztő", + "Szociológus", + "Lakatos", + "Pszichológus", + "Utcaseprő", + "Adatbázis-tervező és -üzemeltető", + "Gyermekfelügyelő", + "Metróvezető", + "Háztartási alkalmazott", + "Könyvelő", + "Általános irodai adminisztrátor", + "Épületasztalos", + "Ékszerkészítő", + "Üvegező", + "Könyvtári, levéltári nyilvántartó", + "Általános iskolai tanár, tanító", + "Szemétgyűjtő", + "Rendőr", + "Orvosi laboratóriumi asszisztens", + "Kubikos", + "Adatrögzítő", + "Informatikatanár", + "Fizikus", + "Vegyésztechnikus", + "Hímző", + "Ügynök", + "Kalapos", + "Egyéb művészetek tanára", + "Zöldségtermesztő", + "Dísznövény-, virág- és faiskolai kertész, csemetenevelő", + "Csipkeverő", + "Postai ügyfélkapcsolati foglalkozású", + "Tolmács", + "Kódoló", + "Fa- és könnyűipari mérnök", + "Szarvasmarha-, ló-, sertés-, juhtartó és -tenyésztő ", + "Település- és közlekedéstervező mérnök", + "Rendszergazda", + "Állatorvosi asszisztens", + "Újságíró", + "Piaci, utcai étel- és italárus", + "Néprajzkutató", + "Vám- és pénzügyőr", + "Hordár", + "Webrendszer-technikus", + "Hivatalsegéd", + "Üzletpolitikai elemző", + "Fogorvos", + "Statisztikus", + "Stukkózó", + "Utazásszervező", + "Épületbádogos", + "Szociális gondozó", + "Villamosipari technikus (elektronikai technikus)", + "Iratkezelő", + "Matróz", + "Trolibuszvezető", + "Banki pénztáros", + "Szikvízkészítő", + "Kovács", + "Minőségbiztosítási mérnök", + "Csillagász", + "Író", + "Könyvtáros", + "Fényképész", + "Bányászati technikus", + "Üzletpolitikai elemző, szervező", + "Jelnyelvi tolmács", + "Alkalmazásprogramozó", + "Cipőkészítő", + "Drágakőcsiszoló", + "Botanikus", + "Járműtakarító", + "Biztosítási ügynök", + "Gépészmérnök", + "Légiforgalmi irányító", + "Üveggyártó", + "Gumitermékgyártó", + "Repülőgépmotor-karbantartó", + "Építészmérnök", + "Tűzoltó", + "Könyvkötő", + "Pultos", + "Borász", + "Gyógyszerész", + "Kozmetikus", + "Segédápoló", + "Ápoló", + "Fordító", + "Munkavédelmi és üzembiztonsági foglalkozású", + "Végrehajtó, adósságbehajtó", + "Gyógyszertári asszisztens", + "Szőrmefestő", + "Bőrtermékkészítő", + "Műsorszóró és audiovizuális technikus", + "Kártevőirtó", + "Rakodómunkás", + "Szabásminta-készítő", + "Hulladékosztályozó", + "Erdő- és természetvédelmi mérnök", + "Készlet- és anyagnyilvántartó", + "Fogászati asszisztens", + "Séf", + "Könyvszakértő", + "Bróker", + "Áru- és divatbemutató", + "Kölcsönző", + "Épületgondnok", + "Telekommunikációs technikus", + "Környezetvédelmi technikus", + "Házvezető", + "Famegmunkáló", + "Szállodai recepciós", + "Kézi csomagoló", + "Ötvös", + "Csecsemő- és kisgyermeknevelő", + "Kerékpár-karbantartó", + "Operatőr", + "Ügyvéd", + "Szigetelő", + "Fizioterápiás asszisztens", + "Kereskedő", + "Biológus", + "Ruházati gép kezelője és gyártósor mellett dolgozó", + "Szűcs", + "Ügyféltájékoztató", + "Gyógynövénytermesztő", + "Lelkész", + "Énekes", + "Munka- és termelésszervező ", + "Légiforgalmi irányítástechnikus", + "Számítógép-hálózati elemző", + "Szabó", + "Szakács", + "Növényorvos ", + "Testőr", + "Erdő- és természetvédelmi technikus", + "Kőfaragó", + "Bányászati szakmai irányító", + "Régész", + "Lakossági kérdező", + "Számviteli ügyintéző", + "Természetvédelmi őr", + "Egyetemi, főiskolai oktató", + "Óvodapedagógus", + "Gyomírtó", + "Növényvédelmi szakértő", + "Védőnő", + "Egészségügyi dokumentátor ", + "Finommechanikai műszerész", + "Műszaki rajzoló", + "Demográfus", + "Általános orvos", + "Fedélzeti tiszt", + "Vagyonőr", + "Rendszerelemző", + "Tímár", + "Hajózómérnök", + "Hálózat- és multimédia-fejlesztő", + "Konyhai kisegítő", + "Mozigépész", + "Épületvillamossági szerelő", + "Bionövény-termesztő", + "Fogtechnikus", + "Büntetés-végrehajtási őr", + "Erdész", + "Vízgazdálkodási gépkezelő", + "Szerszámkészítő", + "Vegyészmérnök", + "Festő", + "Iratkezelő, irattáros", + "Légiforgalmi irányítástechnikai berendezések üzemeltetője", + "Masszőr", + "Zenetanár", + "Zálogházi ügyintéző és pénzkölcsönző", + "Jogtanácsos", + "Tehergépkocsi-vezető", + "Bolti eladó", + "Pénzintézeti ügyintéző", + "Növényorvosi asszisztens", + "Fitnesz- és rekreációs program irányítója", + "Zeneszerző", + "Építményszerkezet-szerelő", + "Vegyes profilú gazdálkodó", + "Pultfeltöltő", + "Képzőművész", + "Végrehajtó", + "Szerencsejáték-szervező", + "Jegypénztáros", + "Konyhafőnök", + "Műtőssegéd", + "Adótanácsadó", + "Jogász", + "Orvosi képalkotó diagnosztikai asszisztens", + "Zoológus", + "Látszerész", + "Szállítási, szállítmányozási nyilvántartó", + "Kárpitos", + "Házi gondozó", + "Táncművész", + "Cipész", + "Élelmiszer-ipari technikus", + "Zenész", + "Könyvelő (analitikus)", + "Felvásárló", + "Személyzeti és pályaválasztási szakértő", + "Bányamérnök", + "Pincér", + "Mosodai gép kezelője", + "Dietetikus", + "Rendező", + "Bognár", + "Targoncavezető", + "Hobbiállat-gondozó", + "Segédrendező", + "Marketing- és PR-ügyintéző", + "Bőrdíszműves", + "Darukezelő", + "Hallás- és beszédterapeuta", + "Konduktor", + "Villamosmérnök (energetikai mérnök)", + "Meteorológus", + "Táplálkozási tanácsadó", + "Cirkuszi előadóművész", + "Húsfeldolgozó", + "Vezető eladó", + "Könyvvizsgáló", + "Feldolgozóipari szakmai irányító", + "Pedagógiai szakértő", + "Telefonos értékesítési ügynök", + "Villamosvezető", + "Baromfitartó és -tenyésztő", + "Politológus", + "Mérőóra-leolvasó", + "Egyéb növénytermesztési foglalkozású", + "Méhész", + "Felvonószerelő", + "Személygépkocsi-vezető", + "Textilműves", + "Építő- és építésztechnikus", + "Bőröndös", + "Gipszkartonozó", + "Kalauz", + "Járművezető-oktató", + "Bérelszámoló", + "Bútorasztalos", + "Villanyszerelő", + "Kesztyűs", + "Nyomdai előkészítő", + "Mezőgazdasági technikus", + "Szőlő-, gyümölcstermesztő", + "Oktatási asszisztens", + "Édesiparitermék-gyártó", + "Fodrász", + "Nyomdász", + "Keramikus", + "Általános egészségügyi asszisztens", + "Ács", + "Kereskedelmi ügyintéző", + "Környezetfelmérő", + "Kéményseprő", + "Fotó- és mozgófilmlaboráns", + "Statisztikai ügyintéző", + "Szakképzett edző", + "Fa- és könnyűipari technikus", + "Múzeumi gyűjteménygondnok", + "Árufeltöltő", + "Idegenvezető", + "Mozdonyvezető", + "Kohó- és anyagmérnök", + "Műköves", + "Állatorvos", + "Földmérő és térinformatikai technikus ", + "Nyelvtanár", + "Ügyész", + "Sportoló", + "Címfestő", + "Nyelvész", + "Gyógypedagógus", + "Üzemanyagtöltő állomás kezelője", + "Fémcsiszoló", + "Kulturális szervező", + "Lakberendező", + "Grafikus és multimédia-tervező ", + "Középiskolai tanár", + "Cukrász", + "Légijármű-vezető", + "Sportszervező", + "Parkolóőr", + "Favágó", + "Matematikus", + "Pénzügyi elemző és befektetési tanácsadó", + "Konferencia- és rendezvényszervező", + "Faesztergályos", + "Kályha- és kandallóépítő", + "Közjegyző", + "Festékszóró", + "Statiszta", + "Minőségbiztosítási technikus", + "Épületszerkezet-tisztító", + "Menetjegyellenőr", + "Kereskedelmi tervező ", + "Munkaerő-piaci szolgáltatási ügyintéző", + "Adószakértő", + "Hegesztő", + "Gyorséttermi eladó", + "Iparművész", + "Díszítő", + "Szociálpolitikus", + "Gyártmány- és ruhatervező", + "Ingatlanforgalmazási ügyintéző", + "Kormányos", + "Díszletező", + "Segédszínész", + "Levéltáros", + "Robbantómester", + "Villamosipari technikus (energetikai technikus)", + "Ortopédiai eszközkészítő", + "Gépésztechnikus", + "Szociális segítő", + "Pék", + "Ipari alpinista", + "Villamosmérnök (elektronikai mérnök)", + "Személyi asszisztens", + "Ablaktisztító", + "Portás", + "Filozófus", + "Forgácsoló", + "Bábművész", + "Kárszakértő", + "Humánpolitikai adminisztrátor", + "Hangszerkészítő", + "Társadalombiztosítási és segélyezési hatósági ügyintéző", + "Optometrista", + "Szántóföldinövény-termesztő", + "Ingatlanügynök", + "Nyomozó", + "Egyéb, máshova nem sorolható technikus", + "Vezető takarító", + "Autóbuszvezető", + "Kárbecslő", + "Piaci árus", + "Bíró", + "Általános iskolai tanár", + "Szerszámköszörűs", + "Építőipari szakmai irányító", + ) - def job(self): + def job(self) -> str: return self.random_element(self.jobs) diff --git a/faker/providers/job/ja_JP/__init__.py b/faker/providers/job/ja_JP/__init__.py index 1c1fb5b42d..bc52158416 100644 --- a/faker/providers/job/ja_JP/__init__.py +++ b/faker/providers/job/ja_JP/__init__.py @@ -7,60 +7,60 @@ class Provider(BaseProvider): """ jobs = [ - 'アイドル', - 'アーティスト', - 'アートディレクター', - 'アナウンサー', - 'アニメーター', - '医師', - 'イラストレーター', - '医療事務員', - 'ウェディングプランナー', - 'ウェブデザイナー', - '占い師', - '運転士', - '映画監督', - '営業', - '栄養士', - 'エステティシャン', - '絵本作家', - '演歌歌手', - 'エンジニア' '演奏家', - 'お笑い芸人', - '音楽家', - '音響技術者', - '介護ヘルパー', - '気象予報士', - '脚本家', - '救急救命士', - '行政書士', - 'グラフィックデザイナー', - '経営者', - '検察官', - 'ゲームクリエイター', - '建築家', - '航海士', - 'コピーライター', - '高等学校教員', - '公認会計士', - '公務員', - '裁判官', - '作曲家', - '歯科医師', - '司法書士', - '小説家', - '寿司職人', - '測量士', - '大学教授', - '調理師', - '電気工事士', - '農家', - '配管工', - 'バスガイド', - '花火師', - '漫画家', - 'モデル', - '薬剤師', - 'YouTuber', - '和紙職人', + "アイドル", + "アーティスト", + "アートディレクター", + "アナウンサー", + "アニメーター", + "医師", + "イラストレーター", + "医療事務員", + "ウェディングプランナー", + "ウェブデザイナー", + "占い師", + "運転士", + "映画監督", + "営業", + "栄養士", + "エステティシャン", + "絵本作家", + "演歌歌手", + "エンジニア" "演奏家", + "お笑い芸人", + "音楽家", + "音響技術者", + "介護ヘルパー", + "気象予報士", + "脚本家", + "救急救命士", + "行政書士", + "グラフィックデザイナー", + "経営者", + "検察官", + "ゲームクリエイター", + "建築家", + "航海士", + "コピーライター", + "高等学校教員", + "公認会計士", + "公務員", + "裁判官", + "作曲家", + "歯科医師", + "司法書士", + "小説家", + "寿司職人", + "測量士", + "大学教授", + "調理師", + "電気工事士", + "農家", + "配管工", + "バスガイド", + "花火師", + "漫画家", + "モデル", + "薬剤師", + "YouTuber", + "和紙職人", ] diff --git a/faker/providers/job/ko_KR/__init__.py b/faker/providers/job/ko_KR/__init__.py index 92d8e92365..8631b62bf3 100644 --- a/faker/providers/job/ko_KR/__init__.py +++ b/faker/providers/job/ko_KR/__init__.py @@ -6,430 +6,430 @@ # on 2017-08-30 class Provider(BaseProvider): jobs = [ - '의회의원/고위공무원 및 공공단체임원', - '기업고위임원', - '정부행정 관리자', - '경영지원 관리자', - '기타 행정 및 경영지원 관리자', - '연구 관리자', - '교육 관리자', - '법률/경찰/소방 및 교도 관리자', - '보험 및 금융 관리자', - '보건의료관련 관리자', - '사회복지관련 관리자', - '문화/예술/디자인 및 영상관련 관리자', - '정보통신관련 관리자', - '기타 전문서비스 관리자', - '건설 및 광업 관련 관리자', - '전기/가스 및 수도 관련 관리자', - '제품 생산관련 관리자', - '기타 건설/전기 및 생산 관련 관리자', - '영업 및 판매 관련 관리자', - '운송관련 관리자', - '숙박/여행/오락 및 스포츠 관련 관리자', - '음식서비스관련 관리자', - '환경/청소 및 경비 관련 관리자', - '기타 판매 및 고객 서비스 관리자', - '생명과학 연구원', - '자연과학 연구원', - '인문과학 연구원', - '사회과학 연구원', - '생명과학 시험원', - '농림어업관련 시험원', - '자연과학 시험원', - '컴퓨터 하드웨어 기술자 및 연구원', - '통신공학 기술자 및 연구원', - '컴퓨터시스템 설계 및 분석가', - '시스템 소프트웨어 개발자', - '응용 소프트웨어 개발자', - '데이터베이스 개발자', - '네트워크시스템 개발자', - '컴퓨터 보안 전문가', - '웹 및 멀티미디어 기획자', - '웹 개발자', - '정보 시스템 운영자', - '통신 및 방송송출 장비 기사', - '건축가 및 건축공학 기술자', - '토목공학 기술자', - '조경 기술자', - '도시 및 교통설계 전문가', - '측량 및 지리정보 전문가', - '건설자재 시험원', - '화학공학 기술자 및 연구원', - '화학공학 시험원', - '금속 / 재료공학 연구원 및 기술자', - '금속 / 재료공학 시험원', - '환경공학 기술자 및 연구원', - '환경공학 시험원', - '전기공학 기술자 및 연구원', - '전자공학 기술자 및 연구원', - '기계공학 기술자 및 연구원', - '전기/전자 및 기계 공학 시험원', - '산업안전 및 위험 관리원', - '보건위생 및 환경 검사원', - '비파괴 검사원', - '항공기 조종사', - '선장/항해사 및 도선사', - '관제사', - '식품공학 기술자 및 연구원', - '섬유공학 기술자 및 연구원', - '가스/에너지 기술자 및 연구원', - '소방공학 기술자 및 연구원', - '식품/섬유 공학 및 에너지 시험원', - '캐드원', - '기타 공학관련 기술자 및 시험원', - '전문 의사', - '일반 의사', - '한의사', - '치과 의사', - '수의사', - '약사 및 한약사', - '간호사', - '영양사', - '임상병리사', - '방사선사', - '치과기공사', - '치과위생사', - '의지보조기기사', - '물리 및 작업 치료사', - '임상 심리사 및 기타 치료사', - '응급구조사', - '위생사', - '안경사', - '의무기록사', - '간호조무사', - '안마사', - '사회복지사', - '보육 교사', - '직업상담사 및 취업 알선원', - '상담 전문가 및 청소년 지도사', - '시민 단체 활동가', - '기타 사회복지관련 종사원', - '성직자', - '기타 종교관련 종사자', - '대학 교수', - '대학 시간강사', - '중/고등학교 교사', - '초등학교 교사', - '특수교육 교사', - '유치원 교사', - '문리 및 어학 강사', - '컴퓨터 강사', - '기술 및 기능계 강사', - '예능 강사', - '학습지 및 방문 교사', - '기타 문리/기술 및 예능 강사', - '장학관/연구관 및 교육 관련 전문가', - '대학 교육조교', - '보조 교사 및 기타 교사', - '판사 및 검사', - '변호사', - '법무사 및 집행관', - '변리사', - '정부 및 공공 행정 전문가', - '인사 및 노사 관련 전문가', - '회계사', - '세무사', - '관세사', - '경영 및 진단 전문가', - '투자 및 신용 분석가', - '자산 운용가', - '보험 및 금융 상품 개발자', - '증권 및 외환 딜러', - '손해사정인', - '기타 금융 및 보험 관련 전문가', - '상품기획 전문가', - '여행상품 개발자', - '광고 및 홍보 전문가', - '조사 전문가', - '행사기획자', - '감정평가 전문가', - '해외 영업원', - '기술 영업원', - '상품중개인 및 경매사', - '부동산 컨설턴트 및 중개인', - '기타 기술영업 및 중개 관련 종사자', - '작가 및 관련 전문가', - '번역가', - '통역가', - '기자 및 논설위원', - '출판물 전문가', - '큐레이터 및 문화재 보존원', - '사서 및 기록물관리사', - '감독 및 기술감독', - '배우 및 모델', - '아나운서 및 리포터', - '촬영기사', - '음향 및 녹음 기사', - '영상/녹화 및 편집 기사', - '조명기사 및 영사기사', - '기타 연극/영화 및 영상 관련 종사자', - '화가 및 조각가', - '사진기자 및 사진가', - '만화가 및 만화영화 작가', - '국악 및 전통예능인', - '지휘자/작곡가 및 연주가', - '가수 및 성악가', - '무용가 및 안무가', - '제품 디자이너', - '패션 디자이너', - '실내장식 디자이너', - '시각 디자이너', - '웹 및 멀티미디어 디자이너', - '경기감독 및 코치', - '직업 운동선수', - '경기심판 및 경기기록원', - '스포츠 및 레크레이션 강사', - '기타 스포츠 및 레크레이션 관련 전문가', - '연예인 및 스포츠 매니저', - '마술사 및 기타 문화/ 예술 관련 종사자', - '조세행정 사무원', - '관세행정 사무원', - '병무행정 사무원', - '국가/지방 및 공공행정 사무원', - '기획 및 마케팅 사무원', - '인사 및 교육/훈련 사무원', - '자재관리 사무원', - '생산 및 품질 관리 사무원', - '무역 사무원', - '운송 사무원', - '총무 사무원', - '회계 사무원', - '경리 사무원', - '비서', - '전산 자료 입력원 및 사무 보조원', - '출납창구 사무원', - '보험 심사원 및 사무원', - '금융관련 사무원', - '신용 추심원', - '법률관련 사무원', - '감사 사무원', - '통계관련 사무원', - '여행 사무원', - '안내 / 접수 사무원 및 전화교환원', - '고객 상담 및 모니터 요원', - '기타 사무원', - '경찰관', - '소방관', - '소년보호관 및 교도관', - '경호원', - '청원 경찰', - '무인 경비원', - '기타 경호 및 보안 관련 종사원', - '간병인', - '기타 의료/복지 관련 서비스 종사원', - '이용사', - '미용사', - '피부미용 및 체형관리사', - '메이크업 아티스트 및 분장사', - '애완동물 미용사', - '기타 미용관련 서비스 종사원', - '결혼 상담원 및 웨딩플래너', - '혼례 종사원', - '장례 상담원 및 장례 지도사', - '기타 이미용/예식 및 의료보조 서비스 종사원', - '항공기 객실승무원', - '선박 및 열차 객실승무원', - '여행 및 관광통역 안내원', - '숙박시설 서비스원', - '오락시설 서비스원', - '기타 여가 및 스포츠 관련 종사원', - '한식 주방장 및 조리사', - '중식 주방장 및 조리사', - '양식 주방장 및 조리사', - '일식 주방장 및 조리사', - '기타 주방장 및 조리사', - '바텐더', - '웨이터', - '기타 음식서비스 종사원', - '자동차 영업원', - '제품 및 광고 영업원', - '보험 설계사 및 간접투자증권 판매인', - '상점 판매원', - '매표원 및 복권 판매원', - '매장계산원 및 요금정산원', - '상품 대여원', - '방문 판매원', - '통신서비스판매원', - '텔레마케터', - '인터넷 판매원', - '노점 및 이동 판매원', - '홍보 도우미 및 판촉원', - '곡식작물 재배원', - '채소 및 특용작물 재배원', - '과수작물 재배원', - '원예작물 재배원', - '조경원', - '낙농업관련 종사원', - '가축 사육 종사원', - '기타 사육관련 종사원', - '조림/영림 및 벌목원', - '임산물채취 및 기타 임업 관련 종사원', - '양식원', - '어부 및 해녀', - '제빵원 및 제과원', - '떡제조원', - '정육원 및 도축원', - '식품 및 담배 등급원', - '김치 및 밑반찬 제조 종사원', - '기타 식품가공관련 종사원', - '패턴사', - '재단사', - '재봉사', - '제화원', - '기타 섬유 및 가죽 관련 기능 종사원', - '한복 제조원', - '양장 및 양복 제조원', - '모피 및 가죽의복 제조원', - '의복/가죽 및 모피 수선원', - '기타 의복 제조원', - '목제품 제조관련 종사원', - '가구 제조 및 수리원', - '악기제조 및 조율사', - '간판 제작 및 설치원', - '금형원', - '주조원', - '단조원', - '제관원', - '판금원', - '용접원', - '자동차 정비원', - '항공기 정비원', - '선박 정비원', - '철도 기관차 및 전동차 정비원', - '기타 운송장비 정비원', - '공업기계 설치 및 정비원', - '승강기 설치 및 정비원', - '물품 이동 장비 설치 및 정비원', - '냉동/냉장 /공조기 설치 및 정비원', - '보일러 설치 및 정비원', - '건설 및 광업기계 설치 및 정비원', - '농업용 및 기타 기계장비 설치 및 정비원', - '', - '가전제품 설치 및 수리원', - '기타 전기/전자기기 설치 및 수리원', - '산업전공', - '내선전공', - '외선전공', - '강구조물 가공원 및 건립원', - '경량 철골공', - '철근공', - '콘크리트공', - '건축 석공', - '건축 목공', - '조적공 및 석재 부설원', - '기타 건설관련 기능 종사원', - '미장공', - '방수공', - '단열공', - '바닥재 시공원', - '도배공 및 유리 부착원', - '건축 도장공', - '섀시 조립 및 설치원', - '기타 건축마감관련 기능 종사원', - '광원/채석원 및 석재 절단원', - '철로 설치 및 보수원', - '기타 채굴 및 토목 관련 종사자', - '영상 및 관련 장비 설치 및 수리원', - '통신 및 관련 장비 설치 및 수리원', - '통신/방송 및 인터넷 케이블 설치 및 수리원', - '공예원', - '귀금속 및 보석 세공원', - '건설 배관공', - '공업 배관공', - '기타 배관공', - '배관 세정원 및 방역원', - '기타 기능관련 종사원', - '제분 및 도정 관련 기계 조작원', - '곡물가공제품 기계 조작원', - '육류/어패류 및 낙농품 가공 기계조작원', - '과실 및 채소 관련 기계조작원', - '음료 제조관련 기계 조작원', - '기타 식품가공관련 기계조작원', - '섬유제조 기계조작원', - '표백 및 염색 관련 조작원', - '직조기 및 편직기 조작원', - '신발제조기 조작원 및 조립원', - '기타 직물 및 신발 관련 기계조작원 및 조립원', - '세탁관련 기계조작원', - '석유 및 천연가스제조 관련 제어장치 조작원', - '화학물 가공장치 조작원', - '기타 석유 및 화학물 가공장치 조작원', - '화학제품 생산기 조작원', - '타이어 및 고무제품 생산기 조작원', - '플라스틱제품 생산기 조작원', - '고무 및 플라스틱 제품 조립원', - '주조기 조작원', - '단조기 조작원', - '용접기 조작원', - '금속가공관련 제어장치 조작원', - '금속가공 기계조작원', - '제관기 조작원', - '판금기 조작원', - '도장기 조작원', - '도금 및 금속분무기 조작원', - '유리제조 및 가공기 조작원', - '점토제품 생산기 조작원', - '시멘트 및 광물제품 제조기 조작원', - '광석 및 석제품 가공기 조작원', - '기타 비금속제품관련 생산기 조작원', - '금속공작기계 조작원', - '냉/난방 관련 설비 조작원', - '자동조립라인 및 산업용 로봇 조작원', - '자동차 조립원', - '자동차 부분품 조립원', - '운송장비 조립원', - '일반기계 조립원', - '금속기계부품 조립원', - '발전 및 배전장치 조작원', - '전기 및 전자 설비 조작원', - '전기 부품 및 제품제조 기계조작원', - '전자 부품 및 제품 제조 기계조작원', - '전기/전자 부품 및 제품 조립원', - '철도 및 전동차 기관사', - '화물열차 차장 및 관련 종사원', - '택시 운전원', - '버스 운전원', - '화물차 및 특수차 운전원', - '기타 자동차 운전원', - '물품이동 장비 조작원', - '건설 및 채굴 기계 운전원', - '선박 갑판승무원 및 관련 종사원', - '상/하수도 처리장치 조작원', - '재활용 처리 및 소각로 조작원', - '목재 가공관련 기계 조작원', - '가구조립원', - '펄프 및 종이 제조장치 조작원', - '종이제품 생산기 조작원', - '기타 목재 및 종이 관련 기계조작원', - '인쇄기 조작원', - '사진인화 및 현상기 조작원', - '기타 제조관련 기계 조작원', - '건설 및 광업 단순 종사원', - '하역 및 적재 단순 종사원', - '우편물 집배원', - '택배원', - '음식 배달원', - '기타 배달원', - '제조관련 단순 종사원', - '청소원', - '환경 미화원 및 재활용품 수거원', - '경비원', - '검표원', - '가사 도우미', - '육아 도우미', - '패스트푸드원', - '주방 보조원', - '주유원', - '기타 판매관련 단순 종사원', - '농림어업관련 단순 종사원', - '계기 검침원 및 가스점검원', - '수금원', - '주차 관리원 및 안내원', - '구두 미화원', - '세탁원 및 다림질원', - '기타 서비스관련 단순 종사원', - '영관급 이상', - '위관급', - '장기 부사관 및 준위', + "의회의원/고위공무원 및 공공단체임원", + "기업고위임원", + "정부행정 관리자", + "경영지원 관리자", + "기타 행정 및 경영지원 관리자", + "연구 관리자", + "교육 관리자", + "법률/경찰/소방 및 교도 관리자", + "보험 및 금융 관리자", + "보건의료관련 관리자", + "사회복지관련 관리자", + "문화/예술/디자인 및 영상관련 관리자", + "정보통신관련 관리자", + "기타 전문서비스 관리자", + "건설 및 광업 관련 관리자", + "전기/가스 및 수도 관련 관리자", + "제품 생산관련 관리자", + "기타 건설/전기 및 생산 관련 관리자", + "영업 및 판매 관련 관리자", + "운송관련 관리자", + "숙박/여행/오락 및 스포츠 관련 관리자", + "음식서비스관련 관리자", + "환경/청소 및 경비 관련 관리자", + "기타 판매 및 고객 서비스 관리자", + "생명과학 연구원", + "자연과학 연구원", + "인문과학 연구원", + "사회과학 연구원", + "생명과학 시험원", + "농림어업관련 시험원", + "자연과학 시험원", + "컴퓨터 하드웨어 기술자 및 연구원", + "통신공학 기술자 및 연구원", + "컴퓨터시스템 설계 및 분석가", + "시스템 소프트웨어 개발자", + "응용 소프트웨어 개발자", + "데이터베이스 개발자", + "네트워크시스템 개발자", + "컴퓨터 보안 전문가", + "웹 및 멀티미디어 기획자", + "웹 개발자", + "정보 시스템 운영자", + "통신 및 방송송출 장비 기사", + "건축가 및 건축공학 기술자", + "토목공학 기술자", + "조경 기술자", + "도시 및 교통설계 전문가", + "측량 및 지리정보 전문가", + "건설자재 시험원", + "화학공학 기술자 및 연구원", + "화학공학 시험원", + "금속 / 재료공학 연구원 및 기술자", + "금속 / 재료공학 시험원", + "환경공학 기술자 및 연구원", + "환경공학 시험원", + "전기공학 기술자 및 연구원", + "전자공학 기술자 및 연구원", + "기계공학 기술자 및 연구원", + "전기/전자 및 기계 공학 시험원", + "산업안전 및 위험 관리원", + "보건위생 및 환경 검사원", + "비파괴 검사원", + "항공기 조종사", + "선장/항해사 및 도선사", + "관제사", + "식품공학 기술자 및 연구원", + "섬유공학 기술자 및 연구원", + "가스/에너지 기술자 및 연구원", + "소방공학 기술자 및 연구원", + "식품/섬유 공학 및 에너지 시험원", + "캐드원", + "기타 공학관련 기술자 및 시험원", + "전문 의사", + "일반 의사", + "한의사", + "치과 의사", + "수의사", + "약사 및 한약사", + "간호사", + "영양사", + "임상병리사", + "방사선사", + "치과기공사", + "치과위생사", + "의지보조기기사", + "물리 및 작업 치료사", + "임상 심리사 및 기타 치료사", + "응급구조사", + "위생사", + "안경사", + "의무기록사", + "간호조무사", + "안마사", + "사회복지사", + "보육 교사", + "직업상담사 및 취업 알선원", + "상담 전문가 및 청소년 지도사", + "시민 단체 활동가", + "기타 사회복지관련 종사원", + "성직자", + "기타 종교관련 종사자", + "대학 교수", + "대학 시간강사", + "중/고등학교 교사", + "초등학교 교사", + "특수교육 교사", + "유치원 교사", + "문리 및 어학 강사", + "컴퓨터 강사", + "기술 및 기능계 강사", + "예능 강사", + "학습지 및 방문 교사", + "기타 문리/기술 및 예능 강사", + "장학관/연구관 및 교육 관련 전문가", + "대학 교육조교", + "보조 교사 및 기타 교사", + "판사 및 검사", + "변호사", + "법무사 및 집행관", + "변리사", + "정부 및 공공 행정 전문가", + "인사 및 노사 관련 전문가", + "회계사", + "세무사", + "관세사", + "경영 및 진단 전문가", + "투자 및 신용 분석가", + "자산 운용가", + "보험 및 금융 상품 개발자", + "증권 및 외환 딜러", + "손해사정인", + "기타 금융 및 보험 관련 전문가", + "상품기획 전문가", + "여행상품 개발자", + "광고 및 홍보 전문가", + "조사 전문가", + "행사기획자", + "감정평가 전문가", + "해외 영업원", + "기술 영업원", + "상품중개인 및 경매사", + "부동산 컨설턴트 및 중개인", + "기타 기술영업 및 중개 관련 종사자", + "작가 및 관련 전문가", + "번역가", + "통역가", + "기자 및 논설위원", + "출판물 전문가", + "큐레이터 및 문화재 보존원", + "사서 및 기록물관리사", + "감독 및 기술감독", + "배우 및 모델", + "아나운서 및 리포터", + "촬영기사", + "음향 및 녹음 기사", + "영상/녹화 및 편집 기사", + "조명기사 및 영사기사", + "기타 연극/영화 및 영상 관련 종사자", + "화가 및 조각가", + "사진기자 및 사진가", + "만화가 및 만화영화 작가", + "국악 및 전통예능인", + "지휘자/작곡가 및 연주가", + "가수 및 성악가", + "무용가 및 안무가", + "제품 디자이너", + "패션 디자이너", + "실내장식 디자이너", + "시각 디자이너", + "웹 및 멀티미디어 디자이너", + "경기감독 및 코치", + "직업 운동선수", + "경기심판 및 경기기록원", + "스포츠 및 레크레이션 강사", + "기타 스포츠 및 레크레이션 관련 전문가", + "연예인 및 스포츠 매니저", + "마술사 및 기타 문화/ 예술 관련 종사자", + "조세행정 사무원", + "관세행정 사무원", + "병무행정 사무원", + "국가/지방 및 공공행정 사무원", + "기획 및 마케팅 사무원", + "인사 및 교육/훈련 사무원", + "자재관리 사무원", + "생산 및 품질 관리 사무원", + "무역 사무원", + "운송 사무원", + "총무 사무원", + "회계 사무원", + "경리 사무원", + "비서", + "전산 자료 입력원 및 사무 보조원", + "출납창구 사무원", + "보험 심사원 및 사무원", + "금융관련 사무원", + "신용 추심원", + "법률관련 사무원", + "감사 사무원", + "통계관련 사무원", + "여행 사무원", + "안내 / 접수 사무원 및 전화교환원", + "고객 상담 및 모니터 요원", + "기타 사무원", + "경찰관", + "소방관", + "소년보호관 및 교도관", + "경호원", + "청원 경찰", + "무인 경비원", + "기타 경호 및 보안 관련 종사원", + "간병인", + "기타 의료/복지 관련 서비스 종사원", + "이용사", + "미용사", + "피부미용 및 체형관리사", + "메이크업 아티스트 및 분장사", + "애완동물 미용사", + "기타 미용관련 서비스 종사원", + "결혼 상담원 및 웨딩플래너", + "혼례 종사원", + "장례 상담원 및 장례 지도사", + "기타 이미용/예식 및 의료보조 서비스 종사원", + "항공기 객실승무원", + "선박 및 열차 객실승무원", + "여행 및 관광통역 안내원", + "숙박시설 서비스원", + "오락시설 서비스원", + "기타 여가 및 스포츠 관련 종사원", + "한식 주방장 및 조리사", + "중식 주방장 및 조리사", + "양식 주방장 및 조리사", + "일식 주방장 및 조리사", + "기타 주방장 및 조리사", + "바텐더", + "웨이터", + "기타 음식서비스 종사원", + "자동차 영업원", + "제품 및 광고 영업원", + "보험 설계사 및 간접투자증권 판매인", + "상점 판매원", + "매표원 및 복권 판매원", + "매장계산원 및 요금정산원", + "상품 대여원", + "방문 판매원", + "통신서비스판매원", + "텔레마케터", + "인터넷 판매원", + "노점 및 이동 판매원", + "홍보 도우미 및 판촉원", + "곡식작물 재배원", + "채소 및 특용작물 재배원", + "과수작물 재배원", + "원예작물 재배원", + "조경원", + "낙농업관련 종사원", + "가축 사육 종사원", + "기타 사육관련 종사원", + "조림/영림 및 벌목원", + "임산물채취 및 기타 임업 관련 종사원", + "양식원", + "어부 및 해녀", + "제빵원 및 제과원", + "떡제조원", + "정육원 및 도축원", + "식품 및 담배 등급원", + "김치 및 밑반찬 제조 종사원", + "기타 식품가공관련 종사원", + "패턴사", + "재단사", + "재봉사", + "제화원", + "기타 섬유 및 가죽 관련 기능 종사원", + "한복 제조원", + "양장 및 양복 제조원", + "모피 및 가죽의복 제조원", + "의복/가죽 및 모피 수선원", + "기타 의복 제조원", + "목제품 제조관련 종사원", + "가구 제조 및 수리원", + "악기제조 및 조율사", + "간판 제작 및 설치원", + "금형원", + "주조원", + "단조원", + "제관원", + "판금원", + "용접원", + "자동차 정비원", + "항공기 정비원", + "선박 정비원", + "철도 기관차 및 전동차 정비원", + "기타 운송장비 정비원", + "공업기계 설치 및 정비원", + "승강기 설치 및 정비원", + "물품 이동 장비 설치 및 정비원", + "냉동/냉장 /공조기 설치 및 정비원", + "보일러 설치 및 정비원", + "건설 및 광업기계 설치 및 정비원", + "농업용 및 기타 기계장비 설치 및 정비원", + "", + "가전제품 설치 및 수리원", + "기타 전기/전자기기 설치 및 수리원", + "산업전공", + "내선전공", + "외선전공", + "강구조물 가공원 및 건립원", + "경량 철골공", + "철근공", + "콘크리트공", + "건축 석공", + "건축 목공", + "조적공 및 석재 부설원", + "기타 건설관련 기능 종사원", + "미장공", + "방수공", + "단열공", + "바닥재 시공원", + "도배공 및 유리 부착원", + "건축 도장공", + "섀시 조립 및 설치원", + "기타 건축마감관련 기능 종사원", + "광원/채석원 및 석재 절단원", + "철로 설치 및 보수원", + "기타 채굴 및 토목 관련 종사자", + "영상 및 관련 장비 설치 및 수리원", + "통신 및 관련 장비 설치 및 수리원", + "통신/방송 및 인터넷 케이블 설치 및 수리원", + "공예원", + "귀금속 및 보석 세공원", + "건설 배관공", + "공업 배관공", + "기타 배관공", + "배관 세정원 및 방역원", + "기타 기능관련 종사원", + "제분 및 도정 관련 기계 조작원", + "곡물가공제품 기계 조작원", + "육류/어패류 및 낙농품 가공 기계조작원", + "과실 및 채소 관련 기계조작원", + "음료 제조관련 기계 조작원", + "기타 식품가공관련 기계조작원", + "섬유제조 기계조작원", + "표백 및 염색 관련 조작원", + "직조기 및 편직기 조작원", + "신발제조기 조작원 및 조립원", + "기타 직물 및 신발 관련 기계조작원 및 조립원", + "세탁관련 기계조작원", + "석유 및 천연가스제조 관련 제어장치 조작원", + "화학물 가공장치 조작원", + "기타 석유 및 화학물 가공장치 조작원", + "화학제품 생산기 조작원", + "타이어 및 고무제품 생산기 조작원", + "플라스틱제품 생산기 조작원", + "고무 및 플라스틱 제품 조립원", + "주조기 조작원", + "단조기 조작원", + "용접기 조작원", + "금속가공관련 제어장치 조작원", + "금속가공 기계조작원", + "제관기 조작원", + "판금기 조작원", + "도장기 조작원", + "도금 및 금속분무기 조작원", + "유리제조 및 가공기 조작원", + "점토제품 생산기 조작원", + "시멘트 및 광물제품 제조기 조작원", + "광석 및 석제품 가공기 조작원", + "기타 비금속제품관련 생산기 조작원", + "금속공작기계 조작원", + "냉/난방 관련 설비 조작원", + "자동조립라인 및 산업용 로봇 조작원", + "자동차 조립원", + "자동차 부분품 조립원", + "운송장비 조립원", + "일반기계 조립원", + "금속기계부품 조립원", + "발전 및 배전장치 조작원", + "전기 및 전자 설비 조작원", + "전기 부품 및 제품제조 기계조작원", + "전자 부품 및 제품 제조 기계조작원", + "전기/전자 부품 및 제품 조립원", + "철도 및 전동차 기관사", + "화물열차 차장 및 관련 종사원", + "택시 운전원", + "버스 운전원", + "화물차 및 특수차 운전원", + "기타 자동차 운전원", + "물품이동 장비 조작원", + "건설 및 채굴 기계 운전원", + "선박 갑판승무원 및 관련 종사원", + "상/하수도 처리장치 조작원", + "재활용 처리 및 소각로 조작원", + "목재 가공관련 기계 조작원", + "가구조립원", + "펄프 및 종이 제조장치 조작원", + "종이제품 생산기 조작원", + "기타 목재 및 종이 관련 기계조작원", + "인쇄기 조작원", + "사진인화 및 현상기 조작원", + "기타 제조관련 기계 조작원", + "건설 및 광업 단순 종사원", + "하역 및 적재 단순 종사원", + "우편물 집배원", + "택배원", + "음식 배달원", + "기타 배달원", + "제조관련 단순 종사원", + "청소원", + "환경 미화원 및 재활용품 수거원", + "경비원", + "검표원", + "가사 도우미", + "육아 도우미", + "패스트푸드원", + "주방 보조원", + "주유원", + "기타 판매관련 단순 종사원", + "농림어업관련 단순 종사원", + "계기 검침원 및 가스점검원", + "수금원", + "주차 관리원 및 안내원", + "구두 미화원", + "세탁원 및 다림질원", + "기타 서비스관련 단순 종사원", + "영관급 이상", + "위관급", + "장기 부사관 및 준위", ] diff --git a/faker/providers/job/pt_PT/__init__.py b/faker/providers/job/pt_PT/__init__.py index e020216586..d706ee84d4 100644 --- a/faker/providers/job/pt_PT/__init__.py +++ b/faker/providers/job/pt_PT/__init__.py @@ -33,22 +33,6 @@ class Provider(BaseProvider): "Botânico", "Farmacologista e outros especialistas relacionados", "Consultor de atividades das pescas", - "Diretor geral e gestor executivo, de empresas", - "Diretores de investigação e desenvolvimento", - "Diretor de produção na agricultura", - "Diretor de produção na aquicultura", - "Diretores de armazenagem, distribuição e relacionados", - "Diretores dos serviços das tecnologias da informação e comunicação", - "Diretor dos serviços de cuidados de crianças", - "Diretor dos serviços de cuidados a pessoas idosas", - "Diretor dos serviços de apoio social", - "Diretor dos serviços de educação", - "Diretor de sucursais de bancos, serviços financeiros e de seguros", - "Oficiais e outros profissionais das forças e serviços de segurança, com funções de comando,", - "Diretor e gerente do comércio por grosso", - "Diretor e gerente de outros serviços, n.e.", - "Farmacologista e outros especialistas relacionados", - "Consultor de atividades das pescas", "Engenheiro de construção de edifícios", "Engenheiro de obras de engenharia civil", "Engenheiro mecânico", @@ -85,22 +69,6 @@ class Provider(BaseProvider): "Programador de software", "Programador Web e de multimédia", "Programador de aplicações", - "Engenheiro de construção de edifícios", - "Engenheiro de obras de engenharia civil", - "Engenheiro de telecomunicações", - "Enfermeiro especialista em reabilitação", - "Enfermeiro especialista em saúde infantil e pediátrica", - "Enfermeiro especialista em saúde mental e psiquiátrica", - "Enfermeiro especialista em enfermagem comunitária", - "Enfermeiro especialista em enfermagem médico cirúrgica", - "Enfermeiro especialista em saúde materna e obstétrica", - "Professor dos ensinos básico (2.º e 3.º ciclos) e secundário", - "Professor do ensino básico (1.º ciclo)", - "Especialista em métodos de ensino", - "Especialista em recursos humanos", - "Especialista em formação e desenvolvimento de recursos humanos", - "Especialista em relações públicas", - "Programador Web e de multimédia", "Administrador e especialista de conceção de base de dados", "Administrador de sistemas", "Especialista de redes informáticas", @@ -136,15 +104,6 @@ class Provider(BaseProvider): "Encarregados das indústrias da pasta, papel, impressão", "Encarregados das indústrias refinarias de petróleo", "Encarregados das indústrias da transformação de minerais não metálicos", - "Administrador e especialista de conceção de base de dados", - "Especialista de redes informáticas", - "Bibliotecários e outros especialistas de informação relacionados", - "Diretor de fotografia e de som, montador e relacionados", - "Técnico da metalurgia de base e da indústria extrativa", - "Encarregado da indústria extrativa", - "Encarregados das indústrias da madeira e cortiça", - "Encarregados das indústrias da pasta, papel, impressão", - "Encarregados das indústrias da transformação de minerais não metálicos", "Encarregado da construção", "Técnico de operação de instalações de produção de energia", "Técnico de operação de incineradores", @@ -183,25 +142,7 @@ class Provider(BaseProvider): "Secretário da área jurídica", "Secretário administrativo e executivo", "Encarregados das indústrias metalúrgicas de base e fabrico de produtos metálicos", - "Técnico de operação de instalações de produção de energia", - "Técnico de operação de incineradores", - "Técnico de operação de instalações de tratamento de água", - "Técnico de controlo de instalações da indústria química", - "Técnico de operação de instalações de refinação de petróleo e gás natural", - "Técnico de controlo de instalações de produção de metais", - "Técnico das ciências da vida (excetos ciências médicas)", - "Técnico florestal (inclui cinegético)", - "Técnico de anatomia patológica, citológica e tanatológica", - "Profissionais de nível intermédio da medicina tradicional e complementar", - "Técnico de registos médicos e de informação sobre saúde", "Técnico dos serviços de saúde comunitária", - "Técnico e assistente, de fisioterapia", - "Corretor de bolsa, cambista", - "Despachante, transitário", - "Organizador de conferências e eventos", - "Fiscal e encarregado de portagem", - "Supervisor de cargas e descargas", - "Secretário administrativo e executivo", "Secretário da área da medicina", "Técnico de nível intermédio dos serviços jurídicos e relacionados", "Técnico de nível intermédio de apoio social", @@ -241,27 +182,6 @@ class Provider(BaseProvider): "Escrivão", "Empregado de serviço de pessoal", "Outro pessoal de apoio de tipo administrativo, n.e.", - "Técnico de nível intermédio dos serviços jurídicos e relacionados", - "Técnico de nível intermédio de apoio social", - "Técnicos de galerias, bibliotecas, arquivos e museus", - "Toureiro, cavaleiro tauromáquico e outros profissionais similares", - "Técnico operador das tecnologias de informação e comunicação (TIC)", - "Técnico de apoio aos utilizadores das TIC", - "Técnico de emissões de televisão", - "Técnico de sistemas de comunicações via rádio", - "Empregado de escritório em geral", - "Empregado de banca nos casinos e outros empregados de apostas", - "Empregado das agências de viagem", - "Pessoal de informação administrativa", - "Outro pessoal de receção e de informação a clientes", - "Operador de contabilidade e escrituração comercial", - "Operador de dados de processamento de pagamentos", - "Empregado de aprovisionamento", - "Controlador de transportes terrestres de passageiros", - "Controlador de transportes terrestres de mercadorias", - "Codificador, revisor de provas", - "Empregado de serviço de pessoal", - "Outro pessoal de apoio de tipo administrativo, n.e.", "Fiscal e cobrador de transportes públicos", "Cozinheiro", "Cabeleireiro e barbeiro", @@ -296,21 +216,7 @@ class Provider(BaseProvider): "Sericicultor e trabalhador qualificado da sericicultura", "Motosserrista", "Sapador florestal", - "Fiscal e cobrador de transportes públicos", "Encarregado de limpeza e de trabalhos domésticos em escritórios, hotéis e outros", - "Pessoal de companhia e ajudantes de quarto", - "Vendedor ambulante de produtos alimentares", - "Vendedor em loja (estabelecimento)", - "Assistente de venda de alimentos ao balcão", - "Segurança (vigilante privado), outros porteiros", - "Outro pessoal dos serviços de proteção e segurança", - "Agricultor e trabalhador qualificado de cereais e outras culturas extensivas", - "Trabalhador qualificado da jardinagem", - "Produtor e trabalhador qualificado na produção de bovinos", - "Produtor e trabalhador qualificado na produção de ovinos e caprinos", - "Produtor e trabalhador qualificado na produção de suínos", - "Produtor e trabalhador qualificado na produção de outros animais de carne", - "Sericicultor e trabalhador qualificado da sericicultura", "Aquicultor (aquacultor)", "Pescador de águas interiores ", "Construtor de casas rudimentares", @@ -338,12 +244,6 @@ class Provider(BaseProvider): "Pintor de construções", "Colocador de papel de parede, pintor decorador", "Pintor à pistola de superfícies", - "Construtor de casas rudimentares", - "Colocador de telhados e de coberturas", - "Assentador de tacos e afagador de madeira", - "Trabalhador qualificado em isolamentos acústicos e térmicos", - "Instalador de ar condicionado e de sistemas de refrigeração", - "Colocador de papel de parede, pintor decorador", "Envernizador", "Limpador de chaminés e de outras estruturas de edifícios", "Operador de fundição", @@ -379,25 +279,6 @@ class Provider(BaseProvider): "Instalador de sistemas solares térmicos", "Instalador de sistemas solares fotovoltaicos", "Instalador de sistemas de bioenergia", - "Limpador de chaminés e de outras estruturas de edifícios", - "Bate chapa de veículos automóveis", - "Outro preparador e montador de estruturas metálicas", - "Operador de prensa de forjar, estampador", - "Serralheiro de moldes, cunhos, cortantes", - "Regulador e operador de máquinas ferramentas convencionais para trabalhar metais", - "Retificador de rodas, polidor e afiador de metais", - "Mecânico e reparador de veículos automóveis", - "Técnico de manutenção e reparação de motores de avião", - "Mecânico e reparador, de máquinas agrícolas e industriais", - "Reparador de bicicletas", - "Trabalhador qualificado do fabrico e reparação de instrumentos de precisão", - "Polidor e acabador de artigos de vidro", - "Lapidador e gravador, de vidro, cerâmica e outros materiais", - "Pintor decorador de vidro, cerâmica e outros materiais", - "Artesão de rendas, bordados e tapeçarias, manuais", - "Eletricista de construções", - "Instalador de sistemas solares térmicos", - "Instalador de sistemas solares fotovoltaicos", "Eletromecânico, eletricista e outros instaladores de máquinas e equipamentos elétricos", "Instalador e reparador de linhas elétricas", "Mecânico e reparador de equipamentos eletrónicos", @@ -439,30 +320,6 @@ class Provider(BaseProvider): "Operador de instalações de fornos e de primeira transformação de metais", "Operador de instalações de fornos de segunda fusão, vazadores e laminadores de metais.", "Operador de instalações de tratamento térmico de metais", - "Eletromecânico, eletricista e outros instaladores de máquinas e equipamentos elétricos", - "Instalador e reparador de linhas elétricas", - "Mecânico e reparador de equipamentos eletrónicos", - "Instalador e reparador, de tecnologias de informação e comunicação", - "Preparador e conservador de peixe", - "Trabalhador do fabrico de produtos lácteos", - "Conserveiro de frutas, legumes", - "Trabalhador do tratamento da madeira", - "Tanoeiro, embutidor e outros similares a marceneiro", - "Operador de máquinas e de equipamentos para trabalhar madeira", - "Riscador de moldes e cortador de tecidos", - "Trabalhador de costura", - "Carregador de fogo e dinamitador", - "Fumigador e outros controladores, de pragas e ervas daninhas", - "Trabalhador de fabrico de foguetes (fogueteiro)", - "Operador de instalações de processamento de minérios", - "Operador de instalações de processamento de rochas", - "Perfurador de poços, sondador", - "Operador de máquinas para trabalhar o cimento", - "Operador de máquinas para trabalhar a pedra", - "Operador de máquinas para trabalhar outros minerais", - "Operador de instalações de fornos e de primeira transformação de metais", - "Operador de instalações de fornos de segunda fusão, vazadores e laminadores de metais.", - "Operador de instalações de tratamento térmico de metais", "Operador de instalações de trefilagem e estiragem", "Operador de máquinas de revestimento, metalização e acabamento de metais", "Operador de instalações e máquinas para moagem de substâncias químicas", @@ -497,44 +354,11 @@ class Provider(BaseProvider): "Motorista de táxis", "Motorista de automóveis ligeiros e carrinhas", "Motorista de autocarros", - "Guarda freios, agulheiro e agente de manobras de caminhos de ferro", "Motorista de veículos pesados de mercadorias", "Operador de máquinas agrícolas e florestais, móveis", "Operador de máquinas de escavação, terraplenagem", "Operador de gruas, guindastes", - "Operador de instalações de trefilagem e estiragem", - "Operador de máquinas de revestimento, metalização e acabamento de metais", - "Operador de instalações e máquinas para moagem de substâncias químicas", - "Operador de instalações e máquinas para tratamento térmico de produtos químicos", "Operador de instalações e máquinas, para filtragem e separação química", - "Operador de instalações e máquinas, para reação e verificação de produtos químicos", - "Operador de instalações e máquinas, para petróleo e gás", - "Operador de instalações e máquinas para outros tratamentos químicos", - "Operador de máquinas para o fabrico de produtos de borracha", - "Operador de máquinas para o fabrico de produtos de matérias plásticas", - "Operador de máquinas de tecer e tricotar", - "Operador de máquinas de costura", - "Operador de máquinas de branquear, tingir e limpar, tecidos e outros têxteis", - "Operador de máquinas de fabrico de calçado", - "Operador de máquinas de lavandaria", - "Operador de máquinas de preparação de carne e peixe", - "Operador de máquinas de moagem de cereais, de transformação de arroz e de fabricação de", - "Operador de máquinas de produção e refinação de açúcar", - "Operador de máquinas para preparação de chá, café e cacau", - "Operador de máquinas para preparação de vinhos e outras bebidas", - "Operador de máquinas para o fabrico do tabaco", - "Operador de instalações para o fabrico de pasta de papel e de papel", - "Operador de instalações para o trabalho da madeira e cortiça", - "Operador de instalações para o fabrico de vidro", - "Operador de máquinas a vapor e caldeiras", - "Operador de máquinas para fabrico de produtos de arame", - "Montador de maquinaria mecânica", - "Guarda freios, agulheiro e agente de manobras de caminhos de ferro", - "Motorista de automóveis ligeiros e carrinhas", - "Guarda freios, agulheiro e agente de manobras de caminhos de ferro", - "Motorista de veículos pesados de mercadorias", - "Operador de máquinas de escavação, terraplenagem", - "Operador de gruas, guindastes", "Tripulação de convés de navios", "Trabalhador de limpeza em escritórios, hotéis", "Lavadeiro e engomador de roupa", diff --git a/faker/providers/job/ro_RO/__init__.py b/faker/providers/job/ro_RO/__init__.py new file mode 100644 index 0000000000..e8b8f25973 --- /dev/null +++ b/faker/providers/job/ro_RO/__init__.py @@ -0,0 +1,4045 @@ +from .. import Provider as BaseProvider + + +class Provider(BaseProvider): + jobs = [ + "Adjunct Al Procurorului General", + "Ambasador", + "Chestor Parlament", + "Comandant Unic Aviatie", + "Comisar General", + "Comisar General Adjunct", + "Senator", + "Guvernator", + "Presedinte Academie", + "Presedinte Inalta Curte De Casatie Si Justitie", + "Presedinte Curte De Apel", + "Presedinte Curtea De Conturi A Romaniei", + "Presedinte De Judecatorie", + "Presedinte Camera Deputatilor", + "Presedinte Sectie (La Inalta Curte De Casatie Si Justitie, La Curtea De Apel, Tribunale Si Judecatorii)", + "Presedinte Tribunal", + "Presedintele Romaniei", + "Prim-Procuror", + "Prim-Procuror Adjunct", + "Prim-Adjunct Al Procurorului General", + "Prim-Ministru", + "Procuror General", + "Procuror Sef De Sectie", + "Procuror Sef De Sectie Adjunct", + "Secretar General Al Guvernului", + "Secretar Parlament", + "Secretar De Stat", + "Vicepresedinte (La Inalta Curte De Casatie Si Justitie, Curtea De Apel, Tribunale Si Judecatorii", + "Inspector-Sef Al Inspectiei Judiciare De Pe Langa Plenul Consiliului Superior Al Magistraturii", + "Membru Al Consiliului Superior Al Magistraturii", + "Secretar General Adjunct Al Consiliului Superior Al Magistraturii", + "Inspector In Cadrul Inspectiei Judiciare Pentru Judecatori/", + "Inspector General Judecatoresc Sef", + "Ministru", + "Ministru Consilier", + "Ministru De Stat", + "Ministru Plenipotentiar", + "Deputat", + "Presedinte Senat", + "Subsecretar De Stat", + "Consilier Diplomatic", + "Consilier Guvernamental", + "Consilier Si Consultant Juridic", + "Consilier Institutii Publice", + "Consilier Al Ministrului", + "Consul General", + "Director Institutie Publica", + "Director Adjunct Institutie Publica", + "Director De Cabinet", + "Director General Institutie Publica", + "Consilier Economic", + "Inspector De Stat Sef", + "Inspector-Sef In Administratia Publica", + "Magistrat-Asistent-Sef", + "Notar-Sef", + "Notar-Sef Adjunct", + "Secretar-Sef Notariat", + "Prefect", + "Secretar General", + "Sef Birou Institutie Publica", + "Sef Cabinet", + "Sef Birou Senatorial", + "Sef Departament", + "Sef Protocol De Stat", + "Sef Serviciu Institutie Publica", + "Subprefect", + "Viceguvernator", + "Presedinte Institutie Publica", + "Consilier Prezidential", + "Consilier Parlamentar", + "Vicepresedinte Institutie Publica", + "Atasat Diplomatic", + "Consul", + "Secretar Diplomatic", + "Viceconsul", + "Consultant Prezidential Si Guvernamental", + "Secretar General Academie", + "Primar", + "Secretar Primarie, Prefectura", + "Viceprimar", + "Consilier Organizatie Politica", + "Presedinte Organizatie Politica", + "Vicepresedinte Organizatie Politica", + "Secretar Organizatie Politica", + "Conducator De Asociatii, Filiale Si Organizatii Obstesti", + "Loctiitor Al Conducatorului De Asociatii, Filiale Si Organizatii Obstesti", + "Secretar Si Secretar Adjunct Ai Asociatiilor, Filialelor Si Organizatiilor Obstesti", + "Presedinte Organizatie Sindicala", + "Vicepresedinte Organizatie Sindicala", + "Secretar Organizatie Sindicala", + "Delegat Sindical", + "Presedinte Asociatie Nationala Cooperatista", + "Vicepresedinte Asociatie Nationala Cooperatista", + "Secretar General Asociatie Nationala Cooperatista", + "Presedinte Asociatie Teritoriala De Organizatii Cooperatiste", + "Vicepresedinte Asociatie Teritoriala De Organizatii Cooperatiste", + "Secretar Asociatie Teritoriala De Organizatii Cooperatiste", + "Sef Departament Organizatie Sindicala", + "Presedinte Organizatie Cooperatista", + "Vicepresedinte Organizatie Cooperatista", + "Presedinte Asociatie Patronala", + "Vicepresedinte Asociatie Patronala", + "Presedinte Organizatie Profesionala Nationala", + "Vicepresedinte Organizatie Profesionala Nationala", + "Secretar National Organizatie Profesionala Nationala", + "Presedinte Organizatie Profesionala, Filiala Judeteana/Municipiu", + "Vicepresedinte Organizatie Profesionala, Filiala Judeteana/Municipiu", + "Secretar Organizatie Profesionala, Filiala Judeteana/Municipiu", + "Consilier Presedinte Organizatie Profesionala Nationala", + "Consilier Presedinte Organizatie Profesionala, Filiala Judeteana/Municipiu", + "Sef Departament/Compartiment/Presedinte Comisie Organizatie Profesionala, Filiala Judeteana/Municipiu", + "Delegat Sindical Local", + "Conducator De Organizatii Umanitare", + "Secretar Al Organizatiilor Umanitare", + "Comandant/Comandant Adjunct Aviatie", + "Comandant Port, Flota", + "Decan, Rector, Prorector, Prodecan", + "Director Societate Comerciala", + "Director Adjunct Societate Comerciala", + "Inspector General Scolar", + "Director Stiintific Cercetare-Dezvoltare", + "Inspector Sanitar Sef", + "Medic (Farmacist) Director", + "Medic (Farmacist) Director Adjunct", + "Director General Societate Comerciala", + "Director General Adjunct Societate Comerciala", + "Director De Program", + "Director General Regie Autonoma", + "Director General Adjunct Regie Autonoma", + "Director Control Risc", + "Director Comercial", + "Director Vanzari", + "Director/Director Adjunct, Inspector-Sef", + "Director Economic", + "Director Magazin", + "Sef Corp Executori Bancari", + "Director Sucursala", + "Director Tehnic", + "Director General Institut National De Cercetaredezvoltare", + "Director Incubator Tehnologic De Afaceri", + "Director Departament Cercetare-Dezvoltare", + "Manager General", + "Manager", + "Sef Cancelarie", + "Director De Societate Comerciala Agricola", + "Antreprenor In Economia Sociala", + "Director Resurse Umane", + "Inspector Scolar General Adjunct", + "Director Casa Corpului Didactic", + "Presedinte Banca/Vicepresedinte/Prim-Vicepresedinte", + "Economist-Sef", + "Inspector General Vanatoare", + "Director Executiv Banca/Director/Director Adjunct", + "Sef Departament Banca/Sef-Adjunct Departament", + "Sef Proiect Banca", + "Sef Serviciu/Sef Birou/Banca/Societate De Leasing", + "Coordonator Compartiment/Colectiv Banca", + "Dealer-Sef (Arbitragist Banca)", + "Director Unitate Bancara Operationala/Director Adjunct Unitate Bancara Operationala", + "Sef Agentie Bancara", + "Contabil-Sef/Director Financiar/Banca/Societate De Leasing", + "Director De Arhiva Banca", + "Director/Director Adjunct Divizie/Directie De Leasing", + "Director/Director Executiv Conformitate", + "Coordonator Conformitate", + "Manager Securitatea Informatiei (Chief Information Security Officer ", + "Comisar Sef Divizie Garda Financiara", + "Contabil-Sef", + "Controlor Financiar", + "Sef Agentie Cec", + "Sef Birou/Serviciu/Sectie Circumscriptie Financiara", + "Sef Birou/Serviciu Financiar-Contabilitate", + "Manager Financiar", + "Manager Relatii Financiare Externe", + "Controlor Revizor Financiar", + "Sef Birou Calificare Si Recalificare", + "Sef Birou Pensii", + "Sef Birou Somaj", + "Sef Oficiu Somaj", + "Sef Serviciu Resurse Umane", + "Sef Serviciu Evaluarea Resurselor De Munca", + "Manager Resurse Umane", + "Sef Centru Perfectionare", + "Sef Birou Organizatie Politica, Obsteasca, Umanitara", + "Sef Serviciu Organizatie Politica, Obsteasca, Umanitara", + "Inspector Protectie Civila", + "Sef Executiv Audit Intern", + "Sef Obiectiv Servicii De Securitate", + "Manager De Securitate", + "Manager Energetic", + "Manager Informatii Pentru Afaceri", + "Sef Serviciu", + "Sef Atelier", + "Sef Sectie", + "Sef Birou", + "Procuror Sef Birou/Serviciu", + "Sef Birou/Serviciu Administrativ", + "Registrator Coordonator", + "Registrator-Sef", + "Grefier-Sef (Judecatorie, Parchet)", + "Grefier-Sef De Sectie (Curte De Apel, Tribunal, Parchete)", + "Prim-Grefier", + "Sef Laborator Criminalistica", + "Sef Serviciu Marketing", + "Sef Birou Marketing", + "Sef Licitatie", + "Director Operatii Tranzactii", + "Sef Casa Compensatie", + "Sef Agentie Bursiera", + "Manager Marketing (Tarife, Contracte, Achizitii)", + "Conducator Firma Mica ", + "Sef Agentie Reclama Publicitara", + "Sef Birou Reclama Publicitara", + "Sef Serviciu Reclama Publicitara", + "Arhitect-Sef", + "Geolog-Sef", + "Secretar Stiintific", + "Sef Formatie Lucrari Geologice", + "Sef Formatie Cercetare-Dezvoltare", + "Meteorolog-Sef", + "Director Filiala Cercetare-Proiectare", + "Sef Atelier Editie, Multiplicare, Expeditie", + "Sef Proiect Cercetare-Proiectare", + "Sef Sectie Cercetare-Proiectare", + "Sef Atelier Cercetare-Proiectare", + "Responsabil Cte (Control Tehnic-Economic) In Cercetare-Proiectare", + "Director Proiect", + "Sef Proiect/Program", + "Inspector-Sef Inspectia Meteorologica Nationala", + "Hidrometeorolog-Sef", + "Inginer-Sef Agricultura Si Silvicultura", + "Medic Veterinar Sef", + "Sef Centru Protectia Plantelor Si Mediului", + "Sef Centru Reproductia Si Selectia Animalelor", + "Sef District, Centru, Ocol Silvic", + "Sef Circumscriptie Sanitar-Veterinara Si Control Al Alimentelor", + "Sef Complex Zootehnic", + "Sef Fazanerie", + "Sef Ferma Agricola (Agrozootehnica)", + "Sef Laborator Analize Pedologice", + "Sef Oficiu Cadastru", + "Sef Parchet", + "Sef Pepiniera Silvicola, Pomicola, Viticola", + "Sef Statie Hidrologica, Meteorologica Si Incubatie", + "Sef Statie Productie, Exploatare, Intretinere In Agricultura", + "Sef Statie Vinificatie", + "Sef Statie Lucrari De Irigatie Si Ameliorare A Solului", + "Inspector Veterinar Sef", + "Sef Sectie Mecanizare", + "Conducator Intreprindere Mica ", + "Sef Pastravarie", + "Inginer-Sef Piscicultura Si Vanatoare", + "Conducator Intreprindere Mica ", + "Inginer-Sef Industria Prelucratoare", + "Sef Atelier Industria Prelucratoare", + "Sef Sector Industria Prelucratoare", + "Sef Laborator In Industria Prelucratoare", + "Sef Modul In Industria Prelucratoare", + "Sef Sectie Industrie Prelucratoare", + "Sef Serviciu Industrie Prelucratoare", + "Sef Birou Industrie Prelucratoare", + "Manager Securitate Instalatii Industria Prelucratoare", + "Conducator Intreprindere Mica ", + "Inginer-Sef Industria Extractiva", + "Sef Atelier Industria Extractiva", + "Sef Sector Industria Extractiva", + "Sef Modul In Industria Extractiva", + "Sef Sectie Industrie Extractiva", + "Sef Serviciu Industrie Extractiva", + "Sef Birou Industrie Extractiva", + "Manager Securitate Instalatii Industria Extractiva", + "Conducator Intreprindere Mica ", + "Inginer-Sef Exploatare Nucleara", + "Inginer-Sef Radioprotectie", + "Sef Unitati Miniere", + "Sef Brigada Exploatare Miniera", + "Inspector-Sef Conservarea Energiei", + "Sef Centru Prelucrare", + "Sef Laborator Control Tehnic De Calitate A Combustibilului Nuclear", + "Sef Serviciu Tehnic Si Componente Nucleare", + "Sef Serviciu Termochimic", + "Sef Uzina, Centrala Electrica, Gaze, Apa", + "Sef Centrala Electrica, Gaze Si Apa", + "Sef Atelier Reparatii Capitale", + "Inspector General Industria Petroliera", + "Sef Formatie Industria Petroliera/Petrochimica", + "Sef Instalatie Petroliera", + "Sef Laborator Industria Petroliera", + "Sef Statie Epurare Ape Reziduale", + "Supervizor Geolog Si Foraj", + "Sef Formatie In Industria De Masini Si Echipamente", + "Sef/Sef Adjunct Statie Electrica", + "Sef/Sef Adjunct Centru Exploatare Retele Electrice", + "Sef Dispecer Energetic Central (Dec)", + "Sef Dispecer Energetic Teritorial (Det)", + "Sef Formatie La Fabricarea Armamentului Si Munitiei", + "Sef Schimb", + "Sef Formatie", + "Ajutor Sef Brigada In Constructii", + "Inginer-Sef In Constructii", + "Conducator Antrepriza Constructii-Montaj", + "Sef Atelier In Constructii", + "Sef Brigada Complexa Sau Specializata", + "Sef Laborator In Constructii", + "Sef Lot", + "Sef Santier", + "Sef Sector (Sectie) Drumuri-Poduri", + "Sef Sectie Productie, Exploatare, Intretinere, Reparatii In Constructii Si Lucrari Publice", + "Sef Serviciu In Constructii", + "Sef Birou In Constructii", + "Sef Sector Exploatare Imbunatatiri Funciare", + "Sef Sistem Exploatare Imbunatatiri Funciare", + "Conducator Intreprindere Mica ", + "Capitan Sef Port", + "Comandant Nave Maritime", + "Comandant Coordonator Grup Mare Pescuit Oceanic", + "Conducator (Director Si Director Adjunct) Administratia Filiala Dunarea De Jos (Afdj)", + "Director Zbor", + "Inginer-Sef Transporturi", + "Picher Sef District", + "Revizor General Siguranta Circulatiei", + "Sef Agentie Navala", + "Sef Atelier Aeroport", + "Sef Atelier Transporturi", + "Sef Autobaza", + "Sef Birou Aeroport", + "Sef Birou/Serviciu Relatii Internationale", + "Sef Birou/Serviciu Transport Maritim Si Fluvial", + "Sef Coloana Auto", + "Sef Depou/Adjunct", + "Sef District Cai Ferate, Poduri, Drumuri", + "Sef Divizie Cai Ferate", + "Sef Laborator Aeroport", + "Sef Port", + "Sef Regulator Circulatie Cai Ferate", + "Sef Revizie Locomotive, Automotoare", + "Sef Revizie Vagoane", + "Sef Sectie/Adjunct (Sector) Transporturi", + "Sef Serviciu, Centru, Statie, Aeroport", + "Sef Serviciu Filiala Administratia Filiala Dunarea De Jos", + "Sef Statie Cai Ferate", + "Sef Statie Teleferic", + "Sef Agentie Pilotaj", + "Sef Cart", + "Diriginte Oficiu Transporturi", + "Sef Garaj", + "Comandant Instructor", + "Sef Mecanic Instructor", + "Sef Mecanic Maritim/Fluvial", + "Sef Electrician Maritim", + "Sef Atelier Reparatii", + "Conducator Activitate De Transport Rutier", + "Sef Trafic Auto Intern", + "Sef Trafic Curierat Intern", + "Sef Departament Logistica", + "Sef Birou Aprovizionare-Desfacere", + "Sef Depozit", + "Sef Serviciu Aprovizionare-Desfacere", + "Sef Siloz", + "Sef Statie Uscare-Conditionare Cereale", + "Manager Achizitii", + "Manager Farmacii", + "Manager Aprovizionare", + "Manager Relatia Cu Furnizorii", + "Conducator Intreprindere Mica ", + "Director Centru De Calcul", + "Sef Oficiu De Calcul", + "Sef Atelier Informatica", + "Sef Laborator Informatica", + "Director Divizie Informatica", + "Director Departament Informatica", + "Manager Tehnologia Informatiilor Si Comunicatii", + "Director Departament Securitate", + "Conducator De Intreprindere Mica ", + "Sef Atelier Telecomunicatii", + "Sef Birou Exploatare Postala", + "Sef Birou Radiotelecomunicatii", + "Sef Centrala Telefonica", + "Sef Centru Control Calitate Emisie Radiofonica", + "Sef Centru Control Calitate Emisie Televiziune", + "Sef Centru Control Local Comunicatii", + "Sef Centru Dirijare Zbor", + "Sef Centru Postal", + "Sef Centru (Sectie, Sector) Radiodifuziune", + "Sef Centru (Sectie, Sector) Telecomunicatii", + "Sef Centru Zonal Interventii Radiorelee", + "Sef Centru Zonal De Interventii Translatare Tv", + "Sef Formatie Comunicatii", + "Sef Formatie Operationala Telecomunicatii", + "Sef Laborator Masuratori Telecomunicatii", + "Sef Laborator Radioteleviziune", + "Sef Laborator Telecomunicatii", + "Sef Lot Telecomunicatii", + "Sef Retea Telecomunicatii", + "Sef Serviciu Control Zonal Comunicatii", + "Sef Serviciu Exploatare Postala", + "Sef Serviciu Informare Zbor", + "Sef Serviciu Navigatie", + "Sef Serviciu Radiotelecomunicatii", + "Sef Statie Comunicatii Prin Satelit", + "Sef Statie Radiorelee", + "Sef Statie Televiziune", + "Sef Studio", + "Telefonist-Sef", + "Telegrafist-Sef", + "Sef Oficiu Zonal Posta", + "Sef Oficiu Special Posta", + "Diriginte Oficiu Telecomunicatii", + "Sef Turn Telecomunicatii", + "Sef Statie Radiotelegrafie (Rtg)", + "Sef Centru National De Telecomunicatii Aeronautice Aviatie Civila", + "Conducator Intreprindere Mica ", + "Asistent Medical Sef", + "Biochimist Sef Sectie, Laborator", + "Biolog Sef Sectie, Laborator", + "Chimist Sef Sectie, Laborator", + "Farmacist Sef Sectie, Laborator", + "Farmacist Diriginte", + "Laborant Medical Sef", + "Medic-Sef (Policlinica, Statie De Salvare, Centru De Recoltare Sange)", + "Medic Sef Sectie, Laborator", + "Moasa-Sefa", + "Oficiant Medical Sef", + "Psiholog Sef Sectie, Laborator", + "Sora Medicala Sefa", + "Tehnician Sanitar Sef", + "Sef Serviciu De Reintegrare Sociala Si Supraveghere", + "Conducator De Intreprindere Mica ", + "Conducator Tabara Scolara", + "Director Unitate De Invatamant", + "Secretar Stiintific Invatamant, Cercetare", + "Sef Lectorat", + "Sef Catedra", + "Conducator De Intreprindere Mica ", + "Director Palate Si Cluburi Ale Elevilor", + "Sef Serviciu/Sef Birou Asigurari", + "Sef Serviciu/Sef Birou Daune", + "Sef Expozitii Si Targuri", + "Sef Vama", + "Inginer-Sef Intreprinderi De Reparatii Obiecte De Uz Casnic, Curatatorii Si Alte Servicii Pentru Populatie", + "Sef Atelier Reparatii Obiecte De Uz Casnic, Curatatorii Si Alte Servicii Pentru Populatie", + "Sef Centru Reparatii", + "Sef Centru Dezinfectie, Deratizare Si Dezinsectie", + "Coordonator Presa", + "Librar-Sef", + "Conducator Intreprindere Mica ", + "Redactor-Sef Presa, Editura", + "Secretar General Agentie Presa, Editura", + "Secretar General Redactie", + "Sef Birou Exploatare, Coordonare Presa", + "Sef Birou Redactie", + "Sef Birou Relatii Unitati Presa", + "Sef Oficiu Juridic", + "Sef Oficiu, Serviciu, Sectie, Redactie", + "Conducator Intreprindere Mica ", + "Sef Complex Hotelier", + "Sef Unitate Balneoclimaterica", + "Administrator Hotel", + "Director De Hotel", + "Director De Motel", + "Director De Hotel Pentru Tineret", + "Director De Camping", + "Director De Sat De Vacanta", + "Director De Popas Turistic", + "Director Restaurant", + "Director Rotiserie", + "Director Crama", + "Director Braserie", + "Director Berarie", + "Director Gradina De Vara", + "Director Bar", + "Director Cafenea", + "Director Disco-Bar", + "Director Unitati Tip Fast-Food", + "Director Cofetarie, Patiserie", + "Director De Club (Hotelier)", + "Director De Cazare", + "Sef Restaurant", + "Director De Departament Alimentatie", + "Director De Departament Catering", + "Presedinte Cooperativa De Consum", + "Sef Baza Receptie", + "Sef Serviciu Comert Cu Ridicata Si Cu Amanuntul", + "Sef Birou Comert Cu Ridicata Si Cu Amanuntul", + "Vicepresedinte Cooperativa De Consum", + "Sef Statie Peco", + "Sef Departament Marfuri Alimentare/Nealimentare", + "Manager De Zona", + "Inginer Sef Firme De Afaceri Si Alte Servicii Comerciale", + "Sef Agentie Comerciala", + "Conducator Intreprindere Mica ", + "Antrenor Federatie Sportiva", + "Comandant Aeroclub", + "Consilier Teritorial Sef Inspectoratul Pentru Cultura", + "Director Asezamant Cultural", + "Manager Al Organizatiei Culturale", + "Presedinte Federatie Sportiva", + "Presedinte Complex, Club Sportiv", + "Secretar General Federatie Sport", + "Sef Agentie Concursuri Hipice", + "Sef Productie Film", + "Sef Sectie Productie Film", + "Sef Atelier Productie Film", + "Sef Oficiu Interjudetean Difuzare Film", + "Conducator De Intreprindere Mica ", + "Sef Atelier Decorator", + "Sef Agentie/Oficiu Turism", + "Sef Unitate Elementara De Lucru", + "Sef Atelier Presa", + "Sef Laborator Conservare-Restaurare Opere De Arta", + "Sef Serviciu Control Tehnic Presa", + "Conducator De Intreprindere Mica ", + "Manager In Activitatea De Turism", + "Director De Agentie De Turism Touroperatoare/ Detailista/Filiala/Sucursala", + "Director Centru Informare Turistica", + "Director De Departament Organizare Evenimente", + "Conducator De Pensiune Turistica (Rurala, Agroturistica, Montana)", + "Sef Serviciu Statie, Tura Meteo", + "Sef Centru Meteo Aeronautic", + "Sef Birou/Statie/Tura Meteo Aeronautic/De Aerodrom", + "Sef Centru National Pentru Protectia Meteorologica A Navigatiei Aeriene", + "Sef Echipa Interventii Si Supraveghere Echipamente In Serviciile De Trafic Aerian", + "Fizician", + "Cercetator In Fizica", + "Asistent De Cercetare In Fizica", + "Cercetator In Fizica-Chimie", + "Asistent De Cercetare In Fizica-Chimie", + "Cercetator In Fizica Tehnologica", + "Asistent De Cercetare In Fizica Tehnologica", + "Cercetator In Astronomie", + "Asistent De Cercetare In Astronomie", + "Cercetator De Aeronave", + "Inginer De Cercetare De Aeronave", + "Asistent De Cercetare De Aeronave", + "Cercetator In Constructii Aerospatiale", + "Inginer De Cercetare In Constructii Aerospatiale", + "Asistent De Cercetare In Constructii Aerospatiale", + "Meteorolog (Studii Superioare)", + "Meteorolog Previzionist", + "Climatolog", + "Meteorolog Aeronautic", + "Consilier/Expert In Meteorologie Si Domenii Conexe", + "Asistent Meteorolog", + "Meteorolog Aeronautic Prognozist", + "Coordonator Interventii Active In Atmosfera", + "Cercetator In Meteorologie", + "Asistent De Cercetare In Meteorologie", + "Chimist", + "Consilier Chimist", + "Expert Chimist", + "Inspector De Specialitate Chimist", + "Referent De Specialitate Chimist", + "Cercetator In Chimie", + "Asistent De Cercetare In Chimie", + "Cercetator In Biochimie Tehnologica", + "Asistent De Cercetare In Biochimie Tehnologica", + "Cercetator In Chimie Fizica", + "Asistent De Cercetare In Chimie Fizica", + "Consilier Geolog", + "Expert Geolog", + "Inspector De Specialitate Geolog", + "Referent De Specialitate Geolog", + "Consilier Geofizician", + "Expert Geofizician", + "Inspector De Specialitate Geofizician", + "Referent De Specialitate Geofizician", + "Consilier Hidrogeolog", + "Expert Hidrogeolog", + "Inspector De Specialitate Hidrogeolog", + "Referent De Specialitate Hidrogeolog", + "Consilier Hidrolog", + "Expert Hidrolog", + "Inspector De Specialitate Hidrolog", + "Referent De Specialitate Hidrolog", + "Consilier Pedolog", + "Expert Pedolog", + "Inspector De Specialitate Pedolog", + "Referent De Specialitate Pedolog", + "Inginer Geolog", + "Geolog", + "Geofizician", + "Hidrolog", + "Pedolog", + "Cercetator In Geologie", + "Asistent De Cercetare In Geologie", + "Cercetator In Geologie Tehnica", + "Asistent De Cercetare In Geologie Tehnica", + "Cercetator In Geofizica", + "Asistent De Cercetare In Geofizica", + "Cercetator In Mineralogia Tehnica Si Experimentala", + "Asistent De Cercetare In Mineralogia Tehnica Si Experimentala", + "Cercetator In Geochimie", + "Asistent De Cercetare In Geochimie", + "Cercetator In Geologie Petroliera", + "Asistent De Cercetare In Geologie Petroliera", + "Cercetator In Geodezie", + "Inginer De Cercetare In Geodezie", + "Asistent De Cercetare In Geodezie", + "Cercetator In Cadastru", + "Inginer De Cercetare In Cadastru", + "Asistent De Cercetare In Cadastru", + "Consilier Matematician", + "Expert Matematician", + "Inspector De Specialitate Matematician", + "Referent De Specialitate Matematician", + "Consilier Actuar", + "Expert Actuar", + "Inspector De Specialitate Actuar", + "Referent De Specialitate Actuar", + "Matematician", + "Actuar (Studii Superioare)", + "Consilier Statistician", + "Expert Statistician", + "Inspector De Specialitate Statistician", + "Referent De Specialitate Statistician", + "Cercetator In Matematica", + "Asistent De Cercetare In Matematica", + "Cercetator In Matematica Mecanica", + "Asistent De Cercetare In Matematica-Mecanica", + "Cercetator In Matematica Aplicata", + "Asistent De Cercetare In Matematica Aplicata", + "Cercetator In Matematica-Fizica", + "Asistent De Cercetare In Matematica-Fizica", + "Cercetator In Matematica Informatica", + "Asistent De Cercetare In Matematica-Informatica", + "Cercetator In Statistica", + "Asistent De Cercetare In Statistica", + "Cercetator In Demografie", + "Asistent De Cercetare In Demografie", + "Consilier Biolog", + "Expert Biolog", + "Inspector De Specialitate Biolog", + "Referent De Specialitate Biolog", + "Consilier Botanist", + "Expert Botanist", + "Inspector De Specialitate Botanist", + "Referent De Specialitate Botanist", + "Consilier Zoolog", + "Expert Zoolog", + "Inspector De Specialitate Zoolog", + "Referent De Specialitate Zoolog", + "Consilier Ecolog", + "Biolog", + "Zoolog", + "Botanist", + "Consilier Bacteriolog", + "Expert Bacteriolog", + "Inspector De Specialitate Bacteriolog", + "Referent De Specialitate Bacteriolog", + "Consilier Biochimist", + "Expert Biochimist", + "Inspector De Specialitate Biochimist", + "Referent De Specialitate Biochimist", + "Consilier Farmacolog", + "Expert Farmacolog", + "Inspector De Specialitate Farmacolog", + "Referent De Specialitate Farmacolog", + "Consilier Microbiolog", + "Expert Microbiolog", + "Inspector De Specialitate Microbiolog", + "Referent De Specialitate Microbiolog", + "Farmacolog", + "Bacteriolog", + "Microbiolog", + "Cercetator In Biologie", + "Asistent De Cercetare In Biologie", + "Cercetator In Microbiologie-Bacteriologie", + "Asistent De Cercetare In Microbiologie-Bacteriologie", + "Cercetator In Biologie Chimie", + "Asistent De Cercetare In Biologie Chimie", + "Cercetator In Botanica", + "Asistent De Cercetare In Botanica", + "Cercetator In Domeniul Zoologic", + "Asistent De Cercetare In Domeniul Zoologic", + "Cercetator In Ecologie Si Protectia Mediului", + "Asistent De Cercetare In Ecologie Si Protectia Mediului", + "Cercetator In Ingineria Genetica", + "Asistent De Cercetare In Ingineria Genetica", + "Consilier Inginer Agronom", + "Expert Inginer Agronom", + "Inspector De Specialitate Inginer Agronom", + "Referent De Specialitate Inginer Agronom", + "Consilier Inginer Horticol", + "Expert Inginer Horticol", + "Inspector De Specialitate Inginer Horticol", + "Referent De Specialitate Inginer Horticol", + "Consilier Inginer Zootehnist", + "Expert Inginer Zootehnist", + "Inspector De Specialitate Inginer Zootehnist", + "Referent De Specialitate Inginer Zootehnist", + "Subinginer Agronom", + "Subinginer Zootehnist", + "Inginer Tehnolog In Zootehnie", + "Proiectant Inginer In Agricultura", + "Proiectant Inginer In Zootehnie", + "Proiectant Inginer In Silvicultura", + "Consilier Inginer Silvic", + "Expert Inginer Silvic", + "Inspector De Specialitate Inginer Silvic", + "Referent De Specialitate Inginer Silvic", + "Inginer Imbunatatiri Funciare", + "Inginer/Subinginer Silvic", + "Inginer Agronom", + "Inginer Zootehnist", + "Consultant Tehnic In Productia De Cereale, Plante Tehnice Si Furaje", + "Subinginer Imbunatatiri Funciare", + "Agent Agricol", + "Brigadier Silvic", + "Padurar", + "Tehnician Agronom ", + "Tehnician Zootehnist ", + "Tehnician Silvic ", + "Clasificator Carcase", + "Operator De Insamantari Artificiale La Animale", + "Administrator Bunuri Agricole", + "Consultant Afaceri In Agricultura", + "Cercetator In Agricultura", + "Inginer De Cercetare In Agricultura", + "Asistent De Cercetare In Agricultura", + "Inginer De Cercetare In Pedologie-Agrochimie", + "Asistent De Cercetare In Pedologie-Agrochimie", + "Cercetator In Pedologie-Agrochimie", + "Cercetator In Horticultura", + "Inginer De Cercetare In Horticultura", + "Asistent De Cercetare In Horticultura", + "Cercetator In Agromontanologie", + "Inginer De Cercetare In Agromontanologie", + "Asistent De Cercetare In Agromontanologie", + "Cercetator In Silvicultura", + "Inginer De Cercetare In Silvicultura", + "Asistent De Cercetare In Silvicultura", + "Cercetator In Zootehnie", + "Asistent De Cercetare In Zootehnie", + "Cercetator In Biotehnologie Pentru Agricultura", + "Asistent De Cercetare In Biotehnologie Pentru Agricultura", + "Expert Ecolog", + "Inspector De Specialitate Ecolog", + "Referent De Specialitate Ecolog", + "Inginer Ecolog", + "Ecolog", + "Inginer Confectii Piele Si Inlocuitori", + "Inginer Textile, Pielarie", + "Inginer Tricotaje, Confectii", + "Subinginer Textile, Pielarie", + "Proiectant Inginer Textile, Pielarie", + "Consilier Inginer Textile, Pielarie", + "Expert Inginer Textile, Pielarie", + "Inspector Specialitate Inginer Textile, Pielarie", + "Referent De Specialitate Inginer Textile, Pielarie", + "Conceptor/Conceptor Cao", + "Specialist Incercari Componente Vehicule/Grup Motopropulsor/Optimizare Energetica/Sisteme De Masurare", + "Specialist Documentatie Studii", + "Instructor Sistem De Productie", + "Metodist", + "Responsabil Afacere", + "Manager De Cladire", + "Inginer Industrializarea Lemnului", + "Subinginer Industrializarea Lemnului", + "Consilier Inginer Industrializarea Lemnului", + "Expert Inginer Industrializarea Lemnului", + "Inspector De Specialitate Inginer Industrializarea Lemnului", + "Referent De Specialitate Inginer Industrializarea Lemnului", + "Cercetator In Tehnologia Prelucrarii Produselor Agricole", + "Inginer De Cercetare In Tehnologia Prelucrarii Produselor Agricole", + "Asistent De Cercetare In Tehnologia Prelucrarii Produselor Agricole", + "Cercetator In Pescuit Si Acvacultura", + "Inginer De Cercetare In Pescuit Si Acvacultura", + "Asistent De Cercetare In Pescuit Si Acvacultura", + "Specialist In Domeniul Calitatii", + "Auditor In Domeniul Calitatii", + "Analist Calitate", + "Analist Masuratori Metrologice", + "Analist Studiul Materialelor", + "Consultant Sistem De Calitate", + "Logistician Gestiune Flux", + "Programator Fabricatie/Lansator Fabricatie", + "Documentarist Ordonantare Logistica", + "Auditor Energetic Pentru Cladiri", + "Inginer Constructii Civile, Industriale Si Agricole", + "Subinginer Constructii Civile, Industriale Si Agricole", + "Inginer Instalatii Pentru Constructii", + "Inginer Cai Ferate, Drumuri Si Poduri", + "Inginer Constructii Hidrotehnice", + "Inginer Constructor Instalatii", + "Proiectant Inginer Instalatii", + "Proiectant Inginer Constructii", + "Consilier Inginer Constructii", + "Expert Inginer Constructii", + "Inspector De Specialitate Inginer Constructii", + "Referent De Specialitate Inginer Constructii", + "Conducator De Lucrari Civile", + "Diriginte Santier (Studii Superioare)", + "Cercetator In Constructii Civile, Industriale Si Agricole", + "Inginer De Cercetare In Constructii Civile, Industriale Si Agricole", + "Asistent De Cercetare In Constructii Civile, Industriale Si Agricole", + "Cercetator In Constructii De Cai Ferate, Drumuri Si Poduri", + "Inginer De Cercetare In Constructii De Cai Ferate, Drumuri Si Poduri", + "Asistent De Cercetare In Constructii De Cai Ferate, Drumuri Si Poduri", + "Cercetator In Constructii Hidrotehnice", + "Inginer De Cercetare In Constructii Hidrotehnice", + "Asistent De Cercetare In Constructii Hidrotehnice", + "Inginer De Cercetare In Ingineria Sanitara Si Protectia Mediului", + "Cercetator In Constructii Miniere", + "Inginer De Cercetare In Constructii Miniere", + "Asistent De Cercetare In Constructii Miniere", + "Cercetator In Instalatii", + "Inginer De Cercetare In Instalatii", + "Asistent De Cercetare In Instalatii", + "Cercetator In Stiinta Si Ingineria Materialelor Oxidice", + "Inginer De Cercetare In Ingineria Materialelor Oxidice", + "Asistent De Cercetare In Ingineria Materialelor Oxidice", + "Cercetator In Centrale Hidroelectrice In Ingineria Mediului", + "Inginer De Cercetare In Centrale Hidroelectrice In Ingineria Mediului", + "Asistent De Cercetare In Centrale Hidroelectrice In Ingineria Mediului", + "Inginer Mecanic", + "Subinginer Mecanic", + "Inginer Electromecanic Minier", + "Inginer Material Rulant Cale Ferata", + "Inginer Mecanica Agricola", + "Inginer Aviatie", + "Inginer Nave", + "Inginer Masini-Unelte", + "Inginer Mecanica Fina", + "Inginer Masini Termice", + "Inginer Masini Hidraulice Si Pneumatice", + "Inginer Autovehicule Rutiere", + "Inginer Mecanic Utilaj Tehnologic Chimic", + "Inginer Mecanic Utilaj Tehnologic Petrolier", + "Inginer Mecanic Utilaj Tehnologic Masini Agricole", + "Inginer Mecanic Utilaj Tehnologic Textil", + "Inginer Mecanic Utilaj Tehnologic Pentru Constructii", + "Inginer Mecanic Utilaj Tehnologic Pentru Prelucrare La Cald", + "Inginer Mecanic Masini Instalatii Miniere", + "Subinginer Mecanic Tehnologia Constructiilor De Masini", + "Subinginer Mecanic Utilaje Si Tehnica Sudurii", + "Subinginer Mecanic, Mecanica Fina", + "Subinginer Mecanic Material Rulant De Cale Ferata", + "Subinginer Mecanic Mecanica Agricola", + "Subinginer Mecanic Utilaj Tehnologic Pentru Chimie", + "Subinginer Mecanic Utilaje Pentru Constructii", + "Subinginer Mecanic Avioane Si Motoare De Aviatie", + "Subinginer Mecanic Constructii Corp De Nava", + "Subinginer Mecanic Instalatii Navale De Bord", + "Subinginer Mecanic Automobile", + "Subinginer Mecanic Utilaje Pentru Industria Lemnului", + "Subinginer Mecanic Utilaje Pentru Materiale De Constructie", + "Consilier Inginer Mecanic", + "Expert Inginer Mecanic", + "Inspector De Specialitate Inginer Mecanic", + "Referent De Specialitate Inginer Mecanic", + "Proiectant Inginer Aeronave", + "Proiectant Inginer Mecanic", + "Inginer Pilot De Incercare", + "Subinginer Proiectant Mecanic", + "Specialist Reglementari/Carti De Identitate Vehicule/Verificari Tehnice Inmatriculare/Inspectii Tehnice", + "Specialist Prestatii Vehicule", + "Specialist Mentenanta Mecanica Echipamente Industriale", + "Inginer/Subinginer Tehnolog Prelucrari Mecanice", + "Inginer Tehnolog In Fabricarea Armamentului Si Munitiei", + "Subinginer Tehnolog In Fabricarea Armamentului Si Munitiei", + "Inginer Pentru Protectia Navigatiei Aeriene (Comunicatii, Navigatie, Supraveghere)", + "Cercetator In Sisteme De Propulsie", + "Inginer De Cercetare In Sisteme De Propulsie", + "Asistent De Cercetare In Sisteme De Propulsie", + "Cercetator In Echipamente Si Instalatii De Bord", + "Inginer De Cercetare In Echipamente Si Instalatii De Bord", + "Asistent De Cercetare In Echipamente Si Instalatii De Bord", + "Cercetator In Masini Si Echipamente Termice", + "Inginer De Cercetare In Masini Si Echipamente Termice", + "Asistent De Cercetare In Masini Si Echipamente Termice", + "Cercetator In Masini Hidraulice Si Pneumatice", + "Inginer De Cercetare In Masini Hidraulice Si Pneumatice", + "Asistent De Cercetare In Masini Hidraulice Si Pneumatice", + "Cercetator In Echipamente De Proces", + "Inginer De Cercetare In Echipamente De Proces", + "Asistent De Cercetare In Echipamente De Proces", + "Cercetator In Mecanica Fina", + "Inginer De Cercetare In Mecanica Fina", + "Asistent De Cercetare In Mecanica Fina", + "Cercetator In Tehnologia Constructiilor De Masini", + "Inginer De Cercetare In Tehnologia Constructiilor De Masini", + "Asistent De Cercetare In Tehnologia Constructiilor De Masini", + "Cercetator In Constructii De Masini Agricole", + "Inginer De Cercetare In Constructii De Masini Agricole", + "Asistent De Cercetare In Constructii De Masini Agricole", + "Cercetator In Autovehicule Rutiere", + "Inginer De Cercetare In Autovehicule Rutiere", + "Asistent De Cercetare In Autovehicule Rutiere", + "Cercetator In Utilaje Si Instalatii Portuare", + "Inginer De Cercetare In Utilaje Si Instalatii Portuare", + "Asistent De Cercetare In Utilaje Si Instalatii Portuare", + "Cercetator In Utilaje Si Tehnologia Ambalarii", + "Inginer De Cercetare In Utilaje Si Tehnologia Ambalarii", + "Asistent De Cercetare In Utilaje Si Tehnologia Ambalarii", + "Cercetator In Creatia Tehnica In Constructia De Masini", + "Inginer De Cercetare In Creatia Tehnica In Constructia De Masini", + "Asistent De Cercetare In Creatia Tehnica In Constructia De Masini", + "Cercetator In Masini Si Instalatii Mecanice", + "Inginer De Cercetare In Masini Si Instalatii Mecanice", + "Asistent De Cercetare In Masini Si Instalatii Mecanice", + "Cercetator In Instalatii Si Utilaje Pentru Transportul Si Depozitarea Produselor Petroliere", + "Inginer Petrochimist", + "Subinginer Petrochimist", + "Proiectant Inginer Chimist", + "Consilier Inginer Chimist", + "Expert Inginer Chimist", + "Inspector De Specialitate Inginer Chimist", + "Referent De Specialitate Inginer Chimist", + "Consilier Inginer Petrochimist", + "Expert Inginer Petrochimist", + "Inspector De Specialitate Inginer Petrochimist", + "Referent De Specialitate Petrochimist", + "Biochimist", + "Inginer Chimist", + "Inginer In Industria Alimentara", + "Subinginer In Industria Alimentara", + "Proiectant Inginer Produse Alimentare", + "Consilier Inginer Industria Alimentara", + "Expert Inginer Industria Alimentara", + "Inspector De Specialitate Inginer Industria Alimentara", + "Referent De Specialitate Inginer Industria Alimentara", + "Cercetator In Tehnologia Substantelor Anorganice", + "Inginer De Cercetare In Tehnologia Substantelor Anorganice", + "Asistent De Cercetare In Tehnologia Substantelor Anorganice", + "Cercetator In Tehnologia Substantelor Organice", + "Inginer De Cercetare In Tehnologia Substantelor Organice", + "Asistent De Cercetare In Tehnologia Substantelor Organice", + "Cercetator In Petrochimie Si Carbochimie", + "Inginer De Cercetare In Petrochimie Si Carbochimie", + "Asistent De Cercetare In Petrochimie Si Carbochimie", + "Cercetator In Tehnologia Compusilor Macromoleculari", + "Inginer De Cercetare In Tehnologia Compusilor Macromoleculari", + "Asistent De Cercetare In Tehnologia Compusilor Macromoleculari", + "Cercetator In Controlul Calitatii Produselor Alimentare", + "Inginer De Cercetare In Controlul Calitatii Produseloralimentare", + "Asistent De Cercetare In Controlul Calitatii Produselor Alimentare", + "Inginer Metalurgie Extractiva", + "Inginer Minier", + "Subinginer Metalurgist", + "Subinginer Minier", + "Inginer Preparator Minier", + "Consilier Inginer Metalurg", + "Inspector De Specialitate Inginer Metalurg", + "Referent De Specialitate Inginer Metalurg", + "Consilier Inginer Minier", + "Expert Inginer Minier", + "Inspector De Specialitate Inginer Minier", + "Referent De Specialitate Inginer Minier", + "Inginer Prelucrari Metalurgice", + "Inginer Metalurgie Neferoasa", + "Inginer Petrolist", + "Subinginer Petrolist", + "Consilier Inginer Petrolist", + "Expert Inginer Petrolist", + "Referent Inginer Petrolist", + "Proiectant Inginer Petrolist", + "Inginer Tehnolog Metalurg", + "Proiectant Inginer Metalurg", + "Proiectant Inginer In Minerit", + "Inginer Mineralurg", + "Cercetator In Exploatari Miniere", + "Inginer De Cercetare In Exploatari Miniere", + "Asistent De Cercetare In Exploatari Miniere", + "Cercetator In Prepararea Substantelor Minerale Utile", + "Inginer De Cercetare In Prepararea Substantelor Minerale Utile", + "Asistent De Cercetare In Prepararea Substantelor Minerale Utile", + "Cercetator In Petrol (Extractie-Prospectiune)", + "Inginer De Cercetare In Petrol (Extractie-Prospectiune)", + "Asistent De Cercetare In Petrol (Extractieprospectiune)", + "Cercetator In Topografie Miniera", + "Inginer De Cercetare In Topografie Miniera", + "Asistent De Cercetare In Topografie Miniera", + "Cercetator In Ingineria Proceselor Siderurgice", + "Inginer De Cercetare In Ingineria Proceselor Siderurgice", + "Asistent De Cercetare In Ingineria Proceselor Siderurgice", + "Cercetator In Metalurgia Neferoasa", + "Inginer De Cercetare In Metalurgia Neferoasa", + "Asistent De Cercetare In Metalurgia Neferoasa", + "Inginer De Cercetare In Turnarea Metalelor", + "Asistent De Cercetare In Turnarea Metalelor", + "Cercetator In Prelucrari Plastice Si Tratamente Termice", + "Inginer De Cercetare In Prelucrari Plastice Si Tratamente Termice", + "Asistent De Cercetare In Prelucrari Plastice Si Tratamente Termice", + "Cercetator In Stiinta Materialelor", + "Inginer De Cercetare In Stiinta Materialelor", + "Asistent De Cercetare In Stiinta Materialelor", + "Cercetator In Tehnologii Carbochimice", + "Inginer De Cercetare In Tehnologii Carbochimice", + "Asistent De Cercetare In Tehnologii Carbochimice", + "Inginer De Cercetare In Instalatii Si Utilaje Pentru Transportul Si Depozitarea Produselor Petroliere", + "Asistent De Cercetare In Instalatii Si Utilaje Pentru Transportul Si Depozitarea Produselor Petroliere", + "Expert Inginer Metalurg", + "Inginer Prelucrarea Sticlei Si Ceramicii", + "Subinginer Prelucrarea Sticlei Si Ceramicii", + "Inginer Materiale De Constructii", + "Subinginer Materiale De Constructii", + "Consilier Inginer Prelucrarea Sticlei Si Ceramicii", + "Expert Inginer Prelucrarea Sticlei Si Ceramicii", + "Inspector De Specialitate Inginer Prelucrarea Sticlei Si Ceramicii", + "Referent De Specialitate Inginer Prelucrarea Sticlei Si Ceramicii", + "Proiectant Inginer Ceramica, Sticla", + "Chimist In Materiale Oxidice (Sticla, Ceramica)", + "Subinginer Tehnologia Celulozei Si Hartiei", + "Proiectant Inginer Celuloza Si Hartie", + "Consilier Inginer Tehnologia Celulozei Si Hartiei", + "Expert Inginer Tehnologia Celulozei Si Hartiei", + "Inspector De Specialitate Inginer Tehnologia Celulozei Si Hartiei", + "Referent De Specialitate Inginer Tehnologia Celulozei Si Hartiei", + "Cercetator In Informatica", + "Asistent De Cercetare In Informatica", + "Cercetator In Filatura-Tesatorie", + "Inginer De Cercetare In Filatura-Tesatorie", + "Asistent De Cercetare In Filatura-Tesatorie", + "Cercetator In Tricotaje-Confectii Textile", + "Inginer De Cercetare In Tricotaje-Confectii Textile", + "Asistent De Cercetare In Tricotaje-Confectii Textile", + "Cercetator In Tehnologia Chimica A Produselor Textile, Pieii, Blanurilor Si Inlocuitorilor", + "Inginer De Cercetare In Tehnologia Chimica A Produselor Textile, Pieii, Blanurilor Si Inlocuitorilor", + "Asistent De Cercetare In Tehnologia Chimica A Produselor Textile, Pieii, Blanurilor Si Inlocuitorilor", + "Cercetator In Confectii Din Piele Si Inlocuitori", + "Inginer De Cercetare In Confectii Din Piele Si Inlocuitori", + "Asistent De Cercetare In Confectii Din Piele Si Inlocuitori", + "Cercetator In Exploatari Forestiere", + "Inginer De Cercetare In Exploatari Forestiere", + "Asistent De Cercetare In Exploatari Forestiere", + "Inginer De Cercetare In Proiectarea Mobilei Si Produselor Finite Din Lemn", + "Cercetator In Prelucrarea Lemnului", + "Inginer De Cercetare In Prelucrarea Lemnului", + "Asistent De Cercetare In Prelucrarea Lemnului", + "Cercetator In Tehnologie Si Echipamente Neconventionale", + "Inginer De Cercetare In Tehnologie Si Echipamente Neconventionale", + "Asistent De Cercetare In Tehnologie Si Echipamente Neconventionale", + "Cercetator In Tehnologia Celulozei, Hartiei, Poligrafiei Si Fibrelor", + "Inginer De Cercetare In Tehnologia Celulozei, Hartiei, Poligrafiei Si Fibrelor", + "Asistent De Cercetare In Tehnologia Celulozei, Hartiei, Poligrafiei Si Fibrelor", + "Cercetator In Turnarea Metalelor", + "Administrator Societate Comerciala", + "Expert Achizitii Publice", + "Expert Elaborare Documentatii Tehnice De Montaj", + "Expert Monitorizare Si Control Lucrari De Montaj", + "Expert Prevenire-Reducere Riscuri Tehnologice", + "Expert Urmarire Comportare In Exploatare Lucrari Montaj", + "Dispecer Energetic Feroviar", + "Dispecer Centrala, Hidrocentru, Cascada, Dispecerate Teritoriale", + "Dispecer Retea Distributie", + "Dispecer Retele De Inalta Tensiune", + "Inginer Electroenergetica", + "Radiochimist", + "Subinginer Electroenergetica", + "Inginer Energetica Industriala", + "Inginer Termoenergetica", + "Proiectant Inginer Electrotehnic", + "Proiectant Inginer Energetician", + "Inginer Retele Electrice", + "Subinginer Retele Electrice", + "Inginer Hidroenergetica", + "Inginer Centrale Nuclearoelectrice", + "Subinginer Centrale Termoelectrice", + "Inginer Exploatare Instalatii Nucleare", + "Proiectant Subinginer Electrotehnic", + "Proiectant Sisteme De Securitate", + "Sef Tura Dispecer Energetic", + "Cercetator In Electrotehnica", + "Inginer De Cercetare In Electrotehnica", + "Asistent De Cercetare In Electrotehnica", + "Cercetator In Electrofizica", + "Inginer De Cercetare In Electrofizica", + "Asistent De Cercetare In Electrofizica", + "Cercetator In Metrologie", + "Inginer De Cercetare In Metrologie", + "Asistent De Cercetare In Metrologie", + "Cercetator In Electromecanica", + "Inginer De Cercetare In Electromecanica", + "Asistent De Cercetare In Electromecanica", + "Cercetator Roboti Industriali", + "Inginer De Cercetare Roboti Industriali", + "Asistent De Cercetare Roboti Industriali", + "Cercetator In Centrale Termoelectrice", + "Inginer De Cercetare In Centrale Termoelectrice", + "Asistent De Cercetare In Centrale Termoelectrice", + "Cercetator In Centrale Nuclearoelectrice", + "Inginer De Cercetare In Centrale Nuclearoelectrice", + "Asistent De Cercetare In Centrale Nuclearoelectrice", + "Cercetator In Electroenergetica", + "Inginer De Cercetare In Electroenergetica", + "Asistent De Cercetare In Electroenergetica", + "Cercetator In Energetica Industriala", + "Inginer De Cercetare In Energetica Industriala", + "Asistent De Cercetare In Energetica Industriala", + "Inginer Electromecanic Scb", + "Inginer Automatist", + "Inginer Navigatie", + "Inginer Electronist Transporturi, Telecomunicatii", + "Inginer Productie", + "Instructor Instalatii", + "Instructor Linii", + "Revizor Siguranta Circulatiei Feroviare", + "Subinginer Automatist", + "Subinginer Electronist Transporturi, Telecomunicatii", + "Subinginer Reglaje Subansamble", + "Inginer De Receptie Si Control Aeronave", + "Proiectant Inginer Electronist", + "Proiectant Inginer De Sisteme Si Calculatoare", + "Proiectant Inginer Electromecanic", + "Inginer Electromecanic", + "Subinginer Electromecanic", + "Capitan Secund", + "Capitan Port (Studii Superioare)", + "Specialist Mentenanta Electromecanica-Automatica Echipamente Industriale", + "Inspector Aeronautic", + "Inginer Sisteme De Securitate", + "Cercetator In Electronica Aplicata", + "Inginer De Cercetare In Electronica Aplicata", + "Asistent De Cercetare In Electronica Aplicata", + "Cercetator In Comunicatii", + "Inginer De Cercetare In Comunicatii", + "Asistent De Cercetare In Comunicatii", + "Cercetator In Microelectronica", + "Inginer De Cercetare In Microelectronica", + "Asistent De Cercetare In Microelectronica", + "Cercetator In Telecomenzi Si Electronica In Transporturi", + "Inginer De Cercetare In Telecomenzi Si Electronica In Transporturi", + "Asistent De Cercetare In Telecomenzi Si Electronica In Transporturi", + "Cercetator In Calculatoare", + "Inginer De Cercetare In Calculatoare", + "Asistent De Cercetare In Calculatoare", + "Cercetator In Automatica", + "Inginer De Cercetare In Automatica", + "Asistent De Cercetare In Automatica", + "Inginer Emisie", + "Inginer Montaj", + "Inginer Electrotehnist", + "Inginer Imagine", + "Inginer Sunet", + "Inginer-Sef Car Reportaj", + "Subinginer-Sef Car Reportaj", + "Inginer-Sef Schimb Emisie", + "Subinginer Iluminat Tehnologic", + "Inginer Proiectant Comunicatii", + "Subinginer Proiectant Comunicatii", + "Inginer/Inspector De Specialitate/Referent De Specialitate/Expert In Serviciile De Trafic Aerian", + "Consilier Tehnic", + "Inginer Iluminare", + "Sef Studio Rtv", + "Arhitect Cladiri", + "Conductor Arhitect", + "Arhitect Restaurari", + "Consilier Arhitect", + "Expert Arhitect", + "Inspector De Specialitate Arhitect", + "Referent De Specialitate Arhitect", + "Proiectant Arhitect", + "Cercetator In Arhitectura", + "Asistent De Cercetare In Arhitectura", + "Arhitect Peisagistica Si Amenajarea Teritoriului", + "Designer Industrial", + "Grafician Industrial", + "Lucrator In Ateliere De Modele", + "Costumier", + "Pictor Creator Costume", + "Modelier Confectii", + "Designer Vestimentar", + "Cercetator In Arte Plastice ", + "Asistent De Cercetare In Arte Plastice ", + "Cercetator In Arte Plastice ", + "Asistent De Cercetare In Arte Plastice-Textile (Tapiserie, Contexturi, Moda,Imprimeuri)", + "Cercetator In Arte Plastice ", + "Asistent De Cercetare In Arte Plastice ", + "Urbanist", + "Arhitect Urbanism", + "Cartograf", + "Inginer Geodez", + "Subinginer Geodez", + "Inginer Topograf", + "Inginer Topograf Minier", + "Proiectant Inginer Geodez", + "Designer Grafica (Studii Medii)", + "Animator Film De Animatie (Studii Medii)", + "Intermediarist Film Desene Animate (Studii Medii)", + "Stilizator Film Desene Animate (Studii Medii)", + "Asistent Regizor Studio", + "Asistent Regizor Emisie", + "Designer Floral", + "Videojurnalist", + "Art Director", + "Designer Pagini Web (Studii Superioare)", + "Designer Grafica (Studii Superioare)", + "Grafician Calculator (Studii Medii)", + "Designer Pagini Web (Studii Medii)", + "Medic Medicina Generala", + "Medic Rezident", + "Consilier Medic", + "Expert Medic", + "Inspector De Specialitate Medic", + "Referent De Specialitate Medic", + "Medic Primar", + "Medic Medicina In Familie", + "Cercetator In Medicina Generala", + "Asistent De Cercetare In Medicina Generala", + "Medic Specialist", + "Asistent Medical Generalist", + "Moasa", + "Cercetator In Medicina Traditionala", + "Asistent De Cercetare In Medicina Traditionala", + "Instructor Ergoterapie", + "Tehnician Homeopat", + "Instructor De Educatie Sanitara", + "Bioenergetician", + "Infoenergetician Radiestezist", + "Terapeut In Terapii Complementare", + "Paramedic", + "Epizotolog", + "Medic Veterinar", + "Medic Veterinar ", + "Cercetator In Medicina Veterinara", + "Asistent De Cercetare In Medicina Veterinara", + "Medic Stomatolog", + "Medic Stomatolog Rezident", + "Medic Stomatolog De Specialitate", + "Cercetator In Medicina Stomatologica", + "Asistent De Cercetare In Medicina Stomatologica", + "Farmacist", + "Farmacist Rezident", + "Farmacist De Specialitate", + "Inginer Clinic", + "Specialist In Domeniul Securitatii Si Sanatatii In Munca", + "Coordonator In Materie De Securitate Si Sanatate In Munca (Studii Superioare)", + "Cercetator Stiintific In Bacteriologie, Microbiochimie, Farmacologie", + "Asistent De Cercetare In Bacteriologie, Microbiologie, Biochimie, Farmacologie", + "Igienist", + "Evaluator De Risc Si Auditor In Domeniul Securitatii Sisanatatii In Munca", + "Fiziokinetoterapeut", + "Fizioterapeut", + "Cercetator In Fiziokinetoterapie", + "Asistent De Cercetare In Fiziokinetoterapie", + "Kinetoterapeut", + "Profesor De Cultura Fizica Medicala", + "Asistent De Nutritie", + "Dietetician", + "Nutritionist Si Dietetician", + "Instructor Logoped", + "Interpret In Limbaj Mimico-Gestual (Studii Medii)", + "Logoped", + "Audiolog", + "Optometrist (Studii Superioare)", + "Medic Igienist", + "Medic Expertiza A Capacitatii De Munca", + "Medic Legist", + "Bioinginer Medical", + "Asistent Medical (Studii Superioare)", + "Fizician Medical", + "Medic Specialist Psihiatru", + "Medic De Familie Cu Competente In Sanatatea Mintala", + "Cercetator In Educatie Fizica Si Sport", + "Asistent De Cercetare In Educatie Fizica Si Sport", + "Asistent Universitar", + "Conferentiar Universitar", + "Lector Universitar", + "Preparator Invatamantul Universitar", + "Profesor Universitar", + "Expert Centre De Perfectionare", + "Profesor In Invatamantul Profesional Si De Maistri", + "Profesor In Invatamantul Liceal, Postliceal", + "Profesor In Invatamantul Gimnazial", + "Profesor In Invatamantul Primar", + "Invatator", + "Institutor", + "Profesor In Invatamantul Prescolar", + "Educatoare", + "Educator Puericultor", + "Cercetator In Pedagogie", + "Asistent De Cercetare In Pedagogie", + "Consilier Invatamant", + "Expert Invatamant", + "Inspector Scolar", + "Referent De Specialitate Invatamant", + "Defectolog", + "Interpret In Limbaj Mimico-Gestual (Studii Superioare)", + "Educator In Unitati De Handicapati", + "Instructor-Educator In Unitati De Handicapati", + "Pedagog De Recuperare", + "Secretar Institut, Facultate", + "Mentor", + "Consilier Scolar", + "Designer Instructional", + "Dezvoltator De E-Learning", + "Laborant In Invatamant", + "Maistru Instructor", + "Pedagog Scolar", + "Secretar Scoala", + "Sef Atelier Scoala", + "Mediator Scolar", + "Inspector Scolar Pentru Implementarea Descentralizarii Institutionale", + "Inspector Scolar Pentru Managementul Resurselor Umane", + "Inspector Scolar Pentru Mentorat", + "Inspector Scolar Pentru Dezvoltarea Resursei Umane", + "Inspector Scolar Pentru Educatie Permanenta", + "Inspector Scolar Pentru Invatamant Particular Si Lternative Educationale", + "Inspector Scolar Pentru Invatamantul Special", + "Director Centrul Judetean De Asistenta Si Resurse Educationale (Cjare)", + "Consilier Pentru Tineret", + "Controlor Tezaur", + "Expert Contabil-Verificator", + "Revizor Contabil", + "Referent De Specialitate Financiar-Contabilitate", + "Auditor Intern", + "Controlor De Gestiune", + "Auditor Financiar", + "Cenzor", + "Comisar Garda Financiara", + "Consilier Financiar-Bancar", + "Expert Financiar-Bancar", + "Inspector Financiar-Bancar", + "Inspector Asigurari", + "Comisar Principal", + "Consultant Bugetar", + "Dealer", + "Evaluator", + "Analist Investitii", + "Manager De Fond Actiuni/Obligatiuni", + "Consultant Plasamente Valori Mobiliare", + "Agent Capital De Risc", + "Administrator Credite", + "Specialist Control Risc", + "Specialist Evaluare Daune", + "Lichidator", + "Administrator Judiciar", + "Analist Pret De Revenire/Costuri", + "Expert Fiscal", + "Consultant Fiscal", + "Inspector General De Banca", + "Economist Banca", + "Manager Banca", + "Manager De Operatiuni/Produs", + "Manager Relatii Cu Clientii Bancii/Societate De Leasing", + "Trezorier (Studii Superioare)", + "Analist Bancar/Societate De Leasing", + "Ofiter Bancar (Credite, Marketing, Produse Si Servicii Bancare)", + "Administrator Bancar/Produs Leasing", + "Operator Cifru (Mesaje Cifrate)", + "Proiectant Produse Bancare", + "Consultant Bancar", + "Agent Compensare (Interbancara)", + "Referent Bancar/Societate De Leasing", + "Ofiter Conformitate", + "Expert Conformitate", + "Ofiter Securitatea Informatiei (Security Officer ", + "Administrator De Risc", + "Analist Credite", + "Inspector De Specialitate Asigurari", + "Inspector De Specialitate Subscriere", + "Referent De Specialitate Asigurari", + "Consilier Vanzari Asigurari", + "Inspector Coordonator Asigurari", + "Inspector De Risc", + "Inspector De Specialitate Daune", + "Inspector Coordonator Daune", + "Specialist Sistem Asigurari", + "Expert Evaluator De Intreprinderi", + "Expert Evaluator De Proprietati Imobiliare", + "Expert Evaluator De Bunuri Mobile", + "Expert Evaluator De Active Financiare", + "Planificator/Specialist Plan Sinteze", + "Expert In Ingineria Costurilor Investitionale", + "Expert Contractare Activitati Investitionale", + "Expert Receptie Investitii Industriale", + "Expert Eficientizare Investitii", + "Expert Evaluare-Actualizare Devize Generale Investitii", + "Expert Elaborare-Evaluare Documentatii Achizitii Investitionale", + "Expert In Management Activitati Investitionale", + "Evaluator Proiecte", + "Inspector Casier", + "Broker De Tehnologii", + "Cercetator In Finante-Banci", + "Asistent De Cercetare In Finante-Banci", + "Cercetator In Gestiune, Contabilitate, Control Financiar", + "Asistent De Cercetare In Gestiune, Contabilitate, Control Financiar", + "Analist Financiar", + "Auditor Intern In Sectorul Public", + "Asistent Analist", + "Specialist Bancar", + "Analist Financiar Bancar", + "Asistent Bancar", + "Specialist/Analist Organizare", + "Manager Proiect", + "Specialist Imbunatatire Procese", + "Specialist Strategie Industriala", + "Responsabil Proces", + "Coordonator Secretariat Studiouri Teritoriale", + "Manager De Inovare", + "Expert In Conducerea Si Organizarea Activitatilor De Mentenanta", + "Manager Imbunatatire Procese", + "Specialist Plan Progres", + "Specialist In Planificarea, Controlul Si Raportarea Performantei Economice", + "Consilier Administratia Publica", + "Expert Administratia Publica", + "Inspector De Specialitate In Administratia Publica", + "Referent De Specialitate In Administratia Publica", + "Consultant In Administratia Publica", + "Reglementator", + "Agent De Dezvoltare", + "Administrator Public", + "Inspector De Integritate", + "Examinator De Stat De Specialitate", + "Administrator Publicatii", + "Agent Consular", + "Expert Accesare Fonduri Structurale Si De Coeziune Europene", + "Consilier Afaceri Europene", + "Referent Relatii Externe", + "Inspector De Trafic A.R.R. (Studii Superioare)", + "Expert Informatii Pentru Afaceri", + "Administrator Editura", + "Expert Aplicare Legislatie Armonizata In Domeniul Industriei Si Comertului", + "Expert Legislatia Muncii", + "Consilier Forta De Munca Si Somaj", + "Expert Forta De Munca Si Somaj", + "Inspector De Specialitate Forta De Munca Si Somaj", + "Expert In Securitate Si Sanatate In Munca", + "Referent De Specialitate Forta De Munca Si Somaj", + "Consilier Orientare Privind Cariera", + "Consultant In Domeniul Fortei De Munca", + "Analist Piata Muncii", + "Analist Recrutare/Integrare Salariati", + "Analist Sisteme Salarizare", + "Consultant Reconversie-Mobilitate Personal", + "Consultant Conditii De Munca", + "Specialist Sisteme De Calificare", + "Specialist Resurse Umane", + "Consilier Vocational", + "Consultant In Standardizare", + "Consultant In Resurse Umane", + "Consultant Intern In Resurse Umane", + "Specialist In Formare", + "Specialist In Recrutare", + "Specialist In Compensatii Si Beneficii", + "Specialist In Dezvoltare Organizationala", + "Specialist In Relatii De Munca", + "Formator", + "Formator De Formatori", + "Organizator/Conceptor/Consultant Formare", + "Inspector De Specialitate Formare, Evaluare Si Selectie Profesionala", + "Evaluator De Competente Profesionale", + "Manager De Formare", + "Administrator De Formare", + "Art Director Publicitate (Studii Medii)", + "Organizator Activitate Turism (Studii Superioare)", + "Specialist Marketing", + "Manager De Produs", + "Specialist In Relatii Publice", + "Mediator", + "Referent De Specialitate Marketing", + "Specialist Protocol Si Ceremonial", + "Consultant Cameral", + "Purtator De Cuvant", + "Brand Manager", + "Organizator Protocol", + "Organizator Relatii", + "Organizator Targuri Si Expozitii", + "Prezentator Expozitii", + "Specialist Relatii Sociale", + "Expert Relatii Externe", + "Curier Diplomatic", + "Specialist Garantii Auto", + "Analist Servicii Client", + "Asistent Director/Responsabil De Functiune (Studii Superioare)", + "Corespondent Comercial", + "Asistent Comercial", + "Specialist In Activitatea De Lobby", + "Analist Cumparari/Consultant Furnizori", + "Reprezentant Medical", + "Proiectant Sisteme Informatice", + "Analist", + "Programator", + "Inginer De Sistem In Informatica", + "Programator De Sistem Informatic", + "Inginer De Sistem Software", + "Manager Proiect Informatic", + "Specialist In Domeniul Proiectarii Asistate Pe Calculator", + "Specialist In Proceduri Si Instrumente De Securitate A Istemelor Informatice", + "Consultant In Informatica", + "Administrator Baze De Date", + "Administrator Sistem De Securitate Bancara", + "Administrator De Retea De Calculatoare", + "Administrator De Retea De Telefonie Voip", + "Avocat", + "Jurisconsult", + "Consilier Juridic", + "Procuror", + "Judecator", + "Magistrat-Asistent", + "Judecator Inspector", + "Magistrat Consultant", + "Consilier De Probatiune", + "Inspector Probatiune", + "Executor Judecatoresc", + "Inspector Justitie", + "Expert Jurist", + "Consilier De Justitie", + "Referent De Specialitate In Justitie", + "Notar", + "Inspector General Judecatoresc", + "Inspector General Notarial", + "Inspector General Penitenciare", + "Consilier Armonizare Legislativa", + "Expert Armonizare Legislativa", + "Analist Armonizare Legislativa", + "Registrator Carte Funciara", + "Revizor Jurist", + "Cercetator In Domeniul Stiintelor Juridice", + "Asistent De Cercetare In Domeniul Stiintelor Juridice", + "Executor Bancar", + "Consilier Proprietate Industriala Autorizat", + "Specialist Proprietate Intelectuala", + "Expert Prevenire Si Combatere A Coruptiei", + "Arhivist", + "Conservator Opere De Arta Si Monumente Istorice (Studii Superioare)", + "Muzeograf", + "Restaurator Opere De Arta Si Monumente Istorice (Studii Superioare)", + "Conservator Arhiva (Studii Superioare)", + "Restaurator Arhiva (Studii Superioare)", + "Restaurator Bunuri Culturale (Studii Superioare)", + "Bibliograf", + "Bibliotecar (Studii Superioare)", + "Documentarist (Studii Superioare)", + "Referent Difuzare Carte", + "Lector Carte", + "Bibliotecar Arhivist", + "Referent De Specialitate Asezamant Cultural", + "Consilier/Expert/Inspector/Referent/Economist In Management", + "Consilier/Expert/Inspector/Referent/Economist In Economie Generala", + "Consilier/Expert/Inspector/Referent/Economist In Economia Mediului", + "Consilier/Expert/Inspector/Referent/Economist In Comert Si Marketing", + "Consilier/Expert/Inspector/Referent/Economist In Relatii Economice Internationale", + "Consilier/Expert/Inspector/Referent/Economist In Gestiunea Economica", + "Consultant In Management", + "Tehnician Economist", + "Inginer Economist", + "Inspector De Concurenta", + "Administrator Financiar (Patrimoniu) (Studii Superioare)", + "Cercetator Economist In Management", + "Asistent De Cercetare Economist In Management", + "Cercetator Economist In Economia Mediului", + "Asistent De Cercetare Economist In Economia Mediului", + "Cercetator Economist In Economia Generala", + "Asistent De Cercetare Economist In Economia Generala", + "Cercetator Economist In Economie Agroalimentara", + "Asistent De Cercetare Economist In Economie Agroalimentara", + "Cercetator Economist In Marketing", + "Asistent De Cercetare Economist In Marketing", + "Cercetator Economist In Relatii Economice Internationale", + "Asistent De Cercetare Economist In Relatii Economice Internationale", + "Cercetator Economist In Gestiunea Economica", + "Asistent De Cercetare Economist In Gestiuneaeconomica", + "Secretar Economic (Studii Superioare)", + "Sociolog", + "Geograf", + "Analist De Mediu", + "Analist In Turism", + "Analist Teritorial", + "Arheolog", + "Cercetator De Dezvoltare Comunitara", + "Cercetator In Sociologie", + "Asistent De Cercetare In Sociologie", + "Cercetator In Antropologie", + "Asistent De Cercetare In Antropologie", + "Cercetator In Geografie", + "Asistent De Cercetare In Geografie", + "Cercetator In Arheologie", + "Asistent De Cercetare In Arheologie", + "Cercetator In Etnologie", + "Asistent De Cercetare In Etnologie", + "Filozof", + "Istoric", + "Istoriograf", + "Politolog", + "Cercetator In Filozofie", + "Asistent De Cercetare In Filozofie", + "Cercetator In Istorie", + "Asistent De Cercetare In Istorie", + "Cercetator In Stiintele Politice", + "Asistent De Cercetare In Stiintele Politice", + "Psiholog In Specialitatea Psihologie Clinica", + "Psiholog In Specialitatea Consiliere Psihologica", + "Psiholog In Specialitatea Psihoterapie", + "Psiholog In Specialitatea Psihologia Muncii Si Organizationala", + "Psiholog In Specialitatea Psihologia Transporturilor", + "Psiholog In Specialitatea Psihologia Aplicata In Servicii", + "Psiholog In Specialitatea Psihologie Educationala, Consiliere Scolara Si Vocationala", + "Psiholog In Specialitatea Psihopedagogie Speciala", + "Psiholog In Specialitatea Psihologie Aplicata In Domeniul Securitatii Nationale", + "Psiholog In Specialitatea Psihologie Judiciara ", + "Psiholog", + "Psihopedagog", + "Expert Poligraf", + "Psiholog Scolar", + "Cercetator In Psihologie", + "Asistent De Cercetare In Psihologie", + "Cercetator In Psihopedagogie Speciala", + "Asistent De Cercetare In Psihopedagogie Speciala", + "Terapeut Ocupational", + "Asistent Social Nivel Superior", + "Consilier In Domeniul Adictiilor", + "Ofiter Control Doping", + "Art-Terapeut", + "Asistent Social Cu Competenta In Sanatatea Mintala", + "Specialist In Evaluarea Vocationala A Persoanelor Cu Dizabilitati", + "Specialist In Angajare Asistata", + "Instructor-Educator Pentru Activitati De Resocializare", + "Asistent Pentru Ingrijirea Persoanelor Varstnice", + "Cercetator In Asistenta Sociala", + "Asistent De Cercetare In Asistenta Sociala", + "Arhiepiscop", + "Arhiereu-Vicar", + "Arhondar", + "Cantor", + "Capelan", + "Cardinal", + "Chevrasames", + "Cantaret Bisericesc", + "Consilier Culte", + "Conducator Arhiepiscopal", + "Diacon", + "Episcop", + "Exarh", + "Haham", + "Harmonist", + "Hatip", + "Imam", + "Inspector Culte", + "Majghian", + "Melamed", + "Mitropolit", + "Muezin", + "Muftiu", + "Organist", + "Pastor", + "Patriarh", + "Preot", + "Presedinte Culte", + "Protopop", + "Provicar", + "Rabin", + "Secretar Culte", + "Staret ", + "Treibar", + "Vestitor", + "Vicar", + "Poet", + "Scriitor", + "Comentator Publicist", + "Corector (Studii Superioare)", + "Corespondent Special (Tara Si Strainatate)", + "Corespondent Radio", + "Corespondent Presa", + "Critic De Arta", + "Editorialist", + "Fotoreporter", + "Lector Presa/Editura", + "Publicist Comentator", + "Redactor", + "Reporter (Studii Superioare)", + "Reporter Operator", + "Secretar De Emisie (Studii Superioare)", + "Secretar De Redactie (Studii Superioare)", + "Secretar Responsabil De Agentie", + "Sef Agentie Publicitate", + "Tehnoredactor", + "Ziarist", + "Critic Literar", + "Critic Muzical", + "Comentator Radio Tv", + "Redactor Rubrica", + "Filolog", + "Interpret", + "Interpret Relatii Diplomatice", + "Referent Literar", + "Secretar Literar", + "Traducator (Studii Superioare)", + "Translator", + "Grafolog", + "Revizor Lingvist", + "Terminolog", + "Translator Emisie", + "Cercetator In Lingvistica", + "Asistent De Cercetare In Lingvistica", + "Cercetator In Filologie", + "Asistent De Cercetare In Filologie", + "Caricaturist (Studii Superioare)", + "Artist Plastic", + "Desenator Film Animatie", + "Grafician", + "Machetist", + "Pictor", + "Pictor Scenograf", + "Sculptor", + "Sculptor Papusi", + "Restaurator Tablouri", + "Acompaniator", + "Artist Liric", + "Concert Maestru", + "Corepetitor", + "Corist", + "Dirijor", + "Ilustrator Muzical (Studii Superioare)", + "Maestru Studii Canto", + "Instrumentist", + "Maestru Cor", + "Referent Muzical", + "Secretar Muzical", + "Sef Orchestra", + "Solist Instrumentist", + "Solist Vocal", + "Sufleur Opera", + "Copiator Note Muzicale", + "Specialist Instrumente De Suflat", + "Artist Instrumentist", + "Solist Concertist", + "Dirijor Cor", + "Maestru Corepetitor", + "Artist Liric Opera", + "Corist Opera", + "Maestru Acordor Pian Clavecin", + "Maestru Lutier", + "Specialist Orga", + "Regizor Muzical", + "Cantaret", + "Instrumentist Muzicant", + "Disc-Jockey", + "Video-Jockey", + "Maestru De Ceremonii", + "Instrumentist (Studii Medii)", + "Balerin", + "Coregraf", + "Maestru Studii De Balet", + "Maestru De Balet", + "Solist Balet", + "Maestru Dans", + "Dansator", + "Instructor De Dans", + "Consultant Artistic", + "Corector Transmisie", + "Instructor Film", + "Instructor Retea Cinematografica", + "Lector Scenarii", + "Intermediarist Film De Desene Animate (Studii Superioare)", + "Stilizator Film De Desene Animate (Studii Superioare)", + "Producator Delegat Film", + "Realizator Emisiuni Rtv", + "Regizor Artistic", + "Regizor Emisie", + "Regizor Studio", + "Regizor Sunet", + "Regizor Tehnic", + "Secretar Sef Productie Film", + "Sufleur Teatru", + "Maestru Artist Circ", + "Producator Rtv (Stiri)", + "Editor Rtv (Stiri)", + "Director Imagine", + "Referent De Specialitate Selectie Programe Tv", + "Copywriter Publicitate (Studii Superioare)", + "Mediaplanner", + "Producator Delegat Evenimente De Marketing", + "Redactor Prezentator De Televiziune", + "Animator Film De Animatie (Studii Superioare)", + "Director Productie Film", + "Coordonator Productie Film", + "Asistent Productie Film", + "Producator Audiovideo", + "Editor Coordonator Programe Tv", + "Director De Creatie", + "Organizator Productie (Studii Superioare)", + "Scenograf", + "Asistent Scenograf", + "Videojurnalist (Studii Superioare)", + "Producator Delegat Pentru Teatru", + "Regizor Culise", + "Regizor Scena", + "Secretar Platou", + "Actor", + "Actor Manuitor De Papusi", + "Artist Circ", + "Prezentator (Crainic) Radio", + "Prezentator (Crainic) Televiziune", + "Acrobat", + "Clovn", + "Magician", + "Hipnotizator", + "Trapezist", + "Cascador", + "Figurant", + "Dresor", + "Laborant Chimist", + "Tehnician Chimist", + "Laborant Determinari Fizico-Mecanice", + "Tehnician Determinari Fizico-Mecanice", + "Laborant Determinari Geologice Si Geotehnice", + "Laborant Tehnica Nucleara", + "Tehnician Meteorolog", + "Tehnician Geolog", + "Tehnician Hidrometru", + "Prospector ", + "Tehnician Hidrolog", + "Tehnician Hidrogeolog", + "Laborant Operator Centrale Termice", + "Metrolog", + "Tehnician Metrolog", + "Asistent Fizica Si Chimie", + "Operator Meteorolog", + "Meteorolog Aeronautic Tehnician", + "Operator Specialist Curatare Chimica La Schimbatoarele De Caldura Cu Placi", + "Maistru Constructii Civile, Industriale Si Agricole", + "Maistru Normator", + "Tehnician Constructor", + "Tehnician Hidroamelioratii", + "Tehnician Hidrotehnic", + "Tehnician Topometrist", + "Tehnician Proiectant In Constructii", + "Maistru Instalator In Constructii", + "Tehnician Instalatii In Constructii", + "Diriginte Santier", + "Tehnician Laborant Pentru Lucrari De Drumuri Si Poduri", + "Tehnician In Industria Materialelor De Constructii", + "Maistru In Industria Materialelor De Constructii", + "Tehnician Proiectant In Industria Materialelor De Constructii", + "Tehnician Devize Si Masuratori In Constructii", + "Tehnician Devizier", + "Tehnician Atasamentist", + "Dispecer Gestiune Uraniu", + "Maistru Electromecanic", + "Maistru Energetician/Electrician", + "Tehnician Electroenergetician, Termoenergetician", + "Tehnician Electromecanic", + "Tehnician Energetician/Electrician", + "Tehnician Proiectant Energetician/Electrician", + "Maistru Electrician In Constructii", + "Tehnician Mentenanta Electromecanica ", + "Sef/Sef Adjunct Tura Statie Electrica (Studii Medii)", + "Maistru Electronica", + "Tehnician Electronica", + "Tehnician Proiectant Electronica", + "Maistru Cazangerie", + "Maistru Instalatii Navale", + "Maistru Intretinere Si Reparatii Masini-Unelte, Utilitati, Service, Prototipuri", + "Maistru Lacatus, Constructii Metalice", + "Maistru Lacatus Mecanic", + "Tehnician Proiectant Mecanic", + "Mecanic Pentru Intretinerea Aparatelor De Lansare La Zbor", + "Maistru Mecanic", + "Maistru Mecanic Auto", + "Maistru Mecanica Agricola", + "Maistru Mecanica Fina", + "Maistru Montaj", + "Maistru Prelucrari Mecanice", + "Maistru Sculer-Matriter", + "Maistru Sudura", + "Tehnician Constructii Navale", + "Tehnician Instalatii De Bord (Avion)", + "Tehnician Masini Si Utilaje", + "Tehnician Mecanic", + "Tehnician Prelucrari Mecanice", + "Tehnician Sudura", + "Tehnician Tehnolog Mecanic", + "Maistru Mecanic Masini Si Utilaje Pentru Constructii", + "Tehnician Mentenanta Mecanica Echipamente Industriale", + "Tehnician Incercari Componente Vehicule/Grup Motopropulsor/Optimizare Energetica/Sisteme De Masurare", + "Tehnician Documentatie Studii", + "Tehnician Prestatii Vehicule", + "Tehnician Reglementari/Omologari Oficiale", + "Tehnician/Tehnician Responsabil Afacere, Metode Implantare", + "Tehnician/Tehnician Responsabil Afacere, Metode Gestiune Mijloace Si Utilaje", + "Tehnician/Tehnician Responsabil Afacere, Metode Pregatire De Industrializare", + "Tehnician/Tehnician Responsabil Afacere, Metode Logistica", + "Tehnician/Tehnician Responsabil Afacere, Metode Organizarea Si Masurarea Muncii", + "Maistru Fabricarea Armamentului", + "Inspector Cu Supravegherea Si Verificarea Tehnica A Instalatiilor", + "Inspector Iscir", + "Decontaminator", + "Laborant Apa Si Apa Grea", + "Laborant Control Dozimetrie", + "Laborant Petrolist/Industria Chimica", + "Maistru Petrolist/Industria Chimica", + "Laborant Apa Potabila", + "Tehnician Petrolist Chimie Industriala", + "Laborant Petrochimist", + "Maistru La Fabricarea Munitiei", + "Laborant Structura Macroscopica Si Microscopica", + "Maistru Metalurgie", + "Maistru Minier", + "Maistru Presator Metale", + "Maistru Termotehnist", + "Tehnician Metalurgie", + "Tehnician Minier", + "Tehnician Proiectant Minier", + "Tehnician Proiectant Metalurg", + "Tehnician Mineralurg", + "Maistru Mineralurg", + "Maistru Termist-Tratamentist", + "Probator Hidraulic Piese Turnate", + "Desenator Tehnic", + "Trasator", + "Desenator", + "Topograf", + "Trasator Naval ", + "Trasator Optic", + "Tehnician Proiectant", + "Maistru In Industria Celulozei Si Hartiei", + "Maistru Tipograf", + "Paginator Tipograf", + "Tehnician Normare, Salarizare, Organizare", + "Tehnician Pret De Cost", + "Tehnician Programare, Lansare, Urmarirea Productiei", + "Tehnician Pret De Revenire/Costuri", + "Tehnician Gestiune Salariala", + "Tehnician Gestiunea Productiei", + "Tehnician Gestiune Stoc", + "Maistru In Industriile Textila, Pielarie", + "Tehnician In Industria Confectiilor Din Piele Si Inlocuitori", + "Tehnician In Industria Confectiilor Si Tricotajelor", + "Tehnician In Industria Incaltamintei", + "Tehnician In Industria Pielariei", + "Tehnician In Industria Textila", + "Tehnician Proiectant Textile, Pielarie", + "Laborant In Industriile Textila, Pielarie", + "Sef Formatie Industria Confectiilor Imbracaminte", + "Expert Tehnic Extrajudiciar", + "Tehnician In Industria Sticlei Si Ceramicii", + "Maistru In Industria Sticlei Si Ceramicii", + "Maistru Frigotehnist", + "Tehnician Frigotehnist", + "Tehnician In Industria Alimentara", + "Tehnician Laborant Analize Produse Alimentare", + "Tehnician In Industria Alimentara Extractiva", + "Tehnician In Industria Alimentara Fermentativa", + "Tehnician In Industria Carnii, Laptelui Si Conservelor", + "Tehnician In Morarit Si Panificatie", + "Tehnician Proiectant In Industria Alimentara", + "Maistru In Industria Alimentara", + "Tehnolog Alimentatie Publica", + "Operator Control Nedistructiv", + "Operator Control Nedistructiv Cu Radiatii Penetrante", + "Operator Control Nedistructiv Cu Ultrasunete", + "Operator Control Nedistructiv Cu Lichide Penetrante", + "Operator Control Nedistructiv Cu Particule Magnetice", + "Operator Control Nedistructiv Cu Curenti Turbionari", + "Operator Control Nedistructiv Pentru Verificarea Etanseitatii", + "Operator Responsabil Cu Supravegherea Tehnica A Instalatiilor", + "Masurator De Gaze, Temperatura Si Radiatii", + "Controlor De Productie La Minele De Aur Nativ", + "Salvator Minier", + "Controlor Calitate Dupa Efectuarea Probelor La Armament Si Munitie", + "Controlor Calitate Pentru Executia Elementelor La Armament Si Munitie", + "Controlor De Calitate La Protejari Metalice", + "Operator La Instalatiile Din Centrale Electrice", + "Masinist La Instalatiile Din Centrale Electrice", + "Operator La Instalatiile De Cazane Din Centrale Electrice", + "Operator La Instalatiile De Turbine Cu Abur Sau Gaze", + "Operator La Camera De Comanda Termica", + "Masinist La Instalatiile Hidrotehnice Din Centraleelectrice", + "Masinist La Instalatiile De Turbine Hidraulice", + "Masinist La Centrale Diesel", + "Operator Punct Termic", + "Operator Centrala Termica", + "Automatist Pentru Supraveghere Si Intretinere Cazane", + "Operator Curatare Chimica La Schimbatoarele De Caldura Cu Placi", + "Operator Surse Regenerabile De Energie", + "Operator La Instalatii De Incinerare", + "Operator Hidraulic In Alimentarile Cu Apa", + "Operator Circuite Retea Apa", + "Masinist La Conditionarea Aerului", + "Operator La Tratarea Apei Tehnologice", + "Operator Masini Refrigeratoare (Conservare Prin Frig)", + "Operator Chimist La Chimizarea Metanului", + "Rafinor", + "Distilator La Prelucrarea Titeiului", + "Operator Instalatii Imbuteliere Gaz Petrol Lichefiat", + "Maistru-Operator La Roboti Industriali", + "Tehnician-Operator La Roboti Industriali", + "Tehnician In Industria Celulozei Si Hartiei", + "Controlor De Conformitate In Industria De Masini", + "Tehnician Asigurarea Calitatii", + "Tehnician Analist Calitate", + "Tehnician Cotator Calitate", + "Tehnician In Bacteriologie", + "Tehnician In Biochimie", + "Tehnician In Hematologie", + "Tehnician In Serologie", + "Tehnician In Biologie", + "Tehnician In Protectia Mediului (Tehnician Ecolog)", + "Evaluator Si Auditor De Mediu", + "Tehnician Agronom ", + "Tehnician Zootehnist ", + "Tehnician Pedolog", + "Tehnician In Industrializarea Lemnului", + "Tehnician Proiectant In Industrializarea Lemnului", + "Maistru In Industrializarea Lemnului", + "Tehnician Silvic ", + "Tehnician In Reconstructia Ecologica", + "Tehnician Cadastru Forestier", + "Tehnician Amenajist", + "Tehnician Proiectant In Reconstructie Ecologica", + "Ofiter Ajutor Fluvial/Portuar", + "Ofiter Rtg", + "Ofiter Electrician Fluvial/Portuar", + "Agent De Nava", + "Ofiter Electrician Maritim", + "Ofiter Mecanic Maritim", + "Ajutor Ofiter Mecanic Fluvial", + "Capitan Fluvial", + "Capitan Port", + "Ofiter Intendent", + "Ofiter Port", + "Ofiter De Punte Fluvial/Portuar", + "Pilot De Dunare Maritima", + "Sef Echipaj Maritim/Fluvial", + "Pilot De Mare Larga, Pilot De Port Maritim", + "Dragor Maritim/Fluvial", + "Pilot De Port Maritim Aspirant/Pilot De Dunare Aspirant", + "Ofiter De Punte Maritim", + "Ofiter De Punte Maritim Aspirant/Ofiter Mecanic Maritim Aspirant/Ofiter Electrician Maritim Aspirant", + "Comandant Detasament Zbor", + "Comandant Insotitor De Bord", + "Copilot", + "Inspector Pilotaj", + "Mecanic Navigant Aviatie", + "Pilot Aeronave", + "Pilot Comandant Avion", + "Pilot Incercare", + "Pilot Receptie Si Control Aeronave", + "Parasutist Receptie Si Control", + "Parasutist Incercator", + "Pilot Parasutism Incercator", + "Pilot Instructor Aeronave", + "Instructor Parasutism", + "Mecanic Navigant Instructor", + "Maistru Aviatie", + "Tehnician Aviatie", + "Controlor Dirijare Nonradar", + "Controlor Sol", + "Controlor Trafic Aviatia Civila", + "Dispecer Sol", + "Navigator Dirijare Radar", + "Navigator Aviatia Civila", + "Navigator Dirijare Nonradar", + "Navigator Dirijare Zbor", + "Navigator Instructor Dirijare Radar Si Nonradar", + "Navigator Sol", + "Operator Radar", + "Operator Radiotelecomunicatii Aeronautice", + "Controlor Trafic Aerian Dirijare Nonradar", + "Controlor Trafic Aerian Dirijare Radar", + "Controlor Trafic Aerian Informare", + "Navigator Informare", + "Operator/Specialist/Instructor Telecomunicatii Aeronauticeaviatie Civila", + "Sef Tura Telecomunicatii Aeronautice Aviatie Civila", + "Controlor Trafic Aerian (Simulator Trafic Aerian)", + "Navigator Instructor Informare", + "Agent Salvare Aeroportuara Si Instalatii De Stinsincendii", + "Masinist Agregate Aerodrom", + "Operator Instalatii Control Antiterorist/Antideturnare", + "Operator Radionavigant Aviatie", + "Operator Radionavigant Instructor Aviatie", + "Tehnician Securitate Aeriana", + "Operator De Handling", + "Inspector Siguranta Operationala", + "Agent De Securitate Aeroportuara", + "Dispecer Operatiuni De Zbor", + "Referent/Inspector In Serviciile De Trafic Aerian", + "Operator Dispecerat Operational De Supraveghere In Serviciile De Trafic Aerian", + "Tehnician Protectia Navigatiei Aeriene (Comunicatii, Navigatie, Supraveghere)", + "Maistru Protectia Navigatiei Aeriene (Comunicatii, Navigatie, Supraveghere)", + "Sef Tura Protectia Navigatiei Aeriene (Comunicatii, Navigatie, Supraveghere)", + "Tehnician In Serviciile De Trafic Aerian", + "Maistru Aparate Electromedicale", + "Tehnician Aparate Electromedicale", + "Autopsier", + "Asistent Farmacist", + "Laborant Farmacie", + "Tehnician Protezist-Ortezist", + "Tehnician Acustician-Audioprotezist", + "Evaluator Asigurari", + "Laborant In Ocrotirea Sanatatii", + "Sora Medicala", + "Asistenta Puericultoare", + "Mercantizor", + "Agent Veterinar", + "Asistent Veterinar", + "Autopsier La Ecarisaj", + "Tehnician Veterinar", + "Tehnician Dentar", + "Asistent Medical Comunitar", + "Optician Medical", + "Optometrist (Studii Medii)", + "Maseur", + "Asistent Medical Fizioterapie", + "Ergoterapeut", + "Reflexoterapeut", + "Oficiant Medical", + "Tehnician Sanitar", + "Asistent Medical Consiliere Hiv/Sida", + "Manager Al Sistemelor De Management Al Calitatii", + "Manager Al Sistemelor De Management De Mediu", + "Auditor De Mediu", + "Expert/Specialist Standardizare", + "Monitor Mediul Inconjurator", + "Inspector Pentru Conformare Ecologica", + "Asistent Standardizare", + "Manager Al Sistemului De Management Al Riscului", + "Manager Al Sistemului De Management Securitate Si Sanatate In Munca", + "Responsabil De Mediu", + "Auditor De Sistem De Management Pentru Sanatate Si Securitate Ocupationala", + "Inspector Protectia Mediului", + "Specialist In Managementul Deseurilor", + "Auditor In Domeniul Sigurantei Alimentare", + "Manager In Domeniul Sigurantei Alimentare", + "Auditor Responsabilitate Sociala", + "Responsabil Al Managementului Responsabilitatii Sociale", + "Manager De Responsabilitate Sociala", + "Inspector Sanitar", + "Inspector Protectie Sociala", + "Tehnician In Securitate Si Sanatate In Munca", + "Tehnician Conditii De Munca Si Securitate", + "Inspector In Domeniul Securitatii Si Sanatatii In Munca", + "Coordonator In Materie De Securitate Si Sanatate In Munca (Studii Medii)", + "Operator Control Nedistructiv Pentru Examinare Vizuala", + "Brancardier", + "Cambist (Broker Valori)", + "Agent De Schimb", + "Intermediar In Activitatea Financiara Si Comerciala (Broker)", + "Broker Bursa De Marfuri", + "Agent De Vanzari Directe (Produse Financiar-Bancare)", + "Teleoperator Financiar-Bancar", + "Agent Marketing Pensii Private", + "Analist Tehnic Piete Financiare", + "Ofiter Operatiuni Financiar-Bancare", + "Calculator Devize", + "Contabil", + "Tehnician Merceolog", + "Planificator", + "Revizor Gestiune", + "Contabil Bugetar", + "Secretar Economic (Studii Medii)", + "Merceolog", + "Referent", + "Referent Statistician", + "Statistician", + "Statistician Medical", + "Actuar", + "Tehnician Planificare/Urmarire Sinteze", + "Estimator Licitatii", + "Evaluator Tehnic Daune Auto", + "Agent De Asigurare", + "Broker In Asigurari", + "Reprezentant Tehnic", + "Reprezentant Comercial", + "Agent De Vanzari", + "Agent Comercial", + "Agent Vanzari Standarde Si Produse Conexe", + "Agent Contractari Si Achizitii (Broker Marfuri)", + "Receptioner Contractari-Achizitii", + "Administrator Cumparari", + "Agent Cumparari", + "Declarant Vamal", + "Agent Tranzit", + "Agent Maritim", + "Agent Repartizare A Fortei De Munca", + "Agent Orientare Profesionala A Somerilor/Agent Informare Privind Cariera", + "Agent Evidenta Si Plata A Ajutorului De Somaj", + "Inspector/Referent Resurse Umane", + "Agent Ocupare", + "Analist Resurse Umane", + "Tehnician Mobilitate Personal", + "Tehnician Reconversie Personal", + "Instructor/Preparator Formare", + "Tehnician Calificare Gestiune Competente", + "Tehnician Resurse Umane", + "Agent Imobiliar (Broker Imobiliar)", + "Agent Reclama Publicitara", + "Agent Literar", + "Impresar Muzical", + "Impresar Teatru", + "Manager Sportiv", + "Asistent Relatii Publice Si Comunicare (Studii Medii)", + "Agent Servicii Client", + "Impresar Artistic", + "Organizator Spectacole", + "Operator De Interviu", + "Referent Comert Exterior", + "Operator Vanzari Prin Telefon", + "Secretar Procuratura", + "Secretar Administrativ", + "Secretar Asistent Director", + "Asistent Manager", + "Asistent De Cabinet", + "Registrator Medical", + "Controlor Vamal, Controlor Pentru Datoria Vamala (Studii Medii)", + "Revizor Vamal", + "Referent Tir Si Tranzite (Studii Medii)", + "Referent Vamal (Studii Medii)", + "Expert/Inspector Vamal", + "Controlor Vamal, Controlor Pentru Datoria Vamala, Agent Vamal (Studii Superioare)", + "Inspector De Trafic A.R.R. (Studii Medii)", + "Inspector Taxe Si Impozite", + "Operator Rol", + "Perceptor", + "Inspector Pensii, Asigurari Sociale Si Asistenta Sociala", + "Referent Pensii, Asigurari Sociale Si Asistenta Sociala", + "Inspector Pentru Acordarea De Permise, Licente Sauautorizatii", + "Inspector De Politie", + "Detectiv", + "Anchetator Politie", + "Detectiv Particular", + "Inspector Metrolog", + "Inspector Preturi", + "Inspector Salarii", + "Comisar", + "Agent Procedural", + "Conducator Carte Funciara", + "Grefier", + "Secretar Notariat", + "Tehnician Criminalist", + "Functionar In Activitati Comerciale, Administrative Si Preturi", + "Executor Judecatoresc (Tribunal, Judecatorie)", + "Arhivar Notariat", + "Grefier Dactilograf (Curtea De Apel, Tribunal, Judecatorie)", + "Grefier Statistician", + "Grefier Documentarist", + "Secretar Dactilograf Laborator Expertize Criminalistice", + "Asistent Registrator", + "Grefier Arhivar", + "Grefier Registrator", + "Ofiter Antifrauda Financiar-Bancara (Studii Medii)", + "Asistent Social Nivel Mediu", + "Pedagog Social", + "Lucrator Social Pentru Persoane Cu Probleme De Dependenta", + "Facilitator De Dezvoltare Comunitara", + "Lucrator De Tineret", + "Calugar", + "Calugarita", + "Predicator", + "Fotbalist Profesionist", + "Sportiv Profesionist In Alte Discipline Sportive", + "Jucator De Rugbi", + "Antrenor", + "Instructor Sportiv", + "Secretar Federatie", + "Antrenor De Fotbal Profesionist", + "Instructor Arte Martiale", + "Instructor (Monitor) Schi/Calarie/Golf/Tenis/ Inot/Sporturi Extreme", + "Antrenor Coordonator", + "Arbitru Judecator Sportiv", + "Preparator Sportiv", + "Impresar Sportiv", + "Oficial Sportiv Acreditat", + "Instructor In Poligonul De Tir", + "Supraveghetor In Poligonul De Tir", + "Monitor De Schi, Snow-Board Si Sporturi De Alunecare Pe Zapada", + "Instructor Educatie Acvatica", + "Animator Sportiv", + "Instructor De Fitness", + "Antrenor De Fitness", + "Instructor De Aerobic-Fitness", + "Instructor Educatie Fizica", + "Fotograf", + "Laborant Foto", + "Retusor Foto", + "Operator Prelucrare Pelicula", + "Fotograf Si Tehnician La Echipamente De Inregistrare Imagine Si Sunet", + "Butafor", + "Decorator Interioare", + "Desenator Artistic (Studii Medii)", + "Decorator Vitrine", + "Desenator Artistic (Studii Superioare)", + "Sef De Sala Restaurant", + "Barman-Sef", + "Bucatar-Sef", + "Cofetar-Sef", + "Inspector Calitate Productie Culinara", + "Manuitor, Montator Decor", + "Tehnician Machetist", + "Tehnician Reclame (Decorator)", + "Maestru De Lumini", + "Maestru De Sunet", + "Caricaturist (Studii Medii)", + "Tehnoredactor", + "Secretar De Redactie (Studii Medii)", + "Organizator De Productie", + "Asistent Regizor Artistic", + "Reporter (Studii Medii)", + "Machior Spectacole", + "Peruchier", + "Secretar De Emisie (Studii Medii)", + "Ghid De Animatie", + "Documentarist (Studii Medii)", + "Traducator (Studii Medii)", + "Videojurnalist (Studii Medii)", + "Copywriter Publicitate (Studii Medii)", + "Corector (Studii Medii)", + "Electrician Iluminare Scena", + "Secretar Artistic", + "Operator Calculator Electronic Si Retele", + "Sef Tura Exploatare In Centre Sau Oficii De Calcul", + "Tehnician Echipamente De Calcul Si Retele", + "Operator In Domeniul Proiectarii Asistate Pe Calculator", + "Administrator Sistem Documentar", + "Operator Prompter", + "Operator Suport Tehnic Pentru Servicii De Comunicatii Electronice", + "Programator Ajutor", + "Analist Ajutor", + "Acustician Cinematografic", + "Controlor Si Reconditioner Filme", + "Electrician Iluminare Filmare", + "Etaloner", + "Maistru Aparate Video Si Sunet", + "Masinist Mecanic Traweling", + "Mecanic Camera Filmare", + "Montor Imagine", + "Montor Negative Si De Pregatire A Peliculei", + "Montor Pozitive", + "Operator Camera Diafilm, Diapozitive", + "Operator Emisie-Receptie", + "Operator Productie Rtv", + "Preparator Filmare", + "Proiectionist", + "Senzitometrist", + "Stantator De Filme", + "Operator Truka", + "Editor Imagine", + "Tehnician Iluminat Tehnologic", + "Ilustrator Muzical", + "Controlor Emisii Rtv", + "Montor Emisie", + "Operator Imagine", + "Operator Radio-Radioficare", + "Operator Sunet", + "Tehnician Radioelectronist", + "Tehnician Catv", + "Operator Dispecer Sisteme De Monitorizare Si Aparatura De Control", + "Tehnician Pentru Sisteme De Detectie, Supraveghere Video, Control Acces", + "Cameraman", + "Tehnician De Echipamente Tv", + "Radioelectronist Statii De Emisie Radio-Tv", + "Tehnician La Echipamente De Inregistrare Imagine Si Sunet", + "Designer Video", + "Sef Formatie Sisteme Radiante (Antene)", + "Tehnician Constructii Telefonice", + "Tehnician Radiolocatii", + "Tehnician Turn Parasutism", + "Inspector Exploatare Postala", + "Tehnician Statii De Emisie Radio-Tv", + "Tehnician Statii Radiorelee Si Satelit", + "Maistru Materiale Emisie Rtv Si Telecomunicatii", + "Pilonist Antenist", + "Tehnician Retele De Telecomunicatii", + "Operator Retele De Telecomunicatii", + "Radioelectronist Statii Radiorelee Si Satelit", + "Maistru Transporturi, Posta Si Telecomunicatii", + "Tehnician Transporturi, Posta Si Telecomunicatii", + "Tehnician Proiectant Transporturi Si Comunicatii", + "Functionar Administrativ", + "Inspector Documente Secrete", + "Secretara", + "Secretara Dactilografa", + "Secretara Prelucrare Texte", + "Dactilografa", + "Stenodactilografa", + "Referent Transmitere", + "Telefaxist", + "Teletipist", + "Telexist", + "Telebanker", + "Operator Introducere, Validare Si Prelucrare Date", + "Operator Tehnica Poligraf", + "Operator Procesare Text Si Imagine", + "Registrator De Arhiva Electronica De Garantii Reale Mobiliare", + "Operator Masina Contabilizat", + "Operator Masina De Calculat", + "Casier Tezaur", + "Casier Valuta", + "Manuitor Valori (Presa, Posta)", + "Numarator Bani", + "Verificator Bani", + "Verificator Valori", + "Casier Trezorier", + "Sef Casierie Centrala", + "Sef Supraveghere Case", + "Operator Ghiseu Banca", + "Operator Ghiseu Birouri De Schimb", + "Administrator Cont", + "Referent Operatii Intre Sedii", + "Referent Casier", + "Crupier", + "Schimbator Fise ", + "Supraveghetor Jocuri (Cazino)", + "Sef De Masa (Cazino)", + "Cap De Masa (Cazino)", + "Amanetar", + "Agent Fiscal", + "Colector (Recuperator) Creante/Debite", + "Agent De Voiaj", + "Agent De Turism", + "Agent De Turism Tour-Operator", + "Agent De Transport Turistic Intern", + "Agent De Transport International", + "Agent De Asistenta Turistica", + "Agent Turism De Afaceri", + "Agent Transporturi Externe", + "Agent Transporturi Interne", + "Functionar Agentie Voiaj", + "Oficiant Telefoane", + "Oficiant Telegraf", + "Radiotelegrafist", + "Telefonist", + "Telefonist Instructor", + "Telegrafist (Teleimprimatorist)", + "Receptioner De Hotel", + "Lucrator Concierge", + "Sef De Receptie Hotel", + "Tehnician Compartiment Securitate Hotel", + "Responsabil Cazare", + "Impiegat Informatii", + "Functionar Informatii Clienti", + "Receptionist", + "Calculator Pret Cost", + "Functionar Economic", + "Operator Devize", + "Sef Sectie Inventar", + "Agent Bursa", + "Contabil Financiar Bancar", + "Administrator Financiar (Patrimoniu) ", + "Pontator", + "Gestionar Depozit", + "Magaziner", + "Operator Siloz (Silozar)", + "Primitor-Distribuitor Materiale Si Scule", + "Recuziter", + "Sortator Produse", + "Trezorier (Studii Medii)", + "Gestionar Custode Sala", + "Pivnicer", + "Primitor-Distribuitor Benzina Si Motorina", + "Lucrator Gestionar", + "Sef Raion/Adjunct Marfuri Alimentare/Nealimentare", + "Dispecer", + "Facturist", + "Lansator Produse", + "Programator Productie", + "Dispecer Operatiuni Salubrizare", + "Agent Transporturi", + "Functionar Informatii", + "Controlor Trafic", + "Impiegat Auto", + "Impiegat Informatii Aviatie", + "Impiegat Registru Miscare", + "Insotitor Vagoane", + "Inspector Rnr (Registru Naval Roman)", + "Inspector Exploatare Trafic", + "Instructor Depou", + "Instructor Revizie Vagoane", + "Instructor Statie", + "Operator Circulatie Miscare", + "Operator Comercial", + "Operator Dana", + "Operator Programare", + "Picher", + "Reditionar", + "Revizor Tehnic Vagoane", + "Scriitor Vagoane", + "Sef Agentie Colectare Si Expeditie Marfuri", + "Sef Autogara", + "Avizier Cai Ferate", + "Sef Halta", + "Sef Statie Taxare", + "Sef Tura La Comanda Personalului De Tren", + "Sef Tura Pregatirea Personalului La Vagon-Restaurant Si De Dormit", + "Sef Tura Revizie Vagoane", + "Veghetor Incarcare-Descarcare", + "Verificator Documente Expeditie", + "Expeditor International", + "Operator Receptie", + "Agent Curier", + "Agent Statie Metrou", + "Impiegat De Miscare Metrou", + "Operator Miscare Metrou", + "Operator Portuar Stivator", + "Operator Portuar Expeditor", + "Operator Portuar Dispecer/Planificator", + "Grafician Mers De Tren", + "Referent De Specialitate Tir Si Tranzite (Studii Superioare)", + "Agent Feroviar Marfa", + "Bibliotecar (Studii Medii)", + "Discotecar", + "Filmotecar", + "Fonotecar", + "Fototecar", + "Manuitor Carte", + "Videotecar", + "Agent Postal", + "Cartator Postal", + "Cartator Presa", + "Cartator Telegrame", + "Diriginte Posta", + "Factor Postal", + "Inspector Telegrame", + "Oficiant Posta Telegrame", + "Oficiant Presa", + "Prelucrator Presa Scrisa", + "Responsabil Tura Expeditie", + "Sef Vagon Postal", + "Codificator", + "Corector Editura Presa", + "Corector-Revizor Poligrafie", + "Arhivar", + "Functionar Documentare", + "Restaurator Arhiva (Studii Medii)", + "Conservator Arhiva (Studii Medii)", + "Restaurator Opere De Arta Si Monumente Istorice (Studii Medii)", + "Conservator Opere De Arta Si Monumente Istorice (Studii Medii)", + "Restaurator Bunuri Culturale (Studii Medii)", + "Conservator Bunuri Culturale", + "Referent Evidenta Persoanelor", + "Functionar Ghiseu Servicii Publice", + "Expert Local Pe Problemele Romilor", + "Insotitor De Bord", + "Stewardesa", + "Conductor Tren", + "Revizor Bilete", + "Controlor Bilete", + "Conductor Vagon De Dormit Si Cuseta", + "Controlor Acces Metrou", + "Sef Tura Comanda Vagon De Dormit ", + "Ghid De Turism", + "Ghid De Turism Intern (Local)", + "Ghid National De Turism (Tour-Operator)", + "Ghid De Turism Montan, Drumetie Montana", + "Ghid Galerii De Arta/Interpret", + "Ghid Habitat Natural Flora, Fauna", + "Ghid Turism Ornitologic", + "Ghid Turism Speologic", + "Ghid Turism Ecvestru", + "Ghid De Turism Sportiv ", + "Ghid Montan", + "Ghid Obiectiv Cultural", + "Insotitor Grup Turistic", + "Organizator Activitate Turism (Studii Medii)", + "Ranger", + "Custode Pentru Arii Protejate", + "Animator De Hotel", + "Bucatar", + "Pizzar", + "Bucatar Specialist/Vegetarian/Dietetician", + "Maestru In Arta Culinara", + "Ajutor Ospatar", + "Ospatar (Chelner)", + "Somelier", + "Barman", + "Barman Preparator", + "Coafor", + "Frizer", + "Cosmetician", + "Manichiurist", + "Pedichiurist", + "Maseur De Intretinere Si Relaxare", + "Machior", + "Tatuator", + "Montator Bijuterii Pe Corp", + "Stilist Protezist De Unghii", + "Cabanier", + "Guvernanta De Hotel/Etaj", + "Lenjereasa De Hotel", + "Administrator", + "Administrator Piete Si Targuri", + "Intendent", + "Sef Cantina", + "Dispecer Pentru Servire In Camera (Hotel)", + "Gospodar", + "Ingrijitor Vila", + "Administrator Pensiune Turistica", + "Lucrator In Gospodaria Agroturistica", + "Ingrijitor Cladiri", + "Agent Curatenie Cladiri Si Mijloace De Transport", + "Administrator Imobile", + "Astrolog", + "Camerista Hotel", + "Insotitor", + "Valet", + "Antreprenor Servicii Funerare", + "Decorator Servicii Funerare", + "Imbalsamator", + "Ingrijitor Farmacii, Cabinete Veterinare", + "Coafor Canin", + "Instructor Scolar Auto", + "Instructor Auto", + "Agent Dezinfectie, Deratizare, Dezinsectie", + "Gazda Club", + "Organizator Prestari Servicii", + "Agent Ecolog", + "Raportor Ecolog", + "Intretinator Textile-Piele", + "Animator Socioeducativ", + "Animator Centre De Vacanta", + "Lucrator Pensiune Turistica", + "Operator Partie De Schi", + "Vanzator Ambulant De Produse Alimentare", + "Vanzator", + "Anticar", + "Librar", + "Lucrator Controlor Final", + "Lucrator Comercial", + "Lucrator Produse Naturiste", + "Vanzator De Produse Naturiste", + "Taxator", + "Vanzator De Bilete", + "Casier", + "Casier Metrou", + "Manechin", + "Model ", + "Prezentator Moda", + "Vanzator La Domiciliul Clientului Pe Baza De Comanda", + "Bufetier", + "Ingrijitor De Copii", + "Guvernanta", + "Babysitter", + "Asistent Maternal", + "Parinte Social", + "Educator Specializat", + "Baies", + "Gipsar", + "Infirmier/Infirmiera", + "Ingrijitoare La Unitati De Ocrotire Sociala Si Sanitara", + "Lacar", + "Namolar", + "Ingrijitor Batrani La Domiciliu", + "Ingrijitor Bolnavi La Domiciliu", + "Asistent Personal Al Persoanei Cu Handicap Grav", + "Ingrijitor La Domiciliu", + "Mediator Sanitar", + "Mediator Social", + "Lucrator Prin Arte Combinate", + "Asistent Personal Profesionist", + "Asistent Personal De Ingrijire", + "Operator Prestatii Sociale", + "Supraveghetor De Noapte Servicii Sociale", + "Lucrator Social", + "Sef Compartiment Pentru Prevenire", + "Sef Formatie Interventie, Salvare Si Prim Ajutor", + "Specialisti Pentru Prevenire", + "Servant Pompier", + "Sef Grupa Interventie", + "Sef Echipa Specializata", + "Agent Politie Comunitara", + "Gardian De Inchisoare", + "Educator In Penitenciare", + "Agent De Securitate", + "Agent Control Acces", + "Agent De Securitate Incinta (Magazin, Hotel, Intreprindere Etc.)", + "Agent Garda De Corp", + "Sef Formatie Paza Si Ordine", + "Agent De Interventie Paza Si Ordine", + "Agent Transport Valori", + "Dispecer Centru De Alarma", + "Sef Tura Servicii Securitate", + "Inspector De Securitate", + "Evaluator De Risc De Efractie", + "Consultant De Securitate", + "Agent Cu Atributii Pe Linia Ordinii Si Sigurantei Publice In Incinta Arenelor Sportive", + "Sef Serviciu Voluntar/Privat Pentru Situatii De Urgenta", + "Cadru Tehnic Cu Atributii In Domeniul Prevenirii Si Stingerii Incendiilor", + "Salvator La Strand", + "Salvator Montan", + "Salvamar", + "Gardian Feroviar", + "Agent Conducator Caini De Serviciu", + "Agricultor", + "Gradinar", + "Legumicultor", + "Lucrator Calificat In Culturi De Camp Si Legumicultura", + "Agricultor Pentru Culturi De Camp Ecologice", + "Arboricultor", + "Ciupercar", + "Florar-Decorator", + "Floricultor", + "Peisagist-Floricultor", + "Lucrator Calificat In Floricultura Si Arboricultura", + "Pomicultor", + "Viticultor", + "Fermier In Horticultura", + "Cioban (Oier)", + "Crescator-Ingrijitor De Animale Domestice Pentru Productia De Lapte Si Carne", + "Tocator De Furaje", + "Lucrator Calificat In Cresterea Animalelor", + "Crescator Bovine", + "Crescator Porcine", + "Mamos Porcine", + "Baci Montan", + "Cioban Montan", + "Crescator De Oi Montan", + "Oier Montan", + "Crescator De Pasari", + "Fazanier", + "Apicultor", + "Sericicultor", + "Crescator De Animale Mici", + "Crescator-Ingrijitor Animale Salbatice Captive", + "Crescator-Ingrijitor De Animale De Laborator", + "Crescator De Melci", + "Antrenor Cabaline", + "Crescator-Ingrijitor De Cabaline", + "Herghelegiu", + "Fermier In Productia Vegetala", + "Fermier In Productia Animala", + "Agricultor In Culturi Vegetale Si Crescator De Animale", + "Cioplitor In Lemn", + "Carbonitor", + "Fasonator Mecanic (Cherestea)", + "Muncitor Plantatii Si Amenajare Zona Verde", + "Pepinierist", + "Presator Stuf", + "Protectionist Silvic", + "Recoltator Stuf", + "Rezinator", + "Sef Coloana Exploatare Stuf", + "Stivuitor Si Receptioner Silvic", + "Taietor Silvic", + "Preparator Mangal", + "Mangalizator", + "Lucrator In Culturi Acvatice", + "Piscicultor", + "Pescar In Ape Interioare Si De Coasta", + "Pescar In Mari Si Oceane", + "Paznic De Vanatoare", + "Muncitor Constructor Barne, Chirpici, Piatra", + "Confectioner Placi Din Diverse Materiale", + "Confectioner Plase Si Panze Rabit Din Stuf", + "Sobar", + "Zidar Cosuri Fabrica", + "Zidar Pietrar", + "Zidar Samotor", + "Zidar Rosar-Tencuitor", + "Zidar Restaurator", + "Cioplitor In Piatra Si Marmura", + "Cioplitor-Montator Piatra, Marmura", + "Gaterist La Taiat Blocuri De Piatra, Marmura", + "Taietor, Slefuitor, Lustruitor Piatra, Marmura", + "Restaurator Piatra", + "Betonist", + "Fierar Betonist", + "Montator Elemente Prefabricate Din Beton Armat", + "Constructor Structuri Monolite", + "Operator Injectorist", + "Injectorist In Constructii", + "Dulgher (Exclusiv Restaurator)", + "Dulgher Restaurator", + "Muncitor Hidrometru", + "Pavator", + "Sapator Fantani", + "Asfaltator", + "Cantonier", + "Chesonier", + "Constructor Cai Ferate", + "Constructor Linii Tramvai", + "Drenor Canalist", + "Fascinar", + "Finisor Terasamente", + "Muncitor Hidrogeolog", + "Muncitor Constructor Senal Navigabil, Lucrari Hidrotehnice Si Portuare", + "Sef Echipa Intretinere Poduri Metalice, Viaducte Si Tuneluri", + "Agent Hidrotehnic", + "Revizor Cale Sau Puncte Periculoase", + "Meserias Intretinere Cale", + "Sef Echipa Intretinere Cale", + "Meserias Intretinere Poduri Metalice, Viaducte Si Tuneluri", + "Alpinist Utilitar", + "Laborant Determinari Fizico-Mecanice Pentru Lucrari De Drumuri Si Poduri", + "Sef Echipa Intretinere Cale Metrou", + "Sef Echipa Lucrari Arta Metrou", + "Lucrator Pentru Drumuri Si Cai Ferate", + "Muncitor In Taieri Structuri Cu Scule Diamantate", + "Acoperitor-Invelitor Tigla, Azbociment, Tabla", + "Constructor De Acoperisuri", + "Faiantar", + "Montator Placaje Interioare Si Exterioare", + "Mozaicar (Exclusiv Restaurator)", + "Parchetar", + "Mozaicar Restaurator", + "Linolist", + "Montator Placaje Uscate", + "Ipsosar (Exclusiv Restaurator)", + "Turnator Ornamentalist", + "Ipsosar Restaurator Ornamente Din Ipsos", + "Izolator Fonic", + "Izolator Frigorific", + "Izolator Hidrofug", + "Izolator Lucrari Speciale (Antiacide Si De Protectie)", + "Izolator Termic", + "Montator Pereti Si Plafoane Din Ghips-Carton", + "Asamblator-Montator Profile Aluminiu Si Geam Termopan", + "Confectioner Geam Termoizolator", + "Confectioner Tamplarie Din Aluminiu Si Mase Plastice", + "Montator Tamplarie Din Aluminiu Si Mase Plastice", + "Confectioner-Montator Tamplarie Din Aluminiu Si Mase Plastice Cu Geam Termoizolator", + "Montator Materiale Geosintetice", + "Sudor Geomembrana", + "Montator Geogrile", + "Montator Materiale Geotextile Si Geocompozite", + "Geamgiu", + "Detector Pierderi Apa Si Gaze", + "Instalator Apa, Canal", + "Instalator Frigotehnist", + "Instalator Incalzire Centrala Si Gaze", + "Instalator Retele De Distributie/Transport Fluide", + "Instalator Ventilare Si Conditionare Apa", + "Verificator Canale Subterane", + "Instalator Centrale Termice", + "Instalator Instalatii Tehnico-Sanitare Si De Gaze", + "Instalator Autorizat Proiectare Executie Si/Sau Exploatare Obiectiv/Sisteme De Transport", + "Instalator Autorizat Proiectare Executie Si/Sau Exploatare Obiectiv/Sisteme De Distributie", + "Instalator Retele Termice Si Sanitare", + "Operator Instalatii Apa Si Canalizare", + "Frigoriferist (Frigotehnist)", + "Tapetar", + "Zugrav", + "Stucaturist", + "Ignifugator", + "Operator Termoprotectie", + "Lacuitor Lemn", + "Vopsitor Industrial", + "Finisor-Lacuitor Lemn", + "Vopsitor", + "Vopsitor Auto", + "Cosar", + "Curatitor De Fatade", + "Modelier Lemn", + "Modelier Metal", + "Modelator-Miezuitor", + "Modelier Naval", + "Operator La Masini De Brichetat Span", + "Pregatitor Metale Vechi Pentru Retopire", + "Recuperator Metale Vechi", + "Topitor Aliaje Tipografie", + "Topitor Fonta Si Neferoase", + "Topitor, Turnator Metale Si Aliaje Neferoase", + "Turnator Fonta Pe Banda", + "Turnator Formator", + "Turnator Pregatitor Otelarie", + "Turnator Modelier", + "Turnator Metale Si Neferoase", + "Modelor Prototipuri Auto", + "Brazor", + "Sudor Manual Cu Flacara De Gaze", + "Sudor Manual Cu Arc Electric", + "Sudor Cu Arc Electric Acoperit Sub Strat De Flux", + "Operator Taiere", + "Sudor Cu Arc Electric Cu Electrod Fuzibil In Mediu De Gaz Protector", + "Sudor Cu Arc Electric Cu Electrod Nefuzibil In Mediu De Gaz Protector", + "Sudor", + "Cazangiu Recipiente", + "Probator Hidraulic Cazane, Tevi, Recipiente", + "Tinichigiu Carosier", + "Tinichigiu Industrial", + "Tinichigiu De Santier", + "Tinichigiu Structurist De Aviatie", + "Cazangiu Tevar", + "Cazangiu Formator", + "Tinichigiu Restaurator", + "Tinichigiu Sisteme De Acoperisuri Si Invelitori", + "Tinichigiu Sisteme De Ventilatie", + "Tinichigiu In Constructii", + "Finisor Cocleti", + "Finisor Ace Si Accesorii", + "Confectioner Capace De Carde", + "Confectioner Cocleti", + "Confectioner Plase Din Sarma", + "Formator Tevi Prin Sudare", + "Lacatus Constructii Metalice Si Navale", + "Lacatus De Mina", + "Lacatus Revizie Vagoane", + "Lacatus Mecanic", + "Lacatus-Montator", + "Presator Metale La Rece", + "Reconditioner Scule Si Utilaje Petroliere", + "Sanfrenator", + "Pregatitor, Montator, Reparator Ite, Cocleti, Lamele, Spete", + "Repasator Garnituri Carde", + "Tubulator Naval", + "Masinist La Litografiat Si Vernisat Tabla", + "Masinist La Confectionarea Ambalajelor Metalice", + "Masinist La Confectionarea Tuburilor De Aluminiu", + "Constructor-Montator De Structuri Metalice", + "Masinist La Fabricarea Acelor Si Accesoriilor", + "Nituitor", + "Lacatus Mecanic De Intretinere Si Reparatii Universale", + "Masinist La Confectionarea Spetelor Si Spiralelor", + "Montator-Ajustor Spete", + "Lipitor Si Protejator Spete", + "Taietor Garnituri De Carde", + "Masinist Mecanic La Confectionare Garnituri Carde", + "Lacatus-Depanator Utilaje Calcul", + "Operator La Montarea Si Conservarea Produselor Dupa Probe", + "Schelar", + "Confectioner-Montator Structuri Metalice Pentru Constructii", + "Montator Fatade Si Pereti Cortina", + "Mecanic-Montator Instalatii Cu Cablu In Silvicultura Si Exploatari Forestiere", + "Forjor-Matriter", + "Prelucrator Mecanic Metale Pretioase", + "Presator Piese Din Pulberi Metalice", + "Stantator", + "Presator, Ambutisor La Cald", + "Forjor Manual", + "Forjor-Arcurar", + "Forjor Mecanic", + "Confectioner Ferodouri", + "Preparator Pulberi", + "Cuptorar-Termist Pentru Ferite", + "Fierar/Potcovar", + "Formator-Presator Ferite", + "Finisor Ferite", + "Controlor De Calitate La Forjare", + "Controlor De Calitate La Turnare", + "Debitator-Ebosator", + "Dusisator-Polizator", + "Lacatus Sdv", + "Sculer-Matriter", + "Lacatus Amc", + "Lacatus Mecanica Fina", + "Prelucrator Prin Electroeroziune", + "Lacatus La Prelucrarea Si Indreptarea Tevilor Ghintuite", + "Reglor La Masini Pentru Fabricarea Cablurilor, Conductorilor Electrici Si Materialelor Electrice", + "Reglor La Masini Pentru Confectionarea Elementelor Galvanice", + "Reglor Benzi Montaj", + "Masinist La Linii Automate Aschietoare", + "Reglor Masini De Bobinat Si Platinat", + "Reglor La Masini De Prelucrare Mase Plastice", + "Reglor Masini-Unelte", + "Reglor-Montator", + "Reglor La Masini Pentru Fabricarea Lampilor Electrice", + "Reglor Si Reglor-Conductor La Masini-Unelte", + "Conductor De Instalatii", + "Operator La Masini-Unelte Semiautomate Si Automate", + "Dozator La Fabricarea Electrozilor De Sudura", + "Masinist La Lame De Masini Pentru Automate Aschietoare", + "Degresator-Imersioner", + "Uscator Electrozi De Sudura", + "Masinist La Masini Speciale Fara Aschiere", + "Preparator Amestec De Invelis", + "Pregatitor Sarma", + "Finisator Electrozi De Sudura", + "Masinist La Masini Speciale De Aschiere", + "Masinist La Confectionarea Tuburilor De Protectie Si A Dozelor De Ramificatie", + "Operator La Masini-Unelte Cu Comanda Numerica", + "Operator La Masini De Electroeroziune Automate", + "Ascutitor Laminate La Cald", + "Ascutitor Laminate La Rece", + "Ascutitor-Calitor Garnituri De Carde", + "Ascutitor Scule, Instrumente Medicale Si Obiecte De Uz Casnic", + "Debitator-Slefuitor Perii De Masini Electrice", + "Polizator", + "Slefuitor Metale", + "Frezor Universal", + "Gauritor-Filetator", + "Honuitor, Rodator-Lepuitor", + "Rabotor-Mortezor Universal", + "Rectificator Universal", + "Strungar Universal", + "Brosator", + "Frezor La Masini Roti Dintate", + "Gravor Mecanic", + "Rabotor, Mortezor Roti Dintate", + "Rectificator Dantura Caneluri", + "Strungar La Strung Paralel Si De Detalonat", + "Strungar La Strung Revolver", + "Strungar La Strung Carusel", + "Strungar La Masini Orizontale", + "Strungar La Masini De Alezat", + "Strungar La Masini De Prelucrat In Coordonate", + "Strungar La Masini De Strunjit Roti Cai Ferate", + "Rectificator Piese Producatoare De Ochiuri", + "Slefuitor Metale Cu Plumb Industria De Armament", + "Debitator Semifabricate", + "Curatitor-Sablator", + "Electrician Auto", + "Electromecanic Auto", + "Mecanic Auto", + "Operator Standuri Incercari", + "Operator Pregatire Incercari Vehicule", + "Mecanic Aviatie", + "Lacatus-Montator Agregate Energetice Si De Transport", + "Mecanic Utilaj", + "Mecanic Agricol", + "Motorist", + "Ungator-Gresor", + "Operator In Verificarea, Reincarcarea Si Repararea Stingatoarelor De Incendiu", + "Mecanic Intretinere Si Reparatii Masini De Cusut Industriale", + "Operator In Verificarea, Intretinerea Si Repararea Autospecialelor Destinate Apararii Impotriva Incendiilor", + "Mecanic Masini Agricole", + "Mecanic Trolist", + "Amc-Ist", + "Armurier", + "Blocator, Chituitor, Deblocator", + "Ceasornicar", + "Centrator, Debordator Piese Optice", + "Centrator, Finisor Aparate Optice", + "Degresator, Curatator Piese Si Aparate Optice", + "Lipitor Lentile Si Prisme", + "Montator Aparatura Optica", + "Optician", + "Optician Armament", + "Confectioner Seringi", + "Presator Piese Optice", + "Reparator Aparate Foto", + "Reparator Stilouri, Brichete", + "Reparator Umbrele", + "Gravor Piese Optice", + "Tratamentist Piese Optice", + "Metrolog Si Depanator Mecanica Fina, Tehnica Digitala Si Analogica (Mftda)", + "Metrolog Verificator", + "Acordor Acordeoane, Armonici", + "Acordor Piane, Pianine, Orga, Tambal", + "Caserator Si Slefuitor De Celuloid Pentru Carcase Acordeoane", + "Ceruitor De Piastrine Pentru Acordeoane", + "Constructor Claviatura", + "Constructor-Reparator De Acordeoane Si Armonici", + "Constructor-Reparator De Alte Instrumente Muzicale (Suflat, Percutie)", + "Filator Corzi Pentru Piane", + "Montator Corp Sonor La Piane", + "Montator-Reglor Piane", + "Montator-Ajustor De Acordeoane", + "Lutier", + "Constructor Restaurator De Orgi", + "Argintar", + "Bijutier Metale Pretioase", + "Cizelator", + "Cizelator Clisee Galvanice", + "Confectioner Stampile De Cauciuc, Metal, Facsimile", + "Gravor Manual", + "Tintuitor", + "Bijutier Metale Comune", + "Giuvaergiu", + "Slefuitor Diamante Naturale", + "Aplicator De Detalii La Produse Din Ceramica", + "Debavurator-Retusor La Produse Din Ceramica Fina", + "Turnator Produse Ceramice", + "Fasonator Produse Ceramice", + "Glazurator Produse Din Ceramica Fina", + "Modelator Ceramica", + "Olar Ceramica (Artizanat)", + "Preparator Mase Ceramice", + "Presator Produse Ceramice", + "Rasnitor Smalt", + "Slefuitor Produse Din Ceramica Fina", + "Brigadier La Fabricarea Sticlei", + "Modelator Tuburi Spectrale", + "Tragator, Slefuitor, Gradator Nivele", + "Prelucrator Topitura Sticla La Presa", + "Prelucrator Topitura Sticla La Teava", + "Formator Tuburi Spectrale", + "Pictor Decor", + "Gradator Vase Si Aparate De Laborator", + "Gravor Produse De Sticla", + "Inscriptioner Pe Produse De Sticla Si Ceramica", + "Pictor Pe Sticla Si Ceramica", + "Oglindar", + "Confectioner Piese, Linguri, Spite, Albii, Donite, Cozi De Unelte, Sindrila, Ciubere", + "Confectioner Jucarii", + "Confectioner Obiecte Artizanale Din Lemn", + "Confectioner Plute", + "Confectioner Garnituri Pentru Etansare", + "Pirogravor", + "Ramar Poleitor", + "Sculptor In Lemn", + "Confectioner Creta Scolara", + "Traforator Manual Lemn", + "Dogar Manual", + "Rotar Caretas", + "Lumanarar", + "Confectioner Cutite, Brice, Bratari, Andrele, Agrafe, Inele", + "Confectioner Nasturi, Piepteni", + "Confectioner Obiecte Casnice Din Deseuri De Aluminiu Si Alte Metale", + "Confectioner Obiecte Din Ipsos", + "Confectioner Obiecte Din Os, Scoica, Mica Etc.", + "Confectioner Corzi Din Intestine", + "Incadrator Tablouri", + "Confectioner Materiale Didactice Pentru Stiintele Naturii", + "Confectioner Bidinele, Pensule, Perii", + "Confectioner Maturi", + "Impletitor De Nuiele", + "Impletitor Obiecte Din Foi De Porumb", + "Impletitor Papura", + "Legator De Par", + "Sortator, Spalator Par", + "Prelucrator De Par La Masina", + "Prelucrator Manual De Par", + "Impletitor Din Panglica Impletita", + "Pieptanator De Par La Masina", + "Fierbator-Uscator De Par", + "Confectioner Plase Pescaresti", + "Confectioner Articole Hartie", + "Confectioner Bibelouri Din Jenille", + "Decorator In Piele", + "Velator-Matisor", + "Confectioner Manual De Produse Din Sfori Sau Franghii", + "Ghemuitor", + "Polierator Franghii", + "Cablator Franghii", + "Saluzitor Franghii", + "Confectioner Unelte Pescuit Din Plase", + "Confectioner Imbracare Volane In Piele", + "Prelucrator De Fulgi Si Pene", + "Filator", + "Ajutor Maistru Filator", + "Tesator", + "Tricoter Manual", + "Ajutor Maistru Tesator, Tricoter", + "Crosetor", + "Impletitor Textile", + "Confectioner Presuri", + "Tesator Restaurator Manual Covoare", + "Pregatitor Si Confectioner Cataloage Mostre", + "Confectioner Tricotaje Dupa Comanda", + "Finisor Textile (Vopsitor, Imprimeur)", + "Repasator", + "Aburitor Textile", + "Reparator Covoare", + "Tesator Manual", + "Cusator Manusi Piele", + "Croitor Manusi Piele", + "Finisor Manusi Piele", + "Croitor-Stantator Articole Marochinarie", + "Cusator Articole Marochinarie", + "Pregatitor Articole Marochinarie", + "Asamblator-Montator Articole Marochinarie", + "Confectioner Manual In Metaloplastie", + "Confectioner Proteze Dentare", + "Confectioner Proteze Ortopedice", + "Confectioner Jaluzele", + "Impletitor Fibre Plastice", + "Confectioner Flori Artificiale", + "Culegator La Masina De Cules Si Turnat Randuri (Linotipist)", + "Culegator La Masina De Perforat Programe Pentru Masinile De Turnat Text (Monotastor)", + "Culegator La Masina De Turnat Randuri Pentru Titluri (Ludlov)", + "Culegator Manual (Zetar)", + "Frezor-Montator Clisee", + "Stereotipar", + "Galvanotipist", + "Corodor Prin Procedee Chimice (Tiefdruc Si Zinco)", + "Zincograf", + "Copist Formare Tipar Plan", + "Desenator Cromolitograf", + "Slefuitor-Granulator", + "Gravor Placi Metalice", + "Gravor Placi Litografice", + "Fotogravor", + "Turnator Valuri", + "Manipulant Cutter-Plotter", + "Tipograf Turnator La Masinile De Turnat Text", + "Imprimeur Textil", + "Imprimator Serigraf", + "Taietor Matrite Serigrafie", + "Serigraf", + "Operator Presa De Transfer Termic", + "Tipograf-Tiparitor", + "Dactilo-Rotaprint", + "Operator La Masina Electronica De Gravat", + "Operator La Masinile De Fotoculegere (Monofoto)", + "Operator Tiparituri Braille", + "Heliografist", + "Operator Xerox", + "Operator Masini Multiplicat", + "Tipograf Print Digital Si Offset", + "Operator La Masina De Gravat Si Decupat Cu Laser", + "Operator La Masina De Tampografiat", + "Tipograf Flexograf", + "Legator Manual (In Poligrafie Si Ateliere Speciale)", + "Colator Publicitar", + "Masinist In Legatorie Mecanica", + "Strungar Slefuitor Tipografie", + "Electrician In Constructii", + "Electrician De Intretinere In Constructii", + "Instalator Pentru Sisteme Fotovoltaice Solare", + "Instalator Pentru Sisteme Termice Solare", + "Montator Instalatii Solare", + "Electrician Constructor Montator Aparataj Si Cabluri De Joasa Tensiune", + "Electrician Constructor Montator Aparataj Si Cabluri De Medie Si Inalta Tensiune", + "Electrician Constructor Instalator Aparatura De Masura Si Control", + "Electrician Constructor Pentru Probe Si Incercari Functionale", + "Electrician In Constructii Civile Si Industriale", + "Electrician Echipamente Electrice Si Energetice", + "Bobinator Aparataj Electric", + "Electromecanic Reparator Obiecte De Uz Casnic", + "Bobinator Masini Electrice Rotative", + "Electrician Aparate Masura-Control Si Automatizare In Centrale Termoelectrice Si Nuclearoelectrice", + "Electrician Montare Si Reparatii Aparataj Electric De Protectie, Relee, Automatizare", + "Bobinator Condensatori Pentru Instalatii Electrice", + "Electrician Verificari Si Masuratori Electrice In Centrale Si Retele Electrice", + "Bobinator Transformatoare", + "Montator/Reglor/Depanator De Aparataj Electric", + "Montator, Reglor Si Depanator Pentru Aparate De Masura Electrice Si Relee", + "Montator, Reglor Si Depanator De Ascensoare", + "Electrician Nave", + "Confectioner Cablaje Auto", + "Electromecanic Masini Si Echipamente Electrice", + "Electromecanic Statie Pompare Apa-Canal", + "Electrician Exploatare Centrale Si Statii Electrice", + "Electrician Exploatare Retele Electrice", + "Electrician Montare Si Reparatii Cabluri Electrice Subterane", + "Electrician Montare Si Reparatii Linii Electrice Aeriene", + "Electrician Montare Si Reparatii Echipament Electric Din Centrale, Statii Si Posturi De Transformare", + "Electrician Protectie Relee, Automatizari Si Masuratori Electrice", + "Electrician De Intretinere Si Reparatii", + "Electrician Montator De Instalatii Automatizate", + "Electrician Montator De Instalatii Electrice La Mijloace De Transport", + "Electrician Pentru Protectia Catodica", + "Electrician Rural", + "Electrician De Mina", + "Electrician Pentru Utilizarea Energiei Electrice", + "Electrician Depanator Utilaje Calcul", + "Electronist Depanator Utilaje Calcul", + "Plantator Elemente Electronice", + "Operator In Verificarea, Intretinerea Si Repararea Instalatiilor Speciale De Prevenire A Incendiilor", + "Tehnician Pentru Sisteme Si Instalatii De Semnalizare, Alarmare Si Alertare In Caz De Incendiu", + "Tehnician Pentru Sisteme Si Instalatii De Limitare Si Stingere A Incendiilor", + "Automatist", + "Electromecanic Scb (Semnalizare, Centralizare, Blocare)", + "Electromecanic Radio-Radioficare", + "Electromecanic Retele Cabluri", + "Electromecanic Retele Linii", + "Electromecanic Telegrafie, Telefonie", + "Electronist Telecomunicatii", + "Jonctor", + "Linior", + "Montator, Reglor, Testor Aparatura De Telecomunicatii Si Instalatii De Semnalizare, Centralizare Si Blocare", + "Electromecanic Electroalimentare", + "Muncitor Radioelectronist", + "Electromecanic Automatizari Si Telecomunicatii", + "Electromecanic", + "Carmangier", + "Ciontolitor Transator Carne", + "Macelar", + "Sterilizator", + "Taietor Pasari", + "Lucrator La Prelucrarea Pestelui", + "Afumator Carne", + "Brutar", + "Cofetar", + "Patiser", + "Preparator De Semifabricate Si Preparate Culinare", + "Operator La Fabricarea Produselor Congelate De Patiserie Si Panificatie", + "Pasteurizator Produse Lactate", + "Preparator Produse Lactate", + "Smantanitor", + "Preparator Conserve, Legume Si Fructe", + "Uscator-Deshidrator Legume, Fructe", + "Preparator Castane, Dovleac, Porumb", + "Lucrator In Procesarea De Fructe De Padure Si Ciuperci De Padure", + "Degustator", + "Conditioner Tutun Pentru Fabricarea Tigaretelor", + "Vopsitor Lemn", + "Pregatitor Paste Chimice", + "Pregatitor Placi Fibrolemnoase Si Hartie Pentru Filme", + "Uscator, Aburitor Material Lemnos", + "Tamplar Universal", + "Tamplar Carosier", + "Tamplar Manual/Artizanal", + "Marangoz-Calafatuitor", + "Asamblator Lazi", + "Confectioner-Montator Produse Din Lemn", + "Curbator-Montator Butoaie Din Lemn", + "Tamplar Manual La Presare Si Incleiere", + "Corhanitor", + "Tamplar Manual Ajustor Montator", + "Tamplar Manual La Imbinarea Furnirelor", + "Marangoz Cala-Tachelagiu", + "Slefuitor, Lustruitor", + "Pregatitor Suprafete Pentru Lacuit", + "Gardinator", + "Confectioner-Montator Cercuri La Butoaie", + "Decupator Lamele Din Lemn Pentru Lazi", + "Preparator-Dozator Adezive, Rasini, Lacuri Si Emailuri In Industria Lemnului", + "Tamplar Restaurator", + "Restaurator Sarpante Si Structuri Din Lemn", + "Tamplar Binale", + "Strungar In Lemn", + "Reglor Masini De Prelucrat Lemn", + "Taietor De Precizie In Lemn", + "Confectioner Articole Speciale Din Lemn", + "Confectioner Parchete", + "Confectioner Cutii Chibrituri Din Furnir", + "Impregnator-Uscator Chibrituri", + "Confectioner Gamalii Chibrituri", + "Masinist La Umplerea Si Inchiderea Cutiilor De Chibrituri", + "Pastator Cutii De Chibrituri", + "Fasonator Calapoade", + "Montator Accesorii Pentru Calapoade", + "Finisor Calapoade", + "Circularist La Taiat Lemne De Foc", + "Curbator Lemn", + "Gradator Rechizite Si Articole Tehnice Din Lemn", + "Tamplar Mecanic La Croit Si Dimensionat", + "Tamplar Mecanic La Rindeluit", + "Tamplar Mecanic La Frezat Si Gaurit", + "Tamplar Mecanic La Strunjit", + "Tamplar Mecanic La Slefuit", + "Confectioner Mine Pentru Creioane", + "Innobilator Scandurele Pentru Creioane", + "Fasonator Creioane Si Tocuri", + "Finisor Creioane Si Tocuri", + "Preparator Paste Chimice Pentru Chibrituri", + "Confectioner Cutii Chibrituri Din Carton", + "Operator La Masini Unelte Cu Comanda Numerica In Prelucrarea Lemnului", + "Croitor", + "Lenjer, Confectioner Lenjerie Dupa Comanda", + "Confectioner Palarii", + "Ajutor Maistru Croitor", + "Plior Confectii", + "Modista", + "Ceaprazar-Sepcar", + "Curatitor-Reparator Palarii", + "Retusier Confectii", + "Blanar-Confectioner Imbracaminte Din Blana, Dupa Comanda", + "Confectioner Imbracaminte Din Piele Si Inlocuitori, Dupa Comanda", + "Cojocar", + "Confectioner, Prelucrator In Industria Textila", + "Croitor-Confectioner Imbracaminte, Dupa Comanda", + "Multiplicator Sabloane Croitorie", + "Confectioner Corsete", + "Confectioner Reparator Cravate", + "Planimetror Sabloane", + "Croitor Confectioner Costume Teatru", + "Broder Manual", + "Stopeur", + "Remaieur Ciorapi", + "Broder Manual-Mecanic", + "Broder La Gherghef", + "Tapiter", + "Saltelar", + "Plapumar", + "Mestesugar Argasitor", + "Mestesugar Cenuseritor", + "Mestesugar Finisor Mineral", + "Mestesugar Finisor Vegetal", + "Mestesugar Sortator In Industria Pielariei", + "Cizmar-Confectioner Incaltaminte, Dupa Comanda", + "Confectioner Articole Din Piele Si Inlocuitori", + "Confectioner Incaltaminte Ortopedica", + "Curelar, Confectioner Harnasamente", + "Marochiner-Confectioner Marochinarie, Dupa Comanda", + "Opincar", + "Talpuitor (Confectioner-Reparatii Incaltaminte)", + "Scafandru", + "Scafandru Lucrator Subacvatic", + "Scafandru Sef Grup", + "Scafandru Sef Utilaj", + "Scafandru Greu", + "Operator Barocamera", + "Scafandru Salvator", + "Sef De Scufundare", + "Tehnician De Scufundare", + "Artificier De Mina", + "Artificier La Lucrari De Suprafata", + "Pirotehnician Cinematografie Si Teatru", + "Controlor Calitate", + "Miner In Subteran", + "Miner La Suprafata", + "Miner In Subteran Pentru Constructii", + "Masinist Pentru Utilaje Specifice La Extractie Si Executia Tunelurilor", + "Semnalist-Cuplator", + "Excavatorist Pentru Excavatoare Cu Rotor De Mare Capacitate", + "Trolist", + "Brichetator Carbune", + "Distilator La Prepararea Carbunelui", + "Operator La Prepararea Minereurilor", + "Operator La Sfaramarea Minereurilor", + "Prajitor Minereu", + "Prelucrator Mica", + "Spalator La Prepararea Carbunilor", + "Flotator La Prepararea Carbunilor", + "Separator La Prepararea Carbunilor", + "Morar La Masini De Maruntit Roci", + "Tocator La Masini De Maruntit Roci", + "Concasorist", + "Operator Mineralurg", + "Operator Extractie Titei", + "Sondor La Foraj Manual", + "Operator-Prospector Lucrari Geologice Si Geofizice", + "Operator Transport Pe Conducte Singulare Gaze", + "Operator Extractie Gaze", + "Operator Extractie Titei In Subteran", + "Operator Extractie Sare In Salina", + "Operator Masuratori Speciale Sonde", + "Operator Lucrari Speciale Sonde", + "Sondor La Forajul Mecanizat Si Reparatii Sonde", + "Sondor La Interventii De Sonde", + "Sondor La Punerea In Productie", + "Primitor-Preparator Produse Fluide", + "Operator Flotare Produse Fluide", + "Cuptorar Lianti", + "Fasonator Produse Din Azbociment", + "Finisor Produse Din Azbociment", + "Morar Lianti", + "Preparator Pasta De Azbociment", + "Tratamentist Produse Din Azbociment", + "Operator La Impregnarea Produselor Hidroizolatoare", + "Masinist Pentru Prefabricate Din Beton Si Beton Armat", + "Operator La Fabricarea Vatei Si Produselor Din Vata Minerala", + "Confectioner Garnituri Din Azbest", + "Cocsar", + "Furnalist", + "Otelar", + "Pregatitor Materiale De Sarje", + "Melanjorist", + "Operator Oxizi De Plumb", + "Dezbatator Lingouri", + "Metalurgist Pulberi Din Oxid De Fier", + "Curatitor Lingouri", + "Preparator La Concentratele Miniere", + "Topitor La Concentrate Miniere", + "Rafinator Metale Neferoase", + "Electrometalurgist", + "Conditioner-Finisor", + "Turnator Fonta", + "Granulator Zgura", + "Epurator Gaze", + "Masinist Suflante", + "Pregatitor De Sarje", + "Dozator La Producerea Aglomeratului", + "Aglomeratorist", + "Masinist Exhaustor", + "Operator Separare Magnetica", + "Laminator Semifabricate, Profiluri Tabla Si Platbanda", + "Laminator, Presator Tevi Plumb", + "Topitor, Turnator Metale Pretioase", + "Laminator Sarma", + "Laminator Tabla Subtire", + "Laminator De Bandaje Si Discuri", + "Laminator De Tevi", + "Laminator Pe Laminoare Continue", + "Laminator De Benzi La Rece", + "Presator De Tevi La Cald Si Profiluri Prin Extruziune", + "Alimentator-Incalzitor De Materiale", + "Operator La Cuptoare Si Instalatii Pentru Turnarea Si Laminarea Metalelor", + "Laminator", + "Termist-Tratamentist De Produse Brute, Forjate, Turnate Sau Laminate", + "Termist Tratamentist De Piese Semifabricate, Finite", + "Calitor Prin Inductie Sau Cu Flacara", + "Calitor Scule", + "Termist-Tratamentist", + "Operator La Instalatii De Tratament Termic Cu Procesare", + "Operator La Pregatirea Sarjelor Pentru Tratament Termic", + "Finisor Laminate Si Trefilate", + "Decapator", + "Regulator Tevi", + "Trefilator, Tragator", + "Galvanizator", + "Metalizator Prin Pulverizare", + "Metalizator Prin Cufundare In Metal Topit", + "Confectioner Protectii Si Obiecte Anticorozive", + "Emailator", + "Operator La Confectionarea Materialelor Electroizolante", + "Matisor Cabluri", + "Metalizator-Termist", + "Arzator Email", + "Emailator Insigne Si Decoratii", + "Emailator Firme Si Decoruri", + "Emailator Prin Pudrare", + "Emailator Prin Pulverizare", + "Preparator Email", + "Emailator Prin Imersiune", + "Acoperitor Metale", + "Poleitor Filiere", + "Protejator Conductori Cabluri Si Condensatori Statici De Forta", + "Confectioner Izolatii La Conductori Electrici", + "Confectioner Mantale De Plumb Prin Presare La Cabluri", + "Confectioner Toroane Si Cablaje La Conductori Electrici", + "Pregatitor Seturi De Cabluri Electrice Pentru Autotrac Si Accesorii", + "Preparator Electrolit Si Amestec Depolarizator", + "Confectioner Si Legator Depolarizator", + "Asamblator Elemente Si Baterii Galvanice", + "Confectioner De Elemente Galvanice", + "Confectioner Celule De Electroliza", + "Operator La Masini De Macinare Fina (Produse Chimice)", + "Operator La Masini De Fragmentare (Produse Chimice)", + "Operator La Masini De Amestecare (Produse Chimice)", + "Operator La Instalatii De Ardere", + "Uscator In Industria Chimica", + "Preparator In Industria Chimica", + "Sinterizator", + "Operator La Fabricarea Sticlei", + "Impaslitor Panza Sticla", + "Filator Fibre Sticla", + "Preparator Amestec Si Topitor Sticla", + "Operator Poliesteri Armati Cu Fibra De Sticla", + "Extractorist In Chimie", + "Fermentator In Chimie", + "Concentrator-Purificator In Chimie", + "Extractorist Uleiuri Volatile Naturale Si Colesterina", + "Operator Chimist La Producerea Compusilor Organici Ai Sulfului Si Ingrasamintelor Fosfatice", + "Distilator In Industria Chimica", + "Operator Chimist La Producerea Diverselor Produse Anorganice", + "Operator Chimist La Fabricarea Lacurilor, Vopselelor Si Uleiurilor", + "Operator Chimist La Fabricarea Colorantilor", + "Operator La Obtinerea Produselor Din Spume Poliuretanice Si Latex", + "Operator Chimist La Producerea Compusilor Anorganici Ai Azotului Si Ingrasamintelor Azotoase", + "Operator Lacuri Electroizolante", + "Preparator Lacuri, Vopsele, Paste De Fludor Folosite La Aparataj Electric", + "Operator Chimist La Chimizarea Gazelor De Rafinarie", + "Operator Cracare, Deformare Si Fabricare Bitum", + "Operator Chimist La Fabricarea Altor Produse Organice", + "Operator Chimist La Chimizarea Gazului De Cocs", + "Producator De Fire Si Fibre Sintetice", + "Operator La Fabricarea Pieii Sintetice", + "Preparator Ferodouri", + "Finisor Universal Ferodouri", + "Operator La Fabricarea Glicerinei Si Acizilor Grasi", + "Operator La Fabricarea Sapunurilor", + "Operator La Produse Odorante Sintetice", + "Operator La Fabricarea Detergentilor", + "Operator Chimist La Produsele Farmaceutice Si Chimice Pure", + "Preparator Benzi Cauciucate Si Compozitii Emplastre", + "Preparator Prafuri De Spalat Si Curatat", + "Preparator La Prepararea Produselor Cosmetice Si De Parfumerie", + "Preparator Ser Vaccin", + "Conditioner Finisor Produse Explozive", + "Confectioner Fitile", + "Confectioner Produse Pirotehnice", + "Nitrator", + "Pregatitor La Produse Explozive", + "Preparator La Produse Explozive", + "Confectioner Cartuse De Vanatoare", + "Operator La Tragere Si Munitie", + "Operator La Pregatirea, Conservarea Si Ambalarea Armamentului Si Munitiei", + "Pregatitor, Completator De Echipamente Tehnice Si Sdv-Uri", + "Delaborator Munitie", + "Operator La Producerea Sodei Si Produselor Clorosodice", + "Operator La Fabricarea Altor Produse Chimice", + "Fotoceramist", + "Fotocopist", + "Fotopoligraf", + "Fotoreproducator", + "Montator Filme", + "Retusor Clisee", + "Pregatitor Hartie Fotosensibila", + "Operator La Fabricarea Filmelor Fotografice", + "Preparator La Confectionarea Produselor Industriale Din Cauciuc", + "Pregnator Prize Tehnice Si Banda Izolatoare", + "Confectioner De Produse Industriale Din Cauciuc", + "Vulcanizator De Produse Industriale Din Cauciuc", + "Finisor-Reparator De Produse Industriale Din Cauciuc", + "Operator La Prelucrarea Cauciucului", + "Confectioner Garnituri De Etansare Din Cauciuc", + "Finisor Incaltaminte Si Articole Tehnice Din Cauciuc", + "Calandror La Finisarea Cauciucului", + "Pregatitor Regenerare Cauciuc", + "Devulcanizator Regenerare Cauciuc", + "Rafinator Regenerare Cauciuc", + "Dozator Prelucrare Cauciuc", + "Impregnator Produse Din Cauciuc", + "Profilator Produse Din Cauciuc", + "Stantator Piese Pentru Incaltaminte Din Piele Si Cauciuc", + "Cusator Piese La Incaltaminte Din Cauciuc", + "Vulcanizator Piese Din Cauciuc La Prese", + "Vulcanizator La Autoclava", + "Preparator Cauciuc Electroizolant", + "Valtar Cauciuc Electroizolant", + "Masinist La Confectionarea Materialelor Electroizolante Impregnate", + "Masinist La Confectionarea Materialelor Electroizolante Stratificate (Mica)", + "Masinist La Confectionarea Foliilor De Cauciuc Electroizolante", + "Presator-Formator Materiale Stratificate, Pregnator Prize Tehnice Si Banda Izolatoare", + "Conditioner-Finisor Produse Din Cauciuc", + "Croitor Pentru Incaltaminte Si Articole Tehnice Din Cauciuc", + "Pregatitor Pentru Incaltaminte Si Articole Tehnice Din Cauciuc", + "Preparator Placi De Etansare Comprimate", + "Operator Fabricarea Si Prelucrarea Polimerilor", + "Preparator Mase Plastice", + "Valtar Calandru Mase Plastice", + "Operator La Prelucrarea Maselor Plastice", + "Presator Mase Plastice", + "Finisor-Asamblator Obiecte Din Mase Plastice", + "Creator, Modelier Mase Plastice", + "Operator La Confectionarea Discurilor Fonografice", + "Operator Sudare Tevi Si Fitinguri Din Polietilena De Inalta Densitate Pehd", + "Operator Mase Plastice", + "Operator Masini De Termoformatare", + "Cartonagist", + "Operator La Masina De Laminat", + "Decapsulator", + "Decuscutor", + "Topitor In Si Canepa", + "Melitator In Si Canepa", + "Innobilator In Si Canepa", + "Scuturator In Si Canepa", + "Lucrator In Bataje (Batator)", + "Destramator", + "Carbonizator Textile", + "Scuturator", + "Pregatitor Amestecuri In Filaturi", + "Cardator", + "Laminator Benzi Din Fibre", + "Pieptanator", + "Zdrobitor Si Uleiator Textile", + "Operator Masini Puitoare", + "Formator Manusi Fibre Liberiene", + "Montator La Lipit Ace", + "Curatitor-Slefuitor Garnituri Carde", + "Cilindror In Filaturi", + "Disponent In Filaturi", + "Pregatitor Gogosi De Matase (Fierbator)", + "Prelucrator Fire De Matase Din Gogosi (Filator)", + "Innodator Fire De Matase Naturala", + "Finisor Fire De Matase Naturala", + "Prelucrator Deseuri Gogosi De Matase Naturala", + "Operator La Masini De Tricotat Rectiliniu", + "Operator La Deservirea Razboaielor De Tesut", + "Snuruitor Jaqard", + "Operator La Masini De Tricotat Circular", + "Operator Sculuitor", + "Operator Canelator", + "Operator La Masini De Urzit", + "Operator Incheietor Fire", + "Operator Navaditor, Lipitor, Innodator Fire", + "Operator Bobinator-Dublator", + "Operator Batirator Fire", + "Operator Rasucitor Fire", + "Paslitor", + "Confectioner Polizoare Din Pasla", + "Operator Confectioner Industrial Imbracaminte Din Tesaturi, Tricotaje, Materiale Sintetice", + "Operator Confectii Imbracaminte Din Piele Si Inlocuitori", + "Operator La Confectionarea Industriala A Imbracamintei Din Blana", + "Operator La Confectionarea Industriala A Manusilor Din Piele", + "Incadrator Confectii", + "Rihtuitor Confectii", + "Pregatitor-Lansator Confectii", + "Spanuitor Confectii", + "Taietor Confectii", + "Operator Gazator Textile", + "Operator Descleietor Textile", + "Operator Degamator Textile", + "Operator Spalator Textile", + "Operator Albitor Textile", + "Operator Fierbator Textile", + "Operator Mercerizator Textile", + "Operator Pregatitor Chimicale In Industria Textila", + "Operator Vopsitor Textile", + "Operator Imprimeur Textile", + "Confectioner Sabloane Si Cilindri De Imprimat", + "Operator Apretor Textile", + "Operator Calandor-Govrator Textile", + "Operator Impregnator Textile", + "Operator Decator", + "Operator Presator Tesaturi Textile (Storcator Textile)", + "Operator Fixator Textile", + "Operator Piuar", + "Operator Scamosetor", + "Operator Tunsator Textile", + "Operator Curatitor Chimic", + "Operator Metrar-Volator-Dublator Textile", + "Operator Taietor Textile", + "Operator Uscator Textile", + "Operator Ingreunator Matase Naturala", + "Naphtolator La Imprimerie", + "Vaporizator La Imprimerie", + "Confectioner Sabloane La Imprimerie", + "Presator Axe La Cilindrul De Imprimat", + "Operator Universal ", + "Operator Cenuseritor", + "Operator Tabacitor Mineral Argasitor", + "Operator Tabacitor Vegetal", + "Operator Finisor Mineral", + "Operator Finisor Vegetal", + "Operator Argasitor", + "Operator Sortator In Industria Pielariei", + "Vopsitor Imbracaminte Din Blana", + "Operator La Prepararea Talpii De Incaltaminte Din Fibre", + "Operator La Confectionarea Industriala A Articolelor Din Cauciuc Si Textile Cauciucate", + "Croitor-Stantator Piese Incaltaminte", + "Pregatitor Piese Incaltaminte", + "Cusator Piese Din Piele Si Inlocuitori", + "Tragator Fete Pe Calapod", + "Talpuitor Industrial", + "Finisor Incaltaminte", + "Operator La Confectionarea Industriala A Palariilor", + "Croitor Confectii Industriale Din Blana", + "Operator La Confectionarea Industriala A Articolelor De Sport Si Protectie, Din Piele Si Inlocuitori", + "Cusator Confectii Industriale Din Blana", + "Pregatitor Confectii Industriale Din Blana", + "Finisor Confectii Industriale Din Blana", + "Operator Textile Netesute", + "Operator La Prepararea Conservelor Din Carne, Peste Si In Amestec Legume Si Peste", + "Operator La Valorificarea Subproduselor De Abator", + "Tripier", + "Preparator Peste, Raci, Broaste In Cherhanale Si Oficii", + "Preparator Faina Din Peste", + "Topitor Grasimi Comestibile Si De Uz Industrial", + "Operator La Fabricarea Mezelurilor", + "Colector Si Sortator Par", + "Preparator Ulei De Copite", + "Colector Si Preparator Faina, Sange, Carne, Oase", + "Curatitor Piei", + "Valorificator Glande", + "Preparator Pepsina, Cheag", + "Matar", + "Operator La Prepararea Branzeturilor", + "Operator La Prepararea Produselor Lactate", + "Operator Centru De Racire Lapte", + "Operator La Fabricarea Untului", + "Preparator Conserve Lapte Si Lactoza", + "Morar", + "Operator La Fabricarea Nutreturilor Combinate", + "Preparator Boia De Ardei", + "Preparator Mustar", + "Preparator Extracte, Arome Si Esente", + "Decorticator Crupe", + "Operator La Prepararea Produselor Zaharoase", + "Operator La Fabricarea Produselor Fainoase", + "Preparator Inghetata", + "Operator La Fabricarea Biscuitilor", + "Preparator Napolitane", + "Operator La Fabricarea Uleiurilor Vegetale", + "Operator La Fabricarea Conservelor Din Legume Sau Fructe", + "Operator La Fabricarea Zaharului", + "Conditioner Miere", + "Preparator De Produse Apicole", + "Preparator Surogate Cafea", + "Operator La Conditionarea Si Prelucrarea Plantelor Medicinale", + "Operator La Fermentarea Tutunului Si Fabricarea Produselor Din Tutun", + "Preparator Halva", + "Operator La Prepararea Bauturilor Alcoolice Si Racoritoare", + "Operator La Fabricarea Berii", + "Operator La Fabricarea Maltului", + "Operator La Fabricarea Spirtului Si Drojdiei De Panificatie", + "Vinificator-Pivnicer", + "Fermentator Otet", + "Operator La Fabricarea Glucozei", + "Preparator Bauturi Racoritoare", + "Preparator Rachiuri Industriale Si Lichioruri", + "Distilator Rachiuri Naturale", + "Operator La Fabricarea Amidonului Si Dextrinei", + "Preparator Coniac", + "Preparator Vermut", + "Preparator Sampanie", + "Pregatitor Lemn, Stuf, Paie", + "Preparator Pasta", + "Fierbator-Spalator Celuloza, Hartie", + "Albitor Pasta Hartie", + "Confectioner Tambur Filigranare", + "Masinist La Deshidratare Pasta Hartie", + "Finisor Hartie, Carton, Mucava", + "Confectioner Produse Igienico-Sanitare", + "Confectioner Rondele Din Pluta", + "Confectioner Bastoane Din Pluta", + "Confectioner Colaci Si Centuri De Salvare", + "Masinist La Masina De Taiat Sraifuri Si Dopuri Din Pluta", + "Masinist La Masina De Zdrobit Si Macinat Pluta", + "Confectioner Placi Izolatoare", + "Aburitor Pluta", + "Pregatitor Lemn Aschietor", + "Pregatitor Aschii", + "Incleietor Placi Aglomerate", + "Formator Presator Placi Brute", + "Formator Finisor Placi", + "Tocatorist-Defibratorist", + "Filtrator-Deshidratorist", + "Presator Pfl", + "Tratamentist Pfl", + "Formator Pfl", + "Impregnator La Innobilare Pfl", + "Fasonator-Sortator Filme", + "Presator La Innobilare Pfl", + "Formator La Innobilare Pfl", + "Finisor La Innobilare Pfl", + "Pregatitor Pfl Si Hartie Pentru Filme", + "Gaterist La Taiat Busteni", + "Taietor La Ferastrau Panglica", + "Fasonator Cherestea", + "Desenator-Insemnator Cherestea", + "Decupator Furnire", + "Derulatorist", + "Fasonator-Uscator Furnire", + "Frezor-Imbinator Furnire Tehnice", + "Presator Produse Stratificate", + "Formator Slefuitor Produse Stratificate", + "Preparator Ppf", + "Miezuitor Panele Si Placi Celulare", + "Operator La Recoltarea Si Toaletarea Arborilor Forestieri", + "Topitor Sticla", + "Prelucrator De Topituri La Semiautomate", + "Prelucrator De Topituri La Instalatii De Tras Tevi", + "Prelucrator De Tuburi Si Baghete", + "Cuptorar Recoacere Sticla", + "Confectioner Termosuri", + "Taietor Produse Din Sticla", + "Slefuitor Produse Din Sticla", + "Arzator Produse Din Sticla", + "Sablator Produse Din Sticla", + "Argintar Produse Din Sticla", + "Operator La Instalatii Automate Pentru Prepararea Amestecului", + "Operator La Instalatii Automate Pentru Prelucrarea Topiturii De Sticla", + "Operator La Prelucrarea Tuburilor Din Sticla", + "Operator La Masini De Inscriptionat", + "Prelucrator Fire Si Tesaturi Din Fire De Sticla", + "Operator La Instalatii De Tras Si Laminat Geam", + "Turnator Geam", + "Preparator Vata De Sticla", + "Taietor Geam", + "Slefuitor/ Sablator Geam", + "Securizator Geam", + "Pregatitor De Materii Prime Pentru Producerea Sticlei", + "Strungar Produse Ceramice", + "Cuptorar Ceramica Fina Si Decor", + "Arzator Produse Ceramice", + "Operator La Fabricarea Produselor Refractare", + "Operator La Fabricarea Produselor Abrazive", + "Operator La Fabricarea Produselor Din Carbune", + "Operator Abrazive Pe Suporti", + "Finisor Produse Abrazive", + "Granulator/ Sortator Abrazive", + "Cuptorar Produse Abrazive", + "Preparator-Presator Abrazive", + "Cuptorar Produse Refractare", + "Formator Produse Refractare", + "Preparator-Presator Produse Din Carbune", + "Cuptorar Produse Din Carbune", + "Finisor Produse Din Carbune", + "Prelucrator Produse Ceramice Prin Extrudare", + "Discuitor De Produse Ceramice La Masini", + "Prelucrator Produse Ceramice Prin Injectare", + "Armator De Izolatori Electrici (Prelucrator Produse Electrotehnice", + "Fochist Locomotiva Cu Abur", + "Fochist La Masini Cu Abur", + "Masinist La Instalatii Pentru Incalzit Tren", + "Fochist Pentru Cazane De Abur Si De Apa Fierbinte", + "Ajutor Fochist", + "Fochist Pentru Cazane Mici De Abur", + "Fochist La Cazane De Apa Calda Si Cazane De Abur De Joasa Presiune", + "Fochist Pentru Cazane Conduse De Calculator", + "Masinist La Masini De Ambalat", + "Operator La Masina De Etichetat", + "Operator La Roboti Industriali", + "Operator La Tratarea Si Epurarea Apelor Uzate", + "Operator Instalatie De Sortare Si Reciclare Deseuri Menajere Si Asimilabile", + "Operator Generatoare Terestre Sonice Si Cu Agent Activ De Insamantare", + "Operator Punct De Lansare", + "Pompagiu", + "Compresorist", + "Operator Montaj Linii Automate", + "Lacatus Montator Pentru Utilaje Industriale, De Constructii Si Agricole", + "Pregatitor Si Montator Utilaje Tehnologice", + "Montator Subansamble", + "Montator Aparate Aer Conditionat", + "Operator Calitate Flux", + "Lacatus-Montator Masini Electrice Rotative, Transformatoare Si Aparataj", + "Confectioner Protectie Dielectrica Pentru Acumulatori", + "Morar La Prepararea Materialelor Pentru Acumulatori", + "Confectioner Gratare Si Accesorii Pentru Acumulatori", + "Confectioner Placi Pentru Acumulatori", + "Preparator Lesie Pentru Acumulatori", + "Montator Acumulatori", + "Confectioner Cabluri Si Arbori De Cabluri", + "Montator-Reglor, Depanator Aparate Electronice, Telecomunicatii, Radio", + "Confectioner Tuburi Cinescop", + "Montator-Reglor, Depanator De Instalatii De Electronica Si Curenti", + "Montator-Reglor, Depanator De Aparate Radio Si Tv, Redresoare Si", + "Confectioner Piese Radio Si Semiconductori", + "Confectioner Circuite Integrate", + "Confectioner Scala Radio", + "Confectioner Circuite Imprimate", + "Montator, Reglor, Testor Tehnica De Calcul", + "Confectioner Lampi Fluorescente", + "Confectioner Lampi Cu Vapori De Mercur", + "Confectioner Lampi Cu Vapori De Sodiu", + "Confectioner Becuri", + "Montator Electromecanic", + "Asamblor Biciclete", + "Asamblor Jucarii", + "Asamblor Articole De Sport", + "Operator La Fabricarea Fermoarelor", + "Confectioner De Bete, Lansete, Manere Si Dopuri Pentru Unelte De Pescuit", + "Confectioner-Asamblor Articole Din Lemn", + "Confectioner-Asamblor Articole Din Carton", + "Confectioner-Asamblor Articole Din Textile", + "Montor Articole Din Piele", + "Mecanic Locomotiva Si Automotor", + "Mecanic Ajutor Locomotiva Si Automotor", + "Conducator Autodrezina", + "Mecanic Conducator Vagon Motor De Rectificare A Liniei Aeriene", + "Mecanic Locomotiva Si Rama Electrica Metrou", + "Mecanic Ajutor Locomotiva Si Rama Electrica Metrou", + "Franar", + "Manevrant Vagoane", + "Sef Manevra", + "Acar", + "Sef Tren", + "Paznic Bariera", + "Revizor Ace", + "Conducator De Motocicleta", + "Conducator De Motoscuter", + "Sofer De Autoturisme Si Camionete", + "Sofer Autosanitara", + "Sofer Autoambulanta", + "Pilot Incercare Auto", + "Sofer Autobuz", + "Conducator Troleibuz", + "Conducator Tramvai (Vatman", + "Sofer Autocamion/ Masina De Mare Tonaj", + "Sofer Transport Valori Bancare", + "Lucrator Operativ Pentru Autocontainere", + "Conducator Autospeciala", + "Camionagiu", + "Tractorist", + "Combiner Agricol", + "Motorist La Motoagregate Si Masini In Silvicultura", + "Mecanic De Exploatare In Cultura Mare", + "Mecanic De Exploatare In Zootehnie", + "Operator La Colectatul Si Manipulatul Lemnului", + "Masinist La Masini Pentru Terasamente (Ifronist", + "Masinist La Instalatiile De Preparat Si Turnat Beton Si Mixturi Asfaltice", + "Masinist La Masini Cale Mecanizare Usoara Si Grea", + "Operator La Utilaje De Forjat Dirijat", + "Operator La Utilaje De Reabilitari Conducte Subterane", + "Operator La Utilaje Pentru Subtraversari", + "Macaragiu", + "Masinist Pod Rulant", + "Funicularist", + "Macaragiu Macarale Plutitoare", + "Sofer Automacaragiu", + "Supraveghetor Statie Senal Navigabil", + "Funicularist, Funiculare Pasagere", + "Mecanizator (Muncitor Portuar", + "Liftier", + "Docher", + "Sef Echipa Docheri", + "Docher Instalatii De Incarcare/ Descarcare La Bordul Navei Si Cheu", + "Docher-Amarator", + "Docher-Mecanizator", + "Macaragiu Portuar", + "Masinist La Masini Mobile Pentru Transporturi Interioare", + "Masinist La Alte Masini Fixe De Transport Pe Orizontala Si Verticala", + "Stivuitorist", + "Tractorist Portuar", + "Conducator Autotrailer", + "Conducator Autoincarcator Portuar", + "Stivuitorist Portuar", + "Marinar, Pilot Naval, Barjist", + "Observator Far Maritim Si Statie Semnal De Ceata", + "Marinar Legator", + "Conducator Ambarcatiuni Agrement Pe Ape Interioare", + "Pontonier Feribot", + "Servator Far Maritim Si Statie Semnal De Ceata", + "Conducator De Salupa Maritima/ Fluviala", + "Timonier Maritim/ Fluvial", + "Motopompist", + "Menajera", + "Femeie De Serviciu", + "Ingrijitor Spatii Hoteliere", + "Lucrator Room-Service Hotel", + "Calcatoreasa Lenjerie", + "Curatatoreasa Lenjerie", + "Spalatoreasa Lenjerie", + "Spalator Covoare Innodate", + "Spalator Vehicule", + "Spalator Vitrine Si Geamuri", + "Ingrijitor Animale", + "Muncitor Manipulare Si Pregatire Furaje", + "Muncitor Necalificat In Agricultura", + "Vacar", + "Ingrijitor Pomi", + "Muncitor Necalificat In Silvicultura", + "Taietor Manual Lemn De Foc", + "Muncitor Necalificat In Pescuit Si Vanatoare", + "Muncitor Piscicol", + "Muncitor Necalificat In Mine Si Cariere", + "Impingator Vagoneti", + "Lucrator La Amenajarea Terenurilor Sportive (Amenajator Baza Sportiva)", + "Ingrijitor Spatii Verzi", + "Muncitor Necalificat La Intretinerea De Drumuri, Sosele, Poduri, Baraje", + "Sapator Manual", + "Muncitor Necalificat La Demolarea Cladirilor, Captuseli Zidarie, Placi", + "Muncitor Necalificat La Spargerea Si Taierea Materialelor De Constructii", + "Ambalator Manual", + "Imbuteliator Fluide Sub Presiune", + "Marcator Piese", + "Muncitor Necalificat La Ambalarea Produselor Sub Forma De Praf Si", + "Muncitor Necalificat La Ambalarea Produselor Solide Si Semisolide", + "Muncitor Necalificat In Industria Confectiilor", + "Muncitor Necalificat La Asamblarea, Montarea Pieselor", + "Lucrator Sortator Deseuri Reciclabile", + "Imbuteliator Gaz Petrol Lichefiat", + "Muncitor In Activitatea De Gospodarire A Spanului", + "Umplutor Sifoane", + "Muncitor Necalificat In Metalurgie", + "Caraus", + "Incarcator-Descarcator", + "Legator De Sarcina", + "Manipulant Marfuri", + "Operator Transport Si Distribuire Butelii De Gpl", + "Muncitor Spalare Si Curatare Cisterne", + "Muncitor In Serviciile De Trafic Aerian", + "Lucrator Bucatarie (Spalator Vase Mari", + "Lustragiu", + "Spalator Geamuri Si Parbrize", + "Vanzator Ambulant De Produse Nealimentare", + "Vanzator De Ziare", + "Lucrator Operativ Pentru Autocompactoare", + "Lucrator Pentru Salubrizare Cai Publice", + "Lucrator Pentru Salubrizare Spatii Verzi", + "Lucrator Pentru Salubrizare", + "Lucrator Utilaje Specializate Pentru Salubrizare", + "Curier", + "Hamal", + "Comisioner", + "Distribuitor Presa", + "Ingrijitor Caini In Adaposturi", + "Gropar", + "Incinerator", + "Prinzator Caini", + "Cantaragiu", + "Casier Incasator", + "Incasator Si Cititor Contoare De Energie Electrica, Gaze, Apa", + "Vidanjor-Curatitor Canale", + "Operator Deratizare, Dezinsectie, Dezinfectie", + "Model (Invatamant", + "Gonaci", + "Garderobier", + "Ucenic", + "Aprod", + "Controlor Poarta", + "Paznic", + "Plasator", + "Portar", + "Supraveghetor Muzeu", + "Supraveghetor Noapte (Invatamant)", + "Supraveghetor Sali Spectacole", + "Supraveghetor Hotel", + "Operator Masini Insacuire Pentru Fabrica De Ciment", + "Operator Masini Paletizate Si Infoliere Pentru Fabrica De Ciment", + "Operator Fabricatie Flux", + "Montator, Reglor Si Depanator De Aparate Si Echipamente Electronice", + "Operator La Platforme Pentru Lucru La Inaltime", + "Operator Umplere Recipiente Gpl", + "Ajutor Bucatar", + ] diff --git a/faker/providers/job/ru_RU/__init__.py b/faker/providers/job/ru_RU/__init__.py index d027645ee0..8aa902ae47 100644 --- a/faker/providers/job/ru_RU/__init__.py +++ b/faker/providers/job/ru_RU/__init__.py @@ -5,543 +5,545 @@ class Provider(BaseProvider): - jobs = ["Авиадиспетчер", - "Авиатехник", - "Авиационный техник", - "Автогонщик", - "Автослесарь", - "Автоэлектрик", - "Агроном", - "Агроном по защите растений", - "Агроном-почвовед", - "Адвокат", - "Администратор базы данных", - "Аккумуляторщик", - "Актуарий", - "Актёр", - "Акушер", - "Аллерголог", - "Аналитик", - "Андролог", - "Антрополог", - "Артиллерист", - "Артист цирка", - "Археолог", - "Архивариус", - "Архитектор", - "Астроном", - "Астрофизик", - "Астрохимик", - "Бактериолог", - "Балерина", - "Балетмейстер", - "Банкир", - "Бармен", - "Баталер", - "Безработный", - "Библиотекарь", - "Библиотековед", - "Биоинженер", - "Биолог", - "Биофизик", - "Биохимик", - "Блоггер", - "Бондарь", - "Борт-инженер", - "Борт-механик", - "Борт-радист", - "Борт-стрелок", - "Бортинженер", - "Бортмеханик", - "Бортпроводник/стюард", - "Ботаник", - "Брейдер", - "Брокер", - "Булочник", - "Бульдозерист", - "Бухгалтер", - "Веб-интегратор", - "Веб-мастер", - "Веб-программист", - "Верстальщик", - "Ветеринар", - "Визажист", - "Виноградарь", - "Вирусолог", - "Водитель", - "Водолаз", - "Военно-полевой хирург", - "Военно-полевой хирург", - "Военнослужащий", - "Военный дознаватель", - "Военный консультант", - "Военный переводчик", - "Военный полицейский", - "Военный прокурор", - "Военный судья", - "Военный юрист", - "Воздухоплаватель", - "Вокалист", - "Воспитатель", - "Воспитатель", - "Востоковед", - "Врач МСЭК", - "Врач УЗ-диагностики", - "Врач скорой помощи", - "Врач функциональной диагностики", - "Выпускающий редактор", - "Гастроэнтеролог", - "Гематолог", - "Генетик", - "Генетик", - "Географ", - "Геодезист", - "Геолог", - "Гепатолог", - "Гидролог", - "Гинеколог", - "Гирудотерапевт", - "Гитарист", - "Гляциолог", - "Гомеопат", - "Горничная", - "Горнострелок", - "Горняк", - "Государственный исполнитель", - "Гранатомётчик", - "Грейдерист", - "Гренадер", - "Гример", - "Грузчик", - "Дворник", - "Декан", - "Декоратор", - "Дерматолог", - "Десантник", - "Детектив", - "Дефектолог", - "Диверсант", - "Диджей", - "Диетолог", - "Дизайнер", - "Дизайнер рекламы", - "Дизайнер-конструктор", - "Диктор", - "Дилер", - "Дипломат", - "Дипломат", - "Дипломатический работник", - "Дирижёр", - "Диспетчер", - "Дознаватель", - "Донкерман", - "Доула", - "Доярка", - "Драпировщик", - "Египтолог", - "Животновод", - "Жиловщик/Обвальщик", - "Журналист", - "Заряжающий", - "Заточник", - "Звукорежиссёр", - "Зенитчик", - "Златокузнец", - "Зоолог", - "Зоотехник", - "Издатель", - "Изобретатр", - "Иконописец", - "Иллюстратор", - "Имиджмейкер", - "Иммунолог", - "Инженер", - "Инженер", - "Инженер КИПиА", - "Инженер по Технике Безопасности", - "Инженер по механизации", - "Инженер-акустик", - "Инженер-взрывотехник", - "Инженер-гальваник", - "Инженер-гидравлик", - "Инженер-конструктор", - "Инженер-лаборант", - "Инженер-лесотехник", - "Инженер-механик", - "Инженер-системотехник", - "Инженер-строитель", - "Инженер-технолог", - "Инженер-физик", - "Инженер-химик", - "Инженер-электрик", - "Инженер-энергетик", - "Инкассатор", - "Интендант", - "Инфекционист", - "Искусствовед", - "Историк", - "Ихтиолог", - "Кабельщик", - "Кавалерист", - "Каменотёс", - "Канонир", - "Капитан судна", - "Каптенармус", - "Кардиолог", - "Кардиохирург", - "Каскадёр", - "Кассир", - "Квасник", - "Кинодраматург", - "Кинолог", - "Кинолог", - "Киномеханик", - "Кинооператор", - "Кинорежиссер", - "Кладовщик", - "Клинер", - "Кнопочник", - "Кодер", - "Кок", - "Командир", - "Комбайнер", - "Комендант", - "Коммерческий директор", - "Композитор", - "Конвоир", - "Кондитер", - "Кондитер", - "Кондуктор", - "Коневод", - "Контент-менеджер", - "Копирайтер", - "Корректировщик", - "Корректор", - "Косметолог", - "Космонавт", - "Крановщик", - "Кредитный консультант", - "Криптозоолог", - "Критик", - "Кровельщик", - "Кромкозакатчик", - "Крупье", - "Кузнец", - "Культуролог", - "Лаборант", - "Лекальщик", - "Лимфолог", - "Лингвист", - "Литейщик", - "Лифтёр", - "Логик", - "Логопед", - "Логопед", - "Лоцман", - "Лётчик", - "Лётчик", - "Маклер биржевой", - "Маляр", - "Маммолог", - "Манекенщица", - "Мануалист", - "Маркетолог", - "Маркитант", - "Маркшейдер", - "Массажист", - "Мастер маникюра", - "Мастер маникюра", - "Мастер педикюра", - "Математик", - "Машинист", - "Машинист локомотива", - "Машинистка", - "Медицинская сестра", - "Медник", - "Мелиоратор", - "Мельник", - "Менеджер", - "Менеджер по работе с клиентами", - "Мерчандайзер", - "Месильщик", - "Металлург", - "Метеоролог", - "Метранпаж", - "Метрдотель", - "Механизатор", - "Механик", - "Механик-Водитель", - "Миколог", - "Микробиолог", - "Министр", - "Модель", - "Модельер", - "Монтажник", - "Монтажник радиоэлектронной аппаратуры и приборов", - "Монтажник связи", - "Морской пехотинец", - "Моторист", - "Моторист", - "Мотострелок", - "Музыкант", - "Мусоропроводчик", - "Мусорщик", - "Мясник", - "Наводчик орудия", - "Налоговый инспектор", - "Нарколог", - "Начальник военного оркестра", - "Начальник гаупвахты", - "Начальник склада", - "Начальник службы", - "Начальник штаба", - "Невролог", - "Невропатолог", - "Нейрохирург", - "Неонатолог", - "Нефролог", - "Нотариус", - "Няня", - "Огнемётчик", - "Океанолог", - "Онколог", - "Оперативный работник", - "Оператор ПК", - "Оператор РЛС", - "Оператор вооружения", - "Оператор кино и телевидения", - "Оператор коллцентра", - "Оператор машинного доения", - "Операционист", - "Организатор свадеб", - "Орнитолог", - "Ортодонт", - "Ортопед", - "Особист", - "Оториноларинголог", - "Официант", - "Офтальмолог", - "Палеонтолог", - "Парикмахер", - "Парикмахер", - "Парфюмер", - "Пастух", - "Патологоанатом", - "Педагог", - "Педиатр", - "Пекарь", - "Переводчик", - "Переводчик", - "Переплётчик", - "Печатник", - "Писатель", - "Пластический хирург", - "Плиточник", - "Плотник", - "Повар", - "Повар", - "Пограничник", - "Подводник", - "Пожарный", - "Политолог", - "Полицейский", - "Портной", - "Портье", - "Постановщик трюков", - "Почтальон", - "Поэт", - "Правовед", - "Предприниматель", - "Преподаватель", - "Проводник", - "Программист", - "Программист", - "Продавец", - "Продавец", - "Продюсер", - "Прозектор", - "Проктолог", - "Прокурор", - "Промышленный альпинист", - "Промышленный альпинист", - "Проректор", - "Профпатолог", - "Проходчик", - "Психиатр", - "Психолог", - "Психоневропатолог", - "Психотерапевт", - "Пулемётчик", - "Пульмонолог", - "Пчеловод", - "Работник органов ЗАГСа", - "Радиолог", - "Радиомеханик", - "Радиотелефонист", - "Радист", - "Радист", - "Разведчик", - "Ракетчик", - "Распиловщик", - "Растениевод", - "Расточник", - "Реаниматолог", - "Ревматолог", - "Редактор", - "Режиссёр", - "Ректор", - "Релайтер", - "Религиовед", - "Рентгенолог", - "Реставратор", - "Рефлексотерапевт", - "Рихтовщик", - "Робототехник", - "Садовник", - "Садовод", - "Санитар", - "Сантехник", - "Сапожник", - "Сапёр", - "Сборщик", - "Сварщик", - "Связист", - "Священнослужитель", - "Секретчик", - "Сексолог", - "Сексопатолог", - "Семейный врач", - "Серпентолог", - "Сиделка", - "Системный администратор", - "Скорняк", - "Скотник", - "Скульптор", - "Следователь", - "Слесарь", - "Слесарь-механик", - "Сметчик", - "Снабженец", - "Снайпер", - "Сомелье", - "Сомнолог", - "Социолог", - "Специалист по клеточным технологиям", - "Специалист по стрижке овец", - "Спортивный врач", - "Сталевар", - "Старшина", - "Стилист", - "Столяр", - "Столяр-краснодеревщик", - "Стоматолог", - "Страховой агент", - "Стрелок", - "Стрелочник", - "Строитель", - "Судебный пристав", - "Судья", - "Сурдолог", - "Сурдопедагог", - "Сценарист", - "Сыровар", - "Табаковод", - "Табунщик", - "Таксист", - "Тальман", - "Таможенник", - "Танатолог", - "Танкист", - "Танцор", - "Татуировщик", - "Телеграфист", - "Тележурналист", - "Телемастер", - "Телефонист", - "Телохранитель", - "Теолог", - "Терапевт", - "Териолог", - "Тестировщик", - "Техник", - "Техник", - "Технолог", - "Типограф", - "Тифлопедагог", - "Товаровед", - "Токарь", - "Токарь-карусельщик", - "Токсиколог", - "Топограф", - "Торакальный хирург", - "Торговый представитель", - "Травматолог", - "Тракторист", - "Трансфузиолог", - "Трейдер", - "Тренд-вотчер", - "Тыловик", - "Тюремный надзиратель", - "Уборщик", - "Упаковщик", - "Уролог", - "Учитель", - "Учёный", - "Фальцовщик", - "Фармацевт", - "Фельдшер", - "Фельдшер", - "Фермер", - "Физик", - "Физиотерапевт", - "Филолог", - "Философ", - "Финансист", - "Финансист", - "Флеболог", - "Флорист", - "Флорист", - "Формовщик", - "Фортификатор", - "Фотограф", - "Фотомодель", - "Фрезеровщик", - "Фтизиатр", - "Фуражир", - "Футуролог", - "Химик", - "Химик", - "Химик-аналитик", - "Химик-контролер", - "Химик-технолог", - "Хирург", - "Хлебопёк", - "Хлебороб", - "Хлопокороб", - "Холодильщик", - "Хореограф", - "Художник", - "Художник по свету", - "Шахтёр", - "Швейцар", - "Швея", - "Шифровальщик", - "Шкипер", - "Шлифовщик", - "Шорник", - "Штукатур", - "Штурман", - "Эколог", - "Экономист", - "Экспедитор", - "Экспедитор на дальних поездках", - "Эксперт-криминалист", - "Электрик", - "Эндокринолог", - "Эндоскопист", - "Энтомолог", - "Эпидемиолог", - "Эфферентолог", - "Ювелир", - "Юрисконсульт", - "Юрист"] + jobs = [ + "Авиадиспетчер", + "Авиатехник", + "Авиационный техник", + "Автогонщик", + "Автослесарь", + "Автоэлектрик", + "Агроном", + "Агроном по защите растений", + "Агроном-почвовед", + "Адвокат", + "Администратор базы данных", + "Аккумуляторщик", + "Актуарий", + "Актёр", + "Акушер", + "Аллерголог", + "Аналитик", + "Андролог", + "Антрополог", + "Артиллерист", + "Артист цирка", + "Археолог", + "Архивариус", + "Архитектор", + "Астроном", + "Астрофизик", + "Астрохимик", + "Бактериолог", + "Балерина", + "Балетмейстер", + "Банкир", + "Бармен", + "Баталер", + "Безработный", + "Библиотекарь", + "Библиотековед", + "Биоинженер", + "Биолог", + "Биофизик", + "Биохимик", + "Блоггер", + "Бондарь", + "Борт-инженер", + "Борт-механик", + "Борт-радист", + "Борт-стрелок", + "Бортинженер", + "Бортмеханик", + "Бортпроводник/стюард", + "Ботаник", + "Брейдер", + "Брокер", + "Булочник", + "Бульдозерист", + "Бухгалтер", + "Веб-интегратор", + "Веб-мастер", + "Веб-программист", + "Верстальщик", + "Ветеринар", + "Визажист", + "Виноградарь", + "Вирусолог", + "Водитель", + "Водолаз", + "Военно-полевой хирург", + "Военно-полевой хирург", + "Военнослужащий", + "Военный дознаватель", + "Военный консультант", + "Военный переводчик", + "Военный полицейский", + "Военный прокурор", + "Военный судья", + "Военный юрист", + "Воздухоплаватель", + "Вокалист", + "Воспитатель", + "Воспитатель", + "Востоковед", + "Врач МСЭК", + "Врач УЗ-диагностики", + "Врач скорой помощи", + "Врач функциональной диагностики", + "Выпускающий редактор", + "Гастроэнтеролог", + "Гематолог", + "Генетик", + "Генетик", + "Географ", + "Геодезист", + "Геолог", + "Гепатолог", + "Гидролог", + "Гинеколог", + "Гирудотерапевт", + "Гитарист", + "Гляциолог", + "Гомеопат", + "Горничная", + "Горнострелок", + "Горняк", + "Государственный исполнитель", + "Гранатомётчик", + "Грейдерист", + "Гренадер", + "Гример", + "Грузчик", + "Дворник", + "Декан", + "Декоратор", + "Дерматолог", + "Десантник", + "Детектив", + "Дефектолог", + "Диверсант", + "Диджей", + "Диетолог", + "Дизайнер", + "Дизайнер рекламы", + "Дизайнер-конструктор", + "Диктор", + "Дилер", + "Дипломат", + "Дипломат", + "Дипломатический работник", + "Дирижёр", + "Диспетчер", + "Дознаватель", + "Донкерман", + "Доула", + "Доярка", + "Драпировщик", + "Египтолог", + "Животновод", + "Жиловщик/Обвальщик", + "Журналист", + "Заряжающий", + "Заточник", + "Звукорежиссёр", + "Зенитчик", + "Златокузнец", + "Зоолог", + "Зоотехник", + "Издатель", + "Изобретатр", + "Иконописец", + "Иллюстратор", + "Имиджмейкер", + "Иммунолог", + "Инженер", + "Инженер", + "Инженер КИПиА", + "Инженер по Технике Безопасности", + "Инженер по механизации", + "Инженер-акустик", + "Инженер-взрывотехник", + "Инженер-гальваник", + "Инженер-гидравлик", + "Инженер-конструктор", + "Инженер-лаборант", + "Инженер-лесотехник", + "Инженер-механик", + "Инженер-системотехник", + "Инженер-строитель", + "Инженер-технолог", + "Инженер-физик", + "Инженер-химик", + "Инженер-электрик", + "Инженер-энергетик", + "Инкассатор", + "Интендант", + "Инфекционист", + "Искусствовед", + "Историк", + "Ихтиолог", + "Кабельщик", + "Кавалерист", + "Каменотёс", + "Канонир", + "Капитан судна", + "Каптенармус", + "Кардиолог", + "Кардиохирург", + "Каскадёр", + "Кассир", + "Квасник", + "Кинодраматург", + "Кинолог", + "Кинолог", + "Киномеханик", + "Кинооператор", + "Кинорежиссер", + "Кладовщик", + "Клинер", + "Кнопочник", + "Кодер", + "Кок", + "Командир", + "Комбайнер", + "Комендант", + "Коммерческий директор", + "Композитор", + "Конвоир", + "Кондитер", + "Кондитер", + "Кондуктор", + "Коневод", + "Контент-менеджер", + "Копирайтер", + "Корректировщик", + "Корректор", + "Косметолог", + "Космонавт", + "Крановщик", + "Кредитный консультант", + "Криптозоолог", + "Критик", + "Кровельщик", + "Кромкозакатчик", + "Крупье", + "Кузнец", + "Культуролог", + "Лаборант", + "Лекальщик", + "Лимфолог", + "Лингвист", + "Литейщик", + "Лифтёр", + "Логик", + "Логопед", + "Логопед", + "Лоцман", + "Лётчик", + "Лётчик", + "Маклер биржевой", + "Маляр", + "Маммолог", + "Манекенщица", + "Мануалист", + "Маркетолог", + "Маркитант", + "Маркшейдер", + "Массажист", + "Мастер маникюра", + "Мастер маникюра", + "Мастер педикюра", + "Математик", + "Машинист", + "Машинист локомотива", + "Машинистка", + "Медицинская сестра", + "Медник", + "Мелиоратор", + "Мельник", + "Менеджер", + "Менеджер по работе с клиентами", + "Мерчандайзер", + "Месильщик", + "Металлург", + "Метеоролог", + "Метранпаж", + "Метрдотель", + "Механизатор", + "Механик", + "Механик-Водитель", + "Миколог", + "Микробиолог", + "Министр", + "Модель", + "Модельер", + "Монтажник", + "Монтажник радиоэлектронной аппаратуры и приборов", + "Монтажник связи", + "Морской пехотинец", + "Моторист", + "Моторист", + "Мотострелок", + "Музыкант", + "Мусоропроводчик", + "Мусорщик", + "Мясник", + "Наводчик орудия", + "Налоговый инспектор", + "Нарколог", + "Начальник военного оркестра", + "Начальник гаупвахты", + "Начальник склада", + "Начальник службы", + "Начальник штаба", + "Невролог", + "Невропатолог", + "Нейрохирург", + "Неонатолог", + "Нефролог", + "Нотариус", + "Няня", + "Огнемётчик", + "Океанолог", + "Онколог", + "Оперативный работник", + "Оператор ПК", + "Оператор РЛС", + "Оператор вооружения", + "Оператор кино и телевидения", + "Оператор коллцентра", + "Оператор машинного доения", + "Операционист", + "Организатор свадеб", + "Орнитолог", + "Ортодонт", + "Ортопед", + "Особист", + "Оториноларинголог", + "Официант", + "Офтальмолог", + "Палеонтолог", + "Парикмахер", + "Парикмахер", + "Парфюмер", + "Пастух", + "Патологоанатом", + "Педагог", + "Педиатр", + "Пекарь", + "Переводчик", + "Переводчик", + "Переплётчик", + "Печатник", + "Писатель", + "Пластический хирург", + "Плиточник", + "Плотник", + "Повар", + "Повар", + "Пограничник", + "Подводник", + "Пожарный", + "Политолог", + "Полицейский", + "Портной", + "Портье", + "Постановщик трюков", + "Почтальон", + "Поэт", + "Правовед", + "Предприниматель", + "Преподаватель", + "Проводник", + "Программист", + "Программист", + "Продавец", + "Продавец", + "Продюсер", + "Прозектор", + "Проктолог", + "Прокурор", + "Промышленный альпинист", + "Промышленный альпинист", + "Проректор", + "Профпатолог", + "Проходчик", + "Психиатр", + "Психолог", + "Психоневропатолог", + "Психотерапевт", + "Пулемётчик", + "Пульмонолог", + "Пчеловод", + "Работник органов ЗАГСа", + "Радиолог", + "Радиомеханик", + "Радиотелефонист", + "Радист", + "Радист", + "Разведчик", + "Ракетчик", + "Распиловщик", + "Растениевод", + "Расточник", + "Реаниматолог", + "Ревматолог", + "Редактор", + "Режиссёр", + "Ректор", + "Релайтер", + "Религиовед", + "Рентгенолог", + "Реставратор", + "Рефлексотерапевт", + "Рихтовщик", + "Робототехник", + "Садовник", + "Садовод", + "Санитар", + "Сантехник", + "Сапожник", + "Сапёр", + "Сборщик", + "Сварщик", + "Связист", + "Священнослужитель", + "Секретчик", + "Сексолог", + "Сексопатолог", + "Семейный врач", + "Серпентолог", + "Сиделка", + "Системный администратор", + "Скорняк", + "Скотник", + "Скульптор", + "Следователь", + "Слесарь", + "Слесарь-механик", + "Сметчик", + "Снабженец", + "Снайпер", + "Сомелье", + "Сомнолог", + "Социолог", + "Специалист по клеточным технологиям", + "Специалист по стрижке овец", + "Спортивный врач", + "Сталевар", + "Старшина", + "Стилист", + "Столяр", + "Столяр-краснодеревщик", + "Стоматолог", + "Страховой агент", + "Стрелок", + "Стрелочник", + "Строитель", + "Судебный пристав", + "Судья", + "Сурдолог", + "Сурдопедагог", + "Сценарист", + "Сыровар", + "Табаковод", + "Табунщик", + "Таксист", + "Тальман", + "Таможенник", + "Танатолог", + "Танкист", + "Танцор", + "Татуировщик", + "Телеграфист", + "Тележурналист", + "Телемастер", + "Телефонист", + "Телохранитель", + "Теолог", + "Терапевт", + "Териолог", + "Тестировщик", + "Техник", + "Техник", + "Технолог", + "Типограф", + "Тифлопедагог", + "Товаровед", + "Токарь", + "Токарь-карусельщик", + "Токсиколог", + "Топограф", + "Торакальный хирург", + "Торговый представитель", + "Травматолог", + "Тракторист", + "Трансфузиолог", + "Трейдер", + "Тренд-вотчер", + "Тыловик", + "Тюремный надзиратель", + "Уборщик", + "Упаковщик", + "Уролог", + "Учитель", + "Учёный", + "Фальцовщик", + "Фармацевт", + "Фельдшер", + "Фельдшер", + "Фермер", + "Физик", + "Физиотерапевт", + "Филолог", + "Философ", + "Финансист", + "Финансист", + "Флеболог", + "Флорист", + "Флорист", + "Формовщик", + "Фортификатор", + "Фотограф", + "Фотомодель", + "Фрезеровщик", + "Фтизиатр", + "Фуражир", + "Футуролог", + "Химик", + "Химик", + "Химик-аналитик", + "Химик-контролер", + "Химик-технолог", + "Хирург", + "Хлебопёк", + "Хлебороб", + "Хлопокороб", + "Холодильщик", + "Хореограф", + "Художник", + "Художник по свету", + "Шахтёр", + "Швейцар", + "Швея", + "Шифровальщик", + "Шкипер", + "Шлифовщик", + "Шорник", + "Штукатур", + "Штурман", + "Эколог", + "Экономист", + "Экспедитор", + "Экспедитор на дальних поездках", + "Эксперт-криминалист", + "Электрик", + "Эндокринолог", + "Эндоскопист", + "Энтомолог", + "Эпидемиолог", + "Эфферентолог", + "Ювелир", + "Юрисконсульт", + "Юрист", + ] diff --git a/faker/providers/job/sk_SK/__init__.py b/faker/providers/job/sk_SK/__init__.py new file mode 100644 index 0000000000..3000ef5603 --- /dev/null +++ b/faker/providers/job/sk_SK/__init__.py @@ -0,0 +1,514 @@ +from .. import Provider as JobProvider + + +class Provider(JobProvider): + """Translated from Super class""" + + jobs = ( + "Administrátor, umenie", + "Administrátor, štátna služba", + "Advokát", + "Advokát pre ochranné známky", + "Akademický knihovník", + "Akupunkturista", + "Analytický chemik", + "Analytik finančného rizika", + "Angličtina ako lektorka cudzieho jazyka", + "Angličtina ako učiteľka druhého jazyka", + "Animátor", + "Arborista", + "Archeológ", + "Architekt", + "Architektonický technológ", + "Archivár", + "Arteterapeut", + "Asistent politika", + "Astronóm", + "Audiologický vedec", + "Automobilový inžinier", + "Autorizovaný likvidátor strát", + "Autorizovaný účtovník", + "Autorizovaný účtovník v oblasti verejných financií", + "Bankár", + "Banský inžinier", + "Barista", + "Biochemik, klinický", + "Biomedicínsky inžinier", + "Biomedicínsky vedec", + "Bylinkár", + "Bytový manažér / referent", + "Charitatívny úradník", + "Chemický inžinier", + "Chemik, analytický", + "Chiropraktik", + "Chirurg", + "Copywriter, reklama", + "Cytogenetik", + "Daňový poradca", + "Detská sestra", + "Detský psychoterapeut", + "Diagnostický rádiograf", + "Dietológ", + "Dizajnér, fúkané sklo / vitráž", + "Dizajnér, grafik", + "Dizajnér, interiér / priestor", + "Dizajnér, keramika / hrnčiarstvo", + "Dizajnér, multimédiá", + "Dizajnér, móda / oblečenie", + "Dizajnér, nábytok", + "Dizajnér, priemyselný / produkt", + "Dizajnér, televízia / film", + "Dizajnér, textil", + "Dizajnér, výstava / výstava", + "Dizajnér, šperky", + "Docent", + "Dodávateľ", + "Dospelý poradenský pracovník", + "Dozorca", + "Dramatický terapeut", + "Dôstojník obchodného námorníctva", + "Dôstojník pre ochranu prírody", + "Dôstojník pre výcvik a vzdelávanie ozbrojených síl", + "Editor funkcie časopisu", + "Ekológ", + "Ekonóm", + "Elektroinžinier", + "Embryológ, klinický", + "Energetický inžinier", + "Energetický manažér", + "Environmentálny manažér", + "Ergonóm", + "Farebný technológ", + "Farmaceut Spoločenstva", + "Farmakológ", + "Filmový / video editor", + "Financny kontrolor", + "Finančný manažér", + "Finančný obchodník", + "Finančný plánovač", + "Finančný poradca", + "Finančný riaditeľ", + "Firemná sekretárka", + "Fotograf", + "Fytoterapeut", + "Fyzik zdravia", + "Fyzik, lekár", + "Fyziologický vedec", + "Fyziológ cvičenia", + "Fyzioterapeut", + "Fúkač skla / dizajnér", + "Genetik, molekulárny", + "Geochemik", + "Geodet minerálov", + "Geodet poistného rizika", + "Geofyzik / terénny seizmológ", + "Geológ, strojárstvo", + "Geológ", + "Geovedec", + "Grafický dizajnér", + "Grafik", + "Hasič", + "Hematológ", + "Herec", + "Herpetológ", + "Hlavný marketingový riaditeľ", + "Homeopat", + "Hotelový manažér", + "Hudobník", + "Hudobný lektor", + "Hudobný terapeut", + "Hutník", + "Hydrogeológ", + "Hydrografický geodet", + "Hydrológ", + "Hygienik práce", + "IT konzultant", + "Ilustrátor", + "Imunológ", + "Informačný úradník", + "Investičný analytik", + "Investičný bankár, funkčný", + "Investičný bankár, podnikový", + "Inšpektor / hodnotiteľ reklamácií", + "Inšpektor historických budov / referent pamiatkovej starostlivosti", + "Inšpektor plánovania a rozvoja", + "Inšpektor zdravia a bezpečnosti", + "Inžinier budov", + "Inžinier elektroniky", + "Inžinier kontroly a prístrojového vybavenia", + "Inžinier poľnohospodárstva", + "Inžinier pre automobilový priemysel", + "Inžinier výrobných systémov", + "Inžinier, baníctvo", + "Inžinier, biomedicínsky", + "Inžinier, chemický", + "Inžinier, elektronika", + "Inžinier, elektrotechnik", + "Inžinier, energia", + "Inžinier, komunikácia", + "Inžinier, letecký", + "Inžinier, materiály", + "Inžinier, pozemok", + "Inžinier, poľnohospodár", + "Inžinier, riadenie a prístrojové vybavenie", + "Inžinier, ropa", + "Inžinier, statik", + "Inžinier, stavebné služby", + "Inžinier, stavebný (zmluvný)", + "Inžinier, stavebný inžinier (poradenstvo)", + "Inžinier, technický predaj", + "Inžinier, voda", + "Inžinier, vysielanie (prevádzka)", + "Inžinier, výroba", + "Inžinier, výroba", + "Inžinier, výrobné systémy", + "Inžinier, vŕtanie", + "Inžinier, web", + "Inžinier, údržba", + "Inžinier, údržba (IT)", + "Inžiniersky geológ", + "Kameraman", + "Kariérny informačný úradník", + "Kariérny poradca", + "Kariérny poradca pre vysokoškolské vzdelávanie", + "Kartograf", + "Klinický biochemik", + "Klinický cytogenetik", + "Klinický embryológ", + "Klinický molekulárny genetik", + "Klinický psychológ", + "Klinický vedec, histokompatibilita a imunogenetika", + "Knihovník", + "Knihovník, verejný", + "Kníhkupec", + "Komerčný / rezidenčný geodet", + "Komerčný záhradník", + "Komunikačný inžinier", + "Komunitný umelecký pracovník", + "Konateľ spoločnosti", + "Kontrolór", + "Konzervátor / reštaurátor nábytku", + "Konzervátor múzea / galérie", + "Konzervátor, múzeum / galéria", + "Konzervátor, nábytok", + "Konzultant pre dôchodky", + "Konzultácia so stavebným inžinierom", + "Koordinátor dobrovoľníctva", + "Kupujúci, maloobchod", + "Kurátor", + "Kurátor múzea / galérie", + "Kópia", + "Lektor ďalšieho vzdelávania", + "Lektor, vysokoškolské vzdelanie", + "Lektor, ďalšie vzdelávanie", + "Lekár všeobecného lekára", + "Lekár, nemocnica", + "Lekár, všeobecná prax", + "Lekárnik, komunita", + "Lekárnik, nemocnica", + "Lekársky fyzik", + "Lekársky ilustrátor", + "Lekársky obchodný zástupca", + "Lekársky sekretár", + "Lekársky technický pracovník", + "Letecký dispečer", + "Letecký inžinier", + "Letecký sprostredkovateľ", + "Lexikograf", + "Licencovaný dopravca", + "Lobista", + "Logistika / podpora / administratívny dôstojník ozbrojených síl", + "Manažér call centra", + "Manažér cestovnej kancelárie", + "Manažér divadelnej scény", + "Manažér farmy", + "Manažér fitnescentra", + "Manažér informačných systémov", + "Manažér komerčnej umeleckej galérie", + "Manažér logistiky a distribúcie", + "Manažér stravovania", + "Manažér umeleckej galérie", + "Manažér zariadení", + "Manažér zábavného parku", + "Manžérsky konzultant", + "Marketingový manažér", + "Materiálový inžinier", + "Mediálny plánovač", + "Meteorológ", + "Mikrobiológ", + "Moderátor, vysielanie", + "Morský vedec", + "Multimediálne programy", + "Módny návrhár", + "Najlepší chlapec", + "Nemocničný lekár", + "Nemocničný lekárnik", + "Neurochirurg", + "Novinár novín", + "Novinár časopisu", + "Novinár, noviny", + "Novinár, vysielanie", + "Novinár, časopis", + "Nákupca médií", + "Nákupca, priemyselný", + "Námorný architekt", + "Návrhár interiérov a priestorov", + "Návrhár nábytku", + "Návrhár výstavy", + "Návrhár šperkov", + "Návrhárka keramiky", + "Obchodník s akciami", + "Obchodník s dlhopismi", + "Obchodník s futures", + "Oceánograf", + "Ochranár, historické budovy", + "Odborník na životné prostredie", + "Odevný / textilný technológ", + "Odevný / textilný technológ", + "Onkológ", + "Operatívny výskumník", + "Operačný dôstojník diplomatických služieb", + "Operačný dôstojník ozbrojených síl", + "Optik, výdaj", + "Optometristu", + "Organizácia podujatia", + "Ortoptista", + "Osobný asistent", + "Osteopat", + "Očný lekár", + "Palubní sprievodcovia", + "Patent attorney", + "Patológ", + "Pedagogický psychológ", + "Pedikér", + "Personalista", + "Pilot leteckej spoločnosti", + "Plánovač dopravy", + "Plánovač reklamného účtu", + "Plánovač tlače", + "Podnikový investičný bankár", + "Podnikový pokladník", + "Poistný matematik", + "Poisťovací maklér", + "Poisťovateľ", + "Police officer", + "Poradca pre zdravie a bezpečnosť", + "Poradca pre životné prostredie", + "Poradenská pracovníčka", + "Poradenský psychológ", + "Posádka", + "Potravinársky technológ", + "Poľnohospodársky konzultant", + "Pracovník medzinárodnej pomoci / rozvoja", + "Pracovník pomoci", + "Pracovník rozvoja komunity", + "Pracovník s mládežou", + "Pracovný psychológ", + "Pracovný terapeut", + "Predajca", + "Prekladateľ", + "Prevádzkovateľ televíznej kamery", + "Prevádzkový geológ", + "Prevádzkový investičný bankár", + "Prevádzkový riaditeľ", + "Priemyselný / produktový dizajnér", + "Priemyselný kupujúci", + "Prieskumník trhu", + "Prieskumový pracovník", + "Probačný úradník", + "Producent, rádio", + "Producent, televízia / film / video", + "Production assistant, radio", + "Production assistant, television", + "Production designer, theatre/television/film", + "Production engineer", + "Production manager", + "Produktový dizajnér", + "Produktový manažér", + "Professor Emeritus", + "Programme researcher, broadcasting/film/video", + "Programmer, applications", + "Programmer, multimedia", + "Programmer, systems", + "Proofreader", + "Právnik", + "Právny tajomník", + "Prázdninový zástupca", + "Psychiatric nurse", + "Psychiatrist", + "Psychologist, clinical", + "Psychologist, counselling", + "Psychologist, educational", + "Psychologist, forensic", + "Psychologist, occupational", + "Psychologist, prison and probation services", + "Psychologist, sport and exercise", + "Psychoterapeut tanečného pohybu", + "Psychoterapeut", + "Pôda", + "Pôrodná asistentka", + "Manažér kvality", + "Radca", + "Realitný maklér", + "Redaktor, uvedenie do prevádzky", + "Redakčný asistent", + "Referent cestovného ruchu", + "Referent environmentálnej výchovy", + "Referent geografických informačných systémov", + "Referent komunitného vzdelávania", + "Referent múzejného vzdelávania", + "Referent obchodných noriem", + "Referent ochrany prírody", + "Referent odbornej prípravy a rozvoja", + "Referent odborového výskumu", + "Referent poľných pokusov", + "Referent pre núdzové plánovanie / riadenie", + "Referent pre rovnosť a rozmanitosť", + "Referent pre výstavy v múzeách / galériách", + "Referent rozvoja umenia", + "Referent technickej podpory IT", + "Referent výstavy, múzeum / galéria", + "Referent ľudských zdrojov", + "Referent školstva pre životné prostredie", + "Referent školstva, komunita", + "Referent školstva, múzeum", + "Regulátor strát, objednaný", + "Reklamný textár", + "Reklamný umelecký riaditeľ", + "Riaditeľ pre stratégiu", + "Ropný inžinier", + "Rozvojový pracovník, komunita", + "Rozvojový pracovník, medzinárodná pomoc", + "Rýchly streamer pre štátnu službu", + "Sanitka", + "Sestra pre dospelých", + "Sestra pre duševné zdravie", + "Sestra s poruchami učenia", + "Sestra, detská", + "Sestra, dospelý", + "Sestra, porucha učenia", + "Sieťový inžinier", + "Spisovateľ", + "Spolupracovník pre klinický výskum", + "Spracovateľ geofyzikálnych údajov", + "Spravodajský analytik", + "Správca", + "Správca databázy", + "Správca dedičstva", + "Správca dôchodkového systému", + "Správca lesov a lesov", + "Správca nehnuteľnosti / pozemkový agent", + "Správca poistného účtu", + "Správca polohy", + "Správca spracovania údajov", + "Správca umenia", + "Správca zákazníckeho centra", + "Správca školstva", + "Správca štátnej služby", + "Správca, charitatívne / dobrovoľnícke organizácie", + "Správca, miestna samospráva", + "Správca, vzdelávanie", + "Správca, šport", + "Stavebný geodet", + "Stavebný geodet", + "Stavebný inžinier, poradenstvo", + "Stavebný inžinier, uzatváranie zmlúv", + "Strihač, film / video", + "Strojný inžinier", + "Strážca / strážca", + "Svetelný technik, vysielanie / film / video", + "Súdny psychológ", + "Súdny vedec", + "Súkromný učiteľ hudby", + "Tanečnica", + "Technický dôstojník ozbrojených síl", + "Technik údržby", + "Technológ pre zvieratá", + "Technológ varenia piva", + "Terapeut, dráma", + "Terapeut, hudba", + "Terapeut, záhradnícky", + "Terapeut, šport", + "Terénny seizmológ", + "Tlačový fotograf", + "Tlmočník", + "Toxikológ", + "Umelec", + "Urobiť", + "Uvádzací redaktor", + "Učiaci sa mentor", + "Učiteľ v ranom detstve", + "Učiteľ, angličtina ako cudzí jazyk", + "Učiteľ, hudba", + "Učiteľ, prvé roky / pred", + "Učiteľ, vzdelávanie dospelých", + "Učiteľ, základná škola", + "Učiteľka na základnej škole", + "Vedec dát", + "Vedec pre kvalitu vody", + "Vedec vývoja produktov / procesov", + "Vedecký pracovník lekárskeho laboratória", + "Vedúci kancelárie", + "Vedúci konferenčného centra", + "Vedúci osobnej dopravy", + "Vedúci outdoorových aktivít / vzdelávania", + "Vedúci reklamného účtu", + "Vedúci reštaurácie rýchleho občerstvenia", + "Vedúci rybej farmy", + "Vedúci skladu", + "Vedúci strediska voľného času", + "Vedúci turistického informačného centra", + "Vedúci ubytovania", + "Vedúci zdravotníckej služby", + "Vedúci úseku", + "Veterinárny chirurg", + "Video editor", + "Vizuálny obchodník", + "Vládny úradník pre sociálny výskum", + "Vodný inžinier", + "Vrtný inžinier", + "Vybavenie záhradník", + "Vybavovač poistných udalostí", + "Vysielaný novinár", + "Vysokoškolský lektor", + "Výdajný optik", + "Výkonný riaditeľ", + "Výkonný technický riaditeľ", + "Výrobný inžinier", + "Výtvarný umelec", + "Vývojár aplikácií", + "Vývojár hier", + "Vývojár počítačových hier", + "Vývojár systémov", + "Výživový poradca pre zvieratá", + "Výživový terapeut", + "Web dizajnér", + "Wellsite geológ", + "Zamestnanec imigračného úradu", + "Zdravotná sestra, duševné zdravie", + "Zdravotný návštevník", + "Zememerač / geomatik", + "Zmluvný stavebný inžinier", + "Zubár", + "Záchranár", + "Záhradnícky konzultant", + "Záhradnícky terapeut", + "Záhradník, komerčný", + "Záhradník, vybavenosť", + "Záhradný architekt", + "Záznamník bahna", + "Úradník miestnej samosprávy", + "Úradník pre rybolov", + "Účtovník, autorizované verejné financie", + "Účtovník, autorizovaný", + "Účtovník, autorizovaný certifikovaný", + "Účtovník, autorizovaný manažment", + "Účtovný technik", + "Špecialista na multimédiá", + "Špecialista na podporu zdravia", + "Špeditér", + "Šľachtiteľ rastlín / genetik", + ) + + def job(self) -> str: + return self.random_element(self.jobs) diff --git a/faker/providers/job/th_TH/__init__.py b/faker/providers/job/th_TH/__init__.py index 095958abb8..550c42e503 100644 --- a/faker/providers/job/th_TH/__init__.py +++ b/faker/providers/job/th_TH/__init__.py @@ -3,85 +3,91 @@ # Reference: # https://th.wikipedia.org/wiki/หมวดหมู่:บุคคลแบ่งตามอาชีพ -# on 2018-10-16 +# on 2018-10-16, slightly edited and add few more jobs class Provider(BaseProvider): - jobs = [ - 'นักกฎหมาย', - 'กวี', - 'นักการทูต', - 'นักการเมือง', - 'นักการศึกษา', - 'นักกีฬา', - 'นักการกุศล', - 'เกษตรกร', - 'นักเขียน', - 'ข้าราชการ', - 'นักคณิตศาสตร์', - 'คนขับรถแท็กซี่', - 'โฆษก', - 'จ๊อกกี้', - 'นักจัดรายการวิทยุ', - 'จารชน', - 'จิตรกร', - 'นักจิตวิทยา', - 'เจ้าหน้าทีรักษาความปลอดภัย', - 'เจ้าหน้าที่รัฐบาล', - 'ช่างทำเครื่องดนตรี', - 'ช่างทำผม', - 'นักชีววิทยา', - 'นักดนตรี', - 'นักดาราศาสตร์', - 'นักแต่งเพลง', - 'ตำรวจ', - 'นักถ่ายภาพ', - 'ทนายความ', - 'ทหารบก', - 'นักธุรกิจ', - 'นักเคลื่อนไหว', - 'นักบวช', - 'นักบิน', - 'นักบินอวกาศ', - 'นักประชาสัมพันธ์', - 'นักผจญภัย', - 'นักสะสมศิลปะ', - 'นักแสดง', - 'นักหนังสือพิมพ์', - 'นางงาม', - 'นางแบบ', - 'นายแบบ', - 'บรรณาธิการ', - 'นักโบราณคดี', - 'นักแปล', - 'นักประดิษฐ์', - 'นักประวัติศาสตร์', - 'นักปรัชญา', - 'ผู้กำกับ', - 'ผู้กำกับภาพยนตร์', - 'ผู้กำกับละครโทรทัศน์', - 'ผู้จัดพิมพ์', - 'นักพจนานุกรม', - 'แพทย์', - 'นักพากย์', - 'พิธีกร', - 'นักโภชนาการ', - 'นักภาษาศาสตร์', - 'เภสัชกร', - 'มัคคุเทศก์', - 'นักมายากล', - 'นักวาดการ์ตูน', - 'นักวิทยาศาสตร์', - 'วิศวกร', - 'วีเจ', - 'นักเศรษฐศาสตร์', - 'ศิลปิน', - 'สถาปนิก', - 'นักสังคมวิทยา', - 'นักสังคมศาสตร์', - 'นักสัตววิทยา', - 'นักสำรวจ', - 'นักสืบ', - 'นักอนุรักษ์ธรรมชาติ', - 'นักออกแบบ', - 'อัยการ', - 'โปรแกรมเมอร์', - ] + jobs = ( + "กวี", + "เกษตรกร", + "ข้าราชการ", + "คนขับรถแท็กซี่", + "ค้าขาย", + "โฆษก", + "จ๊อกกี้", + "จิตรกร", + "เจ้าหน้าที่พัฒนาเอกชน", + "เจ้าหน้าทีรักษาความปลอดภัย", + "เจ้าหน้าที่รัฐบาล", + "ช่างทำเครื่องดนตรี", + "ช่างทำผม", + "ตำรวจ", + "ทนายความ", + "ทหารบก", + "นักกฎหมาย", + "นักการกุศล", + "นักการทูต", + "นักการเมือง", + "นักการศึกษา", + "นักกีฬา", + "นักเขียน", + "นักคณิตศาสตร์", + "นักเคลื่อนไหว", + "นักจัดรายการวิทยุ", + "นักจิตวิทยา", + "นักชีววิทยา", + "นักดนตรี", + "นักดาราศาสตร์", + "นักแต่งเพลง", + "นักถ่ายภาพ", + "นักธุรกิจ", + "นักบวช", + "นักบิน", + "นักบินอวกาศ", + "นักโบราณคดี", + "นักประชาสัมพันธ์", + "นักประดิษฐ์", + "นักประวัติศาสตร์", + "นักปรัชญา", + "นักแปล", + "นักผจญภัย", + "นักพจนานุกรม", + "นักพากย์", + "นักภาษาศาสตร์", + "นักโภชนาการ", + "นักมายากล", + "นักวาดการ์ตูน", + "นักวิจัย", + "นักวิทยาศาสตร์", + "นักเศรษฐศาสตร์", + "นักสะสมศิลปะ", + "นักสังคมวิทยา", + "นักสังคมศาสตร์", + "นักสังคมสงเคราะห์", + "นักสัตววิทยา", + "นักสำรวจ", + "นักสิทธิมนุษยชน", + "นักสืบ", + "นักแสดง", + "นักหนังสือพิมพ์", + "นักอนุรักษ์ธรรมชาติ", + "นักออกแบบ", + "นางแบบ", + "นายแบบ", + "บรรณาธิการ", + "บรรณารักษ์", + "โปรแกรมเมอร์", + "ผู้กำกับ", + "ผู้กำกับภาพยนตร์", + "ผู้กำกับละครโทรทัศน์", + "ผู้จัดพิมพ์", + "พิธีกร", + "แพทย์", + "ภัณฑารักษ์", + "เภสัชกร", + "มัคคุเทศก์", + "วิศวกร", + "วีเจ", + "ศิลปิน", + "สถาปนิก", + "อัยการ", + "อาจารย์", + ) diff --git a/faker/providers/job/tr_TR/__init__.py b/faker/providers/job/tr_TR/__init__.py new file mode 100644 index 0000000000..17422e3673 --- /dev/null +++ b/faker/providers/job/tr_TR/__init__.py @@ -0,0 +1,738 @@ +from .. import Provider as BaseProvider + + +class Provider(BaseProvider): + """ + Source: https://www.turkcebilgi.com/meslekler_listesi + """ + + jobs = [ + "Acentacı", + "Acil durum yönetmeni", + "Adli tabip", + "Agronomist", + "Ağ yöneticisi", + "Aşçı", + "Aşçıbaşı", + "Ahşap tekne yapımcısı", + "Aile hekimi", + "Aktar", + "Akortçu", + "Aktör", + "Aktüer", + "Aktris", + "Akustikçi", + "Albay", + "Ambalajcı", + "Ambarcı", + "Ambulans şoförü", + "Amiral", + "Anahtarcı", + "Anestezi uzmanı", + "Anestezi teknikeri", + "Animatör", + "Antika satıcısı", + "Antropolog", + "Apartman yöneticisi", + "Araba satıcısı", + "Araba yıkayıcısı", + "Arabacı", + "Arabulucu", + "Araştırmacı", + "Arıcı", + "Arkeolog", + "Armatör", + "Arpist", + "Arşivci", + "Artist", + "Asansörcü", + "Asistan", + "Asker", + "Astrofizikçi", + "Astrolog", + "Astronom", + "Astronot", + "Astsubay", + "Atlet", + "Av bekçisi", + "Avcı", + "Avizeci", + "Avukat", + "Ayakçı (otogar, lokanta)", + "Ayakkabı boyacısı", + "Ayakkabı tamircisi", + "Ayakkabıcı", + "Ayı oynatıcısı", + "Araba tamircisi", + "Bacacı", + "Badanacı", + "Baharatçı", + "Bahçe bitkileri uzmanı", + "Bahçıvan", + "Bakan", + "Bakıcı", + "Bakırcı", + "Bakkal", + "Bakteriyolog", + "Balıkçı", + "Balerin", + "Balon pilotu", + "Bankacı", + "Banker", + "Barmen", + "Barmeyd", + "Basketbolcu", + "Başbakan", + "Başçavuş", + "Başdümenci", + "Başhemşire", + "Başkan", + "Başkomiser", + "Başpiskopos", + "Başrahip", + "Belediye başkanı", + "Belediye meclisi üyesi", + "Benzinci", + "Berber", + "Besteci", + "Biletçi", + "Bilgisayar mühendisi", + "Bilgisayar programcısı", + "Bilgisayar tamircisi", + "Bilim insanı", + "Bilirkişi", + "Binicilik", + "Biracı", + "Bisikletçi", + "Biyografi yazarı", + "Biyolog", + "Biyomedikal Mühendisi", + "Bobinajcı", + "Bombacı", + "Bomba imhacı", + "Borsacı", + "Borucu", + "Botanikçi", + "Boyacı", + "Bozacı", + "Böcekbilimci", + "Börekçi", + "Bulaşıkçı", + "Buldozer operatörü", + "Bütçe uzmanı", + "Büyükelçi", + "Besicilik", + "Bilgi İşlemci", + "Camcı", + "Cerrah", + "Celep", + "Cellat", + "Cost Control", + "Cillopçu", + "Cumhurbaşkanı", + "Çamaşırcı", + "Çantacı", + "Çarkçı", + "Çatıcı", + "Çaycı", + "Çevirmen", + "Çevrebilimci", + "Çevre mühendisi", + "Çeyizci", + "Çıkıkçı", + "Çıkrıkçı", + "Çiçekçi", + "Çiftçi", + "Çiftlik işletici", + "Çikolatacı", + "Çilingir", + "Çinici", + "Çitçi", + "Çoban", + "Çocuk doktoru", + "Çorapçı", + "Çöp işçisi", + "Çöpçü", + "Çırak", + "Çevik Kuvvet", + "Dadı", + "Daktilograf", + "Dalgıç", + "Damıtıcı", + "Danışman", + "Dansöz", + "Davulcu", + "Debbağ", + "Dedektif", + "Değirmen işçisi", + "Değirmenci", + "Demirci", + "Demiryolu işçisi", + "Denetçi", + "Denetleyici", + "Denizci", + "Depocu", + "Derici", + "Desinatör", + "Devlet memuru", + "Dilci", + "Dilenci", + "Diplomat", + "Diş hekimi", + "Diyetisyen", + "Dizgici", + "Doğalgazcı", + "Doğramacı", + "Doğum uzmanı", + "Dok işçisi", + "Dokumacı", + "Doktor", + "Dondurmacı", + "Dökümcü", + "Döşemeci", + "Dövizci", + "Dublajcı", + "Duvarcı", + "Dümenci", + "Diş teknisyeni", + "Ebe", + "Eczacı", + "Eczacı kalfası", + "Editör", + "Eğitimci", + "Eğitmen", + "Ekonomist", + "Elektrik mühendisi", + "Elektronik mühendisi", + "Elektrik-Elektronik mühendisi", + "Elektronik ve Haberleşme mühendisi", + "Elektrikçi", + "Eleştirmen", + "Embriyolog", + "Emlakçı", + "Emniyet amiri", + "Emniyet genel müdürü", + "Endüstri mühendisi", + "Endüstri sistemleri mühendisi", + "Enstrüman imalatçısı", + "Ergonomist", + "Eskici", + "Esnaf", + "Estetisyen", + "Etolojist", + "Etimolog", + "Etnolog", + "Ev hanımı", + "Fabrika işçisi", + "Fahişe", + "Falcı", + "Fermantasyon işçisi", + "Fıçıcı", + "Fırıncı", + "Figüran", + "Film yapımcısı", + "Film yönetmeni", + "Filozof", + "Finansör", + "Fizikçi", + "Fizyonomist", + "Fizyoterapist", + "Acil tıp teknisyeni", + "Fon yöneticisi", + "Forklift operatörü", + "Fotoğrafçı", + "Futbolcu", + "Gardiyan", + "Galerici", + "Garson", + "Gazete dağıtıcısı", + "Gazete satıcısı", + "Gazeteci", + "Gelir uzmanı", + "Gelir uzman yardımcısı", + "Gemici", + "General", + "Genetik mühendisi", + "Geyşa", + "Gezgin", + "Gezici vaiz", + "Gıda mühendisi", + "Gitarist", + "Gondolcu", + "Gökbilimci", + "Göz doktoru", + "Gözetmen", + "Gözlükçü", + "Grafiker", + "Gramer uzmanı", + "Greyder operatörü", + "Guru", + "Güfteci", + "Gümrük memuru", + "Gümrük müşaviri", + "Gümrük müşavir yardımcısı", + "Gümrük uzmanı", + "Gündelikçi", + "Güzellik uzmanı", + "Haberci", + "Haddeci", + "Haham", + "Hakem", + "Halıcı", + "Halkbilimci", + "Hamal", + "Hamamcı", + "Hamurkâr", + "Hareket memuru", + "Haritacı", + "Harita mühendisi", + "Hastabakıcı", + "Hattat", + "Hava trafikçisi", + "Havacı", + "Haydut", + "Hayvan bakıcısı", + "Hayvan terbiyecisi", + "Hemşire", + "Hesap uzmanı", + "Heykeltıraş", + "Hırdavatçı", + "Hırsız", + "Hidrolikçi", + "Hizmetçi", + "Hokkabaz", + "Host", + "Hostes", + "Hukukçu", + "Hurdacı", + "İcra memuru", + "İç mimar", + "İğneci", + "İhracatçı", + "İktisatçı", + "İlahiyatçı", + "İllüzyonist", + "İmam", + "İnsan kaynakları uzmanı", + "İnşaat mühendisi", + "İnşaatçı", + "İpçi", + "İplikçi", + "İstatistikçi", + "İstihkâmcı", + "İşaretçi", + "İşçi", + "İşletmeci", + "İşletme mühendisi", + "İşportacı", + "İş ve Uğraşı Terapisti", + "İtfaiyeci", + "İthalatçı", + "Jeofizik mühendisi", + "Jeoloji mühendisi", + "Jeolog", + "Jeomorfolog", + "Jinekolog", + "Jimnastikçi", + "Jokey", + "Kabin görevlisi", + "Kabuk soyucusu", + "Kadın berberi", + "Kadın terzisi", + "Kâğıtçı", + "Kahveci", + "Kâhya", + "Kalaycı", + "Kalıpçı", + "Kaloriferci", + "Kamarot", + "Kameraman", + "Kamyoncu", + "Kapı satıcısı", + "Kapıcı", + "Kaplamacı", + "Kaportacı", + "Kaptan", + "Kardinal", + "Kardiyolog", + "Karikatürist", + "Karoserci", + "Karpuzcu", + "Kasap", + "Kasiyer", + "Kat görevlisi", + "Kâtip", + "Kayıkçı", + "Kaymakam", + "Kaynakçı", + "Kazıcı", + "Kebapçı", + "Kemancı", + "Kesimci", + "Keskin Nişancı", + "Kırtasiyeci", + "Kimyager", + "Kimya mühendisi", + "Kitapçı", + "Klarnetçi", + "Koleksiyoncu", + "Komedyen", + "Komisyoncu", + "Komiser", + "Konserveci", + "Konsolos", + "Konsomatris", + "Kontrolör", + "Konveyör operatörü", + "Kopyalayıcı", + "Koreograf", + "Korgeneral", + "Koramiral", + "Korsan", + "Koruma görevlisi", + "Komiser", + "Komiser yardımcısı", + "Kozmolog", + "Köfteci", + "Kömürcü", + "Köpek eğiticisi", + "Köşe yazarı", + "Kuaför", + "Kuşçu", + "Kumarbaz", + "Kumaşçı", + "Kumcu", + "Kuru temizlemeci", + "Kuruyemişçi", + "Kurye", + "Kuşbilimci", + "Kuyumcu", + "Kürkçü", + "Kütüphaneci", + "Krupiye", + "Laborant", + "Laboratuvar işçisi", + "Lahmacuncu", + "Lehimci", + "Levazımcı", + "Lobici", + "Lokantacı", + "Lokomotifçi", + "Lostromo", + "Lostracı", + "Lokman", + "Madenci", + "Makasçı", + "Makastar", + "Maketçi", + "Makinist", + "Makine mühendisi", + "Makine zabiti", + "Makyajcı", + "Mali hizmetler uzmanı", + "Manastır baş rahibesi", + "Manav", + "Manifaturacı", + "Manikürcü", + "Manken", + "Marangoz", + "Masör", + "Masöz", + "Matador", + "Matbaacı", + "Matematikçi", + "Matkapçı", + "Medya Planlama Uzmanı", + "Memur", + "Menajer", + "Mermerci", + "Metalurji mühendisi", + "Meteoroloji uzmanı", + "Metin yazarı", + "Mevsimlik işçi", + "Meydancı", + "Meyhaneci", + "Mezarcı", + "Midyeci", + "Mikrobiyolog", + "Milletvekili", + "Mimar", + "Misyoner", + "Mobilyacı", + "Modacı", + "Model", + "Modelci", + "Modelist", + "Montajcı", + "Montör", + "Motor tamircisi", + "Motorcu", + "Muhabbet tellalı", + "Muhabir", + "Muhafız", + "Muhasebeci", + "Muhtar", + "Mumyalayıcı", + "Muzcu", + "Mübaşir", + "Müdür", + "Müezzin", + "Müfettiş", + "Müşavir", + "Mühendis", + "Müneccim", + "Mürebbiye", + "Müsteşar", + "Müteahhit", + "Mütercim", + "Müze müdürü", + "Müzik yönetmeni", + "Müzisyen", + "Nalıncı", + "Nakışçı", + "Nakliyeci", + "Nalbant", + "Nalbur", + "Noter", + "Obuacı", + "Ocakçı", + "Odacı", + "Oduncu", + "Okçu", + "Okul müdürü", + "Okutman", + "Operatör", + "Opera sanatçısı", + "Orgcu", + "Orgeneral", + "Orman mühendisi", + "Ornitolog", + "Otelci", + "Oto elektrikçisi", + "Oto lastik tamircisi", + "Oto tamircisi", + "Oto yedek parçacı", + "Overlokçu", + "Oymacı", + "Oyuncu", + "Oyun hostesi", + "Oyun yazarı", + "Oyuncakçı", + "Öğretmen", + "Öğretim elemanı", + "Öğretim görevlisi", + "Öğretim üyesi", + "Örmeci", + "Ön muhasebeci", + "Ön muhasebe sorumlusu", + "Ön muhasebe yardımcı elemanı", + "Ön büro elemanı", + "Özel şoför", + "Paketleyici", + "Palyaço", + "Pandomimci", + "Pansiyoncu", + "Pansumancı", + "Papa", + "Papaz", + "Paralı asker", + "Park bekçisi", + "Pastörizör", + "Patolog", + "Peçeteci", + "Pencereci", + "Perukçu", + "Peyzaj mimarı", + "Peyzaj teknikeri", + "Pideci", + "Pilavcı", + "Pilot", + "Piskopos", + "Piyade", + "Piyango satıcısı", + "Piyanist", + "Polis memuru", + "Polis şefi", + "Polisajcı", + "Pompacı", + "Postacı", + "Profesör", + "Proktolog", + "Protokol görevlisi", + "Psikiyatr", + "Psikolog", + "Psikolojik danışmanlık ve rehberlik", + "Paramedik", + "Radyolog", + "Redaktör", + "Rehber", + "Rejisör", + "Reklamcı", + "Rektör", + "Rektör yardımcısı", + "Remayözcü", + "Ressam", + "Resepsiyon memuru", + "Rot balansçı", + "Radyoloji teknisyeni/teknikeri", + "Saat tamircisi", + "Saatçi", + "Sağlık teknisyeni", + "Sahil koruma", + "Saksofoncu", + "Salepçi", + "Sanat yönetmeni", + "Sanayici", + "Sansürcü", + "Santral memuru", + "Saraç", + "Sarraf", + "Satış elemanı", + "Savcı", + "Saz şairi", + "Sekreter", + "Senarist", + "Sepetçi", + "Serbest muhasebeci mali müşavir", + "Ses teknisyeni", + "Seyis", + "Sınırlı baş makinist", + "Sicil memuru", + "Sigortacı", + "Sihirbaz", + "Silahçı", + "Silindir operatörü", + "Simitçi", + "Simyacı", + "Sistem mühendisi", + "Sistem yöneticisi", + "Siyasetçi", + "Soğuk demirci", + "Sokak çalgıcısı", + "Sokak satıcısı", + "Son ütücü", + "Sorgu hâkimi", + "Sosyal hizmet uzmanı", + "Sosyolog", + "Spiker", + "Stenograf", + "Stilist", + "Striptizci", + "Su tesisatçısı", + "Subay", + "Sucu", + "Suflör", + "Sulh hâkimi", + "Sunucu", + "Susuz araç yıkama", + "Sünnetçi", + "Sürveyan", + "Sütanne", + "Sütçü", + "Şahinci", + "Şair", + "Şapel papazı", + "Şapkacı", + "Şarap üreticisi", + "Şarkıcı", + "Şarkı sözü yazarı", + "Şarküter", + "Şekerci", + "Şemsiyeci", + "Şifre çözümleyici", + "Şimşirci", + "Şoför", + "Tabakçı", + "Tabelacı", + "Tahsildar", + "Taksici", + "Tarım işçisi", + "Tarihçi", + "Tasarımcı", + "Taşçı", + "Taşlayıcı", + "Tatlıcı", + "Tavukçu", + "Tayfa", + "Tefeci", + "Teğmen", + "Tekniker", + "Teknisyen", + "Teknoloji uzmani", + "Telefon operatörü", + "Telekız", + "Televizyon tamircisi", + "Tellal", + "Temizlikçi", + "Temsilci", + "Terapist", + "Tercüman", + "Terzi", + "Tesgahtar", + "Tesisatçı", + "Tesviyeci", + "Test mühendisi", + "Test pilotu", + "Teşrifatçı", + "Tiyatro yönetmeni", + "Tombalacı", + "Topçu", + "Tornacı", + "Turizmci", + "Tuğgeneral", + "Tuhafiyeci", + "Turşucu", + "Tuzcu", + "Tümamiral", + "Tümgeneral", + "Uçuş teknisyeni", + "Ulaşım sorumlusu", + "Ustabaşı", + "Uydu antenci", + "Uzay mühendisi", + "Uzay bilimcisi", + "Uzman Jandarma", + "Uzman Çavuş", + "Üretici", + "Ürolog", + "Ütücü", + "Vaiz", + "Vali", + "Vergi denetmeni", + "Vergi müfettişi", + "Vergi tahakkuk memuru", + "Veritabanı yöneticisi", + "Veri hazırlama ve kontrol işletmeni", + "Vestiyerci", + "Veteriner hekim", + "Veteriner sağlık teknikeri", + "Veteriner sağlık teknisyeni", + "Veznedar", + "Video editörü", + "Vinç operatörü", + "Vitrinci", + "Viyolonselci", + "Yarbay", + "Yardımcı hakem", + "Yardımcı hizmetli", + "Yardımcı pilot", + "Yargıç", + "Yatırım uzmanı", + "Yayıncı", + "Yazar", + "Yazı işleri müdürü", + "Yazılım mühendisi", + "Yelkenci", + "Yeminli mali müşavir", + "Yeminli tercüman", + "Yer gösterici", + "Yer teknisyeni", + "Yerölçmeci", + "Yoğurtçu", + "Yol bekçisi", + "Yorgancı", + "Yorumcu", + "Yönetici", + "Yüzücü", + "Yönetmen", + ] diff --git a/faker/providers/job/uk_UA/__init__.py b/faker/providers/job/uk_UA/__init__.py index cbe6a7a679..ffb1fc3bbf 100644 --- a/faker/providers/job/uk_UA/__init__.py +++ b/faker/providers/job/uk_UA/__init__.py @@ -7,57 +7,179 @@ class Provider(BaseProvider): jobs = [ # А - 'Агроном', 'Адвокат', 'Актор', 'Акушер', 'Антрополог', 'Архітектор', 'Археолог', 'Астронавт', 'Астроном', - 'Астрофізик', + "Агроном", + "Адвокат", + "Актор", + "Акушер", + "Антрополог", + "Архітектор", + "Археолог", + "Астронавт", + "Астроном", + "Астрофізик", # Б - 'Бібліограф', 'Біолог', 'Бізнесмен', 'Ботанік', 'Будник', 'Бухгалтер', 'Бібліотекар', + "Бібліограф", + "Біолог", + "Бізнесмен", + "Ботанік", + "Будник", + "Бухгалтер", + "Бібліотекар", # В - 'Ветеринар', 'Випробувач', 'Водій', 'Вчитель', 'Візажист', + "Ветеринар", + "Випробувач", + "Водій", + "Вчитель", + "Візажист", # Г - 'Географ', 'Геолог', 'Геофізик', 'Гицель', 'Гінеколог', 'Гірник', 'Гірничий інженер', 'Головний меркшейдер', - 'Графік', 'Громадський діяч', + "Географ", + "Геолог", + "Геофізик", + "Гицель", + "Гінеколог", + "Гірник", + "Гірничий інженер", + "Головний меркшейдер", + "Графік", + "Громадський діяч", # Ґ - 'Ґрунтознавець', + "Ґрунтознавець", # Д - 'Державний службовець', 'Дерун', 'Детектив', 'Дизайнер', 'Дипломат', 'Диригент', 'Доцент', 'Драматург', - 'Ді-джей', 'Дантист', + "Державний службовець", + "Дерун", + "Детектив", + "Дизайнер", + "Дипломат", + "Диригент", + "Доцент", + "Драматург", + "Ді-джей", + "Дантист", # Е - 'Економіст', 'Електрик', 'Електромонтер', 'Електромонтажник', 'Електрослюсар', 'Електротехнік', 'Епідеміолог', - 'Етнограф', + "Економіст", + "Електрик", + "Електромонтер", + "Електромонтажник", + "Електрослюсар", + "Електротехнік", + "Епідеміолог", + "Етнограф", # Є - 'Євнух', 'Єгер', + "Євнух", + "Єгер", # Ж - 'Журналіст', 'Живописець', + "Журналіст", + "Живописець", # З - 'Золотар', 'Зоолог', + "Золотар", + "Зоолог", # І - 'Інженер', 'Історик', + "Інженер", + "Історик", # К - 'Каскадер', 'Кінорежисер', 'Клавішник', 'Клоун', 'Композитор', 'Конструктор', 'Краєзнавець', 'Кушнір', - 'Кіноактор', 'Кінокритик', 'Кінорежисер', 'Кур\'єр', 'Кухар', 'Кінолог', 'Круп\'є', + "Каскадер", + "Кінорежисер", + "Клавішник", + "Клоун", + "Композитор", + "Конструктор", + "Краєзнавець", + "Кушнір", + "Кіноактор", + "Кінокритик", + "Кінорежисер", + "Кур'єр", + "Кухар", + "Кінолог", + "Круп'є", # Л - 'Льотчик', 'Лікар', 'Літературознавець', 'Локсмайстер', + "Льотчик", + "Лікар", + "Літературознавець", + "Локсмайстер", # М - 'Математик', 'Машиніст', 'Медик', 'Менеджер', 'Мистецтвознавець', 'Мірошник', 'Мікробіолог', 'Мінералог', - 'Мовознавець', 'Модель', 'Модельєр', 'Музикант', 'Музикознавець', 'Музичний редактор', 'Маркетолог', - 'М\'ясник', + "Математик", + "Машиніст", + "Медик", + "Менеджер", + "Мистецтвознавець", + "Мірошник", + "Мікробіолог", + "Мінералог", + "Мовознавець", + "Модель", + "Модельєр", + "Музикант", + "Музикознавець", + "Музичний редактор", + "Маркетолог", + "М'ясник", # Н - 'Намотувальник', 'Науковець', 'Няня', 'Нотаріус', + "Намотувальник", + "Науковець", + "Няня", + "Нотаріус", # П - 'Палеонтолог', 'Паралегал', 'Парфюмер', 'Патологоанатом', 'Педагог', 'Пекар', 'Перекладач', 'Петрограф', - 'Письменник', 'Піаніст', 'Підприємець', 'Пілот', 'Правник', 'Програміст', 'Провізор', 'Прокурор', - 'Промисловець', 'Професор', 'Психолог', 'Публіцист', 'Продюсер', 'Паблік рилейшнз', + "Палеонтолог", + "Паралегал", + "Парфюмер", + "Патологоанатом", + "Педагог", + "Пекар", + "Перекладач", + "Петрограф", + "Письменник", + "Піаніст", + "Підприємець", + "Пілот", + "Правник", + "Програміст", + "Провізор", + "Прокурор", + "Промисловець", + "Професор", + "Психолог", + "Публіцист", + "Продюсер", + "Паблік рилейшнз", # Р - 'Режисер', 'Різноробочий', 'Реабілітолог', 'Редактор', 'Реставратор', 'Ріелтор', + "Режисер", + "Різноробочий", + "Реабілітолог", + "Редактор", + "Реставратор", + "Ріелтор", # С - 'Сантехнік', 'Складальник', 'Скульптор', 'Соціолог', 'Співак', 'Сценарист', 'Стропальник', 'Стоматолог', - 'Слідчий', 'Стиліст', 'Секретар', + "Сантехнік", + "Складальник", + "Скульптор", + "Соціолог", + "Співак", + "Сценарист", + "Стропальник", + "Стоматолог", + "Слідчий", + "Стиліст", + "Секретар", # Ф - 'Фармацевт', 'Фермер', 'Фізик', 'Філолог', 'Фольклорист', 'Фотограф', 'Фрілансер', 'Футболіст', 'Флорист', + "Фармацевт", + "Фермер", + "Фізик", + "Філолог", + "Фольклорист", + "Фотограф", + "Фрілансер", + "Футболіст", + "Флорист", # Х - 'Хімік', 'Художник', 'Хореограф', + "Хімік", + "Художник", + "Хореограф", # Ш - 'Шериф', 'Швачка', 'Штукатур', + "Шериф", + "Швачка", + "Штукатур", # Ю - 'Ювелір', 'Юрист', + "Ювелір", + "Юрист", ] diff --git a/faker/providers/job/zh_TW/__init__.py b/faker/providers/job/zh_TW/__init__.py index 02fa29effd..4fa7cc43ad 100644 --- a/faker/providers/job/zh_TW/__init__.py +++ b/faker/providers/job/zh_TW/__init__.py @@ -6,476 +6,476 @@ # on Fri May 20 23:13:46 CST 2016 class Provider(BaseProvider): jobs = [ - 'BIOS工程師', - 'CAD/CAM工程師', - 'CNC機台操作人員', - 'CNC電腦程式編排人員', - 'EMC/電子安規工程師', - 'FAE工程師', - 'IC佈局工程師', - 'IC封裝/測試工程師', - 'ISO/品保人員', - 'Internet程式設計師', - 'LCD製程工程師', - 'LCD設備工程師', - 'MES工程師', - 'MIS程式設計師', - 'MIS/網管主管', - 'OP/旅行社人員', - 'PCB佈線工程師', - 'PCB技術人員', - 'RF通訊工程師', - 'SMT工程師', - '一般動物飼育工作者', - '不動產產權審核/估價師', - '不動產經紀人', - '不動產/商場開發人員', - '中等學校教師', - '中醫師', - '中餐廚師', - '主持人', - '主管特別助理', - '主辦會計', - '人力資源主管', - '人力資源人員', - '人力資源助理', - '人力/外勞仲介', - '代書/地政士', - '估算人員', - '作曲家', - '作業員/包裝員', - '保全人員/警衛', - '保全技術人員', - '保安服務工作', - '保稅人員', - '保險業務/經紀人', - '倉儲物流人員', - '倉管', - '催收人員', - '傳播媒體企劃人員', - '傳銷人員', - '儲備幹部', - '光學工程師', - '光電工程師', - '光電工程研發主管', - '內業工程師', - '公共衛生人員', - '公共衛生醫師', - '公家機關人員', - '券商後線人員', - '副教授', - '加油員', - '助教', - '助理工程師', - '助理教授', - '勞工安全衛生管理人員', - '勞工安全衛生管理師', - '包裝設計', - '化學工程研發人員', - '化學研究員', - '化工化學工程師', - '升學補習班老師', - '半導體工程師', - '半導體製程工程師', - '半導體設備工程師', - '印前製作/印刷技術人員', - '可靠度工程師', - '吊車/起重機設備操作員', - '呼吸治療師', - '品牌宣傳及媒體公關', - '品管/品保主管', - '品管/品保工程師', - '品管/檢驗人員', - '哲學/歷史/政治研究人員', - '售票/收銀人員', - '商業設計', - '商標/專利人員', - '噴漆人員', - '國內業務主管', - '國內業務人員', - '國外業務主管', - '國外業務人員', - '國小學校教師', - '國貿人員', - '圖書資料管理人員', - '土地開發人員', - '土木技師/土木工程師', - '地勤人員', - '地質與地球科學研究員', - '塑膠射出技術人員', - '塑膠模具技術人員', - '塗裝技術人員', - '壓鑄模具技術人員', - '外務/快遞/送貨', - '多媒體動畫設計師', - '多媒體開發主管', - '大樓管理員', - '大貨車司機', - '天文研究員', - '太陽能技術工程師', - '娛樂事業人員', - '媒體公關/宣傳採買', - '安全/衛生檢驗人員', - '安心服務員', - '安親班老師', - '客戶服務主管', - '客戶服務人員', - '室內設計/裝潢人員', - '家事服務人員', - '家庭代工', - '實驗化驗人員', - '寵物美容專業人員', - '專案業務主管', - '專案管理主管', - '專案管理師', - '專科護理師', - '導播', - '導演', - '導遊', - '小客車司機', - '小貨車司機', - '居家服務督導員', - '展場/櫥窗佈置人員', - '工務人員/助理', - '工商登記服務人員', - '工地監工/主任', - '工廠主管', - '工業工程師/生產線規劃', - '工業設計', - '工程助理', - '工程研發主管', - '工程配管繪圖', - '工讀生', - '市場調查/市場分析', - '平面設計/美編人員', - '幼教班老師', - '店長/賣場管理人員', - '廠務', - '廠務助理', - '廣告AE業務人員', - '廣告企劃主管', - '廣告文案/企劃', - '廣告設計', - '建築師', - '建築物清潔工', - '建築物電力系統維修工', - '建築設計/繪圖人員', - '影片製作技術人員', - '律師', - '復建技術師', - '微機電工程師', - '心理學研究人員', - '志工人員', - '志願役軍官/士官/士兵', - '應用科學研究員', - '成本會計', - '手工包裝工', - '才藝類老師', - '打版人員', - '技術文件/說明書編譯', - '按摩/推拿師', - '排版人員', - '採購主管', - '採購人員', - '採購助理', - '推土機設備操作員', - '播音/配音人員', - '攝影助理', - '攝影師', - '放射性設備使用技術員', - '救生員', - '教保員', - '教授', - '教育訓練人員', - '整體造型師', - '數位IC設計工程師', - '數學研究員', - '數理補習班老師', - '文件管理師', - '文編/校對/文字工作者', - '旅遊休閒類主管', - '日式廚師', - '日文翻譯/口譯人員', - '星象占卜人員', - '景觀設計師', - '會計師', - '服裝/皮包/鞋類設計', - '木工', - '材料研發人員', - '板金技術員', - '林木伐運工作者', - '染整技術人員', - '查帳/審計人員', - '核保/保險內勤人員', - '業務助理', - '業務支援工程師', - '樂器製造員', - '模特兒', - '機械加工技術人員', - '機械工程師', - '機械操作員', - '機械裝配員', - '機械設計/繪圖人員', - '機構工程師', - '機電技師/工程師', - '櫃檯接待人員', - '氣象研究員', - '水保工程師', - '水保技師', - '水利工程師', - '水產養殖工作者', - '水電工', - '水電工程師', - '水電工程繪圖人員', - '汽車美容人員', - '汽車銷售人員', - '汽車/機車引擎技術人員', - '汽車/機車技術維修人員', - '沖壓模具技術人員', - '油漆工', - '治療師', - '法務人員', - '法務助理', - '法務/智財主管', - '法律專業人員', - '泥水小工', - '泥水工', - '洗碗人員', - '活動企劃人員', - '派報生/傳單派送', - '消防員', - '消防專業人員', - '混凝土工', - '清潔工', - '測試人員', - '演員', - '演奏家', - '演算法開發工程師', - '焊接及切割技術員', - '照顧指導員', - '照顧服務員', - '熱傳工程師', - '燈光/音響師', - '營建主管', - '營建構造工', - '營造工程師', - '營運管理師', - '營養師', - '牙醫助理', - '牙醫師', - '物理治療師', - '物理研究員', - '物管/資材', - '特殊工程師', - '特殊教育教師', - '特用化學工程師', - '獸醫師', - '珠寶及貴金屬技術員', - '珠心算老師', - '理賠人員', - '環境工程師', - '生命禮儀師', - '生物學專業與研究', - '生物科技研發人員', - '生產技術/製程工程師', - '生產管理主管', - '生產設備工程師', - '生管', - '生管助理', - '生鮮人員', - '產品事業處主管', - '產品企劃主管', - '產品企劃開發人員', - '產品售後技術服務', - '產品管理師', - '產品維修人員', - '產品行銷人員', - '病理藥理研究人員', - '發包人員', - '發行企劃/出版人員', - '砌磚工', - '研究人員', - '研究助理', - '硬體工程研發主管', - '硬體測試工程師', - '硬體研發工程師', - '社工人員', - '社會/人類學研究人員', - '秘書', - '稅務人員', - '稽核人員', - '空服員', - '空調冷凍技術人員', - '節目助理', - '節目製作人員', - '粉末冶金模具技術人員', - '精密儀器製造工', - '精密拋光技術人員', - '系統整合/ERP專案師', - '系統維護/操作人員', - '紡織化學工程師', - '紡織工務', - '結構技師', - '統計學研究員', - '統計精算人員', - '經營管理主管', - '網站行銷企劃', - '網路安全分析師', - '網路管理工程師', - '網頁設計師', - '線切割技術員', - '總務主管', - '總務人員', - '總幹事', - '總機人員', - '織品設計', - '美姿美儀人員', - '美容工作者', - '美容類助理', - '美甲彩繪師', - '美療/芳療師', - '美術老師', - '美術設計', - '美髮工作者', - '美髮類助理', - '翻譯/口譯人員', - '聲學/噪音工程師', - '聲樂家', - '職能治療師', - '股務人員', - '自動控制工程師', - '舞蹈指導與舞蹈家', - '船務/押匯/報關人員', - '船長/大副/船員', - '花藝/園藝人員', - '英文翻譯/口譯人員', - '藝術品/珠寶鑑價/拍賣顧問', - '藝術指導/總監', - '藥學助理', - '藥師', - '融資/信用業務人員', - '行政主管', - '行政人員', - '行政助理', - '行銷企劃主管', - '行銷企劃人員', - '行銷企劃助理', - '補習班導師/管理人員', - '補習班老師', - '製鞋類人員', - '西餐廚師', - '西點/蛋糕師', - '視聽工程類人員', - '計程車司機', - '記帳/出納/一般會計', - '記者/採編', - '設計助理', - '診所助理', - '語文補習班老師', - '語言治療師', - '調酒師/吧台人員', - '調音技術員', - '講師', - '護理師', - '財務分析人員', - '財務或會計主管', - '財務會計助理', - '資料庫管理人員', - '資料輸入人員', - '資材主管', - '資源回收人員', - '資訊助理人員', - '資訊專業人員', - '資訊設備管制人員', - '車床人員', - '車縫/裁縫類人員', - '軟韌體測試工程師', - '軟體專案主管', - '軟體專案管理師', - '軟體設計工程師', - '農工業用機器裝修工', - '農林業設備操作員', - '農藝作物栽培工作者', - '農藝/畜產研究人員', - '通信測試維修人員', - '通訊工程研發主管', - '通訊軟體工程師', - '通路開發人員', - '連鎖店管理人員', - '遊戲企劃人員', - '運動教練', - '運輸交通專業人員', - '運輸物流類主管', - '都市/交通規劃人員', - '醫事放射師', - '醫事檢驗師', - '醫師', - '醫療人員', - '醫療器材研發工程師', - '醫療從業人員', - '醫療設備控制人員', - '醫藥業務代表', - '醫藥研發人員', - '醫院行政管理人員', - '量測/儀校人員', - '金屬建材架構人員', - '金融交易員', - '金融專業主管', - '金融承銷員', - '金融營業員', - '金融理財專員', - '金融研究員', - '銀行辦事員', - '銑床人員', - '鍋爐操作技術人員', - '鐵路車輛駕駛員', - '鑄造/鍛造模具技術人員', - '門市/店員/專櫃人員', - '防水施工人員', - '防火及建築檢驗人員', - '零件工程師', - '雷射操作技術員', - '電信及電力線路架設工', - '電信/通訊系統工程師', - '電台工作人員', - '電子商務技術主管', - '電子工程師', - '電子產品系統工程師', - '電子設備裝修工', - '電機工程技術員', - '電機技師/工程師', - '電機裝修工', - '電機設備裝配員', - '電源工程師', - '電玩程式設計師', - '電腦系統分析師', - '電腦組裝/測試', - '電腦繪圖人員', - '電腦補習班老師', - '電話及電報機裝修工', - '電話客服類人員', - '電話行銷人員', - '電鍍/表面處理技術人員', - '韌體設計工程師', - '音樂家', - '音樂老師', - '領班', - '領隊', - '類廚師', - '類比IC設計工程師', - '類講師', - '顧問人員', - '飛安人員', - '飛機裝修工', - '飛行機師', - '食品研發人員', - '食品衛生管理師', - '飯店工作人員', - '飯店餐廳主管', - '餐廚助手', - '餐飲服務生', - '駐校代表', - '驗光師', - '麵包師', - '麻醉醫師', + "BIOS工程師", + "CAD/CAM工程師", + "CNC機台操作人員", + "CNC電腦程式編排人員", + "EMC/電子安規工程師", + "FAE工程師", + "IC佈局工程師", + "IC封裝/測試工程師", + "ISO/品保人員", + "Internet程式設計師", + "LCD製程工程師", + "LCD設備工程師", + "MES工程師", + "MIS程式設計師", + "MIS/網管主管", + "OP/旅行社人員", + "PCB佈線工程師", + "PCB技術人員", + "RF通訊工程師", + "SMT工程師", + "一般動物飼育工作者", + "不動產產權審核/估價師", + "不動產經紀人", + "不動產/商場開發人員", + "中等學校教師", + "中醫師", + "中餐廚師", + "主持人", + "主管特別助理", + "主辦會計", + "人力資源主管", + "人力資源人員", + "人力資源助理", + "人力/外勞仲介", + "代書/地政士", + "估算人員", + "作曲家", + "作業員/包裝員", + "保全人員/警衛", + "保全技術人員", + "保安服務工作", + "保稅人員", + "保險業務/經紀人", + "倉儲物流人員", + "倉管", + "催收人員", + "傳播媒體企劃人員", + "傳銷人員", + "儲備幹部", + "光學工程師", + "光電工程師", + "光電工程研發主管", + "內業工程師", + "公共衛生人員", + "公共衛生醫師", + "公家機關人員", + "券商後線人員", + "副教授", + "加油員", + "助教", + "助理工程師", + "助理教授", + "勞工安全衛生管理人員", + "勞工安全衛生管理師", + "包裝設計", + "化學工程研發人員", + "化學研究員", + "化工化學工程師", + "升學補習班老師", + "半導體工程師", + "半導體製程工程師", + "半導體設備工程師", + "印前製作/印刷技術人員", + "可靠度工程師", + "吊車/起重機設備操作員", + "呼吸治療師", + "品牌宣傳及媒體公關", + "品管/品保主管", + "品管/品保工程師", + "品管/檢驗人員", + "哲學/歷史/政治研究人員", + "售票/收銀人員", + "商業設計", + "商標/專利人員", + "噴漆人員", + "國內業務主管", + "國內業務人員", + "國外業務主管", + "國外業務人員", + "國小學校教師", + "國貿人員", + "圖書資料管理人員", + "土地開發人員", + "土木技師/土木工程師", + "地勤人員", + "地質與地球科學研究員", + "塑膠射出技術人員", + "塑膠模具技術人員", + "塗裝技術人員", + "壓鑄模具技術人員", + "外務/快遞/送貨", + "多媒體動畫設計師", + "多媒體開發主管", + "大樓管理員", + "大貨車司機", + "天文研究員", + "太陽能技術工程師", + "娛樂事業人員", + "媒體公關/宣傳採買", + "安全/衛生檢驗人員", + "安心服務員", + "安親班老師", + "客戶服務主管", + "客戶服務人員", + "室內設計/裝潢人員", + "家事服務人員", + "家庭代工", + "實驗化驗人員", + "寵物美容專業人員", + "專案業務主管", + "專案管理主管", + "專案管理師", + "專科護理師", + "導播", + "導演", + "導遊", + "小客車司機", + "小貨車司機", + "居家服務督導員", + "展場/櫥窗佈置人員", + "工務人員/助理", + "工商登記服務人員", + "工地監工/主任", + "工廠主管", + "工業工程師/生產線規劃", + "工業設計", + "工程助理", + "工程研發主管", + "工程配管繪圖", + "工讀生", + "市場調查/市場分析", + "平面設計/美編人員", + "幼教班老師", + "店長/賣場管理人員", + "廠務", + "廠務助理", + "廣告AE業務人員", + "廣告企劃主管", + "廣告文案/企劃", + "廣告設計", + "建築師", + "建築物清潔工", + "建築物電力系統維修工", + "建築設計/繪圖人員", + "影片製作技術人員", + "律師", + "復建技術師", + "微機電工程師", + "心理學研究人員", + "志工人員", + "志願役軍官/士官/士兵", + "應用科學研究員", + "成本會計", + "手工包裝工", + "才藝類老師", + "打版人員", + "技術文件/說明書編譯", + "按摩/推拿師", + "排版人員", + "採購主管", + "採購人員", + "採購助理", + "推土機設備操作員", + "播音/配音人員", + "攝影助理", + "攝影師", + "放射性設備使用技術員", + "救生員", + "教保員", + "教授", + "教育訓練人員", + "整體造型師", + "數位IC設計工程師", + "數學研究員", + "數理補習班老師", + "文件管理師", + "文編/校對/文字工作者", + "旅遊休閒類主管", + "日式廚師", + "日文翻譯/口譯人員", + "星象占卜人員", + "景觀設計師", + "會計師", + "服裝/皮包/鞋類設計", + "木工", + "材料研發人員", + "板金技術員", + "林木伐運工作者", + "染整技術人員", + "查帳/審計人員", + "核保/保險內勤人員", + "業務助理", + "業務支援工程師", + "樂器製造員", + "模特兒", + "機械加工技術人員", + "機械工程師", + "機械操作員", + "機械裝配員", + "機械設計/繪圖人員", + "機構工程師", + "機電技師/工程師", + "櫃檯接待人員", + "氣象研究員", + "水保工程師", + "水保技師", + "水利工程師", + "水產養殖工作者", + "水電工", + "水電工程師", + "水電工程繪圖人員", + "汽車美容人員", + "汽車銷售人員", + "汽車/機車引擎技術人員", + "汽車/機車技術維修人員", + "沖壓模具技術人員", + "油漆工", + "治療師", + "法務人員", + "法務助理", + "法務/智財主管", + "法律專業人員", + "泥水小工", + "泥水工", + "洗碗人員", + "活動企劃人員", + "派報生/傳單派送", + "消防員", + "消防專業人員", + "混凝土工", + "清潔工", + "測試人員", + "演員", + "演奏家", + "演算法開發工程師", + "焊接及切割技術員", + "照顧指導員", + "照顧服務員", + "熱傳工程師", + "燈光/音響師", + "營建主管", + "營建構造工", + "營造工程師", + "營運管理師", + "營養師", + "牙醫助理", + "牙醫師", + "物理治療師", + "物理研究員", + "物管/資材", + "特殊工程師", + "特殊教育教師", + "特用化學工程師", + "獸醫師", + "珠寶及貴金屬技術員", + "珠心算老師", + "理賠人員", + "環境工程師", + "生命禮儀師", + "生物學專業與研究", + "生物科技研發人員", + "生產技術/製程工程師", + "生產管理主管", + "生產設備工程師", + "生管", + "生管助理", + "生鮮人員", + "產品事業處主管", + "產品企劃主管", + "產品企劃開發人員", + "產品售後技術服務", + "產品管理師", + "產品維修人員", + "產品行銷人員", + "病理藥理研究人員", + "發包人員", + "發行企劃/出版人員", + "砌磚工", + "研究人員", + "研究助理", + "硬體工程研發主管", + "硬體測試工程師", + "硬體研發工程師", + "社工人員", + "社會/人類學研究人員", + "秘書", + "稅務人員", + "稽核人員", + "空服員", + "空調冷凍技術人員", + "節目助理", + "節目製作人員", + "粉末冶金模具技術人員", + "精密儀器製造工", + "精密拋光技術人員", + "系統整合/ERP專案師", + "系統維護/操作人員", + "紡織化學工程師", + "紡織工務", + "結構技師", + "統計學研究員", + "統計精算人員", + "經營管理主管", + "網站行銷企劃", + "網路安全分析師", + "網路管理工程師", + "網頁設計師", + "線切割技術員", + "總務主管", + "總務人員", + "總幹事", + "總機人員", + "織品設計", + "美姿美儀人員", + "美容工作者", + "美容類助理", + "美甲彩繪師", + "美療/芳療師", + "美術老師", + "美術設計", + "美髮工作者", + "美髮類助理", + "翻譯/口譯人員", + "聲學/噪音工程師", + "聲樂家", + "職能治療師", + "股務人員", + "自動控制工程師", + "舞蹈指導與舞蹈家", + "船務/押匯/報關人員", + "船長/大副/船員", + "花藝/園藝人員", + "英文翻譯/口譯人員", + "藝術品/珠寶鑑價/拍賣顧問", + "藝術指導/總監", + "藥學助理", + "藥師", + "融資/信用業務人員", + "行政主管", + "行政人員", + "行政助理", + "行銷企劃主管", + "行銷企劃人員", + "行銷企劃助理", + "補習班導師/管理人員", + "補習班老師", + "製鞋類人員", + "西餐廚師", + "西點/蛋糕師", + "視聽工程類人員", + "計程車司機", + "記帳/出納/一般會計", + "記者/採編", + "設計助理", + "診所助理", + "語文補習班老師", + "語言治療師", + "調酒師/吧台人員", + "調音技術員", + "講師", + "護理師", + "財務分析人員", + "財務或會計主管", + "財務會計助理", + "資料庫管理人員", + "資料輸入人員", + "資材主管", + "資源回收人員", + "資訊助理人員", + "資訊專業人員", + "資訊設備管制人員", + "車床人員", + "車縫/裁縫類人員", + "軟韌體測試工程師", + "軟體專案主管", + "軟體專案管理師", + "軟體設計工程師", + "農工業用機器裝修工", + "農林業設備操作員", + "農藝作物栽培工作者", + "農藝/畜產研究人員", + "通信測試維修人員", + "通訊工程研發主管", + "通訊軟體工程師", + "通路開發人員", + "連鎖店管理人員", + "遊戲企劃人員", + "運動教練", + "運輸交通專業人員", + "運輸物流類主管", + "都市/交通規劃人員", + "醫事放射師", + "醫事檢驗師", + "醫師", + "醫療人員", + "醫療器材研發工程師", + "醫療從業人員", + "醫療設備控制人員", + "醫藥業務代表", + "醫藥研發人員", + "醫院行政管理人員", + "量測/儀校人員", + "金屬建材架構人員", + "金融交易員", + "金融專業主管", + "金融承銷員", + "金融營業員", + "金融理財專員", + "金融研究員", + "銀行辦事員", + "銑床人員", + "鍋爐操作技術人員", + "鐵路車輛駕駛員", + "鑄造/鍛造模具技術人員", + "門市/店員/專櫃人員", + "防水施工人員", + "防火及建築檢驗人員", + "零件工程師", + "雷射操作技術員", + "電信及電力線路架設工", + "電信/通訊系統工程師", + "電台工作人員", + "電子商務技術主管", + "電子工程師", + "電子產品系統工程師", + "電子設備裝修工", + "電機工程技術員", + "電機技師/工程師", + "電機裝修工", + "電機設備裝配員", + "電源工程師", + "電玩程式設計師", + "電腦系統分析師", + "電腦組裝/測試", + "電腦繪圖人員", + "電腦補習班老師", + "電話及電報機裝修工", + "電話客服類人員", + "電話行銷人員", + "電鍍/表面處理技術人員", + "韌體設計工程師", + "音樂家", + "音樂老師", + "領班", + "領隊", + "類廚師", + "類比IC設計工程師", + "類講師", + "顧問人員", + "飛安人員", + "飛機裝修工", + "飛行機師", + "食品研發人員", + "食品衛生管理師", + "飯店工作人員", + "飯店餐廳主管", + "餐廚助手", + "餐飲服務生", + "駐校代表", + "驗光師", + "麵包師", + "麻醉醫師", ] diff --git a/faker/providers/lorem/__init__.py b/faker/providers/lorem/__init__.py index cc17fa4723..f9275a54f3 100644 --- a/faker/providers/lorem/__init__.py +++ b/faker/providers/lorem/__init__.py @@ -1,9 +1,11 @@ +from typing import List, Optional, Sequence, cast + from .. import BaseProvider localized = True # 'Latin' is the default locale -default_locale = 'la' +default_locale = "la" class Provider(BaseProvider): @@ -18,11 +20,16 @@ class Provider(BaseProvider): English. """ - word_connector = ' ' - sentence_punctuation = '.' + word_connector = " " + sentence_punctuation = "." - def words(self, nb=3, ext_word_list=None, unique=False): - """Generate a list of words. + def words( + self, + nb: int = 3, + ext_word_list: Optional[Sequence[str]] = None, + unique: bool = False, + ) -> List[str]: + """Generate a tuple of words. The ``nb`` argument controls the number of words in the resulting list, and if ``ext_word_list`` is provided, words from that list will be used @@ -43,12 +50,14 @@ def words(self, nb=3, ext_word_list=None, unique=False): :sample: nb=5, ext_word_list=['abc', 'def', 'ghi', 'jkl'] :sample: nb=4, ext_word_list=['abc', 'def', 'ghi', 'jkl'], unique=True """ - word_list = ext_word_list if ext_word_list else self.word_list + word_list = ext_word_list if ext_word_list else self.word_list # type: ignore[attr-defined] if unique: - return self.random_sample(word_list, length=nb) - return self.random_choices(word_list, length=nb) + unique_samples = cast(List[str], self.random_sample(word_list, length=nb)) + return unique_samples + samples = cast(List[str], self.random_choices(word_list, length=nb)) + return samples - def word(self, ext_word_list=None): + def word(self, ext_word_list: Optional[Sequence[str]] = None) -> str: """Generate a word. This method uses |words| under the hood with the ``nb`` argument set to @@ -59,7 +68,12 @@ def word(self, ext_word_list=None): """ return self.words(1, ext_word_list)[0] - def sentence(self, nb_words=6, variable_nb_words=True, ext_word_list=None): + def sentence( + self, + nb_words: int = 6, + variable_nb_words: bool = True, + ext_word_list: Optional[Sequence[str]] = None, + ) -> str: """Generate a sentence. The ``nb_words`` argument controls how many words the sentence will @@ -77,17 +91,17 @@ def sentence(self, nb_words=6, variable_nb_words=True, ext_word_list=None): ext_word_list=['abc', 'def', 'ghi', 'jkl'] """ if nb_words <= 0: - return '' + return "" if variable_nb_words: nb_words = self.randomize_nb_elements(nb_words, min=1) - words = self.words(nb=nb_words, ext_word_list=ext_word_list) + words = list(self.words(nb=nb_words, ext_word_list=ext_word_list)) words[0] = words[0].title() return self.word_connector.join(words) + self.sentence_punctuation - def sentences(self, nb=3, ext_word_list=None): + def sentences(self, nb: int = 3, ext_word_list: Optional[Sequence[str]] = None) -> List[str]: """Generate a list of sentences. This method uses |sentence| under the hood to generate sentences, and @@ -99,14 +113,14 @@ def sentences(self, nb=3, ext_word_list=None): :sample: nb=5 :sample: nb=5, ext_word_list=['abc', 'def', 'ghi', 'jkl'] """ - return [self.sentence(ext_word_list=ext_word_list) - for _ in range(0, nb)] + return [self.sentence(ext_word_list=ext_word_list) for _ in range(0, nb)] def paragraph( - self, - nb_sentences=3, - variable_nb_sentences=True, - ext_word_list=None): + self, + nb_sentences: int = 3, + variable_nb_sentences: bool = True, + ext_word_list: Optional[Sequence[str]] = None, + ) -> str: """Generate a paragraph. The ``nb_sentences`` argument controls how many sentences the paragraph @@ -126,18 +140,21 @@ def paragraph( ext_word_list=['abc', 'def', 'ghi', 'jkl'] """ if nb_sentences <= 0: - return '' + return "" if variable_nb_sentences: nb_sentences = self.randomize_nb_elements(nb_sentences, min=1) - para = self.word_connector.join(self.sentences( - nb_sentences, ext_word_list=ext_word_list, - )) + para = self.word_connector.join( + self.sentences( + nb_sentences, + ext_word_list=ext_word_list, + ) + ) return para - def paragraphs(self, nb=3, ext_word_list=None): + def paragraphs(self, nb: int = 3, ext_word_list: Optional[Sequence[str]] = None) -> List[str]: """Generate a list of paragraphs. This method uses |paragraph| under the hood to generate paragraphs, and @@ -148,10 +165,9 @@ def paragraphs(self, nb=3, ext_word_list=None): :sample: nb=5 :sample: nb=5, ext_word_list=['abc', 'def', 'ghi', 'jkl'] """ - return [self.paragraph(ext_word_list=ext_word_list) - for _ in range(0, nb)] + return [self.paragraph(ext_word_list=ext_word_list) for _ in range(0, nb)] - def text(self, max_nb_chars=200, ext_word_list=None): + def text(self, max_nb_chars: int = 200, ext_word_list: Optional[Sequence[str]] = None) -> str: """Generate a text string. The ``max_nb_chars`` argument controls the approximate number of @@ -165,10 +181,9 @@ def text(self, max_nb_chars=200, ext_word_list=None): :sample: max_nb_chars=160 :sample: ext_word_list=['abc', 'def', 'ghi', 'jkl'] """ - text = [] + text: List[str] = [] if max_nb_chars < 5: - raise ValueError( - 'text() can only generate text of at least 5 characters') + raise ValueError("text() can only generate text of at least 5 characters") if max_nb_chars < 25: # join words @@ -177,8 +192,7 @@ def text(self, max_nb_chars=200, ext_word_list=None): # determine how many words are needed to reach the $max_nb_chars # once; while size < max_nb_chars: - word = (self.word_connector if size else '') + \ - self.word(ext_word_list=ext_word_list) + word = (self.word_connector if size else "") + self.word(ext_word_list=ext_word_list) text.append(word) size += len(word) text.pop() @@ -192,8 +206,7 @@ def text(self, max_nb_chars=200, ext_word_list=None): # determine how many sentences are needed to reach the # $max_nb_chars once while size < max_nb_chars: - sentence = (self.word_connector if size else '') + \ - self.sentence(ext_word_list=ext_word_list) + sentence = (self.word_connector if size else "") + self.sentence(ext_word_list=ext_word_list) text.append(sentence) size += len(sentence) text.pop() @@ -204,15 +217,19 @@ def text(self, max_nb_chars=200, ext_word_list=None): # determine how many paragraphs are needed to reach the # $max_nb_chars once while size < max_nb_chars: - paragraph = ('\n' if size else '') + \ - self.paragraph(ext_word_list=ext_word_list) + paragraph = ("\n" if size else "") + self.paragraph(ext_word_list=ext_word_list) text.append(paragraph) size += len(paragraph) text.pop() return "".join(text) - def texts(self, nb_texts=3, max_nb_chars=200, ext_word_list=None): + def texts( + self, + nb_texts: int = 3, + max_nb_chars: int = 200, + ext_word_list: Optional[Sequence[str]] = None, + ) -> List[str]: """Generate a list of text strings. The ``nb_texts`` argument controls how many text strings the list will @@ -225,5 +242,4 @@ def texts(self, nb_texts=3, max_nb_chars=200, ext_word_list=None): :sample: nb_texts=5, max_nb_chars=50, ext_word_list=['abc', 'def', 'ghi', 'jkl'] """ - return [self.text(max_nb_chars, ext_word_list) - for _ in range(0, nb_texts)] + return [self.text(max_nb_chars, ext_word_list) for _ in range(0, nb_texts)] diff --git a/faker/providers/lorem/ar_AA/__init__.py b/faker/providers/lorem/ar_AA/__init__.py index b2dd52821d..ec88fdbb4e 100644 --- a/faker/providers/lorem/ar_AA/__init__.py +++ b/faker/providers/lorem/ar_AA/__init__.py @@ -5,114 +5,697 @@ class Provider(LoremProvider): """Implement lorem provider for ``ar_AA`` locale.""" word_list = ( - 'تاريخ', 'ثمّة', 'ويكيبيديا', 'واشتدّت', 'عن', 'أوروبا', - 'التغييرات', 'كثيرة', 'سنغافورة', 'اللازمة', 'جُل', 'قد', 'أن', - 'الشّعبين', 'للجزر', 'بالشرقي', 'ذات', 'والتي', 'نهاية', - 'عرفها', 'وسفن', 'وبولندا', 'بالمطالبة', 'وقوعها', 'معاملة', - 'العصبة', 'لمّ', 'البرية', 'بعدم', 'واُسدل', 'حالية', 'فمرّ', - 'قبضتهم', 'وإقامة', 'الأعمال', 'معارضة', 'الإمتعاض', '٢٠٠٤', - 'كانت', 'بينما', 'شعار', 'وتزويده', 'معقل', 'عشوائية', 'مدينة', - 'وفي', 'الأوروبيّون', 'فكان', 'ضرب', 'سكان', 'الأوروبية', - 'الأمريكي', 'وبغطاء', 'الربيع', 'المضي', 'جدول', 'التقليدية', - 'العاصمة', 'التنازلي', 'إبّان', 'بها', 'الجنوبي', 'وتنامت', - 'استدعى', 'الرئيسية', 'بالتوقيع', 'بداية', 'دخول', 'أثره', - 'الدنمارك', 'واقتصار', 'الساحل', 'الوزراء', 'الثالث', 'تونس', - 'الخاسرة', 'الحيلولة', 'لفشل', 'الإطلاق', 'ماذا', 'مواقعها', - 'الجديدة', 'والنفيس', 'الأرواح', 'أكثر', 'الأوربيين', - 'والفرنسي', 'أوزار', 'بلديهما', 'وايرلندا', 'يتم', 'جعل', - 'عرض', 'أفريقيا', 'إستعمل', 'التقليدي', 'عُقر', 'طوكيو', - 'اتفاقية', 'بمحاولة', 'اوروبا', 'منتصف', 'أسر', 'بالرّغم', - 'بضرب', 'إحكام', 'أجزاء', 'الخارجية', 'كنقطة', 'بشرية', - 'بقادة', 'لبلجيكا', 'استطاعوا', 'بسبب', 'تسمّى', 'الحرة', - 'يرتبط', 'شاسعة', 'الواقعة', 'مارد', 'والمعدات', 'لمحاكم', - 'بعلى', 'التبرعات', 'ضمنها', 'فعل', '٣٠', 'الاندونيسية', 'الى', - 'مكثّفة', 'وقدّموا', 'الأثنان', 'أخرى', 'العالمي', 'واحدة', - 'وترك', 'الحكم', 'بهناك', 'بأيدي', 'باستخدام', 'الذود', - 'ولكسمبورغ', 'بعشوائية', 'الأوضاع', 'رجوعهم', 'وأزيز', 'سياسة', - 'ليبين', 'رئيس', 'الجوي', 'سقطت', 'تكاليف', 'وكسبت', 'وعلى', - 'احداث', 'شموليةً', 'إيطاليا', 'عجّل', 'أحكم', 'الدمج', - 'محاولات', 'يعادل', 'بريطانيا-فرنسا', 'ديسمبر', 'قتيل', - 'التاريخ', 'استبدال', 'مقاومة', 'السيء', 'الصعداء', 'أعمال', - 'مسارح', 'ومضى', 'تعد', 'صفحة', 'النفط', 'وهولندا', - 'وبريطانيا', 'جهة', 'بين', 'اتّجة', 'واعتلاء', 'ومحاولة', - 'المارق', 'المؤلّفة', 'شمال', 'لهذه', 'بحث', 'وانهاء', 'غريمه', - 'وبحلول', 'وقبل', 'بتصفح', 'بال', 'الفرنسي', 'وسمّيت', 'ترتيب', - 'واستمرت', 'ببلا', 'الدولارات', 'إعمار', 'إعادة', 'به', - 'الضغوط', 'حصدت', 'بقسوة', 'الطريق', 'وانتهاءً', 'حول', - 'اكتوبر', 'الخاسر', 'ايطاليا', 'للأراضي', 'عالمية', 'جديدة', - 'أخر', 'غينيا', 'قُدُماً', 'و', 'مسؤولية', 'ابتدعها', 'أمّا', - 'الأول', 'أدوات', 'يطول', 'تُصب', 'الأولى', 'المسرح', 'بهيئة', - 'الخطّة', 'موالية', 'مليون', 'بالجانب', 'إيو', 'الهجوم', - 'أعلنت', 'المدن', 'علاقة', 'باستحداث', 'انتباه', 'بالولايات', - 'مدن', 'أساسي', 'لفرنسا', 'الجنوب', 'الثقيل', 'والعتاد', - 'بقعة', 'العدّ', 'اتفاق', 'تحت', 'الإحتفاظ', 'بوقامت', 'التي', - 'ب٠٨٠٤', 'ولاتّساع', 'الا', 'حكومة', 'مما', 'بحيث', 'مليارات', - 'شواطيء', 'التحالف', 'الأوروبي', 'قام', 'يتعلّق', 'مايو', - 'هاربر', 'العمليات', 'أما', 'يعبأ', 'وشعار', 'الإقتصادية', - 'والكساد', 'ليرتفع', 'وبالرغم', 'قِبل', 'الله', 'تكتيكاً', - 'اعتداء', 'ب٣٠', 'تسبب', 'للحكومة', 'الأهداف', 'اللا', 'ببعض', - 'الستار', 'وبلجيكا', 'وفنلندا', 'ميناء', 'الساحلية', 'مقاطعة', - 'وتم', 'السيطرة', 'تغييرات', 'ووصف', 'الجنود', 'بلمّ', 'لدحر', - 'بالحرب', 'كُلفة', 'وبدون', 'وصل', 'أفاق', 'الأبرياء', - 'مهمّات', 'العظمى', 'والقرى', 'وأكثرها', 'لان', 'مشارف', - 'مساعدة', 'أضف', 'مشروط', 'الكونجرس', 'للصين', 'الشمل', - 'اليميني', 'فكانت', 'سقوط', 'بتحت', 'بكلا', 'تصرّف', 'الأثناء', - 'بولندا', 'واندونيسيا', 'كلّ', 'إحتار', 'الخاطفة', 'كردة', - 'وحلفاؤها', 'إتفاقية', 'وبداية', 'يذكر', 'حادثة', 'مئات', - 'الأسيوي', 'غير', 'الانجليزية', 'استعملت', 'استمرار', 'المحيط', - 'وصافرات', 'وحتّى', 'الخاصّة', 'وزارة', 'بحق', 'بدارت', - 'ماليزيا', 'جزيرتي', 'اليابان', 'هامش', 'بوابة', 'وجهان', - 'وقرى', 'تجهيز', 'بولم', 'البولندي', 'الجو', 'لكل', 'فرنسية', - 'تحرّكت', 'يقوم', 'ولم', 'للإتحاد', 'الغالي', 'المشترك', - 'التكاليف', 'بولاتّساع', 'الفرنسية', 'بتحدّي', 'غرّة', 'الأرض', - 'مشاركة', 'فصل', 'بأم', 'والكوري', 'وقد', 'بـ', 'كل', 'بزمام', - 'أي', 'ماشاء', 'لغات', 'اليابانية', 'ونتج', 'الضروري', 'مع', - 'عقبت', 'لليابان', 'مسرح', 'فقامت', 'بتطويق', 'بتخصيص', - 'الوراء', 'تعداد', 'فبعد', 'تشكيل', 'الموسوعة', 'لكون', - 'واستمر', 'الأمريكية', 'إجلاء', 'بدون', 'قررت', 'الشتاء', - 'يتمكن', 'التخطيط', 'مكن', 'بريطانيا', 'أحدث', 'تشيكوسلوفاكيا', - 'وبدأت', 'الشهيرة', 'حدى', 'الإيطالية', 'يتسنّى', 'اقتصادية', - 'التجارية', 'بشكل', 'عسكرياً', 'على', 'ألمّ', 'لبولندا', - 'وسوء', 'جنوب', 'بالشتاء', 'الفترة', 'للمجهود', 'أسيا', - 'ارتكبها', 'بلها', 'قامت', 'أوراقهم', 'بجسيمة', 'بإعمار', - 'وتتحمّل', 'القوى', 'قبل', 'دنو', 'عدم', 'دار', 'الهادي', - 'خطّة', 'المجتمع', 'أملاً', 'دفّة', 'بخطوط', 'السفن', 'لعدم', - 'حاملات', 'بل', 'الإتفاقية', 'الأمور', 'بانه', 'مرجع', - 'النزاع', 'الدّفاع', 'بكلّ', 'ان', 'السبب', 'المشتّتون', - 'ودول', 'ألمانيا', 'والروسية', 'والفلبين', 'بلا', 'أواخر', - 'ببه', 'تزامناً', 'أطراف', 'يونيو', 'الأراضي', 'كانتا', - 'ويعزى', 'انتهت', 'بالثالث', 'وباستثناء', 'زهاء', 'الآخر', - 'أخذ', 'ليركز', 'يتبقّ', 'تمهيد', 'الإقتصادي', 'بالرغم', - 'سبتمبر', 'بقد', 'واتّجه', 'وصغار', 'الشتوية', 'سابق', 'بعض', - 'الشرق', 'المتساقطة', 'الصين', 'اسبوعين', 'لهيمنة', 'الصفحات', - 'أم', 'الساحة', 'القادة', 'لعملة', 'أمام', 'تحرير', 'عليها', - 'وحرمان', 'حلّت', 'بأضرار', 'الثقيلة', 'وجزر', 'الأرضية', - 'أراض', 'والحزب', 'وباءت', 'حقول', 'وبالتحديد', 'لإنعدام', - 'اعلان', 'خلاف', 'انه', 'بتونس', 'بمما', 'الأجل', 'أوسع', - 'الآلاف', 'تطوير', 'اليها', 'البشريةً', 'والإتحاد', 'إختار', - 'وبعض', 'بالمحور', 'غضون', 'شرسة', 'السادس', 'الإثنان', - 'لتقليعة', 'الجنرال', 'تصفح', 'ثانية', 'العناد', 'لم', - 'لإعادة', 'سليمان', 'هناك', 'جمعت', 'الباهضة', 'وبعدما', 'في', - 'تنفّس', 'ويتّفق', 'قدما', 'المنتصر', 'جيوب', 'انتصارهم', - 'قادة', 'تحرّك', 'الإمداد', 'الصينية', 'جسيمة', 'تكبّد', - 'وعُرفت', 'استرجاع', 'فشكّل', 'دول', 'فقد', 'الطرفين', - 'بالرّد', 'المعاهدات', 'الأخذ', 'لإعلان', 'كرسي', 'كلا', 'هذا', - 'الإنذار', 'عملية', 'شيء', 'ومن', 'جيما', 'الشرقية', 'بالعمل', - 'ما', 'الولايات', 'حاول', 'جديداً', 'حين', 'العالم', 'بنقطة', - 'خيار', 'بالجوي', 'والديون', 'بقيادة', 'بيكن', 'يبق', - 'ومطالبة', 'أراضي', 'حتى', 'بأراضي', 'معزّزة', 'الثانية', - 'دون', 'بالسيطرة', 'نتيجة', 'دارت', 'بالإنزال', 'أمدها', - 'الشهير', 'من', 'بلاده', 'تم', 'الصفحة', 'ساعة', 'الإكتفاء', - 'يكن', 'عل', 'أصقاع', 'بالأجل', 'تلك', 'إذ', 'الإتحاد', - 'المتحدة', 'إستيلاء', 'بعرض', 'بفصل', 'ممثّلة', 'شدّت', 'كان', - 'هنا؟', 'المبرمة', 'انذار', 'تعديل', 'ليتسنّى', 'وتنصيب', - 'قائمة', 'الإنزال', 'إعلان', 'للسيطرة', 'بعد', 'بالسادس', - 'العالمية', 'ببحشد', 'بحشد', 'إنطلاق', 'والنرويج', 'هُزم', - 'فاتّبع', 'لها', 'بأسر', 'الشرقي', 'المواد', 'الشمال', - 'الأحمر', '٠٨٠٤', 'ثم', 'نفس', 'وقام', 'عدد', 'أسابيع', 'هو', - 'كما', 'وحتى', 'المتاخمة', 'أهّل', 'أدنى', 'بفرض', 'وبعد', - 'المتّبعة', 'بقصف', 'الدول', 'لأداء', 'جورج', 'وفرنسا', - 'فرنسا', 'هذه', 'الحدود', 'الشطر', 'نقطة', 'بدول', 'فهرست', - 'حيث', 'استراليا', 'وإيطالي', 'دأبوا', 'الحكومة', 'الأمم', - 'فسقط', 'مرمى', 'ذلك', 'مكّن', 'وإعلان', 'بمباركة', 'والمانيا', + "تاريخ", + "ثمّة", + "ويكيبيديا", + "واشتدّت", + "عن", + "أوروبا", + "التغييرات", + "كثيرة", + "سنغافورة", + "اللازمة", + "جُل", + "قد", + "أن", + "الشّعبين", + "للجزر", + "بالشرقي", + "ذات", + "والتي", + "نهاية", + "عرفها", + "وسفن", + "وبولندا", + "بالمطالبة", + "وقوعها", + "معاملة", + "العصبة", + "لمّ", + "البرية", + "بعدم", + "واُسدل", + "حالية", + "فمرّ", + "قبضتهم", + "وإقامة", + "الأعمال", + "معارضة", + "الإمتعاض", + "٢٠٠٤", + "كانت", + "بينما", + "شعار", + "وتزويده", + "معقل", + "عشوائية", + "مدينة", + "وفي", + "الأوروبيّون", + "فكان", + "ضرب", + "سكان", + "الأوروبية", + "الأمريكي", + "وبغطاء", + "الربيع", + "المضي", + "جدول", + "التقليدية", + "العاصمة", + "التنازلي", + "إبّان", + "بها", + "الجنوبي", + "وتنامت", + "استدعى", + "الرئيسية", + "بالتوقيع", + "بداية", + "دخول", + "أثره", + "الدنمارك", + "واقتصار", + "الساحل", + "الوزراء", + "الثالث", + "تونس", + "الخاسرة", + "الحيلولة", + "لفشل", + "الإطلاق", + "ماذا", + "مواقعها", + "الجديدة", + "والنفيس", + "الأرواح", + "أكثر", + "الأوربيين", + "والفرنسي", + "أوزار", + "بلديهما", + "وايرلندا", + "يتم", + "جعل", + "عرض", + "أفريقيا", + "إستعمل", + "التقليدي", + "عُقر", + "طوكيو", + "اتفاقية", + "بمحاولة", + "اوروبا", + "منتصف", + "أسر", + "بالرّغم", + "بضرب", + "إحكام", + "أجزاء", + "الخارجية", + "كنقطة", + "بشرية", + "بقادة", + "لبلجيكا", + "استطاعوا", + "بسبب", + "تسمّى", + "الحرة", + "يرتبط", + "شاسعة", + "الواقعة", + "مارد", + "والمعدات", + "لمحاكم", + "بعلى", + "التبرعات", + "ضمنها", + "فعل", + "٣٠", + "الاندونيسية", + "الى", + "مكثّفة", + "وقدّموا", + "الأثنان", + "أخرى", + "العالمي", + "واحدة", + "وترك", + "الحكم", + "بهناك", + "بأيدي", + "باستخدام", + "الذود", + "ولكسمبورغ", + "بعشوائية", + "الأوضاع", + "رجوعهم", + "وأزيز", + "سياسة", + "ليبين", + "رئيس", + "الجوي", + "سقطت", + "تكاليف", + "وكسبت", + "وعلى", + "احداث", + "شموليةً", + "إيطاليا", + "عجّل", + "أحكم", + "الدمج", + "محاولات", + "يعادل", + "بريطانيا-فرنسا", + "ديسمبر", + "قتيل", + "التاريخ", + "استبدال", + "مقاومة", + "السيء", + "الصعداء", + "أعمال", + "مسارح", + "ومضى", + "تعد", + "صفحة", + "النفط", + "وهولندا", + "وبريطانيا", + "جهة", + "بين", + "اتّجة", + "واعتلاء", + "ومحاولة", + "المارق", + "المؤلّفة", + "شمال", + "لهذه", + "بحث", + "وانهاء", + "غريمه", + "وبحلول", + "وقبل", + "بتصفح", + "بال", + "الفرنسي", + "وسمّيت", + "ترتيب", + "واستمرت", + "ببلا", + "الدولارات", + "إعمار", + "إعادة", + "به", + "الضغوط", + "حصدت", + "بقسوة", + "الطريق", + "وانتهاءً", + "حول", + "اكتوبر", + "الخاسر", + "ايطاليا", + "للأراضي", + "عالمية", + "جديدة", + "أخر", + "غينيا", + "قُدُماً", + "و", + "مسؤولية", + "ابتدعها", + "أمّا", + "الأول", + "أدوات", + "يطول", + "تُصب", + "الأولى", + "المسرح", + "بهيئة", + "الخطّة", + "موالية", + "مليون", + "بالجانب", + "إيو", + "الهجوم", + "أعلنت", + "المدن", + "علاقة", + "باستحداث", + "انتباه", + "بالولايات", + "مدن", + "أساسي", + "لفرنسا", + "الجنوب", + "الثقيل", + "والعتاد", + "بقعة", + "العدّ", + "اتفاق", + "تحت", + "الإحتفاظ", + "بوقامت", + "التي", + "ب٠٨٠٤", + "ولاتّساع", + "الا", + "حكومة", + "مما", + "بحيث", + "مليارات", + "شواطيء", + "التحالف", + "الأوروبي", + "قام", + "يتعلّق", + "مايو", + "هاربر", + "العمليات", + "أما", + "يعبأ", + "وشعار", + "الإقتصادية", + "والكساد", + "ليرتفع", + "وبالرغم", + "قِبل", + "الله", + "تكتيكاً", + "اعتداء", + "ب٣٠", + "تسبب", + "للحكومة", + "الأهداف", + "اللا", + "ببعض", + "الستار", + "وبلجيكا", + "وفنلندا", + "ميناء", + "الساحلية", + "مقاطعة", + "وتم", + "السيطرة", + "تغييرات", + "ووصف", + "الجنود", + "بلمّ", + "لدحر", + "بالحرب", + "كُلفة", + "وبدون", + "وصل", + "أفاق", + "الأبرياء", + "مهمّات", + "العظمى", + "والقرى", + "وأكثرها", + "لان", + "مشارف", + "مساعدة", + "أضف", + "مشروط", + "الكونجرس", + "للصين", + "الشمل", + "اليميني", + "فكانت", + "سقوط", + "بتحت", + "بكلا", + "تصرّف", + "الأثناء", + "بولندا", + "واندونيسيا", + "كلّ", + "إحتار", + "الخاطفة", + "كردة", + "وحلفاؤها", + "إتفاقية", + "وبداية", + "يذكر", + "حادثة", + "مئات", + "الأسيوي", + "غير", + "الانجليزية", + "استعملت", + "استمرار", + "المحيط", + "وصافرات", + "وحتّى", + "الخاصّة", + "وزارة", + "بحق", + "بدارت", + "ماليزيا", + "جزيرتي", + "اليابان", + "هامش", + "بوابة", + "وجهان", + "وقرى", + "تجهيز", + "بولم", + "البولندي", + "الجو", + "لكل", + "فرنسية", + "تحرّكت", + "يقوم", + "ولم", + "للإتحاد", + "الغالي", + "المشترك", + "التكاليف", + "بولاتّساع", + "الفرنسية", + "بتحدّي", + "غرّة", + "الأرض", + "مشاركة", + "فصل", + "بأم", + "والكوري", + "وقد", + "بـ", + "كل", + "بزمام", + "أي", + "ماشاء", + "لغات", + "اليابانية", + "ونتج", + "الضروري", + "مع", + "عقبت", + "لليابان", + "مسرح", + "فقامت", + "بتطويق", + "بتخصيص", + "الوراء", + "تعداد", + "فبعد", + "تشكيل", + "الموسوعة", + "لكون", + "واستمر", + "الأمريكية", + "إجلاء", + "بدون", + "قررت", + "الشتاء", + "يتمكن", + "التخطيط", + "مكن", + "بريطانيا", + "أحدث", + "تشيكوسلوفاكيا", + "وبدأت", + "الشهيرة", + "حدى", + "الإيطالية", + "يتسنّى", + "اقتصادية", + "التجارية", + "بشكل", + "عسكرياً", + "على", + "ألمّ", + "لبولندا", + "وسوء", + "جنوب", + "بالشتاء", + "الفترة", + "للمجهود", + "أسيا", + "ارتكبها", + "بلها", + "قامت", + "أوراقهم", + "بجسيمة", + "بإعمار", + "وتتحمّل", + "القوى", + "قبل", + "دنو", + "عدم", + "دار", + "الهادي", + "خطّة", + "المجتمع", + "أملاً", + "دفّة", + "بخطوط", + "السفن", + "لعدم", + "حاملات", + "بل", + "الإتفاقية", + "الأمور", + "بانه", + "مرجع", + "النزاع", + "الدّفاع", + "بكلّ", + "ان", + "السبب", + "المشتّتون", + "ودول", + "ألمانيا", + "والروسية", + "والفلبين", + "بلا", + "أواخر", + "ببه", + "تزامناً", + "أطراف", + "يونيو", + "الأراضي", + "كانتا", + "ويعزى", + "انتهت", + "بالثالث", + "وباستثناء", + "زهاء", + "الآخر", + "أخذ", + "ليركز", + "يتبقّ", + "تمهيد", + "الإقتصادي", + "بالرغم", + "سبتمبر", + "بقد", + "واتّجه", + "وصغار", + "الشتوية", + "سابق", + "بعض", + "الشرق", + "المتساقطة", + "الصين", + "اسبوعين", + "لهيمنة", + "الصفحات", + "أم", + "الساحة", + "القادة", + "لعملة", + "أمام", + "تحرير", + "عليها", + "وحرمان", + "حلّت", + "بأضرار", + "الثقيلة", + "وجزر", + "الأرضية", + "أراض", + "والحزب", + "وباءت", + "حقول", + "وبالتحديد", + "لإنعدام", + "اعلان", + "خلاف", + "انه", + "بتونس", + "بمما", + "الأجل", + "أوسع", + "الآلاف", + "تطوير", + "اليها", + "البشريةً", + "والإتحاد", + "إختار", + "وبعض", + "بالمحور", + "غضون", + "شرسة", + "السادس", + "الإثنان", + "لتقليعة", + "الجنرال", + "تصفح", + "ثانية", + "العناد", + "لم", + "لإعادة", + "سليمان", + "هناك", + "جمعت", + "الباهضة", + "وبعدما", + "في", + "تنفّس", + "ويتّفق", + "قدما", + "المنتصر", + "جيوب", + "انتصارهم", + "قادة", + "تحرّك", + "الإمداد", + "الصينية", + "جسيمة", + "تكبّد", + "وعُرفت", + "استرجاع", + "فشكّل", + "دول", + "فقد", + "الطرفين", + "بالرّد", + "المعاهدات", + "الأخذ", + "لإعلان", + "كرسي", + "كلا", + "هذا", + "الإنذار", + "عملية", + "شيء", + "ومن", + "جيما", + "الشرقية", + "بالعمل", + "ما", + "الولايات", + "حاول", + "جديداً", + "حين", + "العالم", + "بنقطة", + "خيار", + "بالجوي", + "والديون", + "بقيادة", + "بيكن", + "يبق", + "ومطالبة", + "أراضي", + "حتى", + "بأراضي", + "معزّزة", + "الثانية", + "دون", + "بالسيطرة", + "نتيجة", + "دارت", + "بالإنزال", + "أمدها", + "الشهير", + "من", + "بلاده", + "تم", + "الصفحة", + "ساعة", + "الإكتفاء", + "يكن", + "عل", + "أصقاع", + "بالأجل", + "تلك", + "إذ", + "الإتحاد", + "المتحدة", + "إستيلاء", + "بعرض", + "بفصل", + "ممثّلة", + "شدّت", + "كان", + "هنا؟", + "المبرمة", + "انذار", + "تعديل", + "ليتسنّى", + "وتنصيب", + "قائمة", + "الإنزال", + "إعلان", + "للسيطرة", + "بعد", + "بالسادس", + "العالمية", + "ببحشد", + "بحشد", + "إنطلاق", + "والنرويج", + "هُزم", + "فاتّبع", + "لها", + "بأسر", + "الشرقي", + "المواد", + "الشمال", + "الأحمر", + "٠٨٠٤", + "ثم", + "نفس", + "وقام", + "عدد", + "أسابيع", + "هو", + "كما", + "وحتى", + "المتاخمة", + "أهّل", + "أدنى", + "بفرض", + "وبعد", + "المتّبعة", + "بقصف", + "الدول", + "لأداء", + "جورج", + "وفرنسا", + "فرنسا", + "هذه", + "الحدود", + "الشطر", + "نقطة", + "بدول", + "فهرست", + "حيث", + "استراليا", + "وإيطالي", + "دأبوا", + "الحكومة", + "الأمم", + "فسقط", + "مرمى", + "ذلك", + "مكّن", + "وإعلان", + "بمباركة", + "والمانيا", ) diff --git a/faker/providers/lorem/cs_CZ/__init__.py b/faker/providers/lorem/cs_CZ/__init__.py new file mode 100644 index 0000000000..4356223a87 --- /dev/null +++ b/faker/providers/lorem/cs_CZ/__init__.py @@ -0,0 +1,1967 @@ +from .. import Provider as LoremProvider + + +class Provider(LoremProvider): + """Implement lorem provider for ``cs_CZ`` locale. + + Word list is drawn from the SYN2015. + (representative corpus of contemporary written Czech published in December 2015) + + The word list is a list of the 2000 most common lemmas. Abbreviations and first names were removed. + + Sources: + - https://wiki.korpus.cz/lib/exe/fetch.php/seznamy:syn2015_lemma_utf8.zip + + """ + + word_list = ( + "a", + "aby", + "adresa", + "Afrika", + "agentura", + "akce", + "aktivita", + "aktivní", + "aktuální", + "ale", + "alespoň", + "alkohol", + "americký", + "Amerika", + "analýza", + "anebo", + "anglický", + "ani", + "aniž", + "ano", + "aplikace", + "architekt", + "areál", + "armáda", + "asi", + "aspoň", + "atmosféra", + "auto", + "autobus", + "autor", + "avšak", + "ačkoli", + "ať", + "až", + "babička", + "banka", + "barevný", + "barva", + "bavit", + "bez", + "bezpečnost", + "bezpečnostní", + "bezpečný", + "blok", + "blízko", + "blízký", + "blížit", + "bod", + "bohatý", + "bohužel", + "boj", + "bojovat", + "bok", + "bolest", + "bota", + "boží", + "branka", + "bratr", + "britský", + "Brno", + "brněnský", + "brzy", + "brána", + "bránit", + "brát", + "budoucnost", + "budoucí", + "budova", + "buď", + "buňka", + "bydlet", + "byt", + "byť", + "bát", + "bílý", + "být", + "bývalý", + "bývat", + "během", + "běžet", + "běžný", + "břeh", + "březen", + "břicho", + "bůh", + "celek", + "celkem", + "celkový", + "celý", + "cena", + "centrum", + "cesta", + "charakter", + "chladný", + "chlap", + "chlapec", + "chodba", + "chodit", + "chovat", + "chování", + "chránit", + "chtít", + "chuť", + "chvilka", + "chvíle", + "chyba", + "chybět", + "chystat", + "chytit", + "chápat", + "cigareta", + "cizí", + "co", + "cokoli", + "cosi", + "což", + "cukr", + "cíl", + "církev", + "cítit", + "daleko", + "další", + "daný", + "datum", + "daň", + "dařit", + "dcera", + "dech", + "den", + "denně", + "deník", + "deset", + "design", + "deska", + "desítka", + "detail", + "devět", + "diskuse", + "displej", + "dispozice", + "divadlo", + "divoký", + "divák", + "dlaň", + "dle", + "dlouho", + "dlouhodobý", + "dlouhý", + "dnes", + "dneska", + "dnešní", + "dno", + "do", + "doba", + "dobrý", + "dobře", + "docela", + "docházet", + "dodat", + "dodnes", + "dodávat", + "dohoda", + "dohromady", + "dojem", + "dojít", + "dokonalý", + "dokonce", + "dokončit", + "doktor", + "dokud", + "dokument", + "dokázat", + "dolar", + "dolů", + "doma", + "domnívat", + "domov", + "domácnost", + "domácí", + "domů", + "dopadnout", + "dopis", + "doplnit", + "doporučovat", + "doprava", + "dopravní", + "dorazit", + "dosahovat", + "doslova", + "dospělý", + "dost", + "dostat", + "dostatečný", + "dostatečně", + "dostupný", + "dostávat", + "dosud", + "dosáhnout", + "dotace", + "dotknout", + "doufat", + "dovnitř", + "dovolená", + "dovolit", + "dovést", + "dozvědět", + "dočkat", + "drahý", + "drobný", + "druh", + "druhý", + "dráha", + "držet", + "duben", + "duch", + "duše", + "dva", + "dvacet", + "dvakrát", + "dvanáct", + "dveře", + "dvůr", + "dále", + "dáma", + "dát", + "dávat", + "dávka", + "dávno", + "dávný", + "délka", + "déšť", + "díky", + "díl", + "dílo", + "díra", + "dít", + "dítě", + "dívat", + "dívka", + "dějiny", + "děkovat", + "dělat", + "dětský", + "dětství", + "dřevo", + "dřevěný", + "důkaz", + "důležitý", + "dům", + "důsledek", + "důvod", + "ekonomický", + "ekonomika", + "elektrický", + "energetický", + "energie", + "euro", + "Evropa", + "evropský", + "existence", + "existovat", + "fakt", + "faktor", + "fakulta", + "fanoušek", + "festival", + "film", + "filmový", + "finance", + "finanční", + "firma", + "fond", + "forma", + "fotbal", + "fotbalový", + "fotka", + "fotografie", + "Francie", + "francouzský", + "fungovat", + "funkce", + "fyzický", + "fáze", + "generace", + "gól", + "hala", + "herec", + "hezký", + "historický", + "historie", + "hladina", + "hlas", + "hlava", + "hlavní", + "hlavně", + "hledat", + "hledisko", + "hledět", + "hluboký", + "hmota", + "hmotnost", + "hned", + "hnutí", + "hnědý", + "hodina", + "hodit", + "hodlat", + "hodnocení", + "hodnota", + "hodně", + "holka", + "hora", + "horký", + "horní", + "hospodářský", + "host", + "hotel", + "hotový", + "hovořit", + "hra", + "hrad", + "hranice", + "hrdina", + "hrozit", + "hrozně", + "hrát", + "hráč", + "hudba", + "hudební", + "hvězda", + "hřiště", + "i", + "ideální", + "informace", + "informační", + "informovat", + "instituce", + "internet", + "internetový", + "investice", + "italský", + "jak", + "jakmile", + "jako", + "jaký", + "jakýkoli", + "jakýsi", + "jaro", + "jasný", + "jasně", + "jazyk", + "jeden", + "jedinec", + "jediný", + "jednak", + "jednat", + "jednoduchý", + "jednoduše", + "jednotka", + "jednotlivý", + "jednou", + "jednání", + "jeho", + "jejich", + "její", + "jelikož", + "jemný", + "jen", + "jenom", + "jenž", + "jenže", + "jestli", + "jestliže", + "jet", + "jev", + "jezdit", + "ještě", + "jinak", + "jinde", + "jiný", + "jistota", + "jistý", + "jistě", + "již", + "jižní", + "jmenovat", + "jméno", + "jo", + "já", + "jádro", + "jídlo", + "jíst", + "jít", + "jízda", + "k", + "kam", + "kamarád", + "kamenný", + "kamera", + "kancelář", + "kapacita", + "kapela", + "kapitola", + "kapitán", + "kapsa", + "kariéra", + "karta", + "kategorie", + "každý", + "kde", + "kdo", + "kdy", + "kdyby", + "kdykoli", + "kdysi", + "když", + "kilometr", + "klasický", + "klid", + "klidný", + "klidně", + "klient", + "klub", + "kluk", + "klást", + "klíč", + "klíčový", + "kniha", + "knihovna", + "knížka", + "kolega", + "kolem", + "koleno", + "kolik", + "kolo", + "kombinace", + "komise", + "komora", + "komunikace", + "konat", + "koncert", + "konec", + "konečný", + "konečně", + "konkrétní", + "konstrukce", + "kontakt", + "kontrola", + "končit", + "kopec", + "koruna", + "kost", + "kostel", + "koupit", + "kousek", + "kočka", + "košile", + "kraj", + "krajina", + "krajský", + "krev", + "krize", + "krk", + "krok", + "kromě", + "kruh", + "král", + "krása", + "krásný", + "krátce", + "krátký", + "který", + "kuchyně", + "kultura", + "kulturní", + "kurs", + "kus", + "kvalita", + "kvalitní", + "květ", + "květen", + "kvůli", + "kámen", + "káva", + "křeslo", + "křičet", + "křídlo", + "kůň", + "kůže", + "led", + "leden", + "lehce", + "lehký", + "les", + "letadlo", + "letní", + "letos", + "letošní", + "levný", + "levý", + "ležet", + "lidový", + "lidský", + "liga", + "linka", + "list", + "listopad", + "literatura", + "lišit", + "lokalita", + "Londýn", + "loď", + "loňský", + "lze", + "láska", + "látka", + "lék", + "lékař", + "léto", + "léčba", + "líbit", + "majetek", + "majitel", + "malý", + "maminka", + "manažer", + "manžel", + "manželka", + "mapa", + "maso", + "materiál", + "matka", + "metoda", + "metr", + "mezi", + "mezinárodní", + "miliarda", + "milimetr", + "milión", + "milovat", + "milý", + "mimo", + "ministerstvo", + "ministr", + "minulost", + "minulý", + "minuta", + "mistr", + "mladík", + "mladý", + "mluvit", + "mluvčí", + "mléko", + "mnohem", + "mnoho", + "mnohý", + "množství", + "mobil", + "mobilní", + "moc", + "moci", + "model", + "moderní", + "modrý", + "moment", + "Morava", + "most", + "motor", + "mozek", + "moře", + "možnost", + "možná", + "možný", + "mrtvý", + "muset", + "muzeum", + "muž", + "my", + "mysl", + "myslet", + "myšlenka", + "málo", + "máma", + "médium", + "míra", + "mírně", + "místnost", + "místní", + "místo", + "mít", + "měnit", + "město", + "městský", + "měsíc", + "můj", + "na", + "nabídka", + "nabídnout", + "nabízet", + "nacházet", + "nad", + "nadále", + "naděje", + "nahoru", + "nahradit", + "najednou", + "najít", + "nakonec", + "nalézt", + "naopak", + "napadnout", + "naposledy", + "naprosto", + "napsat", + "napětí", + "například", + "narazit", + "narodit", + "nastat", + "nastoupit", + "natolik", + "naučit", + "navrhnout", + "navzdory", + "navíc", + "navštívit", + "nazývat", + "naštěstí", + "ne", + "nebe", + "nebezpečí", + "nebo", + "neboť", + "nechat", + "nechávat", + "nedostatek", + "nedávno", + "neděle", + "nehoda", + "nejen", + "nejprve", + "nemoc", + "nemocnice", + "nemocný", + "nepřítel", + "neustále", + "nezbytný", + "než", + "nic", + "nicméně", + "nijak", + "nikdo", + "nikdy", + "nikoli", + "no", + "noc", + "noha", + "norma", + "normální", + "nos", + "nosit", + "novinka", + "noviny", + "novinář", + "nový", + "nově", + "noční", + "nutit", + "nutný", + "nyní", + "nábytek", + "nádherný", + "náhle", + "náhodou", + "náklad", + "nákup", + "nálada", + "náměstí", + "nápad", + "národ", + "národní", + "nárok", + "náročný", + "následek", + "následně", + "následovat", + "následující", + "nástroj", + "návrat", + "návrh", + "návštěva", + "návštěvník", + "název", + "názor", + "náš", + "nést", + "nízký", + "nýbrž", + "něco", + "nějak", + "nějaký", + "někde", + "někdo", + "někdy", + "několik", + "několikrát", + "některý", + "Němec", + "Německo", + "německý", + "o", + "oba", + "obava", + "obchod", + "obchodní", + "období", + "obec", + "obecný", + "obecně", + "objekt", + "objem", + "objevit", + "objevovat", + "oblast", + "oblečení", + "obličej", + "oblíbený", + "obor", + "obr", + "obrana", + "obraz", + "obrovský", + "obrátit", + "obrázek", + "obsah", + "obsahovat", + "obvod", + "obvykle", + "obvyklý", + "obyvatel", + "obyčejný", + "občan", + "občanský", + "občas", + "oběť", + "ochrana", + "ocitnout", + "od", + "odborník", + "odborný", + "odchod", + "odcházet", + "oddělení", + "odejít", + "odhalit", + "odjet", + "odkud", + "odlišný", + "odmítat", + "odmítnout", + "odpoledne", + "odpor", + "odpovídat", + "odpovědět", + "odpověď", + "oheň", + "ohled", + "okamžik", + "okamžitě", + "okno", + "oko", + "okolnost", + "okolní", + "okolo", + "okolí", + "okraj", + "olej", + "omezený", + "on", + "onemocnění", + "onen", + "oni", + "opakovat", + "opatření", + "operace", + "operační", + "oprava", + "opravdu", + "oproti", + "opustit", + "opět", + "organizace", + "orgán", + "osm", + "osoba", + "osobnost", + "osobní", + "osobně", + "ostatní", + "ostatně", + "Ostrava", + "ostrov", + "ostrý", + "osud", + "otec", + "otevřený", + "otevřít", + "otočit", + "otázka", + "ovlivnit", + "ovšem", + "označit", + "označovat", + "oznámit", + "ozvat", + "očekávat", + "pacient", + "padat", + "padesát", + "padnout", + "pak", + "pamatovat", + "památka", + "paměť", + "pan", + "paní", + "papír", + "parametr", + "park", + "partner", + "patnáct", + "patro", + "patřit", + "paže", + "peníze", + "pes", + "pevný", + "pevně", + "pivo", + "planeta", + "platit", + "plný", + "plně", + "plocha", + "plyn", + "Plzeň", + "plán", + "plánovat", + "po", + "pobyt", + "pochopit", + "pochopitelně", + "pocházet", + "pocit", + "pod", + "podat", + "podařit", + "podepsat", + "podivný", + "podlaha", + "podle", + "podmínka", + "podnik", + "podoba", + "podobný", + "podobně", + "podpora", + "podporovat", + "podpořit", + "podstata", + "podstatný", + "podzim", + "podávat", + "podíl", + "podílet", + "podívat", + "pohled", + "pohlédnout", + "pohyb", + "pohybovat", + "pojem", + "pokaždé", + "pokoj", + "pokoušet", + "pokračovat", + "pokud", + "pokus", + "pokusit", + "pole", + "policejní", + "policie", + "policista", + "politický", + "politik", + "politika", + "poloha", + "polovina", + "položit", + "pomalu", + "pomoc", + "pomoci", + "pomocí", + "pomyslet", + "pomáhat", + "poměr", + "poměrně", + "poněkud", + "popis", + "popisovat", + "poprvé", + "popsat", + "populace", + "poradit", + "posadit", + "poskytnout", + "poskytovat", + "poslat", + "poslední", + "poslouchat", + "postava", + "postavení", + "postavit", + "postel", + "postoj", + "postup", + "postupně", + "potkat", + "potom", + "potravina", + "potvrdit", + "poté", + "potíž", + "potřeba", + "potřebný", + "potřebovat", + "pouhý", + "pouze", + "použití", + "použít", + "používat", + "povaha", + "považovat", + "povinnost", + "povrch", + "povést", + "povídat", + "povědět", + "pozdní", + "pozdě", + "pozemek", + "pozice", + "pozitivní", + "poznamenat", + "poznat", + "poznámka", + "pozor", + "pozornost", + "pozorovat", + "pozvat", + "počasí", + "počet", + "počkat", + "počátek", + "počítat", + "počítač", + "pořád", + "pořádek", + "pořádně", + "pořídit", + "požadavek", + "požádat", + "prach", + "pracovat", + "pracovní", + "pracovník", + "Praha", + "prakticky", + "praktický", + "pravda", + "pravděpodobně", + "pravidelný", + "pravidelně", + "pravidlo", + "pravý", + "praxe", + "pražský", + "premiér", + "prezident", + "princip", + "pro", + "problém", + "probudit", + "probíhat", + "proběhnout", + "procento", + "proces", + "procházet", + "prodat", + "prodej", + "produkce", + "produkt", + "prodávat", + "profesor", + "program", + "prohlásit", + "projekt", + "projev", + "projevit", + "projevovat", + "projít", + "promluvit", + "proměnit", + "prosinec", + "prosit", + "prostor", + "prostě", + "prostředek", + "prostřednictvím", + "prostředí", + "proti", + "proto", + "protože", + "proud", + "provedení", + "provoz", + "provádět", + "provést", + "prozradit", + "proč", + "prst", + "prvek", + "první", + "pryč", + "práce", + "právní", + "právo", + "právě", + "prázdný", + "prý", + "průběh", + "průmysl", + "průměr", + "průměrný", + "psát", + "pták", + "ptát", + "pustit", + "pád", + "pán", + "pár", + "pátek", + "péče", + "píseň", + "pít", + "pěkný", + "pěkně", + "pět", + "přece", + "před", + "předchozí", + "předem", + "především", + "předmět", + "přednost", + "přední", + "předpoklad", + "předpokládat", + "předseda", + "představa", + "představení", + "představit", + "představovat", + "předtím", + "přejít", + "překvapit", + "přemýšlet", + "přes", + "přesný", + "přesně", + "přestat", + "přesto", + "přestože", + "přesvědčit", + "převzít", + "přečíst", + "přežít", + "při", + "přibližně", + "přiblížit", + "přicházet", + "přidat", + "přijet", + "přijmout", + "přijít", + "přikývnout", + "přinášet", + "přinést", + "připadat", + "připojit", + "připomenout", + "připomínat", + "připravený", + "připravit", + "připravovat", + "přirozený", + "přitom", + "přivést", + "přiznat", + "přičemž", + "přání", + "přát", + "příběh", + "příjem", + "příjemný", + "příklad", + "příležitost", + "příliš", + "přímo", + "přímý", + "případ", + "případný", + "případně", + "příprava", + "příroda", + "přírodní", + "příslušný", + "příspěvek", + "přístroj", + "přístup", + "přítel", + "přítomnost", + "přítomný", + "příčina", + "příští", + "půda", + "půl", + "působení", + "působit", + "původ", + "původní", + "původně", + "rada", + "radnice", + "radost", + "rameno", + "reagovat", + "reakce", + "realita", + "realizace", + "region", + "regionální", + "rekonstrukce", + "republika", + "restaurace", + "ret", + "reálný", + "režim", + "režisér", + "riziko", + "rodina", + "rodinný", + "rodič", + "roh", + "rok", + "role", + "román", + "rostlina", + "rovnice", + "rovnou", + "rovněž", + "rozdíl", + "rozdělit", + "rozhodnout", + "rozhodnutí", + "rozhodně", + "rozhodovat", + "rozhovor", + "rozměr", + "rozpočet", + "rozsah", + "rozsáhlý", + "rozumět", + "rozvoj", + "rozšířit", + "ročník", + "ruka", + "Rusko", + "ruský", + "ryba", + "rychle", + "rychlost", + "rychlý", + "rád", + "rámec", + "rána", + "ráno", + "růst", + "různý", + "s", + "samostatný", + "samotný", + "samozřejmě", + "samý", + "sbor", + "sbírka", + "schod", + "schopnost", + "schopný", + "scéna", + "sdružení", + "sdělit", + "se", + "sedm", + "sednout", + "sedět", + "sejít", + "sem", + "sen", + "seriál", + "sestra", + "setkat", + "setkání", + "severní", + "seznam", + "seznámit", + "sezona", + "sice", + "signál", + "silnice", + "silný", + "silně", + "situace", + "skladba", + "sklo", + "skončit", + "skoro", + "skrývat", + "skupina", + "skutečnost", + "skutečný", + "skutečně", + "skvělý", + "skála", + "slabý", + "slavný", + "sledovat", + "slečna", + "sloužit", + "Slovensko", + "slovenský", + "slovo", + "složitý", + "složka", + "slunce", + "sluneční", + "služba", + "slyšet", + "slza", + "smlouva", + "smrt", + "smysl", + "smát", + "smích", + "směr", + "smět", + "snad", + "snadno", + "snadný", + "snaha", + "snažit", + "sníh", + "snímek", + "snížit", + "sobota", + "sociální", + "sotva", + "soubor", + "soud", + "souhlasit", + "soukromý", + "soupeř", + "soused", + "soustava", + "soustředit", + "soutěž", + "souviset", + "souvislost", + "současnost", + "současný", + "současně", + "součást", + "spadnout", + "spatřit", + "specifický", + "speciální", + "spisovatel", + "splnit", + "spodní", + "spojení", + "spojený", + "spojit", + "spokojený", + "společenský", + "společnost", + "společný", + "společně", + "spolu", + "spolupráce", + "spor", + "sport", + "sportovní", + "spotřeba", + "spousta", + "spočívat", + "správa", + "správný", + "správně", + "spustit", + "spánek", + "spát", + "spíš", + "srdce", + "srovnání", + "srpen", + "stanice", + "stanovit", + "starat", + "starost", + "starosta", + "starý", + "stav", + "stavba", + "stavební", + "stavět", + "stačit", + "stejný", + "stejně", + "stihnout", + "sto", + "století", + "stopa", + "stovka", + "strach", + "strana", + "strategie", + "strašně", + "stroj", + "strom", + "struktura", + "stránka", + "strávit", + "student", + "studený", + "studie", + "studium", + "studovat", + "stupeň", + "styl", + "stáhnout", + "stále", + "stát", + "státní", + "stávat", + "stín", + "stěna", + "střecha", + "střední", + "stůl", + "suchý", + "svatý", + "svaz", + "svoboda", + "svobodný", + "svět", + "světlo", + "světový", + "svůj", + "symbol", + "syn", + "systém", + "sál", + "sám", + "série", + "síla", + "síť", + "sůl", + "tabulka", + "tady", + "tajemství", + "tajný", + "tak", + "takhle", + "takový", + "takto", + "taky", + "takzvaný", + "také", + "takže", + "tam", + "technický", + "technika", + "technologie", + "teda", + "tedy", + "tehdejší", + "tehdy", + "telefon", + "televize", + "televizní", + "temný", + "ten", + "tenhle", + "tenkrát", + "tento", + "tentokrát", + "tentýž", + "teorie", + "teplo", + "teplota", + "teplý", + "teprve", + "termín", + "test", + "text", + "teď", + "ticho", + "tichý", + "tisíc", + "titul", + "tiše", + "tlak", + "tlačítko", + "tma", + "tmavý", + "to", + "tolik", + "totiž", + "touha", + "toužit", + "tradice", + "tradiční", + "trasa", + "trať", + "trend", + "trenér", + "trest", + "trh", + "trochu", + "trpět", + "trvat", + "tráva", + "tu", + "turnaj", + "tušit", + "tvar", + "tvorba", + "tvořit", + "tvrdit", + "tvrdý", + "tvář", + "tvůj", + "ty", + "typ", + "typický", + "tábor", + "táhnout", + "táta", + "téma", + "téměř", + "též", + "tón", + "týden", + "týkat", + "tým", + "týž", + "tělo", + "těsně", + "těšit", + "těžko", + "těžký", + "třeba", + "třetina", + "třetí", + "tři", + "třicet", + "třída", + "u", + "ucho", + "udržet", + "udržovat", + "událost", + "udělat", + "ukazovat", + "ukázat", + "ulice", + "uložit", + "umožnit", + "umožňovat", + "umístit", + "umělec", + "umělecký", + "umělý", + "umění", + "umět", + "unie", + "univerzita", + "upozornit", + "uprostřed", + "určený", + "určit", + "určitý", + "určitě", + "uskutečnit", + "usmát", + "usmívat", + "utkání", + "utéci", + "uvažovat", + "uvedený", + "uvidět", + "uvnitř", + "uvádět", + "uvést", + "uvědomit", + "uvědomovat", + "uzavřít", + "učinit", + "učit", + "učitel", + "už", + "uživatel", + "užívat", + "v", + "vadit", + "varianta", + "vazba", + "vedení", + "vedle", + "vedoucí", + "vejít", + "velice", + "velikost", + "veliký", + "velký", + "velmi", + "ven", + "venku", + "verze", + "vesmír", + "vesnice", + "večer", + "večeře", + "veřejnost", + "veřejný", + "veškerý", + "vhodný", + "viditelný", + "vidět", + "vina", + "viset", + "viz", + "vlak", + "vlas", + "vlastnost", + "vlastní", + "vlastně", + "vliv", + "vlna", + "vloni", + "vláda", + "vnitřní", + "vnímat", + "vnější", + "voda", + "vodní", + "vojenský", + "voják", + "volat", + "volba", + "volit", + "volný", + "vozidlo", + "vracet", + "vrchol", + "vrstva", + "vrátit", + "vstoupit", + "vstup", + "vstát", + "vteřina", + "vy", + "vybavit", + "vybraný", + "vybrat", + "vybírat", + "vycházet", + "vydat", + "vydržet", + "vydání", + "vydávat", + "vyhnout", + "vyhrát", + "vyjádřit", + "vyjít", + "vypadat", + "vyprávět", + "vyrazit", + "vyrábět", + "vyskytovat", + "vysoko", + "vysoký", + "vystoupit", + "vystupovat", + "vysvětlit", + "vysvětlovat", + "vytvořit", + "vytvářet", + "vytáhnout", + "využití", + "využít", + "využívat", + "vyvolat", + "vyzkoušet", + "vyřešit", + "vyžadovat", + "vzduch", + "vzdálenost", + "vzdálený", + "vzdát", + "vzdělání", + "vzdělávání", + "vzhledem", + "vznik", + "vznikat", + "vzniknout", + "vzor", + "vzpomenout", + "vzpomínat", + "vzpomínka", + "vztah", + "vzájemný", + "vzít", + "váha", + "válka", + "Vánoce", + "vánoční", + "váš", + "vážný", + "vážně", + "vést", + "víc", + "více", + "víkend", + "víno", + "víra", + "vítr", + "vítěz", + "vítězství", + "výbor", + "výběr", + "východ", + "východní", + "výchova", + "výhoda", + "výjimka", + "výkon", + "výměna", + "výraz", + "výrazný", + "výrazně", + "výroba", + "výrobce", + "výrobek", + "výsledek", + "výstava", + "výstavba", + "vývoj", + "výzkum", + "význam", + "významný", + "výzva", + "výše", + "výška", + "včera", + "včetně", + "věc", + "věda", + "vědec", + "vědecký", + "vědomí", + "vědět", + "věk", + "věnovat", + "věta", + "větev", + "většina", + "většinou", + "vězení", + "věřit", + "věž", + "však", + "všechen", + "všimnout", + "všude", + "vůbec", + "vůle", + "vůně", + "vůz", + "vůči", + "vždy", + "vždycky", + "vždyť", + "z", + "za", + "zabránit", + "zabít", + "zabývat", + "zachovat", + "zachránit", + "zadní", + "zahrada", + "zahraniční", + "zahraničí", + "zahájit", + "zajistit", + "zajímat", + "zajímavý", + "zajít", + "zakázka", + "založit", + "zamířit", + "zaměstnanec", + "zaměřit", + "zaplatit", + "zapomenout", + "zas", + "zase", + "zasmát", + "zastavit", + "zasáhnout", + "zatím", + "zatímco", + "zaujmout", + "zavolat", + "zavést", + "zavřít", + "zaznamenat", + "začátek", + "začínat", + "začít", + "zařízení", + "zažít", + "zbavit", + "zboží", + "zbraň", + "zbytek", + "zbýt", + "zbývat", + "zcela", + "zda", + "zde", + "zdravotní", + "zdraví", + "zdravý", + "zdroj", + "zdát", + "zejména", + "zelený", + "země", + "zemřít", + "zeptat", + "zeď", + "zhruba", + "zima", + "zimní", + "zisk", + "zjistit", + "zkouška", + "zkrátka", + "zkusit", + "zkušenost", + "zlato", + "zlatý", + "zlý", + "zmizet", + "zmínit", + "zmíněný", + "změna", + "změnit", + "znak", + "znalost", + "znamenat", + "značka", + "značný", + "znovu", + "známý", + "znát", + "znít", + "zpravidla", + "zpráva", + "zpátky", + "zpívat", + "zpět", + "způsob", + "způsobit", + "zrovna", + "ztratit", + "ztrácet", + "ztráta", + "zub", + "zvednout", + "zvládnout", + "zvláštní", + "zvláště", + "zvlášť", + "zvolit", + "zvuk", + "zvyšovat", + "zvíře", + "zvýšení", + "zvýšit", + "záda", + "zájem", + "zákazník", + "základ", + "základní", + "zákon", + "záležet", + "záležitost", + "zámek", + "západ", + "západní", + "zápas", + "zároveň", + "zásada", + "zásadní", + "zásah", + "zástupce", + "závislost", + "závislý", + "závod", + "závěr", + "záznam", + "září", + "zážitek", + "získat", + "zítra", + "zřejmě", + "zůstat", + "zůstávat", + "údaj", + "úkol", + "únor", + "úplný", + "úplně", + "úprava", + "úroveň", + "úsek", + "úsměv", + "úspěch", + "úspěšný", + "ústa", + "ústav", + "útok", + "útočník", + "úvaha", + "území", + "úzký", + "účast", + "účastník", + "účel", + "účet", + "účinek", + "úřad", + "úžasný", + "čaj", + "čas", + "časopis", + "časový", + "často", + "častý", + "Čech", + "Čechy", + "čekat", + "čelo", + "černý", + "čerstvý", + "červen", + "červenec", + "červený", + "Česko", + "český", + "či", + "čin", + "činit", + "činnost", + "čistý", + "člen", + "člověk", + "článek", + "čtenář", + "čtvrtý", + "čtyři", + "část", + "částice", + "částka", + "Čína", + "čínský", + "číslo", + "číst", + "řada", + "ředitel", + "řeka", + "řeč", + "řešení", + "řešit", + "řidič", + "řád", + "říci", + "řídit", + "říjen", + "říkat", + "řízení", + "šance", + "šaty", + "šedý", + "šest", + "široký", + "škoda", + "škola", + "školní", + "špatný", + "špatně", + "štěstí", + "šéf", + "šťastný", + "že", + "žena", + "ženský", + "židle", + "život", + "životní", + "živý", + "žlutý", + "žádat", + "žádný", + "žádost", + "žák", + "žít", + ) diff --git a/faker/providers/lorem/el_GR/__init__.py b/faker/providers/lorem/el_GR/__init__.py index 194c20f12b..3a5bf77864 100644 --- a/faker/providers/lorem/el_GR/__init__.py +++ b/faker/providers/lorem/el_GR/__init__.py @@ -5,71 +5,387 @@ class Provider(LoremProvider): """Implement lorem provider for ``el_GR`` locale.""" common_words = ( - 'άρα', 'ένα', 'ένας', 'έξι', 'έτσι', 'έχω', 'ήδη', 'ίδιο', 'αν', 'ανά', - 'από', 'ας', 'για', 'δε', 'δεν', 'δύο', 'εγώ', 'εδώ', 'εκτός', 'επί', 'θα', - 'κάτι', 'και', 'κι', 'μέχρι', 'μα', 'μας', 'με', 'μη', 'μην', 'μια', 'μιας', - 'μου', 'να', 'ναι', 'ο', 'οι', 'πάντα', 'πάντως', 'πιο', 'πλέον', 'ποια', - 'πολύ', 'που', 'πως', 'σαν', 'σας', 'σε', 'σου', 'στα', 'στη', 'στις', - 'στο', 'τα', 'τη', 'την', 'της', 'τι', 'τις', 'το', 'τον', 'του', 'τους', - 'των', 'ως', 'όσο', 'όταν', 'ότι', 'όχι', + "άρα", + "ένα", + "ένας", + "έξι", + "έτσι", + "έχω", + "ήδη", + "ίδιο", + "αν", + "ανά", + "από", + "ας", + "για", + "δε", + "δεν", + "δύο", + "εγώ", + "εδώ", + "εκτός", + "επί", + "θα", + "κάτι", + "και", + "κι", + "μέχρι", + "μα", + "μας", + "με", + "μη", + "μην", + "μια", + "μιας", + "μου", + "να", + "ναι", + "ο", + "οι", + "πάντα", + "πάντως", + "πιο", + "πλέον", + "ποια", + "πολύ", + "που", + "πως", + "σαν", + "σας", + "σε", + "σου", + "στα", + "στη", + "στις", + "στο", + "τα", + "τη", + "την", + "της", + "τι", + "τις", + "το", + "τον", + "του", + "τους", + "των", + "ως", + "όσο", + "όταν", + "ότι", + "όχι", ) word_list = common_words * 2 + ( - 'άλγεβρα', 'άπειρα', 'άρα', 'άρθρων', 'άτομο', 'έγραψες', 'έλεγχος', - 'έξι', 'έρθει', 'έστειλε', 'έστελνε', 'έτοιμος', 'έτσι', - 'έχω', 'ήδη', 'ίδιο', 'αγοράζοντας', 'αθόρυβες', 'ακούσει', 'αλγόριθμου', - 'αναγκάζονται', 'ανακλύψεις', 'αναφέρονται', 'αναφορά', - 'ανεπιθύμητη', 'ανταγωνιστής', 'αντιλήφθηκαν', 'ανώδυνη', 'απίστευτα', - 'απαράδεκτη', 'απαραίτητο', 'απαρατήρητο', 'απλό', 'αποδείξεις', - 'αποθηκευτικού', 'αποκλειστικούς', 'απομόνωση', 'αποστηθίσει', - 'αποφάσισε', 'από', 'απόλαυσε', 'αρέσει', 'αρπάζεις', 'αρχεία', - 'ατόμου', 'αυτήν', 'αυτός', 'αφήσεις', 'βάζοντας', 'βαθμό', - 'βασανίζουν', 'βγήκε', 'βιαστικά', 'βιβλίο', 'βουτήξουν', 'βρίσκονται', - 'γέλασαν', 'γεγονός', 'γειτονιάς', 'γεύματος', 'για', 'γιαυτό', - 'γνωρίζουμε', 'γνωστή', 'γράψει', 'γραμμές', 'γραμμή', 'γραμμής', - 'γραφικά', 'δίνοντας', 'δε', 'δείξει', 'δεδομένων', 'δεν', - 'δημιουργήσεις', 'δημιουργείς', 'δημιουργια', 'διάβασε', 'διάσημα', - 'διαδίκτυο', 'διακοπή', 'διακοπής', 'διακόψουμε', 'διαπιστώνεις', - 'διασφαλίζεται', 'διαφήμιση', 'διαχειριστής', 'διευθυντές', 'διοικητικό', - 'διολισθήσεις', 'διορθώσει', 'διορθώσεις', 'δοκιμάσεις', 'δουλεύει', - 'δούλευε', 'δυστυχής', 'δυστυχώς', 'δωροδοκηθούν', 'δύο', 'είχαμε', - 'εγώ', 'εδώ', 'ειδικά', 'εικόνες', 'εκδόσεις', 'εκείνου', 'εκθέσεις', - 'εκτελέσει', 'εκτελέσεις', 'εκτελείται', 'εκτός', 'ελέγχου', 'εντολές', - 'εξακολουθεί', 'εξαρτάται', 'εξοργιστικά', 'επί', 'επενδυτής', - 'επεξεργασία', 'επιδιορθώσεις', 'επιδιόρθωση', 'επιστρέφουν', - 'επιχείριση', 'εργάστηκε', 'εργαζόμενοι', 'εργαζόμενων', 'εργαλείων', - 'εργασίας', 'εργοστασίου', 'ερωτήσεις', 'ερώτηση', 'εσωτερικών', - 'εταιρείες', 'ευκολότερο', 'εφαμοργής', 'εφαρμογή', 'εφαρμογής', - 'ζητήσεις', 'ημέρα', 'θέλεις', 'θέμα', 'θέματα', 'θυμάμαι', - 'ιδιαίτερα', 'κάνε', 'κάνεις', 'κάτι', 'και', 'καλύτερο', 'κανένας', - 'κανείς', 'κανόνα', 'καταλάθος', 'κειμένων', 'κι', 'κλπ', 'κοιτάζοντας', - 'κρατάει', 'κρατήσουν', 'κόλπα', 'κόψεις', 'κύκλο', 'κώδικάς', 'κώδικα', - 'λέει', 'λίγο', 'λαμβάνουν', 'λες', 'λετπά', 'λιγότερο', 'λοιπόν', 'μάθε', - 'μάλλον', 'μάτσο', 'μέγιστη', 'μέρος', 'μέσης', 'μέχρι', 'μαγικά', - 'μερικούς', 'μεταγλωτίσει', 'μεταγλωτιστής', - 'μεταφραστής', 'μετράει', 'μετρήσεις', 'μηχανής', - 'μπορούσες', 'μπουν', 'νέα', 'νέο', 'νέου', 'νέων', 'νιρβάνα', 'νόμιζες', - 'ξέχασε', 'ορίστε', 'πάντα', 'πάντως', 'πάρα', 'πάρεις', 'πήρε', 'παίξουν', - 'παίρνει', 'παίρνουν', 'πακέτων', 'παράγοντες', 'παράδειγμα', - 'παραγωγικής', 'παραδοτέου', 'παραδώσεις', 'παραπάνω', 'πεδία', - 'περίπου', 'περιβάλλον', 'περιβάλλοντος', 'περιεχόμενα', 'περιμένουν', - 'περισσότερες', 'περισσότερη', 'πες', 'πετάνε', 'πετάξαμε', 'πετούν', - 'πηγαίου', 'πιο', 'πλέον', 'ποια', 'πολύ', 'ποσοστό', 'που', - 'προβληματική', 'προγραμματιστές', 'προγραμματιστής', 'προκαλείς', - 'προκύπτουν', 'προσεκτικά', 'προσθέσει', 'προσλάμβανες', 'προσοχή', - 'προσπαθήσεις', 'προσπαθούν', 'προϊόντα', 'πρόσληψη', 'πρώτης', 'πρώτο', - 'πρώτοι', 'πόρτες', 'ροή', 'ρουτίνα', 'ρωτάει', 'ρωτήσει', - 'σίγουρος', 'σημαντικό', 'σημαντικός', 'σημεία', - 'σκεφτείς', 'σπίτι', 'στέλνοντάς', 'στήλες', 'σταματάς', - 'στραβά', 'συγγραφής', 'συγγραφείς', - 'συγκεντρωμένοι', 'συγχρόνως', 'συγχωνευτεί', 'συνάδελφος', 'συνέχεια', - 'συνεντεύξεις', 'συνεχώς', 'συνηθίζουν', 'σχεδιαστής', 'σωστά', - 'τέλειοι', 'τα', 'ταξινομεί', 'τεκμηριώνει', 'τελειώσει', 'τεσσαρών', - 'τοπικές', 'τρέξει', 'τρόπο', 'τρόποι', 'τύπου', 'τύπους', 'υπηρεσία', - 'υποψήφιο', 'υψηλότερη', 'υόρκη', 'φίλος', 'φαινόμενο', 'φακέλους', - 'φράση', 'χάος', 'χαμηλός', 'χαρακτηριστικό', 'χαρακτηριστικών', - 'χαρτιού', 'χειρότερα', 'χρειάζονται', 'χρησιμοποίησέ', - 'χρησιμοποιούνταν', 'χρησιμοποιούσες', 'χρησιμοποιώντας', - 'χρονοδιαγράμματα', 'χρονοδιαγράμματος', 'χρόνου', 'χώρου', 'ωραίο', - 'ύψος', 'ώρα', + "άλγεβρα", + "άπειρα", + "άρα", + "άρθρων", + "άτομο", + "έγραψες", + "έλεγχος", + "έξι", + "έρθει", + "έστειλε", + "έστελνε", + "έτοιμος", + "έτσι", + "έχω", + "ήδη", + "ίδιο", + "αγοράζοντας", + "αθόρυβες", + "ακούσει", + "αλγόριθμου", + "αναγκάζονται", + "ανακλύψεις", + "αναφέρονται", + "αναφορά", + "ανεπιθύμητη", + "ανταγωνιστής", + "αντιλήφθηκαν", + "ανώδυνη", + "απίστευτα", + "απαράδεκτη", + "απαραίτητο", + "απαρατήρητο", + "απλό", + "αποδείξεις", + "αποθηκευτικού", + "αποκλειστικούς", + "απομόνωση", + "αποστηθίσει", + "αποφάσισε", + "από", + "απόλαυσε", + "αρέσει", + "αρπάζεις", + "αρχεία", + "ατόμου", + "αυτήν", + "αυτός", + "αφήσεις", + "βάζοντας", + "βαθμό", + "βασανίζουν", + "βγήκε", + "βιαστικά", + "βιβλίο", + "βουτήξουν", + "βρίσκονται", + "γέλασαν", + "γεγονός", + "γειτονιάς", + "γεύματος", + "για", + "γιαυτό", + "γνωρίζουμε", + "γνωστή", + "γράψει", + "γραμμές", + "γραμμή", + "γραμμής", + "γραφικά", + "δίνοντας", + "δε", + "δείξει", + "δεδομένων", + "δεν", + "δημιουργήσεις", + "δημιουργείς", + "δημιουργια", + "διάβασε", + "διάσημα", + "διαδίκτυο", + "διακοπή", + "διακοπής", + "διακόψουμε", + "διαπιστώνεις", + "διασφαλίζεται", + "διαφήμιση", + "διαχειριστής", + "διευθυντές", + "διοικητικό", + "διολισθήσεις", + "διορθώσει", + "διορθώσεις", + "δοκιμάσεις", + "δουλεύει", + "δούλευε", + "δυστυχής", + "δυστυχώς", + "δωροδοκηθούν", + "δύο", + "είχαμε", + "εγώ", + "εδώ", + "ειδικά", + "εικόνες", + "εκδόσεις", + "εκείνου", + "εκθέσεις", + "εκτελέσει", + "εκτελέσεις", + "εκτελείται", + "εκτός", + "ελέγχου", + "εντολές", + "εξακολουθεί", + "εξαρτάται", + "εξοργιστικά", + "επί", + "επενδυτής", + "επεξεργασία", + "επιδιορθώσεις", + "επιδιόρθωση", + "επιστρέφουν", + "επιχείριση", + "εργάστηκε", + "εργαζόμενοι", + "εργαζόμενων", + "εργαλείων", + "εργασίας", + "εργοστασίου", + "ερωτήσεις", + "ερώτηση", + "εσωτερικών", + "εταιρείες", + "ευκολότερο", + "εφαμοργής", + "εφαρμογή", + "εφαρμογής", + "ζητήσεις", + "ημέρα", + "θέλεις", + "θέμα", + "θέματα", + "θυμάμαι", + "ιδιαίτερα", + "κάνε", + "κάνεις", + "κάτι", + "και", + "καλύτερο", + "κανένας", + "κανείς", + "κανόνα", + "καταλάθος", + "κειμένων", + "κι", + "κλπ", + "κοιτάζοντας", + "κρατάει", + "κρατήσουν", + "κόλπα", + "κόψεις", + "κύκλο", + "κώδικάς", + "κώδικα", + "λέει", + "λίγο", + "λαμβάνουν", + "λες", + "λετπά", + "λιγότερο", + "λοιπόν", + "μάθε", + "μάλλον", + "μάτσο", + "μέγιστη", + "μέρος", + "μέσης", + "μέχρι", + "μαγικά", + "μερικούς", + "μεταγλωτίσει", + "μεταγλωτιστής", + "μεταφραστής", + "μετράει", + "μετρήσεις", + "μηχανής", + "μπορούσες", + "μπουν", + "νέα", + "νέο", + "νέου", + "νέων", + "νιρβάνα", + "νόμιζες", + "ξέχασε", + "ορίστε", + "πάντα", + "πάντως", + "πάρα", + "πάρεις", + "πήρε", + "παίξουν", + "παίρνει", + "παίρνουν", + "πακέτων", + "παράγοντες", + "παράδειγμα", + "παραγωγικής", + "παραδοτέου", + "παραδώσεις", + "παραπάνω", + "πεδία", + "περίπου", + "περιβάλλον", + "περιβάλλοντος", + "περιεχόμενα", + "περιμένουν", + "περισσότερες", + "περισσότερη", + "πες", + "πετάνε", + "πετάξαμε", + "πετούν", + "πηγαίου", + "πιο", + "πλέον", + "ποια", + "πολύ", + "ποσοστό", + "που", + "προβληματική", + "προγραμματιστές", + "προγραμματιστής", + "προκαλείς", + "προκύπτουν", + "προσεκτικά", + "προσθέσει", + "προσλάμβανες", + "προσοχή", + "προσπαθήσεις", + "προσπαθούν", + "προϊόντα", + "πρόσληψη", + "πρώτης", + "πρώτο", + "πρώτοι", + "πόρτες", + "ροή", + "ρουτίνα", + "ρωτάει", + "ρωτήσει", + "σίγουρος", + "σημαντικό", + "σημαντικός", + "σημεία", + "σκεφτείς", + "σπίτι", + "στέλνοντάς", + "στήλες", + "σταματάς", + "στραβά", + "συγγραφής", + "συγγραφείς", + "συγκεντρωμένοι", + "συγχρόνως", + "συγχωνευτεί", + "συνάδελφος", + "συνέχεια", + "συνεντεύξεις", + "συνεχώς", + "συνηθίζουν", + "σχεδιαστής", + "σωστά", + "τέλειοι", + "τα", + "ταξινομεί", + "τεκμηριώνει", + "τελειώσει", + "τεσσαρών", + "τοπικές", + "τρέξει", + "τρόπο", + "τρόποι", + "τύπου", + "τύπους", + "υπηρεσία", + "υποψήφιο", + "υψηλότερη", + "υόρκη", + "φίλος", + "φαινόμενο", + "φακέλους", + "φράση", + "χάος", + "χαμηλός", + "χαρακτηριστικό", + "χαρακτηριστικών", + "χαρτιού", + "χειρότερα", + "χρειάζονται", + "χρησιμοποίησέ", + "χρησιμοποιούνταν", + "χρησιμοποιούσες", + "χρησιμοποιώντας", + "χρονοδιαγράμματα", + "χρονοδιαγράμματος", + "χρόνου", + "χώρου", + "ωραίο", + "ύψος", + "ώρα", ) diff --git a/faker/providers/lorem/en_PH/__init__.py b/faker/providers/lorem/en_PH/__init__.py index 47457721b3..f0fa7c42d1 100644 --- a/faker/providers/lorem/en_PH/__init__.py +++ b/faker/providers/lorem/en_PH/__init__.py @@ -1,3 +1,5 @@ +from typing import List + from ..en_US import Provider as EnUsProvider from ..la import Provider as LoremProvider @@ -20,11 +22,11 @@ class Provider(LoremProvider): english_word_list = EnUsProvider.word_list - def english_word(self): + def english_word(self) -> str: """Generate an English word.""" return self.word(self.english_word_list) - def english_words(self, nb=3, unique=False): + def english_words(self, nb: int = 3, unique: bool = False) -> List[str]: """Generate a list of English words. :sample: nb=5 @@ -32,7 +34,7 @@ def english_words(self, nb=3, unique=False): """ return self.words(nb, self.english_word_list, unique) - def english_sentence(self, nb_words=6, variable_nb_words=True): + def english_sentence(self, nb_words: int = 6, variable_nb_words: bool = True) -> str: """Generate a sentence in English. :sample: nb_words=10 @@ -40,14 +42,14 @@ def english_sentence(self, nb_words=6, variable_nb_words=True): """ return self.sentence(nb_words, variable_nb_words, self.english_word_list) - def english_sentences(self, nb=3): + def english_sentences(self, nb: int = 3) -> List[str]: """Generate a list of sentences in English. :sample: nb=5 """ return self.sentences(nb, self.english_word_list) - def english_paragraph(self, nb_sentences=3, variable_nb_sentences=True): + def english_paragraph(self, nb_sentences: int = 3, variable_nb_sentences: bool = True) -> str: """Generate a paragraph in English. :sample: nb_sentences=5 @@ -55,14 +57,14 @@ def english_paragraph(self, nb_sentences=3, variable_nb_sentences=True): """ return self.paragraph(nb_sentences, variable_nb_sentences, self.english_word_list) - def english_paragraphs(self, nb=3): + def english_paragraphs(self, nb: int = 3) -> List[str]: """Generate a list of paragraphs in English. :sample: nb=5 """ return self.paragraphs(nb, self.english_word_list) - def english_text(self, max_nb_chars=200): + def english_text(self, max_nb_chars: int = 200) -> str: """Generate a text string in English. :sample: max_nb_chars=20 @@ -71,7 +73,7 @@ def english_text(self, max_nb_chars=200): """ return self.text(max_nb_chars, self.english_word_list) - def english_texts(self, nb_texts=3, max_nb_chars=200): + def english_texts(self, nb_texts: int = 3, max_nb_chars: int = 200) -> List[str]: """Generate a list of text strings in English. :sample: nb_texts=5 diff --git a/faker/providers/lorem/en_US/__init__.py b/faker/providers/lorem/en_US/__init__.py index 833c5bb36a..a05036091b 100644 --- a/faker/providers/lorem/en_US/__init__.py +++ b/faker/providers/lorem/en_US/__init__.py @@ -13,975 +13,975 @@ class Provider(LoremProvider): """ word_list = ( - 'a', - 'ability', - 'able', - 'about', - 'above', - 'accept', - 'according', - 'account', - 'across', - 'act', - 'action', - 'activity', - 'actually', - 'add', - 'address', - 'administration', - 'admit', - 'adult', - 'affect', - 'after', - 'again', - 'against', - 'age', - 'agency', - 'agent', - 'ago', - 'agree', - 'agreement', - 'ahead', - 'air', - 'all', - 'allow', - 'almost', - 'alone', - 'along', - 'already', - 'also', - 'although', - 'always', - 'American', - 'among', - 'amount', - 'analysis', - 'and', - 'animal', - 'another', - 'answer', - 'any', - 'anyone', - 'anything', - 'appear', - 'apply', - 'approach', - 'area', - 'argue', - 'arm', - 'around', - 'arrive', - 'art', - 'article', - 'artist', - 'as', - 'ask', - 'assume', - 'at', - 'attack', - 'attention', - 'attorney', - 'audience', - 'author', - 'authority', - 'available', - 'avoid', - 'away', - 'baby', - 'back', - 'bad', - 'bag', - 'ball', - 'bank', - 'bar', - 'base', - 'be', - 'beat', - 'beautiful', - 'because', - 'become', - 'bed', - 'before', - 'begin', - 'behavior', - 'behind', - 'believe', - 'benefit', - 'best', - 'better', - 'between', - 'beyond', - 'big', - 'bill', - 'billion', - 'bit', - 'black', - 'blood', - 'blue', - 'board', - 'body', - 'book', - 'born', - 'both', - 'box', - 'boy', - 'break', - 'bring', - 'brother', - 'budget', - 'build', - 'building', - 'business', - 'but', - 'buy', - 'by', - 'call', - 'camera', - 'campaign', - 'can', - 'candidate', - 'capital', - 'car', - 'card', - 'care', - 'career', - 'carry', - 'case', - 'catch', - 'cause', - 'cell', - 'center', - 'central', - 'century', - 'certain', - 'certainly', - 'chair', - 'challenge', - 'chance', - 'change', - 'character', - 'charge', - 'check', - 'child', - 'choice', - 'choose', - 'church', - 'citizen', - 'city', - 'civil', - 'claim', - 'class', - 'clear', - 'clearly', - 'close', - 'coach', - 'cold', - 'collection', - 'college', - 'color', - 'commercial', - 'common', - 'community', - 'company', - 'compare', - 'computer', - 'concern', - 'condition', - 'conference', - 'Congress', - 'consider', - 'consumer', - 'contain', - 'continue', - 'control', - 'cost', - 'could', - 'country', - 'couple', - 'course', - 'court', - 'cover', - 'create', - 'crime', - 'cultural', - 'culture', - 'cup', - 'current', - 'customer', - 'cut', - 'dark', - 'data', - 'daughter', - 'day', - 'deal', - 'debate', - 'decade', - 'decide', - 'decision', - 'deep', - 'defense', - 'degree', - 'Democrat', - 'democratic', - 'describe', - 'design', - 'despite', - 'detail', - 'determine', - 'develop', - 'development', - 'difference', - 'different', - 'difficult', - 'dinner', - 'direction', - 'director', - 'discover', - 'discuss', - 'discussion', - 'do', - 'doctor', - 'dog', - 'door', - 'down', - 'draw', - 'dream', - 'drive', - 'drop', - 'drug', - 'during', - 'each', - 'early', - 'east', - 'easy', - 'eat', - 'economic', - 'economy', - 'edge', - 'education', - 'effect', - 'effort', - 'eight', - 'either', - 'election', - 'else', - 'employee', - 'end', - 'energy', - 'enjoy', - 'enough', - 'enter', - 'entire', - 'environment', - 'environmental', - 'especially', - 'establish', - 'even', - 'evening', - 'event', - 'ever', - 'every', - 'everybody', - 'everyone', - 'everything', - 'evidence', - 'exactly', - 'example', - 'executive', - 'exist', - 'expect', - 'experience', - 'expert', - 'explain', - 'eye', - 'face', - 'fact', - 'factor', - 'fall', - 'family', - 'far', - 'fast', - 'father', - 'fear', - 'federal', - 'feel', - 'feeling', - 'few', - 'field', - 'fight', - 'figure', - 'fill', - 'film', - 'final', - 'finally', - 'financial', - 'find', - 'fine', - 'finish', - 'fire', - 'firm', - 'first', - 'fish', - 'five', - 'floor', - 'fly', - 'focus', - 'follow', - 'food', - 'foot', - 'for', - 'force', - 'foreign', - 'forget', - 'form', - 'former', - 'forward', - 'four', - 'free', - 'friend', - 'from', - 'front', - 'full', - 'fund', - 'future', - 'game', - 'garden', - 'gas', - 'general', - 'generation', - 'get', - 'girl', - 'give', - 'glass', - 'go', - 'goal', - 'good', - 'government', - 'great', - 'green', - 'ground', - 'group', - 'grow', - 'growth', - 'guess', - 'gun', - 'guy', - 'hair', - 'half', - 'hand', - 'happen', - 'happy', - 'hard', - 'have', - 'he', - 'head', - 'health', - 'hear', - 'heart', - 'heavy', - 'help', - 'her', - 'here', - 'herself', - 'high', - 'him', - 'himself', - 'his', - 'history', - 'hit', - 'hold', - 'home', - 'hope', - 'hospital', - 'hot', - 'hotel', - 'hour', - 'house', - 'how', - 'however', - 'huge', - 'human', - 'hundred', - 'husband', - 'I', - 'idea', - 'identify', - 'if', - 'image', - 'imagine', - 'impact', - 'important', - 'improve', - 'in', - 'include', - 'including', - 'increase', - 'indeed', - 'indicate', - 'individual', - 'industry', - 'information', - 'inside', - 'instead', - 'institution', - 'interest', - 'interesting', - 'international', - 'interview', - 'into', - 'investment', - 'involve', - 'issue', - 'it', - 'item', - 'its', - 'itself', - 'job', - 'join', - 'just', - 'keep', - 'key', - 'kid', - 'kind', - 'kitchen', - 'know', - 'knowledge', - 'land', - 'language', - 'large', - 'last', - 'late', - 'later', - 'laugh', - 'law', - 'lawyer', - 'lay', - 'lead', - 'leader', - 'learn', - 'least', - 'leave', - 'left', - 'leg', - 'less', - 'let', - 'letter', - 'level', - 'life', - 'light', - 'like', - 'likely', - 'line', - 'list', - 'listen', - 'little', - 'live', - 'local', - 'long', - 'look', - 'lose', - 'loss', - 'lot', - 'low', - 'machine', - 'magazine', - 'main', - 'maintain', - 'major', - 'majority', - 'make', - 'man', - 'manage', - 'management', - 'manager', - 'many', - 'market', - 'marriage', - 'material', - 'matter', - 'may', - 'maybe', - 'me', - 'mean', - 'measure', - 'media', - 'medical', - 'meet', - 'meeting', - 'member', - 'memory', - 'mention', - 'message', - 'method', - 'middle', - 'might', - 'military', - 'million', - 'mind', - 'minute', - 'miss', - 'mission', - 'model', - 'modern', - 'moment', - 'money', - 'month', - 'more', - 'morning', - 'most', - 'mother', - 'mouth', - 'move', - 'movement', - 'movie', - 'Mr', - 'Mrs', - 'much', - 'music', - 'must', - 'my', - 'myself', - 'name', - 'nation', - 'national', - 'natural', - 'nature', - 'near', - 'nearly', - 'necessary', - 'need', - 'network', - 'never', - 'new', - 'news', - 'newspaper', - 'next', - 'nice', - 'night', - 'no', - 'none', - 'nor', - 'north', - 'not', - 'note', - 'nothing', - 'notice', - 'now', - 'number', - 'occur', - 'of', - 'off', - 'offer', - 'office', - 'officer', - 'official', - 'often', - 'oil', - 'ok', - 'old', - 'on', - 'once', - 'one', - 'only', - 'onto', - 'open', - 'operation', - 'opportunity', - 'option', - 'or', - 'order', - 'organization', - 'other', - 'others', - 'our', - 'out', - 'outside', - 'over', - 'own', - 'owner', - 'page', - 'painting', - 'paper', - 'parent', - 'part', - 'participant', - 'particular', - 'particularly', - 'partner', - 'party', - 'pass', - 'past', - 'pattern', - 'pay', - 'peace', - 'people', - 'per', - 'perform', - 'performance', - 'perhaps', - 'person', - 'personal', - 'phone', - 'physical', - 'pick', - 'picture', - 'piece', - 'place', - 'plan', - 'plant', - 'play', - 'player', - 'PM', - 'point', - 'police', - 'policy', - 'political', - 'politics', - 'poor', - 'popular', - 'population', - 'position', - 'positive', - 'possible', - 'power', - 'practice', - 'prepare', - 'present', - 'president', - 'pressure', - 'pretty', - 'prevent', - 'price', - 'probably', - 'process', - 'produce', - 'product', - 'production', - 'professional', - 'professor', - 'program', - 'project', - 'property', - 'protect', - 'prove', - 'provide', - 'public', - 'pull', - 'purpose', - 'push', - 'put', - 'quality', - 'question', - 'quickly', - 'quite', - 'race', - 'radio', - 'raise', - 'range', - 'rate', - 'rather', - 'reach', - 'read', - 'ready', - 'real', - 'reality', - 'realize', - 'really', - 'reason', - 'receive', - 'recent', - 'recently', - 'recognize', - 'record', - 'red', - 'reduce', - 'reflect', - 'region', - 'relate', - 'relationship', - 'religious', - 'remain', - 'remember', - 'report', - 'represent', - 'Republican', - 'require', - 'research', - 'resource', - 'respond', - 'response', - 'responsibility', - 'rest', - 'result', - 'return', - 'reveal', - 'rich', - 'right', - 'rise', - 'risk', - 'road', - 'rock', - 'role', - 'room', - 'rule', - 'run', - 'safe', - 'same', - 'save', - 'say', - 'scene', - 'school', - 'science', - 'scientist', - 'score', - 'sea', - 'season', - 'seat', - 'second', - 'section', - 'security', - 'see', - 'seek', - 'seem', - 'sell', - 'send', - 'senior', - 'sense', - 'series', - 'serious', - 'serve', - 'service', - 'set', - 'seven', - 'several', - 'shake', - 'share', - 'she', - 'short', - 'should', - 'shoulder', - 'show', - 'side', - 'sign', - 'significant', - 'similar', - 'simple', - 'simply', - 'since', - 'sing', - 'single', - 'sister', - 'sit', - 'site', - 'situation', - 'six', - 'size', - 'skill', - 'skin', - 'small', - 'smile', - 'so', - 'social', - 'society', - 'soldier', - 'some', - 'somebody', - 'someone', - 'something', - 'sometimes', - 'son', - 'song', - 'soon', - 'sort', - 'sound', - 'source', - 'south', - 'southern', - 'space', - 'speak', - 'special', - 'specific', - 'speech', - 'spend', - 'sport', - 'spring', - 'staff', - 'stage', - 'stand', - 'standard', - 'star', - 'start', - 'state', - 'statement', - 'station', - 'stay', - 'step', - 'still', - 'stock', - 'stop', - 'store', - 'story', - 'strategy', - 'street', - 'strong', - 'structure', - 'student', - 'study', - 'stuff', - 'style', - 'subject', - 'success', - 'successful', - 'such', - 'suddenly', - 'suffer', - 'suggest', - 'summer', - 'support', - 'sure', - 'surface', - 'system', - 'table', - 'take', - 'talk', - 'task', - 'tax', - 'teach', - 'teacher', - 'team', - 'technology', - 'television', - 'tell', - 'ten', - 'tend', - 'term', - 'test', - 'than', - 'thank', - 'that', - 'the', - 'their', - 'them', - 'themselves', - 'then', - 'theory', - 'there', - 'these', - 'they', - 'thing', - 'think', - 'third', - 'this', - 'those', - 'though', - 'thought', - 'thousand', - 'threat', - 'three', - 'through', - 'throughout', - 'throw', - 'thus', - 'time', - 'to', - 'today', - 'together', - 'tonight', - 'too', - 'top', - 'total', - 'tough', - 'toward', - 'town', - 'trade', - 'traditional', - 'training', - 'travel', - 'treat', - 'treatment', - 'tree', - 'trial', - 'trip', - 'trouble', - 'true', - 'truth', - 'try', - 'turn', - 'TV', - 'two', - 'type', - 'under', - 'understand', - 'unit', - 'until', - 'up', - 'upon', - 'us', - 'use', - 'usually', - 'value', - 'various', - 'very', - 'view', - 'visit', - 'voice', - 'vote', - 'wait', - 'walk', - 'wall', - 'want', - 'war', - 'watch', - 'water', - 'way', - 'we', - 'wear', - 'week', - 'weight', - 'well', - 'west', - 'western', - 'what', - 'whatever', - 'when', - 'where', - 'whether', - 'which', - 'while', - 'white', - 'who', - 'whole', - 'whom', - 'whose', - 'why', - 'wide', - 'wife', - 'will', - 'win', - 'wind', - 'window', - 'wish', - 'with', - 'within', - 'without', - 'woman', - 'wonder', - 'word', - 'work', - 'worker', - 'world', - 'worry', - 'would', - 'write', - 'writer', - 'wrong', - 'yard', - 'yeah', - 'year', - 'yes', - 'yet', - 'you', - 'young', - 'your', - 'yourself', + "a", + "ability", + "able", + "about", + "above", + "accept", + "according", + "account", + "across", + "act", + "action", + "activity", + "actually", + "add", + "address", + "administration", + "admit", + "adult", + "affect", + "after", + "again", + "against", + "age", + "agency", + "agent", + "ago", + "agree", + "agreement", + "ahead", + "air", + "all", + "allow", + "almost", + "alone", + "along", + "already", + "also", + "although", + "always", + "American", + "among", + "amount", + "analysis", + "and", + "animal", + "another", + "answer", + "any", + "anyone", + "anything", + "appear", + "apply", + "approach", + "area", + "argue", + "arm", + "around", + "arrive", + "art", + "article", + "artist", + "as", + "ask", + "assume", + "at", + "attack", + "attention", + "attorney", + "audience", + "author", + "authority", + "available", + "avoid", + "away", + "baby", + "back", + "bad", + "bag", + "ball", + "bank", + "bar", + "base", + "be", + "beat", + "beautiful", + "because", + "become", + "bed", + "before", + "begin", + "behavior", + "behind", + "believe", + "benefit", + "best", + "better", + "between", + "beyond", + "big", + "bill", + "billion", + "bit", + "black", + "blood", + "blue", + "board", + "body", + "book", + "born", + "both", + "box", + "boy", + "break", + "bring", + "brother", + "budget", + "build", + "building", + "business", + "but", + "buy", + "by", + "call", + "camera", + "campaign", + "can", + "candidate", + "capital", + "car", + "card", + "care", + "career", + "carry", + "case", + "catch", + "cause", + "cell", + "center", + "central", + "century", + "certain", + "certainly", + "chair", + "challenge", + "chance", + "change", + "character", + "charge", + "check", + "child", + "choice", + "choose", + "church", + "citizen", + "city", + "civil", + "claim", + "class", + "clear", + "clearly", + "close", + "coach", + "cold", + "collection", + "college", + "color", + "commercial", + "common", + "community", + "company", + "compare", + "computer", + "concern", + "condition", + "conference", + "Congress", + "consider", + "consumer", + "contain", + "continue", + "control", + "cost", + "could", + "country", + "couple", + "course", + "court", + "cover", + "create", + "crime", + "cultural", + "culture", + "cup", + "current", + "customer", + "cut", + "dark", + "data", + "daughter", + "day", + "deal", + "debate", + "decade", + "decide", + "decision", + "deep", + "defense", + "degree", + "Democrat", + "democratic", + "describe", + "design", + "despite", + "detail", + "determine", + "develop", + "development", + "difference", + "different", + "difficult", + "dinner", + "direction", + "director", + "discover", + "discuss", + "discussion", + "do", + "doctor", + "dog", + "door", + "down", + "draw", + "dream", + "drive", + "drop", + "drug", + "during", + "each", + "early", + "east", + "easy", + "eat", + "economic", + "economy", + "edge", + "education", + "effect", + "effort", + "eight", + "either", + "election", + "else", + "employee", + "end", + "energy", + "enjoy", + "enough", + "enter", + "entire", + "environment", + "environmental", + "especially", + "establish", + "even", + "evening", + "event", + "ever", + "every", + "everybody", + "everyone", + "everything", + "evidence", + "exactly", + "example", + "executive", + "exist", + "expect", + "experience", + "expert", + "explain", + "eye", + "face", + "fact", + "factor", + "fall", + "family", + "far", + "fast", + "father", + "fear", + "federal", + "feel", + "feeling", + "few", + "field", + "fight", + "figure", + "fill", + "film", + "final", + "finally", + "financial", + "find", + "fine", + "finish", + "fire", + "firm", + "first", + "fish", + "five", + "floor", + "fly", + "focus", + "follow", + "food", + "foot", + "for", + "force", + "foreign", + "forget", + "form", + "former", + "forward", + "four", + "free", + "friend", + "from", + "front", + "full", + "fund", + "future", + "game", + "garden", + "gas", + "general", + "generation", + "get", + "girl", + "give", + "glass", + "go", + "goal", + "good", + "government", + "great", + "green", + "ground", + "group", + "grow", + "growth", + "guess", + "gun", + "guy", + "hair", + "half", + "hand", + "happen", + "happy", + "hard", + "have", + "he", + "head", + "health", + "hear", + "heart", + "heavy", + "help", + "her", + "here", + "herself", + "high", + "him", + "himself", + "his", + "history", + "hit", + "hold", + "home", + "hope", + "hospital", + "hot", + "hotel", + "hour", + "house", + "how", + "however", + "huge", + "human", + "hundred", + "husband", + "I", + "idea", + "identify", + "if", + "image", + "imagine", + "impact", + "important", + "improve", + "in", + "include", + "including", + "increase", + "indeed", + "indicate", + "individual", + "industry", + "information", + "inside", + "instead", + "institution", + "interest", + "interesting", + "international", + "interview", + "into", + "investment", + "involve", + "issue", + "it", + "item", + "its", + "itself", + "job", + "join", + "just", + "keep", + "key", + "kid", + "kind", + "kitchen", + "know", + "knowledge", + "land", + "language", + "large", + "last", + "late", + "later", + "laugh", + "law", + "lawyer", + "lay", + "lead", + "leader", + "learn", + "least", + "leave", + "left", + "leg", + "less", + "let", + "letter", + "level", + "life", + "light", + "like", + "likely", + "line", + "list", + "listen", + "little", + "live", + "local", + "long", + "look", + "lose", + "loss", + "lot", + "low", + "machine", + "magazine", + "main", + "maintain", + "major", + "majority", + "make", + "man", + "manage", + "management", + "manager", + "many", + "market", + "marriage", + "material", + "matter", + "may", + "maybe", + "me", + "mean", + "measure", + "media", + "medical", + "meet", + "meeting", + "member", + "memory", + "mention", + "message", + "method", + "middle", + "might", + "military", + "million", + "mind", + "minute", + "miss", + "mission", + "model", + "modern", + "moment", + "money", + "month", + "more", + "morning", + "most", + "mother", + "mouth", + "move", + "movement", + "movie", + "Mr", + "Mrs", + "much", + "music", + "must", + "my", + "myself", + "name", + "nation", + "national", + "natural", + "nature", + "near", + "nearly", + "necessary", + "need", + "network", + "never", + "new", + "news", + "newspaper", + "next", + "nice", + "night", + "no", + "none", + "nor", + "north", + "not", + "note", + "nothing", + "notice", + "now", + "number", + "occur", + "of", + "off", + "offer", + "office", + "officer", + "official", + "often", + "oil", + "ok", + "old", + "on", + "once", + "one", + "only", + "onto", + "open", + "operation", + "opportunity", + "option", + "or", + "order", + "organization", + "other", + "others", + "our", + "out", + "outside", + "over", + "own", + "owner", + "page", + "painting", + "paper", + "parent", + "part", + "participant", + "particular", + "particularly", + "partner", + "party", + "pass", + "past", + "pattern", + "pay", + "peace", + "people", + "per", + "perform", + "performance", + "perhaps", + "person", + "personal", + "phone", + "physical", + "pick", + "picture", + "piece", + "place", + "plan", + "plant", + "play", + "player", + "PM", + "point", + "police", + "policy", + "political", + "politics", + "poor", + "popular", + "population", + "position", + "positive", + "possible", + "power", + "practice", + "prepare", + "present", + "president", + "pressure", + "pretty", + "prevent", + "price", + "probably", + "process", + "produce", + "product", + "production", + "professional", + "professor", + "program", + "project", + "property", + "protect", + "prove", + "provide", + "public", + "pull", + "purpose", + "push", + "put", + "quality", + "question", + "quickly", + "quite", + "race", + "radio", + "raise", + "range", + "rate", + "rather", + "reach", + "read", + "ready", + "real", + "reality", + "realize", + "really", + "reason", + "receive", + "recent", + "recently", + "recognize", + "record", + "red", + "reduce", + "reflect", + "region", + "relate", + "relationship", + "religious", + "remain", + "remember", + "report", + "represent", + "Republican", + "require", + "research", + "resource", + "respond", + "response", + "responsibility", + "rest", + "result", + "return", + "reveal", + "rich", + "right", + "rise", + "risk", + "road", + "rock", + "role", + "room", + "rule", + "run", + "safe", + "same", + "save", + "say", + "scene", + "school", + "science", + "scientist", + "score", + "sea", + "season", + "seat", + "second", + "section", + "security", + "see", + "seek", + "seem", + "sell", + "send", + "senior", + "sense", + "series", + "serious", + "serve", + "service", + "set", + "seven", + "several", + "shake", + "share", + "she", + "short", + "should", + "shoulder", + "show", + "side", + "sign", + "significant", + "similar", + "simple", + "simply", + "since", + "sing", + "single", + "sister", + "sit", + "site", + "situation", + "six", + "size", + "skill", + "skin", + "small", + "smile", + "so", + "social", + "society", + "soldier", + "some", + "somebody", + "someone", + "something", + "sometimes", + "son", + "song", + "soon", + "sort", + "sound", + "source", + "south", + "southern", + "space", + "speak", + "special", + "specific", + "speech", + "spend", + "sport", + "spring", + "staff", + "stage", + "stand", + "standard", + "star", + "start", + "state", + "statement", + "station", + "stay", + "step", + "still", + "stock", + "stop", + "store", + "story", + "strategy", + "street", + "strong", + "structure", + "student", + "study", + "stuff", + "style", + "subject", + "success", + "successful", + "such", + "suddenly", + "suffer", + "suggest", + "summer", + "support", + "sure", + "surface", + "system", + "table", + "take", + "talk", + "task", + "tax", + "teach", + "teacher", + "team", + "technology", + "television", + "tell", + "ten", + "tend", + "term", + "test", + "than", + "thank", + "that", + "the", + "their", + "them", + "themselves", + "then", + "theory", + "there", + "these", + "they", + "thing", + "think", + "third", + "this", + "those", + "though", + "thought", + "thousand", + "threat", + "three", + "through", + "throughout", + "throw", + "thus", + "time", + "to", + "today", + "together", + "tonight", + "too", + "top", + "total", + "tough", + "toward", + "town", + "trade", + "traditional", + "training", + "travel", + "treat", + "treatment", + "tree", + "trial", + "trip", + "trouble", + "true", + "truth", + "try", + "turn", + "TV", + "two", + "type", + "under", + "understand", + "unit", + "until", + "up", + "upon", + "us", + "use", + "usually", + "value", + "various", + "very", + "view", + "visit", + "voice", + "vote", + "wait", + "walk", + "wall", + "want", + "war", + "watch", + "water", + "way", + "we", + "wear", + "week", + "weight", + "well", + "west", + "western", + "what", + "whatever", + "when", + "where", + "whether", + "which", + "while", + "white", + "who", + "whole", + "whom", + "whose", + "why", + "wide", + "wife", + "will", + "win", + "wind", + "window", + "wish", + "with", + "within", + "without", + "woman", + "wonder", + "word", + "work", + "worker", + "world", + "worry", + "would", + "write", + "writer", + "wrong", + "yard", + "yeah", + "year", + "yes", + "yet", + "you", + "young", + "your", + "yourself", ) diff --git a/faker/providers/lorem/fil_PH/__init__.py b/faker/providers/lorem/fil_PH/__init__.py index 48911974d7..af6dc62dd5 100644 --- a/faker/providers/lorem/fil_PH/__init__.py +++ b/faker/providers/lorem/fil_PH/__init__.py @@ -13,60 +13,623 @@ class Provider(LoremProvider): """ word_list = ( - 'abo', 'abot', 'aga', 'agham', 'akin', 'aklat', 'ako', 'akyat', 'alam', 'alang-alang', 'alikabok', 'alin', - 'alok', 'alon', 'ama', 'amin', 'amoy', 'anak', 'ang', 'angkop', 'anim', 'ano', 'antas', 'apat', 'aral', 'araw', - 'ari-arian', 'asa', 'asawa', 'asin', 'aso', 'asukal', 'asul', 'at', 'atin', 'away', 'ay', 'ayos', 'baba', - 'babae', 'babaw', 'bagal', 'bagaman', 'bagay', 'bago', 'bagyo', 'bahagi', 'bahay', 'baka', 'bakal', 'bakasyon', - 'bakit', 'bakuran', 'balat', 'balde', 'balikat', 'banat', 'banda', 'bangka', 'bangko', 'bansa', 'barko', 'basa', - 'basehan', 'baso', 'bata', 'batas', 'batay', 'bato', 'bawas', 'bawat', 'bayad', 'bayan', 'baybayin', 'benta', - 'bente', 'berde', 'bibig', 'bigas', 'bigat', 'bigay', 'bigkas', 'bihira', 'bilang', 'bili', 'bilis', 'binata', - 'binibini', 'binti', 'biyahe', 'biyaya', 'boses', 'braso', 'buhangin', 'buhay', 'buhok', 'bukas', 'bulaklak', - 'bundok', 'buntot', 'buo', 'burol', 'butas', 'buti', 'buto', 'buwan', 'daan', 'dagat', 'dagdag', 'dahil', - 'dahilan', 'dala', 'dalaga', 'dalas', 'dalawampu', 'daliri', 'daloy', 'damit', 'damo', 'dapat', 'dati', - 'dating', 'digmaan', 'dilaw', 'disenyo', 'dito', 'doon', 'dugo', 'dyip', 'edad', 'eksakto', 'eksperimento', - 'elemento', 'enerhiya', 'epekto', 'eroplano', 'espesyal', 'estado', 'gabi', 'gala', 'galaw', 'galit', 'gamit', - 'gamot', 'gana', 'ganap', 'ganda', 'gas', 'gastos', 'gatas', 'gawa', 'gawin', 'gilid', 'giliw', 'ginang', - 'ginoo', 'ginto', 'gising', 'gitna', 'gubat', 'guhit', 'gulo', 'gulong', 'gusto', 'haba', 'habang', 'hakbang', - 'halaga', 'halalan', 'halaman', 'haligi', 'halimbawa', 'hambing', 'hanap', 'hanapbuhay', 'hanay', 'handa', - 'hanggan', 'hanggang', 'hangin', 'hardin', 'hati', 'hatid', 'hatol', 'hayop', 'higit', 'hila', 'hilaga', - 'hilera', 'himpapawid', 'hindi', 'hintay', 'hirap', 'hiwa', 'hiwalay', 'hugis', 'hula', 'huli', 'hulog', - 'humantong', 'husay', 'iba', 'ibabaw', 'ibig', 'ibon', 'ilalim', 'ilan', 'ilang', 'ilog', 'ilong', 'industriya', - 'ingay', 'inggit', 'init', 'inom', 'insekto', 'instrumento', 'inumin', 'ipon', 'isa', 'isda', 'isip', 'iskor', - 'isla', 'itim', 'itlog', 'ito', 'iwan', 'iyon', 'kaaway', 'kababaihan', 'kabayo', 'kabuuan', 'kaganapan', - 'kahit', 'kahon', 'kaibigan', 'kailangan', 'kailanman', 'kain', 'kaisa-isa', 'kakaiba', 'kalabit', 'kalagayan', - 'kalahati', 'kalakal', 'kalakalan', 'kalsada', 'kalye', 'kama', 'kamay', 'kampanilya', 'kampo', 'kanin', - 'kanluran', 'kanta', 'kanya', 'kapag', 'kapal', 'kapangyarihan', 'kapantay', 'kapatid', 'kapit-bahay', - 'kapital', 'kapitan', 'kapwa', 'karagatan', 'karamihan', 'karanasan', 'karaniwan', 'karapatan', 'karne', - 'kasalukuyan', 'kasama', 'kasanayan', 'kasangkapan', 'kasaysayan', 'kaso', 'katangian', 'katarungan', 'katawan', - 'katinig', 'katulad', 'katunayan', 'kawal', 'kaya', 'kaysa', 'kayumanggi', 'kilos', 'kinang', 'kinig', 'klase', - 'ko', 'kompanya', 'koponan', 'kopya', 'kotse', 'kuha', 'kulay', 'kumpleto', 'kung', 'kuskos', 'kuwento', - 'laban', 'lagay', 'lagda', 'lago', 'lahat', 'lahi', 'lakad', 'lakas', 'laki', 'lalim', 'lalo', 'laman', - 'lamang', 'lambak', 'lambot', 'lamig', 'landas', 'langis', 'langit', 'langoy', 'lapit', 'larawan', 'laro', - 'lason', 'lawa', 'lawak', 'layag', 'layo', 'leeg', 'libo', 'libre', 'ligaw', 'ligtas', 'liit', 'likas', 'likha', - 'likido', 'likod', 'lima', 'linaw', 'linggo', 'linis', 'linya', 'lipad', 'listahan', 'litaw', 'liwanag', - 'lubid', 'lugar', 'luma', 'lungsod', 'lupa', 'lupon', 'lutas', 'luwag', 'maaari', 'maaga', 'madali', 'maging', - 'maginoo', 'magkano', 'magulang', 'mahal', 'mahalaga', 'mahirap', 'maikli', 'mainam', 'mainit', 'mais', - 'makina', 'mali', 'maliban', 'manatili', 'manggagawa', 'mangyari', 'mangyaring', 'manipis', 'maniwala', - 'mansanas', 'mapa', 'marahil', 'marami', 'mas', 'masa', 'masyado', 'mata', 'may', 'mayroon', 'medyo', 'merkado', - 'mga', 'milyon', 'minahan', 'minuto', 'mukha', 'mula', 'muli', 'mundo', 'musika', 'na', 'naging', 'nais', - 'nakita', 'namin', 'nanay', 'nawala', 'nayon', 'ng', 'ngayon', 'ngipin', 'ngiti', 'ngunit', 'noon', 'numero', - 'oo', 'opisina', 'opo', 'oras', 'orihinal', 'pa', 'paa', 'paaralan', 'pabor', 'pabuya', 'pader', 'pagitan', - 'pakiramdam', 'paksa', 'palagi', 'palapag', 'pamamagitan', 'pamilya', 'panahon', 'panalo', 'pandiwa', - 'pangalan', 'panganib', 'pangarap', 'pangkat', 'pangmaramihang', 'pangngalan', 'pangunahin', 'pantig', - 'panuntunan', 'papel', 'para', 'paraan', 'pareho', 'pares', 'parirala', 'parisukat', 'partido', 'pasa', - 'pasiya', 'pasok', 'patakaran', 'patlang', 'patnubay', 'pato', 'payag', 'pera', 'pigil', 'pilak', 'pili', - 'pindot', 'pinto', 'piraso', 'pito', 'plano', 'port', 'posible', 'posisyon', 'problema', 'produkto', 'proseso', - 'prutas', 'pula', 'puno', 'punta', 'punto', 'pusa', 'puso', 'puti', 'puwang', 'puwersa', 'radyo', 'rehiyon', - 'resulta', 'sa', 'saan', 'sabay', 'sabi', 'sagot', 'sakahan', 'salamat', 'salamin', 'sali', 'salita', 'sama', - 'sampu', 'sandali', 'sang-ayon', 'sangay', 'sanggol', 'sapat', 'sapatos', 'sarili', 'sariwa', 'saya', 'sayaw', - 'sigaw', 'siglo', 'sigurado', 'sikat', 'sila', 'silangan', 'silya', 'simbolo', 'simula', 'singil', 'singsing', - 'sining', 'sira', 'sistema', 'siya', 'siyam', 'siyempre', 'solusyon', 'subok', 'sukat', 'sulat', 'sulok', - 'sulong', 'sumbrero', 'sundin', 'sundo', 'sunod', 'sunog', 'suot', 'suporta', 'suri', 'taas', 'taba', 'tagal', - 'tagumpay', 'tahanan', 'tahimik', 'tainga', 'takbo', 'takot', 'tala', 'talakay', 'talim', 'talo', 'talon', - 'tama', 'tandaan', 'tanggap', 'tanghali', 'tangi', 'tangkad', 'tanong', 'tao', 'taon', 'tapang', 'tapat', - 'tapon', 'tapos', 'tatlon', 'tatsulok', 'tawag', 'tawid', 'tayo', 'temperatura', 'timbang', 'timog', 'tinapay', - 'tinda', 'tindahan', 'tingin', 'tipon', 'tiyak', 'tono', 'totoo', 'trabaho', 'trak', 'tren', 'tubig', 'tugon', - 'tukoy', 'tuktok', 'tula', 'tulad', 'tulog', 'tulong', 'tuloy', 'tumba', 'tunay', 'tungkol', 'tungo', 'tunog', - 'turo', 'tuwa', 'tuwid', 'ugat', 'ulan', 'ulo', 'una', 'upo', 'upuan', 'uri', 'wala', 'walo', 'wika', 'yaman', - 'yelo', + "abo", + "abot", + "aga", + "agham", + "akin", + "aklat", + "ako", + "akyat", + "alam", + "alang-alang", + "alikabok", + "alin", + "alok", + "alon", + "ama", + "amin", + "amoy", + "anak", + "ang", + "angkop", + "anim", + "ano", + "antas", + "apat", + "aral", + "araw", + "ari-arian", + "asa", + "asawa", + "asin", + "aso", + "asukal", + "asul", + "at", + "atin", + "away", + "ay", + "ayos", + "baba", + "babae", + "babaw", + "bagal", + "bagaman", + "bagay", + "bago", + "bagyo", + "bahagi", + "bahay", + "baka", + "bakal", + "bakasyon", + "bakit", + "bakuran", + "balat", + "balde", + "balikat", + "banat", + "banda", + "bangka", + "bangko", + "bansa", + "barko", + "basa", + "basehan", + "baso", + "bata", + "batas", + "batay", + "bato", + "bawas", + "bawat", + "bayad", + "bayan", + "baybayin", + "benta", + "bente", + "berde", + "bibig", + "bigas", + "bigat", + "bigay", + "bigkas", + "bihira", + "bilang", + "bili", + "bilis", + "binata", + "binibini", + "binti", + "biyahe", + "biyaya", + "boses", + "braso", + "buhangin", + "buhay", + "buhok", + "bukas", + "bulaklak", + "bundok", + "buntot", + "buo", + "burol", + "butas", + "buti", + "buto", + "buwan", + "daan", + "dagat", + "dagdag", + "dahil", + "dahilan", + "dala", + "dalaga", + "dalas", + "dalawampu", + "daliri", + "daloy", + "damit", + "damo", + "dapat", + "dati", + "dating", + "digmaan", + "dilaw", + "disenyo", + "dito", + "doon", + "dugo", + "dyip", + "edad", + "eksakto", + "eksperimento", + "elemento", + "enerhiya", + "epekto", + "eroplano", + "espesyal", + "estado", + "gabi", + "gala", + "galaw", + "galit", + "gamit", + "gamot", + "gana", + "ganap", + "ganda", + "gas", + "gastos", + "gatas", + "gawa", + "gawin", + "gilid", + "giliw", + "ginang", + "ginoo", + "ginto", + "gising", + "gitna", + "gubat", + "guhit", + "gulo", + "gulong", + "gusto", + "haba", + "habang", + "hakbang", + "halaga", + "halalan", + "halaman", + "haligi", + "halimbawa", + "hambing", + "hanap", + "hanapbuhay", + "hanay", + "handa", + "hanggan", + "hanggang", + "hangin", + "hardin", + "hati", + "hatid", + "hatol", + "hayop", + "higit", + "hila", + "hilaga", + "hilera", + "himpapawid", + "hindi", + "hintay", + "hirap", + "hiwa", + "hiwalay", + "hugis", + "hula", + "huli", + "hulog", + "humantong", + "husay", + "iba", + "ibabaw", + "ibig", + "ibon", + "ilalim", + "ilan", + "ilang", + "ilog", + "ilong", + "industriya", + "ingay", + "inggit", + "init", + "inom", + "insekto", + "instrumento", + "inumin", + "ipon", + "isa", + "isda", + "isip", + "iskor", + "isla", + "itim", + "itlog", + "ito", + "iwan", + "iyon", + "kaaway", + "kababaihan", + "kabayo", + "kabuuan", + "kaganapan", + "kahit", + "kahon", + "kaibigan", + "kailangan", + "kailanman", + "kain", + "kaisa-isa", + "kakaiba", + "kalabit", + "kalagayan", + "kalahati", + "kalakal", + "kalakalan", + "kalsada", + "kalye", + "kama", + "kamay", + "kampanilya", + "kampo", + "kanin", + "kanluran", + "kanta", + "kanya", + "kapag", + "kapal", + "kapangyarihan", + "kapantay", + "kapatid", + "kapit-bahay", + "kapital", + "kapitan", + "kapwa", + "karagatan", + "karamihan", + "karanasan", + "karaniwan", + "karapatan", + "karne", + "kasalukuyan", + "kasama", + "kasanayan", + "kasangkapan", + "kasaysayan", + "kaso", + "katangian", + "katarungan", + "katawan", + "katinig", + "katulad", + "katunayan", + "kawal", + "kaya", + "kaysa", + "kayumanggi", + "kilos", + "kinang", + "kinig", + "klase", + "ko", + "kompanya", + "koponan", + "kopya", + "kotse", + "kuha", + "kulay", + "kumpleto", + "kung", + "kuskos", + "kuwento", + "laban", + "lagay", + "lagda", + "lago", + "lahat", + "lahi", + "lakad", + "lakas", + "laki", + "lalim", + "lalo", + "laman", + "lamang", + "lambak", + "lambot", + "lamig", + "landas", + "langis", + "langit", + "langoy", + "lapit", + "larawan", + "laro", + "lason", + "lawa", + "lawak", + "layag", + "layo", + "leeg", + "libo", + "libre", + "ligaw", + "ligtas", + "liit", + "likas", + "likha", + "likido", + "likod", + "lima", + "linaw", + "linggo", + "linis", + "linya", + "lipad", + "listahan", + "litaw", + "liwanag", + "lubid", + "lugar", + "luma", + "lungsod", + "lupa", + "lupon", + "lutas", + "luwag", + "maaari", + "maaga", + "madali", + "maging", + "maginoo", + "magkano", + "magulang", + "mahal", + "mahalaga", + "mahirap", + "maikli", + "mainam", + "mainit", + "mais", + "makina", + "mali", + "maliban", + "manatili", + "manggagawa", + "mangyari", + "mangyaring", + "manipis", + "maniwala", + "mansanas", + "mapa", + "marahil", + "marami", + "mas", + "masa", + "masyado", + "mata", + "may", + "mayroon", + "medyo", + "merkado", + "mga", + "milyon", + "minahan", + "minuto", + "mukha", + "mula", + "muli", + "mundo", + "musika", + "na", + "naging", + "nais", + "nakita", + "namin", + "nanay", + "nawala", + "nayon", + "ng", + "ngayon", + "ngipin", + "ngiti", + "ngunit", + "noon", + "numero", + "oo", + "opisina", + "opo", + "oras", + "orihinal", + "pa", + "paa", + "paaralan", + "pabor", + "pabuya", + "pader", + "pagitan", + "pakiramdam", + "paksa", + "palagi", + "palapag", + "pamamagitan", + "pamilya", + "panahon", + "panalo", + "pandiwa", + "pangalan", + "panganib", + "pangarap", + "pangkat", + "pangmaramihang", + "pangngalan", + "pangunahin", + "pantig", + "panuntunan", + "papel", + "para", + "paraan", + "pareho", + "pares", + "parirala", + "parisukat", + "partido", + "pasa", + "pasiya", + "pasok", + "patakaran", + "patlang", + "patnubay", + "pato", + "payag", + "pera", + "pigil", + "pilak", + "pili", + "pindot", + "pinto", + "piraso", + "pito", + "plano", + "port", + "posible", + "posisyon", + "problema", + "produkto", + "proseso", + "prutas", + "pula", + "puno", + "punta", + "punto", + "pusa", + "puso", + "puti", + "puwang", + "puwersa", + "radyo", + "rehiyon", + "resulta", + "sa", + "saan", + "sabay", + "sabi", + "sagot", + "sakahan", + "salamat", + "salamin", + "sali", + "salita", + "sama", + "sampu", + "sandali", + "sang-ayon", + "sangay", + "sanggol", + "sapat", + "sapatos", + "sarili", + "sariwa", + "saya", + "sayaw", + "sigaw", + "siglo", + "sigurado", + "sikat", + "sila", + "silangan", + "silya", + "simbolo", + "simula", + "singil", + "singsing", + "sining", + "sira", + "sistema", + "siya", + "siyam", + "siyempre", + "solusyon", + "subok", + "sukat", + "sulat", + "sulok", + "sulong", + "sumbrero", + "sundin", + "sundo", + "sunod", + "sunog", + "suot", + "suporta", + "suri", + "taas", + "taba", + "tagal", + "tagumpay", + "tahanan", + "tahimik", + "tainga", + "takbo", + "takot", + "tala", + "talakay", + "talim", + "talo", + "talon", + "tama", + "tandaan", + "tanggap", + "tanghali", + "tangi", + "tangkad", + "tanong", + "tao", + "taon", + "tapang", + "tapat", + "tapon", + "tapos", + "tatlon", + "tatsulok", + "tawag", + "tawid", + "tayo", + "temperatura", + "timbang", + "timog", + "tinapay", + "tinda", + "tindahan", + "tingin", + "tipon", + "tiyak", + "tono", + "totoo", + "trabaho", + "trak", + "tren", + "tubig", + "tugon", + "tukoy", + "tuktok", + "tula", + "tulad", + "tulog", + "tulong", + "tuloy", + "tumba", + "tunay", + "tungkol", + "tungo", + "tunog", + "turo", + "tuwa", + "tuwid", + "ugat", + "ulan", + "ulo", + "una", + "upo", + "upuan", + "uri", + "wala", + "walo", + "wika", + "yaman", + "yelo", ) diff --git a/faker/providers/lorem/he_IL/__init__.py b/faker/providers/lorem/he_IL/__init__.py index 846471c508..c4c1e0c7f5 100644 --- a/faker/providers/lorem/he_IL/__init__.py +++ b/faker/providers/lorem/he_IL/__init__.py @@ -5,23 +5,148 @@ class Provider(LoremProvider): """Implement lorem provider for ``he_IL`` locale.""" word_list = ( - "אאוגו", "אגת", "אדיפיסינג", "אדנדום", "אט", "איאקוליס", "איבן", "איף", - "איפסום", "אלית", "אלמנקום", "אמט", "אס", "אפאח", "אקווזמן", "ארווס", - "בגורמי", "בורק?", "בלובק", "בלינדו", "בלינך", "בליקרה", "בעליק", - "בעריר", "בראיט", "ברומץ", "בריקנה", "ברשג", "גדדיש", "גולר", "גק", - "דול", "דולור", "דומור", "דז", "דיאם", "דלאמת", "דס", "הבקיץ", "הדש", - "הועניב", "היושבב", "הכייר", "השמה", "התידם", "וואל", "וולופטה", - "וחאית", "ולחת", "ולתיעם", "ומעיוט", "ומרגשח", "וסטיבולום", "וסתעד", - "וק", "ותלברו", "זותה", "חשלו", "טידום", "יבש", "יהול", "ישבעס", "כאנה", - "כלרשט", "להאמית", "לורם", "ליאמום", "ליבם", "ליץ", "לכימפו", "לכנו", - "לכנוץ", "למטכין", "למרקוח", "למרקל", "לפמעט", "לפריקך", "לפתיעם", - "לקטוס", "לרטי", "לתיג", "לתכי", "מא", "מגמש", "מונחף", "מונפרד", - "מונפרר", "מוסן", "מורגם", "מיחוצים", "מנורך", "מנכם", "מנק", "מנת", - "מרגשי", "נובש", "נולום", "נון", "נונסטי", "ניבאה", "ניסי", "ניצאחו", - "נמרגי", "נשואי", "סאפיאן", "סוברט", "סולגק", "סוליסי", "סחטיר", - "סטום", "סיט", "סילקוף", "סכעיט", "סת", "סתשם", "עמחליף", "ערששף", - "פוסיליס", "צוט", "צופעט", "צורק", "קוויז", "קוויס", "קולהע", "קולורס", - "קונדימנטום", "קונסקטורר", "קורוס", "קלאצי", "קלובר", "קראס", "קרהשק", - "רוגצה", "שבצק", "שהכים", "שלושע", "שמחויט", "שנרא", "שעותלשך", "שערש", - "תוק", "תצטנפל", "תצטריק", "תרבנך", + "אאוגו", + "אגת", + "אדיפיסינג", + "אדנדום", + "אט", + "איאקוליס", + "איבן", + "איף", + "איפסום", + "אלית", + "אלמנקום", + "אמט", + "אס", + "אפאח", + "אקווזמן", + "ארווס", + "בגורמי", + "בורק?", + "בלובק", + "בלינדו", + "בלינך", + "בליקרה", + "בעליק", + "בעריר", + "בראיט", + "ברומץ", + "בריקנה", + "ברשג", + "גדדיש", + "גולר", + "גק", + "דול", + "דולור", + "דומור", + "דז", + "דיאם", + "דלאמת", + "דס", + "הבקיץ", + "הדש", + "הועניב", + "היושבב", + "הכייר", + "השמה", + "התידם", + "וואל", + "וולופטה", + "וחאית", + "ולחת", + "ולתיעם", + "ומעיוט", + "ומרגשח", + "וסטיבולום", + "וסתעד", + "וק", + "ותלברו", + "זותה", + "חשלו", + "טידום", + "יבש", + "יהול", + "ישבעס", + "כאנה", + "כלרשט", + "להאמית", + "לורם", + "ליאמום", + "ליבם", + "ליץ", + "לכימפו", + "לכנו", + "לכנוץ", + "למטכין", + "למרקוח", + "למרקל", + "לפמעט", + "לפריקך", + "לפתיעם", + "לקטוס", + "לרטי", + "לתיג", + "לתכי", + "מא", + "מגמש", + "מונחף", + "מונפרד", + "מונפרר", + "מוסן", + "מורגם", + "מיחוצים", + "מנורך", + "מנכם", + "מנק", + "מנת", + "מרגשי", + "נובש", + "נולום", + "נון", + "נונסטי", + "ניבאה", + "ניסי", + "ניצאחו", + "נמרגי", + "נשואי", + "סאפיאן", + "סוברט", + "סולגק", + "סוליסי", + "סחטיר", + "סטום", + "סיט", + "סילקוף", + "סכעיט", + "סת", + "סתשם", + "עמחליף", + "ערששף", + "פוסיליס", + "צוט", + "צופעט", + "צורק", + "קוויז", + "קוויס", + "קולהע", + "קולורס", + "קונדימנטום", + "קונסקטורר", + "קורוס", + "קלאצי", + "קלובר", + "קראס", + "קרהשק", + "רוגצה", + "שבצק", + "שהכים", + "שלושע", + "שמחויט", + "שנרא", + "שעותלשך", + "שערש", + "תוק", + "תצטנפל", + "תצטריק", + "תרבנך", ) diff --git a/faker/providers/lorem/hy_AM/__init__.py b/faker/providers/lorem/hy_AM/__init__.py index 33530ff9ff..f70ef76b75 100644 --- a/faker/providers/lorem/hy_AM/__init__.py +++ b/faker/providers/lorem/hy_AM/__init__.py @@ -10,217 +10,217 @@ class Provider(LoremProvider): """ word_list = ( - 'ես', - 'դու', - 'նա', - 'մենք', - 'դուք', - 'նրանք', - 'այս', - 'այն', - 'այստեղ', - 'այնտեղ', - 'ով', - 'ինչ', - 'որտեղ', - 'ուր', - 'երբ', - 'ինչպես', - 'ոչ', - 'բոլոր', - 'շատ', - 'որոշ', - 'քիչ', - 'այլ', - 'ուրիշ', - 'մեկ', - 'երկու', - 'երեք', - 'չորս', - 'հինգ', - 'մեծ', - 'երկար', - 'լայն', - 'հաստ', - 'ծանր', - 'փոքր', - 'կարճ', - 'նեղ', - 'բարակ', - 'կին', - 'տղամարդ', - 'մարդ', - 'երեխա', - 'կին', - 'ամուսին', - 'մայր', - 'հայր', - 'կենդանի', - 'ձուկ', - 'թռչուն', - 'շուն', - 'ոջիլ', - 'օձ', - 'ճիճու', - 'ծառ', - 'անտառ', - 'փայտ', - 'պտուղ', - 'սերմ', - 'տերև', - 'արմատ', - 'կեղև', - 'ծաղիկ', - 'խոտ', - 'պարան', - 'մաշկ', - 'կաշի', - 'միս', - 'արյուն', - 'ոսկոր', - 'ճարպ', - 'ձու', - 'եղջյուր', - 'պոզ', - 'պոչ', - 'փետուր', - 'մազ', - 'գլուխ', - 'ականջ', - 'աչք', - 'քիթ', - 'բերան', - 'ատամ', - 'լեզու', - 'եղունգ', - 'ոտք', - 'ծունկ', - 'ձեռք', - 'թև', - 'փոր', - 'փորոտիք', - 'աղիք', - 'վիզ', - 'մեջք', - 'կուրծք', - 'սիրտ', - 'լյարդ', - 'խմել', - 'ուտել', - 'կծել', - 'ծծել', - 'թքել', - 'ործկալ', - 'փչել', - 'շնչել', - 'ծիծաղել', - 'տեսնել', - 'լսել', - 'իմանալ', - 'գիտենալ', - 'մտածել', - 'զգալ', - 'վախենալ', - 'քնել', - 'ապրել', - 'մեռնել', - 'սպանել', - 'կռվել', - 'որսալ', - 'խփել', - 'հարվածել', - 'կտրել', - 'բաժանել', - 'խոցել', - 'քերծել', - 'քորել', - 'փորել', - 'լողալ', - 'թռչել', - 'քայլել', - 'գալ', - 'պառկել', - 'նստել', - 'կանգնել', - 'շրջվել', - 'ընկնել', - 'տալ', - 'պահել', - 'բռնել', - 'սեղմել', - 'շփել', - 'լվալ', - 'սրբել', - 'ձգել', - 'քաշել', - 'հրել', - 'նետել', - 'կապել', - 'կարել', - 'հաշվել', - 'ասել', - 'երգել', - 'խաղալ', - 'լողալ', - 'հոսել', - 'սառչել', - 'ուռել', - 'արև', - 'լուսին', - 'աստղ', - 'ջուր', - 'անձրև', - 'գետ', - 'լիճ', - 'ծով', - 'աղ', - 'քար', - 'ավազ', - 'փոշի', - 'հող', - 'ամպ', - 'մառախուղ', - 'մշուշ', - 'երկինք', - 'քամի', - 'ձյուն', - 'սառույց', - 'ծուխ', - 'հուր', - 'կրակ', - 'մոխիր', - 'վառվել', - 'այրվել', - 'ճամփա', - 'ճանապարհ', - 'լեռ', - 'սար', - 'կարմիր', - 'կանաչ', - 'դեղին', - 'սպիտակ', - 'սև', - 'գիշեր', - 'օր', - 'տարի', - 'տաք', - 'ցուրտ', - 'լիքը', - 'նոր', - 'հին', - 'լավ', - 'վատ', - 'փտած', - 'կեղտոտ', - 'ուղիղ', - 'կլոր', - 'սուր', - 'բութ', - 'հարթ', - 'թաց', - 'չոր', - 'ճիշտ', - 'մոտ', - 'հեռու', - 'աջ', + "ես", + "դու", + "նա", + "մենք", + "դուք", + "նրանք", + "այս", + "այն", + "այստեղ", + "այնտեղ", + "ով", + "ինչ", + "որտեղ", + "ուր", + "երբ", + "ինչպես", + "ոչ", + "բոլոր", + "շատ", + "որոշ", + "քիչ", + "այլ", + "ուրիշ", + "մեկ", + "երկու", + "երեք", + "չորս", + "հինգ", + "մեծ", + "երկար", + "լայն", + "հաստ", + "ծանր", + "փոքր", + "կարճ", + "նեղ", + "բարակ", + "կին", + "տղամարդ", + "մարդ", + "երեխա", + "կին", + "ամուսին", + "մայր", + "հայր", + "կենդանի", + "ձուկ", + "թռչուն", + "շուն", + "ոջիլ", + "օձ", + "ճիճու", + "ծառ", + "անտառ", + "փայտ", + "պտուղ", + "սերմ", + "տերև", + "արմատ", + "կեղև", + "ծաղիկ", + "խոտ", + "պարան", + "մաշկ", + "կաշի", + "միս", + "արյուն", + "ոսկոր", + "ճարպ", + "ձու", + "եղջյուր", + "պոզ", + "պոչ", + "փետուր", + "մազ", + "գլուխ", + "ականջ", + "աչք", + "քիթ", + "բերան", + "ատամ", + "լեզու", + "եղունգ", + "ոտք", + "ծունկ", + "ձեռք", + "թև", + "փոր", + "փորոտիք", + "աղիք", + "վիզ", + "մեջք", + "կուրծք", + "սիրտ", + "լյարդ", + "խմել", + "ուտել", + "կծել", + "ծծել", + "թքել", + "ործկալ", + "փչել", + "շնչել", + "ծիծաղել", + "տեսնել", + "լսել", + "իմանալ", + "գիտենալ", + "մտածել", + "զգալ", + "վախենալ", + "քնել", + "ապրել", + "մեռնել", + "սպանել", + "կռվել", + "որսալ", + "խփել", + "հարվածել", + "կտրել", + "բաժանել", + "խոցել", + "քերծել", + "քորել", + "փորել", + "լողալ", + "թռչել", + "քայլել", + "գալ", + "պառկել", + "նստել", + "կանգնել", + "շրջվել", + "ընկնել", + "տալ", + "պահել", + "բռնել", + "սեղմել", + "շփել", + "լվալ", + "սրբել", + "ձգել", + "քաշել", + "հրել", + "նետել", + "կապել", + "կարել", + "հաշվել", + "ասել", + "երգել", + "խաղալ", + "լողալ", + "հոսել", + "սառչել", + "ուռել", + "արև", + "լուսին", + "աստղ", + "ջուր", + "անձրև", + "գետ", + "լիճ", + "ծով", + "աղ", + "քար", + "ավազ", + "փոշի", + "հող", + "ամպ", + "մառախուղ", + "մշուշ", + "երկինք", + "քամի", + "ձյուն", + "սառույց", + "ծուխ", + "հուր", + "կրակ", + "մոխիր", + "վառվել", + "այրվել", + "ճամփա", + "ճանապարհ", + "լեռ", + "սար", + "կարմիր", + "կանաչ", + "դեղին", + "սպիտակ", + "սև", + "գիշեր", + "օր", + "տարի", + "տաք", + "ցուրտ", + "լիքը", + "նոր", + "հին", + "լավ", + "վատ", + "փտած", + "կեղտոտ", + "ուղիղ", + "կլոր", + "սուր", + "բութ", + "հարթ", + "թաց", + "չոր", + "ճիշտ", + "մոտ", + "հեռու", + "աջ", ) diff --git a/faker/providers/lorem/ja_JP/__init__.py b/faker/providers/lorem/ja_JP/__init__.py index 3bfb77a2c7..c3cc7e36aa 100644 --- a/faker/providers/lorem/ja_JP/__init__.py +++ b/faker/providers/lorem/ja_JP/__init__.py @@ -4,226 +4,226 @@ class Provider(LoremProvider): """Implement lorem provider for ``ja_JP`` locale.""" - word_connector = '' - sentence_punctuation = '。' + word_connector = "" + sentence_punctuation = "。" word_list = ( - 'コミュニティ', - '隠す', - '葉', - '陶器', - '錯覚', - 'バーゲン', - 'リニア', - 'コーラス', - '仕上げ', - '叔父', - '移動', - '差別する', - '極端な', - '数字', - 'テント', - '必要', - '主人', - '電池', - 'ソース', - '野球', - 'ストレージ', - 'スキーム', - '暖かい', - 'ささやき', - '器官', - 'トリビュート', - '同行', - 'ジャム', - 'パン', - '索引', - 'トス', - '織る', - 'パーセント', - '拡張', - '教授', - 'バスケット', - '創傷', - 'フレーム', - '明らかにする', - 'フェミニスト', - '発生する', - '怒り', - 'ボトル', - '狐', - '柔らかい', - 'リフト', - 'バス', - '雪', - '画面', - 'パイオニア', - 'マリン', - 'ダイヤモンド', - '普通の', - '意図', - 'ヘア', - '日曜日', - 'プラスチック', - '衝突', - '評議会', - '主婦', - '保証金', - '動物', - '参加する', - '教会', - 'コミュニケーション', - '憲法', - '本質的な', - '探査', - '呼ぶ', - '供給', - 'スペル', - '再現する', - '合計', - 'ダッシュ', - '擁する', - '知覚', - 'シェービング', - 'コンペ', - 'オークション', - '細かい', - 'ニュース', - '癌', - 'トーン', - 'チーズ', - '反射', - 'ブランチ', - 'コピー', - '状況', - 'スマッシュ', - '式', - '協力', - '管理する', - '文言', - '編組', - 'ジャーナル', - '腐った', - '見落とす', - 'ハードウェア', - 'ピック', - '感謝する', - '楽しんで', - '人形', - '建築', - '見出し', - 'タワー', - 'ホイール', - '省略', - 'ログ', - '助けて', - '不自然な', - '出演者', - '転倒', - '運', - '障害', - 'クルー', - '追放する', - '月', - 'カレッジ', - '緩む', - '分割', - '欠乏', - '通行料金', - '電話', - '狭い', - '中央', - '埋め込む', - '革新', - 'ブレーキ', - 'コーナー', - '溝', - '脊椎', - 'ブラケット', - '戦略的', - '尿', - '血まみれの', - '尊敬する', - '催眠術', - 'アクセルペダル', - '厳しい', - 'サンプル', - '奨励します', - '指名', - 'クール', - 'クロス', - 'ヒール', - '敵対的な', - '近代化する', - '部隊', - '目的', - '保持する', - '中世', - 'デッド', - 'ノート', - 'デフォルト', - '犯罪者', - 'キャビン', - '副', - '改善', - '職人', - 'シュガー', - '花嫁', - '倫理', - '偏差', - '販売', - '軸', - 'サラダ', - '品質', - '風景', - '虐待', - '立派な', - 'ベルベット', - 'ハンマー', - 'キャビネット', - 'トレーナー', - 'リハビリ', - 'サワー', - '連続', - '学生', - '高い', - '賞賛する', - '行進', - 'ダニ', - '証言する', - '符号', - 'バナー', - 'バケツ', - 'カラム', - '装置', - 'ヒット', - '敵', - 'トースト', - '試してみる', - '大統領', - '屋根裏', - 'メニュー', - '残る', - 'リンク', - '舗装', - 'インチ', - '特徴', - 'は', - '持つ', - '持っていました', - 'あった', - '〜', - 'ない', - '今', - '今日', - '持ってる', - '午前', - '私', - '君は', - '彼', - '彼女', - 'それ', - '自体', - 'あなた自身', - 'じぶんの', - '鉱山', + "コミュニティ", + "隠す", + "葉", + "陶器", + "錯覚", + "バーゲン", + "リニア", + "コーラス", + "仕上げ", + "叔父", + "移動", + "差別する", + "極端な", + "数字", + "テント", + "必要", + "主人", + "電池", + "ソース", + "野球", + "ストレージ", + "スキーム", + "暖かい", + "ささやき", + "器官", + "トリビュート", + "同行", + "ジャム", + "パン", + "索引", + "トス", + "織る", + "パーセント", + "拡張", + "教授", + "バスケット", + "創傷", + "フレーム", + "明らかにする", + "フェミニスト", + "発生する", + "怒り", + "ボトル", + "狐", + "柔らかい", + "リフト", + "バス", + "雪", + "画面", + "パイオニア", + "マリン", + "ダイヤモンド", + "普通の", + "意図", + "ヘア", + "日曜日", + "プラスチック", + "衝突", + "評議会", + "主婦", + "保証金", + "動物", + "参加する", + "教会", + "コミュニケーション", + "憲法", + "本質的な", + "探査", + "呼ぶ", + "供給", + "スペル", + "再現する", + "合計", + "ダッシュ", + "擁する", + "知覚", + "シェービング", + "コンペ", + "オークション", + "細かい", + "ニュース", + "癌", + "トーン", + "チーズ", + "反射", + "ブランチ", + "コピー", + "状況", + "スマッシュ", + "式", + "協力", + "管理する", + "文言", + "編組", + "ジャーナル", + "腐った", + "見落とす", + "ハードウェア", + "ピック", + "感謝する", + "楽しんで", + "人形", + "建築", + "見出し", + "タワー", + "ホイール", + "省略", + "ログ", + "助けて", + "不自然な", + "出演者", + "転倒", + "運", + "障害", + "クルー", + "追放する", + "月", + "カレッジ", + "緩む", + "分割", + "欠乏", + "通行料金", + "電話", + "狭い", + "中央", + "埋め込む", + "革新", + "ブレーキ", + "コーナー", + "溝", + "脊椎", + "ブラケット", + "戦略的", + "尿", + "血まみれの", + "尊敬する", + "催眠術", + "アクセルペダル", + "厳しい", + "サンプル", + "奨励します", + "指名", + "クール", + "クロス", + "ヒール", + "敵対的な", + "近代化する", + "部隊", + "目的", + "保持する", + "中世", + "デッド", + "ノート", + "デフォルト", + "犯罪者", + "キャビン", + "副", + "改善", + "職人", + "シュガー", + "花嫁", + "倫理", + "偏差", + "販売", + "軸", + "サラダ", + "品質", + "風景", + "虐待", + "立派な", + "ベルベット", + "ハンマー", + "キャビネット", + "トレーナー", + "リハビリ", + "サワー", + "連続", + "学生", + "高い", + "賞賛する", + "行進", + "ダニ", + "証言する", + "符号", + "バナー", + "バケツ", + "カラム", + "装置", + "ヒット", + "敵", + "トースト", + "試してみる", + "大統領", + "屋根裏", + "メニュー", + "残る", + "リンク", + "舗装", + "インチ", + "特徴", + "は", + "持つ", + "持っていました", + "あった", + "〜", + "ない", + "今", + "今日", + "持ってる", + "午前", + "私", + "君は", + "彼", + "彼女", + "それ", + "自体", + "あなた自身", + "じぶんの", + "鉱山", ) diff --git a/faker/providers/lorem/la/__init__.py b/faker/providers/lorem/la/__init__.py index a3e7c3734c..8257077aa2 100644 --- a/faker/providers/lorem/la/__init__.py +++ b/faker/providers/lorem/la/__init__.py @@ -5,32 +5,186 @@ class Provider(LoremProvider): """Implement lorem provider for ``la`` locale.""" word_list = ( - 'a', 'ab', 'accusamus', 'accusantium', 'ad', 'adipisci', 'alias', - 'aliquam', 'aliquid', 'amet', 'animi', 'aperiam', 'architecto', - 'asperiores', 'aspernatur', 'assumenda', 'at', 'atque', 'aut', 'autem', - 'beatae', 'blanditiis', 'commodi', 'consectetur', 'consequatur', - 'consequuntur', 'corporis', 'corrupti', 'culpa', 'cum', 'cumque', - 'cupiditate', 'debitis', 'delectus', 'deleniti', 'deserunt', 'dicta', - 'dignissimos', 'distinctio', 'dolor', 'dolore', 'dolorem', 'doloremque', - 'dolores', 'doloribus', 'dolorum', 'ducimus', 'ea', 'eaque', 'earum', - 'eius', 'eligendi', 'enim', 'eos', 'error', 'esse', 'est', 'et', 'eum', - 'eveniet', 'ex', 'excepturi', 'exercitationem', 'expedita', 'explicabo', - 'facere', 'facilis', 'fuga', 'fugiat', 'fugit', 'harum', 'hic', 'id', - 'illo', 'illum', 'impedit', 'in', 'incidunt', 'inventore', 'ipsa', - 'ipsam', 'ipsum', 'iste', 'itaque', 'iure', 'iusto', 'labore', - 'laboriosam', 'laborum', 'laudantium', 'libero', 'magnam', 'magni', - 'maiores', 'maxime', 'minima', 'minus', 'modi', 'molestiae', - 'molestias', 'mollitia', 'nam', 'natus', 'necessitatibus', 'nemo', - 'neque', 'nesciunt', 'nihil', 'nisi', 'nobis', 'non', 'nostrum', - 'nulla', 'numquam', 'occaecati', 'odio', 'odit', 'officia', 'officiis', - 'omnis', 'optio', 'pariatur', 'perferendis', 'perspiciatis', 'placeat', - 'porro', 'possimus', 'praesentium', 'provident', 'quae', 'quaerat', - 'quam', 'quas', 'quasi', 'qui', 'quia', 'quibusdam', 'quidem', 'quis', - 'quisquam', 'quo', 'quod', 'quos', 'ratione', 'recusandae', - 'reiciendis', 'rem', 'repellat', 'repellendus', 'reprehenderit', - 'repudiandae', 'rerum', 'saepe', 'sapiente', 'sed', 'sequi', - 'similique', 'sint', 'sit', 'soluta', 'sunt', 'suscipit', 'tempora', - 'tempore', 'temporibus', 'tenetur', 'totam', 'ullam', 'unde', 'ut', - 'vel', 'velit', 'veniam', 'veritatis', 'vero', 'vitae', 'voluptas', - 'voluptate', 'voluptatem', 'voluptates', 'voluptatibus', 'voluptatum', + "a", + "ab", + "accusamus", + "accusantium", + "ad", + "adipisci", + "alias", + "aliquam", + "aliquid", + "amet", + "animi", + "aperiam", + "architecto", + "asperiores", + "aspernatur", + "assumenda", + "at", + "atque", + "aut", + "autem", + "beatae", + "blanditiis", + "commodi", + "consectetur", + "consequatur", + "consequuntur", + "corporis", + "corrupti", + "culpa", + "cum", + "cumque", + "cupiditate", + "debitis", + "delectus", + "deleniti", + "deserunt", + "dicta", + "dignissimos", + "distinctio", + "dolor", + "dolore", + "dolorem", + "doloremque", + "dolores", + "doloribus", + "dolorum", + "ducimus", + "ea", + "eaque", + "earum", + "eius", + "eligendi", + "enim", + "eos", + "error", + "esse", + "est", + "et", + "eum", + "eveniet", + "ex", + "excepturi", + "exercitationem", + "expedita", + "explicabo", + "facere", + "facilis", + "fuga", + "fugiat", + "fugit", + "harum", + "hic", + "id", + "illo", + "illum", + "impedit", + "in", + "incidunt", + "inventore", + "ipsa", + "ipsam", + "ipsum", + "iste", + "itaque", + "iure", + "iusto", + "labore", + "laboriosam", + "laborum", + "laudantium", + "libero", + "magnam", + "magni", + "maiores", + "maxime", + "minima", + "minus", + "modi", + "molestiae", + "molestias", + "mollitia", + "nam", + "natus", + "necessitatibus", + "nemo", + "neque", + "nesciunt", + "nihil", + "nisi", + "nobis", + "non", + "nostrum", + "nulla", + "numquam", + "occaecati", + "odio", + "odit", + "officia", + "officiis", + "omnis", + "optio", + "pariatur", + "perferendis", + "perspiciatis", + "placeat", + "porro", + "possimus", + "praesentium", + "provident", + "quae", + "quaerat", + "quam", + "quas", + "quasi", + "qui", + "quia", + "quibusdam", + "quidem", + "quis", + "quisquam", + "quo", + "quod", + "quos", + "ratione", + "recusandae", + "reiciendis", + "rem", + "repellat", + "repellendus", + "reprehenderit", + "repudiandae", + "rerum", + "saepe", + "sapiente", + "sed", + "sequi", + "similique", + "sint", + "sit", + "soluta", + "sunt", + "suscipit", + "tempora", + "tempore", + "temporibus", + "tenetur", + "totam", + "ullam", + "unde", + "ut", + "vel", + "velit", + "veniam", + "veritatis", + "vero", + "vitae", + "voluptas", + "voluptate", + "voluptatem", + "voluptates", + "voluptatibus", + "voluptatum", ) diff --git a/faker/providers/lorem/pl_PL/__init__.py b/faker/providers/lorem/pl_PL/__init__.py index 4ce14b1197..ab3050900b 100644 --- a/faker/providers/lorem/pl_PL/__init__.py +++ b/faker/providers/lorem/pl_PL/__init__.py @@ -10,199 +10,2004 @@ class Provider(LoremProvider): """ word_list = ( - 'w', 'z', 'być', 'na', 'i', 'do', 'nie', 'to', 'który', 'lub', 'się', 'mieć', 'o', 'coś', 'ten', 'dotyczyć', - 'co', 'on', 'ktoś', 'od', 'język', 'że', 'po', 'przez', 'ja', 'jeden', 'miasto', 'za', 'osoba', 'jak', 'rok', - 'cecha', 'a', 'bardzo', 'taki', 'mój', 'człowiek', 'imię', 'swój', 'dla', 'związać', 'część', 'kobieta', 'dwa', - 'móc', 'ona', 'pan', 'nasz', 'jakiś', 'mały', 'ze', 'miejsce', 'inny', 'bez', 'czas', 'duży', 'związany', - 'praca', 'czy', 'ale', 'pies', 'sposób', 'Polska', 'rodzaj', 'tylko', 'dom', 'dziecko', 'np.', 'ty', 'dzień', - 'mieszkaniec', 'jako', 'rzeka', 'przed', 'pani', 'męski', 'woda', 'tak', 'pod', 'dobry', 'już', 'państwo', - 'rodzina', 'zostać', 'życie', 'mówić', 'zwierzę', 'nad', 'pierwszy', 'ta', 'przy', 'wiele', 'cały', 'roślina', - 'u', 'sobie', 'trzy', 'nowy', 'często', 'chcieć', 'kolor', 'musieć', 'używać', 'robić', 'wielki', 'żeński', - 'kraj', 'mężczyzna', 'jego', 'strona', 'wysoki', 'każdy', 'nazwa', 'gatunek', 'polski', 'iść', 'sam', 'stolica', - 'grupa', 'stary', 'my', 'zrobić', 'książka', 'kto', 'symbol', 'drugi', 'rzecz', 'stan', 'samochód', 'drzewo', - 'ptak', 'między', 'świat', 'prawo', 'sąsiad', 'droga', 'oraz', 'słowo', 'mieszkanka', 'głowa', 'liczba', 'ci', - 'oni', 'nie-', 'codziennie', 'owoc', 'gdy', 'młody', 'środek', 'zły', 'spotykać', 'bo', 'raz', 'spacer', - 'ziemia', 'liczba atomowa', 'aby', 'znajdować się', 'należeć', 'itp.', 'ojciec', 'dużo', 'wiek', 'Rosja', - 'dobrze', 'kiedy', 'służyć', 'kilka', 'przedmiot', 'ręka', 'jaki', 'biały', 'długi', 'sprawa', 'cztery', - 'siebie', 'podczas', 'ruch', 'okres', 'góra', 'żona', 'litera', 'matka', 'odnosić się', 'kupić', 'pięć', - 'widzieć', 'zawsze', 'oko', 'albo', 'zajmować się', 'jeszcze', 'stać', 'szkoła', 'forma', 'we', 'pracować', - 'cel', 'koniec', 'twój', 'ciało', 'wiedzieć', 'mieszkać', 'zwykle', 'niż', 'działanie', 'koń', 'pokój', - 'element', 'kwiat', 'nauka', 'godzina', 'wszystko', 'zawierać', 'gdzie', 'położyć', 'powiedzieć', - 'pierwiastek chemiczny', 'urządzenie', 'choroba', 'lubić', 'pochodzić', 'wyspa', 'syn', 'prowadzić', 'piękny', - 'dać', 'wszyscy', 'miesiąc', 'wieś', 'jednostka', 'ryba', 'światło', 'jeść', 'dziewczyna', 'żyć', 'by', 'dawać', - 'budynek', 'stopień', 'grać', 'herb', 'brat', 'las', 'jej', 'siła', 'obszar', 'czarny', 'nic', 'znak', 'dany', - 'one', 'żeby', 'czerwony', 'rząd', 'różny', 'brak', 'dziś', 'gra', 'leżeć', 'związek', 'członek', 'kształt', - 'chodzić', 'wykonywać', 'wartość', 'noc', 'obwód', 'sztuka', 'statek', 'teraz', 'noga', 'dźwięk', 'występować', - 'teren', 'ostatni', 'pieniądz', 'sytuacja', 'wczoraj', 'śmierć', 'tydzień', 'sklep', 'niebo', 'niektóry', - 'morze', 'ważny', 'także', 'film', 'krótki', 'Europa', 'działać', 'główny', 'tworzyć', 'wykonać', 'skóra', - 'sześć', 'tam', 'materiał', 'trwać', 'dwadzieścia', 'ilość', 'wino', 'kot', 'szybko', 'określony', 'lecz', - 'własny', 'wojna', 'pochodzenie', 'pole', 'powierzchnia', 'północny', 'flaga', 'przyjaciel', 'postać', 'znać', - 'silny', 'proces', 'władza', 'mleko', 'system', 'mięso', 'obraz', 'składać się', 'wyraz', 'tysiąc', 'głos', - 'pić', 'południowy', 'słońce', 'serce', 'początek', 'córka', 'Bóg', 'pisać', 'jechać', 'drzwi', 'twarz', - 'region', 'firma', 'miłość', 'wiatr', 'zielony', 'tekst', 'jeśli', 'zmiana', 'grecki', 'kierunek', 'siedem', - 'święty', 'nawet', 'król', 'niski', 'wolny', 'koło', 'linia', 'kawa', 'dzisiaj', 'chleb', 'ulica', 'siostra', - 'dawny', 'czyjś', '1000', 'nosić', 'problem', 'powietrze', 'włos', 'prosty', 'więc', 'układ okresowy', 'pomoc', - 'żołnierz', 'brać', 'wziąć', 'tu', 'posiadać', 'powodować', 'uważać', 'punkt', 'ogień', 'arabski', 'podobny', - 'stanowić', 'ludzie', 'charakterystyczny', 'mało', 'jezioro', 'właściwy', 'pewien', 'mąż', 'też', 'trzeci', - 'krew', 'brzeg', 'dziesięć', 'samolot', 'znaleźć', 'okno', 'znaczenie', 'osiem', 'pójść', '1', 'gwiazda', - 'informacja', 'granica', 'oddział', 'prawdziwy', 'dostać', 'powinien', 'ich', 'nigdy', 'drewno', 'stosować', - 'zbiór', 'Ukraina', 'chwila', 'ból', 'uwaga', 'niewielki', 'charakter', 'deszcz', 'czysty', 'zachowanie', - 'ciężki', 'badanie', 'ostry', 'alfabet', 'Niemcy', 'ząb', 'żaden', 'Francja', 'zacząć', 'ile', 'położenie', - 'niemiecki', 'myśleć', 'wynik', 'pracownik', 'piwo', 'walka', 'polegać', 'francuski', 'stół', 'stać się', - 'pierwiastek', 'według', 'chory', 'zasada', 'można', 'but', 'śnieg', 'pociąg', 'utwór', 'zespół', 'kościół', - 'dziewięć', 'nauczyciel', 'siedzieć', 'lekarz', 'łączyć', 'prawy', 'istnieć', 'jutro', 'trudny', 'zbyt', - 'kamień', 'jedzenie', 'liść', 'jasny', 'kultura', 'czynność', 'południe', 'numer', 'mieszkanie', 'klasa', - 'zdanie', 'historia', 'wydawać', 'ściana', 'funkcja', 'żółty', 'ubranie', 'bóg', 'muzyka', 'piec', - 'przypominać', 'uczeń', 'układ', 'księżyc', 'zwłaszcza', 'historyczny', 'komputer', 'rosnąć', 'substancja', - 'chłopiec', 'zachodni', 'również', 'prawda', 'organizm', 'pełny', 'program', 'całość', 'uczucie', 'urząd', - 'starożytny', 'typ', '2', 'polityczny', 'alkohol', 'głupi', 'północ', 'jednak', 'spać', 'pojazd', 'bliski', '5', - 'uprawiać', 'wszystkie', 'para', 'złoty', 'kraina', 'elektryczny', 'cena', 'organizacja', 'przyjść', 'około', - 'niebieski', 'prosić', 'towar', 'przypadek', 'trzeba', 'list', 'źródło', 'ludzki', 'dokument', 'społeczny', - 'herbata', 'kawałek', 'dziedzina', 'słaby', 'myśl', 'dopływ', 'wiedza', 'narzędzie', 'ani', 'lewy', 'naczynie', - 'błąd', 'szybki', 'wojskowy', 'znany', 'wieczór', 'trochę', 'wschodni', 'naturalny', 'zupa', 'pewny', 'trzymać', - 'lód', 'trzydzieści', 'może', 'szeroki', 'zjawisko', 'ogród', 'przeznaczyć', 'przeciwny', 'angielski', 'czytać', - 'ciasto', 'drobny', 'kochać', 'maszyna', 'chłopak', 'sen', 'plan', 'głównie', 'składać', 'wokół', 'produkt', - 'napój', 'wielkość', 'zdjęcie', 'zima', 'zobaczyć', 'energia', 'łóżko', 'obywatel', 'złoto', 'broń', 'tkanina', - 'słodki', 'pytanie', 'mowa', 'województwo', 'spotkanie', 'publiczny', 'obiekt', 'smak', 'karta', 'pełen', - 'większość', 'cukier', 'cześć', 'wpływ', 'wodny', '4', 'stopa', 'Włochy', 'stosunek', 'kuchnia', 'odbywać się', - 'duch', 'morski', 'w celu', 'aż', 'wybrzeże', 'pismo', 'prowincja', 'razem', 'równy', 'stały', 'pięćdziesiąt', - 'wewnątrz', 'prawie', 'gość', 'powstać', 'mocny', 'jajko', 'naród', 'potrawa', 'papier', 'butelka', 'temat', - 'żywy', 'rejon', 'zdrowie', 'lekki', 'sąd', 'palić', 'nikt', 'instrument', '3', 'wiadomość', 'produkcja', 'nos', - 'dziadek', 'palec', 'kość', 'długość', 'obejmować', 'partia', 'Afryka', 'lato', 'rola', 'zapach', 'księga', - 'policja', 'za pomocą', 'czynić', 'udział', 'czekać', 'rower', 'wszystek', 'miejscowość', 'sieć', 'babcia', - 'muzyczny', 'poza', 'odpowiedni', 'usta', 'warstwa', 'lek', 'podstawowy', 'wy', 'chemiczny', 'czterdzieści', - 'zabawa', 'szczyt', 'ponieważ', 'gmina', 'nie ma', 'warunek', 'jabłko', 'wojsko', 'wyrażać', 'powód', - 'rozumieć', 'ciemny', 'słownik', 'długo', 'mama', 'śpiewać', 'środkowy', 'podstawa', 'rano', 'opinia', - 'Hiszpania', 'wyjść', 'religia', 'pozycja', 'wschód', 'zachód', 'fala', 'wydarzenie', 'bogaty', 'piłka', - 'Ziemia', 'Azja', 'ramię', 'sześćdziesiąt', 'właśnie', 'poprzez', 'ucho', 'wypadek', 'gruby', 'nazywać', '30', - 'tytuł', 'stanowisko', 'krowa', 'szczęście', 'obok', 'oficjalny', 'poziom', 'odmiana', 'rosyjski', 'połowa', - 'rozmowa', 'gazeta', 'rodzic', 'ponad', 'potrzeba', 'szukać', 'połączenie', 'wyglądać', 'zbierać', 'rozwój', - 'pogoda', 'masa', 'pomieszczenie', 'potem', 'dzieło', 'nazwisko', 'sól', 'odpowiadać', 'całkowicie', - 'posługiwać się', 'styl', 'sto', 'strach', 'lud', 'religijny', 'papieros', 'słuchać', 'styczeń', 'podróż', - 'głęboki', 'środowisko', 'administracyjny', 'moc', 'pogląd', 'centrum', 'górski', 'święto', 'kara', - 'instytucja', 'pas', 'Grecja', 'szczęśliwy', 'pozbawić', 'zadanie', 'zaczynać', 'taniec', 'korona', 'patrzeć', - 'oznaczać', 'temperatura', 'niedziela', 'listopad', 'chmura', 'zupełnie', 'wśród', 'liczyć', '6', 'otrzymać', - 'metoda', 'ono', 'zdolność', 'gorący', 'zajmować', 'wspólny', 'miły', 'możliwość', 'ładny', 'wejść', - 'wykorzystywać', 'egzamin', 'złożyć', 'wąski', 'skrzydło', 'fizyczny', 'przestrzeń', '100', 'przedstawiać', - 'otwarty', 'komórka', 'kierować', 'nóż', 'płyn', 'gdzieś', 'budowa', 'wspaniały', 'włoski', 'płynąć', - 'więzienie', 'zazwyczaj', 'seksualny', 'szpital', 'nagle', 'grzyb', 'ciepły', 'zmieniać', 'ser', 'wewnętrzny', - 'telefon', 'dlaczego', 'stawać się', 'kupować', 'walczyć', '900', 'zamek', 'dziki', 'zimny', 'minuta', - 'wywoływać', 'obecnie', 'dusza', '8', '10', 'obiad', 'określenie', 'wysokość', 'narodowy', 'europejski', - 'założyć', 'umrzeć', 'tutaj', 'czwarty', 'domowy', 'wierzyć', 'stworzyć', 'moneta', 'wobec', 'barwa', - 'właściwość', 'istota', 'możliwy', 'metal', 'naprawdę', 'umowa', 'węgiel', 'hiszpański', 'pierś', '9', 'trawa', - 'wygląd', 'określać', 'skała', 'przyrząd', 'osiemdziesiąt', 'ogromny', 'wąż', 'ku', 'wchodzić', 'ponownie', - 'natura', 'blisko', 'obowiązek', 'gaz', 'miara', 'z powodu', 'te', 'szczególnie', 'potrzebować', 'stracić', - 'wymagać', 'ludność', 'świnia', 'wcześnie', 'bieg', 'wrogi', 'miękki', 'autobus', 'drogi', 'zakład', - 'amerykański', 'siedemdziesiąt', 'grudzień', 'obcy', 'napisać', 'kolejny', 'sobą', 'ochrona', 'akcja', - 'Szwecja', 'rzymski', 'zwolennik', 'ziemniak', 'piąty', 'zdobyć', '20', 'dach', 'należy', 'bić', 'dział', - 'jeździć', 'pomiędzy', 'klucz', 'artykuł', 'zgoda', 'dziewięćdziesiąt', 'źle', 'ofiara', 'piasek', 'nadzieja', - 'moment', 'uniwersytet', 'Warszawa', 'pamięć', 'odpowiedź', 'luty', 'użycie', 'chronić', 'próbować', 'wyrób', - 'łatwo', 'przyczyna', 'wrzesień', 'teatr', 'przyjąć', 'dodatek', 'czyli', 'specjalista', 'sok', '7', 'decyzja', - 'przemysł', 'rynek', 'owca', 'prezydent', 'spokój', 'radość', 'drużyna', 'miejski', 'wróg', 'dół', 'podawać', - 'Jan', 'kolega', 'odcień', 'zakładać', 'sportowy', 'wolność', 'znowu', 'czuć', 'ten sam', 'owad', 'zatoka', - 'działalność', 'wiosna', 'warzywo', 'pragnienie', 'ogół', 'przykład', 'górny', 'róg', 'cierpieć', 'połączyć', - 'brzuch', 'surowy', 'polityka', 'Rzym', 'uczyć się', 'ogon', 'kula', 'kąt', 'wzrost', 'dokładnie', 'bilet', - 'tamten', 'wzór', 'cienki', 'poważny', 'wychodzić', 'padać', 'właściciel', 'rozmawiać', 'student', - 'międzynarodowy', 'szósty', 'Japonia', 'poruszać się', 'porządek', 'przyjmować', 'uderzenie', 'szacunek', - 'postępowanie', 'bok', 'rada', 'skład', 'koncern', 'przynosić', 'umieć', 'drewniany', 'atak', 'nadawać', - 'pióro', 'dziać się', 'przyjęcie', 'lekcja', 'poniedziałek', 'japoński', 'tradycyjny', 'potrafić', 'obecny', - 'wnętrze', 'kwiecień', 'republika', 'naukowy', 'leczenie', 'późno', 'prąd', 'maj', 'gwałtowny', 'uczyć', - 'terytorium', 'małżeństwo', 'prasa', 'mocno', 'państwowy', 'rzucać', 'dialekt', 'twardy', 'sprzedawać', 'płyta', - 'przyszłość', 'wiersz', 'biedny', 'mapa', 'zamieszkiwać', 'piątek', 'lipiec', 'ciągle', 'lew', 'marzec', - 'jesień', 'obchodzić', 'proszę', 'planeta', 'dzięki', '50', 'wilk', 'łatwy', 'milion', 'gwiazdozbiór', '40', - 'termin', 'pusty', 'wtedy', 'wydać', 'struktura', 'sobota', 'popularny', 'ssak', 'gałąź', 'pieniądze', - 'przeciw', 'technika', 'pół', 'zdrowy', 'więcej', 'świeży', 'szyja', 'zamknąć', 'sala', 'akt', 'wiara', - 'pływać', 'pszczoła', 'projekt', 'jedyny', 'bać się', 'zewnętrzny', 'płaski', 'spokojny', 'zwyczaj', 'organ', - 'sztuczny', 'delikatny', 'typowy', 'literatura', 'budować', 'strój', 'literacki', 'krzew', 'zawód', 'łagodny', - 'następny', 'chiński', 'Słońce', 'telewizja', 'zwykły', 'widoczny', 'piosenka', 'silnik', 'waga', 'płeć', - 'Stany Zjednoczone', 'komputerowy', 'dlatego', 'służba', 'suchy', 'modlitwa', 'sierpień', 'dość', 'kino', - 'siedziba', 'miód', 'lotniczy', 'Chiny', 'specjalny', 'dym', 'zysk', 'podatek', 'wejście', 'pomagać', 'zakres', - 'zwrot', 'fakt', 'otwór', 'pokryć', 'most', 'sprawiać', 'wybór', 'osiągnąć', 'siódmy', 'społeczeństwo', - 'fabryka', 'słyszeć', 'internetowy', 'mysz', 'przyjemność', 'bądź', 'przechodzić', 'próba', 'panować', - 'straszny', 'wrogość', 'zabić', 'przedsiębiorstwo', 'jajo', 'rzeczywistość', 'ziarno', 'restauracja', - 'współczesny', 'krok', 'daleko', 'składnik', 'kanał', 'kalendarz', 'odległość', 'przeciwnik', 'złapać', 'czyn', - 'mur', 'zmienić', 'kurs', 'niebezpieczny', 'Czechy', 'wtorek', 'ocena', 'postawić', 'okolica', 'usterka', - 'zjeść', 'umiejętność', 'zapomnieć', 'Anglia', 'dzielić', 'pamiętać', 'szef', 'majątek', 'kosztować', 'port', - 'spotkać', 'autor', 'los', 'dwudziesty', 'zdarzenie', 'ósmy', 'ślub', 'dopiero', 'prywatny', 'pojechać', - 'policjant', 'sędzia', 'średni', 'rzeczownik', 'ciepło', 'badać', 'rasa', 'Dania', 'koszula', 'okazja', - 'przeciwko', 'usługa', 'stawiać', 'otwierać', 'efekt', 'kapelusz', 'kaczka', 'własność', 'model', 'mięsień', - 'zgodnie', 'podać', 'piłka nożna', 'reakcja', 'znów', 'przejaw', 'doświadczenie', 'dziura', 'bitwa', 'korzyść', - 'bank', 'Indie', 'gniew', 'przedstawienie', 'naj-', 'czasownik', 'jakość', 'dłoń', 'osioł', 'hotel', 'sprzedaż', - 'kierowca', 'różnica', 'bohater', 'masło', 'wrażenie', 'brzydki', 'rozmiar', 'rzadko', 'królowa', 'przejść', - 'olej', 'śniadanie', 'artysta', 'pisarz', 'zamykać', 'opowiadać', 'plaża', 'słoneczny', 'prędkość', 'mąka', - 'Polak', 'ciąża', 'gęsty', 'zero', 'dawno', 'przyjemny', 'spowodować', 'brudny', 'wytwarzać', 'opisać', - 'okrągły', 'ciecz', 'ludowy', 'wrócić', 'dokonywać', 'kiedyś', 'wola', 'waluta', 'całkowity', 'wykonanie', - 'dziwny', 'tracić', 'wczesny', 'jazda', 'uderzać', 'radio', 'wyrażenie', 'wizyta', 'rana', 'daleki', 'czasem', - 'wybrać', 'fałszywy', 'pozwalać', 'złożony', 'klasztor', 'zawodnik', 'minerał', 'znajdować', 'przyszły', - 'koszt', 'spodnie', 'przepis', 'stacja', 'rzadki', 'grób', 'mecz', 'dyskusja', 'sport', 'nieszczęście', 'pieśń', - 'wolno', 'handel', 'korzeń', 'łaciński', 'penis', 'październik', 'głód', 'srebro', 'kontakt', 'budzić', - 'czwartek', 'otaczać', 'prostytutka', 'tradycja', 'znosić', 'gniazdo', 'złodziej', 'godny', 'powoli', 'zegar', - 'urzędnik', 'Rumunia', 'Egipt', 'metr', 'kolano', 'przestać', 'uderzyć', 'Turcja', 'przerwa', 'skończyć', - 'jeżeli', 'sądzić', 'transport', 'dobro', 'przygotować', 'szkolny', 'mi', 'małpa', 'udać się', 'krzyż', - 'atmosfera', 'klient', 'brązowy', 'tłuszcz', 'ślad', 'mebel', 'zakończenie', 'USA', 'coraz', 'wódka', 'danie', - 'sos', 'liczny', 'oddawać', 'zachowywać się', 'kontrola', 'mózg', 'bezpieczeństwo', 'duński', 'oglądać', - 'dodawać', 'urodziny', 'figura', 'powiat', 'dzisiejszy', 'otworzyć', 'armia', 'zboże', 'czerwiec', 'opłata', - 'skutek', 'suma', 'wyjście', 'operacja', 'niedźwiedź', 'matematyka', 'zniszczyć', 'pokazywać', 'zbudować', - 'kontynent', 'dwanaście', 'dodatkowy', 'fragment', 'łódź', 'szary', '80', 'ojczyzna', 'tańczyć', - 'Boże Narodzenie', 'umysł', 'Ameryka', 'ogólny', 'azjatycki', 'bydło', 'biblioteka', 'żart', 'rozwiązanie', - 'lecieć', 'pojęcie', 'konstrukcja', 'Austria', 'niech', 'niebezpieczeństwo', 'tyle', 'podłoga', 'wysoko', - 'odczuwać', 'obrona', 'żelazo', 'studiować', 'środa', 'park', 'powstawać', 'łuk', 'dolina', 'przygotowywać', - 'obywatelka', 'gotowy', 'miecz', 'uchodzić', 'szkoda', 'zgodny', 'dzielnica', 'prezent', 'sukces', '90', - 'lista', 'towarzystwo', 'podział', 'wysiłek', 'stado', 'tajemnica', 'kłopot', 'łyżka', 'lęk', 'cebula', - 'płacić', 'no', 'profesor', 'w czasie', 'niszczyć', 'm.in.', 'Afganistan', 'usuwać', 'pomysł', 'mrówka', - 'Kraków', 'gotować', 'norma', 'całkiem', 'finansowy', 'tor', 'temu', 'jądro', 'wracać', 'Białoruś', 'koza', - 'Jezus', 'płaszcz', 'wierny', 'różowy', 'widok', 'sygnał', 'cesarz', 'potrzebny', 'nagły', 'wypowiedź', 'kosz', - 'królestwo', 'samochodowy', 'artystyczny', '60', 'Chrystus', 'anioł', 'przejście', 'krzesło', 'sprzęt', - 'wskazywać', 'ksiądz', 'strumień', 'metalowy', 'wykonywanie', 'zmarły', 'chrześcijański', 'cierpienie', 'scena', - 'przeszkoda', 'zimno', 'mieć na imię', 'przychodzić', 'słoń', 'odwaga', 'przedstawiciel', 'aktor', 'ciekawy', - 'dziewiąty', 'Australia', 'smutny', 'biec', 'przyprawa', 'prawny', 'tłum', 'interes', 'studia', 'świątynia', - 'pijany', 'użytkownik', 'kostka', 'wywołać', 'wujek', 'dodać', 'robotnik', 'powszechny', 'dyrektor', - 'umieszczać', 'robota', 'narząd', 'szwedzki', 'turecki', 'otrzymywać', 'produkować', 'zabawka', 'kolejowy', - 'nastrój', 'szkło', 'ziemski', 'farba', 'bycie', 'zainteresowanie', 'relacja', 'ciężar', 'pasmo', 'wynosić', - 'obóz', 'marka', 'szczególny', 'lis', 'wada', 'Holandia', 'bogini', 'uciekać', 'dziewczynka', 'przestępstwo', - 'wycieczka', 'tablica', 'kolej', 'natychmiast', 'zdolny', 'wysyłać', 'błoto', 'Szwajcaria', 'orzeł', 'oddech', - 'motyl', 'kilometr', 'umożliwiać', 'żydowski', 'gospodarka', 'pomóc', 'wciąż', 'intensywny', 'wakacje', 'pytać', - 'utrzymywać', 'gdyby', 'malować', 'samica', 'istotny', 'idea', 'posiłek', 'wszelki', 'seks', 'pomarańczowy', - 'handlowy', 'czoło', 'przynieść', 'teoria', 'staw', 'obserwować', 'po prostu', 'Izrael', 'opieka', 'mgła', - 'osobisty', 'znaczyć', 'impreza', 'powieść', 'archipelag', 'nadmierny', 'reguła', 'pojedynczy', 'szklanka', - 'wóz', 'odcinek', 'telewizyjny', 'róża', 'zawartość', 'ryż', 'poznać', 'jedynie', 'polityk', 'zwycięstwo', - 'władca', 'żaba', 'zbiornik', 'mistrz', 'procent', 'zawodowy', 'obowiązywać', 'choć', 'kura', 'ćwiczenie', - 'chłop', 'świeca', 'promień', 'spadek', 'trudność', 'szereg', 'cień', 'epoka', 'umieścić', 'doskonały', - 'ozdobny', 'chociaż', 'kościelny', 'wyścig', 'zamiast', 'ocean', 'koncert', 'wybierać', 'znaczny', - 'chrześcijaństwo', 'bar', 'gołąb', 'postawa', 'kolacja', 'wina', 'pora', 'pragnąć', 'zakończyć', 'bieda', - 'Węgry', 'smutek', 'biuro', 'wieczorem', 'dolny', 'byk', 'burza', 'katolicki', 'książę', 'samiec', 'grzech', - 'naukowiec', 'kończyć', 'dorosły', 'zapalenie', 'przyjaźń', 'godność', 'fotografia', 'nieprzyjemny', 'mądry', - 'klimat', 'muzeum', 'treść', 'rezultat', 'dane', 'cisza', 'zaś', 'psychiczny', 'starać się', 'lampa', 'wesoły', - 'Unia Europejska', 'dziób', 'traktować', 'przeprowadzać', 'piętro', 'niezwykły', 'wieża', 'pokarm', 'igła', - 'strefa', 'spór', 'dać się', 'Estonia', 'poprzedni', 'dowód', 'pasek', 'dno', 'klub', 'wysłać', 'rachunek', - 'odkryć', 'gardło', 'piętnaście', 'nauczycielka', 'bawić się', 'królewski', 'lotnisko', 'wzrok', 'moralny', - 'odzież', 'śmiać się', 'mnóstwo', 'czapka', 'wywodzić się', 'sądowy', 'papież', 'plemię', 'kartka', '70', - 'tani', 'pożar', 'półwysep', 'kult', 'łąka', 'lot', 'broda', 'wspólnota', 'wreszcie', 'lata', 'powolny', - 'przybyć', 'mocz', 'Słowacja', 'grunt', 'pomidor', 'dokładny', 'stowarzyszenie', 'r.', 'wojenny', 'odważny', - 'podnosić', 'zeszły', 'ośrodek', 'ozdoba', 'wraz', 'tytoń', 'obrót', 'zmęczony', 'głośny', 'parlament', - 'uzyskać', 'wydawać się', 'budowla', 'jakby', 'wniosek', 'zajęcie', 'rysunek', 'wzgląd', 'pająk', - 'Morze Śródziemne', 'Litwa', 'jednocześnie', 'diabeł', 'pozostać', 'kłaść', 'skłonność', 'dziecięcy', - 'korzystać', 'Belgia', 'lina', 'wystawa', 'ciągnąć', 'pacjent', 'świadczyć', 'narkotyk', 'sukienka', - 'techniczny', 'zaraz', 'Wielka Brytania', 'medycyna', 'przyjechać', 'powstanie', 'trwały', 'wzbudzać', - 'czynnik', 'strata', 'podróżować', 'hałas', 'rak', 'talerz', 'plecy', 'późny', 'deska', 'boleć', 'spaść', - 'martwy', 'łańcuch', 'czeski', 'filmowy', 'wygrać', 'zaufanie', 'alkoholowy', 'płakać', 'głupiec', 'poczta', - 'dar', 'w formie', 'narodowość', 'podnieść', 'okręt', 'gęś', 'oś', 'nasiono', 'śmiech', 'tył', 'woleć', 'islam', - 'sowa', 'wpaść', 'panna', 'chyba', 'osiągnięcie', 'trudno', 'robak', 'otoczenie', 'konflikt', 'centralny', - 'pustynia', 'gabinet', 'poruszać', 'hasło', 'świecić', 'kij', 'przód', 'etap', 'większy', 'filozofia', - 'jedenaście', 'wstyd', 'kobiecy', 'urzędowy', 'czekolada', 'ciemność', 'zapis', 'ubogi', 'wioska', 'biskup', - 'doktor', 'oczywiście', 'wisieć', 'tłumaczenie', 'kwestia', 'kogut', 'oddać', 'ślepy', 'latać', 'babka', - 'dokonać', 'bogactwo', 'śmieć', 'analiza', 'strzelać', 'mierzyć', 'ciotka', 'blady', 'pozostawać', 'tłumaczyć', - 'muzyk', 'zgadzać się', 'paliwo', 'Żyd', 'postępować', 'bronić', 'szkodliwy', 'zanim', 'włosy', 'zatrzymać', - 'aktywny', 'skala', 'cmentarz', 'spadać', 'głupota', 'kieszeń', 'lustro', 'zając', 'szlachetny', 'wątpliwość', - 'letni', 'cyfra', 'lokalny', 'pomarańcza', 'skierować', 'poeta', 'okropny', 'istnienie', 'minister', 'umierać', - 'faza', 'dalej', 'następować', 'zrozumieć', 'dostęp', 'opuścić', 'katastrofa', 'pojemnik', 'pojawiać się', - 'ulegać', 'lekarstwo', 'przymiotnik', 'nieść', 'Chorwacja', 'inaczej', 'plama', 'policzek', 'chęć', 'królik', - 'bóstwo', 'ryzyko', 'zamiar', 'przebywać', 'radiowy', 'pałac', 'zarówno', 'nazywać się', 'paczka', - 'gospodarstwo', 'kolumna', 'graniczyć', 'biologia', 'upadek', 'wprowadzać', 'Kościół', 'rzucić', 'plus', - 'wkrótce', 'ładunek', 'sprawiedliwość', 'kolorowy', 'kapusta', 'wybory', 'uśmiech', 'zakon', 'nocny', 'kurwa', - 'Adam', 'na pewno', 'przemysłowy', 'oba', 'wyjątkowy', 'najpierw', 'futro', 'pisanie', 'planować', 'jadalny', - 'adres', 'przenosić', 'dojść', 'częściowo', 'bezpośrednio', 'wybuch', 'głodny', 'oprzeć', 'tata', 'wzgórze', - 'fizyka', 'planetoida', 'zgromadzenie', 'codzienny', 'tarcza', 'św.', 'dziennik', 'krzyczeć', 'Norwegia', '0', - 'organizować', 'urodzić się', 'wynikać', 'krawędź', 'pełnić', 'Albania', 'uciec', 'czasami', 'przekazywać', - 'praktyka', 'pokrywać', 'płot', 'oczekiwać', 'użyć', 'rządzić', 'ustawa', 'rolnik', + "w", + "z", + "być", + "na", + "i", + "do", + "nie", + "to", + "który", + "lub", + "się", + "mieć", + "o", + "coś", + "ten", + "dotyczyć", + "co", + "on", + "ktoś", + "od", + "język", + "że", + "po", + "przez", + "ja", + "jeden", + "miasto", + "za", + "osoba", + "jak", + "rok", + "cecha", + "a", + "bardzo", + "taki", + "mój", + "człowiek", + "imię", + "swój", + "dla", + "związać", + "część", + "kobieta", + "dwa", + "móc", + "ona", + "pan", + "nasz", + "jakiś", + "mały", + "ze", + "miejsce", + "inny", + "bez", + "czas", + "duży", + "związany", + "praca", + "czy", + "ale", + "pies", + "sposób", + "Polska", + "rodzaj", + "tylko", + "dom", + "dziecko", + "np.", + "ty", + "dzień", + "mieszkaniec", + "jako", + "rzeka", + "przed", + "pani", + "męski", + "woda", + "tak", + "pod", + "dobry", + "już", + "państwo", + "rodzina", + "zostać", + "życie", + "mówić", + "zwierzę", + "nad", + "pierwszy", + "ta", + "przy", + "wiele", + "cały", + "roślina", + "u", + "sobie", + "trzy", + "nowy", + "często", + "chcieć", + "kolor", + "musieć", + "używać", + "robić", + "wielki", + "żeński", + "kraj", + "mężczyzna", + "jego", + "strona", + "wysoki", + "każdy", + "nazwa", + "gatunek", + "polski", + "iść", + "sam", + "stolica", + "grupa", + "stary", + "my", + "zrobić", + "książka", + "kto", + "symbol", + "drugi", + "rzecz", + "stan", + "samochód", + "drzewo", + "ptak", + "między", + "świat", + "prawo", + "sąsiad", + "droga", + "oraz", + "słowo", + "mieszkanka", + "głowa", + "liczba", + "ci", + "oni", + "nie-", + "codziennie", + "owoc", + "gdy", + "młody", + "środek", + "zły", + "spotykać", + "bo", + "raz", + "spacer", + "ziemia", + "liczba atomowa", + "aby", + "znajdować się", + "należeć", + "itp.", + "ojciec", + "dużo", + "wiek", + "Rosja", + "dobrze", + "kiedy", + "służyć", + "kilka", + "przedmiot", + "ręka", + "jaki", + "biały", + "długi", + "sprawa", + "cztery", + "siebie", + "podczas", + "ruch", + "okres", + "góra", + "żona", + "litera", + "matka", + "odnosić się", + "kupić", + "pięć", + "widzieć", + "zawsze", + "oko", + "albo", + "zajmować się", + "jeszcze", + "stać", + "szkoła", + "forma", + "we", + "pracować", + "cel", + "koniec", + "twój", + "ciało", + "wiedzieć", + "mieszkać", + "zwykle", + "niż", + "działanie", + "koń", + "pokój", + "element", + "kwiat", + "nauka", + "godzina", + "wszystko", + "zawierać", + "gdzie", + "położyć", + "powiedzieć", + "pierwiastek chemiczny", + "urządzenie", + "choroba", + "lubić", + "pochodzić", + "wyspa", + "syn", + "prowadzić", + "piękny", + "dać", + "wszyscy", + "miesiąc", + "wieś", + "jednostka", + "ryba", + "światło", + "jeść", + "dziewczyna", + "żyć", + "by", + "dawać", + "budynek", + "stopień", + "grać", + "herb", + "brat", + "las", + "jej", + "siła", + "obszar", + "czarny", + "nic", + "znak", + "dany", + "one", + "żeby", + "czerwony", + "rząd", + "różny", + "brak", + "dziś", + "gra", + "leżeć", + "związek", + "członek", + "kształt", + "chodzić", + "wykonywać", + "wartość", + "noc", + "obwód", + "sztuka", + "statek", + "teraz", + "noga", + "dźwięk", + "występować", + "teren", + "ostatni", + "pieniądz", + "sytuacja", + "wczoraj", + "śmierć", + "tydzień", + "sklep", + "niebo", + "niektóry", + "morze", + "ważny", + "także", + "film", + "krótki", + "Europa", + "działać", + "główny", + "tworzyć", + "wykonać", + "skóra", + "sześć", + "tam", + "materiał", + "trwać", + "dwadzieścia", + "ilość", + "wino", + "kot", + "szybko", + "określony", + "lecz", + "własny", + "wojna", + "pochodzenie", + "pole", + "powierzchnia", + "północny", + "flaga", + "przyjaciel", + "postać", + "znać", + "silny", + "proces", + "władza", + "mleko", + "system", + "mięso", + "obraz", + "składać się", + "wyraz", + "tysiąc", + "głos", + "pić", + "południowy", + "słońce", + "serce", + "początek", + "córka", + "Bóg", + "pisać", + "jechać", + "drzwi", + "twarz", + "region", + "firma", + "miłość", + "wiatr", + "zielony", + "tekst", + "jeśli", + "zmiana", + "grecki", + "kierunek", + "siedem", + "święty", + "nawet", + "król", + "niski", + "wolny", + "koło", + "linia", + "kawa", + "dzisiaj", + "chleb", + "ulica", + "siostra", + "dawny", + "czyjś", + "1000", + "nosić", + "problem", + "powietrze", + "włos", + "prosty", + "więc", + "układ okresowy", + "pomoc", + "żołnierz", + "brać", + "wziąć", + "tu", + "posiadać", + "powodować", + "uważać", + "punkt", + "ogień", + "arabski", + "podobny", + "stanowić", + "ludzie", + "charakterystyczny", + "mało", + "jezioro", + "właściwy", + "pewien", + "mąż", + "też", + "trzeci", + "krew", + "brzeg", + "dziesięć", + "samolot", + "znaleźć", + "okno", + "znaczenie", + "osiem", + "pójść", + "1", + "gwiazda", + "informacja", + "granica", + "oddział", + "prawdziwy", + "dostać", + "powinien", + "ich", + "nigdy", + "drewno", + "stosować", + "zbiór", + "Ukraina", + "chwila", + "ból", + "uwaga", + "niewielki", + "charakter", + "deszcz", + "czysty", + "zachowanie", + "ciężki", + "badanie", + "ostry", + "alfabet", + "Niemcy", + "ząb", + "żaden", + "Francja", + "zacząć", + "ile", + "położenie", + "niemiecki", + "myśleć", + "wynik", + "pracownik", + "piwo", + "walka", + "polegać", + "francuski", + "stół", + "stać się", + "pierwiastek", + "według", + "chory", + "zasada", + "można", + "but", + "śnieg", + "pociąg", + "utwór", + "zespół", + "kościół", + "dziewięć", + "nauczyciel", + "siedzieć", + "lekarz", + "łączyć", + "prawy", + "istnieć", + "jutro", + "trudny", + "zbyt", + "kamień", + "jedzenie", + "liść", + "jasny", + "kultura", + "czynność", + "południe", + "numer", + "mieszkanie", + "klasa", + "zdanie", + "historia", + "wydawać", + "ściana", + "funkcja", + "żółty", + "ubranie", + "bóg", + "muzyka", + "piec", + "przypominać", + "uczeń", + "układ", + "księżyc", + "zwłaszcza", + "historyczny", + "komputer", + "rosnąć", + "substancja", + "chłopiec", + "zachodni", + "również", + "prawda", + "organizm", + "pełny", + "program", + "całość", + "uczucie", + "urząd", + "starożytny", + "typ", + "2", + "polityczny", + "alkohol", + "głupi", + "północ", + "jednak", + "spać", + "pojazd", + "bliski", + "5", + "uprawiać", + "wszystkie", + "para", + "złoty", + "kraina", + "elektryczny", + "cena", + "organizacja", + "przyjść", + "około", + "niebieski", + "prosić", + "towar", + "przypadek", + "trzeba", + "list", + "źródło", + "ludzki", + "dokument", + "społeczny", + "herbata", + "kawałek", + "dziedzina", + "słaby", + "myśl", + "dopływ", + "wiedza", + "narzędzie", + "ani", + "lewy", + "naczynie", + "błąd", + "szybki", + "wojskowy", + "znany", + "wieczór", + "trochę", + "wschodni", + "naturalny", + "zupa", + "pewny", + "trzymać", + "lód", + "trzydzieści", + "może", + "szeroki", + "zjawisko", + "ogród", + "przeznaczyć", + "przeciwny", + "angielski", + "czytać", + "ciasto", + "drobny", + "kochać", + "maszyna", + "chłopak", + "sen", + "plan", + "głównie", + "składać", + "wokół", + "produkt", + "napój", + "wielkość", + "zdjęcie", + "zima", + "zobaczyć", + "energia", + "łóżko", + "obywatel", + "złoto", + "broń", + "tkanina", + "słodki", + "pytanie", + "mowa", + "województwo", + "spotkanie", + "publiczny", + "obiekt", + "smak", + "karta", + "pełen", + "większość", + "cukier", + "cześć", + "wpływ", + "wodny", + "4", + "stopa", + "Włochy", + "stosunek", + "kuchnia", + "odbywać się", + "duch", + "morski", + "w celu", + "aż", + "wybrzeże", + "pismo", + "prowincja", + "razem", + "równy", + "stały", + "pięćdziesiąt", + "wewnątrz", + "prawie", + "gość", + "powstać", + "mocny", + "jajko", + "naród", + "potrawa", + "papier", + "butelka", + "temat", + "żywy", + "rejon", + "zdrowie", + "lekki", + "sąd", + "palić", + "nikt", + "instrument", + "3", + "wiadomość", + "produkcja", + "nos", + "dziadek", + "palec", + "kość", + "długość", + "obejmować", + "partia", + "Afryka", + "lato", + "rola", + "zapach", + "księga", + "policja", + "za pomocą", + "czynić", + "udział", + "czekać", + "rower", + "wszystek", + "miejscowość", + "sieć", + "babcia", + "muzyczny", + "poza", + "odpowiedni", + "usta", + "warstwa", + "lek", + "podstawowy", + "wy", + "chemiczny", + "czterdzieści", + "zabawa", + "szczyt", + "ponieważ", + "gmina", + "nie ma", + "warunek", + "jabłko", + "wojsko", + "wyrażać", + "powód", + "rozumieć", + "ciemny", + "słownik", + "długo", + "mama", + "śpiewać", + "środkowy", + "podstawa", + "rano", + "opinia", + "Hiszpania", + "wyjść", + "religia", + "pozycja", + "wschód", + "zachód", + "fala", + "wydarzenie", + "bogaty", + "piłka", + "Ziemia", + "Azja", + "ramię", + "sześćdziesiąt", + "właśnie", + "poprzez", + "ucho", + "wypadek", + "gruby", + "nazywać", + "30", + "tytuł", + "stanowisko", + "krowa", + "szczęście", + "obok", + "oficjalny", + "poziom", + "odmiana", + "rosyjski", + "połowa", + "rozmowa", + "gazeta", + "rodzic", + "ponad", + "potrzeba", + "szukać", + "połączenie", + "wyglądać", + "zbierać", + "rozwój", + "pogoda", + "masa", + "pomieszczenie", + "potem", + "dzieło", + "nazwisko", + "sól", + "odpowiadać", + "całkowicie", + "posługiwać się", + "styl", + "sto", + "strach", + "lud", + "religijny", + "papieros", + "słuchać", + "styczeń", + "podróż", + "głęboki", + "środowisko", + "administracyjny", + "moc", + "pogląd", + "centrum", + "górski", + "święto", + "kara", + "instytucja", + "pas", + "Grecja", + "szczęśliwy", + "pozbawić", + "zadanie", + "zaczynać", + "taniec", + "korona", + "patrzeć", + "oznaczać", + "temperatura", + "niedziela", + "listopad", + "chmura", + "zupełnie", + "wśród", + "liczyć", + "6", + "otrzymać", + "metoda", + "ono", + "zdolność", + "gorący", + "zajmować", + "wspólny", + "miły", + "możliwość", + "ładny", + "wejść", + "wykorzystywać", + "egzamin", + "złożyć", + "wąski", + "skrzydło", + "fizyczny", + "przestrzeń", + "100", + "przedstawiać", + "otwarty", + "komórka", + "kierować", + "nóż", + "płyn", + "gdzieś", + "budowa", + "wspaniały", + "włoski", + "płynąć", + "więzienie", + "zazwyczaj", + "seksualny", + "szpital", + "nagle", + "grzyb", + "ciepły", + "zmieniać", + "ser", + "wewnętrzny", + "telefon", + "dlaczego", + "stawać się", + "kupować", + "walczyć", + "900", + "zamek", + "dziki", + "zimny", + "minuta", + "wywoływać", + "obecnie", + "dusza", + "8", + "10", + "obiad", + "określenie", + "wysokość", + "narodowy", + "europejski", + "założyć", + "umrzeć", + "tutaj", + "czwarty", + "domowy", + "wierzyć", + "stworzyć", + "moneta", + "wobec", + "barwa", + "właściwość", + "istota", + "możliwy", + "metal", + "naprawdę", + "umowa", + "węgiel", + "hiszpański", + "pierś", + "9", + "trawa", + "wygląd", + "określać", + "skała", + "przyrząd", + "osiemdziesiąt", + "ogromny", + "wąż", + "ku", + "wchodzić", + "ponownie", + "natura", + "blisko", + "obowiązek", + "gaz", + "miara", + "z powodu", + "te", + "szczególnie", + "potrzebować", + "stracić", + "wymagać", + "ludność", + "świnia", + "wcześnie", + "bieg", + "wrogi", + "miękki", + "autobus", + "drogi", + "zakład", + "amerykański", + "siedemdziesiąt", + "grudzień", + "obcy", + "napisać", + "kolejny", + "sobą", + "ochrona", + "akcja", + "Szwecja", + "rzymski", + "zwolennik", + "ziemniak", + "piąty", + "zdobyć", + "20", + "dach", + "należy", + "bić", + "dział", + "jeździć", + "pomiędzy", + "klucz", + "artykuł", + "zgoda", + "dziewięćdziesiąt", + "źle", + "ofiara", + "piasek", + "nadzieja", + "moment", + "uniwersytet", + "Warszawa", + "pamięć", + "odpowiedź", + "luty", + "użycie", + "chronić", + "próbować", + "wyrób", + "łatwo", + "przyczyna", + "wrzesień", + "teatr", + "przyjąć", + "dodatek", + "czyli", + "specjalista", + "sok", + "7", + "decyzja", + "przemysł", + "rynek", + "owca", + "prezydent", + "spokój", + "radość", + "drużyna", + "miejski", + "wróg", + "dół", + "podawać", + "Jan", + "kolega", + "odcień", + "zakładać", + "sportowy", + "wolność", + "znowu", + "czuć", + "ten sam", + "owad", + "zatoka", + "działalność", + "wiosna", + "warzywo", + "pragnienie", + "ogół", + "przykład", + "górny", + "róg", + "cierpieć", + "połączyć", + "brzuch", + "surowy", + "polityka", + "Rzym", + "uczyć się", + "ogon", + "kula", + "kąt", + "wzrost", + "dokładnie", + "bilet", + "tamten", + "wzór", + "cienki", + "poważny", + "wychodzić", + "padać", + "właściciel", + "rozmawiać", + "student", + "międzynarodowy", + "szósty", + "Japonia", + "poruszać się", + "porządek", + "przyjmować", + "uderzenie", + "szacunek", + "postępowanie", + "bok", + "rada", + "skład", + "koncern", + "przynosić", + "umieć", + "drewniany", + "atak", + "nadawać", + "pióro", + "dziać się", + "przyjęcie", + "lekcja", + "poniedziałek", + "japoński", + "tradycyjny", + "potrafić", + "obecny", + "wnętrze", + "kwiecień", + "republika", + "naukowy", + "leczenie", + "późno", + "prąd", + "maj", + "gwałtowny", + "uczyć", + "terytorium", + "małżeństwo", + "prasa", + "mocno", + "państwowy", + "rzucać", + "dialekt", + "twardy", + "sprzedawać", + "płyta", + "przyszłość", + "wiersz", + "biedny", + "mapa", + "zamieszkiwać", + "piątek", + "lipiec", + "ciągle", + "lew", + "marzec", + "jesień", + "obchodzić", + "proszę", + "planeta", + "dzięki", + "50", + "wilk", + "łatwy", + "milion", + "gwiazdozbiór", + "40", + "termin", + "pusty", + "wtedy", + "wydać", + "struktura", + "sobota", + "popularny", + "ssak", + "gałąź", + "pieniądze", + "przeciw", + "technika", + "pół", + "zdrowy", + "więcej", + "świeży", + "szyja", + "zamknąć", + "sala", + "akt", + "wiara", + "pływać", + "pszczoła", + "projekt", + "jedyny", + "bać się", + "zewnętrzny", + "płaski", + "spokojny", + "zwyczaj", + "organ", + "sztuczny", + "delikatny", + "typowy", + "literatura", + "budować", + "strój", + "literacki", + "krzew", + "zawód", + "łagodny", + "następny", + "chiński", + "Słońce", + "telewizja", + "zwykły", + "widoczny", + "piosenka", + "silnik", + "waga", + "płeć", + "Stany Zjednoczone", + "komputerowy", + "dlatego", + "służba", + "suchy", + "modlitwa", + "sierpień", + "dość", + "kino", + "siedziba", + "miód", + "lotniczy", + "Chiny", + "specjalny", + "dym", + "zysk", + "podatek", + "wejście", + "pomagać", + "zakres", + "zwrot", + "fakt", + "otwór", + "pokryć", + "most", + "sprawiać", + "wybór", + "osiągnąć", + "siódmy", + "społeczeństwo", + "fabryka", + "słyszeć", + "internetowy", + "mysz", + "przyjemność", + "bądź", + "przechodzić", + "próba", + "panować", + "straszny", + "wrogość", + "zabić", + "przedsiębiorstwo", + "jajo", + "rzeczywistość", + "ziarno", + "restauracja", + "współczesny", + "krok", + "daleko", + "składnik", + "kanał", + "kalendarz", + "odległość", + "przeciwnik", + "złapać", + "czyn", + "mur", + "zmienić", + "kurs", + "niebezpieczny", + "Czechy", + "wtorek", + "ocena", + "postawić", + "okolica", + "usterka", + "zjeść", + "umiejętność", + "zapomnieć", + "Anglia", + "dzielić", + "pamiętać", + "szef", + "majątek", + "kosztować", + "port", + "spotkać", + "autor", + "los", + "dwudziesty", + "zdarzenie", + "ósmy", + "ślub", + "dopiero", + "prywatny", + "pojechać", + "policjant", + "sędzia", + "średni", + "rzeczownik", + "ciepło", + "badać", + "rasa", + "Dania", + "koszula", + "okazja", + "przeciwko", + "usługa", + "stawiać", + "otwierać", + "efekt", + "kapelusz", + "kaczka", + "własność", + "model", + "mięsień", + "zgodnie", + "podać", + "piłka nożna", + "reakcja", + "znów", + "przejaw", + "doświadczenie", + "dziura", + "bitwa", + "korzyść", + "bank", + "Indie", + "gniew", + "przedstawienie", + "naj-", + "czasownik", + "jakość", + "dłoń", + "osioł", + "hotel", + "sprzedaż", + "kierowca", + "różnica", + "bohater", + "masło", + "wrażenie", + "brzydki", + "rozmiar", + "rzadko", + "królowa", + "przejść", + "olej", + "śniadanie", + "artysta", + "pisarz", + "zamykać", + "opowiadać", + "plaża", + "słoneczny", + "prędkość", + "mąka", + "Polak", + "ciąża", + "gęsty", + "zero", + "dawno", + "przyjemny", + "spowodować", + "brudny", + "wytwarzać", + "opisać", + "okrągły", + "ciecz", + "ludowy", + "wrócić", + "dokonywać", + "kiedyś", + "wola", + "waluta", + "całkowity", + "wykonanie", + "dziwny", + "tracić", + "wczesny", + "jazda", + "uderzać", + "radio", + "wyrażenie", + "wizyta", + "rana", + "daleki", + "czasem", + "wybrać", + "fałszywy", + "pozwalać", + "złożony", + "klasztor", + "zawodnik", + "minerał", + "znajdować", + "przyszły", + "koszt", + "spodnie", + "przepis", + "stacja", + "rzadki", + "grób", + "mecz", + "dyskusja", + "sport", + "nieszczęście", + "pieśń", + "wolno", + "handel", + "korzeń", + "łaciński", + "penis", + "październik", + "głód", + "srebro", + "kontakt", + "budzić", + "czwartek", + "otaczać", + "prostytutka", + "tradycja", + "znosić", + "gniazdo", + "złodziej", + "godny", + "powoli", + "zegar", + "urzędnik", + "Rumunia", + "Egipt", + "metr", + "kolano", + "przestać", + "uderzyć", + "Turcja", + "przerwa", + "skończyć", + "jeżeli", + "sądzić", + "transport", + "dobro", + "przygotować", + "szkolny", + "mi", + "małpa", + "udać się", + "krzyż", + "atmosfera", + "klient", + "brązowy", + "tłuszcz", + "ślad", + "mebel", + "zakończenie", + "USA", + "coraz", + "wódka", + "danie", + "sos", + "liczny", + "oddawać", + "zachowywać się", + "kontrola", + "mózg", + "bezpieczeństwo", + "duński", + "oglądać", + "dodawać", + "urodziny", + "figura", + "powiat", + "dzisiejszy", + "otworzyć", + "armia", + "zboże", + "czerwiec", + "opłata", + "skutek", + "suma", + "wyjście", + "operacja", + "niedźwiedź", + "matematyka", + "zniszczyć", + "pokazywać", + "zbudować", + "kontynent", + "dwanaście", + "dodatkowy", + "fragment", + "łódź", + "szary", + "80", + "ojczyzna", + "tańczyć", + "Boże Narodzenie", + "umysł", + "Ameryka", + "ogólny", + "azjatycki", + "bydło", + "biblioteka", + "żart", + "rozwiązanie", + "lecieć", + "pojęcie", + "konstrukcja", + "Austria", + "niech", + "niebezpieczeństwo", + "tyle", + "podłoga", + "wysoko", + "odczuwać", + "obrona", + "żelazo", + "studiować", + "środa", + "park", + "powstawać", + "łuk", + "dolina", + "przygotowywać", + "obywatelka", + "gotowy", + "miecz", + "uchodzić", + "szkoda", + "zgodny", + "dzielnica", + "prezent", + "sukces", + "90", + "lista", + "towarzystwo", + "podział", + "wysiłek", + "stado", + "tajemnica", + "kłopot", + "łyżka", + "lęk", + "cebula", + "płacić", + "no", + "profesor", + "w czasie", + "niszczyć", + "m.in.", + "Afganistan", + "usuwać", + "pomysł", + "mrówka", + "Kraków", + "gotować", + "norma", + "całkiem", + "finansowy", + "tor", + "temu", + "jądro", + "wracać", + "Białoruś", + "koza", + "Jezus", + "płaszcz", + "wierny", + "różowy", + "widok", + "sygnał", + "cesarz", + "potrzebny", + "nagły", + "wypowiedź", + "kosz", + "królestwo", + "samochodowy", + "artystyczny", + "60", + "Chrystus", + "anioł", + "przejście", + "krzesło", + "sprzęt", + "wskazywać", + "ksiądz", + "strumień", + "metalowy", + "wykonywanie", + "zmarły", + "chrześcijański", + "cierpienie", + "scena", + "przeszkoda", + "zimno", + "mieć na imię", + "przychodzić", + "słoń", + "odwaga", + "przedstawiciel", + "aktor", + "ciekawy", + "dziewiąty", + "Australia", + "smutny", + "biec", + "przyprawa", + "prawny", + "tłum", + "interes", + "studia", + "świątynia", + "pijany", + "użytkownik", + "kostka", + "wywołać", + "wujek", + "dodać", + "robotnik", + "powszechny", + "dyrektor", + "umieszczać", + "robota", + "narząd", + "szwedzki", + "turecki", + "otrzymywać", + "produkować", + "zabawka", + "kolejowy", + "nastrój", + "szkło", + "ziemski", + "farba", + "bycie", + "zainteresowanie", + "relacja", + "ciężar", + "pasmo", + "wynosić", + "obóz", + "marka", + "szczególny", + "lis", + "wada", + "Holandia", + "bogini", + "uciekać", + "dziewczynka", + "przestępstwo", + "wycieczka", + "tablica", + "kolej", + "natychmiast", + "zdolny", + "wysyłać", + "błoto", + "Szwajcaria", + "orzeł", + "oddech", + "motyl", + "kilometr", + "umożliwiać", + "żydowski", + "gospodarka", + "pomóc", + "wciąż", + "intensywny", + "wakacje", + "pytać", + "utrzymywać", + "gdyby", + "malować", + "samica", + "istotny", + "idea", + "posiłek", + "wszelki", + "seks", + "pomarańczowy", + "handlowy", + "czoło", + "przynieść", + "teoria", + "staw", + "obserwować", + "po prostu", + "Izrael", + "opieka", + "mgła", + "osobisty", + "znaczyć", + "impreza", + "powieść", + "archipelag", + "nadmierny", + "reguła", + "pojedynczy", + "szklanka", + "wóz", + "odcinek", + "telewizyjny", + "róża", + "zawartość", + "ryż", + "poznać", + "jedynie", + "polityk", + "zwycięstwo", + "władca", + "żaba", + "zbiornik", + "mistrz", + "procent", + "zawodowy", + "obowiązywać", + "choć", + "kura", + "ćwiczenie", + "chłop", + "świeca", + "promień", + "spadek", + "trudność", + "szereg", + "cień", + "epoka", + "umieścić", + "doskonały", + "ozdobny", + "chociaż", + "kościelny", + "wyścig", + "zamiast", + "ocean", + "koncert", + "wybierać", + "znaczny", + "chrześcijaństwo", + "bar", + "gołąb", + "postawa", + "kolacja", + "wina", + "pora", + "pragnąć", + "zakończyć", + "bieda", + "Węgry", + "smutek", + "biuro", + "wieczorem", + "dolny", + "byk", + "burza", + "katolicki", + "książę", + "samiec", + "grzech", + "naukowiec", + "kończyć", + "dorosły", + "zapalenie", + "przyjaźń", + "godność", + "fotografia", + "nieprzyjemny", + "mądry", + "klimat", + "muzeum", + "treść", + "rezultat", + "dane", + "cisza", + "zaś", + "psychiczny", + "starać się", + "lampa", + "wesoły", + "Unia Europejska", + "dziób", + "traktować", + "przeprowadzać", + "piętro", + "niezwykły", + "wieża", + "pokarm", + "igła", + "strefa", + "spór", + "dać się", + "Estonia", + "poprzedni", + "dowód", + "pasek", + "dno", + "klub", + "wysłać", + "rachunek", + "odkryć", + "gardło", + "piętnaście", + "nauczycielka", + "bawić się", + "królewski", + "lotnisko", + "wzrok", + "moralny", + "odzież", + "śmiać się", + "mnóstwo", + "czapka", + "wywodzić się", + "sądowy", + "papież", + "plemię", + "kartka", + "70", + "tani", + "pożar", + "półwysep", + "kult", + "łąka", + "lot", + "broda", + "wspólnota", + "wreszcie", + "lata", + "powolny", + "przybyć", + "mocz", + "Słowacja", + "grunt", + "pomidor", + "dokładny", + "stowarzyszenie", + "r.", + "wojenny", + "odważny", + "podnosić", + "zeszły", + "ośrodek", + "ozdoba", + "wraz", + "tytoń", + "obrót", + "zmęczony", + "głośny", + "parlament", + "uzyskać", + "wydawać się", + "budowla", + "jakby", + "wniosek", + "zajęcie", + "rysunek", + "wzgląd", + "pająk", + "Morze Śródziemne", + "Litwa", + "jednocześnie", + "diabeł", + "pozostać", + "kłaść", + "skłonność", + "dziecięcy", + "korzystać", + "Belgia", + "lina", + "wystawa", + "ciągnąć", + "pacjent", + "świadczyć", + "narkotyk", + "sukienka", + "techniczny", + "zaraz", + "Wielka Brytania", + "medycyna", + "przyjechać", + "powstanie", + "trwały", + "wzbudzać", + "czynnik", + "strata", + "podróżować", + "hałas", + "rak", + "talerz", + "plecy", + "późny", + "deska", + "boleć", + "spaść", + "martwy", + "łańcuch", + "czeski", + "filmowy", + "wygrać", + "zaufanie", + "alkoholowy", + "płakać", + "głupiec", + "poczta", + "dar", + "w formie", + "narodowość", + "podnieść", + "okręt", + "gęś", + "oś", + "nasiono", + "śmiech", + "tył", + "woleć", + "islam", + "sowa", + "wpaść", + "panna", + "chyba", + "osiągnięcie", + "trudno", + "robak", + "otoczenie", + "konflikt", + "centralny", + "pustynia", + "gabinet", + "poruszać", + "hasło", + "świecić", + "kij", + "przód", + "etap", + "większy", + "filozofia", + "jedenaście", + "wstyd", + "kobiecy", + "urzędowy", + "czekolada", + "ciemność", + "zapis", + "ubogi", + "wioska", + "biskup", + "doktor", + "oczywiście", + "wisieć", + "tłumaczenie", + "kwestia", + "kogut", + "oddać", + "ślepy", + "latać", + "babka", + "dokonać", + "bogactwo", + "śmieć", + "analiza", + "strzelać", + "mierzyć", + "ciotka", + "blady", + "pozostawać", + "tłumaczyć", + "muzyk", + "zgadzać się", + "paliwo", + "Żyd", + "postępować", + "bronić", + "szkodliwy", + "zanim", + "włosy", + "zatrzymać", + "aktywny", + "skala", + "cmentarz", + "spadać", + "głupota", + "kieszeń", + "lustro", + "zając", + "szlachetny", + "wątpliwość", + "letni", + "cyfra", + "lokalny", + "pomarańcza", + "skierować", + "poeta", + "okropny", + "istnienie", + "minister", + "umierać", + "faza", + "dalej", + "następować", + "zrozumieć", + "dostęp", + "opuścić", + "katastrofa", + "pojemnik", + "pojawiać się", + "ulegać", + "lekarstwo", + "przymiotnik", + "nieść", + "Chorwacja", + "inaczej", + "plama", + "policzek", + "chęć", + "królik", + "bóstwo", + "ryzyko", + "zamiar", + "przebywać", + "radiowy", + "pałac", + "zarówno", + "nazywać się", + "paczka", + "gospodarstwo", + "kolumna", + "graniczyć", + "biologia", + "upadek", + "wprowadzać", + "Kościół", + "rzucić", + "plus", + "wkrótce", + "ładunek", + "sprawiedliwość", + "kolorowy", + "kapusta", + "wybory", + "uśmiech", + "zakon", + "nocny", + "kurwa", + "Adam", + "na pewno", + "przemysłowy", + "oba", + "wyjątkowy", + "najpierw", + "futro", + "pisanie", + "planować", + "jadalny", + "adres", + "przenosić", + "dojść", + "częściowo", + "bezpośrednio", + "wybuch", + "głodny", + "oprzeć", + "tata", + "wzgórze", + "fizyka", + "planetoida", + "zgromadzenie", + "codzienny", + "tarcza", + "św.", + "dziennik", + "krzyczeć", + "Norwegia", + "0", + "organizować", + "urodzić się", + "wynikać", + "krawędź", + "pełnić", + "Albania", + "uciec", + "czasami", + "przekazywać", + "praktyka", + "pokrywać", + "płot", + "oczekiwać", + "użyć", + "rządzić", + "ustawa", + "rolnik", ) diff --git a/faker/providers/lorem/ru_RU/__init__.py b/faker/providers/lorem/ru_RU/__init__.py index fa05d2161e..f41cf34616 100644 --- a/faker/providers/lorem/ru_RU/__init__.py +++ b/faker/providers/lorem/ru_RU/__init__.py @@ -5,87 +5,504 @@ class Provider(LoremProvider): """Implement lorem provider for ``ru_RU`` locale.""" word_list = ( - 'войти', 'монета', 'вскинуть', 'желание', 'экзамен', 'налоговый', - 'вытаскивать', 'приятель', 'вздрагивать', 'куча', 'порт', 'точно', - 'заплакать', 'изба', 'правление', 'художественный', 'мучительно', - 'изображать', 'фонарик', 'миф', 'грустный', 'опасность', 'мера', - 'пастух', 'факультет', 'мелькнуть', 'полевой', 'другой', 'выраженный', - 'забирать', 'рот', 'народ', 'соответствие', 'тута', 'коммунизм', - 'решение', 'плод', 'собеседник', 'возмутиться', 'достоинство', - 'господь', 'болото', 'инфекция', 'голубчик', 'сынок', 'пространство', - 'прощение', 'прежде', 'хотеть', 'ленинград', 'даль', 'развитый', - 'близко', 'более', 'спорт', 'эпоха', 'ответить', 'освободить', 'совет', - 'проход', 'палец', 'вчера', 'приличный', 'ярко', 'белье', 'кузнец', - 'неожиданно', 'вперед', 'зато', 'кольцо', 'передо', 'мгновение', - 'плавно', 'табак', 'число', 'изучить', 'тяжелый', 'рассуждение', - 'салон', 'идея', 'что', 'светило', 'порода', 'сомнительный', 'бок', - 'очко', 'неудобно', 'советовать', 'отдел', 'помолчать', 'поздравлять', - 'пробовать', 'дошлый', 'смеяться', 'упорно', 'вздрогнуть', 'затянуться', - 'танцевать', 'песенка', 'выбирать', 'правильный', 'намерение', 'издали', - 'запустить', 'наслаждение', 'крыса', 'лететь', 'космос', 'радость', - 'поезд', 'находить', 'гулять', 'горький', 'бочок', 'ночь', 'счастье', - 'уничтожение', 'дьявол', 'коробка', 'спасть', 'кожа', 'провинция', - 'прелесть', 'тюрьма', 'низкий', 'сверкать', 'темнеть', 'солнце', - 'дружно', 'настать', 'блин', 'степь', 'самостоятельно', 'крутой', - 'картинка', 'зачем', 'рабочий', 'необычный', 'армейский', 'труп', - 'ягода', 'около', 'монета', 'естественный', 'юный', 'район', 'скрытый', - 'поймать', 'строительство', 'палата', 'миг', 'триста', 'штаб', 'ломать', - 'возможно', 'полюбить', 'человечек', 'легко', 'чувство', 'ручей', - 'карман', 'деньги', 'неправда', 'сравнение', 'грудь', 'отъезд', - 'возникновение', 'степь', 'возбуждение', 'деловой', 'следовательно', - 'жидкий', 'сынок', 'художественный', 'поколение', 'расстегнуть', 'пища', - 'ученый', 'секунда', 'успокоиться', 'вряд', 'аж', 'вскакивать', 'мимо', - 'падать', 'потянуться', 'угроза', 'растеряться', 'бегать', 'стакан', - 'о', 'кпсс', 'ныне', 'пол', 'реклама', 'при', 'школьный', 'премьера', - 'дальний', 'потрясти', 'освобождение', 'покидать', 'наступать', 'жить', - 'какой', 'обида', 'командование', 'девка', 'выражаться', 'головной', - 'второй', 'князь', 'социалистический', 'головка', 'привлекать', 'через', - 'господь', 'результат', 'отметить', 'ведь', 'падаль', 'покидать', - 'художественный', 'правый', 'висеть', 'лапа', 'каюта', 'слишком', - 'нервно', 'серьезный', 'зима', 'заработать', 'эффект', 'пропасть', - 'плод', 'что', 'висеть', 'холодно', 'единый', 'выкинуть', 'мрачно', - 'выгнать', 'умирать', 'иной', 'космос', 'природа', 'функция', - 'поставить', 'оборот', 'услать', 'очередной', 'медицина', 'функция', - 'зарплата', 'выдержать', 'расстройство', 'адвокат', 'задержать', - 'появление', 'инвалид', 'интеллектуальный', 'исследование', 'господь', - 'смертельный', 'спичка', 'вариант', 'рай', 'одиннадцать', 'чем', - 'манера', 'магазин', 'поговорить', 'полоска', 'помимо', 'построить', - 'домашний', 'механический', 'сохранять', 'отражение', 'научить', - 'тесно', 'аллея', 'прежний', 'посидеть', 'славный', 'очутиться', - 'лететь', 'невозможно', 'порядок', 'выразить', 'спешить', 'сынок', - 'ребятишки', 'угроза', 'оставить', 'цвет', 'налево', 'парень', - 'миллиард', 'горький', 'трубка', 'подробность', 'пасть', 'непривычный', - 'угодный', 'засунуть', 'цель', 'запретить', 'дремать', 'разуметься', - 'приходить', 'совещание', 'постоянный', 'анализ', 'терапия', 'приятель', - 'процесс', 'академик', 'металл', 'развернуться', 'жестокий', 'интернет', - 'банда', 'изменение', 'коллектив', 'похороны', 'устройство', - 'торопливый', 'разводить', 'промолчать', 'подземный', 'пламя', - 'редактор', 'теория', 'карандаш', 'упор', 'означать', 'бабочка', - 'четыре', 'столетие', 'разнообразный', 'витрина', 'нож', 'команда', - 'шлем', 'недостаток', 'протягивать', 'за', 'металл', 'добиться', - 'сутки', 'четко', 'предоставить', 'тысяча', 'запеть', 'бригада', - 'мелочь', 'выраженный', 'пересечь', 'сходить', 'вообще', 'рис', 'банк', - 'бак', 'передо', 'назначить', 'важный', 'правление', 'палка', 'трясти', - 'уронить', 'витрина', 'основание', 'да', 'перебивать', 'дыхание', - 'применяться', 'июнь', 'бетонный', 'избегать', 'умолять', 'мягкий', - 'заявление', 'конференция', 'встать', 'свежий', 'сопровождаться', - 'цепочка', 'выражение', 'угол', 'ботинок', 'ложиться', 'инструкция', - 'присесть', 'решетка', 'еврейский', 'порог', 'зеленый', 'граница', - 'ставить', 'смелый', 'сустав', 'роса', 'демократия', 'вывести', - 'конструкция', 'задрать', 'багровый', 'военный', 'направо', 'житель', - 'товар', 'неправда', 'материя', 'командующий', 'кидать', 'заложить', - 'лиловый', 'слать', 'горький', 'пространство', 'провал', 'мусор', - 'наткнуться', 'торговля', 'монета', 'место', 'спалить', 'бровь', - 'левый', 'хлеб', 'коричневый', 'потом', 'страсть', 'виднеться', - 'роскошный', 'способ', 'костер', 'заведение', 'пропадать', 'слишком', - 'пятеро', 'мальчишка', 'тусклый', 'неожиданный', 'плясать', 'дурацкий', - 'дрогнуть', 'сбросить', 'прошептать', 'беспомощный', 'рота', 'песня', - 'тревога', 'некоторый', 'термин', 'нажать', 'видимо', 'валюта', 'набор', - 'боец', 'райком', 'новый', 'скользить', 'руководитель', 'волк', - 'изредка', 'понятный', 'пропаганда', 'остановить', 'исполнять', 'ход', - 'госпожа', 'печатать', 'командир', 'снимать', 'казнь', 'невыносимый', - 'спорт', 'тревога', 'уточнить', 'актриса', 'полностью', 'покинуть', - 'сверкающий', 'мотоцикл', 'дорогой', 'указанный', 'ремень', 'посвятить', - 'один', 'а', 'доставать', 'хозяйка', 'носок', 'написать', 'еврейский', - 'призыв', 'увеличиваться', 'равнодушный', + "войти", + "монета", + "вскинуть", + "желание", + "экзамен", + "налоговый", + "вытаскивать", + "приятель", + "вздрагивать", + "куча", + "порт", + "точно", + "заплакать", + "изба", + "правление", + "художественный", + "мучительно", + "изображать", + "фонарик", + "миф", + "грустный", + "опасность", + "мера", + "пастух", + "факультет", + "мелькнуть", + "полевой", + "другой", + "выраженный", + "забирать", + "рот", + "народ", + "соответствие", + "тута", + "коммунизм", + "решение", + "плод", + "собеседник", + "возмутиться", + "достоинство", + "господь", + "болото", + "инфекция", + "голубчик", + "сынок", + "пространство", + "прощение", + "прежде", + "хотеть", + "ленинград", + "даль", + "развитый", + "близко", + "более", + "спорт", + "эпоха", + "ответить", + "освободить", + "совет", + "проход", + "палец", + "вчера", + "приличный", + "ярко", + "белье", + "кузнец", + "неожиданно", + "вперед", + "зато", + "кольцо", + "передо", + "мгновение", + "плавно", + "табак", + "число", + "изучить", + "тяжелый", + "рассуждение", + "салон", + "идея", + "что", + "светило", + "порода", + "сомнительный", + "бок", + "очко", + "неудобно", + "советовать", + "отдел", + "помолчать", + "поздравлять", + "пробовать", + "дошлый", + "смеяться", + "упорно", + "вздрогнуть", + "затянуться", + "танцевать", + "песенка", + "выбирать", + "правильный", + "намерение", + "издали", + "запустить", + "наслаждение", + "крыса", + "лететь", + "космос", + "радость", + "поезд", + "находить", + "гулять", + "горький", + "бочок", + "ночь", + "счастье", + "уничтожение", + "дьявол", + "коробка", + "спасть", + "кожа", + "провинция", + "прелесть", + "тюрьма", + "низкий", + "сверкать", + "темнеть", + "солнце", + "дружно", + "настать", + "блин", + "степь", + "самостоятельно", + "крутой", + "картинка", + "зачем", + "рабочий", + "необычный", + "армейский", + "труп", + "ягода", + "около", + "монета", + "естественный", + "юный", + "район", + "скрытый", + "поймать", + "строительство", + "палата", + "миг", + "триста", + "штаб", + "ломать", + "возможно", + "полюбить", + "человечек", + "легко", + "чувство", + "ручей", + "карман", + "деньги", + "неправда", + "сравнение", + "грудь", + "отъезд", + "возникновение", + "степь", + "возбуждение", + "деловой", + "следовательно", + "жидкий", + "сынок", + "художественный", + "поколение", + "расстегнуть", + "пища", + "ученый", + "секунда", + "успокоиться", + "вряд", + "аж", + "вскакивать", + "мимо", + "падать", + "потянуться", + "угроза", + "растеряться", + "бегать", + "стакан", + "о", + "кпсс", + "ныне", + "пол", + "реклама", + "при", + "школьный", + "премьера", + "дальний", + "потрясти", + "освобождение", + "покидать", + "наступать", + "жить", + "какой", + "обида", + "командование", + "девка", + "выражаться", + "головной", + "второй", + "князь", + "социалистический", + "головка", + "привлекать", + "через", + "господь", + "результат", + "отметить", + "ведь", + "падаль", + "покидать", + "художественный", + "правый", + "висеть", + "лапа", + "каюта", + "слишком", + "нервно", + "серьезный", + "зима", + "заработать", + "эффект", + "пропасть", + "плод", + "что", + "висеть", + "холодно", + "единый", + "выкинуть", + "мрачно", + "выгнать", + "умирать", + "иной", + "космос", + "природа", + "функция", + "поставить", + "оборот", + "услать", + "очередной", + "медицина", + "функция", + "зарплата", + "выдержать", + "расстройство", + "адвокат", + "задержать", + "появление", + "инвалид", + "интеллектуальный", + "исследование", + "господь", + "смертельный", + "спичка", + "вариант", + "рай", + "одиннадцать", + "чем", + "манера", + "магазин", + "поговорить", + "полоска", + "помимо", + "построить", + "домашний", + "механический", + "сохранять", + "отражение", + "научить", + "тесно", + "аллея", + "прежний", + "посидеть", + "славный", + "очутиться", + "лететь", + "невозможно", + "порядок", + "выразить", + "спешить", + "сынок", + "ребятишки", + "угроза", + "оставить", + "цвет", + "налево", + "парень", + "миллиард", + "горький", + "трубка", + "подробность", + "пасть", + "непривычный", + "угодный", + "засунуть", + "цель", + "запретить", + "дремать", + "разуметься", + "приходить", + "совещание", + "постоянный", + "анализ", + "терапия", + "приятель", + "процесс", + "академик", + "металл", + "развернуться", + "жестокий", + "интернет", + "банда", + "изменение", + "коллектив", + "похороны", + "устройство", + "торопливый", + "разводить", + "промолчать", + "подземный", + "пламя", + "редактор", + "теория", + "карандаш", + "упор", + "означать", + "бабочка", + "четыре", + "столетие", + "разнообразный", + "витрина", + "нож", + "команда", + "шлем", + "недостаток", + "протягивать", + "за", + "металл", + "добиться", + "сутки", + "четко", + "предоставить", + "тысяча", + "запеть", + "бригада", + "мелочь", + "выраженный", + "пересечь", + "сходить", + "вообще", + "рис", + "банк", + "бак", + "передо", + "назначить", + "важный", + "правление", + "палка", + "трясти", + "уронить", + "витрина", + "основание", + "да", + "перебивать", + "дыхание", + "применяться", + "июнь", + "бетонный", + "избегать", + "умолять", + "мягкий", + "заявление", + "конференция", + "встать", + "свежий", + "сопровождаться", + "цепочка", + "выражение", + "угол", + "ботинок", + "ложиться", + "инструкция", + "присесть", + "решетка", + "еврейский", + "порог", + "зеленый", + "граница", + "ставить", + "смелый", + "сустав", + "роса", + "демократия", + "вывести", + "конструкция", + "задрать", + "багровый", + "военный", + "направо", + "житель", + "товар", + "неправда", + "материя", + "командующий", + "кидать", + "заложить", + "лиловый", + "слать", + "горький", + "пространство", + "провал", + "мусор", + "наткнуться", + "торговля", + "монета", + "место", + "спалить", + "бровь", + "левый", + "хлеб", + "коричневый", + "потом", + "страсть", + "виднеться", + "роскошный", + "способ", + "костер", + "заведение", + "пропадать", + "слишком", + "пятеро", + "мальчишка", + "тусклый", + "неожиданный", + "плясать", + "дурацкий", + "дрогнуть", + "сбросить", + "прошептать", + "беспомощный", + "рота", + "песня", + "тревога", + "некоторый", + "термин", + "нажать", + "видимо", + "валюта", + "набор", + "боец", + "райком", + "новый", + "скользить", + "руководитель", + "волк", + "изредка", + "понятный", + "пропаганда", + "остановить", + "исполнять", + "ход", + "госпожа", + "печатать", + "командир", + "снимать", + "казнь", + "невыносимый", + "спорт", + "тревога", + "уточнить", + "актриса", + "полностью", + "покинуть", + "сверкающий", + "мотоцикл", + "дорогой", + "указанный", + "ремень", + "посвятить", + "один", + "а", + "доставать", + "хозяйка", + "носок", + "написать", + "еврейский", + "призыв", + "увеличиваться", + "равнодушный", ) diff --git a/faker/providers/lorem/th_TH/__init__.py b/faker/providers/lorem/th_TH/__init__.py index 72d44b0f7f..4897735612 100644 --- a/faker/providers/lorem/th_TH/__init__.py +++ b/faker/providers/lorem/th_TH/__init__.py @@ -4,3021 +4,419 @@ class Provider(LoremProvider): """Implement lorem provider for ``th_TH`` locale. - Word list is drawn from the Thailand's Ministry of Education. + Word list is randomly drawn from the Thailand's Ministry of Education, + removing compound words and long words, adding common words (like + prepositions) and few of regional words. Sources: - - http://www.arts.chula.ac.th/~ling/TTC/id-4.html. + - http://www.arts.chula.ac.th/~ling/TTC/id-4.html + - https://www.sanook.com/campus/1390689/ + - https://www.sanook.com/campus/1397677/ + - https://www.sanook.com/campus/1392241/ """ + word_connector = "" # Thai writing has no word divider + sentence_punctuation = " " # single space word_list = ( - 'คน', - 'ผม', - 'ขัน', - 'มัน', - 'เขา', - 'เที่ยว', - 'พาย', - 'ตา', - 'ขา', - 'แปรง', - 'ฟัน', - 'ปู', - 'ฝรั่ง', - 'หนู', - 'ฉัน', - 'มี', - 'ไม่', - 'ก็', - 'ไป', - 'กิน', - 'แม่', - 'บ้าน', - 'หมอ', - 'ใส่', - 'ขาย', - 'ข้าว', - 'พ่อ', - 'เล่น', - 'ให้', - 'ชอบ', - 'มา', - 'ล้าง', - 'พี่', - 'ซื้อ', - 'รู้', - 'อยู่', - 'ได้', - 'หนังสือ', - 'น้ำ', - 'นอน', - 'รถ', - 'เห็น', - 'น้อง', - 'มือ', - 'ขนม', - 'ช้อน', - 'เลี้ยง', - 'จาน', - 'ดู', - 'เสื้อ', - 'ไข่', - 'ลูก', - 'ถ้วย', - 'ไก่', - 'ตำรวจ', - 'จับ', - 'โรงเรียน', - 'ปลูก', - 'ผัก', - 'รู้จัก', - 'เดิน', - 'ชาม', - 'รัก', - 'มะม่วง', - 'หมู', - 'กระต่าย', - 'พระ', - 'ปาก', - 'เรือ', - 'หม้อ', - 'ตัว', - 'กล้วย', - 'หมอน', - 'ดิน', - 'เก็บ', - 'ปลา', - 'หมา', - 'ตลาด', - 'หา', - 'ผ้าห่ม', - 'น้ำปลา', - 'ขี่', - 'แขน', - 'อาบน้ำ', - 'แตงโม', - 'แกง', - 'ดอกไม้', - 'มะพร้าว', - 'ส้ม', - 'ฟัง', - 'เงาะ', - 'เรา', - 'มีด', - 'หัว', - 'ยาย', - 'มะละกอ', - 'น้า', - 'โทรทัศน์', - 'ชุด', - 'นก', - 'แมว', - 'เพื่อน', - 'น้ำตาล', - 'จมูก', - 'ผ้า', - 'ถู', - 'ครู', - 'นม', - 'ผักบุ้ง', - 'ตู้', - 'พระเจ้าอยู่หัว', - 'ตี', - 'สอน', - 'ย่า', - 'ห้อง', - 'วิ่ง', - 'ไหว้', - 'โรงพยาบาล', - 'ทหาร', - 'ลิง', - 'เด็ก', - 'ชมพู่', - 'หน้า', - 'โต๊ะ', - 'ช้าง', - 'พา', - 'ยา', - 'นักเรียน', - 'ของเล่น', - 'แม่ค้า', - 'ลำไย', - 'เป็ด', - 'ส้มโอ', - 'ตีน', - 'ตุ๊กตา', - 'เตียง', - 'หลัง', - 'กัด', - 'เสื้อกันหนาว', - 'ขนมปัง', - 'เตา', - 'มุ้ง', - 'พระราชินี', - 'นั่ง', - 'เต่า', - 'ผักกาด', - 'การ์ตูน', - 'เท้า', - 'ร้อน', - 'วัว', - 'อา', - 'พริก', - 'หู', - 'ผู้หญิง', - 'ป้า', - 'ผู้ชาย', - 'ดอกเข็ม', - 'รูป', - 'ป่า', - 'มะเขือ', - 'กางเกง', - 'ในหลวง', - 'เสื้อผ้า', - 'เขียน', - 'งู', - 'ลุง', - 'เสือ', - 'ตู้เย็น', - 'ละมุด', - 'กุหลาบ', - 'หญ้า', - 'หยิบ', - 'ตัด', - 'ที่นอน', - 'จระเข้', - 'เจอ', - 'ปู่', - 'ก๋วยเตี๋ยว', - 'รถไฟ', - 'ครัว', - 'ควาย', - 'นา', - 'ขนุน', - 'นกแก้ว', - 'สวนสัตว์', - 'หมี', - 'ฝน', - 'ต้ม', - 'คะน้า', - 'ข้าวสาร', - 'สะดือ', - 'ร่ม', - 'คิ้ว', - 'ดื่ม', - 'ยิง', - 'สมุด', - 'น้อยหน่า', - 'ม้า', - 'หัวเข่า', - 'สิงโต', - 'กวาง', - 'ร้องไห้', - 'วัด', - 'มะขาม', - 'หมาป่า', - 'ลางสาด', - 'ชาวนา', - 'ประตู', - 'นั่น', - 'ถนน', - 'วิทยุ', - 'อ่าน', - 'ทัพพี', - 'องุ่น', - 'มะยม', - 'หมวก', - 'กระเป๋า', - 'กะหล่ำปลี', - 'นิ้ว', - 'กวาด', - 'ถุง', - 'ไล่', - 'ติด', - 'เปิด', - 'มัด', - 'ผักชี', - 'บิน', - 'มะลิ', - 'รถยนต์', - 'กระป๋อง', - 'ฉีดยา', - 'ถั่ว', - 'คอ', - 'ตะหลิว', - 'ปลาทู', - 'ตับ', - 'กระโดด', - 'ตก', - 'กราบ', - 'กุ้ง', - 'หก', - 'ทาน', - 'ดัง', - 'ดำ', - 'หอม', - 'คด', - 'ยาง', - 'จอก', - 'กบ', - 'กระจก', - 'กระจุย', - 'กระดิ่ง', - 'กระดุม', - 'กระถิน', - 'กระเทียม', - 'กระเบื้อง', - 'กระโปรง', - 'กระรอก', - 'กลัว', - 'กว่า', - 'กอด', - 'ก่อน', - 'กะ', - 'กะทิ', - 'กะละมัง', - 'กัน', - 'กับ', - 'กา', - 'กาง', - 'กาแฟ', - 'กาย', - 'ก้าว', - 'กำเนิด', - 'กำลัง', - 'กี่', - 'กู', - 'เก๊', - 'เก่ง', - 'เกม', - 'เกเร', - 'เกลือ', - 'เก้าอี้', - 'เกาะ', - 'เกิด', - 'เกี่ยว', - 'แก', - 'แก่', - 'แก้ว', - 'แกะ', - 'ใกล้', - 'ไกล', - 'ขน', - 'ขยะ', - 'ขวา', - 'ขอ', - 'ของ', - 'ขัง', - 'ขวด', - 'ขับ', - 'ข่า', - 'ข้า', - 'ข้าง', - 'ขาด', - 'ข้าม', - 'ขาว', - 'ข่าว', - 'ขี้', - 'ขีด', - 'ขึ้น', - 'ขุด', - 'เข็ม', - 'เข่า', - 'เข้า', - 'เขียง', - 'เขี้ยว', - 'แข็ง', - 'แข่ง', - 'ไข้', - 'ค้น', - 'คบ', - 'คว่ำ', - 'คอย', - 'ค่อย', - 'ค่ะ', - 'คัด', - 'คั่ว', - 'ค้า', - 'คาง', - 'คำ', - 'ค่ำ', - 'คำนับ', - 'คิด', - 'คืน', - 'คือ', - 'คุก', - 'คุย', - 'คู', - 'คู่', - 'เค็ม', - 'เคย', - 'เคียว', - 'แค่', - 'ใคร', - 'ฆ่า', - 'งาน', - 'งาม', - 'ง่าย', - 'เงิน', - 'เงือก', - 'จน', - 'จบ', - 'จม', - 'จอด', - 'จอบ', - 'จะ', - 'จังหวัด', - 'จัด', - 'จาก', - 'จ้าง', - 'จำ', - 'จำปี', - 'จิ้งจอก', - 'จิงโจ้', - 'จึง', - 'จืด', - 'เจ็บ', - 'เจ้า', - 'เจาะ', - 'แจก', - 'แจกัน', - 'ใจ', - 'ใจดี', - 'ฉีด', - 'ชก', - 'ชน', - 'ชนะ', - 'ชวน', - 'ช่วย', - 'ชะอม', - 'ชั่ง', - 'ชิ้น', - 'ชั่ว', - 'ช่าง', - 'ชาย', - 'ชาว', - 'ชิงช้า', - 'ชื่อ', - 'เช็ด', - 'เช้า', - 'เชิด', - 'เชื่อ', - 'เชือก', - 'ใช่', - 'ใช้', - 'ซน', - 'ซ่อน', - 'ซ้อน', - 'ซ่อม', - 'ซอย', - 'ซัก', - 'ซ้าย', - 'ซิ', - 'ดม', - 'ด้วย', - 'ดอก', - 'ด่า', - 'ดาว', - 'ดินสอ', - 'ดี', - 'ดึง', - 'ดื้อ', - 'ดุ', - 'เดียว', - 'เดี่ยว', - 'เดี๋ยว', - 'แดง', - 'แดด', - 'โดด', - 'โดน', - 'โดย', - 'ตน', - 'ต้น', - 'ต่อ', - 'ตอก', - 'ต้อง', - 'ตอน', - 'ตอบ', - 'ต่อย', - 'ตะกร้า', - 'ตะไคร้', - 'ตะปู', - 'ตะวัน', - 'ตัก', - 'ตั้ง', - 'ตาก', - 'ต่าง', - 'ตาม', - 'ตาย', - 'ตำ', - 'ตึก', - 'ตื่น', - 'ตุ่ม', - 'เต้น', - 'เต็ม', - 'เตะ', - 'เติม', - 'แต่', - 'แตงกวา', - 'แต่ง', - 'โต', - 'ใต้', - 'ใต้ถุน', - 'ถม', - 'ถอด', - 'ถอน', - 'ถอย', - 'ถัง', - 'ถ้า', - 'ถาง', - 'ถาด', - 'ถ่าน', - 'ถาม', - 'ถีบ', - 'ถึง', - 'ถือ', - 'ถูก', - 'แถว', - 'ไถ', - 'ท่วม', - 'ท่อ', - 'ทอง', - 'ท้อง', - 'ทอด', - 'ทะนาน', - 'ทะเล', - 'ทะเลาะ', - 'ทั้ง', - 'ทัน', - 'ทับ', - 'ทา', - 'ทาง', - 'ท่าน', - 'ทำ', - 'ทำไม', - 'ทำเล', - 'ทิ้ง', - 'ที', - 'ที่', - 'ทีวี', - 'ทุก', - 'ทุเรียน', - 'เท', - 'เท่า', - 'เที่ยง', - 'เทียน', - 'แทน', - 'ไทย', - 'เธอ', - 'นอก', - 'น้อย', - 'นัก', - 'นั้น', - 'นับ', - 'น่า', - 'นาง', - 'นาน', - 'นาย', - 'นาฬิกา', - 'นำ', - 'นิด', - 'นิทาน', - 'นิ่ม', - 'นิยาย', - 'นิสัย', - 'นี่', - 'นี้', - 'นึก', - 'นึ่ง', - 'นุ่ง', - 'เนื้อ', - 'แน่', - 'โน้น', - 'ใน', - 'บน', - 'บวก', - 'บ้วน', - 'บ่อ', - 'บอก', - 'บอด', - 'บอน', - 'บ่อน', - 'บ่อย', - 'บัง', - 'บันได', - 'บาง', - 'บ้าง', - 'บ่าย', - 'บุก', - 'บุ้ง', - 'บูชา', - 'แบบ', - 'ใบ', - 'ปวด', - 'ป่วย', - 'ปอ', - 'ปอก', - 'ปั้น', - 'ปิ้ง', - 'ปิด', - 'ปี', - 'ปีน', - 'ปืน', - 'ปุ๋ย', - 'ปูน', - 'เป็น', - 'เปล่า', - 'เป้า', - 'เปียก', - 'แป้ง', - 'แปล', - 'ผัด', - 'ผ่าน', - 'ผิด', - 'ผี', - 'ผู้', - 'ผูก', - 'เผา', - 'เผื่อ', - 'ฝัง', - 'ฝา', - 'ฝ่าย', - 'เฝ้า', - 'พบ', - 'พละ', - 'พวก', - 'พอ', - 'พะโล้', - 'พัก', - 'พัด', - 'พับ', - 'พื้น', - 'พุง', - 'พูด', - 'เพราะ', - 'เพาะ', - 'เพื่อ', - 'แพ้', - 'แพะ', - 'ฟ้า', - 'ฟืน', - 'ฟื้น', - 'ฟุ้ง', - 'ฟูก', - 'ไฟ', - 'มอง', - 'มะกอก', - 'มะนาว', - 'มะไฟ', - 'มังคุด', - 'มาก', - 'มึง', - 'มืด', - 'มื้อ', - 'มุง', - 'มุ่ง', - 'เม็ด', - 'เมีย', - 'เมื่อ', - 'เมือง', - 'แมง', - 'แม้น', - 'โมง', - 'ไม้', - 'ยก', - 'ยอด', - 'ย่อม', - 'ยัก', - 'ยัง', - 'ยาก', - 'ย่าง', - 'ยาม', - 'ย้าย', - 'ยาว', - 'ยิ้ม', - 'ยืน', - 'ยุง', - 'ยุ่ง', - 'เย็น', - 'เย็บ', - 'เยอะ', - 'แย่ง', - 'โยน', - 'รด', - 'รวม', - 'รอ', - 'รอง', - 'ร้อง', - 'รอบ', - 'ระวัง', - 'รักษา', - 'รัด', - 'รับ', - 'ราคา', - 'ราชินี', - 'ราด', - 'ร้าน', - 'ร้าย', - 'รำ', - 'รีด', - 'รีบ', - 'เร็ว', - 'เรียก', - 'เรียง', - 'เรียน', - 'เรื่อง', - 'เรือน', - 'เรื่อย', - 'แรก', - 'โรย', - 'ไร่', - 'ลง', - 'ลด', - 'ลบ', - 'ลม', - 'ล้ม', - 'ลอง', - 'ลัก', - 'ลับ', - 'ลา', - 'ลาก', - 'ลาง', - 'ลาบ', - 'ลาย', - 'ลิเก', - 'ลื่น', - 'ลืม', - 'ลุก', - 'เล็ก', - 'เลข', - 'เล็บ', - 'เล่ม', - 'เลย', - 'เละ', - 'เล่า', - 'เล้า', - 'เลี้ยว', - 'เลือด', - 'เลื่อย', - 'แล', - 'แล้ง', - 'แล้ว', - 'และ', - 'วัน', - 'ว่า', - 'วาง', - 'ว่าง', - 'วาด', - 'ว่าน', - 'วิชา', - 'วิตามิน', - 'วิธี', - 'เวลา', - 'เวียน', - 'ไว้', - 'ศาลา', - 'ส่ง', - 'สบู่', - 'สวด', - 'สวน', - 'สวม', - 'สวย', - 'สอบ', - 'ส้อม', - 'สะพาน', - 'สะอาด', - 'สั่ง', - 'สังกะสี', - 'สั้น', - 'สับ', - 'สับปะรด', - 'สาด', - 'สาย', - 'สาว', - 'สี', - 'สุก', - 'สุข', - 'สู้', - 'เส้น', - 'เสา', - 'เสียง', - 'เสียบ', - 'เสื่อ', - 'หนา', - 'หนี', - 'ห่ม', - 'หมู่', - 'หรือ', - 'หวี', - 'ห่อ', - 'หอย', - 'หัก', - 'หั่น', - 'หัวเราะ', - 'ห่า', - 'หาง', - 'หาม', - 'หาย', - 'หิน', - 'หิว', - 'หุง', - 'หุ่น', - 'เห', - 'เหนือ', - 'เหล้า', - 'เหลือ', - 'เห่า', - 'แห่ง', - 'แหน', - 'ใหญ่', - 'ใหม่', - 'ไหน', - 'ไหม', - 'ไหล่', - 'อย่า', - 'ออก', - 'อ่อน', - 'อะไร', - 'อัน', - 'อาบ', - 'อาละวาด', - 'อำเภอ', - 'อิ่ม', - 'อีก', - 'อื่น', - 'อุ่น', - 'เอง', - 'เอา', - 'แอบ', - 'โอ๋', - 'โอ่ง', - 'โอน', - 'ไอ', - 'ก๋ง', - 'กด', - 'ก้ม', - 'กระดูก', - 'กระติก', - 'กระตุก', - 'กระถาง', - 'กระทบ', - 'กระท้อน', - 'กระทะ', - 'กระสอบ', - 'กล้า', - 'กอ', - 'ก่อ', - 'กอง', - 'ก้อน', - 'กะปิ', - 'กะเพรา', - 'กะลา', - 'ก้าง', - 'กำ', - 'กำแพง', - 'กิ่ง', - 'กิริยา', - 'กู้', - 'เก', - 'เก๋ง', - 'เก่า', - 'เกิน', - 'เกื้อ', - 'เกือบ', - 'แก้', - 'แก้ม', - 'โกน', - 'โกหก', - 'ไกว', - 'ขณะ', - 'ขม', - 'ขย้ำ', - 'ขยี้', - 'ข้อ', - 'ข้อง', - 'ขอน', - 'ขัด', - 'ขาน', - 'ขำ', - 'ขิง', - 'เข่ง', - 'เข็น', - 'เขี่ย', - 'เขียว', - 'เขื่อน', - 'แขก', - 'คง', - 'ครู่', - 'ค้อน', - 'คัน', - 'คับ', - 'ค่า', - 'ค้าง', - 'คางคก', - 'คาด', - 'คาบ', - 'คุ้ม', - 'เค้ก', - 'เคาะ', - 'เคี้ยว', - 'แคะ', - 'โค้ง', - 'งม', - 'งวง', - 'ง่วง', - 'งอก', - 'งา', - 'เงา', - 'โง่', - 'จด', - 'จริยะ', - 'จ๊ะ', - 'จัง', - 'จ๋า', - 'จ่าย', - 'จำปา', - 'จิก', - 'จิ้ม', - 'จีน', - 'จุด', - 'จูง', - 'เจอะ', - 'แจ้ง', - 'เฉย', - 'ชม', - 'ชวด', - 'ชะนี', - 'ชัก', - 'ชา', - 'ช้า', - 'ชี้', - 'ชุก', - 'ชุ่ม', - 'เช่น', - 'แช่', - 'ซด', - 'ซัด', - 'ซิ่ง', - 'ซึ่ง', - 'ซื่อ', - 'ซุก', - 'แซง', - 'แซะ', - 'ดง', - 'ดัก', - 'ดับ', - 'ด้าน', - 'ดาบ', - 'ดาย', - 'ด้าย', - 'ดีด', - 'ดึก', - 'ดูด', - 'เด็ด', - 'เดิม', - 'เดือด', - 'เดือน', - 'ใด', - 'ตบ', - 'ตอม', - 'ตะเกียบ', - 'ตะโกน', - 'ตู่', - 'ตูด', - 'เตียน', - 'แตก', - 'แตง', - 'แตะ', - 'โต้', - 'ถาก', - 'ถ่าย', - 'ถ้ำ', - 'เถียง', - 'ทบ', - 'ท่อง', - 'ทอน', - 'ทัก', - 'ท่า', - 'ท้า', - 'ทาก', - 'ทาย', - 'ท้าย', - 'ทีม', - 'ทุ่ง', - 'ทุย', - 'เทียม', - 'แทง', - 'แท่ง', - 'แท้ง', - 'ธง', - 'นัด', - 'นาที', - 'นิ่ง', - 'เน่า', - 'แนว', - 'บ่น', - 'บัว', - 'บ่า', - 'บาด', - 'บาน', - 'บำรุง', - 'บิดา', - 'บีบ', - 'บึง', - 'เบา', - 'เบาะ', - 'เบื่อ', - 'แบก', - 'แบ่ง', - 'เบ่ง', - 'ใบไม้', - 'ป่น', - 'ประถม', - 'ประจำ', - 'ประชุม', - 'ประดับ', - 'ประธาน', - 'ปะ', - 'ปัก', - 'ปัง', - 'ปัด', - 'ปัน', - 'ปั่น', - 'ปา', - 'ปาด', - 'ปี่', - 'ปีก', - 'เปรอะ', - 'เป่า', - 'ผง', - 'ผัว', - 'ผ่า', - 'ผาง', - 'ผึ่ง', - 'ผึ้ง', - 'ผืน', - 'ผุ', - 'เผ็ด', - 'แผ่', - 'แผ่น', - 'โผล่', - 'ไผ่', - 'ฝั่ง', - 'ฝัน', - 'ฝาก', - 'ฝ้าย', - 'ฝุ่น', - 'ฝูง', - 'พ่น', - 'พร้า', - 'พอง', - 'พัง', - 'พาด', - 'พาน', - 'เพลีย', - 'เพียง', - 'แพ', - 'แพง', - 'ไพ่', - 'ไพเราะ', - 'ฟอก', - 'ฟอง', - 'ฟัก', - 'ฟาก', - 'ฟาง', - 'แฟง', - 'แฟ้ม', - 'ภัย', - 'ภาษา', - 'มด', - 'ม่วง', - 'มอบ', - 'มะดัน', - 'มะเฟือง', - 'มูมมาม', - 'เมา', - 'เมื่อย', - 'แม้', - 'โมโห', - 'ย่อ', - 'ยอม', - 'ยัด', - 'ยำ', - 'ยิ่ง', - 'ยิน', - 'ยืม', - 'ยุ', - 'เยาะ', - 'แย่', - 'แยก', - 'แยะ', - 'ใย', - 'รก', - 'รบ', - 'ร่วม', - 'รวย', - 'ระฆัง', - 'ระเบียง', - 'ระเบียบ', - 'ระมัดระวัง', - 'รัง', - 'ราก', - 'ริม', - 'รู', - 'เริ่ม', - 'เรียบ', - 'แรง', - 'โรง', - 'ไร', - 'ล้อ', - 'ลอด', - 'ลอย', - 'ละ', - 'ละเอียด', - 'ล่า', - 'ล่าง', - 'ลาด', - 'ลาน', - 'ล้าน', - 'ลิ้นจี่', - 'เลิก', - 'เลีย', - 'เลียบ', - 'เลือก', - 'แลก', - 'แล่น', - 'วง', - 'ว่าว', - 'ไว', - 'ศอก', - 'สด', - 'สถานี', - 'สม', - 'สระ', - 'ส่วน', - 'ส้วม', - 'ส่อง', - 'สอด', - 'สะดวก', - 'สัก', - 'สาก', - 'สาธุ', - 'สาลี่', - 'สำรับ', - 'สิ่ง', - 'สิ้น', - 'สุด', - 'สู่', - 'สูง', - 'สูบ', - 'เสีย', - 'เสียม', - 'ไส', - 'ไส้', - 'หัด', - 'หัน', - 'หาก', - 'ห่าง', - 'หาด', - 'ห่าน', - 'ห้าม', - 'หิด', - 'หิ้ว', - 'เหงา', - 'เหงื่อ', - 'เหลา', - 'เหา', - 'เหี่ยว', - 'แห่', - 'แห้ง', - 'แหย่', - 'แหละ', - 'โหน', - 'ไห', - 'ไหล', - 'ไหว', - 'อก', - 'อด', - 'อบ', - 'อ้วน', - 'ออด', - 'อ้อย', - 'อัด', - 'อายุ', - 'อุ้ม', - 'เอว', - 'เอี่ยม', - 'ไอ้', - 'กระดานดำ', - 'กระโดดยาง', - 'กระติกน้ำ', - 'กระปุกออมสิน', - 'กอไผ่', - 'ก้อนหิน', - 'กับข้าว', - 'กางเกงขายาว', - 'กางเกงขาสั้น', - 'กางเกงใน', - 'กาชาด', - 'กายบริหาร', - 'กิ่งไม้', - 'แกงจืด', - 'แกงเผ็ด', - 'แกงส้ม', - 'แก้วน้ำ', - 'ข้อต่อ', - 'ข้อศอก', - 'ของกิน', - 'ของแข็ง', - 'ของใช้', - 'ของมีคม', - 'ขันน้ำ', - 'ข้าวเจ้า', - 'ข้าวต้ม', - 'ข้าวผัด', - 'ข้าวโพด', - 'ข้าวมันไก่', - 'ขี้มูก', - 'ขี้หู', - 'เข็มขัด', - 'เข้าใจ', - 'เข้าแถว', - 'เขียนไทย', - 'แข็งแรง', - 'แข่งขัน', - 'ไขมัน', - 'ไขลาน', - 'ไข่ทอด', - 'ไข้เลือดออก', - 'คนแก่', - 'คนขาย', - 'คนขายของ', - 'คนไข้', - 'คนป่วย', - 'คนร้าย', - 'ครูประจำชั้น', - 'ครูใหญ่', - 'ควบคุม', - 'คัดไทย', - 'ค้าขาย', - 'คิดถึง', - 'ง่วงนอน', - 'งานบ้าน', - 'จงรักภักดี', - 'เจ็บป่วย', - 'เจ็บปวด', - 'เจ้าของ', - 'เจ้าชาย', - 'เจ้าฟ้าชาย', - 'แจ่มใส', - 'ช่วยเหลือ', - 'ชั้นเรียน', - 'ชั่วโมง', - 'ชาวเขา', - 'ชาวใต้', - 'ชาวไทย', - 'ชาวบ้าน', - 'ชุดนักเรียน', - 'เชื่อฟัง', - 'ซ่อนหา', - 'ซักผ้า', - 'ซุกซน', - 'ดวงใจ', - 'ดอกกระดังงา', - 'ดอกจำปา', - 'ดอกจำปี', - 'ดอกชบา', - 'ดอกดาวกระจาย', - 'ดอกดาวเรือง', - 'ดอกทานตะวัน', - 'ดอกเทียน', - 'ดอกบัว', - 'ดอกบานชื่น', - 'ดอกบานไม่รู้โรย', - 'ดอกพุด', - 'ดอกรัก', - 'ดาวเรือง', - 'ดำนา', - 'ดินน้ำมัน', - 'ดีใจ', - 'ดูแล', - 'เด็กชาย', - 'เด็กนักเรียน', - 'เดินแถว', - 'เดินทาง', - 'เดี๋ยวเดียว', - 'เดี๋ยวนี้', - 'เดือดร้อน', - 'ได้ยิน', - 'ตกกล้า', - 'ตกใจ', - 'ตกลง', - 'ต้นกระถิน', - 'ต้นกระท้อน', - 'ต้นก้ามปู', - 'ต้นโกสน', - 'ต้นเข็ม', - 'ต้นงิ้ว', - 'ต้นเงาะ', - 'ต้นชมพู่', - 'ต้นดาวเรือง', - 'ต้นทานตะวัน', - 'ต้นทุเรียน', - 'ต้นไทร', - 'ต้นน้อยหน่า', - 'ต้นไผ่', - 'ต้นโพ', - 'ต้นมะขาม', - 'ต้นมะเขือ', - 'ต้นมะนาว', - 'ต้นมะเฟือง', - 'ต้นมะไฟ', - 'ต้นมะม่วง', - 'ต้นมะยม', - 'ต้นมะละกอ', - 'ต้นมะลิ', - 'ต้นมังคุด', - 'ต้นไม้', - 'ต้นยาง', - 'ต้นละมุด', - 'ต้นลำไย', - 'ต้นลิ้นจี่', - 'ต้นสน', - 'ต้นส้ม', - 'ต้นส้มโอ', - 'ต้นหญ้า', - 'ต้นหอม', - 'ต้นหางนกยูง', - 'ต้นหูกวาง', - 'ต้มยำ', - 'ต่อไป', - 'ต่อมา', - 'ต้องการ', - 'ตอบแทน', - 'ตั้งใจ', - 'ตั้งแต่', - 'ตัดสิน', - 'ตัวต่อ', - 'ตัวเมีย', - 'ตัวเอง', - 'ตาแดง', - 'ตาบอด', - 'ตามใจ', - 'ตื่นนอน', - 'ตู้กับข้าว', - 'ตู้เสื้อผ้า', - 'เตาไฟ', - 'เติบโต', - 'เตารีด', - 'แต่งกาย', - 'แต่งงาน', - 'แต่งตั้ง', - 'แต่งตัว', - 'ถ้วยชาม', - 'ถังขยะ', - 'ถั่วเขียว', - 'ถั่วงอก', - 'ถั่วฝักยาว', - 'ถุงเท้า', - 'ไถนา', - 'ทอดมัน', - 'ทอดผ้าป่า', - 'ทักทาย', - 'ทานตะวัน', - 'ทำงาน', - 'ทำนา', - 'ทำไร่', - 'ทำสวน', - 'ทำลาย', - 'ทีนี้', - 'ที่สุด', - 'ทุ่งนา', - 'เท่านั้น', - 'เท่านี้', - 'เท่าไร', - 'นกกระจาบ', - 'นกกระสา', - 'นกเขา', - 'นกเอี้ยง', - 'นอกนั้น', - 'นับถือ', - 'นัยน์ตา', - 'น่ารัก', - 'น้ำแกง', - 'น้ำเกลือ', - 'น้ำข้าว', - 'น้ำแข็ง', - 'น้ำเงิน', - 'น้ำชา', - 'น้ำตก', - 'น้ำตา', - 'น้ำนม', - 'น้ำผึ้ง', - 'น้ำมัน', - 'น้ำมันหมู', - 'น้ำส้ม', - 'น้ำส้มสายชู', - 'น้ำหวาน', - 'น้ำอ้อย', - 'นิ้วมือ', - 'เนื้อหมู', - 'บ้วนปาก', - 'บ่อน้ำ', - 'บังคับ', - 'บัดนี้', - 'บางที', - 'บาดเจ็บ', - 'บ้านเมือง', - 'บานชื่น', - 'บานไม่รู้โรย', - 'บานเย็น', - 'เบิกบาน', - 'แบบฝึกหัด', - 'แบบเรียน', - 'ประแป้ง', - 'ประชาชน', - 'ประถมศึกษา', - 'ปลากระป๋อง', - 'ปลาเค็ม', - 'ปลาดุก', - 'ปลาร้า', - 'ป้องกัน', - 'ป่าไม้', - 'ปากกา', - 'ปิ่นโต', - 'ปุ๋ยคอก', - 'ผงซักฟอก', - 'ผักกระเฉด', - 'ผักคะน้า', - 'ผักตำลึง', - 'ผ่าตัด', - 'ผ้าขี้ริ้ว', - 'ผ้าเช็ดหน้า', - 'ผ้านวม', - 'ผ้าปูที่นอน', - 'ผีเสื้อ', - 'ผู้คน', - 'ผู้ช่วย', - 'ผู้เฒ่า', - 'ผู้ร้าย', - 'ผู้ให้กำเนิด', - 'ผู้ใหญ่', - 'ฝักบัว', - 'ฝาชี', - 'ฝึกหัด', - 'ฝุ่นละออง', - 'พระเจ้า', - 'พระเจ้าแผ่นดิน', - 'พระที่นั่ง', - 'พระนางเจ้า', - 'พระราชา', - 'พระเอก', - 'พวงมาลัย', - 'พอดี', - 'พ่อค้า', - 'พักผ่อน', - 'พัดลม', - 'พับเพียบ', - 'พายเรือ', - 'พายุ', - 'พี่ชาย', - 'พี่สาว', - 'พูดจา', - 'เพราะว่า', - 'ฟักทอง', - 'เฟื่องฟ้า', - 'ไฟฟ้า', - 'ภูเขา', - 'ม้านั่ง', - 'มากมาย', - 'มีดโกน', - 'เมื่อวาน', - 'แม่น้ำ', - 'แม่มด', - 'แม่เลี้ยง', - 'แมงมุม', - 'ไม้ขีด', - 'ยวดยาน', - 'ยาสระผม', - 'ยาสีฟัน', - 'ยากจน', - 'ยางลบ', - 'ยินดี', - 'เยอะแยะ', - 'รดน้ำ', - 'ร่มเงา', - 'ร่มเย็น', - 'รองเท้า', - 'รังแก', - 'รับจ้าง', - 'รับประทาน', - 'ร่างกาย', - 'ร้านค้า', - 'รายงาน', - 'ร้ายแรง', - 'รำวง', - 'รีดผ้า', - 'รู้สึก', - 'เรียบร้อย', - 'ลอยกระทง', - 'ลำบาก', - 'ลูกแก้ว', - 'ลูกเขย', - 'ลูกชิ้น', - 'ลูกตา', - 'ลูกโป่ง', - 'ลูกสาว', - 'ลูกเสือ', - 'ลูกหิน', - 'เล็กน้อย', - 'เล็บเท้า', - 'เลี้ยงดู', - 'แล้วก็', - 'วันพระ', - 'วาดเขียน', - 'ว่ายน้ำ', - 'วาววับ', - 'วิ่งเล่น', - 'เวียนเทียน', - 'สดชื่น', - 'สดใส', - 'สนใจ', - 'ส้มตำ', - 'สวนครัว', - 'สวยงาม', - 'สั่งสอน', - 'สิ่งของ', - 'สินค้า', - 'สีกากี', - 'สีขาว', - 'สีเขียว', - 'สีดำ', - 'สีแดง', - 'สีน้ำเงิน', - 'เส้นชัย', - 'เสาธง', - 'เสียใจ', - 'เสื้อแขนยาว', - 'เสื้อแขนสั้น', - 'เสื้อนักเรียน', - 'แสงแดด', - 'หกล้ม', - 'หน่อไม้', - 'หน้ากาก', - 'หน้าต่าง', - 'หน้าที่', - 'หน้าร้อน', - 'ห่มผ้า', - 'หมอลำ', - 'หม้อข้าว', - 'หม้อหุงข้าว', - 'หมาจิ้งจอก', - 'หมูยอ', - 'หมู่บ้าน', - 'ห่วงใย', - 'ห่อข้าว', - 'ห้องครัว', - 'ห้องนอน', - 'ห้องน้ำ', - 'ห้องเรียน', - 'หอยโข่ง', - 'หัวใจ', - 'หัวหน้า', - 'หากิน', - 'หายใจ', - 'หุงข้าว', - 'อบรม', - 'อบอุ่น', - 'ออกไข่', - 'อ่อนเพลีย', - 'ออมสิน', - 'อาจจะ', - 'อึ่งอ่าง', - 'กรง', - 'กรรไกร', - 'กรรม', - 'กรอก', - 'กรอบ', - 'กระดาษ', - 'กรีด', - 'กลบ', - 'กลม', - 'กลอง', - 'กล่อง', - 'กลับ', - 'กลาง', - 'กล้าม', - 'กลาย', - 'กล่าว', - 'กลิ้ง', - 'กลิ่น', - 'กลืน', - 'กลุ่ม', - 'กวยจั๊บ', - 'กว้าง', - 'กัญชา', - 'การ', - 'กาล', - 'กิจ', - 'กุญแจ', - 'เกลียด', - 'เกษตร', - 'แกล้ง', - 'แกว่ง', - 'แก๊ส', - 'โกรธ', - 'ขนาด', - 'ขโมย', - 'ขยัน', - 'ขวาง', - 'ขว้าง', - 'ขวาน', - 'ข้าพเจ้า', - 'เขต', - 'เขย่ง', - 'เขยิบ', - 'เขยื้อน', - 'แขวน', - 'ครก', - 'ครบ', - 'ครอบ', - 'ครั้ง', - 'ครับ', - 'คราว', - 'คริสต์', - 'ครึ่ง', - 'คลอง', - 'คลาน', - 'คล้าย', - 'คลื่น', - 'คลุก', - 'คลุม', - 'ควร', - 'ควัน', - 'ความ', - 'คุณ', - 'คูณ', - 'เครื่อง', - 'เคารพ', - 'จรวด', - 'จริง', - 'จักร', - 'จันทร์', - 'จิ้งหรีด', - 'เจดีย์', - 'เจริญ', - 'โจทย์', - 'โจร', - 'ชนิด', - 'ชอล์ก', - 'ชาติ', - 'ชีวิต', - 'เชอร์รี่', - 'เชิญ', - 'ญาติ', - 'เณร', - 'ดนตรี', - 'ตรง', - 'ตรวจ', - 'ตลก', - 'ตลอด', - 'ตะครุบ', - 'ตาล', - 'ตำบล', - 'ตำแหน่ง', - 'ตุ๊กตุ่น', - 'เตรียม', - 'ถลก', - 'ถลอก', - 'ถวาย', - 'ทรง', - 'ทรพี', - 'ทราบ', - 'ทราย', - 'ทอฟฟี่', - 'ทิศ', - 'ทุกข์', - 'เทป', - 'เทวดา', - 'เทศน์', - 'โทษ', - 'ธูป', - 'นาค', - 'บรรทัด', - 'บริเวณ', - 'บริหาร', - 'บวช', - 'บอล', - 'บัตร', - 'บาตร', - 'บาท', - 'บุญ', - 'โบสถ์', - 'ปฏิญาณ', - 'ปฏิบัติ', - 'ประดิษฐ์', - 'ประเทศ', - 'ประมาณ', - 'ประโยค', - 'ประโยชน์', - 'ปราบ', - 'ปริญญา', - 'ปรึกษา', - 'ปรุง', - 'ปล่อย', - 'ปลาย', - 'ปัสสาวะ', - 'เปรี้ยง', - 'เปรียว', - 'เปรี้ยว', - 'เปลี่ยน', - 'เปลือก', - 'แปลก', - 'แปลง', - 'โปรย', - 'ผล', - 'ผลัก', - 'แผล', - 'พยาธิ', - 'พยาบาล', - 'พยายาม', - 'พรรษา', - 'พรวน', - 'พร้อม', - 'พราน', - 'พลัง', - 'พัฒนา', - 'พันธุ์', - 'พิการ', - 'พิษ', - 'พืช', - 'พุทธ', - 'พุทรา', - 'เพล', - 'เพลง', - 'เพลิน', - 'เพียร', - 'แพทย์', - 'ภรรยา', - 'ภาค', - 'ภาพ', - 'มะกรูด', - 'มะขวิด', - 'มะปราง', - 'มัสยิด', - 'มิตร', - 'เมฆ', - 'เมตตา', - 'เมล็ด', - 'แมลง', - 'ยักษ์', - 'ยีราฟ', - 'รส', - 'ราษฎร', - 'โรค', - 'ฤดู', - 'ละหมาด', - 'วิเศษ', - 'เวร', - 'ศพ', - 'ศาสตร์', - 'ศาสนา', - 'ศิลปะ', - 'ศีรษะ', - 'ศึกษา', - 'ศูนย์', - 'เศรษฐี', - 'เศษ', - 'สกปรก', - 'สงบ', - 'สงสาร', - 'สตรอว์เบอรี่', - 'สตางค์', - 'สนาม', - 'สนุก', - 'สบาย', - 'สมเด็จ', - 'สมบัติ', - 'สมบูรณ์', - 'สมมุติ', - 'สมอง', - 'สมาธิ', - 'สร้อย', - 'สร้าง', - 'สวัสดี', - 'สหกรณ์', - 'สัญญา', - 'สัตว์', - 'สามัคคี', - 'สำคัญ', - 'สำหรับ', - 'สุนัข', - 'สุเหร่า', - 'เสด็จ', - 'เสร็จ', - 'เสาร์', - 'แสดง', - 'หญิง', - 'หน่วย', - 'หนอง', - 'หนอน', - 'หน่อย', - 'หนัก', - 'หนัง', - 'หนาว', - 'หนีบ', - 'หนุน', - 'หนุ่ม', - 'หมด', - 'หมอก', - 'หมอบ', - 'หมั่น', - 'หมาก', - 'หมาย', - 'หมุน', - 'หยอก', - 'หยอด', - 'หยุด', - 'หรอก', - 'หล่น', - 'หลบ', - 'หลวม', - 'หลอก', - 'หลอด', - 'หลับ', - 'หลาน', - 'หลาย', - 'หลุด', - 'หลุม', - 'หวัง', - 'หวัด', - 'หวาน', - 'หว่าน', - 'หาร', - 'เหนียว', - 'เหนื่อย', - 'เหม็น', - 'เหมือน', - 'เหยียด', - 'เหยียบ', - 'เหยี่ยว', - 'เหล็ก', - 'เหลือง', - 'แหลม', - 'แหวน', - 'องค์', - 'อธิบาย', - 'อนามัย', - 'อยาก', - 'อย่าง', - 'อร่อย', - 'อวัยวะ', - 'อันตราย', - 'อัศจรรย์', - 'อาการ', - 'อากาศ', - 'อาคาร', - 'อาจ', - 'อาจารย์', - 'อาชีพ', - 'อาศัย', - 'อาหาร', - 'อิฐ', - 'อิสลาม', - 'แอปเปิล', - 'ไอศกรีม', - 'ก้น', - 'กระจง', - 'กระจาด', - 'กระเจี๊ยบ', - 'กระแซะ', - 'กระดอง', - 'กระดิก', - 'กระเด้ง', - 'กระแต', - 'กระโถน', - 'กระทง', - 'กระท่อม', - 'กระแทก', - 'กระบอก', - 'กระบะ', - 'กระบุง', - 'กระมัง', - 'กรุณา', - 'กวน', - 'กัก', - 'กั้น', - 'กาก', - 'ก้าน', - 'กาม', - 'ก่าย', - 'กาว', - 'กำนัน', - 'กำไล', - 'กิ้งก่า', - 'กีฬา', - 'กุนเชียง', - 'กุม', - 'เก้ง', - 'เกะกะ', - 'เกี้ยว', - 'แก่น', - 'โกง', - 'โกย', - 'โกสน', - 'ขด', - 'ข้น', - 'ขยำ', - 'ข่วน', - 'ขอบ', - 'ขั้น', - 'ข่าย', - 'ขุ่น', - 'เขย่า', - 'เขียด', - 'แข้ง', - 'ไข', - 'คณะ', - 'คม', - 'ควบ', - 'คว้า', - 'คอก', - 'คะแนน', - 'คั้น', - 'คาย', - 'ค่าย', - 'คาว', - 'คิงคอง', - 'คุม', - 'เคียง', - 'แคร่', - 'โคน', - 'โคม', - 'ใคร่', - 'งอ', - 'เงียบ', - 'จง', - 'จวน', - 'จอง', - 'จ้อง', - 'จอม', - 'จัก', - 'จาง', - 'จ้ำ', - 'จุ่ม', - 'จูบ', - 'เจียว', - 'แจ้ว', - 'โจ๊ก', - 'ฉก', - 'ฉีก', - 'ฉุกเฉิน', - 'เฉพาะ', - 'เฉียง', - 'แฉะ', - 'ชบา', - 'ชรา', - 'ช่อง', - 'ชอน', - 'ชัง', - 'ชัด', - 'ชาน', - 'ชำ', - 'ช้ำ', - 'ชิง', - 'ชิม', - 'ชีวี', - 'ชื้น', - 'ชู', - 'เช่า', - 'เชื้อ', - 'เชือด', - 'เชื่อม', - 'ไช', - 'ไชโย', - 'ซ้อม', - 'ซ้ำ', - 'ซี่', - 'ซีอิ๊ว', - 'ซึ้ง', - 'โซ่', - 'ดก', - 'ดวง', - 'ด้วง', - 'ด้วน', - 'ดอง', - 'ดอย', - 'ดัด', - 'ดัน', - 'ดาม', - 'ดำเนิน', - 'ดิบ', - 'เด้ง', - 'เดือย', - 'แด่', - 'ตด', - 'ตวง', - 'ต่อม', - 'ตะกร้อ', - 'ตะกละ', - 'ตะเกียง', - 'ตะโพก', - 'ตั๋ว', - 'ตำลึง', - 'ตึง', - 'ตุ่น', - 'เตย', - 'เต้าหู้', - 'เติบ', - 'เตือน', - 'ไต้', - 'ถ่ม', - 'ถ่อม', - 'ถัก', - 'ถิ่น', - 'เถอะ', - 'แถบ', - 'แถม', - 'ไถ่', - 'ทด', - 'ทน', - 'ทวง', - 'ทวด', - 'ท่อน', - 'ทอย', - 'ทั่ว', - 'ทิ่ม', - 'ทุบ', - 'ทุ่ม', - 'แท้', - 'ธุระ', - 'นวด', - 'นวม', - 'นะ', - 'นาม', - 'นินทา', - 'นุ่น', - 'นุ่ม', - 'เนย', - 'เนียน', - 'แน่น', - 'โน่น', - 'บด', - 'บ่ม', - 'บ่วง', - 'บวม', - 'บะหมี่', - 'บันทึก', - 'บ้า', - 'บาก', - 'บุหรี่', - 'บูด', - 'เบ็ด', - 'เบี้ย', - 'แบน', - 'โบ', - 'ใบ้', - 'ปน', - 'ประกอบ', - 'ประเคน', - 'ประเดี๋ยว', - 'ประทัด', - 'ประเมิน', - 'ป้อง', - 'ป้อน', - 'ปั๊ม', - 'ป้าย', - 'ปิงปอง', - 'ปิ่น', - 'ปูด', - 'เปล', - 'โป้ง', - 'ผ่อน', - 'ผอม', - 'เผลอ', - 'เผือก', - 'แผน', - 'โผ', - 'ฝอย', - 'ฝัก', - 'ฝาน', - 'ฝึก', - 'เฝือก', - 'พ้น', - 'พลู', - 'พวง', - 'พัน', - 'พิธี', - 'พุ่ม', - 'เพดาน', - 'ฟรี', - 'ฟ้อน', - 'ฟู', - 'ภาระ', - 'ม้วน', - 'มะเร็ง', - 'มัก', - 'มันแกว', - 'มั่น', - 'มุม', - 'เมาะ', - 'ไมตรี', - 'ย้อน', - 'ย้อย', - 'ยัน', - 'ย้ำ', - 'ยึด', - 'ยืด', - 'ยึ่น', - 'ยุ้ง', - 'เยี่ยว', - 'เยื่อ', - 'แยง', - 'โยก', - 'ร่อง', - 'รอด', - 'ร่อน', - 'รอย', - 'ระกำ', - 'ระบาย', - 'ระเบิด', - 'ระยำ', - 'ระลึก', - 'ระแวง', - 'รั้ว', - 'ร่าง', - 'ริ้ว', - 'รุน', - 'รุ่น', - 'แรด', - 'ล่ม', - 'ลวก', - 'ล่วง', - 'ล่อ', - 'ลอก', - 'ล้อม', - 'ละออง', - 'ลั่น', - 'ล่าม', - 'ลำ', - 'ลิ้น', - 'ลึก', - 'ลุย', - 'เลว', - 'เลอะ', - 'เลื่อน', - 'โลก', - 'วน', - 'วัง', - 'วัย', - 'วา', - 'วิว', - 'วุ่น', - 'เว้า', - 'สวะ', - 'สอ', - 'ส่อ', - 'สอย', - 'สะกด', - 'สะดุด', - 'สะบัด', - 'สะใภ้', - 'สัน', - 'สั่น', - 'สาน', - 'สามี', - 'สำลี', - 'สุ่ม', - 'เสียว', - 'แสง', - 'แสน', - 'แสบ', - 'หมี่', - 'หวง', - 'ห่วง', - 'หวด', - 'หวย', - 'หอบ', - 'หารือ', - 'ห้าง', - 'หาบ', - 'หาว', - 'หีบ', - 'หุบ', - 'หุ้ม', - 'เห็ด', - 'เหมา', - 'เหยื่อ', - 'เหว', - 'เหาะ', - 'ไหม้', - 'อักเสบ', - 'อ้า', - 'อ่าง', - 'อาเจียน', - 'อาย', - 'อาสา', - 'อำลา', - 'เอ่ย', - 'เฮฮา', - 'กบเหลาดินสอ', - 'ก๊อกน้ำ', - 'กับดัก', - 'กาน้ำ', - 'กำมือ', - 'กำบัง', - 'กำไร', - 'กำลังกาย', - 'กินเลี้ยง', - 'เกี่ยวข้อง', - 'แก้ไข', - 'แกงคั่ว', - 'แก้วหู', - 'ไก่โต้ง', - 'ไก่ย่าง', - 'ขอบใจ', - 'ขอบฟ้า', - 'ขั้นตอน', - 'ขับร้อง', - 'ข้างเคียง', - 'ข้าวต้มมัด', - 'ข้าวราดแกง', - 'ข้าวหมูแดง', - 'ข้าวห่อ', - 'ข้าศึก', - 'ขี้ดิน', - 'ขี้ตา', - 'ขี้ผง', - 'ขี้เล็บ', - 'เข็มฉีดยา', - 'เข้าที', - 'แขกเมือง', - 'ไข่ขาว', - 'ไข่เจียว', - 'ไข่ดัน', - 'ไข่ดาว', - 'ไข่พะโล้', - 'ไข้มาลาเรีย', - 'คนจน', - 'คนใช้', - 'คนซื้อ', - 'คนดี', - 'คนตาย', - 'คนโท', - 'ค้นคว้า', - 'คมนาคม', - 'ค่อยยังชั่ว', - 'คัดลายมือ', - 'คันนา', - 'คันส่ง', - 'ค้างคาว', - 'คาถา', - 'คำตอบ', - 'คำถาม', - 'คำสั่ง', - 'คุกเข่า', - 'งดงาม', - 'งมงาย', - 'งอกงาม', - 'งานศพ', - 'ง่ายดาย', - 'จนกระทั่ง', - 'จำเป็น', - 'จำพวก', - 'เจ็บไข้', - 'เจ็บไข้ได้ป่วย', - 'เจ้านาย', - 'ใจร้าย', - 'ชมเชย', - 'ชมพู', - 'ช่อฟ้า', - 'ช้อนชา', - 'ชัยชนะ', - 'ชายแดน', - 'ชาวประมง', - 'ชื่นใจ', - 'ชุดนอน', - 'ชุมชน', - 'ชุ่มชื่น', - 'เชิงเขา', - 'เชิญธง', - 'ซ่อมแซม', - 'ดอกแก้ว', - 'ดอกโกสน', - 'ดอกซ่อนกลิ่น', - 'ดอกเฟื่องฟ้า', - 'ดอกมะเขือ', - 'ดอกรักเร่', - 'ดังนี้', - 'ดินร่วน', - 'ดินสอสี', - 'ดูเล่น', - 'ได้แก่', - 'ต้นกะเพรา', - 'ต้นกาแฟ', - 'ต้นข้าว', - 'ต้นคว่ำตายหงายเป็น', - 'ต้นคุณนายตื่นสาย', - 'ต้นแค', - 'ต้นชงโค', - 'ต้นชะอม', - 'ต้นตะไคร้', - 'ต้นแตงโม', - 'ต้นทับทิม', - 'ต้นเทียน', - 'ต้นนุ่น', - 'ต้นบานชื่น', - 'ต้นบานไม่รู้โรย', - 'ต้นเฟื่องฟ้า', - 'ต้นมะกอก', - 'ต้นมัน', - 'ต้นลางสาด', - 'ต้นว่าน', - 'ต้นสะแก', - 'ต้นสะตอ', - 'ต้นสัก', - 'ต้นอ้อย', - 'ต่อรอง', - 'ต่อสู้', - 'ตักเตือน', - 'ตัวผู้', - 'ตาราง', - 'ตารางสอน', - 'ตายโหง', - 'ติดตาม', - 'ตีลังกา', - 'ตุ้มหู', - 'เต้นรำ', - 'เตียงนอน', - 'แตกต่าง', - 'แตงไทย', - 'ถกเถียง', - 'ถ่ายเท', - 'ถือศีล', - 'ทดลอง', - 'ทดสอบ', - 'ทอผ้า', - 'ทองคำ', - 'ท้องฟ้า', - 'ทันที', - 'ทันใด', - 'ทับทิม', - 'ค่าน้ำ', - 'ที่นั่ง', - 'ทุกที', - 'เท่ากับ', - 'นกกระจอก', - 'นกยูง', - 'นกอินทรี', - 'น้องสาว', - 'น้อยใจ', - 'นักกีฬา', - 'น่าเกลียด', - 'น่าขัน', - 'นางฟ้า', - 'นานมาแล้ว', - 'นายท้าย', - 'นำหน้า', - 'น้ำใจ', - 'น้ำท่วม', - 'น้ำประปา', - 'น้ำยา', - 'น้ำเย็น', - 'น้ำอัดลม', - 'นิ้วเท้า', - 'แนะนำ', - 'บอกใบ้', - 'ใบตอง', - 'ปกปักรักษา', - 'ปลากัด', - 'ปลาตะเพียน', - 'ปิดทอง', - 'ปีนป่าย', - 'ปูม้า', - 'ผ้าถุง', - 'ผ้าใบ', - 'ผ้าพันคอ', - 'ผ้าโพกหัว', - 'ผีกองกอย', - 'ผู้ขาย', - 'ผู้ป่วย', - 'แผนที่', - 'แผ่นดิน', - 'พระเจ้าลูกเธอ', - 'พ่อขุน', - 'พังพอน', - 'พี่น้อง', - 'พี่เลี้ยง', - 'พื้นดิน', - 'พื้นที่', - 'พุ่มไม้', - 'พู่กัน', - 'พูดคุย', - 'พูดปด', - 'เพื่อนบ้าน', - 'ฟองน้ำ', - 'ฟ้อนรำ', - 'ภายนอก', - 'มดแดง', - 'ม้าลาย', - 'ม้ากระดก', - 'มิฉะนั้น', - 'เมืองไทย', - 'แม่ครัว', - 'แม้แต่', - 'ไม้ตะเคียน', - 'ไม้ถูบ้าน', - 'ไม้ไผ่', - 'ไม้เรียว', - 'ยากันยุง', - 'ยาสูบ', - 'ยางพารา', - 'เย็บปักถักร้อย', - 'เยี่ยมเยียน', - 'ร่มไม้', - 'ร่มรื่น', - 'รวบรวม', - 'รับผิดชอบ', - 'รับมือ', - 'รับสั่ง', - 'รายได้', - 'ร่ายรำ', - 'รุ่งเช้า', - 'รุ่งเรือง', - 'รุนแรง', - 'รู้เรื่อง', - 'เริ่มต้น', - 'เรือบิน', - 'เรือใบ', - 'เรือพาย', - 'เรื่องราว', - 'โรงงาน', - 'โรงสี', - 'ลงมือ', - 'ล้อมวง', - 'ลับตา', - 'ลายมือ', - 'ลำตัว', - 'ลำพัง', - 'ลืมตา', - 'ลูกค้า', - 'ลูกจัน', - 'ลูกชาย', - 'ลูกน้อง', - 'ลูกนิมิต', - 'ลูกสูบ', - 'ลูกเสือชาวบ้าน', - 'ลูกอม', - 'เล็ม', - 'เลอะเทอะ', - 'เล่าเรียน', - 'ไล่จับ', - 'วอดวาย', - 'วันเกิด', - 'วันที่', - 'วันรุ่งขึ้น', - 'วิ่งเปี้ยว', - 'วิ่งหนี', - 'แว่นตา', - 'ส้มเช้ง', - 'ส่องแสง', - 'สามแยก', - 'สายตา', - 'สายไฟ', - 'สำนักงาน', - 'สิบล้อ', - 'สีชมพู', - 'สีเทา', - 'สีน้ำ', - 'สีฟ้า', - 'สุดท้าย', - 'สูดดม', - 'เสือดาว', - 'เสื้อยืด', - 'หน้าตา', - 'หน้าผาก', - 'หน้าฝน', - 'หน้าอก', - 'หนูตะเภา', - 'หม้อแกง', - 'หมาบ้า', - 'หรี่ตา', - 'ห้องฉุกเฉิน', - 'หัวผักกาด', - 'อดทน', - 'อบอ้าว', - 'ออกกำลัง', - 'ออกลูก', - 'อับปาง', - 'กตัญญู', - 'กติกา', - 'กรอง', - 'กระยาสารท', - 'กล', - 'กล้อง', - 'กลอน', - 'กล่อม', - 'กลัก', - 'กษัตริย์', - 'กันดาร', - 'กุฏิ', - 'เกรด', - 'เกล็ด', - 'เกลี้ยง', - 'เกลียว', - 'เกวียน', - 'เกียรติ', - 'แกลบ', - 'แกลลอน', - 'ขจัด', - 'ขมา', - 'ขยับ', - 'ขยาย', - 'ขวิด', - 'ครอง', - 'ครั่ง', - 'คราด', - 'คลอด', - 'คลาย', - 'เคล็ด', - 'จราจร', - 'ฉลาด', - 'ฉันท์', - 'ช็อกโกแลต', - 'เช็ค', - 'เชลย', - 'ซ่าหริ่ม', - 'ตลิ่ง', - 'ตะแกรง', - 'ตั๊กแตน', - 'ถล่ม', - 'ถวิล', - 'เทอม', - 'แท็กซี่', - 'ธนาคาร', - 'ธาตุ', - 'นคร', - 'บท', - 'บรรดา', - 'บริการ', - 'บริจาค', - 'บริษัท', - 'บริสุทธิ์', - 'บำเพ็ญ', - 'บาป', - 'บุตร', - 'เบอร์', - 'แบดมินตัน', - 'แบบทดสอบ', - 'ปกติ', - 'ปฏิวัติ', - 'ประกาศ', - 'ประพฤติ', - 'ประเภท', - 'ประมาท', - 'ประมุข', - 'ประวัติ', - 'ประสงค์', - 'ประหยัด', - 'ประหลาด', - 'ปรากฏ', - 'ปลอม', - 'ปลั๊ก', - 'ปลิว', - 'ปัจจัย', - 'ปัญหา', - 'เปรต', - 'เปรียบ', - 'เปลือง', - 'โปรด', - 'โปรตีน', - 'ไปรษณีย์', - 'ผลัด', - 'ผลิต', - 'ผสม', - 'พนม', - 'พรม', - 'พลัด', - 'พลั่ว', - 'พลิก', - 'พิจารณา', - 'พิมพ์', - 'พิเศษ', - 'เพชร', - 'แฟลต', - 'ภูษา', - 'มนต์', - 'มลาย', - 'มะปริง', - 'มัธยม', - 'มารยาท', - 'เมรุ', - 'ระหว่าง', - 'รางวัล', - 'ฤาษี', - 'ลักษณะ', - 'ลาภ', - 'วัสดุ', - 'วิหค', - 'ศาล', - 'ศีล', - 'เศร้า', - 'สงกรานต์', - 'สงคราม', - 'สติ', - 'สนอง', - 'สนั่น', - 'สนิท', - 'สภาพ', - 'สมาน', - 'สรรเสริญ', - 'สรุป', - 'สลบ', - 'สลับ', - 'สวรรค์', - 'สวิตช์', - 'สังเกต', - 'สังขยา', - 'สัปดาห์', - 'สัมพันธ์', - 'สามารถ', - 'สาร', - 'สาหัส', - 'สาเหตุ', - 'สำเร็จ', - 'สูตร', - 'เสริฟ', - 'เสมอ', - 'เสริม', - 'หงส์', - 'หนาม', - 'หมก', - 'หมวด', - 'หมัด', - 'หย่อน', - 'หยัก', - 'หยาบ', - 'หลง', - 'หวาย', - 'เหตุ', - 'เหรียญ', - 'เหลว', - 'เหลี่ยม', - 'เหลียว', - 'เหวี่ยง', - 'อธิษฐาน', - 'อนุญาต', - 'อนุบาล', - 'ออกซิเจน', - 'อารมณ์', - 'อาวุธ', - 'อินทร์', - 'อุจจาระ', - 'อุทิศ', - 'อุปกรณ์', - 'โอกาส', - 'โอรส', - 'กงการ', - 'กรรมกร', - 'กรรมการ', - 'กล้วยไม้', - 'กล้วยหอม', - 'กล่องข้าว', - 'กล่องดินสอ', - 'กลับบ้าน', - 'กลางคืน', - 'กลางวัน', - 'ก่อสร้าง', - 'กากบาท', - 'การกีฬา', - 'การคูณ', - 'การงาน', - 'การนอน', - 'การบวก', - 'การบำรุงรักษา', - 'การบ้าน', - 'การป้องกัน', - 'การพักผ่อน', - 'การแพทย์', - 'การระวัง', - 'การรักษา', - 'การเรียน', - 'การเล่าเรื่อง', - 'การศึกษา', - 'กาลครั้งหนึ่ง', - 'กิจกรรม', - 'กิจการ', - 'กิโลกรัม', - 'กิโลเมตร', - 'เกรงใจ', - 'เกียจคร้าน', - 'ขนมกล้วย', - 'ขนมไข่', - 'ขนมครก', - 'ขนมเค้ก', - 'ขนมจีน', - 'ขนมชั้น', - 'ขนมตาล', - 'ขนมเทียน', - 'ขนมบัวลอย', - 'ขนมเปียกปูน', - 'ขนมใส่ไส้', - 'ขยายพันธุ์', - 'ขอโทษ', - 'ของขวัญ', - 'ของหวาน', - 'ของแหลม', - 'ขอบคุณ', - 'ขัดสมาธิ', - 'ข้าราชการ', - 'ขาดแคลน', - 'ข้าวเกรียบกุ้ง', - 'ข้าวปลาอาหาร', - 'ข้าวเปลือก', - 'ข้าวหมกไก่', - 'ข้าวเหนียว', - 'ขี้เกียจ', - 'ขี้ไคล', - 'เข็มกลัด', - 'เข้าพรรษา', - 'ไข้หวัด', - 'คณิตศาสตร์', - 'ครอบครัว', - 'ครูบาอาจารย์', - 'ความกตัญญู', - 'ความเข้าใจ', - 'ความเคยชิน', - 'ความเคารพ', - 'ความเจริญ', - 'ความชั่ว', - 'ความดี', - 'ความทุกข์', - 'ความเป็นอยู่', - 'ความเมตตา', - 'ความร่มเย็น', - 'ความรัก', - 'ความรู้', - 'ความรู้สึก', - 'ความสวยงาม', - 'ความสะอาด', - 'ความสำคัญ', - 'ความสุข', - 'ความหนาว', - 'ความอบอุ่น', - 'คำปฏิญาณ', - 'คำศัพท์', - 'คุณครู', - 'คุณตา', - 'คุณธรรม', - 'คุณน้า', - 'คุณนาย', - 'คุณป้า', - 'คุณปู่', - 'คุณพ่อ', - 'คุณพี่', - 'คุณแม่', - 'คุณย่า', - 'คุณยาย', - 'คุณลุง', - 'คุณหมอ', - 'คุณอา', - 'เครื่องกระป๋อง', - 'เครื่องแกง ', - 'เครื่องเขียน', - 'เครื่องครัว', - 'เครื่องใช้', - 'เครื่องแต่งกาย', - 'เครื่องนอน', - 'เครื่องบังคับ', - 'เครื่องบิน', - 'เครื่องแบบ', - 'เครื่องปรุง', - 'เครื่องมือ', - 'เครื่องยนต์', - 'เครื่องเรือน', - 'เครื่องเล่น', - 'เครื่องหมาย', - 'งานประดิษฐ์', - 'จดหมาย', - 'จริยศึกษา', - 'จักรยาน', - 'จักรยานยนต์', - 'จิตใจ', - 'จุดประสงค์', - 'เจ้าหญิง', - 'ชนชาติ', - 'ช้อนกลาง', - 'ช้อนส้อม', - 'เชื้อโรค', - 'แชร์บอล', - 'ซื่อสัตย์', - 'ดวงจันทร์', - 'ดวงอาทิตย์', - 'ดอกกระดาษ', - 'ดอกกล้วยไม้', - 'ดอกกุหลาบ', - 'ดอกคุณนายตื่นสาย', - 'ดอกเบญจมาศ', - 'ดอกพุทธรักษา', - 'ดอกหงอนไก่', - 'ดินเหนียว', - 'เด็กหญิง', - 'โดยสาร', - 'ต้นกล้วย', - 'ต้นกุหลาบ', - 'ต้นขนุน', - 'ต้นขี้เหล็ก', - 'ต้นตาล', - 'ต้นนางกวัก', - 'ต้นฝรั่ง', - 'ต้นพริก', - 'ต้นพุทรา', - 'ต้นมะกรูด', - 'ต้นมะขามเทศ', - 'ต้นมะปราง', - 'ต้นมะปริง', - 'ต้นมะพร้าว', - 'ต้นมะม่วงหิมพานต์', - 'ต้นยูคาลิปตัส', - 'ต้นองุ่น', - 'ต้นแอปเปิล', - 'ตลาดนัด', - 'ตักบาตร', - 'ตัวคูณ', - 'ตัวเลข', - 'ตัวหาร', - 'ตัวอย่าง', - 'ตาเขย่ง', - 'ต่างประเทศ', - 'ตู้โชว์', - 'เตรียมตัว', - 'เตาแก๊ส', - 'ถอยหลัง', - 'ถั่วเหลือง', - 'ถ่ายรูป', - 'ทหารเรือ', - 'ทอดกฐิน', - 'ทอดพระเนตร', - 'ทะเลทราย', - 'ทั้งหมด', - 'ทั้งหลาย', - 'ทำบุญ', - 'ทำเวร', - 'ทิวทัศน์', - 'ทีหลัง', - 'ทุกข์สุข', - 'เทพารักษ์', - 'โทรศัพท์', - 'ธงชาติ', - 'ธรรมชาติ', - 'ธรรมดา', - 'ธุรกิจ', - 'นมัสการ', - 'นอนหลับ', - 'นางพยาบาล', - 'นาฎศิลป์', - 'นายพราน', - 'น้ำพริก', - 'น้ำมนต์', - 'นิดหน่อย', - 'บวชชี', - 'บวชนาค', - 'บาดแผล', - 'บาสเกตบอล', - 'บิณฑบาต', - 'บุญคุณ', - 'ปกครอง', - 'ปกคลุม', - 'ประเทศชาติ', - 'ประสบการณ์', - 'ปลอกหมอน', - 'ปลอดโปร่ง', - 'ปลอดภัย', - 'ปลาวาฬ', - 'ปลาหมึก', - 'ปลาหวาน', - 'ปักษ์ใต้', - 'ปานกลาง', - 'เปลี่ยนแปลง', - 'แปรงสีฟัน', - 'ผงชูรส', - 'ผลไม้', - 'ผลผลิต', - 'ผิวหนัง', - 'ผู้ปกครอง', - 'ผู้อำนวยการ', - 'แผ่เมตตา', - 'ฝาผนัง', - 'พนมมือ', - 'พรวนดิน', - 'พระคุณ', - 'พระธาตุ', - 'พระบรมโอรสาธิราช', - 'พระบาทสมเด็จพระเจ้าอยู่หัว', - 'พระบารมี', - 'พระพุทธเจ้า', - 'พระพุทธรูป', - 'พระมหากษัตริย์', - 'พระมเหสี', - 'พระราชกรณียกิจ', - 'พระราชดำริ', - 'พระราชดำเนิน', - 'พระราชทาน', - 'พระราชวัง', - 'พระราชโอรส', - 'พระสงฆ์', - 'พระองค์', - 'พระอาทิตย์', - 'พระอินทร์', - 'พริกขี้หนู', - 'พริกไทย', - 'พรุ่งนี้', - 'พลเมือง', - 'พลศึกษา', - 'พลาสติก', - 'เพลงชาติ', - 'เพลงปลุกใจ', - 'เพลิดเพลิน', - 'พังทลาย', - 'เพาะปลูก', - 'ฟุตบอล', - 'ภาพยนตร์', - 'ภารโรง', - 'ภูมิใจ', - 'มอเตอร์ไซค์', - 'มอบหมาย', - 'มะขามเทศ', - 'มะเขือเทศ', - 'มันสำปะหลัง', - 'มาฆบูชา', - 'ม้าหมุน', - 'แม่เฒ่า', - 'แมลงวัน', - 'แมลงหวี่', - 'ไม่ค่อย', - 'ไม้กวาด', - 'ไม้แขวนเสื้อ', - 'ไม้บรรทัด', - 'ยารักษาโรค', - 'ยาเสพติด', - 'ยาหยอดตา', - 'ยุวกาชาด', - 'เยาวชน', - 'รถกระบะ', - 'รถเก๋ง', - 'รถเข็น', - 'รถแข่ง', - 'รถเครื่อง', - 'รถจักรยาน', - 'รถจักรยานยนต์', - 'รถโดยสาร', - 'รถตำรวจ', - 'รถถัง', - 'รถไถ', - 'รถทัวร์', - 'รถแท็กซี่', - 'รถบรรทุก', - 'รถบัส', - 'รถประจำทาง', - 'รถพยาบาล', - 'รถมอเตอร์ไซค์', - 'รถเมล์', - 'รถสองแถว', - 'รสชาติ', - 'ร้องเพลง', - 'รัชกาล', - 'รับราชการ', - 'ราชสาส์น', - 'ราชสีห์', - 'ราชาศัพท์', - 'รูปภาพ', - 'โรงอาหาร', - 'ฤดูร้อน', - 'ฤดูหนาว', - 'ลงโทษ', - 'ลักขโมย', - 'ลำคลอง', - 'ลำธาร', - 'ลิปสติก', - 'เลขคณิต', - 'ลูกบอล', - 'ลูกศิษย์', - 'วงกลม', - 'วอลเลย์บอล', - 'วันเข้าพรรษา', - 'วันจันทร์', - 'วันพฤหัสบดี', - 'วันพุธ', - 'วันมาฆบูชา', - 'วันวิสาขบูชา', - 'วันศุกร์', - 'วันเสาร์', - 'วันออกพรรษา', - 'วันอังคาร', - 'วันอาทิตย์', - 'วันอาสาฬหบูชา', - 'วาดรูป', - 'วิ่งผลัด', - 'วิสาขบูชา', - 'ศาลากลาง', - 'ศาสนาคริสต์', - 'ศาสนาพุทธ', - 'ศาสนาอิสลาม', - 'เศษกระดาษ', - 'เศษอาหาร', - 'ส่งเสริม', - 'สถานที่', - 'สถานีตำรวจ', - 'สถานีอนามัย', - 'สนุกสนาน', - 'ส้มเขียวหวาน', - 'สม่ำเสมอ', - 'สมุดวาดเขียน', - 'สวดมนต์', - 'สวนหย่อม', - 'สัตว์ป่า', - 'สามเณร', - 'สารวัตร', - 'สีคราม', - 'สีน้ำตาล', - 'สีเหลือง', - 'สี่เหลี่ยม', - 'สุขภาพ', - 'สุนัขจิ้งจอก', - 'สุภาพ', - 'สูตรคูณ', - 'เสือโคร่ง', - 'เสื้อกล้าม', - 'แสงสว่าง', - 'แสงอาทิตย์', - 'ใส่บาตร', - 'ไส้กรอก', - 'หงอนไก่', - 'หนังจีน', - 'หนังไทย', - 'หนังสะติ๊ก', - 'หนังสือพิมพ์', - 'หนังสือเรียน', - 'หน้าหนาว', - 'หมอนข้าง', - 'หมากเก็บ', - 'หมากฮอส', - 'หลวงปู่', - 'หลวงพ่อ', - 'หลังคา', - 'หลับตา', - 'หวานเย็น', - 'ห้องพยาบาล', - 'หารสั้น', - 'หุ่นยนต์', - 'หูหนวก', - 'เหตุการณ์', - 'แห่นาค', - 'แหลกลาญ', - 'อย่างไร', - 'ออกพรรษา', - 'อ่อนหวาน', - 'อาจารย์ใหญ่', - 'อาทิตย์', - 'อุบัติเหตุ', + "กตัญญู", + "กบ", + "กรดไหลย้อน", + "กรรมการ", + "กระจาย", + "กระถาง", + "กล", + "กล่อง", + "กล้า", + "กลาง", + "กลางคืน", + "กล่าว", + "กว้าง", + "กะเพรา", + "กะละมัง", + "กับ", + "ก้าง", + "กาม", + "การ", + "กำ", + "กำไร", + "กิ่งไม้", + "กิจกรรม", + "กิน", + "กิโลเมตร", + "กีฬา", + "กู", + "กูเกิล", + "เกม", + "เกาหลี", + "แก้ว", + "แกะ", + "แก", + "แก่", + "แก้", + "โก๋แก่", + "โกง", + "ขนม", + "ขนมชั้น", + "ของหวาน", + "ขัด", + "ขันน้ำ", + "ข้าง", + "ขาดเคิ่ง", + "ข้าว", + "ข้าวเจ้า", + "ข้าวหมูแดง", + "ขี่", + "ขี้ไคล", + "ขี้ดิน", + "ขุด", + "เขยิบ", + "เขยื้อน", + "เข้ารหัส", + "แข่งขัน", + "แข็ง", + "แข้ง", + "ไข่", + "คนไข้", + "คนตาย", + "คบ", + "คมนาคม", + "ครอง", + "ครู", + "คลาน", + "ควร", + "ความ", + "คอก", + "คอมมิวนิสต์", + "ค่อย", + "คะแนน", + "คั่ว", + "คาว", + "คำถาม", + "คำสั่ง", + "คู่", + "เคย", + "เครื่องบิน", + "เคเอฟซี", + "เคารพ", + "แคะ", + "โควิด", + "ไค้หัน", + "งม", + "ง่วง", + "เงา", + "โง่", + "จะไปพั่ง", + "จัด", + "จาก", + "จ๋า", + "เจ็บไข้", + "แจ่มใส", + "ใจ", + "ฉีด", + "เฉย", + "ชนิด", + "ชะนี", + "ช้า", + "ชาว", + "ชาวนา", + "ชิง", + "ชุดนอน", + "ชุมนุม", + "ชู", + "เช้า", + "เชื่อม", + "เชื้อโรค", + "เชื่อ", + "ไชโย", + "ซ่อน", + "ซ่อมเบิ่ง", + "ซอย", + "ซี่", + "แซง", + "ด้วย", + "ดอกไม้", + "ดอง", + "ดังนี้", + "ด้าย", + "ดาวเทียม", + "ดำ", + "ดี", + "ดึก", + "ดู", + "เดี่ยว", + "โดย", + "ได้แก่", + "ตกลง", + "ต้น", + "ตรวจ", + "ตลอด", + "ตอก", + "ตอใด", + "ต่อ", + "ตะแกรง", + "ตะปู", + "ตั้งแต่", + "ตับ", + "ตัวเมีย", + "ตัวอย่าง", + "ตำลึง", + "ติด", + "ตีน", + "ตื่น", + "ตู้", + "ตู่", + "เตา", + "เตียน", + "แต่ง", + "แตะ", + "แต่", + "โตย", + "โต", + "ไต้หวัน", + "ไต้", + "ถกเถียง", + "ถาง", + "ถีบ", + "ถึง", + "แถบ", + "ทด", + "ทดลอง", + "ทรัพย์สิน", + "ทวด", + "ทวิตเตอร์", + "ทหาร", + "ท้องฟ้า", + "ทอด", + "ทอดมัน", + "ทั่ว", + "ทาน", + "ทำสวน", + "ที่ดิน", + "ที่", + "ทุกข์", + "ทุ่ม", + "เทเลแกรม", + "แท็กซี่", + "แท็บลอยด์", + "ธนาคาร", + "ธาตุ", + "น้อง", + "นักเรียน", + "นั่ง", + "น้า", + "น้ำเย็น", + "น้ำหวาน", + "นิ่ม", + "นุ่น", + "เนื่องจาก", + "เนื้อ", + "โน่น", + "ใน", + "บริโภค", + "บริษัท", + "บอก", + "บอกใบ้", + "บัดนี้", + "บันได", + "บาด", + "บูชา", + "บูด", + "เบียร์", + "ใบไม้", + "ปกครอง", + "ประชาธิปไตย", + "ประพฤติ", + "ประสบการณ์", + "ปาก", + "ปิ่นโต", + "ปี", + "ปี่", + "ปู", + "เป็น", + "เปลือง", + "เป้า", + "แปรง", + "ผล", + "ผลัด", + "ผลิต", + "ผสม", + "ผ่อ", + "ผัก", + "ผิด", + "ผีก", + "ผู้ร้าย", + "เผื่อ", + "แผนที่", + "โผล่", + "ฝาก", + "พนมมือ", + "พยาธิ", + "พ่อ", + "พักผ่อน", + "พับ", + "พิการ", + "พิพักพิพ่วน", + "เพดาน", + "เพราะ", + "เพลง", + "เพียง", + "แพ้", + "ฟาก", + "เฟซบุ๊ก", + "มลายู", + "มอบ", + "มะเขือเทศ", + "มัสยิด", + "มิตร", + "เมตตา", + "เมล็ด", + "เมาะ", + "แมค", + "แม่มด", + "แมลง", + "แม่", + "แม้", + "ย่อ", + "ยัน", + "ยา", + "ย้ำ", + "ยีราฟ", + "ยึด", + "ยูทูบ", + "เย็น", + "เย็บ", + "เยอะ", + "เยาวชน", + "รถโดยสาร", + "รถถัง", + "รถทัวร์", + "รถบัส", + "ร่มรื่น", + "รสชาติ", + "ร้อน", + "รอ", + "ระเบียง", + "ระยำ", + "รังแก", + "รัฐบาล", + "รัฐประหาร", + "ราก", + "ร่างกาย", + "ร่าง", + "ริม", + "รู้จัก", + "เริ่ม", + "เรียง", + "เรื่อย", + "แรก", + "แรงงาน", + "โรงสี", + "ฤดู", + "ลงมือ", + "ล่อ", + "ลืมคาว", + "ลูกชิ้น", + "ลูกตา", + "ลูก", + "เล่ม", + "เลี้ยว", + "เลือก", + "แลก", + "และ", + "วัง", + "วัฒนธรรม", + "วาด", + "วิกิพีเดีย", + "วิ่ง", + "วิชาชีพ", + "วินโดวส์", + "ศาลากลาง", + "ศาสตร์", + "ศิษย์", + "เศรษฐกิจ", + "เศษอาหาร", + "เศษ", + "สดชื่น", + "สด", + "สถานี", + "สนอง", + "สบาย", + "สมอง", + "สมาคม", + "สม่ำเสมอ", + "สลับ", + "สหกรณ์", + "สหภาพ", + "สัญญา", + "สาธารณรัฐ", + "สารวัตร", + "สำนักงาน", + "สำหรับ", + "สีแดง", + "สีเทา", + "สี", + "สุขภาพ", + "สุดท้าย", + "เสรีนิยม", + "เสรีภาพ", + "เสียบ", + "แสง", + "หน้ากาก", + "หน้าต่าง", + "หน้าที่", + "หนุน", + "หนู", + "หมด", + "ห่มผ้า", + "หมอก", + "หม้อ", + "หมัด", + "หมี", + "หมุน", + "หยอก", + "หยัก", + "หรือ", + "หลง", + "หล่น", + "หลบ", + "หลังคา", + "ห่วงใย", + "หว่าน", + "ห่อข้าว", + "ห้องเรียน", + "หอย", + "ห้าง", + "หาบ", + "หาม้าย", + "หาย", + "หึงสา", + "หุ้ม", + "เหตุ", + "เห็น", + "แหย่", + "ใหม่", + "ไหน", + "องค์", + "อด", + "อธิษฐาน", + "อนุบาล", + "อบอุ่น", + "อวัยวะ", + "ออนซอนเด๊", + "อ่อนหวาน", + "อัศจรรย์", + "อายุ", + "อาสา", + "อาหาร", + "อิฐ", + "อินเทอร์เน็ต", + "อินสตาแกรม", + "อิสลาม", + "อุปโภค", + "เอสซีบี", + "เอิด", + "แอนดรอยด์", + "ไอศกรีม", + "ไอโอเอส", ) diff --git a/faker/providers/lorem/zh_CN/__init__.py b/faker/providers/lorem/zh_CN/__init__.py index b6756cad30..fbb411c22b 100644 --- a/faker/providers/lorem/zh_CN/__init__.py +++ b/faker/providers/lorem/zh_CN/__init__.py @@ -4,352 +4,352 @@ class Provider(LoremProvider): """Implement lorem provider for ``zh_CN`` locale.""" - word_connector = '' + word_connector = "" word_list = ( - '一个', - '我们', - '时间', - '中国', - '可以', - '公司', - '没有', - '信息', - '下载', - '软件', - '注册', - '自己', - '产品', - '工作', - '论坛', - '企业', - '这个', - '他们', - '管理', - '已经', - '问题', - '内容', - '使用', - '进行', - '市场', - '服务', - '如果', - '系统', - '技术', - '发展', - '现在', - '作者', - '就是', - '网络', - '提供', - '相关', - '我的', - '文章', - '方式', - '电话', - '发表', - '所有', - '时候', - '因为', - '北京', - '有限', - '公司', - '什么', - '还是', - '开始', - '本站', - '发布', - '自己', - '支持', - '在线', - '国家', - '生活', - '联系', - '积分', - '主题', - '所以', - '不能', - '的人', - '上海', - '中心', - '世界', - '游戏', - '需要', - '价格', - '用户', - '通过', - '要求', - '不是', - '免费', - '个人', - '但是', - '地址', - '网站', - '情况', - '最后', - '设计', - '同时', - '这些', - '活动', - '手机', - '推荐', - '一些', - '主要', - '大家', - '发现', - '目前', - '文件', - '你的', - '不过', - '评论', - '生产', - '美国', - '图片', - '经济', - '功能', - '国际', - '的是', - '选择', - '其他', - '这样', - '会员', - '环境', - '来自', - '日期', - '成为', - '他的', - '最新', - '专业', - '一下', - '人员', - '任何', - '教育', - '资料', - '状态', - '都是', - '点击', - '为了', - '不会', - '出现', - '知道', - '社会', - '名称', - '而且', - '介绍', - '音乐', - '等级', - '可能', - '这种', - '建设', - '朋友', - '虽然', - '电子', - '资源', - '看到', - '精华', - '电影', - '如何', - '新闻', - '阅读', - '安全', - '全国', - '只有', - '回复', - '大学', - '学生', - '学习', - '关于', - '项目', - '不同', - '以及', - '有关', - '那么', - '开发', - '还有', - '只是', - '非常', - '研究', - '广告', - '首页', - '方法', - '希望', - '地方', - '也是', - '单位', - '怎么', - '应该', - '今天', - '以上', - '更新', - '帖子', - '显示', - '能力', - '电脑', - '记者', - '查看', - '位置', - '不要', - '由于', - '无法', - '详细', - '投资', - '是一', - '一般', - '进入', - '发生', - '这里', - '感觉', - '更多', - '你们', - '的话', - '起来', - '标准', - '一样', - '认为', - '女人', - '那个', - '设备', - '搜索', - '之后', - '然后', - '学校', - '销售', - '组织', - '说明', - '提高', - '为什', - '作品', - '或者', - '喜欢', - '东西', - '方面', - '简介', - '必须', - '经营', - '科技', - '作为', - '其中', - '运行', - '工程', - '解决', - '操作', - '经验', - '地区', - '重要', - '直接', - '登录', - '合作', - '结果', - '影响', - '这是', - '行业', - '对于', - '表示', - '程序', - '包括', - '留言', - '规定', - '处理', - '男人', - '各种', - '部门', - '数据', - '具有', - '商品', - '系列', - '大小', - '因此', - '关系', - '可是', - '比较', - '文化', - '一直', - '法律', - '这么', - '您的', - '城市', - '分析', - '基本', - '最大', - '类别', - '两个', - '日本', - '得到', - '一次', - '继续', - '成功', - '她的', - '责任', - '深圳', - '业务', - '欢迎', - '加入', - '能够', - '觉得', - '部分', - '中文', - '根据', - '人民', - '政府', - '控制', - '其实', - '之间', - '一种', - '威望', - '实现', - '语言', - '出来', - '谢谢', - '社区', - '品牌', - '是否', - '工具', - '完全', - '决定', - '很多', - '网上', - '事情', - '今年', - '国内', - '以后', - '制作', - '浏览', - '过程', - '完成', - '类型', - '来源', - '质量', - '有些', - '一起', - '当然', - '汽车', - '一点', - '帮助', - '增加', - '历史', - '以下', - '不断', - '应用', - '那些', - '密码', - '计划', - '如此', - '次数', - '到了', - '拥有', - '孩子', - '原因', - '参加', - '只要', - '报告', - '当前', - '客户', - '正在', - '注意', - '标题', - '空间', - '一定', - '一切', - '特别', - '全部', - '准备', + "一个", + "我们", + "时间", + "中国", + "可以", + "公司", + "没有", + "信息", + "下载", + "软件", + "注册", + "自己", + "产品", + "工作", + "论坛", + "企业", + "这个", + "他们", + "管理", + "已经", + "问题", + "内容", + "使用", + "进行", + "市场", + "服务", + "如果", + "系统", + "技术", + "发展", + "现在", + "作者", + "就是", + "网络", + "提供", + "相关", + "我的", + "文章", + "方式", + "电话", + "发表", + "所有", + "时候", + "因为", + "北京", + "有限", + "公司", + "什么", + "还是", + "开始", + "本站", + "发布", + "自己", + "支持", + "在线", + "国家", + "生活", + "联系", + "积分", + "主题", + "所以", + "不能", + "的人", + "上海", + "中心", + "世界", + "游戏", + "需要", + "价格", + "用户", + "通过", + "要求", + "不是", + "免费", + "个人", + "但是", + "地址", + "网站", + "情况", + "最后", + "设计", + "同时", + "这些", + "活动", + "手机", + "推荐", + "一些", + "主要", + "大家", + "发现", + "目前", + "文件", + "你的", + "不过", + "评论", + "生产", + "美国", + "图片", + "经济", + "功能", + "国际", + "的是", + "选择", + "其他", + "这样", + "会员", + "环境", + "来自", + "日期", + "成为", + "他的", + "最新", + "专业", + "一下", + "人员", + "任何", + "教育", + "资料", + "状态", + "都是", + "点击", + "为了", + "不会", + "出现", + "知道", + "社会", + "名称", + "而且", + "介绍", + "音乐", + "等级", + "可能", + "这种", + "建设", + "朋友", + "虽然", + "电子", + "资源", + "看到", + "精华", + "电影", + "如何", + "新闻", + "阅读", + "安全", + "全国", + "只有", + "回复", + "大学", + "学生", + "学习", + "关于", + "项目", + "不同", + "以及", + "有关", + "那么", + "开发", + "还有", + "只是", + "非常", + "研究", + "广告", + "首页", + "方法", + "希望", + "地方", + "也是", + "单位", + "怎么", + "应该", + "今天", + "以上", + "更新", + "帖子", + "显示", + "能力", + "电脑", + "记者", + "查看", + "位置", + "不要", + "由于", + "无法", + "详细", + "投资", + "是一", + "一般", + "进入", + "发生", + "这里", + "感觉", + "更多", + "你们", + "的话", + "起来", + "标准", + "一样", + "认为", + "女人", + "那个", + "设备", + "搜索", + "之后", + "然后", + "学校", + "销售", + "组织", + "说明", + "提高", + "为什", + "作品", + "或者", + "喜欢", + "东西", + "方面", + "简介", + "必须", + "经营", + "科技", + "作为", + "其中", + "运行", + "工程", + "解决", + "操作", + "经验", + "地区", + "重要", + "直接", + "登录", + "合作", + "结果", + "影响", + "这是", + "行业", + "对于", + "表示", + "程序", + "包括", + "留言", + "规定", + "处理", + "男人", + "各种", + "部门", + "数据", + "具有", + "商品", + "系列", + "大小", + "因此", + "关系", + "可是", + "比较", + "文化", + "一直", + "法律", + "这么", + "您的", + "城市", + "分析", + "基本", + "最大", + "类别", + "两个", + "日本", + "得到", + "一次", + "继续", + "成功", + "她的", + "责任", + "深圳", + "业务", + "欢迎", + "加入", + "能够", + "觉得", + "部分", + "中文", + "根据", + "人民", + "政府", + "控制", + "其实", + "之间", + "一种", + "威望", + "实现", + "语言", + "出来", + "谢谢", + "社区", + "品牌", + "是否", + "工具", + "完全", + "决定", + "很多", + "网上", + "事情", + "今年", + "国内", + "以后", + "制作", + "浏览", + "过程", + "完成", + "类型", + "来源", + "质量", + "有些", + "一起", + "当然", + "汽车", + "一点", + "帮助", + "增加", + "历史", + "以下", + "不断", + "应用", + "那些", + "密码", + "计划", + "如此", + "次数", + "到了", + "拥有", + "孩子", + "原因", + "参加", + "只要", + "报告", + "当前", + "客户", + "正在", + "注意", + "标题", + "空间", + "一定", + "一切", + "特别", + "全部", + "准备", ) diff --git a/faker/providers/lorem/zh_TW/__init__.py b/faker/providers/lorem/zh_TW/__init__.py index 44449ef0a3..3aaa100a4b 100644 --- a/faker/providers/lorem/zh_TW/__init__.py +++ b/faker/providers/lorem/zh_TW/__init__.py @@ -4,352 +4,352 @@ class Provider(LoremProvider): """Implement lorem provider for ``zh_TW`` locale.""" - word_connector = '' + word_connector = "" word_list = ( - '一個', - '我們', - '時間', - '台灣', - '可以', - '公司', - '沒有', - '信息', - '下載', - '軟體', - '注冊', - '自己', - '產品', - '工作', - '論壇', - '企業', - '這個', - '他們', - '管理', - '已經', - '問題', - '內容', - '使用', - '進行', - '市場', - '服務', - '如果', - '系統', - '技術', - '發展', - '現在', - '作者', - '就是', - '網絡', - '提供', - '相關', - '我的', - '文章', - '方式', - '電話', - '發表', - '所有', - '時候', - '因為', - '台北', - '有限', - '公司', - '什麼', - '還是', - '開始', - '本站', - '發布', - '自己', - '支持', - '在線', - '國家', - '生活', - '聯系', - '積分', - '主題', - '所以', - '不能', - '的人', - '上海', - '中心', - '世界', - '游戲', - '需要', - '價格', - '用戶', - '通過', - '要求', - '不是', - '免費', - '個人', - '但是', - '地址', - '網站', - '情況', - '最后', - '設計', - '同時', - '這些', - '活動', - '手機', - '推薦', - '一些', - '主要', - '大家', - '發現', - '目前', - '文件', - '你的', - '不過', - '評論', - '生產', - '美國', - '圖片', - '經濟', - '功能', - '國際', - '的是', - '選擇', - '其他', - '這樣', - '會員', - '環境', - '來自', - '日期', - '成為', - '他的', - '最新', - '專業', - '一下', - '人員', - '任何', - '教育', - '資料', - '狀態', - '都是', - '點擊', - '為了', - '不會', - '出現', - '知道', - '社會', - '名稱', - '而且', - '介紹', - '音樂', - '等級', - '可能', - '這種', - '建設', - '朋友', - '雖然', - '電子', - '資源', - '看到', - '精華', - '電影', - '如何', - '新聞', - '閱讀', - '安全', - '全國', - '隻有', - '回復', - '大學', - '學生', - '學習', - '關於', - '項目', - '不同', - '以及', - '有關', - '那麼', - '開發', - '還有', - '隻是', - '非常', - '研究', - '廣告', - '首頁', - '方法', - '希望', - '地方', - '也是', - '單位', - '怎麼', - '應該', - '今天', - '以上', - '更新', - '帖子', - '顯示', - '能力', - '電腦', - '記者', - '查看', - '位置', - '不要', - '由於', - '無法', - '詳細', - '投資', - '是一', - '一般', - '進入', - '發生', - '這裡', - '感覺', - '更多', - '你們', - '的話', - '起來', - '標准', - '一樣', - '認為', - '女人', - '那個', - '設備', - '搜索', - '之后', - '然后', - '學校', - '銷售', - '組織', - '說明', - '提高', - '為什', - '作品', - '或者', - '喜歡', - '東西', - '方面', - '簡介', - '必須', - '經營', - '科技', - '作為', - '其中', - '運行', - '工程', - '解決', - '操作', - '經驗', - '地區', - '重要', - '直接', - '登錄', - '合作', - '結果', - '影響', - '這是', - '行業', - '對於', - '表示', - '程序', - '包括', - '留言', - '規定', - '處理', - '男人', - '各種', - '部門', - '數據', - '具有', - '商品', - '系列', - '大小', - '因此', - '關系', - '可是', - '比較', - '文化', - '一直', - '法律', - '這麼', - '您的', - '城市', - '分析', - '基本', - '最大', - '類別', - '兩個', - '日本', - '得到', - '一次', - '繼續', - '成功', - '她的', - '責任', - '深圳', - '業務', - '歡迎', - '加入', - '能夠', - '覺得', - '部分', - '中文', - '根據', - '人民', - '政府', - '控制', - '其實', - '之間', - '一種', - '威望', - '實現', - '語言', - '出來', - '謝謝', - '社區', - '品牌', - '是否', - '工具', - '完全', - '決定', - '很多', - '網上', - '事情', - '今年', - '國內', - '以后', - '制作', - '瀏覽', - '過程', - '完成', - '類型', - '來源', - '質量', - '有些', - '一起', - '當然', - '汽車', - '一點', - '幫助', - '增加', - '歷史', - '以下', - '不斷', - '應用', - '那些', - '密碼', - '計劃', - '如此', - '次數', - '到了', - '擁有', - '孩子', - '原因', - '參加', - '隻要', - '報告', - '當前', - '客戶', - '正在', - '注意', - '標題', - '空間', - '一定', - '一切', - '特別', - '全部', - '准備', + "一個", + "我們", + "時間", + "台灣", + "可以", + "公司", + "沒有", + "信息", + "下載", + "軟體", + "注冊", + "自己", + "產品", + "工作", + "論壇", + "企業", + "這個", + "他們", + "管理", + "已經", + "問題", + "內容", + "使用", + "進行", + "市場", + "服務", + "如果", + "系統", + "技術", + "發展", + "現在", + "作者", + "就是", + "網絡", + "提供", + "相關", + "我的", + "文章", + "方式", + "電話", + "發表", + "所有", + "時候", + "因為", + "台北", + "有限", + "公司", + "什麼", + "還是", + "開始", + "本站", + "發布", + "自己", + "支持", + "在線", + "國家", + "生活", + "聯系", + "積分", + "主題", + "所以", + "不能", + "的人", + "上海", + "中心", + "世界", + "游戲", + "需要", + "價格", + "用戶", + "通過", + "要求", + "不是", + "免費", + "個人", + "但是", + "地址", + "網站", + "情況", + "最后", + "設計", + "同時", + "這些", + "活動", + "手機", + "推薦", + "一些", + "主要", + "大家", + "發現", + "目前", + "文件", + "你的", + "不過", + "評論", + "生產", + "美國", + "圖片", + "經濟", + "功能", + "國際", + "的是", + "選擇", + "其他", + "這樣", + "會員", + "環境", + "來自", + "日期", + "成為", + "他的", + "最新", + "專業", + "一下", + "人員", + "任何", + "教育", + "資料", + "狀態", + "都是", + "點擊", + "為了", + "不會", + "出現", + "知道", + "社會", + "名稱", + "而且", + "介紹", + "音樂", + "等級", + "可能", + "這種", + "建設", + "朋友", + "雖然", + "電子", + "資源", + "看到", + "精華", + "電影", + "如何", + "新聞", + "閱讀", + "安全", + "全國", + "隻有", + "回復", + "大學", + "學生", + "學習", + "關於", + "項目", + "不同", + "以及", + "有關", + "那麼", + "開發", + "還有", + "隻是", + "非常", + "研究", + "廣告", + "首頁", + "方法", + "希望", + "地方", + "也是", + "單位", + "怎麼", + "應該", + "今天", + "以上", + "更新", + "帖子", + "顯示", + "能力", + "電腦", + "記者", + "查看", + "位置", + "不要", + "由於", + "無法", + "詳細", + "投資", + "是一", + "一般", + "進入", + "發生", + "這裡", + "感覺", + "更多", + "你們", + "的話", + "起來", + "標准", + "一樣", + "認為", + "女人", + "那個", + "設備", + "搜索", + "之后", + "然后", + "學校", + "銷售", + "組織", + "說明", + "提高", + "為什", + "作品", + "或者", + "喜歡", + "東西", + "方面", + "簡介", + "必須", + "經營", + "科技", + "作為", + "其中", + "運行", + "工程", + "解決", + "操作", + "經驗", + "地區", + "重要", + "直接", + "登錄", + "合作", + "結果", + "影響", + "這是", + "行業", + "對於", + "表示", + "程序", + "包括", + "留言", + "規定", + "處理", + "男人", + "各種", + "部門", + "數據", + "具有", + "商品", + "系列", + "大小", + "因此", + "關系", + "可是", + "比較", + "文化", + "一直", + "法律", + "這麼", + "您的", + "城市", + "分析", + "基本", + "最大", + "類別", + "兩個", + "日本", + "得到", + "一次", + "繼續", + "成功", + "她的", + "責任", + "深圳", + "業務", + "歡迎", + "加入", + "能夠", + "覺得", + "部分", + "中文", + "根據", + "人民", + "政府", + "控制", + "其實", + "之間", + "一種", + "威望", + "實現", + "語言", + "出來", + "謝謝", + "社區", + "品牌", + "是否", + "工具", + "完全", + "決定", + "很多", + "網上", + "事情", + "今年", + "國內", + "以后", + "制作", + "瀏覽", + "過程", + "完成", + "類型", + "來源", + "質量", + "有些", + "一起", + "當然", + "汽車", + "一點", + "幫助", + "增加", + "歷史", + "以下", + "不斷", + "應用", + "那些", + "密碼", + "計劃", + "如此", + "次數", + "到了", + "擁有", + "孩子", + "原因", + "參加", + "隻要", + "報告", + "當前", + "客戶", + "正在", + "注意", + "標題", + "空間", + "一定", + "一切", + "特別", + "全部", + "准備", ) diff --git a/faker/providers/misc/__init__.py b/faker/providers/misc/__init__.py index cb129ce5b8..ed72c91bbb 100644 --- a/faker/providers/misc/__init__.py +++ b/faker/providers/misc/__init__.py @@ -2,21 +2,25 @@ import hashlib import io import json +import re import string import tarfile import uuid import zipfile +from typing import Any, Callable, Dict, List, Optional, Sequence, Set, Tuple, Union + +from faker.exceptions import UnsupportedFeature + from .. import BaseProvider localized = True -csv.register_dialect('faker-csv', csv.excel, quoting=csv.QUOTE_ALL) +csv.register_dialect("faker-csv", csv.excel, quoting=csv.QUOTE_ALL) class Provider(BaseProvider): - - def boolean(self, chance_of_getting_true=50): + def boolean(self, chance_of_getting_true: int = 50) -> bool: """Generate a random boolean value based on ``chance_of_getting_true``. :sample size=10: chance_of_getting_true=25 @@ -25,7 +29,7 @@ def boolean(self, chance_of_getting_true=50): """ return self.generator.random.randint(1, 100) <= chance_of_getting_true - def null_boolean(self): + def null_boolean(self) -> Optional[bool]: """Generate ``None``, ``True``, or ``False``, each with equal probability. :sample size=15: @@ -36,7 +40,7 @@ def null_boolean(self): -1: False, }[self.generator.random.randint(-1, 1)] - def binary(self, length=(1 * 1024 * 1024)): + def binary(self, length: int = (1 * 1024 * 1024)) -> bytes: """Generate a random binary blob of ``length`` bytes. :sample: length=64 @@ -44,7 +48,7 @@ def binary(self, length=(1 * 1024 * 1024)): blob = [self.generator.random.randrange(256) for _ in range(length)] return bytes(blob) - def md5(self, raw_output=False): + def md5(self, raw_output: bool = False) -> Union[bytes, str]: """Generate a random MD5 hash. If ``raw_output`` is ``False`` (default), a hexadecimal string representation of the MD5 hash @@ -53,12 +57,12 @@ def md5(self, raw_output=False): :sample: raw_output=False :sample: raw_output=True """ - res = hashlib.md5(str(self.generator.random.random()).encode()) + res: hashlib._Hash = hashlib.md5(str(self.generator.random.random()).encode()) if raw_output: return res.digest() return res.hexdigest() - def sha1(self, raw_output=False): + def sha1(self, raw_output: bool = False) -> Union[bytes, str]: """Generate a random SHA1 hash. If ``raw_output`` is ``False`` (default), a hexadecimal string representation of the SHA1 hash @@ -67,12 +71,12 @@ def sha1(self, raw_output=False): :sample: raw_output=False :sample: raw_output=True """ - res = hashlib.sha1(str(self.generator.random.random()).encode()) + res: hashlib._Hash = hashlib.sha1(str(self.generator.random.random()).encode()) if raw_output: return res.digest() return res.hexdigest() - def sha256(self, raw_output=False): + def sha256(self, raw_output: bool = False) -> Union[bytes, str]: """Generate a random SHA256 hash. If ``raw_output`` is ``False`` (default), a hexadecimal string representation of the SHA56 hash @@ -81,13 +85,15 @@ def sha256(self, raw_output=False): :sample: raw_output=False :sample: raw_output=True """ - res = hashlib.sha256( - str(self.generator.random.random()).encode()) + res: hashlib._Hash = hashlib.sha256(str(self.generator.random.random()).encode()) if raw_output: return res.digest() return res.hexdigest() - def uuid4(self, cast_to=str): + def uuid4( + self, + cast_to: Optional[Union[Callable[[uuid.UUID], str], Callable[[uuid.UUID], bytes]]] = str, + ) -> Union[bytes, str, uuid.UUID]: """Generate a random UUID4 object and cast it to another type if specified using a callable ``cast_to``. By default, ``cast_to`` is set to ``str``. @@ -98,18 +104,19 @@ def uuid4(self, cast_to=str): :sample: cast_to=None """ # Based on http://stackoverflow.com/q/41186818 - generated_uuid = uuid.UUID(int=self.generator.random.getrandbits(128), version=4) + generated_uuid: uuid.UUID = uuid.UUID(int=self.generator.random.getrandbits(128), version=4) if cast_to is not None: - generated_uuid = cast_to(generated_uuid) + return cast_to(generated_uuid) return generated_uuid def password( - self, - length=10, - special_chars=True, - digits=True, - upper_case=True, - lower_case=True): + self, + length: int = 10, + special_chars: bool = True, + digits: bool = True, + upper_case: bool = True, + lower_case: bool = True, + ) -> str: """Generate a random password of the specified ``length``. The arguments ``special_chars``, ``digits``, ``upper_case``, and ``lower_case`` control @@ -125,40 +132,41 @@ def password( choices = "" required_tokens = [] if special_chars: - required_tokens.append( - self.generator.random.choice("!@#$%^&*()_+")) + required_tokens.append(self.generator.random.choice("!@#$%^&*()_+")) choices += "!@#$%^&*()_+" if digits: required_tokens.append(self.generator.random.choice(string.digits)) choices += string.digits if upper_case: - required_tokens.append( - self.generator.random.choice(string.ascii_uppercase)) + required_tokens.append(self.generator.random.choice(string.ascii_uppercase)) choices += string.ascii_uppercase if lower_case: - required_tokens.append( - self.generator.random.choice(string.ascii_lowercase)) + required_tokens.append(self.generator.random.choice(string.ascii_lowercase)) choices += string.ascii_lowercase - assert len( - required_tokens) <= length, "Required length is shorter than required characters" + assert len(required_tokens) <= length, "Required length is shorter than required characters" # Generate a first version of the password - chars = self.random_choices(choices, length=length) + chars: str = self.random_choices(choices, length=length) # type: ignore # Pick some unique locations - random_indexes = set() + random_indexes: Set[int] = set() while len(random_indexes) < len(required_tokens): - random_indexes.add( - self.generator.random.randint(0, len(chars) - 1)) + random_indexes.add(self.generator.random.randint(0, len(chars) - 1)) # Replace them with the required characters for i, index in enumerate(random_indexes): - chars[index] = required_tokens[i] + chars[index] = required_tokens[i] # type: ignore - return ''.join(chars) + return "".join(chars) - def zip(self, uncompressed_size=65536, num_files=1, min_file_size=4096, compression=None): + def zip( + self, + uncompressed_size: int = 65536, + num_files: int = 1, + min_file_size: int = 4096, + compression: Optional[str] = None, + ) -> bytes: """Generate a bytes object containing a random valid zip archive file. The number and sizes of files contained inside the resulting archive can be controlled @@ -178,30 +186,32 @@ def zip(self, uncompressed_size=65536, num_files=1, min_file_size=4096, compress :sample: uncompressed_size=256, num_files=4, min_file_size=32 :sample: uncompressed_size=256, num_files=32, min_file_size=4, compression='bz2' """ - if any([ - not isinstance(num_files, int) or num_files <= 0, - not isinstance(min_file_size, int) or min_file_size <= 0, - not isinstance(uncompressed_size, int) or uncompressed_size <= 0, - ]): + if any( + [ + not isinstance(num_files, int) or num_files <= 0, + not isinstance(min_file_size, int) or min_file_size <= 0, + not isinstance(uncompressed_size, int) or uncompressed_size <= 0, + ] + ): raise ValueError( - '`num_files`, `min_file_size`, and `uncompressed_size` must be positive integers', + "`num_files`, `min_file_size`, and `uncompressed_size` must be positive integers", ) if min_file_size * num_files > uncompressed_size: raise AssertionError( - '`uncompressed_size` is smaller than the calculated minimum required size', + "`uncompressed_size` is smaller than the calculated minimum required size", ) - if compression in ['bzip2', 'bz2']: - compression = zipfile.ZIP_BZIP2 - elif compression in ['lzma', 'xz']: - compression = zipfile.ZIP_LZMA - elif compression in ['deflate', 'gzip', 'gz']: - compression = zipfile.ZIP_DEFLATED + if compression in ["bzip2", "bz2"]: + compression_ = zipfile.ZIP_BZIP2 + elif compression in ["lzma", "xz"]: + compression_ = zipfile.ZIP_LZMA + elif compression in ["deflate", "gzip", "gz"]: + compression_ = zipfile.ZIP_DEFLATED else: - compression = zipfile.ZIP_STORED + compression_ = zipfile.ZIP_STORED zip_buffer = io.BytesIO() remaining_size = uncompressed_size - with zipfile.ZipFile(zip_buffer, mode='w', compression=compression) as zip_handle: + with zipfile.ZipFile(zip_buffer, mode="w", compression=compression_) as zip_handle: for file_number in range(1, num_files + 1): filename = self.generator.pystr() + str(file_number) @@ -216,7 +226,13 @@ def zip(self, uncompressed_size=65536, num_files=1, min_file_size=4096, compress zip_handle.writestr(filename, data) return zip_buffer.getvalue() - def tar(self, uncompressed_size=65536, num_files=1, min_file_size=4096, compression=None): + def tar( + self, + uncompressed_size: int = 65536, + num_files: int = 1, + min_file_size: int = 4096, + compression: Optional[str] = None, + ) -> bytes: """Generate a bytes object containing a random valid tar file. The number and sizes of files contained inside the resulting archive can be controlled @@ -236,26 +252,28 @@ def tar(self, uncompressed_size=65536, num_files=1, min_file_size=4096, compress :sample: uncompressed_size=256, num_files=4, min_file_size=32 :sample: uncompressed_size=256, num_files=32, min_file_size=4, compression='bz2' """ - if any([ - not isinstance(num_files, int) or num_files <= 0, - not isinstance(min_file_size, int) or min_file_size <= 0, - not isinstance(uncompressed_size, int) or uncompressed_size <= 0, - ]): + if any( + [ + not isinstance(num_files, int) or num_files <= 0, + not isinstance(min_file_size, int) or min_file_size <= 0, + not isinstance(uncompressed_size, int) or uncompressed_size <= 0, + ] + ): raise ValueError( - '`num_files`, `min_file_size`, and `uncompressed_size` must be positive integers', + "`num_files`, `min_file_size`, and `uncompressed_size` must be positive integers", ) if min_file_size * num_files > uncompressed_size: raise AssertionError( - '`uncompressed_size` is smaller than the calculated minimum required size', + "`uncompressed_size` is smaller than the calculated minimum required size", ) - if compression in ['gzip', 'gz']: - mode = 'w:gz' - elif compression in ['bzip2', 'bz2']: - mode = 'w:bz2' - elif compression in ['lzma', 'xz']: - mode = 'w:xz' + if compression in ["gzip", "gz"]: + mode = "w:gz" + elif compression in ["bzip2", "bz2"]: + mode = "w:bz2" + elif compression in ["lzma", "xz"]: + mode = "w:xz" else: - mode = 'w' + mode = "w" tar_buffer = io.BytesIO() remaining_size = uncompressed_size @@ -280,9 +298,58 @@ def tar(self, uncompressed_size=65536, num_files=1, min_file_size=4096, compress file_buffer.close() return tar_buffer.getvalue() - def dsv(self, dialect='faker-csv', header=None, - data_columns=('{{name}}', '{{address}}'), - num_rows=10, include_row_ids=False, **fmtparams): + def image( + self, + size: Tuple[int, int] = (256, 256), + image_format: str = "png", + hue: Optional[Union[int, Sequence[int], str]] = None, + luminosity: Optional[str] = None, + ) -> bytes: + """Generate an image and draw a random polygon on it using the Python Image Library. + Without it installed, this provider won't be functional. Returns the bytes representing + the image in a given format. + + The argument ``size`` must be a 2-tuple containing (width, height) in pixels. Defaults to 256x256. + + The argument ``image_format`` can be any valid format to the underlying library like ``'tiff'``, + ``'jpeg'``, ``'pdf'`` or ``'png'`` (default). Note that some formats need present system libraries + prior to building the Python Image Library. + Refer to https://pillow.readthedocs.io/en/stable/handbook/image-file-formats.html for details. + + The arguments ``hue`` and ``luminosity`` are the same as in the color provider and are simply forwarded to + it to generate both the background and the shape colors. Therefore, you can ask for a "dark blue" image, etc. + + :sample size=2: size=(2, 2), hue='purple', luminosity='bright', image_format='pdf' + :sample size=2: size=(16, 16), hue=[90,270], image_format='ico' + """ + try: + import PIL.Image + import PIL.ImageDraw + except ImportError: + raise UnsupportedFeature("`image` requires the `Pillow` python library.", "image") + + (width, height) = size + image = PIL.Image.new("RGB", size, self.generator.color(hue=hue, luminosity=luminosity)) + draw = PIL.ImageDraw.Draw(image) + draw.polygon( + [(self.random_int(0, width), self.random_int(0, height)) for _ in range(self.random_int(3, 12))], + fill=self.generator.color(hue=hue, luminosity=luminosity), + outline=self.generator.color(hue=hue, luminosity=luminosity), + ) + with io.BytesIO() as fobj: + image.save(fobj, format=image_format) + fobj.seek(0) + return fobj.read() + + def dsv( + self, + dialect: str = "faker-csv", + header: Optional[Sequence[str]] = None, + data_columns: Tuple[str, str] = ("{{name}}", "{{address}}"), + num_rows: int = 10, + include_row_ids: bool = False, + **fmtparams: Any, + ) -> str: """Generate random delimiter-separated values. This method's behavior share some similarities with ``csv.writer``. The ``dialect`` and @@ -312,14 +379,14 @@ def dsv(self, dialect='faker-csv', header=None, """ if not isinstance(num_rows, int) or num_rows <= 0: - raise ValueError('`num_rows` must be a positive integer') + raise ValueError("`num_rows` must be a positive integer") if not isinstance(data_columns, (list, tuple)): - raise TypeError('`data_columns` must be a tuple or a list') + raise TypeError("`data_columns` must be a tuple or a list") if header is not None: if not isinstance(header, (list, tuple)): - raise TypeError('`header` must be a tuple or a list') + raise TypeError("`header` must be a tuple or a list") if len(header) != len(data_columns): - raise ValueError('`header` and `data_columns` must have matching lengths') + raise ValueError("`header` and `data_columns` must have matching lengths") dsv_buffer = io.StringIO() writer = csv.writer(dsv_buffer, dialect=dialect, **fmtparams) @@ -327,7 +394,7 @@ def dsv(self, dialect='faker-csv', header=None, if header: if include_row_ids: header = list(header) - header.insert(0, 'ID') + header.insert(0, "ID") writer.writerow(header) for row_num in range(1, num_rows + 1): @@ -339,7 +406,13 @@ def dsv(self, dialect='faker-csv', header=None, return dsv_buffer.getvalue() - def csv(self, header=None, data_columns=('{{name}}', '{{address}}'), num_rows=10, include_row_ids=False): + def csv( + self, + header: Optional[Sequence[str]] = None, + data_columns: Tuple[str, str] = ("{{name}}", "{{address}}"), + num_rows: int = 10, + include_row_ids: bool = False, + ) -> str: """Generate random comma-separated values. For more information on the different arguments of this method, please refer to @@ -351,11 +424,20 @@ def csv(self, header=None, data_columns=('{{name}}', '{{address}}'), num_rows=10 num_rows=10, include_row_ids=True """ return self.dsv( - header=header, data_columns=data_columns, num_rows=num_rows, - include_row_ids=include_row_ids, delimiter=',', + header=header, + data_columns=data_columns, + num_rows=num_rows, + include_row_ids=include_row_ids, + delimiter=",", ) - def tsv(self, header=None, data_columns=('{{name}}', '{{address}}'), num_rows=10, include_row_ids=False): + def tsv( + self, + header: Optional[Sequence[str]] = None, + data_columns: Tuple[str, str] = ("{{name}}", "{{address}}"), + num_rows: int = 10, + include_row_ids: bool = False, + ) -> str: """Generate random tab-separated values. For more information on the different arguments of this method, please refer to @@ -367,11 +449,20 @@ def tsv(self, header=None, data_columns=('{{name}}', '{{address}}'), num_rows=10 num_rows=10, include_row_ids=True """ return self.dsv( - header=header, data_columns=data_columns, num_rows=num_rows, - include_row_ids=include_row_ids, delimiter='\t', + header=header, + data_columns=data_columns, + num_rows=num_rows, + include_row_ids=include_row_ids, + delimiter="\t", ) - def psv(self, header=None, data_columns=('{{name}}', '{{address}}'), num_rows=10, include_row_ids=False): + def psv( + self, + header: Optional[Sequence[str]] = None, + data_columns: Tuple[str, str] = ("{{name}}", "{{address}}"), + num_rows: int = 10, + include_row_ids: bool = False, + ) -> str: """Generate random pipe-separated values. For more information on the different arguments of this method, please refer to @@ -383,14 +474,14 @@ def psv(self, header=None, data_columns=('{{name}}', '{{address}}'), num_rows=10 num_rows=10, include_row_ids=True """ return self.dsv( - header=header, data_columns=data_columns, num_rows=num_rows, - include_row_ids=include_row_ids, delimiter='|', + header=header, + data_columns=data_columns, + num_rows=num_rows, + include_row_ids=include_row_ids, + delimiter="|", ) - def json(self, - data_columns: list = None, - num_rows: int = 10, - indent: int = None) -> str: + def json(self, data_columns: List = None, num_rows: int = 10, indent: int = None) -> str: """ Generate random JSON structure values. @@ -399,12 +490,12 @@ def json(self, data structures it is recommended to use the dictionary format. Data Column Dictionary format: - {'key name': 'definition'}} + {'key name': 'definition'} - The definition can simply be the 'name:argument_group' of a provider - method, or can also be string {{ tokens }} that are passed to python - provider pystr_format() method for complex string generation. - Argument Groups are used to pass arguments to the provider methods. + The definition can be 'provider', 'provider:argument_group', tokenized + 'string {{ provider:argument_group }}' that is passed to the python + provider method pystr_format() for generation, or a fixed '@word'. + Using Lists, Tuples, and Dicts as a definition for structure. Example: fake.set_arguments('top_half', {'min_value': 50, 'max_value': 100}) @@ -426,68 +517,65 @@ def json(self, :return: Serialized JSON data :rtype: str - :sample: data_columns={'ID': 'pyint', 'Details': {'Name': 'name', - 'Address': 'address'}}, num_rows=1 + :sample: data_columns={'Spec': '@1.0.1', 'ID': 'pyint', + 'Details': {'Name': 'name', 'Address': 'address'}}, num_rows=2 :sample: data_columns={'Candidates': ['name', 'name', 'name']}, num_rows=1 :sample: data_columns=[('Name', 'name'), ('Points', 'pyint', {'min_value': 50, 'max_value': 100})], num_rows=1 """ default_data_columns = { - 'name': '{{name}}', - 'residency': '{{address}}', + "name": "{{name}}", + "residency": "{{address}}", } - data_columns = data_columns if data_columns else default_data_columns + data_columns: Union[List, Dict] = data_columns if data_columns else default_data_columns - def process_list_structure(data: list) -> dict: - entry = {} + def process_list_structure(data: Sequence[Any]) -> Any: + entry: Dict[str, Any] = {} for name, definition, *arguments in data: kwargs = arguments[0] if arguments else {} if not isinstance(kwargs, dict): - raise TypeError('Invalid arguments type. Must be a dictionary') + raise TypeError("Invalid arguments type. Must be a dictionary") if name is None: - return self._format_selection(definition, **kwargs) + return self._value_format_selection(definition, **kwargs) if isinstance(definition, tuple): entry[name] = process_list_structure(definition) elif isinstance(definition, (list, set)): - entry[name] = [process_list_structure([item]) - for item in definition] + entry[name] = [process_list_structure([item]) for item in definition] else: - entry[name] = self._format_selection(definition, **kwargs) + entry[name] = self._value_format_selection(definition, **kwargs) return entry - def process_dict_structure(data: dict) -> dict: - entry = {} + def process_dict_structure(data: Union[int, float, bool, Dict[str, Any]]) -> Any: + entry: Dict[str, Any] = {} if isinstance(data, str): - return self._format_selection(data) - - if isinstance(data, (float, int)): - return data + return self._value_format_selection(data) - for name, definition in data.items(): - if isinstance(definition, (tuple, list)): - entry[name] = [process_dict_structure(item) - for item in definition] - elif isinstance(definition, (dict, int, float)): - entry[name] = process_dict_structure(definition) - else: - entry[name] = self._format_selection(definition) + if isinstance(data, dict): + for name, definition in data.items(): + if isinstance(definition, (tuple, list, set)): + entry[name] = [process_dict_structure(item) for item in definition] + elif isinstance(definition, (dict, int, float, bool)): + entry[name] = process_dict_structure(definition) + else: + entry[name] = self._value_format_selection(definition) + return entry - return entry + return data - def create_json_structure(data_columns) -> dict: + def create_json_structure(data_columns: Union[Dict, List]) -> dict: if isinstance(data_columns, dict): return process_dict_structure(data_columns) if isinstance(data_columns, list): return process_list_structure(data_columns) - raise TypeError('Invalid data_columns type. Must be a dictionary or list') + raise TypeError("Invalid data_columns type. Must be a dictionary or list") if num_rows == 1: return json.dumps(create_json_structure(data_columns), indent=indent) @@ -495,10 +583,7 @@ def create_json_structure(data_columns) -> dict: data = [create_json_structure(data_columns) for _ in range(num_rows)] return json.dumps(data, indent=indent) - def fixed_width(self, - data_columns: list = None, - num_rows: int = 10, - align: str = 'left') -> str: + def fixed_width(self, data_columns: list = None, num_rows: int = 10, align: str = "left") -> str: """ Generate random fixed width values. @@ -510,9 +595,11 @@ def fixed_width(self, Data Column List format [('field width', 'definition', {'arguments'})] - The definition can simply be the 'name:argument_group' of a provider - method, or can also be string tokens that are passed to python - provider method pystr_format() for data generation. + The definition can be 'provider', 'provider:argument_group', tokenized + 'string {{ provider:argument_group }}' that is passed to the python + provider method pystr_format() for generation, or a fixed '@word'. + Using Lists, Tuples, and Dicts as a definition for structure. + Argument Groups can be used to pass arguments to the provider methods, but will override the arguments supplied in the tuple record. @@ -530,17 +617,17 @@ def fixed_width(self, :rtype: str :sample: data_columns=[(20, 'name'), (3, 'pyint', {'min_value': 50, - 'max_value': 100})], align='right', num_rows=1 + 'max_value': 100})], align='right', num_rows=2 """ default_data_columns = [ - (20, 'name'), - (3, 'pyint', {'max_value': 20}), + (20, "name"), + (3, "pyint", {"max_value": 20}), ] data_columns = data_columns if data_columns else default_data_columns align_map = { - 'left': '<', - 'middle': '^', - 'right': '>', + "left": "<", + "middle": "^", + "right": ">", } data = [] @@ -551,26 +638,40 @@ def fixed_width(self, kwargs = arguments[0] if arguments else {} if not isinstance(kwargs, dict): - raise TypeError('Invalid arguments type. Must be a dictionary') + raise TypeError("Invalid arguments type. Must be a dictionary") - result = self._format_selection(definition, **kwargs) - field = "{0:%s%s}" % (align_map.get(align, '<'), width) - row.append(field.format(result)[:width]) + result = self._value_format_selection(definition, **kwargs) + row.append(f'{result:{align_map.get(align, "<")}{width}}'[:width]) - data.append(''.join(row)) - return '\n'.join(data) + data.append("".join(row)) + return "\n".join(data) - def _format_selection(self, definition, **kwargs): + def _value_format_selection(self, definition: str, **kwargs: Any) -> Union[int, str]: """ - Formats the string with PyStr Format if special characters are found. + Formats the string in different ways depending on it's contents. + + The return can be the '@word' itself, a '{{ token }}' passed to PyStr, + or a 'provider:argument_group' format field that returns potentially + a non-string type. + + This ensures that Numbers, Boolean types that are generated in the + JSON structures in there proper type, and not just strings. """ - if '{{' in definition and '}}' in definition: + + # Check for PyStr first as complex strings may start with @ + if re.match(r".*\{\{.*\}\}.*", definition): return self.generator.pystr_format(definition) - if definition.count(':') == 1: - definition, argument_group = definition.split(':') + # Check for fixed @words that won't be generated + if re.match(r"^@.*", definition): + return definition.lstrip("@") + + # Check if a argument group has been supplied + if re.match(r"^[a-zA-Z0-9_-]*:\w", definition): + definition, argument_group = definition.split(":") arguments = self.generator.get_arguments(argument_group.strip()) return self.generator.format(definition.strip(), **arguments) + # Assume the string is refering to a provider return self.generator.format(definition, **kwargs) diff --git a/faker/providers/misc/en_PH/__init__.py b/faker/providers/misc/en_PH/__init__.py index a7115fe5fb..f625e72dd6 100644 --- a/faker/providers/misc/en_PH/__init__.py +++ b/faker/providers/misc/en_PH/__init__.py @@ -9,46 +9,210 @@ class Provider(MiscProvider): """ gemstone_names = ( - 'Agate', 'Amber', 'Amethyst', 'Aquamarine', 'Citrine', 'Diamond', 'Emerald', 'Garnet', 'Jade', 'Jasper', - 'Lapis Lazuli', 'Moonstone', 'Onyx', 'Opal', 'Peridot', 'Ruby', 'Sapphire', 'Sardonyx', 'Sunstone', 'Topaz', - 'Turquoise', 'Zircon', + "Agate", + "Amber", + "Amethyst", + "Aquamarine", + "Citrine", + "Diamond", + "Emerald", + "Garnet", + "Jade", + "Jasper", + "Lapis Lazuli", + "Moonstone", + "Onyx", + "Opal", + "Peridot", + "Ruby", + "Sapphire", + "Sardonyx", + "Sunstone", + "Topaz", + "Turquoise", + "Zircon", ) mountain_names = ( - 'Apo', 'Arayat', 'Atok', 'Banahaw', 'Bulusan', 'Caraballo', 'Cordillera', 'Cresta', 'Halcon', 'Hibok-Hibok', - 'Iriga', 'Kanlaon', 'Makiling', 'Malinao', 'Mariveles', 'Matumtum', 'Mayon', 'Palali', 'Palanan', 'Pao', - 'Pinatubo', 'Samat', 'Sicaba', 'Sierra Madre', 'Tabayoc', + "Apo", + "Arayat", + "Atok", + "Banahaw", + "Bulusan", + "Caraballo", + "Cordillera", + "Cresta", + "Halcon", + "Hibok-Hibok", + "Iriga", + "Kanlaon", + "Makiling", + "Malinao", + "Mariveles", + "Matumtum", + "Mayon", + "Palali", + "Palanan", + "Pao", + "Pinatubo", + "Samat", + "Sicaba", + "Sierra Madre", + "Tabayoc", ) plant_names = ( - 'Acacia', 'Agoho', 'Akle', 'Anahaw', 'Anonas', 'Anubing', 'Aranga', 'Asparagus', 'Atis', 'Avocado', 'Azalea', - 'Azucena', 'Bagtikan', 'Bakawan', 'Balete', 'Balimbing', 'Banaba', 'Banuyo', 'Banyan', 'Baticulin', 'Batino', - 'Bauhinia', 'Bouganvilla', 'Caballero', 'Cabbage', 'Calantas', 'Calumpang', 'Camachile', 'Camia', 'Campanilla', - 'Carissa', 'Carrot', 'Catmon', 'Cattleya', 'Cauliflower', 'Celery', 'Champaca', 'Chico', 'Coconut', 'Cucumber', - 'Cypress', 'Dao', 'Dapdap', 'Dita', 'Duhat', 'Dungon', 'Gladiola', 'Gloriosa', 'Granada', 'Guijo', 'Gumamela', - 'Intsia', 'Ipil', 'Jacaranda', 'Jasmine', 'Kaimito', 'Kalachuchi', 'Kalamansi', 'Kamagong', 'Kamias', - 'Lanzones', 'Lawaan', 'Lily', 'Lumbayao', 'Mabolo', 'Macapuno', 'Macopa', 'Magnolia', 'Mahogany', 'Malugay', - 'Mayapis', 'Melon', 'Milflower', 'Molave', 'Mushroom', 'Mustard', 'Narra', 'Nipa', 'Oleander', 'Oliva', - 'Orchid', 'Palm', 'Pandan', 'Pepper', 'Piña', 'Raddish', 'Rosas', 'Sampaguita', 'Sampaloc', 'Santan', 'Santol', - 'Sineguelas', 'Squash', 'Supa', 'Talisay', 'Tamarind', 'Tanguile', 'Tindalo', 'Tulip', 'Yakal', 'Zinia', + "Acacia", + "Agoho", + "Akle", + "Anahaw", + "Anonas", + "Anubing", + "Aranga", + "Asparagus", + "Atis", + "Avocado", + "Azalea", + "Azucena", + "Bagtikan", + "Bakawan", + "Balete", + "Balimbing", + "Banaba", + "Banuyo", + "Banyan", + "Baticulin", + "Batino", + "Bauhinia", + "Bouganvilla", + "Caballero", + "Cabbage", + "Calantas", + "Calumpang", + "Camachile", + "Camia", + "Campanilla", + "Carissa", + "Carrot", + "Catmon", + "Cattleya", + "Cauliflower", + "Celery", + "Champaca", + "Chico", + "Coconut", + "Cucumber", + "Cypress", + "Dao", + "Dapdap", + "Dita", + "Duhat", + "Dungon", + "Gladiola", + "Gloriosa", + "Granada", + "Guijo", + "Gumamela", + "Intsia", + "Ipil", + "Jacaranda", + "Jasmine", + "Kaimito", + "Kalachuchi", + "Kalamansi", + "Kamagong", + "Kamias", + "Lanzones", + "Lawaan", + "Lily", + "Lumbayao", + "Mabolo", + "Macapuno", + "Macopa", + "Magnolia", + "Mahogany", + "Malugay", + "Mayapis", + "Melon", + "Milflower", + "Molave", + "Mushroom", + "Mustard", + "Narra", + "Nipa", + "Oleander", + "Oliva", + "Orchid", + "Palm", + "Pandan", + "Pepper", + "Piña", + "Raddish", + "Rosas", + "Sampaguita", + "Sampaloc", + "Santan", + "Santol", + "Sineguelas", + "Squash", + "Supa", + "Talisay", + "Tamarind", + "Tanguile", + "Tindalo", + "Tulip", + "Yakal", + "Zinia", ) space_object_names = ( - 'Andromeda', 'Antares', 'Aquarius', 'Aries', 'Asteroid', 'Cancer', 'Canopus', 'Capricorn', 'Comet', - 'Constellation', 'Earth', 'Galaxy', 'Gemini', 'Hercules', 'Hydra', 'Juno', 'Jupiter', 'Leo', 'Libra', 'Mars', - 'Mercury', 'Milky Way', 'Neptune', 'Orion', 'Pisces', 'Planet', 'Pluto', 'Polaris', 'Sagittarius', 'Saturn', - 'Scorpio', 'Taurus', 'Uranus', 'Venus', 'Virgo', 'Zodiac', + "Andromeda", + "Antares", + "Aquarius", + "Aries", + "Asteroid", + "Cancer", + "Canopus", + "Capricorn", + "Comet", + "Constellation", + "Earth", + "Galaxy", + "Gemini", + "Hercules", + "Hydra", + "Juno", + "Jupiter", + "Leo", + "Libra", + "Mars", + "Mercury", + "Milky Way", + "Neptune", + "Orion", + "Pisces", + "Planet", + "Pluto", + "Polaris", + "Sagittarius", + "Saturn", + "Scorpio", + "Taurus", + "Uranus", + "Venus", + "Virgo", + "Zodiac", ) random_object_names = gemstone_names + mountain_names + plant_names + space_object_names - def gemstone_name(self): + def gemstone_name(self) -> str: return self.random_element(self.gemstone_names) - def mountain_name(self): + def mountain_name(self) -> str: return self.random_element(self.mountain_names) - def plant_name(self): + def plant_name(self) -> str: return self.random_element(self.plant_names) - def space_object_name(self): + def space_object_name(self) -> str: return self.random_element(self.space_object_names) - def random_object_name(self): + def random_object_name(self) -> str: return self.random_element(self.random_object_names) diff --git a/faker/providers/person/__init__.py b/faker/providers/person/__init__.py index cfb53278cc..a62e84b117 100644 --- a/faker/providers/person/__init__.py +++ b/faker/providers/person/__init__.py @@ -1,174 +1,326 @@ -from .. import BaseProvider +from typing import Sequence + +from .. import BaseProvider, ElementsType localized = True class Provider(BaseProvider): - formats = ['{{first_name}} {{last_name}}'] + formats: ElementsType = ["{{first_name}} {{last_name}}"] - first_names = ['John', 'Jane'] + first_names: ElementsType = ["John", "Jane"] - last_names = ['Doe'] + last_names: ElementsType = ["Doe"] # https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes - language_names = [ - 'Afar', 'Abkhazian', 'Avestan', 'Afrikaans', 'Akan', 'Amharic', - 'Aragonese', 'Arabic', 'Assamese', 'Avaric', 'Aymara', 'Azerbaijani', - 'Bashkir', 'Belarusian', 'Bulgarian', 'Bihari languages', 'Bislama', - 'Bambara', 'Bengali', 'Tibetan', 'Breton', 'Bosnian', 'Catalan', - 'Chechen', 'Chamorro', 'Corsican', 'Cree', 'Czech', 'Church Slavic', - 'Chuvash', 'Welsh', 'Danish', 'German', 'Divehi', 'Dzongkha', 'Ewe', - 'Greek', 'English', 'Esperanto', 'Spanish', 'Estonian', 'Basque', - 'Persian', 'Fulah', 'Finnish', 'Fijian', 'Faroese', 'French', - 'Western Frisian', 'Irish', 'Gaelic', 'Galician', 'Guarani', - 'Gujarati', 'Manx', 'Hausa', 'Hebrew', 'Hindi', 'Hiri Motu', - 'Croatian', 'Haitian', 'Hungarian', 'Armenian', 'Herero', - 'Interlingua', 'Indonesian', 'Interlingue', 'Igbo', 'Sichuan Yi', - 'Inupiaq', 'Ido', 'Icelandic', 'Italian', 'Inuktitut', 'Japanese', - 'Javanese', 'Georgian', 'Kongo', 'Kikuyu', 'Kuanyama', 'Kazakh', - 'Kalaallisut', 'Central Khmer', 'Kannada', 'Korean', 'Kanuri', - 'Kashmiri', 'Kurdish', 'Komi', 'Cornish', 'Kirghiz', 'Latin', - 'Luxembourgish', 'Ganda', 'Limburgan', 'Lingala', 'Lao', 'Lithuanian', - 'Luba-Katanga', 'Latvian', 'Malagasy', 'Marshallese', 'Maori', - 'Macedonian', 'Malayalam', 'Mongolian', 'Marathi', 'Malay', 'Maltese', - 'Burmese', 'Nauru', 'North Ndebele', 'Nepali', - 'Ndonga', 'Dutch', 'Norwegian Nynorsk', 'Norwegian', 'South Ndebele', - 'Navajo', 'Chichewa', 'Occitan', 'Ojibwa', 'Oromo', 'Oriya', - 'Ossetian', 'Panjabi', 'Pali', 'Polish', 'Pushto', 'Portuguese', - 'Quechua', 'Romansh', 'Rundi', 'Romanian', 'Russian', 'Kinyarwanda', - 'Sanskrit', 'Sardinian', 'Sindhi', 'Northern Sami', 'Sango', 'Sinhala', - 'Slovak', 'Slovenian', 'Samoan', 'Shona', 'Somali', 'Albanian', - 'Serbian', 'Swati', 'Sotho, Southern', 'Sundanese', 'Swedish', - 'Swahili', 'Tamil', 'Telugu', 'Tajik', 'Thai', 'Tigrinya', 'Turkmen', - 'Tagalog', 'Tswana', 'Tonga', 'Turkish', 'Tsonga', 'Tatar', 'Twi', - 'Tahitian', 'Uighur', 'Ukrainian', 'Urdu', 'Uzbek', 'Venda', - 'Vietnamese', 'Walloon', 'Wolof', 'Xhosa', 'Yiddish', - 'Yoruba', 'Zhuang', 'Chinese', 'Zulu', + language_names: ElementsType = [ + "Afar", + "Abkhazian", + "Avestan", + "Afrikaans", + "Akan", + "Amharic", + "Aragonese", + "Arabic", + "Assamese", + "Avaric", + "Aymara", + "Azerbaijani", + "Bashkir", + "Belarusian", + "Bulgarian", + "Bihari languages", + "Bislama", + "Bambara", + "Bengali", + "Tibetan", + "Breton", + "Bosnian", + "Catalan", + "Chechen", + "Chamorro", + "Corsican", + "Cree", + "Czech", + "Church Slavic", + "Chuvash", + "Welsh", + "Danish", + "German", + "Divehi", + "Dzongkha", + "Ewe", + "Greek", + "English", + "Esperanto", + "Spanish", + "Estonian", + "Basque", + "Persian", + "Fulah", + "Finnish", + "Fijian", + "Faroese", + "French", + "Western Frisian", + "Irish", + "Gaelic", + "Galician", + "Guarani", + "Gujarati", + "Manx", + "Hausa", + "Hebrew", + "Hindi", + "Hiri Motu", + "Croatian", + "Haitian", + "Hungarian", + "Armenian", + "Herero", + "Interlingua", + "Indonesian", + "Interlingue", + "Igbo", + "Sichuan Yi", + "Inupiaq", + "Ido", + "Icelandic", + "Italian", + "Inuktitut", + "Japanese", + "Javanese", + "Georgian", + "Kongo", + "Kikuyu", + "Kuanyama", + "Kazakh", + "Kalaallisut", + "Central Khmer", + "Kannada", + "Korean", + "Kanuri", + "Kashmiri", + "Kurdish", + "Komi", + "Cornish", + "Kirghiz", + "Latin", + "Luxembourgish", + "Ganda", + "Limburgan", + "Lingala", + "Lao", + "Lithuanian", + "Luba-Katanga", + "Latvian", + "Malagasy", + "Marshallese", + "Maori", + "Macedonian", + "Malayalam", + "Mongolian", + "Marathi", + "Malay", + "Maltese", + "Burmese", + "Nauru", + "North Ndebele", + "Nepali", + "Ndonga", + "Dutch", + "Norwegian Nynorsk", + "Norwegian", + "South Ndebele", + "Navajo", + "Chichewa", + "Occitan", + "Ojibwa", + "Oromo", + "Oriya", + "Ossetian", + "Panjabi", + "Pali", + "Polish", + "Pushto", + "Portuguese", + "Quechua", + "Romansh", + "Rundi", + "Romanian", + "Russian", + "Kinyarwanda", + "Sanskrit", + "Sardinian", + "Sindhi", + "Northern Sami", + "Sango", + "Sinhala", + "Slovak", + "Slovenian", + "Samoan", + "Shona", + "Somali", + "Albanian", + "Serbian", + "Swati", + "Sotho, Southern", + "Sundanese", + "Swedish", + "Swahili", + "Tamil", + "Telugu", + "Tajik", + "Thai", + "Tigrinya", + "Turkmen", + "Tagalog", + "Tswana", + "Tonga", + "Turkish", + "Tsonga", + "Tatar", + "Twi", + "Tahitian", + "Uighur", + "Ukrainian", + "Urdu", + "Uzbek", + "Venda", + "Vietnamese", + "Walloon", + "Wolof", + "Xhosa", + "Yiddish", + "Yoruba", + "Zhuang", + "Chinese", + "Zulu", ] - def name(self): + def name(self) -> str: """ :example 'John Doe' """ - pattern = self.random_element(self.formats) + pattern: str = self.random_element(self.formats) return self.generator.parse(pattern) - def first_name(self): + def first_name(self) -> str: return self.random_element(self.first_names) - def last_name(self): + def last_name(self) -> str: return self.random_element(self.last_names) - def name_male(self): - if hasattr(self, 'formats_male'): - formats = self.formats_male + def name_male(self) -> str: + if hasattr(self, "formats_male"): + formats = self.formats_male # type: ignore[attr-defined] else: formats = self.formats - pattern = self.random_element(formats) + pattern: str = self.random_element(formats) return self.generator.parse(pattern) - def name_nonbinary(self): - if hasattr(self, 'formats_nonbinary'): - formats = self.formats_nonbinary + def name_nonbinary(self) -> str: + if hasattr(self, "formats_nonbinary"): + formats = self.formats_nonbinary # type: ignore[attr-defined] else: formats = self.formats - pattern = self.random_element(formats) + pattern: str = self.random_element(formats) return self.generator.parse(pattern) - def name_female(self): - if hasattr(self, 'formats_female'): - formats = self.formats_female + def name_female(self) -> str: + if hasattr(self, "formats_female"): + formats = self.formats_female # type: ignore[attr-defined] else: formats = self.formats - pattern = self.random_element(formats) + pattern: str = self.random_element(formats) return self.generator.parse(pattern) - def first_name_male(self): - if hasattr(self, 'first_names_male'): - return self.random_element(self.first_names_male) + def first_name_male(self) -> str: + if hasattr(self, "first_names_male"): + return self.random_element(self.first_names_male) # type: ignore[attr-defined] return self.first_name() - def first_name_nonbinary(self): - if hasattr(self, 'first_names_nonbinary'): - return self.random_element(self.first_names_nonbinary) + def first_name_nonbinary(self) -> str: + if hasattr(self, "first_names_nonbinary"): + return self.random_element(self.first_names_nonbinary) # type: ignore[attr-defined] return self.first_name() - def first_name_female(self): - if hasattr(self, 'first_names_female'): - return self.random_element(self.first_names_female) + def first_name_female(self) -> str: + if hasattr(self, "first_names_female"): + return self.random_element(self.first_names_female) # type: ignore[attr-defined] return self.first_name() - def last_name_male(self): - if hasattr(self, 'last_names_male'): - return self.random_element(self.last_names_male) + def last_name_male(self) -> str: + if hasattr(self, "last_names_male"): + return self.random_element(self.last_names_male) # type: ignore[attr-defined] return self.last_name() - def last_name_nonbinary(self): - if hasattr(self, 'last_names_nonbinary'): - return self.random_element(self.last_names_nonbinary) + def last_name_nonbinary(self) -> str: + if hasattr(self, "last_names_nonbinary"): + return self.random_element(self.last_names_nonbinary) # type: ignore[attr-defined] return self.last_name() - def last_name_female(self): - if hasattr(self, 'last_names_female'): - return self.random_element(self.last_names_female) + def last_name_female(self) -> str: + if hasattr(self, "last_names_female"): + return self.random_element(self.last_names_female) # type: ignore[attr-defined] return self.last_name() - def prefix(self): - if hasattr(self, 'prefixes'): - return self.random_element(self.prefixes) - if hasattr(self, 'prefixes_male') and hasattr(self, 'prefixes_female') and hasattr(self, 'prefixes_nonbinary'): - prefixes = self.random_element( - (self.prefixes_male, self.prefixes_female, self.prefixes_nonbinary)) + def prefix(self) -> str: + if hasattr(self, "prefixes"): + return self.random_element(self.prefixes) # type: ignore[attr-defined] + if hasattr(self, "prefixes_male") and hasattr(self, "prefixes_female") and hasattr(self, "prefixes_nonbinary"): + prefixes: Sequence[ElementsType] = self.random_element( + (self.prefixes_male, self.prefixes_female, self.prefixes_nonbinary) # type: ignore[attr-defined] + ) return self.random_element(prefixes) - if hasattr(self, 'prefixes_male') and hasattr(self, 'prefixes_female'): - prefixes = self.random_element( - (self.prefixes_male, self.prefixes_female)) + if hasattr(self, "prefixes_male") and hasattr(self, "prefixes_female"): + prefixes = self.random_element((self.prefixes_male, self.prefixes_female)) # type: ignore[attr-defined] return self.random_element(prefixes) - return '' + return "" - def prefix_male(self): - if hasattr(self, 'prefixes_male'): - return self.random_element(self.prefixes_male) + def prefix_male(self) -> str: + if hasattr(self, "prefixes_male"): + return self.random_element(self.prefixes_male) # type: ignore[attr-defined] return self.prefix() - def prefix_nonbinary(self): - if hasattr(self, 'prefixes_nonbinary'): - return self.random_element(self.prefixes_nonbinary) + def prefix_nonbinary(self) -> str: + if hasattr(self, "prefixes_nonbinary"): + return self.random_element(self.prefixes_nonbinary) # type: ignore[attr-defined] return self.prefix() - def prefix_female(self): - if hasattr(self, 'prefixes_female'): - return self.random_element(self.prefixes_female) + def prefix_female(self) -> str: + if hasattr(self, "prefixes_female"): + return self.random_element(self.prefixes_female) # type: ignore[attr-defined] return self.prefix() - def suffix(self): - if hasattr(self, 'suffixes'): - return self.random_element(self.suffixes) - if hasattr(self, 'suffixes_male') and hasattr(self, 'suffixes_female') and hasattr(self, 'suffixes_nonbinary'): - suffixes = self.random_element( - (self.suffixes_male, self.suffixes_female, self.suffixes_nonbinary)) + def suffix(self) -> str: + if hasattr(self, "suffixes"): + return self.random_element(self.suffixes) # type: ignore[attr-defined] + if hasattr(self, "suffixes_male") and hasattr(self, "suffixes_female") and hasattr(self, "suffixes_nonbinary"): + suffixes: Sequence[ElementsType] = self.random_element( + (self.suffixes_male, self.suffixes_female, self.suffixes_nonbinary) # type: ignore[attr-defined] + ) return self.random_element(suffixes) - if hasattr(self, 'suffixes_male') and hasattr(self, 'suffixes_female'): - suffixes = self.random_element( - (self.suffixes_male, self.suffixes_female)) + if hasattr(self, "suffixes_male") and hasattr(self, "suffixes_female"): + suffixes = self.random_element((self.suffixes_male, self.suffixes_female)) # type: ignore[attr-defined] return self.random_element(suffixes) - return '' + return "" - def suffix_male(self): - if hasattr(self, 'suffixes_male'): - return self.random_element(self.suffixes_male) + def suffix_male(self) -> str: + if hasattr(self, "suffixes_male"): + return self.random_element(self.suffixes_male) # type: ignore[attr-defined] return self.suffix() - def suffix_nonbinary(self): - if hasattr(self, 'suffixes_nonbinary'): - return self.random_element(self.suffixes_nonbinary) + def suffix_nonbinary(self) -> str: + if hasattr(self, "suffixes_nonbinary"): + return self.random_element(self.suffixes_nonbinary) # type: ignore[attr-defined] return self.suffix() - def suffix_female(self): - if hasattr(self, 'suffixes_female'): - return self.random_element(self.suffixes_female) + def suffix_female(self) -> str: + if hasattr(self, "suffixes_female"): + return self.random_element(self.suffixes_female) # type: ignore[attr-defined] return self.suffix() - def language_name(self): + def language_name(self) -> str: """Generate a random i18n language name (e.g. English).""" return self.random_element(self.language_names) diff --git a/faker/providers/person/ar_AA/__init__.py b/faker/providers/person/ar_AA/__init__.py index 5951a23b02..37cd43f934 100644 --- a/faker/providers/person/ar_AA/__init__.py +++ b/faker/providers/person/ar_AA/__init__.py @@ -1,196 +1,1106 @@ +from typing import Tuple + from .. import Provider as PersonProvider class Provider(PersonProvider): - formats_female = ( - '{{first_name_female}} {{last_name}}', - '{{prefix_female}} {{first_name_female}} {{last_name}}', + formats_female: Tuple[str, ...] = ( + "{{first_name_female}} {{last_name}}", + "{{prefix_female}} {{first_name_female}} {{last_name}}", ) - formats_male = ( - '{{first_name_male}} {{last_name}}', - '{{prefix_male}} {{first_name_male}} {{last_name}}', + formats_male: Tuple[str, ...] = ( + "{{first_name_male}} {{last_name}}", + "{{prefix_male}} {{first_name_male}} {{last_name}}", ) formats = formats_male + formats_female - first_names_female = ( - 'اصيل', 'آلاء', 'آيات', 'ايمان', 'بهجة', 'تمام', 'بشري', 'حياة', - 'خاشعة', 'دانية', 'دعاء', 'زكية', 'نغم', 'لارا', 'زهرة', 'سبأ', - 'ضحى', 'ضياء', 'عالية', 'مريم', 'فداء', 'فرات', 'فردوس', - 'كاملة', 'كوثر', 'هاجر', 'هدى', 'يسرى', 'سجى', 'سلسبيل', 'شهد', - 'جنى', 'اسماءبناتمختلفةومعانيها:', 'ريتاج', 'يارا', 'وصاف', - 'ناردين', 'ميرا', 'مايا', 'مادلين', 'لينا', 'لورا', 'وسجايا', - 'روفيدا', 'ديمه', 'جيلان', 'جوانا', 'ألين', 'لتين', 'تالا', - 'سديم', 'جودي', 'ليان', 'دانة', 'ميار', 'لوجين', 'ربى', 'لورين', - 'ميرال', 'ريتال', 'جوليا', 'جالا', 'جوان', 'راما', 'هايدي', - 'ريفال', 'إلينا', 'أسيل', 'لوليا', 'ليساء', 'ميسون', 'جوين', - 'روبين', 'جمان', 'ميلاء', 'رواء', 'أناهيد', 'بيسان', 'ابتسام', - 'إباء', 'ابتكار', 'ابتهاج', 'ابتهال', 'بوران', 'محمد', - 'بنان', 'بيلسان', 'بتلاء', 'بدرالدّجى', 'تاليا', 'ترف', 'تالا', - 'ترانيم', 'جلنار', 'جميلة', 'جهراء', 'جواهر', 'جوريّة', 'ريمان', - 'ريما', 'ريناد', 'ريفال', 'راما', 'روعة', 'ريما', 'ريم', - 'اعتكاف', 'اعتماد', 'أغاريد', 'افتكار', 'أفراح', 'أفنان', - 'لاما', 'ليم', 'لوليا', 'ريمان', 'أجوان', 'بشرى', 'بلسم', - 'بلقيس', 'بلماء', 'بلند', 'بنان', 'بنفسج', 'بهابهاء', 'بهية', - 'نوره', 'نوف', 'نوال', 'ناديه', 'هدى', 'هناء', 'هيا', 'هند', - 'هنادي', 'وفاء', 'ياسمين', 'يسرى', 'غيداء', 'شادن', 'جود', - 'سلاف', 'جيلان', 'نشوة', 'ريان', 'دارين', '', 'أحلام', 'إخلاص', - 'أروى', 'أريج', 'أزهار', 'أسرار', 'آيات', 'ماذى', 'تولين', - 'هيام', 'ريناد', 'جميلة', 'حلا', 'عتاب', 'كرمة', 'ناهد', 'غوى', - 'ريف', 'بارعة', 'باسمة', 'باهرة', 'بتول', 'بثينة', 'أحمد', + first_names_female: Tuple[str, ...] = ( + "اصيل", + "آلاء", + "آيات", + "ايمان", + "بهجة", + "تمام", + "بشري", + "حياة", + "خاشعة", + "دانية", + "دعاء", + "زكية", + "نغم", + "لارا", + "زهرة", + "سبأ", + "ضحى", + "ضياء", + "عالية", + "مريم", + "فداء", + "فرات", + "فردوس", + "كاملة", + "كوثر", + "هاجر", + "هدى", + "يسرى", + "سجى", + "سلسبيل", + "شهد", + "جنى", + "اسماءبناتمختلفةومعانيها:", + "ريتاج", + "يارا", + "وصاف", + "ناردين", + "ميرا", + "مايا", + "مادلين", + "لينا", + "لورا", + "وسجايا", + "روفيدا", + "ديمه", + "جيلان", + "جوانا", + "ألين", + "لتين", + "تالا", + "سديم", + "جودي", + "ليان", + "دانة", + "ميار", + "لوجين", + "ربى", + "لورين", + "ميرال", + "ريتال", + "جوليا", + "جالا", + "جوان", + "راما", + "هايدي", + "ريفال", + "إلينا", + "أسيل", + "لوليا", + "ليساء", + "ميسون", + "جوين", + "روبين", + "جمان", + "ميلاء", + "رواء", + "أناهيد", + "بيسان", + "ابتسام", + "إباء", + "ابتكار", + "ابتهاج", + "ابتهال", + "بوران", + "محمد", + "بنان", + "بيلسان", + "بتلاء", + "بدرالدّجى", + "تاليا", + "ترف", + "تالا", + "ترانيم", + "جلنار", + "جميلة", + "جهراء", + "جواهر", + "جوريّة", + "ريمان", + "ريما", + "ريناد", + "ريفال", + "راما", + "روعة", + "ريما", + "ريم", + "اعتكاف", + "اعتماد", + "أغاريد", + "افتكار", + "أفراح", + "أفنان", + "لاما", + "ليم", + "لوليا", + "ريمان", + "أجوان", + "بشرى", + "بلسم", + "بلقيس", + "بلماء", + "بلند", + "بنان", + "بنفسج", + "بهابهاء", + "بهية", + "نوره", + "نوف", + "نوال", + "ناديه", + "هدى", + "هناء", + "هيا", + "هند", + "هنادي", + "وفاء", + "ياسمين", + "يسرى", + "غيداء", + "شادن", + "جود", + "سلاف", + "جيلان", + "نشوة", + "ريان", + "دارين", + "أحلام", + "إخلاص", + "أروى", + "أريج", + "أزهار", + "أسرار", + "آيات", + "ماذى", + "تولين", + "هيام", + "ريناد", + "جميلة", + "حلا", + "عتاب", + "كرمة", + "ناهد", + "غوى", + "ريف", + "بارعة", + "باسمة", + "باهرة", + "بتول", + "بثينة", + "أحمد", ) - first_names_male = ( - 'تاج', 'تامر', 'تحسين', 'تقي', 'تمّام', 'تميم', 'توفيق', 'ترف', - 'تاج الدّين', 'تقيّ الدّين', 'ثائر', 'ثابت', 'ثامر', 'ثروت', - 'ثقيف', 'ثاقب', 'جابر', 'جاد', 'جاسم', 'جرير', 'جسور', - 'جعفر', 'جلاء', 'جلال', 'جليل', 'جمال', 'جميل', 'جدير', - 'جرّاح', 'جلال الدّين', 'جمال الدّين', 'جهاد', 'حاتم', 'حارث', - 'حازم', 'حافظ', 'حامد', 'حبّاب', 'حسام', 'حسن', 'حسيب', - 'حسين', 'حسني', 'حسنين', 'حقّي', 'حكيم', 'حليم', 'حمّاد', - 'حمدان', 'حمدي', 'حمزة', 'حمود', 'حميد', 'حنبل', 'حنفي', - 'حيّان', 'حيدر', 'حفيظ', 'خاطر', 'خافق', 'خالد', 'خالدي', - 'خلدون', 'خلف', 'خلوصي', 'خليفة', 'خليل', 'خميس', 'خيري', - 'خضر', 'خطيب', 'دؤوب', 'داني', 'داهي', 'داوود', 'دريد', - 'دليل', 'دهمان', 'ديسم', 'ذيب', 'ذكي', 'ذريع', 'رائد', - 'رائف', 'رابح', 'راتب', 'راجح', 'راجي', 'رازي', 'راشد', 'راضي', - 'راغب', 'رامز', 'رامي', 'رامح', 'راني', 'راوي', 'رؤوف', 'رباح', - 'ريّان', 'ربيع', 'رجاء', 'رجائي', 'رجب', 'رخاء', 'رستم', - 'رسمي', 'رشاد', 'رشدي', 'رشيد', 'رضوان', 'رفيق', 'رمحي', - 'رمزي', 'رمضان', 'رهيف', 'روحي', 'رافع', 'رئيس', 'رحيب', - 'رزين', 'راسم', 'رضي', 'زاخر', 'زاكي', 'زاهر', 'زاهي', - 'زايد', 'زبير', 'زغلول', 'زكريا', 'زكي', 'زهدي', 'زهران', - 'زهير', 'زياد', 'زيد', 'زيدان', 'زين', 'سائد', 'ساجد', - 'سخاء', 'ساجي', 'ساطع', 'سالم', 'سامح', 'ساهر', 'سامر', - 'سامي', 'ساهد', 'سراج', 'سرحان', 'سرور', 'سعد', 'سعدون', - 'سعدي', 'سعود', 'سعيد', 'سفيان', 'سفير', 'سلام', 'سلطان', - 'سلمان', 'سليمان', 'سموح', 'سمير', 'سنان', 'سنام', 'سهل', - 'سهوان', 'سهيل', 'سيّد', 'سليم', 'سراج الدّين', 'سيفالدّين', - 'شادي', 'شافع', 'شاكر', 'شامخ', 'شامل', 'شبلي', 'شبيب', - 'شدّاد', 'شريف', 'شعبان', 'شعيب', 'شفيع', 'شعلان', 'شكري', - 'شكيب', 'شهب', 'شهاب', 'شهم', 'شهير', 'شوقي', 'شجاع', 'شاطر', - 'شيّق', 'صائب', 'صابر', 'صاحب', 'صادح', 'صادق', 'صارم', - 'صافي', 'صالح', 'صامد', 'صباح', 'صبحي', 'صبري', 'صبور', - 'صبيح', 'صخر', 'صدقي', 'صدّام', 'صدّاح', 'صعب', 'صقر', - 'صلاح', 'صنديد', 'صهيب', 'صدر الدّين', 'صلاح الدّين', 'ضاحك', - 'ضاحي', 'ضحّاك', 'ضرغام', 'ضياء', 'ضيائي', 'ضياءالدّين', - 'طائع', 'طائف', 'طائل', 'طارق', 'طالب', 'طامح', 'طاهر', - 'طبّاع', 'طريف', 'طلال', 'طلعت', 'طموح', 'طه', 'طيّب', - 'طيّع', 'ظافر', 'ظبي', 'ظريف', 'ظهير', 'ظاعن', 'ظاهر', - 'عائد', 'عابد', 'عادل', 'عارف', 'عاصم', 'عاطف', 'عاقل', - 'عاكف', 'عالم', 'عامر', 'عبّاس', 'عبّود', 'عتريس', 'عتيد', - 'عربي', 'عثمان', 'عدلي', 'عدنان', 'عدوي', 'عرفات', 'عرفه', - 'عرفان', 'عزاز', 'عزّت', 'عزمي', 'عصام', 'عصمت', 'عطاء', - 'عفيف', 'عقيل', 'علاء', 'علّام', 'علوان', 'علي', 'عماد', - 'عمّار', 'عمر', 'عمران', 'عمرو', 'عمير', 'عاتب', 'عتيق', - 'عذب', 'عزيز', 'عبد الحقّ', 'عبدالله', 'عبدالرّحمن', - 'عزّالدّين', 'علاءالدّين', 'علم الدّين', 'عبد الإله', 'مُتعب', - 'عبد الباري', 'عبد الباقي', 'عبد التّواب', 'عبد الجبّار', - 'عبد الجليل', 'عبد الحفيظ', 'عبد الحكيم', 'عبد الحليم', - 'عبد الحيّ', 'عبد المحيي', 'عبد الخالق', 'عبد الرّزاق', 'هزار', - 'عبد الرّشيد', 'عبد الرّحمن', 'عبد الرّحيم', 'عبد الرّؤوف', - 'عبد السّميع', 'عبد الشّكور', 'عبد الصّمد', 'عبد العليم', - 'عبد الغفّار', 'عبد الغفور', 'عبد القادر', 'مهنّد', 'نزيه', - 'عبد القدّوس', 'عبد القهّار', 'عبد الكريم', 'عبد اللطيف', - 'عبد المجيد', 'عبد المولى', 'عبد العزيز', 'عبد السّلام', - 'عبد الملك', 'عبد الواحد', 'عبد الغني', 'غازي', 'غالب', - 'غالي', 'غانم', 'غزوان', 'غسّان', 'غطفان', 'غزير', 'غامد', - 'فائق', 'فاتح', 'فاخر', 'فادي', 'كامل', 'مصعب', 'ممتاز', - 'فرج', 'فارس', 'فارع', 'فاروق', 'فاضل', 'فالح', 'فايد', 'فتوح', - 'فتحي', 'فخر', 'فخري', 'فداء', 'فدائي', 'فراس', 'فرج', 'فرحان', - 'فرزدق', 'فضل', 'فطين', 'فكري', 'فلاح', 'فهد', 'فهمي', 'فؤاد', - 'فوّاز', 'فوزي', 'فضل', 'فيّاض', 'فيصل', 'فخر الدّين', 'قاسم', - 'قاصد', 'قانت', 'قائد', 'قحطان', 'قدري', 'قصي', 'قنوع', 'قيس', - 'قبس', 'قصيد', 'قطب', 'قطز', 'كارم', 'كاسر', 'كاشف', 'كاظم', - 'كايد', 'كافور', 'كتوم', 'كرم', 'كريم', 'كسّاب', 'كمال', 'كنار', - 'كنعان', 'كنان', 'كبير', 'كليم', 'لبيب', 'لبيد', 'لطفي', 'لطوف', - 'لفيف', 'لقمان', 'لقاء', 'لؤي', 'لهفان', 'ليث', 'لمّاح', 'مأمون', - 'ماجد', 'مازن', 'مالك', 'ماهر', 'محمّد', 'مُتوكّل', 'مُتولي', - 'مُتيّم', 'مجد', 'مجاهد', 'مَجدي', 'محجوب', 'محسن', 'محفوظ', - 'محمود', 'مختار', 'مخلص', 'مُخيمر', 'مدحت', 'مراد', 'مرادي', - 'مرتجي', 'مرتقي', 'مرزوق', 'مرسال', 'مرتضي', 'مُرسي', 'مرشد', - 'مُرضي', 'مرعي', 'مروان', 'مزهر', 'مسرور', 'مُسعف', 'مَسعد', - 'مسعود', 'مسلم', 'مشرف', 'مشرق', 'مشفق', 'مصباح', 'مصطفى', - 'مُصلح', 'مطاوع', 'مظهر', 'مُعتز', 'معتوق', 'معزّ', 'معمّر', 'معن', - 'معين', 'مفيد', 'مقداد', 'مقدام', 'مكّي', 'مكرّم', 'ملهم', 'يونس', - 'ممدوح', 'مُناضل', 'مناف', 'مُنذر', 'منيف', 'منتصر', 'مُنجد', - 'منسي', 'منصور', 'مُنير', 'منيب', 'منيع', 'مهدي', 'مهران', - 'مهيب', 'موسى', 'موفّق', 'مؤمن', 'مؤنس', 'مؤيّد', 'ميّاد', 'مياس', - 'ميسور', 'ميمون', 'ميثاق', 'معارف', 'محييالدّين', 'مشاري', - 'نائل', 'ناجح', 'ناجي', 'نادر', 'نادي', 'ناصر', 'ناضر', 'ناصيف', - 'ناظم', 'ناعم', 'نافذ', 'نافع', 'نبهان', 'نبيل', 'نبيه', 'نبراس', - 'نورالحقّ', 'نجدت', 'نجوان', 'نجيب', 'نديم', 'نذير', 'نزار', - 'نسيب', 'نشأت', 'نصر', 'نضال', 'نصري', 'نصور', 'نصوح', 'نظام', - 'نظمي', 'نعيم', 'نعمان', 'نمر', 'نوّاف', 'نوح', 'نوّار', 'نور', - 'نورس', 'نشوان', 'نوري', 'نيازي', 'ناصر الدّين', 'نصر الدّين', - 'نور الدّين', 'نجم الدّين', 'هادي', 'هاشم', 'هاني', 'هايل', - 'هلال', 'هلالي', 'همام', 'هيكل', 'هيمان', 'هيثم', 'وائل', 'واثق', - 'وادع', 'واصف', 'واصل', 'وثّاب', 'وجدي', 'وجيه', 'وحيد', 'ودود', - 'وديع', 'وريد', 'وسام', 'وسيم', 'وسيل', 'وصفي', 'وضّاح', 'وفائي', - 'وفيق', 'وليد', 'وليف', 'ياسر', 'يافع', 'ياقوت', 'يانع', 'يحيى', - 'يزيد', 'يسار', 'يسري', 'يعرب', 'يعقوب', 'يقين', 'يمام', 'يوسف', + first_names_male: Tuple[str, ...] = ( + "تاج", + "تامر", + "تحسين", + "تقي", + "تمّام", + "تميم", + "توفيق", + "ترف", + "تاج الدّين", + "تقيّ الدّين", + "ثائر", + "ثابت", + "ثامر", + "ثروت", + "ثقيف", + "ثاقب", + "جابر", + "جاد", + "جاسم", + "جرير", + "جسور", + "جعفر", + "جلاء", + "جلال", + "جليل", + "جمال", + "جميل", + "جدير", + "جرّاح", + "جلال الدّين", + "جمال الدّين", + "جهاد", + "حاتم", + "حارث", + "حازم", + "حافظ", + "حامد", + "حبّاب", + "حسام", + "حسن", + "حسيب", + "حسين", + "حسني", + "حسنين", + "حقّي", + "حكيم", + "حليم", + "حمّاد", + "حمدان", + "حمدي", + "حمزة", + "حمود", + "حميد", + "حنبل", + "حنفي", + "حيّان", + "حيدر", + "حفيظ", + "خاطر", + "خافق", + "خالد", + "خالدي", + "خلدون", + "خلف", + "خلوصي", + "خليفة", + "خليل", + "خميس", + "خيري", + "خضر", + "خطيب", + "دؤوب", + "داني", + "داهي", + "داوود", + "دريد", + "دليل", + "دهمان", + "ديسم", + "ذيب", + "ذكي", + "ذريع", + "رائد", + "رائف", + "رابح", + "راتب", + "راجح", + "راجي", + "رازي", + "راشد", + "راضي", + "راغب", + "رامز", + "رامي", + "رامح", + "راني", + "راوي", + "رؤوف", + "رباح", + "ريّان", + "ربيع", + "رجاء", + "رجائي", + "رجب", + "رخاء", + "رستم", + "رسمي", + "رشاد", + "رشدي", + "رشيد", + "رضوان", + "رفيق", + "رمحي", + "رمزي", + "رمضان", + "رهيف", + "روحي", + "رافع", + "رئيس", + "رحيب", + "رزين", + "راسم", + "رضي", + "زاخر", + "زاكي", + "زاهر", + "زاهي", + "زايد", + "زبير", + "زغلول", + "زكريا", + "زكي", + "زهدي", + "زهران", + "زهير", + "زياد", + "زيد", + "زيدان", + "زين", + "سائد", + "ساجد", + "سخاء", + "ساجي", + "ساطع", + "سالم", + "سامح", + "ساهر", + "سامر", + "سامي", + "ساهد", + "سراج", + "سرحان", + "سرور", + "سعد", + "سعدون", + "سعدي", + "سعود", + "سعيد", + "سفيان", + "سفير", + "سلام", + "سلطان", + "سلمان", + "سليمان", + "سموح", + "سمير", + "سنان", + "سنام", + "سهل", + "سهوان", + "سهيل", + "سيّد", + "سليم", + "سراج الدّين", + "سيفالدّين", + "شادي", + "شافع", + "شاكر", + "شامخ", + "شامل", + "شبلي", + "شبيب", + "شدّاد", + "شريف", + "شعبان", + "شعيب", + "شفيع", + "شعلان", + "شكري", + "شكيب", + "شهب", + "شهاب", + "شهم", + "شهير", + "شوقي", + "شجاع", + "شاطر", + "شيّق", + "صائب", + "صابر", + "صاحب", + "صادح", + "صادق", + "صارم", + "صافي", + "صالح", + "صامد", + "صباح", + "صبحي", + "صبري", + "صبور", + "صبيح", + "صخر", + "صدقي", + "صدّام", + "صدّاح", + "صعب", + "صقر", + "صلاح", + "صنديد", + "صهيب", + "صدر الدّين", + "صلاح الدّين", + "ضاحك", + "ضاحي", + "ضحّاك", + "ضرغام", + "ضياء", + "ضيائي", + "ضياءالدّين", + "طائع", + "طائف", + "طائل", + "طارق", + "طالب", + "طامح", + "طاهر", + "طبّاع", + "طريف", + "طلال", + "طلعت", + "طموح", + "طه", + "طيّب", + "طيّع", + "ظافر", + "ظبي", + "ظريف", + "ظهير", + "ظاعن", + "ظاهر", + "عائد", + "عابد", + "عادل", + "عارف", + "عاصم", + "عاطف", + "عاقل", + "عاكف", + "عالم", + "عامر", + "عبّاس", + "عبّود", + "عتريس", + "عتيد", + "عربي", + "عثمان", + "عدلي", + "عدنان", + "عدوي", + "عرفات", + "عرفه", + "عرفان", + "عزاز", + "عزّت", + "عزمي", + "عصام", + "عصمت", + "عطاء", + "عفيف", + "عقيل", + "علاء", + "علّام", + "علوان", + "علي", + "عماد", + "عمّار", + "عمر", + "عمران", + "عمرو", + "عمير", + "عاتب", + "عتيق", + "عذب", + "عزيز", + "عبد الحقّ", + "عبدالله", + "عبدالرّحمن", + "عزّالدّين", + "علاءالدّين", + "علم الدّين", + "عبد الإله", + "مُتعب", + "عبد الباري", + "عبد الباقي", + "عبد التّواب", + "عبد الجبّار", + "عبد الجليل", + "عبد الحفيظ", + "عبد الحكيم", + "عبد الحليم", + "عبد الحيّ", + "عبد المحيي", + "عبد الخالق", + "عبد الرّزاق", + "هزار", + "عبد الرّشيد", + "عبد الرّحمن", + "عبد الرّحيم", + "عبد الرّؤوف", + "عبد السّميع", + "عبد الشّكور", + "عبد الصّمد", + "عبد العليم", + "عبد الغفّار", + "عبد الغفور", + "عبد القادر", + "مهنّد", + "نزيه", + "عبد القدّوس", + "عبد القهّار", + "عبد الكريم", + "عبد اللطيف", + "عبد المجيد", + "عبد المولى", + "عبد العزيز", + "عبد السّلام", + "عبد الملك", + "عبد الواحد", + "عبد الغني", + "غازي", + "غالب", + "غالي", + "غانم", + "غزوان", + "غسّان", + "غطفان", + "غزير", + "غامد", + "فائق", + "فاتح", + "فاخر", + "فادي", + "كامل", + "مصعب", + "ممتاز", + "فرج", + "فارس", + "فارع", + "فاروق", + "فاضل", + "فالح", + "فايد", + "فتوح", + "فتحي", + "فخر", + "فخري", + "فداء", + "فدائي", + "فراس", + "فرج", + "فرحان", + "فرزدق", + "فضل", + "فطين", + "فكري", + "فلاح", + "فهد", + "فهمي", + "فؤاد", + "فوّاز", + "فوزي", + "فضل", + "فيّاض", + "فيصل", + "فخر الدّين", + "قاسم", + "قاصد", + "قانت", + "قائد", + "قحطان", + "قدري", + "قصي", + "قنوع", + "قيس", + "قبس", + "قصيد", + "قطب", + "قطز", + "كارم", + "كاسر", + "كاشف", + "كاظم", + "كايد", + "كافور", + "كتوم", + "كرم", + "كريم", + "كسّاب", + "كمال", + "كنار", + "كنعان", + "كنان", + "كبير", + "كليم", + "لبيب", + "لبيد", + "لطفي", + "لطوف", + "لفيف", + "لقمان", + "لقاء", + "لؤي", + "لهفان", + "ليث", + "لمّاح", + "مأمون", + "ماجد", + "مازن", + "مالك", + "ماهر", + "محمّد", + "مُتوكّل", + "مُتولي", + "مُتيّم", + "مجد", + "مجاهد", + "مَجدي", + "محجوب", + "محسن", + "محفوظ", + "محمود", + "مختار", + "مخلص", + "مُخيمر", + "مدحت", + "مراد", + "مرادي", + "مرتجي", + "مرتقي", + "مرزوق", + "مرسال", + "مرتضي", + "مُرسي", + "مرشد", + "مُرضي", + "مرعي", + "مروان", + "مزهر", + "مسرور", + "مُسعف", + "مَسعد", + "مسعود", + "مسلم", + "مشرف", + "مشرق", + "مشفق", + "مصباح", + "مصطفى", + "مُصلح", + "مطاوع", + "مظهر", + "مُعتز", + "معتوق", + "معزّ", + "معمّر", + "معن", + "معين", + "مفيد", + "مقداد", + "مقدام", + "مكّي", + "مكرّم", + "ملهم", + "يونس", + "ممدوح", + "مُناضل", + "مناف", + "مُنذر", + "منيف", + "منتصر", + "مُنجد", + "منسي", + "منصور", + "مُنير", + "منيب", + "منيع", + "مهدي", + "مهران", + "مهيب", + "موسى", + "موفّق", + "مؤمن", + "مؤنس", + "مؤيّد", + "ميّاد", + "مياس", + "ميسور", + "ميمون", + "ميثاق", + "معارف", + "محييالدّين", + "مشاري", + "نائل", + "ناجح", + "ناجي", + "نادر", + "نادي", + "ناصر", + "ناضر", + "ناصيف", + "ناظم", + "ناعم", + "نافذ", + "نافع", + "نبهان", + "نبيل", + "نبيه", + "نبراس", + "نورالحقّ", + "نجدت", + "نجوان", + "نجيب", + "نديم", + "نذير", + "نزار", + "نسيب", + "نشأت", + "نصر", + "نضال", + "نصري", + "نصور", + "نصوح", + "نظام", + "نظمي", + "نعيم", + "نعمان", + "نمر", + "نوّاف", + "نوح", + "نوّار", + "نور", + "نورس", + "نشوان", + "نوري", + "نيازي", + "ناصر الدّين", + "نصر الدّين", + "نور الدّين", + "نجم الدّين", + "هادي", + "هاشم", + "هاني", + "هايل", + "هلال", + "هلالي", + "همام", + "هيكل", + "هيمان", + "هيثم", + "وائل", + "واثق", + "وادع", + "واصف", + "واصل", + "وثّاب", + "وجدي", + "وجيه", + "وحيد", + "ودود", + "وديع", + "وريد", + "وسام", + "وسيم", + "وسيل", + "وصفي", + "وضّاح", + "وفائي", + "وفيق", + "وليد", + "وليف", + "ياسر", + "يافع", + "ياقوت", + "يانع", + "يحيى", + "يزيد", + "يسار", + "يسري", + "يعرب", + "يعقوب", + "يقين", + "يمام", + "يوسف", ) first_names = first_names_male + first_names_female - last_names = ( - 'الخالدي', 'البديري', 'الشهابي', 'العفيفي', 'جزار', - 'الخطيب بني جماعة الكناني', 'الدجاني', 'الغوانمة', 'جار الله', - 'السروري', 'الامام', 'النقيب', 'المفتي', 'ابو السعود', - 'الفتياني', 'العلمي', 'بو مدين', 'نسيبة', 'النشاشيبي', 'العسلي', - 'الحسيني', 'الجاعوني', 'درويش', 'الأنصاري', 'جودة', 'النمري', - 'قطينة', 'الداودي', 'العارف', 'رصاص', 'البخاري', 'كمال', - 'الترجمان الصالح', 'غنيم', 'المؤقت', 'شتية', 'شرف', 'نور الدين', - 'الشعباني', 'الأيوبي', 'الجبشة', 'هندية', 'البشيتي', 'الوعري', - 'الموسوس', 'المظفر', 'الترهي', 'البغدادي', 'الهدمي', 'البامية', - 'الكلغاصي', 'اليوزباشي', 'المتولي', 'اسطمبولي', 'الألجاوي', - 'معتوق', 'حب رمان', 'القرجولي', 'نجم', 'طه', 'عبده', 'سموم', - 'نجيب', 'غوشة', 'اهرام', 'قرش', 'الكالوتي', 'حجازي', 'زحيكة', - 'جعفر', 'ازحيمان', 'الحواش', 'القضماني', 'طوطح', 'الشاويش', - 'بدرية', 'ابو الحاج', 'البيطار', 'صيام', 'قليبو', 'ارناؤوط', - 'الشرفاء', 'الحلاق', 'المملوك', 'السمان', 'طقش', 'وهبة', - 'عبد اللطيف', 'طزيز', 'السيفي', 'عويضة', 'القطب', 'الطحان', - 'النجار', 'القباني', 'عكاوي', 'الديسي', 'الزماميري', 'التوتنجي', - 'الحلواني', 'القزاز', 'الماني', 'الدقاق', 'الشامي', 'سوميرة', - 'ابو عيد', 'الخلفاوي', 'الدسوقي', 'المغربي', 'أفغاني', 'مراد', - 'زلاطيمو', 'سرندح', 'مشعشع', 'بحمدوني', 'بعلبكي', 'صيداوي', - 'صيداني', 'طرابلسي', 'جزيني', 'بيروتي', 'عرموني', 'متني', - 'شويفاتي', 'مزرعاني', 'بتروني', 'جبيلي', 'اميوني', 'زحلاوي', - 'الساحلي', 'القاعي', 'القلموني', 'البيسار القعقور', 'إياد', - 'الأزد', 'الأشراف', 'السادة', 'الأوس', 'أشجع', 'ألمع', 'أنمار', - 'بنو الأحمر', 'بنو الأحمر بن الحارث', 'بنو الأسمر', 'بنو أسد', - 'بنو أمية', 'أكلب', 'بنو النجار', 'البقوم', 'أولاد بوعزيز', - 'بارق', 'باهلة', 'بجيلة', 'بكر بن عبد مناة', 'بكر بن وائل', - 'بديرية', 'بلغازي', 'بلقرن', 'بلي', 'بيرقدار', 'بني بيات', - 'بكيل', 'ترابين', 'تغلب بن وائل', 'تميم', 'تنوخ', 'ثقيف', - 'الجعليين', 'جرهم', 'جديس', 'جذام', 'جهينة', - 'الحجر بن الهنوء بن الأزد', 'الحداء', 'الحكم بن سعد العشيرة', - 'بنو الحارث بن كعب', 'حرب', 'بنو حنيفة', 'حاشد', 'حميضة', - 'حمير', 'حوالة', 'الحويطات', 'الخزرج', 'بنو خالد', 'خثعم', - 'خزاعة', 'خندف', 'خولان', 'الدليم', 'الدواسر', 'بنو الدئل', - 'دوبلال', 'بنو ذي أصبح', 'راجح', 'بني رشيد', 'ربيعة', 'الرباب', - 'الرباطاب', 'السادة الراويون', 'الزرقان', 'زبيد', 'أولاد زيان', - 'بنو زيد', 'زهران', 'السهول', 'بنو سعد بن بكر', - 'بنو سعد بن ليث بن بكر', 'سليم', 'سبيع', 'الشايقية', 'الشحوح', - 'بنو شعبة', 'شمران', 'بنو شهر', 'بنو شيبان', 'بنو شيبة', 'شمر', - 'شهران', 'بنو صخر', 'بنو ضمرة', 'ضبيعة', 'طسم', 'طيء', 'الظفير', - 'عجرمة (العجارمة)', 'العجمان', 'العقيدات', 'العوازم', 'العوالق', - 'بنو العريج', 'عاملة', 'بنو عبس', 'بنو عجل', 'بنو عدي', - 'بنو عمرو', 'عامر بن صعصعة', 'عبد القيس', 'عتيبة', 'عدوان', - 'عذرة', 'عسير', 'عليان', 'عنز بن وائل', 'عنزة', 'عنس', 'عضل', - 'بني عطية', 'غامد', 'غطفان', 'بنو فراس', 'فراهيد', 'فهم', - 'القواسم', 'قحطان', 'قريش', 'قضاعة', 'قيس عيلان', 'بنو كنز', - 'الكواهلة', 'بنو كلب', 'كنانة', 'الكبابيش', 'كندة', 'كهلان', - 'الكثيري', 'بنو لام', 'لخم', 'بنو ليث', 'المرازيق', 'المنتفق', - 'الموركة', 'المهرة', 'بنو مالك', 'بنو معقل', 'بنو مهدي', - 'مزينة', 'مذحج', 'مرازيق البقوم', 'مضر', 'مطير', 'ميرفاب', - 'النمر', 'نهد', 'بني هاجر', 'بنو هاشم', 'بنو هلال', - 'قبيلة هذيل البقوم', 'هذيل', 'همدان', 'هوازن', 'بنو ياس', - 'بنو يعلى', 'يافع', 'يشكر', + last_names: Tuple[str, ...] = ( + "الخالدي", + "البديري", + "الشهابي", + "العفيفي", + "جزار", + "الخطيب بني جماعة الكناني", + "الدجاني", + "الغوانمة", + "جار الله", + "السروري", + "الامام", + "النقيب", + "المفتي", + "ابو السعود", + "الفتياني", + "العلمي", + "بو مدين", + "نسيبة", + "النشاشيبي", + "العسلي", + "الحسيني", + "الجاعوني", + "درويش", + "الأنصاري", + "جودة", + "النمري", + "قطينة", + "الداودي", + "العارف", + "رصاص", + "البخاري", + "كمال", + "الترجمان الصالح", + "غنيم", + "المؤقت", + "شتية", + "شرف", + "نور الدين", + "الشعباني", + "الأيوبي", + "الجبشة", + "هندية", + "البشيتي", + "الوعري", + "الموسوس", + "المظفر", + "الترهي", + "البغدادي", + "الهدمي", + "البامية", + "الكلغاصي", + "اليوزباشي", + "المتولي", + "اسطمبولي", + "الألجاوي", + "معتوق", + "حب رمان", + "القرجولي", + "نجم", + "طه", + "عبده", + "سموم", + "نجيب", + "غوشة", + "اهرام", + "قرش", + "الكالوتي", + "حجازي", + "زحيكة", + "جعفر", + "ازحيمان", + "الحواش", + "القضماني", + "طوطح", + "الشاويش", + "بدرية", + "ابو الحاج", + "البيطار", + "صيام", + "قليبو", + "ارناؤوط", + "الشرفاء", + "الحلاق", + "المملوك", + "السمان", + "طقش", + "وهبة", + "عبد اللطيف", + "طزيز", + "السيفي", + "عويضة", + "القطب", + "الطحان", + "النجار", + "القباني", + "عكاوي", + "الديسي", + "الزماميري", + "التوتنجي", + "الحلواني", + "القزاز", + "الماني", + "الدقاق", + "الشامي", + "سوميرة", + "ابو عيد", + "الخلفاوي", + "الدسوقي", + "المغربي", + "أفغاني", + "مراد", + "زلاطيمو", + "سرندح", + "مشعشع", + "بحمدوني", + "بعلبكي", + "صيداوي", + "صيداني", + "طرابلسي", + "جزيني", + "بيروتي", + "عرموني", + "متني", + "شويفاتي", + "مزرعاني", + "بتروني", + "جبيلي", + "اميوني", + "زحلاوي", + "الساحلي", + "القاعي", + "القلموني", + "البيسار القعقور", + "إياد", + "الأزد", + "الأشراف", + "السادة", + "الأوس", + "أشجع", + "ألمع", + "أنمار", + "بنو الأحمر", + "بنو الأحمر بن الحارث", + "بنو الأسمر", + "بنو أسد", + "بنو أمية", + "أكلب", + "بنو النجار", + "البقوم", + "أولاد بوعزيز", + "بارق", + "باهلة", + "بجيلة", + "بكر بن عبد مناة", + "بكر بن وائل", + "بديرية", + "بلغازي", + "بلقرن", + "بلي", + "بيرقدار", + "بني بيات", + "بكيل", + "ترابين", + "تغلب بن وائل", + "تميم", + "تنوخ", + "ثقيف", + "الجعليين", + "جرهم", + "جديس", + "جذام", + "جهينة", + "الحجر بن الهنوء بن الأزد", + "الحداء", + "الحكم بن سعد العشيرة", + "بنو الحارث بن كعب", + "حرب", + "بنو حنيفة", + "حاشد", + "حميضة", + "حمير", + "حوالة", + "الحويطات", + "الخزرج", + "بنو خالد", + "خثعم", + "خزاعة", + "خندف", + "خولان", + "الدليم", + "الدواسر", + "بنو الدئل", + "دوبلال", + "بنو ذي أصبح", + "راجح", + "بني رشيد", + "ربيعة", + "الرباب", + "الرباطاب", + "السادة الراويون", + "الزرقان", + "زبيد", + "أولاد زيان", + "بنو زيد", + "زهران", + "السهول", + "بنو سعد بن بكر", + "بنو سعد بن ليث بن بكر", + "سليم", + "سبيع", + "الشايقية", + "الشحوح", + "بنو شعبة", + "شمران", + "بنو شهر", + "بنو شيبان", + "بنو شيبة", + "شمر", + "شهران", + "بنو صخر", + "بنو ضمرة", + "ضبيعة", + "طسم", + "طيء", + "الظفير", + "عجرمة (العجارمة)", + "العجمان", + "العقيدات", + "العوازم", + "العوالق", + "بنو العريج", + "عاملة", + "بنو عبس", + "بنو عجل", + "بنو عدي", + "بنو عمرو", + "عامر بن صعصعة", + "عبد القيس", + "عتيبة", + "عدوان", + "عذرة", + "عسير", + "عليان", + "عنز بن وائل", + "عنزة", + "عنس", + "عضل", + "بني عطية", + "غامد", + "غطفان", + "بنو فراس", + "فراهيد", + "فهم", + "القواسم", + "قحطان", + "قريش", + "قضاعة", + "قيس عيلان", + "بنو كنز", + "الكواهلة", + "بنو كلب", + "كنانة", + "الكبابيش", + "كندة", + "كهلان", + "الكثيري", + "بنو لام", + "لخم", + "بنو ليث", + "المرازيق", + "المنتفق", + "الموركة", + "المهرة", + "بنو مالك", + "بنو معقل", + "بنو مهدي", + "مزينة", + "مذحج", + "مرازيق البقوم", + "مضر", + "مطير", + "ميرفاب", + "النمر", + "نهد", + "بني هاجر", + "بنو هاشم", + "بنو هلال", + "قبيلة هذيل البقوم", + "هذيل", + "همدان", + "هوازن", + "بنو ياس", + "بنو يعلى", + "يافع", + "يشكر", ) - prefixes_female = ( - 'السيدة', 'الآنسة', 'الدكتورة', 'الأستاذة', 'المهندسة', + prefixes_female: Tuple[str, ...] = ( + "السيدة", + "الآنسة", + "الدكتورة", + "الأستاذة", + "المهندسة", ) - prefixes_male = ('السيد', 'المهندس', 'الدكتور', 'الأستاذ') + prefixes_male: Tuple[str, ...] = ("السيد", "المهندس", "الدكتور", "الأستاذ") diff --git a/faker/providers/person/ar_PS/__init__.py b/faker/providers/person/ar_PS/__init__.py index 0a2014c900..ca6854ccf0 100644 --- a/faker/providers/person/ar_PS/__init__.py +++ b/faker/providers/person/ar_PS/__init__.py @@ -3,11 +3,46 @@ class Provider(ArabicPersonProvider): last_names = ( - 'خوري', 'شاهين', 'البرغوثي', 'الحسيني', 'الزيدانية', 'جرار', - 'السكاكيني', 'طوقان', 'نسيبة', 'النشاشيبي', 'الخازن', 'ترابين', - 'دغمش', 'دلاشة', 'الزيتاوي', 'صليبا', 'التركمان', 'الإغباري', - 'كسواني', 'جزار', 'أبو اسنينة', 'التميمي', 'الجنيدي', 'بدر', - 'أبو شقدم', 'أبو غليون', 'أبو قمر', 'الأدغم', 'حوسة', 'الصالحي', - 'حمامي', 'هاشم', 'الحنبلي', 'أستيتية', 'مرمش', 'قرادة', - 'فطاير', 'الخماش', 'الخياط', 'النعنيش', 'مهيار', 'أبو شلبك', + "خوري", + "شاهين", + "البرغوثي", + "الحسيني", + "الزيدانية", + "جرار", + "السكاكيني", + "طوقان", + "نسيبة", + "النشاشيبي", + "الخازن", + "ترابين", + "دغمش", + "دلاشة", + "الزيتاوي", + "صليبا", + "التركمان", + "الإغباري", + "كسواني", + "جزار", + "أبو اسنينة", + "التميمي", + "الجنيدي", + "بدر", + "أبو شقدم", + "أبو غليون", + "أبو قمر", + "الأدغم", + "حوسة", + "الصالحي", + "حمامي", + "هاشم", + "الحنبلي", + "أستيتية", + "مرمش", + "قرادة", + "فطاير", + "الخماش", + "الخياط", + "النعنيش", + "مهيار", + "أبو شلبك", ) diff --git a/faker/providers/person/ar_SA/__init__.py b/faker/providers/person/ar_SA/__init__.py index 5ea8ddead5..5641886e35 100644 --- a/faker/providers/person/ar_SA/__init__.py +++ b/faker/providers/person/ar_SA/__init__.py @@ -3,13 +3,49 @@ class Provider(ArabicPersonProvider): last_names = ( - 'حجار', 'آل الشيخ', 'الحجار', 'حنبولي', 'آل سعود', 'آل علي', - 'آل جعفر', 'أبا الخيل', 'المهنا', 'مهنا', 'بن لادن', 'كانو', - 'الجفالي', 'فصيل', 'آل رفيع', 'آل بن لافي', 'آل العسكري', - 'آل بن ظافر', 'آل عواض', 'المشاولة', 'آل مقطة', 'آل عايض', - 'آل معيض', 'آل حسين', 'المغاولة', 'آل خضير', 'آل صفوان', - 'آل محمد بن علي بن جماز', 'آل عطفة', 'آل قصير', 'آل سلطان', - 'العليان', 'الشايع', 'أبو داوود', 'الدباغ', 'العجلان', 'الراشد', - 'المهيدب', 'العقيل', 'شربتلي', 'الخرافي', 'أبو داوود', 'الجابر', - 'بقشان', 'الحكير', + "حجار", + "آل الشيخ", + "الحجار", + "حنبولي", + "آل سعود", + "آل علي", + "آل جعفر", + "أبا الخيل", + "المهنا", + "مهنا", + "بن لادن", + "كانو", + "الجفالي", + "فصيل", + "آل رفيع", + "آل بن لافي", + "آل العسكري", + "آل بن ظافر", + "آل عواض", + "المشاولة", + "آل مقطة", + "آل عايض", + "آل معيض", + "آل حسين", + "المغاولة", + "آل خضير", + "آل صفوان", + "آل محمد بن علي بن جماز", + "آل عطفة", + "آل قصير", + "آل سلطان", + "العليان", + "الشايع", + "أبو داوود", + "الدباغ", + "العجلان", + "الراشد", + "المهيدب", + "العقيل", + "شربتلي", + "الخرافي", + "أبو داوود", + "الجابر", + "بقشان", + "الحكير", ) diff --git a/faker/providers/person/bg_BG/__init__.py b/faker/providers/person/bg_BG/__init__.py index 9dde9f02ed..7be27acce5 100644 --- a/faker/providers/person/bg_BG/__init__.py +++ b/faker/providers/person/bg_BG/__init__.py @@ -3,326 +3,1763 @@ class Provider(PersonProvider): first_names_female = ( - 'Авгия', 'Авигея', 'Авторка', 'Аглая', 'Аглоида', 'Агнешка', 'Адамина', 'Адра', 'Адрианиа', 'Аела', 'Айрен', - 'Аксентия', 'Алания', 'Албина', 'Александрина', 'Алексиа', 'Аленка', 'Алиана', 'Алисия', 'Алтая', 'Амбър', - 'Амория', 'АнаМария', 'Анатолия', 'Ангелка', 'Андика', 'Андриана', 'Анелина', 'анета', 'Анза', 'Анимира', - 'Аница', 'Аномалия', 'Антоалина', 'Антонела', 'Ануша', 'Анхея-мей', 'Аполинария', 'Аралия', 'Аркадия', - 'Арсена', 'Аселина', 'Асифа', 'Астромерия', 'Атина', 'Аурора', 'Багра', 'Балина', 'Бацислава', 'Беатрис', - 'Бела', 'Белисима', 'Беломира', 'Бенелена', 'Берислава', 'Бея', 'Билена', 'Бисера', 'Биянка', 'Благодатка', - 'Благосвета', 'Богдалина', 'Богородка', 'Бодурка', 'Божидара-силвестра', 'Божинела', 'Божурка', 'Бонифация', - 'Борена', 'Бориска', 'Борянка', 'Боца', 'Бригита', 'Бронислава', 'Буна', 'Буча', 'Бързана', 'Ваклина', - 'Валерия', 'Валя', 'Вангелия', 'Ванухи', 'Варта', 'Васенка', 'Василина', 'Васка', 'Вашиля', 'Вежда', 'Велиана', - 'Велинна', 'Велиянка', 'Венда', 'Венеция', 'Венислава', 'Венчислава', 'Верена', 'Верислава', 'Веса', - 'Веселинка', 'Весна', 'Веца', 'Видима', 'Виктория', 'Вилия', 'Вилхема', 'Виолета', 'Виржиния', 'Витомира', - 'Вишка', 'Владилена', 'Владлена', 'Водица', 'Войнка', 'Вула', 'Възкресения', 'Въльо', 'Върбунка', 'Въца', - 'Габи', 'Галена', 'Галина', 'Галя', 'Гануца', 'Гвоздейка', 'Гена', 'Георгелена', 'Георгица', 'Герга', - 'Гердана', 'Гертруда', 'Гиздана', 'Гичка', 'Гордана', 'Гория', 'Гоца', 'Графица', 'Грета', 'Гримяна', - 'Гроздинка', 'Гуна', 'Гъда', 'Гълъбица', 'Гюгра', 'Гюргя', 'Дакота', 'Дамяна', 'Данелина', 'Данимира', - 'Данка', 'Дарданела', 'Дария', 'Дафинка', 'Деа', 'Деви', 'Делиана', 'Деля', 'Демирела', 'Дениандра', - 'Дениславена', 'Денница', 'Десимиляна', 'Десияна', 'Дефлорина', 'Дея', 'Джана', 'Джиневра', 'Джулия', - 'Диана-Мария', 'Дида', 'Дилмана', 'Димитра', 'Димка', 'Динна', 'Добрина', 'Дойка', 'Доменика', 'Доника', - 'Дора-Анна', 'Дорина', 'Доста', 'Доча', 'Драгица', 'Дренка', 'Дуда', 'Душка', 'Дюкяна', 'Евангелина', - 'Евдокия', 'Евридика', 'Едита', 'Ел', 'Елдора', 'Еленица', 'Елеонета', 'Ели', 'Елиз', 'Елина', 'Елиса', - 'Елица', 'Елма', 'Елфида', 'Емануила', 'Емма', 'Еница', 'Ергана', 'Ермиля', 'Естела', 'Ефимена', 'Ефросиния', - 'Жаклин', 'Жанин', 'Жара', 'Жейна', 'Желязка', 'Женимира', 'Жива', 'Живомира', 'Жичка', 'Жорка', 'Жулиана', - 'Заека', 'Занка', 'Зафа', 'Захаринка', 'Звездемира', 'Здравелина', 'Здухостина', 'Зинаида', 'Златея', 'Златка', - 'Златомира', 'Зоичка', 'Зорка', 'Зузичка', 'Ивалена', 'ивамина', 'Иванеса', 'Иваничка', 'Ивелиана', 'Ивинка', - 'Иглика', 'Изидора', 'Илеана', 'Илианна', 'Илинда', 'Илка', 'Инан', 'Инеса', 'Ира', 'Ирин', 'Ирла', 'Исихия', - 'Истилияна', 'Йоана', 'Йоанна', 'Йованка', 'Йоко', 'Йолина', 'Йона', 'Йоника', 'Йорданка', 'Йоханна', - 'Кадифейка', 'Калея', 'Калина', 'Калиса', 'Калуда', 'Камея', 'Кануша', 'Карамелита', 'Карина', 'Касиди', - 'Катастрофа', 'Катинка', 'Каунка', 'Кветослава', 'Керанка', 'Кети', 'Кино', 'Кирка', 'Китчица', 'Клара', - 'Клеуна', 'Клоя', 'Кокимира', 'Комара', 'Константина', 'Корнелия', 'Костадинка', 'Кралина', 'Красидара', - 'Красияна', 'Криси', 'кристабела', 'Кристиана', 'Кристия', 'Кръстанка', 'Ксандриния', 'Кунка', 'Кьнина', - 'Лада', 'Лазура', 'Лалка', 'Лариса', 'Лаца', 'Лека', 'Ленче', 'Летисия', 'Либерта', 'Лидийка', 'Лика', 'Лилия', - 'Лилянка', 'Линда', 'Лия', 'Лозанка', 'Лорена', 'Лоти', 'Луна', 'Лъчезарка', 'Любина', 'Люблина', 'Любослава', - 'Люляна', 'Люсила', 'Лянка', 'Магдалена', 'Мадлен', 'Майя', 'Максимилияна', 'Малена', 'Малтина', 'Манолина', - 'Мара-антоанета', 'Маргит', 'Марен', 'Мари-анри', 'Марийка', 'Маринета', 'Мариотка', 'Мария', 'Мария-елена', - 'Мария-Хуана', 'Марлена', 'Маруся', 'Маса', 'Матка', 'Маша', 'Медиха', 'Мелания', 'Мелъди', 'Меропа', - 'Миглена', 'Мила', 'Милара', 'милдия', 'Милиана', 'Милост', 'Мимоза', 'Минка', 'Миранза', 'Мирена', 'Миропа', - 'Мисла', 'Митошка', 'Михайлена', 'Мишка', 'Младлена', 'Момера', 'Моника', 'Мортадела', 'Мушана', 'Наводненка', - 'Надка', 'Найда', 'Нани', 'Настия', 'Наташа', 'Невена', 'Негрита', 'Неделяна', 'Нейка', 'Нелида', 'Нелла', - 'Неолина', 'Нешка', 'Нигрита', 'Никоела', 'Николина', 'Нионила', 'Нона', 'Норка', 'Нурета', 'Огнена', - 'Октавия', 'Оливера', 'Омана', 'Орлеана', 'Орхидея', 'Павилия', 'Павлина', 'Палвира', 'Паломина', 'Панда', - 'Пантера', 'Парашкевица', 'Парунка', 'Патриотка', 'Паулина', 'Паца', 'Пейолина', 'Пелина', 'Пепелота', - 'Периана', 'перуна', 'Петинка', 'Петрийка', 'Петромира', 'Петрушка', 'Пешка', 'Пламена', 'Плодовитка', - 'Полексина', 'Полин', 'Правда', 'Преса', 'Прина', 'Пролетина', 'Простисвета', 'Пупи', 'Първолетка', 'Рада', - 'Радиа', 'Радимира', 'Радка', 'Радосвета', 'Радостка', 'Раинка', 'Райничка', 'Рамина', 'Ревка', 'Ренгия', - 'Риана', 'Римма', 'Рия', 'Роза', 'Розана', 'Розета', 'Розка', 'Роксана', 'Ромолета', 'Роселина', 'Росислава', - 'Ростислава', 'Ружка', 'Румислава', 'Русалия', 'Руска', 'Сабина', 'Савета', 'Салина', 'Санка', 'Сарая', - 'Сахория', 'Свежа', 'Светла', 'Светломира', 'Свидна', 'Свободка', 'Севда', 'севделина', 'Севета', 'Семенарка', - 'Сергелинка', 'Сибила', 'Сиена', 'Силви', 'Силвия-александра', 'Силяна', 'Симона', 'Синтия', 'Сисоя', - 'Скакалка', 'Славея', 'Славка', 'Сладоледка', 'Смехотерапия', 'Смирна', 'Снежинка', 'Софийка', 'Спасена', - 'Спасияна', 'Спирела', 'Стависара', 'Стаматка', 'Станиела', 'Станимирка', 'Сташа', 'Стелина', 'Стефани', - 'Стеяна', 'Стоимена', 'Столетка', 'Стоянка', 'Сузи', 'Съвестина', 'Сърменка', 'Таисия', 'тамара', 'Таня', - 'Ташимира', 'Теа', 'Телефонка', 'Темира', 'Теодора', 'Теса', 'Тилиана', 'Тиха', 'Тоанета', 'Толиана', 'Тона', - 'Тоницвета', 'Тоска', 'Тошка', 'Трендафила', 'Трифонка', 'Троша', 'Труфана', 'Тръпка', 'Туфка', 'Улиана', - 'Урима', 'Фабияна', 'Фатиме', 'Феня', 'Фикия', 'Филипини', 'Фимка', 'Флавия', 'Флорика', 'Фотинка', 'Фронка', - 'Фуга', 'Хана', 'Харитония', 'Хенриета', 'Хинка', 'Холи', 'Хранислава', 'Хрисанка', 'Христа', 'Христела', - 'Христилияна', 'Христоелена', 'Христя', 'Хубавелка', 'Цанета', 'Царевна', 'Цветана', 'Цветелина', 'Цветилена', - 'Цветлина', 'Цветолилия', 'Цветяна', 'Цеца', 'Цола', 'Цоня', 'Чана', 'Чардафона', 'Чачия', 'Череша', - 'Четвърта', 'Чона', 'Чубрина', 'Шана', 'Шена', 'Шехерезада', 'Шинка', 'Щедра', 'Щериана', 'Щефания', 'Щилянка', - 'Щтилка', 'Ъгленка', 'Ъчка', 'Юлиена', 'Юлия', 'Юнона', 'Юрита', 'Юстианна', 'Ябленка', 'Явора', 'Ягода', - 'Ялислава', 'Яна-Мартина', 'Янина', 'Яниславия', 'Янка', 'Ярка', 'Ясена', 'Ятана', + "Авгия", + "Авигея", + "Авторка", + "Аглая", + "Аглоида", + "Агнешка", + "Адамина", + "Адра", + "Адрианиа", + "Аела", + "Айрен", + "Аксентия", + "Алания", + "Албина", + "Александрина", + "Алексиа", + "Аленка", + "Алиана", + "Алисия", + "Алтая", + "Амбър", + "Амория", + "АнаМария", + "Анатолия", + "Ангелка", + "Андика", + "Андриана", + "Анелина", + "анета", + "Анза", + "Анимира", + "Аница", + "Аномалия", + "Антоалина", + "Антонела", + "Ануша", + "Анхея-мей", + "Аполинария", + "Аралия", + "Аркадия", + "Арсена", + "Аселина", + "Асифа", + "Астромерия", + "Атина", + "Аурора", + "Багра", + "Балина", + "Бацислава", + "Беатрис", + "Бела", + "Белисима", + "Беломира", + "Бенелена", + "Берислава", + "Бея", + "Билена", + "Бисера", + "Биянка", + "Благодатка", + "Благосвета", + "Богдалина", + "Богородка", + "Бодурка", + "Божидара-силвестра", + "Божинела", + "Божурка", + "Бонифация", + "Борена", + "Бориска", + "Борянка", + "Боца", + "Бригита", + "Бронислава", + "Буна", + "Буча", + "Бързана", + "Ваклина", + "Валерия", + "Валя", + "Вангелия", + "Ванухи", + "Варта", + "Васенка", + "Василина", + "Васка", + "Вашиля", + "Вежда", + "Велиана", + "Велинна", + "Велиянка", + "Венда", + "Венеция", + "Венислава", + "Венчислава", + "Верена", + "Верислава", + "Веса", + "Веселинка", + "Весна", + "Веца", + "Видима", + "Виктория", + "Вилия", + "Вилхема", + "Виолета", + "Виржиния", + "Витомира", + "Вишка", + "Владилена", + "Владлена", + "Водица", + "Войнка", + "Вула", + "Възкресения", + "Въльо", + "Върбунка", + "Въца", + "Габи", + "Галена", + "Галина", + "Галя", + "Гануца", + "Гвоздейка", + "Гена", + "Георгелена", + "Георгица", + "Герга", + "Гердана", + "Гертруда", + "Гиздана", + "Гичка", + "Гордана", + "Гория", + "Гоца", + "Графица", + "Грета", + "Гримяна", + "Гроздинка", + "Гуна", + "Гъда", + "Гълъбица", + "Гюгра", + "Гюргя", + "Дакота", + "Дамяна", + "Данелина", + "Данимира", + "Данка", + "Дарданела", + "Дария", + "Дафинка", + "Деа", + "Деви", + "Делиана", + "Деля", + "Демирела", + "Дениандра", + "Дениславена", + "Денница", + "Десимиляна", + "Десияна", + "Дефлорина", + "Дея", + "Джана", + "Джиневра", + "Джулия", + "Диана-Мария", + "Дида", + "Дилмана", + "Димитра", + "Димка", + "Динна", + "Добрина", + "Дойка", + "Доменика", + "Доника", + "Дора-Анна", + "Дорина", + "Доста", + "Доча", + "Драгица", + "Дренка", + "Дуда", + "Душка", + "Дюкяна", + "Евангелина", + "Евдокия", + "Евридика", + "Едита", + "Ел", + "Елдора", + "Еленица", + "Елеонета", + "Ели", + "Елиз", + "Елина", + "Елиса", + "Елица", + "Елма", + "Елфида", + "Емануила", + "Емма", + "Еница", + "Ергана", + "Ермиля", + "Естела", + "Ефимена", + "Ефросиния", + "Жаклин", + "Жанин", + "Жара", + "Жейна", + "Желязка", + "Женимира", + "Жива", + "Живомира", + "Жичка", + "Жорка", + "Жулиана", + "Заека", + "Занка", + "Зафа", + "Захаринка", + "Звездемира", + "Здравелина", + "Здухостина", + "Зинаида", + "Златея", + "Златка", + "Златомира", + "Зоичка", + "Зорка", + "Зузичка", + "Ивалена", + "ивамина", + "Иванеса", + "Иваничка", + "Ивелиана", + "Ивинка", + "Иглика", + "Изидора", + "Илеана", + "Илианна", + "Илинда", + "Илка", + "Инан", + "Инеса", + "Ира", + "Ирин", + "Ирла", + "Исихия", + "Истилияна", + "Йоана", + "Йоанна", + "Йованка", + "Йоко", + "Йолина", + "Йона", + "Йоника", + "Йорданка", + "Йоханна", + "Кадифейка", + "Калея", + "Калина", + "Калиса", + "Калуда", + "Камея", + "Кануша", + "Карамелита", + "Карина", + "Касиди", + "Катастрофа", + "Катинка", + "Каунка", + "Кветослава", + "Керанка", + "Кети", + "Кино", + "Кирка", + "Китчица", + "Клара", + "Клеуна", + "Клоя", + "Кокимира", + "Комара", + "Константина", + "Корнелия", + "Костадинка", + "Кралина", + "Красидара", + "Красияна", + "Криси", + "кристабела", + "Кристиана", + "Кристия", + "Кръстанка", + "Ксандриния", + "Кунка", + "Кьнина", + "Лада", + "Лазура", + "Лалка", + "Лариса", + "Лаца", + "Лека", + "Ленче", + "Летисия", + "Либерта", + "Лидийка", + "Лика", + "Лилия", + "Лилянка", + "Линда", + "Лия", + "Лозанка", + "Лорена", + "Лоти", + "Луна", + "Лъчезарка", + "Любина", + "Люблина", + "Любослава", + "Люляна", + "Люсила", + "Лянка", + "Магдалена", + "Мадлен", + "Майя", + "Максимилияна", + "Малена", + "Малтина", + "Манолина", + "Мара-антоанета", + "Маргит", + "Марен", + "Мари-анри", + "Марийка", + "Маринета", + "Мариотка", + "Мария", + "Мария-елена", + "Мария-Хуана", + "Марлена", + "Маруся", + "Маса", + "Матка", + "Маша", + "Медиха", + "Мелания", + "Мелъди", + "Меропа", + "Миглена", + "Мила", + "Милара", + "милдия", + "Милиана", + "Милост", + "Мимоза", + "Минка", + "Миранза", + "Мирена", + "Миропа", + "Мисла", + "Митошка", + "Михайлена", + "Мишка", + "Младлена", + "Момера", + "Моника", + "Мортадела", + "Мушана", + "Наводненка", + "Надка", + "Найда", + "Нани", + "Настия", + "Наташа", + "Невена", + "Негрита", + "Неделяна", + "Нейка", + "Нелида", + "Нелла", + "Неолина", + "Нешка", + "Нигрита", + "Никоела", + "Николина", + "Нионила", + "Нона", + "Норка", + "Нурета", + "Огнена", + "Октавия", + "Оливера", + "Омана", + "Орлеана", + "Орхидея", + "Павилия", + "Павлина", + "Палвира", + "Паломина", + "Панда", + "Пантера", + "Парашкевица", + "Парунка", + "Патриотка", + "Паулина", + "Паца", + "Пейолина", + "Пелина", + "Пепелота", + "Периана", + "перуна", + "Петинка", + "Петрийка", + "Петромира", + "Петрушка", + "Пешка", + "Пламена", + "Плодовитка", + "Полексина", + "Полин", + "Правда", + "Преса", + "Прина", + "Пролетина", + "Простисвета", + "Пупи", + "Първолетка", + "Рада", + "Радиа", + "Радимира", + "Радка", + "Радосвета", + "Радостка", + "Раинка", + "Райничка", + "Рамина", + "Ревка", + "Ренгия", + "Риана", + "Римма", + "Рия", + "Роза", + "Розана", + "Розета", + "Розка", + "Роксана", + "Ромолета", + "Роселина", + "Росислава", + "Ростислава", + "Ружка", + "Румислава", + "Русалия", + "Руска", + "Сабина", + "Савета", + "Салина", + "Санка", + "Сарая", + "Сахория", + "Свежа", + "Светла", + "Светломира", + "Свидна", + "Свободка", + "Севда", + "севделина", + "Севета", + "Семенарка", + "Сергелинка", + "Сибила", + "Сиена", + "Силви", + "Силвия-александра", + "Силяна", + "Симона", + "Синтия", + "Сисоя", + "Скакалка", + "Славея", + "Славка", + "Сладоледка", + "Смехотерапия", + "Смирна", + "Снежинка", + "Софийка", + "Спасена", + "Спасияна", + "Спирела", + "Стависара", + "Стаматка", + "Станиела", + "Станимирка", + "Сташа", + "Стелина", + "Стефани", + "Стеяна", + "Стоимена", + "Столетка", + "Стоянка", + "Сузи", + "Съвестина", + "Сърменка", + "Таисия", + "тамара", + "Таня", + "Ташимира", + "Теа", + "Телефонка", + "Темира", + "Теодора", + "Теса", + "Тилиана", + "Тиха", + "Тоанета", + "Толиана", + "Тона", + "Тоницвета", + "Тоска", + "Тошка", + "Трендафила", + "Трифонка", + "Троша", + "Труфана", + "Тръпка", + "Туфка", + "Улиана", + "Урима", + "Фабияна", + "Фатиме", + "Феня", + "Фикия", + "Филипини", + "Фимка", + "Флавия", + "Флорика", + "Фотинка", + "Фронка", + "Фуга", + "Хана", + "Харитония", + "Хенриета", + "Хинка", + "Холи", + "Хранислава", + "Хрисанка", + "Христа", + "Христела", + "Христилияна", + "Христоелена", + "Христя", + "Хубавелка", + "Цанета", + "Царевна", + "Цветана", + "Цветелина", + "Цветилена", + "Цветлина", + "Цветолилия", + "Цветяна", + "Цеца", + "Цола", + "Цоня", + "Чана", + "Чардафона", + "Чачия", + "Череша", + "Четвърта", + "Чона", + "Чубрина", + "Шана", + "Шена", + "Шехерезада", + "Шинка", + "Щедра", + "Щериана", + "Щефания", + "Щилянка", + "Щтилка", + "Ъгленка", + "Ъчка", + "Юлиена", + "Юлия", + "Юнона", + "Юрита", + "Юстианна", + "Ябленка", + "Явора", + "Ягода", + "Ялислава", + "Яна-Мартина", + "Янина", + "Яниславия", + "Янка", + "Ярка", + "Ясена", + "Ятана", ) first_names_male = ( - 'Аблен', 'Август', 'Августиан', 'Августин', 'Авел', 'Авер', 'Аверно', 'Авксентий', 'Аво', 'Аврам', 'Аврели', - 'Аврелий', 'Аврор', 'Агапи', 'Агапий', 'Агатопод', 'Агент', 'Аглай', 'Агнен', 'Агнеш', 'Агоп', 'Агъци', - 'Адалберт', 'Адам', 'Адеан', 'Аделин', 'Адем', 'Адриан', 'Адриян', 'Аерозол', 'Азалия', 'Айдемир', 'Акашия', - 'Аксакусти', 'Аксидан', 'Аксинтия', 'Алберт', 'Албияна', 'Алдин', 'Алевандър', 'Алег', 'Алек', 'Алекзандриян', - 'Беримир', 'Берин', 'Берия', 'Беро', 'Берослав', 'Бетина', 'Бетино', 'Бечо', 'Билян', 'Бинко', 'Биньо', - 'Бисенти', 'Бисер', 'Благо', 'Благовест', 'Благой', 'Благомир', 'Благосвет', 'Блаже', 'Бог', 'Богиня', 'Богой', - 'Боголюб', 'Богомил', 'Богослав', 'Бодромир', 'Божан', 'Божидар', 'Божик', 'Божимир', 'Божин', 'Божинел', - 'Божко', 'Божо', 'Божур', 'Боил', 'Боила', 'Бойко', 'Бойчо', 'Болен', 'Болеслав', 'Боне', 'Бонислав', 'Бонко', - 'Боно', 'Веселин', 'Весислав', 'Весо', 'Веспасиян', 'Ветко', 'Вечко', 'Вигалот', 'Виго', 'Виделин', 'Виден', - 'Видин', 'Видослав', 'Видю', 'Викенти', 'Виктор', 'Вилиан', 'Вилизар', 'Вилизара', 'Вилислав', 'Вилиян', - 'Винету', 'Винко', 'Вино', 'Винсънт', 'Винченцо', 'Виолет', 'Виолин', 'Висарион', 'Виталий', 'Витко', 'Витлян', - 'Витомир', 'Витош', 'Вихрен', 'Вихрони', 'Вихър', 'Вичо', 'Виша', 'Вишетин', 'Вишню', 'Влад', 'Владилен', - 'Владимер', 'Владимир', 'Галентин', 'Галиен', 'Галимир', 'Галиян', 'Гани', 'Ганислав', 'Ганцомир', 'Ганчо', - 'Ганьо', 'Гаро', 'Гатьо', 'Гацо', 'Гвардиана', 'Гелемир', 'Генади', 'ГенадиВалериев', 'Генадий', 'Генислав', - 'Генко', 'Гено', 'Генчо', 'Гео', 'Геодим', 'Геомил', 'Георги', 'Герасим', 'Герган', 'Гергей', 'Гергелюб', - 'Гергин', 'Гердан', 'Герман', 'Геро', 'Герой', 'Герчо', 'Гетислав', 'Гетко', 'Гето', 'Гецо', 'Гечо', 'Гешо', - 'Гивеза', 'Гиздален', 'Гико', 'Гилдрой', 'Делчо', 'Делян', 'Деляна', 'Демир', 'Демян', 'Дениз', 'Деника', - 'Денимир', 'Денис', 'Денислав', 'Дениян', 'Денчо', 'Дердидас', 'десилиан', 'Десимир', 'Десислав', 'Деслав', - 'Деспин', 'Деспинка', 'Деспот', 'Детелин', 'Дечко', 'Дечо', 'Дечю', 'Дешо', 'Деян', 'Джанер', 'Джанко', - 'Джихад', 'Джон-стефан', 'Диаманди', 'Диамантина', 'Диан', 'Диван(надядоДианидядоИван)', 'Дивизие', 'Дивизия', - 'Дивил', 'Дидко', 'Диего', 'Дико', 'Дилян', 'Евстати', 'Евстатий', 'Евстахий', 'Евтим', 'Егор', 'Едвин', - 'Едит', 'Едрю', 'Едуард', 'Еким', 'Ектар', 'Ектор', 'Елвис', 'Елеан', 'Електрон', 'Елемаг', 'Еленко', 'Елиан', - 'Елиас', 'Елиезер', 'Елизабет', 'Елин', 'Елисей', 'Елисия', 'Елко', 'Ельо', 'Ема-Бела', 'Еманоил', 'Емануел', - 'Емануил', 'Емил', 'Емилиан', 'Емилиян', 'Ендо', 'Енчо', 'Еньо', 'Еню', 'Ервин', 'Ередин', 'Еремия', 'Ерик', - 'Ерина', 'Ерол', 'Ерсен', 'Есен', 'Етиен', 'Ефка', 'Заварин', 'Завен', 'Замфир', 'Занго', 'Занко', 'Запрян', - 'Зарко', 'Зафер', 'Зафир', 'Захар', 'Захари', 'Захарин', 'Захо', 'Звездан', 'Звездин', 'Звездислав', - 'Звездиян', 'Звездолет', 'Звездомир', 'Згура', 'Здравелин', 'Здравец', 'Здравко', 'Здравчо', 'Зенгин', 'Зика', - 'Зинко', 'Зинови', 'Златан', 'Злати', 'Златил', 'Златимир', 'Златиян', 'Златко', 'Златогор', 'Златозар', - 'Златомир', 'Златослав', 'Златоцвет', 'Златьо', 'Золтан', 'Илиомар', 'Илич', 'Илия', 'Илиян', 'Илко', 'Илчо', - 'Имилиан', 'Ингемунд', 'Инко', 'Инчо', 'Иполит', 'Ириан', 'Ириней', 'иринеус', 'Ириян', 'Ирко', 'Ирма', - 'Ирник', 'Исак', 'Исидор', 'Искрен', 'Искър', 'Исперих', 'Истан', 'Истатко', 'Истилян', 'Исус', 'Итко', - 'Ихтиандър', 'Ицо', 'Ичо', 'Йено', 'Йеремия', 'Йоан', 'Йоан-Александър', 'Йоан-иво', 'Йован', 'Йовица', - 'Йовко', 'Йово', 'Йовро', 'Йовцо', 'Йовчо', 'Йожи', 'Йоил', 'Йолиян', 'Йолко', 'Карен', 'Карим', 'Карин', - 'Карло', 'Кармен', 'Каролин', 'Карчо', 'Катакомб', 'Каталинка', 'Катерин', 'Кевин', 'Кеворк', 'Кери', 'Кибер', - 'Кимба', 'Кимбо', 'Кимон', 'Кимчо', 'Кин', 'Кинка', 'Кинта', 'Киприслав', 'Киприян', 'Кириен', 'Кирил', - 'Кирчо', 'Киряк', 'Киряки', 'Киряко', 'Кис', 'Кит', 'Кито', 'Китодар', 'Китомир', 'Клим', 'Климент', 'Кнут', - 'Козма', 'Койно', 'Койо', 'Койчо', 'Коко', 'Коле', 'Колчо', 'Кольо', 'Колю', 'Комнин', 'Лалко', 'Лало', - 'Лальо', 'Ламби', 'Ламбо', 'Ламбю', 'Ланселот', 'Ласкал', 'Ласкар', 'Ластър', 'Латин', 'Латко', 'Латьо', - 'Латю', 'ЛЕА-МАРИЯ', 'Леандър', 'Лев', 'Левент', 'Левчо', 'Леко', 'Ленин', 'Ленко', 'Леон', 'Леонид', 'Лесе', - 'Лефтер', 'Лечо', 'Лилко', 'Лило', 'Лилчо', 'Лилян', 'Лимон', 'Липе', 'Лихия', 'Личо', 'Ловчо', 'Лозан', - 'Лозана', 'Лозен', 'Лора-софия', 'Лоранс', 'Лука', 'Лукан', 'Луко', 'Лули', 'Лулчо', 'Лусио', 'Лусия', - 'Маноел', 'Манол', 'Маноло', 'Мантас', 'Мануил', 'Мануш', 'МанчестърЮнайтед', 'Манчо', 'Маньо', 'Маню', - 'Марангони', 'Маргарит', 'Марек', 'Мариан', 'Марий', 'Марин', 'Маринел', 'Маринчо', 'Марио', 'Мариоллита', - 'Маритна', 'Мариян', 'Марк', 'Марк-антоний', 'Марко', 'Маркус', 'Мартен', 'Мартин', 'Мартиниян', 'Маруш', - 'Марчело', 'Маслина', 'Матей', 'Матьо', 'Матю', 'Махно', 'Машо', 'Медиан', 'Мено', 'Мерилин', 'Месак', - 'Метакса', 'Найо', 'Найчо', 'Наке', 'Нако', 'Нанко', 'Нано', 'Нансимир', 'Нанчо', 'Наню', 'Нарцислав', 'Наско', - 'Настимир', 'Настрадин', 'Натанаил', 'Натко', 'Наум', 'Нафисат', 'Нафтали', 'Нацко', 'Нацо', 'Начиян', 'Начко', - 'Начо', 'Невен', 'Невенко', 'Невилиян', 'Невян', 'Негослав', 'Неделин', 'Неделчо', 'Недислав', 'Недко', - 'Недьо', 'Недю', 'Недялко', 'Нейко', 'Нейчо', 'Нелко', 'Нелчо', 'Нене', 'Ненко', 'Ненсислав', 'Ненчо', - 'Неокли', 'Нерес', 'Обретим', 'Ованес', 'Огин', 'Огнемир', 'Огнен', 'Океан', 'Олег', 'Олек', 'Олимпи', - 'Омар', 'Омуртаг', 'Оник', 'Онуфри', 'Ончо', 'Орлин', 'Ортодокси', 'Орфей', 'Орхидей', 'Орце', 'Оскар', - 'Оханес', 'Павел', 'Павелин', 'Павко', 'Павлик', 'Павлин', 'Павлинчо', 'Павломир', 'Паисий', 'Пако', 'Палми', - 'Палмиро', 'Панай', 'Панайот', 'Панде', 'Панделис', 'Пане', 'Панкртийян', 'Пано', 'Панталей', 'Пантелей', - 'Панто', 'Пантю', 'Панчо', 'Паолина', 'Параскев', 'Параход', 'Парашкев', 'Парашкеван', 'Паруш', 'Паско', - 'Паспанахил', 'Пато', 'Патрик', 'Патьо', 'Паулин', 'Паун', 'Пацо', 'Пачо', 'Пейко', 'Пейо', 'Пейодон', - 'Пейтан', 'Пейчин', 'Пейчо', 'Пеко', 'Пелай', 'Пеле', 'Пенко', 'Пенчин', 'Пенчо', 'Пеньо', 'Пеню', 'Пео', - 'Пепино', 'Пепислав', 'Пепо', 'Перикъл', 'Персиана', 'Персиян', 'Перчо', 'Петиконгрес', 'Петкан', 'Петко', - 'Пето', 'Петраки', 'Петрана', 'Петринел', 'Петрозар', 'Петромил', 'Рангел', 'Рангел-любими', 'Рандю', 'Ранчо', - 'Расате', 'Рафаил', 'Рачко', 'Рачо', 'Рашко', 'Рашо', 'Раю', 'Раян', 'Реан', 'Рем', 'Риналдо', 'Рис', 'Ристя', - 'Ричард', 'Ричерд', 'Роберт', 'Роберто', 'Робин', 'Робърт', 'Рогелина', 'Рогена', 'Родан', 'Родион', 'Розалин', - 'Розин', 'Розоцвет', 'Ройо', 'Роксан', 'Ромел', 'Ромелина', 'Ромен', 'Ромео', 'Ромил', 'Ромул', 'Росен', - 'Росенка', 'Росимир', 'Роска', 'Роско', 'Ростиана', 'Ростимир', 'Ростислав', 'Светломир', 'Светлю', 'Светозар', - 'Светослав', 'Себастиан', 'Себахтин', 'Севан', 'Севар', 'Севастин', 'Севдалин', 'Севдан', 'Севелин', 'Северин', - 'Седеф', 'Седефчо', 'Селен', 'Селена', 'Сенко', 'Серафим', 'Сергей', 'Сеслав', 'Сиви', 'Сидер', 'Сидония', - 'Сидор', 'Сиен', 'Силаги', 'Силан', 'Силвестър', 'Силвио', 'Силвиян', 'Силян', 'Симеон', 'Симо', 'Сирман', - 'Сифоня', 'Скорбут', 'Слав', 'Славдо', 'Славе', 'Славейко', 'Славен', 'Слави', 'Славил', 'Теодоси', 'Теодосий', - 'Теодослав', 'Теодостин', 'Теофан', 'Теохар', 'Тервел', 'Тигрони', 'Тило', 'Тильо', 'Тимо', 'Тимон', 'Тимотей', - 'Тимчо', 'Тино', 'Тинчо', 'Тихо', 'Тихол', 'Тихомир', 'Тихон', 'Тишо', 'Тоде', 'Тодомирка', 'Тодораки', - 'Тодорин', 'Тодорина', 'Токимир', 'Толек', 'Толю', 'Тома', 'Томас', 'Томен', 'Томинка', 'Томислав', 'Томо', - 'Тоне', 'Тони', 'Тонимир', 'Тонислав', 'Тонко', 'Тончо', 'Топалко', 'Тополко', 'Тотко', 'Тотьо', 'Тотю', - 'Тоцо', 'Филатей', 'Фили', 'Филидан', 'Филион', 'Филип', 'Филипас', 'Филипопол', 'Филко', 'Филомир', 'Филчо', - 'Фильо', 'Финдо', 'Фиро', 'Фирчо', 'Фичо', 'Флори', 'Флориан', 'Флорин', 'Флоро', 'Фори', 'Фосил', 'Франк', - 'Франц', 'Францислав', 'Фрацил', 'Фреди', 'Фродо', 'Фуго', 'Фуко', 'Фъстък', 'Фьодор', 'Хавтелин', 'Ханко', - 'Хараламби', 'Харалампи', 'Харалан', 'Харбингър', 'Хари', 'Харизан', 'Харитон', 'Хасан', 'Хасатин', 'Хачо', - 'Хвойне', 'Хебър', 'Хектор', 'Хераклит', 'Хернани', 'Хефестион', 'Химинай', 'Хинко', 'Хино', 'Хитко', 'Хороз', - 'Храбрин', 'Храбър', 'Хранимир', 'Хрелко', 'Хрельо', 'Хрисим', 'Хрисимир', 'Хрисо', 'Христалин', 'Христивилин', - 'Христиела', 'Христилиан', 'християн', 'Христо', 'Христо-никола', 'Христодор', 'Христозар', 'Христозорнициан', - 'Христозорницомил', 'Христомил', 'Христомир', 'Христослав', 'Христофор', 'Хрисчо', 'Хрондел', 'Хрусан', - 'Хубав', 'Хубавен', 'Хубан', 'Хубен', 'Цоню', 'Цоцо', 'Цочо', 'Цъки', 'Чавдар', 'Чанкете', 'Чанко', 'Чано', - 'Чаньо', 'Чардафон', 'Чародей', 'Чауш', 'Чачо', 'Чвор', 'Чедомир', 'Ченко', 'Ченю', 'Чепо', 'Черноризец', - 'Черньо', 'Чийо', 'Чико', 'Чило', 'Чонар', 'Чони', 'Чоно', 'Чоню', 'Чочо', 'Чочомир', 'Чубрик', 'Чуде', 'Чудо', - 'Чудомир', 'Чудослав', 'Чук', 'Шабан', 'Шанко', 'Шаноу', 'Шаро', 'Шейна', 'Шеки', 'Шенко', 'Шенол', 'Шибил', - 'Шидер', 'Шинко', 'Шино', 'Шипчан', 'Ширко', 'Шишман', 'Шкодри', 'Шмильо', 'Шмулю', 'Шпилко', 'Шушо', 'Щедрин', - 'Щедю', 'Щеки', 'Щено', 'Щеню', 'Щерион', 'Щериян', 'Щерко', 'Щерьо', 'Щерю', 'Щилиян', 'Щилян', 'Щирян', - 'Щоно', 'Щтърбан', 'Щтъркан', 'Щурк', 'Щърбан', 'Щъркан', 'Ъглен', 'Ълен', 'Ърнест', 'Ъруин', 'Ърчо', - 'Ьобирдар', 'Юги', 'Юлиан', 'Юлий', 'Юлиян', 'Юрдан', 'Юри', 'Юрий', 'Юстин', 'Юстиниан', 'Яблен', 'Явор', - 'Яго', 'Ягодин', 'Язо', 'Яким', 'Яко', 'Якоб', 'Яков', 'Якослав', 'Ян', 'Янадин', 'Янаки', 'Янакин', 'Яначко', - 'Яне', 'Янег', 'Янедин', 'Янек', 'Яни', 'Яниел', 'Яник', 'Янимир', 'Янис', 'Янислав', 'Яничко', 'Янко', - 'Янкул', 'Яно', 'Яномил', 'Янтар', 'Януш', 'Янцислав', 'Янче', 'Янчо', 'Ярно', 'Яромир', 'Ярце', 'Ярчо', - 'Яръм', 'Ярю', 'Ясен', 'Ясер', 'Ястреб', 'Ятан', 'Яцо', 'Ячо', 'Яшар', 'Яшка', 'Яшо', 'Яшон', + "Аблен", + "Август", + "Августиан", + "Августин", + "Авел", + "Авер", + "Аверно", + "Авксентий", + "Аво", + "Аврам", + "Аврели", + "Аврелий", + "Аврор", + "Агапи", + "Агапий", + "Агатопод", + "Агент", + "Аглай", + "Агнен", + "Агнеш", + "Агоп", + "Агъци", + "Адалберт", + "Адам", + "Адеан", + "Аделин", + "Адем", + "Адриан", + "Адриян", + "Аерозол", + "Азалия", + "Айдемир", + "Акашия", + "Аксакусти", + "Аксидан", + "Аксинтия", + "Алберт", + "Албияна", + "Алдин", + "Алевандър", + "Алег", + "Алек", + "Алекзандриян", + "Беримир", + "Берин", + "Берия", + "Беро", + "Берослав", + "Бетина", + "Бетино", + "Бечо", + "Билян", + "Бинко", + "Биньо", + "Бисенти", + "Бисер", + "Благо", + "Благовест", + "Благой", + "Благомир", + "Благосвет", + "Блаже", + "Бог", + "Богиня", + "Богой", + "Боголюб", + "Богомил", + "Богослав", + "Бодромир", + "Божан", + "Божидар", + "Божик", + "Божимир", + "Божин", + "Божинел", + "Божко", + "Божо", + "Божур", + "Боил", + "Боила", + "Бойко", + "Бойчо", + "Болен", + "Болеслав", + "Боне", + "Бонислав", + "Бонко", + "Боно", + "Веселин", + "Весислав", + "Весо", + "Веспасиян", + "Ветко", + "Вечко", + "Вигалот", + "Виго", + "Виделин", + "Виден", + "Видин", + "Видослав", + "Видю", + "Викенти", + "Виктор", + "Вилиан", + "Вилизар", + "Вилизара", + "Вилислав", + "Вилиян", + "Винету", + "Винко", + "Вино", + "Винсънт", + "Винченцо", + "Виолет", + "Виолин", + "Висарион", + "Виталий", + "Витко", + "Витлян", + "Витомир", + "Витош", + "Вихрен", + "Вихрони", + "Вихър", + "Вичо", + "Виша", + "Вишетин", + "Вишню", + "Влад", + "Владилен", + "Владимер", + "Владимир", + "Галентин", + "Галиен", + "Галимир", + "Галиян", + "Гани", + "Ганислав", + "Ганцомир", + "Ганчо", + "Ганьо", + "Гаро", + "Гатьо", + "Гацо", + "Гвардиана", + "Гелемир", + "Генади", + "ГенадиВалериев", + "Генадий", + "Генислав", + "Генко", + "Гено", + "Генчо", + "Гео", + "Геодим", + "Геомил", + "Георги", + "Герасим", + "Герган", + "Гергей", + "Гергелюб", + "Гергин", + "Гердан", + "Герман", + "Геро", + "Герой", + "Герчо", + "Гетислав", + "Гетко", + "Гето", + "Гецо", + "Гечо", + "Гешо", + "Гивеза", + "Гиздален", + "Гико", + "Гилдрой", + "Делчо", + "Делян", + "Деляна", + "Демир", + "Демян", + "Дениз", + "Деника", + "Денимир", + "Денис", + "Денислав", + "Дениян", + "Денчо", + "Дердидас", + "десилиан", + "Десимир", + "Десислав", + "Деслав", + "Деспин", + "Деспинка", + "Деспот", + "Детелин", + "Дечко", + "Дечо", + "Дечю", + "Дешо", + "Деян", + "Джанер", + "Джанко", + "Джихад", + "Джон-стефан", + "Диаманди", + "Диамантина", + "Диан", + "Диван(надядоДианидядоИван)", + "Дивизие", + "Дивизия", + "Дивил", + "Дидко", + "Диего", + "Дико", + "Дилян", + "Евстати", + "Евстатий", + "Евстахий", + "Евтим", + "Егор", + "Едвин", + "Едит", + "Едрю", + "Едуард", + "Еким", + "Ектар", + "Ектор", + "Елвис", + "Елеан", + "Електрон", + "Елемаг", + "Еленко", + "Елиан", + "Елиас", + "Елиезер", + "Елизабет", + "Елин", + "Елисей", + "Елисия", + "Елко", + "Ельо", + "Ема-Бела", + "Еманоил", + "Емануел", + "Емануил", + "Емил", + "Емилиан", + "Емилиян", + "Ендо", + "Енчо", + "Еньо", + "Еню", + "Ервин", + "Ередин", + "Еремия", + "Ерик", + "Ерина", + "Ерол", + "Ерсен", + "Есен", + "Етиен", + "Ефка", + "Заварин", + "Завен", + "Замфир", + "Занго", + "Занко", + "Запрян", + "Зарко", + "Зафер", + "Зафир", + "Захар", + "Захари", + "Захарин", + "Захо", + "Звездан", + "Звездин", + "Звездислав", + "Звездиян", + "Звездолет", + "Звездомир", + "Згура", + "Здравелин", + "Здравец", + "Здравко", + "Здравчо", + "Зенгин", + "Зика", + "Зинко", + "Зинови", + "Златан", + "Злати", + "Златил", + "Златимир", + "Златиян", + "Златко", + "Златогор", + "Златозар", + "Златомир", + "Златослав", + "Златоцвет", + "Златьо", + "Золтан", + "Илиомар", + "Илич", + "Илия", + "Илиян", + "Илко", + "Илчо", + "Имилиан", + "Ингемунд", + "Инко", + "Инчо", + "Иполит", + "Ириан", + "Ириней", + "иринеус", + "Ириян", + "Ирко", + "Ирма", + "Ирник", + "Исак", + "Исидор", + "Искрен", + "Искър", + "Исперих", + "Истан", + "Истатко", + "Истилян", + "Исус", + "Итко", + "Ихтиандър", + "Ицо", + "Ичо", + "Йено", + "Йеремия", + "Йоан", + "Йоан-Александър", + "Йоан-иво", + "Йован", + "Йовица", + "Йовко", + "Йово", + "Йовро", + "Йовцо", + "Йовчо", + "Йожи", + "Йоил", + "Йолиян", + "Йолко", + "Карен", + "Карим", + "Карин", + "Карло", + "Кармен", + "Каролин", + "Карчо", + "Катакомб", + "Каталинка", + "Катерин", + "Кевин", + "Кеворк", + "Кери", + "Кибер", + "Кимба", + "Кимбо", + "Кимон", + "Кимчо", + "Кин", + "Кинка", + "Кинта", + "Киприслав", + "Киприян", + "Кириен", + "Кирил", + "Кирчо", + "Киряк", + "Киряки", + "Киряко", + "Кис", + "Кит", + "Кито", + "Китодар", + "Китомир", + "Клим", + "Климент", + "Кнут", + "Козма", + "Койно", + "Койо", + "Койчо", + "Коко", + "Коле", + "Колчо", + "Кольо", + "Колю", + "Комнин", + "Лалко", + "Лало", + "Лальо", + "Ламби", + "Ламбо", + "Ламбю", + "Ланселот", + "Ласкал", + "Ласкар", + "Ластър", + "Латин", + "Латко", + "Латьо", + "Латю", + "ЛЕА-МАРИЯ", + "Леандър", + "Лев", + "Левент", + "Левчо", + "Леко", + "Ленин", + "Ленко", + "Леон", + "Леонид", + "Лесе", + "Лефтер", + "Лечо", + "Лилко", + "Лило", + "Лилчо", + "Лилян", + "Лимон", + "Липе", + "Лихия", + "Личо", + "Ловчо", + "Лозан", + "Лозана", + "Лозен", + "Лора-софия", + "Лоранс", + "Лука", + "Лукан", + "Луко", + "Лули", + "Лулчо", + "Лусио", + "Лусия", + "Маноел", + "Манол", + "Маноло", + "Мантас", + "Мануил", + "Мануш", + "МанчестърЮнайтед", + "Манчо", + "Маньо", + "Маню", + "Марангони", + "Маргарит", + "Марек", + "Мариан", + "Марий", + "Марин", + "Маринел", + "Маринчо", + "Марио", + "Мариоллита", + "Маритна", + "Мариян", + "Марк", + "Марк-антоний", + "Марко", + "Маркус", + "Мартен", + "Мартин", + "Мартиниян", + "Маруш", + "Марчело", + "Маслина", + "Матей", + "Матьо", + "Матю", + "Махно", + "Машо", + "Медиан", + "Мено", + "Мерилин", + "Месак", + "Метакса", + "Найо", + "Найчо", + "Наке", + "Нако", + "Нанко", + "Нано", + "Нансимир", + "Нанчо", + "Наню", + "Нарцислав", + "Наско", + "Настимир", + "Настрадин", + "Натанаил", + "Натко", + "Наум", + "Нафисат", + "Нафтали", + "Нацко", + "Нацо", + "Начиян", + "Начко", + "Начо", + "Невен", + "Невенко", + "Невилиян", + "Невян", + "Негослав", + "Неделин", + "Неделчо", + "Недислав", + "Недко", + "Недьо", + "Недю", + "Недялко", + "Нейко", + "Нейчо", + "Нелко", + "Нелчо", + "Нене", + "Ненко", + "Ненсислав", + "Ненчо", + "Неокли", + "Нерес", + "Обретим", + "Ованес", + "Огин", + "Огнемир", + "Огнен", + "Океан", + "Олег", + "Олек", + "Олимпи", + "Омар", + "Омуртаг", + "Оник", + "Онуфри", + "Ончо", + "Орлин", + "Ортодокси", + "Орфей", + "Орхидей", + "Орце", + "Оскар", + "Оханес", + "Павел", + "Павелин", + "Павко", + "Павлик", + "Павлин", + "Павлинчо", + "Павломир", + "Паисий", + "Пако", + "Палми", + "Палмиро", + "Панай", + "Панайот", + "Панде", + "Панделис", + "Пане", + "Панкртийян", + "Пано", + "Панталей", + "Пантелей", + "Панто", + "Пантю", + "Панчо", + "Паолина", + "Параскев", + "Параход", + "Парашкев", + "Парашкеван", + "Паруш", + "Паско", + "Паспанахил", + "Пато", + "Патрик", + "Патьо", + "Паулин", + "Паун", + "Пацо", + "Пачо", + "Пейко", + "Пейо", + "Пейодон", + "Пейтан", + "Пейчин", + "Пейчо", + "Пеко", + "Пелай", + "Пеле", + "Пенко", + "Пенчин", + "Пенчо", + "Пеньо", + "Пеню", + "Пео", + "Пепино", + "Пепислав", + "Пепо", + "Перикъл", + "Персиана", + "Персиян", + "Перчо", + "Петиконгрес", + "Петкан", + "Петко", + "Пето", + "Петраки", + "Петрана", + "Петринел", + "Петрозар", + "Петромил", + "Рангел", + "Рангел-любими", + "Рандю", + "Ранчо", + "Расате", + "Рафаил", + "Рачко", + "Рачо", + "Рашко", + "Рашо", + "Раю", + "Раян", + "Реан", + "Рем", + "Риналдо", + "Рис", + "Ристя", + "Ричард", + "Ричерд", + "Роберт", + "Роберто", + "Робин", + "Робърт", + "Рогелина", + "Рогена", + "Родан", + "Родион", + "Розалин", + "Розин", + "Розоцвет", + "Ройо", + "Роксан", + "Ромел", + "Ромелина", + "Ромен", + "Ромео", + "Ромил", + "Ромул", + "Росен", + "Росенка", + "Росимир", + "Роска", + "Роско", + "Ростиана", + "Ростимир", + "Ростислав", + "Светломир", + "Светлю", + "Светозар", + "Светослав", + "Себастиан", + "Себахтин", + "Севан", + "Севар", + "Севастин", + "Севдалин", + "Севдан", + "Севелин", + "Северин", + "Седеф", + "Седефчо", + "Селен", + "Селена", + "Сенко", + "Серафим", + "Сергей", + "Сеслав", + "Сиви", + "Сидер", + "Сидония", + "Сидор", + "Сиен", + "Силаги", + "Силан", + "Силвестър", + "Силвио", + "Силвиян", + "Силян", + "Симеон", + "Симо", + "Сирман", + "Сифоня", + "Скорбут", + "Слав", + "Славдо", + "Славе", + "Славейко", + "Славен", + "Слави", + "Славил", + "Теодоси", + "Теодосий", + "Теодослав", + "Теодостин", + "Теофан", + "Теохар", + "Тервел", + "Тигрони", + "Тило", + "Тильо", + "Тимо", + "Тимон", + "Тимотей", + "Тимчо", + "Тино", + "Тинчо", + "Тихо", + "Тихол", + "Тихомир", + "Тихон", + "Тишо", + "Тоде", + "Тодомирка", + "Тодораки", + "Тодорин", + "Тодорина", + "Токимир", + "Толек", + "Толю", + "Тома", + "Томас", + "Томен", + "Томинка", + "Томислав", + "Томо", + "Тоне", + "Тони", + "Тонимир", + "Тонислав", + "Тонко", + "Тончо", + "Топалко", + "Тополко", + "Тотко", + "Тотьо", + "Тотю", + "Тоцо", + "Филатей", + "Фили", + "Филидан", + "Филион", + "Филип", + "Филипас", + "Филипопол", + "Филко", + "Филомир", + "Филчо", + "Фильо", + "Финдо", + "Фиро", + "Фирчо", + "Фичо", + "Флори", + "Флориан", + "Флорин", + "Флоро", + "Фори", + "Фосил", + "Франк", + "Франц", + "Францислав", + "Фрацил", + "Фреди", + "Фродо", + "Фуго", + "Фуко", + "Фъстък", + "Фьодор", + "Хавтелин", + "Ханко", + "Хараламби", + "Харалампи", + "Харалан", + "Харбингър", + "Хари", + "Харизан", + "Харитон", + "Хасан", + "Хасатин", + "Хачо", + "Хвойне", + "Хебър", + "Хектор", + "Хераклит", + "Хернани", + "Хефестион", + "Химинай", + "Хинко", + "Хино", + "Хитко", + "Хороз", + "Храбрин", + "Храбър", + "Хранимир", + "Хрелко", + "Хрельо", + "Хрисим", + "Хрисимир", + "Хрисо", + "Христалин", + "Христивилин", + "Христиела", + "Христилиан", + "християн", + "Христо", + "Христо-никола", + "Христодор", + "Христозар", + "Христозорнициан", + "Христозорницомил", + "Христомил", + "Христомир", + "Христослав", + "Христофор", + "Хрисчо", + "Хрондел", + "Хрусан", + "Хубав", + "Хубавен", + "Хубан", + "Хубен", + "Цоню", + "Цоцо", + "Цочо", + "Цъки", + "Чавдар", + "Чанкете", + "Чанко", + "Чано", + "Чаньо", + "Чардафон", + "Чародей", + "Чауш", + "Чачо", + "Чвор", + "Чедомир", + "Ченко", + "Ченю", + "Чепо", + "Черноризец", + "Черньо", + "Чийо", + "Чико", + "Чило", + "Чонар", + "Чони", + "Чоно", + "Чоню", + "Чочо", + "Чочомир", + "Чубрик", + "Чуде", + "Чудо", + "Чудомир", + "Чудослав", + "Чук", + "Шабан", + "Шанко", + "Шаноу", + "Шаро", + "Шейна", + "Шеки", + "Шенко", + "Шенол", + "Шибил", + "Шидер", + "Шинко", + "Шино", + "Шипчан", + "Ширко", + "Шишман", + "Шкодри", + "Шмильо", + "Шмулю", + "Шпилко", + "Шушо", + "Щедрин", + "Щедю", + "Щеки", + "Щено", + "Щеню", + "Щерион", + "Щериян", + "Щерко", + "Щерьо", + "Щерю", + "Щилиян", + "Щилян", + "Щирян", + "Щоно", + "Щтърбан", + "Щтъркан", + "Щурк", + "Щърбан", + "Щъркан", + "Ъглен", + "Ълен", + "Ърнест", + "Ъруин", + "Ърчо", + "Ьобирдар", + "Юги", + "Юлиан", + "Юлий", + "Юлиян", + "Юрдан", + "Юри", + "Юрий", + "Юстин", + "Юстиниан", + "Яблен", + "Явор", + "Яго", + "Ягодин", + "Язо", + "Яким", + "Яко", + "Якоб", + "Яков", + "Якослав", + "Ян", + "Янадин", + "Янаки", + "Янакин", + "Яначко", + "Яне", + "Янег", + "Янедин", + "Янек", + "Яни", + "Яниел", + "Яник", + "Янимир", + "Янис", + "Янислав", + "Яничко", + "Янко", + "Янкул", + "Яно", + "Яномил", + "Янтар", + "Януш", + "Янцислав", + "Янче", + "Янчо", + "Ярно", + "Яромир", + "Ярце", + "Ярчо", + "Яръм", + "Ярю", + "Ясен", + "Ясер", + "Ястреб", + "Ятан", + "Яцо", + "Ячо", + "Яшар", + "Яшка", + "Яшо", + "Яшон", ) last_names_male = ( - 'Симеонов', - 'Данданов', - 'Кърков', - 'Братухчев', - 'Цветков', - 'Иванов', - 'Яназов', - 'Тодоров', - 'Колчев', - 'Келешев', - 'Бърборков', - 'Дришльов', - 'Макаронски', - 'Количков', - 'Принов', - 'Бодуров', - 'Китов', - 'Гьоков', - 'Симеонов', - 'Балахуров', - 'Милачков', - 'ЕвроповКирилов', - 'Площаков', - 'Мангъров', - 'Хвърчилков', - 'Дзезов', - 'Ждраков', - 'Тухчиев', - 'Топков', - 'Яков', - 'Иликьов', - 'Бурханларски', - 'Вражалски', - 'Тутурилов', - 'Бранков', - 'Зенгинов', - 'Фенеров', - 'Кучев', - 'Възвъзов', - 'Кьоров', - 'Джогов', - 'Пъков', - 'Рангелов', - 'Чутурков', - 'Самсонов', - 'Андонов', - 'Бумов', - 'Мочев', - 'Дачев', - 'Муев', - 'Младенов', - 'Тошев', - 'Бедринов', - 'Тумангелов', - 'Канчин', - 'Миленков', - 'Патков', - 'Пондьов', - 'Самоходов', - 'Четрафилски', - 'Смърдански', - 'Клатуров', - 'Вакрилов', - 'Прошков', - 'Пулев', - 'Парашкевов', - 'Манавски', - 'Чуков', - 'Овнарски', - 'Рошльов', - 'Пройкова', - 'Младенова', - 'Кесьов', - 'Римпопов', - 'Златков', - 'Колев', - 'Пикянски', - 'Николов', - 'Цицков', - 'Стойков', - 'Каракашев', - 'Докова', - 'Мераков', - 'Пеева', - 'Педалов', - 'Тъпчилещов', - 'Въртунински', - 'Кодуков', - 'Татьозов', - 'Токов', - 'Юрганчев', - 'Клатикрушев', - 'Монтянов', - 'Бобев', - 'Топчийски', - 'Луланков', - 'Костов', - 'Колипатков', - 'Чукчуков', - 'Катъров', - 'Кобиларов', - 'Лимонадов', - 'Цоцов', - 'Поаков', - 'Недялков', - 'Станишев', - 'Йорданов', - 'Щърбов', - 'Занов', + "Симеонов", + "Данданов", + "Кърков", + "Братухчев", + "Цветков", + "Иванов", + "Яназов", + "Тодоров", + "Колчев", + "Келешев", + "Бърборков", + "Дришльов", + "Макаронски", + "Количков", + "Принов", + "Бодуров", + "Китов", + "Гьоков", + "Симеонов", + "Балахуров", + "Милачков", + "ЕвроповКирилов", + "Площаков", + "Мангъров", + "Хвърчилков", + "Дзезов", + "Ждраков", + "Тухчиев", + "Топков", + "Яков", + "Иликьов", + "Бурханларски", + "Вражалски", + "Тутурилов", + "Бранков", + "Зенгинов", + "Фенеров", + "Кучев", + "Възвъзов", + "Кьоров", + "Джогов", + "Пъков", + "Рангелов", + "Чутурков", + "Самсонов", + "Андонов", + "Бумов", + "Мочев", + "Дачев", + "Муев", + "Младенов", + "Тошев", + "Бедринов", + "Тумангелов", + "Канчин", + "Миленков", + "Патков", + "Пондьов", + "Самоходов", + "Четрафилски", + "Смърдански", + "Клатуров", + "Вакрилов", + "Прошков", + "Пулев", + "Парашкевов", + "Манавски", + "Чуков", + "Овнарски", + "Рошльов", + "Пройкова", + "Младенова", + "Кесьов", + "Римпопов", + "Златков", + "Колев", + "Пикянски", + "Николов", + "Цицков", + "Стойков", + "Каракашев", + "Докова", + "Мераков", + "Пеева", + "Педалов", + "Тъпчилещов", + "Въртунински", + "Кодуков", + "Татьозов", + "Токов", + "Юрганчев", + "Клатикрушев", + "Монтянов", + "Бобев", + "Топчийски", + "Луланков", + "Костов", + "Колипатков", + "Чукчуков", + "Катъров", + "Кобиларов", + "Лимонадов", + "Цоцов", + "Поаков", + "Недялков", + "Станишев", + "Йорданов", + "Щърбов", + "Занов", ) last_names_female = ( - 'Кокошкова', - 'Градинарова', - 'Куртакова', - 'Чанлиева', - 'Тодорова', - 'Пътечкова', - 'Скринска', - 'Сапунджиева', - 'Вампирска', - 'Васовa', - 'Таралингова', - 'Илиева', - 'Кривошапкова', - 'Чупетловска', - 'Катърова', - 'Бележкова', - 'Мустакова', - 'Пръндачка', - 'Йоткова', - 'Сланинкова', - 'Мангъфова', - 'Шкембова', - 'Пенджакова', - 'Пачаръзка', - 'Куртажова', - 'Плюнкова', - 'Многознаева', - 'Белоконска-Вражалска', - 'Кучкуделова', - 'Крушовска', - 'Пищовколева', - 'Сопаджиева', - 'Точева-Клопова', - 'Габровлиева', - 'Първанова', - 'Певецова', - 'Яркова', - 'Плюцова', - 'Балканска', + "Кокошкова", + "Градинарова", + "Куртакова", + "Чанлиева", + "Тодорова", + "Пътечкова", + "Скринска", + "Сапунджиева", + "Вампирска", + "Васовa", + "Таралингова", + "Илиева", + "Кривошапкова", + "Чупетловска", + "Катърова", + "Бележкова", + "Мустакова", + "Пръндачка", + "Йоткова", + "Сланинкова", + "Мангъфова", + "Шкембова", + "Пенджакова", + "Пачаръзка", + "Куртажова", + "Плюнкова", + "Многознаева", + "Белоконска-Вражалска", + "Кучкуделова", + "Крушовска", + "Пищовколева", + "Сопаджиева", + "Точева-Клопова", + "Габровлиева", + "Първанова", + "Певецова", + "Яркова", + "Плюцова", + "Балканска", ) - prefixes_female = ('Г-жа', 'Г-ца', 'Др.') - prefixes_male = ('Г-н', 'Др.') + prefixes_female = ("Г-жа", "Г-ца", "Др.") + prefixes_male = ("Г-н", "Др.") formats_female = ( - '{{first_name_female}} {{last_name_female}}', - '{{prefix_female}} {{first_name_female}} {{last_name_female}}', + "{{first_name_female}} {{last_name_female}}", + "{{prefix_female}} {{first_name_female}} {{last_name_female}}", ) formats_male = ( - '{{first_name_male}} {{last_name_male}}', - '{{prefix_female}} {{first_name_male}} {{last_name_male}}', + "{{first_name_male}} {{last_name_male}}", + "{{prefix_female}} {{first_name_male}} {{last_name_male}}", ) formats = formats_male + formats_female diff --git a/faker/providers/person/cs_CZ/__init__.py b/faker/providers/person/cs_CZ/__init__.py index 3a11ccab2c..c9cbde73cf 100644 --- a/faker/providers/person/cs_CZ/__init__.py +++ b/faker/providers/person/cs_CZ/__init__.py @@ -4,337 +4,351 @@ class Provider(PersonProvider): - formats_female = OrderedDict(( - ('{{first_name_female}} {{last_name_female}}', 0.97), - ('{{prefix_female}} {{first_name_female}} {{last_name_female}}', 0.015), - ('{{first_name_female}} {{last_name_female}} {{suffix}}', 0.02), - ('{{prefix_female}} {{first_name_female}} {{last_name_female}} {{suffix}}', 0.005), - )) + formats_female = OrderedDict( + ( + ("{{first_name_female}} {{last_name_female}}", 0.97), + ("{{prefix_female}} {{first_name_female}} {{last_name_female}}", 0.015), + ("{{first_name_female}} {{last_name_female}} {{suffix}}", 0.02), + ( + "{{prefix_female}} {{first_name_female}} {{last_name_female}} {{suffix}}", + 0.005, + ), + ) + ) - formats_male = OrderedDict(( - ('{{first_name_male}} {{last_name_male}}', 0.97), - ('{{prefix_male}} {{first_name_male}} {{last_name_male}}', 0.015), - ('{{first_name_male}} {{last_name_male}} {{suffix}}', 0.02), - ('{{prefix_male}} {{first_name_male}} {{last_name_male}} {{suffix}}', 0.005), - )) + formats_male = OrderedDict( + ( + ("{{first_name_male}} {{last_name_male}}", 0.97), + ("{{prefix_male}} {{first_name_male}} {{last_name_male}}", 0.015), + ("{{first_name_male}} {{last_name_male}} {{suffix}}", 0.02), + ( + "{{prefix_male}} {{first_name_male}} {{last_name_male}} {{suffix}}", + 0.005, + ), + ) + ) formats = formats_male.copy() formats.update(formats_female) first_names_male = ( - 'Adam', - 'Alexander', - 'Alexandr', - 'Aleš', - 'Alois', - 'Antonín', - 'Arnošt', - 'Bedřich', - 'Bohumil', - 'Bohumír', - 'Bohuslav', - 'Břetislav', - 'Dalibor', - 'Daniel', - 'David', - 'Denis', - 'Dominik', - 'Dušan', - 'Eduard', - 'Emil', - 'Erik', - 'Filip', - 'František', - 'Hynek', - 'Igor', - 'Ivan', - 'Ivo', - 'Jakub', - 'Jan', - 'Jaromír', - 'Jaroslav', - 'Jindřich', - 'Jiří', - 'Josef', - 'Jozef', - 'Ján', - 'Kamil', - 'Karel', - 'Kryštof', - 'Ladislav', - 'Leoš', - 'Libor', - 'Lubomír', - 'Luboš', - 'Ludvík', - 'Luděk', - 'Lukáš', - 'Marcel', - 'Marek', - 'Marian', - 'Martin', - 'Matyáš', - 'Matěj', - 'Michael', - 'Michal', - 'Milan', - 'Miloslav', - 'Miloš', - 'Miroslav', - 'Oldřich', - 'Ondřej', - 'Otakar', - 'Patrik', - 'Pavel', - 'Peter', - 'Petr', - 'Přemysl', - 'Radek', - 'Radim', - 'Radomír', - 'Radovan', - 'René', - 'Richard', - 'Robert', - 'Robin', - 'Roman', - 'Rostislav', - 'Rudolf', - 'Samuel', - 'Stanislav', - 'Tadeáš', - 'Tomáš', - 'Vasyl', - 'Viktor', - 'Vilém', - 'Vladimír', - 'Vladislav', - 'Vlastimil', - 'Vojtěch', - 'Vratislav', - 'Václav', - 'Vít', - 'Vítězslav', - 'Zbyněk', - 'Zdeněk', - 'Šimon', - 'Štefan', - 'Štěpán') + "Adam", + "Alexander", + "Alexandr", + "Aleš", + "Alois", + "Antonín", + "Arnošt", + "Bedřich", + "Bohumil", + "Bohumír", + "Bohuslav", + "Břetislav", + "Dalibor", + "Daniel", + "David", + "Denis", + "Dominik", + "Dušan", + "Eduard", + "Emil", + "Erik", + "Filip", + "František", + "Hynek", + "Igor", + "Ivan", + "Ivo", + "Jakub", + "Jan", + "Jaromír", + "Jaroslav", + "Jindřich", + "Jiří", + "Josef", + "Jozef", + "Ján", + "Kamil", + "Karel", + "Kryštof", + "Ladislav", + "Leoš", + "Libor", + "Lubomír", + "Luboš", + "Ludvík", + "Luděk", + "Lukáš", + "Marcel", + "Marek", + "Marian", + "Martin", + "Matyáš", + "Matěj", + "Michael", + "Michal", + "Milan", + "Miloslav", + "Miloš", + "Miroslav", + "Oldřich", + "Ondřej", + "Otakar", + "Patrik", + "Pavel", + "Peter", + "Petr", + "Přemysl", + "Radek", + "Radim", + "Radomír", + "Radovan", + "René", + "Richard", + "Robert", + "Robin", + "Roman", + "Rostislav", + "Rudolf", + "Samuel", + "Stanislav", + "Tadeáš", + "Tomáš", + "Vasyl", + "Viktor", + "Vilém", + "Vladimír", + "Vladislav", + "Vlastimil", + "Vojtěch", + "Vratislav", + "Václav", + "Vít", + "Vítězslav", + "Zbyněk", + "Zdeněk", + "Šimon", + "Štefan", + "Štěpán", + ) first_names_female = ( - 'Adéla', - 'Alena', - 'Alexandra', - 'Alice', - 'Alžběta', - 'Andrea', - 'Aneta', - 'Anežka', - 'Anna', - 'Barbora', - 'Blanka', - 'Blažena', - 'Bohumila', - 'Božena', - 'Dagmar', - 'Dana', - 'Daniela', - 'Danuše', - 'Denisa', - 'Dominika', - 'Drahomíra', - 'Eliška', - 'Emilie', - 'Eva', - 'Františka', - 'Gabriela', - 'Hana', - 'Helena', - 'Ilona', - 'Irena', - 'Iva', - 'Ivana', - 'Iveta', - 'Jana', - 'Jarmila', - 'Jaroslava', - 'Jindřiška', - 'Jitka', - 'Jiřina', - 'Julie', - 'Kamila', - 'Karolína', - 'Kateřina', - 'Klára', - 'Kristina', - 'Kristýna', - 'Květa', - 'Květoslava', - 'Ladislava', - 'Lenka', - 'Libuše', - 'Lucie', - 'Ludmila', - 'Magdalena', - 'Magdaléna', - 'Marcela', - 'Marie', - 'Markéta', - 'Marta', - 'Martina', - 'Michaela', - 'Milada', - 'Milena', - 'Miloslava', - 'Miluše', - 'Miroslava', - 'Monika', - 'Mária', - 'Naděžda', - 'Natálie', - 'Nela', - 'Nikol', - 'Nikola', - 'Olga', - 'Pavla', - 'Pavlína', - 'Petra', - 'Radka', - 'Renata', - 'Renáta', - 'Romana', - 'Růžena', - 'Sabina', - 'Simona', - 'Soňa', - 'Stanislava', - 'Sára', - 'Tereza', - 'Vendula', - 'Veronika', - 'Viktorie', - 'Vladimíra', - 'Vlasta', - 'Věra', - 'Zdenka', - 'Zdeňka', - 'Zuzana', - 'Štěpánka', - 'Šárka', - 'Žaneta') + "Adéla", + "Alena", + "Alexandra", + "Alice", + "Alžběta", + "Andrea", + "Aneta", + "Anežka", + "Anna", + "Barbora", + "Blanka", + "Blažena", + "Bohumila", + "Božena", + "Dagmar", + "Dana", + "Daniela", + "Danuše", + "Denisa", + "Dominika", + "Drahomíra", + "Eliška", + "Emilie", + "Eva", + "Františka", + "Gabriela", + "Hana", + "Helena", + "Ilona", + "Irena", + "Iva", + "Ivana", + "Iveta", + "Jana", + "Jarmila", + "Jaroslava", + "Jindřiška", + "Jitka", + "Jiřina", + "Julie", + "Kamila", + "Karolína", + "Kateřina", + "Klára", + "Kristina", + "Kristýna", + "Květa", + "Květoslava", + "Ladislava", + "Lenka", + "Libuše", + "Lucie", + "Ludmila", + "Magdalena", + "Magdaléna", + "Marcela", + "Marie", + "Markéta", + "Marta", + "Martina", + "Michaela", + "Milada", + "Milena", + "Miloslava", + "Miluše", + "Miroslava", + "Monika", + "Mária", + "Naděžda", + "Natálie", + "Nela", + "Nikol", + "Nikola", + "Olga", + "Pavla", + "Pavlína", + "Petra", + "Radka", + "Renata", + "Renáta", + "Romana", + "Růžena", + "Sabina", + "Simona", + "Soňa", + "Stanislava", + "Sára", + "Tereza", + "Vendula", + "Veronika", + "Viktorie", + "Vladimíra", + "Vlasta", + "Věra", + "Zdenka", + "Zdeňka", + "Zuzana", + "Štěpánka", + "Šárka", + "Žaneta", + ) first_names = first_names_male + first_names_female last_names_male = ( - 'Bartoš', - 'Beneš', - 'Blažek', - 'Bláha', - 'Doležal', - 'Dušek', - 'Dvořák', - 'Fiala', - 'Holub', - 'Horák', - 'Hájek', - 'Jelínek', - 'Kadlec', - 'Kolář', - 'Kopecký', - 'Kratochvíl', - 'Krejčí', - 'Král', - 'Kučera', - 'Kříž', - 'Malý', - 'Marek', - 'Mareš', - 'Mašek', - 'Moravec', - 'Novotný', - 'Novák', - 'Němec', - 'Pokorný', - 'Polák', - 'Pospíšil', - 'Procházka', - 'Růžička', - 'Sedláček', - 'Soukup', - 'Svoboda', - 'Urban', - 'Vaněk', - 'Veselý', - 'Vlček', - 'Zeman', - 'Čermák', - 'Černý', - 'Říha', - 'Šimek', - 'Štěpánek', - 'Šťastný') + "Bartoš", + "Beneš", + "Blažek", + "Bláha", + "Doležal", + "Dušek", + "Dvořák", + "Fiala", + "Holub", + "Horák", + "Hájek", + "Jelínek", + "Kadlec", + "Kolář", + "Kopecký", + "Kratochvíl", + "Krejčí", + "Král", + "Kučera", + "Kříž", + "Malý", + "Marek", + "Mareš", + "Mašek", + "Moravec", + "Novotný", + "Novák", + "Němec", + "Pokorný", + "Polák", + "Pospíšil", + "Procházka", + "Růžička", + "Sedláček", + "Soukup", + "Svoboda", + "Urban", + "Vaněk", + "Veselý", + "Vlček", + "Zeman", + "Čermák", + "Černý", + "Říha", + "Šimek", + "Štěpánek", + "Šťastný", + ) last_names_female = ( - 'Bartošová', - 'Benešová', - 'Beranová', - 'Blažková', - 'Bláhová', - 'Doležalová', - 'Dušková', - 'Dvořáková', - 'Fialová', - 'Holubová', - 'Horáková', - 'Hájková', - 'Jandová', - 'Jelínková', - 'Kadlecová', - 'Kolářová', - 'Kopecká', - 'Kratochvílová', - 'Krejčová', - 'Králová', - 'Kučerová', - 'Křížová', - 'Machová', - 'Malá', - 'Marešová', - 'Marková', - 'Mašková', - 'Moravcová', - 'Novotná', - 'Nováková', - 'Němcová', - 'Pokorná', - 'Poláková', - 'Pospíšilová', - 'Procházková', - 'Růžičková', - 'Sedláčková', - 'Soukupová', - 'Svobodová', - 'Tichá', - 'Urbanová', - 'Vacková', - 'Vaňková', - 'Veselá', - 'Vlčková', - 'Vávrová', - 'Zemanová', - 'Čermáková', - 'Černá', - 'Říhová', - 'Šimková', - 'Štěpánková', - 'Šťastná') + "Bartošová", + "Benešová", + "Beranová", + "Blažková", + "Bláhová", + "Doležalová", + "Dušková", + "Dvořáková", + "Fialová", + "Holubová", + "Horáková", + "Hájková", + "Jandová", + "Jelínková", + "Kadlecová", + "Kolářová", + "Kopecká", + "Kratochvílová", + "Krejčová", + "Králová", + "Kučerová", + "Křížová", + "Machová", + "Malá", + "Marešová", + "Marková", + "Mašková", + "Moravcová", + "Novotná", + "Nováková", + "Němcová", + "Pokorná", + "Poláková", + "Pospíšilová", + "Procházková", + "Růžičková", + "Sedláčková", + "Soukupová", + "Svobodová", + "Tichá", + "Urbanová", + "Vacková", + "Vaňková", + "Veselá", + "Vlčková", + "Vávrová", + "Zemanová", + "Čermáková", + "Černá", + "Říhová", + "Šimková", + "Štěpánková", + "Šťastná", + ) last_names = last_names_male + last_names_female - degrees = ('JUDr.', 'Ing.', 'Bc.', 'Mgr.', 'MUDr.', 'RNDr.') + degrees = ("JUDr.", "Ing.", "Bc.", "Mgr.", "MUDr.", "RNDr.") - prefixes_male = ('pan', ) + degrees + prefixes_male = ("pan",) + degrees - prefixes_female = ('paní', 'slečna') + degrees + prefixes_female = ("paní", "slečna") + degrees - suffixes = ('CSc.', 'DiS.', 'Ph.D.', 'Th.D.') + suffixes = ("CSc.", "DiS.", "Ph.D.", "Th.D.") diff --git a/faker/providers/person/de_AT/__init__.py b/faker/providers/person/de_AT/__init__.py index 009f130901..617dbfcb5e 100644 --- a/faker/providers/person/de_AT/__init__.py +++ b/faker/providers/person/de_AT/__init__.py @@ -4,109 +4,591 @@ class Provider(PersonProvider): formats_male = ( - '{{first_name_male}} {{last_name}}', - '{{first_name_male}} {{last_name}}', - '{{first_name_male}} {{last_name}}', - '{{first_name_male}} {{last_name}}', - '{{first_name_male}} {{last_name}}-{{last_name}}', - '{{prefix_male}} {{first_name_male}} {{last_name}}', - '{{first_name_male}} {{last_name}} {{suffix_male}}', - '{{prefix_male}} {{first_name_male}} {{last_name}} {{suffix_male}}', + "{{first_name_male}} {{last_name}}", + "{{first_name_male}} {{last_name}}", + "{{first_name_male}} {{last_name}}", + "{{first_name_male}} {{last_name}}", + "{{first_name_male}} {{last_name}}-{{last_name}}", + "{{prefix_male}} {{first_name_male}} {{last_name}}", ) formats_female = ( - '{{first_name_female}} {{last_name}}', - '{{first_name_female}} {{last_name}}', - '{{first_name_female}} {{last_name}}', - '{{first_name_female}} {{last_name}}', - '{{first_name_female}} {{last_name}}-{{last_name}}', - '{{prefix_female}} {{first_name_female}} {{last_name}}', - '{{first_name_female}} {{last_name}} {{suffix_female}}', - '{{prefix_female}} {{first_name_female}} {{last_name}} {{suffix_female}}', + "{{first_name_female}} {{last_name}}", + "{{first_name_female}} {{last_name}}", + "{{first_name_female}} {{last_name}}", + "{{first_name_female}} {{last_name}}", + "{{first_name_female}} {{last_name}}-{{last_name}}", + "{{prefix_female}} {{first_name_female}} {{last_name}}", ) formats = formats_male + formats_female # source: https://www.data.gv.at/katalog/dataset/87fc82a0-0042-49c8-b6f9-2602cd3dc17a first_names_male = ( - 'Aaron', 'Adam', 'Adrian', 'Adriano', 'Alan', 'Aleksander', - 'Alex', 'Alexandar', 'Alexander', 'Andreas', 'Andrej', 'Angelo', 'Anton', - 'Antonio', 'Antonius', 'Arda', 'Armin', 'Aron', 'Arthur', 'Aurelio', 'Axel', - 'Bastian', 'Ben', 'Benedict', 'Benedikt', 'Beni', 'Benjamin', 'Bernhard', 'Boris', - 'Bruno', 'Calvin', 'Carl', 'Carlo', 'Chris', 'Christian', 'Christoph', - 'Christopher', 'Clemens', 'Constantin', 'Cornelius', 'Cristiano', 'Damian', 'Daniel', - 'Danilo', 'Dario', 'Darius', 'Darko', 'David', 'Dennis', 'Dominik', - 'Eduard', 'Elias', 'Elyas', 'Emanuel', 'Emil', 'Emilian', 'Emmanuel', 'Eric', - 'Erik', 'Erwin', 'Fabian', 'Fabio', 'Felix', 'Ferdinand', 'Fernando', 'Filip', - 'Finn', 'Florentin', 'Florian', 'Florin', 'Franz', 'Frederik', 'Fridolin', - 'Friedrich', 'Gabriel', 'Georg', 'Gregor', 'Gustav', 'Heinrich', 'Henri', - 'Henrik', 'Henry', 'Hubert', 'Hugo', 'Igor', 'Ilias', 'Isa', 'Ismail', 'Jacob', - 'Jakob', 'James', 'Jamie', 'Jan', 'Jannik', 'Jannis', 'Jasper', 'Joel', 'Johann', - 'Johannes', 'John', 'Jonas', 'Jonathan', 'Josef', 'Joseph', 'Joshua', 'Julian', - 'Julius', 'Justin', 'Justus', 'Kai', 'Karim', 'Karl', 'Kevin', 'Kilian', 'Konrad', - 'Konstantin', 'Kristian', 'Lars', 'Laurenz', 'Laurin', 'Lean', 'Leander', 'Lennard', - 'Lennart', 'Leo', 'Leon', 'Leonard', 'Leonardo', 'Leonhard', 'Leopold', 'Levi', - 'Liam', 'Lino', 'Linus', 'Lionel', 'Lorenz', 'Lorenzo', 'Louis', 'Luca', 'Lucas', - 'Luis', 'Luka', 'Lukas', 'Maksim', 'Manuel', 'Marc', 'Marcel', 'Marco', 'Marcus', - 'Mario', 'Marius', 'Mark', 'Marko', 'Markus', 'Martin', 'Marvin', - 'Mateo', 'Matheo', 'Mathias', 'Matteo', 'Matthias', 'Maurice', 'Max', - 'Maximilian', 'Merlin', 'Mert', 'Michael', 'Mika', 'Mike', 'Milan', 'Milo', 'Moritz', - 'Natan', 'Nathan', 'Nicholas', 'Nick', 'Nico', 'Nicolai', 'Nicolas', 'Niklas', - 'Niko', 'Nikola', 'Nikolai', 'Nikolas', 'Nikolaus', 'Nils', 'Nino', 'Noah', - 'Noel', 'Oliver', 'Oscar', 'Oskar', 'Pascal', 'Patrick', 'Patrik', 'Paul', - 'Peter', 'Philip', 'Philipp', 'Phillip', 'Raffael', 'Ralph', 'Raphael', - 'Rene', 'Ricardo', 'Richard', 'Robert', 'Robin', 'Roman', 'Ruben', 'Sam', - 'Samuel', 'Sandro', 'Sascha', 'Sebastian', 'Severin', 'Simon', 'Stefan', 'Stephan', - 'Steven', 'Sven', 'Teodor', 'Theo', 'Theodor', 'Thomas', 'Tim', 'Timo', 'Timon', - 'Tobias', 'Tom', 'Tristan', 'Valentin', 'Valentino', 'Victor', 'Viktor', - 'Vincent', 'Vito', 'William', 'Xavier', + "Aaron", + "Adam", + "Adrian", + "Adriano", + "Alan", + "Aleksander", + "Alex", + "Alexandar", + "Alexander", + "Andreas", + "Andrej", + "Angelo", + "Anton", + "Antonio", + "Antonius", + "Arda", + "Armin", + "Aron", + "Arthur", + "Aurelio", + "Axel", + "Bastian", + "Ben", + "Benedict", + "Benedikt", + "Beni", + "Benjamin", + "Bernhard", + "Boris", + "Bruno", + "Calvin", + "Carl", + "Carlo", + "Chris", + "Christian", + "Christoph", + "Christopher", + "Clemens", + "Constantin", + "Cornelius", + "Cristiano", + "Damian", + "Daniel", + "Danilo", + "Dario", + "Darius", + "Darko", + "David", + "Dennis", + "Dominik", + "Eduard", + "Elias", + "Elyas", + "Emanuel", + "Emil", + "Emilian", + "Emmanuel", + "Eric", + "Erik", + "Erwin", + "Fabian", + "Fabio", + "Felix", + "Ferdinand", + "Fernando", + "Filip", + "Finn", + "Florentin", + "Florian", + "Florin", + "Franz", + "Frederik", + "Fridolin", + "Friedrich", + "Gabriel", + "Georg", + "Gregor", + "Gustav", + "Heinrich", + "Henri", + "Henrik", + "Henry", + "Hubert", + "Hugo", + "Igor", + "Ilias", + "Isa", + "Ismail", + "Jacob", + "Jakob", + "James", + "Jamie", + "Jan", + "Jannik", + "Jannis", + "Jasper", + "Joel", + "Johann", + "Johannes", + "John", + "Jonas", + "Jonathan", + "Josef", + "Joseph", + "Joshua", + "Julian", + "Julius", + "Justin", + "Justus", + "Kai", + "Karim", + "Karl", + "Kevin", + "Kilian", + "Konrad", + "Konstantin", + "Kristian", + "Lars", + "Laurenz", + "Laurin", + "Lean", + "Leander", + "Lennard", + "Lennart", + "Leo", + "Leon", + "Leonard", + "Leonardo", + "Leonhard", + "Leopold", + "Levi", + "Liam", + "Lino", + "Linus", + "Lionel", + "Lorenz", + "Lorenzo", + "Louis", + "Luca", + "Lucas", + "Luis", + "Luka", + "Lukas", + "Maksim", + "Manuel", + "Marc", + "Marcel", + "Marco", + "Marcus", + "Mario", + "Marius", + "Mark", + "Marko", + "Markus", + "Martin", + "Marvin", + "Mateo", + "Matheo", + "Mathias", + "Matteo", + "Matthias", + "Maurice", + "Max", + "Maximilian", + "Merlin", + "Mert", + "Michael", + "Mika", + "Mike", + "Milan", + "Milo", + "Moritz", + "Natan", + "Nathan", + "Nicholas", + "Nick", + "Nico", + "Nicolai", + "Nicolas", + "Niklas", + "Niko", + "Nikola", + "Nikolai", + "Nikolas", + "Nikolaus", + "Nils", + "Nino", + "Noah", + "Noel", + "Oliver", + "Oscar", + "Oskar", + "Pascal", + "Patrick", + "Patrik", + "Paul", + "Peter", + "Philip", + "Philipp", + "Phillip", + "Raffael", + "Ralph", + "Raphael", + "Rene", + "Ricardo", + "Richard", + "Robert", + "Robin", + "Roman", + "Ruben", + "Sam", + "Samuel", + "Sandro", + "Sascha", + "Sebastian", + "Severin", + "Simon", + "Stefan", + "Stephan", + "Steven", + "Sven", + "Teodor", + "Theo", + "Theodor", + "Thomas", + "Tim", + "Timo", + "Timon", + "Tobias", + "Tom", + "Tristan", + "Valentin", + "Valentino", + "Victor", + "Viktor", + "Vincent", + "Vito", + "William", + "Xavier", ) # source: https://www.data.gv.at/katalog/dataset/87fc82a0-0042-49c8-b6f9-2602cd3dc17a first_names_female = ( - 'Adelina', 'Adriana', 'Ajna', 'Alara', 'Aleksandra', 'Alena', 'Alexa', 'Alexandra', - 'Alexia', 'Alice', 'Alma', 'Amanda', 'Amelia', 'Amelie', 'Anabella', 'Anastasia', - 'Andjela', 'Andjelina', 'Andrea', 'Angela', 'Angelika', - 'Angelina', 'Anika', 'Anita', 'Anja', 'Anna', 'Anna-Lena', 'Anna-Maria', 'Annabell', - 'Annabella', 'Annabelle', 'Annalena', 'Anne', 'Annika', 'Antonella', 'Antonia', - 'Ariana', 'Ariane', 'Aurelia', 'Aurora', 'Ava', 'Aylin', 'Barbara', 'Beatrice', - 'Bernadette', 'Berra', 'Bianca', 'Carina', 'Carla', 'Carlotta', 'Carolina', - 'Caroline', 'Catharina', 'Cecilia', 'Charlotte', 'Christina', 'Christine', 'Claire', - 'Clara', 'Clarissa', 'Claudia', 'Constanze', 'Cristina', 'Dana', 'Daniela', 'Denise', - 'Diana', 'Dilara', 'Domenica', 'Dora', 'Eda', 'Edda', 'Ela', 'Elena', 'Eleonora', - 'Elina', 'Elisa', 'Elisabeth', 'Ella', 'Ellie', 'Elma', 'Elona', 'Elsa', 'Elvira', - 'Emanuela', 'Emely', 'Emilia', 'Emilie', 'Emilija', 'Emma', 'Erina', 'Estelle', - 'Esther', 'Eva', 'Evelyn', 'Felicitas', 'Fiona', 'Florentina', 'Francesca', 'Franziska', - 'Frida', 'Gabriela', 'Gloria', 'Hanna', 'Hannah', 'Heidi', 'Helena', 'Helene', 'Ina', - 'Ines', 'Irina', 'Iris', 'Irma', 'Isabel', 'Isabell', 'Isabella', - 'Isabelle', 'Jana', 'Janine', 'Jasmina', 'Jasmine', 'Jennifer', 'Jessica', - 'Johanna', 'Josefine', 'Jovana', 'Julia', 'Juliana', 'Juliane', - 'Julijana', 'Juna', 'Kalina', 'Karina', 'Karla', 'Karolina', 'Karoline', - 'Katarina', 'Katharina', 'Katja', 'Kerstin', 'Klara', 'Kristina', - 'Kyra', 'Laetitia', 'Laila', 'Lana', 'Lara', 'Lara-Sophie', 'Larissa', 'Laura', - 'Laureen', 'Lea', 'Lea-Sophie', 'Leah', 'Leandra', 'Lena', 'Leni', 'Leona', 'Leoni', - 'Leonie', 'Leonora', 'Leontina', 'Leticia', 'Leyla', 'Lia', 'Lilia', 'Lilian', - 'Liliana', 'Liliane', 'Lilli', 'Lilly', 'Lily', 'Lina', 'Linda', 'Linnea', 'Lisa', - 'Lisa-Marie', 'Lola', 'Lora', 'Lorena', 'Lotta', 'Lotte', 'Louisa', - 'Louise', 'Luana', 'Lucia', 'Lucie', 'Luisa', 'Luise', 'Luna', 'Lydia', - 'Madeleine', 'Magdalena', 'Maida', 'Maja', 'Malena', 'Manuela', 'Mara', 'Maria', - 'Mariam', 'Mariana', 'Marie', 'Marie-Louise', 'Marie-Sophie', 'Mariella', - 'Marijana', 'Marina', 'Marissa', 'Marlene', 'Marta', 'Martha', 'Martina', 'Maryam', - 'Mathilda', 'Matilda', 'Maya', 'Melanie', 'Melek', 'Melina', 'Melisa', 'Melissa', - 'Mia', 'Michaela', 'Michelle', 'Mila', 'Milica', 'Mina', 'Mira', 'Miriam', - 'Mona', 'Nadia', 'Nadin', 'Nadine', 'Nadja', 'Naomi', 'Natalia', 'Natalie', - 'Natascha', 'Nathalie', 'Nela', 'Nele', 'Nelly', 'Nicola', 'Nicole', 'Nika', - 'Nikita', 'Nikola', 'Nikolina', 'Nina', 'Nisa', 'Nora', 'Norah', 'Olivia', - 'Patricia', 'Paula', 'Paulina', 'Pauline', 'Petra', 'Philippa', 'Pia', 'Rachel', - 'Raffaela', 'Rana', 'Rayana', 'Rebecca', 'Rita', 'Romy', 'Ronja', 'Ronya', 'Rosa', - 'Rosalie', 'Ruth', 'Sabine', 'Sabrina', 'Sahra', 'Salma', - 'Sandra', 'Sara', 'Sarah', 'Selena', 'Selin', 'Selina', 'Selma', 'Sena', 'Siena', - 'Sigrid', 'Sofia', 'Sofie', 'Sofija', 'Sonja', 'Sophia', 'Sophie', 'Sophie-Marie', - 'Soraya', 'Stefanie', 'Stella', 'Stephanie', 'Tamara', 'Tanja', - 'Tea', 'Theodora', 'Theresa', 'Therese', 'Tiffany', 'Tina', - 'Valentina', 'Vanessa', 'Vera', 'Verena', 'Veronika', 'Victoria', - 'Viktoria', 'Viola', 'Violetta', 'Vivian', - 'Yasmina', 'Ylvie', 'Yvonne', 'Zara', 'Zoe', 'Zoey', + "Adelina", + "Adriana", + "Ajna", + "Alara", + "Aleksandra", + "Alena", + "Alexa", + "Alexandra", + "Alexia", + "Alice", + "Alma", + "Amanda", + "Amelia", + "Amelie", + "Anabella", + "Anastasia", + "Andjela", + "Andjelina", + "Andrea", + "Angela", + "Angelika", + "Angelina", + "Anika", + "Anita", + "Anja", + "Anna", + "Anna-Lena", + "Anna-Maria", + "Annabell", + "Annabella", + "Annabelle", + "Annalena", + "Anne", + "Annika", + "Antonella", + "Antonia", + "Ariana", + "Ariane", + "Aurelia", + "Aurora", + "Ava", + "Aylin", + "Barbara", + "Beatrice", + "Bernadette", + "Berra", + "Bianca", + "Carina", + "Carla", + "Carlotta", + "Carolina", + "Caroline", + "Catharina", + "Cecilia", + "Charlotte", + "Christina", + "Christine", + "Claire", + "Clara", + "Clarissa", + "Claudia", + "Constanze", + "Cristina", + "Dana", + "Daniela", + "Denise", + "Diana", + "Dilara", + "Domenica", + "Dora", + "Eda", + "Edda", + "Ela", + "Elena", + "Eleonora", + "Elina", + "Elisa", + "Elisabeth", + "Ella", + "Ellie", + "Elma", + "Elona", + "Elsa", + "Elvira", + "Emanuela", + "Emely", + "Emilia", + "Emilie", + "Emilija", + "Emma", + "Erina", + "Estelle", + "Esther", + "Eva", + "Evelyn", + "Felicitas", + "Fiona", + "Florentina", + "Francesca", + "Franziska", + "Frida", + "Gabriela", + "Gloria", + "Hanna", + "Hannah", + "Heidi", + "Helena", + "Helene", + "Ina", + "Ines", + "Irina", + "Iris", + "Irma", + "Isabel", + "Isabell", + "Isabella", + "Isabelle", + "Jana", + "Janine", + "Jasmina", + "Jasmine", + "Jennifer", + "Jessica", + "Johanna", + "Josefine", + "Jovana", + "Julia", + "Juliana", + "Juliane", + "Julijana", + "Juna", + "Kalina", + "Karina", + "Karla", + "Karolina", + "Karoline", + "Katarina", + "Katharina", + "Katja", + "Kerstin", + "Klara", + "Kristina", + "Kyra", + "Laetitia", + "Laila", + "Lana", + "Lara", + "Lara-Sophie", + "Larissa", + "Laura", + "Laureen", + "Lea", + "Lea-Sophie", + "Leah", + "Leandra", + "Lena", + "Leni", + "Leona", + "Leoni", + "Leonie", + "Leonora", + "Leontina", + "Leticia", + "Leyla", + "Lia", + "Lilia", + "Lilian", + "Liliana", + "Liliane", + "Lilli", + "Lilly", + "Lily", + "Lina", + "Linda", + "Linnea", + "Lisa", + "Lisa-Marie", + "Lola", + "Lora", + "Lorena", + "Lotta", + "Lotte", + "Louisa", + "Louise", + "Luana", + "Lucia", + "Lucie", + "Luisa", + "Luise", + "Luna", + "Lydia", + "Madeleine", + "Magdalena", + "Maida", + "Maja", + "Malena", + "Manuela", + "Mara", + "Maria", + "Mariam", + "Mariana", + "Marie", + "Marie-Louise", + "Marie-Sophie", + "Mariella", + "Marijana", + "Marina", + "Marissa", + "Marlene", + "Marta", + "Martha", + "Martina", + "Maryam", + "Mathilda", + "Matilda", + "Maya", + "Melanie", + "Melek", + "Melina", + "Melisa", + "Melissa", + "Mia", + "Michaela", + "Michelle", + "Mila", + "Milica", + "Mina", + "Mira", + "Miriam", + "Mona", + "Nadia", + "Nadin", + "Nadine", + "Nadja", + "Naomi", + "Natalia", + "Natalie", + "Natascha", + "Nathalie", + "Nela", + "Nele", + "Nelly", + "Nicola", + "Nicole", + "Nika", + "Nikita", + "Nikola", + "Nikolina", + "Nina", + "Nisa", + "Nora", + "Norah", + "Olivia", + "Patricia", + "Paula", + "Paulina", + "Pauline", + "Petra", + "Philippa", + "Pia", + "Rachel", + "Raffaela", + "Rana", + "Rayana", + "Rebecca", + "Rita", + "Romy", + "Ronja", + "Ronya", + "Rosa", + "Rosalie", + "Ruth", + "Sabine", + "Sabrina", + "Sahra", + "Salma", + "Sandra", + "Sara", + "Sarah", + "Selena", + "Selin", + "Selina", + "Selma", + "Sena", + "Siena", + "Sigrid", + "Sofia", + "Sofie", + "Sofija", + "Sonja", + "Sophia", + "Sophie", + "Sophie-Marie", + "Soraya", + "Stefanie", + "Stella", + "Stephanie", + "Tamara", + "Tanja", + "Tea", + "Theodora", + "Theresa", + "Therese", + "Tiffany", + "Tina", + "Valentina", + "Vanessa", + "Vera", + "Verena", + "Veronika", + "Victoria", + "Viktoria", + "Viola", + "Violetta", + "Vivian", + "Yasmina", + "Ylvie", + "Yvonne", + "Zara", + "Zoe", + "Zoey", ) first_names = first_names_male + first_names_female @@ -114,147 +596,977 @@ class Provider(PersonProvider): # about 1000 of the most popular Austrian surnames # https://de.wiktionary.org/wiki/Verzeichnis:Deutsch/Namen/die_h%C3%A4ufigsten_Nachnamen_%C3%96sterreichs last_names = ( - 'Achleitner', 'Ackerl', 'Adam', 'Adler', 'Aichholzer', 'Aichinger', - 'Aigner', 'Albrecht', 'Altmann', 'Amann', 'Amon', 'Anderl', 'Angerer', 'Arnold', - 'Artner', 'Aschauer', 'Auer', 'Augustin', 'Auinger', 'Bacher', 'Bachinger', - 'Bachler', 'Bachmann', 'Bader', 'Baier', 'Baldauf', 'Barth', 'Bartl', 'Bauer', - 'Baumann', 'Baumgartner', 'Bayer', 'Beck', 'Becker', 'Beer', 'Berchtold', 'Berger', - 'Bergmann', 'Berner', 'Bernhard', 'Berthold', 'Bichler', 'Biedermann', 'Binder', - 'Bischof', 'Bitschnau', 'Bittner', 'Blauensteiner', 'Blum', 'Blümel', 'Bock', - 'Bodner', 'Bogner', 'Brandl', 'Brandner', 'Brandstetter', 'Brandstätter', - 'Brandtner', 'Braun', 'Brenner', 'Breuer', 'Bruckner', 'Brugger', 'Brunner', 'Bräuer', - 'Buchberger', 'Buchegger', 'Bucher', 'Buchinger', 'Buchner', 'Burger', 'Burgstaller', - 'Burtscher', 'Bäck', 'Böck', 'Böhler', 'Böhm', 'Bösch', 'Bürger', 'Dallinger', - 'Dangl', 'Danner', 'Danninger', 'Decker', 'Dengg', 'Denk', 'Deutschmann', 'Dietl', - 'Dietrich', 'Dirnberger', 'Dittrich', 'Dobler', 'Doppler', 'Dorfer', 'Dorn', - 'Dorner', 'Draxler', 'Dünser', 'Eberhard', 'Eberharter', 'Eberl', 'Ebner', 'Ecker', - 'Eder', 'Edlinger', 'Egger', 'Eibl', 'Eichberger', 'Eichhorn', 'Eichinger', - 'Eisl', 'Eisner', 'Eller', 'Ender', 'Engel', 'Engl', 'Enzinger', 'Erber', - 'Erhart', 'Erlacher', 'Erler', 'Ernst', 'Ertl', 'Fabian', 'Falkner', 'Fankhauser', - 'Farkas', 'Fasching', 'Fehringer', 'Feichtenschlager', 'Feichter', 'Feichtinger', - 'Feichtner', 'Feigl', 'Felber', 'Felder', 'Fellinger', 'Fellner', 'Fercher', 'Ferstl', - 'Fichtinger', 'Fiedler', 'Fink', 'Fischer', 'Fitz', 'Fleck', 'Fleischhacker', - 'Fleischmann', 'Foidl', 'Forster', 'Forstner', 'Frank', 'Franz', 'Freitag', - 'Freudenthaler', 'Frey', 'Frick', 'Friedl', 'Friedrich', 'Frisch', 'Fritsch', 'Fritz', - 'Froschauer', 'Fröhlich', 'Fröschl', 'Frühwirth', 'Fuchs', 'Fuhrmann', 'Füreder', - 'Fürst', 'Gabriel', 'Gahleitner', 'Galler', 'Gamsjäger', 'Gangl', 'Gartner', - 'Gasser', 'Gassner', 'Gattringer', 'Geier', 'Geiger', 'Geisler', 'Geyer', 'Gindl', - 'Glaser', 'Glatz', 'Glück', 'Gmeiner', 'Gollner', 'Gosch', 'Grabher', 'Grabner', - 'Graf', 'Grasser', 'Grassl', 'Gratz', 'Gratzer', 'Gratzl', 'Greiner', 'Griesser', - 'Grill', 'Gritsch', 'Gross', 'Groß', 'Gruber', 'Grundner', 'Grünberger', 'Grüner', - 'Grünwald', 'Gschaider', 'Gschwandtner', 'Gstrein', 'Guggenberger', 'Gutmann', - 'Gärtner', 'Göschl', 'Götz', 'Günther', 'Haas', 'Haberl', 'Hacker', 'Hackl', - 'Haderer', 'Hafner', 'Hagen', 'Hager', 'Hahn', 'Haid', 'Haiden', 'Haider', - 'Haidinger', 'Haindl', 'Hainzl', 'Haller', 'Hammer', 'Hammerer', 'Hammerl', 'Handl', - 'Handler', 'Haring', 'Harrer', 'Hartl', 'Hartmann', 'Haslauer', 'Haslinger', - 'Hattinger', 'Hauer', 'Haumer', 'Hausberger', 'Hauser', 'Hebenstreit', 'Hechenberger', - 'Heger', 'Heigl', 'Heim', 'Heindl', 'Heinrich', 'Heinz', 'Heinzl', 'Heiss', - 'Heissenberger', 'Held', 'Hell', 'Heller', 'Helm', 'Hemetsberger', 'Herbst', 'Hermann', - 'Herrmann', 'Herzog', 'Himmelbauer', 'Hinterberger', 'Hinteregger', 'Hinterleitner', - 'Hirsch', 'Hirschmann', 'Hochleitner', 'Hochreiter', 'Hofbauer', 'Hofer', - 'Hoffmann', 'Hofinger', 'Hofmann', 'Hofmeister', 'Hofstetter', 'Hofstätter', 'Holl', - 'Hollaus', 'Holler', 'Holzer', 'Holzinger', 'Holzknecht', 'Holzmann', 'Horak', - 'Horn', 'Hosp', 'Huber', 'Hubmann', 'Huemer', 'Hufnagl', 'Humer', 'Hummel', - 'Hummer', 'Huter', 'Hutter', 'Hutterer', 'Hämmerle', 'Häusler', 'Hödl', 'Höfer', - 'Höfler', 'Höglinger', 'Höller', 'Hölzl', 'Hörl', 'Hörmann', 'Hübner', 'Hütter', - 'Jahn', 'Jandl', 'Janisch', 'Jank', 'Jauk', 'Jenewein', 'Jost', 'Jovanovic', - 'Juen', 'Jung', 'Jungwirth', 'Jäger', 'Jöbstl', 'Kager', 'Kahr', 'Kain', - 'Kaindl', 'Kainz', 'Kaiser', 'Kalcher', 'Kaltenbrunner', 'Kaltenböck', - 'Kaltenegger', 'Kammerer', 'Kapeller', 'Kappel', 'Kargl', 'Karl', 'Karner', 'Karrer', - 'Kaspar', 'Kasper', 'Kastner', 'Kaufmann', 'Keller', 'Kellner', 'Keplinger', - 'Kern', 'Kerschbaum', 'Kerschbaumer', 'Kessler', 'Kirchmair', 'Kirchner', - 'Kirschner', 'Kiss', 'Kitzler', 'Klammer', 'Klaus', 'Klausner', 'Klein', 'Klement', - 'Klinger', 'Klingler', 'Klocker', 'Kloiber', 'Klotz', 'Klug', 'Knapp', 'Knaus', - 'Knoll', 'Kober', 'Koch', 'Kocher', 'Kofler', 'Kogler', 'Kohl', 'Kohler', 'Kolar', - 'Kolb', 'Koller', 'Kollmann', 'Kolm', 'Konrad', 'Kopf', 'Kopp', 'Koppensteiner', - 'Kraft', 'Krainer', 'Krainz', 'Kral', 'Krall', 'Kramer', 'Krammer', 'Kratzer', - 'Kraus', 'Kraxner', 'Kreidl', 'Kreiner', 'Kremser', 'Krenn', 'Kreuzer', 'Kriegl', - 'Kronberger', 'Kronsteiner', 'Krug', 'Kröll', 'Kucera', 'Kugler', 'Kuhn', 'Kummer', - 'Kunz', 'Kurz', 'Kurzmann', 'Käfer', 'Köberl', 'Köck', 'Köhler', 'Kölbl', 'Köll', - 'König', 'Kössler', 'Lackner', 'Ladner', 'Lagler', 'Laimer', 'Lammer', 'Lampert', - 'Lampl', 'Lamprecht', 'Landl', 'Lang', 'Langer', 'Larcher', 'Lassnig', 'Leber', - 'Lechner', 'Lederer', 'Leeb', 'Lehner', 'Leibetseder', 'Leitgeb', 'Leithner', - 'Leitner', 'Lengauer', 'Lenz', 'Leonhartsberger', 'Leopold', 'Lerch', 'Lercher', - 'Lettner', 'Leutgeb', 'Lichtenegger', 'Linder', 'Lindinger', 'Lindner', 'Lindorfer', - 'Lintner', 'Lipp', 'List', 'Loibl', 'Loidl', 'Lorenz', 'Ludwig', 'Luger', - 'Luttenberger', 'Lutz', 'Löffler', 'Macher', 'Mader', 'Maier', 'Maierhofer', 'Mair', - 'Mairhofer', 'Mandl', 'Mann', 'Margreiter', 'Maringer', 'Mark', 'Markl', 'Marte', - 'Martin', 'Marx', 'Mathis', 'Maurer', 'Mayer', 'Mayerhofer', 'Mayr', 'Mayrhofer', - 'Meier', 'Meindl', 'Meister', 'Meixner', 'Messner', 'Metzler', 'Meusburger', - 'Meyer', 'Mitter', 'Mitteregger', 'Mitterer', 'Mitterlehner', 'Mittermayr', - 'Mohr', 'Moosbrugger', 'Moritz', 'Moser', 'Muhr', 'Mörth', 'Mühlbacher', - 'Mühlberger', 'Mühlböck', 'Müller', 'Müllner', 'Nagel', 'Nagele', 'Nagl', 'Nemeth', - 'Neubacher', 'Neubauer', 'Neugebauer', 'Neuhauser', 'Neuhold', 'Neulinger', 'Neumann', - 'Neumayer', 'Neumayr', 'Neumeister', 'Neumüller', 'Neuner', 'Neureiter', 'Neuwirth', - 'Niederl', 'Nowak', 'Nussbaumer', 'Nußbaumer', 'Nöbauer', 'Oberhauser', 'Oberhofer', - 'Oberleitner', 'Obermayr', 'Obermüller', 'Oberndorfer', 'Ofner', 'Ortner', 'Ostermann', - 'Oswald', 'Ott', 'Pacher', 'Pachler', 'Paier', 'Pammer', 'Parzer', 'Pauer', 'Paul', - 'Paulitsch', 'Payer', 'Peer', 'Peham', 'Pendl', 'Penz', 'Perner', 'Pertl', - 'Pesendorfer', 'Peter', 'Petz', 'Pfeffer', 'Pfeifer', 'Pfeiffer', 'Pfister', 'Pfleger', - 'Philipp', 'Pichler', 'Pieber', 'Pilz', 'Pinter', 'Pircher', 'Pirker', 'Plank', - 'Plattner', 'Platzer', 'Pock', 'Pohl', 'Pointner', 'Pokorny', 'Pollak', 'Polzer', - 'Posch', 'Postl', 'Prager', 'Prantl', 'Praxmarer', 'Prem', 'Prenner', 'Prinz', - 'Probst', 'Prohaska', 'Pröll', 'Pucher', 'Puchner', 'Puntigam', 'Punz', 'Putz', - 'Pöll', 'Pölzl', 'Pöschl', 'Pühringer', 'Raab', 'Rabitsch', 'Rabl', 'Radl', - 'Rainer', 'Ramsauer', 'Rath', 'Rauch', 'Rausch', 'Rauscher', 'Rauter', - 'Rechberger', 'Redl', 'Reich', 'Reichel', 'Reicher', 'Reichl', 'Reichmann', 'Reif', - 'Reinbacher', 'Reindl', 'Reiner', 'Reinisch', 'Reinprecht', 'Reinthaler', 'Reischl', - 'Reisinger', 'Reisner', 'Reitbauer', 'Reiter', 'Reiterer', 'Reithofer', 'Reitinger', - 'Renner', 'Resch', 'Rettenbacher', 'Richter', 'Rieder', 'Riedl', 'Riedler', - 'Riedmann', 'Rieger', 'Riegler', 'Riener', 'Riepl', 'Rieser', 'Ringhofer', 'Rinner', - 'Ritter', 'Rohrer', 'Rohrmoser', 'Rosenberger', 'Rosner', 'Rossmann', 'Roth', - 'Rottensteiner', 'Rotter', 'Rudolf', 'Rupp', 'Röck', 'Rössler', 'Sagmeister', 'Sailer', - 'Salcher', 'Salzer', 'Salzmann', 'Sammer', 'Santner', 'Sattler', 'Sauer', - 'Schachinger', 'Schachner', 'Schaffer', 'Schalk', 'Schaller', 'Schandl', 'Schantl', - 'Scharf', 'Scharinger', 'Schartner', 'Schatz', 'Schatzl', 'Schauer', 'Scheer', - 'Scheiber', 'Scheidl', 'Schenk', 'Scherer', 'Scherr', 'Scherz', 'Scherzer', - 'Scheucher', 'Schiefer', 'Schiestl', 'Schilcher', 'Schiller', 'Schimpl', 'Schinagl', - 'Schindler', 'Schinnerl', 'Schlager', 'Schlosser', 'Schlögl', 'Schmid', 'Schmidinger', - 'Schmidl', 'Schmidt', 'Schmied', 'Schmuck', 'Schmölzer', 'Schnabl', 'Schneeberger', - 'Schneider', 'Schober', 'Scholz', 'Schramm', 'Schrammel', 'Schranz', 'Schreiber', - 'Schreiner', 'Schrempf', 'Schrenk', 'Schrittwieser', 'Schröder', 'Schubert', 'Schuh', - 'Schuler', 'Schuller', 'Schulz', 'Schuster', 'Schwab', 'Schwaiger', 'Schwaighofer', - 'Schwarz', 'Schwarzinger', 'Schwarzl', 'Schweiger', 'Schweighofer', 'Schweitzer', - 'Schwendinger', 'Schäfer', 'Schöberl', 'Schöffmann', 'Schöller', 'Schön', 'Schönauer', - 'Schönberger', 'Schöpf', 'Schüller', 'Schütz', 'Seebacher', 'Seidl', 'Seifert', - 'Seiler', 'Seiser', 'Seitz', 'Seiwald', 'Sieber', 'Sieberer', 'Siegl', 'Sigl', - 'Siller', 'Simic', 'Simon', 'Singer', 'Sommer', 'Sonnleitner', 'Sorger', 'Sperl', - 'Spiegl', 'Spindler', 'Spitzer', 'Spreitzer', 'Springer', 'Stadlbauer', 'Stadler', - 'Stangl', 'Stark', 'Staudacher', 'Staudinger', 'Stecher', 'Stefan', 'Steger', - 'Steidl', 'Steiger', 'Steinacher', 'Steinbacher', 'Steinbauer', 'Steinberger', - 'Steinböck', 'Steindl', 'Steiner', 'Steininger', 'Steinkellner', 'Steinlechner', - 'Steinwender', 'Stelzer', 'Stelzl', 'Stern', 'Steurer', 'Stiegler', 'Stifter', 'Stock', - 'Stocker', 'Stockhammer', 'Stockinger', 'Stoiber', 'Stolz', 'Strasser', 'Strauss', - 'Strauß', 'Streicher', 'Strobl', 'Strohmaier', 'Strohmayer', 'Strohmeier', - 'Stummer', 'Sturm', 'Stöckl', 'Stöger', 'Stückler', 'Stütz', 'Sulzer', 'Suppan', - 'Taferner', 'Tanzer', 'Tauber', 'Taucher', 'Teufl', 'Thaler', 'Thalhammer', - 'Thaller', 'Thurner', 'Tiefenbacher', 'Tischler', 'Toth', 'Trattner', 'Trauner', - 'Traxler', 'Trimmel', 'Trinkl', 'Trummer', 'Uhl', 'Ullmann', 'Ulrich', 'Unger', - 'Unterberger', 'Unterweger', 'Urban', 'Varga', 'Veit', 'Vogel', 'Vogl', 'Vogler', - 'Vogt', 'Wachter', 'Wagner', 'Walch', 'Walcher', 'Walder', 'Waldner', 'Wallner', - 'Walser', 'Walter', 'Waltl', 'Wandl', 'Weber', 'Wechselberger', 'Wegscheider', - 'Weidinger', 'Weigl', 'Weinberger', 'Weiser', 'Weiss', 'Weissenböck', 'Weiß', - 'Wenger', 'Weninger', 'Wenzl', 'Werner', 'Widhalm', 'Widmann', 'Wiedner', - 'Wieland', 'Wiener', 'Wiesbauer', 'Wieser', 'Wiesinger', 'Wiesner', 'Wild', - 'Wilfinger', 'Wilhelm', 'Wimmer', 'Windhager', 'Windisch', 'Winkler', 'Winter', - 'Wirth', 'Wittmann', 'Wohlmuth', 'Wolf', 'Wurm', 'Wurzer', 'Wurzinger', - 'Wögerbauer', 'Wöhrer', 'Yilmaz', 'Zach', 'Zangerl', 'Zauner', 'Zechmeister', - 'Zechner', 'Zehetner', 'Zeiler', 'Zeilinger', 'Zeiner', 'Zeller', 'Zenz', 'Zettl', - 'Ziegler', 'Zimmermann', 'Zotter', 'Zöchling', 'Zöhrer', + "Achleitner", + "Ackerl", + "Adam", + "Adler", + "Aichholzer", + "Aichinger", + "Aigner", + "Albrecht", + "Altmann", + "Amann", + "Amon", + "Anderl", + "Angerer", + "Arnold", + "Artner", + "Aschauer", + "Auer", + "Augustin", + "Auinger", + "Bacher", + "Bachinger", + "Bachler", + "Bachmann", + "Bader", + "Baier", + "Baldauf", + "Barth", + "Bartl", + "Bauer", + "Baumann", + "Baumgartner", + "Bayer", + "Beck", + "Becker", + "Beer", + "Berchtold", + "Berger", + "Bergmann", + "Berner", + "Bernhard", + "Berthold", + "Bichler", + "Biedermann", + "Binder", + "Bischof", + "Bitschnau", + "Bittner", + "Blauensteiner", + "Blum", + "Blümel", + "Bock", + "Bodner", + "Bogner", + "Brandl", + "Brandner", + "Brandstetter", + "Brandstätter", + "Brandtner", + "Braun", + "Brenner", + "Breuer", + "Bruckner", + "Brugger", + "Brunner", + "Bräuer", + "Buchberger", + "Buchegger", + "Bucher", + "Buchinger", + "Buchner", + "Burger", + "Burgstaller", + "Burtscher", + "Bäck", + "Böck", + "Böhler", + "Böhm", + "Bösch", + "Bürger", + "Dallinger", + "Dangl", + "Danner", + "Danninger", + "Decker", + "Dengg", + "Denk", + "Deutschmann", + "Dietl", + "Dietrich", + "Dirnberger", + "Dittrich", + "Dobler", + "Doppler", + "Dorfer", + "Dorn", + "Dorner", + "Draxler", + "Dünser", + "Eberhard", + "Eberharter", + "Eberl", + "Ebner", + "Ecker", + "Eder", + "Edlinger", + "Egger", + "Eibl", + "Eichberger", + "Eichhorn", + "Eichinger", + "Eisl", + "Eisner", + "Eller", + "Ender", + "Engel", + "Engl", + "Enzinger", + "Erber", + "Erhart", + "Erlacher", + "Erler", + "Ernst", + "Ertl", + "Fabian", + "Falkner", + "Fankhauser", + "Farkas", + "Fasching", + "Fehringer", + "Feichtenschlager", + "Feichter", + "Feichtinger", + "Feichtner", + "Feigl", + "Felber", + "Felder", + "Fellinger", + "Fellner", + "Fercher", + "Ferstl", + "Fichtinger", + "Fiedler", + "Fink", + "Fischer", + "Fitz", + "Fleck", + "Fleischhacker", + "Fleischmann", + "Foidl", + "Forster", + "Forstner", + "Frank", + "Franz", + "Freitag", + "Freudenthaler", + "Frey", + "Frick", + "Friedl", + "Friedrich", + "Frisch", + "Fritsch", + "Fritz", + "Froschauer", + "Fröhlich", + "Fröschl", + "Frühwirth", + "Fuchs", + "Fuhrmann", + "Füreder", + "Fürst", + "Gabriel", + "Gahleitner", + "Galler", + "Gamsjäger", + "Gangl", + "Gartner", + "Gasser", + "Gassner", + "Gattringer", + "Geier", + "Geiger", + "Geisler", + "Geyer", + "Gindl", + "Glaser", + "Glatz", + "Glück", + "Gmeiner", + "Gollner", + "Gosch", + "Grabher", + "Grabner", + "Graf", + "Grasser", + "Grassl", + "Gratz", + "Gratzer", + "Gratzl", + "Greiner", + "Griesser", + "Grill", + "Gritsch", + "Gross", + "Groß", + "Gruber", + "Grundner", + "Grünberger", + "Grüner", + "Grünwald", + "Gschaider", + "Gschwandtner", + "Gstrein", + "Guggenberger", + "Gutmann", + "Gärtner", + "Göschl", + "Götz", + "Günther", + "Haas", + "Haberl", + "Hacker", + "Hackl", + "Haderer", + "Hafner", + "Hagen", + "Hager", + "Hahn", + "Haid", + "Haiden", + "Haider", + "Haidinger", + "Haindl", + "Hainzl", + "Haller", + "Hammer", + "Hammerer", + "Hammerl", + "Handl", + "Handler", + "Haring", + "Harrer", + "Hartl", + "Hartmann", + "Haslauer", + "Haslinger", + "Hattinger", + "Hauer", + "Haumer", + "Hausberger", + "Hauser", + "Hebenstreit", + "Hechenberger", + "Heger", + "Heigl", + "Heim", + "Heindl", + "Heinrich", + "Heinz", + "Heinzl", + "Heiss", + "Heissenberger", + "Held", + "Hell", + "Heller", + "Helm", + "Hemetsberger", + "Herbst", + "Hermann", + "Herrmann", + "Herzog", + "Himmelbauer", + "Hinterberger", + "Hinteregger", + "Hinterleitner", + "Hirsch", + "Hirschmann", + "Hochleitner", + "Hochreiter", + "Hofbauer", + "Hofer", + "Hoffmann", + "Hofinger", + "Hofmann", + "Hofmeister", + "Hofstetter", + "Hofstätter", + "Holl", + "Hollaus", + "Holler", + "Holzer", + "Holzinger", + "Holzknecht", + "Holzmann", + "Horak", + "Horn", + "Hosp", + "Huber", + "Hubmann", + "Huemer", + "Hufnagl", + "Humer", + "Hummel", + "Hummer", + "Huter", + "Hutter", + "Hutterer", + "Hämmerle", + "Häusler", + "Hödl", + "Höfer", + "Höfler", + "Höglinger", + "Höller", + "Hölzl", + "Hörl", + "Hörmann", + "Hübner", + "Hütter", + "Jahn", + "Jandl", + "Janisch", + "Jank", + "Jauk", + "Jenewein", + "Jost", + "Jovanovic", + "Juen", + "Jung", + "Jungwirth", + "Jäger", + "Jöbstl", + "Kager", + "Kahr", + "Kain", + "Kaindl", + "Kainz", + "Kaiser", + "Kalcher", + "Kaltenbrunner", + "Kaltenböck", + "Kaltenegger", + "Kammerer", + "Kapeller", + "Kappel", + "Kargl", + "Karl", + "Karner", + "Karrer", + "Kaspar", + "Kasper", + "Kastner", + "Kaufmann", + "Keller", + "Kellner", + "Keplinger", + "Kern", + "Kerschbaum", + "Kerschbaumer", + "Kessler", + "Kirchmair", + "Kirchner", + "Kirschner", + "Kiss", + "Kitzler", + "Klammer", + "Klaus", + "Klausner", + "Klein", + "Klement", + "Klinger", + "Klingler", + "Klocker", + "Kloiber", + "Klotz", + "Klug", + "Knapp", + "Knaus", + "Knoll", + "Kober", + "Koch", + "Kocher", + "Kofler", + "Kogler", + "Kohl", + "Kohler", + "Kolar", + "Kolb", + "Koller", + "Kollmann", + "Kolm", + "Konrad", + "Kopf", + "Kopp", + "Koppensteiner", + "Kraft", + "Krainer", + "Krainz", + "Kral", + "Krall", + "Kramer", + "Krammer", + "Kratzer", + "Kraus", + "Kraxner", + "Kreidl", + "Kreiner", + "Kremser", + "Krenn", + "Kreuzer", + "Kriegl", + "Kronberger", + "Kronsteiner", + "Krug", + "Kröll", + "Kucera", + "Kugler", + "Kuhn", + "Kummer", + "Kunz", + "Kurz", + "Kurzmann", + "Käfer", + "Köberl", + "Köck", + "Köhler", + "Kölbl", + "Köll", + "König", + "Kössler", + "Lackner", + "Ladner", + "Lagler", + "Laimer", + "Lammer", + "Lampert", + "Lampl", + "Lamprecht", + "Landl", + "Lang", + "Langer", + "Larcher", + "Lassnig", + "Leber", + "Lechner", + "Lederer", + "Leeb", + "Lehner", + "Leibetseder", + "Leitgeb", + "Leithner", + "Leitner", + "Lengauer", + "Lenz", + "Leonhartsberger", + "Leopold", + "Lerch", + "Lercher", + "Lettner", + "Leutgeb", + "Lichtenegger", + "Linder", + "Lindinger", + "Lindner", + "Lindorfer", + "Lintner", + "Lipp", + "List", + "Loibl", + "Loidl", + "Lorenz", + "Ludwig", + "Luger", + "Luttenberger", + "Lutz", + "Löffler", + "Macher", + "Mader", + "Maier", + "Maierhofer", + "Mair", + "Mairhofer", + "Mandl", + "Mann", + "Margreiter", + "Maringer", + "Mark", + "Markl", + "Marte", + "Martin", + "Marx", + "Mathis", + "Maurer", + "Mayer", + "Mayerhofer", + "Mayr", + "Mayrhofer", + "Meier", + "Meindl", + "Meister", + "Meixner", + "Messner", + "Metzler", + "Meusburger", + "Meyer", + "Mitter", + "Mitteregger", + "Mitterer", + "Mitterlehner", + "Mittermayr", + "Mohr", + "Moosbrugger", + "Moritz", + "Moser", + "Muhr", + "Mörth", + "Mühlbacher", + "Mühlberger", + "Mühlböck", + "Müller", + "Müllner", + "Nagel", + "Nagele", + "Nagl", + "Nemeth", + "Neubacher", + "Neubauer", + "Neugebauer", + "Neuhauser", + "Neuhold", + "Neulinger", + "Neumann", + "Neumayer", + "Neumayr", + "Neumeister", + "Neumüller", + "Neuner", + "Neureiter", + "Neuwirth", + "Niederl", + "Nowak", + "Nussbaumer", + "Nußbaumer", + "Nöbauer", + "Oberhauser", + "Oberhofer", + "Oberleitner", + "Obermayr", + "Obermüller", + "Oberndorfer", + "Ofner", + "Ortner", + "Ostermann", + "Oswald", + "Ott", + "Pacher", + "Pachler", + "Paier", + "Pammer", + "Parzer", + "Pauer", + "Paul", + "Paulitsch", + "Payer", + "Peer", + "Peham", + "Pendl", + "Penz", + "Perner", + "Pertl", + "Pesendorfer", + "Peter", + "Petz", + "Pfeffer", + "Pfeifer", + "Pfeiffer", + "Pfister", + "Pfleger", + "Philipp", + "Pichler", + "Pieber", + "Pilz", + "Pinter", + "Pircher", + "Pirker", + "Plank", + "Plattner", + "Platzer", + "Pock", + "Pohl", + "Pointner", + "Pokorny", + "Pollak", + "Polzer", + "Posch", + "Postl", + "Prager", + "Prantl", + "Praxmarer", + "Prem", + "Prenner", + "Prinz", + "Probst", + "Prohaska", + "Pröll", + "Pucher", + "Puchner", + "Puntigam", + "Punz", + "Putz", + "Pöll", + "Pölzl", + "Pöschl", + "Pühringer", + "Raab", + "Rabitsch", + "Rabl", + "Radl", + "Rainer", + "Ramsauer", + "Rath", + "Rauch", + "Rausch", + "Rauscher", + "Rauter", + "Rechberger", + "Redl", + "Reich", + "Reichel", + "Reicher", + "Reichl", + "Reichmann", + "Reif", + "Reinbacher", + "Reindl", + "Reiner", + "Reinisch", + "Reinprecht", + "Reinthaler", + "Reischl", + "Reisinger", + "Reisner", + "Reitbauer", + "Reiter", + "Reiterer", + "Reithofer", + "Reitinger", + "Renner", + "Resch", + "Rettenbacher", + "Richter", + "Rieder", + "Riedl", + "Riedler", + "Riedmann", + "Rieger", + "Riegler", + "Riener", + "Riepl", + "Rieser", + "Ringhofer", + "Rinner", + "Ritter", + "Rohrer", + "Rohrmoser", + "Rosenberger", + "Rosner", + "Rossmann", + "Roth", + "Rottensteiner", + "Rotter", + "Rudolf", + "Rupp", + "Röck", + "Rössler", + "Sagmeister", + "Sailer", + "Salcher", + "Salzer", + "Salzmann", + "Sammer", + "Santner", + "Sattler", + "Sauer", + "Schachinger", + "Schachner", + "Schaffer", + "Schalk", + "Schaller", + "Schandl", + "Schantl", + "Scharf", + "Scharinger", + "Schartner", + "Schatz", + "Schatzl", + "Schauer", + "Scheer", + "Scheiber", + "Scheidl", + "Schenk", + "Scherer", + "Scherr", + "Scherz", + "Scherzer", + "Scheucher", + "Schiefer", + "Schiestl", + "Schilcher", + "Schiller", + "Schimpl", + "Schinagl", + "Schindler", + "Schinnerl", + "Schlager", + "Schlosser", + "Schlögl", + "Schmid", + "Schmidinger", + "Schmidl", + "Schmidt", + "Schmied", + "Schmuck", + "Schmölzer", + "Schnabl", + "Schneeberger", + "Schneider", + "Schober", + "Scholz", + "Schramm", + "Schrammel", + "Schranz", + "Schreiber", + "Schreiner", + "Schrempf", + "Schrenk", + "Schrittwieser", + "Schröder", + "Schubert", + "Schuh", + "Schuler", + "Schuller", + "Schulz", + "Schuster", + "Schwab", + "Schwaiger", + "Schwaighofer", + "Schwarz", + "Schwarzinger", + "Schwarzl", + "Schweiger", + "Schweighofer", + "Schweitzer", + "Schwendinger", + "Schäfer", + "Schöberl", + "Schöffmann", + "Schöller", + "Schön", + "Schönauer", + "Schönberger", + "Schöpf", + "Schüller", + "Schütz", + "Seebacher", + "Seidl", + "Seifert", + "Seiler", + "Seiser", + "Seitz", + "Seiwald", + "Sieber", + "Sieberer", + "Siegl", + "Sigl", + "Siller", + "Simic", + "Simon", + "Singer", + "Sommer", + "Sonnleitner", + "Sorger", + "Sperl", + "Spiegl", + "Spindler", + "Spitzer", + "Spreitzer", + "Springer", + "Stadlbauer", + "Stadler", + "Stangl", + "Stark", + "Staudacher", + "Staudinger", + "Stecher", + "Stefan", + "Steger", + "Steidl", + "Steiger", + "Steinacher", + "Steinbacher", + "Steinbauer", + "Steinberger", + "Steinböck", + "Steindl", + "Steiner", + "Steininger", + "Steinkellner", + "Steinlechner", + "Steinwender", + "Stelzer", + "Stelzl", + "Stern", + "Steurer", + "Stiegler", + "Stifter", + "Stock", + "Stocker", + "Stockhammer", + "Stockinger", + "Stoiber", + "Stolz", + "Strasser", + "Strauss", + "Strauß", + "Streicher", + "Strobl", + "Strohmaier", + "Strohmayer", + "Strohmeier", + "Stummer", + "Sturm", + "Stöckl", + "Stöger", + "Stückler", + "Stütz", + "Sulzer", + "Suppan", + "Taferner", + "Tanzer", + "Tauber", + "Taucher", + "Teufl", + "Thaler", + "Thalhammer", + "Thaller", + "Thurner", + "Tiefenbacher", + "Tischler", + "Toth", + "Trattner", + "Trauner", + "Traxler", + "Trimmel", + "Trinkl", + "Trummer", + "Uhl", + "Ullmann", + "Ulrich", + "Unger", + "Unterberger", + "Unterweger", + "Urban", + "Varga", + "Veit", + "Vogel", + "Vogl", + "Vogler", + "Vogt", + "Wachter", + "Wagner", + "Walch", + "Walcher", + "Walder", + "Waldner", + "Wallner", + "Walser", + "Walter", + "Waltl", + "Wandl", + "Weber", + "Wechselberger", + "Wegscheider", + "Weidinger", + "Weigl", + "Weinberger", + "Weiser", + "Weiss", + "Weissenböck", + "Weiß", + "Wenger", + "Weninger", + "Wenzl", + "Werner", + "Widhalm", + "Widmann", + "Wiedner", + "Wieland", + "Wiener", + "Wiesbauer", + "Wieser", + "Wiesinger", + "Wiesner", + "Wild", + "Wilfinger", + "Wilhelm", + "Wimmer", + "Windhager", + "Windisch", + "Winkler", + "Winter", + "Wirth", + "Wittmann", + "Wohlmuth", + "Wolf", + "Wurm", + "Wurzer", + "Wurzinger", + "Wögerbauer", + "Wöhrer", + "Yilmaz", + "Zach", + "Zangerl", + "Zauner", + "Zechmeister", + "Zechner", + "Zehetner", + "Zeiler", + "Zeilinger", + "Zeiner", + "Zeller", + "Zenz", + "Zettl", + "Ziegler", + "Zimmermann", + "Zotter", + "Zöchling", + "Zöhrer", ) prefixes_male = ( - 'Herr', 'Dr.', 'Ing.', 'Dipl.-Ing.', 'Prof.', 'Univ.Prof.', + "Herr", + "Dr.", + "Ing.", + "Dipl.-Ing.", + "Prof.", + "Univ.Prof.", ) prefixes_female = ( - 'Frau', 'Dr.', 'Ing.', 'Dipl.-Ing.', 'Prof.', 'Univ.Prof.', + "Frau", + "Dr.", + "Ing.", + "Dipl.-Ing.", + "Prof.", + "Univ.Prof.", ) prefixes_male = ( - 'Herr', 'Dr.', 'Ing.', 'Dipl.-Ing.', 'Prof.', 'Univ.Prof.', + "Herr", + "Dr.", + "Ing.", + "Dipl.-Ing.", + "Prof.", + "Univ.Prof.", ) prefixes_female = ( - 'Frau', 'Dr.', 'Ing.', 'Dipl.-Ing.', 'Prof.', 'Univ.Prof.', + "Frau", + "Dr.", + "Ing.", + "Dipl.-Ing.", + "Prof.", + "Univ.Prof.", ) - prefixes = ('Dr.', 'Mag.', 'Ing.', 'Dipl.-Ing.', 'Prof.', 'Univ.Prof.') + prefixes = ("Dr.", "Mag.", "Ing.", "Dipl.-Ing.", "Prof.", "Univ.Prof.") diff --git a/faker/providers/person/de_CH/__init__.py b/faker/providers/person/de_CH/__init__.py index e7c2be4bde..27b47264b4 100644 --- a/faker/providers/person/de_CH/__init__.py +++ b/faker/providers/person/de_CH/__init__.py @@ -3,356 +3,2237 @@ class Provider(PersonProvider): formats = ( - '{{first_name}} {{last_name}}', - '{{first_name}} {{last_name}}', - '{{first_name}} {{last_name}}', - '{{first_name}} {{last_name}}', - '{{first_name}} {{last_name}}', - '{{first_name}} {{last_name}}', - '{{first_name}} {{last_name}}', - '{{first_name}} {{last_name}}-{{last_name}}', - '{{first_name_female}} {{last_name}} {{last_name}}', - '{{prefix}} {{first_name}} {{last_name}}', + "{{first_name}} {{last_name}}", + "{{first_name}} {{last_name}}", + "{{first_name}} {{last_name}}", + "{{first_name}} {{last_name}}", + "{{first_name}} {{last_name}}", + "{{first_name}} {{last_name}}", + "{{first_name}} {{last_name}}", + "{{first_name}} {{last_name}}-{{last_name}}", + "{{first_name_female}} {{last_name}} {{last_name}}", + "{{prefix}} {{first_name}} {{last_name}}", ) # extracted from https://www.bfs.admin.ch/bfs/it/home/statistiche/popolazione/nascite-decessi/nomi-svizzera.assetdetail.3243313.html # noqa E501 first_names_male = ( - 'Peter', 'Hans', 'Daniel', 'Thomas', 'Andreas', 'Martin', 'Markus', - 'Michael', 'Christian', 'Stefan', 'Walter', 'Urs', 'Marco', 'Bruno', - 'Patrick', 'Werner', 'René', 'Marcel', 'Beat', 'Roland', 'Kurt', - 'Josef', 'David', 'Simon', 'Rolf', 'Heinz', 'Rudolf', 'Paul', 'Roger', - 'Christoph', 'Ernst', 'Pascal', 'Adrian', 'Lukas', 'Marc', 'Robert', - 'Reto', 'Manuel', 'Fabian', 'Alfred', 'Philipp', 'Jürg', 'Matthias', - 'Stephan', 'Franz', 'Anton', 'André', 'Alexander', 'Samuel', 'Jan', - 'Johann', 'Luca', 'Max', 'Roman', 'Mario', 'Fritz', 'Ulrich', 'Dominik', - 'Karl', 'Tobias', 'Oliver', 'Florian', 'Antonio', 'Benjamin', 'Sandro', - 'Bernhard', 'Jonas', 'Felix', 'Raphael', 'Kevin', 'Erich', 'Fabio', - 'Jakob', 'Sven', 'Dario', 'Giuseppe', 'Remo', 'Nicolas', 'Albert', - 'Erwin', 'Richard', 'Nico', 'Michel', 'José', 'Claudio', 'Tim', 'Noah', - 'Joel', 'Heinrich', 'Jörg', 'Robin', 'Sebastian', 'Armin', 'Guido', - 'Silvan', 'Lars', 'Ivan', 'Julian', 'Alois', 'Francesco', 'Sascha', - 'Dominic', 'Johannes', 'Georg', 'Gabriel', 'Manfred', 'Herbert', 'Otto', - 'Alessandro', 'Gerhard', 'Patrik', 'Gian', 'Mathias', 'Leon', 'Willi', - 'Eduard', 'Nicola', 'Hugo', 'Ali', 'Yves', 'Elias', 'Hermann', - 'Philippe', 'Leo', 'Emil', 'Frank', 'Dieter', 'Friedrich', 'Luis', - 'Giovanni', 'Niklaus', 'Alex', 'Roberto', 'Rafael', 'Hanspeter', - 'Diego', 'Nils', 'Leandro', 'Ramon', 'Severin', 'Salvatore', 'Mike', - 'Alain', 'Timo', 'Carlos', 'Arthur', 'Yannick', 'Eric', 'Angelo', 'Ivo', - 'Wolfgang', 'Matteo', 'Joël', 'Andrin', 'Pius', 'Moritz', 'Valentin', - 'Louis', 'Wilhelm', 'Renato', 'Levin', 'Silvio', 'Willy', 'Andrea', - 'Jonathan', 'Jean', 'Livio', 'Loris', 'Damian', 'Theodor', 'Michele', - 'Vincenzo', 'Elia', 'Ralph', 'Klaus', 'Eugen', 'Mark', 'Konrad', - 'Denis', 'Norbert', 'Lorenz', 'Viktor', 'Mehmet', 'Marko', 'Kilian', - 'Hans-Peter', 'Cédric', 'Ralf', 'Aaron', 'Maximilian', 'Carlo', - 'Alessio', 'Olivier', 'Jürgen', 'Luigi', 'Philip', 'Lucas', 'Mauro', - 'Janis', 'Cyrill', 'Linus', 'Davide', 'Othmar', 'Flavio', 'Nino', - 'Arnold', 'Nick', 'Rainer', 'Domenico', 'Adolf', 'Emanuel', 'Oskar', - 'Ben', 'Joshua', 'Leonardo', 'Franco', 'Pierre', 'John', 'Gregor', - 'Fernando', 'Marius', 'Claude', 'Edwin', 'Colin', 'Mustafa', 'Pedro', - 'Stefano', 'Sergio', 'Dominique', 'Juan', 'Nikola', 'Enrico', 'Jens', - 'Daniele', 'Thierry', 'Jose', 'Liam', 'Francisco', 'Ricardo', 'Rico', - 'Christof', 'Aleksandar', 'Dennis', 'Mohamed', 'Joseph', 'Charles', - 'Noel', 'Miguel', 'Laurin', 'Milan', 'Reinhard', 'Lionel', 'Dragan', - 'Hasan', 'Paulo', 'Edgar', 'Silas', 'Hubert', 'Helmut', 'Ibrahim', - 'Ruben', 'Timon', 'Vincent', 'Christopher', 'Finn', 'Ronny', 'Kaspar', - 'Mattia', 'Lorenzo', 'Pietro', 'Björn', 'Hansruedi', 'Gottfried', - 'Joachim', 'Benno', 'Harald', 'Jorge', 'Cedric', 'Nevio', 'Paolo', - 'Gianluca', 'Boris', 'Kai', 'Maurizio', 'Steven', 'Mischa', 'Patric', - 'Zoran', 'Mirco', 'Marvin', 'Dirk', 'Benedikt', 'Uwe', 'Hans-Rudolf', - 'Maurice', 'Massimo', 'Hansjörg', 'Jeremy', 'Niklas', 'Ahmet', - 'Fridolin', 'Dejan', 'Goran', 'Micha', 'Mohammad', 'Ronald', 'Bernd', - 'Mirko', 'Erik', 'Jason', 'Tiago', 'Riccardo', 'Jérôme', 'Igor', - 'Siegfried', 'Pasquale', 'Andri', 'Tom', 'Ueli', 'Amir', 'Cyril', - 'Adriano', 'Alberto', 'Ferdinand', 'Justin', 'Raffael', 'Julien', - 'Lenny', 'Luka', 'Marcus', 'Pirmin', 'Janik', 'Julius', 'Meinrad', - 'Adam', 'James', 'Hüseyin', 'Alexandre', 'Rocco', 'Luc', 'Victor', - 'João', 'Andres', 'Luan', 'Flurin', 'Filip', 'Ismail', 'Danilo', - 'Laurent', 'Raffaele', 'Ahmed', 'Günter', 'Joao', 'Rui', 'Xaver', - 'Fabrizio', 'William', 'Vito', 'Miroslav', 'Lino', 'Albin', 'Jean-Pierre', - 'Basil', 'Till', 'Horst', 'Romeo', 'Aldo', 'Murat', 'Harry', - 'Alfons', 'Pablo', 'Bernard', 'Noé', 'Luciano', 'August', 'Levi', - 'Nando', 'Fabrice', 'Raymond', 'Jamie', 'Georges', 'Steffen', 'Serge', - 'Cristian', 'Samir', 'António', 'Marlon', 'Omar', 'Lian', 'Oscar', - 'Yanick', 'Armando', 'Nikolaus', 'Dylan', 'Hannes', 'Sacha', 'Nuno', - 'Toni', 'Dino', 'Elmar', 'Arno', 'Joaquim', 'Sasa', 'Henry', 'Vladimir', - 'Arben', 'Ryan', 'Bekim', 'Milos', 'Giorgio', 'Ludwig', 'Leonard', - 'Adnan', 'Gilbert', 'Yannik', 'Aron', 'Iwan', 'Maik', 'Dimitri', - 'Erhard', 'François', 'Gabriele', 'Sami', 'Elio', 'Antonino', 'Fynn', - 'Simone', 'Andrew', 'Alan', 'Nenad', 'Frédéric', 'Etienne', 'Janick', - 'Steve', 'Christophe', 'Gianni', 'Urban', 'Anthony', 'Deniz', 'Jon', - 'Alejandro', 'Axel', 'Ian', 'Theo', 'Andrej', 'Brian', 'Lucien', 'Gino', - 'Clemens', 'Yanik', 'Adem', 'Emir', 'Tino', 'Miro', 'Enis', 'Gregory', - 'Danijel', 'Osman', 'Michal', 'Carmine', 'Orlando', 'Enes', 'Giuliano', - 'Timothy', 'Fredy', 'Besnik', 'Vitor', 'Holger', 'Kim', 'Eduardo', - 'Petar', 'Jacques', 'Karim', 'Darko', 'Gustav', 'Emilio', 'Mateo', - 'Alban', 'Marek', 'Oswald', 'Noël', 'Donato', 'Mohammed', 'Roy', 'Kay', - 'Nathan', 'Enea', 'Silvano', 'Josip', 'Valerio', 'Artur', 'Besim', - 'Mika', 'Torsten', 'Romano', 'Heiko', 'Yusuf', 'Chris', 'Naim', 'Burim', - 'Gaetano', 'Hans-Ulrich', 'Olaf', 'Maurus', 'Volker', 'Jean-Claude', - 'Henri', 'Nik', 'Rodrigo', 'Florin', 'Mael', 'Amar', 'Agron', 'Muhamed', - 'Tristan', 'Valon', 'Ahmad', 'Ilir', 'Javier', 'Lorin', 'Yanis', - 'Fatmir', 'Bajram', 'Carmelo', 'Agim', 'Enzo', 'Moreno', 'Cornel', - 'Andy', 'Jeton', 'Blerim', 'Bojan', 'Federico', 'Attila', 'Juri', - 'Tomas', 'Valentino', 'Ismet', 'Jannik', 'Ruedi', 'Afrim', 'Yannic', - 'Ramadan', 'Alfredo', 'Josua', 'Cosimo', 'Gerardo', 'Bastian', - 'Filippo', 'Raoul', 'Halil', 'Yann', 'Georgios', 'Jannis', 'Nicholas', - 'Sean', 'Wilfried', 'Günther', 'Dusan', 'Beda', 'Gerold', 'Gottlieb', - 'Filipe', 'Ilija', 'Carl', 'Ardian', 'Marcello', 'Enver', 'Dean', - 'Dion', 'Tenzin', 'Zeljko', 'Carsten', 'Diogo', 'Alen', 'Egon', 'Aurel', - 'Yannis', 'Edin', 'Hans-Jörg', 'Tomislav', 'Mohamad', 'Bujar', 'Raul', - 'Slobodan', 'Driton', 'Maxim', 'Francis', 'Hansueli', 'Ivica', 'Nelson', - 'Emanuele', 'Konstantin', 'Fred', 'Naser', 'Gerd', 'Kristian', 'Selim', - 'Corsin', 'Dietmar', 'George', 'Piotr', 'Giacomo', 'Ingo', 'Andre', - 'Malik', 'Lothar', 'Jochen', 'Sinan', 'Thorsten', 'Tiziano', 'Gilles', - 'Avni', 'Jann', 'Lio', 'Niels', 'Emmanuel', 'Leonhard', 'Lorik', - 'Aurelio', 'Gion', 'Liridon', 'Marino', 'Can', 'Kenan', 'Ewald', - 'Stéphane', 'Dalibor', 'Jozef', 'Noe', 'Bryan', 'Dan', 'Santiago', - 'Damiano', 'Arian', 'Rosario', 'Giancarlo', 'Nathanael', 'Emre', - 'Stephen', 'Hassan', 'Jovan', 'Egzon', 'Reinhold', 'Tomasz', 'Vittorio', - 'Patrice', 'Tibor', 'Jost', 'Elvis', 'Lean', 'Henrik', 'Musa', 'Noa', - 'Udo', 'Almir', 'Van', 'Dietrich', 'Mladen', 'Armend', 'Arlind', 'Milo', - 'Arsim', 'Bashkim', 'Dimitrios', 'Matthew', 'Ömer', 'Abdullah', 'Hakan', - 'Gerald', 'Tommaso', 'Joris', 'Damir', 'Vinzenz', 'Marcos', 'Raphaël', - 'Ennio', 'Melvin', 'Leander', 'Kuno', 'Massimiliano', 'Maël', 'Anto', - 'Branko', 'Fadil', 'Kemal', 'Muhammed', 'Hendrik', 'Pawel', 'Jeremias', - 'Léon', 'Leano', 'Rémy', 'Giulio', 'Muhamet', 'Lulzim', 'Konstantinos', - 'Pavel', 'Rinaldo', 'Omer', 'Simeon', 'Gian-Luca', 'Maurin', 'Antoine', - 'Frederik', 'Janic', 'Faton', 'Marcin', 'Sébastien', 'Cem', 'Curdin', - 'Endrit', 'Nemanja', 'Karsten', 'Renzo', 'Jerome', 'Krzysztof', - 'Jeffrey', 'Sebastiano', 'Ernesto', 'Lazar', 'Ramazan', 'Gérard', - 'Ajan', 'Emin', 'Ioannis', 'Jesus', 'Alfonso', 'Yasin', 'Jaron', - 'Alexis', 'Orhan', 'Artan', 'Morris', 'Angel', 'Janosch', 'Rene', - 'Shaban', 'Jakub', 'Loïc', 'Kristijan', 'Enrique', 'Skender', - 'Gianfranco', 'Mathieu', 'Xavier', 'Mathis', 'Didier', 'Arif', 'Hamza', - 'Jacob', 'Leart', 'Laszlo', 'Predrag', 'Mentor', 'Wendelin', 'Luís', - 'Constantin', 'Erion', 'Berat', 'Dardan', 'Melchior', 'Serkan', - 'Dorian', 'Eren', 'Fatih', 'Luzius', 'Nebojsa', 'Metin', 'Diar', 'Rino', - 'Ekrem', 'Isa', 'Jetmir', 'Edward', 'Nikolaos', 'Gazmend', 'Haris', - 'Kian', 'Ensar', 'Mirsad', 'Danny', 'Senad', 'Donat', 'Bilal', 'Ron', - 'Nael', 'Guy', 'Julio', 'Kujtim', 'Kushtrim', 'Lutz', 'Balthasar', - 'Rouven', 'Lias', 'Neil', 'Abraham', 'Magnus', 'Sérgio', 'Hansjürg', - 'Said', 'Ismael', 'Detlef', 'Umberto', 'Admir', 'Jayden', 'Jaime', - 'Karl-Heinz', 'Tomás', 'Florim', 'Achim', 'Devin', 'Maxime', 'Fitim', - 'Jean-Marc', 'Rayan', 'Sadik', 'Tarik', 'Abdul', 'Jack', 'Mergim', - 'Nelio', 'Sam', 'Flamur', 'Ignaz', 'Samuele', 'Tony', 'Petr', - 'Waldemar', 'Arda', 'Ardit', 'Lukasz', 'Milorad', 'Nicolai', 'Ramiz', - 'Aziz', 'Kamil', 'Rinor', 'Safet', 'Piero', 'Erkan', 'Niko', 'Zsolt', - 'Ernest', 'Miodrag', 'Alvaro', 'Astrit', 'Edmund', 'Jules', 'Cristiano', - 'Ivano', 'Kenneth', 'Saverio', 'Semir', 'Burak', 'Theophil', 'Altin', - 'Andrzej', 'Jonah', 'Jiri', 'Salih', 'Zoltán', 'Ferenc', 'Grzegorz', - 'Irfan', 'Johan', 'Kaan', 'Süleyman', 'Hussein', 'Rexhep', 'Besart', - 'Janos', 'Labinot', 'Onur', 'Stjepan', 'Domenic', 'Siro', 'Abel', - 'Florent', 'Christos', 'Swen', 'Branislav', 'Mato', 'Amin', 'Matej', - 'Slavko', 'Jusuf', 'Luke', 'Slavisa', 'Erol', 'Gabor', 'Jasmin', - 'Visar', 'Sinisa', 'Isidor', 'Merlin', 'Claus', 'Marin', 'Zoltan', - 'Muhammad', 'Neo', 'Zeno', 'Istvan', 'Adis', 'Edon', 'Gil', 'Leopold', - 'Hartmut', 'Raimund', 'Ken', 'Csaba', 'Kerim', 'Norman', 'Lucio', - 'László', 'Marjan', 'Damjan', 'Eugenio', 'Domingos', 'Reiner', - 'Augusto', 'Gzim', 'Nazmi', 'Laurenz', 'Zlatko', 'Jaroslav', 'Nevin', - 'Biagio', 'Felice', 'Balz', 'Boban', 'Marcelo', 'Caspar', 'Ledion', - 'Rodolfo', 'Aldin', 'Matti', 'Remzi', 'Ljubisa', 'Til', 'Péter', 'Umut', - 'Baris', 'Lirim', 'Mehdi', 'Edmond', 'Gonçalo', 'Jasin', 'Niclas', - 'Jordan', 'Mahmoud', 'Stanislav', 'Cornelius', 'Jona', 'Khaled', - 'Quentin', 'Gökhan', 'Imer', 'Volkan', 'Harun', 'Miran', 'Damien', - 'Gennaro', 'Jari', 'Marian', 'Rüdiger', 'Albrecht', 'Mile', 'Thiago', - 'Yvan', 'Alwin', 'Gani', 'Mahmut', 'Pero', 'Evan', 'Fisnik', 'Idriz', - 'Sergej', 'Sabri', 'Felipe', 'István', 'Dave', 'Hans-Jürgen', 'Jean-Luc', - 'Kastriot', 'Mariusz', 'Arne', 'Faruk', 'Gebhard', 'German', - 'Tamás', 'Anes', 'Arbnor', 'Mats', 'Drilon', 'Fábio', 'Mihajlo', - 'Sedat', 'Tahir', + "Peter", + "Hans", + "Daniel", + "Thomas", + "Andreas", + "Martin", + "Markus", + "Michael", + "Christian", + "Stefan", + "Walter", + "Urs", + "Marco", + "Bruno", + "Patrick", + "Werner", + "René", + "Marcel", + "Beat", + "Roland", + "Kurt", + "Josef", + "David", + "Simon", + "Rolf", + "Heinz", + "Rudolf", + "Paul", + "Roger", + "Christoph", + "Ernst", + "Pascal", + "Adrian", + "Lukas", + "Marc", + "Robert", + "Reto", + "Manuel", + "Fabian", + "Alfred", + "Philipp", + "Jürg", + "Matthias", + "Stephan", + "Franz", + "Anton", + "André", + "Alexander", + "Samuel", + "Jan", + "Johann", + "Luca", + "Max", + "Roman", + "Mario", + "Fritz", + "Ulrich", + "Dominik", + "Karl", + "Tobias", + "Oliver", + "Florian", + "Antonio", + "Benjamin", + "Sandro", + "Bernhard", + "Jonas", + "Felix", + "Raphael", + "Kevin", + "Erich", + "Fabio", + "Jakob", + "Sven", + "Dario", + "Giuseppe", + "Remo", + "Nicolas", + "Albert", + "Erwin", + "Richard", + "Nico", + "Michel", + "José", + "Claudio", + "Tim", + "Noah", + "Joel", + "Heinrich", + "Jörg", + "Robin", + "Sebastian", + "Armin", + "Guido", + "Silvan", + "Lars", + "Ivan", + "Julian", + "Alois", + "Francesco", + "Sascha", + "Dominic", + "Johannes", + "Georg", + "Gabriel", + "Manfred", + "Herbert", + "Otto", + "Alessandro", + "Gerhard", + "Patrik", + "Gian", + "Mathias", + "Leon", + "Willi", + "Eduard", + "Nicola", + "Hugo", + "Ali", + "Yves", + "Elias", + "Hermann", + "Philippe", + "Leo", + "Emil", + "Frank", + "Dieter", + "Friedrich", + "Luis", + "Giovanni", + "Niklaus", + "Alex", + "Roberto", + "Rafael", + "Hanspeter", + "Diego", + "Nils", + "Leandro", + "Ramon", + "Severin", + "Salvatore", + "Mike", + "Alain", + "Timo", + "Carlos", + "Arthur", + "Yannick", + "Eric", + "Angelo", + "Ivo", + "Wolfgang", + "Matteo", + "Joël", + "Andrin", + "Pius", + "Moritz", + "Valentin", + "Louis", + "Wilhelm", + "Renato", + "Levin", + "Silvio", + "Willy", + "Andrea", + "Jonathan", + "Jean", + "Livio", + "Loris", + "Damian", + "Theodor", + "Michele", + "Vincenzo", + "Elia", + "Ralph", + "Klaus", + "Eugen", + "Mark", + "Konrad", + "Denis", + "Norbert", + "Lorenz", + "Viktor", + "Mehmet", + "Marko", + "Kilian", + "Hans-Peter", + "Cédric", + "Ralf", + "Aaron", + "Maximilian", + "Carlo", + "Alessio", + "Olivier", + "Jürgen", + "Luigi", + "Philip", + "Lucas", + "Mauro", + "Janis", + "Cyrill", + "Linus", + "Davide", + "Othmar", + "Flavio", + "Nino", + "Arnold", + "Nick", + "Rainer", + "Domenico", + "Adolf", + "Emanuel", + "Oskar", + "Ben", + "Joshua", + "Leonardo", + "Franco", + "Pierre", + "John", + "Gregor", + "Fernando", + "Marius", + "Claude", + "Edwin", + "Colin", + "Mustafa", + "Pedro", + "Stefano", + "Sergio", + "Dominique", + "Juan", + "Nikola", + "Enrico", + "Jens", + "Daniele", + "Thierry", + "Jose", + "Liam", + "Francisco", + "Ricardo", + "Rico", + "Christof", + "Aleksandar", + "Dennis", + "Mohamed", + "Joseph", + "Charles", + "Noel", + "Miguel", + "Laurin", + "Milan", + "Reinhard", + "Lionel", + "Dragan", + "Hasan", + "Paulo", + "Edgar", + "Silas", + "Hubert", + "Helmut", + "Ibrahim", + "Ruben", + "Timon", + "Vincent", + "Christopher", + "Finn", + "Ronny", + "Kaspar", + "Mattia", + "Lorenzo", + "Pietro", + "Björn", + "Hansruedi", + "Gottfried", + "Joachim", + "Benno", + "Harald", + "Jorge", + "Cedric", + "Nevio", + "Paolo", + "Gianluca", + "Boris", + "Kai", + "Maurizio", + "Steven", + "Mischa", + "Patric", + "Zoran", + "Mirco", + "Marvin", + "Dirk", + "Benedikt", + "Uwe", + "Hans-Rudolf", + "Maurice", + "Massimo", + "Hansjörg", + "Jeremy", + "Niklas", + "Ahmet", + "Fridolin", + "Dejan", + "Goran", + "Micha", + "Mohammad", + "Ronald", + "Bernd", + "Mirko", + "Erik", + "Jason", + "Tiago", + "Riccardo", + "Jérôme", + "Igor", + "Siegfried", + "Pasquale", + "Andri", + "Tom", + "Ueli", + "Amir", + "Cyril", + "Adriano", + "Alberto", + "Ferdinand", + "Justin", + "Raffael", + "Julien", + "Lenny", + "Luka", + "Marcus", + "Pirmin", + "Janik", + "Julius", + "Meinrad", + "Adam", + "James", + "Hüseyin", + "Alexandre", + "Rocco", + "Luc", + "Victor", + "João", + "Andres", + "Luan", + "Flurin", + "Filip", + "Ismail", + "Danilo", + "Laurent", + "Raffaele", + "Ahmed", + "Günter", + "Joao", + "Rui", + "Xaver", + "Fabrizio", + "William", + "Vito", + "Miroslav", + "Lino", + "Albin", + "Jean-Pierre", + "Basil", + "Till", + "Horst", + "Romeo", + "Aldo", + "Murat", + "Harry", + "Alfons", + "Pablo", + "Bernard", + "Noé", + "Luciano", + "August", + "Levi", + "Nando", + "Fabrice", + "Raymond", + "Jamie", + "Georges", + "Steffen", + "Serge", + "Cristian", + "Samir", + "António", + "Marlon", + "Omar", + "Lian", + "Oscar", + "Yanick", + "Armando", + "Nikolaus", + "Dylan", + "Hannes", + "Sacha", + "Nuno", + "Toni", + "Dino", + "Elmar", + "Arno", + "Joaquim", + "Sasa", + "Henry", + "Vladimir", + "Arben", + "Ryan", + "Bekim", + "Milos", + "Giorgio", + "Ludwig", + "Leonard", + "Adnan", + "Gilbert", + "Yannik", + "Aron", + "Iwan", + "Maik", + "Dimitri", + "Erhard", + "François", + "Gabriele", + "Sami", + "Elio", + "Antonino", + "Fynn", + "Simone", + "Andrew", + "Alan", + "Nenad", + "Frédéric", + "Etienne", + "Janick", + "Steve", + "Christophe", + "Gianni", + "Urban", + "Anthony", + "Deniz", + "Jon", + "Alejandro", + "Axel", + "Ian", + "Theo", + "Andrej", + "Brian", + "Lucien", + "Gino", + "Clemens", + "Yanik", + "Adem", + "Emir", + "Tino", + "Miro", + "Enis", + "Gregory", + "Danijel", + "Osman", + "Michal", + "Carmine", + "Orlando", + "Enes", + "Giuliano", + "Timothy", + "Fredy", + "Besnik", + "Vitor", + "Holger", + "Kim", + "Eduardo", + "Petar", + "Jacques", + "Karim", + "Darko", + "Gustav", + "Emilio", + "Mateo", + "Alban", + "Marek", + "Oswald", + "Noël", + "Donato", + "Mohammed", + "Roy", + "Kay", + "Nathan", + "Enea", + "Silvano", + "Josip", + "Valerio", + "Artur", + "Besim", + "Mika", + "Torsten", + "Romano", + "Heiko", + "Yusuf", + "Chris", + "Naim", + "Burim", + "Gaetano", + "Hans-Ulrich", + "Olaf", + "Maurus", + "Volker", + "Jean-Claude", + "Henri", + "Nik", + "Rodrigo", + "Florin", + "Mael", + "Amar", + "Agron", + "Muhamed", + "Tristan", + "Valon", + "Ahmad", + "Ilir", + "Javier", + "Lorin", + "Yanis", + "Fatmir", + "Bajram", + "Carmelo", + "Agim", + "Enzo", + "Moreno", + "Cornel", + "Andy", + "Jeton", + "Blerim", + "Bojan", + "Federico", + "Attila", + "Juri", + "Tomas", + "Valentino", + "Ismet", + "Jannik", + "Ruedi", + "Afrim", + "Yannic", + "Ramadan", + "Alfredo", + "Josua", + "Cosimo", + "Gerardo", + "Bastian", + "Filippo", + "Raoul", + "Halil", + "Yann", + "Georgios", + "Jannis", + "Nicholas", + "Sean", + "Wilfried", + "Günther", + "Dusan", + "Beda", + "Gerold", + "Gottlieb", + "Filipe", + "Ilija", + "Carl", + "Ardian", + "Marcello", + "Enver", + "Dean", + "Dion", + "Tenzin", + "Zeljko", + "Carsten", + "Diogo", + "Alen", + "Egon", + "Aurel", + "Yannis", + "Edin", + "Hans-Jörg", + "Tomislav", + "Mohamad", + "Bujar", + "Raul", + "Slobodan", + "Driton", + "Maxim", + "Francis", + "Hansueli", + "Ivica", + "Nelson", + "Emanuele", + "Konstantin", + "Fred", + "Naser", + "Gerd", + "Kristian", + "Selim", + "Corsin", + "Dietmar", + "George", + "Piotr", + "Giacomo", + "Ingo", + "Andre", + "Malik", + "Lothar", + "Jochen", + "Sinan", + "Thorsten", + "Tiziano", + "Gilles", + "Avni", + "Jann", + "Lio", + "Niels", + "Emmanuel", + "Leonhard", + "Lorik", + "Aurelio", + "Gion", + "Liridon", + "Marino", + "Can", + "Kenan", + "Ewald", + "Stéphane", + "Dalibor", + "Jozef", + "Noe", + "Bryan", + "Dan", + "Santiago", + "Damiano", + "Arian", + "Rosario", + "Giancarlo", + "Nathanael", + "Emre", + "Stephen", + "Hassan", + "Jovan", + "Egzon", + "Reinhold", + "Tomasz", + "Vittorio", + "Patrice", + "Tibor", + "Jost", + "Elvis", + "Lean", + "Henrik", + "Musa", + "Noa", + "Udo", + "Almir", + "Van", + "Dietrich", + "Mladen", + "Armend", + "Arlind", + "Milo", + "Arsim", + "Bashkim", + "Dimitrios", + "Matthew", + "Ömer", + "Abdullah", + "Hakan", + "Gerald", + "Tommaso", + "Joris", + "Damir", + "Vinzenz", + "Marcos", + "Raphaël", + "Ennio", + "Melvin", + "Leander", + "Kuno", + "Massimiliano", + "Maël", + "Anto", + "Branko", + "Fadil", + "Kemal", + "Muhammed", + "Hendrik", + "Pawel", + "Jeremias", + "Léon", + "Leano", + "Rémy", + "Giulio", + "Muhamet", + "Lulzim", + "Konstantinos", + "Pavel", + "Rinaldo", + "Omer", + "Simeon", + "Gian-Luca", + "Maurin", + "Antoine", + "Frederik", + "Janic", + "Faton", + "Marcin", + "Sébastien", + "Cem", + "Curdin", + "Endrit", + "Nemanja", + "Karsten", + "Renzo", + "Jerome", + "Krzysztof", + "Jeffrey", + "Sebastiano", + "Ernesto", + "Lazar", + "Ramazan", + "Gérard", + "Ajan", + "Emin", + "Ioannis", + "Jesus", + "Alfonso", + "Yasin", + "Jaron", + "Alexis", + "Orhan", + "Artan", + "Morris", + "Angel", + "Janosch", + "Rene", + "Shaban", + "Jakub", + "Loïc", + "Kristijan", + "Enrique", + "Skender", + "Gianfranco", + "Mathieu", + "Xavier", + "Mathis", + "Didier", + "Arif", + "Hamza", + "Jacob", + "Leart", + "Laszlo", + "Predrag", + "Mentor", + "Wendelin", + "Luís", + "Constantin", + "Erion", + "Berat", + "Dardan", + "Melchior", + "Serkan", + "Dorian", + "Eren", + "Fatih", + "Luzius", + "Nebojsa", + "Metin", + "Diar", + "Rino", + "Ekrem", + "Isa", + "Jetmir", + "Edward", + "Nikolaos", + "Gazmend", + "Haris", + "Kian", + "Ensar", + "Mirsad", + "Danny", + "Senad", + "Donat", + "Bilal", + "Ron", + "Nael", + "Guy", + "Julio", + "Kujtim", + "Kushtrim", + "Lutz", + "Balthasar", + "Rouven", + "Lias", + "Neil", + "Abraham", + "Magnus", + "Sérgio", + "Hansjürg", + "Said", + "Ismael", + "Detlef", + "Umberto", + "Admir", + "Jayden", + "Jaime", + "Karl-Heinz", + "Tomás", + "Florim", + "Achim", + "Devin", + "Maxime", + "Fitim", + "Jean-Marc", + "Rayan", + "Sadik", + "Tarik", + "Abdul", + "Jack", + "Mergim", + "Nelio", + "Sam", + "Flamur", + "Ignaz", + "Samuele", + "Tony", + "Petr", + "Waldemar", + "Arda", + "Ardit", + "Lukasz", + "Milorad", + "Nicolai", + "Ramiz", + "Aziz", + "Kamil", + "Rinor", + "Safet", + "Piero", + "Erkan", + "Niko", + "Zsolt", + "Ernest", + "Miodrag", + "Alvaro", + "Astrit", + "Edmund", + "Jules", + "Cristiano", + "Ivano", + "Kenneth", + "Saverio", + "Semir", + "Burak", + "Theophil", + "Altin", + "Andrzej", + "Jonah", + "Jiri", + "Salih", + "Zoltán", + "Ferenc", + "Grzegorz", + "Irfan", + "Johan", + "Kaan", + "Süleyman", + "Hussein", + "Rexhep", + "Besart", + "Janos", + "Labinot", + "Onur", + "Stjepan", + "Domenic", + "Siro", + "Abel", + "Florent", + "Christos", + "Swen", + "Branislav", + "Mato", + "Amin", + "Matej", + "Slavko", + "Jusuf", + "Luke", + "Slavisa", + "Erol", + "Gabor", + "Jasmin", + "Visar", + "Sinisa", + "Isidor", + "Merlin", + "Claus", + "Marin", + "Zoltan", + "Muhammad", + "Neo", + "Zeno", + "Istvan", + "Adis", + "Edon", + "Gil", + "Leopold", + "Hartmut", + "Raimund", + "Ken", + "Csaba", + "Kerim", + "Norman", + "Lucio", + "László", + "Marjan", + "Damjan", + "Eugenio", + "Domingos", + "Reiner", + "Augusto", + "Gzim", + "Nazmi", + "Laurenz", + "Zlatko", + "Jaroslav", + "Nevin", + "Biagio", + "Felice", + "Balz", + "Boban", + "Marcelo", + "Caspar", + "Ledion", + "Rodolfo", + "Aldin", + "Matti", + "Remzi", + "Ljubisa", + "Til", + "Péter", + "Umut", + "Baris", + "Lirim", + "Mehdi", + "Edmond", + "Gonçalo", + "Jasin", + "Niclas", + "Jordan", + "Mahmoud", + "Stanislav", + "Cornelius", + "Jona", + "Khaled", + "Quentin", + "Gökhan", + "Imer", + "Volkan", + "Harun", + "Miran", + "Damien", + "Gennaro", + "Jari", + "Marian", + "Rüdiger", + "Albrecht", + "Mile", + "Thiago", + "Yvan", + "Alwin", + "Gani", + "Mahmut", + "Pero", + "Evan", + "Fisnik", + "Idriz", + "Sergej", + "Sabri", + "Felipe", + "István", + "Dave", + "Hans-Jürgen", + "Jean-Luc", + "Kastriot", + "Mariusz", + "Arne", + "Faruk", + "Gebhard", + "German", + "Tamás", + "Anes", + "Arbnor", + "Mats", + "Drilon", + "Fábio", + "Mihajlo", + "Sedat", + "Tahir", ) # extracted from https://www.bfs.admin.ch/bfs/it/home/statistiche/popolazione/nascite-decessi/nomi-svizzera.assetdetail.3243318.html # noqa E501 first_names_female = ( - 'Maria', 'Anna', 'Ursula', 'Ruth', 'Elisabeth', 'Sandra', 'Monika', - 'Claudia', 'Verena', 'Nicole', 'Barbara', 'Silvia', 'Andrea', 'Marie', - 'Daniela', 'Christine', 'Karin', 'Marianne', 'Erika', 'Margrit', - 'Brigitte', 'Susanne', 'Rita', 'Laura', 'Sarah', 'Katharina', - 'Rosmarie', 'Esther', 'Heidi', 'Anita', 'Manuela', 'Rosa', 'Doris', - 'Sonja', 'Beatrice', 'Yvonne', 'Gertrud', 'Jacqueline', 'Sara', 'Irene', - 'Ana', 'Franziska', 'Cornelia', 'Fabienne', 'Gabriela', 'Patricia', - 'Martina', 'Julia', 'Edith', 'Eva', 'Isabelle', 'Sabrina', 'Nathalie', - 'Alexandra', 'Corinne', 'Angela', 'Melanie', 'Alice', 'Nadine', - 'Jessica', 'Denise', 'Elena', 'Vanessa', 'Simone', 'Anne', 'Regula', - 'Susanna', 'Carmen', 'Sophie', 'Caroline', 'Emma', 'Nina', 'Tanja', - 'Catherine', 'Sabine', 'Lara', 'Petra', 'Lea', 'Céline', 'Jasmin', - 'Therese', 'Stefanie', 'Johanna', 'Nadia', 'Tamara', 'Chantal', - 'Martha', 'Michelle', 'Christina', 'Marina', 'Adelheid', 'Dora', - 'Monique', 'Rahel', 'Hedwig', 'Lisa', 'Janine', 'Pia', 'Anja', - 'Elsbeth', 'Madeleine', 'Eveline', 'Judith', 'Diana', 'Françoise', - 'Charlotte', 'Maja', 'Eliane', 'Renate', 'Christiane', 'Michèle', - 'Jennifer', 'Bettina', 'Chiara', 'Bernadette', 'Aline', 'Carla', - 'Helena', 'Brigitta', 'Mirjam', 'Theresia', 'Astrid', 'Nadja', 'Jana', - 'Selina', 'Priska', 'Lena', 'Stephanie', 'Lucia', 'Linda', 'Regina', - 'Agnes', 'Olivia', 'Sonia', 'Valérie', 'Klara', 'Ramona', 'Lina', - 'Elsa', 'Helene', 'Monica', 'Iris', 'Hanna', 'Valentina', 'Annemarie', - 'Elisa', 'Margrith', 'Dominique', 'Beatrix', 'Cristina', 'Paula', - 'Magdalena', 'Livia', 'Sofia', 'Patrizia', 'Liliane', 'Nelly', 'Marion', - 'Ida', 'Alina', 'Isabel', 'Vera', 'Stéphanie', 'Giulia', 'Leonie', - 'Jeannette', 'Christa', 'Alessia', 'Véronique', 'Myriam', 'Emilie', - 'Olga', 'Nora', 'Julie', 'Sylvia', 'Margaretha', 'Claudine', 'Marlise', - 'Miriam', 'Sibylle', 'Sylvie', 'Lydia', 'Katja', 'Lorena', 'Jolanda', - 'Rebecca', 'Mia', 'Irma', 'Larissa', 'Luana', 'Martine', 'Deborah', - 'Francesca', 'Veronika', 'Isabella', 'Noemi', 'Ingrid', 'Frieda', - 'Suzanne', 'Liselotte', 'Michaela', 'Florence', 'Evelyne', 'Hildegard', - 'Corina', 'Danielle', 'Laurence', 'Carole', 'Milena', 'Cécile', 'Mara', - 'Luzia', 'Sandrine', 'Gisela', 'Simona', 'Mélanie', 'Béatrice', 'Marta', - 'Antonia', 'Erna', 'Gabriele', 'Katrin', 'Kathrin', 'Melissa', - 'Camille', 'Adriana', 'Fiona', 'Lucie', 'Natalie', 'Teresa', 'Renata', - 'Josiane', 'Sophia', 'Clara', 'Luisa', 'Silvana', 'Jeannine', 'Pascale', - 'Hélène', 'Emilia', 'Joëlle', 'Gabriella', 'Maya', 'Marianna', 'Ines', - 'Léa', 'Claire', 'Marisa', 'Sina', 'Lia', 'Paola', 'Mathilde', 'Sabina', - 'Alessandra', 'Ivana', 'Anne-Marie', 'Elvira', 'Bianca', 'Samira', - 'Cindy', 'Amélie', 'Chloé', 'Kim', 'Victoria', 'Annette', 'Angelina', - 'Dorothea', 'Antoinette', 'Tina', 'Tania', 'Angelika', 'Valeria', - 'Flavia', 'Margaritha', 'Rachel', 'Marguerite', 'Jeanne', 'Yvette', - 'Natalia', 'Alicia', 'Giovanna', 'Mireille', 'Liliana', 'Pauline', - 'Seraina', 'Elodie', 'Ariane', 'Helga', 'Zoé', 'Natascha', 'Muriel', - 'Francine', 'Joana', 'Melina', 'Aurélie', 'Thi', 'Giuseppina', - 'Tatiana', 'Margareta', 'Louise', 'Marija', 'Debora', 'Salome', - 'Viviane', 'Fanny', 'Katia', 'Carolina', 'Irina', 'Bertha', 'Marlene', - 'Noémie', 'Amanda', 'Sarina', 'Marlies', 'Lilian', 'Irène', 'Laetitia', - 'Kristina', 'Jasmine', 'Ella', 'Jenny', 'Gabrielle', 'Carmela', 'Manon', - 'Helen', 'Fatima', 'Stefania', 'Virginie', 'Ladina', 'Jelena', 'Berta', - 'Antonella', 'Rebekka', 'Audrey', 'Anaïs', 'Tatjana', 'Annina', - 'Margot', 'Carina', 'Samantha', 'Evelyn', 'Annamarie', 'Tiziana', - 'Arlette', 'Emily', 'Kerstin', 'Svenja', 'Caterina', 'Christelle', - 'Saskia', 'Elin', 'Lilly', 'Anouk', 'Rose', 'Fatma', 'Lynn', 'Elina', - 'Colette', 'Josette', 'Leila', 'Gerda', 'Susana', 'Geneviève', - 'Désirée', 'Naomi', 'Stella', 'Romina', 'Delphine', 'Aurora', 'Estelle', - 'Juliette', 'Tabea', 'Anina', 'Thérèse', 'Mariana', 'Beatriz', 'Hilda', - 'Lotti', 'Séverine', 'Delia', 'Ronja', 'Gina', 'Mila', 'Antonietta', - 'Veronica', 'Aleksandra', 'Gisèle', 'Lidia', 'Natacha', 'Laure', - 'Pamela', 'Rosemarie', 'Marie-Louise', 'Jael', 'Eleonora', 'Zoe', - 'Franca', 'Hannah', 'Yolanda', 'Birgit', 'Amina', 'Leandra', 'Elise', - 'Alma', 'Anastasia', 'Marlis', 'Fernanda', 'Irmgard', 'Micheline', - 'Elfriede', 'Selma', 'Ilona', 'Danièle', 'Justine', 'Magali', - 'Georgette', 'Graziella', 'Cynthia', 'Cäcilia', 'Loredana', 'Géraldine', - 'Sylviane', 'Heidy', 'Alexia', 'Mary', 'Ingeborg', 'Emine', 'Yara', - 'Ursina', 'Marlène', 'Morgane', 'Michela', 'Katarina', 'Marine', - 'Ulrike', 'Daria', 'Bruna', 'Jasmina', 'Mira', 'Soraya', 'Juliana', - 'Marlyse', 'Agnès', 'Carine', 'Gloria', 'Alena', 'Svetlana', 'Josefina', - 'Annelise', 'Myrta', 'Roberta', 'Pierrette', 'Celine', 'Annika', - 'Mirjana', 'Andrée', 'Célia', 'Serena', 'Christel', 'Susan', 'Jocelyne', - 'Renée', 'Vesna', 'Andreia', 'Elizabeth', 'Cinzia', 'Karen', 'Cecilia', - 'Karine', 'Marlen', 'Ilaria', 'Virginia', 'Suzana', 'Rose-Marie', - 'Jeanine', 'Margarita', 'Joanna', 'Coralie', 'Elif', 'Dina', 'Janina', - 'Josefine', 'Mina', 'Hannelore', 'Gordana', 'Luciana', 'Heike', - 'Aurelia', 'Luna', 'Dagmar', 'Filomena', 'Dolores', 'Raymonde', - 'Prisca', 'Annick', 'Huguette', 'Elisabetha', 'Dragana', 'Leona', - 'Elke', 'Inès', 'Valerie', 'Ayse', 'Amelia', 'Flurina', 'Marie-Thérèse', - 'Roswitha', 'Rosanna', 'Ginette', 'Matilde', 'Mélissa', 'Yolande', - 'Océane', 'Giada', 'Murielle', 'Danijela', 'Sanja', 'Slavica', - 'Adelina', 'Valentine', 'Catarina', 'Raquel', 'Emmanuelle', 'Dana', - 'Erica', 'Marcelle', 'Nancy', 'Germaine', 'Concetta', 'Gianna', 'Jade', - 'Lucienne', 'Letizia', 'Fatime', 'Odette', 'Solange', 'Lily', 'Nada', - 'Lucy', 'Margherita', 'Hana', 'Elisabetta', 'Leana', 'Vivienne', - 'Viola', 'Ljiljana', 'Yasmin', 'Agatha', 'Jutta', 'Anabela', 'Laila', - 'Romana', 'Gaëlle', 'Belinda', 'Aida', 'Federica', 'Giuliana', 'Marie-Claire', - 'Mirella', 'Eliana', 'Paulina', 'Diane', 'Paulette', 'Mona', - 'Milica', 'Corinna', 'Yasmine', 'Annalise', 'Hatice', 'Alyssa', 'Ellen', - 'Kelly', 'Biljana', 'Noelia', 'Alisha', 'Léonie', 'Amandine', 'Amelie', - 'Amy', 'Lilli', 'Nelli', 'Margaux', 'Melisa', 'Anneliese', 'Marie-Claude', - 'Sheila', 'Dragica', 'Xenia', 'Violeta', 'Annie', 'Lou', - 'Meret', 'Ute', 'Irena', 'Catia', 'Giuseppa', 'Sybille', 'Lana', - 'Celina', 'Aylin', 'Zita', 'Karolina', 'Louisa', 'Luise', 'Rosina', - 'Jeanette', 'Sharon', 'Henriette', 'Joy', 'Inge', 'Carola', 'Tiffany', - 'Margarete', 'Marietta', 'Josefa', 'Leyla', 'Nuria', 'Anne-Lise', - 'Gilberte', 'Giorgia', 'Emanuela', 'Daisy', 'Angelica', 'Josephine', - 'Ilse', 'Natasa', 'Andrina', 'Fabiana', 'Flora', 'Maude', 'Melinda', - 'Silke', 'Enya', 'Amira', 'Beate', 'Viktoria', 'Francisca', 'Merita', - 'Odile', 'Snezana', 'Ariana', 'Carol', 'Medina', 'Romy', 'Noëlle', - 'Alissa', 'Elisabete', 'Camilla', 'Miranda', 'Leonora', 'Lejla', - 'Zeynep', 'Maeva', 'Domenica', 'Raffaella', 'Salomé', 'Ornella', - 'Rosaria', 'Alisa', 'Alba', 'Zorica', 'Roxane', 'Raphaela', 'Inês', - 'Hermine', 'Waltraud', 'Aude', 'Selin', 'Claude', 'Arianna', - 'Angélique', 'Leticia', 'Malin', 'Viviana', 'Annelies', 'Damaris', - 'Liv', 'Maëlle', 'Sigrid', 'Jill', 'Karina', 'Liana', 'Eline', 'Lotte', - 'Lise', 'Rina', 'Morena', 'Marilena', 'Leonor', 'Annamaria', 'Albina', - 'Dijana', 'Grazia', 'Ester', 'Vivien', 'Käthi', 'Tara', 'Aurore', - 'Katarzyna', 'Amalia', 'Celia', 'Seline', 'Anisa', 'Azra', 'Adeline', - 'Fabiola', 'Agnieszka', 'Greta', 'Jane', 'Vincenza', 'Rosalia', 'Marie-Christine', - 'Marijana', 'Jara', 'Gudrun', 'Edona', 'Gioia', 'Marcia', - 'Myrtha', 'Ekaterina', 'Lucette', 'Gertrude', 'Ljubica', 'Adrienne', - 'Malika', 'Ava', 'Yael', 'Lola', 'Marinette', 'Teuta', 'Joelle', - 'Beata', 'Line', 'Priscilla', 'Rosalie', 'Mariette', 'Ada', 'Marielle', - 'Juliane', 'Emina', 'Arta', 'Margarida', 'Claire-Lise', 'Gaia', 'Antje', - 'Raffaela', 'Mercedes', 'Vlora', 'Arlinda', 'Nicoletta', 'Alison', - 'Ottilia', 'Clémence', 'Lisbeth', 'Shqipe', 'Adele', 'Maryline', - 'Sónia', 'Ewa', 'Drita', 'Gladys', 'Dilara', 'Malgorzata', 'Eleni', - 'Sandy', 'Marika', 'Marthe', 'Norma', 'Carolin', 'Ina', 'Agathe', - 'Alea', 'Anke', 'Zora', 'Cristiana', 'Marie-José', 'Liridona', 'Romane', - 'Noa', 'Shpresa', 'Esma', 'Assunta', 'Vittoria', 'Blerta', 'Ema', - 'Elma', 'Anika', 'Marie-France', 'Samanta', 'Mariella', 'Meryem', - 'Tânia', 'Ghislaine', 'Marica', 'Desirée', 'Britta', 'Joséphine', - 'Moira', 'Maud', 'Gemma', 'Silja', 'Sladjana', 'Sanela', 'Iva', 'Ann', - 'Nadège', 'Corine', 'Frida', 'Cheyenne', 'Theres', 'Lilia', 'Matilda', - 'Geraldine', 'Lisette', 'Margaret', 'Eloïse', 'Felicia', 'Hulda', - 'Kathleen', 'Erina', 'Jovana', 'Timea', 'Sofie', 'Wanda', 'Anne-Sophie', - 'Zahra', 'Florentina', 'Alexa', 'Ruzica', 'Ganimete', 'Herta', 'Agata', - 'Yasemin', 'Frédérique', 'Nicola', 'Norah', 'Lorenza', 'Ilenia', - 'Khadija', 'Elda', 'Felicitas', 'Charline', 'Ela', 'Eliza', 'Katalin', - 'Rafaela', 'Tanya', 'Theresa', 'Floriane', 'Katherine', 'Asia', - 'Mathilda', 'Fabia', 'Fatmire', 'Imelda', 'Susi', 'Zuzana', 'Cassandra', - 'Donatella', 'Antonina', 'Luz', 'Yasmina', 'Eleonore', 'Bluette', - 'Malea', 'Danica', 'Dunja', 'Kirsten', 'Eileen', 'Mirela', 'Vanesa', - 'Filipa', 'Léna', 'Jaqueline', 'Evelin', 'Violette', 'Vjollca', - 'Mariam', 'Maryam', 'Amela', 'Luigia', 'Noëmi', 'Joyce', 'Pierina', - 'Aferdita', 'Cátia', 'Mandy', 'Regine', 'Branka', 'Radmila', 'Vreneli', - 'Marcella', 'Grace', 'Ludivine', 'Natasha', 'Olena', 'Elea', 'Jil', - 'Anne-Laure', 'Eléonore', 'Ayla', 'Mégane', 'Maddalena', 'Sereina', - 'Tenzin', 'Dafina', 'Eve', 'Leslie', 'Alix', 'Kiara', 'Ardita', 'Aisha', - 'Margit', 'Janet', 'Kira', 'Margreth', 'Amra', 'Marcela', 'Solène', - 'Kristin', 'Fitore', 'Rosalba', 'Edina', 'Mariangela', 'Agnese', - 'Albulena', 'Joanne', 'Ylenia', 'Clarissa', 'Magda', 'Marie-Laure', - 'Anna-Maria', 'Luljeta', 'Marjorie', 'Annalisa', 'Lidija', 'Ajla', - 'Sanije', 'Wendy', 'Wilma', 'Layla', 'Thea', 'Esra', 'Jaël', 'Fernande', - 'Vania', 'Lindita', 'Tessa', 'Mimoza', 'Kata', 'Maryse', 'Dalia', - 'Käthe', 'Blanka', 'Katerina', 'Ophélie', 'Leni', 'Egzona', 'Eugenia', - 'Lavinia', 'Léane', 'Bukurije', 'Cordula', 'Teodora', 'Nikolina', - 'Özlem', 'Lauriane', 'Milka', 'Patrícia', 'Aloisia', 'Lya', 'Derya', - 'Margret', 'Juana', 'Vilma', 'Annabelle', 'Besarta', 'Norina', - 'Cláudia', 'Nives', 'Hanife', 'Blerina', 'Lydie', 'Gerlinde', 'Déborah', - 'Mirlinda', 'Vivian', 'María', 'Shania', 'Romaine', 'Tuana', 'Berthe', - 'Friederike', 'Susann', 'Rosetta', 'Hava', 'Kaltrina', 'Marie-Jeanne', - 'Iryna', 'Mihaela', + "Maria", + "Anna", + "Ursula", + "Ruth", + "Elisabeth", + "Sandra", + "Monika", + "Claudia", + "Verena", + "Nicole", + "Barbara", + "Silvia", + "Andrea", + "Marie", + "Daniela", + "Christine", + "Karin", + "Marianne", + "Erika", + "Margrit", + "Brigitte", + "Susanne", + "Rita", + "Laura", + "Sarah", + "Katharina", + "Rosmarie", + "Esther", + "Heidi", + "Anita", + "Manuela", + "Rosa", + "Doris", + "Sonja", + "Beatrice", + "Yvonne", + "Gertrud", + "Jacqueline", + "Sara", + "Irene", + "Ana", + "Franziska", + "Cornelia", + "Fabienne", + "Gabriela", + "Patricia", + "Martina", + "Julia", + "Edith", + "Eva", + "Isabelle", + "Sabrina", + "Nathalie", + "Alexandra", + "Corinne", + "Angela", + "Melanie", + "Alice", + "Nadine", + "Jessica", + "Denise", + "Elena", + "Vanessa", + "Simone", + "Anne", + "Regula", + "Susanna", + "Carmen", + "Sophie", + "Caroline", + "Emma", + "Nina", + "Tanja", + "Catherine", + "Sabine", + "Lara", + "Petra", + "Lea", + "Céline", + "Jasmin", + "Therese", + "Stefanie", + "Johanna", + "Nadia", + "Tamara", + "Chantal", + "Martha", + "Michelle", + "Christina", + "Marina", + "Adelheid", + "Dora", + "Monique", + "Rahel", + "Hedwig", + "Lisa", + "Janine", + "Pia", + "Anja", + "Elsbeth", + "Madeleine", + "Eveline", + "Judith", + "Diana", + "Françoise", + "Charlotte", + "Maja", + "Eliane", + "Renate", + "Christiane", + "Michèle", + "Jennifer", + "Bettina", + "Chiara", + "Bernadette", + "Aline", + "Carla", + "Helena", + "Brigitta", + "Mirjam", + "Theresia", + "Astrid", + "Nadja", + "Jana", + "Selina", + "Priska", + "Lena", + "Stephanie", + "Lucia", + "Linda", + "Regina", + "Agnes", + "Olivia", + "Sonia", + "Valérie", + "Klara", + "Ramona", + "Lina", + "Elsa", + "Helene", + "Monica", + "Iris", + "Hanna", + "Valentina", + "Annemarie", + "Elisa", + "Margrith", + "Dominique", + "Beatrix", + "Cristina", + "Paula", + "Magdalena", + "Livia", + "Sofia", + "Patrizia", + "Liliane", + "Nelly", + "Marion", + "Ida", + "Alina", + "Isabel", + "Vera", + "Stéphanie", + "Giulia", + "Leonie", + "Jeannette", + "Christa", + "Alessia", + "Véronique", + "Myriam", + "Emilie", + "Olga", + "Nora", + "Julie", + "Sylvia", + "Margaretha", + "Claudine", + "Marlise", + "Miriam", + "Sibylle", + "Sylvie", + "Lydia", + "Katja", + "Lorena", + "Jolanda", + "Rebecca", + "Mia", + "Irma", + "Larissa", + "Luana", + "Martine", + "Deborah", + "Francesca", + "Veronika", + "Isabella", + "Noemi", + "Ingrid", + "Frieda", + "Suzanne", + "Liselotte", + "Michaela", + "Florence", + "Evelyne", + "Hildegard", + "Corina", + "Danielle", + "Laurence", + "Carole", + "Milena", + "Cécile", + "Mara", + "Luzia", + "Sandrine", + "Gisela", + "Simona", + "Mélanie", + "Béatrice", + "Marta", + "Antonia", + "Erna", + "Gabriele", + "Katrin", + "Kathrin", + "Melissa", + "Camille", + "Adriana", + "Fiona", + "Lucie", + "Natalie", + "Teresa", + "Renata", + "Josiane", + "Sophia", + "Clara", + "Luisa", + "Silvana", + "Jeannine", + "Pascale", + "Hélène", + "Emilia", + "Joëlle", + "Gabriella", + "Maya", + "Marianna", + "Ines", + "Léa", + "Claire", + "Marisa", + "Sina", + "Lia", + "Paola", + "Mathilde", + "Sabina", + "Alessandra", + "Ivana", + "Anne-Marie", + "Elvira", + "Bianca", + "Samira", + "Cindy", + "Amélie", + "Chloé", + "Kim", + "Victoria", + "Annette", + "Angelina", + "Dorothea", + "Antoinette", + "Tina", + "Tania", + "Angelika", + "Valeria", + "Flavia", + "Margaritha", + "Rachel", + "Marguerite", + "Jeanne", + "Yvette", + "Natalia", + "Alicia", + "Giovanna", + "Mireille", + "Liliana", + "Pauline", + "Seraina", + "Elodie", + "Ariane", + "Helga", + "Zoé", + "Natascha", + "Muriel", + "Francine", + "Joana", + "Melina", + "Aurélie", + "Thi", + "Giuseppina", + "Tatiana", + "Margareta", + "Louise", + "Marija", + "Debora", + "Salome", + "Viviane", + "Fanny", + "Katia", + "Carolina", + "Irina", + "Bertha", + "Marlene", + "Noémie", + "Amanda", + "Sarina", + "Marlies", + "Lilian", + "Irène", + "Laetitia", + "Kristina", + "Jasmine", + "Ella", + "Jenny", + "Gabrielle", + "Carmela", + "Manon", + "Helen", + "Fatima", + "Stefania", + "Virginie", + "Ladina", + "Jelena", + "Berta", + "Antonella", + "Rebekka", + "Audrey", + "Anaïs", + "Tatjana", + "Annina", + "Margot", + "Carina", + "Samantha", + "Evelyn", + "Annamarie", + "Tiziana", + "Arlette", + "Emily", + "Kerstin", + "Svenja", + "Caterina", + "Christelle", + "Saskia", + "Elin", + "Lilly", + "Anouk", + "Rose", + "Fatma", + "Lynn", + "Elina", + "Colette", + "Josette", + "Leila", + "Gerda", + "Susana", + "Geneviève", + "Désirée", + "Naomi", + "Stella", + "Romina", + "Delphine", + "Aurora", + "Estelle", + "Juliette", + "Tabea", + "Anina", + "Thérèse", + "Mariana", + "Beatriz", + "Hilda", + "Lotti", + "Séverine", + "Delia", + "Ronja", + "Gina", + "Mila", + "Antonietta", + "Veronica", + "Aleksandra", + "Gisèle", + "Lidia", + "Natacha", + "Laure", + "Pamela", + "Rosemarie", + "Marie-Louise", + "Jael", + "Eleonora", + "Zoe", + "Franca", + "Hannah", + "Yolanda", + "Birgit", + "Amina", + "Leandra", + "Elise", + "Alma", + "Anastasia", + "Marlis", + "Fernanda", + "Irmgard", + "Micheline", + "Elfriede", + "Selma", + "Ilona", + "Danièle", + "Justine", + "Magali", + "Georgette", + "Graziella", + "Cynthia", + "Cäcilia", + "Loredana", + "Géraldine", + "Sylviane", + "Heidy", + "Alexia", + "Mary", + "Ingeborg", + "Emine", + "Yara", + "Ursina", + "Marlène", + "Morgane", + "Michela", + "Katarina", + "Marine", + "Ulrike", + "Daria", + "Bruna", + "Jasmina", + "Mira", + "Soraya", + "Juliana", + "Marlyse", + "Agnès", + "Carine", + "Gloria", + "Alena", + "Svetlana", + "Josefina", + "Annelise", + "Myrta", + "Roberta", + "Pierrette", + "Celine", + "Annika", + "Mirjana", + "Andrée", + "Célia", + "Serena", + "Christel", + "Susan", + "Jocelyne", + "Renée", + "Vesna", + "Andreia", + "Elizabeth", + "Cinzia", + "Karen", + "Cecilia", + "Karine", + "Marlen", + "Ilaria", + "Virginia", + "Suzana", + "Rose-Marie", + "Jeanine", + "Margarita", + "Joanna", + "Coralie", + "Elif", + "Dina", + "Janina", + "Josefine", + "Mina", + "Hannelore", + "Gordana", + "Luciana", + "Heike", + "Aurelia", + "Luna", + "Dagmar", + "Filomena", + "Dolores", + "Raymonde", + "Prisca", + "Annick", + "Huguette", + "Elisabetha", + "Dragana", + "Leona", + "Elke", + "Inès", + "Valerie", + "Ayse", + "Amelia", + "Flurina", + "Marie-Thérèse", + "Roswitha", + "Rosanna", + "Ginette", + "Matilde", + "Mélissa", + "Yolande", + "Océane", + "Giada", + "Murielle", + "Danijela", + "Sanja", + "Slavica", + "Adelina", + "Valentine", + "Catarina", + "Raquel", + "Emmanuelle", + "Dana", + "Erica", + "Marcelle", + "Nancy", + "Germaine", + "Concetta", + "Gianna", + "Jade", + "Lucienne", + "Letizia", + "Fatime", + "Odette", + "Solange", + "Lily", + "Nada", + "Lucy", + "Margherita", + "Hana", + "Elisabetta", + "Leana", + "Vivienne", + "Viola", + "Ljiljana", + "Yasmin", + "Agatha", + "Jutta", + "Anabela", + "Laila", + "Romana", + "Gaëlle", + "Belinda", + "Aida", + "Federica", + "Giuliana", + "Marie-Claire", + "Mirella", + "Eliana", + "Paulina", + "Diane", + "Paulette", + "Mona", + "Milica", + "Corinna", + "Yasmine", + "Annalise", + "Hatice", + "Alyssa", + "Ellen", + "Kelly", + "Biljana", + "Noelia", + "Alisha", + "Léonie", + "Amandine", + "Amelie", + "Amy", + "Lilli", + "Nelli", + "Margaux", + "Melisa", + "Anneliese", + "Marie-Claude", + "Sheila", + "Dragica", + "Xenia", + "Violeta", + "Annie", + "Lou", + "Meret", + "Ute", + "Irena", + "Catia", + "Giuseppa", + "Sybille", + "Lana", + "Celina", + "Aylin", + "Zita", + "Karolina", + "Louisa", + "Luise", + "Rosina", + "Jeanette", + "Sharon", + "Henriette", + "Joy", + "Inge", + "Carola", + "Tiffany", + "Margarete", + "Marietta", + "Josefa", + "Leyla", + "Nuria", + "Anne-Lise", + "Gilberte", + "Giorgia", + "Emanuela", + "Daisy", + "Angelica", + "Josephine", + "Ilse", + "Natasa", + "Andrina", + "Fabiana", + "Flora", + "Maude", + "Melinda", + "Silke", + "Enya", + "Amira", + "Beate", + "Viktoria", + "Francisca", + "Merita", + "Odile", + "Snezana", + "Ariana", + "Carol", + "Medina", + "Romy", + "Noëlle", + "Alissa", + "Elisabete", + "Camilla", + "Miranda", + "Leonora", + "Lejla", + "Zeynep", + "Maeva", + "Domenica", + "Raffaella", + "Salomé", + "Ornella", + "Rosaria", + "Alisa", + "Alba", + "Zorica", + "Roxane", + "Raphaela", + "Inês", + "Hermine", + "Waltraud", + "Aude", + "Selin", + "Claude", + "Arianna", + "Angélique", + "Leticia", + "Malin", + "Viviana", + "Annelies", + "Damaris", + "Liv", + "Maëlle", + "Sigrid", + "Jill", + "Karina", + "Liana", + "Eline", + "Lotte", + "Lise", + "Rina", + "Morena", + "Marilena", + "Leonor", + "Annamaria", + "Albina", + "Dijana", + "Grazia", + "Ester", + "Vivien", + "Käthi", + "Tara", + "Aurore", + "Katarzyna", + "Amalia", + "Celia", + "Seline", + "Anisa", + "Azra", + "Adeline", + "Fabiola", + "Agnieszka", + "Greta", + "Jane", + "Vincenza", + "Rosalia", + "Marie-Christine", + "Marijana", + "Jara", + "Gudrun", + "Edona", + "Gioia", + "Marcia", + "Myrtha", + "Ekaterina", + "Lucette", + "Gertrude", + "Ljubica", + "Adrienne", + "Malika", + "Ava", + "Yael", + "Lola", + "Marinette", + "Teuta", + "Joelle", + "Beata", + "Line", + "Priscilla", + "Rosalie", + "Mariette", + "Ada", + "Marielle", + "Juliane", + "Emina", + "Arta", + "Margarida", + "Claire-Lise", + "Gaia", + "Antje", + "Raffaela", + "Mercedes", + "Vlora", + "Arlinda", + "Nicoletta", + "Alison", + "Ottilia", + "Clémence", + "Lisbeth", + "Shqipe", + "Adele", + "Maryline", + "Sónia", + "Ewa", + "Drita", + "Gladys", + "Dilara", + "Malgorzata", + "Eleni", + "Sandy", + "Marika", + "Marthe", + "Norma", + "Carolin", + "Ina", + "Agathe", + "Alea", + "Anke", + "Zora", + "Cristiana", + "Marie-José", + "Liridona", + "Romane", + "Noa", + "Shpresa", + "Esma", + "Assunta", + "Vittoria", + "Blerta", + "Ema", + "Elma", + "Anika", + "Marie-France", + "Samanta", + "Mariella", + "Meryem", + "Tânia", + "Ghislaine", + "Marica", + "Desirée", + "Britta", + "Joséphine", + "Moira", + "Maud", + "Gemma", + "Silja", + "Sladjana", + "Sanela", + "Iva", + "Ann", + "Nadège", + "Corine", + "Frida", + "Cheyenne", + "Theres", + "Lilia", + "Matilda", + "Geraldine", + "Lisette", + "Margaret", + "Eloïse", + "Felicia", + "Hulda", + "Kathleen", + "Erina", + "Jovana", + "Timea", + "Sofie", + "Wanda", + "Anne-Sophie", + "Zahra", + "Florentina", + "Alexa", + "Ruzica", + "Ganimete", + "Herta", + "Agata", + "Yasemin", + "Frédérique", + "Nicola", + "Norah", + "Lorenza", + "Ilenia", + "Khadija", + "Elda", + "Felicitas", + "Charline", + "Ela", + "Eliza", + "Katalin", + "Rafaela", + "Tanya", + "Theresa", + "Floriane", + "Katherine", + "Asia", + "Mathilda", + "Fabia", + "Fatmire", + "Imelda", + "Susi", + "Zuzana", + "Cassandra", + "Donatella", + "Antonina", + "Luz", + "Yasmina", + "Eleonore", + "Bluette", + "Malea", + "Danica", + "Dunja", + "Kirsten", + "Eileen", + "Mirela", + "Vanesa", + "Filipa", + "Léna", + "Jaqueline", + "Evelin", + "Violette", + "Vjollca", + "Mariam", + "Maryam", + "Amela", + "Luigia", + "Noëmi", + "Joyce", + "Pierina", + "Aferdita", + "Cátia", + "Mandy", + "Regine", + "Branka", + "Radmila", + "Vreneli", + "Marcella", + "Grace", + "Ludivine", + "Natasha", + "Olena", + "Elea", + "Jil", + "Anne-Laure", + "Eléonore", + "Ayla", + "Mégane", + "Maddalena", + "Sereina", + "Tenzin", + "Dafina", + "Eve", + "Leslie", + "Alix", + "Kiara", + "Ardita", + "Aisha", + "Margit", + "Janet", + "Kira", + "Margreth", + "Amra", + "Marcela", + "Solène", + "Kristin", + "Fitore", + "Rosalba", + "Edina", + "Mariangela", + "Agnese", + "Albulena", + "Joanne", + "Ylenia", + "Clarissa", + "Magda", + "Marie-Laure", + "Anna-Maria", + "Luljeta", + "Marjorie", + "Annalisa", + "Lidija", + "Ajla", + "Sanije", + "Wendy", + "Wilma", + "Layla", + "Thea", + "Esra", + "Jaël", + "Fernande", + "Vania", + "Lindita", + "Tessa", + "Mimoza", + "Kata", + "Maryse", + "Dalia", + "Käthe", + "Blanka", + "Katerina", + "Ophélie", + "Leni", + "Egzona", + "Eugenia", + "Lavinia", + "Léane", + "Bukurije", + "Cordula", + "Teodora", + "Nikolina", + "Özlem", + "Lauriane", + "Milka", + "Patrícia", + "Aloisia", + "Lya", + "Derya", + "Margret", + "Juana", + "Vilma", + "Annabelle", + "Besarta", + "Norina", + "Cláudia", + "Nives", + "Hanife", + "Blerina", + "Lydie", + "Gerlinde", + "Déborah", + "Mirlinda", + "Vivian", + "María", + "Shania", + "Romaine", + "Tuana", + "Berthe", + "Friederike", + "Susann", + "Rosetta", + "Hava", + "Kaltrina", + "Marie-Jeanne", + "Iryna", + "Mihaela", ) first_names = first_names_male + first_names_female last_names = ( - 'Ackermann', 'Aebi', 'Albrecht', 'Ammann', 'Amrein', 'Arnold', - 'Bachmann', 'Bader', 'Bär', 'Bättig', 'Bauer', 'Baumann', - 'Baumgartner', 'Baur', 'Beck', 'Benz', 'Berger', 'Bernasconi', - 'Betschart', 'Bianchi', 'Bieri', 'Blaser', 'Blum', 'Bolliger', - 'Bosshard', 'Braun', 'Brun', 'Brunner', 'Bucher', 'Bühler', 'Bühlmann', - 'Burri', 'Christen', 'Egger', 'Egli', 'Eichenberger', 'Erni', 'Ernst', - 'Eugster', 'Fankhauser', 'Favre', 'Fehr', 'Felber', 'Felder', - 'Ferrari', 'Fischer', 'Flückiger', 'Forster', 'Frei', 'Frey', 'Frick', - 'Friedli', 'Fuchs', 'Furrer', 'Gasser', 'Geiger', 'Gerber', 'Gfeller', - 'Giger', 'Gloor', 'Graf', 'Grob', 'Gross', 'Gut', 'Haas', 'Häfliger', - 'Hafner', 'Hartmann', 'Hasler', 'Hauser', 'Hermann', 'Herzog', 'Hess', - 'Hirt', 'Hodel', 'Hofer', 'Hoffmann', 'Hofmann', 'Hofstetter', 'Hotz', - 'Huber', 'Hug', 'Hunziker', 'Hürlimann', 'Imhof', 'Isler', 'Iten', - 'Jäggi', 'Jenni', 'Jost', 'Kägi', 'Kaiser', 'Kälin', 'Käser', - 'Kaufmann', 'Keller', 'Kern', 'Kessler', 'Knecht', 'Koch', 'Kohler', - 'Kuhn', 'Küng', 'Kunz', 'Lang', 'Lanz', 'Lehmann', 'Leu', 'Leunberger', - 'Lüscher', 'Lustenberger', 'Lüthi', 'Lutz', 'Mäder', 'Maier', 'Marti', - 'Martin', 'Maurer', 'Mayer', 'Meier', 'Meili', 'Meister', 'Merz', - 'Mettler', 'Meyer', 'Michel', 'Moser', 'Müller', 'Näf', 'Ott', 'Peter', - 'Pfister', 'Portmann', 'Probst', 'Rey', 'Ritter', 'Roos', 'Roth', - 'Rüegg', 'Schäfer', 'Schaller', 'Schär', 'Schärer', 'Schaub', - 'Scheidegger', 'Schenk', 'Scherrer', 'Schlatter', 'Schmid', 'Schmidt', - 'Schneider', 'Schnyder', 'Schoch', 'Schuler', 'Schumacher', 'Schürch', - 'Schwab', 'Schwarz', 'Schweizer', 'Seiler', 'Senn', 'Sidler', - 'Siegrist', 'Sigrist', 'Spörri', 'Stadelmann', 'Stalder', 'Staub', - 'Stauffer', 'Steffen', 'Steiger', 'Steiner', 'Steinmann', 'Stettler', - 'Stocker', 'Stöckli', 'Stucki', 'Studer', 'Stutz', 'Suter', 'Sutter', - 'Tanner', 'Thommen', 'Tobler', 'Vogel', 'Vogt', 'Wagner', 'Walder', - 'Walter', 'Weber', 'Wegmann', 'Wehrli', 'Weibel', 'Wenger', - 'Wettstein', 'Widmer', 'Winkler', 'Wirth', 'Wirz', 'Wolf', 'Wüthrich', - 'Wyss', 'Zbinden', 'Zehnder', 'Ziegler', 'Zimmermann', 'Zingg', - 'Zollinger', 'Zürcher', + "Ackermann", + "Aebi", + "Albrecht", + "Ammann", + "Amrein", + "Arnold", + "Bachmann", + "Bader", + "Bär", + "Bättig", + "Bauer", + "Baumann", + "Baumgartner", + "Baur", + "Beck", + "Benz", + "Berger", + "Bernasconi", + "Betschart", + "Bianchi", + "Bieri", + "Blaser", + "Blum", + "Bolliger", + "Bosshard", + "Braun", + "Brun", + "Brunner", + "Bucher", + "Bühler", + "Bühlmann", + "Burri", + "Christen", + "Egger", + "Egli", + "Eichenberger", + "Erni", + "Ernst", + "Eugster", + "Fankhauser", + "Favre", + "Fehr", + "Felber", + "Felder", + "Ferrari", + "Fischer", + "Flückiger", + "Forster", + "Frei", + "Frey", + "Frick", + "Friedli", + "Fuchs", + "Furrer", + "Gasser", + "Geiger", + "Gerber", + "Gfeller", + "Giger", + "Gloor", + "Graf", + "Grob", + "Gross", + "Gut", + "Haas", + "Häfliger", + "Hafner", + "Hartmann", + "Hasler", + "Hauser", + "Hermann", + "Herzog", + "Hess", + "Hirt", + "Hodel", + "Hofer", + "Hoffmann", + "Hofmann", + "Hofstetter", + "Hotz", + "Huber", + "Hug", + "Hunziker", + "Hürlimann", + "Imhof", + "Isler", + "Iten", + "Jäggi", + "Jenni", + "Jost", + "Kägi", + "Kaiser", + "Kälin", + "Käser", + "Kaufmann", + "Keller", + "Kern", + "Kessler", + "Knecht", + "Koch", + "Kohler", + "Kuhn", + "Küng", + "Kunz", + "Lang", + "Lanz", + "Lehmann", + "Leu", + "Leunberger", + "Lüscher", + "Lustenberger", + "Lüthi", + "Lutz", + "Mäder", + "Maier", + "Marti", + "Martin", + "Maurer", + "Mayer", + "Meier", + "Meili", + "Meister", + "Merz", + "Mettler", + "Meyer", + "Michel", + "Moser", + "Müller", + "Näf", + "Ott", + "Peter", + "Pfister", + "Portmann", + "Probst", + "Rey", + "Ritter", + "Roos", + "Roth", + "Rüegg", + "Schäfer", + "Schaller", + "Schär", + "Schärer", + "Schaub", + "Scheidegger", + "Schenk", + "Scherrer", + "Schlatter", + "Schmid", + "Schmidt", + "Schneider", + "Schnyder", + "Schoch", + "Schuler", + "Schumacher", + "Schürch", + "Schwab", + "Schwarz", + "Schweizer", + "Seiler", + "Senn", + "Sidler", + "Siegrist", + "Sigrist", + "Spörri", + "Stadelmann", + "Stalder", + "Staub", + "Stauffer", + "Steffen", + "Steiger", + "Steiner", + "Steinmann", + "Stettler", + "Stocker", + "Stöckli", + "Stucki", + "Studer", + "Stutz", + "Suter", + "Sutter", + "Tanner", + "Thommen", + "Tobler", + "Vogel", + "Vogt", + "Wagner", + "Walder", + "Walter", + "Weber", + "Wegmann", + "Wehrli", + "Weibel", + "Wenger", + "Wettstein", + "Widmer", + "Winkler", + "Wirth", + "Wirz", + "Wolf", + "Wüthrich", + "Wyss", + "Zbinden", + "Zehnder", + "Ziegler", + "Zimmermann", + "Zingg", + "Zollinger", + "Zürcher", ) - prefixes = ('Dr.', 'Prof.') + prefixes = ("Dr.", "Prof.") diff --git a/faker/providers/person/de_DE/__init__.py b/faker/providers/person/de_DE/__init__.py index e557e465ed..12987e5a7f 100644 --- a/faker/providers/person/de_DE/__init__.py +++ b/faker/providers/person/de_DE/__init__.py @@ -3,25 +3,25 @@ class Provider(PersonProvider): formats_male = ( - '{{first_name_male}} {{last_name}}', - '{{first_name_male}} {{last_name}}', - '{{first_name_male}} {{last_name}}', - '{{first_name_male}} {{last_name}}', - '{{first_name_male}} {{last_name}}-{{last_name}}', - '{{prefix_male}} {{first_name_male}} {{last_name}}', - '{{first_name_male}} {{last_name}} {{suffix_male}}', - '{{prefix_male}} {{first_name_male}} {{last_name}} {{suffix_male}}', + "{{first_name_male}} {{last_name}}", + "{{first_name_male}} {{last_name}}", + "{{first_name_male}} {{last_name}}", + "{{first_name_male}} {{last_name}}", + "{{first_name_male}} {{last_name}}-{{last_name}}", + "{{prefix_male}} {{first_name_male}} {{last_name}}", + "{{first_name_male}} {{last_name}} {{suffix_male}}", + "{{prefix_male}} {{first_name_male}} {{last_name}} {{suffix_male}}", ) formats_female = ( - '{{first_name_female}} {{last_name}}', - '{{first_name_female}} {{last_name}}', - '{{first_name_female}} {{last_name}}', - '{{first_name_female}} {{last_name}}', - '{{first_name_female}} {{last_name}}-{{last_name}}', - '{{prefix_female}} {{first_name_female}} {{last_name}}', - '{{first_name_female}} {{last_name}} {{suffix_female}}', - '{{prefix_female}} {{first_name_female}} {{last_name}} {{suffix_female}}', + "{{first_name_female}} {{last_name}}", + "{{first_name_female}} {{last_name}}", + "{{first_name_female}} {{last_name}}", + "{{first_name_female}} {{last_name}}", + "{{first_name_female}} {{last_name}}-{{last_name}}", + "{{prefix_female}} {{first_name_female}} {{last_name}}", + "{{first_name_female}} {{last_name}} {{suffix_female}}", + "{{prefix_female}} {{first_name_female}} {{last_name}} {{suffix_female}}", ) formats = formats_male + formats_female @@ -29,398 +29,2440 @@ class Provider(PersonProvider): # From # http://de.wiktionary.org/wiki/Verzeichnis:Deutsch/Liste_der_h%C3%A4ufigsten_m%C3%A4nnlichen_Vornamen_Deutschlands first_names_male = ( - 'Abbas', 'Abdul', 'Abdullah', 'Abraham', 'Abram', 'Achim', 'Ada', - 'Adalbert', 'Adam', 'Adelbert', 'Adem', 'Adolf', 'Adrian', 'Ahmad', - 'Ahmed', 'Ahmet', 'Alan', 'Alban', 'Albert', 'Alberto', 'Albin', - 'Albrecht', 'Aldo', 'Aleksandar', 'Aleksander', 'Aleksandr', 'Aleksej', - 'Alessandro', 'Alex', 'Alexander', 'Alexandre', 'Alexandros', 'Alexei', - 'Alexej', 'Alf', 'Alfons', 'Alfonso', 'Alfred', 'Alfredo', 'Ali', - 'Alois', 'Aloys', 'Alwin', 'Amir', 'Anastasios', 'Anatol', 'Anatoli', - 'Anatolij', 'Andre', 'Andreas', 'Andree', 'Andrei', 'Andrej', 'Andres', - 'Andrew', 'Andrey', 'Andrzej', 'André', 'Andy', 'Angelo', 'Anselm', - 'Ansgar', 'Ante', 'Anthony', 'Anto', 'Anton', 'Antonino', 'Antonio', - 'Antonios', 'Antonius', 'Apostolos', 'Aribert', 'Arif', 'Armin', 'Arnd', - 'Arndt', 'Arne', 'Arnfried', 'Arnim', 'Arno', 'Arnold', 'Arnulf', - 'Arthur', 'Artur', 'Athanasios', 'Attila', 'August', 'Augustin', 'Axel', - 'Aziz', 'Baldur', 'Balthasar', 'Baptist', 'Bartholomäus', 'Bastian', - 'Bayram', 'Bekir', 'Bela', 'Ben', 'Benedikt', 'Benjamin', 'Benno', - 'Berend', 'Bernard', 'Bernd', 'Bernd-Dieter', 'Berndt', 'Bernfried', - 'Bernhard', 'Bernt', 'Bernward', 'Bert', 'Berthold', 'Bertold', - 'Bertram', 'Birger', 'Björn', 'Bodo', 'Bogdan', 'Boris', 'Branko', - 'Brian', 'Bruno', 'Burckhard', 'Burghard', 'Burkard', 'Burkhard', - 'Burkhardt', 'Calogero', 'Carl', 'Carl-Heinz', 'Carlo', 'Carlos', - 'Carmelo', 'Carsten', 'Celal', 'Cemal', 'Cemil', 'Cengiz', 'Cetin', - 'Charles', 'Christian', 'Christof', 'Christoph', 'Christopher', - 'Christos', 'Claas', 'Claudio', 'Claudius', 'Claus', 'Claus-Dieter', - 'Claus-Peter', 'Clemens', 'Conrad', 'Constantin', 'Cord', 'Cornelius', - 'Cosimo', 'Curt', 'Czeslaw', 'Dagobert', 'Damian', 'Dan', 'Daniel', - 'Daniele', 'Danilo', 'Danny', 'Darius', 'Dariusz', 'Darko', 'David', - 'Denis', 'Dennis', 'Denny', 'Detlef', 'Detlev', 'Diedrich', 'Dierk', - 'Dieter', 'Diethard', 'Diethelm', 'Diether', 'Dietmar', 'Dietrich', - 'Dimitri', 'Dimitrios', 'Dino', 'Dirk', 'Ditmar', 'Dittmar', 'Dogan', - 'Domenico', 'Dominic', 'Dominik', 'Donald', 'Dragan', 'Drago', 'Dursun', - 'Dusan', 'Eberhard', 'Eberhardt', 'Eckard', 'Eckart', 'Eckehard', - 'Eckhard', 'Eckhardt', 'Eckhart', 'Edelbert', 'Edgar', 'Edmund', - 'Eduard', 'Edward', 'Edwin', 'Egbert', 'Eggert', 'Egon', 'Ehrenfried', - 'Ehrhard', 'Eitel', 'Ekkehard', 'Ekkehart', 'Ekrem', 'Elias', 'Elmar', - 'Emanuel', 'Emil', 'Emin', 'Emmerich', 'Engelbert', 'Engin', 'Enno', - 'Enrico', 'Enver', 'Ercan', 'Erdal', 'Erdogan', 'Erhard', 'Erhardt', - 'Eric', 'Erich', 'Erik', 'Erkan', 'Ernest', 'Ernst', 'Ernst-August', - 'Ernst-Dieter', 'Ernst-Otto', 'Erol', 'Erwin', 'Eugen', 'Evangelos', - 'Ewald', 'Fabian', 'Falk', 'Falko', 'Faruk', 'Fatih', 'Fedor', 'Felix', - 'Ferdi', 'Ferdinand', 'Ferenc', 'Fernando', 'Filippo', 'Florian', - 'Folker', 'Folkert', 'Francesco', 'Francis', 'Francisco', 'Franco', - 'Franjo', 'Frank', 'Frank-Michael', 'Frank-Peter', 'Franz', - 'Franz Josef', 'Franz-Josef', 'Franz-Peter', 'Franz-Xaver', 'Fred', 'Freddy', - 'Frederic', 'Frederik', 'Fredi', 'Fredo', 'Fredy', 'Fridolin', - 'Friedbert', 'Friedemann', 'Frieder', 'Friedhelm', 'Friedhold', - 'Friedo', 'Friedrich', 'Friedrich-Karl', 'Friedrich-Wilhelm', - 'Frithjof', 'Fritz', 'Gabor', 'Gabriel', 'Gaetano', 'Gebhard', 'Geert', - 'Georg', 'George', 'Georgios', 'Gerald', 'Gerard', 'Gerd', 'Gereon', - 'Gerfried', 'Gerhard', 'Gerhardt', 'Gerhart', 'German', 'Gernot', - 'Gero', 'Gerold', 'Gerolf', 'Gert', 'Gerwin', 'Gilbert', 'Gino', - 'Giorgio', 'Giovanni', 'Gisbert', 'Giuseppe', 'Goran', 'Gordon', - 'Gottfried', 'Gotthard', 'Gotthilf', 'Gotthold', 'Gottlieb', 'Gottlob', - 'Gregor', 'Grzegorz', 'Guenter', 'Guenther', 'Guido', 'Guiseppe', - 'Gunar', 'Gundolf', 'Gunnar', 'Gunter', 'Gunther', 'Guntram', 'Gustav', - 'Götz', 'Günter', 'Günther', 'H.-Dieter', 'Hagen', 'Hajo', 'Hakan', - 'Halil', 'Hannes', 'Hanni', 'Hanno', 'Hanns', 'Hans', 'Hans D.', - 'Hans Dieter', 'Hans Georg', 'Hans Josef', 'Hans Jörg', 'Hans Jürgen', - 'Hans Peter', 'Hans-Adolf', 'Hans-Albert', 'Hans-Bernd', 'Hans-Christian', - 'Hans-Detlef', 'Hans-Dieter', 'Hans-Dietrich', 'Hans-Eberhard', - 'Hans-Erich', 'Hans-Friedrich', 'Hans-Georg', 'Hans-Gerd', 'Hans-Gerhard', - 'Hans-Günter', 'Hans-Günther', 'Hans-H.', 'Hans-Heinrich', 'Hans-Helmut', - 'Hans-Henning', 'Hans-Herbert', 'Hans-Hermann', 'Hans-Hinrich', - 'Hans-J.', 'Hans-Joachim', 'Hans-Jochen', 'Hans-Josef', 'Hans-Jörg', - 'Hans-Jürgen', 'Hans-Karl', 'Hans-Ludwig', 'Hans-Martin', 'Hans-Michael', - 'Hans-Otto', 'Hans-Peter', 'Hans-Rainer', 'Hans-Rudolf', - 'Hans-Theo', 'Hans-Ulrich', 'Hans-Uwe', 'Hans-Walter', 'Hans-Werner', - 'Hans-Wilhelm', 'Hans-Willi', 'Hans-Wolfgang', 'Hansgeorg', - 'Hansjoachim', 'Hansjörg', 'Hansjürgen', 'Hanspeter', 'Harald', 'Hardy', - 'Harm', 'Harold', 'Harri', 'Harro', 'Harry', 'Hartmut', 'Hartmuth', - 'Hartwig', 'Hasan', 'Hassan', 'Hasso', 'Heiko', 'Heimo', 'Heiner', - 'Heinfried', 'Heini', 'Heino', 'Heinrich', 'Heinz', 'Heinz Dieter', - 'Heinz-Dieter', 'Heinz-Georg', 'Heinz-Gerd', 'Heinz-Günter', - 'Heinz-Günther', 'Heinz-Joachim', 'Heinz-Josef', 'Heinz-Jürgen', 'Heinz-Otto', - 'Heinz-Peter', 'Heinz-Walter', 'Heinz-Werner', 'Heinz-Wilhelm', 'Heinz-Willi', - 'Helfried', 'Helge', 'Hellmut', 'Hellmuth', 'Helmar', 'Helmut', - 'Helmuth', 'Hendrik', 'Henner', 'Henning', 'Henrik', 'Henry', 'Henryk', - 'Herbert', 'Heribert', 'Hermann', 'Hermann Josef', 'Hermann-Josef', - 'Herrmann', 'Herwig', 'Hilmar', 'Hinrich', 'Holger', 'Holm', 'Horst', - 'Horst-Dieter', 'Horst-Günter', 'Horst-Peter', 'Hubert', 'Hubertus', - 'Hugo', 'Hüseyin', 'Ian', 'Ibrahim', 'Ignatz', 'Ignaz', 'Igor', 'Ilhan', - 'Ilias', 'Ilija', 'Ilja', 'Immo', 'Imre', 'Ingbert', 'Ingmar', 'Ingo', - 'Ingolf', 'Ioannis', 'Isidor', 'Ismail', 'Ismet', 'Istvan', 'Ivan', - 'Ivo', 'Iwan', 'Jacek', 'Jacob', 'Jakob', 'James', 'Jan', 'Jan-Peter', - 'Janko', 'Jann', 'Janos', 'Janus', 'Janusz', 'Jaroslav', 'Jaroslaw', - 'Jens', 'Jens-Peter', 'Jens-Uwe', 'Jerzy', 'Jiri', 'Joachim', 'Jobst', - 'Jochem', 'Jochen', 'Joerg', 'Johan', 'Johann', 'Johannes', 'John', - 'Jonas', 'Jonas', 'Jonathan', 'Jorge', 'Jose', 'Josef', 'Joseph', - 'Josip', 'Jost', 'José', 'Jovan', 'Jozef', 'Juan', 'Juergen', 'Julian', - 'Julius', 'Juri', 'Jurij', 'Justus', 'Jörg', 'Jörg-Peter', 'Jörgen', - 'Jörn', 'Jürgen', 'Kai-Uwe', 'Kamil', 'Karl', 'Karl Heinz', 'Karl-August', - 'Karl-Dieter', 'Karl-Ernst', 'Karl-Friedrich', 'Karl-Georg', - 'Karl-Hans', 'Karl-Heinrich', 'Karl-Heinz', 'Karl-Hermann', 'Karl-Josef', - 'Karl-Jürgen', 'Karl-Ludwig', 'Karl-Otto', 'Karl-Peter', 'Karl-Werner', - 'Karl-Wilhelm', 'Karlfried', 'Karlheinz', 'Karsten', 'Kasimir', - 'Kaspar', 'Kay-Uwe', 'Kazim', 'Kemal', 'Kenan', 'Kenneth', 'Kevin', - 'Kilian', 'Klaas', 'Klaus', 'Klaus Dieter', 'Klaus Peter', 'Klaus-D.', - 'Klaus-Dieter', 'Klaus-Günter', 'Klaus-Jürgen', 'Klaus-Michael', - 'Klaus-Peter', 'Klaus-Ulrich', 'Klaus-Werner', 'Klemens', 'Knud', 'Knut', - 'Konrad', 'Konstantin', 'Konstantinos', 'Korbinian', 'Kornelius', - 'Kristian', 'Krzysztof', 'Kunibert', 'Kuno', 'Kurt', 'Ladislaus', - 'Lambert', 'Lars', 'Laszlo', 'Laurenz', 'Leander', 'Leif', 'Leo', - 'Leon', 'Leonard', 'Leonardo', 'Leonhard', 'Leonid', 'Leopold', - 'Leszek', 'Linus', 'Lorenz', 'Lorenzo', 'Lothar', 'Louis', 'Luciano', - 'Ludger', 'Ludwig', 'Luigi', 'Luis', 'Lukas', 'Lutz', 'Magnus', - 'Mahmoud', 'Mahmut', 'Maik', 'Malte', 'Manfred', 'Manuel', 'Marc', - 'Marcel', 'Marco', 'Marcus', 'Marek', 'Marian', 'Marijan', 'Mario', - 'Marius', 'Mariusz', 'Mark', 'Marko', 'Markus', 'Marten', 'Martin', - 'Marvin', 'Massimo', 'Mathias', 'Mato', 'Matteo', 'Matthias', - 'Matthäus', 'Mattias', 'Maurice', 'Maurizio', 'Max', 'Maxim', - 'Maximilian', 'Mehdi', 'Mehmet', 'Meik', 'Meinhard', 'Meinolf', - 'Meinrad', 'Mesut', 'Metin', 'Micha', 'Michael', 'Michail', 'Michel', - 'Miguel', 'Mijo', 'Mike', 'Mikhail', 'Milan', 'Milos', 'Miodrag', - 'Mirco', 'Mirko', 'Miroslav', 'Miroslaw', 'Mohamed', 'Mohammad', - 'Mohammed', 'Moritz', 'Muharrem', 'Murat', 'Mustafa', 'Muzaffer', - 'Necati', 'Nick', 'Nico', 'Nicolai', 'Nicolas', 'Nicolaus', 'Niels', - 'Niklas', 'Niko', 'Nikola', 'Nikolai', 'Nikolaj', 'Nikolaos', 'Nikolas', - 'Nikolaus', 'Nils', 'Norbert', 'Norman', 'Nurettin', 'Nuri', 'Olaf', - 'Ole', 'Oliver', 'Orhan', 'Ortwin', 'Oscar', 'Oskar', 'Osman', 'Oswald', - 'Oswin', 'Otfried', 'Othmar', 'Otmar', 'Ottfried', 'Ottmar', 'Otto', - 'Ottokar', 'Ottomar', 'Paolo', 'Pascal', 'Pasquale', 'Patric', - 'Patrick', 'Patrik', 'Paul', 'Paul-Gerhard', 'Paul-Heinz', 'Paulo', - 'Pavel', 'Pawel', 'Pedro', 'Peer', 'Pero', 'Petar', 'Peter', - 'Peter-Michael', 'Petros', 'Philip', 'Philipp', 'Philippe', 'Phillip', - 'Pierre', 'Pietro', 'Piotr', 'Pirmin', 'Pius', 'Rafael', 'Raik', - 'Raimund', 'Rainer', 'Ralf', 'Ralf-Dieter', 'Ralf-Peter', 'Ralph', - 'Ramazan', 'Ramon', 'Randolf', 'Raphael', 'Raymond', 'Raymund', 'Recep', - 'Reginald', 'Reimar', 'Reimer', 'Reimund', 'Reinald', 'Reiner', - 'Reinhard', 'Reinhardt', 'Reinhart', 'Reinhold', 'Remo', 'Renato', - 'Rene', 'René', 'Reza', 'Ricardo', 'Richard', 'Rico', 'Rigo', 'Riza', - 'Robby', 'Robert', 'Roberto', 'Robin', 'Rocco', 'Rochus', 'Roderich', - 'Roger', 'Roland', 'Rolf', 'Rolf-Dieter', 'Rolf-Peter', 'Roman', - 'Romuald', 'Ron', 'Ronald', 'Ronny', 'Rouven', 'Roy', 'Ruben', 'Rudi', - 'Rudolf', 'Rudolph', 'Rupert', 'Ryszard', 'Rüdiger', 'Saban', 'Sabri', - 'Sahin', 'Salih', 'Salvatore', 'Sami', 'Samir', 'Samuel', 'Sandor', - 'Sandro', 'Sebastian', 'Sebastiano', 'Sedat', 'Selim', 'Senol', 'Sepp', - 'Serge', 'Sergei', 'Sergej', 'Sergio', 'Severin', 'Siegbert', - 'Siegfried', 'Sieghard', 'Siegmar', 'Siegmund', 'Siegward', 'Sigfried', - 'Sigismund', 'Sigmar', 'Sigmund', 'Sigurd', 'Silvester', 'Silvio', - 'Simon', 'Slavko', 'Slawomir', 'Slobodan', 'Stanislaus', 'Stanislav', - 'Stanislaw', 'Stavros', 'Stefan', 'Stefano', 'Steffen', 'Stephan', - 'Stephen', 'Steve', 'Steven', 'Stjepan', 'Sven', 'Swen', 'Sylvester', - 'Sylvio', 'Sönke', 'Sören', 'Sükrü', 'Süleyman', 'Tadeusz', 'Tassilo', - 'Thaddäus', 'Theo', 'Theobald', 'Theodor', 'Theodoros', 'Thies', - 'Thilo', 'Thomas', 'Thoralf', 'Thorben', 'Thorsten', 'Tibor', 'Till', - 'Tillmann', 'Tilman', 'Tilmann', 'Tilo', 'Tim', 'Timm', 'Timo', 'Tino', - 'Tobias', 'Tom', 'Tomas', 'Tomasz', 'Tomislav', 'Toni', 'Tony', - 'Toralf', 'Torben', 'Torsten', 'Traugott', 'Udo', 'Ulf', 'Uli', - 'Ullrich', 'Ulrich', 'Urban', 'Urs', 'Utz', 'Uwe', 'Vadim', 'Valentin', - 'Valerij', 'Vassilios', 'Veit', 'Veli', 'Victor', 'Viktor', 'Vincent', - 'Vincenzo', 'Vinko', 'Vinzenz', 'Vitali', 'Vito', 'Vittorio', 'Vitus', - 'Vladimir', 'Vlado', 'Volker', 'Volkhard', 'Volkmar', 'Waldemar', - 'Walfried', 'Walter', 'Walther', 'Wenzel', 'Werner', 'Wieland', - 'Wieslaw', 'Wigbert', 'Wilfried', 'Wilhelm', 'Willfried', 'Willi', - 'William', 'Willibald', 'Willibert', 'Willy', 'Winfried', 'Witold', - 'Wladimir', 'Wojciech', 'Woldemar', 'Wolf', 'Wolf-Dieter', - 'Wolf-Dietrich', 'Wolf-Rüdiger', 'Wolfgang', 'Wolfhard', 'Wolfram', 'Wulf', - 'Xaver', 'Yilmaz', 'Yusuf', 'Zbigniew', 'Zdravko', 'Zeki', 'Zeljko', - 'Zenon', 'Zlatko', 'Zoltan', 'Zoran', + "Abbas", + "Abdul", + "Abdullah", + "Abraham", + "Abram", + "Achim", + "Ada", + "Adalbert", + "Adam", + "Adelbert", + "Adem", + "Adolf", + "Adrian", + "Ahmad", + "Ahmed", + "Ahmet", + "Alan", + "Alban", + "Albert", + "Alberto", + "Albin", + "Albrecht", + "Aldo", + "Aleksandar", + "Aleksander", + "Aleksandr", + "Aleksej", + "Alessandro", + "Alex", + "Alexander", + "Alexandre", + "Alexandros", + "Alexei", + "Alexej", + "Alf", + "Alfons", + "Alfonso", + "Alfred", + "Alfredo", + "Ali", + "Alois", + "Aloys", + "Alwin", + "Amir", + "Anastasios", + "Anatol", + "Anatoli", + "Anatolij", + "Andre", + "Andreas", + "Andree", + "Andrei", + "Andrej", + "Andres", + "Andrew", + "Andrey", + "Andrzej", + "André", + "Andy", + "Angelo", + "Anselm", + "Ansgar", + "Ante", + "Anthony", + "Anto", + "Anton", + "Antonino", + "Antonio", + "Antonios", + "Antonius", + "Apostolos", + "Aribert", + "Arif", + "Armin", + "Arnd", + "Arndt", + "Arne", + "Arnfried", + "Arnim", + "Arno", + "Arnold", + "Arnulf", + "Arthur", + "Artur", + "Athanasios", + "Attila", + "August", + "Augustin", + "Axel", + "Aziz", + "Baldur", + "Balthasar", + "Baptist", + "Bartholomäus", + "Bastian", + "Bayram", + "Bekir", + "Bela", + "Ben", + "Benedikt", + "Benjamin", + "Benno", + "Berend", + "Bernard", + "Bernd", + "Bernd-Dieter", + "Berndt", + "Bernfried", + "Bernhard", + "Bernt", + "Bernward", + "Bert", + "Berthold", + "Bertold", + "Bertram", + "Birger", + "Björn", + "Bodo", + "Bogdan", + "Boris", + "Branko", + "Brian", + "Bruno", + "Burckhard", + "Burghard", + "Burkard", + "Burkhard", + "Burkhardt", + "Calogero", + "Carl", + "Carl-Heinz", + "Carlo", + "Carlos", + "Carmelo", + "Carsten", + "Celal", + "Cemal", + "Cemil", + "Cengiz", + "Cetin", + "Charles", + "Christian", + "Christof", + "Christoph", + "Christopher", + "Christos", + "Claas", + "Claudio", + "Claudius", + "Claus", + "Claus-Dieter", + "Claus-Peter", + "Clemens", + "Conrad", + "Constantin", + "Cord", + "Cornelius", + "Cosimo", + "Curt", + "Czeslaw", + "Dagobert", + "Damian", + "Dan", + "Daniel", + "Daniele", + "Danilo", + "Danny", + "Darius", + "Dariusz", + "Darko", + "David", + "Denis", + "Dennis", + "Denny", + "Detlef", + "Detlev", + "Diedrich", + "Dierk", + "Dieter", + "Diethard", + "Diethelm", + "Diether", + "Dietmar", + "Dietrich", + "Dimitri", + "Dimitrios", + "Dino", + "Dirk", + "Ditmar", + "Dittmar", + "Dogan", + "Domenico", + "Dominic", + "Dominik", + "Donald", + "Dragan", + "Drago", + "Dursun", + "Dusan", + "Eberhard", + "Eberhardt", + "Eckard", + "Eckart", + "Eckehard", + "Eckhard", + "Eckhardt", + "Eckhart", + "Edelbert", + "Edgar", + "Edmund", + "Eduard", + "Edward", + "Edwin", + "Egbert", + "Eggert", + "Egon", + "Ehrenfried", + "Ehrhard", + "Eitel", + "Ekkehard", + "Ekkehart", + "Ekrem", + "Elias", + "Elmar", + "Emanuel", + "Emil", + "Emin", + "Emmerich", + "Engelbert", + "Engin", + "Enno", + "Enrico", + "Enver", + "Ercan", + "Erdal", + "Erdogan", + "Erhard", + "Erhardt", + "Eric", + "Erich", + "Erik", + "Erkan", + "Ernest", + "Ernst", + "Ernst-August", + "Ernst-Dieter", + "Ernst-Otto", + "Erol", + "Erwin", + "Eugen", + "Evangelos", + "Ewald", + "Fabian", + "Falk", + "Falko", + "Faruk", + "Fatih", + "Fedor", + "Felix", + "Ferdi", + "Ferdinand", + "Ferenc", + "Fernando", + "Filippo", + "Florian", + "Folker", + "Folkert", + "Francesco", + "Francis", + "Francisco", + "Franco", + "Franjo", + "Frank", + "Frank-Michael", + "Frank-Peter", + "Franz", + "Franz Josef", + "Franz-Josef", + "Franz-Peter", + "Franz-Xaver", + "Fred", + "Freddy", + "Frederic", + "Frederik", + "Fredi", + "Fredo", + "Fredy", + "Fridolin", + "Friedbert", + "Friedemann", + "Frieder", + "Friedhelm", + "Friedhold", + "Friedo", + "Friedrich", + "Friedrich-Karl", + "Friedrich-Wilhelm", + "Frithjof", + "Fritz", + "Gabor", + "Gabriel", + "Gaetano", + "Gebhard", + "Geert", + "Georg", + "George", + "Georgios", + "Gerald", + "Gerard", + "Gerd", + "Gereon", + "Gerfried", + "Gerhard", + "Gerhardt", + "Gerhart", + "German", + "Gernot", + "Gero", + "Gerold", + "Gerolf", + "Gert", + "Gerwin", + "Gilbert", + "Gino", + "Giorgio", + "Giovanni", + "Gisbert", + "Giuseppe", + "Goran", + "Gordon", + "Gottfried", + "Gotthard", + "Gotthilf", + "Gotthold", + "Gottlieb", + "Gottlob", + "Gregor", + "Grzegorz", + "Guenter", + "Guenther", + "Guido", + "Guiseppe", + "Gunar", + "Gundolf", + "Gunnar", + "Gunter", + "Gunther", + "Guntram", + "Gustav", + "Götz", + "Günter", + "Günther", + "H.-Dieter", + "Hagen", + "Hajo", + "Hakan", + "Halil", + "Hannes", + "Hanni", + "Hanno", + "Hanns", + "Hans", + "Hans D.", + "Hans Dieter", + "Hans Georg", + "Hans Josef", + "Hans Jörg", + "Hans Jürgen", + "Hans Peter", + "Hans-Adolf", + "Hans-Albert", + "Hans-Bernd", + "Hans-Christian", + "Hans-Detlef", + "Hans-Dieter", + "Hans-Dietrich", + "Hans-Eberhard", + "Hans-Erich", + "Hans-Friedrich", + "Hans-Georg", + "Hans-Gerd", + "Hans-Gerhard", + "Hans-Günter", + "Hans-Günther", + "Hans-H.", + "Hans-Heinrich", + "Hans-Helmut", + "Hans-Henning", + "Hans-Herbert", + "Hans-Hermann", + "Hans-Hinrich", + "Hans-J.", + "Hans-Joachim", + "Hans-Jochen", + "Hans-Josef", + "Hans-Jörg", + "Hans-Jürgen", + "Hans-Karl", + "Hans-Ludwig", + "Hans-Martin", + "Hans-Michael", + "Hans-Otto", + "Hans-Peter", + "Hans-Rainer", + "Hans-Rudolf", + "Hans-Theo", + "Hans-Ulrich", + "Hans-Uwe", + "Hans-Walter", + "Hans-Werner", + "Hans-Wilhelm", + "Hans-Willi", + "Hans-Wolfgang", + "Hansgeorg", + "Hansjoachim", + "Hansjörg", + "Hansjürgen", + "Hanspeter", + "Harald", + "Hardy", + "Harm", + "Harold", + "Harri", + "Harro", + "Harry", + "Hartmut", + "Hartmuth", + "Hartwig", + "Hasan", + "Hassan", + "Hasso", + "Heiko", + "Heimo", + "Heiner", + "Heinfried", + "Heini", + "Heino", + "Heinrich", + "Heinz", + "Heinz Dieter", + "Heinz-Dieter", + "Heinz-Georg", + "Heinz-Gerd", + "Heinz-Günter", + "Heinz-Günther", + "Heinz-Joachim", + "Heinz-Josef", + "Heinz-Jürgen", + "Heinz-Otto", + "Heinz-Peter", + "Heinz-Walter", + "Heinz-Werner", + "Heinz-Wilhelm", + "Heinz-Willi", + "Helfried", + "Helge", + "Hellmut", + "Hellmuth", + "Helmar", + "Helmut", + "Helmuth", + "Hendrik", + "Henner", + "Henning", + "Henrik", + "Henry", + "Henryk", + "Herbert", + "Heribert", + "Hermann", + "Hermann Josef", + "Hermann-Josef", + "Herrmann", + "Herwig", + "Hilmar", + "Hinrich", + "Holger", + "Holm", + "Horst", + "Horst-Dieter", + "Horst-Günter", + "Horst-Peter", + "Hubert", + "Hubertus", + "Hugo", + "Hüseyin", + "Ian", + "Ibrahim", + "Ignatz", + "Ignaz", + "Igor", + "Ilhan", + "Ilias", + "Ilija", + "Ilja", + "Immo", + "Imre", + "Ingbert", + "Ingmar", + "Ingo", + "Ingolf", + "Ioannis", + "Isidor", + "Ismail", + "Ismet", + "Istvan", + "Ivan", + "Ivo", + "Iwan", + "Jacek", + "Jacob", + "Jakob", + "James", + "Jan", + "Jan-Peter", + "Janko", + "Jann", + "Janos", + "Janus", + "Janusz", + "Jaroslav", + "Jaroslaw", + "Jens", + "Jens-Peter", + "Jens-Uwe", + "Jerzy", + "Jiri", + "Joachim", + "Jobst", + "Jochem", + "Jochen", + "Joerg", + "Johan", + "Johann", + "Johannes", + "John", + "Jonas", + "Jonas", + "Jonathan", + "Jorge", + "Jose", + "Josef", + "Joseph", + "Josip", + "Jost", + "José", + "Jovan", + "Jozef", + "Juan", + "Juergen", + "Julian", + "Julius", + "Juri", + "Jurij", + "Justus", + "Jörg", + "Jörg-Peter", + "Jörgen", + "Jörn", + "Jürgen", + "Kai-Uwe", + "Kamil", + "Karl", + "Karl Heinz", + "Karl-August", + "Karl-Dieter", + "Karl-Ernst", + "Karl-Friedrich", + "Karl-Georg", + "Karl-Hans", + "Karl-Heinrich", + "Karl-Heinz", + "Karl-Hermann", + "Karl-Josef", + "Karl-Jürgen", + "Karl-Ludwig", + "Karl-Otto", + "Karl-Peter", + "Karl-Werner", + "Karl-Wilhelm", + "Karlfried", + "Karlheinz", + "Karsten", + "Kasimir", + "Kaspar", + "Kay-Uwe", + "Kazim", + "Kemal", + "Kenan", + "Kenneth", + "Kevin", + "Kilian", + "Klaas", + "Klaus", + "Klaus Dieter", + "Klaus Peter", + "Klaus-D.", + "Klaus-Dieter", + "Klaus-Günter", + "Klaus-Jürgen", + "Klaus-Michael", + "Klaus-Peter", + "Klaus-Ulrich", + "Klaus-Werner", + "Klemens", + "Knud", + "Knut", + "Konrad", + "Konstantin", + "Konstantinos", + "Korbinian", + "Kornelius", + "Kristian", + "Krzysztof", + "Kunibert", + "Kuno", + "Kurt", + "Ladislaus", + "Lambert", + "Lars", + "Laszlo", + "Laurenz", + "Leander", + "Leif", + "Leo", + "Leon", + "Leonard", + "Leonardo", + "Leonhard", + "Leonid", + "Leopold", + "Leszek", + "Linus", + "Lorenz", + "Lorenzo", + "Lothar", + "Louis", + "Luciano", + "Ludger", + "Ludwig", + "Luigi", + "Luis", + "Lukas", + "Lutz", + "Magnus", + "Mahmoud", + "Mahmut", + "Maik", + "Malte", + "Manfred", + "Manuel", + "Marc", + "Marcel", + "Marco", + "Marcus", + "Marek", + "Marian", + "Marijan", + "Mario", + "Marius", + "Mariusz", + "Mark", + "Marko", + "Markus", + "Marten", + "Martin", + "Marvin", + "Massimo", + "Mathias", + "Mato", + "Matteo", + "Matthias", + "Matthäus", + "Mattias", + "Maurice", + "Maurizio", + "Max", + "Maxim", + "Maximilian", + "Mehdi", + "Mehmet", + "Meik", + "Meinhard", + "Meinolf", + "Meinrad", + "Mesut", + "Metin", + "Micha", + "Michael", + "Michail", + "Michel", + "Miguel", + "Mijo", + "Mike", + "Mikhail", + "Milan", + "Milos", + "Miodrag", + "Mirco", + "Mirko", + "Miroslav", + "Miroslaw", + "Mohamed", + "Mohammad", + "Mohammed", + "Moritz", + "Muharrem", + "Murat", + "Mustafa", + "Muzaffer", + "Necati", + "Nick", + "Nico", + "Nicolai", + "Nicolas", + "Nicolaus", + "Niels", + "Niklas", + "Niko", + "Nikola", + "Nikolai", + "Nikolaj", + "Nikolaos", + "Nikolas", + "Nikolaus", + "Nils", + "Norbert", + "Norman", + "Nurettin", + "Nuri", + "Olaf", + "Ole", + "Oliver", + "Orhan", + "Ortwin", + "Oscar", + "Oskar", + "Osman", + "Oswald", + "Oswin", + "Otfried", + "Othmar", + "Otmar", + "Ottfried", + "Ottmar", + "Otto", + "Ottokar", + "Ottomar", + "Paolo", + "Pascal", + "Pasquale", + "Patric", + "Patrick", + "Patrik", + "Paul", + "Paul-Gerhard", + "Paul-Heinz", + "Paulo", + "Pavel", + "Pawel", + "Pedro", + "Peer", + "Pero", + "Petar", + "Peter", + "Peter-Michael", + "Petros", + "Philip", + "Philipp", + "Philippe", + "Phillip", + "Pierre", + "Pietro", + "Piotr", + "Pirmin", + "Pius", + "Rafael", + "Raik", + "Raimund", + "Rainer", + "Ralf", + "Ralf-Dieter", + "Ralf-Peter", + "Ralph", + "Ramazan", + "Ramon", + "Randolf", + "Raphael", + "Raymond", + "Raymund", + "Recep", + "Reginald", + "Reimar", + "Reimer", + "Reimund", + "Reinald", + "Reiner", + "Reinhard", + "Reinhardt", + "Reinhart", + "Reinhold", + "Remo", + "Renato", + "Rene", + "René", + "Reza", + "Ricardo", + "Richard", + "Rico", + "Rigo", + "Riza", + "Robby", + "Robert", + "Roberto", + "Robin", + "Rocco", + "Rochus", + "Roderich", + "Roger", + "Roland", + "Rolf", + "Rolf-Dieter", + "Rolf-Peter", + "Roman", + "Romuald", + "Ron", + "Ronald", + "Ronny", + "Rouven", + "Roy", + "Ruben", + "Rudi", + "Rudolf", + "Rudolph", + "Rupert", + "Ryszard", + "Rüdiger", + "Saban", + "Sabri", + "Sahin", + "Salih", + "Salvatore", + "Sami", + "Samir", + "Samuel", + "Sandor", + "Sandro", + "Sebastian", + "Sebastiano", + "Sedat", + "Selim", + "Senol", + "Sepp", + "Serge", + "Sergei", + "Sergej", + "Sergio", + "Severin", + "Siegbert", + "Siegfried", + "Sieghard", + "Siegmar", + "Siegmund", + "Siegward", + "Sigfried", + "Sigismund", + "Sigmar", + "Sigmund", + "Sigurd", + "Silvester", + "Silvio", + "Simon", + "Slavko", + "Slawomir", + "Slobodan", + "Stanislaus", + "Stanislav", + "Stanislaw", + "Stavros", + "Stefan", + "Stefano", + "Steffen", + "Stephan", + "Stephen", + "Steve", + "Steven", + "Stjepan", + "Sven", + "Swen", + "Sylvester", + "Sylvio", + "Sönke", + "Sören", + "Sükrü", + "Süleyman", + "Tadeusz", + "Tassilo", + "Thaddäus", + "Theo", + "Theobald", + "Theodor", + "Theodoros", + "Thies", + "Thilo", + "Thomas", + "Thoralf", + "Thorben", + "Thorsten", + "Tibor", + "Till", + "Tillmann", + "Tilman", + "Tilmann", + "Tilo", + "Tim", + "Timm", + "Timo", + "Tino", + "Tobias", + "Tom", + "Tomas", + "Tomasz", + "Tomislav", + "Toni", + "Tony", + "Toralf", + "Torben", + "Torsten", + "Traugott", + "Udo", + "Ulf", + "Uli", + "Ullrich", + "Ulrich", + "Urban", + "Urs", + "Utz", + "Uwe", + "Vadim", + "Valentin", + "Valerij", + "Vassilios", + "Veit", + "Veli", + "Victor", + "Viktor", + "Vincent", + "Vincenzo", + "Vinko", + "Vinzenz", + "Vitali", + "Vito", + "Vittorio", + "Vitus", + "Vladimir", + "Vlado", + "Volker", + "Volkhard", + "Volkmar", + "Waldemar", + "Walfried", + "Walter", + "Walther", + "Wenzel", + "Werner", + "Wieland", + "Wieslaw", + "Wigbert", + "Wilfried", + "Wilhelm", + "Willfried", + "Willi", + "William", + "Willibald", + "Willibert", + "Willy", + "Winfried", + "Witold", + "Wladimir", + "Wojciech", + "Woldemar", + "Wolf", + "Wolf-Dieter", + "Wolf-Dietrich", + "Wolf-Rüdiger", + "Wolfgang", + "Wolfhard", + "Wolfram", + "Wulf", + "Xaver", + "Yilmaz", + "Yusuf", + "Zbigniew", + "Zdravko", + "Zeki", + "Zeljko", + "Zenon", + "Zlatko", + "Zoltan", + "Zoran", ) # From # http://de.wiktionary.org/wiki/Verzeichnis:Deutsch/Liste_der_h%C3%A4ufigsten_weiblichen_Vornamen_Deutschlands first_names_female = ( - 'Adele', 'Adelgunde', 'Adelheid', 'Adelinde', 'Adeline', 'Adina', - 'Adolfine', 'Adriana', 'Adriane', 'Aenne', 'Änne', 'Agata', 'Agatha', - 'Agathe', 'Agnes', 'Agnieszka', 'Albertine', 'Albina', 'Aleksandra', - 'Alena', 'Alexa', 'Alexandra', 'Alice', 'Alicia', 'Alicja', 'Alida', - 'Alina', 'Aline', 'Alla', 'Alma', 'Almut', 'Almuth', 'Aloisia', - 'Alwina', 'Alwine', 'Amalia', 'Amalie', 'Amanda', 'Amelie', 'Ana', - 'Anastasia', 'Andrea', 'Aneta', 'Anett', 'Anette', 'Angela', 'Angelica', - 'Angelika', 'Angelina', 'Angelique', 'Anica', 'Anika', 'Anita', 'Anja', - 'Anka', 'Anke', 'Ann', 'Ann-Kathrin', 'Anna', 'Anna-Lena', 'Anna-Luise', - 'Anna-Maria', 'Anna-Marie', 'Annaliese', 'Annamaria', 'Anne', - 'Anne-Kathrin', 'Anne-Katrin', 'Anne-Marie', 'Anne-Rose', 'Annedore', - 'Annegret', 'Annegrete', 'Annekatrin', 'Anneke', 'Annelene', 'Anneli', - 'Annelie', 'Annelies', 'Anneliese', 'Annelise', 'Annelore', 'Annemarie', - 'Annemie', 'Annerose', 'Annett', 'Annette', 'Anni', 'Annie', 'Annika', - 'Annita', 'Anny', 'Antje', 'Antoinette', 'Antonia', 'Antonie', - 'Antonietta', 'Antonina', 'Apollonia', 'Ariane', 'Arzu', 'Asta', - 'Astrid', 'Augusta', 'Auguste', 'Aurelia', 'Aynur', 'Ayse', 'Aysel', - 'Ayten', 'Babett', 'Babette', 'Barbara', 'Beata', 'Beate', 'Beatrice', - 'Beatrix', 'Belinda', 'Benita', 'Berit', 'Bernadette', 'Bernhardine', - 'Berta', 'Bertha', 'Betina', 'Betti', 'Bettina', 'Betty', 'Bianca', - 'Bianka', 'Birgid', 'Birgit', 'Birgitt', 'Birgitta', 'Birte', 'Birthe', - 'Blanka', 'Bozena', 'Branka', 'Brigitta', 'Brigitte', 'Brit', 'Brita', - 'Britt', 'Britta', 'Brunhild', 'Brunhilde', 'Bruni', 'Bärbel', - 'Camilla', 'Canan', 'Caren', 'Carin', 'Carina', 'Carla', 'Carmela', - 'Carmen', 'Carmine', 'Carola', 'Carolin', 'Carolina', 'Caroline', - 'Caterina', 'Catharina', 'Catherine', 'Cathleen', 'Cathrin', 'Catrin', - 'Cecilia', 'Centa', 'Chantal', 'Charlotte', 'Christa', 'Christa-Maria', - 'Christel', 'Christiana', 'Christiane', 'Christin', 'Christina', - 'Christine', 'Christl', 'Cilli', 'Cilly', 'Cindy', 'Claire', 'Clara', - 'Clarissa', 'Claudia', 'Cläre', 'Concetta', 'Conny', 'Constance', - 'Constanze', 'Cora', 'Cordula', 'Corina', 'Corinna', 'Corinne', - 'Cornelia', 'Cosima', 'Cristina', 'Cynthia', 'Cäcilia', 'Cäcilie', - 'Dagmar', 'Dajana', 'Damaris', 'Dana', 'Danica', 'Daniela', 'Danielle', - 'Danuta', 'Daria', 'Deborah', 'Delia', 'Denise', 'Desiree', 'Diana', - 'Diane', 'Dietlind', 'Dietlinde', 'Dina', 'Dolores', 'Donata', 'Dora', - 'Doreen', 'Dorina', 'Doris', 'Dorit', 'Dorle', 'Dorota', 'Dorothe', - 'Dorothea', 'Dorothee', 'Dragica', 'Dunja', 'Dörte', 'Dörthe', 'Edda', - 'Edelgard', 'Edeltraud', 'Edeltraut', 'Edeltrud', 'Edit', 'Edith', - 'Editha', 'Ehrentraud', 'Eileen', 'Ekaterina', 'Elena', 'Eleni', - 'Elenore', 'Eleonora', 'Eleonore', 'Elfi', 'Elfie', 'Elfriede', 'Elif', - 'Elisa', 'Elisabet', 'Elisabeth', 'Elise', 'Elizabeth', 'Elke', 'Ella', - 'Ellen', 'Elli', 'Ellinor', 'Elly', 'Elma', 'Elsa', 'Elsbeth', 'Else', - 'Elvira', 'Elwira', 'Elzbieta', 'Emilia', 'Emilie', 'Emine', 'Emma', - 'Emmi', 'Emmy', 'Erdmute', 'Erica', 'Erika', 'Erna', 'Ernestine', - 'Ester', 'Esther', 'Etta', 'Eugenia', 'Eugenie', 'Eva', 'Eva-Maria', - 'Eva-Marie', 'Evamaria', 'Evangelia', 'Evelin', 'Eveline', 'Evelyn', - 'Evelyne', 'Evi', 'Ewa', 'Fabienne', 'Fadime', 'Fanny', 'Fatima', - 'Fatma', 'Felicia', 'Felicitas', 'Felizitas', 'Filiz', 'Flora', - 'Florence', 'Florentine', 'Franca', 'Francesca', 'Francoise', 'Franka', - 'Franziska', 'Frauke', 'Frederike', 'Freia', 'Freya', 'Frida', 'Frieda', - 'Friedericke', 'Friederike', 'Friedhilde', 'Friedl', 'Friedlinde', - 'Gabi', 'Gabriela', 'Gabriele', 'Gabriella', 'Gaby', 'Galina', - 'Genoveva', 'Georgia', 'Georgine', 'Geraldine', 'Gerda', 'Gerdi', - 'Gerhild', 'Gerlind', 'Gerlinde', 'Gerta', 'Gerti', 'Gertraud', - 'Gertraude', 'Gertraut', 'Gertrud', 'Gertrude', 'Gesa', 'Gesche', - 'Gesine', 'Geza', 'Giesela', 'Gilda', 'Gina', 'Giovanna', 'Gisa', - 'Gisela', 'Gislinde', 'Gitta', 'Gitte', 'Giuseppina', 'Gloria', - 'Gordana', 'Grazyna', 'Greta', 'Gretchen', 'Grete', 'Gretel', 'Gretl', - 'Grit', 'Gudrun', 'Gudula', 'Gunda', 'Gundel', 'Gundi', 'Gundula', - 'Gunhild', 'Gusti', 'Gönül', 'Gülay', 'Gülsen', 'Gülten', 'Halina', - 'Hanife', 'Hanna', 'Hannah', 'Hannchen', 'Hanne', 'Hanne-Lore', - 'Hannelore', 'Hanny', 'Harriet', 'Hatice', 'Hedda', 'Hedi', 'Hedwig', - 'Hedy', 'Heide', 'Heide-Marie', 'Heidelinde', 'Heidelore', 'Heidemarie', - 'Heiderose', 'Heidi', 'Heidrun', 'Heike', 'Helen', 'Helena', 'Helene', - 'Helga', 'Hella', 'Helma', 'Helmtrud', 'Henni', 'Henny', 'Henri', - 'Henriette', 'Henrike', 'Herlinde', 'Herma', 'Hermine', 'Herta', - 'Hertha', 'Hilda', 'Hildburg', 'Hilde', 'Hildegard', 'Hildegart', - 'Hildegund', 'Hildegunde', 'Hilma', 'Hiltraud', 'Hiltrud', 'Hubertine', - 'Hulda', 'Hülya', 'Ida', 'Ildiko', 'Ilka', 'Ilona', 'Ilonka', 'Ilse', - 'Imelda', 'Imke', 'Ina', 'Ines', 'Inga', 'Inge', 'Ingeborg', 'Ingeburg', - 'Ingelore', 'Ingetraud', 'Ingetraut', 'Ingrid', 'Ingried', 'Inka', - 'Inken', 'Inna', 'Insa', 'Ira', 'Irena', 'Irene', 'Irina', 'Iris', - 'Irma', 'Irmela', 'Irmengard', 'Irmgard', 'Irmhild', 'Irmi', - 'Irmingard', 'Irmtraud', 'Irmtraut', 'Irmtrud', 'Isa', 'Isabel', - 'Isabell', 'Isabella', 'Isabelle', 'Isolde', 'Ivana', 'Ivanka', - 'Ivonne', 'Iwona', 'Jacqueline', 'Jadwiga', 'Jana', 'Jane', 'Janet', - 'Janett', 'Janette', 'Janin', 'Janina', 'Janine', 'Janna', 'Jaqueline', - 'Jasmin', 'Jasmina', 'Jeanette', 'Jeannette', 'Jeannine', 'Jelena', - 'Jennifer', 'Jenny', 'Jessica', 'Jessika', 'Jo', 'Joana', 'Joanna', - 'Johanna', 'Johanne', 'Jolanda', 'Jolanta', 'Jolanthe', 'Josefa', - 'Josefine', 'Josephine', 'Judith', 'Julia', 'Juliana', 'Juliane', - 'Julie', 'Justina', 'Justine', 'Jutta', 'Karen', 'Karin', 'Karina', - 'Karla', 'Karola', 'Karolin', 'Karolina', 'Karoline', 'Kata', 'Katalin', - 'Katarina', 'Katarzyna', 'Katerina', 'Katharina', 'Katharine', - 'Katherina', 'Kathi', 'Kathleen', 'Kathrin', 'Kathy', 'Kati', 'Katja', - 'Katrin', 'Katy', 'Kerstin', 'Kira', 'Kirsten', 'Kirstin', 'Klara', - 'Klaudia', 'Klothilde', 'Kläre', 'Konstanze', 'Kordula', 'Korinna', - 'Kornelia', 'Kreszentia', 'Kreszenz', 'Kriemhild', 'Krista', - 'Kristiane', 'Kristin', 'Kristina', 'Kristine', 'Krystyna', 'Kunigunda', - 'Kunigunde', 'Käte', 'Käthe', 'Käthi', 'Laila', 'Lara', 'Larissa', - 'Laura', 'Lea', 'Leila', 'Lena', 'Lene', 'Leni', 'Leokadia', 'Leonie', - 'Leonore', 'Leopoldine', 'Leyla', 'Lia', 'Liane', 'Lidia', 'Lidija', - 'Lidwina', 'Liesa', 'Liesbeth', 'Lieschen', 'Liesel', 'Lieselotte', - 'Lili', 'Lilian', 'Liliana', 'Liliane', 'Lilija', 'Lilli', 'Lilly', - 'Lilo', 'Lina', 'Linda', 'Lioba', 'Lisa', 'Lisbeth', 'Liselotte', - 'Lisette', 'Lissi', 'Lissy', 'Ljiljana', 'Ljubica', 'Ljudmila', 'Loni', - 'Lore', 'Loretta', 'Lotte', 'Lotti', 'Louise', 'Lucia', 'Lucie', - 'Ludmila', 'Ludmilla', 'Ludwina', 'Luisa', 'Luise', 'Luitgard', 'Luka', - 'Luzia', 'Luzie', 'Lydia', 'Madeleine', 'Madlen', 'Magarete', 'Magda', - 'Magdalena', 'Magdalene', 'Magret', 'Magrit', 'Maike', 'Maja', - 'Malgorzata', 'Mandy', 'Manja', 'Manuela', 'Mara', 'Marcella', 'Mareen', - 'Mareike', 'Mareile', 'Maren', 'Marga', 'Margaret', 'Margareta', - 'Margarete', 'Margaretha', 'Margarethe', 'Margarita', 'Margit', - 'Margita', 'Margitta', 'Margot', 'Margret', 'Margrit', 'Maria', 'Maria-Luise', - 'Maria-Theresia', 'Mariana', 'Marianna', 'Marianne', 'Marica', - 'Marie', 'Marie-Louise', 'Marie-Luise', 'Marie-Theres', 'Marie-Therese', - 'Mariechen', 'Mariele', 'Marieluise', 'Marietta', 'Marija', 'Marika', - 'Marina', 'Mariola', 'Marion', 'Marisa', 'Marit', 'Marita', 'Maritta', - 'Marjan', 'Marleen', 'Marlen', 'Marlene', 'Marlies', 'Marliese', - 'Marlis', 'Marta', 'Martha', 'Martina', 'Martine', 'Mary', 'Marzena', - 'Mathilde', 'Maya', 'Mechthild', 'Mechthilde', 'Mechtild', 'Meike', - 'Melanie', 'Melissa', 'Melita', 'Melitta', 'Meral', 'Mercedes', - 'Meryem', 'Meta', 'Mia', 'Michaela', 'Michaele', 'Michelle', 'Milena', - 'Milica', 'Milka', 'Mina', 'Minna', 'Mira', 'Mirella', 'Miriam', - 'Mirja', 'Mirjam', 'Mirjana', 'Miroslawa', 'Mona', 'Monica', 'Monika', - 'Monique', 'Monja', 'Myriam', 'Nada', 'Nadeschda', 'Nadeshda', 'Nadia', - 'Nadin', 'Nadine', 'Nadja', 'Nancy', 'Natali', 'Natalia', 'Natalie', - 'Natalija', 'Natalja', 'Natascha', 'Nathalie', 'Nelli', 'Nelly', - 'Nermin', 'Nevenka', 'Nicole', 'Nina', 'Nora', 'Norma', 'Notburga', - 'Nuran', 'Nuray', 'Nurten', 'Oda', 'Olav', 'Olena', 'Olga', 'Olivia', - 'Ortrud', 'Ortrun', 'Ottilie', 'Oxana', 'Pamela', 'Paola', 'Pascale', - 'Patricia', 'Patrizia', 'Paula', 'Paulina', 'Pauline', 'Peggy', 'Petra', - 'Philomena', 'Pia', 'Polina', 'Priska', 'Rabea', 'Radmila', 'Rahel', - 'Raisa', 'Raissa', 'Ramona', 'Raphaela', 'Rebecca', 'Rebekka', 'Regina', - 'Regine', 'Reingard', 'Reinhild', 'Reinhilde', 'Rena', 'Renata', - 'Renate', 'Reni', 'Resi', 'Ria', 'Ricarda', 'Rita', 'Romana', 'Romy', - 'Rosa', 'Rosa-Maria', 'Rosalia', 'Rosalie', 'Rosalinde', 'Rose', 'Rose-Marie', - 'Rosel', 'Roselinde', 'Rosemarie', 'Rosi', 'Rosina', 'Rosita', - 'Rosl', 'Rosmarie', 'Roswita', 'Roswitha', 'Rotraud', 'Rotraut', 'Ruth', - 'Ruthild', 'Sabina', 'Sabine', 'Sabrina', 'Samira', 'Sandra', 'Sandy', - 'Sara', 'Sarah', 'Sarina', 'Saskia', 'Selma', 'Semra', 'Senta', - 'Serpil', 'Sevim', 'Sibel', 'Sibilla', 'Sibille', 'Sibylla', 'Sibylle', - 'Sieglinde', 'Siegrid', 'Siegried', 'Siegrun', 'Siglinde', 'Sigrid', - 'Sigrun', 'Silja', 'Silke', 'Silva', 'Silvana', 'Silvia', 'Simona', - 'Simone', 'Sina', 'Sinaida', 'Slavica', 'Sofia', 'Sofie', 'Solveig', - 'Songül', 'Sonia', 'Sonja', 'Sophia', 'Sophie', 'Stefani', 'Stefania', - 'Stefanie', 'Steffi', 'Stella', 'Stephanie', 'Stilla', 'Susan', - 'Susana', 'Susann', 'Susanna', 'Susanne', 'Suse', 'Susi', 'Suzanne', - 'Svea', 'Svenja', 'Svetlana', 'Swantje', 'Swetlana', 'Sybilla', - 'Sybille', 'Sylke', 'Sylvana', 'Sylvia', 'Sylvie', 'Sylwia', 'Tabea', - 'Tamara', 'Tania', 'Tanja', 'Tatiana', 'Tatjana', 'Telse', 'Teresa', - 'Thea', 'Theda', 'Thekla', 'Theodora', 'Theres', 'Theresa', 'Therese', - 'Theresia', 'Tilly', 'Tina', 'Traude', 'Traudel', 'Traudl', 'Traute', - 'Trude', 'Trudel', 'Trudi', 'Tülay', 'Türkan', 'Ulla', 'Ulrike', - 'Undine', 'Ursel', 'Ursula', 'Urszula', 'Urte', 'Uschi', 'Uta', 'Ute', - 'Valentina', 'Valentine', 'Valeri', 'Valeria', 'Valerie', 'Valeska', - 'Vanessa', 'Vera', 'Verena', 'Veronica', 'Veronika', 'Veronique', - 'Vesna', 'Victoria', 'Viktoria', 'Viola', 'Violetta', 'Virginia', - 'Viviane', 'Walburga', 'Waldtraut', 'Walentina', 'Walli', 'Wally', - 'Waltraud', 'Waltraut', 'Waltrud', 'Wanda', 'Wencke', 'Wendelin', - 'Wenke', 'Wera', 'Wibke', 'Wiebke', 'Wilfriede', 'Wilhelmine', 'Wilma', - 'Wiltrud', 'Xenia', 'Yasemin', 'Yasmin', 'Yvette', 'Yvonne', 'Zdenka', - 'Zehra', 'Zenta', 'Zeynep', 'Zita', 'Zofia', + "Adele", + "Adelgunde", + "Adelheid", + "Adelinde", + "Adeline", + "Adina", + "Adolfine", + "Adriana", + "Adriane", + "Aenne", + "Änne", + "Agata", + "Agatha", + "Agathe", + "Agnes", + "Agnieszka", + "Albertine", + "Albina", + "Aleksandra", + "Alena", + "Alexa", + "Alexandra", + "Alice", + "Alicia", + "Alicja", + "Alida", + "Alina", + "Aline", + "Alla", + "Alma", + "Almut", + "Almuth", + "Aloisia", + "Alwina", + "Alwine", + "Amalia", + "Amalie", + "Amanda", + "Amelie", + "Ana", + "Anastasia", + "Andrea", + "Aneta", + "Anett", + "Anette", + "Angela", + "Angelica", + "Angelika", + "Angelina", + "Angelique", + "Anica", + "Anika", + "Anita", + "Anja", + "Anka", + "Anke", + "Ann", + "Ann-Kathrin", + "Anna", + "Anna-Lena", + "Anna-Luise", + "Anna-Maria", + "Anna-Marie", + "Annaliese", + "Annamaria", + "Anne", + "Anne-Kathrin", + "Anne-Katrin", + "Anne-Marie", + "Anne-Rose", + "Annedore", + "Annegret", + "Annegrete", + "Annekatrin", + "Anneke", + "Annelene", + "Anneli", + "Annelie", + "Annelies", + "Anneliese", + "Annelise", + "Annelore", + "Annemarie", + "Annemie", + "Annerose", + "Annett", + "Annette", + "Anni", + "Annie", + "Annika", + "Annita", + "Anny", + "Antje", + "Antoinette", + "Antonia", + "Antonie", + "Antonietta", + "Antonina", + "Apollonia", + "Ariane", + "Arzu", + "Asta", + "Astrid", + "Augusta", + "Auguste", + "Aurelia", + "Aynur", + "Ayse", + "Aysel", + "Ayten", + "Babett", + "Babette", + "Barbara", + "Beata", + "Beate", + "Beatrice", + "Beatrix", + "Belinda", + "Benita", + "Berit", + "Bernadette", + "Bernhardine", + "Berta", + "Bertha", + "Betina", + "Betti", + "Bettina", + "Betty", + "Bianca", + "Bianka", + "Birgid", + "Birgit", + "Birgitt", + "Birgitta", + "Birte", + "Birthe", + "Blanka", + "Bozena", + "Branka", + "Brigitta", + "Brigitte", + "Brit", + "Brita", + "Britt", + "Britta", + "Brunhild", + "Brunhilde", + "Bruni", + "Bärbel", + "Camilla", + "Canan", + "Caren", + "Carin", + "Carina", + "Carla", + "Carmela", + "Carmen", + "Carmine", + "Carola", + "Carolin", + "Carolina", + "Caroline", + "Caterina", + "Catharina", + "Catherine", + "Cathleen", + "Cathrin", + "Catrin", + "Cecilia", + "Centa", + "Chantal", + "Charlotte", + "Christa", + "Christa-Maria", + "Christel", + "Christiana", + "Christiane", + "Christin", + "Christina", + "Christine", + "Christl", + "Cilli", + "Cilly", + "Cindy", + "Claire", + "Clara", + "Clarissa", + "Claudia", + "Cläre", + "Concetta", + "Conny", + "Constance", + "Constanze", + "Cora", + "Cordula", + "Corina", + "Corinna", + "Corinne", + "Cornelia", + "Cosima", + "Cristina", + "Cynthia", + "Cäcilia", + "Cäcilie", + "Dagmar", + "Dajana", + "Damaris", + "Dana", + "Danica", + "Daniela", + "Danielle", + "Danuta", + "Daria", + "Deborah", + "Delia", + "Denise", + "Desiree", + "Diana", + "Diane", + "Dietlind", + "Dietlinde", + "Dina", + "Dolores", + "Donata", + "Dora", + "Doreen", + "Dorina", + "Doris", + "Dorit", + "Dorle", + "Dorota", + "Dorothe", + "Dorothea", + "Dorothee", + "Dragica", + "Dunja", + "Dörte", + "Dörthe", + "Edda", + "Edelgard", + "Edeltraud", + "Edeltraut", + "Edeltrud", + "Edit", + "Edith", + "Editha", + "Ehrentraud", + "Eileen", + "Ekaterina", + "Elena", + "Eleni", + "Elenore", + "Eleonora", + "Eleonore", + "Elfi", + "Elfie", + "Elfriede", + "Elif", + "Elisa", + "Elisabet", + "Elisabeth", + "Elise", + "Elizabeth", + "Elke", + "Ella", + "Ellen", + "Elli", + "Ellinor", + "Elly", + "Elma", + "Elsa", + "Elsbeth", + "Else", + "Elvira", + "Elwira", + "Elzbieta", + "Emilia", + "Emilie", + "Emine", + "Emma", + "Emmi", + "Emmy", + "Erdmute", + "Erica", + "Erika", + "Erna", + "Ernestine", + "Ester", + "Esther", + "Etta", + "Eugenia", + "Eugenie", + "Eva", + "Eva-Maria", + "Eva-Marie", + "Evamaria", + "Evangelia", + "Evelin", + "Eveline", + "Evelyn", + "Evelyne", + "Evi", + "Ewa", + "Fabienne", + "Fadime", + "Fanny", + "Fatima", + "Fatma", + "Felicia", + "Felicitas", + "Felizitas", + "Filiz", + "Flora", + "Florence", + "Florentine", + "Franca", + "Francesca", + "Francoise", + "Franka", + "Franziska", + "Frauke", + "Frederike", + "Freia", + "Freya", + "Frida", + "Frieda", + "Friedericke", + "Friederike", + "Friedhilde", + "Friedl", + "Friedlinde", + "Gabi", + "Gabriela", + "Gabriele", + "Gabriella", + "Gaby", + "Galina", + "Genoveva", + "Georgia", + "Georgine", + "Geraldine", + "Gerda", + "Gerdi", + "Gerhild", + "Gerlind", + "Gerlinde", + "Gerta", + "Gerti", + "Gertraud", + "Gertraude", + "Gertraut", + "Gertrud", + "Gertrude", + "Gesa", + "Gesche", + "Gesine", + "Geza", + "Giesela", + "Gilda", + "Gina", + "Giovanna", + "Gisa", + "Gisela", + "Gislinde", + "Gitta", + "Gitte", + "Giuseppina", + "Gloria", + "Gordana", + "Grazyna", + "Greta", + "Gretchen", + "Grete", + "Gretel", + "Gretl", + "Grit", + "Gudrun", + "Gudula", + "Gunda", + "Gundel", + "Gundi", + "Gundula", + "Gunhild", + "Gusti", + "Gönül", + "Gülay", + "Gülsen", + "Gülten", + "Halina", + "Hanife", + "Hanna", + "Hannah", + "Hannchen", + "Hanne", + "Hanne-Lore", + "Hannelore", + "Hanny", + "Harriet", + "Hatice", + "Hedda", + "Hedi", + "Hedwig", + "Hedy", + "Heide", + "Heide-Marie", + "Heidelinde", + "Heidelore", + "Heidemarie", + "Heiderose", + "Heidi", + "Heidrun", + "Heike", + "Helen", + "Helena", + "Helene", + "Helga", + "Hella", + "Helma", + "Helmtrud", + "Henni", + "Henny", + "Henri", + "Henriette", + "Henrike", + "Herlinde", + "Herma", + "Hermine", + "Herta", + "Hertha", + "Hilda", + "Hildburg", + "Hilde", + "Hildegard", + "Hildegart", + "Hildegund", + "Hildegunde", + "Hilma", + "Hiltraud", + "Hiltrud", + "Hubertine", + "Hulda", + "Hülya", + "Ida", + "Ildiko", + "Ilka", + "Ilona", + "Ilonka", + "Ilse", + "Imelda", + "Imke", + "Ina", + "Ines", + "Inga", + "Inge", + "Ingeborg", + "Ingeburg", + "Ingelore", + "Ingetraud", + "Ingetraut", + "Ingrid", + "Ingried", + "Inka", + "Inken", + "Inna", + "Insa", + "Ira", + "Irena", + "Irene", + "Irina", + "Iris", + "Irma", + "Irmela", + "Irmengard", + "Irmgard", + "Irmhild", + "Irmi", + "Irmingard", + "Irmtraud", + "Irmtraut", + "Irmtrud", + "Isa", + "Isabel", + "Isabell", + "Isabella", + "Isabelle", + "Isolde", + "Ivana", + "Ivanka", + "Ivonne", + "Iwona", + "Jacqueline", + "Jadwiga", + "Jana", + "Jane", + "Janet", + "Janett", + "Janette", + "Janin", + "Janina", + "Janine", + "Janna", + "Jaqueline", + "Jasmin", + "Jasmina", + "Jeanette", + "Jeannette", + "Jeannine", + "Jelena", + "Jennifer", + "Jenny", + "Jessica", + "Jessika", + "Jo", + "Joana", + "Joanna", + "Johanna", + "Johanne", + "Jolanda", + "Jolanta", + "Jolanthe", + "Josefa", + "Josefine", + "Josephine", + "Judith", + "Julia", + "Juliana", + "Juliane", + "Julie", + "Justina", + "Justine", + "Jutta", + "Karen", + "Karin", + "Karina", + "Karla", + "Karola", + "Karolin", + "Karolina", + "Karoline", + "Kata", + "Katalin", + "Katarina", + "Katarzyna", + "Katerina", + "Katharina", + "Katharine", + "Katherina", + "Kathi", + "Kathleen", + "Kathrin", + "Kathy", + "Kati", + "Katja", + "Katrin", + "Katy", + "Kerstin", + "Kira", + "Kirsten", + "Kirstin", + "Klara", + "Klaudia", + "Klothilde", + "Kläre", + "Konstanze", + "Kordula", + "Korinna", + "Kornelia", + "Kreszentia", + "Kreszenz", + "Kriemhild", + "Krista", + "Kristiane", + "Kristin", + "Kristina", + "Kristine", + "Krystyna", + "Kunigunda", + "Kunigunde", + "Käte", + "Käthe", + "Käthi", + "Laila", + "Lara", + "Larissa", + "Laura", + "Lea", + "Leila", + "Lena", + "Lene", + "Leni", + "Leokadia", + "Leonie", + "Leonore", + "Leopoldine", + "Leyla", + "Lia", + "Liane", + "Lidia", + "Lidija", + "Lidwina", + "Liesa", + "Liesbeth", + "Lieschen", + "Liesel", + "Lieselotte", + "Lili", + "Lilian", + "Liliana", + "Liliane", + "Lilija", + "Lilli", + "Lilly", + "Lilo", + "Lina", + "Linda", + "Lioba", + "Lisa", + "Lisbeth", + "Liselotte", + "Lisette", + "Lissi", + "Lissy", + "Ljiljana", + "Ljubica", + "Ljudmila", + "Loni", + "Lore", + "Loretta", + "Lotte", + "Lotti", + "Louise", + "Lucia", + "Lucie", + "Ludmila", + "Ludmilla", + "Ludwina", + "Luisa", + "Luise", + "Luitgard", + "Luka", + "Luzia", + "Luzie", + "Lydia", + "Madeleine", + "Madlen", + "Magarete", + "Magda", + "Magdalena", + "Magdalene", + "Magret", + "Magrit", + "Maike", + "Maja", + "Malgorzata", + "Mandy", + "Manja", + "Manuela", + "Mara", + "Marcella", + "Mareen", + "Mareike", + "Mareile", + "Maren", + "Marga", + "Margaret", + "Margareta", + "Margarete", + "Margaretha", + "Margarethe", + "Margarita", + "Margit", + "Margita", + "Margitta", + "Margot", + "Margret", + "Margrit", + "Maria", + "Maria-Luise", + "Maria-Theresia", + "Mariana", + "Marianna", + "Marianne", + "Marica", + "Marie", + "Marie-Louise", + "Marie-Luise", + "Marie-Theres", + "Marie-Therese", + "Mariechen", + "Mariele", + "Marieluise", + "Marietta", + "Marija", + "Marika", + "Marina", + "Mariola", + "Marion", + "Marisa", + "Marit", + "Marita", + "Maritta", + "Marjan", + "Marleen", + "Marlen", + "Marlene", + "Marlies", + "Marliese", + "Marlis", + "Marta", + "Martha", + "Martina", + "Martine", + "Mary", + "Marzena", + "Mathilde", + "Maya", + "Mechthild", + "Mechthilde", + "Mechtild", + "Meike", + "Melanie", + "Melissa", + "Melita", + "Melitta", + "Meral", + "Mercedes", + "Meryem", + "Meta", + "Mia", + "Michaela", + "Michaele", + "Michelle", + "Milena", + "Milica", + "Milka", + "Mina", + "Minna", + "Mira", + "Mirella", + "Miriam", + "Mirja", + "Mirjam", + "Mirjana", + "Miroslawa", + "Mona", + "Monica", + "Monika", + "Monique", + "Monja", + "Myriam", + "Nada", + "Nadeschda", + "Nadeshda", + "Nadia", + "Nadin", + "Nadine", + "Nadja", + "Nancy", + "Natali", + "Natalia", + "Natalie", + "Natalija", + "Natalja", + "Natascha", + "Nathalie", + "Nelli", + "Nelly", + "Nermin", + "Nevenka", + "Nicole", + "Nina", + "Nora", + "Norma", + "Notburga", + "Nuran", + "Nuray", + "Nurten", + "Oda", + "Olav", + "Olena", + "Olga", + "Olivia", + "Ortrud", + "Ortrun", + "Ottilie", + "Oxana", + "Pamela", + "Paola", + "Pascale", + "Patricia", + "Patrizia", + "Paula", + "Paulina", + "Pauline", + "Peggy", + "Petra", + "Philomena", + "Pia", + "Polina", + "Priska", + "Rabea", + "Radmila", + "Rahel", + "Raisa", + "Raissa", + "Ramona", + "Raphaela", + "Rebecca", + "Rebekka", + "Regina", + "Regine", + "Reingard", + "Reinhild", + "Reinhilde", + "Rena", + "Renata", + "Renate", + "Reni", + "Resi", + "Ria", + "Ricarda", + "Rita", + "Romana", + "Romy", + "Rosa", + "Rosa-Maria", + "Rosalia", + "Rosalie", + "Rosalinde", + "Rose", + "Rose-Marie", + "Rosel", + "Roselinde", + "Rosemarie", + "Rosi", + "Rosina", + "Rosita", + "Rosl", + "Rosmarie", + "Roswita", + "Roswitha", + "Rotraud", + "Rotraut", + "Ruth", + "Ruthild", + "Sabina", + "Sabine", + "Sabrina", + "Samira", + "Sandra", + "Sandy", + "Sara", + "Sarah", + "Sarina", + "Saskia", + "Selma", + "Semra", + "Senta", + "Serpil", + "Sevim", + "Sibel", + "Sibilla", + "Sibille", + "Sibylla", + "Sibylle", + "Sieglinde", + "Siegrid", + "Siegried", + "Siegrun", + "Siglinde", + "Sigrid", + "Sigrun", + "Silja", + "Silke", + "Silva", + "Silvana", + "Silvia", + "Simona", + "Simone", + "Sina", + "Sinaida", + "Slavica", + "Sofia", + "Sofie", + "Solveig", + "Songül", + "Sonia", + "Sonja", + "Sophia", + "Sophie", + "Stefani", + "Stefania", + "Stefanie", + "Steffi", + "Stella", + "Stephanie", + "Stilla", + "Susan", + "Susana", + "Susann", + "Susanna", + "Susanne", + "Suse", + "Susi", + "Suzanne", + "Svea", + "Svenja", + "Svetlana", + "Swantje", + "Swetlana", + "Sybilla", + "Sybille", + "Sylke", + "Sylvana", + "Sylvia", + "Sylvie", + "Sylwia", + "Tabea", + "Tamara", + "Tania", + "Tanja", + "Tatiana", + "Tatjana", + "Telse", + "Teresa", + "Thea", + "Theda", + "Thekla", + "Theodora", + "Theres", + "Theresa", + "Therese", + "Theresia", + "Tilly", + "Tina", + "Traude", + "Traudel", + "Traudl", + "Traute", + "Trude", + "Trudel", + "Trudi", + "Tülay", + "Türkan", + "Ulla", + "Ulrike", + "Undine", + "Ursel", + "Ursula", + "Urszula", + "Urte", + "Uschi", + "Uta", + "Ute", + "Valentina", + "Valentine", + "Valeri", + "Valeria", + "Valerie", + "Valeska", + "Vanessa", + "Vera", + "Verena", + "Veronica", + "Veronika", + "Veronique", + "Vesna", + "Victoria", + "Viktoria", + "Viola", + "Violetta", + "Virginia", + "Viviane", + "Walburga", + "Waldtraut", + "Walentina", + "Walli", + "Wally", + "Waltraud", + "Waltraut", + "Waltrud", + "Wanda", + "Wencke", + "Wendelin", + "Wenke", + "Wera", + "Wibke", + "Wiebke", + "Wilfriede", + "Wilhelmine", + "Wilma", + "Wiltrud", + "Xenia", + "Yasemin", + "Yasmin", + "Yvette", + "Yvonne", + "Zdenka", + "Zehra", + "Zenta", + "Zeynep", + "Zita", + "Zofia", ) first_names = first_names_male + first_names_female last_names = ( - 'Ackermann', 'Adler', 'Adolph', 'Albers', 'Anders', 'Atzler', 'Aumann', - 'Austermühle', 'Bachmann', 'Bähr', 'Bärer', 'Barkholz', 'Barth', - 'Bauer', 'Baum', 'Becker', 'Beckmann', 'Beer', 'Beier', 'Bender', - 'Benthin', 'Berger', 'Beyer', 'Bien', 'Biggen', 'Binner', 'Birnbaum', - 'Bloch', 'Blümel', 'Bohlander', 'Bonbach', 'Bolander', 'Bolnbach', - 'Bolzmann', 'Börner', 'Bohnbach', 'Boucsein', 'Briemer', 'Bruder', - 'Buchholz', 'Budig', 'Butte', 'Carsten', 'Caspar', 'Christoph', - 'Cichorius', 'Conradi', 'Davids', 'Dehmel', 'Dietz', - 'Dippel', 'Ditschlerin', 'Dobes', 'Döhn', 'Döring', 'Dörr', 'Dörschner', - 'Dowerg', 'Drewes', 'Drub', 'Drubin', 'Dussen van', 'Eberhardt', - 'Ebert', 'Eberth', 'Eckbauer', 'Ehlert', 'Eigenwillig', 'Eimer', - 'Ernst', 'Etzler', 'Etzold', 'Faust', 'Fechner', 'Fiebig', 'Finke', - 'Fischer', 'Flantz', 'Fliegner', 'Förster', 'Franke', 'Freudenberger', - 'Fritsch', 'Fröhlich', 'Gehringer', 'Geisel', 'Geisler', 'Geißler', - 'Gerlach', 'Gertz', 'Gierschner', 'Gieß', 'Girschner', 'Gnatz', - 'Gorlitz', 'Gotthard', 'Graf', 'Grein Groth', 'Gröttner', 'Gude', - 'Gunpf', 'Gumprich', 'Gute', 'Gutknecht', 'Haase', 'Haering', 'Hänel', - 'Häring', 'Hahn', 'Hamann', 'Hande', 'Harloff', 'Hartmann', 'Hartung', - 'Hauffer', 'Hecker', 'Heidrich', 'Hein', 'Heinrich', 'Heintze', 'Heinz', - 'Hellwig', 'Henck', 'Hendriks', 'Henk', 'Henschel', 'Hentschel', - 'Hering', 'Hermann', 'Herrmann', 'Hermighausen', 'Hertrampf', 'Heser', - 'Heß', 'Hesse', 'Hettner', 'Hethur', 'Heuser', 'Hiller', 'Heydrich', - 'Höfig', 'Hofmann', 'Holsten', 'Holt', 'Holzapfel', 'Hölzenbecher', - 'Hörle', 'Hövel', 'Hoffmann', 'Hornich', 'Hornig', 'Hübel', 'Huhn', - 'Jacob', 'Jacobi Jäckel', 'Jähn', 'Jäkel', 'Jäntsch', 'Jessel', - 'Jockel', 'Johann', 'Jopich', 'Junck', 'Juncken', 'Jungfer', 'Junitz', - 'Junk', 'Junken', 'Jüttner', 'Kabus', 'Kade', 'Käster', 'Kallert', - 'Kambs', 'Karge', 'Karz', 'Kaul', 'Kensy', 'Keudel', 'Killer', - 'Kitzmann', 'Klapp', 'Klemm', 'Klemt', 'Klingelhöfer', 'Klotz', - 'Knappe', 'Kobelt', 'Koch', 'Koch II', 'Köhler', 'Köster', 'Kohl', - 'Kostolzin', 'Kramer', 'Kranz', 'Krause', 'Kraushaar', 'Krebs', 'Krein', - 'Kreusel', 'Kroker', 'Kruschwitz', 'Kuhl', 'Kühnert', 'Kusch', - 'Lachmann', 'Ladeck', 'Lange', 'Langern', 'Lehmann', 'Liebelt', - 'Lindau', 'Lindner', 'Linke', 'Löchel', 'Löffler', 'Loos', 'Lorch', - 'Losekann', 'Löwer', 'Lübs', 'Mälzer', 'Mangold', 'Mans', 'Margraf', - 'Martin', 'Matthäi', 'Meister', 'Mende', 'Mentzel', 'Metz', 'Meyer', - 'Mielcarek', 'Mies', 'Misicher', 'Mitschke', 'Mohaupt', 'Mosemann', - 'Möchlichen', 'Mude', 'Mühle', 'Mülichen', 'Müller', 'Naser', 'Nerger', - 'Nette', 'Neureuther', 'Neuschäfer', 'Niemeier', 'Noack', 'Nohlmans', - 'Oderwald', 'Oestrovsky', 'Ortmann', 'Otto', 'Paffrath', 'Pärtzelt', - 'Patberg', 'Pechel', 'Pergande', 'Peukert', 'Pieper', 'Plath', 'Pohl', - 'Pölitz', 'Preiß', 'Pruschke', 'Putz', 'Rädel', 'Radisch', 'Reichmann', - 'Reinhardt', 'Reising', 'Renner', 'Reuter', 'Riehl', 'Ring', 'Ritter', - 'Rogge', 'Rogner', 'Rohleder', 'Röhrdanz', 'Röhricht', 'Roht', 'Römer', - 'Rörricht', 'Rose', 'Rosemann', 'Rosenow', 'Roskoth', 'Rudolph', - 'Ruppersberger', 'Ruppert', 'Rust', 'Sager', 'Salz', 'Säuberlich', - 'Sauer', 'Schaaf', 'Schacht', 'Schäfer', 'Scheel', 'Scheibe', 'Schenk', - 'Scheuermann', 'Schinke', 'Schleich', 'Schleich', 'auch Schlauchin', - 'Schlosser', 'Schmidt', 'Schmidtke', 'Schmiedecke', 'Schmiedt', - 'Schönland', 'Scholl', 'Scholtz', 'Scholz', 'Schomber', 'Schottin', - 'Schuchhardt', 'Schüler', 'Schulz', 'Schuster', 'Schweitzer', - 'Schwital', 'Segebahn', 'Seifert', 'Seidel', 'Seifert', 'Seip', - 'Siering', 'Söding', 'Sölzer', 'Sontag', 'Sorgatz', 'Speer', 'Spieß', - 'Stadelmann', 'Stahr', 'Staude', 'Steckel', 'Steinberg', 'Stey', - 'Stiebitz', 'Stiffel', 'Stoll', 'Stolze', 'Striebitz', 'Stroh', - 'Stumpf', 'Süßebier', 'Täsche', 'Textor', 'Thanel', 'Thies', - 'Tintzmann', 'Tlustek', 'Trapp', 'Trommler', 'Tröst', 'Trub', 'Trüb', - 'Trubin', 'Trupp', 'Tschentscher', 'Ullmann', 'Ullrich', - 'van der Dussen', 'Vogt', 'Vollbrecht', 'Wagenknecht', 'Wagner', 'Wähner', - 'Walter', 'Warmer', 'Weihmann', 'Weimer', 'Weinhage', 'Weinhold', - 'Weiß', 'Weitzel', 'Weller', 'Wende', 'Wernecke', 'Werner', 'Wesack', - 'Wiek', 'Wieloch', 'Wilms', 'Wilmsen', 'Winkler', 'Wirth', 'Wohlgemut', - 'Wulf', 'Wulff', 'Zahn', 'Zänker', 'Ziegert', 'Zimmer', 'Zirme', - 'Zobel', 'Zorbach', + "Ackermann", + "Adler", + "Adolph", + "Albers", + "Anders", + "Atzler", + "Aumann", + "Austermühle", + "Bachmann", + "Bähr", + "Bärer", + "Barkholz", + "Barth", + "Bauer", + "Baum", + "Becker", + "Beckmann", + "Beer", + "Beier", + "Bender", + "Benthin", + "Berger", + "Beyer", + "Bien", + "Biggen", + "Binner", + "Birnbaum", + "Bloch", + "Blümel", + "Bohlander", + "Bonbach", + "Bolander", + "Bolnbach", + "Bolzmann", + "Börner", + "Bohnbach", + "Boucsein", + "Briemer", + "Bruder", + "Buchholz", + "Budig", + "Butte", + "Carsten", + "Caspar", + "Christoph", + "Cichorius", + "Conradi", + "Davids", + "Dehmel", + "Dietz", + "Dippel", + "Ditschlerin", + "Dobes", + "Döhn", + "Döring", + "Dörr", + "Dörschner", + "Dowerg", + "Drewes", + "Drub", + "Drubin", + "Dussen van", + "Eberhardt", + "Ebert", + "Eberth", + "Eckbauer", + "Ehlert", + "Eigenwillig", + "Eimer", + "Ernst", + "Etzler", + "Etzold", + "Faust", + "Fechner", + "Fiebig", + "Finke", + "Fischer", + "Flantz", + "Fliegner", + "Förster", + "Franke", + "Freudenberger", + "Fritsch", + "Fröhlich", + "Gehringer", + "Geisel", + "Geisler", + "Geißler", + "Gerlach", + "Gertz", + "Gierschner", + "Gieß", + "Girschner", + "Gnatz", + "Gorlitz", + "Gotthard", + "Graf", + "Grein Groth", + "Gröttner", + "Gude", + "Gunpf", + "Gumprich", + "Gute", + "Gutknecht", + "Haase", + "Haering", + "Hänel", + "Häring", + "Hahn", + "Hamann", + "Hande", + "Harloff", + "Hartmann", + "Hartung", + "Hauffer", + "Hecker", + "Heidrich", + "Hein", + "Heinrich", + "Heintze", + "Heinz", + "Hellwig", + "Henck", + "Hendriks", + "Henk", + "Henschel", + "Hentschel", + "Hering", + "Hermann", + "Herrmann", + "Hermighausen", + "Hertrampf", + "Heser", + "Heß", + "Hesse", + "Hettner", + "Hethur", + "Heuser", + "Hiller", + "Heydrich", + "Höfig", + "Hofmann", + "Holsten", + "Holt", + "Holzapfel", + "Hölzenbecher", + "Hörle", + "Hövel", + "Hoffmann", + "Hornich", + "Hornig", + "Hübel", + "Huhn", + "Jacob", + "Jacobi Jäckel", + "Jähn", + "Jäkel", + "Jäntsch", + "Jessel", + "Jockel", + "Johann", + "Jopich", + "Junck", + "Juncken", + "Jungfer", + "Junitz", + "Junk", + "Junken", + "Jüttner", + "Kabus", + "Kade", + "Käster", + "Kallert", + "Kambs", + "Karge", + "Karz", + "Kaul", + "Kensy", + "Keudel", + "Killer", + "Kitzmann", + "Klapp", + "Klemm", + "Klemt", + "Klingelhöfer", + "Klotz", + "Knappe", + "Kobelt", + "Koch", + "Koch II", + "Köhler", + "Köster", + "Kohl", + "Kostolzin", + "Kramer", + "Kranz", + "Krause", + "Kraushaar", + "Krebs", + "Krein", + "Kreusel", + "Kroker", + "Kruschwitz", + "Kuhl", + "Kühnert", + "Kusch", + "Lachmann", + "Ladeck", + "Lange", + "Langern", + "Lehmann", + "Liebelt", + "Lindau", + "Lindner", + "Linke", + "Löchel", + "Löffler", + "Loos", + "Lorch", + "Losekann", + "Löwer", + "Lübs", + "Mälzer", + "Mangold", + "Mans", + "Margraf", + "Martin", + "Matthäi", + "Meister", + "Mende", + "Mentzel", + "Metz", + "Meyer", + "Mielcarek", + "Mies", + "Misicher", + "Mitschke", + "Mohaupt", + "Mosemann", + "Möchlichen", + "Mude", + "Mühle", + "Mülichen", + "Müller", + "Naser", + "Nerger", + "Nette", + "Neureuther", + "Neuschäfer", + "Niemeier", + "Noack", + "Nohlmans", + "Oderwald", + "Oestrovsky", + "Ortmann", + "Otto", + "Paffrath", + "Pärtzelt", + "Patberg", + "Pechel", + "Pergande", + "Peukert", + "Pieper", + "Plath", + "Pohl", + "Pölitz", + "Preiß", + "Pruschke", + "Putz", + "Rädel", + "Radisch", + "Reichmann", + "Reinhardt", + "Reising", + "Renner", + "Reuter", + "Riehl", + "Ring", + "Ritter", + "Rogge", + "Rogner", + "Rohleder", + "Röhrdanz", + "Röhricht", + "Roht", + "Römer", + "Rörricht", + "Rose", + "Rosemann", + "Rosenow", + "Roskoth", + "Rudolph", + "Ruppersberger", + "Ruppert", + "Rust", + "Sager", + "Salz", + "Säuberlich", + "Sauer", + "Schaaf", + "Schacht", + "Schäfer", + "Scheel", + "Scheibe", + "Schenk", + "Scheuermann", + "Schinke", + "Schleich", + "Schleich", + "auch Schlauchin", + "Schlosser", + "Schmidt", + "Schmidtke", + "Schmiedecke", + "Schmiedt", + "Schönland", + "Scholl", + "Scholtz", + "Scholz", + "Schomber", + "Schottin", + "Schuchhardt", + "Schüler", + "Schulz", + "Schuster", + "Schweitzer", + "Schwital", + "Segebahn", + "Seifert", + "Seidel", + "Seifert", + "Seip", + "Siering", + "Söding", + "Sölzer", + "Sontag", + "Sorgatz", + "Speer", + "Spieß", + "Stadelmann", + "Stahr", + "Staude", + "Steckel", + "Steinberg", + "Stey", + "Stiebitz", + "Stiffel", + "Stoll", + "Stolze", + "Striebitz", + "Stroh", + "Stumpf", + "Süßebier", + "Täsche", + "Textor", + "Thanel", + "Thies", + "Tintzmann", + "Tlustek", + "Trapp", + "Trommler", + "Tröst", + "Trub", + "Trüb", + "Trubin", + "Trupp", + "Tschentscher", + "Ullmann", + "Ullrich", + "van der Dussen", + "Vogt", + "Vollbrecht", + "Wagenknecht", + "Wagner", + "Wähner", + "Walter", + "Warmer", + "Weihmann", + "Weimer", + "Weinhage", + "Weinhold", + "Weiß", + "Weitzel", + "Weller", + "Wende", + "Wernecke", + "Werner", + "Wesack", + "Wiek", + "Wieloch", + "Wilms", + "Wilmsen", + "Winkler", + "Wirth", + "Wohlgemut", + "Wulf", + "Wulff", + "Zahn", + "Zänker", + "Ziegert", + "Zimmer", + "Zirme", + "Zobel", + "Zorbach", ) prefixes_male = ( - 'Herr', 'Dr.', 'Ing.', 'Dipl.-Ing.', 'Prof.', 'Univ.Prof.', + "Herr", + "Dr.", + "Ing.", + "Dipl.-Ing.", + "Prof.", + "Univ.Prof.", ) prefixes_female = ( - 'Frau', 'Dr.', 'Ing.', 'Dipl.-Ing.', 'Prof.', 'Univ.Prof.', + "Frau", + "Dr.", + "Ing.", + "Dipl.-Ing.", + "Prof.", + "Univ.Prof.", ) - suffixes = ('B.Sc.', 'B.A.', 'B.Eng.', 'MBA.') + suffixes = ("B.Sc.", "B.A.", "B.Eng.", "MBA.") diff --git a/faker/providers/person/dk_DK/__init__.py b/faker/providers/person/dk_DK/__init__.py index 2b739525bd..ccdf4725ab 100644 --- a/faker/providers/person/dk_DK/__init__.py +++ b/faker/providers/person/dk_DK/__init__.py @@ -3,121 +3,631 @@ class Provider(PersonProvider): formats = ( - '{{first_name_male}} {{last_name}}', - '{{first_name_male}} {{last_name}}', - '{{first_name_male}} {{last_name}}', - '{{first_name_male}} {{last_name}}', - '{{first_name_male}} {{last_name}}-{{last_name}}', - '{{first_name_female}} {{last_name}}', - '{{first_name_female}} {{last_name}}', - '{{first_name_female}} {{last_name}}', - '{{first_name_female}} {{last_name}}', - '{{first_name_female}} {{last_name}}-{{last_name}}', - '{{prefix_male}} {{first_name_male}} {{last_name}}', - '{{prefix_female}} {{first_name_female}} {{last_name}}', - '{{prefix_male}} {{first_name_male}} {{last_name}}', - '{{prefix_female}} {{first_name_female}} {{last_name}}', + "{{first_name_male}} {{last_name}}", + "{{first_name_male}} {{last_name}}", + "{{first_name_male}} {{last_name}}", + "{{first_name_male}} {{last_name}}", + "{{first_name_male}} {{last_name}}-{{last_name}}", + "{{first_name_female}} {{last_name}}", + "{{first_name_female}} {{last_name}}", + "{{first_name_female}} {{last_name}}", + "{{first_name_female}} {{last_name}}", + "{{first_name_female}} {{last_name}}-{{last_name}}", + "{{prefix_male}} {{first_name_male}} {{last_name}}", + "{{prefix_female}} {{first_name_female}} {{last_name}}", + "{{prefix_male}} {{first_name_male}} {{last_name}}", + "{{prefix_female}} {{first_name_female}} {{last_name}}", ) first_names_male = ( - 'Adam', 'Albert', 'Aksel', 'Alex', 'Alexander', 'Alf', 'Allan', - 'Alvin', 'Anders', 'André', 'Andreas', 'Anton', 'Arne', 'Asger', - 'ugust', 'Benjamin', 'Benny', 'Bent', 'Bertil', 'Bertram', 'Birger', - 'Bjarne', 'Bo', 'Bob', 'Bobby', 'Boe', 'Boris', 'Borris', - 'Brian', 'Bruno', 'Bøje', 'Børge', 'Carl', 'Carlo', 'Carsten', - 'Casper', 'Christian', 'Christoffer', 'Christopher', 'Claus', 'Clavs', 'Curt', - 'Dan', 'Daniel', 'Danny', 'David', 'Dennis', 'Ebbe', 'Einar', - 'Einer', 'Elias', 'Emil', 'Eric', 'Erik', 'Erling', 'Ernst', - 'Esben', 'Finn', 'Flemming', 'Frank', 'Frans', 'Freddy', 'Frede', - 'Frederik', 'Frode', 'Georg', 'George', 'Gert', 'Gorm', 'Gunnar', - 'Gunner', 'Gustav', 'Hans', 'Helge', 'Henrik', 'Henry', 'Herbert', - 'Herman', 'Hjalte', 'Holger', 'Hugo', 'Ib', 'Ivan', 'Iver', - 'Jack', 'Jacob', 'Jakob', 'James', 'Jan', 'Jano', 'Jarl', - 'Jean', 'Jens', 'Jeppe', 'Jesper', 'Jim', 'Jimmy', 'Joachim', - 'Joakim', 'Johan', 'Johannes', 'John', 'Johnnie', 'Johnny', 'Jon', - 'Jonas', 'Jonathan', 'Julius', 'Jørgen', 'Karl', 'Karlo', 'Karsten', - 'Kaspar', 'Kasper', 'Keld', 'Ken', 'Kenn', 'Kenneth', 'Kenny', - 'Kent', 'Kim', 'Kjeld', 'Klaus', 'Klavs', 'Kristian', 'Kurt', - 'Kåre', 'Lars', 'Lasse', 'Laurits', 'Laus', 'Laust', 'Leif', - 'Lennarth', 'Lucas', 'Ludvig', 'Mads', 'Magnus', 'Malthe', 'Marcus', - 'Marius', 'Mark', 'Martin', 'Mathias', 'Matthias', 'Michael', 'Mik', - 'Mikael', 'Mike', 'Mikkel', 'Mogens', 'Morten', 'Nick', 'Nicklas', - 'Nicolai', 'Nicolaj', 'Niels', 'Nikolai', 'Nikolaj', 'Nils', 'Noah', - 'Ole', 'Olfert', 'Oliver', 'Oscar', 'Oskar', 'Osvald', 'Otto', - 'Ove', 'Palle', 'Patrick', 'Paw', 'Peder', 'Per', 'Pete', - 'Peter', 'Paul', 'Philip', 'Poul', 'Preben', 'Ragnar', 'Ragner', - 'Rasmus', 'René', 'Richard', 'Richardt', 'Robert', 'Robin', 'Rolf', - 'Ron', 'Ronni', 'Ronnie', 'Ronny', 'Ruben', 'Rune', 'Sam', - 'Sebastian', 'Silas', 'Simon', 'Simon', 'Sonny', 'Steen', 'Stefan', - 'Sten', 'Stephan', 'Steve', 'Steven', 'Stig', 'Svenning', 'Søren', - 'Tage', 'Tejs', 'Thomas', 'Tim', 'Timmy', 'Tobias', 'Tom', - 'Tommy', 'Tonny', 'Torben', 'Troels', 'Uffe', 'Ulf', 'Ulrik', - 'Vagn', 'Valdemar', 'Verner', 'Victor', 'Villads', 'Werner', 'William', - 'Yan', 'Yannick', 'Yngve', 'Zacharias', 'Ziggy', 'Øivind', 'Øjvind', - 'Ørni', 'Øvli', 'Øystein', 'Øyvind', 'Åbjørn', 'Aage', 'Åge', + "Adam", + "Albert", + "Aksel", + "Alex", + "Alexander", + "Alf", + "Allan", + "Alvin", + "Anders", + "André", + "Andreas", + "Anton", + "Arne", + "Asger", + "ugust", + "Benjamin", + "Benny", + "Bent", + "Bertil", + "Bertram", + "Birger", + "Bjarne", + "Bo", + "Bob", + "Bobby", + "Boe", + "Boris", + "Borris", + "Brian", + "Bruno", + "Bøje", + "Børge", + "Carl", + "Carlo", + "Carsten", + "Casper", + "Christian", + "Christoffer", + "Christopher", + "Claus", + "Clavs", + "Curt", + "Dan", + "Daniel", + "Danny", + "David", + "Dennis", + "Ebbe", + "Einar", + "Einer", + "Elias", + "Emil", + "Eric", + "Erik", + "Erling", + "Ernst", + "Esben", + "Finn", + "Flemming", + "Frank", + "Frans", + "Freddy", + "Frede", + "Frederik", + "Frode", + "Georg", + "George", + "Gert", + "Gorm", + "Gunnar", + "Gunner", + "Gustav", + "Hans", + "Helge", + "Henrik", + "Henry", + "Herbert", + "Herman", + "Hjalte", + "Holger", + "Hugo", + "Ib", + "Ivan", + "Iver", + "Jack", + "Jacob", + "Jakob", + "James", + "Jan", + "Jano", + "Jarl", + "Jean", + "Jens", + "Jeppe", + "Jesper", + "Jim", + "Jimmy", + "Joachim", + "Joakim", + "Johan", + "Johannes", + "John", + "Johnnie", + "Johnny", + "Jon", + "Jonas", + "Jonathan", + "Julius", + "Jørgen", + "Karl", + "Karlo", + "Karsten", + "Kaspar", + "Kasper", + "Keld", + "Ken", + "Kenn", + "Kenneth", + "Kenny", + "Kent", + "Kim", + "Kjeld", + "Klaus", + "Klavs", + "Kristian", + "Kurt", + "Kåre", + "Lars", + "Lasse", + "Laurits", + "Laus", + "Laust", + "Leif", + "Lennarth", + "Lucas", + "Ludvig", + "Mads", + "Magnus", + "Malthe", + "Marcus", + "Marius", + "Mark", + "Martin", + "Mathias", + "Matthias", + "Michael", + "Mik", + "Mikael", + "Mike", + "Mikkel", + "Mogens", + "Morten", + "Nick", + "Nicklas", + "Nicolai", + "Nicolaj", + "Niels", + "Nikolai", + "Nikolaj", + "Nils", + "Noah", + "Ole", + "Olfert", + "Oliver", + "Oscar", + "Oskar", + "Osvald", + "Otto", + "Ove", + "Palle", + "Patrick", + "Paw", + "Peder", + "Per", + "Pete", + "Peter", + "Paul", + "Philip", + "Poul", + "Preben", + "Ragnar", + "Ragner", + "Rasmus", + "René", + "Richard", + "Richardt", + "Robert", + "Robin", + "Rolf", + "Ron", + "Ronni", + "Ronnie", + "Ronny", + "Ruben", + "Rune", + "Sam", + "Sebastian", + "Silas", + "Simon", + "Simon", + "Sonny", + "Steen", + "Stefan", + "Sten", + "Stephan", + "Steve", + "Steven", + "Stig", + "Svenning", + "Søren", + "Tage", + "Tejs", + "Thomas", + "Tim", + "Timmy", + "Tobias", + "Tom", + "Tommy", + "Tonny", + "Torben", + "Troels", + "Uffe", + "Ulf", + "Ulrik", + "Vagn", + "Valdemar", + "Verner", + "Victor", + "Villads", + "Werner", + "William", + "Yan", + "Yannick", + "Yngve", + "Zacharias", + "Ziggy", + "Øivind", + "Øjvind", + "Ørni", + "Øvli", + "Øystein", + "Øyvind", + "Åbjørn", + "Aage", + "Åge", ) first_names_female = ( - 'Abelone', 'Agnes', 'Agnete', 'Alberte', 'Alma', 'Amalie', 'Amanda', - 'Andrea', 'Ane', 'Anette', 'Anna', 'Anne', 'Annemette', 'Annette', - 'Asta', 'Astrid', 'Benedicte', 'Benedikte', 'Bente', 'Benthe', 'Berit', - 'Berta', 'Beth', 'Bettina', 'Birgit', 'Birgitte', 'Birte', 'Birthe', - 'Bitten', 'Bodil', 'Britt', 'Britta', 'Camilla', 'Carina', 'Carla', - 'Caroline', 'Cathrine', 'Catrine', 'Cecilie', 'Charlotte', 'Christina', 'Christine', - 'Cirkeline', 'Clara', 'Connie', 'Conny', 'Dagmar', 'Dagny', 'Daniella', - 'Dina', 'Ditte', 'Doris', 'Dorte', 'Dorthe', 'Edith', 'Elin', - 'Elisabeth', 'Ella', 'Ellen', 'Elna', 'Else', 'Elsebeth', 'Emilie', - 'Emily', 'Emma', 'Erna', 'Esmarelda', 'Ester', 'Filippa', 'Frederikke', - 'Freja', 'Frida', 'Gerda', 'Gertrud', 'Gitte', 'Grete', 'Grethe', - 'Gundhild', 'Gunhild', 'Gurli', 'Gyda', 'Hannah', 'Hanne', 'Heidi', - 'Helen', 'Helle', 'Henriette', 'Herdis', 'Iben', 'Ida', 'Inga', - 'Inge', 'Ingelise', 'Inger', 'Ingrid', 'Irma', 'Isabella', 'Jacobine', - 'Jacqueline', 'Janne', 'Janni', 'Jannie', 'Jasmin', 'Jean', 'Jenny', - 'Joan', 'Johanne', 'Jonna', 'Josefine', 'Josephine', 'Julie', 'Justina', - 'Jytte', 'Karen', 'Karin', 'Karina', 'Karla', 'Karoline', 'Katcha', - 'Katja', 'Katrine', 'Kirsten', 'Kirstin', 'Kirstine', 'Klara', 'Kristina', - 'Kristine', 'Laura', 'Lea', 'Lena', 'Lene', 'Leonora', 'Line', - 'Liva', 'Lona', 'Lone', 'Lotte', 'Louise', 'Lærke', 'Maiken', - 'Maja', 'Majken', 'Malene', 'Malou', 'Maren', 'Margit', 'Margrethe', - 'Maria', 'Marianne', 'Marie', 'Marlene', 'Mathilde', 'Maya', 'Merete', - 'Merethe', 'Mette', 'Mia', 'Michala', 'Michelle', 'Mie', 'Mille', - 'Mimi', 'Minna', 'Nadia', 'Naja', 'Nana', 'Nanna', 'Nanni', - 'Natasha', 'Natasja', 'Nete', 'Nicoline', 'Nina', 'Nora', 'Oda', - 'Odeline', 'Odette', 'Ofelia', 'Olga', 'Olivia', 'Patricia', 'Paula', - 'Paulina', 'Pernille', 'Pia', 'Ragna', 'Ragnhild', 'Randi', 'Rebecca', - 'Regitse', 'Regitze', 'Rikke', 'Rita', 'Ritt', 'Ronja', 'Rosa', - 'Ruth', 'Sabine', 'Sandra', 'Sanne', 'Sara', 'Sarah', 'Selma', - 'Signe', 'Sigrid', 'Silje', 'Sille', 'Simone', 'Sine', 'Sofia', - 'Sofie', 'Solveig', 'Solvej', 'Sonja', 'Sophie', 'Stina', 'Stine', - 'Susanne', 'Sussanne', 'Sussie', 'Sys', 'Sørine', 'Søs', 'Tammy', - 'Tanja', 'Thea', 'Tilde', 'Tina', 'Tine', 'Tove', 'Trine', - 'Ulla', 'Ulrike', 'Ursula', 'Vera', 'Victoria', 'Viola', 'Vivian', - 'Weena', 'Winni', 'Winnie', 'Xenia', 'Yasmin', 'Yda', 'Yrsa', - 'Yvonne', 'Zahra', 'Zara', 'Zehnia', 'Zelma', 'Zenia', 'Åse', + "Abelone", + "Agnes", + "Agnete", + "Alberte", + "Alma", + "Amalie", + "Amanda", + "Andrea", + "Ane", + "Anette", + "Anna", + "Anne", + "Annemette", + "Annette", + "Asta", + "Astrid", + "Benedicte", + "Benedikte", + "Bente", + "Benthe", + "Berit", + "Berta", + "Beth", + "Bettina", + "Birgit", + "Birgitte", + "Birte", + "Birthe", + "Bitten", + "Bodil", + "Britt", + "Britta", + "Camilla", + "Carina", + "Carla", + "Caroline", + "Cathrine", + "Catrine", + "Cecilie", + "Charlotte", + "Christina", + "Christine", + "Cirkeline", + "Clara", + "Connie", + "Conny", + "Dagmar", + "Dagny", + "Daniella", + "Dina", + "Ditte", + "Doris", + "Dorte", + "Dorthe", + "Edith", + "Elin", + "Elisabeth", + "Ella", + "Ellen", + "Elna", + "Else", + "Elsebeth", + "Emilie", + "Emily", + "Emma", + "Erna", + "Esmarelda", + "Ester", + "Filippa", + "Frederikke", + "Freja", + "Frida", + "Gerda", + "Gertrud", + "Gitte", + "Grete", + "Grethe", + "Gundhild", + "Gunhild", + "Gurli", + "Gyda", + "Hannah", + "Hanne", + "Heidi", + "Helen", + "Helle", + "Henriette", + "Herdis", + "Iben", + "Ida", + "Inga", + "Inge", + "Ingelise", + "Inger", + "Ingrid", + "Irma", + "Isabella", + "Jacobine", + "Jacqueline", + "Janne", + "Janni", + "Jannie", + "Jasmin", + "Jean", + "Jenny", + "Joan", + "Johanne", + "Jonna", + "Josefine", + "Josephine", + "Julie", + "Justina", + "Jytte", + "Karen", + "Karin", + "Karina", + "Karla", + "Karoline", + "Katcha", + "Katja", + "Katrine", + "Kirsten", + "Kirstin", + "Kirstine", + "Klara", + "Kristina", + "Kristine", + "Laura", + "Lea", + "Lena", + "Lene", + "Leonora", + "Line", + "Liva", + "Lona", + "Lone", + "Lotte", + "Louise", + "Lærke", + "Maiken", + "Maja", + "Majken", + "Malene", + "Malou", + "Maren", + "Margit", + "Margrethe", + "Maria", + "Marianne", + "Marie", + "Marlene", + "Mathilde", + "Maya", + "Merete", + "Merethe", + "Mette", + "Mia", + "Michala", + "Michelle", + "Mie", + "Mille", + "Mimi", + "Minna", + "Nadia", + "Naja", + "Nana", + "Nanna", + "Nanni", + "Natasha", + "Natasja", + "Nete", + "Nicoline", + "Nina", + "Nora", + "Oda", + "Odeline", + "Odette", + "Ofelia", + "Olga", + "Olivia", + "Patricia", + "Paula", + "Paulina", + "Pernille", + "Pia", + "Ragna", + "Ragnhild", + "Randi", + "Rebecca", + "Regitse", + "Regitze", + "Rikke", + "Rita", + "Ritt", + "Ronja", + "Rosa", + "Ruth", + "Sabine", + "Sandra", + "Sanne", + "Sara", + "Sarah", + "Selma", + "Signe", + "Sigrid", + "Silje", + "Sille", + "Simone", + "Sine", + "Sofia", + "Sofie", + "Solveig", + "Solvej", + "Sonja", + "Sophie", + "Stina", + "Stine", + "Susanne", + "Sussanne", + "Sussie", + "Sys", + "Sørine", + "Søs", + "Tammy", + "Tanja", + "Thea", + "Tilde", + "Tina", + "Tine", + "Tove", + "Trine", + "Ulla", + "Ulrike", + "Ursula", + "Vera", + "Victoria", + "Viola", + "Vivian", + "Weena", + "Winni", + "Winnie", + "Xenia", + "Yasmin", + "Yda", + "Yrsa", + "Yvonne", + "Zahra", + "Zara", + "Zehnia", + "Zelma", + "Zenia", + "Åse", ) first_names = first_names_male + first_names_female last_names = ( - 'Jensen', 'Nielsen', 'Hansen', 'Pedersen', 'Andersen', 'Christensen', 'Larsen', - 'Sørensen', 'Rasmussen', 'Petersen', 'Jørgensen', 'Madsen', 'Kristensen', 'Olsen', - 'Christiansen', 'Thomsen', 'Poulsen', 'Johansen', 'Knudsen', 'Mortensen', 'Møller', - 'Jacobsen', 'Jakobsen', 'Olesen', 'Frederiksen', 'Mikkelsen', 'Henriksen', 'Laursen', - 'Lund', 'Schmidt', 'Eriksen', 'Holm', 'Kristiansen', 'Clausen', 'Simonsen', - 'Svendsen', 'Andreasen', 'Iversen', 'Jeppesen', 'Mogensen', 'Jespersen', 'Nissen', - 'Lauridsen', 'Frandsen', 'Østergaard', 'Jepsen', 'Kjær', 'Carlsen', 'Vestergaard', - 'Jessen', 'Nørgaard', 'Dahl', 'Christoffersen', 'Skov', 'Søndergaard', 'Bertelsen', - 'Bruun', 'Lassen', 'Bach', 'Gregersen', 'Friis', 'Johnsen', 'Steffensen', - 'Kjeldsen', 'Bech', 'Krogh', 'Lauritsen', 'Danielsen', 'Mathiesen', 'Andresen', - 'Brandt', 'Winther', 'Toft', 'Ravn', 'Mathiasen', 'Dam', 'Holst', - 'Nilsson', 'Lind', 'Berg', 'Schou', 'Overgaard', 'Kristoffersen', 'Schultz', - 'Klausen', 'Karlsen', 'Paulsen', 'Hermansen', 'Thorsen', 'Koch', 'Thygesen', + "Jensen", + "Nielsen", + "Hansen", + "Pedersen", + "Andersen", + "Christensen", + "Larsen", + "Sørensen", + "Rasmussen", + "Petersen", + "Jørgensen", + "Madsen", + "Kristensen", + "Olsen", + "Christiansen", + "Thomsen", + "Poulsen", + "Johansen", + "Knudsen", + "Mortensen", + "Møller", + "Jacobsen", + "Jakobsen", + "Olesen", + "Frederiksen", + "Mikkelsen", + "Henriksen", + "Laursen", + "Lund", + "Schmidt", + "Eriksen", + "Holm", + "Kristiansen", + "Clausen", + "Simonsen", + "Svendsen", + "Andreasen", + "Iversen", + "Jeppesen", + "Mogensen", + "Jespersen", + "Nissen", + "Lauridsen", + "Frandsen", + "Østergaard", + "Jepsen", + "Kjær", + "Carlsen", + "Vestergaard", + "Jessen", + "Nørgaard", + "Dahl", + "Christoffersen", + "Skov", + "Søndergaard", + "Bertelsen", + "Bruun", + "Lassen", + "Bach", + "Gregersen", + "Friis", + "Johnsen", + "Steffensen", + "Kjeldsen", + "Bech", + "Krogh", + "Lauritsen", + "Danielsen", + "Mathiesen", + "Andresen", + "Brandt", + "Winther", + "Toft", + "Ravn", + "Mathiasen", + "Dam", + "Holst", + "Nilsson", + "Lind", + "Berg", + "Schou", + "Overgaard", + "Kristoffersen", + "Schultz", + "Klausen", + "Karlsen", + "Paulsen", + "Hermansen", + "Thorsen", + "Koch", + "Thygesen", ) prefixes_male = ( - 'Hr', 'Dr.', 'Prof.', 'Univ.Prof.', + "Hr", + "Dr.", + "Prof.", + "Univ.Prof.", ) prefixes_female = ( - 'Fru', 'Dr.', 'Prof.', 'Univ.Prof.', + "Fru", + "Dr.", + "Prof.", + "Univ.Prof.", ) diff --git a/faker/providers/person/el_GR/__init__.py b/faker/providers/person/el_GR/__init__.py index 95bc9db5dc..1950ccdd54 100644 --- a/faker/providers/person/el_GR/__init__.py +++ b/faker/providers/person/el_GR/__init__.py @@ -3,434 +3,2308 @@ class Provider(PersonProvider): formats_male = ( - '{{first_name_male}} {{last_name_male}}', - '{{first_name_male}} {{last_name_male}}', - '{{first_name_male}} {{last_name_male}}', - '{{first_name_male}} {{last_name_male}}', - '{{first_name_male}} {{last_name_male}}', - '{{first_name_male}} {{last_name_male}}', - '{{first_name_male}}-{{first_name_male}} {{last_name_male}}', + "{{first_name_male}} {{last_name_male}}", + "{{first_name_male}} {{last_name_male}}", + "{{first_name_male}} {{last_name_male}}", + "{{first_name_male}} {{last_name_male}}", + "{{first_name_male}} {{last_name_male}}", + "{{first_name_male}} {{last_name_male}}", + "{{first_name_male}}-{{first_name_male}} {{last_name_male}}", ) formats_female = ( - '{{first_name_female}} {{last_name_female}}', - '{{first_name_female}} {{last_name_female}}', - '{{first_name_female}} {{last_name_female}}', - '{{first_name_female}} {{last_name_female}}', - '{{first_name_female}} {{last_name_female}}', - '{{first_name_female}} {{last_name_female}}', - '{{first_name_female}}-{{first_name_female}} {{last_name_female}}', + "{{first_name_female}} {{last_name_female}}", + "{{first_name_female}} {{last_name_female}}", + "{{first_name_female}} {{last_name_female}}", + "{{first_name_female}} {{last_name_female}}", + "{{first_name_female}} {{last_name_female}}", + "{{first_name_female}} {{last_name_female}}", + "{{first_name_female}}-{{first_name_female}} {{last_name_female}}", ) formats = formats_male + formats_female first_names_male = ( - 'Άγγελος', 'Άνθιμος', 'Άρης', 'Άριστος', 'Έκτορας', 'Έξαρχος', 'Ίκαρος', - 'Ίων', 'Αίας', 'Αβραάμ', 'Αγάπιος', 'Αγαθάγγελος', 'Αγαθοκλής', - 'Αγαθόνικος', 'Αγαμέμνων', 'Αγαπητός', 'Αγγελής', 'Αγησίλαος', 'Αδάμ', - 'Αδαμάντιος', 'Αθανάσιος', 'Αθηναγόρας', 'Αθηνόδωρος', 'Αιμίλιος', - 'Αιμιλιανός', 'Ακρίτας', 'Ακριβός', 'Αλέξανδρος', 'Αλέξιος', 'Αλκιβιάδης', - 'Αμβρόσιος', 'Ανάργυρος', 'Ανέστης', 'Αναγνώστης', 'Ανανίας', 'Αναξαγόρας', - 'Αναστάσιος', 'Ανδρέας', 'Ανδροκλής', 'Ανδρόνικος', 'Ανθούλης', 'Αντίγονος', - 'Αντίπατρος', 'Αντύπας', 'Αντώνιος', 'Απόλλων', 'Απόστολος', 'Αρίσταρχος', - 'Αργύριος', 'Αριστείδης', 'Αριστομένης', 'Αριστοτέλης', 'Αριστοφάνης', - 'Αριστόβουλος', 'Αρτέμης', 'Αρτέμιος', 'Αρχέλαος', 'Αρχιμήδης', 'Ασημάκης', - 'Ασημής', 'Ασκληπιός', 'Αστέριος', 'Αυγέρης', 'Αυξέντιος', 'Αφέντης', - 'Αχιλλέας', 'Αύγουστος', 'Βάιος', 'Βαλάντης', 'Βαλέριος', 'Βαλεντίνος', - 'Βαρδής', 'Βαρθολομαίος', 'Βαρσάμος', 'Βασίλειος', 'Βασίλης', 'Βελισσάριος', - 'Βενέτιος', 'Βενιαμίν', 'Βενιζέλος', 'Βησσαρίων', 'Βικέντιος', 'Βλάσης', - 'Βλάσιος', 'Βλαδίμηρος', 'Βρασίδας', 'Βύρων', 'Γαβριήλ', 'Γαλάτιος', - 'Γαληνός', 'Γαρύφαλλος', 'Γεράσιμος', 'Γεώργιος', 'Γιάννης', 'Γιώργος', - 'Γκίκας', 'Γρηγόριος', 'Δήμος', 'Δίκαιος', 'Δαμασκηνός', 'Δαμιανός', - 'Δανιήλ', 'Δημήτρης', 'Δημήτριος', 'Δημοκράτης', 'Δημοσθένης', 'Δημόκριτος', - 'Διαμαντής', 'Διογένης', 'Διομήδης', 'Διονύσιος', 'Δομήνικος', 'Δράκων', - 'Δρόσος', 'Δωρόθεος', 'Ειρηναίος', 'Ελευθέριος', 'Ελισσαίος', 'Εμμανουήλ', - 'Επαμεινώνδας', 'Ερμής', 'Ερμόλαος', 'Ερρίκος', 'Ερωτόκριτος', 'Ευάγγελος', - 'Ευγένιος', 'Ευδόξιος', 'Ευθύμιος', 'Ευκλείδης', 'Ευμένιος', 'Ευριπίδης', - 'Ευσέβιος', 'Ευστάθιος', 'Ευστράτιος', 'Ευτύχιος', 'Εφραίμ', 'Ζήνων', - 'Ζαφείρης', 'Ζαφείριος', 'Ζαχαρίας', 'Ζηνόβιος', 'Ηλίας', 'Ηρακλής', - 'Ηρόδοτος', 'Ησαΐας', 'Θέμης', 'Θαλής', 'Θεμιστοκλής', 'Θεοδόσης', - 'Θεοδόσιος', 'Θεολόγος', 'Θεοτόκης', 'Θεοφάνης', 'Θεοφύλακτος', 'Θεοχάρης', - 'Θεόδουλος', 'Θεόδωρος', 'Θεόκλητος', 'Θεόπιστος', 'Θεόφιλος', 'Θεόφραστος', - 'Θησεύς', 'Θουκυδίδης', 'Θρασύβουλος', 'Θωμάς', 'Ιάκωβος', 'Ιάσονας', - 'Ιάσων', 'Ιγνάτιος', 'Ιερεμίας', 'Ιερόθεος', 'Ιερώνυμος', 'Ιορδάνης', - 'Ιουλιανός', 'Ιούλιος', 'Ιπποκράτης', 'Ιππόλυτος', 'Ισίδωρος', 'Ισαάκ', - 'Ιωάννης', 'Ιωακείμ', 'Ιωνάς', 'Ιωσήφ', 'Κάρολος', 'Κίμων', 'Καλλίνικος', - 'Κηρύκος', 'Κλέαρχος', 'Κλήμης', 'Κλεάνθης', 'Κλεομένης', 'Κλεόβουλος', - 'Κλεόπας', 'Κομνηνός', 'Κορνήλιος', 'Κοσμάς', 'Κρυστάλλης', 'Κυπριανός', - 'Κυριάκος', 'Κυριαζής', 'Κωνσταντίνος', 'Κύρος', 'Κώστας', 'Λάζαρος', - 'Λάμπρος', 'Λάσκαρης', 'Λέανδρος', 'Λέων', 'Λαέρτης', 'Λαοκράτης', - 'Λαυρέντιος', 'Λεμονής', 'Λεονάρδος', 'Λεωνίδας', 'Λογοθέτης', 'Λουδοβίκος', - 'Λουκάς', 'Λουκιανός', 'Λυκούργος', 'Λύσανδρος', 'Μάριος', 'Μάρκος', - 'Μένανδρος', 'Μίνωας', 'Μαγδαληνός', 'Μακάριος', 'Μαρίνος', 'Μαρτίνος', - 'Ματθαίος', 'Μαυρίκιος', 'Μαυροειδής', 'Μαυρούδης', 'Μαύρος', 'Μεγακλής', - 'Μεθόδιος', 'Μελέτιος', 'Μενέλαος', 'Μερκούριος', 'Μηνάς', 'Μικές', - 'Μιλτιάδης', 'Μιχάλης', 'Μιχαήλ', 'Νέαρχος', 'Νίκανδρος', 'Νίκος', 'Νίκων', - 'Ναθαναήλ', 'Ναπολέων', 'Νεκτάριος', 'Νεοκλής', 'Νεόφυτος', 'Νικήτας', - 'Νικηφόρος', 'Νικόδημος', 'Νικόλαος', 'Ξανθός', 'Ξενοφών', 'Οδυσσέας', - 'Οδυσσεύς', 'Ορέστης', 'Ορφέας', 'Πάρις', 'Πάτροκλος', 'Πέτρος', 'Πίνδαρος', - 'Παναγής', 'Παναγιώτης', 'Πανορμίτης', 'Πανταζής', 'Παντελής', - 'Παντελεήμων', 'Παράσχος', 'Παρασκευάς', 'Πασχάλης', 'Παυσανίας', 'Παύλος', - 'Πελοπίδας', 'Περικλής', 'Πλάτων', 'Πλούταρχος', 'Πολυζώης', 'Πολυκράτης', - 'Πολυχρόνιος', 'Πολύβιος', 'Πολύδωρος', 'Πολύκαρπος', 'Πραξιτέλης', - 'Προκόπιος', 'Προμηθέας', 'Πρόδρομος', 'Πυθαγόρας', 'Πύρρος', 'Ράλλης', - 'Ρήγας', 'Ρίζος', 'Ραφαήλ', 'Ραχήλ', 'Ροδόφλος', 'Ρωμανός', 'Σάββας', - 'Σέργιος', 'Σαμουήλ', 'Σαράντης', 'Σεβαστιανός', 'Σεραφείμ', 'Σιρανούς', - 'Σολομών', 'Σοφοκλής', 'Σπήλιος', 'Σπυρίδων', 'Στέλλιος', 'Στέργιος', - 'Στέφανος', 'Σταμάτης', 'Σταμάτιος', 'Σταύρος', 'Στυλιανός', 'Συμεών', - 'Σωκράτης', 'Σωτήρης', 'Σωτήριος', 'Σόλων', 'Σώζων', 'Τίμων', 'Τίτος', - 'Ταξίαρχος', 'Ταξιάρχης', 'Τζανέτος', 'Τηλέμαχος', 'Τηλεμαχος', 'Τιμολέων', - 'Τιμόθεος', 'Τριαντάφυλλος', 'Τρύφων', 'Τσαμπίκος', 'Υάκινθος', 'Φίλιππος', - 'Φαίδων', 'Φανούριος', 'Φιλήμων', 'Φλοριάντ', 'Φοίβος', 'Φρίξος', - 'Φραγκίσκος', 'Φρειδερίκος', 'Φωκάς', 'Φωκίων', 'Φωτεινός', 'Φώτιος', - 'Χάρις', 'Χαράλαμπος', 'Χαρίλαος', 'Χαρίτος', 'Χρήστος', 'Χρίστος', - 'Χριστιάν', 'Χριστόδουλος', 'Χριστόφορος', 'Χρυσοβαλάντιος', 'Χρυσόστομος', - 'Χρύσανθος', 'Όθων', 'Όμηρος', + "Άγγελος", + "Άνθιμος", + "Άρης", + "Άριστος", + "Έκτορας", + "Έξαρχος", + "Ίκαρος", + "Ίων", + "Αίας", + "Αβραάμ", + "Αγάπιος", + "Αγαθάγγελος", + "Αγαθοκλής", + "Αγαθόνικος", + "Αγαμέμνων", + "Αγαπητός", + "Αγγελής", + "Αγησίλαος", + "Αδάμ", + "Αδαμάντιος", + "Αθανάσιος", + "Αθηναγόρας", + "Αθηνόδωρος", + "Αιμίλιος", + "Αιμιλιανός", + "Ακρίτας", + "Ακριβός", + "Αλέξανδρος", + "Αλέξιος", + "Αλκιβιάδης", + "Αμβρόσιος", + "Ανάργυρος", + "Ανέστης", + "Αναγνώστης", + "Ανανίας", + "Αναξαγόρας", + "Αναστάσιος", + "Ανδρέας", + "Ανδροκλής", + "Ανδρόνικος", + "Ανθούλης", + "Αντίγονος", + "Αντίπατρος", + "Αντύπας", + "Αντώνιος", + "Απόλλων", + "Απόστολος", + "Αρίσταρχος", + "Αργύριος", + "Αριστείδης", + "Αριστομένης", + "Αριστοτέλης", + "Αριστοφάνης", + "Αριστόβουλος", + "Αρτέμης", + "Αρτέμιος", + "Αρχέλαος", + "Αρχιμήδης", + "Ασημάκης", + "Ασημής", + "Ασκληπιός", + "Αστέριος", + "Αυγέρης", + "Αυξέντιος", + "Αφέντης", + "Αχιλλέας", + "Αύγουστος", + "Βάιος", + "Βαλάντης", + "Βαλέριος", + "Βαλεντίνος", + "Βαρδής", + "Βαρθολομαίος", + "Βαρσάμος", + "Βασίλειος", + "Βασίλης", + "Βελισσάριος", + "Βενέτιος", + "Βενιαμίν", + "Βενιζέλος", + "Βησσαρίων", + "Βικέντιος", + "Βλάσης", + "Βλάσιος", + "Βλαδίμηρος", + "Βρασίδας", + "Βύρων", + "Γαβριήλ", + "Γαλάτιος", + "Γαληνός", + "Γαρύφαλλος", + "Γεράσιμος", + "Γεώργιος", + "Γιάννης", + "Γιώργος", + "Γκίκας", + "Γρηγόριος", + "Δήμος", + "Δίκαιος", + "Δαμασκηνός", + "Δαμιανός", + "Δανιήλ", + "Δημήτρης", + "Δημήτριος", + "Δημοκράτης", + "Δημοσθένης", + "Δημόκριτος", + "Διαμαντής", + "Διογένης", + "Διομήδης", + "Διονύσιος", + "Δομήνικος", + "Δράκων", + "Δρόσος", + "Δωρόθεος", + "Ειρηναίος", + "Ελευθέριος", + "Ελισσαίος", + "Εμμανουήλ", + "Επαμεινώνδας", + "Ερμής", + "Ερμόλαος", + "Ερρίκος", + "Ερωτόκριτος", + "Ευάγγελος", + "Ευγένιος", + "Ευδόξιος", + "Ευθύμιος", + "Ευκλείδης", + "Ευμένιος", + "Ευριπίδης", + "Ευσέβιος", + "Ευστάθιος", + "Ευστράτιος", + "Ευτύχιος", + "Εφραίμ", + "Ζήνων", + "Ζαφείρης", + "Ζαφείριος", + "Ζαχαρίας", + "Ζηνόβιος", + "Ηλίας", + "Ηρακλής", + "Ηρόδοτος", + "Ησαΐας", + "Θέμης", + "Θαλής", + "Θεμιστοκλής", + "Θεοδόσης", + "Θεοδόσιος", + "Θεολόγος", + "Θεοτόκης", + "Θεοφάνης", + "Θεοφύλακτος", + "Θεοχάρης", + "Θεόδουλος", + "Θεόδωρος", + "Θεόκλητος", + "Θεόπιστος", + "Θεόφιλος", + "Θεόφραστος", + "Θησεύς", + "Θουκυδίδης", + "Θρασύβουλος", + "Θωμάς", + "Ιάκωβος", + "Ιάσονας", + "Ιάσων", + "Ιγνάτιος", + "Ιερεμίας", + "Ιερόθεος", + "Ιερώνυμος", + "Ιορδάνης", + "Ιουλιανός", + "Ιούλιος", + "Ιπποκράτης", + "Ιππόλυτος", + "Ισίδωρος", + "Ισαάκ", + "Ιωάννης", + "Ιωακείμ", + "Ιωνάς", + "Ιωσήφ", + "Κάρολος", + "Κίμων", + "Καλλίνικος", + "Κηρύκος", + "Κλέαρχος", + "Κλήμης", + "Κλεάνθης", + "Κλεομένης", + "Κλεόβουλος", + "Κλεόπας", + "Κομνηνός", + "Κορνήλιος", + "Κοσμάς", + "Κρυστάλλης", + "Κυπριανός", + "Κυριάκος", + "Κυριαζής", + "Κωνσταντίνος", + "Κύρος", + "Κώστας", + "Λάζαρος", + "Λάμπρος", + "Λάσκαρης", + "Λέανδρος", + "Λέων", + "Λαέρτης", + "Λαοκράτης", + "Λαυρέντιος", + "Λεμονής", + "Λεονάρδος", + "Λεωνίδας", + "Λογοθέτης", + "Λουδοβίκος", + "Λουκάς", + "Λουκιανός", + "Λυκούργος", + "Λύσανδρος", + "Μάριος", + "Μάρκος", + "Μένανδρος", + "Μίνωας", + "Μαγδαληνός", + "Μακάριος", + "Μαρίνος", + "Μαρτίνος", + "Ματθαίος", + "Μαυρίκιος", + "Μαυροειδής", + "Μαυρούδης", + "Μαύρος", + "Μεγακλής", + "Μεθόδιος", + "Μελέτιος", + "Μενέλαος", + "Μερκούριος", + "Μηνάς", + "Μικές", + "Μιλτιάδης", + "Μιχάλης", + "Μιχαήλ", + "Νέαρχος", + "Νίκανδρος", + "Νίκος", + "Νίκων", + "Ναθαναήλ", + "Ναπολέων", + "Νεκτάριος", + "Νεοκλής", + "Νεόφυτος", + "Νικήτας", + "Νικηφόρος", + "Νικόδημος", + "Νικόλαος", + "Ξανθός", + "Ξενοφών", + "Οδυσσέας", + "Οδυσσεύς", + "Ορέστης", + "Ορφέας", + "Πάρις", + "Πάτροκλος", + "Πέτρος", + "Πίνδαρος", + "Παναγής", + "Παναγιώτης", + "Πανορμίτης", + "Πανταζής", + "Παντελής", + "Παντελεήμων", + "Παράσχος", + "Παρασκευάς", + "Πασχάλης", + "Παυσανίας", + "Παύλος", + "Πελοπίδας", + "Περικλής", + "Πλάτων", + "Πλούταρχος", + "Πολυζώης", + "Πολυκράτης", + "Πολυχρόνιος", + "Πολύβιος", + "Πολύδωρος", + "Πολύκαρπος", + "Πραξιτέλης", + "Προκόπιος", + "Προμηθέας", + "Πρόδρομος", + "Πυθαγόρας", + "Πύρρος", + "Ράλλης", + "Ρήγας", + "Ρίζος", + "Ραφαήλ", + "Ραχήλ", + "Ροδόφλος", + "Ρωμανός", + "Σάββας", + "Σέργιος", + "Σαμουήλ", + "Σαράντης", + "Σεβαστιανός", + "Σεραφείμ", + "Σιρανούς", + "Σολομών", + "Σοφοκλής", + "Σπήλιος", + "Σπυρίδων", + "Στέλλιος", + "Στέργιος", + "Στέφανος", + "Σταμάτης", + "Σταμάτιος", + "Σταύρος", + "Στυλιανός", + "Συμεών", + "Σωκράτης", + "Σωτήρης", + "Σωτήριος", + "Σόλων", + "Σώζων", + "Τίμων", + "Τίτος", + "Ταξίαρχος", + "Ταξιάρχης", + "Τζανέτος", + "Τηλέμαχος", + "Τηλεμαχος", + "Τιμολέων", + "Τιμόθεος", + "Τριαντάφυλλος", + "Τρύφων", + "Τσαμπίκος", + "Υάκινθος", + "Φίλιππος", + "Φαίδων", + "Φανούριος", + "Φιλήμων", + "Φλοριάντ", + "Φοίβος", + "Φρίξος", + "Φραγκίσκος", + "Φρειδερίκος", + "Φωκάς", + "Φωκίων", + "Φωτεινός", + "Φώτιος", + "Χάρις", + "Χαράλαμπος", + "Χαρίλαος", + "Χαρίτος", + "Χρήστος", + "Χρίστος", + "Χριστιάν", + "Χριστόδουλος", + "Χριστόφορος", + "Χρυσοβαλάντιος", + "Χρυσόστομος", + "Χρύσανθος", + "Όθων", + "Όμηρος", ) first_names_female = ( - 'Άλκηστις', 'Άννα', 'Άρτεμις', 'Έλλη', 'Ήβη', 'Ήλια', 'Ήρα', 'Ίρις', - 'Αγάθη', 'Αγάπη', 'Αγαθή', 'Αγγελική', 'Αγλαΐα', 'Αγνή', 'Αγόρω', - 'Αδαμαντία', 'Αηδόνα', 'Αθανασία', 'Αθηνά', 'Αθηνοδώρα', 'Αικατερίνη', - 'Αιμιλία', 'Ακριβή', 'Αλίκη', 'Αλεξάνδρα', 'Αλεξία', 'Αλκινόη', 'Αλκμήνη', - 'Αμαλία', 'Αμβροσία', 'Αμφιθέα', 'Αμφιτρίτη', 'Ανάργυρη', 'Αναστασία', - 'Ανατολή', 'Ανδριανή', 'Ανδρομάχη', 'Ανδρομέδα', 'Ανδρονίκη', 'Ανθή', - 'Ανθούλα', 'Αννίκα', 'Αντιγόνη', 'Αντωνία', 'Απολλωνία', 'Αποστολία', - 'Αρέθα', 'Αργυρούλα', 'Αργυρώ', 'Αρετή', 'Αριάδνη', 'Αριστέα', 'Αρτεμισία', - 'Αρχοντία', 'Ασημίνα', 'Ασημούλα', 'Ασπασία', 'Αστέρω', 'Αταλάντη', 'Αυγή', - 'Αυγουστίνα', 'Αφέντρα', 'Αφροδίτη', 'Αχιλλεία', 'Βάγια', 'Βέρα', 'Βαγιανή', - 'Βαλάντω', 'Βαλέρια', 'Βαλεντίνα', 'Βαρβάρα', 'Βαρσαμία', 'Βασιλεία', - 'Βασιλική', 'Βεατρίκη', 'Βελισσαρία', 'Βενετία', 'Βερονίκη', 'Βερόνικα', - 'Βησσαρία', 'Βικέντια', 'Βικτωρία', 'Βικτόρια', 'Βιολέτα', 'Βιργινία', - 'Βλασία', 'Βρυσηίς', 'Γαβριέλλα', 'Γαλάτεια', 'Γαλήνη', 'Γαρυφαλλιά', - 'Γενοβέφα', 'Γερακίνα', 'Γερασιμούλα', 'Γεσθημανή', 'Γεωργία', 'Γιαννούλα', - 'Γιασεμή', 'Γιολάντα', 'Γκόλφω', 'Γλαύκη', 'Γλυκερία', 'Γραμματική', - 'Δάφνη', 'Δέσποινα', 'Δήμητρα', 'Δαβιδούλα', 'Δαμασκηνή', 'Δαμιανή', - 'Δανάη', 'Δημούλα', 'Διαλεκτή', 'Διαμάντω', 'Διαμαντούλα', 'Διδώ', 'Δικαία', - 'Διονυσία', 'Δούκισσα', 'Δροσιά', 'Δωροθέα', 'Δόμνα', 'Ειρήνη', 'Ελένη', - 'Ελέσσα', 'Ελεονόρα', 'Ελευθερία', 'Ελισάβετ', 'Ελπίδα', 'Ελπίς', - 'Εμμανουέλα', 'Επιστήμη', 'Ερασμία', 'Ερατώ', 'Εριέτα', 'Εριφύλη', - 'Ερμιόνη', 'Ερωφίλη', 'Ευαγγελία', 'Ευανθία', 'Ευγενία', 'Ευδοκία', - 'Ευδοξία', 'Ευθαλία', 'Ευθυμία', 'Ευλαμπία', 'Ευμορφία', 'Ευπραξία', - 'Ευρυδίκη', 'Ευρύκλεια', 'Ευσεβία', 'Ευσεβεία', 'Ευσταθία', 'Ευστρατία', - 'Ευτέρπη', 'Ευτυχία', 'Ευφροσύνη', 'Εύα', 'Εύκλεια', 'Ζαμπέτα', 'Ζαμπία', - 'Ζαφειρία', 'Ζαχαρένια', 'Ζαχαρούλα', 'Ζηναϊς', 'Ζηνοβία', 'Ζησούλα', 'Ζωή', - 'Ηλέκτρα', 'Ηλιάνα', 'Ηράκλεια', 'Ηώ', 'Θάλεια', 'Θέκλα', 'Θέμις', 'Θέτις', - 'Θαλασσινή', 'Θεανώ', 'Θεμιστόκλεια', 'Θεοδοσία', 'Θεοδούλη', 'Θεοδότη', - 'Θεοδώρα', 'Θεολογία', 'Θεοπίστη', 'Θεοφίλη', 'Θεοφανία', 'Θεοφύλακτη', - 'Θεοχαρούλα', 'Θεόκλεια', 'Θεώνη', 'Θηρεσία', 'Θωμαίς', 'Ιακωβίνα', - 'Ιγνατία', 'Ινώ', 'Ιοκάστη', 'Ιορδανία', 'Ιουλία', 'Ιουλιανή', 'Ιππολύτη', - 'Ισαβέλλα', 'Ισιδώρα', 'Ισμήνη', 'Ιφιγένεια', 'Ιωάννα', 'Ιωσηφίνα', 'Καλή', - 'Καλλίνικη', 'Καλλιρρόη', 'Καλλιρόη', 'Καλλιόπη', 'Καλομοίρα', 'Καλυψώ', - 'Κανέλλα', 'Καρυοφυλλιά', 'Κασσάνδρα', 'Κασσιανή', 'Κατερίνα', 'Κερασιά', - 'Κικιλία', 'Κλαίρη', 'Κλειώ', 'Κλεονίκη', 'Κλεοπάτρα', 'Κλημεντίνη', - 'Κλυταιμνήστρα', 'Κοκκώνα', 'Κομνηνή', 'Κονδυλία', 'Κοραλία', 'Κορνηλία', - 'Κρινιώ', 'Κρυσταλλένια', 'Κυβέλη', 'Κυδωνία', 'Κυπαρισσία', 'Κυπριανή', - 'Κυράτσα', 'Κυριακή', 'Κωνσταντία', 'Κωνσταντίνα', 'Κωστούλα', 'Κόσμια', - 'Λήδα', 'Λαζαρία', 'Λαμπρινή', 'Λασκαρίνα', 'Λαυρεντία', 'Λεμονιά', - 'Λευκοθέα', 'Λεωνιδιά', 'Λεώνη', 'Λητώ', 'Λουίζα', 'Λουκία', 'Λουλουδένια', - 'Λυγερή', 'Λυδία', 'Μάνθα', 'Μάρθα', 'Μαγδαληνή', 'Μακρίνα', 'Μαλαμάτη', - 'Μαλαματένια', 'Μαλβίνα', 'Μαντώ', 'Μαρία', 'Μαρίνα', 'Μαργαρίτα', - 'Μαργιέττα', 'Μαριάνθη', 'Μαριάννα', 'Μαριγώ', 'Μαριλένα', 'Μαρκέλλα', - 'Μαρωτέσα', 'Ματίνα', 'Ματθίλδη', 'Ματρώνη', 'Μαύρα', 'Μελένια', 'Μελέτια', - 'Μελίνα', 'Μελπομένη', 'Μερόπη', 'Μεταξία', 'Μηλιά', 'Μινέρβα', 'Μιράντα', - 'Μιχαέλα', 'Μυρσίνη', 'Μυρτώ', 'Μόσχα', 'Νίκη', 'Ναταλία', 'Ναταλίνα', - 'Ναυσικά', 'Νεκταρία', 'Νερατζιά', 'Νεφέλη', 'Νεόκλεια', 'Νικητία', - 'Νικολέτα', 'Νικολίτσα', 'Νομική', 'Νταίζη', 'Ντανιέλα', 'Ξένη', 'Ξανθή', - 'Ξανθίππη', 'Οδύσσεια', 'Ολύμπια', 'Ουρανία', 'Πέτρα', 'Παγώνα', 'Παναγία', - 'Παναγιώτα', 'Πανδώρα', 'Παντελία', 'Παντούλα', 'Πανωραία', 'Παρέσσα', - 'Παρασκευή', 'Παρθένα', 'Πασχαλιά', 'Παταπία', 'Παυλίνα', 'Πελαγία', - 'Περικλεία', 'Περιστέρα', 'Περσεφόνη', 'Πηγή', 'Πηνελόπη', 'Πιερρίνα', - 'Ποθητή', 'Πολυνίκη', 'Πολυξένη', 'Πολυτίμη', 'Πολυχρονία', 'Πολύβια', - 'Πολύδωρα', 'Πολύμνια', 'Πουλχερία', 'Πούλια', 'Προδρομία', 'Πωλίνα', 'Ρέα', - 'Ραλλία', 'Ρεβέκα', 'Ρεβέκκα', 'Ρεγγίνα', 'Ρηγούλα', 'Ροδάνθη', 'Ροδαμάνθη', - 'Ροδιά', 'Ροδόκλεια', 'Ρουμπίνη', 'Ρούσα', 'Ρωξάνη', 'Ρόζα', 'Σάρρα', - 'Σαββούλα', 'Σαλώμη', 'Σαπφώ', 'Σεβαστή', 'Σεβαστιανή', 'Σελήνη', 'Σεμίνα', - 'Σεραφεία', 'Σμαράγδα', 'Σουλτάνα', 'Σουμέλα', 'Σοφία', 'Σπάρτη', - 'Σπυράννα', 'Σπυριδούλα', 'Στέλλα', 'Σταματίνα', 'Σταυρούλα', 'Στεργιανή', - 'Στεργιαννώ', 'Στεφανία', 'Στυλιανή', 'Συμέλα', 'Συμεωνία', 'Συμεώνη', - 'Σωζούσα', 'Σωτηρία', 'Σωφρονία', 'Ταξιαρχία', 'Τατιάνα', 'Τερψιχόρη', - 'Τζένη', 'Τιμοθέα', 'Τριαντάφυλλη', 'Τριανταφυλλιά', 'Τρισεύγενη', - 'Τρυφωνία', 'Τσαμπίκα', 'Υακίνθη', 'Υβόννη', 'Υπαπαντή', 'Φαίδρα', 'Φανή', - 'Φανουρία', 'Φεβρωνία', 'Φερενίκη', 'Φιλίππα', 'Φιλαρέτη', 'Φιλιππία', - 'Φιλιώ', 'Φιλοθέη', 'Φιλομήλα', 'Φλωρίνα', 'Φλωρεντία', 'Φλώρα', 'Φοίβη', - 'Φραντζέσκα', 'Φρειδερίκη', 'Φρύνη', 'Φωτεινή', 'Χάιδω', 'Χάρη', 'Χαρά', - 'Χαρίκλεια', 'Χαραλαμπία', 'Χιονιά', 'Χλόη', 'Χριστίνα', 'Χριστιάνα', - 'Χριστοδούλα', 'Χριστοφόρα', 'Χριστόφιλη', 'Χρυσάνθη', 'Χρυσή', 'Χρυσαυγή', - 'Χρυσαφένια', 'Χρυσοβαλάντου', 'Χρυσοβαλάντω', 'Χρυσούλα', 'Χρυσόστομη', - 'Όλγα', + "Άλκηστις", + "Άννα", + "Άρτεμις", + "Έλλη", + "Ήβη", + "Ήλια", + "Ήρα", + "Ίρις", + "Αγάθη", + "Αγάπη", + "Αγαθή", + "Αγγελική", + "Αγλαΐα", + "Αγνή", + "Αγόρω", + "Αδαμαντία", + "Αηδόνα", + "Αθανασία", + "Αθηνά", + "Αθηνοδώρα", + "Αικατερίνη", + "Αιμιλία", + "Ακριβή", + "Αλίκη", + "Αλεξάνδρα", + "Αλεξία", + "Αλκινόη", + "Αλκμήνη", + "Αμαλία", + "Αμβροσία", + "Αμφιθέα", + "Αμφιτρίτη", + "Ανάργυρη", + "Αναστασία", + "Ανατολή", + "Ανδριανή", + "Ανδρομάχη", + "Ανδρομέδα", + "Ανδρονίκη", + "Ανθή", + "Ανθούλα", + "Αννίκα", + "Αντιγόνη", + "Αντωνία", + "Απολλωνία", + "Αποστολία", + "Αρέθα", + "Αργυρούλα", + "Αργυρώ", + "Αρετή", + "Αριάδνη", + "Αριστέα", + "Αρτεμισία", + "Αρχοντία", + "Ασημίνα", + "Ασημούλα", + "Ασπασία", + "Αστέρω", + "Αταλάντη", + "Αυγή", + "Αυγουστίνα", + "Αφέντρα", + "Αφροδίτη", + "Αχιλλεία", + "Βάγια", + "Βέρα", + "Βαγιανή", + "Βαλάντω", + "Βαλέρια", + "Βαλεντίνα", + "Βαρβάρα", + "Βαρσαμία", + "Βασιλεία", + "Βασιλική", + "Βεατρίκη", + "Βελισσαρία", + "Βενετία", + "Βερονίκη", + "Βερόνικα", + "Βησσαρία", + "Βικέντια", + "Βικτωρία", + "Βικτόρια", + "Βιολέτα", + "Βιργινία", + "Βλασία", + "Βρυσηίς", + "Γαβριέλλα", + "Γαλάτεια", + "Γαλήνη", + "Γαρυφαλλιά", + "Γενοβέφα", + "Γερακίνα", + "Γερασιμούλα", + "Γεσθημανή", + "Γεωργία", + "Γιαννούλα", + "Γιασεμή", + "Γιολάντα", + "Γκόλφω", + "Γλαύκη", + "Γλυκερία", + "Γραμματική", + "Δάφνη", + "Δέσποινα", + "Δήμητρα", + "Δαβιδούλα", + "Δαμασκηνή", + "Δαμιανή", + "Δανάη", + "Δημούλα", + "Διαλεκτή", + "Διαμάντω", + "Διαμαντούλα", + "Διδώ", + "Δικαία", + "Διονυσία", + "Δούκισσα", + "Δροσιά", + "Δωροθέα", + "Δόμνα", + "Ειρήνη", + "Ελένη", + "Ελέσσα", + "Ελεονόρα", + "Ελευθερία", + "Ελισάβετ", + "Ελπίδα", + "Ελπίς", + "Εμμανουέλα", + "Επιστήμη", + "Ερασμία", + "Ερατώ", + "Εριέτα", + "Εριφύλη", + "Ερμιόνη", + "Ερωφίλη", + "Ευαγγελία", + "Ευανθία", + "Ευγενία", + "Ευδοκία", + "Ευδοξία", + "Ευθαλία", + "Ευθυμία", + "Ευλαμπία", + "Ευμορφία", + "Ευπραξία", + "Ευρυδίκη", + "Ευρύκλεια", + "Ευσεβία", + "Ευσεβεία", + "Ευσταθία", + "Ευστρατία", + "Ευτέρπη", + "Ευτυχία", + "Ευφροσύνη", + "Εύα", + "Εύκλεια", + "Ζαμπέτα", + "Ζαμπία", + "Ζαφειρία", + "Ζαχαρένια", + "Ζαχαρούλα", + "Ζηναϊς", + "Ζηνοβία", + "Ζησούλα", + "Ζωή", + "Ηλέκτρα", + "Ηλιάνα", + "Ηράκλεια", + "Ηώ", + "Θάλεια", + "Θέκλα", + "Θέμις", + "Θέτις", + "Θαλασσινή", + "Θεανώ", + "Θεμιστόκλεια", + "Θεοδοσία", + "Θεοδούλη", + "Θεοδότη", + "Θεοδώρα", + "Θεολογία", + "Θεοπίστη", + "Θεοφίλη", + "Θεοφανία", + "Θεοφύλακτη", + "Θεοχαρούλα", + "Θεόκλεια", + "Θεώνη", + "Θηρεσία", + "Θωμαίς", + "Ιακωβίνα", + "Ιγνατία", + "Ινώ", + "Ιοκάστη", + "Ιορδανία", + "Ιουλία", + "Ιουλιανή", + "Ιππολύτη", + "Ισαβέλλα", + "Ισιδώρα", + "Ισμήνη", + "Ιφιγένεια", + "Ιωάννα", + "Ιωσηφίνα", + "Καλή", + "Καλλίνικη", + "Καλλιρρόη", + "Καλλιρόη", + "Καλλιόπη", + "Καλομοίρα", + "Καλυψώ", + "Κανέλλα", + "Καρυοφυλλιά", + "Κασσάνδρα", + "Κασσιανή", + "Κατερίνα", + "Κερασιά", + "Κικιλία", + "Κλαίρη", + "Κλειώ", + "Κλεονίκη", + "Κλεοπάτρα", + "Κλημεντίνη", + "Κλυταιμνήστρα", + "Κοκκώνα", + "Κομνηνή", + "Κονδυλία", + "Κοραλία", + "Κορνηλία", + "Κρινιώ", + "Κρυσταλλένια", + "Κυβέλη", + "Κυδωνία", + "Κυπαρισσία", + "Κυπριανή", + "Κυράτσα", + "Κυριακή", + "Κωνσταντία", + "Κωνσταντίνα", + "Κωστούλα", + "Κόσμια", + "Λήδα", + "Λαζαρία", + "Λαμπρινή", + "Λασκαρίνα", + "Λαυρεντία", + "Λεμονιά", + "Λευκοθέα", + "Λεωνιδιά", + "Λεώνη", + "Λητώ", + "Λουίζα", + "Λουκία", + "Λουλουδένια", + "Λυγερή", + "Λυδία", + "Μάνθα", + "Μάρθα", + "Μαγδαληνή", + "Μακρίνα", + "Μαλαμάτη", + "Μαλαματένια", + "Μαλβίνα", + "Μαντώ", + "Μαρία", + "Μαρίνα", + "Μαργαρίτα", + "Μαργιέττα", + "Μαριάνθη", + "Μαριάννα", + "Μαριγώ", + "Μαριλένα", + "Μαρκέλλα", + "Μαρωτέσα", + "Ματίνα", + "Ματθίλδη", + "Ματρώνη", + "Μαύρα", + "Μελένια", + "Μελέτια", + "Μελίνα", + "Μελπομένη", + "Μερόπη", + "Μεταξία", + "Μηλιά", + "Μινέρβα", + "Μιράντα", + "Μιχαέλα", + "Μυρσίνη", + "Μυρτώ", + "Μόσχα", + "Νίκη", + "Ναταλία", + "Ναταλίνα", + "Ναυσικά", + "Νεκταρία", + "Νερατζιά", + "Νεφέλη", + "Νεόκλεια", + "Νικητία", + "Νικολέτα", + "Νικολίτσα", + "Νομική", + "Νταίζη", + "Ντανιέλα", + "Ξένη", + "Ξανθή", + "Ξανθίππη", + "Οδύσσεια", + "Ολύμπια", + "Ουρανία", + "Πέτρα", + "Παγώνα", + "Παναγία", + "Παναγιώτα", + "Πανδώρα", + "Παντελία", + "Παντούλα", + "Πανωραία", + "Παρέσσα", + "Παρασκευή", + "Παρθένα", + "Πασχαλιά", + "Παταπία", + "Παυλίνα", + "Πελαγία", + "Περικλεία", + "Περιστέρα", + "Περσεφόνη", + "Πηγή", + "Πηνελόπη", + "Πιερρίνα", + "Ποθητή", + "Πολυνίκη", + "Πολυξένη", + "Πολυτίμη", + "Πολυχρονία", + "Πολύβια", + "Πολύδωρα", + "Πολύμνια", + "Πουλχερία", + "Πούλια", + "Προδρομία", + "Πωλίνα", + "Ρέα", + "Ραλλία", + "Ρεβέκα", + "Ρεβέκκα", + "Ρεγγίνα", + "Ρηγούλα", + "Ροδάνθη", + "Ροδαμάνθη", + "Ροδιά", + "Ροδόκλεια", + "Ρουμπίνη", + "Ρούσα", + "Ρωξάνη", + "Ρόζα", + "Σάρρα", + "Σαββούλα", + "Σαλώμη", + "Σαπφώ", + "Σεβαστή", + "Σεβαστιανή", + "Σελήνη", + "Σεμίνα", + "Σεραφεία", + "Σμαράγδα", + "Σουλτάνα", + "Σουμέλα", + "Σοφία", + "Σπάρτη", + "Σπυράννα", + "Σπυριδούλα", + "Στέλλα", + "Σταματίνα", + "Σταυρούλα", + "Στεργιανή", + "Στεργιαννώ", + "Στεφανία", + "Στυλιανή", + "Συμέλα", + "Συμεωνία", + "Συμεώνη", + "Σωζούσα", + "Σωτηρία", + "Σωφρονία", + "Ταξιαρχία", + "Τατιάνα", + "Τερψιχόρη", + "Τζένη", + "Τιμοθέα", + "Τριαντάφυλλη", + "Τριανταφυλλιά", + "Τρισεύγενη", + "Τρυφωνία", + "Τσαμπίκα", + "Υακίνθη", + "Υβόννη", + "Υπαπαντή", + "Φαίδρα", + "Φανή", + "Φανουρία", + "Φεβρωνία", + "Φερενίκη", + "Φιλίππα", + "Φιλαρέτη", + "Φιλιππία", + "Φιλιώ", + "Φιλοθέη", + "Φιλομήλα", + "Φλωρίνα", + "Φλωρεντία", + "Φλώρα", + "Φοίβη", + "Φραντζέσκα", + "Φρειδερίκη", + "Φρύνη", + "Φωτεινή", + "Χάιδω", + "Χάρη", + "Χαρά", + "Χαρίκλεια", + "Χαραλαμπία", + "Χιονιά", + "Χλόη", + "Χριστίνα", + "Χριστιάνα", + "Χριστοδούλα", + "Χριστοφόρα", + "Χριστόφιλη", + "Χρυσάνθη", + "Χρυσή", + "Χρυσαυγή", + "Χρυσαφένια", + "Χρυσοβαλάντου", + "Χρυσοβαλάντω", + "Χρυσούλα", + "Χρυσόστομη", + "Όλγα", ) first_names = first_names_male + first_names_female last_names_male = ( - 'Αβαγιανός', 'Αβραμίδης', 'Αβραμιώτης', 'Αγαλιώτης', 'Αγγελάκος', 'Αγγελής', - 'Αγγελίδης', 'Αγγελίκας', 'Αγγελόπουλος', 'Αγκυρόπουλος', 'Αδαμόπουλος', - 'Αετόπουλος', 'Αθανασάκης', 'Αθανασόπουλος', 'Ακαλίδης', 'Ακριτίδης', - 'Ακριώτης', 'Αλατζάκης', 'Αλαφάκης', 'Αλεξανδρόπουλος', 'Αλεξόπουλος', - 'Αμπατζιάνης', 'Αμπλιάνιτης', 'Αμυγδαλάκης', 'Αναστασάκης', 'Αναστασίου', - 'Αναστασόπουλος', 'Αναστόπουλος', 'Ανδρεανίδης', 'Ανδριανός', - 'Ανδρικόπουλος', 'Ανδριόπουλος', 'Ανδριώτης', 'Ανδρουλάκης', - 'Ανδρουλιδάκης', 'Αντωνάκος', 'Αντωνέας', 'Αντωνίου', 'Αντωνιάδης', - 'Αντωνόπουλος', 'Αξαόπουλος', 'Αξιώτης', 'Αποστολάκης', 'Αποστολίδης', - 'Αποστολακάκης', 'Αποστολόπουλος', 'Αραμπατζής', 'Αργυρής', 'Αργυρίου', - 'Αργυρόπουλος', 'Αρμένης', 'Αρχαυλής', 'Ασαρίδης', 'Ασημακόπουλος', - 'Ασημόπουλος', 'Αυγουστής', 'Αφρουδάκης', 'Βάρσος', 'Βάσσης', 'Βαβουλίδης', - 'Βαβουράκης', 'Βακαλάκης', 'Βακαλής', 'Βαλαβάνης', 'Βαλασίδης', 'Βαλτάς', - 'Βαμβακάς', 'Βανδώρος', 'Βαρακλής', 'Βαρδάκης', 'Βαρσάμης', 'Βασιλάκης', - 'Βασιλείου', 'Βασιλογιάννης', 'Βαχουθιανάκης', 'Βαϊτσόπουλος', 'Βελεντζάς', - 'Βιδαλάκης', 'Βιλδός', 'Βιολάτος', 'Βιτσαξής', 'Βλάχος', 'Βλαχονικολέας', - 'Βλησαρούλης', 'Βολικάκης', 'Βορλόκας', 'Βουτσάς', 'Βουτσελας', 'Βούκας', - 'Βούλγαρης', 'Βούλκος', 'Βούρας', 'Βώσσος', 'Γάτος', 'Γαβριδάκης', - 'Γαλατούλας', 'Γαρουφαλής', 'Γαρυφαλίδης', 'Γενετζάκης', 'Γεννηματάς', - 'Γεντίμης', 'Γεράρδης', 'Γεροδήμος', 'Γερόπουλος', 'Γεωργακόπουλος', - 'Γεωργαλάς', 'Γεωργαλής', 'Γεωργούδης', 'Γεωργούλας', 'Γιαννάκης', - 'Γιαννέλος', 'Γιαννές', 'Γιαννακέας', 'Γιαννακίτσας', 'Γιαννακουδάκης', - 'Γιαννακόπουλος', 'Γιαννούκος', 'Γιαννόπουλος', 'Γιαπατζής', 'Γιασημάκης', - 'Γιατρομανωλάκης', 'Γιωτάκης', 'Γιώτης', 'Γκάγκας', 'Γκίκας', 'Γκίνης', - 'Γκαγκαουδάκης', 'Γκαλίου', 'Γκανάτσιος', 'Γκατζογιάννης', 'Γκικόπουλος', - 'Γκιολδελής', 'Γκιτσάκης', 'Γκουτζαμάνης', 'Γκούβελος', 'Γκούσκος', - 'Γκότσης', 'Γουργουλής', 'Γούσιος', 'Γρίβας', 'Γραμματικόπουλος', - 'Γραμματικός', 'Γρατσιάς', 'Γρεβενάρης', 'Γρετός', 'Γρηγορίου', - 'Γρηγοριάδης', 'Γρηγορόπουλος', 'Δάρας', 'Δέλιος', 'Δίγκας', 'Δακαναλής', - 'Δανέζης', 'Δανελής', 'Δανιηλίδης', 'Δερμιτζάκης', 'Δεσύλλας', 'Δημησκής', - 'Δημητρίου', 'Δημητρόπουλος', 'Δημοβελής', 'Δημόπουλος', 'Διακάκης', - 'Διαμαντής', 'Δινεζάκης', 'Δουβίκας', 'Δουβρόπουλος', 'Δουκάς', 'Δουκατζής', - 'Δουλάμης', 'Δουλγεράκης', 'Δουμάς', 'Δουράνης', 'Δούνης', 'Δραζιώτης', - 'Δρακάκης', 'Δρακόπουλος', 'Δρουλιάς', 'Δόβας', 'Δόσης', 'Ελευθερίου', - 'Εμπορόπουλος', 'Εσπερίδης', 'Ευαγγελάτος', 'Ευαγγελινός', 'Ευκαρπίδης', - 'Ευστρατόπουλος', 'Ευταξιάς', 'Έψιμος', 'Ζαραφέτας', 'Ζαφείρης', 'Ζαχαρίου', - 'Ζενεμπίσης', 'Ζευγίτης', 'Ζηδιανάκης', 'Ζηματίκας', 'Ζηρός', 'Ζιάκας', - 'Ζιώγος', 'Ζολώτας', 'Ζορμπάς', 'Ζουκής', 'Ζουλούμης', 'Ζούνης', 'Ζτούκος', - 'Ζυγούρης', 'Ζώνιος', 'Ζώτος', 'Θεοδοσίου', 'Θεοδωρικάκος', 'Θεοδωρόπουλος', - 'Θεολόγος', 'Θεοχάρης', 'Θηβαίος', 'Θωμάς', 'Θωμόπουλος', 'Ιακωβάκης', - 'Ιατρόπουλος', 'Ιντζές', 'Ισάρης', 'Ισέρης', 'Ιωσηφίδης', 'Κίσσας', - 'Καβούρης', 'Καζανόπουλος', 'Κακαβός', 'Κακατσός', 'Κακοσαίος', 'Καλαμάρας', - 'Καλαμαράκης', 'Καλαμπαλίκης', 'Καλαπόδης', 'Καλαργυρός', 'Καλαϊτζάκης', - 'Καλιάμπος', 'Καλιτσουνάκης', 'Καμπάκας', 'Καμπερίδης', 'Καμποσάκης', - 'Καναβός', 'Κανελλόπουλος', 'Καπατσώρης', 'Καπετάνιος', 'Καπούνης', - 'Καράμπας', 'Καράνης', 'Καραΐσκος', 'Καραγιάννης', 'Καραγρηγορίου', - 'Καραδήμος', 'Καρακάξης', 'Καρακαστανιάς', 'Καρακυρίου', 'Καραλής', - 'Καραμάνος', 'Καραμσαλής', 'Καρανίκας', 'Καρανασίου', 'Καρανικόλας', - 'Καραντζόπουλος', 'Καρατζίκος', 'Καρατζαφέρης', 'Καρούντζος', 'Καρούσος', - 'Καρτάς', 'Καρυπίδης', 'Κασούτσας', 'Καστάνης', 'Κατάκης', 'Καταραχιάς', - 'Κατεβάτης', 'Κατιρτζής', 'Κατσίπης', 'Κατσίφος', 'Κατσαβός', 'Κατσαμάνης', - 'Κατσαντώνης', 'Κατσαρός', 'Κατσιγιάννης', 'Κατσιλής', 'Κατσογιάννης', - 'Καφίρης', 'Καφαντάρης', 'Καψάλης', 'Κελαϊδώνης', 'Κελλάρης', 'Κερασοβίτης', - 'Κεσαλίδης', 'Κεσεμίδης', 'Κεχαγιάς', 'Κιοσές', 'Κιουπλιώτης', 'Κιούσης', - 'Κιτινός', 'Κλήμης', 'Κοκορδέλης', 'Κολοβός', 'Κολοκάθης', 'Κολχούρης', - 'Κομκούδης', 'Κομπολιάς', 'Κονδυλίδης', 'Κονιδάρης', 'Κοντάκος', - 'Κοντογιάννης', 'Κοντοκώστας', 'Κοντός', 'Κορδατζής', 'Κορμπόπουλος', - 'Κορομήλας', 'Κοτσαρής', 'Κοττίκας', 'Κουβάς', 'Κουκλατζής', 'Κουκουβίνος', - 'Κουκουλιάντας', 'Κουλίδης', 'Κουλίζος', 'Κουλουριώτης', 'Κουμιώτης', - 'Κουράκος', 'Κουρής', 'Κουρελής', 'Κουρκουτάς', 'Κουρσάρης', 'Κουρσουμίδης', - 'Κουταλιός', 'Κουτελιέρης', 'Κουτεντάκης', 'Κουτσικόπουλος', - 'Κουτσογιάννης', 'Κουτσογιάννόπουλος', 'Κουτσουλής', 'Κουτσουρέλης', - 'Κουτσούρας', 'Κουτχιάς', 'Κούρτης', 'Κούτρης', 'Κούτσικος', 'Κραββαρίτης', - 'Κρεμμύδας', 'Κριάλης', 'Κριτσέλης', 'Κτενίδης', 'Κυμπάρης', 'Κυπραίος', - 'Κυπριώτης', 'Κυρίτσης', 'Κυργιάκης', 'Κυριαζής', 'Κυριακάκης', - 'Κυριακίδης', 'Κυριατσούλης', 'Κωνσταντάς', 'Κωνσταντακόπουλος', - 'Κωνσταντινίδης', 'Κωνσταντόπουλος', 'Κωστάκης', 'Κωστίδης', 'Κωσταλής', - 'Κωστούλας', 'Κωστόπουλος', 'Κωτούλας', 'Κωτσίδης', 'Κωτσικόρης', 'Κόλκας', - 'Κώττας', 'Λάκκας', 'Λάλας', 'Λάππας', 'Λάτσκος', 'Λέλεκας', 'Λαγγούσης', - 'Λαγογιάννης', 'Λαγοπάτης', 'Λαζαρίδης', 'Λαμπρινός', 'Λαουρδέκης', - 'Λαφατζής', 'Λεβέντης', 'Λελεδάκης', 'Λεμονής', 'Λεντζίου', 'Λιανάκης', - 'Λιβανός', 'Λιθοξοΐδης', 'Λιούτας', 'Λιτίνας', 'Λιόλιος', 'Λουλάκης', - 'Λουπασάκης', 'Λουράντος', 'Λυγκούρας', 'Λυμπέρης', 'Λώλος', 'Μάνδαλος', - 'Μάνδρος', 'Μάνος', 'Μάργαρης', 'Μάρρας', 'Μάστορας', 'Μίσχος', 'Μίχος', - 'Μαγκούφης', 'Μαζαράκης', 'Μακαριάδης', 'Μακρής', 'Μακρυγιάννης', - 'Μακρυκώστας', 'Μαμμής', 'Μανίκας', 'Μανελίδης', 'Μανιώτης', 'Μανουσέλης', - 'Μανουσιάδης', 'Μανούκας', 'Μαντάρης', 'Μαντάς', 'Μαντζουράνης', - 'Μαντζώρος', 'Μανωλάκης', 'Μανωλέας', 'Μαραγκός', 'Μαρακάς', 'Μαργαρώνης', - 'Μαρκόπουλος', 'Μασγαλάς', 'Μαστρογιάννης', 'Μαστρογιώργης', 'Μασόπουλος', - 'Ματσούκας', 'Μαυρικάκης', 'Μαυρογονάτος', 'Μαυροειδάκος', 'Μαυρομανωλάκης', - 'Μαυρομμάτης', 'Μαυρουδής', 'Μαυρούτσος', 'Μελιτσόπουλος', 'Μεταξάς', - 'Μεϊμάρης', 'Μηλιώρης', 'Μητρίδης', 'Μητρόπουλος', 'Μητσόπουλος', - 'Μιχαηλίδης', 'Μιχαλάκης', 'Μιχαλέλλης', 'Μοσχόπουλος', 'Μουσελίμης', - 'Μουτουσίδης', 'Μπέκος', 'Μπίλλας', 'Μπαγανάς', 'Μπακλάβας', - 'Μπακοστεργίου', 'Μπαλάσκας', 'Μπαλουκίδης', 'Μπαλταγιάννης', 'Μπαλτζής', - 'Μπαντές', 'Μπαντής', 'Μπερεδήμας', 'Μπερμπατιώτης', 'Μπλανάς', - 'Μπλιατσίου', 'Μποζίκης', 'Μποτσώλης', 'Μποτώνης', 'Μπουλούκος', 'Μπουρλής', - 'Μποφός', 'Μπούκος', 'Μπούσιος', 'Μπραζιώτης', 'Μπότης', 'Μυλωνάς', - 'Μυσιρλής', 'Μυτελέτσης', 'Μωραΐτης', 'Μωρός', 'Μόκας', 'Μόναχας', - 'Νάστατος', 'Νάστος', 'Νέλος', 'Νανούρης', 'Νασίκας', 'Νασιόπουλος', - 'Νικητόπουλος', 'Νικολαΐδης', 'Νικολόπουλος', 'Νικουλής', 'Νιτσοτόλης', - 'Νούσης', 'Νταβάς', 'Ντουλιάς', 'Ντόβας', 'Ντόκος', 'Ντότης', 'Ξανθάκης', - 'Ξηρογιάννης', 'Ξηρός', 'Ορφανάκης', 'Ορφανιώτης', 'Ότσος', 'Πάγκαλος', - 'Πάνος', 'Πάντος', 'Πέππας', 'Πέτσας', 'Πίππας', 'Πίσσιος', 'Πίτσης', - 'Παλαιολόγος', 'Παληός', 'Παλλάς', 'Παναγιωτακόπουλος', 'Πανδής', - 'Πανούσης', 'Πανταζής', 'Παντζέκος', 'Παντζαρτζίδης', 'Παπαγεωργίου', - 'Παπαγιάννης', 'Παπαγιαννακόπουλος', 'Παπαγιαννόπουλος', 'Παπαδάκης', - 'Παπαδημητράκης', 'Παπαδημητριάδης', 'Παπαδόπουλος', 'Παπαευαγγελίου', - 'Παπαθανασίου', 'Παπαθεοδοσίου', 'Παπαπανός', 'Παπαροϊδάμης', 'Παπαστεργίου', - 'Παπατρέχας', 'Παπαφώτης', 'Παπουδής', 'Παπουλής', 'Παππάς', - 'Παρασκευόπουλος', 'Παργανάς', 'Παρούσης', 'Πασσαλίδης', 'Πατελής', - 'Πατμανίδης', 'Πατσούρας', 'Περάκης', 'Περδίκης', 'Περδικάκης', - 'Περιστερόπουλος', 'Περπινιάς', 'Περράκης', 'Περρώτης', 'Πετράκης', - 'Πετρίδης', 'Πετριτάκης', 'Πετρογιάννης', 'Πετρόπουλος', 'Πευκιανάκης', - 'Πιάγκος', 'Πικούνης', 'Πικρός', 'Πιπεράκης', 'Πιπερίγκος', 'Πισχινάς', - 'Πιτερός', 'Πιτσάκης', 'Πιτσολής', 'Πλακωτάρης', 'Πλιάτσικας', 'Πολυζωάκης', - 'Πολυχρονίδης', 'Πολυχρονόπουλος', 'Πολυχρόνης', 'Πορίχης', 'Πουλημένος', - 'Πουλιέζος', 'Πουλογιαννόπουλος', 'Πουφτσής', 'Προβής', 'Πυλαρινός', - 'Ράλλης', 'Ράπτης', 'Ρέγκας', 'Ρέντας', 'Ρέντζος', 'Ρέππος', 'Ρήγας', - 'Ρήνος', 'Ρίγκος', 'Ρίζος', 'Ρίσβας', 'Ραγκούσης', 'Ραδοβάλης', 'Ραφιός', - 'Ραχμανίδης', 'Ραχωβίτσας', 'Ριζούλης', 'Ρουπακάς', 'Ρουσιανός', - 'Ροϊδούλης', 'Ρωμαίου', 'Ρόγαρης', 'Ρόδης', 'Ρόκας', 'Σάτλας', 'Σίδερης', - 'Σακελλαρίου', 'Σαλίχος', 'Σαλταούρας', 'Σαμακίδης', 'Σαμανίδης', 'Σαμαράς', - 'Σαουλίδης', 'Σαρίκας', 'Σαραντινός', 'Σαραφίδης', 'Σαρρός', 'Σγουρός', - 'Σδραλλής', 'Σεβδάς', 'Σεφέκος', 'Σιγανός', 'Σιδηρόπουλος', 'Σικαλίδης', - 'Σιτόπουλος', 'Σιώμος', 'Σιώρης', 'Σκαρλάτος', 'Σκαρπέτας', 'Σκορδάκης', - 'Σκουλαρίδης', 'Σκρέκας', 'Σκρίμπας', 'Σκόρδος', 'Σμαρδάς', 'Σμπονιάς', - 'Σμπρίνης', 'Σμυρνιώτης', 'Σολακούδης', 'Σουλιντζής', 'Σουρμπής', - 'Σοφιανός', 'Σπάλας', 'Σπαθόπουλος', 'Σπανδωνίδης', 'Σπανουδάκης', 'Σπανός', - 'Σπασόπουλος', 'Σπηλιώτης', 'Σπορδιλής', 'Σπυριδάκης', 'Σπυρόπουλος', - 'Σταθάτος', 'Σταθόπουλος', 'Σταμάτης', 'Σταμέλος', 'Σταματιάδης', - 'Σταμούλης', 'Σταμόπουλος', 'Σταυριανός', 'Σταυρόπουλος', 'Στεργιαλής', - 'Στεργιούδης', 'Στοφοριάδης', 'Στραβοσνίχης', 'Στόγιος', 'Συλλίγαρδος', - 'Συργής', 'Συρρής', 'Σφούνης', 'Σφύρλας', 'Σωτηράλης', 'Σύκας', 'Τάρναρης', - 'Τάσιος', 'Τάχας', 'Ταβερναράκης', 'Τακαντζάς', 'Ταμιωλάκης', 'Τασιούλας', - 'Ταχμαζίδης', 'Ταχτσίδης', 'Τεμουρτζίδης', 'Τερζής', 'Τερζίδης', 'Τζέκος', - 'Τζήκας', 'Τζαβέλλας', 'Τζαλλας', 'Τζανουδάκης', 'Τζεβελέκος', 'Τζιάβας', - 'Τζιάρας', 'Τζινιέρης', 'Τζιόρτζιος', 'Τζιώτζης', 'Τζουβέλης', 'Τζουμάκης', - 'Τοδώρης', 'Τολούδης', 'Τορομίδης', 'Τουρναβίτης', 'Τραχίλης', 'Τρεντσίου', - 'Τριαντακωνσταντής', 'Τριβέλλας', 'Τσάρκος', 'Τσέας', 'Τσέγας', 'Τσέλιος', - 'Τσέλλος', 'Τσαγκρασούλης', 'Τσαγλιώτης', 'Τσακανίκας', 'Τσακμάκης', - 'Τσαλαμάνδρης', 'Τσαμαδός', 'Τσαμασλίδης', 'Τσανδήλας', 'Τσαπραλής', - 'Τσαραμιάδης', 'Τσατσάνης', 'Τσεμπερλίδης', 'Τσεντούρος', 'Τσιάκος', - 'Τσιάρας', 'Τσιαμίτας', 'Τσιαμούρας', 'Τσιαντάς', 'Τσιατής', 'Τσιγαρίδας', - 'Τσικνιάς', 'Τσιρώνης', 'Τσιτούρας', 'Τσομώκος', 'Τσοπανίδης', 'Τσουκνίδας', - 'Τσούμος', 'Τσούπρας', 'Τσόλκας', 'Τσότρας', 'Τσώνης', 'Τσώτσης', 'Τυμβίου', - 'Τυράλης', 'Φαλιέρος', 'Φανουργάκης', 'Φειδερόπουλος', 'Φερεντίνος', - 'Φιλιππάκης', 'Φιλιππάτος', 'Φιλιππόπουλος', 'Φουντζούλας', 'Φουσιέκης', - 'Φουτσιτζής', 'Φούσκας', 'Φραγκόπουλος', 'Φραντζής', 'Φρογάκης', 'Φυδάνης', - 'Φωκάς', 'Φωκαδελής', 'Φωτογλίδης', 'Φωτόπουλος', 'Χέλιος', 'Χαβρεδάκης', - 'Χαλατσής', 'Χαραλάμπους', 'Χαραλαμπίδης', 'Χαρισιάδης', 'Χαρμπίλας', - 'Χαρπαντίδης', 'Χαρτερός', 'Χατζαντώνης', 'Χατζελλής', 'Χατζηβλασίου', - 'Χατζηγεωργίου', 'Χατζηγρηγοράκης', 'Χατζηκύρκος', 'Χατζησάββας', - 'Χατζησαββίδης', 'Χατζησταυράκης', 'Χατζιάρας', 'Χατζόπουλος', 'Χαχούδης', - 'Χητός', 'Χιτός', 'Χονδρολίδης', 'Χουδαλάκης', 'Χουλιάρας', 'Χουντής', - 'Χουχουλής', 'Χριστάκης', 'Χριστάρας', 'Χριστακόπουλος', 'Χριστοδουλάκης', - 'Χριστόπουλος', 'Χρονόπουλος', 'Χρυσίδης', 'Χρυσικός', 'Χρυσοβέργης', - 'Χρυσουλής', 'Ψάλτης', 'Ψυλλάκης', 'Ψυχιάς', + "Αβαγιανός", + "Αβραμίδης", + "Αβραμιώτης", + "Αγαλιώτης", + "Αγγελάκος", + "Αγγελής", + "Αγγελίδης", + "Αγγελίκας", + "Αγγελόπουλος", + "Αγκυρόπουλος", + "Αδαμόπουλος", + "Αετόπουλος", + "Αθανασάκης", + "Αθανασόπουλος", + "Ακαλίδης", + "Ακριτίδης", + "Ακριώτης", + "Αλατζάκης", + "Αλαφάκης", + "Αλεξανδρόπουλος", + "Αλεξόπουλος", + "Αμπατζιάνης", + "Αμπλιάνιτης", + "Αμυγδαλάκης", + "Αναστασάκης", + "Αναστασίου", + "Αναστασόπουλος", + "Αναστόπουλος", + "Ανδρεανίδης", + "Ανδριανός", + "Ανδρικόπουλος", + "Ανδριόπουλος", + "Ανδριώτης", + "Ανδρουλάκης", + "Ανδρουλιδάκης", + "Αντωνάκος", + "Αντωνέας", + "Αντωνίου", + "Αντωνιάδης", + "Αντωνόπουλος", + "Αξαόπουλος", + "Αξιώτης", + "Αποστολάκης", + "Αποστολίδης", + "Αποστολακάκης", + "Αποστολόπουλος", + "Αραμπατζής", + "Αργυρής", + "Αργυρίου", + "Αργυρόπουλος", + "Αρμένης", + "Αρχαυλής", + "Ασαρίδης", + "Ασημακόπουλος", + "Ασημόπουλος", + "Αυγουστής", + "Αφρουδάκης", + "Βάρσος", + "Βάσσης", + "Βαβουλίδης", + "Βαβουράκης", + "Βακαλάκης", + "Βακαλής", + "Βαλαβάνης", + "Βαλασίδης", + "Βαλτάς", + "Βαμβακάς", + "Βανδώρος", + "Βαρακλής", + "Βαρδάκης", + "Βαρσάμης", + "Βασιλάκης", + "Βασιλείου", + "Βασιλογιάννης", + "Βαχουθιανάκης", + "Βαϊτσόπουλος", + "Βελεντζάς", + "Βιδαλάκης", + "Βιλδός", + "Βιολάτος", + "Βιτσαξής", + "Βλάχος", + "Βλαχονικολέας", + "Βλησαρούλης", + "Βολικάκης", + "Βορλόκας", + "Βουτσάς", + "Βουτσελας", + "Βούκας", + "Βούλγαρης", + "Βούλκος", + "Βούρας", + "Βώσσος", + "Γάτος", + "Γαβριδάκης", + "Γαλατούλας", + "Γαρουφαλής", + "Γαρυφαλίδης", + "Γενετζάκης", + "Γεννηματάς", + "Γεντίμης", + "Γεράρδης", + "Γεροδήμος", + "Γερόπουλος", + "Γεωργακόπουλος", + "Γεωργαλάς", + "Γεωργαλής", + "Γεωργούδης", + "Γεωργούλας", + "Γιαννάκης", + "Γιαννέλος", + "Γιαννές", + "Γιαννακέας", + "Γιαννακίτσας", + "Γιαννακουδάκης", + "Γιαννακόπουλος", + "Γιαννούκος", + "Γιαννόπουλος", + "Γιαπατζής", + "Γιασημάκης", + "Γιατρομανωλάκης", + "Γιωτάκης", + "Γιώτης", + "Γκάγκας", + "Γκίκας", + "Γκίνης", + "Γκαγκαουδάκης", + "Γκαλίου", + "Γκανάτσιος", + "Γκατζογιάννης", + "Γκικόπουλος", + "Γκιολδελής", + "Γκιτσάκης", + "Γκουτζαμάνης", + "Γκούβελος", + "Γκούσκος", + "Γκότσης", + "Γουργουλής", + "Γούσιος", + "Γρίβας", + "Γραμματικόπουλος", + "Γραμματικός", + "Γρατσιάς", + "Γρεβενάρης", + "Γρετός", + "Γρηγορίου", + "Γρηγοριάδης", + "Γρηγορόπουλος", + "Δάρας", + "Δέλιος", + "Δίγκας", + "Δακαναλής", + "Δανέζης", + "Δανελής", + "Δανιηλίδης", + "Δερμιτζάκης", + "Δεσύλλας", + "Δημησκής", + "Δημητρίου", + "Δημητρόπουλος", + "Δημοβελής", + "Δημόπουλος", + "Διακάκης", + "Διαμαντής", + "Δινεζάκης", + "Δουβίκας", + "Δουβρόπουλος", + "Δουκάς", + "Δουκατζής", + "Δουλάμης", + "Δουλγεράκης", + "Δουμάς", + "Δουράνης", + "Δούνης", + "Δραζιώτης", + "Δρακάκης", + "Δρακόπουλος", + "Δρουλιάς", + "Δόβας", + "Δόσης", + "Ελευθερίου", + "Εμπορόπουλος", + "Εσπερίδης", + "Ευαγγελάτος", + "Ευαγγελινός", + "Ευκαρπίδης", + "Ευστρατόπουλος", + "Ευταξιάς", + "Έψιμος", + "Ζαραφέτας", + "Ζαφείρης", + "Ζαχαρίου", + "Ζενεμπίσης", + "Ζευγίτης", + "Ζηδιανάκης", + "Ζηματίκας", + "Ζηρός", + "Ζιάκας", + "Ζιώγος", + "Ζολώτας", + "Ζορμπάς", + "Ζουκής", + "Ζουλούμης", + "Ζούνης", + "Ζτούκος", + "Ζυγούρης", + "Ζώνιος", + "Ζώτος", + "Θεοδοσίου", + "Θεοδωρικάκος", + "Θεοδωρόπουλος", + "Θεολόγος", + "Θεοχάρης", + "Θηβαίος", + "Θωμάς", + "Θωμόπουλος", + "Ιακωβάκης", + "Ιατρόπουλος", + "Ιντζές", + "Ισάρης", + "Ισέρης", + "Ιωσηφίδης", + "Κίσσας", + "Καβούρης", + "Καζανόπουλος", + "Κακαβός", + "Κακατσός", + "Κακοσαίος", + "Καλαμάρας", + "Καλαμαράκης", + "Καλαμπαλίκης", + "Καλαπόδης", + "Καλαργυρός", + "Καλαϊτζάκης", + "Καλιάμπος", + "Καλιτσουνάκης", + "Καμπάκας", + "Καμπερίδης", + "Καμποσάκης", + "Καναβός", + "Κανελλόπουλος", + "Καπατσώρης", + "Καπετάνιος", + "Καπούνης", + "Καράμπας", + "Καράνης", + "Καραΐσκος", + "Καραγιάννης", + "Καραγρηγορίου", + "Καραδήμος", + "Καρακάξης", + "Καρακαστανιάς", + "Καρακυρίου", + "Καραλής", + "Καραμάνος", + "Καραμσαλής", + "Καρανίκας", + "Καρανασίου", + "Καρανικόλας", + "Καραντζόπουλος", + "Καρατζίκος", + "Καρατζαφέρης", + "Καρούντζος", + "Καρούσος", + "Καρτάς", + "Καρυπίδης", + "Κασούτσας", + "Καστάνης", + "Κατάκης", + "Καταραχιάς", + "Κατεβάτης", + "Κατιρτζής", + "Κατσίπης", + "Κατσίφος", + "Κατσαβός", + "Κατσαμάνης", + "Κατσαντώνης", + "Κατσαρός", + "Κατσιγιάννης", + "Κατσιλής", + "Κατσογιάννης", + "Καφίρης", + "Καφαντάρης", + "Καψάλης", + "Κελαϊδώνης", + "Κελλάρης", + "Κερασοβίτης", + "Κεσαλίδης", + "Κεσεμίδης", + "Κεχαγιάς", + "Κιοσές", + "Κιουπλιώτης", + "Κιούσης", + "Κιτινός", + "Κλήμης", + "Κοκορδέλης", + "Κολοβός", + "Κολοκάθης", + "Κολχούρης", + "Κομκούδης", + "Κομπολιάς", + "Κονδυλίδης", + "Κονιδάρης", + "Κοντάκος", + "Κοντογιάννης", + "Κοντοκώστας", + "Κοντός", + "Κορδατζής", + "Κορμπόπουλος", + "Κορομήλας", + "Κοτσαρής", + "Κοττίκας", + "Κουβάς", + "Κουκλατζής", + "Κουκουβίνος", + "Κουκουλιάντας", + "Κουλίδης", + "Κουλίζος", + "Κουλουριώτης", + "Κουμιώτης", + "Κουράκος", + "Κουρής", + "Κουρελής", + "Κουρκουτάς", + "Κουρσάρης", + "Κουρσουμίδης", + "Κουταλιός", + "Κουτελιέρης", + "Κουτεντάκης", + "Κουτσικόπουλος", + "Κουτσογιάννης", + "Κουτσογιάννόπουλος", + "Κουτσουλής", + "Κουτσουρέλης", + "Κουτσούρας", + "Κουτχιάς", + "Κούρτης", + "Κούτρης", + "Κούτσικος", + "Κραββαρίτης", + "Κρεμμύδας", + "Κριάλης", + "Κριτσέλης", + "Κτενίδης", + "Κυμπάρης", + "Κυπραίος", + "Κυπριώτης", + "Κυρίτσης", + "Κυργιάκης", + "Κυριαζής", + "Κυριακάκης", + "Κυριακίδης", + "Κυριατσούλης", + "Κωνσταντάς", + "Κωνσταντακόπουλος", + "Κωνσταντινίδης", + "Κωνσταντόπουλος", + "Κωστάκης", + "Κωστίδης", + "Κωσταλής", + "Κωστούλας", + "Κωστόπουλος", + "Κωτούλας", + "Κωτσίδης", + "Κωτσικόρης", + "Κόλκας", + "Κώττας", + "Λάκκας", + "Λάλας", + "Λάππας", + "Λάτσκος", + "Λέλεκας", + "Λαγγούσης", + "Λαγογιάννης", + "Λαγοπάτης", + "Λαζαρίδης", + "Λαμπρινός", + "Λαουρδέκης", + "Λαφατζής", + "Λεβέντης", + "Λελεδάκης", + "Λεμονής", + "Λεντζίου", + "Λιανάκης", + "Λιβανός", + "Λιθοξοΐδης", + "Λιούτας", + "Λιτίνας", + "Λιόλιος", + "Λουλάκης", + "Λουπασάκης", + "Λουράντος", + "Λυγκούρας", + "Λυμπέρης", + "Λώλος", + "Μάνδαλος", + "Μάνδρος", + "Μάνος", + "Μάργαρης", + "Μάρρας", + "Μάστορας", + "Μίσχος", + "Μίχος", + "Μαγκούφης", + "Μαζαράκης", + "Μακαριάδης", + "Μακρής", + "Μακρυγιάννης", + "Μακρυκώστας", + "Μαμμής", + "Μανίκας", + "Μανελίδης", + "Μανιώτης", + "Μανουσέλης", + "Μανουσιάδης", + "Μανούκας", + "Μαντάρης", + "Μαντάς", + "Μαντζουράνης", + "Μαντζώρος", + "Μανωλάκης", + "Μανωλέας", + "Μαραγκός", + "Μαρακάς", + "Μαργαρώνης", + "Μαρκόπουλος", + "Μασγαλάς", + "Μαστρογιάννης", + "Μαστρογιώργης", + "Μασόπουλος", + "Ματσούκας", + "Μαυρικάκης", + "Μαυρογονάτος", + "Μαυροειδάκος", + "Μαυρομανωλάκης", + "Μαυρομμάτης", + "Μαυρουδής", + "Μαυρούτσος", + "Μελιτσόπουλος", + "Μεταξάς", + "Μεϊμάρης", + "Μηλιώρης", + "Μητρίδης", + "Μητρόπουλος", + "Μητσόπουλος", + "Μιχαηλίδης", + "Μιχαλάκης", + "Μιχαλέλλης", + "Μοσχόπουλος", + "Μουσελίμης", + "Μουτουσίδης", + "Μπέκος", + "Μπίλλας", + "Μπαγανάς", + "Μπακλάβας", + "Μπακοστεργίου", + "Μπαλάσκας", + "Μπαλουκίδης", + "Μπαλταγιάννης", + "Μπαλτζής", + "Μπαντές", + "Μπαντής", + "Μπερεδήμας", + "Μπερμπατιώτης", + "Μπλανάς", + "Μπλιατσίου", + "Μποζίκης", + "Μποτσώλης", + "Μποτώνης", + "Μπουλούκος", + "Μπουρλής", + "Μποφός", + "Μπούκος", + "Μπούσιος", + "Μπραζιώτης", + "Μπότης", + "Μυλωνάς", + "Μυσιρλής", + "Μυτελέτσης", + "Μωραΐτης", + "Μωρός", + "Μόκας", + "Μόναχας", + "Νάστατος", + "Νάστος", + "Νέλος", + "Νανούρης", + "Νασίκας", + "Νασιόπουλος", + "Νικητόπουλος", + "Νικολαΐδης", + "Νικολόπουλος", + "Νικουλής", + "Νιτσοτόλης", + "Νούσης", + "Νταβάς", + "Ντουλιάς", + "Ντόβας", + "Ντόκος", + "Ντότης", + "Ξανθάκης", + "Ξηρογιάννης", + "Ξηρός", + "Ορφανάκης", + "Ορφανιώτης", + "Ότσος", + "Πάγκαλος", + "Πάνος", + "Πάντος", + "Πέππας", + "Πέτσας", + "Πίππας", + "Πίσσιος", + "Πίτσης", + "Παλαιολόγος", + "Παληός", + "Παλλάς", + "Παναγιωτακόπουλος", + "Πανδής", + "Πανούσης", + "Πανταζής", + "Παντζέκος", + "Παντζαρτζίδης", + "Παπαγεωργίου", + "Παπαγιάννης", + "Παπαγιαννακόπουλος", + "Παπαγιαννόπουλος", + "Παπαδάκης", + "Παπαδημητράκης", + "Παπαδημητριάδης", + "Παπαδόπουλος", + "Παπαευαγγελίου", + "Παπαθανασίου", + "Παπαθεοδοσίου", + "Παπαπανός", + "Παπαροϊδάμης", + "Παπαστεργίου", + "Παπατρέχας", + "Παπαφώτης", + "Παπουδής", + "Παπουλής", + "Παππάς", + "Παρασκευόπουλος", + "Παργανάς", + "Παρούσης", + "Πασσαλίδης", + "Πατελής", + "Πατμανίδης", + "Πατσούρας", + "Περάκης", + "Περδίκης", + "Περδικάκης", + "Περιστερόπουλος", + "Περπινιάς", + "Περράκης", + "Περρώτης", + "Πετράκης", + "Πετρίδης", + "Πετριτάκης", + "Πετρογιάννης", + "Πετρόπουλος", + "Πευκιανάκης", + "Πιάγκος", + "Πικούνης", + "Πικρός", + "Πιπεράκης", + "Πιπερίγκος", + "Πισχινάς", + "Πιτερός", + "Πιτσάκης", + "Πιτσολής", + "Πλακωτάρης", + "Πλιάτσικας", + "Πολυζωάκης", + "Πολυχρονίδης", + "Πολυχρονόπουλος", + "Πολυχρόνης", + "Πορίχης", + "Πουλημένος", + "Πουλιέζος", + "Πουλογιαννόπουλος", + "Πουφτσής", + "Προβής", + "Πυλαρινός", + "Ράλλης", + "Ράπτης", + "Ρέγκας", + "Ρέντας", + "Ρέντζος", + "Ρέππος", + "Ρήγας", + "Ρήνος", + "Ρίγκος", + "Ρίζος", + "Ρίσβας", + "Ραγκούσης", + "Ραδοβάλης", + "Ραφιός", + "Ραχμανίδης", + "Ραχωβίτσας", + "Ριζούλης", + "Ρουπακάς", + "Ρουσιανός", + "Ροϊδούλης", + "Ρωμαίου", + "Ρόγαρης", + "Ρόδης", + "Ρόκας", + "Σάτλας", + "Σίδερης", + "Σακελλαρίου", + "Σαλίχος", + "Σαλταούρας", + "Σαμακίδης", + "Σαμανίδης", + "Σαμαράς", + "Σαουλίδης", + "Σαρίκας", + "Σαραντινός", + "Σαραφίδης", + "Σαρρός", + "Σγουρός", + "Σδραλλής", + "Σεβδάς", + "Σεφέκος", + "Σιγανός", + "Σιδηρόπουλος", + "Σικαλίδης", + "Σιτόπουλος", + "Σιώμος", + "Σιώρης", + "Σκαρλάτος", + "Σκαρπέτας", + "Σκορδάκης", + "Σκουλαρίδης", + "Σκρέκας", + "Σκρίμπας", + "Σκόρδος", + "Σμαρδάς", + "Σμπονιάς", + "Σμπρίνης", + "Σμυρνιώτης", + "Σολακούδης", + "Σουλιντζής", + "Σουρμπής", + "Σοφιανός", + "Σπάλας", + "Σπαθόπουλος", + "Σπανδωνίδης", + "Σπανουδάκης", + "Σπανός", + "Σπασόπουλος", + "Σπηλιώτης", + "Σπορδιλής", + "Σπυριδάκης", + "Σπυρόπουλος", + "Σταθάτος", + "Σταθόπουλος", + "Σταμάτης", + "Σταμέλος", + "Σταματιάδης", + "Σταμούλης", + "Σταμόπουλος", + "Σταυριανός", + "Σταυρόπουλος", + "Στεργιαλής", + "Στεργιούδης", + "Στοφοριάδης", + "Στραβοσνίχης", + "Στόγιος", + "Συλλίγαρδος", + "Συργής", + "Συρρής", + "Σφούνης", + "Σφύρλας", + "Σωτηράλης", + "Σύκας", + "Τάρναρης", + "Τάσιος", + "Τάχας", + "Ταβερναράκης", + "Τακαντζάς", + "Ταμιωλάκης", + "Τασιούλας", + "Ταχμαζίδης", + "Ταχτσίδης", + "Τεμουρτζίδης", + "Τερζής", + "Τερζίδης", + "Τζέκος", + "Τζήκας", + "Τζαβέλλας", + "Τζαλλας", + "Τζανουδάκης", + "Τζεβελέκος", + "Τζιάβας", + "Τζιάρας", + "Τζινιέρης", + "Τζιόρτζιος", + "Τζιώτζης", + "Τζουβέλης", + "Τζουμάκης", + "Τοδώρης", + "Τολούδης", + "Τορομίδης", + "Τουρναβίτης", + "Τραχίλης", + "Τρεντσίου", + "Τριαντακωνσταντής", + "Τριβέλλας", + "Τσάρκος", + "Τσέας", + "Τσέγας", + "Τσέλιος", + "Τσέλλος", + "Τσαγκρασούλης", + "Τσαγλιώτης", + "Τσακανίκας", + "Τσακμάκης", + "Τσαλαμάνδρης", + "Τσαμαδός", + "Τσαμασλίδης", + "Τσανδήλας", + "Τσαπραλής", + "Τσαραμιάδης", + "Τσατσάνης", + "Τσεμπερλίδης", + "Τσεντούρος", + "Τσιάκος", + "Τσιάρας", + "Τσιαμίτας", + "Τσιαμούρας", + "Τσιαντάς", + "Τσιατής", + "Τσιγαρίδας", + "Τσικνιάς", + "Τσιρώνης", + "Τσιτούρας", + "Τσομώκος", + "Τσοπανίδης", + "Τσουκνίδας", + "Τσούμος", + "Τσούπρας", + "Τσόλκας", + "Τσότρας", + "Τσώνης", + "Τσώτσης", + "Τυμβίου", + "Τυράλης", + "Φαλιέρος", + "Φανουργάκης", + "Φειδερόπουλος", + "Φερεντίνος", + "Φιλιππάκης", + "Φιλιππάτος", + "Φιλιππόπουλος", + "Φουντζούλας", + "Φουσιέκης", + "Φουτσιτζής", + "Φούσκας", + "Φραγκόπουλος", + "Φραντζής", + "Φρογάκης", + "Φυδάνης", + "Φωκάς", + "Φωκαδελής", + "Φωτογλίδης", + "Φωτόπουλος", + "Χέλιος", + "Χαβρεδάκης", + "Χαλατσής", + "Χαραλάμπους", + "Χαραλαμπίδης", + "Χαρισιάδης", + "Χαρμπίλας", + "Χαρπαντίδης", + "Χαρτερός", + "Χατζαντώνης", + "Χατζελλής", + "Χατζηβλασίου", + "Χατζηγεωργίου", + "Χατζηγρηγοράκης", + "Χατζηκύρκος", + "Χατζησάββας", + "Χατζησαββίδης", + "Χατζησταυράκης", + "Χατζιάρας", + "Χατζόπουλος", + "Χαχούδης", + "Χητός", + "Χιτός", + "Χονδρολίδης", + "Χουδαλάκης", + "Χουλιάρας", + "Χουντής", + "Χουχουλής", + "Χριστάκης", + "Χριστάρας", + "Χριστακόπουλος", + "Χριστοδουλάκης", + "Χριστόπουλος", + "Χρονόπουλος", + "Χρυσίδης", + "Χρυσικός", + "Χρυσοβέργης", + "Χρυσουλής", + "Ψάλτης", + "Ψυλλάκης", + "Ψυχιάς", ) last_names_female = ( - 'Αβραμίδου', 'Αβραμπέκη', 'Αγγελάκη', 'Αγγελίδου', 'Αγγελουσοπούλου', - 'Αγραφιώτη', 'Αδαμοπούλου', 'Αθανασιάδη', 'Αθανασιάδου', 'Αλεξανδράκη', - 'Αλεξανδρίδου', 'Αλεξοπούλου', 'Αλυσανδράτου', 'Ανανιάδου', 'Αναστασάκη', - 'Αναστασίου', 'Ανεζάκη', 'Αντωνάκη', 'Αντωνίου', 'Αποστολάκη', - 'Αποστολίδου', 'Αραπάκη', 'Αραπίδου', 'Αργυράκη', 'Αργυρίου', - 'Αργυροπούλου', 'Αρματά', 'Αρσενάκη', 'Αρχάκη', 'Ασλανίδου', 'Ασουχίδου', - 'Ασσαργιωτάκη', 'Ατσαλάκη', 'Βαΐου', 'Βαβάση', 'Βαγενά', 'Βαζούρα', - 'Βαϊραμίδου', 'Βακουφτσή', 'Βαλεντή', 'Βαλιάκα', 'Βαλκάνου', 'Βαλσαμίδου', - 'Βαμβουκάκη', 'Βαρελίδου', 'Βαρθαλίτη', 'Βαρουτίδου', 'Βαρσάμου', - 'Βασιλάκη', 'Βασιλείου', 'Βασιλειάδη', 'Βασιλοπούλου', 'Βαφειάδου', - 'Βερβερίδου', 'Βερβίτη', 'Βλάσση', 'Βλαχοδήμου', 'Βλάχου', 'Βοσινάκη', - 'Βουλγαρίδου', 'Βουλτσίδου', 'Βουτσινά', 'Βραδή', 'Βρακά', 'Βράσκου', - 'Βυζιηνού', 'Γαβριήλ', 'Γαβριηλίδη', 'Γαλανάκη', 'Γαλάνη', 'Γαλανοπούλου', - 'Γεροκώστα', 'Γερούκη', 'Γεωργακοπούλου', 'Γεωργαρά', 'Γεωργή', - 'Γεωργιάδου', 'Γεωργίτση', 'Γεωργουλάκη', 'Γεωργούλα', 'Γιακαμόζη', - 'Γιαννακουδάκη', 'Γιανναρά', 'Γιαννοπούλου', 'Γιατράκου', 'Γκάβρου', - 'Γκάγκα', 'Γκαλίου', 'Γκιριτζιώνη', 'Γκόβα', 'Γκόνη', 'Γκούβα', 'Γκούνη', - 'Γούλα', 'Γούπα', 'Γραμμένου', 'Γρηγορίου', 'Γρηγοριάδου', 'Γρηγοροπούλου', - 'Γρίβα', 'Δαγλή', 'Δαΐκου', 'Δαμαλά', 'Δαματοπούλου', 'Δαμήλου', - 'Δανδανίδου', 'Δαρδιώτη', 'Δαρσακλή', 'Δαυίδ', 'Δάφνη', 'Δεδούκου', 'Δελή', - 'Δερλώπα', 'Δημακογιάννη', 'Δημητρίου', 'Δημητρέλου', 'Δημητριάδου', - 'Δημοπούλου', 'Δήμου', 'Δημτσούδη', 'Διακουμή', 'Διαμαντοπούλου', - 'Διοπούλου', 'Δούβαλη', 'Δουκίδου', 'Δουλάμη', 'Δουλγεράκη', 'Δουλουφάκη', - 'Δρακάκη', 'Δρακουλή', 'Δραμουντάνη', 'Δρίβα', 'Δρόσου', 'Δρυμαλίτου', - 'Δώρη', 'Ελευθερίου', 'Εμμανουήλ', 'Εμμανουηλίδου', 'Ενωτιάδη', - 'Ευαγγελάκη', 'Ευαγγελίδη', 'Ζαβιτσάνου', 'Ζαννίκου', 'Ζαρειφοπούλου', - 'Ζαρζάνη', 'Ζαφείρη', 'Ζαχαρίου', 'Ζαχαριουδάκη', 'Ζεγλίνα', 'Ζερβά', - 'Ζιάρα', 'Ζυγούρη', 'Ζώη', 'Ζωντανού', 'Θασίτου', 'Θεοδοσίου', - 'Θεοδοσιάδου', 'Θεοδωροπούλου', 'Θωμάκου', 'Ιωακείμ', 'Ιωακειμίδου', - 'Ιωσηφίδου', 'Καζαντζή', 'Κάκκα', 'Κακοτρίχη', 'Καλαθά', 'Καλαϊτζοπούλου', - 'Καλαμάρα', 'Καλδή', 'Καλέμη', 'Καλλιάνταση', 'Καλογιαννάκη', 'Καλογιάννη', - 'Καλομοίρη', 'Καλούδη', 'Καμινάρη', 'Καμπούρη', 'Κανελή', 'Κανελλή', - 'Κανελλοπούλου', 'Κανταρελή', 'Καπανταϊδάκη', 'Καπνιά', 'Καπουρνιώτη', - 'Καραγιάννη', 'Καραγιοβάννη', 'Καραγρηγορίου', 'Καραθανάση', 'Καρακυρίου', - 'Καρακωνσταντινού', 'Καρακώστα', 'Καραμάνη', 'Καραμανλή', 'Καράμπη', - 'Καραμπίνα', 'Καρανάνου', 'Καρανασίου', 'Καραντάνα', 'Καραογλάνη', - 'Καρατάσου', 'Καρβέλη', 'Καργάκου', 'Καρκαλέτση', 'Καρκανάκη', 'Καρολίδου', - 'Καρυδά', 'Κασκαούτη', 'Κασμιρλή', 'Κασσωτάκη', 'Κατσανίκου', 'Κατσαντώνη', - 'Κατσαφάδου', 'Κατσιγιάννη', 'Κατσιλλή', 'Κατσιμάλη', 'Κατσιμάνη', - 'Κατσούλα', 'Καφαντάρη', 'Καφφέ', 'Καχριμανίδη', 'Καψή', 'Κεσίση', - 'Κεσκίνη', 'Κετεσίδου', 'Κεφαλή', 'Κιορίδου', 'Κίτσου', 'Κλεινάκη', - 'Κοκκινίδου', 'Κοκκίνου', 'Κολαΐτου', 'Κόλλια', 'Κολτσάκη', 'Κονιάρη', - 'Κονσούλα', 'Κοντογεωργάκη', 'Κοντογιάννη', 'Κοντού', 'Κορομπόκη', - 'Κορωνίδου', 'Κοτρώτσου', 'Κοτσινά', 'Κουζουλά', 'Κουθούρη', 'Κουκουβά', - 'Κουκουθάκη', 'Κουλαουσάρη', 'Κουλουμπού', 'Κουλοχέρη', 'Κουμάρα', - 'Κουρλού', 'Κουτκιά', 'Κουτουζίδου', 'Κουτσικούρη', 'Κουτσιουμάρη', - 'Κουτσοβίδου', 'Κουτσονίκα', 'Κουτσούμπεη', 'Κουτσούμπη', 'Κουτσουνάκη', - 'Κουτσουρέλη', 'Κουφάκη', 'Κοφινάκη', 'Κυργιά', 'Κυριακοπούλου', 'Κυριάκου', - 'Κυριακούλη', 'Κυριαννάκη', 'Κυρίτση', 'Κυρκούδη', 'Κυρούδη', - 'Κωνσταντινίδου', 'Κωνσταντοπούλου', 'Κωστοπούλου', 'Κωτούλα', - 'Κωτσιονοπούλου', 'Κώτσου', 'Λαλαούνη', 'Λέκκα', 'Λεντζίου', 'Λεπίδα', - 'Λιάκου', 'Λιάνου', 'Λιναρδάκη', 'Λιολιοπούλου', 'Λιόντη', 'Λιούκα', - 'Λίτσιου', 'Λογκάκη', 'Λογοθέτη', 'Λουμπούτσκου', 'Λυμαξή', 'Λυρή', 'Λύτρα', - 'Μαγκανάρη', 'Μαγκαφοπούλου', 'Μαγούλα', 'Μακρή', 'Μακροπούλου', 'Μάλαμα', - 'Μαλίμη', 'Μαλλή', 'Μαμαλά', 'Μανέτα', 'Μανιάτη', 'Μανιτάρου', 'Μανοπούλου', - 'Μανουσοπούλου', 'Μαντά', 'Μάντου', 'Μαράκη', 'Μάρα', 'Μαργαριτάκη', - 'Μαργαρίτη', 'Μαργιά', 'Μαρκαντωνάκη', 'Μαρουγιάννη', 'Μαρτζούκου', - 'Μαρτιάδου', 'Μασαούτη', 'Μασιάλα', 'Μασίκα', 'Μαστραγγελή', - 'Μαστρογιαννίδου', 'Ματεντσίδου', 'Ματσούρη', 'Μαυρίδου', 'Μαυραειδή', - 'Μαυρίδη', 'Μαυροείδη', 'Μαυροπούλου', 'Μέλανι', 'Μενγκ', 'Μεξή', - 'Μηλιάδου', 'Μηλιάκη', 'Μηνά', 'Μητροπούλου', 'Μητσοπούλου', 'Μήτσου', - 'Μιλέα', 'Μισίδου', 'Μιχαηλίδου', 'Μιχαλάρου', 'Μιχελή', 'Μιχελακάκη', - 'Μίχου', 'Μοσχοβάκη', 'Μουτζούρη', 'Μπακοστεργίου', 'Μπακουλή', 'Μπαλή', - 'Μπαλαμπάνη', 'Μπαλανίκα', 'Μπαλάση', 'Μπαλλή', 'Μπαλτατζή', 'Μπαρκούτα', - 'Μπατζάνη', 'Μπατσάκη', 'Μπαφέρα', 'Μπαφίτη', 'Μπεκάκου', 'Μπελέκου', - 'Μπενέτου', 'Μπεσύρη', 'Μπίκα', 'Μπιμπίκα', 'Μπιμπίρη', 'Μπλιατσίου', - 'Μποζίκη', 'Μπονέλη', 'Μπότζα', 'Μποτζιώρη', 'Μπούζα', 'Μπραέσα', - 'Μπρούζου', 'Μπύρου', 'Μυλωνίδου', 'Μυτάρη', 'Μωραΐτη', 'Μωυσίδου', - 'Νάντσου', 'Ναούμ', 'Νάσσου', 'Νατσουλή', 'Νίκα', 'Νικολάτου', 'Νικολάου', - 'Νικολοπούλου', 'Νικολουδάκη', 'Νταγκαλή', 'Ντάνου', 'Ντανώλα', 'Ντζιαβίδα', - 'Ντόβα', 'Ντότση', 'Ντριβαλά', 'Νώε', 'Ξανθοπούλου', 'Ξενάκη', 'Ξενίδη', - 'Ξένου', 'Ξηρίδου', 'Ξηροδήμα', 'Ξηροτύρη', 'Ξυγκάκου', 'Οικονομοπούλου', - 'Οικονόμου', 'Ορφανίδου', 'Παλαιολογοπούλου', 'Παλαμπουγιούκη', 'Παλιεράκη', - 'Παλιούρα', 'Παναγιωτακοπούλου', 'Παναγιώτου', 'Πανκίδου', 'Πανοπούλου', - 'Πάνου', 'Πανταζή', 'Πάντζιου', 'Παντίσκα', 'Πάντου', 'Παπαγεωργίου', - 'Παπαδήμα', 'Παπαδημητροπούλου', 'Παπαδοπούλου', 'Παπαευαγγελίου', - 'Παπαευαγγέλου', 'Παπαθανασίου', 'Παπαθεοδοσίου', 'Παπαθωμά', - 'Παπακωνσταντίνου', 'Παπακώστα', 'Παπανάνου', 'Παπανδρέου', - 'Παπανδρικοπούλου', 'Παπανικολάου', 'Παπανώτα', 'Παπασπηλιωτοπούλου', - 'Παπασταύρου', 'Παπαστεργίου', 'Παπατζήκα', 'Παπαχρήστου', 'Παπουτσοπούλου', - 'Παππά', 'Παράνου', 'Παρασκευά', 'Πατελλή', 'Πατινιωτάκη', 'Πατσουρέα', - 'Παυλάκη', 'Παυλή', 'Παυλίδου', 'Πεμούση', 'Περουλάκη', 'Πετράκη', - 'Πετρίδου', 'Πετροσιάν', 'Πέτρου', 'Πέτση', 'Πετσιά', 'Πέττα', 'Πιπερίδη', - 'Πισκοπάνη', 'Πίσπα', 'Πλατάκη', 'Πολατίδου', 'Πολέμη', 'Πολίτου', - 'Πορφυριάδου', 'Ποσάντζη', 'Ποταμιάνου', 'Πουλή', 'Πουλιάση', 'Πουλίδα', - 'Πουρνάρα', 'Πρέκα', 'Προύβα', 'Πυροβόλου', 'Ραδιοπούλου', 'Ραυτοπούλου', - 'Ρέππα', 'Ρόγγα', 'Ροδίτου', 'Ρόκκα', 'Ρούσσου', 'Ρωμαίου', 'Σαββάκη', - 'Σακελλαρίου', 'Σακκή', 'Σαλέμη', 'Σαμπάνη', 'Σαμτανίδου', 'Σάουερ', - 'Σαπρίκη', 'Σαριδάκη', 'Σαρρή', 'Σγουρένα', 'Σδούκου', 'Σεβαστού', - 'Σελινοπούλου', 'Σεμπέπου', 'Σηκωτίδου', 'Σίββα', 'Σιδηροπούλου', - 'Σιμητοπούλου', 'Σιμιτζή', 'Σιόλου', 'Σιούτα', 'Σκαβέντζου', 'Σκασίλα', - 'Σκαφτούρου', 'Σκοτάδη', 'Σκούμπρου', 'Σκρεμμύδα', 'Σκυλογιάννη', 'Σμιτ', - 'Σοκολάκη', 'Σολωμίδου', 'Σόφρα', 'Σπαθάρη', 'Σπανίδου', - 'Σπανοχριστοδούλου', 'Σπασέγκου', 'Σπηλιάδου', 'Σπυριδάκη', 'Σταθά', - 'Σταματούκου', 'Σταμέλου', 'Σταμούλη', 'Σταυρίδου', 'Σταύρου', 'Στεφάνου', - 'Στούμπου', 'Στρατογιάννη', 'Στρούμπα', 'Στυλιανίδου', 'Συβιλιά', - 'Συμεωνίδου', 'Συνοδινού', 'Συρμού', 'Σύψα', 'Σφακιανάκη', 'Σωτηροπούλου', - 'Ταμπορρίνο', 'Τάντου', 'Ταξίδου', 'Τάσση', 'Τάτση', 'Ταυλαρίδου', - 'Ταφραλή', 'Τζάγκα', 'Τζαναβάρα', 'Τζιγκούρα', 'Τζιόβα', 'Τζιρατούδη', - 'Τζιωρτζή', 'Τόγια', 'Τόλη', 'Τομπουλίδου', 'Τόμπρη', 'Τοπαλή', 'Τοσούνη', - 'Τουλάκη', 'Τουλούπη', 'Τουρνά', 'Τραγούστη', 'Τρεντσίου', 'Τριανταφύλλου', - 'Τρίκα', 'Τριφτανίδου', 'Τρομπούκη', 'Τσάκη', 'Τσακαλάκου', 'Τσακίρη', - 'Τσαμοπούλου', 'Τσαμπαλή', 'Τσαμπούρη', 'Τσαμτσούρη', 'Τσανάκα', - 'Τσαντίδου', 'Τσάτη', 'Τσαχάκη', 'Τσέτου', 'Τσετσέρη', 'Τσικνή', 'Τσικρίκα', - 'Τσίμη', 'Τσιομπάνη', 'Τσιούπρα', 'Τσιπλίκωφ', 'Τσιωλξ', 'Τσουκιά', - 'Τσουνάκου', 'Τσουράκη', 'Τσούρα', 'Τσώνη', 'Τυμβίου', 'Υφαντή', 'Φαββάτα', - 'Φαρμάκη', 'Φασατάκη', 'Φασουλή', 'Φασουλίδου', 'Φειζατίδου', 'Φιδάνη', - 'Φιλιάγκου', 'Φιλίππου', 'Φίλκα', 'Φλασκή', 'Φουρκιώτη', 'Φραγκιαδάκη', - 'Φραγκουδάκη', 'Φρονιμάκη', 'Φυτιλή', 'Φωλιά', 'Φωτακοπούλου', 'Φωτιάδου', - 'Χαλαντζούκα', 'Χαλβατζή', 'Χαλκίδου', 'Χαμαλίδου', 'Χανταμπή', 'Χαντζή', - 'Χαραλαμπίδου', 'Χασάπη', 'Χατζή', 'Χατζηβλασίου', 'Χατζηγεωργίου', - 'Χατζηδάκη', 'Χατζημιχαήλ', 'Χατζηφώτη', 'Χατζηχαρίστου', 'Χιωτίδου', - 'Χολέβα', 'Χονδρούδη', 'Χοντζιά', 'Χορόζη', 'Χορτάτου', 'Χουρζαμάνη', - 'Χρήστου', 'Χριστογιάννη', 'Χριστοδούλου', 'Χριστοπούλου', 'Χριστοφόρη', - 'Χρονοπούλου', 'Χρυσανθακοπούλου', 'Χρυσάφη', 'Χρυσικάκη', 'Χωριανοπούλου', - 'Χωρινού', 'Ψυρρή', 'Ψυχάρη', + "Αβραμίδου", + "Αβραμπέκη", + "Αγγελάκη", + "Αγγελίδου", + "Αγγελουσοπούλου", + "Αγραφιώτη", + "Αδαμοπούλου", + "Αθανασιάδη", + "Αθανασιάδου", + "Αλεξανδράκη", + "Αλεξανδρίδου", + "Αλεξοπούλου", + "Αλυσανδράτου", + "Ανανιάδου", + "Αναστασάκη", + "Αναστασίου", + "Ανεζάκη", + "Αντωνάκη", + "Αντωνίου", + "Αποστολάκη", + "Αποστολίδου", + "Αραπάκη", + "Αραπίδου", + "Αργυράκη", + "Αργυρίου", + "Αργυροπούλου", + "Αρματά", + "Αρσενάκη", + "Αρχάκη", + "Ασλανίδου", + "Ασουχίδου", + "Ασσαργιωτάκη", + "Ατσαλάκη", + "Βαΐου", + "Βαβάση", + "Βαγενά", + "Βαζούρα", + "Βαϊραμίδου", + "Βακουφτσή", + "Βαλεντή", + "Βαλιάκα", + "Βαλκάνου", + "Βαλσαμίδου", + "Βαμβουκάκη", + "Βαρελίδου", + "Βαρθαλίτη", + "Βαρουτίδου", + "Βαρσάμου", + "Βασιλάκη", + "Βασιλείου", + "Βασιλειάδη", + "Βασιλοπούλου", + "Βαφειάδου", + "Βερβερίδου", + "Βερβίτη", + "Βλάσση", + "Βλαχοδήμου", + "Βλάχου", + "Βοσινάκη", + "Βουλγαρίδου", + "Βουλτσίδου", + "Βουτσινά", + "Βραδή", + "Βρακά", + "Βράσκου", + "Βυζιηνού", + "Γαβριήλ", + "Γαβριηλίδη", + "Γαλανάκη", + "Γαλάνη", + "Γαλανοπούλου", + "Γεροκώστα", + "Γερούκη", + "Γεωργακοπούλου", + "Γεωργαρά", + "Γεωργή", + "Γεωργιάδου", + "Γεωργίτση", + "Γεωργουλάκη", + "Γεωργούλα", + "Γιακαμόζη", + "Γιαννακουδάκη", + "Γιανναρά", + "Γιαννοπούλου", + "Γιατράκου", + "Γκάβρου", + "Γκάγκα", + "Γκαλίου", + "Γκιριτζιώνη", + "Γκόβα", + "Γκόνη", + "Γκούβα", + "Γκούνη", + "Γούλα", + "Γούπα", + "Γραμμένου", + "Γρηγορίου", + "Γρηγοριάδου", + "Γρηγοροπούλου", + "Γρίβα", + "Δαγλή", + "Δαΐκου", + "Δαμαλά", + "Δαματοπούλου", + "Δαμήλου", + "Δανδανίδου", + "Δαρδιώτη", + "Δαρσακλή", + "Δαυίδ", + "Δάφνη", + "Δεδούκου", + "Δελή", + "Δερλώπα", + "Δημακογιάννη", + "Δημητρίου", + "Δημητρέλου", + "Δημητριάδου", + "Δημοπούλου", + "Δήμου", + "Δημτσούδη", + "Διακουμή", + "Διαμαντοπούλου", + "Διοπούλου", + "Δούβαλη", + "Δουκίδου", + "Δουλάμη", + "Δουλγεράκη", + "Δουλουφάκη", + "Δρακάκη", + "Δρακουλή", + "Δραμουντάνη", + "Δρίβα", + "Δρόσου", + "Δρυμαλίτου", + "Δώρη", + "Ελευθερίου", + "Εμμανουήλ", + "Εμμανουηλίδου", + "Ενωτιάδη", + "Ευαγγελάκη", + "Ευαγγελίδη", + "Ζαβιτσάνου", + "Ζαννίκου", + "Ζαρειφοπούλου", + "Ζαρζάνη", + "Ζαφείρη", + "Ζαχαρίου", + "Ζαχαριουδάκη", + "Ζεγλίνα", + "Ζερβά", + "Ζιάρα", + "Ζυγούρη", + "Ζώη", + "Ζωντανού", + "Θασίτου", + "Θεοδοσίου", + "Θεοδοσιάδου", + "Θεοδωροπούλου", + "Θωμάκου", + "Ιωακείμ", + "Ιωακειμίδου", + "Ιωσηφίδου", + "Καζαντζή", + "Κάκκα", + "Κακοτρίχη", + "Καλαθά", + "Καλαϊτζοπούλου", + "Καλαμάρα", + "Καλδή", + "Καλέμη", + "Καλλιάνταση", + "Καλογιαννάκη", + "Καλογιάννη", + "Καλομοίρη", + "Καλούδη", + "Καμινάρη", + "Καμπούρη", + "Κανελή", + "Κανελλή", + "Κανελλοπούλου", + "Κανταρελή", + "Καπανταϊδάκη", + "Καπνιά", + "Καπουρνιώτη", + "Καραγιάννη", + "Καραγιοβάννη", + "Καραγρηγορίου", + "Καραθανάση", + "Καρακυρίου", + "Καρακωνσταντινού", + "Καρακώστα", + "Καραμάνη", + "Καραμανλή", + "Καράμπη", + "Καραμπίνα", + "Καρανάνου", + "Καρανασίου", + "Καραντάνα", + "Καραογλάνη", + "Καρατάσου", + "Καρβέλη", + "Καργάκου", + "Καρκαλέτση", + "Καρκανάκη", + "Καρολίδου", + "Καρυδά", + "Κασκαούτη", + "Κασμιρλή", + "Κασσωτάκη", + "Κατσανίκου", + "Κατσαντώνη", + "Κατσαφάδου", + "Κατσιγιάννη", + "Κατσιλλή", + "Κατσιμάλη", + "Κατσιμάνη", + "Κατσούλα", + "Καφαντάρη", + "Καφφέ", + "Καχριμανίδη", + "Καψή", + "Κεσίση", + "Κεσκίνη", + "Κετεσίδου", + "Κεφαλή", + "Κιορίδου", + "Κίτσου", + "Κλεινάκη", + "Κοκκινίδου", + "Κοκκίνου", + "Κολαΐτου", + "Κόλλια", + "Κολτσάκη", + "Κονιάρη", + "Κονσούλα", + "Κοντογεωργάκη", + "Κοντογιάννη", + "Κοντού", + "Κορομπόκη", + "Κορωνίδου", + "Κοτρώτσου", + "Κοτσινά", + "Κουζουλά", + "Κουθούρη", + "Κουκουβά", + "Κουκουθάκη", + "Κουλαουσάρη", + "Κουλουμπού", + "Κουλοχέρη", + "Κουμάρα", + "Κουρλού", + "Κουτκιά", + "Κουτουζίδου", + "Κουτσικούρη", + "Κουτσιουμάρη", + "Κουτσοβίδου", + "Κουτσονίκα", + "Κουτσούμπεη", + "Κουτσούμπη", + "Κουτσουνάκη", + "Κουτσουρέλη", + "Κουφάκη", + "Κοφινάκη", + "Κυργιά", + "Κυριακοπούλου", + "Κυριάκου", + "Κυριακούλη", + "Κυριαννάκη", + "Κυρίτση", + "Κυρκούδη", + "Κυρούδη", + "Κωνσταντινίδου", + "Κωνσταντοπούλου", + "Κωστοπούλου", + "Κωτούλα", + "Κωτσιονοπούλου", + "Κώτσου", + "Λαλαούνη", + "Λέκκα", + "Λεντζίου", + "Λεπίδα", + "Λιάκου", + "Λιάνου", + "Λιναρδάκη", + "Λιολιοπούλου", + "Λιόντη", + "Λιούκα", + "Λίτσιου", + "Λογκάκη", + "Λογοθέτη", + "Λουμπούτσκου", + "Λυμαξή", + "Λυρή", + "Λύτρα", + "Μαγκανάρη", + "Μαγκαφοπούλου", + "Μαγούλα", + "Μακρή", + "Μακροπούλου", + "Μάλαμα", + "Μαλίμη", + "Μαλλή", + "Μαμαλά", + "Μανέτα", + "Μανιάτη", + "Μανιτάρου", + "Μανοπούλου", + "Μανουσοπούλου", + "Μαντά", + "Μάντου", + "Μαράκη", + "Μάρα", + "Μαργαριτάκη", + "Μαργαρίτη", + "Μαργιά", + "Μαρκαντωνάκη", + "Μαρουγιάννη", + "Μαρτζούκου", + "Μαρτιάδου", + "Μασαούτη", + "Μασιάλα", + "Μασίκα", + "Μαστραγγελή", + "Μαστρογιαννίδου", + "Ματεντσίδου", + "Ματσούρη", + "Μαυρίδου", + "Μαυραειδή", + "Μαυρίδη", + "Μαυροείδη", + "Μαυροπούλου", + "Μέλανι", + "Μενγκ", + "Μεξή", + "Μηλιάδου", + "Μηλιάκη", + "Μηνά", + "Μητροπούλου", + "Μητσοπούλου", + "Μήτσου", + "Μιλέα", + "Μισίδου", + "Μιχαηλίδου", + "Μιχαλάρου", + "Μιχελή", + "Μιχελακάκη", + "Μίχου", + "Μοσχοβάκη", + "Μουτζούρη", + "Μπακοστεργίου", + "Μπακουλή", + "Μπαλή", + "Μπαλαμπάνη", + "Μπαλανίκα", + "Μπαλάση", + "Μπαλλή", + "Μπαλτατζή", + "Μπαρκούτα", + "Μπατζάνη", + "Μπατσάκη", + "Μπαφέρα", + "Μπαφίτη", + "Μπεκάκου", + "Μπελέκου", + "Μπενέτου", + "Μπεσύρη", + "Μπίκα", + "Μπιμπίκα", + "Μπιμπίρη", + "Μπλιατσίου", + "Μποζίκη", + "Μπονέλη", + "Μπότζα", + "Μποτζιώρη", + "Μπούζα", + "Μπραέσα", + "Μπρούζου", + "Μπύρου", + "Μυλωνίδου", + "Μυτάρη", + "Μωραΐτη", + "Μωυσίδου", + "Νάντσου", + "Ναούμ", + "Νάσσου", + "Νατσουλή", + "Νίκα", + "Νικολάτου", + "Νικολάου", + "Νικολοπούλου", + "Νικολουδάκη", + "Νταγκαλή", + "Ντάνου", + "Ντανώλα", + "Ντζιαβίδα", + "Ντόβα", + "Ντότση", + "Ντριβαλά", + "Νώε", + "Ξανθοπούλου", + "Ξενάκη", + "Ξενίδη", + "Ξένου", + "Ξηρίδου", + "Ξηροδήμα", + "Ξηροτύρη", + "Ξυγκάκου", + "Οικονομοπούλου", + "Οικονόμου", + "Ορφανίδου", + "Παλαιολογοπούλου", + "Παλαμπουγιούκη", + "Παλιεράκη", + "Παλιούρα", + "Παναγιωτακοπούλου", + "Παναγιώτου", + "Πανκίδου", + "Πανοπούλου", + "Πάνου", + "Πανταζή", + "Πάντζιου", + "Παντίσκα", + "Πάντου", + "Παπαγεωργίου", + "Παπαδήμα", + "Παπαδημητροπούλου", + "Παπαδοπούλου", + "Παπαευαγγελίου", + "Παπαευαγγέλου", + "Παπαθανασίου", + "Παπαθεοδοσίου", + "Παπαθωμά", + "Παπακωνσταντίνου", + "Παπακώστα", + "Παπανάνου", + "Παπανδρέου", + "Παπανδρικοπούλου", + "Παπανικολάου", + "Παπανώτα", + "Παπασπηλιωτοπούλου", + "Παπασταύρου", + "Παπαστεργίου", + "Παπατζήκα", + "Παπαχρήστου", + "Παπουτσοπούλου", + "Παππά", + "Παράνου", + "Παρασκευά", + "Πατελλή", + "Πατινιωτάκη", + "Πατσουρέα", + "Παυλάκη", + "Παυλή", + "Παυλίδου", + "Πεμούση", + "Περουλάκη", + "Πετράκη", + "Πετρίδου", + "Πετροσιάν", + "Πέτρου", + "Πέτση", + "Πετσιά", + "Πέττα", + "Πιπερίδη", + "Πισκοπάνη", + "Πίσπα", + "Πλατάκη", + "Πολατίδου", + "Πολέμη", + "Πολίτου", + "Πορφυριάδου", + "Ποσάντζη", + "Ποταμιάνου", + "Πουλή", + "Πουλιάση", + "Πουλίδα", + "Πουρνάρα", + "Πρέκα", + "Προύβα", + "Πυροβόλου", + "Ραδιοπούλου", + "Ραυτοπούλου", + "Ρέππα", + "Ρόγγα", + "Ροδίτου", + "Ρόκκα", + "Ρούσσου", + "Ρωμαίου", + "Σαββάκη", + "Σακελλαρίου", + "Σακκή", + "Σαλέμη", + "Σαμπάνη", + "Σαμτανίδου", + "Σάουερ", + "Σαπρίκη", + "Σαριδάκη", + "Σαρρή", + "Σγουρένα", + "Σδούκου", + "Σεβαστού", + "Σελινοπούλου", + "Σεμπέπου", + "Σηκωτίδου", + "Σίββα", + "Σιδηροπούλου", + "Σιμητοπούλου", + "Σιμιτζή", + "Σιόλου", + "Σιούτα", + "Σκαβέντζου", + "Σκασίλα", + "Σκαφτούρου", + "Σκοτάδη", + "Σκούμπρου", + "Σκρεμμύδα", + "Σκυλογιάννη", + "Σμιτ", + "Σοκολάκη", + "Σολωμίδου", + "Σόφρα", + "Σπαθάρη", + "Σπανίδου", + "Σπανοχριστοδούλου", + "Σπασέγκου", + "Σπηλιάδου", + "Σπυριδάκη", + "Σταθά", + "Σταματούκου", + "Σταμέλου", + "Σταμούλη", + "Σταυρίδου", + "Σταύρου", + "Στεφάνου", + "Στούμπου", + "Στρατογιάννη", + "Στρούμπα", + "Στυλιανίδου", + "Συβιλιά", + "Συμεωνίδου", + "Συνοδινού", + "Συρμού", + "Σύψα", + "Σφακιανάκη", + "Σωτηροπούλου", + "Ταμπορρίνο", + "Τάντου", + "Ταξίδου", + "Τάσση", + "Τάτση", + "Ταυλαρίδου", + "Ταφραλή", + "Τζάγκα", + "Τζαναβάρα", + "Τζιγκούρα", + "Τζιόβα", + "Τζιρατούδη", + "Τζιωρτζή", + "Τόγια", + "Τόλη", + "Τομπουλίδου", + "Τόμπρη", + "Τοπαλή", + "Τοσούνη", + "Τουλάκη", + "Τουλούπη", + "Τουρνά", + "Τραγούστη", + "Τρεντσίου", + "Τριανταφύλλου", + "Τρίκα", + "Τριφτανίδου", + "Τρομπούκη", + "Τσάκη", + "Τσακαλάκου", + "Τσακίρη", + "Τσαμοπούλου", + "Τσαμπαλή", + "Τσαμπούρη", + "Τσαμτσούρη", + "Τσανάκα", + "Τσαντίδου", + "Τσάτη", + "Τσαχάκη", + "Τσέτου", + "Τσετσέρη", + "Τσικνή", + "Τσικρίκα", + "Τσίμη", + "Τσιομπάνη", + "Τσιούπρα", + "Τσιπλίκωφ", + "Τσιωλξ", + "Τσουκιά", + "Τσουνάκου", + "Τσουράκη", + "Τσούρα", + "Τσώνη", + "Τυμβίου", + "Υφαντή", + "Φαββάτα", + "Φαρμάκη", + "Φασατάκη", + "Φασουλή", + "Φασουλίδου", + "Φειζατίδου", + "Φιδάνη", + "Φιλιάγκου", + "Φιλίππου", + "Φίλκα", + "Φλασκή", + "Φουρκιώτη", + "Φραγκιαδάκη", + "Φραγκουδάκη", + "Φρονιμάκη", + "Φυτιλή", + "Φωλιά", + "Φωτακοπούλου", + "Φωτιάδου", + "Χαλαντζούκα", + "Χαλβατζή", + "Χαλκίδου", + "Χαμαλίδου", + "Χανταμπή", + "Χαντζή", + "Χαραλαμπίδου", + "Χασάπη", + "Χατζή", + "Χατζηβλασίου", + "Χατζηγεωργίου", + "Χατζηδάκη", + "Χατζημιχαήλ", + "Χατζηφώτη", + "Χατζηχαρίστου", + "Χιωτίδου", + "Χολέβα", + "Χονδρούδη", + "Χοντζιά", + "Χορόζη", + "Χορτάτου", + "Χουρζαμάνη", + "Χρήστου", + "Χριστογιάννη", + "Χριστοδούλου", + "Χριστοπούλου", + "Χριστοφόρη", + "Χρονοπούλου", + "Χρυσανθακοπούλου", + "Χρυσάφη", + "Χρυσικάκη", + "Χωριανοπούλου", + "Χωρινού", + "Ψυρρή", + "Ψυχάρη", ) last_names = last_names_male + last_names_female diff --git a/faker/providers/person/en/__init__.py b/faker/providers/person/en/__init__.py index 35fbff14d6..215fe488ea 100644 --- a/faker/providers/person/en/__init__.py +++ b/faker/providers/person/en/__init__.py @@ -3,1159 +3,7730 @@ class Provider(PersonProvider): formats_female = ( - '{{first_name_female}} {{last_name}}', - '{{first_name_female}} {{last_name}}', - '{{first_name_female}} {{last_name}}', - '{{first_name_female}} {{last_name}}', - '{{first_name_female}} {{last_name}}', - '{{prefix_female}} {{first_name_female}} {{last_name}}', - '{{first_name_female}} {{last_name}} {{suffix_female}}', - '{{prefix_female}} {{first_name_female}} {{last_name}} {{suffix_female}}') + "{{first_name_female}} {{last_name}}", + "{{first_name_female}} {{last_name}}", + "{{first_name_female}} {{last_name}}", + "{{first_name_female}} {{last_name}}", + "{{first_name_female}} {{last_name}}", + "{{prefix_female}} {{first_name_female}} {{last_name}}", + "{{first_name_female}} {{last_name}} {{suffix_female}}", + "{{prefix_female}} {{first_name_female}} {{last_name}} {{suffix_female}}", + ) formats_male = ( - '{{first_name_male}} {{last_name}}', - '{{first_name_male}} {{last_name}}', - '{{first_name_male}} {{last_name}}', - '{{first_name_male}} {{last_name}}', - '{{first_name_male}} {{last_name}}', - '{{prefix_male}} {{first_name_male}} {{last_name}}', - '{{first_name_male}} {{last_name}} {{suffix_male}}', - '{{prefix_male}} {{first_name_male}} {{last_name}} {{suffix_male}}', + "{{first_name_male}} {{last_name}}", + "{{first_name_male}} {{last_name}}", + "{{first_name_male}} {{last_name}}", + "{{first_name_male}} {{last_name}}", + "{{first_name_male}} {{last_name}}", + "{{prefix_male}} {{first_name_male}} {{last_name}}", + "{{first_name_male}} {{last_name}} {{suffix_male}}", + "{{prefix_male}} {{first_name_male}} {{last_name}} {{suffix_male}}", ) formats = formats_male + formats_female first_names_female = ( - 'Aaliyah', 'Abagail', 'Abbey', 'Abbie', 'Abbigail', 'Abby', 'Abigail', - 'Abigale', 'Abigayle', 'Abril', 'Achsah', 'Ada', 'Adah', 'Adaline', - 'Adalyn', 'Adalynn', 'Adamaris', 'Adda', 'Addie', 'Addison', 'Addisyn', - 'Addyson', 'Adel', 'Adela', 'Adelaide', 'Adele', 'Adelia', 'Adelina', - 'Adeline', 'Adell', 'Adella', 'Adelle', 'Adelyn', 'Adelynn', 'Adilene', - 'Adina', 'Adison', 'Adline', 'Adria', 'Adriana', 'Adriane', 'Adrianna', - 'Adrianne', 'Adriene', 'Adrienne', 'Adyson', 'Affie', 'Afton', 'Agatha', - 'Aggie', 'Agnes', 'Agness', 'Agusta', 'Aida', 'Aileen', 'Ailene', - 'Aili', 'Aimee', 'Ainsley', 'Aisha', 'Aiyana', 'Aiyanna', 'Aja', - 'Akeelah', 'Akira', 'Ala', 'Alabama', 'Alaina', 'Alana', 'Alani', - 'Alanna', 'Alannah', 'Alaya', 'Alayna', 'Alba', 'Alberta', 'Albertha', - 'Albertina', 'Albertine', 'Albina', 'Alcie', 'Alda', 'Aldona', 'Aleah', - 'Alease', 'Alecia', 'Aleen', 'Aleena', 'Alejandra', 'Alena', 'Alene', - 'Alesha', 'Alesia', 'Alessandra', 'Aleta', 'Aletha', 'Alethea', 'Alex', - 'Alexa', 'Alexandr', 'Alexandra', 'Alexandrea', 'Alexandria', 'Alexia', - 'Alexina', 'Alexis', 'Alexus', 'Alexys', 'Alfreda', 'Alia', 'Aliana', - 'Alice', 'Alicia', 'Alida', 'Alina', 'Aline', 'Alisa', 'Alisha', - 'Alison', 'Alissa', 'Alisson', 'Alivia', 'Aliya', 'Aliyah', 'Aliza', - 'Alize', 'Alla', 'Allean', 'Alleen', 'Allena', 'Allene', 'Allie', - 'Alline', 'Allison', 'Allisson', 'Ally', 'Allyson', 'Allyssa', 'Alma', - 'Almeda', 'Almedia', 'Almeta', 'Almina', 'Almira', 'Almyra', 'Aloma', - 'Alondra', 'Alpha', 'Alphonsine', 'Alta', 'Altha', 'Althea', 'Altie', - 'Alvena', 'Alvera', 'Alverda', 'Alverta', 'Alvina', 'Alvira', 'Alwilda', - 'Alwina', 'Alwine', 'Alyce', 'Alycia', 'Alys', 'Alysa', 'Alyse', - 'Alysha', 'Alysia', 'Alyson', 'Alyssa', 'Alyssia', 'Alyvia', 'Alzina', - 'Ama', 'Amalia', 'Amalie', 'Amanda', 'Amani', 'Amara', 'Amari', - 'Amaris', 'Amaya', 'Amber', 'Amberly', 'Amelia', 'Amelie', 'America', - 'Amey', 'Ami', 'Amiah', 'Amie', 'Amina', 'Amira', 'Amirah', 'Amiya', - 'Amiyah', 'Amma', 'Ammie', 'Amparo', 'Amy', 'Amya', 'Ana', 'Anabel', - 'Anabella', 'Anabelle', 'Anahi', 'Anais', 'Analia', 'Anastacia', - 'Anastasia', 'Anaya', 'Andra', 'Andrea', 'Andria', 'Angel', 'Angela', - 'Angele', 'Angeles', 'Angelia', 'Angelic', 'Angelica', 'Angelina', - 'Angeline', 'Angelique', 'Angelita', 'Angella', 'Angie', 'Anice', - 'Anie', 'Anika', 'Anissa', 'Anita', 'Anitra', 'Aniya', 'Aniyah', - 'Anjali', 'Anjanette', 'Anjelica', 'Ann', 'Anna', 'Annabel', 'Annabell', - 'Annabella', 'Annabelle', 'Annalise', 'Annamae', 'Annamarie', 'Anne', - 'Anneliese', 'Annemarie', 'Anner', 'Annetta', 'Annette', 'Annice', - 'Annie', 'Annika', 'Annis', 'Annmarie', 'Anona', 'Ansley', 'Antionette', - 'Antoinette', 'Antonetta', 'Antonette', 'Antonia', 'Antonina', 'Anya', - 'April', 'Ara', 'Arabella', 'Araceli', 'Aracely', 'Arah', 'Araminta', - 'Ardath', 'Ardelia', 'Ardell', 'Ardella', 'Ardelle', 'Arden', 'Ardeth', - 'Ardis', 'Ardith', 'Ardyce', 'Areli', 'Arely', 'Aretha', 'Argie', - 'Aria', 'Ariana', 'Ariane', 'Arianna', 'Arie', 'Ariel', 'Ariella', - 'Arielle', 'Arietta', 'Arizona', 'Arkie', 'Arla', 'Arleen', 'Arlena', - 'Arlene', 'Arleth', 'Arletta', 'Arley', 'Arlie', 'Arline', 'Arly', - 'Arlyne', 'Armani', 'Armida', 'Arminda', 'Arminta', 'Arnetta', 'Arra', - 'Arrie', 'Arta', 'Artelia', 'Arvilla', 'Aryana', 'Aryanna', 'Asha', - 'Ashanti', 'Ashely', 'Ashlea', 'Ashlee', 'Ashleigh', 'Ashley', 'Ashli', - 'Ashlie', 'Ashly', 'Ashlyn', 'Ashlynn', 'Ashtyn', 'Asia', 'Ason', - 'Aspen', 'Assunta', 'Astrid', 'Atha', 'Athena', 'Attie', 'Aubree', - 'Aubrey', 'Aubrie', 'Audie', 'Audra', 'Audrey', 'Audriana', 'Audrianna', - 'Audrina', 'Audry', 'Augusta', 'Augustina', 'Aura', 'Aurelia', - 'Aurilla', 'Aurora', 'Aurore', 'Autumn', 'Ava', 'Avah', 'Averi', - 'Averie', 'Avie', 'Avis', 'Ayana', 'Ayanna', 'Ayesha', 'Ayla', 'Ayleen', - 'Aylin', 'Azalee', 'Azaria', 'Azariah', 'Azul', 'Azzie', 'Babette', - 'Baby', 'Bailee', 'Bailey', 'Bama', 'Bambi', 'Barb', 'Barbara', - 'Barbie', 'Barbra', 'Baylee', 'Baylie', 'Bea', 'Beadie', 'Beatrice', - 'Beatrix', 'Beatriz', 'Beaulah', 'Bebe', 'Beckie', 'Becky', 'Beda', - 'Bee', 'Belen', 'Belia', 'Belinda', 'Bell', 'Bella', 'Belle', 'Belva', - 'Bena', 'Benita', 'Bennie', 'Berdie', 'Berenice', 'Bernadette', - 'Bernadine', 'Bernardine', 'Berneice', 'Bernetta', 'Bernice', - 'Berniece', 'Bernita', 'Berta', 'Bertha', 'Bertie', 'Bertina', 'Beryl', - 'Bess', 'Besse', 'Bessie', 'Beth', 'Betha', 'Bethann', 'Bethany', - 'Bethel', 'Bethzy', 'Betsey', 'Betsy', 'Bette', 'Bettie', 'Bettina', - 'Betty', 'Bettye', 'Bettyjane', 'Bettylou', 'Beula', 'Beulah', 'Bev', - 'Beverlee', 'Beverley', 'Beverly', 'Beyonce', 'Bianca', 'Biddie', - 'Billie', 'Billy', 'Billye', 'Bina', 'Bird', 'Birdella', 'Birdie', - 'Birtha', 'Birtie', 'Blair', 'Blake', 'Blanca', 'Blanch', 'Blanche', - 'Blanchie', 'Blossom', 'Bobbi', 'Bobbie', 'Bobby', 'Bobbye', 'Bonita', - 'Bonnie', 'Bonny', 'Braelyn', 'Brande', 'Brandee', 'Brandi', 'Brandie', - 'Brandon', 'Brandy', 'Brea', 'Breana', 'Breann', 'Breanna', 'Breanne', - 'Bree', 'Brenda', 'Brenna', 'Breonna', 'Brett', 'Bria', 'Briana', - 'Brianda', 'Brianna', 'Brianne', 'Bridget', 'Bridgett', 'Bridgette', - 'Brielle', 'Brigette', 'Brigid', 'Brigitte', 'Briley', 'Brinda', - 'Brinley', 'Brionna', 'Brisa', 'Bristol', 'Britany', 'Britney', - 'Britni', 'Britny', 'Britt', 'Britta', 'Brittaney', 'Brittani', - 'Brittanie', 'Brittany', 'Brittnay', 'Brittnee', 'Brittney', 'Brittni', - 'Brittnie', 'Brittny', 'Brook', 'Brooke', 'Brooklyn', 'Brooklynn', - 'Bryana', 'Bryanna', 'Brylee', 'Bryn', 'Brynlee', 'Brynn', 'Buelah', - 'Buena', 'Buffy', 'Bula', 'Bulah', 'Buna', 'Burnice', 'Byrd', 'Byrdie', - 'Caddie', 'Cadence', 'Cailyn', 'Caitlin', 'Caitlyn', 'Caitlynn', - 'Caldonia', 'Caleigh', 'Cali', 'Calista', 'Calla', 'Calleigh', 'Callie', - 'Cambria', 'Cameron', 'Cami', 'Camila', 'Camilla', 'Camille', 'Camisha', - 'Cammie', 'Campbell', 'Camryn', 'Candace', 'Candi', 'Candice', - 'Candida', 'Candis', 'Candy', 'Candyce', 'Cannie', 'Capitola', 'Cappie', - 'Caprice', 'Cara', 'Caren', 'Carey', 'Cari', 'Carie', 'Carin', 'Carina', - 'Carisa', 'Carissa', 'Carla', 'Carlee', 'Carleen', 'Carleigh', - 'Carlene', 'Carley', 'Carli', 'Carlie', 'Carlota', 'Carlotta', 'Carly', - 'Carlyn', 'Carma', 'Carmel', 'Carmela', 'Carmelita', 'Carmella', - 'Carmen', 'Caro', 'Carol', 'Carolann', 'Carole', 'Carolee', 'Carolina', - 'Caroline', 'Carolyn', 'Carolyne', 'Carolynn', 'Caron', 'Carra', - 'Carri', 'Carrie', 'Carrol', 'Carroll', 'Carry', 'Carson', 'Cary', - 'Caryl', 'Caryn', 'Casandra', 'Casey', 'Casie', 'Cassandra', 'Cassidy', - 'Cassie', 'Cassondra', 'Catalina', 'Catharine', 'Catherine', 'Cathern', - 'Cathey', 'Cathi', 'Cathie', 'Cathleen', 'Cathrine', 'Cathryn', 'Cathy', - 'Catina', 'Catrina', 'Caydence', 'Cayla', 'Caylee', 'Cecelia', 'Cecile', - 'Cecilia', 'Cecily', 'Ceil', 'Celena', 'Celesta', 'Celeste', 'Celestia', - 'Celestine', 'Celia', 'Celie', 'Celina', 'Celine', 'Cena', 'Ceola', - 'Chaka', 'Chana', 'Chanda', 'Chandler', 'Chandra', 'Chanel', 'Chanelle', - 'Chaney', 'Chanie', 'Channie', 'Channing', 'Chantal', 'Chante', - 'Chantel', 'Chantelle', 'Charissa', 'Charisse', 'Charity', 'Charla', - 'Charlee', 'Charleen', 'Charlene', 'Charley', 'Charlie', 'Charline', - 'Charlize', 'Charlotta', 'Charlotte', 'Charlottie', 'Charlsie', - 'Charmaine', 'Charolette', 'Chase', 'Chasity', 'Chastity', 'Chaya', - 'Chelsea', 'Chelsey', 'Chelsi', 'Chelsie', 'Chelsy', 'Cher', 'Cherelle', - 'Cheri', 'Cherie', 'Cherilyn', 'Cherise', 'Cherish', 'Cherrelle', - 'Cherri', 'Cherrie', 'Cherry', 'Cherryl', 'Cheryl', 'Cheryle', - 'Cheryll', 'Chessie', 'Chestina', 'Cheyanne', 'Cheyenne', 'Chimere', - 'China', 'Chiquita', 'Chloe', 'Chloie', 'Chris', 'Chrissie', 'Chrissy', - 'Christa', 'Christal', 'Christeen', 'Christel', 'Christen', 'Christena', - 'Christene', 'Christi', 'Christian', 'Christiana', 'Christie', - 'Christin', 'Christina', 'Christine', 'Christy', 'Chrystal', 'Chyna', - 'Chynna', 'Ciara', 'Ciarra', 'Cicely', 'Cielo', 'Ciera', 'Cierra', - 'Ciji', 'Cilla', 'Cinda', 'Cindi', 'Cindy', 'Cinnamon', 'Cinthia', - 'Citlali', 'Citlalli', 'Clair', 'Claire', 'Clara', 'Clarabelle', - 'Clare', 'Claribel', 'Clarice', 'Clarinda', 'Clarine', 'Clarisa', - 'Clarissa', 'Classie', 'Claudette', 'Claudia', 'Claudie', 'Claudine', - 'Cleda', 'Clella', 'Clem', 'Clemence', 'Clementina', 'Clementine', - 'Clemie', 'Clemma', 'Clemmie', 'Cleo', 'Cleola', 'Cleone', 'Cleora', - 'Cleta', 'Cleva', 'Clevie', 'Cliffie', 'Cloe', 'Clora', 'Clotilda', - 'Clotilde', 'Clyda', 'Clydie', 'Clytie', 'Coleen', 'Coletta', 'Colette', - 'Colleen', 'Collette', 'Columbia', 'Concepcion', 'Concetta', 'Concha', - 'Connie', 'Constance', 'Consuela', 'Consuelo', 'Contina', 'Cora', - 'Coraima', 'Coral', 'Coralie', 'Corda', 'Cordelia', 'Cordella', - 'Cordia', 'Cordie', 'Corean', 'Corene', 'Coretta', 'Corey', 'Cori', - 'Corie', 'Corina', 'Corine', 'Corinna', 'Corinne', 'Corliss', - 'Cornelia', 'Cornie', 'Corrie', 'Corrina', 'Corrine', 'Cortney', 'Cory', - 'Courtney', 'Creola', 'Cressie', 'Crete', 'Crissie', 'Crissy', 'Crista', - 'Cristal', 'Cristen', 'Cristi', 'Cristin', 'Cristina', 'Cristine', - 'Cristy', 'Cruz', 'Crysta', 'Crystal', 'Cuba', 'Cydney', 'Cyndi', - 'Cyntha', 'Cynthia', 'Dafne', 'Dagmar', 'Dagny', 'Dahlia', 'Daija', - 'Daijah', 'Daisey', 'Daisha', 'Daisie', 'Daisy', 'Daisye', 'Daja', - 'Dakota', 'Dale', 'Dalia', 'Dallas', 'Damaris', 'Dana', 'Danae', - 'Daneen', 'Danelle', 'Danette', 'Dani', 'Dania', 'Danica', 'Daniela', - 'Daniele', 'Daniella', 'Danielle', 'Danika', 'Danita', 'Danna', - 'Dannie', 'Dannielle', 'Danyel', 'Danyell', 'Danyelle', 'Daphne', - 'Dara', 'Darby', 'Darci', 'Darcie', 'Darcy', 'Daria', 'Darian', - 'Dariana', 'Darla', 'Darleen', 'Darlene', 'Darline', 'Darlyne', 'Dasia', - 'Davina', 'Dawn', 'Dawna', 'Dawne', 'Dayami', 'Dayana', 'Dayanara', - 'Dayle', 'Dayna', 'Dayse', 'Deana', 'Deandra', 'Deann', 'Deanna', - 'Deanne', 'Deasia', 'Deb', 'Debbi', 'Debbie', 'Debbra', 'Debby', - 'Debera', 'Debi', 'Debora', 'Deborah', 'Deborrah', 'Debra', 'Debrah', - 'Debroah', 'Dedra', 'Dee', 'Deeann', 'Deedee', 'Deena', 'Deetta', - 'Deidra', 'Deidre', 'Deirdre', 'Deja', 'Dejah', 'Delaney', 'Delcie', - 'Delfina', 'Delia', 'Deliah', 'Delila', 'Delilah', 'Delina', 'Delinda', - 'Delisa', 'Dell', 'Della', 'Dellar', 'Delle', 'Dellia', 'Dellie', - 'Delma', 'Delois', 'Delora', 'Delores', 'Deloris', 'Delpha', 'Delphia', - 'Delphine', 'Delsie', 'Delta', 'Dema', 'Demetra', 'Demetria', 'Demi', - 'Dena', 'Deneen', 'Denese', 'Denice', 'Denine', 'Denise', 'Denisha', - 'Denisse', 'Denita', 'Dennie', 'Desirae', 'Desiree', 'Dessa', 'Dessie', - 'Destany', 'Destinee', 'Destiney', 'Destini', 'Destiny', 'Devan', - 'Devin', 'Devon', 'Devyn', 'Dewey', 'Deyanira', 'Dezzie', 'Diamond', - 'Dian', 'Diana', 'Diandra', 'Diane', 'Diann', 'Dianna', 'Dianne', - 'Dicie', 'Dicy', 'Dillie', 'Dimple', 'Dina', 'Dinah', 'Dione', 'Dionne', - 'Dixie', 'Diya', 'Djuana', 'Djuna', 'Docia', 'Dola', 'Dollie', 'Dolly', - 'Dollye', 'Dolores', 'Doloris', 'Domenica', 'Dominga', 'Dominique', - 'Dominque', 'Domonique', 'Dona', 'Donia', 'Donie', 'Donita', 'Donna', - 'Donnie', 'Dora', 'Dorathea', 'Dorathy', 'Dorcas', 'Doreen', 'Dorene', - 'Doretha', 'Doretta', 'Dori', 'Dorinda', 'Dorine', 'Doris', 'Dorla', - 'Dorotha', 'Dorothea', 'Dorothy', 'Dorris', 'Dortha', 'Dorthea', - 'Dorthey', 'Dorthy', 'Dosha', 'Doshia', 'Doshie', 'Dosia', 'Dossie', - 'Dot', 'Dottie', 'Dotty', 'Dove', 'Dovie', 'Drema', 'Drew', 'Drucilla', - 'Drusilla', 'Dulce', 'Dulcie', 'Dusty', 'Dwan', 'Dyan', 'Dylan', - 'Earlean', 'Earlene', 'Earlie', 'Earline', 'Earnestine', 'Eartha', - 'Easter', 'Eathel', 'Ebba', 'Eboni', 'Ebony', 'Echo', 'Eda', 'Eddie', - 'Eden', 'Edie', 'Edith', 'Edla', 'Edmonia', 'Edna', 'Ednah', 'Edra', - 'Edrie', 'Edris', 'Edwina', 'Edyth', 'Edythe', 'Effa', 'Effie', - 'Eileen', 'Eithel', 'Ela', 'Elaina', 'Elaine', 'Elana', 'Elayne', - 'Elba', 'Elberta', 'Elda', 'Eldora', 'Eleanor', 'Eleanora', 'Eleanore', - 'Elease', 'Electa', 'Elena', 'Elenor', 'Elenora', 'Elenore', 'Eleonora', - 'Eleonore', 'Elfie', 'Elfreda', 'Elfrieda', 'Elgie', 'Elia', 'Eliana', - 'Elianna', 'Elida', 'Elinor', 'Elinore', 'Elisa', 'Elisabeth', 'Elise', - 'Elisha', 'Elissa', 'Eliza', 'Elizabet', 'Elizabeth', 'Elizbeth', - 'Elizebeth', 'Ella', 'Ellamae', 'Ellar', 'Elle', 'Ellen', 'Eller', - 'Elliana', 'Ellie', 'Ellyn', 'Elma', 'Elmina', 'Elmira', 'Elmire', - 'Elmyra', 'Elna', 'Elnora', 'Elodie', 'Elois', 'Eloisa', 'Eloise', - 'Elouise', 'Elsa', 'Else', 'Elsie', 'Elta', 'Elva', 'Elvera', 'Elvia', - 'Elvie', 'Elvina', 'Elvira', 'Elwanda', 'Elyse', 'Elyssa', 'Elza', - 'Elzada', 'Ema', 'Emaline', 'Ember', 'Emelia', 'Emelie', 'Emeline', - 'Emely', 'Emerald', 'Emerson', 'Emery', 'Emilee', 'Emilia', 'Emilie', - 'Emily', 'Emma', 'Emmalee', 'Emmaline', 'Emmer', 'Emmie', 'Emmy', - 'Emogene', 'Ena', 'Enid', 'Enola', 'Enriqueta', 'Eola', 'Eppie', - 'Epsie', 'Era', 'Erica', 'Ericka', 'Erie', 'Erika', 'Erin', 'Eris', - 'Erla', 'Erlene', 'Erlinda', 'Erline', 'Erma', 'Ermina', 'Ermine', - 'Erna', 'Ernestina', 'Ernestine', 'Erykah', 'Eryn', 'Esmeralda', - 'Esperanza', 'Essa', 'Essence', 'Essie', 'Esta', 'Estefani', - 'Estefania', 'Estefany', 'Estela', 'Estell', 'Estella', 'Estelle', - 'Ester', 'Esther', 'Estie', 'Estrella', 'Etha', 'Ethel', 'Ethelene', - 'Ethelyn', 'Ether', 'Ethie', 'Ethyl', 'Ethyle', 'Etna', 'Etta', 'Etter', - 'Ettie', 'Eudora', 'Eugenia', 'Eugenie', 'Eula', 'Eulah', 'Eulalia', - 'Eulalie', 'Euna', 'Eunice', 'Euphemia', 'Eura', 'Eva', 'Evalena', - 'Evaline', 'Evalyn', 'Evangelina', 'Evangeline', 'Eve', 'Evelena', - 'Evelin', 'Evelina', 'Eveline', 'Evelyn', 'Evelyne', 'Evelynn', 'Ever', - 'Evette', 'Evia', 'Evie', 'Evita', 'Evon', 'Evonne', 'Exa', 'Exie', - 'Fabiola', 'Fae', 'Fairy', 'Faith', 'Fallon', 'Falon', 'Fannie', - 'Fanny', 'Fannye', 'Farah', 'Farrah', 'Fatima', 'Fawn', 'Fay', 'Faye', - 'Felecia', 'Felice', 'Felicia', 'Felicie', 'Felicitas', 'Felicity', - 'Felipa', 'Felisha', 'Fern', 'Fernanda', 'Ferne', 'Fidelia', 'Filomena', - 'Finley', 'Fiona', 'Flavia', 'Fleda', 'Fleeta', 'Fleta', 'Flo', - 'Flonnie', 'Flor', 'Flora', 'Florance', 'Florence', 'Florene', - 'Floretta', 'Florida', 'Florie', 'Florine', 'Florrie', 'Flossie', - 'Floy', 'Fonda', 'Forest', 'Fran', 'Franc', 'Frances', 'Francesca', - 'Francies', 'Francina', 'Francine', 'Francis', 'Francisca', - 'Francisquita', 'Frankie', 'Freda', 'Freddie', 'Frederica', - 'Fredericka', 'Freeda', 'Freida', 'Frida', 'Frieda', 'Frona', 'Fronia', - 'Fronie', 'Fronnie', 'Fumiko', 'Gabriela', 'Gabriella', 'Gabrielle', - 'Gail', 'Gale', 'Galilea', 'Garnet', 'Garnett', 'Gay', 'Gaye', 'Gayla', - 'Gayle', 'Gaylene', 'Gaynell', 'Gearldine', 'Gemma', 'Gena', 'Gene', - 'Genesis', 'Geneva', 'Genevieve', 'Genevra', 'Genie', 'Gennie', - 'Genoveva', 'Georganna', 'Georgeann', 'Georgeanna', 'Georgene', - 'Georgetta', 'Georgette', 'Georgia', 'Georgiana', 'Georgiann', - 'Georgianna', 'Georgie', 'Georgina', 'Georgine', 'Geraldine', 'Geralyn', - 'Gerda', 'Geri', 'Germaine', 'Gerri', 'Gerry', 'Gertha', 'Gertie', - 'Gertrude', 'Gia', 'Giada', 'Giana', 'Gianna', 'Gidget', 'Gigi', - 'Gilda', 'Gillian', 'Gillie', 'Gina', 'Ginger', 'Ginny', 'Giovanna', - 'Girtha', 'Gisele', 'Giselle', 'Gisselle', 'Giuliana', 'Gladis', - 'Gladyce', 'Gladys', 'Glenda', 'Glendora', 'Glenn', 'Glenna', 'Glennie', - 'Glennis', 'Glinda', 'Gloria', 'Glynda', 'Glynis', 'Golda', 'Golden', - 'Goldia', 'Goldie', 'Grace', 'Gracelyn', 'Gracia', 'Gracie', 'Graciela', - 'Grayce', 'Grecia', 'Gregoria', 'Greta', 'Gretchen', 'Gretta', 'Grisel', - 'Griselda', 'Guadalupe', 'Gunda', 'Gussie', 'Gusta', 'Gustie', 'Gwen', - 'Gwenda', 'Gwendolyn', 'Gwyn', 'Gwyneth', 'Hadassah', 'Hadley', - 'Hailee', 'Hailey', 'Hailie', 'Haleigh', 'Haley', 'Hali', 'Halie', - 'Halle', 'Halley', 'Hallie', 'Hana', 'Hanna', 'Hannah', 'Harlene', - 'Harley', 'Harlow', 'Harmony', 'Harper', 'Harriet', 'Harriett', - 'Harriette', 'Haruko', 'Hasel', 'Hassie', 'Hattie', 'Haven', 'Hayden', - 'Haylee', 'Hayleigh', 'Hayley', 'Haylie', 'Hazel', 'Hazelle', 'Hazle', - 'Heather', 'Heaven', 'Hedwig', 'Hedy', 'Heidi', 'Heidy', 'Helaine', - 'Helen', 'Helena', 'Helene', 'Helga', 'Hellen', 'Helma', 'Helyn', - 'Hennie', 'Henretta', 'Henrietta', 'Henriette', 'Herlinda', 'Herma', - 'Hermina', 'Hermine', 'Herminia', 'Hertha', 'Hessie', 'Hester', - 'Hettie', 'Hetty', 'Hilah', 'Hilary', 'Hilda', 'Hildegard', - 'Hildegarde', 'Hildred', 'Hildur', 'Hillary', 'Hilma', 'Holli', - 'Hollie', 'Hollis', 'Holly', 'Honora', 'Hope', 'Hortencia', 'Hortense', - 'Hortensia', 'Hulda', 'Huldah', 'Hunter', 'Ica', 'Icey', 'Icie', 'Icy', - 'Ida', 'Idabelle', 'Idamae', 'Idell', 'Idella', 'Iesha', 'Ieshia', - 'Ila', 'Ilah', 'Ilda', 'Ilene', 'Iliana', 'Illa', 'Ilma', 'Ilo', - 'Ilona', 'Ima', 'Imani', 'Imelda', 'Imo', 'Imogene', 'Ina', 'India', - 'Indiana', 'Inell', 'Ines', 'Inez', 'Infant', 'Inga', 'Ingeborg', - 'Inger', 'Ingrid', 'Iola', 'Iona', 'Ione', 'Ira', 'Ireland', 'Irena', - 'Irene', 'Iridian', 'Irine', 'Iris', 'Irma', 'Irva', 'Isa', 'Isabel', - 'Isabela', 'Isabell', 'Isabella', 'Isabelle', 'Isadora', 'Isamar', - 'Isis', 'Isla', 'Isobel', 'Itzel', 'Iva', 'Ivah', 'Ivana', 'Ivanna', - 'Ivette', 'Ivey', 'Ivie', 'Ivonne', 'Ivory', 'Ivy', 'Iyana', 'Iyanna', - 'Iza', 'Izabella', 'Izabelle', 'Izetta', 'Izola', 'Izora', 'Jacalyn', - 'Jacey', 'Jackeline', 'Jacki', 'Jackie', 'Jacklyn', 'Jaclyn', 'Jacque', - 'Jacquelin', 'Jacqueline', 'Jacquelyn', 'Jacquline', 'Jacqulyn', 'Jada', - 'Jade', 'Jaden', 'Jadyn', 'Jaeda', 'Jaelyn', 'Jaelynn', 'Jaida', - 'Jaiden', 'Jaidyn', 'Jailene', 'Jailyn', 'Jaime', 'Jaimee', 'Jakayla', - 'Jaleesa', 'Jalisa', 'Jalissa', 'Jaliyah', 'Jalyn', 'Jalynn', 'Jamey', - 'Jami', 'Jamie', 'Jamila', 'Jamiya', 'Jammie', 'Jamya', 'Jan', 'Jana', - 'Janae', 'Janay', 'Jane', 'Janeen', 'Janel', 'Janell', 'Janelle', - 'Janene', 'Janessa', 'Janet', 'Janette', 'Janey', 'Janiah', 'Janice', - 'Janie', 'Janine', 'Janis', 'Janiya', 'Janiyah', 'Jann', 'Janna', - 'Jannette', 'Jannie', 'January', 'Janyce', 'Jaquelin', 'Jaqueline', - 'Jaslene', 'Jaslyn', 'Jasmin', 'Jasmine', 'Jasmyn', 'Jasmyne', - 'Jaunita', 'Jaycee', 'Jaycie', 'Jayda', 'Jayde', 'Jayden', 'Jaye', - 'Jayla', 'Jaylah', 'Jaylee', 'Jayleen', 'Jaylen', 'Jaylene', 'Jaylin', - 'Jaylyn', 'Jaylynn', 'Jayme', 'Jayne', 'Jazlene', 'Jazlyn', 'Jazlynn', - 'Jazmin', 'Jazmine', 'Jazmyn', 'Jazmyne', 'Jean', 'Jeana', 'Jeane', - 'Jeanetta', 'Jeanette', 'Jeanie', 'Jeanine', 'Jeanmarie', 'Jeanna', - 'Jeanne', 'Jeannette', 'Jeannie', 'Jeannine', 'Jeffie', 'Jemima', - 'Jena', 'Jenelle', 'Jenifer', 'Jenilee', 'Jenna', 'Jennette', 'Jenni', - 'Jennie', 'Jennifer', 'Jenniffer', 'Jenny', 'Jensen', 'Jeraldine', - 'Jeri', 'Jerica', 'Jerilyn', 'Jerilynn', 'Jerri', 'Jerrica', 'Jerrie', - 'Jerrilyn', 'Jerusha', 'Jeryl', 'Jesenia', 'Jesica', 'Jesse', - 'Jessenia', 'Jessi', 'Jessica', 'Jessie', 'Jessika', 'Jessye', 'Jetta', - 'Jettie', 'Jewel', 'Jewell', 'Jill', 'Jillian', 'Jimena', 'Jinnie', - 'Jo', 'Joan', 'Joana', 'Joanie', 'Joann', 'Joanna', 'Joanne', 'Jocelyn', - 'Jocelyne', 'Jocelynn', 'Jodi', 'Jodie', 'Jody', 'Joell', 'Joella', - 'Joelle', 'Joellen', 'Joetta', 'Joette', 'Johana', 'Johanna', - 'Johannah', 'Johnie', 'Johnna', 'Johnnie', 'Joi', 'Joleen', 'Jolene', - 'Jolette', 'Jolie', 'Joline', 'Jonell', 'Joni', 'Jonna', 'Jonnie', - 'Jordan', 'Jordin', 'Jordyn', 'Joretta', 'Jorja', 'Josefa', 'Josefina', - 'Josefita', 'Joselin', 'Joseline', 'Joselyn', 'Josephine', 'Josette', - 'Josie', 'Josiephine', 'Joslyn', 'Jossie', 'Journey', 'Jovita', 'Joy', - 'Joyce', 'Joycelyn', 'Joye', 'Juana', 'Juanita', 'Judi', 'Judie', - 'Judith', 'Judy', 'Judyth', 'Jule', 'Juli', 'Julia', 'Juliana', - 'Juliann', 'Julianna', 'Julianne', 'Julie', 'Juliet', 'Juliette', - 'Julisa', 'Julissa', 'June', 'Junia', 'Junie', 'Justice', 'Justina', - 'Justine', 'Kaaren', 'Kacey', 'Kaci', 'Kacie', 'Kacy', 'Kadence', - 'Kadijah', 'Kaela', 'Kaelyn', 'Kaelynn', 'Kaia', 'Kaila', 'Kailee', - 'Kailey', 'Kailyn', 'Kaitlin', 'Kaitlyn', 'Kaitlynn', 'Kaiya', 'Kala', - 'Kaleena', 'Kaleigh', 'Kalene', 'Kaley', 'Kali', 'Kalie', 'Kaliyah', - 'Kallie', 'Kalyn', 'Kamari', 'Kameron', 'Kami', 'Kamila', 'Kamilah', - 'Kamora', 'Kamryn', 'Kamya', 'Kandace', 'Kandi', 'Kandice', 'Kandy', - 'Kanesha', 'Kanisha', 'Kara', 'Karan', 'Karel', 'Karen', 'Kari', - 'Karie', 'Karin', 'Karina', 'Karis', 'Karissa', 'Karla', 'Karlee', - 'Karlene', 'Karley', 'Karli', 'Karlie', 'Karly', 'Karma', 'Karol', - 'Karolyn', 'Karon', 'Karren', 'Karri', 'Karrie', 'Karsyn', 'Karyl', - 'Karyme', 'Karyn', 'Kasandra', 'Kasey', 'Kasie', 'Kassandra', 'Kassidy', - 'Kassie', 'Katarina', 'Kate', 'Katelin', 'Katelyn', 'Katelynn', - 'Katerina', 'Kathaleen', 'Katharina', 'Katharine', 'Katharyn', - 'Katherin', 'Katherine', 'Kathern', 'Katheryn', 'Kathey', 'Kathi', - 'Kathie', 'Kathleen', 'Kathlene', 'Kathlyn', 'Kathrine', 'Kathryn', - 'Kathryne', 'Kathy', 'Kathyrn', 'Kati', 'Katia', 'Katie', 'Katina', - 'Katlin', 'Katlyn', 'Katlynn', 'Katrina', 'Kattie', 'Katy', 'Kay', - 'Kaya', 'Kaycee', 'Kayden', 'Kaydence', 'Kaye', 'Kayla', 'Kaylah', - 'Kaylan', 'Kaylee', 'Kayleen', 'Kayleigh', 'Kaylen', 'Kaylene', - 'Kayley', 'Kayli', 'Kaylie', 'Kaylin', 'Kaylyn', 'Kaylynn', 'Kazuko', - 'Keanna', 'Keara', 'Kecia', 'Keeley', 'Keely', 'Keena', 'Keesha', - 'Keila', 'Keira', 'Keisha', 'Kelcie', 'Keli', 'Kelis', 'Kellee', - 'Kelley', 'Kelli', 'Kellie', 'Kelly', 'Kelsea', 'Kelsey', 'Kelsi', - 'Kelsie', 'Kendal', 'Kendall', 'Kendra', 'Kenia', 'Kenisha', 'Kenley', - 'Kenna', 'Kennedi', 'Kennedy', 'Kenya', 'Kenyatta', 'Kenzie', 'Keri', - 'Kerri', 'Kerrie', 'Kerry', 'Kesha', 'Keshia', 'Keyla', 'Khadijah', - 'Khalilah', 'Khloe', 'Kia', 'Kiana', 'Kianna', 'Kiara', 'Kiarra', - 'Kiera', 'Kierra', 'Kiersten', 'Kiley', 'Kim', 'Kimber', 'Kimberely', - 'Kimberlee', 'Kimberley', 'Kimberli', 'Kimberlie', 'Kimberly', 'Kimora', - 'Kindra', 'Kinley', 'Kinsey', 'Kinsley', 'Kira', 'Kirsten', 'Kirstie', - 'Kirstin', 'Kisha', 'Kittie', 'Kitty', 'Kiya', 'Kiyoko', 'Kizzie', - 'Kizzy', 'Kloe', 'Kori', 'Kortney', 'Kourtney', 'Kris', 'Krissy', - 'Krista', 'Kristal', 'Kristan', 'Kristen', 'Kristi', 'Kristian', - 'Kristie', 'Kristin', 'Kristina', 'Kristine', 'Kristy', 'Kristyn', - 'Krysta', 'Krystal', 'Krysten', 'Krystin', 'Krystina', 'Krystle', 'Kya', - 'Kyara', 'Kyla', 'Kylah', 'Kyle', 'Kylee', 'Kyleigh', 'Kylene', 'Kylie', - 'Kyra', 'Kyrie', 'Lacey', 'Laci', 'Lacie', 'Lacy', 'Ladonna', 'Lady', - 'Lahoma', 'Laila', 'Lailah', 'Lainey', 'Laisha', 'Lakeisha', 'Laken', - 'Lakendra', 'Lakesha', 'Lakeshia', 'Lakisha', 'Lala', 'Lalla', 'Lana', - 'Lanette', 'Laney', 'Lani', 'Lanie', 'Lanita', 'Lannie', 'Laquita', - 'Lara', 'Larae', 'Laraine', 'Larissa', 'Larue', 'Lashanda', 'Lashawn', - 'Lashonda', 'Lashunda', 'Lasonya', 'Lassie', 'Latanya', 'Latarsha', - 'Latasha', 'Latesha', 'Latifah', 'Latisha', 'Latonia', 'Latonya', - 'Latoria', 'Latosha', 'Latoya', 'Latoyia', 'Latrice', 'Latricia', - 'Latrina', 'Launa', 'Laura', 'Laureen', 'Laurel', 'Lauren', 'Laurene', - 'Lauretta', 'Laurette', 'Lauri', 'Laurie', 'Laurine', 'Lauryn', - 'Lavada', 'Lavelle', 'Lavenia', 'Lavera', 'Lavern', 'Laverna', - 'Laverne', 'Lavina', 'Lavinia', 'Lavon', 'Lavona', 'Lavonda', 'Lavonia', - 'Lavonne', 'Lawanda', 'Layla', 'Laylah', 'Lea', 'Leafy', 'Leah', - 'Leala', 'Leana', 'Leandra', 'Leaner', 'Leann', 'Leanna', 'Leanne', - 'Leatha', 'Leatrice', 'Leda', 'Lee', 'Leeann', 'Leesa', 'Leia', 'Leigh', - 'Leighton', 'Leila', 'Leilani', 'Leisa', 'Leisha', 'Leitha', 'Lela', - 'Lelah', 'Lelar', 'Lelia', 'Lella', 'Lemma', 'Lempi', 'Lena', 'Lenna', - 'Lennie', 'Lenora', 'Lenore', 'Leola', 'Leoma', 'Leona', 'Leone', - 'Leonia', 'Leonie', 'Leonor', 'Leonora', 'Leonore', 'Leontine', 'Leora', - 'Leota', 'Lera', 'Lesa', 'Lesia', 'Leslee', 'Lesley', 'Lesli', 'Leslie', - 'Lesly', 'Lessie', 'Lesta', 'Leta', 'Letha', 'Lethia', 'Leticia', - 'Letitia', 'Letta', 'Lettie', 'Letty', 'Leva', 'Levina', 'Lexi', - 'Lexie', 'Lexis', 'Lexus', 'Leyla', 'Lia', 'Liana', 'Liane', 'Libbie', - 'Libby', 'Liberty', 'Lida', 'Liddie', 'Lidia', 'Lidie', 'Lila', 'Lilah', - 'Lilia', 'Lilian', 'Liliana', 'Lilianna', 'Lilie', 'Lilla', 'Liller', - 'Lillia', 'Lillian', 'Lilliana', 'Lillianna', 'Lillie', 'Lillis', - 'Lilly', 'Lily', 'Lilyan', 'Lilyana', 'Lilyanna', 'Lina', 'Linda', - 'Lindsay', 'Lindsey', 'Lindy', 'Linette', 'Linna', 'Linnea', 'Linnie', - 'Linsey', 'Lisa', 'Lisbeth', 'Lise', 'Lisette', 'Lisha', 'Lissa', - 'Lissette', 'Lissie', 'Lita', 'Litha', 'Littie', 'Litzy', 'Livia', - 'Liz', 'Liza', 'Lizabeth', 'Lizbeth', 'Lizeth', 'Lizette', 'Lizzie', - 'Lockie', 'Loda', 'Logan', 'Lois', 'Lola', 'Lolita', 'Lolla', 'Lollie', - 'Loma', 'Lona', 'London', 'Londyn', 'Loni', 'Lonie', 'Lonna', 'Lonnie', - 'Lora', 'Loraine', 'Lorayne', 'Lorean', 'Loree', 'Loreen', 'Lorelai', - 'Lorelei', 'Loren', 'Lorena', 'Lorene', 'Lorenza', 'Loretta', 'Loretto', - 'Lori', 'Loria', 'Loriann', 'Lorie', 'Lorinda', 'Lorine', 'Loris', - 'Lorna', 'Lorraine', 'Lorrayne', 'Lorri', 'Lorrie', 'Lossie', 'Lota', - 'Lotta', 'Lottie', 'Lou', 'Louann', 'Louanna', 'Louella', 'Louetta', - 'Louie', 'Louisa', 'Louise', 'Louisiana', 'Loula', 'Lourdes', - 'Louvenia', 'Love', 'Lovey', 'Lovie', 'Lovina', 'Lovisa', 'Loyce', 'Lu', - 'Luana', 'Luann', 'Luanne', 'Luberta', 'Lucero', 'Lucetta', 'Lucia', - 'Luciana', 'Lucie', 'Lucile', 'Lucille', 'Lucina', 'Lucinda', 'Lucindy', - 'Lucretia', 'Lucy', 'Luda', 'Ludie', 'Lue', 'Luella', 'Luetta', - 'Lugenia', 'Luisa', 'Lula', 'Lulah', 'Lular', 'Lulie', 'Lulla', 'Lulu', - 'Luna', 'Lupe', 'Lura', 'Lurana', 'Lurena', 'Lurline', 'Lutie', - 'Luvenia', 'Luverne', 'Luvinia', 'Luz', 'Lyda', 'Lydia', 'Lyla', - 'Lylah', 'Lyn', 'Lynda', 'Lyndia', 'Lyndsay', 'Lyndsey', 'Lynette', - 'Lynn', 'Lynne', 'Lynnette', 'Lynsey', 'Lyric', 'Mabel', 'Mabell', - 'Mabelle', 'Mable', 'Macel', 'Macey', 'Machelle', 'Maci', 'Macie', - 'Mackenzie', 'Macy', 'Madaline', 'Madalyn', 'Madalynn', 'Maddison', - 'Madeleine', 'Madelene', 'Madeline', 'Madelyn', 'Madelynn', 'Madge', - 'Madie', 'Madilyn', 'Madilynn', 'Madisen', 'Madison', 'Madisyn', - 'Madlyn', 'Madonna', 'Madora', 'Madyson', 'Mae', 'Maebell', 'Maebelle', - 'Maegan', 'Maeve', 'Mafalda', 'Magan', 'Magdalen', 'Magdalena', - 'Magdalene', 'Magen', 'Maggie', 'Magnolia', 'Mahala', 'Mahalia', - 'Mahalie', 'Mai', 'Maia', 'Maida', 'Maira', 'Maiya', 'Makaila', - 'Makala', 'Makayla', 'Makena', 'Makenna', 'Makenzie', 'Malaya', - 'Maleah', 'Malia', 'Maliah', 'Malinda', 'Malissa', 'Malissie', - 'Maliyah', 'Mallie', 'Mallorie', 'Mallory', 'Malorie', 'Malvina', - 'Mame', 'Mamie', 'Mammie', 'Manda', 'Mandi', 'Mandie', 'Mandy', - 'Manerva', 'Manervia', 'Manie', 'Manila', 'Manilla', 'Mannie', - 'Manuela', 'Manuelita', 'Mara', 'Maralyn', 'Maranda', 'Marcela', - 'Marcelina', 'Marceline', 'Marcella', 'Marcelle', 'Marci', 'Marcia', - 'Marcie', 'Marcy', 'Mardell', 'Mareli', 'Marely', 'Maren', 'Margaret', - 'Margarete', 'Margaretha', 'Margarett', 'Margaretta', 'Margarette', - 'Margarita', 'Margarite', 'Marge', 'Margene', 'Margeret', 'Margery', - 'Marget', 'Margie', 'Margo', 'Margot', 'Margret', 'Margrett', - 'Margretta', 'Marguerite', 'Margueritte', 'Margurite', 'Margy', 'Mari', - 'Maria', 'Mariah', 'Mariam', 'Marian', 'Mariana', 'Marianita', - 'Mariann', 'Marianna', 'Marianne', 'Maribel', 'Maribeth', 'Maricela', - 'Marie', 'Mariel', 'Mariela', 'Marietta', 'Marilee', 'Marilla', - 'Marilou', 'Marilyn', 'Marilynn', 'Marin', 'Marina', 'Marinda', - 'Marion', 'Marisa', 'Marisela', 'Marisol', 'Marissa', 'Marita', - 'Maritza', 'Mariyah', 'Marjorie', 'Marjory', 'Markita', 'Marla', - 'Marlana', 'Marlee', 'Marleen', 'Marleigh', 'Marlen', 'Marlena', - 'Marlene', 'Marley', 'Marlie', 'Marlo', 'Marlyn', 'Marlys', 'Marni', - 'Marnie', 'Marnita', 'Marolyn', 'Marquita', 'Marry', 'Marsha', 'Marta', - 'Martha', 'Marti', 'Martika', 'Martina', 'Martine', 'Marty', 'Marva', - 'Marvel', 'Mary', 'Maryam', 'Maryann', 'Maryanne', 'Marybelle', - 'Marybeth', 'Maryellen', 'Maryjane', 'Maryjo', 'Marylee', 'Marylin', - 'Marylou', 'Marylouise', 'Marylyn', 'Masako', 'Mathilda', 'Mathilde', - 'Matie', 'Matilda', 'Matilde', 'Mattie', 'Mattye', 'Maud', 'Maude', - 'Maudie', 'Maura', 'Maureen', 'Maurine', 'Mavis', 'Maxie', 'Maxine', - 'May', 'Maya', 'Maybell', 'Maybelle', 'Maye', 'Mayme', 'Maymie', - 'Mayra', 'Mazie', 'Mckayla', 'Mckenna', 'Mckenzie', 'Mckinley', - 'Meadow', 'Meagan', 'Meaghan', 'Mechelle', 'Meda', 'Media', 'Medora', - 'Meg', 'Megan', 'Meggan', 'Meghan', 'Meghann', 'Melanie', 'Melany', - 'Melba', 'Melina', 'Melinda', 'Melisa', 'Melissa', 'Melissia', 'Mell', - 'Mellie', 'Mellisa', 'Mellissa', 'Melodee', 'Melodie', 'Melody', - 'Melonie', 'Melony', 'Melva', 'Melvina', 'Mena', 'Mendy', 'Mercedes', - 'Mercy', 'Meredith', 'Merilyn', 'Merle', 'Merlene', 'Merna', 'Merri', - 'Merrie', 'Merrilee', 'Merrily', 'Merry', 'Mertie', 'Meryl', 'Meta', - 'Metha', 'Metta', 'Mettie', 'Mia', 'Miah', 'Micaela', 'Micah', - 'Micayla', 'Michaela', 'Michaele', 'Michal', 'Michele', 'Michelina', - 'Michell', 'Michelle', 'Mickey', 'Mickie', 'Miesha', 'Migdalia', - 'Mignon', 'Mikaela', 'Mikaila', 'Mikala', 'Mikalah', 'Mikayla', 'Mila', - 'Milagros', 'Milan', 'Milda', 'Mildred', 'Miley', 'Milissa', - 'Millicent', 'Millie', 'Milly', 'Mima', 'Mimi', 'Mina', 'Minda', - 'Mindi', 'Mindy', 'Minerva', 'Minervia', 'Minna', 'Minnie', 'Minta', - 'Mintie', 'Mira', 'Miracle', 'Miranda', 'Mireya', 'Miriah', 'Miriam', - 'Mirna', 'Mirtie', 'Missie', 'Missouri', 'Missy', 'Misti', 'Mistie', - 'Misty', 'Mittie', 'Mitzi', 'Miya', 'Modena', 'Moesha', 'Moira', - 'Mollie', 'Molly', 'Mona', 'Monica', 'Monika', 'Monique', 'Monna', - 'Monnie', 'Monserrat', 'Montana', 'Montie', 'Mora', 'Morgan', 'Moriah', - 'Mossie', 'Mozell', 'Mozella', 'Mozelle', 'Muriel', 'Murl', 'Mya', - 'Myah', 'Myla', 'Mylee', 'Mylie', 'Myra', 'Myranda', 'Myrl', 'Myrle', - 'Myrna', 'Myrta', 'Myrtice', 'Myrtie', 'Myrtis', 'Myrtle', 'Nada', - 'Nadia', 'Nadine', 'Naima', 'Nakia', 'Nakisha', 'Nakita', 'Nallely', - 'Nan', 'Nana', 'Nanci', 'Nancie', 'Nancy', 'Nanette', 'Nanie', 'Nanna', - 'Nannette', 'Nannie', 'Naoma', 'Naomi', 'Narcissus', 'Natalee', - 'Natalia', 'Natalie', 'Nataly', 'Natalya', 'Natasha', 'Nathalia', - 'Nathalie', 'Nathaly', 'Natosha', 'Nautica', 'Nayeli', 'Nayely', - 'Nealie', 'Nealy', 'Nedra', 'Neha', 'Nelda', 'Nelia', 'Nelie', 'Nell', - 'Nella', 'Nelle', 'Nellie', 'Nelly', 'Nena', 'Neola', 'Neoma', 'Neppie', - 'Nereida', 'Neta', 'Netta', 'Nettie', 'Neva', 'Nevada', 'Nevaeh', - 'Neveah', 'Nia', 'Nichelle', 'Nichol', 'Nichole', 'Nicki', 'Nicola', - 'Nicole', 'Nicolette', 'Nicolle', 'Niki', 'Nikia', 'Nikita', 'Nikki', - 'Nikole', 'Nila', 'Nilda', 'Nina', 'Ninnie', 'Nira', 'Nita', 'Nobie', - 'Noel', 'Noelia', 'Noelle', 'Noemi', 'Noemie', 'Nohely', 'Nola', - 'Nolia', 'Nolie', 'Noma', 'Nona', 'Nonie', 'Nora', 'Norah', 'Noreen', - 'Norene', 'Noreta', 'Noretta', 'Norine', 'Norita', 'Norma', 'Nova', - 'Novella', 'Nya', 'Nyah', 'Nyasia', 'Nyla', 'Nylah', 'Nyree', 'Ocie', - 'Octa', 'Octavia', 'Octavie', 'Oda', 'Odalis', 'Odalys', 'Odelia', - 'Odell', 'Odessa', 'Odette', 'Odie', 'Odile', 'Ofelia', 'Ola', 'Olar', - 'Olena', 'Olene', 'Oleta', 'Olevia', 'Olga', 'Olie', 'Olinda', 'Oline', - 'Oliva', 'Olive', 'Olivia', 'Olivine', 'Ollie', 'Olympia', 'Oma', - 'Omie', 'Ona', 'Oneida', 'Oneta', 'Oney', 'Onie', 'Onnie', 'Opal', - 'Opha', 'Ophelia', 'Ora', 'Orah', 'Oral', 'Oralia', 'Orelia', 'Orene', - 'Orilla', 'Orlena', 'Orma', 'Orpha', 'Orra', 'Orrie', 'Osa', 'Osie', - 'Ossie', 'Ota', 'Otelia', 'Otha', 'Ottie', 'Ottilia', 'Ottilie', - 'Ouida', 'Ova', 'Ozell', 'Ozella', 'Ozie', 'Paige', 'Pairlee', - 'Paisley', 'Paityn', 'Pallie', 'Palma', 'Paloma', 'Pam', 'Pamala', - 'Pamela', 'Pamelia', 'Pamella', 'Pandora', 'Pansy', 'Paola', 'Paralee', - 'Paris', 'Parker', 'Parlee', 'Parthenia', 'Pat', 'Patience', 'Patrica', - 'Patrice', 'Patricia', 'Patsy', 'Patti', 'Pattie', 'Patty', 'Paula', - 'Pauletta', 'Paulette', 'Paulina', 'Pauline', 'Payten', 'Payton', - 'Pearl', 'Pearla', 'Pearle', 'Pearlene', 'Pearlie', 'Pearline', - 'Pearly', 'Peggie', 'Peggy', 'Penelope', 'Penni', 'Pennie', 'Penny', - 'Pepper', 'Perla', 'Permelia', 'Perri', 'Petra', 'Peyton', 'Phebe', - 'Pheobe', 'Phillis', 'Philomena', 'Philomene', 'Phoebe', 'Phoenix', - 'Phylicia', 'Phylis', 'Phyliss', 'Phyllis', 'Pink', 'Pinkey', 'Pinkie', - 'Piper', 'Pluma', 'Pollie', 'Polly', 'Porsche', 'Porsha', 'Portia', - 'Precious', 'Presley', 'Pricilla', 'Princess', 'Priscila', 'Priscilla', - 'Prudence', 'Prudie', 'Qiana', 'Queen', 'Queenie', 'Quiana', 'Quinn', - 'Rachael', 'Racheal', 'Rachel', 'Rachelle', 'Racquel', 'Rae', 'Raegan', - 'Raelyn', 'Raelynn', 'Rafaela', 'Ragna', 'Raina', 'Ramona', 'Randi', - 'Raquel', 'Rashida', 'Raven', 'Rayna', 'Rayne', 'Reagan', 'Reanna', - 'Reatha', 'Reba', 'Rebeca', 'Rebecca', 'Rebekah', 'Reece', 'Reese', - 'Regan', 'Regena', 'Regenia', 'Regina', 'Reilly', 'Reina', 'Rella', - 'Rena', 'Renada', 'Renae', 'Renata', 'Rene', 'Renea', 'Renee', 'Renita', - 'Rennie', 'Ressie', 'Reta', 'Retha', 'Retta', 'Rettie', 'Reva', 'Reyna', - 'Rhea', 'Rheta', 'Rhianna', 'Rhiannon', 'Rhoda', 'Rhona', 'Rhonda', - 'Rianna', 'Richelle', 'Ricki', 'Rihanna', 'Rikki', 'Riley', 'Rilla', - 'Rillie', 'Rinda', 'Risa', 'Rita', 'River', 'Riya', 'Robbie', 'Robbin', - 'Roberta', 'Robin', 'Robyn', 'Rochelle', 'Rocio', 'Roena', 'Rolanda', - 'Roma', 'Romaine', 'Romona', 'Rona', 'Ronda', 'Roni', 'Ronna', 'Ronnie', - 'Rory', 'Rosa', 'Rosabelle', 'Rosalee', 'Rosalia', 'Rosalie', - 'Rosalind', 'Rosalinda', 'Rosaline', 'Rosalyn', 'Rosamond', 'Rosann', - 'Rosanna', 'Rosanne', 'Rosaria', 'Rosario', 'Rose', 'Roseann', - 'Roseanna', 'Roseanne', 'Rosella', 'Roselyn', 'Rosemarie', 'Rosemary', - 'Rosena', 'Rosetta', 'Rosey', 'Rosia', 'Rosie', 'Rosina', 'Rosita', - 'Roslyn', 'Rossie', 'Rosy', 'Rowan', 'Rowena', 'Roxana', 'Roxane', - 'Roxann', 'Roxanna', 'Roxanne', 'Roxie', 'Roxy', 'Rozanne', 'Rozella', - 'Rubi', 'Rubie', 'Ruby', 'Rubye', 'Ruie', 'Ruth', 'Rutha', 'Ruthann', - 'Ruthanne', 'Ruthe', 'Ruthie', 'Ryann', 'Rylan', 'Rylee', 'Ryleigh', - 'Rylie', 'Sabina', 'Sable', 'Sabra', 'Sabrina', 'Sada', 'Sade', 'Sadie', - 'Sadye', 'Sage', 'Saige', 'Salena', 'Salina', 'Sallie', 'Sally', - 'Salma', 'Salome', 'Samantha', 'Samara', 'Samatha', 'Samira', 'Samiyah', - 'Sammie', 'Sanaa', 'Sanai', 'Sandi', 'Sandie', 'Sandra', 'Sandy', - 'Saniya', 'Saniyah', 'Sanjuana', 'Sanjuanita', 'Sannie', 'Santa', - 'Santana', 'Santina', 'Santos', 'Sara', 'Sarah', 'Sarahi', 'Sarai', - 'Sariah', 'Sarina', 'Sarita', 'Sarrah', 'Sasha', 'Saundra', 'Savana', - 'Savanah', 'Savanna', 'Savannah', 'Savilla', 'Scarlet', 'Scarlett', - 'Sebrina', 'Selah', 'Selena', 'Selene', 'Selina', 'Selma', 'Sena', - 'Senora', 'Serena', 'Serenity', 'Serina', 'Shae', 'Shaina', 'Shakira', - 'Shalon', 'Shalonda', 'Shameka', 'Shamika', 'Shana', 'Shanae', 'Shanda', - 'Shandra', 'Shane', 'Shaneka', 'Shanell', 'Shanelle', 'Shanequa', - 'Shani', 'Shania', 'Shanice', 'Shaniece', 'Shanika', 'Shaniqua', - 'Shanita', 'Shaniya', 'Shanna', 'Shannan', 'Shannen', 'Shannon', - 'Shanon', 'Shanta', 'Shante', 'Shantel', 'Shantell', 'Shaquana', - 'Shaquita', 'Shara', 'Shardae', 'Sharday', 'Sharde', 'Sharee', 'Sharen', - 'Shari', 'Sharita', 'Sharla', 'Sharleen', 'Sharlene', 'Sharman', - 'Sharon', 'Sharonda', 'Sharron', 'Sharyl', 'Sharyn', 'Shasta', - 'Shatara', 'Shauna', 'Shaunna', 'Shavon', 'Shavonne', 'Shawanda', - 'Shawna', 'Shawnda', 'Shawnee', 'Shawnna', 'Shawnte', 'Shay', 'Shayla', - 'Shaylee', 'Shayna', 'Shea', 'Sheena', 'Sheila', 'Sheilah', 'Shelba', - 'Shelbi', 'Shelbie', 'Shelby', 'Shelia', 'Shelley', 'Shelli', 'Shellie', - 'Shelly', 'Shelva', 'Shelvia', 'Shelvie', 'Shena', 'Shenna', 'Sheree', - 'Sheri', 'Sheridan', 'Sherie', 'Sherilyn', 'Sherita', 'Sherlyn', - 'Sheron', 'Sherree', 'Sherri', 'Sherrie', 'Sherrill', 'Sherron', - 'Sherry', 'Sherryl', 'Sheryl', 'Sheryll', 'Sheyla', 'Shianne', 'Shiela', - 'Shiloh', 'Shira', 'Shirl', 'Shirlee', 'Shirleen', 'Shirlene', - 'Shirley', 'Shirleyann', 'Shirlie', 'Shona', 'Shonda', 'Shonna', - 'Shreya', 'Shyann', 'Shyanne', 'Shyla', 'Sibbie', 'Sibyl', 'Siddie', - 'Sidney', 'Siena', 'Sienna', 'Sierra', 'Signa', 'Signe', 'Sigrid', - 'Silvia', 'Simona', 'Simone', 'Sina', 'Sinda', 'Siobhan', 'Sister', - 'Sky', 'Skye', 'Skyla', 'Skylar', 'Skyler', 'Sloane', 'Socorro', - 'Sofia', 'Soledad', 'Somer', 'Sommer', 'Sondra', 'Sonia', 'Sonja', - 'Sonji', 'Sonya', 'Sophia', 'Sophie', 'Sophronia', 'Spring', 'Stacey', - 'Staci', 'Stacia', 'Stacie', 'Stacy', 'Star', 'Starla', 'Starr', - 'Stasia', 'Stefani', 'Stefanie', 'Stella', 'Stephaine', 'Stephani', - 'Stephania', 'Stephanie', 'Stephany', 'Stephenie', 'Stevie', 'Stormy', - 'Sudie', 'Sue', 'Suellen', 'Sula', 'Summer', 'Sunday', 'Sunny', - 'Sunshine', 'Susan', 'Susana', 'Susann', 'Susanna', 'Susannah', - 'Susanne', 'Susie', 'Sussie', 'Suzan', 'Suzann', 'Suzanna', 'Suzanne', - 'Suzette', 'Suzie', 'Suzy', 'Sybil', 'Sybilla', 'Syble', 'Sydell', - 'Sydnee', 'Sydney', 'Sydni', 'Sydnie', 'Sylva', 'Sylvania', 'Sylvia', - 'Symone', 'Syreeta', 'Tabatha', 'Tabetha', 'Tabitha', 'Tai', 'Taina', - 'Taja', 'Takisha', 'Talia', 'Taliyah', 'Tamala', 'Tamara', 'Tamatha', - 'Tambra', 'Tameka', 'Tamekia', 'Tamela', 'Tamera', 'Tami', 'Tamia', - 'Tamica', 'Tamie', 'Tamika', 'Tamiko', 'Tamisha', 'Tammi', 'Tammie', - 'Tammy', 'Tamra', 'Tamya', 'Tana', 'Tanesha', 'Tangela', 'Tania', - 'Tanika', 'Tanisha', 'Taniya', 'Taniyah', 'Tanja', 'Tanya', 'Tara', - 'Tarah', 'Taraji', 'Tari', 'Tarsha', 'Taryn', 'Tasha', 'Tashina', - 'Tasia', 'Tatia', 'Tatiana', 'Tatianna', 'Tatum', 'Tatyana', 'Tatyanna', - 'Tawana', 'Tawanda', 'Tawanna', 'Tawny', 'Tawnya', 'Taya', 'Tayla', - 'Tayler', 'Taylor', 'Tea', 'Teagan', 'Teela', 'Teena', 'Tella', - 'Tempie', 'Tena', 'Tenika', 'Tenisha', 'Tennessee', 'Tennie', - 'Tennille', 'Tera', 'Teresa', 'Terese', 'Teressa', 'Teri', 'Terra', - 'Terri', 'Terrie', 'Terry', 'Tess', 'Tessa', 'Tessie', 'Texanna', - 'Texas', 'Texie', 'Thalia', 'Thea', 'Theda', 'Thekla', 'Thelma', - 'Theodocia', 'Theodora', 'Theodosia', 'Theola', 'Theresa', 'Therese', - 'Theresia', 'Theta', 'Thomasina', 'Thora', 'Thresa', 'Thursa', 'Thyra', - 'Tia', 'Tiana', 'Tianna', 'Tiara', 'Tiarra', 'Tiera', 'Tierra', - 'Tiesha', 'Tiffani', 'Tiffanie', 'Tiffany', 'Tilda', 'Tilla', 'Tillie', - 'Tina', 'Tiney', 'Tinie', 'Tinnie', 'Tiny', 'Tisa', 'Tisha', 'Tishie', - 'Tobi', 'Toby', 'Toccara', 'Tomasa', 'Tomeka', 'Tomika', 'Tommie', - 'Tonda', 'Toni', 'Tonia', 'Tonja', 'Tonya', 'Tori', 'Torie', 'Torrie', - 'Tory', 'Tosha', 'Toshiko', 'Towanda', 'Toya', 'Tracee', 'Tracey', - 'Traci', 'Tracie', 'Tracy', 'Treasure', 'Treena', 'Trena', 'Tresa', - 'Tressa', 'Tressie', 'Treva', 'Tricia', 'Trilby', 'Trina', 'Trinidad', - 'Trinity', 'Trish', 'Trisha', 'Trista', 'Tristan', 'Tristen', 'Trudi', - 'Trudie', 'Trudy', 'Trula', 'Tula', 'Twila', 'Twyla', 'Tyesha', 'Tyra', - 'Ula', 'Una', 'Unique', 'Unknown', 'Ura', 'Ursula', 'Vada', 'Val', - 'Valarie', 'Valencia', 'Valentina', 'Valentine', 'Valeria', 'Valerie', - 'Valery', 'Valinda', 'Vallie', 'Valorie', 'Vanesa', 'Vanessa', 'Vannie', - 'Vara', 'Vashti', 'Vassie', 'Veda', 'Vela', 'Velda', 'Velia', 'Vella', - 'Velma', 'Velva', 'Velvet', 'Vena', 'Venessa', 'Venice', 'Venie', - 'Venita', 'Vennie', 'Venus', 'Veola', 'Vera', 'Verda', 'Verdell', - 'Verdie', 'Verena', 'Vergie', 'Verla', 'Verlene', 'Verlie', 'Verna', - 'Verne', 'Vernell', 'Vernelle', 'Vernetta', 'Vernia', 'Vernice', - 'Vernie', 'Vernita', 'Verona', 'Veronica', 'Versa', 'Versie', 'Vertie', - 'Vessie', 'Vesta', 'Veta', 'Veva', 'Vicie', 'Vickey', 'Vicki', 'Vickie', - 'Vicky', 'Victoria', 'Victorine', 'Victory', 'Vicy', 'Vida', 'Vikki', - 'Villa', 'Vilma', 'Vina', 'Vincenza', 'Viney', 'Vinie', 'Vinnie', - 'Viola', 'Violet', 'Violeta', 'Violetta', 'Violette', 'Vira', 'Virdie', - 'Virgia', 'Virgie', 'Virginia', 'Viridiana', 'Vita', 'Viva', 'Vivian', - 'Viviana', 'Vivien', 'Vivienne', 'Vlasta', 'Vonda', 'Vonetta', 'Vonnie', - 'Wanda', 'Waneta', 'Wanita', 'Wava', 'Wende', 'Wendi', 'Wendy', - 'Whitley', 'Whitney', 'Wilda', 'Wilhelmina', 'Wilhelmine', 'Willa', - 'Willene', 'Willia', 'Willie', 'Williemae', 'Willodean', 'Willow', - 'Wilma', 'Windy', 'Winifred', 'Winnie', 'Winnifred', 'Winona', 'Winter', - 'Wynona', 'Xena', 'Ximena', 'Xiomara', 'Yadira', 'Yahaira', 'Yajaira', - 'Yamilet', 'Yamilex', 'Yareli', 'Yaretzi', 'Yaritza', 'Yasmeen', - 'Yasmin', 'Yasmine', 'Yazmin', 'Yesenia', 'Yessenia', 'Yetta', - 'Yolanda', 'Yolonda', 'Yoselin', 'Yoshiko', 'Yuliana', 'Yulisa', - 'Yulissa', 'Yuridia', 'Yvette', 'Yvonne', 'Zada', 'Zadie', 'Zaida', - 'Zana', 'Zandra', 'Zaniyah', 'Zara', 'Zaria', 'Zariah', 'Zela', 'Zelda', - 'Zelia', 'Zella', 'Zelma', 'Zelpha', 'Zena', 'Zenobia', 'Zeta', 'Zetta', - 'Zettie', 'Zhane', 'Zillah', 'Zilpah', 'Zilpha', 'Zina', 'Zion', 'Zita', - 'Zoa', 'Zoe', 'Zoey', 'Zoie', 'Zola', 'Zona', 'Zora', 'Zula', + "Aaliyah", + "Abagail", + "Abbey", + "Abbie", + "Abbigail", + "Abby", + "Abigail", + "Abigale", + "Abigayle", + "Abril", + "Achsah", + "Ada", + "Adah", + "Adaline", + "Adalyn", + "Adalynn", + "Adamaris", + "Adda", + "Addie", + "Addison", + "Addisyn", + "Addyson", + "Adel", + "Adela", + "Adelaide", + "Adele", + "Adelia", + "Adelina", + "Adeline", + "Adell", + "Adella", + "Adelle", + "Adelyn", + "Adelynn", + "Adilene", + "Adina", + "Adison", + "Adline", + "Adria", + "Adriana", + "Adriane", + "Adrianna", + "Adrianne", + "Adriene", + "Adrienne", + "Adyson", + "Affie", + "Afton", + "Agatha", + "Aggie", + "Agnes", + "Agness", + "Agusta", + "Aida", + "Aileen", + "Ailene", + "Aili", + "Aimee", + "Ainsley", + "Aisha", + "Aiyana", + "Aiyanna", + "Aja", + "Akeelah", + "Akira", + "Ala", + "Alabama", + "Alaina", + "Alana", + "Alani", + "Alanna", + "Alannah", + "Alaya", + "Alayna", + "Alba", + "Alberta", + "Albertha", + "Albertina", + "Albertine", + "Albina", + "Alcie", + "Alda", + "Aldona", + "Aleah", + "Alease", + "Alecia", + "Aleen", + "Aleena", + "Alejandra", + "Alena", + "Alene", + "Alesha", + "Alesia", + "Alessandra", + "Aleta", + "Aletha", + "Alethea", + "Alex", + "Alexa", + "Alexandr", + "Alexandra", + "Alexandrea", + "Alexandria", + "Alexia", + "Alexina", + "Alexis", + "Alexus", + "Alexys", + "Alfreda", + "Alia", + "Aliana", + "Alice", + "Alicia", + "Alida", + "Alina", + "Aline", + "Alisa", + "Alisha", + "Alison", + "Alissa", + "Alisson", + "Alivia", + "Aliya", + "Aliyah", + "Aliza", + "Alize", + "Alla", + "Allean", + "Alleen", + "Allena", + "Allene", + "Allie", + "Alline", + "Allison", + "Allisson", + "Ally", + "Allyson", + "Allyssa", + "Alma", + "Almeda", + "Almedia", + "Almeta", + "Almina", + "Almira", + "Almyra", + "Aloma", + "Alondra", + "Alpha", + "Alphonsine", + "Alta", + "Altha", + "Althea", + "Altie", + "Alvena", + "Alvera", + "Alverda", + "Alverta", + "Alvina", + "Alvira", + "Alwilda", + "Alwina", + "Alwine", + "Alyce", + "Alycia", + "Alys", + "Alysa", + "Alyse", + "Alysha", + "Alysia", + "Alyson", + "Alyssa", + "Alyssia", + "Alyvia", + "Alzina", + "Ama", + "Amalia", + "Amalie", + "Amanda", + "Amani", + "Amara", + "Amari", + "Amaris", + "Amaya", + "Amber", + "Amberly", + "Amelia", + "Amelie", + "America", + "Amey", + "Ami", + "Amiah", + "Amie", + "Amina", + "Amira", + "Amirah", + "Amiya", + "Amiyah", + "Amma", + "Ammie", + "Amparo", + "Amy", + "Amya", + "Ana", + "Anabel", + "Anabella", + "Anabelle", + "Anahi", + "Anais", + "Analia", + "Anastacia", + "Anastasia", + "Anaya", + "Andra", + "Andrea", + "Andria", + "Angel", + "Angela", + "Angele", + "Angeles", + "Angelia", + "Angelic", + "Angelica", + "Angelina", + "Angeline", + "Angelique", + "Angelita", + "Angella", + "Angie", + "Anice", + "Anie", + "Anika", + "Anissa", + "Anita", + "Anitra", + "Aniya", + "Aniyah", + "Anjali", + "Anjanette", + "Anjelica", + "Ann", + "Anna", + "Annabel", + "Annabell", + "Annabella", + "Annabelle", + "Annalise", + "Annamae", + "Annamarie", + "Anne", + "Anneliese", + "Annemarie", + "Anner", + "Annetta", + "Annette", + "Annice", + "Annie", + "Annika", + "Annis", + "Annmarie", + "Anona", + "Ansley", + "Antionette", + "Antoinette", + "Antonetta", + "Antonette", + "Antonia", + "Antonina", + "Anya", + "April", + "Ara", + "Arabella", + "Araceli", + "Aracely", + "Arah", + "Araminta", + "Ardath", + "Ardelia", + "Ardell", + "Ardella", + "Ardelle", + "Arden", + "Ardeth", + "Ardis", + "Ardith", + "Ardyce", + "Areli", + "Arely", + "Aretha", + "Argie", + "Aria", + "Ariana", + "Ariane", + "Arianna", + "Arie", + "Ariel", + "Ariella", + "Arielle", + "Arietta", + "Arizona", + "Arkie", + "Arla", + "Arleen", + "Arlena", + "Arlene", + "Arleth", + "Arletta", + "Arley", + "Arlie", + "Arline", + "Arly", + "Arlyne", + "Armani", + "Armida", + "Arminda", + "Arminta", + "Arnetta", + "Arra", + "Arrie", + "Arta", + "Artelia", + "Arvilla", + "Aryana", + "Aryanna", + "Asha", + "Ashanti", + "Ashely", + "Ashlea", + "Ashlee", + "Ashleigh", + "Ashley", + "Ashli", + "Ashlie", + "Ashly", + "Ashlyn", + "Ashlynn", + "Ashtyn", + "Asia", + "Ason", + "Aspen", + "Assunta", + "Astrid", + "Atha", + "Athena", + "Attie", + "Aubree", + "Aubrey", + "Aubrie", + "Audie", + "Audra", + "Audrey", + "Audriana", + "Audrianna", + "Audrina", + "Audry", + "Augusta", + "Augustina", + "Aura", + "Aurelia", + "Aurilla", + "Aurora", + "Aurore", + "Autumn", + "Ava", + "Avah", + "Averi", + "Averie", + "Avie", + "Avis", + "Ayana", + "Ayanna", + "Ayesha", + "Ayla", + "Ayleen", + "Aylin", + "Azalee", + "Azaria", + "Azariah", + "Azul", + "Azzie", + "Babette", + "Baby", + "Bailee", + "Bailey", + "Bama", + "Bambi", + "Barb", + "Barbara", + "Barbie", + "Barbra", + "Baylee", + "Baylie", + "Bea", + "Beadie", + "Beatrice", + "Beatrix", + "Beatriz", + "Beaulah", + "Bebe", + "Beckie", + "Becky", + "Beda", + "Bee", + "Belen", + "Belia", + "Belinda", + "Bell", + "Bella", + "Belle", + "Belva", + "Bena", + "Benita", + "Bennie", + "Berdie", + "Berenice", + "Bernadette", + "Bernadine", + "Bernardine", + "Berneice", + "Bernetta", + "Bernice", + "Berniece", + "Bernita", + "Berta", + "Bertha", + "Bertie", + "Bertina", + "Beryl", + "Bess", + "Besse", + "Bessie", + "Beth", + "Betha", + "Bethann", + "Bethany", + "Bethel", + "Bethzy", + "Betsey", + "Betsy", + "Bette", + "Bettie", + "Bettina", + "Betty", + "Bettye", + "Bettyjane", + "Bettylou", + "Beula", + "Beulah", + "Bev", + "Beverlee", + "Beverley", + "Beverly", + "Beyonce", + "Bianca", + "Biddie", + "Billie", + "Billy", + "Billye", + "Bina", + "Bird", + "Birdella", + "Birdie", + "Birtha", + "Birtie", + "Blair", + "Blake", + "Blanca", + "Blanch", + "Blanche", + "Blanchie", + "Blossom", + "Bobbi", + "Bobbie", + "Bobby", + "Bobbye", + "Bonita", + "Bonnie", + "Bonny", + "Braelyn", + "Brande", + "Brandee", + "Brandi", + "Brandie", + "Brandon", + "Brandy", + "Brea", + "Breana", + "Breann", + "Breanna", + "Breanne", + "Bree", + "Brenda", + "Brenna", + "Breonna", + "Brett", + "Bria", + "Briana", + "Brianda", + "Brianna", + "Brianne", + "Bridget", + "Bridgett", + "Bridgette", + "Brielle", + "Brigette", + "Brigid", + "Brigitte", + "Briley", + "Brinda", + "Brinley", + "Brionna", + "Brisa", + "Bristol", + "Britany", + "Britney", + "Britni", + "Britny", + "Britt", + "Britta", + "Brittaney", + "Brittani", + "Brittanie", + "Brittany", + "Brittnay", + "Brittnee", + "Brittney", + "Brittni", + "Brittnie", + "Brittny", + "Brook", + "Brooke", + "Brooklyn", + "Brooklynn", + "Bryana", + "Bryanna", + "Brylee", + "Bryn", + "Brynlee", + "Brynn", + "Buelah", + "Buena", + "Buffy", + "Bula", + "Bulah", + "Buna", + "Burnice", + "Byrd", + "Byrdie", + "Caddie", + "Cadence", + "Cailyn", + "Caitlin", + "Caitlyn", + "Caitlynn", + "Caldonia", + "Caleigh", + "Cali", + "Calista", + "Calla", + "Calleigh", + "Callie", + "Cambria", + "Cameron", + "Cami", + "Camila", + "Camilla", + "Camille", + "Camisha", + "Cammie", + "Campbell", + "Camryn", + "Candace", + "Candi", + "Candice", + "Candida", + "Candis", + "Candy", + "Candyce", + "Cannie", + "Capitola", + "Cappie", + "Caprice", + "Cara", + "Caren", + "Carey", + "Cari", + "Carie", + "Carin", + "Carina", + "Carisa", + "Carissa", + "Carla", + "Carlee", + "Carleen", + "Carleigh", + "Carlene", + "Carley", + "Carli", + "Carlie", + "Carlota", + "Carlotta", + "Carly", + "Carlyn", + "Carma", + "Carmel", + "Carmela", + "Carmelita", + "Carmella", + "Carmen", + "Caro", + "Carol", + "Carolann", + "Carole", + "Carolee", + "Carolina", + "Caroline", + "Carolyn", + "Carolyne", + "Carolynn", + "Caron", + "Carra", + "Carri", + "Carrie", + "Carrol", + "Carroll", + "Carry", + "Carson", + "Cary", + "Caryl", + "Caryn", + "Casandra", + "Casey", + "Casie", + "Cassandra", + "Cassidy", + "Cassie", + "Cassondra", + "Catalina", + "Catharine", + "Catherine", + "Cathern", + "Cathey", + "Cathi", + "Cathie", + "Cathleen", + "Cathrine", + "Cathryn", + "Cathy", + "Catina", + "Catrina", + "Caydence", + "Cayla", + "Caylee", + "Cecelia", + "Cecile", + "Cecilia", + "Cecily", + "Ceil", + "Celena", + "Celesta", + "Celeste", + "Celestia", + "Celestine", + "Celia", + "Celie", + "Celina", + "Celine", + "Cena", + "Ceola", + "Chaka", + "Chana", + "Chanda", + "Chandler", + "Chandra", + "Chanel", + "Chanelle", + "Chaney", + "Chanie", + "Channie", + "Channing", + "Chantal", + "Chante", + "Chantel", + "Chantelle", + "Charissa", + "Charisse", + "Charity", + "Charla", + "Charlee", + "Charleen", + "Charlene", + "Charley", + "Charlie", + "Charline", + "Charlize", + "Charlotta", + "Charlotte", + "Charlottie", + "Charlsie", + "Charmaine", + "Charolette", + "Chase", + "Chasity", + "Chastity", + "Chaya", + "Chelsea", + "Chelsey", + "Chelsi", + "Chelsie", + "Chelsy", + "Cher", + "Cherelle", + "Cheri", + "Cherie", + "Cherilyn", + "Cherise", + "Cherish", + "Cherrelle", + "Cherri", + "Cherrie", + "Cherry", + "Cherryl", + "Cheryl", + "Cheryle", + "Cheryll", + "Chessie", + "Chestina", + "Cheyanne", + "Cheyenne", + "Chimere", + "China", + "Chiquita", + "Chloe", + "Chloie", + "Chris", + "Chrissie", + "Chrissy", + "Christa", + "Christal", + "Christeen", + "Christel", + "Christen", + "Christena", + "Christene", + "Christi", + "Christian", + "Christiana", + "Christie", + "Christin", + "Christina", + "Christine", + "Christy", + "Chrystal", + "Chyna", + "Chynna", + "Ciara", + "Ciarra", + "Cicely", + "Cielo", + "Ciera", + "Cierra", + "Ciji", + "Cilla", + "Cinda", + "Cindi", + "Cindy", + "Cinnamon", + "Cinthia", + "Citlali", + "Citlalli", + "Clair", + "Claire", + "Clara", + "Clarabelle", + "Clare", + "Claribel", + "Clarice", + "Clarinda", + "Clarine", + "Clarisa", + "Clarissa", + "Classie", + "Claudette", + "Claudia", + "Claudie", + "Claudine", + "Cleda", + "Clella", + "Clem", + "Clemence", + "Clementina", + "Clementine", + "Clemie", + "Clemma", + "Clemmie", + "Cleo", + "Cleola", + "Cleone", + "Cleora", + "Cleta", + "Cleva", + "Clevie", + "Cliffie", + "Cloe", + "Clora", + "Clotilda", + "Clotilde", + "Clyda", + "Clydie", + "Clytie", + "Coleen", + "Coletta", + "Colette", + "Colleen", + "Collette", + "Columbia", + "Concepcion", + "Concetta", + "Concha", + "Connie", + "Constance", + "Consuela", + "Consuelo", + "Contina", + "Cora", + "Coraima", + "Coral", + "Coralie", + "Corda", + "Cordelia", + "Cordella", + "Cordia", + "Cordie", + "Corean", + "Corene", + "Coretta", + "Corey", + "Cori", + "Corie", + "Corina", + "Corine", + "Corinna", + "Corinne", + "Corliss", + "Cornelia", + "Cornie", + "Corrie", + "Corrina", + "Corrine", + "Cortney", + "Cory", + "Courtney", + "Creola", + "Cressie", + "Crete", + "Crissie", + "Crissy", + "Crista", + "Cristal", + "Cristen", + "Cristi", + "Cristin", + "Cristina", + "Cristine", + "Cristy", + "Cruz", + "Crysta", + "Crystal", + "Cuba", + "Cydney", + "Cyndi", + "Cyntha", + "Cynthia", + "Dafne", + "Dagmar", + "Dagny", + "Dahlia", + "Daija", + "Daijah", + "Daisey", + "Daisha", + "Daisie", + "Daisy", + "Daisye", + "Daja", + "Dakota", + "Dale", + "Dalia", + "Dallas", + "Damaris", + "Dana", + "Danae", + "Daneen", + "Danelle", + "Danette", + "Dani", + "Dania", + "Danica", + "Daniela", + "Daniele", + "Daniella", + "Danielle", + "Danika", + "Danita", + "Danna", + "Dannie", + "Dannielle", + "Danyel", + "Danyell", + "Danyelle", + "Daphne", + "Dara", + "Darby", + "Darci", + "Darcie", + "Darcy", + "Daria", + "Darian", + "Dariana", + "Darla", + "Darleen", + "Darlene", + "Darline", + "Darlyne", + "Dasia", + "Davina", + "Dawn", + "Dawna", + "Dawne", + "Dayami", + "Dayana", + "Dayanara", + "Dayle", + "Dayna", + "Dayse", + "Deana", + "Deandra", + "Deann", + "Deanna", + "Deanne", + "Deasia", + "Deb", + "Debbi", + "Debbie", + "Debbra", + "Debby", + "Debera", + "Debi", + "Debora", + "Deborah", + "Deborrah", + "Debra", + "Debrah", + "Debroah", + "Dedra", + "Dee", + "Deeann", + "Deedee", + "Deena", + "Deetta", + "Deidra", + "Deidre", + "Deirdre", + "Deja", + "Dejah", + "Delaney", + "Delcie", + "Delfina", + "Delia", + "Deliah", + "Delila", + "Delilah", + "Delina", + "Delinda", + "Delisa", + "Dell", + "Della", + "Dellar", + "Delle", + "Dellia", + "Dellie", + "Delma", + "Delois", + "Delora", + "Delores", + "Deloris", + "Delpha", + "Delphia", + "Delphine", + "Delsie", + "Delta", + "Dema", + "Demetra", + "Demetria", + "Demi", + "Dena", + "Deneen", + "Denese", + "Denice", + "Denine", + "Denise", + "Denisha", + "Denisse", + "Denita", + "Dennie", + "Desirae", + "Desiree", + "Dessa", + "Dessie", + "Destany", + "Destinee", + "Destiney", + "Destini", + "Destiny", + "Devan", + "Devin", + "Devon", + "Devyn", + "Dewey", + "Deyanira", + "Dezzie", + "Diamond", + "Dian", + "Diana", + "Diandra", + "Diane", + "Diann", + "Dianna", + "Dianne", + "Dicie", + "Dicy", + "Dillie", + "Dimple", + "Dina", + "Dinah", + "Dione", + "Dionne", + "Dixie", + "Diya", + "Djuana", + "Djuna", + "Docia", + "Dola", + "Dollie", + "Dolly", + "Dollye", + "Dolores", + "Doloris", + "Domenica", + "Dominga", + "Dominique", + "Dominque", + "Domonique", + "Dona", + "Donia", + "Donie", + "Donita", + "Donna", + "Donnie", + "Dora", + "Dorathea", + "Dorathy", + "Dorcas", + "Doreen", + "Dorene", + "Doretha", + "Doretta", + "Dori", + "Dorinda", + "Dorine", + "Doris", + "Dorla", + "Dorotha", + "Dorothea", + "Dorothy", + "Dorris", + "Dortha", + "Dorthea", + "Dorthey", + "Dorthy", + "Dosha", + "Doshia", + "Doshie", + "Dosia", + "Dossie", + "Dot", + "Dottie", + "Dotty", + "Dove", + "Dovie", + "Drema", + "Drew", + "Drucilla", + "Drusilla", + "Dulce", + "Dulcie", + "Dusty", + "Dwan", + "Dyan", + "Dylan", + "Earlean", + "Earlene", + "Earlie", + "Earline", + "Earnestine", + "Eartha", + "Easter", + "Eathel", + "Ebba", + "Eboni", + "Ebony", + "Echo", + "Eda", + "Eddie", + "Eden", + "Edie", + "Edith", + "Edla", + "Edmonia", + "Edna", + "Ednah", + "Edra", + "Edrie", + "Edris", + "Edwina", + "Edyth", + "Edythe", + "Effa", + "Effie", + "Eileen", + "Eithel", + "Ela", + "Elaina", + "Elaine", + "Elana", + "Elayne", + "Elba", + "Elberta", + "Elda", + "Eldora", + "Eleanor", + "Eleanora", + "Eleanore", + "Elease", + "Electa", + "Elena", + "Elenor", + "Elenora", + "Elenore", + "Eleonora", + "Eleonore", + "Elfie", + "Elfreda", + "Elfrieda", + "Elgie", + "Elia", + "Eliana", + "Elianna", + "Elida", + "Elinor", + "Elinore", + "Elisa", + "Elisabeth", + "Elise", + "Elisha", + "Elissa", + "Eliza", + "Elizabet", + "Elizabeth", + "Elizbeth", + "Elizebeth", + "Ella", + "Ellamae", + "Ellar", + "Elle", + "Ellen", + "Eller", + "Elliana", + "Ellie", + "Ellyn", + "Elma", + "Elmina", + "Elmira", + "Elmire", + "Elmyra", + "Elna", + "Elnora", + "Elodie", + "Elois", + "Eloisa", + "Eloise", + "Elouise", + "Elsa", + "Else", + "Elsie", + "Elta", + "Elva", + "Elvera", + "Elvia", + "Elvie", + "Elvina", + "Elvira", + "Elwanda", + "Elyse", + "Elyssa", + "Elza", + "Elzada", + "Ema", + "Emaline", + "Ember", + "Emelia", + "Emelie", + "Emeline", + "Emely", + "Emerald", + "Emerson", + "Emery", + "Emilee", + "Emilia", + "Emilie", + "Emily", + "Emma", + "Emmalee", + "Emmaline", + "Emmer", + "Emmie", + "Emmy", + "Emogene", + "Ena", + "Enid", + "Enola", + "Enriqueta", + "Eola", + "Eppie", + "Epsie", + "Era", + "Erica", + "Ericka", + "Erie", + "Erika", + "Erin", + "Eris", + "Erla", + "Erlene", + "Erlinda", + "Erline", + "Erma", + "Ermina", + "Ermine", + "Erna", + "Ernestina", + "Ernestine", + "Erykah", + "Eryn", + "Esmeralda", + "Esperanza", + "Essa", + "Essence", + "Essie", + "Esta", + "Estefani", + "Estefania", + "Estefany", + "Estela", + "Estell", + "Estella", + "Estelle", + "Ester", + "Esther", + "Estie", + "Estrella", + "Etha", + "Ethel", + "Ethelene", + "Ethelyn", + "Ether", + "Ethie", + "Ethyl", + "Ethyle", + "Etna", + "Etta", + "Etter", + "Ettie", + "Eudora", + "Eugenia", + "Eugenie", + "Eula", + "Eulah", + "Eulalia", + "Eulalie", + "Euna", + "Eunice", + "Euphemia", + "Eura", + "Eva", + "Evalena", + "Evaline", + "Evalyn", + "Evangelina", + "Evangeline", + "Eve", + "Evelena", + "Evelin", + "Evelina", + "Eveline", + "Evelyn", + "Evelyne", + "Evelynn", + "Ever", + "Evette", + "Evia", + "Evie", + "Evita", + "Evon", + "Evonne", + "Exa", + "Exie", + "Fabiola", + "Fae", + "Fairy", + "Faith", + "Fallon", + "Falon", + "Fannie", + "Fanny", + "Fannye", + "Farah", + "Farrah", + "Fatima", + "Fawn", + "Fay", + "Faye", + "Felecia", + "Felice", + "Felicia", + "Felicie", + "Felicitas", + "Felicity", + "Felipa", + "Felisha", + "Fern", + "Fernanda", + "Ferne", + "Fidelia", + "Filomena", + "Finley", + "Fiona", + "Flavia", + "Fleda", + "Fleeta", + "Fleta", + "Flo", + "Flonnie", + "Flor", + "Flora", + "Florance", + "Florence", + "Florene", + "Floretta", + "Florida", + "Florie", + "Florine", + "Florrie", + "Flossie", + "Floy", + "Fonda", + "Forest", + "Fran", + "Franc", + "Frances", + "Francesca", + "Francies", + "Francina", + "Francine", + "Francis", + "Francisca", + "Francisquita", + "Frankie", + "Freda", + "Freddie", + "Frederica", + "Fredericka", + "Freeda", + "Freida", + "Frida", + "Frieda", + "Frona", + "Fronia", + "Fronie", + "Fronnie", + "Fumiko", + "Gabriela", + "Gabriella", + "Gabrielle", + "Gail", + "Gale", + "Galilea", + "Garnet", + "Garnett", + "Gay", + "Gaye", + "Gayla", + "Gayle", + "Gaylene", + "Gaynell", + "Gearldine", + "Gemma", + "Gena", + "Gene", + "Genesis", + "Geneva", + "Genevieve", + "Genevra", + "Genie", + "Gennie", + "Genoveva", + "Georganna", + "Georgeann", + "Georgeanna", + "Georgene", + "Georgetta", + "Georgette", + "Georgia", + "Georgiana", + "Georgiann", + "Georgianna", + "Georgie", + "Georgina", + "Georgine", + "Geraldine", + "Geralyn", + "Gerda", + "Geri", + "Germaine", + "Gerri", + "Gerry", + "Gertha", + "Gertie", + "Gertrude", + "Gia", + "Giada", + "Giana", + "Gianna", + "Gidget", + "Gigi", + "Gilda", + "Gillian", + "Gillie", + "Gina", + "Ginger", + "Ginny", + "Giovanna", + "Girtha", + "Gisele", + "Giselle", + "Gisselle", + "Giuliana", + "Gladis", + "Gladyce", + "Gladys", + "Glenda", + "Glendora", + "Glenn", + "Glenna", + "Glennie", + "Glennis", + "Glinda", + "Gloria", + "Glynda", + "Glynis", + "Golda", + "Golden", + "Goldia", + "Goldie", + "Grace", + "Gracelyn", + "Gracia", + "Gracie", + "Graciela", + "Grayce", + "Grecia", + "Gregoria", + "Greta", + "Gretchen", + "Gretta", + "Grisel", + "Griselda", + "Guadalupe", + "Gunda", + "Gussie", + "Gusta", + "Gustie", + "Gwen", + "Gwenda", + "Gwendolyn", + "Gwyn", + "Gwyneth", + "Hadassah", + "Hadley", + "Hailee", + "Hailey", + "Hailie", + "Haleigh", + "Haley", + "Hali", + "Halie", + "Halle", + "Halley", + "Hallie", + "Hana", + "Hanna", + "Hannah", + "Harlene", + "Harley", + "Harlow", + "Harmony", + "Harper", + "Harriet", + "Harriett", + "Harriette", + "Haruko", + "Hasel", + "Hassie", + "Hattie", + "Haven", + "Hayden", + "Haylee", + "Hayleigh", + "Hayley", + "Haylie", + "Hazel", + "Hazelle", + "Hazle", + "Heather", + "Heaven", + "Hedwig", + "Hedy", + "Heidi", + "Heidy", + "Helaine", + "Helen", + "Helena", + "Helene", + "Helga", + "Hellen", + "Helma", + "Helyn", + "Hennie", + "Henretta", + "Henrietta", + "Henriette", + "Herlinda", + "Herma", + "Hermina", + "Hermine", + "Herminia", + "Hertha", + "Hessie", + "Hester", + "Hettie", + "Hetty", + "Hilah", + "Hilary", + "Hilda", + "Hildegard", + "Hildegarde", + "Hildred", + "Hildur", + "Hillary", + "Hilma", + "Holli", + "Hollie", + "Hollis", + "Holly", + "Honora", + "Hope", + "Hortencia", + "Hortense", + "Hortensia", + "Hulda", + "Huldah", + "Hunter", + "Ica", + "Icey", + "Icie", + "Icy", + "Ida", + "Idabelle", + "Idamae", + "Idell", + "Idella", + "Iesha", + "Ieshia", + "Ila", + "Ilah", + "Ilda", + "Ilene", + "Iliana", + "Illa", + "Ilma", + "Ilo", + "Ilona", + "Ima", + "Imani", + "Imelda", + "Imo", + "Imogene", + "Ina", + "India", + "Indiana", + "Inell", + "Ines", + "Inez", + "Infant", + "Inga", + "Ingeborg", + "Inger", + "Ingrid", + "Iola", + "Iona", + "Ione", + "Ira", + "Ireland", + "Irena", + "Irene", + "Iridian", + "Irine", + "Iris", + "Irma", + "Irva", + "Isa", + "Isabel", + "Isabela", + "Isabell", + "Isabella", + "Isabelle", + "Isadora", + "Isamar", + "Isis", + "Isla", + "Isobel", + "Itzel", + "Iva", + "Ivah", + "Ivana", + "Ivanna", + "Ivette", + "Ivey", + "Ivie", + "Ivonne", + "Ivory", + "Ivy", + "Iyana", + "Iyanna", + "Iza", + "Izabella", + "Izabelle", + "Izetta", + "Izola", + "Izora", + "Jacalyn", + "Jacey", + "Jackeline", + "Jacki", + "Jackie", + "Jacklyn", + "Jaclyn", + "Jacque", + "Jacquelin", + "Jacqueline", + "Jacquelyn", + "Jacquline", + "Jacqulyn", + "Jada", + "Jade", + "Jaden", + "Jadyn", + "Jaeda", + "Jaelyn", + "Jaelynn", + "Jaida", + "Jaiden", + "Jaidyn", + "Jailene", + "Jailyn", + "Jaime", + "Jaimee", + "Jakayla", + "Jaleesa", + "Jalisa", + "Jalissa", + "Jaliyah", + "Jalyn", + "Jalynn", + "Jamey", + "Jami", + "Jamie", + "Jamila", + "Jamiya", + "Jammie", + "Jamya", + "Jan", + "Jana", + "Janae", + "Janay", + "Jane", + "Janeen", + "Janel", + "Janell", + "Janelle", + "Janene", + "Janessa", + "Janet", + "Janette", + "Janey", + "Janiah", + "Janice", + "Janie", + "Janine", + "Janis", + "Janiya", + "Janiyah", + "Jann", + "Janna", + "Jannette", + "Jannie", + "January", + "Janyce", + "Jaquelin", + "Jaqueline", + "Jaslene", + "Jaslyn", + "Jasmin", + "Jasmine", + "Jasmyn", + "Jasmyne", + "Jaunita", + "Jaycee", + "Jaycie", + "Jayda", + "Jayde", + "Jayden", + "Jaye", + "Jayla", + "Jaylah", + "Jaylee", + "Jayleen", + "Jaylen", + "Jaylene", + "Jaylin", + "Jaylyn", + "Jaylynn", + "Jayme", + "Jayne", + "Jazlene", + "Jazlyn", + "Jazlynn", + "Jazmin", + "Jazmine", + "Jazmyn", + "Jazmyne", + "Jean", + "Jeana", + "Jeane", + "Jeanetta", + "Jeanette", + "Jeanie", + "Jeanine", + "Jeanmarie", + "Jeanna", + "Jeanne", + "Jeannette", + "Jeannie", + "Jeannine", + "Jeffie", + "Jemima", + "Jena", + "Jenelle", + "Jenifer", + "Jenilee", + "Jenna", + "Jennette", + "Jenni", + "Jennie", + "Jennifer", + "Jenniffer", + "Jenny", + "Jensen", + "Jeraldine", + "Jeri", + "Jerica", + "Jerilyn", + "Jerilynn", + "Jerri", + "Jerrica", + "Jerrie", + "Jerrilyn", + "Jerusha", + "Jeryl", + "Jesenia", + "Jesica", + "Jesse", + "Jessenia", + "Jessi", + "Jessica", + "Jessie", + "Jessika", + "Jessye", + "Jetta", + "Jettie", + "Jewel", + "Jewell", + "Jill", + "Jillian", + "Jimena", + "Jinnie", + "Jo", + "Joan", + "Joana", + "Joanie", + "Joann", + "Joanna", + "Joanne", + "Jocelyn", + "Jocelyne", + "Jocelynn", + "Jodi", + "Jodie", + "Jody", + "Joell", + "Joella", + "Joelle", + "Joellen", + "Joetta", + "Joette", + "Johana", + "Johanna", + "Johannah", + "Johnie", + "Johnna", + "Johnnie", + "Joi", + "Joleen", + "Jolene", + "Jolette", + "Jolie", + "Joline", + "Jonell", + "Joni", + "Jonna", + "Jonnie", + "Jordan", + "Jordin", + "Jordyn", + "Joretta", + "Jorja", + "Josefa", + "Josefina", + "Josefita", + "Joselin", + "Joseline", + "Joselyn", + "Josephine", + "Josette", + "Josie", + "Josiephine", + "Joslyn", + "Jossie", + "Journey", + "Jovita", + "Joy", + "Joyce", + "Joycelyn", + "Joye", + "Juana", + "Juanita", + "Judi", + "Judie", + "Judith", + "Judy", + "Judyth", + "Jule", + "Juli", + "Julia", + "Juliana", + "Juliann", + "Julianna", + "Julianne", + "Julie", + "Juliet", + "Juliette", + "Julisa", + "Julissa", + "June", + "Junia", + "Junie", + "Justice", + "Justina", + "Justine", + "Kaaren", + "Kacey", + "Kaci", + "Kacie", + "Kacy", + "Kadence", + "Kadijah", + "Kaela", + "Kaelyn", + "Kaelynn", + "Kaia", + "Kaila", + "Kailee", + "Kailey", + "Kailyn", + "Kaitlin", + "Kaitlyn", + "Kaitlynn", + "Kaiya", + "Kala", + "Kaleena", + "Kaleigh", + "Kalene", + "Kaley", + "Kali", + "Kalie", + "Kaliyah", + "Kallie", + "Kalyn", + "Kamari", + "Kameron", + "Kami", + "Kamila", + "Kamilah", + "Kamora", + "Kamryn", + "Kamya", + "Kandace", + "Kandi", + "Kandice", + "Kandy", + "Kanesha", + "Kanisha", + "Kara", + "Karan", + "Karel", + "Karen", + "Kari", + "Karie", + "Karin", + "Karina", + "Karis", + "Karissa", + "Karla", + "Karlee", + "Karlene", + "Karley", + "Karli", + "Karlie", + "Karly", + "Karma", + "Karol", + "Karolyn", + "Karon", + "Karren", + "Karri", + "Karrie", + "Karsyn", + "Karyl", + "Karyme", + "Karyn", + "Kasandra", + "Kasey", + "Kasie", + "Kassandra", + "Kassidy", + "Kassie", + "Katarina", + "Kate", + "Katelin", + "Katelyn", + "Katelynn", + "Katerina", + "Kathaleen", + "Katharina", + "Katharine", + "Katharyn", + "Katherin", + "Katherine", + "Kathern", + "Katheryn", + "Kathey", + "Kathi", + "Kathie", + "Kathleen", + "Kathlene", + "Kathlyn", + "Kathrine", + "Kathryn", + "Kathryne", + "Kathy", + "Kathyrn", + "Kati", + "Katia", + "Katie", + "Katina", + "Katlin", + "Katlyn", + "Katlynn", + "Katrina", + "Kattie", + "Katy", + "Kay", + "Kaya", + "Kaycee", + "Kayden", + "Kaydence", + "Kaye", + "Kayla", + "Kaylah", + "Kaylan", + "Kaylee", + "Kayleen", + "Kayleigh", + "Kaylen", + "Kaylene", + "Kayley", + "Kayli", + "Kaylie", + "Kaylin", + "Kaylyn", + "Kaylynn", + "Kazuko", + "Keanna", + "Keara", + "Kecia", + "Keeley", + "Keely", + "Keena", + "Keesha", + "Keila", + "Keira", + "Keisha", + "Kelcie", + "Keli", + "Kelis", + "Kellee", + "Kelley", + "Kelli", + "Kellie", + "Kelly", + "Kelsea", + "Kelsey", + "Kelsi", + "Kelsie", + "Kendal", + "Kendall", + "Kendra", + "Kenia", + "Kenisha", + "Kenley", + "Kenna", + "Kennedi", + "Kennedy", + "Kenya", + "Kenyatta", + "Kenzie", + "Keri", + "Kerri", + "Kerrie", + "Kerry", + "Kesha", + "Keshia", + "Keyla", + "Khadijah", + "Khalilah", + "Khloe", + "Kia", + "Kiana", + "Kianna", + "Kiara", + "Kiarra", + "Kiera", + "Kierra", + "Kiersten", + "Kiley", + "Kim", + "Kimber", + "Kimberely", + "Kimberlee", + "Kimberley", + "Kimberli", + "Kimberlie", + "Kimberly", + "Kimora", + "Kindra", + "Kinley", + "Kinsey", + "Kinsley", + "Kira", + "Kirsten", + "Kirstie", + "Kirstin", + "Kisha", + "Kittie", + "Kitty", + "Kiya", + "Kiyoko", + "Kizzie", + "Kizzy", + "Kloe", + "Kori", + "Kortney", + "Kourtney", + "Kris", + "Krissy", + "Krista", + "Kristal", + "Kristan", + "Kristen", + "Kristi", + "Kristian", + "Kristie", + "Kristin", + "Kristina", + "Kristine", + "Kristy", + "Kristyn", + "Krysta", + "Krystal", + "Krysten", + "Krystin", + "Krystina", + "Krystle", + "Kya", + "Kyara", + "Kyla", + "Kylah", + "Kyle", + "Kylee", + "Kyleigh", + "Kylene", + "Kylie", + "Kyra", + "Kyrie", + "Lacey", + "Laci", + "Lacie", + "Lacy", + "Ladonna", + "Lady", + "Lahoma", + "Laila", + "Lailah", + "Lainey", + "Laisha", + "Lakeisha", + "Laken", + "Lakendra", + "Lakesha", + "Lakeshia", + "Lakisha", + "Lala", + "Lalla", + "Lana", + "Lanette", + "Laney", + "Lani", + "Lanie", + "Lanita", + "Lannie", + "Laquita", + "Lara", + "Larae", + "Laraine", + "Larissa", + "Larue", + "Lashanda", + "Lashawn", + "Lashonda", + "Lashunda", + "Lasonya", + "Lassie", + "Latanya", + "Latarsha", + "Latasha", + "Latesha", + "Latifah", + "Latisha", + "Latonia", + "Latonya", + "Latoria", + "Latosha", + "Latoya", + "Latoyia", + "Latrice", + "Latricia", + "Latrina", + "Launa", + "Laura", + "Laureen", + "Laurel", + "Lauren", + "Laurene", + "Lauretta", + "Laurette", + "Lauri", + "Laurie", + "Laurine", + "Lauryn", + "Lavada", + "Lavelle", + "Lavenia", + "Lavera", + "Lavern", + "Laverna", + "Laverne", + "Lavina", + "Lavinia", + "Lavon", + "Lavona", + "Lavonda", + "Lavonia", + "Lavonne", + "Lawanda", + "Layla", + "Laylah", + "Lea", + "Leafy", + "Leah", + "Leala", + "Leana", + "Leandra", + "Leaner", + "Leann", + "Leanna", + "Leanne", + "Leatha", + "Leatrice", + "Leda", + "Lee", + "Leeann", + "Leesa", + "Leia", + "Leigh", + "Leighton", + "Leila", + "Leilani", + "Leisa", + "Leisha", + "Leitha", + "Lela", + "Lelah", + "Lelar", + "Lelia", + "Lella", + "Lemma", + "Lempi", + "Lena", + "Lenna", + "Lennie", + "Lenora", + "Lenore", + "Leola", + "Leoma", + "Leona", + "Leone", + "Leonia", + "Leonie", + "Leonor", + "Leonora", + "Leonore", + "Leontine", + "Leora", + "Leota", + "Lera", + "Lesa", + "Lesia", + "Leslee", + "Lesley", + "Lesli", + "Leslie", + "Lesly", + "Lessie", + "Lesta", + "Leta", + "Letha", + "Lethia", + "Leticia", + "Letitia", + "Letta", + "Lettie", + "Letty", + "Leva", + "Levina", + "Lexi", + "Lexie", + "Lexis", + "Lexus", + "Leyla", + "Lia", + "Liana", + "Liane", + "Libbie", + "Libby", + "Liberty", + "Lida", + "Liddie", + "Lidia", + "Lidie", + "Lila", + "Lilah", + "Lilia", + "Lilian", + "Liliana", + "Lilianna", + "Lilie", + "Lilla", + "Liller", + "Lillia", + "Lillian", + "Lilliana", + "Lillianna", + "Lillie", + "Lillis", + "Lilly", + "Lily", + "Lilyan", + "Lilyana", + "Lilyanna", + "Lina", + "Linda", + "Lindsay", + "Lindsey", + "Lindy", + "Linette", + "Linna", + "Linnea", + "Linnie", + "Linsey", + "Lisa", + "Lisbeth", + "Lise", + "Lisette", + "Lisha", + "Lissa", + "Lissette", + "Lissie", + "Lita", + "Litha", + "Littie", + "Litzy", + "Livia", + "Liz", + "Liza", + "Lizabeth", + "Lizbeth", + "Lizeth", + "Lizette", + "Lizzie", + "Lockie", + "Loda", + "Logan", + "Lois", + "Lola", + "Lolita", + "Lolla", + "Lollie", + "Loma", + "Lona", + "London", + "Londyn", + "Loni", + "Lonie", + "Lonna", + "Lonnie", + "Lora", + "Loraine", + "Lorayne", + "Lorean", + "Loree", + "Loreen", + "Lorelai", + "Lorelei", + "Loren", + "Lorena", + "Lorene", + "Lorenza", + "Loretta", + "Loretto", + "Lori", + "Loria", + "Loriann", + "Lorie", + "Lorinda", + "Lorine", + "Loris", + "Lorna", + "Lorraine", + "Lorrayne", + "Lorri", + "Lorrie", + "Lossie", + "Lota", + "Lotta", + "Lottie", + "Lou", + "Louann", + "Louanna", + "Louella", + "Louetta", + "Louie", + "Louisa", + "Louise", + "Louisiana", + "Loula", + "Lourdes", + "Louvenia", + "Love", + "Lovey", + "Lovie", + "Lovina", + "Lovisa", + "Loyce", + "Lu", + "Luana", + "Luann", + "Luanne", + "Luberta", + "Lucero", + "Lucetta", + "Lucia", + "Luciana", + "Lucie", + "Lucile", + "Lucille", + "Lucina", + "Lucinda", + "Lucindy", + "Lucretia", + "Lucy", + "Luda", + "Ludie", + "Lue", + "Luella", + "Luetta", + "Lugenia", + "Luisa", + "Lula", + "Lulah", + "Lular", + "Lulie", + "Lulla", + "Lulu", + "Luna", + "Lupe", + "Lura", + "Lurana", + "Lurena", + "Lurline", + "Lutie", + "Luvenia", + "Luverne", + "Luvinia", + "Luz", + "Lyda", + "Lydia", + "Lyla", + "Lylah", + "Lyn", + "Lynda", + "Lyndia", + "Lyndsay", + "Lyndsey", + "Lynette", + "Lynn", + "Lynne", + "Lynnette", + "Lynsey", + "Lyric", + "Mabel", + "Mabell", + "Mabelle", + "Mable", + "Macel", + "Macey", + "Machelle", + "Maci", + "Macie", + "Mackenzie", + "Macy", + "Madaline", + "Madalyn", + "Madalynn", + "Maddison", + "Madeleine", + "Madelene", + "Madeline", + "Madelyn", + "Madelynn", + "Madge", + "Madie", + "Madilyn", + "Madilynn", + "Madisen", + "Madison", + "Madisyn", + "Madlyn", + "Madonna", + "Madora", + "Madyson", + "Mae", + "Maebell", + "Maebelle", + "Maegan", + "Maeve", + "Mafalda", + "Magan", + "Magdalen", + "Magdalena", + "Magdalene", + "Magen", + "Maggie", + "Magnolia", + "Mahala", + "Mahalia", + "Mahalie", + "Mai", + "Maia", + "Maida", + "Maira", + "Maiya", + "Makaila", + "Makala", + "Makayla", + "Makena", + "Makenna", + "Makenzie", + "Malaya", + "Maleah", + "Malia", + "Maliah", + "Malinda", + "Malissa", + "Malissie", + "Maliyah", + "Mallie", + "Mallorie", + "Mallory", + "Malorie", + "Malvina", + "Mame", + "Mamie", + "Mammie", + "Manda", + "Mandi", + "Mandie", + "Mandy", + "Manerva", + "Manervia", + "Manie", + "Manila", + "Manilla", + "Mannie", + "Manuela", + "Manuelita", + "Mara", + "Maralyn", + "Maranda", + "Marcela", + "Marcelina", + "Marceline", + "Marcella", + "Marcelle", + "Marci", + "Marcia", + "Marcie", + "Marcy", + "Mardell", + "Mareli", + "Marely", + "Maren", + "Margaret", + "Margarete", + "Margaretha", + "Margarett", + "Margaretta", + "Margarette", + "Margarita", + "Margarite", + "Marge", + "Margene", + "Margeret", + "Margery", + "Marget", + "Margie", + "Margo", + "Margot", + "Margret", + "Margrett", + "Margretta", + "Marguerite", + "Margueritte", + "Margurite", + "Margy", + "Mari", + "Maria", + "Mariah", + "Mariam", + "Marian", + "Mariana", + "Marianita", + "Mariann", + "Marianna", + "Marianne", + "Maribel", + "Maribeth", + "Maricela", + "Marie", + "Mariel", + "Mariela", + "Marietta", + "Marilee", + "Marilla", + "Marilou", + "Marilyn", + "Marilynn", + "Marin", + "Marina", + "Marinda", + "Marion", + "Marisa", + "Marisela", + "Marisol", + "Marissa", + "Marita", + "Maritza", + "Mariyah", + "Marjorie", + "Marjory", + "Markita", + "Marla", + "Marlana", + "Marlee", + "Marleen", + "Marleigh", + "Marlen", + "Marlena", + "Marlene", + "Marley", + "Marlie", + "Marlo", + "Marlyn", + "Marlys", + "Marni", + "Marnie", + "Marnita", + "Marolyn", + "Marquita", + "Marry", + "Marsha", + "Marta", + "Martha", + "Marti", + "Martika", + "Martina", + "Martine", + "Marty", + "Marva", + "Marvel", + "Mary", + "Maryam", + "Maryann", + "Maryanne", + "Marybelle", + "Marybeth", + "Maryellen", + "Maryjane", + "Maryjo", + "Marylee", + "Marylin", + "Marylou", + "Marylouise", + "Marylyn", + "Masako", + "Mathilda", + "Mathilde", + "Matie", + "Matilda", + "Matilde", + "Mattie", + "Mattye", + "Maud", + "Maude", + "Maudie", + "Maura", + "Maureen", + "Maurine", + "Mavis", + "Maxie", + "Maxine", + "May", + "Maya", + "Maybell", + "Maybelle", + "Maye", + "Mayme", + "Maymie", + "Mayra", + "Mazie", + "Mckayla", + "Mckenna", + "Mckenzie", + "Mckinley", + "Meadow", + "Meagan", + "Meaghan", + "Mechelle", + "Meda", + "Media", + "Medora", + "Meg", + "Megan", + "Meggan", + "Meghan", + "Meghann", + "Melanie", + "Melany", + "Melba", + "Melina", + "Melinda", + "Melisa", + "Melissa", + "Melissia", + "Mell", + "Mellie", + "Mellisa", + "Mellissa", + "Melodee", + "Melodie", + "Melody", + "Melonie", + "Melony", + "Melva", + "Melvina", + "Mena", + "Mendy", + "Mercedes", + "Mercy", + "Meredith", + "Merilyn", + "Merle", + "Merlene", + "Merna", + "Merri", + "Merrie", + "Merrilee", + "Merrily", + "Merry", + "Mertie", + "Meryl", + "Meta", + "Metha", + "Metta", + "Mettie", + "Mia", + "Miah", + "Micaela", + "Micah", + "Micayla", + "Michaela", + "Michaele", + "Michal", + "Michele", + "Michelina", + "Michell", + "Michelle", + "Mickey", + "Mickie", + "Miesha", + "Migdalia", + "Mignon", + "Mikaela", + "Mikaila", + "Mikala", + "Mikalah", + "Mikayla", + "Mila", + "Milagros", + "Milan", + "Milda", + "Mildred", + "Miley", + "Milissa", + "Millicent", + "Millie", + "Milly", + "Mima", + "Mimi", + "Mina", + "Minda", + "Mindi", + "Mindy", + "Minerva", + "Minervia", + "Minna", + "Minnie", + "Minta", + "Mintie", + "Mira", + "Miracle", + "Miranda", + "Mireya", + "Miriah", + "Miriam", + "Mirna", + "Mirtie", + "Missie", + "Missouri", + "Missy", + "Misti", + "Mistie", + "Misty", + "Mittie", + "Mitzi", + "Miya", + "Modena", + "Moesha", + "Moira", + "Mollie", + "Molly", + "Mona", + "Monica", + "Monika", + "Monique", + "Monna", + "Monnie", + "Monserrat", + "Montana", + "Montie", + "Mora", + "Morgan", + "Moriah", + "Mossie", + "Mozell", + "Mozella", + "Mozelle", + "Muriel", + "Murl", + "Mya", + "Myah", + "Myla", + "Mylee", + "Mylie", + "Myra", + "Myranda", + "Myrl", + "Myrle", + "Myrna", + "Myrta", + "Myrtice", + "Myrtie", + "Myrtis", + "Myrtle", + "Nada", + "Nadia", + "Nadine", + "Naima", + "Nakia", + "Nakisha", + "Nakita", + "Nallely", + "Nan", + "Nana", + "Nanci", + "Nancie", + "Nancy", + "Nanette", + "Nanie", + "Nanna", + "Nannette", + "Nannie", + "Naoma", + "Naomi", + "Narcissus", + "Natalee", + "Natalia", + "Natalie", + "Nataly", + "Natalya", + "Natasha", + "Nathalia", + "Nathalie", + "Nathaly", + "Natosha", + "Nautica", + "Nayeli", + "Nayely", + "Nealie", + "Nealy", + "Nedra", + "Neha", + "Nelda", + "Nelia", + "Nelie", + "Nell", + "Nella", + "Nelle", + "Nellie", + "Nelly", + "Nena", + "Neola", + "Neoma", + "Neppie", + "Nereida", + "Neta", + "Netta", + "Nettie", + "Neva", + "Nevada", + "Nevaeh", + "Neveah", + "Nia", + "Nichelle", + "Nichol", + "Nichole", + "Nicki", + "Nicola", + "Nicole", + "Nicolette", + "Nicolle", + "Niki", + "Nikia", + "Nikita", + "Nikki", + "Nikole", + "Nila", + "Nilda", + "Nina", + "Ninnie", + "Nira", + "Nita", + "Nobie", + "Noel", + "Noelia", + "Noelle", + "Noemi", + "Noemie", + "Nohely", + "Nola", + "Nolia", + "Nolie", + "Noma", + "Nona", + "Nonie", + "Nora", + "Norah", + "Noreen", + "Norene", + "Noreta", + "Noretta", + "Norine", + "Norita", + "Norma", + "Nova", + "Novella", + "Nya", + "Nyah", + "Nyasia", + "Nyla", + "Nylah", + "Nyree", + "Ocie", + "Octa", + "Octavia", + "Octavie", + "Oda", + "Odalis", + "Odalys", + "Odelia", + "Odell", + "Odessa", + "Odette", + "Odie", + "Odile", + "Ofelia", + "Ola", + "Olar", + "Olena", + "Olene", + "Oleta", + "Olevia", + "Olga", + "Olie", + "Olinda", + "Oline", + "Oliva", + "Olive", + "Olivia", + "Olivine", + "Ollie", + "Olympia", + "Oma", + "Omie", + "Ona", + "Oneida", + "Oneta", + "Oney", + "Onie", + "Onnie", + "Opal", + "Opha", + "Ophelia", + "Ora", + "Orah", + "Oral", + "Oralia", + "Orelia", + "Orene", + "Orilla", + "Orlena", + "Orma", + "Orpha", + "Orra", + "Orrie", + "Osa", + "Osie", + "Ossie", + "Ota", + "Otelia", + "Otha", + "Ottie", + "Ottilia", + "Ottilie", + "Ouida", + "Ova", + "Ozell", + "Ozella", + "Ozie", + "Paige", + "Pairlee", + "Paisley", + "Paityn", + "Pallie", + "Palma", + "Paloma", + "Pam", + "Pamala", + "Pamela", + "Pamelia", + "Pamella", + "Pandora", + "Pansy", + "Paola", + "Paralee", + "Paris", + "Parker", + "Parlee", + "Parthenia", + "Pat", + "Patience", + "Patrica", + "Patrice", + "Patricia", + "Patsy", + "Patti", + "Pattie", + "Patty", + "Paula", + "Pauletta", + "Paulette", + "Paulina", + "Pauline", + "Payten", + "Payton", + "Pearl", + "Pearla", + "Pearle", + "Pearlene", + "Pearlie", + "Pearline", + "Pearly", + "Peggie", + "Peggy", + "Penelope", + "Penni", + "Pennie", + "Penny", + "Pepper", + "Perla", + "Permelia", + "Perri", + "Petra", + "Peyton", + "Phebe", + "Pheobe", + "Phillis", + "Philomena", + "Philomene", + "Phoebe", + "Phoenix", + "Phylicia", + "Phylis", + "Phyliss", + "Phyllis", + "Pink", + "Pinkey", + "Pinkie", + "Piper", + "Pluma", + "Pollie", + "Polly", + "Porsche", + "Porsha", + "Portia", + "Precious", + "Presley", + "Pricilla", + "Princess", + "Priscila", + "Priscilla", + "Prudence", + "Prudie", + "Qiana", + "Queen", + "Queenie", + "Quiana", + "Quinn", + "Rachael", + "Racheal", + "Rachel", + "Rachelle", + "Racquel", + "Rae", + "Raegan", + "Raelyn", + "Raelynn", + "Rafaela", + "Ragna", + "Raina", + "Ramona", + "Randi", + "Raquel", + "Rashida", + "Raven", + "Rayna", + "Rayne", + "Reagan", + "Reanna", + "Reatha", + "Reba", + "Rebeca", + "Rebecca", + "Rebekah", + "Reece", + "Reese", + "Regan", + "Regena", + "Regenia", + "Regina", + "Reilly", + "Reina", + "Rella", + "Rena", + "Renada", + "Renae", + "Renata", + "Rene", + "Renea", + "Renee", + "Renita", + "Rennie", + "Ressie", + "Reta", + "Retha", + "Retta", + "Rettie", + "Reva", + "Reyna", + "Rhea", + "Rheta", + "Rhianna", + "Rhiannon", + "Rhoda", + "Rhona", + "Rhonda", + "Rianna", + "Richelle", + "Ricki", + "Rihanna", + "Rikki", + "Riley", + "Rilla", + "Rillie", + "Rinda", + "Risa", + "Rita", + "River", + "Riya", + "Robbie", + "Robbin", + "Roberta", + "Robin", + "Robyn", + "Rochelle", + "Rocio", + "Roena", + "Rolanda", + "Roma", + "Romaine", + "Romona", + "Rona", + "Ronda", + "Roni", + "Ronna", + "Ronnie", + "Rory", + "Rosa", + "Rosabelle", + "Rosalee", + "Rosalia", + "Rosalie", + "Rosalind", + "Rosalinda", + "Rosaline", + "Rosalyn", + "Rosamond", + "Rosann", + "Rosanna", + "Rosanne", + "Rosaria", + "Rosario", + "Rose", + "Roseann", + "Roseanna", + "Roseanne", + "Rosella", + "Roselyn", + "Rosemarie", + "Rosemary", + "Rosena", + "Rosetta", + "Rosey", + "Rosia", + "Rosie", + "Rosina", + "Rosita", + "Roslyn", + "Rossie", + "Rosy", + "Rowan", + "Rowena", + "Roxana", + "Roxane", + "Roxann", + "Roxanna", + "Roxanne", + "Roxie", + "Roxy", + "Rozanne", + "Rozella", + "Rubi", + "Rubie", + "Ruby", + "Rubye", + "Ruie", + "Ruth", + "Rutha", + "Ruthann", + "Ruthanne", + "Ruthe", + "Ruthie", + "Ryann", + "Rylan", + "Rylee", + "Ryleigh", + "Rylie", + "Sabina", + "Sable", + "Sabra", + "Sabrina", + "Sada", + "Sade", + "Sadie", + "Sadye", + "Sage", + "Saige", + "Salena", + "Salina", + "Sallie", + "Sally", + "Salma", + "Salome", + "Samantha", + "Samara", + "Samatha", + "Samira", + "Samiyah", + "Sammie", + "Sanaa", + "Sanai", + "Sandi", + "Sandie", + "Sandra", + "Sandy", + "Saniya", + "Saniyah", + "Sanjuana", + "Sanjuanita", + "Sannie", + "Santa", + "Santana", + "Santina", + "Santos", + "Sara", + "Sarah", + "Sarahi", + "Sarai", + "Sariah", + "Sarina", + "Sarita", + "Sarrah", + "Sasha", + "Saundra", + "Savana", + "Savanah", + "Savanna", + "Savannah", + "Savilla", + "Scarlet", + "Scarlett", + "Sebrina", + "Selah", + "Selena", + "Selene", + "Selina", + "Selma", + "Sena", + "Senora", + "Serena", + "Serenity", + "Serina", + "Shae", + "Shaina", + "Shakira", + "Shalon", + "Shalonda", + "Shameka", + "Shamika", + "Shana", + "Shanae", + "Shanda", + "Shandra", + "Shane", + "Shaneka", + "Shanell", + "Shanelle", + "Shanequa", + "Shani", + "Shania", + "Shanice", + "Shaniece", + "Shanika", + "Shaniqua", + "Shanita", + "Shaniya", + "Shanna", + "Shannan", + "Shannen", + "Shannon", + "Shanon", + "Shanta", + "Shante", + "Shantel", + "Shantell", + "Shaquana", + "Shaquita", + "Shara", + "Shardae", + "Sharday", + "Sharde", + "Sharee", + "Sharen", + "Shari", + "Sharita", + "Sharla", + "Sharleen", + "Sharlene", + "Sharman", + "Sharon", + "Sharonda", + "Sharron", + "Sharyl", + "Sharyn", + "Shasta", + "Shatara", + "Shauna", + "Shaunna", + "Shavon", + "Shavonne", + "Shawanda", + "Shawna", + "Shawnda", + "Shawnee", + "Shawnna", + "Shawnte", + "Shay", + "Shayla", + "Shaylee", + "Shayna", + "Shea", + "Sheena", + "Sheila", + "Sheilah", + "Shelba", + "Shelbi", + "Shelbie", + "Shelby", + "Shelia", + "Shelley", + "Shelli", + "Shellie", + "Shelly", + "Shelva", + "Shelvia", + "Shelvie", + "Shena", + "Shenna", + "Sheree", + "Sheri", + "Sheridan", + "Sherie", + "Sherilyn", + "Sherita", + "Sherlyn", + "Sheron", + "Sherree", + "Sherri", + "Sherrie", + "Sherrill", + "Sherron", + "Sherry", + "Sherryl", + "Sheryl", + "Sheryll", + "Sheyla", + "Shianne", + "Shiela", + "Shiloh", + "Shira", + "Shirl", + "Shirlee", + "Shirleen", + "Shirlene", + "Shirley", + "Shirleyann", + "Shirlie", + "Shona", + "Shonda", + "Shonna", + "Shreya", + "Shyann", + "Shyanne", + "Shyla", + "Sibbie", + "Sibyl", + "Siddie", + "Sidney", + "Siena", + "Sienna", + "Sierra", + "Signa", + "Signe", + "Sigrid", + "Silvia", + "Simona", + "Simone", + "Sina", + "Sinda", + "Siobhan", + "Sister", + "Sky", + "Skye", + "Skyla", + "Skylar", + "Skyler", + "Sloane", + "Socorro", + "Sofia", + "Soledad", + "Somer", + "Sommer", + "Sondra", + "Sonia", + "Sonja", + "Sonji", + "Sonya", + "Sophia", + "Sophie", + "Sophronia", + "Spring", + "Stacey", + "Staci", + "Stacia", + "Stacie", + "Stacy", + "Star", + "Starla", + "Starr", + "Stasia", + "Stefani", + "Stefanie", + "Stella", + "Stephaine", + "Stephani", + "Stephania", + "Stephanie", + "Stephany", + "Stephenie", + "Stevie", + "Stormy", + "Sudie", + "Sue", + "Suellen", + "Sula", + "Summer", + "Sunday", + "Sunny", + "Sunshine", + "Susan", + "Susana", + "Susann", + "Susanna", + "Susannah", + "Susanne", + "Susie", + "Sussie", + "Suzan", + "Suzann", + "Suzanna", + "Suzanne", + "Suzette", + "Suzie", + "Suzy", + "Sybil", + "Sybilla", + "Syble", + "Sydell", + "Sydnee", + "Sydney", + "Sydni", + "Sydnie", + "Sylva", + "Sylvania", + "Sylvia", + "Symone", + "Syreeta", + "Tabatha", + "Tabetha", + "Tabitha", + "Tai", + "Taina", + "Taja", + "Takisha", + "Talia", + "Taliyah", + "Tamala", + "Tamara", + "Tamatha", + "Tambra", + "Tameka", + "Tamekia", + "Tamela", + "Tamera", + "Tami", + "Tamia", + "Tamica", + "Tamie", + "Tamika", + "Tamiko", + "Tamisha", + "Tammi", + "Tammie", + "Tammy", + "Tamra", + "Tamya", + "Tana", + "Tanesha", + "Tangela", + "Tania", + "Tanika", + "Tanisha", + "Taniya", + "Taniyah", + "Tanja", + "Tanya", + "Tara", + "Tarah", + "Taraji", + "Tari", + "Tarsha", + "Taryn", + "Tasha", + "Tashina", + "Tasia", + "Tatia", + "Tatiana", + "Tatianna", + "Tatum", + "Tatyana", + "Tatyanna", + "Tawana", + "Tawanda", + "Tawanna", + "Tawny", + "Tawnya", + "Taya", + "Tayla", + "Tayler", + "Taylor", + "Tea", + "Teagan", + "Teela", + "Teena", + "Tella", + "Tempie", + "Tena", + "Tenika", + "Tenisha", + "Tennessee", + "Tennie", + "Tennille", + "Tera", + "Teresa", + "Terese", + "Teressa", + "Teri", + "Terra", + "Terri", + "Terrie", + "Terry", + "Tess", + "Tessa", + "Tessie", + "Texanna", + "Texas", + "Texie", + "Thalia", + "Thea", + "Theda", + "Thekla", + "Thelma", + "Theodocia", + "Theodora", + "Theodosia", + "Theola", + "Theresa", + "Therese", + "Theresia", + "Theta", + "Thomasina", + "Thora", + "Thresa", + "Thursa", + "Thyra", + "Tia", + "Tiana", + "Tianna", + "Tiara", + "Tiarra", + "Tiera", + "Tierra", + "Tiesha", + "Tiffani", + "Tiffanie", + "Tiffany", + "Tilda", + "Tilla", + "Tillie", + "Tina", + "Tiney", + "Tinie", + "Tinnie", + "Tiny", + "Tisa", + "Tisha", + "Tishie", + "Tobi", + "Toby", + "Toccara", + "Tomasa", + "Tomeka", + "Tomika", + "Tommie", + "Tonda", + "Toni", + "Tonia", + "Tonja", + "Tonya", + "Tori", + "Torie", + "Torrie", + "Tory", + "Tosha", + "Toshiko", + "Towanda", + "Toya", + "Tracee", + "Tracey", + "Traci", + "Tracie", + "Tracy", + "Treasure", + "Treena", + "Trena", + "Tresa", + "Tressa", + "Tressie", + "Treva", + "Tricia", + "Trilby", + "Trina", + "Trinidad", + "Trinity", + "Trish", + "Trisha", + "Trista", + "Tristan", + "Tristen", + "Trudi", + "Trudie", + "Trudy", + "Trula", + "Tula", + "Twila", + "Twyla", + "Tyesha", + "Tyra", + "Ula", + "Una", + "Unique", + "Unknown", + "Ura", + "Ursula", + "Vada", + "Val", + "Valarie", + "Valencia", + "Valentina", + "Valentine", + "Valeria", + "Valerie", + "Valery", + "Valinda", + "Vallie", + "Valorie", + "Vanesa", + "Vanessa", + "Vannie", + "Vara", + "Vashti", + "Vassie", + "Veda", + "Vela", + "Velda", + "Velia", + "Vella", + "Velma", + "Velva", + "Velvet", + "Vena", + "Venessa", + "Venice", + "Venie", + "Venita", + "Vennie", + "Venus", + "Veola", + "Vera", + "Verda", + "Verdell", + "Verdie", + "Verena", + "Vergie", + "Verla", + "Verlene", + "Verlie", + "Verna", + "Verne", + "Vernell", + "Vernelle", + "Vernetta", + "Vernia", + "Vernice", + "Vernie", + "Vernita", + "Verona", + "Veronica", + "Versa", + "Versie", + "Vertie", + "Vessie", + "Vesta", + "Veta", + "Veva", + "Vicie", + "Vickey", + "Vicki", + "Vickie", + "Vicky", + "Victoria", + "Victorine", + "Victory", + "Vicy", + "Vida", + "Vikki", + "Villa", + "Vilma", + "Vina", + "Vincenza", + "Viney", + "Vinie", + "Vinnie", + "Viola", + "Violet", + "Violeta", + "Violetta", + "Violette", + "Vira", + "Virdie", + "Virgia", + "Virgie", + "Virginia", + "Viridiana", + "Vita", + "Viva", + "Vivian", + "Viviana", + "Vivien", + "Vivienne", + "Vlasta", + "Vonda", + "Vonetta", + "Vonnie", + "Wanda", + "Waneta", + "Wanita", + "Wava", + "Wende", + "Wendi", + "Wendy", + "Whitley", + "Whitney", + "Wilda", + "Wilhelmina", + "Wilhelmine", + "Willa", + "Willene", + "Willia", + "Willie", + "Williemae", + "Willodean", + "Willow", + "Wilma", + "Windy", + "Winifred", + "Winnie", + "Winnifred", + "Winona", + "Winter", + "Wynona", + "Xena", + "Ximena", + "Xiomara", + "Yadira", + "Yahaira", + "Yajaira", + "Yamilet", + "Yamilex", + "Yareli", + "Yaretzi", + "Yaritza", + "Yasmeen", + "Yasmin", + "Yasmine", + "Yazmin", + "Yesenia", + "Yessenia", + "Yetta", + "Yolanda", + "Yolonda", + "Yoselin", + "Yoshiko", + "Yuliana", + "Yulisa", + "Yulissa", + "Yuridia", + "Yvette", + "Yvonne", + "Zada", + "Zadie", + "Zaida", + "Zana", + "Zandra", + "Zaniyah", + "Zara", + "Zaria", + "Zariah", + "Zela", + "Zelda", + "Zelia", + "Zella", + "Zelma", + "Zelpha", + "Zena", + "Zenobia", + "Zeta", + "Zetta", + "Zettie", + "Zhane", + "Zillah", + "Zilpah", + "Zilpha", + "Zina", + "Zion", + "Zita", + "Zoa", + "Zoe", + "Zoey", + "Zoie", + "Zola", + "Zona", + "Zora", + "Zula", ) first_names_male = ( - 'Aaden', 'Aarav', 'Aaron', 'Ab', 'Abb', 'Abbott', 'Abdiel', 'Abdul', - 'Abdullah', 'Abe', 'Abel', 'Abelardo', 'Abie', 'Abner', 'Abraham', - 'Abram', 'Ace', 'Acey', 'Acie', 'Acy', 'Adalberto', 'Adam', 'Adams', - 'Adan', 'Add', 'Adelard', 'Adelbert', 'Aden', 'Adin', 'Aditya', 'Adlai', - 'Admiral', 'Adolf', 'Adolfo', 'Adolph', 'Adolphus', 'Adonis', 'Adrain', - 'Adrian', 'Adriel', 'Adrien', 'Adron', 'Aedan', 'Agustin', 'Agustus', - 'Ah', 'Ahmad', 'Ahmed', 'Aidan', 'Aiden', 'Aidyn', 'Aime', 'Akeem', - 'Al', 'Alan', 'Alanzo', 'Albert', 'Alberto', 'Albertus', 'Albin', - 'Albion', 'Alby', 'Alcee', 'Alcide', 'Alden', 'Aldo', 'Alec', 'Aleck', - 'Alejandro', 'Alek', 'Alessandro', 'Alex', 'Alexande', 'Alexander', - 'Alexandre', 'Alexandro', 'Alexis', 'Alexzander', 'Alf', 'Alferd', - 'Alfie', 'Alfonse', 'Alfonso', 'Alfonzo', 'Alford', 'Alfred', 'Alfredo', - 'Alger', 'Algernon', 'Algie', 'Algot', 'Ali', 'Alijah', 'Allan', - 'Allen', 'Allyn', 'Almer', 'Almon', 'Almond', 'Almus', 'Alois', - 'Alonso', 'Alonza', 'Alonzo', 'Aloys', 'Aloysius', 'Alpheus', 'Alphons', - 'Alphonse', 'Alphonso', 'Alphonsus', 'Alston', 'Alto', 'Alton', 'Alva', - 'Alvah', 'Alvan', 'Alvaro', 'Alver', 'Alvia', 'Alvie', 'Alvin', 'Alvis', - 'Alvy', 'Alwin', 'Amado', 'Amare', 'Amari', 'Amarion', 'Amasa', - 'Ambers', 'Ambrose', 'Americo', 'Amerigo', 'Amil', 'Amin', 'Amir', - 'Amit', 'Ammon', 'Amon', 'Amos', 'Ananias', 'Anastacio', 'Anatole', - 'Ancel', 'Ancil', 'Anders', 'Anderson', 'Andon', 'Andra', 'Andrae', - 'Andre', 'Andreas', 'Andres', 'Andrew', 'Andy', 'Anfernee', 'Angel', - 'Angelo', 'Angus', 'Anibal', 'Ansel', 'Anson', 'Anthoney', 'Anthony', - 'Antione', 'Antoine', 'Anton', 'Antone', 'Antonio', 'Antony', 'Antwain', - 'Antwan', 'Antwon', 'Anwar', 'Arba', 'Arbie', 'Arch', 'Archer', - 'Archibald', 'Archie', 'Ardell', 'Arden', 'Ari', 'Aric', 'Arjun', - 'Arlan', 'Arland', 'Arlen', 'Arley', 'Arlie', 'Arlin', 'Arlington', - 'Arlis', 'Arlo', 'Arlyn', 'Arman', 'Armand', 'Armando', 'Armani', - 'Armin', 'Armond', 'Armstead', 'Arnav', 'Arne', 'Arnett', 'Arnie', - 'Arno', 'Arnold', 'Arnoldo', 'Arnulfo', 'Aron', 'Arron', 'Arsenio', - 'Art', 'Arther', 'Arthor', 'Arthur', 'Artie', 'Artis', 'Arturo', - 'Arvel', 'Arvid', 'Arvil', 'Arvin', 'Arvo', 'Aryan', 'Asa', 'Asberry', - 'Asbury', 'Ashby', 'Asher', 'Ashton', 'Atha', 'Atlas', 'Atticus', - 'Attilio', 'Aubra', 'Aubrey', 'Audie', 'Audley', 'Audy', 'August', - 'Auguste', 'Augustin', 'Augustine', 'Augustus', 'Aurelio', 'Aurthur', - 'Austen', 'Austin', 'Auston', 'Austyn', 'Auther', 'Author', 'Authur', - 'Autry', 'Avery', 'Avon', 'Axel', 'Ayaan', 'Aydan', 'Ayden', 'Aydin', - 'Babe', 'Babyboy', 'Bailey', 'Baker', 'Baldwin', 'Ballard', 'Banks', - 'Barnard', 'Barnett', 'Barney', 'Barnie', 'Baron', 'Barrett', 'Barrie', - 'Barron', 'Barry', 'Bart', 'Bartholomew', 'Bartley', 'Barton', 'Bascom', - 'Basil', 'Baxter', 'Bayard', 'Beau', 'Beckett', 'Beckham', 'Bedford', - 'Beecher', 'Bell', 'Belton', 'Ben', 'Benard', 'Benedict', 'Benito', - 'Benjaman', 'Benjamen', 'Benjamin', 'Benjamine', 'Benji', 'Benjiman', - 'Benjman', 'Bennett', 'Bennie', 'Benny', 'Benson', 'Bentley', 'Benton', - 'Berkley', 'Berlin', 'Bernard', 'Bernardo', 'Bernhard', 'Bernie', - 'Berry', 'Bert', 'Bertie', 'Berton', 'Bertram', 'Bertrand', 'Beryl', - 'Bethel', 'Bilal', 'Bill', 'Billie', 'Billy', 'Bird', 'Birt', 'Bishop', - 'Bjorn', 'Blain', 'Blaine', 'Blair', 'Blaise', 'Blake', 'Blanchard', - 'Blane', 'Blas', 'Blaze', 'Bliss', 'Bluford', 'Bo', 'Bob', 'Bobbie', - 'Bobby', 'Bode', 'Bolden', 'Booker', 'Boone', 'Boris', 'Bose', 'Boss', - 'Boston', 'Bowman', 'Boyce', 'Boyd', 'Boysie', 'Brad', 'Braden', - 'Bradford', 'Bradley', 'Bradly', 'Brady', 'Bradyn', 'Braeden', - 'Braedon', 'Braiden', 'Brain', 'Branch', 'Brandan', 'Branden', - 'Brandin', 'Brandon', 'Brandt', 'Brandy', 'Brandyn', 'Brannon', - 'Branson', 'Brant', 'Brantley', 'Braulio', 'Braxton', 'Brayan', - 'Brayden', 'Braydon', 'Braylen', 'Braylon', 'Brendan', 'Brenden', - 'Brendon', 'Brennan', 'Brennen', 'Brennon', 'Brent', 'Brenton', 'Bret', - 'Brett', 'Brian', 'Brice', 'Bridger', 'Brien', 'Brion', 'Britt', - 'Brittany', 'Britton', 'Brock', 'Broderick', 'Brodie', 'Brody', - 'Brogan', 'Bronson', 'Brook', 'Brooks', 'Brown', 'Bruce', 'Bruno', - 'Bryan', 'Bryant', 'Bryce', 'Brycen', 'Bryon', 'Bryson', 'Bryton', - 'Buck', 'Bud', 'Budd', 'Buddie', 'Buddy', 'Buel', 'Buell', 'Buford', - 'Bunk', 'Burdette', 'Buren', 'Burgess', 'Burk', 'Burke', 'Burl', - 'Burleigh', 'Burley', 'Burnell', 'Burnett', 'Burney', 'Burnice', - 'Burnie', 'Burns', 'Burr', 'Burrel', 'Burrell', 'Burt', 'Burton', - 'Bush', 'Buster', 'Butch', 'Butler', 'Bynum', 'Byrd', 'Byron', 'Cade', - 'Caden', 'Cael', 'Caesar', 'Caiden', 'Cain', 'Cal', 'Cale', 'Caleb', - 'Calhoun', 'Callie', 'Callum', 'Calvin', 'Cam', 'Camden', 'Cameron', - 'Camilo', 'Campbell', 'Camren', 'Camron', 'Camryn', 'Candido', 'Cannon', - 'Canyon', 'Cap', 'Captain', 'Carey', 'Carl', 'Carleton', 'Carlie', - 'Carlisle', 'Carlo', 'Carlos', 'Carlton', 'Carlyle', 'Carmel', - 'Carmelo', 'Carmen', 'Carmine', 'Carnell', 'Carrie', 'Carrol', - 'Carroll', 'Carsen', 'Carson', 'Carter', 'Cary', 'Cas', 'Case', 'Casen', - 'Casey', 'Cash', 'Casimer', 'Casimir', 'Casimiro', 'Cason', 'Casper', - 'Cass', 'Cassidy', 'Cassie', 'Cassius', 'Caswell', 'Cato', 'Cayden', - 'Ceasar', 'Cecil', 'Cedric', 'Cedrick', 'Celestino', 'Cephus', 'Cesar', - 'Ceylon', 'Chace', 'Chad', 'Chadd', 'Chadrick', 'Chadwick', 'Chaim', - 'Chalmer', 'Chalmers', 'Champ', 'Chance', 'Chancey', 'Chancy', - 'Chandler', 'Channing', 'Charle', 'Charles', 'Charley', 'Charlie', - 'Charls', 'Charlton', 'Charly', 'Chas', 'Chase', 'Chauncey', 'Chauncy', - 'Chaz', 'Che', 'Chesley', 'Chester', 'Chet', 'Cheyenne', 'Chin', 'Chip', - 'Chris', 'Christ', 'Christian', 'Christina', 'Christion', 'Christop', - 'Christoper', 'Christophe', 'Christopher', 'Chuck', 'Cicero', 'Clabe', - 'Claiborne', 'Clair', 'Clarance', 'Clare', 'Clarence', 'Clark', - 'Clarke', 'Clarnce', 'Claud', 'Claude', 'Claudie', 'Claudio', - 'Claudius', 'Claus', 'Clay', 'Clayton', 'Clearence', 'Cleave', 'Clell', - 'Clem', 'Clemence', 'Clemens', 'Clement', 'Clemente', 'Clemmie', - 'Clemon', 'Cleo', 'Cleon', 'Cletus', 'Cleve', 'Cleveland', 'Clide', - 'Cliff', 'Clifford', 'Clifton', 'Clint', 'Clinton', 'Clive', 'Clovis', - 'Cloyd', 'Clyde', 'Coby', 'Codey', 'Codi', 'Codie', 'Cody', 'Coen', - 'Cohen', 'Colbert', 'Colby', 'Cole', 'Coleman', 'Coleton', 'Coley', - 'Colie', 'Colin', 'Collie', 'Collier', 'Collin', 'Collins', 'Collis', - 'Colon', 'Colonel', 'Colt', 'Colten', 'Colter', 'Colton', 'Columbus', - 'Colvin', 'Commodore', 'Con', 'Conard', 'Conley', 'Conner', 'Connie', - 'Connor', 'Conor', 'Conrad', 'Constantine', 'Conway', 'Coolidge', - 'Cooper', 'Corbett', 'Corbin', 'Cordaro', 'Cordell', 'Cordero', 'Corey', - 'Cornel', 'Cornelious', 'Cornelius', 'Cornell', 'Corry', 'Cortez', - 'Cortney', 'Corwin', 'Cory', 'Cosmo', 'Coty', 'Council', 'Courtland', - 'Courtney', 'Coy', 'Craig', 'Crawford', 'Creed', 'Cris', 'Cristian', - 'Cristobal', 'Cristofer', 'Cristopher', 'Crockett', 'Cruz', 'Cullen', - 'Curley', 'Curt', 'Curtis', 'Curtiss', 'Cyril', 'Cyrus', 'Dabney', - 'Dakoda', 'Dakota', 'Dakotah', 'Dale', 'Dallas', 'Dallin', 'Dalton', - 'Dalvin', 'Damarcus', 'Damari', 'Damarion', 'Dameon', 'Damian', - 'Damien', 'Damion', 'Damon', 'Damond', 'Dan', 'Dana', 'Dandre', 'Dane', - 'Dangelo', 'Danial', 'Daniel', 'Dann', 'Dannie', 'Danniel', 'Danny', - 'Dante', 'Daquan', 'Darby', 'Darcy', 'Darell', 'Daren', 'Darian', - 'Darien', 'Darin', 'Dario', 'Darion', 'Darius', 'Darl', 'Darnell', - 'Darold', 'Daron', 'Darrel', 'Darrell', 'Darren', 'Darrian', 'Darrick', - 'Darrien', 'Darrin', 'Darrion', 'Darrius', 'Darron', 'Darry', 'Darryl', - 'Darryle', 'Darryll', 'Darryn', 'Darvin', 'Darwin', 'Darwyn', 'Daryl', - 'Daryle', 'Daryn', 'Dashawn', 'Daulton', 'Daunte', 'Davante', 'Dave', - 'Davey', 'Davian', 'David', 'Davie', 'Davin', 'Davion', 'Davis', - 'Davon', 'Davonta', 'Davonte', 'Davy', 'Dawson', 'Dax', 'Daxton', - 'Dayne', 'Dayton', 'Deacon', 'Dean', 'Deandre', 'Deane', 'Deangelo', - 'Deante', 'Declan', 'Dedric', 'Dedrick', 'Deegan', 'Deforest', 'Deion', - 'Dejon', 'Dejuan', 'Del', 'Delano', 'Delbert', 'Dell', 'Della', 'Delma', - 'Delmar', 'Delmas', 'Delmer', 'Delmus', 'Delos', 'Delphin', 'Delton', - 'Delvin', 'Delwin', 'Demarco', 'Demarcus', 'Demario', 'Demarion', - 'Demetri', 'Demetric', 'Demetrios', 'Demetrius', 'Demian', 'Demond', - 'Demonte', 'Dempsey', 'Denis', 'Dennie', 'Dennis', 'Denny', 'Denton', - 'Denver', 'Denzel', 'Denzell', 'Denzil', 'Deon', 'Deondre', 'Deonta', - 'Deontae', 'Deonte', 'Dequan', 'Derald', 'Dereck', 'Derek', 'Dereon', - 'Deric', 'Derick', 'Derik', 'Derl', 'Deron', 'Derrek', 'Derrell', - 'Derrick', 'Derwin', 'Deryl', 'Desean', 'Deshaun', 'Deshawn', 'Desi', - 'Desmond', 'Dessie', 'Destin', 'Destry', 'Devan', 'Devante', 'Devaughn', - 'Deven', 'Devin', 'Devon', 'Devonta', 'Devontae', 'Devonte', 'Devyn', - 'Deward', 'Dewayne', 'Dewey', 'Dewitt', 'Dexter', 'Diallo', 'Diamond', - 'Diane', 'Dickie', 'Diego', 'Dijon', 'Dilan', 'Dillan', 'Dillard', - 'Dillion', 'Dillon', 'Dimitri', 'Dimitrios', 'Dink', 'Dino', 'Dion', - 'Dionicio', 'Dionte', 'Dirk', 'Dixon', 'Doc', 'Dock', 'Doctor', 'Doll', - 'Dolph', 'Dolphus', 'Domenic', 'Domenick', 'Domenico', 'Domingo', - 'Dominic', 'Dominick', 'Dominik', 'Don', 'Donaciano', 'Donal', 'Donald', - 'Donat', 'Donato', 'Donavan', 'Donavon', 'Dondre', 'Donell', 'Donn', - 'Donnell', 'Donnie', 'Donny', 'Donovan', 'Donta', 'Dontae', 'Donte', - 'Dora', 'Dorian', 'Dorman', 'Dorr', 'Dorris', 'Dorsey', 'Doss', 'Doug', - 'Douglas', 'Douglass', 'Dow', 'Doyle', 'Dozier', 'Drake', 'Draven', - 'Drew', 'Drury', 'Duane', 'Duard', 'Dudley', 'Duff', 'Duke', 'Duncan', - 'Durell', 'Durrell', 'Durward', 'Durwood', 'Dustan', 'Dustin', 'Dusty', - 'Dustyn', 'Duwayne', 'Dwain', 'Dwaine', 'Dwane', 'Dwayne', 'Dwight', - 'Dwyane', 'Dylan', 'Dyllan', 'Dylon', 'Ean', 'Earl', 'Earle', 'Earley', - 'Earlie', 'Early', 'Earnest', 'Easton', 'Ebb', 'Ebbie', 'Eben', - 'Ebenezer', 'Eber', 'Ebert', 'Ed', 'Edd', 'Eddie', 'Eddy', 'Eden', - 'Edgar', 'Edgardo', 'Edie', 'Edison', 'Edmon', 'Edmond', 'Edmund', - 'Edsel', 'Edson', 'Eduardo', 'Edw', 'Edward', 'Edwardo', 'Edwin', - 'Effie', 'Efrain', 'Efrem', 'Efren', 'Egbert', 'Einar', 'Eino', 'Elam', - 'Elbert', 'Elbridge', 'Elby', 'Elden', 'Elder', 'Eldon', 'Eldred', - 'Eldridge', 'Elex', 'Elgie', 'Elgin', 'Eli', 'Elian', 'Elias', 'Elick', - 'Elie', 'Eliezer', 'Eliga', 'Eligah', 'Elige', 'Elihu', 'Elijah', - 'Eliot', 'Eliseo', 'Elisha', 'Elizah', 'Ell', 'Ellery', 'Elliot', - 'Elliott', 'Ellis', 'Ellison', 'Ellsworth', 'Ellwood', 'Elmer', 'Elmo', - 'Elmore', 'Elon', 'Elonzo', 'Eloy', 'Elroy', 'Elsworth', 'Elton', - 'Elvin', 'Elvis', 'Elwin', 'Elwood', 'Elwyn', 'Ely', 'Elza', 'Elzie', - 'Elzy', 'Emanuel', 'Emerson', 'Emery', 'Emett', 'Emil', 'Emile', - 'Emiliano', 'Emilio', 'Emit', 'Emma', 'Emmanuel', 'Emmet', 'Emmett', - 'Emmit', 'Emmitt', 'Emmons', 'Emory', 'Emry', 'Encarnacion', 'Ennis', - 'Enoch', 'Enos', 'Enrico', 'Enrique', 'Enzo', 'Ephraim', 'Ephram', - 'Ephriam', 'Epifanio', 'Erasmo', 'Erasmus', 'Erastus', 'Erby', 'Eric', - 'Erich', 'Erick', 'Erie', 'Erik', 'Erin', 'Erland', 'Erle', 'Erling', - 'Ernest', 'Ernesto', 'Ernie', 'Ernst', 'Errol', 'Ervin', 'Erving', - 'Erwin', 'Esau', 'Esco', 'Esequiel', 'Esker', 'Esley', 'Essex', - 'Esteban', 'Estel', 'Estes', 'Estevan', 'Estill', 'Eston', 'Ethan', - 'Ethelbert', 'Ethen', 'Eugene', 'Eugenio', 'Eusebio', 'Eustace', 'Evan', - 'Evander', 'Evans', 'Evelyn', 'Everet', 'Everett', 'Everette', 'Evert', - 'Evertt', 'Ewald', 'Ewart', 'Ewell', 'Ewin', 'Ewing', 'Ezekiel', - 'Ezell', 'Ezequiel', 'Ezra', 'Ezzard', 'Fabian', 'Faron', 'Farrell', - 'Farris', 'Fate', 'Faustino', 'Fayette', 'Fed', 'Federico', 'Felipe', - 'Felix', 'Felton', 'Fenton', 'Ferd', 'Ferdinand', 'Ferman', 'Fernand', - 'Fernando', 'Ferrell', 'Ferris', 'Festus', 'Fidel', 'Fidencio', - 'Fielding', 'Finis', 'Finley', 'Finn', 'Finnegan', 'Firman', 'Fisher', - 'Fitzgerald', 'Fitzhugh', 'Fleet', 'Flem', 'Fleming', 'Fletcher', - 'Flint', 'Florencio', 'Florentino', 'Florian', 'Floy', 'Floyd', 'Foch', - 'Ford', 'Forest', 'Forrest', 'Foster', 'Fount', 'Foy', 'Frances', - 'Francesco', 'Francis', 'Francisco', 'Franco', 'Frank', 'Frankie', - 'Franklin', 'Franklyn', 'Franz', 'Frazier', 'Fred', 'Freddie', 'Freddy', - 'Frederic', 'Frederick', 'Fredie', 'Fredric', 'Fredrick', 'Fredy', - 'Freeman', 'Fremont', 'French', 'Friend', 'Fritz', 'Fuller', 'Fulton', - 'Furman', 'Gabe', 'Gabriel', 'Gael', 'Gaetano', 'Gage', 'Gaige', 'Gail', - 'Gaines', 'Gaither', 'Gale', 'Galen', 'Gannon', 'Gardner', 'Garett', - 'Garey', 'Garfield', 'Garland', 'Garner', 'Garnet', 'Garnett', 'Garold', - 'Garret', 'Garrett', 'Garrick', 'Garrison', 'Garry', 'Garth', 'Garvin', - 'Gary', 'Gasper', 'Gaston', 'Gauge', 'Gaven', 'Gavin', 'Gavyn', 'Gay', - 'Gayle', 'Gaylen', 'Gaylon', 'Gaylord', 'Gearld', 'Geary', 'Gee', - 'Genaro', 'Gene', 'General', 'Genie', 'Gennaro', 'Geno', 'Geo', 'Geoff', - 'Geoffrey', 'George', 'Georgie', 'Geovanni', 'Gerald', 'Geraldo', - 'Gerard', 'Gerardo', 'Gerhard', 'Gerhardt', 'Germaine', 'German', - 'Gerold', 'Gerrit', 'Gerry', 'Giancarlo', 'Gianni', 'Gibson', 'Gideon', - 'Gifford', 'Gil', 'Gilbert', 'Gilberto', 'Giles', 'Gilford', 'Gilman', - 'Gilmer', 'Gilmore', 'Gino', 'Giovani', 'Giovanni', 'Giovanny', - 'Giuseppe', 'Gladstone', 'Glen', 'Glendon', 'Glenn', 'Glenwood', - 'Glover', 'Glynn', 'Godfrey', 'Goebel', 'Golden', 'Gonzalo', 'Gorden', - 'Gordon', 'Gorge', 'Gottlieb', 'Governor', 'Grady', 'Grafton', 'Graham', - 'Grant', 'Granville', 'Graves', 'Gray', 'Graydon', 'Grayling', - 'Grayson', 'Green', 'Greene', 'Greg', 'Gregg', 'Greggory', 'Gregorio', - 'Gregory', 'Greyson', 'Griffin', 'Griffith', 'Grove', 'Grover', 'Guido', - 'Guilford', 'Guillermo', 'Gunnar', 'Gunner', 'Gurney', 'Gus', 'Guss', - 'Gussie', 'Gust', 'Gustaf', 'Gustav', 'Gustave', 'Gustavo', 'Gustavus', - 'Guthrie', 'Guy', 'Haden', 'Hadley', 'Haiden', 'Hakeem', 'Hakim', 'Hal', - 'Halbert', 'Hale', 'Hall', 'Halley', 'Hallie', 'Halsey', 'Ham', - 'Hamilton', 'Hamp', 'Hampton', 'Hamza', 'Handy', 'Hank', 'Hans', - 'Hansel', 'Hansford', 'Hanson', 'Harden', 'Hardie', 'Hardin', 'Harding', - 'Hardy', 'Harl', 'Harlan', 'Harland', 'Harlen', 'Harley', 'Harlie', - 'Harlon', 'Harlow', 'Harm', 'Harman', 'Harmon', 'Harold', 'Harper', - 'Harrell', 'Harrie', 'Harris', 'Harrison', 'Harrold', 'Harry', 'Hart', - 'Hartley', 'Hartwell', 'Harve', 'Harvey', 'Harvie', 'Harvy', 'Hasan', - 'Haskell', 'Hassan', 'Hattie', 'Haven', 'Hayden', 'Hayes', 'Hays', - 'Hayward', 'Haywood', 'Hazen', 'Heath', 'Heber', 'Hebert', 'Hector', - 'Helmer', 'Hence', 'Henderson', 'Henery', 'Henri', 'Henry', 'Herb', - 'Herbert', 'Heriberto', 'Herman', 'Hermann', 'Hermon', 'Hernan', - 'Herschel', 'Hershel', 'Hershell', 'Hervey', 'Heyward', 'Hezekiah', - 'Hezzie', 'Hideo', 'Hilario', 'Hilary', 'Hilbert', 'Hill', 'Hillard', - 'Hillary', 'Hillery', 'Hilliard', 'Hilmer', 'Hilton', 'Hiram', - 'Hiroshi', 'Hjalmar', 'Hjalmer', 'Hobart', 'Hobert', 'Hobson', 'Hoke', - 'Holden', 'Holland', 'Hollie', 'Hollis', 'Holmes', 'Homer', 'Hoover', - 'Hope', 'Horace', 'Horacio', 'Horatio', 'Horton', 'Hosea', 'Hosie', - 'Hosteen', 'Houston', 'Howard', 'Howell', 'Hoy', 'Hoyt', 'Hubbard', - 'Hubert', 'Hudson', 'Huey', 'Hugh', 'Hughes', 'Hughey', 'Hughie', - 'Hugo', 'Humberto', 'Humphrey', 'Hung', 'Hunt', 'Hunter', 'Hurbert', - 'Hurley', 'Huston', 'Huy', 'Hyman', 'Hymen', 'Hyrum', 'Ian', 'Ibrahim', - 'Ida', 'Ignacio', 'Ignatius', 'Ignatz', 'Ike', 'Illya', 'Imanol', - 'Immanuel', 'Infant', 'Ingram', 'Ira', 'Irl', 'Irven', 'Irvin', - 'Irvine', 'Irving', 'Irwin', 'Isaac', 'Isaak', 'Isadore', 'Isai', - 'Isaiah', 'Isaias', 'Isam', 'Ishaan', 'Isham', 'Ishmael', 'Isiah', - 'Isidor', 'Isidore', 'Isidro', 'Ismael', 'Isom', 'Israel', 'Isreal', - 'Issac', 'Iva', 'Ivan', 'Iver', 'Iverson', 'Ivey', 'Ivor', 'Ivory', - 'Ivy', 'Izaiah', 'Izayah', 'Jabari', 'Jabbar', 'Jabez', 'Jace', 'Jack', - 'Jackson', 'Jacky', 'Jacob', 'Jacoby', 'Jacques', 'Jacquez', 'Jade', - 'Jaden', 'Jadiel', 'Jadon', 'Jadyn', 'Jaeden', 'Jagger', 'Jaheem', - 'Jaheim', 'Jahiem', 'Jahir', 'Jaiden', 'Jaidyn', 'Jaime', 'Jaimie', - 'Jair', 'Jairo', 'Jajuan', 'Jake', 'Jakob', 'Jakobe', 'Jaleel', 'Jalen', - 'Jalon', 'Jamaal', 'Jamal', 'Jamar', 'Jamarcus', 'Jamari', 'Jamarion', - 'Jame', 'Jameel', 'Jamel', 'James', 'Jameson', 'Jamey', 'Jamie', - 'Jamil', 'Jamin', 'Jamir', 'Jamison', 'Jammie', 'Jan', 'Jaquan', - 'Jaquez', 'Jarad', 'Jared', 'Jaren', 'Jaret', 'Jarett', 'Jarod', - 'Jaron', 'Jarrad', 'Jarred', 'Jarrell', 'Jarret', 'Jarrett', 'Jarrod', - 'Jarvis', 'Jase', 'Jasen', 'Jasiah', 'Jason', 'Jasper', 'Javen', - 'Javier', 'Javion', 'Javon', 'Javonte', 'Jax', 'Jaxen', 'Jaxon', - 'Jaxson', 'Jaxton', 'Jay', 'Jayce', 'Jaycob', 'Jaydan', 'Jayden', - 'Jaydin', 'Jaydon', 'Jaylan', 'Jaylen', 'Jaylin', 'Jaylon', 'Jayme', - 'Jaymes', 'Jayson', 'Jayvion', 'Jayvon', 'Jean', 'Jeb', 'Jed', - 'Jedediah', 'Jedidiah', 'Jeff', 'Jefferey', 'Jefferson', 'Jeffery', - 'Jeffie', 'Jeffrey', 'Jeffry', 'Jelani', 'Jemal', 'Jennings', 'Jens', - 'Jensen', 'Jep', 'Jeptha', 'Jerad', 'Jerald', 'Jeramiah', 'Jeramie', - 'Jeramy', 'Jere', 'Jered', 'Jerel', 'Jereme', 'Jeremey', 'Jeremiah', - 'Jeremie', 'Jeremy', 'Jerimiah', 'Jerimy', 'Jermain', 'Jermaine', - 'Jermey', 'Jerod', 'Jerold', 'Jerome', 'Jeromy', 'Jerrad', 'Jerrel', - 'Jerrell', 'Jerrod', 'Jerrold', 'Jerry', 'Jess', 'Jesse', 'Jessee', - 'Jessie', 'Jessy', 'Jesus', 'Jethro', 'Jett', 'Jettie', 'Jevon', - 'Jewell', 'Jiles', 'Jim', 'Jimmie', 'Jimmy', 'Joaquin', 'Job', 'Jobe', - 'Joe', 'Joel', 'Joeseph', 'Joesph', 'Joey', 'Johan', 'Johathan', 'John', - 'Johnathan', 'Johnathon', 'Johney', 'Johnie', 'Johnnie', 'Johnny', - 'Johnpaul', 'Johnson', 'Johny', 'Jon', 'Jonah', 'Jonas', 'Jonatan', - 'Jonathan', 'Jonathon', 'Jones', 'Jonnie', 'Jordan', 'Jorden', 'Jordi', - 'Jordon', 'Jordy', 'Jordyn', 'Jorge', 'Jory', 'Jose', 'Josef', - 'Joseluis', 'Joseph', 'Josephus', 'Josh', 'Joshua', 'Joshuah', 'Josiah', - 'Josue', 'Jovan', 'Jovani', 'Jovanni', 'Jovanny', 'Jovany', 'Joy', - 'Juan', 'Judah', 'Judd', 'Jude', 'Judge', 'Judson', 'Juelz', 'Jule', - 'Jules', 'Julian', 'Julien', 'Julio', 'Julious', 'Julius', 'Juluis', - 'Junior', 'Junious', 'Junius', 'Justen', 'Justice', 'Justin', 'Juston', - 'Justus', 'Justyn', 'Juwan', 'Kade', 'Kadeem', 'Kaden', 'Kadin', - 'Kadyn', 'Kaeden', 'Kael', 'Kahlil', 'Kai', 'Kaiden', 'Kale', 'Kaleb', - 'Kalel', 'Kalen', 'Kalvin', 'Kamari', 'Kamden', 'Kameron', 'Kamren', - 'Kamron', 'Kamryn', 'Kane', 'Kanye', 'Kareem', 'Kareen', 'Karim', - 'Karl', 'Karson', 'Karter', 'Kasen', 'Kasey', 'Kash', 'Kason', 'Kavon', - 'Kayden', 'Kaye', 'Kayson', 'Kazuo', 'Keagan', 'Keandre', 'Keanu', - 'Keaton', 'Keegan', 'Keenan', 'Keenen', 'Kegan', 'Keifer', 'Keion', - 'Keith', 'Kelan', 'Kelby', 'Kellan', 'Kellen', 'Kelley', 'Kelly', - 'Kelsey', 'Kelton', 'Kelvin', 'Kem', 'Ken', 'Kenan', 'Kendal', - 'Kendall', 'Kendell', 'Kendrick', 'Kenji', 'Kennard', 'Kennedy', - 'Kenneth', 'Kenney', 'Kennith', 'Kennth', 'Kenny', 'Kent', 'Kenton', - 'Kenya', 'Kenyatta', 'Kenyon', 'Keon', 'Kermit', 'Kerry', 'Kerwin', - 'Keshaun', 'Keshawn', 'Kevan', 'Keven', 'Kevin', 'Kevon', 'Keyon', - 'Keyshawn', 'Khalid', 'Khalil', 'Khari', 'Khiry', 'Kian', 'Kiara', - 'Kiefer', 'Kiel', 'Kieran', 'Kieth', 'Kiley', 'Killian', 'Kim', - 'Kimball', 'Kimberly', 'King', 'Kingston', 'Kinte', 'Kip', 'Kipp', - 'Kirby', 'Kirk', 'Kirt', 'Kit', 'Kiyoshi', 'Knox', 'Knute', 'Kobe', - 'Koby', 'Koda', 'Kody', 'Koen', 'Kolby', 'Kole', 'Kolten', 'Kolton', - 'Konner', 'Konnor', 'Korbin', 'Kordell', 'Korey', 'Kory', 'Kraig', - 'Kris', 'Krish', 'Kristen', 'Kristian', 'Kristin', 'Kristofer', - 'Kristoffer', 'Kristopher', 'Kunta', 'Kurt', 'Kurtis', 'Kwame', 'Kyan', - 'Kylan', 'Kyle', 'Kyler', 'Kymani', 'Kyree', 'Kyson', 'Lacey', 'Lacy', - 'Ladarius', 'Laddie', 'Lafayette', 'Lafe', 'Lamar', 'Lamarcus', - 'Lambert', 'Lamont', 'Lamonte', 'Lance', 'Landan', 'Landen', 'Landin', - 'Landon', 'Landyn', 'Lane', 'Lannie', 'Lanny', 'Laquan', 'Lark', - 'Larkin', 'Laron', 'Larry', 'Lars', 'Larue', 'Lary', 'Lashawn', - 'Latrell', 'Laurance', 'Laurel', 'Laurence', 'Lavar', 'Lavern', - 'Laverne', 'Lavon', 'Lawerence', 'Lawrance', 'Lawrence', 'Lawson', - 'Lawton', 'Lawyer', 'Layne', 'Layton', 'Lazaro', 'Le', 'Lea', 'Leamon', - 'Leander', 'Leandro', 'Lee', 'Leeroy', 'Leif', 'Leigh', 'Leighton', - 'Leland', 'Lem', 'Lemmie', 'Lemon', 'Lemuel', 'Len', 'Lena', 'Lenard', - 'Lennie', 'Lennon', 'Lenny', 'Lenon', 'Lenord', 'Lenwood', 'Leo', - 'Leon', 'Leonard', 'Leonardo', 'Leonce', 'Leonel', 'Leonidas', - 'Leopold', 'Leopoldo', 'Leroy', 'Les', 'Lesley', 'Leslie', 'Less', - 'Lessie', 'Lester', 'Levar', 'Levern', 'Levi', 'Levie', 'Levin', - 'Levon', 'Levy', 'Lew', 'Lewis', 'Lex', 'Lexie', 'Liam', 'Lige', - 'Lilburn', 'Lillard', 'Lim', 'Lincoln', 'Lindbergh', 'Lindell', - 'Linden', 'Lindsay', 'Lindsey', 'Lindy', 'Link', 'Linn', 'Linnie', - 'Linton', 'Linus', 'Linwood', 'Linzy', 'Lionel', 'Lisandro', 'Lish', - 'Lisle', 'Liston', 'Little', 'Littleton', 'Llewellyn', 'Lloyd', 'Logan', - 'Lon', 'London', 'Lone', 'Loney', 'Long', 'Lonie', 'Lonnie', 'Lonny', - 'Lonzo', 'Lora', 'Loran', 'Loren', 'Lorenz', 'Lorenza', 'Lorenzo', - 'Lorin', 'Loring', 'Lorne', 'Lott', 'Lou', 'Louie', 'Louis', 'Love', - 'Lovell', 'Lovett', 'Lovie', 'Lowell', 'Loy', 'Loyal', 'Loyd', 'Luc', - 'Luca', 'Lucas', 'Lucian', 'Luciano', 'Lucien', 'Lucio', 'Lucious', - 'Lucius', 'Lucky', 'Ludwig', 'Lue', 'Luigi', 'Luis', 'Luka', 'Lukas', - 'Luke', 'Lula', 'Lum', 'Lupe', 'Luster', 'Lute', 'Luther', 'Luverne', - 'Lydell', 'Lyle', 'Lyman', 'Lyn', 'Lyndon', 'Lynn', 'Lynwood', 'Lyric', - 'Mac', 'Macarthur', 'Mace', 'Maceo', 'Mack', 'Mackenzie', 'Madden', - 'Maddox', 'Maddux', 'Madison', 'Mae', 'Mahlon', 'Major', 'Makai', - 'Makhi', 'Mal', 'Malachi', 'Malakai', 'Malaki', 'Malcolm', 'Malcom', - 'Male', 'Malik', 'Malvin', 'Mamie', 'Manford', 'Manley', 'Manly', - 'Mannie', 'Manning', 'Mansfield', 'Manson', 'Manuel', 'Marc', 'Marcel', - 'Marcelino', 'Marcell', 'Marcello', 'Marcellus', 'Marcelo', 'Marchello', - 'Marco', 'Marcos', 'Marcus', 'Margarito', 'Mariano', 'Mario', 'Marion', - 'Marius', 'Mark', 'Markel', 'Markell', 'Markus', 'Marland', 'Marley', - 'Marlin', 'Marlo', 'Marlon', 'Marlyn', 'Marques', 'Marquez', 'Marquis', - 'Marquise', 'Marrion', 'Marsh', 'Marshal', 'Marshall', 'Mart', - 'Martell', 'Martez', 'Martin', 'Marty', 'Marvin', 'Masao', 'Mason', - 'Mat', 'Mateo', 'Math', 'Mathew', 'Mathews', 'Mathias', 'Matias', - 'Matt', 'Matteo', 'Matthew', 'Matthias', 'Maurice', 'Mauricio', 'Mauro', - 'Maury', 'Maverick', 'Max', 'Maxie', 'Maxim', 'Maximilian', - 'Maximiliano', 'Maximillian', 'Maximo', 'Maximus', 'Maxwell', 'Maxx', - 'May', 'Maynard', 'Mayo', 'Mcarthur', 'Mckinley', 'Mearl', 'Mekhi', - 'Mel', 'Melbourne', 'Mell', 'Melton', 'Melville', 'Melvin', 'Melvyn', - 'Memphis', 'Menachem', 'Mercer', 'Merl', 'Merle', 'Merlin', 'Merlyn', - 'Merrill', 'Merritt', 'Merton', 'Mervin', 'Mervyn', 'Merwin', 'Messiah', - 'Metro', 'Meyer', 'Micah', 'Michael', 'Michal', 'Michale', 'Micheal', - 'Michel', 'Michial', 'Mickey', 'Micky', 'Miguel', 'Miguelangel', - 'Mikal', 'Mike', 'Mikeal', 'Mikel', 'Mikhail', 'Milan', 'Milas', - 'Milburn', 'Miles', 'Milford', 'Millard', 'Miller', 'Mills', 'Milo', - 'Milton', 'Miner', 'Minor', 'Minoru', 'Misael', 'Mitch', 'Mitchel', - 'Mitchell', 'Moe', 'Mohamed', 'Mohammad', 'Mohammed', 'Moises', - 'Monroe', 'Mont', 'Montana', 'Monte', 'Montel', 'Montgomery', 'Montie', - 'Montrell', 'Monty', 'Moody', 'Mordechai', 'Morgan', 'Morris', - 'Mortimer', 'Morton', 'Mose', 'Moses', 'Moshe', 'Muhammad', 'Murdock', - 'Murl', 'Murphy', 'Murray', 'Murry', 'Mustafa', 'Mychal', 'Myer', - 'Mykel', 'Myles', 'Myrl', 'Myron', 'Myrtle', 'Najee', 'Nakia', 'Namon', - 'Napoleon', 'Nash', 'Nasir', 'Nat', 'Nathan', 'Nathanael', 'Nathanial', - 'Nathaniel', 'Nathen', 'Neal', 'Ned', 'Needham', 'Neely', 'Nehemiah', - 'Neil', 'Nello', 'Nels', 'Nelson', 'Nery', 'Nestor', 'Nevin', 'Newell', - 'Newman', 'Newt', 'Newton', 'Nicholas', 'Nicholaus', 'Nick', 'Nicklaus', - 'Nickolas', 'Nicky', 'Nico', 'Nicolas', 'Nigel', 'Nikhil', 'Nikko', - 'Niko', 'Nikolai', 'Nikolas', 'Nile', 'Niles', 'Nils', 'Nim', 'Noah', - 'Noble', 'Noe', 'Noel', 'Nolan', 'Nolen', 'Norbert', 'Norberto', - 'Norman', 'Normand', 'Norris', 'North', 'Norton', 'Norval', 'Norwood', - 'Nunzio', 'Oakley', 'Obe', 'Obed', 'Obie', 'Ocie', 'Octave', 'Octavio', - 'Octavius', 'Oda', 'Oddie', 'Odell', 'Odie', 'Odin', 'Odis', 'Odus', - 'Offie', 'Ogden', 'Okey', 'Ola', 'Olaf', 'Olan', 'Oland', 'Ole', 'Olen', - 'Oley', 'Olie', 'Olin', 'Oliver', 'Ollie', 'Olof', 'Omar', 'Omari', - 'Omarion', 'Omer', 'Oneal', 'Ora', 'Oral', 'Oran', 'Orange', 'Oren', - 'Orie', 'Orin', 'Orion', 'Oris', 'Orla', 'Orland', 'Orlando', 'Orley', - 'Orlin', 'Orlo', 'Orren', 'Orrie', 'Orrin', 'Orris', 'Orson', 'Orval', - 'Orvel', 'Orvil', 'Orville', 'Orvin', 'Orvis', 'Osbaldo', 'Osborn', - 'Osborne', 'Oscar', 'Osie', 'Ossie', 'Osvaldo', 'Oswald', 'Oswaldo', - 'Otha', 'Othel', 'Otho', 'Otis', 'Ott', 'Ottie', 'Ottis', 'Otto', 'Ova', - 'Ovid', 'Ovila', 'Owen', 'Owens', 'Ozell', 'Ozie', 'Ozzie', 'Pablo', - 'Page', 'Palmer', 'Paris', 'Park', 'Parker', 'Parley', 'Parrish', - 'Pascal', 'Pasquale', 'Pat', 'Pate', 'Patric', 'Patrick', 'Paul', - 'Paulo', 'Paxton', 'Payton', 'Pearley', 'Pedro', 'Percival', 'Percy', - 'Perley', 'Pernell', 'Perry', 'Pershing', 'Pete', 'Peter', 'Peyton', - 'Phil', 'Philip', 'Phillip', 'Philo', 'Phoenix', 'Pierce', 'Pierre', - 'Pinkney', 'Pleas', 'Pleasant', 'Ples', 'Plummer', 'Polk', 'Porfirio', - 'Porter', 'Posey', 'Powell', 'Pranav', 'Pratt', 'Prentice', 'Prentiss', - 'Presley', 'Press', 'Preston', 'Price', 'Primus', 'Prince', 'Prosper', - 'Pryor', 'Purl', 'Quentin', 'Quincy', 'Quinn', 'Quint', 'Quinten', - 'Quintin', 'Quinton', 'Rae', 'Raekwon', 'Rafael', 'Rafe', 'Raheem', - 'Rahn', 'Rahsaan', 'Rahul', 'Raiden', 'Rakeem', 'Raleigh', 'Ralph', - 'Ramiro', 'Ramon', 'Ramsey', 'Rance', 'Rand', 'Randal', 'Randall', - 'Randel', 'Randell', 'Randle', 'Randolf', 'Randolph', 'Randy', 'Ransom', - 'Raoul', 'Raphael', 'Raquan', 'Ras', 'Rashaad', 'Rashaan', 'Rashad', - 'Rashawn', 'Rasheed', 'Raul', 'Raven', 'Ray', 'Rayan', 'Rayburn', - 'Rayfield', 'Rayford', 'Raymon', 'Raymond', 'Raymundo', 'Raynard', - 'Rayshawn', 'Reagan', 'Reason', 'Red', 'Redden', 'Redmond', 'Reece', - 'Reed', 'Reese', 'Refugio', 'Regan', 'Reggie', 'Reginal', 'Reginald', - 'Regis', 'Reid', 'Reilly', 'Reinaldo', 'Reinhold', 'Reino', 'Remington', - 'Remy', 'Renaldo', 'Renard', 'Rene', 'Reno', 'Reuben', 'Reubin', 'Rex', - 'Rexford', 'Rey', 'Reyes', 'Reynaldo', 'Reynold', 'Reynolds', 'Rhett', - 'Rhoda', 'Rhys', 'Rian', 'Ricardo', 'Ricci', 'Rice', 'Rich', 'Richard', - 'Richie', 'Richmond', 'Rick', 'Rickey', 'Ricki', 'Rickie', 'Ricky', - 'Rico', 'Ridge', 'Rigoberto', 'Riley', 'Rishi', 'Ritchie', 'River', - 'Rob', 'Robb', 'Robbie', 'Robbin', 'Robby', 'Robert', 'Roberto', - 'Robin', 'Robley', 'Robt', 'Roby', 'Rocco', 'Rock', 'Rocky', 'Rod', - 'Roddy', 'Roderic', 'Roderick', 'Rodger', 'Rodney', 'Rodolfo', - 'Rodrick', 'Rodrigo', 'Roe', 'Roel', 'Rogelio', 'Roger', 'Rogers', - 'Rohan', 'Roland', 'Rolando', 'Rolf', 'Roll', 'Rolla', 'Rolland', - 'Rollie', 'Rollin', 'Rollo', 'Roma', 'Roman', 'Rome', 'Romello', - 'Romeo', 'Romie', 'Ron', 'Ronal', 'Ronald', 'Ronaldo', 'Ronan', - 'Rondal', 'Ronin', 'Ronnie', 'Ronny', 'Roosevelt', 'Rory', 'Rosario', - 'Rosco', 'Roscoe', 'Rosendo', 'Rosevelt', 'Ross', 'Rossie', 'Roswell', - 'Rowan', 'Rowland', 'Roy', 'Royal', 'Royce', 'Rube', 'Ruben', 'Rubin', - 'Ruby', 'Rudolf', 'Rudolfo', 'Rudolph', 'Rudy', 'Rueben', 'Ruel', - 'Ruffin', 'Ruffus', 'Rufus', 'Rupert', 'Rush', 'Russ', 'Russel', - 'Russell', 'Rustin', 'Rusty', 'Rutherford', 'Ryan', 'Ryder', 'Ryker', - 'Rylan', 'Ryland', 'Rylee', 'Ryley', 'Ryne', 'Sabastian', 'Sage', - 'Saint', 'Sal', 'Salomon', 'Salvador', 'Salvatore', 'Sam', 'Samie', - 'Samir', 'Sammie', 'Sammy', 'Sampson', 'Samson', 'Samual', 'Samuel', - 'Sanders', 'Sandy', 'Sanford', 'Santana', 'Santiago', 'Santino', - 'Santo', 'Santos', 'Saul', 'Saverio', 'Savion', 'Savon', 'Sawyer', - 'Schley', 'Schuyler', 'Scot', 'Scott', 'Scottie', 'Scotty', 'Seaborn', - 'Seamus', 'Sean', 'Sebastian', 'Sedrick', 'Seldon', 'Selmer', 'Semaj', - 'Seneca', 'Sergio', 'Seth', 'Severo', 'Severt', 'Seward', 'Seymour', - 'Shad', 'Shade', 'Shafter', 'Shamar', 'Shan', 'Shane', 'Shannon', - 'Shanon', 'Shaquan', 'Shaquille', 'Sharif', 'Sharon', 'Shaun', 'Shawn', - 'Shay', 'Shayne', 'Shea', 'Shedrick', 'Shelby', 'Sheldon', 'Shelley', - 'Shellie', 'Shelly', 'Shelton', 'Shemar', 'Shep', 'Shepherd', - 'Sheridan', 'Sherman', 'Sherrill', 'Sherwin', 'Sherwood', 'Shirley', - 'Shoji', 'Shon', 'Shyheim', 'Sid', 'Sidney', 'Sie', 'Sigmund', 'Sigurd', - 'Silas', 'Silver', 'Silvester', 'Silvio', 'Sim', 'Simeon', 'Simmie', - 'Simon', 'Simpson', 'Sincere', 'Sing', 'Skip', 'Skylar', 'Skyler', - 'Slade', 'Smith', 'Sol', 'Soloman', 'Solomon', 'Solon', 'Son', 'Sonny', - 'Soren', 'Spencer', 'Spenser', 'Spurgeon', 'Squire', 'Stacey', 'Stacy', - 'Stafford', 'Stan', 'Stanford', 'Stanislaus', 'Stanley', 'Stanton', - 'Starling', 'Stefan', 'Stephan', 'Stephanie', 'Stephen', 'Stephon', - 'Sterling', 'Stetson', 'Stevan', 'Steve', 'Steven', 'Stevie', 'Steward', - 'Stewart', 'Stone', 'Stonewall', 'Stoney', 'Storm', 'Stuart', - 'Sullivan', 'Sumner', 'Susie', 'Sydney', 'Syed', 'Sylas', 'Sylvan', - 'Sylvanus', 'Sylvester', 'Tab', 'Tad', 'Taft', 'Tahj', 'Taj', 'Tal', - 'Talan', 'Talen', 'Tallie', 'Talmadge', 'Talmage', 'Talon', 'Tandy', - 'Tanner', 'Tarik', 'Tariq', 'Tate', 'Tatsuo', 'Taurean', 'Taurus', - 'Tavares', 'Tavaris', 'Tavian', 'Tavion', 'Tavon', 'Tayler', 'Taylor', - 'Tayshaun', 'Teagan', 'Ted', 'Teddie', 'Teddy', 'Tegan', 'Telly', - 'Terance', 'Terell', 'Terence', 'Terrance', 'Terrell', 'Terrence', - 'Terrill', 'Terry', 'Tevin', 'Tex', 'Thad', 'Thaddeus', 'Theadore', - 'Thedore', 'Theo', 'Theodis', 'Theodore', 'Theophile', 'Therman', - 'Theron', 'Thomas', 'Thompson', 'Thor', 'Thornton', 'Thorwald', 'Thos', - 'Thurlow', 'Thurman', 'Thurston', 'Tilden', 'Tillman', 'Tilman', 'Tim', - 'Timmie', 'Timmothy', 'Timmy', 'Timothy', 'Tito', 'Titus', 'Tobe', - 'Tobias', 'Tobie', 'Tobin', 'Toby', 'Tod', 'Todd', 'Toivo', 'Tolbert', - 'Tollie', 'Tom', 'Toma', 'Tomas', 'Tomie', 'Tommie', 'Tommy', 'Toney', - 'Tony', 'Torey', 'Toriano', 'Torrance', 'Torrence', 'Torrey', 'Torry', - 'Tory', 'Toshio', 'Toy', 'Trace', 'Tracey', 'Tracy', 'Trae', 'Travis', - 'Travon', 'Trayvon', 'Tre', 'Tremaine', 'Tremayne', 'Trent', 'Trenten', - 'Trenton', 'Trever', 'Trevin', 'Trevion', 'Trevon', 'Trevor', 'Trey', - 'Treyton', 'Treyvon', 'Trinidad', 'Trinity', 'Tripp', 'Tristan', - 'Tristen', 'Tristian', 'Tristin', 'Triston', 'Troy', 'True', 'Trumaine', - 'Truman', 'Trystan', 'Tuan', 'Tucker', 'Turner', 'Ty', 'Tye', 'Tyler', - 'Tylor', 'Tyquan', 'Tyree', 'Tyreek', 'Tyreese', 'Tyrek', 'Tyreke', - 'Tyrel', 'Tyrell', 'Tyrese', 'Tyrik', 'Tyrin', 'Tyriq', 'Tyrique', - 'Tyron', 'Tyrone', 'Tyrus', 'Tyshawn', 'Tyson', 'Ulises', 'Ulysses', - 'Unknown', 'Unnamed', 'Urban', 'Uriah', 'Uriel', 'Urijah', 'Val', - 'Valentin', 'Valentine', 'Valentino', 'Van', 'Vance', 'Vander', - 'Vashon', 'Vaughn', 'Vera', 'Vere', 'Vergil', 'Verl', 'Verle', 'Verlin', - 'Verlon', 'Verlyn', 'Vern', 'Verna', 'Vernal', 'Verne', 'Vernell', - 'Verner', 'Vernie', 'Vernon', 'Vester', 'Vic', 'Vicente', 'Vick', - 'Victor', 'Victoriano', 'Vidal', 'Vince', 'Vincent', 'Vincenzo', - 'Vinson', 'Vinton', 'Virge', 'Virgel', 'Virgie', 'Virgil', 'Virgle', - 'Vito', 'Vollie', 'Volney', 'Von', 'Wade', 'Waino', 'Waldemar', 'Waldo', - 'Walker', 'Wallace', 'Wally', 'Walt', 'Walter', 'Walton', 'Ward', - 'Wardell', 'Warner', 'Warren', 'Wash', 'Washington', 'Watson', 'Watt', - 'Waverly', 'Wayde', 'Wayland', 'Waylon', 'Wayman', 'Waymon', 'Wayne', - 'Weaver', 'Webb', 'Webster', 'Weldon', 'Wellington', 'Wells', 'Welton', - 'Wendel', 'Wendell', 'Wenzel', 'Werner', 'Wes', 'Wesley', 'Wess', - 'West', 'Westin', 'Westley', 'Weston', 'Wheeler', 'Whit', 'Whitney', - 'Wilber', 'Wilbert', 'Wilbur', 'Wilburn', 'Wiley', 'Wilford', 'Wilfred', - 'Wilfredo', 'Wilfrid', 'Wilhelm', 'Wiliam', 'Wilkie', 'Will', 'Willaim', - 'Willam', 'Willard', 'William', 'Williams', 'Willian', 'Williard', - 'Willie', 'Willis', 'Willy', 'Wilmer', 'Wilson', 'Wilton', 'Windell', - 'Winfield', 'Winford', 'Winfred', 'Wing', 'Winifred', 'Winnie', - 'Winston', 'Winthrop', 'Winton', 'Wirt', 'Wm', 'Wong', 'Wood', 'Woodie', - 'Woodroe', 'Woodrow', 'Woodson', 'Woody', 'Worley', 'Worth', 'Wright', - 'Wyatt', 'Wylie', 'Wyman', 'Xander', 'Xavier', 'Xzavier', 'Yaakov', - 'Yadiel', 'Yael', 'Yahir', 'Yair', 'Yancy', 'Yandel', 'Yee', 'Yehuda', - 'Yoel', 'York', 'Yosef', 'Yoshio', 'Young', 'Yurem', 'Yusuf', - 'Zachariah', 'Zachary', 'Zachery', 'Zack', 'Zackary', 'Zackery', 'Zaid', - 'Zaiden', 'Zain', 'Zaire', 'Zakary', 'Zander', 'Zane', 'Zavier', - 'Zavion', 'Zayden', 'Zayne', 'Zeb', 'Zebulon', 'Zechariah', 'Zed', - 'Zeke', 'Zenas', 'Zeno', 'Zigmund', 'Zion', 'Zollie', + "Aaden", + "Aarav", + "Aaron", + "Ab", + "Abb", + "Abbott", + "Abdiel", + "Abdul", + "Abdullah", + "Abe", + "Abel", + "Abelardo", + "Abie", + "Abner", + "Abraham", + "Abram", + "Ace", + "Acey", + "Acie", + "Acy", + "Adalberto", + "Adam", + "Adams", + "Adan", + "Add", + "Adelard", + "Adelbert", + "Aden", + "Adin", + "Aditya", + "Adlai", + "Admiral", + "Adolf", + "Adolfo", + "Adolph", + "Adolphus", + "Adonis", + "Adrain", + "Adrian", + "Adriel", + "Adrien", + "Adron", + "Aedan", + "Agustin", + "Agustus", + "Ah", + "Ahmad", + "Ahmed", + "Aidan", + "Aiden", + "Aidyn", + "Aime", + "Akeem", + "Al", + "Alan", + "Alanzo", + "Albert", + "Alberto", + "Albertus", + "Albin", + "Albion", + "Alby", + "Alcee", + "Alcide", + "Alden", + "Aldo", + "Alec", + "Aleck", + "Alejandro", + "Alek", + "Alessandro", + "Alex", + "Alexande", + "Alexander", + "Alexandre", + "Alexandro", + "Alexis", + "Alexzander", + "Alf", + "Alferd", + "Alfie", + "Alfonse", + "Alfonso", + "Alfonzo", + "Alford", + "Alfred", + "Alfredo", + "Alger", + "Algernon", + "Algie", + "Algot", + "Ali", + "Alijah", + "Allan", + "Allen", + "Allyn", + "Almer", + "Almon", + "Almond", + "Almus", + "Alois", + "Alonso", + "Alonza", + "Alonzo", + "Aloys", + "Aloysius", + "Alpheus", + "Alphons", + "Alphonse", + "Alphonso", + "Alphonsus", + "Alston", + "Alto", + "Alton", + "Alva", + "Alvah", + "Alvan", + "Alvaro", + "Alver", + "Alvia", + "Alvie", + "Alvin", + "Alvis", + "Alvy", + "Alwin", + "Amado", + "Amare", + "Amari", + "Amarion", + "Amasa", + "Ambers", + "Ambrose", + "Americo", + "Amerigo", + "Amil", + "Amin", + "Amir", + "Amit", + "Ammon", + "Amon", + "Amos", + "Ananias", + "Anastacio", + "Anatole", + "Ancel", + "Ancil", + "Anders", + "Anderson", + "Andon", + "Andra", + "Andrae", + "Andre", + "Andreas", + "Andres", + "Andrew", + "Andy", + "Anfernee", + "Angel", + "Angelo", + "Angus", + "Anibal", + "Ansel", + "Anson", + "Anthoney", + "Anthony", + "Antione", + "Antoine", + "Anton", + "Antone", + "Antonio", + "Antony", + "Antwain", + "Antwan", + "Antwon", + "Anwar", + "Arba", + "Arbie", + "Arch", + "Archer", + "Archibald", + "Archie", + "Ardell", + "Arden", + "Ari", + "Aric", + "Arjun", + "Arlan", + "Arland", + "Arlen", + "Arley", + "Arlie", + "Arlin", + "Arlington", + "Arlis", + "Arlo", + "Arlyn", + "Arman", + "Armand", + "Armando", + "Armani", + "Armin", + "Armond", + "Armstead", + "Arnav", + "Arne", + "Arnett", + "Arnie", + "Arno", + "Arnold", + "Arnoldo", + "Arnulfo", + "Aron", + "Arron", + "Arsenio", + "Art", + "Arther", + "Arthor", + "Arthur", + "Artie", + "Artis", + "Arturo", + "Arvel", + "Arvid", + "Arvil", + "Arvin", + "Arvo", + "Aryan", + "Asa", + "Asberry", + "Asbury", + "Ashby", + "Asher", + "Ashton", + "Atha", + "Atlas", + "Atticus", + "Attilio", + "Aubra", + "Aubrey", + "Audie", + "Audley", + "Audy", + "August", + "Auguste", + "Augustin", + "Augustine", + "Augustus", + "Aurelio", + "Aurthur", + "Austen", + "Austin", + "Auston", + "Austyn", + "Auther", + "Author", + "Authur", + "Autry", + "Avery", + "Avon", + "Axel", + "Ayaan", + "Aydan", + "Ayden", + "Aydin", + "Babe", + "Babyboy", + "Bailey", + "Baker", + "Baldwin", + "Ballard", + "Banks", + "Barnard", + "Barnett", + "Barney", + "Barnie", + "Baron", + "Barrett", + "Barrie", + "Barron", + "Barry", + "Bart", + "Bartholomew", + "Bartley", + "Barton", + "Bascom", + "Basil", + "Baxter", + "Bayard", + "Beau", + "Beckett", + "Beckham", + "Bedford", + "Beecher", + "Bell", + "Belton", + "Ben", + "Benard", + "Benedict", + "Benito", + "Benjaman", + "Benjamen", + "Benjamin", + "Benjamine", + "Benji", + "Benjiman", + "Benjman", + "Bennett", + "Bennie", + "Benny", + "Benson", + "Bentley", + "Benton", + "Berkley", + "Berlin", + "Bernard", + "Bernardo", + "Bernhard", + "Bernie", + "Berry", + "Bert", + "Bertie", + "Berton", + "Bertram", + "Bertrand", + "Beryl", + "Bethel", + "Bilal", + "Bill", + "Billie", + "Billy", + "Bird", + "Birt", + "Bishop", + "Bjorn", + "Blain", + "Blaine", + "Blair", + "Blaise", + "Blake", + "Blanchard", + "Blane", + "Blas", + "Blaze", + "Bliss", + "Bluford", + "Bo", + "Bob", + "Bobbie", + "Bobby", + "Bode", + "Bolden", + "Booker", + "Boone", + "Boris", + "Bose", + "Boss", + "Boston", + "Bowman", + "Boyce", + "Boyd", + "Boysie", + "Brad", + "Braden", + "Bradford", + "Bradley", + "Bradly", + "Brady", + "Bradyn", + "Braeden", + "Braedon", + "Braiden", + "Brain", + "Branch", + "Brandan", + "Branden", + "Brandin", + "Brandon", + "Brandt", + "Brandy", + "Brandyn", + "Brannon", + "Branson", + "Brant", + "Brantley", + "Braulio", + "Braxton", + "Brayan", + "Brayden", + "Braydon", + "Braylen", + "Braylon", + "Brendan", + "Brenden", + "Brendon", + "Brennan", + "Brennen", + "Brennon", + "Brent", + "Brenton", + "Bret", + "Brett", + "Brian", + "Brice", + "Bridger", + "Brien", + "Brion", + "Britt", + "Brittany", + "Britton", + "Brock", + "Broderick", + "Brodie", + "Brody", + "Brogan", + "Bronson", + "Brook", + "Brooks", + "Brown", + "Bruce", + "Bruno", + "Bryan", + "Bryant", + "Bryce", + "Brycen", + "Bryon", + "Bryson", + "Bryton", + "Buck", + "Bud", + "Budd", + "Buddie", + "Buddy", + "Buel", + "Buell", + "Buford", + "Bunk", + "Burdette", + "Buren", + "Burgess", + "Burk", + "Burke", + "Burl", + "Burleigh", + "Burley", + "Burnell", + "Burnett", + "Burney", + "Burnice", + "Burnie", + "Burns", + "Burr", + "Burrel", + "Burrell", + "Burt", + "Burton", + "Bush", + "Buster", + "Butch", + "Butler", + "Bynum", + "Byrd", + "Byron", + "Cade", + "Caden", + "Cael", + "Caesar", + "Caiden", + "Cain", + "Cal", + "Cale", + "Caleb", + "Calhoun", + "Callie", + "Callum", + "Calvin", + "Cam", + "Camden", + "Cameron", + "Camilo", + "Campbell", + "Camren", + "Camron", + "Camryn", + "Candido", + "Cannon", + "Canyon", + "Cap", + "Captain", + "Carey", + "Carl", + "Carleton", + "Carlie", + "Carlisle", + "Carlo", + "Carlos", + "Carlton", + "Carlyle", + "Carmel", + "Carmelo", + "Carmen", + "Carmine", + "Carnell", + "Carrie", + "Carrol", + "Carroll", + "Carsen", + "Carson", + "Carter", + "Cary", + "Cas", + "Case", + "Casen", + "Casey", + "Cash", + "Casimer", + "Casimir", + "Casimiro", + "Cason", + "Casper", + "Cass", + "Cassidy", + "Cassie", + "Cassius", + "Caswell", + "Cato", + "Cayden", + "Ceasar", + "Cecil", + "Cedric", + "Cedrick", + "Celestino", + "Cephus", + "Cesar", + "Ceylon", + "Chace", + "Chad", + "Chadd", + "Chadrick", + "Chadwick", + "Chaim", + "Chalmer", + "Chalmers", + "Champ", + "Chance", + "Chancey", + "Chancy", + "Chandler", + "Channing", + "Charle", + "Charles", + "Charley", + "Charlie", + "Charls", + "Charlton", + "Charly", + "Chas", + "Chase", + "Chauncey", + "Chauncy", + "Chaz", + "Che", + "Chesley", + "Chester", + "Chet", + "Cheyenne", + "Chin", + "Chip", + "Chris", + "Christ", + "Christian", + "Christina", + "Christion", + "Christop", + "Christoper", + "Christophe", + "Christopher", + "Chuck", + "Cicero", + "Clabe", + "Claiborne", + "Clair", + "Clarance", + "Clare", + "Clarence", + "Clark", + "Clarke", + "Clarnce", + "Claud", + "Claude", + "Claudie", + "Claudio", + "Claudius", + "Claus", + "Clay", + "Clayton", + "Clearence", + "Cleave", + "Clell", + "Clem", + "Clemence", + "Clemens", + "Clement", + "Clemente", + "Clemmie", + "Clemon", + "Cleo", + "Cleon", + "Cletus", + "Cleve", + "Cleveland", + "Clide", + "Cliff", + "Clifford", + "Clifton", + "Clint", + "Clinton", + "Clive", + "Clovis", + "Cloyd", + "Clyde", + "Coby", + "Codey", + "Codi", + "Codie", + "Cody", + "Coen", + "Cohen", + "Colbert", + "Colby", + "Cole", + "Coleman", + "Coleton", + "Coley", + "Colie", + "Colin", + "Collie", + "Collier", + "Collin", + "Collins", + "Collis", + "Colon", + "Colonel", + "Colt", + "Colten", + "Colter", + "Colton", + "Columbus", + "Colvin", + "Commodore", + "Con", + "Conard", + "Conley", + "Conner", + "Connie", + "Connor", + "Conor", + "Conrad", + "Constantine", + "Conway", + "Coolidge", + "Cooper", + "Corbett", + "Corbin", + "Cordaro", + "Cordell", + "Cordero", + "Corey", + "Cornel", + "Cornelious", + "Cornelius", + "Cornell", + "Corry", + "Cortez", + "Cortney", + "Corwin", + "Cory", + "Cosmo", + "Coty", + "Council", + "Courtland", + "Courtney", + "Coy", + "Craig", + "Crawford", + "Creed", + "Cris", + "Cristian", + "Cristobal", + "Cristofer", + "Cristopher", + "Crockett", + "Cruz", + "Cullen", + "Curley", + "Curt", + "Curtis", + "Curtiss", + "Cyril", + "Cyrus", + "Dabney", + "Dakoda", + "Dakota", + "Dakotah", + "Dale", + "Dallas", + "Dallin", + "Dalton", + "Dalvin", + "Damarcus", + "Damari", + "Damarion", + "Dameon", + "Damian", + "Damien", + "Damion", + "Damon", + "Damond", + "Dan", + "Dana", + "Dandre", + "Dane", + "Dangelo", + "Danial", + "Daniel", + "Dann", + "Dannie", + "Danniel", + "Danny", + "Dante", + "Daquan", + "Darby", + "Darcy", + "Darell", + "Daren", + "Darian", + "Darien", + "Darin", + "Dario", + "Darion", + "Darius", + "Darl", + "Darnell", + "Darold", + "Daron", + "Darrel", + "Darrell", + "Darren", + "Darrian", + "Darrick", + "Darrien", + "Darrin", + "Darrion", + "Darrius", + "Darron", + "Darry", + "Darryl", + "Darryle", + "Darryll", + "Darryn", + "Darvin", + "Darwin", + "Darwyn", + "Daryl", + "Daryle", + "Daryn", + "Dashawn", + "Daulton", + "Daunte", + "Davante", + "Dave", + "Davey", + "Davian", + "David", + "Davie", + "Davin", + "Davion", + "Davis", + "Davon", + "Davonta", + "Davonte", + "Davy", + "Dawson", + "Dax", + "Daxton", + "Dayne", + "Dayton", + "Deacon", + "Dean", + "Deandre", + "Deane", + "Deangelo", + "Deante", + "Declan", + "Dedric", + "Dedrick", + "Deegan", + "Deforest", + "Deion", + "Dejon", + "Dejuan", + "Del", + "Delano", + "Delbert", + "Dell", + "Della", + "Delma", + "Delmar", + "Delmas", + "Delmer", + "Delmus", + "Delos", + "Delphin", + "Delton", + "Delvin", + "Delwin", + "Demarco", + "Demarcus", + "Demario", + "Demarion", + "Demetri", + "Demetric", + "Demetrios", + "Demetrius", + "Demian", + "Demond", + "Demonte", + "Dempsey", + "Denis", + "Dennie", + "Dennis", + "Denny", + "Denton", + "Denver", + "Denzel", + "Denzell", + "Denzil", + "Deon", + "Deondre", + "Deonta", + "Deontae", + "Deonte", + "Dequan", + "Derald", + "Dereck", + "Derek", + "Dereon", + "Deric", + "Derick", + "Derik", + "Derl", + "Deron", + "Derrek", + "Derrell", + "Derrick", + "Derwin", + "Deryl", + "Desean", + "Deshaun", + "Deshawn", + "Desi", + "Desmond", + "Dessie", + "Destin", + "Destry", + "Devan", + "Devante", + "Devaughn", + "Deven", + "Devin", + "Devon", + "Devonta", + "Devontae", + "Devonte", + "Devyn", + "Deward", + "Dewayne", + "Dewey", + "Dewitt", + "Dexter", + "Diallo", + "Diamond", + "Diane", + "Dickie", + "Diego", + "Dijon", + "Dilan", + "Dillan", + "Dillard", + "Dillion", + "Dillon", + "Dimitri", + "Dimitrios", + "Dink", + "Dino", + "Dion", + "Dionicio", + "Dionte", + "Dirk", + "Dixon", + "Doc", + "Dock", + "Doctor", + "Doll", + "Dolph", + "Dolphus", + "Domenic", + "Domenick", + "Domenico", + "Domingo", + "Dominic", + "Dominick", + "Dominik", + "Don", + "Donaciano", + "Donal", + "Donald", + "Donat", + "Donato", + "Donavan", + "Donavon", + "Dondre", + "Donell", + "Donn", + "Donnell", + "Donnie", + "Donny", + "Donovan", + "Donta", + "Dontae", + "Donte", + "Dora", + "Dorian", + "Dorman", + "Dorr", + "Dorris", + "Dorsey", + "Doss", + "Doug", + "Douglas", + "Douglass", + "Dow", + "Doyle", + "Dozier", + "Drake", + "Draven", + "Drew", + "Drury", + "Duane", + "Duard", + "Dudley", + "Duff", + "Duke", + "Duncan", + "Durell", + "Durrell", + "Durward", + "Durwood", + "Dustan", + "Dustin", + "Dusty", + "Dustyn", + "Duwayne", + "Dwain", + "Dwaine", + "Dwane", + "Dwayne", + "Dwight", + "Dwyane", + "Dylan", + "Dyllan", + "Dylon", + "Ean", + "Earl", + "Earle", + "Earley", + "Earlie", + "Early", + "Earnest", + "Easton", + "Ebb", + "Ebbie", + "Eben", + "Ebenezer", + "Eber", + "Ebert", + "Ed", + "Edd", + "Eddie", + "Eddy", + "Eden", + "Edgar", + "Edgardo", + "Edie", + "Edison", + "Edmon", + "Edmond", + "Edmund", + "Edsel", + "Edson", + "Eduardo", + "Edw", + "Edward", + "Edwardo", + "Edwin", + "Effie", + "Efrain", + "Efrem", + "Efren", + "Egbert", + "Einar", + "Eino", + "Elam", + "Elbert", + "Elbridge", + "Elby", + "Elden", + "Elder", + "Eldon", + "Eldred", + "Eldridge", + "Elex", + "Elgie", + "Elgin", + "Eli", + "Elian", + "Elias", + "Elick", + "Elie", + "Eliezer", + "Eliga", + "Eligah", + "Elige", + "Elihu", + "Elijah", + "Eliot", + "Eliseo", + "Elisha", + "Elizah", + "Ell", + "Ellery", + "Elliot", + "Elliott", + "Ellis", + "Ellison", + "Ellsworth", + "Ellwood", + "Elmer", + "Elmo", + "Elmore", + "Elon", + "Elonzo", + "Eloy", + "Elroy", + "Elsworth", + "Elton", + "Elvin", + "Elvis", + "Elwin", + "Elwood", + "Elwyn", + "Ely", + "Elza", + "Elzie", + "Elzy", + "Emanuel", + "Emerson", + "Emery", + "Emett", + "Emil", + "Emile", + "Emiliano", + "Emilio", + "Emit", + "Emma", + "Emmanuel", + "Emmet", + "Emmett", + "Emmit", + "Emmitt", + "Emmons", + "Emory", + "Emry", + "Encarnacion", + "Ennis", + "Enoch", + "Enos", + "Enrico", + "Enrique", + "Enzo", + "Ephraim", + "Ephram", + "Ephriam", + "Epifanio", + "Erasmo", + "Erasmus", + "Erastus", + "Erby", + "Eric", + "Erich", + "Erick", + "Erie", + "Erik", + "Erin", + "Erland", + "Erle", + "Erling", + "Ernest", + "Ernesto", + "Ernie", + "Ernst", + "Errol", + "Ervin", + "Erving", + "Erwin", + "Esau", + "Esco", + "Esequiel", + "Esker", + "Esley", + "Essex", + "Esteban", + "Estel", + "Estes", + "Estevan", + "Estill", + "Eston", + "Ethan", + "Ethelbert", + "Ethen", + "Eugene", + "Eugenio", + "Eusebio", + "Eustace", + "Evan", + "Evander", + "Evans", + "Evelyn", + "Everet", + "Everett", + "Everette", + "Evert", + "Evertt", + "Ewald", + "Ewart", + "Ewell", + "Ewin", + "Ewing", + "Ezekiel", + "Ezell", + "Ezequiel", + "Ezra", + "Ezzard", + "Fabian", + "Faron", + "Farrell", + "Farris", + "Fate", + "Faustino", + "Fayette", + "Fed", + "Federico", + "Felipe", + "Felix", + "Felton", + "Fenton", + "Ferd", + "Ferdinand", + "Ferman", + "Fernand", + "Fernando", + "Ferrell", + "Ferris", + "Festus", + "Fidel", + "Fidencio", + "Fielding", + "Finis", + "Finley", + "Finn", + "Finnegan", + "Firman", + "Fisher", + "Fitzgerald", + "Fitzhugh", + "Fleet", + "Flem", + "Fleming", + "Fletcher", + "Flint", + "Florencio", + "Florentino", + "Florian", + "Floy", + "Floyd", + "Foch", + "Ford", + "Forest", + "Forrest", + "Foster", + "Fount", + "Foy", + "Frances", + "Francesco", + "Francis", + "Francisco", + "Franco", + "Frank", + "Frankie", + "Franklin", + "Franklyn", + "Franz", + "Frazier", + "Fred", + "Freddie", + "Freddy", + "Frederic", + "Frederick", + "Fredie", + "Fredric", + "Fredrick", + "Fredy", + "Freeman", + "Fremont", + "French", + "Friend", + "Fritz", + "Fuller", + "Fulton", + "Furman", + "Gabe", + "Gabriel", + "Gael", + "Gaetano", + "Gage", + "Gaige", + "Gail", + "Gaines", + "Gaither", + "Gale", + "Galen", + "Gannon", + "Gardner", + "Garett", + "Garey", + "Garfield", + "Garland", + "Garner", + "Garnet", + "Garnett", + "Garold", + "Garret", + "Garrett", + "Garrick", + "Garrison", + "Garry", + "Garth", + "Garvin", + "Gary", + "Gasper", + "Gaston", + "Gauge", + "Gaven", + "Gavin", + "Gavyn", + "Gay", + "Gayle", + "Gaylen", + "Gaylon", + "Gaylord", + "Gearld", + "Geary", + "Gee", + "Genaro", + "Gene", + "General", + "Genie", + "Gennaro", + "Geno", + "Geo", + "Geoff", + "Geoffrey", + "George", + "Georgie", + "Geovanni", + "Gerald", + "Geraldo", + "Gerard", + "Gerardo", + "Gerhard", + "Gerhardt", + "Germaine", + "German", + "Gerold", + "Gerrit", + "Gerry", + "Giancarlo", + "Gianni", + "Gibson", + "Gideon", + "Gifford", + "Gil", + "Gilbert", + "Gilberto", + "Giles", + "Gilford", + "Gilman", + "Gilmer", + "Gilmore", + "Gino", + "Giovani", + "Giovanni", + "Giovanny", + "Giuseppe", + "Gladstone", + "Glen", + "Glendon", + "Glenn", + "Glenwood", + "Glover", + "Glynn", + "Godfrey", + "Goebel", + "Golden", + "Gonzalo", + "Gorden", + "Gordon", + "Gorge", + "Gottlieb", + "Governor", + "Grady", + "Grafton", + "Graham", + "Grant", + "Granville", + "Graves", + "Gray", + "Graydon", + "Grayling", + "Grayson", + "Green", + "Greene", + "Greg", + "Gregg", + "Greggory", + "Gregorio", + "Gregory", + "Greyson", + "Griffin", + "Griffith", + "Grove", + "Grover", + "Guido", + "Guilford", + "Guillermo", + "Gunnar", + "Gunner", + "Gurney", + "Gus", + "Guss", + "Gussie", + "Gust", + "Gustaf", + "Gustav", + "Gustave", + "Gustavo", + "Gustavus", + "Guthrie", + "Guy", + "Haden", + "Hadley", + "Haiden", + "Hakeem", + "Hakim", + "Hal", + "Halbert", + "Hale", + "Hall", + "Halley", + "Hallie", + "Halsey", + "Ham", + "Hamilton", + "Hamp", + "Hampton", + "Hamza", + "Handy", + "Hank", + "Hans", + "Hansel", + "Hansford", + "Hanson", + "Harden", + "Hardie", + "Hardin", + "Harding", + "Hardy", + "Harl", + "Harlan", + "Harland", + "Harlen", + "Harley", + "Harlie", + "Harlon", + "Harlow", + "Harm", + "Harman", + "Harmon", + "Harold", + "Harper", + "Harrell", + "Harrie", + "Harris", + "Harrison", + "Harrold", + "Harry", + "Hart", + "Hartley", + "Hartwell", + "Harve", + "Harvey", + "Harvie", + "Harvy", + "Hasan", + "Haskell", + "Hassan", + "Hattie", + "Haven", + "Hayden", + "Hayes", + "Hays", + "Hayward", + "Haywood", + "Hazen", + "Heath", + "Heber", + "Hebert", + "Hector", + "Helmer", + "Hence", + "Henderson", + "Henery", + "Henri", + "Henry", + "Herb", + "Herbert", + "Heriberto", + "Herman", + "Hermann", + "Hermon", + "Hernan", + "Herschel", + "Hershel", + "Hershell", + "Hervey", + "Heyward", + "Hezekiah", + "Hezzie", + "Hideo", + "Hilario", + "Hilary", + "Hilbert", + "Hill", + "Hillard", + "Hillary", + "Hillery", + "Hilliard", + "Hilmer", + "Hilton", + "Hiram", + "Hiroshi", + "Hjalmar", + "Hjalmer", + "Hobart", + "Hobert", + "Hobson", + "Hoke", + "Holden", + "Holland", + "Hollie", + "Hollis", + "Holmes", + "Homer", + "Hoover", + "Hope", + "Horace", + "Horacio", + "Horatio", + "Horton", + "Hosea", + "Hosie", + "Hosteen", + "Houston", + "Howard", + "Howell", + "Hoy", + "Hoyt", + "Hubbard", + "Hubert", + "Hudson", + "Huey", + "Hugh", + "Hughes", + "Hughey", + "Hughie", + "Hugo", + "Humberto", + "Humphrey", + "Hung", + "Hunt", + "Hunter", + "Hurbert", + "Hurley", + "Huston", + "Huy", + "Hyman", + "Hymen", + "Hyrum", + "Ian", + "Ibrahim", + "Ida", + "Ignacio", + "Ignatius", + "Ignatz", + "Ike", + "Illya", + "Imanol", + "Immanuel", + "Infant", + "Ingram", + "Ira", + "Irl", + "Irven", + "Irvin", + "Irvine", + "Irving", + "Irwin", + "Isaac", + "Isaak", + "Isadore", + "Isai", + "Isaiah", + "Isaias", + "Isam", + "Ishaan", + "Isham", + "Ishmael", + "Isiah", + "Isidor", + "Isidore", + "Isidro", + "Ismael", + "Isom", + "Israel", + "Isreal", + "Issac", + "Iva", + "Ivan", + "Iver", + "Iverson", + "Ivey", + "Ivor", + "Ivory", + "Ivy", + "Izaiah", + "Izayah", + "Jabari", + "Jabbar", + "Jabez", + "Jace", + "Jack", + "Jackson", + "Jacky", + "Jacob", + "Jacoby", + "Jacques", + "Jacquez", + "Jade", + "Jaden", + "Jadiel", + "Jadon", + "Jadyn", + "Jaeden", + "Jagger", + "Jaheem", + "Jaheim", + "Jahiem", + "Jahir", + "Jaiden", + "Jaidyn", + "Jaime", + "Jaimie", + "Jair", + "Jairo", + "Jajuan", + "Jake", + "Jakob", + "Jakobe", + "Jaleel", + "Jalen", + "Jalon", + "Jamaal", + "Jamal", + "Jamar", + "Jamarcus", + "Jamari", + "Jamarion", + "Jame", + "Jameel", + "Jamel", + "James", + "Jameson", + "Jamey", + "Jamie", + "Jamil", + "Jamin", + "Jamir", + "Jamison", + "Jammie", + "Jan", + "Jaquan", + "Jaquez", + "Jarad", + "Jared", + "Jaren", + "Jaret", + "Jarett", + "Jarod", + "Jaron", + "Jarrad", + "Jarred", + "Jarrell", + "Jarret", + "Jarrett", + "Jarrod", + "Jarvis", + "Jase", + "Jasen", + "Jasiah", + "Jason", + "Jasper", + "Javen", + "Javier", + "Javion", + "Javon", + "Javonte", + "Jax", + "Jaxen", + "Jaxon", + "Jaxson", + "Jaxton", + "Jay", + "Jayce", + "Jaycob", + "Jaydan", + "Jayden", + "Jaydin", + "Jaydon", + "Jaylan", + "Jaylen", + "Jaylin", + "Jaylon", + "Jayme", + "Jaymes", + "Jayson", + "Jayvion", + "Jayvon", + "Jean", + "Jeb", + "Jed", + "Jedediah", + "Jedidiah", + "Jeff", + "Jefferey", + "Jefferson", + "Jeffery", + "Jeffie", + "Jeffrey", + "Jeffry", + "Jelani", + "Jemal", + "Jennings", + "Jens", + "Jensen", + "Jep", + "Jeptha", + "Jerad", + "Jerald", + "Jeramiah", + "Jeramie", + "Jeramy", + "Jere", + "Jered", + "Jerel", + "Jereme", + "Jeremey", + "Jeremiah", + "Jeremie", + "Jeremy", + "Jerimiah", + "Jerimy", + "Jermain", + "Jermaine", + "Jermey", + "Jerod", + "Jerold", + "Jerome", + "Jeromy", + "Jerrad", + "Jerrel", + "Jerrell", + "Jerrod", + "Jerrold", + "Jerry", + "Jess", + "Jesse", + "Jessee", + "Jessie", + "Jessy", + "Jesus", + "Jethro", + "Jett", + "Jettie", + "Jevon", + "Jewell", + "Jiles", + "Jim", + "Jimmie", + "Jimmy", + "Joaquin", + "Job", + "Jobe", + "Joe", + "Joel", + "Joeseph", + "Joesph", + "Joey", + "Johan", + "Johathan", + "John", + "Johnathan", + "Johnathon", + "Johney", + "Johnie", + "Johnnie", + "Johnny", + "Johnpaul", + "Johnson", + "Johny", + "Jon", + "Jonah", + "Jonas", + "Jonatan", + "Jonathan", + "Jonathon", + "Jones", + "Jonnie", + "Jordan", + "Jorden", + "Jordi", + "Jordon", + "Jordy", + "Jordyn", + "Jorge", + "Jory", + "Jose", + "Josef", + "Joseluis", + "Joseph", + "Josephus", + "Josh", + "Joshua", + "Joshuah", + "Josiah", + "Josue", + "Jovan", + "Jovani", + "Jovanni", + "Jovanny", + "Jovany", + "Joy", + "Juan", + "Judah", + "Judd", + "Jude", + "Judge", + "Judson", + "Juelz", + "Jule", + "Jules", + "Julian", + "Julien", + "Julio", + "Julious", + "Julius", + "Juluis", + "Junior", + "Junious", + "Junius", + "Justen", + "Justice", + "Justin", + "Juston", + "Justus", + "Justyn", + "Juwan", + "Kade", + "Kadeem", + "Kaden", + "Kadin", + "Kadyn", + "Kaeden", + "Kael", + "Kahlil", + "Kai", + "Kaiden", + "Kale", + "Kaleb", + "Kalel", + "Kalen", + "Kalvin", + "Kamari", + "Kamden", + "Kameron", + "Kamren", + "Kamron", + "Kamryn", + "Kane", + "Kanye", + "Kareem", + "Kareen", + "Karim", + "Karl", + "Karson", + "Karter", + "Kasen", + "Kasey", + "Kash", + "Kason", + "Kavon", + "Kayden", + "Kaye", + "Kayson", + "Kazuo", + "Keagan", + "Keandre", + "Keanu", + "Keaton", + "Keegan", + "Keenan", + "Keenen", + "Kegan", + "Keifer", + "Keion", + "Keith", + "Kelan", + "Kelby", + "Kellan", + "Kellen", + "Kelley", + "Kelly", + "Kelsey", + "Kelton", + "Kelvin", + "Kem", + "Ken", + "Kenan", + "Kendal", + "Kendall", + "Kendell", + "Kendrick", + "Kenji", + "Kennard", + "Kennedy", + "Kenneth", + "Kenney", + "Kennith", + "Kennth", + "Kenny", + "Kent", + "Kenton", + "Kenya", + "Kenyatta", + "Kenyon", + "Keon", + "Kermit", + "Kerry", + "Kerwin", + "Keshaun", + "Keshawn", + "Kevan", + "Keven", + "Kevin", + "Kevon", + "Keyon", + "Keyshawn", + "Khalid", + "Khalil", + "Khari", + "Khiry", + "Kian", + "Kiara", + "Kiefer", + "Kiel", + "Kieran", + "Kieth", + "Kiley", + "Killian", + "Kim", + "Kimball", + "Kimberly", + "King", + "Kingston", + "Kinte", + "Kip", + "Kipp", + "Kirby", + "Kirk", + "Kirt", + "Kit", + "Kiyoshi", + "Knox", + "Knute", + "Kobe", + "Koby", + "Koda", + "Kody", + "Koen", + "Kolby", + "Kole", + "Kolten", + "Kolton", + "Konner", + "Konnor", + "Korbin", + "Kordell", + "Korey", + "Kory", + "Kraig", + "Kris", + "Krish", + "Kristen", + "Kristian", + "Kristin", + "Kristofer", + "Kristoffer", + "Kristopher", + "Kunta", + "Kurt", + "Kurtis", + "Kwame", + "Kyan", + "Kylan", + "Kyle", + "Kyler", + "Kymani", + "Kyree", + "Kyson", + "Lacey", + "Lacy", + "Ladarius", + "Laddie", + "Lafayette", + "Lafe", + "Lamar", + "Lamarcus", + "Lambert", + "Lamont", + "Lamonte", + "Lance", + "Landan", + "Landen", + "Landin", + "Landon", + "Landyn", + "Lane", + "Lannie", + "Lanny", + "Laquan", + "Lark", + "Larkin", + "Laron", + "Larry", + "Lars", + "Larue", + "Lary", + "Lashawn", + "Latrell", + "Laurance", + "Laurel", + "Laurence", + "Lavar", + "Lavern", + "Laverne", + "Lavon", + "Lawerence", + "Lawrance", + "Lawrence", + "Lawson", + "Lawton", + "Lawyer", + "Layne", + "Layton", + "Lazaro", + "Le", + "Lea", + "Leamon", + "Leander", + "Leandro", + "Lee", + "Leeroy", + "Leif", + "Leigh", + "Leighton", + "Leland", + "Lem", + "Lemmie", + "Lemon", + "Lemuel", + "Len", + "Lena", + "Lenard", + "Lennie", + "Lennon", + "Lenny", + "Lenon", + "Lenord", + "Lenwood", + "Leo", + "Leon", + "Leonard", + "Leonardo", + "Leonce", + "Leonel", + "Leonidas", + "Leopold", + "Leopoldo", + "Leroy", + "Les", + "Lesley", + "Leslie", + "Less", + "Lessie", + "Lester", + "Levar", + "Levern", + "Levi", + "Levie", + "Levin", + "Levon", + "Levy", + "Lew", + "Lewis", + "Lex", + "Lexie", + "Liam", + "Lige", + "Lilburn", + "Lillard", + "Lim", + "Lincoln", + "Lindbergh", + "Lindell", + "Linden", + "Lindsay", + "Lindsey", + "Lindy", + "Link", + "Linn", + "Linnie", + "Linton", + "Linus", + "Linwood", + "Linzy", + "Lionel", + "Lisandro", + "Lish", + "Lisle", + "Liston", + "Little", + "Littleton", + "Llewellyn", + "Lloyd", + "Logan", + "Lon", + "London", + "Lone", + "Loney", + "Long", + "Lonie", + "Lonnie", + "Lonny", + "Lonzo", + "Lora", + "Loran", + "Loren", + "Lorenz", + "Lorenza", + "Lorenzo", + "Lorin", + "Loring", + "Lorne", + "Lott", + "Lou", + "Louie", + "Louis", + "Love", + "Lovell", + "Lovett", + "Lovie", + "Lowell", + "Loy", + "Loyal", + "Loyd", + "Luc", + "Luca", + "Lucas", + "Lucian", + "Luciano", + "Lucien", + "Lucio", + "Lucious", + "Lucius", + "Lucky", + "Ludwig", + "Lue", + "Luigi", + "Luis", + "Luka", + "Lukas", + "Luke", + "Lula", + "Lum", + "Lupe", + "Luster", + "Lute", + "Luther", + "Luverne", + "Lydell", + "Lyle", + "Lyman", + "Lyn", + "Lyndon", + "Lynn", + "Lynwood", + "Lyric", + "Mac", + "Macarthur", + "Mace", + "Maceo", + "Mack", + "Mackenzie", + "Madden", + "Maddox", + "Maddux", + "Madison", + "Mae", + "Mahlon", + "Major", + "Makai", + "Makhi", + "Mal", + "Malachi", + "Malakai", + "Malaki", + "Malcolm", + "Malcom", + "Male", + "Malik", + "Malvin", + "Mamie", + "Manford", + "Manley", + "Manly", + "Mannie", + "Manning", + "Mansfield", + "Manson", + "Manuel", + "Marc", + "Marcel", + "Marcelino", + "Marcell", + "Marcello", + "Marcellus", + "Marcelo", + "Marchello", + "Marco", + "Marcos", + "Marcus", + "Margarito", + "Mariano", + "Mario", + "Marion", + "Marius", + "Mark", + "Markel", + "Markell", + "Markus", + "Marland", + "Marley", + "Marlin", + "Marlo", + "Marlon", + "Marlyn", + "Marques", + "Marquez", + "Marquis", + "Marquise", + "Marrion", + "Marsh", + "Marshal", + "Marshall", + "Mart", + "Martell", + "Martez", + "Martin", + "Marty", + "Marvin", + "Masao", + "Mason", + "Mat", + "Mateo", + "Math", + "Mathew", + "Mathews", + "Mathias", + "Matias", + "Matt", + "Matteo", + "Matthew", + "Matthias", + "Maurice", + "Mauricio", + "Mauro", + "Maury", + "Maverick", + "Max", + "Maxie", + "Maxim", + "Maximilian", + "Maximiliano", + "Maximillian", + "Maximo", + "Maximus", + "Maxwell", + "Maxx", + "May", + "Maynard", + "Mayo", + "Mcarthur", + "Mckinley", + "Mearl", + "Mekhi", + "Mel", + "Melbourne", + "Mell", + "Melton", + "Melville", + "Melvin", + "Melvyn", + "Memphis", + "Menachem", + "Mercer", + "Merl", + "Merle", + "Merlin", + "Merlyn", + "Merrill", + "Merritt", + "Merton", + "Mervin", + "Mervyn", + "Merwin", + "Messiah", + "Metro", + "Meyer", + "Micah", + "Michael", + "Michal", + "Michale", + "Micheal", + "Michel", + "Michial", + "Mickey", + "Micky", + "Miguel", + "Miguelangel", + "Mikal", + "Mike", + "Mikeal", + "Mikel", + "Mikhail", + "Milan", + "Milas", + "Milburn", + "Miles", + "Milford", + "Millard", + "Miller", + "Mills", + "Milo", + "Milton", + "Miner", + "Minor", + "Minoru", + "Misael", + "Mitch", + "Mitchel", + "Mitchell", + "Moe", + "Mohamed", + "Mohammad", + "Mohammed", + "Moises", + "Monroe", + "Mont", + "Montana", + "Monte", + "Montel", + "Montgomery", + "Montie", + "Montrell", + "Monty", + "Moody", + "Mordechai", + "Morgan", + "Morris", + "Mortimer", + "Morton", + "Mose", + "Moses", + "Moshe", + "Muhammad", + "Murdock", + "Murl", + "Murphy", + "Murray", + "Murry", + "Mustafa", + "Mychal", + "Myer", + "Mykel", + "Myles", + "Myrl", + "Myron", + "Myrtle", + "Najee", + "Nakia", + "Namon", + "Napoleon", + "Nash", + "Nasir", + "Nat", + "Nathan", + "Nathanael", + "Nathanial", + "Nathaniel", + "Nathen", + "Neal", + "Ned", + "Needham", + "Neely", + "Nehemiah", + "Neil", + "Nello", + "Nels", + "Nelson", + "Nery", + "Nestor", + "Nevin", + "Newell", + "Newman", + "Newt", + "Newton", + "Nicholas", + "Nicholaus", + "Nick", + "Nicklaus", + "Nickolas", + "Nicky", + "Nico", + "Nicolas", + "Nigel", + "Nikhil", + "Nikko", + "Niko", + "Nikolai", + "Nikolas", + "Nile", + "Niles", + "Nils", + "Nim", + "Noah", + "Noble", + "Noe", + "Noel", + "Nolan", + "Nolen", + "Norbert", + "Norberto", + "Norman", + "Normand", + "Norris", + "North", + "Norton", + "Norval", + "Norwood", + "Nunzio", + "Oakley", + "Obe", + "Obed", + "Obie", + "Ocie", + "Octave", + "Octavio", + "Octavius", + "Oda", + "Oddie", + "Odell", + "Odie", + "Odin", + "Odis", + "Odus", + "Offie", + "Ogden", + "Okey", + "Ola", + "Olaf", + "Olan", + "Oland", + "Ole", + "Olen", + "Oley", + "Olie", + "Olin", + "Oliver", + "Ollie", + "Olof", + "Omar", + "Omari", + "Omarion", + "Omer", + "Oneal", + "Ora", + "Oral", + "Oran", + "Orange", + "Oren", + "Orie", + "Orin", + "Orion", + "Oris", + "Orla", + "Orland", + "Orlando", + "Orley", + "Orlin", + "Orlo", + "Orren", + "Orrie", + "Orrin", + "Orris", + "Orson", + "Orval", + "Orvel", + "Orvil", + "Orville", + "Orvin", + "Orvis", + "Osbaldo", + "Osborn", + "Osborne", + "Oscar", + "Osie", + "Ossie", + "Osvaldo", + "Oswald", + "Oswaldo", + "Otha", + "Othel", + "Otho", + "Otis", + "Ott", + "Ottie", + "Ottis", + "Otto", + "Ova", + "Ovid", + "Ovila", + "Owen", + "Owens", + "Ozell", + "Ozie", + "Ozzie", + "Pablo", + "Page", + "Palmer", + "Paris", + "Park", + "Parker", + "Parley", + "Parrish", + "Pascal", + "Pasquale", + "Pat", + "Pate", + "Patric", + "Patrick", + "Paul", + "Paulo", + "Paxton", + "Payton", + "Pearley", + "Pedro", + "Percival", + "Percy", + "Perley", + "Pernell", + "Perry", + "Pershing", + "Pete", + "Peter", + "Peyton", + "Phil", + "Philip", + "Phillip", + "Philo", + "Phoenix", + "Pierce", + "Pierre", + "Pinkney", + "Pleas", + "Pleasant", + "Ples", + "Plummer", + "Polk", + "Porfirio", + "Porter", + "Posey", + "Powell", + "Pranav", + "Pratt", + "Prentice", + "Prentiss", + "Presley", + "Press", + "Preston", + "Price", + "Primus", + "Prince", + "Prosper", + "Pryor", + "Purl", + "Quentin", + "Quincy", + "Quinn", + "Quint", + "Quinten", + "Quintin", + "Quinton", + "Rae", + "Raekwon", + "Rafael", + "Rafe", + "Raheem", + "Rahn", + "Rahsaan", + "Rahul", + "Raiden", + "Rakeem", + "Raleigh", + "Ralph", + "Ramiro", + "Ramon", + "Ramsey", + "Rance", + "Rand", + "Randal", + "Randall", + "Randel", + "Randell", + "Randle", + "Randolf", + "Randolph", + "Randy", + "Ransom", + "Raoul", + "Raphael", + "Raquan", + "Ras", + "Rashaad", + "Rashaan", + "Rashad", + "Rashawn", + "Rasheed", + "Raul", + "Raven", + "Ray", + "Rayan", + "Rayburn", + "Rayfield", + "Rayford", + "Raymon", + "Raymond", + "Raymundo", + "Raynard", + "Rayshawn", + "Reagan", + "Reason", + "Red", + "Redden", + "Redmond", + "Reece", + "Reed", + "Reese", + "Refugio", + "Regan", + "Reggie", + "Reginal", + "Reginald", + "Regis", + "Reid", + "Reilly", + "Reinaldo", + "Reinhold", + "Reino", + "Remington", + "Remy", + "Renaldo", + "Renard", + "Rene", + "Reno", + "Reuben", + "Reubin", + "Rex", + "Rexford", + "Rey", + "Reyes", + "Reynaldo", + "Reynold", + "Reynolds", + "Rhett", + "Rhoda", + "Rhys", + "Rian", + "Ricardo", + "Ricci", + "Rice", + "Rich", + "Richard", + "Richie", + "Richmond", + "Rick", + "Rickey", + "Ricki", + "Rickie", + "Ricky", + "Rico", + "Ridge", + "Rigoberto", + "Riley", + "Rishi", + "Ritchie", + "River", + "Rob", + "Robb", + "Robbie", + "Robbin", + "Robby", + "Robert", + "Roberto", + "Robin", + "Robley", + "Robt", + "Roby", + "Rocco", + "Rock", + "Rocky", + "Rod", + "Roddy", + "Roderic", + "Roderick", + "Rodger", + "Rodney", + "Rodolfo", + "Rodrick", + "Rodrigo", + "Roe", + "Roel", + "Rogelio", + "Roger", + "Rogers", + "Rohan", + "Roland", + "Rolando", + "Rolf", + "Roll", + "Rolla", + "Rolland", + "Rollie", + "Rollin", + "Rollo", + "Roma", + "Roman", + "Rome", + "Romello", + "Romeo", + "Romie", + "Ron", + "Ronal", + "Ronald", + "Ronaldo", + "Ronan", + "Rondal", + "Ronin", + "Ronnie", + "Ronny", + "Roosevelt", + "Rory", + "Rosario", + "Rosco", + "Roscoe", + "Rosendo", + "Rosevelt", + "Ross", + "Rossie", + "Roswell", + "Rowan", + "Rowland", + "Roy", + "Royal", + "Royce", + "Rube", + "Ruben", + "Rubin", + "Ruby", + "Rudolf", + "Rudolfo", + "Rudolph", + "Rudy", + "Rueben", + "Ruel", + "Ruffin", + "Ruffus", + "Rufus", + "Rupert", + "Rush", + "Russ", + "Russel", + "Russell", + "Rustin", + "Rusty", + "Rutherford", + "Ryan", + "Ryder", + "Ryker", + "Rylan", + "Ryland", + "Rylee", + "Ryley", + "Ryne", + "Sabastian", + "Sage", + "Saint", + "Sal", + "Salomon", + "Salvador", + "Salvatore", + "Sam", + "Samie", + "Samir", + "Sammie", + "Sammy", + "Sampson", + "Samson", + "Samual", + "Samuel", + "Sanders", + "Sandy", + "Sanford", + "Santana", + "Santiago", + "Santino", + "Santo", + "Santos", + "Saul", + "Saverio", + "Savion", + "Savon", + "Sawyer", + "Schley", + "Schuyler", + "Scot", + "Scott", + "Scottie", + "Scotty", + "Seaborn", + "Seamus", + "Sean", + "Sebastian", + "Sedrick", + "Seldon", + "Selmer", + "Semaj", + "Seneca", + "Sergio", + "Seth", + "Severo", + "Severt", + "Seward", + "Seymour", + "Shad", + "Shade", + "Shafter", + "Shamar", + "Shan", + "Shane", + "Shannon", + "Shanon", + "Shaquan", + "Shaquille", + "Sharif", + "Sharon", + "Shaun", + "Shawn", + "Shay", + "Shayne", + "Shea", + "Shedrick", + "Shelby", + "Sheldon", + "Shelley", + "Shellie", + "Shelly", + "Shelton", + "Shemar", + "Shep", + "Shepherd", + "Sheridan", + "Sherman", + "Sherrill", + "Sherwin", + "Sherwood", + "Shirley", + "Shoji", + "Shon", + "Shyheim", + "Sid", + "Sidney", + "Sie", + "Sigmund", + "Sigurd", + "Silas", + "Silver", + "Silvester", + "Silvio", + "Sim", + "Simeon", + "Simmie", + "Simon", + "Simpson", + "Sincere", + "Sing", + "Skip", + "Skylar", + "Skyler", + "Slade", + "Smith", + "Sol", + "Soloman", + "Solomon", + "Solon", + "Son", + "Sonny", + "Soren", + "Spencer", + "Spenser", + "Spurgeon", + "Squire", + "Stacey", + "Stacy", + "Stafford", + "Stan", + "Stanford", + "Stanislaus", + "Stanley", + "Stanton", + "Starling", + "Stefan", + "Stephan", + "Stephanie", + "Stephen", + "Stephon", + "Sterling", + "Stetson", + "Stevan", + "Steve", + "Steven", + "Stevie", + "Steward", + "Stewart", + "Stone", + "Stonewall", + "Stoney", + "Storm", + "Stuart", + "Sullivan", + "Sumner", + "Susie", + "Sydney", + "Syed", + "Sylas", + "Sylvan", + "Sylvanus", + "Sylvester", + "Tab", + "Tad", + "Taft", + "Tahj", + "Taj", + "Tal", + "Talan", + "Talen", + "Tallie", + "Talmadge", + "Talmage", + "Talon", + "Tandy", + "Tanner", + "Tarik", + "Tariq", + "Tate", + "Tatsuo", + "Taurean", + "Taurus", + "Tavares", + "Tavaris", + "Tavian", + "Tavion", + "Tavon", + "Tayler", + "Taylor", + "Tayshaun", + "Teagan", + "Ted", + "Teddie", + "Teddy", + "Tegan", + "Telly", + "Terance", + "Terell", + "Terence", + "Terrance", + "Terrell", + "Terrence", + "Terrill", + "Terry", + "Tevin", + "Tex", + "Thad", + "Thaddeus", + "Theadore", + "Thedore", + "Theo", + "Theodis", + "Theodore", + "Theophile", + "Therman", + "Theron", + "Thomas", + "Thompson", + "Thor", + "Thornton", + "Thorwald", + "Thos", + "Thurlow", + "Thurman", + "Thurston", + "Tilden", + "Tillman", + "Tilman", + "Tim", + "Timmie", + "Timmothy", + "Timmy", + "Timothy", + "Tito", + "Titus", + "Tobe", + "Tobias", + "Tobie", + "Tobin", + "Toby", + "Tod", + "Todd", + "Toivo", + "Tolbert", + "Tollie", + "Tom", + "Toma", + "Tomas", + "Tomie", + "Tommie", + "Tommy", + "Toney", + "Tony", + "Torey", + "Toriano", + "Torrance", + "Torrence", + "Torrey", + "Torry", + "Tory", + "Toshio", + "Toy", + "Trace", + "Tracey", + "Tracy", + "Trae", + "Travis", + "Travon", + "Trayvon", + "Tre", + "Tremaine", + "Tremayne", + "Trent", + "Trenten", + "Trenton", + "Trever", + "Trevin", + "Trevion", + "Trevon", + "Trevor", + "Trey", + "Treyton", + "Treyvon", + "Trinidad", + "Trinity", + "Tripp", + "Tristan", + "Tristen", + "Tristian", + "Tristin", + "Triston", + "Troy", + "True", + "Trumaine", + "Truman", + "Trystan", + "Tuan", + "Tucker", + "Turner", + "Ty", + "Tye", + "Tyler", + "Tylor", + "Tyquan", + "Tyree", + "Tyreek", + "Tyreese", + "Tyrek", + "Tyreke", + "Tyrel", + "Tyrell", + "Tyrese", + "Tyrik", + "Tyrin", + "Tyriq", + "Tyrique", + "Tyron", + "Tyrone", + "Tyrus", + "Tyshawn", + "Tyson", + "Ulises", + "Ulysses", + "Unknown", + "Unnamed", + "Urban", + "Uriah", + "Uriel", + "Urijah", + "Val", + "Valentin", + "Valentine", + "Valentino", + "Van", + "Vance", + "Vander", + "Vashon", + "Vaughn", + "Vera", + "Vere", + "Vergil", + "Verl", + "Verle", + "Verlin", + "Verlon", + "Verlyn", + "Vern", + "Verna", + "Vernal", + "Verne", + "Vernell", + "Verner", + "Vernie", + "Vernon", + "Vester", + "Vic", + "Vicente", + "Vick", + "Victor", + "Victoriano", + "Vidal", + "Vince", + "Vincent", + "Vincenzo", + "Vinson", + "Vinton", + "Virge", + "Virgel", + "Virgie", + "Virgil", + "Virgle", + "Vito", + "Vollie", + "Volney", + "Von", + "Wade", + "Waino", + "Waldemar", + "Waldo", + "Walker", + "Wallace", + "Wally", + "Walt", + "Walter", + "Walton", + "Ward", + "Wardell", + "Warner", + "Warren", + "Wash", + "Washington", + "Watson", + "Watt", + "Waverly", + "Wayde", + "Wayland", + "Waylon", + "Wayman", + "Waymon", + "Wayne", + "Weaver", + "Webb", + "Webster", + "Weldon", + "Wellington", + "Wells", + "Welton", + "Wendel", + "Wendell", + "Wenzel", + "Werner", + "Wes", + "Wesley", + "Wess", + "West", + "Westin", + "Westley", + "Weston", + "Wheeler", + "Whit", + "Whitney", + "Wilber", + "Wilbert", + "Wilbur", + "Wilburn", + "Wiley", + "Wilford", + "Wilfred", + "Wilfredo", + "Wilfrid", + "Wilhelm", + "Wiliam", + "Wilkie", + "Will", + "Willaim", + "Willam", + "Willard", + "William", + "Williams", + "Willian", + "Williard", + "Willie", + "Willis", + "Willy", + "Wilmer", + "Wilson", + "Wilton", + "Windell", + "Winfield", + "Winford", + "Winfred", + "Wing", + "Winifred", + "Winnie", + "Winston", + "Winthrop", + "Winton", + "Wirt", + "Wm", + "Wong", + "Wood", + "Woodie", + "Woodroe", + "Woodrow", + "Woodson", + "Woody", + "Worley", + "Worth", + "Wright", + "Wyatt", + "Wylie", + "Wyman", + "Xander", + "Xavier", + "Xzavier", + "Yaakov", + "Yadiel", + "Yael", + "Yahir", + "Yair", + "Yancy", + "Yandel", + "Yee", + "Yehuda", + "Yoel", + "York", + "Yosef", + "Yoshio", + "Young", + "Yurem", + "Yusuf", + "Zachariah", + "Zachary", + "Zachery", + "Zack", + "Zackary", + "Zackery", + "Zaid", + "Zaiden", + "Zain", + "Zaire", + "Zakary", + "Zander", + "Zane", + "Zavier", + "Zavion", + "Zayden", + "Zayne", + "Zeb", + "Zebulon", + "Zechariah", + "Zed", + "Zeke", + "Zenas", + "Zeno", + "Zigmund", + "Zion", + "Zollie", ) first_names = first_names_male + first_names_female last_names = ( - 'Abbott', 'Abernathy', 'Abshire', 'Adams', 'Altenwerth', 'Anderson', - 'Ankunding', 'Armstrong', 'Auer', 'Aufderhar', 'Bahringer', 'Bailey', - 'Balistreri', 'Barrows', 'Bartell', 'Bartoletti', 'Barton', 'Bashirian', - 'Batz', 'Bauch', 'Baumbach', 'Bayer', 'Beahan', 'Beatty', 'Bechtelar', - 'Becker', 'Bednar', 'Beer', 'Beier', 'Berge', 'Bergnaum', 'Bergstrom', - 'Bernhard', 'Bernier', 'Bins', 'Blanda', 'Blick', 'Block', 'Bode', - 'Boehm', 'Bogan', 'Bogisich', 'Borer', 'Bosco', 'Botsford', 'Boyer', - 'Boyle', 'Bradtke', 'Brakus', 'Braun', 'Breitenberg', 'Brekke', 'Brown', - 'Bruen', 'Buckridge', 'Carroll', 'Carter', 'Cartwright', 'Casper', - 'Cassin', 'Champlin', 'Christiansen', 'Cole', 'Collier', 'Collins', - 'Conn', 'Connelly', 'Conroy', 'Considine', 'Corkery', 'Cormier', - 'Corwin', 'Cremin', 'Crist', 'Crona', 'Cronin', 'Crooks', 'Cruickshank', - 'Cummerata', 'Cummings', 'Dach', 'D\'Amore', 'Daniel', 'Dare', - 'Daugherty', 'Davis', 'Deckow', 'Denesik', 'Dibbert', 'Dickens', - 'Dicki', 'Dickinson', 'Dietrich', 'Donnelly', 'Dooley', 'Douglas', - 'Doyle', 'DuBuque', 'Durgan', 'Ebert', 'Effertz', 'Eichmann', 'Emard', - 'Emmerich', 'Erdman', 'Ernser', 'Fadel', 'Fahey', 'Farrell', 'Fay', - 'Feeney', 'Feest', 'Feil', 'Ferry', 'Fisher', 'Flatley', 'Frami', - 'Franecki', 'Friesen', 'Fritsch', 'Funk', 'Gaylord', 'Gerhold', - 'Gerlach', 'Gibson', 'Gislason', 'Gleason', 'Gleichner', 'Glover', - 'Goldner', 'Goodwin', 'Gorczany', 'Gottlieb', 'Goyette', 'Grady', - 'Graham', 'Grant', 'Green', 'Greenfelder', 'Greenholt', 'Grimes', - 'Gulgowski', 'Gusikowski', 'Gutkowski', 'Gutmann', 'Haag', 'Hackett', - 'Hagenes', 'Hahn', 'Haley', 'Halvorson', 'Hamill', 'Hammes', 'Hand', - 'Hane', 'Hansen', 'Harber', 'Harris', 'Hartmann', 'Harvey', 'Hauck', - 'Hayes', 'Heaney', 'Heathcote', 'Hegmann', 'Heidenreich', 'Heller', - 'Herman', 'Hermann', 'Hermiston', 'Herzog', 'Hessel', 'Hettinger', - 'Hickle', 'Hilll', 'Hills', 'Hilpert', 'Hintz', 'Hirthe', 'Hodkiewicz', - 'Hoeger', 'Homenick', 'Hoppe', 'Howe', 'Howell', 'Hudson', 'Huel', - 'Huels', 'Hyatt', 'Jacobi', 'Jacobs', 'Jacobson', 'Jakubowski', - 'Jaskolski', 'Jast', 'Jenkins', 'Jerde', 'Johns', 'Johnson', 'Johnston', - 'Jones', 'Kassulke', 'Kautzer', 'Keebler', 'Keeling', 'Kemmer', - 'Kerluke', 'Kertzmann', 'Kessler', 'Kiehn', 'Kihn', 'Kilback', 'King', - 'Kirlin', 'Klein', 'Kling', 'Klocko', 'Koch', 'Koelpin', 'Koepp', - 'Kohler', 'Konopelski', 'Koss', 'Kovacek', 'Kozey', 'Krajcik', - 'Kreiger', 'Kris', 'Kshlerin', 'Kub', 'Kuhic', 'Kuhlman', 'Kuhn', - 'Kulas', 'Kunde', 'Kunze', 'Kuphal', 'Kutch', 'Kuvalis', 'Labadie', - 'Lakin', 'Lang', 'Langosh', 'Langworth', 'Larkin', 'Larson', 'Leannon', - 'Lebsack', 'Ledner', 'Leffler', 'Legros', 'Lehner', 'Lemke', 'Lesch', - 'Leuschke', 'Lind', 'Lindgren', 'Littel', 'Little', 'Lockman', 'Lowe', - 'Lubowitz', 'Lueilwitz', 'Luettgen', 'Lynch', 'Macejkovic', 'Maggio', - 'Mann', 'Mante', 'Marks', 'Marquardt', 'Marvin', 'Mayer', 'Mayert', - 'McClure', 'McCullough', 'McDermott', 'McGlynn', 'McKenzie', - 'McLaughlin', 'Medhurst', 'Mertz', 'Metz', 'Miller', 'Mills', - 'Mitchell', 'Moen', 'Mohr', 'Monahan', 'Moore', 'Morar', 'Morissette', - 'Mosciski', 'Mraz', 'Mueller', 'Muller', 'Murazik', 'Murphy', 'Murray', - 'Nader', 'Nicolas', 'Nienow', 'Nikolaus', 'Nitzsche', 'Nolan', - 'Oberbrunner', 'O\'Connell', 'O\'Conner', 'O\'Hara', 'O\'Keefe', - 'O\'Kon', 'Okuneva', 'Olson', 'Ondricka', 'O\'Reilly', 'Orn', 'Ortiz', - 'Osinski', 'Pacocha', 'Padberg', 'Pagac', 'Parisian', 'Parker', - 'Paucek', 'Pfannerstill', 'Pfeffer', 'Pollich', 'Pouros', 'Powlowski', - 'Predovic', 'Price', 'Prohaska', 'Prosacco', 'Purdy', 'Quigley', - 'Quitzon', 'Rath', 'Ratke', 'Rau', 'Raynor', 'Reichel', 'Reichert', - 'Reilly', 'Reinger', 'Rempel', 'Renner', 'Reynolds', 'Rice', 'Rippin', - 'Ritchie', 'Robel', 'Roberts', 'Rodriguez', 'Rogahn', 'Rohan', - 'Rolfson', 'Romaguera', 'Roob', 'Rosenbaum', 'Rowe', 'Ruecker', - 'Runolfsdottir', 'Runolfsson', 'Runte', 'Russel', 'Rutherford', 'Ryan', - 'Sanford', 'Satterfield', 'Sauer', 'Sawayn', 'Schaden', 'Schaefer', - 'Schamberger', 'Schiller', 'Schimmel', 'Schinner', 'Schmeler', - 'Schmidt', 'Schmitt', 'Schneider', 'Schoen', 'Schowalter', 'Schroeder', - 'Schulist', 'Schultz', 'Schumm', 'Schuppe', 'Schuster', 'Senger', - 'Shanahan', 'Shields', 'Simonis', 'Sipes', 'Skiles', 'Smith', 'Smitham', - 'Spencer', 'Spinka', 'Sporer', 'Stamm', 'Stanton', 'Stark', 'Stehr', - 'Steuber', 'Stiedemann', 'Stokes', 'Stoltenberg', 'Stracke', 'Streich', - 'Stroman', 'Strosin', 'Swaniawski', 'Swift', 'Terry', 'Thiel', - 'Thompson', 'Tillman', 'Torp', 'Torphy', 'Towne', 'Toy', 'Trantow', - 'Tremblay', 'Treutel', 'Tromp', 'Turcotte', 'Turner', 'Ullrich', - 'Upton', 'Vandervort', 'Veum', 'Volkman', 'Von', 'VonRueden', 'Waelchi', - 'Walker', 'Walsh', 'Walter', 'Ward', 'Waters', 'Watsica', 'Weber', - 'Wehner', 'Weimann', 'Weissnat', 'Welch', 'West', 'White', 'Wiegand', - 'Wilderman', 'Wilkinson', 'Will', 'Williamson', 'Willms', 'Windler', - 'Wintheiser', 'Wisoky', 'Wisozk', 'Witting', 'Wiza', 'Wolf', 'Wolff', - 'Wuckert', 'Wunsch', 'Wyman', 'Yost', 'Yundt', 'Zboncak', 'Zemlak', - 'Ziemann', 'Zieme', 'Zulauf', + "Abbott", + "Abernathy", + "Abshire", + "Adams", + "Altenwerth", + "Anderson", + "Ankunding", + "Armstrong", + "Auer", + "Aufderhar", + "Bahringer", + "Bailey", + "Balistreri", + "Barrows", + "Bartell", + "Bartoletti", + "Barton", + "Bashirian", + "Batz", + "Bauch", + "Baumbach", + "Bayer", + "Beahan", + "Beatty", + "Bechtelar", + "Becker", + "Bednar", + "Beer", + "Beier", + "Berge", + "Bergnaum", + "Bergstrom", + "Bernhard", + "Bernier", + "Bins", + "Blanda", + "Blick", + "Block", + "Bode", + "Boehm", + "Bogan", + "Bogisich", + "Borer", + "Bosco", + "Botsford", + "Boyer", + "Boyle", + "Bradtke", + "Brakus", + "Braun", + "Breitenberg", + "Brekke", + "Brown", + "Bruen", + "Buckridge", + "Carroll", + "Carter", + "Cartwright", + "Casper", + "Cassin", + "Champlin", + "Christiansen", + "Cole", + "Collier", + "Collins", + "Conn", + "Connelly", + "Conroy", + "Considine", + "Corkery", + "Cormier", + "Corwin", + "Cremin", + "Crist", + "Crona", + "Cronin", + "Crooks", + "Cruickshank", + "Cummerata", + "Cummings", + "Dach", + "D'Amore", + "Daniel", + "Dare", + "Daugherty", + "Davis", + "Deckow", + "Denesik", + "Dibbert", + "Dickens", + "Dicki", + "Dickinson", + "Dietrich", + "Donnelly", + "Dooley", + "Douglas", + "Doyle", + "DuBuque", + "Durgan", + "Ebert", + "Effertz", + "Eichmann", + "Emard", + "Emmerich", + "Erdman", + "Ernser", + "Fadel", + "Fahey", + "Farrell", + "Fay", + "Feeney", + "Feest", + "Feil", + "Ferry", + "Fisher", + "Flatley", + "Frami", + "Franecki", + "Friesen", + "Fritsch", + "Funk", + "Gaylord", + "Gerhold", + "Gerlach", + "Gibson", + "Gislason", + "Gleason", + "Gleichner", + "Glover", + "Goldner", + "Goodwin", + "Gorczany", + "Gottlieb", + "Goyette", + "Grady", + "Graham", + "Grant", + "Green", + "Greenfelder", + "Greenholt", + "Grimes", + "Gulgowski", + "Gusikowski", + "Gutkowski", + "Gutmann", + "Haag", + "Hackett", + "Hagenes", + "Hahn", + "Haley", + "Halvorson", + "Hamill", + "Hammes", + "Hand", + "Hane", + "Hansen", + "Harber", + "Harris", + "Hartmann", + "Harvey", + "Hauck", + "Hayes", + "Heaney", + "Heathcote", + "Hegmann", + "Heidenreich", + "Heller", + "Herman", + "Hermann", + "Hermiston", + "Herzog", + "Hessel", + "Hettinger", + "Hickle", + "Hilll", + "Hills", + "Hilpert", + "Hintz", + "Hirthe", + "Hodkiewicz", + "Hoeger", + "Homenick", + "Hoppe", + "Howe", + "Howell", + "Hudson", + "Huel", + "Huels", + "Hyatt", + "Jacobi", + "Jacobs", + "Jacobson", + "Jakubowski", + "Jaskolski", + "Jast", + "Jenkins", + "Jerde", + "Johns", + "Johnson", + "Johnston", + "Jones", + "Kassulke", + "Kautzer", + "Keebler", + "Keeling", + "Kemmer", + "Kerluke", + "Kertzmann", + "Kessler", + "Kiehn", + "Kihn", + "Kilback", + "King", + "Kirlin", + "Klein", + "Kling", + "Klocko", + "Koch", + "Koelpin", + "Koepp", + "Kohler", + "Konopelski", + "Koss", + "Kovacek", + "Kozey", + "Krajcik", + "Kreiger", + "Kris", + "Kshlerin", + "Kub", + "Kuhic", + "Kuhlman", + "Kuhn", + "Kulas", + "Kunde", + "Kunze", + "Kuphal", + "Kutch", + "Kuvalis", + "Labadie", + "Lakin", + "Lang", + "Langosh", + "Langworth", + "Larkin", + "Larson", + "Leannon", + "Lebsack", + "Ledner", + "Leffler", + "Legros", + "Lehner", + "Lemke", + "Lesch", + "Leuschke", + "Lind", + "Lindgren", + "Littel", + "Little", + "Lockman", + "Lowe", + "Lubowitz", + "Lueilwitz", + "Luettgen", + "Lynch", + "Macejkovic", + "Maggio", + "Mann", + "Mante", + "Marks", + "Marquardt", + "Marvin", + "Mayer", + "Mayert", + "McClure", + "McCullough", + "McDermott", + "McGlynn", + "McKenzie", + "McLaughlin", + "Medhurst", + "Mertz", + "Metz", + "Miller", + "Mills", + "Mitchell", + "Moen", + "Mohr", + "Monahan", + "Moore", + "Morar", + "Morissette", + "Mosciski", + "Mraz", + "Mueller", + "Muller", + "Murazik", + "Murphy", + "Murray", + "Nader", + "Nicolas", + "Nienow", + "Nikolaus", + "Nitzsche", + "Nolan", + "Oberbrunner", + "O'Connell", + "O'Conner", + "O'Hara", + "O'Keefe", + "O'Kon", + "Okuneva", + "Olson", + "Ondricka", + "O'Reilly", + "Orn", + "Ortiz", + "Osinski", + "Pacocha", + "Padberg", + "Pagac", + "Parisian", + "Parker", + "Paucek", + "Pfannerstill", + "Pfeffer", + "Pollich", + "Pouros", + "Powlowski", + "Predovic", + "Price", + "Prohaska", + "Prosacco", + "Purdy", + "Quigley", + "Quitzon", + "Rath", + "Ratke", + "Rau", + "Raynor", + "Reichel", + "Reichert", + "Reilly", + "Reinger", + "Rempel", + "Renner", + "Reynolds", + "Rice", + "Rippin", + "Ritchie", + "Robel", + "Roberts", + "Rodriguez", + "Rogahn", + "Rohan", + "Rolfson", + "Romaguera", + "Roob", + "Rosenbaum", + "Rowe", + "Ruecker", + "Runolfsdottir", + "Runolfsson", + "Runte", + "Russel", + "Rutherford", + "Ryan", + "Sanford", + "Satterfield", + "Sauer", + "Sawayn", + "Schaden", + "Schaefer", + "Schamberger", + "Schiller", + "Schimmel", + "Schinner", + "Schmeler", + "Schmidt", + "Schmitt", + "Schneider", + "Schoen", + "Schowalter", + "Schroeder", + "Schulist", + "Schultz", + "Schumm", + "Schuppe", + "Schuster", + "Senger", + "Shanahan", + "Shields", + "Simonis", + "Sipes", + "Skiles", + "Smith", + "Smitham", + "Spencer", + "Spinka", + "Sporer", + "Stamm", + "Stanton", + "Stark", + "Stehr", + "Steuber", + "Stiedemann", + "Stokes", + "Stoltenberg", + "Stracke", + "Streich", + "Stroman", + "Strosin", + "Swaniawski", + "Swift", + "Terry", + "Thiel", + "Thompson", + "Tillman", + "Torp", + "Torphy", + "Towne", + "Toy", + "Trantow", + "Tremblay", + "Treutel", + "Tromp", + "Turcotte", + "Turner", + "Ullrich", + "Upton", + "Vandervort", + "Veum", + "Volkman", + "Von", + "VonRueden", + "Waelchi", + "Walker", + "Walsh", + "Walter", + "Ward", + "Waters", + "Watsica", + "Weber", + "Wehner", + "Weimann", + "Weissnat", + "Welch", + "West", + "White", + "Wiegand", + "Wilderman", + "Wilkinson", + "Will", + "Williamson", + "Willms", + "Windler", + "Wintheiser", + "Wisoky", + "Wisozk", + "Witting", + "Wiza", + "Wolf", + "Wolff", + "Wuckert", + "Wunsch", + "Wyman", + "Yost", + "Yundt", + "Zboncak", + "Zemlak", + "Ziemann", + "Zieme", + "Zulauf", ) - prefixes_female = ('Mrs.', 'Ms.', 'Miss', 'Dr.') - prefixes_male = ('Mr.', 'Dr.') + prefixes_female = ("Mrs.", "Ms.", "Miss", "Dr.") + prefixes_male = ("Mr.", "Dr.") - suffixes_female = ('MD', 'DDS', 'PhD', 'DVM') - suffixes_male = ('Jr.', 'Sr.', 'I', 'II', 'III', - 'IV', 'V', 'MD', 'DDS', 'PhD', 'DVM') + suffixes_female = ("MD", "DDS", "PhD", "DVM") + suffixes_male = ( + "Jr.", + "Sr.", + "I", + "II", + "III", + "IV", + "V", + "MD", + "DDS", + "PhD", + "DVM", + ) diff --git a/faker/providers/person/en_GB/__init__.py b/faker/providers/person/en_GB/__init__.py index 413fa50b19..0c42733395 100644 --- a/faker/providers/person/en_GB/__init__.py +++ b/faker/providers/person/en_GB/__init__.py @@ -5,588 +5,901 @@ class Provider(PersonProvider): formats = ( - '{{first_name_male}} {{last_name}}', - '{{first_name_male}} {{last_name}}', - '{{first_name_male}} {{last_name}}', - '{{first_name_male}} {{last_name}}', - '{{first_name_male}} {{last_name}}-{{last_name}}', - '{{first_name_female}} {{last_name}}', - '{{first_name_female}} {{last_name}}', - '{{first_name_female}} {{last_name}}', - '{{first_name_female}} {{last_name}}', - '{{first_name_female}} {{last_name}}-{{last_name}}', - '{{prefix_male}} {{first_name_male}} {{last_name}}', - '{{prefix_female}} {{first_name_female}} {{last_name}}', - '{{prefix_male}} {{first_name_male}} {{last_name}}', - '{{prefix_female}} {{first_name_female}} {{last_name}}', + "{{first_name_male}} {{last_name}}", + "{{first_name_male}} {{last_name}}", + "{{first_name_male}} {{last_name}}", + "{{first_name_male}} {{last_name}}", + "{{first_name_male}} {{last_name}}-{{last_name}}", + "{{first_name_female}} {{last_name}}", + "{{first_name_female}} {{last_name}}", + "{{first_name_female}} {{last_name}}", + "{{first_name_female}} {{last_name}}", + "{{first_name_female}} {{last_name}}-{{last_name}}", + "{{prefix_male}} {{first_name_male}} {{last_name}}", + "{{prefix_female}} {{first_name_female}} {{last_name}}", + "{{prefix_male}} {{first_name_male}} {{last_name}}", + "{{prefix_female}} {{first_name_female}} {{last_name}}", ) # Names from # http://webarchive.nationalarchives.gov.uk/20160105160709/http://ons.gov.uk/ons/publications/re-reference-tables.html?edition=tcm%3A77-243767 first_names_male = ( - 'David', 'Paul', 'Christopher', 'Thomas', 'John', 'Mark', 'James', - 'Stephen', 'Andrew', 'Jack', 'Michael', 'Daniel', 'Peter', 'Richard', - 'Matthew', 'Robert', 'Ryan', 'Joshua', 'Alan', 'Ian', 'Simon', 'Luke', - 'Samuel', 'Jordan', 'Anthony', 'Adam', 'Lee', 'Alexander', 'William', - 'Kevin', 'Darren', 'Benjamin', 'Philip', 'Gary', 'Joseph', 'Brian', - 'Steven', 'Liam', 'Keith', 'Martin', 'Jason', 'Jonathan', 'Jake', - 'Graham', 'Nicholas', 'Craig', 'George', 'Colin', 'Neil', 'Lewis', - 'Nigel', 'Oliver', 'Timothy', 'Stuart', 'Kenneth', 'Raymond', 'Jamie', - 'Nathan', 'Geoffrey', 'Connor', 'Terence', 'Trevor', 'Adrian', 'Harry', - 'Malcolm', 'Scott', 'Callum', 'Wayne', 'Aaron', 'Barry', 'Ashley', - 'Bradley', 'Patrick', 'Gareth', 'Jacob', 'Sean', 'Kieran', 'Derek', - 'Carl', 'Dean', 'Charles', 'Sam', 'Shaun', 'Ben', 'Roger', 'Mohammed', - 'Leslie', 'Ronald', 'Kyle', 'Clive', 'Edward', 'Antony', 'Jeremy', - 'Justin', 'Jeffrey', 'Christian', 'Roy', 'Karl', 'Alex', 'Gordon', - 'Dominic', 'Joe', 'Marc', 'Reece', 'Dennis', 'Russell', 'Gavin', 'Rhys', - 'Phillip', 'Allan', 'Robin', 'Charlie', 'Gerald', 'Ross', 'Francis', - 'Eric', 'Julian', 'Bernard', 'Dale', 'Donald', 'Damian', 'Frank', - 'Shane', 'Cameron', 'Norman', 'Duncan', 'Louis', 'Frederick', 'Tony', - 'Howard', 'Conor', 'Douglas', 'Garry', 'Elliot', 'Marcus', 'Arthur', - 'Vincent', 'Max', 'Mathew', 'Abdul', 'Henry', 'Martyn', 'Ricky', - 'Leonard', 'Lawrence', 'Glen', 'Mitchell', 'Gerard', 'Gregory', 'Iain', - 'Billy', 'Bryan', 'Joel', 'Clifford', 'Josh', 'Leon', 'Stewart', - 'Mohammad', 'Dylan', 'Graeme', 'Terry', 'Guy', 'Elliott', 'Stanley', - 'Danny', 'Brandon', 'Victor', 'Toby', 'Hugh', 'Mohamed', 'Brett', - 'Albert', 'Tom', 'Declan', 'Maurice', 'Glenn', 'Leigh', 'Denis', - 'Damien', 'Bruce', 'Jay', 'Owen', + "David", + "Paul", + "Christopher", + "Thomas", + "John", + "Mark", + "James", + "Stephen", + "Andrew", + "Jack", + "Michael", + "Daniel", + "Peter", + "Richard", + "Matthew", + "Robert", + "Ryan", + "Joshua", + "Alan", + "Ian", + "Simon", + "Luke", + "Samuel", + "Jordan", + "Anthony", + "Adam", + "Lee", + "Alexander", + "William", + "Kevin", + "Darren", + "Benjamin", + "Philip", + "Gary", + "Joseph", + "Brian", + "Steven", + "Liam", + "Keith", + "Martin", + "Jason", + "Jonathan", + "Jake", + "Graham", + "Nicholas", + "Craig", + "George", + "Colin", + "Neil", + "Lewis", + "Nigel", + "Oliver", + "Timothy", + "Stuart", + "Kenneth", + "Raymond", + "Jamie", + "Nathan", + "Geoffrey", + "Connor", + "Terence", + "Trevor", + "Adrian", + "Harry", + "Malcolm", + "Scott", + "Callum", + "Wayne", + "Aaron", + "Barry", + "Ashley", + "Bradley", + "Patrick", + "Gareth", + "Jacob", + "Sean", + "Kieran", + "Derek", + "Carl", + "Dean", + "Charles", + "Sam", + "Shaun", + "Ben", + "Roger", + "Mohammed", + "Leslie", + "Ronald", + "Kyle", + "Clive", + "Edward", + "Antony", + "Jeremy", + "Justin", + "Jeffrey", + "Christian", + "Roy", + "Karl", + "Alex", + "Gordon", + "Dominic", + "Joe", + "Marc", + "Reece", + "Dennis", + "Russell", + "Gavin", + "Rhys", + "Phillip", + "Allan", + "Robin", + "Charlie", + "Gerald", + "Ross", + "Francis", + "Eric", + "Julian", + "Bernard", + "Dale", + "Donald", + "Damian", + "Frank", + "Shane", + "Cameron", + "Norman", + "Duncan", + "Louis", + "Frederick", + "Tony", + "Howard", + "Conor", + "Douglas", + "Garry", + "Elliot", + "Marcus", + "Arthur", + "Vincent", + "Max", + "Mathew", + "Abdul", + "Henry", + "Martyn", + "Ricky", + "Leonard", + "Lawrence", + "Glen", + "Mitchell", + "Gerard", + "Gregory", + "Iain", + "Billy", + "Bryan", + "Joel", + "Clifford", + "Josh", + "Leon", + "Stewart", + "Mohammad", + "Dylan", + "Graeme", + "Terry", + "Guy", + "Elliott", + "Stanley", + "Danny", + "Brandon", + "Victor", + "Toby", + "Hugh", + "Mohamed", + "Brett", + "Albert", + "Tom", + "Declan", + "Maurice", + "Glenn", + "Leigh", + "Denis", + "Damien", + "Bruce", + "Jay", + "Owen", ) first_names_female = ( - 'Susan', 'Sarah', 'Rebecca', 'Linda', 'Julie', 'Claire', 'Laura', - 'Lauren', 'Christine', 'Karen', 'Nicola', 'Gemma', 'Jessica', - 'Margaret', 'Jacqueline', 'Emma', 'Charlotte', 'Janet', 'Deborah', - 'Lisa', 'Hannah', 'Patricia', 'Tracey', 'Joanne', 'Sophie', 'Carol', - 'Jane', 'Michelle', 'Victoria', 'Amy', 'Elizabeth', 'Helen', 'Samantha', - 'Emily', 'Mary', 'Diane', 'Rachel', 'Anne', 'Sharon', 'Ann', 'Tracy', - 'Amanda', 'Jennifer', 'Chloe', 'Angela', 'Louise', 'Katie', 'Lucy', - 'Barbara', 'Alison', 'Sandra', 'Caroline', 'Clare', 'Kelly', 'Bethany', - 'Gillian', 'Natalie', 'Jade', 'Pauline', 'Megan', 'Elaine', 'Alice', - 'Lesley', 'Catherine', 'Hayley', 'Pamela', 'Danielle', 'Holly', 'Wendy', - 'Abigail', 'Valerie', 'Olivia', 'Jean', 'Dawn', 'Donna', 'Stephanie', - 'Leanne', 'Kathleen', 'Natasha', 'Denise', 'Sally', 'Katherine', - 'Georgia', 'Maureen', 'Maria', 'Zoe', 'Judith', 'Kerry', 'Debra', - 'Melanie', 'Stacey', 'Eleanor', 'Paula', 'Shannon', 'Sheila', 'Joanna', - 'Paige', 'Janice', 'Lorraine', 'Georgina', 'Lynn', 'Andrea', 'Suzanne', - 'Nicole', 'Yvonne', 'Chelsea', 'Lynne', 'Anna', 'Kirsty', 'Shirley', - 'Alexandra', 'Marion', 'Beverley', 'Melissa', 'Rosemary', 'Kimberley', - 'Carole', 'Fiona', 'Kate', 'Joan', 'Marie', 'Jenna', 'Marilyn', 'Jodie', - 'June', 'Grace', 'Mandy', 'Rachael', 'Lynda', 'Tina', 'Kathryn', - 'Molly', 'Jayne', 'Amber', 'Marian', 'Jasmine', 'Brenda', 'Sara', - 'Kayleigh', 'Teresa', 'Harriet', 'Julia', 'Ashleigh', 'Heather', 'Kim', - 'Ruth', 'Jemma', 'Carly', 'Leah', 'Eileen', 'Francesca', 'Naomi', - 'Hilary', 'Abbie', 'Sylvia', 'Katy', 'Irene', 'Cheryl', 'Rosie', - 'Dorothy', 'Aimee', 'Vanessa', 'Ellie', 'Frances', 'Sian', 'Josephine', - 'Gail', 'Jill', 'Lydia', 'Joyce', 'Charlene', 'Hollie', 'Hazel', - 'Annette', 'Bethan', 'Amelia', 'Beth', 'Rita', 'Geraldine', 'Diana', - 'Lindsey', 'Carolyn', + "Susan", + "Sarah", + "Rebecca", + "Linda", + "Julie", + "Claire", + "Laura", + "Lauren", + "Christine", + "Karen", + "Nicola", + "Gemma", + "Jessica", + "Margaret", + "Jacqueline", + "Emma", + "Charlotte", + "Janet", + "Deborah", + "Lisa", + "Hannah", + "Patricia", + "Tracey", + "Joanne", + "Sophie", + "Carol", + "Jane", + "Michelle", + "Victoria", + "Amy", + "Elizabeth", + "Helen", + "Samantha", + "Emily", + "Mary", + "Diane", + "Rachel", + "Anne", + "Sharon", + "Ann", + "Tracy", + "Amanda", + "Jennifer", + "Chloe", + "Angela", + "Louise", + "Katie", + "Lucy", + "Barbara", + "Alison", + "Sandra", + "Caroline", + "Clare", + "Kelly", + "Bethany", + "Gillian", + "Natalie", + "Jade", + "Pauline", + "Megan", + "Elaine", + "Alice", + "Lesley", + "Catherine", + "Hayley", + "Pamela", + "Danielle", + "Holly", + "Wendy", + "Abigail", + "Valerie", + "Olivia", + "Jean", + "Dawn", + "Donna", + "Stephanie", + "Leanne", + "Kathleen", + "Natasha", + "Denise", + "Sally", + "Katherine", + "Georgia", + "Maureen", + "Maria", + "Zoe", + "Judith", + "Kerry", + "Debra", + "Melanie", + "Stacey", + "Eleanor", + "Paula", + "Shannon", + "Sheila", + "Joanna", + "Paige", + "Janice", + "Lorraine", + "Georgina", + "Lynn", + "Andrea", + "Suzanne", + "Nicole", + "Yvonne", + "Chelsea", + "Lynne", + "Anna", + "Kirsty", + "Shirley", + "Alexandra", + "Marion", + "Beverley", + "Melissa", + "Rosemary", + "Kimberley", + "Carole", + "Fiona", + "Kate", + "Joan", + "Marie", + "Jenna", + "Marilyn", + "Jodie", + "June", + "Grace", + "Mandy", + "Rachael", + "Lynda", + "Tina", + "Kathryn", + "Molly", + "Jayne", + "Amber", + "Marian", + "Jasmine", + "Brenda", + "Sara", + "Kayleigh", + "Teresa", + "Harriet", + "Julia", + "Ashleigh", + "Heather", + "Kim", + "Ruth", + "Jemma", + "Carly", + "Leah", + "Eileen", + "Francesca", + "Naomi", + "Hilary", + "Abbie", + "Sylvia", + "Katy", + "Irene", + "Cheryl", + "Rosie", + "Dorothy", + "Aimee", + "Vanessa", + "Ellie", + "Frances", + "Sian", + "Josephine", + "Gail", + "Jill", + "Lydia", + "Joyce", + "Charlene", + "Hollie", + "Hazel", + "Annette", + "Bethan", + "Amelia", + "Beth", + "Rita", + "Geraldine", + "Diana", + "Lindsey", + "Carolyn", ) first_names = first_names_male + first_names_female - last_names = OrderedDict(( - ('Savage', 0.04), - ('Winter', 0.03), - ('Metcalfe', 0.03), - ('Harper', 0.06), - ('Burgess', 0.06), - ('Bailey', 0.15), - ('Potts', 0.03), - ('Boyle', 0.03), - ('Brown', 0.51), - ('Jennings', 0.05), - ('Payne', 0.09), - ('Day', 0.09), - ('Holland', 0.07), - ('Higgins', 0.05), - ('Rhodes', 0.04), - ('Hancock', 0.04), - ('Howells', 0.03), - ('Fowler', 0.04), - ('Sims', 0.03), - ('Thomas', 0.35), - ('Parker', 0.17), - ('Bentley', 0.04), - ('Barnett', 0.05), - ('Manning', 0.03), - ('Collier', 0.03), - ('Holloway', 0.03), - ('Hartley', 0.04), - ('George', 0.05), - ('Tomlinson', 0.04), - ('Howard', 0.09), - ('Long', 0.06), - ('Farmer', 0.03), - ('Collins', 0.15), - ('Rice', 0.03), - ('Townsend', 0.04), - ('Rees', 0.07), - ('Bruce', 0.03), - ('Hammond', 0.05), - ('Ford', 0.09), - ('Tucker', 0.05), - ('Wallis', 0.03), - ('Hamilton', 0.06), - ('Ferguson', 0.04), - ('Hooper', 0.03), - ('Francis', 0.07), - ('Reeves', 0.04), - ('Barlow', 0.04), - ('Short', 0.04), - ('Cunningham', 0.05), - ('Hopkins', 0.06), - ('Nicholson', 0.06), - ('Archer', 0.04), - ('Green', 0.25), - ('Glover', 0.04), - ('Gibson', 0.09), - ('Spencer', 0.08), - ('Warner', 0.04), - ('Webb', 0.12), - ('Whitehouse', 0.03), - ('Dean', 0.06), - ('Griffiths', 0.16), - ('Clark', 0.2), - ('Hardy', 0.05), - ('Iqbal', 0.03), - ('Baldwin', 0.04), - ('O\'Neill', 0.06), - ('Blake', 0.05), - ('Lees', 0.03), - ('Harvey', 0.1), - ('Clarke', 0.24), - ('Daniels', 0.04), - ('Browne', 0.03), - ('Macdonald', 0.04), - ('Kirk', 0.04), - ('Khan', 0.14), - ('Davidson', 0.05), - ('Dale', 0.04), - ('Sanders', 0.04), - ('Wilkins', 0.04), - ('Connor', 0.03), - ('Daly', 0.03), - ('Lane', 0.06), - ('Kennedy', 0.06), - ('Bray', 0.03), - ('Burrows', 0.04), - ('Hayes', 0.07), - ('Wyatt', 0.03), - ('Gould', 0.03), - ('Dyer', 0.03), - ('Nash', 0.05), - ('Bryan', 0.03), - ('Pope', 0.03), - ('Fraser', 0.04), - ('Steele', 0.03), - ('Walsh', 0.09), - ('Wade', 0.04), - ('Marsden', 0.03), - ('Humphries', 0.03), - ('O\'Brien', 0.08), - ('Thompson', 0.28), - ('Lord', 0.03), - ('Coleman', 0.06), - ('Jarvis', 0.04), - ('Noble', 0.03), - ('Williamson', 0.06), - ('Carpenter', 0.03), - ('Gardner', 0.06), - ('Farrell', 0.04), - ('Clayton', 0.05), - ('Akhtar', 0.05), - ('Gallagher', 0.05), - ('Skinner', 0.04), - ('Birch', 0.04), - ('Kay', 0.04), - ('Barrett', 0.07), - ('Bates', 0.06), - ('Lucas', 0.04), - ('O\'Connor', 0.06), - ('Chamberlain', 0.03), - ('Chapman', 0.12), - ('Ryan', 0.08), - ('Thorpe', 0.04), - ('Lawson', 0.04), - ('Howell', 0.04), - ('Martin', 0.23), - ('Kelly', 0.16), - ('Dobson', 0.04), - ('Stevens', 0.1), - ('Brennan', 0.04), - ('Lloyd', 0.11), - ('Quinn', 0.05), - ('Morton', 0.04), - ('Wilson', 0.35), - ('Barnes', 0.11), - ('Henry', 0.03), - ('Smith', 1.15), - ('Pritchard', 0.05), - ('Phillips', 0.18), - ('Dixon', 0.1), - ('Sharpe', 0.03), - ('Robertson', 0.07), - ('White', 0.27), - ('Bird', 0.06), - ('Abbott', 0.04), - ('Kirby', 0.04), - ('Hussain', 0.11), - ('Barber', 0.05), - ('Harris', 0.25), - ('Doyle', 0.05), - ('Jordan', 0.05), - ('Burns', 0.06), - ('Hodgson', 0.06), - ('Atkins', 0.04), - ('Stokes', 0.05), - ('Rogers', 0.12), - ('Parkes', 0.03), - ('Brookes', 0.04), - ('Herbert', 0.03), - ('Gordon', 0.05), - ('Kemp', 0.05), - ('Webster', 0.07), - ('Sinclair', 0.03), - ('McLean', 0.03), - ('Saunders', 0.09), - ('Stephens', 0.05), - ('Newton', 0.07), - ('Potter', 0.05), - ('Storey', 0.03), - ('Stanley', 0.04), - ('Turnbull', 0.03), - ('Duncan', 0.03), - ('Rose', 0.08), - ('Mills', 0.11), - ('Sheppard', 0.03), - ('Butcher', 0.03), - ('Fry', 0.03), - ('Ross', 0.06), - ('Shepherd', 0.06), - ('Goodwin', 0.05), - ('Holt', 0.05), - ('Haynes', 0.04), - ('Cook', 0.15), - ('Ward', 0.21), - ('Godfrey', 0.03), - ('Stone', 0.07), - ('Dodd', 0.04), - ('Parsons', 0.07), - ('Ingram', 0.03), - ('Nixon', 0.03), - ('Evans', 0.39), - ('Hargreaves', 0.03), - ('Owen', 0.11), - ('Chan', 0.03), - ('Connolly', 0.03), - ('Charlton', 0.03), - ('Middleton', 0.04), - ('Hyde', 0.03), - ('Patel', 0.24), - ('Owens', 0.03), - ('Lamb', 0.04), - ('Palmer', 0.11), - ('Cooper', 0.22), - ('McCarthy', 0.06), - ('Black', 0.04), - ('Dickinson', 0.04), - ('Gilbert', 0.05), - ('Leach', 0.03), - ('North', 0.03), - ('Byrne', 0.06), - ('Frost', 0.05), - ('Simmons', 0.04), - ('Matthews', 0.11), - ('Alexander', 0.04), - ('Ahmed', 0.1), - ('Gibbons', 0.03), - ('Stevenson', 0.05), - ('Rowley', 0.03), - ('Miles', 0.05), - ('Hanson', 0.03), - ('Bolton', 0.03), - ('Craig', 0.03), - ('Ali', 0.12), - ('Carroll', 0.04), - ('Allan', 0.03), - ('Sanderson', 0.03), - ('Fletcher', 0.1), - ('Burton', 0.08), - ('Oliver', 0.07), - ('Davison', 0.04), - ('Douglas', 0.04), - ('Field', 0.04), - ('Pickering', 0.03), - ('Pugh', 0.04), - ('Rowe', 0.05), - ('Mahmood', 0.03), - ('Sykes', 0.03), - ('Crawford', 0.03), - ('Williams', 0.66), - ('Parkin', 0.03), - ('Patterson', 0.04), - ('Power', 0.03), - ('Price', 0.17), - ('Murphy', 0.14), - ('Hale', 0.03), - ('Nicholls', 0.06), - ('Hall', 0.25), - ('Jones', 0.94), - ('Hughes', 0.26), - ('Stephenson', 0.05), - ('Morley', 0.04), - ('Knight', 0.11), - ('Kerr', 0.03), - ('Heath', 0.04), - ('Pollard', 0.03), - ('Lowe', 0.07), - ('O\'Sullivan', 0.04), - ('Buckley', 0.05), - ('Bond', 0.05), - ('Dennis', 0.03), - ('Lewis', 0.25), - ('Weston', 0.04), - ('Joyce', 0.03), - ('Reynolds', 0.09), - ('Bishop', 0.06), - ('Norris', 0.04), - ('Barry', 0.03), - ('Whittaker', 0.04), - ('Carey', 0.03), - ('Hill', 0.22), - ('Kent', 0.04), - ('Ashton', 0.04), - ('Wilkinson', 0.13), - ('Powell', 0.12), - ('Henderson', 0.06), - ('Freeman', 0.06), - ('Dunn', 0.07), - ('Kaur', 0.09), - ('French', 0.04), - ('Parry', 0.06), - ('Walton', 0.06), - ('Fisher', 0.1), - ('Naylor', 0.03), - ('Duffy', 0.04), - ('Humphreys', 0.04), - ('Randall', 0.03), - ('Bevan', 0.03), - ('Doherty', 0.03), - ('Moore', 0.21), - ('Armstrong', 0.07), - ('Sullivan', 0.05), - ('Swift', 0.03), - ('Pearce', 0.09), - ('Tyler', 0.03), - ('Bradshaw', 0.04), - ('Allen', 0.19), - ('Mellor', 0.03), - ('Whitehead', 0.05), - ('Jackson', 0.24), - ('Grant', 0.07), - ('Fox', 0.09), - ('Wright', 0.28), - ('Anderson', 0.13), - ('Foster', 0.13), - ('Gibbs', 0.04), - ('Butler', 0.11), - ('Jenkins', 0.1), - ('John', 0.04), - ('Morrison', 0.04), - ('Talbot', 0.03), - ('Blackburn', 0.03), - ('Osborne', 0.05), - ('Flynn', 0.04), - ('Richards', 0.14), - ('Hurst', 0.03), - ('Bibi', 0.05), - ('Houghton', 0.03), - ('Johnson', 0.34), - ('Yates', 0.06), - ('Mistry', 0.03), - ('Donnelly', 0.03), - ('Parkinson', 0.04), - ('Thomson', 0.05), - ('Woods', 0.07), - ('Todd', 0.04), - ('Dawson', 0.08), - ('Hart', 0.07), - ('Graham', 0.1), - ('Berry', 0.07), - ('Willis', 0.05), - ('Miah', 0.04), - ('Brooks', 0.09), - ('Horton', 0.03), - ('Riley', 0.07), - ('Lambert', 0.05), - ('Waters', 0.04), - ('Lynch', 0.05), - ('Moss', 0.06), - ('Slater', 0.05), - ('Knowles', 0.04), - ('Benson', 0.03), - ('Adams', 0.13), - ('King', 0.2), - ('Davies', 0.48), - ('Richardson', 0.15), - ('Vincent', 0.03), - ('Holmes', 0.11), - ('Conway', 0.03), - ('Marshall', 0.14), - ('Faulkner', 0.03), - ('Garner', 0.03), - ('Booth', 0.08), - ('Harrison', 0.2), - ('Campbell', 0.11), - ('Cole', 0.08), - ('Goddard', 0.04), - ('Walters', 0.05), - ('Ellis', 0.13), - ('Edwards', 0.27), - ('Peters', 0.04), - ('Atkinson', 0.08), - ('Wood', 0.24), - ('Briggs', 0.04), - ('Elliott', 0.09), - ('Chandler', 0.03), - ('Hope', 0.03), - ('Hunter', 0.07), - ('Newman', 0.07), - ('Pratt', 0.03), - ('Rahman', 0.03), - ('Hicks', 0.04), - ('Cox', 0.14), - ('Reid', 0.07), - ('Morris', 0.21), - ('Banks', 0.04), - ('Myers', 0.03), - ('Mitchell', 0.16), - ('Davey', 0.04), - ('Peacock', 0.03), - ('Reed', 0.07), - ('Carter', 0.15), - ('Miller', 0.14), - ('Perkins', 0.04), - ('Read', 0.05), - ('Hilton', 0.03), - ('Moran', 0.03), - ('Welch', 0.03), - ('Vaughan', 0.04), - ('Clements', 0.03), - ('Griffin', 0.05), - ('Russell', 0.1), - ('O\'Donnell', 0.03), - ('Hobbs', 0.03), - ('Marsh', 0.07), - ('Porter', 0.07), - ('Gill', 0.08), - ('Leonard', 0.03), - ('McKenzie', 0.03), - ('Thornton', 0.04), - ('Fitzgerald', 0.03), - ('Greenwood', 0.05), - ('Pearson', 0.1), - ('James', 0.19), - ('Coles', 0.03), - ('Roberts', 0.33), - ('Nelson', 0.05), - ('Forster', 0.03), - ('Gough', 0.03), - ('Mann', 0.05), - ('Law', 0.03), - ('Barker', 0.1), - ('Cartwright', 0.04), - ('Bradley', 0.08), - ('Sharp', 0.05), - ('Warren', 0.06), - ('Summers', 0.03), - ('Little', 0.04), - ('Perry', 0.08), - ('Fuller', 0.04), - ('West', 0.09), - ('Mason', 0.12), - ('Finch', 0.03), - ('Norton', 0.03), - ('Burke', 0.05), - ('Holden', 0.04), - ('Lee', 0.2), - ('Smart', 0.04), - ('Bull', 0.04), - ('Bryant', 0.04), - ('Gray', 0.12), - ('Watts', 0.08), - ('Brady', 0.03), - ('Baker', 0.2), - ('Barton', 0.05), - ('Davis', 0.17), - ('Baxter', 0.05), - ('Taylor', 0.53), - ('Carr', 0.07), - ('Wong', 0.04), - ('Cameron', 0.03), - ('Gardiner', 0.03), - ('Hawkins', 0.07), - ('Shaw', 0.15), - ('Wallace', 0.05), - ('Young', 0.16), - ('Shah', 0.06), - ('Gregory', 0.07), - ('Ball', 0.08), - ('Norman', 0.04), - ('Lawrence', 0.09), - ('Bowen', 0.04), - ('Wheeler', 0.05), - ('Bartlett', 0.04), - ('Sutton', 0.06), - ('Lyons', 0.03), - ('Hutchinson', 0.05), - ('Poole', 0.05), - ('Cooke', 0.06), - ('Franklin', 0.03), - ('Howe', 0.04), - ('Walker', 0.27), - ('Johnston', 0.05), - ('Austin', 0.05), - ('Chadwick', 0.03), - ('Bell', 0.15), - ('Wall', 0.04), - ('Woodward', 0.05), - ('Preston', 0.04), - ('Bennett', 0.16), - ('Murray', 0.1), - ('Begum', 0.13), - ('McDonald', 0.06), - ('Hudson', 0.07), - ('Cross', 0.06), - ('Singh', 0.13), - ('Howarth', 0.03), - ('Hewitt', 0.05), - ('Curtis', 0.06), - ('Harding', 0.07), - ('May', 0.05), - ('Wells', 0.07), - ('Giles', 0.03), - ('Watson', 0.17), - ('Nolan', 0.03), - ('Andrews', 0.09), - ('Hayward', 0.04), - ('Schofield', 0.04), - ('Hunt', 0.12), - ('Robson', 0.06), - ('Arnold', 0.05), - ('Morgan', 0.19), - ('Coates', 0.03), - ('Page', 0.07), - ('Simpson', 0.13), - ('Stewart', 0.09), - ('Robinson', 0.29), - ('Fleming', 0.03), - ('Scott', 0.18), - ('Chambers', 0.06), - ('Turner', 0.23), - ('Watkins', 0.06), - )) + last_names = OrderedDict( + ( + ("Savage", 0.04), + ("Winter", 0.03), + ("Metcalfe", 0.03), + ("Harper", 0.06), + ("Burgess", 0.06), + ("Bailey", 0.15), + ("Potts", 0.03), + ("Boyle", 0.03), + ("Brown", 0.51), + ("Jennings", 0.05), + ("Payne", 0.09), + ("Day", 0.09), + ("Holland", 0.07), + ("Higgins", 0.05), + ("Rhodes", 0.04), + ("Hancock", 0.04), + ("Howells", 0.03), + ("Fowler", 0.04), + ("Sims", 0.03), + ("Thomas", 0.35), + ("Parker", 0.17), + ("Bentley", 0.04), + ("Barnett", 0.05), + ("Manning", 0.03), + ("Collier", 0.03), + ("Holloway", 0.03), + ("Hartley", 0.04), + ("George", 0.05), + ("Tomlinson", 0.04), + ("Howard", 0.09), + ("Long", 0.06), + ("Farmer", 0.03), + ("Collins", 0.15), + ("Rice", 0.03), + ("Townsend", 0.04), + ("Rees", 0.07), + ("Bruce", 0.03), + ("Hammond", 0.05), + ("Ford", 0.09), + ("Tucker", 0.05), + ("Wallis", 0.03), + ("Hamilton", 0.06), + ("Ferguson", 0.04), + ("Hooper", 0.03), + ("Francis", 0.07), + ("Reeves", 0.04), + ("Barlow", 0.04), + ("Short", 0.04), + ("Cunningham", 0.05), + ("Hopkins", 0.06), + ("Nicholson", 0.06), + ("Archer", 0.04), + ("Green", 0.25), + ("Glover", 0.04), + ("Gibson", 0.09), + ("Spencer", 0.08), + ("Warner", 0.04), + ("Webb", 0.12), + ("Whitehouse", 0.03), + ("Dean", 0.06), + ("Griffiths", 0.16), + ("Clark", 0.2), + ("Hardy", 0.05), + ("Iqbal", 0.03), + ("Baldwin", 0.04), + ("O'Neill", 0.06), + ("Blake", 0.05), + ("Lees", 0.03), + ("Harvey", 0.1), + ("Clarke", 0.24), + ("Daniels", 0.04), + ("Browne", 0.03), + ("Macdonald", 0.04), + ("Kirk", 0.04), + ("Khan", 0.14), + ("Davidson", 0.05), + ("Dale", 0.04), + ("Sanders", 0.04), + ("Wilkins", 0.04), + ("Connor", 0.03), + ("Daly", 0.03), + ("Lane", 0.06), + ("Kennedy", 0.06), + ("Bray", 0.03), + ("Burrows", 0.04), + ("Hayes", 0.07), + ("Wyatt", 0.03), + ("Gould", 0.03), + ("Dyer", 0.03), + ("Nash", 0.05), + ("Bryan", 0.03), + ("Pope", 0.03), + ("Fraser", 0.04), + ("Steele", 0.03), + ("Walsh", 0.09), + ("Wade", 0.04), + ("Marsden", 0.03), + ("Humphries", 0.03), + ("O'Brien", 0.08), + ("Thompson", 0.28), + ("Lord", 0.03), + ("Coleman", 0.06), + ("Jarvis", 0.04), + ("Noble", 0.03), + ("Williamson", 0.06), + ("Carpenter", 0.03), + ("Gardner", 0.06), + ("Farrell", 0.04), + ("Clayton", 0.05), + ("Akhtar", 0.05), + ("Gallagher", 0.05), + ("Skinner", 0.04), + ("Birch", 0.04), + ("Kay", 0.04), + ("Barrett", 0.07), + ("Bates", 0.06), + ("Lucas", 0.04), + ("O'Connor", 0.06), + ("Chamberlain", 0.03), + ("Chapman", 0.12), + ("Ryan", 0.08), + ("Thorpe", 0.04), + ("Lawson", 0.04), + ("Howell", 0.04), + ("Martin", 0.23), + ("Kelly", 0.16), + ("Dobson", 0.04), + ("Stevens", 0.1), + ("Brennan", 0.04), + ("Lloyd", 0.11), + ("Quinn", 0.05), + ("Morton", 0.04), + ("Wilson", 0.35), + ("Barnes", 0.11), + ("Henry", 0.03), + ("Smith", 1.15), + ("Pritchard", 0.05), + ("Phillips", 0.18), + ("Dixon", 0.1), + ("Sharpe", 0.03), + ("Robertson", 0.07), + ("White", 0.27), + ("Bird", 0.06), + ("Abbott", 0.04), + ("Kirby", 0.04), + ("Hussain", 0.11), + ("Barber", 0.05), + ("Harris", 0.25), + ("Doyle", 0.05), + ("Jordan", 0.05), + ("Burns", 0.06), + ("Hodgson", 0.06), + ("Atkins", 0.04), + ("Stokes", 0.05), + ("Rogers", 0.12), + ("Parkes", 0.03), + ("Brookes", 0.04), + ("Herbert", 0.03), + ("Gordon", 0.05), + ("Kemp", 0.05), + ("Webster", 0.07), + ("Sinclair", 0.03), + ("McLean", 0.03), + ("Saunders", 0.09), + ("Stephens", 0.05), + ("Newton", 0.07), + ("Potter", 0.05), + ("Storey", 0.03), + ("Stanley", 0.04), + ("Turnbull", 0.03), + ("Duncan", 0.03), + ("Rose", 0.08), + ("Mills", 0.11), + ("Sheppard", 0.03), + ("Butcher", 0.03), + ("Fry", 0.03), + ("Ross", 0.06), + ("Shepherd", 0.06), + ("Goodwin", 0.05), + ("Holt", 0.05), + ("Haynes", 0.04), + ("Cook", 0.15), + ("Ward", 0.21), + ("Godfrey", 0.03), + ("Stone", 0.07), + ("Dodd", 0.04), + ("Parsons", 0.07), + ("Ingram", 0.03), + ("Nixon", 0.03), + ("Evans", 0.39), + ("Hargreaves", 0.03), + ("Owen", 0.11), + ("Chan", 0.03), + ("Connolly", 0.03), + ("Charlton", 0.03), + ("Middleton", 0.04), + ("Hyde", 0.03), + ("Patel", 0.24), + ("Owens", 0.03), + ("Lamb", 0.04), + ("Palmer", 0.11), + ("Cooper", 0.22), + ("McCarthy", 0.06), + ("Black", 0.04), + ("Dickinson", 0.04), + ("Gilbert", 0.05), + ("Leach", 0.03), + ("North", 0.03), + ("Byrne", 0.06), + ("Frost", 0.05), + ("Simmons", 0.04), + ("Matthews", 0.11), + ("Alexander", 0.04), + ("Ahmed", 0.1), + ("Gibbons", 0.03), + ("Stevenson", 0.05), + ("Rowley", 0.03), + ("Miles", 0.05), + ("Hanson", 0.03), + ("Bolton", 0.03), + ("Craig", 0.03), + ("Ali", 0.12), + ("Carroll", 0.04), + ("Allan", 0.03), + ("Sanderson", 0.03), + ("Fletcher", 0.1), + ("Burton", 0.08), + ("Oliver", 0.07), + ("Davison", 0.04), + ("Douglas", 0.04), + ("Field", 0.04), + ("Pickering", 0.03), + ("Pugh", 0.04), + ("Rowe", 0.05), + ("Mahmood", 0.03), + ("Sykes", 0.03), + ("Crawford", 0.03), + ("Williams", 0.66), + ("Parkin", 0.03), + ("Patterson", 0.04), + ("Power", 0.03), + ("Price", 0.17), + ("Murphy", 0.14), + ("Hale", 0.03), + ("Nicholls", 0.06), + ("Hall", 0.25), + ("Jones", 0.94), + ("Hughes", 0.26), + ("Stephenson", 0.05), + ("Morley", 0.04), + ("Knight", 0.11), + ("Kerr", 0.03), + ("Heath", 0.04), + ("Pollard", 0.03), + ("Lowe", 0.07), + ("O'Sullivan", 0.04), + ("Buckley", 0.05), + ("Bond", 0.05), + ("Dennis", 0.03), + ("Lewis", 0.25), + ("Weston", 0.04), + ("Joyce", 0.03), + ("Reynolds", 0.09), + ("Bishop", 0.06), + ("Norris", 0.04), + ("Barry", 0.03), + ("Whittaker", 0.04), + ("Carey", 0.03), + ("Hill", 0.22), + ("Kent", 0.04), + ("Ashton", 0.04), + ("Wilkinson", 0.13), + ("Powell", 0.12), + ("Henderson", 0.06), + ("Freeman", 0.06), + ("Dunn", 0.07), + ("Kaur", 0.09), + ("French", 0.04), + ("Parry", 0.06), + ("Walton", 0.06), + ("Fisher", 0.1), + ("Naylor", 0.03), + ("Duffy", 0.04), + ("Humphreys", 0.04), + ("Randall", 0.03), + ("Bevan", 0.03), + ("Doherty", 0.03), + ("Moore", 0.21), + ("Armstrong", 0.07), + ("Sullivan", 0.05), + ("Swift", 0.03), + ("Pearce", 0.09), + ("Tyler", 0.03), + ("Bradshaw", 0.04), + ("Allen", 0.19), + ("Mellor", 0.03), + ("Whitehead", 0.05), + ("Jackson", 0.24), + ("Grant", 0.07), + ("Fox", 0.09), + ("Wright", 0.28), + ("Anderson", 0.13), + ("Foster", 0.13), + ("Gibbs", 0.04), + ("Butler", 0.11), + ("Jenkins", 0.1), + ("John", 0.04), + ("Morrison", 0.04), + ("Talbot", 0.03), + ("Blackburn", 0.03), + ("Osborne", 0.05), + ("Flynn", 0.04), + ("Richards", 0.14), + ("Hurst", 0.03), + ("Bibi", 0.05), + ("Houghton", 0.03), + ("Johnson", 0.34), + ("Yates", 0.06), + ("Mistry", 0.03), + ("Donnelly", 0.03), + ("Parkinson", 0.04), + ("Thomson", 0.05), + ("Woods", 0.07), + ("Todd", 0.04), + ("Dawson", 0.08), + ("Hart", 0.07), + ("Graham", 0.1), + ("Berry", 0.07), + ("Willis", 0.05), + ("Miah", 0.04), + ("Brooks", 0.09), + ("Horton", 0.03), + ("Riley", 0.07), + ("Lambert", 0.05), + ("Waters", 0.04), + ("Lynch", 0.05), + ("Moss", 0.06), + ("Slater", 0.05), + ("Knowles", 0.04), + ("Benson", 0.03), + ("Adams", 0.13), + ("King", 0.2), + ("Davies", 0.48), + ("Richardson", 0.15), + ("Vincent", 0.03), + ("Holmes", 0.11), + ("Conway", 0.03), + ("Marshall", 0.14), + ("Faulkner", 0.03), + ("Garner", 0.03), + ("Booth", 0.08), + ("Harrison", 0.2), + ("Campbell", 0.11), + ("Cole", 0.08), + ("Goddard", 0.04), + ("Walters", 0.05), + ("Ellis", 0.13), + ("Edwards", 0.27), + ("Peters", 0.04), + ("Atkinson", 0.08), + ("Wood", 0.24), + ("Briggs", 0.04), + ("Elliott", 0.09), + ("Chandler", 0.03), + ("Hope", 0.03), + ("Hunter", 0.07), + ("Newman", 0.07), + ("Pratt", 0.03), + ("Rahman", 0.03), + ("Hicks", 0.04), + ("Cox", 0.14), + ("Reid", 0.07), + ("Morris", 0.21), + ("Banks", 0.04), + ("Myers", 0.03), + ("Mitchell", 0.16), + ("Davey", 0.04), + ("Peacock", 0.03), + ("Reed", 0.07), + ("Carter", 0.15), + ("Miller", 0.14), + ("Perkins", 0.04), + ("Read", 0.05), + ("Hilton", 0.03), + ("Moran", 0.03), + ("Welch", 0.03), + ("Vaughan", 0.04), + ("Clements", 0.03), + ("Griffin", 0.05), + ("Russell", 0.1), + ("O'Donnell", 0.03), + ("Hobbs", 0.03), + ("Marsh", 0.07), + ("Porter", 0.07), + ("Gill", 0.08), + ("Leonard", 0.03), + ("McKenzie", 0.03), + ("Thornton", 0.04), + ("Fitzgerald", 0.03), + ("Greenwood", 0.05), + ("Pearson", 0.1), + ("James", 0.19), + ("Coles", 0.03), + ("Roberts", 0.33), + ("Nelson", 0.05), + ("Forster", 0.03), + ("Gough", 0.03), + ("Mann", 0.05), + ("Law", 0.03), + ("Barker", 0.1), + ("Cartwright", 0.04), + ("Bradley", 0.08), + ("Sharp", 0.05), + ("Warren", 0.06), + ("Summers", 0.03), + ("Little", 0.04), + ("Perry", 0.08), + ("Fuller", 0.04), + ("West", 0.09), + ("Mason", 0.12), + ("Finch", 0.03), + ("Norton", 0.03), + ("Burke", 0.05), + ("Holden", 0.04), + ("Lee", 0.2), + ("Smart", 0.04), + ("Bull", 0.04), + ("Bryant", 0.04), + ("Gray", 0.12), + ("Watts", 0.08), + ("Brady", 0.03), + ("Baker", 0.2), + ("Barton", 0.05), + ("Davis", 0.17), + ("Baxter", 0.05), + ("Taylor", 0.53), + ("Carr", 0.07), + ("Wong", 0.04), + ("Cameron", 0.03), + ("Gardiner", 0.03), + ("Hawkins", 0.07), + ("Shaw", 0.15), + ("Wallace", 0.05), + ("Young", 0.16), + ("Shah", 0.06), + ("Gregory", 0.07), + ("Ball", 0.08), + ("Norman", 0.04), + ("Lawrence", 0.09), + ("Bowen", 0.04), + ("Wheeler", 0.05), + ("Bartlett", 0.04), + ("Sutton", 0.06), + ("Lyons", 0.03), + ("Hutchinson", 0.05), + ("Poole", 0.05), + ("Cooke", 0.06), + ("Franklin", 0.03), + ("Howe", 0.04), + ("Walker", 0.27), + ("Johnston", 0.05), + ("Austin", 0.05), + ("Chadwick", 0.03), + ("Bell", 0.15), + ("Wall", 0.04), + ("Woodward", 0.05), + ("Preston", 0.04), + ("Bennett", 0.16), + ("Murray", 0.1), + ("Begum", 0.13), + ("McDonald", 0.06), + ("Hudson", 0.07), + ("Cross", 0.06), + ("Singh", 0.13), + ("Howarth", 0.03), + ("Hewitt", 0.05), + ("Curtis", 0.06), + ("Harding", 0.07), + ("May", 0.05), + ("Wells", 0.07), + ("Giles", 0.03), + ("Watson", 0.17), + ("Nolan", 0.03), + ("Andrews", 0.09), + ("Hayward", 0.04), + ("Schofield", 0.04), + ("Hunt", 0.12), + ("Robson", 0.06), + ("Arnold", 0.05), + ("Morgan", 0.19), + ("Coates", 0.03), + ("Page", 0.07), + ("Simpson", 0.13), + ("Stewart", 0.09), + ("Robinson", 0.29), + ("Fleming", 0.03), + ("Scott", 0.18), + ("Chambers", 0.06), + ("Turner", 0.23), + ("Watkins", 0.06), + ) + ) - prefixes_female = ('Mrs.', 'Ms.', 'Miss', 'Dr.') - prefixes_male = ('Mr.', 'Dr.') + prefixes_female = ("Mrs", "Ms", "Miss", "Dr") + prefixes_male = ("Mr", "Dr") diff --git a/faker/providers/person/en_IE/__init__.py b/faker/providers/person/en_IE/__init__.py new file mode 100644 index 0000000000..a2aeb7f499 --- /dev/null +++ b/faker/providers/person/en_IE/__init__.py @@ -0,0 +1,3140 @@ +""" +The name list was sourced from UCD and DCU project + https://www.duchas.ie/en/nom + +first names from Northern Ireland Statistics and Research Agency + https://www.nisra.gov.uk/publications/baby-names-2016 +1996 series +""" +from .. import Provider as PersonProvider + + +class Provider(PersonProvider): + formats = ( + "{{first_name_male}} {{last_name}}", + "{{first_name_male}} {{last_name}}", + "{{first_name_male}} {{last_name}}", + "{{first_name_male}} {{last_name}}", + "{{first_name_male}} {{last_name}}-{{last_name}}", + "{{first_name_female}} {{last_name}}", + "{{first_name_female}} {{last_name}}", + "{{first_name_female}} {{last_name}}", + "{{first_name_female}} {{last_name}}", + "{{first_name_female}} {{last_name}}-{{last_name}}", + "{{prefix_male}} {{first_name_male}} {{last_name}}", + "{{prefix_female}} {{first_name_female}} {{last_name}}", + "{{prefix_male}} {{first_name_male}} {{last_name}}", + "{{prefix_female}} {{first_name_female}} {{last_name}}", + ) + first_names_male = ( + "Aaron", + "Adam", + "Adrian", + "Aedan", + "Aidan", + "Aiden", + "Alan", + "Alastair", + "Albert", + "Alex", + "Alexander", + "Alistair", + "Alister", + "Andrew", + "Angus", + "Anthony", + "Antoin", + "Anton", + "Aodhan", + "Arran", + "Arron", + "Ashley", + "Bailey", + "Bailie", + "Barry", + "Ben", + "Benjamin", + "Benn", + "Bernard", + "Blaine", + "Blake", + "Brad", + "Bradley", + "Brandon", + "Breandan", + "Brendan", + "Brett", + "Brian", + "Bryan", + "Cahal", + "Cahir", + "Cailum", + "Cal", + "Caleb", + "Callan", + "Callum", + "Calum", + "Calvin", + "Cameron", + "Caoimhin", + "Caolain", + "Caolan", + "Caomhan", + "Carl", + "Carter", + "Cathal", + "Charles", + "Charlie", + "Che", + "Chris", + "Christian", + "Christie", + "Christopher", + "Christy", + "Cianan", + "Ciaran", + "Cillian", + "Clark", + "Clifford", + "Cody", + "Colin", + "Colm", + "Colum", + "Conal", + "Conall", + "Conan", + "Conchur", + "Conn", + "Connor", + "Conor", + "Conrad", + "Corey", + "Cormac", + "Cory", + "Craig", + "Curtis", + "Daire", + "Dale", + "Damian", + "Damien", + "Daniel", + "Danny", + "Dara", + "Darragh", + "Darrell", + "Darren", + "Darryl", + "Daryl", + "David", + "Deaglan", + "Dean", + "Deane", + "Declan", + "Dennis", + "Dermot", + "Desmond", + "Diarmuid", + "Dillon", + "Domhnall", + "Dominic", + "Don", + "Donal", + "Duncan", + "Dylan", + "Eamon", + "Eamonn", + "Edward", + "Elliot", + "Emmet", + "Emmett", + "Enda", + "Eoghan", + "Eoin", + "Eric", + "Ethan", + "Euan", + "Eugene", + "Eunan", + "Evan", + "Ewan", + "Feargal", + "Fearghal", + "Fergal", + "Fergus", + "Finbar", + "Finn", + "Fintan", + "Fionntan", + "Francis", + "Frazer", + "Gabriel", + "Gareth", + "Garrett", + "Gary", + "Gavin", + "Geoffrey", + "George", + "Gerald", + "Gerard", + "Giles", + "Glen", + "Glenn", + "Gordon", + "Graeme", + "Graham", + "Grant", + "Gregory", + "Hamish", + "Harry", + "Harvey", + "Hayden", + "Henry", + "Hugh", + "Iain", + "Ian", + "Isaac", + "Jack", + "Jackson", + "Jacob", + "Jaime", + "Jake", + "James", + "Jamie", + "Jared", + "Jarlath", + "Jason", + "Jay", + "Jeffrey", + "Jesse", + "Joe", + "Joel", + "John", + "Johnathan", + "Johnny", + "Jon", + "Jonathan", + "Jonathon", + "Jordan", + "Jordon", + "Joseph", + "Josh", + "Joshua", + "Jude", + "Justin", + "Kane", + "Karl", + "Kealan", + "Keelan", + "Keith", + "Kelvin", + "Kenneth", + "Kevin", + "Kieran", + "Killian", + "Kirk", + "Kristian", + "Kristopher", + "Kurt", + "Kurtis", + "Kyle", + "Lee", + "Leo", + "Leon", + "Lewis", + "Liam", + "Lloyd", + "Logan", + "Lorcan", + "Louis", + "Lucas", + "Luke", + "Lyndon", + "Macauley", + "Mairtin", + "Malachy", + "Malcolm", + "Manus", + "Marc", + "Marco", + "Marcus", + "Mark", + "Martin", + "Matthew", + "Max", + "Michael", + "Micheal", + "Mitchel", + "Mitchell", + "Morgan", + "Myles", + "Naoise", + "Nathan", + "Nathaniel", + "Neil", + "Niall", + "Nicholas", + "Nigel", + "Noel", + "Odhran", + "Oisin", + "Oliver", + "Omar", + "Oran", + "Owen", + "Padraic", + "Padraig", + "Patrick", + "Paul", + "Pauric", + "Peadar", + "Pearce", + "Pearse", + "Peter", + "Philip", + "Phillip", + "Piaras", + "Pierce", + "Raymond", + "Reece", + "Reuben", + "Rhys", + "Rian", + "Richard", + "Robbie", + "Robert", + "Robin", + "Rohan", + "Ronan", + "Rory", + "Ross", + "Rowan", + "Roy", + "Ruairi", + "Ruari", + "Russell", + "Ryan", + "Sam", + "Samuel", + "Saul", + "Scot", + "Scott", + "Seamus", + "Sean", + "Sean-Paul", + "Shane", + "Shaun", + "Shay", + "Shea", + "Simon", + "Stefan", + "Stephen", + "Steven", + "Stewart", + "Stuart", + "Taylor", + "Terence", + "Thomas", + "Tiarnan", + "Tiernan", + "Timothy", + "Tobias", + "Toby", + "Tom", + "Tomas", + "Tony", + "Travis", + "Trevor", + "Tristan", + "Troy", + "Tyler", + "Tyrone", + "Vincent", + "Warren", + "Wayne", + "William", + "Zac", + "Zach", + "Zachary", + "Zak", + ) + + first_names_female = ( + "Abbi", + "Abbie", + "Abby", + "Abigail", + "Adele", + "Aideen", + "Aileen", + "Ailis", + "Aimee", + "Aine", + "Aisling", + "Aislinn", + "Alana", + "Alanis", + "Alanna", + "Alannah", + "Alex", + "Alexandra", + "Alexandria", + "Alice", + "Alicia", + "Alisha", + "Alison", + "Alix", + "Amanda", + "Amber", + "Amelia", + "Amie", + "Amy", + "Amy-Lee", + "Amy-Leigh", + "Anastasia", + "Andrea", + "Angela", + "Anna", + "Annalise", + "Anne-Marie", + "Annie", + "Antoinette", + "Aoibheann", + "Aoibhin", + "Aoibhinn", + "Aoife", + "April", + "Arianne", + "Ashleigh", + "Ashlene", + "Ashley", + "Ashling", + "Ashton", + "Ayesha", + "Bernadette", + "Beth", + "Bethan", + "Bethany", + "Billie-Jo", + "Blanaid", + "Brigid", + "Brittany", + "Brogan", + "Bronach", + "Bronagh", + "Brooke", + "Brooklyn", + "Bryony", + "Cailin", + "Caitlin", + "Caitlyn", + "Caitriona", + "Caoilfhionn", + "Caoimhe", + "Cara", + "Caragh", + "Carla", + "Carly", + "Carmel", + "Carol", + "Caroline", + "Carolyn", + "Carrie", + "Casey", + "Cassandra", + "Cassie", + "Catherine", + "Cathy", + "Catriona", + "Ceara", + "Celine", + "Chantel", + "Chantelle", + "Charis", + "Charlene", + "Charlie", + "Charlotte", + "Chelsea", + "Chelsey", + "Cherie", + "Cherith", + "Chloe", + "Christina", + "Christine", + "Ciara", + "Ciarrai", + "Claire", + "Clara", + "Clare", + "Clarissa", + "Claudia", + "Cliodhna", + "Cliona", + "Clodagh", + "Codie", + "Colleen", + "Collette", + "Connie", + "Constance", + "Cora", + "Corinne", + "Corrie", + "Cortney", + "Courteney", + "Courtney", + "Daire", + "Dairine", + "Dana", + "Danielle", + "Dara", + "Darcy", + "Darragh", + "Dawn", + "Dayna", + "Dearbhail", + "Dearbhaile", + "Dearbhla", + "Deborah", + "Deirbhile", + "Demi", + "Demi-Lee", + "Demi-Leigh", + "Denise", + "Dervla", + "Diane", + "Dionne", + "Donna", + "Eadaoin", + "Ebony", + "Edel", + "Eden", + "Eileen", + "Eilis", + "Eilish", + "Eimear", + "Eimer", + "Eimhear", + "Elaine", + "Eleanor", + "Elise", + "Elisha", + "Elizabeth", + "Ella", + "Ellen", + "Ellie", + "Eloise", + "Emer", + "Emilie", + "Emily", + "Emma", + "Emma-Louise", + "Enya", + "Erica", + "Erika", + "Erin", + "Eryn", + "Esther", + "Eva", + "Eve", + "Evelyn", + "Evie", + "Fainche", + "Faith", + "Faye", + "Fiona", + "Fionnuala", + "Frances", + "Francesca", + "Freya", + "Gabrielle", + "Gemma", + "Georgia", + "Georgina", + "Geraldine", + "Gillian", + "Gina", + "Grace", + "Grainne", + "Haley", + "Hannah", + "Harriet", + "Hayleigh", + "Hayley", + "Heather", + "Heidi", + "Helen", + "Helena", + "Hollie", + "Holly", + "India", + "Iona", + "Jacqueline", + "Jade", + "Jamie", + "Jamie-Lee", + "Jamie-Leigh", + "Jana", + "Jane", + "Janet", + "Janice", + "Janine", + "Jasmin", + "Jasmine", + "Jayde", + "Jayne", + "Jemma", + "Jena", + "Jenna", + "Jenni", + "Jennifer", + "Jenny", + "Jessica", + "Jill", + "Joanna", + "Joanne", + "Jodie", + "Jody", + "Johanna", + "Jolene", + "Jordan", + "Josephine", + "Joy", + "Judith", + "Julia", + "Julie", + "Julie-Anne", + "Justine", + "Kaitlin", + "Kaitlyn", + "Kara", + "Karen", + "Karla", + "Karley", + "Kate", + "Katelyn", + "Katharine", + "Katherine", + "Kathleen", + "Kathryn", + "Kathy", + "Katie", + "Katie-Louise", + "Katrina", + "Katy", + "Kayleigh", + "Keely", + "Keeva", + "Kellie", + "Kelly", + "Kelly-Anne", + "Kelly-Marie", + "Kelsey", + "Keri", + "Kerri", + "Kerrie", + "Kerry", + "Kiera", + "Kimberly", + "Kira", + "Kirby", + "Kirsten", + "Kirstie", + "Kirstin", + "Kirsty", + "Kori", + "Kristin", + "Kristina", + "Lana", + "Laoise", + "Lara", + "Laura", + "Lauren", + "Laurie", + "Leah", + "Leanne", + "Leigh", + "Leona", + "Leonie", + "Lesley", + "Lindsay", + "Lisa", + "Lisa-Marie", + "Lois", + "Lorna", + "Louise", + "Lucia", + "Lucinda", + "Lucy", + "Lydia", + "Lynda", + "Lyndsay", + "Lyndsey", + "Lynsey", + "Madison", + "Maeve", + "Mairead", + "Margaret", + "Maria", + "Marie", + "Marie-Claire", + "Martha", + "Martina", + "Mary", + "Maura", + "Maureen", + "Meabh", + "Meaghan", + "Meg", + "Megan", + "Meghan", + "Meibh", + "Melanie", + "Melissa", + "Mia", + "Michaela", + "Micheala", + "Michelle", + "Miriam", + "Mollie", + "Molly", + "Morgan", + "Nadia", + "Nadine", + "Naoimh", + "Naoise", + "Naomh", + "Naomi", + "Natalie", + "Natasha", + "Niamh", + "Nichola", + "Nichole", + "Nicola", + "Nicole", + "Nikita", + "Nikki", + "Nina", + "Nora", + "Nuala", + "Olivia", + "Oonagh", + "Orfhlaith", + "Orla", + "Orlagh", + "Orlaigh", + "Orlaith", + "Padraigin", + "Paige", + "Patrice", + "Patricia", + "Paula", + "Phoebe", + "Polly", + "Rachael", + "Rachel", + "Rachelle", + "Rebecca", + "Rebekah", + "Regan", + "Rhian", + "Rhianna", + "Rhianne", + "Rhiannon", + "Roberta", + "Robyn", + "Roise", + "Roisin", + "Rose", + "Roseanna", + "Rosemary", + "Rosie", + "Ruth", + "Sabrina", + "Sacha", + "Samantha", + "Sandra", + "Saoirse", + "Sara", + "Sarah", + "Sarah-Jane", + "Sarah-Louise", + "Sasha", + "Saskia", + "Savannah", + "Seana", + "Seanan", + "Seaneen", + "Seanna", + "Selina", + "Seona", + "Serena", + "Shania", + "Shanice", + "Shanna", + "Shannan", + "Shannen", + "Shannon", + "Sharon", + "Shauna", + "Shauneen", + "Shelby", + "Shelley", + "Sheree", + "Shona", + "Sian", + "Simone", + "Sinead", + "Siobhan", + "Siofra", + "Sophia", + "Sophie", + "Sophie-Louise", + "Sorcha", + "Stacey", + "Stephanie", + "Susan", + "Susanna", + "Susannah", + "Suzanne", + "Tamara", + "Tammy", + "Tanya", + "Tara", + "Taylor", + "Teresa", + "Terri", + "Tess", + "Tessa", + "Theresa", + "Therese", + "Tia", + "Tiarna", + "Tiegan", + "Tiffany", + "Toni", + "Tonicha", + "Tori", + "Tory", + "Tracey", + "Tyler", + "Una", + "Ursula", + "Vanessa", + "Victoria", + "Whitney", + "Yasmin", + "Yasmine", + "Zara", + "Zoe", + ) + + first_names = first_names_male + first_names_female + + last_names = ( + "Achison", + "Adams", + "Agnew", + "Ahearn", + "Ahearne", + "Ahern", + "Aherne", + "Ainsboro", + "Allen", + "Allis", + "Anderson", + "Andrews", + "Angus", + "Annsboro", + "Ansboro", + "Arthurs", + "Ashe", + "Ashman", + "Atchison", + "Atkins", + "Atkinson", + "Aylward", + "Baker", + "Baldwin", + "Bale", + "Bandeville", + "Banks", + "Bann", + "Bannon", + "Banville", + "Barnes", + "Barnett", + "Barneville", + "Barrett", + "Barrnette", + "Barron", + "Barry", + "Bartley", + "Bates", + "Baxter", + "Beakey", + "Beal", + "Beale", + "Beasty", + "Beattie", + "Beatty", + "Beggan", + "Beggs", + "Begley", + "Behan", + "Beirn", + "Beirne", + "Bell", + "Belton", + "Bennet", + "Bennett", + "Beresford", + "Bergin", + "Bermingham", + "Berminghim", + "Bernard", + "Berney", + "Bernie", + "Berry", + "Biesty", + "Bird", + "Birmingham", + "Bishop", + "Black", + "Blake", + "Blanch", + "Blanche", + "Bodkin", + "Bogan", + "Bohan", + "Boland", + "Boles", + "Bolger", + "Bonar", + "Boner", + "Bones", + "Bonner", + "Boreland", + "Borland", + "Bourke", + "Bowe", + "Bowen", + "Bowler", + "Bowles", + "Boyce", + "Boylan", + "Boyle", + "Boyse", + "Bradden", + "Bradley", + "Brady", + "Branaola", + "Brannelly", + "Brassil", + "Bray", + "Bree", + "Breen", + "Breheny", + "Brennan", + "Breslin", + "Bresnehan", + "Brett", + "Brick", + "Bridge", + "Bridson", + "Brien", + "Briody", + "Brislane", + "Broderick", + "Brody", + "Brogan", + "Brophy", + "Brosnan", + "Brown", + "Browne", + "Broy", + "Bruen", + "Bruton", + "Bryan", + "Bryson", + "Buckley", + "Burchill", + "Burke", + "Burns", + "Burton", + "Butler", + "Buttimer", + "Buttimore", + "Byrne", + "Byrnes", + "Cadden", + "Caddow", + "Cadogan", + "Cafferkey", + "Cafferky", + "Cafferty", + "Caffrey", + "Cagney", + "Cahalane", + "Cahill", + "Cahillane", + "Cahir", + "Caine", + "Cairn", + "Cairns", + "Caldwell", + "Callaghan", + "Callan", + "Callanan", + "Calligan", + "Callinan", + "Cally", + "Calvey", + "Campbell", + "Canavan", + "Cannan", + "Canniffe", + "Canning", + "Cannon", + "Canny", + "Cantwell", + "Caplis", + "Capples", + "Capua", + "Carbery", + "Carey", + "Carleton", + "Carley", + "Carlin", + "Carmody", + "Carney", + "Carolan", + "Carr", + "Carragher", + "Carrig", + "Carrigan", + "Carrigy", + "Carroll", + "Carry", + "Carter", + "Carthy", + "Carton", + "Carty", + "Carville", + "Casey", + "Cashen", + "Cashman", + "Cassen", + "Casserley", + "Casserly", + "Cassidy", + "Cassin", + "Cattigan", + "Cauley", + "Caulfield", + "Cavanagh", + "Cawley", + "Charles", + "Christopher", + "Clafferty", + "Claffey", + "Clair", + "Clancy", + "Clare", + "Clarke", + "Classon", + "Clavin", + "Clear", + "Cleary", + "Clements", + "Clenaghan", + "Clerkin", + "Clery", + "Clifford", + "Clinten", + "Clinton", + "Clogherty", + "Cloherty", + "Clohessey", + "Clohessy", + "Cloney", + "Cloonan", + "Cloone", + "Clooney", + "Clune", + "Coady", + "Coakley", + "Cody", + "Coen", + "Coffey", + "Cogan", + "Cogley", + "Cohalan", + "Cohen", + "Coholan", + "Cole", + "Coleman", + "Colfer", + "Colgan", + "Colhoun", + "Coll", + "Collen", + "Colleneler", + "Colleran", + "Colley", + "Collier", + "Colligan", + "Collinder", + "Collins", + "Colly", + "Colreavy", + "Colum", + "Comber", + "Combre", + "Comer", + "Comerford", + "Comisky", + "Commins", + "Comyn", + "Conaty", + "Conboy", + "Concannon", + "Condon", + "Condren", + "Condron", + "Conefrey", + "Conlan", + "Conlon", + "Conmee", + "Conmy", + "Connachton", + "Connaghy", + "Connaughton", + "Conneeley", + "Conneely", + "Connell", + "Connellan", + "Connelly", + "Connery", + "Connole", + "Connolly", + "Connor", + "Connors", + "Conole", + "Conree", + "Conroy", + "Conry", + "Considine", + "Convey", + "Conway", + "Conwell", + "Coogan", + "Cook", + "Cooke", + "Coolahan", + "Coonan", + "Cooney", + "Corbett", + "Corcoran", + "Corduff", + "Corish", + "Corkery", + "Corless", + "Corley", + "Cormack", + "Cormican", + "Cormick", + "Cormy", + "Corr", + "Corridan", + "Corrigan", + "Corry", + "Cosgrave", + "Cosgrove", + "Costello", + "Costelloe", + "Costigan", + "Cotter", + "Coughlan", + "Counihan", + "Courcey", + "Cournane", + "Courtenay", + "Courtney", + "Cousins", + "Cowan", + "Cowely", + "Cowen", + "Cowley", + "Cox", + "Coyle", + "Coyne", + "Crahan", + "Craig", + "Craine", + "Crampsey", + "Crampsie", + "Crane", + "Crangle", + "Cranley", + "Cranly", + "Craven", + "Crawley", + "Crean", + "Creed", + "Creedon", + "Cregan", + "Crehan", + "Cremin", + "Cribbons", + "Crilly", + "Crimmins", + "Crinion", + "Croal", + "Crohan", + "Crolly", + "Cronelly", + "Cronin", + "Cronly", + "Crosbie", + "Crosby", + "Cross", + "Crossan", + "Crota", + "Crotty", + "Crowe", + "Crowley", + "Crudden", + "Cruise", + "Cryan", + "Cuddihy", + "Cuffe", + "Culhane", + "Cullen", + "Culligan", + "Cullinan", + "Cullinane", + "Culloty", + "Cully", + "Cumiskey", + "Cumisky", + "Cummins", + "Cummiskey", + "Cummisky", + "Cunnane", + "Cunneen", + "Cunningham", + "Cunny", + "Curley", + "Curnane", + "Curneen", + "Curnyn", + "Curran", + "Currie", + "Curry", + "Curtin", + "Curtis", + "Cusack", + "D'Arcy", + "Daiken", + "Dalton", + "Daly", + "Danaher", + "Dane", + "Daniel", + "Daniels", + "Darcy", + "Dargan", + "Darmody", + "Dasey", + "Davenport", + "Davern", + "Davey", + "Davin", + "Davis", + "Davitt", + "Davoren", + "Davy", + "Daw", + "Dawson", + "Day", + "Deacon", + "Deacy", + "Deady", + "Dean", + "Deane", + "Dease", + "Deasy", + "Dee", + "Deegadan", + "Deegan", + "Deehan", + "Deeley", + "Deely", + "Deeney", + "Deeny", + "Deere", + "Deery", + "Deigan", + "Deignan", + "Delahunty", + "Delaney", + "Delap", + "Delargy", + "Deloughrey", + "Deloughry", + "Dempsey", + "Denihan", + "Denis", + "Denison", + "Dennehy", + "Denning", + "Denny", + "Dermody", + "Dermott", + "Derrig", + "Desmond", + "Devally", + "Devane", + "Devaney", + "Devanney", + "Devenney", + "Dever", + "Devereaux Deaueroux", + "Devereux", + "Devery", + "Devilly", + "Devin", + "Devine", + "Devitt", + "Devlin", + "Devoy", + "Dickey", + "Dickie", + "Dickson", + "Diffin", + "Diffley", + "Diggin", + "Diggins", + "Dignan", + "Dillane", + "Dillon", + "Dinan", + "Dineen", + "Dinneen", + "Dirrane", + "Diskin", + "Divenney", + "Diver", + "Divine", + "Diviney", + "Dixon", + "Dobbin", + "Dobbins", + "Dogherty", + "Doherty", + "Dolan", + "Donagher", + "Donaldson", + "Donegan", + "Donlon", + "Donnan", + "Donnell", + "Donnellan", + "Donnelly", + "Donoghue", + "Donohoe", + "Donohue", + "Donovan", + "Doody", + "Dooey", + "Doogan", + "Doohan", + "Doolan", + "Dooley", + "Doorty", + "Doran", + "Dordan", + "Dore", + "Dorgan", + "Dornan", + "Dorrian", + "Doudigan", + "Dowd", + "Dower", + "Dowey", + "Dowley", + "Dowling", + "Downes", + "Downey", + "Downing", + "Doyle", + "Drennan", + "Drian", + "Driscoll", + "Drohan", + "Droney", + "Drum", + "Drumm", + "Drummond", + "Drummy", + "Duane", + "Duff", + "Duffin", + "Duffy", + "Duggan", + "Duhig", + "Duhy", + "Duignan", + "Dulohery", + "Duncan", + "Dunford", + "Dungan", + "Dunleavey", + "Dunleavy", + "Dunne", + "Dunning", + "Dunny", + "Dunphy", + "Dunworth", + "Durkan", + "Durkin", + "Durnan", + "Durnin", + "Durning", + "Durrihy", + "Dwane", + "Dwyer", + "Dyer", + "Earl", + "Earle", + "Early", + "Egan", + "Eivers", + "Elliot", + "Elliott", + "Ellis", + "Elwood", + "English", + "Ennis", + "Enright", + "Ervin", + "Ervine", + "Eustace", + "Evans", + "Evoy", + "Fadden", + "Fadian", + "Fagan", + "Faherty", + "Fahey", + "Fahy", + "Fair", + "Fall", + "Fallon", + "Falvey", + "Fannin", + "Fanning", + "Fannon", + "Farell", + "Farnan", + "Farnon", + "Farragher", + "Farrell", + "Farrelly", + "Farren", + "Farrissey", + "Farrissy", + "Farry", + "Faulkner", + "Faull", + "Fay", + "Fealy", + "Fearon", + "Fee", + "Feehan", + "Feeley", + "Feely", + "Feeney", + "Feeny", + "Fegan", + "Fehan", + "Fehilly", + "Feighery", + "Felban", + "Fenelon", + "Fenighty", + "Fenlon", + "Fennell", + "Fennelly", + "Fennessey", + "Fenning", + "Fenton", + "Fergus", + "Ferguson", + "Ferris", + "Ferriter", + "Ferry", + "Field", + "Fielding", + "Filban", + "Filbin", + "Finan", + "Finegan", + "Finlay", + "Finn", + "Finnegan", + "Finneran", + "Finnerty", + "Finnucane", + "Finucane", + "Fisher", + "Fitzgerald", + "Fitzgibbon", + "Fitzgibbons", + "Fitzmartin", + "Fitzmaurice", + "Fitzpatrick", + "Fitzsimmons", + "Fitzsimons", + "Flaherty", + "Flahive", + "Flanagan", + "Flannagan", + "Flannelly", + "Flannery", + "Flatley", + "Flavin", + "Fleming", + "Flinn", + "Flood", + "Flynn", + "Fogarty", + "Folan", + "Foley", + "Foody", + "Foran", + "Forbes", + "Ford", + "Forde", + "Forkin", + "Fox", + "Foy", + "Foyle", + "Fraher", + "Frances", + "Francis", + "Franklin", + "Frawley", + "Freaney", + "Freeley", + "Freely", + "Freeney", + "Freil", + "Fresh", + "Friel", + "Furey", + "Fyfe", + "Gaffney", + "Gahan", + "Gaine", + "Gainey", + "Gallagher", + "Gallaher", + "Gallen", + "Galligan", + "Gallivan", + "Gallogly", + "Galvin", + "Ganley", + "Ganly", + "Gannon", + "Garavan", + "Garde", + "Garety", + "Gargan", + "Garland", + "Garraghy", + "Garrahy", + "Garrihy", + "Garry", + "Gartlan", + "Gartland", + "Garvey", + "Garvin", + "Gately", + "Gaughan", + "Gavaghan", + "Gavican", + "Gavigan", + "Gavin", + "Gay", + "Gaynard", + "Gaynor", + "Geany", + "Gearty", + "Geary", + "Geherty", + "Geoghegan", + "Geraghty", + "Gerarghty", + "Gibbon", + "Gibbons", + "Giblin", + "Gibney", + "Gibson", + "Gilbane", + "Gilbride", + "Gildea", + "Gilduff", + "Giles", + "Gilgunn", + "Gilhooly", + "Gill", + "Gillan", + "Gillen", + "Gillespie", + "Gillic", + "Gillick", + "Gilligan", + "Gilliland", + "Gillis", + "Gillooly", + "Gilmartin", + "Gilmore", + "Gilroy", + "Gilsenan", + "Ginevan", + "Ging", + "Ginnitty", + "Ginnity", + "Ginty", + "Girvan", + "Givern", + "Glavin", + "Glazier", + "Gleasure", + "Gleeson", + "Glennon", + "Gloster", + "Glynn", + "Godfrey", + "Goff", + "Gogan", + "Gogarty", + "Goggin", + "Golden", + "Golding", + "Goldrick", + "Gollan", + "Goodwin", + "Gorevan", + "Gorey", + "Gorham", + "Gorman", + "Gough", + "Goulden", + "Goulding", + "Grace", + "Grady", + "Graham", + "Grahams", + "Grattan", + "Gray", + "Grealish", + "Greally", + "Greaney", + "Greehy", + "Greelish", + "Greely", + "Green", + "Greene", + "Grennan", + "Grey", + "Griffen", + "Griffin", + "Griffith", + "Griffiths", + "Groarke", + "Grogan", + "Groogan", + "Growney", + "Gubain", + "Gubben", + "Guerin", + "Guihan", + "Guilfoyle", + "Guinan", + "Guinane", + "Guinevan", + "Guiney", + "Guinnane", + "Guinness", + "Guiry", + "Gunn", + "Gunning", + "Gwynn", + "Hackett", + "Hagan", + "Haggerty", + "Hahessy", + "Haire", + "Hallahan", + "Hallanan", + "Halley", + "Hallinan", + "Hallissey", + "Halloran", + "Halpen", + "Halpin", + "Hamilton", + "Hanafin", + "Hanbury", + "Hankard", + "Hanley", + "Hanlon", + "Hanly", + "Hanna", + "Hannah", + "Hanncard", + "Hannigan", + "Hannon", + "Hanrahan", + "Hanratty", + "Hara", + "Harahoe", + "Haran", + "Hardiman", + "Hardy", + "Hare", + "Haren", + "Hargadon", + "Hargan", + "Harkin", + "Harkins", + "Harley", + "Harmon", + "Harnett", + "Harrihy", + "Harrington", + "Harris", + "Harrison", + "Harry", + "Harte", + "Hartigan", + "Hartnett", + "Harty", + "Hassett", + "Hastey", + "Hastie", + "Hastings", + "Hasty", + "Hatton", + "Haugh", + "Haughey", + "Haverty", + "Hawe", + "Hawthorn", + "Hayden", + "Hayes", + "Heaffy", + "Healy", + "Heaney", + "Heaphy", + "Hearn", + "Hearne", + "Hearty", + "Heavey", + "Heckett", + "Hedderman", + "Hedigan", + "Heelan", + "Heenan", + "Heeney", + "Heffernan", + "Hefferon", + "Heffron", + "Hegarty", + "Heggarty", + "Hehir", + "Helen", + "Helery", + "Hely", + "Hempenstall", + "Hendry", + "Henebry", + "Heneghan", + "Henery", + "Heney", + "Hennebry", + "Hennelley", + "Hennelly", + "Hennessey", + "Hennessy", + "Hennigan", + "Henry", + "Hepenstall", + "Heraghty", + "Heraty", + "Herbert", + "Hereward", + "Herity", + "Herlihy", + "Hernon", + "Heron", + "Heskin", + "Heslin", + "Hession", + "Hever", + "Hewson", + "Hickey", + "Higgins", + "Hilary", + "Hillen", + "Hillery", + "Hilliard", + "Hinney", + "Hishon", + "Histon", + "Hoare", + "Hoban", + "Hodnett", + "Hoey", + "Hogan", + "Holden", + "Holland", + "Hollins", + "Hollywood", + "Holmes", + "Holohan", + "Honan", + "Hopkins", + "Horan", + "Hore", + "Horgan", + "Hosae", + "Hosey", + "Hoskins", + "Hough", + "Houlihan", + "Hourican", + "Hourigan", + "Hourihane", + "Howard", + "Howe", + "Howley", + "Hughes", + "Humphreys", + "Hunt", + "Hunter", + "Hurd", + "Hurley", + "Hussey", + "Hutchinson", + "Hutchison", + "Hutton", + "Hyde", + "Hyland", + "Hyman", + "Hynes", + "Iago", + "Igoe", + "Inglis", + "Ingoldsby", + "Irvine", + "Irwin", + "Ivers", + "Ivory", + "Jackman", + "Jackson", + "Jameson", + "Jennings", + "Jiles", + "Johnson", + "Johnston", + "Johnstone", + "Jones", + "Jordan", + "Joyce", + "Judge", + "Kane", + "Kangley", + "Kavanagh", + "Keady", + "Kealey", + "Keally", + "Kealty", + "Kealy", + "Keane", + "Keaney", + "Keany", + "Keapock", + "Kearney", + "Kearns", + "Keary", + "Keating", + "Keaveney", + "Keaveny", + "Keeffe", + "Keegan", + "Keehan", + "Keelan", + "Keeley", + "Keely", + "Keenaghan", + "Keenahan", + "Keenan", + "Keeney", + "Keery", + "Keevers", + "Kehoe", + "Keightley", + "Kelleher", + "Keller", + "Kelly", + "Kelvey", + "Kenlan", + "Kenlon", + "Kenna", + "Kenneally", + "Kennedy", + "Kennellan", + "Kennelly", + "Kenny", + "Keogan", + "Keogh", + "Keoghan", + "Keoghane", + "Keohan", + "Keohane", + "Keown", + "Kerin", + "Kerins", + "Kerley", + "Kerlin", + "Kermody", + "Kernan", + "Kerney", + "Kerr", + "Kerrigan", + "Kerrisk", + "Kerville", + "Kerwick", + "Kevane", + "Keville", + "Keyes", + "Kidney", + "Kiely", + "Kieran", + "Kierane", + "Kierans", + "Kiernan", + "Kilawee", + "Kilbane", + "Kilbride", + "Kilcoyne", + "Kilday", + "Kildea", + "Kilduff", + "Kilfoyle", + "Kilgallen", + "Kilgallon", + "Kilhooly", + "Kilkenny", + "Killeen", + "Killilea", + "Killooly", + "Killoran", + "Killoughry", + "Kilmartin", + "Kilmore", + "Kilroe", + "Kilroy", + "Kinaghan", + "Kinahan", + "King", + "Kingston", + "Kiniry", + "Kinlan", + "Kinlen", + "Kinnane", + "Kinnear", + "Kinnegan", + "Kinner", + "Kinnerk", + "Kinney", + "Kinnon", + "Kinny", + "Kinsella", + "Kirby", + "Kirke", + "Kirwan", + "Kissane", + "Kitson", + "Kneafsey", + "Knight", + "Kyne", + "Lacey", + "Lacy", + "Lafferty", + "Laffey", + "Lahey", + "Lahiffe", + "Lahy", + "Laing", + "Lally", + "Lalor", + "Lambe", + "Lamont", + "Landa", + "Lande", + "Landers", + "Landy", + "Lane", + "Lang", + "Langan", + "Lanigan", + "Lappin", + "Lardner", + "Largan", + "Largey", + "Larkin", + "Lavan", + "Lavell", + "Lavelle", + "Laverty", + "Lavery", + "Lavin", + "Lawless", + "Lawlor", + "Leacy", + "Leahy", + "Leary", + "Leavey", + "Leddin", + "Leddon", + "Leddy", + "Ledwich", + "Ledwith", + "Lee", + "Leech", + "Leen", + "Leeney", + "Lehane", + "Leland", + "Lenaghan", + "Leneghan", + "Lenehan", + "Lenihan", + "Lennane", + "Lennon", + "Leonard", + "Lester", + "Levan", + "Leyden", + "Leydon", + "Liddane", + "Liddy", + "Lillis", + "Lincoln", + "Lindsay", + "Linehan", + "Linnane", + "Linny", + "Linskey", + "Liston", + "Little", + "Loftus", + "Logan", + "Loghan", + "Logue", + "London", + "Lonergan", + "Long", + "Longan", + "Looney", + "Lord", + "Lordan", + "Loughlin", + "Loughnane", + "Loughran", + "Loughrey", + "Loughry", + "Lovett", + "Lowe", + "Lowney", + "Lowry", + "Lucey", + "Lucid", + "Lucitt", + "Luddy", + "Lundon", + "Lunham", + "Lunney", + "Lunny", + "Lyden", + "Lydon", + "Lynch", + "Lynchechaun", + "Lynchehaun", + "Lyne", + "Lyng", + "Lynn", + "Lynskey", + "Lyons", + "Lysaght", + "Mac Breen", + "MacAdoo", + "MacAleavy", + "MacAllen", + "MacAloon", + "MacAnally", + "MacArt", + "MacArthur", + "MacBreen", + "MacBride", + "MacCaffrey", + "MacCann", + "MacCartan", + "MacCarthy", + "MacCarville", + "MacClenaghan", + "MacCole", + "MacComisky", + "MacConachy", + "MacConnaghy", + "MacCool", + "MacCormack", + "MacCurtin", + "MacDermott", + "MacDevitt", + "MacDonagh", + "MacDonald", + "MacDonnell", + "MacDougall", + "MacDowell", + "MacDwyer", + "MacDyer", + "MacEgan", + "MacElgunn", + "MacEver", + "MacEvoy", + "MacFadden", + "MacFall", + "MacFaull", + "MacGee", + "MacGeehan", + "MacGill", + "MacGilligan", + "MacGing", + "MacGinley", + "MacGinnitty", + "MacGinnity", + "MacGinty", + "MacGloin", + "MacGlynn", + "MacGovern", + "MacGreal", + "MacGroarty", + "MacGuinness", + "MacGurk", + "MacHale", + "MacHenry", + "MacHugh", + "MacInerney", + "MacInnes", + "MacKenna", + "MacKeown", + "MacKevitt", + "MacLysaght", + "MacMahon", + "MacMonagle", + "MacMorrow", + "MacMullan", + "MacMullen", + "MacNabb", + "MacNaboe", + "MacNaboola", + "MacNally", + "MacNamara", + "MacNamee", + "MacNeela", + "MacNeill", + "MacNelis", + "MacNulty", + "MacPhilbin", + "MacShea", + "MacSweeney", + "MacTiernan", + "MacVeagh", + "MacVeigh", + "MacWilliams", + "Macauley", + "Macken", + "Mackesey", + "Mackey", + "Mackle", + "Maclean", + "Macmillan", + "Macrea", + "Madden", + "Maddock", + "Maddy", + "Madigan", + "Magan", + "Magann", + "Magauran", + "Magee", + "Mageean", + "Magennis", + "Magennity", + "Magill", + "Maginn", + "Magrath", + "Maguire", + "Mahedy", + "Maher", + "Mahon", + "Mahoney", + "Mahony", + "Malley", + "Mallon", + "Malone", + "Maloney", + "Malowney", + "Manahan", + "Mangan", + "Manley", + "Mann", + "Manning", + "Mannion", + "Mannix", + "Mansell", + "Mansfield", + "Mara", + "Markey", + "Markham", + "Marley", + "Marnan", + "Marren", + "Marrinan", + "Marron", + "Marry", + "Martin", + "Martyn", + "Masterson", + "Matthews", + "Maughan", + "Maxwell", + "May", + "Maye", + "McAdams", + "McAleavy", + "McAleenan", + "McAleer", + "McAlinney", + "McAlister", + "McAloon", + "McAlunny", + "McAnally", + "McAndrew", + "McAnulty", + "McArdle", + "McAreavey", + "McAtee", + "McAteer", + "McAuley", + "McAuliffe", + "McAveigh", + "McBreen", + "McBride", + "McBrien", + "McCabe", + "McCadam", + "McCadden", + "McCafferky", + "McCafferty", + "McCaffrey", + "McCaffry", + "McCahill", + "McCall", + "McCallion", + "McCann", + "McCardle", + "McCarney", + "McCarra", + "McCarron", + "McCartan", + "McCarte", + "McCarthy", + "McCarville", + "McCaughan", + "McCaughey", + "McCaul", + "McCauley", + "McCausland", + "McCay", + "McClean", + "McClelland", + "McCloskey", + "McCluskey", + "McColgan", + "McColl", + "McCollam", + "McComiskey", + "McConaghey", + "McConaghy", + "McConnell", + "McConnon", + "McCooey", + "McCool", + "McCorkill", + "McCorley", + "McCormick", + "McCorry", + "McCourt", + "McCoy", + "McCracken", + "McCrann", + "McCrea", + "McCready", + "McCreanor", + "McCrory", + "McCrossan", + "McCrudden", + "McCullagh", + "McCullough", + "McCumiskey", + "McCumisky", + "McCurdy", + "McCurley", + "McCurtin", + "McCusker", + "McDade", + "McDaeid", + "McDaid", + "McDermod", + "McDermott", + "McDevitt", + "McDonagh", + "McDonald", + "McDougald", + "McDowell", + "McDunphy", + "McDwyer", + "McDyer", + "McElduff", + "McElgunn", + "McElhattin", + "McEllistrim", + "McElnay", + "McElnea", + "McElroe", + "McElroy", + "McElwaine", + "McElwee", + "McEnaney", + "McEneaney", + "McEnry", + "McEntaggart", + "McEntee", + "McEvaddy", + "McEvilly", + "McEvoy", + "McFadden", + "McFall", + "McFarland", + "McFaull", + "McGahey", + "McGalligly", + "McGann", + "McGarraghy", + "McGarrigle", + "McGarry", + "McGarvey", + "McGauran", + "McGaw", + "McGeady", + "McGee", + "McGeehan", + "McGeoghegan", + "McGeown", + "McGerr", + "McGettigan", + "McGettrick", + "McGill", + "McGillicuddy", + "McGilligan", + "McGilly", + "McGilroy", + "McGinley", + "McGinnitty", + "McGinty", + "McGirl", + "McGirr", + "McGivern", + "McGlinchey", + "McGlinchy", + "McGloin", + "McGlynn", + "McGoff", + "McGoldrick", + "McGonagle", + "McGough", + "McGourty", + "McGovern", + "McGowan", + "McGowern", + "McGrane", + "McGrath", + "McGreal", + "McGrenehan", + "McGroarty", + "McGrory", + "McGruddie", + "McGruddy", + "McGuigan", + "McGuill", + "McGuinn", + "McGuinness", + "McGuire", + "McGuirk", + "McGuirl", + "McGurk", + "McHale", + "McHarry", + "McHenry", + "McHugh", + "McIldownie", + "McIlroe", + "McIlroy", + "McIlwee", + "McIneely", + "McInerney", + "McInnes", + "McIntyre", + "McIvor", + "McKaigue", + "McKay", + "McKee", + "McKeegan", + "McKeever", + "McKelvey", + "McKendry", + "McKeniry", + "McKenna", + "McKenny", + "McKeogh", + "McKeon", + "McKeown", + "McKernon", + "McKevitt", + "McKie", + "McKiernan", + "McKillop", + "McKing", + "McKinley", + "McKinney", + "McKinnon", + "McKnight", + "McLaughlin", + "McLaverty", + "McLean", + "McLeer", + "McLeese", + "McLeigh", + "McLeod", + "McLoon", + "McLoone", + "McLoughlin", + "McMacken", + "McMahon", + "McManus", + "McMaster", + "McMenamin", + "McMonagle", + "McMorrow", + "McMullen", + "McMurrough", + "McNaboe", + "McNally", + "McNamara", + "McNamee", + "McNaughton", + "McNea", + "McNealy", + "McNee", + "McNeely", + "McNeill", + "McNelis", + "McNevin", + "McNicholas", + "McNicholl", + "McNill", + "McNulty", + "McPartland", + "McPartlin", + "McPartlon", + "McPherson", + "McPhilbin", + "McPhillips", + "McPolin", + "McQuade", + "McQuaid", + "McQueen", + "McQuilkan", + "McQuillan", + "McQuillen", + "McQuin", + "McQuinn", + "McRann", + "McReady", + "McRoarty", + "McRory", + "McShane", + "McSharry", + "McSheehy", + "McTeague", + "McTernan", + "McTiernan", + "McTigue", + "McVeagh", + "McVeigh", + "McVicker", + "McVitty", + "McWalter", + "Meaghan", + "Meagher", + "Meaney", + "Meany", + "Meara", + "Mee", + "Meehan", + "Meenaghan", + "Meenan", + "Megaw", + "Mehigan", + "Melady", + "Meldon", + "Melia", + "Melican", + "Mellet", + "Mellon", + "Melody", + "Melville", + "Melvin", + "Menton", + "Mernagh", + "Merrigan", + "Merry", + "Mescall", + "Meskill", + "Miley", + "Millar", + "Millea", + "Miller", + "Millet", + "Millican", + "Milligan", + "Milmo", + "Milne", + "Milroy", + "Minihan", + "Minihane", + "Minogue", + "Miscell", + "Miskell", + "Mitchell", + "Moan", + "Moffatt", + "Moffit", + "Mohan", + "Moher", + "Molloy", + "Moloney", + "Molyneux", + "Monaghan", + "Monagle", + "Monahan", + "Mongan", + "Monk", + "Monks", + "Monroe", + "Montague", + "Montgomery", + "Moody", + "Moone", + "Mooney", + "Moore", + "Morahan", + "Moran", + "Morgan", + "Moriarty", + "Morley", + "Mornane", + "Moroney", + "Morrin", + "Morris", + "Morrison", + "Morrissey", + "Morrow", + "Mountain", + "Moy", + "Moylan", + "Moynihan", + "Mulcahy", + "Mulcair", + "Muldoon", + "Muldowney", + "Mulgrave", + "Mulgrew", + "Mulhare", + "Mulhern", + "Mulkerrin", + "Mullaghan", + "Mullaly", + "Mullan", + "Mullane", + "Mullaney", + "Mullany", + "Mullarkey", + "Mullen", + "Mullery", + "Mulligan", + "Mullin", + "Mullins", + "Mullooly", + "Mullooney", + "Mulloughney", + "Mulloy", + "Mulqueen", + "Mulqueeny", + "Mulrain", + "Mulrooney", + "Mulroy", + "Mulry", + "Mulryan", + "Mulvany", + "Mulvenna", + "Mulvey", + "Mulvihill", + "Mulvin", + "Mulvy", + "Munnelly", + "Munroe", + "Murae", + "Murnane", + "Murnin", + "Murphy", + "Murray", + "Murrihy", + "Murtagh", + "Myers", + "Myles", + "Nagle", + "Nallon", + "Nally", + "Nalty", + "Nangle", + "Nary", + "Nash", + "Naughton", + "Nea", + "Nealon", + "Neary", + "Nee", + "Needham", + "Neehan", + "Neelan", + "Neelin", + "Neenan", + "Neilan", + "Neilian", + "Neill", + "Neligan", + "Nelis", + "Nelson", + "Nestor", + "Neville", + "Nevin", + "Neylon", + "Nicholas", + "Nicholls", + "Nicholson", + "Niland", + "Nixon", + "Nolan", + "Nolty", + "Noonan", + "Noone", + "Norris", + "Norry", + "Norton", + "Nugent", + "Nulty", + "Nunne", + "Nyhan", + "O'Beirn", + "O'Beirne", + "O'Boyle", + "O'Brassil", + "O'Brazil", + "O'Brennan", + "O'Brien", + "O'Brown", + "O'Bryan", + "O'Bryen", + "O'Byrne", + "O'Cadden", + "O'Cafferky", + "O'Callaghan", + "O'Carolan", + "O'Carroll", + "O'Casey", + "O'Cassidy", + "O'Cleary", + "O'Clery", + "O'Connell", + "O'Connor", + "O'Crohan", + "O'Crowley", + "O'Curry", + "O'Daly", + "O'Dea", + "O'Devanney", + "O'Devenny", + "O'Doherty", + "O'Donnell", + "O'Donoghue", + "O'Donohoe", + "O'Donovan", + "O'Dowd", + "O'Driscoll", + "O'Duffy", + "O'Dwyer", + "O'Farrell", + "O'Farrelly", + "O'Flaherty", + "O'Flynn", + "O'Freil", + "O'Friel", + "O'Gallagher", + "O'Gara", + "O'Goldrick", + "O'Gorman", + "O'Gowan", + "O'Grady", + "O'Growney", + "O'Hagan", + "O'Haire", + "O'Halloran", + "O'Hanlon", + "O'Hanrahan", + "O'Hara", + "O'Hare", + "O'Haughey", + "O'Hea", + "O'Hegarty", + "O'Hehir", + "O'Herlihy", + "O'Hickey", + "O'Higgins", + "O'Hora", + "O'Houlihan", + "O'Hurley", + "O'Hussey", + "O'Kane", + "O'Kearney", + "O'Keefe", + "O'Keeffe", + "O'Kelly", + "O'Kennedy", + "O'Kieve", + "O'Leary", + "O'Loan", + "O'Looney", + "O'Loughlin", + "O'Loughlinn", + "O'Mahoney", + "O'Mahony", + "O'Malley", + "O'Mara", + "O'Meara", + "O'Mooney", + "O'Moore", + "O'Mullan", + "O'Murnaghan", + "O'Neill", + "O'Nolan", + "O'Rafferty", + "O'Rahilly", + "O'Reardon", + "O'Regan", + "O'Reilly", + "O'Riordan", + "O'Rooney", + "O'Rourke", + "O'Ruane", + "O'Ryan", + "O'Scannell", + "O'Shannon", + "O'Sharkey", + "O'Shaughnessy", + "O'Shea", + "O'Sheehan", + "O'Sheil", + "O'Shiel", + "O'Sullivan", + "O'Sweeney", + "O'Tierney", + "O'Togher", + "O'Toole", + "Ormsby", + "Owens", + "Padden", + "Parker", + "Parsons", + "Paten", + "Patterson", + "Patton", + "Paul", + "Pender", + "Perkins", + "Perri", + "Perry", + "Peyton", + "Phayre", + "Phelan", + "Philban", + "Philbin", + "Phillips", + "Piggott", + "Pigott", + "Pinder", + "Plover", + "Poland", + "Powell", + "Power", + "Prendergast", + "Prial", + "Price", + "Pringle", + "Pryal", + "Purcell", + "Quaide", + "Qualter", + "Queally", + "Queenane", + "Quigley", + "Quigney", + "Quill", + "Quillinan", + "Quilty", + "Quin", + "Quinlan", + "Quinlivan", + "Quinn", + "Quinney", + "Quinny", + "Quirke", + "Rabbitte", + "Rafferty", + "Rafter", + "Raftery", + "Raftis", + "Rahilly", + "Raight", + "Rails", + "Raleigh", + "Randles", + "Raney", + "Raol", + "Rattigan", + "Rawley", + "Rayel", + "Rea", + "Reade", + "Reardon", + "Reavy", + "Reddin", + "Reddy", + "Redican", + "Redmond", + "Reen", + "Regan", + "Reid", + "Reidy", + "Reilly", + "Renehan", + "Reynell", + "Reynolds", + "Reynoldson", + "Rhatigan", + "Rhattigan", + "Rice", + "Richard", + "Richards", + "Richardson", + "Richey", + "Richie", + "Ridge", + "Rigney", + "Riney", + "Ring", + "Rinn", + "Riordan", + "Roach", + "Roache", + "Roarke", + "Roarty", + "Roberts", + "Robertson", + "Robeson", + "Robinson", + "Roche", + "Rock", + "Rodden", + "Roddy", + "Roden", + "Rodgers", + "Roe", + "Rogers", + "Rogerson", + "Rohan", + "Roland", + "Ronan", + "Ronayne", + "Rooney", + "Rose", + "Ross", + "Rourke", + "Rowan", + "Rowe", + "Rowley", + "Ruane", + "Rudden", + "Ruddy", + "Rudkins", + "Rush", + "Russell", + "Ryan", + "Ryder", + "Ryle", + "Rynn", + "Rynne", + "Salmon", + "Sammon", + "Saors", + "Sarsfield", + "Sayers", + "Scallan", + "Scallon", + "Scally", + "Scanlan", + "Scanlon", + "Scannell", + "Scollan", + "Scriven", + "Scullion", + "Scully", + "Seally", + "Sealy", + "Sears", + "Seery", + "Segerson", + "Segersun", + "Setrick", + "Sexton", + "Shaffrey", + "Shanahan", + "Shanley", + "Shannon", + "Shanny", + "Sharkey", + "Sharpe", + "Sharry", + "Shaughnessy", + "Shea", + "Sheahan", + "Sheane", + "Sheedy", + "Sheehan", + "Sheehy", + "Sheeran", + "Sheerin", + "Sheil", + "Sheilds", + "Sheridan", + "Sherlock", + "Sherry", + "Shevlin", + "Shiel", + "Shields", + "Shiels", + "Shine", + "Short", + "Shortt", + "Sigerson", + "Silk", + "Silke", + "Simmon", + "Simmonds", + "Simmons", + "Sinan", + "Sinnott", + "Skally", + "Skeahan", + "Skeffington", + "Skehan", + "Skelly", + "Skivington", + "Slamon", + "Slattery", + "Slevin", + "Sloan", + "Sloane", + "Slowey", + "Slyne", + "Small", + "Smith", + "Smullen", + "Smyth", + "Smythe", + "Somers", + "Soolaghan", + "Spain", + "Spencer", + "Spenser", + "Spillane", + "Stack", + "Stanton", + "Stapleton", + "Staunton", + "Steed", + "Stenson", + "Stephens", + "Stephenson", + "Steward", + "Stewart", + "Stoices", + "Stokes", + "Stone", + "Storey", + "Story", + "Stuart", + "Sugrue", + "Sullivan", + "Summerville", + "Supple", + "Sweeney", + "Sweeny", + "Swift", + "Swords", + "Synnott", + "Taggart", + "Tangney", + "Tansey", + "Tarpey", + "Taylor", + "Teahan", + "Tehan", + "Ternan", + "Terry", + "Thom", + "Thomas", + "Thompson", + "Thornton", + "Tiernan", + "Tierney", + "Timlin", + "Timoney", + "Timony", + "Tinney", + "Toal", + "Tobin", + "Togher", + "Tohall", + "Tolan", + "Tolin", + "Toms", + "Toner", + "Toolan", + "Toole", + "Toolin", + "Toolis", + "Tooman", + "Toomey", + "Tormay", + "Tormey", + "Torpey", + "Torrence", + "Torrens", + "Tracey", + "Tracy", + "Trainor", + "Travers", + "Traynor", + "Treacy", + "Treanor", + "Trenor", + "Troy", + "Tubridy", + "Tully", + "Tuohey", + "Tuohy", + "Turley", + "Tutty", + "Twohey", + "Twohig", + "Twomey", + "Tynan", + "Tyrrell", + "Uniacke", + "Uniaque", + "Vaughan", + "Veale", + "Victory", + "Wade", + "Waldron", + "Wall", + "Wallace", + "Walls", + "Walsh", + "Walshe", + "Walter", + "Walters", + "Ward", + "Warren", + "Waters", + "Watters", + "Watts", + "Weaver", + "Weever", + "Weir", + "Weldon", + "Whalen", + "Whelan", + "Whelehan", + "White", + "Whitty", + "Whyte", + "Wilkins", + "Wilkinson", + "Williams", + "Wilson", + "Winters", + "Wolfe", + "Woods", + "Woolley", + "Woulfe", + "Wren", + "Wrenn", + "Wright", + "Wrynn", + "Wynne", + "Young", + "de Courcey", + "de Lacy", + "Ó Corra", + ) + + prefixes_female = ("Mrs.", "Ms.", "Miss", "Dr.") + prefixes_male = ("Mr.", "Dr.") diff --git a/faker/providers/person/en_IN/__init__.py b/faker/providers/person/en_IN/__init__.py new file mode 100644 index 0000000000..727da51b03 --- /dev/null +++ b/faker/providers/person/en_IN/__init__.py @@ -0,0 +1,689 @@ +from .. import Provider as PersonProvider + + +class Provider(PersonProvider): + formats = ("{{first_name}} {{last_name}}",) + + # First names are from + # https://www.babycenter.in/a25010193/modern-indian-baby-names + # https://en.wikipedia.org/wiki/Category:Male_actors_in_Malayalam_cinema (not used exhaustively) + # https://en.wikipedia.org/wiki/List_of_Tamil_film_actors (not used exhaustively) + # Last names are from https://www.familyeducation.com/baby-names/browse-origin/surname/indian + + first_names = ( + "Aarav", + "Aarush", + "Aayush", + "Abram", + "Advik", + "Akarsh", + "Anay", + "Aniruddh", + "Arhaan", + "Armaan", + "Arnav", + "Azad", + "Badal", + "Baiju", + "Bhavin", + "Biju", + "Chirag", + "Darshit", + "Devansh", + "Dhanuk", + "Dhanush", + "Dharmajan", + "Dhruv", + "Divij", + "Divit", + "Divyansh", + "Ehsaan", + "Emir", + "Faiyaz", + "Farhan", + "Fateh", + "Gatik", + "Gokul", + "Hansh", + "Himmat", + "Hiran", + "Hridaan", + "Hunar", + "Indrajit", + "Indrans", + "Indranil", + "Ishaan", + "Ivan", + "Jayan", + "Jayant", + "Jayesh", + "Jivin", + "Kabir", + "Kanav", + "Kartik", + "Kiaan", + "Krish", + "Lagan", + "Lakshay", + "Lakshit", + "Madhav", + "Madhup", + "Mamooty", + "Manikya", + "Mehul", + "Miraan", + "Nakul", + "Nirvaan", + "Nishith", + "Ojas", + "Onkar", + "Pranay", + "Prerak", + "Priyansh", + "Purab", + "Raghav", + "Ranbir", + "Raunak", + "Reyansh", + "Riaan", + "Ritvik", + "Rohan", + "Romil", + "Ryan", + "Sahil", + "Saksham", + "Samar", + "Samarth", + "Shaan", + "Shalv", + "Shamik", + "Shayak", + "Shlok", + "Shray", + "Stuvan", + "Sumer", + "Taimur", + "Taran", + "Tejas", + "Tushar", + "Umang", + "Uthkarsh", + "Vaibhav", + "Veer", + "Vidur", + "Vihaan", + "Vivaan", + "Yakshit", + "Yuvaan", + "Yuvraj ", + "Zain", + "Zeeshan", + "Aaina", + "Aarna", + "Aaryahi", + "Adah", + "Adira", + "Advika", + "Ahana ", + "Alia", + "Alisha", + "Amani", + "Amira", + "Anahi", + "Anahita", + "Anaya", + "Anika", + "Anvi", + "Anya", + "Aradhya", + "Ayesha", + "Bhamini", + "Charvi", + "Damini", + "Dishani", + "Diya", + "Drishya", + "Ela", + "Elakshi", + "Eshani", + "Eva", + "Hazel", + "Heer", + "Hrishita", + "Inaaya ", + "Ira", + "Ishita", + "Ivana", + "Jhanvi", + "Jivika", + "Jiya", + "Kaira", + "Kashvi", + "Kavya", + "Keya", + "Khushi", + "Kiara", + "Kimaya", + "Kismat", + "Lavanya", + "Mahika", + "Manjari", + "Mannat", + "Miraya", + "Misha", + "Mishti", + "Mohanlal", + "Myra", + "Navya", + "Nayantara", + "Neelofar", + "Nehmat", + "Neysa", + "Nirvi", + "Nitara", + "Nitya", + "Oorja", + "Pari", + "Parinaaz", + "Pihu", + "Piya", + "Prisha", + "Rania", + "Rasha", + "Rati", + "Renee", + "Rhea", + "Riya", + "Saanvi", + "Saira", + "Samaira", + "Samiha", + "Sana", + "Sara", + "Seher", + "Shanaya", + "Siya", + "Suhana", + "Tanya", + "Tara", + "Tarini", + "Tiya", + "Trisha", + "Urvi", + "Vanya", + "Vardaniya", + "Vedika", + "Vritika", + "Yashvi", + "Yasmin", + "Zaina", + "Zara", + "Zoya", + ) + + last_names = ( + "Acharya", + "Agarwal", + "Agate", + "Aggarwal", + "Agrawal", + "Ahluwalia", + "Ahuja", + "Amble", + "Anand", + "Andra", + "Anne", + "Apte", + "Arora", + "Arya", + "Atwal", + "Aurora", + "Babu", + "Badal", + "Badami", + "Bahl", + "Bahri", + "Bail", + "Bains", + "Bajaj", + "Bajwa", + "Bakshi", + "Bal", + "Bala", + "Bala", + "Balakrishnan", + "Balan", + "Balasubramanian", + "Balay", + "Bali", + "Bandi", + "Banerjee", + "Banik", + "Bansal", + "Barad", + "Barad", + "Baral", + "Baria", + "Barman", + "Basak", + "Bassi", + "Basu", + "Bath", + "Batra", + "Batta", + "Bava", + "Bawa", + "Bedi", + "Behl", + "Ben", + "Bera", + "Bhagat", + "Bhakta", + "Bhalla", + "Bhandari", + "Bhardwaj", + "Bhargava", + "Bhasin", + "Bhat", + "Bhatia", + "Bhatnagar", + "Bhatt", + "Bhattacharyya", + "Bhatti", + "Bhavsar", + "Bir", + "Biswas", + "Boase", + "Bobal", + "Bora", + "Bora", + "Borah", + "Borde", + "Borra", + "Bose", + "Brahmbhatt", + "Brar", + "Buch", + "Buch", + "Bumb", + "Butala", + "Chacko", + "Chad", + "Chada", + "Chadha", + "Chahal", + "Chakrabarti", + "Chakraborty", + "Chana", + "Chand", + "Chanda", + "Chander", + "Chandra", + "Chandran", + "Char", + "Chatterjee", + "Chaudhari", + "Chaudhary", + "Chaudhry", + "Chaudhuri", + "Chaudry", + "Chauhan", + "Chawla", + "Cheema", + "Cherian", + "Chhabra", + "Chokshi", + "Chopra", + "Choudhary", + "Choudhry", + "Choudhury", + "Chowdhury", + "Comar", + "Contractor", + "D’Alia", + "Dada", + "Dalal", + "Dani", + "Dar", + "Dara", + "Dara", + "Das", + "Dasgupta", + "Dash", + "Dass", + "Date", + "Datta", + "Dave", + "Dayal", + "De", + "Deep", + "Deo", + "Deol", + "Desai", + "Deshmukh", + "Deshpande", + "Devan", + "Devi", + "Dewan", + "Dey", + "Dhaliwal", + "Dhar", + "Dhar", + "Dhawan", + "Dhillon", + "Dhingra", + "Din", + "Divan", + "Dixit", + "Doctor", + "Dora", + "Doshi", + "Dua", + "Dube", + "Dubey", + "Dugal", + "Dugar", + "Dugar", + "Dutt", + "Dutta", + "Dyal", + "Edwin", + "Gaba", + "Gade", + "Gala", + "Gandhi", + "Ganesan", + "Ganesh", + "Ganguly", + "Gara", + "Garde", + "Garg", + "Gera", + "Ghose", + "Ghosh", + "Gill", + "Goda", + "Goel", + "Gokhale", + "Gola", + "Gole", + "Golla", + "Gopal", + "Goswami", + "Gour", + "Goyal", + "Grewal", + "Grover", + "Guha", + "Gulati", + "Gupta", + "Halder", + "Handa", + "Hans", + "Hari", + "Hayer", + "Hayre", + "Hegde", + "Hora", + "Issac", + "Iyengar", + "Iyer", + "Jaggi", + "Jain", + "Jani", + "Jayaraman", + "Jha", + "Jhaveri", + "Johal", + "Joshi", + "Kadakia", + "Kade", + "Kakar", + "Kala", + "Kala", + "Kala", + "Kale", + "Kalita", + "Kalla", + "Kamdar", + "Kanda", + "Kannan", + "Kant", + "Kapadia", + "Kapoor", + "Kapur", + "Kar", + "Kara", + "Karan", + "Kari", + "Karnik", + "Karpe", + "Kashyap", + "Kata", + "Kaul", + "Kaur", + "Keer", + "Keer", + "Khalsa", + "Khanna", + "Khare", + "Khatri", + "Khosla", + "Khurana", + "Kibe", + "Kohli", + "Konda", + "Korpal", + "Koshy", + "Kota", + "Kothari", + "Krish", + "Krishna", + "Krishnamurthy", + "Krishnan", + "Kulkarni", + "Kumar", + "Kumer", + "Kunda", + "Kurian", + "Kuruvilla", + "Lad", + "Lad", + "Lal", + "Lala", + "Lall", + "Lalla", + "Lanka", + "Lata", + "Loke", + "Loyal", + "Luthra", + "Madan", + "Madan", + "Magar", + "Mahajan", + "Mahal", + "Maharaj", + "Majumdar", + "Malhotra", + "Mall", + "Mallick", + "Mammen", + "Mand", + "Manda", + "Mandal", + "Mander", + "Mane", + "Mangal", + "Mangat", + "Mani", + "Mani", + "Mann", + "Mannan", + "Manne", + "Master", + "Raj", + "Raja", + "Rajagopal", + "Rajagopalan", + "Rajan", + "Raju", + "Ram", + "Rama", + "Ramachandran", + "Ramakrishnan", + "Raman", + "Ramanathan", + "Ramaswamy", + "Ramesh", + "Rana", + "Randhawa", + "Ranganathan", + "Rao", + "Rastogi", + "Ratta", + "Rattan", + "Ratti", + "Rau", + "Raval", + "Ravel", + "Ravi", + "Ray", + "Reddy", + "Rege", + "Rout", + "Roy", + "Sabharwal", + "Sachar", + "Sachdev", + "Sachdeva", + "Sagar", + "Saha", + "Sahni", + "Sahota", + "Saini", + "Salvi", + "Sama", + "Sami", + "Sampath", + "Samra", + "Sandal", + "Sandhu", + "Sane", + "Sangha", + "Sanghvi", + "Sani", + "Sankar", + "Sankaran", + "Sant", + "Saraf", + "Saran", + "Sarin", + "Sarkar", + "Sarma", + "Sarna", + "Sarraf", + "Sastry", + "Sathe", + "Savant", + "Sawhney", + "Saxena", + "Sehgal", + "Sekhon", + "Sem", + "Sen", + "Sengupta", + "Seshadri", + "Seth", + "Sethi", + "Setty", + "Sha", + "Shah", + "Shan", + "Shankar", + "Shanker", + "Sharaf", + "Sharma", + "Shenoy", + "Shere", + "Sheth", + "Shetty", + "Shroff", + "Shukla", + "Sibal", + "Sidhu", + "Singh", + "Singhal", + "Sinha", + "Sodhi", + "Solanki", + "Som", + "Soman", + "Soni", + "Sood", + "Sridhar", + "Srinivas", + "Srinivasan", + "Srivastava", + "Subramaniam", + "Subramanian", + "Sule", + "Sundaram", + "Sunder", + "Sur", + "Sura", + "Suresh", + "Suri", + "Swaminathan", + "Swamy", + "Tailor", + "Tak", + "Talwar", + "Tandon", + "Taneja", + "Tank", + "Tara", + "Tata", + "Tella", + "Thaker", + "Thakkar", + "Thakur", + "Thaman", + "Tiwari", + "Toor", + "Tripathi", + "Trivedi", + "Upadhyay", + "Uppal", + "Vaidya", + "Vala", + "Varghese", + "Varkey", + "Varma", + "Varty", + "Varughese", + "Vasa", + "Venkataraman", + "Venkatesh", + "Verma", + "Vig", + "Virk", + "Viswanathan", + "Vohra", + "Vora", + "Vyas", + "Wable", + "Wadhwa", + "Wagle", + "Wali", + "Wali", + "Walia", + "Walla", + "Warrior", + "Wason", + "Yadav", + "Yogi", + "Yohannan", + "Zacharia", + "Zachariah", + ) diff --git a/faker/providers/person/en_NZ/__init__.py b/faker/providers/person/en_NZ/__init__.py index c9a6d511a9..87f0ed7747 100644 --- a/faker/providers/person/en_NZ/__init__.py +++ b/faker/providers/person/en_NZ/__init__.py @@ -1,809 +1,812 @@ from collections import OrderedDict +from typing import Dict from .. import Provider as PersonProvider class Provider(PersonProvider): formats = ( - '{{first_name_male}} {{last_name}}', - '{{first_name_male}} {{last_name}}', - '{{first_name_male}} {{last_name}}', - '{{first_name_male}} {{last_name}}', - '{{first_name_male}} {{last_name}}-{{last_name}}', - '{{first_name_female}} {{last_name}}', - '{{first_name_female}} {{last_name}}', - '{{first_name_female}} {{last_name}}', - '{{first_name_female}} {{last_name}}', - '{{first_name_female}} {{last_name}}-{{last_name}}', + "{{first_name_male}} {{last_name}}", + "{{first_name_male}} {{last_name}}", + "{{first_name_male}} {{last_name}}", + "{{first_name_male}} {{last_name}}", + "{{first_name_male}} {{last_name}}-{{last_name}}", + "{{first_name_female}} {{last_name}}", + "{{first_name_female}} {{last_name}}", + "{{first_name_female}} {{last_name}}", + "{{first_name_female}} {{last_name}}", + "{{first_name_female}} {{last_name}}-{{last_name}}", ) # Names compiled from the following sources: # # https://www.dia.govt.nz/diawebsite.nsf/wpg_URL/Services-Births-Deaths-and-Marriages-Most-Popular-Male-and-Female-First-Names - first_names_male = OrderedDict(( - ("Aaron", 9912), - ("Adam", 7639), - ("Adrian", 2420), - ("Aidan", 1521), - ("Aiden", 782), - ("Alan", 5689), - ("Alex", 2819), - ("Alexander", 7783), - ("Alistair", 429), - ("Allan", 3148), - ("Allen", 51), - ("Andre", 127), - ("Andrew", 25593), - ("Angus", 1680), - ("Anthony", 12549), - ("Antony", 1594), - ("Archer", 381), - ("Archie", 774), - ("Arlo", 584), - ("Arthur", 630), - ("Asher", 319), - ("Ashley", 861), - ("Ashton", 1236), - ("Austin", 688), - ("Bailey", 1304), - ("Barry", 3624), - ("Beau", 491), - ("Beauden", 125), - ("Ben", 2427), - ("Benjamin", 15497), - ("Bernard", 657), - ("Bevan", 634), - ("Blair", 2863), - ("Blake", 3500), - ("Bodhi", 70), - ("Brad", 450), - ("Bradley", 3910), - ("Brandon", 1000), - ("Braxton", 741), - ("Brayden", 317), - ("Brendan", 2010), - ("Brendon", 3163), - ("Brent", 5564), - ("Brett", 4598), - ("Brian", 6247), - ("Brodie", 216), - ("Brooklyn", 406), - ("Bruce", 6079), - ("Bryan", 1435), - ("Caleb", 5374), - ("Callum", 2364), - ("Cameron", 7756), - ("Campbell", 422), - ("Carl", 3304), - ("Carlos", 122), - ("Carter", 1308), - ("Charles", 3933), - ("Charlie", 2367), - ("Chase", 174), - ("Christian", 1138), - ("Christopher", 23459), - ("Clayton", 59), - ("Clinton", 1004), - ("Cody", 2482), - ("Cohen", 99), - ("Cole", 648), - ("Colin", 3980), - ("Connor", 4632), - ("Conor", 54), - ("Cooper", 2113), - ("Corey", 1656), - ("Cory", 129), - ("Craig", 12702), - ("Cruz", 52), - ("Damian", 1084), - ("Damon", 211), - ("Daniel", 23515), - ("Darren", 3143), - ("Darrin", 217), - ("Darryl", 1517), - ("Darryn", 260), - ("Daryl", 421), - ("David", 36792), - ("Dean", 6096), - ("Declan", 108), - ("Denis", 66), - ("Dennis", 1129), - ("Derek", 1307), - ("Desmond", 224), - ("Dillon", 63), - ("Dion", 1283), - ("Dominic", 801), - ("Donald", 2405), - ("Douglas", 2587), - ("Duncan", 471), - ("Dwayne", 57), - ("Dylan", 6564), - ("Edward", 4864), - ("Eli", 961), - ("Elijah", 2137), - ("Elliot", 54), - ("Eric", 808), - ("Ethan", 6578), - ("Ezra", 309), - ("Felix", 769), - ("Finn", 2084), - ("Fletcher", 447), - ("Flynn", 1577), - ("Francis", 420), - ("Frank", 46), - ("Fraser", 51), - ("Frederick", 49), - ("Gabriel", 739), - ("Gareth", 2087), - ("Garry", 1840), - ("Gary", 5520), - ("Gavin", 3197), - ("Geoffrey", 4439), - ("George", 7320), - ("Gerald", 104), - ("Gerard", 614), - ("Glen", 2709), - ("Glenn", 3983), - ("Gordon", 1444), - ("Graeme", 4705), - ("Graham", 3746), - ("Grant", 8355), - ("Grayson", 259), - ("Gregory", 7916), - ("Hamish", 5758), - ("Harley", 403), - ("Harrison", 2800), - ("Harry", 2454), - ("Harvey", 192), - ("Hayden", 5209), - ("Henry", 3111), - ("Hudson", 281), - ("Hugh", 101), - ("Hugo", 543), - ("Hunter", 3044), - ("Ian", 7592), - ("Isaac", 4208), - ("Isaiah", 349), - ("Israel", 52), - ("Ivan", 236), - ("Jack", 9468), - ("Jackson", 3088), - ("Jacob", 8612), - ("Jake", 2421), - ("Jakob", 46), - ("James", 27224), - ("Jamie", 5064), - ("Jared", 2840), - ("Jarrod", 773), - ("Jason", 14737), - ("Jasper", 246), - ("Jaxon", 623), - ("Jayden", 4541), - ("Jeffrey", 2826), - ("Jeremy", 4775), - ("Jesse", 3965), - ("Joel", 2932), - ("John", 26867), - ("Jonathan", 7957), - ("Jonathon", 349), - ("Jordan", 6499), - ("Joseph", 10061), - ("Josh", 56), - ("Joshua", 17109), - ("Josiah", 52), - ("Julian", 232), - ("Justin", 3882), - ("Kaleb", 492), - ("Kane", 1236), - ("Karl", 3822), - ("Kayden", 123), - ("Keanu", 54), - ("Keegan", 351), - ("Keith", 2175), - ("Kelly", 58), - ("Kelvin", 1262), - ("Kenneth", 3240), - ("Kerry", 2404), - ("Kevin", 9358), - ("Kieran", 1525), - ("Kim", 125), - ("Kingston", 692), - ("Kurt", 515), - ("Kyle", 2568), - ("Lachlan", 2965), - ("Lance", 2958), - ("Lawrence", 226), - ("Lee", 872), - ("Leo", 1872), - ("Leon", 967), - ("Leonard", 102), - ("Leslie", 1126), - ("Levi", 2986), - ("Lewis", 324), - ("Liam", 8629), - ("Lincoln", 857), - ("Lindsay", 883), - ("Lloyd", 46), - ("Logan", 5063), - ("Louis", 863), - ("Luca", 1318), - ("Lucas", 3329), - ("Luka", 119), - ("Lukas", 70), - ("Luke", 8296), - ("Malcolm", 2398), - ("Marcus", 1129), - ("Mark", 23154), - ("Martin", 4260), - ("Mason", 2613), - ("Mathew", 3107), - ("Matthew", 23181), - ("Maurice", 385), - ("Max", 3988), - ("Maxwell", 172), - ("Mervyn", 162), - ("Micah", 52), - ("Michael", 40099), - ("Micheal", 49), - ("Mitchell", 2730), - ("Morgan", 58), - ("Murray", 4843), - ("Nate", 48), - ("Nathan", 8920), - ("Nathaniel", 329), - ("Neil", 3392), - ("Neville", 1268), - ("Nicholas", 13132), - ("Nigel", 4435), - ("Nikau", 53), - ("Nixon", 219), - ("Noah", 3511), - ("Noel", 778), - ("Norman", 221), - ("Oliver", 6515), - ("Oscar", 1987), - ("Owen", 484), - ("Patrick", 6219), - ("Paul", 22959), - ("Peter", 23996), - ("Philip", 7036), - ("Phillip", 5977), - ("Phoenix", 882), - ("Quentin", 67), - ("Quinn", 742), - ("Raymond", 4404), - ("Regan", 1182), - ("Reuben", 1678), - ("Rex", 561), - ("Rhys", 967), - ("Richard", 17664), - ("Ricky", 806), - ("Riley", 2771), - ("Robert", 19791), - ("Robin", 1431), - ("Rodney", 1936), - ("Roger", 2612), - ("Roman", 429), - ("Ronald", 1769), - ("Rory", 220), - ("Ross", 4823), - ("Roy", 101), - ("Russell", 2863), - ("Ryan", 9965), - ("Ryder", 727), - ("Sam", 2347), - ("Samuel", 15565), - ("Scott", 9481), - ("Sean", 5201), - ("Sebastian", 1031), - ("Seth", 780), - ("Shane", 10213), - ("Shannon", 1082), - ("Shaun", 4397), - ("Shayne", 296), - ("Simon", 9846), - ("Sione", 165), - ("Spencer", 52), - ("Stefan", 52), - ("Stephen", 18603), - ("Steven", 11007), - ("Stewart", 499), - ("Stuart", 4662), - ("Taine", 204), - ("Taylor", 1356), - ("Terence", 1154), - ("Terry", 860), - ("Theo", 311), - ("Theodore", 429), - ("Thomas", 15382), - ("Timothy", 10924), - ("Toby", 1490), - ("Todd", 1264), - ("Tom", 47), - ("Tony", 5670), - ("Travis", 65), - ("Trent", 524), - ("Trevor", 3194), - ("Tristan", 111), - ("Troy", 2423), - ("Tyler", 3765), - ("Tyrone", 231), - ("Tyson", 531), - ("Vaughan", 322), - ("Vincent", 907), - ("Walter", 57), - ("Warren", 3223), - ("Warwick", 295), - ("Wayne", 8542), - ("William", 18322), - ("Wyatt", 58), - ("Xavier", 1879), - ("Zac", 111), - ("Zachary", 2569), - ("Zane", 761), - ("Zion", 217), - - ("Anaru", 735), - ("Ari", 984), - ("Ariki", 1178), - ("Hemi", 1360), - ("Hoani", 574), - ("Ihaia", 476), - ("Kahu", 700), - ("Kahurangi", 939), - ("Kauri", 1613), - ("Manaaki", 574), - ("Manaia", 1434), - ("Manawa", 536), - ("Matiu", 455), - ("Mikaere", 1413), - ("Nikau", 1942), - ("Niko", 972), - ("Nikora", 1766), - ("Rawiri", 1553), - ("Tai", 793), - ("Tama", 1257), - ("Tamati", 1766), - ("Tane", 1698), - ("Tangaroa", 605), - ("Te Ariki", 1423), - ("Te Koha", 537), - ("Tiare", 476), - ("Wiremu", 1923), - )) - - first_names_female = OrderedDict(( - ("Aaliyah", 1042), - ("Abbey", 40), - ("Abby", 503), - ("Abigail", 2017), - ("Addison", 538), - ("Adrienne", 625), - ("Aimee", 2315), - ("Alana", 1194), - ("Aleisha", 102), - ("Alexandra", 2689), - ("Alexis", 789), - ("Alice", 3252), - ("Alicia", 683), - ("Alison", 3444), - ("Alyssa", 1032), - ("Amaia", 45), - ("Amanda", 7667), - ("Amber", 3661), - ("Amelia", 4060), - ("Amy", 7061), - ("Anahera", 140), - ("Andrea", 5003), - ("Angel", 695), - ("Angela", 9634), - ("Angelina", 43), - ("Anika", 46), - ("Anita", 1526), - ("Ann", 1834), - ("Anna", 9371), - ("Annabelle", 457), - ("Anne", 3879), - ("Annette", 2348), - ("April", 49), - ("Arabella", 42), - ("Aria", 1025), - ("Ariana", 473), - ("Aroha", 50), - ("Ashlee", 464), - ("Ashleigh", 3158), - ("Ashley", 2477), - ("Aurora", 251), - ("Ava", 2487), - ("Ayla", 612), - ("Bailey", 150), - ("Barbara", 3531), - ("Belinda", 1254), - ("Bella", 1238), - ("Beverley", 996), - ("Billie", 45), - ("Brenda", 2451), - ("Briana", 49), - ("Brianna", 740), - ("Bridget", 1611), - ("Britney", 64), - ("Brittany", 1239), - ("Bronwyn", 2406), - ("Brooke", 3634), - ("Brooklyn", 782), - ("Caitlin", 3370), - ("Caitlyn", 454), - ("Carla", 323), - ("Carmen", 233), - ("Carol", 3626), - ("Caroline", 2530), - ("Carolyn", 3212), - ("Casey", 1097), - ("Cassandra", 489), - ("Catherine", 7765), - ("Chantelle", 55), - ("Charlie", 215), - ("Charlotte", 7759), - ("Chelsea", 1943), - ("Cherie", 1064), - ("Cheryl", 1781), - ("Cheyenne", 345), - ("Chloe", 4582), - ("Christina", 2675), - ("Christine", 10604), - ("Cindy", 65), - ("Claire", 3174), - ("Clara", 41), - ("Clare", 55), - ("Claudia", 804), - ("Colleen", 1367), - ("Courtney", 2941), - ("Crystal", 828), - ("Daisy", 197), - ("Danielle", 4151), - ("Dawn", 62), - ("Debbie", 1389), - ("Deborah", 8819), - ("Debra", 3094), - ("Denise", 3577), - ("Destiny", 190), - ("Diana", 977), - ("Diane", 3952), - ("Dianne", 2314), - ("Donna", 7054), - ("Dorothy", 303), - ("Eden", 1578), - ("Eilish", 52), - ("Elaine", 381), - ("Eleanor", 155), - ("Elise", 48), - ("Elizabeth", 11869), - ("Ella", 5301), - ("Ellen", 124), - ("Ellie", 443), - ("Elsie", 97), - ("Emilia", 145), - ("Emily", 7766), - ("Emma", 13245), - ("Erin", 1624), - ("Esther", 88), - ("Eva", 1637), - ("Evelyn", 634), - ("Evie", 419), - ("Faith", 735), - ("Fiona", 6039), - ("Florence", 291), - ("Frances", 1212), - ("Frankie", 195), - ("Freya", 218), - ("Gabriella", 94), - ("Gabrielle", 808), - ("Gail", 1253), - ("Gaylene", 82), - ("Gemma", 2120), - ("Georgia", 5613), - ("Georgina", 786), - ("Gillian", 1388), - ("Gina", 301), - ("Glenda", 859), - ("Glenys", 410), - ("Gloria", 127), - ("Grace", 6036), - ("Haley", 173), - ("Hannah", 9082), - ("Harmony", 300), - ("Harper", 1186), - ("Harriet", 210), - ("Hayley", 4951), - ("Hazel", 814), - ("Heather", 4351), - ("Heidi", 353), - ("Helen", 7775), - ("Holly", 4402), - ("Hope", 142), - ("Imogen", 293), - ("Indi", 42), - ("Indie", 494), - ("Irene", 166), - ("Isabel", 499), - ("Isabella", 4257), - ("Isabelle", 1182), - ("Isla", 2246), - ("Isobel", 85), - ("Ivy", 577), - ("Jacqueline", 5559), - ("Jade", 3234), - ("Jaime", 61), - ("Jamie", 1066), - ("Jan", 1587), - ("Jane", 4932), - ("Janet", 2253), - ("Janette", 69), - ("Janice", 1881), - ("Janine", 2641), - ("Jasmine", 3786), - ("Jean", 64), - ("Jeanette", 900), - ("Jemma", 200), - ("Jenna", 1162), - ("Jennifer", 9991), - ("Jessica", 12989), - ("Jessie", 1123), - ("Jill", 455), - ("Jillian", 1571), - ("Joan", 199), - ("Joanna", 2716), - ("Joanne", 9329), - ("Jocelyn", 557), - ("Jodi", 56), - ("Jodie", 359), - ("Jolene", 313), - ("Jordan", 797), - ("Jorja", 456), - ("Josephine", 570), - ("Joy", 487), - ("Judith", 4677), - ("Julia", 2092), - ("Julie", 8289), - ("Justine", 1127), - ("Kaitlin", 45), - ("Kaitlyn", 358), - ("Karen", 13524), - ("Karla", 62), - ("Karyn", 429), - ("Kate", 5782), - ("Katelyn", 294), - ("Katherine", 3912), - ("Kathleen", 2503), - ("Kathryn", 5104), - ("Katie", 3455), - ("Katrina", 3184), - ("Kay", 1205), - ("Kaye", 227), - ("Kayla", 2806), - ("Keira", 759), - ("Kellie", 66), - ("Kelly", 6137), - ("Kelsey", 718), - ("Kerry", 1917), - ("Khloe", 98), - ("Kim", 5667), - ("Kimberley", 1578), - ("Kiri", 130), - ("Kirsten", 1183), - ("Kirsty", 2083), - ("Kristy", 172), - ("Krystal", 650), - ("Kyla", 41), - ("Kylie", 3692), - ("Laura", 4669), - ("Lauren", 3275), - ("Layla", 536), - ("Leah", 1894), - ("Leanne", 3478), - ("Leonie", 52), - ("Lesley", 1453), - ("Libby", 48), - ("Lilly", 813), - ("Lily", 3546), - ("Linda", 6288), - ("Lisa", 11891), - ("Lois", 278), - ("Lola", 343), - ("Lorraine", 1675), - ("Louise", 4580), - ("Lucia", 235), - ("Lucy", 4938), - ("Luna", 53), - ("Lydia", 335), - ("Lynda", 1972), - ("Lynette", 3666), - ("Lynley", 228), - ("Lynn", 53), - ("Lynne", 1025), - ("Lynnette", 120), - ("MacKenzie", 67), - ("Mackenzie", 1039), - ("Maddison", 1846), - ("Madeleine", 780), - ("Madeline", 184), - ("Madison", 3128), - ("Maia", 1937), - ("Manaia", 204), - ("Maree", 2270), - ("Margaret", 5517), - ("Maria", 5541), - ("Marian", 60), - ("Marie", 2582), - ("Marilyn", 546), - ("Marion", 370), - ("Mary", 5891), - ("Matilda", 570), - ("Maureen", 1099), - ("Maya", 432), - ("Megan", 5869), - ("Melanie", 4476), - ("Melissa", 6898), - ("Mia", 2627), - ("Michaela", 687), - ("Michele", 1082), - ("Michelle", 12961), - ("Mikaela", 48), - ("Mikayla", 1492), - ("Mila", 1139), - ("Millie", 711), - ("Molly", 1590), - ("Monica", 56), - ("Monique", 1859), - ("Morgan", 646), - ("Mya", 352), - ("Nadine", 126), - ("Naomi", 421), - ("Natalie", 4112), - ("Natasha", 5533), - ("Nevaeh", 673), - ("Ngaire", 116), - ("Niamh", 49), - ("Nicola", 10395), - ("Nicole", 6011), - ("Nikita", 1263), - ("Nikki", 57), - ("Nina", 379), - ("Olive", 525), - ("Olivia", 8816), - ("Paige", 3719), - ("Pamela", 2677), - ("Paris", 551), - ("Patricia", 5007), - ("Paula", 3667), - ("Pauline", 2404), - ("Payton", 44), - ("Penelope", 1213), - ("Peyton", 621), - ("Philippa", 1359), - ("Phoebe", 1380), - ("Piper", 580), - ("Pippa", 416), - ("Poppy", 842), - ("Quinn", 213), - ("Rachael", 3210), - ("Rachel", 9769), - ("Rachelle", 64), - ("Raewyn", 3039), - ("Rebecca", 11608), - ("Rebekah", 1255), - ("Renee", 3387), - ("Rhonda", 131), - ("Riley", 676), - ("Robyn", 5598), - ("Rochelle", 2086), - ("Rose", 1384), - ("Rosemary", 1918), - ("Ruby", 4332), - ("Ruth", 1616), - ("Sadie", 151), - ("Sally", 2445), - ("Samantha", 7549), - ("Sandra", 7429), - ("Sara", 1121), - ("Sarah", 19901), - ("Sasha", 44), - ("Savannah", 443), - ("Scarlett", 1045), - ("Shakira", 52), - ("Shania", 338), - ("Shannon", 2446), - ("Sharlene", 220), - ("Sharon", 7243), - ("Shelley", 2569), - ("Sheree", 169), - ("Sheryl", 1688), - ("Shirley", 1673), - ("Shona", 1210), - ("Sienna", 1358), - ("Sinead", 53), - ("Skye", 97), - ("Skyla", 105), - ("Skylar", 41), - ("Sofia", 630), - ("Sonia", 246), - ("Sonya", 632), - ("Sophia", 2595), - ("Sophie", 7868), - ("Stacey", 3037), - ("Stella", 1323), - ("Stephanie", 5794), - ("Summer", 1477), - ("Susan", 12686), - ("Suzanne", 4705), - ("Tamara", 312), - ("Tania", 6879), - ("Tanya", 1595), - ("Tara", 503), - ("Tayla", 1823), - ("Taylor", 1499), - ("Tegan", 318), - ("Teresa", 2294), - ("Tessa", 1439), - ("Thea", 279), - ("Tiana", 388), - ("Tina", 2124), - ("Toni", 2572), - ("Tori", 50), - ("Tracey", 6914), - ("Tracy", 3999), - ("Trinity", 401), - ("Tyla", 98), - ("Valerie", 394), - ("Vanessa", 3941), - ("Vicki", 3171), - ("Vicky", 198), - ("Victoria", 4823), - ("Violet", 506), - ("Virginia", 54), - ("Vivienne", 802), - ("Wendy", 6832), - ("Whitney", 50), - ("Willow", 743), - ("Yvonne", 1822), - ("Zara", 1292), - ("Zoe", 3973), - ("Zoey", 165), + first_names_male: Dict[str, float] = OrderedDict( + ( + ("Aaron", 9912.0), + ("Adam", 7639), + ("Adrian", 2420), + ("Aidan", 1521), + ("Aiden", 782), + ("Alan", 5689), + ("Alex", 2819), + ("Alexander", 7783), + ("Alistair", 429), + ("Allan", 3148), + ("Allen", 51), + ("Andre", 127), + ("Andrew", 25593), + ("Angus", 1680), + ("Anthony", 12549), + ("Antony", 1594), + ("Archer", 381), + ("Archie", 774), + ("Arlo", 584), + ("Arthur", 630), + ("Asher", 319), + ("Ashley", 861), + ("Ashton", 1236), + ("Austin", 688), + ("Bailey", 1304), + ("Barry", 3624), + ("Beau", 491), + ("Beauden", 125), + ("Ben", 2427), + ("Benjamin", 15497), + ("Bernard", 657), + ("Bevan", 634), + ("Blair", 2863), + ("Blake", 3500), + ("Bodhi", 70), + ("Brad", 450), + ("Bradley", 3910), + ("Brandon", 1000), + ("Braxton", 741), + ("Brayden", 317), + ("Brendan", 2010), + ("Brendon", 3163), + ("Brent", 5564), + ("Brett", 4598), + ("Brian", 6247), + ("Brodie", 216), + ("Brooklyn", 406), + ("Bruce", 6079), + ("Bryan", 1435), + ("Caleb", 5374), + ("Callum", 2364), + ("Cameron", 7756), + ("Campbell", 422), + ("Carl", 3304), + ("Carlos", 122), + ("Carter", 1308), + ("Charles", 3933), + ("Charlie", 2367), + ("Chase", 174), + ("Christian", 1138), + ("Christopher", 23459), + ("Clayton", 59), + ("Clinton", 1004), + ("Cody", 2482), + ("Cohen", 99), + ("Cole", 648), + ("Colin", 3980), + ("Connor", 4632), + ("Conor", 54), + ("Cooper", 2113), + ("Corey", 1656), + ("Cory", 129), + ("Craig", 12702), + ("Cruz", 52), + ("Damian", 1084), + ("Damon", 211), + ("Daniel", 23515), + ("Darren", 3143), + ("Darrin", 217), + ("Darryl", 1517), + ("Darryn", 260), + ("Daryl", 421), + ("David", 36792), + ("Dean", 6096), + ("Declan", 108), + ("Denis", 66), + ("Dennis", 1129), + ("Derek", 1307), + ("Desmond", 224), + ("Dillon", 63), + ("Dion", 1283), + ("Dominic", 801), + ("Donald", 2405), + ("Douglas", 2587), + ("Duncan", 471), + ("Dwayne", 57), + ("Dylan", 6564), + ("Edward", 4864), + ("Eli", 961), + ("Elijah", 2137), + ("Elliot", 54), + ("Eric", 808), + ("Ethan", 6578), + ("Ezra", 309), + ("Felix", 769), + ("Finn", 2084), + ("Fletcher", 447), + ("Flynn", 1577), + ("Francis", 420), + ("Frank", 46), + ("Fraser", 51), + ("Frederick", 49), + ("Gabriel", 739), + ("Gareth", 2087), + ("Garry", 1840), + ("Gary", 5520), + ("Gavin", 3197), + ("Geoffrey", 4439), + ("George", 7320), + ("Gerald", 104), + ("Gerard", 614), + ("Glen", 2709), + ("Glenn", 3983), + ("Gordon", 1444), + ("Graeme", 4705), + ("Graham", 3746), + ("Grant", 8355), + ("Grayson", 259), + ("Gregory", 7916), + ("Hamish", 5758), + ("Harley", 403), + ("Harrison", 2800), + ("Harry", 2454), + ("Harvey", 192), + ("Hayden", 5209), + ("Henry", 3111), + ("Hudson", 281), + ("Hugh", 101), + ("Hugo", 543), + ("Hunter", 3044), + ("Ian", 7592), + ("Isaac", 4208), + ("Isaiah", 349), + ("Israel", 52), + ("Ivan", 236), + ("Jack", 9468), + ("Jackson", 3088), + ("Jacob", 8612), + ("Jake", 2421), + ("Jakob", 46), + ("James", 27224), + ("Jamie", 5064), + ("Jared", 2840), + ("Jarrod", 773), + ("Jason", 14737), + ("Jasper", 246), + ("Jaxon", 623), + ("Jayden", 4541), + ("Jeffrey", 2826), + ("Jeremy", 4775), + ("Jesse", 3965), + ("Joel", 2932), + ("John", 26867), + ("Jonathan", 7957), + ("Jonathon", 349), + ("Jordan", 6499), + ("Joseph", 10061), + ("Josh", 56), + ("Joshua", 17109), + ("Josiah", 52), + ("Julian", 232), + ("Justin", 3882), + ("Kaleb", 492), + ("Kane", 1236), + ("Karl", 3822), + ("Kayden", 123), + ("Keanu", 54), + ("Keegan", 351), + ("Keith", 2175), + ("Kelly", 58), + ("Kelvin", 1262), + ("Kenneth", 3240), + ("Kerry", 2404), + ("Kevin", 9358), + ("Kieran", 1525), + ("Kim", 125), + ("Kingston", 692), + ("Kurt", 515), + ("Kyle", 2568), + ("Lachlan", 2965), + ("Lance", 2958), + ("Lawrence", 226), + ("Lee", 872), + ("Leo", 1872), + ("Leon", 967), + ("Leonard", 102), + ("Leslie", 1126), + ("Levi", 2986), + ("Lewis", 324), + ("Liam", 8629), + ("Lincoln", 857), + ("Lindsay", 883), + ("Lloyd", 46), + ("Logan", 5063), + ("Louis", 863), + ("Luca", 1318), + ("Lucas", 3329), + ("Luka", 119), + ("Lukas", 70), + ("Luke", 8296), + ("Malcolm", 2398), + ("Marcus", 1129), + ("Mark", 23154), + ("Martin", 4260), + ("Mason", 2613), + ("Mathew", 3107), + ("Matthew", 23181), + ("Maurice", 385), + ("Max", 3988), + ("Maxwell", 172), + ("Mervyn", 162), + ("Micah", 52), + ("Michael", 40099), + ("Micheal", 49), + ("Mitchell", 2730), + ("Morgan", 58), + ("Murray", 4843), + ("Nate", 48), + ("Nathan", 8920), + ("Nathaniel", 329), + ("Neil", 3392), + ("Neville", 1268), + ("Nicholas", 13132), + ("Nigel", 4435), + ("Nikau", 53), + ("Nixon", 219), + ("Noah", 3511), + ("Noel", 778), + ("Norman", 221), + ("Oliver", 6515), + ("Oscar", 1987), + ("Owen", 484), + ("Patrick", 6219), + ("Paul", 22959), + ("Peter", 23996), + ("Philip", 7036), + ("Phillip", 5977), + ("Phoenix", 882), + ("Quentin", 67), + ("Quinn", 742), + ("Raymond", 4404), + ("Regan", 1182), + ("Reuben", 1678), + ("Rex", 561), + ("Rhys", 967), + ("Richard", 17664), + ("Ricky", 806), + ("Riley", 2771), + ("Robert", 19791), + ("Robin", 1431), + ("Rodney", 1936), + ("Roger", 2612), + ("Roman", 429), + ("Ronald", 1769), + ("Rory", 220), + ("Ross", 4823), + ("Roy", 101), + ("Russell", 2863), + ("Ryan", 9965), + ("Ryder", 727), + ("Sam", 2347), + ("Samuel", 15565), + ("Scott", 9481), + ("Sean", 5201), + ("Sebastian", 1031), + ("Seth", 780), + ("Shane", 10213), + ("Shannon", 1082), + ("Shaun", 4397), + ("Shayne", 296), + ("Simon", 9846), + ("Sione", 165), + ("Spencer", 52), + ("Stefan", 52), + ("Stephen", 18603), + ("Steven", 11007), + ("Stewart", 499), + ("Stuart", 4662), + ("Taine", 204), + ("Taylor", 1356), + ("Terence", 1154), + ("Terry", 860), + ("Theo", 311), + ("Theodore", 429), + ("Thomas", 15382), + ("Timothy", 10924), + ("Toby", 1490), + ("Todd", 1264), + ("Tom", 47), + ("Tony", 5670), + ("Travis", 65), + ("Trent", 524), + ("Trevor", 3194), + ("Tristan", 111), + ("Troy", 2423), + ("Tyler", 3765), + ("Tyrone", 231), + ("Tyson", 531), + ("Vaughan", 322), + ("Vincent", 907), + ("Walter", 57), + ("Warren", 3223), + ("Warwick", 295), + ("Wayne", 8542), + ("William", 18322), + ("Wyatt", 58), + ("Xavier", 1879), + ("Zac", 111), + ("Zachary", 2569), + ("Zane", 761), + ("Zion", 217), + ("Anaru", 735), + ("Ari", 984), + ("Ariki", 1178), + ("Hemi", 1360), + ("Hoani", 574), + ("Ihaia", 476), + ("Kahu", 700), + ("Kahurangi", 939), + ("Kauri", 1613), + ("Manaaki", 574), + ("Manaia", 1434), + ("Manawa", 536), + ("Matiu", 455), + ("Mikaere", 1413), + ("Nikau", 1942), + ("Niko", 972), + ("Nikora", 1766), + ("Rawiri", 1553), + ("Tai", 793), + ("Tama", 1257), + ("Tamati", 1766), + ("Tane", 1698), + ("Tangaroa", 605), + ("Te Ariki", 1423), + ("Te Koha", 537), + ("Tiare", 476), + ("Wiremu", 1923), + ) + ) - ("Amaia", 667), - ("Ana", 730), - ("Anahera", 1760), - ("Anika", 1432), - ("Aria", 1960), - ("Ariana", 1729), - ("Aroha", 1796), - ("Ataahua", 876), - ("Awhina", 583), - ("Hana", 536), - ("Hinewai", 536), - ("Huia", 528), - ("Kahurangi", 730), - ("Kaia", 1576), - ("Kora", 878), - ("Mahi", 556), - ("Maia", 1960), - ("Manaia", 912), - ("Maraea", 703), - ("Mareikura", 948), - ("Mereana", 637), - ("Miriama", 614), - ("Nia", 667), - ("Ria", 703), - ("Terina", 528), - ("Tia", 1695), - ("Tiare", 671), - ("Tui", 1251), - ("Waimarie", 671), - ("Wikitoria", 583), - )) + first_names_female: Dict[str, float] = OrderedDict( + ( + ("Aaliyah", 1042.0), + ("Abbey", 40), + ("Abby", 503), + ("Abigail", 2017), + ("Addison", 538), + ("Adrienne", 625), + ("Aimee", 2315), + ("Alana", 1194), + ("Aleisha", 102), + ("Alexandra", 2689), + ("Alexis", 789), + ("Alice", 3252), + ("Alicia", 683), + ("Alison", 3444), + ("Alyssa", 1032), + ("Amaia", 45), + ("Amanda", 7667), + ("Amber", 3661), + ("Amelia", 4060), + ("Amy", 7061), + ("Anahera", 140), + ("Andrea", 5003), + ("Angel", 695), + ("Angela", 9634), + ("Angelina", 43), + ("Anika", 46), + ("Anita", 1526), + ("Ann", 1834), + ("Anna", 9371), + ("Annabelle", 457), + ("Anne", 3879), + ("Annette", 2348), + ("April", 49), + ("Arabella", 42), + ("Aria", 1025), + ("Ariana", 473), + ("Aroha", 50), + ("Ashlee", 464), + ("Ashleigh", 3158), + ("Ashley", 2477), + ("Aurora", 251), + ("Ava", 2487), + ("Ayla", 612), + ("Bailey", 150), + ("Barbara", 3531), + ("Belinda", 1254), + ("Bella", 1238), + ("Beverley", 996), + ("Billie", 45), + ("Brenda", 2451), + ("Briana", 49), + ("Brianna", 740), + ("Bridget", 1611), + ("Britney", 64), + ("Brittany", 1239), + ("Bronwyn", 2406), + ("Brooke", 3634), + ("Brooklyn", 782), + ("Caitlin", 3370), + ("Caitlyn", 454), + ("Carla", 323), + ("Carmen", 233), + ("Carol", 3626), + ("Caroline", 2530), + ("Carolyn", 3212), + ("Casey", 1097), + ("Cassandra", 489), + ("Catherine", 7765), + ("Chantelle", 55), + ("Charlie", 215), + ("Charlotte", 7759), + ("Chelsea", 1943), + ("Cherie", 1064), + ("Cheryl", 1781), + ("Cheyenne", 345), + ("Chloe", 4582), + ("Christina", 2675), + ("Christine", 10604), + ("Cindy", 65), + ("Claire", 3174), + ("Clara", 41), + ("Clare", 55), + ("Claudia", 804), + ("Colleen", 1367), + ("Courtney", 2941), + ("Crystal", 828), + ("Daisy", 197), + ("Danielle", 4151), + ("Dawn", 62), + ("Debbie", 1389), + ("Deborah", 8819), + ("Debra", 3094), + ("Denise", 3577), + ("Destiny", 190), + ("Diana", 977), + ("Diane", 3952), + ("Dianne", 2314), + ("Donna", 7054), + ("Dorothy", 303), + ("Eden", 1578), + ("Eilish", 52), + ("Elaine", 381), + ("Eleanor", 155), + ("Elise", 48), + ("Elizabeth", 11869), + ("Ella", 5301), + ("Ellen", 124), + ("Ellie", 443), + ("Elsie", 97), + ("Emilia", 145), + ("Emily", 7766), + ("Emma", 13245), + ("Erin", 1624), + ("Esther", 88), + ("Eva", 1637), + ("Evelyn", 634), + ("Evie", 419), + ("Faith", 735), + ("Fiona", 6039), + ("Florence", 291), + ("Frances", 1212), + ("Frankie", 195), + ("Freya", 218), + ("Gabriella", 94), + ("Gabrielle", 808), + ("Gail", 1253), + ("Gaylene", 82), + ("Gemma", 2120), + ("Georgia", 5613), + ("Georgina", 786), + ("Gillian", 1388), + ("Gina", 301), + ("Glenda", 859), + ("Glenys", 410), + ("Gloria", 127), + ("Grace", 6036), + ("Haley", 173), + ("Hannah", 9082), + ("Harmony", 300), + ("Harper", 1186), + ("Harriet", 210), + ("Hayley", 4951), + ("Hazel", 814), + ("Heather", 4351), + ("Heidi", 353), + ("Helen", 7775), + ("Holly", 4402), + ("Hope", 142), + ("Imogen", 293), + ("Indi", 42), + ("Indie", 494), + ("Irene", 166), + ("Isabel", 499), + ("Isabella", 4257), + ("Isabelle", 1182), + ("Isla", 2246), + ("Isobel", 85), + ("Ivy", 577), + ("Jacqueline", 5559), + ("Jade", 3234), + ("Jaime", 61), + ("Jamie", 1066), + ("Jan", 1587), + ("Jane", 4932), + ("Janet", 2253), + ("Janette", 69), + ("Janice", 1881), + ("Janine", 2641), + ("Jasmine", 3786), + ("Jean", 64), + ("Jeanette", 900), + ("Jemma", 200), + ("Jenna", 1162), + ("Jennifer", 9991), + ("Jessica", 12989), + ("Jessie", 1123), + ("Jill", 455), + ("Jillian", 1571), + ("Joan", 199), + ("Joanna", 2716), + ("Joanne", 9329), + ("Jocelyn", 557), + ("Jodi", 56), + ("Jodie", 359), + ("Jolene", 313), + ("Jordan", 797), + ("Jorja", 456), + ("Josephine", 570), + ("Joy", 487), + ("Judith", 4677), + ("Julia", 2092), + ("Julie", 8289), + ("Justine", 1127), + ("Kaitlin", 45), + ("Kaitlyn", 358), + ("Karen", 13524), + ("Karla", 62), + ("Karyn", 429), + ("Kate", 5782), + ("Katelyn", 294), + ("Katherine", 3912), + ("Kathleen", 2503), + ("Kathryn", 5104), + ("Katie", 3455), + ("Katrina", 3184), + ("Kay", 1205), + ("Kaye", 227), + ("Kayla", 2806), + ("Keira", 759), + ("Kellie", 66), + ("Kelly", 6137), + ("Kelsey", 718), + ("Kerry", 1917), + ("Khloe", 98), + ("Kim", 5667), + ("Kimberley", 1578), + ("Kiri", 130), + ("Kirsten", 1183), + ("Kirsty", 2083), + ("Kristy", 172), + ("Krystal", 650), + ("Kyla", 41), + ("Kylie", 3692), + ("Laura", 4669), + ("Lauren", 3275), + ("Layla", 536), + ("Leah", 1894), + ("Leanne", 3478), + ("Leonie", 52), + ("Lesley", 1453), + ("Libby", 48), + ("Lilly", 813), + ("Lily", 3546), + ("Linda", 6288), + ("Lisa", 11891), + ("Lois", 278), + ("Lola", 343), + ("Lorraine", 1675), + ("Louise", 4580), + ("Lucia", 235), + ("Lucy", 4938), + ("Luna", 53), + ("Lydia", 335), + ("Lynda", 1972), + ("Lynette", 3666), + ("Lynley", 228), + ("Lynn", 53), + ("Lynne", 1025), + ("Lynnette", 120), + ("MacKenzie", 67), + ("Mackenzie", 1039), + ("Maddison", 1846), + ("Madeleine", 780), + ("Madeline", 184), + ("Madison", 3128), + ("Maia", 1937), + ("Manaia", 204), + ("Maree", 2270), + ("Margaret", 5517), + ("Maria", 5541), + ("Marian", 60), + ("Marie", 2582), + ("Marilyn", 546), + ("Marion", 370), + ("Mary", 5891), + ("Matilda", 570), + ("Maureen", 1099), + ("Maya", 432), + ("Megan", 5869), + ("Melanie", 4476), + ("Melissa", 6898), + ("Mia", 2627), + ("Michaela", 687), + ("Michele", 1082), + ("Michelle", 12961), + ("Mikaela", 48), + ("Mikayla", 1492), + ("Mila", 1139), + ("Millie", 711), + ("Molly", 1590), + ("Monica", 56), + ("Monique", 1859), + ("Morgan", 646), + ("Mya", 352), + ("Nadine", 126), + ("Naomi", 421), + ("Natalie", 4112), + ("Natasha", 5533), + ("Nevaeh", 673), + ("Ngaire", 116), + ("Niamh", 49), + ("Nicola", 10395), + ("Nicole", 6011), + ("Nikita", 1263), + ("Nikki", 57), + ("Nina", 379), + ("Olive", 525), + ("Olivia", 8816), + ("Paige", 3719), + ("Pamela", 2677), + ("Paris", 551), + ("Patricia", 5007), + ("Paula", 3667), + ("Pauline", 2404), + ("Payton", 44), + ("Penelope", 1213), + ("Peyton", 621), + ("Philippa", 1359), + ("Phoebe", 1380), + ("Piper", 580), + ("Pippa", 416), + ("Poppy", 842), + ("Quinn", 213), + ("Rachael", 3210), + ("Rachel", 9769), + ("Rachelle", 64), + ("Raewyn", 3039), + ("Rebecca", 11608), + ("Rebekah", 1255), + ("Renee", 3387), + ("Rhonda", 131), + ("Riley", 676), + ("Robyn", 5598), + ("Rochelle", 2086), + ("Rose", 1384), + ("Rosemary", 1918), + ("Ruby", 4332), + ("Ruth", 1616), + ("Sadie", 151), + ("Sally", 2445), + ("Samantha", 7549), + ("Sandra", 7429), + ("Sara", 1121), + ("Sarah", 19901), + ("Sasha", 44), + ("Savannah", 443), + ("Scarlett", 1045), + ("Shakira", 52), + ("Shania", 338), + ("Shannon", 2446), + ("Sharlene", 220), + ("Sharon", 7243), + ("Shelley", 2569), + ("Sheree", 169), + ("Sheryl", 1688), + ("Shirley", 1673), + ("Shona", 1210), + ("Sienna", 1358), + ("Sinead", 53), + ("Skye", 97), + ("Skyla", 105), + ("Skylar", 41), + ("Sofia", 630), + ("Sonia", 246), + ("Sonya", 632), + ("Sophia", 2595), + ("Sophie", 7868), + ("Stacey", 3037), + ("Stella", 1323), + ("Stephanie", 5794), + ("Summer", 1477), + ("Susan", 12686), + ("Suzanne", 4705), + ("Tamara", 312), + ("Tania", 6879), + ("Tanya", 1595), + ("Tara", 503), + ("Tayla", 1823), + ("Taylor", 1499), + ("Tegan", 318), + ("Teresa", 2294), + ("Tessa", 1439), + ("Thea", 279), + ("Tiana", 388), + ("Tina", 2124), + ("Toni", 2572), + ("Tori", 50), + ("Tracey", 6914), + ("Tracy", 3999), + ("Trinity", 401), + ("Tyla", 98), + ("Valerie", 394), + ("Vanessa", 3941), + ("Vicki", 3171), + ("Vicky", 198), + ("Victoria", 4823), + ("Violet", 506), + ("Virginia", 54), + ("Vivienne", 802), + ("Wendy", 6832), + ("Whitney", 50), + ("Willow", 743), + ("Yvonne", 1822), + ("Zara", 1292), + ("Zoe", 3973), + ("Zoey", 165), + ("Amaia", 667), + ("Ana", 730), + ("Anahera", 1760), + ("Anika", 1432), + ("Aria", 1960), + ("Ariana", 1729), + ("Aroha", 1796), + ("Ataahua", 876), + ("Awhina", 583), + ("Hana", 536), + ("Hinewai", 536), + ("Huia", 528), + ("Kahurangi", 730), + ("Kaia", 1576), + ("Kora", 878), + ("Mahi", 556), + ("Maia", 1960), + ("Manaia", 912), + ("Maraea", 703), + ("Mareikura", 948), + ("Mereana", 637), + ("Miriama", 614), + ("Nia", 667), + ("Ria", 703), + ("Terina", 528), + ("Tia", 1695), + ("Tiare", 671), + ("Tui", 1251), + ("Waimarie", 671), + ("Wikitoria", 583), + ) + ) - first_names = first_names_male.copy() + first_names: Dict[str, float] = first_names_male.copy() first_names.update(first_names_female) # New Zealand surnames compiled (and cleaned up) from the following sources: @@ -811,605 +814,607 @@ class Provider(PersonProvider): # NZ Cemetery plot data: # https://catalogue.data.govt.nz/dataset?q=cemetery+plots - last_names = OrderedDict(( - ("Smith", 948), - ("Anderson", 394), - ("Jones", 386), - ("Taylor", 364), - ("Brown", 350), - ("Williams", 337), - ("Thompson", 295), - ("Scott", 266), - ("Harris", 253), - ("Mitchell", 217), - ("Thomas", 214), - ("Campbell", 193), - ("Jackson", 191), - ("Stewart", 188), - ("Martin", 186), - ("Turner", 174), - ("Moore", 173), - ("Simpson", 171), - ("Hart", 166), - ("Bell", 163), - ("Evans", 161), - ("Hansen", 160), - ("Gray", 156), - ("Henderson", 155), - ("Edwards", 153), - ("McDonald", 152), - ("Davis", 150), - ("Ward", 150), - ("Cameron", 149), - ("Wood", 149), - ("MacDonald", 148), - ("Reid", 140), - ("Cook", 138), - ("Bailey", 137), - ("Adams", 136), - ("Mason", 136), - ("Baker", 135), - ("Green", 134), - ("Jensen", 134), - ("Parker", 132), - ("Neal", 131), - ("Russell", 131), - ("Carter", 128), - ("Allen", 127), - ("Roberts", 127), - ("Knight", 126), - ("Morgan", 126), - ("Murphy", 126), - ("Miller", 124), - ("Morris", 124), - ("McKay", 122), - ("Morrison", 121), - ("Wallace", 121), - ("Stevens", 119), - ("Johnston", 113), - ("Jenkins", 111), - ("Lewis", 110), - ("Davies", 109), - ("Oliver", 109), - ("Ryan", 109), - ("Marshall", 108), - ("Webb", 108), - ("Patchett", 107), - ("Hughes", 106), - ("Graham", 104), - ("Wells", 104), - ("Harrison", 103), - ("Larsen", 103), - ("Matthews", 103), - ("Phillips", 102), - ("Clarke", 100), - ("Gibson", 99), - ("Lucas", 99), - ("Price", 97), - ("O'Sullivan", 96), - ("Barnes", 94), - ("Gardiner", 92), - ("Richards", 91), - ("Boyce", 90), - ("Duncan", 89), - ("Fisher", 89), - ("Gill", 89), - ("O'Brien", 89), - ("Gordon", 88), - ("Olsen", 88), - ("Powell", 86), - ("Black", 85), - ("Kennedy", 85), - ("Dixon", 84), - ("Jamieson", 84), - ("O'Connor", 84), - ("Sinclair", 84), - ("Perry", 83), - ("Williamson", 83), - ("Day", 82), - ("Pedersen", 81), - ("Currie", 80), - ("Grant", 80), - ("Rush", 80), - ("McEwen", 79), - ("Wilton", 79), - ("Kelly", 78), - ("Nicholson", 77), - ("Coleman", 76), - ("Davidson", 76), - ("Gardner", 76), - ("Saunders", 76), - ("Rogers", 75), - ("Bryant", 74), - ("Ferguson", 74), - ("Ford", 73), - ("Fowler", 73), - ("McLean", 73), - ("Holland", 72), - ("Lloyd", 72), - ("Page", 72), - ("Francis", 71), - ("Smart", 71), - ("Weston", 71), - ("Chapman", 70), - ("Crawford", 70), - ("Shaw", 70), - ("Sullivan", 70), - ("Webster", 70), - ("Millar", 69), - ("Burton", 68), - ("Fuller", 68), - ("Hamilton", 68), - ("West", 68), - ("Burns", 67), - ("Cox", 67), - ("Cresswell", 67), - ("Holdaway", 67), - ("Hodson", 66), - ("Kerr", 66), - ("Brooks", 64), - ("Fletcher", 64), - ("McCallum", 64), - ("Allan", 63), - ("Buchanan", 63), - ("Carr", 63), - ("Lee", 63), - ("Pickering", 63), - ("Pope", 63), - ("Rowe", 63), - ("Woolley", 63), - ("McLeod", 62), - ("Barnett", 61), - ("Berry", 61), - ("Lane", 61), - ("Tapp", 61), - ("Bartlett", 60), - ("Elliott", 60), - ("Pearson", 60), - ("Wilkinson", 60), - ("Atkinson", 59), - ("Butler", 59), - ("Douglas", 59), - ("Pratt", 59), - ("Cole", 58), - ("Hayward", 58), - ("Little", 58), - ("Newman", 58), - ("Simmons", 58), - ("Barrett", 57), - ("Cooksley", 57), - ("Freeman", 57), - ("Higgins", 57), - ("Hope", 57), - ("McGregor", 57), - ("McMillan", 57), - ("Rose", 57), - ("Sutton", 57), - ("Wong", 57), - ("Harper", 56), - ("Osborne", 56), - ("Stevenson", 56), - ("Bird", 55), - ("Boyd", 55), - ("Dick", 55), - ("Field", 55), - ("Greer", 55), - ("Greig", 55), - ("Nielsen", 55), - ("Reynolds", 55), - ("Forrest", 54), - ("Bradley", 53), - ("Gibbons", 53), - ("Howard", 53), - ("MacKenzie", 53), - ("Nelson", 53), - ("Todd", 53), - ("Waters", 53), - ("Ball", 52), - ("Davey", 52), - ("Holmes", 52), - ("Rodgers", 52), - ("Stratford", 52), - ("Griffiths", 51), - ("Small", 51), - ("Watt", 51), - ("Andrew", 50), - ("Bishop", 50), - ("Dunn", 50), - ("Goodwin", 50), - ("Gore", 50), - ("Healy", 50), - ("May", 50), - ("Munro", 50), - ("Parsons", 50), - ("Poole", 50), - ("Watts", 50), - ("Hills", 49), - ("Peters", 49), - ("Vercoe", 49), - ("Armstrong", 48), - ("Bright", 48), - ("Burgess", 48), - ("Collis", 48), - ("O'Neill", 48), - ("Spencer", 48), - ("Ritchie", 47), - ("Alexander", 46), - ("Curtis", 46), - ("Freeth", 46), - ("Nicol", 46), - ("Robson", 46), - ("Satherley", 46), - ("Stuart", 46), - ("Waugh", 46), - ("Woods", 46), - ("Coley", 45), - ("Fitzgerald", 45), - ("Fleming", 45), - ("Herd", 45), - ("Morton", 45), - ("Beattie", 44), - ("Clifford", 44), - ("Costello", 44), - ("Dawson", 44), - ("Donaldson", 44), - ("Fox", 44), - ("Hay", 44), - ("Jellyman", 44), - ("Joe", 44), - ("Johansen", 44), - ("Knowles", 44), - ("Lawson", 44), - ("O'Donnell", 44), - ("Patterson", 44), - ("Payne", 44), - ("Read", 44), - ("Casey", 43), - ("Chandler", 43), - ("Donald", 43), - ("Gilchrist", 43), - ("Hyde", 43), - ("McIntosh", 43), - ("Paton", 43), - ("Robb", 43), - ("Rutherford", 43), - ("Pike", 42), - ("Dillon", 41), - ("Drummond", 41), - ("Hickey", 41), - ("Hooper", 41), - ("Jordan", 41), - ("Judd", 41), - ("Kenny", 41), - ("Low", 41), - ("Marfell", 41), - ("Newton", 41), - ("O'Leary", 41), - ("Tucker", 41), - ("Carson", 40), - ("Dean", 40), - ("Dickson", 40), - ("George", 40), - ("Ham", 40), - ("McCarthy", 40), - ("McIntyre", 40), - ("Moran", 40), - ("O'Connell", 40), - ("Parkes", 40), - ("Short", 40), - ("Barr", 39), - ("Baxter", 39), - ("Dalton", 39), - ("Forbes", 39), - ("Hawkins", 39), - ("Ireland", 39), - ("Miles", 39), - ("Nash", 39), - ("Owen", 39), - ("Perano", 39), - ("Sowman", 39), - ("Whyte", 39), - ("Bush", 38), - ("Drake", 38), - ("Eden", 38), - ("Giles", 38), - ("Hoare", 38), - ("Hubbard", 38), - ("Hudson", 38), - ("MacKay", 38), - ("McKinnon", 38), - ("Mears", 38), - ("Prentice", 38), - ("Schwass", 38), - ("Simonsen", 38), - ("Walton", 38), - ("Wheeler", 38), - ("Wratt", 38), - ("Avery", 37), - ("Barker", 37), - ("Blake", 37), - ("Conway", 37), - ("Holloway", 37), - ("Horton", 37), - ("Manning", 37), - ("Nolan", 37), - ("Pritchard", 37), - ("Bishell", 36), - ("Blair", 36), - ("Christiansen", 36), - ("Fulton", 36), - ("Gibbs", 36), - ("Griffin", 36), - ("Hook", 36), - ("McGill", 36), - ("Mercer", 36), - ("Middleton", 36), - ("Rayner", 36), - ("Stone", 36), - ("Terry", 36), - ("Walsh", 36), - ("Craig", 35), - ("Craven", 35), - ("Ellery", 35), - ("Findlay", 35), - ("Maxwell", 35), - ("North", 35), - ("Reardon", 35), - ("Tait", 35), - ("Baldwin", 34), - ("Butcher", 34), - ("Caldwell", 34), - ("Doyle", 34), - ("Eaton", 34), - ("Flood", 34), - ("Gifford", 34), - ("Guy", 34), - ("Jennings", 34), - ("Leslie", 34), - ("McMahon", 34), - ("McNabb", 34), - ("Paterson", 34), - ("Porter", 34), - ("Reeves", 34), - ("Seymour", 34), - ("Trask", 34), - ("Warren", 34), - ("Watkins", 34), - ("Wills", 34), - ("Best", 33), - ("Bull", 33), - ("Dawick", 33), - ("Dobson", 33), - ("Gledhill", 33), - ("Hardy", 33), - ("Hayes", 33), - ("Kendall", 33), - ("McCormick", 33), - ("McPherson", 33), - ("Pollard", 33), - ("Rasmussen", 33), - ("Shailer", 33), - ("Shepherd", 33), - ("Sheridan", 33), - ("Simmonds", 33), - ("Steele", 33), - ("Booth", 32), - ("Edmonds", 32), - ("Gunn", 32), - ("Hood", 32), - ("Humphrey", 32), - ("Hutchinson", 32), - ("Laurenson", 32), - ("Long", 32), - ("Lowe", 32), - ("Manson", 32), - ("McGrath", 32), - ("McKenna", 32), - ("Muir", 32), - ("O'Keefe", 32), - ("Potter", 32), - ("Searle", 32), - ("Stubbs", 32), - ("Wall", 32), - ("Wallis", 32), - ("Browne", 31), - ("Carroll", 31), - ("Cunningham", 31), - ("Foley", 31), - ("Franklin", 31), - ("Furness", 31), - ("Gilbert", 31), - ("Hopkins", 31), - ("Jefferies", 31), - ("Johnstone", 31), - ("Linton", 31), - ("Mann", 31), - ("Norton", 31), - ("Rees", 31), - ("Rowlands", 31), - ("Sanders", 31), - ("Bond", 30), - ("Chambers", 30), - ("Cragg", 30), - ("Davison", 30), - ("Gee", 30), - ("Gleeson", 30), - ("Gullery", 30), - ("Hadfield", 30), - ("Haines", 30), - ("Hepburn", 30), - ("Howell", 30), - ("Jeffries", 30), - ("Lamb", 30), - ("Law", 30), - ("MacPherson", 30), - ("McIsaac", 30), - ("Millard", 30), - ("Paul", 30), - ("Pearce", 30), - ("Prouse", 30), - ("Ramsay", 30), - ("Rowland", 30), - ("Spelman", 30), - ("Waghorn", 30), - ("Willis", 30), - ("Zimmerman", 30), - ("Aitken", 29), - ("Booker", 29), - ("Bruce", 29), - ("Burrell", 29), - ("Burt", 29), - ("Funnell", 29), - ("Gilmore", 29), - ("Guthrie", 29), - ("Hewitt", 29), - ("Hogg", 29), - ("Lammas", 29), - ("Lang", 29), - ("Lyons", 29), - ("McDowall", 29), - ("Neilson", 29), - ("Norman", 29), - ("Reed", 29), - ("Rickard", 29), - ("Stokes", 29), - ("Stratton", 29), - ("Strawbridge", 29), - ("York", 29), - ("Alve", 28), - ("Baldick", 28), - ("Banks", 28), - ("Beard", 28), - ("Bowden", 28), - ("Boyle", 28), - ("Carpenter", 28), - ("Connolly", 28), - ("Cooke", 28), - ("Craw", 28), - ("Cumming", 28), - ("Drew", 28), - ("Fairhall", 28), - ("Gillespie", 28), - ("Gillies", 28), - ("Healey", 28), - ("Horn", 28), - ("Ingram", 28), - ("Knox", 28), - ("Lancaster", 28), - ("Landon-Lane", 28), - ("Marsh", 28), - ("Mortimer", 28), - ("Riley", 28), - ("Sixtus", 28), - ("Turnbull", 28), - ("Warner", 28), - ("Aldridge", 27), - ("Allerby", 27), - ("Arnold", 27), - ("Blackwell", 27), - ("Blick", 27), - ("Boon", 27), - ("Bowater", 27), - ("Broughan", 27), - ("Davenport", 27), - ("Foote", 27), - ("Forsyth", 27), - ("Laing", 27), - ("Mayo", 27), - ("McFarlane", 27), - ("McMurray", 27), - ("Monk", 27), - ("Orr", 27), - ("Procter", 27), - ("Shannon", 27), - ("Southee", 27), - ("Stace", 27), - ("Waller", 27), - ("Webby", 27), - ("Arnott", 26), - ("Baird", 26), - ("Bary", 26), - ("Bassett", 26), - ("Buckley", 26), - ("Burke", 26), - ("Claridge", 26), - ("Clunies-Ross", 26), - ("Croad", 26), - ("Dyer", 26), - ("Ewart", 26), - ("Faulkner", 26), - ("Fenton", 26), - ("Gibb", 26), - ("Huddleston", 26), - ("Jarvis", 26), - ("Kay", 26), - ("Kemp", 26), - ("McLachlan", 26), - ("Middlemiss", 26), - ("Moody", 26), - ("Mudgway", 26), - ("Nicholas", 26), - ("Reader", 26), - ("Robert", 26), - ("Steer", 26), - ("Thornton", 26), - ("Toms", 26), - ("Twidle", 26), - ("Vincent", 26), - ("Way", 26), - ("Whittaker", 26), - ("Batchelar", 25), - ("Boniface", 25), - ("Botham", 25), - ("Buick", 25), - ("Burnett", 25), - ("Ching", 25), - ("Christie", 25), - ("Corlett", 25), - ("Coutts", 25), - ("Eglinton", 25), - ("Enright", 25), - ("Foot", 25), - ("Frost", 25), - ("Gaskin", 25), - ("Hanson", 25), - ("Hardie", 25), - ("Henry", 25), - ("Hoskins", 25), - ("Lambert", 25), - ("Learmonth", 25), - ("Logan", 25), - ("Matheson", 25), - ("McManaway", 25), - ("Meads", 25), - ("Meredith", 25), - ("Montgomery", 25), - ("Murdoch", 25), - ("Orchard", 25), - ("Perrin", 25), - ("Peterson", 25), - ("Priest", 25), - ("Rossiter", 25), - ("Shand", 25), - ("Skinner", 25), - ("Soper", 25), - ("Street", 25), - ("Tanner", 25), - ("Aberhart", 24), - ("Berkahn", 24), - ("Burr", 24), - ("Cairns", 24), - ("Corbett", 24), - ("Dalziel", 24), - ("Doherty", 24), - ("Esson", 24), - ("Farland", 24), - ("Godfrey", 24), - ("Guard", 24), - ("Hume", 24), - ("Irving", 24), - ("Jacques", 24), - ("Kirk", 24), - ("Love", 24), - ("Lyon", 24), - )) + last_names = OrderedDict( + ( + ("Smith", 948.0), + ("Anderson", 394), + ("Jones", 386), + ("Taylor", 364), + ("Brown", 350), + ("Williams", 337), + ("Thompson", 295), + ("Scott", 266), + ("Harris", 253), + ("Mitchell", 217), + ("Thomas", 214), + ("Campbell", 193), + ("Jackson", 191), + ("Stewart", 188), + ("Martin", 186), + ("Turner", 174), + ("Moore", 173), + ("Simpson", 171), + ("Hart", 166), + ("Bell", 163), + ("Evans", 161), + ("Hansen", 160), + ("Gray", 156), + ("Henderson", 155), + ("Edwards", 153), + ("McDonald", 152), + ("Davis", 150), + ("Ward", 150), + ("Cameron", 149), + ("Wood", 149), + ("MacDonald", 148), + ("Reid", 140), + ("Cook", 138), + ("Bailey", 137), + ("Adams", 136), + ("Mason", 136), + ("Baker", 135), + ("Green", 134), + ("Jensen", 134), + ("Parker", 132), + ("Neal", 131), + ("Russell", 131), + ("Carter", 128), + ("Allen", 127), + ("Roberts", 127), + ("Knight", 126), + ("Morgan", 126), + ("Murphy", 126), + ("Miller", 124), + ("Morris", 124), + ("McKay", 122), + ("Morrison", 121), + ("Wallace", 121), + ("Stevens", 119), + ("Johnston", 113), + ("Jenkins", 111), + ("Lewis", 110), + ("Davies", 109), + ("Oliver", 109), + ("Ryan", 109), + ("Marshall", 108), + ("Webb", 108), + ("Patchett", 107), + ("Hughes", 106), + ("Graham", 104), + ("Wells", 104), + ("Harrison", 103), + ("Larsen", 103), + ("Matthews", 103), + ("Phillips", 102), + ("Clarke", 100), + ("Gibson", 99), + ("Lucas", 99), + ("Price", 97), + ("O'Sullivan", 96), + ("Barnes", 94), + ("Gardiner", 92), + ("Richards", 91), + ("Boyce", 90), + ("Duncan", 89), + ("Fisher", 89), + ("Gill", 89), + ("O'Brien", 89), + ("Gordon", 88), + ("Olsen", 88), + ("Powell", 86), + ("Black", 85), + ("Kennedy", 85), + ("Dixon", 84), + ("Jamieson", 84), + ("O'Connor", 84), + ("Sinclair", 84), + ("Perry", 83), + ("Williamson", 83), + ("Day", 82), + ("Pedersen", 81), + ("Currie", 80), + ("Grant", 80), + ("Rush", 80), + ("McEwen", 79), + ("Wilton", 79), + ("Kelly", 78), + ("Nicholson", 77), + ("Coleman", 76), + ("Davidson", 76), + ("Gardner", 76), + ("Saunders", 76), + ("Rogers", 75), + ("Bryant", 74), + ("Ferguson", 74), + ("Ford", 73), + ("Fowler", 73), + ("McLean", 73), + ("Holland", 72), + ("Lloyd", 72), + ("Page", 72), + ("Francis", 71), + ("Smart", 71), + ("Weston", 71), + ("Chapman", 70), + ("Crawford", 70), + ("Shaw", 70), + ("Sullivan", 70), + ("Webster", 70), + ("Millar", 69), + ("Burton", 68), + ("Fuller", 68), + ("Hamilton", 68), + ("West", 68), + ("Burns", 67), + ("Cox", 67), + ("Cresswell", 67), + ("Holdaway", 67), + ("Hodson", 66), + ("Kerr", 66), + ("Brooks", 64), + ("Fletcher", 64), + ("McCallum", 64), + ("Allan", 63), + ("Buchanan", 63), + ("Carr", 63), + ("Lee", 63), + ("Pickering", 63), + ("Pope", 63), + ("Rowe", 63), + ("Woolley", 63), + ("McLeod", 62), + ("Barnett", 61), + ("Berry", 61), + ("Lane", 61), + ("Tapp", 61), + ("Bartlett", 60), + ("Elliott", 60), + ("Pearson", 60), + ("Wilkinson", 60), + ("Atkinson", 59), + ("Butler", 59), + ("Douglas", 59), + ("Pratt", 59), + ("Cole", 58), + ("Hayward", 58), + ("Little", 58), + ("Newman", 58), + ("Simmons", 58), + ("Barrett", 57), + ("Cooksley", 57), + ("Freeman", 57), + ("Higgins", 57), + ("Hope", 57), + ("McGregor", 57), + ("McMillan", 57), + ("Rose", 57), + ("Sutton", 57), + ("Wong", 57), + ("Harper", 56), + ("Osborne", 56), + ("Stevenson", 56), + ("Bird", 55), + ("Boyd", 55), + ("Dick", 55), + ("Field", 55), + ("Greer", 55), + ("Greig", 55), + ("Nielsen", 55), + ("Reynolds", 55), + ("Forrest", 54), + ("Bradley", 53), + ("Gibbons", 53), + ("Howard", 53), + ("MacKenzie", 53), + ("Nelson", 53), + ("Todd", 53), + ("Waters", 53), + ("Ball", 52), + ("Davey", 52), + ("Holmes", 52), + ("Rodgers", 52), + ("Stratford", 52), + ("Griffiths", 51), + ("Small", 51), + ("Watt", 51), + ("Andrew", 50), + ("Bishop", 50), + ("Dunn", 50), + ("Goodwin", 50), + ("Gore", 50), + ("Healy", 50), + ("May", 50), + ("Munro", 50), + ("Parsons", 50), + ("Poole", 50), + ("Watts", 50), + ("Hills", 49), + ("Peters", 49), + ("Vercoe", 49), + ("Armstrong", 48), + ("Bright", 48), + ("Burgess", 48), + ("Collis", 48), + ("O'Neill", 48), + ("Spencer", 48), + ("Ritchie", 47), + ("Alexander", 46), + ("Curtis", 46), + ("Freeth", 46), + ("Nicol", 46), + ("Robson", 46), + ("Satherley", 46), + ("Stuart", 46), + ("Waugh", 46), + ("Woods", 46), + ("Coley", 45), + ("Fitzgerald", 45), + ("Fleming", 45), + ("Herd", 45), + ("Morton", 45), + ("Beattie", 44), + ("Clifford", 44), + ("Costello", 44), + ("Dawson", 44), + ("Donaldson", 44), + ("Fox", 44), + ("Hay", 44), + ("Jellyman", 44), + ("Joe", 44), + ("Johansen", 44), + ("Knowles", 44), + ("Lawson", 44), + ("O'Donnell", 44), + ("Patterson", 44), + ("Payne", 44), + ("Read", 44), + ("Casey", 43), + ("Chandler", 43), + ("Donald", 43), + ("Gilchrist", 43), + ("Hyde", 43), + ("McIntosh", 43), + ("Paton", 43), + ("Robb", 43), + ("Rutherford", 43), + ("Pike", 42), + ("Dillon", 41), + ("Drummond", 41), + ("Hickey", 41), + ("Hooper", 41), + ("Jordan", 41), + ("Judd", 41), + ("Kenny", 41), + ("Low", 41), + ("Marfell", 41), + ("Newton", 41), + ("O'Leary", 41), + ("Tucker", 41), + ("Carson", 40), + ("Dean", 40), + ("Dickson", 40), + ("George", 40), + ("Ham", 40), + ("McCarthy", 40), + ("McIntyre", 40), + ("Moran", 40), + ("O'Connell", 40), + ("Parkes", 40), + ("Short", 40), + ("Barr", 39), + ("Baxter", 39), + ("Dalton", 39), + ("Forbes", 39), + ("Hawkins", 39), + ("Ireland", 39), + ("Miles", 39), + ("Nash", 39), + ("Owen", 39), + ("Perano", 39), + ("Sowman", 39), + ("Whyte", 39), + ("Bush", 38), + ("Drake", 38), + ("Eden", 38), + ("Giles", 38), + ("Hoare", 38), + ("Hubbard", 38), + ("Hudson", 38), + ("MacKay", 38), + ("McKinnon", 38), + ("Mears", 38), + ("Prentice", 38), + ("Schwass", 38), + ("Simonsen", 38), + ("Walton", 38), + ("Wheeler", 38), + ("Wratt", 38), + ("Avery", 37), + ("Barker", 37), + ("Blake", 37), + ("Conway", 37), + ("Holloway", 37), + ("Horton", 37), + ("Manning", 37), + ("Nolan", 37), + ("Pritchard", 37), + ("Bishell", 36), + ("Blair", 36), + ("Christiansen", 36), + ("Fulton", 36), + ("Gibbs", 36), + ("Griffin", 36), + ("Hook", 36), + ("McGill", 36), + ("Mercer", 36), + ("Middleton", 36), + ("Rayner", 36), + ("Stone", 36), + ("Terry", 36), + ("Walsh", 36), + ("Craig", 35), + ("Craven", 35), + ("Ellery", 35), + ("Findlay", 35), + ("Maxwell", 35), + ("North", 35), + ("Reardon", 35), + ("Tait", 35), + ("Baldwin", 34), + ("Butcher", 34), + ("Caldwell", 34), + ("Doyle", 34), + ("Eaton", 34), + ("Flood", 34), + ("Gifford", 34), + ("Guy", 34), + ("Jennings", 34), + ("Leslie", 34), + ("McMahon", 34), + ("McNabb", 34), + ("Paterson", 34), + ("Porter", 34), + ("Reeves", 34), + ("Seymour", 34), + ("Trask", 34), + ("Warren", 34), + ("Watkins", 34), + ("Wills", 34), + ("Best", 33), + ("Bull", 33), + ("Dawick", 33), + ("Dobson", 33), + ("Gledhill", 33), + ("Hardy", 33), + ("Hayes", 33), + ("Kendall", 33), + ("McCormick", 33), + ("McPherson", 33), + ("Pollard", 33), + ("Rasmussen", 33), + ("Shailer", 33), + ("Shepherd", 33), + ("Sheridan", 33), + ("Simmonds", 33), + ("Steele", 33), + ("Booth", 32), + ("Edmonds", 32), + ("Gunn", 32), + ("Hood", 32), + ("Humphrey", 32), + ("Hutchinson", 32), + ("Laurenson", 32), + ("Long", 32), + ("Lowe", 32), + ("Manson", 32), + ("McGrath", 32), + ("McKenna", 32), + ("Muir", 32), + ("O'Keefe", 32), + ("Potter", 32), + ("Searle", 32), + ("Stubbs", 32), + ("Wall", 32), + ("Wallis", 32), + ("Browne", 31), + ("Carroll", 31), + ("Cunningham", 31), + ("Foley", 31), + ("Franklin", 31), + ("Furness", 31), + ("Gilbert", 31), + ("Hopkins", 31), + ("Jefferies", 31), + ("Johnstone", 31), + ("Linton", 31), + ("Mann", 31), + ("Norton", 31), + ("Rees", 31), + ("Rowlands", 31), + ("Sanders", 31), + ("Bond", 30), + ("Chambers", 30), + ("Cragg", 30), + ("Davison", 30), + ("Gee", 30), + ("Gleeson", 30), + ("Gullery", 30), + ("Hadfield", 30), + ("Haines", 30), + ("Hepburn", 30), + ("Howell", 30), + ("Jeffries", 30), + ("Lamb", 30), + ("Law", 30), + ("MacPherson", 30), + ("McIsaac", 30), + ("Millard", 30), + ("Paul", 30), + ("Pearce", 30), + ("Prouse", 30), + ("Ramsay", 30), + ("Rowland", 30), + ("Spelman", 30), + ("Waghorn", 30), + ("Willis", 30), + ("Zimmerman", 30), + ("Aitken", 29), + ("Booker", 29), + ("Bruce", 29), + ("Burrell", 29), + ("Burt", 29), + ("Funnell", 29), + ("Gilmore", 29), + ("Guthrie", 29), + ("Hewitt", 29), + ("Hogg", 29), + ("Lammas", 29), + ("Lang", 29), + ("Lyons", 29), + ("McDowall", 29), + ("Neilson", 29), + ("Norman", 29), + ("Reed", 29), + ("Rickard", 29), + ("Stokes", 29), + ("Stratton", 29), + ("Strawbridge", 29), + ("York", 29), + ("Alve", 28), + ("Baldick", 28), + ("Banks", 28), + ("Beard", 28), + ("Bowden", 28), + ("Boyle", 28), + ("Carpenter", 28), + ("Connolly", 28), + ("Cooke", 28), + ("Craw", 28), + ("Cumming", 28), + ("Drew", 28), + ("Fairhall", 28), + ("Gillespie", 28), + ("Gillies", 28), + ("Healey", 28), + ("Horn", 28), + ("Ingram", 28), + ("Knox", 28), + ("Lancaster", 28), + ("Landon-Lane", 28), + ("Marsh", 28), + ("Mortimer", 28), + ("Riley", 28), + ("Sixtus", 28), + ("Turnbull", 28), + ("Warner", 28), + ("Aldridge", 27), + ("Allerby", 27), + ("Arnold", 27), + ("Blackwell", 27), + ("Blick", 27), + ("Boon", 27), + ("Bowater", 27), + ("Broughan", 27), + ("Davenport", 27), + ("Foote", 27), + ("Forsyth", 27), + ("Laing", 27), + ("Mayo", 27), + ("McFarlane", 27), + ("McMurray", 27), + ("Monk", 27), + ("Orr", 27), + ("Procter", 27), + ("Shannon", 27), + ("Southee", 27), + ("Stace", 27), + ("Waller", 27), + ("Webby", 27), + ("Arnott", 26), + ("Baird", 26), + ("Bary", 26), + ("Bassett", 26), + ("Buckley", 26), + ("Burke", 26), + ("Claridge", 26), + ("Clunies-Ross", 26), + ("Croad", 26), + ("Dyer", 26), + ("Ewart", 26), + ("Faulkner", 26), + ("Fenton", 26), + ("Gibb", 26), + ("Huddleston", 26), + ("Jarvis", 26), + ("Kay", 26), + ("Kemp", 26), + ("McLachlan", 26), + ("Middlemiss", 26), + ("Moody", 26), + ("Mudgway", 26), + ("Nicholas", 26), + ("Reader", 26), + ("Robert", 26), + ("Steer", 26), + ("Thornton", 26), + ("Toms", 26), + ("Twidle", 26), + ("Vincent", 26), + ("Way", 26), + ("Whittaker", 26), + ("Batchelar", 25), + ("Boniface", 25), + ("Botham", 25), + ("Buick", 25), + ("Burnett", 25), + ("Ching", 25), + ("Christie", 25), + ("Corlett", 25), + ("Coutts", 25), + ("Eglinton", 25), + ("Enright", 25), + ("Foot", 25), + ("Frost", 25), + ("Gaskin", 25), + ("Hanson", 25), + ("Hardie", 25), + ("Henry", 25), + ("Hoskins", 25), + ("Lambert", 25), + ("Learmonth", 25), + ("Logan", 25), + ("Matheson", 25), + ("McManaway", 25), + ("Meads", 25), + ("Meredith", 25), + ("Montgomery", 25), + ("Murdoch", 25), + ("Orchard", 25), + ("Perrin", 25), + ("Peterson", 25), + ("Priest", 25), + ("Rossiter", 25), + ("Shand", 25), + ("Skinner", 25), + ("Soper", 25), + ("Street", 25), + ("Tanner", 25), + ("Aberhart", 24), + ("Berkahn", 24), + ("Burr", 24), + ("Cairns", 24), + ("Corbett", 24), + ("Dalziel", 24), + ("Doherty", 24), + ("Esson", 24), + ("Farland", 24), + ("Godfrey", 24), + ("Guard", 24), + ("Hume", 24), + ("Irving", 24), + ("Jacques", 24), + ("Kirk", 24), + ("Love", 24), + ("Lyon", 24), + ) + ) diff --git a/faker/providers/person/en_TH/__init__.py b/faker/providers/person/en_TH/__init__.py index 7864fce645..c4ceb69937 100644 --- a/faker/providers/person/en_TH/__init__.py +++ b/faker/providers/person/en_TH/__init__.py @@ -3,32 +3,97 @@ class Provider(PersonProvider): formats = ( - '{{first_name}} {{last_name}}', - '{{first_name}} {{last_name}}', - '{{first_name}} {{last_name}}', - '{{first_name}} {{last_name}}', - '{{first_name}} {{last_name}}', - '{{first_name}} {{last_name}}', - '{{prefix}} {{first_name}} {{last_name}}') + "{{first_name}} {{last_name}}", + "{{first_name}} {{last_name}}", + "{{first_name}} {{last_name}}", + "{{first_name}} {{last_name}}", + "{{first_name}} {{last_name}}", + "{{first_name}} {{last_name}}", + "{{prefix}} {{first_name}} {{last_name}}", + ) prefixes_male = ( - "GEN", "LT GEN", "MAJ GEN", "COL", "LT COL", "MAJ", "CAPT", "LT", "SUB LT", + "GEN", + "LT GEN", + "MAJ GEN", + "COL", + "LT COL", + "MAJ", + "CAPT", + "LT", + "SUB LT", "S M 1", - "S M 2", "S M 3", "SGT", "CPL", "PFC", "PVT", "ADM", "V ADM", "R ADM", "CAPT", + "S M 2", + "S M 3", + "SGT", + "CPL", + "PFC", + "PVT", + "ADM", + "V ADM", + "R ADM", + "CAPT", "CDR", - "L CDR", "LT", "LT JG", "SUB LT", "CPO 1", "CPO 2", "CPO 3", "PO 1", "PO 2", + "L CDR", + "LT", + "LT JG", + "SUB LT", + "CPO 1", + "CPO 2", + "CPO 3", + "PO 1", + "PO 2", "PO 3", - "SEA-MAN", "ACM", "AM", "AVM", "GP CAPT", "WG CDR", "SQN LDR", "FLT LT", + "SEA-MAN", + "ACM", + "AM", + "AVM", + "GP CAPT", + "WG CDR", + "SQN LDR", + "FLT LT", "FLG OFF", - "PLT OFF", "FS 1", "FS 2", "FS 3", "SGT", "CPL", "LAC", "AMN", "POL GEN", - "POL LT GEN", "POL MAJ GEN", "POL COL", "POL LT COL", "POL MAJ", "POL CAPT", + "PLT OFF", + "FS 1", + "FS 2", + "FS 3", + "SGT", + "CPL", + "LAC", + "AMN", + "POL GEN", + "POL LT GEN", + "POL MAJ GEN", + "POL COL", + "POL LT COL", + "POL MAJ", + "POL CAPT", "POL LT", - "POL SUB LT", "POL SEN SGT MAJ", "POL SGT MAJ", "POL SGT", "POL CPL", "POL L/C", - "POL CONST", "MR", "REV", "M L", "M R", "SAMANERA", "PHRA", - "PHRA ATHIKAN", "CHAO ATHIKAN", "PHRAPALAD", "PHRASAMU", "PHRABAIDIKA", - "PHRAKHU PALAD", "PHRAKHU SAMU", "PHRAKHU BAIDIKA", "PHRAMAHA", + "POL SUB LT", + "POL SEN SGT MAJ", + "POL SGT MAJ", + "POL SGT", + "POL CPL", + "POL L/C", + "POL CONST", + "MR", + "REV", + "M L", + "M R", + "SAMANERA", + "PHRA", + "PHRA ATHIKAN", + "CHAO ATHIKAN", + "PHRAPALAD", + "PHRASAMU", + "PHRABAIDIKA", + "PHRAKHU PALAD", + "PHRAKHU SAMU", + "PHRAKHU BAIDIKA", + "PHRAMAHA", "PHRAKHU DHAMMADHORN", - "PHRAKHU VINAIDHORN") + "PHRAKHU VINAIDHORN", + ) prefixes_female = ( "GEN", @@ -97,7 +162,8 @@ class Provider(PersonProvider): "MRS", "MISS", "REV", - "M L") + "M L", + ) prefixes = prefixes_male + prefixes_female @@ -172,18 +238,71 @@ class Provider(PersonProvider): ) last_names = ( - "Prachayaroch", "Prachayaroch", "Kamalanon", "Tianvarich", "Bunlerngsri", + "Prachayaroch", + "Prachayaroch", + "Kamalanon", + "Tianvarich", + "Bunlerngsri", "Sukhenai", - "Posalee", "Chaisatit", "Sujjaboriboon", "Kamalanon", "Neerachapong", + "Posalee", + "Chaisatit", + "Sujjaboriboon", + "Kamalanon", + "Neerachapong", "Pianduangsri", - "Pasuk", "Losatapornpipit", "Suraprasert", "Matinawin", "Choeychuen", "Wasunun", - "Kumsoontorn", "Sireelert", "Boonpungbaramee", "Sorattanachai", "Benchapatranon", - "Intaum", "Pikatsingkorn", "Srisoontorn", "Polpo", "Kongchayasukawut", - "Charoensuksopol", "Bunlupong", "Chomsri", "Tungkasethakul", "Chowitunkit", - "Todsapornpitakul", "Wimolnot", "Kittakun", "Methavorakul", "Pitanuwat", - "Phusilarungrueng", "Turongkinanon", "Kitprapa", "Pothanun", "Youprasert", - "Methavorakul", "Vethayasas", "Sooksawang", "Anekvorakul", "Pichpandecha", - "Sittisaowapak", "Suraprachit", "Kongsri", "Trikasemmart", "Habpanom", - "Wannapaitoonsri", "Vinyuvanichkul", "Pongpanitch", "Permchart", "Chaihirankarn", - "Thantananont", "Norramon", "Prayoonhong", "Lertsattayanusak", "Polauaypon", - "Prakalpawong", "Titipatrayunyong", "Krittayanukoon", "Siripaiboo") + "Pasuk", + "Losatapornpipit", + "Suraprasert", + "Matinawin", + "Choeychuen", + "Wasunun", + "Kumsoontorn", + "Sireelert", + "Boonpungbaramee", + "Sorattanachai", + "Benchapatranon", + "Intaum", + "Pikatsingkorn", + "Srisoontorn", + "Polpo", + "Kongchayasukawut", + "Charoensuksopol", + "Bunlupong", + "Chomsri", + "Tungkasethakul", + "Chowitunkit", + "Todsapornpitakul", + "Wimolnot", + "Kittakun", + "Methavorakul", + "Pitanuwat", + "Phusilarungrueng", + "Turongkinanon", + "Kitprapa", + "Pothanun", + "Youprasert", + "Methavorakul", + "Vethayasas", + "Sooksawang", + "Anekvorakul", + "Pichpandecha", + "Sittisaowapak", + "Suraprachit", + "Kongsri", + "Trikasemmart", + "Habpanom", + "Wannapaitoonsri", + "Vinyuvanichkul", + "Pongpanitch", + "Permchart", + "Chaihirankarn", + "Thantananont", + "Norramon", + "Prayoonhong", + "Lertsattayanusak", + "Polauaypon", + "Prakalpawong", + "Titipatrayunyong", + "Krittayanukoon", + "Siripaiboo", + ) diff --git a/faker/providers/person/en_US/__init__.py b/faker/providers/person/en_US/__init__.py index 6d04530965..9ad2a62d87 100644 --- a/faker/providers/person/en_US/__init__.py +++ b/faker/providers/person/en_US/__init__.py @@ -4,26 +4,41 @@ class Provider(PersonProvider): - formats_female = OrderedDict(( - ('{{first_name_female}} {{last_name}}', 0.97), - ('{{prefix_female}} {{first_name_female}} {{last_name}}', 0.015), - ('{{first_name_female}} {{last_name}} {{suffix_female}}', 0.02), - ('{{prefix_female}} {{first_name_female}} {{last_name}} {{suffix_female}}', 0.005), - )) + formats_female = OrderedDict( + ( + ("{{first_name_female}} {{last_name}}", 0.97), + ("{{prefix_female}} {{first_name_female}} {{last_name}}", 0.015), + ("{{first_name_female}} {{last_name}} {{suffix_female}}", 0.02), + ( + "{{prefix_female}} {{first_name_female}} {{last_name}} {{suffix_female}}", + 0.005, + ), + ) + ) - formats_nonbinary = OrderedDict(( - ('{{first_name_nonbinary}} {{last_name}}', 0.97), - ('{{prefix_nonbinary}} {{first_name_nonbinary}} {{last_name}}', 0.015), - ('{{first_name_nonbinary}} {{last_name}} {{suffix_nonbinary}}', 0.02), - ('{{prefix_nonbinary}} {{first_name_nonbinary}} {{last_name}} {{suffix_nonbinary}}', 0.005), - )) + formats_nonbinary = OrderedDict( + ( + ("{{first_name_nonbinary}} {{last_name}}", 0.97), + ("{{prefix_nonbinary}} {{first_name_nonbinary}} {{last_name}}", 0.015), + ("{{first_name_nonbinary}} {{last_name}} {{suffix_nonbinary}}", 0.02), + ( + "{{prefix_nonbinary}} {{first_name_nonbinary}} {{last_name}} {{suffix_nonbinary}}", + 0.005, + ), + ) + ) - formats_male = OrderedDict(( - ('{{first_name_male}} {{last_name}}', 0.97), - ('{{prefix_male}} {{first_name_male}} {{last_name}}', 0.015), - ('{{first_name_male}} {{last_name}} {{suffix_male}}', 0.02), - ('{{prefix_male}} {{first_name_male}} {{last_name}} {{suffix_male}}', 0.005), - )) + formats_male = OrderedDict( + ( + ("{{first_name_male}} {{last_name}}", 0.97), + ("{{prefix_male}} {{first_name_male}} {{last_name}}", 0.015), + ("{{first_name_male}} {{last_name}} {{suffix_male}}", 0.02), + ( + "{{prefix_male}} {{first_name_male}} {{last_name}} {{suffix_male}}", + 0.005, + ), + ) + ) # Using random_element's dictionary weighting means that the # formats = formats_male + formats_female @@ -36,714 +51,718 @@ class Provider(PersonProvider): # https://www.ssa.gov/OACT/babynames/decades/names1960s.html # Weightings derived from total number on each name - first_names_female = OrderedDict(( - ('April', 0.004529083), - ('Abigail', 0.002043839), - ('Adriana', 0.000488767), - ('Adrienne', 0.000622931), - ('Aimee', 0.000424727), - ('Alejandra', 0.000415754), - ('Alexa', 0.000663005), - ('Alexandra', 0.002835711), - ('Alexandria', 0.000964993), - ('Alexis', 0.003446735), - ('Alice', 0.000589904), - ('Alicia', 0.003766845), - ('Alisha', 0.000475942), - ('Alison', 0.001506047), - ('Allison', 0.003740866), - ('Alyssa', 0.00324341), - ('Amanda', 0.015360768), - ('Amber', 0.006928794), - ('Amy', 0.012860314), - ('Ana', 0.000853679), - ('Andrea', 0.006747028), - ('Angel', 0.001161117), - ('Angela', 0.011954085), - ('Angelica', 0.001102746), - ('Angie', 0.00030166), - ('Anita', 0.001383767), - ('Ann', 0.002627483), - ('Anna', 0.004691502), - ('Anne', 0.002089582), - ('Annette', 0.001487399), - ('Ariana', 0.000412668), - ('Ariel', 0.000615774), - ('Ashlee', 0.000696534), - ('Ashley', 0.014773009), - ('Audrey', 0.001139165), - ('Autumn', 0.000918594), - ('Bailey', 0.000691916), - ('Barbara', 0.004839169), - ('Becky', 0.000960944), - ('Belinda', 0.000502227), - ('Beth', 0.002246113), - ('Bethany', 0.001249385), - ('Betty', 0.000840241), - ('Beverly', 0.000990272), - ('Bianca', 0.000624835), - ('Bonnie', 0.001351901), - ('Brandi', 0.002077216), - ('Brandy', 0.002177499), - ('Breanna', 0.000876003), - ('Brenda', 0.005737124), - ('Briana', 0.00093665), - ('Brianna', 0.002543549), - ('Bridget', 0.000787232), - ('Brittany', 0.007258404), - ('Brittney', 0.001566147), - ('Brooke', 0.002410152), - ('Caitlin', 0.001808319), - ('Caitlyn', 0.000481194), - ('Candace', 0.000550662), - ('Candice', 0.000653199), - ('Carla', 0.00195185), - ('Carly', 0.000498725), - ('Carmen', 0.000891783), - ('Carol', 0.002972719), - ('Caroline', 0.001198127), - ('Carolyn', 0.002647225), - ('Carrie', 0.002934659), - ('Casey', 0.001177707), - ('Cassandra', 0.002501243), - ('Cassidy', 0.000452129), - ('Cassie', 0.000344886), - ('Catherine', 0.004460622), - ('Cathy', 0.001413248), - ('Charlene', 0.000538865), - ('Charlotte', 0.000530417), - ('Chelsea', 0.00280043), - ('Chelsey', 0.000368501), - ('Cheryl', 0.004166447), - ('Cheyenne', 0.000696907), - ('Chloe', 0.000565807), - ('Christie', 0.000397873), - ('Christina', 0.008735669), - ('Christine', 0.007488758), - ('Christy', 0.00141861), - ('Cindy', 0.003360109), - ('Claire', 0.000553835), - ('Claudia', 0.00096055), - ('Colleen', 0.001836203), - ('Connie', 0.001821845), - ('Courtney', 0.00484939), - ('Cristina', 0.000328734), - ('Crystal', 0.006365045), - ('Cynthia', 0.007655379), - ('Daisy', 0.000437443), - ('Dana', 0.003395805), - ('Danielle', 0.006671783), - ('Darlene', 0.000952737), - ('Dawn', 0.005014983), - ('Deanna', 0.002049026), - ('Debbie', 0.001842922), - ('Deborah', 0.005386088), - ('Debra', 0.004123572), - ('Denise', 0.004592291), - ('Desiree', 0.000991497), - ('Destiny', 0.001055515), - ('Diamond', 0.000331732), - ('Diana', 0.003699348), - ('Diane', 0.003058996), - ('Dominique', 0.000847857), - ('Donna', 0.00570819), - ('Doris', 0.000398026), - ('Dorothy', 0.000722426), - ('Ebony', 0.000399624), - ('Eileen', 0.000544271), - ('Elaine', 0.000601175), - ('Elizabeth', 0.014954075), - ('Ellen', 0.000747267), - ('Emily', 0.009100581), - ('Emma', 0.001272059), - ('Erica', 0.004344471), - ('Erika', 0.002105537), - ('Erin', 0.005450719), - ('Evelyn', 0.000825095), - ('Faith', 0.000427113), - ('Felicia', 0.001717294), - ('Frances', 0.000546897), - ('Gabriela', 0.000526937), - ('Gabriella', 0.00044123), - ('Gabrielle', 0.001090096), - ('Gail', 0.00071934), - ('Gina', 0.002841095), - ('Glenda', 0.000384982), - ('Gloria', 0.001155623), - ('Grace', 0.00087202), - ('Gwendolyn', 0.000407831), - ('Hailey', 0.000662917), - ('Haley', 0.001557939), - ('Hannah', 0.004189822), - ('Hayley', 0.000478305), - ('Heather', 0.010945254), - ('Heidi', 0.002239941), - ('Helen', 0.000636675), - ('Holly', 0.003487028), - ('Isabel', 0.000352305), - ('Isabella', 0.000410282), - ('Jackie', 0.000566748), - ('Jaclyn', 0.00047708), - ('Jacqueline', 0.004811242), - ('Jade', 0.000446264), - ('Jaime', 0.000853175), - ('Jamie', 0.005067663), - ('Jane', 0.0009486), - ('Janet', 0.002489993), - ('Janice', 0.001593308), - ('Jasmin', 0.000333374), - ('Jasmine', 0.003025422), - ('Jean', 0.000815969), - ('Jeanette', 0.000767293), - ('Jeanne', 0.000515381), - ('Jenna', 0.001804052), - ('Jennifer', 0.029218839), - ('Jenny', 0.000932667), - ('Jessica', 0.020047608), - ('Jill', 0.003253018), - ('Jillian', 0.000988587), - ('Jo', 0.000442083), - ('Joan', 0.000802793), - ('Joann', 0.000544336), - ('Joanna', 0.001176284), - ('Joanne', 0.000729824), - ('Jocelyn', 0.000456878), - ('Jodi', 0.001252405), - ('Jody', 0.000741861), - ('Jordan', 0.001653057), - ('Joy', 0.000916515), - ('Joyce', 0.001009488), - ('Judith', 0.000870706), - ('Judy', 0.001101586), - ('Julia', 0.003301891), - ('Julie', 0.008211731), - ('Kaitlin', 0.000674473), - ('Kaitlyn', 0.001478623), - ('Kara', 0.001549119), - ('Karen', 0.009643845), - ('Kari', 0.000794323), - ('Karina', 0.000494764), - ('Karla', 0.000387696), - ('Katelyn', 0.001476128), - ('Katherine', 0.006581479), - ('Kathleen', 0.00503549), - ('Kathryn', 0.004177806), - ('Kathy', 0.002710214), - ('Katie', 0.003056216), - ('Katrina', 0.001565446), - ('Kayla', 0.004621465), - ('Kaylee', 0.000551734), - ('Kelli', 0.000932163), - ('Kellie', 0.000299187), - ('Kelly', 0.009342929), - ('Kelsey', 0.002470383), - ('Kendra', 0.001401079), - ('Kerri', 0.000316215), - ('Kerry', 0.000352984), - ('Kiara', 0.000390037), - ('Kim', 0.002518642), - ('Kimberly', 0.015594077), - ('Kirsten', 0.000369486), - ('Krista', 0.001266872), - ('Kristen', 0.004345587), - ('Kristi', 0.001022926), - ('Kristie', 0.000380189), - ('Kristin', 0.003613728), - ('Kristina', 0.002316281), - ('Kristine', 0.000977709), - ('Kristy', 0.001097734), - ('Krystal', 0.001238113), - ('Kylie', 0.00049739), - ('Lacey', 0.00045469), - ('Latasha', 0.00032904), - ('Latoya', 0.000646371), - ('Laura', 0.010815096), - ('Lauren', 0.007015421), - ('Laurie', 0.002200786), - ('Leah', 0.001997571), - ('Leslie', 0.003606134), - ('Linda', 0.006437751), - ('Lindsay', 0.002185466), - ('Lindsey', 0.002646153), - ('Lisa', 0.01872729), - ('Loretta', 0.000482945), - ('Lori', 0.006040316), - ('Lorraine', 0.000486753), - ('Lydia', 0.000370274), - ('Lynn', 0.001522308), - ('Mackenzie', 0.000761056), - ('Madeline', 0.000808921), - ('Madison', 0.002011184), - ('Makayla', 0.000439391), - ('Mallory', 0.000688633), - ('Mandy', 0.000355566), - ('Marcia', 0.000403213), - ('Margaret', 0.003839968), - ('Maria', 0.006593123), - ('Mariah', 0.00097598), - ('Marie', 0.001520229), - ('Marilyn', 0.000590889), - ('Marisa', 0.000339983), - ('Marissa', 0.001582627), - ('Martha', 0.001290028), - ('Mary', 0.014288466), - ('Maureen', 0.000753855), - ('Mckenzie', 0.000334512), - ('Meagan', 0.000729999), - ('Megan', 0.007686786), - ('Meghan', 0.001481578), - ('Melanie', 0.003400117), - ('Melinda', 0.002078113), - ('Melissa', 0.014890692), - ('Melody', 0.000404264), - ('Mercedes', 0.000334643), - ('Meredith', 0.000766987), - ('Mia', 0.000319935), - ('Michaela', 0.000506998), - ('Michele', 0.003519551), - ('Michelle', 0.01527423), - ('Mikayla', 0.000410195), - ('Mindy', 0.000306891), - ('Miranda', 0.001421193), - ('Misty', 0.001564614), - ('Molly', 0.001710641), - ('Monica', 0.004324095), - ('Monique', 0.001272125), - ('Morgan', 0.002527025), - ('Nancy', 0.005023343), - ('Natalie', 0.003658398), - ('Natasha', 0.001739815), - ('Nichole', 0.001001237), - ('Nicole', 0.011156655), - ('Nina', 0.000298115), - ('Norma', 0.000470754), - ('Olivia', 0.001967609), - ('Paige', 0.001106313), - ('Pam', 0.000374454), - ('Pamela', 0.005816222), - ('Patricia', 0.008349353), - ('Patty', 0.000383493), - ('Paula', 0.002478284), - ('Peggy', 0.000810606), - ('Penny', 0.000836564), - ('Phyllis', 0.000562437), - ('Priscilla', 0.000350226), - ('Rachael', 0.001098128), - ('Rachel', 0.00876108), - ('Raven', 0.000404855), - ('Rebecca', 0.010563161), - ('Rebekah', 0.000858581), - ('Regina', 0.001941739), - ('Renee', 0.00257883), - ('Rhonda', 0.002879221), - ('Rita', 0.000719187), - ('Roberta', 0.000461715), - ('Robin', 0.00409199), - ('Robyn', 0.00032138), - ('Rose', 0.000697125), - ('Ruth', 0.001041946), - ('Sabrina', 0.001920969), - ('Sally', 0.000532912), - ('Samantha', 0.008186124), - ('Sandra', 0.006473426), - ('Sandy', 0.000497106), - ('Sara', 0.005619879), - ('Sarah', 0.014434273), - ('Savannah', 0.000978344), - ('Selena', 0.000329106), - ('Shannon', 0.005952552), - ('Shari', 0.000449043), - ('Sharon', 0.004796469), - ('Shawna', 0.000354209), - ('Sheena', 0.000355763), - ('Sheila', 0.00220129), - ('Shelby', 0.001575601), - ('Shelia', 0.000403673), - ('Shelley', 0.000922227), - ('Shelly', 0.001339469), - ('Sheri', 0.000913166), - ('Sherri', 0.001285038), - ('Sherry', 0.002445235), - ('Sheryl', 0.00057025), - ('Shirley', 0.000833259), - ('Sierra', 0.000954816), - ('Sonia', 0.000332739), - ('Sonya', 0.000914085), - ('Sophia', 0.000535976), - ('Stacey', 0.002836761), - ('Stacie', 0.0003903), - ('Stacy', 0.00311717), - ('Stefanie', 0.00034644), - ('Stephanie', 0.013595762), - ('Sue', 0.000472877), - ('Summer', 0.000411508), - ('Susan', 0.0088973), - ('Suzanne', 0.001943577), - ('Sydney', 0.001220101), - ('Sylvia', 0.000625798), - ('Tabitha', 0.000428404), - ('Tamara', 0.00212948), - ('Tami', 0.000403651), - ('Tammie', 0.00042337), - ('Tammy', 0.006493584), - ('Tanya', 0.002039024), - ('Tara', 0.00316834), - ('Tasha', 0.000355807), - ('Taylor', 0.003996871), - ('Teresa', 0.005060003), - ('Terri', 0.001823903), - ('Terry', 0.00060494), - ('Theresa', 0.003492762), - ('Tiffany', 0.006594283), - ('Tina', 0.005186419), - ('Toni', 0.000891695), - ('Tonya', 0.002404133), - ('Tracey', 0.001511146), - ('Traci', 0.00086193), - ('Tracie', 0.000301901), - ('Tracy', 0.00498572), - ('Tricia', 0.000449196), - ('Valerie', 0.003218022), - ('Vanessa', 0.003779189), - ('Veronica', 0.003017805), - ('Vicki', 0.00088653), - ('Vickie', 0.000695199), - ('Victoria', 0.005237677), - ('Virginia', 0.001496482), - ('Wanda', 0.001336186), - ('Wendy', 0.004058263), - ('Whitney', 0.001690768), - ('Yesenia', 0.000331951), - ('Yolanda', 0.001213819), - ('Yvette', 0.000483427), - ('Yvonne', 0.001005483), - ('Zoe', 0.000367407), - )) + first_names_female = OrderedDict( + ( + ("April", 0.004529083), + ("Abigail", 0.002043839), + ("Adriana", 0.000488767), + ("Adrienne", 0.000622931), + ("Aimee", 0.000424727), + ("Alejandra", 0.000415754), + ("Alexa", 0.000663005), + ("Alexandra", 0.002835711), + ("Alexandria", 0.000964993), + ("Alexis", 0.003446735), + ("Alice", 0.000589904), + ("Alicia", 0.003766845), + ("Alisha", 0.000475942), + ("Alison", 0.001506047), + ("Allison", 0.003740866), + ("Alyssa", 0.00324341), + ("Amanda", 0.015360768), + ("Amber", 0.006928794), + ("Amy", 0.012860314), + ("Ana", 0.000853679), + ("Andrea", 0.006747028), + ("Angel", 0.001161117), + ("Angela", 0.011954085), + ("Angelica", 0.001102746), + ("Angie", 0.00030166), + ("Anita", 0.001383767), + ("Ann", 0.002627483), + ("Anna", 0.004691502), + ("Anne", 0.002089582), + ("Annette", 0.001487399), + ("Ariana", 0.000412668), + ("Ariel", 0.000615774), + ("Ashlee", 0.000696534), + ("Ashley", 0.014773009), + ("Audrey", 0.001139165), + ("Autumn", 0.000918594), + ("Bailey", 0.000691916), + ("Barbara", 0.004839169), + ("Becky", 0.000960944), + ("Belinda", 0.000502227), + ("Beth", 0.002246113), + ("Bethany", 0.001249385), + ("Betty", 0.000840241), + ("Beverly", 0.000990272), + ("Bianca", 0.000624835), + ("Bonnie", 0.001351901), + ("Brandi", 0.002077216), + ("Brandy", 0.002177499), + ("Breanna", 0.000876003), + ("Brenda", 0.005737124), + ("Briana", 0.00093665), + ("Brianna", 0.002543549), + ("Bridget", 0.000787232), + ("Brittany", 0.007258404), + ("Brittney", 0.001566147), + ("Brooke", 0.002410152), + ("Caitlin", 0.001808319), + ("Caitlyn", 0.000481194), + ("Candace", 0.000550662), + ("Candice", 0.000653199), + ("Carla", 0.00195185), + ("Carly", 0.000498725), + ("Carmen", 0.000891783), + ("Carol", 0.002972719), + ("Caroline", 0.001198127), + ("Carolyn", 0.002647225), + ("Carrie", 0.002934659), + ("Casey", 0.001177707), + ("Cassandra", 0.002501243), + ("Cassidy", 0.000452129), + ("Cassie", 0.000344886), + ("Catherine", 0.004460622), + ("Cathy", 0.001413248), + ("Charlene", 0.000538865), + ("Charlotte", 0.000530417), + ("Chelsea", 0.00280043), + ("Chelsey", 0.000368501), + ("Cheryl", 0.004166447), + ("Cheyenne", 0.000696907), + ("Chloe", 0.000565807), + ("Christie", 0.000397873), + ("Christina", 0.008735669), + ("Christine", 0.007488758), + ("Christy", 0.00141861), + ("Cindy", 0.003360109), + ("Claire", 0.000553835), + ("Claudia", 0.00096055), + ("Colleen", 0.001836203), + ("Connie", 0.001821845), + ("Courtney", 0.00484939), + ("Cristina", 0.000328734), + ("Crystal", 0.006365045), + ("Cynthia", 0.007655379), + ("Daisy", 0.000437443), + ("Dana", 0.003395805), + ("Danielle", 0.006671783), + ("Darlene", 0.000952737), + ("Dawn", 0.005014983), + ("Deanna", 0.002049026), + ("Debbie", 0.001842922), + ("Deborah", 0.005386088), + ("Debra", 0.004123572), + ("Denise", 0.004592291), + ("Desiree", 0.000991497), + ("Destiny", 0.001055515), + ("Diamond", 0.000331732), + ("Diana", 0.003699348), + ("Diane", 0.003058996), + ("Dominique", 0.000847857), + ("Donna", 0.00570819), + ("Doris", 0.000398026), + ("Dorothy", 0.000722426), + ("Ebony", 0.000399624), + ("Eileen", 0.000544271), + ("Elaine", 0.000601175), + ("Elizabeth", 0.014954075), + ("Ellen", 0.000747267), + ("Emily", 0.009100581), + ("Emma", 0.001272059), + ("Erica", 0.004344471), + ("Erika", 0.002105537), + ("Erin", 0.005450719), + ("Evelyn", 0.000825095), + ("Faith", 0.000427113), + ("Felicia", 0.001717294), + ("Frances", 0.000546897), + ("Gabriela", 0.000526937), + ("Gabriella", 0.00044123), + ("Gabrielle", 0.001090096), + ("Gail", 0.00071934), + ("Gina", 0.002841095), + ("Glenda", 0.000384982), + ("Gloria", 0.001155623), + ("Grace", 0.00087202), + ("Gwendolyn", 0.000407831), + ("Hailey", 0.000662917), + ("Haley", 0.001557939), + ("Hannah", 0.004189822), + ("Hayley", 0.000478305), + ("Heather", 0.010945254), + ("Heidi", 0.002239941), + ("Helen", 0.000636675), + ("Holly", 0.003487028), + ("Isabel", 0.000352305), + ("Isabella", 0.000410282), + ("Jackie", 0.000566748), + ("Jaclyn", 0.00047708), + ("Jacqueline", 0.004811242), + ("Jade", 0.000446264), + ("Jaime", 0.000853175), + ("Jamie", 0.005067663), + ("Jane", 0.0009486), + ("Janet", 0.002489993), + ("Janice", 0.001593308), + ("Jasmin", 0.000333374), + ("Jasmine", 0.003025422), + ("Jean", 0.000815969), + ("Jeanette", 0.000767293), + ("Jeanne", 0.000515381), + ("Jenna", 0.001804052), + ("Jennifer", 0.029218839), + ("Jenny", 0.000932667), + ("Jessica", 0.020047608), + ("Jill", 0.003253018), + ("Jillian", 0.000988587), + ("Jo", 0.000442083), + ("Joan", 0.000802793), + ("Joann", 0.000544336), + ("Joanna", 0.001176284), + ("Joanne", 0.000729824), + ("Jocelyn", 0.000456878), + ("Jodi", 0.001252405), + ("Jody", 0.000741861), + ("Jordan", 0.001653057), + ("Joy", 0.000916515), + ("Joyce", 0.001009488), + ("Judith", 0.000870706), + ("Judy", 0.001101586), + ("Julia", 0.003301891), + ("Julie", 0.008211731), + ("Kaitlin", 0.000674473), + ("Kaitlyn", 0.001478623), + ("Kara", 0.001549119), + ("Karen", 0.009643845), + ("Kari", 0.000794323), + ("Karina", 0.000494764), + ("Karla", 0.000387696), + ("Katelyn", 0.001476128), + ("Katherine", 0.006581479), + ("Kathleen", 0.00503549), + ("Kathryn", 0.004177806), + ("Kathy", 0.002710214), + ("Katie", 0.003056216), + ("Katrina", 0.001565446), + ("Kayla", 0.004621465), + ("Kaylee", 0.000551734), + ("Kelli", 0.000932163), + ("Kellie", 0.000299187), + ("Kelly", 0.009342929), + ("Kelsey", 0.002470383), + ("Kendra", 0.001401079), + ("Kerri", 0.000316215), + ("Kerry", 0.000352984), + ("Kiara", 0.000390037), + ("Kim", 0.002518642), + ("Kimberly", 0.015594077), + ("Kirsten", 0.000369486), + ("Krista", 0.001266872), + ("Kristen", 0.004345587), + ("Kristi", 0.001022926), + ("Kristie", 0.000380189), + ("Kristin", 0.003613728), + ("Kristina", 0.002316281), + ("Kristine", 0.000977709), + ("Kristy", 0.001097734), + ("Krystal", 0.001238113), + ("Kylie", 0.00049739), + ("Lacey", 0.00045469), + ("Latasha", 0.00032904), + ("Latoya", 0.000646371), + ("Laura", 0.010815096), + ("Lauren", 0.007015421), + ("Laurie", 0.002200786), + ("Leah", 0.001997571), + ("Leslie", 0.003606134), + ("Linda", 0.006437751), + ("Lindsay", 0.002185466), + ("Lindsey", 0.002646153), + ("Lisa", 0.01872729), + ("Loretta", 0.000482945), + ("Lori", 0.006040316), + ("Lorraine", 0.000486753), + ("Lydia", 0.000370274), + ("Lynn", 0.001522308), + ("Mackenzie", 0.000761056), + ("Madeline", 0.000808921), + ("Madison", 0.002011184), + ("Makayla", 0.000439391), + ("Mallory", 0.000688633), + ("Mandy", 0.000355566), + ("Marcia", 0.000403213), + ("Margaret", 0.003839968), + ("Maria", 0.006593123), + ("Mariah", 0.00097598), + ("Marie", 0.001520229), + ("Marilyn", 0.000590889), + ("Marisa", 0.000339983), + ("Marissa", 0.001582627), + ("Martha", 0.001290028), + ("Mary", 0.014288466), + ("Maureen", 0.000753855), + ("Mckenzie", 0.000334512), + ("Meagan", 0.000729999), + ("Megan", 0.007686786), + ("Meghan", 0.001481578), + ("Melanie", 0.003400117), + ("Melinda", 0.002078113), + ("Melissa", 0.014890692), + ("Melody", 0.000404264), + ("Mercedes", 0.000334643), + ("Meredith", 0.000766987), + ("Mia", 0.000319935), + ("Michaela", 0.000506998), + ("Michele", 0.003519551), + ("Michelle", 0.01527423), + ("Mikayla", 0.000410195), + ("Mindy", 0.000306891), + ("Miranda", 0.001421193), + ("Misty", 0.001564614), + ("Molly", 0.001710641), + ("Monica", 0.004324095), + ("Monique", 0.001272125), + ("Morgan", 0.002527025), + ("Nancy", 0.005023343), + ("Natalie", 0.003658398), + ("Natasha", 0.001739815), + ("Nichole", 0.001001237), + ("Nicole", 0.011156655), + ("Nina", 0.000298115), + ("Norma", 0.000470754), + ("Olivia", 0.001967609), + ("Paige", 0.001106313), + ("Pam", 0.000374454), + ("Pamela", 0.005816222), + ("Patricia", 0.008349353), + ("Patty", 0.000383493), + ("Paula", 0.002478284), + ("Peggy", 0.000810606), + ("Penny", 0.000836564), + ("Phyllis", 0.000562437), + ("Priscilla", 0.000350226), + ("Rachael", 0.001098128), + ("Rachel", 0.00876108), + ("Raven", 0.000404855), + ("Rebecca", 0.010563161), + ("Rebekah", 0.000858581), + ("Regina", 0.001941739), + ("Renee", 0.00257883), + ("Rhonda", 0.002879221), + ("Rita", 0.000719187), + ("Roberta", 0.000461715), + ("Robin", 0.00409199), + ("Robyn", 0.00032138), + ("Rose", 0.000697125), + ("Ruth", 0.001041946), + ("Sabrina", 0.001920969), + ("Sally", 0.000532912), + ("Samantha", 0.008186124), + ("Sandra", 0.006473426), + ("Sandy", 0.000497106), + ("Sara", 0.005619879), + ("Sarah", 0.014434273), + ("Savannah", 0.000978344), + ("Selena", 0.000329106), + ("Shannon", 0.005952552), + ("Shari", 0.000449043), + ("Sharon", 0.004796469), + ("Shawna", 0.000354209), + ("Sheena", 0.000355763), + ("Sheila", 0.00220129), + ("Shelby", 0.001575601), + ("Shelia", 0.000403673), + ("Shelley", 0.000922227), + ("Shelly", 0.001339469), + ("Sheri", 0.000913166), + ("Sherri", 0.001285038), + ("Sherry", 0.002445235), + ("Sheryl", 0.00057025), + ("Shirley", 0.000833259), + ("Sierra", 0.000954816), + ("Sonia", 0.000332739), + ("Sonya", 0.000914085), + ("Sophia", 0.000535976), + ("Stacey", 0.002836761), + ("Stacie", 0.0003903), + ("Stacy", 0.00311717), + ("Stefanie", 0.00034644), + ("Stephanie", 0.013595762), + ("Sue", 0.000472877), + ("Summer", 0.000411508), + ("Susan", 0.0088973), + ("Suzanne", 0.001943577), + ("Sydney", 0.001220101), + ("Sylvia", 0.000625798), + ("Tabitha", 0.000428404), + ("Tamara", 0.00212948), + ("Tami", 0.000403651), + ("Tammie", 0.00042337), + ("Tammy", 0.006493584), + ("Tanya", 0.002039024), + ("Tara", 0.00316834), + ("Tasha", 0.000355807), + ("Taylor", 0.003996871), + ("Teresa", 0.005060003), + ("Terri", 0.001823903), + ("Terry", 0.00060494), + ("Theresa", 0.003492762), + ("Tiffany", 0.006594283), + ("Tina", 0.005186419), + ("Toni", 0.000891695), + ("Tonya", 0.002404133), + ("Tracey", 0.001511146), + ("Traci", 0.00086193), + ("Tracie", 0.000301901), + ("Tracy", 0.00498572), + ("Tricia", 0.000449196), + ("Valerie", 0.003218022), + ("Vanessa", 0.003779189), + ("Veronica", 0.003017805), + ("Vicki", 0.00088653), + ("Vickie", 0.000695199), + ("Victoria", 0.005237677), + ("Virginia", 0.001496482), + ("Wanda", 0.001336186), + ("Wendy", 0.004058263), + ("Whitney", 0.001690768), + ("Yesenia", 0.000331951), + ("Yolanda", 0.001213819), + ("Yvette", 0.000483427), + ("Yvonne", 0.001005483), + ("Zoe", 0.000367407), + ) + ) - first_names_male = OrderedDict(( - ('Aaron', 0.006741589), - ('Adam', 0.007124922), - ('Adrian', 0.001521889), - ('Alan', 0.002344657), - ('Albert', 0.001316595), - ('Alec', 0.000442958), - ('Alejandro', 0.000862489), - ('Alex', 0.002111833), - ('Alexander', 0.005215733), - ('Alexis', 0.000277915), - ('Alfred', 0.000318919), - ('Allen', 0.001679613), - ('Alvin', 0.00024794), - ('Andre', 0.001400621), - ('Andres', 0.000335574), - ('Andrew', 0.013475074), - ('Angel', 0.000902262), - ('Anthony', 0.013783357), - ('Antonio', 0.002392535), - ('Arthur', 0.001342637), - ('Austin', 0.003785615), - ('Barry', 0.001102751), - ('Benjamin', 0.006535474), - ('Bernard', 0.000298691), - ('Bill', 0.000430013), - ('Billy', 0.001749806), - ('Blake', 0.001218155), - ('Bob', 0.000235731), - ('Bobby', 0.001666977), - ('Brad', 0.000984544), - ('Bradley', 0.003845018), - ('Brady', 0.000277522), - ('Brandon', 0.009518346), - ('Brendan', 0.000736758), - ('Brent', 0.001889131), - ('Brett', 0.002248371), - ('Brian', 0.01597677), - ('Bruce', 0.001883335), - ('Bryan', 0.00456454), - ('Bryce', 0.000457406), - ('Caleb', 0.001485861), - ('Calvin', 0.001168738), - ('Cameron', 0.00180755), - ('Carl', 0.002011802), - ('Carlos', 0.00266638), - ('Casey', 0.001440035), - ('Cesar', 0.000304898), - ('Chad', 0.003858817), - ('Charles', 0.010889881), - ('Chase', 0.000971942), - ('Chris', 0.001389507), - ('Christian', 0.003097779), - ('Christopher', 0.02783596), - ('Clarence', 0.000299289), - ('Clayton', 0.000662222), - ('Clifford', 0.00053078), - ('Clinton', 0.000579307), - ('Cody', 0.00353482), - ('Cole', 0.000578811), - ('Colin', 0.00078508), - ('Collin', 0.000406057), - ('Colton', 0.000520845), - ('Connor', 0.000981073), - ('Corey', 0.002476612), - ('Cory', 0.001813005), - ('Craig', 0.00338161), - ('Cristian', 0.000333847), - ('Curtis', 0.002140235), - ('Dakota', 0.000797614), - ('Dale', 0.001171354), - ('Dalton', 0.000615113), - ('Damon', 0.00034308), - ('Dan', 0.000388496), - ('Daniel', 0.018881874), - ('Danny', 0.001873879), - ('Darin', 0.000234962), - ('Darius', 0.000336189), - ('Darrell', 0.001218582), - ('Darren', 0.001253738), - ('Darryl', 0.00067019), - ('Daryl', 0.000260918), - ('Dave', 0.000269673), - ('David', 0.031073833), - ('Dean', 0.000965375), - ('Dennis', 0.003318992), - ('Derek', 0.003095299), - ('Derrick', 0.001955921), - ('Devin', 0.001312474), - ('Devon', 0.000485877), - ('Dillon', 0.000558361), - ('Dominic', 0.000438221), - ('Don', 0.000378322), - ('Donald', 0.005689572), - ('Douglas', 0.004513687), - ('Drew', 0.000596868), - ('Duane', 0.00061855), - ('Dustin', 0.003088938), - ('Dwayne', 0.000711382), - ('Dylan', 0.002329096), - ('Earl', 0.000348347), - ('Eddie', 0.0007944), - ('Edgar', 0.000379536), - ('Eduardo', 0.000465358), - ('Edward', 0.005702242), - ('Edwin', 0.001117833), - ('Elijah', 0.000592183), - ('Eric', 0.012024659), - ('Erik', 0.001997096), - ('Ernest', 0.000746556), - ('Ethan', 0.001143978), - ('Eugene', 0.000784243), - ('Evan', 0.001570691), - ('Fernando', 0.000557608), - ('Francis', 0.000330837), - ('Francisco', 0.001084335), - ('Frank', 0.003276449), - ('Franklin', 0.000237561), - ('Fred', 0.000396618), - ('Frederick', 0.001104188), - ('Gabriel', 0.001906504), - ('Garrett', 0.001124861), - ('Gary', 0.005023109), - ('Gavin', 0.000295373), - ('Gene', 0.00023426), - ('Geoffrey', 0.000425978), - ('George', 0.004423984), - ('Gerald', 0.00165841), - ('Gilbert', 0.000246726), - ('Glen', 0.000374338), - ('Glenn', 0.001111421), - ('Gordon', 0.00027075), - ('Grant', 0.00068322), - ('Greg', 0.000623492), - ('Gregg', 0.000235885), - ('Gregory', 0.007676443), - ('Guy', 0.000262645), - ('Harold', 0.000929467), - ('Harry', 0.000586934), - ('Hayden', 0.000279454), - ('Hector', 0.000798691), - ('Henry', 0.001856232), - ('Herbert', 0.000234226), - ('Howard', 0.000712921), - ('Hunter', 0.001034679), - ('Ian', 0.001863192), - ('Isaac', 0.001001951), - ('Isaiah', 0.000625441), - ('Ivan', 0.000350433), - ('Jack', 0.001839748), - ('Jackson', 0.000403253), - ('Jacob', 0.007845384), - ('Jaime', 0.000421378), - ('Jake', 0.000565782), - ('James', 0.029601617), - ('Jamie', 0.00093552), - ('Jared', 0.002538802), - ('Jason', 0.01520513), - ('Javier', 0.000625202), - ('Jay', 0.001411462), - ('Jeff', 0.001271436), - ('Jeffery', 0.002627873), - ('Jeffrey', 0.01225709), - ('Jeremiah', 0.001209605), - ('Jeremy', 0.006336079), - ('Jermaine', 0.000450156), - ('Jerome', 0.000634299), - ('Jerry', 0.003150273), - ('Jesse', 0.003884552), - ('Jesus', 0.001628965), - ('Jim', 0.000567714), - ('Jimmy', 0.001607489), - ('Joe', 0.001621544), - ('Joel', 0.002537742), - ('John', 0.028683008), - ('Johnathan', 0.000840448), - ('Johnny', 0.002117065), - ('Jon', 0.001561184), - ('Jonathan', 0.009963971), - ('Jonathon', 0.000701157), - ('Jordan', 0.003451546), - ('Jorge', 0.001180553), - ('Jose', 0.005368207), - ('Joseph', 0.018604763), - ('Joshua', 0.014808101), - ('Juan', 0.003233598), - ('Julian', 0.000693736), - ('Justin', 0.010197889), - ('Karl', 0.000362437), - ('Keith', 0.004622866), - ('Kelly', 0.000775283), - ('Kenneth', 0.008318145), - ('Kent', 0.000329418), - ('Kerry', 0.000261448), - ('Kevin', 0.014324157), - ('Kirk', 0.0003801), - ('Kristopher', 0.000580692), - ('Kurt', 0.000716375), - ('Kyle', 0.006350049), - ('Lance', 0.001048495), - ('Larry', 0.003658807), - ('Lawrence', 0.001670294), - ('Lee', 0.001223883), - ('Leon', 0.000236347), - ('Leonard', 0.000756713), - ('Leroy', 0.000260234), - ('Leslie', 0.000234637), - ('Levi', 0.000347184), - ('Logan', 0.001325812), - ('Lonnie', 0.000258576), - ('Louis', 0.001212255), - ('Lucas', 0.001098237), - ('Luis', 0.002427777), - ('Luke', 0.001221455), - ('Malik', 0.000306813), - ('Manuel', 0.001331369), - ('Marc', 0.001431947), - ('Marco', 0.000290586), - ('Marcus', 0.002604122), - ('Mario', 0.001229337), - ('Mark', 0.014382277), - ('Martin', 0.002085226), - ('Marvin', 0.000732962), - ('Mason', 0.000562037), - ('Mathew', 0.000605555), - ('Matthew', 0.020425018), - ('Maurice', 0.000777078), - ('Max', 0.000311276), - ('Maxwell', 0.000357478), - ('Melvin', 0.00061932), - ('Michael', 0.045602241), - ('Micheal', 0.001273847), - ('Miguel', 0.001416267), - ('Mike', 0.001221797), - ('Mitchell', 0.001747788), - ('Nathan', 0.005039405), - ('Nathaniel', 0.001887558), - ('Neil', 0.000240331), - ('Nicholas', 0.010021219), - ('Nicolas', 0.000362522), - ('Noah', 0.000960947), - ('Norman', 0.000389043), - ('Omar', 0.000639052), - ('Oscar', 0.000946583), - ('Parker', 0.000277522), - ('Patrick', 0.007153255), - ('Paul', 0.009272953), - ('Pedro', 0.000275726), - ('Perry', 0.000258644), - ('Peter', 0.004340385), - ('Philip', 0.002262956), - ('Phillip', 0.00280273), - ('Preston', 0.000292022), - ('Ralph', 0.000836891), - ('Randall', 0.001614722), - ('Randy', 0.003021926), - ('Ray', 0.000379451), - ('Raymond', 0.003493952), - ('Reginald', 0.00095108), - ('Ricardo', 0.001197276), - ('Richard', 0.014131961), - ('Rick', 0.000440016), - ('Rickey', 0.00023833), - ('Ricky', 0.001856882), - ('Riley', 0.000322031), - ('Robert', 0.026938092), - ('Roberto', 0.000906024), - ('Rodney', 0.002180555), - ('Roger', 0.002038032), - ('Ronald', 0.00576775), - ('Ronnie', 0.000905938), - ('Ross', 0.00026863), - ('Roy', 0.001311346), - ('Ruben', 0.000774821), - ('Russell', 0.002096221), - ('Ryan', 0.01128178), - ('Samuel', 0.00498019), - ('Scott', 0.010580999), - ('Sean', 0.005593456), - ('Sergio', 0.000568518), - ('Seth', 0.001537416), - ('Shane', 0.002530218), - ('Shannon', 0.000421583), - ('Shaun', 0.000748761), - ('Shawn', 0.004474546), - ('Spencer', 0.000912094), - ('Stanley', 0.000739032), - ('Stephen', 0.007675365), - ('Steve', 0.001407564), - ('Steven', 0.013292898), - ('Stuart', 0.000238826), - ('Tanner', 0.000639292), - ('Taylor', 0.00133036), - ('Terrance', 0.000203311), - ('Terrence', 0.000203704), - ('Terry', 0.002873624), - ('Theodore', 0.000596561), - ('Thomas', 0.0143364), - ('Tim', 0.000711126), - ('Timothy', 0.012632608), - ('Todd', 0.00414612), - ('Tom', 0.000499283), - ('Tommy', 0.000778737), - ('Tony', 0.002511563), - ('Tracy', 0.000728259), - ('Travis', 0.004022458), - ('Trevor', 0.001692523), - ('Tristan', 0.000408759), - ('Troy', 0.002695415), - ('Tyler', 0.005962323), - ('Tyrone', 0.000587207), - ('Vernon', 0.000246401), - ('Victor', 0.002340621), - ('Vincent', 0.002494515), - ('Walter', 0.001525891), - ('Warren', 0.000317414), - ('Wayne', 0.00160966), - ('Wesley', 0.001733835), - ('William', 0.020025989), - ('Willie', 0.001379247), - ('Wyatt', 0.000306591), - ('Xavier', 0.000415222), - ('Zachary', 0.005918634), - )) + first_names_male = OrderedDict( + ( + ("Aaron", 0.006741589), + ("Adam", 0.007124922), + ("Adrian", 0.001521889), + ("Alan", 0.002344657), + ("Albert", 0.001316595), + ("Alec", 0.000442958), + ("Alejandro", 0.000862489), + ("Alex", 0.002111833), + ("Alexander", 0.005215733), + ("Alexis", 0.000277915), + ("Alfred", 0.000318919), + ("Allen", 0.001679613), + ("Alvin", 0.00024794), + ("Andre", 0.001400621), + ("Andres", 0.000335574), + ("Andrew", 0.013475074), + ("Angel", 0.000902262), + ("Anthony", 0.013783357), + ("Antonio", 0.002392535), + ("Arthur", 0.001342637), + ("Austin", 0.003785615), + ("Barry", 0.001102751), + ("Benjamin", 0.006535474), + ("Bernard", 0.000298691), + ("Bill", 0.000430013), + ("Billy", 0.001749806), + ("Blake", 0.001218155), + ("Bob", 0.000235731), + ("Bobby", 0.001666977), + ("Brad", 0.000984544), + ("Bradley", 0.003845018), + ("Brady", 0.000277522), + ("Brandon", 0.009518346), + ("Brendan", 0.000736758), + ("Brent", 0.001889131), + ("Brett", 0.002248371), + ("Brian", 0.01597677), + ("Bruce", 0.001883335), + ("Bryan", 0.00456454), + ("Bryce", 0.000457406), + ("Caleb", 0.001485861), + ("Calvin", 0.001168738), + ("Cameron", 0.00180755), + ("Carl", 0.002011802), + ("Carlos", 0.00266638), + ("Casey", 0.001440035), + ("Cesar", 0.000304898), + ("Chad", 0.003858817), + ("Charles", 0.010889881), + ("Chase", 0.000971942), + ("Chris", 0.001389507), + ("Christian", 0.003097779), + ("Christopher", 0.02783596), + ("Clarence", 0.000299289), + ("Clayton", 0.000662222), + ("Clifford", 0.00053078), + ("Clinton", 0.000579307), + ("Cody", 0.00353482), + ("Cole", 0.000578811), + ("Colin", 0.00078508), + ("Collin", 0.000406057), + ("Colton", 0.000520845), + ("Connor", 0.000981073), + ("Corey", 0.002476612), + ("Cory", 0.001813005), + ("Craig", 0.00338161), + ("Cristian", 0.000333847), + ("Curtis", 0.002140235), + ("Dakota", 0.000797614), + ("Dale", 0.001171354), + ("Dalton", 0.000615113), + ("Damon", 0.00034308), + ("Dan", 0.000388496), + ("Daniel", 0.018881874), + ("Danny", 0.001873879), + ("Darin", 0.000234962), + ("Darius", 0.000336189), + ("Darrell", 0.001218582), + ("Darren", 0.001253738), + ("Darryl", 0.00067019), + ("Daryl", 0.000260918), + ("Dave", 0.000269673), + ("David", 0.031073833), + ("Dean", 0.000965375), + ("Dennis", 0.003318992), + ("Derek", 0.003095299), + ("Derrick", 0.001955921), + ("Devin", 0.001312474), + ("Devon", 0.000485877), + ("Dillon", 0.000558361), + ("Dominic", 0.000438221), + ("Don", 0.000378322), + ("Donald", 0.005689572), + ("Douglas", 0.004513687), + ("Drew", 0.000596868), + ("Duane", 0.00061855), + ("Dustin", 0.003088938), + ("Dwayne", 0.000711382), + ("Dylan", 0.002329096), + ("Earl", 0.000348347), + ("Eddie", 0.0007944), + ("Edgar", 0.000379536), + ("Eduardo", 0.000465358), + ("Edward", 0.005702242), + ("Edwin", 0.001117833), + ("Elijah", 0.000592183), + ("Eric", 0.012024659), + ("Erik", 0.001997096), + ("Ernest", 0.000746556), + ("Ethan", 0.001143978), + ("Eugene", 0.000784243), + ("Evan", 0.001570691), + ("Fernando", 0.000557608), + ("Francis", 0.000330837), + ("Francisco", 0.001084335), + ("Frank", 0.003276449), + ("Franklin", 0.000237561), + ("Fred", 0.000396618), + ("Frederick", 0.001104188), + ("Gabriel", 0.001906504), + ("Garrett", 0.001124861), + ("Gary", 0.005023109), + ("Gavin", 0.000295373), + ("Gene", 0.00023426), + ("Geoffrey", 0.000425978), + ("George", 0.004423984), + ("Gerald", 0.00165841), + ("Gilbert", 0.000246726), + ("Glen", 0.000374338), + ("Glenn", 0.001111421), + ("Gordon", 0.00027075), + ("Grant", 0.00068322), + ("Greg", 0.000623492), + ("Gregg", 0.000235885), + ("Gregory", 0.007676443), + ("Guy", 0.000262645), + ("Harold", 0.000929467), + ("Harry", 0.000586934), + ("Hayden", 0.000279454), + ("Hector", 0.000798691), + ("Henry", 0.001856232), + ("Herbert", 0.000234226), + ("Howard", 0.000712921), + ("Hunter", 0.001034679), + ("Ian", 0.001863192), + ("Isaac", 0.001001951), + ("Isaiah", 0.000625441), + ("Ivan", 0.000350433), + ("Jack", 0.001839748), + ("Jackson", 0.000403253), + ("Jacob", 0.007845384), + ("Jaime", 0.000421378), + ("Jake", 0.000565782), + ("James", 0.029601617), + ("Jamie", 0.00093552), + ("Jared", 0.002538802), + ("Jason", 0.01520513), + ("Javier", 0.000625202), + ("Jay", 0.001411462), + ("Jeff", 0.001271436), + ("Jeffery", 0.002627873), + ("Jeffrey", 0.01225709), + ("Jeremiah", 0.001209605), + ("Jeremy", 0.006336079), + ("Jermaine", 0.000450156), + ("Jerome", 0.000634299), + ("Jerry", 0.003150273), + ("Jesse", 0.003884552), + ("Jesus", 0.001628965), + ("Jim", 0.000567714), + ("Jimmy", 0.001607489), + ("Joe", 0.001621544), + ("Joel", 0.002537742), + ("John", 0.028683008), + ("Johnathan", 0.000840448), + ("Johnny", 0.002117065), + ("Jon", 0.001561184), + ("Jonathan", 0.009963971), + ("Jonathon", 0.000701157), + ("Jordan", 0.003451546), + ("Jorge", 0.001180553), + ("Jose", 0.005368207), + ("Joseph", 0.018604763), + ("Joshua", 0.014808101), + ("Juan", 0.003233598), + ("Julian", 0.000693736), + ("Justin", 0.010197889), + ("Karl", 0.000362437), + ("Keith", 0.004622866), + ("Kelly", 0.000775283), + ("Kenneth", 0.008318145), + ("Kent", 0.000329418), + ("Kerry", 0.000261448), + ("Kevin", 0.014324157), + ("Kirk", 0.0003801), + ("Kristopher", 0.000580692), + ("Kurt", 0.000716375), + ("Kyle", 0.006350049), + ("Lance", 0.001048495), + ("Larry", 0.003658807), + ("Lawrence", 0.001670294), + ("Lee", 0.001223883), + ("Leon", 0.000236347), + ("Leonard", 0.000756713), + ("Leroy", 0.000260234), + ("Leslie", 0.000234637), + ("Levi", 0.000347184), + ("Logan", 0.001325812), + ("Lonnie", 0.000258576), + ("Louis", 0.001212255), + ("Lucas", 0.001098237), + ("Luis", 0.002427777), + ("Luke", 0.001221455), + ("Malik", 0.000306813), + ("Manuel", 0.001331369), + ("Marc", 0.001431947), + ("Marco", 0.000290586), + ("Marcus", 0.002604122), + ("Mario", 0.001229337), + ("Mark", 0.014382277), + ("Martin", 0.002085226), + ("Marvin", 0.000732962), + ("Mason", 0.000562037), + ("Mathew", 0.000605555), + ("Matthew", 0.020425018), + ("Maurice", 0.000777078), + ("Max", 0.000311276), + ("Maxwell", 0.000357478), + ("Melvin", 0.00061932), + ("Michael", 0.045602241), + ("Micheal", 0.001273847), + ("Miguel", 0.001416267), + ("Mike", 0.001221797), + ("Mitchell", 0.001747788), + ("Nathan", 0.005039405), + ("Nathaniel", 0.001887558), + ("Neil", 0.000240331), + ("Nicholas", 0.010021219), + ("Nicolas", 0.000362522), + ("Noah", 0.000960947), + ("Norman", 0.000389043), + ("Omar", 0.000639052), + ("Oscar", 0.000946583), + ("Parker", 0.000277522), + ("Patrick", 0.007153255), + ("Paul", 0.009272953), + ("Pedro", 0.000275726), + ("Perry", 0.000258644), + ("Peter", 0.004340385), + ("Philip", 0.002262956), + ("Phillip", 0.00280273), + ("Preston", 0.000292022), + ("Ralph", 0.000836891), + ("Randall", 0.001614722), + ("Randy", 0.003021926), + ("Ray", 0.000379451), + ("Raymond", 0.003493952), + ("Reginald", 0.00095108), + ("Ricardo", 0.001197276), + ("Richard", 0.014131961), + ("Rick", 0.000440016), + ("Rickey", 0.00023833), + ("Ricky", 0.001856882), + ("Riley", 0.000322031), + ("Robert", 0.026938092), + ("Roberto", 0.000906024), + ("Rodney", 0.002180555), + ("Roger", 0.002038032), + ("Ronald", 0.00576775), + ("Ronnie", 0.000905938), + ("Ross", 0.00026863), + ("Roy", 0.001311346), + ("Ruben", 0.000774821), + ("Russell", 0.002096221), + ("Ryan", 0.01128178), + ("Samuel", 0.00498019), + ("Scott", 0.010580999), + ("Sean", 0.005593456), + ("Sergio", 0.000568518), + ("Seth", 0.001537416), + ("Shane", 0.002530218), + ("Shannon", 0.000421583), + ("Shaun", 0.000748761), + ("Shawn", 0.004474546), + ("Spencer", 0.000912094), + ("Stanley", 0.000739032), + ("Stephen", 0.007675365), + ("Steve", 0.001407564), + ("Steven", 0.013292898), + ("Stuart", 0.000238826), + ("Tanner", 0.000639292), + ("Taylor", 0.00133036), + ("Terrance", 0.000203311), + ("Terrence", 0.000203704), + ("Terry", 0.002873624), + ("Theodore", 0.000596561), + ("Thomas", 0.0143364), + ("Tim", 0.000711126), + ("Timothy", 0.012632608), + ("Todd", 0.00414612), + ("Tom", 0.000499283), + ("Tommy", 0.000778737), + ("Tony", 0.002511563), + ("Tracy", 0.000728259), + ("Travis", 0.004022458), + ("Trevor", 0.001692523), + ("Tristan", 0.000408759), + ("Troy", 0.002695415), + ("Tyler", 0.005962323), + ("Tyrone", 0.000587207), + ("Vernon", 0.000246401), + ("Victor", 0.002340621), + ("Vincent", 0.002494515), + ("Walter", 0.001525891), + ("Warren", 0.000317414), + ("Wayne", 0.00160966), + ("Wesley", 0.001733835), + ("William", 0.020025989), + ("Willie", 0.001379247), + ("Wyatt", 0.000306591), + ("Xavier", 0.000415222), + ("Zachary", 0.005918634), + ) + ) first_names = first_names_male.copy() first_names.update(first_names_female) @@ -754,1046 +773,1058 @@ class Provider(PersonProvider): # Top 1000 US surnames from US Census data # Weighted by number of occurrences # By way of http://names.mongabay.com/data/1000.html on 2/10/2016 - last_names = OrderedDict(( - ('Smith', 0.021712045), - ('Johnson', 0.01696938), - ('Williams', 0.014016962), - ('Brown', 0.012610763), - ('Jones', 0.012451866), - ('Miller', 0.010305045), - ('Davis', 0.009798219), - ('Garcia', 0.007842422), - ('Rodriguez', 0.007348561), - ('Wilson', 0.007154951), - ('Martinez', 0.007082045), - ('Anderson', 0.006966203), - ('Taylor', 0.006582218), - ('Thomas', 0.006493824), - ('Hernandez', 0.006454314), - ('Moore', 0.006383948), - ('Martin', 0.006146745), - ('Jackson', 0.006086567), - ('Thompson', 0.005887767), - ('White', 0.005843424), - ('Lopez', 0.005679145), - ('Lee', 0.005535909), - ('Gonzalez', 0.005461513), - ('Harris', 0.005423356), - ('Clark', 0.005010598), - ('Lewis', 0.00465937), - ('Robinson', 0.004596305), - ('Walker', 0.004580579), - ('Perez', 0.00446375), - ('Hall', 0.004327121), - ('Young', 0.004257495), - ('Allen', 0.00423392), - ('Sanchez', 0.004031749), - ('Wright', 0.004023754), - ('King', 0.004011135), - ('Scott', 0.003838487), - ('Green', 0.003778053), - ('Baker', 0.003776901), - ('Adams', 0.00377448), - ('Nelson', 0.003766713), - ('Hill', 0.003762455), - ('Ramirez', 0.003554281), - ('Campbell', 0.003398636), - ('Mitchell', 0.003357336), - ('Roberts', 0.003346207), - ('Carter', 0.0033127), - ('Phillips', 0.003214932), - ('Evans', 0.003127113), - ('Turner', 0.003067045), - ('Torres', 0.002971158), - ('Parker', 0.002962725), - ('Collins', 0.002904264), - ('Edwards', 0.002897155), - ('Stewart', 0.002859044), - ('Flores', 0.002856449), - ('Morris', 0.002848582), - ('Nguyen', 0.002833697), - ('Murphy', 0.00274576), - ('Rivera', 0.002736275), - ('Cook', 0.002693623), - ('Rogers', 0.002690041), - ('Morgan', 0.002525543), - ('Peterson', 0.002513125), - ('Cooper', 0.00246795), - ('Reed', 0.0024437), - ('Bailey', 0.002429747), - ('Bell', 0.002419112), - ('Gomez', 0.002408494), - ('Kelly', 0.002379209), - ('Howard', 0.002327986), - ('Ward', 0.002321973), - ('Cox', 0.002318775), - ('Diaz', 0.00230051), - ('Richardson', 0.002280051), - ('Wood', 0.002259639), - ('Watson', 0.002215168), - ('Brooks', 0.002199808), - ('Bennett', 0.002184311), - ('Gray', 0.002162912), - ('James', 0.002131032), - ('Reyes', 0.002124517), - ('Cruz', 0.002111304), - ('Hughes', 0.002095999), - ('Price', 0.002090206), - ('Myers', 0.002054278), - ('Long', 0.002042126), - ('Foster', 0.002019703), - ('Sanders', 0.002018442), - ('Ross', 0.002009844), - ('Morales', 0.001988655), - ('Powell', 0.001978704), - ('Sullivan', 0.001970362), - ('Russell', 0.001968461), - ('Ortiz', 0.001961617), - ('Jenkins', 0.001952974), - ('Gutierrez', 0.001945371), - ('Perry', 0.001942986), - ('Butler', 0.001926859), - ('Barnes', 0.00192272), - ('Fisher', 0.001921377), - ('Henderson', 0.001919686), - ('Coleman', 0.001906255), - ('Simmons', 0.001842531), - ('Patterson', 0.00181427), - ('Jordan', 0.00180198), - ('Reynolds', 0.001787233), - ('Hamilton', 0.001775656), - ('Graham', 0.001773307), - ('Kim', 0.001773243), - ('Gonzales', 0.001772028), - ('Alexander', 0.001767542), - ('Ramos', 0.001764371), - ('Wallace', 0.001743026), - ('Griffin', 0.001741893), - ('West', 0.001722047), - ('Cole', 0.001715916), - ('Hayes', 0.001712992), - ('Chavez', 0.001698299), - ('Gibson', 0.001685096), - ('Bryant', 0.001679075), - ('Ellis', 0.001662381), - ('Stevens', 0.001657657), - ('Murray', 0.001630218), - ('Ford', 0.001630062), - ('Marshall', 0.001619244), - ('Owens', 0.001611212), - ('Mcdonald', 0.001609019), - ('Harrison', 0.001604295), - ('Ruiz', 0.001602943), - ('Kennedy', 0.001568285), - ('Wells', 0.001559139), - ('Alvarez', 0.001542527), - ('Woods', 0.0015425), - ('Mendoza', 0.001540243), - ('Castillo', 0.001511972), - ('Olson', 0.001493963), - ('Webb', 0.001493771), - ('Washington', 0.001489705), - ('Tucker', 0.001488763), - ('Freeman', 0.001486507), - ('Burns', 0.001481636), - ('Henry', 0.001474683), - ('Vasquez', 0.001461863), - ('Snyder', 0.001456143), - ('Simpson', 0.001445891), - ('Crawford', 0.001444795), - ('Jimenez', 0.001438892), - ('Porter', 0.001433163), - ('Mason', 0.0014207), - ('Shaw', 0.001417849), - ('Gordon', 0.001415674), - ('Wagner', 0.001411855), - ('Hunter', 0.001410886), - ('Romero', 0.001405057), - ('Hicks', 0.00140365), - ('Dixon', 0.001389003), - ('Hunt', 0.001388738), - ('Palmer', 0.00137431), - ('Robertson', 0.001373323), - ('Black', 0.001372291), - ('Holmes', 0.001372108), - ('Stone', 0.001368782), - ('Meyer', 0.001367521), - ('Boyd', 0.001365803), - ('Mills', 0.001351485), - ('Warren', 0.001351458), - ('Fox', 0.001346441), - ('Rose', 0.001342485), - ('Rice', 0.001338062), - ('Moreno', 0.001334846), - ('Schmidt', 0.001330067), - ('Patel', 0.001325508), - ('Ferguson', 0.001299832), - ('Nichols', 0.001296908), - ('Herrera', 0.0012864), - ('Medina', 0.001273307), - ('Ryan', 0.001273142), - ('Fernandez', 0.001272841), - ('Weaver', 0.001268354), - ('Daniels', 0.001268034), - ('Stephens', 0.001267724), - ('Gardner', 0.001266974), - ('Payne', 0.0012612), - ('Kelley', 0.001256878), - ('Dunn', 0.001251395), - ('Pierce', 0.001247393), - ('Arnold', 0.001245547), - ('Tran', 0.001243537), - ('Spencer', 0.001228443), - ('Peters', 0.001226505), - ('Hawkins', 0.001224998), - ('Grant', 0.001224705), - ('Hansen', 0.001219589), - ('Castro', 0.001217578), - ('Hoffman', 0.001212014), - ('Hart', 0.001210378), - ('Elliott', 0.001210296), - ('Cunningham', 0.00120517), - ('Knight', 0.001204841), - ('Bradley', 0.001199624), - ('Carroll', 0.001197166), - ('Hudson', 0.001195091), - ('Duncan', 0.001191674), - ('Armstrong', 0.001187681), - ('Berry', 0.001182409), - ('Andrews', 0.001181632), - ('Johnston', 0.001178114), - ('Ray', 0.001176826), - ('Lane', 0.001176214), - ('Riley', 0.001169206), - ('Carpenter', 0.001161101), - ('Perkins', 0.001159986), - ('Aguilar', 0.001154942), - ('Silva', 0.001152795), - ('Richards', 0.001148126), - ('Willis', 0.001147888), - ('Matthews', 0.001140688), - ('Chapman', 0.001138632), - ('Lawrence', 0.001135955), - ('Garza', 0.00113421), - ('Vargas', 0.001132583), - ('Watkins', 0.001118832), - ('Wheeler', 0.00111186), - ('Larson', 0.001106195), - ('Carlson', 0.001097606), - ('Harper', 0.001095267), - ('George', 0.001094444), - ('Greene', 0.001092855), - ('Burke', 0.001088935), - ('Guzman', 0.001081762), - ('Morrison', 0.001077641), - ('Munoz', 0.001076133), - ('Jacobs', 0.001055721), - ('Obrien', 0.001054304), - ('Lawson', 0.001052486), - ('Franklin', 0.001049498), - ('Lynch', 0.001045743), - ('Bishop', 0.00104196), - ('Carr', 0.001040662), - ('Salazar', 0.001036788), - ('Austin', 0.001033974), - ('Mendez', 0.0010301), - ('Gilbert', 0.001027084), - ('Jensen', 0.001026408), - ('Williamson', 0.001025348), - ('Montgomery', 0.00102469), - ('Harvey', 0.001024617), - ('Oliver', 0.001020094), - ('Howell', 0.001001756), - ('Dean', 0.000998064), - ('Hanson', 0.000996685), - ('Weber', 0.000985601), - ('Garrett', 0.000984788), - ('Sims', 0.000979918), - ('Burton', 0.000979132), - ('Fuller', 0.000974783), - ('Soto', 0.000974317), - ('Mccoy', 0.000972946), - ('Welch', 0.00096676), - ('Chen', 0.000964384), - ('Schultz', 0.000959067), - ('Walters', 0.000952844), - ('Reid', 0.00095034), - ('Fields', 0.00094335), - ('Walsh', 0.000943113), - ('Little', 0.000938563), - ('Fowler', 0.000937667), - ('Bowman', 0.000934186), - ('Davidson', 0.000932404), - ('May', 0.000929498), - ('Day', 0.000929041), - ('Schneider', 0.00091878), - ('Newman', 0.000918214), - ('Brewer', 0.000917976), - ('Lucas', 0.000917538), - ('Holland', 0.000912677), - ('Wong', 0.000908172), - ('Banks', 0.000907276), - ('Santos', 0.000904526), - ('Curtis', 0.000904206), - ('Pearson', 0.000902105), - ('Delgado', 0.000901621), - ('Valdez', 0.000901027), - ('Pena', 0.000898605), - ('Rios', 0.000882377), - ('Douglas', 0.000881062), - ('Sandoval', 0.000879947), - ('Barrett', 0.000876228), - ('Hopkins', 0.000864414), - ('Keller', 0.000861645), - ('Guerrero', 0.000860293), - ('Stanley', 0.000857232), - ('Bates', 0.000856555), - ('Alvarado', 0.000856373), - ('Beck', 0.000851238), - ('Ortega', 0.000850963), - ('Wade', 0.00084825), - ('Estrada', 0.000848222), - ('Contreras', 0.00084666), - ('Barnett', 0.000843252), - ('Caldwell', 0.00083458), - ('Santiago', 0.00083119), - ('Lambert', 0.000828001), - ('Powers', 0.000826019), - ('Chambers', 0.000825324), - ('Nunez', 0.000824255), - ('Craig', 0.000818618), - ('Leonard', 0.000815027), - ('Lowe', 0.000814844), - ('Rhodes', 0.000812459), - ('Byrd', 0.00081149), - ('Gregory', 0.000811481), - ('Shelton', 0.000807059), - ('Frazier', 0.00080705), - ('Becker', 0.000805122), - ('Maldonado', 0.000804226), - ('Fleming', 0.000803614), - ('Vega', 0.000801595), - ('Sutton', 0.000798351), - ('Cohen', 0.000797008), - ('Jennings', 0.00079529), - ('Parks', 0.000788967), - ('Mcdaniel', 0.000788702), - ('Watts', 0.000787889), - ('Barker', 0.000778688), - ('Norris', 0.000778605), - ('Vaughn', 0.000777006), - ('Vazquez', 0.000775992), - ('Holt', 0.000774018), - ('Schwartz', 0.000773918), - ('Steele', 0.000770756), - ('Benson', 0.00076966), - ('Neal', 0.000766151), - ('Dominguez', 0.000765073), - ('Horton', 0.000763173), - ('Terry', 0.000762387), - ('Wolfe', 0.000759417), - ('Hale', 0.000757983), - ('Lyons', 0.000751614), - ('Graves', 0.000750892), - ('Haynes', 0.000749595), - ('Miles', 0.000748644), - ('Park', 0.000748251), - ('Warner', 0.000747648), - ('Padilla', 0.000747475), - ('Bush', 0.000744907), - ('Thornton', 0.000741864), - ('Mccarthy', 0.000740439), - ('Mann', 0.00074032), - ('Zimmerman', 0.000739608), - ('Erickson', 0.000739534), - ('Fletcher', 0.000739498), - ('Mckinney', 0.00073661), - ('Page', 0.000735487), - ('Dawson', 0.000732718), - ('Joseph', 0.000731256), - ('Marquez', 0.000730534), - ('Reeves', 0.00072931), - ('Klein', 0.000728104), - ('Espinoza', 0.000724787), - ('Baldwin', 0.000723224), - ('Moran', 0.000717696), - ('Love', 0.000715659), - ('Robbins', 0.000713996), - ('Higgins', 0.000713685), - ('Ball', 0.000708696), - ('Cortez', 0.000708066), - ('Le', 0.000707709), - ('Griffith', 0.00070749), - ('Bowen', 0.000704283), - ('Sharp', 0.000702364), - ('Cummings', 0.000700893), - ('Ramsey', 0.000700144), - ('Hardy', 0.000699988), - ('Swanson', 0.000699358), - ('Barber', 0.000699038), - ('Acosta', 0.000698791), - ('Luna', 0.000695593), - ('Chandler', 0.000695474), - ('Daniel', 0.000686529), - ('Blair', 0.000686529), - ('Cross', 0.00068652), - ('Simon', 0.000683824), - ('Dennis', 0.000683322), - ('Oconnor', 0.000683066), - ('Quinn', 0.00068101), - ('Gross', 0.000678762), - ('Navarro', 0.000675884), - ('Moss', 0.000673874), - ('Fitzgerald', 0.000671791), - ('Doyle', 0.000671754), - ('Mclaughlin', 0.000668191), - ('Rojas', 0.00066767), - ('Rodgers', 0.000667213), - ('Stevenson', 0.000666034), - ('Singh', 0.00066375), - ('Yang', 0.000663613), - ('Figueroa', 0.000662754), - ('Harmon', 0.000661667), - ('Newton', 0.000660881), - ('Paul', 0.00066015), - ('Manning', 0.000658514), - ('Garner', 0.000658359), - ('Mcgee', 0.000657198), - ('Reese', 0.000655636), - ('Francis', 0.000655353), - ('Burgess', 0.000654265), - ('Adkins', 0.000653571), - ('Goodman', 0.000653151), - ('Curry', 0.00065189), - ('Brady', 0.000650345), - ('Christensen', 0.000650062), - ('Potter', 0.000649688), - ('Walton', 0.000648719), - ('Goodwin', 0.000642652), - ('Mullins', 0.000642222), - ('Molina', 0.000641537), - ('Webster', 0.000640733), - ('Fischer', 0.000640477), - ('Campos', 0.000639152), - ('Avila', 0.000638175), - ('Sherman', 0.000638147), - ('Todd', 0.000637873), - ('Chang', 0.00063738), - ('Blake', 0.000633021), - ('Malone', 0.00063282), - ('Wolf', 0.000629604), - ('Hodges', 0.000629266), - ('Juarez', 0.000628507), - ('Gill', 0.000627722), - ('Farmer', 0.000624158), - ('Hines', 0.00062266), - ('Gallagher', 0.00062202), - ('Duran', 0.000621755), - ('Hubbard', 0.000621527), - ('Cannon', 0.000620631), - ('Miranda', 0.0006181), - ('Wang', 0.000617406), - ('Saunders', 0.000614116), - ('Tate', 0.000614098), - ('Mack', 0.000613604), - ('Hammond', 0.000612773), - ('Carrillo', 0.000612691), - ('Townsend', 0.000610854), - ('Wise', 0.000609803), - ('Ingram', 0.000609136), - ('Barton', 0.000608743), - ('Mejia', 0.000607939), - ('Ayala', 0.000607766), - ('Schroeder', 0.000606825), - ('Hampton', 0.000606514), - ('Rowe', 0.000604933), - ('Parsons', 0.000604915), - ('Frank', 0.000602311), - ('Waters', 0.000601388), - ('Strickland', 0.000601361), - ('Osborne', 0.000601251), - ('Maxwell', 0.000601041), - ('Chan', 0.000600493), - ('Deleon', 0.000599387), - ('Norman', 0.000596381), - ('Harrington', 0.00059512), - ('Casey', 0.000592232), - ('Patton', 0.00059184), - ('Logan', 0.000590049), - ('Bowers', 0.000589318), - ('Mueller', 0.000587572), - ('Glover', 0.00058643), - ('Floyd', 0.000586074), - ('Hartman', 0.000583205), - ('Buchanan', 0.000583187), - ('Cobb', 0.000582401), - ('French', 0.00057701), - ('Kramer', 0.000575858), - ('Mccormick', 0.000572569), - ('Clarke', 0.0005715), - ('Tyler', 0.00057139), - ('Gibbs', 0.000571208), - ('Moody', 0.000569654), - ('Conner', 0.000569572), - ('Sparks', 0.000568649), - ('Mcguire', 0.000567571), - ('Leon', 0.000566822), - ('Bauer', 0.000566319), - ('Norton', 0.000564729), - ('Pope', 0.000564227), - ('Flynn', 0.000564199), - ('Hogan', 0.000563322), - ('Robles', 0.00056303), - ('Salinas', 0.000562692), - ('Yates', 0.000561029), - ('Lindsey', 0.000559192), - ('Lloyd', 0.000558781), - ('Marsh', 0.000557365), - ('Mcbride', 0.000556222), - ('Owen', 0.000552449), - ('Solis', 0.000548648), - ('Pham', 0.00054777), - ('Lang', 0.000546802), - ('Pratt', 0.000546418), - ('Lara', 0.000545779), - ('Brock', 0.000545331), - ('Ballard', 0.00054513), - ('Trujillo', 0.000544664), - ('Shaffer', 0.000541173), - ('Drake', 0.000539602), - ('Roman', 0.000539282), - ('Aguirre', 0.00053835), - ('Morton', 0.000537162), - ('Stokes', 0.000536239), - ('Lamb', 0.000535033), - ('Pacheco', 0.000534841), - ('Patrick', 0.00053231), - ('Cochran', 0.000532091), - ('Shepherd', 0.000529368), - ('Cain', 0.000528801), - ('Burnett', 0.000528674), - ('Hess', 0.000528335), - ('Li', 0.000528007), - ('Cervantes', 0.000527084), - ('Olsen', 0.000524087), - ('Briggs', 0.000523538), - ('Ochoa', 0.000522743), - ('Cabrera', 0.000522387), - ('Velasquez', 0.000522314), - ('Montoya', 0.00052151), - ('Roth', 0.000521099), - ('Meyers', 0.000518485), - ('Cardenas', 0.000517334), - ('Fuentes', 0.000515717), - ('Weiss', 0.000513085), - ('Wilkins', 0.000512309), - ('Hoover', 0.000512309), - ('Nicholson', 0.000511559), - ('Underwood', 0.000511441), - ('Short', 0.000510801), - ('Carson', 0.000510052), - ('Morrow', 0.000508617), - ('Colon', 0.000507228), - ('Holloway', 0.000506808), - ('Summers', 0.000506123), - ('Bryan', 0.000505008), - ('Petersen', 0.00050424), - ('Mckenzie', 0.000503318), - ('Serrano', 0.000503071), - ('Wilcox', 0.000502431), - ('Carey', 0.000501856), - ('Clayton', 0.000501408), - ('Poole', 0.000499864), - ('Calderon', 0.000499727), - ('Gallegos', 0.000499553), - ('Greer', 0.000498996), - ('Rivas', 0.000498786), - ('Guerra', 0.000498667), - ('Decker', 0.000497525), - ('Collier', 0.000497196), - ('Wall', 0.000497077), - ('Whitaker', 0.000496547), - ('Bass', 0.000496117), - ('Flowers', 0.000495944), - ('Davenport', 0.000495295), - ('Conley', 0.000495185), - ('Houston', 0.00049365), - ('Huff', 0.000492426), - ('Copeland', 0.00049132), - ('Hood', 0.00049101), - ('Monroe', 0.000488616), - ('Massey', 0.00048847), - ('Roberson', 0.000486085), - ('Combs', 0.00048592), - ('Franco', 0.000485747), - ('Larsen', 0.000483937), - ('Pittman', 0.000481434), - ('Randall', 0.000479661), - ('Skinner', 0.000479616), - ('Wilkinson', 0.000479552), - ('Kirby', 0.00047946), - ('Cameron', 0.00047915), - ('Bridges', 0.000477514), - ('Anthony', 0.000476472), - ('Richard', 0.000476399), - ('Kirk', 0.00047565), - ('Bruce', 0.000475175), - ('Singleton', 0.000473283), - ('Mathis', 0.000473274), - ('Bradford', 0.000472635), - ('Boone', 0.000472205), - ('Abbott', 0.000471666), - ('Charles', 0.000470734), - ('Allison', 0.000470606), - ('Sweeney', 0.00047057), - ('Atkinson', 0.000470469), - ('Horn', 0.000469473), - ('Jefferson', 0.0004693), - ('Rosales', 0.000469071), - ('York', 0.000469053), - ('Christian', 0.000467618), - ('Phelps', 0.000467408), - ('Farrell', 0.000466869), - ('Castaneda', 0.000466814), - ('Nash', 0.000466193), - ('Dickerson', 0.000466156), - ('Bond', 0.000465818), - ('Wyatt', 0.00046485), - ('Foley', 0.000464649), - ('Chase', 0.000463963), - ('Gates', 0.000463698), - ('Vincent', 0.000462602), - ('Mathews', 0.000462419), - ('Hodge', 0.000462136), - ('Garrison', 0.000461268), - ('Trevino', 0.000461012), - ('Villarreal', 0.000460071), - ('Heath', 0.000459669), - ('Dalton', 0.00045838), - ('Valencia', 0.000457101), - ('Callahan', 0.000456178), - ('Hensley', 0.000455566), - ('Atkins', 0.000454616), - ('Huffman', 0.000454461), - ('Roy', 0.000454351), - ('Boyer', 0.000453218), - ('Shields', 0.000452807), - ('Lin', 0.000451016), - ('Hancock', 0.000450742), - ('Grimes', 0.000449965), - ('Glenn', 0.000449929), - ('Cline', 0.000449252), - ('Delacruz', 0.00044917), - ('Camacho', 0.000447726), - ('Dillon', 0.0004462), - ('Parrish', 0.000446109), - ('Oneill', 0.000444583), - ('Melton', 0.000444017), - ('Booth', 0.000443889), - ('Kane', 0.000443404), - ('Berg', 0.000442975), - ('Harrell', 0.000442893), - ('Pitts', 0.000442811), - ('Savage', 0.000441943), - ('Wiggins', 0.000441833), - ('Brennan', 0.000441294), - ('Salas', 0.000441166), - ('Marks', 0.000441157), - ('Russo', 0.00043974), - ('Sawyer', 0.000438397), - ('Baxter', 0.000437283), - ('Golden', 0.000437118), - ('Hutchinson', 0.000436844), - ('Liu', 0.000435528), - ('Walter', 0.000435071), - ('Mcdowell', 0.000434258), - ('Wiley', 0.000434048), - ('Rich', 0.00043381), - ('Humphrey', 0.000433746), - ('Johns', 0.000432093), - ('Koch', 0.000432065), - ('Suarez', 0.000431599), - ('Hobbs', 0.000431462), - ('Beard', 0.000430621), - ('Gilmore', 0.000429909), - ('Ibarra', 0.000428492), - ('Keith', 0.00042714), - ('Macias', 0.000427067), - ('Khan', 0.000426829), - ('Andrade', 0.000426729), - ('Ware', 0.000426546), - ('Stephenson', 0.000426363), - ('Henson', 0.000425879), - ('Wilkerson', 0.000425843), - ('Dyer', 0.000425559), - ('Mcclure', 0.000424929), - ('Blackwell', 0.000424838), - ('Mercado', 0.000424308), - ('Tanner', 0.000424079), - ('Eaton', 0.000423997), - ('Clay', 0.000422727), - ('Barron', 0.000422106), - ('Beasley', 0.00042195), - ('Oneal', 0.000421786), - ('Small', 0.000418944), - ('Preston', 0.000418944), - ('Wu', 0.000418624), - ('Zamora', 0.000418542), - ('Macdonald', 0.000418323), - ('Vance', 0.000418149), - ('Snow', 0.000417473), - ('Mcclain', 0.000416294), - ('Stafford', 0.000414366), - ('Orozco', 0.000413818), - ('Barry', 0.000411579), - ('English', 0.00041147), - ('Shannon', 0.000410282), - ('Kline', 0.000410264), - ('Jacobson', 0.000410026), - ('Woodard', 0.000409624), - ('Huang', 0.000408573), - ('Kemp', 0.000408445), - ('Mosley', 0.000408418), - ('Prince', 0.000407888), - ('Merritt', 0.00040776), - ('Hurst', 0.000407404), - ('Villanueva', 0.000407248), - ('Roach', 0.000406188), - ('Nolan', 0.000405887), - ('Lam', 0.000405558), - ('Yoder', 0.000404279), - ('Mccullough', 0.000403164), - ('Lester', 0.0004013), - ('Santana', 0.000400898), - ('Valenzuela', 0.000399938), - ('Winters', 0.000399865), - ('Barrera', 0.000399482), - ('Orr', 0.000398988), - ('Leach', 0.000398988), - ('Berger', 0.000397983), - ('Mckee', 0.000397974), - ('Strong', 0.000396832), - ('Conway', 0.000396512), - ('Stein', 0.000395927), - ('Whitehead', 0.000395735), - ('Bullock', 0.000393095), - ('Escobar', 0.000392492), - ('Knox', 0.000392327), - ('Meadows', 0.000391843), - ('Solomon', 0.000391432), - ('Velez', 0.000391258), - ('Odonnell', 0.000391094), - ('Kerr', 0.000390692), - ('Stout', 0.000389878), - ('Blankenship', 0.000389824), - ('Browning', 0.000389632), - ('Kent', 0.00038922), - ('Lozano', 0.000388946), - ('Bartlett', 0.000388444), - ('Pruitt', 0.000387996), - ('Buck', 0.000387795), - ('Barr', 0.000387713), - ('Gaines', 0.000387137), - ('Durham', 0.000387101), - ('Gentry', 0.000387028), - ('Mcintyre', 0.000386826), - ('Sloan', 0.000386333), - ('Rocha', 0.000385036), - ('Melendez', 0.000385036), - ('Herman', 0.000384597), - ('Sexton', 0.000384496), - ('Moon', 0.000384332), - ('Hendricks', 0.00038266), - ('Rangel', 0.000382559), - ('Stark', 0.000382514), - ('Lowery', 0.00038075), - ('Hardin', 0.000380695), - ('Hull', 0.000380622), - ('Sellers', 0.000379754), - ('Ellison', 0.000378822), - ('Calhoun', 0.000378758), - ('Gillespie', 0.000378219), - ('Mora', 0.000377808), - ('Knapp', 0.000377068), - ('Mccall', 0.000376739), - ('Morse', 0.000375652), - ('Dorsey', 0.000375579), - ('Weeks', 0.000375113), - ('Nielsen', 0.000374692), - ('Livingston', 0.000374299), - ('Leblanc', 0.000373925), - ('Mclean', 0.00037345), - ('Bradshaw', 0.000372746), - ('Glass', 0.000372106), - ('Middleton', 0.00037196), - ('Buckley', 0.000371942), - ('Schaefer', 0.000371549), - ('Frost', 0.000370809), - ('Howe', 0.000370562), - ('House', 0.000369849), - ('Mcintosh', 0.00036963), - ('Ho', 0.000369265), - ('Pennington', 0.000368588), - ('Reilly', 0.000368324), - ('Hebert', 0.000368077), - ('Mcfarland', 0.00036772), - ('Hickman', 0.000367538), - ('Noble', 0.000367474), - ('Spears', 0.000367346), - ('Conrad', 0.000366423), - ('Arias', 0.000366277), - ('Galvan', 0.000365911), - ('Velazquez', 0.000365765), - ('Huynh', 0.000365591), - ('Frederick', 0.000364659), - ('Randolph', 0.000363134), - ('Cantu', 0.000361845), - ('Fitzpatrick', 0.000360931), - ('Mahoney', 0.000360374), - ('Peck', 0.000360301), - ('Villa', 0.000360027), - ('Michael', 0.000359725), - ('Donovan', 0.000358821), - ('Mcconnell', 0.000358209), - ('Walls', 0.00035787), - ('Boyle', 0.000357642), - ('Mayer', 0.000357368), - ('Zuniga', 0.000356875), - ('Giles', 0.000356372), - ('Pineda', 0.000356345), - ('Pace', 0.000356125), - ('Hurley', 0.000356089), - ('Mays', 0.000355568), - ('Mcmillan', 0.000355403), - ('Crosby', 0.000354928), - ('Ayers', 0.000354855), - ('Case', 0.000354152), - ('Bentley', 0.00035374), - ('Shepard', 0.000353658), - ('Everett', 0.000353631), - ('Pugh', 0.00035353), - ('David', 0.000353238), - ('Mcmahon', 0.000352306), - ('Dunlap', 0.000351931), - ('Bender', 0.000351456), - ('Hahn', 0.000350451), - ('Harding', 0.000350323), - ('Acevedo', 0.000349336), - ('Raymond', 0.00034866), - ('Blackburn', 0.000348468), - ('Duffy', 0.000346869), - ('Landry', 0.00034686), - ('Dougherty', 0.00034633), - ('Bautista', 0.000345818), - ('Shah', 0.00034569), - ('Potts', 0.000344356), - ('Arroyo', 0.000344274), - ('Valentine', 0.000344192), - ('Meza', 0.000344128), - ('Gould', 0.00034411), - ('Vaughan', 0.000343479), - ('Fry', 0.000343032), - ('Rush', 0.000342374), - ('Avery', 0.0003421), - ('Herring', 0.000341305), - ('Dodson', 0.000340802), - ('Clements', 0.000340245), - ('Sampson', 0.000340217), - ('Tapia', 0.000339916), - ('Bean', 0.000339404), - ('Lynn', 0.000339221), - ('Crane', 0.000339203), - ('Farley', 0.000339139), - ('Cisneros', 0.000338536), - ('Benton', 0.000338372), - ('Ashley', 0.000338271), - ('Mckay', 0.000337604), - ('Finley', 0.000336928), - ('Best', 0.000336818), - ('Blevins', 0.000336626), - ('Friedman', 0.000336553), - ('Moses', 0.00033638), - ('Sosa', 0.00033637), - ('Blanchard', 0.000335923), - ('Huber', 0.000335603), - ('Frye', 0.000335484), - ('Krueger', 0.000335283), - ('Bernard', 0.000333931), - ('Rosario', 0.000333867), - ('Rubio', 0.000333794), - ('Mullen', 0.000332981), - ('Benjamin', 0.000332953), - ('Haley', 0.000332898), - ('Chung', 0.000332798), - ('Moyer', 0.000332789), - ('Choi', 0.000332505), - ('Horne', 0.000331573), - ('Yu', 0.000331546), - ('Woodward', 0.000331153), - ('Ali', 0.000329664), - ('Nixon', 0.00032928), - ('Hayden', 0.000329161), - ('Rivers', 0.000328759), - ('Estes', 0.000327471), - ('Mccarty', 0.000326365), - ('Richmond', 0.000326338), - ('Stuart', 0.00032621), - ('Maynard', 0.000325726), - ('Brandt', 0.000325433), - ('Oconnell', 0.000325378), - ('Hanna', 0.000325278), - ('Sanford', 0.000324967), - ('Sheppard', 0.000324867), - ('Church', 0.00032473), - ('Burch', 0.000324565), - ('Levy', 0.000324044), - ('Rasmussen', 0.000323944), - ('Coffey', 0.000323843), - ('Ponce', 0.000323459), - ('Faulkner', 0.000323359), - ('Donaldson', 0.000323341), - ('Schmitt', 0.000322783), - ('Novak', 0.000322381), - ('Costa', 0.000321879), - ('Montes', 0.000321595), - ('Booker', 0.000320727), - ('Cordova', 0.000320481), - ('Waller', 0.000319814), - ('Arellano', 0.000319795), - ('Maddox', 0.00031953), - ('Mata', 0.000318781), - ('Bonilla', 0.000318196), - ('Stanton', 0.000318087), - ('Compton', 0.000317867), - ('Kaufman', 0.000317849), - ('Dudley', 0.000317703), - ('Mcpherson', 0.000317639), - ('Beltran', 0.000317392), - ('Dickson', 0.000317045), - ('Mccann', 0.00031699), - ('Villegas', 0.000316917), - ('Proctor', 0.000316899), - ('Hester', 0.000316835), - ('Cantrell', 0.000316826), - ('Daugherty', 0.000316607), - ('Cherry', 0.000316287), - ('Bray', 0.000315921), - ('Davila', 0.000315611), - ('Rowland', 0.000315218), - ('Madden', 0.00031498), - ('Levine', 0.00031498), - ('Spence', 0.000314642), - ('Good', 0.000314596), - ('Irwin', 0.000314085), - ('Werner', 0.000313884), - ('Krause', 0.00031382), - ('Petty', 0.000313207), - ('Whitney', 0.000312961), - ('Baird', 0.000312796), - ('Hooper', 0.000311435), - ('Pollard', 0.000311389), - ('Zavala', 0.000311289), - ('Jarvis', 0.000311124), - ('Holden', 0.000311042), - ('Hendrix', 0.00031096), - ('Haas', 0.00031096), - ('Mcgrath', 0.000310951), - ('Bird', 0.00031032), - ('Lucero', 0.000309955), - ('Terrell', 0.000309882), - ('Riggs', 0.000309461), - ('Joyce', 0.000309233), - ('Rollins', 0.000308812), - ('Mercer', 0.000308812), - ('Galloway', 0.000308593), - ('Duke', 0.000308337), - ('Odom', 0.000308081), - ('Andersen', 0.000306172), - ('Downs', 0.000306044), - ('Hatfield', 0.00030577), - ('Benitez', 0.00030556), - ('Archer', 0.000305285), - ('Huerta', 0.00030471), - ('Travis', 0.000304628), - ('Mcneil', 0.000303714), - ('Hinton', 0.00030344), - ('Zhang', 0.000303376), - ('Hays', 0.000303303), - ('Mayo', 0.000302681), - ('Fritz', 0.000302151), - ('Branch', 0.000301896), - ('Mooney', 0.000301101), - ('Ewing', 0.000300845), - ('Ritter', 0.000300287), - ('Esparza', 0.000299447), - ('Frey', 0.000299109), - ('Braun', 0.00029857), - ('Gay', 0.000298533), - ('Riddle', 0.000298369), - ('Haney', 0.000298277), - ('Kaiser', 0.000297574), - ('Holder', 0.000296651), - ('Chaney', 0.000296349), - ('Mcknight', 0.00029592), - ('Gamble', 0.000295838), - ('Vang', 0.000295435), - ('Cooley', 0.000295015), - ('Carney', 0.000294969), - ('Cowan', 0.000294604), - ('Forbes', 0.000294476), - ('Ferrell', 0.000293983), - ('Davies', 0.0002939), - ('Barajas', 0.000293736), - ('Shea', 0.000293023), - ('Osborn', 0.000292795), - ('Bright', 0.000292777), - ('Cuevas', 0.00029253), - ('Bolton', 0.000292347), - ('Murillo', 0.000292064), - ('Lutz', 0.000291845), - ('Duarte', 0.000291442), - ('Kidd', 0.000291351), - ('Key', 0.000291315), - ('Cooke', 0.000291114), - )) + last_names = OrderedDict( + ( + ("Smith", 0.021712045), + ("Johnson", 0.01696938), + ("Williams", 0.014016962), + ("Brown", 0.012610763), + ("Jones", 0.012451866), + ("Miller", 0.010305045), + ("Davis", 0.009798219), + ("Garcia", 0.007842422), + ("Rodriguez", 0.007348561), + ("Wilson", 0.007154951), + ("Martinez", 0.007082045), + ("Anderson", 0.006966203), + ("Taylor", 0.006582218), + ("Thomas", 0.006493824), + ("Hernandez", 0.006454314), + ("Moore", 0.006383948), + ("Martin", 0.006146745), + ("Jackson", 0.006086567), + ("Thompson", 0.005887767), + ("White", 0.005843424), + ("Lopez", 0.005679145), + ("Lee", 0.005535909), + ("Gonzalez", 0.005461513), + ("Harris", 0.005423356), + ("Clark", 0.005010598), + ("Lewis", 0.00465937), + ("Robinson", 0.004596305), + ("Walker", 0.004580579), + ("Perez", 0.00446375), + ("Hall", 0.004327121), + ("Young", 0.004257495), + ("Allen", 0.00423392), + ("Sanchez", 0.004031749), + ("Wright", 0.004023754), + ("King", 0.004011135), + ("Scott", 0.003838487), + ("Green", 0.003778053), + ("Baker", 0.003776901), + ("Adams", 0.00377448), + ("Nelson", 0.003766713), + ("Hill", 0.003762455), + ("Ramirez", 0.003554281), + ("Campbell", 0.003398636), + ("Mitchell", 0.003357336), + ("Roberts", 0.003346207), + ("Carter", 0.0033127), + ("Phillips", 0.003214932), + ("Evans", 0.003127113), + ("Turner", 0.003067045), + ("Torres", 0.002971158), + ("Parker", 0.002962725), + ("Collins", 0.002904264), + ("Edwards", 0.002897155), + ("Stewart", 0.002859044), + ("Flores", 0.002856449), + ("Morris", 0.002848582), + ("Nguyen", 0.002833697), + ("Murphy", 0.00274576), + ("Rivera", 0.002736275), + ("Cook", 0.002693623), + ("Rogers", 0.002690041), + ("Morgan", 0.002525543), + ("Peterson", 0.002513125), + ("Cooper", 0.00246795), + ("Reed", 0.0024437), + ("Bailey", 0.002429747), + ("Bell", 0.002419112), + ("Gomez", 0.002408494), + ("Kelly", 0.002379209), + ("Howard", 0.002327986), + ("Ward", 0.002321973), + ("Cox", 0.002318775), + ("Diaz", 0.00230051), + ("Richardson", 0.002280051), + ("Wood", 0.002259639), + ("Watson", 0.002215168), + ("Brooks", 0.002199808), + ("Bennett", 0.002184311), + ("Gray", 0.002162912), + ("James", 0.002131032), + ("Reyes", 0.002124517), + ("Cruz", 0.002111304), + ("Hughes", 0.002095999), + ("Price", 0.002090206), + ("Myers", 0.002054278), + ("Long", 0.002042126), + ("Foster", 0.002019703), + ("Sanders", 0.002018442), + ("Ross", 0.002009844), + ("Morales", 0.001988655), + ("Powell", 0.001978704), + ("Sullivan", 0.001970362), + ("Russell", 0.001968461), + ("Ortiz", 0.001961617), + ("Jenkins", 0.001952974), + ("Gutierrez", 0.001945371), + ("Perry", 0.001942986), + ("Butler", 0.001926859), + ("Barnes", 0.00192272), + ("Fisher", 0.001921377), + ("Henderson", 0.001919686), + ("Coleman", 0.001906255), + ("Simmons", 0.001842531), + ("Patterson", 0.00181427), + ("Jordan", 0.00180198), + ("Reynolds", 0.001787233), + ("Hamilton", 0.001775656), + ("Graham", 0.001773307), + ("Kim", 0.001773243), + ("Gonzales", 0.001772028), + ("Alexander", 0.001767542), + ("Ramos", 0.001764371), + ("Wallace", 0.001743026), + ("Griffin", 0.001741893), + ("West", 0.001722047), + ("Cole", 0.001715916), + ("Hayes", 0.001712992), + ("Chavez", 0.001698299), + ("Gibson", 0.001685096), + ("Bryant", 0.001679075), + ("Ellis", 0.001662381), + ("Stevens", 0.001657657), + ("Murray", 0.001630218), + ("Ford", 0.001630062), + ("Marshall", 0.001619244), + ("Owens", 0.001611212), + ("Mcdonald", 0.001609019), + ("Harrison", 0.001604295), + ("Ruiz", 0.001602943), + ("Kennedy", 0.001568285), + ("Wells", 0.001559139), + ("Alvarez", 0.001542527), + ("Woods", 0.0015425), + ("Mendoza", 0.001540243), + ("Castillo", 0.001511972), + ("Olson", 0.001493963), + ("Webb", 0.001493771), + ("Washington", 0.001489705), + ("Tucker", 0.001488763), + ("Freeman", 0.001486507), + ("Burns", 0.001481636), + ("Henry", 0.001474683), + ("Vasquez", 0.001461863), + ("Snyder", 0.001456143), + ("Simpson", 0.001445891), + ("Crawford", 0.001444795), + ("Jimenez", 0.001438892), + ("Porter", 0.001433163), + ("Mason", 0.0014207), + ("Shaw", 0.001417849), + ("Gordon", 0.001415674), + ("Wagner", 0.001411855), + ("Hunter", 0.001410886), + ("Romero", 0.001405057), + ("Hicks", 0.00140365), + ("Dixon", 0.001389003), + ("Hunt", 0.001388738), + ("Palmer", 0.00137431), + ("Robertson", 0.001373323), + ("Black", 0.001372291), + ("Holmes", 0.001372108), + ("Stone", 0.001368782), + ("Meyer", 0.001367521), + ("Boyd", 0.001365803), + ("Mills", 0.001351485), + ("Warren", 0.001351458), + ("Fox", 0.001346441), + ("Rose", 0.001342485), + ("Rice", 0.001338062), + ("Moreno", 0.001334846), + ("Schmidt", 0.001330067), + ("Patel", 0.001325508), + ("Ferguson", 0.001299832), + ("Nichols", 0.001296908), + ("Herrera", 0.0012864), + ("Medina", 0.001273307), + ("Ryan", 0.001273142), + ("Fernandez", 0.001272841), + ("Weaver", 0.001268354), + ("Daniels", 0.001268034), + ("Stephens", 0.001267724), + ("Gardner", 0.001266974), + ("Payne", 0.0012612), + ("Kelley", 0.001256878), + ("Dunn", 0.001251395), + ("Pierce", 0.001247393), + ("Arnold", 0.001245547), + ("Tran", 0.001243537), + ("Spencer", 0.001228443), + ("Peters", 0.001226505), + ("Hawkins", 0.001224998), + ("Grant", 0.001224705), + ("Hansen", 0.001219589), + ("Castro", 0.001217578), + ("Hoffman", 0.001212014), + ("Hart", 0.001210378), + ("Elliott", 0.001210296), + ("Cunningham", 0.00120517), + ("Knight", 0.001204841), + ("Bradley", 0.001199624), + ("Carroll", 0.001197166), + ("Hudson", 0.001195091), + ("Duncan", 0.001191674), + ("Armstrong", 0.001187681), + ("Berry", 0.001182409), + ("Andrews", 0.001181632), + ("Johnston", 0.001178114), + ("Ray", 0.001176826), + ("Lane", 0.001176214), + ("Riley", 0.001169206), + ("Carpenter", 0.001161101), + ("Perkins", 0.001159986), + ("Aguilar", 0.001154942), + ("Silva", 0.001152795), + ("Richards", 0.001148126), + ("Willis", 0.001147888), + ("Matthews", 0.001140688), + ("Chapman", 0.001138632), + ("Lawrence", 0.001135955), + ("Garza", 0.00113421), + ("Vargas", 0.001132583), + ("Watkins", 0.001118832), + ("Wheeler", 0.00111186), + ("Larson", 0.001106195), + ("Carlson", 0.001097606), + ("Harper", 0.001095267), + ("George", 0.001094444), + ("Greene", 0.001092855), + ("Burke", 0.001088935), + ("Guzman", 0.001081762), + ("Morrison", 0.001077641), + ("Munoz", 0.001076133), + ("Jacobs", 0.001055721), + ("Obrien", 0.001054304), + ("Lawson", 0.001052486), + ("Franklin", 0.001049498), + ("Lynch", 0.001045743), + ("Bishop", 0.00104196), + ("Carr", 0.001040662), + ("Salazar", 0.001036788), + ("Austin", 0.001033974), + ("Mendez", 0.0010301), + ("Gilbert", 0.001027084), + ("Jensen", 0.001026408), + ("Williamson", 0.001025348), + ("Montgomery", 0.00102469), + ("Harvey", 0.001024617), + ("Oliver", 0.001020094), + ("Howell", 0.001001756), + ("Dean", 0.000998064), + ("Hanson", 0.000996685), + ("Weber", 0.000985601), + ("Garrett", 0.000984788), + ("Sims", 0.000979918), + ("Burton", 0.000979132), + ("Fuller", 0.000974783), + ("Soto", 0.000974317), + ("Mccoy", 0.000972946), + ("Welch", 0.00096676), + ("Chen", 0.000964384), + ("Schultz", 0.000959067), + ("Walters", 0.000952844), + ("Reid", 0.00095034), + ("Fields", 0.00094335), + ("Walsh", 0.000943113), + ("Little", 0.000938563), + ("Fowler", 0.000937667), + ("Bowman", 0.000934186), + ("Davidson", 0.000932404), + ("May", 0.000929498), + ("Day", 0.000929041), + ("Schneider", 0.00091878), + ("Newman", 0.000918214), + ("Brewer", 0.000917976), + ("Lucas", 0.000917538), + ("Holland", 0.000912677), + ("Wong", 0.000908172), + ("Banks", 0.000907276), + ("Santos", 0.000904526), + ("Curtis", 0.000904206), + ("Pearson", 0.000902105), + ("Delgado", 0.000901621), + ("Valdez", 0.000901027), + ("Pena", 0.000898605), + ("Rios", 0.000882377), + ("Douglas", 0.000881062), + ("Sandoval", 0.000879947), + ("Barrett", 0.000876228), + ("Hopkins", 0.000864414), + ("Keller", 0.000861645), + ("Guerrero", 0.000860293), + ("Stanley", 0.000857232), + ("Bates", 0.000856555), + ("Alvarado", 0.000856373), + ("Beck", 0.000851238), + ("Ortega", 0.000850963), + ("Wade", 0.00084825), + ("Estrada", 0.000848222), + ("Contreras", 0.00084666), + ("Barnett", 0.000843252), + ("Caldwell", 0.00083458), + ("Santiago", 0.00083119), + ("Lambert", 0.000828001), + ("Powers", 0.000826019), + ("Chambers", 0.000825324), + ("Nunez", 0.000824255), + ("Craig", 0.000818618), + ("Leonard", 0.000815027), + ("Lowe", 0.000814844), + ("Rhodes", 0.000812459), + ("Byrd", 0.00081149), + ("Gregory", 0.000811481), + ("Shelton", 0.000807059), + ("Frazier", 0.00080705), + ("Becker", 0.000805122), + ("Maldonado", 0.000804226), + ("Fleming", 0.000803614), + ("Vega", 0.000801595), + ("Sutton", 0.000798351), + ("Cohen", 0.000797008), + ("Jennings", 0.00079529), + ("Parks", 0.000788967), + ("Mcdaniel", 0.000788702), + ("Watts", 0.000787889), + ("Barker", 0.000778688), + ("Norris", 0.000778605), + ("Vaughn", 0.000777006), + ("Vazquez", 0.000775992), + ("Holt", 0.000774018), + ("Schwartz", 0.000773918), + ("Steele", 0.000770756), + ("Benson", 0.00076966), + ("Neal", 0.000766151), + ("Dominguez", 0.000765073), + ("Horton", 0.000763173), + ("Terry", 0.000762387), + ("Wolfe", 0.000759417), + ("Hale", 0.000757983), + ("Lyons", 0.000751614), + ("Graves", 0.000750892), + ("Haynes", 0.000749595), + ("Miles", 0.000748644), + ("Park", 0.000748251), + ("Warner", 0.000747648), + ("Padilla", 0.000747475), + ("Bush", 0.000744907), + ("Thornton", 0.000741864), + ("Mccarthy", 0.000740439), + ("Mann", 0.00074032), + ("Zimmerman", 0.000739608), + ("Erickson", 0.000739534), + ("Fletcher", 0.000739498), + ("Mckinney", 0.00073661), + ("Page", 0.000735487), + ("Dawson", 0.000732718), + ("Joseph", 0.000731256), + ("Marquez", 0.000730534), + ("Reeves", 0.00072931), + ("Klein", 0.000728104), + ("Espinoza", 0.000724787), + ("Baldwin", 0.000723224), + ("Moran", 0.000717696), + ("Love", 0.000715659), + ("Robbins", 0.000713996), + ("Higgins", 0.000713685), + ("Ball", 0.000708696), + ("Cortez", 0.000708066), + ("Le", 0.000707709), + ("Griffith", 0.00070749), + ("Bowen", 0.000704283), + ("Sharp", 0.000702364), + ("Cummings", 0.000700893), + ("Ramsey", 0.000700144), + ("Hardy", 0.000699988), + ("Swanson", 0.000699358), + ("Barber", 0.000699038), + ("Acosta", 0.000698791), + ("Luna", 0.000695593), + ("Chandler", 0.000695474), + ("Daniel", 0.000686529), + ("Blair", 0.000686529), + ("Cross", 0.00068652), + ("Simon", 0.000683824), + ("Dennis", 0.000683322), + ("Oconnor", 0.000683066), + ("Quinn", 0.00068101), + ("Gross", 0.000678762), + ("Navarro", 0.000675884), + ("Moss", 0.000673874), + ("Fitzgerald", 0.000671791), + ("Doyle", 0.000671754), + ("Mclaughlin", 0.000668191), + ("Rojas", 0.00066767), + ("Rodgers", 0.000667213), + ("Stevenson", 0.000666034), + ("Singh", 0.00066375), + ("Yang", 0.000663613), + ("Figueroa", 0.000662754), + ("Harmon", 0.000661667), + ("Newton", 0.000660881), + ("Paul", 0.00066015), + ("Manning", 0.000658514), + ("Garner", 0.000658359), + ("Mcgee", 0.000657198), + ("Reese", 0.000655636), + ("Francis", 0.000655353), + ("Burgess", 0.000654265), + ("Adkins", 0.000653571), + ("Goodman", 0.000653151), + ("Curry", 0.00065189), + ("Brady", 0.000650345), + ("Christensen", 0.000650062), + ("Potter", 0.000649688), + ("Walton", 0.000648719), + ("Goodwin", 0.000642652), + ("Mullins", 0.000642222), + ("Molina", 0.000641537), + ("Webster", 0.000640733), + ("Fischer", 0.000640477), + ("Campos", 0.000639152), + ("Avila", 0.000638175), + ("Sherman", 0.000638147), + ("Todd", 0.000637873), + ("Chang", 0.00063738), + ("Blake", 0.000633021), + ("Malone", 0.00063282), + ("Wolf", 0.000629604), + ("Hodges", 0.000629266), + ("Juarez", 0.000628507), + ("Gill", 0.000627722), + ("Farmer", 0.000624158), + ("Hines", 0.00062266), + ("Gallagher", 0.00062202), + ("Duran", 0.000621755), + ("Hubbard", 0.000621527), + ("Cannon", 0.000620631), + ("Miranda", 0.0006181), + ("Wang", 0.000617406), + ("Saunders", 0.000614116), + ("Tate", 0.000614098), + ("Mack", 0.000613604), + ("Hammond", 0.000612773), + ("Carrillo", 0.000612691), + ("Townsend", 0.000610854), + ("Wise", 0.000609803), + ("Ingram", 0.000609136), + ("Barton", 0.000608743), + ("Mejia", 0.000607939), + ("Ayala", 0.000607766), + ("Schroeder", 0.000606825), + ("Hampton", 0.000606514), + ("Rowe", 0.000604933), + ("Parsons", 0.000604915), + ("Frank", 0.000602311), + ("Waters", 0.000601388), + ("Strickland", 0.000601361), + ("Osborne", 0.000601251), + ("Maxwell", 0.000601041), + ("Chan", 0.000600493), + ("Deleon", 0.000599387), + ("Norman", 0.000596381), + ("Harrington", 0.00059512), + ("Casey", 0.000592232), + ("Patton", 0.00059184), + ("Logan", 0.000590049), + ("Bowers", 0.000589318), + ("Mueller", 0.000587572), + ("Glover", 0.00058643), + ("Floyd", 0.000586074), + ("Hartman", 0.000583205), + ("Buchanan", 0.000583187), + ("Cobb", 0.000582401), + ("French", 0.00057701), + ("Kramer", 0.000575858), + ("Mccormick", 0.000572569), + ("Clarke", 0.0005715), + ("Tyler", 0.00057139), + ("Gibbs", 0.000571208), + ("Moody", 0.000569654), + ("Conner", 0.000569572), + ("Sparks", 0.000568649), + ("Mcguire", 0.000567571), + ("Leon", 0.000566822), + ("Bauer", 0.000566319), + ("Norton", 0.000564729), + ("Pope", 0.000564227), + ("Flynn", 0.000564199), + ("Hogan", 0.000563322), + ("Robles", 0.00056303), + ("Salinas", 0.000562692), + ("Yates", 0.000561029), + ("Lindsey", 0.000559192), + ("Lloyd", 0.000558781), + ("Marsh", 0.000557365), + ("Mcbride", 0.000556222), + ("Owen", 0.000552449), + ("Solis", 0.000548648), + ("Pham", 0.00054777), + ("Lang", 0.000546802), + ("Pratt", 0.000546418), + ("Lara", 0.000545779), + ("Brock", 0.000545331), + ("Ballard", 0.00054513), + ("Trujillo", 0.000544664), + ("Shaffer", 0.000541173), + ("Drake", 0.000539602), + ("Roman", 0.000539282), + ("Aguirre", 0.00053835), + ("Morton", 0.000537162), + ("Stokes", 0.000536239), + ("Lamb", 0.000535033), + ("Pacheco", 0.000534841), + ("Patrick", 0.00053231), + ("Cochran", 0.000532091), + ("Shepherd", 0.000529368), + ("Cain", 0.000528801), + ("Burnett", 0.000528674), + ("Hess", 0.000528335), + ("Li", 0.000528007), + ("Cervantes", 0.000527084), + ("Olsen", 0.000524087), + ("Briggs", 0.000523538), + ("Ochoa", 0.000522743), + ("Cabrera", 0.000522387), + ("Velasquez", 0.000522314), + ("Montoya", 0.00052151), + ("Roth", 0.000521099), + ("Meyers", 0.000518485), + ("Cardenas", 0.000517334), + ("Fuentes", 0.000515717), + ("Weiss", 0.000513085), + ("Wilkins", 0.000512309), + ("Hoover", 0.000512309), + ("Nicholson", 0.000511559), + ("Underwood", 0.000511441), + ("Short", 0.000510801), + ("Carson", 0.000510052), + ("Morrow", 0.000508617), + ("Colon", 0.000507228), + ("Holloway", 0.000506808), + ("Summers", 0.000506123), + ("Bryan", 0.000505008), + ("Petersen", 0.00050424), + ("Mckenzie", 0.000503318), + ("Serrano", 0.000503071), + ("Wilcox", 0.000502431), + ("Carey", 0.000501856), + ("Clayton", 0.000501408), + ("Poole", 0.000499864), + ("Calderon", 0.000499727), + ("Gallegos", 0.000499553), + ("Greer", 0.000498996), + ("Rivas", 0.000498786), + ("Guerra", 0.000498667), + ("Decker", 0.000497525), + ("Collier", 0.000497196), + ("Wall", 0.000497077), + ("Whitaker", 0.000496547), + ("Bass", 0.000496117), + ("Flowers", 0.000495944), + ("Davenport", 0.000495295), + ("Conley", 0.000495185), + ("Houston", 0.00049365), + ("Huff", 0.000492426), + ("Copeland", 0.00049132), + ("Hood", 0.00049101), + ("Monroe", 0.000488616), + ("Massey", 0.00048847), + ("Roberson", 0.000486085), + ("Combs", 0.00048592), + ("Franco", 0.000485747), + ("Larsen", 0.000483937), + ("Pittman", 0.000481434), + ("Randall", 0.000479661), + ("Skinner", 0.000479616), + ("Wilkinson", 0.000479552), + ("Kirby", 0.00047946), + ("Cameron", 0.00047915), + ("Bridges", 0.000477514), + ("Anthony", 0.000476472), + ("Richard", 0.000476399), + ("Kirk", 0.00047565), + ("Bruce", 0.000475175), + ("Singleton", 0.000473283), + ("Mathis", 0.000473274), + ("Bradford", 0.000472635), + ("Boone", 0.000472205), + ("Abbott", 0.000471666), + ("Charles", 0.000470734), + ("Allison", 0.000470606), + ("Sweeney", 0.00047057), + ("Atkinson", 0.000470469), + ("Horn", 0.000469473), + ("Jefferson", 0.0004693), + ("Rosales", 0.000469071), + ("York", 0.000469053), + ("Christian", 0.000467618), + ("Phelps", 0.000467408), + ("Farrell", 0.000466869), + ("Castaneda", 0.000466814), + ("Nash", 0.000466193), + ("Dickerson", 0.000466156), + ("Bond", 0.000465818), + ("Wyatt", 0.00046485), + ("Foley", 0.000464649), + ("Chase", 0.000463963), + ("Gates", 0.000463698), + ("Vincent", 0.000462602), + ("Mathews", 0.000462419), + ("Hodge", 0.000462136), + ("Garrison", 0.000461268), + ("Trevino", 0.000461012), + ("Villarreal", 0.000460071), + ("Heath", 0.000459669), + ("Dalton", 0.00045838), + ("Valencia", 0.000457101), + ("Callahan", 0.000456178), + ("Hensley", 0.000455566), + ("Atkins", 0.000454616), + ("Huffman", 0.000454461), + ("Roy", 0.000454351), + ("Boyer", 0.000453218), + ("Shields", 0.000452807), + ("Lin", 0.000451016), + ("Hancock", 0.000450742), + ("Grimes", 0.000449965), + ("Glenn", 0.000449929), + ("Cline", 0.000449252), + ("Delacruz", 0.00044917), + ("Camacho", 0.000447726), + ("Dillon", 0.0004462), + ("Parrish", 0.000446109), + ("Oneill", 0.000444583), + ("Melton", 0.000444017), + ("Booth", 0.000443889), + ("Kane", 0.000443404), + ("Berg", 0.000442975), + ("Harrell", 0.000442893), + ("Pitts", 0.000442811), + ("Savage", 0.000441943), + ("Wiggins", 0.000441833), + ("Brennan", 0.000441294), + ("Salas", 0.000441166), + ("Marks", 0.000441157), + ("Russo", 0.00043974), + ("Sawyer", 0.000438397), + ("Baxter", 0.000437283), + ("Golden", 0.000437118), + ("Hutchinson", 0.000436844), + ("Liu", 0.000435528), + ("Walter", 0.000435071), + ("Mcdowell", 0.000434258), + ("Wiley", 0.000434048), + ("Rich", 0.00043381), + ("Humphrey", 0.000433746), + ("Johns", 0.000432093), + ("Koch", 0.000432065), + ("Suarez", 0.000431599), + ("Hobbs", 0.000431462), + ("Beard", 0.000430621), + ("Gilmore", 0.000429909), + ("Ibarra", 0.000428492), + ("Keith", 0.00042714), + ("Macias", 0.000427067), + ("Khan", 0.000426829), + ("Andrade", 0.000426729), + ("Ware", 0.000426546), + ("Stephenson", 0.000426363), + ("Henson", 0.000425879), + ("Wilkerson", 0.000425843), + ("Dyer", 0.000425559), + ("Mcclure", 0.000424929), + ("Blackwell", 0.000424838), + ("Mercado", 0.000424308), + ("Tanner", 0.000424079), + ("Eaton", 0.000423997), + ("Clay", 0.000422727), + ("Barron", 0.000422106), + ("Beasley", 0.00042195), + ("Oneal", 0.000421786), + ("Small", 0.000418944), + ("Preston", 0.000418944), + ("Wu", 0.000418624), + ("Zamora", 0.000418542), + ("Macdonald", 0.000418323), + ("Vance", 0.000418149), + ("Snow", 0.000417473), + ("Mcclain", 0.000416294), + ("Stafford", 0.000414366), + ("Orozco", 0.000413818), + ("Barry", 0.000411579), + ("English", 0.00041147), + ("Shannon", 0.000410282), + ("Kline", 0.000410264), + ("Jacobson", 0.000410026), + ("Woodard", 0.000409624), + ("Huang", 0.000408573), + ("Kemp", 0.000408445), + ("Mosley", 0.000408418), + ("Prince", 0.000407888), + ("Merritt", 0.00040776), + ("Hurst", 0.000407404), + ("Villanueva", 0.000407248), + ("Roach", 0.000406188), + ("Nolan", 0.000405887), + ("Lam", 0.000405558), + ("Yoder", 0.000404279), + ("Mccullough", 0.000403164), + ("Lester", 0.0004013), + ("Santana", 0.000400898), + ("Valenzuela", 0.000399938), + ("Winters", 0.000399865), + ("Barrera", 0.000399482), + ("Orr", 0.000398988), + ("Leach", 0.000398988), + ("Berger", 0.000397983), + ("Mckee", 0.000397974), + ("Strong", 0.000396832), + ("Conway", 0.000396512), + ("Stein", 0.000395927), + ("Whitehead", 0.000395735), + ("Bullock", 0.000393095), + ("Escobar", 0.000392492), + ("Knox", 0.000392327), + ("Meadows", 0.000391843), + ("Solomon", 0.000391432), + ("Velez", 0.000391258), + ("Odonnell", 0.000391094), + ("Kerr", 0.000390692), + ("Stout", 0.000389878), + ("Blankenship", 0.000389824), + ("Browning", 0.000389632), + ("Kent", 0.00038922), + ("Lozano", 0.000388946), + ("Bartlett", 0.000388444), + ("Pruitt", 0.000387996), + ("Buck", 0.000387795), + ("Barr", 0.000387713), + ("Gaines", 0.000387137), + ("Durham", 0.000387101), + ("Gentry", 0.000387028), + ("Mcintyre", 0.000386826), + ("Sloan", 0.000386333), + ("Rocha", 0.000385036), + ("Melendez", 0.000385036), + ("Herman", 0.000384597), + ("Sexton", 0.000384496), + ("Moon", 0.000384332), + ("Hendricks", 0.00038266), + ("Rangel", 0.000382559), + ("Stark", 0.000382514), + ("Lowery", 0.00038075), + ("Hardin", 0.000380695), + ("Hull", 0.000380622), + ("Sellers", 0.000379754), + ("Ellison", 0.000378822), + ("Calhoun", 0.000378758), + ("Gillespie", 0.000378219), + ("Mora", 0.000377808), + ("Knapp", 0.000377068), + ("Mccall", 0.000376739), + ("Morse", 0.000375652), + ("Dorsey", 0.000375579), + ("Weeks", 0.000375113), + ("Nielsen", 0.000374692), + ("Livingston", 0.000374299), + ("Leblanc", 0.000373925), + ("Mclean", 0.00037345), + ("Bradshaw", 0.000372746), + ("Glass", 0.000372106), + ("Middleton", 0.00037196), + ("Buckley", 0.000371942), + ("Schaefer", 0.000371549), + ("Frost", 0.000370809), + ("Howe", 0.000370562), + ("House", 0.000369849), + ("Mcintosh", 0.00036963), + ("Ho", 0.000369265), + ("Pennington", 0.000368588), + ("Reilly", 0.000368324), + ("Hebert", 0.000368077), + ("Mcfarland", 0.00036772), + ("Hickman", 0.000367538), + ("Noble", 0.000367474), + ("Spears", 0.000367346), + ("Conrad", 0.000366423), + ("Arias", 0.000366277), + ("Galvan", 0.000365911), + ("Velazquez", 0.000365765), + ("Huynh", 0.000365591), + ("Frederick", 0.000364659), + ("Randolph", 0.000363134), + ("Cantu", 0.000361845), + ("Fitzpatrick", 0.000360931), + ("Mahoney", 0.000360374), + ("Peck", 0.000360301), + ("Villa", 0.000360027), + ("Michael", 0.000359725), + ("Donovan", 0.000358821), + ("Mcconnell", 0.000358209), + ("Walls", 0.00035787), + ("Boyle", 0.000357642), + ("Mayer", 0.000357368), + ("Zuniga", 0.000356875), + ("Giles", 0.000356372), + ("Pineda", 0.000356345), + ("Pace", 0.000356125), + ("Hurley", 0.000356089), + ("Mays", 0.000355568), + ("Mcmillan", 0.000355403), + ("Crosby", 0.000354928), + ("Ayers", 0.000354855), + ("Case", 0.000354152), + ("Bentley", 0.00035374), + ("Shepard", 0.000353658), + ("Everett", 0.000353631), + ("Pugh", 0.00035353), + ("David", 0.000353238), + ("Mcmahon", 0.000352306), + ("Dunlap", 0.000351931), + ("Bender", 0.000351456), + ("Hahn", 0.000350451), + ("Harding", 0.000350323), + ("Acevedo", 0.000349336), + ("Raymond", 0.00034866), + ("Blackburn", 0.000348468), + ("Duffy", 0.000346869), + ("Landry", 0.00034686), + ("Dougherty", 0.00034633), + ("Bautista", 0.000345818), + ("Shah", 0.00034569), + ("Potts", 0.000344356), + ("Arroyo", 0.000344274), + ("Valentine", 0.000344192), + ("Meza", 0.000344128), + ("Gould", 0.00034411), + ("Vaughan", 0.000343479), + ("Fry", 0.000343032), + ("Rush", 0.000342374), + ("Avery", 0.0003421), + ("Herring", 0.000341305), + ("Dodson", 0.000340802), + ("Clements", 0.000340245), + ("Sampson", 0.000340217), + ("Tapia", 0.000339916), + ("Bean", 0.000339404), + ("Lynn", 0.000339221), + ("Crane", 0.000339203), + ("Farley", 0.000339139), + ("Cisneros", 0.000338536), + ("Benton", 0.000338372), + ("Ashley", 0.000338271), + ("Mckay", 0.000337604), + ("Finley", 0.000336928), + ("Best", 0.000336818), + ("Blevins", 0.000336626), + ("Friedman", 0.000336553), + ("Moses", 0.00033638), + ("Sosa", 0.00033637), + ("Blanchard", 0.000335923), + ("Huber", 0.000335603), + ("Frye", 0.000335484), + ("Krueger", 0.000335283), + ("Bernard", 0.000333931), + ("Rosario", 0.000333867), + ("Rubio", 0.000333794), + ("Mullen", 0.000332981), + ("Benjamin", 0.000332953), + ("Haley", 0.000332898), + ("Chung", 0.000332798), + ("Moyer", 0.000332789), + ("Choi", 0.000332505), + ("Horne", 0.000331573), + ("Yu", 0.000331546), + ("Woodward", 0.000331153), + ("Ali", 0.000329664), + ("Nixon", 0.00032928), + ("Hayden", 0.000329161), + ("Rivers", 0.000328759), + ("Estes", 0.000327471), + ("Mccarty", 0.000326365), + ("Richmond", 0.000326338), + ("Stuart", 0.00032621), + ("Maynard", 0.000325726), + ("Brandt", 0.000325433), + ("Oconnell", 0.000325378), + ("Hanna", 0.000325278), + ("Sanford", 0.000324967), + ("Sheppard", 0.000324867), + ("Church", 0.00032473), + ("Burch", 0.000324565), + ("Levy", 0.000324044), + ("Rasmussen", 0.000323944), + ("Coffey", 0.000323843), + ("Ponce", 0.000323459), + ("Faulkner", 0.000323359), + ("Donaldson", 0.000323341), + ("Schmitt", 0.000322783), + ("Novak", 0.000322381), + ("Costa", 0.000321879), + ("Montes", 0.000321595), + ("Booker", 0.000320727), + ("Cordova", 0.000320481), + ("Waller", 0.000319814), + ("Arellano", 0.000319795), + ("Maddox", 0.00031953), + ("Mata", 0.000318781), + ("Bonilla", 0.000318196), + ("Stanton", 0.000318087), + ("Compton", 0.000317867), + ("Kaufman", 0.000317849), + ("Dudley", 0.000317703), + ("Mcpherson", 0.000317639), + ("Beltran", 0.000317392), + ("Dickson", 0.000317045), + ("Mccann", 0.00031699), + ("Villegas", 0.000316917), + ("Proctor", 0.000316899), + ("Hester", 0.000316835), + ("Cantrell", 0.000316826), + ("Daugherty", 0.000316607), + ("Cherry", 0.000316287), + ("Bray", 0.000315921), + ("Davila", 0.000315611), + ("Rowland", 0.000315218), + ("Madden", 0.00031498), + ("Levine", 0.00031498), + ("Spence", 0.000314642), + ("Good", 0.000314596), + ("Irwin", 0.000314085), + ("Werner", 0.000313884), + ("Krause", 0.00031382), + ("Petty", 0.000313207), + ("Whitney", 0.000312961), + ("Baird", 0.000312796), + ("Hooper", 0.000311435), + ("Pollard", 0.000311389), + ("Zavala", 0.000311289), + ("Jarvis", 0.000311124), + ("Holden", 0.000311042), + ("Hendrix", 0.00031096), + ("Haas", 0.00031096), + ("Mcgrath", 0.000310951), + ("Bird", 0.00031032), + ("Lucero", 0.000309955), + ("Terrell", 0.000309882), + ("Riggs", 0.000309461), + ("Joyce", 0.000309233), + ("Rollins", 0.000308812), + ("Mercer", 0.000308812), + ("Galloway", 0.000308593), + ("Duke", 0.000308337), + ("Odom", 0.000308081), + ("Andersen", 0.000306172), + ("Downs", 0.000306044), + ("Hatfield", 0.00030577), + ("Benitez", 0.00030556), + ("Archer", 0.000305285), + ("Huerta", 0.00030471), + ("Travis", 0.000304628), + ("Mcneil", 0.000303714), + ("Hinton", 0.00030344), + ("Zhang", 0.000303376), + ("Hays", 0.000303303), + ("Mayo", 0.000302681), + ("Fritz", 0.000302151), + ("Branch", 0.000301896), + ("Mooney", 0.000301101), + ("Ewing", 0.000300845), + ("Ritter", 0.000300287), + ("Esparza", 0.000299447), + ("Frey", 0.000299109), + ("Braun", 0.00029857), + ("Gay", 0.000298533), + ("Riddle", 0.000298369), + ("Haney", 0.000298277), + ("Kaiser", 0.000297574), + ("Holder", 0.000296651), + ("Chaney", 0.000296349), + ("Mcknight", 0.00029592), + ("Gamble", 0.000295838), + ("Vang", 0.000295435), + ("Cooley", 0.000295015), + ("Carney", 0.000294969), + ("Cowan", 0.000294604), + ("Forbes", 0.000294476), + ("Ferrell", 0.000293983), + ("Davies", 0.0002939), + ("Barajas", 0.000293736), + ("Shea", 0.000293023), + ("Osborn", 0.000292795), + ("Bright", 0.000292777), + ("Cuevas", 0.00029253), + ("Bolton", 0.000292347), + ("Murillo", 0.000292064), + ("Lutz", 0.000291845), + ("Duarte", 0.000291442), + ("Kidd", 0.000291351), + ("Key", 0.000291315), + ("Cooke", 0.000291114), + ) + ) - prefixes_female = OrderedDict(( - ('Mrs.', 0.5), - ('Ms.', 0.1), - ('Miss', 0.1), - ('Dr.', 0.3), - )) - prefixes_male = OrderedDict(( - ('Mr.', 0.7), - ('Dr.', 0.3), - )) + prefixes_female = OrderedDict( + ( + ("Mrs.", 0.5), + ("Ms.", 0.1), + ("Miss", 0.1), + ("Dr.", 0.3), + ) + ) + prefixes_male = OrderedDict( + ( + ("Mr.", 0.7), + ("Dr.", 0.3), + ) + ) # https://en.wikipedia.org/wiki/Gender-neutral_title - prefixes_nonbinary = OrderedDict(( - ('Mx.', 0.5), - ('Ind.', 0.1), - ('Misc.', 0.1), - ('Dr.', 0.3), - )) + prefixes_nonbinary = OrderedDict( + ( + ("Mx.", 0.5), + ("Ind.", 0.1), + ("Misc.", 0.1), + ("Dr.", 0.3), + ) + ) - suffixes_female = OrderedDict(( - ('MD', 0.5), - ('DDS', 0.3), - ('PhD', 0.1), - ('DVM', 0.2), - )) + suffixes_female = OrderedDict( + ( + ("MD", 0.5), + ("DDS", 0.3), + ("PhD", 0.1), + ("DVM", 0.2), + ) + ) # Removed Sr and I as they'd almost never be part of legal names. - suffixes_male = OrderedDict(( - ('Jr.', 0.2), - ('II', 0.05), - ('III', 0.03), - ('IV', 0.015), - ('V', 0.005), - ('MD', 0.3), - ('DDS', 0.2), - ('PhD', 0.1), - ('DVM', 0.1), - )) + suffixes_male = OrderedDict( + ( + ("Jr.", 0.2), + ("II", 0.05), + ("III", 0.03), + ("IV", 0.015), + ("V", 0.005), + ("MD", 0.3), + ("DDS", 0.2), + ("PhD", 0.1), + ("DVM", 0.1), + ) + ) suffixes_nonbinary = suffixes_male.copy() diff --git a/faker/providers/person/es_CA/__init__.py b/faker/providers/person/es_CA/__init__.py index 774d673cbc..db66a855b8 100644 --- a/faker/providers/person/es_CA/__init__.py +++ b/faker/providers/person/es_CA/__init__.py @@ -7,84 +7,87 @@ class Provider(PersonProvider): https://www.idescat.cat/pub/?id=aec&n=946&lang=es&t=2018 https://www.idescat.cat/pub/?id=aec&n=947&lang=es&t=2018 """ + first_names_male = ( - 'Adam', - 'Albert', - 'Aleix', - 'Álex', - 'Antonio', - 'Arnau', - 'Biel', - 'Bruno', - 'Carlos', - 'Daniel', - 'David', - 'Enzo', - 'Èric', - 'Francisco', - 'Hugo', - 'Jan', - 'Javier', - 'Joan', - 'Jordi', - 'Jorge', - 'Josep', - 'José', - 'José María', - 'Juan', - 'Leo', - 'Lucas', - 'Manuel', - 'Marc', - 'Martí', - 'Max', - 'Miguel', - 'Nil', - 'Pau', - 'Pedro', - 'Pol', - 'Ramón', - 'Xavier') + "Adam", + "Albert", + "Aleix", + "Álex", + "Antonio", + "Arnau", + "Biel", + "Bruno", + "Carlos", + "Daniel", + "David", + "Enzo", + "Èric", + "Francisco", + "Hugo", + "Jan", + "Javier", + "Joan", + "Jordi", + "Jorge", + "Josep", + "José", + "José María", + "Juan", + "Leo", + "Lucas", + "Manuel", + "Marc", + "Martí", + "Max", + "Miguel", + "Nil", + "Pau", + "Pedro", + "Pol", + "Ramón", + "Xavier", + ) first_names_female = ( - 'Abril', - 'Aina', - 'Ana', - 'Anna', - 'Antonia', - 'Antònia', - 'Arlet', - 'Carla', - 'Carmen', - 'Chlóe', - 'Clàudia', - 'Cristina', - 'Dolores', - 'Emma', - 'Francisca', - 'Isabel', - 'Jana', - 'Josefa', - 'Júlia', - 'Laia', - 'Laura', - 'Lucia', - 'Marta', - 'Martina', - 'María', - 'María Del Carmen', - 'María Dolores', - 'María Teresa', - 'Mia', - 'Montserrat', - 'Noa', - 'Núria', - 'Ona', - 'Paula', - 'Rosa', - 'Sara', - 'Sofía', - 'Sílvia', - 'Valèria') + "Abril", + "Aina", + "Ana", + "Anna", + "Antonia", + "Antònia", + "Arlet", + "Carla", + "Carmen", + "Chlóe", + "Clàudia", + "Cristina", + "Dolores", + "Emma", + "Francisca", + "Isabel", + "Jana", + "Josefa", + "Júlia", + "Laia", + "Laura", + "Lucia", + "Marta", + "Martina", + "María", + "María Del Carmen", + "María Dolores", + "María Teresa", + "Mia", + "Montserrat", + "Noa", + "Núria", + "Ona", + "Paula", + "Rosa", + "Sara", + "Sofía", + "Sílvia", + "Valèria", + ) first_names = first_names_male + first_names_female diff --git a/faker/providers/person/es_ES/__init__.py b/faker/providers/person/es_ES/__init__.py index e3b3843c07..d76c1e65c7 100644 --- a/faker/providers/person/es_ES/__init__.py +++ b/faker/providers/person/es_ES/__init__.py @@ -1,407 +1,2270 @@ +from typing import Tuple + from .. import Provider as PersonProvider class Provider(PersonProvider): - formats_male = ( - '{{first_name_male}} {{last_name}} {{last_name}}', - '{{first_name_male}} {{last_name}} {{last_name}}', - '{{first_name_male}} {{last_name}} {{last_name}}', - '{{first_name_male}} {{last_name}} {{last_name}}', - '{{first_name_male}} {{last_name}} {{last_name}}', - '{{first_name_male}} {{last_name}} {{last_name}}', - '{{first_name_male}} {{last_name}}', - '{{first_name_male}} {{prefix}} {{last_name}}', - '{{first_name_male}} {{last_name}}-{{last_name}}', - '{{first_name_male}} {{first_name_male}} {{last_name}} {{last_name}}', + formats_male: Tuple[str, ...] = ( + "{{first_name_male}} {{last_name}} {{last_name}}", + "{{first_name_male}} {{last_name}} {{last_name}}", + "{{first_name_male}} {{last_name}} {{last_name}}", + "{{first_name_male}} {{last_name}} {{last_name}}", + "{{first_name_male}} {{last_name}} {{last_name}}", + "{{first_name_male}} {{last_name}} {{last_name}}", + "{{first_name_male}} {{last_name}}", + "{{first_name_male}} {{prefix}} {{last_name}}", + "{{first_name_male}} {{last_name}}-{{last_name}}", + "{{first_name_male}} {{first_name_male}} {{last_name}} {{last_name}}", ) - formats_female = ( - '{{first_name_female}} {{last_name}} {{last_name}}', - '{{first_name_female}} {{last_name}} {{last_name}}', - '{{first_name_female}} {{last_name}} {{last_name}}', - '{{first_name_female}} {{last_name}} {{last_name}}', - '{{first_name_female}} {{last_name}} {{last_name}}', - '{{first_name_female}} {{last_name}} {{last_name}}', - '{{first_name_female}} {{last_name}}', - '{{first_name_female}} {{prefix}} {{last_name}}', - '{{first_name_female}} {{last_name}}-{{last_name}}', - '{{first_name_female}} {{first_name_female}} {{last_name}} {{last_name}}', + formats_female: Tuple[str, ...] = ( + "{{first_name_female}} {{last_name}} {{last_name}}", + "{{first_name_female}} {{last_name}} {{last_name}}", + "{{first_name_female}} {{last_name}} {{last_name}}", + "{{first_name_female}} {{last_name}} {{last_name}}", + "{{first_name_female}} {{last_name}} {{last_name}}", + "{{first_name_female}} {{last_name}} {{last_name}}", + "{{first_name_female}} {{last_name}}", + "{{first_name_female}} {{prefix}} {{last_name}}", + "{{first_name_female}} {{last_name}}-{{last_name}}", + "{{first_name_female}} {{first_name_female}} {{last_name}} {{last_name}}", ) - formats = formats_male + formats_female + formats: Tuple[str, ...] = formats_male + formats_female # 477 male first names, alphabetically. # Source: Álvaro Mondéjar Rubio - first_names_male = ( - 'Aarón', 'Abel', 'Abilio', 'Abraham', 'Adalberto', - 'Adelardo', 'Adolfo', 'Adrián', 'Adán', 'Agapito', 'Agustín', - 'Aitor', 'Albano', 'Albert', 'Alberto', 'Albino', 'Alcides', - 'Ale', 'Alejandro', 'Alejo', 'Alex', 'Alfonso', 'Alfredo', - 'Alonso', 'Amado', 'Amador', 'Amancio', 'Amando', 'Amaro', - 'Ambrosio', 'Amor', 'Américo', 'Amílcar', 'Anacleto', 'Anastasio', - 'Andrés', 'Andrés Felipe', 'Angelino', 'Anselmo', 'Antonio', - 'Aníbal', 'Apolinar', 'Ariel', 'Aristides', 'Armando', - 'Arsenio', 'Artemio', 'Arturo', 'Asdrubal', 'Atilio', 'Augusto', - 'Aureliano', 'Aurelio', 'Baldomero', 'Balduino', 'Baltasar', - 'Bartolomé', 'Basilio', 'Baudelio', 'Bautista', 'Benigno', - 'Benito', 'Benjamín', 'Bernabé', 'Bernardino', 'Bernardo', - 'Berto', 'Blas', 'Bonifacio', 'Borja', 'Bruno', 'Buenaventura', - 'Calisto', 'Calixto', 'Camilo', 'Candelario', 'Carlito', - 'Carlos', 'Carmelo', 'Casemiro', 'Cayetano', 'Cebrián', - 'Cecilio', 'Ceferino', 'Celestino', 'Celso', 'Cesar', 'Che', - 'Chema', 'Chucho', 'Chus', 'Chuy', 'Cipriano', 'Ciriaco', - 'Cirino', 'Ciro', 'Ciríaco', 'Claudio', 'Clemente', 'Cleto', - 'Clímaco', 'Conrado', 'Cornelio', 'Cosme', 'Cristian', - 'Cristian', 'Cristóbal', 'Cruz', 'Curro', 'Custodio', 'Cándido', - 'César', 'Damián', 'Dan', 'Dani', 'Daniel', 'Danilo', 'Darío', - 'David', 'Demetrio', 'Desiderio', 'Diego', 'Dimas', 'Dionisio', - 'Domingo', 'Donato', 'Duilio', 'Edelmiro', 'Edgardo', 'Edmundo', - 'Edu', 'Eduardo', 'Efraín', 'Eladio', 'Eleuterio', 'Eligio', - 'Eliseo', 'Eloy', 'Elpidio', 'Elías', 'Emigdio', 'Emiliano', - 'Emilio', 'Enrique', 'Epifanio', 'Erasmo', 'Eric', 'Ernesto', - 'Espiridión', 'Esteban', 'Eugenio', 'Eusebio', 'Eustaquio', - 'Eutimio', 'Eutropio', 'Evaristo', 'Ezequiel', 'Fabio', 'Fabián', - 'Fabricio', 'Faustino', 'Fausto', 'Federico', 'Feliciano', - 'Felipe', 'Felix', 'Fermín', 'Fernando', 'Fidel', 'Fito', - 'Flavio', 'Florencio', 'Florentino', 'Fortunato', 'Francisco', - 'Francisco Javier', 'Francisco Jose', 'Fulgencio', 'Félix', 'Gabino', - 'Gabriel', 'Galo', 'Gaspar', 'Gastón', 'Geraldo', 'Gerardo', - 'Germán', 'Gervasio', 'Gerónimo', 'Gil', 'Gilberto', 'Glauco', - 'Godofredo', 'Gonzalo', 'Goyo', 'Graciano', 'Gregorio', - 'Guadalupe', 'Guillermo', 'Guiomar', 'Gustavo', 'Haroldo', - 'Hector', 'Heliodoro', 'Heraclio', 'Herberto', 'Heriberto', - 'Hermenegildo', 'Herminio', 'Hernando', 'Hernán', 'Hilario', - 'Hipólito', 'Horacio', 'Hugo', 'Humberto', 'Héctor', 'Ibán', - 'Ignacio', 'Iker', 'Ildefonso', 'Inocencio', 'Isaac', 'Isaías', - 'Isidoro', 'Isidro', 'Ismael', 'Iván', 'Jacinto', 'Jacobo', - 'Jafet', 'Jaime', 'Javi', 'Javier', 'Jenaro', 'Jeremías', - 'Jerónimo', 'Jesús', 'Joan', 'Joaquín', 'Joel', 'Jonatan', 'Jordi', - 'Jordán', 'Jorge', 'Jose', 'Jose Angel', 'Jose Antonio', - 'Jose Carlos', 'Jose Francisco', 'Jose Ignacio', 'Jose Luis', - 'Jose Manuel', 'Jose Miguel', 'Jose Ramón', 'Josep', 'Josué', 'José', - 'José Antonio', 'José Luis', 'José Manuel', 'José Mari', - 'José María', 'José Ángel', 'Juan', 'Juan Antonio', - 'Juan Bautista', 'Juan Carlos', 'Juan Francisco', 'Juan José', - 'Juan Luis', 'Juan Manuel', 'Juan Pablo', 'Juanito', 'Julio', - 'Julio César', 'Julián', 'Kike', 'Lalo', 'Leandro', 'Leocadio', - 'Leonardo', 'Leoncio', 'Leonel', 'Leopoldo', 'León', 'Lino', - 'Lisandro', 'Lope', 'Lorenzo', 'Loreto', 'Lucas', 'Lucho', - 'Luciano', 'Lucio', 'Luis', 'Luis Miguel', 'Luis Ángel', 'Lupe', - 'Luís', 'Lázaro', 'Macario', 'Manolo', 'Manu', 'Manuel', - 'Marc', 'Marcelino', 'Marcelo', 'Marcial', 'Marciano', - 'Marcio', 'Marco', 'Marcos', 'Mariano', 'Marino', 'Mario', - 'Martin', 'Martín', 'María', 'Mateo', 'Matías', 'Mauricio', - 'Maxi', 'Maximiano', 'Maximiliano', 'Maximino', 'Melchor', - 'Miguel', 'Miguel Ángel', 'Modesto', 'Mohamed', 'Moisés', - 'Moreno', 'Máximo', 'Nacho', 'Nacio', 'Nando', 'Narciso', - 'Natalio', 'Natanael', 'Nazaret', 'Nazario', 'Nicanor', 'Nico', - 'Nicodemo', 'Nicolás', 'Nilo', 'Norberto', 'Noé', 'Néstor', - 'Octavio', 'Olegario', 'Omar', 'Onofre', 'Osvaldo', 'Ovidio', - 'Pablo', 'Paco', 'Pancho', 'Pascual', 'Pastor', 'Patricio', - 'Paulino', 'Pedro', 'Pelayo', 'Pepe', 'Pepito', 'Plinio', - 'Plácido', 'Poncio', 'Porfirio', 'Primitivo', 'Prudencio', - 'Pánfilo', 'Pío', 'Quique', 'Quirino', 'Rafa', 'Rafael', - 'Raimundo', 'Ramiro', 'Ramón', 'Raúl', 'Reinaldo', 'Remigio', - 'Renato', 'René', 'Reyes', 'Reynaldo', 'Ricardo', 'Rico', - 'Roberto', 'Rodolfo', 'Rodrigo', 'Rogelio', 'Rolando', 'Roldán', - 'Román', 'Roque', 'Rosario', 'Rosendo', 'Ruben', 'Rubén', - 'Rufino', 'Ruperto', 'Ruy', 'Régulo', 'Rómulo', 'Sabas', - 'Salomón', 'Salvador', 'Samu', 'Samuel', 'Sancho', 'Sandalio', - 'Santiago', 'Santos', 'Saturnino', 'Sebastian', 'Sebastián', - 'Segismundo', 'Sergio', 'Seve', 'Severiano', 'Severino', 'Severo', - 'Sigfrido', 'Silvestre', 'Silvio', 'Simón', 'Sosimo', 'Tadeo', - 'Telmo', 'Teo', 'Teobaldo', 'Teodoro', 'Teodosio', 'Teófilo', - 'Tiburcio', 'Timoteo', 'Tito', 'Tomás', 'Toni', 'Toribio', 'Toño', - 'Trinidad', 'Tristán', 'Ulises', 'Urbano', 'Valentín', 'Valerio', - 'Valero', 'Vasco', 'Venceslás', 'Vicente', 'Victor', - 'Victor Manuel', 'Victoriano', 'Victorino', 'Vidal', 'Vinicio', - 'Virgilio', 'Vito', 'Víctor', 'Wilfredo', 'Wálter', 'Xavier', - 'Yago', 'Zacarías', 'Álvaro', 'Ángel', 'Édgar', 'Íñigo', - 'Óscar', + first_names_male: Tuple[str, ...] = ( + "Aarón", + "Abel", + "Abilio", + "Abraham", + "Adalberto", + "Adelardo", + "Adolfo", + "Adrián", + "Adán", + "Agapito", + "Agustín", + "Aitor", + "Albano", + "Albert", + "Alberto", + "Albino", + "Alcides", + "Ale", + "Alejandro", + "Alejo", + "Alex", + "Alfonso", + "Alfredo", + "Alonso", + "Amado", + "Amador", + "Amancio", + "Amando", + "Amaro", + "Ambrosio", + "Amor", + "Américo", + "Amílcar", + "Anacleto", + "Anastasio", + "Andrés", + "Andrés Felipe", + "Angelino", + "Anselmo", + "Antonio", + "Aníbal", + "Apolinar", + "Ariel", + "Aristides", + "Armando", + "Arsenio", + "Artemio", + "Arturo", + "Asdrubal", + "Atilio", + "Augusto", + "Aureliano", + "Aurelio", + "Baldomero", + "Balduino", + "Baltasar", + "Bartolomé", + "Basilio", + "Baudelio", + "Bautista", + "Benigno", + "Benito", + "Benjamín", + "Bernabé", + "Bernardino", + "Bernardo", + "Berto", + "Blas", + "Bonifacio", + "Borja", + "Bruno", + "Buenaventura", + "Calisto", + "Calixto", + "Camilo", + "Candelario", + "Carlito", + "Carlos", + "Carmelo", + "Casemiro", + "Cayetano", + "Cebrián", + "Cecilio", + "Ceferino", + "Celestino", + "Celso", + "Cesar", + "Che", + "Chema", + "Chucho", + "Chus", + "Chuy", + "Cipriano", + "Ciriaco", + "Cirino", + "Ciro", + "Ciríaco", + "Claudio", + "Clemente", + "Cleto", + "Clímaco", + "Conrado", + "Cornelio", + "Cosme", + "Cristian", + "Cristian", + "Cristóbal", + "Cruz", + "Curro", + "Custodio", + "Cándido", + "César", + "Damián", + "Dan", + "Dani", + "Daniel", + "Danilo", + "Darío", + "David", + "Demetrio", + "Desiderio", + "Diego", + "Dimas", + "Dionisio", + "Domingo", + "Donato", + "Duilio", + "Edelmiro", + "Edgardo", + "Edmundo", + "Edu", + "Eduardo", + "Efraín", + "Eladio", + "Eleuterio", + "Eligio", + "Eliseo", + "Eloy", + "Elpidio", + "Elías", + "Emigdio", + "Emiliano", + "Emilio", + "Enrique", + "Epifanio", + "Erasmo", + "Eric", + "Ernesto", + "Espiridión", + "Esteban", + "Eugenio", + "Eusebio", + "Eustaquio", + "Eutimio", + "Eutropio", + "Evaristo", + "Ezequiel", + "Fabio", + "Fabián", + "Fabricio", + "Faustino", + "Fausto", + "Federico", + "Feliciano", + "Felipe", + "Felix", + "Fermín", + "Fernando", + "Fidel", + "Fito", + "Flavio", + "Florencio", + "Florentino", + "Fortunato", + "Francisco", + "Francisco Javier", + "Francisco Jose", + "Fulgencio", + "Félix", + "Gabino", + "Gabriel", + "Galo", + "Gaspar", + "Gastón", + "Geraldo", + "Gerardo", + "Germán", + "Gervasio", + "Gerónimo", + "Gil", + "Gilberto", + "Glauco", + "Godofredo", + "Gonzalo", + "Goyo", + "Graciano", + "Gregorio", + "Guadalupe", + "Guillermo", + "Guiomar", + "Gustavo", + "Haroldo", + "Hector", + "Heliodoro", + "Heraclio", + "Herberto", + "Heriberto", + "Hermenegildo", + "Herminio", + "Hernando", + "Hernán", + "Hilario", + "Hipólito", + "Horacio", + "Hugo", + "Humberto", + "Héctor", + "Ibán", + "Ignacio", + "Iker", + "Ildefonso", + "Inocencio", + "Isaac", + "Isaías", + "Isidoro", + "Isidro", + "Ismael", + "Iván", + "Jacinto", + "Jacobo", + "Jafet", + "Jaime", + "Javi", + "Javier", + "Jenaro", + "Jeremías", + "Jerónimo", + "Jesús", + "Joan", + "Joaquín", + "Joel", + "Jonatan", + "Jordi", + "Jordán", + "Jorge", + "Jose", + "Jose Angel", + "Jose Antonio", + "Jose Carlos", + "Jose Francisco", + "Jose Ignacio", + "Jose Luis", + "Jose Manuel", + "Jose Miguel", + "Jose Ramón", + "Josep", + "Josué", + "José", + "José Antonio", + "José Luis", + "José Manuel", + "José Mari", + "José María", + "José Ángel", + "Juan", + "Juan Antonio", + "Juan Bautista", + "Juan Carlos", + "Juan Francisco", + "Juan José", + "Juan Luis", + "Juan Manuel", + "Juan Pablo", + "Juanito", + "Julio", + "Julio César", + "Julián", + "Kike", + "Lalo", + "Leandro", + "Leocadio", + "Leonardo", + "Leoncio", + "Leonel", + "Leopoldo", + "León", + "Lino", + "Lisandro", + "Lope", + "Lorenzo", + "Loreto", + "Lucas", + "Lucho", + "Luciano", + "Lucio", + "Luis", + "Luis Miguel", + "Luis Ángel", + "Lupe", + "Luís", + "Lázaro", + "Macario", + "Manolo", + "Manu", + "Manuel", + "Marc", + "Marcelino", + "Marcelo", + "Marcial", + "Marciano", + "Marcio", + "Marco", + "Marcos", + "Mariano", + "Marino", + "Mario", + "Martin", + "Martín", + "María", + "Mateo", + "Matías", + "Mauricio", + "Maxi", + "Maximiano", + "Maximiliano", + "Maximino", + "Melchor", + "Miguel", + "Miguel Ángel", + "Modesto", + "Mohamed", + "Moisés", + "Moreno", + "Máximo", + "Nacho", + "Nacio", + "Nando", + "Narciso", + "Natalio", + "Natanael", + "Nazaret", + "Nazario", + "Nicanor", + "Nico", + "Nicodemo", + "Nicolás", + "Nilo", + "Norberto", + "Noé", + "Néstor", + "Octavio", + "Olegario", + "Omar", + "Onofre", + "Osvaldo", + "Ovidio", + "Pablo", + "Paco", + "Pancho", + "Pascual", + "Pastor", + "Patricio", + "Paulino", + "Pedro", + "Pelayo", + "Pepe", + "Pepito", + "Plinio", + "Plácido", + "Poncio", + "Porfirio", + "Primitivo", + "Prudencio", + "Pánfilo", + "Pío", + "Quique", + "Quirino", + "Rafa", + "Rafael", + "Raimundo", + "Ramiro", + "Ramón", + "Raúl", + "Reinaldo", + "Remigio", + "Renato", + "René", + "Reyes", + "Reynaldo", + "Ricardo", + "Rico", + "Roberto", + "Rodolfo", + "Rodrigo", + "Rogelio", + "Rolando", + "Roldán", + "Román", + "Roque", + "Rosario", + "Rosendo", + "Ruben", + "Rubén", + "Rufino", + "Ruperto", + "Ruy", + "Régulo", + "Rómulo", + "Sabas", + "Salomón", + "Salvador", + "Samu", + "Samuel", + "Sancho", + "Sandalio", + "Santiago", + "Santos", + "Saturnino", + "Sebastian", + "Sebastián", + "Segismundo", + "Sergio", + "Seve", + "Severiano", + "Severino", + "Severo", + "Sigfrido", + "Silvestre", + "Silvio", + "Simón", + "Sosimo", + "Tadeo", + "Telmo", + "Teo", + "Teobaldo", + "Teodoro", + "Teodosio", + "Teófilo", + "Tiburcio", + "Timoteo", + "Tito", + "Tomás", + "Toni", + "Toribio", + "Toño", + "Trinidad", + "Tristán", + "Ulises", + "Urbano", + "Valentín", + "Valerio", + "Valero", + "Vasco", + "Venceslás", + "Vicente", + "Victor", + "Victor Manuel", + "Victoriano", + "Victorino", + "Vidal", + "Vinicio", + "Virgilio", + "Vito", + "Víctor", + "Wilfredo", + "Wálter", + "Xavier", + "Yago", + "Zacarías", + "Álvaro", + "Ángel", + "Édgar", + "Íñigo", + "Óscar", ) # 477 female first names, alphabetically. # Source: Álvaro Mondéjar Rubio - first_names_female = ( - 'Abigaíl', 'Abril', 'Adela', 'Adelaida', 'Adelia', - 'Adelina', 'Adora', 'Adoración', 'Adriana', 'Agustina', 'Ainara', - 'Ainoa', 'Aitana', 'Alba', 'Albina', 'Ale', 'Alejandra', - 'Alexandra', 'Alicia', 'Alma', 'Almudena', 'Alondra', 'Amada', - 'Amalia', 'Amanda', 'Amarilis', 'Amaya', 'Amelia', 'Amor', - 'Amparo', 'América', 'Ana', 'Ana Belén', 'Ana Sofía', 'Anabel', - 'Anastasia', 'Andrea', 'Angelina', 'Angelita', 'Angélica', 'Ani', - 'Anita', 'Anna', 'Anselma', 'Antonia', 'Anunciación', - 'Apolonia', 'Araceli', 'Arcelia', 'Ariadna', 'Ariel', 'Armida', - 'Aroa', 'Aránzazu', 'Ascensión', 'Asunción', 'Aura', - 'Aurelia', 'Aurora', 'Azahar', 'Azahara', 'Azeneth', 'Azucena', - 'Beatriz', 'Begoña', 'Belen', 'Belén', 'Benigna', 'Benita', - 'Bernarda', 'Bernardita', 'Berta', 'Bibiana', 'Bienvenida', - 'Blanca', 'Brunilda', 'Brígida', 'Bárbara', 'Calista', - 'Calixta', 'Camila', 'Candela', 'Candelaria', 'Candelas', - 'Caridad', 'Carina', 'Carla', 'Carlota', 'Carmela', 'Carmelita', - 'Carmen', 'Carmina', 'Carolina', 'Casandra', 'Catalina', - 'Cayetana', 'Cecilia', 'Celestina', 'Celia', 'Charo', 'Chelo', - 'Chita', 'Chus', 'Cintia', 'Clara', 'Clarisa', 'Claudia', - 'Clementina', 'Cloe', 'Clotilde', 'Concepción', 'Concha', - 'Constanza', 'Consuela', 'Consuelo', 'Coral', 'Corona', - 'Crescencia', 'Cristina', 'Cruz', 'Custodia', 'Cándida', 'Dafne', - 'Dalila', 'Daniela', 'Delfina', 'Delia', 'Diana', 'Dionisia', - 'Dolores', 'Dominga', 'Domitila', 'Dora', 'Dorita', 'Dorotea', - 'Dulce', 'Débora', 'Edelmira', 'Elba', 'Elena', 'Eli', 'Eliana', - 'Eligia', 'Elisa', 'Elisabet', 'Elodia', 'Eloísa', 'Elvira', - 'Ema', 'Emelina', 'Emilia', 'Emiliana', 'Emma', 'Emperatriz', - 'Encarna', 'Encarnacion', 'Encarnación', 'Encarnita', - 'Esmeralda', 'Esperanza', 'Estefanía', 'Estela', 'Ester', 'Esther', - 'Estrella', 'Etelvina', 'Eufemia', 'Eugenia', 'Eulalia', - 'Eusebia', 'Eva', 'Eva María', 'Evangelina', 'Evelia', 'Evita', - 'Fabiana', 'Fabiola', 'Fanny', 'Febe', 'Felicia', 'Feliciana', - 'Felicidad', 'Felipa', 'Felisa', 'Fernanda', 'Fidela', 'Filomena', - 'Flavia', 'Flor', 'Flora', 'Florencia', 'Florentina', 'Florina', - 'Florinda', 'Fortunata', 'Francisca', 'Fátima', 'Gabriela', - 'Gala', 'Gema', 'Genoveva', 'Georgina', 'Gertrudis', 'Gisela', - 'Gloria', 'Gracia', 'Graciana', 'Graciela', 'Griselda', - 'Guadalupe', 'Guiomar', 'Haydée', 'Herminia', 'Hilda', 'Hortensia', - 'Ignacia', 'Ileana', 'Imelda', 'Inmaculada', 'Inés', 'Irene', - 'Iris', 'Irma', 'Isa', 'Isabel', 'Isabela', 'Isaura', - 'Isidora', 'Itziar', 'Jacinta', 'Javiera', 'Jennifer', 'Jenny', - 'Jessica', 'Jesusa', 'Jimena', 'Joaquina', 'Jordana', 'Josefa', - 'Josefina', 'José', 'Jovita', 'Juana', 'Juanita', 'Judith', - 'Julia', 'Juliana', 'Julie', 'Julieta', 'Lara', 'Laura', - 'Leandra', 'Leire', 'Leocadia', 'Leonor', 'Leticia', 'Leyre', - 'Lidia', 'Ligia', 'Lilia', 'Liliana', 'Lina', 'Loida', 'Lola', - 'Lorena', 'Lorenza', 'Loreto', 'Lourdes', 'Luciana', 'Lucila', - 'Lucía', 'Luisa', 'Luisina', 'Luna', 'Lupe', 'Lupita', 'Luz', - 'Macarena', 'Macaria', 'Magdalena', 'Maite', 'Malena', 'Mamen', - 'Manola', 'Manu', 'Manuela', 'Manuelita', 'Mar', 'Marcela', - 'Marcia', 'Margarita', 'Mariana', 'Marianela', 'Maribel', - 'Maricela', 'Maricruz', 'Marina', 'Marisa', 'Marisela', 'Marisol', - 'Maristela', 'Marita', 'Marta', 'Martina', 'Martirio', 'María', - 'María Belén', 'María Carmen', 'María Cristina', - 'María Del Carmen', 'María Dolores', 'María Fernanda', 'María Jesús', - 'María José', 'María Luisa', 'María Manuela', 'María Pilar', - 'María Teresa', 'María Ángeles', 'Matilde', 'Maura', 'Maxi', 'Mayte', - 'Melania', 'Melisa', 'Mercedes', 'Merche', 'Micaela', 'Miguela', - 'Milagros', 'Mireia', 'Miriam', 'Mirta', 'Modesta', 'Montserrat', - 'Morena', 'Máxima', 'Mónica', 'Nadia', 'Narcisa', 'Natalia', - 'Natividad', 'Nayara', 'Nazaret', 'Nerea', 'Nereida', 'Nicolasa', - 'Nidia', 'Nieves', 'Nilda', 'Noa', 'Noelia', 'Noemí', 'Nuria', - 'Nydia', 'Nélida', 'Obdulia', 'Octavia', 'Odalis', 'Odalys', - 'Ofelia', 'Olalla', 'Olga', 'Olimpia', 'Olivia', 'Oriana', - 'Otilia', 'Paca', 'Pacífica', 'Palmira', 'Paloma', 'Paola', - 'Pascuala', 'Pastora', 'Patricia', 'Paula', 'Paulina', 'Paz', - 'Pepita', 'Perla', 'Perlita', 'Petrona', 'Piedad', 'Pilar', - 'Pili', 'Primitiva', 'Priscila', 'Prudencia', 'Purificación', - 'Pía', 'Rafaela', 'Ramona', 'Raquel', 'Rebeca', 'Regina', - 'Reina', 'Remedios', 'Renata', 'Reyes', 'Reyna', 'Ricarda', - 'Rita', 'Roberta', 'Rocío', 'Rosa', 'Rosa María', 'Rosalina', - 'Rosalinda', 'Rosalva', 'Rosalía', 'Rosario', 'Rosaura', 'Rosenda', - 'Roxana', 'Rufina', 'Ruperta', 'Ruth', 'Sabina', 'Salomé', - 'Salud', 'Samanta', 'Sandra', 'Sara', 'Sarita', 'Saturnina', - 'Selena', 'Serafina', 'Silvia', 'Socorro', 'Sofía', 'Sol', - 'Soledad', 'Sonia', 'Soraya', 'Susana', 'Susanita', 'Tamara', - 'Tania', 'Tatiana', 'Tecla', 'Teodora', 'Tere', 'Teresa', - 'Teresita', 'Teófila', 'Tomasa', 'Trini', 'Trinidad', 'Valentina', - 'Valeria', 'Vanesa', 'Vera', 'Verónica', 'Vicenta', 'Victoria', - 'Vilma', 'Violeta', 'Virginia', 'Visitación', 'Viviana', - 'Ximena', 'Xiomara', 'Yaiza', 'Yolanda', 'Yésica', 'Yéssica', - 'Zaida', 'Zaira', 'Zoraida', 'África', 'Ágata', 'Águeda', - 'Ámbar', 'Ángela', 'Ángeles', 'Áurea', 'Íngrid', 'Úrsula', + first_names_female: Tuple[str, ...] = ( + "Abigaíl", + "Abril", + "Adela", + "Adelaida", + "Adelia", + "Adelina", + "Adora", + "Adoración", + "Adriana", + "Agustina", + "Ainara", + "Ainoa", + "Aitana", + "Alba", + "Albina", + "Ale", + "Alejandra", + "Alexandra", + "Alicia", + "Alma", + "Almudena", + "Alondra", + "Amada", + "Amalia", + "Amanda", + "Amarilis", + "Amaya", + "Amelia", + "Amor", + "Amparo", + "América", + "Ana", + "Ana Belén", + "Ana Sofía", + "Anabel", + "Anastasia", + "Andrea", + "Angelina", + "Angelita", + "Angélica", + "Ani", + "Anita", + "Anna", + "Anselma", + "Antonia", + "Anunciación", + "Apolonia", + "Araceli", + "Arcelia", + "Ariadna", + "Ariel", + "Armida", + "Aroa", + "Aránzazu", + "Ascensión", + "Asunción", + "Aura", + "Aurelia", + "Aurora", + "Azahar", + "Azahara", + "Azeneth", + "Azucena", + "Beatriz", + "Begoña", + "Belen", + "Belén", + "Benigna", + "Benita", + "Bernarda", + "Bernardita", + "Berta", + "Bibiana", + "Bienvenida", + "Blanca", + "Brunilda", + "Brígida", + "Bárbara", + "Calista", + "Calixta", + "Camila", + "Candela", + "Candelaria", + "Candelas", + "Caridad", + "Carina", + "Carla", + "Carlota", + "Carmela", + "Carmelita", + "Carmen", + "Carmina", + "Carolina", + "Casandra", + "Catalina", + "Cayetana", + "Cecilia", + "Celestina", + "Celia", + "Charo", + "Chelo", + "Chita", + "Chus", + "Cintia", + "Clara", + "Clarisa", + "Claudia", + "Clementina", + "Cloe", + "Clotilde", + "Concepción", + "Concha", + "Constanza", + "Consuela", + "Consuelo", + "Coral", + "Corona", + "Crescencia", + "Cristina", + "Cruz", + "Custodia", + "Cándida", + "Dafne", + "Dalila", + "Daniela", + "Delfina", + "Delia", + "Diana", + "Dionisia", + "Dolores", + "Dominga", + "Domitila", + "Dora", + "Dorita", + "Dorotea", + "Dulce", + "Débora", + "Edelmira", + "Elba", + "Elena", + "Eli", + "Eliana", + "Eligia", + "Elisa", + "Elisabet", + "Elodia", + "Eloísa", + "Elvira", + "Ema", + "Emelina", + "Emilia", + "Emiliana", + "Emma", + "Emperatriz", + "Encarna", + "Encarnacion", + "Encarnación", + "Encarnita", + "Esmeralda", + "Esperanza", + "Estefanía", + "Estela", + "Ester", + "Esther", + "Estrella", + "Etelvina", + "Eufemia", + "Eugenia", + "Eulalia", + "Eusebia", + "Eva", + "Eva María", + "Evangelina", + "Evelia", + "Evita", + "Fabiana", + "Fabiola", + "Fanny", + "Febe", + "Felicia", + "Feliciana", + "Felicidad", + "Felipa", + "Felisa", + "Fernanda", + "Fidela", + "Filomena", + "Flavia", + "Flor", + "Flora", + "Florencia", + "Florentina", + "Florina", + "Florinda", + "Fortunata", + "Francisca", + "Fátima", + "Gabriela", + "Gala", + "Gema", + "Genoveva", + "Georgina", + "Gertrudis", + "Gisela", + "Gloria", + "Gracia", + "Graciana", + "Graciela", + "Griselda", + "Guadalupe", + "Guiomar", + "Haydée", + "Herminia", + "Hilda", + "Hortensia", + "Ignacia", + "Ileana", + "Imelda", + "Inmaculada", + "Inés", + "Irene", + "Iris", + "Irma", + "Isa", + "Isabel", + "Isabela", + "Isaura", + "Isidora", + "Itziar", + "Jacinta", + "Javiera", + "Jennifer", + "Jenny", + "Jessica", + "Jesusa", + "Jimena", + "Joaquina", + "Jordana", + "Josefa", + "Josefina", + "José", + "Jovita", + "Juana", + "Juanita", + "Judith", + "Julia", + "Juliana", + "Julie", + "Julieta", + "Lara", + "Laura", + "Leandra", + "Leire", + "Leocadia", + "Leonor", + "Leticia", + "Leyre", + "Lidia", + "Ligia", + "Lilia", + "Liliana", + "Lina", + "Loida", + "Lola", + "Lorena", + "Lorenza", + "Loreto", + "Lourdes", + "Luciana", + "Lucila", + "Lucía", + "Luisa", + "Luisina", + "Luna", + "Lupe", + "Lupita", + "Luz", + "Macarena", + "Macaria", + "Magdalena", + "Maite", + "Malena", + "Mamen", + "Manola", + "Manu", + "Manuela", + "Manuelita", + "Mar", + "Marcela", + "Marcia", + "Margarita", + "Mariana", + "Marianela", + "Maribel", + "Maricela", + "Maricruz", + "Marina", + "Marisa", + "Marisela", + "Marisol", + "Maristela", + "Marita", + "Marta", + "Martina", + "Martirio", + "María", + "María Belén", + "María Carmen", + "María Cristina", + "María Del Carmen", + "María Dolores", + "María Fernanda", + "María Jesús", + "María José", + "María Luisa", + "María Manuela", + "María Pilar", + "María Teresa", + "María Ángeles", + "Matilde", + "Maura", + "Maxi", + "Mayte", + "Melania", + "Melisa", + "Mercedes", + "Merche", + "Micaela", + "Miguela", + "Milagros", + "Mireia", + "Miriam", + "Mirta", + "Modesta", + "Montserrat", + "Morena", + "Máxima", + "Mónica", + "Nadia", + "Narcisa", + "Natalia", + "Natividad", + "Nayara", + "Nazaret", + "Nerea", + "Nereida", + "Nicolasa", + "Nidia", + "Nieves", + "Nilda", + "Noa", + "Noelia", + "Noemí", + "Nuria", + "Nydia", + "Nélida", + "Obdulia", + "Octavia", + "Odalis", + "Odalys", + "Ofelia", + "Olalla", + "Olga", + "Olimpia", + "Olivia", + "Oriana", + "Otilia", + "Paca", + "Pacífica", + "Palmira", + "Paloma", + "Paola", + "Pascuala", + "Pastora", + "Patricia", + "Paula", + "Paulina", + "Paz", + "Pepita", + "Perla", + "Perlita", + "Petrona", + "Piedad", + "Pilar", + "Pili", + "Primitiva", + "Priscila", + "Prudencia", + "Purificación", + "Pía", + "Rafaela", + "Ramona", + "Raquel", + "Rebeca", + "Regina", + "Reina", + "Remedios", + "Renata", + "Reyes", + "Reyna", + "Ricarda", + "Rita", + "Roberta", + "Rocío", + "Rosa", + "Rosa María", + "Rosalina", + "Rosalinda", + "Rosalva", + "Rosalía", + "Rosario", + "Rosaura", + "Rosenda", + "Roxana", + "Rufina", + "Ruperta", + "Ruth", + "Sabina", + "Salomé", + "Salud", + "Samanta", + "Sandra", + "Sara", + "Sarita", + "Saturnina", + "Selena", + "Serafina", + "Silvia", + "Socorro", + "Sofía", + "Sol", + "Soledad", + "Sonia", + "Soraya", + "Susana", + "Susanita", + "Tamara", + "Tania", + "Tatiana", + "Tecla", + "Teodora", + "Tere", + "Teresa", + "Teresita", + "Teófila", + "Tomasa", + "Trini", + "Trinidad", + "Valentina", + "Valeria", + "Vanesa", + "Vera", + "Verónica", + "Vicenta", + "Victoria", + "Vilma", + "Violeta", + "Virginia", + "Visitación", + "Viviana", + "Ximena", + "Xiomara", + "Yaiza", + "Yolanda", + "Yésica", + "Yéssica", + "Zaida", + "Zaira", + "Zoraida", + "África", + "Ágata", + "Águeda", + "Ámbar", + "Ángela", + "Ángeles", + "Áurea", + "Íngrid", + "Úrsula", ) first_names = first_names_male + first_names_female last_names = ( - 'Abad', 'Abascal', 'Abella', 'Abellán', 'Abril', 'Acedo', 'Acero', - 'Acevedo', 'Acosta', 'Acuña', 'Adadia', 'Adán', 'Aguado', 'Agudo', - 'Aguilar', 'Aguilera', 'Aguiló', 'Aguirre', 'Agullo', 'Agustí', 'Agustín', - 'Alarcón', 'Alba', 'Alberdi', 'Albero', 'Alberola', 'Alberto', 'Alcalde', - 'Alcalá', 'Alcaraz', 'Alcolea', 'Alcántara', 'Alcázar', 'Alegre', 'Alegria', - 'Alemany', 'Alemán', 'Alfaro', 'Alfonso', 'Aliaga', 'Aller', 'Almagro', - 'Almansa', 'Almazán', 'Almeida', 'Alonso', 'Alsina', 'Alvarado', 'Alvarez', - 'Amador', 'Amat', 'Amaya', 'Amigó', 'Amo', 'Amor', 'Amores', - 'Amorós', 'Anaya', 'Andrade', 'Andres', 'Andreu', 'Andrés', 'Anglada', - 'Anguita', 'Angulo', 'Antón', 'Antúnez', 'Aparicio', 'Aragonés', 'Aragón', - 'Aramburu', 'Arana', 'Aranda', 'Araujo', 'Arce', 'Arco', 'Arcos', - 'Arellano', 'Arenas', 'Arias', 'Ariza', 'Ariño', 'Arjona', 'Armas', - 'Armengol', 'Arnaiz', 'Arnal', 'Arnau', 'Aroca', 'Arranz', 'Arregui', - 'Arribas', 'Arrieta', 'Arroyo', 'Arteaga', 'Artigas', 'Arévalo', 'Asenjo', - 'Asensio', 'Atienza', 'Avilés', 'Ayala', 'Ayllón', 'Ayuso', 'Azcona', - 'Aznar', 'Azorin', 'Badía', 'Baena', 'Baeza', 'Balaguer', 'Ballester', - 'Ballesteros', 'Baquero', 'Barba', 'Barbero', 'Barberá', 'Barceló', 'Barco', - 'Barragán', 'Barral', 'Barranco', 'Barreda', 'Barrena', 'Barrera', 'Barriga', - 'Barrio', 'Barrios', 'Barros', 'Barroso', 'Bartolomé', 'Baró', 'Barón', - 'Bas', 'Bastida', 'Batalla', 'Batlle', 'Bautista', 'Bauzà', 'Bayo', - 'Bayona', 'Bayón', 'Baños', 'Becerra', 'Bejarano', 'Belda', 'Bellido', - 'Bello', 'Belmonte', 'Beltran', 'Beltrán', 'Benavent', 'Benavente', 'Benavides', - 'Benet', 'Benitez', 'Benito', 'Benítez', 'Berenguer', 'Bermejo', 'Bermudez', - 'Bermúdez', 'Bernad', 'Bernal', 'Bernat', 'Berrocal', 'Bertrán', 'Bilbao', - 'Blanca', 'Blanch', 'Blanco', 'Blanes', 'Blasco', 'Blazquez', 'Blázquez', - 'Boada', 'Boix', 'Bolaños', 'Bonet', 'Bonilla', 'Borja', 'Borrego', - 'Borrell', 'Borrás', 'Bosch', 'Botella', 'Bou', 'Bravo', 'Briones', - 'Bru', 'Buendía', 'Bueno', 'Burgos', 'Busquets', 'Bustamante', 'Bustos', - 'Báez', 'Bárcena', 'Caballero', 'Cabanillas', 'Cabañas', 'Cabello', 'Cabeza', - 'Cabezas', 'Cabo', 'Cabrera', 'Cabrero', 'Cadenas', 'Cal', 'Calatayud', - 'Calderon', 'Calderón', 'Calleja', 'Calvet', 'Calvo', 'Calzada', 'Camacho', - 'Camino', 'Campillo', 'Campo', 'Campos', 'Campoy', 'Camps', 'Canales', - 'Canals', 'Canet', 'Cano', 'Cantero', 'Cantón', 'Caparrós', 'Capdevila', - 'Carbajo', 'Carballo', 'Carbonell', 'Carbó', 'Cardona', 'Carlos', 'Carmona', - 'Carnero', 'Caro', 'Carpio', 'Carranza', 'Carrasco', 'Carrera', 'Carreras', - 'Carretero', 'Carreño', 'Carrillo', 'Carrión', 'Carro', 'Carvajal', 'Casado', - 'Casal', 'Casals', 'Casanova', 'Casanovas', 'Casares', 'Casas', 'Cases', - 'Castañeda', 'Castejón', 'Castell', 'Castellanos', 'Castells', 'Castelló', 'Castilla', - 'Castillo', 'Castrillo', 'Castro', 'Catalá', 'Catalán', 'Cazorla', 'Cañas', - 'Cañellas', 'Cañete', 'Cañizares', 'Cepeda', 'Cerdá', 'Cerdán', 'Cerezo', - 'Cerro', 'Cervantes', 'Cervera', 'Chacón', 'Chamorro', 'Chaparro', 'Chaves', - 'Checa', 'Chico', 'Cid', 'Cifuentes', 'Cisneros', 'Clavero', 'Clemente', - 'Cobo', 'Cobos', 'Coca', 'Codina', 'Coello', 'Coll', 'Collado', - 'Colom', 'Coloma', 'Colomer', 'Comas', 'Company', 'Conde', 'Conesa', - 'Contreras', 'Corbacho', 'Cordero', 'Cornejo', 'Corominas', 'Coronado', 'Corral', - 'Correa', 'Cortes', 'Cortina', 'Cortés', 'Costa', 'Crespi', 'Crespo', - 'Criado', 'Cruz', 'Cuadrado', 'Cuenca', 'Cuervo', 'Cuesta', 'Cueto', - 'Cuevas', 'Cuéllar', 'Cáceres', 'Cámara', 'Cánovas', 'Cárdenas', 'Céspedes', - 'Córdoba', 'Cózar', 'Dalmau', 'Daza', 'Delgado', 'Diaz', 'Diego', - 'Diez', 'Diéguez', 'Domingo', 'Dominguez', 'Doménech', 'Domínguez', 'Donaire', - 'Donoso', 'Duarte', 'Dueñas', 'Duque', 'Duran', 'Durán', 'Dávila', - 'Díaz', 'Díez', 'Echevarría', 'Echeverría', 'Egea', 'Elorza', 'Elías', - 'Enríquez', 'Escalona', 'Escamilla', 'Escobar', 'Escolano', 'Escribano', 'Escrivá', - 'Escudero', 'Espada', 'Esparza', 'España', 'Español', 'Espejo', 'Espinosa', - 'Esteban', 'Esteve', 'Estevez', 'Estrada', 'Estévez', 'Exposito', 'Expósito', - 'Fabra', 'Fabregat', 'Fajardo', 'Falcó', 'Falcón', 'Farré', 'Feijoo', - 'Feliu', 'Fernandez', 'Fernández', 'Ferrando', 'Ferrer', 'Ferrera', 'Ferreras', - 'Ferrero', 'Ferrán', 'Ferrández', 'Ferrándiz', 'Figueras', 'Figueroa', 'Figuerola', - 'Fiol', 'Flor', 'Flores', 'Folch', 'Fonseca', 'Font', 'Fortuny', - 'Franch', 'Francisco', 'Franco', 'Frutos', 'Frías', 'Fuente', 'Fuentes', - 'Fuertes', 'Fuster', 'Fábregas', 'Gabaldón', 'Galan', 'Galiano', 'Galindo', - 'Gallardo', 'Gallart', 'Gallego', 'Gallo', 'Galvez', 'Galván', 'Galán', - 'Garay', 'Garcia', 'Garcés', 'García', 'Gargallo', 'Garmendia', 'Garrido', - 'Garriga', 'Garzón', 'Gascón', 'Gaya', 'Gelabert', 'Gibert', 'Gil', - 'Gilabert', 'Gimenez', 'Gimeno', 'Giménez', 'Giner', 'Giralt', 'Girona', - 'Girón', 'Gisbert', 'Godoy', 'Goicoechea', 'Gomez', 'Gomila', 'Gomis', - 'Gonzalez', 'Gonzalo', 'González', 'Gordillo', 'Goñi', 'Gracia', 'Granados', - 'Grande', 'Gras', 'Grau', 'Gual', 'Guardia', 'Guardiola', 'Guerra', - 'Guerrero', 'Guijarro', 'Guillen', 'Guillén', 'Guitart', 'Gutierrez', 'Gutiérrez', - 'Guzman', 'Guzmán', 'Gálvez', 'Gámez', 'Gárate', 'Gómez', 'Haro', - 'Heras', 'Heredia', 'Hernandez', 'Hernando', 'Hernández', 'Herranz', 'Herrera', - 'Herrero', 'Hervia', 'Hervás', 'Hidalgo', 'Hierro', 'Higueras', 'Hoyos', - 'Hoz', 'Huerta', 'Huertas', 'Huguet', 'Hurtado', 'Ibarra', 'Ibañez', - 'Iborra', 'Ibáñez', 'Iglesia', 'Iglesias', 'Infante', 'Iniesta', 'Iriarte', - 'Isern', 'Izaguirre', 'Izquierdo', 'Iñiguez', 'Jara', 'Jaume', 'Jaén', - 'Jerez', 'Jimenez', 'Jiménez', 'Jordá', 'Jordán', 'Jove', 'Jover', - 'Juan', 'Juliá', 'Julián', 'Jurado', 'Juárez', 'Jáuregui', 'Jódar', - 'Lago', 'Laguna', 'Lamas', 'Landa', 'Lara', 'Larrañaga', 'Larrea', - 'Lasa', 'Lastra', 'Leal', 'Ledesma', 'Leiva', 'Leon', 'Lerma', - 'León', 'Lillo', 'Linares', 'Llabrés', 'Lladó', 'Llamas', 'Llano', - 'Llanos', 'Lledó', 'Llobet', 'Llopis', 'Llorens', 'Llorente', 'Lloret', - 'Lluch', 'Lobato', 'Lobo', 'Lopez', 'Lorenzo', 'Losa', 'Losada', - 'Lozano', 'Lucas', 'Lucena', 'Luján', 'Lumbreras', 'Luna', 'Luque', - 'Luz', 'Luís', 'López', 'Machado', 'Macias', 'Macías', 'Madrid', - 'Madrigal', 'Maestre', 'Maldonado', 'Malo', 'Mancebo', 'Manjón', 'Manrique', - 'Manso', 'Manuel', 'Manzanares', 'Manzano', 'Marco', 'Marcos', 'Marin', - 'Mariscal', 'Mariño', 'Marquez', 'Marqués', 'Marti', 'Martin', 'Martinez', - 'Martorell', 'Martí', 'Martín', 'Martínez', 'Marí', 'Marín', 'Mas', - 'Mascaró', 'Mata', 'Matas', 'Mate', 'Mateo', 'Mateos', 'Mateu', - 'Mayo', 'Mayol', 'Mayoral', 'Maza', 'Medina', 'Melero', 'Meléndez', - 'Mena', 'Mendez', 'Mendizábal', 'Mendoza', 'Menendez', 'Menéndez', 'Mercader', - 'Merino', 'Mesa', 'Miguel', 'Milla', 'Millán', 'Mir', 'Miralles', - 'Miranda', 'Miró', 'Moles', 'Molina', 'Moliner', 'Molins', 'Moll', - 'Monreal', 'Montalbán', 'Montaña', 'Montenegro', 'Montero', 'Montes', 'Montesinos', - 'Montoya', 'Montserrat', 'Mora', 'Moraleda', 'Morales', 'Morante', 'Morata', - 'Morcillo', 'Morell', 'Moreno', 'Morera', 'Morillo', 'Morán', 'Mosquera', - 'Moya', 'Mulet', 'Mur', 'Murcia', 'Murillo', 'Muro', 'Muñoz', - 'Mármol', 'Márquez', 'Méndez', 'Mínguez', 'Múgica', 'Múñiz', 'Nadal', - 'Naranjo', 'Narváez', 'Navarrete', 'Navarro', 'Navas', 'Nebot', 'Neira', - 'Nevado', 'Nicolau', 'Nicolás', 'Nieto', 'Niño', 'Nogueira', 'Noguera', - 'Nogués', 'Noriega', 'Novoa', 'Nuñez', 'Núñez', 'Ocaña', 'Ochoa', - 'Ojeda', 'Oliva', 'Olivares', 'Oliver', 'Olivera', 'Oliveras', 'Olivé', - 'Oller', 'Olmedo', 'Olmo', 'Ordóñez', 'Orozco', 'Ortega', 'Ortiz', - 'Ortuño', 'Osorio', 'Osuna', 'Otero', 'Pablo', 'Pacheco', 'Padilla', - 'Pagès', 'Palacio', 'Palacios', 'Palau', 'Pallarès', 'Palma', 'Palmer', - 'Palomar', 'Palomares', 'Palomino', 'Palomo', 'Paniagua', 'Pardo', 'Paredes', - 'Pareja', 'Parejo', 'Parra', 'Pascual', 'Pastor', 'Patiño', 'Pavón', - 'Paz', 'Pazos', 'Pedraza', 'Pedrero', 'Pedro', 'Pedrosa', 'Peinado', - 'Peiró', 'Pelayo', 'Pellicer', 'Peláez', 'Pera', 'Peral', 'Perales', - 'Peralta', 'Perea', 'Pereira', 'Perelló', 'Perera', 'Perez', 'Peña', - 'Peñalver', 'Peñas', 'Pi', 'Pina', 'Pineda', 'Pinedo', 'Pinilla', - 'Pino', 'Pinto', 'Pintor', 'Piquer', 'Pizarro', 'Piña', 'Piñeiro', - 'Piñol', 'Pla', 'Plana', 'Planas', 'Plaza', 'Pol', 'Polo', - 'Pomares', 'Pombo', 'Ponce', 'Pons', 'Pont', 'Porcel', 'Porras', - 'Porta', 'Portero', 'Portillo', 'Posada', 'Pou', 'Poza', 'Pozo', - 'Pozuelo', 'Prada', 'Prado', 'Prat', 'Prats', 'Priego', 'Prieto', - 'Puente', 'Puerta', 'Puga', 'Puig', 'Pujadas', 'Pujol', 'Pulido', - 'Páez', 'Pérez', 'Quero', 'Querol', 'Quesada', 'Quevedo', 'Quintana', - 'Quintanilla', 'Quintero', 'Quiroga', 'Quirós', 'Ramirez', 'Ramis', 'Ramos', - 'Ramírez', 'Ramón', 'Raya', 'Real', 'Rebollo', 'Recio', 'Redondo', - 'Reguera', 'Reig', 'Reina', 'Requena', 'Revilla', 'Rey', 'Reyes', - 'Riba', 'Ribas', 'Ribera', 'Ribes', 'Ricart', 'Rico', 'Riera', - 'Rincón', 'Rios', 'Ripoll', 'Riquelme', 'Rius', 'Rivas', 'Rivera', - 'Rivero', 'Robledo', 'Robles', 'Roca', 'Rocamora', 'Rocha', 'Roda', - 'Rodrigo', 'Rodriguez', 'Rodríguez', 'Roig', 'Rojas', 'Roldan', 'Roldán', - 'Roma', 'Roman', 'Romero', 'Romeu', 'Román', 'Ropero', 'Ros', - 'Rosa', 'Rosado', 'Rosales', 'Rosell', 'Roselló', 'Rosselló', 'Roura', - 'Rovira', 'Royo', 'Rozas', 'Ruano', 'Rubio', 'Rueda', 'Ruiz', - 'Río', 'Ríos', 'Ródenas', 'Saavedra', 'Sabater', 'Sacristán', 'Saez', - 'Sainz', 'Sala', 'Salamanca', 'Salas', 'Salazar', 'Salcedo', 'Saldaña', - 'Sales', 'Salgado', 'Salinas', 'Salmerón', 'Salom', 'Salvador', 'Salvà', - 'Samper', 'Sanabria', 'Sanchez', 'Sancho', 'Sandoval', 'Sanjuan', 'Sanmartín', - 'Sanmiguel', 'Sans', 'Santamaria', 'Santamaría', 'Santana', 'Santiago', 'Santos', - 'Sanz', 'Sarabia', 'Sarmiento', 'Sastre', 'Saura', 'Sebastián', 'Seco', - 'Sedano', 'Segarra', 'Segovia', 'Segura', 'Seguí', 'Serna', 'Serra', - 'Serrano', 'Sevilla', 'Sevillano', 'Sierra', 'Silva', 'Simó', 'Sobrino', - 'Sola', 'Solana', 'Solano', 'Soler', 'Solera', 'Solsona', 'Solé', - 'Solís', 'Somoza', 'Soria', 'Soriano', 'Sosa', 'Sotelo', 'Soto', - 'Suarez', 'Sureda', 'Suárez', 'Sáenz', 'Sáez', 'Sánchez', 'Taboada', - 'Talavera', 'Tamarit', 'Tamayo', 'Tapia', 'Tejada', 'Tejedor', 'Tejera', - 'Tejero', 'Tello', 'Tena', 'Tenorio', 'Terrón', 'Teruel', 'Tirado', - 'Toledo', 'Tolosa', 'Tomas', 'Tomás', 'Tomé', 'Tormo', 'Toro', - 'Torralba', 'Torre', 'Torrecilla', 'Torrens', 'Torrent', 'Torrents', 'Torres', - 'Torrijos', 'Tovar', 'Trillo', 'Trujillo', 'Tudela', 'Tur', 'Téllez', - 'Ugarte', 'Ureña', 'Uriarte', 'Uribe', 'Urrutia', 'Uría', 'Valbuena', - 'Valcárcel', 'Valderrama', 'Valdés', 'Valencia', 'Valenciano', 'Valentín', 'Valenzuela', - 'Valera', 'Valero', 'Vall', 'Valle', 'Vallejo', 'Valls', 'Vallés', - 'Valverde', 'Vaquero', 'Vara', 'Varela', 'Vargas', 'Vazquez', 'Vega', - 'Velasco', 'Velázquez', 'Vendrell', 'Vera', 'Verdejo', 'Verdugo', 'Verdú', - 'Vergara', 'Viana', 'Vicens', 'Vicente', 'Vidal', 'Vigil', 'Vila', - 'Vilalta', 'Vilanova', 'Vilaplana', 'Vilar', 'Villa', 'Villalba', 'Villalobos', - 'Villalonga', 'Villanueva', 'Villar', 'Villaverde', 'Villegas', 'Villena', 'Vives', - 'Vizcaíno', 'Viña', 'Viñas', 'Vázquez', 'Vélez', 'Yuste', 'Yáñez', - 'Zabala', 'Zabaleta', 'Zamora', 'Zamorano', 'Zapata', 'Zaragoza', 'Zorrilla', - 'Zurita', 'Águila', 'Álamo', 'Álvarez', 'Álvaro', 'Ángel', 'Ávila', + "Abad", + "Abascal", + "Abella", + "Abellán", + "Abril", + "Acedo", + "Acero", + "Acevedo", + "Acosta", + "Acuña", + "Adadia", + "Adán", + "Aguado", + "Agudo", + "Aguilar", + "Aguilera", + "Aguiló", + "Aguirre", + "Agullo", + "Agustí", + "Agustín", + "Alarcón", + "Alba", + "Alberdi", + "Albero", + "Alberola", + "Alberto", + "Alcalde", + "Alcalá", + "Alcaraz", + "Alcolea", + "Alcántara", + "Alcázar", + "Alegre", + "Alegria", + "Alemany", + "Alemán", + "Alfaro", + "Alfonso", + "Aliaga", + "Aller", + "Almagro", + "Almansa", + "Almazán", + "Almeida", + "Alonso", + "Alsina", + "Alvarado", + "Alvarez", + "Amador", + "Amat", + "Amaya", + "Amigó", + "Amo", + "Amor", + "Amores", + "Amorós", + "Anaya", + "Andrade", + "Andres", + "Andreu", + "Andrés", + "Anglada", + "Anguita", + "Angulo", + "Antón", + "Antúnez", + "Aparicio", + "Aragonés", + "Aragón", + "Aramburu", + "Arana", + "Aranda", + "Araujo", + "Arce", + "Arco", + "Arcos", + "Arellano", + "Arenas", + "Arias", + "Ariza", + "Ariño", + "Arjona", + "Armas", + "Armengol", + "Arnaiz", + "Arnal", + "Arnau", + "Aroca", + "Arranz", + "Arregui", + "Arribas", + "Arrieta", + "Arroyo", + "Arteaga", + "Artigas", + "Arévalo", + "Asenjo", + "Asensio", + "Atienza", + "Avilés", + "Ayala", + "Ayllón", + "Ayuso", + "Azcona", + "Aznar", + "Azorin", + "Badía", + "Baena", + "Baeza", + "Balaguer", + "Ballester", + "Ballesteros", + "Baquero", + "Barba", + "Barbero", + "Barberá", + "Barceló", + "Barco", + "Barragán", + "Barral", + "Barranco", + "Barreda", + "Barrena", + "Barrera", + "Barriga", + "Barrio", + "Barrios", + "Barros", + "Barroso", + "Bartolomé", + "Baró", + "Barón", + "Bas", + "Bastida", + "Batalla", + "Batlle", + "Bautista", + "Bauzà", + "Bayo", + "Bayona", + "Bayón", + "Baños", + "Becerra", + "Bejarano", + "Belda", + "Bellido", + "Bello", + "Belmonte", + "Beltran", + "Beltrán", + "Benavent", + "Benavente", + "Benavides", + "Benet", + "Benitez", + "Benito", + "Benítez", + "Berenguer", + "Bermejo", + "Bermudez", + "Bermúdez", + "Bernad", + "Bernal", + "Bernat", + "Berrocal", + "Bertrán", + "Bilbao", + "Blanca", + "Blanch", + "Blanco", + "Blanes", + "Blasco", + "Blazquez", + "Blázquez", + "Boada", + "Boix", + "Bolaños", + "Bonet", + "Bonilla", + "Borja", + "Borrego", + "Borrell", + "Borrás", + "Bosch", + "Botella", + "Bou", + "Bravo", + "Briones", + "Bru", + "Buendía", + "Bueno", + "Burgos", + "Busquets", + "Bustamante", + "Bustos", + "Báez", + "Bárcena", + "Caballero", + "Cabanillas", + "Cabañas", + "Cabello", + "Cabeza", + "Cabezas", + "Cabo", + "Cabrera", + "Cabrero", + "Cadenas", + "Cal", + "Calatayud", + "Calderon", + "Calderón", + "Calleja", + "Calvet", + "Calvo", + "Calzada", + "Camacho", + "Camino", + "Campillo", + "Campo", + "Campos", + "Campoy", + "Camps", + "Canales", + "Canals", + "Canet", + "Cano", + "Cantero", + "Cantón", + "Caparrós", + "Capdevila", + "Carbajo", + "Carballo", + "Carbonell", + "Carbó", + "Cardona", + "Carlos", + "Carmona", + "Carnero", + "Caro", + "Carpio", + "Carranza", + "Carrasco", + "Carrera", + "Carreras", + "Carretero", + "Carreño", + "Carrillo", + "Carrión", + "Carro", + "Carvajal", + "Casado", + "Casal", + "Casals", + "Casanova", + "Casanovas", + "Casares", + "Casas", + "Cases", + "Castañeda", + "Castejón", + "Castell", + "Castellanos", + "Castells", + "Castelló", + "Castilla", + "Castillo", + "Castrillo", + "Castro", + "Catalá", + "Catalán", + "Cazorla", + "Cañas", + "Cañellas", + "Cañete", + "Cañizares", + "Cepeda", + "Cerdá", + "Cerdán", + "Cerezo", + "Cerro", + "Cervantes", + "Cervera", + "Chacón", + "Chamorro", + "Chaparro", + "Chaves", + "Checa", + "Chico", + "Cid", + "Cifuentes", + "Cisneros", + "Clavero", + "Clemente", + "Cobo", + "Cobos", + "Coca", + "Codina", + "Coello", + "Coll", + "Collado", + "Colom", + "Coloma", + "Colomer", + "Comas", + "Company", + "Conde", + "Conesa", + "Contreras", + "Corbacho", + "Cordero", + "Cornejo", + "Corominas", + "Coronado", + "Corral", + "Correa", + "Cortes", + "Cortina", + "Cortés", + "Costa", + "Crespi", + "Crespo", + "Criado", + "Cruz", + "Cuadrado", + "Cuenca", + "Cuervo", + "Cuesta", + "Cueto", + "Cuevas", + "Cuéllar", + "Cáceres", + "Cámara", + "Cánovas", + "Cárdenas", + "Céspedes", + "Córdoba", + "Cózar", + "Dalmau", + "Daza", + "Delgado", + "Diaz", + "Diego", + "Diez", + "Diéguez", + "Domingo", + "Dominguez", + "Doménech", + "Domínguez", + "Donaire", + "Donoso", + "Duarte", + "Dueñas", + "Duque", + "Duran", + "Durán", + "Dávila", + "Díaz", + "Díez", + "Echevarría", + "Echeverría", + "Egea", + "Elorza", + "Elías", + "Enríquez", + "Escalona", + "Escamilla", + "Escobar", + "Escolano", + "Escribano", + "Escrivá", + "Escudero", + "Espada", + "Esparza", + "España", + "Español", + "Espejo", + "Espinosa", + "Esteban", + "Esteve", + "Estevez", + "Estrada", + "Estévez", + "Exposito", + "Expósito", + "Fabra", + "Fabregat", + "Fajardo", + "Falcó", + "Falcón", + "Farré", + "Feijoo", + "Feliu", + "Fernandez", + "Fernández", + "Ferrando", + "Ferrer", + "Ferrera", + "Ferreras", + "Ferrero", + "Ferrán", + "Ferrández", + "Ferrándiz", + "Figueras", + "Figueroa", + "Figuerola", + "Fiol", + "Flor", + "Flores", + "Folch", + "Fonseca", + "Font", + "Fortuny", + "Franch", + "Francisco", + "Franco", + "Frutos", + "Frías", + "Fuente", + "Fuentes", + "Fuertes", + "Fuster", + "Fábregas", + "Gabaldón", + "Galan", + "Galiano", + "Galindo", + "Gallardo", + "Gallart", + "Gallego", + "Gallo", + "Galvez", + "Galván", + "Galán", + "Garay", + "Garcia", + "Garcés", + "García", + "Gargallo", + "Garmendia", + "Garrido", + "Garriga", + "Garzón", + "Gascón", + "Gaya", + "Gelabert", + "Gibert", + "Gil", + "Gilabert", + "Gimenez", + "Gimeno", + "Giménez", + "Giner", + "Giralt", + "Girona", + "Girón", + "Gisbert", + "Godoy", + "Goicoechea", + "Gomez", + "Gomila", + "Gomis", + "Gonzalez", + "Gonzalo", + "González", + "Gordillo", + "Goñi", + "Gracia", + "Granados", + "Grande", + "Gras", + "Grau", + "Gual", + "Guardia", + "Guardiola", + "Guerra", + "Guerrero", + "Guijarro", + "Guillen", + "Guillén", + "Guitart", + "Gutierrez", + "Gutiérrez", + "Guzman", + "Guzmán", + "Gálvez", + "Gámez", + "Gárate", + "Gómez", + "Haro", + "Heras", + "Heredia", + "Hernandez", + "Hernando", + "Hernández", + "Herranz", + "Herrera", + "Herrero", + "Hervia", + "Hervás", + "Hidalgo", + "Hierro", + "Higueras", + "Hoyos", + "Hoz", + "Huerta", + "Huertas", + "Huguet", + "Hurtado", + "Ibarra", + "Ibañez", + "Iborra", + "Ibáñez", + "Iglesia", + "Iglesias", + "Infante", + "Iniesta", + "Iriarte", + "Isern", + "Izaguirre", + "Izquierdo", + "Iñiguez", + "Jara", + "Jaume", + "Jaén", + "Jerez", + "Jimenez", + "Jiménez", + "Jordá", + "Jordán", + "Jove", + "Jover", + "Juan", + "Juliá", + "Julián", + "Jurado", + "Juárez", + "Jáuregui", + "Jódar", + "Lago", + "Laguna", + "Lamas", + "Landa", + "Lara", + "Larrañaga", + "Larrea", + "Lasa", + "Lastra", + "Leal", + "Ledesma", + "Leiva", + "Leon", + "Lerma", + "León", + "Lillo", + "Linares", + "Llabrés", + "Lladó", + "Llamas", + "Llano", + "Llanos", + "Lledó", + "Llobet", + "Llopis", + "Llorens", + "Llorente", + "Lloret", + "Lluch", + "Lobato", + "Lobo", + "Lopez", + "Lorenzo", + "Losa", + "Losada", + "Lozano", + "Lucas", + "Lucena", + "Luján", + "Lumbreras", + "Luna", + "Luque", + "Luz", + "Luís", + "López", + "Machado", + "Macias", + "Macías", + "Madrid", + "Madrigal", + "Maestre", + "Maldonado", + "Malo", + "Mancebo", + "Manjón", + "Manrique", + "Manso", + "Manuel", + "Manzanares", + "Manzano", + "Marco", + "Marcos", + "Marin", + "Mariscal", + "Mariño", + "Marquez", + "Marqués", + "Marti", + "Martin", + "Martinez", + "Martorell", + "Martí", + "Martín", + "Martínez", + "Marí", + "Marín", + "Mas", + "Mascaró", + "Mata", + "Matas", + "Mate", + "Mateo", + "Mateos", + "Mateu", + "Mayo", + "Mayol", + "Mayoral", + "Maza", + "Medina", + "Melero", + "Meléndez", + "Mena", + "Mendez", + "Mendizábal", + "Mendoza", + "Menendez", + "Menéndez", + "Mercader", + "Merino", + "Mesa", + "Miguel", + "Milla", + "Millán", + "Mir", + "Miralles", + "Miranda", + "Miró", + "Moles", + "Molina", + "Moliner", + "Molins", + "Moll", + "Monreal", + "Montalbán", + "Montaña", + "Montenegro", + "Montero", + "Montes", + "Montesinos", + "Montoya", + "Montserrat", + "Mora", + "Moraleda", + "Morales", + "Morante", + "Morata", + "Morcillo", + "Morell", + "Moreno", + "Morera", + "Morillo", + "Morán", + "Mosquera", + "Moya", + "Mulet", + "Mur", + "Murcia", + "Murillo", + "Muro", + "Muñoz", + "Mármol", + "Márquez", + "Méndez", + "Mínguez", + "Múgica", + "Múñiz", + "Nadal", + "Naranjo", + "Narváez", + "Navarrete", + "Navarro", + "Navas", + "Nebot", + "Neira", + "Nevado", + "Nicolau", + "Nicolás", + "Nieto", + "Niño", + "Nogueira", + "Noguera", + "Nogués", + "Noriega", + "Novoa", + "Nuñez", + "Núñez", + "Ocaña", + "Ochoa", + "Ojeda", + "Oliva", + "Olivares", + "Oliver", + "Olivera", + "Oliveras", + "Olivé", + "Oller", + "Olmedo", + "Olmo", + "Ordóñez", + "Orozco", + "Ortega", + "Ortiz", + "Ortuño", + "Osorio", + "Osuna", + "Otero", + "Pablo", + "Pacheco", + "Padilla", + "Pagès", + "Palacio", + "Palacios", + "Palau", + "Pallarès", + "Palma", + "Palmer", + "Palomar", + "Palomares", + "Palomino", + "Palomo", + "Paniagua", + "Pardo", + "Paredes", + "Pareja", + "Parejo", + "Parra", + "Pascual", + "Pastor", + "Patiño", + "Pavón", + "Paz", + "Pazos", + "Pedraza", + "Pedrero", + "Pedro", + "Pedrosa", + "Peinado", + "Peiró", + "Pelayo", + "Pellicer", + "Peláez", + "Pera", + "Peral", + "Perales", + "Peralta", + "Perea", + "Pereira", + "Perelló", + "Perera", + "Perez", + "Peña", + "Peñalver", + "Peñas", + "Pi", + "Pina", + "Pineda", + "Pinedo", + "Pinilla", + "Pino", + "Pinto", + "Pintor", + "Piquer", + "Pizarro", + "Piña", + "Piñeiro", + "Piñol", + "Pla", + "Plana", + "Planas", + "Plaza", + "Pol", + "Polo", + "Pomares", + "Pombo", + "Ponce", + "Pons", + "Pont", + "Porcel", + "Porras", + "Porta", + "Portero", + "Portillo", + "Posada", + "Pou", + "Poza", + "Pozo", + "Pozuelo", + "Prada", + "Prado", + "Prat", + "Prats", + "Priego", + "Prieto", + "Puente", + "Puerta", + "Puga", + "Puig", + "Pujadas", + "Pujol", + "Pulido", + "Páez", + "Pérez", + "Quero", + "Querol", + "Quesada", + "Quevedo", + "Quintana", + "Quintanilla", + "Quintero", + "Quiroga", + "Quirós", + "Ramirez", + "Ramis", + "Ramos", + "Ramírez", + "Ramón", + "Raya", + "Real", + "Rebollo", + "Recio", + "Redondo", + "Reguera", + "Reig", + "Reina", + "Requena", + "Revilla", + "Rey", + "Reyes", + "Riba", + "Ribas", + "Ribera", + "Ribes", + "Ricart", + "Rico", + "Riera", + "Rincón", + "Rios", + "Ripoll", + "Riquelme", + "Rius", + "Rivas", + "Rivera", + "Rivero", + "Robledo", + "Robles", + "Roca", + "Rocamora", + "Rocha", + "Roda", + "Rodrigo", + "Rodriguez", + "Rodríguez", + "Roig", + "Rojas", + "Roldan", + "Roldán", + "Roma", + "Roman", + "Romero", + "Romeu", + "Román", + "Ropero", + "Ros", + "Rosa", + "Rosado", + "Rosales", + "Rosell", + "Roselló", + "Rosselló", + "Roura", + "Rovira", + "Royo", + "Rozas", + "Ruano", + "Rubio", + "Rueda", + "Ruiz", + "Río", + "Ríos", + "Ródenas", + "Saavedra", + "Sabater", + "Sacristán", + "Saez", + "Sainz", + "Sala", + "Salamanca", + "Salas", + "Salazar", + "Salcedo", + "Saldaña", + "Sales", + "Salgado", + "Salinas", + "Salmerón", + "Salom", + "Salvador", + "Salvà", + "Samper", + "Sanabria", + "Sanchez", + "Sancho", + "Sandoval", + "Sanjuan", + "Sanmartín", + "Sanmiguel", + "Sans", + "Santamaria", + "Santamaría", + "Santana", + "Santiago", + "Santos", + "Sanz", + "Sarabia", + "Sarmiento", + "Sastre", + "Saura", + "Sebastián", + "Seco", + "Sedano", + "Segarra", + "Segovia", + "Segura", + "Seguí", + "Serna", + "Serra", + "Serrano", + "Sevilla", + "Sevillano", + "Sierra", + "Silva", + "Simó", + "Sobrino", + "Sola", + "Solana", + "Solano", + "Soler", + "Solera", + "Solsona", + "Solé", + "Solís", + "Somoza", + "Soria", + "Soriano", + "Sosa", + "Sotelo", + "Soto", + "Suarez", + "Sureda", + "Suárez", + "Sáenz", + "Sáez", + "Sánchez", + "Taboada", + "Talavera", + "Tamarit", + "Tamayo", + "Tapia", + "Tejada", + "Tejedor", + "Tejera", + "Tejero", + "Tello", + "Tena", + "Tenorio", + "Terrón", + "Teruel", + "Tirado", + "Toledo", + "Tolosa", + "Tomas", + "Tomás", + "Tomé", + "Tormo", + "Toro", + "Torralba", + "Torre", + "Torrecilla", + "Torrens", + "Torrent", + "Torrents", + "Torres", + "Torrijos", + "Tovar", + "Trillo", + "Trujillo", + "Tudela", + "Tur", + "Téllez", + "Ugarte", + "Ureña", + "Uriarte", + "Uribe", + "Urrutia", + "Uría", + "Valbuena", + "Valcárcel", + "Valderrama", + "Valdés", + "Valencia", + "Valenciano", + "Valentín", + "Valenzuela", + "Valera", + "Valero", + "Vall", + "Valle", + "Vallejo", + "Valls", + "Vallés", + "Valverde", + "Vaquero", + "Vara", + "Varela", + "Vargas", + "Vazquez", + "Vega", + "Velasco", + "Velázquez", + "Vendrell", + "Vera", + "Verdejo", + "Verdugo", + "Verdú", + "Vergara", + "Viana", + "Vicens", + "Vicente", + "Vidal", + "Vigil", + "Vila", + "Vilalta", + "Vilanova", + "Vilaplana", + "Vilar", + "Villa", + "Villalba", + "Villalobos", + "Villalonga", + "Villanueva", + "Villar", + "Villaverde", + "Villegas", + "Villena", + "Vives", + "Vizcaíno", + "Viña", + "Viñas", + "Vázquez", + "Vélez", + "Yuste", + "Yáñez", + "Zabala", + "Zabaleta", + "Zamora", + "Zamorano", + "Zapata", + "Zaragoza", + "Zorrilla", + "Zurita", + "Águila", + "Álamo", + "Álvarez", + "Álvaro", + "Ángel", + "Ávila", ) - prefixes = ('de', 'del') + prefixes = ("de", "del") # https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes language_names = [ - 'Afar', 'Abjasio', 'Avéstico', 'Africaans', 'Akánico', 'Amhárico', - 'Aragonés', 'Arábico', 'Asamés', 'Avar', 'Aimara', 'Azerí', - 'Baskir', 'Bielorruso', 'Búlgaro', 'lenguas Bihari', 'Bislama', - 'Bambara', 'Bengalí', 'Tibetano', 'Bretón', 'Bosnio', 'Catalán', - 'Checheno', 'Chamorro', 'Corso', 'Cree', 'Checo', 'Eslavo eclesiástico', - 'Chuvasio', 'Galés', 'Danés', 'Alemán', 'Maldivo', 'Dzongkha', 'Ewé', - 'Griego', 'Inglés', 'Esperanto', 'Español', 'Estonio', 'Vasco', - 'Persa', 'Fula', 'Finés', 'Fiyiano', 'Feroés', 'Francés', - 'lenguas Frisonas', 'Irlandés', 'Gaélico', 'Gallego', 'Guaraní', - 'Gujarati', 'Manés', 'Hausa', 'Hebreo', 'Hindú', 'Hiri Motu', - 'Croata', 'Haitiano', 'Húngaro', 'Armenio', 'Herero', - 'Interlingua', 'Indonés', 'Igbo', 'Nuosu', 'lenguas esquimales', - 'Ido', 'Islandés', 'Italiano', 'Inuit', 'Japonés', 'Javanés', - 'Georgiano', 'Congolés', 'Kikuyu', 'Kuanyama', 'Kazajo', - 'Groenlandés', 'Camboyano', 'Canarés', 'Coreano', 'Kanurí', - 'Kashmiri Masala', 'Kurdo', 'Komi', 'Córnico', 'Kirguís', 'Latín', - 'Luxemburgués', 'Luganda', 'Limburgués', 'Lingala', 'Lao', - 'Lituano', 'Kiluba', 'Letón', 'Malgache', 'Marshalés', 'Maorí', - 'Macedonio', 'Malabar', 'Mongol', 'Marathí', 'Malayo', 'Maltés', - 'Birmano', 'Nauru', 'Ndebele norte', 'Nepalí', 'Ndonga', - 'Neerlandés', 'Nuevo Noruego', 'Noruego', 'Ndebele sur', - 'Navajo', 'Chichewa', 'Occitano', 'Ojibwa', 'Oromo', 'Oriya', - 'Osetio', 'Panyabí', 'Pali', 'Polaco', 'Pastún', 'Portugués', - 'Quechua', 'Romanche', 'Rundi', 'Rumano', 'Ruso', 'Kiñaruanda', - 'Sánscrito', 'Sardo', 'Sindi', 'Sami septentrional', 'Sango', - 'Cingalés', 'Eslovaco', 'Samoano', 'Shona', 'Somalí', 'Albanés', - 'Serbio', 'Suazi', 'Sesoto', 'Sondanés', 'Sueco', 'Swahili', - 'Tamil', 'Télugu', 'Takiyo', 'Tailandés', 'Tigriña', 'Turcomano', - 'Tagalo', 'Setsuana', 'Tongoano', 'Turco', 'Tsonga', 'Tártaro', - 'Tahitiano', 'Uigur', 'Ucraniano', 'Urdu', 'Uzbeko', 'Venda', - 'Vietnamita', 'Valón', 'Wólof', 'Xhosa', 'Yidis', 'Yoruba', - 'Zhuang', 'Chino', 'Zulú', + "Afar", + "Abjasio", + "Avéstico", + "Africaans", + "Akánico", + "Amhárico", + "Aragonés", + "Arábico", + "Asamés", + "Avar", + "Aimara", + "Azerí", + "Baskir", + "Bielorruso", + "Búlgaro", + "lenguas Bihari", + "Bislama", + "Bambara", + "Bengalí", + "Tibetano", + "Bretón", + "Bosnio", + "Catalán", + "Checheno", + "Chamorro", + "Corso", + "Cree", + "Checo", + "Eslavo eclesiástico", + "Chuvasio", + "Galés", + "Danés", + "Alemán", + "Maldivo", + "Dzongkha", + "Ewé", + "Griego", + "Inglés", + "Esperanto", + "Español", + "Estonio", + "Vasco", + "Persa", + "Fula", + "Finés", + "Fiyiano", + "Feroés", + "Francés", + "lenguas Frisonas", + "Irlandés", + "Gaélico", + "Gallego", + "Guaraní", + "Gujarati", + "Manés", + "Hausa", + "Hebreo", + "Hindú", + "Hiri Motu", + "Croata", + "Haitiano", + "Húngaro", + "Armenio", + "Herero", + "Interlingua", + "Indonés", + "Igbo", + "Nuosu", + "lenguas esquimales", + "Ido", + "Islandés", + "Italiano", + "Inuit", + "Japonés", + "Javanés", + "Georgiano", + "Congolés", + "Kikuyu", + "Kuanyama", + "Kazajo", + "Groenlandés", + "Camboyano", + "Canarés", + "Coreano", + "Kanurí", + "Kashmiri Masala", + "Kurdo", + "Komi", + "Córnico", + "Kirguís", + "Latín", + "Luxemburgués", + "Luganda", + "Limburgués", + "Lingala", + "Lao", + "Lituano", + "Kiluba", + "Letón", + "Malgache", + "Marshalés", + "Maorí", + "Macedonio", + "Malabar", + "Mongol", + "Marathí", + "Malayo", + "Maltés", + "Birmano", + "Nauru", + "Ndebele norte", + "Nepalí", + "Ndonga", + "Neerlandés", + "Nuevo Noruego", + "Noruego", + "Ndebele sur", + "Navajo", + "Chichewa", + "Occitano", + "Ojibwa", + "Oromo", + "Oriya", + "Osetio", + "Panyabí", + "Pali", + "Polaco", + "Pastún", + "Portugués", + "Quechua", + "Romanche", + "Rundi", + "Rumano", + "Ruso", + "Kiñaruanda", + "Sánscrito", + "Sardo", + "Sindi", + "Sami septentrional", + "Sango", + "Cingalés", + "Eslovaco", + "Samoano", + "Shona", + "Somalí", + "Albanés", + "Serbio", + "Suazi", + "Sesoto", + "Sondanés", + "Sueco", + "Swahili", + "Tamil", + "Télugu", + "Takiyo", + "Tailandés", + "Tigriña", + "Turcomano", + "Tagalo", + "Setsuana", + "Tongoano", + "Turco", + "Tsonga", + "Tártaro", + "Tahitiano", + "Uigur", + "Ucraniano", + "Urdu", + "Uzbeko", + "Venda", + "Vietnamita", + "Valón", + "Wólof", + "Xhosa", + "Yidis", + "Yoruba", + "Zhuang", + "Chino", + "Zulú", ] diff --git a/faker/providers/person/es_MX/__init__.py b/faker/providers/person/es_MX/__init__.py index b1b7194f55..a389fa7e1f 100644 --- a/faker/providers/person/es_MX/__init__.py +++ b/faker/providers/person/es_MX/__init__.py @@ -3,170 +3,987 @@ class Provider(PersonProvider): formats = ( - '{{first_name}} {{last_name}} {{last_name}}', - '{{first_name}} {{first_name}} {{last_name}}', - '{{first_name}} {{first_name}} {{last_name}} {{last_name}}', - '{{first_name}} {{last_name}}', - '{{prefix}} {{first_name}} {{last_name}}', + "{{first_name}} {{last_name}} {{last_name}}", + "{{first_name}} {{first_name}} {{last_name}}", + "{{first_name}} {{first_name}} {{last_name}} {{last_name}}", + "{{first_name}} {{last_name}}", + "{{prefix}} {{first_name}} {{last_name}}", ) - first_names = ('Abel', 'Abelardo', 'Abigail', 'Abraham', 'Abril', - 'Adalberto', 'Adán', 'Adela', 'Adriana', - 'Aida', 'Alejandra', 'Agustín', 'Alberto', 'Aldonza', 'Alicia', - 'Alta Gracia', 'Alonso', 'Aldo', 'Alejandro', 'Alfonso', 'Alfredo', - 'Alma', 'Alvaro', 'Amalia', 'Amanda', 'Amador', 'Amelia', 'Ana', - 'Anabel', 'Ana Luisa', 'Ana María', 'Anel', 'Andrea', 'Andrés', - 'Ángel', 'Ángela', 'Angélica', 'Antonia', 'Antonio', 'Araceli', - 'Arcelia', 'Ariadna', 'Armando', 'Arturo', 'Asunción', 'Augusto', - 'Aurora', 'Aurelio', 'Barbara', 'Beatriz', 'Berta', 'Benito', - 'Benjamín', 'Bernardo', 'Bernabé', 'Bianca', 'Blanca', - 'Bruno', 'Camila', 'Camilo', 'Caridad', 'Carla', 'Carlos', 'Carlota', - 'Carmen', 'Carolina', 'Catalina', 'César', 'Cecilia', 'Celia', - 'Citlali', 'Clara', 'Claudia', 'Claudio', 'Clemente', 'Concepción', - 'Conchita', 'Cornelio', 'Cristian', 'Cristal', - 'Cristina', 'Cristobal', 'Cynthia', 'Dalia', 'Daniel', 'Daniela', - 'Darío', 'David', 'Débora', 'Delia', 'Diana', 'Diego', 'Dolores', - 'Dulce', 'Dulce María', 'Eduardo', 'Elena', 'Elias', 'Elisa', - 'Eloisa', 'Elsa', 'Elvia', 'Elvira', 'Eloy', 'Emilia', 'Emiliano', - 'Emilio', 'Enrique', 'Eric', 'Ernesto', 'Esmeralda', 'Esteban', - 'Estefanía', 'Estela', 'Esparta', 'Espartaco', 'Esperanza', 'Estela', - 'Esther', 'Eugenia', 'Eugenio', 'Eva', 'Evelio', 'Fabiola', - 'Federico', 'Felipe', 'Fernando', 'Felix', 'Fidel', 'Flavio', - 'Florencia', 'Francisco', 'Francisco Javier', 'Francisca', 'Frida', - 'Gabino', 'Gabriela', 'Gabriel', 'Genaro', 'Georgina', 'Gerardo', - 'Gerónimo', 'Germán', 'Gilberto', 'Guillermina', 'Gloria', - 'Gonzalo', 'Graciela', 'Gregorio', 'Guillermo', - 'Guadalupe', 'Gustavo', 'Héctor', 'Helena', 'Hermelinda', 'Hernán', - 'Hilda', 'Homero', 'Horacio', 'Hugo', 'Humberto', 'Ignacio', 'Ilse', - 'Indira', 'Inés', 'Irene', 'Irma', 'Itzel', 'Isaac', 'Isabel', - 'Isabela', 'Israel', 'Iván', 'Ivonne', 'Jacinto', 'Jacobo', 'Jaime', - 'Javier', 'Jaqueline', 'Jerónimo', 'Jesús', 'Joaquín', 'Jonás', - 'Jorge', 'Jorge Luis', 'Jos', 'José', 'Josefina', 'José Carlos', - 'José Eduardo', 'José Emilio', 'José Luis', 'José Manuél', - 'José María', 'Juan', 'Juana', 'Juan Carlos', 'Judith', 'Julia', - 'Julio', 'Julio César', 'Laura', 'Leonardo', 'Leonel', 'Leonor', - 'Karla', 'Karina', 'Leticia', 'Lorenzo', 'Lucas', 'Lilia', 'Liliana', - 'Linda', 'Lorena', 'Lourdes', 'Lucía', 'Luisa', 'Luz', 'Luis', - 'Luis Miguel', 'Luis Manuel', 'Magdalena', 'Manuel', 'Marco Antonio', - 'Marcela', 'Marcos', 'Margarita', 'María', 'Marisela', 'Marisol', - 'María del Carmen', 'María Cristina', 'María Elena', - 'María Eugenia', 'María José', 'María Luisa', 'María Teresa', 'Marisol', - 'Martha', 'Mayte', 'Mariano', 'Mariana', 'Mario', 'Martín', 'Mateo', - 'Mauro', 'Mauricio', 'Maximiliano', 'Mercedes', 'Micaela', 'Minerva', - 'Mitzy', 'Miguel', 'Miguel Ángel', 'Miriam', 'Modesto', 'Mónica', - 'Nadia', 'Natalia', 'Natividad', 'Nancy', 'Nayeli', 'Nelly', - 'Noelia', 'Noemí', 'Norma', 'Nicolás', 'Octavio', 'Ofelia', 'Olivia', - 'Óliver', 'Olga', 'Óscar', 'Oswaldo', 'Omar', 'Pablo', 'Paola', - 'Patricia', 'Pamela', 'Patricio', 'Pascual', 'Paulina', 'Pedro', - 'Perla', 'Pilar', 'Porfirio', 'Rafaél', 'Ramiro', 'Ramón', 'Raúl', - 'Raquel', 'Rebeca', 'Reina', 'Renato', 'René', 'Reynaldo', - 'Ricardo', 'Roberto', 'Rodolfo', 'Rocío', 'Rodrigo', 'Rolando', - 'Rosa', 'Rosalia', 'Rosario', 'Rubén', 'Rufino', 'Ruby', 'Salvador', - 'Salma', 'Samuel', 'Sandra', 'Santiago', 'Sara', 'Sessa', 'Sergio', - 'Serafín', 'Silvano', 'Silvia', 'Sofía', 'Socorro', 'Soledad', - 'Sonia', 'Susana', 'Tania', 'Teresa', 'Teodoro', 'Timoteo', 'Tomás', - 'Trinidad', 'Verónica', 'Vicente', 'Violeta', 'Uriel', 'Úrsula', - 'Vanesa', 'Víctor', 'Victoria', 'Virginia', 'Wilfrido', 'Wendolin', - 'Yeni', 'Yolanda', 'Yuridia', 'Zacarías', 'Zeferino', 'Zoé') + first_names = ( + "Abel", + "Abelardo", + "Abigail", + "Abraham", + "Abril", + "Adalberto", + "Adán", + "Adela", + "Adriana", + "Aida", + "Alejandra", + "Agustín", + "Alberto", + "Aldonza", + "Alicia", + "Alta Gracia", + "Alonso", + "Aldo", + "Alejandro", + "Alfonso", + "Alfredo", + "Alma", + "Alvaro", + "Amalia", + "Amanda", + "Amador", + "Amelia", + "Ana", + "Anabel", + "Ana Luisa", + "Ana María", + "Anel", + "Andrea", + "Andrés", + "Ángel", + "Ángela", + "Angélica", + "Antonia", + "Antonio", + "Araceli", + "Arcelia", + "Ariadna", + "Armando", + "Arturo", + "Asunción", + "Augusto", + "Aurora", + "Aurelio", + "Barbara", + "Beatriz", + "Berta", + "Benito", + "Benjamín", + "Bernardo", + "Bernabé", + "Bianca", + "Blanca", + "Bruno", + "Camila", + "Camilo", + "Caridad", + "Carla", + "Carlos", + "Carlota", + "Carmen", + "Carolina", + "Catalina", + "César", + "Cecilia", + "Celia", + "Citlali", + "Clara", + "Claudia", + "Claudio", + "Clemente", + "Concepción", + "Conchita", + "Cornelio", + "Cristian", + "Cristal", + "Cristina", + "Cristobal", + "Cynthia", + "Dalia", + "Daniel", + "Daniela", + "Darío", + "David", + "Débora", + "Delia", + "Diana", + "Diego", + "Dolores", + "Dulce", + "Dulce María", + "Eduardo", + "Elena", + "Elias", + "Elisa", + "Eloisa", + "Elsa", + "Elvia", + "Elvira", + "Eloy", + "Emilia", + "Emiliano", + "Emilio", + "Enrique", + "Eric", + "Ernesto", + "Esmeralda", + "Esteban", + "Estefanía", + "Estela", + "Esparta", + "Espartaco", + "Esperanza", + "Estela", + "Esther", + "Eugenia", + "Eugenio", + "Eva", + "Evelio", + "Fabiola", + "Federico", + "Felipe", + "Fernando", + "Felix", + "Fidel", + "Flavio", + "Florencia", + "Francisco", + "Francisco Javier", + "Francisca", + "Frida", + "Gabino", + "Gabriela", + "Gabriel", + "Genaro", + "Georgina", + "Gerardo", + "Gerónimo", + "Germán", + "Gilberto", + "Guillermina", + "Gloria", + "Gonzalo", + "Graciela", + "Gregorio", + "Guillermo", + "Guadalupe", + "Gustavo", + "Héctor", + "Helena", + "Hermelinda", + "Hernán", + "Hilda", + "Homero", + "Horacio", + "Hugo", + "Humberto", + "Ignacio", + "Ilse", + "Indira", + "Inés", + "Irene", + "Irma", + "Itzel", + "Isaac", + "Isabel", + "Isabela", + "Israel", + "Iván", + "Ivonne", + "Jacinto", + "Jacobo", + "Jaime", + "Javier", + "Jaqueline", + "Jerónimo", + "Jesús", + "Joaquín", + "Jonás", + "Jorge", + "Jorge Luis", + "Jos", + "José", + "Josefina", + "José Carlos", + "José Eduardo", + "José Emilio", + "José Luis", + "José Manuél", + "José María", + "Juan", + "Juana", + "Juan Carlos", + "Judith", + "Julia", + "Julio", + "Julio César", + "Laura", + "Leonardo", + "Leonel", + "Leonor", + "Karla", + "Karina", + "Leticia", + "Lorenzo", + "Lucas", + "Lilia", + "Liliana", + "Linda", + "Lorena", + "Lourdes", + "Lucía", + "Luisa", + "Luz", + "Luis", + "Luis Miguel", + "Luis Manuel", + "Magdalena", + "Manuel", + "Marco Antonio", + "Marcela", + "Marcos", + "Margarita", + "María", + "Marisela", + "Marisol", + "María del Carmen", + "María Cristina", + "María Elena", + "María Eugenia", + "María José", + "María Luisa", + "María Teresa", + "Marisol", + "Martha", + "Mayte", + "Mariano", + "Mariana", + "Mario", + "Martín", + "Mateo", + "Mauro", + "Mauricio", + "Maximiliano", + "Mercedes", + "Micaela", + "Minerva", + "Mitzy", + "Miguel", + "Miguel Ángel", + "Miriam", + "Modesto", + "Mónica", + "Nadia", + "Natalia", + "Natividad", + "Nancy", + "Nayeli", + "Nelly", + "Noelia", + "Noemí", + "Norma", + "Nicolás", + "Octavio", + "Ofelia", + "Olivia", + "Óliver", + "Olga", + "Óscar", + "Oswaldo", + "Omar", + "Pablo", + "Paola", + "Patricia", + "Pamela", + "Patricio", + "Pascual", + "Paulina", + "Pedro", + "Perla", + "Pilar", + "Porfirio", + "Rafaél", + "Ramiro", + "Ramón", + "Raúl", + "Raquel", + "Rebeca", + "Reina", + "Renato", + "René", + "Reynaldo", + "Ricardo", + "Roberto", + "Rodolfo", + "Rocío", + "Rodrigo", + "Rolando", + "Rosa", + "Rosalia", + "Rosario", + "Rubén", + "Rufino", + "Ruby", + "Salvador", + "Salma", + "Samuel", + "Sandra", + "Santiago", + "Sara", + "Sessa", + "Sergio", + "Serafín", + "Silvano", + "Silvia", + "Sofía", + "Socorro", + "Soledad", + "Sonia", + "Susana", + "Tania", + "Teresa", + "Teodoro", + "Timoteo", + "Tomás", + "Trinidad", + "Verónica", + "Vicente", + "Violeta", + "Uriel", + "Úrsula", + "Vanesa", + "Víctor", + "Victoria", + "Virginia", + "Wilfrido", + "Wendolin", + "Yeni", + "Yolanda", + "Yuridia", + "Zacarías", + "Zeferino", + "Zoé", + ) - last_names = ('Abrego', 'Abreu', 'Acevedo', 'Acosta', 'Acuña', - 'Adame', 'Aguayo', 'Aguilar', 'Aguilera', 'Aguirre', 'Alarcón', 'Alba', - 'Alcala', 'Alcántar', 'Alcaraz', 'Alejandro', 'Alemán', 'Alfaro', - 'Almanza', 'Almaraz', 'Almonte', 'Alonso', 'Alonzo', 'Altamirano', - 'Alva', 'Alvarado', 'Alvarez', 'Amador', 'Amaya', 'Anaya', 'Anguiano', - 'Angulo', 'Aparicio', 'Apodaca', 'Aponte', 'Aragón', 'Aranda', 'Arce', - 'Archuleta', 'Arellano', 'Arenas', 'Arevalo', 'Arguello', 'Arias', - 'Armas', 'Armendáriz', 'Armenta', 'Arredondo', 'Arreola', 'Arriaga', - 'Arroyo', 'Arteaga', 'Ávalos', 'Ávila', 'Avilés', 'Ayala', 'Baca', - 'Badillo', 'Báez', 'Baeza', 'Bahena', 'Balderas', 'Ballesteros', - 'Bañuelos', 'Barajas', 'Barela', 'Barragán', 'Barraza', 'Barrera', - 'Barreto', 'Barrientos', 'Barrios', 'Batista', 'Becerra', 'Beltrán', - 'Benavides', 'Benavídez', 'Benítez', 'Bermúdez', 'Bernal', 'Berríos', - 'Bétancourt', 'Blanco', 'Bonilla', 'Borrego', 'Botello', 'Bravo', - 'Briones', 'Briseño', 'Brito', 'Bueno', 'Burgos', 'Bustamante', - 'Bustos', 'Caballero', 'Cabán', 'Cabrera', 'Cadena', 'Caldera', - 'Calderón', 'Calvillo', 'Camacho', 'Camarillo', 'Campos', 'Canales', - 'Candelaria', 'Cano', 'Cantú', 'Caraballo', 'Carbajal', 'Cardenas', - 'Cardona', 'Carmona', 'Carranza', 'Carrasco', 'Carreón', 'Carrera', - 'Carrero', 'Carrillo', 'Carrión', 'Carvajal', 'Casanova', 'Casares', - 'Casárez', 'Casas', 'Casillas', 'Castañeda', 'Castellanos', 'Castillo', - 'Castro', 'Cavazos', 'Cazares', 'Ceballos', 'Cedillo', 'Ceja', - 'Centeno', 'Cepeda', 'Cervantes', 'Cervántez', 'Chacón', 'Chapa', - 'Chavarría', 'Chávez', 'Cintrón', 'Cisneros', 'Collado', 'Collazo', - 'Colón', 'Colunga', 'Concepción', 'Contreras', 'Cordero', 'Córdova', - 'Cornejo', 'Corona', 'Coronado', 'Corral', 'Corrales', 'Correa', - 'Cortés', 'Cortez', 'Cotto', 'Covarrubias', 'Crespo', 'Cruz', 'Cuellar', - 'Curiel', 'Dávila', 'de Anda', 'de Jesús', 'de la Crúz', 'de la Fuente', - 'de la Garza', 'de la O', 'de la Rosa', 'de la Torre', 'de León', - 'Delgadillo', 'Delgado', 'del Río', 'del Valle', 'Díaz', 'Domínguez', - 'Duarte', 'Dueñas', 'Durán', 'Echeverría', 'Elizondo', 'Enríquez', - 'Escalante', 'Escamilla', 'Escobar', 'Escobedo', 'Esparza', 'Espinal', - 'Espino', 'Espinosa', 'Espinoza', 'Esquibel', 'Esquivel', 'Estévez', - 'Estrada', 'Fajardo', 'Farías', 'Feliciano', 'Fernández', 'Ferrer', - 'Fierro', 'Figueroa', 'Flores', 'Flórez', 'Fonseca', 'Franco', 'Frías', - 'Fuentes', 'Gaitán', 'Galarza', 'Galindo', 'Gallardo', 'Gallegos', - 'Galván', 'Gálvez', 'Gamboa', 'Gamez', 'Gaona', 'Garay', 'García', - 'Garibay', 'Garica', 'Garrido', 'Garza', 'Gastélum', 'Gaytán', 'Gil', - 'Girón', 'Godínez', 'Godoy', 'Gómez', 'Gonzales', 'González', 'Gollum', - 'Gracia', 'Granado', 'Granados', 'Griego', 'Grijalva', 'Guajardo', - 'Guardado', 'Guerra', 'Guerrero', 'Guevara', 'Guillen', 'Gurule', - 'Gutiérrez', 'Guzmán', 'Haro', 'Henríquez', 'Heredia', 'Hernádez', - 'Hernandes', 'Hernández', 'Herrera', 'Hidalgo', 'Hinojosa', 'Holguín', - 'Huerta', 'Hurtado', 'Ibarra', 'Iglesias', 'Irizarry', 'Jaime', - 'Jaimes', 'Jáquez', 'Jaramillo', 'Jasso', 'Jiménez', 'Jimínez', - 'Juárez', 'Jurado', 'Laboy', 'Lara', 'Laureano', 'Leal', 'Lebrón', - 'Ledesma', 'Leiva', 'Lemus', 'León', 'Lerma', 'Leyva', 'Limón', - 'Linares', 'Lira', 'Llamas', 'Loera', 'Lomeli', 'Longoria', 'López', - 'Lovato', 'Loya', 'Lozada', 'Lozano', 'Lucero', 'Lucio', 'Luevano', - 'Lugo', 'Luna', 'Macías', 'Madera', 'Madrid', 'Madrigal', 'Maestas', - 'Magaña', 'Malave', 'Maldonado', 'Manzanares', 'Mares', 'Marín', - 'Márquez', 'Marrero', 'Marroquín', 'Martínez', 'Mascareñas', 'Mata', - 'Mateo', 'Matías', 'Matos', 'Maya', 'Mayorga', 'Medina', 'Medrano', - 'Mejía', 'Meléndez', 'Melgar', 'Mena', 'Menchaca', 'Méndez', 'Mendoza', - 'Menéndez', 'Meraz', 'Mercado', 'Merino', 'Mesa', 'Meza', 'Miramontes', - 'Miranda', 'Mireles', 'Mojica', 'Molina', 'Mondragón', 'Monroy', - 'Montalvo', 'Montañez', 'Montaño', 'Montemayor', 'Montenegro', - 'Montero', 'Montes', 'Montez', 'Montoya', 'Mora', 'Morales', 'Moreno', - 'Mota', 'Moya', 'Munguía', 'Muñiz', 'Muñoz', 'Murillo', 'Muro', - 'Nájera', 'Naranjo', 'Narváez', 'Nava', 'Navarrete', 'Navarro', - 'Nazario', 'Negrete', 'Negrón', 'Nevárez', 'Nieto', 'Nieves', 'Niño', - 'Noriega', 'Núñez', 'Ocampo', 'Ocasio', 'Ochoa', 'Ojeda', 'Olivares', - 'Olivárez', 'Olivas', 'Olivera', 'Olivo', 'Olmos', 'Olvera', - 'Ontiveros', 'Oquendo', 'Ordóñez', 'Orellana', 'Ornelas', 'Orosco', - 'Orozco', 'Orta', 'Ortega', 'Ortiz', 'Osorio', 'Otero', 'Ozuna', - 'Pabón', 'Pacheco', 'Padilla', 'Padrón', 'Páez', 'Palacios', 'Palomino', - 'Palomo', 'Pantoja', 'Paredes', 'Parra', 'Partida', 'Patiño', 'Paz', - 'Pedraza', 'Pedroza', 'Pelayo', 'Peña', 'Perales', 'Peralta', 'Perea', - 'Peres', 'Pérez', 'Pichardo', 'Piña', 'Pineda', 'Pizarro', 'Polanco', - 'Ponce', 'Porras', 'Portillo', 'Posada', 'Prado', 'Preciado', 'Prieto', - 'Puente', 'Puga', 'Pulido', 'Quesada', 'Quezada', 'Quiñones', - 'Quiñónez', 'Quintana', 'Quintanilla', 'Quintero', 'Quiroz', 'Rael', - 'Ramírez', 'Ramón', 'Ramos', 'Rangel', 'Rascón', 'Raya', 'Razo', - 'Regalado', 'Rendón', 'Rentería', 'Reséndez', 'Reyes', 'Reyna', - 'Reynoso', 'Rico', 'Rincón', 'Riojas', 'Ríos', 'Rivas', 'Rivera', - 'Rivero', 'Robledo', 'Robles', 'Rocha', 'Rodarte', 'Rodrígez', - 'Rodríguez', 'Rodríquez', 'Rojas', 'Rojo', 'Roldán', 'Rolón', 'Romero', - 'Romo', 'Roque', 'Rosado', 'Rosales', 'Rosario', 'Rosas', 'Roybal', - 'Rubio', 'Ruelas', 'Ruiz', 'Saavedra', 'Sáenz', 'Saiz', 'Salas', - 'Salazar', 'Salcedo', 'Salcido', 'Saldaña', 'Saldivar', 'Salgado', - 'Salinas', 'Samaniego', 'Sanabria', 'Sanches', 'Sánchez', 'Sandoval', - 'Santacruz', 'Santana', 'Santiago', 'Santillán', 'Sarabia', 'Sauceda', - 'Saucedo', 'Segovia', 'Segura', 'Sepúlveda', 'Serna', 'Serrano', - 'Serrato', 'Sevilla', 'Sierra', 'Sisneros', 'Solano', 'Solís', 'Soliz', - 'Solorio', 'Solorzano', 'Soria', 'Sosa', 'Sotelo', 'Soto', 'Suárez', - 'Tafoya', 'Tamayo', 'Tamez', 'Tapia', 'Tejada', 'Tejeda', 'Téllez', - 'Tello', 'Terán', 'Terrazas', 'Tijerina', 'Tirado', 'Toledo', 'Toro', - 'Torres', 'Tórrez', 'Tovar', 'Trejo', 'Treviño', 'Trujillo', 'Ulibarri', - 'Ulloa', 'Urbina', 'Ureña', 'Urías', 'Uribe', 'Urrutia', 'Vaca', - 'Valadez', 'Valdés', 'Valdez', 'Valdivia', 'Valencia', 'Valentín', - 'Valenzuela', 'Valladares', 'Valle', 'Vallejo', 'Valles', 'Valverde', - 'Vanegas', 'Varela', 'Vargas', 'Vásquez', 'Vázquez', 'Vega', 'Vela', - 'Velasco', 'Velásquez', 'Velázquez', 'Vélez', 'Véliz', 'Venegas', - 'Vera', 'Verdugo', 'Verduzco', 'Vergara', 'Viera', 'Vigil', 'Villa', - 'Villagómez', 'Villalobos', 'Villalpando', 'Villanueva', 'Villareal', - 'Villarreal', 'Villaseñor', 'Villegas', 'Yáñez', 'Ybarra', 'Zambrano', - 'Zamora', 'Zamudio', 'Zapata', 'Zaragoza', 'Zarate', 'Zavala', 'Zayas', - 'Zedillo', 'Zelaya', 'Zepeda', 'Zúñiga') + last_names = ( + "Abrego", + "Abreu", + "Acevedo", + "Acosta", + "Acuña", + "Adame", + "Aguayo", + "Aguilar", + "Aguilera", + "Aguirre", + "Alarcón", + "Alba", + "Alcala", + "Alcántar", + "Alcaraz", + "Alejandro", + "Alemán", + "Alfaro", + "Almanza", + "Almaraz", + "Almonte", + "Alonso", + "Alonzo", + "Altamirano", + "Alva", + "Alvarado", + "Alvarez", + "Amador", + "Amaya", + "Anaya", + "Anguiano", + "Angulo", + "Aparicio", + "Apodaca", + "Aponte", + "Aragón", + "Aranda", + "Arce", + "Archuleta", + "Arellano", + "Arenas", + "Arevalo", + "Arguello", + "Arias", + "Armas", + "Armendáriz", + "Armenta", + "Arredondo", + "Arreola", + "Arriaga", + "Arroyo", + "Arteaga", + "Ávalos", + "Ávila", + "Avilés", + "Ayala", + "Baca", + "Badillo", + "Báez", + "Baeza", + "Bahena", + "Balderas", + "Ballesteros", + "Bañuelos", + "Barajas", + "Barela", + "Barragán", + "Barraza", + "Barrera", + "Barreto", + "Barrientos", + "Barrios", + "Batista", + "Becerra", + "Beltrán", + "Benavides", + "Benavídez", + "Benítez", + "Bermúdez", + "Bernal", + "Berríos", + "Bétancourt", + "Blanco", + "Bonilla", + "Borrego", + "Botello", + "Bravo", + "Briones", + "Briseño", + "Brito", + "Bueno", + "Burgos", + "Bustamante", + "Bustos", + "Caballero", + "Cabán", + "Cabrera", + "Cadena", + "Caldera", + "Calderón", + "Calvillo", + "Camacho", + "Camarillo", + "Campos", + "Canales", + "Candelaria", + "Cano", + "Cantú", + "Caraballo", + "Carbajal", + "Cardenas", + "Cardona", + "Carmona", + "Carranza", + "Carrasco", + "Carreón", + "Carrera", + "Carrero", + "Carrillo", + "Carrión", + "Carvajal", + "Casanova", + "Casares", + "Casárez", + "Casas", + "Casillas", + "Castañeda", + "Castellanos", + "Castillo", + "Castro", + "Cavazos", + "Cazares", + "Ceballos", + "Cedillo", + "Ceja", + "Centeno", + "Cepeda", + "Cervantes", + "Cervántez", + "Chacón", + "Chapa", + "Chavarría", + "Chávez", + "Cintrón", + "Cisneros", + "Collado", + "Collazo", + "Colón", + "Colunga", + "Concepción", + "Contreras", + "Cordero", + "Córdova", + "Cornejo", + "Corona", + "Coronado", + "Corral", + "Corrales", + "Correa", + "Cortés", + "Cortez", + "Cotto", + "Covarrubias", + "Crespo", + "Cruz", + "Cuellar", + "Curiel", + "Dávila", + "de Anda", + "de Jesús", + "de la Crúz", + "de la Fuente", + "de la Garza", + "de la O", + "de la Rosa", + "de la Torre", + "de León", + "Delgadillo", + "Delgado", + "del Río", + "del Valle", + "Díaz", + "Domínguez", + "Duarte", + "Dueñas", + "Durán", + "Echeverría", + "Elizondo", + "Enríquez", + "Escalante", + "Escamilla", + "Escobar", + "Escobedo", + "Esparza", + "Espinal", + "Espino", + "Espinosa", + "Espinoza", + "Esquibel", + "Esquivel", + "Estévez", + "Estrada", + "Fajardo", + "Farías", + "Feliciano", + "Fernández", + "Ferrer", + "Fierro", + "Figueroa", + "Flores", + "Flórez", + "Fonseca", + "Franco", + "Frías", + "Fuentes", + "Gaitán", + "Galarza", + "Galindo", + "Gallardo", + "Gallegos", + "Galván", + "Gálvez", + "Gamboa", + "Gamez", + "Gaona", + "Garay", + "García", + "Garibay", + "Garica", + "Garrido", + "Garza", + "Gastélum", + "Gaytán", + "Gil", + "Girón", + "Godínez", + "Godoy", + "Gómez", + "Gonzales", + "González", + "Gollum", + "Gracia", + "Granado", + "Granados", + "Griego", + "Grijalva", + "Guajardo", + "Guardado", + "Guerra", + "Guerrero", + "Guevara", + "Guillen", + "Gurule", + "Gutiérrez", + "Guzmán", + "Haro", + "Henríquez", + "Heredia", + "Hernádez", + "Hernandes", + "Hernández", + "Herrera", + "Hidalgo", + "Hinojosa", + "Holguín", + "Huerta", + "Hurtado", + "Ibarra", + "Iglesias", + "Irizarry", + "Jaime", + "Jaimes", + "Jáquez", + "Jaramillo", + "Jasso", + "Jiménez", + "Jimínez", + "Juárez", + "Jurado", + "Laboy", + "Lara", + "Laureano", + "Leal", + "Lebrón", + "Ledesma", + "Leiva", + "Lemus", + "León", + "Lerma", + "Leyva", + "Limón", + "Linares", + "Lira", + "Llamas", + "Loera", + "Lomeli", + "Longoria", + "López", + "Lovato", + "Loya", + "Lozada", + "Lozano", + "Lucero", + "Lucio", + "Luevano", + "Lugo", + "Luna", + "Macías", + "Madera", + "Madrid", + "Madrigal", + "Maestas", + "Magaña", + "Malave", + "Maldonado", + "Manzanares", + "Mares", + "Marín", + "Márquez", + "Marrero", + "Marroquín", + "Martínez", + "Mascareñas", + "Mata", + "Mateo", + "Matías", + "Matos", + "Maya", + "Mayorga", + "Medina", + "Medrano", + "Mejía", + "Meléndez", + "Melgar", + "Mena", + "Menchaca", + "Méndez", + "Mendoza", + "Menéndez", + "Meraz", + "Mercado", + "Merino", + "Mesa", + "Meza", + "Miramontes", + "Miranda", + "Mireles", + "Mojica", + "Molina", + "Mondragón", + "Monroy", + "Montalvo", + "Montañez", + "Montaño", + "Montemayor", + "Montenegro", + "Montero", + "Montes", + "Montez", + "Montoya", + "Mora", + "Morales", + "Moreno", + "Mota", + "Moya", + "Munguía", + "Muñiz", + "Muñoz", + "Murillo", + "Muro", + "Nájera", + "Naranjo", + "Narváez", + "Nava", + "Navarrete", + "Navarro", + "Nazario", + "Negrete", + "Negrón", + "Nevárez", + "Nieto", + "Nieves", + "Niño", + "Noriega", + "Núñez", + "Ocampo", + "Ocasio", + "Ochoa", + "Ojeda", + "Olivares", + "Olivárez", + "Olivas", + "Olivera", + "Olivo", + "Olmos", + "Olvera", + "Ontiveros", + "Oquendo", + "Ordóñez", + "Orellana", + "Ornelas", + "Orosco", + "Orozco", + "Orta", + "Ortega", + "Ortiz", + "Osorio", + "Otero", + "Ozuna", + "Pabón", + "Pacheco", + "Padilla", + "Padrón", + "Páez", + "Palacios", + "Palomino", + "Palomo", + "Pantoja", + "Paredes", + "Parra", + "Partida", + "Patiño", + "Paz", + "Pedraza", + "Pedroza", + "Pelayo", + "Peña", + "Perales", + "Peralta", + "Perea", + "Peres", + "Pérez", + "Pichardo", + "Piña", + "Pineda", + "Pizarro", + "Polanco", + "Ponce", + "Porras", + "Portillo", + "Posada", + "Prado", + "Preciado", + "Prieto", + "Puente", + "Puga", + "Pulido", + "Quesada", + "Quezada", + "Quiñones", + "Quiñónez", + "Quintana", + "Quintanilla", + "Quintero", + "Quiroz", + "Rael", + "Ramírez", + "Ramón", + "Ramos", + "Rangel", + "Rascón", + "Raya", + "Razo", + "Regalado", + "Rendón", + "Rentería", + "Reséndez", + "Reyes", + "Reyna", + "Reynoso", + "Rico", + "Rincón", + "Riojas", + "Ríos", + "Rivas", + "Rivera", + "Rivero", + "Robledo", + "Robles", + "Rocha", + "Rodarte", + "Rodrígez", + "Rodríguez", + "Rodríquez", + "Rojas", + "Rojo", + "Roldán", + "Rolón", + "Romero", + "Romo", + "Roque", + "Rosado", + "Rosales", + "Rosario", + "Rosas", + "Roybal", + "Rubio", + "Ruelas", + "Ruiz", + "Saavedra", + "Sáenz", + "Saiz", + "Salas", + "Salazar", + "Salcedo", + "Salcido", + "Saldaña", + "Saldivar", + "Salgado", + "Salinas", + "Samaniego", + "Sanabria", + "Sanches", + "Sánchez", + "Sandoval", + "Santacruz", + "Santana", + "Santiago", + "Santillán", + "Sarabia", + "Sauceda", + "Saucedo", + "Segovia", + "Segura", + "Sepúlveda", + "Serna", + "Serrano", + "Serrato", + "Sevilla", + "Sierra", + "Sisneros", + "Solano", + "Solís", + "Soliz", + "Solorio", + "Solorzano", + "Soria", + "Sosa", + "Sotelo", + "Soto", + "Suárez", + "Tafoya", + "Tamayo", + "Tamez", + "Tapia", + "Tejada", + "Tejeda", + "Téllez", + "Tello", + "Terán", + "Terrazas", + "Tijerina", + "Tirado", + "Toledo", + "Toro", + "Torres", + "Tórrez", + "Tovar", + "Trejo", + "Treviño", + "Trujillo", + "Ulibarri", + "Ulloa", + "Urbina", + "Ureña", + "Urías", + "Uribe", + "Urrutia", + "Vaca", + "Valadez", + "Valdés", + "Valdez", + "Valdivia", + "Valencia", + "Valentín", + "Valenzuela", + "Valladares", + "Valle", + "Vallejo", + "Valles", + "Valverde", + "Vanegas", + "Varela", + "Vargas", + "Vásquez", + "Vázquez", + "Vega", + "Vela", + "Velasco", + "Velásquez", + "Velázquez", + "Vélez", + "Véliz", + "Venegas", + "Vera", + "Verdugo", + "Verduzco", + "Vergara", + "Viera", + "Vigil", + "Villa", + "Villagómez", + "Villalobos", + "Villalpando", + "Villanueva", + "Villareal", + "Villarreal", + "Villaseñor", + "Villegas", + "Yáñez", + "Ybarra", + "Zambrano", + "Zamora", + "Zamudio", + "Zapata", + "Zaragoza", + "Zarate", + "Zavala", + "Zayas", + "Zedillo", + "Zelaya", + "Zepeda", + "Zúñiga", + ) - prefixes = ('Sr(a).', 'Dr.', 'Mtro.', 'Lic.', - 'Ing.') + prefixes = ("Sr(a).", "Dr.", "Mtro.", "Lic.", "Ing.") diff --git a/faker/providers/person/et_EE/__init__.py b/faker/providers/person/et_EE/__init__.py index eb12f294f3..c234ec582c 100644 --- a/faker/providers/person/et_EE/__init__.py +++ b/faker/providers/person/et_EE/__init__.py @@ -9,181 +9,700 @@ class Provider(PersonProvider): # About 70% of the population are Estonians and about 25% are Russians est_rat = 0.7 rus_rat = 1.0 - est_rat - formats = OrderedDict([ - ('{{first_name_est}} {{last_name_est}}', est_rat), - ('{{first_name_rus}} {{last_name_rus}}', rus_rat), - ]) + formats = OrderedDict( + [ + ("{{first_name_est}} {{last_name_est}}", est_rat), + ("{{first_name_rus}} {{last_name_rus}}", rus_rat), + ] + ) - formats_male = OrderedDict([ - ('{{first_name_male_est}} {{last_name_est}}', est_rat), - ('{{first_name_male_rus}} {{last_name_rus}}', rus_rat), - ]) + formats_male = OrderedDict( + [ + ("{{first_name_male_est}} {{last_name_est}}", est_rat), + ("{{first_name_male_rus}} {{last_name_rus}}", rus_rat), + ] + ) - formats_female = OrderedDict([ - ('{{first_name_female_est}} {{last_name_est}}', est_rat), - ('{{first_name_female_rus}} {{last_name_rus}}', rus_rat), - ]) + formats_female = OrderedDict( + [ + ("{{first_name_female_est}} {{last_name_est}}", est_rat), + ("{{first_name_female_rus}} {{last_name_rus}}", rus_rat), + ] + ) - prefixes_neutral = ('doktor', 'dr', 'prof') - prefixes_male = ('härra', 'hr') + prefixes_neutral - prefixes_female = ('proua', 'pr') + prefixes_neutral - prefixes = set(prefixes_male + prefixes_female) + prefixes_neutral = ("doktor", "dr", "prof") + prefixes_male = ("härra", "hr") + prefixes_neutral + prefixes_female = ("proua", "pr") + prefixes_neutral + prefixes = list(set(prefixes_male + prefixes_female)) - suffixes = ('PhD', 'MSc', 'BSc') + suffixes = ("PhD", "MSc", "BSc") # source: http://www.stat.ee/public/apps/nimed/TOP # TOP 50 male names in 2017 according to the Statistics Estonia - first_names_male_est = ('Aivar', 'Aleksander', 'Alexander', 'Andres', - 'Andrus', 'Ants', 'Indrek', 'Jaan', 'Jaanus', - 'Jüri', 'Kristjan', 'Marek', 'Margus', 'Marko', - 'Martin', 'Mati', 'Meelis', 'Mihkel', 'Peeter', - 'Priit', 'Raivo', 'Rein', 'Sander', 'Siim', 'Tarmo', - 'Tiit', 'Toomas', 'Tõnu', 'Urmas', 'Vello') - - first_names_female_est = ('Aino', 'Anna', 'Anne', 'Anneli', 'Anu', 'Diana', - 'Ene', 'Eve', 'Kadri', 'Katrin', 'Kristi', - 'Kristiina', 'Kristina', 'Laura', 'Linda', 'Maie', - 'Malle', 'Mare', 'Maria', 'Marika', 'Merike', - 'Niina', 'Piret', 'Reet', 'Riina', 'Sirje', - 'Tiina', 'Tiiu', 'Triin', 'Ülle') + first_names_male_est = ( + "Aivar", + "Aleksander", + "Alexander", + "Andres", + "Andrus", + "Ants", + "Indrek", + "Jaan", + "Jaanus", + "Jüri", + "Kristjan", + "Marek", + "Margus", + "Marko", + "Martin", + "Mati", + "Meelis", + "Mihkel", + "Peeter", + "Priit", + "Raivo", + "Rein", + "Sander", + "Siim", + "Tarmo", + "Tiit", + "Toomas", + "Tõnu", + "Urmas", + "Vello", + ) + + first_names_female_est = ( + "Aino", + "Anna", + "Anne", + "Anneli", + "Anu", + "Diana", + "Ene", + "Eve", + "Kadri", + "Katrin", + "Kristi", + "Kristiina", + "Kristina", + "Laura", + "Linda", + "Maie", + "Malle", + "Mare", + "Maria", + "Marika", + "Merike", + "Niina", + "Piret", + "Reet", + "Riina", + "Sirje", + "Tiina", + "Tiiu", + "Triin", + "Ülle", + ) first_names_est = first_names_male_est + first_names_female_est - first_names_male_rus = ('Aleksander', 'Aleksandr', 'Aleksei', 'Alexander', - 'Andrei', 'Artur', 'Dmitri', 'Igor', 'Ivan', - 'Jevgeni', 'Juri', 'Maksim', 'Mihhail', 'Nikolai', - 'Oleg', 'Pavel', 'Roman', 'Sergei', 'Sergey', - 'Valeri', 'Viktor', 'Vladimir') + first_names_male_rus = ( + "Aleksander", + "Aleksandr", + "Aleksei", + "Alexander", + "Andrei", + "Artur", + "Dmitri", + "Igor", + "Ivan", + "Jevgeni", + "Juri", + "Maksim", + "Mihhail", + "Nikolai", + "Oleg", + "Pavel", + "Roman", + "Sergei", + "Sergey", + "Valeri", + "Viktor", + "Vladimir", + ) - first_names_female_rus = ('Aleksandra', 'Anna', 'Diana', 'Elena', 'Galina', - 'Irina', 'Jekaterina', 'Jelena', 'Julia', - 'Kristina', 'Ljubov', 'Ljudmila', 'Maria', - 'Marina', 'Nadežda', 'Natalia', 'Natalja', 'Nina', - 'Olga', 'Svetlana', 'Tamara', 'Tatiana', - 'Tatjana', 'Valentina', 'Viktoria') + first_names_female_rus = ( + "Aleksandra", + "Anna", + "Diana", + "Elena", + "Galina", + "Irina", + "Jekaterina", + "Jelena", + "Julia", + "Kristina", + "Ljubov", + "Ljudmila", + "Maria", + "Marina", + "Nadežda", + "Natalia", + "Natalja", + "Nina", + "Olga", + "Svetlana", + "Tamara", + "Tatiana", + "Tatjana", + "Valentina", + "Viktoria", + ) first_names_rus = first_names_male_rus + first_names_female_rus - first_names_male = set(first_names_male_est + first_names_male_rus) - first_names_female = set(first_names_female_est + first_names_female_rus) - first_names = first_names_male | first_names_female + first_names_male = list(set(first_names_male_est + first_names_male_rus)) + first_names_female = list(set(first_names_female_est + first_names_female_rus)) + first_names = list(set(first_names_male) | set(first_names_female)) # http://ekspress.delfi.ee/kuum/\ # top-500-eesti-koige-levinumad-perekonnanimed?id=27677149 - last_names_est = ('Aas', 'Aasa', 'Aasmäe', 'Aavik', 'Abel', 'Adamson', - 'Ader', 'Alas', 'Allas', 'Allik', 'Anderson', 'Annus', - 'Anton', 'Arro', 'Aru', 'Arula', 'Aun', 'Aus', 'Eller', - 'Erik', 'Erm', 'Ernits', 'Gross', 'Hallik', 'Hansen', - 'Hanson', 'Hein', 'Heinsalu', 'Heinsoo', 'Holm', 'Hunt', - 'Härm', 'Ilves', 'Ivask', 'Jaakson', 'Jaanson', 'Jaanus', - 'Jakobson', 'Jalakas', 'Johanson', 'Juhanson', 'Juhkam', - 'Jänes', 'Järv', 'Järve', 'Jõe', 'Jõesaar', 'Jõgi', - 'Jürgens', 'Jürgenson', 'Jürisson', 'Kaasik', 'Kadak', - 'Kala', 'Kalamees', 'Kalda', 'Kaljula', 'Kaljurand', - 'Kaljuste', 'Kaljuvee', 'Kallas', 'Kallaste', 'Kalm', - 'Kalmus', 'Kangro', 'Kangur', 'Kapp', 'Karro', 'Karu', - 'Kasak', 'Kase', 'Kasemaa', 'Kasemets', 'Kask', 'Kass', - 'Kattai', 'Kaur', 'Kelder', 'Kesküla', 'Kiik', 'Kiil', - 'Kiis', 'Kiisk', 'Kikas', 'Kikkas', 'Kilk', 'Kink', - 'Kirs', 'Kirsipuu', 'Kirss', 'Kivi', 'Kivilo', 'Kivimäe', - 'Kivistik', 'Klaas', 'Klein', 'Koger', 'Kohv', 'Koit', - 'Koitla', 'Kokk', 'Kolk', 'Kont', 'Kool', 'Koort', - 'Koppel', 'Korol', 'Kotkas', 'Kotov', 'Koval', 'Kozlov', - 'Kriisa', 'Kroon', 'Krõlov', 'Kudrjavtsev', 'Kulikov', - 'Kuningas', 'Kurg', 'Kurm', 'Kurvits', 'Kutsar', 'Kuus', - 'Kuuse', 'Kuusik', 'Kuusk', 'Kärner', 'Käsper', 'Käär', - 'Käärik', 'Kõiv', 'Kütt', 'Laan', 'Laane', 'Laanemets', - 'Laas', 'Laht', 'Laine', 'Laks', 'Lang', 'Lass', 'Laur', - 'Lauri', 'Lehiste', 'Leht', 'Lehtla', 'Lehtmets', 'Leis', - 'Lember', 'Lepik', 'Lepp', 'Leppik', 'Liblik', 'Liiv', - 'Liiva', 'Liivak', 'Liivamägi', 'Lill', 'Lillemets', - 'Lind', 'Link', 'Lipp', 'Lokk', 'Lomp', 'Loorits', 'Luht', - 'Luik', 'Lukin', 'Lukk', 'Lumi', 'Lumiste', 'Luts', - 'Lätt', 'Lääne', 'Lääts', 'Lõhmus', 'Maasik', 'Madisson', - 'Maidla', 'Mandel', 'Maripuu', 'Mark', 'Markus', 'Martin', - 'Martinson', 'Meier', 'Meister', 'Melnik', 'Merila', - 'Mets', 'Michelson', 'Mikk', 'Miller', 'Mitt', 'Moor', - 'Muru', 'Must', 'Mäe', 'Mäeots', 'Mäesalu', 'Mägi', - 'Mänd', 'Mändla', 'Männik', 'Männiste', 'Mõttus', - 'Mölder', 'Mürk', 'Müür', 'Müürsepp', 'Niit', 'Nurk', - 'Nurm', 'Nuut', 'Nõmm', 'Nõmme', 'Nõmmik', 'Oja', 'Ojala', - 'Ojaste', 'Oks', 'Olesk', 'Oras', 'Orav', 'Org', 'Ots', - 'Ott', 'Paal', 'Paap', 'Paas', 'Paju', 'Pajula', 'Palm', - 'Palu', 'Parts', 'Pent', 'Peterson', 'Pettai', 'Pihelgas', - 'Pihlak', 'Piho', 'Piir', 'Piirsalu', 'Pikk', 'Ploom', - 'Poom', 'Post', 'Pruul', 'Pukk', 'Pulk', 'Puusepp', - 'Pärn', 'Pärna', 'Pärnpuu', 'Pärtel', 'Põder', 'Põdra', - 'Põld', 'Põldma', 'Põldmaa', 'Põllu', 'Püvi', 'Raadik', - 'Raag', 'Raamat', 'Raid', 'Raidma', 'Raja', 'Rand', - 'Randmaa', 'Randoja', 'Raud', 'Raudsepp', 'Rebane', - 'Reimann', 'Reinsalu', 'Remmel', 'Rohtla', 'Roos', - 'Roosileht', 'Roots', 'Rosenberg', 'Rosin', 'Ruus', - 'Rätsep', 'Rüütel', 'Saar', 'Saare', 'Saks', 'Salu', - 'Salumets', 'Salumäe', 'Sander', 'Sarap', 'Sarapuu', - 'Sarv', 'Saul', 'Schmidt', 'Sepp', 'Sibul', 'Siim', - 'Sikk', 'Sild', 'Sillaots', 'Sillaste', 'Silm', 'Simson', - 'Sirel', 'Sisask', 'Sokk', 'Soo', 'Soon', 'Soosaar', - 'Soosalu', 'Soots', 'Suits', 'Sulg', 'Susi', 'Sutt', - 'Suur', 'Suvi', 'Säde', 'Sööt', 'Taal', 'Tali', 'Talts', - 'Tamberg', 'Tamm', 'Tamme', 'Tammik', 'Teder', 'Teearu', - 'Teesalu', 'Teras', 'Tiik', 'Tiits', 'Tilk', 'Tomingas', - 'Tomson', 'Toom', 'Toome', 'Tooming', 'Toomsalu', 'Toots', - 'Trei', 'Treial', 'Treier', 'Truu', 'Tuisk', 'Tuul', - 'Tuulik', 'Täht', 'Tõnisson', 'Uibo', 'Unt', 'Urb', 'Uus', - 'Uustalu', 'Vaher', 'Vaht', 'Vahter', 'Vahtra', 'Vain', - 'Vaino', 'Valge', 'Valk', 'Vares', 'Varik', 'Veski', - 'Viik', 'Viira', 'Viks', 'Vill', 'Villemson', 'Visnapuu', - 'Vähi', 'Väli', 'Võsu', 'Õispuu', 'Õun', 'Õunapuu') - - last_names_rus = ('Abramov', 'Afanasjev', 'Aleksandrov', 'Alekseev', - 'Andreev', 'Anissimov', 'Antonov', 'Baranov', 'Beljajev', - 'Belov', 'Bogdanov', 'Bondarenko', 'Borissov', 'Bõstrov', - 'Danilov', 'Davõdov', 'Denissov', 'Dmitriev', 'Drozdov', - 'Egorov', 'Fedorov', 'Fedotov', 'Filatov', 'Filippov', - 'Fjodorov', 'Fomin', 'Frolov', 'Gavrilov', 'Gerassimov', - 'Golubev', 'Gontšarov', 'Gorbunov', 'Grigoriev', 'Gromov', - 'Gusev', 'Ignatjev', 'Iljin', 'Ivanov', 'Jakovlev', - 'Jefimov', 'Jegorov', 'Jermakov', 'Jeršov', 'Kalinin', - 'Karpov', 'Karpov', 'Kazakov', 'Kirillov', 'Kisseljov', - 'Klimov', 'Kolesnik', 'Komarov', 'Kondratjev', - 'Konovalov', 'Konstantinov', 'Korol', 'Kostin', 'Kotov', - 'Koval', 'Kozlov', 'Kruglov', 'Krõlov', 'Kudrjavtsev', - 'Kulikov', 'Kuzmin', 'Kuznetsov', 'Lebedev', 'Loginov', - 'Lukin', 'Makarov', 'Maksimov', 'Malõšev', 'Maslov', - 'Matvejev', 'Medvedev', 'Melnik', 'Mihhailov', 'Miller', - 'Mironov', 'Moroz', 'Naumov', 'Nazarov', 'Nikiforov', - 'Nikitin', 'Nikolaev', 'Novikov', 'Orlov', 'Ossipov', - 'Panov', 'Pavlov', 'Petrov', 'Poljakov', 'Popov', - 'Romanov', 'Rosenberg', 'Rumjantsev', 'Safronov', - 'Saveljev', 'Semenov', 'Sergejev', 'Sidorov', 'Smirnov', - 'Sobolev', 'Sokolov', 'Solovjov', 'Sorokin', 'Stepanov', - 'Suvorov', 'Tarassov', 'Tihhomirov', 'Timofejev', 'Titov', - 'Trofimov', 'Tsvetkov', 'Vasiliev', 'Vinogradov', - 'Vlassov', 'Volkov', 'Vorobjov', 'Voronin', 'Zahharov', - 'Zaitsev', 'Zujev', 'Ševtšenko', 'Štšerbakov', - 'Štšerbakov', 'Žukov', 'Žuravljov') - last_names = set(last_names_est + last_names_rus) - - def first_name_male_est(self): + last_names_est = ( + "Aas", + "Aasa", + "Aasmäe", + "Aavik", + "Abel", + "Adamson", + "Ader", + "Alas", + "Allas", + "Allik", + "Anderson", + "Annus", + "Anton", + "Arro", + "Aru", + "Arula", + "Aun", + "Aus", + "Eller", + "Erik", + "Erm", + "Ernits", + "Gross", + "Hallik", + "Hansen", + "Hanson", + "Hein", + "Heinsalu", + "Heinsoo", + "Holm", + "Hunt", + "Härm", + "Ilves", + "Ivask", + "Jaakson", + "Jaanson", + "Jaanus", + "Jakobson", + "Jalakas", + "Johanson", + "Juhanson", + "Juhkam", + "Jänes", + "Järv", + "Järve", + "Jõe", + "Jõesaar", + "Jõgi", + "Jürgens", + "Jürgenson", + "Jürisson", + "Kaasik", + "Kadak", + "Kala", + "Kalamees", + "Kalda", + "Kaljula", + "Kaljurand", + "Kaljuste", + "Kaljuvee", + "Kallas", + "Kallaste", + "Kalm", + "Kalmus", + "Kangro", + "Kangur", + "Kapp", + "Karro", + "Karu", + "Kasak", + "Kase", + "Kasemaa", + "Kasemets", + "Kask", + "Kass", + "Kattai", + "Kaur", + "Kelder", + "Kesküla", + "Kiik", + "Kiil", + "Kiis", + "Kiisk", + "Kikas", + "Kikkas", + "Kilk", + "Kink", + "Kirs", + "Kirsipuu", + "Kirss", + "Kivi", + "Kivilo", + "Kivimäe", + "Kivistik", + "Klaas", + "Klein", + "Koger", + "Kohv", + "Koit", + "Koitla", + "Kokk", + "Kolk", + "Kont", + "Kool", + "Koort", + "Koppel", + "Korol", + "Kotkas", + "Kotov", + "Koval", + "Kozlov", + "Kriisa", + "Kroon", + "Krõlov", + "Kudrjavtsev", + "Kulikov", + "Kuningas", + "Kurg", + "Kurm", + "Kurvits", + "Kutsar", + "Kuus", + "Kuuse", + "Kuusik", + "Kuusk", + "Kärner", + "Käsper", + "Käär", + "Käärik", + "Kõiv", + "Kütt", + "Laan", + "Laane", + "Laanemets", + "Laas", + "Laht", + "Laine", + "Laks", + "Lang", + "Lass", + "Laur", + "Lauri", + "Lehiste", + "Leht", + "Lehtla", + "Lehtmets", + "Leis", + "Lember", + "Lepik", + "Lepp", + "Leppik", + "Liblik", + "Liiv", + "Liiva", + "Liivak", + "Liivamägi", + "Lill", + "Lillemets", + "Lind", + "Link", + "Lipp", + "Lokk", + "Lomp", + "Loorits", + "Luht", + "Luik", + "Lukin", + "Lukk", + "Lumi", + "Lumiste", + "Luts", + "Lätt", + "Lääne", + "Lääts", + "Lõhmus", + "Maasik", + "Madisson", + "Maidla", + "Mandel", + "Maripuu", + "Mark", + "Markus", + "Martin", + "Martinson", + "Meier", + "Meister", + "Melnik", + "Merila", + "Mets", + "Michelson", + "Mikk", + "Miller", + "Mitt", + "Moor", + "Muru", + "Must", + "Mäe", + "Mäeots", + "Mäesalu", + "Mägi", + "Mänd", + "Mändla", + "Männik", + "Männiste", + "Mõttus", + "Mölder", + "Mürk", + "Müür", + "Müürsepp", + "Niit", + "Nurk", + "Nurm", + "Nuut", + "Nõmm", + "Nõmme", + "Nõmmik", + "Oja", + "Ojala", + "Ojaste", + "Oks", + "Olesk", + "Oras", + "Orav", + "Org", + "Ots", + "Ott", + "Paal", + "Paap", + "Paas", + "Paju", + "Pajula", + "Palm", + "Palu", + "Parts", + "Pent", + "Peterson", + "Pettai", + "Pihelgas", + "Pihlak", + "Piho", + "Piir", + "Piirsalu", + "Pikk", + "Ploom", + "Poom", + "Post", + "Pruul", + "Pukk", + "Pulk", + "Puusepp", + "Pärn", + "Pärna", + "Pärnpuu", + "Pärtel", + "Põder", + "Põdra", + "Põld", + "Põldma", + "Põldmaa", + "Põllu", + "Püvi", + "Raadik", + "Raag", + "Raamat", + "Raid", + "Raidma", + "Raja", + "Rand", + "Randmaa", + "Randoja", + "Raud", + "Raudsepp", + "Rebane", + "Reimann", + "Reinsalu", + "Remmel", + "Rohtla", + "Roos", + "Roosileht", + "Roots", + "Rosenberg", + "Rosin", + "Ruus", + "Rätsep", + "Rüütel", + "Saar", + "Saare", + "Saks", + "Salu", + "Salumets", + "Salumäe", + "Sander", + "Sarap", + "Sarapuu", + "Sarv", + "Saul", + "Schmidt", + "Sepp", + "Sibul", + "Siim", + "Sikk", + "Sild", + "Sillaots", + "Sillaste", + "Silm", + "Simson", + "Sirel", + "Sisask", + "Sokk", + "Soo", + "Soon", + "Soosaar", + "Soosalu", + "Soots", + "Suits", + "Sulg", + "Susi", + "Sutt", + "Suur", + "Suvi", + "Säde", + "Sööt", + "Taal", + "Tali", + "Talts", + "Tamberg", + "Tamm", + "Tamme", + "Tammik", + "Teder", + "Teearu", + "Teesalu", + "Teras", + "Tiik", + "Tiits", + "Tilk", + "Tomingas", + "Tomson", + "Toom", + "Toome", + "Tooming", + "Toomsalu", + "Toots", + "Trei", + "Treial", + "Treier", + "Truu", + "Tuisk", + "Tuul", + "Tuulik", + "Täht", + "Tõnisson", + "Uibo", + "Unt", + "Urb", + "Uus", + "Uustalu", + "Vaher", + "Vaht", + "Vahter", + "Vahtra", + "Vain", + "Vaino", + "Valge", + "Valk", + "Vares", + "Varik", + "Veski", + "Viik", + "Viira", + "Viks", + "Vill", + "Villemson", + "Visnapuu", + "Vähi", + "Väli", + "Võsu", + "Õispuu", + "Õun", + "Õunapuu", + ) + + last_names_rus = ( + "Abramov", + "Afanasjev", + "Aleksandrov", + "Alekseev", + "Andreev", + "Anissimov", + "Antonov", + "Baranov", + "Beljajev", + "Belov", + "Bogdanov", + "Bondarenko", + "Borissov", + "Bõstrov", + "Danilov", + "Davõdov", + "Denissov", + "Dmitriev", + "Drozdov", + "Egorov", + "Fedorov", + "Fedotov", + "Filatov", + "Filippov", + "Fjodorov", + "Fomin", + "Frolov", + "Gavrilov", + "Gerassimov", + "Golubev", + "Gontšarov", + "Gorbunov", + "Grigoriev", + "Gromov", + "Gusev", + "Ignatjev", + "Iljin", + "Ivanov", + "Jakovlev", + "Jefimov", + "Jegorov", + "Jermakov", + "Jeršov", + "Kalinin", + "Karpov", + "Karpov", + "Kazakov", + "Kirillov", + "Kisseljov", + "Klimov", + "Kolesnik", + "Komarov", + "Kondratjev", + "Konovalov", + "Konstantinov", + "Korol", + "Kostin", + "Kotov", + "Koval", + "Kozlov", + "Kruglov", + "Krõlov", + "Kudrjavtsev", + "Kulikov", + "Kuzmin", + "Kuznetsov", + "Lebedev", + "Loginov", + "Lukin", + "Makarov", + "Maksimov", + "Malõšev", + "Maslov", + "Matvejev", + "Medvedev", + "Melnik", + "Mihhailov", + "Miller", + "Mironov", + "Moroz", + "Naumov", + "Nazarov", + "Nikiforov", + "Nikitin", + "Nikolaev", + "Novikov", + "Orlov", + "Ossipov", + "Panov", + "Pavlov", + "Petrov", + "Poljakov", + "Popov", + "Romanov", + "Rosenberg", + "Rumjantsev", + "Safronov", + "Saveljev", + "Semenov", + "Sergejev", + "Sidorov", + "Smirnov", + "Sobolev", + "Sokolov", + "Solovjov", + "Sorokin", + "Stepanov", + "Suvorov", + "Tarassov", + "Tihhomirov", + "Timofejev", + "Titov", + "Trofimov", + "Tsvetkov", + "Vasiliev", + "Vinogradov", + "Vlassov", + "Volkov", + "Vorobjov", + "Voronin", + "Zahharov", + "Zaitsev", + "Zujev", + "Ševtšenko", + "Štšerbakov", + "Štšerbakov", + "Žukov", + "Žuravljov", + ) + last_names = list(set(last_names_est + last_names_rus)) + + def first_name_male_est(self) -> str: return self.random_element(self.first_names_male_est) - def first_name_female_est(self): + def first_name_female_est(self) -> str: return self.random_element(self.first_names_female_est) - def first_name_male_rus(self): + def first_name_male_rus(self) -> str: return self.random_element(self.first_names_male_rus) - def first_name_female_rus(self): + def first_name_female_rus(self) -> str: return self.random_element(self.first_names_female_rus) - def first_name_est(self): + def first_name_est(self) -> str: return self.random_element(self.first_names_est) - def first_name_rus(self): + def first_name_rus(self) -> str: return self.random_element(self.first_names_rus) - def last_name_est(self): + def last_name_est(self) -> str: return self.random_element(self.last_names_est) - def last_name_rus(self): + def last_name_rus(self) -> str: return self.random_element(self.last_names_rus) diff --git a/faker/providers/person/fa_IR/__init__.py b/faker/providers/person/fa_IR/__init__.py index 830959b91f..217ab1ac7e 100644 --- a/faker/providers/person/fa_IR/__init__.py +++ b/faker/providers/person/fa_IR/__init__.py @@ -3,25 +3,21 @@ class Provider(PersonProvider): formats_female = ( - '{{first_name_female}} {{last_name}}', - '{{first_name_female}} {{last_name}}', - '{{first_name_female}} {{last_name}}', - '{{first_name_female}} {{last_name}}', - '{{first_name_female}} {{last_name}}', - '{{prefix_female}} {{first_name_female}} {{last_name}}', - '{{first_name_female}} {{last_name}} {{suffix}}', - '{{prefix_female}} {{first_name_female}} {{last_name}} {{suffix}}', + "{{first_name_female}} {{last_name}}", + "{{first_name_female}} {{last_name}}", + "{{first_name_female}} {{last_name}}", + "{{first_name_female}} {{last_name}}", + "{{first_name_female}} {{last_name}}", + "{{prefix_female}} {{first_name_female}} {{last_name}}", ) formats_male = ( - '{{first_name_male}} {{last_name}}', - '{{first_name_male}} {{last_name}}', - '{{first_name_male}} {{last_name}}', - '{{first_name_male}} {{last_name}}', - '{{first_name_male}} {{last_name}}', - '{{prefix_male}} {{first_name_male}} {{last_name}}', - '{{first_name_male}} {{last_name}} {{suffix}}', - '{{prefix_male}} {{first_name_male}} {{last_name}} {{suffix}}', + "{{first_name_male}} {{last_name}}", + "{{first_name_male}} {{last_name}}", + "{{first_name_male}} {{last_name}}", + "{{first_name_male}} {{last_name}}", + "{{first_name_male}} {{last_name}}", + "{{prefix_male}} {{first_name_male}} {{last_name}}", ) formats = formats_female + formats_male @@ -29,65 +25,322 @@ class Provider(PersonProvider): first_names_female = ( # top 50 Female Names in Iran: # http://www.sabteahval.ir/Upload/Modules/Contents/asset100/name/d1391.htm - 'فاطمه', 'اسما', 'زهرا', 'عسل', 'نازنین زهرا', 'النا', 'زینب', 'سارا', - 'یسنا', 'آتنا', 'ریحانه', 'آیناز', 'هستی', 'محیا', 'ستایش', 'باران', - 'ثنا', 'هلیا', 'مریم', 'یلدا', 'فاطمه زهرا', 'ملیكا', 'سارینا', - 'نازنین', 'مهسا', 'آیلین', 'نرگس', 'حنانه', 'رقیه', 'كیانا', 'كوثر', - 'هانیه', 'مبینا', 'مهدیس', 'رها', 'آوا', 'اسرا', 'یگانه', 'نیایش', - 'حدیث', 'الینا', 'سوگند', 'مائده', 'پریا', 'معصومه', 'مهدیه', - 'آیدا', 'الناز', 'محدثه', 'یاسمین', + "فاطمه", + "اسما", + "زهرا", + "عسل", + "نازنین زهرا", + "النا", + "زینب", + "سارا", + "یسنا", + "آتنا", + "ریحانه", + "آیناز", + "هستی", + "محیا", + "ستایش", + "باران", + "ثنا", + "هلیا", + "مریم", + "یلدا", + "فاطمه زهرا", + "ملیكا", + "سارینا", + "نازنین", + "مهسا", + "آیلین", + "نرگس", + "حنانه", + "رقیه", + "كیانا", + "كوثر", + "هانیه", + "مبینا", + "مهدیس", + "رها", + "آوا", + "اسرا", + "یگانه", + "نیایش", + "حدیث", + "الینا", + "سوگند", + "مائده", + "پریا", + "معصومه", + "مهدیه", + "آیدا", + "الناز", + "محدثه", + "یاسمین", # http://www.sabteahval.ir/Upload/Modules/Contents/asset100/name/d1393.htm - 'فاطمه', 'ستايش', 'زهرا', 'مائده', 'نازنين', 'مبينا', 'يسنا', 'عسل', - 'زينب', 'آيناز', 'ريحانه', 'هليا', 'فاطمه', 'سوگند', 'باران', 'سارا', 'رها', 'محدثه', - 'ثنا', 'الينا', 'کوثر', 'آتنا', 'مريم', 'فاطميا''سارينا', 'ياسمين', 'اسرا', - 'حسنا', 'رقيه', 'اسما', 'هستي', 'مهديس', 'محيا', 'هانيه', 'آيلين', 'حنانه', - 'مهسا', 'پرنيا', 'نرگس', 'آيدا', 'معصومه', 'کيانا', 'حلما', 'مليکا', 'آوا', - 'نازنين', 'النا', 'الناز', 'نيايش', 'بهار', + "فاطمه", + "ستايش", + "زهرا", + "مائده", + "نازنين", + "مبينا", + "يسنا", + "عسل", + "زينب", + "آيناز", + "ريحانه", + "هليا", + "فاطمه", + "سوگند", + "باران", + "سارا", + "رها", + "محدثه", + "ثنا", + "الينا", + "کوثر", + "آتنا", + "مريم", + "فاطميا" "سارينا", + "ياسمين", + "اسرا", + "حسنا", + "رقيه", + "اسما", + "هستي", + "مهديس", + "محيا", + "هانيه", + "آيلين", + "حنانه", + "مهسا", + "پرنيا", + "نرگس", + "آيدا", + "معصومه", + "کيانا", + "حلما", + "مليکا", + "آوا", + "نازنين", + "النا", + "الناز", + "نيايش", + "بهار", ) first_names_male = ( # top 50 male Names in Iran: # http://www.sabteahval.ir/Upload/Modules/Contents/asset100/name/p1391.htm - 'امیر علی', 'پرهام', 'ابوالفضل', 'كیان', 'امیرحسین', 'متین', - 'محمد طاها', 'عرفان', 'محمد', 'دانیال', 'علی', 'آرمین', 'امیرمحمد', - 'آرتین', 'حسین', 'سبحان', 'مهدی', 'سینا', 'محمد مهدی', 'آریا', - 'محمدرضا', 'محمدپارسا', 'طاها', 'سجاد', 'امیررضا', 'آرش', - 'امیرعباس', 'نیما', 'علیرضا', 'عرشیا', 'محمدامین', 'مبین', 'محمدحسین', - 'یوسف', 'رضا', 'احسان', 'علی اصغر', 'آرین', 'امیرمهدی', 'محمدیاسین', - 'ماهان', 'عباس', 'پارسا', 'حسام', 'یاسین', 'علی رضا', 'ایلیا', - 'علی اكبر', 'محمدجواد', 'بنیامین', + "امیر علی", + "پرهام", + "ابوالفضل", + "كیان", + "امیرحسین", + "متین", + "محمد طاها", + "عرفان", + "محمد", + "دانیال", + "علی", + "آرمین", + "امیرمحمد", + "آرتین", + "حسین", + "سبحان", + "مهدی", + "سینا", + "محمد مهدی", + "آریا", + "محمدرضا", + "محمدپارسا", + "طاها", + "سجاد", + "امیررضا", + "آرش", + "امیرعباس", + "نیما", + "علیرضا", + "عرشیا", + "محمدامین", + "مبین", + "محمدحسین", + "یوسف", + "رضا", + "احسان", + "علی اصغر", + "آرین", + "امیرمهدی", + "محمدیاسین", + "ماهان", + "عباس", + "پارسا", + "حسام", + "یاسین", + "علی رضا", + "ایلیا", + "علی اكبر", + "محمدجواد", + "بنیامین", # http://www.sabteahval.ir/Upload/Modules/Contents/asset100/name/p1393.htm - 'اميرعلي', 'ايليا', 'محمد', 'محمدپارسا', 'محمد', 'پرهام', 'ابوالفضل', - 'سبحان', 'اميرحسين', 'آرتين', 'علي', 'آرمين', 'حسين', 'عرفان', 'اميرمحمد', - 'آريا', 'اميرعباس', 'محمدياسين', 'محمدمهدي', 'متين', 'محمدرضا', 'دانيال', - 'مهدي', 'ساميار', 'محمدحسين', 'احسان', 'اميررضا', 'آرين', 'عليرضا', 'سينا', - 'محمدامين', 'آراد', 'علي', 'سجاد', 'طاها', 'حسام', 'رضا', 'يوسف', 'ماهان', 'آرش', - 'مبين', 'ياسين', 'علي', 'اميرمهدي', 'عباس', 'پارسا', 'محمدعلي', 'کيان', - 'محمدجواد', 'بنيامين', + "اميرعلي", + "ايليا", + "محمد", + "محمدپارسا", + "محمد", + "پرهام", + "ابوالفضل", + "سبحان", + "اميرحسين", + "آرتين", + "علي", + "آرمين", + "حسين", + "عرفان", + "اميرمحمد", + "آريا", + "اميرعباس", + "محمدياسين", + "محمدمهدي", + "متين", + "محمدرضا", + "دانيال", + "مهدي", + "ساميار", + "محمدحسين", + "احسان", + "اميررضا", + "آرين", + "عليرضا", + "سينا", + "محمدامين", + "آراد", + "علي", + "سجاد", + "طاها", + "حسام", + "رضا", + "يوسف", + "ماهان", + "آرش", + "مبين", + "ياسين", + "علي", + "اميرمهدي", + "عباس", + "پارسا", + "محمدعلي", + "کيان", + "محمدجواد", + "بنيامين", ) first_names = first_names_female + first_names_male last_names = ( - 'محمدی', 'محمد پور', 'اکبر پور', 'رضا زاده', 'مجتهدی', 'دایی', 'حمیدی', - 'کابلی', 'عبدالعلی', 'احمدی', 'اشرفی', 'علیجانی', 'ابوطالبی', - 'علی شاهی', 'الوندی', 'بهمنی', 'بهرامی', 'هنری', 'ایروانی', 'حریریان', - 'جعفر پور', 'جلالی', 'جلیلی', 'روحانی', 'خسروجردی', 'منصوری', - 'مهدیان', 'نوروزی', 'نوری', 'رسته', 'سماوات', 'سمسار', 'شادروان', - 'شاکری', 'سلطانی', 'شبیری', 'تحسینی', 'تنزیلی', 'طلوعی', 'ولاشجردی', - 'وثاق', 'ظفری', 'زمانی', 'زارع', 'زارعی', 'ربانی', 'شمشیری', 'صارمی', - 'صیادی', 'سرخوشیان', 'رستمی', 'رسولی', 'رفیعی', 'کریمی', 'کرمانی', - 'سعیدی', 'عباسی', 'پویان', 'ترکاشوند', 'زنجانی', 'تهرانی', 'جنتی', - 'صنایعی', 'جهانی', 'اشتری', 'چنگیزی', 'دادفر', 'سغیری', 'پارسا', - 'ضابطی', 'میردامادی', 'عقیلی', 'نامور', 'حسنی', 'لاهوتی', 'محجوب', - 'هاشمی', 'معروف', 'معین', 'هوشیار', 'هومن', 'هدایت', 'قاضی', 'ملکیان', - 'ضرغامی', 'یزدی', 'نوبختی', 'مجتبوی', 'نیلوفری', 'لاچینی', 'علی پور', - 'عبدالمالکی', 'فرجی', 'موسوی', 'همدانی', 'موحد', 'کمالی', 'گلپایگانی', - 'نعمتی', 'عزیزی', 'رودگر', + "محمدی", + "محمد پور", + "اکبر پور", + "رضا زاده", + "مجتهدی", + "دایی", + "حمیدی", + "کابلی", + "عبدالعلی", + "احمدی", + "اشرفی", + "علیجانی", + "ابوطالبی", + "علی شاهی", + "الوندی", + "بهمنی", + "بهرامی", + "هنری", + "ایروانی", + "حریریان", + "جعفر پور", + "جلالی", + "جلیلی", + "روحانی", + "خسروجردی", + "منصوری", + "مهدیان", + "نوروزی", + "نوری", + "رسته", + "سماوات", + "سمسار", + "شادروان", + "شاکری", + "سلطانی", + "شبیری", + "تحسینی", + "تنزیلی", + "طلوعی", + "ولاشجردی", + "وثاق", + "ظفری", + "زمانی", + "زارع", + "زارعی", + "ربانی", + "شمشیری", + "صارمی", + "صیادی", + "سرخوشیان", + "رستمی", + "رسولی", + "رفیعی", + "کریمی", + "کرمانی", + "سعیدی", + "عباسی", + "پویان", + "ترکاشوند", + "زنجانی", + "تهرانی", + "جنتی", + "صنایعی", + "جهانی", + "اشتری", + "چنگیزی", + "دادفر", + "سغیری", + "پارسا", + "ضابطی", + "میردامادی", + "عقیلی", + "نامور", + "حسنی", + "لاهوتی", + "محجوب", + "هاشمی", + "معروف", + "معین", + "هوشیار", + "هومن", + "هدایت", + "قاضی", + "ملکیان", + "ضرغامی", + "یزدی", + "نوبختی", + "مجتبوی", + "نیلوفری", + "لاچینی", + "علی پور", + "عبدالمالکی", + "فرجی", + "موسوی", + "همدانی", + "موحد", + "کمالی", + "گلپایگانی", + "نعمتی", + "عزیزی", + "رودگر", ) - prefixes_male = ('جناب آقای', 'جناب آقای دکتر') - prefixes_female = ('سرکار خانم', 'سرکار خانم دکتر') + prefixes_male = ("جناب آقای", "جناب آقای دکتر") + prefixes_female = ("سرکار خانم", "سرکار خانم دکتر") - def suffix(self): - return '' + def suffix(self) -> str: + return "" diff --git a/faker/providers/person/fi_FI/__init__.py b/faker/providers/person/fi_FI/__init__.py index 7c08dd1bb1..650d51bccc 100644 --- a/faker/providers/person/fi_FI/__init__.py +++ b/faker/providers/person/fi_FI/__init__.py @@ -6,838 +6,851 @@ class Provider(PersonProvider): formats_female = ( - '{{first_name_female}} {{last_name}}', - '{{first_name_female}} {{last_name}}', - '{{first_name_female}} {{last_name}}', - '{{first_name_female}} {{last_name}}', - '{{first_name_female}} {{last_name}}-{{last_name}}', + "{{first_name_female}} {{last_name}}", + "{{first_name_female}} {{last_name}}", + "{{first_name_female}} {{last_name}}", + "{{first_name_female}} {{last_name}}", + "{{first_name_female}} {{last_name}}-{{last_name}}", ) formats_male = ( - '{{first_name_male}} {{last_name}}', - '{{first_name_male}} {{last_name}}', - '{{first_name_male}} {{last_name}}', - '{{first_name_male}} {{last_name}}', - '{{first_name_male}} {{last_name}}-{{last_name}}', + "{{first_name_male}} {{last_name}}", + "{{first_name_male}} {{last_name}}", + "{{first_name_male}} {{last_name}}", + "{{first_name_male}} {{last_name}}", + "{{first_name_male}} {{last_name}}-{{last_name}}", ) formats = formats_female + formats_male prefixes = ( - 'Herra', 'hra', 'Rouva', 'rva', 'Tohtori', 'tri', 'prof.', 'arkkit.', + "Herra", + "hra", + "Rouva", + "rva", + "Tohtori", + "tri", + "prof.", + "arkkit.", ) - suffixes = ('DI', 'PhD', 'MSc', 'BSc') + suffixes = ("DI", "PhD", "MSc", "BSc") # List of most popular given names in Finland: # https://www.avoindata.fi/data/en/dataset/none/resource/d35f8973-53da-4b66-8a49-bc2fee1a2996 - first_names_female = OrderedDict(( - ('Aada', 0.001877), - ('Aila', 0.002778), - ('Aili', 0.001542), - ('Aino', 0.00803), - ('Airi', 0.001591), - ('Aleksandra', 0.002884), - ('Alexandra', 0.002718), - ('Alina', 0.002114), - ('Alisa', 0.001607), - ('Amanda', 0.004584), - ('Anita', 0.005061), - ('Anja', 0.005627), - ('Anna', 0.010413), - ('Anna-Liisa', 0.00232), - ('Anne', 0.007823), - ('Anneli', 0.0277), - ('Anni', 0.004397), - ('Anniina', 0.003366), - ('Annika', 0.005193), - ('Annikki', 0.013414), - ('Annukka', 0.001424), - ('Anu', 0.003005), - ('Arja', 0.004539), - ('Aulikki', 0.002522), - ('Aune', 0.00208), - ('Aurora', 0.003709), - ('Birgitta', 0.003324), - ('Carita', 0.001574), - ('Christina', 0.001534), - ('Eeva', 0.006403), - ('Eija', 0.00491), - ('Eila', 0.005377), - ('Eliisa', 0.00163), - ('Elina', 0.014353), - ('Elisa', 0.00424), - ('Elisabet', 0.005925), - ('Elisabeth', 0.004305), - ('Ella', 0.002958), - ('Ellen', 0.002243), - ('Elli', 0.002258), - ('Elsa', 0.002284), - ('Emilia', 0.014649), - ('Emma', 0.003571), - ('Emmi', 0.002183), - ('Erika', 0.002084), - ('Essi', 0.001576), - ('Esteri', 0.001672), - ('Eveliina', 0.005899), - ('Hanna', 0.005409), - ('Hannele', 0.0193), - ('Heidi', 0.005315), - ('Helena', 0.028118), - ('Heli', 0.003711), - ('Helinä', 0.002151), - ('Hellevi', 0.002416), - ('Helmi', 0.003888), - ('Helvi', 0.001462), - ('Henna', 0.002525), - ('Hilkka', 0.003745), - ('Hillevi', 0.001577), - ('Ida', 0.003067), - ('Iida', 0.003699), - ('Iiris', 0.001461), - ('Ilona', 0.004816), - ('Inkeri', 0.009444), - ('Irene', 0.005164), - ('Irja', 0.002691), - ('Irma', 0.002772), - ('Irmeli', 0.006537), - ('Jaana', 0.005125), - ('Jasmin', 0.001789), - ('Jenna', 0.002567), - ('Jenni', 0.004011), - ('Johanna', 0.025061), - ('Jonna', 0.002053), - ('Josefiina', 0.001757), - ('Julia', 0.004716), - ('Juulia', 0.001411), - ('Kaarina', 0.022441), - ('Kaija', 0.003216), - ('Kaisa', 0.004424), - ('Karoliina', 0.006727), - ('Katariina', 0.010602), - ('Kati', 0.002463), - ('Katja', 0.00381), - ('Katri', 0.00337), - ('Katriina', 0.004651), - ('Kerttu', 0.002839), - ('Kirsi', 0.004856), - ('Kirsti', 0.003699), - ('Krista', 0.001465), - ('Kristiina', 0.016656), - ('Kristina', 0.002653), - ('Kyllikki', 0.008537), - ('Laura', 0.005985), - ('Lea', 0.002827), - ('Leena', 0.011052), - ('Leila', 0.00267), - ('Liisa', 0.015791), - ('Lilja', 0.001584), - ('Linda', 0.001706), - ('Linnea', 0.004089), - ('Lotta', 0.002416), - ('Maaria', 0.00335), - ('Maarit', 0.012853), - ('Maija', 0.00721), - ('Maire', 0.001814), - ('Margareta', 0.002525), - ('Margit', 0.002057), - ('Mari', 0.005431), - ('Maria', 0.044412), - ('Marianne', 0.00481), - ('Marika', 0.005912), - ('Marita', 0.005339), - ('Maritta', 0.002299), - ('Marja', 0.010093), - ('Marja-Leena', 0.002611), - ('Marja-Liisa', 0.002389), - ('Marjaana', 0.004377), - ('Marjatta', 0.020442), - ('Marjo', 0.002613), - ('Marjukka', 0.001486), - ('Marjut', 0.003021), - ('Marketta', 0.004413), - ('Martta', 0.001663), - ('Matilda', 0.004284), - ('Merja', 0.004704), - ('Mervi', 0.002193), - ('Mia', 0.001736), - ('Miia', 0.002146), - ('Milla', 0.002204), - ('Minna', 0.006615), - ('Mira', 0.001706), - ('Mirja', 0.003558), - ('Mirjam', 0.002435), - ('Mirjami', 0.003726), - ('Nea', 0.001605), - ('Niina', 0.002776), - ('Nina', 0.003539), - ('Noora', 0.002609), - ('Olivia', 0.00384), - ('Oona', 0.001707), - ('Orvokki', 0.007473), - ('Outi', 0.002278), - ('Päivi', 0.007556), - ('Päivikki', 0.002189), - ('Paula', 0.004438), - ('Pauliina', 0.006648), - ('Petra', 0.001455), - ('Pia', 0.002752), - ('Piia', 0.00155), - ('Pirjo', 0.006778), - ('Pirkko', 0.005904), - ('Raija', 0.005237), - ('Raili', 0.003592), - ('Riikka', 0.00301), - ('Riitta', 0.008817), - ('Ritva', 0.007408), - ('Roosa', 0.001641), - ('Saara', 0.002931), - ('Sanna', 0.005027), - ('Sanni', 0.001827), - ('Sara', 0.003165), - ('Sari', 0.00656), - ('Satu', 0.005599), - ('Seija', 0.005422), - ('Siiri', 0.002066), - ('Sini', 0.002038), - ('Sinikka', 0.010005), - ('Sirkka', 0.004487), - ('Sirpa', 0.005252), - ('Sisko', 0.005153), - ('Sofia', 0.012669), - ('Sonja', 0.001978), - ('Susanna', 0.012647), - ('Suvi', 0.003093), - ('Taina', 0.002224), - ('Tanja', 0.002577), - ('Tarja', 0.005886), - ('Taru', 0.001492), - ('Teija', 0.001634), - ('Tellervo', 0.007298), - ('Terhi', 0.001779), - ('Terttu', 0.004408), - ('Tiia', 0.002003), - ('Tiina', 0.006154), - ('Tuija', 0.002932), - ('Tuula', 0.007947), - ('Tuuli', 0.001425), - ('Tuulia', 0.004341), - ('Tuulikki', 0.013373), - ('Ulla', 0.004552), - ('Veera', 0.002453), - ('Venla', 0.001985), - ('Viivi', 0.001505), - ('Vilhelmiina', 0.002004), - ('Vilma', 0.001724), - ('Virpi', 0.00213), - ('Vuokko', 0.001466), - )) - first_names_male = OrderedDict(( - ('Aapo', 0.001263), - ('Aarne', 0.001939), - ('Aaro', 0.001601), - ('Aaron', 0.001246), - ('Aatos', 0.001552), - ('Ahti', 0.001192), - ('Aimo', 0.001399), - ('Aki', 0.001881), - ('Akseli', 0.002333), - ('Aleksanteri', 0.002618), - ('Aleksi', 0.008346), - ('Alexander', 0.002728), - ('Allan', 0.00227), - ('Anders', 0.001411), - ('Anssi', 0.001464), - ('Antero', 0.029891), - ('Anton', 0.002652), - ('Antti', 0.011971), - ('Ari', 0.006403), - ('Armas', 0.003609), - ('Arto', 0.004059), - ('Arttu', 0.00228), - ('Artturi', 0.001853), - ('Arvo', 0.001578), - ('Asko', 0.001363), - ('Atte', 0.001392), - ('Aukusti', 0.002011), - ('Aulis', 0.002725), - ('Benjamin', 0.002089), - ('Christian', 0.002142), - ('Daniel', 0.002919), - ('Edvard', 0.001248), - ('Eelis', 0.001359), - ('Eemeli', 0.004734), - ('Eemil', 0.002606), - ('Eerik', 0.001629), - ('Eero', 0.005572), - ('Eetu', 0.003098), - ('Einari', 0.002263), - ('Eino', 0.004304), - ('Elias', 0.005129), - ('Elmeri', 0.001817), - ('Emil', 0.003422), - ('Ensio', 0.006508), - ('Erik', 0.005296), - ('Erkki', 0.007568), - ('Esa', 0.0043), - ('Esko', 0.004194), - ('Hannu', 0.007429), - ('Harri', 0.004739), - ('Heikki', 0.011301), - ('Henri', 0.003282), - ('Henrik', 0.007534), - ('Henrikki', 0.001325), - ('Henry', 0.001412), - ('Hermanni', 0.00167), - ('Iisakki', 0.001193), - ('Ilari', 0.002866), - ('Ilkka', 0.003098), - ('Ilmari', 0.015056), - ('Ismo', 0.00148), - ('Jaakko', 0.008225), - ('Jalmari', 0.002645), - ('Jan', 0.002011), - ('Jani', 0.005117), - ('Janne', 0.006361), - ('Jari', 0.008664), - ('Jarkko', 0.002672), - ('Jarmo', 0.004396), - ('Jarno', 0.001681), - ('Jere', 0.002255), - ('Jesse', 0.002586), - ('Joel', 0.002105), - ('Johan', 0.003528), - ('Johannes', 0.028915), - ('Joni', 0.003244), - ('Joona', 0.002503), - ('Joonas', 0.003828), - ('Joonatan', 0.001565), - ('Jorma', 0.005147), - ('Jouko', 0.003962), - ('Jouni', 0.004093), - ('Juha', 0.011567), - ('Juhana', 0.001862), - ('Juhani', 0.061356), - ('Juho', 0.005642), - ('Jukka', 0.008652), - ('Julius', 0.00209), - ('Jussi', 0.004772), - ('Juuso', 0.002224), - ('Jyrki', 0.002127), - ('Kaarlo', 0.002073), - ('Kai', 0.001942), - ('Kalervo', 0.008502), - ('Kalevi', 0.021057), - ('Kalle', 0.003829), - ('Kari', 0.009761), - ('Karl', 0.001779), - ('Kasper', 0.001177), - ('Kauko', 0.002169), - ('Keijo', 0.002259), - ('Kim', 0.001172), - ('Kimmo', 0.003441), - ('Kristian', 0.011096), - ('Kullervo', 0.002234), - ('Kustaa', 0.001144), - ('Lasse', 0.002197), - ('Lassi', 0.001214), - ('Lauri', 0.00755), - ('Leevi', 0.002015), - ('Leo', 0.003319), - ('Markku', 0.00843), - ('Marko', 0.006297), - ('Markus', 0.009181), - ('Martti', 0.005521), - ('Matias', 0.013377), - ('Matti', 0.01756), - ('Mauno', 0.001189), - ('Mauri', 0.002098), - ('Miika', 0.001845), - ('Mika', 0.007765), - ('Mikael', 0.021621), - ('Mikko', 0.009719), - ('Miro', 0.001274), - ('Niilo', 0.002094), - ('Niklas', 0.002024), - ('Niko', 0.003908), - ('Oiva', 0.001202), - ('Olavi', 0.030903), - ('Oliver', 0.003026), - ('Olli', 0.003921), - ('Onni', 0.004513), - ('Oskar', 0.001185), - ('Oskari', 0.007745), - ('Osmo', 0.001531), - ('Ossi', 0.001591), - ('Otto', 0.002902), - ('Paavo', 0.00381), - ('Pasi', 0.004109), - ('Patrik', 0.001474), - ('Pauli', 0.003105), - ('Pekka', 0.017016), - ('Pentti', 0.006344), - ('Pertti', 0.004406), - ('Peter', 0.001704), - ('Petri', 0.00786), - ('Petteri', 0.015518), - ('Raimo', 0.004575), - ('Rainer', 0.001478), - ('Rasmus', 0.001715), - ('Rauno', 0.001688), - ('Reijo', 0.003919), - ('Reino', 0.002166), - ('Riku', 0.001803), - ('Risto', 0.004678), - ('Robert', 0.001478), - ('Roope', 0.001412), - ('Sakari', 0.013891), - ('Sami', 0.00587), - ('Samu', 0.001237), - ('Samuel', 0.00403), - ('Samuli', 0.004994), - ('Santeri', 0.00346), - ('Sebastian', 0.002863), - ('Seppo', 0.007305), - ('Simo', 0.002313), - ('Taisto', 0.001514), - ('Taneli', 0.00129), - ('Tapani', 0.02906), - ('Tapio', 0.024776), - ('Tauno', 0.001795), - ('Teemu', 0.004605), - ('Tero', 0.003188), - ('Teuvo', 0.001714), - ('Timo', 0.010557), - ('Toivo', 0.003649), - ('Tomi', 0.00341), - ('Tommi', 0.003191), - ('Toni', 0.003723), - ('Topias', 0.001645), - ('Tuomas', 0.005948), - ('Tuomo', 0.002739), - ('Tuukka', 0.001175), - ('Uolevi', 0.002879), - ('Väinö', 0.003176), - ('Valdemar', 0.00152), - ('Valtteri', 0.006312), - ('Veeti', 0.001673), - ('Veijo', 0.001517), - ('Veikko', 0.007525), - ('Veli', 0.004415), - ('Verneri', 0.001164), - ('Vesa', 0.003926), - ('Vilhelm', 0.001591), - ('Vilho', 0.002303), - ('Viljami', 0.003563), - ('Viljo', 0.00154), - ('Ville', 0.007025), - ('Yrjö', 0.001912), - )) + first_names_female = OrderedDict( + ( + ("Aada", 0.001877), + ("Aila", 0.002778), + ("Aili", 0.001542), + ("Aino", 0.00803), + ("Airi", 0.001591), + ("Aleksandra", 0.002884), + ("Alexandra", 0.002718), + ("Alina", 0.002114), + ("Alisa", 0.001607), + ("Amanda", 0.004584), + ("Anita", 0.005061), + ("Anja", 0.005627), + ("Anna", 0.010413), + ("Anna-Liisa", 0.00232), + ("Anne", 0.007823), + ("Anneli", 0.0277), + ("Anni", 0.004397), + ("Anniina", 0.003366), + ("Annika", 0.005193), + ("Annikki", 0.013414), + ("Annukka", 0.001424), + ("Anu", 0.003005), + ("Arja", 0.004539), + ("Aulikki", 0.002522), + ("Aune", 0.00208), + ("Aurora", 0.003709), + ("Birgitta", 0.003324), + ("Carita", 0.001574), + ("Christina", 0.001534), + ("Eeva", 0.006403), + ("Eija", 0.00491), + ("Eila", 0.005377), + ("Eliisa", 0.00163), + ("Elina", 0.014353), + ("Elisa", 0.00424), + ("Elisabet", 0.005925), + ("Elisabeth", 0.004305), + ("Ella", 0.002958), + ("Ellen", 0.002243), + ("Elli", 0.002258), + ("Elsa", 0.002284), + ("Emilia", 0.014649), + ("Emma", 0.003571), + ("Emmi", 0.002183), + ("Erika", 0.002084), + ("Essi", 0.001576), + ("Esteri", 0.001672), + ("Eveliina", 0.005899), + ("Hanna", 0.005409), + ("Hannele", 0.0193), + ("Heidi", 0.005315), + ("Helena", 0.028118), + ("Heli", 0.003711), + ("Helinä", 0.002151), + ("Hellevi", 0.002416), + ("Helmi", 0.003888), + ("Helvi", 0.001462), + ("Henna", 0.002525), + ("Hilkka", 0.003745), + ("Hillevi", 0.001577), + ("Ida", 0.003067), + ("Iida", 0.003699), + ("Iiris", 0.001461), + ("Ilona", 0.004816), + ("Inkeri", 0.009444), + ("Irene", 0.005164), + ("Irja", 0.002691), + ("Irma", 0.002772), + ("Irmeli", 0.006537), + ("Jaana", 0.005125), + ("Jasmin", 0.001789), + ("Jenna", 0.002567), + ("Jenni", 0.004011), + ("Johanna", 0.025061), + ("Jonna", 0.002053), + ("Josefiina", 0.001757), + ("Julia", 0.004716), + ("Juulia", 0.001411), + ("Kaarina", 0.022441), + ("Kaija", 0.003216), + ("Kaisa", 0.004424), + ("Karoliina", 0.006727), + ("Katariina", 0.010602), + ("Kati", 0.002463), + ("Katja", 0.00381), + ("Katri", 0.00337), + ("Katriina", 0.004651), + ("Kerttu", 0.002839), + ("Kirsi", 0.004856), + ("Kirsti", 0.003699), + ("Krista", 0.001465), + ("Kristiina", 0.016656), + ("Kristina", 0.002653), + ("Kyllikki", 0.008537), + ("Laura", 0.005985), + ("Lea", 0.002827), + ("Leena", 0.011052), + ("Leila", 0.00267), + ("Liisa", 0.015791), + ("Lilja", 0.001584), + ("Linda", 0.001706), + ("Linnea", 0.004089), + ("Lotta", 0.002416), + ("Maaria", 0.00335), + ("Maarit", 0.012853), + ("Maija", 0.00721), + ("Maire", 0.001814), + ("Margareta", 0.002525), + ("Margit", 0.002057), + ("Mari", 0.005431), + ("Maria", 0.044412), + ("Marianne", 0.00481), + ("Marika", 0.005912), + ("Marita", 0.005339), + ("Maritta", 0.002299), + ("Marja", 0.010093), + ("Marja-Leena", 0.002611), + ("Marja-Liisa", 0.002389), + ("Marjaana", 0.004377), + ("Marjatta", 0.020442), + ("Marjo", 0.002613), + ("Marjukka", 0.001486), + ("Marjut", 0.003021), + ("Marketta", 0.004413), + ("Martta", 0.001663), + ("Matilda", 0.004284), + ("Merja", 0.004704), + ("Mervi", 0.002193), + ("Mia", 0.001736), + ("Miia", 0.002146), + ("Milla", 0.002204), + ("Minna", 0.006615), + ("Mira", 0.001706), + ("Mirja", 0.003558), + ("Mirjam", 0.002435), + ("Mirjami", 0.003726), + ("Nea", 0.001605), + ("Niina", 0.002776), + ("Nina", 0.003539), + ("Noora", 0.002609), + ("Olivia", 0.00384), + ("Oona", 0.001707), + ("Orvokki", 0.007473), + ("Outi", 0.002278), + ("Päivi", 0.007556), + ("Päivikki", 0.002189), + ("Paula", 0.004438), + ("Pauliina", 0.006648), + ("Petra", 0.001455), + ("Pia", 0.002752), + ("Piia", 0.00155), + ("Pirjo", 0.006778), + ("Pirkko", 0.005904), + ("Raija", 0.005237), + ("Raili", 0.003592), + ("Riikka", 0.00301), + ("Riitta", 0.008817), + ("Ritva", 0.007408), + ("Roosa", 0.001641), + ("Saara", 0.002931), + ("Sanna", 0.005027), + ("Sanni", 0.001827), + ("Sara", 0.003165), + ("Sari", 0.00656), + ("Satu", 0.005599), + ("Seija", 0.005422), + ("Siiri", 0.002066), + ("Sini", 0.002038), + ("Sinikka", 0.010005), + ("Sirkka", 0.004487), + ("Sirpa", 0.005252), + ("Sisko", 0.005153), + ("Sofia", 0.012669), + ("Sonja", 0.001978), + ("Susanna", 0.012647), + ("Suvi", 0.003093), + ("Taina", 0.002224), + ("Tanja", 0.002577), + ("Tarja", 0.005886), + ("Taru", 0.001492), + ("Teija", 0.001634), + ("Tellervo", 0.007298), + ("Terhi", 0.001779), + ("Terttu", 0.004408), + ("Tiia", 0.002003), + ("Tiina", 0.006154), + ("Tuija", 0.002932), + ("Tuula", 0.007947), + ("Tuuli", 0.001425), + ("Tuulia", 0.004341), + ("Tuulikki", 0.013373), + ("Ulla", 0.004552), + ("Veera", 0.002453), + ("Venla", 0.001985), + ("Viivi", 0.001505), + ("Vilhelmiina", 0.002004), + ("Vilma", 0.001724), + ("Virpi", 0.00213), + ("Vuokko", 0.001466), + ) + ) + first_names_male = OrderedDict( + ( + ("Aapo", 0.001263), + ("Aarne", 0.001939), + ("Aaro", 0.001601), + ("Aaron", 0.001246), + ("Aatos", 0.001552), + ("Ahti", 0.001192), + ("Aimo", 0.001399), + ("Aki", 0.001881), + ("Akseli", 0.002333), + ("Aleksanteri", 0.002618), + ("Aleksi", 0.008346), + ("Alexander", 0.002728), + ("Allan", 0.00227), + ("Anders", 0.001411), + ("Anssi", 0.001464), + ("Antero", 0.029891), + ("Anton", 0.002652), + ("Antti", 0.011971), + ("Ari", 0.006403), + ("Armas", 0.003609), + ("Arto", 0.004059), + ("Arttu", 0.00228), + ("Artturi", 0.001853), + ("Arvo", 0.001578), + ("Asko", 0.001363), + ("Atte", 0.001392), + ("Aukusti", 0.002011), + ("Aulis", 0.002725), + ("Benjamin", 0.002089), + ("Christian", 0.002142), + ("Daniel", 0.002919), + ("Edvard", 0.001248), + ("Eelis", 0.001359), + ("Eemeli", 0.004734), + ("Eemil", 0.002606), + ("Eerik", 0.001629), + ("Eero", 0.005572), + ("Eetu", 0.003098), + ("Einari", 0.002263), + ("Eino", 0.004304), + ("Elias", 0.005129), + ("Elmeri", 0.001817), + ("Emil", 0.003422), + ("Ensio", 0.006508), + ("Erik", 0.005296), + ("Erkki", 0.007568), + ("Esa", 0.0043), + ("Esko", 0.004194), + ("Hannu", 0.007429), + ("Harri", 0.004739), + ("Heikki", 0.011301), + ("Henri", 0.003282), + ("Henrik", 0.007534), + ("Henrikki", 0.001325), + ("Henry", 0.001412), + ("Hermanni", 0.00167), + ("Iisakki", 0.001193), + ("Ilari", 0.002866), + ("Ilkka", 0.003098), + ("Ilmari", 0.015056), + ("Ismo", 0.00148), + ("Jaakko", 0.008225), + ("Jalmari", 0.002645), + ("Jan", 0.002011), + ("Jani", 0.005117), + ("Janne", 0.006361), + ("Jari", 0.008664), + ("Jarkko", 0.002672), + ("Jarmo", 0.004396), + ("Jarno", 0.001681), + ("Jere", 0.002255), + ("Jesse", 0.002586), + ("Joel", 0.002105), + ("Johan", 0.003528), + ("Johannes", 0.028915), + ("Joni", 0.003244), + ("Joona", 0.002503), + ("Joonas", 0.003828), + ("Joonatan", 0.001565), + ("Jorma", 0.005147), + ("Jouko", 0.003962), + ("Jouni", 0.004093), + ("Juha", 0.011567), + ("Juhana", 0.001862), + ("Juhani", 0.061356), + ("Juho", 0.005642), + ("Jukka", 0.008652), + ("Julius", 0.00209), + ("Jussi", 0.004772), + ("Juuso", 0.002224), + ("Jyrki", 0.002127), + ("Kaarlo", 0.002073), + ("Kai", 0.001942), + ("Kalervo", 0.008502), + ("Kalevi", 0.021057), + ("Kalle", 0.003829), + ("Kari", 0.009761), + ("Karl", 0.001779), + ("Kasper", 0.001177), + ("Kauko", 0.002169), + ("Keijo", 0.002259), + ("Kim", 0.001172), + ("Kimmo", 0.003441), + ("Kristian", 0.011096), + ("Kullervo", 0.002234), + ("Kustaa", 0.001144), + ("Lasse", 0.002197), + ("Lassi", 0.001214), + ("Lauri", 0.00755), + ("Leevi", 0.002015), + ("Leo", 0.003319), + ("Markku", 0.00843), + ("Marko", 0.006297), + ("Markus", 0.009181), + ("Martti", 0.005521), + ("Matias", 0.013377), + ("Matti", 0.01756), + ("Mauno", 0.001189), + ("Mauri", 0.002098), + ("Miika", 0.001845), + ("Mika", 0.007765), + ("Mikael", 0.021621), + ("Mikko", 0.009719), + ("Miro", 0.001274), + ("Niilo", 0.002094), + ("Niklas", 0.002024), + ("Niko", 0.003908), + ("Oiva", 0.001202), + ("Olavi", 0.030903), + ("Oliver", 0.003026), + ("Olli", 0.003921), + ("Onni", 0.004513), + ("Oskar", 0.001185), + ("Oskari", 0.007745), + ("Osmo", 0.001531), + ("Ossi", 0.001591), + ("Otto", 0.002902), + ("Paavo", 0.00381), + ("Pasi", 0.004109), + ("Patrik", 0.001474), + ("Pauli", 0.003105), + ("Pekka", 0.017016), + ("Pentti", 0.006344), + ("Pertti", 0.004406), + ("Peter", 0.001704), + ("Petri", 0.00786), + ("Petteri", 0.015518), + ("Raimo", 0.004575), + ("Rainer", 0.001478), + ("Rasmus", 0.001715), + ("Rauno", 0.001688), + ("Reijo", 0.003919), + ("Reino", 0.002166), + ("Riku", 0.001803), + ("Risto", 0.004678), + ("Robert", 0.001478), + ("Roope", 0.001412), + ("Sakari", 0.013891), + ("Sami", 0.00587), + ("Samu", 0.001237), + ("Samuel", 0.00403), + ("Samuli", 0.004994), + ("Santeri", 0.00346), + ("Sebastian", 0.002863), + ("Seppo", 0.007305), + ("Simo", 0.002313), + ("Taisto", 0.001514), + ("Taneli", 0.00129), + ("Tapani", 0.02906), + ("Tapio", 0.024776), + ("Tauno", 0.001795), + ("Teemu", 0.004605), + ("Tero", 0.003188), + ("Teuvo", 0.001714), + ("Timo", 0.010557), + ("Toivo", 0.003649), + ("Tomi", 0.00341), + ("Tommi", 0.003191), + ("Toni", 0.003723), + ("Topias", 0.001645), + ("Tuomas", 0.005948), + ("Tuomo", 0.002739), + ("Tuukka", 0.001175), + ("Uolevi", 0.002879), + ("Väinö", 0.003176), + ("Valdemar", 0.00152), + ("Valtteri", 0.006312), + ("Veeti", 0.001673), + ("Veijo", 0.001517), + ("Veikko", 0.007525), + ("Veli", 0.004415), + ("Verneri", 0.001164), + ("Vesa", 0.003926), + ("Vilhelm", 0.001591), + ("Vilho", 0.002303), + ("Viljami", 0.003563), + ("Viljo", 0.00154), + ("Ville", 0.007025), + ("Yrjö", 0.001912), + ) + ) first_names = first_names_male.copy() first_names.update(first_names_female) # List of most popular last names in Finland: # https://www.avoindata.fi/data/en/dataset/none/resource/d25831d1-82a9-476f-8f7c-374c348efc14 - last_names = OrderedDict(( - ('Aalto', 0.004189), - ('Aaltonen', 0.004828), - ('Aho', 0.003566), - ('Ahokas', 0.001182), - ('Ahola', 0.003697), - ('Ahonen', 0.005301), - ('Airaksinen', 0.001075), - ('Alanen', 0.001124), - ('Alanko', 0.001131), - ('Alatalo', 0.001424), - ('Andersson', 0.002447), - ('Antikainen', 0.001061), - ('Anttila', 0.004683), - ('Anttonen', 0.00121), - ('Aro', 0.00105), - ('Asikainen', 0.002), - ('Autio', 0.002187), - ('Auvinen', 0.001732), - ('Backman', 0.001331), - ('Berg', 0.001362), - ('Blomqvist', 0.001545), - ('Eklund', 0.001737), - ('Elo', 0.00113), - ('Eloranta', 0.00109), - ('Eriksson', 0.002454), - ('Erkkilä', 0.001406), - ('Eronen', 0.001765), - ('Eskelinen', 0.002041), - ('Eskola', 0.001747), - ('Forsman', 0.001077), - ('Grönroos', 0.001054), - ('Gustafsson', 0.001571), - ('Haapala', 0.001736), - ('Haapanen', 0.00132), - ('Haapaniemi', 0.001056), - ('Haataja', 0.001222), - ('Haavisto', 0.001782), - ('Hakala', 0.004682), - ('Hakkarainen', 0.00272), - ('Häkkinen', 0.002513), - ('Halme', 0.001566), - ('Halonen', 0.003495), - ('Hämäläinen', 0.009001), - ('Hänninen', 0.003986), - ('Hannula', 0.001522), - ('Harju', 0.003153), - ('Härkönen', 0.002434), - ('Hartikainen', 0.002868), - ('Hautala', 0.001909), - ('Hautamäki', 0.00165), - ('Haverinen', 0.001289), - ('Heikkilä', 0.006931), - ('Heikkinen', 0.008519), - ('Heino', 0.00296), - ('Heinonen', 0.007026), - ('Heiskanen', 0.003335), - ('Helenius', 0.001874), - ('Helin', 0.001682), - ('Helminen', 0.001458), - ('Henriksson', 0.001408), - ('Hietala', 0.002444), - ('Hietanen', 0.00184), - ('Hiltunen', 0.004889), - ('Hirvonen', 0.004428), - ('Hokkanen', 0.002165), - ('Holappa', 0.00105), - ('Holm', 0.001459), - ('Holmberg', 0.001217), - ('Holmström', 0.001188), - ('Holopainen', 0.002501), - ('Honkanen', 0.00323), - ('Huhtala', 0.002066), - ('Huotari', 0.001845), - ('Huovinen', 0.001733), - ('Huttunen', 0.003632), - ('Huuskonen', 0.001163), - ('Hytönen', 0.001515), - ('Hyttinen', 0.001835), - ('Hyvärinen', 0.002703), - ('Hyvönen', 0.002406), - ('Ihalainen', 0.001044), - ('Ikonen', 0.00358), - ('Immonen', 0.003231), - ('Jaakkola', 0.002386), - ('Jääskeläinen', 0.002913), - ('Jaatinen', 0.001308), - ('Jalonen', 0.001474), - ('Jansson', 0.00146), - ('Jäntti', 0.00125), - ('Järvelä', 0.001204), - ('Järvenpää', 0.001797), - ('Järvi', 0.001061), - ('Järvinen', 0.007928), - ('Jauhiainen', 0.001305), - ('Johansson', 0.003434), - ('Jokela', 0.002356), - ('Jokinen', 0.005951), - ('Juntunen', 0.002955), - ('Jussila', 0.002127), - ('Juvonen', 0.001677), - ('Kähkönen', 0.00158), - ('Kaikkonen', 0.001253), - ('Kainulainen', 0.001727), - ('Kallio', 0.004876), - ('Kämäräinen', 0.001118), - ('Kanerva', 0.001436), - ('Kangas', 0.002883), - ('Kankaanpää', 0.001337), - ('Kantola', 0.001513), - ('Karhu', 0.00234), - ('Karhunen', 0.001157), - ('Kari', 0.001082), - ('Karjalainen', 0.006036), - ('Kärki', 0.001268), - ('Kärkkäinen', 0.003561), - ('Karlsson', 0.002809), - ('Karppinen', 0.003072), - ('Karttunen', 0.001799), - ('Karvinen', 0.001394), - ('Karvonen', 0.002385), - ('Kauppila', 0.00126), - ('Kauppinen', 0.003787), - ('Keinänen', 0.001261), - ('Kemppainen', 0.003777), - ('Keränen', 0.002874), - ('Keskinen', 0.001651), - ('Keskitalo', 0.00109), - ('Ketola', 0.001792), - ('Kettunen', 0.003871), - ('Kilpeläinen', 0.001374), - ('Kinnunen', 0.006796), - ('Kiuru', 0.001089), - ('Kivelä', 0.002164), - ('Kivimäki', 0.001619), - ('Kivinen', 0.0013), - ('Kiviniemi', 0.001402), - ('Kivistö', 0.001447), - ('Koistinen', 0.001988), - ('Koivisto', 0.004667), - ('Koivula', 0.002017), - ('Koivunen', 0.001881), - ('Kokko', 0.002672), - ('Kokkonen', 0.003128), - ('Kolehmainen', 0.002155), - ('Komulainen', 0.001657), - ('Konttinen', 0.001132), - ('Koponen', 0.003424), - ('Korhonen', 0.011042), - ('Korpela', 0.002431), - ('Korpi', 0.001281), - ('Kortelainen', 0.001539), - ('Koskela', 0.003733), - ('Koski', 0.003231), - ('Koskinen', 0.008414), - ('Kosonen', 0.00231), - ('Kovanen', 0.001198), - ('Kuisma', 0.001348), - ('Kujala', 0.002234), - ('Kukkonen', 0.002415), - ('Kulmala', 0.001901), - ('Kumpulainen', 0.001781), - ('Kuosmanen', 0.001577), - ('Kurki', 0.001386), - ('Kuronen', 0.001149), - ('Kuusela', 0.001972), - ('Kuusisto', 0.002479), - ('Kyllönen', 0.001904), - ('Laakkonen', 0.00201), - ('Laakso', 0.00436), - ('Laaksonen', 0.004505), - ('Lähteenmäki', 0.001609), - ('Lahti', 0.00373), - ('Lahtinen', 0.005427), - ('Laiho', 0.001374), - ('Laine', 0.008802), - ('Laitinen', 0.006223), - ('Lammi', 0.00109), - ('Lampinen', 0.002147), - ('Lankinen', 0.001053), - ('Lappalainen', 0.003902), - ('Lassila', 0.001343), - ('Latvala', 0.001139), - ('Laukkanen', 0.002981), - ('Laurila', 0.00268), - ('Lehikoinen', 0.001339), - ('Lehtimäki', 0.001726), - ('Lehtinen', 0.007344), - ('Lehto', 0.004389), - ('Lehtola', 0.001536), - ('Lehtonen', 0.00786), - ('Leino', 0.002813), - ('Leinonen', 0.004891), - ('Lepistö', 0.001981), - ('Leppänen', 0.005224), - ('Leskinen', 0.002572), - ('Liimatainen', 0.001943), - ('Lilja', 0.00115), - ('Lindberg', 0.001978), - ('Lindfors', 0.001504), - ('Lindgren', 0.00175), - ('Lindholm', 0.003367), - ('Lindqvist', 0.002171), - ('Lindroos', 0.002225), - ('Lindström', 0.002755), - ('Linna', 0.001114), - ('Lipponen', 0.00129), - ('Liukkonen', 0.001696), - ('Luoma', 0.00193), - ('Luukkonen', 0.001845), - ('Määttä', 0.003095), - ('Mäenpää', 0.00279), - ('Mäkelä', 0.009299), - ('Mäki', 0.003044), - ('Mäkinen', 0.009918), - ('Makkonen', 0.002549), - ('Malinen', 0.002249), - ('Manninen', 0.004752), - ('Männistö', 0.001155), - ('Mäntylä', 0.001364), - ('Markkanen', 0.001624), - ('Martikainen', 0.002756), - ('Marttila', 0.001834), - ('Marttinen', 0.001083), - ('Matikainen', 0.00149), - ('Matilainen', 0.001526), - ('Mattila', 0.005845), - ('Mattsson', 0.001349), - ('Meriläinen', 0.001503), - ('Miettinen', 0.004877), - ('Mikkola', 0.003284), - ('Mikkonen', 0.00345), - ('Moilanen', 0.004065), - ('Moisio', 0.001273), - ('Mononen', 0.001237), - ('Muhonen', 0.001141), - ('Mustonen', 0.004238), - ('Myllymäki', 0.001733), - ('Nevala', 0.001071), - ('Nevalainen', 0.002639), - ('Niemelä', 0.004065), - ('Niemi', 0.006993), - ('Nieminen', 0.009851), - ('Niiranen', 0.001315), - ('Nikula', 0.001193), - ('Niskanen', 0.003346), - ('Nissinen', 0.002092), - ('Nousiainen', 0.002075), - ('Nurmi', 0.004112), - ('Nurminen', 0.003196), - ('Nuutinen', 0.001781), - ('Nyberg', 0.001381), - ('Nykänen', 0.002561), - ('Nylund', 0.001545), - ('Nyman', 0.003435), - ('Oikarinen', 0.00114), - ('Oinonen', 0.001349), - ('Ojala', 0.005237), - ('Ojanen', 0.001396), - ('Oksanen', 0.003372), - ('Ollikainen', 0.001631), - ('Ollila', 0.001614), - ('Pääkkönen', 0.001404), - ('Paananen', 0.002837), - ('Paavilainen', 0.001028), - ('Paavola', 0.001687), - ('Pajunen', 0.001396), - ('Pakarinen', 0.001818), - ('Palomäki', 0.001161), - ('Parkkinen', 0.001273), - ('Partanen', 0.003879), - ('Parviainen', 0.002908), - ('Pasanen', 0.002364), - ('Pehkonen', 0.001178), - ('Pekkala', 0.001172), - ('Pekkarinen', 0.0011), - ('Pelkonen', 0.001933), - ('Peltola', 0.003401), - ('Peltonen', 0.004111), - ('Peltoniemi', 0.001325), - ('Pennanen', 0.001857), - ('Penttilä', 0.001723), - ('Penttinen', 0.001875), - ('Perälä', 0.001592), - ('Pesonen', 0.003534), - ('Pietilä', 0.001874), - ('Piirainen', 0.001336), - ('Pirinen', 0.001318), - ('Pitkänen', 0.004831), - ('Pohjola', 0.001266), - ('Pöllänen', 0.001097), - ('Puhakka', 0.001413), - ('Pulkkinen', 0.003995), - ('Puranen', 0.001053), - ('Puustinen', 0.001385), - ('Raatikainen', 0.001244), - ('Räisänen', 0.002146), - ('Rajala', 0.002963), - ('Ranta', 0.002422), - ('Rantala', 0.004243), - ('Rantanen', 0.006076), - ('Räsänen', 0.004444), - ('Räty', 0.001319), - ('Rauhala', 0.001391), - ('Rautiainen', 0.00292), - ('Rautio', 0.002231), - ('Reinikainen', 0.001112), - ('Repo', 0.001805), - ('Riihimäki', 0.001097), - ('Riikonen', 0.001838), - ('Rinne', 0.002123), - ('Rintala', 0.001596), - ('Rissanen', 0.003116), - ('Ronkainen', 0.001757), - ('Rönkkö', 0.001111), - ('Rossi', 0.001203), - ('Ruotsalainen', 0.002752), - ('Ruuskanen', 0.001251), - ('Rytkönen', 0.00144), - ('Ryynänen', 0.00112), - ('Saarela', 0.002292), - ('Saari', 0.003871), - ('Saarinen', 0.007247), - ('Saastamoinen', 0.001741), - ('Sainio', 0.001224), - ('Sallinen', 0.001148), - ('Salmela', 0.002572), - ('Salmi', 0.003705), - ('Salminen', 0.007146), - ('Salo', 0.006336), - ('Salomaa', 0.001099), - ('Salonen', 0.006757), - ('Savolainen', 0.005448), - ('Seppä', 0.001142), - ('Seppälä', 0.004007), - ('Seppänen', 0.003731), - ('Sihvonen', 0.001053), - ('Sillanpää', 0.002264), - ('Silvennoinen', 0.001614), - ('Simola', 0.001116), - ('Simonen', 0.001049), - ('Sipilä', 0.001582), - ('Sirén', 0.001129), - ('Sirviö', 0.001089), - ('Sjöblom', 0.001119), - ('Soini', 0.001102), - ('Soininen', 0.001422), - ('Suhonen', 0.001834), - ('Suomalainen', 0.001609), - ('Suominen', 0.003582), - ('Sutinen', 0.001056), - ('Syrjälä', 0.001196), - ('Tähtinen', 0.001028), - ('Taipale', 0.001378), - ('Takala', 0.001797), - ('Tamminen', 0.002461), - ('Tanskanen', 0.001536), - ('Tarvainen', 0.001396), - ('Taskinen', 0.001633), - ('Tervo', 0.001419), - ('Tiainen', 0.00234), - ('Tiihonen', 0.001149), - ('Tikka', 0.001325), - ('Tikkanen', 0.00266), - ('Timonen', 0.002211), - ('Tirkkonen', 0.001193), - ('Toivanen', 0.002668), - ('Toivonen', 0.004311), - ('Tolonen', 0.002122), - ('Tolvanen', 0.001917), - ('Tuomi', 0.001608), - ('Tuominen', 0.006098), - ('Tuovinen', 0.001894), - ('Turpeinen', 0.001528), - ('Turunen', 0.006523), - ('Uotila', 0.001053), - ('Uusitalo', 0.002687), - ('Väänänen', 0.002319), - ('Vainio', 0.003358), - ('Väisänen', 0.004904), - ('Välimäki', 0.001587), - ('Valkama', 0.001139), - ('Valkonen', 0.001248), - ('Valtonen', 0.002171), - ('Varis', 0.001436), - ('Vartiainen', 0.002039), - ('Väyrynen', 0.001426), - ('Venäläinen', 0.001262), - ('Vesterinen', 0.001259), - ('Viitala', 0.001642), - ('Viitanen', 0.002647), - ('Viljanen', 0.001859), - ('Virta', 0.002228), - ('Virtanen', 0.01083), - ('Voutilainen', 0.001853), - ('Vuorela', 0.001156), - ('Vuori', 0.001701), - ('Vuorinen', 0.003188), - ('Ylinen', 0.00105), - ('Ylitalo', 0.001438), - ('Ylönen', 0.00125), - )) + last_names = OrderedDict( + ( + ("Aalto", 0.004189), + ("Aaltonen", 0.004828), + ("Aho", 0.003566), + ("Ahokas", 0.001182), + ("Ahola", 0.003697), + ("Ahonen", 0.005301), + ("Airaksinen", 0.001075), + ("Alanen", 0.001124), + ("Alanko", 0.001131), + ("Alatalo", 0.001424), + ("Andersson", 0.002447), + ("Antikainen", 0.001061), + ("Anttila", 0.004683), + ("Anttonen", 0.00121), + ("Aro", 0.00105), + ("Asikainen", 0.002), + ("Autio", 0.002187), + ("Auvinen", 0.001732), + ("Backman", 0.001331), + ("Berg", 0.001362), + ("Blomqvist", 0.001545), + ("Eklund", 0.001737), + ("Elo", 0.00113), + ("Eloranta", 0.00109), + ("Eriksson", 0.002454), + ("Erkkilä", 0.001406), + ("Eronen", 0.001765), + ("Eskelinen", 0.002041), + ("Eskola", 0.001747), + ("Forsman", 0.001077), + ("Grönroos", 0.001054), + ("Gustafsson", 0.001571), + ("Haapala", 0.001736), + ("Haapanen", 0.00132), + ("Haapaniemi", 0.001056), + ("Haataja", 0.001222), + ("Haavisto", 0.001782), + ("Hakala", 0.004682), + ("Hakkarainen", 0.00272), + ("Häkkinen", 0.002513), + ("Halme", 0.001566), + ("Halonen", 0.003495), + ("Hämäläinen", 0.009001), + ("Hänninen", 0.003986), + ("Hannula", 0.001522), + ("Harju", 0.003153), + ("Härkönen", 0.002434), + ("Hartikainen", 0.002868), + ("Hautala", 0.001909), + ("Hautamäki", 0.00165), + ("Haverinen", 0.001289), + ("Heikkilä", 0.006931), + ("Heikkinen", 0.008519), + ("Heino", 0.00296), + ("Heinonen", 0.007026), + ("Heiskanen", 0.003335), + ("Helenius", 0.001874), + ("Helin", 0.001682), + ("Helminen", 0.001458), + ("Henriksson", 0.001408), + ("Hietala", 0.002444), + ("Hietanen", 0.00184), + ("Hiltunen", 0.004889), + ("Hirvonen", 0.004428), + ("Hokkanen", 0.002165), + ("Holappa", 0.00105), + ("Holm", 0.001459), + ("Holmberg", 0.001217), + ("Holmström", 0.001188), + ("Holopainen", 0.002501), + ("Honkanen", 0.00323), + ("Huhtala", 0.002066), + ("Huotari", 0.001845), + ("Huovinen", 0.001733), + ("Huttunen", 0.003632), + ("Huuskonen", 0.001163), + ("Hytönen", 0.001515), + ("Hyttinen", 0.001835), + ("Hyvärinen", 0.002703), + ("Hyvönen", 0.002406), + ("Ihalainen", 0.001044), + ("Ikonen", 0.00358), + ("Immonen", 0.003231), + ("Jaakkola", 0.002386), + ("Jääskeläinen", 0.002913), + ("Jaatinen", 0.001308), + ("Jalonen", 0.001474), + ("Jansson", 0.00146), + ("Jäntti", 0.00125), + ("Järvelä", 0.001204), + ("Järvenpää", 0.001797), + ("Järvi", 0.001061), + ("Järvinen", 0.007928), + ("Jauhiainen", 0.001305), + ("Johansson", 0.003434), + ("Jokela", 0.002356), + ("Jokinen", 0.005951), + ("Juntunen", 0.002955), + ("Jussila", 0.002127), + ("Juvonen", 0.001677), + ("Kähkönen", 0.00158), + ("Kaikkonen", 0.001253), + ("Kainulainen", 0.001727), + ("Kallio", 0.004876), + ("Kämäräinen", 0.001118), + ("Kanerva", 0.001436), + ("Kangas", 0.002883), + ("Kankaanpää", 0.001337), + ("Kantola", 0.001513), + ("Karhu", 0.00234), + ("Karhunen", 0.001157), + ("Kari", 0.001082), + ("Karjalainen", 0.006036), + ("Kärki", 0.001268), + ("Kärkkäinen", 0.003561), + ("Karlsson", 0.002809), + ("Karppinen", 0.003072), + ("Karttunen", 0.001799), + ("Karvinen", 0.001394), + ("Karvonen", 0.002385), + ("Kauppila", 0.00126), + ("Kauppinen", 0.003787), + ("Keinänen", 0.001261), + ("Kemppainen", 0.003777), + ("Keränen", 0.002874), + ("Keskinen", 0.001651), + ("Keskitalo", 0.00109), + ("Ketola", 0.001792), + ("Kettunen", 0.003871), + ("Kilpeläinen", 0.001374), + ("Kinnunen", 0.006796), + ("Kiuru", 0.001089), + ("Kivelä", 0.002164), + ("Kivimäki", 0.001619), + ("Kivinen", 0.0013), + ("Kiviniemi", 0.001402), + ("Kivistö", 0.001447), + ("Koistinen", 0.001988), + ("Koivisto", 0.004667), + ("Koivula", 0.002017), + ("Koivunen", 0.001881), + ("Kokko", 0.002672), + ("Kokkonen", 0.003128), + ("Kolehmainen", 0.002155), + ("Komulainen", 0.001657), + ("Konttinen", 0.001132), + ("Koponen", 0.003424), + ("Korhonen", 0.011042), + ("Korpela", 0.002431), + ("Korpi", 0.001281), + ("Kortelainen", 0.001539), + ("Koskela", 0.003733), + ("Koski", 0.003231), + ("Koskinen", 0.008414), + ("Kosonen", 0.00231), + ("Kovanen", 0.001198), + ("Kuisma", 0.001348), + ("Kujala", 0.002234), + ("Kukkonen", 0.002415), + ("Kulmala", 0.001901), + ("Kumpulainen", 0.001781), + ("Kuosmanen", 0.001577), + ("Kurki", 0.001386), + ("Kuronen", 0.001149), + ("Kuusela", 0.001972), + ("Kuusisto", 0.002479), + ("Kyllönen", 0.001904), + ("Laakkonen", 0.00201), + ("Laakso", 0.00436), + ("Laaksonen", 0.004505), + ("Lähteenmäki", 0.001609), + ("Lahti", 0.00373), + ("Lahtinen", 0.005427), + ("Laiho", 0.001374), + ("Laine", 0.008802), + ("Laitinen", 0.006223), + ("Lammi", 0.00109), + ("Lampinen", 0.002147), + ("Lankinen", 0.001053), + ("Lappalainen", 0.003902), + ("Lassila", 0.001343), + ("Latvala", 0.001139), + ("Laukkanen", 0.002981), + ("Laurila", 0.00268), + ("Lehikoinen", 0.001339), + ("Lehtimäki", 0.001726), + ("Lehtinen", 0.007344), + ("Lehto", 0.004389), + ("Lehtola", 0.001536), + ("Lehtonen", 0.00786), + ("Leino", 0.002813), + ("Leinonen", 0.004891), + ("Lepistö", 0.001981), + ("Leppänen", 0.005224), + ("Leskinen", 0.002572), + ("Liimatainen", 0.001943), + ("Lilja", 0.00115), + ("Lindberg", 0.001978), + ("Lindfors", 0.001504), + ("Lindgren", 0.00175), + ("Lindholm", 0.003367), + ("Lindqvist", 0.002171), + ("Lindroos", 0.002225), + ("Lindström", 0.002755), + ("Linna", 0.001114), + ("Lipponen", 0.00129), + ("Liukkonen", 0.001696), + ("Luoma", 0.00193), + ("Luukkonen", 0.001845), + ("Määttä", 0.003095), + ("Mäenpää", 0.00279), + ("Mäkelä", 0.009299), + ("Mäki", 0.003044), + ("Mäkinen", 0.009918), + ("Makkonen", 0.002549), + ("Malinen", 0.002249), + ("Manninen", 0.004752), + ("Männistö", 0.001155), + ("Mäntylä", 0.001364), + ("Markkanen", 0.001624), + ("Martikainen", 0.002756), + ("Marttila", 0.001834), + ("Marttinen", 0.001083), + ("Matikainen", 0.00149), + ("Matilainen", 0.001526), + ("Mattila", 0.005845), + ("Mattsson", 0.001349), + ("Meriläinen", 0.001503), + ("Miettinen", 0.004877), + ("Mikkola", 0.003284), + ("Mikkonen", 0.00345), + ("Moilanen", 0.004065), + ("Moisio", 0.001273), + ("Mononen", 0.001237), + ("Muhonen", 0.001141), + ("Mustonen", 0.004238), + ("Myllymäki", 0.001733), + ("Nevala", 0.001071), + ("Nevalainen", 0.002639), + ("Niemelä", 0.004065), + ("Niemi", 0.006993), + ("Nieminen", 0.009851), + ("Niiranen", 0.001315), + ("Nikula", 0.001193), + ("Niskanen", 0.003346), + ("Nissinen", 0.002092), + ("Nousiainen", 0.002075), + ("Nurmi", 0.004112), + ("Nurminen", 0.003196), + ("Nuutinen", 0.001781), + ("Nyberg", 0.001381), + ("Nykänen", 0.002561), + ("Nylund", 0.001545), + ("Nyman", 0.003435), + ("Oikarinen", 0.00114), + ("Oinonen", 0.001349), + ("Ojala", 0.005237), + ("Ojanen", 0.001396), + ("Oksanen", 0.003372), + ("Ollikainen", 0.001631), + ("Ollila", 0.001614), + ("Pääkkönen", 0.001404), + ("Paananen", 0.002837), + ("Paavilainen", 0.001028), + ("Paavola", 0.001687), + ("Pajunen", 0.001396), + ("Pakarinen", 0.001818), + ("Palomäki", 0.001161), + ("Parkkinen", 0.001273), + ("Partanen", 0.003879), + ("Parviainen", 0.002908), + ("Pasanen", 0.002364), + ("Pehkonen", 0.001178), + ("Pekkala", 0.001172), + ("Pekkarinen", 0.0011), + ("Pelkonen", 0.001933), + ("Peltola", 0.003401), + ("Peltonen", 0.004111), + ("Peltoniemi", 0.001325), + ("Pennanen", 0.001857), + ("Penttilä", 0.001723), + ("Penttinen", 0.001875), + ("Perälä", 0.001592), + ("Pesonen", 0.003534), + ("Pietilä", 0.001874), + ("Piirainen", 0.001336), + ("Pirinen", 0.001318), + ("Pitkänen", 0.004831), + ("Pohjola", 0.001266), + ("Pöllänen", 0.001097), + ("Puhakka", 0.001413), + ("Pulkkinen", 0.003995), + ("Puranen", 0.001053), + ("Puustinen", 0.001385), + ("Raatikainen", 0.001244), + ("Räisänen", 0.002146), + ("Rajala", 0.002963), + ("Ranta", 0.002422), + ("Rantala", 0.004243), + ("Rantanen", 0.006076), + ("Räsänen", 0.004444), + ("Räty", 0.001319), + ("Rauhala", 0.001391), + ("Rautiainen", 0.00292), + ("Rautio", 0.002231), + ("Reinikainen", 0.001112), + ("Repo", 0.001805), + ("Riihimäki", 0.001097), + ("Riikonen", 0.001838), + ("Rinne", 0.002123), + ("Rintala", 0.001596), + ("Rissanen", 0.003116), + ("Ronkainen", 0.001757), + ("Rönkkö", 0.001111), + ("Rossi", 0.001203), + ("Ruotsalainen", 0.002752), + ("Ruuskanen", 0.001251), + ("Rytkönen", 0.00144), + ("Ryynänen", 0.00112), + ("Saarela", 0.002292), + ("Saari", 0.003871), + ("Saarinen", 0.007247), + ("Saastamoinen", 0.001741), + ("Sainio", 0.001224), + ("Sallinen", 0.001148), + ("Salmela", 0.002572), + ("Salmi", 0.003705), + ("Salminen", 0.007146), + ("Salo", 0.006336), + ("Salomaa", 0.001099), + ("Salonen", 0.006757), + ("Savolainen", 0.005448), + ("Seppä", 0.001142), + ("Seppälä", 0.004007), + ("Seppänen", 0.003731), + ("Sihvonen", 0.001053), + ("Sillanpää", 0.002264), + ("Silvennoinen", 0.001614), + ("Simola", 0.001116), + ("Simonen", 0.001049), + ("Sipilä", 0.001582), + ("Sirén", 0.001129), + ("Sirviö", 0.001089), + ("Sjöblom", 0.001119), + ("Soini", 0.001102), + ("Soininen", 0.001422), + ("Suhonen", 0.001834), + ("Suomalainen", 0.001609), + ("Suominen", 0.003582), + ("Sutinen", 0.001056), + ("Syrjälä", 0.001196), + ("Tähtinen", 0.001028), + ("Taipale", 0.001378), + ("Takala", 0.001797), + ("Tamminen", 0.002461), + ("Tanskanen", 0.001536), + ("Tarvainen", 0.001396), + ("Taskinen", 0.001633), + ("Tervo", 0.001419), + ("Tiainen", 0.00234), + ("Tiihonen", 0.001149), + ("Tikka", 0.001325), + ("Tikkanen", 0.00266), + ("Timonen", 0.002211), + ("Tirkkonen", 0.001193), + ("Toivanen", 0.002668), + ("Toivonen", 0.004311), + ("Tolonen", 0.002122), + ("Tolvanen", 0.001917), + ("Tuomi", 0.001608), + ("Tuominen", 0.006098), + ("Tuovinen", 0.001894), + ("Turpeinen", 0.001528), + ("Turunen", 0.006523), + ("Uotila", 0.001053), + ("Uusitalo", 0.002687), + ("Väänänen", 0.002319), + ("Vainio", 0.003358), + ("Väisänen", 0.004904), + ("Välimäki", 0.001587), + ("Valkama", 0.001139), + ("Valkonen", 0.001248), + ("Valtonen", 0.002171), + ("Varis", 0.001436), + ("Vartiainen", 0.002039), + ("Väyrynen", 0.001426), + ("Venäläinen", 0.001262), + ("Vesterinen", 0.001259), + ("Viitala", 0.001642), + ("Viitanen", 0.002647), + ("Viljanen", 0.001859), + ("Virta", 0.002228), + ("Virtanen", 0.01083), + ("Voutilainen", 0.001853), + ("Vuorela", 0.001156), + ("Vuori", 0.001701), + ("Vuorinen", 0.003188), + ("Ylinen", 0.00105), + ("Ylitalo", 0.001438), + ("Ylönen", 0.00125), + ) + ) diff --git a/faker/providers/person/fr_CA/__init__.py b/faker/providers/person/fr_CA/__init__.py new file mode 100644 index 0000000000..f07afa485b --- /dev/null +++ b/faker/providers/person/fr_CA/__init__.py @@ -0,0 +1,481 @@ +from .. import Provider as PersonProvider + + +class Provider(PersonProvider): + formats_female = ( + "{{first_name_female}} {{last_name}}", + "{{first_name_female}} {{last_name}}", + "{{first_name_female}} {{last_name}}", + "{{first_name_female}} {{last_name}}", + "{{first_name_female}} {{last_name}}", + "{{first_name_female}} {{last_name}}", + "{{first_name_female}} {{last_name}}-{{last_name}}", + "{{first_name_female}}-{{first_name_female}} {{last_name}}", + ) + + formats_male = ( + "{{first_name_male}} {{last_name}}", + "{{first_name_male}} {{last_name}}", + "{{first_name_male}} {{last_name}}", + "{{first_name_male}} {{last_name}}", + "{{first_name_male}} {{last_name}}", + "{{first_name_male}} {{last_name}}", + "{{first_name_male}} {{last_name}}-{{last_name}}", + "{{first_name_male}}-{{first_name_male}} {{last_name}}", + ) + + formats = formats_male + formats_female + + # Source: + # https://www.retraitequebec.gouv.qc.ca/fr/services-en-ligne-outils/banque-de-prenoms/Pages/banque-de-prenoms.aspx + first_names_male = ( + "Alain", + "Alexandre", + "Alexis", + "André", + "Antoine", + "Arthur", + "Benjamin", + "Benoît", + "Bernard", + "Bertrand", + "Charles", + "Daniel", + "David", + "Denis", + "Édouard", + "Émile", + "Emmanuel", + "Éric", + "Étienne", + "François", + "Frédéric", + "Gabriel", + "Georges", + "Gérard", + "Gilbert", + "Gilles", + "Grégoire", + "Guillaume", + "Guy", + "William", + "Henri", + "Hugues", + "Jacques", + "Jean", + "Jérôme", + "Jonathan", + "Joseph", + "Jules", + "Julien", + "Kevin", + "Laurent", + "Louis", + "Luc", + "Lucas", + "Marc", + "Maxime", + "Marcel", + "Martin", + "Mathieu", + "Maurice", + "Michel", + "Nathan", + "Nicolas", + "Noël", + "Olivier", + "Patrick", + "Paul", + "Philippe", + "Pierre", + "Raphaël", + "Raymond", + "Rémy", + "René", + "Richard", + "Robert", + "Roger", + "Roland", + "Samuel", + "Sébastien", + "Stéphane", + "Théodore", + "Thomas", + "Timothée", + "Tristan", + "Victor", + "Vincent", + "Xavier", + "Yves", + "Zacharie", + ) + + first_names_female = ( + "Agnès", + "Alexandra", + "Alex", + "Alice", + "Amélie", + "Anaïs", + "Andrée", + "Anne", + "Anouk", + "Astrid", + "Audrey", + "Aurélie", + "Aurore", + "Béatrice", + "Brigitte", + "Camille", + "Caroline", + "Catherine", + "Cécile", + "Céline", + "Célina", + "Chantal", + "Charlotte", + "Christelle", + "Christiane", + "Christine", + "Claire", + "Claudine", + "Claude", + "Clémence", + "Colette", + "Constance", + "Danielle", + "Denise", + "Diane", + "Dominique", + "Dorothée", + "Édith", + "Emma", + "Éléonore", + "Élisabeth", + "Élise", + "Élodie", + "Émilie", + "Emmanuelle", + "Florence", + "Françoise", + "Frédérique", + "Gabrielle", + "Geneviève", + "Hélène", + "Henriette", + "Hortense", + "Isabelle", + "Jacqueline", + "Jeanne", + "Jeannine", + "Jessica", + "Joséphine", + "Josette", + "Julie", + "Juliette", + "Karine", + "Laetitia", + "Laurence", + "Laurie", + "Lorraine", + "Louise", + "Lucie", + "Lucy", + "Manon", + "Marcelle", + "Marguerite", + "Margot", + "Margaret", + "Marianne", + "Marie", + "Martine", + "Maryse", + "Maude", + "Mathilde", + "Mélanie", + "Michèle", + "Michelle", + "Monique", + "Nathalie", + "Nathalie", + "Nicole", + "Noémie", + "Océane", + "Odette", + "Olivia", + "Patricia", + "Paulette", + "Pauline", + "Pénélope", + "Renée", + "Rosalie", + "Sarah", + "Simone", + "Sophie", + "Stéphanie", + "Susanne", + "Sylvie", + "Thérèse", + "Vanessa", + "Valérie", + "Véronique", + "Virginie", + "Zoé", + ) + + first_names = first_names_male + first_names_female + + # Source: + # https://fr.wikipedia.org/wiki/Liste_des_noms_de_famille_les_plus_courants_au_Qu%C3%A9bec + last_names = ( + "Tremblay", + "Gagnon", + "Roy", + "Côté", + "Bouchard", + "Gauthier", + "Morin", + "Lavoie", + "Fortin", + "Gagné", + "Ouellet", + "Pelletier", + "Bélanger", + "Lévesque", + "Bergeron", + "Leblanc", + "Paquette", + "Girard", + "Simard", + "Boucher", + "Caron", + "Beaulieu", + "Cloutier", + "Dubé", + "Poirier", + "Fournier", + "Lapointe", + "Leclerc", + "Lefebvre", + "Poulin", + "Thibault", + "St-Pierre", + "Nadeau", + "Martin", + "Landry", + "Martel", + "Bédard", + "Grenier", + "Lessard", + "Bernier", + "Richard", + "Michaud", + "Hébert", + "Desjardins", + "Couture", + "Turcotte", + "Lachance", + "Parent", + "Blais", + "Gosselin", + "Savard", + "Proulx", + "Beaudoin", + "Demers", + "Perreault", + "Boudreau", + "Lemieux", + "Cyr", + "Perron", + "Dufour", + "Dion", + "Mercier", + "Bolduc", + "Bérubé", + "Boisvert", + "Langlois", + "Ménard", + "Therrien", + "Plante", + "Bilodeau", + "Blanchette", + "Dubois", + "Champagne", + "Paradis", + "Fortier", + "Arsenault", + "Dupuis", + "Gaudreault", + "Hamel", + "Houle", + "Villeneuve", + "Rousseau", + "Gravel", + "Thériault", + "Lemay", + "Robert", + "Allard", + "Deschênes", + "Giroux", + "Guay", + "Leduc", + "Boivin", + "Charbonneau", + "Lambert", + "Raymond", + "Vachon", + "Gilbert", + "Audet", + "Jean", + "Larouche", + "Legault", + "Trudel", + "Fontaine", + "Picard", + "Labelle", + "Lacroix", + "Jacques", + "Moreau", + "Carrier", + "Bernard", + "Desrosiers", + "Goulet", + "Renaud", + "Dionne", + "Lapierre", + "Vaillancourt", + "Fillion", + "Lalonde", + "Tessier", + "Bertrand", + "Tardif", + "Lepage", + "Gingras", + "Benoît", + "Rioux", + "Giguère", + "Drouin", + "Harvey", + "Lauzon", + "Nguyen", + "Gendron", + "Boutin", + "Laflamme", + "Vallée", + "Dumont", + "Breton", + "Paré", + "Paquin", + "Robitaille", + "Gélinas", + "Duchesne", + "Lussier", + "Séguin", + "Veilleux", + "Potvin", + "Gervais", + "Pépin", + "Laroche", + "Morissette", + "Charron", + "Lavallée", + "Laplante", + "Chabot", + "Brunet", + "Vézina", + "Desrochers", + "Labrecque", + "Coulombe", + "Tanguay", + "Chouinard", + "Noël", + "Pouliot", + "Lacasse", + "Daigle", + "Marcoux", + "Lamontagne", + "Turgeon", + "Larocque", + "Roberge", + "Auger", + "Massé", + "Pilon", + "Racine", + "Dallaire", + "Émond", + "Grégoire", + "Beauregard", + "Smith", + "Denis", + "Lebel", + "Blouin", + "Martineau", + "Labbé", + "Beauchamp", + "St-Onge", + "Charette", + "Dupont", + "Létourneau", + "Rodrigue", + "Cormier", + "Rivard", + "Mathieu", + "Asselin", + "St-Jean", + "Plourde", + "Thibodeau", + "Bélisle", + "St-Laurent", + "Godin", + "Desbiens", + "Lavigne", + "Doucet", + "Labonté", + "Marchand", + "Brassard", + "Forget", + "Patel", + "Marcotte", + "Béland", + "Larose", + "Duval", + "Archambault", + "Maltais", + "Trépanier", + "Laliberté", + "Bisson", + "Brisson", + "Dufresne", + "Beaudry", + "Chartrand", + "Houde", + "Fréchette", + "Lafontaine", + "Guillemette", + "Drolet", + "Vincent", + "Richer", + "Germain", + "Larivière", + "Ferland", + "Trottier", + "Piché", + "Boulanger", + "Sirois", + "Charest", + "Provost", + "Durand", + "Dumas", + "Soucy", + "Lamoureux", + "Lachapelle", + "Bégin", + "Boily", + "Croteau", + "Savoie", + "Provencher", + "Prévost", + "Duguay", + "Lemire", + "Delisle", + ) diff --git a/faker/providers/person/fr_CH/__init__.py b/faker/providers/person/fr_CH/__init__.py index 4f4e8de747..e99ba6f301 100644 --- a/faker/providers/person/fr_CH/__init__.py +++ b/faker/providers/person/fr_CH/__init__.py @@ -3,23 +3,23 @@ class Provider(PersonProvider): formats_female = ( - '{{first_name_female}} {{last_name}}', - '{{first_name_female}} {{last_name}}', - '{{first_name_female}} {{last_name}}', - '{{first_name_female}} {{last_name}}', - '{{first_name_female}} {{last_name}}', - '{{first_name_female}} {{last_name}}', - '{{first_name_female}} {{last_name}}-{{last_name}}', + "{{first_name_female}} {{last_name}}", + "{{first_name_female}} {{last_name}}", + "{{first_name_female}} {{last_name}}", + "{{first_name_female}} {{last_name}}", + "{{first_name_female}} {{last_name}}", + "{{first_name_female}} {{last_name}}", + "{{first_name_female}} {{last_name}}-{{last_name}}", ) formats_male = ( - '{{first_name_male}} {{last_name}}', - '{{first_name_male}} {{last_name}}', - '{{first_name_male}} {{last_name}}', - '{{first_name_male}} {{last_name}}', - '{{first_name_male}} {{last_name}}', - '{{first_name_male}} {{last_name}}', - '{{first_name_male}} {{last_name}}-{{last_name}}', + "{{first_name_male}} {{last_name}}", + "{{first_name_male}} {{last_name}}", + "{{first_name_male}} {{last_name}}", + "{{first_name_male}} {{last_name}}", + "{{first_name_male}} {{last_name}}", + "{{first_name_male}} {{last_name}}", + "{{first_name_male}} {{last_name}}-{{last_name}}", ) formats = formats_male + formats_female @@ -27,184 +27,323 @@ class Provider(PersonProvider): # source: # http://www.bfs.admin.ch/bfs/portal/fr/index/news/publikationen.html?publicationID=6704 first_names_male = [ - 'Alain', - 'Albert', - 'Alexandre', - 'André', - 'Antonio', - 'Arthur', - 'Bernard', - 'Bruno', - 'Charles', - 'Christian', - 'Christophe', - 'Claude', - 'Daniel', - 'David', - 'Eric', - 'Ethan', - 'Florian', - 'François', - 'Frédéric', - 'Gabriel', - 'Georges', - 'Gilbert', - 'Guillaume', - 'Gérard', - 'Henri', - 'Hugo', - 'Jacques', - 'Jean', - 'Jean-Claude', - 'Jean-Pierre', - 'Jonathan', - 'José', - 'Julien', - 'Kevin', - 'Laurent', - 'Louis', - 'Loïc', - 'Luca', - 'Lucas', - 'Léo', - 'Manuel', - 'Marcel', - 'Mathieu', - 'Matteo', - 'Maurice', - 'Maxime', - 'Michael', - 'Michel', - 'Nathan', - 'Nicolas', - 'Noah', - 'Nolan', - 'Olivier', - 'Pascal', - 'Patrick', - 'Paul', - 'Philippe', - 'Pierre', - 'Raymond', - 'René', - 'Robert', - 'Roger', - 'Roland', - 'Romain', - 'Samuel', - 'Stéphane', - 'Sébastien', - 'Thierry', - 'Thomas', - 'Théo', - 'Vincent'] + "Alain", + "Albert", + "Alexandre", + "André", + "Antonio", + "Arthur", + "Bernard", + "Bruno", + "Charles", + "Christian", + "Christophe", + "Claude", + "Daniel", + "David", + "Eric", + "Ethan", + "Florian", + "François", + "Frédéric", + "Gabriel", + "Georges", + "Gilbert", + "Guillaume", + "Gérard", + "Henri", + "Hugo", + "Jacques", + "Jean", + "Jean-Claude", + "Jean-Pierre", + "Jonathan", + "José", + "Julien", + "Kevin", + "Laurent", + "Louis", + "Loïc", + "Luca", + "Lucas", + "Léo", + "Manuel", + "Marcel", + "Mathieu", + "Matteo", + "Maurice", + "Maxime", + "Michael", + "Michel", + "Nathan", + "Nicolas", + "Noah", + "Nolan", + "Olivier", + "Pascal", + "Patrick", + "Paul", + "Philippe", + "Pierre", + "Raymond", + "René", + "Robert", + "Roger", + "Roland", + "Romain", + "Samuel", + "Stéphane", + "Sébastien", + "Thierry", + "Thomas", + "Théo", + "Vincent", + ] first_names_female = [ - 'Alice', - 'Alicia', - 'Ana', - 'Anna', - 'Anne', - 'Aurélie', - 'Camille', - 'Caroline', - 'Catherine', - 'Chantal', - 'Charlotte', - 'Chloé', - 'Christiane', - 'Christine', - 'Clara', - 'Claudine', - 'Corinne', - 'Céline', - 'Danielle', - 'Denise', - 'Eliane', - 'Elisa', - 'Elisabeth', - 'Elodie', - 'Emilie', - 'Emma', - 'Eva', - 'Fabienne', - 'Françoise', - 'Georgette', - 'Germaine', - 'Hélène', - 'Isabelle', - 'Jacqueline', - 'Jeanne', - 'Jessica', - 'Josiane', - 'Julie', - 'Laetitia', - 'Lara', - 'Laura', - 'Laurence', - 'Liliane', - 'Lisa', - 'Lucie', - 'Léa', - 'Madeleine', - 'Manon', - 'Marcelle', - 'Marguerite', - 'Maria', - 'Marianne', - 'Marie', - 'Mathilde', - 'Monique', - 'Mélanie', - 'Nathalie', - 'Nelly', - 'Nicole', - 'Odette', - 'Patricia', - 'Sandra', - 'Sandrine', - 'Sara', - 'Sarah', - 'Simone', - 'Sophie', - 'Stéphanie', - 'Suzanne', - 'Sylvie', - 'Thérèse', - 'Valérie', - 'Vanessa', - 'Véronique', - 'Yvette', - 'Yvonne', - 'Zoé'] + "Alice", + "Alicia", + "Ana", + "Anna", + "Anne", + "Aurélie", + "Camille", + "Caroline", + "Catherine", + "Chantal", + "Charlotte", + "Chloé", + "Christiane", + "Christine", + "Clara", + "Claudine", + "Corinne", + "Céline", + "Danielle", + "Denise", + "Eliane", + "Elisa", + "Elisabeth", + "Elodie", + "Emilie", + "Emma", + "Eva", + "Fabienne", + "Françoise", + "Georgette", + "Germaine", + "Hélène", + "Isabelle", + "Jacqueline", + "Jeanne", + "Jessica", + "Josiane", + "Julie", + "Laetitia", + "Lara", + "Laura", + "Laurence", + "Liliane", + "Lisa", + "Lucie", + "Léa", + "Madeleine", + "Manon", + "Marcelle", + "Marguerite", + "Maria", + "Marianne", + "Marie", + "Mathilde", + "Monique", + "Mélanie", + "Nathalie", + "Nelly", + "Nicole", + "Odette", + "Patricia", + "Sandra", + "Sandrine", + "Sara", + "Sarah", + "Simone", + "Sophie", + "Stéphanie", + "Suzanne", + "Sylvie", + "Thérèse", + "Valérie", + "Vanessa", + "Véronique", + "Yvette", + "Yvonne", + "Zoé", + ] first_names = first_names_male + first_names_female # source = http://kunden.eye.ch/swissgen/rsr/index.html - last_names = ['Aebi', 'Aeby', 'Alber', 'Babey', 'Badan', 'Badel', 'Bahon', - 'Balmat', 'Barbey', 'Barillon', 'Barman', 'Bavaud', 'Beguin', - 'Berberat', 'Bernasconi', 'Besançon', 'Besençon', 'Besse', 'Beuchat', - 'Beuret', 'Beurret', 'Blanc', 'Bochud', 'Boechat', 'Boichat', 'Boillat', - 'Bonvin', 'Bonvini', 'Botteron', 'Bourquard', 'Bourquin', 'Bouvier', - 'Bovet', 'Brahier', 'Brandt', 'Broquet', 'Bugnon', 'Bujard', 'Béguelin', - 'Candaux', 'Carraud', 'Carraux', 'Carron', 'Cattin', 'Chappuis', - 'Chapuis', 'Charpié', 'Chatriand', 'Chatriant', 'Chaudet', 'Chenaux', - 'Chevalley', 'Chevrolet', 'Chopard', 'Coigny', 'Comman', 'Comment', - 'Comte', 'Conrad', 'Corbat', 'Corboz', 'Cornut', 'Cornuz', 'Corpataux', - 'Cosandey', 'Cosendey', 'Cossy', 'Courvoisier', 'Cousin', 'Cretton', - 'Crevoisier', 'Crivelli', 'Curdy', 'de Dardel', 'Deladoëy', 'Delèze', - 'Deshusses', 'Diesbach', 'Droz', 'Dubey', 'Duroux', 'Duvanel', 'Délèze', - 'Evéquoz', 'Fonjallaz', 'Francillon', 'Galland', 'Georges', 'Gillièron', - 'Gilliéron', 'Godet', 'Grand', 'Grojean', 'Grosjean', 'Gubéran', - 'Humbert', 'Isella', 'Jacot-Descombes', 'Jacot-Guillarmod', 'Joly', - 'Jomini', 'Joye', 'Julliard', 'Maire', 'Marti', 'Martin', 'Marty', - 'Masseron', 'Matile', 'Mayor', 'Menthonnex', 'Mercier', 'Meyer', - 'Monnard', 'Monnet', 'Monnet', 'Monney', 'Montandon', 'Morand', - 'Morard', 'Mottet', 'Mottiez', 'Muriset', 'Musy', 'Müller', 'Niquille', - 'Nusslé', 'Nüsslin', 'Paccot', 'Pachoud', 'Paschoud', 'Pasquier', - 'Peitrequin', 'Pellet', 'Piccand', 'Polla', 'Privet', 'Quartier', - 'Rapin', 'Rappaz', 'Rapraz', 'Rey', 'Robadey', 'Robert', 'Romanens', - 'Rosselat', 'Rosselet', 'Rossellat', 'Sandoz', 'Sansonnens', 'Saudan', - 'Thorens', 'Théraulaz', 'Tinguely', 'Treboux', 'Uldry', 'Vallélian', - 'Vermeil', 'Vienne', 'Vonlanthen', 'Vuille', 'Wicht', - ] + last_names = [ + "Aebi", + "Aeby", + "Alber", + "Babey", + "Badan", + "Badel", + "Bahon", + "Balmat", + "Barbey", + "Barillon", + "Barman", + "Bavaud", + "Beguin", + "Berberat", + "Bernasconi", + "Besançon", + "Besençon", + "Besse", + "Beuchat", + "Beuret", + "Beurret", + "Blanc", + "Bochud", + "Boechat", + "Boichat", + "Boillat", + "Bonvin", + "Bonvini", + "Botteron", + "Bourquard", + "Bourquin", + "Bouvier", + "Bovet", + "Brahier", + "Brandt", + "Broquet", + "Bugnon", + "Bujard", + "Béguelin", + "Candaux", + "Carraud", + "Carraux", + "Carron", + "Cattin", + "Chappuis", + "Chapuis", + "Charpié", + "Chatriand", + "Chatriant", + "Chaudet", + "Chenaux", + "Chevalley", + "Chevrolet", + "Chopard", + "Coigny", + "Comman", + "Comment", + "Comte", + "Conrad", + "Corbat", + "Corboz", + "Cornut", + "Cornuz", + "Corpataux", + "Cosandey", + "Cosendey", + "Cossy", + "Courvoisier", + "Cousin", + "Cretton", + "Crevoisier", + "Crivelli", + "Curdy", + "de Dardel", + "Deladoëy", + "Delèze", + "Deshusses", + "Diesbach", + "Droz", + "Dubey", + "Duroux", + "Duvanel", + "Délèze", + "Evéquoz", + "Fonjallaz", + "Francillon", + "Galland", + "Georges", + "Gillièron", + "Gilliéron", + "Godet", + "Grand", + "Grojean", + "Grosjean", + "Gubéran", + "Humbert", + "Isella", + "Jacot-Descombes", + "Jacot-Guillarmod", + "Joly", + "Jomini", + "Joye", + "Julliard", + "Maire", + "Marti", + "Martin", + "Marty", + "Masseron", + "Matile", + "Mayor", + "Menthonnex", + "Mercier", + "Meyer", + "Monnard", + "Monnet", + "Monnet", + "Monney", + "Montandon", + "Morand", + "Morard", + "Mottet", + "Mottiez", + "Muriset", + "Musy", + "Müller", + "Niquille", + "Nusslé", + "Nüsslin", + "Paccot", + "Pachoud", + "Paschoud", + "Pasquier", + "Peitrequin", + "Pellet", + "Piccand", + "Polla", + "Privet", + "Quartier", + "Rapin", + "Rappaz", + "Rapraz", + "Rey", + "Robadey", + "Robert", + "Romanens", + "Rosselat", + "Rosselet", + "Rossellat", + "Sandoz", + "Sansonnens", + "Saudan", + "Thorens", + "Théraulaz", + "Tinguely", + "Treboux", + "Uldry", + "Vallélian", + "Vermeil", + "Vienne", + "Vonlanthen", + "Vuille", + "Wicht", + ] diff --git a/faker/providers/person/fr_FR/__init__.py b/faker/providers/person/fr_FR/__init__.py index 42df5875dc..e88a30bb5d 100644 --- a/faker/providers/person/fr_FR/__init__.py +++ b/faker/providers/person/fr_FR/__init__.py @@ -3,299 +3,661 @@ class Provider(PersonProvider): formats_female = ( - '{{first_name_female}} {{last_name}}', - '{{first_name_female}} {{last_name}}', - '{{first_name_female}} {{last_name}}', - '{{first_name_female}} {{last_name}}', - '{{first_name_female}} {{last_name}}', - '{{first_name_female}} {{last_name}}', - '{{first_name_female}} {{prefix}} {{last_name}}', - '{{first_name_female}} {{last_name}}-{{last_name}}', - '{{first_name_female}}-{{first_name_female}} {{last_name}}', - '{{first_name_female}} {{last_name}} {{prefix}} {{last_name}}', + "{{first_name_female}} {{last_name}}", + "{{first_name_female}} {{last_name}}", + "{{first_name_female}} {{last_name}}", + "{{first_name_female}} {{last_name}}", + "{{first_name_female}} {{last_name}}", + "{{first_name_female}} {{last_name}}", + "{{first_name_female}} {{prefix}} {{last_name}}", + "{{first_name_female}} {{last_name}}-{{last_name}}", + "{{first_name_female}}-{{first_name_female}} {{last_name}}", + "{{first_name_female}} {{last_name}} {{prefix}} {{last_name}}", ) formats_male = ( - '{{first_name_male}} {{last_name}}', - '{{first_name_male}} {{last_name}}', - '{{first_name_male}} {{last_name}}', - '{{first_name_male}} {{last_name}}', - '{{first_name_male}} {{last_name}}', - '{{first_name_male}} {{last_name}}', - '{{first_name_male}} {{prefix}} {{last_name}}', - '{{first_name_male}} {{last_name}}-{{last_name}}', - '{{first_name_male}}-{{first_name_male}} {{last_name}}', - '{{first_name_male}} {{last_name}} {{prefix}} {{last_name}}', + "{{first_name_male}} {{last_name}}", + "{{first_name_male}} {{last_name}}", + "{{first_name_male}} {{last_name}}", + "{{first_name_male}} {{last_name}}", + "{{first_name_male}} {{last_name}}", + "{{first_name_male}} {{last_name}}", + "{{first_name_male}} {{prefix}} {{last_name}}", + "{{first_name_male}} {{last_name}}-{{last_name}}", + "{{first_name_male}}-{{first_name_male}} {{last_name}}", + "{{first_name_male}} {{last_name}} {{prefix}} {{last_name}}", ) formats = formats_male + formats_female first_names_male = ( - 'Adrien', - 'Aimé', - 'Alain', - 'Alexandre', - 'Alfred', - 'Alphonse', - 'André', - 'Antoine', - 'Arthur', - 'Auguste', - 'Augustin', - 'Benjamin', - 'Benoît', - 'Bernard', - 'Bertrand', - 'Charles', - 'Christophe', - 'Daniel', - 'David', - 'Denis', - 'Édouard', - 'Émile', - 'Emmanuel', - 'Éric', - 'Étienne', - 'Eugène', - 'François', - 'Franck', - 'Frédéric', - 'Gabriel', - 'Georges', - 'Gérard', - 'Gilbert', - 'Gilles', - 'Grégoire', - 'Guillaume', - 'Guy', - 'William', - 'Henri', - 'Honoré', - 'Hugues', - 'Isaac', - 'Jacques', - 'Jean', - 'Jérôme', - 'Joseph', - 'Jules', - 'Julien', - 'Laurent', - 'Léon', - 'Louis', - 'Luc', - 'Lucas', - 'Marc', - 'Marcel', - 'Martin', - 'Matthieu', - 'Maurice', - 'Michel', - 'Nicolas', - 'Noël', - 'Olivier', - 'Patrick', - 'Paul', - 'Philippe', - 'Pierre', - 'Raymond', - 'Rémy', - 'René', - 'Richard', - 'Robert', - 'Roger', - 'Roland', - 'Sébastien', - 'Stéphane', - 'Théodore', - 'Théophile', - 'Thibaut', - 'Thibault', - 'Thierry', - 'Thomas', - 'Timothée', - 'Tristan', - 'Victor', - 'Vincent', - 'Xavier', - 'Yves', - 'Zacharie') + "Adrien", + "Aimé", + "Alain", + "Alexandre", + "Alfred", + "Alphonse", + "André", + "Antoine", + "Arthur", + "Auguste", + "Augustin", + "Benjamin", + "Benoît", + "Bernard", + "Bertrand", + "Charles", + "Christophe", + "Daniel", + "David", + "Denis", + "Édouard", + "Émile", + "Emmanuel", + "Éric", + "Étienne", + "Eugène", + "François", + "Franck", + "Frédéric", + "Gabriel", + "Georges", + "Gérard", + "Gilbert", + "Gilles", + "Grégoire", + "Guillaume", + "Guy", + "William", + "Henri", + "Honoré", + "Hugues", + "Isaac", + "Jacques", + "Jean", + "Jérôme", + "Joseph", + "Jules", + "Julien", + "Laurent", + "Léon", + "Louis", + "Luc", + "Lucas", + "Marc", + "Marcel", + "Martin", + "Matthieu", + "Maurice", + "Michel", + "Nicolas", + "Noël", + "Olivier", + "Patrick", + "Paul", + "Philippe", + "Pierre", + "Raymond", + "Rémy", + "René", + "Richard", + "Robert", + "Roger", + "Roland", + "Sébastien", + "Stéphane", + "Théodore", + "Théophile", + "Thibaut", + "Thibault", + "Thierry", + "Thomas", + "Timothée", + "Tristan", + "Victor", + "Vincent", + "Xavier", + "Yves", + "Zacharie", + ) first_names_female = ( - 'Adélaïde', - 'Adèle', - 'Adrienne', - 'Agathe', - 'Agnès', - 'Aimée', - 'Alexandrie', - 'Alix', - 'Alexandria', - 'Alex', - 'Alice', - 'Amélie', - 'Anaïs', - 'Anastasie', - 'Andrée', - 'Anne', - 'Anouk', - 'Antoinette', - 'Arnaude', - 'Astrid', - 'Audrey', - 'Aurélie', - 'Aurore', - 'Bernadette', - 'Brigitte', - 'Capucine', - 'Caroline', - 'Catherine', - 'Cécile', - 'Céline', - 'Célina', - 'Chantal', - 'Charlotte', - 'Christelle', - 'Christiane', - 'Christine', - 'Claire', - 'Claudine', - 'Clémence', - 'Colette', - 'Constance', - 'Corinne', - 'Danielle', - 'Denise', - 'Diane', - 'Dorothée', - 'Édith', - 'Éléonore', - 'Élisabeth', - 'Élise', - 'Élodie', - 'Émilie', - 'Emmanuelle', - 'Françoise', - 'Frédérique', - 'Gabrielle', - 'Geneviève', - 'Hélène', - 'Henriette', - 'Hortense', - 'Inès', - 'Isabelle', - 'Jacqueline', - 'Jeanne', - 'Jeannine', - 'Joséphine', - 'Josette', - 'Julie', - 'Juliette', - 'Laetitia', - 'Laure', - 'Laurence', - 'Lorraine', - 'Louise', - 'Luce', - 'Lucie', - 'Lucy', - 'Madeleine', - 'Manon', - 'Marcelle', - 'Margaux', - 'Margaud', - 'Margot', - 'Marguerite', - 'Margot', - 'Margaret', - 'Maggie', - 'daisy', - 'Marianne', - 'Marie', - 'Marine', - 'Marthe', - 'Martine', - 'Maryse', - 'Mathilde', - 'Michèle', - 'Michelle', - 'Michelle', - 'Monique', - 'Nathalie', - 'Nath', - 'Nathalie', - 'Nicole', - 'Noémi', - 'Océane', - 'Odette', - 'Olivie', - 'Patricia', - 'Paulette', - 'Pauline', - 'Pénélope', - 'Philippine', - 'Renée', - 'Sabine', - 'Simone', - 'Sophie', - 'Stéphanie', - 'Susanne', - 'Suzanne', - 'Susan', - 'Suzanne', - 'Sylvie', - 'Thérèse', - 'Valentine', - 'Valérie', - 'Véronique', - 'Victoire', - 'Virginie', - 'Zoé', - 'Camille', - 'Claude', - 'Dominique') + "Adélaïde", + "Adèle", + "Adrienne", + "Agathe", + "Agnès", + "Aimée", + "Alexandrie", + "Alix", + "Alexandria", + "Alex", + "Alice", + "Amélie", + "Anaïs", + "Anastasie", + "Andrée", + "Anne", + "Anouk", + "Antoinette", + "Arnaude", + "Astrid", + "Audrey", + "Aurélie", + "Aurore", + "Bernadette", + "Brigitte", + "Capucine", + "Caroline", + "Catherine", + "Cécile", + "Céline", + "Célina", + "Chantal", + "Charlotte", + "Christelle", + "Christiane", + "Christine", + "Claire", + "Claudine", + "Clémence", + "Colette", + "Constance", + "Corinne", + "Danielle", + "Denise", + "Diane", + "Dorothée", + "Édith", + "Éléonore", + "Élisabeth", + "Élise", + "Élodie", + "Émilie", + "Emmanuelle", + "Françoise", + "Frédérique", + "Gabrielle", + "Geneviève", + "Hélène", + "Henriette", + "Hortense", + "Inès", + "Isabelle", + "Jacqueline", + "Jeanne", + "Jeannine", + "Joséphine", + "Josette", + "Julie", + "Juliette", + "Laetitia", + "Laure", + "Laurence", + "Lorraine", + "Louise", + "Luce", + "Lucie", + "Lucy", + "Madeleine", + "Manon", + "Marcelle", + "Margaux", + "Margaud", + "Margot", + "Marguerite", + "Margot", + "Margaret", + "Maggie", + "Marianne", + "Marie", + "Marine", + "Marthe", + "Martine", + "Maryse", + "Mathilde", + "Michèle", + "Michelle", + "Michelle", + "Monique", + "Nathalie", + "Nath", + "Nathalie", + "Nicole", + "Noémi", + "Océane", + "Odette", + "Olivie", + "Patricia", + "Paulette", + "Pauline", + "Pénélope", + "Philippine", + "Renée", + "Sabine", + "Simone", + "Sophie", + "Stéphanie", + "Susanne", + "Suzanne", + "Susan", + "Suzanne", + "Sylvie", + "Thérèse", + "Valentine", + "Valérie", + "Véronique", + "Victoire", + "Virginie", + "Zoé", + "Camille", + "Claude", + "Dominique", + ) first_names = first_names_male + first_names_female last_names = ( - 'Martin', 'Bernard', 'Thomas', 'Robert', 'Petit', 'Dubois', 'Richard', 'Garcia', 'Durand', 'Moreau', 'Lefebvre', - 'Simon', 'Laurent', 'Michel', 'Leroy', 'Martinez', 'David', 'Fontaine', 'Da Silva', 'Morel', 'Fournier', - 'Dupont', 'Bertrand', 'Lambert', 'Rousseau', 'Girard', 'Roux', 'Vincent', 'Lefevre', 'Boyer', 'Lopez', 'Bonnet', - 'Andre', 'Francois', 'Mercier', 'Muller', 'Guerin', 'Legrand', 'Sanchez', 'Garnier', 'Chevalier', 'Faure', - 'Perez', 'Clement', 'Fernandez', 'Blanc', 'Robin', 'Morin', 'Gauthier', 'Pereira', 'Perrin', 'Roussel', 'Henry', - 'Duval', 'Gautier', 'Nicolas', 'Masson', 'Marie', 'Noel', 'Ferreira', 'Lemaire', 'Mathieu', 'Riviere', 'Denis', - 'Marchand', 'Rodriguez', 'Dumont', 'Payet', 'Lucas', 'Dufour', 'Dos Santos', 'Joly', 'Blanchard', 'Meunier', - 'Rodrigues', 'Caron', 'Gerard', 'Fernandes', 'Brunet', 'Meyer', 'Barbier', 'Leroux', 'Renard', 'Goncalves', - 'Gaillard', 'Brun', 'Roy', 'Picard', 'Giraud', 'Roger', 'Schmitt', 'Colin', 'Arnaud', 'Vidal', 'Gonzalez', - 'Lemoine', 'Roche', 'Aubert', 'Olivier', 'Leclercq', 'Pierre', 'Philippe', 'Bourgeois', 'Renaud', 'Martins', - 'Leclerc', 'Guillaume', 'Lacroix', 'Lecomte', 'Benoit', 'Fabre', 'Carpentier', 'Vasseur', 'Louis', 'Hubert', - 'Jean', 'Dumas', 'Rolland', 'Grondin', 'Rey', 'Huet', 'Gomez', 'Dupuis', 'Guillot', 'Berger', 'Moulin', - 'Hoarau', 'Menard', 'Deschamps', 'Fleury', 'Adam', 'Boucher', 'Poirier', 'Bertin', 'Charles', 'Aubry', - 'Da Costa', 'Royer', 'Dupuy', 'Maillard', 'Paris', 'Baron', 'Lopes', 'Guyot', 'Carre', 'Jacquet', 'Renault', - 'Herve', 'Charpentier', 'Klein', 'Cousin', 'Collet', 'Leger', 'Ribeiro', 'Hernandez', 'Bailly', 'Schneider', - 'Le Gall', 'Ruiz', 'Langlois', 'Bouvier', 'Gomes', 'Prevost', 'Julien', 'Lebrun', 'Breton', 'Germain', 'Millet', - 'Boulanger', 'Remy', 'Le Roux', 'Daniel', 'Marques', 'Maillot', 'Leblanc', 'Le Goff', 'Barre', 'Perrot', - 'Leveque', 'Marty', 'Benard', 'Monnier', 'Hamon', 'Pelletier', 'Alves', 'Etienne', 'Marchal', 'Poulain', - 'Tessier', 'Lemaitre', 'Guichard', 'Besson', 'Mallet', 'Hoareau', 'Gillet', 'Weber', 'Jacob', 'Collin', - 'Chevallier', 'Perrier', 'Michaud', 'Carlier', 'Delaunay', 'Chauvin', 'Alexandre', 'Marechal', 'Antoine', - 'Lebon', 'Cordier', 'Lejeune', 'Bouchet', 'Pasquier', 'Legros', 'Delattre', 'Humbert', 'De Oliveira', 'Briand', - 'Lamy', 'Launay', 'Gilbert', 'Perret', 'Lesage', 'Gay', 'Nguyen', 'Navarro', 'Besnard', 'Pichon', 'Hebert', - 'Cohen', 'Pons', 'Lebreton', 'Sauvage', 'De Sousa', 'Pineau', 'Albert', 'Jacques', 'Pinto', 'Barthelemy', - 'Turpin', 'Bigot', 'Lelievre', 'Georges', 'Reynaud', 'Ollivier', 'Martel', 'Voisin', 'Leduc', 'Guillet', - 'Vallee', 'Coulon', 'Camus', 'Marin', 'Teixeira', 'Costa', 'Mahe', 'Didier', 'Charrier', 'Gaudin', 'Bodin', - 'Guillou', 'Gregoire', 'Gros', 'Blanchet', 'Buisson', 'Blondel', 'Paul', 'Dijoux', 'Barbe', 'Hardy', 'Laine', - 'Evrard', 'Laporte', 'Rossi', 'Joubert', 'Regnier', 'Tanguy', 'Gimenez', 'Allard', 'Devaux', 'Morvan', 'Levy', - 'Dias', 'Courtois', 'Lenoir', 'Berthelot', 'Pascal', 'Vaillant', 'Guilbert', 'Thibault', 'Moreno', 'Duhamel', - 'Colas', 'Masse', 'Baudry', 'Bruneau', 'Verdier', 'Delorme', 'Blin', 'Guillon', 'Mary', 'Coste', 'Pruvost', - 'Maury', 'Allain', 'Valentin', 'Godard', 'Joseph', 'Brunel', 'Marion', 'Texier', 'Seguin', 'Raynaud', 'Bourdon', - 'Raymond', 'Bonneau', 'Chauvet', 'Maurice', 'Legendre', 'Loiseau', 'Ferrand', 'Toussaint', 'Techer', 'Lombard', - 'Lefort', 'Couturier', 'Bousquet', 'Diaz', 'Riou', 'Clerc', 'Weiss', 'Imbert', 'Jourdan', 'Delahaye', 'Gilles', - 'Guibert', 'Begue', 'Descamps', 'Delmas', 'Peltier', 'Dupre', 'Chartier', 'Martineau', 'Laroche', 'Leconte', - 'Maillet', 'Parent', 'Labbe', 'Potier', 'Bazin', 'Normand', 'Pottier', 'Torres', 'Lagarde', 'Blot', 'Jacquot', - 'Lemonnier', 'Grenier', 'Rocher', 'Bonnin', 'Boutin', 'Fischer', 'Munoz', 'Neveu', 'Lacombe', 'Mendes', - 'Delannoy', 'Auger', 'Wagner', 'Fouquet', 'Mace', 'Ramos', 'Pages', 'Petitjean', 'Chauveau', 'Foucher', 'Peron', - 'Guyon', 'Gallet', 'Rousset', 'Traore', 'Bernier', 'Vallet', 'Letellier', 'Bouvet', 'Hamel', 'Chretien', - 'Faivre', 'Boulay', 'Thierry', 'Samson', 'Ledoux', 'Salmon', 'Gosselin', 'Lecoq', 'Pires', 'Leleu', 'Becker', - 'Diallo', 'Merle', 'Valette', + "Martin", + "Bernard", + "Thomas", + "Robert", + "Petit", + "Dubois", + "Richard", + "Garcia", + "Durand", + "Moreau", + "Lefebvre", + "Simon", + "Laurent", + "Michel", + "Leroy", + "Martinez", + "David", + "Fontaine", + "Da Silva", + "Morel", + "Fournier", + "Dupont", + "Bertrand", + "Lambert", + "Rousseau", + "Girard", + "Roux", + "Vincent", + "Lefèvre", + "Boyer", + "Lopez", + "Bonnet", + "Andre", + "François", + "Mercier", + "Muller", + "Guérin", + "Legrand", + "Sanchez", + "Garnier", + "Chevalier", + "Faure", + "Perez", + "Clément", + "Fernandez", + "Blanc", + "Robin", + "Morin", + "Gauthier", + "Pereira", + "Perrin", + "Roussel", + "Henry", + "Duval", + "Gautier", + "Nicolas", + "Masson", + "Marie", + "Noël", + "Ferreira", + "Lemaire", + "Mathieu", + "Rivière", + "Denis", + "Marchand", + "Rodriguez", + "Dumont", + "Payet", + "Lucas", + "Dufour", + "Dos Santos", + "Joly", + "Blanchard", + "Meunier", + "Rodrigues", + "Caron", + "Gérard", + "Fernandes", + "Brunet", + "Meyer", + "Barbier", + "Leroux", + "Renard", + "Goncalves", + "Gaillard", + "Brun", + "Roy", + "Picard", + "Giraud", + "Roger", + "Schmitt", + "Colin", + "Arnaud", + "Vidal", + "Gonzalez", + "Lemoine", + "Roche", + "Aubert", + "Olivier", + "Leclercq", + "Pierre", + "Philippe", + "Bourgeois", + "Renaud", + "Martins", + "Leclerc", + "Guillaume", + "Lacroix", + "Lecomte", + "Benoit", + "Fabre", + "Carpentier", + "Vasseur", + "Louis", + "Hubert", + "Jean", + "Dumas", + "Rolland", + "Grondin", + "Rey", + "Huet", + "Gomez", + "Dupuis", + "Guillot", + "Berger", + "Moulin", + "Hoarau", + "Menard", + "Deschamps", + "Fleury", + "Adam", + "Boucher", + "Poirier", + "Bertin", + "Charles", + "Aubry", + "Da Costa", + "Royer", + "Dupuy", + "Maillard", + "Paris", + "Baron", + "Lopes", + "Guyot", + "Carre", + "Jacquet", + "Renault", + "Hervé", + "Charpentier", + "Klein", + "Cousin", + "Collet", + "Léger", + "Ribeiro", + "Hernandez", + "Bailly", + "Schneider", + "Le Gall", + "Ruiz", + "Langlois", + "Bouvier", + "Gomes", + "Prévost", + "Julien", + "Lebrun", + "Breton", + "Germain", + "Millet", + "Boulanger", + "Rémy", + "Le Roux", + "Daniel", + "Marques", + "Maillot", + "Leblanc", + "Le Goff", + "Barre", + "Perrot", + "Lévêque", + "Marty", + "Benard", + "Monnier", + "Hamon", + "Pelletier", + "Alves", + "Étienne", + "Marchal", + "Poulain", + "Tessier", + "Lemaître", + "Guichard", + "Besson", + "Mallet", + "Hoareau", + "Gillet", + "Weber", + "Jacob", + "Collin", + "Chevallier", + "Perrier", + "Michaud", + "Carlier", + "Delaunay", + "Chauvin", + "Alexandre", + "Maréchal", + "Antoine", + "Lebon", + "Cordier", + "Lejeune", + "Bouchet", + "Pasquier", + "Legros", + "Delattre", + "Humbert", + "De Oliveira", + "Briand", + "Lamy", + "Launay", + "Gilbert", + "Perret", + "Lesage", + "Gay", + "Nguyen", + "Navarro", + "Besnard", + "Pichon", + "Hebert", + "Cohen", + "Pons", + "Lebreton", + "Sauvage", + "De Sousa", + "Pineau", + "Albert", + "Jacques", + "Pinto", + "Barthelemy", + "Turpin", + "Bigot", + "Lelièvre", + "Georges", + "Reynaud", + "Ollivier", + "Martel", + "Voisin", + "Leduc", + "Guillet", + "Vallée", + "Coulon", + "Camus", + "Marin", + "Teixeira", + "Costa", + "Mahe", + "Didier", + "Charrier", + "Gaudin", + "Bodin", + "Guillou", + "Grégoire", + "Gros", + "Blanchet", + "Buisson", + "Blondel", + "Paul", + "Dijoux", + "Barbe", + "Hardy", + "Laine", + "Evrard", + "Laporte", + "Rossi", + "Joubert", + "Regnier", + "Tanguy", + "Gimenez", + "Allard", + "Devaux", + "Morvan", + "Lévy", + "Dias", + "Courtois", + "Lenoir", + "Berthelot", + "Pascal", + "Vaillant", + "Guilbert", + "Thibault", + "Moreno", + "Duhamel", + "Colas", + "Masse", + "Baudry", + "Bruneau", + "Verdier", + "Delorme", + "Blin", + "Guillon", + "Mary", + "Coste", + "Pruvost", + "Maury", + "Allain", + "Valentin", + "Godard", + "Joseph", + "Brunel", + "Marion", + "Texier", + "Seguin", + "Raynaud", + "Bourdon", + "Raymond", + "Bonneau", + "Chauvet", + "Maurice", + "Legendre", + "Loiseau", + "Ferrand", + "Toussaint", + "Techer", + "Lombard", + "Lefort", + "Couturier", + "Bousquet", + "Diaz", + "Riou", + "Clerc", + "Weiss", + "Imbert", + "Jourdan", + "Delahaye", + "Gilles", + "Guibert", + "Bègue", + "Descamps", + "Delmas", + "Peltier", + "Dupré", + "Chartier", + "Martineau", + "Laroche", + "Leconte", + "Maillet", + "Parent", + "Labbé", + "Potier", + "Bazin", + "Normand", + "Pottier", + "Torres", + "Lagarde", + "Blot", + "Jacquot", + "Lemonnier", + "Grenier", + "Rocher", + "Bonnin", + "Boutin", + "Fischer", + "Munoz", + "Neveu", + "Lacombe", + "Mendès", + "Delannoy", + "Auger", + "Wagner", + "Fouquet", + "Mace", + "Ramos", + "Pages", + "Petitjean", + "Chauveau", + "Foucher", + "Peron", + "Guyon", + "Gallet", + "Rousset", + "Traore", + "Bernier", + "Vallet", + "Letellier", + "Bouvet", + "Hamel", + "Chrétien", + "Faivre", + "Boulay", + "Thierry", + "Samson", + "Ledoux", + "Salmon", + "Gosselin", + "Lecoq", + "Pires", + "Leleu", + "Becker", + "Diallo", + "Merle", + "Valette", ) - prefixes = ('de', 'de la', 'Le', 'du') + prefixes = ("de", "de la", "Le", "du") diff --git a/faker/providers/person/fr_QC/__init__.py b/faker/providers/person/fr_QC/__init__.py index 683cc08072..fdbb90d99a 100644 --- a/faker/providers/person/fr_QC/__init__.py +++ b/faker/providers/person/fr_QC/__init__.py @@ -1,481 +1,11 @@ -from .. import Provider as PersonProvider +import warnings +from typing import Any -class Provider(PersonProvider): - formats_female = ( - '{{first_name_female}} {{last_name}}', - '{{first_name_female}} {{last_name}}', - '{{first_name_female}} {{last_name}}', - '{{first_name_female}} {{last_name}}', - '{{first_name_female}} {{last_name}}', - '{{first_name_female}} {{last_name}}', - '{{first_name_female}} {{last_name}}-{{last_name}}', - '{{first_name_female}}-{{first_name_female}} {{last_name}}', - ) +from ..fr_CA import Provider as FRCAProvider - formats_male = ( - '{{first_name_male}} {{last_name}}', - '{{first_name_male}} {{last_name}}', - '{{first_name_male}} {{last_name}}', - '{{first_name_male}} {{last_name}}', - '{{first_name_male}} {{last_name}}', - '{{first_name_male}} {{last_name}}', - '{{first_name_male}} {{last_name}}-{{last_name}}', - '{{first_name_male}}-{{first_name_male}} {{last_name}}', - ) - formats = formats_male + formats_female - - # Source: - # https://www.retraitequebec.gouv.qc.ca/fr/services-en-ligne-outils/banque-de-prenoms/Pages/banque-de-prenoms.aspx - first_names_male = ( - 'Alain', - 'Alexandre', - 'Alexis', - 'André', - 'Antoine', - 'Arthur', - 'Benjamin', - 'Benoît', - 'Bernard', - 'Bertrand', - 'Charles', - 'Daniel', - 'David', - 'Denis', - 'Édouard', - 'Émile', - 'Emmanuel', - 'Éric', - 'Étienne', - 'François', - 'Frédéric', - 'Gabriel', - 'Georges', - 'Gérard', - 'Gilbert', - 'Gilles', - 'Grégoire', - 'Guillaume', - 'Guy', - 'William', - 'Henri', - 'Hugues', - 'Jacques', - 'Jean', - 'Jérôme', - 'Jonathan', - 'Joseph', - 'Jules', - 'Julien', - 'Kevin', - 'Laurent', - 'Louis', - 'Luc', - 'Lucas', - 'Marc', - 'Maxime', - 'Marcel', - 'Martin', - 'Mathieu', - 'Maurice', - 'Michel', - 'Nathan', - 'Nicolas', - 'Noël', - 'Olivier', - 'Patrick', - 'Paul', - 'Philippe', - 'Pierre', - 'Raphaël', - 'Raymond', - 'Rémy', - 'René', - 'Richard', - 'Robert', - 'Roger', - 'Roland', - 'Samuel', - 'Sébastien', - 'Stéphane', - 'Théodore', - 'Thomas', - 'Timothée', - 'Tristan', - 'Victor', - 'Vincent', - 'Xavier', - 'Yves', - 'Zacharie', - ) - - first_names_female = ( - 'Agnès', - 'Alexandra', - 'Alex', - 'Alice', - 'Amélie', - 'Anaïs', - 'Andrée', - 'Anne', - 'Anouk', - 'Astrid', - 'Audrey', - 'Aurélie', - 'Aurore', - 'Béatrice', - 'Brigitte', - 'Camille', - 'Caroline', - 'Catherine', - 'Cécile', - 'Céline', - 'Célina', - 'Chantal', - 'Charlotte', - 'Christelle', - 'Christiane', - 'Christine', - 'Claire', - 'Claudine', - 'Claude', - 'Clémence', - 'Colette', - 'Constance', - 'Danielle', - 'Denise', - 'Diane', - 'Dominique', - 'Dorothée', - 'Édith', - 'Emma', - 'Éléonore', - 'Élisabeth', - 'Élise', - 'Élodie', - 'Émilie', - 'Emmanuelle', - 'Florence', - 'Françoise', - 'Frédérique', - 'Gabrielle', - 'Geneviève', - 'Hélène', - 'Henriette', - 'Hortense', - 'Isabelle', - 'Jacqueline', - 'Jeanne', - 'Jeannine', - 'Jessica', - 'Joséphine', - 'Josette', - 'Julie', - 'Juliette', - 'Karine', - 'Laetitia', - 'Laurence', - 'Laurie', - 'Lorraine', - 'Louise', - 'Lucie', - 'Lucy', - 'Manon', - 'Marcelle', - 'Marguerite', - 'Margot', - 'Margaret', - 'Marianne', - 'Marie', - 'Martine', - 'Maryse', - 'Maude', - 'Mathilde', - 'Mélanie', - 'Michèle', - 'Michelle', - 'Monique', - 'Nathalie', - 'Nathalie', - 'Nicole', - 'Noémie', - 'Océane', - 'Odette', - 'Olivia', - 'Patricia', - 'Paulette', - 'Pauline', - 'Pénélope', - 'Renée', - 'Rosalie', - 'Sarah', - 'Simone', - 'Sophie', - 'Stéphanie', - 'Susanne', - 'Sylvie', - 'Thérèse', - 'Vanessa', - 'Valérie', - 'Véronique', - 'Virginie', - 'Zoé', - ) - - first_names = first_names_male + first_names_female - - # Source: - # https://fr.wikipedia.org/wiki/Liste_des_noms_de_famille_les_plus_courants_au_Qu%C3%A9bec - last_names = ( - 'Tremblay', - 'Gagnon', - 'Roy', - 'Côté', - 'Bouchard', - 'Gauthier', - 'Morin', - 'Lavoie', - 'Fortin', - 'Gagné', - 'Ouellet', - 'Pelletier', - 'Bélanger', - 'Lévesque', - 'Bergeron', - 'Leblanc', - 'Paquette', - 'Girard', - 'Simard', - 'Boucher', - 'Caron', - 'Beaulieu', - 'Cloutier', - 'Dubé', - 'Poirier', - 'Fournier', - 'Lapointe', - 'Leclerc', - 'Lefebvre', - 'Poulin', - 'Thibault', - 'St-Pierre', - 'Nadeau', - 'Martin', - 'Landry', - 'Martel', - 'Bédard', - 'Grenier', - 'Lessard', - 'Bernier', - 'Richard', - 'Michaud', - 'Hébert', - 'Desjardins', - 'Couture', - 'Turcotte', - 'Lachance', - 'Parent', - 'Blais', - 'Gosselin', - 'Savard', - 'Proulx', - 'Beaudoin', - 'Demers', - 'Perreault', - 'Boudreau', - 'Lemieux', - 'Cyr', - 'Perron', - 'Dufour', - 'Dion', - 'Mercier', - 'Bolduc', - 'Bérubé', - 'Boisvert', - 'Langlois', - 'Ménard', - 'Therrien', - 'Plante', - 'Bilodeau', - 'Blanchette', - 'Dubois', - 'Champagne', - 'Paradis', - 'Fortier', - 'Arsenault', - 'Dupuis', - 'Gaudreault', - 'Hamel', - 'Houle', - 'Villeneuve', - 'Rousseau', - 'Gravel', - 'Thériault', - 'Lemay', - 'Robert', - 'Allard', - 'Deschênes', - 'Giroux', - 'Guay', - 'Leduc', - 'Boivin', - 'Charbonneau', - 'Lambert', - 'Raymond', - 'Vachon', - 'Gilbert', - 'Audet', - 'Jean', - 'Larouche', - 'Legault', - 'Trudel', - 'Fontaine', - 'Picard', - 'Labelle', - 'Lacroix', - 'Jacques', - 'Moreau', - 'Carrier', - 'Bernard', - 'Desrosiers', - 'Goulet', - 'Renaud', - 'Dionne', - 'Lapierre', - 'Vaillancourt', - 'Fillion', - 'Lalonde', - 'Tessier', - 'Bertrand', - 'Tardif', - 'Lepage', - 'Gingras', - 'Benoît', - 'Rioux', - 'Giguère', - 'Drouin', - 'Harvey', - 'Lauzon', - 'Nguyen', - 'Gendron', - 'Boutin', - 'Laflamme', - 'Vallée', - 'Dumont', - 'Breton', - 'Paré', - 'Paquin', - 'Robitaille', - 'Gélinas', - 'Duchesne', - 'Lussier', - 'Séguin', - 'Veilleux', - 'Potvin', - 'Gervais', - 'Pépin', - 'Laroche', - 'Morissette', - 'Charron', - 'Lavallée', - 'Laplante', - 'Chabot', - 'Brunet', - 'Vézina', - 'Desrochers', - 'Labrecque', - 'Coulombe', - 'Tanguay', - 'Chouinard', - 'Noël', - 'Pouliot', - 'Lacasse', - 'Daigle', - 'Marcoux', - 'Lamontagne', - 'Turgeon', - 'Larocque', - 'Roberge', - 'Auger', - 'Massé', - 'Pilon', - 'Racine', - 'Dallaire', - 'Émond', - 'Grégoire', - 'Beauregard', - 'Smith', - 'Denis', - 'Lebel', - 'Blouin', - 'Martineau', - 'Labbé', - 'Beauchamp', - 'St-Onge', - 'Charette', - 'Dupont', - 'Létourneau', - 'Rodrigue', - 'Cormier', - 'Rivard', - 'Mathieu', - 'Asselin', - 'St-Jean', - 'Plourde', - 'Thibodeau', - 'Bélisle', - 'St-Laurent', - 'Godin', - 'Desbiens', - 'Lavigne', - 'Doucet', - 'Labonté', - 'Marchand', - 'Brassard', - 'Forget', - 'Patel', - 'Marcotte', - 'Béland', - 'Larose', - 'Duval', - 'Archambault', - 'Maltais', - 'Trépanier', - 'Laliberté', - 'Bisson', - 'Brisson', - 'Dufresne', - 'Beaudry', - 'Chartrand', - 'Houde', - 'Fréchette', - 'Lafontaine', - 'Guillemette', - 'Drolet', - 'Vincent', - 'Richer', - 'Germain', - 'Larivière', - 'Ferland', - 'Trottier', - 'Piché', - 'Boulanger', - 'Sirois', - 'Charest', - 'Provost', - 'Durand', - 'Dumas', - 'Soucy', - 'Lamoureux', - 'Lachapelle', - 'Bégin', - 'Boily', - 'Croteau', - 'Savoie', - 'Provencher', - 'Prévost', - 'Duguay', - 'Lemire', - 'Delisle', - ) +class Provider(FRCAProvider): + def __init__(self, *args: Any, **kwargs: Any) -> None: + warnings.warn("fr_QC locale is deprecated. Please use fr_CA.") + super().__init__(*args, **kwargs) diff --git a/faker/providers/person/ga_IE/__init__.py b/faker/providers/person/ga_IE/__init__.py new file mode 100644 index 0000000000..ff71bba035 --- /dev/null +++ b/faker/providers/person/ga_IE/__init__.py @@ -0,0 +1,3272 @@ +""" +The name list was sourced from UCD and DCU project + https://www.duchas.ie/en/nom + +First names from Central Statistic Office, 1970 data +https://www.cso.ie/en/interactivezone/visualisationtools/babynamesofireland/ +""" +from .. import Provider as PersonProvider + + +class Provider(PersonProvider): + formats = ( + "{{first_name_male}} {{last_name}}", + "{{first_name_male}} {{last_name}}", + "{{first_name_male}} {{last_name}}", + "{{first_name_male}} {{last_name}}", + "{{first_name_male}} {{last_name}}-{{last_name}}", + "{{first_name_female}} {{last_name}}", + "{{first_name_female}} {{last_name}}", + "{{first_name_female}} {{last_name}}", + "{{first_name_female}} {{last_name}}", + "{{first_name_female}} {{last_name}}-{{last_name}}", + "{{prefix_male}} {{first_name_male}} {{last_name}}", + "{{prefix_female}} {{first_name_female}} {{last_name}}", + "{{prefix_male}} {{first_name_male}} {{last_name}}", + "{{prefix_female}} {{first_name_female}} {{last_name}}", + ) + first_names_male = ( + "Aaron", + "Adam", + "Adrian", + "Aengus", + "Aidan", + "Aiden", + "Alan", + "Albert", + "Alexander", + "Alfred", + "Alistair", + "Allan", + "Allen", + "Alphonsus", + "Ambrose", + "Andre", + "Andreas", + "Andrew", + "Angus", + "Anthony", + "Antonio", + "Aongus", + "Arnold", + "Arthur", + "Ashley", + "Augustine", + "Austin", + "Barry", + "Bartholomew", + "Bartley", + "Basil", + "Benedict", + "Benjamin", + "Bernard", + "Billy", + "Brendan", + "Brian", + "Brien", + "Bruce", + "Bryan", + "Camillus", + "Canice", + "Carl", + "Carlos", + "Cathal", + "Cecil", + "Charles", + "Christian", + "Christopher", + "Cian", + "Ciaran", + "Cillian", + "Clement", + "Clifford", + "Clinton", + "Clive", + "Coleman", + "Colin", + "Colm", + "Colman", + "Colum", + "Columba", + "Conal", + "Conall", + "Conan", + "Conleth", + "Conn", + "Connell", + "Connor", + "Conor", + "Cormac", + "Cormack", + "Cornelius", + "Craig", + "Cyril", + "Daire", + "Damian", + "Damien", + "Daniel", + "Danny", + "Dara", + "Daragh", + "Daren", + "Darin", + "Darragh", + "Darran", + "Darrell", + "Darren", + "Darrin", + "Darryl", + "David", + "Davin", + "Dean", + "Declan", + "Denis", + "Dennis", + "Dereck", + "Derek", + "Derick", + "Dermot", + "Dermott", + "Derrick", + "Desmond", + "Diarmaid", + "Diarmuid", + "Domhnall", + "Dominic", + "Dominick", + "Don", + "Donagh", + "Donal", + "Donald", + "Donnacha", + "Donncha", + "Donough", + "Douglas", + "Duncan", + "Eamon", + "Eamonn", + "Eanna", + "Edmond", + "Edmund", + "Edward", + "Edwin", + "Emmet", + "Emmett", + "Enda", + "Eoghan", + "Eoin", + "Eric", + "Ernest", + "Eugene", + "Evan", + "Fabian", + "Feargal", + "Fearghal", + "Fergal", + "Fergus", + "Fiachra", + "Finbar", + "Finbarr", + "Finian", + "Fintan", + "Fionan", + "Flannan", + "Florence", + "Francis", + "Frank", + "Frederick", + "Gabriel", + "Garech", + "Gareth", + "Garret", + "Garreth", + "Garrett", + "Garry", + "Garvan", + "Gary", + "Gavan", + "Gavin", + "Gearoid", + "Geoffrey", + "George", + "Gerald", + "Gerard", + "Gerrard", + "Gilbert", + "Glen", + "Glenn", + "Gordan", + "Gordon", + "Graham", + "Gregory", + "Guy", + "Harold", + "Henry", + "Herbert", + "Howard", + "Hubert", + "Hugh", + "Ian", + "Ivan", + "Ivor", + "Jack", + "James", + "Jarlath", + "Jarleth", + "Jason", + "Jean", + "Jeffrey", + "Jeremiah", + "Jeremy", + "Jermiah", + "Jerome", + "Jesse", + "Jim", + "John", + "Jonathan", + "Joseph", + "Jude", + "Julian", + "Justin", + "Karl", + "Keith", + "Kenneth", + "Kevin", + "Kiaran", + "Kieran", + "Kiernan", + "Kieron", + "Kilian", + "Killian", + "Kirk", + "Laurence", + "Lawrence", + "Lee", + "Leigh", + "Leo", + "Leonard", + "Leslie", + "Liam", + "Lorcan", + "Louis", + "Luke", + "Mac", + "Malachy", + "Malcolm", + "Manus", + "Marc", + "Marcus", + "Mark", + "Martin", + "Mathew", + "Matthew", + "Maurice", + "Mel", + "Melvin", + "Mervin", + "Mervyn", + "Miceal", + "Michael", + "Micheal", + "Michel", + "Morgan", + "Mortimer", + "Myles", + "Naoise", + "Neal", + "Neil", + "Neill", + "Neville", + "Nial", + "Niall", + "Nicholas", + "Nigel", + "Noel", + "Norman", + "Oisin", + "Oliver", + "Owen", + "Padraic", + "Padraig", + "Padraigh", + "Pascal", + "Paschal", + "Patrick", + "Paul", + "Pauric", + "Peadar", + "Peader", + "Pearse", + "Peter", + "Phelim", + "Philip", + "Phillip", + "Pierce", + "Ralph", + "Raphael", + "Ray", + "Raymond", + "Redmond", + "Reginald", + "Richard", + "Robert", + "Robin", + "Roderick", + "Rodger", + "Rodney", + "Roger", + "Rolf", + "Ronald", + "Ronan", + "Rory", + "Ross", + "Rossa", + "Rowan", + "Roy", + "Ruairi", + "Russell", + "Samuel", + "Scott", + "Seamus", + "Sean", + "Sebastian", + "Senan", + "Seosamh", + "Shane", + "Shaun", + "Sheamus", + "Simon", + "Spencer", + "Stanley", + "Stephen", + "Steve", + "Steven", + "Stewart", + "Stuart", + "Sylvester", + "Tadhg", + "Terence", + "Thaddeus", + "Thomas", + "Timothy", + "Tomas", + "Tony", + "Trevor", + "Troy", + "Turlough", + "Ultan", + "Valentine", + "Victor", + "Vincent", + "Vivian", + "Walter", + "Warren", + "Wayne", + "Wesley", + "William", + "Willie", + ) + + first_names_female = ( + "Abina", + "Adele", + "Adeline", + "Adrianne", + "Adrienne", + "Aedin", + "Agnes", + "Aideen", + "Ailbhe", + "Aileen", + "Ailis", + "Ailish", + "Aine", + "Aishling", + "Aisling", + "Alexandra", + "Alexis", + "Alice", + "Alicia", + "Alison", + "Allison", + "Alma", + "Alva", + "Amanda", + "Amber", + "Amelia", + "Amy", + "Anastasia", + "Anastatia", + "Andrea", + "Andrena", + "Angela", + "Angelina", + "Angeline", + "Anita", + "Ann", + "Anna", + "Anne", + "Annette", + "Annie", + "Antoinette", + "Antonia", + "Aoife", + "April", + "Arlene", + "Ashley", + "Ashling", + "Assumpta", + "Attracta", + "Audrey", + "Averil", + "Avril", + "Bairbre", + "Barbara", + "Beatrice", + "Belinda", + "Bernadette", + "Bernadine", + "Bernice", + "Beverley", + "Blathnaid", + "Breda", + "Breeda", + "Breege", + "Breffni", + "Brenda", + "Brid", + "Bridget", + "Bridie", + "Briget", + "Brighid", + "Brigid", + "Brona", + "Bronagh", + "Bronwen", + "Bronwyn", + "Cait", + "Caitriona", + "Camilla", + "Caoimhe", + "Cara", + "Carina", + "Carla", + "Carmel", + "Carmen", + "Carol", + "Carole", + "Caroline", + "Carolyn", + "Catherina", + "Catherine", + "Catheriona", + "Cathleen", + "Cathrina", + "Cathrine", + "Cathriona", + "Cathy", + "Catriona", + "Cecelia", + "Cecilia", + "Celene", + "Celia", + "Celina", + "Celine", + "Charlotte", + "Charmaine", + "Cheryl", + "Christina", + "Christine", + "Ciara", + "Clair", + "Claire", + "Clara", + "Clare", + "Claudia", + "Claudine", + "Cliodhna", + "Cliona", + "Clodagh", + "Colette", + "Colleen", + "Collette", + "Concepta", + "Cora", + "Corinna", + "Corona", + "Cynthia", + "Dana", + "Danielle", + "Daphne", + "Dara", + "Daragh", + "Darina", + "Darragh", + "Davida", + "Davnet", + "Dawn", + "Dearbhail", + "Dearbhla", + "Debbie", + "Deborah", + "Deborrah", + "Debra", + "Deidre", + "Deirdre", + "Delia", + "Denise", + "Derval", + "Dervilla", + "Dervla", + "Diana", + "Diane", + "Diann", + "Dianne", + "Dolores", + "Dona", + "Donna", + "Dora", + "Doreen", + "Dorothy", + "Dymphna", + "Dympna", + "Eavan", + "Edel", + "Edith", + "Edwina", + "Eileen", + "Eilis", + "Eilish", + "Eimear", + "Eimer", + "Eithne", + "Elaine", + "Eleanor", + "Elena", + "Elizabeth", + "Ella", + "Ellen", + "Elva", + "Emer", + "Emily", + "Emma", + "Erica", + "Erika", + "Estelle", + "Esther", + "Ethel", + "Ethna", + "Ethne", + "Eunice", + "Eva", + "Eve", + "Eveline", + "Evelyn", + "Felicity", + "Fidelma", + "Finola", + "Fiona", + "Fionna", + "Fionnuala", + "Fionnula", + "Florence", + "Frances", + "Freda", + "Gabrielle", + "Gail", + "Gemma", + "Genevieve", + "Georgina", + "Geraldine", + "Gerardine", + "Gertrude", + "Gillian", + "Gina", + "Glenda", + "Gloria", + "Grace", + "Grainne", + "Grania", + "Gretta", + "Gwen", + "Gwendolen", + "Gwendoline", + "Hannah", + "Hanora", + "Harriet", + "Hazel", + "Heather", + "Heidi", + "Helan", + "Helen", + "Helena", + "Helga", + "Henrietta", + "Hilary", + "Hilda", + "Hillary", + "Honora", + "Ida", + "Ide", + "Imelda", + "Inez", + "Ingrid", + "Irene", + "Iris", + "Isabel", + "Isobel", + "Ita", + "Jacinta", + "Jacintha", + "Jacqueline", + "Jane", + "Janet", + "Janette", + "Janice", + "Janine", + "Jayne", + "Jean", + "Jeanette", + "Jeanne", + "Jeannette", + "Jenifer", + "Jennifer", + "Jessica", + "Jill", + "Jillian", + "Joan", + "Joanna", + "Joanne", + "Jocelyn", + "Johanna", + "Johanne", + "Josephine", + "Joy", + "Joyce", + "Juanita", + "Judith", + "Judy", + "Julia", + "Julianna", + "Julie", + "Juliet", + "Juliette", + "June", + "Justine", + "Kara", + "Karan", + "Karen", + "Karin", + "Karina", + "Kate", + "Katharina", + "Katharine", + "Katherina", + "Katherine", + "Kathleen", + "Kathryn", + "Katrina", + "Katriona", + "Kerry", + "Kim", + "Lara", + "Laura", + "Lavinia", + "Leah", + "Lena", + "Leona", + "Leone", + "Leonie", + "Leonora", + "Lesley", + "Leslie", + "Lilian", + "Lillian", + "Linda", + "Lisa", + "Liza", + "Loraine", + "Loretta", + "Loretto", + "Lorna", + "Lorraine", + "Louise", + "Loyola", + "Lucia", + "Lucinda", + "Lucy", + "Lynda", + "Lynn", + "Lynne", + "Madeline", + "Maeve", + "Maighread", + "Maire", + "Mairead", + "Mairin", + "Majella", + "Mandy", + "Marcella", + "Marese", + "Margaret", + "Marguerite", + "Maria", + "Marian", + "Marianne", + "Marie", + "Marilyn", + "Marina", + "Marion", + "Marjorie", + "Marlene", + "Martha", + "Martina", + "Mary", + "Matilda", + "Maura", + "Maureen", + "Maxine", + "Melanie", + "Melinda", + "Melissa", + "Michaela", + "Michele", + "Michell", + "Michelle", + "Miranda", + "Miriam", + "Moira", + "Mona", + "Monica", + "Monique", + "Moya", + "Muireann", + "Muriel", + "Myra", + "Nadine", + "Naimh", + "Nancy", + "Naomh", + "Naomi", + "Natalie", + "Natasha", + "Neasa", + "Nessa", + "Niamh", + "Nichola", + "Nicola", + "Nicole", + "Nina", + "Noeleen", + "Noeline", + "Noelle", + "Noirin", + "Noleen", + "Nollaig", + "Nora", + "Norah", + "Noreen", + "Norma", + "Nuala", + "Olga", + "Olive", + "Olivia", + "Olwen", + "Oonagh", + "Orla", + "Orlaith", + "Orna", + "Pamela", + "Patricia", + "Paula", + "Paulette", + "Pauline", + "Pearl", + "Penelope", + "Petrina", + "Philomena", + "Phyllis", + "Priscilla", + "Rachael", + "Rachel", + "Rebecca", + "Regina", + "Rena", + "Rhona", + "Rhonda", + "Rita", + "Roberta", + "Roisin", + "Rona", + "Rosa", + "Rosaleen", + "Rosanna", + "Rosanne", + "Rosarie", + "Rosario", + "Rose", + "Rosemarie", + "Rosemary", + "Roslyn", + "Rowena", + "Ruth", + "Sally", + "Samanta", + "Samantha", + "Sandra", + "Sara", + "Sarah", + "Saundra", + "Serena", + "Sharon", + "Shauna", + "Sheela", + "Sheelagh", + "Sheena", + "Sheila", + "Shiela", + "Shinead", + "Shirley", + "Shona", + "Sile", + "Simone", + "Sinead", + "Siobain", + "Sioban", + "Siobhain", + "Siobhan", + "Sonia", + "Sonya", + "Sophia", + "Sophie", + "Sorcha", + "Stella", + "Stephanie", + "Susan", + "Susanna", + "Susanne", + "Suzanne", + "Sylvia", + "Tania", + "Tanya", + "Tara", + "Teresa", + "Thelma", + "Theresa", + "Therese", + "Tina", + "Toni", + "Tonya", + "Tracey", + "Tracy", + "Treacy", + "Treasa", + "Trina", + "Triona", + "Una", + "Ursula", + "Valerie", + "Vanessa", + "Vera", + "Veronica", + "Victoria", + "Violet", + "Virginia", + "Vivian", + "Vivien", + "Vivienne", + "Wendy", + "Winifred", + "Yolanda", + "Yvette", + "Yvonne", + "Zita", + "Zoe", + ) + + first_names = first_names_male + first_names_female + + last_names = ( + "A tSithigh", + "Achaorainn", + "Ailín", + "Ainmneach", + "Airmeas", + "Bailís", + "Bairéad", + "Baisceir", + "Baróid", + "Barún", + "Bhailís", + "Blowick", + "Bodaicín", + "Bodhlaeir", + "Bodhlaer", + "Breasail", + "Breathnach", + "Briain", + "Briútean", + "Bruadar", + "Bruiséal", + "Brún", + "Budhlaeir", + "Burnach", + "Bácaeir", + "Bácaer", + "Béataigh", + "Béireach", + "Cadhain", + "Cafua", + "Caimbeul", + "Caimbéal", + "Callahan", + "Caomhánach", + "Capua", + "Capuaigh", + "Carmaig", + "Cartúr", + "Carville", + "Carún", + "Ceafarcaigh", + "Ceanainn", + "Ceara", + "Ceirisc", + "Ceorais", + "Ceothach", + "Ceothánach", + "Cheara", + "Ciaragáin", + "Cill-Dia", + "Cillín", + "Cinnéir", + "Ciosóg", + "Ciothaigh", + "Ciothóg", + "Ciúinín", + "Clárach", + "Coincheanainn", + "Coinnér", + "Coinnín", + "Coinín", + "Colum", + "Comartún", + "Conaola", + "Conbhae", + "Condún", + "Confhaola", + "Conrach", + "Conraoi", + "Consaidín", + "Cormican", + "Coscair", + "Criomhthain", + "Criostóir", + "Criostúir", + "Cróil", + "Cuidithe", + "Cuillín", + "Cuineáin", + "Cuirtéis", + "Curraoin", + "Céide", + "Céitinn", + "Cíosóg", + "Cúndún", + "Cúnún", + "Daltún", + "Diolún", + "Dionún", + "Doghair", + "Doingeard", + "Dorcha", + "Droma", + "Duffy", + "Dáibhís", + "Déiseach", + "Díscín", + "Dúinsméarach", + "Each", + "Eilfirt", + "Fearraigh", + "Feirtéar", + "Firtéar", + "Freis", + "Gabháin", + "Gineá", + "Ginneá", + "Ginneádha", + "Giobún", + "Gionnachtaigh", + "Glionnáin", + "Glostéir", + "Grialais", + "Gubain", + "Gugán", + "Gáineard", + "Géaran", + "Habha", + "Haicéad", + "Hynman", + "Innseadún", + "Iústás", + "Kirwan", + "Laidhléis", + "Laighnigh", + "Landy", + "Lochlann", + "Loibhéad", + "Lonndún", + "Luibhéad", + "Lás", + "Lása", + "Lúiséad", + "Lúnam", + "Mac Aidicín", + "Mac Ailpín", + "Mac Ailín", + "Mac Aindriais", + "Mac Aindriú", + "Mac Airligh", + "Mac Airt", + "Mac Aitigín", + "Mac Alastair", + "Mac Alastroim", + "Mac Allmhúráin", + "Mac Amhalghaidh", + "Mac Amhlaigh", + "Mac Amhlaoigh", + "Mac Amhlaoimh", + "Mac Anabadha", + "Mac Anna", + "Mac Annraoi", + "Mac Anraoi", + "Mac Aodha", + "Mac Aodhchain", + "Mac Aodhchaoin", + "Mac Aodhgáin", + "Mac Aodháin", + "Mac Aogáin", + "Mac Aoidh", + "Mac Aonghais", + "Mac Aonghuis", + "Mac Aonghusa", + "Mac Arta", + "Mac Artáin", + "Mac Artúir", + "Mac Bhaitéir", + "Mac Bhloscaigh", + "Mac Bhriain", + "Mac Braoin", + "Mac Braonáin", + "Mac Briartaigh", + "Mac Brádaigh", + "Mac Cafraigh", + "Mac Cailpín", + "Mac Cailín", + "Mac Cairbre", + "Mac Caiside", + "Mac Caisleáin", + "Mac Caislin", + "Mac Caisín", + "Mac Caithir", + "Mac Caitigín", + "Mac Calaigh", + "Mac Calbhaigh", + "Mac Callanáin", + "Mac Canainn", + "Mac Canna", + "Mac Caochlaigh", + "Mac Caochlaí", + "Mac Caocháin", + "Mac Caoidheáin", + "Mac Carluis", + "Mac Carmaig", + "Mac Carra", + "Mac Carrghamhna", + "Mac Carrghamhne", + "Mac Cartáin", + "Mac Casaide", + "Mac Casarlaigh", + "Mac Catailín", + "Mac Cathail", + "Mac Cathaoir", + "Mac Cathasaigh", + "Mac Cathbhaid", + "Mac Cathmhaoil", + "Mac Catháin", + "Mac Ceallabhuí", + "Mac Ceallaigh", + "Mac Ceallbhuí", + "Mac Ceamharcaigh", + "Mac Ceannabháin", + "Mac Ceanndubháin", + "Mac Cearbhaill", + "Mac Cearnaigh", + "Mac Cearáin", + "Mac Ceoinín", + "Mac Ciaráin", + "Mac Cillín", + "Mac Cinnéide", + "Mac Cionnaith", + "Mac Ciúrtáin", + "Mac Claochlaí", + "Mac Clochartaigh", + "Mac Cluanaigh", + "Mac Clúin", + "Mac Cnáimhsighe", + "Mac Cnáimhsí", + "Mac Cnáimhín", + "Mac Cobhthaigh", + "Mac Cochláin", + "Mac Coileáin", + "Mac Coiligh", + "Mac Coillín", + "Mac Coilín", + "Mac Coimín", + "Mac Coineoil", + "Mac Coingheallá", + "Mac Coinneirtinne", + "Mac Coinnich", + "Mac Coinnigh", + "Mac Coinín", + "Mac Coisdeala", + "Mac Coisdealbha", + "Mac Coisteala", + "Mac Coitir", + "Mac Colla", + "Mac Coluim", + "Mac Comhghaill", + "Mac Comní", + "Mac Con Rí", + "Mac Con Ultaigh", + "Mac Con na Buaile", + "Mac Conacha", + "Mac Conagail", + "Mac Conaill", + "Mac Conallta", + "Mac Conaola", + "Mac Conaonaigh", + "Mac Conbhuí", + "Mac Concharraige", + "Mac Conchoille", + "Mac Conchradha", + "Mac Conduibh", + "Mac Confhaola", + "Mac Confraoich", + "Mac Congail", + "Mac Conghaile", + "Mac Conghamhna", + "Mac Conleágha", + "Mac Conluain", + "Mac Conmara", + "Mac Conmhaoil", + "Mac Conmí", + "Mac Connacháin", + "Mac Connallta", + "Mac Connghamhna", + "Mac Connmhaigh", + "Mac Connáin", + "Mac Connóil", + "Mac Connól", + "Mac Conraoi", + "Mac Consaidín", + "Mac Conámha", + "Mac Conóil", + "Mac Corcoráin", + "Mac Cormaic", + "Mac Corra", + "Mac Corrghamhna", + "Mac Coscair", + "Mac Cosgair", + "Mac Costagáin", + "Mac Craith", + "Mac Craobháin", + "Mac Criomhthain", + "Mac Crosáin", + "Mac Cruitín", + "Mac Crábháin", + "Mac Créadaigh", + "Mac Críodáin", + "Mac Críonáin", + "Mac Cuag", + "Mac Cuaig", + "Mac Cualáin", + "Mac Cuarta", + "Mac Cuidithe", + "Mac Cuileannáin", + "Mac Cuileanáin", + "Mac Cuilleáin", + "Mac Cuinn", + "Mac Cuinneagáin", + "Mac Cuirc", + "Mac Cumascaigh", + "Mac Cumhail", + "Mac Cunnaidh", + "Mac Curdaigh", + "Mac Curraidh", + "Mac Curraoin", + "Mac Curtáin", + "Mac Cába", + "Mac Cárthaigh", + "Mac Céide", + "Mac Cúilriabhaigh", + "Mac Daeid", + "Mac Daibheid", + "Mac Daibhíd", + "Mac Dhiarmada", + "Mac Dhonncha", + "Mac Dhonnchadha", + "Mac Dhonnchaidh", + "Mac Dhorchaidh", + "Mac Dhuarcáin", + "Mac Dhubhghail", + "Mac Dhubhghaill", + "Mac Dhuibh", + "Mac Dhuibhir", + "Mac Dhuinneabháin", + "Mac Dhuinnshlé", + "Mac Dhuinnshléibhe", + "Mac Dháibhidh", + "Mac Dháibhis", + "Mac Dhúirnín", + "Mac Diarmada", + "Mac Domhnaill", + "Mac Donncha", + "Mac Donnchadha", + "Mac Duarcáin", + "Mac Dubhghaill", + "Mac Dubhradáin", + "Mac Duibhir", + "Mac Dáibhid", + "Mac Dáibhidh", + "Mac Dáid", + "Mac Déid", + "Mac Eachaidh", + "Mac Eachain", + "Mac Eachmharcaigh", + "Mac Eacháin", + "Mac Ealanaidh", + "Mac Eibhir", + "Mac Eiteagáin", + "Mac Eitheagáin", + "Mac Eochadha", + "Mac Eochagáin", + "Mac Eochaidh", + "Mac Eocháin", + "Mac Eoghain", + "Mac Eoin", + "Mac Eoinín", + "Mac Eóinín", + "Mac Eóthach", + "Mac Fearadhaigh", + "Mac Fhaoláin", + "Mac Fhearadhaigh", + "Mac Fhearchair", + "Mac Fheargail", + "Mac Fhearghail", + "Mac Fhearghaile", + "Mac Fhearghusa", + "Mac Fhearraigh", + "Mac Fheorais", + "Mac Fhiachra", + "Mac Fhinn", + "Mac Fhinneachtaigh", + "Mac Fhionghuin", + "Mac Fhionnachta", + "Mac Fhionnachtaigh", + "Mac Fhionnghaile", + "Mac Fhionnlaich", + "Mac Fhionnlaoich", + "Mac Fhionntaigh", + "Mac Fhionáin", + "Mac Fhlaithbheartaigh", + "Mac Fhlaithimh", + "Mac Fhlannagáin", + "Mac Fhlannchadha", + "Mac Fhlannáin", + "Mac Fhloinn", + "Mac Fhuallaigh", + "Mac Fhualáin", + "Mac Fhíontaigh", + "Mac Fhógartaigh", + "Mac Firbhisigh", + "Mac Gabhann", + "Mac Gafraigh", + "Mac Gairbhe", + "Mac Gairbhia", + "Mac Gairbhín", + "Mac Gamhna", + "Mac Gaoith", + "Mac Gaoithín", + "Mac Gaora", + "Mac Garaidh", + "Mac Gearachaigh", + "Mac Gearailt", + "Mac Gearchaigh", + "Mac Geimhridh", + "Mac Ghille Fhaoláin", + "Mac Ghille Mhaoil", + "Mac Ghille Íosa", + "Mac Ghilleathain", + "Mac Ghoill", + "Mac Gilleathain", + "Mac Ginneadha", + "Mac Ginneá", + "Mac Giobúin", + "Mac Giolla", + "Mac Giolla Bhaird", + "Mac Giolla Bhríde", + "Mac Giolla Bhuí", + "Mac Giolla Bháin", + "Mac Giolla Chaoin", + "Mac Giolla Chatáin", + "Mac Giolla Cheara", + "Mac Giolla Choda", + "Mac Giolla Choille", + "Mac Giolla Choinnigh", + "Mac Giolla Chomhghaill", + "Mac Giolla Deacair", + "Mac Giolla Dhiarmada", + "Mac Giolla Dhuibh", + "Mac Giolla Dhuinn", + "Mac Giolla Dhé", + "Mac Giolla Domhnaigh", + "Mac Giolla Easboig", + "Mac Giolla Eoghain", + "Mac Giolla Eoin", + "Mac Giolla Eáin", + "Mac Giolla Fhaoláin", + "Mac Giolla Fhinnéin", + "Mac Giolla Geimhridh", + "Mac Giolla Ghailing", + "Mac Giolla Gheimhridh", + "Mac Giolla Ghuala", + "Mac Giolla Ghunna", + "Mac Giolla Iasachta", + "Mac Giolla Luaithrinn", + "Mac Giolla Léith", + "Mac Giolla Mhuire", + "Mac Giolla Mhuiris", + "Mac Giolla Mháirtín", + "Mac Giolla Mhártain", + "Mac Giolla Mhóir", + "Mac Giolla Phádraig", + "Mac Giolla Phóil", + "Mac Giolla Riabhaigh", + "Mac Giolla Rua", + "Mac Giolla Seanáin", + "Mac Giolla Tuile", + "Mac Giolla Uidhir", + "Mac Giolla an Chloig", + "Mac Giolla an Átha", + "Mac Giolla na Naomh", + "Mac Giolla Íosa", + "Mac Giollagáin", + "Mac Giollarnáth", + "Mac Giollarua", + "Mac Giollaruaidhe", + "Mac Glionnáin", + "Mac Glionáin", + "Mac Gloin", + "Mac Gloinn", + "Mac Goill", + "Mac Gormáin", + "Mac Gothraidh", + "Mac Grallaigh", + "Mac Grealaigh", + "Mac Grialais", + "Mac Grianna", + "Mac Grianra", + "Mac Grádha", + "Mac Gráinne", + "Mac Gréil", + "Mac Gréill", + "Mac Gréine", + "Mac Guibhir", + "Mac Guidhir", + "Mac Gáineard", + "Mac Géibheannaigh", + "Mac Géidigh", + "Mac Gíontaigh", + "Mac Hugo", + "Mac Héil", + "Mac Igo", + "Mac Inneirghe", + "Mac Iomaire", + "Mac Ionrachtaigh", + "Mac Laghmainn", + "Mac Laithbheartaigh", + "Mac Laithimh", + "Mac Lathaigh", + "Mac Leannáin", + "Mac Leóid", + "Mac Liam", + "Mac Lochlainn", + "Mac Loingsigh", + "Mac Luain", + "Mac Lughadha", + "Mac Lughbhadha", + "Mac Léanacháin", + "Mac Maicín", + "Mac Maitiú", + "Mac Maoláin", + "Mac Maonagail", + "Mac Maongail", + "Mac Mathghamhna", + "Mac Mathúna", + "Mac Meanman", + "Mac Mhuircheartaigh", + "Mac Muireadhaigh", + "Mac Muiris", + "Mac Murchadha", + "Mac Mághnuis", + "Mac Máirtín", + "Mac Nailín", + "Mac Neacail", + "Mac Neachtain", + "Mac Nia", + "Mac Niadh", + "Mac Niallghais", + "Mac Niallghuis", + "Mac Niocail", + "Mac Niocláis", + "Mac Néill", + "Mac Oibicín", + "Mac Oilifir", + "Mac Oireachtaigh", + "Mac Oistigín", + "Mac Oisín", + "Mac Oitir", + "Mac Oralaigh", + "Mac Oscair", + "Mac Osgair", + "Mac Phartholáin", + "Mac Philbín", + "Mac Philib", + "Mac Pháidín", + "Mac Phártholáin", + "Mac Phártoláin", + "Mac Páidín", + "Mac Rabhartaigh", + "Mac Raghallaigh", + "Mac Raghnaill", + "Mac Raith", + "Mac Rath", + "Mac Reachtain", + "Mac Reanacháin", + "Mac Riada", + "Mac Riagáin", + "Mac Riocaird", + "Mac Risteard", + "Mac Robhartaigh", + "Mac Rodáin", + "Mac Roibín", + "Mac Ruaidhrí", + "Mac Ruairc", + "Mac Ráighne", + "Mac Réamoinn", + "Mac Réill", + "Mac Seafraidh", + "Mac Seafraigh", + "Mac Seanlaoich", + "Mac Searraigh", + "Mac Seinín", + "Mac Seoin", + "Mac Seághain", + "Mac Seáin", + "Mac Shamhráin", + "Mac Sheitric", + "Mac Sheoinín", + "Mac Shitric", + "Mac Shiúrdáin", + "Mac Shiúrtáin", + "Mac Shómais", + "Mac Siacais", + "Mac Sléibhín", + "Mac Spealáin", + "Mac Stibhin", + "Mac Stiofáin", + "Mac Stín", + "Mac Suibhne", + "Mac Séamuis", + "Mac Séartha", + "Mac Síomóin", + "Mac Síthigh", + "Mac Taidhg", + "Mac Tamhais", + "Mac Thaidhg", + "Mac Thiarnáin", + "Mac Thighearnaigh", + "Mac Thighearnáin", + "Mac Thoirbhealaigh", + "Mac Thoirdhealbhaigh", + "Mac Thomáis", + "Mac Thorcail", + "Mac Thréinfhear", + "Mac Thréinfhir", + "Mac Thuathail", + "Mac Thuathaláin", + "Mac Thámhais", + "Mac Thómais", + "Mac Tiarnáin", + "Mac Tomáis", + "Mac Tuathail", + "Mac Tuathaláin", + "Mac Tuile", + "Mac Támhais", + "Mac Uaid", + "Mac Uaitéir", + "Mac Ualghairg", + "Mac Uallacháin", + "Mac Ualtair", + "Mac Ugo", + "Mac Uibhrín", + "Mac Uidhir", + "Mac Uidhlinn", + "Mac Uiginn", + "Mac Uilcín", + "Mac Uí Bheannuille", + "Mac Uí Smál", + "Mac a Déise", + "Mac a' Bhuí", + "Mac an Aba", + "Mac an Abbadh", + "Mac an Adhastair", + "Mac an Airchinnigh", + "Mac an Bhaird", + "Mac an Bheatha", + "Mac an Bheithigh", + "Mac an Bhiadhtaigh", + "Mac an Bhiocáire", + "Mac an Bhreitheamhain", + "Mac an Bhreithimh", + "Mac an Bhua", + "Mac an Chrosáin", + "Mac an Deagánaigh", + "Mac an Déisigh", + "Mac an Fhailghigh", + "Mac an Fhir", + "Mac an Ghabhann", + "Mac an Ghallóglaigh", + "Mac an Ghirr", + "Mac an Ghoill", + "Mac an Iarla", + "Mac an Iascaire", + "Mac an Iomaire", + "Mac an Leagha", + "Mac an Leágha", + "Mac an Liagha", + "Mac an Luain", + "Mac an Mhadaidh", + "Mac an Mhaoir", + "Mac an Mhilidh", + "Mac an Mháistir", + "Mac an Mhíleadha", + "Mac an Mhílidh", + "Mac an Oirchinnigh", + "Mac an Oireachtaigh", + "Mac an Phearsain", + "Mac an Ridire", + "Mac an Rí", + "Mac an Ríogh", + "Mac an Ultaigh", + "Mac an tSagairt", + "Mac an tSaoi", + "Mac an tSaoir", + "Mac an tSionnaigh", + "Mac an Átha", + "Mac an Éanaigh", + "Mac mBriartaigh", + "Mac na Midhe", + "Mac Ádhaimh", + "Mac Éil", + "Mac Énrí", + "Mac Íomhair", + "Mac Íosóg", + "Mac Óda", + "Mac Ógáin", + "Mac Úgó", + "MacCrohan", + "Macnamee", + "Maguidhir", + "McGilligan", + "Meadóg", + "Meidhreach", + "Mistéal", + "Mríosáin", + "Muilleoir", + "Máirtín", + "Mártan", + "Méaláid", + "Neachtain", + "Neancól", + "Paor", + "Peircín", + "Philib", + "Piogóid", + "Pléimeann", + "Pléimionn", + "Proinnsias", + "Puirséal", + "Páirceir", + "Póil", + "Raghna", + "Raifteirí", + "Risteard", + "Ruairc", + "Ruiséal", + "Réamonn", + "Rís", + "Scannláin", + "Scribhín", + "Searlóg", + "Searraigh", + "Seitric", + "Seoighe", + "Sionainn", + "Soolachán", + "Stac", + "Standún", + "Stondún", + "Stundún", + "Suipéal", + "Sáirséal", + "Tighe", + "Traoin", + "Treoigh", + "Treó", + "Treóigh", + "Triall", + "Tréinfhear", + "Turraoin", + "Táilliúir", + "Tóibín", + "Uaithne", + "a Búrc", + "a Búrca", + "a Goireachtaigh", + "a Gíontaigh", + "a' Cillartráin", + "de Bailís", + "de Barra", + "de Bhailis", + "de Bhailís", + "de Bhaldraithe", + "de Bhial", + "de Bhosc", + "de Bhulbh", + "de Bhulf", + "de Bhál", + "de Bláca", + "de Brae", + "de Breit", + "de Brún", + "de Buadha", + "de Builtéir", + "de Buitléir", + "de Báth", + "de Béalatún", + "de Búrc", + "de Búrca", + "de Carún", + "de Ceapóg", + "de Cléir", + "de Creag", + "de Crúis", + "de Cúrsa", + "de Faoite", + "de Fréin", + "de Geard", + "de Geárd", + "de Grae", + "de Grás", + "de Hae", + "de Hindeberg", + "de Híde", + "de Hóir", + "de Hór", + "de Hóra", + "de Hórdha", + "de Liostún", + "de Londra", + "de Long", + "de Lonndra", + "de Lonndraigh", + "de Lonnradh", + "de Lás", + "de Lása", + "de Lásaidhe", + "de Léadús", + "de Léis", + "de Lóndra", + "de Lúndra", + "de Mórdha", + "de Nais", + "de Neancól", + "de Noraidh", + "de Nógla", + "de Paor", + "de Priondargás", + "de Priondragáis", + "de Róisde", + "de Róiste", + "de Rós", + "de Searlóg", + "de Siún", + "de Spáin", + "de Stac", + "de Stondún", + "de Stóc", + "de Treó", + "de hÓra", + "de nGeard", + "de nGeárd", + "Ághas", + "Ás", + "Ó Bannáin", + "Ó Banáin", + "Ó Baoighealláin", + "Ó Baoighill", + "Ó Baoill", + "Ó Beacháin", + "Ó Beaglaoich", + "Ó Beagáin", + "Ó Beannuille", + "Ó Bearnáin", + "Ó Beartlaigh", + "Ó Bearáin", + "Ó Beigg", + "Ó Beirgin", + "Ó Beirn", + "Ó Beirne", + "Ó Beoláin", + "Ó Bhaldraithe", + "Ó Bheacháin", + "Ó Bia", + "Ó Biacháin", + "Ó Biaidh", + "Ó Biasta", + "Ó Biataigh", + "Ó Bionáin", + "Ó Biorainn", + "Ó Bioráin", + "Ó Birn", + "Ó Blioscáin", + "Ó Bláthmhaic", + "Ó Bogáin", + "Ó Bolghuidhir", + "Ó Bolguidhir", + "Ó Bortacháin", + "Ó Bradáin", + "Ó Braoin", + "Ó Braonáin", + "Ó Breanndáin", + "Ó Breasail", + "Ó Breasláin", + "Ó Breisleáin", + "Ó Briain", + "Ó Brianáin", + "Ó Bric", + "Ó Brisleáin", + "Ó Broic", + "Ó Broin", + "Ó Brolcháin", + "Ó Brosnacháin", + "Ó Bruacháin", + "Ó Bruadair", + "Ó Bruic", + "Ó Brádaigh", + "Ó Bráonáin", + "Ó Bréanáin", + "Ó Bríonáin", + "Ó Brógáin", + "Ó Bróithe", + "Ó Buachalla", + "Ó Buadhacháin", + "Ó Buadhaigh", + "Ó Báidh", + "Ó Báin", + "Ó Béagáin", + "Ó Béarra", + "Ó Béice", + "Ó Cabhail", + "Ó Cabraigh", + "Ó Cadhain", + "Ó Cadhla", + "Ó Cadhlaigh", + "Ó Cafraigh", + "Ó Cafua", + "Ó Caibe", + "Ó Caidín", + "Ó Cailpín", + "Ó Cailín", + "Ó Caingne", + "Ó Cainnigh", + "Ó Cairbre", + "Ó Cairealláin", + "Ó Caiside", + "Ó Caisín", + "Ó Caithlín", + "Ó Caitigín", + "Ó Calaigh", + "Ó Calbhaigh", + "Ó Callanáin", + "Ó Calláin", + "Ó Calnáin", + "Ó Canainn", + "Ó Caobhacáin", + "Ó Caobháin", + "Ó Caochlaigh", + "Ó Caochlaí", + "Ó Caocháin", + "Ó Caodhla", + "Ó Caodháin", + "Ó Caoidheáin", + "Ó Caoile", + "Ó Caoileáin", + "Ó Caoillidhe", + "Ó Caoilte", + "Ó Caoimh", + "Ó Caoin", + "Ó Caoindealbháin", + "Ó Caoinigh", + "Ó Caoinleáin", + "Ó Caola", + "Ó Caollaidhe", + "Ó Caollaí", + "Ó Caoláin", + "Ó Caomháin", + "Ó Caomhánaigh", + "Ó Caona", + "Ó Caonaigh", + "Ó Caotháin", + "Ó Caoáin", + "Ó Capua", + "Ó Capuaigh", + "Ó Carbaire", + "Ó Carra", + "Ó Carragáin", + "Ó Carraidhin", + "Ó Carrghamhna", + "Ó Carráin", + "Ó Cartáin", + "Ó Carúin", + "Ó Casaide", + "Ó Casarlaigh", + "Ó Cathail", + "Ó Cathala", + "Ó Cathaláin", + "Ó Cathaoir", + "Ó Cathasaigh", + "Ó Cathbhuadha", + "Ó Cathbhuadhaigh", + "Ó Cathbhuaidh", + "Ó Cathláin", + "Ó Cathmhaoil", + "Ó Catháin", + "Ó Ceafarcaigh", + "Ó Ceallabhuí", + "Ó Ceallacháin", + "Ó Ceallaigh", + "Ó Ceamharcaigh", + "Ó Ceanainn", + "Ó Ceannabháin", + "Ó Ceannaigh", + "Ó Ceanndubháin", + "Ó Ceannduibh", + "Ó Ceannfhaola", + "Ó Ceannfhaolaidh", + "Ó Ceanntabhail", + "Ó Cearbhaill", + "Ó Cearbhalláin", + "Ó Cearbhláin", + "Ó Cearbháin", + "Ó Cearmada", + "Ó Cearnaigh", + "Ó Cearr", + "Ó Cearrúcáin", + "Ó Cearrúin", + "Ó Cearáin", + "Ó Ceatharnaigh", + "Ó Ceiriúcháin", + "Ó Ceithearnaigh", + "Ó Ceocháin", + "Ó Ceoinín", + "Ó Ceothánaigh", + "Ó Ceárna", + "Ó Ciabháin", + "Ó Cianaigh", + "Ó Cianáin", + "Ó Ciaragáin", + "Ó Ciaraigh", + "Ó Ciarba", + "Ó Ciardha", + "Ó Ciardhubháin", + "Ó Ciarmhacáin", + "Ó Ciarmhaic", + "Ó Ciaráin", + "Ó Ciarúcáin", + "Ó Cibhil", + "Ó Cilltráin", + "Ó Cillín", + "Ó Cinnseala", + "Ó Cinnseamáin", + "Ó Cinnéide", + "Ó Cinnéir", + "Ó Ciollabháin", + "Ó Cioltráin", + "Ó Cionnaigh", + "Ó Cionnaith", + "Ó Cionnfhaola", + "Ó Cioráin", + "Ó Ciosáin", + "Ó Ciothaigh", + "Ó Ciúrtáin", + "Ó Claimhín", + "Ó Claochlaoigh", + "Ó Claochlaí", + "Ó Claonáin", + "Ó Clocharta", + "Ó Clochartaigh", + "Ó Clochasaigh", + "Ó Cluanáin", + "Ó Cléirchín", + "Ó Cléireacháin", + "Ó Cléirigh", + "Ó Clúin", + "Ó Clúmháin", + "Ó Clúnáin", + "Ó Cnuacháin", + "Ó Cnáimhsighe", + "Ó Cnáimhsí", + "Ó Cnáimhín", + "Ó Cobhthaigh", + "Ó Cochláin", + "Ó Coighin", + "Ó Coigil", + "Ó Coigligh", + "Ó Coile", + "Ó Coileáin", + "Ó Coiligeáin", + "Ó Coillte", + "Ó Coillín", + "Ó Coiléir", + "Ó Coilín", + "Ó Coimín", + "Ó Coincheanainn", + "Ó Coineoil", + "Ó Coineáin", + "Ó Coineóil", + "Ó Coingheallaigh", + "Ó Coinghialla", + "Ó Coinghiallaigh", + "Ó Coinghíola", + "Ó Coinne", + "Ó Coinneacháin", + "Ó Coinneáin", + "Ó Coinnigh", + "Ó Coinnleáin", + "Ó Coinnéir", + "Ó Coinín", + "Ó Coirbín", + "Ó Coirnín", + "Ó Coisdeala", + "Ó Coisdealbha", + "Ó Coisteala", + "Ó Coistealbhaigh", + "Ó Coitir", + "Ó Coitirigh", + "Ó Colla", + "Ó Collaigh", + "Ó Collaráin", + "Ó Collata", + "Ó Colláin", + "Ó Colmáin", + "Ó Coluim", + "Ó Comair", + "Ó Comhdhain", + "Ó Comhghaill", + "Ó Comhghain", + "Ó Comhraí", + "Ó Comáin", + "Ó Conaill", + "Ó Conaire", + "Ó Conalláin", + "Ó Conaola", + "Ó Conaráin", + "Ó Conbhaigh", + "Ó Conbhaí", + "Ó Conbhuaidh", + "Ó Conbhuidhe", + "Ó Conbhuí", + "Ó Conbhá", + "Ó Conbá", + "Ó Conchobhair", + "Ó Conchubhair", + "Ó Conchúir", + "Ó Confhaola", + "Ó Conghaile", + "Ó Conghamhna", + "Ó Conláin", + "Ó Conmhacháin", + "Ó Conmhaí", + "Ó Conmhaídhe", + "Ó Conmhuí", + "Ó Connachtaigh", + "Ó Connachtáin", + "Ó Connacháin", + "Ó Connaigh", + "Ó Connbhuí", + "Ó Connchamháin", + "Ó Connghamhna", + "Ó Connmhacháin", + "Ó Connmhaigh", + "Ó Connmhaí", + "Ó Connollaigh", + "Ó Connóil", + "Ó Connúcháin", + "Ó Conra", + "Ó Conrach", + "Ó Conraoi", + "Ó Consaidín", + "Ó Conthra", + "Ó Contra", + "Ó Conáin", + "Ó Conóil", + "Ó Conúcháin", + "Ó Corbáin", + "Ó Corcora", + "Ó Corcoráin", + "Ó Corlaigh", + "Ó Cormacáin", + "Ó Cormaic", + "Ó Corra", + "Ó Corracháin", + "Ó Corradáin", + "Ó Corragáin", + "Ó Corraidh", + "Ó Corraidhin", + "Ó Corraigh", + "Ó Corrdhuibh", + "Ó Corrghamhna", + "Ó Corráin", + "Ó Coscair", + "Ó Cosgair", + "Ó Costagáin", + "Ó Cosáin", + "Ó Craidheáin", + "Ó Craith", + "Ó Craobháin", + "Ó Creag", + "Ó Creagáin", + "Ó Creimín", + "Ó Criagáin", + "Ó Crimín", + "Ó Criomhthain", + "Ó Criostóir", + "Ó Criostúir", + "Ó Croidheáin", + "Ó Croithín", + "Ó Crotaigh", + "Ó Cruacháin", + "Ó Cruadhlaoich", + "Ó Crucháin", + "Ó Crábháin", + "Ó Cráibhín", + "Ó Créagáin", + "Ó Críodáin", + "Ó Críogáin", + "Ó Críonáin", + "Ó Cródhal", + "Ó Cróinín", + "Ó Crónallaigh", + "Ó Crónghaile", + "Ó Cuacach", + "Ó Cuagáin", + "Ó Cualáin", + "Ó Cuana", + "Ó Cuanacháin", + "Ó Cuanaigh", + "Ó Cuanna", + "Ó Cuannaigh", + "Ó Cuanáin", + "Ó Cuarnáin", + "Ó Cuideagáin", + "Ó Cuideagánaigh", + "Ó Cuidithe", + "Ó Cuigeannaigh", + "Ó Cuileamhain", + "Ó Cuileannáin", + "Ó Cuileanáin", + "Ó Cuilinn", + "Ó Cuill", + "Ó Cuilleáin", + "Ó Cuilliudha", + "Ó Cuilliú", + "Ó Cuilín", + "Ó Cuimilín", + "Ó Cuimín", + "Ó Cuineáin", + "Ó Cuinn", + "Ó Cuinneacháin", + "Ó Cuinneagáin", + "Ó Cuinneáin", + "Ó Cuinnleáin", + "Ó Cuinnéir", + "Ó Cuirc", + "Ó Cuireáin", + "Ó Cuirleáin", + "Ó Cuirreáin", + "Ó Cuirrín", + "Ó Cuirtéir", + "Ó Cullaigh", + "Ó Cumhail", + "Ó Cumhaill", + "Ó Cunnaidh", + "Ó Curraidh", + "Ó Curraidhin", + "Ó Curraoin", + "Ó Curráin", + "Ó Cádáin", + "Ó Cápa", + "Ó Cárthaigh", + "Ó Céadagáin", + "Ó Céadaigh", + "Ó Céide", + "Ó Céidigh", + "Ó Céileachair", + "Ó Céilleachair", + "Ó Céirín", + "Ó Céitig", + "Ó Céitinn", + "Ó Céitín", + "Ó Cérúcáin", + "Ó Cíobháin", + "Ó Cíobhánaigh", + "Ó Cíoráin", + "Ó Cíosóig", + "Ó Círríc", + "Ó Cógáin", + "Ó Cómair", + "Ó Córrain", + "Ó Cúirnín", + "Ó Cúise", + "Ó Cúlacháin", + "Ó Cúláin", + "Ó Cúndúin", + "Ó Cúnúin", + "Ó Cúrnáin", + "Ó Dabhoireann", + "Ó Dabhráin", + "Ó Dabháin", + "Ó Daeid", + "Ó Daghnáin", + "Ó Daibhidh", + "Ó Daibhín", + "Ó Daimhín", + "Ó Danachair", + "Ó Daochain", + "Ó Daoda", + "Ó Daola", + "Ó Dargáin", + "Ó Deagánaigh", + "Ó Deargáin", + "Ó Dearmada", + "Ó Dearáin", + "Ó Deasmhumhna", + "Ó Deirg", + "Ó Deoraidhin", + "Ó Deoráin", + "Ó Deágha", + "Ó Deághdha", + "Ó Diarmada", + "Ó Dighe", + "Ó Diolain", + "Ó Dioláin", + "Ó Diolúin", + "Ó Dioráin", + "Ó Diothchain", + "Ó Diothcháin", + "Ó Direáin", + "Ó Dochartaigh", + "Ó Doghair", + "Ó Doibhilin", + "Ó Doighre", + "Ó Doirnín", + "Ó Dolainn", + "Ó Domhnaill", + "Ó Domhnalláin", + "Ó Donaoile", + "Ó Donchadha", + "Ó Donchú", + "Ó Donghaile", + "Ó Donnabháin", + "Ó Donnacha", + "Ó Donnagáin", + "Ó Donncha", + "Ó Donnchadha", + "Ó Donnchaidh", + "Ó Donnchú", + "Ó Donndhubhartaigh", + "Ó Donndubhartaigh", + "Ó Donnghaile", + "Ó Donnghusa", + "Ó Donnáin", + "Ó Doraí", + "Ó Dorchaidh", + "Ó Dorchaidhe", + "Ó Dorchaigh", + "Ó Dorcháin", + "Ó Dordáin", + "Ó Drisceoil", + "Ó Droighneáin", + "Ó Droma", + "Ó Druacháin", + "Ó Dríscín", + "Ó Drócháin", + "Ó Dróna", + "Ó Drónaidhe", + "Ó Duarcáin", + "Ó Dubha", + "Ó Dubhabhoireann", + "Ó Dubhagáin", + "Ó Dubhaigh", + "Ó Dubhartaigh", + "Ó Dubhchain", + "Ó Dubhda", + "Ó Dubhdháin", + "Ó Dubhdábhoireann", + "Ó Dubhghaill", + "Ó Dubhgáin", + "Ó Dubhlaigh", + "Ó Dubhlainn", + "Ó Dubhlaoich", + "Ó Dubhluachra", + "Ó Dubhláin", + "Ó Dubhshláine", + "Ó Dubhthaigh", + "Ó Dubhthaigh recte Dooly", + "Ó Dubhuidhe", + "Ó Dubháin", + "Ó Duibhealla", + "Ó Duibheannaigh", + "Ó Duibhfhinn", + "Ó Duibhgeadáin", + "Ó Duibhgeannaigh", + "Ó Duibhgeannáin", + "Ó Duibhghealla", + "Ó Duibhghiolla", + "Ó Duibhginn", + "Ó Duibhir", + "Ó Duibhleanna", + "Ó Duibhlearga", + "Ó Duibhne", + "Ó Duibhthe", + "Ó Duibhín", + "Ó Duibhínn", + "Ó Duigeannaigh", + "Ó Duigneáin", + "Ó Duilearga", + "Ó Duilleáin", + "Ó Duineacha", + "Ó Duinn", + "Ó Duinneacha", + "Ó Duinneacháin", + "Ó Duinnléi", + "Ó Duinnshlé", + "Ó Duinnshléibhe", + "Ó Duinnín", + "Ó Duirnín", + "Ó Duithche", + "Ó Dulchaointigh", + "Ó Duncáin", + "Ó Dunshléibhe", + "Ó Dáibhidh", + "Ó Dáibhis", + "Ó Dála", + "Ó Dálaigh", + "Ó Déadaigh", + "Ó Déid", + "Ó Déide", + "Ó Déisigh", + "Ó Díghe", + "Ó Díochon", + "Ó Díocháin", + "Ó Díomasaigh", + "Ó Díscín", + "Ó Dóláin", + "Ó Dúda", + "Ó Dúgáin", + "Ó Dúlaigh", + "Ó Dúnadhaighe", + "Ó Dúnaighe", + "Ó Dúnaí", + "Ó Dúnlaing", + "Ó Dúnláing", + "Ó Dúnáin", + "Ó Dúnúrta", + "Ó Dúraí", + "Ó Dúrcháin", + "Ó Dúrcáin", + "Ó Fachtna", + "Ó Faircheallaigh", + "Ó Faith", + "Ó Fallamháin", + "Ó Faodhagáin", + "Ó Faoláin", + "Ó Faranáin", + "Ó Fatha", + "Ó Fathaigh", + "Ó Fatharta", + "Ó Fathartaigh", + "Ó Fearachair", + "Ó Fearacháin", + "Ó Fearadhaigh", + "Ó Fearchair", + "Ó Feardhaigh", + "Ó Fearghail", + "Ó Fearghaile", + "Ó Fearghaíosa", + "Ó Fearghusa", + "Ó Fearraidhe", + "Ó Fearraigh", + "Ó Fearraí", + "Ó Fearáin", + "Ó Feithín", + "Ó Fiacha", + "Ó Fiachna", + "Ó Fiachra", + "Ó Fiacháin", + "Ó Fiaich", + "Ó Fiannachta", + "Ó Fiannachtaigh", + "Ó Fiannaidh", + "Ó Fiannaidhe", + "Ó Fiannaigh", + "Ó Figheadóra", + "Ó Filbín", + "Ó Finn", + "Ó Finneachta", + "Ó Finneadha", + "Ó Finnthighearn", + "Ó Fiodhabhra", + "Ó Fionnachta", + "Ó Fionnachtaigh", + "Ó Fionnagáin", + "Ó Fionnalláin", + "Ó Fionndhubhcáin", + "Ó Fionnghaile", + "Ó Fionnghalaigh", + "Ó Fionnghusa", + "Ó Fionnlaoich", + "Ó Fionnmhacáin", + "Ó Fionntáin", + "Ó Fionnáin", + "Ó Fithchealla", + "Ó Fithcheallaigh", + "Ó Flabháin", + "Ó Flaithbhearta", + "Ó Flaithbheartaigh", + "Ó Flaitheamháin", + "Ó Flaithearta", + "Ó Flaithimh", + "Ó Flaithimhín", + "Ó Flaitile", + "Ó Flanagáin", + "Ó Flannabhra", + "Ó Flannagáin", + "Ó Flannchadha", + "Ó Flannghaile", + "Ó Flathamháin", + "Ó Flatharta", + "Ó Flathartaigh", + "Ó Floinn", + "Ó Flárta", + "Ó Fodhladha", + "Ó Foghludha", + "Ó Foghlú", + "Ó Foghlúdha", + "Ó Frainclín", + "Ó Frighil", + "Ó Frithile", + "Ó Fuada", + "Ó Fuadacháin", + "Ó Fuallaigh", + "Ó Fualáin", + "Ó Fuartháin", + "Ó Fuaruisce", + "Ó Fuaráin", + "Ó Fágáin", + "Ó Fáilbhe", + "Ó Fárta", + "Ó Fátharta", + "Ó Féichín", + "Ó Féinneadha", + "Ó Féith", + "Ó Fíona", + "Ó Fíonartaigh", + "Ó Fógarta", + "Ó Fógartaigh", + "Ó Fóghladha", + "Ó Fóráin", + "Ó Fúraigh", + "Ó Gabhacháin", + "Ó Gabhann", + "Ó Gabhláin", + "Ó Gabháin", + "Ó Gacháin", + "Ó Gadhra", + "Ó Gaibhre", + "Ó Gaibhtheacháin", + "Ó Gailliúin", + "Ó Gaillín", + "Ó Gairbhia", + "Ó Gairbhighe", + "Ó Gairbhín", + "Ó Gallchobhair", + "Ó Gallchóir", + "Ó Galláin", + "Ó Galáin", + "Ó Gamhna", + "Ó Gamhnáin", + "Ó Gaoithín", + "Ó Gaora", + "Ó Garbháin", + "Ó Gatháin", + "Ó Gealabháin", + "Ó Gealagáin", + "Ó Gealbháin", + "Ó Geannáin", + "Ó Geanáin", + "Ó Gearabháin", + "Ó Geargáin", + "Ó Gibne", + "Ó Gilliúin", + "Ó Gillín", + "Ó Ginneá", + "Ó Gioballáin", + "Ó Giobaláin", + "Ó Giobláin", + "Ó Giobúin", + "Ó Giolla Rua", + "Ó Giollagáin", + "Ó Giollaruaidhe", + "Ó Giolláin", + "Ó Gionnáin", + "Ó Gionáin", + "Ó Glaisne", + "Ó Glasáin", + "Ó Gleannáin", + "Ó Gliasáin", + "Ó Glionnáin", + "Ó Gloinn", + "Ó Gloinne", + "Ó Gláibhín", + "Ó Gláimhín", + "Ó Gnímh", + "Ó Gobhann", + "Ó Gobáin", + "Ó Gogáin", + "Ó Goibín", + "Ó Goillidhe", + "Ó Goilín", + "Ó Goireachtaigh", + "Ó Golláin", + "Ó Gormáin", + "Ó Graith", + "Ó Grallaigh", + "Ó Gramhna", + "Ó Greadaigh", + "Ó Grealaigh", + "Ó Greanacháin", + "Ó Grialais", + "Ó Griallais", + "Ó Grianna", + "Ó Grianáin", + "Ó Grifín", + "Ó Gruagáin", + "Ó Gráda", + "Ó Grádaigh", + "Ó Gráinne", + "Ó Grálaigh", + "Ó Grállaigh", + "Ó Gréacháin", + "Ó Gréil", + "Ó Gréill", + "Ó Gríbhthín", + "Ó Grífín", + "Ó Gríobhtha", + "Ó Gríobhtháin", + "Ó Gríofa", + "Ó Gríofha", + "Ó Guaire", + "Ó Guairim", + "Ó Guillí", + "Ó Guithín", + "Ó Gábháin", + "Ó Gáibhtheacháin", + "Ó Gáibhín", + "Ó Gáineard", + "Ó Gánaird", + "Ó Géaráin", + "Ó Géibheannaigh", + "Ó Géibhinn", + "Ó Gíontaigh", + "Ó Gúnáin", + "Ó Hadhlairt", + "Ó Hadhra", + "Ó Haibheartaigh", + "Ó Haichir", + "Ó Haicéad", + "Ó Haidhleart", + "Ó Hailgheanáin", + "Ó Hailgheasa", + "Ó Hailpín", + "Ó Hailín", + "Ó Haimhirgín", + "Ó Hainchín", + "Ó Hainifín", + "Ó Hainion", + "Ó Hainligh", + "Ó Hainmhireach", + "Ó Hainmneach", + "Ó Hainthín", + "Ó Hainín", + "Ó Hairbheasaigh", + "Ó Hairmeasaigh", + "Ó Hairmheasaigh", + "Ó Hairt", + "Ó Hairtnéada", + "Ó Haiseadha", + "Ó Haithbheartaigh", + "Ó Haithchir", + "Ó Haitheasa", + "Ó Hallacháin", + "Ó Hallmhúráin", + "Ó Halmhain", + "Ó Hanluain", + "Ó Hannagáin", + "Ó Hannaidh", + "Ó Hannlaoigh", + "Ó Hannracháin", + "Ó Hannraoi", + "Ó Hanrachtaigh", + "Ó Hanraoi", + "Ó Haodha", + "Ó Haodhgáin", + "Ó Haogáin", + "Ó Haoidhne", + "Ó Haoilbheard", + "Ó Haoileáin", + "Ó Haolláin", + "Ó Haoláin", + "Ó Haonghuis", + "Ó Haonghusa", + "Ó Harcáin", + "Ó Hargadáin", + "Ó Hargáin", + "Ó Harrachtáin", + "Ó Harragáin", + "Ó Harta", + "Ó Hartagáin", + "Ó Heachadha", + "Ó Heachthigheirn", + "Ó Headhra", + "Ó Heaghra", + "Ó Heaghráin", + "Ó Heallaigh", + "Ó Hearbhaird", + "Ó Hearbhard", + "Ó Hearcáin", + "Ó Hearghail", + "Ó Hearghaile", + "Ó Hearnáin", + "Ó Hearráin", + "Ó Hearáin", + "Ó Heibhrín", + "Ó Heichthigheirn", + "Ó Heideagáin", + "Ó Heidhin", + "Ó Heifearnáin", + "Ó Heifrín", + "Ó Heigheartaigh", + "Ó Heilíre", + "Ó Heimhrín", + "Ó Heireamhóin", + "Ó Heislin", + "Ó Heiteagáin", + "Ó Heithchir", + "Ó Heithir", + "Ó Helaoire", + "Ó Heochach", + "Ó Heochadha", + "Ó Heochaidh", + "Ó Heodhasa", + "Ó Heodhusa", + "Ó Heoghain", + "Ó Heoghanáin", + "Ó Hiarfhlaithe", + "Ó Hiarfhlatha", + "Ó Hiarnáin", + "Ó Hiceadha", + "Ó Hicidhe", + "Ó Hicí", + "Ó Hicín", + "Ó Hicóg", + "Ó Hifearnáin", + "Ó Highne", + "Ó Hinneirghe", + "Ó Hinnéirghe", + "Ó Hinéirigh", + "Ó Hinéirí", + "Ó Hiocóg", + "Ó Hiolláin", + "Ó Hioláin", + "Ó Hionnghaile", + "Ó Hiorbhaird", + "Ó Hiorbhard", + "Ó Hodhráin", + "Ó Hoibicín", + "Ó Hoirbheaird", + "Ó Hoirbheard", + "Ó Hoirchinnigh", + "Ó Hoireabaird", + "Ó Hoireabhaird", + "Ó Hoireabhard", + "Ó Hoireachtaigh", + "Ó Hoiscín", + "Ó Hoistín", + "Ó Hoisín", + "Ó Hollaráin", + "Ó Holláin", + "Ó Hollúin", + "Ó Horcáin", + "Ó Horgáin", + "Ó Houracháin", + "Ó Huaillearan", + "Ó Huaithne", + "Ó Huaithnín", + "Ó Hualla", + "Ó Huallacháin", + "Ó Huallaigh", + "Ó Huidhir", + "Ó Huiginn", + "Ó Huigín", + "Ó Huirthille", + "Ó Huiscín", + "Ó Huitseacháin", + "Ó Hulláin", + "Ó Hurdail", + "Ó Hurmholtaigh", + "Ó Hurthuile", + "Ó Hágáin", + "Ó Hágúrtaigh", + "Ó Háilíosa", + "Ó Háinle", + "Ó Háinlí", + "Ó Hánusaigh", + "Ó Hárlaigh", + "Ó Héadtromáin", + "Ó Héaghráin", + "Ó Héalaigh", + "Ó Héalaithe", + "Ó Héamhthaigh", + "Ó Héanacháin", + "Ó Héanagáin", + "Ó Héanaigh", + "Ó Héideáin", + "Ó Héigcheartaigh", + "Ó Héigearta", + "Ó Héigeartaigh", + "Ó Héigheartaigh", + "Ó Héighne", + "Ó Héighnigh", + "Ó Héighniú", + "Ó Héilidhe", + "Ó Héiligh", + "Ó Héilí", + "Ó Héimhthigh", + "Ó Héimhín", + "Ó Héineacháin", + "Ó Héinrí", + "Ó Héiní", + "Ó Hénrí", + "Ó Hícín", + "Ó Híghne", + "Ó Híomhair", + "Ó Hóbáin", + "Ó Hódhra", + "Ó Hódhráin", + "Ó Hóghartaigh", + "Ó Hógáin", + "Ó Hóráin", + "Ó Húbáin", + "Ó Húrdail", + "Ó Labhra", + "Ó Labhradha", + "Ó Labhrú", + "Ó Lachnáin", + "Ó Lachtnáin", + "Ó Ladhradha", + "Ó Laideáin", + "Ó Laidhe", + "Ó Laidhigh", + "Ó Laidhin", + "Ó Laighin", + "Ó Laighnigh", + "Ó Lailligh", + "Ó Lailliú", + "Ó Laimhbheartaigh", + "Ó Lainn", + "Ó Laithbheartaigh", + "Ó Laithimh", + "Ó Laithmhe", + "Ó Lallaidh", + "Ó Lallaigh", + "Ó Lamhna", + "Ó Lanagáin", + "Ó Laochdha", + "Ó Laodhóg", + "Ó Laoghaire", + "Ó Laoghóg", + "Ó Laoi", + "Ó Laoidh", + "Ó Laoidhe", + "Ó Laoidhigh", + "Ó Laoingsigh", + "Ó Laoithe", + "Ó Lapáin", + "Ó Larcáin", + "Ó Leallaigh", + "Ó Leamhna", + "Ó Leannáin", + "Ó Leathaigh", + "Ó Leathlobhair", + "Ó Leidhin", + "Ó Leidhinn", + "Ó Leighin", + "Ó Leighinn", + "Ó Liadhain", + "Ó Liaghain", + "Ó Liain", + "Ó Liathaigh", + "Ó Liatháin", + "Ó Lideadha", + "Ó Lighe", + "Ó Liodáin", + "Ó Lionacháin", + "Ó Lionnáin", + "Ó Lochlainn", + "Ó Lochnáin", + "Ó Lochráin", + "Ó Lochtnáin", + "Ó Loideáin", + "Ó Loididh", + "Ó Loineacháin", + "Ó Loingscigh", + "Ó Loingse", + "Ó Loingseacháin", + "Ó Loingsigh", + "Ó Loinn", + "Ó Loinne", + "Ó Loinnigh", + "Ó Loinnsge", + "Ó Loinnsgigh", + "Ó Loirgneáin", + "Ó Lomgaigh", + "Ó Lonagáin", + "Ó Lonargáin", + "Ó Londáin", + "Ó Longaigh", + "Ó Longáin", + "Ó Lonnáin", + "Ó Lonáin", + "Ó Lorcáin", + "Ó Luachra", + "Ó Luag", + "Ó Luain", + "Ó Luaire", + "Ó Luanaigh", + "Ó Luasa", + "Ó Luasaigh", + "Ó Lubhaing", + "Ó Ludhóg", + "Ó Luineacháin", + "Ó Luinigh", + "Ó Lunaigh", + "Ó Lupáin", + "Ó Lurgáin", + "Ó Láimhín", + "Ó Lámháin", + "Ó Lás", + "Ó Lása", + "Ó Léanacháin", + "Ó Léineacháin", + "Ó Líonacháin", + "Ó Líthe", + "Ó Lócháin", + "Ó Lógáin", + "Ó Lónáin", + "Ó Lórdáin", + "Ó Lúbhaing", + "Ó Lúbhóg", + "Ó Lúing", + "Ó Lúóg", + "Ó Macasa", + "Ó Macháin", + "Ó Madadháin", + "Ó Madagáin", + "Ó Madaidh", + "Ó Madaidhe", + "Ó Madaidhin", + "Ó Madaoin", + "Ó Madáin", + "Ó Magáin", + "Ó Maicín", + "Ó Maidín", + "Ó Maille", + "Ó Mainchín", + "Ó Maine", + "Ó Maingín", + "Ó Mainichín", + "Ó Mainnín", + "Ó Mainín", + "Ó Maithnín", + "Ó Malóid", + "Ó Manacháin", + "Ó Manntáin", + "Ó Mantáin", + "Ó Maoil Aodha", + "Ó Maoil Eoin", + "Ó Maoil Mheana", + "Ó Maoilchiaráin", + "Ó Maoilchéir", + "Ó Maoilchéire", + "Ó Maoilcéir", + "Ó Maoildhia", + "Ó Maoileacháin", + "Ó Maoileagáin", + "Ó Maoileala", + "Ó Maoileanaigh", + "Ó Maoilearca", + "Ó Maoileoghain", + "Ó Maoileoin", + "Ó Maoileáin", + "Ó Maoilfheabhail", + "Ó Maoilia", + "Ó Maoiliadh", + "Ó Maoiligeáin", + "Ó Maoilmhiadhaigh", + "Ó Maoilmhichíl", + "Ó Maoilmhín", + "Ó Maoilriain", + "Ó Maoilshearcaigh", + "Ó Maoiléadaigh", + "Ó Maoiléide", + "Ó Maoilín", + "Ó Maoineacháin", + "Ó Maoinigh", + "Ó Maoir", + "Ó Maol Aodha", + "Ó Maolagáin", + "Ó Maolalaidh", + "Ó Maolalaigh", + "Ó Maolalla", + "Ó Maolallaidh", + "Ó Maolallaigh", + "Ó Maolchaoine", + "Ó Maolchatha", + "Ó Maolchathaigh", + "Ó Maolchraoibhe", + "Ó Maoldhomhnaigh", + "Ó Maoldomhnaigh", + "Ó Maoldúin", + "Ó Maolfhabhail", + "Ó Maolfhachtna", + "Ó Maolfhábhail", + "Ó Maolfhábhaill", + "Ó Maolghuala", + "Ó Maolmhochóirghe", + "Ó Maolmhuaidh", + "Ó Maolmhudhóg", + "Ó Maolmhuire", + "Ó Maolmuaidh", + "Ó Maolriagháin", + "Ó Maolriain", + "Ó Maolruaidh", + "Ó Maolruaidhe", + "Ó Maolruana", + "Ó Maolruanaigh", + "Ó Maolruanaí", + "Ó Maoltuile", + "Ó Maoláin", + "Ó Maonaigh", + "Ó Maonghaile", + "Ó Maothagáin", + "Ó Maranáin", + "Ó Marcacháin", + "Ó Marcaigh", + "Ó Marnáin", + "Ó Martain", + "Ó Mathghamhna", + "Ó Mathúna", + "Ó Meachair", + "Ó Meadhra", + "Ó Meadhraí", + "Ó Meadóg", + "Ó Mealláin", + "Ó Meardha", + "Ó Mearlaigh", + "Ó Mearáin", + "Ó Meidhir", + "Ó Meirligh", + "Ó Meirnigh", + "Ó Meiscill", + "Ó Meitheagáin", + "Ó Meádhra", + "Ó Meádhraí", + "Ó Meára", + "Ó Meáraidh", + "Ó Meáraí", + "Ó Miadha", + "Ó Miadhacháin", + "Ó Miadhaigh", + "Ó Mianaigh", + "Ó Mianáin", + "Ó Milléadha", + "Ó Miléadha", + "Ó Mionacháin", + "Ó Mocháin", + "Ó Mochóirghe", + "Ó Mochóraigh", + "Ó Modhráin", + "Ó Moghráin", + "Ó Mogáin", + "Ó Moidhe", + "Ó Moinéal", + "Ó Moithide", + "Ó Molraoghain", + "Ó Monacháin", + "Ó Monghaile", + "Ó Mongáin", + "Ó Moráin", + "Ó Mothair", + "Ó Motháin", + "Ó Mraoiligh", + "Ó Muadaigh", + "Ó Muaráin", + "Ó Mugabháin", + "Ó Mugáin", + "Ó Muichille", + "Ó Muighe", + "Ó Muilcín", + "Ó Muilleagáin", + "Ó Muilligh", + "Ó Muimhneacháin", + "Ó Muimhnigh", + "Ó Muineacháin", + "Ó Muineóg", + "Ó Muinghíle", + "Ó Muinilligh", + "Ó Muinneacháin", + "Ó Muinníle", + "Ó Muircheartaigh", + "Ó Muireadhaigh", + "Ó Muireagáin", + "Ó Muireann", + "Ó Muireáin", + "Ó Muireán", + "Ó Muirgeáin", + "Ó Muirgheasa", + "Ó Muirgheasáin", + "Ó Muirighthe", + "Ó Muirithe", + "Ó Muirneacháin", + "Ó Muirthile", + "Ó Muirthín", + "Ó Mullala", + "Ó Mulláin", + "Ó Muláin", + "Ó Muracháin", + "Ó Murachú", + "Ó Murae", + "Ó Muraoile", + "Ó Murchadha", + "Ó Murchaidhe", + "Ó Murcháin", + "Ó Murchú", + "Ó Murghaile", + "Ó Murnáin", + "Ó Murraigh", + "Ó Murthuile", + "Ó Máille", + "Ó Máirtín", + "Ó Málóid", + "Ó Máthúna", + "Ó Méalóid", + "Ó Méalóide", + "Ó Mídhia", + "Ó Míléada", + "Ó Míocháin", + "Ó Míodhacháin", + "Ó Míodhcháin", + "Ó Míonáin", + "Ó Móiníol", + "Ó Móirín", + "Ó Móracháin", + "Ó Mórdha", + "Ó Móráin", + "Ó Múrnáin", + "Ó Naoidheanáin", + "Ó Neabhail", + "Ó Neachtain", + "Ó Nearaigh", + "Ó Nia", + "Ó Niadh", + "Ó Niaidh", + "Ó Niallagáin", + "Ó Niallghuis", + "Ó Nialláin", + "Ó Nianáin", + "Ó Niatháin", + "Ó Nuadhain", + "Ó Nuadhan", + "Ó Nualláin", + "Ó Nuanáin", + "Ó Nádhraigh", + "Ó Náradhaigh", + "Ó Náraigh", + "Ó Néill", + "Ó Núin", + "Ó Núnáin", + "Ó Partlainn", + "Ó Peatáin", + "Ó Pilbín", + "Ó Piotáin", + "Ó Praoidheáil", + "Ó Priongalóid", + "Ó Rabhartaigh", + "Ó Rabhlaigh", + "Ó Rachtagáin", + "Ó Raghaill", + "Ó Raghaille", + "Ó Raghallaigh", + "Ó Raifearta", + "Ó Raifteirí", + "Ó Raighill", + "Ó Raighilligh", + "Ó Raighle", + "Ó Raighne", + "Ó Raigne", + "Ó Raithbheartaigh", + "Ó Raithile", + "Ó Rallaigh", + "Ó Rathaile", + "Ó Rathallaigh", + "Ó Reachtabhair", + "Ó Reachtabhra", + "Ó Reachtagáin", + "Ó Reachtair", + "Ó Reachtaire", + "Ó Reachtar", + "Ó Reachtúire", + "Ó Reannacháin", + "Ó Reithil", + "Ó Riabhaigh", + "Ó Riada", + "Ó Riagáin", + "Ó Riain", + "Ó Riallaigh", + "Ó Riardáin", + "Ó Rinn", + "Ó Riolláin", + "Ó Robhacháin", + "Ó Robhartaigh", + "Ó Rodacháin", + "Ó Rodaigh", + "Ó Rodaí", + "Ó Rodáin", + "Ó Roithleáin", + "Ó Rothallaigh", + "Ó Rothlainn", + "Ó Ruacháin", + "Ó Ruadhainn", + "Ó Ruadhcháin", + "Ó Ruadháin", + "Ó Ruaidhe", + "Ó Ruaidhinn", + "Ó Ruaidhrí", + "Ó Ruaidhín", + "Ó Ruairc", + "Ó Ruanadha", + "Ó Ruanaidhe", + "Ó Ruanaí", + "Ó Ruanáin", + "Ó Rudaigh", + "Ó Rághaill", + "Ó Ráighle", + "Ó Ráighne", + "Ó Ráinne", + "Ó Ránaigh", + "Ó Réagáin", + "Ó Ríle", + "Ó Ríoghbhardáin", + "Ó Ríogáin", + "Ó Ríordáin", + "Ó Rócháin", + "Ó Róláin", + "Ó Rónáin", + "Ó Rúnaidhe", + "Ó Rúnú", + "Ó Rúáin", + "Ó Saoraidhe", + "Ó Scalaidhe", + "Ó Scalaighe", + "Ó Scallaigh", + "Ó Scanaill", + "Ó Scanláin", + "Ó Scannail", + "Ó Scannaill", + "Ó Scannláin", + "Ó Scealláin", + "Ó Scolaidhe", + "Ó Scolaighe", + "Ó Scolaí", + "Ó Scollaigh", + "Ó Scolláin", + "Ó Scéacháin", + "Ó Seachnasaigh", + "Ó Seanacháin", + "Ó Seanaigh", + "Ó Seanainn", + "Ó Seanáin", + "Ó Searcaigh", + "Ó Searraigh", + "Ó Seasnáin", + "Ó Seibhleáin", + "Ó Seibhlin", + "Ó Seibhlín", + "Ó Seighin", + "Ó Seireadáin", + "Ó Seitheacháin", + "Ó Seithneacháin", + "Ó Seochfhradha", + "Ó Seochrú", + "Ó Sgulla", + "Ó Siadhacháin", + "Ó Siadhail", + "Ó Siaghail", + "Ó Siardáin", + "Ó Sibhleáin", + "Ó Sidheáil", + "Ó Simeoin", + "Ó Siochfhradha", + "Ó Siochrú", + "Ó Sionacháin", + "Ó Sionnaigh", + "Ó Sionáin", + "Ó Sioradáin", + "Ó Sith", + "Ó Siúrdáin", + "Ó Slatara", + "Ó Sluaghdháin", + "Ó Slámáin", + "Ó Sléibhín", + "Ó Smealáin", + "Ó Smoláin", + "Ó Somacháin", + "Ó Sosnáin", + "Ó Spealáin", + "Ó Spiolláin", + "Ó Spioláin", + "Ó Spoláin", + "Ó Stiofáin", + "Ó Suibhne", + "Ó Sé", + "Ó Séagha", + "Ó Síocháin", + "Ó Síoda", + "Ó Síomóin", + "Ó Síoráin", + "Ó Síothcháin", + "Ó Sírín", + "Ó Síthigh", + "Ó Síththe", + "Ó Súilleabháin", + "Ó Súilliobháin", + "Ó Taichligh", + "Ó Taidhg", + "Ó Tarlaigh", + "Ó Tarpaigh", + "Ó Teangana", + "Ó Teangnaí", + "Ó Teimhneáin", + "Ó Tiarnaigh", + "Ó Tiarnáin", + "Ó Tighearna", + "Ó Tighearnaigh", + "Ó Tighearnáin", + "Ó Tiobraide", + "Ó Tiomanaidh", + "Ó Tiomanaigh", + "Ó Tiománaidhe", + "Ó Tiománaí", + "Ó Toirbhealaigh", + "Ó Tolain", + "Ó Tomhnair", + "Ó Tomáis", + "Ó Tonra", + "Ó Tormaigh", + "Ó Traoin", + "Ó Treabhair", + "Ó Treasa", + "Ó Treasaigh", + "Ó Treasaí", + "Ó Triall", + "Ó Tréinfhear", + "Ó Tuachair", + "Ó Tuairisc", + "Ó Tuairisg", + "Ó Tuama", + "Ó Tuamáin", + "Ó Tuaraisce", + "Ó Tuaruisce", + "Ó Tuataigh", + "Ó Tuathaigh", + "Ó Tuathail", + "Ó Tuathaill", + "Ó Tuathaláin", + "Ó Tuathalín", + "Ó Tuathlainn", + "Ó Tuile", + "Ó Tuimlin", + "Ó Turraoin", + "Ó Téacháin", + "Ó Téidheacháin", + "Ó Tóláin", + "Ó Tórpaigh", + "Ó hAithchir", + "Ó hAlmhain", + "Ó hAnáin", + "Ó hAoidhgin", + "Ó hAonacháin", + "Ó hEachairn", + "Ó hEagáin", + "Ó hEanna", + "Ó hEarchaidh", + "Ó hEarchú", + "Ó hIfearnáin", + "Ó hOileáin", + "Ó hÉadhnú", + "Ó hÉalaí", + "Ó hÉaluighthe", + "Ó hÉidhniú", + "Ó hÉidhní", + "Ó hÉimhigh", + "Ó hÉinniú", + "Ó Ánusaigh", + "ÓBroinín", + ) + + prefixes_female = ("Mrs.", "Ms.", "Miss", "Dr.") + prefixes_male = ("Mr.", "Dr.") diff --git a/faker/providers/person/he_IL/__init__.py b/faker/providers/person/he_IL/__init__.py index de5356c990..ed00bd884d 100644 --- a/faker/providers/person/he_IL/__init__.py +++ b/faker/providers/person/he_IL/__init__.py @@ -4,18 +4,21 @@ class Provider(PersonProvider): - formats_female = OrderedDict(( - ('{{first_name_female}} {{last_name}}', 0.9), - ('{{first_name_female}} {{last_name}}-{{last_name}}', 0.06), - ('{{first_name_female}} {{first_name_female}} {{last_name}}', 0.04), + formats_female = OrderedDict( + ( + ("{{first_name_female}} {{last_name}}", 0.9), + ("{{first_name_female}} {{last_name}}-{{last_name}}", 0.06), + ("{{first_name_female}} {{first_name_female}} {{last_name}}", 0.04), + ) + ) - )) - - formats_male = OrderedDict(( - ('{{first_name_male}} {{last_name}}', 0.95), - ('{{first_name_male}} {{last_name}}-{{last_name}}', 0.025), - ('{{first_name_male}} {{first_name_male}} {{last_name}}', 0.025), - )) + formats_male = OrderedDict( + ( + ("{{first_name_male}} {{last_name}}", 0.95), + ("{{first_name_male}} {{last_name}}-{{last_name}}", 0.025), + ("{{first_name_male}} {{first_name_male}} {{last_name}}", 0.025), + ) + ) # Using random_element's dictionary weighting means that the # formats = formats_male + formats_female @@ -27,1250 +30,1471 @@ class Provider(PersonProvider): # Top names given in Israel in 2015 # http://www.cbs.gov.il/reader/newhodaot/tables_template.html?hodaa=201611401 - first_names_female = OrderedDict(( - ("אביב", 0.002782860042127), - ("אביגיל", 0.017542780707554), - ("אביה", 0.00339785673652), - ("אביטל", 0.002644485785889), - ("אבישג", 0.005288971571778), - ("אגם", 0.0085330791347), - ("אדוה", 0.001030119463108), - ("אדל", 0.016512661244446), - ("אדר", 0.000968619793669), - ("אהובה", 0.000737996033271), - ("אודיה", 0.000799495702711), - ("אודל", 0.003059608554604), - ("אודליה", 0.000999369628388), - ("אווה", 0.00081487062007), - ("אופיר", 0.004535600621147), - ("אופל", 0.000568871942313), - ("אופק", 0.000476622438154), - ("אור", 0.004643225042665), - ("אוראל", 0.000538122107594), - ("אורה", 0.000784120785351), - ("אורטל", 0.000322873264556), - ("אורי", 0.004858473885703), - ("אוריאן", 0.002198613182454), - ("אוריה", 0.005688719423133), - ("אורין", 0.002890484463646), - ("אורן", 0.000461247520795), - ("אושר", 0.000737996033271), - ("אחינועם", 0.000999369628388), - ("איה", 0.001091619132547), - ("איה", 0.002936609215725), - ("איטה", 0.000538122107594), - ("איידל", 0.000307498347196), - ("איילה", 0.015959164219492), - ("איילת", 0.001506741901262), - ("איימי", 0.000676496363832), - ("אילין", 0.000153749173598), - ("אילין", 0.001921864669977), - ("אילת", 0.000461247520795), - ("אימאן", 0.001030119463108), - ("אלה", 0.009809197275565), - ("אלומה", 0.000445872603435), - ("אלונה", 0.002029489091496), - ("אלטע", 0.000415122768715), - ("אלי", 0.000799495702711), - ("אליאן", 0.0017219907443), - ("אליאנה", 0.000368998016636), - ("אליה", 0.004443351116988), - ("אלין", 0.000122999338879), - ("אלין", 0.000538122107594), - ("אלין", 0.003290232315001), - ("אלין", 0.003982103596193), - ("אלינור", 0.001030119463108), - ("אליס", 0.000430497686075), - ("אליסה", 0.000399747851355), - ("אליענה", 0.00081487062007), - ("אלישבע", 0.005319721406497), - ("אלכס", 0.00086099537215), - ("אלמא", 0.001106994049907), - ("אלמה", 0.0033671069018), - ("אלמוג", 0.00086099537215), - ("אמה", 0.007748958349349), - ("אמונה", 0.001199243554066), - ("אמור", 0.000322873264556), - ("אמי", 0.000538122107594), - ("אמילי", 0.000153749173598), - ("אמילי", 0.005873218431451), - ("אמיליה", 0.00084562045479), - ("אמל", 0.001967989422057), - ("אמלי", 0.000737996033271), - ("אן", 0.000661121446472), - ("אנאבל", 0.000522747190234), - ("אנאל", 0.00338248181916), - ("אנה", 0.001229993388786), - ("אסיל", 0.000169124090958), - ("אסיל", 0.002075613843576), - ("אסנת", 0.000322873264556), - ("אסתר", 0.010639442812995), - ("אפרת", 0.007041712150797), - ("ארבל", 0.002213988099814), - ("אריאל", 0.008287080456943), - ("בארי", 0.000322873264556), - ("ביאן", 0.001229993388786), - ("בילא", 0.000784120785351), - ("ביסאן", 0.002629110868529), - ("בלומה", 0.001030119463108), - ("בר", 0.002336987438693), - ("ברכה", 0.002613735951169), - ("בת", 0.001568241570702), - ("בתיה", 0.002290862686613), - ("בת שבע", 0.003259482480282), - ("גאיה", 0.006672714134162), - ("ג'ואל", 0.000138374256238), - ("ג'וד", 0.001076244215187), - ("ג'ויל", 0.000122999338879), - ("גולדה", 0.000707246198552), - ("ג'ולי", 0.000184499008318), - ("ג'ולין", 0.000138374256238), - ("גוני", 0.000368998016636), - ("ג'ורי", 0.000138374256238), - ("גורי", 0.00255223628173), - ("ג'ורי", 0.002598361033809), - ("גזל", 0.001752740579019), - ("גיטל", 0.001368367645024), - ("גיל", 0.000707246198552), - ("גילה", 0.000691871281192), - ("גילי", 0.003259482480282), - ("גל", 0.001537491735982), - ("גלי", 0.002967359050445), - ("גליה", 0.00084562045479), - ("ג'נא", 0.005688719423133), - ("גפן", 0.00424347719131), - ("דבורה", 0.00425885210867), - ("דור", 0.000430497686075), - ("דורון", 0.000722621115912), - ("דורין", 0.000384372933995), - ("דימא", 0.001337617810304), - ("דינה", 0.00084562045479), - ("דנה", 0.000753370950631), - ("דני", 0.000445872603435), - ("דניאל", 0.00427422702603), - ("דניאלה", 0.003213357728202), - ("דפנה", 0.000753370950631), - ("דרור", 0.000491997355514), - ("דריה", 0.001752740579019), - ("הדס", 0.004950723389862), - ("הדסה", 0.004643225042665), - ("הדר", 0.005596469918974), - ("הודיה", 0.009855322027644), - ("היילי", 0.000322873264556), - ("הילה", 0.007795083101428), - ("הילי", 0.002798234959487), - ("הינדא", 0.000584246859673), - ("הלל", 0.006349840869605), - ("הללי", 0.002029489091496), - ("הניה", 0.000338248181916), - ("הענא", 0.000384372933995), - ("זהבה", 0.000522747190234), - ("זואי", 0.001076244215187), - ("זוהר", 0.003028858719884), - ("זיו", 0.001645116157501), - ("זינב", 0.0017219907443), - ("זינה", 0.002998108885165), - ("חגית", 0.000322873264556), - ("חוה", 0.002090988760935), - ("חיה", 0.008948201903415), - ("חלא", 0.000261373595117), - ("חלא", 0.003305607232361), - ("חן", 0.001091619132547), - ("חנה", 0.011577312771944), - ("טובה", 0.001322242892944), - ("טוהר", 0.005473470580096), - ("טל", 0.001937239587337), - ("טלי", 0.000599621777033), - ("טליה", 0.016620285665965), - ("יארא", 0.000169124090958), - ("יהב", 0.001091619132547), - ("יהודית", 0.004966098307222), - ("יהל", 0.001337617810304), - ("יהלי", 0.005734844175213), - ("יובל", 0.009701572854046), - ("יוטא", 0.000538122107594), - ("יוכבד", 0.001276118140865), - ("יולי", 0.002429236942851), - ("ים", 0.000553497024953), - ("יסכה", 0.001491366983902), - ("יסמין", 0.000261373595117), - ("יסמין", 0.001076244215187), - ("יסמין", 0.003090358389324), - ("יעל", 0.015713165541735), - ("יעלה", 0.001291493058225), - ("יערה", 0.002890484463646), - ("יפה", 0.000691871281192), - ("ירדן", 0.004105102935072), - ("ירין", 0.000599621777033), - ("כליל", 0.000399747851355), - ("כנרת", 0.000368998016636), - ("כרמל", 0.002752110207408), - ("לאה", 0.005903968266171), - ("לארא", 0.000122999338879), - ("לוטם", 0.00084562045479), - ("לור", 0.000122999338879), - ("לורן", 0.001337617810304), - ("לי", 0.000691871281192), - ("ליאה", 0.000953244876309), - ("ליאור", 0.002921234298366), - ("ליאורה", 0.000538122107594), - ("ליאל", 0.004489475869067), - ("ליאם", 0.001475992066543), - ("ליאן", 0.000169124090958), - ("ליאן", 0.000384372933995), - ("ליאן", 0.004889223720423), - ("ליאן", 0.007010962316078), - ("ליב", 0.000322873264556), - ("ליבא", 0.00087637028951), - ("ליבי", 0.004520225703787), - ("ליה", 0.011285189342107), - ("ליהי", 0.00167586599222), - ("ליהיא", 0.001199243554066), - ("ליטל", 0.000445872603435), - ("לייה", 0.000907120124229), - ("לילי", 0.000983994711028), - ("לילך", 0.000476622438154), - ("לין", 0.000153749173598), - ("לין", 0.000384372933995), - ("לין", 0.000691871281192), - ("לין", 0.005427345828016), - ("לינוי", 0.002075613843576), - ("ליעד", 0.000368998016636), - ("לירון", 0.000799495702711), - ("לירז", 0.000553497024953), - ("לירי", 0.001076244215187), - ("למאר", 0.001491366983902), - ("לנא", 0.000138374256238), - ("לנא", 0.001245368306145), - ("לני", 0.001429867314463), - ("מאור", 0.00081487062007), - ("מאורי", 0.000353623099276), - ("מאי", 0.003459356405959), - ("מאיה", 0.000153749173598), - ("מאיה", 0.000245998677757), - ("מאיה", 0.017588905459633), - ("מור", 0.000522747190234), - ("מוריה", 0.00428960194339), - ("מיאל", 0.000599621777033), - ("מיאר", 0.001383742562384), - ("מיטל", 0.000430497686075), - ("מייה", 0.000676496363832), - ("מיכאלה", 0.0017219907443), - ("מיכל", 0.010870066573392), - ("מילא", 0.000169124090958), - ("מילא", 0.000322873264556), - ("מילה", 0.001245368306145), - ("מילי", 0.000522747190234), - ("מיקה", 0.004996848141941), - ("מירא", 0.000138374256238), - ("מירא", 0.00173736566166), - ("מיראל", 0.000184499008318), - ("מיראל", 0.000184499008318), - ("מיראל", 0.001506741901262), - ("מיריל", 0.000153749173598), - ("מישל", 0.000937869958949), - ("מיתר", 0.000676496363832), - ("מלאק", 0.000169124090958), - ("מלאק", 0.000169124090958), - ("מלאק", 0.003874479174674), - ("מלכה", 0.00513522239818), - ("מנוחה", 0.000415122768715), - ("מנור", 0.000645746529112), - ("מעיין", 0.006503590043204), - ("מרגלית", 0.000430497686075), - ("מריה", 0.000399747851355), - ("מריה", 0.001875739917898), - ("מרים", 0.000184499008318), - ("מרים", 0.007379960332713), - ("מרים", 0.009424824341569), - ("משי", 0.000707246198552), - ("נאוה", 0.000399747851355), - ("נאי", 0.000322873264556), - ("נאי", 0.001183868636706), - ("נאיא", 0.000184499008318), - ("נאיא", 0.001475992066543), - ("נאיה", 0.000169124090958), - ("נאיה", 0.000322873264556), - ("נגה", 0.007825832936148), - ("נוי", 0.001399117479744), - ("נויה", 0.010639442812995), - ("נועה", 0.022216755584939), - ("נועם", 0.005365846158577), - ("נופר", 0.000645746529112), - ("נור", 0.000153749173598), - ("נור", 0.000261373595117), - ("נור", 0.003720730001076), - ("נחמה", 0.003843729339955), - ("נטלי", 0.000276748512477), - ("נטלי", 0.000553497024953), - ("נטע", 0.005350471241217), - ("נילי", 0.000722621115912), - ("נינה", 0.001106994049907), - ("ניצן", 0.001445242231823), - ("ניקה", 0.000322873264556), - ("ניקול", 0.000753370950631), - ("נעמה", 0.005565720084255), - ("נעמי", 0.008333205209022), - ("סארה", 0.003905229009394), - ("סהר", 0.000753370950631), - ("סול", 0.00086099537215), - ("סופי", 0.000322873264556), - ("סופיה", 0.000907120124229), - ("סיון", 0.000599621777033), - ("סילא", 0.000169124090958), - ("סילין", 0.000169124090958), - ("סימה", 0.000430497686075), - ("סלמא", 0.001460617149183), - ("סמא", 0.000199873925678), - ("ספיר", 0.001091619132547), - ("סתיו", 0.00086099537215), - ("עדי", 0.007118586737596), - ("עדיה", 0.000553497024953), - ("עדינה", 0.000691871281192), - ("עדן", 0.001460617149183), - ("עדן", 0.003812979505235), - ("עומר", 0.0034439814886), - ("עופרי", 0.005642594671054), - ("עטרה", 0.000599621777033), - ("עטרת", 0.000338248181916), - ("עידן", 0.000384372933995), - ("עלמה", 0.00847157946526), - ("עמית", 0.004904598637782), - ("עמליה", 0.001183868636706), - ("עמנואל", 0.001552866653342), - ("ענאל", 0.000322873264556), - ("ענבל", 0.000384372933995), - ("ענבר", 0.001937239587337), - ("ענהאל", 0.002075613843576), - ("פאטמה", 0.003305607232361), - ("פאר", 0.000430497686075), - ("פיגא", 0.001967989422057), - ("פלג", 0.000445872603435), - ("פנינה", 0.001122368967267), - ("פערל", 0.000645746529112), - ("פרח", 0.001552866653342), - ("פריאל", 0.000691871281192), - ("פריידא", 0.000445872603435), - ("צביה", 0.00087637028951), - ("צופיה", 0.001183868636706), - ("צפורה", 0.002413862025492), - ("קארין", 0.000399747851355), - ("קורל", 0.000753370950631), - ("קים", 0.000614996694393), - ("קרן", 0.000507372272874), - ("קרני", 0.000599621777033), - ("ראשית", 0.000322873264556), - ("רבקה", 0.009824572192924), - ("רהף", 0.002828984794207), - ("רוחמה", 0.000507372272874), - ("רומי", 0.000722621115912), - ("רומי", 0.011669562276103), - ("רון", 0.000507372272874), - ("רונה", 0.001998739256777), - ("רוני", 0.012407558309374), - ("רות", 0.008102581448625), - ("רותם", 0.002475361694931), - ("רז", 0.000753370950631), - ("רחל", 0.009501698928368), - ("רייזל", 0.000507372272874), - ("רים", 0.001199243554066), - ("רימא", 0.001060869297828), - ("רימאס", 0.001629741240141), - ("רינה", 0.000491997355514), - ("ריתאג'", 0.001106994049907), - ("ריתאל", 0.003643855414277), - ("רני", 0.000968619793669), - ("רננה", 0.001260743223505), - ("רעות", 0.001368367645024), - ("רעיה", 0.000338248181916), - ("רפיף", 0.001537491735982), - ("שאם", 0.000153749173598), - ("שאם", 0.006196091696007), - ("שהד", 0.002490736612291), - ("שובל", 0.000645746529112), - ("שוהם", 0.001952614504697), - ("שולמית", 0.001829615165818), - ("שושנה", 0.002213988099814), - ("שחר", 0.004012853430913), - ("שטערנא", 0.000353623099276), - ("שי", 0.00338248181916), - ("שיינא", 0.001168493719346), - ("שיינדל", 0.000491997355514), - ("שי לי", 0.002044864008856), - ("שי-לי", 0.003244107562922), - ("שילת", 0.002367737273412), - ("שיר", 0.005534970249535), - ("שיראל", 0.001921864669977), - ("שירה", 0.016266662566689), - ("שירי", 0.00087637028951), - ("שלי", 0.00089174520687), - ("שני", 0.003474731323319), - ("שפרה", 0.00083024553743), - ("שקד", 0.005488845497455), - ("שרה", 0.000245998677757), - ("שרה", 0.002167863347735), - ("שרה", 0.014944419673744), - ("תאיר", 0.00169124090958), - ("תאלא", 0.000276748512477), - ("תאלא", 0.002705985455328), - ("תאלין", 0.002629110868529), - ("תבל", 0.000476622438154), - ("תהילה", 0.006303716117526), - ("תהל", 0.008041081779185), - ("תהלה", 0.000415122768715), - ("תולין", 0.000322873264556), - ("תולין", 0.001491366983902), - ("תום", 0.000630371611753), - ("תיא", 0.000199873925678), - ("תיא", 0.000230623760397), - ("תמר", 0.020341015667041), - ("תמרה", 0.001060869297828), - ("תפארת", 0.00083024553743), - - )) + first_names_female = OrderedDict( + ( + ("אביב", 0.002782860042127), + ("אביגיל", 0.017542780707554), + ("אביה", 0.00339785673652), + ("אביטל", 0.002644485785889), + ("אבישג", 0.005288971571778), + ("אגם", 0.0085330791347), + ("אדוה", 0.001030119463108), + ("אדל", 0.016512661244446), + ("אדר", 0.000968619793669), + ("אהובה", 0.000737996033271), + ("אודיה", 0.000799495702711), + ("אודל", 0.003059608554604), + ("אודליה", 0.000999369628388), + ("אווה", 0.00081487062007), + ("אופיר", 0.004535600621147), + ("אופל", 0.000568871942313), + ("אופק", 0.000476622438154), + ("אור", 0.004643225042665), + ("אוראל", 0.000538122107594), + ("אורה", 0.000784120785351), + ("אורטל", 0.000322873264556), + ("אורי", 0.004858473885703), + ("אוריאן", 0.002198613182454), + ("אוריה", 0.005688719423133), + ("אורין", 0.002890484463646), + ("אורן", 0.000461247520795), + ("אושר", 0.000737996033271), + ("אחינועם", 0.000999369628388), + ("איה", 0.001091619132547), + ("איה", 0.002936609215725), + ("איטה", 0.000538122107594), + ("איידל", 0.000307498347196), + ("איילה", 0.015959164219492), + ("איילת", 0.001506741901262), + ("איימי", 0.000676496363832), + ("אילין", 0.000153749173598), + ("אילין", 0.001921864669977), + ("אילת", 0.000461247520795), + ("אימאן", 0.001030119463108), + ("אלה", 0.009809197275565), + ("אלומה", 0.000445872603435), + ("אלונה", 0.002029489091496), + ("אלטע", 0.000415122768715), + ("אלי", 0.000799495702711), + ("אליאן", 0.0017219907443), + ("אליאנה", 0.000368998016636), + ("אליה", 0.004443351116988), + ("אלין", 0.000122999338879), + ("אלין", 0.000538122107594), + ("אלין", 0.003290232315001), + ("אלין", 0.003982103596193), + ("אלינור", 0.001030119463108), + ("אליס", 0.000430497686075), + ("אליסה", 0.000399747851355), + ("אליענה", 0.00081487062007), + ("אלישבע", 0.005319721406497), + ("אלכס", 0.00086099537215), + ("אלמא", 0.001106994049907), + ("אלמה", 0.0033671069018), + ("אלמוג", 0.00086099537215), + ("אמה", 0.007748958349349), + ("אמונה", 0.001199243554066), + ("אמור", 0.000322873264556), + ("אמי", 0.000538122107594), + ("אמילי", 0.000153749173598), + ("אמילי", 0.005873218431451), + ("אמיליה", 0.00084562045479), + ("אמל", 0.001967989422057), + ("אמלי", 0.000737996033271), + ("אן", 0.000661121446472), + ("אנאבל", 0.000522747190234), + ("אנאל", 0.00338248181916), + ("אנה", 0.001229993388786), + ("אסיל", 0.000169124090958), + ("אסיל", 0.002075613843576), + ("אסנת", 0.000322873264556), + ("אסתר", 0.010639442812995), + ("אפרת", 0.007041712150797), + ("ארבל", 0.002213988099814), + ("אריאל", 0.008287080456943), + ("בארי", 0.000322873264556), + ("ביאן", 0.001229993388786), + ("בילא", 0.000784120785351), + ("ביסאן", 0.002629110868529), + ("בלומה", 0.001030119463108), + ("בר", 0.002336987438693), + ("ברכה", 0.002613735951169), + ("בת", 0.001568241570702), + ("בתיה", 0.002290862686613), + ("בת שבע", 0.003259482480282), + ("גאיה", 0.006672714134162), + ("ג'ואל", 0.000138374256238), + ("ג'וד", 0.001076244215187), + ("ג'ויל", 0.000122999338879), + ("גולדה", 0.000707246198552), + ("ג'ולי", 0.000184499008318), + ("ג'ולין", 0.000138374256238), + ("גוני", 0.000368998016636), + ("ג'ורי", 0.000138374256238), + ("גורי", 0.00255223628173), + ("ג'ורי", 0.002598361033809), + ("גזל", 0.001752740579019), + ("גיטל", 0.001368367645024), + ("גיל", 0.000707246198552), + ("גילה", 0.000691871281192), + ("גילי", 0.003259482480282), + ("גל", 0.001537491735982), + ("גלי", 0.002967359050445), + ("גליה", 0.00084562045479), + ("ג'נא", 0.005688719423133), + ("גפן", 0.00424347719131), + ("דבורה", 0.00425885210867), + ("דור", 0.000430497686075), + ("דורון", 0.000722621115912), + ("דורין", 0.000384372933995), + ("דימא", 0.001337617810304), + ("דינה", 0.00084562045479), + ("דנה", 0.000753370950631), + ("דני", 0.000445872603435), + ("דניאל", 0.00427422702603), + ("דניאלה", 0.003213357728202), + ("דפנה", 0.000753370950631), + ("דרור", 0.000491997355514), + ("דריה", 0.001752740579019), + ("הדס", 0.004950723389862), + ("הדסה", 0.004643225042665), + ("הדר", 0.005596469918974), + ("הודיה", 0.009855322027644), + ("היילי", 0.000322873264556), + ("הילה", 0.007795083101428), + ("הילי", 0.002798234959487), + ("הינדא", 0.000584246859673), + ("הלל", 0.006349840869605), + ("הללי", 0.002029489091496), + ("הניה", 0.000338248181916), + ("הענא", 0.000384372933995), + ("זהבה", 0.000522747190234), + ("זואי", 0.001076244215187), + ("זוהר", 0.003028858719884), + ("זיו", 0.001645116157501), + ("זינב", 0.0017219907443), + ("זינה", 0.002998108885165), + ("חגית", 0.000322873264556), + ("חוה", 0.002090988760935), + ("חיה", 0.008948201903415), + ("חלא", 0.000261373595117), + ("חלא", 0.003305607232361), + ("חן", 0.001091619132547), + ("חנה", 0.011577312771944), + ("טובה", 0.001322242892944), + ("טוהר", 0.005473470580096), + ("טל", 0.001937239587337), + ("טלי", 0.000599621777033), + ("טליה", 0.016620285665965), + ("יארא", 0.000169124090958), + ("יהב", 0.001091619132547), + ("יהודית", 0.004966098307222), + ("יהל", 0.001337617810304), + ("יהלי", 0.005734844175213), + ("יובל", 0.009701572854046), + ("יוטא", 0.000538122107594), + ("יוכבד", 0.001276118140865), + ("יולי", 0.002429236942851), + ("ים", 0.000553497024953), + ("יסכה", 0.001491366983902), + ("יסמין", 0.000261373595117), + ("יסמין", 0.001076244215187), + ("יסמין", 0.003090358389324), + ("יעל", 0.015713165541735), + ("יעלה", 0.001291493058225), + ("יערה", 0.002890484463646), + ("יפה", 0.000691871281192), + ("ירדן", 0.004105102935072), + ("ירין", 0.000599621777033), + ("כליל", 0.000399747851355), + ("כנרת", 0.000368998016636), + ("כרמל", 0.002752110207408), + ("לאה", 0.005903968266171), + ("לארא", 0.000122999338879), + ("לוטם", 0.00084562045479), + ("לור", 0.000122999338879), + ("לורן", 0.001337617810304), + ("לי", 0.000691871281192), + ("ליאה", 0.000953244876309), + ("ליאור", 0.002921234298366), + ("ליאורה", 0.000538122107594), + ("ליאל", 0.004489475869067), + ("ליאם", 0.001475992066543), + ("ליאן", 0.000169124090958), + ("ליאן", 0.000384372933995), + ("ליאן", 0.004889223720423), + ("ליאן", 0.007010962316078), + ("ליב", 0.000322873264556), + ("ליבא", 0.00087637028951), + ("ליבי", 0.004520225703787), + ("ליה", 0.011285189342107), + ("ליהי", 0.00167586599222), + ("ליהיא", 0.001199243554066), + ("ליטל", 0.000445872603435), + ("לייה", 0.000907120124229), + ("לילי", 0.000983994711028), + ("לילך", 0.000476622438154), + ("לין", 0.000153749173598), + ("לין", 0.000384372933995), + ("לין", 0.000691871281192), + ("לין", 0.005427345828016), + ("לינוי", 0.002075613843576), + ("ליעד", 0.000368998016636), + ("לירון", 0.000799495702711), + ("לירז", 0.000553497024953), + ("לירי", 0.001076244215187), + ("למאר", 0.001491366983902), + ("לנא", 0.000138374256238), + ("לנא", 0.001245368306145), + ("לני", 0.001429867314463), + ("מאור", 0.00081487062007), + ("מאורי", 0.000353623099276), + ("מאי", 0.003459356405959), + ("מאיה", 0.000153749173598), + ("מאיה", 0.000245998677757), + ("מאיה", 0.017588905459633), + ("מור", 0.000522747190234), + ("מוריה", 0.00428960194339), + ("מיאל", 0.000599621777033), + ("מיאר", 0.001383742562384), + ("מיטל", 0.000430497686075), + ("מייה", 0.000676496363832), + ("מיכאלה", 0.0017219907443), + ("מיכל", 0.010870066573392), + ("מילא", 0.000169124090958), + ("מילא", 0.000322873264556), + ("מילה", 0.001245368306145), + ("מילי", 0.000522747190234), + ("מיקה", 0.004996848141941), + ("מירא", 0.000138374256238), + ("מירא", 0.00173736566166), + ("מיראל", 0.000184499008318), + ("מיראל", 0.000184499008318), + ("מיראל", 0.001506741901262), + ("מיריל", 0.000153749173598), + ("מישל", 0.000937869958949), + ("מיתר", 0.000676496363832), + ("מלאק", 0.000169124090958), + ("מלאק", 0.000169124090958), + ("מלאק", 0.003874479174674), + ("מלכה", 0.00513522239818), + ("מנוחה", 0.000415122768715), + ("מנור", 0.000645746529112), + ("מעיין", 0.006503590043204), + ("מרגלית", 0.000430497686075), + ("מריה", 0.000399747851355), + ("מריה", 0.001875739917898), + ("מרים", 0.000184499008318), + ("מרים", 0.007379960332713), + ("מרים", 0.009424824341569), + ("משי", 0.000707246198552), + ("נאוה", 0.000399747851355), + ("נאי", 0.000322873264556), + ("נאי", 0.001183868636706), + ("נאיא", 0.000184499008318), + ("נאיא", 0.001475992066543), + ("נאיה", 0.000169124090958), + ("נאיה", 0.000322873264556), + ("נגה", 0.007825832936148), + ("נוי", 0.001399117479744), + ("נויה", 0.010639442812995), + ("נועה", 0.022216755584939), + ("נועם", 0.005365846158577), + ("נופר", 0.000645746529112), + ("נור", 0.000153749173598), + ("נור", 0.000261373595117), + ("נור", 0.003720730001076), + ("נחמה", 0.003843729339955), + ("נטלי", 0.000276748512477), + ("נטלי", 0.000553497024953), + ("נטע", 0.005350471241217), + ("נילי", 0.000722621115912), + ("נינה", 0.001106994049907), + ("ניצן", 0.001445242231823), + ("ניקה", 0.000322873264556), + ("ניקול", 0.000753370950631), + ("נעמה", 0.005565720084255), + ("נעמי", 0.008333205209022), + ("סארה", 0.003905229009394), + ("סהר", 0.000753370950631), + ("סול", 0.00086099537215), + ("סופי", 0.000322873264556), + ("סופיה", 0.000907120124229), + ("סיון", 0.000599621777033), + ("סילא", 0.000169124090958), + ("סילין", 0.000169124090958), + ("סימה", 0.000430497686075), + ("סלמא", 0.001460617149183), + ("סמא", 0.000199873925678), + ("ספיר", 0.001091619132547), + ("סתיו", 0.00086099537215), + ("עדי", 0.007118586737596), + ("עדיה", 0.000553497024953), + ("עדינה", 0.000691871281192), + ("עדן", 0.001460617149183), + ("עדן", 0.003812979505235), + ("עומר", 0.0034439814886), + ("עופרי", 0.005642594671054), + ("עטרה", 0.000599621777033), + ("עטרת", 0.000338248181916), + ("עידן", 0.000384372933995), + ("עלמה", 0.00847157946526), + ("עמית", 0.004904598637782), + ("עמליה", 0.001183868636706), + ("עמנואל", 0.001552866653342), + ("ענאל", 0.000322873264556), + ("ענבל", 0.000384372933995), + ("ענבר", 0.001937239587337), + ("ענהאל", 0.002075613843576), + ("פאטמה", 0.003305607232361), + ("פאר", 0.000430497686075), + ("פיגא", 0.001967989422057), + ("פלג", 0.000445872603435), + ("פנינה", 0.001122368967267), + ("פערל", 0.000645746529112), + ("פרח", 0.001552866653342), + ("פריאל", 0.000691871281192), + ("פריידא", 0.000445872603435), + ("צביה", 0.00087637028951), + ("צופיה", 0.001183868636706), + ("צפורה", 0.002413862025492), + ("קארין", 0.000399747851355), + ("קורל", 0.000753370950631), + ("קים", 0.000614996694393), + ("קרן", 0.000507372272874), + ("קרני", 0.000599621777033), + ("ראשית", 0.000322873264556), + ("רבקה", 0.009824572192924), + ("רהף", 0.002828984794207), + ("רוחמה", 0.000507372272874), + ("רומי", 0.000722621115912), + ("רומי", 0.011669562276103), + ("רון", 0.000507372272874), + ("רונה", 0.001998739256777), + ("רוני", 0.012407558309374), + ("רות", 0.008102581448625), + ("רותם", 0.002475361694931), + ("רז", 0.000753370950631), + ("רחל", 0.009501698928368), + ("רייזל", 0.000507372272874), + ("רים", 0.001199243554066), + ("רימא", 0.001060869297828), + ("רימאס", 0.001629741240141), + ("רינה", 0.000491997355514), + ("ריתאג'", 0.001106994049907), + ("ריתאל", 0.003643855414277), + ("רני", 0.000968619793669), + ("רננה", 0.001260743223505), + ("רעות", 0.001368367645024), + ("רעיה", 0.000338248181916), + ("רפיף", 0.001537491735982), + ("שאם", 0.000153749173598), + ("שאם", 0.006196091696007), + ("שהד", 0.002490736612291), + ("שובל", 0.000645746529112), + ("שוהם", 0.001952614504697), + ("שולמית", 0.001829615165818), + ("שושנה", 0.002213988099814), + ("שחר", 0.004012853430913), + ("שטערנא", 0.000353623099276), + ("שי", 0.00338248181916), + ("שיינא", 0.001168493719346), + ("שיינדל", 0.000491997355514), + ("שי לי", 0.002044864008856), + ("שי-לי", 0.003244107562922), + ("שילת", 0.002367737273412), + ("שיר", 0.005534970249535), + ("שיראל", 0.001921864669977), + ("שירה", 0.016266662566689), + ("שירי", 0.00087637028951), + ("שלי", 0.00089174520687), + ("שני", 0.003474731323319), + ("שפרה", 0.00083024553743), + ("שקד", 0.005488845497455), + ("שרה", 0.000245998677757), + ("שרה", 0.002167863347735), + ("שרה", 0.014944419673744), + ("תאיר", 0.00169124090958), + ("תאלא", 0.000276748512477), + ("תאלא", 0.002705985455328), + ("תאלין", 0.002629110868529), + ("תבל", 0.000476622438154), + ("תהילה", 0.006303716117526), + ("תהל", 0.008041081779185), + ("תהלה", 0.000415122768715), + ("תולין", 0.000322873264556), + ("תולין", 0.001491366983902), + ("תום", 0.000630371611753), + ("תיא", 0.000199873925678), + ("תיא", 0.000230623760397), + ("תמר", 0.020341015667041), + ("תמרה", 0.001060869297828), + ("תפארת", 0.00083024553743), + ) + ) - first_names_male = OrderedDict(( - ("אביאל", 0.004307179574083), - ("אביב", 0.003911766367282), - ("אביהו", 0.000395413206801), - ("אביחי", 0.000762582613116), - ("אבינועם", 0.00043777890753), - ("אביעד", 0.001256849121618), - ("אבישי", 0.002188894537649), - ("אביתר", 0.004603739479184), - ("אבראהים", 0.000155340902672), - ("אבראהים", 0.004759080381856), - ("אברהם", 0.012130712308648), - ("אדיר", 0.002400723041292), - ("אדם", 0.000225950403886), - ("אדם", 0.000607241710445), - ("אדם", 0.005846466700559), - ("אדם", 0.007569338530193), - ("אדר", 0.00107326441846), - ("אהרון", 0.006453708411004), - ("אוהד", 0.001454555725018), - ("אופיר", 0.003756425464611), - ("אופק", 0.003007964751737), - ("אור", 0.005959441902502), - ("אוראל", 0.003064452352709), - ("אורון", 0.000466022708016), - ("אורי", 0.018640908320624), - ("אוריאל", 0.003417499858781), - ("אוריה", 0.002598429644693), - ("אורין", 0.000522510308987), - ("אורן", 0.001143873919675), - ("אושר", 0.00238660114105), - ("אושרי", 0.001440433824775), - ("אחיה", 0.001256849121618), - ("אחמד", 0.011918883805005), - ("איאן", 0.000381291306558), - ("איהאם", 0.001553409026719), - ("אייל", 0.003671694063153), - ("אילון", 0.001059142518217), - ("איליי", 0.001708749929391), - ("אילן", 0.000607241710445), - ("אימרי", 0.002513698243236), - ("איתי", 0.016324916680789), - ("איתיאל", 0.00043777890753), - ("איתמר", 0.012413150313506), - ("איתן", 0.017610009602892), - ("אלדר", 0.00043777890753), - ("אלון", 0.008247189741852), - ("אלחנן", 0.002880867649551), - ("אליאב", 0.003149183754166), - ("אליאור", 0.00097441111676), - ("אליאל", 0.00043777890753), - ("אליאס", 0.000381291306558), - ("אליה", 0.008614359148167), - ("אליהו", 0.005973563802745), - ("אלימלך", 0.000960289216517), - ("אליעזר", 0.002541942043721), - ("אלירז", 0.000367169406315), - ("אלירן", 0.00063548551093), - ("אלישע", 0.000833192114331), - ("אלכס", 0.000649607411173), - ("אלכסנדר", 0.000395413206801), - ("אלמוג", 0.001779359430605), - ("אלעד", 0.001835847031577), - ("אלעזר", 0.002414844941535), - ("אלקנה", 0.000564876009716), - ("אלרואי", 0.003756425464611), - ("אלרועי", 0.000564876009716), - ("אמיר", 0.000183584703158), - ("אמיר", 0.000395413206801), - ("אמיר", 0.000946167316274), - ("אמיר", 0.004956786985257), - ("אמיתי", 0.002739648647122), - ("אמרי", 0.001256849121618), - ("אניל", 0.000240072304129), - ("אסף", 0.003276280856352), - ("אפק", 0.000508388408744), - ("אפרים", 0.001341580523075), - ("אראל", 0.000621363610687), - ("ארבל", 0.001398068124047), - ("ארד", 0.000790826413602), - ("ארז", 0.000367169406315), - ("ארז", 0.001299214822347), - ("ארי", 0.002330113540078), - ("אריאל", 0.01769474100435), - ("אריה", 0.002061797435463), - ("אשר", 0.00160989662769), - ("בארי", 0.003050330452466), - ("בועז", 0.001228605321132), - ("בן", 0.006637293114161), - ("בניה", 0.003488109359995), - ("בניהו", 0.000466022708016), - ("בנימין", 0.005931198102017), - ("בצלאל", 0.000381291306558), - ("בר", 0.001793481330848), - ("ברוך", 0.001496921425747), - ("ברק", 0.00063548551093), - ("גבע", 0.000960289216517), - ("גבריאל", 0.002118285036435), - ("ג'וד", 0.000593119810202), - ("ג'וד", 0.001087386318703), - ("גוד", 0.002767892447608), - ("ג'וד", 0.007004462520477), - ("ג'וזף", 0.000324803705587), - ("ג'וליאן", 0.000183584703158), - ("גור", 0.000691973111902), - ("ג'ורג'", 0.000395413206801), - ("גיא", 0.008120092639666), - ("גיל", 0.000790826413602), - ("גילי", 0.000423657007287), - ("גל", 0.001680506128905), - ("גלעד", 0.001835847031577), - ("גפן", 0.000748460712874), - ("דב", 0.00107326441846), - ("דביר", 0.00302208665198), - ("דוד", 0.019770660340055), - ("דולב", 0.000790826413602), - ("דור", 0.003346890357567), - ("דורון", 0.000578997909959), - ("דילן", 0.000395413206801), - ("דין", 0.000621363610687), - ("דן", 0.000155340902672), - ("דן", 0.002499576342993), - ("דניאל", 0.000296559905101), - ("דניאל", 0.01574591877083), - ("דרור", 0.00151104332599), - ("הדר", 0.001482799525504), - ("הילל", 0.001595774727447), - ("הלל", 0.005521662994973), - ("הראל", 0.009729989267356), - ("ורד", 0.000225950403886), - ("זאב", 0.000932045416031), - ("זוהר", 0.001285092922104), - ("זיו", 0.00214652883692), - ("זיין", 0.001270971021861), - ("ח'אלד", 0.00321979325538), - ("חגי", 0.000550754109473), - ("חוסין", 0.00141219002429), - ("חיים", 0.008713212449867), - ("חמזה", 0.001624018527933), - ("חנוך", 0.000494266508501), - ("חסן", 0.002160650737163), - ("טוביה", 0.000550754109473), - ("טוהר", 0.000706095012145), - ("טום", 0.001214483420889), - ("טומי", 0.000593119810202), - ("טל", 0.001779359430605), - ("יאיר", 0.010831497486302), - ("יאמן", 0.001680506128905), - ("יאן", 0.000480144608258), - ("יאסין", 0.001440433824775), - ("יגל", 0.002344235440321), - ("ידידיה", 0.002118285036435), - ("יהב", 0.003078574252951), - ("יהודה", 0.011226910693103), - ("יהונתן", 0.015915381573745), - ("יהושע", 0.002527820143479), - ("יהל", 0.001299214822347), - ("יהלי", 0.003233915155623), - ("יואב", 0.005620516296673), - ("יואל", 0.001680506128905), - ("יובל", 0.005027396486471), - ("יוגב", 0.00043777890753), - ("יוחאי", 0.000578997909959), - ("יוחנן", 0.00043777890753), - ("יונתן", 0.011198666892617), - ("יוסף", 0.000169462802915), - ("יוסף", 0.000240072304129), - ("יוסף", 0.008995650454725), - ("יוסף", 0.016861548890019), - ("יותם", 0.002527820143479), - ("יזן", 0.001934700333277), - ("יחזקאל", 0.00117211772016), - ("יחיא", 0.001849968931819), - ("יחיאל", 0.00151104332599), - ("ינאי", 0.004942665085014), - ("ינון", 0.002965599051008), - ("יניב", 0.000409535107044), - ("יעקב", 0.009532282663955), - ("יפתח", 0.000932045416031), - ("יצחק", 0.009292210359826), - ("יקיר", 0.000494266508501), - ("ירדן", 0.001807603231091), - ("ירין", 0.002697282946393), - ("ישי", 0.005549906795458), - ("ישכר", 0.000381291306558), - ("ישעיה", 0.000409535107044), - ("ישראל", 0.009913573970513), - ("יששכר", 0.000395413206801), - ("כפיר", 0.001835847031577), - ("כרים", 0.00248545444275), - ("כריסטיאן", 0.000169462802915), - ("כרם", 0.002259504038863), - ("כרמל", 0.000649607411173), - ("לאון", 0.000494266508501), - ("לביא", 0.008600237247924), - ("לוי", 0.001694628029148), - ("ליאב", 0.001991187934248), - ("ליאו", 0.00151104332599), - ("ליאור", 0.004264813873355), - ("ליאל", 0.001355702423318), - ("ליאם", 0.000183584703158), - ("ליאם", 0.005634638196916), - ("לידור", 0.000946167316274), - ("ליית", 0.000211828503643), - ("ליעד", 0.001751115630119), - ("ליעם", 0.000522510308987), - ("לירוי", 0.00312093995368), - ("לירון", 0.000593119810202), - ("לירן", 0.000578997909959), - ("לני", 0.000649607411173), - ("מאור", 0.004744958481613), - ("מאיר", 0.00570524769813), - ("מג'ד", 0.000268316104615), - ("מג'ד", 0.002033553634977), - ("מוחמד", 0.038552787663108), - ("מוסא", 0.001383946223804), - ("מוסטפא", 0.002287747839349), - ("מחמוד", 0.004688470880642), - ("מיכאל", 0.009376941761283), - ("מילאן", 0.000169462802915), - ("מלאכי", 0.002287747839349), - ("מנחם", 0.005210981189629), - ("מעיין", 0.002880867649551), - ("מרדכי", 0.00550754109473), - ("מרום", 0.000494266508501), - ("משה", 0.014305484946054), - ("מתן", 0.004024741569226), - ("מתנאל", 0.000649607411173), - ("מתניה", 0.000451900807773), - ("נאור", 0.001242727221375), - ("נבו", 0.003036208552223), - ("נדב", 0.006128904705417), - ("נהוראי", 0.00667965881489), - ("נוה", 0.003135061853923), - ("נועם", 0.019968366943456), - ("נח", 0.000466022708016), - ("נחמן", 0.002753770547365), - ("נטע", 0.001002654917246), - ("ניב", 0.00087555781506), - ("ניל", 0.000282438004858), - ("ניסים", 0.000423657007287), - ("ניצן", 0.00043777890753), - ("ניר", 0.000946167316274), - ("ניתאי", 0.005747613398859), - ("נפתלי", 0.001878212732305), - ("נריה", 0.002796136248094), - ("נתן", 0.004589617578941), - ("נתנאל", 0.006425464610518), - ("סאלח", 0.001186239620403), - ("סארי", 0.000169462802915), - ("סהר", 0.001934700333277), - ("סולימאן", 0.000282438004858), - ("סולימאן", 0.001779359430605), - ("סיני", 0.000508388408744), - ("סמיר", 0.000155340902672), - ("סער", 0.000621363610687), - ("סתיו", 0.000466022708016), - ("עבד", 0.006623171213919), - ("עבדאללה", 0.002005309834491), - ("עברי", 0.001369824323561), - ("עדי", 0.001426311924533), - ("עדיאל", 0.000917923515788), - ("עדן", 0.000691973111902), - ("עובדיה", 0.001496921425747), - ("עוז", 0.002753770547365), - ("עומר", 0.007922386036265), - ("עומר", 0.009984183471728), - ("עומרי", 0.000240072304129), - ("עומרי", 0.004857933683556), - ("עופר", 0.000663729311416), - ("עופרי", 0.00097441111676), - ("עידו", 0.01228605321132), - ("עידן", 0.004151838671412), - ("עילאי", 0.007781167033836), - ("עילי", 0.001468677625261), - ("עלי", 0.006001807603231), - ("עמיחי", 0.001143873919675), - ("עמית", 0.00809184883918), - ("עמנואל", 0.00097441111676), - ("ענבר", 0.000409535107044), - ("עקיבא", 0.001101508218946), - ("ערן", 0.000381291306558), - ("עתי", 0.001482799525504), - ("פאר", 0.000649607411173), - ("פלג", 0.00160989662769), - ("פנחס", 0.001722871829633), - ("צבי", 0.002598429644693), - ("צור", 0.000847314014574), - ("קדם", 0.000889679715302), - ("קוסאי", 0.001482799525504), - ("קורן", 0.000903801615545), - ("ראובן", 0.001242727221375), - ("ראם", 0.000225950403886), - ("ראם", 0.00151104332599), - ("רביד", 0.000395413206801), - ("רואי", 0.00117211772016), - ("רוי", 0.002203016437892), - ("רום", 0.002654917245665), - ("רון", 0.002626673445179), - ("רוני", 0.000494266508501), - ("רועי", 0.005055640286957), - ("רותם", 0.001991187934248), - ("רז", 0.001440433824775), - ("ריאן", 0.000296559905101), - ("ריאן", 0.001525165226233), - ("ריף", 0.000578997909959), - ("רם", 0.000183584703158), - ("רן", 0.000621363610687), - ("רני", 0.001157995819918), - ("רעי", 0.000381291306558), - ("רפאל", 0.007710557532622), - ("שאול", 0.000804948313845), - ("שגב", 0.000508388408744), - ("שגיא", 0.001285092922104), - ("שוהם", 0.000946167316274), - ("שון", 0.001525165226233), - ("שחר", 0.003855278766311), - ("שי", 0.002541942043721), - ("שילה", 0.002824380048579), - ("שיר", 0.000480144608258), - ("שלו", 0.001468677625261), - ("שלום", 0.002880867649551), - ("שליו", 0.001751115630119), - ("שלמה", 0.007526972829464), - ("שמואל", 0.010294865277072), - ("שמחה", 0.001299214822347), - ("שמעון", 0.007767045133593), - ("שניאור", 0.001383946223804), - ("שקד", 0.001736993729876), - ("שרבל", 0.000508388408744), - ("תבור", 0.000409535107044), - ("תום", 0.001962944133763), - ("תומר", 0.002669039145907), - ("תיים", 0.000211828503643), - ("תמיר", 0.000720216912388), - )) + first_names_male = OrderedDict( + ( + ("אביאל", 0.004307179574083), + ("אביב", 0.003911766367282), + ("אביהו", 0.000395413206801), + ("אביחי", 0.000762582613116), + ("אבינועם", 0.00043777890753), + ("אביעד", 0.001256849121618), + ("אבישי", 0.002188894537649), + ("אביתר", 0.004603739479184), + ("אבראהים", 0.000155340902672), + ("אבראהים", 0.004759080381856), + ("אברהם", 0.012130712308648), + ("אדיר", 0.002400723041292), + ("אדם", 0.000225950403886), + ("אדם", 0.000607241710445), + ("אדם", 0.005846466700559), + ("אדם", 0.007569338530193), + ("אדר", 0.00107326441846), + ("אהרון", 0.006453708411004), + ("אוהד", 0.001454555725018), + ("אופיר", 0.003756425464611), + ("אופק", 0.003007964751737), + ("אור", 0.005959441902502), + ("אוראל", 0.003064452352709), + ("אורון", 0.000466022708016), + ("אורי", 0.018640908320624), + ("אוריאל", 0.003417499858781), + ("אוריה", 0.002598429644693), + ("אורין", 0.000522510308987), + ("אורן", 0.001143873919675), + ("אושר", 0.00238660114105), + ("אושרי", 0.001440433824775), + ("אחיה", 0.001256849121618), + ("אחמד", 0.011918883805005), + ("איאן", 0.000381291306558), + ("איהאם", 0.001553409026719), + ("אייל", 0.003671694063153), + ("אילון", 0.001059142518217), + ("איליי", 0.001708749929391), + ("אילן", 0.000607241710445), + ("אימרי", 0.002513698243236), + ("איתי", 0.016324916680789), + ("איתיאל", 0.00043777890753), + ("איתמר", 0.012413150313506), + ("איתן", 0.017610009602892), + ("אלדר", 0.00043777890753), + ("אלון", 0.008247189741852), + ("אלחנן", 0.002880867649551), + ("אליאב", 0.003149183754166), + ("אליאור", 0.00097441111676), + ("אליאל", 0.00043777890753), + ("אליאס", 0.000381291306558), + ("אליה", 0.008614359148167), + ("אליהו", 0.005973563802745), + ("אלימלך", 0.000960289216517), + ("אליעזר", 0.002541942043721), + ("אלירז", 0.000367169406315), + ("אלירן", 0.00063548551093), + ("אלישע", 0.000833192114331), + ("אלכס", 0.000649607411173), + ("אלכסנדר", 0.000395413206801), + ("אלמוג", 0.001779359430605), + ("אלעד", 0.001835847031577), + ("אלעזר", 0.002414844941535), + ("אלקנה", 0.000564876009716), + ("אלרואי", 0.003756425464611), + ("אלרועי", 0.000564876009716), + ("אמיר", 0.000183584703158), + ("אמיר", 0.000395413206801), + ("אמיר", 0.000946167316274), + ("אמיר", 0.004956786985257), + ("אמיתי", 0.002739648647122), + ("אמרי", 0.001256849121618), + ("אניל", 0.000240072304129), + ("אסף", 0.003276280856352), + ("אפק", 0.000508388408744), + ("אפרים", 0.001341580523075), + ("אראל", 0.000621363610687), + ("ארבל", 0.001398068124047), + ("ארד", 0.000790826413602), + ("ארז", 0.000367169406315), + ("ארז", 0.001299214822347), + ("ארי", 0.002330113540078), + ("אריאל", 0.01769474100435), + ("אריה", 0.002061797435463), + ("אשר", 0.00160989662769), + ("בארי", 0.003050330452466), + ("בועז", 0.001228605321132), + ("בן", 0.006637293114161), + ("בניה", 0.003488109359995), + ("בניהו", 0.000466022708016), + ("בנימין", 0.005931198102017), + ("בצלאל", 0.000381291306558), + ("בר", 0.001793481330848), + ("ברוך", 0.001496921425747), + ("ברק", 0.00063548551093), + ("גבע", 0.000960289216517), + ("גבריאל", 0.002118285036435), + ("ג'וד", 0.000593119810202), + ("ג'וד", 0.001087386318703), + ("גוד", 0.002767892447608), + ("ג'וד", 0.007004462520477), + ("ג'וזף", 0.000324803705587), + ("ג'וליאן", 0.000183584703158), + ("גור", 0.000691973111902), + ("ג'ורג'", 0.000395413206801), + ("גיא", 0.008120092639666), + ("גיל", 0.000790826413602), + ("גילי", 0.000423657007287), + ("גל", 0.001680506128905), + ("גלעד", 0.001835847031577), + ("גפן", 0.000748460712874), + ("דב", 0.00107326441846), + ("דביר", 0.00302208665198), + ("דוד", 0.019770660340055), + ("דולב", 0.000790826413602), + ("דור", 0.003346890357567), + ("דורון", 0.000578997909959), + ("דילן", 0.000395413206801), + ("דין", 0.000621363610687), + ("דן", 0.000155340902672), + ("דן", 0.002499576342993), + ("דניאל", 0.000296559905101), + ("דניאל", 0.01574591877083), + ("דרור", 0.00151104332599), + ("הדר", 0.001482799525504), + ("הילל", 0.001595774727447), + ("הלל", 0.005521662994973), + ("הראל", 0.009729989267356), + ("ורד", 0.000225950403886), + ("זאב", 0.000932045416031), + ("זוהר", 0.001285092922104), + ("זיו", 0.00214652883692), + ("זיין", 0.001270971021861), + ("ח'אלד", 0.00321979325538), + ("חגי", 0.000550754109473), + ("חוסין", 0.00141219002429), + ("חיים", 0.008713212449867), + ("חמזה", 0.001624018527933), + ("חנוך", 0.000494266508501), + ("חסן", 0.002160650737163), + ("טוביה", 0.000550754109473), + ("טוהר", 0.000706095012145), + ("טום", 0.001214483420889), + ("טומי", 0.000593119810202), + ("טל", 0.001779359430605), + ("יאיר", 0.010831497486302), + ("יאמן", 0.001680506128905), + ("יאן", 0.000480144608258), + ("יאסין", 0.001440433824775), + ("יגל", 0.002344235440321), + ("ידידיה", 0.002118285036435), + ("יהב", 0.003078574252951), + ("יהודה", 0.011226910693103), + ("יהונתן", 0.015915381573745), + ("יהושע", 0.002527820143479), + ("יהל", 0.001299214822347), + ("יהלי", 0.003233915155623), + ("יואב", 0.005620516296673), + ("יואל", 0.001680506128905), + ("יובל", 0.005027396486471), + ("יוגב", 0.00043777890753), + ("יוחאי", 0.000578997909959), + ("יוחנן", 0.00043777890753), + ("יונתן", 0.011198666892617), + ("יוסף", 0.000169462802915), + ("יוסף", 0.000240072304129), + ("יוסף", 0.008995650454725), + ("יוסף", 0.016861548890019), + ("יותם", 0.002527820143479), + ("יזן", 0.001934700333277), + ("יחזקאל", 0.00117211772016), + ("יחיא", 0.001849968931819), + ("יחיאל", 0.00151104332599), + ("ינאי", 0.004942665085014), + ("ינון", 0.002965599051008), + ("יניב", 0.000409535107044), + ("יעקב", 0.009532282663955), + ("יפתח", 0.000932045416031), + ("יצחק", 0.009292210359826), + ("יקיר", 0.000494266508501), + ("ירדן", 0.001807603231091), + ("ירין", 0.002697282946393), + ("ישי", 0.005549906795458), + ("ישכר", 0.000381291306558), + ("ישעיה", 0.000409535107044), + ("ישראל", 0.009913573970513), + ("יששכר", 0.000395413206801), + ("כפיר", 0.001835847031577), + ("כרים", 0.00248545444275), + ("כריסטיאן", 0.000169462802915), + ("כרם", 0.002259504038863), + ("כרמל", 0.000649607411173), + ("לאון", 0.000494266508501), + ("לביא", 0.008600237247924), + ("לוי", 0.001694628029148), + ("ליאב", 0.001991187934248), + ("ליאו", 0.00151104332599), + ("ליאור", 0.004264813873355), + ("ליאל", 0.001355702423318), + ("ליאם", 0.000183584703158), + ("ליאם", 0.005634638196916), + ("לידור", 0.000946167316274), + ("ליית", 0.000211828503643), + ("ליעד", 0.001751115630119), + ("ליעם", 0.000522510308987), + ("לירוי", 0.00312093995368), + ("לירון", 0.000593119810202), + ("לירן", 0.000578997909959), + ("לני", 0.000649607411173), + ("מאור", 0.004744958481613), + ("מאיר", 0.00570524769813), + ("מג'ד", 0.000268316104615), + ("מג'ד", 0.002033553634977), + ("מוחמד", 0.038552787663108), + ("מוסא", 0.001383946223804), + ("מוסטפא", 0.002287747839349), + ("מחמוד", 0.004688470880642), + ("מיכאל", 0.009376941761283), + ("מילאן", 0.000169462802915), + ("מלאכי", 0.002287747839349), + ("מנחם", 0.005210981189629), + ("מעיין", 0.002880867649551), + ("מרדכי", 0.00550754109473), + ("מרום", 0.000494266508501), + ("משה", 0.014305484946054), + ("מתן", 0.004024741569226), + ("מתנאל", 0.000649607411173), + ("מתניה", 0.000451900807773), + ("נאור", 0.001242727221375), + ("נבו", 0.003036208552223), + ("נדב", 0.006128904705417), + ("נהוראי", 0.00667965881489), + ("נוה", 0.003135061853923), + ("נועם", 0.019968366943456), + ("נח", 0.000466022708016), + ("נחמן", 0.002753770547365), + ("נטע", 0.001002654917246), + ("ניב", 0.00087555781506), + ("ניל", 0.000282438004858), + ("ניסים", 0.000423657007287), + ("ניצן", 0.00043777890753), + ("ניר", 0.000946167316274), + ("ניתאי", 0.005747613398859), + ("נפתלי", 0.001878212732305), + ("נריה", 0.002796136248094), + ("נתן", 0.004589617578941), + ("נתנאל", 0.006425464610518), + ("סאלח", 0.001186239620403), + ("סארי", 0.000169462802915), + ("סהר", 0.001934700333277), + ("סולימאן", 0.000282438004858), + ("סולימאן", 0.001779359430605), + ("סיני", 0.000508388408744), + ("סמיר", 0.000155340902672), + ("סער", 0.000621363610687), + ("סתיו", 0.000466022708016), + ("עבד", 0.006623171213919), + ("עבדאללה", 0.002005309834491), + ("עברי", 0.001369824323561), + ("עדי", 0.001426311924533), + ("עדיאל", 0.000917923515788), + ("עדן", 0.000691973111902), + ("עובדיה", 0.001496921425747), + ("עוז", 0.002753770547365), + ("עומר", 0.007922386036265), + ("עומר", 0.009984183471728), + ("עומרי", 0.000240072304129), + ("עומרי", 0.004857933683556), + ("עופר", 0.000663729311416), + ("עופרי", 0.00097441111676), + ("עידו", 0.01228605321132), + ("עידן", 0.004151838671412), + ("עילאי", 0.007781167033836), + ("עילי", 0.001468677625261), + ("עלי", 0.006001807603231), + ("עמיחי", 0.001143873919675), + ("עמית", 0.00809184883918), + ("עמנואל", 0.00097441111676), + ("ענבר", 0.000409535107044), + ("עקיבא", 0.001101508218946), + ("ערן", 0.000381291306558), + ("עתי", 0.001482799525504), + ("פאר", 0.000649607411173), + ("פלג", 0.00160989662769), + ("פנחס", 0.001722871829633), + ("צבי", 0.002598429644693), + ("צור", 0.000847314014574), + ("קדם", 0.000889679715302), + ("קוסאי", 0.001482799525504), + ("קורן", 0.000903801615545), + ("ראובן", 0.001242727221375), + ("ראם", 0.000225950403886), + ("ראם", 0.00151104332599), + ("רביד", 0.000395413206801), + ("רואי", 0.00117211772016), + ("רוי", 0.002203016437892), + ("רום", 0.002654917245665), + ("רון", 0.002626673445179), + ("רוני", 0.000494266508501), + ("רועי", 0.005055640286957), + ("רותם", 0.001991187934248), + ("רז", 0.001440433824775), + ("ריאן", 0.000296559905101), + ("ריאן", 0.001525165226233), + ("ריף", 0.000578997909959), + ("רם", 0.000183584703158), + ("רן", 0.000621363610687), + ("רני", 0.001157995819918), + ("רעי", 0.000381291306558), + ("רפאל", 0.007710557532622), + ("שאול", 0.000804948313845), + ("שגב", 0.000508388408744), + ("שגיא", 0.001285092922104), + ("שוהם", 0.000946167316274), + ("שון", 0.001525165226233), + ("שחר", 0.003855278766311), + ("שי", 0.002541942043721), + ("שילה", 0.002824380048579), + ("שיר", 0.000480144608258), + ("שלו", 0.001468677625261), + ("שלום", 0.002880867649551), + ("שליו", 0.001751115630119), + ("שלמה", 0.007526972829464), + ("שמואל", 0.010294865277072), + ("שמחה", 0.001299214822347), + ("שמעון", 0.007767045133593), + ("שניאור", 0.001383946223804), + ("שקד", 0.001736993729876), + ("שרבל", 0.000508388408744), + ("תבור", 0.000409535107044), + ("תום", 0.001962944133763), + ("תומר", 0.002669039145907), + ("תיים", 0.000211828503643), + ("תמיר", 0.000720216912388), + ) + ) first_names = first_names_male.copy() first_names.update(first_names_female) # Top 500 most common surenames in Israel # http://www.ynet.co.il/articles/0,7340,L-4477619,00.html - last_names = OrderedDict(( - ("אבו אל היג'א", 0.0004185954), - ("אבוטבול", 0.0003645757), - ("אבו טיר", 0.0003470250), - ("אבו כף", 0.0005751840), - ("אבו ליל", 0.0005678902), - ("אבו מוך", 0.0003430362), - ("אבו סאלח", 0.0004113016), - ("אבו סנינה", 0.0003522675), - ("אבו עראר", 0.0005006506), - ("אבו ראס", 0.0003642338), - ("אבו ריא", 0.0002835462), - ("אבו רמילה", 0.0003918135), - ("אביב", 0.0003988794), - ("אביטבול", 0.0004328411), - ("אביטל", 0.0004519873), - ("אביטן", 0.0005171756), - ("אבני", 0.0003463412), - ("אבראהים", 0.0006235054), - ("אברגל", 0.0003034902), - ("אברהם", 0.0021808444), - ("אברהמי", 0.0004725011), - ("אברמוב", 0.0008053944), - ("אברמוביץ", 0.0004369438), - ("אגבאריה", 0.0020710956), - ("אדלר", 0.0005522770), - ("אדרי", 0.0013994967), - ("אהרון", 0.0005232157), - ("אהרוני", 0.0006942780), - ("אהרן", 0.0005895437), - ("אוזן", 0.0004632699), - ("אוחיון", 0.0016352914), - ("אוחנה", 0.0012190893), - ("אופיר", 0.0003285626), - ("אור", 0.0002745430), - ("אורן", 0.0006651028), - ("אזברגה", 0.0004979154), - ("אזולאי", 0.0019325135), - ("אחמד", 0.0003112399), - ("אטיאס", 0.0010128117), - ("אטרש", 0.0003216107), - ("איבגי", 0.0003057695), - ("איוב", 0.0003391614), - ("אילוז", 0.0004629280), - ("איסקוב", 0.0003056556), - ("איפרגן", 0.0003224085), - ("אלבז", 0.0010615889), - ("אלון", 0.0009669975), - ("אלוני", 0.0003267392), - ("אלוש", 0.0002914099), - ("אלטורי", 0.0002840021), - ("אליאס", 0.0005734745), - ("אליהו", 0.0010782279), - ("אלימלך", 0.0004399069), - ("אלמוג", 0.0003135192), - ("אלמלח", 0.0003681087), - ("אלנבארי", 0.0002708961), - ("אלסייד", 0.0003250297), - ("אלפסי", 0.0005746142), - ("אלקובי", 0.0004033240), - ("אלקיים", 0.0004139228), - ("אלקרינאוי", 0.0003684506), - ("אמארה", 0.0004154044), - ("אמיר", 0.0003546607), - ("אמסלם", 0.0008538297), - ("אמר", 0.0002875350), - ("אנגל", 0.0003220666), - ("אסדי", 0.0003464552), - ("אסולין", 0.0009318961), - ("אסעד", 0.0002932333), - ("אסרף", 0.0006086899), - ("אפשטיין", 0.0003689064), - ("ארביב", 0.0004209887), - ("ארז", 0.0003954604), - ("ארליך", 0.0002710100), - ("אשכנזי", 0.0012333350), - ("אשר", 0.0004242937), - ("בדארנה", 0.0004214445), - ("בדיר", 0.0002950568), - ("בדר", 0.0002760245), - ("בדראן", 0.0003989933), - ("בוזגלו", 0.0004477706), - ("בוחבוט", 0.0003604730), - ("בוסקילה", 0.0004288523), - ("ביטון", 0.0030260127), - ("בכר", 0.0010549789), - ("בלום", 0.0003422385), - ("בן דוד", 0.0014205803), - ("בן הרוש", 0.0003634361), - ("בן חיים", 0.0004988271), - ("בן חמו", 0.0009408994), - ("בן יוסף", 0.0003320956), - ("בן לולו", 0.0003196733), - ("בן משה", 0.0004303338), - ("בן סימון", 0.0004376276), - ("בן עזרא", 0.0003485066), - ("בן עמי", 0.0004467449), - ("בן שבת", 0.0002754547), - ("בן שושן", 0.0006107413), - ("בנימין", 0.0006523387), - ("בסול", 0.0002932333), - ("בצלאל", 0.0003156845), - ("בקר", 0.0003121516), - ("בר", 0.0011435301), - ("בראון", 0.0003769980), - ("ברגר", 0.0005738164), - ("ברדה", 0.0003977397), - ("ברוך", 0.0008745715), - ("ברזילי", 0.0003418966), - ("ברכה", 0.0004992830), - ("ברמן", 0.0003711857), - ("ברנס", 0.0002786457), - ("ברנשטיין", 0.0004130111), - ("ברק", 0.0006729665), - ("ברקוביץ", 0.0006409421), - ("בשארה", 0.0003734650), - ("בשיר", 0.0002883328), - ("גאבר", 0.0005383732), - ("גאנם", 0.0005768935), - ("גבאי", 0.0016158033), - ("גבארה", 0.0002936892), - ("ג'בארין", 0.0016596800), - ("גבע", 0.0002820647), - ("גדיר", 0.0004091363), - ("גואטה", 0.0005055511), - ("גוטליב", 0.0004181395), - ("גוטמן", 0.0005919370), - ("גולאני", 0.0002900423), - ("גולדברג", 0.0008165630), - ("גולדמן", 0.0005264068), - ("גולדנברג", 0.0004056033), - ("גולדשטיין", 0.0008946294), - ("גולן", 0.0011855834), - ("גור", 0.0003531792), - ("גורדון", 0.0002858255), - ("גורן", 0.0003817845), - ("גיל", 0.0002803552), - ("גל", 0.0006617978), - ("גליק", 0.0003310699), - ("גלעד", 0.0002821787), - ("גמליאל", 0.0003642338), - ("גנאים", 0.0005610523), - ("גרבאן", 0.0003214968), - ("גרוס", 0.0006403723), - ("גרוסמן", 0.0003800750), - ("גרין", 0.0003725533), - ("גרינברג", 0.0009478513), - ("דאוד", 0.0003074790), - ("דביר", 0.0004175697), - ("דבש", 0.0002795574), - ("דגן", 0.0005030438), - ("דדון", 0.0007198063), - ("דהאן", 0.0003006411), - ("דהן", 0.0022558337), - ("דהרי", 0.0002755687), - ("דוד", 0.0016551214), - ("דוידוב", 0.0007180968), - ("דויטש", 0.0003989933), - ("דורון", 0.0003173940), - ("דיאב", 0.0004985992), - ("דיין", 0.0010681989), - ("דמרי", 0.0003776818), - ("דניאל", 0.0007061304), - ("דנינו", 0.0004338668), - ("דקל", 0.0003405290), - ("דראושה", 0.0005869225), - ("דרור", 0.0004386533), - ("דרורי", 0.0003034902), - ("דרעי", 0.0005292559), - ("הדר", 0.0003775678), - ("הופמן", 0.0003833800), - ("הורביץ", 0.0002907261), - ("הורוביץ", 0.0003901040), - ("הייב", 0.0005921649), - ("הירש", 0.0003818985), - ("הלוי", 0.0005028159), - ("הלל", 0.0003923833), - ("הראל", 0.0007852225), - ("הרוש", 0.0006835652), - ("הררי", 0.0004925590), - ("הרשקוביץ", 0.0006489197), - ("וולף", 0.0003986514), - ("ווקנין", 0.0003724394), - ("וייס", 0.0008692151), - ("וינברג", 0.0003423525), - ("וינר", 0.0003119237), - ("ויס", 0.0003285626), - ("ויסמן", 0.0002757966), - ("ויצמן", 0.0005245833), - ("וקנין", 0.0009326939), - ("ותד", 0.0003587635), - ("זגורי", 0.0003629802), - ("זהבי", 0.0004176837), - ("זהר", 0.0003346028), - ("זוהר", 0.0005770075), - ("זועבי", 0.0012752743), - ("זידאן", 0.0005832756), - ("זיו", 0.0005641294), - ("זילברמן", 0.0004159742), - ("זינגר", 0.0003651456), - ("זכריה", 0.0003278788), - ("זמיר", 0.0003829242), - ("חאג'", 0.0003408709), - ("חאג' יחיא", 0.0003617266), - ("חאג יחיא", 0.0003882806), - ("חביב", 0.0004484544), - ("חביבאללה", 0.0004379695), - ("חג'אזי", 0.0005489720), - ("חדאד", 0.0005056651), - ("חדד", 0.0016215016), - ("חוג'יראת", 0.0005729047), - ("חוסין", 0.0003514697), - ("חורי", 0.0005095399), - ("ח'ורי", 0.0005477183), - ("חזן", 0.0012562420), - ("חטיב", 0.0003936369), - ("ח'טיב", 0.0015462843), - ("חי", 0.0003430362), - ("חיון", 0.0006327366), - ("חיים", 0.0007797522), - ("חיימוב", 0.0004451494), - ("ח'לאילה", 0.0004562040), - ("חלבי", 0.0007260744), - ("ח'ליל", 0.0003452016), - ("חלפון", 0.0003063393), - ("חמדאן", 0.0004278266), - ("חמו", 0.0004457192), - ("חמוד", 0.0003670830), - ("חן", 0.0013292939), - ("חסון", 0.0007411178), - ("חסן", 0.0008594141), - ("טאהא", 0.0008251104), - ("טוויל", 0.0003101002), - ("טויטו", 0.0004448075), - ("טולדנו", 0.0003334631), - ("טייב", 0.0002708961), - ("טל", 0.0013330548), - ("יאסין", 0.0006589487), - ("יהודה", 0.0006080061), - ("יונה", 0.0004435538), - ("יונס", 0.0004857211), - ("יוסופוב", 0.0004702218), - ("יוסף", 0.0018478371), - ("יחזקאל", 0.0006923406), - ("יחיא", 0.0003449737), - ("ימין", 0.0002870792), - ("יעקב", 0.0011190275), - ("יעקבי", 0.0004216725), - ("יעקובוב", 0.0005550121), - ("יעקובוביץ", 0.0002968802), - ("יעקובי", 0.0003576238), - ("יפה", 0.0003034902), - ("יפרח", 0.0008173608), - ("יפת", 0.0003267392), - ("יצחק", 0.0011618786), - ("יצחקי", 0.0007125125), - ("ירושלמי", 0.0002743150), - ("ישראל", 0.0007288096), - ("ישראלי", 0.0007002042), - ("כהן", 0.0193348220), - ("כהנא", 0.0003551166), - ("כחלון", 0.0004289663), - ("כספי", 0.0003211549), - ("כץ", 0.0018738212), - ("כרמי", 0.0003342609), - ("לב", 0.0007200342), - ("לביא", 0.0010139513), - ("להב", 0.0003570540), - ("לוגסי", 0.0005278883), - ("לוי", 0.0111999624), - ("לוין", 0.0013806924), - ("ליבוביץ", 0.0005249252), - ("ליברמן", 0.0005201387), - ("ליפשיץ", 0.0005541004), - ("לנדאו", 0.0003262833), - ("לרנר", 0.0003750606), - ("מאור", 0.0003620685), - ("מאיר", 0.0009089891), - ("מדר", 0.0003455435), - ("מוזס", 0.0003091885), - ("מויאל", 0.0005749561), - ("מוסא", 0.0004717033), - ("מוסקוביץ", 0.0003259414), - ("מועלם", 0.0005220761), - ("מור", 0.0011423905), - ("מוראד", 0.0002749988), - ("מושקוביץ", 0.0003134052), - ("מזור", 0.0003338050), - ("מזרחי", 0.0033303007), - ("מחאג'נה", 0.0012883803), - ("מחאמיד", 0.0018262976), - ("מחמוד", 0.0002998433), - ("מטר", 0.0003922694), - ("מיכאלי", 0.0005314213), - ("מילר", 0.0006881239), - ("מימון", 0.0009289330), - ("מכלוף", 0.0003361983), - ("מלול", 0.0006253289), - ("מלכה", 0.0019342230), - ("מלמד", 0.0004647514), - ("ממן", 0.0009764567), - ("מנדל", 0.0002873071), - ("מנחם", 0.0004933568), - ("מנסור", 0.0008198680), - ("מנצור", 0.0003814426), - ("מנשה", 0.0004680564), - ("מסארוה", 0.0008443706), - ("מסארווה", 0.0002802412), - ("מסיקה", 0.0003017807), - ("מסרי", 0.0005342704), - ("מרגלית", 0.0002824066), - ("מרדכי", 0.0004645235), - ("מרום", 0.0003129493), - ("מרעי", 0.0005625339), - ("מרציאנו", 0.0003146588), - ("מרקוביץ", 0.0004444656), - ("משה", 0.0012522532), - ("משולם", 0.0003482787), - ("משיח", 0.0003645757), - ("נאור", 0.0003116957), - ("נאסר", 0.0005325609), - ("נבון", 0.0002796714), - ("נגר", 0.0006358137), - ("נוימן", 0.0003699321), - ("נחום", 0.0010065436), - ("נחמיאס", 0.0003637780), - ("נחמני", 0.0004122133), - ("ניסן", 0.0002992735), - ("ניר", 0.0003601311), - ("נסאר", 0.0006750178), - ("נסים", 0.0005396268), - ("נעים", 0.0006975830), - ("נתן", 0.0003872549), - ("נתשה", 0.0003447457), - ("סאלח", 0.0005592289), - ("סאלם", 0.0002705542), - ("סבאג", 0.0002772781), - ("סבג", 0.0008170189), - ("סבח", 0.0002966523), - ("סבן", 0.0004323852), - ("סגל", 0.0012155563), - ("סואעד", 0.0012098581), - ("סויסה", 0.0010544091), - ("סולומון", 0.0006611140), - ("סופר", 0.0007159315), - ("סימן טוב", 0.0002800133), - ("סיני", 0.0002869652), - ("סלאמה", 0.0008069899), - ("סלומון", 0.0004725011), - ("סלימאן", 0.0006335344), - ("סלמאן", 0.0002842300), - ("סלע", 0.0006118809), - ("סעד", 0.0004322713), - ("סעדה", 0.0003199012), - ("סעדי", 0.0004304478), - ("סעיד", 0.0005107935), - ("ספיר", 0.0004119854), - ("סרוסי", 0.0003727812), - ("סרור", 0.0003260554), - ("סרחאן", 0.0004681704), - ("סרסור", 0.0002731754), - ("עאזם", 0.0003548887), - ("עאמר", 0.0005807683), - ("עאסלה", 0.0004797949), - ("עבאס", 0.0005121611), - ("עבאסי", 0.0003230923), - ("עבדאללה", 0.0004449214), - ("עבד אל קאדר", 0.0002770502), - ("עבוד", 0.0003461133), - ("עדוי", 0.0003625244), - ("עואד", 0.0005034997), - ("עואודה", 0.0003056556), - ("עובד", 0.0003107840), - ("עובדיה", 0.0009488770), - ("עודה", 0.0006648749), - ("עווד", 0.0002817228), - ("עוז", 0.0003095304), - ("עוזרי", 0.0003601311), - ("עומר", 0.0004549504), - ("עזאם", 0.0003739209), - ("עזר", 0.0002926635), - ("עזרא", 0.0008366210), - ("עזרן", 0.0003022366), - ("עטיה", 0.0005034997), - ("עיסא", 0.0006968992), - ("עלי", 0.0005897716), - ("עליאן", 0.0004195071), - ("עמאש", 0.0007673299), - ("עמירה", 0.0002892445), - ("עמית", 0.0002748849), - ("עמר", 0.0016504488), - ("עמרם", 0.0003889644), - ("עתאמנה", 0.0002793295), - ("פאר", 0.0003968280), - ("פדידה", 0.0003054276), - ("פוגל", 0.0002887887), - ("פולק", 0.0004996249), - ("פוקס", 0.0005276604), - ("פורמן", 0.0002810390), - ("פורת", 0.0004169999), - ("פז", 0.0004270288), - ("פחימה", 0.0003316397), - ("פינטו", 0.0004175697), - ("פינקלשטיין", 0.0002802412), - ("פישמן", 0.0003597892), - ("פישר", 0.0005738164), - ("פלג", 0.0005474904), - ("פלד", 0.0006111971), - ("פלדמן", 0.0009019232), - ("פנחס", 0.0004459471), - ("פרי", 0.0004665749), - ("פריד", 0.0004208747), - ("פרידמן", 0.0021022082), - ("פרנקל", 0.0005776913), - ("פרץ", 0.0032042548), - ("פרקש", 0.0002779619), - ("צברי", 0.0004600788), - ("צדוק", 0.0005442994), - ("צור", 0.0007644808), - ("צמח", 0.0003528373), - ("צרפתי", 0.0006094877), - ("קאופמן", 0.0004456052), - ("קאסם", 0.0004601928), - ("קדוש", 0.0008008358), - ("קוגן", 0.0005499976), - ("קורן", 0.0007404340), - ("קינן", 0.0003089606), - ("קליין", 0.0013318012), - ("קמחי", 0.0003147728), - ("קפלן", 0.0006849328), - ("קרמר", 0.0003504440), - ("קרן", 0.0004678285), - ("ראובן", 0.0005415642), - ("רביבו", 0.0004157463), - ("רבינוביץ", 0.0007378128), - ("רגב", 0.0003989933), - ("רובין", 0.0008423192), - ("רובינשטיין", 0.0004026402), - ("רוזן", 0.0006486918), - ("רוזנברג", 0.0010279691), - ("רוזנטל", 0.0004416164), - ("רוזנפלד", 0.0005364357), - ("רוט", 0.0005014483), - ("רוטמן", 0.0003188756), - ("רוטנברג", 0.0003187616), - ("רון", 0.0003961442), - ("רונן", 0.0003698181), - ("רז", 0.0007521725), - ("רזניק", 0.0003017807), - ("רחמים", 0.0006912009), - ("ריאן", 0.0003526093), - ("רפאל", 0.0002712380), - ("שאהין", 0.0004059452), - ("שאול", 0.0004735268), - ("שביט", 0.0003130633), - ("שבתאי", 0.0003979676), - ("שגב", 0.0004646375), - ("שגיא", 0.0003531792), - ("שדה", 0.0004417304), - ("שוויקי", 0.0005047533), - ("שוורץ", 0.0007591244), - ("שולמן", 0.0002952847), - ("שוקרון", 0.0005164918), - ("שור", 0.0003898761), - ("שורץ", 0.0009575384), - ("שושן", 0.0006843630), - ("שחאדה", 0.0007848806), - ("שחר", 0.0009679092), - ("שטיין", 0.0004781994), - ("שטיינברג", 0.0003252576), - ("שטרית", 0.0005996866), - ("שטרן", 0.0009997056), - ("שי", 0.0003206990), - ("שיבלי", 0.0003172800), - ("שיטרית", 0.0004501638), - ("שכטר", 0.0005425899), - ("שלבי", 0.0003711857), - ("שלו", 0.0005757539), - ("שלום", 0.0011007931), - ("שלמה", 0.0004264590), - ("שם טוב", 0.0004130111), - ("שמואל", 0.0006326227), - ("שמואלי", 0.0004719313), - ("שמיר", 0.0004115295), - ("שמעון", 0.0003597892), - ("שמעוני", 0.0005021321), - ("שמש", 0.0010336674), - ("שני", 0.0004502778), - ("שניידר", 0.0004392232), - ("שפירא", 0.0013031958), - ("שפר", 0.0003430362), - ("שקד", 0.0004860630), - ("שרביט", 0.0003365402), - ("שרון", 0.0007520585), - ("שריקי", 0.0003716416), - ("שרעבי", 0.0010047201), - ("שרף", 0.0003082768), - ("ששון", 0.0009562848), - ("תורג'מן", 0.0004513035), - ("תורגמן", 0.0005209364), - ("תמיר", 0.0002928914), + last_names = OrderedDict( + ( + ("אבו אל היג'א", 0.0004185954), + ("אבוטבול", 0.0003645757), + ("אבו טיר", 0.0003470250), + ("אבו כף", 0.0005751840), + ("אבו ליל", 0.0005678902), + ("אבו מוך", 0.0003430362), + ("אבו סאלח", 0.0004113016), + ("אבו סנינה", 0.0003522675), + ("אבו עראר", 0.0005006506), + ("אבו ראס", 0.0003642338), + ("אבו ריא", 0.0002835462), + ("אבו רמילה", 0.0003918135), + ("אביב", 0.0003988794), + ("אביטבול", 0.0004328411), + ("אביטל", 0.0004519873), + ("אביטן", 0.0005171756), + ("אבני", 0.0003463412), + ("אבראהים", 0.0006235054), + ("אברגל", 0.0003034902), + ("אברהם", 0.0021808444), + ("אברהמי", 0.0004725011), + ("אברמוב", 0.0008053944), + ("אברמוביץ", 0.0004369438), + ("אגבאריה", 0.0020710956), + ("אדלר", 0.0005522770), + ("אדרי", 0.0013994967), + ("אהרון", 0.0005232157), + ("אהרוני", 0.0006942780), + ("אהרן", 0.0005895437), + ("אוזן", 0.0004632699), + ("אוחיון", 0.0016352914), + ("אוחנה", 0.0012190893), + ("אופיר", 0.0003285626), + ("אור", 0.0002745430), + ("אורן", 0.0006651028), + ("אזברגה", 0.0004979154), + ("אזולאי", 0.0019325135), + ("אחמד", 0.0003112399), + ("אטיאס", 0.0010128117), + ("אטרש", 0.0003216107), + ("איבגי", 0.0003057695), + ("איוב", 0.0003391614), + ("אילוז", 0.0004629280), + ("איסקוב", 0.0003056556), + ("איפרגן", 0.0003224085), + ("אלבז", 0.0010615889), + ("אלון", 0.0009669975), + ("אלוני", 0.0003267392), + ("אלוש", 0.0002914099), + ("אלטורי", 0.0002840021), + ("אליאס", 0.0005734745), + ("אליהו", 0.0010782279), + ("אלימלך", 0.0004399069), + ("אלמוג", 0.0003135192), + ("אלמלח", 0.0003681087), + ("אלנבארי", 0.0002708961), + ("אלסייד", 0.0003250297), + ("אלפסי", 0.0005746142), + ("אלקובי", 0.0004033240), + ("אלקיים", 0.0004139228), + ("אלקרינאוי", 0.0003684506), + ("אמארה", 0.0004154044), + ("אמיר", 0.0003546607), + ("אמסלם", 0.0008538297), + ("אמר", 0.0002875350), + ("אנגל", 0.0003220666), + ("אסדי", 0.0003464552), + ("אסולין", 0.0009318961), + ("אסעד", 0.0002932333), + ("אסרף", 0.0006086899), + ("אפשטיין", 0.0003689064), + ("ארביב", 0.0004209887), + ("ארז", 0.0003954604), + ("ארליך", 0.0002710100), + ("אשכנזי", 0.0012333350), + ("אשר", 0.0004242937), + ("בדארנה", 0.0004214445), + ("בדיר", 0.0002950568), + ("בדר", 0.0002760245), + ("בדראן", 0.0003989933), + ("בוזגלו", 0.0004477706), + ("בוחבוט", 0.0003604730), + ("בוסקילה", 0.0004288523), + ("ביטון", 0.0030260127), + ("בכר", 0.0010549789), + ("בלום", 0.0003422385), + ("בן דוד", 0.0014205803), + ("בן הרוש", 0.0003634361), + ("בן חיים", 0.0004988271), + ("בן חמו", 0.0009408994), + ("בן יוסף", 0.0003320956), + ("בן לולו", 0.0003196733), + ("בן משה", 0.0004303338), + ("בן סימון", 0.0004376276), + ("בן עזרא", 0.0003485066), + ("בן עמי", 0.0004467449), + ("בן שבת", 0.0002754547), + ("בן שושן", 0.0006107413), + ("בנימין", 0.0006523387), + ("בסול", 0.0002932333), + ("בצלאל", 0.0003156845), + ("בקר", 0.0003121516), + ("בר", 0.0011435301), + ("בראון", 0.0003769980), + ("ברגר", 0.0005738164), + ("ברדה", 0.0003977397), + ("ברוך", 0.0008745715), + ("ברזילי", 0.0003418966), + ("ברכה", 0.0004992830), + ("ברמן", 0.0003711857), + ("ברנס", 0.0002786457), + ("ברנשטיין", 0.0004130111), + ("ברק", 0.0006729665), + ("ברקוביץ", 0.0006409421), + ("בשארה", 0.0003734650), + ("בשיר", 0.0002883328), + ("גאבר", 0.0005383732), + ("גאנם", 0.0005768935), + ("גבאי", 0.0016158033), + ("גבארה", 0.0002936892), + ("ג'בארין", 0.0016596800), + ("גבע", 0.0002820647), + ("גדיר", 0.0004091363), + ("גואטה", 0.0005055511), + ("גוטליב", 0.0004181395), + ("גוטמן", 0.0005919370), + ("גולאני", 0.0002900423), + ("גולדברג", 0.0008165630), + ("גולדמן", 0.0005264068), + ("גולדנברג", 0.0004056033), + ("גולדשטיין", 0.0008946294), + ("גולן", 0.0011855834), + ("גור", 0.0003531792), + ("גורדון", 0.0002858255), + ("גורן", 0.0003817845), + ("גיל", 0.0002803552), + ("גל", 0.0006617978), + ("גליק", 0.0003310699), + ("גלעד", 0.0002821787), + ("גמליאל", 0.0003642338), + ("גנאים", 0.0005610523), + ("גרבאן", 0.0003214968), + ("גרוס", 0.0006403723), + ("גרוסמן", 0.0003800750), + ("גרין", 0.0003725533), + ("גרינברג", 0.0009478513), + ("דאוד", 0.0003074790), + ("דביר", 0.0004175697), + ("דבש", 0.0002795574), + ("דגן", 0.0005030438), + ("דדון", 0.0007198063), + ("דהאן", 0.0003006411), + ("דהן", 0.0022558337), + ("דהרי", 0.0002755687), + ("דוד", 0.0016551214), + ("דוידוב", 0.0007180968), + ("דויטש", 0.0003989933), + ("דורון", 0.0003173940), + ("דיאב", 0.0004985992), + ("דיין", 0.0010681989), + ("דמרי", 0.0003776818), + ("דניאל", 0.0007061304), + ("דנינו", 0.0004338668), + ("דקל", 0.0003405290), + ("דראושה", 0.0005869225), + ("דרור", 0.0004386533), + ("דרורי", 0.0003034902), + ("דרעי", 0.0005292559), + ("הדר", 0.0003775678), + ("הופמן", 0.0003833800), + ("הורביץ", 0.0002907261), + ("הורוביץ", 0.0003901040), + ("הייב", 0.0005921649), + ("הירש", 0.0003818985), + ("הלוי", 0.0005028159), + ("הלל", 0.0003923833), + ("הראל", 0.0007852225), + ("הרוש", 0.0006835652), + ("הררי", 0.0004925590), + ("הרשקוביץ", 0.0006489197), + ("וולף", 0.0003986514), + ("ווקנין", 0.0003724394), + ("וייס", 0.0008692151), + ("וינברג", 0.0003423525), + ("וינר", 0.0003119237), + ("ויס", 0.0003285626), + ("ויסמן", 0.0002757966), + ("ויצמן", 0.0005245833), + ("וקנין", 0.0009326939), + ("ותד", 0.0003587635), + ("זגורי", 0.0003629802), + ("זהבי", 0.0004176837), + ("זהר", 0.0003346028), + ("זוהר", 0.0005770075), + ("זועבי", 0.0012752743), + ("זידאן", 0.0005832756), + ("זיו", 0.0005641294), + ("זילברמן", 0.0004159742), + ("זינגר", 0.0003651456), + ("זכריה", 0.0003278788), + ("זמיר", 0.0003829242), + ("חאג'", 0.0003408709), + ("חאג' יחיא", 0.0003617266), + ("חאג יחיא", 0.0003882806), + ("חביב", 0.0004484544), + ("חביבאללה", 0.0004379695), + ("חג'אזי", 0.0005489720), + ("חדאד", 0.0005056651), + ("חדד", 0.0016215016), + ("חוג'יראת", 0.0005729047), + ("חוסין", 0.0003514697), + ("חורי", 0.0005095399), + ("ח'ורי", 0.0005477183), + ("חזן", 0.0012562420), + ("חטיב", 0.0003936369), + ("ח'טיב", 0.0015462843), + ("חי", 0.0003430362), + ("חיון", 0.0006327366), + ("חיים", 0.0007797522), + ("חיימוב", 0.0004451494), + ("ח'לאילה", 0.0004562040), + ("חלבי", 0.0007260744), + ("ח'ליל", 0.0003452016), + ("חלפון", 0.0003063393), + ("חמדאן", 0.0004278266), + ("חמו", 0.0004457192), + ("חמוד", 0.0003670830), + ("חן", 0.0013292939), + ("חסון", 0.0007411178), + ("חסן", 0.0008594141), + ("טאהא", 0.0008251104), + ("טוויל", 0.0003101002), + ("טויטו", 0.0004448075), + ("טולדנו", 0.0003334631), + ("טייב", 0.0002708961), + ("טל", 0.0013330548), + ("יאסין", 0.0006589487), + ("יהודה", 0.0006080061), + ("יונה", 0.0004435538), + ("יונס", 0.0004857211), + ("יוסופוב", 0.0004702218), + ("יוסף", 0.0018478371), + ("יחזקאל", 0.0006923406), + ("יחיא", 0.0003449737), + ("ימין", 0.0002870792), + ("יעקב", 0.0011190275), + ("יעקבי", 0.0004216725), + ("יעקובוב", 0.0005550121), + ("יעקובוביץ", 0.0002968802), + ("יעקובי", 0.0003576238), + ("יפה", 0.0003034902), + ("יפרח", 0.0008173608), + ("יפת", 0.0003267392), + ("יצחק", 0.0011618786), + ("יצחקי", 0.0007125125), + ("ירושלמי", 0.0002743150), + ("ישראל", 0.0007288096), + ("ישראלי", 0.0007002042), + ("כהן", 0.0193348220), + ("כהנא", 0.0003551166), + ("כחלון", 0.0004289663), + ("כספי", 0.0003211549), + ("כץ", 0.0018738212), + ("כרמי", 0.0003342609), + ("לב", 0.0007200342), + ("לביא", 0.0010139513), + ("להב", 0.0003570540), + ("לוגסי", 0.0005278883), + ("לוי", 0.0111999624), + ("לוין", 0.0013806924), + ("ליבוביץ", 0.0005249252), + ("ליברמן", 0.0005201387), + ("ליפשיץ", 0.0005541004), + ("לנדאו", 0.0003262833), + ("לרנר", 0.0003750606), + ("מאור", 0.0003620685), + ("מאיר", 0.0009089891), + ("מדר", 0.0003455435), + ("מוזס", 0.0003091885), + ("מויאל", 0.0005749561), + ("מוסא", 0.0004717033), + ("מוסקוביץ", 0.0003259414), + ("מועלם", 0.0005220761), + ("מור", 0.0011423905), + ("מוראד", 0.0002749988), + ("מושקוביץ", 0.0003134052), + ("מזור", 0.0003338050), + ("מזרחי", 0.0033303007), + ("מחאג'נה", 0.0012883803), + ("מחאמיד", 0.0018262976), + ("מחמוד", 0.0002998433), + ("מטר", 0.0003922694), + ("מיכאלי", 0.0005314213), + ("מילר", 0.0006881239), + ("מימון", 0.0009289330), + ("מכלוף", 0.0003361983), + ("מלול", 0.0006253289), + ("מלכה", 0.0019342230), + ("מלמד", 0.0004647514), + ("ממן", 0.0009764567), + ("מנדל", 0.0002873071), + ("מנחם", 0.0004933568), + ("מנסור", 0.0008198680), + ("מנצור", 0.0003814426), + ("מנשה", 0.0004680564), + ("מסארוה", 0.0008443706), + ("מסארווה", 0.0002802412), + ("מסיקה", 0.0003017807), + ("מסרי", 0.0005342704), + ("מרגלית", 0.0002824066), + ("מרדכי", 0.0004645235), + ("מרום", 0.0003129493), + ("מרעי", 0.0005625339), + ("מרציאנו", 0.0003146588), + ("מרקוביץ", 0.0004444656), + ("משה", 0.0012522532), + ("משולם", 0.0003482787), + ("משיח", 0.0003645757), + ("נאור", 0.0003116957), + ("נאסר", 0.0005325609), + ("נבון", 0.0002796714), + ("נגר", 0.0006358137), + ("נוימן", 0.0003699321), + ("נחום", 0.0010065436), + ("נחמיאס", 0.0003637780), + ("נחמני", 0.0004122133), + ("ניסן", 0.0002992735), + ("ניר", 0.0003601311), + ("נסאר", 0.0006750178), + ("נסים", 0.0005396268), + ("נעים", 0.0006975830), + ("נתן", 0.0003872549), + ("נתשה", 0.0003447457), + ("סאלח", 0.0005592289), + ("סאלם", 0.0002705542), + ("סבאג", 0.0002772781), + ("סבג", 0.0008170189), + ("סבח", 0.0002966523), + ("סבן", 0.0004323852), + ("סגל", 0.0012155563), + ("סואעד", 0.0012098581), + ("סויסה", 0.0010544091), + ("סולומון", 0.0006611140), + ("סופר", 0.0007159315), + ("סימן טוב", 0.0002800133), + ("סיני", 0.0002869652), + ("סלאמה", 0.0008069899), + ("סלומון", 0.0004725011), + ("סלימאן", 0.0006335344), + ("סלמאן", 0.0002842300), + ("סלע", 0.0006118809), + ("סעד", 0.0004322713), + ("סעדה", 0.0003199012), + ("סעדי", 0.0004304478), + ("סעיד", 0.0005107935), + ("ספיר", 0.0004119854), + ("סרוסי", 0.0003727812), + ("סרור", 0.0003260554), + ("סרחאן", 0.0004681704), + ("סרסור", 0.0002731754), + ("עאזם", 0.0003548887), + ("עאמר", 0.0005807683), + ("עאסלה", 0.0004797949), + ("עבאס", 0.0005121611), + ("עבאסי", 0.0003230923), + ("עבדאללה", 0.0004449214), + ("עבד אל קאדר", 0.0002770502), + ("עבוד", 0.0003461133), + ("עדוי", 0.0003625244), + ("עואד", 0.0005034997), + ("עואודה", 0.0003056556), + ("עובד", 0.0003107840), + ("עובדיה", 0.0009488770), + ("עודה", 0.0006648749), + ("עווד", 0.0002817228), + ("עוז", 0.0003095304), + ("עוזרי", 0.0003601311), + ("עומר", 0.0004549504), + ("עזאם", 0.0003739209), + ("עזר", 0.0002926635), + ("עזרא", 0.0008366210), + ("עזרן", 0.0003022366), + ("עטיה", 0.0005034997), + ("עיסא", 0.0006968992), + ("עלי", 0.0005897716), + ("עליאן", 0.0004195071), + ("עמאש", 0.0007673299), + ("עמירה", 0.0002892445), + ("עמית", 0.0002748849), + ("עמר", 0.0016504488), + ("עמרם", 0.0003889644), + ("עתאמנה", 0.0002793295), + ("פאר", 0.0003968280), + ("פדידה", 0.0003054276), + ("פוגל", 0.0002887887), + ("פולק", 0.0004996249), + ("פוקס", 0.0005276604), + ("פורמן", 0.0002810390), + ("פורת", 0.0004169999), + ("פז", 0.0004270288), + ("פחימה", 0.0003316397), + ("פינטו", 0.0004175697), + ("פינקלשטיין", 0.0002802412), + ("פישמן", 0.0003597892), + ("פישר", 0.0005738164), + ("פלג", 0.0005474904), + ("פלד", 0.0006111971), + ("פלדמן", 0.0009019232), + ("פנחס", 0.0004459471), + ("פרי", 0.0004665749), + ("פריד", 0.0004208747), + ("פרידמן", 0.0021022082), + ("פרנקל", 0.0005776913), + ("פרץ", 0.0032042548), + ("פרקש", 0.0002779619), + ("צברי", 0.0004600788), + ("צדוק", 0.0005442994), + ("צור", 0.0007644808), + ("צמח", 0.0003528373), + ("צרפתי", 0.0006094877), + ("קאופמן", 0.0004456052), + ("קאסם", 0.0004601928), + ("קדוש", 0.0008008358), + ("קוגן", 0.0005499976), + ("קורן", 0.0007404340), + ("קינן", 0.0003089606), + ("קליין", 0.0013318012), + ("קמחי", 0.0003147728), + ("קפלן", 0.0006849328), + ("קרמר", 0.0003504440), + ("קרן", 0.0004678285), + ("ראובן", 0.0005415642), + ("רביבו", 0.0004157463), + ("רבינוביץ", 0.0007378128), + ("רגב", 0.0003989933), + ("רובין", 0.0008423192), + ("רובינשטיין", 0.0004026402), + ("רוזן", 0.0006486918), + ("רוזנברג", 0.0010279691), + ("רוזנטל", 0.0004416164), + ("רוזנפלד", 0.0005364357), + ("רוט", 0.0005014483), + ("רוטמן", 0.0003188756), + ("רוטנברג", 0.0003187616), + ("רון", 0.0003961442), + ("רונן", 0.0003698181), + ("רז", 0.0007521725), + ("רזניק", 0.0003017807), + ("רחמים", 0.0006912009), + ("ריאן", 0.0003526093), + ("רפאל", 0.0002712380), + ("שאהין", 0.0004059452), + ("שאול", 0.0004735268), + ("שביט", 0.0003130633), + ("שבתאי", 0.0003979676), + ("שגב", 0.0004646375), + ("שגיא", 0.0003531792), + ("שדה", 0.0004417304), + ("שוויקי", 0.0005047533), + ("שוורץ", 0.0007591244), + ("שולמן", 0.0002952847), + ("שוקרון", 0.0005164918), + ("שור", 0.0003898761), + ("שורץ", 0.0009575384), + ("שושן", 0.0006843630), + ("שחאדה", 0.0007848806), + ("שחר", 0.0009679092), + ("שטיין", 0.0004781994), + ("שטיינברג", 0.0003252576), + ("שטרית", 0.0005996866), + ("שטרן", 0.0009997056), + ("שי", 0.0003206990), + ("שיבלי", 0.0003172800), + ("שיטרית", 0.0004501638), + ("שכטר", 0.0005425899), + ("שלבי", 0.0003711857), + ("שלו", 0.0005757539), + ("שלום", 0.0011007931), + ("שלמה", 0.0004264590), + ("שם טוב", 0.0004130111), + ("שמואל", 0.0006326227), + ("שמואלי", 0.0004719313), + ("שמיר", 0.0004115295), + ("שמעון", 0.0003597892), + ("שמעוני", 0.0005021321), + ("שמש", 0.0010336674), + ("שני", 0.0004502778), + ("שניידר", 0.0004392232), + ("שפירא", 0.0013031958), + ("שפר", 0.0003430362), + ("שקד", 0.0004860630), + ("שרביט", 0.0003365402), + ("שרון", 0.0007520585), + ("שריקי", 0.0003716416), + ("שרעבי", 0.0010047201), + ("שרף", 0.0003082768), + ("ששון", 0.0009562848), + ("תורג'מן", 0.0004513035), + ("תורגמן", 0.0005209364), + ("תמיר", 0.0002928914), + ) + ) - )) + # Source :https://he.transperfect.com/services/languages.html + language_names = ( + "אוג'יבווי", + "אוזבקית", + "אויגור", + "אוסטית", + "אוקראינית", + "אורדו", + "אורומו", + "אורייה", + "אזרבייג'נית", + "איבאנאג", + "איגבו", + "איטלקית", + "אילונגו", + "אילוקנו", + "אינדונזית", + "אינוקטיטוט", + "איסלנדית", + "אירית", + "אלבנית", + "אמהרית", + "אנגלית", + "אנגלית-פידג'ין", + "אסטונית", + "אסמית", + "אפריקאנס", + "אקאן", + "ארמנית", + "אשורית", + "בהדיני", + "בולגרית", + "בוסנית", + "בורמזית", + "ביסאיה", + "בלרוסית", + "במברה", + "בנגלית", + "בסקית", + "ברבנס", + "בשקירית", + "ג'קרטנז", + "גאלית", + "גוג'ראטית", + "גוואנשי", + "גוראני", + "גליציאנית", + "גנדה", + "גרוזינית", + "גרמנית", + "דארי", + "דזונקה", + "דיבהי", + "דיולה", + "דינקה", + "דנית", + "דקוטה", + "האוסה", + "האקה", + "הולנדית", + "הונגרית", + "היליגיינון", + "הינדי", + "הינדית", + "הינדית פיג'יאנית", + "המונג", + "וולוף", + "וולשית", + "וייטנאמית", + "ונדה", + "זולו", + "ח'לח'י", + "חמרית", + "חסניאית", + "טג'יקית", + "טגלוג", + "טונגאית", + "טורקית", + "טורקמנית", + "טיבטית", + "טייוואני", + "טלוגו", + "טמילית", + "טסוואנה", + "טשילובה", + "יאו", + "יאווה", + "יאוית", + "יוונית", + "יופיק", + "יורובה", + "יידיש", + "יפנית", + "כורדית", + "כשדית", + "לאו", + "לאו", + "לוגוסה", + "לוגנדה", + "לוקסמבורגית", + "לטבית", + "לטינית", + "ליטאית", + "לינגלה", + "לקוטה", + "מאאי", + "מאורית", + "מאנדינקה", + "מולדובנית", + "מונגולית", + "מיין", + "מיקסטקו", + "מירפורי", + "מלאית", + "מלגשית", + "מלטזית", + "מליאלאם", + "מנדינגו", + "מנדרינית", + "מקדונית", + "מראטהי", + "מרשלזית", + "נבאחו", + "נוארית", + "נורבגית", + "נייאנג'ה", + "נפאלית", + "נפוליטנית", + "סבואנו", + "סווהילית", + "סוטו", + "סומאלית", + "סונדנזית", + "סונינקה", + "סוסו", + "סוראני", + "סילהטי", + "סינדהי", + "סינהלה", + "סיסוואטי/סוואזי", + "סיצ'ואן", + "סיציליאנית", + "סלובנית", + "סלובקית", + "סמואית", + "סנגו", + "סנסקריט", + "ספרדית", + "סרבית", + "עברית", + "ערבית", + "פאהארי", + "פאנטה", + "פארואזית", + "פוג'ואו", + "פוזהו", + "פוטווארי", + "פוטיאן", + "פולאני", + "פולאר", + "פולה", + "פולנית", + "פורטוגזית", + "פטואה", + "פינית", + "פלמית", + "פמפנגה", + "פנג'אבי", + "פריזית", + "פרסית", + "פשטו", + "צ'אוזו", + "צ'בקאנו", + "צ'וקסית", + "צ'ין", + "צ'כית", + "צ'מורואית", + "צונגה", + "ציילונית", + "צרפתית", + "צרפתית קנדית", + "קאנדה", + "קארן", + "קווה", + "קוטוקולי", + "קוסה", + "קוסובן", + "קוריאנית", + "קורמנג'י", + "קזחית", + "קטלנית", + "קינירואנדה", + "קיקויו", + "קירגיזית", + "קירונדי", + "קירונדי", + "קמבודית", + "קנג'ובל", + "קנטונזית", + "קצ'ואה", + "קרואטית", + "קרי", + "קריאולית האיטית", + "קריו", + "קשמירית", + "רומאני", + "רומאנש", + "רומנית", + "רוסית", + "שבדית", + "שונה", + "שנחאית", + "שפת הסימנים האמריקאית", + "תאילנדית", + "תיגרינית", + ) diff --git a/faker/providers/person/hi_IN/__init__.py b/faker/providers/person/hi_IN/__init__.py index ec28a95b02..d5aebad4d5 100644 --- a/faker/providers/person/hi_IN/__init__.py +++ b/faker/providers/person/hi_IN/__init__.py @@ -3,9 +3,9 @@ class Provider(PersonProvider): formats = ( - '{{first_name}} {{last_name}}', - '{{first_name}} {{last_name}}', - '{{last_name}}, {{first_name}}', + "{{first_name}} {{last_name}}", + "{{first_name}} {{last_name}}", + "{{last_name}}, {{first_name}}", ) # First 20 names from here @@ -13,226 +13,228 @@ class Provider(PersonProvider): # Next 20 names from here # https://www.babycenter.in/l25020674/top-20-indian-girls-names-of-2016-photos first_names = ( - 'मुहम्मद', - 'आरव', - 'अर्जुन', - 'रायन', - 'आद्विक', - 'अथर्व', - 'रेयांश', - 'अयान', - 'विहान', - 'साई', - 'अद्वैत', - 'शौर्य', - 'विआन', - 'आरुष', - 'इशान', - 'अयांश', - 'पार्थ', - 'देन्यल', - 'किआन', - 'विवान', - 'आद्या', - 'अनन्या', - 'शनाया', - 'फ़ातिमा', - 'श्री', - 'अनाया', - 'अनिका', - 'मायरा', - 'इनाया', - 'अमायरा', - 'आन्वी', - 'स्वरा', - 'ज़ारा', - 'मरियम', - 'आराध्या', - 'तन्वी', - 'दीया', - 'अद्विका', - 'ईवा', - 'आव्या', - 'अभय', - 'आदित्य', - 'अजित', - 'अखिल', - 'अमर', - 'आनन्द', - 'अंकुर', - 'अनुपम', - 'अशोक', - 'चन्दना', - 'गणेश', - 'गौतम', - 'गोविंदा', - 'हनुमान्', - 'इन्द्रजित', - 'ईश', - 'जगन्नाथ', - 'जगदीश', - 'जयदेव', - 'जितेन्द्र', - 'कैलाश', - 'कालिदास', - 'कम्बोज', - 'किरण', - 'ललित', - 'मानदीप', - 'मोहन', - 'मुकेश', - 'नरेन्द्र', - 'नारायण', - 'निखिल', - 'प्रभाकर', - 'प्रबोध', - 'प्रदीप', - 'प्रणव', - 'प्रेम', - 'राजीव', - 'रतन', - 'रोहन', - 'विष्णु', - 'विक्रम', - 'विजया', - 'विजय', - 'विवेक', - 'यश', - 'अभिलाषा', - 'अदिती', - 'ऐश्वर्या', - 'अमिता', - 'अंकिता', - 'आशा', - 'अवनी', - 'भरत', - 'चेतना', - 'दिव्या', - 'एषा', - 'इन्दु', - 'जया', - 'जयन्ती', - 'ज्योत्सना', - 'कान्ती', - 'कुमारी', - 'लता', - 'लीला', - 'मालती', - 'मोहिनी', - 'निशा', - 'पूर्णिमा', - 'पुष्पा', - 'रचना', - 'रजनी', - 'रश्मी', - 'रिया', - 'सरला', - 'सरस्वती', - 'सावित्री', - 'शक्ति', - 'शान्ता', - 'शर्मिला', - 'श्यामा', - 'सुलभा', - 'तृष्णा', - 'विद्या', - 'अली', - 'हासन', - 'हुसैन', - 'ज़ाकिर', - 'रिज़वान', - 'फ़रहान', - 'ज़ोया') + "मुहम्मद", + "आरव", + "अर्जुन", + "रायन", + "आद्विक", + "अथर्व", + "रेयांश", + "अयान", + "विहान", + "साई", + "अद्वैत", + "शौर्य", + "विआन", + "आरुष", + "इशान", + "अयांश", + "पार्थ", + "देन्यल", + "किआन", + "विवान", + "आद्या", + "अनन्या", + "शनाया", + "फ़ातिमा", + "श्री", + "अनाया", + "अनिका", + "मायरा", + "इनाया", + "अमायरा", + "आन्वी", + "स्वरा", + "ज़ारा", + "मरियम", + "आराध्या", + "तन्वी", + "दीया", + "अद्विका", + "ईवा", + "आव्या", + "अभय", + "आदित्य", + "अजित", + "अखिल", + "अमर", + "आनन्द", + "अंकुर", + "अनुपम", + "अशोक", + "चन्दना", + "गणेश", + "गौतम", + "गोविंदा", + "हनुमान्", + "इन्द्रजित", + "ईश", + "जगन्नाथ", + "जगदीश", + "जयदेव", + "जितेन्द्र", + "कैलाश", + "कालिदास", + "कम्बोज", + "किरण", + "ललित", + "मानदीप", + "मोहन", + "मुकेश", + "नरेन्द्र", + "नारायण", + "निखिल", + "प्रभाकर", + "प्रबोध", + "प्रदीप", + "प्रणव", + "प्रेम", + "राजीव", + "रतन", + "रोहन", + "विष्णु", + "विक्रम", + "विजया", + "विजय", + "विवेक", + "यश", + "अभिलाषा", + "अदिती", + "ऐश्वर्या", + "अमिता", + "अंकिता", + "आशा", + "अवनी", + "भरत", + "चेतना", + "दिव्या", + "एषा", + "इन्दु", + "जया", + "जयन्ती", + "ज्योत्सना", + "कान्ती", + "कुमारी", + "लता", + "लीला", + "मालती", + "मोहिनी", + "निशा", + "पूर्णिमा", + "पुष्पा", + "रचना", + "रजनी", + "रश्मी", + "रिया", + "सरला", + "सरस्वती", + "सावित्री", + "शक्ति", + "शान्ता", + "शर्मिला", + "श्यामा", + "सुलभा", + "तृष्णा", + "विद्या", + "अली", + "हासन", + "हुसैन", + "ज़ाकिर", + "रिज़वान", + "फ़रहान", + "ज़ोया", + ) last_names = ( - 'पाटिल', - 'शर्मा', - 'आचार्य', - 'अग्रवाल', - 'सिंह', - 'अहलुवालिया', - 'आहूजा', - 'पुष्कर', - 'शिरोळे', - 'गायकवाड', - 'गावित', - 'शिरोळे', - 'बापट', - 'अरोड़ा', - 'बाबू', - 'बादामी', - 'जमानत', - 'बजाज', - 'बक्षी', - 'बालकृष्णन', - 'बालासुब्रमणियम', - 'बसु', - 'भंडारी', - 'चौधरी', - 'चौहान', - 'छाबरा', - 'दादा', - 'डानी', - 'डार', - 'दारा', - 'दत्ता', - 'दवे', - 'दयाल', - 'धालीवाल', - 'दीक्षित', - 'दोषी', - 'दुआ', - 'दूबे', - 'ढींगरा', - 'वाल', - 'साया', - 'बना', - 'ड़ाल', - 'गर्ग', - 'गणेश', - 'गांगुली', - 'गुप्ता', - 'हेगडे', - 'जोशी', - 'काले', - 'कृष्णा', - 'कृष्णमूर्ति', - 'कृष्णन', - 'कुलकर्णी', - 'कुमार', - 'कुण्डा', - 'नाम', - 'रामलला', - 'लता', - 'लोदी', - 'लोकनाट्यों', - 'विकावि', - 'लाल', - 'लाला', - 'वफादार', - 'लूथरा', - 'मदन', - 'मगर', - 'भारत', - 'महावीर', - 'महादेव', - 'महाजन', - 'महाराज', - 'मजूमदार', - 'मल्लिक', - 'सेनाधीश', - 'माने', - 'मंगल', - 'मंगत', - 'रामशर्मा', - 'मणि', - 'मान', - 'श्रीविमल', - 'कुमार', - 'मंडल', - 'अली', - 'हासन', - 'हुसैन', - 'खान', - 'अब्बासी', - 'नूरानी') + "पाटिल", + "शर्मा", + "आचार्य", + "अग्रवाल", + "सिंह", + "अहलुवालिया", + "आहूजा", + "पुष्कर", + "शिरोळे", + "गायकवाड", + "गावित", + "शिरोळे", + "बापट", + "अरोड़ा", + "बाबू", + "बादामी", + "जमानत", + "बजाज", + "बक्षी", + "बालकृष्णन", + "बालासुब्रमणियम", + "बसु", + "भंडारी", + "चौधरी", + "चौहान", + "छाबरा", + "दादा", + "डानी", + "डार", + "दारा", + "दत्ता", + "दवे", + "दयाल", + "धालीवाल", + "दीक्षित", + "दोषी", + "दुआ", + "दूबे", + "ढींगरा", + "वाल", + "साया", + "बना", + "ड़ाल", + "गर्ग", + "गणेश", + "गांगुली", + "गुप्ता", + "हेगडे", + "जोशी", + "काले", + "कृष्णा", + "कृष्णमूर्ति", + "कृष्णन", + "कुलकर्णी", + "कुमार", + "कुण्डा", + "नाम", + "रामलला", + "लता", + "लोदी", + "लोकनाट्यों", + "विकावि", + "लाल", + "लाला", + "वफादार", + "लूथरा", + "मदन", + "मगर", + "भारत", + "महावीर", + "महादेव", + "महाजन", + "महाराज", + "मजूमदार", + "मल्लिक", + "सेनाधीश", + "माने", + "मंगल", + "मंगत", + "रामशर्मा", + "मणि", + "मान", + "श्रीविमल", + "कुमार", + "मंडल", + "अली", + "हासन", + "हुसैन", + "खान", + "अब्बासी", + "नूरानी", + ) diff --git a/faker/providers/person/hr_HR/__init__.py b/faker/providers/person/hr_HR/__init__.py index c0c2e6e224..9782a71138 100755 --- a/faker/providers/person/hr_HR/__init__.py +++ b/faker/providers/person/hr_HR/__init__.py @@ -2,177 +2,1030 @@ class Provider(PersonProvider): - formats = ['{{first_name}} {{last_name}}'] + formats = ["{{first_name}} {{last_name}}"] first_names_male = [ - "Aldo", "Alen", "Andrija", "Ante", "Anto", "Anton", "Antonio", - "Antun", "Boris", "Božo", "Branko", "Bruno", "Dalibor", "Damir", - "Danijel", "Dario", "Darko", "David", "Davor", "Dejan", "Denis", - "Dino", "Domagoj", "Dominik", "Dragan", "Dragutin", "Dražen", - "Duje", "Dušan", "Elvis", "Erik", "Filip", "Fran", "Franjo", - "Goran", "Hrvoje", "Igor", "Ilija", "Ivan", "Ivica", "Ivo", - "Jakov", "Janko", "Josip", "Joso", "Jozo", "Joško", "Juraj", - "Jure", "Karlo", "Kristijan", "Leon", "Lovre", "Lovro", "Luka", - "Marijan", "Marin", "Mario", "Marko", "Martin", "Mate", "Matej", - "Mateo", "Matija", "Mato", "Mihael", "Mijo", "Milan", "Mile", - "Mirko", "Miroslav", "Mislav", "Mladen", "Nenad", "Niko", - "Nikola", "Nikša", "Patrik", "Pavao", "Pero", "Petar", "Robert", - "Roko", "Romano", "Rudolf", "Saša", "Siniša", "Slavko", "Stjepan", - "Tomislav", "Tomo", "Toni", "Valter", "Vedran", "Viktor", - "Vjekoslav", "Vladimir", "Vlado", "Zdravko", "Zlatko", "Zoran", - "Zvonko", "Đuro", "Šime", "Željko", + "Aldo", + "Alen", + "Andrija", + "Ante", + "Anto", + "Anton", + "Antonio", + "Antun", + "Boris", + "Božo", + "Branko", + "Bruno", + "Dalibor", + "Damir", + "Danijel", + "Dario", + "Darko", + "David", + "Davor", + "Dejan", + "Denis", + "Dino", + "Domagoj", + "Dominik", + "Dragan", + "Dragutin", + "Dražen", + "Duje", + "Dušan", + "Elvis", + "Erik", + "Filip", + "Fran", + "Franjo", + "Goran", + "Hrvoje", + "Igor", + "Ilija", + "Ivan", + "Ivica", + "Ivo", + "Jakov", + "Janko", + "Josip", + "Joso", + "Jozo", + "Joško", + "Juraj", + "Jure", + "Karlo", + "Kristijan", + "Leon", + "Lovre", + "Lovro", + "Luka", + "Marijan", + "Marin", + "Mario", + "Marko", + "Martin", + "Mate", + "Matej", + "Mateo", + "Matija", + "Mato", + "Mihael", + "Mijo", + "Milan", + "Mile", + "Mirko", + "Miroslav", + "Mislav", + "Mladen", + "Nenad", + "Niko", + "Nikola", + "Nikša", + "Patrik", + "Pavao", + "Pero", + "Petar", + "Robert", + "Roko", + "Romano", + "Rudolf", + "Saša", + "Siniša", + "Slavko", + "Stjepan", + "Tomislav", + "Tomo", + "Toni", + "Valter", + "Vedran", + "Viktor", + "Vjekoslav", + "Vladimir", + "Vlado", + "Zdravko", + "Zlatko", + "Zoran", + "Zvonko", + "Đuro", + "Šime", + "Željko", ] first_names_female = [ - "Albina", "Ana", "Andrea", "Ane", "Anica", "Anita", "Anka", - "Ankica", "Antonija", "Anđa", "Anđela", "Bara", "Barbara", - "Barica", "Biljana", "Biserka", "Božena", "Božica", "Branka", - "Danica", "Danijela", "Dora", "Draga", "Dragica", "Elizabeta", - "Ema", "Eva", "Franciska", "Fuma", "Gordana", "Hana", "Ika", - "Iva", "Ivana", "Ivanka", "Ivka", "Jadranka", "Jana", "Janja", - "Jasminka", "Jasna", "Jele", "Jelena", "Josipa", "Julijana", - "Karla", "Kata", "Katarina", "Kate", "Katica", "Kristina", "Lana", - "Lara", "Laura", "Lea", "Lidija", "Ljiljana", "Ljubica", "Lorena", - "Lucija", "Maja", "Manda", "Mara", "Mare", "Maria", "Marica", - "Marija", "Marijana", "Marina", "Marta", "Martina", "Matea", - "Mateja", "Matija", "Mia", "Milena", "Milica", "Milka", "Mira", - "Mirjana", "Nada", "Nataša", "Nevenka", "Nika", "Nikolina", - "Nina", "Petra", "Renata", "Rozalija", "Ruža", "Ružica", - "Sandra", "Sanja", "Sara", "Slavica", "Snježana", "Stana", - "Suzana", "Tatjana", "Tea", "Terezija", "Valentina", "Vera", - "Veronika", "Vesna", "Zdenka", "Zora", "Zorka", "Đurđica", - "Štefanija", "Štefica", "Željka", + "Albina", + "Ana", + "Andrea", + "Ane", + "Anica", + "Anita", + "Anka", + "Ankica", + "Antonija", + "Anđa", + "Anđela", + "Bara", + "Barbara", + "Barica", + "Biljana", + "Biserka", + "Božena", + "Božica", + "Branka", + "Danica", + "Danijela", + "Dora", + "Draga", + "Dragica", + "Elizabeta", + "Ema", + "Eva", + "Franciska", + "Fuma", + "Gordana", + "Hana", + "Ika", + "Iva", + "Ivana", + "Ivanka", + "Ivka", + "Jadranka", + "Jana", + "Janja", + "Jasminka", + "Jasna", + "Jele", + "Jelena", + "Josipa", + "Julijana", + "Karla", + "Kata", + "Katarina", + "Kate", + "Katica", + "Kristina", + "Lana", + "Lara", + "Laura", + "Lea", + "Lidija", + "Ljiljana", + "Ljubica", + "Lorena", + "Lucija", + "Maja", + "Manda", + "Mara", + "Mare", + "Maria", + "Marica", + "Marija", + "Marijana", + "Marina", + "Marta", + "Martina", + "Matea", + "Mateja", + "Matija", + "Mia", + "Milena", + "Milica", + "Milka", + "Mira", + "Mirjana", + "Nada", + "Nataša", + "Nevenka", + "Nika", + "Nikolina", + "Nina", + "Petra", + "Renata", + "Rozalija", + "Ruža", + "Ružica", + "Sandra", + "Sanja", + "Sara", + "Slavica", + "Snježana", + "Stana", + "Suzana", + "Tatjana", + "Tea", + "Terezija", + "Valentina", + "Vera", + "Veronika", + "Vesna", + "Zdenka", + "Zora", + "Zorka", + "Đurđica", + "Štefanija", + "Štefica", + "Željka", ] first_names = first_names_female + first_names_male last_names = [ - "Abičić", "Abramović", "Adžijević", "Akmačić", "Alković", - "Amanović", "Amidžić", "Andrašek", "Andrijašević", "Andrijević", - "Aničić", "Antić", "Antolković", "Antonić", "Babić", "Bajan", - "Baksa", "Balatinac", "Balinčić", "Balić", "Baljak", "Ban", - "Baničević", "Banko", "Banovac", "Barac", "Barać", "Barbieri", - "Barbir", "Barbić", "Barešić", "Barić", "Baričević", "Barišić", - "Barković", "Barnaba", "Barušić", "Batrac", "Batrnek", "Bazjak", - "Bačak", "Bačić", "Bašić", "Bašnec", "Bebić", "Begonja", "Beletić", - "Belošević", "Benić", "Benčić", "Beraković", "Bernardić", "Bertoša", - "Bezić", "Bijelić", "Bingula", "Birkić", "Birtić", "Bićanić", - "Bičak", "Bičanić", "Bjeliš", "Blagaić", "Blažek", "Blažević", - "Blažičko", "Boban", "Bobanović", "Bogadi", "Bogdan", "Bogović", - "Bojanić", "Boljkovac", "Bolčević", "Borak", "Borojević", "Borošak", - "Bosilj", "Botica", "Botić", "Bošnjak", "Bošnjaković", "Božanić", - "Božanović", "Božiković", "Božić", "Božičević", "Božičković", - "Bradić", "Brajković", "Bralić", "Brandić", "Branković", "Bračun", - "Brcko", "Brezjan", "Britvec", "Brlas", "Brlek", "Brletić", "Bukvić", - "Buljan", "Bungić", "Bunić", "Bunčić", "Burić", "Burčul", "Buršić", - "Butković", "Buzov", "Bučanac", "Bučar", "Bušljeta", "Cafuk", "Car", - "Carić", "Cestarić", "Ciganović", "Cik", "Cindrić", "Colić", "Crevar", - "Crneković", "Crnković", "Cukon", "Culi", "Cvenić", "Cvetković", - "Cvetnić", "Cvitan", "Cvrtila", "Dabo", "Damijanić", "Damjanović", - "Darojković", "Dautanec", "Dautović", "Debelić", "Derežić", "Deže", - "Didović", "Dizdar", "Dobrić", "Dolinar", "Dolić", "Dominiković", - "Dominković", "Dončević", "Dragičević", "Dragobratović", "Dragojević", - "Drakulić", "Drandić", "Dražić", "Dretvić", "Dubovečak", "Dujmović", - "Dukić", "Duvančić", "Dvojak", "Džapo", "Erceg", "Ercegović", - "Ergotić", "Eršek", "Eterović", "Fabijanić", "Ferenac", "Filar", - "Filipović", "Filipčić", "Flego", "Forjan", "Franić", "Franičević", - "Franjić", "Franušić", "Friščić", "Frketić", "Fuček", "Gabud", - "Galešić", "Galić", "Galović", "Gegić", "Gelemanović", "Glasnović", - "Glavan", "Glavor", "Gligora", "Godinić", "Golubić", "Gotić", - "Govorčinović", "Gracin", "Grba", "Grbac", "Gredičak", "Gregov", - "Grgić", "Grgurević", "Grgurić", "Grgurovac", "Grubišić", "Gržetić", - "Gržinčić", "Guberović", "Gudelj", "Gulan", "Guštin", "Hadrović", - "Hadžić", "Halambek", "Halapir", "Hanžek", "Harapin", "Hardi", - "Herceg", "Herout", "Hećimović", "Hinić", "Hodak", "Horak", "Horvat", - "Horvatek", "Horvatinec", "Horvatić", "Hrabar", "Hranić", "Hranj", - "Hrastinski", "Hren", "Hrvojić", "Hršak", "Hrženjak", "Huljev", - "Husnjak", "Ignac", "Ilijić", "Ilinović", "Ilić", "Ivandić", - "Ivanović", "Ivančan", "Ivšić", "Jagarinec", "Jagečić", "Jakopec", - "Jakopović", "Jakovac", "Jaković", "Jakovljević", "Jakupić", "Jakuš", - "Jasprica", "Jelavić", "Jelić", "Jemrić", "Jerković", "Jonjić", - "Josipović", "Jovanovac", "Jovanović", "Jović", "Jozić", "Jugovac", - "Jukić", "Juretić", "Jureško", "Jurić", "Jurišić", "Jurjević", - "Jurković", "Jurlina", "Jurčić", "Kadija", "Kahlina", "Kalanjoš", - "Kalazić", "Kaniški", "Karagić", "Karamarko", "Karlović", "Karmelić", - "Karuza", "Katić", "Kauzlarić", "Keleković", "Kelečić", "Kelić", - "Kereković", "Kevo", "Kinkela", "Kirinčić", "Klanac", "Klarin", - "Klarić", "Klasić", "Kligl", "Knezović", "Knežević", "Kocijančić", - "Kokanović", "Kokorić", "Kolarec", "Kolega", "Kolić", "Komar", - "Komljenović", "Kopjar", "Kos", "Kosanović", "Kosić", "Kostanić", - "Kostelac", "Kovač", "Kovaček", "Kovačević", "Kovačić", "Koški", - "Koščević", "Krajcar", "Kralj", "Kraljević", "Kraljić", "Kramarić", - "Kresonja", "Križan", "Krpan", "Krznarić", "Krčelić", "Kršanac", - "Krželj", "Kujundžić", "Kukučka", "Kunac", "Kupsjak", "Kurtoić", - "Kuveždić", "Kuzmić", "Kučić", "Kuščević", "Labaš", "Labinjan", - "Ladavac", "Lakošeljac", "Lasić", "Lazar", "Legović", "Lelas", - "Lenić", "Lešić", "Lešković", "Leščić", "Liber", "Licul", "Liović", - "Lisica", "Ljubetić", "Ljubić", "Ljubičić", "Lojen", "Lorencin", - "Lovrić", "Lucić", "Lukinić", "Lukić", "Lukša", "Lukšić", "Lučić", - "Macan", "Madunić", "Magić", "Mahnet", "Majdenić", "Majstorović", - "Makovac", "Maletić", "Malnar", "Maloča", "Mamić", "Mamula", "Maras", - "Marasović", "Maraš", "Mardešić", "Maretić", "Marijanović", "Marin", - "Marinković", "Marinović", "Marić", "Maričević", "Marjanović", - "Markanjević", "Markovac", "Marković", "Markuš", "Martinić", - "Martinović", "Martinčević", "Martić", "Marušić", "Maršić", "Maržić", - "Matahlija", "Matana", "Matas", "Mateša", "Matijaš", "Matijević", - "Matić", "Matko", "Matković", "Matokanović", "Matovina", "Matošević", - "Matulin", "Matulić", "Mavra", "Maćešić", "Medač", "Medić", "Medved", - "Meić", "Merkaš", "Mesarić", "Mesić", "Mihalić", "Mihaljević", - "Mihelčić", "Mihić", "Mikić", "Miklečić", "Mikulandra", "Mikulec", - "Mikulčić", "Milas", "Milatić", "Miletić", "Milevoj", "Milina", - "Miličić", "Miloslavić", "Milotić", "Milovac", "Mimica", "Miočić", - "Mirosavljević", "Mirt", "Mičetić", "Mišak", "Miše", "Mišković", - "Modrić", "Mofardin", "Morić", "Moscarda", "Moslavac", "Močibob", - "Mraović", "Mudri", "Mudronja", "Mustapić", "Mustač", "Mušćet", - "Mužina", "Mužić", "Nakić", "Načinović", "Nedić", "Nikolić", "Nimac", - "Nišević", "Nižetić", "Norac", "Novak", "Novosel", "Obradović", - "Obratov", "Odobašić", "Orbanić", "Orešković", "Orlić", "Orlović", - "Oršolić", "Oršoš", "Oršulić", "Ozimec", "Pajur", "Palić", "Pamić", - "Pandurić", "Papak", "Paparić", "Paradi", "Pavelić", "Pavin", "Pavić", - "Pavičić", "Pavković", "Pavlović", "Pecotić", "Pedišić", "Peharda", - "Penić", "Perak", "Perić", "Perišić", "Perkov", "Perković", "Peroš", - "Peruško", "Perčić", "Petek", "Peterlik", "Petrić", "Petričević", - "Petrović", "Pečur", "Peša", "Pešić", "Pikec", "Piljek", "Pintarić", - "Plantak", "Plantek", "Plažanin", "Pleše", "Pokas", "Pokos", "Polić", - "Poljak", "Polonijo", "Polović", "Pongrac", "Popović", "Poropat", - "Poslon", "Pozder", "Požega", "Predovan", "Prelec", "Preočanin", - "Pribanić", "Priselac", "Prpić", "Prskalo", "Prtenjača", "Puharić", - "Puljiz", "Putinja", "Puškarić", "Radelić", "Radin", "Radinović", - "Radić", "Radman", "Radojković", "Radolović", "Radović", "Radočaj", - "Radošević", "Raguž", "Rahija", "Rajn", "Rajčić", "Rakela", "Rakuljić", - "Raljević", "Raspor", "Rastija", "Rađenović", "Rašeta", "Rašić", - "Ražov", "Rebić", "Rendulić", "Resanović", "Ribarić", "Ribić", - "Ribičić", "Rijetković", "Risek", "Ritoša", "Ričko", "Roca", "Roce", - "Rogošić", "Rojnić", "Roso", "Rubeša", "Rubinić", "Rukavina", "Rumora", - "Sabljak", "Sabol", "Sakač", "Salopek", "Sardelić", "Sedlar", - "Semialjac", "Seničić", "Seršić", "Sever", "Sikirić", "Simić", - "Sinožić", "Sirotić", "Skupnjak", "Sladonja", "Slavica", "Smoković", - "Smolić", "Sobota", "Sokač", "Sokić", "Sokol", "Soldo", "Solomun", - "Sorić", "Sošić", "Sršen", "Stanić", "Staničić", "Stančin", - "Starčević", "Stipanović", "Stiperski", "Stojanov", "Stojnić", - "Stojčević", "Stolnik", "Stošić", "Stražičić", "Strinavić", "Stupalo", - "Surać", "Svetličić", "Tepeš", "Terlević", "Terzić", "Tešija", - "Tisaj", "Toić", "Tolj", "Tomić", "Tomičić", "Tomljanović", "Tonc", - "Topić", "Totić", "Trbović", "Trgovčić", "Triplat", "Trnski", - "Trutanić", "Tudić", "Tudor", "Tuksar", "Turina", "Turk", "Turudić", - "Turčinov", "Tuđa", "Tušek", "Tuškan", "Ugrinić", "Ukić", "Urlić", - "Ušić", "Vaci", "Valentić", "Valjetić", "Varga", "Veić", "Vela", - "Vidaković", "Vidas", "Vidov", "Vidović", "Viljevac", "Vincetić", - "Vitasović", "Vižintin", "Vladislavić", "Vlašić", "Vojković", - "Volarević", "Volarić", "Vorkapić", "Vozila", "Vrabelj", "Vranić", - "Vrban", "Vretenar", "Vrhovec", "Vugdelija", "Vugec", "Vuk", - "Vukman", "Vukobratović", "Vuković", "Vukušić", "Vuljak", "Vučetić", - "Vučin", "Vučković", "Zakinja", "Zanoški", "Zeba", "Zebec", "Zelić", - "Zgorelec", "Zmaić", "Zrilić", "Zrinski", "Zubčić", "Ćorić", "Ćosić", - "Ćurić", "Čagalj", "Čargonja", "Čizmić", "Čiš", "Čižmešija", "Čop", - "Čotić", "Čović", "Čubrić", "Čudić", "Čukman", "Čulina", "Čuljak", - "Čupić", "Čuček", "Đurašević", "Đurinić", "Šalić", "Šantić", "Šargač", - "Šarić", "Šarlija", "Šegović", "Šelendić", "Šeparović", "Šestak", - "Šestan", "Šibalić", "Šimara", "Šimić", "Šimičić", "Šimunić", - "Šimunović", "Šinković", "Šipek", "Šipić", "Šitum", "Škara", "Škoda", - "Škrlin", "Škrnički", "Škrtić", "Škugor", "Škunca", "Šokčević", - "Šošić", "Šoštarić", "Špika", "Špišić", "Špoljarić", "Špralja", - "Štefanec", "Štefović", "Štifanić", "Štimac", "Štrbac", "Štrljić", - "Šturlan", "Šunjić", "Šupraha", "Šuran", "Šurbek", "Šurina", "Šverko", - "Žabjačan", "Žagar", "Žerjav", "Žeželić", "Žic", "Žiković", "Živić", - "Živković", "Žufika", "Žugec", "Žunec", "Županić", "Žuvela", "Žužić", + "Abičić", + "Abramović", + "Adžijević", + "Akmačić", + "Alković", + "Amanović", + "Amidžić", + "Andrašek", + "Andrijašević", + "Andrijević", + "Aničić", + "Antić", + "Antolković", + "Antonić", + "Babić", + "Bajan", + "Baksa", + "Balatinac", + "Balinčić", + "Balić", + "Baljak", + "Ban", + "Baničević", + "Banko", + "Banovac", + "Barac", + "Barać", + "Barbieri", + "Barbir", + "Barbić", + "Barešić", + "Barić", + "Baričević", + "Barišić", + "Barković", + "Barnaba", + "Barušić", + "Batrac", + "Batrnek", + "Bazjak", + "Bačak", + "Bačić", + "Bašić", + "Bašnec", + "Bebić", + "Begonja", + "Beletić", + "Belošević", + "Benić", + "Benčić", + "Beraković", + "Bernardić", + "Bertoša", + "Bezić", + "Bijelić", + "Bingula", + "Birkić", + "Birtić", + "Bićanić", + "Bičak", + "Bičanić", + "Bjeliš", + "Blagaić", + "Blažek", + "Blažević", + "Blažičko", + "Boban", + "Bobanović", + "Bogadi", + "Bogdan", + "Bogović", + "Bojanić", + "Boljkovac", + "Bolčević", + "Borak", + "Borojević", + "Borošak", + "Bosilj", + "Botica", + "Botić", + "Bošnjak", + "Bošnjaković", + "Božanić", + "Božanović", + "Božiković", + "Božić", + "Božičević", + "Božičković", + "Bradić", + "Brajković", + "Bralić", + "Brandić", + "Branković", + "Bračun", + "Brcko", + "Brezjan", + "Britvec", + "Brlas", + "Brlek", + "Brletić", + "Bukvić", + "Buljan", + "Bungić", + "Bunić", + "Bunčić", + "Burić", + "Burčul", + "Buršić", + "Butković", + "Buzov", + "Bučanac", + "Bučar", + "Bušljeta", + "Cafuk", + "Car", + "Carić", + "Cestarić", + "Ciganović", + "Cik", + "Cindrić", + "Colić", + "Crevar", + "Crneković", + "Crnković", + "Cukon", + "Culi", + "Cvenić", + "Cvetković", + "Cvetnić", + "Cvitan", + "Cvrtila", + "Dabo", + "Damijanić", + "Damjanović", + "Darojković", + "Dautanec", + "Dautović", + "Debelić", + "Derežić", + "Deže", + "Didović", + "Dizdar", + "Dobrić", + "Dolinar", + "Dolić", + "Dominiković", + "Dominković", + "Dončević", + "Dragičević", + "Dragobratović", + "Dragojević", + "Drakulić", + "Drandić", + "Dražić", + "Dretvić", + "Dubovečak", + "Dujmović", + "Dukić", + "Duvančić", + "Dvojak", + "Džapo", + "Erceg", + "Ercegović", + "Ergotić", + "Eršek", + "Eterović", + "Fabijanić", + "Ferenac", + "Filar", + "Filipović", + "Filipčić", + "Flego", + "Forjan", + "Franić", + "Franičević", + "Franjić", + "Franušić", + "Friščić", + "Frketić", + "Fuček", + "Gabud", + "Galešić", + "Galić", + "Galović", + "Gegić", + "Gelemanović", + "Glasnović", + "Glavan", + "Glavor", + "Gligora", + "Godinić", + "Golubić", + "Gotić", + "Govorčinović", + "Gracin", + "Grba", + "Grbac", + "Gredičak", + "Gregov", + "Grgić", + "Grgurević", + "Grgurić", + "Grgurovac", + "Grubišić", + "Gržetić", + "Gržinčić", + "Guberović", + "Gudelj", + "Gulan", + "Guštin", + "Hadrović", + "Hadžić", + "Halambek", + "Halapir", + "Hanžek", + "Harapin", + "Hardi", + "Herceg", + "Herout", + "Hećimović", + "Hinić", + "Hodak", + "Horak", + "Horvat", + "Horvatek", + "Horvatinec", + "Horvatić", + "Hrabar", + "Hranić", + "Hranj", + "Hrastinski", + "Hren", + "Hrvojić", + "Hršak", + "Hrženjak", + "Huljev", + "Husnjak", + "Ignac", + "Ilijić", + "Ilinović", + "Ilić", + "Ivandić", + "Ivanović", + "Ivančan", + "Ivšić", + "Jagarinec", + "Jagečić", + "Jakopec", + "Jakopović", + "Jakovac", + "Jaković", + "Jakovljević", + "Jakupić", + "Jakuš", + "Jasprica", + "Jelavić", + "Jelić", + "Jemrić", + "Jerković", + "Jonjić", + "Josipović", + "Jovanovac", + "Jovanović", + "Jović", + "Jozić", + "Jugovac", + "Jukić", + "Juretić", + "Jureško", + "Jurić", + "Jurišić", + "Jurjević", + "Jurković", + "Jurlina", + "Jurčić", + "Kadija", + "Kahlina", + "Kalanjoš", + "Kalazić", + "Kaniški", + "Karagić", + "Karamarko", + "Karlović", + "Karmelić", + "Karuza", + "Katić", + "Kauzlarić", + "Keleković", + "Kelečić", + "Kelić", + "Kereković", + "Kevo", + "Kinkela", + "Kirinčić", + "Klanac", + "Klarin", + "Klarić", + "Klasić", + "Kligl", + "Knezović", + "Knežević", + "Kocijančić", + "Kokanović", + "Kokorić", + "Kolarec", + "Kolega", + "Kolić", + "Komar", + "Komljenović", + "Kopjar", + "Kos", + "Kosanović", + "Kosić", + "Kostanić", + "Kostelac", + "Kovač", + "Kovaček", + "Kovačević", + "Kovačić", + "Koški", + "Koščević", + "Krajcar", + "Kralj", + "Kraljević", + "Kraljić", + "Kramarić", + "Kresonja", + "Križan", + "Krpan", + "Krznarić", + "Krčelić", + "Kršanac", + "Krželj", + "Kujundžić", + "Kukučka", + "Kunac", + "Kupsjak", + "Kurtoić", + "Kuveždić", + "Kuzmić", + "Kučić", + "Kuščević", + "Labaš", + "Labinjan", + "Ladavac", + "Lakošeljac", + "Lasić", + "Lazar", + "Legović", + "Lelas", + "Lenić", + "Lešić", + "Lešković", + "Leščić", + "Liber", + "Licul", + "Liović", + "Lisica", + "Ljubetić", + "Ljubić", + "Ljubičić", + "Lojen", + "Lorencin", + "Lovrić", + "Lucić", + "Lukinić", + "Lukić", + "Lukša", + "Lukšić", + "Lučić", + "Macan", + "Madunić", + "Magić", + "Mahnet", + "Majdenić", + "Majstorović", + "Makovac", + "Maletić", + "Malnar", + "Maloča", + "Mamić", + "Mamula", + "Maras", + "Marasović", + "Maraš", + "Mardešić", + "Maretić", + "Marijanović", + "Marin", + "Marinković", + "Marinović", + "Marić", + "Maričević", + "Marjanović", + "Markanjević", + "Markovac", + "Marković", + "Markuš", + "Martinić", + "Martinović", + "Martinčević", + "Martić", + "Marušić", + "Maršić", + "Maržić", + "Matahlija", + "Matana", + "Matas", + "Mateša", + "Matijaš", + "Matijević", + "Matić", + "Matko", + "Matković", + "Matokanović", + "Matovina", + "Matošević", + "Matulin", + "Matulić", + "Mavra", + "Maćešić", + "Medač", + "Medić", + "Medved", + "Meić", + "Merkaš", + "Mesarić", + "Mesić", + "Mihalić", + "Mihaljević", + "Mihelčić", + "Mihić", + "Mikić", + "Miklečić", + "Mikulandra", + "Mikulec", + "Mikulčić", + "Milas", + "Milatić", + "Miletić", + "Milevoj", + "Milina", + "Miličić", + "Miloslavić", + "Milotić", + "Milovac", + "Mimica", + "Miočić", + "Mirosavljević", + "Mirt", + "Mičetić", + "Mišak", + "Miše", + "Mišković", + "Modrić", + "Mofardin", + "Morić", + "Moscarda", + "Moslavac", + "Močibob", + "Mraović", + "Mudri", + "Mudronja", + "Mustapić", + "Mustač", + "Mušćet", + "Mužina", + "Mužić", + "Nakić", + "Načinović", + "Nedić", + "Nikolić", + "Nimac", + "Nišević", + "Nižetić", + "Norac", + "Novak", + "Novosel", + "Obradović", + "Obratov", + "Odobašić", + "Orbanić", + "Orešković", + "Orlić", + "Orlović", + "Oršolić", + "Oršoš", + "Oršulić", + "Ozimec", + "Pajur", + "Palić", + "Pamić", + "Pandurić", + "Papak", + "Paparić", + "Paradi", + "Pavelić", + "Pavin", + "Pavić", + "Pavičić", + "Pavković", + "Pavlović", + "Pecotić", + "Pedišić", + "Peharda", + "Penić", + "Perak", + "Perić", + "Perišić", + "Perkov", + "Perković", + "Peroš", + "Peruško", + "Perčić", + "Petek", + "Peterlik", + "Petrić", + "Petričević", + "Petrović", + "Pečur", + "Peša", + "Pešić", + "Pikec", + "Piljek", + "Pintarić", + "Plantak", + "Plantek", + "Plažanin", + "Pleše", + "Pokas", + "Pokos", + "Polić", + "Poljak", + "Polonijo", + "Polović", + "Pongrac", + "Popović", + "Poropat", + "Poslon", + "Pozder", + "Požega", + "Predovan", + "Prelec", + "Preočanin", + "Pribanić", + "Priselac", + "Prpić", + "Prskalo", + "Prtenjača", + "Puharić", + "Puljiz", + "Putinja", + "Puškarić", + "Radelić", + "Radin", + "Radinović", + "Radić", + "Radman", + "Radojković", + "Radolović", + "Radović", + "Radočaj", + "Radošević", + "Raguž", + "Rahija", + "Rajn", + "Rajčić", + "Rakela", + "Rakuljić", + "Raljević", + "Raspor", + "Rastija", + "Rađenović", + "Rašeta", + "Rašić", + "Ražov", + "Rebić", + "Rendulić", + "Resanović", + "Ribarić", + "Ribić", + "Ribičić", + "Rijetković", + "Risek", + "Ritoša", + "Ričko", + "Roca", + "Roce", + "Rogošić", + "Rojnić", + "Roso", + "Rubeša", + "Rubinić", + "Rukavina", + "Rumora", + "Sabljak", + "Sabol", + "Sakač", + "Salopek", + "Sardelić", + "Sedlar", + "Semialjac", + "Seničić", + "Seršić", + "Sever", + "Sikirić", + "Simić", + "Sinožić", + "Sirotić", + "Skupnjak", + "Sladonja", + "Slavica", + "Smoković", + "Smolić", + "Sobota", + "Sokač", + "Sokić", + "Sokol", + "Soldo", + "Solomun", + "Sorić", + "Sošić", + "Sršen", + "Stanić", + "Staničić", + "Stančin", + "Starčević", + "Stipanović", + "Stiperski", + "Stojanov", + "Stojnić", + "Stojčević", + "Stolnik", + "Stošić", + "Stražičić", + "Strinavić", + "Stupalo", + "Surać", + "Svetličić", + "Tepeš", + "Terlević", + "Terzić", + "Tešija", + "Tisaj", + "Toić", + "Tolj", + "Tomić", + "Tomičić", + "Tomljanović", + "Tonc", + "Topić", + "Totić", + "Trbović", + "Trgovčić", + "Triplat", + "Trnski", + "Trutanić", + "Tudić", + "Tudor", + "Tuksar", + "Turina", + "Turk", + "Turudić", + "Turčinov", + "Tuđa", + "Tušek", + "Tuškan", + "Ugrinić", + "Ukić", + "Urlić", + "Ušić", + "Vaci", + "Valentić", + "Valjetić", + "Varga", + "Veić", + "Vela", + "Vidaković", + "Vidas", + "Vidov", + "Vidović", + "Viljevac", + "Vincetić", + "Vitasović", + "Vižintin", + "Vladislavić", + "Vlašić", + "Vojković", + "Volarević", + "Volarić", + "Vorkapić", + "Vozila", + "Vrabelj", + "Vranić", + "Vrban", + "Vretenar", + "Vrhovec", + "Vugdelija", + "Vugec", + "Vuk", + "Vukman", + "Vukobratović", + "Vuković", + "Vukušić", + "Vuljak", + "Vučetić", + "Vučin", + "Vučković", + "Zakinja", + "Zanoški", + "Zeba", + "Zebec", + "Zelić", + "Zgorelec", + "Zmaić", + "Zrilić", + "Zrinski", + "Zubčić", + "Ćorić", + "Ćosić", + "Ćurić", + "Čagalj", + "Čargonja", + "Čizmić", + "Čiš", + "Čižmešija", + "Čop", + "Čotić", + "Čović", + "Čubrić", + "Čudić", + "Čukman", + "Čulina", + "Čuljak", + "Čupić", + "Čuček", + "Đurašević", + "Đurinić", + "Šalić", + "Šantić", + "Šargač", + "Šarić", + "Šarlija", + "Šegović", + "Šelendić", + "Šeparović", + "Šestak", + "Šestan", + "Šibalić", + "Šimara", + "Šimić", + "Šimičić", + "Šimunić", + "Šimunović", + "Šinković", + "Šipek", + "Šipić", + "Šitum", + "Škara", + "Škoda", + "Škrlin", + "Škrnički", + "Škrtić", + "Škugor", + "Škunca", + "Šokčević", + "Šošić", + "Šoštarić", + "Špika", + "Špišić", + "Špoljarić", + "Špralja", + "Štefanec", + "Štefović", + "Štifanić", + "Štimac", + "Štrbac", + "Štrljić", + "Šturlan", + "Šunjić", + "Šupraha", + "Šuran", + "Šurbek", + "Šurina", + "Šverko", + "Žabjačan", + "Žagar", + "Žerjav", + "Žeželić", + "Žic", + "Žiković", + "Živić", + "Živković", + "Žufika", + "Žugec", + "Žunec", + "Županić", + "Žuvela", + "Žužić", ] diff --git a/faker/providers/person/hu_HU/__init__.py b/faker/providers/person/hu_HU/__init__.py index 5ac8fe2450..fddba72e2c 100644 --- a/faker/providers/person/hu_HU/__init__.py +++ b/faker/providers/person/hu_HU/__init__.py @@ -1,4 +1,5 @@ from collections import OrderedDict +from typing import Dict from .. import Provider as PersonProvider @@ -25,196 +26,415 @@ class Provider(PersonProvider): - formats_male = OrderedDict(( - ('{{last_name}} {{first_name_male}}', 0.1), - ('{{last_name}} {{last_name}} {{first_name_male}}', 0.1), - ('{{last_name}} {{first_name_male}} {{first_name_male}}', 0.1), - ('{{first_name_male_abbreviated}} {{last_name}} {{first_name_male}}', 0.1), - ('{{last_name}} {{first_name_male_abbreviated}} {{first_name_male}}', 0.1), - ('{{prefix}} {{last_name}} {{first_name_male}}', 0.05), - ('{{prefix}} {{last_name}} {{last_name}} {{first_name_male}}', 0.05), - ('{{prefix}} {{last_name}} {{first_name_male}} {{first_name_male}}', 0.05), - ('{{prefix}} {{first_name_male_abbreviated}} {{last_name}} {{first_name_male}}', 0.05), - ('{{prefix}} {{last_name}} {{first_name_male_abbreviated}} {{first_name_male}}', 0.05))) + formats_male: Dict[str, float] = OrderedDict( + ( + ("{{last_name}} {{first_name_male}}", 0.1), + ("{{last_name}} {{last_name}} {{first_name_male}}", 0.1), + ("{{last_name}} {{first_name_male}} {{first_name_male}}", 0.1), + ("{{first_name_male_abbreviated}} {{last_name}} {{first_name_male}}", 0.1), + ("{{last_name}} {{first_name_male_abbreviated}} {{first_name_male}}", 0.1), + ("{{prefix}} {{last_name}} {{first_name_male}}", 0.05), + ("{{prefix}} {{last_name}} {{last_name}} {{first_name_male}}", 0.05), + ("{{prefix}} {{last_name}} {{first_name_male}} {{first_name_male}}", 0.05), + ( + "{{prefix}} {{first_name_male_abbreviated}} {{last_name}} {{first_name_male}}", + 0.05, + ), + ( + "{{prefix}} {{last_name}} {{first_name_male_abbreviated}} {{first_name_male}}", + 0.05, + ), + ) + ) - formats_female = OrderedDict(( - ('{{last_name}} {{first_name_female}}', 0.1), - ('{{last_name}} {{last_name}} {{first_name_female}}', 0.1), - ('{{last_name}} {{first_name_female}} {{first_name_female}}', 0.1), - ('{{first_name_female_abbreviated}} {{last_name}} {{first_name_female}}', 0.1), - ('{{last_name}} {{first_name_female_abbreviated}} {{first_name_female}}', 0.1), - ('{{prefix}} {{last_name}} {{first_name_female}}', 0.05), - ('{{prefix}} {{last_name}} {{last_name}} {{first_name_female}}', 0.05), - ('{{prefix}} {{last_name}} {{first_name_female}} {{first_name_female}}', 0.05), - ('{{prefix}} {{first_name_female_abbreviated}} {{last_name}} {{first_name_female}}', 0.05), - ('{{prefix}} {{last_name}} {{first_name_female_abbreviated}} {{first_name_female}}', 0.05), - ('{{last_name}}né {{last_name}} {{first_name_female}}', 0.1), - ('{{last_name}}né {{last_name}} {{first_name_female}} {{first_name_female}}', 0.1), - ('{{last_name}}né {{last_name}} {{first_name_female}} {{first_name_female}}', 0.05), - ('{{last_name}} {{first_name_male}}né', 0.05), - ('{{last_name}} {{first_name_male}}né {{last_name}} {{first_name_female}}', 0.1), - ('{{prefix}} {{last_name}}né {{last_name}} {{first_name_female}}', 0.1), - ('{{prefix}} {{last_name}}né {{last_name}} {{first_name_female}} {{first_name_female}}', 0.05), - ('{{prefix}} {{last_name}}né {{last_name}} {{first_name_female}} {{first_name_female}}', 0.05), - ('{{prefix}} {{last_name}} {{first_name_male}}né', 0.1), - ('{{prefix}} {{last_name}} {{first_name_male}}né {{last_name}} {{first_name_female}}', 0.05), - ('{{last_name}}né {{prefix}} {{last_name}} {{first_name_female}}', 0.1), - ('{{last_name}}né {{prefix}} {{last_name}} {{first_name_female}} {{first_name_female}}', 0.05), - )) + formats_female: Dict[str, float] = OrderedDict( + ( + ("{{last_name}} {{first_name_female}}", 0.1), + ("{{last_name}} {{last_name}} {{first_name_female}}", 0.1), + ("{{last_name}} {{first_name_female}} {{first_name_female}}", 0.1), + ( + "{{first_name_female_abbreviated}} {{last_name}} {{first_name_female}}", + 0.1, + ), + ( + "{{last_name}} {{first_name_female_abbreviated}} {{first_name_female}}", + 0.1, + ), + ("{{prefix}} {{last_name}} {{first_name_female}}", 0.05), + ("{{prefix}} {{last_name}} {{last_name}} {{first_name_female}}", 0.05), + ( + "{{prefix}} {{last_name}} {{first_name_female}} {{first_name_female}}", + 0.05, + ), + ( + "{{prefix}} {{first_name_female_abbreviated}} {{last_name}} {{first_name_female}}", + 0.05, + ), + ( + "{{prefix}} {{last_name}} {{first_name_female_abbreviated}} {{first_name_female}}", + 0.05, + ), + ("{{last_name}}né {{last_name}} {{first_name_female}}", 0.1), + ( + "{{last_name}}né {{last_name}} {{first_name_female}} {{first_name_female}}", + 0.1, + ), + ( + "{{last_name}}né {{last_name}} {{first_name_female}} {{first_name_female}}", + 0.05, + ), + ("{{last_name}} {{first_name_male}}né", 0.05), + ( + "{{last_name}} {{first_name_male}}né {{last_name}} {{first_name_female}}", + 0.1, + ), + ("{{prefix}} {{last_name}}né {{last_name}} {{first_name_female}}", 0.1), + ( + "{{prefix}} {{last_name}}né {{last_name}} {{first_name_female}} {{first_name_female}}", + 0.05, + ), + ( + "{{prefix}} {{last_name}}né {{last_name}} {{first_name_female}} {{first_name_female}}", + 0.05, + ), + ("{{prefix}} {{last_name}} {{first_name_male}}né", 0.1), + ( + "{{prefix}} {{last_name}} {{first_name_male}}né {{last_name}} {{first_name_female}}", + 0.05, + ), + ("{{last_name}}né {{prefix}} {{last_name}} {{first_name_female}}", 0.1), + ( + "{{last_name}}né {{prefix}} {{last_name}} {{first_name_female}} {{first_name_female}}", + 0.05, + ), + ) + ) - formats = formats_male.copy() + formats: Dict[str, float] = formats_male.copy() formats.update(formats_female) - last_names = OrderedDict(( - ("Nagy", 0.06992), ("Kovács", 0.06457), ("Tóth", 0.06316), - ("Szabó", 0.06234), ("Horváth", 0.05995), ("Varga", 0.041), - ("Kiss", 0.03891), ("Molnár", 0.03189), ("Németh", 0.02715), - ("Farkas", 0.02499), ("Balogh", 0.02468), ("Papp", 0.01567), - ("Takács", 0.01535), ("Juhász", 0.01516), ("Lakatos", 0.01486), - ("Mészáros", 0.01183), ("Oláh", 0.01161), ("Simon", 0.01129), - ("Rácz", 0.01063), ("Fekete", 0.01021), ("Szilágyi", 0.00959), - ("Török", 0.0079), ("Fehér", 0.00786), ("Balázs", 0.00771), - ("Gál", 0.00756), ("Kis", 0.00730), ("Szűcs", 0.00709), - ("Kocsis", 0.00700), ("Orsós", 0.00692), ("Pintér", 0.006), - ("Fodor", 0.00686), ("Szalai", 0.00628), ("Sipos", 0.00620), - ("Magyar", 0.0061), ("Lukács", 0.00611), ("Gulyás", 0.00591), - ("Biró", 0.00576), ("Király", 0.00560), ("László", 0.00548), - ("Katona", 0.00548), ("Jakab", 0.00541), ("Bogdán", 0.00536), - ("Balog", 0.0053), ("Sándor", 0.0052), ("Boros", 0.00515), - ("Fazekas", 0.005), ("Kelemen", 0.00500), ("Váradi", 0.00500), - ("Antal", 0.00490), ("Somogyi", 0.00487), ("Orosz", 0.00484), - ("Fülöp", 0.00480), ("Veres", 0.00470), ("Vincze", 0.00468), - ("Hegedűs", 0.00458), ("Budai", 0.00453), ("Deák", 0.00449), - ("Pap", 0.00442), ("Bálint", 0.00435), ("Pál", 0.00427), - ("Illés", 0.0042), ("Vass", 0.00420), ("Szőke", 0.00419), - ("Vörös", 0.00418), ("Bognár", 0.00416), ("Fábián", 0.00415), - ("Lengyel", 0.00414), ("Bodnár", 0.00409), ("Szücs", 0.00403), - ("Hajdu", 0.00391), ("Halász", 0.00390), ("Jónás", 0.00388), - ("Máté", 0.00371), ("Székely", 0.00367), ("Kozma", 0.00366), - ("Gáspár", 0.00364), ("Pásztor", 0.00356), ("Bakos", 0.00354), - ("Dudás", 0.00348), ("Major", 0.00347), ("Orbán", 0.00343), - ("Hegedüs", 0.00342), ("Virág", 0.00341), ("Barna", 0.00335), - ("Novák", 0.00334), ("Soós", 0.00331), ("Tamás", 0.00326), - ("Nemes", 0.00326), ("Pataki", 0.0032), ("Balla", 0.00313), - ("Faragó", 0.00312), ("Kerekes", 0.0031), ("Borbély", 0.00311), - ("Barta", 0.00308), ("Péter", 0.0030), ("Szekeres", 0.00306), - ("Csonka", 0.00305), ("Mezei", 0.00302), ("Márton", 0.00300), - ("Sárközi", 0.00298), - )) + last_names = OrderedDict( + ( + ("Nagy", 0.06992), + ("Kovács", 0.06457), + ("Tóth", 0.06316), + ("Szabó", 0.06234), + ("Horváth", 0.05995), + ("Varga", 0.041), + ("Kiss", 0.03891), + ("Molnár", 0.03189), + ("Németh", 0.02715), + ("Farkas", 0.02499), + ("Balogh", 0.02468), + ("Papp", 0.01567), + ("Takács", 0.01535), + ("Juhász", 0.01516), + ("Lakatos", 0.01486), + ("Mészáros", 0.01183), + ("Oláh", 0.01161), + ("Simon", 0.01129), + ("Rácz", 0.01063), + ("Fekete", 0.01021), + ("Szilágyi", 0.00959), + ("Török", 0.0079), + ("Fehér", 0.00786), + ("Balázs", 0.00771), + ("Gál", 0.00756), + ("Kis", 0.00730), + ("Szűcs", 0.00709), + ("Kocsis", 0.00700), + ("Orsós", 0.00692), + ("Pintér", 0.006), + ("Fodor", 0.00686), + ("Szalai", 0.00628), + ("Sipos", 0.00620), + ("Magyar", 0.0061), + ("Lukács", 0.00611), + ("Gulyás", 0.00591), + ("Biró", 0.00576), + ("Király", 0.00560), + ("László", 0.00548), + ("Katona", 0.00548), + ("Jakab", 0.00541), + ("Bogdán", 0.00536), + ("Balog", 0.0053), + ("Sándor", 0.0052), + ("Boros", 0.00515), + ("Fazekas", 0.005), + ("Kelemen", 0.00500), + ("Váradi", 0.00500), + ("Antal", 0.00490), + ("Somogyi", 0.00487), + ("Orosz", 0.00484), + ("Fülöp", 0.00480), + ("Veres", 0.00470), + ("Vincze", 0.00468), + ("Hegedűs", 0.00458), + ("Budai", 0.00453), + ("Deák", 0.00449), + ("Pap", 0.00442), + ("Bálint", 0.00435), + ("Pál", 0.00427), + ("Illés", 0.0042), + ("Vass", 0.00420), + ("Szőke", 0.00419), + ("Vörös", 0.00418), + ("Bognár", 0.00416), + ("Fábián", 0.00415), + ("Lengyel", 0.00414), + ("Bodnár", 0.00409), + ("Szücs", 0.00403), + ("Hajdu", 0.00391), + ("Halász", 0.00390), + ("Jónás", 0.00388), + ("Máté", 0.00371), + ("Székely", 0.00367), + ("Kozma", 0.00366), + ("Gáspár", 0.00364), + ("Pásztor", 0.00356), + ("Bakos", 0.00354), + ("Dudás", 0.00348), + ("Major", 0.00347), + ("Orbán", 0.00343), + ("Hegedüs", 0.00342), + ("Virág", 0.00341), + ("Barna", 0.00335), + ("Novák", 0.00334), + ("Soós", 0.00331), + ("Tamás", 0.00326), + ("Nemes", 0.00326), + ("Pataki", 0.0032), + ("Balla", 0.00313), + ("Faragó", 0.00312), + ("Kerekes", 0.0031), + ("Borbély", 0.00311), + ("Barta", 0.00308), + ("Péter", 0.0030), + ("Szekeres", 0.00306), + ("Csonka", 0.00305), + ("Mezei", 0.00302), + ("Márton", 0.00300), + ("Sárközi", 0.00298), + ) + ) - first_names_male = OrderedDict(( - ("László", 0.06640477), ("István", 0.060906051), ("József", - 0.054476881), ("János", 0.047506017), - ("Zoltán", 0.045579697), ("Sándor", 0.037170944), ("Gábor", - 0.035546303), ("Ferenc", 0.034065759), - ("Attila", 0.032146512), ("Péter", 0.03083703), ("Tamás", - 0.030257321), ("Zsolt", 0.025204158), - ("Tibor", 0.023296182), ("András", 0.021678391), ("Csaba", - 0.020367141), ("Imre", 0.019339667), - ("Lajos", 0.017901558), ("György", 0.01695188), ("Balázs", - 0.015569685), ("Gyula", 0.014295123), - ("Mihály", 0.013628337), ("Róbert", 0.013385668), ("Károly", - 0.013181456), ("Dávid", 0.01315184), - ("Dániel", 0.012373665), ("Ádám", 0.012290124), ("Béla", - 0.012279294), ("Krisztián", 0.011589081), - ("Miklós", 0.010985283), ("Norbert", 0.010746593), ("Bence", - 0.010403586), ("Máté", 0.009479986), - ("Pál", 0.007890264), ("Gergő", 0.007554993), ("Roland", - 0.007535765), ("Szabolcs", 0.007522062), - ("Bálint", 0.007021254), ("Levente", 0.006948763), ("Márk", - 0.006873178), ("Richárd", 0.006811074), - ("Antal", 0.006583213), ("Gergely", 0.006408174), ("Ákos", - 0.006278662), ("Viktor", 0.005872447), - ("Árpád", 0.005217153), ("Márton", 0.005061783), ("Géza", - 0.005036367), ("Kristóf", 0.004518984), - ("Milán", 0.003956735), ("Dominik", 0.003924247), ("Patrik", - 0.003911428), ("Martin", 0.003747439), - ("Barnabás", 0.003645333), ("Jenő", 0.003619917), ("Kálmán", - 0.003613728), ("Marcell", 0.003571515), - ("Áron", 0.003219668), ("Mátyás", 0.003028495), ("Ernő", - 0.002998879), ("Endre", 0.002830912), - ("Botond", 0.00282605), ("Zsombor", 0.002768366), ("Dezső", - 0.002557523), ("Olivér", 0.002524814), - ("Nándor", 0.002520394), ("Szilárd", - 0.002422044), ("Erik", 0.002421381), ("Alex", 0.0023248), - ("Benedek", 0.002119924), ("Vilmos", 0.002113515), ("Kornél", - 0.002018481), ("Zalán", 0.001970964), - ("Dénes", 0.001921458), ("Ottó", 0.001901788), ("Benjámin", - 0.001738241), ("Bertalan", 0.001700227), - ("Kevin", 0.001668623), ("Adrián", 0.001550603), ("Rudolf", - 0.001386172), ("Noel", 0.001381973), - ("Albert", 0.001355673), ("Vince", 0.001353463), ("Ervin", - 0.001182622), ("Győző", 0.001125823), - ("Zsigmond", 0.001120519), ("Andor", 0.001057531), ("Iván", - 0.001016202), ("Szilveszter", 0.001010014), - ("Gusztáv", 0.000994985), ("Barna", 0.000986808), ("Ábel", - 0.000969569), ("Hunor", 0.000940396), - ("Arnold", 0.000931777), ("Csongor", 0.00092824), ("Elemér", - 0.000894868), ("Krisztofer", 0.000891111), - ("Bendegúz", 0.000868347), ("Emil", 0.000791656), ("Tivadar", 0.000786573), ("Henrik", 0.000758063))) + first_names_male: Dict[str, float] = OrderedDict( + ( + ("László", 0.06640477), + ("István", 0.060906051), + ("József", 0.054476881), + ("János", 0.047506017), + ("Zoltán", 0.045579697), + ("Sándor", 0.037170944), + ("Gábor", 0.035546303), + ("Ferenc", 0.034065759), + ("Attila", 0.032146512), + ("Péter", 0.03083703), + ("Tamás", 0.030257321), + ("Zsolt", 0.025204158), + ("Tibor", 0.023296182), + ("András", 0.021678391), + ("Csaba", 0.020367141), + ("Imre", 0.019339667), + ("Lajos", 0.017901558), + ("György", 0.01695188), + ("Balázs", 0.015569685), + ("Gyula", 0.014295123), + ("Mihály", 0.013628337), + ("Róbert", 0.013385668), + ("Károly", 0.013181456), + ("Dávid", 0.01315184), + ("Dániel", 0.012373665), + ("Ádám", 0.012290124), + ("Béla", 0.012279294), + ("Krisztián", 0.011589081), + ("Miklós", 0.010985283), + ("Norbert", 0.010746593), + ("Bence", 0.010403586), + ("Máté", 0.009479986), + ("Pál", 0.007890264), + ("Gergő", 0.007554993), + ("Roland", 0.007535765), + ("Szabolcs", 0.007522062), + ("Bálint", 0.007021254), + ("Levente", 0.006948763), + ("Márk", 0.006873178), + ("Richárd", 0.006811074), + ("Antal", 0.006583213), + ("Gergely", 0.006408174), + ("Ákos", 0.006278662), + ("Viktor", 0.005872447), + ("Árpád", 0.005217153), + ("Márton", 0.005061783), + ("Géza", 0.005036367), + ("Kristóf", 0.004518984), + ("Milán", 0.003956735), + ("Dominik", 0.003924247), + ("Patrik", 0.003911428), + ("Martin", 0.003747439), + ("Barnabás", 0.003645333), + ("Jenő", 0.003619917), + ("Kálmán", 0.003613728), + ("Marcell", 0.003571515), + ("Áron", 0.003219668), + ("Mátyás", 0.003028495), + ("Ernő", 0.002998879), + ("Endre", 0.002830912), + ("Botond", 0.00282605), + ("Zsombor", 0.002768366), + ("Dezső", 0.002557523), + ("Olivér", 0.002524814), + ("Nándor", 0.002520394), + ("Szilárd", 0.002422044), + ("Erik", 0.002421381), + ("Alex", 0.0023248), + ("Benedek", 0.002119924), + ("Vilmos", 0.002113515), + ("Kornél", 0.002018481), + ("Zalán", 0.001970964), + ("Dénes", 0.001921458), + ("Ottó", 0.001901788), + ("Benjámin", 0.001738241), + ("Bertalan", 0.001700227), + ("Kevin", 0.001668623), + ("Adrián", 0.001550603), + ("Rudolf", 0.001386172), + ("Noel", 0.001381973), + ("Albert", 0.001355673), + ("Vince", 0.001353463), + ("Ervin", 0.001182622), + ("Győző", 0.001125823), + ("Zsigmond", 0.001120519), + ("Andor", 0.001057531), + ("Iván", 0.001016202), + ("Szilveszter", 0.001010014), + ("Gusztáv", 0.000994985), + ("Barna", 0.000986808), + ("Ábel", 0.000969569), + ("Hunor", 0.000940396), + ("Arnold", 0.000931777), + ("Csongor", 0.00092824), + ("Elemér", 0.000894868), + ("Krisztofer", 0.000891111), + ("Bendegúz", 0.000868347), + ("Emil", 0.000791656), + ("Tivadar", 0.000786573), + ("Henrik", 0.000758063), + ) + ) - first_names_female = OrderedDict(( - ("Mária", 0.076200074), ("Erzsébet", - 0.058002384), ("Katalin", 0.0429636), ("Éva", 0.039004017), - ("Ilona", 0.038027669), ("Anna", 0.030819538), ("Zsuzsanna", - 0.029737292), ("Margit", 0.024148354), - ("Judit", 0.020956031), ("Ágnes", 0.020891678), ("Andrea", - 0.020768845), ("Ildikó", 0.019861817), - ("Julianna", 0.019458091), ("Erika", 0.018991368), ("Krisztina", - 0.017491847), ("Irén", 0.015454477), - ("Eszter", 0.014382165), ("Mónika", 0.014128821), ("Magdolna", - 0.013536554), ("Edit", 0.013129441), - ("Gabriella", 0.012887838), ("Szilvia", 0.012663621), ("Anita", - 0.011554053), ("Viktória", 0.011388318), - ("Anikó", 0.011180584), ("Márta", 0.010886596), ("Tímea", - 0.010327747), ("Rozália", 0.009782898), - ("Piroska", 0.009699353), ("Ibolya", 0.00922134), ("Klára", - 0.008981769), ("Tünde", 0.008838839), - ("Dóra", 0.008803841), ("Zsófia", 0.008600397), ("Alexandra", - 0.007886652), ("Veronika", 0.00777443), - ("Gizella", 0.007579567), ("Csilla", 0.007395768), ("Nikolett", - 0.006972849), ("Melinda", 0.006857693), - ("Réka", 0.0068385), ("Nóra", 0.006794469), ("Terézia", - 0.006777535), ("Adrienn", 0.006753826), - ("Beáta", 0.006526674), ("Marianna", 0.006462547), ("Vivien", - 0.006299747), ("Renáta", 0.00626091), - ("Barbara", 0.006076434), ("Enikő", 0.006052499), ("Bernadett", - 0.005964438), ("Rita", 0.005917472), - ("Brigitta", 0.005875926), ("Edina", 0.005745866), ("Hajnalka", - 0.005696191), ("Gyöngyi", 0.005616484), - ("Petra", 0.005609033), ("Boglárka", 0.005329496), ("Orsolya", - 0.005328141), ("Jolán", 0.005184534), - ("Noémi", 0.005078861), ("Etelka", 0.004833419), ("Valéria", - 0.00472594), ("Fanni", 0.004716682), - ("Borbála", 0.004701553), ("Annamária", - 0.004528367), ("Kitti", 0.00439334), ("Teréz", 0.004384985), - ("Nikoletta", 0.004310021), ("Laura", 0.004266893), ("Emese", - 0.004212702), ("Lilla", 0.004193961), - ("Hanna", 0.003921198), ("Aranka", 0.003884844), ("Kinga", - 0.003755914), ("Klaudia", 0.003710077), - ("Anett", 0.003661305), ("Róza", 0.003621339), ("Lili", - 0.003436636), ("Zita", 0.00343212), - ("Dorina", 0.003412476), ("Emma", 0.003374994), ("Beatrix", - 0.003364381), ("Zsanett", 0.003276772), - ("Sára", 0.003156873), ("Bianka", 0.003061135), ("Rózsa", - 0.003006041), ("Jázmin", 0.002952527), - ("Luca", 0.002949817), ("Júlia", 0.002917754), ("Diána", - 0.002841434), ("Henrietta", 0.002798759), - ("Györgyi", 0.002731471), ("Irma", 0.00272131), ("Dorottya", - 0.002585154), ("Bettina", 0.002574316), - ("Mariann", 0.002569349), ("Virág", 0.002557156), ("Gréta", 0.002515835), ("Rebeka", 0.002513351))) + first_names_female: Dict[str, float] = OrderedDict( + ( + ("Mária", 0.076200074), + ("Erzsébet", 0.058002384), + ("Katalin", 0.0429636), + ("Éva", 0.039004017), + ("Ilona", 0.038027669), + ("Anna", 0.030819538), + ("Zsuzsanna", 0.029737292), + ("Margit", 0.024148354), + ("Judit", 0.020956031), + ("Ágnes", 0.020891678), + ("Andrea", 0.020768845), + ("Ildikó", 0.019861817), + ("Julianna", 0.019458091), + ("Erika", 0.018991368), + ("Krisztina", 0.017491847), + ("Irén", 0.015454477), + ("Eszter", 0.014382165), + ("Mónika", 0.014128821), + ("Magdolna", 0.013536554), + ("Edit", 0.013129441), + ("Gabriella", 0.012887838), + ("Szilvia", 0.012663621), + ("Anita", 0.011554053), + ("Viktória", 0.011388318), + ("Anikó", 0.011180584), + ("Márta", 0.010886596), + ("Tímea", 0.010327747), + ("Rozália", 0.009782898), + ("Piroska", 0.009699353), + ("Ibolya", 0.00922134), + ("Klára", 0.008981769), + ("Tünde", 0.008838839), + ("Dóra", 0.008803841), + ("Zsófia", 0.008600397), + ("Alexandra", 0.007886652), + ("Veronika", 0.00777443), + ("Gizella", 0.007579567), + ("Csilla", 0.007395768), + ("Nikolett", 0.006972849), + ("Melinda", 0.006857693), + ("Réka", 0.0068385), + ("Nóra", 0.006794469), + ("Terézia", 0.006777535), + ("Adrienn", 0.006753826), + ("Beáta", 0.006526674), + ("Marianna", 0.006462547), + ("Vivien", 0.006299747), + ("Renáta", 0.00626091), + ("Barbara", 0.006076434), + ("Enikő", 0.006052499), + ("Bernadett", 0.005964438), + ("Rita", 0.005917472), + ("Brigitta", 0.005875926), + ("Edina", 0.005745866), + ("Hajnalka", 0.005696191), + ("Gyöngyi", 0.005616484), + ("Petra", 0.005609033), + ("Boglárka", 0.005329496), + ("Orsolya", 0.005328141), + ("Jolán", 0.005184534), + ("Noémi", 0.005078861), + ("Etelka", 0.004833419), + ("Valéria", 0.00472594), + ("Fanni", 0.004716682), + ("Borbála", 0.004701553), + ("Annamária", 0.004528367), + ("Kitti", 0.00439334), + ("Teréz", 0.004384985), + ("Nikoletta", 0.004310021), + ("Laura", 0.004266893), + ("Emese", 0.004212702), + ("Lilla", 0.004193961), + ("Hanna", 0.003921198), + ("Aranka", 0.003884844), + ("Kinga", 0.003755914), + ("Klaudia", 0.003710077), + ("Anett", 0.003661305), + ("Róza", 0.003621339), + ("Lili", 0.003436636), + ("Zita", 0.00343212), + ("Dorina", 0.003412476), + ("Emma", 0.003374994), + ("Beatrix", 0.003364381), + ("Zsanett", 0.003276772), + ("Sára", 0.003156873), + ("Bianka", 0.003061135), + ("Rózsa", 0.003006041), + ("Jázmin", 0.002952527), + ("Luca", 0.002949817), + ("Júlia", 0.002917754), + ("Diána", 0.002841434), + ("Henrietta", 0.002798759), + ("Györgyi", 0.002731471), + ("Irma", 0.00272131), + ("Dorottya", 0.002585154), + ("Bettina", 0.002574316), + ("Mariann", 0.002569349), + ("Virág", 0.002557156), + ("Gréta", 0.002515835), + ("Rebeka", 0.002513351), + ) + ) - first_names = first_names_male.copy() + first_names: Dict[str, float] = first_names_male.copy() first_names.update(first_names_female) - prefixes = OrderedDict((('Dr.', 0.95), ('Prof. Dr.', 0.05))) + prefixes: Dict[str, float] = OrderedDict((("Dr.", 0.95), ("Prof. Dr.", 0.05))) - def first_name_male_abbreviated(self): - if hasattr(self, 'first_names_male'): - return self.random_element(self.first_names_male)[0] + "." - return self.first_name()[0] + def first_name_male_abbreviated(self) -> str: + return self.random_element(self.first_names_male)[0] + "." # type: ignore - def first_name_female_abbreviated(self): - if hasattr(self, 'first_names_female'): - return self.random_element(self.first_names_female)[0] + "." - return self.first_name()[0] + def first_name_female_abbreviated(self) -> str: + return self.random_element(self.first_names_female)[0] + "." # type: ignore diff --git a/faker/providers/person/hy_AM/__init__.py b/faker/providers/person/hy_AM/__init__.py index a600c8e684..c22415aa7f 100644 --- a/faker/providers/person/hy_AM/__init__.py +++ b/faker/providers/person/hy_AM/__init__.py @@ -2,984 +2,980 @@ class Provider(PersonProvider): - formats_male = ( - '{{first_name_male}} {{last_name}}', - ) + formats_male = ("{{first_name_male}} {{last_name}}",) - formats_female = ( - '{{first_name_female}} {{last_name}}', - ) + formats_female = ("{{first_name_female}} {{last_name}}",) formats = formats_male + formats_female # Source: https://en.wiktionary.org/wiki/Category:Armenian_male_given_names first_names_male = ( - 'Սիմոն', - 'Ուիլյամ', - 'Ստեֆան', - 'Ռիչարդ', - 'Ֆիլիպ', - 'Ջոն', - 'Հովիկ', - 'Հենրի', - 'Ջորջ', - 'Գարրի', - 'Ֆելիքս', - 'Լևոն', - 'Դոմինիկ', - 'Դենիս', - 'Դանիել', - 'Կլոդ', - 'Քրիստոֆեր', - 'Չարլի', - 'Կարլ', - 'Բորիս', - 'Բեռնար', - 'Անդրեաս', - 'Ալեքսանդր', - 'Աբրահամ', - 'Աբել', - 'Ահարոն', - 'Օլեգ', - 'Փայլակ', - 'Ցոլակ', - 'Րաֆֆի', - 'Տարոն', - 'Վլադիմիր', - 'Վիկտոր', - 'Վահե', - 'Վախթանգ', - 'Վազգեն', - 'Ստեփան', - 'Սեյրան', - 'Սերգեյ', - 'Ռուդոլֆ', - 'Ռուբեն', - 'Ռոման', - 'Ռոբերտ', - 'Ռաֆայել', - 'Շահեն', - 'Նորայր', - 'Նշան', - 'Նարեկ', - 'Նաիրի', - 'Յուրի', - 'Մուրադ', - 'Մխիթար', - 'Մաքսիմ', - 'Մարկոս', - 'Մանվել', - 'Կարեն', - 'Էդուարդ', - 'Էդգար', - 'Զոհրաբ', - 'Գրիգոր', - 'Գոռ', - 'Գևորգ', - 'Գաբրիել', - 'Արման', - 'Արթուր', - 'Անդրանիկ', - 'Ալբերտ', - 'Ադամ', - 'Աբել', - 'Հովհաննես', - 'Աբիգ', - 'Ավետիք', - 'Ավետիս', - 'Աղասի', - 'Ազատ', - 'Հայկ', - 'Հայկազ', - 'Հակոբ', - 'Համազասպ', - 'Հմայակ', - 'Առաքել', - 'Արամ', - 'Արամազդ', - 'Արգամ', - 'Արգիշտի', - 'Արեգ', - 'Արիստակես', - 'Արմեն', - 'Արմենակ', - 'Արսեն', - 'Արտավազդ', - 'Արտակ', - 'Արտաշես', - 'Արտեմ', - 'Արտուր', - 'Արտուշ', - 'Հարություն', - 'Առուշան', - 'Արշավիր', - 'Արշակ', - 'Ատոմ', - 'Աշոտ', - 'Բաբկեն', - 'Բաղդասար', - 'Բաղիշ', - 'Բաղրամ', - 'Բագրատ', - 'Բարսեղ', - 'Բարխուդար', - 'Վահագն', - 'Վահան', - 'Վաղարշակ', - 'Վահրամ', - 'Վարուժան', - 'Վասակ', - 'Գագիկ', - 'Գալուստ', - 'Գարեգին', - 'Գառնիկ', - 'Գարսևան', - 'Գասպար', - 'Գեղամ', - 'Հրանտ', - 'Գուրգեն', - 'Դավիթ', - 'Դերենիկ', - 'Ջիվան', - 'Եղիշ', - 'Երվանդ', - 'Ժիրայր', - 'Զավեն', - 'Զորի', - 'Զոհրապ', - 'Կիկոս', - 'Կիրակոս', - 'Կորյուն', - 'Մամիկոն', - 'Մարգար', - 'Մհեր', - 'Մելքոն', - 'Մելքում', - 'Մեսրոպ', - 'Մեխակ', - 'Միհրան', - 'Մինաս', - 'Մուշեղ', - 'Ներսես', - 'Նուբար', - 'Օհան', - 'Փանոս', - 'Պարգև', - 'Պարթև', - 'Պարույր', - 'Պատվական', - 'Պետրոս', - 'Պողոս', - 'Սահակ', - 'Սաղաթել', - 'Սանասար', - 'Սարգիս', - 'Սասուն', - 'Սերոբ', - 'Սմբատ', - 'Սպարտակ', - 'Սուքիաս', - 'Սուրեն', - 'Թադևոս', - 'Թաթոս', - 'Թաթուլ', - 'Տիգրան', - 'Թորգոմ', - 'Թորոս', - 'Տրդատ', - 'Հունան', - 'Հուսիկ', - 'Խորեն', - 'Խոսրով', - 'Շավարշ', - 'Շմավոն', + "Սիմոն", + "Ուիլյամ", + "Ստեֆան", + "Ռիչարդ", + "Ֆիլիպ", + "Ջոն", + "Հովիկ", + "Հենրի", + "Ջորջ", + "Գարրի", + "Ֆելիքս", + "Լևոն", + "Դոմինիկ", + "Դենիս", + "Դանիել", + "Կլոդ", + "Քրիստոֆեր", + "Չարլի", + "Կարլ", + "Բորիս", + "Բեռնար", + "Անդրեաս", + "Ալեքսանդր", + "Աբրահամ", + "Աբել", + "Ահարոն", + "Օլեգ", + "Փայլակ", + "Ցոլակ", + "Րաֆֆի", + "Տարոն", + "Վլադիմիր", + "Վիկտոր", + "Վահե", + "Վախթանգ", + "Վազգեն", + "Ստեփան", + "Սեյրան", + "Սերգեյ", + "Ռուդոլֆ", + "Ռուբեն", + "Ռոման", + "Ռոբերտ", + "Ռաֆայել", + "Շահեն", + "Նորայր", + "Նշան", + "Նարեկ", + "Նաիրի", + "Յուրի", + "Մուրադ", + "Մխիթար", + "Մաքսիմ", + "Մարկոս", + "Մանվել", + "Կարեն", + "Էդուարդ", + "Էդգար", + "Զոհրաբ", + "Գրիգոր", + "Գոռ", + "Գևորգ", + "Գաբրիել", + "Արման", + "Արթուր", + "Անդրանիկ", + "Ալբերտ", + "Ադամ", + "Աբել", + "Հովհաննես", + "Աբիգ", + "Ավետիք", + "Ավետիս", + "Աղասի", + "Ազատ", + "Հայկ", + "Հայկազ", + "Հակոբ", + "Համազասպ", + "Հմայակ", + "Առաքել", + "Արամ", + "Արամազդ", + "Արգամ", + "Արգիշտի", + "Արեգ", + "Արիստակես", + "Արմեն", + "Արմենակ", + "Արսեն", + "Արտավազդ", + "Արտակ", + "Արտաշես", + "Արտեմ", + "Արտուր", + "Արտուշ", + "Հարություն", + "Առուշան", + "Արշավիր", + "Արշակ", + "Ատոմ", + "Աշոտ", + "Բաբկեն", + "Բաղդասար", + "Բաղիշ", + "Բաղրամ", + "Բագրատ", + "Բարսեղ", + "Բարխուդար", + "Վահագն", + "Վահան", + "Վաղարշակ", + "Վահրամ", + "Վարուժան", + "Վասակ", + "Գագիկ", + "Գալուստ", + "Գարեգին", + "Գառնիկ", + "Գարսևան", + "Գասպար", + "Գեղամ", + "Հրանտ", + "Գուրգեն", + "Դավիթ", + "Դերենիկ", + "Ջիվան", + "Եղիշ", + "Երվանդ", + "Ժիրայր", + "Զավեն", + "Զորի", + "Զոհրապ", + "Կիկոս", + "Կիրակոս", + "Կորյուն", + "Մամիկոն", + "Մարգար", + "Մհեր", + "Մելքոն", + "Մելքում", + "Մեսրոպ", + "Մեխակ", + "Միհրան", + "Մինաս", + "Մուշեղ", + "Ներսես", + "Նուբար", + "Օհան", + "Փանոս", + "Պարգև", + "Պարթև", + "Պարույր", + "Պատվական", + "Պետրոս", + "Պողոս", + "Սահակ", + "Սաղաթել", + "Սանասար", + "Սարգիս", + "Սասուն", + "Սերոբ", + "Սմբատ", + "Սպարտակ", + "Սուքիաս", + "Սուրեն", + "Թադևոս", + "Թաթոս", + "Թաթուլ", + "Տիգրան", + "Թորգոմ", + "Թորոս", + "Տրդատ", + "Հունան", + "Հուսիկ", + "Խորեն", + "Խոսրով", + "Շավարշ", + "Շմավոն", ) # Source: https://en.wiktionary.org/wiki/Category:Armenian_female_given_names first_names_female = ( - 'Ագապի', - 'Աիդա', - 'Ալեքսանդրա', - 'Ալինա', - 'Ալիսա', - 'Ալվարդ', - 'Ալլա', - 'Անիտա', - 'Ամալյա', - 'Անահիտ', - 'Անաստասիա', - 'Անժելա', - 'Անգելինա', - 'Անի', - 'Անյա', - 'Աննա', - 'Անտոնինա', - 'Անուշ', - 'Աստղիկ', - 'Արաքսյա', - 'Արևիկ', - 'Արմինե', - 'Արմենուհի', - 'Արփինե', - 'Բարբարա', - 'Բեթի', - 'Բելլա', - 'Բրիժիտ', - 'Բրիջիտ', - 'Գաբրիելլա', - 'Գայանե', - 'Գյուլնարա', - 'Գոհար', - 'Գրետա', - 'Դանիելլա', - 'Դիանա', - 'Դինա', - 'Ելենա', - 'Եվա', - 'Եվգինե', - 'Երանուհի', - 'Զարուհի', - 'Էլեն', - 'Էլիզա', - 'Էլինա', - 'Էմիլիա', - 'Էմմա', - 'Էրիկա', - 'Էվելինա', - 'Թագուհի', - 'Թամարա', - 'Թեհմինե', - 'Թերեզա', - 'Թինա', - 'Ժաքլին', - 'Ժաննա', - 'Իզաբելլա', - 'Ինգա', - 'Ինեսա', - 'Իննա', - 'Իրինա', - 'Լալա', - 'Լառա', - 'Լարիսա', - 'Լաուրա', - 'Լեյլա', - 'Լենա', - 'Լիա', - 'Լիանա', - 'Լիդա', - 'Լիզա', - 'Լիլիթ', - 'Լուսինե', - 'Լուիզա', - 'Ծովինար', - 'Կարինե', - 'Կարոլին', - 'Կասանդրա', - 'Կիրա', - 'Կլարա', - 'Հայկուհի', - 'Հասմիկ', - 'Հեղինե', - 'Հերմինե', - 'Հիլդա', - 'Հռիփսիմե', - 'Հրաչուհի', - 'Մագդա', - 'Մանե', - 'Մարգարիտա', - 'Մարթա', - 'Մարիամ', - 'Մարինե', - 'Մարիա', - 'Մարիաննա', - 'Մելանյա', - 'Մելինե', - 'Միլենա', - 'Մերի', - 'Մոնիկա', - 'Նազելի', - 'Նաիրա', - 'Նանա', - 'Նանե', - 'Նատաշա', - 'Նարե', - 'Նարինե', - 'Նելլի', - 'Նինա', - 'Նոննա', - 'Նորա', - 'Նվարդ', - 'Նունե', - 'Շահանե', - 'Շուշանիկ', - 'Պատրիսիա', - 'Ջեմմա', - 'Ջեյն', - 'Ջեսիկա', - 'Ջուլիետա', - 'Ռաիսա', - 'Ռեբեկա', - 'Ռիմա', - 'Ռիտա', - 'Ռուզան', - 'Սաթենիկ', - 'Սառա', - 'Սեդա', - 'Սեսիլիա', - 'Սիլվա', - 'Սիրարփի', - 'Սյուզաննա', - 'Սոնա', - 'Սոֆյա', - 'Սվետլանա', - 'Ստելլա', - 'Սուսաննա', - 'Վերոնիկա', - 'Վիկտորյա', - 'Վիոլետա', - 'Տաթևիկ', - 'Քիմ', - 'Քնարիկ', - 'Քրիստինե', - 'Օլգա', - 'Օվսաննա', - 'Օֆելյա', - 'Ֆլորա', - 'Ֆրիդա', + "Ագապի", + "Աիդա", + "Ալեքսանդրա", + "Ալինա", + "Ալիսա", + "Ալվարդ", + "Ալլա", + "Անիտա", + "Ամալյա", + "Անահիտ", + "Անաստասիա", + "Անժելա", + "Անգելինա", + "Անի", + "Անյա", + "Աննա", + "Անտոնինա", + "Անուշ", + "Աստղիկ", + "Արաքսյա", + "Արևիկ", + "Արմինե", + "Արմենուհի", + "Արփինե", + "Բարբարա", + "Բեթի", + "Բելլա", + "Բրիժիտ", + "Բրիջիտ", + "Գաբրիելլա", + "Գայանե", + "Գյուլնարա", + "Գոհար", + "Գրետա", + "Դանիելլա", + "Դիանա", + "Դինա", + "Ելենա", + "Եվա", + "Եվգինե", + "Երանուհի", + "Զարուհի", + "Էլեն", + "Էլիզա", + "Էլինա", + "Էմիլիա", + "Էմմա", + "Էրիկա", + "Էվելինա", + "Թագուհի", + "Թամարա", + "Թեհմինե", + "Թերեզա", + "Թինա", + "Ժաքլին", + "Ժաննա", + "Իզաբելլա", + "Ինգա", + "Ինեսա", + "Իննա", + "Իրինա", + "Լալա", + "Լառա", + "Լարիսա", + "Լաուրա", + "Լեյլա", + "Լենա", + "Լիա", + "Լիանա", + "Լիդա", + "Լիզա", + "Լիլիթ", + "Լուսինե", + "Լուիզա", + "Ծովինար", + "Կարինե", + "Կարոլին", + "Կասանդրա", + "Կիրա", + "Կլարա", + "Հայկուհի", + "Հասմիկ", + "Հեղինե", + "Հերմինե", + "Հիլդա", + "Հռիփսիմե", + "Հրաչուհի", + "Մագդա", + "Մանե", + "Մարգարիտա", + "Մարթա", + "Մարիամ", + "Մարինե", + "Մարիա", + "Մարիաննա", + "Մելանյա", + "Մելինե", + "Միլենա", + "Մերի", + "Մոնիկա", + "Նազելի", + "Նաիրա", + "Նանա", + "Նանե", + "Նատաշա", + "Նարե", + "Նարինե", + "Նելլի", + "Նինա", + "Նոննա", + "Նորա", + "Նվարդ", + "Նունե", + "Շահանե", + "Շուշանիկ", + "Պատրիսիա", + "Ջեմմա", + "Ջեյն", + "Ջեսիկա", + "Ջուլիետա", + "Ռաիսա", + "Ռեբեկա", + "Ռիմա", + "Ռիտա", + "Ռուզան", + "Սաթենիկ", + "Սառա", + "Սեդա", + "Սեսիլիա", + "Սիլվա", + "Սիրարփի", + "Սյուզաննա", + "Սոնա", + "Սոֆյա", + "Սվետլանա", + "Ստելլա", + "Սուսաննա", + "Վերոնիկա", + "Վիկտորյա", + "Վիոլետա", + "Տաթևիկ", + "Քիմ", + "Քնարիկ", + "Քրիստինե", + "Օլգա", + "Օվսաննա", + "Օֆելյա", + "Ֆլորա", + "Ֆրիդա", ) first_names = first_names_male + first_names_female # Source: https://en.wiktionary.org/wiki/Category:Armenian_surnames last_names = ( - 'Աբազյան', - 'Աբաղյան', - 'Աբաղյանց', - 'Աբամելիքյան', - 'Աբաշյան', - 'Աբաջանյան', - 'Աբաջյան', - 'Աբասյան', - 'Աբգարյան', - 'Աբդալյան', - 'Աբդոյան', - 'Աբեթնակյան', - 'Աբելանց', - 'Աբելյան', - 'Աբեղյան', - 'Աբեշյան', - 'Աբեսալոմյանց', - 'Աբթեքյան', - 'Աբիսալոմյան', - 'Աբիսողոմոնյան', - 'Աբոյան', - 'Աբովյան', - 'Աբուջանյան', - 'Աբուսեֆյան', - 'Աբրահամյան', - 'Աբրոյան', - 'Ագիլյան', - 'Ագիշյան', - 'Ագլինցյան', - 'Ագշեհիրյան', - 'Ագոզյան', - 'Ագուլյան', - 'Ագուջյան', - 'Ագրալյան', - 'Ագրակլյան', - 'Ագրամազյան', - 'Ագրապյան', - 'Ագրիպասյան', - 'Ագրյան', - 'Ադաբաշյան', - 'Ադաթուրյան', - 'Ադալյան', - 'Ադամյան', - 'Ադամյանց', - 'Ադանալյան', - 'Ադանելյան', - 'Ադանյան', - 'Ադաջյան', - 'Ադելյան', - 'Ադեյան', - 'Ադիբեկ-Մելիքյան', - 'Ադիբեկյան', - 'Ադիգյոզալյան', - 'Ադիգոզյան', - 'Ադիլխանյան', - 'Ադիլյան', - 'Ադիխանյան', - 'Ադիմզալյան', - 'Ադիյան', - 'Ադիշյան', - 'Ադլխանյան', - 'Ադյան', - 'Ադոյան', - 'Ադոնց', - 'Ադուլյան', - 'Ադունց', - 'Ադրունի', - 'Ազաբյան', - 'Ազանյան', - 'Ազատիկյան', - 'Ազատխանյան', - 'Ազատյան', - 'Ազատյանց', - 'Ազարամյան', - 'Ազարբեկյան', - 'Ազարիկյան', - 'Ազարյան', - 'Ազարումյան', - 'Ազբեկյան', - 'Ազգալդյան', - 'Ազգալդրյան', - 'Ազգելդյան', - 'Ազգուլյան', - 'Ազդարյան', - 'Ազիզբեկյան', - 'Ազիզխանյան', - 'Ազիզյան', - 'Ազիլազյան', - 'Ազիկյան', - 'Ազիրյան', - 'Ազյան', - 'Ազնավուրյան', - 'Ազոյան', - 'Ազուլյան', - 'Ազրյան', - 'Ազրոյան', - 'Աթաբահյան', - 'Աթաբեկյան', - 'Աթաբեկյանց', - 'Աթագյուլյան', - 'Աթալարյան', - 'Աթալյան', - 'Աթալյանց', - 'Աթախանյան', - 'Աթամանյան', - 'Աթամյան', - 'Աթայան', - 'Աթանագինյան', - 'Աթանասյան', - 'Աթանեսյան', - 'Աթանոսյան', - 'Աթաշյան', - 'Աթաջյան', - 'Աթասյան', - 'Աթասունց', - 'Աթարբեկյան', - 'Աթարյան', - 'Աթաքյան', - 'Աթբաշյան', - 'Աթեճյան', - 'Աթեշյան', - 'Աթերզյան', - 'Աթինիզյան', - 'Աթինյան', - 'Աթլոյան', - 'Աթմաճյան', - 'Աթմաջյան', - 'Աթյան', - 'Աթոյան', - 'Աթոռակալյան', - 'Աթումյան', - 'Աթչյան', - 'Աթքյան', - 'Աժանջյան', - 'Աժդահարյան', - 'Աժդարյան', - 'Աժդերհանյան', - 'Աժտեհանյան', - 'Աժտերխանյան', - 'Աժտիկյան', - 'Ալաբաշյան', - 'Ալաբեկյան', - 'Ալաբերկյան', - 'Ալաբերճյան', - 'Ալագյոզյան', - 'Ալաջաջյան', - 'Ալավերդյան', - 'Ալեքսանյան', - 'Ալոյան', - 'Աղաբաբյան', - 'Աղաբեկյան', - 'Աղաջանյան', - 'Աղասյան', - 'Ամարյան', - 'Ամիրբեկյան', - 'Ամիրխանյան', - 'Այվազյան', - 'Անանյան', - 'Անդրեասյան', - 'Անղալադյան', - 'Անոփյան', - 'Անտոնյան', - 'Առաքելյան', - 'Առուստամյան', - 'Ասատրյան', - 'Ասլանյան', - 'Աստվածատրյան', - 'Ավագյան', - 'Ավդալյան', - 'Ավետիսյան', - 'Ավոյան', - 'Ավչյան', - 'Ատրյան', - 'Արեգյան', - 'Արեշյան', - 'Արզումանյան', - 'Արծրունի', - 'Բաբալյան', - 'Բաբաջանյան', - 'Բաբայան', - 'Բաբուջյան', - 'Բագրատյան', - 'Բագրատունի', - 'Բադալյան', - 'Բադալով', - 'Բադասյան', - 'Բադեյան', - 'Բադիկյան', - 'Բազեյան', - 'Բազունց', - 'Բակունց', - 'Բաղդասարյան', - 'Բարսեղյան', - 'Բեկզադյան', - 'Բեկզադով', - 'Բեկյան', - 'Բեկնազարյան', - 'Բեջանյան', - 'Բերբերյան', - 'Բոյաջյան', - 'Բոստանջյան', - 'Բունիաթյան', - 'Բուռնազյան', - 'Գաբոյան', - 'Գաբուզյան', - 'Գաբրիելյան', - 'Գալաչյան', - 'Գալստյան', - 'Գալդունց', - 'Գալֆայան', - 'Գալոյան', - 'Գասպարյան', - 'Գասպարով', - 'Գավալջյան', - 'Գարասեֆերյան', - 'Գերավետյան', - 'Գզիրյան', - 'Գիլոյան', - 'Գիմիշյան', - 'Գլեչյան', - 'Գյանջեցյան', - 'Գյուլնազարյան', - 'Գյումուշյան', - 'Գնունի', - 'Գրիգորյան', - 'Գուլաքսյան', - 'Գուլումյան', - 'Գևորգյան', - 'Դաբաղյան', - 'Դադալյան', - 'Դադասյան', - 'Դալլաքյան', - 'Դանիելյան', - 'Դարբինյան', - 'Դարչինյան', - 'Դեմուրյան', - 'Դևրիկյան', - 'Դիմաքսյան', - 'Դոդոխյան', - 'Դոլուխանյան', - 'Դոլուխանով', - 'Դոխոլյան', - 'Դոխոյան', - 'Դոխոյանց', - 'Դովլաթբեկյան', - 'Դովլաթյան', - 'Դուդուկչյան', - 'Դուզճակատչյան', - 'Դուվալյան', - 'Եգանյան', - 'Եգորյան', - 'Եղիազարյան', - 'Եղնուկյան', - 'Ենգիբարյան', - 'Ենգիբարով', - 'Ենգոյան', - 'Ենիգոմեշյան', - 'Ենոքյան', - 'Եսայան', - 'Երեմյան', - 'Երիբեկյան', - 'Երկանյան', - 'Եփրեմյան', - 'Զադոյան', - 'Զազյան', - 'Զանազանյան', - 'Զավրիյան', - 'Զավարյան', - 'Զատիկյան', - 'Զարգարյան', - 'Զարյան', - 'Զարուբյան', - 'Զաքարյան', - 'Զաքյան', - 'Զաքոյան', - 'Զելվեյան', - 'Զեյթունցյան', - 'Զեյնալյան', - 'Զոհրաբյան', - 'Զոլյան', - 'Զուռնաչյան', - 'Զուրաբյան', - 'Էլբակյան', - 'Էլոյան', - 'Էլչիբեկյան', - 'Էնֆիաջյան', - 'Էսկիբաշյան', - 'Ըրղաթբաշյան', - 'Թադևոսյան', - 'Թաթուլյան', - 'Թաթունց', - 'Թամազյան', - 'Թաշչյան', - 'Թարաքաջյան', - 'Թառայան', - 'Թերզյան', - 'Թեքեյան', - 'Թովմասյան', - 'Թորգոմյան', - 'Թորոսյան', - 'Թովուլջյան', - 'Թումանյան', - 'Թևոսյան', - 'Ժամագործյան', - 'Ժամկոչյան', - 'Իբրահիմբեկյան', - 'Իգիթբաշյան', - 'Իգիթխանյան', - 'Իգիթյան', - 'Իզմիրյան', - 'Իմաստունյան', - 'Իմեքչյան', - 'Իշլեմեճյան', - 'Իշխանյան', - 'Իշտոյան', - 'Իսաբեկյան', - 'Իսաբեկյանց', - 'Իսահակյան', - 'Իսկանդարյան', - 'Իսրայելյան', - 'Լազարյան', - 'Լազարյանց', - 'Լալայան', - 'Լալայանց', - 'Լամբարյան', - 'Լեմենցյան', - 'Լիպարիտյան', - 'Լպուտյան', - 'Լցկարյան', - 'Լուսպարոնյան', - 'Խազաբաշյան', - 'Խազխազյան', - 'Խալաֆյան', - 'Խալիկյան', - 'Խանբաբյան', - 'Խանզադյան', - 'Խաշմանյան', - 'Խաչատրյան', - 'Խաչատրյանց', - 'Խաչենց', - 'Խաչիկօղլյան', - 'Խառատյան', - 'Խեչանյան', - 'Խզմալյան', - 'Խլղաթյան', - 'Խնկոյան', - 'Խոդիկյան', - 'Խուդոյան', - 'Ծաղիկյան', - 'Ծառուկյան', - 'Ծատուրյան', - 'Ծերունյան', - 'Ծորմոտյան', - 'Ծպնեցյան', - 'Ծուռվիզյան', - 'Կաբակուլակյան', - 'Կաբաղյան', - 'Կաբասկալյան', - 'Կադարջյան', - 'Կալդրիկյան', - 'Կալենց', - 'Կալպակչյան', - 'Կամսարյան', - 'Կամսարյանց', - 'Կայֆեջյան', - 'Կաշեգործյան', - 'Կարագյան', - 'Կարախանյան', - 'Կարամանուկյան', - 'Կարապետյան', - 'Կարճիկյան', - 'Կետիկյան', - 'Կոթողյան', - 'Կոնդախչյան', - 'Կոշկակարյան', - 'Կոստանյան', - 'Կրպեյան', - 'Կույումջանյան', - 'Հալաբյան', - 'Հախվերդյան', - 'Հակոբյան', - 'Համբարձումյան', - 'Հայրապետյան', - 'Հայրբաբամյան', - 'Հայրիկյան', - 'Հատիկյան', - 'Հաջինյան', - 'Հարությունյան', - 'Հովասափյան', - 'Հովհաննիսյան', - 'Հովիվյան', - 'Հովսեփյան', - 'Հովսեփով', - 'Հուրդաջյան', - 'Ձավարյան', - 'Ձիթողցյան', - 'Ձիլֆուղարյան', - 'Ձկնորսյան', - 'Ձվակերյան', - 'Ղաբզիմալյան', - 'Ղազախեթյան', - 'Ղազանչյան', - 'Ղազարյան', - 'Ղազարով', - 'Ղազինյան', - 'Ղալդունց', - 'Ղալթախչյան', - 'Ղահրամանյան', - 'Ղամբարյան', - 'Ղայլունջյան', - 'Ղայֆեճյան', - 'Ղանդիլյան', - 'Ղասաբյան', - 'Ղասաբօղլյան', - 'Ղափլանյան', - 'Ղոլթաղչյան', - 'Ճալտիկյան', - 'Ճաղարյան', - 'Ճանճապանյան', - 'Ճանսուզյան', - 'Ճապաղջուրյան', - 'Ճգնավորյան', - 'Ճենեպերեքյան', - 'Ճիվասզյան', - 'Ճոճկանյան', - 'Ճուղուրյան', - 'Մադաթյան', - 'Մազմանյան', - 'Մանանդյան', - 'Մանուկյան', - 'Մանվելյան', - 'Մարաշյան', - 'Մարգարյան', - 'Մելիք-Աբրահամյան', - 'Մելիք-Ադամյան', - 'Մելիք-Ասլանյան', - 'Մելիք-Բարխուդարյան', - 'Մելիք-Օհանջանյան', - 'Մեհրաբյան', - 'Միկոյան', - 'Մինասբեկյան', - 'Մինասյան', - 'Միսակյան', - 'Միրզոյան', - 'Միրզոյանց', - 'Միքայելյան', - 'Մխիթարյան', - 'Մնացականյան', - 'Մշեցյան', - 'Մովսիսյան', - 'Մոսինյան', - 'Մսագործյան', - 'Մսրյան', - 'Մուշեղյան', - 'Մուշկամբարյան', - 'Մուսայելյան', - 'Մուրադյան', - 'Յաբլուկյան', - 'Յագուբյան', - 'Յազիչյան', - 'Յաղլիճյան', - 'Յոգուրթչյան', - 'Յուզբաշյան', - 'Յություճյան', - 'Նաբաթյան', - 'Նազարյան', - 'Նալբանդյան', - 'Նալչադյան', - 'Նախշքարյան', - 'Նահապետյան', - 'Ներկարարյան', - 'Ներսեսյան', - 'Ներսիսյան', - 'Նիկողոսյան', - 'Նշանյան', - 'Շաբոյան', - 'Շաբունց', - 'Շագոյան', - 'Շալավասյան', - 'Շահազիզյան', - 'Շահբազյան', - 'Շահինյան', - 'Շահինյանց', - 'Շահնազարյան', - 'Շարաբխանյան', - 'Շաքարյան', - 'Շաքրամանյան', - 'Շելունց', - 'Շուքուրյան', - 'Ոսկանյան', - 'Ոսկերչյան', - 'Չալիկյան', - 'Չալխիֆալակյան', - 'Չալոյան', - 'Չախմախչյան', - 'Չեմեդիկյան', - 'Չեպչյան', - 'Չեքիջյան', - 'Չիբուխչյան', - 'Չիլինգարյան', - 'Չիվչյան', - 'Չոբանյան', - 'Պալյան', - 'Պապայան', - 'Պապիկյան', - 'Պապոյան', - 'Պառավյան', - 'Պարոնիկյան', - 'Պարոնյան', - 'Պարոնյանց', - 'Պարսամյան', - 'Պերեճիկլյան', - 'Պետրոսյան', - 'Պետրոսյանց', - 'Պոզապալյան', - 'Պողոսյան', - 'Պողպատյան', - 'Պռոշյան', - 'Պստիկյան', - 'Ջալալբեկյան', - 'Ջանավարյան', - 'Ջանգիրյան', - 'Ջանիբեկյան', - 'Ջանջուղազյան', - 'Ջանփոլադյան', - 'Ջանունց', - 'Ջերեջյան', - 'Ջիգարխանյան', - 'Ջուլֆիղարյան', - 'Ռաշիդյան', - 'Ռասիմոսյան', - 'Ռևազյան', - 'Ռշտունի', - 'Ռոստոմյան', - 'Ռուբինյան', - 'Ռուստամյան', - 'Ռուստամյանց', - 'Սադոյան', - 'Սաթյան', - 'Սալբաշյան', - 'Սահակյան', - 'Սանթրոսյան', - 'Սանոյան', - 'Սարգսյան', - 'Սարխոյան', - 'Սարոյան', - 'Սիսոյան', - 'Սաֆարյան', - 'Սեմերջյան', - 'Սիմոնյան', - 'Սիրունյան', - 'Սոլախյան', - 'Սողոմոնյան', - 'Ստեփանյան', - 'Սրմաքեշյան', - 'Սուրմելյան', - 'Սուփրիկյան', - 'Սուքիասյան', - 'Վազիգեղցյան', - 'Վահանյան', - 'Վահունի', - 'Վանեցյան', - 'Վանյան', - 'Վարդապետյան', - 'Վարդերեսյան', - 'Վարոսյան', - 'Վարպետյան', - 'Վերանյան', - 'Վրացյան', - 'Տաճատյան', - 'Տասնապետյան', - 'Տարոնցյան', - 'Տեր-Գևորգյան', - 'Տեր-Հովհաննիսյան', - 'Տեր-Ղազարյան', - 'Տեր-Վահանյան', - 'Տոնոյան', - 'Տոպաջիկյան', - 'Տուղրեմաճյան', - 'Ցախկլորյան', - 'Ցիպլեցյան', - 'Ցոլակյան', - 'Ցրտատարյան', - 'Ուզանկիչյան', - 'Ուզունյան', - 'Ութմազյան', - 'Ուլիխանյան', - 'Ուլուբաբյան', - 'Ուստաբաշյան', - 'Ուրֆալյան', - 'Փալանդուզյան', - 'Փախչանյան', - 'Փահլևանյան', - 'Փամբուխչյան', - 'Փամբուկչյան', - 'Փայլաբազյան', - 'Փանոսյան', - 'Փաշայան', - 'Փաշինյան', - 'Փարաջանյան', - 'Փարաքեսիկյան', - 'Փարսադանյան', - 'Փափազյան', - 'Փիլիփոսյան', - 'Փոքրիկյան', - 'Քաթանասյան', - 'Քալանթարյան', - 'Քալաշյան', - 'Քաղցրիկյան', - 'Քարտաշյան', - 'Քափանակցյան', - 'Քեշիշյան', - 'Քեչօղլյան', - 'Քիլարջյան', - 'Քյոսայան', - 'Քոչարյան', - 'Քոչինյան', - 'Քրմոյան', - 'Քրքորյան', - 'Քուշքյան', - 'Օդյան', - 'Օզանյան', - 'Օզնեցյան', - 'Օհանյան', - 'Օրբելյան', - 'Ֆալյան', - 'Ֆահրադյան', - 'Ֆոլյան', - 'Ֆռանգյան', - 'Ֆրանգուլյան', + "Աբազյան", + "Աբաղյան", + "Աբաղյանց", + "Աբամելիքյան", + "Աբաշյան", + "Աբաջանյան", + "Աբաջյան", + "Աբասյան", + "Աբգարյան", + "Աբդալյան", + "Աբդոյան", + "Աբեթնակյան", + "Աբելանց", + "Աբելյան", + "Աբեղյան", + "Աբեշյան", + "Աբեսալոմյանց", + "Աբթեքյան", + "Աբիսալոմյան", + "Աբիսողոմոնյան", + "Աբոյան", + "Աբովյան", + "Աբուջանյան", + "Աբուսեֆյան", + "Աբրահամյան", + "Աբրոյան", + "Ագիլյան", + "Ագիշյան", + "Ագլինցյան", + "Ագշեհիրյան", + "Ագոզյան", + "Ագուլյան", + "Ագուջյան", + "Ագրալյան", + "Ագրակլյան", + "Ագրամազյան", + "Ագրապյան", + "Ագրիպասյան", + "Ագրյան", + "Ադաբաշյան", + "Ադաթուրյան", + "Ադալյան", + "Ադամյան", + "Ադամյանց", + "Ադանալյան", + "Ադանելյան", + "Ադանյան", + "Ադաջյան", + "Ադելյան", + "Ադեյան", + "Ադիբեկ-Մելիքյան", + "Ադիբեկյան", + "Ադիգյոզալյան", + "Ադիգոզյան", + "Ադիլխանյան", + "Ադիլյան", + "Ադիխանյան", + "Ադիմզալյան", + "Ադիյան", + "Ադիշյան", + "Ադլխանյան", + "Ադյան", + "Ադոյան", + "Ադոնց", + "Ադուլյան", + "Ադունց", + "Ադրունի", + "Ազաբյան", + "Ազանյան", + "Ազատիկյան", + "Ազատխանյան", + "Ազատյան", + "Ազատյանց", + "Ազարամյան", + "Ազարբեկյան", + "Ազարիկյան", + "Ազարյան", + "Ազարումյան", + "Ազբեկյան", + "Ազգալդյան", + "Ազգալդրյան", + "Ազգելդյան", + "Ազգուլյան", + "Ազդարյան", + "Ազիզբեկյան", + "Ազիզխանյան", + "Ազիզյան", + "Ազիլազյան", + "Ազիկյան", + "Ազիրյան", + "Ազյան", + "Ազնավուրյան", + "Ազոյան", + "Ազուլյան", + "Ազրյան", + "Ազրոյան", + "Աթաբահյան", + "Աթաբեկյան", + "Աթաբեկյանց", + "Աթագյուլյան", + "Աթալարյան", + "Աթալյան", + "Աթալյանց", + "Աթախանյան", + "Աթամանյան", + "Աթամյան", + "Աթայան", + "Աթանագինյան", + "Աթանասյան", + "Աթանեսյան", + "Աթանոսյան", + "Աթաշյան", + "Աթաջյան", + "Աթասյան", + "Աթասունց", + "Աթարբեկյան", + "Աթարյան", + "Աթաքյան", + "Աթբաշյան", + "Աթեճյան", + "Աթեշյան", + "Աթերզյան", + "Աթինիզյան", + "Աթինյան", + "Աթլոյան", + "Աթմաճյան", + "Աթմաջյան", + "Աթյան", + "Աթոյան", + "Աթոռակալյան", + "Աթումյան", + "Աթչյան", + "Աթքյան", + "Աժանջյան", + "Աժդահարյան", + "Աժդարյան", + "Աժդերհանյան", + "Աժտեհանյան", + "Աժտերխանյան", + "Աժտիկյան", + "Ալաբաշյան", + "Ալաբեկյան", + "Ալաբերկյան", + "Ալաբերճյան", + "Ալագյոզյան", + "Ալաջաջյան", + "Ալավերդյան", + "Ալեքսանյան", + "Ալոյան", + "Աղաբաբյան", + "Աղաբեկյան", + "Աղաջանյան", + "Աղասյան", + "Ամարյան", + "Ամիրբեկյան", + "Ամիրխանյան", + "Այվազյան", + "Անանյան", + "Անդրեասյան", + "Անղալադյան", + "Անոփյան", + "Անտոնյան", + "Առաքելյան", + "Առուստամյան", + "Ասատրյան", + "Ասլանյան", + "Աստվածատրյան", + "Ավագյան", + "Ավդալյան", + "Ավետիսյան", + "Ավոյան", + "Ավչյան", + "Ատրյան", + "Արեգյան", + "Արեշյան", + "Արզումանյան", + "Արծրունի", + "Բաբալյան", + "Բաբաջանյան", + "Բաբայան", + "Բաբուջյան", + "Բագրատյան", + "Բագրատունի", + "Բադալյան", + "Բադալով", + "Բադասյան", + "Բադեյան", + "Բադիկյան", + "Բազեյան", + "Բազունց", + "Բակունց", + "Բաղդասարյան", + "Բարսեղյան", + "Բեկզադյան", + "Բեկզադով", + "Բեկյան", + "Բեկնազարյան", + "Բեջանյան", + "Բերբերյան", + "Բոյաջյան", + "Բոստանջյան", + "Բունիաթյան", + "Բուռնազյան", + "Գաբոյան", + "Գաբուզյան", + "Գաբրիելյան", + "Գալաչյան", + "Գալստյան", + "Գալդունց", + "Գալֆայան", + "Գալոյան", + "Գասպարյան", + "Գասպարով", + "Գավալջյան", + "Գարասեֆերյան", + "Գերավետյան", + "Գզիրյան", + "Գիլոյան", + "Գիմիշյան", + "Գլեչյան", + "Գյանջեցյան", + "Գյուլնազարյան", + "Գյումուշյան", + "Գնունի", + "Գրիգորյան", + "Գուլաքսյան", + "Գուլումյան", + "Գևորգյան", + "Դաբաղյան", + "Դադալյան", + "Դադասյան", + "Դալլաքյան", + "Դանիելյան", + "Դարբինյան", + "Դարչինյան", + "Դեմուրյան", + "Դևրիկյան", + "Դիմաքսյան", + "Դոդոխյան", + "Դոլուխանյան", + "Դոլուխանով", + "Դոխոլյան", + "Դոխոյան", + "Դոխոյանց", + "Դովլաթբեկյան", + "Դովլաթյան", + "Դուդուկչյան", + "Դուզճակատչյան", + "Դուվալյան", + "Եգանյան", + "Եգորյան", + "Եղիազարյան", + "Եղնուկյան", + "Ենգիբարյան", + "Ենգիբարով", + "Ենգոյան", + "Ենիգոմեշյան", + "Ենոքյան", + "Եսայան", + "Երեմյան", + "Երիբեկյան", + "Երկանյան", + "Եփրեմյան", + "Զադոյան", + "Զազյան", + "Զանազանյան", + "Զավրիյան", + "Զավարյան", + "Զատիկյան", + "Զարգարյան", + "Զարյան", + "Զարուբյան", + "Զաքարյան", + "Զաքյան", + "Զաքոյան", + "Զելվեյան", + "Զեյթունցյան", + "Զեյնալյան", + "Զոհրաբյան", + "Զոլյան", + "Զուռնաչյան", + "Զուրաբյան", + "Էլբակյան", + "Էլոյան", + "Էլչիբեկյան", + "Էնֆիաջյան", + "Էսկիբաշյան", + "Ըրղաթբաշյան", + "Թադևոսյան", + "Թաթուլյան", + "Թաթունց", + "Թամազյան", + "Թաշչյան", + "Թարաքաջյան", + "Թառայան", + "Թերզյան", + "Թեքեյան", + "Թովմասյան", + "Թորգոմյան", + "Թորոսյան", + "Թովուլջյան", + "Թումանյան", + "Թևոսյան", + "Ժամագործյան", + "Ժամկոչյան", + "Իբրահիմբեկյան", + "Իգիթբաշյան", + "Իգիթխանյան", + "Իգիթյան", + "Իզմիրյան", + "Իմաստունյան", + "Իմեքչյան", + "Իշլեմեճյան", + "Իշխանյան", + "Իշտոյան", + "Իսաբեկյան", + "Իսաբեկյանց", + "Իսահակյան", + "Իսկանդարյան", + "Իսրայելյան", + "Լազարյան", + "Լազարյանց", + "Լալայան", + "Լալայանց", + "Լամբարյան", + "Լեմենցյան", + "Լիպարիտյան", + "Լպուտյան", + "Լցկարյան", + "Լուսպարոնյան", + "Խազաբաշյան", + "Խազխազյան", + "Խալաֆյան", + "Խալիկյան", + "Խանբաբյան", + "Խանզադյան", + "Խաշմանյան", + "Խաչատրյան", + "Խաչատրյանց", + "Խաչենց", + "Խաչիկօղլյան", + "Խառատյան", + "Խեչանյան", + "Խզմալյան", + "Խլղաթյան", + "Խնկոյան", + "Խոդիկյան", + "Խուդոյան", + "Ծաղիկյան", + "Ծառուկյան", + "Ծատուրյան", + "Ծերունյան", + "Ծորմոտյան", + "Ծպնեցյան", + "Ծուռվիզյան", + "Կաբակուլակյան", + "Կաբաղյան", + "Կաբասկալյան", + "Կադարջյան", + "Կալդրիկյան", + "Կալենց", + "Կալպակչյան", + "Կամսարյան", + "Կամսարյանց", + "Կայֆեջյան", + "Կաշեգործյան", + "Կարագյան", + "Կարախանյան", + "Կարամանուկյան", + "Կարապետյան", + "Կարճիկյան", + "Կետիկյան", + "Կոթողյան", + "Կոնդախչյան", + "Կոշկակարյան", + "Կոստանյան", + "Կրպեյան", + "Կույումջանյան", + "Հալաբյան", + "Հախվերդյան", + "Հակոբյան", + "Համբարձումյան", + "Հայրապետյան", + "Հայրբաբամյան", + "Հայրիկյան", + "Հատիկյան", + "Հաջինյան", + "Հարությունյան", + "Հովասափյան", + "Հովհաննիսյան", + "Հովիվյան", + "Հովսեփյան", + "Հովսեփով", + "Հուրդաջյան", + "Ձավարյան", + "Ձիթողցյան", + "Ձիլֆուղարյան", + "Ձկնորսյան", + "Ձվակերյան", + "Ղաբզիմալյան", + "Ղազախեթյան", + "Ղազանչյան", + "Ղազարյան", + "Ղազարով", + "Ղազինյան", + "Ղալդունց", + "Ղալթախչյան", + "Ղահրամանյան", + "Ղամբարյան", + "Ղայլունջյան", + "Ղայֆեճյան", + "Ղանդիլյան", + "Ղասաբյան", + "Ղասաբօղլյան", + "Ղափլանյան", + "Ղոլթաղչյան", + "Ճալտիկյան", + "Ճաղարյան", + "Ճանճապանյան", + "Ճանսուզյան", + "Ճապաղջուրյան", + "Ճգնավորյան", + "Ճենեպերեքյան", + "Ճիվասզյան", + "Ճոճկանյան", + "Ճուղուրյան", + "Մադաթյան", + "Մազմանյան", + "Մանանդյան", + "Մանուկյան", + "Մանվելյան", + "Մարաշյան", + "Մարգարյան", + "Մելիք-Աբրահամյան", + "Մելիք-Ադամյան", + "Մելիք-Ասլանյան", + "Մելիք-Բարխուդարյան", + "Մելիք-Օհանջանյան", + "Մեհրաբյան", + "Միկոյան", + "Մինասբեկյան", + "Մինասյան", + "Միսակյան", + "Միրզոյան", + "Միրզոյանց", + "Միքայելյան", + "Մխիթարյան", + "Մնացականյան", + "Մշեցյան", + "Մովսիսյան", + "Մոսինյան", + "Մսագործյան", + "Մսրյան", + "Մուշեղյան", + "Մուշկամբարյան", + "Մուսայելյան", + "Մուրադյան", + "Յաբլուկյան", + "Յագուբյան", + "Յազիչյան", + "Յաղլիճյան", + "Յոգուրթչյան", + "Յուզբաշյան", + "Յություճյան", + "Նաբաթյան", + "Նազարյան", + "Նալբանդյան", + "Նալչադյան", + "Նախշքարյան", + "Նահապետյան", + "Ներկարարյան", + "Ներսեսյան", + "Ներսիսյան", + "Նիկողոսյան", + "Նշանյան", + "Շաբոյան", + "Շաբունց", + "Շագոյան", + "Շալավասյան", + "Շահազիզյան", + "Շահբազյան", + "Շահինյան", + "Շահինյանց", + "Շահնազարյան", + "Շարաբխանյան", + "Շաքարյան", + "Շաքրամանյան", + "Շելունց", + "Շուքուրյան", + "Ոսկանյան", + "Ոսկերչյան", + "Չալիկյան", + "Չալխիֆալակյան", + "Չալոյան", + "Չախմախչյան", + "Չեմեդիկյան", + "Չեպչյան", + "Չեքիջյան", + "Չիբուխչյան", + "Չիլինգարյան", + "Չիվչյան", + "Չոբանյան", + "Պալյան", + "Պապայան", + "Պապիկյան", + "Պապոյան", + "Պառավյան", + "Պարոնիկյան", + "Պարոնյան", + "Պարոնյանց", + "Պարսամյան", + "Պերեճիկլյան", + "Պետրոսյան", + "Պետրոսյանց", + "Պոզապալյան", + "Պողոսյան", + "Պողպատյան", + "Պռոշյան", + "Պստիկյան", + "Ջալալբեկյան", + "Ջանավարյան", + "Ջանգիրյան", + "Ջանիբեկյան", + "Ջանջուղազյան", + "Ջանփոլադյան", + "Ջանունց", + "Ջերեջյան", + "Ջիգարխանյան", + "Ջուլֆիղարյան", + "Ռաշիդյան", + "Ռասիմոսյան", + "Ռևազյան", + "Ռշտունի", + "Ռոստոմյան", + "Ռուբինյան", + "Ռուստամյան", + "Ռուստամյանց", + "Սադոյան", + "Սաթյան", + "Սալբաշյան", + "Սահակյան", + "Սանթրոսյան", + "Սանոյան", + "Սարգսյան", + "Սարխոյան", + "Սարոյան", + "Սիսոյան", + "Սաֆարյան", + "Սեմերջյան", + "Սիմոնյան", + "Սիրունյան", + "Սոլախյան", + "Սողոմոնյան", + "Ստեփանյան", + "Սրմաքեշյան", + "Սուրմելյան", + "Սուփրիկյան", + "Սուքիասյան", + "Վազիգեղցյան", + "Վահանյան", + "Վահունի", + "Վանեցյան", + "Վանյան", + "Վարդապետյան", + "Վարդերեսյան", + "Վարոսյան", + "Վարպետյան", + "Վերանյան", + "Վրացյան", + "Տաճատյան", + "Տասնապետյան", + "Տարոնցյան", + "Տեր-Գևորգյան", + "Տեր-Հովհաննիսյան", + "Տեր-Ղազարյան", + "Տեր-Վահանյան", + "Տոնոյան", + "Տոպաջիկյան", + "Տուղրեմաճյան", + "Ցախկլորյան", + "Ցիպլեցյան", + "Ցոլակյան", + "Ցրտատարյան", + "Ուզանկիչյան", + "Ուզունյան", + "Ութմազյան", + "Ուլիխանյան", + "Ուլուբաբյան", + "Ուստաբաշյան", + "Ուրֆալյան", + "Փալանդուզյան", + "Փախչանյան", + "Փահլևանյան", + "Փամբուխչյան", + "Փամբուկչյան", + "Փայլաբազյան", + "Փանոսյան", + "Փաշայան", + "Փաշինյան", + "Փարաջանյան", + "Փարաքեսիկյան", + "Փարսադանյան", + "Փափազյան", + "Փիլիփոսյան", + "Փոքրիկյան", + "Քաթանասյան", + "Քալանթարյան", + "Քալաշյան", + "Քաղցրիկյան", + "Քարտաշյան", + "Քափանակցյան", + "Քեշիշյան", + "Քեչօղլյան", + "Քիլարջյան", + "Քյոսայան", + "Քոչարյան", + "Քոչինյան", + "Քրմոյան", + "Քրքորյան", + "Քուշքյան", + "Օդյան", + "Օզանյան", + "Օզնեցյան", + "Օհանյան", + "Օրբելյան", + "Ֆալյան", + "Ֆահրադյան", + "Ֆոլյան", + "Ֆռանգյան", + "Ֆրանգուլյան", ) diff --git a/faker/providers/person/id_ID/__init__.py b/faker/providers/person/id_ID/__init__.py index cd2292eec2..f465c58cc1 100644 --- a/faker/providers/person/id_ID/__init__.py +++ b/faker/providers/person/id_ID/__init__.py @@ -3,133 +3,748 @@ class Provider(PersonProvider): formats = ( - '{{first_name_male}} {{last_name}}', - '{{first_name_male}} {{last_name}}', - '{{first_name_male}} {{last_name}}', - '{{first_name_male}} {{last_name}}', - '{{first_name_female}} {{last_name}}', - '{{first_name_female}} {{last_name}}', - '{{first_name_female}} {{last_name}}', - '{{first_name_female}} {{last_name}}', - '{{prefix_male}} {{first_name_male}} {{last_name}}', - '{{prefix_female}} {{first_name_female}} {{last_name}}', - '{{first_name_male}} {{last_name}}, {{suffix}}', - '{{first_name_female}} {{last_name}}, {{suffix}}', - '{{prefix_male}} {{first_name_male}} {{last_name}}, {{suffix}}', - '{{prefix_female}} {{first_name_female}} {{last_name}}, {{suffix}}', + "{{first_name_male}} {{last_name}}", + "{{first_name_male}} {{last_name}}", + "{{first_name_male}} {{last_name}}", + "{{first_name_male}} {{last_name}}", + "{{first_name_female}} {{last_name}}", + "{{first_name_female}} {{last_name}}", + "{{first_name_female}} {{last_name}}", + "{{first_name_female}} {{last_name}}", + "{{prefix_male}} {{first_name_male}} {{last_name}}", + "{{prefix_female}} {{first_name_female}} {{last_name}}", + "{{first_name_male}} {{last_name}}, {{suffix}}", + "{{first_name_female}} {{last_name}}, {{suffix}}", + "{{prefix_male}} {{first_name_male}} {{last_name}}, {{suffix}}", + "{{prefix_female}} {{first_name_female}} {{last_name}}, {{suffix}}", ) # From http://www.nama.web.id/search.php?gender=male&origin=Indonesia+-+Jawa&letter=&submit=Search # via # https://github.com/fzaninotto/faker/blob/master/src/Faker/Provider/id_ID/Person.php first_names_male = ( - 'Abyasa', 'Ade', 'Adhiarja', 'Adiarja', 'Adika', 'Adikara', 'Adinata', - 'Aditya', 'Agus', 'Ajiman', 'Ajimat', 'Ajimin', 'Ajiono', 'Akarsana', - 'Alambana', 'Among', 'Anggabaya', 'Anom', 'Argono', 'Aris', 'Arta', - 'Artanto', 'Artawan', 'Arsipatra', 'Asirwada', 'Asirwanda', 'Aslijan', - 'Asmadi', 'Asman', 'Asmianto', 'Asmuni', 'Aswani', 'Atma', 'Atmaja', - 'Bagas', 'Bagiya', 'Bagus', 'Bagya', 'Bahuraksa', 'Bahuwarna', - 'Bahuwirya', 'Bajragin', 'Bakda', 'Bakiadi', 'Bakianto', 'Bakidin', - 'Bakijan', 'Bakiman', 'Bakiono', 'Bakti', 'Baktiadi', 'Baktianto', - 'Baktiono', 'Bala', 'Balamantri', 'Balangga', 'Balapati', 'Balidin', - 'Balijan', 'Bambang', 'Banara', 'Banawa', 'Banawi', 'Bancar', 'Budi', - 'Cagak', 'Cager', 'Cahyadi', 'Cahyanto', 'Cahya', 'Cahyo', 'Cahyono', - 'Caket', 'Cakrabirawa', 'Cakrabuana', 'Cakrajiya', 'Cakrawala', - 'Cakrawangsa', 'Candra', 'Chandra', 'Candrakanta', 'Capa', 'Caraka', - 'Carub', 'Catur', 'Caturangga', 'Cawisadi', 'Cawisono', 'Cawuk', - 'Cayadi', 'Cecep', 'Cemani', 'Cemeti', 'Cemplunk', 'Cengkal', 'Cengkir', - 'Dacin', 'Dadap', 'Dadi', 'Dagel', 'Daliman', 'Dalimin', 'Daliono', - 'Damar', 'Damu', 'Danang', 'Daniswara', 'Danu', 'Danuja', 'Dariati', - 'Darijan', 'Darimin', 'Darmaji', 'Darman', 'Darmana', 'Darmanto', - 'Darsirah', 'Dartono', 'Daru', 'Daruna', 'Daryani', 'Dasa', 'Digdaya', - 'Dimas', 'Dimaz', 'Dipa', 'Dirja', 'Drajat', 'Dwi', 'Dono', 'Dodo', - 'Edi', 'Eka', 'Elon', 'Eluh', 'Eman', 'Emas', 'Embuh', 'Emong', - 'Empluk', 'Endra', 'Enteng', 'Estiawan', 'Estiono', 'Eko', 'Edi', - 'Edison', 'Edward', 'Elvin', 'Erik', 'Emil', 'Ega', 'Emin', 'Eja', - 'Gada', 'Gadang', 'Gaduh', 'Gaiman', 'Galak', 'Galang', 'Galar', - 'Galih', 'Galiono', 'Galuh', 'Galur', 'Gaman', 'Gamani', 'Gamanto', - 'Gambira', 'Gamblang', 'Ganda', 'Gandewa', 'Gandi', 'Gandi', 'Ganep', - 'Gangsa', 'Gangsar', 'Ganjaran', 'Gantar', 'Gara', 'Garan', 'Garang', - 'Garda', 'Gatot', 'Gatra', 'Gilang', 'Galih', 'Ghani', 'Gading', - 'Hairyanto', 'Hardana', 'Hardi', 'Harimurti', 'Harja', 'Harjasa', - 'Harjaya', 'Harjo', 'Harsana', 'Harsanto', 'Harsaya', 'Hartaka', - 'Hartana', 'Harto', 'Hasta', 'Heru', 'Himawan', 'Hadi', 'Halim', - 'Hasim', 'Hasan', 'Hendra', 'Hendri', 'Heryanto', 'Hamzah', 'Hari', - 'Imam', 'Indra', 'Irwan', 'Irsad', 'Ikhsan', 'Irfan', 'Ian', 'Ibrahim', - 'Ibrani', 'Ismail', 'Irnanto', 'Ilyas', 'Ibun', 'Ivan', 'Ikin', 'Ihsan', - 'Jabal', 'Jaeman', 'Jaga', 'Jagapati', 'Jagaraga', 'Jail', 'Jaiman', - 'Jaka', 'Jarwa', 'Jarwadi', 'Jarwi', 'Jasmani', 'Jaswadi', 'Jati', - 'Jatmiko', 'Jaya', 'Jayadi', 'Jayeng', 'Jinawi', 'Jindra', 'Joko', - 'Jumadi', 'Jumari', 'Jamal', 'Jamil', 'Jais', 'Jefri', 'Johan', 'Jono', - 'Kacung', 'Kajen', 'Kambali', 'Kamidin', 'Kariman', 'Karja', 'Karma', - 'Karman', 'Karna', 'Karsa', 'Karsana', 'Karta', 'Kasiran', 'Kasusra', - 'Kawaca', 'Kawaya', 'Kayun', 'Kemba', 'Kenari', 'Kenes', 'Kuncara', - 'Kunthara', 'Kusuma', 'Kadir', 'Kala', 'Kalim', 'Kurnia', 'Kanda', - 'Kardi', 'Karya', 'Kasim', 'Kairav', 'Kenzie', 'Kemal', 'Kamal', 'Koko', - 'Labuh', 'Laksana', 'Lamar', 'Lanang', 'Langgeng', 'Lanjar', 'Lantar', - 'Lega', 'Legawa', 'Lembah', 'Liman', 'Limar', 'Luhung', 'Lukita', - 'Luluh', 'Lulut', 'Lurhur', 'Luwar', 'Luwes', 'Latif', 'Lasmanto', - 'Lukman', 'Luthfi', 'Leo', 'Luis', 'Lutfan', 'Lasmono', 'Laswi', - 'Mahesa', 'Makara', 'Makuta', 'Manah', 'Maras', 'Margana', 'Mariadi', - 'Marsudi', 'Martaka', 'Martana', 'Martani', 'Marwata', 'Maryadi', - 'Maryanto', 'Mitra', 'Mujur', 'Mulya', 'Mulyanto', 'Mulyono', 'Mumpuni', - 'Muni', 'Mursita', 'Murti', 'Mustika', 'Maman', 'Mahmud', 'Mahdi', - 'Mahfud', 'Malik', 'Muhammad', 'Mustofa', 'Marsito', 'Mursinin', - 'Nalar', 'Naradi', 'Nardi', 'Niyaga', 'Nrima', 'Nugraha', 'Nyana', - 'Narji', 'Nasab', 'Nasrullah', 'Nasim', 'Najib', 'Najam', 'Nyoman', - 'Olga', 'Ozy', 'Omar', 'Opan', 'Oskar', 'Oman', 'Okto', 'Okta', 'Opung', - 'Paiman', 'Panca', 'Pangeran', 'Pangestu', 'Pardi', 'Parman', 'Perkasa', - 'Praba', 'Prabu', 'Prabawa', 'Prabowo', 'Prakosa', 'Pranata', 'Pranawa', - 'Prasetya', 'Prasetyo', 'Prayitna', 'Prayoga', 'Prayogo', 'Purwadi', - 'Purwa', 'Purwanto', 'Panji', 'Pandu', 'Paiman', 'Prima', 'Putu', - 'Raden', 'Raditya', 'Raharja', 'Rama', 'Rangga', 'Reksa', 'Respati', - 'Rusman', 'Rosman', 'Rahmat', 'Rahman', 'Rendy', 'Reza', 'Rizki', - 'Ridwan', 'Rudi', 'Raden', 'Radit', 'Radika', 'Rafi', 'Rafid', 'Raihan', - 'Salman', 'Saadat', 'Saiful', 'Surya', 'Slamet', 'Samsul', 'Soleh', - 'Simon', 'Sabar', 'Sabri', 'Sidiq', 'Satya', 'Setya', 'Saka', 'Sakti', - 'Taswir', 'Tedi', 'Teddy', 'Taufan', 'Taufik', 'Tomi', 'Tasnim', - 'Teguh', 'Tasdik', 'Timbul', 'Tirta', 'Tirtayasa', 'Tri', 'Tugiman', - 'Umar', 'Usman', 'Uda', 'Umay', 'Unggul', 'Utama', 'Umaya', 'Upik', - 'Viktor', 'Vino', 'Vinsen', 'Vero', 'Vega', 'Viman', 'Virman', - 'Wahyu', 'Wira', 'Wisnu', 'Wadi', 'Wardi', 'Warji', 'Waluyo', 'Wakiman', - 'Wage', 'Wardaya', 'Warsa', 'Warsita', 'Warta', 'Wasis', 'Wawan', - 'Xanana', 'Yahya', 'Yusuf', 'Yosef', 'Yono', 'Yoga', + "Abyasa", + "Ade", + "Adhiarja", + "Adiarja", + "Adika", + "Adikara", + "Adinata", + "Aditya", + "Agus", + "Ajiman", + "Ajimat", + "Ajimin", + "Ajiono", + "Akarsana", + "Alambana", + "Among", + "Anggabaya", + "Anom", + "Argono", + "Aris", + "Arta", + "Artanto", + "Artawan", + "Arsipatra", + "Asirwada", + "Asirwanda", + "Aslijan", + "Asmadi", + "Asman", + "Asmianto", + "Asmuni", + "Aswani", + "Atma", + "Atmaja", + "Bagas", + "Bagiya", + "Bagus", + "Bagya", + "Bahuraksa", + "Bahuwarna", + "Bahuwirya", + "Bajragin", + "Bakda", + "Bakiadi", + "Bakianto", + "Bakidin", + "Bakijan", + "Bakiman", + "Bakiono", + "Bakti", + "Baktiadi", + "Baktianto", + "Baktiono", + "Bala", + "Balamantri", + "Balangga", + "Balapati", + "Balidin", + "Balijan", + "Bambang", + "Banara", + "Banawa", + "Banawi", + "Bancar", + "Budi", + "Cagak", + "Cager", + "Cahyadi", + "Cahyanto", + "Cahya", + "Cahyo", + "Cahyono", + "Caket", + "Cakrabirawa", + "Cakrabuana", + "Cakrajiya", + "Cakrawala", + "Cakrawangsa", + "Candra", + "Chandra", + "Candrakanta", + "Capa", + "Caraka", + "Carub", + "Catur", + "Caturangga", + "Cawisadi", + "Cawisono", + "Cawuk", + "Cayadi", + "Cecep", + "Cemani", + "Cemeti", + "Cemplunk", + "Cengkal", + "Cengkir", + "Dacin", + "Dadap", + "Dadi", + "Dagel", + "Daliman", + "Dalimin", + "Daliono", + "Damar", + "Damu", + "Danang", + "Daniswara", + "Danu", + "Danuja", + "Dariati", + "Darijan", + "Darimin", + "Darmaji", + "Darman", + "Darmana", + "Darmanto", + "Darsirah", + "Dartono", + "Daru", + "Daruna", + "Daryani", + "Dasa", + "Digdaya", + "Dimas", + "Dimaz", + "Dipa", + "Dirja", + "Drajat", + "Dwi", + "Dono", + "Dodo", + "Edi", + "Eka", + "Elon", + "Eluh", + "Eman", + "Emas", + "Embuh", + "Emong", + "Empluk", + "Endra", + "Enteng", + "Estiawan", + "Estiono", + "Eko", + "Edi", + "Edison", + "Edward", + "Elvin", + "Erik", + "Emil", + "Ega", + "Emin", + "Eja", + "Gada", + "Gadang", + "Gaduh", + "Gaiman", + "Galak", + "Galang", + "Galar", + "Galih", + "Galiono", + "Galuh", + "Galur", + "Gaman", + "Gamani", + "Gamanto", + "Gambira", + "Gamblang", + "Ganda", + "Gandewa", + "Gandi", + "Gandi", + "Ganep", + "Gangsa", + "Gangsar", + "Ganjaran", + "Gantar", + "Gara", + "Garan", + "Garang", + "Garda", + "Gatot", + "Gatra", + "Gilang", + "Galih", + "Ghani", + "Gading", + "Hairyanto", + "Hardana", + "Hardi", + "Harimurti", + "Harja", + "Harjasa", + "Harjaya", + "Harjo", + "Harsana", + "Harsanto", + "Harsaya", + "Hartaka", + "Hartana", + "Harto", + "Hasta", + "Heru", + "Himawan", + "Hadi", + "Halim", + "Hasim", + "Hasan", + "Hendra", + "Hendri", + "Heryanto", + "Hamzah", + "Hari", + "Imam", + "Indra", + "Irwan", + "Irsad", + "Ikhsan", + "Irfan", + "Ian", + "Ibrahim", + "Ibrani", + "Ismail", + "Irnanto", + "Ilyas", + "Ibun", + "Ivan", + "Ikin", + "Ihsan", + "Jabal", + "Jaeman", + "Jaga", + "Jagapati", + "Jagaraga", + "Jail", + "Jaiman", + "Jaka", + "Jarwa", + "Jarwadi", + "Jarwi", + "Jasmani", + "Jaswadi", + "Jati", + "Jatmiko", + "Jaya", + "Jayadi", + "Jayeng", + "Jinawi", + "Jindra", + "Joko", + "Jumadi", + "Jumari", + "Jamal", + "Jamil", + "Jais", + "Jefri", + "Johan", + "Jono", + "Kacung", + "Kajen", + "Kambali", + "Kamidin", + "Kariman", + "Karja", + "Karma", + "Karman", + "Karna", + "Karsa", + "Karsana", + "Karta", + "Kasiran", + "Kasusra", + "Kawaca", + "Kawaya", + "Kayun", + "Kemba", + "Kenari", + "Kenes", + "Kuncara", + "Kunthara", + "Kusuma", + "Kadir", + "Kala", + "Kalim", + "Kurnia", + "Kanda", + "Kardi", + "Karya", + "Kasim", + "Kairav", + "Kenzie", + "Kemal", + "Kamal", + "Koko", + "Labuh", + "Laksana", + "Lamar", + "Lanang", + "Langgeng", + "Lanjar", + "Lantar", + "Lega", + "Legawa", + "Lembah", + "Liman", + "Limar", + "Luhung", + "Lukita", + "Luluh", + "Lulut", + "Lurhur", + "Luwar", + "Luwes", + "Latif", + "Lasmanto", + "Lukman", + "Luthfi", + "Leo", + "Luis", + "Lutfan", + "Lasmono", + "Laswi", + "Mahesa", + "Makara", + "Makuta", + "Manah", + "Maras", + "Margana", + "Mariadi", + "Marsudi", + "Martaka", + "Martana", + "Martani", + "Marwata", + "Maryadi", + "Maryanto", + "Mitra", + "Mujur", + "Mulya", + "Mulyanto", + "Mulyono", + "Mumpuni", + "Muni", + "Mursita", + "Murti", + "Mustika", + "Maman", + "Mahmud", + "Mahdi", + "Mahfud", + "Malik", + "Muhammad", + "Mustofa", + "Marsito", + "Mursinin", + "Nalar", + "Naradi", + "Nardi", + "Niyaga", + "Nrima", + "Nugraha", + "Nyana", + "Narji", + "Nasab", + "Nasrullah", + "Nasim", + "Najib", + "Najam", + "Nyoman", + "Olga", + "Ozy", + "Omar", + "Opan", + "Oskar", + "Oman", + "Okto", + "Okta", + "Opung", + "Paiman", + "Panca", + "Pangeran", + "Pangestu", + "Pardi", + "Parman", + "Perkasa", + "Praba", + "Prabu", + "Prabawa", + "Prabowo", + "Prakosa", + "Pranata", + "Pranawa", + "Prasetya", + "Prasetyo", + "Prayitna", + "Prayoga", + "Prayogo", + "Purwadi", + "Purwa", + "Purwanto", + "Panji", + "Pandu", + "Paiman", + "Prima", + "Putu", + "Raden", + "Raditya", + "Raharja", + "Rama", + "Rangga", + "Reksa", + "Respati", + "Rusman", + "Rosman", + "Rahmat", + "Rahman", + "Rendy", + "Reza", + "Rizki", + "Ridwan", + "Rudi", + "Raden", + "Radit", + "Radika", + "Rafi", + "Rafid", + "Raihan", + "Salman", + "Saadat", + "Saiful", + "Surya", + "Slamet", + "Samsul", + "Soleh", + "Simon", + "Sabar", + "Sabri", + "Sidiq", + "Satya", + "Setya", + "Saka", + "Sakti", + "Taswir", + "Tedi", + "Teddy", + "Taufan", + "Taufik", + "Tomi", + "Tasnim", + "Teguh", + "Tasdik", + "Timbul", + "Tirta", + "Tirtayasa", + "Tri", + "Tugiman", + "Umar", + "Usman", + "Uda", + "Umay", + "Unggul", + "Utama", + "Umaya", + "Upik", + "Viktor", + "Vino", + "Vinsen", + "Vero", + "Vega", + "Viman", + "Virman", + "Wahyu", + "Wira", + "Wisnu", + "Wadi", + "Wardi", + "Warji", + "Waluyo", + "Wakiman", + "Wage", + "Wardaya", + "Warsa", + "Warsita", + "Warta", + "Wasis", + "Wawan", + "Xanana", + "Yahya", + "Yusuf", + "Yosef", + "Yono", + "Yoga", ) # From http://namafb.com/2010/08/12/top-1000-nama-populer-indonesia/ # via # https://github.com/fzaninotto/faker/blob/master/src/Faker/Provider/id_ID/Person.php first_names_female = ( - 'Ade', 'Agnes', 'Ajeng', 'Amalia', 'Anita', 'Ayu', 'Aisyah', 'Ana', - 'Ami', 'Ani', 'Azalea', 'Aurora', 'Alika', 'Anastasia', 'Amelia', - 'Almira', 'Bella', 'Betania', 'Belinda', 'Citra', 'Cindy', 'Chelsea', - 'Clara', 'Cornelia', 'Cinta', 'Cinthia', 'Ciaobella', 'Cici', 'Carla', - 'Calista', 'Devi', 'Dewi', 'Dian', 'Diah', 'Diana', 'Dina', 'Dinda', - 'Dalima', 'Eka', 'Eva', 'Endah', 'Elisa', 'Eli', 'Ella', 'Ellis', - 'Elma', 'Elvina', 'Fitria', 'Fitriani', 'Febi', 'Faizah', 'Farah', - 'Farhunnisa', 'Fathonah', 'Gabriella', 'Gasti', 'Gawati', 'Genta', - 'Ghaliyati', 'Gina', 'Gilda', 'Halima', 'Hesti', 'Hilda', 'Hafshah', - 'Hamima', 'Hana', 'Hani', 'Hasna', 'Humaira', 'Ika', 'Indah', 'Intan', - 'Irma', 'Icha', 'Ida', 'Ifa', 'Ilsa', 'Ina', 'Ira', 'Iriana', 'Jamalia', - 'Janet', 'Jane', 'Julia', 'Juli', 'Jessica', 'Jasmin', 'Jelita', - 'Kamaria', 'Kamila', 'Kani', 'Karen', 'Karimah', 'Kartika', 'Kasiyah', - 'Keisha', 'Kezia', 'Kiandra', 'Kayla', 'Kania', 'Lala', 'Lalita', - 'Latika', 'Laila', 'Laras', 'Lidya', 'Lili', 'Lintang', 'Maria', 'Mala', - 'Maya', 'Maida', 'Maimunah', 'Melinda', 'Mila', 'Mutia', 'Michelle', - 'Malika', 'Nadia', 'Nadine', 'Nabila', 'Natalia', 'Novi', 'Nova', - 'Nurul', 'Nilam', 'Najwa', 'Olivia', 'Ophelia', 'Oni', 'Oliva', 'Padma', - 'Putri', 'Paramita', 'Paris', 'Patricia', 'Paulin', 'Puput', 'Puji', - 'Pia', 'Puspa', 'Puti', 'Putri', 'Padmi', 'Qori', 'Queen', 'Ratih', - 'Ratna', 'Restu', 'Rini', 'Rika', 'Rina', 'Rahayu', 'Rahmi', 'Rachel', - 'Rahmi', 'Raisa', 'Raina', 'Sarah', 'Sari', 'Siti', 'Siska', 'Suci', - 'Syahrini', 'Septi', 'Sadina', 'Safina', 'Sakura', 'Salimah', 'Salwa', - 'Salsabila', 'Samiah', 'Shania', 'Sabrina', 'Silvia', 'Shakila', - 'Talia', 'Tami', 'Tira', 'Tiara', 'Titin', 'Tania', 'Tina', 'Tantri', - 'Tari', 'Titi', 'Uchita', 'Unjani', 'Ulya', 'Uli', 'Ulva', 'Umi', - 'Usyi', 'Vanya', 'Vanesa', 'Vivi', 'Vera', 'Vicky', 'Victoria', - 'Violet', 'Winda', 'Widya', 'Wulan', 'Wirda', 'Wani', 'Yani', 'Yessi', - 'Yulia', 'Yuliana', 'Yuni', 'Yunita', 'Yance', 'Zahra', 'Zalindra', - 'Zaenab', 'Zulfa', 'Zizi', 'Zulaikha', 'Zamira', 'Zelda', 'Zelaya', + "Ade", + "Agnes", + "Ajeng", + "Amalia", + "Anita", + "Ayu", + "Aisyah", + "Ana", + "Ami", + "Ani", + "Azalea", + "Aurora", + "Alika", + "Anastasia", + "Amelia", + "Almira", + "Bella", + "Betania", + "Belinda", + "Citra", + "Cindy", + "Chelsea", + "Clara", + "Cornelia", + "Cinta", + "Cinthia", + "Ciaobella", + "Cici", + "Carla", + "Calista", + "Devi", + "Dewi", + "Dian", + "Diah", + "Diana", + "Dina", + "Dinda", + "Dalima", + "Eka", + "Eva", + "Endah", + "Elisa", + "Eli", + "Ella", + "Ellis", + "Elma", + "Elvina", + "Fitria", + "Fitriani", + "Febi", + "Faizah", + "Farah", + "Farhunnisa", + "Fathonah", + "Gabriella", + "Gasti", + "Gawati", + "Genta", + "Ghaliyati", + "Gina", + "Gilda", + "Halima", + "Hesti", + "Hilda", + "Hafshah", + "Hamima", + "Hana", + "Hani", + "Hasna", + "Humaira", + "Ika", + "Indah", + "Intan", + "Irma", + "Icha", + "Ida", + "Ifa", + "Ilsa", + "Ina", + "Ira", + "Iriana", + "Jamalia", + "Janet", + "Jane", + "Julia", + "Juli", + "Jessica", + "Jasmin", + "Jelita", + "Kamaria", + "Kamila", + "Kani", + "Karen", + "Karimah", + "Kartika", + "Kasiyah", + "Keisha", + "Kezia", + "Kiandra", + "Kayla", + "Kania", + "Lala", + "Lalita", + "Latika", + "Laila", + "Laras", + "Lidya", + "Lili", + "Lintang", + "Maria", + "Mala", + "Maya", + "Maida", + "Maimunah", + "Melinda", + "Mila", + "Mutia", + "Michelle", + "Malika", + "Nadia", + "Nadine", + "Nabila", + "Natalia", + "Novi", + "Nova", + "Nurul", + "Nilam", + "Najwa", + "Olivia", + "Ophelia", + "Oni", + "Oliva", + "Padma", + "Putri", + "Paramita", + "Paris", + "Patricia", + "Paulin", + "Puput", + "Puji", + "Pia", + "Puspa", + "Puti", + "Putri", + "Padmi", + "Qori", + "Queen", + "Ratih", + "Ratna", + "Restu", + "Rini", + "Rika", + "Rina", + "Rahayu", + "Rahmi", + "Rachel", + "Rahmi", + "Raisa", + "Raina", + "Sarah", + "Sari", + "Siti", + "Siska", + "Suci", + "Syahrini", + "Septi", + "Sadina", + "Safina", + "Sakura", + "Salimah", + "Salwa", + "Salsabila", + "Samiah", + "Shania", + "Sabrina", + "Silvia", + "Shakila", + "Talia", + "Tami", + "Tira", + "Tiara", + "Titin", + "Tania", + "Tina", + "Tantri", + "Tari", + "Titi", + "Uchita", + "Unjani", + "Ulya", + "Uli", + "Ulva", + "Umi", + "Usyi", + "Vanya", + "Vanesa", + "Vivi", + "Vera", + "Vicky", + "Victoria", + "Violet", + "Winda", + "Widya", + "Wulan", + "Wirda", + "Wani", + "Yani", + "Yessi", + "Yulia", + "Yuliana", + "Yuni", + "Yunita", + "Yance", + "Zahra", + "Zalindra", + "Zaenab", + "Zulfa", + "Zizi", + "Zulaikha", + "Zamira", + "Zelda", + "Zelaya", ) first_names = first_names_male + first_names_female @@ -139,71 +754,251 @@ class Provider(PersonProvider): # via # https://github.com/fzaninotto/faker/blob/master/src/Faker/Provider/id_ID/Person.php last_names_male = ( - 'Adriansyah', 'Ardianto', 'Anggriawan', 'Budiman', 'Budiyanto', - 'Damanik', 'Dongoran', 'Dabukke', 'Firmansyah', 'Firgantoro', - 'Gunarto', 'Gunawan', 'Hardiansyah', 'Habibi', 'Hakim', 'Halim', - 'Haryanto', 'Hidayat', 'Hidayanto', 'Hutagalung', 'Hutapea', 'Hutasoit', - 'Irawan', 'Iswahyudi', 'Kuswoyo', 'Januar', 'Jailani', 'Kurniawan', - 'Kusumo', 'Latupono', 'Lazuardi', 'Maheswara', 'Mahendra', 'Mustofa', - 'Mansur', 'Mandala', 'Megantara', 'Maulana', 'Maryadi', 'Mangunsong', - 'Manullang', 'Marpaung', 'Marbun', 'Narpati', 'Natsir', 'Nugroho', - 'Najmudin', 'Nashiruddin', 'Nainggolan', 'Nababan', 'Napitupulu', - 'Pangestu', 'Putra', 'Pranowo', 'Prabowo', 'Pratama', 'Prasetya', - 'Prasetyo', 'Pradana', 'Pradipta', 'Prakasa', 'Permadi', 'Prasasta', - 'Prayoga', 'Ramadan', 'Rajasa', 'Rajata', 'Saptono', 'Santoso', - 'Saputra', 'Saefullah', 'Setiawan', 'Suryono', 'Suwarno', 'Siregar', - 'Sihombing', 'Salahudin', 'Sihombing', 'Samosir', 'Saragih', 'Sihotang', - 'Simanjuntak', 'Sinaga', 'Simbolon', 'Sitompul', 'Sitorus', 'Sirait', - 'Siregar', 'Situmorang', 'Tampubolon', 'Thamrin', 'Tamba', 'Tarihoran', - 'Utama', 'Uwais', 'Wahyudin', 'Waluyo', 'Wibowo', 'Winarno', 'Wibisono', - 'Wijaya', 'Widodo', 'Wacana', 'Waskita', 'Wasita', 'Zulkarnain', + "Adriansyah", + "Ardianto", + "Anggriawan", + "Budiman", + "Budiyanto", + "Damanik", + "Dongoran", + "Dabukke", + "Firmansyah", + "Firgantoro", + "Gunarto", + "Gunawan", + "Hardiansyah", + "Habibi", + "Hakim", + "Halim", + "Haryanto", + "Hidayat", + "Hidayanto", + "Hutagalung", + "Hutapea", + "Hutasoit", + "Irawan", + "Iswahyudi", + "Kuswoyo", + "Januar", + "Jailani", + "Kurniawan", + "Kusumo", + "Latupono", + "Lazuardi", + "Maheswara", + "Mahendra", + "Mustofa", + "Mansur", + "Mandala", + "Megantara", + "Maulana", + "Maryadi", + "Mangunsong", + "Manullang", + "Marpaung", + "Marbun", + "Narpati", + "Natsir", + "Nugroho", + "Najmudin", + "Nashiruddin", + "Nainggolan", + "Nababan", + "Napitupulu", + "Pangestu", + "Putra", + "Pranowo", + "Prabowo", + "Pratama", + "Prasetya", + "Prasetyo", + "Pradana", + "Pradipta", + "Prakasa", + "Permadi", + "Prasasta", + "Prayoga", + "Ramadan", + "Rajasa", + "Rajata", + "Saptono", + "Santoso", + "Saputra", + "Saefullah", + "Setiawan", + "Suryono", + "Suwarno", + "Siregar", + "Sihombing", + "Salahudin", + "Sihombing", + "Samosir", + "Saragih", + "Sihotang", + "Simanjuntak", + "Sinaga", + "Simbolon", + "Sitompul", + "Sitorus", + "Sirait", + "Siregar", + "Situmorang", + "Tampubolon", + "Thamrin", + "Tamba", + "Tarihoran", + "Utama", + "Uwais", + "Wahyudin", + "Waluyo", + "Wibowo", + "Winarno", + "Wibisono", + "Wijaya", + "Widodo", + "Wacana", + "Waskita", + "Wasita", + "Zulkarnain", ) # From http://namafb.com/2010/08/12/top-1000-nama-populer-indonesia/ # via # https://github.com/fzaninotto/faker/blob/master/src/Faker/Provider/id_ID/Person.php last_names_female = ( - 'Agustina', 'Andriani', 'Anggraini', 'Aryani', 'Astuti', - 'Fujiati', 'Farida', 'Handayani', 'Hassanah', 'Hartati', 'Hasanah', - 'Haryanti', 'Hariyah', 'Hastuti', 'Halimah', 'Kusmawati', 'Kuswandari', - 'Laksmiwati', 'Laksita', 'Lestari', 'Lailasari', 'Mandasari', - 'Mardhiyah', 'Mayasari', 'Melani', 'Mulyani', 'Maryati', 'Nurdiyanti', - 'Novitasari', 'Nuraini', 'Nasyidah', 'Nasyiah', 'Namaga', 'Palastri', - 'Pudjiastuti', 'Puspasari', 'Puspita', 'Purwanti', 'Pratiwi', - 'Purnawati', 'Pertiwi', 'Permata', 'Prastuti', 'Padmasari', 'Rahmawati', - 'Rahayu', 'Riyanti', 'Rahimah', 'Suartini', 'Sudiati', 'Suryatmi', - 'Susanti', 'Safitri', 'Oktaviani', 'Utami', 'Usamah', 'Usada', - 'Uyainah', 'Yuniar', 'Yuliarti', 'Yulianti', 'Yolanda', 'Wahyuni', - 'Wijayanti', 'Widiastuti', 'Winarsih', 'Wulandari', 'Wastuti', 'Zulaika', + "Agustina", + "Andriani", + "Anggraini", + "Aryani", + "Astuti", + "Fujiati", + "Farida", + "Handayani", + "Hassanah", + "Hartati", + "Hasanah", + "Haryanti", + "Hariyah", + "Hastuti", + "Halimah", + "Kusmawati", + "Kuswandari", + "Laksmiwati", + "Laksita", + "Lestari", + "Lailasari", + "Mandasari", + "Mardhiyah", + "Mayasari", + "Melani", + "Mulyani", + "Maryati", + "Nurdiyanti", + "Novitasari", + "Nuraini", + "Nasyidah", + "Nasyiah", + "Namaga", + "Palastri", + "Pudjiastuti", + "Puspasari", + "Puspita", + "Purwanti", + "Pratiwi", + "Purnawati", + "Pertiwi", + "Permata", + "Prastuti", + "Padmasari", + "Rahmawati", + "Rahayu", + "Riyanti", + "Rahimah", + "Suartini", + "Sudiati", + "Suryatmi", + "Susanti", + "Safitri", + "Oktaviani", + "Utami", + "Usamah", + "Usada", + "Uyainah", + "Yuniar", + "Yuliarti", + "Yulianti", + "Yolanda", + "Wahyuni", + "Wijayanti", + "Widiastuti", + "Winarsih", + "Wulandari", + "Wastuti", + "Zulaika", ) last_names = last_names_male + last_names_female prefixes_male = ( - 'Dt.', 'R.', 'R.M.', 'Sutan', 'T.', 'Tgk.', - + "Dt.", + "R.", + "R.M.", + "Sutan", + "T.", + "Tgk.", # From http://id.wikipedia.org/wiki/Gelar_akademik # via # https://github.com/fzaninotto/faker/blob/master/src/Faker/Provider/id_ID/Person.php # plus noble titles - 'dr.', 'drg.', 'Dr.', 'Drs.', 'Ir.', 'H.', 'KH.', + "dr.", + "drg.", + "Dr.", + "Drs.", + "Ir.", + "H.", + "KH.", ) prefixes_female = ( - 'Cut', 'Puti', 'R.', 'R.A.', 'Tgk.', - + "Cut", + "Puti", + "R.", + "R.A.", + "Tgk.", # From http://id.wikipedia.org/wiki/Gelar_akademik # via # https://github.com/fzaninotto/faker/blob/master/src/Faker/Provider/id_ID/Person.php # plus noble titles - 'dr.', 'drg.', 'Dr.', 'Drs.', 'Ir.', 'Hj.', + "dr.", + "drg.", + "Dr.", + "Drs.", + "Ir.", + "Hj.", ) # From http://id.wikipedia.org/wiki/Gelar_akademik # via # https://github.com/fzaninotto/faker/blob/master/src/Faker/Provider/id_ID/Person.php suffixes = ( - 'S.Ked', 'S.Gz', 'S.Pt', 'S.IP', 'S.E.I', 'S.E.', 'S.Kom', 'S.H.', - 'S.T.', 'S.Pd', 'S.Psi', 'S.I.Kom', 'S.Sos', 'S.Farm', 'M.M.', 'M.Kom.', - 'M.TI.', 'M.Pd', 'M.Farm', 'M.Ak', + "S.Ked", + "S.Gz", + "S.Pt", + "S.IP", + "S.E.I", + "S.E.", + "S.Kom", + "S.H.", + "S.T.", + "S.Pd", + "S.Psi", + "S.I.Kom", + "S.Sos", + "S.Farm", + "M.M.", + "M.Kom.", + "M.TI.", + "M.Pd", + "M.Farm", + "M.Ak", ) diff --git a/faker/providers/person/it_IT/__init__.py b/faker/providers/person/it_IT/__init__.py index ec743cc655..9073f835bf 100644 --- a/faker/providers/person/it_IT/__init__.py +++ b/faker/providers/person/it_IT/__init__.py @@ -4,275 +4,1665 @@ class Provider(PersonProvider): formats_male = ( - '{{first_name_male}} {{last_name}}', - '{{first_name_male}} {{last_name}}', - '{{first_name_male}} {{last_name}}', - '{{first_name_male}} {{last_name}}', - '{{first_name_male}} {{last_name}}-{{last_name}}', - '{{prefix_male}} {{first_name_male}} {{last_name}}', - '{{first_name_male}} {{last_name}} {{suffix_male}}', - '{{prefix_male}} {{first_name_male}} {{last_name}} {{suffix_male}}', + "{{first_name_male}} {{last_name}}", + "{{first_name_male}} {{last_name}}", + "{{first_name_male}} {{last_name}}", + "{{first_name_male}} {{last_name}}", + "{{first_name_male}} {{last_name}}-{{last_name}}", + "{{prefix_male}} {{first_name_male}} {{last_name}}", ) formats_female = ( - '{{first_name_female}} {{last_name}}', - '{{first_name_female}} {{last_name}}', - '{{first_name_female}} {{last_name}}', - '{{first_name_female}} {{last_name}}', - '{{first_name_female}} {{last_name}}-{{last_name}}', - '{{prefix_female}} {{first_name_female}} {{last_name}}', - '{{first_name_female}} {{last_name}} {{suffix_female}}', - '{{prefix_female}} {{first_name_female}} {{last_name}} {{suffix_female}}', + "{{first_name_female}} {{last_name}}", + "{{first_name_female}} {{last_name}}", + "{{first_name_female}} {{last_name}}", + "{{first_name_female}} {{last_name}}", + "{{first_name_female}} {{last_name}}-{{last_name}}", + "{{prefix_female}} {{first_name_female}} {{last_name}}", ) formats = formats_male + formats_female # source: https://en.wikipedia.org/w/index.php?title=Category:Italian_masculine_given_names first_names_male = ( - 'Achille', 'Adamo', 'Adelmo', 'Adriano', 'Agnolo', 'Agostino', - 'Alberico', 'Alberto', 'Alderano', 'Aldo', 'Alessandro', 'Alessio', 'Alfio', - 'Alfredo', 'Alphons', 'Amadeo', 'Amedeo', 'Amico', 'Amleto', 'Angelo', 'Annibale', - 'Ansaldo', 'Antonello', 'Antonino', 'Antonio', 'Armando', 'Arnaldo', 'Arnulfo', - 'Arsenio', 'Arturo', 'Atenulf', 'Augusto', 'Azeglio', 'Baccio', 'Baldassare', - 'Bartolomeo', 'Benedetto', 'Benito', 'Benvenuto', 'Beppe', 'Bernardo', 'Biagio', - 'Bruno', 'Calcedonio', 'Calogero', 'Camillo', 'Carlo', 'Carmelo', 'Cesare', - 'Cipriano', 'Cirillo', 'Ciro', 'Claudio', 'Coluccio', 'Coriolano', 'Corrado', - 'Costantino', 'Costanzo', 'Damiano', 'Daniele', 'Danilo', 'Dante', 'Dario', 'Delfino', - 'Dino', 'Dionigi', 'Domenico', 'Donatello', 'Donato', 'Durante', 'Edoardo', - 'Elladio', 'Elmo', 'Emilio', 'Ennio', 'Enrico', 'Enzio', 'Enzo', 'Eraldo', - 'Ermanno', 'Ermenegildo', 'Ermes', 'Ernesto', 'Ettore', 'Ezio', 'Fabio', 'Fabrizio', - 'Fausto', 'Fedele', 'Federico', 'Federigo', 'Ferdinando', 'Filippo', 'Fiorenzo', - 'Fiorino', 'Flavio', 'Francesco', 'Franco', 'Fredo', 'Fulvio', 'Gabriele', - 'Gaetano', 'Galasso', 'Gaspare', 'Gastone', 'Geronimo', 'Giacinto', 'Giacobbe', - 'Giacomo', 'Giampaolo', 'Giampiero', 'Gian', 'Giancarlo', 'Gianfrancesco', - 'Gianfranco', 'Gianluca', 'Gianluigi', 'Gianmarco', 'Gianni', 'Gianpaolo', - 'Gianpietro', 'Gilberto', 'Gino', 'Gioacchino', 'Gioachino', 'Gioele', 'Gioffre', - 'Gionata', 'Giorgio', 'Giosuè', 'Giovanni', 'Girolamo', 'Giuliano', 'Giulio', - 'Giuseppe', 'Giustino', 'Goffredo', 'Graziano', 'Greco', 'Guarino', 'Guglielmo', - 'Guido', 'Gustavo', 'Hugo', 'Ignazio', 'Ippazio', 'Ivan', 'Ivo', 'Jacopo', - 'Lamberto', 'Lando', 'Laureano', 'Lazzaro', 'Leonardo', 'Leone', 'Leopoldo', - 'Liberto', 'Livio', 'Lodovico', 'Lorenzo', 'Luca', 'Luchino', 'Luciano', 'Lucio', - 'Ludovico', 'Luigi', 'Manuel', 'Marcantonio', 'Marcello', 'Marco', 'Mariano', - 'Mario', 'Martino', 'Martino', 'Massimiliano', 'Massimo', 'Matteo', 'Mattia', - 'Maurilio', 'Maurizio', 'Mauro', 'Michelangelo', 'Michele', 'Micheletto', - 'Michelotto', 'Milo', 'Mirco', 'Mirko', 'Nanni', 'Napoleone', 'Niccolò', 'Nico', - 'Nicola', 'Nicolò', 'Nino', 'Orazio', 'Oreste', 'Orlando', 'Osvaldo', 'Ottavio', - 'Ottone', 'Panfilo', 'Paolo', 'Paride', 'Pasqual', 'Pasquale', 'Patrizio', - 'Pellegrino', 'Pier', 'Pierangelo', 'Piergiorgio', 'Piergiuseppe', 'Pierluigi', - 'Piermaria', 'Piero', 'Pierpaolo', 'Piersanti', 'Pietro', 'Pompeo', 'Pomponio', - 'Puccio', 'Raffaele', 'Raffaellino', 'Raffaello', 'Raimondo', 'Ranieri', - 'Rembrandt', 'Renzo', 'Riccardo', 'Ricciotti', 'Roberto', 'Rocco', 'Rodolfo', - 'Rolando', 'Roman', 'Romeo', 'Romolo', 'Ronaldo', 'Rosario', 'Ruggero', 'Ruggiero', - 'Sabatino', 'Salvatore', 'Salvi', 'Sandro', 'Sante', 'Santino', 'Saverio', - 'Sebastiano', 'Sergius', 'Severino', 'Silvestro', 'Silvio', 'Simone', 'Stefano', - 'Telemaco', 'Temistocle', 'Tiziano', 'Toni', 'Tonino', 'Torquato', 'Tullio', - 'Ubaldo', 'Uberto', 'Ugo', 'Ugolino', 'Umberto', 'Valerio', 'Venancio', - 'Vincentio', 'Vincenzo', 'Virgilio', 'Vito', 'Vittorio', + "Achille", + "Adamo", + "Adelmo", + "Adriano", + "Agnolo", + "Agostino", + "Alberico", + "Alberto", + "Alderano", + "Aldo", + "Alessandro", + "Alessio", + "Alfio", + "Alfredo", + "Alphons", + "Amadeo", + "Amedeo", + "Amico", + "Amleto", + "Angelo", + "Annibale", + "Ansaldo", + "Antonello", + "Antonino", + "Antonio", + "Armando", + "Arnaldo", + "Arnulfo", + "Arsenio", + "Arturo", + "Atenulf", + "Augusto", + "Azeglio", + "Baccio", + "Baldassare", + "Bartolomeo", + "Benedetto", + "Benito", + "Benvenuto", + "Beppe", + "Bernardo", + "Biagio", + "Bruno", + "Calcedonio", + "Calogero", + "Camillo", + "Carlo", + "Carmelo", + "Cesare", + "Cipriano", + "Cirillo", + "Ciro", + "Claudio", + "Coluccio", + "Coriolano", + "Corrado", + "Costantino", + "Costanzo", + "Damiano", + "Daniele", + "Danilo", + "Dante", + "Dario", + "Delfino", + "Dino", + "Dionigi", + "Domenico", + "Donatello", + "Donato", + "Durante", + "Edoardo", + "Elladio", + "Elmo", + "Emilio", + "Ennio", + "Enrico", + "Enzio", + "Enzo", + "Eraldo", + "Ermanno", + "Ermenegildo", + "Ermes", + "Ernesto", + "Ettore", + "Ezio", + "Fabio", + "Fabrizio", + "Fausto", + "Fedele", + "Federico", + "Federigo", + "Ferdinando", + "Filippo", + "Fiorenzo", + "Fiorino", + "Flavio", + "Francesco", + "Franco", + "Fredo", + "Fulvio", + "Gabriele", + "Gaetano", + "Galasso", + "Gaspare", + "Gastone", + "Geronimo", + "Giacinto", + "Giacobbe", + "Giacomo", + "Giampaolo", + "Giampiero", + "Gian", + "Giancarlo", + "Gianfrancesco", + "Gianfranco", + "Gianluca", + "Gianluigi", + "Gianmarco", + "Gianni", + "Gianpaolo", + "Gianpietro", + "Gilberto", + "Gino", + "Gioacchino", + "Gioachino", + "Gioele", + "Gioffre", + "Gionata", + "Giorgio", + "Giosuè", + "Giovanni", + "Girolamo", + "Giuliano", + "Giulio", + "Giuseppe", + "Giustino", + "Goffredo", + "Graziano", + "Greco", + "Guarino", + "Guglielmo", + "Guido", + "Gustavo", + "Hugo", + "Ignazio", + "Ippazio", + "Ivan", + "Ivo", + "Jacopo", + "Lamberto", + "Lando", + "Laureano", + "Lazzaro", + "Leonardo", + "Leone", + "Leopoldo", + "Liberto", + "Livio", + "Lodovico", + "Lorenzo", + "Luca", + "Luchino", + "Luciano", + "Lucio", + "Ludovico", + "Luigi", + "Manuel", + "Marcantonio", + "Marcello", + "Marco", + "Mariano", + "Mario", + "Martino", + "Martino", + "Massimiliano", + "Massimo", + "Matteo", + "Mattia", + "Maurilio", + "Maurizio", + "Mauro", + "Michelangelo", + "Michele", + "Micheletto", + "Michelotto", + "Milo", + "Mirco", + "Mirko", + "Nanni", + "Napoleone", + "Niccolò", + "Nico", + "Nicola", + "Nicolò", + "Nino", + "Orazio", + "Oreste", + "Orlando", + "Osvaldo", + "Ottavio", + "Ottone", + "Panfilo", + "Paolo", + "Paride", + "Pasqual", + "Pasquale", + "Patrizio", + "Pellegrino", + "Pier", + "Pierangelo", + "Piergiorgio", + "Piergiuseppe", + "Pierluigi", + "Piermaria", + "Piero", + "Pierpaolo", + "Piersanti", + "Pietro", + "Pompeo", + "Pomponio", + "Puccio", + "Raffaele", + "Raffaellino", + "Raffaello", + "Raimondo", + "Ranieri", + "Rembrandt", + "Renzo", + "Riccardo", + "Ricciotti", + "Roberto", + "Rocco", + "Rodolfo", + "Rolando", + "Roman", + "Romeo", + "Romolo", + "Ronaldo", + "Rosario", + "Ruggero", + "Ruggiero", + "Sabatino", + "Salvatore", + "Salvi", + "Sandro", + "Sante", + "Santino", + "Saverio", + "Sebastiano", + "Sergius", + "Severino", + "Silvestro", + "Silvio", + "Simone", + "Stefano", + "Telemaco", + "Temistocle", + "Tiziano", + "Toni", + "Tonino", + "Torquato", + "Tullio", + "Ubaldo", + "Uberto", + "Ugo", + "Ugolino", + "Umberto", + "Valerio", + "Venancio", + "Vincentio", + "Vincenzo", + "Virgilio", + "Vito", + "Vittorio", ) # source: https://en.wikipedia.org/wiki/Category:Italian_feminine_given_names first_names_female = ( - 'Adelasia', 'Adele', 'Adriana', 'Alessandra', 'Alessia', - 'Alina', 'Allegra', 'Amalia', 'Amanda', 'Angelica', 'Angelina', 'Anita', - 'Annalisa', 'Annamaria', 'Annetta', 'Annunziata', 'Antonella', 'Antonia', - 'Antonietta', 'Antonina', 'Aria', 'Aurora', 'Barbara', 'Beatrice', 'Berenice', - 'Bettina', 'Bianca', 'Bianca', 'Camilla', 'Carla', 'Carolina', 'Cassandra', - 'Caterina', 'Cecilia', 'Chiara', 'Claudia', 'Clelia', 'Concetta', 'Cristina', - 'Daria', 'Diana', 'Dina', 'Dolores', 'Donatella', 'Donna', 'Eleanora', 'Elena', - 'Eliana', 'Elisa', 'Elvira', 'Emma', 'Erika', 'Etta', 'Eugenia', 'Eva', - 'Evangelista', 'Fabia', 'Fabrizia', 'Federica', 'Fernanda', 'Fiamma', 'Filippa', - 'Flavia', 'Flora', 'Fortunata', 'Francesca', 'Gabriella', 'Gelsomina', 'Gemma', - 'Germana', 'Giada', 'Gianna', 'Giorgia', 'Giovanna', 'Giulia', 'Giuliana', - 'Giulietta', 'Giuseppina', 'Gloria', 'Graziella', 'Greca', 'Griselda', 'Ida', - 'Ilaria', 'Imelda', 'Iolanda', 'Irma', 'Isa', 'Isabella', 'Jolanda', 'Lara', - 'Laura', 'Lauretta', 'Letizia', 'Liana', 'Licia', 'Lidia', 'Liliana', 'Lilla', - 'Lina', 'Lisa', 'Livia', 'Lolita', 'Loredana', 'Loretta', 'Lucia', 'Luciana', - 'Lucrezia', 'Ludovica', 'Luigina', 'Luisa', 'Marcella', 'Margherita', 'Maria', - 'Maria', 'Maria', 'Mariana', 'Marina', 'Marisa', 'Marissa', 'Marta', 'Martina', - 'Matilda', 'Maura', 'Melania', 'Melina', 'Melissa', 'Mercedes', 'Michela', 'Milena', - 'Monica', 'Morena', 'Nadia', 'Natalia', 'Nedda', 'Nicoletta', 'Nina', 'Ninetta', - 'Olga', 'Ornella', 'Paloma', 'Paola', 'Paoletta', 'Patrizia', 'Paulina', - 'Pierina', 'Pina', 'Priscilla', 'Raffaella', 'Ramona', 'Renata', 'Rita', 'Roberta', - 'Romana', 'Romina', 'Rosa', 'Rosalia', 'Rosaria', 'Rosina', 'Rossana', 'Sandra', - 'Serafina', 'Serena', 'Silvia', 'Simonetta', 'Sole', 'Sonia', 'Sophia', 'Stefani', - 'Stefania', 'Stella', 'Susanna', 'Sylvia', 'Tatiana', 'Teresa', 'Tina', 'Tiziana', - 'Tonia', 'Valentina', 'Valeria', 'Vanessa', 'Veronica', 'Victoria', - 'Vincenza', 'Virginia', 'Viridiana', 'Vittoria', 'Zaira', + "Adelasia", + "Adele", + "Adriana", + "Alessandra", + "Alessia", + "Alina", + "Allegra", + "Amalia", + "Amanda", + "Angelica", + "Angelina", + "Anita", + "Annalisa", + "Annamaria", + "Annetta", + "Annunziata", + "Antonella", + "Antonia", + "Antonietta", + "Antonina", + "Aria", + "Aurora", + "Barbara", + "Beatrice", + "Berenice", + "Bettina", + "Bianca", + "Bianca", + "Camilla", + "Carla", + "Carolina", + "Cassandra", + "Caterina", + "Cecilia", + "Chiara", + "Claudia", + "Clelia", + "Concetta", + "Cristina", + "Daria", + "Diana", + "Dina", + "Dolores", + "Donatella", + "Donna", + "Eleanora", + "Elena", + "Eliana", + "Elisa", + "Elvira", + "Emma", + "Erika", + "Etta", + "Eugenia", + "Eva", + "Evangelista", + "Fabia", + "Fabrizia", + "Federica", + "Fernanda", + "Fiamma", + "Filippa", + "Flavia", + "Flora", + "Fortunata", + "Francesca", + "Gabriella", + "Gelsomina", + "Gemma", + "Germana", + "Giada", + "Gianna", + "Giorgia", + "Giovanna", + "Giulia", + "Giuliana", + "Giulietta", + "Giuseppina", + "Gloria", + "Graziella", + "Greca", + "Griselda", + "Ida", + "Ilaria", + "Imelda", + "Iolanda", + "Irma", + "Isa", + "Isabella", + "Jolanda", + "Lara", + "Laura", + "Lauretta", + "Letizia", + "Liana", + "Licia", + "Lidia", + "Liliana", + "Lilla", + "Lina", + "Lisa", + "Livia", + "Lolita", + "Loredana", + "Loretta", + "Lucia", + "Luciana", + "Lucrezia", + "Ludovica", + "Luigina", + "Luisa", + "Marcella", + "Margherita", + "Maria", + "Maria", + "Maria", + "Mariana", + "Marina", + "Marisa", + "Marissa", + "Marta", + "Martina", + "Matilda", + "Maura", + "Melania", + "Melina", + "Melissa", + "Mercedes", + "Michela", + "Milena", + "Monica", + "Morena", + "Nadia", + "Natalia", + "Nedda", + "Nicoletta", + "Nina", + "Ninetta", + "Olga", + "Ornella", + "Paloma", + "Paola", + "Paoletta", + "Patrizia", + "Paulina", + "Pierina", + "Pina", + "Priscilla", + "Raffaella", + "Ramona", + "Renata", + "Rita", + "Roberta", + "Romana", + "Romina", + "Rosa", + "Rosalia", + "Rosaria", + "Rosina", + "Rossana", + "Sandra", + "Serafina", + "Serena", + "Silvia", + "Simonetta", + "Sole", + "Sonia", + "Sophia", + "Stefani", + "Stefania", + "Stella", + "Susanna", + "Sylvia", + "Tatiana", + "Teresa", + "Tina", + "Tiziana", + "Tonia", + "Valentina", + "Valeria", + "Vanessa", + "Veronica", + "Victoria", + "Vincenza", + "Virginia", + "Viridiana", + "Vittoria", + "Zaira", ) first_names = first_names_male + first_names_female # source: https://en.wiktionary.org/w/index.php?title=Category:Italian_surnames last_names = ( - 'Abatantuono', 'Abate', 'Abba', 'Abbagnale', 'Accardo', 'Acerbi', - 'Adinolfi', 'Agazzi', 'Agnesi', 'Agostinelli', 'Agostini', 'Ajello', - 'Albertini', 'Alboni', 'Aldobrandi', 'Alfieri', 'Alfonsi', 'Alighieri', 'Almagià', - 'Aloisio', 'Alonzi', 'Altera', 'Amaldi', 'Amato', 'Ammaniti', 'Anastasi', - 'Andreotti', 'Andreozzi', 'Angeli', 'Angiolello', 'Anguillara', 'Anguissola', - 'Anichini', 'Antelami', 'Antonacci', 'Antonelli', 'Antonello', 'Antonetti', - 'Antonini', 'Antonioni', 'Antonucci', 'Aporti', 'Argan', 'Argentero', 'Argenti', - 'Argento', 'Argurio', 'Ariasso', 'Ariosto', 'Armani', 'Armellini', 'Asmundo', - 'Asprucci', 'Aulenti', 'Avogadro', 'Babati', 'Babato', 'Babbo', 'Bacosi', 'Badoer', - 'Badoglio', 'Baggio', 'Baglioni', 'Bajamonti', 'Bajardi', 'Balbi', 'Balbo', 'Balla', - 'Balotelli', 'Bandello', 'Baracca', 'Barbarigo', 'Barberini', 'Barcaccia', 'Barcella', - 'Barese', 'Baresi', 'Barillaro', 'Baroffio', 'Barozzi', 'Barracco', 'Barsanti', - 'Bartoli', 'Barzini', 'Basadonna', 'Bassi', 'Basso', 'Bataglia', 'Battaglia', - 'Battelli', 'Battisti', 'Bazzi', 'Beccaria', 'Beccheria', 'Beffa', 'Belletini', - 'Bellini', 'Bellocchio', 'Bellucci', 'Bellò', 'Bembo', 'Benedetti', 'Benigni', - 'Benussi', 'Berengario', 'Bergoglio', 'Berlusconi', 'Bernardi', 'Bernardini', - 'Bernetti', 'Bernini', 'Berrè', 'Bersani', 'Bertoli', 'Bertolucci', 'Bertoni', - 'Bettin', 'Bettoni', 'Bevilacqua', 'Biagi', 'Biagiotti', 'Bianchi', 'Bianchini', - 'Bignami', 'Bignardi', 'Binaghi', 'Bixio', 'Blasi', 'Boaga', 'Bocca', 'Boccaccio', - 'Boccherini', 'Boccioni', 'Bocelli', 'Bodoni', 'Boezio', 'Boiardo', 'Boitani', 'Boito', - 'Boldù', 'Bombieri', 'Bompiani', 'Bonanno', 'Bonatti', 'Bonaventura', 'Bondumier', - 'Bongiorno', 'Bonino', 'Bonolis', 'Bonomo', 'Borghese', 'Borgia', 'Borrani', - 'Borromeo', 'Borromini', 'Borroni', 'Borsellino', 'Borsiere', 'Borzomì', 'Bosio', - 'Bossi', 'Bosurgi', 'Botta', 'Bottaro', 'Botticelli', 'Bottigliero', 'Bova', - 'Bragadin', 'Bragaglia', 'Bramante', 'Brambilla', 'Brancaccio', 'Branciforte', - 'Brenna', 'Bresciani', 'Briccialdi', 'Brichese', 'Broggini', 'Broschi', 'Brugnaro', - 'Brunelleschi', 'Brunello', 'Bruno', 'Bruscantini', 'Bulzoni', 'Buonauro', 'Burcardo', - 'Buscetta', 'Busoni', 'Cabibbo', 'Caboto', 'Cabrini', 'Caccianemico', 'Caccioppoli', - 'Cadorna', 'Caetani', 'Cafarchia', 'Caffarelli', 'Cagnin', 'Cagnotto', 'Cainero', - 'Caironi', 'Calarco', 'Calbo', 'Calgari', 'Callegari', 'Callegaro', 'Calvo', - 'Camanni', 'Camicione', 'Camilleri', 'Camiscione', 'Cammarata', 'Campanella', - 'Campano', 'Campise', 'Camuccini', 'Canali', 'Canetta', 'Canevascini', 'Canil', - 'Cannizzaro', 'Canova', 'Cantimori', 'Capecchi', 'Capone', 'Cappelli', 'Capuana', - 'Caracciolo', 'Cardano', 'Carducci', 'Carfagna', 'Carli', 'Carnera', 'Carocci', - 'Carosone', 'Carpaccio', 'Carriera', 'Carullo', 'Caruso', 'Casadei', 'Casagrande', - 'Casale', 'Casaleggio', 'Casalodi', 'Casarin', 'Casellati', 'Casini', 'Cassarà', - 'Castelli', 'Castellitto', 'Castiglione', 'Castioni', 'Catalano', 'Catenazzi', - 'Cattaneo', 'Cavalcanti', 'Cavanna', 'Ceci', 'Celentano', 'Cendron', 'Ceravolo', - 'Ceri', 'Cerquiglini', 'Cerutti', 'Cesaroni', 'Cesarotti', 'Ceschi', 'Chechi', - 'Cheda', 'Cherubini', 'Chiappetta', 'Chiaramonte', 'Chiesa', 'Chigi', 'Chindamo', - 'Chinnici', 'Chittolini', 'Ciampi', 'Cianciolo', 'Ciani', 'Cibin', 'Cicala', - 'Cicilia', 'Cignaroli', 'Cilea', 'Cilibrasi', 'Cimarosa', 'Cimini', 'Cipolla', - 'Civaschi', 'Coardi', 'Cocci', 'Cociarelli', 'Colletti', 'Collina', 'Collodi', - 'Columbo', 'Combi', 'Comboni', 'Comencini', 'Comeriato', 'Comisso', 'Comolli', - 'Condoleo', 'Contarini', 'Conte', 'Conti', 'Contrafatto', 'Coppola', 'Corbo', - 'Corcos', 'Corradi', 'Correr', 'Cortese', 'Cossiga', 'Costalonga', 'Costanzi', - 'Cremonesi', 'Crespi', 'Crisafulli', 'Crispi', 'Cristoforetti', 'Cuda', 'Cugia', - 'Cundari', 'Cuomo', 'Curatoli', 'Curci', 'Curiel', 'Cusano', 'Cutrufo', 'Cutuli', - 'Cuzzocrea', 'Dalla', 'Dallapé', 'Dallara', 'Dandolo', 'Deledda', 'Delle', 'Dellucci', - 'Depero', 'Desio', 'Detti', 'Dibiasi', 'Disdero', 'Doglioni', 'Donarelli', - 'Donati', 'Donatoni', 'Donini', 'Donà', 'Doria', 'Dossetti', 'Dossi', 'Dovara', - 'Draghi', 'Druso', 'Dulbecco', 'Duodo', 'Durante', 'Duse', 'Eco', - 'Einaudi', 'Emanuelli', 'Emo', 'Endrizzi', 'Errani', 'Errigo', 'Esposito', 'Fabbri', - 'Fabrizi', 'Faggiani', 'Fagiani', 'Fagotto', 'Falcone', 'Falier', 'Fallaci', - 'Falloppio', 'Fantini', 'Fantoni', 'Fantozzi', 'Fanucci', 'Faranda', 'Farina', - 'Farinelli', 'Farnese', 'Fattori', 'Faugno', 'Favata', 'Federici', 'Federico', - 'Fermi', 'Ferrabosco', 'Ferragamo', 'Ferragni', 'Ferrante', 'Ferrara', 'Ferrari', - 'Ferraris', 'Ferrata', 'Ferrazzi', 'Ferretti', 'Ferrucci', 'Fibonacci', 'Ficino', - 'Fieramosca', 'Filangieri', 'Filippelli', 'Filippini', 'Filogamo', 'Filzi', 'Finetti', - 'Finotto', 'Finzi', 'Fioravanti', 'Fiorucci', 'Fischetti', 'Fittipaldi', 'Flaiano', - 'Florio', 'Fo', 'Foa', 'Foconi', 'Fogazzaro', 'Foletti', 'Folliero', - 'Fornaciari', 'Forza', 'Foscari', 'Foà', 'Fracci', 'Franceschi', 'Franscini', - 'Franzese', 'Frescobaldi', 'Fusani', 'Fuseli', 'Gabba', 'Gabbana', 'Gabrieli', - 'Gadda', 'Gaggini', 'Gagliano', 'Gagliardi', 'Gaiatto', 'Gaito', 'Galeati', - 'Galiazzo', 'Galilei', 'Galtarossa', 'Galuppi', 'Galvani', 'Gangemi', 'Gargallo', - 'Garibaldi', 'Garobbio', 'Garozzo', 'Garrone', 'Garzoni', 'Gasperi', 'Gatto', 'Gelli', - 'Gemito', 'Gentileschi', 'Gentili', 'Gentilini', 'Geraci', 'Germano', 'Giacconi', - 'Giacometti', 'Giammusso', 'Gianetti', 'Gianinazzi', 'Giannelli', 'Giannetti', - 'Giannini', 'Giannone', 'Giannotti', 'Giannuzzi', 'Gianvecchio', 'Gibilisco', - 'Gigli', 'Gilardoni', 'Ginese', 'Ginesio', 'Gioberti', 'Giolitti', 'Giorgetti', - 'Giovine', 'Giradello', 'Giulietti', 'Giunti', 'Giusti', 'Goldoni', 'Goldstein', - 'Golgi', 'Golino', 'Gonzaga', 'Gori', 'Gottardi', 'Gotti', 'Govoni', 'Gozzano', - 'Gozzi', 'Gradenigo', 'Gramsci', 'Granatelli', 'Grassi', 'Grasso', 'Gravina', - 'Greco', 'Greggio', 'Gregori', 'Gregorio', 'Gremese', 'Grifeo', 'Grimani', - 'Grisoni', 'Gritti', 'Grossi', 'Gualandi', 'Gualtieri', 'Guarana', 'Guarato', - 'Guariento', 'Guarneri', 'Gucci', 'Guglielmi', 'Guicciardini', 'Guidone', 'Guidotti', - 'Guinizzelli', 'Gullotta', 'Gulotta', 'Gussoni', 'Iacobucci', 'Iacovelli', 'Iadanza', - 'Iannelli', 'Iannotti', 'Iannucci', 'Iannuzzi', 'Impastato', 'Infantino', - 'Innocenti', 'Interiano', 'Interminei', 'Interminelli', 'Inzaghi', 'Ioppi', 'Jacuzzi', - 'Jilani', 'Jovinelli', 'Juvara', 'Lamborghini', 'Lancisi', - 'Lanfranchi', 'Lattuada', 'Leblanc', 'Legnante', 'Leonardi', 'Leoncavallo', 'Leone', - 'Leonetti', 'Leopardi', 'Lercari', 'Lerner', 'Letta', 'Lettiere', 'Ligorio', - 'Liguori', 'Lippomano', 'Littizzetto', 'Liverotti', 'Lollobrigida', - 'Lombardi', 'Lombardo', 'Lombroso', 'Longhena', 'Lopresti', 'Loredan', 'Lovato', - 'Lucarelli', 'Lucchesi', 'Lucciano', 'Luciani', 'Ludovisi', 'Luna', 'Lupo', 'Luria', - 'Lussu', 'Luxardo', 'Luzi', 'Maccanelli', 'Maderna', 'Maderno', 'Maffei', - 'Maggioli', 'Maglio', 'Magnani', 'Magrassi', 'Majewski', 'Majorana', 'Malacarne', - 'Malaparte', 'Malatesta', 'Malenchini', 'Malipiero', 'Malpighi', 'Manacorda', - 'Mancini', 'Mannoia', 'Manolesso', 'Mantegazza', 'Mantegna', 'Manunta', 'Manzoni', - 'Marangoni', 'Marazzi', 'Marcacci', 'Marconi', 'Marenzio', 'Marinetti', 'Marini', - 'Marino', 'Marrone', 'Marsili', 'Martinelli', 'Martucci', 'Marzorati', 'Mascagni', - 'Mascheroni', 'Maspero', 'Mastandrea', 'Mastroianni', 'Mattarella', 'Matteotti', - 'Mazzacurati', 'Mazzanti', 'Mazzeo', 'Mazzi', 'Mazzini', 'Mazzocchi', 'Medici', - 'Mengolo', 'Mennea', 'Mercadante', 'Mercalli', 'Mercantini', 'Mercati', 'Merisi', - 'Metella', 'Meucci', 'Mezzetta', 'Micca', 'Michelangeli', 'Micheletti', - 'Migliaccio', 'Milanesi', 'Mimun', 'Miniati', 'Missoni', 'Moccia', 'Mocenigo', - 'Modiano', 'Modigliani', 'Modugno', 'Mogherini', 'Molesini', 'Monaco', 'Mondadori', - 'Mondaini', 'Monduzzi', 'Moneta', 'Monicelli', 'Montalcini', 'Montalti', 'Montanari', - 'Montanariello', 'Montanelli', 'Monte', 'Montecchi', 'Montesano', 'Montessori', - 'Monteverdi', 'Monti', 'Morabito', 'Morandi', 'Morandini', 'Morellato', 'Moresi', - 'Moretti', 'Morgagni', 'Morlacchi', 'Morosini', 'Morpurgo', 'Morricone', 'Morrocco', - 'Mortati', 'Morucci', 'Moschino', 'Mozart', 'Munari', 'Muratori', 'Murialdo', - 'Murri', 'Musatti', 'Mussolini', 'Muti', 'Naccari', 'Nadi', 'Napolitano', 'Natta', - 'Navarria', 'Navone', 'Necci', 'Nibali', 'Nicoletti', 'Nicolini', 'Nicolucci', - 'Nievo', 'Niggli', 'Niscoromni', 'Nitti', 'Nitto', 'Nolcini', 'Nonis', 'Norbiato', - 'Nordio', 'Nosiglia', 'Notarbartolo', 'Novaro', 'Nugnes', 'Odescalchi', 'Offredi', - 'Oliboni', 'Olivetti', 'Omma', 'Onio', 'Onisto', 'Opizzi', 'Orengo', 'Orlando', - 'Orsini', 'Ortese', 'Ortolani', 'Oscuro', 'Ossani', 'Ossola', 'Ostinelli', - 'Ottino', 'Ovadia', 'Pace', 'Pacelli', 'Pacetti', 'Pacillo', 'Pacomio', 'Padovano', - 'Paganini', 'Pagliaro', 'Pagnotto', 'Palazzo', 'Palladio', 'Palmisano', 'Palombi', - 'Paltrinieri', 'Palumbo', 'Panatta', 'Panicucci', 'Panzera', 'Paoletti', 'Paolini', - 'Paolucci', 'Papafava', 'Papetti', 'Pareto', 'Parini', 'Parisi', 'Parmitano', - 'Parpinel', 'Parri', 'Paruta', 'Pascarella', 'Pasolini', 'Pasqua', 'Passalacqua', - 'Pastine', 'Pausini', 'Pavanello', 'Pavarotti', 'Pavone', 'Peano', 'Pederiva', - 'Pedersoli', 'Pedrazzini', 'Pedroni', 'Pellegrini', 'Pelli', 'Pellico', 'Pennetta', - 'Pepe', 'Peranda', 'Pergolesi', 'Perini', 'Perozzo', 'Persico', 'Pertile', - 'Pertini', 'Peruzzi', 'Petralli', 'Petrassi', 'Petrocelli', 'Petrucci', - 'Petrucelli', 'Petruzzi', 'Pezzali', 'Piacentini', 'Piane', 'Piazzi', 'Piccinni', - 'Piccio', 'Pietrangeli', 'Pigafetta', 'Pignatti', 'Pinamonte', 'Pincherle', - 'Pininfarina', 'Piovani', 'Pirandello', 'Pirelli', 'Pisacane', 'Pisani', - 'Pisano', 'Pisaroni', 'Pistoletto', 'Pizzamano', 'Pizzetti', 'Pizziol', 'Pizzo', - 'Platini', 'Poerio', 'Polani', 'Polesel', 'Polizzi', 'Pometta', 'Pontecorvo', - 'Ponti', 'Porcellato', 'Porzio', 'Pozzecco', 'Prada', 'Praga', 'Pratesi', 'Prati', - 'Priuli', 'Procacci', 'Prodi', 'Proietti', 'Pucci', 'Puccini', 'Pugliese', - 'Puglisi', 'Pulci', 'Quasimodo', 'Querini', 'Raimondi', 'Ramazzotti', 'Randazzo', - 'Rapisardi', 'Rastelli', 'Raurica', 'Ravaglioli', 'Redi', 'Regge', 'Renault', - 'Renier', 'Rensi', 'Renzi', 'Respighi', 'Riccardi', 'Riccati', 'Ricci', - 'Ricciardi', 'Ricolfi', 'Rienzo', 'Righi', 'Rinaldi', 'Rismondo', 'Ritacca', 'Rizzo', - 'Rizzoli', 'Rocca', 'Roccabonella', 'Roero', 'Romagnoli', 'Romano', 'Romiti', - 'Roncalli', 'Rosiello', 'Rosmini', 'Rosselli', 'Rossellini', 'Rossetti', 'Rossi', - 'Rossini', 'Roth', 'Rubbia', 'Ruberto', 'Ruffini', 'Ruggeri', 'Ruggieri', 'Russo', - 'Rusticucci', 'Sabatini', 'Sabbatini', 'Saffi', 'Sagese', 'Sagnelli', 'Sagredo', - 'Salandra', 'Salata', 'Salgari', 'Salieri', 'Salvemini', 'Salvini', 'Salvo', - 'Samele', 'Sandi', 'Sanguineti', 'Sansoni', 'Santi', 'Santorio', 'Santoro', - 'Sanudo', 'Saraceno', 'Saracino', 'Saragat', 'Satriani', 'Satta', 'Sauli', 'Sauro', - 'Savorgnan', 'Sbarbaro', 'Scaduto', 'Scalera', 'Scalfaro', 'Scamarcio', 'Scandone', - 'Scaramucci', 'Scarfoglio', 'Scarlatti', 'Scarpa', 'Scarpetta', 'Scarponi', - 'Schiaparelli', 'Schiavo', 'Schiavone', 'Schicchi', 'Scialpi', 'Scotti', 'Scotto', - 'Seddio', 'Segni', 'Segrè', 'Semitecolo', 'Serao', 'Serlupi', 'Sermonti', - 'Serraglio', 'Sforza', 'Sgalambro', 'Sgarbi', 'Sibilia', 'Siffredi', 'Silvestri', - 'Simeoni', 'Sinisi', 'Sismondi', 'Smirnoff', 'Sobrero', 'Soderini', 'Soffici', - 'Sokolov', 'Solari', 'Solimena', 'Sollima', 'Sommaruga', 'Sonnino', 'Soprano', - 'Soranzo', 'Sordi', 'Sorrentino', 'Spadafora', 'Spallanzani', 'Spanevello', 'Speri', - 'Spinelli', 'Spinola', 'Squarcione', 'Sraffa', 'Staglieno', 'Stefanelli', 'Stein', - 'Stoppani', 'Storladi', 'Stradivari', 'Strangio', 'Stucchi', 'Surian', 'T', - 'Tacchini', 'Taccola', 'Tafuri', 'Tagliafierro', 'Taliani', 'Taliercio', 'Tamborini', - 'Tamburello', 'Tamburi', 'Tamburini', 'Tanzini', 'Tarantini', 'Tarantino', 'Tarchetti', - 'Tartaglia', 'Tartini', 'Tasca', 'Tasso', 'Tassoni', 'Tebaldi', 'Tedesco', 'Telesio', - 'Tencalla', 'Terragni', 'Tiepolo', 'Tirabassi', 'Togliatti', 'Tognazzi', 'Toldo', - 'Tolentino', 'Tomaselli', 'Tomasetti', 'Tomasini', 'Tomei', 'Tommaseo', 'Toninelli', - 'Tonisto', 'Torlonia', 'Tornatore', 'Torricelli', 'Toscani', 'Toscanini', 'Toselli', - 'Tosi', 'Toso', 'Tosto', 'Totino', 'Tozzi', 'Tozzo', 'Traetta', 'Trapanese', - 'Trapani', 'Travaglia', 'Travaglio', 'Traversa', 'Travia', 'Trebbi', 'Treccani', - 'Tremonti', 'Trentin', 'Trentini', 'Tresoldi', 'Treves', 'Trevisan', 'Trevisani', - 'Trezzini', 'Trillini', 'Trincavelli', 'Trobbiani', 'Troisi', 'Trombetta', 'Tron', - 'Tropea', 'Trotta', 'Trupiano', 'Trussardi', 'Turati', 'Turchetta', 'Turchi', - 'Turci', 'Turrini', 'Tutino', 'Tuzzolino', 'Ubaldi', 'Udinese', 'Udinesi', 'Ughi', - 'Ungaretti', 'Valentino', 'Valguarnera', 'Valier', 'Valmarana', 'Vanvitelli', - 'Varano', 'Vasari', 'Vattimo', 'Vecellio', 'Vecoli', 'Veltroni', 'Vendetti', - 'Venditti', 'Veneziano', 'Venier', 'Vento', 'Venturi', 'Vercelloni', 'Verdi', - 'Verdone', 'Verga', 'Vergassola', 'Vergerio', 'Verri', 'Versace', 'Vespa', - 'Vespucci', 'Vezzali', 'Vianello', 'Vidoni', 'Vigliotti', 'Vigorelli', 'Villadicani', - 'Villarosa', 'Viola', 'Virgilio', 'Visconti', 'Visintini', 'Vismara', 'Vittadello', - 'Vitturi', 'Vivaldi', 'Viviani', 'Volta', 'Volterra', 'Zabarella', 'Zaccagnini', - 'Zaccardo', 'Zacchia', 'Zacco', 'Zaguri', 'Zamengo', 'Zamorani', 'Zampa', 'Zanazzo', - 'Zanichelli', 'Zanzi', 'Zarlino', 'Zecchini', 'Zeffirelli', 'Zetticci', 'Ziani', - 'Zichichi', 'Zito', 'Zola', 'Zoppetti', 'Zoppetto', - ) + "Abatantuono", + "Abate", + "Abba", + "Abbagnale", + "Accardo", + "Acerbi", + "Adinolfi", + "Agazzi", + "Agnesi", + "Agostinelli", + "Agostini", + "Ajello", + "Albertini", + "Alboni", + "Aldobrandi", + "Alfieri", + "Alfonsi", + "Alighieri", + "Almagià", + "Aloisio", + "Alonzi", + "Altera", + "Amaldi", + "Amato", + "Ammaniti", + "Anastasi", + "Andreotti", + "Andreozzi", + "Angeli", + "Angiolello", + "Anguillara", + "Anguissola", + "Anichini", + "Antelami", + "Antonacci", + "Antonelli", + "Antonello", + "Antonetti", + "Antonini", + "Antonioni", + "Antonucci", + "Aporti", + "Argan", + "Argentero", + "Argenti", + "Argento", + "Argurio", + "Ariasso", + "Ariosto", + "Armani", + "Armellini", + "Asmundo", + "Asprucci", + "Aulenti", + "Avogadro", + "Babati", + "Babato", + "Babbo", + "Bacosi", + "Badoer", + "Badoglio", + "Baggio", + "Baglioni", + "Bajamonti", + "Bajardi", + "Balbi", + "Balbo", + "Balla", + "Balotelli", + "Bandello", + "Baracca", + "Barbarigo", + "Barberini", + "Barcaccia", + "Barcella", + "Barese", + "Baresi", + "Barillaro", + "Baroffio", + "Barozzi", + "Barracco", + "Barsanti", + "Bartoli", + "Barzini", + "Basadonna", + "Bassi", + "Basso", + "Bataglia", + "Battaglia", + "Battelli", + "Battisti", + "Bazzi", + "Beccaria", + "Beccheria", + "Beffa", + "Belletini", + "Bellini", + "Bellocchio", + "Bellucci", + "Bellò", + "Bembo", + "Benedetti", + "Benigni", + "Benussi", + "Berengario", + "Bergoglio", + "Berlusconi", + "Bernardi", + "Bernardini", + "Bernetti", + "Bernini", + "Berrè", + "Bersani", + "Bertoli", + "Bertolucci", + "Bertoni", + "Bettin", + "Bettoni", + "Bevilacqua", + "Biagi", + "Biagiotti", + "Bianchi", + "Bianchini", + "Bignami", + "Bignardi", + "Binaghi", + "Bixio", + "Blasi", + "Boaga", + "Bocca", + "Boccaccio", + "Boccherini", + "Boccioni", + "Bocelli", + "Bodoni", + "Boezio", + "Boiardo", + "Boitani", + "Boito", + "Boldù", + "Bombieri", + "Bompiani", + "Bonanno", + "Bonatti", + "Bonaventura", + "Bondumier", + "Bongiorno", + "Bonino", + "Bonolis", + "Bonomo", + "Borghese", + "Borgia", + "Borrani", + "Borromeo", + "Borromini", + "Borroni", + "Borsellino", + "Borsiere", + "Borzomì", + "Bosio", + "Bossi", + "Bosurgi", + "Botta", + "Bottaro", + "Botticelli", + "Bottigliero", + "Bova", + "Bragadin", + "Bragaglia", + "Bramante", + "Brambilla", + "Brancaccio", + "Branciforte", + "Brenna", + "Bresciani", + "Briccialdi", + "Brichese", + "Broggini", + "Broschi", + "Brugnaro", + "Brunelleschi", + "Brunello", + "Bruno", + "Bruscantini", + "Bulzoni", + "Buonauro", + "Burcardo", + "Buscetta", + "Busoni", + "Cabibbo", + "Caboto", + "Cabrini", + "Caccianemico", + "Caccioppoli", + "Cadorna", + "Caetani", + "Cafarchia", + "Caffarelli", + "Cagnin", + "Cagnotto", + "Cainero", + "Caironi", + "Calarco", + "Calbo", + "Calgari", + "Callegari", + "Callegaro", + "Calvo", + "Camanni", + "Camicione", + "Camilleri", + "Camiscione", + "Cammarata", + "Campanella", + "Campano", + "Campise", + "Camuccini", + "Canali", + "Canetta", + "Canevascini", + "Canil", + "Cannizzaro", + "Canova", + "Cantimori", + "Capecchi", + "Capone", + "Cappelli", + "Capuana", + "Caracciolo", + "Cardano", + "Carducci", + "Carfagna", + "Carli", + "Carnera", + "Carocci", + "Carosone", + "Carpaccio", + "Carriera", + "Carullo", + "Caruso", + "Casadei", + "Casagrande", + "Casale", + "Casaleggio", + "Casalodi", + "Casarin", + "Casellati", + "Casini", + "Cassarà", + "Castelli", + "Castellitto", + "Castiglione", + "Castioni", + "Catalano", + "Catenazzi", + "Cattaneo", + "Cavalcanti", + "Cavanna", + "Ceci", + "Celentano", + "Cendron", + "Ceravolo", + "Ceri", + "Cerquiglini", + "Cerutti", + "Cesaroni", + "Cesarotti", + "Ceschi", + "Chechi", + "Cheda", + "Cherubini", + "Chiappetta", + "Chiaramonte", + "Chiesa", + "Chigi", + "Chindamo", + "Chinnici", + "Chittolini", + "Ciampi", + "Cianciolo", + "Ciani", + "Cibin", + "Cicala", + "Cicilia", + "Cignaroli", + "Cilea", + "Cilibrasi", + "Cimarosa", + "Cimini", + "Cipolla", + "Civaschi", + "Coardi", + "Cocci", + "Cociarelli", + "Colletti", + "Collina", + "Collodi", + "Columbo", + "Combi", + "Comboni", + "Comencini", + "Comeriato", + "Comisso", + "Comolli", + "Condoleo", + "Contarini", + "Conte", + "Conti", + "Contrafatto", + "Coppola", + "Corbo", + "Corcos", + "Corradi", + "Correr", + "Cortese", + "Cossiga", + "Costalonga", + "Costanzi", + "Cremonesi", + "Crespi", + "Crisafulli", + "Crispi", + "Cristoforetti", + "Cuda", + "Cugia", + "Cundari", + "Cuomo", + "Curatoli", + "Curci", + "Curiel", + "Cusano", + "Cutrufo", + "Cutuli", + "Cuzzocrea", + "Dalla", + "Dallapé", + "Dallara", + "Dandolo", + "Deledda", + "Delle", + "Dellucci", + "Depero", + "Desio", + "Detti", + "Dibiasi", + "Disdero", + "Doglioni", + "Donarelli", + "Donati", + "Donatoni", + "Donini", + "Donà", + "Doria", + "Dossetti", + "Dossi", + "Dovara", + "Draghi", + "Druso", + "Dulbecco", + "Duodo", + "Durante", + "Duse", + "Eco", + "Einaudi", + "Emanuelli", + "Emo", + "Endrizzi", + "Errani", + "Errigo", + "Esposito", + "Fabbri", + "Fabrizi", + "Faggiani", + "Fagiani", + "Fagotto", + "Falcone", + "Falier", + "Fallaci", + "Falloppio", + "Fantini", + "Fantoni", + "Fantozzi", + "Fanucci", + "Faranda", + "Farina", + "Farinelli", + "Farnese", + "Fattori", + "Faugno", + "Favata", + "Federici", + "Federico", + "Fermi", + "Ferrabosco", + "Ferragamo", + "Ferragni", + "Ferrante", + "Ferrara", + "Ferrari", + "Ferraris", + "Ferrata", + "Ferrazzi", + "Ferretti", + "Ferrucci", + "Fibonacci", + "Ficino", + "Fieramosca", + "Filangieri", + "Filippelli", + "Filippini", + "Filogamo", + "Filzi", + "Finetti", + "Finotto", + "Finzi", + "Fioravanti", + "Fiorucci", + "Fischetti", + "Fittipaldi", + "Flaiano", + "Florio", + "Fo", + "Foa", + "Foconi", + "Fogazzaro", + "Foletti", + "Folliero", + "Fornaciari", + "Forza", + "Foscari", + "Foà", + "Fracci", + "Franceschi", + "Franscini", + "Franzese", + "Frescobaldi", + "Fusani", + "Fuseli", + "Gabba", + "Gabbana", + "Gabrieli", + "Gadda", + "Gaggini", + "Gagliano", + "Gagliardi", + "Gaiatto", + "Gaito", + "Galeati", + "Galiazzo", + "Galilei", + "Galtarossa", + "Galuppi", + "Galvani", + "Gangemi", + "Gargallo", + "Garibaldi", + "Garobbio", + "Garozzo", + "Garrone", + "Garzoni", + "Gasperi", + "Gatto", + "Gelli", + "Gemito", + "Gentileschi", + "Gentili", + "Gentilini", + "Geraci", + "Germano", + "Giacconi", + "Giacometti", + "Giammusso", + "Gianetti", + "Gianinazzi", + "Giannelli", + "Giannetti", + "Giannini", + "Giannone", + "Giannotti", + "Giannuzzi", + "Gianvecchio", + "Gibilisco", + "Gigli", + "Gilardoni", + "Ginese", + "Ginesio", + "Gioberti", + "Giolitti", + "Giorgetti", + "Giovine", + "Giradello", + "Giulietti", + "Giunti", + "Giusti", + "Goldoni", + "Goldstein", + "Golgi", + "Golino", + "Gonzaga", + "Gori", + "Gottardi", + "Gotti", + "Govoni", + "Gozzano", + "Gozzi", + "Gradenigo", + "Gramsci", + "Granatelli", + "Grassi", + "Grasso", + "Gravina", + "Greco", + "Greggio", + "Gregori", + "Gregorio", + "Gremese", + "Grifeo", + "Grimani", + "Grisoni", + "Gritti", + "Grossi", + "Gualandi", + "Gualtieri", + "Guarana", + "Guarato", + "Guariento", + "Guarneri", + "Gucci", + "Guglielmi", + "Guicciardini", + "Guidone", + "Guidotti", + "Guinizzelli", + "Gullotta", + "Gulotta", + "Gussoni", + "Iacobucci", + "Iacovelli", + "Iadanza", + "Iannelli", + "Iannotti", + "Iannucci", + "Iannuzzi", + "Impastato", + "Infantino", + "Innocenti", + "Interiano", + "Interminei", + "Interminelli", + "Inzaghi", + "Ioppi", + "Jacuzzi", + "Jilani", + "Jovinelli", + "Juvara", + "Lamborghini", + "Lancisi", + "Lanfranchi", + "Lattuada", + "Leblanc", + "Legnante", + "Leonardi", + "Leoncavallo", + "Leone", + "Leonetti", + "Leopardi", + "Lercari", + "Lerner", + "Letta", + "Lettiere", + "Ligorio", + "Liguori", + "Lippomano", + "Littizzetto", + "Liverotti", + "Lollobrigida", + "Lombardi", + "Lombardo", + "Lombroso", + "Longhena", + "Lopresti", + "Loredan", + "Lovato", + "Lucarelli", + "Lucchesi", + "Lucciano", + "Luciani", + "Ludovisi", + "Luna", + "Lupo", + "Luria", + "Lussu", + "Luxardo", + "Luzi", + "Maccanelli", + "Maderna", + "Maderno", + "Maffei", + "Maggioli", + "Maglio", + "Magnani", + "Magrassi", + "Majewski", + "Majorana", + "Malacarne", + "Malaparte", + "Malatesta", + "Malenchini", + "Malipiero", + "Malpighi", + "Manacorda", + "Mancini", + "Mannoia", + "Manolesso", + "Mantegazza", + "Mantegna", + "Manunta", + "Manzoni", + "Marangoni", + "Marazzi", + "Marcacci", + "Marconi", + "Marenzio", + "Marinetti", + "Marini", + "Marino", + "Marrone", + "Marsili", + "Martinelli", + "Martucci", + "Marzorati", + "Mascagni", + "Mascheroni", + "Maspero", + "Mastandrea", + "Mastroianni", + "Mattarella", + "Matteotti", + "Mazzacurati", + "Mazzanti", + "Mazzeo", + "Mazzi", + "Mazzini", + "Mazzocchi", + "Medici", + "Mengolo", + "Mennea", + "Mercadante", + "Mercalli", + "Mercantini", + "Mercati", + "Merisi", + "Metella", + "Meucci", + "Mezzetta", + "Micca", + "Michelangeli", + "Micheletti", + "Migliaccio", + "Milanesi", + "Mimun", + "Miniati", + "Missoni", + "Moccia", + "Mocenigo", + "Modiano", + "Modigliani", + "Modugno", + "Mogherini", + "Molesini", + "Monaco", + "Mondadori", + "Mondaini", + "Monduzzi", + "Moneta", + "Monicelli", + "Montalcini", + "Montalti", + "Montanari", + "Montanariello", + "Montanelli", + "Monte", + "Montecchi", + "Montesano", + "Montessori", + "Monteverdi", + "Monti", + "Morabito", + "Morandi", + "Morandini", + "Morellato", + "Moresi", + "Moretti", + "Morgagni", + "Morlacchi", + "Morosini", + "Morpurgo", + "Morricone", + "Morrocco", + "Mortati", + "Morucci", + "Moschino", + "Mozart", + "Munari", + "Muratori", + "Murialdo", + "Murri", + "Musatti", + "Muti", + "Naccari", + "Nadi", + "Napolitano", + "Natta", + "Navarria", + "Navone", + "Necci", + "Nibali", + "Nicoletti", + "Nicolini", + "Nicolucci", + "Nievo", + "Niggli", + "Niscoromni", + "Nitti", + "Nitto", + "Nolcini", + "Nonis", + "Norbiato", + "Nordio", + "Nosiglia", + "Notarbartolo", + "Novaro", + "Nugnes", + "Odescalchi", + "Offredi", + "Oliboni", + "Olivetti", + "Omma", + "Onio", + "Onisto", + "Opizzi", + "Orengo", + "Orlando", + "Orsini", + "Ortese", + "Ortolani", + "Oscuro", + "Ossani", + "Ossola", + "Ostinelli", + "Ottino", + "Ovadia", + "Pace", + "Pacelli", + "Pacetti", + "Pacillo", + "Pacomio", + "Padovano", + "Paganini", + "Pagliaro", + "Pagnotto", + "Palazzo", + "Palladio", + "Palmisano", + "Palombi", + "Paltrinieri", + "Palumbo", + "Panatta", + "Panicucci", + "Panzera", + "Paoletti", + "Paolini", + "Paolucci", + "Papafava", + "Papetti", + "Pareto", + "Parini", + "Parisi", + "Parmitano", + "Parpinel", + "Parri", + "Paruta", + "Pascarella", + "Pasolini", + "Pasqua", + "Passalacqua", + "Pastine", + "Pausini", + "Pavanello", + "Pavarotti", + "Pavone", + "Peano", + "Pederiva", + "Pedersoli", + "Pedrazzini", + "Pedroni", + "Pellegrini", + "Pelli", + "Pellico", + "Pennetta", + "Pepe", + "Peranda", + "Pergolesi", + "Perini", + "Perozzo", + "Persico", + "Pertile", + "Pertini", + "Peruzzi", + "Petralli", + "Petrassi", + "Petrocelli", + "Petrucci", + "Petrucelli", + "Petruzzi", + "Pezzali", + "Piacentini", + "Piane", + "Piazzi", + "Piccinni", + "Piccio", + "Pietrangeli", + "Pigafetta", + "Pignatti", + "Pinamonte", + "Pincherle", + "Pininfarina", + "Piovani", + "Pirandello", + "Pirelli", + "Pisacane", + "Pisani", + "Pisano", + "Pisaroni", + "Pistoletto", + "Pizzamano", + "Pizzetti", + "Pizziol", + "Pizzo", + "Platini", + "Poerio", + "Polani", + "Polesel", + "Polizzi", + "Pometta", + "Pontecorvo", + "Ponti", + "Porcellato", + "Porzio", + "Pozzecco", + "Prada", + "Praga", + "Pratesi", + "Prati", + "Priuli", + "Procacci", + "Prodi", + "Proietti", + "Pucci", + "Puccini", + "Pugliese", + "Puglisi", + "Pulci", + "Quasimodo", + "Querini", + "Raimondi", + "Ramazzotti", + "Randazzo", + "Rapisardi", + "Rastelli", + "Raurica", + "Ravaglioli", + "Redi", + "Regge", + "Renault", + "Renier", + "Rensi", + "Renzi", + "Respighi", + "Riccardi", + "Riccati", + "Ricci", + "Ricciardi", + "Ricolfi", + "Rienzo", + "Righi", + "Rinaldi", + "Rismondo", + "Ritacca", + "Rizzo", + "Rizzoli", + "Rocca", + "Roccabonella", + "Roero", + "Romagnoli", + "Romano", + "Romiti", + "Roncalli", + "Rosiello", + "Rosmini", + "Rosselli", + "Rossellini", + "Rossetti", + "Rossi", + "Rossini", + "Roth", + "Rubbia", + "Ruberto", + "Ruffini", + "Ruggeri", + "Ruggieri", + "Russo", + "Rusticucci", + "Sabatini", + "Sabbatini", + "Saffi", + "Sagese", + "Sagnelli", + "Sagredo", + "Salandra", + "Salata", + "Salgari", + "Salieri", + "Salvemini", + "Salvini", + "Salvo", + "Samele", + "Sandi", + "Sanguineti", + "Sansoni", + "Santi", + "Santorio", + "Santoro", + "Sanudo", + "Saraceno", + "Saracino", + "Saragat", + "Satriani", + "Satta", + "Sauli", + "Sauro", + "Savorgnan", + "Sbarbaro", + "Scaduto", + "Scalera", + "Scalfaro", + "Scamarcio", + "Scandone", + "Scaramucci", + "Scarfoglio", + "Scarlatti", + "Scarpa", + "Scarpetta", + "Scarponi", + "Schiaparelli", + "Schiavo", + "Schiavone", + "Schicchi", + "Scialpi", + "Scotti", + "Scotto", + "Seddio", + "Segni", + "Segrè", + "Semitecolo", + "Serao", + "Serlupi", + "Sermonti", + "Serraglio", + "Sforza", + "Sgalambro", + "Sgarbi", + "Sibilia", + "Siffredi", + "Silvestri", + "Simeoni", + "Sinisi", + "Sismondi", + "Smirnoff", + "Sobrero", + "Soderini", + "Soffici", + "Sokolov", + "Solari", + "Solimena", + "Sollima", + "Sommaruga", + "Sonnino", + "Soprano", + "Soranzo", + "Sordi", + "Sorrentino", + "Spadafora", + "Spallanzani", + "Spanevello", + "Speri", + "Spinelli", + "Spinola", + "Squarcione", + "Sraffa", + "Staglieno", + "Stefanelli", + "Stein", + "Stoppani", + "Storladi", + "Stradivari", + "Strangio", + "Stucchi", + "Surian", + "Tacchini", + "Taccola", + "Tafuri", + "Tagliafierro", + "Taliani", + "Taliercio", + "Tamborini", + "Tamburello", + "Tamburi", + "Tamburini", + "Tanzini", + "Tarantini", + "Tarantino", + "Tarchetti", + "Tartaglia", + "Tartini", + "Tasca", + "Tasso", + "Tassoni", + "Tebaldi", + "Tedesco", + "Telesio", + "Tencalla", + "Terragni", + "Tiepolo", + "Tirabassi", + "Togliatti", + "Tognazzi", + "Toldo", + "Tolentino", + "Tomaselli", + "Tomasetti", + "Tomasini", + "Tomei", + "Tommaseo", + "Toninelli", + "Tonisto", + "Torlonia", + "Tornatore", + "Torricelli", + "Toscani", + "Toscanini", + "Toselli", + "Tosi", + "Toso", + "Tosto", + "Totino", + "Tozzi", + "Tozzo", + "Traetta", + "Trapanese", + "Trapani", + "Travaglia", + "Travaglio", + "Traversa", + "Travia", + "Trebbi", + "Treccani", + "Tremonti", + "Trentin", + "Trentini", + "Tresoldi", + "Treves", + "Trevisan", + "Trevisani", + "Trezzini", + "Trillini", + "Trincavelli", + "Trobbiani", + "Troisi", + "Trombetta", + "Tron", + "Tropea", + "Trotta", + "Trupiano", + "Trussardi", + "Turati", + "Turchetta", + "Turchi", + "Turci", + "Turrini", + "Tutino", + "Tuzzolino", + "Ubaldi", + "Udinese", + "Udinesi", + "Ughi", + "Ungaretti", + "Valentino", + "Valguarnera", + "Valier", + "Valmarana", + "Vanvitelli", + "Varano", + "Vasari", + "Vattimo", + "Vecellio", + "Vecoli", + "Veltroni", + "Vendetti", + "Venditti", + "Veneziano", + "Venier", + "Vento", + "Venturi", + "Vercelloni", + "Verdi", + "Verdone", + "Verga", + "Vergassola", + "Vergerio", + "Verri", + "Versace", + "Vespa", + "Vespucci", + "Vezzali", + "Vianello", + "Vidoni", + "Vigliotti", + "Vigorelli", + "Villadicani", + "Villarosa", + "Viola", + "Virgilio", + "Visconti", + "Visintini", + "Vismara", + "Vittadello", + "Vitturi", + "Vivaldi", + "Viviani", + "Volta", + "Volterra", + "Zabarella", + "Zaccagnini", + "Zaccardo", + "Zacchia", + "Zacco", + "Zaguri", + "Zamengo", + "Zamorani", + "Zampa", + "Zanazzo", + "Zanichelli", + "Zanzi", + "Zarlino", + "Zecchini", + "Zeffirelli", + "Zetticci", + "Ziani", + "Zichichi", + "Zito", + "Zola", + "Zoppetti", + "Zoppetto", + ) - prefixes_female = ('Dott.', 'Sig.ra') - prefixes_male = ('Dott.', 'Sig.') + prefixes_female = ("Dott.", "Sig.ra") + prefixes_male = ("Dott.", "Sig.") - prefixes = ('Dott.', 'Sig.', 'Sig.ra') + prefixes = ("Dott.", "Sig.", "Sig.ra") diff --git a/faker/providers/person/ja_JP/__init__.py b/faker/providers/person/ja_JP/__init__.py index e19075da16..fd6ecb3e49 100644 --- a/faker/providers/person/ja_JP/__init__.py +++ b/faker/providers/person/ja_JP/__init__.py @@ -1,180 +1,299 @@ +from collections import OrderedDict +from operator import itemgetter +from typing import Tuple + from .. import Provider as PersonProvider class Provider(PersonProvider): - formats_female = ( - '{{last_name}} {{first_name_female}}', - ) - - formats_male = ( - '{{last_name}} {{first_name_male}}', - ) - - formats = formats_male + formats_female - # link: http://dic.nicovideo.jp/a/日本人の名前一覧 # link: http://www.meijiyasuda.co.jp/enjoy/ranking/ - first_names_female = ( - '明美', 'あすか', '香織', '加奈', 'くみ子', 'さゆり', '知実', '千代', - '直子', '七夏', '花子', '春香', '真綾', '舞', '美加子', '幹', - '桃子', '結衣', '裕美子', '陽子', '里佳', + first_name_female_pairs = ( + ("明美", "アケミ", "Akemi"), + ("あすか", "アスカ", "Asuka"), + ("香織", "カオリ", "Kaori"), + ("加奈", "カナ", "Kana"), + ("くみ子", "クミコ", "Kumiko"), + ("さゆり", "サユリ", "Sayuri"), + ("知実", "サトミ", "Satomi"), + ("千代", "チヨ", "Chiyo"), + ("直子", "ナオコ", "Naoko"), + ("七夏", "ナナミ", "Nanami"), + ("花子", "ハナコ", "Hanako"), + ("春香", "ハルカ", "Haruka"), + ("真綾", "マアヤ", "Maaya"), + ("舞", "マイ", "Mai"), + ("美加子", "ミカコ", "Mikako"), + ("幹", "ミキ", "Miki"), + ("桃子", "モモコ", "Momoko"), + ("結衣", "ユイ", "Yui"), + ("裕美子", "ユミコ", "Yumiko"), + ("陽子", "ヨウコ", "Yoko"), + ("里佳", "リカ", "Rika"), ) - # link: http://dic.nicovideo.jp/a/日本人の名前一覧 - # link: http://www.meijiyasuda.co.jp/enjoy/ranking/ - first_names_male = ( - '晃', '篤司', '治', '和也', '京助', '健一', '修平', '翔太', - '淳', '聡太郎', '太一', '太郎', '拓真', '翼', '智也', '直樹', - '直人', '英樹', '浩', '学', '充', '稔', '裕樹', '裕太', - '康弘', '陽一', '洋介', '亮介', '涼平', '零', + # for backwards compatibility + first_names_female = tuple(map(itemgetter(0), first_name_female_pairs)) + first_kana_names_female = tuple(map(itemgetter(1), first_name_female_pairs)) + first_romanized_names_female = tuple(map(itemgetter(2), first_name_female_pairs)) + + first_name_male_pairs = ( + ("晃", "アキラ", "Akira"), + ("篤司", "アツシ", "Atsushi"), + ("治", "オサム", "Osamu"), + ("和也", "カズヤ", "Kazuya"), + ("京助", "キョウスケ", "Kyosuke"), + ("健一", "ケンイチ", "Kenichi"), + ("修平", "シュウヘイ", "Shohei"), + ("翔太", "ショウタ", "Shota"), + ("淳", "ジュン", "Jun"), + ("聡太郎", "ソウタロウ", "Sotaro"), + ("太一", "タイチ", "Taichi"), + ("太郎", "タロウ", "Taro"), + ("拓真", "タクマ", "Takuma"), + ("翼", "ツバサ", "Tsubasa"), + ("智也", "トモヤ", "Tomoya"), + ("直樹", "ナオキ", "Naoki"), + ("直人", "ナオト", "Naoto"), + ("英樹", "ヒデキ", "Hideki"), + ("浩", "ヒロシ", "Hiroshi"), + ("学", "マナブ", "Manabu"), + ("充", "ミツル", "Mituru"), + ("稔", "ミノル", "Minoru"), + ("裕樹", "ユウキ", "Yuki"), + ("裕太", "ユウタ", "Yuta"), + ("康弘", "ヤスヒロ", "Yasuhiro"), + ("陽一", "ヨウイチ", "Yoichi"), + ("洋介", "ヨウスケ", "Yosuke"), + ("亮介", "リョウスケ", "Ryosuke"), + ("涼平", "リョウヘイ", "Ryohei"), + ("零", "レイ", "Rei"), ) + # for backwards compatibility + first_names_male = tuple(map(itemgetter(0), first_name_male_pairs)) + first_kana_names_male = tuple(map(itemgetter(1), first_name_male_pairs)) + first_romanized_names_male = tuple(map(itemgetter(2), first_name_male_pairs)) + + # for backwards compatibility first_names = first_names_male + first_names_female + first_kana_names = first_kana_names_male + first_kana_names_female + first_romanized_names = first_romanized_names_male + first_romanized_names_female - # link: https://dic.nicovideo.jp/a/日本の苗字(名字)の一覧 - last_names = ( - '青田', '青山', '石田', '井高', '伊藤', '井上', '宇野', '江古田', - '大垣', '加藤', '加納', '喜嶋', '木村', '桐山', '工藤', '小泉', - '小林', '近藤', '斉藤', '坂本', '佐々木', '佐藤', '笹田', '鈴木', - '杉山', '高橋', '田中', '田辺', '津田', '中島', '中村', '渚', - '中津川', '西之園', '野村', '原田', '浜田', '廣川', '藤本', '松本', - '三宅', '宮沢', '村山', '山岸', '山口', '山田', '山本', '吉田', - '吉本', '若松', '渡辺', - ) + first_name_pairs = first_name_male_pairs + first_name_female_pairs - kana_formats = ( - '{{last_kana_name}} {{first_kana_name_female}}', - '{{last_kana_name}} {{first_kana_name_male}}', + last_name_pairs = OrderedDict( + ( + (("佐藤", "サトウ", "Sato"), 366803.0), + (("鈴木", "スズキ", "Suzuki"), 321135), + (("高橋", "タカハシ", "Takahashi"), 266782), + (("田中", "タナカ", "Tanaka"), 245821), + (("伊藤", "イトウ", "Ito"), 203357), + (("渡辺", "ワタナベ", "Watanabe"), 200504), + (("山本", "ヤマモト", "Yamamoto"), 200134), + (("中村", "ナカムラ", "Nakamura"), 195219), + (("小林", "コバヤシ", "Kobayashi"), 191819), + (("加藤", "カトウ", "Kato"), 160283), + (("吉田", "ヨシダ", "Yoshida"), 154461), + (("山田", "ヤマダ", "Yamada"), 151675), + (("佐々木", "ササキ", "Sasaki"), 135927), + (("山口", "ヤマグチ", "Yamaguchi"), 119501), + (("松本", "マツモト", "Matsumoto"), 116490), + (("井上", "イノウエ", "Inoue"), 111287), + (("木村", "キムラ", "Kimura"), 107446), + (("林", "ハヤシ", "Hayashi"), 101826), + (("斎藤", "サイトウ", "Saito"), 101774), + (("清水", "シミズ", "Shimizu"), 97826), + (("山崎", "ヤマザキ", "Yamazaki"), 90781), + (("阿部", "アベ", "Abe"), 86833), + (("森", "モリ", "Mori"), 86507), + (("池田", "イケダ", "Ikeda"), 84860), + (("橋本", "ハシモト", "Hashimoto"), 82836), + (("山下", "ヤマシタ", "Yamashita"), 80588), + (("石川", "イシカワ", "Ishikawa"), 77471), + (("中島", "ナカジマ", "Nakajima"), 74106), + (("前田", "マエダ", "Maeda"), 72930), + (("藤田", "フジタ", "Fujita"), 72375), + (("後藤", "ゴトウ", "Goto"), 71629), + (("小川", "オガワ", "Ogawa"), 71179), + (("岡田", "オカダ", "Okada"), 70347), + (("長谷川", "ハセガワ", "Hasegawa"), 69201), + (("村上", "ムラカミ", "Murakami"), 68606), + (("近藤", "コンドウ", "Kondo"), 68297), + (("石井", "イシイ", "Ishii"), 67079), + (("遠藤", "エンドウ", "Endo"), 62620), + (("斉藤", "サイトウ", "Saito"), 62540), + (("坂本", "サカモト", "Sakamoto"), 62308), + (("青木", "アオキ", "Aoki"), 59516), + (("藤井", "フジイ", "Fujii"), 59204), + (("西村", "ニシムラ", "Nishimura"), 58821), + (("福田", "フクダ", "Fukuda"), 58714), + (("太田", "オオタ", "Ota"), 58439), + (("三浦", "ミウラ", "Miura"), 58006), + (("藤原", "フジワラ", "Fujiwara"), 57742), + (("松田", "マツダ", "Matsuda"), 55883), + (("岡本", "オカモト", "Okamoto"), 55539), + (("中川", "ナカガワ", "Nakagawa"), 55221), + ) ) - first_kana_names_female = ( - 'アケミ', 'アスカ', 'カオリ', 'カナ', - 'クミコ', 'サユリ', 'サトミ', 'チヨ', - 'ナオコ', 'ナナミ', 'ハナコ', 'ハルカ', - 'マアヤ', 'マイ', 'ミカコ', 'ミキ', - 'モモコ', 'ユイ', 'ユミコ', 'ヨウコ', - 'リカ', - ) + # for backwards compatibility only. use the pairs instead + last_names = tuple(map(itemgetter(0), last_name_pairs)) + last_kana_names = tuple(map(itemgetter(1), last_name_pairs)) + last_romanized_names = tuple(map(itemgetter(2), last_name_pairs)) - first_kana_names_male = ( - 'アキラ', 'アツシ', 'オサム', 'カズヤ', - 'キョウスケ', 'ケンイチ', 'シュウヘイ', 'ショウタ', - 'ジュン', 'ソウタロウ', 'タイチ', 'タロウ', - 'タクマ', 'ツバサ', 'トモヤ', 'ナオキ', - 'ナオト', 'ヒデキ', 'ヒロシ', 'マナブ', - 'ミツル', 'ミノル', 'ユウキ', 'ユウタ', - 'ヤスヒロ', 'ヨウイチ', 'ヨウスケ', 'リョウスケ', - 'リョウヘイ', 'レイ', - ) + formats_male = ("{{last_name}} {{first_name_male}}",) - first_kana_names = first_kana_names_male + first_kana_names_female + formats_female = ("{{last_name}} {{first_name_female}}",) - last_kana_names = ( - 'アオタ', 'アオヤマ', 'イシダ', 'イダカ', - 'イトウ', 'イノウエ', 'ウノ', 'エコダ', - 'オオガキ', 'カトウ', 'カノウ', 'キジマ', - 'キムラ', 'キリヤマ', 'クドウ', 'コイズミ', - 'コバヤシ', 'コンドウ', 'サイトウ', 'サカモト', - 'ササキ', 'サトウ', 'ササダ', 'スズキ', - 'スギヤマ', 'タカハシ', 'タナカ', 'タナベ', - 'ツダ', 'ナカジマ', 'ナカムラ', 'ナギサ', - 'ナカツガワ', 'ニシノソノ', 'ノムラ', 'ハラダ', - 'ハマダ', 'ヒロカワ', 'フジモト', 'マツモト', - 'ミヤケ', 'ミヤザワ', 'ムラヤマ', 'ヤマギシ', - 'ヤマグチ', 'ヤマダ', 'ヤマモト', 'ヨシダ', - 'ヨシモト', 'ワカマツ', 'ワタナベ', - ) + formats = formats_male + formats_female - romanized_formats = ( - '{{first_romanized_name_female}} {{last_romanized_name}}', - '{{first_romanized_name_male}} {{last_romanized_name}}', - ) + kana_formats_male = ("{{last_kana_name}} {{first_kana_name_male}}",) - first_romanized_names_female = ( - 'Akemi', 'Asuka', 'Kaori', 'Kana', - 'Kumiko', 'Sayuri', 'Satomi', 'Chiyo', - 'Naoko', 'Nanami', 'Hanako', 'Haruka', - 'Maaya', 'Mai', 'Mikako', 'Miki', - 'Momoko', 'Yui', 'Yumiko', 'Yoko', - 'Rika', - ) + kana_formats_female = ("{{last_kana_name}} {{first_kana_name_female}}",) - first_romanized_names_male = ( - 'Akira', 'Atsushi', 'Osamu', 'Kazuya', - 'Kyosuke', 'Kenichi', 'Shohei', 'Shota', - 'Jun', 'Sotaro', 'Taichi', 'Taro', - 'Takuma', 'Tsubasa', 'Tomoya', 'Naoki', - 'Naoto', 'Hideki', 'Hiroshi', 'Manabu', - 'Mituru', 'Minoru', 'Yuki', 'Yuta', - 'Yasuhiro', 'Yoichi', 'Yosuke', 'Ryosuke', - 'Ryohei', 'Rei', - ) + kana_formats = kana_formats_male + kana_formats_female - first_romanized_names = first_romanized_names_male \ - + first_romanized_names_female - - last_romanized_names = ( - 'Aota', 'Aoyama', 'Ishida', 'Idaka', - 'Ito', 'Inoue', 'Uno', 'Ekoda', - 'Ogaki', 'Kato', 'Kano', 'Kijima', - 'Kimura', 'Kiriyama', 'Kudo', 'Koizumi', - 'Kobayashi', 'Kondo', 'Saito', 'Sakamoto', - 'Sasaki', 'Sato', 'Sasada', 'Suzuki', - 'Sugiyama', 'Takahashi', 'Tanaka', 'Tanabe', - 'Tsuda', 'Nakajima', 'Nakamura', 'Nagisa', - 'Nakatsugawa', 'Nishinosono', 'Nomura', 'Harada', - 'Hamada', 'Hirokawa', 'Fujimoto', 'Matsumoto', - 'Miyake', 'Miyagawa', 'Murayama', 'Yamagishi', - 'Yamaguchi', 'Yamada', 'Yamamoto', 'Yoshida', - 'Yoshimoto', 'Wakamatsu', 'Watanabe', - ) + romanized_formats_male = ("{{first_romanized_name_male}} {{last_romanized_name}}",) - def kana_name(self): - ''' - @example 'アオタ アキラ' - ''' - pattern = self.random_element(self.kana_formats) - return self.generator.parse(pattern) + romanized_formats_female = ("{{first_romanized_name_female}} {{last_romanized_name}}",) + + romanized_formats = romanized_formats_male + romanized_formats_female - def first_kana_name(self): - ''' + def first_name_pair(self) -> Tuple[str, str, str]: + """ + @example ('明美', 'アケミ', 'Akemi') + """ + return self.random_element(self.first_name_pairs) + + def first_name_male_pair(self) -> Tuple[str, str, str]: + """ + @example ('晃', 'アキラ', 'Akira') + """ + return self.random_element(self.first_name_male_pairs) + + def first_name_female_pair(self) -> Tuple[str, str, str]: + """ + @example ('明美', 'アケミ', 'Akemi') + """ + return self.random_element(self.first_name_female_pairs) + + def last_name_pair(self) -> Tuple[str, str, str]: + """ + @example ('佐藤', 'サトウ', 'Sato') + """ + return self.random_element(self.last_name_pairs) + + def first_name(self) -> str: + """ + @example '明美' + """ + return self.first_name_pair()[0] + + def first_name_male(self) -> str: + """ + @example '晃' + """ + return self.first_name_male_pair()[0] + + def first_name_female(self) -> str: + """ + @example '明美' + """ + return self.first_name_female_pair()[0] + + def last_name(self) -> str: + """ + @example '佐藤' + """ + return self.last_name_pair()[0] + + def first_kana_name(self) -> str: + """ + @example 'アケミ' + """ + return self.first_name_pair()[1] + + def first_kana_name_male(self) -> str: + """ @example 'アキラ' - ''' - return self.random_element(self.first_kana_names) - - def first_kana_name_female(self): - return self.random_element(self.first_kana_names_female) - - def first_kana_name_male(self): - return self.random_element(self.first_kana_names_male) - - def last_kana_name(self): - ''' - @example 'アオタ' - ''' - return self.random_element(self.last_kana_names) - - def romanized_name(self): - ''' - @example 'Akira Aota' - ''' - pattern = self.random_element(self.romanized_formats) - return self.generator.parse(pattern) + """ + return self.first_name_male_pair()[1] + + def first_kana_name_female(self) -> str: + """ + @example 'アケミ' + """ + return self.first_name_female_pair()[1] + + def last_kana_name(self) -> str: + """ + @example 'サトウ' + """ + return self.last_name_pair()[1] - def first_romanized_name(self): - ''' + def first_romanized_name(self) -> str: + """ + @example 'Akemi' + """ + return self.first_name_pair()[2] + + def first_romanized_name_male(self) -> str: + """ @example 'Akira' - ''' - return self.random_element(self.first_romanized_names) + """ + return self.first_name_male_pair()[2] + + def first_romanized_name_female(self) -> str: + """ + @example 'Akemi' + """ + return self.first_name_female_pair()[2] + + def last_romanized_name(self) -> str: + """ + @example 'Sato' + """ + return self.last_name_pair()[2] + + def kana_name(self) -> str: + """ + @example 'サトウ アケミ' + """ + pattern: str = self.random_element(self.kana_formats) + return self.generator.parse(pattern) + + def kana_name_male(self) -> str: + """ + @example 'サトウ アキラ' + """ + pattern: str = self.random_element(self.kana_formats_male) + return self.generator.parse(pattern) + + def kana_name_female(self) -> str: + """ + @example 'サトウ アケミ' + """ + pattern: str = self.random_element(self.kana_formats_female) + return self.generator.parse(pattern) - def first_romanized_name_female(self): - return self.random_element(self.first_romanized_names_female) + def romanized_name(self) -> str: + """ + @example 'Akemi Sato' + """ + pattern: str = self.random_element(self.romanized_formats) + return self.generator.parse(pattern) - def first_romanized_name_male(self): - return self.random_element(self.first_romanized_names_male) + def romanized_name_male(self) -> str: + """ + @example 'Akira Sato' + """ + pattern: str = self.random_element(self.romanized_formats_male) + return self.generator.parse(pattern) - def last_romanized_name(self): - ''' - @example 'Aota' - ''' - return self.random_element(self.last_romanized_names) + def romanized_name_female(self) -> str: + """ + @example 'Akemi Sato' + """ + pattern: str = self.random_element(self.romanized_formats_female) + return self.generator.parse(pattern) diff --git a/faker/providers/person/ka_GE/__init__.py b/faker/providers/person/ka_GE/__init__.py index 7d758c75b0..0902e9864e 100644 --- a/faker/providers/person/ka_GE/__init__.py +++ b/faker/providers/person/ka_GE/__init__.py @@ -2,60 +2,288 @@ class Provider(PersonProvider): - formats_male = ( - '{{first_name_male}} {{last_name}}', - ) - formats_female = ( - '{{first_name_female}} {{last_name}}', - ) + formats_male = ("{{first_name_male}} {{last_name}}",) + formats_female = ("{{first_name_female}} {{last_name}}",) formats = formats_male + formats_female # Source: 2012 Voters List. # Obtained from http://mashasada.me/en/chamotvirtva first_names_male = ( - 'ავთანდილ', 'აკაკი', 'ალექს', 'ალექსანდრე', 'ამირან', 'ანზორ', 'არმენ', - 'არტურ', 'არჩილ', 'ასლან', 'ბადრი', 'ბესარიონ', 'ბესიკ', 'ბექა', - 'ბიძინა', 'ბონდო', 'ბორის', 'გელა', 'გენადი', 'გია', 'გიგა', 'გიგლა', - 'გივი', 'გიორგი', 'გოგა', 'გოგი', 'გოგიტა', 'გოდერძი', 'გოჩა', 'გრიგოლ', - 'გურამ', 'დავით', 'დათო', 'დემურ', 'დიმიტრი', 'ედუარდ', 'ელგუჯა', - 'ემზარ', 'ვალერი', 'ვალერიან', 'ვანო', 'ვაჟა', 'ვასილ', 'ვახტანგ', - 'ვახტანგ', 'ვეფხვია', 'ვიქტორ', 'ვლადიმერ', 'ზაზა', 'ზაურ', 'ზაქარია', - 'ზვიად', 'ზურაბ', 'თამაზ', 'თეიმურაზ', 'თემურ', 'თენგიზ', 'თორნიკე', - 'იაგო', 'ივანე', 'ილია', 'იოსებ', 'ირაკლი', 'იური', 'კარლო', 'კახა', - 'კახაბერ', 'კობა', 'კონსტანტინე', 'ლაშა', 'ლევან', 'მალხაზ', 'მამუკა', - 'მერაბ', 'მინდია', 'მირიან', 'მიხეილ', 'მიხეილ', 'მურთაზ', 'მურმან', - 'ნიკა', 'ნიკოლოზ', 'ნოდარ', 'ნუგზარ', 'ნუკრი', 'ოთარ', 'ომარ', 'პაატა', - 'პავლე', 'პეტრე', 'რამაზ', 'რატი', 'რევაზ', 'რეზო', 'რობერტ', 'როინ', - 'როლანდ', 'რომან', 'სერგო', 'სიმონ', 'სოსო', 'ტარიელ', 'უშანგი', 'უჩა', - 'შალვა', 'შაქრო', 'შოთა', 'ხვიჩა', 'ჯაბა', 'ჯემალ', 'ჯონი', 'ჯუმბერ', + "ავთანდილ", + "აკაკი", + "ალექს", + "ალექსანდრე", + "ამირან", + "ანზორ", + "არმენ", + "არტურ", + "არჩილ", + "ასლან", + "ბადრი", + "ბესარიონ", + "ბესიკ", + "ბექა", + "ბიძინა", + "ბონდო", + "ბორის", + "გელა", + "გენადი", + "გია", + "გიგა", + "გიგლა", + "გივი", + "გიორგი", + "გოგა", + "გოგი", + "გოგიტა", + "გოდერძი", + "გოჩა", + "გრიგოლ", + "გურამ", + "დავით", + "დათო", + "დემურ", + "დიმიტრი", + "ედუარდ", + "ელგუჯა", + "ემზარ", + "ვალერი", + "ვალერიან", + "ვანო", + "ვაჟა", + "ვასილ", + "ვახტანგ", + "ვახტანგ", + "ვეფხვია", + "ვიქტორ", + "ვლადიმერ", + "ზაზა", + "ზაურ", + "ზაქარია", + "ზვიად", + "ზურაბ", + "თამაზ", + "თეიმურაზ", + "თემურ", + "თენგიზ", + "თორნიკე", + "იაგო", + "ივანე", + "ილია", + "იოსებ", + "ირაკლი", + "იური", + "კარლო", + "კახა", + "კახაბერ", + "კობა", + "კონსტანტინე", + "ლაშა", + "ლევან", + "მალხაზ", + "მამუკა", + "მერაბ", + "მინდია", + "მირიან", + "მიხეილ", + "მიხეილ", + "მურთაზ", + "მურმან", + "ნიკა", + "ნიკოლოზ", + "ნოდარ", + "ნუგზარ", + "ნუკრი", + "ოთარ", + "ომარ", + "პაატა", + "პავლე", + "პეტრე", + "რამაზ", + "რატი", + "რევაზ", + "რეზო", + "რობერტ", + "როინ", + "როლანდ", + "რომან", + "სერგო", + "სიმონ", + "სოსო", + "ტარიელ", + "უშანგი", + "უჩა", + "შალვა", + "შაქრო", + "შოთა", + "ხვიჩა", + "ჯაბა", + "ჯემალ", + "ჯონი", + "ჯუმბერ", ) # Source: 2012 Voters List. # Obtained from http://mashasada.me/en/chamotvirtva first_names_female = ( - 'აზა', 'აიდა', 'ალა', 'ანა', 'ანი', 'ანიკო', 'ანნა', 'ანჟელა', 'ასმათ', - 'ბელა', 'გალინა', 'გვანცა', 'გიული', 'გუგული', 'გულიკო', 'გულნარა', - 'დალი', 'დარეჯან', 'დიანა', 'დოდო', 'ევგენია', 'ეთერ', 'ეკა', - 'ეკატერინე', 'ელენა', 'ელენე', 'ელზა', 'ელიზა', 'ელისო', 'ელმირა', - 'ემა', 'ვალენტინა', 'ვარდო', 'ვენერა', 'ვერა', 'ვერიკო', 'ვიოლეტა', - 'ზაირა', 'ზინა', 'ზოია', 'თათია', 'თამარ', 'თამარა', 'თამარი', 'თამთა', - 'თამილა', 'თამუნა', 'თეა', 'თეონა', 'თინა', 'თინათინ', 'ია', 'იამზე', - 'იზა', 'იზოლდა', 'ინგა', 'ინეზა', 'ირინა', 'ირინე', 'ირმა', 'კარინე', - 'კლარა', 'ლალი', 'ლამარა', 'ლამზირა', 'ლანა', 'ლარისა', 'ლეილა', 'ლელა', - 'ლენა', 'ლია', 'ლიანა', 'ლიდა', 'ლიზა', 'ლიკა', 'ლილი', 'ლუბა', - 'ლუდმილა', 'ლუიზა', 'მაგდა', 'მადონა', 'მაია', 'მაკა', 'მანანა', - 'მარგალიტა', 'მარი', 'მარია', 'მარიამ', 'მარიკა', 'მარინა', 'მარინე', - 'მარო', 'მაყვალა', 'მეგი', 'მედეა', 'მედიკო', 'მერი', 'მზია', - 'მთვარისა', 'მირანდა', 'ნადეჯდა', 'ნადია', 'ნაზი', 'ნაზიბროლა', - 'ნაზიკო', 'ნათელა', 'ნათია', 'ნაირა', 'ნანა', 'ნანი', 'ნანული', - 'ნარგიზა', 'ნატალია', 'ნატო', 'ნელი', 'ნესტან', 'ნინელი', 'ნინო', - 'ნონა', 'ნორა', 'ნუნუ', 'ნუცა', 'ოლია', 'ოლღა', 'ჟანა', 'ჟენია', - 'ჟუჟუნა', 'რიმა', 'რიტა', 'როზა', 'რუსუდან', 'რუსუდან', 'სალომე', - 'სვეტლანა', 'სონია', 'სოფია', 'სოფიკო', 'სოფიო', 'სულიკო', 'სუსანა', - 'ტატიანა', 'ფატი', 'ფატიმა', 'ფიქრია', 'ქეთევან', 'ქეთინო', 'ქეთო', - 'ქრისტინე', 'შორენა', 'ციალა', 'ცირა', 'ცისანა', 'ციური', 'ციცინო', - 'ხათუნა', 'ხატია', 'ჯულიეტა', + "აზა", + "აიდა", + "ალა", + "ანა", + "ანი", + "ანიკო", + "ანნა", + "ანჟელა", + "ასმათ", + "ბელა", + "გალინა", + "გვანცა", + "გიული", + "გუგული", + "გულიკო", + "გულნარა", + "დალი", + "დარეჯან", + "დიანა", + "დოდო", + "ევგენია", + "ეთერ", + "ეკა", + "ეკატერინე", + "ელენა", + "ელენე", + "ელზა", + "ელიზა", + "ელისო", + "ელმირა", + "ემა", + "ვალენტინა", + "ვარდო", + "ვენერა", + "ვერა", + "ვერიკო", + "ვიოლეტა", + "ზაირა", + "ზინა", + "ზოია", + "თათია", + "თამარ", + "თამარა", + "თამარი", + "თამთა", + "თამილა", + "თამუნა", + "თეა", + "თეონა", + "თინა", + "თინათინ", + "ია", + "იამზე", + "იზა", + "იზოლდა", + "ინგა", + "ინეზა", + "ირინა", + "ირინე", + "ირმა", + "კარინე", + "კლარა", + "ლალი", + "ლამარა", + "ლამზირა", + "ლანა", + "ლარისა", + "ლეილა", + "ლელა", + "ლენა", + "ლია", + "ლიანა", + "ლიდა", + "ლიზა", + "ლიკა", + "ლილი", + "ლუბა", + "ლუდმილა", + "ლუიზა", + "მაგდა", + "მადონა", + "მაია", + "მაკა", + "მანანა", + "მარგალიტა", + "მარი", + "მარია", + "მარიამ", + "მარიკა", + "მარინა", + "მარინე", + "მარო", + "მაყვალა", + "მეგი", + "მედეა", + "მედიკო", + "მერი", + "მზია", + "მთვარისა", + "მირანდა", + "ნადეჯდა", + "ნადია", + "ნაზი", + "ნაზიბროლა", + "ნაზიკო", + "ნათელა", + "ნათია", + "ნაირა", + "ნანა", + "ნანი", + "ნანული", + "ნარგიზა", + "ნატალია", + "ნატო", + "ნელი", + "ნესტან", + "ნინელი", + "ნინო", + "ნონა", + "ნორა", + "ნუნუ", + "ნუცა", + "ოლია", + "ოლღა", + "ჟანა", + "ჟენია", + "ჟუჟუნა", + "რიმა", + "რიტა", + "როზა", + "რუსუდან", + "რუსუდან", + "სალომე", + "სვეტლანა", + "სონია", + "სოფია", + "სოფიკო", + "სოფიო", + "სულიკო", + "სუსანა", + "ტატიანა", + "ფატი", + "ფატიმა", + "ფიქრია", + "ქეთევან", + "ქეთინო", + "ქეთო", + "ქრისტინე", + "შორენა", + "ციალა", + "ცირა", + "ცისანა", + "ციური", + "ციცინო", + "ხათუნა", + "ხატია", + "ჯულიეტა", ) first_names = first_names_male + first_names_female @@ -63,93 +291,483 @@ class Provider(PersonProvider): # Source: 2012 Voters List. # Obtained from http://mashasada.me/en/chamotvirtva last_names = ( - 'აბაშიძე', 'აბდულაევი', 'აბესაძე', 'აბრამიშვილი', 'აბულაძე', 'ადამია', - 'ადეიშვილი', 'ადუაშვილი', 'ავალიანი', 'ალადაშვილი', 'ალანია', 'ალიევა', - 'ალიევი', 'ანდღულაძე', 'ანთაძე', 'არაბიძე', 'არაბული', 'არველაძე', - 'არჩვაძე', 'ასათიანი', 'ასანიძე', 'აფციაური', 'ახალაია', 'ახალაძე', - 'ახვლედიანი', 'ახობაძე', 'ბაკურაძე', 'ბალიაშვილი', 'ბარამიძე', - 'ბარბაქაძე', 'ბასილაშვილი', 'ბასილაძე', 'ბაქრაძე', 'ბახტაძე', - 'ბეგიაშვილი', 'ბენდელიანი', 'ბენიძე', 'ბეჟანიშვილი', 'ბეჟანიძე', - 'ბერაია', 'ბერაძე', 'ბერიანიძე', 'ბერიაშვილი', 'ბერიშვილი', 'ბერიძე', - 'ბერუაშვილი', 'ბერულავა', 'ბერძენიშვილი', 'ბექაური', 'ბიბილაშვილი', - 'ბიგვავა', 'ბიწაძე', 'ბლიაძე', 'ბოკუჩავა', 'ბოლქვაძე', 'ბოჭორიშვილი', - 'ბრეგაძე', 'ბრეგვაძე', 'ბუკია', 'ბურდული', 'ბურჯანაძე', 'ბუჩუკური', - 'ბუცხრიკიძე', 'გაბაიძე', 'გაბედავა', 'გაბელია', 'გაბრიჭიძე', 'გაბუნია', - 'გაგნიძე', 'გაგუა', 'გაფრინდაშვილი', 'გაჩეჩილაძე', 'გაჯიევა', 'გაჯიევი', - 'გეგეშიძე', 'გელაშვილი', 'გელაძე', 'გვაზავა', 'გვასალია', 'გველესიანი', - 'გვენეტაძე', 'გიგაური', 'გიორგაძე', 'გიორგობიანი', 'გობეჯიშვილი', - 'გოგალაძე', 'გოგია', 'გოგიაშვილი', 'გოგინაშვილი', 'გოგიტიძე', - 'გოგიშვილი', 'გოგიჩაიშვილი', 'გოგიჩაშვილი', 'გოგიძე', 'გოგოლაძე', - 'გოგოხია', 'გოგსაძე', 'გოგუა', 'გოგუაძე', 'გორგაძე', 'გორგილაძე', - 'გორგოძე', 'გოცირიძე', 'გრიგალაშვილი', 'გრიგორიანი', 'გრძელიშვილი', - 'გულიაშვილი', 'გულუა', 'გუმბერიძე', 'გურგენიძე', 'გურეშიძე', 'გურული', - 'გუჯაბიძე', 'დავითაშვილი', 'დავითაძე', 'დალაქიშვილი', 'დანელია', - 'დარბაიძე', 'დევაძე', 'დევიძე', 'დემეტრაშვილი', 'დვალი', 'დვალიშვილი', - 'დიასამიძე', 'დოლიძე', 'დუმბაძე', 'ელბაქიძე', 'ელიზბარაშვილი', - 'ენუქიძე', 'ვალიევა', 'ვალიევი', 'ვარდოსანიძე', 'ვარშანიძე', 'ვასაძე', - 'ვაშაკიძე', 'ვაშაყმაძე', 'ვეკუა', 'ზარანდია', 'ზარიძე', 'ზარქუა', - 'ზედგინიძე', 'ზოიძე', 'ზურაბაშვილი', 'თაბაგარი', 'თავართქილაძე', - 'თავაძე', 'თედორაძე', 'თევზაძე', 'თოდუა', 'თოლორდავა', 'თოფურია', - 'თურმანიძე', 'იაშვილი', 'ილურიძე', 'იმერლიშვილი', 'იმნაძე', 'ინასარიძე', - 'იობიძე', 'ირემაშვილი', 'ირემაძე', 'ისაევი', 'კაზარიანი', 'კაკაბაძე', - 'კაკაურიძე', 'კაკულია', 'კალანდაძე', 'კალანდია', 'კანდელაკი', - 'კაპანაძე', 'კარაპეტიანი', 'კაცაძე', 'კაციტაძე', 'კაჭარავა', 'კახაძე', - 'კახიძე', 'კევლიშვილი', 'კეკელიძე', 'კერესელიძე', 'კვანტალიანი', - 'კვარაცხელია', 'კვაჭაძე', 'კვერნაძე', 'კვინიკაძე', 'კვირიკაშვილი', - 'კვირკველია', 'კიკვაძე', 'კიკნაძე', 'კილასონია', 'კილაძე', - 'კინწურაშვილი', 'კირვალიძე', 'კირთაძე', 'კირკიტაძე', 'კობაიძე', - 'კობახიძე', 'კობერიძე', 'კობიაშვილი', 'კონცელიძე', 'კოპალიანი', - 'კოპაძე', 'კოხრეიძე', 'კუბლაშვილი', 'კუპატაძე', 'კუპრაშვილი', - 'კუპრეიშვილი', 'კურტანიძე', 'კუჭავა', 'კუჭუხიძე', 'კუხიანიძე', 'ლაბაძე', - 'ლაგვილავა', 'ლატარია', 'ლაცაბიძე', 'ლეჟავა', 'ლიპარტელიანი', - 'ლობჟანიძე', 'ლობჯანიძე', 'ლოლაძე', 'ლომაძე', 'ლომთაძე', 'ლომიძე', - 'ლომსაძე', 'ლორთქიფანიძე', 'ლურსმანაშვილი', 'მაზმიშვილი', 'მათიაშვილი', - 'მაისურაძე', 'მამალაძე', 'მამულაშვილი', 'მამულაძე', 'მანაგაძე', - 'მარგველაშვილი', 'მაღლაკელიძე', 'მაღრაძე', 'მაჩიტიძე', 'მაჭავარიანი', - 'მაჭარაშვილი', 'მახათაძე', 'მახარაშვილი', 'მახარაძე', 'მგალობლიშვილი', - 'მგელაძე', 'მეგრელიშვილი', 'მელაძე', 'მელიქიშვილი', 'მელიქიძე', - 'მელქაძე', 'მერაბიშვილი', 'მერებაშვილი', 'მესხი', 'მეტრეველი', - 'მეფარიშვილი', 'მიმინოშვილი', 'მინდიაშვილი', 'მიქაბერიძე', 'მიქავა', - 'მიქაძე', 'მიქელაძე', 'მოდებაძე', 'მოსიაშვილი', 'მჟავანაძე', 'მუმლაძე', - 'მუსაევა', 'მუსაევი', 'მუსტაფაევა', 'მუსტაფაევი', 'მუშკუდიანი', - 'მღებრიშვილი', 'მჭედლიშვილი', 'მჭედლიძე', 'ნაბიევი', 'ნადირაშვილი', - 'ნადირაძე', 'ნაკაშიძე', 'ნარიმანიძე', 'ნასყიდაშვილი', 'ნატროშვილი', - 'ნაცვლიშვილი', 'ნაჭყებია', 'ნებიერიძე', 'ნემსაძე', 'ნეფარიძე', - 'ნიკოლაიშვილი', 'ნიკოლეიშვილი', 'ნიჟარაძე', 'ნიქაბაძე', 'ნოზაძე', - 'ნუცუბიძე', 'ოთარაშვილი', 'ონიანი', 'ოქროპირიძე', 'ოქრუაშვილი', - 'პავლიაშვილი', 'პაპავა', 'პაპაშვილი', 'პაპიაშვილი', 'პაპიძე', - 'პაპუაშვილი', 'პატარაია', 'პეტრიაშვილი', 'პეტროსიანი', 'ჟვანია', - 'ჟორჟოლიანი', 'ჟღენტი', 'რაზმაძე', 'რამიშვილი', 'რევაზიშვილი', - 'რეხვიაშვილი', 'რობაქიძე', 'როგავა', 'როსტიაშვილი', 'რუხაძე', - 'სალუქვაძე', 'სამუშია', 'სამხარაძე', 'სანიკიძე', 'სარალიძე', - 'სარქისიანი', 'საჯაია', 'სეხნიაშვილი', 'სვანიძე', 'სილაგაძე', - 'სიმონიშვილი', 'სირაძე', 'სირბილაძე', 'სიჭინავა', 'სიხარულიძე', - 'სოფრომაძე', 'სულაბერიძე', 'სურმანიძე', 'სხირტლაძე', 'ტაბატაძე', - 'ტაკიძე', 'ტალახაძე', 'ტურაშვილი', 'ტუღუში', 'ტყებუჩავა', 'ტყემალაძე', - 'ტყეშელაშვილი', 'უგრეხელიძე', 'ურუშაძე', 'ფანცულაია', 'ფარტენაძე', - 'ფარცვანია', 'ფეიქრიშვილი', 'ფერაძე', 'ფირცხალავა', 'ფიფია', - 'ფიცხელაური', 'ფოფხაძე', 'ფუტკარაძე', 'ფხაკაძე', 'ფხალაძე', 'ქავთარაძე', - 'ქათამაძე', 'ქამადაძე', 'ქანთარია', 'ქარდავა', 'ქართველიშვილი', - 'ქარჩავა', 'ქარცივაძე', 'ქაჯაია', 'ქევხიშვილი', 'ქირია', 'ქობალია', - 'ქობულაძე', 'ქორიძე', 'ქუთათელაძე', 'ქურდაძე', 'ღამბაშიძე', - 'ღარიბაშვილი', 'ღვინიაშვილი', 'ღვინჯილია', 'ღლონტი', 'ღონღაძე', - 'ღურწკაია', 'ყაველაშვილი', 'ყიფიანი', 'ყიფშიძე', 'ყოლბაია', 'ყურაშვილი', - 'შავაძე', 'შათირიშვილი', 'შაინიძე', 'შალამბერიძე', 'შამათავა', - 'შამუგია', 'შანიძე', 'შარაშიძე', 'შარიქაძე', 'შელია', 'შენგელია', - 'შეყილაძე', 'შველიძე', 'შონია', 'შუბითიძე', 'შუკაკიძე', 'ჩადუნელი', - 'ჩაკვეტაძე', 'ჩაფიძე', 'ჩაჩანიძე', 'ჩაჩუა', 'ჩინჩალაძე', 'ჩიქოვანი', - 'ჩიხლაძე', 'ჩოხელი', 'ჩუბინიძე', 'ჩხაიძე', 'ჩხარტიშვილი', 'ჩხეიძე', - 'ჩხიკვაძე', 'ცაავა', 'ცანავა', 'ცარციძე', 'ცერცვაძე', 'ცეცხლაძე', - 'ცინცაძე', 'ცირეკიძე', 'ცომაია', 'ცუცქირიძე', 'ცხადაძე', 'ძიძიგური', - 'ძნელაძე', 'წერეთელი', 'წიკლაური', 'წიქარიშვილი', 'წულაია', 'წულუკიძე', - 'წურწუმია', 'ჭანტურია', 'ჭანტურიძე', 'ჭაღალიძე', 'ჭეიშვილი', 'ჭელიძე', - 'ჭითანავა', 'ჭინჭარაული', 'ჭიღლაძე', 'ჭიჭინაძე', 'ჭკადუა', 'ჭუმბურიძე', - 'ხალვაში', 'ხარაბაძე', 'ხარაზიშვილი', 'ხარაიშვილი', 'ხარატიშვილი', - 'ხარებავა', 'ხარშილაძე', 'ხარჩილავა', 'ხატიაშვილი', 'ხაჩატურიანი', - 'ხაჩიძე', 'ხაჭაპურიძე', 'ხელაძე', 'ხეცურიანი', 'ხვედელიძე', 'ხვიჩია', - 'ხიზანიშვილი', 'ხიმშიაშვილი', 'ხმალაძე', 'ხოზრევანიძე', 'ხორავა', - 'ხურცილავა', 'ხურციძე', 'ხუციშვილი', 'ჯავახიშვილი', 'ჯაიანი', - 'ჯალაღონია', 'ჯანაშია', 'ჯანელიძე', 'ჯანიაშვილი', 'ჯანჯღავა', - 'ჯაფარიძე', 'ჯიბლაძე', 'ჯინჭარაძე', 'ჯიქია', 'ჯიშკარიანი', 'ჯოხაძე', - 'ჯოჯუა', 'ჯღარკავა', + "აბაშიძე", + "აბდულაევი", + "აბესაძე", + "აბრამიშვილი", + "აბულაძე", + "ადამია", + "ადეიშვილი", + "ადუაშვილი", + "ავალიანი", + "ალადაშვილი", + "ალანია", + "ალიევა", + "ალიევი", + "ანდღულაძე", + "ანთაძე", + "არაბიძე", + "არაბული", + "არველაძე", + "არჩვაძე", + "ასათიანი", + "ასანიძე", + "აფციაური", + "ახალაია", + "ახალაძე", + "ახვლედიანი", + "ახობაძე", + "ბაკურაძე", + "ბალიაშვილი", + "ბარამიძე", + "ბარბაქაძე", + "ბასილაშვილი", + "ბასილაძე", + "ბაქრაძე", + "ბახტაძე", + "ბეგიაშვილი", + "ბენდელიანი", + "ბენიძე", + "ბეჟანიშვილი", + "ბეჟანიძე", + "ბერაია", + "ბერაძე", + "ბერიანიძე", + "ბერიაშვილი", + "ბერიშვილი", + "ბერიძე", + "ბერუაშვილი", + "ბერულავა", + "ბერძენიშვილი", + "ბექაური", + "ბიბილაშვილი", + "ბიგვავა", + "ბიწაძე", + "ბლიაძე", + "ბოკუჩავა", + "ბოლქვაძე", + "ბოჭორიშვილი", + "ბრეგაძე", + "ბრეგვაძე", + "ბუკია", + "ბურდული", + "ბურჯანაძე", + "ბუჩუკური", + "ბუცხრიკიძე", + "გაბაიძე", + "გაბედავა", + "გაბელია", + "გაბრიჭიძე", + "გაბუნია", + "გაგნიძე", + "გაგუა", + "გაფრინდაშვილი", + "გაჩეჩილაძე", + "გაჯიევა", + "გაჯიევი", + "გეგეშიძე", + "გელაშვილი", + "გელაძე", + "გვაზავა", + "გვასალია", + "გველესიანი", + "გვენეტაძე", + "გიგაური", + "გიორგაძე", + "გიორგობიანი", + "გობეჯიშვილი", + "გოგალაძე", + "გოგია", + "გოგიაშვილი", + "გოგინაშვილი", + "გოგიტიძე", + "გოგიშვილი", + "გოგიჩაიშვილი", + "გოგიჩაშვილი", + "გოგიძე", + "გოგოლაძე", + "გოგოხია", + "გოგსაძე", + "გოგუა", + "გოგუაძე", + "გორგაძე", + "გორგილაძე", + "გორგოძე", + "გოცირიძე", + "გრიგალაშვილი", + "გრიგორიანი", + "გრძელიშვილი", + "გულიაშვილი", + "გულუა", + "გუმბერიძე", + "გურგენიძე", + "გურეშიძე", + "გურული", + "გუჯაბიძე", + "დავითაშვილი", + "დავითაძე", + "დალაქიშვილი", + "დანელია", + "დარბაიძე", + "დევაძე", + "დევიძე", + "დემეტრაშვილი", + "დვალი", + "დვალიშვილი", + "დიასამიძე", + "დოლიძე", + "დუმბაძე", + "ელბაქიძე", + "ელიზბარაშვილი", + "ენუქიძე", + "ვალიევა", + "ვალიევი", + "ვარდოსანიძე", + "ვარშანიძე", + "ვასაძე", + "ვაშაკიძე", + "ვაშაყმაძე", + "ვეკუა", + "ზარანდია", + "ზარიძე", + "ზარქუა", + "ზედგინიძე", + "ზოიძე", + "ზურაბაშვილი", + "თაბაგარი", + "თავართქილაძე", + "თავაძე", + "თედორაძე", + "თევზაძე", + "თოდუა", + "თოლორდავა", + "თოფურია", + "თურმანიძე", + "იაშვილი", + "ილურიძე", + "იმერლიშვილი", + "იმნაძე", + "ინასარიძე", + "იობიძე", + "ირემაშვილი", + "ირემაძე", + "ისაევი", + "კაზარიანი", + "კაკაბაძე", + "კაკაურიძე", + "კაკულია", + "კალანდაძე", + "კალანდია", + "კანდელაკი", + "კაპანაძე", + "კარაპეტიანი", + "კაცაძე", + "კაციტაძე", + "კაჭარავა", + "კახაძე", + "კახიძე", + "კევლიშვილი", + "კეკელიძე", + "კერესელიძე", + "კვანტალიანი", + "კვარაცხელია", + "კვაჭაძე", + "კვერნაძე", + "კვინიკაძე", + "კვირიკაშვილი", + "კვირკველია", + "კიკვაძე", + "კიკნაძე", + "კილასონია", + "კილაძე", + "კინწურაშვილი", + "კირვალიძე", + "კირთაძე", + "კირკიტაძე", + "კობაიძე", + "კობახიძე", + "კობერიძე", + "კობიაშვილი", + "კონცელიძე", + "კოპალიანი", + "კოპაძე", + "კოხრეიძე", + "კუბლაშვილი", + "კუპატაძე", + "კუპრაშვილი", + "კუპრეიშვილი", + "კურტანიძე", + "კუჭავა", + "კუჭუხიძე", + "კუხიანიძე", + "ლაბაძე", + "ლაგვილავა", + "ლატარია", + "ლაცაბიძე", + "ლეჟავა", + "ლიპარტელიანი", + "ლობჟანიძე", + "ლობჯანიძე", + "ლოლაძე", + "ლომაძე", + "ლომთაძე", + "ლომიძე", + "ლომსაძე", + "ლორთქიფანიძე", + "ლურსმანაშვილი", + "მაზმიშვილი", + "მათიაშვილი", + "მაისურაძე", + "მამალაძე", + "მამულაშვილი", + "მამულაძე", + "მანაგაძე", + "მარგველაშვილი", + "მაღლაკელიძე", + "მაღრაძე", + "მაჩიტიძე", + "მაჭავარიანი", + "მაჭარაშვილი", + "მახათაძე", + "მახარაშვილი", + "მახარაძე", + "მგალობლიშვილი", + "მგელაძე", + "მეგრელიშვილი", + "მელაძე", + "მელიქიშვილი", + "მელიქიძე", + "მელქაძე", + "მერაბიშვილი", + "მერებაშვილი", + "მესხი", + "მეტრეველი", + "მეფარიშვილი", + "მიმინოშვილი", + "მინდიაშვილი", + "მიქაბერიძე", + "მიქავა", + "მიქაძე", + "მიქელაძე", + "მოდებაძე", + "მოსიაშვილი", + "მჟავანაძე", + "მუმლაძე", + "მუსაევა", + "მუსაევი", + "მუსტაფაევა", + "მუსტაფაევი", + "მუშკუდიანი", + "მღებრიშვილი", + "მჭედლიშვილი", + "მჭედლიძე", + "ნაბიევი", + "ნადირაშვილი", + "ნადირაძე", + "ნაკაშიძე", + "ნარიმანიძე", + "ნასყიდაშვილი", + "ნატროშვილი", + "ნაცვლიშვილი", + "ნაჭყებია", + "ნებიერიძე", + "ნემსაძე", + "ნეფარიძე", + "ნიკოლაიშვილი", + "ნიკოლეიშვილი", + "ნიჟარაძე", + "ნიქაბაძე", + "ნოზაძე", + "ნუცუბიძე", + "ოთარაშვილი", + "ონიანი", + "ოქროპირიძე", + "ოქრუაშვილი", + "პავლიაშვილი", + "პაპავა", + "პაპაშვილი", + "პაპიაშვილი", + "პაპიძე", + "პაპუაშვილი", + "პატარაია", + "პეტრიაშვილი", + "პეტროსიანი", + "ჟვანია", + "ჟორჟოლიანი", + "ჟღენტი", + "რაზმაძე", + "რამიშვილი", + "რევაზიშვილი", + "რეხვიაშვილი", + "რობაქიძე", + "როგავა", + "როსტიაშვილი", + "რუხაძე", + "სალუქვაძე", + "სამუშია", + "სამხარაძე", + "სანიკიძე", + "სარალიძე", + "სარქისიანი", + "საჯაია", + "სეხნიაშვილი", + "სვანიძე", + "სილაგაძე", + "სიმონიშვილი", + "სირაძე", + "სირბილაძე", + "სიჭინავა", + "სიხარულიძე", + "სოფრომაძე", + "სულაბერიძე", + "სურმანიძე", + "სხირტლაძე", + "ტაბატაძე", + "ტაკიძე", + "ტალახაძე", + "ტურაშვილი", + "ტუღუში", + "ტყებუჩავა", + "ტყემალაძე", + "ტყეშელაშვილი", + "უგრეხელიძე", + "ურუშაძე", + "ფანცულაია", + "ფარტენაძე", + "ფარცვანია", + "ფეიქრიშვილი", + "ფერაძე", + "ფირცხალავა", + "ფიფია", + "ფიცხელაური", + "ფოფხაძე", + "ფუტკარაძე", + "ფხაკაძე", + "ფხალაძე", + "ქავთარაძე", + "ქათამაძე", + "ქამადაძე", + "ქანთარია", + "ქარდავა", + "ქართველიშვილი", + "ქარჩავა", + "ქარცივაძე", + "ქაჯაია", + "ქევხიშვილი", + "ქირია", + "ქობალია", + "ქობულაძე", + "ქორიძე", + "ქუთათელაძე", + "ქურდაძე", + "ღამბაშიძე", + "ღარიბაშვილი", + "ღვინიაშვილი", + "ღვინჯილია", + "ღლონტი", + "ღონღაძე", + "ღურწკაია", + "ყაველაშვილი", + "ყიფიანი", + "ყიფშიძე", + "ყოლბაია", + "ყურაშვილი", + "შავაძე", + "შათირიშვილი", + "შაინიძე", + "შალამბერიძე", + "შამათავა", + "შამუგია", + "შანიძე", + "შარაშიძე", + "შარიქაძე", + "შელია", + "შენგელია", + "შეყილაძე", + "შველიძე", + "შონია", + "შუბითიძე", + "შუკაკიძე", + "ჩადუნელი", + "ჩაკვეტაძე", + "ჩაფიძე", + "ჩაჩანიძე", + "ჩაჩუა", + "ჩინჩალაძე", + "ჩიქოვანი", + "ჩიხლაძე", + "ჩოხელი", + "ჩუბინიძე", + "ჩხაიძე", + "ჩხარტიშვილი", + "ჩხეიძე", + "ჩხიკვაძე", + "ცაავა", + "ცანავა", + "ცარციძე", + "ცერცვაძე", + "ცეცხლაძე", + "ცინცაძე", + "ცირეკიძე", + "ცომაია", + "ცუცქირიძე", + "ცხადაძე", + "ძიძიგური", + "ძნელაძე", + "წერეთელი", + "წიკლაური", + "წიქარიშვილი", + "წულაია", + "წულუკიძე", + "წურწუმია", + "ჭანტურია", + "ჭანტურიძე", + "ჭაღალიძე", + "ჭეიშვილი", + "ჭელიძე", + "ჭითანავა", + "ჭინჭარაული", + "ჭიღლაძე", + "ჭიჭინაძე", + "ჭკადუა", + "ჭუმბურიძე", + "ხალვაში", + "ხარაბაძე", + "ხარაზიშვილი", + "ხარაიშვილი", + "ხარატიშვილი", + "ხარებავა", + "ხარშილაძე", + "ხარჩილავა", + "ხატიაშვილი", + "ხაჩატურიანი", + "ხაჩიძე", + "ხაჭაპურიძე", + "ხელაძე", + "ხეცურიანი", + "ხვედელიძე", + "ხვიჩია", + "ხიზანიშვილი", + "ხიმშიაშვილი", + "ხმალაძე", + "ხოზრევანიძე", + "ხორავა", + "ხურცილავა", + "ხურციძე", + "ხუციშვილი", + "ჯავახიშვილი", + "ჯაიანი", + "ჯალაღონია", + "ჯანაშია", + "ჯანელიძე", + "ჯანიაშვილი", + "ჯანჯღავა", + "ჯაფარიძე", + "ჯიბლაძე", + "ჯინჭარაძე", + "ჯიქია", + "ჯიშკარიანი", + "ჯოხაძე", + "ჯოჯუა", + "ჯღარკავა", ) diff --git a/faker/providers/person/ko_KR/__init__.py b/faker/providers/person/ko_KR/__init__.py index 8fc52cc1cf..8c80e0499e 100644 --- a/faker/providers/person/ko_KR/__init__.py +++ b/faker/providers/person/ko_KR/__init__.py @@ -4,197 +4,199 @@ class Provider(PersonProvider): - formats_female = OrderedDict(( - ('{{last_name}}{{first_name_female}}', 1.00), - )) - formats_male = OrderedDict(( - ('{{last_name}}{{first_name_male}}', 1.00), - )) + formats_female = OrderedDict((("{{last_name}}{{first_name_female}}", 1.00),)) + formats_male = OrderedDict((("{{last_name}}{{first_name_male}}", 1.00),)) formats = formats_male.copy() formats.update(formats_female) # https://ko.wikipedia.org/wiki/%ED%95%9C%EA%B5%AD%EC%9D%98_%EC%84%B1%EC%94%A8%EC%99%80_%EC%9D%B4%EB%A6%84 - first_names_female = OrderedDict(( - ('경숙', 1), - ('경자', 1), - ('경희', 1), - ('명숙', 1), - ('명자', 1), - ('미경', 1), - ('미숙', 1), - ('미영', 1), - ('미정', 1), - ('민서', 1), - ('민지', 1), - ('보람', 1), - ('서연', 1), - ('서영', 1), - ('서윤', 1), - ('서현', 1), - ('선영', 1), - ('수민', 1), - ('수빈', 1), - ('수진', 1), - ('숙자', 1), - ('순옥', 1), - ('순자', 1), - ('아름', 1), - ('영미', 1), - ('영숙', 1), - ('영순', 1), - ('영자', 1), - ('영희', 1), - ('예원', 1), - ('예은', 1), - ('예지', 1), - ('예진', 1), - ('옥순', 1), - ('옥자', 1), - ('유진', 1), - ('윤서', 1), - ('은경', 1), - ('은서', 1), - ('은영', 1), - ('은정', 1), - ('은주', 1), - ('은지', 1), - ('정숙', 1), - ('정순', 1), - ('정자', 1), - ('정희', 1), - ('지민', 1), - ('지아', 1), - ('지연', 1), - ('지영', 1), - ('지우', 1), - ('지원', 1), - ('지은', 1), - ('지현', 1), - ('지혜', 1), - ('채원', 1), - ('춘자', 1), - ('하윤', 1), - ('하은', 1), - ('현숙', 1), - ('현정', 1), - ('현주', 1), - ('현지', 1), - ('혜진', 1), - )) + first_names_female = OrderedDict( + ( + ("경숙", 1.0), + ("경자", 1), + ("경희", 1), + ("명숙", 1), + ("명자", 1), + ("미경", 1), + ("미숙", 1), + ("미영", 1), + ("미정", 1), + ("민서", 1), + ("민지", 1), + ("보람", 1), + ("서연", 1), + ("서영", 1), + ("서윤", 1), + ("서현", 1), + ("선영", 1), + ("수민", 1), + ("수빈", 1), + ("수진", 1), + ("숙자", 1), + ("순옥", 1), + ("순자", 1), + ("아름", 1), + ("영미", 1), + ("영숙", 1), + ("영순", 1), + ("영자", 1), + ("영희", 1), + ("예원", 1), + ("예은", 1), + ("예지", 1), + ("예진", 1), + ("옥순", 1), + ("옥자", 1), + ("유진", 1), + ("윤서", 1), + ("은경", 1), + ("은서", 1), + ("은영", 1), + ("은정", 1), + ("은주", 1), + ("은지", 1), + ("정숙", 1), + ("정순", 1), + ("정자", 1), + ("정희", 1), + ("지민", 1), + ("지아", 1), + ("지연", 1), + ("지영", 1), + ("지우", 1), + ("지원", 1), + ("지은", 1), + ("지현", 1), + ("지혜", 1), + ("채원", 1), + ("춘자", 1), + ("하윤", 1), + ("하은", 1), + ("현숙", 1), + ("현정", 1), + ("현주", 1), + ("현지", 1), + ("혜진", 1), + ) + ) - first_names_male = OrderedDict(( - ('건우', 1), - ('경수', 1), - ('광수', 1), - ('도윤', 1), - ('도현', 1), - ('동현', 1), - ('민석', 1), - ('민수', 1), - ('민재', 1), - ('민준', 1), - ('병철', 1), - ('상철', 1), - ('상현', 1), - ('상호', 1), - ('상훈', 1), - ('서준', 1), - ('성민', 1), - ('성수', 1), - ('성진', 1), - ('성현', 1), - ('성호', 1), - ('성훈', 1), - ('승민', 1), - ('승현', 1), - ('시우', 1), - ('영길', 1), - ('영수', 1), - ('영식', 1), - ('영일', 1), - ('영진', 1), - ('영철', 1), - ('영호', 1), - ('영환', 1), - ('예준', 1), - ('우진', 1), - ('재현', 1), - ('재호', 1), - ('정남', 1), - ('정수', 1), - ('정식', 1), - ('정웅', 1), - ('정호', 1), - ('정훈', 1), - ('종수', 1), - ('주원', 1), - ('준서', 1), - ('준영', 1), - ('준혁', 1), - ('준호', 1), - ('중수', 1), - ('지후', 1), - ('지훈', 1), - ('진우', 1), - ('진호', 1), - ('현우', 1), - ('현준', 1), - )) + first_names_male = OrderedDict( + ( + ("건우", 1.0), + ("경수", 1), + ("광수", 1), + ("도윤", 1), + ("도현", 1), + ("동현", 1), + ("민석", 1), + ("민수", 1), + ("민재", 1), + ("민준", 1), + ("병철", 1), + ("상철", 1), + ("상현", 1), + ("상호", 1), + ("상훈", 1), + ("서준", 1), + ("성민", 1), + ("성수", 1), + ("성진", 1), + ("성현", 1), + ("성호", 1), + ("성훈", 1), + ("승민", 1), + ("승현", 1), + ("시우", 1), + ("영길", 1), + ("영수", 1), + ("영식", 1), + ("영일", 1), + ("영진", 1), + ("영철", 1), + ("영호", 1), + ("영환", 1), + ("예준", 1), + ("우진", 1), + ("재현", 1), + ("재호", 1), + ("정남", 1), + ("정수", 1), + ("정식", 1), + ("정웅", 1), + ("정호", 1), + ("정훈", 1), + ("종수", 1), + ("주원", 1), + ("준서", 1), + ("준영", 1), + ("준혁", 1), + ("준호", 1), + ("중수", 1), + ("지후", 1), + ("지훈", 1), + ("진우", 1), + ("진호", 1), + ("현우", 1), + ("현준", 1), + ) + ) first_names = first_names_male.copy() first_names.update(first_names_female) # https://ko.wikipedia.org/wiki/%ED%95%9C%EA%B5%AD%EC%9D%98_%EC%84%B1%EC%94%A8 - last_names = OrderedDict(( - ('김', 0.10689), - ('이', 0.07307), - ('박', 0.04192), - ('정', 0.02333), - ('최', 0.02151), - ('조', 0.01176), - ('강', 0.01055), - ('윤', 0.01020), - ('장', 0.00992), - ('임', 0.00823), - ('한', 0.00773), - ('오', 0.00763), - ('서', 0.00751), - ('신', 0.00741), - ('권', 0.00705), - ('황', 0.00697), - ('안', 0.00685), - ('송', 0.00683), - ('류', 0.00642), - ('전', 0.00559), - ('홍', 0.00558), - ('고', 0.00471), - ('문', 0.00464), - ('양', 0.00460), - ('손', 0.00457), - ('배', 0.00400), - ('조', 0.00398), - ('백', 0.00381), - ('허', 0.00326), - ('유', 0.00302), - ('남', 0.00275), - ('심', 0.00271), - ('노', 0.00256), - ('정', 0.00243), - ('하', 0.00230), - ('곽', 0.00203), - ('성', 0.00199), - ('차', 0.00194), - ('주', 0.00194), - ('우', 0.00194), - ('구', 0.00193), - ('신', 0.00192), - ('임', 0.00191), - ('나', 0.00186), - ('전', 0.00186), - ('민', 0.00171), - ('유', 0.00167), - ('진', 0.00159), - ('지', 0.00153), - ('엄', 0.00144), - )) + last_names = OrderedDict( + ( + ("김", 0.10689), + ("이", 0.07307), + ("박", 0.04192), + ("정", 0.02333), + ("최", 0.02151), + ("조", 0.01176), + ("강", 0.01055), + ("윤", 0.01020), + ("장", 0.00992), + ("임", 0.00823), + ("한", 0.00773), + ("오", 0.00763), + ("서", 0.00751), + ("신", 0.00741), + ("권", 0.00705), + ("황", 0.00697), + ("안", 0.00685), + ("송", 0.00683), + ("류", 0.00642), + ("전", 0.00559), + ("홍", 0.00558), + ("고", 0.00471), + ("문", 0.00464), + ("양", 0.00460), + ("손", 0.00457), + ("배", 0.00400), + ("조", 0.00398), + ("백", 0.00381), + ("허", 0.00326), + ("유", 0.00302), + ("남", 0.00275), + ("심", 0.00271), + ("노", 0.00256), + ("정", 0.00243), + ("하", 0.00230), + ("곽", 0.00203), + ("성", 0.00199), + ("차", 0.00194), + ("주", 0.00194), + ("우", 0.00194), + ("구", 0.00193), + ("신", 0.00192), + ("임", 0.00191), + ("나", 0.00186), + ("전", 0.00186), + ("민", 0.00171), + ("유", 0.00167), + ("진", 0.00159), + ("지", 0.00153), + ("엄", 0.00144), + ) + ) diff --git a/faker/providers/person/lt_LT/__init__.py b/faker/providers/person/lt_LT/__init__.py index f086236bf7..9ebdf8d803 100644 --- a/faker/providers/person/lt_LT/__init__.py +++ b/faker/providers/person/lt_LT/__init__.py @@ -3,50 +3,248 @@ class Provider(PersonProvider): formats = ( - '{{first_name}} {{last_name}}', - '{{first_name}} {{last_name}}', - '{{last_name}}, {{first_name}}', + "{{first_name}} {{last_name}}", + "{{first_name}} {{last_name}}", + "{{last_name}}, {{first_name}}", ) first_names = ( - 'Tomas', 'Lukas', 'Mantas', 'Deividas', 'Arnas', 'Artūras', - 'Karolis', 'Dovydas', 'Dominykas', 'Darius', 'Edvinas', 'Jonas', - 'Martynas', 'Kajus', 'Donatas', 'Andrius', 'Matas', 'Rokas', - 'Augustas', 'Danielius', 'Mindaugas', 'Paulius', 'Marius', - 'Armandas', 'Edgaras', 'Jokūbas', 'Nedas', 'Tadas', 'Nerijus', - 'Simonas', 'Vytautas', 'Artūras', 'Robertas', 'Eimantas', 'Arijus', - 'Nojus', 'Egidijus', 'Aurimas', 'Emilis', 'Laurynas', 'Edvardas', - 'Joris', 'Pijus', 'Erikas', 'Domas', 'Vilius', 'Evaldas', 'Justinas', - 'Aleksandras', 'Kristupas', 'Gabrielius', 'Benas', 'Gytis', 'Arminas', - 'Vakris', 'Tautvydas', 'Domantas', 'Justas', 'Markas', 'Antanas', - 'Arūnas', 'Ernestas', 'Aronas', 'Vaidas', 'Ąžuolas', 'Titas', 'Giedrius', - 'Ignas', 'Povilas', 'Saulius', 'Julius', 'Arvydas', 'Kęstutis', 'Rytis', - 'Aistis', 'Gediminas', 'Algirdas', 'Naglis', 'Irmantas', 'Rolandas', - 'Aivaras', 'Simas', 'Faustas', 'Ramūnas', 'Šarūnas', 'Gustas', 'Tajus', - 'Dainius', 'Arnoldas', 'Linas', 'Rojus', 'Adomas', 'Žygimantas', - 'Ričardas', 'Orestas', 'Kipras', 'Juozas', 'Audrius', 'Romualdas', - 'Petras', 'Eleonora', 'Raminta', 'Dovilė', 'Sandra', 'Dominyka', 'Ana', - 'Erika', 'Kristina', 'Gintarė', 'Rūta', 'Edita', 'Karina', 'Živilė', - 'Jolanta', 'Radvilė', 'Ramunė', 'Svetlana', 'Ugnė', 'Eglė', 'Viktorija', - 'Justina', 'Brigita', 'Rasa', 'Marija', 'Giedrė', 'Iveta', 'Sonata', - 'Vitalija', 'Adrija', 'Goda', 'Paulina', 'Kornelija', 'Liepa', 'Vakarė', - 'Milda', 'Meda', 'Vaida', 'Izabelė', 'Jovita', 'Irma', 'Žemyna', 'Leila', - 'Rimantė', 'Mantė', 'Rytė', 'Perla', 'Greta', 'Monika', 'Ieva', 'Indrė', - 'Ema', 'Aurelija', 'Smiltė', 'Ingrida', 'Simona', 'Amelija', 'Sigita', - 'Olivija', 'Laurita', 'Jorūnė', 'Leticija', 'Vigilija', 'Medėja', 'Laura', - 'Agnė', 'Evelina', 'Kotryna', 'Lėja', 'Aušra', 'Neringa', 'Gerda', - 'Jurgita', 'Rusnė', 'Aušrinė', 'Rita', 'Elena', 'Ineta', 'Ligita', - 'Vasarė', 'Vėjūnė', 'Ignė', 'Gytė', 'Ariana', 'Arielė', 'Vytė', 'Eidvilė', - 'Karolina', 'Miglė', 'Viltė', 'Jolanta', 'Enrika', 'Aurėja', 'Vanesa', - 'Darija', 'Reda', 'Milana', 'Rugilė', 'Diana', + "Tomas", + "Lukas", + "Mantas", + "Deividas", + "Arnas", + "Artūras", + "Karolis", + "Dovydas", + "Dominykas", + "Darius", + "Edvinas", + "Jonas", + "Martynas", + "Kajus", + "Donatas", + "Andrius", + "Matas", + "Rokas", + "Augustas", + "Danielius", + "Mindaugas", + "Paulius", + "Marius", + "Armandas", + "Edgaras", + "Jokūbas", + "Nedas", + "Tadas", + "Nerijus", + "Simonas", + "Vytautas", + "Artūras", + "Robertas", + "Eimantas", + "Arijus", + "Nojus", + "Egidijus", + "Aurimas", + "Emilis", + "Laurynas", + "Edvardas", + "Joris", + "Pijus", + "Erikas", + "Domas", + "Vilius", + "Evaldas", + "Justinas", + "Aleksandras", + "Kristupas", + "Gabrielius", + "Benas", + "Gytis", + "Arminas", + "Vakris", + "Tautvydas", + "Domantas", + "Justas", + "Markas", + "Antanas", + "Arūnas", + "Ernestas", + "Aronas", + "Vaidas", + "Ąžuolas", + "Titas", + "Giedrius", + "Ignas", + "Povilas", + "Saulius", + "Julius", + "Arvydas", + "Kęstutis", + "Rytis", + "Aistis", + "Gediminas", + "Algirdas", + "Naglis", + "Irmantas", + "Rolandas", + "Aivaras", + "Simas", + "Faustas", + "Ramūnas", + "Šarūnas", + "Gustas", + "Tajus", + "Dainius", + "Arnoldas", + "Linas", + "Rojus", + "Adomas", + "Žygimantas", + "Ričardas", + "Orestas", + "Kipras", + "Juozas", + "Audrius", + "Romualdas", + "Petras", + "Eleonora", + "Raminta", + "Dovilė", + "Sandra", + "Dominyka", + "Ana", + "Erika", + "Kristina", + "Gintarė", + "Rūta", + "Edita", + "Karina", + "Živilė", + "Jolanta", + "Radvilė", + "Ramunė", + "Svetlana", + "Ugnė", + "Eglė", + "Viktorija", + "Justina", + "Brigita", + "Rasa", + "Marija", + "Giedrė", + "Iveta", + "Sonata", + "Vitalija", + "Adrija", + "Goda", + "Paulina", + "Kornelija", + "Liepa", + "Vakarė", + "Milda", + "Meda", + "Vaida", + "Izabelė", + "Jovita", + "Irma", + "Žemyna", + "Leila", + "Rimantė", + "Mantė", + "Rytė", + "Perla", + "Greta", + "Monika", + "Ieva", + "Indrė", + "Ema", + "Aurelija", + "Smiltė", + "Ingrida", + "Simona", + "Amelija", + "Sigita", + "Olivija", + "Laurita", + "Jorūnė", + "Leticija", + "Vigilija", + "Medėja", + "Laura", + "Agnė", + "Evelina", + "Kotryna", + "Lėja", + "Aušra", + "Neringa", + "Gerda", + "Jurgita", + "Rusnė", + "Aušrinė", + "Rita", + "Elena", + "Ineta", + "Ligita", + "Vasarė", + "Vėjūnė", + "Ignė", + "Gytė", + "Ariana", + "Arielė", + "Vytė", + "Eidvilė", + "Karolina", + "Miglė", + "Viltė", + "Jolanta", + "Enrika", + "Aurėja", + "Vanesa", + "Darija", + "Reda", + "Milana", + "Rugilė", + "Diana", ) last_names = ( - 'Kazlauskas', 'Jankauskas', 'Petrauskas', 'Pocius', 'Stankevičius', - 'Vsiliauskas', 'Žukauskas', 'Butkus', 'Paulauskas', 'Urbonas', - 'Kavaliauskas', 'Sakalauskas', 'Žukauskas', 'Akelis', 'Ambrasas', - 'Kairys', 'Kalvaitis', 'Kalvelis', 'Kalvėnas', 'Kaupas', 'Kiška', - 'Gagys', 'Gailius', 'Gailys', 'Gaižauskas', 'Gaičiūnas', 'Galdikas', - 'Gintalas', 'Ginzburgas', 'Grinius', 'Gronskis', 'Nagys', 'Naujokas', - 'Narušis', 'Nausėda', 'Poška', 'Povilonis', + "Kazlauskas", + "Jankauskas", + "Petrauskas", + "Pocius", + "Stankevičius", + "Vsiliauskas", + "Žukauskas", + "Butkus", + "Paulauskas", + "Urbonas", + "Kavaliauskas", + "Sakalauskas", + "Žukauskas", + "Akelis", + "Ambrasas", + "Kairys", + "Kalvaitis", + "Kalvelis", + "Kalvėnas", + "Kaupas", + "Kiška", + "Gagys", + "Gailius", + "Gailys", + "Gaižauskas", + "Gaičiūnas", + "Galdikas", + "Gintalas", + "Ginzburgas", + "Grinius", + "Gronskis", + "Nagys", + "Naujokas", + "Narušis", + "Nausėda", + "Poška", + "Povilonis", ) diff --git a/faker/providers/person/lv_LV/__init__.py b/faker/providers/person/lv_LV/__init__.py index 6bfdd48c0f..798eb1303f 100644 --- a/faker/providers/person/lv_LV/__init__.py +++ b/faker/providers/person/lv_LV/__init__.py @@ -3,120 +3,363 @@ class Provider(PersonProvider): formats = ( - '{{first_name}} {{last_name}}', - '{{first_name}} {{last_name}}', - '{{last_name}}, {{first_name}}', + "{{first_name}} {{last_name}}", + "{{first_name}} {{last_name}}", + "{{last_name}}, {{first_name}}", ) first_names = ( - 'Ādams', 'Ādolfs', 'Agris', 'Aigars', 'Ainārs', 'Aivars', 'Alberts', - 'Aldis', 'Aleksandrs', 'Alfrēds', 'Andrejs', 'Andris', 'Andrešs', 'Ansis', - 'Antons', 'Armands', 'Arnis', 'Arnolds', 'Artis', 'Arturs', 'Artūrs', 'Arvīds', - 'Augusts', 'Bērends', 'Bērtulis', 'Brencis', 'Dainis', 'Daniels', 'Dāvis', - 'Dzintars', 'Edgars', 'Edmunds', 'Eduards', 'Edvīns', 'Egils', 'Elmārs', 'Elvis', - 'Emīls', 'Ēriks', 'Ermanis', 'Ernests', 'Ēvalds', 'Fricis', 'Gatis', 'Gunārs', - 'Guntars', 'Guntis', 'Ģederts', 'Ģirts', 'Hanss', 'Harijs', 'Henriks', 'Hermanis', - 'Igors', 'Ilmārs', 'Imants', 'Indriķis', 'Ivars', 'Ivo', 'Jakobs', 'Janis', 'Jānis', - 'Jannis', 'Jāzeps', 'Jēkabs', 'Jēkaubs', 'Jezups', 'Johans', 'Jūlijs', 'Juris', 'Kārlis', - 'Kaspars', 'Konradus', 'Kristaps', 'Kristers', 'Krists', 'Krišjānis', 'Krišs', 'Laimonis', - 'Lauris', 'Leons', 'Macs', 'Mareks', 'Māris', 'Mārtiņš', 'Matīss', 'Mihels', 'Mikels', - 'Miķelis', 'Modris', 'Nikolajs', 'Niks', 'Normunds', 'Oļģerts', 'Oskars', 'Osvalds', - 'Oto', 'Pauls', 'Pēteris', 'Raimonds', 'Raivis', 'Reinis', 'Ričards', 'Rihards', 'Roberts', - 'Rolands', 'Rūdolfs', 'Sandis', 'Staņislavs', 'Tenis', 'Teodors', 'Toms', 'Uldis', 'Valdis', - 'Viesturs', 'Viktors', 'Vilis', 'Vilnis', 'Viļums', 'Visvaldis', 'Vladislavs', 'Voldemārs', - 'Ziedonis', 'Žanis', 'Agnese', 'Aiga', 'Aija', 'Aina', 'Alīda', 'Alise', 'Alma', 'Alvīne', - 'Amālija', 'Anete', 'Anita', 'Anna', 'Annija', 'Antoņina', 'Antra', 'Ārija', 'Ausma', 'Austra', - 'Baba', 'Baiba', 'Berta', 'Biruta', 'Broņislava', 'Dace', 'Daiga', 'Daina', 'Dārta', 'Diāna', - 'Doroteja', 'Dzidra', 'Dzintra', 'Eda', 'Edīte', 'Elīna', 'Elita', 'Elizabete', 'Elvīra', 'Elza', - 'Emīlija', 'Emma', 'Ērika', 'Erna', 'Eva', 'Evija', 'Evita', 'Gaida', 'Genovefa', 'Grēta', 'Grieta', - 'Gunita', 'Gunta', 'Helēna', 'Ieva', 'Ilga', 'Ilona', 'Ilze', 'Ina', 'Ināra', 'Indra', 'Inese', 'Ineta', - 'Inga', 'Ingrīda', 'Inguna', 'Inta', 'Irēna', 'Irma', 'Iveta', 'Jana', 'Janina', 'Jūle', 'Jūla', - 'Jūlija', 'Karina', 'Karlīna', 'Katarīna', 'Katrīna', 'Krista', 'Kristiāna', 'Laila', 'Laura', - 'Lavīze', 'Leontīne', 'Lība', 'Lidija', 'Liene', 'Līga', 'Ligita', 'Lilija', 'Lilita', 'Līna', - 'Linda', 'Līza', 'Lizete', 'Lūcija', 'Madara', 'Made', 'Maija', 'Māra', 'Mare', 'Margareta', 'Margrieta', - 'Marija', 'Mārīte', 'Marta', 'Maža', 'Milda', 'Minna', 'Mirdza', 'Monika', 'Natālija', 'Olga', 'Otīlija', - 'Paula', 'Paulīna', 'Rasma', 'Regīna', 'Rita', 'Rudīte', 'Ruta', 'Rute', 'Samanta', 'Sandra', 'Sanita', - 'Santa', 'Sapa', 'Sarmīte', 'Silvija', 'Sintija', 'Skaidrīte', 'Solvita', 'Tekla', 'Trīne', 'Valda', - 'Valentīna', 'Valija', 'Velta', 'Veneranda', 'Vera', 'Veronika', 'Vija', 'Vilma', 'Vineta', 'Vita', 'Zane', - 'Zelma', 'Zenta', 'Zigrīda', + "Ādams", + "Ādolfs", + "Agris", + "Aigars", + "Ainārs", + "Aivars", + "Alberts", + "Aldis", + "Aleksandrs", + "Alfrēds", + "Andrejs", + "Andris", + "Andrešs", + "Ansis", + "Antons", + "Armands", + "Arnis", + "Arnolds", + "Artis", + "Arturs", + "Artūrs", + "Arvīds", + "Augusts", + "Bērends", + "Bērtulis", + "Brencis", + "Dainis", + "Daniels", + "Dāvis", + "Dzintars", + "Edgars", + "Edmunds", + "Eduards", + "Edvīns", + "Egils", + "Elmārs", + "Elvis", + "Emīls", + "Ēriks", + "Ermanis", + "Ernests", + "Ēvalds", + "Fricis", + "Gatis", + "Gunārs", + "Guntars", + "Guntis", + "Ģederts", + "Ģirts", + "Hanss", + "Harijs", + "Henriks", + "Hermanis", + "Igors", + "Ilmārs", + "Imants", + "Indriķis", + "Ivars", + "Ivo", + "Jakobs", + "Janis", + "Jānis", + "Jannis", + "Jāzeps", + "Jēkabs", + "Jēkaubs", + "Jezups", + "Johans", + "Jūlijs", + "Juris", + "Kārlis", + "Kaspars", + "Konradus", + "Kristaps", + "Kristers", + "Krists", + "Krišjānis", + "Krišs", + "Laimonis", + "Lauris", + "Leons", + "Macs", + "Mareks", + "Māris", + "Mārtiņš", + "Matīss", + "Mihels", + "Mikels", + "Miķelis", + "Modris", + "Nikolajs", + "Niks", + "Normunds", + "Oļģerts", + "Oskars", + "Osvalds", + "Oto", + "Pauls", + "Pēteris", + "Raimonds", + "Raivis", + "Reinis", + "Ričards", + "Rihards", + "Roberts", + "Rolands", + "Rūdolfs", + "Sandis", + "Staņislavs", + "Tenis", + "Teodors", + "Toms", + "Uldis", + "Valdis", + "Viesturs", + "Viktors", + "Vilis", + "Vilnis", + "Viļums", + "Visvaldis", + "Vladislavs", + "Voldemārs", + "Ziedonis", + "Žanis", + "Agnese", + "Aiga", + "Aija", + "Aina", + "Alīda", + "Alise", + "Alma", + "Alvīne", + "Amālija", + "Anete", + "Anita", + "Anna", + "Annija", + "Antoņina", + "Antra", + "Ārija", + "Ausma", + "Austra", + "Baba", + "Baiba", + "Berta", + "Biruta", + "Broņislava", + "Dace", + "Daiga", + "Daina", + "Dārta", + "Diāna", + "Doroteja", + "Dzidra", + "Dzintra", + "Eda", + "Edīte", + "Elīna", + "Elita", + "Elizabete", + "Elvīra", + "Elza", + "Emīlija", + "Emma", + "Ērika", + "Erna", + "Eva", + "Evija", + "Evita", + "Gaida", + "Genovefa", + "Grēta", + "Grieta", + "Gunita", + "Gunta", + "Helēna", + "Ieva", + "Ilga", + "Ilona", + "Ilze", + "Ina", + "Ināra", + "Indra", + "Inese", + "Ineta", + "Inga", + "Ingrīda", + "Inguna", + "Inta", + "Irēna", + "Irma", + "Iveta", + "Jana", + "Janina", + "Jūle", + "Jūla", + "Jūlija", + "Karina", + "Karlīna", + "Katarīna", + "Katrīna", + "Krista", + "Kristiāna", + "Laila", + "Laura", + "Lavīze", + "Leontīne", + "Lība", + "Lidija", + "Liene", + "Līga", + "Ligita", + "Lilija", + "Lilita", + "Līna", + "Linda", + "Līza", + "Lizete", + "Lūcija", + "Madara", + "Made", + "Maija", + "Māra", + "Mare", + "Margareta", + "Margrieta", + "Marija", + "Mārīte", + "Marta", + "Maža", + "Milda", + "Minna", + "Mirdza", + "Monika", + "Natālija", + "Olga", + "Otīlija", + "Paula", + "Paulīna", + "Rasma", + "Regīna", + "Rita", + "Rudīte", + "Ruta", + "Rute", + "Samanta", + "Sandra", + "Sanita", + "Santa", + "Sapa", + "Sarmīte", + "Silvija", + "Sintija", + "Skaidrīte", + "Solvita", + "Tekla", + "Trīne", + "Valda", + "Valentīna", + "Valija", + "Velta", + "Veneranda", + "Vera", + "Veronika", + "Vija", + "Vilma", + "Vineta", + "Vita", + "Zane", + "Zelma", + "Zenta", + "Zigrīda", ) last_names = ( - 'Ābele', - 'Āboliņš', - 'Ābols', - 'Alksnis', - 'Apinis', - 'Apsītis', - 'Auniņš', - 'Auziņš', - 'Avotiņš', - 'Balodis', - 'Baltiņš', - 'Bērziņš', - 'Birznieks', - 'Bite', - 'Briedis', - 'Caune', - 'Celmiņš', - 'Celms', - 'Cīrulis', - 'Dzenis', - 'Dūmiņš', - 'Eglītis', - 'Jaunzems', - 'Kalējs', - 'Kalniņš', - 'Kaņeps', - 'Kārkliņš', - 'Kauliņš', - 'Kļaviņš', - 'Krastiņš', - 'Krēsliņš', - 'Krieviņš', - 'Krievs', - 'Krūmiņš', - 'Krūze', - 'Kundziņš', - 'Lācis', - 'Lagzdiņš', - 'Lapsa', - 'Līcis', - 'Liepa', - 'Liepiņš', - 'Lukstiņš', - 'Lūsis', - 'Paegle', - 'Pērkons', - 'Podnieks', - 'Polis', - 'Priede', - 'Priedītis', - 'Puriņš', - 'Purmals', - 'Riekstiņš', - 'Roze', - 'Rozītis', - 'Rubenis', - 'Rudzītis', - 'Saulītis', - 'Siliņš', - 'Skuja', - 'Skujiņš', - 'Sproģis', - 'Strazdiņš', - 'Turiņš', - 'Vanags', - 'Vīksna', - 'Vilciņš', - 'Vilks', - 'Vītoliņš', - 'Vītols', - 'Zaķis', - 'Zālītis', - 'Zariņš', - 'Zeltiņš', - 'Ziemelis', - 'Zirnis', - 'Zvaigzne', - 'Zvirbulis') + "Ābele", + "Āboliņš", + "Ābols", + "Alksnis", + "Apinis", + "Apsītis", + "Auniņš", + "Auziņš", + "Avotiņš", + "Balodis", + "Baltiņš", + "Bērziņš", + "Birznieks", + "Bite", + "Briedis", + "Caune", + "Celmiņš", + "Celms", + "Cīrulis", + "Dzenis", + "Dūmiņš", + "Eglītis", + "Jaunzems", + "Kalējs", + "Kalniņš", + "Kaņeps", + "Kārkliņš", + "Kauliņš", + "Kļaviņš", + "Krastiņš", + "Krēsliņš", + "Krieviņš", + "Krievs", + "Krūmiņš", + "Krūze", + "Kundziņš", + "Lācis", + "Lagzdiņš", + "Lapsa", + "Līcis", + "Liepa", + "Liepiņš", + "Lukstiņš", + "Lūsis", + "Paegle", + "Pērkons", + "Podnieks", + "Polis", + "Priede", + "Priedītis", + "Puriņš", + "Purmals", + "Riekstiņš", + "Roze", + "Rozītis", + "Rubenis", + "Rudzītis", + "Saulītis", + "Siliņš", + "Skuja", + "Skujiņš", + "Sproģis", + "Strazdiņš", + "Turiņš", + "Vanags", + "Vīksna", + "Vilciņš", + "Vilks", + "Vītoliņš", + "Vītols", + "Zaķis", + "Zālītis", + "Zariņš", + "Zeltiņš", + "Ziemelis", + "Zirnis", + "Zvaigzne", + "Zvirbulis", + ) diff --git a/faker/providers/person/ne_NP/__init__.py b/faker/providers/person/ne_NP/__init__.py index bd10cc6476..5aeff4fbcc 100644 --- a/faker/providers/person/ne_NP/__init__.py +++ b/faker/providers/person/ne_NP/__init__.py @@ -3,250 +3,1541 @@ class Provider(PersonProvider): formats_female = ( - '{{first_name_female}} {{last_name}}', - '{{first_name_female}} {{last_name}}', - '{{first_name_female}} {{last_name}}', - '{{first_name_female}} {{last_name}}', - '{{first_name_female}} {{last_name}}', - '{{prefix_female}} {{first_name_female}} {{last_name}}', + "{{first_name_female}} {{last_name}}", + "{{first_name_female}} {{last_name}}", + "{{first_name_female}} {{last_name}}", + "{{first_name_female}} {{last_name}}", + "{{first_name_female}} {{last_name}}", + "{{prefix_female}} {{first_name_female}} {{last_name}}", ) formats_male = ( - '{{first_name_male}} {{last_name}}', - '{{first_name_male}} {{last_name}}', - '{{first_name_male}} {{last_name}}', - '{{first_name_male}} {{last_name}}', - '{{first_name_male}} {{last_name}}', - '{{prefix_male}} {{first_name_male}} {{last_name}}', + "{{first_name_male}} {{last_name}}", + "{{first_name_male}} {{last_name}}", + "{{first_name_male}} {{last_name}}", + "{{first_name_male}} {{last_name}}", + "{{first_name_male}} {{last_name}}", + "{{prefix_male}} {{first_name_male}} {{last_name}}", ) formats = formats_male + formats_female first_names_female = ( - 'अंगुर', 'अजिता', 'अञ्जना', 'अदिती', 'अनधा', 'अनिता', 'अनिता', - 'अनिता', 'अनिता', 'अनु', 'अनुपमा', 'अनुरा', 'अनुशुया', 'अन्जली', - 'अन्‍नपूर्ण', 'अपर्णा', 'अमरावती', 'अमिका', 'अमृत', 'अमृता', 'अम्विका', - 'अम्विका', 'अम्वीका', 'अरुणा', 'अर्चना', 'अर्चना', 'अर्चना', 'अर्चना', - 'अस्‍मिता', 'आज्ञा', 'आभा', 'आयुषा', 'आयुष्‍मा', 'आवृता', 'आशा', - 'इच्छा', 'इन्दिरा', 'इन्दिरा', 'इन्दिरा', 'इन्दिरा', 'इन्दीरा', - 'इन्दु', 'इन्दु', 'इन्द्र', 'इन्द्र', 'इन्‍द्र', 'इभन', 'इभा', 'इशु', - 'ईतासा', 'ईन्दु', 'ईला', 'ईशा', 'ईशा', 'ईश्‍वरी', 'ईश्‍वरी', 'ईश्‍वरी', - 'उत्तरा', 'उपासना', 'उमा', 'उमा', 'उमा', 'उमा', 'उर्मिला', 'उर्मिला', - 'उर्मिला', 'उषा', 'उषा', 'उषा', 'उषा', 'उषा', 'उषा', 'एलिशा', 'एलिसा', - 'एलिसा', 'ऐरिका', 'कमला', 'कमला', 'कमला', 'कमला', 'कमला', 'कर्साङ', - 'कल्पना', 'कविता', 'कविता', 'कान्ती', 'कान्‍ता', 'कामना', 'कालसाङ्ग', - 'किरण', 'किरण', 'किरण', 'कुसुम', 'कृतिका', 'कृष्टिना', 'कृष्ण', - 'कृष्ण', 'कृष्ण', 'कृष्ण', 'कृष्‍ण', 'कृष्‍ण', 'केमा', 'केशरी', - 'कोमल', 'गंगा', 'गंगा', 'गंगा', 'गणेश', 'गरीमा', 'गायत्री', 'गीता', - 'गीता', 'गीता', 'गीता', 'गौरी', 'चण्डिका', 'चन्दा', 'चन्दा', 'चन्दा', - 'चन्दा', 'चन्द्रमाया', 'चन्द्रलक्ष्मी', 'चन्द्रा', 'चम्पा', 'चाँदनी', - 'चिनी', 'चिनी', 'चुनु', 'चुरीनानी', 'छिरिङ', 'छिरिङ', 'छिरिङ', - 'छुङड्याक', 'छेतन', 'छोक्पा', 'जतन', 'जनक', 'जमुना', 'जमुना', 'जयश्री', - 'जुना', 'जुनु', 'जुलुम', 'ज्ञानहेरा', 'ज्ञानी', 'ज्ञानु', 'ज्यास्मीन', - 'झिनाला', 'टासी', 'टिना', 'डिलु', 'डोमा', 'डोली', 'डोल्मा', 'तानिया', - 'तारा', 'तारा', 'तुलसी', 'तेजस्वी', 'तोया', 'तोरण', 'थिन्ले', - 'दमयन्ति', 'दिप', 'दिपा', 'दिपाञ्‍जली', 'दिपिसा', 'दिल', 'दीक्षा', - 'दुर्गा', 'देचेन', 'देबकी', 'देवकी', 'देवी', 'धनमाया', 'धन्जु', - 'धन्श्‍वरी', 'धर्म', 'नगिना', 'नम्रता', 'नाती', 'नानु', 'नारन', - 'नारायण', 'निकिता', 'निक्षा', 'निधी', 'निभा', 'निमा', 'निम्मी', - 'निम्मी', 'निरजा', 'निरा', 'निरा', 'निरु', 'निरु', 'निर्मल', - 'निर्मला', 'निर्मला', 'निलु', 'निशरत', 'नीरा', 'पदम', 'पद्‍मा', - 'परला', 'पलिसा', 'पवित्रा', 'पार्वती', 'पार्वती', 'पिनु', 'पुजन', - 'पुजा', 'पुजा', 'पुजा', 'पुन', 'पुष्पा', 'पुष्‍षा', 'पूजा', 'पूर्ण', - 'पूर्ण', 'पूर्णमाया', 'पेन्जीला', 'प्रतिति', 'प्रतिभा', 'प्रतिभा', - 'प्रतिसरा', 'प्रमिला', 'प्रमिला', 'प्रविना', 'प्रिती', 'प्रिया', - 'प्रिया', 'प्रिया', 'प्रिया', 'प्रिया', 'प्रेमा', 'प्रेरणा', - 'प्रेरणा', 'फुमिनी', 'फुलावती', 'फौजिया', 'बनिता', 'बन्दना', 'बबिता', - 'बविता', 'बिणा', 'बिनिता', 'बिमला', 'बीणा', 'बुद्ध', 'बैष्णवी', - 'भगवती', 'भगवती', 'भगवती', 'भगवती', 'भगवती', 'भवानी', 'भारती', - 'भावना', 'भुवन', 'भोजकला', 'मंगली', 'मञ्जु', 'मणि', 'मधु', 'मन', 'मन', - 'मनिला', 'मनिषा', 'मनिषा', 'मनीषा', 'मन्जु', 'मन्जु', 'मन्जु', - 'मन्दीरा', 'ममता', 'ममता', 'मयङ्खु', 'मल्लीका', 'मल्लीका', - 'महावती', 'माधुरी', 'मानसी', 'मिङमर', 'मिठु', 'मिना', 'मिना', - 'मिना', 'मिना', 'मिनु', 'मिरा', 'मिरा', 'मिश्री', 'मीना', 'मीना', - 'मीरा', 'मीरा', 'मुनमुन', 'मून', 'मेना', 'मेन्‍खु', 'मेरिना', - 'मेरिना', 'मैया', 'मोहिनी', 'योङमी', 'रंजीता', 'रकीला', 'रचिता', - 'रजनी', 'रजनी', 'रजिता', 'रन्जना', 'रबिना', 'रबीना', 'रमा', 'रमा', - 'रमा', 'रमिता', 'रमिता', 'रमिला', 'रविना', 'रविश्री', 'रश्मि', 'रश्मि', - 'रश्‍मी', 'राजलक्ष्मी', 'राज्यलक्ष्मी', 'राधा', 'राधिका', 'राम', 'राम', - 'राम', 'रिता', 'रिता', 'रिता', 'रितु', 'रिमा', 'रीता', 'रीता', 'रीता', - 'रीना', 'रुजा', 'रुद्र', 'रुपा', 'रुपा', 'रुपा', 'रुपा', 'रुपा', - 'रुपा', 'रुपा', 'रुविना', 'रेखा', 'रेणु', 'रेवती', 'रोजिना', 'लक्ष्मी', - 'लक्ष्मी', 'लक्ष्मी', 'लक्ष्मी', 'लक्ष्‍मी', 'लक्ष्‍मी', 'ललिता', - 'लिलालक्ष्मी', 'लीला', 'ल्हाजी', 'वन्दिनी', 'वर्षा', 'ववी', - 'विजया', 'विजया', 'विद्या', 'विध्या', 'विना', 'विना', 'विनिता', - 'विनिता', 'विभा', 'विमला', 'विमला', 'विमला', 'विमला', 'विष्‍णु', - 'विष्‍णु', 'शर्मिला', 'शर्मिला', 'शर्मिला', 'शर्मिला', 'शशी', - 'शशी', 'शशी', 'शशी', 'शान्ता', 'शान्ति', 'शान्ती', 'शान्ती', - 'शान्ती', 'शान्ती', 'शान्ती', 'शिखा', 'शिखा', 'शिला', 'शिलु', - 'शीला', 'शुभेच्छा', 'शुशिला', 'शुशिला', 'शुसिला', 'शोभा', 'शोभा', - 'शोभा', 'श्रद्धा', 'श्रद्धा', 'श्रीप्राप्‍ती', 'श्रीमती', 'श्रीया', - 'श्रृष्‍टि', 'श्रेयशी', 'श्‍यामा', 'श्‍वेता', 'संगिता', 'संगिता', - 'संगीता', 'सचिता', 'सजना', 'सत्य', 'सत्यव्रता', 'सपना', 'सफलता', - 'सबनम', 'समानता', 'समीना', 'सम्पदा', 'सरला', 'सरस्वती', 'सरस्वती', - 'सरस्वती', 'सरस्वती', 'सरस्वती', 'सरिता', 'सरिता', 'सरिता', 'सरिता', - 'सरिता', 'सरीता', 'सरीता', 'सरोज', 'सरोज', 'सरोजा', 'सर्मिला', - 'सलिना', 'सलिमा', 'सल्भिया', 'सविता', 'सविता', 'सविता', 'सविता', - 'सविता', 'सविना', 'साइमु', 'सागर', 'सानु', 'सानु', 'सानु', 'सान्नानी', - 'सान्नानी', 'सावित्री', 'सावित्री', 'सावित्री', 'सिता', 'सिता', - 'सिरु', 'सीता', 'सुकृती', 'सुधा', 'सुधा', 'सुधा', 'सुधा', 'सुन', - 'सुनाम', 'सुनिता', 'सुनिता', 'सुनिता', 'सुप्रभा', 'सुभद्रा', 'सुमन', - 'सुमित्रा', 'सुमित्रा', 'सुमित्रा', 'सुमैया', 'सुरुची', 'सुरेन्‍द्रा', - 'सुवर्णा', 'सुशिला', 'सुशिला', 'सुशिला', 'सुशिला', 'सुषमा', 'सुष्‍मा', - 'सुष्‍मा', 'सुसिला', 'सृजना', 'सृजना', 'सृजना', 'सोनी', 'सोनु', - 'स्मृती', 'स्मृती', 'स्वति', 'स्वेच्‍छा', 'स्‍वीकृती', 'हनी', 'हरि', - 'हिमा', 'हिरा', 'हिरा', + "अंगुर", + "अजिता", + "अञ्जना", + "अदिती", + "अनधा", + "अनिता", + "अनिता", + "अनिता", + "अनिता", + "अनु", + "अनुपमा", + "अनुरा", + "अनुशुया", + "अन्जली", + "अन्‍नपूर्ण", + "अपर्णा", + "अमरावती", + "अमिका", + "अमृत", + "अमृता", + "अम्विका", + "अम्विका", + "अम्वीका", + "अरुणा", + "अर्चना", + "अर्चना", + "अर्चना", + "अर्चना", + "अस्‍मिता", + "आज्ञा", + "आभा", + "आयुषा", + "आयुष्‍मा", + "आवृता", + "आशा", + "इच्छा", + "इन्दिरा", + "इन्दिरा", + "इन्दिरा", + "इन्दिरा", + "इन्दीरा", + "इन्दु", + "इन्दु", + "इन्द्र", + "इन्द्र", + "इन्‍द्र", + "इभन", + "इभा", + "इशु", + "ईतासा", + "ईन्दु", + "ईला", + "ईशा", + "ईशा", + "ईश्‍वरी", + "ईश्‍वरी", + "ईश्‍वरी", + "उत्तरा", + "उपासना", + "उमा", + "उमा", + "उमा", + "उमा", + "उर्मिला", + "उर्मिला", + "उर्मिला", + "उषा", + "उषा", + "उषा", + "उषा", + "उषा", + "उषा", + "एलिशा", + "एलिसा", + "एलिसा", + "ऐरिका", + "कमला", + "कमला", + "कमला", + "कमला", + "कमला", + "कर्साङ", + "कल्पना", + "कविता", + "कविता", + "कान्ती", + "कान्‍ता", + "कामना", + "कालसाङ्ग", + "किरण", + "किरण", + "किरण", + "कुसुम", + "कृतिका", + "कृष्टिना", + "कृष्ण", + "कृष्ण", + "कृष्ण", + "कृष्ण", + "कृष्‍ण", + "कृष्‍ण", + "केमा", + "केशरी", + "कोमल", + "गंगा", + "गंगा", + "गंगा", + "गणेश", + "गरीमा", + "गायत्री", + "गीता", + "गीता", + "गीता", + "गीता", + "गौरी", + "चण्डिका", + "चन्दा", + "चन्दा", + "चन्दा", + "चन्दा", + "चन्द्रमाया", + "चन्द्रलक्ष्मी", + "चन्द्रा", + "चम्पा", + "चाँदनी", + "चिनी", + "चिनी", + "चुनु", + "चुरीनानी", + "छिरिङ", + "छिरिङ", + "छिरिङ", + "छुङड्याक", + "छेतन", + "छोक्पा", + "जतन", + "जनक", + "जमुना", + "जमुना", + "जयश्री", + "जुना", + "जुनु", + "जुलुम", + "ज्ञानहेरा", + "ज्ञानी", + "ज्ञानु", + "ज्यास्मीन", + "झिनाला", + "टासी", + "टिना", + "डिलु", + "डोमा", + "डोली", + "डोल्मा", + "तानिया", + "तारा", + "तारा", + "तुलसी", + "तेजस्वी", + "तोया", + "तोरण", + "थिन्ले", + "दमयन्ति", + "दिप", + "दिपा", + "दिपाञ्‍जली", + "दिपिसा", + "दिल", + "दीक्षा", + "दुर्गा", + "देचेन", + "देबकी", + "देवकी", + "देवी", + "धनमाया", + "धन्जु", + "धन्श्‍वरी", + "धर्म", + "नगिना", + "नम्रता", + "नाती", + "नानु", + "नारन", + "नारायण", + "निकिता", + "निक्षा", + "निधी", + "निभा", + "निमा", + "निम्मी", + "निम्मी", + "निरजा", + "निरा", + "निरा", + "निरु", + "निरु", + "निर्मल", + "निर्मला", + "निर्मला", + "निलु", + "निशरत", + "नीरा", + "पदम", + "पद्‍मा", + "परला", + "पलिसा", + "पवित्रा", + "पार्वती", + "पार्वती", + "पिनु", + "पुजन", + "पुजा", + "पुजा", + "पुजा", + "पुन", + "पुष्पा", + "पुष्‍षा", + "पूजा", + "पूर्ण", + "पूर्ण", + "पूर्णमाया", + "पेन्जीला", + "प्रतिति", + "प्रतिभा", + "प्रतिभा", + "प्रतिसरा", + "प्रमिला", + "प्रमिला", + "प्रविना", + "प्रिती", + "प्रिया", + "प्रिया", + "प्रिया", + "प्रिया", + "प्रिया", + "प्रेमा", + "प्रेरणा", + "प्रेरणा", + "फुमिनी", + "फुलावती", + "फौजिया", + "बनिता", + "बन्दना", + "बबिता", + "बविता", + "बिणा", + "बिनिता", + "बिमला", + "बीणा", + "बुद्ध", + "बैष्णवी", + "भगवती", + "भगवती", + "भगवती", + "भगवती", + "भगवती", + "भवानी", + "भारती", + "भावना", + "भुवन", + "भोजकला", + "मंगली", + "मञ्जु", + "मणि", + "मधु", + "मन", + "मन", + "मनिला", + "मनिषा", + "मनिषा", + "मनीषा", + "मन्जु", + "मन्जु", + "मन्जु", + "मन्दीरा", + "ममता", + "ममता", + "मयङ्खु", + "मल्लीका", + "मल्लीका", + "महावती", + "माधुरी", + "मानसी", + "मिङमर", + "मिठु", + "मिना", + "मिना", + "मिना", + "मिना", + "मिनु", + "मिरा", + "मिरा", + "मिश्री", + "मीना", + "मीना", + "मीरा", + "मीरा", + "मुनमुन", + "मून", + "मेना", + "मेन्‍खु", + "मेरिना", + "मेरिना", + "मैया", + "मोहिनी", + "योङमी", + "रंजीता", + "रकीला", + "रचिता", + "रजनी", + "रजनी", + "रजिता", + "रन्जना", + "रबिना", + "रबीना", + "रमा", + "रमा", + "रमा", + "रमिता", + "रमिता", + "रमिला", + "रविना", + "रविश्री", + "रश्मि", + "रश्मि", + "रश्‍मी", + "राजलक्ष्मी", + "राज्यलक्ष्मी", + "राधा", + "राधिका", + "राम", + "राम", + "राम", + "रिता", + "रिता", + "रिता", + "रितु", + "रिमा", + "रीता", + "रीता", + "रीता", + "रीना", + "रुजा", + "रुद्र", + "रुपा", + "रुपा", + "रुपा", + "रुपा", + "रुपा", + "रुपा", + "रुपा", + "रुविना", + "रेखा", + "रेणु", + "रेवती", + "रोजिना", + "लक्ष्मी", + "लक्ष्मी", + "लक्ष्मी", + "लक्ष्मी", + "लक्ष्‍मी", + "लक्ष्‍मी", + "ललिता", + "लिलालक्ष्मी", + "लीला", + "ल्हाजी", + "वन्दिनी", + "वर्षा", + "ववी", + "विजया", + "विजया", + "विद्या", + "विध्या", + "विना", + "विना", + "विनिता", + "विनिता", + "विभा", + "विमला", + "विमला", + "विमला", + "विमला", + "विष्‍णु", + "विष्‍णु", + "शर्मिला", + "शर्मिला", + "शर्मिला", + "शर्मिला", + "शशी", + "शशी", + "शशी", + "शशी", + "शान्ता", + "शान्ति", + "शान्ती", + "शान्ती", + "शान्ती", + "शान्ती", + "शान्ती", + "शिखा", + "शिखा", + "शिला", + "शिलु", + "शीला", + "शुभेच्छा", + "शुशिला", + "शुशिला", + "शुसिला", + "शोभा", + "शोभा", + "शोभा", + "श्रद्धा", + "श्रद्धा", + "श्रीप्राप्‍ती", + "श्रीमती", + "श्रीया", + "श्रृष्‍टि", + "श्रेयशी", + "श्‍यामा", + "श्‍वेता", + "संगिता", + "संगिता", + "संगीता", + "सचिता", + "सजना", + "सत्य", + "सत्यव्रता", + "सपना", + "सफलता", + "सबनम", + "समानता", + "समीना", + "सम्पदा", + "सरला", + "सरस्वती", + "सरस्वती", + "सरस्वती", + "सरस्वती", + "सरस्वती", + "सरिता", + "सरिता", + "सरिता", + "सरिता", + "सरिता", + "सरीता", + "सरीता", + "सरोज", + "सरोज", + "सरोजा", + "सर्मिला", + "सलिना", + "सलिमा", + "सल्भिया", + "सविता", + "सविता", + "सविता", + "सविता", + "सविता", + "सविना", + "साइमु", + "सागर", + "सानु", + "सानु", + "सानु", + "सान्नानी", + "सान्नानी", + "सावित्री", + "सावित्री", + "सावित्री", + "सिता", + "सिता", + "सिरु", + "सीता", + "सुकृती", + "सुधा", + "सुधा", + "सुधा", + "सुधा", + "सुन", + "सुनाम", + "सुनिता", + "सुनिता", + "सुनिता", + "सुप्रभा", + "सुभद्रा", + "सुमन", + "सुमित्रा", + "सुमित्रा", + "सुमित्रा", + "सुमैया", + "सुरुची", + "सुरेन्‍द्रा", + "सुवर्णा", + "सुशिला", + "सुशिला", + "सुशिला", + "सुशिला", + "सुषमा", + "सुष्‍मा", + "सुष्‍मा", + "सुसिला", + "सृजना", + "सृजना", + "सृजना", + "सोनी", + "सोनु", + "स्मृती", + "स्मृती", + "स्वति", + "स्वेच्‍छा", + "स्‍वीकृती", + "हनी", + "हरि", + "हिमा", + "हिरा", + "हिरा", ) first_names_male = ( - 'अक्षय', 'अच्युत', 'अजय', 'अजय', 'अनक', 'अनिर', 'अनिल', 'अनिल', 'अनिल', - 'अनिल', 'अनिष', 'अनुप', 'अनुप', 'अनोज', 'अभिषेक', 'अभिषेक', 'अभिषेक', - 'अमित', 'अमित', 'अमित', 'अमिन', 'अमृत', 'अमृत', 'अरुण', 'अरुण', - 'अर्जुन', 'अलंकार', 'अवलोक', 'अविनाश', 'अविशेक', 'अशोक', 'अशोक', - 'अशोक', 'अशोक', 'अशोक', 'अशोब', 'असिन', 'असोक', 'आकाश', 'आत्मेश', - 'आलोक', 'आलोक', 'आशय', 'आशिष', 'आशिष', 'आशिष', 'आशिष', 'आशिष', 'आशीष', - 'ईब्राहीम', 'ईसी', 'उज्ज्वल', 'उत्तम', 'उत्तम', 'उद्धव', 'उद्धव', - 'उमेश', 'उम्मेद', 'ऋकु', 'ऋशु', 'ऋषि', 'ऋषिकेस', 'एक', 'ओम', 'कपिल', - 'कमल', 'कमल', 'करन', 'करन', 'कर्मा', 'कल्याण', 'काजि', 'काजी', 'किरण', - 'किरण', 'किरण', 'किरण', 'किशन', 'किशोर', 'किशोर', 'किशोर', 'कीर्ति', - 'कुमार', 'कुमार', 'कुवेर', 'कुशल', 'कृजल', 'कृष्ण', 'कृष्ण', - 'कृष्णमान', 'कृष्‍ण', 'कृष्‍ण', 'कृष्‍ण', 'कृष्‍ण', 'कृष्‍ण', 'कृष्‍ण', - 'कृष्‍ण', 'कृष्‍ण', 'कृष्‍ण', 'कृष्‍ण', 'कृष्‍ण', 'केशर', 'केशव', - 'केशव', 'केशव', 'केशवलाल', 'केसर', 'कौशल', 'खगेन्द्र', 'खड्ग', - 'गणेश', 'गोपाल', 'गोपाल', 'गोपी', 'गोविन्द', 'गोविन्द', 'गोविन्द', - 'गौतम', 'चन्द', 'चन्द्र', 'चन्द्रेश', 'चिरञ्जीबि', 'चिरनजीवी', 'चैत्य', - 'छवि', 'छेवाङ', 'जगनाथ', 'जगन्नाथ', 'जगन्नाथ', 'जगविर', 'जयन्त', - 'जयन्द्र', 'जयराम', 'जितेन्द्र', 'जीबन', 'जुगल', 'ज्ञान', 'ज्ञानु', - 'ज्ञानेश्‍वर', 'ज्योती', 'ज्योती', 'ज्‍योभान', 'टसी', 'टासी', 'टिका', - 'टेक', 'डा.', 'डा.', 'डा.', 'डेनिस', 'तिर्थ', 'तेजश्‍वी', 'तोप्ला', - 'तोलाराम', 'त्रिरत्‍न', 'थोकेल', 'दमोदर', 'दर्शन', 'दवा', 'दावा', - 'दिगविजया', 'दिनेश', 'दिनेस', 'दिपक', 'दिपक', 'दिपक', 'दिपक', 'दिपक', - 'दिपक', 'दिपक', 'दिपक', 'दिपक', 'दिपकस्वर', 'दिपीन', 'दिपेन्द्र', - 'दिपेन्द्र', 'दिपेन्द्र', 'दिपेश', 'दिपेश', 'दिलिप', 'दिवाकर', 'दीपक', - 'दीपेश', 'दुर्गा', 'देव', 'देवेन्द्र', 'देवेन्द्र', 'देवेन्द्र', - 'देवेन्‍द्र', 'द्वारीका', 'धर्मेन्द्र', 'धिरज', 'ध्रुव', 'नबिन', - 'नबिन्द्र', 'नरपल', 'नरभूपाल', 'नरेन्द्र', 'नरेन्द्र', 'नवराज', 'नविन', - 'नविन', 'नारायण', 'नारायण', 'निमेश', 'निरज', 'निरज', 'निरोज', 'निर्भय', - 'निर्मल', 'निर्मेश', 'पंकज', 'पंच', 'पवन', 'पवन', 'पारस', 'पासाङ्ग', - 'पुरुषोत्तम', 'पुर्णभक्‍त', 'पुलकित', 'पुष्‍प', 'प्रकाश', 'प्रकाश', - 'प्रकाश', 'प्रकाश', 'प्रकास', 'प्रजीत', 'प्रज्ञान', 'प्रज्वल', - 'प्रदिप', 'प्रद्मुम्न', 'प्रफुल्ल', 'प्रभु', 'प्रमेश्‍वर', 'प्रमोद', - 'प्रल्‍हाद', 'प्रविण', 'प्रवेश', 'प्रशान्त', 'प्रशान्न', 'प्रसङ्ग', - 'प्रेम', 'फणिन्द्र', 'बद्रि', 'बद्री', 'बद्री', 'बनवारी', 'बबि', 'बबि', - 'बलकिसन', 'बलराम', 'बल्लु', 'बसन्त', 'बासु', 'बासु', 'बिकाश', 'बिकास', - 'बिराट', 'बुद्धि', 'बुध्द', 'भरत', 'भरत', 'भरत', 'भविन्‍द्र', 'भाइ', - 'भुमा', 'भैया', 'भैरवलाल', 'भोला', 'मंजिल', 'मणी', 'मणीराज', 'मदन', - 'मदन', 'मदन', 'मनिष', 'मनीष', 'मनोज', 'मनोज', 'मनोज', 'मनोज', 'मनोज', - 'मनोहर', 'मनोहर', 'मन्ना', 'मयुश', 'महेन्द्र', 'महेश', 'महेश', 'महेश', - 'महेश', 'महेश', 'माधव', 'माधव', 'मालचन्द', 'मित्र', 'मिनराज', - 'मुकुन्द', 'मुकुन्‍द', 'मुकेश', 'मुख्या', 'मुरारीलाल', 'मेघ', 'मैत्री', - 'मोती', 'मोती', 'मोहन', 'मोहन', 'मोहन', 'यश', 'याम', 'युवराज', - 'योगेन्द्र', 'रजत', 'रतन', 'रत्‍न', 'रमण', 'रमेश', 'रमेश', 'रवि', - 'रवि', 'रवि', 'रविन', 'रविन्द्र', 'रविन्द्र', 'रविन्द्र', 'रविन्द्र', - 'राघव', 'राज', 'राजकुमार', 'राजन', 'राजन', 'राजिव', 'राजीव', 'राजु', - 'राजु', 'राजु', 'राजु', 'राजु', 'राजु', 'राजेन्द्र', 'राजेन्द्र', - 'राजेन्द्र', 'राजेन्द्र', 'राजेश', 'राजेश', 'राजेश', 'राजेश', 'राजेश', - 'राजेश', 'राम', 'राम', 'राम', 'राम', 'राम', 'राम', 'राम', 'राम', 'राम', - 'रामचन्द्र', 'रामजान', 'रामशरण', 'राहुल', 'राहुल', 'रा्जेन्द्र', - 'रुपेश', 'रोजिन', 'रोजीन', 'रोमेन्‍द्र', 'रोहन', 'रौनक', 'लक्ष्मण', - 'लक्ष्मी', 'लक्ष्‍मण', 'लव', 'लाल', 'लिटन', 'वसन्त', 'विकास', 'विक्रम', - 'विजय', 'विजेश', 'विध्यामान', 'विनिल', 'विनोद', 'विनोद', 'विरभद्र', - 'विरेन्द्र', 'विवेक', 'विवेक', 'विवेक', 'विश्‍व', 'विष्णु', 'विष्‍णु', - 'वुष्‍कर', 'शंकर', 'शंकर', 'शंकर', 'शंकर', 'शक्ति', 'शचिन्द्र', 'शरद', - 'शरद', 'शरद', 'शशी', 'शान्त', 'शाहिद', 'शिव', 'शिव', 'शुक्र', - 'शुशान्त', 'शुशिल', 'शेलेन्‍द्र', 'शैलेन्द्र', 'शैलेन्द्र', 'शैलेस', - 'श्याम', 'श्रीजङ्ग', 'श्रीवत्स', 'श्रेयस', 'श्‍याम', 'श्‍यामराज', - 'संकर', 'संजय', 'संजय', 'संजिव', 'संजिव', 'संजीब', 'संजीव', 'संदिप', - 'सगुन', 'सजन', 'सजेन्‍द्र', 'सन्जय', 'सन्जय', 'सन्जीब', 'सन्तोष', - 'सफराज', 'समुन्‍द्र', 'सम्पुर्ण', 'सरोज', 'सरोज', 'सरोज', 'सर्वेश', - 'सागर', 'सानु', 'सिद्धि', 'सीताराम', 'सुजन', 'सुजन', 'सुदन', - 'सुदर्शन', 'सुधिर', 'सुनिल', 'सुनिल', 'सुनिल', 'सुनिल', 'सुन्दर', - 'सुमन', 'सुमन', 'सुरज', 'सुरज', 'सुरज', 'सुरेन', 'सुरेन्द्र', - 'सुरेन्‍द्र', 'सुरेश', 'सुरेश', 'सुरेश', 'सुरेश', 'सुवर्ण', 'सुवर्ण', - 'सुवोध', 'सुशान्त', 'सुशिल', 'सुशिल', 'सृजन', 'सेखर', 'सैबी', 'सोम', - 'सौरब', 'सौरभ', 'स्वागत', 'स‌ंजय', 'हरि', 'हरि', 'हरि', 'हरिहर', - 'हर्क', 'हिरा', 'हिरा', 'हिरा', 'हिरेन्द्र', 'हेमन', 'हेमराज', + "अक्षय", + "अच्युत", + "अजय", + "अजय", + "अनक", + "अनिर", + "अनिल", + "अनिल", + "अनिल", + "अनिल", + "अनिष", + "अनुप", + "अनुप", + "अनोज", + "अभिषेक", + "अभिषेक", + "अभिषेक", + "अमित", + "अमित", + "अमित", + "अमिन", + "अमृत", + "अमृत", + "अरुण", + "अरुण", + "अर्जुन", + "अलंकार", + "अवलोक", + "अविनाश", + "अविशेक", + "अशोक", + "अशोक", + "अशोक", + "अशोक", + "अशोक", + "अशोब", + "असिन", + "असोक", + "आकाश", + "आत्मेश", + "आलोक", + "आलोक", + "आशय", + "आशिष", + "आशिष", + "आशिष", + "आशिष", + "आशिष", + "आशीष", + "ईब्राहीम", + "ईसी", + "उज्ज्वल", + "उत्तम", + "उत्तम", + "उद्धव", + "उद्धव", + "उमेश", + "उम्मेद", + "ऋकु", + "ऋशु", + "ऋषि", + "ऋषिकेस", + "एक", + "ओम", + "कपिल", + "कमल", + "कमल", + "करन", + "करन", + "कर्मा", + "कल्याण", + "काजि", + "काजी", + "किरण", + "किरण", + "किरण", + "किरण", + "किशन", + "किशोर", + "किशोर", + "किशोर", + "कीर्ति", + "कुमार", + "कुमार", + "कुवेर", + "कुशल", + "कृजल", + "कृष्ण", + "कृष्ण", + "कृष्णमान", + "कृष्‍ण", + "कृष्‍ण", + "कृष्‍ण", + "कृष्‍ण", + "कृष्‍ण", + "कृष्‍ण", + "कृष्‍ण", + "कृष्‍ण", + "कृष्‍ण", + "कृष्‍ण", + "कृष्‍ण", + "केशर", + "केशव", + "केशव", + "केशव", + "केशवलाल", + "केसर", + "कौशल", + "खगेन्द्र", + "खड्ग", + "गणेश", + "गोपाल", + "गोपाल", + "गोपी", + "गोविन्द", + "गोविन्द", + "गोविन्द", + "गौतम", + "चन्द", + "चन्द्र", + "चन्द्रेश", + "चिरञ्जीबि", + "चिरनजीवी", + "चैत्य", + "छवि", + "छेवाङ", + "जगनाथ", + "जगन्नाथ", + "जगन्नाथ", + "जगविर", + "जयन्त", + "जयन्द्र", + "जयराम", + "जितेन्द्र", + "जीबन", + "जुगल", + "ज्ञान", + "ज्ञानु", + "ज्ञानेश्‍वर", + "ज्योती", + "ज्योती", + "ज्‍योभान", + "टसी", + "टासी", + "टिका", + "टेक", + "डा.", + "डा.", + "डा.", + "डेनिस", + "तिर्थ", + "तेजश्‍वी", + "तोप्ला", + "तोलाराम", + "त्रिरत्‍न", + "थोकेल", + "दमोदर", + "दर्शन", + "दवा", + "दावा", + "दिगविजया", + "दिनेश", + "दिनेस", + "दिपक", + "दिपक", + "दिपक", + "दिपक", + "दिपक", + "दिपक", + "दिपक", + "दिपक", + "दिपक", + "दिपकस्वर", + "दिपीन", + "दिपेन्द्र", + "दिपेन्द्र", + "दिपेन्द्र", + "दिपेश", + "दिपेश", + "दिलिप", + "दिवाकर", + "दीपक", + "दीपेश", + "दुर्गा", + "देव", + "देवेन्द्र", + "देवेन्द्र", + "देवेन्द्र", + "देवेन्‍द्र", + "द्वारीका", + "धर्मेन्द्र", + "धिरज", + "ध्रुव", + "नबिन", + "नबिन्द्र", + "नरपल", + "नरभूपाल", + "नरेन्द्र", + "नरेन्द्र", + "नवराज", + "नविन", + "नविन", + "नारायण", + "नारायण", + "निमेश", + "निरज", + "निरज", + "निरोज", + "निर्भय", + "निर्मल", + "निर्मेश", + "पंकज", + "पंच", + "पवन", + "पवन", + "पारस", + "पासाङ्ग", + "पुरुषोत्तम", + "पुर्णभक्‍त", + "पुलकित", + "पुष्‍प", + "प्रकाश", + "प्रकाश", + "प्रकाश", + "प्रकाश", + "प्रकास", + "प्रजीत", + "प्रज्ञान", + "प्रज्वल", + "प्रदिप", + "प्रद्मुम्न", + "प्रफुल्ल", + "प्रभु", + "प्रमेश्‍वर", + "प्रमोद", + "प्रल्‍हाद", + "प्रविण", + "प्रवेश", + "प्रशान्त", + "प्रशान्न", + "प्रसङ्ग", + "प्रेम", + "फणिन्द्र", + "बद्रि", + "बद्री", + "बद्री", + "बनवारी", + "बबि", + "बबि", + "बलकिसन", + "बलराम", + "बल्लु", + "बसन्त", + "बासु", + "बासु", + "बिकाश", + "बिकास", + "बिराट", + "बुद्धि", + "बुध्द", + "भरत", + "भरत", + "भरत", + "भविन्‍द्र", + "भाइ", + "भुमा", + "भैया", + "भैरवलाल", + "भोला", + "मंजिल", + "मणी", + "मणीराज", + "मदन", + "मदन", + "मदन", + "मनिष", + "मनीष", + "मनोज", + "मनोज", + "मनोज", + "मनोज", + "मनोज", + "मनोहर", + "मनोहर", + "मन्ना", + "मयुश", + "महेन्द्र", + "महेश", + "महेश", + "महेश", + "महेश", + "महेश", + "माधव", + "माधव", + "मालचन्द", + "मित्र", + "मिनराज", + "मुकुन्द", + "मुकुन्‍द", + "मुकेश", + "मुख्या", + "मुरारीलाल", + "मेघ", + "मैत्री", + "मोती", + "मोती", + "मोहन", + "मोहन", + "मोहन", + "यश", + "याम", + "युवराज", + "योगेन्द्र", + "रजत", + "रतन", + "रत्‍न", + "रमण", + "रमेश", + "रमेश", + "रवि", + "रवि", + "रवि", + "रविन", + "रविन्द्र", + "रविन्द्र", + "रविन्द्र", + "रविन्द्र", + "राघव", + "राज", + "राजकुमार", + "राजन", + "राजन", + "राजिव", + "राजीव", + "राजु", + "राजु", + "राजु", + "राजु", + "राजु", + "राजु", + "राजेन्द्र", + "राजेन्द्र", + "राजेन्द्र", + "राजेन्द्र", + "राजेश", + "राजेश", + "राजेश", + "राजेश", + "राजेश", + "राजेश", + "राम", + "राम", + "राम", + "राम", + "राम", + "राम", + "राम", + "राम", + "राम", + "रामचन्द्र", + "रामजान", + "रामशरण", + "राहुल", + "राहुल", + "रा्जेन्द्र", + "रुपेश", + "रोजिन", + "रोजीन", + "रोमेन्‍द्र", + "रोहन", + "रौनक", + "लक्ष्मण", + "लक्ष्मी", + "लक्ष्‍मण", + "लव", + "लाल", + "लिटन", + "वसन्त", + "विकास", + "विक्रम", + "विजय", + "विजेश", + "विध्यामान", + "विनिल", + "विनोद", + "विनोद", + "विरभद्र", + "विरेन्द्र", + "विवेक", + "विवेक", + "विवेक", + "विश्‍व", + "विष्णु", + "विष्‍णु", + "वुष्‍कर", + "शंकर", + "शंकर", + "शंकर", + "शंकर", + "शक्ति", + "शचिन्द्र", + "शरद", + "शरद", + "शरद", + "शशी", + "शान्त", + "शाहिद", + "शिव", + "शिव", + "शुक्र", + "शुशान्त", + "शुशिल", + "शेलेन्‍द्र", + "शैलेन्द्र", + "शैलेन्द्र", + "शैलेस", + "श्याम", + "श्रीजङ्ग", + "श्रीवत्स", + "श्रेयस", + "श्‍याम", + "श्‍यामराज", + "संकर", + "संजय", + "संजय", + "संजिव", + "संजिव", + "संजीब", + "संजीव", + "संदिप", + "सगुन", + "सजन", + "सजेन्‍द्र", + "सन्जय", + "सन्जय", + "सन्जीब", + "सन्तोष", + "सफराज", + "समुन्‍द्र", + "सम्पुर्ण", + "सरोज", + "सरोज", + "सरोज", + "सर्वेश", + "सागर", + "सानु", + "सिद्धि", + "सीताराम", + "सुजन", + "सुजन", + "सुदन", + "सुदर्शन", + "सुधिर", + "सुनिल", + "सुनिल", + "सुनिल", + "सुनिल", + "सुन्दर", + "सुमन", + "सुमन", + "सुरज", + "सुरज", + "सुरज", + "सुरेन", + "सुरेन्द्र", + "सुरेन्‍द्र", + "सुरेश", + "सुरेश", + "सुरेश", + "सुरेश", + "सुवर्ण", + "सुवर्ण", + "सुवोध", + "सुशान्त", + "सुशिल", + "सुशिल", + "सृजन", + "सेखर", + "सैबी", + "सोम", + "सौरब", + "सौरभ", + "स्वागत", + "स‌ंजय", + "हरि", + "हरि", + "हरि", + "हरिहर", + "हर्क", + "हिरा", + "हिरा", + "हिरा", + "हिरेन्द्र", + "हेमन", + "हेमराज", ) first_names = first_names_male + first_names_female last_names = ( - 'अग्रवाल', 'नेपाल', 'न्यौपाने', 'महर्जन', 'श्रेष्‍ठ', 'थापा', - 'लामा', 'खड्गी', 'शाह', 'मानन्धर', 'मानन्‍धर', 'अग्रवाल', 'थापा', - 'रिमाल', 'अग्रवाल', 'सरीया', 'थापा', 'दुगल', 'महर्जन', 'बेगामी', - 'सिंह', 'गुरुङ्ग', 'पन्‍त', 'श्रेष्‍ठ', 'पाण्डे', 'महर्जन', 'जैन', - 'शाक्य', 'अग्रवाल', 'थापा', 'पाण्‍डे', 'मानन्धर', 'राजकर्णिकार', - 'रेग्मी', 'सरिया', 'पोखरेल', 'कार्की', 'अग्रवाल', 'भट्टराई', 'पौड्याल', - 'अग्रवाल', 'पाण्डे', 'उपाध्याय', 'र‌जितकार', 'अधिकारी', 'पाण्डे', - 'मानन्धर', 'पाण्‍डे', 'अग्रवाल', 'मुस्‍लीम', 'गुरुङ्ग', 'कक्षपती', - 'मानन्धर', 'मास्के', '(क्षेत्री)', 'थापा', 'सापकोटा', 'बोथरा', - 'श्रेष्‍ठ', 'श्रेष्‍ठ', 'भुसाल', 'पन्त', '(पाण्डे)', 'टिब्रेवाल', - 'श्रेष्‍ठ', 'बेगानी', 'पनेरु', 'श्रेष्ठ', 'राठौर', 'गुरुङ', 'पाण्डे', - 'महर्जन', 'मानन्धर', 'लामा', 'श्रेष्‍ठ', 'थापा', 'राणा', 'दुगड', - 'प्‍याकुरेल', 'अग्रवाल', 'अधिकारी', 'जोशी', 'गुरुङ्ग', 'सिलवाल', - 'सिल्वाल', 'पाण्डे', 'पौड्याल', 'घिमिरे', 'क्षेत्री', 'कर्माचार्य', - 'के.सी.', 'थापा', 'महर्जन', 'घिमिरे', 'डंगोल', 'श्रेष्‍ठ', 'श्रेष्‍ठ', - 'श्रेष्‍ठ', 'खत्री', 'साही', 'थापा', 'मल्ल', 'राजकर्णिकार', 'तिवारी', - 'मल्ल', 'श्रेष्‍ठ', 'श्रेष्ठ', 'प्रजापति', 'सिटौला', 'गिरी', '(धेके)', - 'के.सी.', 'शर्मा', 'दवाडी', 'श्रेष्‍ठ', 'मल्ल', 'सिल्वाल', 'शाक्य', - 'प्रधानाङ्ग', 'सुवाल', 'जैन', 'रिमाल', 'पौडेल', 'मानन्धर', 'जोशी', - 'गुरुङ्ग', 'पौडेल', 'आचार्य', 'तिवारी', 'महर्जन', 'दुगड', 'के.सी', - 'के.सी', 'मानन्धर', 'राणा', 'धनावत', 'मानन्धर', 'वज्राचार्य', - 'कक्षपति', 'बेगानी', 'भट्टराई', 'भुजू', 'घले', 'गुरुङ्ग', 'बगाले', - 'पोखरेल', 'थापा', 'थापा', 'महतो', 'लोहनी', 'श्रेष्‍ठ', 'शाही', - 'उक्याव', 'दुगड', 'राजकर्णिकार', 'गुरुङ्ग', 'शर्मा', 'जैन', 'गुरुङ', - 'बस्नेत', 'वज्राचार्य', 'मानन्‍धर', 'मैनाली', 'चौलागाई', 'न्यौपाने', - 'महर्जन', 'मानन्धर', 'राजकर्णिकार', 'सिंह', 'तुलाधर', 'अधिकारी', - 'श्रेष्‍ठ', 'अमात्य', 'महर्जन', 'अग्रवाल', 'के.सी', 'अग्रवाल', - 'अधिकारी', 'न्यौपाने', 'लामा', 'पौडेल', 'शाह', 'श्रेष्‍ठ', 'शर्मा', - 'शाक्य', 'पराजुली', 'शाही', 'श्रेष्‍ठ', 'पौडेल', 'न्यौपाने', 'मानन्धर', - 'सिंह', 'भट्टराई', 'सुनुवार', 'श्रेष्‍ठ', 'जैन', 'शाह', 'लोहनी', - 'तुलाधर', 'सिं‌खडा', 'प्रजापति', 'पोद्वार', 'के.सी', 'शर्मा', 'शर्मा', - 'श्रेष्ठ', 'सिंघल', 'के.सी.', 'देउजा', 'दाहाल', 'खनाल', 'पनेरु', - 'मानन्धर', 'गोयल', 'जोशी', 'अमात्‍य', 'शेर्पा', 'श्रेष्ठ', 'प्रधानाङ', - 'भिमसरिया', 'सुवाल', 'तण्डुकार', 'तुलाधर', 'गुरागाई', 'मानन्धर', - 'च्यामे', 'सी', 'गौतम', 'जोशी', 'शाह', 'श्रेष्‍ठ', 'श्रेष्ठ', 'गौतम', - 'साह', 'जोशी', 'गुरुङ', 'मोक्तान', 'राजकर्णिकार', 'सुवाल', 'श्रेष्‍ठ', - 'पन्त', 'डंगोल', 'उपाध्‍याय', 'प्रधान', 'खनाल', '(न्यौपाने)', 'मित्तल', - 'शर्मा', 'गडतौला', 'गोयल', 'रेग्मी', 'खड्गी', 'लोहनी', 'पाण्डेय', - 'लोहनी', 'पाण्डे', 'लिम्बु', 'शाही', 'राजकर्णिकार', 'डंगोल', 'सि‌ह', - 'मानन्धर', 'श्रेष्‍ठ', 'खत्री', 'हायाजु', 'पाण्डे', 'खनाल', - 'राजकर्णिकार', 'थापा', 'श्रेष्‍ठ', 'शाक्य', 'प्रजापती', 'खड्गी', - 'श्रेष्‍ठ', 'श्रेष्‍ठ', 'श्रेष्‍ठ', 'जैन', 'अग्रवाल', 'गौतम', 'रसायली', - 'खड्गी', 'सिलवाल', 'शाही', 'श्रेष्‍ठ', 'शाही', 'राजकर्णिकार', 'जैन', - 'मानन्धर', 'ज्ञवाली', 'भिमसरीया', 'ढङ्गेल', 'बस्नेत', 'प्याकुरेल', - 'पाण्डे', 'दुगड', 'राजकर्णिकार', 'पाण्डे', 'राजकर्णिकार', 'कुइकेल', - 'अग्रवाल', 'गुरुङ्ग', 'अग्रवाल', 'पौडेल', 'कंसाकार', 'दुगड', - 'श्रेष्‍ठ', 'भट्टराई', 'क्षेत्री', 'श्रेष्‍ठ', 'नाहटा', 'बस्नेत', - 'राजकर्णिकार', 'के.सी.', 'के.सी.', 'गुप्‍ता', 'बज्राचार्य', 'जोशी', - 'ज्ञवाली', 'पन्त', 'सिहं', 'गुप्‍ता', 'जोशी', 'शर्मा', 'के.सी', - 'देउजा', 'श्रेष्‍ठ', 'लोहनी', 'रेग्‍मी', 'क्षेत्री', 'श्रेष्‍ठ', - 'चालिसे', 'हायजु', 'मनन्धर', 'श्रेष्ठ', 'के.सी.', 'गुरुङ', 'मानन्धर', - 'राणा', 'श्रेष्‍ठ', 'मानन्धर', 'मानन्धर', 'काबरा', 'शाही', 'राठौर', - 'उपाध्याय', 'खनाल', 'चालिसे', 'तुलाधर', 'मगर', 'जैन', 'मल्‍ल', 'जैन', - 'राठी', 'अधिकारी', 'पन्‍त', 'गुरुङ्ग', 'थापा', 'पौडेल', 'सुवेदी', - 'अधिकारी', 'मुसलमान', 'किल्ला', 'मोक्तान', 'बस्न्यात', 'अधिकारी', - 'श्रेष्ठ', 'तुलाधर', 'बज्राचार्य', 'देउजा', 'शाक्य', 'श्रेष्‍ठ', - 'गुरुङ्ग', 'लेखक', 'खड्का', 'महर्जन', 'कार्की', 'थापा', 'श्रेष्‍ठ', - 'पन्त', 'राई', 'पाण्डे', 'लामा', 'डंगोल', 'मानन्धर', 'पन्‍त', - 'श्रेष्‍ठ', 'शाह', 'लोहनी', 'दुगड', 'लामा', 'श्रेष्‍ठ', 'शाह', - 'मानन्धर', 'अधिकारी', 'पाण्डे', 'शाह', 'उपाध्याय', 'देउजा', 'श्रेष्‍ठ', - 'बेगानी', 'शर्मा', 'गिरी', 'गुरुङ्ग', 'श्रेष्‍ठ', 'थापा', - 'राजकर्णिकार', 'आलम', 'अधिकारी', 'मानन्‍धर', 'श्रेष्ठ', 'श्रेष्‍ठ', - 'पाण्डे', 'रसायली', 'के.सी', 'राजकर्णिकार', 'श्रेष्‍ठ', 'ढकाल', - 'ठुकरी', 'ढुङ्गेल', 'राजकर्णिकार', 'भट्टराई', 'राजकर्णिकार', - 'श्रेष्ठ', 'नेपाल', 'महर्जन', 'गुरुङ्ग', 'शाह', 'श्रेष्‍ठ', 'सत्याल', - 'सिंह', 'मानन‍धर', 'श्रेष्‍ठ', 'श्रेष्‍ठ', 'नेपाली', 'शाह', 'शंकर', - 'सुनुवार', 'आलम', 'श्रेष्‍ठ', 'राजकर्णिकार', 'तुलाधर', 'देउजा', - '(श्रेष्‍ठ)', 'ज्ञवाली', 'तुलाधर', 'खड्गी', 'बज्राचार्य', 'पन्त', - 'हायजु', 'श्रेष्ठ', 'सिंह', 'गौतम', 'मित्तल', 'ठकुरी', 'थापा', - 'मानन्धर', 'न्यौपाने', '(अमात्य)', 'लामा', 'सिंह', 'थापा', 'मानन्धर', - 'ड‌ंगोल', 'मानन्धर', 'तुलाधर', 'रसाइली', 'अग्रवाल', 'जैन', 'श्रेष्‍ठ', - 'श्रेष्‍ठ', 'तिवारी', 'श्रेष्‍ठ', 'न्यौपाने', 'तिवारी', 'जैन', - 'ढुङ्गेल', 'मल्ल', 'गिरी', 'राजकर्णिकार', 'थापा', 'अग्रवाल', 'सिटौला', - 'थापा', 'कर्माचार्य', 'किराँत', 'सिंह', 'सिंह', 'जोशी', 'शाही', - 'दाहाल', 'महर्जन', 'महर्जन', 'जोशी', 'सिंह', 'जोशी', + "अग्रवाल", + "नेपाल", + "न्यौपाने", + "महर्जन", + "श्रेष्‍ठ", + "थापा", + "लामा", + "खड्गी", + "शाह", + "मानन्धर", + "मानन्‍धर", + "अग्रवाल", + "थापा", + "रिमाल", + "अग्रवाल", + "सरीया", + "थापा", + "दुगल", + "महर्जन", + "बेगामी", + "सिंह", + "गुरुङ्ग", + "पन्‍त", + "श्रेष्‍ठ", + "पाण्डे", + "महर्जन", + "जैन", + "शाक्य", + "अग्रवाल", + "थापा", + "पाण्‍डे", + "मानन्धर", + "राजकर्णिकार", + "रेग्मी", + "सरिया", + "पोखरेल", + "कार्की", + "अग्रवाल", + "भट्टराई", + "पौड्याल", + "अग्रवाल", + "पाण्डे", + "उपाध्याय", + "र‌जितकार", + "अधिकारी", + "पाण्डे", + "मानन्धर", + "पाण्‍डे", + "अग्रवाल", + "मुस्‍लीम", + "गुरुङ्ग", + "कक्षपती", + "मानन्धर", + "मास्के", + "(क्षेत्री)", + "थापा", + "सापकोटा", + "बोथरा", + "श्रेष्‍ठ", + "श्रेष्‍ठ", + "भुसाल", + "पन्त", + "(पाण्डे)", + "टिब्रेवाल", + "श्रेष्‍ठ", + "बेगानी", + "पनेरु", + "श्रेष्ठ", + "राठौर", + "गुरुङ", + "पाण्डे", + "महर्जन", + "मानन्धर", + "लामा", + "श्रेष्‍ठ", + "थापा", + "राणा", + "दुगड", + "प्‍याकुरेल", + "अग्रवाल", + "अधिकारी", + "जोशी", + "गुरुङ्ग", + "सिलवाल", + "सिल्वाल", + "पाण्डे", + "पौड्याल", + "घिमिरे", + "क्षेत्री", + "कर्माचार्य", + "के.सी.", + "थापा", + "महर्जन", + "घिमिरे", + "डंगोल", + "श्रेष्‍ठ", + "श्रेष्‍ठ", + "श्रेष्‍ठ", + "खत्री", + "साही", + "थापा", + "मल्ल", + "राजकर्णिकार", + "तिवारी", + "मल्ल", + "श्रेष्‍ठ", + "श्रेष्ठ", + "प्रजापति", + "सिटौला", + "गिरी", + "(धेके)", + "के.सी.", + "शर्मा", + "दवाडी", + "श्रेष्‍ठ", + "मल्ल", + "सिल्वाल", + "शाक्य", + "प्रधानाङ्ग", + "सुवाल", + "जैन", + "रिमाल", + "पौडेल", + "मानन्धर", + "जोशी", + "गुरुङ्ग", + "पौडेल", + "आचार्य", + "तिवारी", + "महर्जन", + "दुगड", + "के.सी", + "के.सी", + "मानन्धर", + "राणा", + "धनावत", + "मानन्धर", + "वज्राचार्य", + "कक्षपति", + "बेगानी", + "भट्टराई", + "भुजू", + "घले", + "गुरुङ्ग", + "बगाले", + "पोखरेल", + "थापा", + "थापा", + "महतो", + "लोहनी", + "श्रेष्‍ठ", + "शाही", + "उक्याव", + "दुगड", + "राजकर्णिकार", + "गुरुङ्ग", + "शर्मा", + "जैन", + "गुरुङ", + "बस्नेत", + "वज्राचार्य", + "मानन्‍धर", + "मैनाली", + "चौलागाई", + "न्यौपाने", + "महर्जन", + "मानन्धर", + "राजकर्णिकार", + "सिंह", + "तुलाधर", + "अधिकारी", + "श्रेष्‍ठ", + "अमात्य", + "महर्जन", + "अग्रवाल", + "के.सी", + "अग्रवाल", + "अधिकारी", + "न्यौपाने", + "लामा", + "पौडेल", + "शाह", + "श्रेष्‍ठ", + "शर्मा", + "शाक्य", + "पराजुली", + "शाही", + "श्रेष्‍ठ", + "पौडेल", + "न्यौपाने", + "मानन्धर", + "सिंह", + "भट्टराई", + "सुनुवार", + "श्रेष्‍ठ", + "जैन", + "शाह", + "लोहनी", + "तुलाधर", + "सिं‌खडा", + "प्रजापति", + "पोद्वार", + "के.सी", + "शर्मा", + "शर्मा", + "श्रेष्ठ", + "सिंघल", + "के.सी.", + "देउजा", + "दाहाल", + "खनाल", + "पनेरु", + "मानन्धर", + "गोयल", + "जोशी", + "अमात्‍य", + "शेर्पा", + "श्रेष्ठ", + "प्रधानाङ", + "भिमसरिया", + "सुवाल", + "तण्डुकार", + "तुलाधर", + "गुरागाई", + "मानन्धर", + "च्यामे", + "सी", + "गौतम", + "जोशी", + "शाह", + "श्रेष्‍ठ", + "श्रेष्ठ", + "गौतम", + "साह", + "जोशी", + "गुरुङ", + "मोक्तान", + "राजकर्णिकार", + "सुवाल", + "श्रेष्‍ठ", + "पन्त", + "डंगोल", + "उपाध्‍याय", + "प्रधान", + "खनाल", + "(न्यौपाने)", + "मित्तल", + "शर्मा", + "गडतौला", + "गोयल", + "रेग्मी", + "खड्गी", + "लोहनी", + "पाण्डेय", + "लोहनी", + "पाण्डे", + "लिम्बु", + "शाही", + "राजकर्णिकार", + "डंगोल", + "सि‌ह", + "मानन्धर", + "श्रेष्‍ठ", + "खत्री", + "हायाजु", + "पाण्डे", + "खनाल", + "राजकर्णिकार", + "थापा", + "श्रेष्‍ठ", + "शाक्य", + "प्रजापती", + "खड्गी", + "श्रेष्‍ठ", + "श्रेष्‍ठ", + "श्रेष्‍ठ", + "जैन", + "अग्रवाल", + "गौतम", + "रसायली", + "खड्गी", + "सिलवाल", + "शाही", + "श्रेष्‍ठ", + "शाही", + "राजकर्णिकार", + "जैन", + "मानन्धर", + "ज्ञवाली", + "भिमसरीया", + "ढङ्गेल", + "बस्नेत", + "प्याकुरेल", + "पाण्डे", + "दुगड", + "राजकर्णिकार", + "पाण्डे", + "राजकर्णिकार", + "कुइकेल", + "अग्रवाल", + "गुरुङ्ग", + "अग्रवाल", + "पौडेल", + "कंसाकार", + "दुगड", + "श्रेष्‍ठ", + "भट्टराई", + "क्षेत्री", + "श्रेष्‍ठ", + "नाहटा", + "बस्नेत", + "राजकर्णिकार", + "के.सी.", + "के.सी.", + "गुप्‍ता", + "बज्राचार्य", + "जोशी", + "ज्ञवाली", + "पन्त", + "सिहं", + "गुप्‍ता", + "जोशी", + "शर्मा", + "के.सी", + "देउजा", + "श्रेष्‍ठ", + "लोहनी", + "रेग्‍मी", + "क्षेत्री", + "श्रेष्‍ठ", + "चालिसे", + "हायजु", + "मनन्धर", + "श्रेष्ठ", + "के.सी.", + "गुरुङ", + "मानन्धर", + "राणा", + "श्रेष्‍ठ", + "मानन्धर", + "मानन्धर", + "काबरा", + "शाही", + "राठौर", + "उपाध्याय", + "खनाल", + "चालिसे", + "तुलाधर", + "मगर", + "जैन", + "मल्‍ल", + "जैन", + "राठी", + "अधिकारी", + "पन्‍त", + "गुरुङ्ग", + "थापा", + "पौडेल", + "सुवेदी", + "अधिकारी", + "मुसलमान", + "किल्ला", + "मोक्तान", + "बस्न्यात", + "अधिकारी", + "श्रेष्ठ", + "तुलाधर", + "बज्राचार्य", + "देउजा", + "शाक्य", + "श्रेष्‍ठ", + "गुरुङ्ग", + "लेखक", + "खड्का", + "महर्जन", + "कार्की", + "थापा", + "श्रेष्‍ठ", + "पन्त", + "राई", + "पाण्डे", + "लामा", + "डंगोल", + "मानन्धर", + "पन्‍त", + "श्रेष्‍ठ", + "शाह", + "लोहनी", + "दुगड", + "लामा", + "श्रेष्‍ठ", + "शाह", + "मानन्धर", + "अधिकारी", + "पाण्डे", + "शाह", + "उपाध्याय", + "देउजा", + "श्रेष्‍ठ", + "बेगानी", + "शर्मा", + "गिरी", + "गुरुङ्ग", + "श्रेष्‍ठ", + "थापा", + "राजकर्णिकार", + "आलम", + "अधिकारी", + "मानन्‍धर", + "श्रेष्ठ", + "श्रेष्‍ठ", + "पाण्डे", + "रसायली", + "के.सी", + "राजकर्णिकार", + "श्रेष्‍ठ", + "ढकाल", + "ठुकरी", + "ढुङ्गेल", + "राजकर्णिकार", + "भट्टराई", + "राजकर्णिकार", + "श्रेष्ठ", + "नेपाल", + "महर्जन", + "गुरुङ्ग", + "शाह", + "श्रेष्‍ठ", + "सत्याल", + "सिंह", + "मानन‍धर", + "श्रेष्‍ठ", + "श्रेष्‍ठ", + "नेपाली", + "शाह", + "शंकर", + "सुनुवार", + "आलम", + "श्रेष्‍ठ", + "राजकर्णिकार", + "तुलाधर", + "देउजा", + "(श्रेष्‍ठ)", + "ज्ञवाली", + "तुलाधर", + "खड्गी", + "बज्राचार्य", + "पन्त", + "हायजु", + "श्रेष्ठ", + "सिंह", + "गौतम", + "मित्तल", + "ठकुरी", + "थापा", + "मानन्धर", + "न्यौपाने", + "(अमात्य)", + "लामा", + "सिंह", + "थापा", + "मानन्धर", + "ड‌ंगोल", + "मानन्धर", + "तुलाधर", + "रसाइली", + "अग्रवाल", + "जैन", + "श्रेष्‍ठ", + "श्रेष्‍ठ", + "तिवारी", + "श्रेष्‍ठ", + "न्यौपाने", + "तिवारी", + "जैन", + "ढुङ्गेल", + "मल्ल", + "गिरी", + "राजकर्णिकार", + "थापा", + "अग्रवाल", + "सिटौला", + "थापा", + "कर्माचार्य", + "किराँत", + "सिंह", + "सिंह", + "जोशी", + "शाही", + "दाहाल", + "महर्जन", + "महर्जन", + "जोशी", + "सिंह", + "जोशी", ) - prefixes_female = ('श्रीमती', 'सुश्री') - prefixes_male = ('श्री', 'श्रीमान') + prefixes_female = ("श्रीमती", "सुश्री") + prefixes_male = ("श्री", "श्रीमान") diff --git a/faker/providers/person/nl_NL/__init__.py b/faker/providers/person/nl_NL/__init__.py index e330ad3b17..970fb4ef04 100644 --- a/faker/providers/person/nl_NL/__init__.py +++ b/faker/providers/person/nl_NL/__init__.py @@ -6,308 +6,1655 @@ class Provider(PersonProvider): # http://en.wikipedia.org/wiki/Dutch_name#Dutch_naming_law_.28surnames.29 # by adding a "-" between the two last names when someone is married formats = ( - '{{first_name_male}} {{last_name}}', - '{{first_name_male}} {{last_name}}', - '{{first_name_male}} {{last_name}}', - '{{first_name_male}} {{last_name}}-{{last_name}}', - '{{first_name_female}} {{last_name}}', - '{{first_name_female}} {{last_name}}', - '{{first_name_female}} {{last_name}}', - '{{first_name_female}} {{last_name}}-{{last_name}}', + "{{first_name_male}} {{last_name}}", + "{{first_name_male}} {{last_name}}", + "{{first_name_male}} {{last_name}}", + "{{first_name_male}} {{last_name}}-{{last_name}}", + "{{first_name_female}} {{last_name}}", + "{{first_name_female}} {{last_name}}", + "{{first_name_female}} {{last_name}}", + "{{first_name_female}} {{last_name}}-{{last_name}}", ) first_names_male = ( - 'Aaron', 'Abel', 'Adam', 'Aiden', 'Alex', 'Alexander', 'Ali', 'Amin', - 'Amir', 'Arie', 'Aron', 'Arthur', 'Ayden', 'Ayoub', 'Bart', 'Bas', - 'Bastiaan', 'Beau', 'Ben', 'Benjamin', 'Berat', 'Berend', 'Bilal', - 'Bjorn', 'Boaz', 'Boris', 'Bradley', 'Bram', 'Brent', 'Brian', 'Bryan', - 'Cas', 'Casper', 'Chris', 'Colin', 'Collin', 'Cornelis', 'Daan', - 'Damian', 'Dani', 'Daniel', 'Daniël', 'Dave', 'David', 'Dean', 'Dex', - 'Dion', 'Dirk', 'Duuk', 'Dylan', 'Dylano', 'Elias', 'Emir', 'Faas', - 'Fabian', 'Fedde', 'Felix', 'Finn', 'Florian', 'Floris', 'Gerrit', - 'Giel', 'Gijs', 'Giovanni', 'Guus', 'Hamza', 'Hendrik', 'Hidde', - 'Hugo', 'Ian', 'Ibrahim', 'Imran', 'Ivan', 'Jack', 'Jacob', 'Jake', - 'James', 'Jamie', 'Jan', 'Jari', 'Jason', 'Jasper', 'Jay', 'Jayden', - 'Jayson', 'Jelle', 'Jelte', 'Jens', 'Jesper', 'Jesse', 'Jim', 'Jip', - 'Job', 'Joep', 'Joey', 'Johannes', 'Jonas', 'Jonathan', 'Joost', - 'Jordy', 'Joris', 'Jorn', 'Jort', 'Joshua', 'Joël', 'Jules', 'Julian', - 'Julius', 'Jurre', 'Justin', 'Kai', 'Kay', 'Keano', 'Kevin', 'Kian', - 'Kick', 'Koen', 'Kyan', 'Kyano', 'Lars', 'Laurens', 'Lenn', 'Leon', - 'Levi', 'Lex', 'Liam', 'Loek', 'Lorenzo', 'Luc', 'Luca', 'Lucas', - 'Luka', 'Lukas', 'Luke', 'Luuk', 'Maarten', 'Mads', 'Marijn', - 'Marinus', 'Mark', 'Mart', 'Mason', 'Mathijs', 'Mats', 'Matthias', - 'Matthijs', 'Maurits', 'Max', 'Maxim', 'Mees', 'Mehmet', 'Melle', - 'Merijn', 'Micha', 'Michael', 'Mick', 'Mika', 'Mike', 'Milan', 'Milo', - 'Mohamed', 'Mohammed', 'Morris', 'Muhammed', 'Mustafa', 'Nathan', - 'Naud', 'Nick', 'Niek', 'Niels', 'Noah', 'Noud', 'Nout', 'Olaf', - 'Olivier', 'Oscar', 'Owen', 'Pepijn', 'Philip', 'Pieter', 'Pim', - 'Quinn', 'Quinten', 'Raf', 'Rafael', 'Ravi', 'Rayan', 'Rens', 'Rick', - 'Rik', 'Riley', 'Roan', 'Robin', 'Rowan', 'Ruben', 'Ryan', 'Sam', - 'Sami', 'Samuel', 'Sander', 'Sebastiaan', 'Sem', 'Senn', 'Senna', - 'Sep', 'Sepp', 'Seth', 'Siem', 'Sil', 'Simon', 'Sjoerd', 'Stan', - 'Stef', 'Stefan', 'Sten', 'Stijn', 'Sven', 'Teun', 'Thijmen', 'Thijn', - 'Thijs', 'Thom', 'Thomas', 'Ties', 'Tijmen', 'Tijn', 'Tijs', 'Tim', - 'Timo', 'Tobias', 'Tom', 'Tristan', 'Twan', 'Tycho', 'Tygo', 'Tyler', - 'Valentijn', 'Victor', 'Vigo', 'Vince', 'Vincent', 'Wesley', 'Wessel', - 'Willem', 'Wout', 'Wouter', 'Xavi', 'Yassin', 'Youssef', 'Yusuf', - 'Zakaria', + "Aaron", + "Abel", + "Adam", + "Aiden", + "Alex", + "Alexander", + "Ali", + "Amin", + "Amir", + "Arie", + "Aron", + "Arthur", + "Ayden", + "Ayoub", + "Bart", + "Bas", + "Bastiaan", + "Beau", + "Ben", + "Benjamin", + "Berat", + "Berend", + "Bilal", + "Bjorn", + "Boaz", + "Boris", + "Bradley", + "Bram", + "Brent", + "Brian", + "Bryan", + "Cas", + "Casper", + "Chris", + "Colin", + "Collin", + "Cornelis", + "Daan", + "Damian", + "Dani", + "Daniel", + "Daniël", + "Dave", + "David", + "Dean", + "Dex", + "Dion", + "Dirk", + "Duuk", + "Dylan", + "Dylano", + "Elias", + "Emir", + "Faas", + "Fabian", + "Fedde", + "Felix", + "Finn", + "Florian", + "Floris", + "Gerrit", + "Giel", + "Gijs", + "Giovanni", + "Guus", + "Hamza", + "Hendrik", + "Hidde", + "Hugo", + "Ian", + "Ibrahim", + "Imran", + "Ivan", + "Jack", + "Jacob", + "Jake", + "James", + "Jamie", + "Jan", + "Jari", + "Jason", + "Jasper", + "Jay", + "Jayden", + "Jayson", + "Jelle", + "Jelte", + "Jens", + "Jesper", + "Jesse", + "Jim", + "Jip", + "Job", + "Joep", + "Joey", + "Johannes", + "Jonas", + "Jonathan", + "Joost", + "Jordy", + "Joris", + "Jorn", + "Jort", + "Joshua", + "Joël", + "Jules", + "Julian", + "Julius", + "Jurre", + "Justin", + "Kai", + "Kay", + "Keano", + "Kevin", + "Kian", + "Kick", + "Koen", + "Kyan", + "Kyano", + "Lars", + "Laurens", + "Lenn", + "Leon", + "Levi", + "Lex", + "Liam", + "Loek", + "Lorenzo", + "Luc", + "Luca", + "Lucas", + "Luka", + "Lukas", + "Luke", + "Luuk", + "Maarten", + "Mads", + "Marijn", + "Marinus", + "Mark", + "Mart", + "Mason", + "Mathijs", + "Mats", + "Matthias", + "Matthijs", + "Maurits", + "Max", + "Maxim", + "Mees", + "Mehmet", + "Melle", + "Merijn", + "Micha", + "Michael", + "Mick", + "Mika", + "Mike", + "Milan", + "Milo", + "Mohamed", + "Mohammed", + "Morris", + "Muhammed", + "Mustafa", + "Nathan", + "Naud", + "Nick", + "Niek", + "Niels", + "Noah", + "Noud", + "Nout", + "Olaf", + "Olivier", + "Oscar", + "Owen", + "Pepijn", + "Philip", + "Pieter", + "Pim", + "Quinn", + "Quinten", + "Raf", + "Rafael", + "Ravi", + "Rayan", + "Rens", + "Rick", + "Rik", + "Riley", + "Roan", + "Robin", + "Rowan", + "Ruben", + "Ryan", + "Sam", + "Sami", + "Samuel", + "Sander", + "Sebastiaan", + "Sem", + "Senn", + "Senna", + "Sep", + "Sepp", + "Seth", + "Siem", + "Sil", + "Simon", + "Sjoerd", + "Stan", + "Stef", + "Stefan", + "Sten", + "Stijn", + "Sven", + "Teun", + "Thijmen", + "Thijn", + "Thijs", + "Thom", + "Thomas", + "Ties", + "Tijmen", + "Tijn", + "Tijs", + "Tim", + "Timo", + "Tobias", + "Tom", + "Tristan", + "Twan", + "Tycho", + "Tygo", + "Tyler", + "Valentijn", + "Victor", + "Vigo", + "Vince", + "Vincent", + "Wesley", + "Wessel", + "Willem", + "Wout", + "Wouter", + "Xavi", + "Yassin", + "Youssef", + "Yusuf", + "Zakaria", ) first_names_female = ( - 'Aaliyah', 'Adriana', 'Aimée', 'Alicia', 'Alyssa', 'Amber', 'Amelia', - 'Amina', 'Amira', 'Amy', 'Amélie', 'Angelina', 'Anna', 'Annabel', - 'Anne', 'Annemijn', 'Anouk', 'Ashley', 'Aya', 'Aylin', 'Azra', 'Bente', - 'Benthe', 'Bibi', 'Bo', 'Britt', 'Carlijn', 'Catharina', 'Cato', - 'Ceylin', 'Charlotte', 'Chloé', 'Chloë', 'Cornelia', 'Dana', 'Danique', - 'Daphne', 'Demi', 'Dewi', 'Dina', 'Ecrin', 'Elena', 'Elif', 'Elin', - 'Eline', 'Elisa', 'Elisabeth', 'Elise', 'Eliza', 'Elizabeth', 'Elize', - 'Ella', 'Emily', 'Emma', 'Esila', 'Esmee', 'Esmée', 'Esther', 'Eva', - 'Evelien', 'Evi', 'Evie', 'Evy', 'Fabiënne', 'Fatima', 'Fay', 'Faye', - 'Feline', 'Fem', 'Femke', 'Fenna', 'Fenne', 'Fien', 'Fiene', 'Fleur', - 'Floor', 'Floortje', 'Frederique', 'Féline', 'Guusje', 'Hailey', - 'Hanna', 'Hannah', 'Helena', 'Ilse', 'Imke', 'Inaya', 'Indy', 'Iris', - 'Isa', 'Isabel', 'Isabella', 'Isabelle', 'Ise', 'Isis', 'Ivy', 'Ize', - 'Jade', 'Janna', 'Janne', 'Jasmijn', 'Jayda', 'Jaylinn', 'Jenna', - 'Jennifer', 'Jente', 'Jet', 'Jill', 'Jinthe', 'Johanna', 'Jolie', - 'Jolijn', 'Josephine', 'Joy', 'Joëlle', 'Julia', 'Julie', 'Juliette', - 'Juul', 'Karlijn', 'Kate', 'Kaylee', 'Kayleigh', 'Kiki', 'Kim', - 'Kyara', 'Kyra', 'Lana', 'Lara', 'Laura', 'Lauren', 'Leah', 'Lena', - 'Lieke', 'Lieve', 'Lily', 'Lina', 'Linde', 'Lindsey', 'Linn', 'Lisa', - 'Lisanne', 'Lise', 'Liv', 'Livia', 'Liz', 'Liza', 'Lize', 'Lizz', - 'Lizzy', 'Loes', 'Lois', 'Lola', 'Lot', 'Lotte', 'Louise', 'Loïs', - 'Lucy', 'Luna', 'Lynn', 'Maaike', 'Maartje', 'Madelief', 'Maja', - 'Mara', 'Mare', 'Maria', 'Marit', 'Maryam', 'Maud', 'Maya', 'Megan', - 'Meike', 'Melissa', 'Merel', 'Merle', 'Mette', 'Mia', 'Michelle', - 'Mila', 'Milou', 'Mirte', 'Mirthe', 'Myrthe', 'Nadia', 'Nadine', - 'Naomi', 'Nienke', 'Nikki', 'Nina', 'Ninthe', 'Nisa', 'Noa', 'Noor', - 'Noortje', 'Nora', 'Norah', 'Nova', 'Noëlle', 'Nynke', 'Olivia', - 'Phileine', 'Pien', 'Pippa', 'Pleun', 'Puck', 'Puk', 'Quinty', - 'Renske', 'Robin', 'Romy', 'Roos', 'Rosa', 'Rosalie', 'Saar', 'Sam', - 'Sanne', 'Sara', 'Sarah', 'Selena', 'Selina', 'Senna', 'Sienna', - 'Silke', 'Sofia', 'Sofie', 'Sophia', 'Sophie', 'Stella', 'Sterre', - 'Suus', 'Suze', 'Sylvie', 'Tara', 'Tess', 'Tessa', 'Tirza', 'Vajèn', - 'Valerie', 'Veerle', 'Vera', 'Victoria', 'Yara', 'Yasmin', 'Yasmine', - 'Yfke', 'Yinthe', 'Zara', 'Zeynep', 'Zoey', 'Zoë', + "Aaliyah", + "Adriana", + "Aimée", + "Alicia", + "Alyssa", + "Amber", + "Amelia", + "Amina", + "Amira", + "Amy", + "Amélie", + "Angelina", + "Anna", + "Annabel", + "Anne", + "Annemijn", + "Anouk", + "Ashley", + "Aya", + "Aylin", + "Azra", + "Bente", + "Benthe", + "Bibi", + "Bo", + "Britt", + "Carlijn", + "Catharina", + "Cato", + "Ceylin", + "Charlotte", + "Chloé", + "Chloë", + "Cornelia", + "Dana", + "Danique", + "Daphne", + "Demi", + "Dewi", + "Dina", + "Ecrin", + "Elena", + "Elif", + "Elin", + "Eline", + "Elisa", + "Elisabeth", + "Elise", + "Eliza", + "Elizabeth", + "Elize", + "Ella", + "Emily", + "Emma", + "Esila", + "Esmee", + "Esmée", + "Esther", + "Eva", + "Evelien", + "Evi", + "Evie", + "Evy", + "Fabiënne", + "Fatima", + "Fay", + "Faye", + "Feline", + "Fem", + "Femke", + "Fenna", + "Fenne", + "Fien", + "Fiene", + "Fleur", + "Floor", + "Floortje", + "Frederique", + "Féline", + "Guusje", + "Hailey", + "Hanna", + "Hannah", + "Helena", + "Ilse", + "Imke", + "Inaya", + "Indy", + "Iris", + "Isa", + "Isabel", + "Isabella", + "Isabelle", + "Ise", + "Isis", + "Ivy", + "Ize", + "Jade", + "Janna", + "Janne", + "Jasmijn", + "Jayda", + "Jaylinn", + "Jenna", + "Jennifer", + "Jente", + "Jet", + "Jill", + "Jinthe", + "Johanna", + "Jolie", + "Jolijn", + "Josephine", + "Joy", + "Joëlle", + "Julia", + "Julie", + "Juliette", + "Juul", + "Karlijn", + "Kate", + "Kaylee", + "Kayleigh", + "Kiki", + "Kim", + "Kyara", + "Kyra", + "Lana", + "Lara", + "Laura", + "Lauren", + "Leah", + "Lena", + "Lieke", + "Lieve", + "Lily", + "Lina", + "Linde", + "Lindsey", + "Linn", + "Lisa", + "Lisanne", + "Lise", + "Liv", + "Livia", + "Liz", + "Liza", + "Lize", + "Lizz", + "Lizzy", + "Loes", + "Lois", + "Lola", + "Lot", + "Lotte", + "Louise", + "Loïs", + "Lucy", + "Luna", + "Lynn", + "Maaike", + "Maartje", + "Madelief", + "Maja", + "Mara", + "Mare", + "Maria", + "Marit", + "Maryam", + "Maud", + "Maya", + "Megan", + "Meike", + "Melissa", + "Merel", + "Merle", + "Mette", + "Mia", + "Michelle", + "Mila", + "Milou", + "Mirte", + "Mirthe", + "Myrthe", + "Nadia", + "Nadine", + "Naomi", + "Nienke", + "Nikki", + "Nina", + "Ninthe", + "Nisa", + "Noa", + "Noor", + "Noortje", + "Nora", + "Norah", + "Nova", + "Noëlle", + "Nynke", + "Olivia", + "Phileine", + "Pien", + "Pippa", + "Pleun", + "Puck", + "Puk", + "Quinty", + "Renske", + "Robin", + "Romy", + "Roos", + "Rosa", + "Rosalie", + "Saar", + "Sam", + "Sanne", + "Sara", + "Sarah", + "Selena", + "Selina", + "Senna", + "Sienna", + "Silke", + "Sofia", + "Sofie", + "Sophia", + "Sophie", + "Stella", + "Sterre", + "Suus", + "Suze", + "Sylvie", + "Tara", + "Tess", + "Tessa", + "Tirza", + "Vajèn", + "Valerie", + "Veerle", + "Vera", + "Victoria", + "Yara", + "Yasmin", + "Yasmine", + "Yfke", + "Yinthe", + "Zara", + "Zeynep", + "Zoey", + "Zoë", ) first_names = first_names_male + first_names_female last_names = ( - "'s Gravensande", 'Aalts', 'Aarden', 'Aarts', 'Adelaar', 'Adriaansen', - 'Adriaensdr', 'Adriaense', 'Adryaens', 'Aeije', 'Aelftrud van Wessex', - 'Aertsz', 'Alpaidis', 'Amalrada', 'Ansems', 'Appelman', 'Arens', - 'Arent', 'Ariens', 'Ariens Ansems', 'Arnold', 'Arts', 'Aschman', - 'Backer', 'Bakker', 'Barents', 'Bartels', 'Bastiaanse', 'Bastiaense', - 'Bave', 'Becht', 'Beekman', 'Beernink', 'Beijring', 'Bekbergen', - 'Bellemans', 'Belpere', 'Beourgeois', 'Berends', 'Berendse', - 'Bernaards', 'Bertho', 'Bezemer', 'Bierstraten', 'Bijlsma', 'Billung', - 'Blaak', 'Blees', 'Bleijenberg', 'Blewanus', 'Bloemendaal', 'Blokland', - 'Blom', 'Blom', 'Blonk', 'Boddaugh', 'Boer', 'Boer', 'Boers', 'Boeser', - 'Boetet', 'Bolkesteijn', 'Booden', 'Boogaerts', 'Borman', 'Bos', 'Bos', - 'Bosch', 'Bosch', 'Bosman', 'Boudewijns', 'Bouhuizen', - 'Bourgondië, van', 'Bouthoorn', 'Bouwhuisen', 'Brandon', 'Brands', - 'Brandt', 'Bresse', 'Bresé', 'Breugelensis', 'Briere', 'Brievingh', - 'Brisee', 'Brizee', 'Broeckx', 'Broeders', 'Broek', 'Broekhoven', - 'Broeshart', 'Bronder', 'Brouwer', 'Brouwer', 'Bruggeman', 'Brugman', - 'Bruijne van der Veen', 'Brumleve', 'Bruynzeels', 'Bud', 'Buijs', - 'Butselaar', 'Bökenkamp', 'Cadefau', 'Cammel', 'Cant', 'Carnotte', - 'Charon', 'Chevresson', 'Chotzen', 'Chrodtrud', 'Claassen', 'Claesdr', - 'Claesner', 'Coenen', 'Coolen', 'Coret', 'Coret-Coredo', - 'Coreth von und zu Coredo und Starkenberg', 'Cornelisse', - 'Cornelissen', 'Cornelisz', 'Corstiaens', 'Cosman', 'Courtier', - 'Dachgelder', 'Dachgeldt', 'Dachgelt', 'David', 'Dekker', 'Dekker', - 'Demmendaal', 'Dennenberg', 'Die Bont', 'Diesbergen', 'Dijkman', - 'Dijkstra', 'Dircken', 'Dirksen', 'Dirven', 'Doesburg', 'Doorhof', - 'Doornhem', 'Dorsman', 'Doyle', 'Draaisma', 'Dries', 'Driessen', - 'Drysdale', 'Dubois', 'Duivenvoorden', 'Eckhardt', 'Eelman', 'Eerden', - 'Ehlert', 'Eijkelboom', 'Elberts', 'Elbertse', 'Ellis', 'Elsemulder', - 'Elsenaar', 'Emmen', 'Engels', 'Erhout', 'Ernst', 'Estey', 'Everde', - 'Evers', 'Everts', 'Fechant', 'Feenstra', 'Feltzer', 'Ferran', 'Fiere', - 'Flink', 'Fortuyn', 'Frankhuizen', 'François', 'Françoise', 'Fredriks', - 'Fremie', 'Frerichs', 'Freshour', 'Friehus', 'Furda', 'Galenzone', - 'Galijn', 'Garret', 'Geerling', 'Geerts', 'Geertsen', 'Geldens', - 'Gellemeyer', 'Gemen', 'Geneart', 'Genefaas', 'Gepa van Bourgondië', - 'Gerrits', 'Gerritse', 'Gerritsen', 'Gervais', 'Ghoerle', 'Giselmeyer', - 'Glasses', 'Gnodde', 'Goderts', 'Godfrey van Alemannië', 'Goedhart', - 'Goudriaan', 'Govarts', 'Goyaerts van Waderle', 'Greij', 'Groen', - 'Groenendaal', 'Groenestein', 'Grondel', 'Groote', 'Gruijl', 'Guit', - 'Haack', 'Haengreve', 'Hagendoorn', 'Hak', 'Hakker', 'Haneberg', - 'Hanegraaff', 'Haring', 'Haselaar', 'Hazenveld', 'Heere', 'Heerkens', - 'Heerschop', 'Hehl', 'Heijman', 'Heijmans', 'Heijmen', 'Heinrichs', - 'Hekker', 'Hellevoort', 'Helmerhorst', 'Hemma van Allemanië', - 'Hendricks', 'Hendriks', 'Hendriks', 'Hendrikse', - 'Henric van den Nuwenhuse', 'Heribert van Laon', 'Hermans', 'Hermans', - 'Hexspoor', 'Heymans', 'Heyne', 'Hoedemakers', 'Hoeks', 'Hoekstra', - 'Hoelen', 'Hoes', 'Hofman', 'Hollander', 'Holthuis', 'Hondeveld', - 'Honing', 'Hoogers', 'Hoppenbrouwer', 'Horrocks', 'Houdijk', 'Huberts', - 'Huel', 'Huijben', 'Huijbrechts', 'Huijs', 'Huijzing', 'Huisman', - 'Huisman', 'Huls', 'Hulshouts', 'Hulskes', 'Hulst', 'Huurdeman', - 'Höning', 'Jaceps', 'Jacobi', 'Jacobs', 'Jacobs', 'Jacquot', 'Jans', - 'Jansdr', 'Janse', 'Jansen', 'Jansen', 'Jansen', 'Jansse', 'Janssen', - 'Janssen', 'Janssens', 'Jasperdr.', 'Jdotte', 'Jeggij', 'Jekel', - 'Jerusalem', 'Jochems', 'Jones', 'Jonker', 'Jonkman', 'Joosten', - 'Jorlink', 'Jorrisen', 'Jurrijens', 'Kallen', 'Kalman', 'Kamp', - 'Kamper', 'Karels', 'Kas', 'Kathagen', 'Keijser', 'Keijzer', - 'Keltenie', 'Kerkhof', 'Ketel', 'Ketting', 'Kirpenstein', 'Kisman', - 'Kleibrink', 'Kleijse', 'Klein', 'Klerks', 'Kleybrink', 'Klomp Jan', - 'Kloppert', 'Knoers', 'Knuf', 'Koeman', 'Kof', 'Kok', 'Kok', 'Kolen', - 'Kolster', 'Koning', 'Konings', 'Koret', 'Korsman', 'Korstman', 'Kort', - 'Kortman', 'Kosten', 'Koster', 'Koster', 'Krabbe', 'Kramer', 'Kremer', - 'Kriens', 'Kronenberg', 'Kruns', 'Kuijpers', 'Kuijpers', 'Kuilenburg', - 'Kuiper', 'Kuipers', 'Kuit', 'Kunen', 'Kwaadland', 'Köster', 'Labado', - 'Laffray', 'Lafleur', 'Lage', 'Lagerweij', 'Lambers', 'Lambregt', - 'Lamore', 'Lamotte', 'Langevoort', 'Lankle', 'Lansink', 'Lathrope', - 'Latier', 'Le Grand', 'Le Marec', 'Leene', 'Leguit', 'Lelijveld', - 'Lemmens', 'Lensen', 'Lether', 'Levesque', 'Lieshout', 'Ligtvoet', - 'Lijn', 'Lind', 'Linschoten', 'Lips', 'Loep', 'Lommert', 'Lonen', - 'Loreal', 'Lorreijn', 'Louws', 'Luboch', 'Lucas', - 'Luitgardis van Neustrië', 'Luster', 'Lutterveld', 'Maas', 'Maas', - 'Maaswinkel', 'Mahieu', 'Mallien', 'Mangel', 'Manne', 'Mansveld', - 'Mansvelt', 'Marceron', 'Marchal', 'Marchand', 'Martel', 'Martens', - 'Martens', 'Massa', 'Mater', 'Mathieu', 'Mathol', 'Mathurin', - 'Matthews', 'Meeres', 'Meeusen', 'Meijer', 'Meijer', 'Meis', 'Melet', - 'Mens', 'Mercks', 'Merckx', 'Merkx', 'Meyer', 'Meyer', 'Michiels', - 'Michielsen', 'Middelkoop', 'Mijsberg', 'Miltenburg', 'Miner', - 'Moenen', 'Moensendijk', 'Moet', 'Mol', 'Mol', 'Molegraaf', 'Molen', - 'Molenaar', 'Momberg', 'Mosley', 'Mudden', 'Muijs', 'Mulder', 'Mulder', - 'Mulders', 'Muller', 'Nedermeijer', 'Nek', 'Neuteboom', 'Neuzerling', - 'Niermann', 'Nieuwstraten', 'Nihoe', 'Nijman', 'Nollee', 'Noordijk', - 'Oda', 'Oemencs', 'Oennen', 'Olthof', 'Olykan', 'Ooms', 'Oosterhek', - 'Oosterhout', 'Oostveen', 'Opmans', 'Osterhoudt', 'Otte', 'Otto', - 'Oude Heer', 'Ouwel', 'Ouwerkerk', 'Overdijk', 'Overeem', 'Oversteeg', - 'Paillet', 'Palman', 'Pasman', 'Passchiers', 'Pastoors', 'Pauwels', - 'Peeters', 'Perck', 'Perkins', 'Peronne', 'Perrono', 'Persijn', - 'Peters', 'Peterse', 'Phillipsen', 'Pierson', 'Pieters', - 'Pieters van der Maes', 'Pison', 'Poncelet', 'Ponci', 'Pons', 'Post', - 'Post', 'Postma', 'Potters', 'Pratt', 'Prins', 'Prinsen', 'Puig', - 'Rackham', 'Rademaker', 'Ramaker', 'Recer', 'Recers', 'Rehorst', - 'Reijers', 'Reimes', 'Rek', 'Remmers', 'Ridder', 'Riem', 'Rietveld', - 'Rijcken', 'Rijks', 'Rijn', 'Rijntjes', 'Rippey', 'Risma', - 'Robbrechts Bruijne', 'Roessink', 'Romijn', 'Roodesteijn', 'Room', - 'Roose', 'Roosenboom', 'Rotteveel', 'Roukes', 'Rousselet', - 'Rouwenhorst', 'Rouwhorst', 'Rubben', 'Ruijs', 'Rutten', 'Salet', - 'Sam', 'Sanders', 'Sanders', 'Sarneel', 'Sas', 'Saxo', 'Scardino', - 'Schagen', 'Schakelaar', 'Scharroo', 'Schatteleijn', 'Scheer', - 'Scheffers', 'Schellekens', 'Schelvis', 'Schenk', 'Schenkel', - 'Scherms', 'Schiffer', 'Schilt', 'Schipper', 'Schokman', 'Scholten', - 'Scholten', 'Schotte', 'Schouten', 'Schrant', 'Schrik', 'Schroeff', - 'Schulten', 'Schuurmans', 'Schuylenborch', 'Schwartsbach', - 'Scuylenborchs', 'Segerszoen', 'Serra', 'Sestig', 'Shupe', 'Simonis', - 'Simons', 'Sire', 'Sitters', 'Slaetsdochter', 'Slagmolen', - 'Slingerland', 'Smeets', 'Smit', 'Smit', 'Smith', 'Smits', 'Smits', - 'Soos', 'Spaan', 'Spanhaak', 'Speijer', 'Spier', 'Spies', 'Spiker', - 'Spreeuw', 'Sprong', 'Spruit', 'Spruyt', 'Stamrood', 'Stange', - 'Steenbakkers', 'Steenbeek', 'Steinmeiern', 'Sterkman', 'Stettyn', - 'Stichter', 'Stinis', 'Stoffel', 'Stoffelsz', 'Stook', 'Strijker', - 'Strik', 'Stuivenberg', 'Suijker', 'Symons', 'Takkelenburg', - 'Tammerijn', 'Tamsma', 'Terry', 'Teunissen', 'Texier', 'Thatcher', - 'The Elder', 'Thomas', 'Thout', 'Tielemans', 'Tillmanno', 'Timmerman', - 'Timmermans', 'Timmermans', 'Tins', 'Tirie', 'Totwiller', 'Tuithof', - 'Uit de Willigen', 'Uittenbosch', 'Ulrich', 'Unruoch Hunerik', - 'Uphaus', 'Uphuis', 'Uphus', 'VI', 'Vaessen', 'Vallenduuk', - 'Van Bragt', 'Vandenbergh', 'Vastenhouw', 'Veenendaal', 'Veenstra', - 'Vegt', 'Velderman', 'Veltman', 'Verbeeck', 'Verbeek', 'Verbeek', - 'Verboom', 'Verbruggen', 'Verda', 'Vergeer', 'Verhaar', 'Verhagen', - 'Verharen', 'Verheij', 'Verheuvel', 'Verhoeven', 'Verhoeven', - 'Verkade', 'Vermeulen', 'Vermeulen', 'Verschuere', 'Verschut', - 'Versluijs', 'Vertoor', 'Vertooren', 'Vervoort', 'Verwoert', 'Vial', - 'Vierdag', 'Vignon', 'Vink', 'Visser', 'Volcke', 'Voortman', 'Vos', - 'Vos', 'Vrancken', 'Waardeloo', 'Wagenvoort', 'Walsteijn', 'Walter', - 'Waltrade Walderade', 'Weeldenburg', 'Weerdenburg', 'Weijland', - 'Weijters', 'Welf', 'Wendt', 'Wensen', 'Werdes', 'Werl-Arnsberg, van', - 'West-Francië, van', 'Westerbeek', 'Westerburg', 'Westermann', 'Wever', - 'Weyland', 'Weylant', 'Wigman', 'Wijland', 'Wilcken', 'Wildschut', - 'Willems', 'Willems', 'Willems van Lier', 'Willemsen', 'Willemsen', - 'Wilmont', 'Wilson', 'Winnrich', 'Winters', 'Wipstrik', 'Wolffel', - 'Wolfsdr', 'Wolfswinkel', 'Wolters', 'Wolters', 'Wolzak', 'Wooning', - 'Woudenberg', 'Wouters', 'Wouters van Eijndhoven', 'Woutersz', - 'Wright', 'Wunderink', 'Wutke', 'Zaal', 'Zeemans', 'Zeldenrust', - 'Zevenboom', 'Zijlemans', 'Zijlmans', 'Zuidweg', 'Zuijdveld', 'Zwart', - 'Zwijsen', "d' Heripon", 'de Backer', 'de Beer', 'de Bock', 'de Boer', - 'de Boer', 'de Bont', 'de Bruijn', 'de Bruijn', 'de Bruin', 'de Bruin', - 'de Bruyn', 'de Graaf', 'de Graaf', 'de Gratie', 'de Groot', - 'de Groot', 'de Grote', 'de Gruijl', 'de Gruijter', 'de Gruil', - 'de Grunt', 'de Gruson', 'de Haan', 'de Haas', 'de Heer', 'de Hoog', - 'de Hoogh', 'de Jager', 'de Jode Vastraedsd', 'de Jong', 'de Jong', - 'de Jonge', 'de Kale', 'de Keijser', 'de Keijzer', 'de Kok', - 'de Koning', 'de Koning', 'de Korte', 'de Lange', 'de Leeuw', 'de Man', - 'de Marduras', 'de Mol', 'de Nijs', 'de Pauw', 'de Plantard', - 'de Reede', 'de Roo', 'de Roos', 'de Ruiter', 'de Smit', 'de Strigter', - 'de Swart', 'de Vos', 'de Vries', 'de Vries', 'de Vroege', 'de Vrome', - 'de Werd', 'de Wit', 'de Wit', 'de la Fleche', 'den Buytelaar', - 'den Haag', 'den Teuling', 'der Kijnder', 'die Bont', 'die Pelser', - 'die Witte', 'le Briel', 'le Floch', 'le Gallen', 'le Guellec', - 'le Gulcher', 'le Luc', 'le Matelot', 'ter Waarbeek', "van 't Erve", - "van 't Houteveen", "van 't Riet", "van 't Wel", 'van Alenburg', - 'van Allemanië', 'van Amstel', 'van Arkel', 'van Arnsberg', - 'van Asten', 'van Baalen', 'van Beaumont', 'van Beeck', - 'van Beeck Beeckmans', 'van Beek', 'van Beek', 'van Beieren', - 'van Bentheim', 'van Bergen', 'van Berkel', 'van Berkum', - 'van Bernicia', 'van Boulogne', 'van Boven', 'van Bovene', - 'van Bovenen', 'van Brenen', 'van Breugel', 'van Breukeleveen', - 'van Breukelveen', 'van Bruchem', 'van Brunswijk', 'van Bunschoten', - 'van Buuren', 'van Clootwijck', 'van Cuijck', 'van Daal', - 'van Dagsburg', 'van Dalem', 'van Dam', 'van Dam', 'van Dijk', - 'van Dijk', 'van Dillen', 'van Dokkum', 'van Dommelen', 'van Dongen', - 'van Dongen', 'van Dooren', 'van Doorn', 'van Drenthe', - 'van Duivenvoorde', 'van Duvenvoirde', 'van Duyvenvoorde', 'van Eck', - 'van Egisheim', 'van Embden', 'van Emmelen', 'van Engeland', - 'van Engelen', 'van Enschot', 'van Es', 'van Este', 'van Evelingen', - 'van Formbach', 'van Gastel', 'van Geenen', 'van Geest', 'van Geffen', - 'van Gelder', 'van Gemert', 'van Gent', 'van Ghoerle', 'van Gils', - 'van Ginkel', 'van Ginneke', 'van Goerle', 'van Gorp', 'van Grinsven', - 'van Grondelle', 'van Haarlem', 'van Haeften', 'van Hagen', 'van Ham', - 'van Hamaland', 'van Haspengouw', 'van Haspengouw Hesbaye', - 'van Hemert', 'van Henegouwen', 'van Herstal', 'van Heusden', - 'van Hoevel en van Zwindrecht', 'van Holland', 'van Hostaden', - 'van Hulten', 'van Jumiège', 'van Kasteelen', 'van Kempen', - 'van Klaarwater', 'van Kuijc', 'van Kuijc van Malsen', 'van Kusen', - 'van Laar', 'van Laarhoven', 'van Landen', 'van Laon', 'van Leeuwen', - 'van Leeuwen', 'van Leuven', 'van Liendert', 'van Limburg', 'van Loon', - 'van Loon', 'van Lucel', 'van Luin', 'van Luinenburg', 'van Luxemburg', - 'van Luyssel', 'van Maaren', 'van Maasgouw', 'van Mare', 'van Metz', - 'van Mil', 'van Mispelen', 'van Mook', 'van Munster', - 'van Nederlotharingen', 'van Nes', 'van Nimwegen', 'van Noordeloos', - 'van Noort', 'van Northeim', 'van Nus', 'van Ochten', 'van Oirschot', - 'van Olst', 'van Ommeren', 'van Ooste', 'van Oosten', 'van Oostendorp', - 'van Ooyen', 'van Opper-Lotharingen', 'van Orleans', 'van Oudewater', - 'van Parijs', 'van Poppel', 'van Praagh', 'van Rheineck', 'van Riet', - 'van Rijnsbergen', 'van Rijthoven', 'van Roijen', 'van Rooij', - 'van Rossum', 'van Saksen', 'van Salm', 'van Salmen', 'van Santen', - 'van Schevinghuizen', 'van Schweinfurt', 'van Soest', 'van Spreeuwel', - 'van Spreuwel', 'van Straaten', 'van Stralen', 'van Suinvorde', - 'van Susa', 'van Tours', 'van Tuijl', 'van Veen', 'van Velthoven', - 'van Velzen', 'van Venrooy', 'van Verdun', 'van Vermandois', - 'van Vlaanderen', 'van Vliet', 'van Voorhout', 'van Voorst', - 'van Waas', 'van Wallaert', 'van Wassenaar', 'van Wel', 'van Wessex', - 'van Westfalen', 'van Wickerode', 'van Wijk', 'van Wijland', - 'van Zwaben', 'van de Berg', 'van de Biesenbos', 'van de Biezenbos', - 'van de Brink', 'van de Coterlet', 'van de Darnau', - 'van de Eerenbeemt', 'van de Elzas', 'van de Greef', - 'van de Klashorst', 'van de Kooij', 'van de Leemput', - 'van de Noordmark', 'van de Pavert', 'van de Plas', 'van de Pol', - 'van de Veen', 'van de Velde', 'van de Velden', 'van de Ven', - 'van de Ven', 'van de Wal', 'van de Water', 'van de Weterink', - 'van de Wiel', 'van den Assem', 'van den Berg', 'van den Berg', - 'van den Bergh', 'van den Bosch', 'van den Brand', 'van den Brink', - 'van den Brink', 'van den Broek', 'van den Broek', 'van den Corput', - 'van den Eerenbeemt', 'van den Eijssel', 'van den Henst', - 'van den Heuvel', 'van den Hoek', 'van den Nieuwenhuijsen', - 'van den Nuwenhijsen', 'van den Nuwenhuijzen', 'van den Nuwenhuysen', - 'van den Nyeuwenhuysen', 'van den Oever', 'van den Pol', - 'van den Velde', 'van den Velden', 'van den Wittenboer', - 'van der Avoirt', 'van der Berg', 'van der Brink', 'van der Flaas', - 'van der Heiden', 'van der Heijden', 'van der Heijden', - 'van der Heyden', 'van der Hoeven', 'van der Horst', 'van der Horst', - 'van der Kaay', 'van der Kint', 'van der Klein', 'van der Klijn', - 'van der Laan', 'van der Laar', 'van der Laarse', 'van der Lede', - 'van der Leek', 'van der Linden', 'van der Linden', 'van der Loo', - 'van der Maath', 'van der Maes', 'van der Mast', 'van der Meer', - 'van der Meulen', 'van der Noot', 'van der Plas', 'van der Ploeg', - 'van der Pluijm', 'van der Pol', 'van der Pouw', 'van der Sande', - 'van der Schuijt', 'van der Sloot', 'van der Smeede', - 'van der Spaendonc', 'van der Spaendonck', 'van der Stael', - 'van der Stael de Jonge', 'van der Steen', 'van der Strigt', - 'van der Veen', 'van der Veiver', 'van der Velde', 'van der Velden', - 'van der Ven', 'van der Wal', 'van der Zijl', 'van het Heerenveen', + "'s Gravensande", + "Aalts", + "Aarden", + "Aarts", + "Adelaar", + "Adriaansen", + "Adriaensdr", + "Adriaense", + "Adryaens", + "Aeije", + "Aelftrud van Wessex", + "Aertsz", + "Alpaidis", + "Amalrada", + "Ansems", + "Appelman", + "Arens", + "Arent", + "Ariens", + "Ariens Ansems", + "Arnold", + "Arts", + "Aschman", + "Backer", + "Bakker", + "Barents", + "Bartels", + "Bastiaanse", + "Bastiaense", + "Bave", + "Becht", + "Beekman", + "Beernink", + "Beijring", + "Bekbergen", + "Bellemans", + "Belpere", + "Beourgeois", + "Berends", + "Berendse", + "Bernaards", + "Bertho", + "Bezemer", + "Bierstraten", + "Bijlsma", + "Billung", + "Blaak", + "Blees", + "Bleijenberg", + "Blewanus", + "Bloemendaal", + "Blokland", + "Blom", + "Blom", + "Blonk", + "Boddaugh", + "Boer", + "Boer", + "Boers", + "Boeser", + "Boetet", + "Bolkesteijn", + "Booden", + "Boogaerts", + "Borman", + "Bos", + "Bos", + "Bosch", + "Bosch", + "Bosman", + "Boudewijns", + "Bouhuizen", + "Bourgondië, van", + "Bouthoorn", + "Bouwhuisen", + "Brandon", + "Brands", + "Brandt", + "Bresse", + "Bresé", + "Breugelensis", + "Briere", + "Brievingh", + "Brisee", + "Brizee", + "Broeckx", + "Broeders", + "Broek", + "Broekhoven", + "Broeshart", + "Bronder", + "Brouwer", + "Brouwer", + "Bruggeman", + "Brugman", + "Bruijne van der Veen", + "Brumleve", + "Bruynzeels", + "Bud", + "Buijs", + "Butselaar", + "Bökenkamp", + "Cadefau", + "Cammel", + "Cant", + "Carnotte", + "Charon", + "Chevresson", + "Chotzen", + "Chrodtrud", + "Claassen", + "Claesdr", + "Claesner", + "Coenen", + "Coolen", + "Coret", + "Coret-Coredo", + "Coreth von und zu Coredo und Starkenberg", + "Cornelisse", + "Cornelissen", + "Cornelisz", + "Corstiaens", + "Cosman", + "Courtier", + "Dachgelder", + "Dachgeldt", + "Dachgelt", + "David", + "Dekker", + "Dekker", + "Demmendaal", + "Dennenberg", + "Die Bont", + "Diesbergen", + "Dijkman", + "Dijkstra", + "Dircken", + "Dirksen", + "Dirven", + "Doesburg", + "Doorhof", + "Doornhem", + "Dorsman", + "Doyle", + "Draaisma", + "Dries", + "Driessen", + "Drysdale", + "Dubois", + "Duivenvoorden", + "Eckhardt", + "Eelman", + "Eerden", + "Ehlert", + "Eijkelboom", + "Elberts", + "Elbertse", + "Ellis", + "Elsemulder", + "Elsenaar", + "Emmen", + "Engels", + "Erhout", + "Ernst", + "Estey", + "Everde", + "Evers", + "Everts", + "Fechant", + "Feenstra", + "Feltzer", + "Ferran", + "Fiere", + "Flink", + "Fortuyn", + "Frankhuizen", + "François", + "Françoise", + "Fredriks", + "Fremie", + "Frerichs", + "Freshour", + "Friehus", + "Furda", + "Galenzone", + "Galijn", + "Garret", + "Geerling", + "Geerts", + "Geertsen", + "Geldens", + "Gellemeyer", + "Gemen", + "Geneart", + "Genefaas", + "Gepa van Bourgondië", + "Gerrits", + "Gerritse", + "Gerritsen", + "Gervais", + "Ghoerle", + "Giselmeyer", + "Glasses", + "Gnodde", + "Goderts", + "Godfrey van Alemannië", + "Goedhart", + "Goudriaan", + "Govarts", + "Goyaerts van Waderle", + "Greij", + "Groen", + "Groenendaal", + "Groenestein", + "Grondel", + "Groote", + "Gruijl", + "Guit", + "Haack", + "Haengreve", + "Hagendoorn", + "Hak", + "Hakker", + "Haneberg", + "Hanegraaff", + "Haring", + "Haselaar", + "Hazenveld", + "Heere", + "Heerkens", + "Heerschop", + "Hehl", + "Heijman", + "Heijmans", + "Heijmen", + "Heinrichs", + "Hekker", + "Hellevoort", + "Helmerhorst", + "Hemma van Allemanië", + "Hendricks", + "Hendriks", + "Hendriks", + "Hendrikse", + "Henric van den Nuwenhuse", + "Heribert van Laon", + "Hermans", + "Hermans", + "Hexspoor", + "Heymans", + "Heyne", + "Hoedemakers", + "Hoeks", + "Hoekstra", + "Hoelen", + "Hoes", + "Hofman", + "Hollander", + "Holthuis", + "Hondeveld", + "Honing", + "Hoogers", + "Hoppenbrouwer", + "Horrocks", + "Houdijk", + "Huberts", + "Huel", + "Huijben", + "Huijbrechts", + "Huijs", + "Huijzing", + "Huisman", + "Huisman", + "Huls", + "Hulshouts", + "Hulskes", + "Hulst", + "Huurdeman", + "Höning", + "Jaceps", + "Jacobi", + "Jacobs", + "Jacobs", + "Jacquot", + "Jans", + "Jansdr", + "Janse", + "Jansen", + "Jansen", + "Jansen", + "Jansse", + "Janssen", + "Janssen", + "Janssens", + "Jdotte", + "Jeggij", + "Jekel", + "Jerusalem", + "Jochems", + "Jones", + "Jonker", + "Jonkman", + "Joosten", + "Jorlink", + "Jorrisen", + "Jurrijens", + "Kallen", + "Kalman", + "Kamp", + "Kamper", + "Karels", + "Kas", + "Kathagen", + "Keijser", + "Keijzer", + "Keltenie", + "Kerkhof", + "Ketel", + "Ketting", + "Kirpenstein", + "Kisman", + "Kleibrink", + "Kleijse", + "Klein", + "Klerks", + "Kleybrink", + "Klomp Jan", + "Kloppert", + "Knoers", + "Knuf", + "Koeman", + "Kof", + "Kok", + "Kok", + "Kolen", + "Kolster", + "Koning", + "Konings", + "Koret", + "Korsman", + "Korstman", + "Kort", + "Kortman", + "Kosten", + "Koster", + "Koster", + "Krabbe", + "Kramer", + "Kremer", + "Kriens", + "Kronenberg", + "Kruns", + "Kuijpers", + "Kuijpers", + "Kuilenburg", + "Kuiper", + "Kuipers", + "Kuit", + "Kunen", + "Kwaadland", + "Köster", + "Labado", + "Laffray", + "Lafleur", + "Lage", + "Lagerweij", + "Lambers", + "Lambregt", + "Lamore", + "Lamotte", + "Langevoort", + "Lankle", + "Lansink", + "Lathrope", + "Latier", + "Le Grand", + "Le Marec", + "Leene", + "Leguit", + "Lelijveld", + "Lemmens", + "Lensen", + "Lether", + "Levesque", + "Lieshout", + "Ligtvoet", + "Lijn", + "Lind", + "Linschoten", + "Lips", + "Loep", + "Lommert", + "Lonen", + "Loreal", + "Lorreijn", + "Louws", + "Luboch", + "Lucas", + "Luitgardis van Neustrië", + "Luster", + "Lutterveld", + "Maas", + "Maas", + "Maaswinkel", + "Mahieu", + "Mallien", + "Mangel", + "Manne", + "Mansveld", + "Mansvelt", + "Marceron", + "Marchal", + "Marchand", + "Martel", + "Martens", + "Martens", + "Massa", + "Mater", + "Mathieu", + "Mathol", + "Mathurin", + "Matthews", + "Meeres", + "Meeusen", + "Meijer", + "Meijer", + "Meis", + "Melet", + "Mens", + "Mercks", + "Merckx", + "Merkx", + "Meyer", + "Meyer", + "Michiels", + "Michielsen", + "Middelkoop", + "Mijsberg", + "Miltenburg", + "Miner", + "Moenen", + "Moensendijk", + "Moet", + "Mol", + "Mol", + "Molegraaf", + "Molen", + "Molenaar", + "Momberg", + "Mosley", + "Mudden", + "Muijs", + "Mulder", + "Mulder", + "Mulders", + "Muller", + "Nedermeijer", + "Nek", + "Neuteboom", + "Neuzerling", + "Niermann", + "Nieuwstraten", + "Nihoe", + "Nijman", + "Nollee", + "Noordijk", + "Oda", + "Oemencs", + "Oennen", + "Olthof", + "Olykan", + "Ooms", + "Oosterhek", + "Oosterhout", + "Oostveen", + "Opmans", + "Osterhoudt", + "Otte", + "Otto", + "Oude Heer", + "Ouwel", + "Ouwerkerk", + "Overdijk", + "Overeem", + "Oversteeg", + "Paillet", + "Palman", + "Pasman", + "Passchiers", + "Pastoors", + "Pauwels", + "Peeters", + "Perck", + "Perkins", + "Peronne", + "Perrono", + "Persijn", + "Peters", + "Peterse", + "Phillipsen", + "Pierson", + "Pieters", + "Pieters van der Maes", + "Pison", + "Poncelet", + "Ponci", + "Pons", + "Post", + "Post", + "Postma", + "Potters", + "Pratt", + "Prins", + "Prinsen", + "Puig", + "Rackham", + "Rademaker", + "Ramaker", + "Recer", + "Recers", + "Rehorst", + "Reijers", + "Reimes", + "Rek", + "Remmers", + "Ridder", + "Riem", + "Rietveld", + "Rijcken", + "Rijks", + "Rijn", + "Rijntjes", + "Rippey", + "Risma", + "Robbrechts Bruijne", + "Roessink", + "Romijn", + "Roodesteijn", + "Room", + "Roose", + "Roosenboom", + "Rotteveel", + "Roukes", + "Rousselet", + "Rouwenhorst", + "Rouwhorst", + "Rubben", + "Ruijs", + "Rutten", + "Salet", + "Sam", + "Sanders", + "Sanders", + "Sarneel", + "Sas", + "Saxo", + "Scardino", + "Schagen", + "Schakelaar", + "Scharroo", + "Schatteleijn", + "Scheer", + "Scheffers", + "Schellekens", + "Schelvis", + "Schenk", + "Schenkel", + "Scherms", + "Schiffer", + "Schilt", + "Schipper", + "Schokman", + "Scholten", + "Scholten", + "Schotte", + "Schouten", + "Schrant", + "Schrik", + "Schroeff", + "Schulten", + "Schuurmans", + "Schuylenborch", + "Schwartsbach", + "Scuylenborchs", + "Segerszoen", + "Serra", + "Sestig", + "Shupe", + "Simonis", + "Simons", + "Sire", + "Sitters", + "Slaetsdochter", + "Slagmolen", + "Slingerland", + "Smeets", + "Smit", + "Smit", + "Smith", + "Smits", + "Smits", + "Soos", + "Spaan", + "Spanhaak", + "Speijer", + "Spier", + "Spies", + "Spiker", + "Spreeuw", + "Sprong", + "Spruit", + "Spruyt", + "Stamrood", + "Stange", + "Steenbakkers", + "Steenbeek", + "Steinmeiern", + "Sterkman", + "Stettyn", + "Stichter", + "Stinis", + "Stoffel", + "Stoffelsz", + "Stook", + "Strijker", + "Strik", + "Stuivenberg", + "Suijker", + "Symons", + "Takkelenburg", + "Tammerijn", + "Tamsma", + "Terry", + "Teunissen", + "Texier", + "Thatcher", + "The Elder", + "Thomas", + "Thout", + "Tielemans", + "Tillmanno", + "Timmerman", + "Timmermans", + "Timmermans", + "Tins", + "Tirie", + "Totwiller", + "Tuithof", + "Uit de Willigen", + "Uittenbosch", + "Ulrich", + "Unruoch Hunerik", + "Uphaus", + "Uphuis", + "Uphus", + "VI", + "Vaessen", + "Vallenduuk", + "Van Bragt", + "Vandenbergh", + "Vastenhouw", + "Veenendaal", + "Veenstra", + "Vegt", + "Velderman", + "Veltman", + "Verbeeck", + "Verbeek", + "Verbeek", + "Verboom", + "Verbruggen", + "Verda", + "Vergeer", + "Verhaar", + "Verhagen", + "Verharen", + "Verheij", + "Verheuvel", + "Verhoeven", + "Verhoeven", + "Verkade", + "Vermeulen", + "Vermeulen", + "Verschuere", + "Verschut", + "Versluijs", + "Vertoor", + "Vertooren", + "Vervoort", + "Verwoert", + "Vial", + "Vierdag", + "Vignon", + "Vink", + "Visser", + "Volcke", + "Voortman", + "Vos", + "Vos", + "Vrancken", + "Waardeloo", + "Wagenvoort", + "Walsteijn", + "Walter", + "Waltrade Walderade", + "Weeldenburg", + "Weerdenburg", + "Weijland", + "Weijters", + "Welf", + "Wendt", + "Wensen", + "Werdes", + "Werl-Arnsberg, van", + "West-Francië, van", + "Westerbeek", + "Westerburg", + "Westermann", + "Wever", + "Weyland", + "Weylant", + "Wigman", + "Wijland", + "Wilcken", + "Wildschut", + "Willems", + "Willems", + "Willems van Lier", + "Willemsen", + "Willemsen", + "Wilmont", + "Wilson", + "Winnrich", + "Winters", + "Wipstrik", + "Wolffel", + "Wolfsdr", + "Wolfswinkel", + "Wolters", + "Wolters", + "Wolzak", + "Wooning", + "Woudenberg", + "Wouters", + "Wouters van Eijndhoven", + "Woutersz", + "Wright", + "Wunderink", + "Wutke", + "Zaal", + "Zeemans", + "Zeldenrust", + "Zevenboom", + "Zijlemans", + "Zijlmans", + "Zuidweg", + "Zuijdveld", + "Zwart", + "Zwijsen", + "d' Heripon", + "de Backer", + "de Beer", + "de Bock", + "de Boer", + "de Boer", + "de Bont", + "de Bruijn", + "de Bruijn", + "de Bruin", + "de Bruin", + "de Bruyn", + "de Graaf", + "de Graaf", + "de Gratie", + "de Groot", + "de Groot", + "de Grote", + "de Gruijl", + "de Gruijter", + "de Gruil", + "de Grunt", + "de Gruson", + "de Haan", + "de Haas", + "de Heer", + "de Hoog", + "de Hoogh", + "de Jager", + "de Jode Vastraedsd", + "de Jong", + "de Jong", + "de Jonge", + "de Kale", + "de Keijser", + "de Keijzer", + "de Kok", + "de Koning", + "de Koning", + "de Korte", + "de Lange", + "de Leeuw", + "de Man", + "de Marduras", + "de Mol", + "de Nijs", + "de Pauw", + "de Plantard", + "de Reede", + "de Roo", + "de Roos", + "de Ruiter", + "de Smit", + "de Strigter", + "de Swart", + "de Vos", + "de Vries", + "de Vries", + "de Vroege", + "de Vrome", + "de Werd", + "de Wit", + "de Wit", + "de la Fleche", + "den Buytelaar", + "den Haag", + "den Teuling", + "der Kijnder", + "die Bont", + "die Pelser", + "die Witte", + "le Briel", + "le Floch", + "le Gallen", + "le Guellec", + "le Gulcher", + "le Luc", + "le Matelot", + "ter Waarbeek", + "van 't Erve", + "van 't Houteveen", + "van 't Riet", + "van 't Wel", + "van Alenburg", + "van Allemanië", + "van Amstel", + "van Arkel", + "van Arnsberg", + "van Asten", + "van Baalen", + "van Beaumont", + "van Beeck", + "van Beeck Beeckmans", + "van Beek", + "van Beek", + "van Beieren", + "van Bentheim", + "van Bergen", + "van Berkel", + "van Berkum", + "van Bernicia", + "van Boulogne", + "van Boven", + "van Bovene", + "van Bovenen", + "van Brenen", + "van Breugel", + "van Breukeleveen", + "van Breukelveen", + "van Bruchem", + "van Brunswijk", + "van Bunschoten", + "van Buuren", + "van Clootwijck", + "van Cuijck", + "van Daal", + "van Dagsburg", + "van Dalem", + "van Dam", + "van Dam", + "van Dijk", + "van Dijk", + "van Dillen", + "van Dokkum", + "van Dommelen", + "van Dongen", + "van Dongen", + "van Dooren", + "van Doorn", + "van Drenthe", + "van Duivenvoorde", + "van Duvenvoirde", + "van Duyvenvoorde", + "van Eck", + "van Egisheim", + "van Embden", + "van Emmelen", + "van Engeland", + "van Engelen", + "van Enschot", + "van Es", + "van Este", + "van Evelingen", + "van Formbach", + "van Gastel", + "van Geenen", + "van Geest", + "van Geffen", + "van Gelder", + "van Gemert", + "van Gent", + "van Ghoerle", + "van Gils", + "van Ginkel", + "van Ginneke", + "van Goerle", + "van Gorp", + "van Grinsven", + "van Grondelle", + "van Haarlem", + "van Haeften", + "van Hagen", + "van Ham", + "van Hamaland", + "van Haspengouw", + "van Haspengouw Hesbaye", + "van Hemert", + "van Henegouwen", + "van Herstal", + "van Heusden", + "van Hoevel en van Zwindrecht", + "van Holland", + "van Hostaden", + "van Hulten", + "van Jumiège", + "van Kasteelen", + "van Kempen", + "van Klaarwater", + "van Kuijc", + "van Kuijc van Malsen", + "van Kusen", + "van Laar", + "van Laarhoven", + "van Landen", + "van Laon", + "van Leeuwen", + "van Leeuwen", + "van Leuven", + "van Liendert", + "van Limburg", + "van Loon", + "van Loon", + "van Lucel", + "van Luin", + "van Luinenburg", + "van Luxemburg", + "van Luyssel", + "van Maaren", + "van Maasgouw", + "van Mare", + "van Metz", + "van Mil", + "van Mispelen", + "van Mook", + "van Munster", + "van Nederlotharingen", + "van Nes", + "van Nimwegen", + "van Noordeloos", + "van Noort", + "van Northeim", + "van Nus", + "van Ochten", + "van Oirschot", + "van Olst", + "van Ommeren", + "van Ooste", + "van Oosten", + "van Oostendorp", + "van Ooyen", + "van Opper-Lotharingen", + "van Orleans", + "van Oudewater", + "van Parijs", + "van Poppel", + "van Praagh", + "van Rheineck", + "van Riet", + "van Rijnsbergen", + "van Rijthoven", + "van Roijen", + "van Rooij", + "van Rossum", + "van Saksen", + "van Salm", + "van Salmen", + "van Santen", + "van Schevinghuizen", + "van Schweinfurt", + "van Soest", + "van Spreeuwel", + "van Spreuwel", + "van Straaten", + "van Stralen", + "van Suinvorde", + "van Susa", + "van Tours", + "van Tuijl", + "van Veen", + "van Velthoven", + "van Velzen", + "van Venrooy", + "van Verdun", + "van Vermandois", + "van Vlaanderen", + "van Vliet", + "van Voorhout", + "van Voorst", + "van Waas", + "van Wallaert", + "van Wassenaar", + "van Wel", + "van Wessex", + "van Westfalen", + "van Wickerode", + "van Wijk", + "van Wijland", + "van Zwaben", + "van de Berg", + "van de Biesenbos", + "van de Biezenbos", + "van de Brink", + "van de Coterlet", + "van de Darnau", + "van de Eerenbeemt", + "van de Elzas", + "van de Greef", + "van de Klashorst", + "van de Kooij", + "van de Leemput", + "van de Noordmark", + "van de Pavert", + "van de Plas", + "van de Pol", + "van de Veen", + "van de Velde", + "van de Velden", + "van de Ven", + "van de Ven", + "van de Wal", + "van de Water", + "van de Weterink", + "van de Wiel", + "van den Assem", + "van den Berg", + "van den Berg", + "van den Bergh", + "van den Bosch", + "van den Brand", + "van den Brink", + "van den Brink", + "van den Broek", + "van den Broek", + "van den Corput", + "van den Eerenbeemt", + "van den Eijssel", + "van den Henst", + "van den Heuvel", + "van den Hoek", + "van den Nieuwenhuijsen", + "van den Nuwenhijsen", + "van den Nuwenhuijzen", + "van den Nuwenhuysen", + "van den Nyeuwenhuysen", + "van den Oever", + "van den Pol", + "van den Velde", + "van den Velden", + "van den Wittenboer", + "van der Avoirt", + "van der Berg", + "van der Brink", + "van der Flaas", + "van der Heiden", + "van der Heijden", + "van der Heijden", + "van der Heyden", + "van der Hoeven", + "van der Horst", + "van der Horst", + "van der Kaay", + "van der Kint", + "van der Klein", + "van der Klijn", + "van der Laan", + "van der Laar", + "van der Laarse", + "van der Lede", + "van der Leek", + "van der Linden", + "van der Linden", + "van der Loo", + "van der Maath", + "van der Maes", + "van der Mast", + "van der Meer", + "van der Meulen", + "van der Noot", + "van der Plas", + "van der Ploeg", + "van der Pluijm", + "van der Pol", + "van der Pouw", + "van der Sande", + "van der Schuijt", + "van der Sloot", + "van der Smeede", + "van der Spaendonc", + "van der Spaendonck", + "van der Stael", + "van der Stael de Jonge", + "van der Steen", + "van der Strigt", + "van der Veen", + "van der Veiver", + "van der Velde", + "van der Velden", + "van der Ven", + "van der Wal", + "van der Zijl", + "van het Heerenveen", ) diff --git a/faker/providers/person/no_NO/__init__.py b/faker/providers/person/no_NO/__init__.py index 9ab6865281..37699a1111 100644 --- a/faker/providers/person/no_NO/__init__.py +++ b/faker/providers/person/no_NO/__init__.py @@ -3,239 +3,239 @@ class Provider(PersonProvider): formats = ( - '{{first_name}} {{last_name}}', - '{{first_name}} {{last_name}}', - '{{first_name}} {{last_name}}', - '{{first_name}} {{last_name}}', - '{{first_name}} {{last_name}}', - '{{first_name}} {{last_name}}', - '{{first_name}} {{last_name}}', - '{{first_name}} {{last_name}}', - '{{first_name}} {{last_name}}', - '{{first_name}} {{last_name}}', - '{{first_name}} {{last_name}}', - '{{first_name}} {{last_name}}', - '{{first_name}} {{last_name}}', - '{{first_name}} {{last_name}}', - '{{first_name}} {{last_name}}', - '{{first_name}} {{last_name}}', - '{{first_name_male}}-{{first_name_male}} {{last_name}}', - '{{first_name_male}}-{{first_name_male}} {{last_name}}', - '{{first_name_female}}-{{first_name_female}} {{last_name}}', - '{{first_name_female}}-{{first_name_female}} {{last_name}}', - '{{first_name}} {{last_name}}-{{last_name}}', - '{{first_name}} {{last_name}}-{{last_name}}', - '{{prefix}} {{first_name_male}} {{last_name}}', + "{{first_name}} {{last_name}}", + "{{first_name}} {{last_name}}", + "{{first_name}} {{last_name}}", + "{{first_name}} {{last_name}}", + "{{first_name}} {{last_name}}", + "{{first_name}} {{last_name}}", + "{{first_name}} {{last_name}}", + "{{first_name}} {{last_name}}", + "{{first_name}} {{last_name}}", + "{{first_name}} {{last_name}}", + "{{first_name}} {{last_name}}", + "{{first_name}} {{last_name}}", + "{{first_name}} {{last_name}}", + "{{first_name}} {{last_name}}", + "{{first_name}} {{last_name}}", + "{{first_name}} {{last_name}}", + "{{first_name_male}}-{{first_name_male}} {{last_name}}", + "{{first_name_male}}-{{first_name_male}} {{last_name}}", + "{{first_name_female}}-{{first_name_female}} {{last_name}}", + "{{first_name_female}}-{{first_name_female}} {{last_name}}", + "{{first_name}} {{last_name}}-{{last_name}}", + "{{first_name}} {{last_name}}-{{last_name}}", + "{{prefix}} {{first_name_male}} {{last_name}}", ) # 100 most common male first names, alphabetically. # Source: http://www.ssb.no/a/navn/fornavn-menn-100.html first_names_male = ( - 'Adrian', - 'Alexander', - 'Alf', - 'Anders', - 'Andreas', - 'Arild', - 'Arne', - 'Asbjørn', - 'Bjørn', - 'Christian', - 'Dag', - 'Daniel', - 'Egil', - 'Einar', - 'Eirik', - 'Eivind', - 'Emil', - 'Erik', - 'Erling', - 'Espen', - 'Finn', - 'Frank', - 'Fredrik', - 'Frode', - 'Geir', - 'Gunnar', - 'Hans', - 'Harald', - 'Helge', - 'Henrik', - 'Håkon', - 'Håvard', - 'Ivar', - 'Jan', - 'Jens', - 'Joakim', - 'Johannes', - 'Johan', - 'John', - 'Jonas', - 'Jon', - 'Jørgen', - 'Karl', - 'Kenneth', - 'Kim', - 'Kjell', - 'Kjetil', - 'Knut', - 'Kåre', - 'Kristian', - 'Kristoffer', - 'Lars', - 'Leif', - 'Magne', - 'Magnus', - 'Marius', - 'Markus', - 'Martin', - 'Mathias', - 'Morten', - 'Nils', - 'Odd', - 'Ola', - 'Olav', - 'Ole', - 'Per', - 'Petter', - 'Pål', - 'Roar', - 'Robert', - 'Roger', - 'Rolf', - 'Roy', - 'Rune', - 'Sander', - 'Sebastian', - 'Sigurd', - 'Simen', - 'Sindre', - 'Sondre', - 'Steinar', - 'Stein', - 'Stian', - 'Stig', - 'Svein', - 'Sverre', - 'Terje', - 'Thomas', - 'Thor', - 'Tobias', - 'Tommy', - 'Tom', - 'Torbjørn', - 'Tore', - 'Tor', - 'Trond', - 'Vegard', - 'Vidar', - 'Øystein', - 'Øyvind', + "Adrian", + "Alexander", + "Alf", + "Anders", + "Andreas", + "Arild", + "Arne", + "Asbjørn", + "Bjørn", + "Christian", + "Dag", + "Daniel", + "Egil", + "Einar", + "Eirik", + "Eivind", + "Emil", + "Erik", + "Erling", + "Espen", + "Finn", + "Frank", + "Fredrik", + "Frode", + "Geir", + "Gunnar", + "Hans", + "Harald", + "Helge", + "Henrik", + "Håkon", + "Håvard", + "Ivar", + "Jan", + "Jens", + "Joakim", + "Johannes", + "Johan", + "John", + "Jonas", + "Jon", + "Jørgen", + "Karl", + "Kenneth", + "Kim", + "Kjell", + "Kjetil", + "Knut", + "Kåre", + "Kristian", + "Kristoffer", + "Lars", + "Leif", + "Magne", + "Magnus", + "Marius", + "Markus", + "Martin", + "Mathias", + "Morten", + "Nils", + "Odd", + "Ola", + "Olav", + "Ole", + "Per", + "Petter", + "Pål", + "Roar", + "Robert", + "Roger", + "Rolf", + "Roy", + "Rune", + "Sander", + "Sebastian", + "Sigurd", + "Simen", + "Sindre", + "Sondre", + "Steinar", + "Stein", + "Stian", + "Stig", + "Svein", + "Sverre", + "Terje", + "Thomas", + "Thor", + "Tobias", + "Tommy", + "Tom", + "Torbjørn", + "Tore", + "Tor", + "Trond", + "Vegard", + "Vidar", + "Øystein", + "Øyvind", ) # 100 most common female first names, alphabetically. # Source: http://www.ssb.no/a/navn/fornavn-kvinner-100.html first_names_female = ( - 'Andrea', - 'Anette', - 'Anita', - 'Anna', - 'Anne', - 'Ann', - 'Astrid', - 'Aud', - 'Bente', - 'Berit', - 'Bjørg', - 'Britt', - 'Camilla', - 'Cathrine', - 'Cecilie', - 'Elin', - 'Elisabeth', - 'Elise', - 'Eli', - 'Ellen', - 'Else', - 'Emilie', - 'Emma', - 'Eva', - 'Gerd', - 'Grete', - 'Grethe', - 'Gro', - 'Gunn', - 'Hanna', - 'Hanne', - 'Hege', - 'Heidi', - 'Helene', - 'Hilde', - 'Ida', - 'Ingeborg', - 'Inger', - 'Ingrid', - 'Irene', - 'Janne', - 'Jenny', - 'Jorunn', - 'Julie', - 'Karen', - 'Karin', - 'Kari', - 'Karoline', - 'Kirsten', - 'Kjersti', - 'Kristine', - 'Kristin', - 'Laila', - 'Lene', - 'Linda', - 'Line', - 'Linn', - 'Lise', - 'Liv', - 'Malin', - 'Maren', - 'Marianne', - 'Maria', - 'Marie', - 'Mari', - 'Marit', - 'Marte', - 'Martine', - 'May', - 'Mette', - 'Mona', - 'Monica', - 'Nina', - 'Nora', - 'Ragnhild', - 'Randi', - 'Reidun', - 'Rita', - 'Ruth', - 'Sara', - 'Sigrid', - 'Silje', - 'Siri', - 'Sissel', - 'Siv', - 'Sofie', - 'Solveig', - 'Stine', - 'Synnøve', - 'Thea', - 'Tone', - 'Tonje', - 'Torill', - 'Tove', - 'Trine', - 'Turid', - 'Unni', - 'Vilde', - 'Wenche', - 'Åse', + "Andrea", + "Anette", + "Anita", + "Anna", + "Anne", + "Ann", + "Astrid", + "Aud", + "Bente", + "Berit", + "Bjørg", + "Britt", + "Camilla", + "Cathrine", + "Cecilie", + "Elin", + "Elisabeth", + "Elise", + "Eli", + "Ellen", + "Else", + "Emilie", + "Emma", + "Eva", + "Gerd", + "Grete", + "Grethe", + "Gro", + "Gunn", + "Hanna", + "Hanne", + "Hege", + "Heidi", + "Helene", + "Hilde", + "Ida", + "Ingeborg", + "Inger", + "Ingrid", + "Irene", + "Janne", + "Jenny", + "Jorunn", + "Julie", + "Karen", + "Karin", + "Kari", + "Karoline", + "Kirsten", + "Kjersti", + "Kristine", + "Kristin", + "Laila", + "Lene", + "Linda", + "Line", + "Linn", + "Lise", + "Liv", + "Malin", + "Maren", + "Marianne", + "Maria", + "Marie", + "Mari", + "Marit", + "Marte", + "Martine", + "May", + "Mette", + "Mona", + "Monica", + "Nina", + "Nora", + "Ragnhild", + "Randi", + "Reidun", + "Rita", + "Ruth", + "Sara", + "Sigrid", + "Silje", + "Siri", + "Sissel", + "Siv", + "Sofie", + "Solveig", + "Stine", + "Synnøve", + "Thea", + "Tone", + "Tonje", + "Torill", + "Tove", + "Trine", + "Turid", + "Unni", + "Vilde", + "Wenche", + "Åse", ) first_names = first_names_male + first_names_female @@ -243,109 +243,110 @@ class Provider(PersonProvider): # 100 most common last names, alphabetically. # Source: http://www.ssb.no/a/navn/alf/etter100.html last_names = ( - 'Aasen', - 'Aas', - 'Abrahamsen', - 'Ahmed', - 'Ali', - 'Amundsen', - 'Andersen', - 'Andreassen', - 'Andresen', - 'Antonsen', - 'Arnesen', - 'Aune', - 'Bakken', - 'Bakke', - 'Berge', - 'Berg', - 'Berntsen', - 'Bøe', - 'Birkeland', - 'Brekke', - 'Christensen', - 'Dahl', - 'Danielsen', - 'Edvardsen', - 'Eide', - 'Eliassen', - 'Ellingsen', - 'Engen', - 'Eriksen', - 'Evensen', - 'Fredriksen', - 'Gulbrandsen', - 'Gundersen', - 'Hagen', - 'Halvorsen', - 'Hansen', - 'Hanssen', - 'Haugen', - 'Hauge', - 'Haugland', - 'Haug', - 'Helland', - 'Henriksen', - 'Holm', - 'Isaksen', - 'Iversen', - 'Jacobsen', - 'Jakobsen', - 'Jensen', - 'Jenssen', - 'Johannessen', - 'Johansen', - 'Johnsen', - 'Jørgensen', - 'Karlsen', - 'Knudsen', - 'Knutsen', - 'Kristensen', - 'Kristiansen', - 'Kristoffersen', - 'Larsen', - 'Lien', - 'Lie', - 'Lunde', - 'Lund', - 'Madsen', - 'Martinsen', - 'Mathisen', - 'Mikkelsen', - 'Moen', - 'Moe', - 'Myhre', - 'Myklebust', - 'Nguyen', - 'Nielsen', - 'Nilsen', - 'Næss', - 'Nygård', - 'Olsen', - 'Paulsen', - 'Pedersen', - 'Pettersen', - 'Rasmussen', - 'Rønning', - 'Ruud', - 'Sandvik', - 'Simonsen', - 'Sivertsen', - 'Solberg', - 'Solheim', - 'Sørensen', - 'Sæther', - 'Strand', - 'Strøm', - 'Svendsen', - 'Tangen', - 'Thomassen', - 'Thorsen', - 'Tveit', - 'Vik', - 'Ødegård', + "Aasen", + "Aas", + "Abrahamsen", + "Ahmed", + "Ali", + "Amundsen", + "Andersen", + "Andreassen", + "Andresen", + "Antonsen", + "Arnesen", + "Aune", + "Bakken", + "Bakke", + "Berge", + "Berg", + "Berntsen", + "Bøe", + "Birkeland", + "Brekke", + "Christensen", + "Dahl", + "Danielsen", + "Edvardsen", + "Eide", + "Eliassen", + "Ellingsen", + "Engen", + "Eriksen", + "Evensen", + "Fredriksen", + "Gulbrandsen", + "Gundersen", + "Hagen", + "Halvorsen", + "Hansen", + "Hanssen", + "Haugen", + "Hauge", + "Haugland", + "Haug", + "Helland", + "Henriksen", + "Holm", + "Isaksen", + "Iversen", + "Jacobsen", + "Jakobsen", + "Jensen", + "Jenssen", + "Johannessen", + "Johansen", + "Johnsen", + "Jørgensen", + "Karlsen", + "Knudsen", + "Knutsen", + "Kristensen", + "Kristiansen", + "Kristoffersen", + "Larsen", + "Lien", + "Lie", + "Lunde", + "Lund", + "Madsen", + "Martinsen", + "Mathisen", + "Mikkelsen", + "Moen", + "Moe", + "Myhre", + "Myklebust", + "Nguyen", + "Nielsen", + "Nilsen", + "Næss", + "Nygård", + "Olsen", + "Paulsen", + "Pedersen", + "Pettersen", + "Rasmussen", + "Rønning", + "Ruud", + "Sandvik", + "Simonsen", + "Sivertsen", + "Solberg", + "Solheim", + "Sørensen", + "Sæther", + "Strand", + "Strøm", + "Svendsen", + "Tangen", + "Thomassen", + "Thorsen", + "Tveit", + "Vik", + "Ødegård", ) prefixes = ( - 'Dr.', 'Prof.', + "Dr.", + "Prof.", ) diff --git a/faker/providers/person/or_IN/__init__.py b/faker/providers/person/or_IN/__init__.py index 8050331c68..2a08fa03ed 100644 --- a/faker/providers/person/or_IN/__init__.py +++ b/faker/providers/person/or_IN/__init__.py @@ -3,16 +3,16 @@ class Provider(PersonProvider): formats_female = ( - '{{first_name_female}} {{last_name}}', - '{{first_name_unisex}} {{last_name}}', - '{{prefix_female}} {{first_name_unisex}} {{last_name}}', - '{{prefix_female}} {{first_name_female}} {{last_name}}', + "{{first_name_female}} {{last_name}}", + "{{first_name_unisex}} {{last_name}}", + "{{prefix_female}} {{first_name_unisex}} {{last_name}}", + "{{prefix_female}} {{first_name_female}} {{last_name}}", ) formats_male = ( - '{{first_name_male}} {{last_name}}', - '{{first_name_male}} {{middle_name}} {{last_name}}', - '{{first_name_unisex}} {{middle_name}} {{last_name}}', - '{{prefix_male}} {{first_name_male}} {{last_name}}', + "{{first_name_male}} {{last_name}}", + "{{first_name_male}} {{middle_name}} {{last_name}}", + "{{first_name_unisex}} {{middle_name}} {{last_name}}", + "{{prefix_male}} {{first_name_male}} {{last_name}}", ) formats = formats_female + formats_male @@ -20,1153 +20,1153 @@ class Provider(PersonProvider): # 1. https://or.wikipedia.org/s/1duk and # 2. https://or.wikipedia.org/s/3vz first_names_female = ( - 'ଅଜୟନ୍ତୀ', - 'ଅଞ୍ଜଳି', - 'ଅନିଶା', - 'ଅନୀତା', - 'ଅନୁ', - 'ଅନୁପ୍ରିୟା', - 'ଅନୁଭା', - 'ଅପରାଜିତା', - 'ଅମିତା', - 'ଅମିୟବାଳା', - 'ଅର୍ଚ୍ଚିତା', - 'ଅର୍ପିତା', - 'ଅସୀମା', - 'ଆଞ୍ଚଲ', - 'ଆନିଷା', - 'ଆମେଲି', - 'ଇନ୍ଦୁ', - 'ଇନ୍ଦୁରାଣୀ', - 'ଇନ୍ଦ୍ରାଣୀ', - 'ଇରାନି', - 'ଇଲା', - 'ଉଷସୀ', - 'ଉଷା', - 'ଏଲିନା', - 'କନକଲତା', - 'କବିତା', - 'କମଳା', - 'କଲ୍ୟାଣୀ', - 'କାଜଲ', - 'କୁମୁଦ', - 'କୁସୁମ', - 'କୋଏଲ', - 'ଗାର୍ଗୀ', - 'ଗାୟତ୍ରୀବାଳା', - 'ଗୀତା', - 'ଗୁନ୍ ଗୁନ୍', - 'ଗୌରୀ', - 'ଗ୍ଲୋରିଆ', - 'ଚନ୍ଦ୍ରମା', - 'ଛବି', - 'ଜିନା', - 'ଜ୍ୟୋତିର୍ମୟୀ', - 'ଜ୍ୟୋତ୍ସ୍ନା', - 'ଜୟନ୍ତୀ', - 'ଝରଣା', - 'ଝିଲିକ୍', - 'ଟୁକୁନି', - 'ତନ୍ଦ୍ରା', - 'ତମନ୍ନା', - 'ତୃପ୍ତି', - 'ତ୍ରିପୁରା', - 'ଦୀପା', - 'ଦୀପ୍ତିରେଖା', - 'ଦେବଯାନୀ', - 'ଦେବୀ', - 'ନନ୍ଦିତା', - 'ନନ୍ଦିନୀ', - 'ନମିତା', - 'ନମ୍ରତା', - 'ନଳିନୀ', - 'ନାଜିଆ', - 'ନିକିତା', - 'ନିବେଦିତା', - 'ନିର୍ମଳା', - 'ନିହାରିକା', - 'ନୀତୁ', - 'ନୈନା', - 'ପଦ୍ମିନୀ', - 'ପାର୍ବତୀ', - 'ପିଙ୍କି', - 'ପୁନମ', - 'ପୁପୁଲ', - 'ପୁଷ୍ପା', - 'ପ୍ରକୃତି', - 'ପ୍ରତିଜ୍ଞା', - 'ପ୍ରମିଳା', - 'ପ୍ରିୟଙ୍କା', - 'ପ୍ରିୟମ୍ବଦା', - 'ପ୍ରିୟା', - 'ପ୍ରେମଲତା', - 'ଫୁଲମଣି', - 'ବନଜା', - 'ବନ୍ଦିତା', - 'ବବ୍ଲି', - 'ବର୍ଣ୍ଣାଳୀ', - 'ବର୍ଷା', - 'ବାସନ୍ତି', - 'ବାସନ୍ତୀ', - 'ବିଜୟଲକ୍ଷ୍ମୀ', - 'ବିଜୟିନୀ', - 'ବିଦୁସ୍ମିତା', - 'ବିନୋଦିନୀ', - 'ବିରଜା', - 'ବିଷ୍ଣୁପ୍ରିୟା', - 'ବୀଣା', - 'ବୈଶାଳୀ', - 'ଭଗବତୀ', - 'ଭବାନୀ', - 'ଭାନୁମତୀ', - 'ଭାସ୍ୱତୀ', - 'ଭୂମିକା', - 'ମଙ୍ଗଳା', - 'ମଞ୍ଜୁଲତା', - 'ମଞ୍ଜୁଳା', - 'ମଣିମାଳା', - 'ମନ୍ଦାକିନୀ', - 'ମମତା', - 'ମହାଶ୍ୱେତା', - 'ମାଧୁରୀ', - 'ମାମିନା', - 'ମିନତି', - 'ମିନାକ୍ଷୀ', - 'ମେଘନା', - 'ମେଘା', - 'ଯଶୋଦା', - 'ରଚନା', - 'ରଜନୀ', - 'ରଞ୍ଜିତା', - 'ରତ୍ନପ୍ରଭା', - 'ରଶ୍ମୀରେଖା', - 'ରାକ୍ଷୀ', - 'ରାଜଶ୍ରୀ', - 'ରାଧାରାଣୀ', - 'ରାଲି', - 'ରାସମଞ୍ଜରୀ', - 'ରାସେଶ୍ୱରୀ', - 'ରିନା', - 'ରିୟା', - 'ରୀତା', - 'ରୀତାରାଣୀ', - 'ରୁକ୍ମଣୀ', - 'ରୁନୁ', - 'ରୋଜା', - 'ରୋଷନୀ', - 'ରୋସନାରା', - 'ଲକ୍ଷ୍ମୀ', - 'ଲକ୍ଷ୍ମୀପ୍ରିୟା', - 'ଲତିକା', - 'ଲିପି', - 'ଲିପିକା', - 'ଲିପ୍ସା', - 'ଲୀଳା', - 'ଲେଖା', - 'ଲେସ୍ଲି', - 'ଶିବାନୀ', - 'ଶୀତଲ', - 'ଶୁଭଶ୍ରୀ', - 'ଶେଫାଳୀ', - 'ଶୈରିନ୍ଦ୍ରୀ', - 'ଶ୍ରୀମତି', - 'ଶ୍ରୀମତୀ', - 'ସଂଘମିତ୍ରା', - 'ସଞ୍ଚିତା', - 'ସନ୍ମିରା', - 'ସରସ୍ୱତୀ', - 'ସସ୍ମିତା', - 'ସାବିତ୍ରୀ', - 'ସିପ୍ରା', - 'ସୀମାରାଣୀ', - 'ସୁଚିତ୍ରା', - 'ସୁଜାତା', - 'ସୁନନ୍ଦା', - 'ସୁପ୍ରିୟା', - 'ସୁମନୀ', - 'ସୁରମା', - 'ସୋନିକା', - 'ସୋଫିଆ', - 'ସୌଦାମିନୀ', - 'ସୌମ୍ୟା', - 'ସ୍ନିଗ୍ଧା', - 'ସ୍ନେହାଙ୍ଗିନୀ', - 'ସ୍ମିତା', - 'ସ୍ୱାଗତିକା', + "ଅଜୟନ୍ତୀ", + "ଅଞ୍ଜଳି", + "ଅନିଶା", + "ଅନୀତା", + "ଅନୁ", + "ଅନୁପ୍ରିୟା", + "ଅନୁଭା", + "ଅପରାଜିତା", + "ଅମିତା", + "ଅମିୟବାଳା", + "ଅର୍ଚ୍ଚିତା", + "ଅର୍ପିତା", + "ଅସୀମା", + "ଆଞ୍ଚଲ", + "ଆନିଷା", + "ଆମେଲି", + "ଇନ୍ଦୁ", + "ଇନ୍ଦୁରାଣୀ", + "ଇନ୍ଦ୍ରାଣୀ", + "ଇରାନି", + "ଇଲା", + "ଉଷସୀ", + "ଉଷା", + "ଏଲିନା", + "କନକଲତା", + "କବିତା", + "କମଳା", + "କଲ୍ୟାଣୀ", + "କାଜଲ", + "କୁମୁଦ", + "କୁସୁମ", + "କୋଏଲ", + "ଗାର୍ଗୀ", + "ଗାୟତ୍ରୀବାଳା", + "ଗୀତା", + "ଗୁନ୍ ଗୁନ୍", + "ଗୌରୀ", + "ଗ୍ଲୋରିଆ", + "ଚନ୍ଦ୍ରମା", + "ଛବି", + "ଜିନା", + "ଜ୍ୟୋତିର୍ମୟୀ", + "ଜ୍ୟୋତ୍ସ୍ନା", + "ଜୟନ୍ତୀ", + "ଝରଣା", + "ଝିଲିକ୍", + "ଟୁକୁନି", + "ତନ୍ଦ୍ରା", + "ତମନ୍ନା", + "ତୃପ୍ତି", + "ତ୍ରିପୁରା", + "ଦୀପା", + "ଦୀପ୍ତିରେଖା", + "ଦେବଯାନୀ", + "ଦେବୀ", + "ନନ୍ଦିତା", + "ନନ୍ଦିନୀ", + "ନମିତା", + "ନମ୍ରତା", + "ନଳିନୀ", + "ନାଜିଆ", + "ନିକିତା", + "ନିବେଦିତା", + "ନିର୍ମଳା", + "ନିହାରିକା", + "ନୀତୁ", + "ନୈନା", + "ପଦ୍ମିନୀ", + "ପାର୍ବତୀ", + "ପିଙ୍କି", + "ପୁନମ", + "ପୁପୁଲ", + "ପୁଷ୍ପା", + "ପ୍ରକୃତି", + "ପ୍ରତିଜ୍ଞା", + "ପ୍ରମିଳା", + "ପ୍ରିୟଙ୍କା", + "ପ୍ରିୟମ୍ବଦା", + "ପ୍ରିୟା", + "ପ୍ରେମଲତା", + "ଫୁଲମଣି", + "ବନଜା", + "ବନ୍ଦିତା", + "ବବ୍ଲି", + "ବର୍ଣ୍ଣାଳୀ", + "ବର୍ଷା", + "ବାସନ୍ତି", + "ବାସନ୍ତୀ", + "ବିଜୟଲକ୍ଷ୍ମୀ", + "ବିଜୟିନୀ", + "ବିଦୁସ୍ମିତା", + "ବିନୋଦିନୀ", + "ବିରଜା", + "ବିଷ୍ଣୁପ୍ରିୟା", + "ବୀଣା", + "ବୈଶାଳୀ", + "ଭଗବତୀ", + "ଭବାନୀ", + "ଭାନୁମତୀ", + "ଭାସ୍ୱତୀ", + "ଭୂମିକା", + "ମଙ୍ଗଳା", + "ମଞ୍ଜୁଲତା", + "ମଞ୍ଜୁଳା", + "ମଣିମାଳା", + "ମନ୍ଦାକିନୀ", + "ମମତା", + "ମହାଶ୍ୱେତା", + "ମାଧୁରୀ", + "ମାମିନା", + "ମିନତି", + "ମିନାକ୍ଷୀ", + "ମେଘନା", + "ମେଘା", + "ଯଶୋଦା", + "ରଚନା", + "ରଜନୀ", + "ରଞ୍ଜିତା", + "ରତ୍ନପ୍ରଭା", + "ରଶ୍ମୀରେଖା", + "ରାକ୍ଷୀ", + "ରାଜଶ୍ରୀ", + "ରାଧାରାଣୀ", + "ରାଲି", + "ରାସମଞ୍ଜରୀ", + "ରାସେଶ୍ୱରୀ", + "ରିନା", + "ରିୟା", + "ରୀତା", + "ରୀତାରାଣୀ", + "ରୁକ୍ମଣୀ", + "ରୁନୁ", + "ରୋଜା", + "ରୋଷନୀ", + "ରୋସନାରା", + "ଲକ୍ଷ୍ମୀ", + "ଲକ୍ଷ୍ମୀପ୍ରିୟା", + "ଲତିକା", + "ଲିପି", + "ଲିପିକା", + "ଲିପ୍ସା", + "ଲୀଳା", + "ଲେଖା", + "ଲେସ୍ଲି", + "ଶିବାନୀ", + "ଶୀତଲ", + "ଶୁଭଶ୍ରୀ", + "ଶେଫାଳୀ", + "ଶୈରିନ୍ଦ୍ରୀ", + "ଶ୍ରୀମତି", + "ଶ୍ରୀମତୀ", + "ସଂଘମିତ୍ରା", + "ସଞ୍ଚିତା", + "ସନ୍ମିରା", + "ସରସ୍ୱତୀ", + "ସସ୍ମିତା", + "ସାବିତ୍ରୀ", + "ସିପ୍ରା", + "ସୀମାରାଣୀ", + "ସୁଚିତ୍ରା", + "ସୁଜାତା", + "ସୁନନ୍ଦା", + "ସୁପ୍ରିୟା", + "ସୁମନୀ", + "ସୁରମା", + "ସୋନିକା", + "ସୋଫିଆ", + "ସୌଦାମିନୀ", + "ସୌମ୍ୟା", + "ସ୍ନିଗ୍ଧା", + "ସ୍ନେହାଙ୍ଗିନୀ", + "ସ୍ମିତା", + "ସ୍ୱାଗତିକା", ) first_names_unisex = ( - 'ଅଶ୍ୱିନୀ', - 'ଅଶ୍ୱିନୀ', - 'କବି', - 'ଗୀତା', - 'ଜ୍ୟୋତି', - 'ଦୁର୍ଗା', - 'ଦେବୀ', - 'ପଦ୍ମ', - 'ପୁପୁଲ', - 'ପ୍ରିୟଦର୍ଶୀ', - 'ମକର', - 'ମଙ୍ଗଳା', - 'ମୌସଦୀ', - 'ରତି', - 'ରଶ୍ମି', - 'ଶାନ୍ତି', - 'ସିମନ୍', - 'ସୁଧାଂଶୁମାଳିନୀ', - 'ସୁମନ', - 'ସ୍ନିତି', + "ଅଶ୍ୱିନୀ", + "ଅଶ୍ୱିନୀ", + "କବି", + "ଗୀତା", + "ଜ୍ୟୋତି", + "ଦୁର୍ଗା", + "ଦେବୀ", + "ପଦ୍ମ", + "ପୁପୁଲ", + "ପ୍ରିୟଦର୍ଶୀ", + "ମକର", + "ମଙ୍ଗଳା", + "ମୌସଦୀ", + "ରତି", + "ରଶ୍ମି", + "ଶାନ୍ତି", + "ସିମନ୍", + "ସୁଧାଂଶୁମାଳିନୀ", + "ସୁମନ", + "ସ୍ନିତି", ) first_names_male = ( - 'ଅଂଶୁମାନ', - 'ଅକ୍ଷୟ', - 'ଅଖିଳ', - 'ଅଗସ୍ତି', - 'ଅଙ୍ଗଦ', - 'ଅଚ୍ୟୁତାନନ୍ଦ', - 'ଅଜିତ', - 'ଅଜୟ', - 'ଅତନୁ', - 'ଅଦ୍ୱୈତ', - 'ଅଧିରାଜ', - 'ଅନନ୍ତ', - 'ଅନାଦି', - 'ଅନାଦୀ', - 'ଅନିରୁଦ୍ଧ', - 'ଅନିଲ', - 'ଅନୀଲ', - 'ଅନୁଭବ', - 'ଅନ୍ତର୍ଯ୍ୟାମୀ', - 'ଅପୂର୍ବ', - 'ଅଭିନ୍ନ', - 'ଅଭିମନ୍ୟୁ', - 'ଅଭିରାମ', - 'ଅଭିଷେକ', - 'ଅଭୟ', - 'ଅମର', - 'ଅମରନାଥ', - 'ଅମରେନ୍ଦ୍ର', - 'ଅମିନୂଲ', - 'ଅମ୍ଳାନ', - 'ଅରକ୍ଷିତ', - 'ଅରବିନ୍ଦ', - 'ଅରିନ୍ଦମ', - 'ଅରୁଣ', - 'ଅର୍କ', - 'ଅର୍ଜୁନ', - 'ଅଲେଖ', - 'ଅଶୋକ', - 'ଅଶ୍ରୁମୋଚନ', - 'ଅସୀତ', - 'ଆକାଶ', - 'ଆକୁଳାନନ୍ଦ', - 'ଆଦିତ୍ୟ', - 'ଆନନ୍ଦ', - 'ଆପଲସ୍ୱାମୀ', - 'ଆରତି', - 'ଆର୍ଯ୍ୟନ', - 'ଆଲୋକ', - 'ଆଶ୍ରିତ', - 'ଆସଫ', - 'ଇତିସ', - 'ଇନ୍ଦ୍ରମଣି', - 'ଇରାଶିଷ', - 'ଇଶ୍ୱର', - 'ଉତ୍କଳ', - 'ଉତ୍ତମ', - 'ଉତ୍ସବ', - 'ଉଧାର', - 'ଉପେନ୍ଦ୍ର', - 'ଉପେନ୍ଦ୍ରନାଥ', - 'ଉମାକାନ୍ତ', - 'ଉମାବଲ୍ଲଭ', - 'ଉମାଶଙ୍କର', - 'ଓଡ଼ିଆ', - 'ଓମପ୍ରକାଶ', - 'ଓମ୍', - 'କନକବର୍ଦ୍ଧନ', - 'କପିଳ', - 'କମଳାକାନ୍ତ', - 'କରୁଣାକର', - 'କରେନ୍ଦ୍ର', - 'କଳିଙ୍ଗ', - 'କଳ୍ପତରୁ', - 'କହ୍ନେଇ', - 'କାଙ୍ଗାଳି', - 'କାଙ୍ଗୋଇ', - 'କାର୍ତ୍ତିକ', - 'କାର୍ତ୍ତିକେଶ୍ୱର', - 'କାଳନ୍ଦୀ', - 'କାଳିଆ', - 'କାଳୁଖଣ୍ଡାୟତ', - 'କାଶୀନାଥ', - 'କାହ୍ନୁ', - 'କାହ୍ନୁରାମ', - 'କିରଣ', - 'କିଶୋରଚନ୍ଦ୍ର', - 'କିଶୋରୀମଣି', - 'କୁଞ୍ଜବିହାରୀ', - 'କୁଣାଳ', - 'କୁନା', - 'କୁମୁଦ', - 'କୁଳମଣି', - 'କୃଷ୍ଣ', - 'କୃଷ୍ଣଚନ୍ଦ୍ର', - 'କେଦାର', - 'କେଦାରନାଥ', - 'କେଶବ', - 'କୈଳାଶ', - 'କୈଳାସ', - 'କ୍ଷୀରୋଦ', - 'କ୍ଷେତ୍ର', - 'ଖଗେଶ୍ୱର', - 'ଖାରବେଳ', - 'ଗଙ୍ଗାଧର', - 'ଗଣେଶରାମ', - 'ଗଣେଶ୍ୱର', - 'ଗଦାଧର', - 'ଗିରିଜା', - 'ଗିରିଶ', - 'ଗିରୀଶ', - 'ଗୁରୁ', - 'ଗୁରୁକୃଷ୍ଣ', - 'ଗୁରୁଚରଣ', - 'ଗୈାତମ', - 'ଗୋକୁଳାନନ୍ଦ', - 'ଗୋପନାରାୟଣ', - 'ଗୋପାଳ', - 'ଗୋପାଳବଲ୍ଲଭ', - 'ଗୋପୀନାଥ', - 'ଗୋବିନ୍ଦ', - 'ଗୋଲକ', - 'ଗୌତମ', - 'ଗୌର', - 'ଗୌରହରି', - 'ଘଣ୍ଟେଶ୍ୱର', - 'ଘନଶ୍ୟାମ', - 'ଘାସିରାମ', - 'ଚକ୍ରଧର', - 'ଚକ୍ରମଣି', - 'ଚନ୍ଦନ', - 'ଚନ୍ଦ୍ରମଣି', - 'ଚନ୍ଦ୍ରଶେଖର', - 'ଚନ୍ଦ୍ରସେନ', - 'ଚିତରଂଜନ', - 'ଚିତ୍ତରଞ୍ଜନ', - 'ଚିନ୍ତାମଣି', - 'ଚିନ୍ମୟ', - 'ଚିରଂଜୀବ', - 'ଚୈତନ୍ୟ', - 'ଛତିଶ', - 'ଛୋଟରାୟ', - 'ଜଗତେଶ୍ୱର', - 'ଜଗଦାନନ୍ଦ', - 'ଜଗଦିଶ', - 'ଜଗନ୍ନାଥ', - 'ଜଗବନ୍ଧୁ', - 'ଜନାର୍ଦନ', - 'ଜର୍ଜ', - 'ଜଲାଲ', - 'ଜିତୁ', - 'ଜୀବନ', - 'ଜୀବନାନନ୍ଦ', - 'ଜ୍ଞାନ', - 'ଜ୍ୟୋତି', - 'ଜ୍ୟୋତିନ୍ଦ୍ର', - 'ଜ୍ୟୋତିପ୍ରକାଶ', - 'ଜ୍ୟୋତିରିନ୍ଦ୍ର', - 'ଜୟକୃଷ୍ଣ', - 'ଜୟଦେବ', - 'ଜୟନାରାୟଣ', - 'ଜୟନ୍ତ', - 'ଜୟରାମ', - 'ଜୟୀରାମ', - 'ଝିନ୍ନ', - 'ତନ୍ମୟ', - 'ତପନ', - 'ତପୁ', - 'ତାନସେନ', - 'ତାରାପ୍ରସାଦ', - 'ତୁଷାରକାନ୍ତି', - 'ତ୍ରିନାଥ', - 'ତ୍ରିଲୋଚନ', - 'ଦାମୋଦର', - 'ଦାଶରଥୀ', - 'ଦିଗମ୍ବର', - 'ଦିନେଶ', - 'ଦିବାକରନାଥ', - 'ଦିବ୍ୟଶଙ୍କର', - 'ଦିଲୀପ', - 'ଦିଲ୍ଲୀପ', - 'ଦୀନବନ୍ଧୁ', - 'ଦୀପକ', - 'ଦୀପ୍ତିରଞ୍ଜନ', - 'ଦୁଃଖୀରାମ', - 'ଦୁଃଶାସନ', - 'ଦୁତିଅ', - 'ଦୁର୍ଯ୍ୟୋଧନ', - 'ଦୁର୍ଲଭ', - 'ଦୁଷ୍ମନ୍ତ', - 'ଦେବଦାସ', - 'ଦେବନାରାୟଣ', - 'ଦେବରାଜ', - 'ଦେବାଶିଷ', - 'ଦେବୀରଞ୍ଜନ', - 'ଦେବୁ', - 'ଦେବେନ', - 'ଦେବେନ୍ଦ୍ର', - 'ଦେବେନ୍ଦ୍ରନାଥ', - 'ଦେବେଶ', - 'ଦୈତାରି', - 'ଦୈତାରୀ', - 'ଦୋଳଗୋବିନ୍ଦ', - 'ଧନଞ୍ଜୟ', - 'ଧନୁର୍ଜୟ', - 'ଧନେଶ୍ୱର', - 'ଧରଣୀଧର', - 'ଧର୍ମାନନ୍ଦ', - 'ଧାମରାଜ', - 'ଧୀର', - 'ଧୃବ', - 'ଧ୍ରୁବ', - 'ନଗେନ', - 'ନଗେନ୍ଦ୍ର', - 'ନଟରାଜ', - 'ନନ୍ଦକିଶୋର', - 'ନବ', - 'ନବକିଶୋର', - 'ନବଘନ', - 'ନବଜ୍ୟୋତି', - 'ନବୀନ', - 'ନରସିଂ', - 'ନରସିଂହ', - 'ନରେନ', - 'ନରେନ୍ଦ୍ର', - 'ନାଉରୀ', - 'ନିଜାମ', - 'ନିତାଇ', - 'ନିତ୍ୟାନନ୍ଦ', - 'ନିପନ୍', - 'ନିରଞ୍ଜନ', - 'ନିହାର', - 'ନୀରଦ', - 'ନୀଳମଣୀ', - 'ନୀଳମାଧବ', - 'ନୀଳାଦ୍ରି', - 'ନୀଳାମ୍ବର', - 'ନୃସିଂହ', - 'ନେତ୍ରାନନ୍ଦ', - 'ନୟନ', - 'ପଞ୍ଚାନନ', - 'ପଠାଣି', - 'ପଦ', - 'ପଦ୍ମଚରଣ', - 'ପଦ୍ମନ', - 'ପଦ୍ମନାଭ', - 'ପଦ୍ମଲୋଚନ', - 'ପପୁ', - 'ପବିତ୍ର', - 'ପରମା', - 'ପରମାନନ୍ଦ', - 'ପରମେଶ୍ୱର', - 'ପର୍ଶୁରାମ', - 'ପାଟ୍ଟ', - 'ପାଡୁ', - 'ପାଣୁ', - 'ପିଣ୍ଟୁ', - 'ପିଣ୍ଡାକୀ', - 'ପୀତାମ୍ବର', - 'ପୁଣ୍ୟପ୍ରଭା', - 'ପୁପିନ୍ଦର', - 'ପୁରୁଷୋତ୍ତମ', - 'ପୂର୍ଣଚନ୍ଦ୍ର', - 'ପୂର୍ଣ୍ଣଚନ୍ଦ୍ର', - 'ପୂର୍ଣ୍ଣବାସୀ', - 'ପୂର୍ଣ୍ଣାନନ୍ଦ', - 'ପୃଥ୍ୱୀରାଜ', - 'ପ୍ରଜ୍ଞାନ', - 'ପ୍ରଣବ', - 'ପ୍ରଦିପ୍ତ', - 'ପ୍ରଦୀପ୍ତ', - 'ପ୍ରଦ୍ୟୁମ୍ନ', - 'ପ୍ରଫୁଲ', - 'ପ୍ରଫୁଲ୍ଲ', - 'ପ୍ରଫେସର', - 'ପ୍ରବୀଣ', - 'ପ୍ରଭାକର', - 'ପ୍ରଭାତ', - 'ପ୍ରଭାସ', - 'ପ୍ରଭୁ', - 'ପ୍ରମୋଦ', - 'ପ୍ରଶାନ୍ତ', - 'ପ୍ରହଲ୍ଲାଦ', - 'ପ୍ରାଣ', - 'ପ୍ରିୟନାଥ', - 'ପ୍ରିୟା', - 'ପ୍ରୀତମ୍', - 'ପ୍ରୀତିରଞ୍ଜନ', - 'ପ୍ରେମାନନ୍ଦ', - 'ପ୍ୟାରୀମୋହନ', - 'ଫକୀର', - 'ବଂଶୀଧର', - 'ବଟକୃଷ୍ଣ', - 'ବଦ୍ରି', - 'ବଦ୍ରିନାରାୟଣ', - 'ବନବାସୀ', - 'ବନମାଳି', - 'ବନମାଳୀ', - 'ବବି', - 'ବରେନ୍ଦ୍ର', - 'ବଳଭଦ୍ର', - 'ବଳରାମ', - 'ବସେନ', - 'ବାଇକୋଳି', - 'ବାଇଧର', - 'ବାଙ୍କ', - 'ବାବୁ', - 'ବାବୁଶାନ୍', - 'ବାଳକୃଷ୍ଣ', - 'ବାଳକ୍ରିଷ୍ଣ', - 'ବାଳଗୋପାଳ', - 'ବାସୁଦେବ', - 'ବିକଳାନନ୍ଦ', - 'ବିକ୍ରମ', - 'ବିଜୁ', - 'ବିଜୟ', - 'ବିଜୟରଞ୍ଜନ', - 'ବିଜୟଶ୍ରୀ', - 'ବିଜୟାନନ୍ଦ', - 'ବିଧୁ', - 'ବିଧୁଭୂଷଣ', - 'ବିନୋଦ', - 'ବିପିନ', - 'ବିପ୍ଳବ', - 'ବିଭୁତି', - 'ବିଭୁଦତ୍ତ', - 'ବିଭୁଧେନ୍ଦ୍ର', - 'ବିଭୂତି', - 'ବିଭୂତିଭୂଷଣ', - 'ବିମଳ', - 'ବିରେନ', - 'ବିରେନ୍', - 'ବିଶ୍ୱଜିତ', - 'ବିଶ୍ୱନାଥ', - 'ବିଶ୍ୱଭୂଷଣ', - 'ବିଶ୍ୱରଞ୍ଜନ', - 'ବିଷ୍ଣୁ', - 'ବିଷ୍ଣୁବ୍ରତ', - 'ବିସ୍ମୟ', - 'ବୀର', - 'ବୀରକିଶୋର', - 'ବୀରଭଦ୍ର', - 'ବୀରେନ', - 'ବୀରେନ୍ଦ୍ରନାଥ', - 'ବୁଦ୍ଧାଦିତ୍ୟ', - 'ବୁଧନ', - 'ବୃନ୍ଦାବନ', - 'ବେଣୀମାଧବ', - 'ବେଣୁଧର', - 'ବେଦ', - 'ବେଦବ୍ୟାସ', - 'ବେଦାଙ୍ଗଦାସ', - 'ବୈଦ୍ୟନାଥ', - 'ବୈରାଗୀ', - 'ବୈଷ୍ଣବ', - 'ବୋନାଜ', - 'ବ୍ରଜ', - 'ବ୍ରହ୍ମାନନ୍ଦ', - 'ବ୍ୟୋମକେଶ', - 'ଭଗୀରଥ', - 'ଭଜମନ', - 'ଭବାନୀଶଙ୍କର', - 'ଭବେନ୍ଦ୍ରନାଥ', - 'ଭାଇଗା', - 'ଭାଗବତ', - 'ଭାଗିରଥୀ', - 'ଭାଗୀରଥି', - 'ଭାଦବ', - 'ଭାନୁଚରଣ', - 'ଭାବଗ୍ରାହୀ', - 'ଭାସ୍କର', - 'ଭୀମ', - 'ଭୁବନାନନ୍ଦ', - 'ଭୁବନେଶ୍ୱର', - 'ଭୂଜବଳ', - 'ଭୂପିନ୍ଦର', - 'ଭୂବନାନନ୍ଦ', - 'ଭୋକାଲି', - 'ମଙ୍ଗରାଜ', - 'ମଙ୍ଗଳ', - 'ମଦନ', - 'ମଦନମୋହନ', - 'ମଧୁସୂଦନ', - 'ମନମୋହନ', - 'ମନୋଜ', - 'ମନୋରଞ୍ଜନ', - 'ମନୋହର', - 'ମନ୍ମଥ', - 'ମହମ୍ମଦ', - 'ମହାଦେବ', - 'ମହୀଧର', - 'ମହେନ୍ଦ୍ର', - 'ମହେଶ', - 'ମହେଶ୍ୱର', - 'ମାଖନଲାଲ', - 'ମାଧବ', - 'ମାଧବାନନ୍ଦ', - 'ମାନସ', - 'ମାର୍କଣ୍ଡ', - 'ମାଲା', - 'ମାୟାଧର', - 'ମିତ୍ରଭାନୁ', - 'ମିଲନ', - 'ମିହିର', - 'ମୀନକେତନ', - 'ମୁକୁନ୍ଦ', - 'ମୁକେଶ', - 'ମୁନ୍ନା', - 'ମୁରଲୀ', - 'ମୂରଲୀଧର', - 'ମୃଣାଳ', - 'ମୃତ୍ୟୁଞ୍ଜୟ', - 'ମେହମୁଦ', - 'ମୋଚିରାମ', - 'ମୋହନ', - 'ଯଦୁମଣି', - 'ଯଦୁମଣୀ', - 'ଯାଦବ', - 'ଯୁଗଳ', - 'ଯୁଧିଷ୍ଠିର', - 'ଯୋଗେନ୍ଦ୍ର', - 'ଯୋଗେଶ', - 'ରଂଜନ', - 'ରଘୁନନ୍ଦନ', - 'ରଘୁନାଥ', - 'ରଘୁରାମ', - 'ରଜନୀ', - 'ରଜନୀକାନ୍ତ', - 'ରଞ୍ଜିତ', - 'ରଞ୍ଜୀବ', - 'ରଣେନ୍ଦ୍ର', - 'ରତ୍ନ', - 'ରତ୍ନାକର', - 'ରଥ', - 'ରବି', - 'ରବିନାରାୟଣ', - 'ରବିନ୍ଦ୍ର', - 'ରବୀନ୍ଦ୍ର', - 'ରମାକାନ୍ତ', - 'ରମେଶ', - 'ରସାନନ୍ଦ', - 'ରାଇଚରଣ', - 'ରାଇମୋହନ', - 'ରାକେଶ', - 'ରାଖାଲ', - 'ରାଘବ', - 'ରାଜ', - 'ରାଜକିଶୋର', - 'ରାଜକୃଷ୍ଣ', - 'ରାଜୀବ', - 'ରାଜୁ', - 'ରାଜେନ୍ଦ୍ର', - 'ରାଜେଶ୍ୱରୀ', - 'ରାଧାକାନ୍ତ', - 'ରାଧାକୃଷ୍ଣ', - 'ରାଧାମୋହନ', - 'ରାଧୁ', - 'ରାମ', - 'ରାମଚନ୍ଦ୍ର', - 'ରାମରାୟ', - 'ରିପୁନାଥ', - 'ରିଷଭ', - 'ରୁଦ୍ର', - 'ରୋମାଞ୍ଚ', - 'ରୋହିତ', - 'ରୋହିଦାସ', - 'ଲକ୍ଷ୍ମଣ', - 'ଲକ୍ଷ୍ମୀକାନ୍ତ', - 'ଲକ୍ଷ୍ମୀଧର', - 'ଲଡ଼ୁ', - 'ଲମ୍ବୋଦର', - 'ଲଳିତ', - 'ଲଳିତେନ୍ଦୁ', - 'ଲାଲ', - 'ଲାଲବିହାରୀ', - 'ଲାଲା', - 'ଲିଙ୍ଗରାଜ', - 'ଲୋକନାଥ', - 'ଶଇବ', - 'ଶତ୍ରୁଘ୍ନ', - 'ଶମ୍ଭୁନାଥ', - 'ଶରତ', - 'ଶରଦ', - 'ଶଶି', - 'ଶଶିକାନ୍ତ', - 'ଶଶିଭୂଷଣ', - 'ଶାନ୍ତନୁ', - 'ଶାନ୍ତିରାଜ', - 'ଶାରଦା', - 'ଶିବବ୍ରତ', - 'ଶିବଶଙ୍କର', - 'ଶିବସୁନ୍ଦର', - 'ଶିବାଜୀ', - 'ଶିଶିର', - 'ଶୁକଦେବ', - 'ଶେକ', - 'ଶୈଳେନ୍ଦ୍ର', - 'ଶୋଭରାମ', - 'ଶ୍ରୀକାନ୍ତ', - 'ଶ୍ରୀତମ', - 'ଶ୍ରୀଦେବ', - 'ଶ୍ରୀଧର', - 'ଶ୍ରୀନାଥ', - 'ଶ୍ରୀରାମ', - 'ଶ୍ୟାମ', - 'ଶ୍ୟାମଘନ', - 'ଶ୍ୟାମଳେନ୍ଦୁ', - 'ଶ୍ୟାମସୁନ୍ଦର', - 'ସଂଗ୍ରାମ', - 'ସଉରା', - 'ସକିଲା', - 'ସଚ୍ଚି', - 'ସଞ୍ଜିବ', - 'ସଞ୍ଜୀବ', - 'ସଞ୍ଜୟ', - 'ସତ୍ୟନାରାୟଣ', - 'ସତ୍ୟପ୍ରିୟ', - 'ସତ୍ୟବାଦୀ', - 'ସତ୍ୟବ୍ରତ', - 'ସତ୍ୟଭାମା', - 'ସତ୍ୟଭୂଷଣ', - 'ସତ୍ୟସୁନ୍ଦର', - 'ସତ୍ୟାନନ୍ଦ', - 'ସଦନ', - 'ସଦାଶିବ', - 'ସନତ', - 'ସନାତନ', - 'ସନ୍ତୋଷ', - 'ସମରେନ୍ଦ୍ର', - 'ସମରେଶ', - 'ସମଲ', - 'ସମୀର', - 'ସମ୍ପଦ', - 'ସମ୍ବିତ', - 'ସରୋଜ', - 'ସରୋଜକାନ୍ତ', - 'ସରୋଜିନୀ', - 'ସଲିଲ', - 'ସହରାଇ', - 'ସାଗର', - 'ସାଗୀର', - 'ସାଧୁ', - 'ସାନନ୍ଦ', - 'ସାମୁଏଲ', - 'ସାରଦା', - 'ସାଲଖାନ', - 'ସାଲବେଗ', - 'ସାଲୁଜା', - 'ସାହେବ', - 'ସିକନ୍ଦର', - 'ସିଦ୍ଧଲାଲ', - 'ସିଦ୍ଧାନ୍ତ', - 'ସିଦ୍ଧାର୍ଥ', - 'ସୀତାକାନ୍ତ', - 'ସୁକାନ୍ତ', - 'ସୁକୁଡା', - 'ସୁକୁମାର', - 'ସୁଜିତ', - 'ସୁଦର୍ଶନ', - 'ସୁଦାମ', - 'ସୁଧାଂଶୁ', - 'ସୁଧାକର', - 'ସୁଧୀର', - 'ସୁନୀଲ', - 'ସୁନ୍ଦର', - 'ସୁବର୍ଣ୍ଣ', - 'ସୁବାଶ', - 'ସୁବାଷ', - 'ସୁବାସ', - 'ସୁବୋଧ', - 'ସୁବ୍ରତ', - 'ସୁମନ', - 'ସୁର', - 'ସୁରେନ୍ଦ୍ର', - 'ସୁରେନ୍ଦ୍ରନାଥ', - 'ସୁରେଶ', - 'ସୁଶାନ୍ତ', - 'ସୁଶୀଳ', - 'ସୂର୍ଯ୍ୟ', - 'ସୂର୍ଯ୍ୟମଣି', - 'ସୋମେଶ', - 'ସୌଭିକ', - 'ସୌମ୍ୟ', - 'ସ୍ୱରାଜ', - 'ସ୍ୱରୂପ', - 'ହର', - 'ହରମୋହନ', - 'ହରିଚରଣ', - 'ହରିପ୍ରସାଦ', - 'ହରିହର', - 'ହରେକୃଷ୍ଣ', - 'ହାଡ଼ି', - 'ହାଡ଼ିବନ୍ଧୁ', - 'ହିମାଂଶୁ', - 'ହେମନ୍ତ', - 'ହୋମସିଂହ', + "ଅଂଶୁମାନ", + "ଅକ୍ଷୟ", + "ଅଖିଳ", + "ଅଗସ୍ତି", + "ଅଙ୍ଗଦ", + "ଅଚ୍ୟୁତାନନ୍ଦ", + "ଅଜିତ", + "ଅଜୟ", + "ଅତନୁ", + "ଅଦ୍ୱୈତ", + "ଅଧିରାଜ", + "ଅନନ୍ତ", + "ଅନାଦି", + "ଅନାଦୀ", + "ଅନିରୁଦ୍ଧ", + "ଅନିଲ", + "ଅନୀଲ", + "ଅନୁଭବ", + "ଅନ୍ତର୍ଯ୍ୟାମୀ", + "ଅପୂର୍ବ", + "ଅଭିନ୍ନ", + "ଅଭିମନ୍ୟୁ", + "ଅଭିରାମ", + "ଅଭିଷେକ", + "ଅଭୟ", + "ଅମର", + "ଅମରନାଥ", + "ଅମରେନ୍ଦ୍ର", + "ଅମିନୂଲ", + "ଅମ୍ଳାନ", + "ଅରକ୍ଷିତ", + "ଅରବିନ୍ଦ", + "ଅରିନ୍ଦମ", + "ଅରୁଣ", + "ଅର୍କ", + "ଅର୍ଜୁନ", + "ଅଲେଖ", + "ଅଶୋକ", + "ଅଶ୍ରୁମୋଚନ", + "ଅସୀତ", + "ଆକାଶ", + "ଆକୁଳାନନ୍ଦ", + "ଆଦିତ୍ୟ", + "ଆନନ୍ଦ", + "ଆପଲସ୍ୱାମୀ", + "ଆରତି", + "ଆର୍ଯ୍ୟନ", + "ଆଲୋକ", + "ଆଶ୍ରିତ", + "ଆସଫ", + "ଇତିସ", + "ଇନ୍ଦ୍ରମଣି", + "ଇରାଶିଷ", + "ଇଶ୍ୱର", + "ଉତ୍କଳ", + "ଉତ୍ତମ", + "ଉତ୍ସବ", + "ଉଧାର", + "ଉପେନ୍ଦ୍ର", + "ଉପେନ୍ଦ୍ରନାଥ", + "ଉମାକାନ୍ତ", + "ଉମାବଲ୍ଲଭ", + "ଉମାଶଙ୍କର", + "ଓଡ଼ିଆ", + "ଓମପ୍ରକାଶ", + "ଓମ୍", + "କନକବର୍ଦ୍ଧନ", + "କପିଳ", + "କମଳାକାନ୍ତ", + "କରୁଣାକର", + "କରେନ୍ଦ୍ର", + "କଳିଙ୍ଗ", + "କଳ୍ପତରୁ", + "କହ୍ନେଇ", + "କାଙ୍ଗାଳି", + "କାଙ୍ଗୋଇ", + "କାର୍ତ୍ତିକ", + "କାର୍ତ୍ତିକେଶ୍ୱର", + "କାଳନ୍ଦୀ", + "କାଳିଆ", + "କାଳୁଖଣ୍ଡାୟତ", + "କାଶୀନାଥ", + "କାହ୍ନୁ", + "କାହ୍ନୁରାମ", + "କିରଣ", + "କିଶୋରଚନ୍ଦ୍ର", + "କିଶୋରୀମଣି", + "କୁଞ୍ଜବିହାରୀ", + "କୁଣାଳ", + "କୁନା", + "କୁମୁଦ", + "କୁଳମଣି", + "କୃଷ୍ଣ", + "କୃଷ୍ଣଚନ୍ଦ୍ର", + "କେଦାର", + "କେଦାରନାଥ", + "କେଶବ", + "କୈଳାଶ", + "କୈଳାସ", + "କ୍ଷୀରୋଦ", + "କ୍ଷେତ୍ର", + "ଖଗେଶ୍ୱର", + "ଖାରବେଳ", + "ଗଙ୍ଗାଧର", + "ଗଣେଶରାମ", + "ଗଣେଶ୍ୱର", + "ଗଦାଧର", + "ଗିରିଜା", + "ଗିରିଶ", + "ଗିରୀଶ", + "ଗୁରୁ", + "ଗୁରୁକୃଷ୍ଣ", + "ଗୁରୁଚରଣ", + "ଗୈାତମ", + "ଗୋକୁଳାନନ୍ଦ", + "ଗୋପନାରାୟଣ", + "ଗୋପାଳ", + "ଗୋପାଳବଲ୍ଲଭ", + "ଗୋପୀନାଥ", + "ଗୋବିନ୍ଦ", + "ଗୋଲକ", + "ଗୌତମ", + "ଗୌର", + "ଗୌରହରି", + "ଘଣ୍ଟେଶ୍ୱର", + "ଘନଶ୍ୟାମ", + "ଘାସିରାମ", + "ଚକ୍ରଧର", + "ଚକ୍ରମଣି", + "ଚନ୍ଦନ", + "ଚନ୍ଦ୍ରମଣି", + "ଚନ୍ଦ୍ରଶେଖର", + "ଚନ୍ଦ୍ରସେନ", + "ଚିତରଂଜନ", + "ଚିତ୍ତରଞ୍ଜନ", + "ଚିନ୍ତାମଣି", + "ଚିନ୍ମୟ", + "ଚିରଂଜୀବ", + "ଚୈତନ୍ୟ", + "ଛତିଶ", + "ଛୋଟରାୟ", + "ଜଗତେଶ୍ୱର", + "ଜଗଦାନନ୍ଦ", + "ଜଗଦିଶ", + "ଜଗନ୍ନାଥ", + "ଜଗବନ୍ଧୁ", + "ଜନାର୍ଦନ", + "ଜର୍ଜ", + "ଜଲାଲ", + "ଜିତୁ", + "ଜୀବନ", + "ଜୀବନାନନ୍ଦ", + "ଜ୍ଞାନ", + "ଜ୍ୟୋତି", + "ଜ୍ୟୋତିନ୍ଦ୍ର", + "ଜ୍ୟୋତିପ୍ରକାଶ", + "ଜ୍ୟୋତିରିନ୍ଦ୍ର", + "ଜୟକୃଷ୍ଣ", + "ଜୟଦେବ", + "ଜୟନାରାୟଣ", + "ଜୟନ୍ତ", + "ଜୟରାମ", + "ଜୟୀରାମ", + "ଝିନ୍ନ", + "ତନ୍ମୟ", + "ତପନ", + "ତପୁ", + "ତାନସେନ", + "ତାରାପ୍ରସାଦ", + "ତୁଷାରକାନ୍ତି", + "ତ୍ରିନାଥ", + "ତ୍ରିଲୋଚନ", + "ଦାମୋଦର", + "ଦାଶରଥୀ", + "ଦିଗମ୍ବର", + "ଦିନେଶ", + "ଦିବାକରନାଥ", + "ଦିବ୍ୟଶଙ୍କର", + "ଦିଲୀପ", + "ଦିଲ୍ଲୀପ", + "ଦୀନବନ୍ଧୁ", + "ଦୀପକ", + "ଦୀପ୍ତିରଞ୍ଜନ", + "ଦୁଃଖୀରାମ", + "ଦୁଃଶାସନ", + "ଦୁତିଅ", + "ଦୁର୍ଯ୍ୟୋଧନ", + "ଦୁର୍ଲଭ", + "ଦୁଷ୍ମନ୍ତ", + "ଦେବଦାସ", + "ଦେବନାରାୟଣ", + "ଦେବରାଜ", + "ଦେବାଶିଷ", + "ଦେବୀରଞ୍ଜନ", + "ଦେବୁ", + "ଦେବେନ", + "ଦେବେନ୍ଦ୍ର", + "ଦେବେନ୍ଦ୍ରନାଥ", + "ଦେବେଶ", + "ଦୈତାରି", + "ଦୈତାରୀ", + "ଦୋଳଗୋବିନ୍ଦ", + "ଧନଞ୍ଜୟ", + "ଧନୁର୍ଜୟ", + "ଧନେଶ୍ୱର", + "ଧରଣୀଧର", + "ଧର୍ମାନନ୍ଦ", + "ଧାମରାଜ", + "ଧୀର", + "ଧୃବ", + "ଧ୍ରୁବ", + "ନଗେନ", + "ନଗେନ୍ଦ୍ର", + "ନଟରାଜ", + "ନନ୍ଦକିଶୋର", + "ନବ", + "ନବକିଶୋର", + "ନବଘନ", + "ନବଜ୍ୟୋତି", + "ନବୀନ", + "ନରସିଂ", + "ନରସିଂହ", + "ନରେନ", + "ନରେନ୍ଦ୍ର", + "ନାଉରୀ", + "ନିଜାମ", + "ନିତାଇ", + "ନିତ୍ୟାନନ୍ଦ", + "ନିପନ୍", + "ନିରଞ୍ଜନ", + "ନିହାର", + "ନୀରଦ", + "ନୀଳମଣୀ", + "ନୀଳମାଧବ", + "ନୀଳାଦ୍ରି", + "ନୀଳାମ୍ବର", + "ନୃସିଂହ", + "ନେତ୍ରାନନ୍ଦ", + "ନୟନ", + "ପଞ୍ଚାନନ", + "ପଠାଣି", + "ପଦ", + "ପଦ୍ମଚରଣ", + "ପଦ୍ମନ", + "ପଦ୍ମନାଭ", + "ପଦ୍ମଲୋଚନ", + "ପପୁ", + "ପବିତ୍ର", + "ପରମା", + "ପରମାନନ୍ଦ", + "ପରମେଶ୍ୱର", + "ପର୍ଶୁରାମ", + "ପାଟ୍ଟ", + "ପାଡୁ", + "ପାଣୁ", + "ପିଣ୍ଟୁ", + "ପିଣ୍ଡାକୀ", + "ପୀତାମ୍ବର", + "ପୁଣ୍ୟପ୍ରଭା", + "ପୁପିନ୍ଦର", + "ପୁରୁଷୋତ୍ତମ", + "ପୂର୍ଣଚନ୍ଦ୍ର", + "ପୂର୍ଣ୍ଣଚନ୍ଦ୍ର", + "ପୂର୍ଣ୍ଣବାସୀ", + "ପୂର୍ଣ୍ଣାନନ୍ଦ", + "ପୃଥ୍ୱୀରାଜ", + "ପ୍ରଜ୍ଞାନ", + "ପ୍ରଣବ", + "ପ୍ରଦିପ୍ତ", + "ପ୍ରଦୀପ୍ତ", + "ପ୍ରଦ୍ୟୁମ୍ନ", + "ପ୍ରଫୁଲ", + "ପ୍ରଫୁଲ୍ଲ", + "ପ୍ରଫେସର", + "ପ୍ରବୀଣ", + "ପ୍ରଭାକର", + "ପ୍ରଭାତ", + "ପ୍ରଭାସ", + "ପ୍ରଭୁ", + "ପ୍ରମୋଦ", + "ପ୍ରଶାନ୍ତ", + "ପ୍ରହଲ୍ଲାଦ", + "ପ୍ରାଣ", + "ପ୍ରିୟନାଥ", + "ପ୍ରିୟା", + "ପ୍ରୀତମ୍", + "ପ୍ରୀତିରଞ୍ଜନ", + "ପ୍ରେମାନନ୍ଦ", + "ପ୍ୟାରୀମୋହନ", + "ଫକୀର", + "ବଂଶୀଧର", + "ବଟକୃଷ୍ଣ", + "ବଦ୍ରି", + "ବଦ୍ରିନାରାୟଣ", + "ବନବାସୀ", + "ବନମାଳି", + "ବନମାଳୀ", + "ବବି", + "ବରେନ୍ଦ୍ର", + "ବଳଭଦ୍ର", + "ବଳରାମ", + "ବସେନ", + "ବାଇକୋଳି", + "ବାଇଧର", + "ବାଙ୍କ", + "ବାବୁ", + "ବାବୁଶାନ୍", + "ବାଳକୃଷ୍ଣ", + "ବାଳକ୍ରିଷ୍ଣ", + "ବାଳଗୋପାଳ", + "ବାସୁଦେବ", + "ବିକଳାନନ୍ଦ", + "ବିକ୍ରମ", + "ବିଜୁ", + "ବିଜୟ", + "ବିଜୟରଞ୍ଜନ", + "ବିଜୟଶ୍ରୀ", + "ବିଜୟାନନ୍ଦ", + "ବିଧୁ", + "ବିଧୁଭୂଷଣ", + "ବିନୋଦ", + "ବିପିନ", + "ବିପ୍ଳବ", + "ବିଭୁତି", + "ବିଭୁଦତ୍ତ", + "ବିଭୁଧେନ୍ଦ୍ର", + "ବିଭୂତି", + "ବିଭୂତିଭୂଷଣ", + "ବିମଳ", + "ବିରେନ", + "ବିରେନ୍", + "ବିଶ୍ୱଜିତ", + "ବିଶ୍ୱନାଥ", + "ବିଶ୍ୱଭୂଷଣ", + "ବିଶ୍ୱରଞ୍ଜନ", + "ବିଷ୍ଣୁ", + "ବିଷ୍ଣୁବ୍ରତ", + "ବିସ୍ମୟ", + "ବୀର", + "ବୀରକିଶୋର", + "ବୀରଭଦ୍ର", + "ବୀରେନ", + "ବୀରେନ୍ଦ୍ରନାଥ", + "ବୁଦ୍ଧାଦିତ୍ୟ", + "ବୁଧନ", + "ବୃନ୍ଦାବନ", + "ବେଣୀମାଧବ", + "ବେଣୁଧର", + "ବେଦ", + "ବେଦବ୍ୟାସ", + "ବେଦାଙ୍ଗଦାସ", + "ବୈଦ୍ୟନାଥ", + "ବୈରାଗୀ", + "ବୈଷ୍ଣବ", + "ବୋନାଜ", + "ବ୍ରଜ", + "ବ୍ରହ୍ମାନନ୍ଦ", + "ବ୍ୟୋମକେଶ", + "ଭଗୀରଥ", + "ଭଜମନ", + "ଭବାନୀଶଙ୍କର", + "ଭବେନ୍ଦ୍ରନାଥ", + "ଭାଇଗା", + "ଭାଗବତ", + "ଭାଗିରଥୀ", + "ଭାଗୀରଥି", + "ଭାଦବ", + "ଭାନୁଚରଣ", + "ଭାବଗ୍ରାହୀ", + "ଭାସ୍କର", + "ଭୀମ", + "ଭୁବନାନନ୍ଦ", + "ଭୁବନେଶ୍ୱର", + "ଭୂଜବଳ", + "ଭୂପିନ୍ଦର", + "ଭୂବନାନନ୍ଦ", + "ଭୋକାଲି", + "ମଙ୍ଗରାଜ", + "ମଙ୍ଗଳ", + "ମଦନ", + "ମଦନମୋହନ", + "ମଧୁସୂଦନ", + "ମନମୋହନ", + "ମନୋଜ", + "ମନୋରଞ୍ଜନ", + "ମନୋହର", + "ମନ୍ମଥ", + "ମହମ୍ମଦ", + "ମହାଦେବ", + "ମହୀଧର", + "ମହେନ୍ଦ୍ର", + "ମହେଶ", + "ମହେଶ୍ୱର", + "ମାଖନଲାଲ", + "ମାଧବ", + "ମାଧବାନନ୍ଦ", + "ମାନସ", + "ମାର୍କଣ୍ଡ", + "ମାଲା", + "ମାୟାଧର", + "ମିତ୍ରଭାନୁ", + "ମିଲନ", + "ମିହିର", + "ମୀନକେତନ", + "ମୁକୁନ୍ଦ", + "ମୁକେଶ", + "ମୁନ୍ନା", + "ମୁରଲୀ", + "ମୂରଲୀଧର", + "ମୃଣାଳ", + "ମୃତ୍ୟୁଞ୍ଜୟ", + "ମେହମୁଦ", + "ମୋଚିରାମ", + "ମୋହନ", + "ଯଦୁମଣି", + "ଯଦୁମଣୀ", + "ଯାଦବ", + "ଯୁଗଳ", + "ଯୁଧିଷ୍ଠିର", + "ଯୋଗେନ୍ଦ୍ର", + "ଯୋଗେଶ", + "ରଂଜନ", + "ରଘୁନନ୍ଦନ", + "ରଘୁନାଥ", + "ରଘୁରାମ", + "ରଜନୀ", + "ରଜନୀକାନ୍ତ", + "ରଞ୍ଜିତ", + "ରଞ୍ଜୀବ", + "ରଣେନ୍ଦ୍ର", + "ରତ୍ନ", + "ରତ୍ନାକର", + "ରଥ", + "ରବି", + "ରବିନାରାୟଣ", + "ରବିନ୍ଦ୍ର", + "ରବୀନ୍ଦ୍ର", + "ରମାକାନ୍ତ", + "ରମେଶ", + "ରସାନନ୍ଦ", + "ରାଇଚରଣ", + "ରାଇମୋହନ", + "ରାକେଶ", + "ରାଖାଲ", + "ରାଘବ", + "ରାଜ", + "ରାଜକିଶୋର", + "ରାଜକୃଷ୍ଣ", + "ରାଜୀବ", + "ରାଜୁ", + "ରାଜେନ୍ଦ୍ର", + "ରାଜେଶ୍ୱରୀ", + "ରାଧାକାନ୍ତ", + "ରାଧାକୃଷ୍ଣ", + "ରାଧାମୋହନ", + "ରାଧୁ", + "ରାମ", + "ରାମଚନ୍ଦ୍ର", + "ରାମରାୟ", + "ରିପୁନାଥ", + "ରିଷଭ", + "ରୁଦ୍ର", + "ରୋମାଞ୍ଚ", + "ରୋହିତ", + "ରୋହିଦାସ", + "ଲକ୍ଷ୍ମଣ", + "ଲକ୍ଷ୍ମୀକାନ୍ତ", + "ଲକ୍ଷ୍ମୀଧର", + "ଲଡ଼ୁ", + "ଲମ୍ବୋଦର", + "ଲଳିତ", + "ଲଳିତେନ୍ଦୁ", + "ଲାଲ", + "ଲାଲବିହାରୀ", + "ଲାଲା", + "ଲିଙ୍ଗରାଜ", + "ଲୋକନାଥ", + "ଶଇବ", + "ଶତ୍ରୁଘ୍ନ", + "ଶମ୍ଭୁନାଥ", + "ଶରତ", + "ଶରଦ", + "ଶଶି", + "ଶଶିକାନ୍ତ", + "ଶଶିଭୂଷଣ", + "ଶାନ୍ତନୁ", + "ଶାନ୍ତିରାଜ", + "ଶାରଦା", + "ଶିବବ୍ରତ", + "ଶିବଶଙ୍କର", + "ଶିବସୁନ୍ଦର", + "ଶିବାଜୀ", + "ଶିଶିର", + "ଶୁକଦେବ", + "ଶେକ", + "ଶୈଳେନ୍ଦ୍ର", + "ଶୋଭରାମ", + "ଶ୍ରୀକାନ୍ତ", + "ଶ୍ରୀତମ", + "ଶ୍ରୀଦେବ", + "ଶ୍ରୀଧର", + "ଶ୍ରୀନାଥ", + "ଶ୍ରୀରାମ", + "ଶ୍ୟାମ", + "ଶ୍ୟାମଘନ", + "ଶ୍ୟାମଳେନ୍ଦୁ", + "ଶ୍ୟାମସୁନ୍ଦର", + "ସଂଗ୍ରାମ", + "ସଉରା", + "ସକିଲା", + "ସଚ୍ଚି", + "ସଞ୍ଜିବ", + "ସଞ୍ଜୀବ", + "ସଞ୍ଜୟ", + "ସତ୍ୟନାରାୟଣ", + "ସତ୍ୟପ୍ରିୟ", + "ସତ୍ୟବାଦୀ", + "ସତ୍ୟବ୍ରତ", + "ସତ୍ୟଭାମା", + "ସତ୍ୟଭୂଷଣ", + "ସତ୍ୟସୁନ୍ଦର", + "ସତ୍ୟାନନ୍ଦ", + "ସଦନ", + "ସଦାଶିବ", + "ସନତ", + "ସନାତନ", + "ସନ୍ତୋଷ", + "ସମରେନ୍ଦ୍ର", + "ସମରେଶ", + "ସମଲ", + "ସମୀର", + "ସମ୍ପଦ", + "ସମ୍ବିତ", + "ସରୋଜ", + "ସରୋଜକାନ୍ତ", + "ସରୋଜିନୀ", + "ସଲିଲ", + "ସହରାଇ", + "ସାଗର", + "ସାଗୀର", + "ସାଧୁ", + "ସାନନ୍ଦ", + "ସାମୁଏଲ", + "ସାରଦା", + "ସାଲଖାନ", + "ସାଲବେଗ", + "ସାଲୁଜା", + "ସାହେବ", + "ସିକନ୍ଦର", + "ସିଦ୍ଧଲାଲ", + "ସିଦ୍ଧାନ୍ତ", + "ସିଦ୍ଧାର୍ଥ", + "ସୀତାକାନ୍ତ", + "ସୁକାନ୍ତ", + "ସୁକୁଡା", + "ସୁକୁମାର", + "ସୁଜିତ", + "ସୁଦର୍ଶନ", + "ସୁଦାମ", + "ସୁଧାଂଶୁ", + "ସୁଧାକର", + "ସୁଧୀର", + "ସୁନୀଲ", + "ସୁନ୍ଦର", + "ସୁବର୍ଣ୍ଣ", + "ସୁବାଶ", + "ସୁବାଷ", + "ସୁବାସ", + "ସୁବୋଧ", + "ସୁବ୍ରତ", + "ସୁମନ", + "ସୁର", + "ସୁରେନ୍ଦ୍ର", + "ସୁରେନ୍ଦ୍ରନାଥ", + "ସୁରେଶ", + "ସୁଶାନ୍ତ", + "ସୁଶୀଳ", + "ସୂର୍ଯ୍ୟ", + "ସୂର୍ଯ୍ୟମଣି", + "ସୋମେଶ", + "ସୌଭିକ", + "ସୌମ୍ୟ", + "ସ୍ୱରାଜ", + "ସ୍ୱରୂପ", + "ହର", + "ହରମୋହନ", + "ହରିଚରଣ", + "ହରିପ୍ରସାଦ", + "ହରିହର", + "ହରେକୃଷ୍ଣ", + "ହାଡ଼ି", + "ହାଡ଼ିବନ୍ଧୁ", + "ହିମାଂଶୁ", + "ହେମନ୍ତ", + "ହୋମସିଂହ", ) first_names = first_names_male + first_names_female + first_names_unisex middle_names = ( - 'ଅଲ୍ଲୀ', - 'କିଶୋର', - 'କୃଷ୍ଣ', - 'କେତନ', - 'କେଶରୀ', - 'ଚନ୍ଦ୍ର', - 'ଚରଣ', - 'ତିଆଡ଼ି', - 'ନାଥ', - 'ବଲ୍ଲଭ', - 'ବିଦ୍ୟାଧର', - 'ବିହାରି', - 'ବିହାରୀ', - 'ଭଞ୍ଜ', - 'ଭାରତୀ', - 'ଭୂଷଣ', - 'ମଂଜରୀ', - 'ମଞ୍ଜରୀ', - 'ମତଲୁବ', - 'ମାଧବ', - 'ମାନସିଂହ', - 'ମୋହନ', - 'ଯୋଶେଫ୍', - 'ରାଣୀ', - 'ରାଧାରାଣୀ', - 'ଲକ୍ଷ୍ମୀପ୍ରିୟା', - 'ଲେଖା', - 'ଲୋଚନ', - 'ଶଙ୍କର', - 'ଶେଖର', - 'ଶ୍ରୀ', - 'ସବ୍ୟସାଚୀ', - 'ସାରଥି', - 'ସାରଥୀ', - 'ସିଂ', - 'ସିଂହ', - 'ସୁନ୍ଦରସୁର୍ଯ୍ୟା', + "ଅଲ୍ଲୀ", + "କିଶୋର", + "କୃଷ୍ଣ", + "କେତନ", + "କେଶରୀ", + "ଚନ୍ଦ୍ର", + "ଚରଣ", + "ତିଆଡ଼ି", + "ନାଥ", + "ବଲ୍ଲଭ", + "ବିଦ୍ୟାଧର", + "ବିହାରି", + "ବିହାରୀ", + "ଭଞ୍ଜ", + "ଭାରତୀ", + "ଭୂଷଣ", + "ମଂଜରୀ", + "ମଞ୍ଜରୀ", + "ମତଲୁବ", + "ମାଧବ", + "ମାନସିଂହ", + "ମୋହନ", + "ଯୋଶେଫ୍", + "ରାଣୀ", + "ରାଧାରାଣୀ", + "ଲକ୍ଷ୍ମୀପ୍ରିୟା", + "ଲେଖା", + "ଲୋଚନ", + "ଶଙ୍କର", + "ଶେଖର", + "ଶ୍ରୀ", + "ସବ୍ୟସାଚୀ", + "ସାରଥି", + "ସାରଥୀ", + "ସିଂ", + "ସିଂହ", + "ସୁନ୍ଦରସୁର୍ଯ୍ୟା", ) last_names = ( - 'ଅଗରୱାଲ', - 'ଅଗ୍ନିବେଶ', - 'ଅଗ୍ରୱାଲ', - 'ଅତାହାର', - 'ଅମାତ', - 'ଅଲୀ', - 'ଅହମଦ', - 'ଆଚାର୍ଯ୍ୟ', - 'ଆଦେନୀ', - 'ଆନନ୍ଦ', - 'ଆଲାମ', - 'ଇସଲାମ', - 'ଉଲ୍ଲାକା', - 'ଏକ୍କା', - 'ଓଝା', - 'ଓରାମ', - 'କଅଁର', - 'କର', - 'କହଁର', - 'କାଡାମ୍', - 'କାଡ୍ରାକା', - 'କାନୁନଗୋ', - 'କିନ୍ନାଗି', - 'କିଶାନ', - 'କିଷାନ', - 'କୁଅଁର', - 'କୁଣ୍ଡୁ', - 'କୁମାର', - 'କୁଲଦୀପ୍', - 'କୁଲେସିକା', - 'ଖଟୁଆ', - 'ଖାଁ', - 'ଖାନ', - 'ଖୁଣ୍ଟିଆ', - 'ଖୋସଲା', - 'ଗଜପତି', - 'ଗଡନାୟକ', - 'ଗଡ଼ତିଆ', - 'ଗଡ଼ନାୟକ', - 'ଗଣପତି', - 'ଗଣ୍ଡ', - 'ଗମାଙ୍ଗ', - 'ଗରଡ଼ିଆ', - 'ଗର୍ଦ୍ଦା', - 'ଗିରି', - 'ଗୁରୁ', - 'ଗୋସ୍ୱାମୀ', - 'ଗୌତମ', - 'ଗୌନ୍ତିଆ', - 'ଘଡ଼ାଇ', - 'ଘଡ଼େଇ', - 'ଘୋଷ', - 'ଚକ୍ରବର୍ତ୍ତୀ', - 'ଚଣ୍ଡ', - 'ଚମ୍ପତିରାୟ', - 'ଚାଟାର୍ଜି', - 'ଚିରଞ୍ଜୀବି', - 'ଚୌଧୁରୀ', - 'ଚୌରାଶିଆ', - 'ଛତ୍ରିଆ', - 'ଛୁରିଆ', - 'ଛୋଟରାୟ', - 'ଛୋଲିଆ', - 'ଜଗଡାଲ', - 'ଜଗଦେବ', - 'ଜାନୀ', - 'ଜେନା', - 'ଜୈନ', - 'ଝୋଡ଼ିଆ', - 'ଟିକାୟତ', - 'ଟୁଡୁ', - 'ଟେଟେ', - 'ଡାଙ୍ଗ', - 'ଢ଼ୋଲକିଆ', - 'ଢାଲି', - 'ତନ୍ତି', - 'ତରାଇ', - 'ତିଆଡ଼ି', - 'ତିରିୟା', - 'ତିର୍କୀ', - 'ତେଜ', - 'ତ୍ରିପାଠୀ', - 'ଥାପା', - 'ଦତ୍ତ', - 'ଦରାଇ', - 'ଦଳବେହେରା', - 'ଦାଶ', - 'ଦାସ', - 'ଦାସନାୟକ', - 'ଦାସବର୍ମା', - 'ଦିଆନ', - 'ଦିଶାରୀ', - 'ଦୀପ', - 'ଦୁରିଆ', - 'ଦୁଲାଳୀ', - 'ଦେ', - 'ଦେଇ', - 'ଦେଓ', - 'ଦେବ', - 'ଦେବତା', - 'ଦେବି', - 'ଦେବୀ', - 'ଦେହୁରୀ', - 'ଦୋରା', - 'ଦ୍ୟାନସାମନ୍ତରାୟ', - 'ଦ୍ୱିବେଦୀ', - 'ଧଡ଼ା', - 'ଧଡା', - 'ଧଳ', - 'ନନ୍ଦ', - 'ନନ୍ଦି', - 'ନାଏକ', - 'ନାଗ', - 'ନାଗେଶ', - 'ନାଥ', - 'ନାହାକ', - 'ନାୟକ', - 'ନିଆଲ', - 'ପଟୁଆ', - 'ପଟ୍ଟନାୟକ', - 'ପଣ୍ଡା', - 'ପଣ୍ଡିତ', - 'ପତି', - 'ପମ', - 'ପରବୀନ', - 'ପରମାଣିକ', - 'ପରିଜା', - 'ପରିଡ଼ା', - 'ପରିଡା', - 'ପଲେଇ', - 'ପଲ୍ଲାଇ', - 'ପାଇକରାୟ', - 'ପାଙ୍ଗୀ', - 'ପାଢ଼ୀ', - 'ପାଣି', - 'ପାଣିଗ୍ରାହୀ', - 'ପାତ୍ର', - 'ପାଲ', - 'ପାଲିତ', - 'ପାଳ', - 'ପୁଜାରୀ', - 'ପୁଟୀ', - 'ପୁରୋହିତ', - 'ପୂଜାରୀ', - 'ପୃଷ୍ଟି', - 'ପୋଡାଲ', - 'ପୋଦ୍ଦାର', - 'ପ୍ରତିହାରୀ', - 'ପ୍ରଧାନ', - 'ପ୍ରଧାନୀ', - 'ପ୍ରହରାଜ', - 'ପ୍ରିୟଦର୍ଶିନୀ', - 'ବକା', - 'ବଗର୍ତ୍ତି', - 'ବଡ଼ଜେନା', - 'ବରାଳ', - 'ବରିହା', - 'ବର୍ମା', - 'ବଳ', - 'ବଳବନ୍ତରାୟ', - 'ବଳସାମନ୍ତ', - 'ବଳିଆରସିଂହ', - 'ବଳୀୟାରସିଂହ', - 'ବସନ୍ତ', - 'ବସୁ', - 'ବସ୍ତିଆ', - 'ବାଗ', - 'ବାନାର୍ଜୀ', - 'ବାବୁ', - 'ବାରିକ', - 'ବାର୍ଲା', - 'ବାହିନୀପତି', - 'ବାହୁବଳେନ୍ଦ୍ର', - 'ବିଜୁଳି', - 'ବିଦ୍ୟାଧର', - 'ବିଶୋୟୀ', - 'ବିଶ୍ୱାଳ', - 'ବୀର', - 'ବେଉରା', - 'ବେହୁରା', - 'ବେହେରା', - 'ବୈଦ୍ୟ', - 'ବୋଷ', - 'ବ୍ରହ୍ମା', - 'ବ୍ୟାସ', - 'ଭଞ୍ଜ', - 'ଭଞ୍ଜଦେଓ', - 'ଭଟ୍ଟାଚାର୍ଯ୍ୟ', - 'ଭୂୟାଁ', - 'ଭୋଇ', - 'ମଙ୍ଗରାଜ', - 'ମଢ଼େଇ', - 'ମଣ୍ଡଳ', - 'ମର୍ଦ୍ଦରାଜ', - 'ମଲିକ', - 'ମଲ୍ଲ', - 'ମଲ୍ଲିକ', - 'ମହନ୍ତ', - 'ମହସୀନ', - 'ମହାକୁଡ଼', - 'ମହାନନ୍ଦ', - 'ମହାନ୍ତି', - 'ମହାପାତ୍ର', - 'ମହାରଣା', - 'ମହାରଥୀ', - 'ମହାଲିଙ୍ଗା', - 'ମହାଳିକ', - 'ମାଝି', - 'ମାଝୀ', - 'ମାଢ଼ୀ', - 'ମାଢ଼େଇ', - 'ମାନସିଂହ', - 'ମାନ୍ଧାତା', - 'ମାରାଣ୍ଡି', - 'ମିଞ୍ଜ୍', - 'ମିତ୍ର', - 'ମିର୍ଦ୍ଧା', - 'ମିଶ୍ର', - 'ମୁକ୍କିମ', - 'ମୁଖାର୍ଜୀ', - 'ମୁଣ୍ଡା', - 'ମୁଦି', - 'ମୁଦୁଲି', - 'ମୁର୍ମୁ', - 'ମୁସୀର', - 'ମେହେଟା', - 'ମେହେର', - 'ମୋକିମ୍', - 'ରଞ୍ଜନ', - 'ରଣସିଂହ', - 'ରଣା', - 'ରଥ', - 'ରନ୍ଧାରୀ', - 'ରମଣୀ', - 'ରାଉତ', - 'ରାଉତରାୟ', - 'ରାଉଳ', - 'ରାଓ', - 'ରାଜ', - 'ରାଜନ୍', - 'ରାମ', - 'ରାୟ', - 'ରାୟଚୌଧୁରୀ', - 'ରେଡ୍ଡି', - 'ରୋହିଦାସ', - 'ଲାକ୍ରା', - 'ଲାଗୁରୀ', - 'ଲାଠ', - 'ଲାଲ', - 'ଲେଙ୍କା', - 'ଲୋକ', - 'ଶତପଥୀ', - 'ଶର୍ମା', - 'ଶାନ୍ତା', - 'ଶ୍ରୀଚନ୍ଦନ', - 'ଷଡ଼ଙ୍ଗୀ', - 'ସଙ୍ଗୀତା', - 'ସର୍ଖେଲ', - 'ସର୍ଦ୍ଦାର', - 'ସାଇ', - 'ସାଉଣ୍ଟା', - 'ସାମନ୍ତ', - 'ସାମନ୍ତରାୟ', - 'ସାମଲ', - 'ସାରକା', - 'ସାଲୁଜା', - 'ସାହୁ', - 'ସିଂ', - 'ସିଂଦେଓ', - 'ସିଂହ', - 'ସିଂହଦେଓ', - 'ସିଦୁ', - 'ସିଧୁ', - 'ସିପ୍କା', - 'ସିହ୍ନା', - 'ସୁବାହୁ', - 'ସେଟି', - 'ସେଠ', - 'ସେଠୀ', - 'ସେଠ୍', - 'ସେନ', - 'ସେନାପତି', - 'ସୋଡ଼ି', - 'ସୋରେନ', - 'ସୋରେନ୍', - 'ସୌର୍ଯ୍ୟା', - 'ସ୍ବାଇଁ', - 'ସ୍ୱାଇଁ', - 'ହଇବୁରୁ', - 'ହନିଫ', - 'ହରିଚନ୍ଦନ', - 'ହାଁସଦା', - 'ହାଇବ୍ରୁ', - 'ହିକୋକା', - 'ହିକ୍କା', - 'ହିମିରିକା', - 'ହୁସେନ', - 'ହେମ୍ବ୍ରମ', - 'ହୋତା', + "ଅଗରୱାଲ", + "ଅଗ୍ନିବେଶ", + "ଅଗ୍ରୱାଲ", + "ଅତାହାର", + "ଅମାତ", + "ଅଲୀ", + "ଅହମଦ", + "ଆଚାର୍ଯ୍ୟ", + "ଆଦେନୀ", + "ଆନନ୍ଦ", + "ଆଲାମ", + "ଇସଲାମ", + "ଉଲ୍ଲାକା", + "ଏକ୍କା", + "ଓଝା", + "ଓରାମ", + "କଅଁର", + "କର", + "କହଁର", + "କାଡାମ୍", + "କାଡ୍ରାକା", + "କାନୁନଗୋ", + "କିନ୍ନାଗି", + "କିଶାନ", + "କିଷାନ", + "କୁଅଁର", + "କୁଣ୍ଡୁ", + "କୁମାର", + "କୁଲଦୀପ୍", + "କୁଲେସିକା", + "ଖଟୁଆ", + "ଖାଁ", + "ଖାନ", + "ଖୁଣ୍ଟିଆ", + "ଖୋସଲା", + "ଗଜପତି", + "ଗଡନାୟକ", + "ଗଡ଼ତିଆ", + "ଗଡ଼ନାୟକ", + "ଗଣପତି", + "ଗଣ୍ଡ", + "ଗମାଙ୍ଗ", + "ଗରଡ଼ିଆ", + "ଗର୍ଦ୍ଦା", + "ଗିରି", + "ଗୁରୁ", + "ଗୋସ୍ୱାମୀ", + "ଗୌତମ", + "ଗୌନ୍ତିଆ", + "ଘଡ଼ାଇ", + "ଘଡ଼େଇ", + "ଘୋଷ", + "ଚକ୍ରବର୍ତ୍ତୀ", + "ଚଣ୍ଡ", + "ଚମ୍ପତିରାୟ", + "ଚାଟାର୍ଜି", + "ଚିରଞ୍ଜୀବି", + "ଚୌଧୁରୀ", + "ଚୌରାଶିଆ", + "ଛତ୍ରିଆ", + "ଛୁରିଆ", + "ଛୋଟରାୟ", + "ଛୋଲିଆ", + "ଜଗଡାଲ", + "ଜଗଦେବ", + "ଜାନୀ", + "ଜେନା", + "ଜୈନ", + "ଝୋଡ଼ିଆ", + "ଟିକାୟତ", + "ଟୁଡୁ", + "ଟେଟେ", + "ଡାଙ୍ଗ", + "ଢ଼ୋଲକିଆ", + "ଢାଲି", + "ତନ୍ତି", + "ତରାଇ", + "ତିଆଡ଼ି", + "ତିରିୟା", + "ତିର୍କୀ", + "ତେଜ", + "ତ୍ରିପାଠୀ", + "ଥାପା", + "ଦତ୍ତ", + "ଦରାଇ", + "ଦଳବେହେରା", + "ଦାଶ", + "ଦାସ", + "ଦାସନାୟକ", + "ଦାସବର୍ମା", + "ଦିଆନ", + "ଦିଶାରୀ", + "ଦୀପ", + "ଦୁରିଆ", + "ଦୁଲାଳୀ", + "ଦେ", + "ଦେଇ", + "ଦେଓ", + "ଦେବ", + "ଦେବତା", + "ଦେବି", + "ଦେବୀ", + "ଦେହୁରୀ", + "ଦୋରା", + "ଦ୍ୟାନସାମନ୍ତରାୟ", + "ଦ୍ୱିବେଦୀ", + "ଧଡ଼ା", + "ଧଡା", + "ଧଳ", + "ନନ୍ଦ", + "ନନ୍ଦି", + "ନାଏକ", + "ନାଗ", + "ନାଗେଶ", + "ନାଥ", + "ନାହାକ", + "ନାୟକ", + "ନିଆଲ", + "ପଟୁଆ", + "ପଟ୍ଟନାୟକ", + "ପଣ୍ଡା", + "ପଣ୍ଡିତ", + "ପତି", + "ପମ", + "ପରବୀନ", + "ପରମାଣିକ", + "ପରିଜା", + "ପରିଡ଼ା", + "ପରିଡା", + "ପଲେଇ", + "ପଲ୍ଲାଇ", + "ପାଇକରାୟ", + "ପାଙ୍ଗୀ", + "ପାଢ଼ୀ", + "ପାଣି", + "ପାଣିଗ୍ରାହୀ", + "ପାତ୍ର", + "ପାଲ", + "ପାଲିତ", + "ପାଳ", + "ପୁଜାରୀ", + "ପୁଟୀ", + "ପୁରୋହିତ", + "ପୂଜାରୀ", + "ପୃଷ୍ଟି", + "ପୋଡାଲ", + "ପୋଦ୍ଦାର", + "ପ୍ରତିହାରୀ", + "ପ୍ରଧାନ", + "ପ୍ରଧାନୀ", + "ପ୍ରହରାଜ", + "ପ୍ରିୟଦର୍ଶିନୀ", + "ବକା", + "ବଗର୍ତ୍ତି", + "ବଡ଼ଜେନା", + "ବରାଳ", + "ବରିହା", + "ବର୍ମା", + "ବଳ", + "ବଳବନ୍ତରାୟ", + "ବଳସାମନ୍ତ", + "ବଳିଆରସିଂହ", + "ବଳୀୟାରସିଂହ", + "ବସନ୍ତ", + "ବସୁ", + "ବସ୍ତିଆ", + "ବାଗ", + "ବାନାର୍ଜୀ", + "ବାବୁ", + "ବାରିକ", + "ବାର୍ଲା", + "ବାହିନୀପତି", + "ବାହୁବଳେନ୍ଦ୍ର", + "ବିଜୁଳି", + "ବିଦ୍ୟାଧର", + "ବିଶୋୟୀ", + "ବିଶ୍ୱାଳ", + "ବୀର", + "ବେଉରା", + "ବେହୁରା", + "ବେହେରା", + "ବୈଦ୍ୟ", + "ବୋଷ", + "ବ୍ରହ୍ମା", + "ବ୍ୟାସ", + "ଭଞ୍ଜ", + "ଭଞ୍ଜଦେଓ", + "ଭଟ୍ଟାଚାର୍ଯ୍ୟ", + "ଭୂୟାଁ", + "ଭୋଇ", + "ମଙ୍ଗରାଜ", + "ମଢ଼େଇ", + "ମଣ୍ଡଳ", + "ମର୍ଦ୍ଦରାଜ", + "ମଲିକ", + "ମଲ୍ଲ", + "ମଲ୍ଲିକ", + "ମହନ୍ତ", + "ମହସୀନ", + "ମହାକୁଡ଼", + "ମହାନନ୍ଦ", + "ମହାନ୍ତି", + "ମହାପାତ୍ର", + "ମହାରଣା", + "ମହାରଥୀ", + "ମହାଲିଙ୍ଗା", + "ମହାଳିକ", + "ମାଝି", + "ମାଝୀ", + "ମାଢ଼ୀ", + "ମାଢ଼େଇ", + "ମାନସିଂହ", + "ମାନ୍ଧାତା", + "ମାରାଣ୍ଡି", + "ମିଞ୍ଜ୍", + "ମିତ୍ର", + "ମିର୍ଦ୍ଧା", + "ମିଶ୍ର", + "ମୁକ୍କିମ", + "ମୁଖାର୍ଜୀ", + "ମୁଣ୍ଡା", + "ମୁଦି", + "ମୁଦୁଲି", + "ମୁର୍ମୁ", + "ମୁସୀର", + "ମେହେଟା", + "ମେହେର", + "ମୋକିମ୍", + "ରଞ୍ଜନ", + "ରଣସିଂହ", + "ରଣା", + "ରଥ", + "ରନ୍ଧାରୀ", + "ରମଣୀ", + "ରାଉତ", + "ରାଉତରାୟ", + "ରାଉଳ", + "ରାଓ", + "ରାଜ", + "ରାଜନ୍", + "ରାମ", + "ରାୟ", + "ରାୟଚୌଧୁରୀ", + "ରେଡ୍ଡି", + "ରୋହିଦାସ", + "ଲାକ୍ରା", + "ଲାଗୁରୀ", + "ଲାଠ", + "ଲାଲ", + "ଲେଙ୍କା", + "ଲୋକ", + "ଶତପଥୀ", + "ଶର୍ମା", + "ଶାନ୍ତା", + "ଶ୍ରୀଚନ୍ଦନ", + "ଷଡ଼ଙ୍ଗୀ", + "ସଙ୍ଗୀତା", + "ସର୍ଖେଲ", + "ସର୍ଦ୍ଦାର", + "ସାଇ", + "ସାଉଣ୍ଟା", + "ସାମନ୍ତ", + "ସାମନ୍ତରାୟ", + "ସାମଲ", + "ସାରକା", + "ସାଲୁଜା", + "ସାହୁ", + "ସିଂ", + "ସିଂଦେଓ", + "ସିଂହ", + "ସିଂହଦେଓ", + "ସିଦୁ", + "ସିଧୁ", + "ସିପ୍କା", + "ସିହ୍ନା", + "ସୁବାହୁ", + "ସେଟି", + "ସେଠ", + "ସେଠୀ", + "ସେଠ୍", + "ସେନ", + "ସେନାପତି", + "ସୋଡ଼ି", + "ସୋରେନ", + "ସୋରେନ୍", + "ସୌର୍ଯ୍ୟା", + "ସ୍ବାଇଁ", + "ସ୍ୱାଇଁ", + "ହଇବୁରୁ", + "ହନିଫ", + "ହରିଚନ୍ଦନ", + "ହାଁସଦା", + "ହାଇବ୍ରୁ", + "ହିକୋକା", + "ହିକ୍କା", + "ହିମିରିକା", + "ହୁସେନ", + "ହେମ୍ବ୍ରମ", + "ହୋତା", ) prefixes_female = ( - 'ସୁଶ୍ରୀ', - 'ଶ୍ରୀମତୀ', - 'କୁମାରୀ', + "ସୁଶ୍ରୀ", + "ଶ୍ରୀମତୀ", + "କୁମାରୀ", ) prefixes_male = ( - 'ଶ୍ରୀ', - 'ଶ୍ରୀମାନ', - 'ଶ୍ରୀଯୁକ୍ତ', + "ଶ୍ରୀ", + "ଶ୍ରୀମାନ", + "ଶ୍ରୀଯୁକ୍ତ", ) - def first_name_unisex(self): + def first_name_unisex(self) -> str: return self.random_element(self.first_names_unisex) - def middle_name(self): + def middle_name(self) -> str: return self.random_element(self.middle_names) diff --git a/faker/providers/person/pl_PL/__init__.py b/faker/providers/person/pl_PL/__init__.py index c25e9f1254..788eb13451 100644 --- a/faker/providers/person/pl_PL/__init__.py +++ b/faker/providers/person/pl_PL/__init__.py @@ -1,682 +1,4096 @@ +from datetime import datetime +from typing import List, Optional, Sequence, Tuple, Union + from .. import Provider as PersonProvider -def checksum_identity_card_number(characters): +def checksum_identity_card_number(characters: Sequence[Union[str, int]]) -> int: """ Calculates and returns a control digit for given list of characters basing on Identity Card Number standards. """ weights_for_check_digit = [7, 3, 1, 0, 7, 3, 1, 7, 3] - check_digit = 0 - - for i in range(3): - check_digit += weights_for_check_digit[i] * (ord(characters[i]) - 55) - - for i in range(4, 9): - check_digit += weights_for_check_digit[i] * characters[i] - - check_digit %= 10 - + integer_characters = [ + (ord(character) - 55) if isinstance(character, str) else character for character in characters + ] + check_digit = sum(weight * ch for weight, ch in zip(weights_for_check_digit, integer_characters)) % 10 return check_digit class Provider(PersonProvider): formats = ( - '{{first_name}} {{last_name}}', - '{{first_name}} {{last_name}}', - '{{first_name}} {{last_name}}', - '{{first_name}} {{last_name}}', - '{{first_name}} {{last_name}}', - '{{prefix_female}} {{first_name_female}} {{last_name_female}}', - '{{first_name}} {{last_name}}', - '{{prefix_male}} {{first_name_male}} {{last_name_male}}', + "{{first_name}} {{last_name}}", + "{{first_name}} {{last_name}}", + "{{first_name}} {{last_name}}", + "{{first_name}} {{last_name}}", + "{{first_name}} {{last_name}}", + "{{prefix_female}} {{first_name_female}} {{last_name_female}}", + "{{first_name}} {{last_name}}", + "{{prefix_male}} {{first_name_male}} {{last_name_male}}", ) - first_names_male = ( - 'Jakub', - 'Jan', - 'Mateusz', - 'Bartek', - 'Kacper', - 'Michał', - 'Szymon', - 'Antoni', - 'Filip', - 'Piotr', - 'Maciej', - 'Aleksander', - 'Franciszek', - 'Mikołaj', - 'Adam', - 'Stanisław', - 'Wiktor', - 'Krzysztof', - 'Wojciech', - 'Igor', - 'Maksymilian', - 'Karol', - 'Dawid', - 'Tomasz', - 'Patryk', - 'Oskar', - 'Paweł', - 'Dominik', - 'Kamil', - 'Oliwier', - 'Ignacy', - 'Marcel', - 'Hubert', - 'Adrian', - 'Łukasz', - 'Sebastian', - 'Julian', - 'Tymon', - 'Krystian', - 'Marcin', - 'Damian', - 'Miłosz', - 'Leon', - 'Alan', - 'Tymoteusz', - 'Kajetan', - 'Grzegorz', - 'Daniel', - 'Rafał', - 'Eryk', - 'Konrad', - 'Ksawery', - 'Gabriel', - 'Nikodem', - 'Bruno', - 'Przemysław', - 'Borys', - 'Artur', - 'Olaf', - 'Jerzy', - 'Marek', - 'Tadeusz', - 'Andrzej', - 'Witold', - 'Iwo', - 'Juliusz', - 'Robert', - 'Błażej', - 'Cezary', - 'Jeremi', - 'Jacek', - 'Konstanty', - 'Ryszard', - 'Stefan', - 'Aleks', - 'Gustaw', - 'Radosław', - 'Emil', - 'Norbert', - 'Fabian', - 'Jędrzej', - 'Alex', - 'Kazimierz', - 'Arkadiusz', - 'Kornel', - 'Józef', - 'Natan', - 'Cyprian', - 'Mieszko', - 'Nataniel', - 'Maks', - 'Maurycy', - 'Olgierd', - 'Dariusz', - 'Leonard', - 'Mariusz', - 'Albert', - 'Fryderyk', - 'Ernest', - 'Tobiasz') - - first_names_female = ( - 'Kamila', - 'Ewa', - 'Blanka', - 'Olga', - 'Kalina', - 'Klara', - 'Urszula', - 'Sandra', - 'Kaja', - 'Marianna', - 'Kornelia', - 'Justyna', - 'Monika', - 'Sara', - 'Adrianna', - 'Aniela', - 'Agnieszka', - 'Róża', - 'Marcelina', - 'Roksana', - 'Natasza', - 'Lidia', - 'Malwina', - 'Karina', - 'Ada', - 'Marika', - 'Anastazja', - 'Sonia', - 'Nela', - 'Dorota', - 'Apolonia', - 'Ida', - 'Eliza', - 'Angelika', - 'Anna Maria', - 'Liwia', - 'Ewelina', - 'Julita', - 'Rozalia', - 'Inga', - 'Krystyna', - 'Bianka', - 'Dagmara', - 'Melania', - 'Sylwia', - 'Nicole', - 'Anita', - 'Aurelia', - 'Elżbieta', - 'Janina', - 'Julianna', - 'Tola', - 'Gaja') - - unisex_last_names = ( - 'Wandzel', 'Pajda', 'Dzienis', 'Borysewicz', 'Szlaga', 'Krzysiek', 'Iwańczyk', 'Cierpisz', - 'Borczyk', 'Szymula', 'Pietrasiak', 'Minkiewicz', 'Hojka', 'Goral', 'Staś', 'Smoter', - 'Bosek', 'Bitner', 'Kondej', 'Furgał', 'Durlik', 'Kusa', 'Pacewicz', 'Masiak', 'Kucz', - 'Cichowlas', 'Anders', 'Wawszczak', 'Słupek', 'Pych', 'Piszcz', 'Opoka', 'Lorenz', - 'Grochowina', 'Wicha', 'Pawliczek', 'Kus', 'Zysk', 'Sroga', 'Rychel', 'Patora', 'Maciocha', - 'Rozmiarek', 'Pesta', 'Działak', 'Godyń', 'Chmara', 'Jakubaszek', 'Bałazy', 'Rykała', - 'Wika', 'Kotala', 'Fikus', 'Sus', 'Kunc', 'Mateusiak', 'Kusyk', 'Romańczyk', 'Makieła', - 'Lejman', 'Kołaczek', 'Kurzak', 'Bondyra', 'Podkowa', 'Paśnik', 'Oleszko', 'Marcol', - 'Szybiak', 'Ruszczak', 'Zbroja', 'Stosik', 'Gruchot', 'Boś', 'Wożniak', 'Gniewek', 'Buława', - 'Wiatrak', 'Talaśka', 'Patalas', 'Kwoka', 'Krzempek', 'Danilczuk', 'Ważny', 'Sidorczuk', - 'Legutko', 'Kobos', 'Tylek', 'Szkoda', 'Przerwa', 'Linek', 'Galik', 'Dulewicz', 'Drozda', - 'Nowek', 'Matulewicz', 'Karpeta', 'Jurczuk', 'Buśko', 'Słomian', 'Drywa', 'Rybus', 'Langa', - 'Kluczek', 'Orkisz', 'Ziemkiewicz', 'Siara', 'Para', 'Kwasek', 'Januszko', 'Hejduk', - 'Łuszczak', 'Sprawka', 'Kiełek', 'Jop', 'Faryna', 'Zimoń', 'Utrata', 'Mirga', 'Kozaczuk', - 'Wojtyna', 'Rzońca', 'Madejczyk', 'Glapiak', 'Dziadkowiec', 'Ochnio', 'Sieja', 'Malewicz', - 'Bachanek', 'Mirocha', 'Domżał', 'Tworzydło', 'Płaneta', 'Feret', 'Witas', 'Figat', 'Muc', - 'Kuciel', 'Kielan', 'Hałat', 'Tecław', 'Loba', 'Klucznik', 'Bielas', 'Rajczyk', 'Myszak', - 'Muniak', 'Michalczak', 'Kochanowicz', 'Szołtysik', 'Rychert', 'Pyda', 'Janowiak', 'Janiga', - 'Grądziel', 'Wdowczyk', 'Pytlarz', 'Kuzia', 'Dziewa', 'Bernatowicz', 'Ostapiuk', 'Rejniak', - 'Kotlarek', 'Gajownik', 'Brach', 'Tatarek', 'Szyc', 'Masny', 'Drop', 'Saternus', - 'Podsiadła', 'Patyna', 'Kargol', 'Truchan', 'Pietrusiak', 'Kolbusz', 'Kalota', 'Hołubowicz', - 'Andrzejuk', 'Zdziech', 'Szymonik', 'Sych', 'Strojna', 'Seta', 'Orman', 'Hermanowicz', - 'Denkiewicz', 'Bulanda', 'Szwaja', 'Jankowicz', 'Pochopień', 'Kobza', 'Karwot', 'Kałek', - 'Laszuk', 'Aleksiejuk', 'Witaszek', 'Wawryniuk', 'Jacak', 'Bugla', 'Wejman', 'Jaroch', - 'Janiszek', 'Gorzelańczyk', 'Zieja', 'Krochmal', 'Filas', 'Wawrzynowicz', 'Szałas', - 'Machoń', 'Labus', 'Irzyk', 'Gomuła', 'Wesoły', 'Solarek', 'Kośka', 'Myszk', 'Moryc', - 'Lizoń', 'Lesisz', 'Kiełbowicz', 'Serwa', 'Piórek', 'Majdak', 'Bruzda', 'Bakun', 'Subocz', - 'Stypuła', 'Gołek', 'Fik', 'Wołczyk', 'Waniek', 'Parzyszek', 'Oszust', 'Burza', 'Żbik', - 'Misztela', 'Kurant', 'Drygas', 'Łaciak', 'Franczuk', 'Rycerz', 'Żok', 'Zeman', 'Mejer', - 'Kanarek', 'Jędruch', 'Saj', 'Nieroda', 'Juśkiewicz', 'Surdyk', 'Paliga', 'Makaruk', - 'Hamera', 'Łukowicz', 'Barcz', 'Witos', 'Strzelczak', 'Siedlaczek', 'Pakosz', 'Burchardt', - 'Nurek', 'Morys', 'Korbel', 'Kokosza', 'Kijanka', 'Bobak', 'Samson', 'Jarosiewicz', - 'Szelest', 'Stanisławek', 'Perka', 'Ciepłuch', 'Bryja', 'Świątkiewicz', 'Samul', 'Rohde', - 'Prucnal', 'Miszkiewicz', 'Kuropatwa', 'Gajdzik', 'Mućka', 'Misiaszek', 'Fornalik', - 'Wiszowaty', 'Thiel', 'Osiadacz', 'Miśko', 'Mielcarz', 'Drózd', 'Oleksiuk', 'Matyka', - 'Łyczak', 'Cabała', 'Ośka', 'Bereś', 'Armatys', 'Szmajda', 'Młyńczak', 'Kupidura', 'Kijas', - 'Chomiuk', 'Gowin', 'Dybka', 'Bródka', 'Wziątek', 'Ślęczka', 'Koj', 'Drabczyk', 'Buczko', - 'Sawko', 'Kłysz', 'Karpiel', 'Jarczyk', 'Flaga', 'Fiedorczuk', 'Tomalak', 'Nałęcz', - 'Choroś', 'Brańka', 'Rajchel', 'Kiedrowicz', 'Gąbka', 'Fiołek', 'Drozdowicz', 'Stypa', - 'Kawala', 'Mazanek', 'Kwinta', 'Koczy', 'Hyży', 'Grzejszczak', 'Wywiał', 'Sacharczuk', - 'Jaroszuk', 'Golon', 'Chachuła', 'Malarczyk', 'Kawula', 'Bohdanowicz', 'Bartocha', 'Lewko', - 'Igras', 'Damps', 'Tlałka', 'Niechciał', 'Łyskawa', 'Goś', 'Więckiewicz', 'Leśko', 'Konsek', - 'Juszczuk', 'Szczudło', 'Poniedziałek', 'Palus', 'Bodziony', 'Śmieszek', 'Rej', 'Pietryga', - 'Mieszała', 'Malcher', 'Kopij', 'Kaczan', 'Janasik', 'Watras', 'Stojak', 'Strzyż', - 'Siemieniec', 'Kośnik', 'Kasperczak', 'Woszczyna', 'Wiech', 'Stefanik', 'Miara', 'Łodyga', - 'Walo', 'Oleksiewicz', 'Mainka', 'Baka', 'Trybuś', 'Samol', 'Jamroży', 'Gruszczyk', - 'Deluga', 'Trzos', 'Sinkiewicz', 'Lesik', 'Kroczak', 'Klamka', 'Grzelczyk', 'Dycha', - 'Ciesielczyk', 'Armata', 'Wawrzyczek', 'Prokopczyk', 'Hampel', 'Grzech', 'Rzucidło', 'Rawa', - 'Kręcisz', 'Karyś', 'Rodzeń', 'Karalus', 'Mikosz', 'Kazimierczuk', 'Hajda', 'Berg', 'Teper', - 'Słabosz', 'Dziechciarz', 'Dmoch', 'Śleziak', 'Pietrek', 'Martyka', 'Wołk', 'Smętek', - 'Kroll', 'Grab', 'Dziedzina', 'Noszczyk', 'Kazek', 'Jędrusiak', 'Cebo', 'Tokarek', 'Małota', - 'Hanc', 'Uliasz', 'Pysz', 'Piłka', 'Błaszyk', 'Wyrobek', 'Trybus', 'Szlęk', 'Pindor', 'Łuc', - 'Baszak', 'Majak', 'Łój', 'Szczypek', 'Łuczkiewicz', 'Łaszcz', 'Froń', 'Dybaś', 'Budner', - 'Ostasz', 'Siekierka', 'Pilipczuk', 'Kandzia', 'Gieroń', 'Drost', 'Chwała', 'Malesza', - 'Fiedler', 'Suszko', 'Kurnik', 'Bereda', 'Nalewajko', 'Duczmal', 'Sieradzan', 'Pietrasz', - 'Cecot', 'Tomaszkiewicz', 'Rabiej', 'Staniaszek', 'Mikusek', 'Kuryłowicz', 'Herda', - 'Brzykcy', 'Początek', 'Ochal', 'Koral', 'Kaźmierczyk', 'Kandziora', 'Sycz', 'Reich', - 'Lindner', 'Fulara', 'Przybycień', 'Hermann', 'Forysiak', 'Strzępek', 'Sondej', 'Pyć', - 'Piaścik', 'Grygo', 'Wita', 'Szynkiewicz', 'Piesik', 'Nasiadka', 'Murach', 'Kostro', - 'Hinca', 'Engler', 'Tułacz', 'Przewoźny', 'Pizoń', 'Łapacz', 'Hajduga', 'Bulczak', 'Bubel', - 'Smutek', 'Samoraj', 'Plaskota', 'Fraś', 'Becker', 'Baranowicz', 'Trznadel', 'Topa', - 'Stanisławczyk', 'Lato', 'Kołton', 'Uryga', 'Tomaszczyk', 'Szymanik', 'Stochmal', - 'Kiszczak', 'Dylong', 'Chruszcz', 'Byra', 'Friedrich', 'Cyganik', 'Pacocha', 'Jonczyk', - 'Szymańczyk', 'Radko', 'Meler', 'Kuran', 'Koman', 'Błądek', 'Banachowicz', 'Babiuch', - 'Kruszka', 'Fijoł', 'Zatoń', 'Włodarz', 'Trepka', 'Świerszcz', 'Strzała', 'Opioła', 'Kursa', - 'Dyś', 'Broś', 'Tyka', 'Syroka', 'Grys', 'Szczepaniuk', 'Marcińczyk', 'Leks', 'Kubina', - 'Janke', 'Dąbrowicz', 'Hulbój', 'Cieciura', 'Chochół', 'Szpila', 'Samiec', 'Rduch', - 'Nabiałek', 'Margol', 'Kopa', 'Engel', 'Czerepak', 'Rosłon', 'Pusz', 'Matla', 'Wołoch', - 'Pazik', 'Nazimek', 'Kuśka', 'Karczmarz', 'Gajzler', 'Sławik', 'Lalak', 'Grabias', 'Gągała', - 'Chwedoruk', 'Wasil', 'Pachołek', 'Wichłacz', 'Walentynowicz', 'Tylus', 'Kosz', 'Iwanow', - 'Garczarek', 'Dorociak', 'Boguta', 'Betka', 'Widuch', 'Wawrzynek', 'Szymajda', 'Stanaszek', - 'Klama', 'Goj', 'Dzierżak', 'Walasik', 'Skwira', 'Luks', 'Kujawiak', 'Dworczak', 'Tofil', - 'Rurarz', 'Pachla', 'Lenarcik', 'Kusztal', 'Chaber', 'Skała', 'Radzewicz', 'Kramer', - 'Kochel', 'Dukat', 'Naglik', 'Szurek', 'Litwiniuk', 'Halama', 'Grzela', 'Wojaczek', - 'Popielarczyk', 'Krysik', 'Dawidczyk', 'Barteczko', 'Balik', 'Warych', 'Miodek', 'Madera', - 'Leszczyk', 'Kolanek', 'Fijak', 'Furgała', 'Faruga', 'Poleszak', 'Kusek', 'Herok', 'Golda', - 'Rymarz', 'Pociask', 'Kowalak', 'Czupryna', 'Trzcionka', 'Sulik', 'Matulka', 'Herbut', - 'Stosio', 'Kurtyka', 'Ciuk', 'Szczerbiak', 'Snoch', 'Budniak', 'Boruc', 'Tylka', 'Kwak', - 'Garncarz', 'Szuta', 'Miśkowiec', 'Sykut', 'Jarosik', 'Golus', 'Chmielak', 'Abramczuk', - 'Skrobek', 'Patrzałek', 'Linkiewicz', 'Jereczek', 'Jarema', 'Flasza', 'Fiedoruk', - 'Budkiewicz', 'Świgoń', 'Przewoźnik', 'Parada', 'Heller', 'Gierak', 'Ferdyn', 'Sumera', - 'Bik', 'Kamela', 'Ciereszko', 'Świtaj', 'Pastuszko', 'Łobacz', 'Kuba', 'Krzywonos', - 'Granat', 'Szóstak', 'Płoskonka', 'Kumorek', 'Komuda', 'Klinkosz', 'Falba', 'Szczechowicz', - 'Rozum', 'Moroń', 'Matynia', 'Greszta', 'Łuczka', 'Dziewit', 'Mueller', 'Kapral', - 'Hrynkiewicz', 'Gonsior', 'Forma', 'Ciesiółka', 'Bors', 'Siwa', 'Niemczuk', 'Nazar', - 'Liśkiewicz', 'Jarczak', 'Felisiak', 'Fedorczyk', 'Wilusz', 'Pastor', 'Gierek', 'Romaniak', - 'Oleszczak', 'Juras', 'Zachwieja', 'Szmurło', 'Smektała', 'Przewoźna', 'Nikel', 'Chlebek', - 'Balas', 'Latuszek', 'Ambrozik', 'Janczura', 'Aleksandrzak', 'Wojtalik', 'Rok', 'Nagórka', - 'Latoszek', 'Kubowicz', 'Domian', 'Ciemięga', 'Soliwoda', 'Komsta', 'Filus', 'Wierzchoń', - 'Skotarczak', 'Cader', 'Trzmiel', 'Jagieło', 'Wawszczyk', 'Troć', 'Swatek', 'Bączkiewicz', - 'Ulewicz', 'Tutka', 'Pałac', 'Mydlarz', 'Molka', 'Janiuk', 'Guziak', 'Frycz', 'Drzał', - 'Zacharek', 'Wiencek', 'Szłapka', 'Kurach', 'Bareja', 'Pawlukiewicz', 'Moździerz', 'Mich', - 'Lisik', 'Kałwa', 'Dadej', 'Matela', 'Lenda', 'Wolff', 'Wojnicz', 'Sendor', 'Mrózek', - 'Łągiewka', 'Kulisz', 'Kolarz', 'Walus', 'Mikoda', 'Kral', 'Darul', 'Warczak', 'Kunysz', - 'Kidoń', 'Ciuła', 'Chomiak', 'Rzeźniczak', 'Przeniosło', 'Chomik', 'Zimoląg', 'Wojtyś', - 'Mędrala', 'Hennig', 'Handzel', 'Twardzik', 'Śmieja', 'Solarczyk', 'Mendak', 'Lemieszek', - 'Kiryluk', 'Wrześniak', 'Kwarciak', 'Gasik', 'Borysiewicz', 'Sierota', 'Mysiak', - 'Kraszkiewicz', 'Hyjek', 'Polaszek', 'Pazera', 'Kubisz', 'Kościukiewicz', 'Kopczyk', - 'Kliber', 'Kaczmar', 'Kaczka', 'Bicz', 'Augustynek', 'Straszak', 'Sajewicz', 'Glanc', - 'Bzymek', 'Zieniewicz', 'Pagacz', 'Gortat', 'Bubak', 'Warwas', 'Skoneczna', 'Nestorowicz', - 'Dziopa', 'Danisz', 'Bazydło', 'Garncarek', 'Albin', 'Szeszko', 'Naczk', 'Łukowiak', - 'Kopciuch', 'Jakoniuk', 'Węgrzynowicz', 'Walencik', 'Turlej', 'Leonowicz', 'Kierepka', - 'Hendzel', 'Fronczek', 'Zarzeczna', 'Zagrodnik', 'Wałęsa', 'Trzepizur', 'Tereszkiewicz', - 'Szczubełek', 'Magier', 'Działo', 'Drygała', 'Czesak', 'Majorek', 'Wlizło', 'Skutnik', - 'Radke', 'Piątkiewicz', 'Oślizło', 'Kansy', 'Szela', 'Mol', 'Kuświk', 'Karpik', 'Janczarek', - 'Hajdukiewicz', 'Mzyk', 'Kostera', 'Leszkiewicz', 'Hutnik', 'Glaza', 'Fydrych', 'Piegza', - 'Matusewicz', 'Matus', 'Kluczyk', 'Drobnik', 'Połom', 'Okraska', 'Neska', 'Kozłowicz', - 'Wołos', 'Wacławczyk', 'Ochnik', 'Maruszczak', 'Lesner', 'Kuncewicz', 'Kieszek', 'Betlej', - 'Wałdoch', 'Szarejko', 'Smalec', 'Łosiewicz', 'Lisak', 'Walkusz', 'Owsiak', 'Kowaluk', - 'Simon', 'Rup', 'Neubauer', 'Muskała', 'Kucharzyk', 'Gabryel', 'Zimniak', 'Warmuz', 'Opas', - 'Michniak', 'Cieloch', 'Wójcikiewicz', 'Świech', 'Powierża', 'Olko', 'Miękus', 'Kutnik', - 'Kustosz', 'Kochman', 'Trąbka', 'Szyja', 'Młynarz', 'Wojtak', 'Dzierwa', 'Zyguła', 'Taciak', - 'Koziatek', 'Koss', 'Walenciak', 'Twardosz', 'Pakos', 'Mamcarz', 'Burzawa', 'Lenik', - 'Franc', 'Sadza', 'Mądrzak', 'Mak', 'Bobel', 'Szajna', 'Proch', 'Kosela', 'Guźniczak', - 'Radziewicz', 'Olchawa', 'Morcinek', 'Bastek', 'Ragan', 'Podeszwa', 'Mitek', 'Janoszka', - 'Słaba', 'Rusnak', 'Płócienniczak', 'Hanke', 'Gosek', 'Wujek', 'Warchał', 'Starzak', - 'Prochownik', 'Molak', 'Duszkiewicz', 'Sztaba', 'Piwek', 'Nowotnik', 'Kiljan', 'Dubel', - 'Brodowicz', 'Tylec', 'Pik', 'Pastucha', 'Księżak', 'Gumieniak', 'Ufnal', 'Stawinoga', - 'Słoń', 'Kolarczyk', 'John', 'Fleszar', 'Lemke', 'Kurc', 'Kamieniarz', 'Jaskóła', 'Jaremko', - 'Gogacz', 'Dudała', 'Chlipała', 'Szłapa', 'Seidel', 'Kopyt', 'Karłowicz', 'Gębura', - 'Frączkiewicz', 'Frankowicz', 'Dybiec', 'Drobny', 'Brózda', 'Boruń', 'Pelka', 'Macias', - 'Ruszel', 'Pabis', 'Krefta', 'Ćwierz', 'Bieleń', 'Szyca', 'Pronobis', 'Dreszer', 'Bryzek', - 'Ambrożewicz', 'Słobodzian', 'Mrozowicz', 'Wojak', 'Szklarek', 'Paw', 'Kościelak', - 'Kalarus', 'Wylegała', 'Powązka', 'Młot', 'Krekora', 'Bilewicz', 'Pyszka', 'Niedźwiadek', - 'Lubera', 'Chodak', 'Breguła', 'Synak', 'Supeł', 'Suda', 'Roczniak', 'Matuszyk', 'Helak', - 'Gubernat', 'Wojtera', 'Wiszowata', 'Świętoń', 'Deryło', 'Szałaj', 'Rzeszutko', 'Matejczuk', - 'Żołądź', 'Suchta', 'Pokrzywa', 'Piguła', 'Litwińczuk', 'Kik', 'Gula', 'Geisler', 'Micał', - 'Maszota', 'Kurzyna', 'Feliksiak', 'Cybul', 'Wiaderek', 'Śnieg', 'Linka', 'Fidler', - 'Fabiszak', 'Cibor', 'Ryczko', 'Rudolf', 'Jędrzejek', 'Bekus', 'Bek', 'Wolan', 'Radzio', - 'Kuliberda', 'Kolanko', 'Szykuła', 'Skowyra', 'Porwoł', 'Kosiak', 'Kasica', 'Jakiel', - 'Piejko', 'Owczarczak', 'Michnik', 'Linke', 'Kutera', 'Bobryk', 'Szabla', 'Powała', - 'Marciniszyn', 'Gorgol', 'Czerwionka', 'Ledzion', 'Dykas', 'Zygmuntowicz', 'Listwan', - 'Bobrowicz', 'Żurawik', 'Migała', 'Merchel', 'Bogumił', 'Wojsa', 'Sadura', 'Łyjak', 'Giers', - 'Gałat', 'Parafiniuk', 'Kryszkiewicz', 'Wyrostek', 'Wałek', 'Rembisz', 'Paściak', 'Maksym', - 'Kusio', 'Kostek', 'Kalisiak', 'Bździuch', 'Szlufik', 'Pogorzelec', 'Pielech', 'Kafel', - 'Gmur', 'Glazer', 'Borysiuk', 'Białk', 'Adamaszek', 'Wiesiołek', 'Wakuła', 'Rogula', - 'Leszczuk', 'Kapciak', 'Gul', 'Buszka', 'Sklorz', 'Parda', 'Miszkiel', 'Latek', 'Kurzydło', - 'Kucharz', 'Giec', 'Wajdzik', 'Mazik', 'Klimko', 'Kleina', 'Dorawa', 'Perczak', 'Lang', - 'Grunt', 'Cywka', 'Batóg', 'Widłak', 'Miszta', 'Kość', 'Kosidło', 'Aleksander', - 'Marchlewicz', 'Korkosz', 'Beśka', 'Bak', 'Stoch', 'Makles', 'Hudzik', 'Hornik', 'Bujko', - 'Ziętal', 'Zawal', 'Sochaj', 'Podpora', 'Małyszek', 'Maćków', 'Latacz', 'Kozdra', 'Kosno', - 'Gogół', 'Fit', 'Bienia', 'Wendt', 'Szyda', 'Suchoń', 'Sobel', 'Lesiewicz', 'Koleśnik', - 'Kinder', 'Kasper', 'Jaszczyszyn', 'Weremczuk', 'Steinke', 'Sądej', 'Puła', 'Nowrot', - 'Nowotny', 'Majorczyk', 'Kunert', 'Jerzyk', 'Capała', 'Bartoś', 'Wojciech', 'Stelmasiak', - 'Portka', 'Pietrak', 'Łuksza', 'Kulma', 'Jeske', 'Góraj', 'Fyda', 'Siemion', 'Rusiniak', - 'Flisiak', 'Cherek', 'Bryndza', 'Zioła', 'Zapaśnik', 'Raszkiewicz', 'Pszczółka', 'Pałgan', - 'Kozar', 'Gumienny', 'Fedak', 'Erdmann', 'Matura', 'Kapera', 'Golan', 'Szczesiak', - 'Szambelan', 'Półchłopek', 'Łuszczyk', 'Szymocha', 'Pielka', 'Macioł', 'Brudny', 'Babij', - 'Zacharczuk', 'Pilarek', 'Owsianka', 'Harasimiuk', 'Durlak', 'Długajczyk', 'Wijata', - 'Szyndler', 'Morka', 'Mendyka', 'Kubiaczyk', 'Kij', 'Gaudyn', 'Bok', 'Posłuszny', 'Plich', - 'Pacyga', 'Miętus', 'Ficner', 'Świerkosz', 'Krzywoń', 'Kojder', 'Kiepura', 'Godzisz', - 'Ciuba', 'Bukowiec', 'Wlaźlak', 'Teterycz', 'Ścibisz', 'Sobkiewicz', 'Raczkiewicz', - 'Konrad', 'Kohut', 'Gonet', 'Frydel', 'Dyka', 'Siemek', 'Ośko', 'Gospodarek', 'Stryjek', - 'Labudda', 'Kosiec', 'Indyk', 'Franik', 'Fiołka', 'Strycharz', 'Ostapczuk', 'Laszczyk', - 'Lament', 'Korzekwa', 'Kędziorek', 'Dziuban', 'Biegała', 'Witoń', 'Szpara', 'Padło', - 'Otremba', 'Mierzwiak', 'Kordus', 'Bojczuk', 'Szmelter', 'Rudzik', 'Madzia', 'Grabara', - 'Górkiewicz', 'Bartel', 'Śliz', 'Sura', 'Skrzecz', 'Puto', 'Pułka', 'Piotrowiak', 'Mazan', - 'Kobryń', 'Klatka', 'Januchta', 'Grubba', 'Zaucha', 'Sularz', 'Siergiej', 'Pianka', - 'Jędruszczak', 'Groth', 'Sobisz', 'Siejak', 'Rećko', 'Lorens', 'Cegła', 'Wochnik', 'Kuryś', - 'Gregorowicz', 'Filek', 'Salawa', 'Piekarek', 'Pabisiak', 'Glonek', 'Butrym', 'Przewoźniak', - 'Macek', 'Konstanty', 'Kolber', 'Jędrasiak', 'Wężyk', 'Szaj', 'Malara', 'Kłoczko', - 'Karsznia', 'Golenia', 'Zajko', 'Wudarczyk', 'Stanuch', 'Niklewicz', 'Matejczyk', 'Kopyto', - 'Grygorowicz', 'Szajda', 'Stachelek', 'Słyk', 'Loska', 'Job', 'Dziadura', 'Dworniczak', - 'Skubis', 'Obst', 'Kazimierczyk', 'Cymer', 'Ciak', 'Chudoba', 'Achtelik', 'Tytko', 'Skupin', - 'Skierka', 'Panuś', 'Pabiś', 'Folta', 'Bogaczyk', 'Basa', 'Trzpil', 'Morek', 'Kloska', - 'Kapustka', 'Gzyl', 'Gołoś', 'Danel', 'Borkiewicz', 'Araszkiewicz', 'Miotke', 'Rezler', - 'Potyrała', 'Pacholak', 'Herba', 'Grzenia', 'Giezek', 'Gajowiak', 'Filak', 'Fechner', - 'Droździk', 'Cyman', 'Wieczerzak', 'Stróż', 'Staciwa', 'Ruchała', 'Rogal', 'Reszke', - 'Kurpisz', 'Gryga', 'Stempniak', 'Matraszek', 'Kózka', 'Elsner', 'Boba', 'Barłóg', - 'Kiliszek', 'Jessa', 'Ignatiuk', 'Gogola', 'Drobek', 'Lica', 'Larysz', 'Kalka', 'Dziczek', - 'Czupryn', 'Żołna', 'Pytko', 'Misiarz', 'Majnusz', 'Kaszkowiak', 'Jonak', 'Basista', - 'Potęga', 'Natanek', 'Matyszczak', 'Majerczyk', 'Łapaj', 'Korzonek', 'Jaśko', 'Futyma', - 'Duszczyk', 'Antończak', 'Wysota', 'Dela', 'Stawowczyk', 'Milczarczyk', 'Malisz', - 'Andrearczyk', 'Żynda', 'Swaczyna', 'Ryndak', 'Moskalik', 'Mitoraj', 'Łyś', 'Łepek', - 'Knieć', 'Janisz', 'Gorol', 'Ciężka', 'Żyrek', 'Zmarzły', 'Wojtaszczyk', 'Szyguła', - 'Szalast', 'Rząd', 'Nicewicz', 'Danieluk', 'Bulak', 'Wojtasiewicz', 'Pleskot', 'Materek', - 'Kurczak', 'Dytko', 'Świstek', 'Szafarz', 'Litwa', 'Kreczmer', 'Idec', 'Grabczak', - 'Goliszek', 'Flieger', 'Filiks', 'Dyszy', 'Błażejczak', 'Maksimowicz', 'Komisarczyk', - 'Jewuła', 'Hallmann', 'Gabara', 'Budzyń', 'Andruszko', 'Pałyga', 'Moj', 'Koterba', 'Gruza', - 'Gamoń', 'Pasierbek', 'Kuchciak', 'Kanik', 'Cis', 'Zegar', 'Sadlik', 'Paprotny', 'Nalazek', - 'Mikita', 'Kucab', 'Kranc', 'Godzik', 'Sip', 'Powałka', 'Penkala', 'Pachuta', 'Nagel', - 'Litwinowicz', 'Kukuczka', 'Knysak', 'Fojt', 'Brejnak', 'Tasarz', 'Zielke', 'Zaraś', - 'Zaranek', 'Waleczek', 'Rubaj', 'Bazylewicz', 'Banyś', 'Balawender', 'Zmuda', 'Wojcik', - 'Łabno', 'Gęsiarz', 'Frost', 'Bany', 'Żero', 'Rudowicz', 'Nyk', 'Milcarz', 'Lipowicz', - 'Kycia', 'Kościołek', 'Korda', 'Berus', 'Wiese', 'Olkowicz', 'Dzieża', 'Doroszkiewicz', - 'Cetera', 'Pazdan', 'Pacia', 'Kempka', 'Dydak', 'Ścibior', 'Szyjka', 'Pyziak', 'Pleśniak', - 'Maszczyk', 'Ludwiniak', 'Zadora', 'Strug', 'Mokwa', 'Łasak', 'Kulczak', 'Kruszona', - 'Zacharewicz', 'Miękina', 'Klaus', 'Glegoła', 'Wyderka', 'Maleszka', 'Malcherek', 'Lew', - 'Kulis', 'Bodzak', 'Błaziak', 'Bartłomiejczyk', 'Toś', 'Kubasiak', 'Dorobisz', 'Cukier', - 'Ciećko', 'Zapadka', 'Kłosowicz', 'Kasak', 'Czubaszek', 'Baumgart', 'Szemraj', 'Nogieć', - 'Burczak', 'Pietraś', 'Ostafin', 'Noculak', 'Kukieła', 'Fogel', 'Duczek', 'Cylwik', - 'Biernacik', 'Wydrych', 'Szajek', 'Siwczak', 'Majewicz', 'Łosiak', 'Karkut', 'Durys', - 'Chwalisz', 'Bembenek', 'Bartkowicz', 'Piskor', 'Mikus', 'Księżyk', 'Goss', 'Drewniok', - 'Bąkiewicz', 'Wódka', 'Wota', 'Prażmo', 'Kiwior', 'Bogdał', 'Rubacha', 'Hanus', 'Wasiewicz', - 'Trochimiuk', 'Szwiec', 'Suszka', 'Palak', 'Ziemann', 'Maćczak', 'Kruzel', 'Kołaczyk', - 'Kapka', 'Jodko', 'Jeszke', 'Gros', 'Gendek', 'Dubik', 'Ważna', 'Pierchała', 'Nieszporek', - 'Kandora', 'Janasz', 'Gryszkiewicz', 'Drobik', 'Ciołczyk', 'Wołkowicz', 'Tylman', 'Pituła', - 'Pioch', 'Pilich', 'Marach', 'Malon', 'Lepa', 'Kaliciak', 'Joszko', 'Hejna', 'Gryta', - 'Frelich', 'Bełz', 'Bakalarczyk', 'Nóżka', 'Holewa', 'Fierek', 'Żuchowicz', 'Wojtunik', - 'Trzop', 'Masłoń', 'Linda', 'Kurp', 'Gryka', 'Draus', 'Rezmer', 'Mizak', 'Makurat', - 'Kościk', 'Helman', 'Gendera', 'Dydo', 'Bondaruk', 'Bodek', 'Wujec', 'Sady', 'Przekwas', - 'Postawa', 'Polasik', 'Plebanek', 'Lejk', 'Kacperek', 'Gołofit', 'Tomys', 'Świadek', - 'Mizgała', 'Kubrak', 'Ernst', 'Wielgos', 'Martynowicz', 'Drela', 'Ziarnik', 'Stasica', - 'Semik', 'Mytych', 'Melka', 'Marat', 'Dąbrówka', 'Wyroba', 'Siudek', 'Senator', - 'Ryszkiewicz', 'Podsiedlik', 'Małys', 'Lepianka', 'Giersz', 'Zugaj', 'Procek', 'Makosz', - 'Kunda', 'Ziółko', 'Trzyna', 'Stroka', 'Rzeszut', 'Pyza', 'Krężołek', 'Kazior', 'Fidos', - 'Sołek', 'Gordon', 'Dubis', 'Ciochoń', 'Bieszke', 'Żołnierczyk', 'Sobstyl', 'Skalik', - 'Namysło', 'Litewka', 'Krzysztofek', 'Grycz', 'Feluś', 'Downar', 'Szram', 'Oleksik', - 'Milej', 'Kudela', 'Klaja', 'Giedrojć', 'Getka', 'Durma', 'Dudko', 'Dębosz', 'Browarczyk', - 'Sąsiadek', 'Picheta', 'Peciak', 'Niećko', 'Midura', 'Maciejko', 'Gregorek', 'Wąsiewicz', - 'Twardy', 'Szachniewicz', 'Sypek', 'Sojda', 'Saran', 'Mosiołek', 'Guściora', 'Golak', - 'Ellwart', 'Drewicz', 'Barszczak', 'Wójt', 'Strawa', 'Sereda', 'Rejmer', 'Prostak', 'Kołak', - 'Klekot', 'Gerlach', 'Ciepła', 'Barankiewicz', 'Welc', 'Skotarek', 'Sadłocha', - 'Roszkiewicz', 'Połetek', 'Ofiara', 'Kiełbus', 'Kałwak', 'Jas', 'Jarkiewicz', 'Jambor', - 'Hartman', 'Graś', 'Raźniak', 'Janc', 'Doroz', 'Baster', 'Banak', 'Spólnik', 'Poreda', - 'Orwat', 'Matyjas', 'Laskus', 'Bajak', 'Witko', 'Ślimak', 'Sapeta', 'Sadownik', 'Roszko', - 'Nazarewicz', 'Mrotek', 'Gnyp', 'Dziarmaga', 'Zaniewicz', 'Walusiak', 'Toborek', 'Szulim', - 'Pawliczak', 'Nikołajuk', 'Myszor', 'Mila', 'Liedtke', 'Korpal', 'Jaźwiec', 'Groborz', - 'Świerkot', 'Sabała', 'Kluj', 'Żach', 'Wawrzyńczyk', 'Szumiło', 'Sulich', 'Stępak', - 'Rutowicz', 'Krzyszczak', 'Kiełbik', 'Gogol', 'Buszkiewicz', 'Basaj', 'Bartuś', 'Samulak', - 'Ryfa', 'Potoczna', 'Panicz', 'Leśny', 'Lada', 'Kuska', 'Gleba', 'Folga', 'Barczuk', - 'Ślebioda', 'Olma', 'Kuśnierek', 'Krzan', 'Hubert', 'Grzebyk', 'Fras', 'Durlej', 'Pielach', - 'Klin', 'Jędrak', 'Frelek', 'Brząkała', 'Borysiak', 'Zagozda', 'Śliż', 'Szkopek', 'Raźny', - 'Olearczyk', 'Mirończuk', 'Chyb', 'Żybura', 'Żelazo', 'Kunka', 'Kosałka', 'Gosz', 'Dulas', - 'Żelazek', 'Terka', 'Sośniak', 'Pikor', 'Pezda', 'Hadam', 'Groń', 'Fal', 'Chalimoniuk', - 'Karnas', 'Uziębło', 'Grochola', 'Gawliczek', 'Freitag', 'Ćmiel', 'Wacław', 'Symonowicz', - 'Strzoda', 'Sterna', 'Spadło', 'Rajtar', 'Krzykała', 'Holc', 'Gronostaj', 'Barej', - 'Wasilewicz', 'Podgórny', 'Łapot', 'Lepak', 'Hojda', 'Dziuda', 'Klupś', 'Brzeźniak', - 'Bojarczuk', 'Tryka', 'Nalewajek', 'Kudłacik', 'Kubasiewicz', 'Bazyluk', 'Bartoszak', - 'Zbylut', 'Tołoczko', 'Szaruga', 'Obuchowicz', 'Gryska', 'Bociek', 'Wowra', 'Szramka', - 'Spychaj', 'Roj', 'Musiolik', 'Franas', 'Dłubak', 'Cholewka', 'Bobko', 'Białous', 'Osial', - 'Nieborak', 'Minta', 'Kozica', 'Kowara', 'Gwara', 'Tekieli', 'Pancerz', 'Mleczak', 'Celuch', - 'Zapiór', 'Graboś', 'Fidura', 'Cyrek', 'Bracha', 'Gradek', 'Noras', 'Mulawa', 'Moniuszko', - 'Kapcia', 'Gumienna', 'Graj', 'Gilewicz', 'Żółtek', 'Wojtalewicz', 'Szumny', 'Opyrchał', - 'Macha', 'Łuczyk', 'Hus', 'Czak', 'Borzym', 'Wojtczuk', 'Winnik', 'Kuk', 'Kubanek', - 'Dziełak', 'Dudziec', 'Cimoch', 'Ciapa', 'Buchalik', 'Zbróg', 'Węgrzyniak', 'Wawrzkiewicz', - 'Teodorowicz', 'Szkoła', 'Sutor', 'Kapuścik', 'Hajdas', 'Fołta', 'Burkiewicz', 'Aleksa', - 'Wajer', 'Siembab', 'Kozon', 'Wojewódka', 'Wenda', 'Majos', 'Huczek', 'Domoń', 'Zubel', - 'Szymaniuk', 'Salomon', 'Mikiciuk', 'Grodek', 'Wielądek', 'Szymańczak', 'Sommer', 'Saczuk', - 'Pastuszek', 'Mroczko', 'Łokaj', 'Deptuch', 'Wawak', 'Szczepaniec', 'Romejko', 'Rogacz', - 'Poczta', 'Nowotka', 'Jaszcz', 'Jany', 'Hewelt', 'Stachów', 'Smykla', 'Sędek', 'Niemira', - 'Młodzik', 'Łyczek', 'Kleban', 'Fura', 'Fudalej', 'Cyroń', 'Zagożdżon', 'Kenig', - 'Górnisiewicz', 'Wołoszyk', 'Szatanik', 'Sajda', 'Pyrkosz', 'Misiejuk', 'Mikołajewicz', - 'Kołsut', 'Glenc', 'Eckert', 'Dziadowicz', 'Waszczyk', 'Szyba', 'Steckiewicz', 'Kloch', - 'Kabala', 'Zamora', 'Tabiś', 'Sobków', 'Pupek', 'Neugebauer', 'Kołtuniak', 'Galek', 'Stój', - 'Rajda', 'Pruchnik', 'Kuza', 'Karaśkiewicz', 'Judek', 'Jędryczka', 'Grzegorzak', 'Drobniak', - 'Chowaniak', 'Wąsek', 'Smagacz', 'Pędzik', 'Klinger', 'Klęczar', 'Wochna', 'Rejek', - 'Krakowczyk', 'Kobak', 'Kawiak', 'Grosz', 'Czubaj', 'Chorążewicz', 'Zadka', 'Wietecha', - 'Sass', 'Męcik', 'Gustaw', 'Furga', 'Frącz', 'Dawiec', 'Wypchło', 'Tarasek', 'Szmaj', - 'Ornat', 'Huszcza', 'Dudczak', 'Ułanowicz', 'Rubin', 'Pich', 'Makoś', 'Krępa', 'Korek', - 'Jonik', 'Andrejczuk', 'Wiertel', 'Soroko', 'Składanek', 'Mortka', 'Małocha', 'Majsterek', - 'Lemanowicz', 'Lelito', 'Krystkowiak', 'Krasa', 'Kierat', 'Jędraszczyk', 'Handke', - 'Dymarczyk', 'Doruch', 'Beker', 'Peszko', 'Osik', 'Łyp', 'Karmelita', 'Herdzik', 'Brzęk', - 'Białczyk', 'Uss', 'Pitura', 'Łusiak', 'Knapek', 'Gumuła', 'Darłak', 'Znojek', 'Wilkos', - 'Rut', 'Przekop', 'Kręcichwost', 'Korab', 'Józwik', 'Jagiełka', 'Chylak', 'Zbiciak', - 'Wasążnik', 'Tłuczek', 'Syldatk', 'Parkitny', 'Juroszek', 'Wisz', 'Wiciak', 'Palonek', - 'Kusik', 'Kocurek', 'Kacperczyk', 'Bluszcz', 'Wydmuch', 'Wereda', 'Trybała', 'Sito', - 'Pietraszkiewicz', 'Nojek', 'Madziar', 'Kazana', 'Szulczyk', 'Rosołek', 'Roskosz', 'Proć', - 'Mazek', 'Koniecko', 'Horbacz', 'Zastawny', 'Orszulik', 'Mesjasz', 'Margas', 'Koźlak', - 'Dzidek', 'Damek', 'Zinkiewicz', 'Sznura', 'Sapała', 'Piaseczna', 'Osada', 'Koziarz', - 'Korta', 'Kłosiewicz', 'Klyszcz', 'Janoszek', 'Deszcz', 'Okła', 'Matacz', 'Hankiewicz', - 'Front', 'Daraż', 'Czura', 'Bylina', 'Bugiel', 'Anioła', 'Amanowicz', 'Zach', 'Starościak', - 'Kliszcz', 'Hadała', 'Czopik', 'Bytner', 'Wośko', 'Wawrzyn', 'Świt', 'Sanetra', 'Pyszczek', - 'Potaczek', 'Osman', 'Materka', 'Madura', 'Kniaź', 'Gryciuk', 'Fidor', 'Dunal', 'Dobroń', - 'Chlebda', 'Słupik', 'Osica', 'Oleksak', 'Maraszek', 'Kręgiel', 'Kopytko', 'Gomoła', - 'Droździel', 'Szott', 'Szkup', 'Posmyk', 'Młotek', 'Klejna', 'Jałowiec', 'Heinrich', - 'Haraburda', 'Grupa', 'Dziadkiewicz', 'Zaczyk', 'Rapa', 'Łodej', 'Lempart', 'Lamch', - 'Głuszko', 'Cudzich', 'Brojek', 'Ziemak', 'Tusk', 'Kieloch', 'Dziduch', 'Dudkowiak', - 'Czerner', 'Sommerfeld', 'Migoń', 'Macheta', 'Dusik', 'Ćwirko', 'Bilik', 'Sydor', 'Swiątek', - 'Sporek', 'Olesiejuk', 'Kutek', 'Jaszczur', 'Jarmuż', 'Gronkiewicz', 'Witan', 'Staniczek', - 'Rząca', 'Roter', 'Pracz', 'Hnat', 'Cydzik', 'Szatko', 'Styrna', 'Podleśna', 'Oleksa', - 'Nieścior', 'Matyjaszek', 'Łasica', 'Kwapień', 'Koronkiewicz', 'Hołota', 'Elert', - 'Czochara', 'Toczko', 'Święs', 'Słysz', 'Salach', 'Leśna', 'Głownia', 'Galica', 'Cieniuch', - 'Szulist', 'Pedrycz', 'Królczyk', 'Zyzik', 'Zaborek', 'Skałka', 'Sankiewicz', 'Pleban', - 'Martin', 'Lewek', 'Jędrys', 'Guzdek', 'Dumała', 'Wszoła', 'Rębiś', 'Pośnik', 'Porzucek', - 'Hawro', 'Dziób', 'Zwara', 'Wiraszka', 'Romankiewicz', 'Roch', 'Paleń', 'Ogonek', 'Makar', - 'Majdan', 'Kozdrój', 'Kozdroń', 'Jachna', 'Duniec', 'Dułak', 'Wojtanowicz', 'Waloch', - 'Ubysz', 'Stożek', 'Małycha', 'Kmak', 'Hass', 'Frydrychowicz', 'Domka', 'Żugaj', 'Zubowicz', - 'Wyrwał', 'Mordal', 'Kordys', 'Gozdur', 'Gabrych', 'Zbrożek', 'Zbroszczyk', 'Wojtoń', - 'Tórz', 'Torbus', 'Letkiewicz', 'Lampart', 'Superson', 'Sopata', 'Sobiło', 'Sapa', 'Salwin', - 'Pera', 'Organiściak', 'Matwiejczyk', 'Matejuk', 'Mały', 'Krüger', 'Dyszkiewicz', 'Basak', - 'Ankiewicz', 'Adamiuk', 'Sykała', 'Skonieczka', 'Pawełko', 'Nojman', 'Iskierka', 'Zięcik', - 'Trojanek', 'Sadlak', 'Nieradko', 'Behrendt', 'Wojewodzic', 'Polewka', 'Zasępa', 'Szczerek', - 'Szałata', 'Sot', 'Mleczek', 'Kukawka', 'Kaczmarkiewicz', 'Dorobek', 'Burchard', 'Blaut', - 'Witka', 'Sasak', 'Pasiak', 'Panasiewicz', 'Motak', 'Lizurej', 'Kuboń', 'Jędraszek', - 'Dylik', 'Cal', 'Buszko', 'Burnat', 'Wyskiel', 'Winek', 'Wiertelak', 'Wiak', 'Roś', - 'Orzeszek', 'Ochota', 'Mijas', 'Maculewicz', 'Kaja', 'Ciesielka', 'Bejm', 'Szmuc', 'Sygut', - 'Siarkiewicz', 'Ryznar', 'Patoka', 'Miszkurka', 'Kudełka', 'Krzyśko', 'Galon', 'Buczma', - 'Ziegler', 'Uroda', 'Turczyk', 'Tolak', 'Sypuła', 'Sadowy', 'Rasała', 'Kazubek', 'Han', - 'Wasiuk', 'Stempin', 'Stawczyk', 'Prokopiak', 'Pospiech', 'Polakiewicz', 'Olas', - 'Maruszczyk', 'Kapinos', 'Kabza', 'Szwałek', 'Smagała', 'Musiała', 'Miksza', 'Lampa', - 'Kulon', 'Koczara', 'Drynda', 'Szczypiór', 'Pawełkiewicz', 'Myk', 'Kuczak', 'Kołata', - 'Żywica', 'Tondera', 'Szmalec', 'Szczap', 'Sypień', 'Sołtysek', 'Mosur', 'Kościesza', - 'Kosowicz', 'Kolendo', 'Huber', 'Giel', 'Gałęza', 'Dyja', 'Cacko', 'Apanowicz', 'Wandas', - 'Siebert', 'Moneta', 'Ziajka', 'Sieg', 'Paluszak', 'Lichoń', 'Kastelik', 'Gwizdek', 'Drewa', - 'Andrys', 'Zbrzeźniak', 'Wlazły', 'Wittbrodt', 'Niksa', 'Habdas', 'Fryś', 'Doktór', 'Detka', - 'Cieplucha', 'Ciarka', 'Witkowicz', 'Wardzała', 'Stąpór', 'Pniak', 'Pierzak', 'Kryk', - 'Kożuszek', 'Kohnke', 'Kapałka', 'Domino', 'Czuj', 'Boksa', 'Wocial', 'Stuglik', 'Steciuk', - 'Smela', 'Plona', 'Piwowarek', 'Pernak', 'Minkina', 'Klos', 'Halik', 'Dzika', 'Dargacz', - 'Damian', 'Adrian', 'Węgrzynek', 'Tomal', 'Świerad', 'Szkatuła', 'Sajnóg', 'Kudlak', - 'Golczyk', 'Fronczyk', 'Czapiga', 'Błażejak', 'Bejma', 'Bartela', 'Tadeusiak', 'Nędzi', - 'Kurcz', 'Jasionek', 'Heleniak', 'Ziarek', 'Zera', 'Sarniak', 'Różak', 'Ligas', 'Kuzior', - 'Kuder', 'Korzeniak', 'Fac', 'Domowicz', 'Dębniak', 'Cieciora', 'Chaberek', 'Bogusiewicz', - 'Block', 'Wardziak', 'Prawdzik', 'Niebudek', 'Jeszka', 'Szpyrka', 'Szkaradek', 'Starek', - 'Pasich', 'Lademann', 'Jantos', 'Grzelec', 'Zapora', 'Wnuczek', 'Wąsala', 'Pompa', 'Małas', - 'Janka', 'Gałaj', 'Dybał', 'Chromy', 'Szpyt', 'Senger', 'Prygiel', 'Pawela', 'Łakota', - 'Jama', 'Graban', 'Fogt', 'Cebulak', 'Boryczko', 'Bojdo', 'Biesek', 'Arendarczyk', - 'Schubert', 'Namysł', 'Milewczyk', 'Hetmańczyk', 'Dyczko', 'Dankiewicz', 'Czerniec', - 'Staśko', 'Rochowiak', 'Misiuk', 'Markiel', 'Ksel', 'Krzyżostaniak', 'Elwart', 'Delekta', - 'Zębik', 'Siatka', 'Niewiara', 'Miozga', 'Mętel', 'Korgul', 'Karwan', 'Franków', 'Domek', - 'Ciepluch', 'Chojna', 'Surmiak', 'Strama', 'Stein', 'Siewiera', 'Robaszkiewicz', 'Piksa', - 'Kociemba', 'Klyta', 'Gromala', 'Gill', 'Broszkiewicz', 'Zontek', 'Stiller', 'Rosada', - 'Mieloch', 'Kornak', 'Goworek', 'Gadzała', 'Fitas', 'Uzar', 'Siedlarz', 'Rorat', 'Oskroba', - 'Mitera', 'Grygorcewicz', 'Gmurczyk', 'Dylak', 'Zybura', 'Wojtaszak', 'Wisła', 'Wasyluk', - 'Szałkiewicz', 'Krzysztoszek', 'Kościuszko', 'Kasiak', 'Wyrwich', 'Wołoszczuk', 'Śledzik', - 'Smorąg', 'Satora', 'Pochroń', 'Melaniuk', 'Jajko', 'Czajor', 'Bajko', 'Wojsław', 'Szumiec', - 'Nehring', 'Naumiuk', 'Luberda', 'Kęsek', 'Jaśkowiec', 'Foit', 'Fita', 'Fedyk', 'Działa', - 'Cygal', 'Zdancewicz', 'Walocha', 'Toma', 'Soczewka', 'Monkiewicz', 'Majtyka', 'Hynek', - 'Dynia', 'Czuryło', 'Bernatek', 'Apostel', 'Zawiasa', 'Piersa', 'Megger', 'Kukier', 'Jarka', - 'Glazik', 'Dyjas', 'Buś', 'Bona', 'Bandyk', 'Zięciak', 'Krajniak', 'Koperek', 'Kazberuk', - 'Dziewior', 'Chachaj', 'Sołoducha', 'Słomiany', 'Skolik', 'Pęksa', 'Mularz', 'Kosman', - 'Kolonko', 'Januszewicz', 'Gramza', 'Foremniak', 'Fijałek', 'Cierpka', 'Polnik', 'Drwięga', - 'Semenowicz', 'Pieszak', 'Narożna', 'Ładniak', 'Kontny', 'Klemens', 'Jancewicz', 'Fąferek', - 'Bisaga', 'Złotnik', 'Wosiek', 'Supernak', 'Kala', 'Giża', 'Bielat', 'Żyto', 'Rompa', - 'Kurpanik', 'Kołpak', 'Gołas', 'Długozima', 'Bacia', 'Wincenciak', 'Styn', 'Moczko', - 'Langier', 'Szrama', 'Szok', 'Suchenek', 'Pieczarka', 'Parus', 'Machul', 'Latko', - 'Krzyśków', 'Galos', 'Ekert', 'Dawidek', 'Czerkies', 'Bujas', 'Andryszczyk', 'Zuziak', - 'Węgrzyk', 'Stąpor', 'Pinda', 'Muzyk', 'Maligłówka', 'Łukasiuk', 'Kinal', 'Dobosiewicz', - 'Waraksa', 'Szywała', 'Nastały', 'Mordak', 'Ligenza', 'Leszczak', 'Krauz', 'Kopała', - 'Byzdra', 'Bartman', 'Wojtach', 'Wałaszek', 'Szara', 'Hapka', 'Wielgat', 'Węgier', 'Pokusa', - 'Małż', 'Kononowicz', 'Hawrylak', 'Grund', 'Druszcz', 'Dacko', 'Sprycha', 'Pryszcz', - 'Łachut', 'Dobrosz', 'Brygoła', 'Ryguła', 'Posłuszna', 'Mydlak', 'Bernard', 'Woroch', - 'Uliczka', 'Tomaszuk', 'Pastuła', 'Pachnik', 'Kudra', 'Kretek', 'Keler', 'Heczko', 'Beck', - 'Tekiela', 'Plizga', 'Piekacz', 'Ochab', 'Maziarczyk', 'Krzosek', 'Gabryelczyk', 'Stępka', - 'Rajch', 'Owsiany', 'Kossak', 'Kocaj', 'Gierach', 'Buza', 'Berendt', 'Tabak', 'Przewłoka', - 'Nytko', 'Kuban', 'Gebauer', 'Gajcy', 'Franaszek', 'Chwedczuk', 'Bochnak', 'Stachewicz', - 'Sosnówka', 'Słowiak', 'Mądro', 'Malcharek', 'Łukasz', 'Kornek', 'Hanusiak', - 'Furmankiewicz', 'Dzikiewicz', 'Duży', 'Delikat', 'Chojak', 'Zyga', 'Pyrz', 'Pietrusiewicz', - 'Olszyna', 'Olszowa', 'Ograbek', 'Molga', 'Maron', 'Jasica', 'Frymus', 'Buszta', 'Woszczak', - 'Woronko', 'Trawka', 'Rychcik', 'Przystupa', 'Oczko', 'Migda', 'Klebba', 'Jaje', 'Grabas', - 'Bugno', 'Bortkiewicz', 'Wesoła', 'Sudak', 'Puc', 'Przeklasa', 'Kocoł', 'Goik', - 'Błażejewicz', 'Tuzimek', 'Petrus', 'Pawlaczek', 'Pacholczak', 'Maciejewicz', 'Jakóbik', - 'Frania', 'Duszczak', 'Domurad', 'Bednarowicz', 'Thomas', 'Rakus', 'Przybyś', 'Pasiut', - 'Małyszka', 'Kurz', 'Kuczaj', 'Doktor', 'Tadla', 'Praczyk', 'Milka', 'Leszcz', 'Kryza', - 'Kryszczuk', 'Juraszczyk', 'Durczok', 'Boduch', 'Szeja', 'Pryk', 'Pitala', 'Molek', - 'Duchnik', 'Brachaczek', 'Wieja', 'Waloszek', 'Nawrotek', 'Nawój', 'Mironiuk', 'Matyjasek', - 'Łachacz', 'Kubów', 'Kidawa', 'Jaremek', 'Hasiak', 'Gierat', 'Gawłowicz', 'Wichary', - 'Sornat', 'Solich', 'Kurczab', 'Jasnoch', 'Famuła', 'Budrewicz', 'Pawliszyn', 'Kułach', - 'Kuffel', 'Konieczek', 'Koćwin', 'Imiołczyk', 'Dyda', 'Zander', 'Stochel', 'Osojca', - 'Mysior', 'Kuciak', 'Kłósek', 'Buchholz', 'Zegadło', 'Wiewiórka', 'Stochaj', 'Smolka', - 'Piotrak', 'Misior', 'Leoniak', 'Karwala', 'Jasina', 'Cięciwa', 'Ciastek', 'Chadaj', - 'Białach', 'Tabisz', 'Such', 'Sromek', 'Rysz', 'Puch', 'Plak', 'Palej', 'Och', 'Niedbał', - 'Mytnik', 'Morgała', 'Lukas', 'Lisoń', 'Królikiewicz', 'Kamieniak', 'Jachimczyk', - 'Grzywnowicz', 'Frukacz', 'Feliniak', 'Dzienisz', 'Drążyk', 'Żelasko', 'Waloszczyk', - 'Strójwąs', 'Smoczyk', 'Klorek', 'Kajdan', 'Kajak', 'Gral', 'Zawodnik', 'Ulfik', - 'Sobieszczyk', 'Skrobot', 'Ochał', 'Leżoń', 'Krywult', 'Iciek', 'Gasek', 'Czenczek', - 'Budzeń', 'Botor', 'Wikło', 'Tymczyszyn', 'Szpyra', 'Słonka', 'Prasek', 'Majczyna', 'Lula', - 'Jakubiuk', 'Hanzel', 'Głowiak', 'Calik', 'Zagrajek', 'Stefankiewicz', 'Serzysko', - 'Piechna', 'Myga', 'Maślankiewicz', 'Kuziora', 'Korniak', 'Indyka', 'Gałach', 'Gadzina', - 'Cyba', 'Bystrek', 'Bazela', 'Wabik', 'Ragus', 'Pitek', 'Mizia', 'Łaskawiec', 'Holeksa', - 'Hajdasz', 'Fugiel', 'Białasik', 'Woźniczko', 'Wilma', 'Rode', 'Preś', 'Komander', 'Klus', - 'Sarosiek', 'Sadoch', 'Osipowicz', 'Lelonek', 'Korbut', 'Jarmużek', 'Włodyka', 'Józefczak', - 'Jędra', 'Hamerla', 'Gęgotek', 'Domińczak', 'Wypiór', 'Sudnik', 'Słoboda', 'Pela', 'Kupś', - 'Kostorz', 'Kosak', 'Kopyść', 'Jarmuła', 'Daniec', 'Blank', 'Balcewicz', 'Starostka', - 'Siemieńczuk', 'Reiter', 'Mycek', 'Miętka', 'Łupina', 'Lipok', 'Knych', 'Drobisz', 'Cuch', - 'Wojtarowicz', 'Wojniak', 'Piechura', 'Meissner', 'Lemiesz', 'Klęk', 'Jargieło', 'Jamroz', - 'Huczko', 'Ceynowa', 'Trochim', 'Kremer', 'Janic', 'Gal', 'Cyrulik', 'Bejger', 'Bawoł', - 'Szczepan', 'Plewnia', 'Pędrak', 'Niedośpiał', 'Maras', 'Klepka', 'Kawulok', 'Katana', - 'Bronka', 'Bender', 'Bałdys', 'Wawrzonek', 'Taranek', 'Tadych', 'Szymała', 'Stebel', 'Skup', - 'Skubała', 'Pasieczna', 'Karkocha', 'Hak', 'Gąszczak', 'Pyś', 'Prażuch', 'Politowicz', - 'Piestrzeniewicz', 'Pajek', 'Nitek', 'Kozok', 'Kowala', 'Kalinka', 'Galuba', 'Buk', 'Breś', - 'Bodych', 'Bittner', 'Bakiera', 'Rembacz', 'Podgórna', 'Myrcik', 'Mojsa', 'Karpiak', - 'Kajdas', 'Gregorczuk', 'Dziurla', 'Dzienniak', 'Dyrek', 'Żołądkiewicz', 'Szumacher', - 'Sado', 'Pyszny', 'Narożny', 'Kuszyk', 'Jakimiak', 'Dynak', 'Dejneka', 'Wiekiera', - 'Tatarczuk', 'Rudyk', 'Nieścioruk', 'Laszkiewicz', 'Gołota', 'Golisz', 'Bąbel', 'Taczała', - 'Świć', 'Siciarz', 'Ropiak', 'Pacura', 'Makulec', 'Krauza', 'Grzesiek', 'Gemza', 'Dering', - 'Banek', 'Andziak', 'Wiza', 'Trojanowicz', 'Parkitna', 'Pacholik', 'Majtczak', 'Krenc', - 'Koniec', 'Wawrzeńczyk', 'Stupak', 'Roda', 'Maciejczuk', 'Irla', 'Husak', 'Fuławka', - 'Fabiańczyk', 'Bryda', 'Zackiewicz', 'Szoka', 'Melcer', 'Kempny', 'Dulemba', 'Duc', - 'Ziniewicz', 'Truchel', 'Szajner', 'Petryk', 'Peda', 'Obarzanek', 'Maszkiewicz', 'Łabaj', - 'Cymbała', 'Biesaga', 'Zdobylak', 'Wojtiuk', 'Ulrych', 'Szymków', 'Sporysz', 'Smardz', - 'Mandrysz', 'Kulus', 'Duras', 'Dumin', 'Borejko', 'Wyłupek', 'Ufniarz', 'Stypka', - 'Młyńczyk', 'Miros', 'Maciuk', 'Hrabia', 'Burzec', 'Buksa', 'Wygoda', 'Tomzik', 'Pindral', - 'Nijak', 'Mszyca', 'Maciejuk', 'Kudłacz', 'Dziwak', 'Chaba', 'Borkowicz', 'Berek', - 'Żakiewicz', 'Wykręt', 'Sztuba', 'Smykała', 'Pyc', 'Pęciak', 'Parzonka', 'Kyc', 'Klemczak', - 'Gąsienica', 'Gabryszak', 'Częścik', 'Cisoń', 'Zmyślony', 'Komisarek', 'Ficoń', 'Citko', - 'Bidas', 'Bas', 'Żabierek', 'Wyciszkiewicz', 'Tarach', 'Staniewicz', 'Reichel', - 'Panasewicz', 'Kucewicz', 'Kilar', 'Hein', 'Fronia', 'Derek', 'Bruś', 'Antoń', 'Pawlos', - 'Ochwat', 'Kurbiel', 'Gosik', 'Gierasimiuk', 'Doroba', 'Chłąd', 'Wrochna', 'Protasiuk', - 'Opalach', 'Mućko', 'Martyn', 'Drgas', 'Ceran', 'Bryczek', 'Ziarno', 'Wołodźko', 'Wac', - 'Szpala', 'Szlachcic', 'Rurka', 'Oczkowicz', 'Mik', 'Małysiak', 'Kubek', 'Imiela', 'Graboń', - 'Garbacik', 'Dolega', 'Broncel', 'Baum', 'Bancerz', 'Siedlik', 'Miąsko', 'Lenc', 'Konat', - 'Kaletka', 'Jenek', 'Honkisz', 'Droś', 'Suchojad', 'Ratka', 'Raba', 'Lulek', 'Komperda', - 'Kołodziejak', 'Koloch', 'Kolka', 'Joniak', 'Jezior', 'Faltyn', 'Dyjach', 'Czulak', 'Cop', - 'Wyroślak', 'Woda', 'Stranc', 'Solis', 'Skomra', 'Sierpień', 'Rzeźniczek', 'Pajdak', - 'Mostek', 'Machowiak', 'Janduła', 'Fitrzyk', 'Welenc', 'Tyczka', 'Skiepko', 'Potok', - 'Olewniczak', 'Nitkiewicz', 'Myrcha', 'Krata', 'Kara', 'Hołysz', 'Hałka', 'Florian', - 'Dziurdzia', 'Dryka', 'Sysło', 'Rolek', 'Młocek', 'Idzi', 'Haponiuk', 'Grębowiec', 'Gęca', - 'Bochnia', 'Ślipek', 'Sieczko', 'Pierz', 'Nyc', 'Łacina', 'Ludwisiak', 'Kujda', 'Hutyra', - 'Dziugieł', 'Białka', 'Zemanek', 'Zawartka', 'Smyl', 'Smolec', 'Słoka', 'Putek', - 'Pietrewicz', 'Lepka', 'Krzeszowiec', 'Kowalówka', 'Jośko', 'Hamrol', 'Gapys', 'Antoszczyk', - 'Turoń', 'Teter', 'Surdel', 'Pieczyrak', 'Mudlaff', 'Manista', 'Kolek', 'Kadela', 'Jeka', - 'Jamrożek', 'Goliasz', 'Dywan', 'Drewnik', 'Dąbroś', 'Ciaś', 'Obiała', 'Nocek', 'Marko', - 'Ładziak', 'Hadaś', 'Dulik', 'Dorynek', 'Wolańczyk', 'Stoltmann', 'Rozumek', 'Łudzik', - 'Łaś', 'Leoniuk', 'Krzyk', 'Karol', 'Kamyszek', 'Filusz', 'Czermak', 'Budych', 'Żółkiewicz', - 'Tatarczyk', 'Pietrus', 'Pachowicz', 'Niesporek', 'Kultys', 'Kornet', 'Kajstura', - 'Grześków', 'Dub', 'Drobot', 'Urynowicz', 'Swacha', 'Prokopczuk', 'Michnowicz', 'Malka', - 'Labocha', 'Capiga', 'Zawalich', 'Wizner', 'Startek', 'Smolorz', 'Rozynek', 'Pal', - 'Madajczyk', 'Ławniczek', 'Haremza', 'Bejnarowicz', 'Żuberek', 'Windak', 'Sobolak', - 'Sibiga', 'Rajczak', 'Pudełek', 'Michalkiewicz', 'Fularczyk', 'Broniarek', 'Żabka', - 'Towarek', 'Sugier', 'Pikula', 'Pawlonka', 'Marosz', 'Kut', 'Grymuza', 'Dąbkiewicz', - 'Ciechowicz', 'Brodawka', 'Borzych', 'Bela', 'Zaguła', 'Tyniec', 'Trepczyk', 'Stwora', - 'Paczos', 'Olbrych', 'Ogrodowicz', 'Michel', 'Mazepa', 'Lazarek', 'Krzystek', 'Jażdżyk', - 'Goska', 'Fraszczyk', 'Drożdżal', 'Cofała', 'Chołody', 'Wawrzyk', 'Prokurat', 'Policht', - 'Płodzień', 'Pasztaleniec', 'Osipiuk', 'Mateńko', 'Kiciak', 'Grotek', 'Członka', 'Żal', - 'Zimmer', 'Wosiak', 'Srokosz', 'Paździora', 'Patoła', 'Pałęga', 'Orawiec', 'Nastaj', - 'Mirgos', 'Merda', 'Machniak', 'Łokietek', 'Fogiel', 'Elias', 'Świergiel', 'Stempel', - 'Skocz', 'Potoczek', 'Penar', 'Miecznik', 'Kwapis', 'Jakóbiak', 'Gietka', 'Flisek', - 'Dudzicz', 'Cich', 'Broniek', 'Wiercigroch', 'Usarek', 'Tryc', 'Szylar', 'Szczot', 'Ptok', - 'Prystupa', 'Preuss', 'Piekara', 'Łaszczyk', 'Kurzaj', 'Kopiczko', 'Jachimczak', 'Hirsch', - 'Dytrych', 'Dorna', 'Bystroń', 'Worach', 'Tokaj', 'Szmagaj', 'Solnica', 'Rejmak', 'Reimann', - 'Pazoła', 'Nieradzik', 'Miechowicz', 'Langiewicz', 'Kruś', 'Kozień', 'Kielczyk', 'Jargiło', - 'Dąbal', 'Cichos', 'Sorbian', 'Ruman', 'Piotrkowicz', 'Oziębło', 'Henke', 'Czosnyka', - 'Choina', 'Chabior', 'Warzybok', 'Seweryniak', 'Pyzel', 'Niewola', 'Nesterowicz', 'Liss', - 'Kiepas', 'Kalista', 'Demiańczuk', 'Cłapa', 'Błasik', 'Berdzik', 'Bełza', 'Złotek', - 'Tonder', 'Szwaj', 'Szarzec', 'Suchora', 'Sarota', 'Palica', 'Matula', 'Malecha', 'Magryta', - 'Łuckiewicz', 'Kuster', 'Stoltman', 'Siewert', 'Serwach', 'Schwarz', 'Kuźnia', 'Kuśmider', - 'Kurzac', 'Klisz', 'Gwardiak', 'Gotfryd', 'Deneka', 'Ciuruś', 'Żmija', 'Tałaj', 'Sobuś', - 'Rajman', 'Perlik', 'Kurda', 'Kosznik', 'Kaluga', 'Jaracz', 'Hanas', 'Dzwonnik', 'Ziegert', - 'Szyma', 'Różewicz', 'Paszkowiak', 'Maślach', 'Lewicz', 'Heba', 'Godzwon', 'Drej', 'Borak', - 'Adamów', 'Tywoniuk', 'Ścieszka', 'Smal', 'Łabuś', 'Kominiak', 'Dietrich', 'Cąkała', - 'Budzich', 'Bąbol', 'Zgoła', 'Sładek', 'Sierżant', 'Misiurek', 'Miąsik', 'Mądrzyk', - 'Kretowicz', 'Kasznia', 'Jeżyna', 'Humeniuk', 'Fiutak', 'Czerniakiewicz', 'Bork', 'Żymełka', - 'Tomalik', 'Szarpak', 'Sołtan', 'Maciuszek', 'Krysta', 'Grzeszkowiak', 'Brachman', 'Zys', - 'Westfal', 'Waluk', 'Wacławiak', 'Sałuda', 'Sabak', 'Niedojadło', 'Nazarko', 'Murat', - 'Majzner', 'Ludwin', 'Kubaczyk', 'Kielich', 'Doliwa', 'Dej', 'Chuchla', 'Boguś', 'Bobik', - 'Zadworny', 'Wójs', 'Tyma', 'Sztuczka', 'Strządała', 'Sowała', 'Omiotek', 'Oleśkiewicz', - 'Morawiak', 'Kwapisiewicz', 'Krokosz', 'Hajder', 'Garczyk', 'Burdach', 'Związek', 'Wojczuk', - 'Stanclik', 'Piekart', 'Mielke', 'Machowicz', 'Kozieja', 'Kaziród', 'Gaś', 'Garbaciak', - 'Chatys', 'Bzdęga', 'Bartoszczyk', 'Zdonek', 'Więcławek', 'Wielgo', 'Steuer', 'Staręga', - 'Sakwa', 'Orpel', 'Kobel', 'Golonko', 'Stark', 'Soczówka', 'Nickel', 'Kupaj', 'Kolman', - 'Kieca', 'Kamyk', 'Jeżyk', 'Glica', 'Gasz', 'Gamrat', 'Franiak', 'Bacik', 'Andrukiewicz', - 'Troka', 'Siwka', 'Odrzywołek', 'Nurkiewicz', 'Kozubal', 'Kott', 'Głowienka', 'Doroszuk', - 'Cogiel', 'Cheba', 'Baś', 'Andreasik', 'Wenzel', 'Szumna', 'Rosłoń', 'Ogłaza', - 'Mikłaszewicz', 'Kubieniec', 'Jędral', 'Bieniak', 'Wons', 'Władyka', 'Rolak', 'Prejs', - 'Płocharczyk', 'Ostręga', 'Łęgowik', 'Ludwik', 'Kopik', 'Kleinschmidt', 'Karczmarek', - 'Gładka', 'Czylok', 'Wawrzynkiewicz', + first_names_male: Tuple[str, ...] = ( + "Jakub", + "Jan", + "Mateusz", + "Bartek", + "Kacper", + "Michał", + "Szymon", + "Antoni", + "Filip", + "Piotr", + "Maciej", + "Aleksander", + "Franciszek", + "Mikołaj", + "Adam", + "Stanisław", + "Wiktor", + "Krzysztof", + "Wojciech", + "Igor", + "Maksymilian", + "Karol", + "Dawid", + "Tomasz", + "Patryk", + "Oskar", + "Paweł", + "Dominik", + "Kamil", + "Oliwier", + "Ignacy", + "Marcel", + "Hubert", + "Adrian", + "Łukasz", + "Sebastian", + "Julian", + "Tymon", + "Krystian", + "Marcin", + "Damian", + "Miłosz", + "Leon", + "Alan", + "Tymoteusz", + "Kajetan", + "Grzegorz", + "Daniel", + "Rafał", + "Eryk", + "Konrad", + "Ksawery", + "Gabriel", + "Nikodem", + "Bruno", + "Przemysław", + "Borys", + "Artur", + "Olaf", + "Jerzy", + "Marek", + "Tadeusz", + "Andrzej", + "Witold", + "Iwo", + "Juliusz", + "Robert", + "Błażej", + "Cezary", + "Jeremi", + "Jacek", + "Konstanty", + "Ryszard", + "Stefan", + "Aleks", + "Gustaw", + "Radosław", + "Emil", + "Norbert", + "Fabian", + "Jędrzej", + "Alex", + "Kazimierz", + "Arkadiusz", + "Kornel", + "Józef", + "Natan", + "Cyprian", + "Mieszko", + "Nataniel", + "Maks", + "Maurycy", + "Olgierd", + "Dariusz", + "Leonard", + "Mariusz", + "Albert", + "Fryderyk", + "Ernest", + "Tobiasz", ) - male_last_names = ( - 'Kowalski', 'Wiśniewski', 'Dąbrowski', 'Lewandowski', 'Wójcik', 'Kamiński', 'Kowalczyk', - 'Zieliński', 'Szymański', 'Woźniak', 'Kozłowski', 'Jankowski', 'Wojciechowski', - 'Kwiatkowski', 'Kaczmarek', 'Mazur', 'Krawczyk', 'Piotrowski', 'Grabowski', 'Nowakowski', - 'Pawłowski', 'Michalski', 'Nowicki', 'Adamczyk', 'Dudek', 'Zając', 'Wieczorek', 'Jabłoński', - 'Król', 'Majewski', 'Olszewski', 'Jaworski', 'Wróbel', 'Malinowski', 'Pawlak', 'Witkowski', - 'Walczak', 'Stępień', 'Górski', 'Rutkowski', 'Michalak', 'Sikora', 'Ostrowski', 'Baran', - 'Duda', 'Szewczyk', 'Tomaszewski', 'Pietrzak', 'Marciniak', 'Wróblewski', 'Zalewski', - 'Jakubowski', 'Jasiński', 'Zawadzki', 'Sadowski', 'Bąk', 'Chmielewski', 'Włodarczyk', - 'Borkowski', 'Czarnecki', 'Sawicki', 'Sokołowski', 'Urbański', 'Kubiak', 'Maciejewski', - 'Szczepański', 'Kucharski', 'Wilk', 'Kalinowski', 'Lis', 'Mazurek', 'Wysocki', 'Adamski', - 'Kaźmierczak', 'Wasilewski', 'Sobczak', 'Czerwiński', 'Andrzejewski', 'Cieślak', 'Głowacki', - 'Zakrzewski', 'Kołodziej', 'Sikorski', 'Krajewski', 'Gajewski', 'Szymczak', 'Szulc', - 'Baranowski', 'Laskowski', 'Brzeziński', 'Makowski', 'Ziółkowski', 'Przybylski', 'Domański', - 'Nowacki', 'Borowski', 'Błaszczyk', 'Chojnacki', 'Ciesielski', 'Mróz', 'Szczepaniak', - 'Wesołowski', 'Górecki', 'Krupa', 'Kaczmarczyk', 'Leszczyński', 'Lipiński', 'Kowalewski', - 'Urbaniak', 'Kozak', 'Kania', 'Mikołajczyk', 'Czajkowski', 'Mucha', 'Tomczak', 'Kozioł', - 'Markowski', 'Kowalik', 'Nawrocki', 'Brzozowski', 'Janik', 'Musiał', 'Wawrzyniak', - 'Markiewicz', 'Orłowski', 'Tomczyk', 'Jarosz', 'Kołodziejczyk', 'Kurek', 'Kopeć', 'Żak', - 'Wolski', 'Łuczak', 'Dziedzic', 'Kot', 'Stasiak', 'Stankiewicz', 'Piątek', 'Jóźwiak', - 'Urban', 'Dobrowolski', 'Pawlik', 'Kruk', 'Domagała', 'Piasecki', 'Wierzbicki', 'Karpiński', - 'Jastrzębski', 'Polak', 'Zięba', 'Janicki', 'Wójtowicz', 'Stefański', 'Sosnowski', - 'Bednarek', 'Majchrzak', 'Bielecki', 'Małecki', 'Maj', 'Sowa', 'Milewski', 'Gajda', - 'Klimek', 'Olejniczak', 'Ratajczak', 'Romanowski', 'Matuszewski', 'Śliwiński', 'Madej', - 'Kasprzak', 'Wilczyński', 'Grzelak', 'Socha', 'Czajka', 'Marek', 'Kowal', 'Bednarczyk', - 'Skiba', 'Wrona', 'Owczarek', 'Marcinkowski', 'Matusiak', 'Orzechowski', 'Sobolewski', - 'Kędzierski', 'Kurowski', 'Rogowski', 'Olejnik', 'Dębski', 'Barański', 'Skowroński', - 'Mazurkiewicz', 'Pająk', 'Czech', 'Janiszewski', 'Bednarski', 'Łukasik', 'Chrzanowski', - 'Bukowski', 'Leśniak', + + first_names_female: Tuple[str, ...] = ( + "Kamila", + "Ewa", + "Blanka", + "Olga", + "Kalina", + "Klara", + "Urszula", + "Sandra", + "Kaja", + "Marianna", + "Kornelia", + "Justyna", + "Monika", + "Sara", + "Adrianna", + "Aniela", + "Agnieszka", + "Róża", + "Marcelina", + "Roksana", + "Natasza", + "Lidia", + "Malwina", + "Karina", + "Ada", + "Marika", + "Anastazja", + "Sonia", + "Nela", + "Dorota", + "Apolonia", + "Ida", + "Eliza", + "Angelika", + "Anna Maria", + "Liwia", + "Ewelina", + "Julita", + "Rozalia", + "Inga", + "Krystyna", + "Bianka", + "Dagmara", + "Melania", + "Sylwia", + "Nicole", + "Anita", + "Aurelia", + "Elżbieta", + "Janina", + "Julianna", + "Tola", + "Gaja", ) - prefixes_male = ('pan',) - prefixes_female = ('pani',) + unisex_last_names: Tuple[str, ...] = ( + "Wandzel", + "Pajda", + "Dzienis", + "Borysewicz", + "Szlaga", + "Krzysiek", + "Iwańczyk", + "Cierpisz", + "Borczyk", + "Szymula", + "Pietrasiak", + "Minkiewicz", + "Hojka", + "Goral", + "Staś", + "Smoter", + "Bosek", + "Bitner", + "Kondej", + "Furgał", + "Durlik", + "Kusa", + "Pacewicz", + "Masiak", + "Kucz", + "Cichowlas", + "Anders", + "Wawszczak", + "Słupek", + "Pych", + "Piszcz", + "Opoka", + "Lorenz", + "Grochowina", + "Wicha", + "Pawliczek", + "Kus", + "Zysk", + "Sroga", + "Rychel", + "Patora", + "Maciocha", + "Rozmiarek", + "Pesta", + "Działak", + "Godyń", + "Chmara", + "Jakubaszek", + "Bałazy", + "Rykała", + "Wika", + "Kotala", + "Fikus", + "Sus", + "Kunc", + "Mateusiak", + "Kusyk", + "Romańczyk", + "Makieła", + "Lejman", + "Kołaczek", + "Kurzak", + "Bondyra", + "Podkowa", + "Paśnik", + "Oleszko", + "Marcol", + "Szybiak", + "Ruszczak", + "Zbroja", + "Stosik", + "Gruchot", + "Boś", + "Wożniak", + "Gniewek", + "Buława", + "Wiatrak", + "Talaśka", + "Patalas", + "Kwoka", + "Krzempek", + "Danilczuk", + "Ważny", + "Sidorczuk", + "Legutko", + "Kobos", + "Tylek", + "Szkoda", + "Przerwa", + "Linek", + "Galik", + "Dulewicz", + "Drozda", + "Nowek", + "Matulewicz", + "Karpeta", + "Jurczuk", + "Buśko", + "Słomian", + "Drywa", + "Rybus", + "Langa", + "Kluczek", + "Orkisz", + "Ziemkiewicz", + "Siara", + "Para", + "Kwasek", + "Januszko", + "Hejduk", + "Łuszczak", + "Sprawka", + "Kiełek", + "Jop", + "Faryna", + "Zimoń", + "Utrata", + "Mirga", + "Kozaczuk", + "Wojtyna", + "Rzońca", + "Madejczyk", + "Glapiak", + "Dziadkowiec", + "Ochnio", + "Sieja", + "Malewicz", + "Bachanek", + "Mirocha", + "Domżał", + "Tworzydło", + "Płaneta", + "Feret", + "Witas", + "Figat", + "Muc", + "Kuciel", + "Kielan", + "Hałat", + "Tecław", + "Loba", + "Klucznik", + "Bielas", + "Rajczyk", + "Myszak", + "Muniak", + "Michalczak", + "Kochanowicz", + "Szołtysik", + "Rychert", + "Pyda", + "Janowiak", + "Janiga", + "Grądziel", + "Wdowczyk", + "Pytlarz", + "Kuzia", + "Dziewa", + "Bernatowicz", + "Ostapiuk", + "Rejniak", + "Kotlarek", + "Gajownik", + "Brach", + "Tatarek", + "Szyc", + "Masny", + "Drop", + "Saternus", + "Podsiadła", + "Patyna", + "Kargol", + "Truchan", + "Pietrusiak", + "Kolbusz", + "Kalota", + "Hołubowicz", + "Andrzejuk", + "Zdziech", + "Szymonik", + "Sych", + "Strojna", + "Seta", + "Orman", + "Hermanowicz", + "Denkiewicz", + "Bulanda", + "Szwaja", + "Jankowicz", + "Pochopień", + "Kobza", + "Karwot", + "Kałek", + "Laszuk", + "Aleksiejuk", + "Witaszek", + "Wawryniuk", + "Jacak", + "Bugla", + "Wejman", + "Jaroch", + "Janiszek", + "Gorzelańczyk", + "Zieja", + "Krochmal", + "Filas", + "Wawrzynowicz", + "Szałas", + "Machoń", + "Labus", + "Irzyk", + "Gomuła", + "Wesoły", + "Solarek", + "Kośka", + "Myszk", + "Moryc", + "Lizoń", + "Lesisz", + "Kiełbowicz", + "Serwa", + "Piórek", + "Majdak", + "Bruzda", + "Bakun", + "Subocz", + "Stypuła", + "Gołek", + "Fik", + "Wołczyk", + "Waniek", + "Parzyszek", + "Oszust", + "Burza", + "Żbik", + "Misztela", + "Kurant", + "Drygas", + "Łaciak", + "Franczuk", + "Rycerz", + "Żok", + "Zeman", + "Mejer", + "Kanarek", + "Jędruch", + "Saj", + "Nieroda", + "Juśkiewicz", + "Surdyk", + "Paliga", + "Makaruk", + "Hamera", + "Łukowicz", + "Barcz", + "Witos", + "Strzelczak", + "Siedlaczek", + "Pakosz", + "Burchardt", + "Nurek", + "Morys", + "Korbel", + "Kokosza", + "Kijanka", + "Bobak", + "Samson", + "Jarosiewicz", + "Szelest", + "Stanisławek", + "Perka", + "Ciepłuch", + "Bryja", + "Świątkiewicz", + "Samul", + "Rohde", + "Prucnal", + "Miszkiewicz", + "Kuropatwa", + "Gajdzik", + "Mućka", + "Misiaszek", + "Fornalik", + "Wiszowaty", + "Thiel", + "Osiadacz", + "Miśko", + "Mielcarz", + "Drózd", + "Oleksiuk", + "Matyka", + "Łyczak", + "Cabała", + "Ośka", + "Bereś", + "Armatys", + "Szmajda", + "Młyńczak", + "Kupidura", + "Kijas", + "Chomiuk", + "Gowin", + "Dybka", + "Bródka", + "Wziątek", + "Ślęczka", + "Koj", + "Drabczyk", + "Buczko", + "Sawko", + "Kłysz", + "Karpiel", + "Jarczyk", + "Flaga", + "Fiedorczuk", + "Tomalak", + "Nałęcz", + "Choroś", + "Brańka", + "Rajchel", + "Kiedrowicz", + "Gąbka", + "Fiołek", + "Drozdowicz", + "Stypa", + "Kawala", + "Mazanek", + "Kwinta", + "Koczy", + "Hyży", + "Grzejszczak", + "Wywiał", + "Sacharczuk", + "Jaroszuk", + "Golon", + "Chachuła", + "Malarczyk", + "Kawula", + "Bohdanowicz", + "Bartocha", + "Lewko", + "Igras", + "Damps", + "Tlałka", + "Niechciał", + "Łyskawa", + "Goś", + "Więckiewicz", + "Leśko", + "Konsek", + "Juszczuk", + "Szczudło", + "Poniedziałek", + "Palus", + "Bodziony", + "Śmieszek", + "Rej", + "Pietryga", + "Mieszała", + "Malcher", + "Kopij", + "Kaczan", + "Janasik", + "Watras", + "Stojak", + "Strzyż", + "Siemieniec", + "Kośnik", + "Kasperczak", + "Woszczyna", + "Wiech", + "Stefanik", + "Miara", + "Łodyga", + "Walo", + "Oleksiewicz", + "Mainka", + "Baka", + "Trybuś", + "Samol", + "Jamroży", + "Gruszczyk", + "Deluga", + "Trzos", + "Sinkiewicz", + "Lesik", + "Kroczak", + "Klamka", + "Grzelczyk", + "Dycha", + "Ciesielczyk", + "Armata", + "Wawrzyczek", + "Prokopczyk", + "Hampel", + "Grzech", + "Rzucidło", + "Rawa", + "Kręcisz", + "Karyś", + "Rodzeń", + "Karalus", + "Mikosz", + "Kazimierczuk", + "Hajda", + "Berg", + "Teper", + "Słabosz", + "Dziechciarz", + "Dmoch", + "Śleziak", + "Pietrek", + "Martyka", + "Wołk", + "Smętek", + "Kroll", + "Grab", + "Dziedzina", + "Noszczyk", + "Kazek", + "Jędrusiak", + "Cebo", + "Tokarek", + "Małota", + "Hanc", + "Uliasz", + "Pysz", + "Piłka", + "Błaszyk", + "Wyrobek", + "Trybus", + "Szlęk", + "Pindor", + "Łuc", + "Baszak", + "Majak", + "Łój", + "Szczypek", + "Łuczkiewicz", + "Łaszcz", + "Froń", + "Dybaś", + "Budner", + "Ostasz", + "Siekierka", + "Pilipczuk", + "Kandzia", + "Gieroń", + "Drost", + "Chwała", + "Malesza", + "Fiedler", + "Suszko", + "Kurnik", + "Bereda", + "Nalewajko", + "Duczmal", + "Sieradzan", + "Pietrasz", + "Cecot", + "Tomaszkiewicz", + "Rabiej", + "Staniaszek", + "Mikusek", + "Kuryłowicz", + "Herda", + "Brzykcy", + "Początek", + "Ochal", + "Koral", + "Kaźmierczyk", + "Kandziora", + "Sycz", + "Reich", + "Lindner", + "Fulara", + "Przybycień", + "Hermann", + "Forysiak", + "Strzępek", + "Sondej", + "Pyć", + "Piaścik", + "Grygo", + "Wita", + "Szynkiewicz", + "Piesik", + "Nasiadka", + "Murach", + "Kostro", + "Hinca", + "Engler", + "Tułacz", + "Przewoźny", + "Pizoń", + "Łapacz", + "Hajduga", + "Bulczak", + "Bubel", + "Smutek", + "Samoraj", + "Plaskota", + "Fraś", + "Becker", + "Baranowicz", + "Trznadel", + "Topa", + "Stanisławczyk", + "Lato", + "Kołton", + "Uryga", + "Tomaszczyk", + "Szymanik", + "Stochmal", + "Kiszczak", + "Dylong", + "Chruszcz", + "Byra", + "Friedrich", + "Cyganik", + "Pacocha", + "Jonczyk", + "Szymańczyk", + "Radko", + "Meler", + "Kuran", + "Koman", + "Błądek", + "Banachowicz", + "Babiuch", + "Kruszka", + "Fijoł", + "Zatoń", + "Włodarz", + "Trepka", + "Świerszcz", + "Strzała", + "Opioła", + "Kursa", + "Dyś", + "Broś", + "Tyka", + "Syroka", + "Grys", + "Szczepaniuk", + "Marcińczyk", + "Leks", + "Kubina", + "Janke", + "Dąbrowicz", + "Hulbój", + "Cieciura", + "Chochół", + "Szpila", + "Samiec", + "Rduch", + "Nabiałek", + "Margol", + "Kopa", + "Engel", + "Czerepak", + "Rosłon", + "Pusz", + "Matla", + "Wołoch", + "Pazik", + "Nazimek", + "Kuśka", + "Karczmarz", + "Gajzler", + "Sławik", + "Lalak", + "Grabias", + "Gągała", + "Chwedoruk", + "Wasil", + "Pachołek", + "Wichłacz", + "Walentynowicz", + "Tylus", + "Kosz", + "Iwanow", + "Garczarek", + "Dorociak", + "Boguta", + "Betka", + "Widuch", + "Wawrzynek", + "Szymajda", + "Stanaszek", + "Klama", + "Goj", + "Dzierżak", + "Walasik", + "Skwira", + "Luks", + "Kujawiak", + "Dworczak", + "Tofil", + "Rurarz", + "Pachla", + "Lenarcik", + "Kusztal", + "Chaber", + "Skała", + "Radzewicz", + "Kramer", + "Kochel", + "Dukat", + "Naglik", + "Szurek", + "Litwiniuk", + "Halama", + "Grzela", + "Wojaczek", + "Popielarczyk", + "Krysik", + "Dawidczyk", + "Barteczko", + "Balik", + "Warych", + "Miodek", + "Madera", + "Leszczyk", + "Kolanek", + "Fijak", + "Furgała", + "Faruga", + "Poleszak", + "Kusek", + "Herok", + "Golda", + "Rymarz", + "Pociask", + "Kowalak", + "Czupryna", + "Trzcionka", + "Sulik", + "Matulka", + "Herbut", + "Stosio", + "Kurtyka", + "Ciuk", + "Szczerbiak", + "Snoch", + "Budniak", + "Boruc", + "Tylka", + "Kwak", + "Garncarz", + "Szuta", + "Miśkowiec", + "Sykut", + "Jarosik", + "Golus", + "Chmielak", + "Abramczuk", + "Skrobek", + "Patrzałek", + "Linkiewicz", + "Jereczek", + "Jarema", + "Flasza", + "Fiedoruk", + "Budkiewicz", + "Świgoń", + "Przewoźnik", + "Parada", + "Heller", + "Gierak", + "Ferdyn", + "Sumera", + "Bik", + "Kamela", + "Ciereszko", + "Świtaj", + "Pastuszko", + "Łobacz", + "Kuba", + "Krzywonos", + "Granat", + "Szóstak", + "Płoskonka", + "Kumorek", + "Komuda", + "Klinkosz", + "Falba", + "Szczechowicz", + "Rozum", + "Moroń", + "Matynia", + "Greszta", + "Łuczka", + "Dziewit", + "Mueller", + "Kapral", + "Hrynkiewicz", + "Gonsior", + "Forma", + "Ciesiółka", + "Bors", + "Siwa", + "Niemczuk", + "Nazar", + "Liśkiewicz", + "Jarczak", + "Felisiak", + "Fedorczyk", + "Wilusz", + "Pastor", + "Gierek", + "Romaniak", + "Oleszczak", + "Juras", + "Zachwieja", + "Szmurło", + "Smektała", + "Przewoźna", + "Nikel", + "Chlebek", + "Balas", + "Latuszek", + "Ambrozik", + "Janczura", + "Aleksandrzak", + "Wojtalik", + "Rok", + "Nagórka", + "Latoszek", + "Kubowicz", + "Domian", + "Ciemięga", + "Soliwoda", + "Komsta", + "Filus", + "Wierzchoń", + "Skotarczak", + "Cader", + "Trzmiel", + "Jagieło", + "Wawszczyk", + "Troć", + "Swatek", + "Bączkiewicz", + "Ulewicz", + "Tutka", + "Pałac", + "Mydlarz", + "Molka", + "Janiuk", + "Guziak", + "Frycz", + "Drzał", + "Zacharek", + "Wiencek", + "Szłapka", + "Kurach", + "Bareja", + "Pawlukiewicz", + "Moździerz", + "Mich", + "Lisik", + "Kałwa", + "Dadej", + "Matela", + "Lenda", + "Wolff", + "Wojnicz", + "Sendor", + "Mrózek", + "Łągiewka", + "Kulisz", + "Kolarz", + "Walus", + "Mikoda", + "Kral", + "Darul", + "Warczak", + "Kunysz", + "Kidoń", + "Ciuła", + "Chomiak", + "Rzeźniczak", + "Przeniosło", + "Chomik", + "Zimoląg", + "Wojtyś", + "Mędrala", + "Hennig", + "Handzel", + "Twardzik", + "Śmieja", + "Solarczyk", + "Mendak", + "Lemieszek", + "Kiryluk", + "Wrześniak", + "Kwarciak", + "Gasik", + "Borysiewicz", + "Sierota", + "Mysiak", + "Kraszkiewicz", + "Hyjek", + "Polaszek", + "Pazera", + "Kubisz", + "Kościukiewicz", + "Kopczyk", + "Kliber", + "Kaczmar", + "Kaczka", + "Bicz", + "Augustynek", + "Straszak", + "Sajewicz", + "Glanc", + "Bzymek", + "Zieniewicz", + "Pagacz", + "Gortat", + "Bubak", + "Warwas", + "Skoneczna", + "Nestorowicz", + "Dziopa", + "Danisz", + "Bazydło", + "Garncarek", + "Albin", + "Szeszko", + "Naczk", + "Łukowiak", + "Kopciuch", + "Jakoniuk", + "Węgrzynowicz", + "Walencik", + "Turlej", + "Leonowicz", + "Kierepka", + "Hendzel", + "Fronczek", + "Zarzeczna", + "Zagrodnik", + "Wałęsa", + "Trzepizur", + "Tereszkiewicz", + "Szczubełek", + "Magier", + "Działo", + "Drygała", + "Czesak", + "Majorek", + "Wlizło", + "Skutnik", + "Radke", + "Piątkiewicz", + "Oślizło", + "Kansy", + "Szela", + "Mol", + "Kuświk", + "Karpik", + "Janczarek", + "Hajdukiewicz", + "Mzyk", + "Kostera", + "Leszkiewicz", + "Hutnik", + "Glaza", + "Fydrych", + "Piegza", + "Matusewicz", + "Matus", + "Kluczyk", + "Drobnik", + "Połom", + "Okraska", + "Neska", + "Kozłowicz", + "Wołos", + "Wacławczyk", + "Ochnik", + "Maruszczak", + "Lesner", + "Kuncewicz", + "Kieszek", + "Betlej", + "Wałdoch", + "Szarejko", + "Smalec", + "Łosiewicz", + "Lisak", + "Walkusz", + "Owsiak", + "Kowaluk", + "Simon", + "Rup", + "Neubauer", + "Muskała", + "Kucharzyk", + "Gabryel", + "Zimniak", + "Warmuz", + "Opas", + "Michniak", + "Cieloch", + "Wójcikiewicz", + "Świech", + "Powierża", + "Olko", + "Miękus", + "Kutnik", + "Kustosz", + "Kochman", + "Trąbka", + "Szyja", + "Młynarz", + "Wojtak", + "Dzierwa", + "Zyguła", + "Taciak", + "Koziatek", + "Koss", + "Walenciak", + "Twardosz", + "Pakos", + "Mamcarz", + "Burzawa", + "Lenik", + "Franc", + "Sadza", + "Mądrzak", + "Mak", + "Bobel", + "Szajna", + "Proch", + "Kosela", + "Guźniczak", + "Radziewicz", + "Olchawa", + "Morcinek", + "Bastek", + "Ragan", + "Podeszwa", + "Mitek", + "Janoszka", + "Słaba", + "Rusnak", + "Płócienniczak", + "Hanke", + "Gosek", + "Wujek", + "Warchał", + "Starzak", + "Prochownik", + "Molak", + "Duszkiewicz", + "Sztaba", + "Piwek", + "Nowotnik", + "Kiljan", + "Dubel", + "Brodowicz", + "Tylec", + "Pik", + "Pastucha", + "Księżak", + "Gumieniak", + "Ufnal", + "Stawinoga", + "Słoń", + "Kolarczyk", + "John", + "Fleszar", + "Lemke", + "Kurc", + "Kamieniarz", + "Jaskóła", + "Jaremko", + "Gogacz", + "Dudała", + "Chlipała", + "Szłapa", + "Seidel", + "Kopyt", + "Karłowicz", + "Gębura", + "Frączkiewicz", + "Frankowicz", + "Dybiec", + "Drobny", + "Brózda", + "Boruń", + "Pelka", + "Macias", + "Ruszel", + "Pabis", + "Krefta", + "Ćwierz", + "Bieleń", + "Szyca", + "Pronobis", + "Dreszer", + "Bryzek", + "Ambrożewicz", + "Słobodzian", + "Mrozowicz", + "Wojak", + "Szklarek", + "Paw", + "Kościelak", + "Kalarus", + "Wylegała", + "Powązka", + "Młot", + "Krekora", + "Bilewicz", + "Pyszka", + "Niedźwiadek", + "Lubera", + "Chodak", + "Breguła", + "Synak", + "Supeł", + "Suda", + "Roczniak", + "Matuszyk", + "Helak", + "Gubernat", + "Wojtera", + "Wiszowata", + "Świętoń", + "Deryło", + "Szałaj", + "Rzeszutko", + "Matejczuk", + "Żołądź", + "Suchta", + "Pokrzywa", + "Piguła", + "Litwińczuk", + "Kik", + "Gula", + "Geisler", + "Micał", + "Maszota", + "Kurzyna", + "Feliksiak", + "Cybul", + "Wiaderek", + "Śnieg", + "Linka", + "Fidler", + "Fabiszak", + "Cibor", + "Ryczko", + "Rudolf", + "Jędrzejek", + "Bekus", + "Bek", + "Wolan", + "Radzio", + "Kuliberda", + "Kolanko", + "Szykuła", + "Skowyra", + "Porwoł", + "Kosiak", + "Kasica", + "Jakiel", + "Piejko", + "Owczarczak", + "Michnik", + "Linke", + "Kutera", + "Bobryk", + "Szabla", + "Powała", + "Marciniszyn", + "Gorgol", + "Czerwionka", + "Ledzion", + "Dykas", + "Zygmuntowicz", + "Listwan", + "Bobrowicz", + "Żurawik", + "Migała", + "Merchel", + "Bogumił", + "Wojsa", + "Sadura", + "Łyjak", + "Giers", + "Gałat", + "Parafiniuk", + "Kryszkiewicz", + "Wyrostek", + "Wałek", + "Rembisz", + "Paściak", + "Maksym", + "Kusio", + "Kostek", + "Kalisiak", + "Bździuch", + "Szlufik", + "Pogorzelec", + "Pielech", + "Kafel", + "Gmur", + "Glazer", + "Borysiuk", + "Białk", + "Adamaszek", + "Wiesiołek", + "Wakuła", + "Rogula", + "Leszczuk", + "Kapciak", + "Gul", + "Buszka", + "Sklorz", + "Parda", + "Miszkiel", + "Latek", + "Kurzydło", + "Kucharz", + "Giec", + "Wajdzik", + "Mazik", + "Klimko", + "Kleina", + "Dorawa", + "Perczak", + "Lang", + "Grunt", + "Cywka", + "Batóg", + "Widłak", + "Miszta", + "Kość", + "Kosidło", + "Aleksander", + "Marchlewicz", + "Korkosz", + "Beśka", + "Bak", + "Stoch", + "Makles", + "Hudzik", + "Hornik", + "Bujko", + "Ziętal", + "Zawal", + "Sochaj", + "Podpora", + "Małyszek", + "Maćków", + "Latacz", + "Kozdra", + "Kosno", + "Gogół", + "Fit", + "Bienia", + "Wendt", + "Szyda", + "Suchoń", + "Sobel", + "Lesiewicz", + "Koleśnik", + "Kinder", + "Kasper", + "Jaszczyszyn", + "Weremczuk", + "Steinke", + "Sądej", + "Puła", + "Nowrot", + "Nowotny", + "Majorczyk", + "Kunert", + "Jerzyk", + "Capała", + "Bartoś", + "Wojciech", + "Stelmasiak", + "Portka", + "Pietrak", + "Łuksza", + "Kulma", + "Jeske", + "Góraj", + "Fyda", + "Siemion", + "Rusiniak", + "Flisiak", + "Cherek", + "Bryndza", + "Zioła", + "Zapaśnik", + "Raszkiewicz", + "Pszczółka", + "Pałgan", + "Kozar", + "Gumienny", + "Fedak", + "Erdmann", + "Matura", + "Kapera", + "Golan", + "Szczesiak", + "Szambelan", + "Półchłopek", + "Łuszczyk", + "Szymocha", + "Pielka", + "Macioł", + "Brudny", + "Babij", + "Zacharczuk", + "Pilarek", + "Owsianka", + "Harasimiuk", + "Durlak", + "Długajczyk", + "Wijata", + "Szyndler", + "Morka", + "Mendyka", + "Kubiaczyk", + "Kij", + "Gaudyn", + "Bok", + "Posłuszny", + "Plich", + "Pacyga", + "Miętus", + "Ficner", + "Świerkosz", + "Krzywoń", + "Kojder", + "Kiepura", + "Godzisz", + "Ciuba", + "Bukowiec", + "Wlaźlak", + "Teterycz", + "Ścibisz", + "Sobkiewicz", + "Raczkiewicz", + "Konrad", + "Kohut", + "Gonet", + "Frydel", + "Dyka", + "Siemek", + "Ośko", + "Gospodarek", + "Stryjek", + "Labudda", + "Kosiec", + "Indyk", + "Franik", + "Fiołka", + "Strycharz", + "Ostapczuk", + "Laszczyk", + "Lament", + "Korzekwa", + "Kędziorek", + "Dziuban", + "Biegała", + "Witoń", + "Szpara", + "Padło", + "Otremba", + "Mierzwiak", + "Kordus", + "Bojczuk", + "Szmelter", + "Rudzik", + "Madzia", + "Grabara", + "Górkiewicz", + "Bartel", + "Śliz", + "Sura", + "Skrzecz", + "Puto", + "Pułka", + "Piotrowiak", + "Mazan", + "Kobryń", + "Klatka", + "Januchta", + "Grubba", + "Zaucha", + "Sularz", + "Siergiej", + "Pianka", + "Jędruszczak", + "Groth", + "Sobisz", + "Siejak", + "Rećko", + "Lorens", + "Cegła", + "Wochnik", + "Kuryś", + "Gregorowicz", + "Filek", + "Salawa", + "Piekarek", + "Pabisiak", + "Glonek", + "Butrym", + "Przewoźniak", + "Macek", + "Konstanty", + "Kolber", + "Jędrasiak", + "Wężyk", + "Szaj", + "Malara", + "Kłoczko", + "Karsznia", + "Golenia", + "Zajko", + "Wudarczyk", + "Stanuch", + "Niklewicz", + "Matejczyk", + "Kopyto", + "Grygorowicz", + "Szajda", + "Stachelek", + "Słyk", + "Loska", + "Job", + "Dziadura", + "Dworniczak", + "Skubis", + "Obst", + "Kazimierczyk", + "Cymer", + "Ciak", + "Chudoba", + "Achtelik", + "Tytko", + "Skupin", + "Skierka", + "Panuś", + "Pabiś", + "Folta", + "Bogaczyk", + "Basa", + "Trzpil", + "Morek", + "Kloska", + "Kapustka", + "Gzyl", + "Gołoś", + "Danel", + "Borkiewicz", + "Araszkiewicz", + "Miotke", + "Rezler", + "Potyrała", + "Pacholak", + "Herba", + "Grzenia", + "Giezek", + "Gajowiak", + "Filak", + "Fechner", + "Droździk", + "Cyman", + "Wieczerzak", + "Stróż", + "Staciwa", + "Ruchała", + "Rogal", + "Reszke", + "Kurpisz", + "Gryga", + "Stempniak", + "Matraszek", + "Kózka", + "Elsner", + "Boba", + "Barłóg", + "Kiliszek", + "Jessa", + "Ignatiuk", + "Gogola", + "Drobek", + "Lica", + "Larysz", + "Kalka", + "Dziczek", + "Czupryn", + "Żołna", + "Pytko", + "Misiarz", + "Majnusz", + "Kaszkowiak", + "Jonak", + "Basista", + "Potęga", + "Natanek", + "Matyszczak", + "Majerczyk", + "Łapaj", + "Korzonek", + "Jaśko", + "Futyma", + "Duszczyk", + "Antończak", + "Wysota", + "Dela", + "Stawowczyk", + "Milczarczyk", + "Malisz", + "Andrearczyk", + "Żynda", + "Swaczyna", + "Ryndak", + "Moskalik", + "Mitoraj", + "Łyś", + "Łepek", + "Knieć", + "Janisz", + "Gorol", + "Ciężka", + "Żyrek", + "Zmarzły", + "Wojtaszczyk", + "Szyguła", + "Szalast", + "Rząd", + "Nicewicz", + "Danieluk", + "Bulak", + "Wojtasiewicz", + "Pleskot", + "Materek", + "Kurczak", + "Dytko", + "Świstek", + "Szafarz", + "Litwa", + "Kreczmer", + "Idec", + "Grabczak", + "Goliszek", + "Flieger", + "Filiks", + "Dyszy", + "Błażejczak", + "Maksimowicz", + "Komisarczyk", + "Jewuła", + "Hallmann", + "Gabara", + "Budzyń", + "Andruszko", + "Pałyga", + "Moj", + "Koterba", + "Gruza", + "Gamoń", + "Pasierbek", + "Kuchciak", + "Kanik", + "Cis", + "Zegar", + "Sadlik", + "Paprotny", + "Nalazek", + "Mikita", + "Kucab", + "Kranc", + "Godzik", + "Sip", + "Powałka", + "Penkala", + "Pachuta", + "Nagel", + "Litwinowicz", + "Kukuczka", + "Knysak", + "Fojt", + "Brejnak", + "Tasarz", + "Zielke", + "Zaraś", + "Zaranek", + "Waleczek", + "Rubaj", + "Bazylewicz", + "Banyś", + "Balawender", + "Zmuda", + "Wojcik", + "Łabno", + "Gęsiarz", + "Frost", + "Bany", + "Żero", + "Rudowicz", + "Nyk", + "Milcarz", + "Lipowicz", + "Kycia", + "Kościołek", + "Korda", + "Berus", + "Wiese", + "Olkowicz", + "Dzieża", + "Doroszkiewicz", + "Cetera", + "Pazdan", + "Pacia", + "Kempka", + "Dydak", + "Ścibior", + "Szyjka", + "Pyziak", + "Pleśniak", + "Maszczyk", + "Ludwiniak", + "Zadora", + "Strug", + "Mokwa", + "Łasak", + "Kulczak", + "Kruszona", + "Zacharewicz", + "Miękina", + "Klaus", + "Glegoła", + "Wyderka", + "Maleszka", + "Malcherek", + "Lew", + "Kulis", + "Bodzak", + "Błaziak", + "Bartłomiejczyk", + "Toś", + "Kubasiak", + "Dorobisz", + "Cukier", + "Ciećko", + "Zapadka", + "Kłosowicz", + "Kasak", + "Czubaszek", + "Baumgart", + "Szemraj", + "Nogieć", + "Burczak", + "Pietraś", + "Ostafin", + "Noculak", + "Kukieła", + "Fogel", + "Duczek", + "Cylwik", + "Biernacik", + "Wydrych", + "Szajek", + "Siwczak", + "Majewicz", + "Łosiak", + "Karkut", + "Durys", + "Chwalisz", + "Bembenek", + "Bartkowicz", + "Piskor", + "Mikus", + "Księżyk", + "Goss", + "Drewniok", + "Bąkiewicz", + "Wódka", + "Wota", + "Prażmo", + "Kiwior", + "Bogdał", + "Rubacha", + "Hanus", + "Wasiewicz", + "Trochimiuk", + "Szwiec", + "Suszka", + "Palak", + "Ziemann", + "Maćczak", + "Kruzel", + "Kołaczyk", + "Kapka", + "Jodko", + "Jeszke", + "Gros", + "Gendek", + "Dubik", + "Ważna", + "Pierchała", + "Nieszporek", + "Kandora", + "Janasz", + "Gryszkiewicz", + "Drobik", + "Ciołczyk", + "Wołkowicz", + "Tylman", + "Pituła", + "Pioch", + "Pilich", + "Marach", + "Malon", + "Lepa", + "Kaliciak", + "Joszko", + "Hejna", + "Gryta", + "Frelich", + "Bełz", + "Bakalarczyk", + "Nóżka", + "Holewa", + "Fierek", + "Żuchowicz", + "Wojtunik", + "Trzop", + "Masłoń", + "Linda", + "Kurp", + "Gryka", + "Draus", + "Rezmer", + "Mizak", + "Makurat", + "Kościk", + "Helman", + "Gendera", + "Dydo", + "Bondaruk", + "Bodek", + "Wujec", + "Sady", + "Przekwas", + "Postawa", + "Polasik", + "Plebanek", + "Lejk", + "Kacperek", + "Gołofit", + "Tomys", + "Świadek", + "Mizgała", + "Kubrak", + "Ernst", + "Wielgos", + "Martynowicz", + "Drela", + "Ziarnik", + "Stasica", + "Semik", + "Mytych", + "Melka", + "Marat", + "Dąbrówka", + "Wyroba", + "Siudek", + "Senator", + "Ryszkiewicz", + "Podsiedlik", + "Małys", + "Lepianka", + "Giersz", + "Zugaj", + "Procek", + "Makosz", + "Kunda", + "Ziółko", + "Trzyna", + "Stroka", + "Rzeszut", + "Pyza", + "Krężołek", + "Kazior", + "Fidos", + "Sołek", + "Gordon", + "Dubis", + "Ciochoń", + "Bieszke", + "Żołnierczyk", + "Sobstyl", + "Skalik", + "Namysło", + "Litewka", + "Krzysztofek", + "Grycz", + "Feluś", + "Downar", + "Szram", + "Oleksik", + "Milej", + "Kudela", + "Klaja", + "Giedrojć", + "Getka", + "Durma", + "Dudko", + "Dębosz", + "Browarczyk", + "Sąsiadek", + "Picheta", + "Peciak", + "Niećko", + "Midura", + "Maciejko", + "Gregorek", + "Wąsiewicz", + "Twardy", + "Szachniewicz", + "Sypek", + "Sojda", + "Saran", + "Mosiołek", + "Guściora", + "Golak", + "Ellwart", + "Drewicz", + "Barszczak", + "Wójt", + "Strawa", + "Sereda", + "Rejmer", + "Prostak", + "Kołak", + "Klekot", + "Gerlach", + "Ciepła", + "Barankiewicz", + "Welc", + "Skotarek", + "Sadłocha", + "Roszkiewicz", + "Połetek", + "Ofiara", + "Kiełbus", + "Kałwak", + "Jas", + "Jarkiewicz", + "Jambor", + "Hartman", + "Graś", + "Raźniak", + "Janc", + "Doroz", + "Baster", + "Banak", + "Spólnik", + "Poreda", + "Orwat", + "Matyjas", + "Laskus", + "Bajak", + "Witko", + "Ślimak", + "Sapeta", + "Sadownik", + "Roszko", + "Nazarewicz", + "Mrotek", + "Gnyp", + "Dziarmaga", + "Zaniewicz", + "Walusiak", + "Toborek", + "Szulim", + "Pawliczak", + "Nikołajuk", + "Myszor", + "Mila", + "Liedtke", + "Korpal", + "Jaźwiec", + "Groborz", + "Świerkot", + "Sabała", + "Kluj", + "Żach", + "Wawrzyńczyk", + "Szumiło", + "Sulich", + "Stępak", + "Rutowicz", + "Krzyszczak", + "Kiełbik", + "Gogol", + "Buszkiewicz", + "Basaj", + "Bartuś", + "Samulak", + "Ryfa", + "Potoczna", + "Panicz", + "Leśny", + "Lada", + "Kuska", + "Gleba", + "Folga", + "Barczuk", + "Ślebioda", + "Olma", + "Kuśnierek", + "Krzan", + "Hubert", + "Grzebyk", + "Fras", + "Durlej", + "Pielach", + "Klin", + "Jędrak", + "Frelek", + "Brząkała", + "Borysiak", + "Zagozda", + "Śliż", + "Szkopek", + "Raźny", + "Olearczyk", + "Mirończuk", + "Chyb", + "Żybura", + "Żelazo", + "Kunka", + "Kosałka", + "Gosz", + "Dulas", + "Żelazek", + "Terka", + "Sośniak", + "Pikor", + "Pezda", + "Hadam", + "Groń", + "Fal", + "Chalimoniuk", + "Karnas", + "Uziębło", + "Grochola", + "Gawliczek", + "Freitag", + "Ćmiel", + "Wacław", + "Symonowicz", + "Strzoda", + "Sterna", + "Spadło", + "Rajtar", + "Krzykała", + "Holc", + "Gronostaj", + "Barej", + "Wasilewicz", + "Podgórny", + "Łapot", + "Lepak", + "Hojda", + "Dziuda", + "Klupś", + "Brzeźniak", + "Bojarczuk", + "Tryka", + "Nalewajek", + "Kudłacik", + "Kubasiewicz", + "Bazyluk", + "Bartoszak", + "Zbylut", + "Tołoczko", + "Szaruga", + "Obuchowicz", + "Gryska", + "Bociek", + "Wowra", + "Szramka", + "Spychaj", + "Roj", + "Musiolik", + "Franas", + "Dłubak", + "Cholewka", + "Bobko", + "Białous", + "Osial", + "Nieborak", + "Minta", + "Kozica", + "Kowara", + "Gwara", + "Tekieli", + "Pancerz", + "Mleczak", + "Celuch", + "Zapiór", + "Graboś", + "Fidura", + "Cyrek", + "Bracha", + "Gradek", + "Noras", + "Mulawa", + "Moniuszko", + "Kapcia", + "Gumienna", + "Graj", + "Gilewicz", + "Żółtek", + "Wojtalewicz", + "Szumny", + "Opyrchał", + "Macha", + "Łuczyk", + "Hus", + "Czak", + "Borzym", + "Wojtczuk", + "Winnik", + "Kuk", + "Kubanek", + "Dziełak", + "Dudziec", + "Cimoch", + "Ciapa", + "Buchalik", + "Zbróg", + "Węgrzyniak", + "Wawrzkiewicz", + "Teodorowicz", + "Szkoła", + "Sutor", + "Kapuścik", + "Hajdas", + "Fołta", + "Burkiewicz", + "Aleksa", + "Wajer", + "Siembab", + "Kozon", + "Wojewódka", + "Wenda", + "Majos", + "Huczek", + "Domoń", + "Zubel", + "Szymaniuk", + "Salomon", + "Mikiciuk", + "Grodek", + "Wielądek", + "Szymańczak", + "Sommer", + "Saczuk", + "Pastuszek", + "Mroczko", + "Łokaj", + "Deptuch", + "Wawak", + "Szczepaniec", + "Romejko", + "Rogacz", + "Poczta", + "Nowotka", + "Jaszcz", + "Jany", + "Hewelt", + "Stachów", + "Smykla", + "Sędek", + "Niemira", + "Młodzik", + "Łyczek", + "Kleban", + "Fura", + "Fudalej", + "Cyroń", + "Zagożdżon", + "Kenig", + "Górnisiewicz", + "Wołoszyk", + "Szatanik", + "Sajda", + "Pyrkosz", + "Misiejuk", + "Mikołajewicz", + "Kołsut", + "Glenc", + "Eckert", + "Dziadowicz", + "Waszczyk", + "Szyba", + "Steckiewicz", + "Kloch", + "Kabala", + "Zamora", + "Tabiś", + "Sobków", + "Pupek", + "Neugebauer", + "Kołtuniak", + "Galek", + "Stój", + "Rajda", + "Pruchnik", + "Kuza", + "Karaśkiewicz", + "Judek", + "Jędryczka", + "Grzegorzak", + "Drobniak", + "Chowaniak", + "Wąsek", + "Smagacz", + "Pędzik", + "Klinger", + "Klęczar", + "Wochna", + "Rejek", + "Krakowczyk", + "Kobak", + "Kawiak", + "Grosz", + "Czubaj", + "Chorążewicz", + "Zadka", + "Wietecha", + "Sass", + "Męcik", + "Gustaw", + "Furga", + "Frącz", + "Dawiec", + "Wypchło", + "Tarasek", + "Szmaj", + "Ornat", + "Huszcza", + "Dudczak", + "Ułanowicz", + "Rubin", + "Pich", + "Makoś", + "Krępa", + "Korek", + "Jonik", + "Andrejczuk", + "Wiertel", + "Soroko", + "Składanek", + "Mortka", + "Małocha", + "Majsterek", + "Lemanowicz", + "Lelito", + "Krystkowiak", + "Krasa", + "Kierat", + "Jędraszczyk", + "Handke", + "Dymarczyk", + "Doruch", + "Beker", + "Peszko", + "Osik", + "Łyp", + "Karmelita", + "Herdzik", + "Brzęk", + "Białczyk", + "Uss", + "Pitura", + "Łusiak", + "Knapek", + "Gumuła", + "Darłak", + "Znojek", + "Wilkos", + "Rut", + "Przekop", + "Kręcichwost", + "Korab", + "Józwik", + "Jagiełka", + "Chylak", + "Zbiciak", + "Wasążnik", + "Tłuczek", + "Syldatk", + "Parkitny", + "Juroszek", + "Wisz", + "Wiciak", + "Palonek", + "Kusik", + "Kocurek", + "Kacperczyk", + "Bluszcz", + "Wydmuch", + "Wereda", + "Trybała", + "Sito", + "Pietraszkiewicz", + "Nojek", + "Madziar", + "Kazana", + "Szulczyk", + "Rosołek", + "Roskosz", + "Proć", + "Mazek", + "Koniecko", + "Horbacz", + "Zastawny", + "Orszulik", + "Mesjasz", + "Margas", + "Koźlak", + "Dzidek", + "Damek", + "Zinkiewicz", + "Sznura", + "Sapała", + "Piaseczna", + "Osada", + "Koziarz", + "Korta", + "Kłosiewicz", + "Klyszcz", + "Janoszek", + "Deszcz", + "Okła", + "Matacz", + "Hankiewicz", + "Front", + "Daraż", + "Czura", + "Bylina", + "Bugiel", + "Anioła", + "Amanowicz", + "Zach", + "Starościak", + "Kliszcz", + "Hadała", + "Czopik", + "Bytner", + "Wośko", + "Wawrzyn", + "Świt", + "Sanetra", + "Pyszczek", + "Potaczek", + "Osman", + "Materka", + "Madura", + "Kniaź", + "Gryciuk", + "Fidor", + "Dunal", + "Dobroń", + "Chlebda", + "Słupik", + "Osica", + "Oleksak", + "Maraszek", + "Kręgiel", + "Kopytko", + "Gomoła", + "Droździel", + "Szott", + "Szkup", + "Posmyk", + "Młotek", + "Klejna", + "Jałowiec", + "Heinrich", + "Haraburda", + "Grupa", + "Dziadkiewicz", + "Zaczyk", + "Rapa", + "Łodej", + "Lempart", + "Lamch", + "Głuszko", + "Cudzich", + "Brojek", + "Ziemak", + "Tusk", + "Kieloch", + "Dziduch", + "Dudkowiak", + "Czerner", + "Sommerfeld", + "Migoń", + "Macheta", + "Dusik", + "Ćwirko", + "Bilik", + "Sydor", + "Swiątek", + "Sporek", + "Olesiejuk", + "Kutek", + "Jaszczur", + "Jarmuż", + "Gronkiewicz", + "Witan", + "Staniczek", + "Rząca", + "Roter", + "Pracz", + "Hnat", + "Cydzik", + "Szatko", + "Styrna", + "Podleśna", + "Oleksa", + "Nieścior", + "Matyjaszek", + "Łasica", + "Kwapień", + "Koronkiewicz", + "Hołota", + "Elert", + "Czochara", + "Toczko", + "Święs", + "Słysz", + "Salach", + "Leśna", + "Głownia", + "Galica", + "Cieniuch", + "Szulist", + "Pedrycz", + "Królczyk", + "Zyzik", + "Zaborek", + "Skałka", + "Sankiewicz", + "Pleban", + "Martin", + "Lewek", + "Jędrys", + "Guzdek", + "Dumała", + "Wszoła", + "Rębiś", + "Pośnik", + "Porzucek", + "Hawro", + "Dziób", + "Zwara", + "Wiraszka", + "Romankiewicz", + "Roch", + "Paleń", + "Ogonek", + "Makar", + "Majdan", + "Kozdrój", + "Kozdroń", + "Jachna", + "Duniec", + "Dułak", + "Wojtanowicz", + "Waloch", + "Ubysz", + "Stożek", + "Małycha", + "Kmak", + "Hass", + "Frydrychowicz", + "Domka", + "Żugaj", + "Zubowicz", + "Wyrwał", + "Mordal", + "Kordys", + "Gozdur", + "Gabrych", + "Zbrożek", + "Zbroszczyk", + "Wojtoń", + "Tórz", + "Torbus", + "Letkiewicz", + "Lampart", + "Superson", + "Sopata", + "Sobiło", + "Sapa", + "Salwin", + "Pera", + "Organiściak", + "Matwiejczyk", + "Matejuk", + "Mały", + "Krüger", + "Dyszkiewicz", + "Basak", + "Ankiewicz", + "Adamiuk", + "Sykała", + "Skonieczka", + "Pawełko", + "Nojman", + "Iskierka", + "Zięcik", + "Trojanek", + "Sadlak", + "Nieradko", + "Behrendt", + "Wojewodzic", + "Polewka", + "Zasępa", + "Szczerek", + "Szałata", + "Sot", + "Mleczek", + "Kukawka", + "Kaczmarkiewicz", + "Dorobek", + "Burchard", + "Blaut", + "Witka", + "Sasak", + "Pasiak", + "Panasiewicz", + "Motak", + "Lizurej", + "Kuboń", + "Jędraszek", + "Dylik", + "Cal", + "Buszko", + "Burnat", + "Wyskiel", + "Winek", + "Wiertelak", + "Wiak", + "Roś", + "Orzeszek", + "Ochota", + "Mijas", + "Maculewicz", + "Kaja", + "Ciesielka", + "Bejm", + "Szmuc", + "Sygut", + "Siarkiewicz", + "Ryznar", + "Patoka", + "Miszkurka", + "Kudełka", + "Krzyśko", + "Galon", + "Buczma", + "Ziegler", + "Uroda", + "Turczyk", + "Tolak", + "Sypuła", + "Sadowy", + "Rasała", + "Kazubek", + "Han", + "Wasiuk", + "Stempin", + "Stawczyk", + "Prokopiak", + "Pospiech", + "Polakiewicz", + "Olas", + "Maruszczyk", + "Kapinos", + "Kabza", + "Szwałek", + "Smagała", + "Musiała", + "Miksza", + "Lampa", + "Kulon", + "Koczara", + "Drynda", + "Szczypiór", + "Pawełkiewicz", + "Myk", + "Kuczak", + "Kołata", + "Żywica", + "Tondera", + "Szmalec", + "Szczap", + "Sypień", + "Sołtysek", + "Mosur", + "Kościesza", + "Kosowicz", + "Kolendo", + "Huber", + "Giel", + "Gałęza", + "Dyja", + "Cacko", + "Apanowicz", + "Wandas", + "Siebert", + "Moneta", + "Ziajka", + "Sieg", + "Paluszak", + "Lichoń", + "Kastelik", + "Gwizdek", + "Drewa", + "Andrys", + "Zbrzeźniak", + "Wlazły", + "Wittbrodt", + "Niksa", + "Habdas", + "Fryś", + "Doktór", + "Detka", + "Cieplucha", + "Ciarka", + "Witkowicz", + "Wardzała", + "Stąpór", + "Pniak", + "Pierzak", + "Kryk", + "Kożuszek", + "Kohnke", + "Kapałka", + "Domino", + "Czuj", + "Boksa", + "Wocial", + "Stuglik", + "Steciuk", + "Smela", + "Plona", + "Piwowarek", + "Pernak", + "Minkina", + "Klos", + "Halik", + "Dzika", + "Dargacz", + "Damian", + "Adrian", + "Węgrzynek", + "Tomal", + "Świerad", + "Szkatuła", + "Sajnóg", + "Kudlak", + "Golczyk", + "Fronczyk", + "Czapiga", + "Błażejak", + "Bejma", + "Bartela", + "Tadeusiak", + "Nędzi", + "Kurcz", + "Jasionek", + "Heleniak", + "Ziarek", + "Zera", + "Sarniak", + "Różak", + "Ligas", + "Kuzior", + "Kuder", + "Korzeniak", + "Fac", + "Domowicz", + "Dębniak", + "Cieciora", + "Chaberek", + "Bogusiewicz", + "Block", + "Wardziak", + "Prawdzik", + "Niebudek", + "Jeszka", + "Szpyrka", + "Szkaradek", + "Starek", + "Pasich", + "Lademann", + "Jantos", + "Grzelec", + "Zapora", + "Wnuczek", + "Wąsala", + "Pompa", + "Małas", + "Janka", + "Gałaj", + "Dybał", + "Chromy", + "Szpyt", + "Senger", + "Prygiel", + "Pawela", + "Łakota", + "Jama", + "Graban", + "Fogt", + "Cebulak", + "Boryczko", + "Bojdo", + "Biesek", + "Arendarczyk", + "Schubert", + "Namysł", + "Milewczyk", + "Hetmańczyk", + "Dyczko", + "Dankiewicz", + "Czerniec", + "Staśko", + "Rochowiak", + "Misiuk", + "Markiel", + "Ksel", + "Krzyżostaniak", + "Elwart", + "Delekta", + "Zębik", + "Siatka", + "Niewiara", + "Miozga", + "Mętel", + "Korgul", + "Karwan", + "Franków", + "Domek", + "Ciepluch", + "Chojna", + "Surmiak", + "Strama", + "Stein", + "Siewiera", + "Robaszkiewicz", + "Piksa", + "Kociemba", + "Klyta", + "Gromala", + "Gill", + "Broszkiewicz", + "Zontek", + "Stiller", + "Rosada", + "Mieloch", + "Kornak", + "Goworek", + "Gadzała", + "Fitas", + "Uzar", + "Siedlarz", + "Rorat", + "Oskroba", + "Mitera", + "Grygorcewicz", + "Gmurczyk", + "Dylak", + "Zybura", + "Wojtaszak", + "Wisła", + "Wasyluk", + "Szałkiewicz", + "Krzysztoszek", + "Kościuszko", + "Kasiak", + "Wyrwich", + "Wołoszczuk", + "Śledzik", + "Smorąg", + "Satora", + "Pochroń", + "Melaniuk", + "Jajko", + "Czajor", + "Bajko", + "Wojsław", + "Szumiec", + "Nehring", + "Naumiuk", + "Luberda", + "Kęsek", + "Jaśkowiec", + "Foit", + "Fita", + "Fedyk", + "Działa", + "Cygal", + "Zdancewicz", + "Walocha", + "Toma", + "Soczewka", + "Monkiewicz", + "Majtyka", + "Hynek", + "Dynia", + "Czuryło", + "Bernatek", + "Apostel", + "Zawiasa", + "Piersa", + "Megger", + "Kukier", + "Jarka", + "Glazik", + "Dyjas", + "Buś", + "Bona", + "Bandyk", + "Zięciak", + "Krajniak", + "Koperek", + "Kazberuk", + "Dziewior", + "Chachaj", + "Sołoducha", + "Słomiany", + "Skolik", + "Pęksa", + "Mularz", + "Kosman", + "Kolonko", + "Januszewicz", + "Gramza", + "Foremniak", + "Fijałek", + "Cierpka", + "Polnik", + "Drwięga", + "Semenowicz", + "Pieszak", + "Narożna", + "Ładniak", + "Kontny", + "Klemens", + "Jancewicz", + "Fąferek", + "Bisaga", + "Złotnik", + "Wosiek", + "Supernak", + "Kala", + "Giża", + "Bielat", + "Żyto", + "Rompa", + "Kurpanik", + "Kołpak", + "Gołas", + "Długozima", + "Bacia", + "Wincenciak", + "Styn", + "Moczko", + "Langier", + "Szrama", + "Szok", + "Suchenek", + "Pieczarka", + "Parus", + "Machul", + "Latko", + "Krzyśków", + "Galos", + "Ekert", + "Dawidek", + "Czerkies", + "Bujas", + "Andryszczyk", + "Zuziak", + "Węgrzyk", + "Stąpor", + "Pinda", + "Muzyk", + "Maligłówka", + "Łukasiuk", + "Kinal", + "Dobosiewicz", + "Waraksa", + "Szywała", + "Nastały", + "Mordak", + "Ligenza", + "Leszczak", + "Krauz", + "Kopała", + "Byzdra", + "Bartman", + "Wojtach", + "Wałaszek", + "Szara", + "Hapka", + "Wielgat", + "Węgier", + "Pokusa", + "Małż", + "Kononowicz", + "Hawrylak", + "Grund", + "Druszcz", + "Dacko", + "Sprycha", + "Pryszcz", + "Łachut", + "Dobrosz", + "Brygoła", + "Ryguła", + "Posłuszna", + "Mydlak", + "Bernard", + "Woroch", + "Uliczka", + "Tomaszuk", + "Pastuła", + "Pachnik", + "Kudra", + "Kretek", + "Keler", + "Heczko", + "Beck", + "Tekiela", + "Plizga", + "Piekacz", + "Ochab", + "Maziarczyk", + "Krzosek", + "Gabryelczyk", + "Stępka", + "Rajch", + "Owsiany", + "Kossak", + "Kocaj", + "Gierach", + "Buza", + "Berendt", + "Tabak", + "Przewłoka", + "Nytko", + "Kuban", + "Gebauer", + "Gajcy", + "Franaszek", + "Chwedczuk", + "Bochnak", + "Stachewicz", + "Sosnówka", + "Słowiak", + "Mądro", + "Malcharek", + "Łukasz", + "Kornek", + "Hanusiak", + "Furmankiewicz", + "Dzikiewicz", + "Duży", + "Delikat", + "Chojak", + "Zyga", + "Pyrz", + "Pietrusiewicz", + "Olszyna", + "Olszowa", + "Ograbek", + "Molga", + "Maron", + "Jasica", + "Frymus", + "Buszta", + "Woszczak", + "Woronko", + "Trawka", + "Rychcik", + "Przystupa", + "Oczko", + "Migda", + "Klebba", + "Jaje", + "Grabas", + "Bugno", + "Bortkiewicz", + "Wesoła", + "Sudak", + "Puc", + "Przeklasa", + "Kocoł", + "Goik", + "Błażejewicz", + "Tuzimek", + "Petrus", + "Pawlaczek", + "Pacholczak", + "Maciejewicz", + "Jakóbik", + "Frania", + "Duszczak", + "Domurad", + "Bednarowicz", + "Thomas", + "Rakus", + "Przybyś", + "Pasiut", + "Małyszka", + "Kurz", + "Kuczaj", + "Doktor", + "Tadla", + "Praczyk", + "Milka", + "Leszcz", + "Kryza", + "Kryszczuk", + "Juraszczyk", + "Durczok", + "Boduch", + "Szeja", + "Pryk", + "Pitala", + "Molek", + "Duchnik", + "Brachaczek", + "Wieja", + "Waloszek", + "Nawrotek", + "Nawój", + "Mironiuk", + "Matyjasek", + "Łachacz", + "Kubów", + "Kidawa", + "Jaremek", + "Hasiak", + "Gierat", + "Gawłowicz", + "Wichary", + "Sornat", + "Solich", + "Kurczab", + "Jasnoch", + "Famuła", + "Budrewicz", + "Pawliszyn", + "Kułach", + "Kuffel", + "Konieczek", + "Koćwin", + "Imiołczyk", + "Dyda", + "Zander", + "Stochel", + "Osojca", + "Mysior", + "Kuciak", + "Kłósek", + "Buchholz", + "Zegadło", + "Wiewiórka", + "Stochaj", + "Smolka", + "Piotrak", + "Misior", + "Leoniak", + "Karwala", + "Jasina", + "Cięciwa", + "Ciastek", + "Chadaj", + "Białach", + "Tabisz", + "Such", + "Sromek", + "Rysz", + "Puch", + "Plak", + "Palej", + "Och", + "Niedbał", + "Mytnik", + "Morgała", + "Lukas", + "Lisoń", + "Królikiewicz", + "Kamieniak", + "Jachimczyk", + "Grzywnowicz", + "Frukacz", + "Feliniak", + "Dzienisz", + "Drążyk", + "Żelasko", + "Waloszczyk", + "Strójwąs", + "Smoczyk", + "Klorek", + "Kajdan", + "Kajak", + "Gral", + "Zawodnik", + "Ulfik", + "Sobieszczyk", + "Skrobot", + "Ochał", + "Leżoń", + "Krywult", + "Iciek", + "Gasek", + "Czenczek", + "Budzeń", + "Botor", + "Wikło", + "Tymczyszyn", + "Szpyra", + "Słonka", + "Prasek", + "Majczyna", + "Lula", + "Jakubiuk", + "Hanzel", + "Głowiak", + "Calik", + "Zagrajek", + "Stefankiewicz", + "Serzysko", + "Piechna", + "Myga", + "Maślankiewicz", + "Kuziora", + "Korniak", + "Indyka", + "Gałach", + "Gadzina", + "Cyba", + "Bystrek", + "Bazela", + "Wabik", + "Ragus", + "Pitek", + "Mizia", + "Łaskawiec", + "Holeksa", + "Hajdasz", + "Fugiel", + "Białasik", + "Woźniczko", + "Wilma", + "Rode", + "Preś", + "Komander", + "Klus", + "Sarosiek", + "Sadoch", + "Osipowicz", + "Lelonek", + "Korbut", + "Jarmużek", + "Włodyka", + "Józefczak", + "Jędra", + "Hamerla", + "Gęgotek", + "Domińczak", + "Wypiór", + "Sudnik", + "Słoboda", + "Pela", + "Kupś", + "Kostorz", + "Kosak", + "Kopyść", + "Jarmuła", + "Daniec", + "Blank", + "Balcewicz", + "Starostka", + "Siemieńczuk", + "Reiter", + "Mycek", + "Miętka", + "Łupina", + "Lipok", + "Knych", + "Drobisz", + "Cuch", + "Wojtarowicz", + "Wojniak", + "Piechura", + "Meissner", + "Lemiesz", + "Klęk", + "Jargieło", + "Jamroz", + "Huczko", + "Ceynowa", + "Trochim", + "Kremer", + "Janic", + "Gal", + "Cyrulik", + "Bejger", + "Bawoł", + "Szczepan", + "Plewnia", + "Pędrak", + "Niedośpiał", + "Maras", + "Klepka", + "Kawulok", + "Katana", + "Bronka", + "Bender", + "Bałdys", + "Wawrzonek", + "Taranek", + "Tadych", + "Szymała", + "Stebel", + "Skup", + "Skubała", + "Pasieczna", + "Karkocha", + "Hak", + "Gąszczak", + "Pyś", + "Prażuch", + "Politowicz", + "Piestrzeniewicz", + "Pajek", + "Nitek", + "Kozok", + "Kowala", + "Kalinka", + "Galuba", + "Buk", + "Breś", + "Bodych", + "Bittner", + "Bakiera", + "Rembacz", + "Podgórna", + "Myrcik", + "Mojsa", + "Karpiak", + "Kajdas", + "Gregorczuk", + "Dziurla", + "Dzienniak", + "Dyrek", + "Żołądkiewicz", + "Szumacher", + "Sado", + "Pyszny", + "Narożny", + "Kuszyk", + "Jakimiak", + "Dynak", + "Dejneka", + "Wiekiera", + "Tatarczuk", + "Rudyk", + "Nieścioruk", + "Laszkiewicz", + "Gołota", + "Golisz", + "Bąbel", + "Taczała", + "Świć", + "Siciarz", + "Ropiak", + "Pacura", + "Makulec", + "Krauza", + "Grzesiek", + "Gemza", + "Dering", + "Banek", + "Andziak", + "Wiza", + "Trojanowicz", + "Parkitna", + "Pacholik", + "Majtczak", + "Krenc", + "Koniec", + "Wawrzeńczyk", + "Stupak", + "Roda", + "Maciejczuk", + "Irla", + "Husak", + "Fuławka", + "Fabiańczyk", + "Bryda", + "Zackiewicz", + "Szoka", + "Melcer", + "Kempny", + "Dulemba", + "Duc", + "Ziniewicz", + "Truchel", + "Szajner", + "Petryk", + "Peda", + "Obarzanek", + "Maszkiewicz", + "Łabaj", + "Cymbała", + "Biesaga", + "Zdobylak", + "Wojtiuk", + "Ulrych", + "Szymków", + "Sporysz", + "Smardz", + "Mandrysz", + "Kulus", + "Duras", + "Dumin", + "Borejko", + "Wyłupek", + "Ufniarz", + "Stypka", + "Młyńczyk", + "Miros", + "Maciuk", + "Hrabia", + "Burzec", + "Buksa", + "Wygoda", + "Tomzik", + "Pindral", + "Nijak", + "Mszyca", + "Maciejuk", + "Kudłacz", + "Dziwak", + "Chaba", + "Borkowicz", + "Berek", + "Żakiewicz", + "Wykręt", + "Sztuba", + "Smykała", + "Pyc", + "Pęciak", + "Parzonka", + "Kyc", + "Klemczak", + "Gąsienica", + "Gabryszak", + "Częścik", + "Cisoń", + "Zmyślony", + "Komisarek", + "Ficoń", + "Citko", + "Bidas", + "Bas", + "Żabierek", + "Wyciszkiewicz", + "Tarach", + "Staniewicz", + "Reichel", + "Panasewicz", + "Kucewicz", + "Kilar", + "Hein", + "Fronia", + "Derek", + "Bruś", + "Antoń", + "Pawlos", + "Ochwat", + "Kurbiel", + "Gosik", + "Gierasimiuk", + "Doroba", + "Chłąd", + "Wrochna", + "Protasiuk", + "Opalach", + "Mućko", + "Martyn", + "Drgas", + "Ceran", + "Bryczek", + "Ziarno", + "Wołodźko", + "Wac", + "Szpala", + "Szlachcic", + "Rurka", + "Oczkowicz", + "Mik", + "Małysiak", + "Kubek", + "Imiela", + "Graboń", + "Garbacik", + "Dolega", + "Broncel", + "Baum", + "Bancerz", + "Siedlik", + "Miąsko", + "Lenc", + "Konat", + "Kaletka", + "Jenek", + "Honkisz", + "Droś", + "Suchojad", + "Ratka", + "Raba", + "Lulek", + "Komperda", + "Kołodziejak", + "Koloch", + "Kolka", + "Joniak", + "Jezior", + "Faltyn", + "Dyjach", + "Czulak", + "Cop", + "Wyroślak", + "Woda", + "Stranc", + "Solis", + "Skomra", + "Sierpień", + "Rzeźniczek", + "Pajdak", + "Mostek", + "Machowiak", + "Janduła", + "Fitrzyk", + "Welenc", + "Tyczka", + "Skiepko", + "Potok", + "Olewniczak", + "Nitkiewicz", + "Myrcha", + "Krata", + "Kara", + "Hołysz", + "Hałka", + "Florian", + "Dziurdzia", + "Dryka", + "Sysło", + "Rolek", + "Młocek", + "Idzi", + "Haponiuk", + "Grębowiec", + "Gęca", + "Bochnia", + "Ślipek", + "Sieczko", + "Pierz", + "Nyc", + "Łacina", + "Ludwisiak", + "Kujda", + "Hutyra", + "Dziugieł", + "Białka", + "Zemanek", + "Zawartka", + "Smyl", + "Smolec", + "Słoka", + "Putek", + "Pietrewicz", + "Lepka", + "Krzeszowiec", + "Kowalówka", + "Jośko", + "Hamrol", + "Gapys", + "Antoszczyk", + "Turoń", + "Teter", + "Surdel", + "Pieczyrak", + "Mudlaff", + "Manista", + "Kolek", + "Kadela", + "Jeka", + "Jamrożek", + "Goliasz", + "Dywan", + "Drewnik", + "Dąbroś", + "Ciaś", + "Obiała", + "Nocek", + "Marko", + "Ładziak", + "Hadaś", + "Dulik", + "Dorynek", + "Wolańczyk", + "Stoltmann", + "Rozumek", + "Łudzik", + "Łaś", + "Leoniuk", + "Krzyk", + "Karol", + "Kamyszek", + "Filusz", + "Czermak", + "Budych", + "Żółkiewicz", + "Tatarczyk", + "Pietrus", + "Pachowicz", + "Niesporek", + "Kultys", + "Kornet", + "Kajstura", + "Grześków", + "Dub", + "Drobot", + "Urynowicz", + "Swacha", + "Prokopczuk", + "Michnowicz", + "Malka", + "Labocha", + "Capiga", + "Zawalich", + "Wizner", + "Startek", + "Smolorz", + "Rozynek", + "Pal", + "Madajczyk", + "Ławniczek", + "Haremza", + "Bejnarowicz", + "Żuberek", + "Windak", + "Sobolak", + "Sibiga", + "Rajczak", + "Pudełek", + "Michalkiewicz", + "Fularczyk", + "Broniarek", + "Żabka", + "Towarek", + "Sugier", + "Pikula", + "Pawlonka", + "Marosz", + "Kut", + "Grymuza", + "Dąbkiewicz", + "Ciechowicz", + "Brodawka", + "Borzych", + "Bela", + "Zaguła", + "Tyniec", + "Trepczyk", + "Stwora", + "Paczos", + "Olbrych", + "Ogrodowicz", + "Michel", + "Mazepa", + "Lazarek", + "Krzystek", + "Jażdżyk", + "Goska", + "Fraszczyk", + "Drożdżal", + "Cofała", + "Chołody", + "Wawrzyk", + "Prokurat", + "Policht", + "Płodzień", + "Pasztaleniec", + "Osipiuk", + "Mateńko", + "Kiciak", + "Grotek", + "Członka", + "Żal", + "Zimmer", + "Wosiak", + "Srokosz", + "Paździora", + "Patoła", + "Pałęga", + "Orawiec", + "Nastaj", + "Mirgos", + "Merda", + "Machniak", + "Łokietek", + "Fogiel", + "Elias", + "Świergiel", + "Stempel", + "Skocz", + "Potoczek", + "Penar", + "Miecznik", + "Kwapis", + "Jakóbiak", + "Gietka", + "Flisek", + "Dudzicz", + "Cich", + "Broniek", + "Wiercigroch", + "Usarek", + "Tryc", + "Szylar", + "Szczot", + "Ptok", + "Prystupa", + "Preuss", + "Piekara", + "Łaszczyk", + "Kurzaj", + "Kopiczko", + "Jachimczak", + "Hirsch", + "Dytrych", + "Dorna", + "Bystroń", + "Worach", + "Tokaj", + "Szmagaj", + "Solnica", + "Rejmak", + "Reimann", + "Pazoła", + "Nieradzik", + "Miechowicz", + "Langiewicz", + "Kruś", + "Kozień", + "Kielczyk", + "Jargiło", + "Dąbal", + "Cichos", + "Sorbian", + "Ruman", + "Piotrkowicz", + "Oziębło", + "Henke", + "Czosnyka", + "Choina", + "Chabior", + "Warzybok", + "Seweryniak", + "Pyzel", + "Niewola", + "Nesterowicz", + "Liss", + "Kiepas", + "Kalista", + "Demiańczuk", + "Cłapa", + "Błasik", + "Berdzik", + "Bełza", + "Złotek", + "Tonder", + "Szwaj", + "Szarzec", + "Suchora", + "Sarota", + "Palica", + "Matula", + "Malecha", + "Magryta", + "Łuckiewicz", + "Kuster", + "Stoltman", + "Siewert", + "Serwach", + "Schwarz", + "Kuźnia", + "Kuśmider", + "Kurzac", + "Klisz", + "Gwardiak", + "Gotfryd", + "Deneka", + "Ciuruś", + "Żmija", + "Tałaj", + "Sobuś", + "Rajman", + "Perlik", + "Kurda", + "Kosznik", + "Kaluga", + "Jaracz", + "Hanas", + "Dzwonnik", + "Ziegert", + "Szyma", + "Różewicz", + "Paszkowiak", + "Maślach", + "Lewicz", + "Heba", + "Godzwon", + "Drej", + "Borak", + "Adamów", + "Tywoniuk", + "Ścieszka", + "Smal", + "Łabuś", + "Kominiak", + "Dietrich", + "Cąkała", + "Budzich", + "Bąbol", + "Zgoła", + "Sładek", + "Sierżant", + "Misiurek", + "Miąsik", + "Mądrzyk", + "Kretowicz", + "Kasznia", + "Jeżyna", + "Humeniuk", + "Fiutak", + "Czerniakiewicz", + "Bork", + "Żymełka", + "Tomalik", + "Szarpak", + "Sołtan", + "Maciuszek", + "Krysta", + "Grzeszkowiak", + "Brachman", + "Zys", + "Westfal", + "Waluk", + "Wacławiak", + "Sałuda", + "Sabak", + "Niedojadło", + "Nazarko", + "Murat", + "Majzner", + "Ludwin", + "Kubaczyk", + "Kielich", + "Doliwa", + "Dej", + "Chuchla", + "Boguś", + "Bobik", + "Zadworny", + "Wójs", + "Tyma", + "Sztuczka", + "Strządała", + "Sowała", + "Omiotek", + "Oleśkiewicz", + "Morawiak", + "Kwapisiewicz", + "Krokosz", + "Hajder", + "Garczyk", + "Burdach", + "Związek", + "Wojczuk", + "Stanclik", + "Piekart", + "Mielke", + "Machowicz", + "Kozieja", + "Kaziród", + "Gaś", + "Garbaciak", + "Chatys", + "Bzdęga", + "Bartoszczyk", + "Zdonek", + "Więcławek", + "Wielgo", + "Steuer", + "Staręga", + "Sakwa", + "Orpel", + "Kobel", + "Golonko", + "Stark", + "Soczówka", + "Nickel", + "Kupaj", + "Kolman", + "Kieca", + "Kamyk", + "Jeżyk", + "Glica", + "Gasz", + "Gamrat", + "Franiak", + "Bacik", + "Andrukiewicz", + "Troka", + "Siwka", + "Odrzywołek", + "Nurkiewicz", + "Kozubal", + "Kott", + "Głowienka", + "Doroszuk", + "Cogiel", + "Cheba", + "Baś", + "Andreasik", + "Wenzel", + "Szumna", + "Rosłoń", + "Ogłaza", + "Mikłaszewicz", + "Kubieniec", + "Jędral", + "Bieniak", + "Wons", + "Władyka", + "Rolak", + "Prejs", + "Płocharczyk", + "Ostręga", + "Łęgowik", + "Ludwik", + "Kopik", + "Kleinschmidt", + "Karczmarek", + "Gładka", + "Czylok", + "Wawrzynkiewicz", + ) + male_last_names: Tuple[str, ...] = ( + "Kowalski", + "Wiśniewski", + "Dąbrowski", + "Lewandowski", + "Wójcik", + "Kamiński", + "Kowalczyk", + "Zieliński", + "Szymański", + "Woźniak", + "Kozłowski", + "Jankowski", + "Wojciechowski", + "Kwiatkowski", + "Kaczmarek", + "Mazur", + "Krawczyk", + "Piotrowski", + "Grabowski", + "Nowakowski", + "Pawłowski", + "Michalski", + "Nowicki", + "Adamczyk", + "Dudek", + "Zając", + "Wieczorek", + "Jabłoński", + "Król", + "Majewski", + "Olszewski", + "Jaworski", + "Wróbel", + "Malinowski", + "Pawlak", + "Witkowski", + "Walczak", + "Stępień", + "Górski", + "Rutkowski", + "Michalak", + "Sikora", + "Ostrowski", + "Baran", + "Duda", + "Szewczyk", + "Tomaszewski", + "Pietrzak", + "Marciniak", + "Wróblewski", + "Zalewski", + "Jakubowski", + "Jasiński", + "Zawadzki", + "Sadowski", + "Bąk", + "Chmielewski", + "Włodarczyk", + "Borkowski", + "Czarnecki", + "Sawicki", + "Sokołowski", + "Urbański", + "Kubiak", + "Maciejewski", + "Szczepański", + "Kucharski", + "Wilk", + "Kalinowski", + "Lis", + "Mazurek", + "Wysocki", + "Adamski", + "Kaźmierczak", + "Wasilewski", + "Sobczak", + "Czerwiński", + "Andrzejewski", + "Cieślak", + "Głowacki", + "Zakrzewski", + "Kołodziej", + "Sikorski", + "Krajewski", + "Gajewski", + "Szymczak", + "Szulc", + "Baranowski", + "Laskowski", + "Brzeziński", + "Makowski", + "Ziółkowski", + "Przybylski", + "Domański", + "Nowacki", + "Borowski", + "Błaszczyk", + "Chojnacki", + "Ciesielski", + "Mróz", + "Szczepaniak", + "Wesołowski", + "Górecki", + "Krupa", + "Kaczmarczyk", + "Leszczyński", + "Lipiński", + "Kowalewski", + "Urbaniak", + "Kozak", + "Kania", + "Mikołajczyk", + "Czajkowski", + "Mucha", + "Tomczak", + "Kozioł", + "Markowski", + "Kowalik", + "Nawrocki", + "Brzozowski", + "Janik", + "Musiał", + "Wawrzyniak", + "Markiewicz", + "Orłowski", + "Tomczyk", + "Jarosz", + "Kołodziejczyk", + "Kurek", + "Kopeć", + "Żak", + "Wolski", + "Łuczak", + "Dziedzic", + "Kot", + "Stasiak", + "Stankiewicz", + "Piątek", + "Jóźwiak", + "Urban", + "Dobrowolski", + "Pawlik", + "Kruk", + "Domagała", + "Piasecki", + "Wierzbicki", + "Karpiński", + "Jastrzębski", + "Polak", + "Zięba", + "Janicki", + "Wójtowicz", + "Stefański", + "Sosnowski", + "Bednarek", + "Majchrzak", + "Bielecki", + "Małecki", + "Maj", + "Sowa", + "Milewski", + "Gajda", + "Klimek", + "Olejniczak", + "Ratajczak", + "Romanowski", + "Matuszewski", + "Śliwiński", + "Madej", + "Kasprzak", + "Wilczyński", + "Grzelak", + "Socha", + "Czajka", + "Marek", + "Kowal", + "Bednarczyk", + "Skiba", + "Wrona", + "Owczarek", + "Marcinkowski", + "Matusiak", + "Orzechowski", + "Sobolewski", + "Kędzierski", + "Kurowski", + "Rogowski", + "Olejnik", + "Dębski", + "Barański", + "Skowroński", + "Mazurkiewicz", + "Pająk", + "Czech", + "Janiszewski", + "Bednarski", + "Łukasik", + "Chrzanowski", + "Bukowski", + "Leśniak", + ) + + prefixes_male: Tuple[str, ...] = ("pan",) + prefixes_female: Tuple[str, ...] = ("pani",) first_names = first_names_male + first_names_female - def last_name(self): + def last_name(self) -> str: return self.random_element(self.unisex_last_names) - def identity_card_number(self): + def identity_card_number(self) -> str: """ Returns 9 character Polish Identity Card Number, Polish: Numer Dowodu Osobistego. @@ -686,7 +4100,7 @@ def identity_card_number(self): https://en.wikipedia.org/wiki/Polish_identity_card """ - identity = [] + identity: List[Union[int, str]] = [] for _ in range(3): identity.append(self.random_letter().upper()) @@ -699,21 +4113,26 @@ def identity_card_number(self): identity[3] = checksum_identity_card_number(identity) - return ''.join(str(character) for character in identity) + return "".join(str(character) for character in identity) @staticmethod - def pesel_compute_check_digit(pesel): + def pesel_compute_check_digit(pesel: str) -> int: checksum_values = [9, 7, 3, 1, 9, 7, 3, 1, 9, 7] return sum(int(a) * b for a, b in zip(pesel, checksum_values)) % 10 - def pesel(self, date_of_birth=None, sex=None): + def pesel(self, date_of_birth: Optional[datetime] = None, sex: Optional[str] = None) -> str: """ Returns 11 characters of Universal Electronic System for Registration of the Population. Polish: Powszechny Elektroniczny System Ewidencji Ludności. PESEL has 11 digits which identifies just one person. - pesel_date: if person was born in 1900-2000, december is 12. If person was born > 2000, we have to add 20 to - month, so december is 32. + pesel_date: if person was born in + 1900-1999 - month field number is not modified + 2000–2099 – month field number is increased by 20 + 2100–2199 – month + 40 + 2200–2299 – month + 60 + 1800–1899 – month + 80 + outside range 1800-2299 function will raise ValueError pesel_sex: last digit identifies person's sex. Even for females, odd for males. https://en.wikipedia.org/wiki/PESEL @@ -721,27 +4140,38 @@ def pesel(self, date_of_birth=None, sex=None): if date_of_birth is None: date_of_birth = self.generator.date_of_birth() - pesel_date = '{year}{month:02d}{day:02d}'.format( - year=date_of_birth.year, day=date_of_birth.day, - month=date_of_birth.month if date_of_birth.year < 2000 else date_of_birth.month + 20) - pesel_date = pesel_date[2:] + if 1800 <= date_of_birth.year <= 1899: + month = date_of_birth.month + 80 + elif 1900 <= date_of_birth.year <= 1999: + month = date_of_birth.month + elif 2000 <= date_of_birth.year <= 2099: + month = date_of_birth.month + 20 + elif 2100 <= date_of_birth.year <= 2199: + month = date_of_birth.month + 40 + elif 2200 <= date_of_birth.year <= 2299: + month = date_of_birth.month + 60 + else: + raise ValueError("Date of birth is out of supported range 1800-2299") + + year = date_of_birth.year % 100 - pesel_core = ''.join(map(str, (self.random_digit() for _ in range(3)))) + pesel_date = f"{year:02d}{month:02d}{date_of_birth.day:02d}" + pesel_core = "".join(map(str, (self.random_digit() for _ in range(3)))) pesel_sex = self.random_digit() - if (sex == 'M' and pesel_sex % 2 == 0) or (sex == 'F' and pesel_sex % 2 == 1): + if (sex == "M" and pesel_sex % 2 == 0) or (sex == "F" and pesel_sex % 2 == 1): pesel_sex = (pesel_sex + 1) % 10 - pesel = '{date}{core}{sex}'.format(date=pesel_date, core=pesel_core, sex=pesel_sex) + pesel = f"{pesel_date}{pesel_core}{pesel_sex}" pesel += str(self.pesel_compute_check_digit(pesel)) return pesel @staticmethod - def pwz_doctor_compute_check_digit(x): + def pwz_doctor_compute_check_digit(x: Sequence[int]) -> int: return sum((i + 1) * d for i, d in enumerate(x)) % 11 - def pwz_doctor(self): + def pwz_doctor(self) -> str: """ Function generates an identification number for medical doctors Polish: Prawo Wykonywania Zawodu (PWZ) @@ -755,9 +4185,9 @@ def pwz_doctor(self): core[-1] = (core[-1] + 1) % 10 check_digit = self.pwz_doctor_compute_check_digit(core) - return '{}{}'.format(check_digit, ''.join(map(str, core))) + return f'{check_digit}{"".join(map(str, core))}' - def pwz_nurse(self, kind='nurse'): + def pwz_nurse(self, kind: str = "nurse") -> str: """ Function generates an identification number for nurses and midwives Polish: Prawo Wykonywania Zawodu (PWZ) @@ -769,62 +4199,777 @@ def pwz_nurse(self, kind='nurse'): """ region = self.random_int(1, 45) core = [self.random_digit() for _ in range(5)] - kind_char = 'A' if kind == 'midwife' else 'P' - - return '{:02d}{}{}'.format(region, ''.join(map(str, core)), kind_char) - - tax_office_codes = ( - '101', '102', '103', '104', '105', '106', '107', '108', '109', '111', '112', '113', '114', '115', '116', '117', - '118', '119', '121', '122', '123', '124', '125', '126', '127', '128', '129', '131', '132', '133', '134', '135', - '136', '137', '138', '139', '141', '142', '143', '144', '145', '146', '147', '148', '149', '151', '152', '153', - '154', '155', '156', '157', '158', '159', '161', '162', '163', '164', '165', '166', '167', '168', '169', '171', - '172', '173', '174', '175', '176', '177', '178', '179', '181', '182', '183', '184', '185', '186', '187', '188', - '189', '191', '192', '193', '194', '195', '196', '197', '198', '199', '201', '202', '203', '204', '205', '206', - '207', '208', '209', '211', '212', '213', '214', '215', '216', '217', '218', '219', '221', '222', '223', '224', - '225', '226', '227', '228', '229', '231', '232', '233', '234', '235', '236', '237', '238', '239', '241', '242', - '243', '244', '245', '246', '247', '248', '249', '251', '252', '253', '254', '255', '256', '257', '258', '259', - '261', '262', '263', '264', '265', '266', '267', '268', '269', '271', '272', '273', '274', '275', '276', '277', - '278', '279', '281', '282', '283', '284', '285', '286', '287', '288', '289', '291', '292', '293', '294', '295', - '296', '297', '298', '301', '302', '311', '312', '313', '314', '315', '316', '317', '318', '319', '321', '322', - '323', '324', '325', '326', '327', '328', '329', '331', '332', '333', '334', '335', '336', '337', '338', '339', - '341', '342', '343', '344', '345', '346', '347', '348', '349', '351', '352', '353', '354', '355', '356', '357', - '358', '359', '361', '362', '363', '364', '365', '366', '367', '368', '369', '371', '372', '373', '374', '375', - '376', '377', '378', '379', '381', '382', '383', '384', '385', '386', '387', '388', '389', '391', '392', '393', - '394', '395', '396', '397', '398', '399', '411', '412', '413', '414', '415', '416', '417', '418', '419', '421', - '422', '423', '424', '425', '426', '427', '428', '429', '431', '432', '433', '434', '435', '436', '437', '438', - '439', '441', '442', '443', '444', '445', '446', '447', '448', '449', '451', '452', '453', '454', '455', '456', - '457', '458', '459', '461', '462', '463', '464', '465', '466', '467', '468', '469', '471', '472', '473', '474', - '475', '476', '477', '478', '479', '481', '482', '483', '484', '485', '486', '487', '488', '489', '491', '492', - '493', '494', '495', '496', '497', '498', '499', '501', '502', '503', '504', '505', '506', '507', '508', '509', - '511', '512', '513', '514', '516', '519', '521', '522', '523', '524', '525', '526', '527', '528', '529', '531', - '532', '533', '534', '535', '536', '537', '538', '539', '541', '542', '543', '544', '545', '546', '547', '548', - '549', '551', '552', '553', '554', '555', '556', '557', '558', '559', '561', '562', '563', '564', '565', '566', - '567', '568', '569', '571', '572', '573', '574', '575', '576', '577', '578', '579', '581', '582', '583', '584', - '585', '586', '587', '588', '589', '591', '592', '593', '594', '595', '596', '597', '598', '599', '601', '602', - '603', '604', '605', '606', '607', '608', '609', '611', '612', '613', '614', '615', '616', '617', '618', '619', - '621', '622', '623', '624', '625', '626', '627', '628', '629', '631', '632', '633', '634', '635', '636', '637', - '638', '639', '641', '642', '643', '644', '645', '646', '647', '648', '649', '651', '652', '653', '654', '655', - '656', '657', '658', '659', '661', '662', '663', '664', '665', '666', '667', '668', '669', '671', '672', '673', - '674', '675', '676', '677', '678', '679', '681', '682', '683', '684', '685', '686', '687', '688', '689', '691', - '692', '693', '694', '695', '696', '697', '698', '699', '701', '711', '712', '713', '714', '715', '716', '717', - '718', '719', '721', '722', '723', '724', '725', '726', '727', '728', '729', '731', '732', '733', '734', '735', - '736', '737', '738', '739', '741', '742', '743', '744', '745', '746', '747', '748', '749', '751', '752', '753', - '754', '755', '756', '757', '758', '759', '761', '762', '763', '764', '765', '766', '767', '768', '769', '771', - '772', '773', '774', '775', '776', '777', '778', '779', '781', '782', '783', '784', '785', '786', '787', '788', - '789', '791', '792', '793', '794', '795', '796', '797', '798', '799', '811', '812', '813', '814', '815', '816', - '817', '818', '819', '821', '822', '823', '824', '825', '826', '827', '828', '829', '831', '832', '833', '834', - '835', '836', '837', '838', '839', '841', '842', '843', '844', '845', '846', '847', '848', '849', '851', '852', - '853', '854', '855', '856', '857', '858', '859', '861', '862', '863', '864', '865', '866', '867', '868', '869', - '871', '872', '873', '874', '875', '876', '877', '878', '879', '881', '882', '883', '884', '885', '886', '887', - '888', '889', '891', '892', '893', '894', '895', '896', '897', '898', '899', '911', '912', '913', '914', '915', - '916', '917', '918', '919', '921', '922', '923', '924', '925', '926', '927', '928', '929', '931', '932', '933', - '934', '935', '936', '937', '938', '939', '941', '942', '943', '944', '945', '946', '947', '948', '949', '951', - '952', '953', '954', '955', '956', '957', '958', '959', '961', '962', '963', '964', '965', '966', '967', '968', - '969', '971', '972', '973', '974', '975', '976', '977', '978', '979', '981', '982', '983', '984', '985', '986', - '987', '988', '989', '991', '992', '993', '994', '995', '996', '997', '998', + kind_char = "A" if kind == "midwife" else "P" + + return f'{region:02d}{"".join(map(str, core))}{kind_char}' + + tax_office_codes: Tuple[str, ...] = ( + "101", + "102", + "103", + "104", + "105", + "106", + "107", + "108", + "109", + "111", + "112", + "113", + "114", + "115", + "116", + "117", + "118", + "119", + "121", + "122", + "123", + "124", + "125", + "126", + "127", + "128", + "129", + "131", + "132", + "133", + "134", + "135", + "136", + "137", + "138", + "139", + "141", + "142", + "143", + "144", + "145", + "146", + "147", + "148", + "149", + "151", + "152", + "153", + "154", + "155", + "156", + "157", + "158", + "159", + "161", + "162", + "163", + "164", + "165", + "166", + "167", + "168", + "169", + "171", + "172", + "173", + "174", + "175", + "176", + "177", + "178", + "179", + "181", + "182", + "183", + "184", + "185", + "186", + "187", + "188", + "189", + "191", + "192", + "193", + "194", + "195", + "196", + "197", + "198", + "199", + "201", + "202", + "203", + "204", + "205", + "206", + "207", + "208", + "209", + "211", + "212", + "213", + "214", + "215", + "216", + "217", + "218", + "219", + "221", + "222", + "223", + "224", + "225", + "226", + "227", + "228", + "229", + "231", + "232", + "233", + "234", + "235", + "236", + "237", + "238", + "239", + "241", + "242", + "243", + "244", + "245", + "246", + "247", + "248", + "249", + "251", + "252", + "253", + "254", + "255", + "256", + "257", + "258", + "259", + "261", + "262", + "263", + "264", + "265", + "266", + "267", + "268", + "269", + "271", + "272", + "273", + "274", + "275", + "276", + "277", + "278", + "279", + "281", + "282", + "283", + "284", + "285", + "286", + "287", + "288", + "289", + "291", + "292", + "293", + "294", + "295", + "296", + "297", + "298", + "301", + "302", + "311", + "312", + "313", + "314", + "315", + "316", + "317", + "318", + "319", + "321", + "322", + "323", + "324", + "325", + "326", + "327", + "328", + "329", + "331", + "332", + "333", + "334", + "335", + "336", + "337", + "338", + "339", + "341", + "342", + "343", + "344", + "345", + "346", + "347", + "348", + "349", + "351", + "352", + "353", + "354", + "355", + "356", + "357", + "358", + "359", + "361", + "362", + "363", + "364", + "365", + "366", + "367", + "368", + "369", + "371", + "372", + "373", + "374", + "375", + "376", + "377", + "378", + "379", + "381", + "382", + "383", + "384", + "385", + "386", + "387", + "388", + "389", + "391", + "392", + "393", + "394", + "395", + "396", + "397", + "398", + "399", + "411", + "412", + "413", + "414", + "415", + "416", + "417", + "418", + "419", + "421", + "422", + "423", + "424", + "425", + "426", + "427", + "428", + "429", + "431", + "432", + "433", + "434", + "435", + "436", + "437", + "438", + "439", + "441", + "442", + "443", + "444", + "445", + "446", + "447", + "448", + "449", + "451", + "452", + "453", + "454", + "455", + "456", + "457", + "458", + "459", + "461", + "462", + "463", + "464", + "465", + "466", + "467", + "468", + "469", + "471", + "472", + "473", + "474", + "475", + "476", + "477", + "478", + "479", + "481", + "482", + "483", + "484", + "485", + "486", + "487", + "488", + "489", + "491", + "492", + "493", + "494", + "495", + "496", + "497", + "498", + "499", + "501", + "502", + "503", + "504", + "505", + "506", + "507", + "508", + "509", + "511", + "512", + "513", + "514", + "516", + "519", + "521", + "522", + "523", + "524", + "525", + "526", + "527", + "528", + "529", + "531", + "532", + "533", + "534", + "535", + "536", + "537", + "538", + "539", + "541", + "542", + "543", + "544", + "545", + "546", + "547", + "548", + "549", + "551", + "552", + "553", + "554", + "555", + "556", + "557", + "558", + "559", + "561", + "562", + "563", + "564", + "565", + "566", + "567", + "568", + "569", + "571", + "572", + "573", + "574", + "575", + "576", + "577", + "578", + "579", + "581", + "582", + "583", + "584", + "585", + "586", + "587", + "588", + "589", + "591", + "592", + "593", + "594", + "595", + "596", + "597", + "598", + "599", + "601", + "602", + "603", + "604", + "605", + "606", + "607", + "608", + "609", + "611", + "612", + "613", + "614", + "615", + "616", + "617", + "618", + "619", + "621", + "622", + "623", + "624", + "625", + "626", + "627", + "628", + "629", + "631", + "632", + "633", + "634", + "635", + "636", + "637", + "638", + "639", + "641", + "642", + "643", + "644", + "645", + "646", + "647", + "648", + "649", + "651", + "652", + "653", + "654", + "655", + "656", + "657", + "658", + "659", + "661", + "662", + "663", + "664", + "665", + "666", + "667", + "668", + "669", + "671", + "672", + "673", + "674", + "675", + "676", + "677", + "678", + "679", + "681", + "682", + "683", + "684", + "685", + "686", + "687", + "688", + "689", + "691", + "692", + "693", + "694", + "695", + "696", + "697", + "698", + "699", + "701", + "711", + "712", + "713", + "714", + "715", + "716", + "717", + "718", + "719", + "721", + "722", + "723", + "724", + "725", + "726", + "727", + "728", + "729", + "731", + "732", + "733", + "734", + "735", + "736", + "737", + "738", + "739", + "741", + "742", + "743", + "744", + "745", + "746", + "747", + "748", + "749", + "751", + "752", + "753", + "754", + "755", + "756", + "757", + "758", + "759", + "761", + "762", + "763", + "764", + "765", + "766", + "767", + "768", + "769", + "771", + "772", + "773", + "774", + "775", + "776", + "777", + "778", + "779", + "781", + "782", + "783", + "784", + "785", + "786", + "787", + "788", + "789", + "791", + "792", + "793", + "794", + "795", + "796", + "797", + "798", + "799", + "811", + "812", + "813", + "814", + "815", + "816", + "817", + "818", + "819", + "821", + "822", + "823", + "824", + "825", + "826", + "827", + "828", + "829", + "831", + "832", + "833", + "834", + "835", + "836", + "837", + "838", + "839", + "841", + "842", + "843", + "844", + "845", + "846", + "847", + "848", + "849", + "851", + "852", + "853", + "854", + "855", + "856", + "857", + "858", + "859", + "861", + "862", + "863", + "864", + "865", + "866", + "867", + "868", + "869", + "871", + "872", + "873", + "874", + "875", + "876", + "877", + "878", + "879", + "881", + "882", + "883", + "884", + "885", + "886", + "887", + "888", + "889", + "891", + "892", + "893", + "894", + "895", + "896", + "897", + "898", + "899", + "911", + "912", + "913", + "914", + "915", + "916", + "917", + "918", + "919", + "921", + "922", + "923", + "924", + "925", + "926", + "927", + "928", + "929", + "931", + "932", + "933", + "934", + "935", + "936", + "937", + "938", + "939", + "941", + "942", + "943", + "944", + "945", + "946", + "947", + "948", + "949", + "951", + "952", + "953", + "954", + "955", + "956", + "957", + "958", + "959", + "961", + "962", + "963", + "964", + "965", + "966", + "967", + "968", + "969", + "971", + "972", + "973", + "974", + "975", + "976", + "977", + "978", + "979", + "981", + "982", + "983", + "984", + "985", + "986", + "987", + "988", + "989", + "991", + "992", + "993", + "994", + "995", + "996", + "997", + "998", ) - def nip(self): + def nip(self) -> str: """ Returns 10 digit of Number of tax identification. Polish: Numer identyfikacji podatkowej (NIP). @@ -835,7 +4980,7 @@ def nip(self): """ - nip = [int(i) for i in self.random_element(self.tax_office_codes)] + nip = [int(i) for i in self.random_element(self.tax_office_codes)] # type: ignore for _ in range(6): nip.append(self.random_digit()) @@ -854,4 +4999,4 @@ def nip(self): else: nip.append(check_sum % 11) - return ''.join(str(character) for character in nip) + return "".join(str(character) for character in nip) diff --git a/faker/providers/person/pt_BR/__init__.py b/faker/providers/person/pt_BR/__init__.py index 156f3768e6..1367eefb92 100644 --- a/faker/providers/person/pt_BR/__init__.py +++ b/faker/providers/person/pt_BR/__init__.py @@ -3,22 +3,21 @@ class Provider(PersonProvider): formats_female = ( - '{{first_name_female}} {{last_name}}', - '{{first_name_female}} {{last_name}}', - '{{first_name_female}} {{last_name}}', - '{{first_name_female}} {{last_name}}', - '{{first_name_female}} {{last_name}}', - '{{prefix_female}} {{first_name_female}} {{last_name}}', + "{{first_name_female}} {{last_name}}", + "{{first_name_female}} {{last_name}}", + "{{first_name_female}} {{last_name}}", + "{{first_name_female}} {{last_name}}", + "{{first_name_female}} {{last_name}}", + "{{prefix_female}} {{first_name_female}} {{last_name}}", ) formats_male = ( - '{{first_name_male}} {{last_name}}', - '{{first_name_male}} {{last_name}}', - '{{first_name_male}} {{last_name}}', - '{{first_name_male}} {{last_name}}', - '{{first_name_male}} {{last_name}}', - '{{prefix_male}} {{first_name_male}} {{last_name}}', - + "{{first_name_male}} {{last_name}}", + "{{first_name_male}} {{last_name}}", + "{{first_name_male}} {{last_name}}", + "{{first_name_male}} {{last_name}}", + "{{first_name_male}} {{last_name}}", + "{{prefix_male}} {{first_name_male}} {{last_name}}", ) formats = formats_male + formats_female @@ -30,24 +29,109 @@ class Provider(PersonProvider): * http://exame.abril.com.br/brasil/noticias/os-100-nomes-mais-comuns-no-brasil-em-2015 """ first_names_female = ( - 'Agatha', 'Alana', 'Alexia', 'Alice', 'Alícia', 'Amanda', - 'Ana Beatriz', 'Ana Carolina', 'Ana Clara', 'Ana Julia', 'Ana Júlia', - 'Ana Laura', 'Ana Luiza', 'Ana Lívia', 'Ana Sophia', 'Ana Vitória', - 'Ana', 'Beatriz', 'Bianca', 'Brenda', 'Bruna', 'Bárbara', 'Camila', - 'Carolina', 'Caroline', 'Catarina', 'Cecília', 'Clara', 'Clarice', - 'Daniela', 'Eduarda', 'Elisa', 'Eloah', 'Emanuella', 'Emanuelly', - 'Emilly', 'Esther', 'Evelyn', 'Fernanda', 'Gabriela', 'Gabrielly', - 'Giovanna', 'Helena', 'Heloísa', 'Isabel', 'Isabella', 'Isabelly', - 'Isadora', 'Isis', 'Joana', 'Julia', 'Juliana', 'Júlia', 'Kamilly', - 'Lara', 'Larissa', 'Laura', 'Lavínia', 'Laís', 'Letícia', 'Lorena', - 'Luana', 'Luiza', 'Luna', 'Lívia', 'Maitê', 'Manuela', 'Marcela', - 'Maria Alice', 'Maria Cecília', 'Maria Clara', 'Maria Eduarda', - 'Maria Fernanda', 'Maria Julia', 'Maria Luiza', 'Maria Sophia', - 'Maria Vitória', 'Maria', 'Mariana', 'Mariane', 'Marina', 'Maysa', - 'Melissa', 'Milena', 'Mirella', 'Natália', 'Nicole', 'Nina', 'Olivia', - 'Pietra', 'Rafaela', 'Raquel', 'Rebeca', 'Sabrina', 'Sarah', 'Sofia', - 'Sophia', 'Sophie', 'Stella', 'Stephany', 'Valentina', 'Vitória', - 'Yasmin', + "Agatha", + "Alana", + "Alexia", + "Alice", + "Alícia", + "Amanda", + "Ana Beatriz", + "Ana Carolina", + "Ana Clara", + "Ana Julia", + "Ana Júlia", + "Ana Laura", + "Ana Luiza", + "Ana Lívia", + "Ana Sophia", + "Ana Vitória", + "Ana", + "Beatriz", + "Bianca", + "Brenda", + "Bruna", + "Bárbara", + "Camila", + "Carolina", + "Caroline", + "Catarina", + "Cecília", + "Clara", + "Clarice", + "Daniela", + "Eduarda", + "Elisa", + "Eloah", + "Emanuella", + "Emanuelly", + "Emilly", + "Esther", + "Evelyn", + "Fernanda", + "Gabriela", + "Gabrielly", + "Giovanna", + "Helena", + "Heloísa", + "Isabel", + "Isabella", + "Isabelly", + "Isadora", + "Isis", + "Joana", + "Julia", + "Juliana", + "Júlia", + "Kamilly", + "Lara", + "Larissa", + "Laura", + "Lavínia", + "Laís", + "Letícia", + "Lorena", + "Luana", + "Luiza", + "Luna", + "Lívia", + "Maitê", + "Manuela", + "Marcela", + "Maria Alice", + "Maria Cecília", + "Maria Clara", + "Maria Eduarda", + "Maria Fernanda", + "Maria Julia", + "Maria Luiza", + "Maria Sophia", + "Maria Vitória", + "Maria", + "Mariana", + "Mariane", + "Marina", + "Maysa", + "Melissa", + "Milena", + "Mirella", + "Natália", + "Nicole", + "Nina", + "Olivia", + "Pietra", + "Rafaela", + "Raquel", + "Rebeca", + "Sabrina", + "Sarah", + "Sofia", + "Sophia", + "Sophie", + "Stella", + "Stephany", + "Valentina", + "Vitória", + "Yasmin", ) """ @@ -57,24 +141,107 @@ class Provider(PersonProvider): * http://exame.abril.com.br/brasil/noticias/os-100-nomes-mais-comuns-no-brasil-em-2015 """ first_names_male = ( - 'Alexandre', 'André', 'Anthony', 'Antônio', 'Arthur', 'Augusto', - 'Benjamin', 'Benício', 'Bernardo', 'Breno', 'Bruno', 'Bryan', 'Caio', - 'Calebe', 'Carlos Eduardo', 'Cauã', 'Cauê', 'Daniel', 'Danilo', - 'Davi Lucas', 'Davi Lucca', 'Davi Luiz', 'Davi', 'Diego', 'Diogo', - 'Eduardo', 'Emanuel', 'Enrico', 'Enzo Gabriel', 'Enzo', 'Erick', - 'Felipe', 'Fernando', 'Francisco', 'Gabriel', 'Guilherme', - 'Gustavo Henrique', 'Gustavo', 'Heitor', 'Henrique', 'Ian', 'Igor', - 'Isaac', 'Joaquim', 'João Felipe', 'João Gabriel', 'João Guilherme', - 'João Lucas', 'João Miguel', 'João Pedro', 'João Vitor', 'João', - 'Juan', 'Kaique', 'Kevin', 'Leandro', 'Leonardo', 'Levi', 'Lorenzo', - 'Lucas Gabriel', 'Lucas', 'Lucca', 'Luigi', 'Luiz Felipe', - 'Luiz Fernando', 'Luiz Gustavo', 'Luiz Henrique', 'Luiz Miguel', - 'Luiz Otávio', 'Marcelo', 'Marcos Vinicius', 'Matheus', 'Miguel', - 'Murilo', 'Nathan', 'Nicolas', 'Noah', 'Otávio', 'Paulo', - 'Pedro Henrique', 'Pedro Lucas', 'Pedro Miguel', 'Pedro', 'Pietro', - 'Rafael', 'Raul', 'Renan', 'Rodrigo', 'Ryan', 'Samuel', 'Thales', - 'Theo', 'Thiago', 'Thomas', 'Vicente', 'Vinicius', 'Vitor Gabriel', - 'Vitor Hugo', 'Vitor', 'Yago', 'Yuri', + "Alexandre", + "André", + "Anthony", + "Antônio", + "Arthur", + "Augusto", + "Benjamin", + "Benício", + "Bernardo", + "Breno", + "Bruno", + "Bryan", + "Caio", + "Calebe", + "Carlos Eduardo", + "Cauã", + "Cauê", + "Daniel", + "Danilo", + "Davi Lucas", + "Davi Lucca", + "Davi Luiz", + "Davi", + "Diego", + "Diogo", + "Eduardo", + "Emanuel", + "Enrico", + "Enzo Gabriel", + "Enzo", + "Erick", + "Felipe", + "Fernando", + "Francisco", + "Gabriel", + "Guilherme", + "Gustavo Henrique", + "Gustavo", + "Heitor", + "Henrique", + "Ian", + "Igor", + "Isaac", + "Joaquim", + "João Felipe", + "João Gabriel", + "João Guilherme", + "João Lucas", + "João Miguel", + "João Pedro", + "João Vitor", + "João", + "Juan", + "Kaique", + "Kevin", + "Leandro", + "Leonardo", + "Levi", + "Lorenzo", + "Lucas Gabriel", + "Lucas", + "Lucca", + "Luigi", + "Luiz Felipe", + "Luiz Fernando", + "Luiz Gustavo", + "Luiz Henrique", + "Luiz Miguel", + "Luiz Otávio", + "Marcelo", + "Marcos Vinicius", + "Matheus", + "Miguel", + "Murilo", + "Nathan", + "Nicolas", + "Noah", + "Otávio", + "Paulo", + "Pedro Henrique", + "Pedro Lucas", + "Pedro Miguel", + "Pedro", + "Pietro", + "Rafael", + "Raul", + "Renan", + "Rodrigo", + "Ryan", + "Samuel", + "Thales", + "Theo", + "Thiago", + "Thomas", + "Vicente", + "Vinicius", + "Vitor Gabriel", + "Vitor Hugo", + "Vitor", + "Yago", + "Yuri", ) first_names = first_names_male + first_names_female @@ -85,18 +252,78 @@ class Provider(PersonProvider): * http://nomeschiques.com/os-70-sobrenomes-mais-comuns-e-famosos-do-brasil/ """ last_names = ( - 'Almeida', 'Alves', 'Aragão', 'Araújo', 'Azevedo', 'Barbosa', 'Barros', - 'Caldeira', 'Campos', 'Cardoso', 'Cardoso', 'Carvalho', 'Castro', - 'Cavalcanti', 'Correia', 'Costa', 'Costela', 'Cunha', 'da Conceição', - 'da Costa', 'da Cruz', 'da Cunha', 'da Luz', 'da Mata', 'da Mota', - 'da Paz', 'da Rocha', 'da Rosa', 'das Neves', 'Dias', 'Duarte', - 'Farias', 'Fernandes', 'Ferreira', 'Fogaça', 'Freitas', 'Gomes', - 'Gonçalves', 'Jesus', 'Lima', 'Lopes', 'Martins', 'Melo', 'Mendes', - 'Monteiro', 'Moraes', 'Moreira', 'Moura', 'Nascimento', 'Nogueira', - 'Novaes', 'Nunes', 'Oliveira', 'Peixoto', 'Pereira', 'Pinto', 'Pires', - 'Porto', 'Ramos', 'Rezende', 'Ribeiro', 'Rocha', 'Rodrigues', 'Sales', - 'Santos', 'Silva', 'Silveira', 'Souza', 'Teixeira', 'Viana', 'Vieira', + "Almeida", + "Alves", + "Aragão", + "Araújo", + "Azevedo", + "Barbosa", + "Barros", + "Caldeira", + "Campos", + "Cardoso", + "Cardoso", + "Carvalho", + "Castro", + "Cavalcanti", + "Correia", + "Costa", + "Costela", + "Cunha", + "da Conceição", + "da Costa", + "da Cruz", + "da Cunha", + "da Luz", + "da Mata", + "da Mota", + "da Paz", + "da Rocha", + "da Rosa", + "das Neves", + "Dias", + "Duarte", + "Farias", + "Fernandes", + "Ferreira", + "Fogaça", + "Freitas", + "Gomes", + "Gonçalves", + "Jesus", + "Lima", + "Lopes", + "Martins", + "Melo", + "Mendes", + "Monteiro", + "Moraes", + "Moreira", + "Moura", + "Nascimento", + "Nogueira", + "Novaes", + "Nunes", + "Oliveira", + "Peixoto", + "Pereira", + "Pinto", + "Pires", + "Porto", + "Ramos", + "Rezende", + "Ribeiro", + "Rocha", + "Rodrigues", + "Sales", + "Santos", + "Silva", + "Silveira", + "Souza", + "Teixeira", + "Viana", + "Vieira", ) - prefixes_female = ('Srta.', 'Sra.', 'Dra.') - prefixes_male = ('Sr.', 'Dr.') + prefixes_female = ("Srta.", "Sra.", "Dra.") + prefixes_male = ("Sr.", "Dr.") diff --git a/faker/providers/person/pt_PT/__init__.py b/faker/providers/person/pt_PT/__init__.py index a208572f2d..343b2ff833 100644 --- a/faker/providers/person/pt_PT/__init__.py +++ b/faker/providers/person/pt_PT/__init__.py @@ -2,71 +2,342 @@ class Provider(PersonProvider): - formats = ( - '{{first_name}} {{last_name}}', - '{{first_name}} {{last_name}}', - '{{first_name}} {{last_name}}', - '{{first_name}} {{last_name}}', - '{{first_name}} {{last_name}}', - '{{first_name}} {{last_name}}', - '{{first_name}} {{last_name}}', - '{{first_name}} {{prefix}} {{last_name}}', - '{{first_name}} {{last_name}}-{{last_name}}', - '{{first_name}}-{{first_name}} {{last_name}}', + formats_male = ( + "{{first_name_male}} {{last_name}}", + "{{first_name_male}} {{last_name}}", + "{{first_name_male}} {{last_name}}", + "{{first_name_male}} {{last_name}}", + "{{first_name_male}} {{last_name}}", + "{{first_name_male}} {{last_name}}", + "{{first_name_male}} {{last_name}}", + "{{first_name_male}} {{prefix}} {{last_name}}", + "{{first_name_male}} {{last_name}}-{{last_name}}", ) - first_names = ( - 'Adriana', 'Afonso', 'Alex', 'Alexandra', 'Alexandre', 'Alice', - 'Alícia', 'Amélia', 'Ana', 'Andreia', 'André', 'Anita', 'António', - 'Ariana', 'Artur', 'Beatriz', 'Benedita', 'Benjamim', 'Bernardo', - 'Bianca', 'Brian', 'Bruna', 'Bruno', 'Bryan', 'Bárbara', 'Caetana', - 'Camila', 'Carlos', 'Carlota', 'Carminho', 'Carolina', 'Catarina', - 'Clara', 'Cláudio', 'Constança', 'Cristiano', 'César', 'Daniel', - 'Daniela', 'David', 'Denis', 'Diana', 'Diego', 'Dinis', 'Diogo', - 'Duarte', 'Débora', 'Edgar', 'Eduarda', 'Eduardo', 'Ema', 'Emanuel', - 'Emma', 'Emília', 'Enzo', 'Erica', 'Erika', 'Eva', 'Fabiana', - 'Fernando', 'Filipa', 'Filipe', 'Flor', 'Francisca', 'Francisco', - 'Frederico', 'Fábio', 'Gabriel', 'Gabriela', 'Gaspar', 'Gil', 'Gonçalo', - 'Guilherme', 'Gustavo', 'Helena', 'Henrique', 'Hugo', 'Iara', 'Igor', - 'Inês', 'Irina', 'Isaac', 'Isabel', 'Isabela', 'Ivan', 'Ivo', 'Jaime', - 'Joana', 'Joaquim', 'Joel', 'Jorge', 'José', 'João', 'Juliana', - 'Jéssica', 'Júlia', 'Kelly', 'Kevin', 'Kyara', 'Kévim', 'Lara', - 'Larissa', 'Laura', 'Leandro', 'Leonardo', 'Leonor', 'Letícia', 'Lia', - 'Lisandro', 'Lorena', 'Lourenço', 'Luana', 'Luca', 'Lucas', 'Luciana', - 'Luna', 'Luís', 'Luísa', 'Lúcia', 'Madalena', 'Mafalda', 'Manuel', - 'Mara', 'Marco', 'Marcos', 'Margarida', 'Maria', 'Mariana', 'Marta', - 'Martim', 'Mateus', 'Matias', 'Matilde', 'Mauro', 'Melissa', 'Mia', - 'Micael', 'Miguel', 'Miriam', 'Márcio', 'Mário', 'Mélanie', 'Naiara', - 'Nair', 'Nelson', 'Nicole', 'Noa', 'Noah', 'Nuno', 'Nádia', 'Núria', - 'Patrícia', 'Paulo', 'Pedro', 'Petra', 'Pilar', 'Rafael', 'Rafaela', - 'Raquel', 'Renata', 'Renato', 'Ricardo', 'Rita', 'Rodrigo', 'Rui', - 'Rúben', 'Salomé', 'Salvador', 'Samuel', 'Sandro', 'Santiago', 'Sara', - 'Sebastião', 'Simão', 'Sofia', 'Soraia', 'Sérgio', 'Tatiana', 'Teresa', - 'Tiago', 'Tomás', 'Tomé', 'Valentim', 'Valentina', 'Vasco', 'Vera', - 'Vicente', 'Victória', 'Violeta', 'Vitória', 'Vítor', 'William', - 'Wilson', 'Xavier', 'Yara', 'Yasmin', 'Álvaro', 'Ângela', 'Ângelo', - 'Érica', 'Íris', + formats_female = ( + "{{first_name_female}} {{last_name}}", + "{{first_name_female}} {{last_name}}", + "{{first_name_female}} {{last_name}}", + "{{first_name_female}} {{last_name}}", + "{{first_name_female}} {{last_name}}", + "{{first_name_female}} {{last_name}}", + "{{first_name_female}} {{last_name}}", + "{{first_name_female}} {{prefix}} {{last_name}}", + "{{first_name_female}} {{last_name}}-{{last_name}}", + "{{first_name_female}}-{{first_name_female}} {{last_name}}", ) + formats = formats_male + formats_female + + first_names_male = ( + "Afonso", + "Alexandre", + "Álvaro", + "André", + "Ângelo", + "António", + "Artur", + "Benjamim", + "Bernardo", + "Brian", + "Bruno", + "Bryan", + "Carlos", + "Cláudio", + "Cristiano", + "César", + "Daniel", + "David", + "Denis", + "Diego", + "Dinis", + "Diogo", + "Duarte", + "Edgar", + "Eduardo", + "Emanuel", + "Enzo", + "Fernando", + "Filipe", + "Francisco", + "Frederico", + "Fábio", + "Gabriel", + "Gaspar", + "Gil", + "Gonçalo", + "Guilherme", + "Gustavo", + "Henrique", + "Hugo", + "Igor", + "Isaac", + "Ismael", + "Ivan", + "Ivo", + "Jaime", + "Joaquim", + "Joel", + "Jorge", + "José", + "João", + "Kevin", + "Kévim", + "Leandro", + "Leonardo", + "Lisandro", + "Lourenço", + "Luca", + "Lucas", + "Luís", + "Manuel", + "Marco", + "Marcos", + "Martim", + "Mateus", + "Matias", + "Mauro", + "Micael", + "Miguel", + "Márcio", + "Mário", + "Nelson", + "Noa", + "Noah", + "Nuno", + "Paulo", + "Pedro", + "Rafael", + "Renato", + "Ricardo", + "Rodrigo", + "Rui", + "Rúben", + "Salvador", + "Samuel", + "Sandro", + "Santiago", + "Sebastião", + "Simão", + "Sérgio", + "Tiago", + "Tomás", + "Tomé", + "Valentim", + "Vasco", + "Vicente", + "Vítor", + "William", + "Wilson", + "Xavier", + ) + + first_names_female = ( + "Adriana", + "Alexandra", + "Alice", + "Alícia", + "Amélia", + "Ana", + "Andreia", + "Ângela", + "Anita", + "Ariana", + "Beatriz", + "Benedita", + "Bianca", + "Bruna", + "Bárbara", + "Caetana", + "Camila", + "Carlota", + "Carminho", + "Carolina", + "Catarina", + "Clara", + "Constança", + "Daniela", + "Diana", + "Débora", + "Eduarda", + "Ema", + "Emma", + "Emília", + "Erica", + "Érica", + "Erika", + "Eva", + "Fabiana", + "Filipa", + "Flor", + "Francisca", + "Gabriela", + "Helena", + "Iara", + "Inês", + "Irina", + "Íris", + "Isabel", + "Isabela", + "Joana", + "Juliana", + "Jéssica", + "Júlia", + "Kelly", + "Kyara", + "Lara", + "Larissa", + "Laura", + "Leonor", + "Letícia", + "Lia", + "Lorena", + "Luana", + "Luciana", + "Luna", + "Luísa", + "Lúcia", + "Madalena", + "Mafalda", + "Mara", + "Margarida", + "Maria", + "Mariana", + "Marta", + "Matilde", + "Melissa", + "Mia", + "Miriam", + "Mélanie", + "Naiara", + "Nair", + "Nicole", + "Nádia", + "Núria", + "Patrícia", + "Petra", + "Pilar", + "Rafaela", + "Raquel", + "Renata", + "Rita", + "Salomé", + "Sara", + "Sofia", + "Soraia", + "Tatiana", + "Teresa", + "Valentina", + "Vera", + "Victória", + "Violeta", + "Vitória", + "Yara", + "Yasmin", + ) + + first_names = first_names_male + first_names_female + last_names = ( - 'Abreu', 'Almeida', 'Alves', 'Amaral', 'Amorim', 'Andrade', 'Anjos', - 'Antunes', 'Araújo', 'Assunção', 'Azevedo', 'Baptista', 'Barbosa', - 'Barros', 'Batista', 'Borges', 'Branco', 'Brito', 'Campos', 'Cardoso', - 'Carneiro', 'Carvalho', 'Castro', 'Coelho', 'Correia', 'Costa', 'Cruz', - 'Cunha', 'Domingues', 'Esteves', 'Faria', 'Fernandes', 'Ferreira', - 'Figueiredo', 'Fonseca', 'Freitas', 'Garcia', 'Gaspar', 'Gomes', - 'Gonçalves', 'Guerreiro', 'Henriques', 'Jesus', 'Leal', 'Leite', 'Lima', - 'Lopes', 'Loureiro', 'Lourenço', 'Macedo', 'Machado', 'Magalhães', - 'Maia', 'Marques', 'Martins', 'Matias', 'Matos', 'Melo', 'Mendes', - 'Miranda', 'Monteiro', 'Morais', 'Moreira', 'Mota', 'Moura', - 'Nascimento', 'Neto', 'Neves', 'Nogueira', 'Nunes', 'Oliveira', - 'Pacheco', 'Paiva', 'Pereira', 'Pinheiro', 'Pinho', 'Pinto', 'Pires', - 'Ramos', 'Reis', 'Ribeiro', 'Rocha', 'Rodrigues', 'Santos', 'Silva', - 'Simões', 'Soares', 'Sousa', 'Sá', 'Tavares', 'Teixeira', 'Torres', - 'Valente', 'Vaz', 'Vicente', 'Vieira', + "Abreu", + "Almeida", + "Alves", + "Amaral", + "Amorim", + "Andrade", + "Anjos", + "Antunes", + "Araújo", + "Assunção", + "Azevedo", + "Baptista", + "Barbosa", + "Barros", + "Batista", + "Borges", + "Branco", + "Brito", + "Campos", + "Cardoso", + "Carneiro", + "Carvalho", + "Castro", + "Coelho", + "Correia", + "Costa", + "Cruz", + "Cunha", + "Domingues", + "Esteves", + "Faria", + "Fernandes", + "Ferreira", + "Figueiredo", + "Fonseca", + "Freitas", + "Garcia", + "Gaspar", + "Gomes", + "Gonçalves", + "Guerreiro", + "Henriques", + "Jesus", + "Leal", + "Leite", + "Lima", + "Lopes", + "Loureiro", + "Lourenço", + "Macedo", + "Machado", + "Magalhães", + "Maia", + "Marques", + "Martins", + "Matias", + "Matos", + "Melo", + "Mendes", + "Miranda", + "Monteiro", + "Morais", + "Moreira", + "Mota", + "Moura", + "Nascimento", + "Neto", + "Neves", + "Nogueira", + "Nunes", + "Oliveira", + "Pacheco", + "Paiva", + "Pereira", + "Pinheiro", + "Pinho", + "Pinto", + "Pires", + "Ramos", + "Reis", + "Ribeiro", + "Rocha", + "Rodrigues", + "Santos", + "Silva", + "Simões", + "Soares", + "Sousa", + "Sá", + "Tavares", + "Teixeira", + "Torres", + "Valente", + "Vaz", + "Vicente", + "Vieira", ) - prefixes = ('de', 'da', 'do') + prefixes = ("de", "da", "do") - def prefix(self): + def prefix(self) -> str: return self.random_element(self.prefixes) diff --git a/faker/providers/person/ro_RO/__init__.py b/faker/providers/person/ro_RO/__init__.py index 4ebacbdff6..6357ad2a6a 100644 --- a/faker/providers/person/ro_RO/__init__.py +++ b/faker/providers/person/ro_RO/__init__.py @@ -3,111 +3,751 @@ class Provider(PersonProvider): formats_female = ( - '{{first_name_female}} {{last_name}}', - '{{first_name_female}} {{last_name}}', - '{{first_name_female}} {{last_name}}', - '{{first_name_female}} {{first_name_female}} {{last_name}}', + "{{first_name_female}} {{last_name}}", + "{{first_name_female}} {{last_name}}", + "{{first_name_female}} {{last_name}}", + "{{first_name_female}} {{first_name_female}} {{last_name}}", ) formats_male = ( - '{{first_name_male}} {{last_name}}', - '{{first_name_male}} {{last_name}}', - '{{first_name_male}} {{last_name}}', - '{{first_name_male}} {{first_name_male}} {{last_name}}', + "{{first_name_male}} {{last_name}}", + "{{first_name_male}} {{last_name}}", + "{{first_name_male}} {{last_name}}", + "{{first_name_male}} {{first_name_male}} {{last_name}}", ) # sources: https://ro.wikipedia.org/wiki/List%C4%83_de_prenume_rom%C3%A2ne%C8%99ti first_names_female = ( - 'Ada', 'Adela', 'Adelaida', 'Adelina', 'Adina', 'Adriana', 'Agata', 'Aglaia', 'Agripina', 'Aida', 'Alberta', - 'Albertina', 'Alexandra', 'Alexandrina', 'Alice', 'Alida', 'Alina', 'Alis', 'Alma', 'Amalia', 'Amanda', - 'Amelia', - 'Ana', 'Anabela', 'Anaida', 'Anamaria', 'Anastasia', 'Anca', 'Ancuța', 'Anda', 'Andra', 'Andrada', 'Andreea', - 'Anemona', 'Aneta', 'Angela', 'Anghelina', 'Anica', 'Anișoara', 'Antoaneta', 'Antonela', 'Antonia', 'Anuța', - 'Ariadna', 'Ariana', 'Arina', 'Aristița', 'Artemisa', 'Astrid', 'Atena', 'Augustina', 'Aura', 'Aurelia', - 'Aureliana', 'Aurica', 'Aurora', 'Axenia', 'Beatrice', 'Betina', 'Bianca', 'Blanduzia', 'Bogdana', 'Brândușa', - 'Camelia', 'Carina', 'Carla', 'Carmen', 'Carmina', 'Carolina', 'Casandra', 'Casiana', 'Caterina', 'Catinca', - 'Catrina', 'Catrinel', 'Cătălina', 'Cecilia', 'Celia', 'Cerasela', 'Cezara', 'Cipriana', 'Clara', 'Clarisa', - 'Claudia', 'Clementina', 'Cleopatra', 'Codrina', 'Codruța', 'Constanța', 'Constantina', 'Consuela', 'Coralia', - 'Corina', 'Cornelia', 'Cosmina', 'Crenguța', 'Crina', 'Cristina', 'Daciana', 'Dafina', 'Daiana', 'Dalia', - 'Dana', - 'Daniela', 'Daria', 'Dariana', 'Delia', 'Demetra', 'Denisa', 'Despina', 'Diana', 'Dida', 'Didina', 'Dimitrina', - 'Dina', 'Dochia', 'Doina', 'Domnica', 'Dora', 'Doriana', 'Dorina', 'Dorli', 'Draga', 'Dumitra', 'Dumitrana', - 'Ecaterina', 'Eftimia', 'Elena', 'Eleonora', 'Eliana', 'Elisabeta', 'Elisaveta', 'Eliza', 'Elodia', 'Elvira', - 'Emanuela', 'Emilia', 'Erica', 'Estera', 'Eufrosina', 'Eugenia', 'Eusebia', 'Eva', 'Evanghelina', 'Evelina', - 'Fabia', 'Fabiana', 'Felicia', 'Filofteia', 'Fiona', 'Flavia', 'Floare', 'Floarea', 'Flora', 'Florența', - 'Florentina', 'Floriana', 'Florica', 'Florina', 'Francesca', 'Frusina', 'Gabriela', 'Geanina', 'Gențiana', - 'Georgeta', 'Georgia', 'Georgiana', 'Geta', 'Gherghina', 'Gianina', 'Gina', 'Giorgiana', 'Grațiana', 'Grațiela', - 'Henrieta', 'Heracleea', 'Hortensia', 'Iasmina', 'Ica', 'Ileana', 'Ilinca', 'Ilona', 'Ina', 'Ioana', 'Ioanina', - 'Iolanda', 'Ionela', 'Ionelia', 'Iosefina', 'Iridenta', 'Irina', 'Iris', 'Isabela', 'Iulia', 'Iuliana', - 'Iustina', - 'Ivona', 'Izabela', 'Jana', 'Janeta', 'Janina', 'Jasmina', 'Jeana', 'Julia', 'Julieta', 'Larisa', 'Laura', - 'Laurenția', 'Lavinia', 'Lăcrămioara', 'Leana', 'Lelia', 'Leontina', 'Leopoldina', 'Letiția', 'Lia', 'Liana', - 'Lidia', 'Ligia', 'Lili', 'Liliana', 'Lioara', 'Livia', 'Loredana', 'Lorelei', 'Lorena', 'Luana', 'Lucia', - 'Luciana', 'Lucreția', 'Ludmila', 'Ludovica', 'Luiza', 'Luminița', 'Magdalena', 'Maia', 'Malvina', 'Manuela', - 'Mara', 'Marcela', 'Marcheta', 'Marga', 'Margareta', 'Maria', 'Mariana', 'Maricica', 'Marilena', 'Marina', - 'Marinela', 'Marioara', 'Marta', 'Matilda', 'Mădălina', 'Mălina', 'Mărioara', 'Măriuca', 'Melania', 'Melina', - 'Mihaela', 'Milena', 'Mina', 'Minodora', 'Mioara', 'Mirabela', 'Mirela', 'Mirona', 'Miruna', 'Mona', 'Monalisa', - 'Monica', 'Nadia', 'Narcisa', 'Natalia', 'Natașa', 'Nicoleta', 'Niculina', 'Nidia', 'Noemi', 'Nora', 'Norica', - 'Oana', 'Octavia', 'Octaviana', 'Ofelia', 'Olga', 'Olimpia', 'Olivia', 'Ortansa', 'Otilia', 'Ozana', 'Pamela', - 'Paraschiva', 'Patricia', 'Paula', 'Paulica', 'Paulina', 'Petronela', 'Petruța', 'Pompilia', 'Profira', 'Rada', - 'Rafila', 'Raluca', 'Ramona', 'Rebeca', 'Renata', 'Rica', 'Roberta', 'Robertina', 'Rodica', 'Romanița', - 'Romina', - 'Roxana', 'Roxelana', 'Roza', 'Rozalia', 'Ruxanda', 'Ruxandra', 'Sabina', 'Sabrina', 'Safta', 'Salomea', - 'Sanda', - 'Saveta', 'Savina', 'Sânziana', 'Semenica', 'Severina', 'Sidonia', 'Silvana', 'Silvia', 'Silviana', 'Simina', - 'Simona', 'Smaranda', 'Sofia', 'Sonia', 'Sorana', 'Sorina', 'Speranța', 'Stana', 'Stanca', 'Stela', 'Steliana', - 'Steluța', 'Suzana', 'Svetlana', 'Ștefana', 'Ștefania', 'Tamara', 'Tania', 'Tatiana', 'Teea', 'Teodora', - 'Teodosia', - 'Teona', 'Tiberia', 'Timea', 'Tinca', 'Tincuța', 'Tudora', 'Tudorița', 'Tudosia', 'Valentina', 'Valeria', - 'Vanesa', - 'Varvara', 'Vasilica', 'Venera', 'Vera', 'Veronica', 'Veta', 'Vicenția', 'Victoria', 'Violeta', 'Viorela', - 'Viorica', 'Virginia', 'Viviana', 'Vlădelina', 'Voichița', 'Xenia', 'Zaharia', 'Zamfira', 'Zaraza', 'Zenobia', - 'Zenovia', 'Zina', 'Zoe') + "Ada", + "Adela", + "Adelaida", + "Adelina", + "Adina", + "Adriana", + "Agata", + "Aglaia", + "Agripina", + "Aida", + "Alberta", + "Albertina", + "Alexandra", + "Alexandrina", + "Alice", + "Alida", + "Alina", + "Alis", + "Alma", + "Amalia", + "Amanda", + "Amelia", + "Ana", + "Anabela", + "Anaida", + "Anamaria", + "Anastasia", + "Anca", + "Ancuța", + "Anda", + "Andra", + "Andrada", + "Andreea", + "Anemona", + "Aneta", + "Angela", + "Anghelina", + "Anica", + "Anișoara", + "Antoaneta", + "Antonela", + "Antonia", + "Anuța", + "Ariadna", + "Ariana", + "Arina", + "Aristița", + "Artemisa", + "Astrid", + "Atena", + "Augustina", + "Aura", + "Aurelia", + "Aureliana", + "Aurica", + "Aurora", + "Axenia", + "Beatrice", + "Betina", + "Bianca", + "Blanduzia", + "Bogdana", + "Brândușa", + "Camelia", + "Carina", + "Carla", + "Carmen", + "Carmina", + "Carolina", + "Casandra", + "Casiana", + "Caterina", + "Catinca", + "Catrina", + "Catrinel", + "Cătălina", + "Cecilia", + "Celia", + "Cerasela", + "Cezara", + "Cipriana", + "Clara", + "Clarisa", + "Claudia", + "Clementina", + "Cleopatra", + "Codrina", + "Codruța", + "Constanța", + "Constantina", + "Consuela", + "Coralia", + "Corina", + "Cornelia", + "Cosmina", + "Crenguța", + "Crina", + "Cristina", + "Daciana", + "Dafina", + "Daiana", + "Dalia", + "Dana", + "Daniela", + "Daria", + "Dariana", + "Delia", + "Demetra", + "Denisa", + "Despina", + "Diana", + "Dida", + "Didina", + "Dimitrina", + "Dina", + "Dochia", + "Doina", + "Domnica", + "Dora", + "Doriana", + "Dorina", + "Dorli", + "Draga", + "Dumitra", + "Dumitrana", + "Ecaterina", + "Eftimia", + "Elena", + "Eleonora", + "Eliana", + "Elisabeta", + "Elisaveta", + "Eliza", + "Elodia", + "Elvira", + "Emanuela", + "Emilia", + "Erica", + "Estera", + "Eufrosina", + "Eugenia", + "Eusebia", + "Eva", + "Evanghelina", + "Evelina", + "Fabia", + "Fabiana", + "Felicia", + "Filofteia", + "Fiona", + "Flavia", + "Floare", + "Floarea", + "Flora", + "Florența", + "Florentina", + "Floriana", + "Florica", + "Florina", + "Francesca", + "Frusina", + "Gabriela", + "Geanina", + "Gențiana", + "Georgeta", + "Georgia", + "Georgiana", + "Geta", + "Gherghina", + "Gianina", + "Gina", + "Giorgiana", + "Grațiana", + "Grațiela", + "Henrieta", + "Heracleea", + "Hortensia", + "Iasmina", + "Ica", + "Ileana", + "Ilinca", + "Ilona", + "Ina", + "Ioana", + "Ioanina", + "Iolanda", + "Ionela", + "Ionelia", + "Iosefina", + "Iridenta", + "Irina", + "Iris", + "Isabela", + "Iulia", + "Iuliana", + "Iustina", + "Ivona", + "Izabela", + "Jana", + "Janeta", + "Janina", + "Jasmina", + "Jeana", + "Julia", + "Julieta", + "Larisa", + "Laura", + "Laurenția", + "Lavinia", + "Lăcrămioara", + "Leana", + "Lelia", + "Leontina", + "Leopoldina", + "Letiția", + "Lia", + "Liana", + "Lidia", + "Ligia", + "Lili", + "Liliana", + "Lioara", + "Livia", + "Loredana", + "Lorelei", + "Lorena", + "Luana", + "Lucia", + "Luciana", + "Lucreția", + "Ludmila", + "Ludovica", + "Luiza", + "Luminița", + "Magdalena", + "Maia", + "Malvina", + "Manuela", + "Mara", + "Marcela", + "Marcheta", + "Marga", + "Margareta", + "Maria", + "Mariana", + "Maricica", + "Marilena", + "Marina", + "Marinela", + "Marioara", + "Marta", + "Matilda", + "Mădălina", + "Mălina", + "Mărioara", + "Măriuca", + "Melania", + "Melina", + "Mihaela", + "Milena", + "Mina", + "Minodora", + "Mioara", + "Mirabela", + "Mirela", + "Mirona", + "Miruna", + "Mona", + "Monalisa", + "Monica", + "Nadia", + "Narcisa", + "Natalia", + "Natașa", + "Nicoleta", + "Niculina", + "Nidia", + "Noemi", + "Nora", + "Norica", + "Oana", + "Octavia", + "Octaviana", + "Ofelia", + "Olga", + "Olimpia", + "Olivia", + "Ortansa", + "Otilia", + "Ozana", + "Pamela", + "Paraschiva", + "Patricia", + "Paula", + "Paulica", + "Paulina", + "Petronela", + "Petruța", + "Pompilia", + "Profira", + "Rada", + "Rafila", + "Raluca", + "Ramona", + "Rebeca", + "Renata", + "Rica", + "Roberta", + "Robertina", + "Rodica", + "Romanița", + "Romina", + "Roxana", + "Roxelana", + "Roza", + "Rozalia", + "Ruxanda", + "Ruxandra", + "Sabina", + "Sabrina", + "Safta", + "Salomea", + "Sanda", + "Saveta", + "Savina", + "Sânziana", + "Semenica", + "Severina", + "Sidonia", + "Silvana", + "Silvia", + "Silviana", + "Simina", + "Simona", + "Smaranda", + "Sofia", + "Sonia", + "Sorana", + "Sorina", + "Speranța", + "Stana", + "Stanca", + "Stela", + "Steliana", + "Steluța", + "Suzana", + "Svetlana", + "Ștefana", + "Ștefania", + "Tamara", + "Tania", + "Tatiana", + "Teea", + "Teodora", + "Teodosia", + "Teona", + "Tiberia", + "Timea", + "Tinca", + "Tincuța", + "Tudora", + "Tudorița", + "Tudosia", + "Valentina", + "Valeria", + "Vanesa", + "Varvara", + "Vasilica", + "Venera", + "Vera", + "Veronica", + "Veta", + "Vicenția", + "Victoria", + "Violeta", + "Viorela", + "Viorica", + "Virginia", + "Viviana", + "Vlădelina", + "Voichița", + "Xenia", + "Zaharia", + "Zamfira", + "Zaraza", + "Zenobia", + "Zenovia", + "Zina", + "Zoe", + ) first_names_male = ( - 'Achim', 'Adam', 'Adelin', 'Adi', 'Adonis', 'Adrian', 'Agnos', 'Albert', 'Aleodor', 'Alex', 'Alexandru', - 'Alexe', 'Alin', 'Alistar', 'Amedeu', 'Amza', 'Anatolie', 'Andrei', 'Andrian', 'Angel', 'Anghel', 'Antim', - 'Anton', - 'Antonie', 'Antoniu', 'Arian', 'Aristide', 'Arsenie', 'Augustin', 'Aurel', 'Aurelian', 'Aurică', 'Avram', - 'Axinte', - 'Barbu', 'Bartolomeu', 'Basarab', 'Bănel', 'Bebe', 'Beniamin', 'Benone', 'Bernard', 'Bogdan', 'Brăduț', 'Bucur', - 'Caius', 'Camil', 'Cantemir', 'Carol', 'Casian', 'Cazimir', 'Călin', 'Cătălin', 'Cedrin', 'Cezar', 'Ciprian', - 'Claudiu', 'Codin', 'Codrin', 'Codruț', 'Constantin', 'Cornel', 'Corneliu', 'Corvin', 'Cosmin', 'Costache', - 'Costel', 'Costin', 'Crin', 'Cristea', 'Cristian', 'Cristobal', 'Cristofor', 'Dacian', 'Damian', 'Dan', - 'Daniel', - 'Darius', 'David', 'Decebal', 'Denis', 'Dinu', 'Dominic', 'Dorel', 'Dorian', 'Dorin', 'Dorinel', 'Doru', - 'Dragoș', - 'Ducu', 'Dumitru', 'Edgar', 'Edmond', 'Eduard', 'Eftimie', 'Emanoil', 'Emanuel', 'Emanuil', 'Emil', 'Emilian', - 'Eremia', 'Eric', 'Ernest', 'Eugen', 'Eusebiu', 'Eustațiu', 'Fabian', 'Felix', 'Filip', 'Fiodor', 'Flaviu', - 'Florea', 'Florentin', 'Florian', 'Florin', 'Francisc', 'Frederic', 'Gabi', 'Gabriel', 'Gelu', 'George', - 'Georgel', - 'Georgian', 'Ghenadie', 'Gheorghe', 'Gheorghiță', 'Ghiță', 'Gică', 'Gicu', 'Giorgian', 'Grațian', 'Gregorian', - 'Grigore', 'Haralamb', 'Haralambie', 'Horațiu', 'Horea', 'Horia', 'Iacob', 'Iancu', 'Ianis', 'Ieremia', - 'Ilarie', - 'Ilarion', 'Ilie', 'Inocențiu', 'Ioan', 'Ion', 'Ionel', 'Ionică', 'Ionuț', 'Iosif', 'Irinel', 'Iulian', 'Iuliu', - 'Iurie', 'Iustin', 'Iustinian', 'Ivan', 'Jan', 'Jean', 'Jenel', 'Ladislau', 'Lascăr', 'Laurențiu', 'Laurian', - 'Lazăr', 'Leonard', 'Leontin', 'Leordean', 'Lică', 'Liviu', 'Lorin', 'Luca', 'Lucențiu', 'Lucian', 'Lucrețiu', - 'Ludovic', 'Manole', 'Marcel', 'Marcu', 'Marian', 'Marin', 'Marius', 'Martin', 'Matei', 'Maxim', 'Maximilian', - 'Mădălin', 'Mihai', 'Mihail', 'Mihnea', 'Mircea', 'Miron', 'Mitică', 'Mitruț', 'Mugur', 'Mugurel', 'Nae', - 'Narcis', - 'Nechifor', 'Nelu', 'Nichifor', 'Nicoară', 'Nicodim', 'Nicolae', 'Nicolaie', 'Nicu', 'Niculiță', 'Nicușor', - 'Nicuță', 'Norbert', 'Norman', 'Octav', 'Octavian', 'Octaviu', 'Olimpian', 'Olimpiu', 'Oliviu', 'Ovidiu', - 'Pamfil', - 'Panagachie', 'Panait', 'Paul', 'Pavel', 'Pătru', 'Petre', 'Petrică', 'Petrișor', 'Petru', 'Petruț', 'Pleșu', - 'Pompiliu', 'Radu', 'Rafael', 'Rareș', 'Raul', 'Răducu', 'Răzvan', 'Relu', 'Remus', 'Robert', 'Romeo', - 'Romulus', - 'Sabin', 'Sandu', 'Sandu', 'Sava', 'Sebastian', 'Sergiu', 'Sever', 'Severin', 'Silvian', 'Silviu', 'Simi', - 'Simion', - 'Sinică', 'Sorin', 'Stan', 'Stancu', 'Stelian', 'Șerban', 'Ștefan', 'Teodor', 'Teofil', 'Teohari', 'Theodor', - 'Tiberiu', 'Timotei', 'Titus', 'Todor', 'Toma', 'Traian', 'Tudor', 'Valentin', 'Valeriu', 'Valter', 'Vasile', - 'Vasilică', 'Veniamin', 'Vicențiu', 'Victor', 'Vincențiu', 'Viorel', 'Visarion', 'Vlad', 'Vladimir', 'Vlaicu', - 'Voicu', 'Zamfir', 'Zeno') + "Achim", + "Adam", + "Adelin", + "Adi", + "Adonis", + "Adrian", + "Agnos", + "Albert", + "Aleodor", + "Alex", + "Alexandru", + "Alexe", + "Alin", + "Alistar", + "Amedeu", + "Amza", + "Anatolie", + "Andrei", + "Andrian", + "Angel", + "Anghel", + "Antim", + "Anton", + "Antonie", + "Antoniu", + "Arian", + "Aristide", + "Arsenie", + "Augustin", + "Aurel", + "Aurelian", + "Aurică", + "Avram", + "Axinte", + "Barbu", + "Bartolomeu", + "Basarab", + "Bănel", + "Bebe", + "Beniamin", + "Benone", + "Bernard", + "Bogdan", + "Brăduț", + "Bucur", + "Caius", + "Camil", + "Cantemir", + "Carol", + "Casian", + "Cazimir", + "Călin", + "Cătălin", + "Cedrin", + "Cezar", + "Ciprian", + "Claudiu", + "Codin", + "Codrin", + "Codruț", + "Constantin", + "Cornel", + "Corneliu", + "Corvin", + "Cosmin", + "Costache", + "Costel", + "Costin", + "Crin", + "Cristea", + "Cristian", + "Cristobal", + "Cristofor", + "Dacian", + "Damian", + "Dan", + "Daniel", + "Darius", + "David", + "Decebal", + "Denis", + "Dinu", + "Dominic", + "Dorel", + "Dorian", + "Dorin", + "Dorinel", + "Doru", + "Dragoș", + "Ducu", + "Dumitru", + "Edgar", + "Edmond", + "Eduard", + "Eftimie", + "Emanoil", + "Emanuel", + "Emanuil", + "Emil", + "Emilian", + "Eremia", + "Eric", + "Ernest", + "Eugen", + "Eusebiu", + "Eustațiu", + "Fabian", + "Felix", + "Filip", + "Fiodor", + "Flaviu", + "Florea", + "Florentin", + "Florian", + "Florin", + "Francisc", + "Frederic", + "Gabi", + "Gabriel", + "Gelu", + "George", + "Georgel", + "Georgian", + "Ghenadie", + "Gheorghe", + "Gheorghiță", + "Ghiță", + "Gică", + "Gicu", + "Giorgian", + "Grațian", + "Gregorian", + "Grigore", + "Haralamb", + "Haralambie", + "Horațiu", + "Horea", + "Horia", + "Iacob", + "Iancu", + "Ianis", + "Ieremia", + "Ilarie", + "Ilarion", + "Ilie", + "Inocențiu", + "Ioan", + "Ion", + "Ionel", + "Ionică", + "Ionuț", + "Iosif", + "Irinel", + "Iulian", + "Iuliu", + "Iurie", + "Iustin", + "Iustinian", + "Ivan", + "Jan", + "Jean", + "Jenel", + "Ladislau", + "Lascăr", + "Laurențiu", + "Laurian", + "Lazăr", + "Leonard", + "Leontin", + "Leordean", + "Lică", + "Liviu", + "Lorin", + "Luca", + "Lucențiu", + "Lucian", + "Lucrețiu", + "Ludovic", + "Manole", + "Marcel", + "Marcu", + "Marian", + "Marin", + "Marius", + "Martin", + "Matei", + "Maxim", + "Maximilian", + "Mădălin", + "Mihai", + "Mihail", + "Mihnea", + "Mircea", + "Miron", + "Mitică", + "Mitruț", + "Mugur", + "Mugurel", + "Nae", + "Narcis", + "Nechifor", + "Nelu", + "Nichifor", + "Nicoară", + "Nicodim", + "Nicolae", + "Nicolaie", + "Nicu", + "Niculiță", + "Nicușor", + "Nicuță", + "Norbert", + "Norman", + "Octav", + "Octavian", + "Octaviu", + "Olimpian", + "Olimpiu", + "Oliviu", + "Ovidiu", + "Pamfil", + "Panagachie", + "Panait", + "Paul", + "Pavel", + "Pătru", + "Petre", + "Petrică", + "Petrișor", + "Petru", + "Petruț", + "Pleșu", + "Pompiliu", + "Radu", + "Rafael", + "Rareș", + "Raul", + "Răducu", + "Răzvan", + "Relu", + "Remus", + "Robert", + "Romeo", + "Romulus", + "Sabin", + "Sandu", + "Sandu", + "Sava", + "Sebastian", + "Sergiu", + "Sever", + "Severin", + "Silvian", + "Silviu", + "Simi", + "Simion", + "Sinică", + "Sorin", + "Stan", + "Stancu", + "Stelian", + "Șerban", + "Ștefan", + "Teodor", + "Teofil", + "Teohari", + "Theodor", + "Tiberiu", + "Timotei", + "Titus", + "Todor", + "Toma", + "Traian", + "Tudor", + "Valentin", + "Valeriu", + "Valter", + "Vasile", + "Vasilică", + "Veniamin", + "Vicențiu", + "Victor", + "Vincențiu", + "Viorel", + "Visarion", + "Vlad", + "Vladimir", + "Vlaicu", + "Voicu", + "Zamfir", + "Zeno", + ) first_names = first_names_female + first_names_male # sources: https://ro.wikipedia.org/wiki/Lista_celor_mai_uzuale_nume_de_familie#Rom%C3%A2nia last_names = ( - 'Aanei', 'Ababei', 'Albu', 'Ardelean', 'Barbu', 'Cristea', 'Diaconescu', 'Diaconu', 'Dima', 'Dinu', 'Dobre', - 'Dochioiu', 'Dumitrescu', 'Eftimie', 'Ene', 'Florea', 'Georgescu', 'Gheorghiu', 'Ionescu', 'Ioniță', - 'Manole', 'Marin', 'Mazilescu', 'Mocanu', 'Nemeș', 'Nistor', 'Nistor', 'Niță', 'Oprea', 'Pop', - 'Popa', 'Popescu', 'Preda', 'Pușcașu', 'Stan', 'Stancu', 'Stoica', 'Stănescu', 'Suciu', 'Tabacu', 'Toma', - 'Tomescu', 'Tudor', 'Voinea') + "Aanei", + "Ababei", + "Albu", + "Ardelean", + "Barbu", + "Cristea", + "Diaconescu", + "Diaconu", + "Dima", + "Dinu", + "Dobre", + "Dochioiu", + "Dumitrescu", + "Eftimie", + "Ene", + "Florea", + "Georgescu", + "Gheorghiu", + "Ionescu", + "Ioniță", + "Manole", + "Marin", + "Mazilescu", + "Mocanu", + "Nemeș", + "Nistor", + "Nistor", + "Niță", + "Oprea", + "Pop", + "Popa", + "Popescu", + "Preda", + "Pușcașu", + "Stan", + "Stancu", + "Stoica", + "Stănescu", + "Suciu", + "Tabacu", + "Toma", + "Tomescu", + "Tudor", + "Voinea", + ) diff --git a/faker/providers/person/ru_RU/__init__.py b/faker/providers/person/ru_RU/__init__.py index 2234c86dbb..d740d22cd7 100644 --- a/faker/providers/person/ru_RU/__init__.py +++ b/faker/providers/person/ru_RU/__init__.py @@ -1,319 +1,1391 @@ from collections import OrderedDict +from typing import Dict, Sequence from .. import Provider as PersonProvider # See transliteration table https://en.wikipedia.org/wiki/Romanization_of_Russian#Transliteration_table -def translit(text): - translit_dict = { - 'а': 'a', 'б': 'b', 'в': 'v', 'г': 'g', 'д': 'd', 'е': 'e', 'ё': 'e', 'ж': 'zh', 'з': 'z', 'и': 'i', 'й': 'y', - 'к': 'k', 'л': 'l', 'м': 'm', 'н': 'n', 'о': 'o', 'п': 'p', 'р': 'r', 'с': 's', 'т': 't', 'у': 'u', 'ф': 'f', - 'х': 'kh', 'ц': 'ts', 'ч': 'ch', 'ш': 'sh', 'щ': 'shch', 'ъ': '', 'ы': 'y', 'ь': '', 'э': 'e', 'ю': 'yu', - 'я': 'ya', 'А': 'A', 'Б': 'B', 'В': 'V', 'Г': 'G', 'Д': 'D', 'Е': 'Ye', 'Ë': 'E', 'Ж': 'Zh', 'З': 'Z', 'И': 'I', - 'Й': 'Y', 'К': 'K', 'Л': 'L', 'М': 'M', 'Н': 'N', 'О': 'O', 'П': 'P', 'Р': 'R', 'С': 'S', 'Т': 'T', 'У': 'U', - 'Ф': 'F', 'Х': 'Kh', 'Ц': 'Ts', 'Ч': 'Ch', 'Ш': 'Sh', 'Щ': 'Shch', 'Ы': 'Y', 'Э': 'E', 'Ю': 'Yu', 'Я': 'Ya', - ' ': ' ', '-': '-', "'": "'", - } +def translit(text: str) -> str: + translit_dict: Dict[str, str] = { + "а": "a", + "б": "b", + "в": "v", + "г": "g", + "д": "d", + "е": "e", + "ё": "e", + "ж": "zh", + "з": "z", + "и": "i", + "й": "y", + "к": "k", + "л": "l", + "м": "m", + "н": "n", + "о": "o", + "п": "p", + "р": "r", + "с": "s", + "т": "t", + "у": "u", + "ф": "f", + "х": "kh", + "ц": "ts", + "ч": "ch", + "ш": "sh", + "щ": "shch", + "ъ": "", + "ы": "y", + "ь": "", + "э": "e", + "ю": "yu", + "я": "ya", + "А": "A", + "Б": "B", + "В": "V", + "Г": "G", + "Д": "D", + "Е": "Ye", + "Ë": "E", + "Ж": "Zh", + "З": "Z", + "И": "I", + "Й": "Y", + "К": "K", + "Л": "L", + "М": "M", + "Н": "N", + "О": "O", + "П": "P", + "Р": "R", + "С": "S", + "Т": "T", + "У": "U", + "Ф": "F", + "Х": "Kh", + "Ц": "Ts", + "Ч": "Ch", + "Ш": "Sh", + "Щ": "Shch", + "Ы": "Y", + "Э": "E", + "Ю": "Yu", + "Я": "Ya", + } for letter in text: - text = text.replace(letter, translit_dict[letter]) + if letter.isalpha(): + text = text.replace(letter, translit_dict[letter]) return text class Provider(PersonProvider): - formats_male = OrderedDict(( - ('{{last_name_male}} {{first_name_male}} {{middle_name_male}}', 0.49), - ('{{first_name_male}} {{middle_name_male}} {{last_name_male}}', 0.49), - ('{{prefix_male}} {{last_name_male}} {{first_name_male}} {{middle_name_male}}', 0.02), - )) + formats_male: Dict[str, float] = OrderedDict( + ( + ("{{last_name_male}} {{first_name_male}} {{middle_name_male}}", 0.49), + ("{{first_name_male}} {{middle_name_male}} {{last_name_male}}", 0.49), + ( + "{{prefix_male}} {{last_name_male}} {{first_name_male}} {{middle_name_male}}", + 0.02, + ), + ) + ) - formats_female = OrderedDict(( - ('{{last_name_female}} {{first_name_female}} {{middle_name_female}}', 0.49), - ('{{first_name_female}} {{middle_name_female}} {{last_name_female}}', 0.49), - ('{{prefix_female}} {{last_name_female}} {{first_name_female}} {{middle_name_female}}', 0.02), - )) + formats_female: Dict[str, float] = OrderedDict( + ( + ("{{last_name_female}} {{first_name_female}} {{middle_name_female}}", 0.49), + ("{{first_name_female}} {{middle_name_female}} {{last_name_female}}", 0.49), + ( + "{{prefix_female}} {{last_name_female}} {{first_name_female}} {{middle_name_female}}", + 0.02, + ), + ) + ) # Using random_element's dictionary weighting means that the # formats = formats_male + formats_female # has to be replaced with something dict and python 2.x compatible - formats = formats_male.copy() + formats: Dict[str, float] = formats_male.copy() formats.update(formats_female) first_names_male = ( - 'Август', 'Авдей', 'Аверкий', 'Аверьян', 'Авксентий', 'Автоном', - 'Агап', 'Агафон', 'Аггей', 'Адам', 'Адриан', 'Азарий', - 'Аким', 'Александр', 'Алексей', 'Амвросий', 'Амос', 'Ананий', - 'Анатолий', 'Андрей', 'Андрон', 'Андроник', 'Аникей', 'Аникита', - 'Анисим', 'Антип', 'Антонин', 'Аполлинарий', 'Аполлон', 'Арефий', - 'Аристарх', 'Аркадий', 'Арсений', 'Артемий', 'Артем', 'Архип', - 'Аскольд', 'Афанасий', 'Афиноген', 'Бажен', 'Богдан', 'Болеслав', - 'Борис', 'Борислав', 'Боян', 'Бронислав', 'Будимир', 'Вадим', - 'Валентин', 'Валерий', 'Валерьян', 'Варлаам', 'Варфоломей', 'Василий', - 'Вацлав', 'Велимир', 'Венедикт', 'Вениамин', 'Викентий', 'Виктор', - 'Викторин', 'Виссарион', 'Виталий', 'Владилен', 'Владлен', 'Владимир', - 'Владислав', 'Влас', 'Всеволод', 'Всемил', 'Всеслав', 'Вышеслав', - 'Вячеслав', 'Гаврила', 'Галактион', 'Гедеон', 'Геннадий', 'Георгий', - 'Герасим', 'Герман', 'Глеб', 'Гордей', 'Гостомысл', 'Гремислав', - 'Григорий', 'Гурий', 'Давыд', 'Данила', 'Дементий', 'Демид', - 'Демьян', 'Денис', 'Дмитрий', 'Добромысл', 'Доброслав', 'Дорофей', - 'Евгений', 'Евграф', 'Евдоким', 'Евлампий', 'Евсей', 'Евстафий', - 'Евстигней', 'Егор', 'Елизар', 'Елисей', 'Емельян', 'Епифан', - 'Еремей', 'Ермил', 'Ермолай', 'Ерофей', 'Ефим', 'Ефрем', - 'Захар', 'Зиновий', 'Зосима', 'Иван', 'Игнатий', 'Игорь', - 'Измаил', 'Изот', 'Изяслав', 'Иларион', 'Илья', 'Иннокентий', - 'Иосиф', 'Ипат', 'Ипатий', 'Ипполит', 'Ираклий', 'Исай', - 'Исидор', 'Казимир', 'Каллистрат', 'Капитон', 'Карл', 'Карп', - 'Касьян', 'Ким', 'Кир', 'Кирилл', 'Клавдий', 'Климент', - 'Кондрат', 'Кондратий', 'Конон', 'Константин', 'Корнил', 'Кузьма', - 'Куприян', 'Лавр', 'Лаврентий', 'Ладимир', 'Ладислав', 'Лазарь', - 'Лев', 'Леон', 'Леонид', 'Леонтий', 'Лонгин', 'Лука', - 'Лукьян', 'Лучезар', 'Любим', 'Любомир', 'Любосмысл', 'Макар', - 'Максим', 'Максимильян', 'Мариан', 'Марк', 'Мартын', 'Мартьян', - 'Матвей', 'Мефодий', 'Мечислав', 'Милан', 'Милен', 'Милий', - 'Милован', 'Мина', 'Мир', 'Мирон', 'Мирослав', 'Митофан', - 'Михаил', 'Михей', 'Модест', 'Моисей', 'Мокей', 'Мстислав', - 'Назар', 'Наркис', 'Натан', 'Наум', 'Нестор', 'Никандр', - 'Никанор', 'Никита', 'Никифор', 'Никодим', 'Николай', 'Никон', - 'Нифонт', 'Олег', 'Олимпий', 'Онуфрий', 'Орест', 'Осип', - 'Остап', 'Остромир', 'Павел', 'Панкратий', 'Панкрат', 'Пантелеймон', - 'Панфил', 'Парамон', 'Парфен', 'Пахом', 'Петр', 'Пимен', - 'Платон', 'Поликарп', 'Порфирий', 'Потап', 'Пров', 'Прокл', - 'Прокофий', 'Прохор', 'Радим', 'Радислав', 'Радован', 'Ратибор', - 'Ратмир', 'Родион', 'Роман', 'Ростислав', 'Рубен', 'Руслан', - 'Рюрик', 'Савва', 'Савватий', 'Савелий', 'Самсон', 'Самуил', - 'Светозар', 'Святополк', 'Святослав', 'Севастьян', 'Селиван', 'Селиверст', - 'Семен', 'Серафим', 'Сергей', 'Сигизмунд', 'Сидор', 'Сила', - 'Силантий', 'Сильвестр', 'Симон', 'Сократ', 'Соломон', 'Софон', - 'Софрон', 'Спартак', 'Спиридон', 'Станимир', 'Станислав', 'Степан', - 'Стоян', 'Тарас', 'Твердислав', 'Творимир', 'Терентий', 'Тимофей', - 'Тимур', 'Тит', 'Тихон', 'Трифон', 'Трофим', 'Ульян', - 'Устин', 'Фадей', 'Федор', 'Федосий', 'Федот', 'Феликс', - 'Феоктист', 'Феофан', 'Ферапонт', 'Филарет', 'Филимон', 'Филипп', - 'Фирс', 'Флорентин', 'Фока', 'Фома', 'Фортунат', 'Фотий', - 'Фрол', 'Харитон', 'Харлампий', 'Христофор', 'Чеслав', 'Эдуард', - 'Эммануил', 'Эмиль', 'Эраст', 'Эрнест', 'Эрнст', 'Ювеналий', - 'Юлиан', 'Юлий', 'Юрий', 'Яков', 'Ян', 'Якуб', - 'Януарий', 'Ярополк', 'Ярослав', + "Август", + "Авдей", + "Аверкий", + "Аверьян", + "Авксентий", + "Автоном", + "Агап", + "Агафон", + "Аггей", + "Адам", + "Адриан", + "Азарий", + "Аким", + "Александр", + "Алексей", + "Амвросий", + "Амос", + "Ананий", + "Анатолий", + "Андрей", + "Андрон", + "Андроник", + "Аникей", + "Аникита", + "Анисим", + "Антип", + "Антонин", + "Аполлинарий", + "Аполлон", + "Арефий", + "Аристарх", + "Аркадий", + "Арсений", + "Артемий", + "Артем", + "Архип", + "Аскольд", + "Афанасий", + "Афиноген", + "Бажен", + "Богдан", + "Болеслав", + "Борис", + "Борислав", + "Боян", + "Бронислав", + "Будимир", + "Вадим", + "Валентин", + "Валерий", + "Валерьян", + "Варлаам", + "Варфоломей", + "Василий", + "Вацлав", + "Велимир", + "Венедикт", + "Вениамин", + "Викентий", + "Виктор", + "Викторин", + "Виссарион", + "Виталий", + "Владилен", + "Владлен", + "Владимир", + "Владислав", + "Влас", + "Всеволод", + "Всемил", + "Всеслав", + "Вышеслав", + "Вячеслав", + "Гаврила", + "Галактион", + "Гедеон", + "Геннадий", + "Георгий", + "Герасим", + "Герман", + "Глеб", + "Гордей", + "Гостомысл", + "Гремислав", + "Григорий", + "Гурий", + "Давыд", + "Данила", + "Дементий", + "Демид", + "Демьян", + "Денис", + "Дмитрий", + "Добромысл", + "Доброслав", + "Дорофей", + "Евгений", + "Евграф", + "Евдоким", + "Евлампий", + "Евсей", + "Евстафий", + "Евстигней", + "Егор", + "Елизар", + "Елисей", + "Емельян", + "Епифан", + "Еремей", + "Ермил", + "Ермолай", + "Ерофей", + "Ефим", + "Ефрем", + "Захар", + "Зиновий", + "Зосима", + "Иван", + "Игнатий", + "Игорь", + "Измаил", + "Изот", + "Изяслав", + "Иларион", + "Илья", + "Иннокентий", + "Иосиф", + "Ипат", + "Ипатий", + "Ипполит", + "Ираклий", + "Исай", + "Исидор", + "Казимир", + "Каллистрат", + "Капитон", + "Карл", + "Карп", + "Касьян", + "Ким", + "Кир", + "Кирилл", + "Клавдий", + "Климент", + "Кондрат", + "Кондратий", + "Конон", + "Константин", + "Корнил", + "Кузьма", + "Куприян", + "Лавр", + "Лаврентий", + "Ладимир", + "Ладислав", + "Лазарь", + "Лев", + "Леон", + "Леонид", + "Леонтий", + "Лонгин", + "Лука", + "Лукьян", + "Лучезар", + "Любим", + "Любомир", + "Любосмысл", + "Макар", + "Максим", + "Максимильян", + "Мариан", + "Марк", + "Мартын", + "Мартьян", + "Матвей", + "Мефодий", + "Мечислав", + "Милан", + "Милен", + "Милий", + "Милован", + "Мина", + "Мир", + "Мирон", + "Мирослав", + "Митофан", + "Михаил", + "Михей", + "Модест", + "Моисей", + "Мокей", + "Мстислав", + "Назар", + "Наркис", + "Натан", + "Наум", + "Нестор", + "Никандр", + "Никанор", + "Никита", + "Никифор", + "Никодим", + "Николай", + "Никон", + "Нифонт", + "Олег", + "Олимпий", + "Онуфрий", + "Орест", + "Осип", + "Остап", + "Остромир", + "Павел", + "Панкратий", + "Панкрат", + "Пантелеймон", + "Панфил", + "Парамон", + "Парфен", + "Пахом", + "Петр", + "Пимен", + "Платон", + "Поликарп", + "Порфирий", + "Потап", + "Пров", + "Прокл", + "Прокофий", + "Прохор", + "Радим", + "Радислав", + "Радован", + "Ратибор", + "Ратмир", + "Родион", + "Роман", + "Ростислав", + "Рубен", + "Руслан", + "Рюрик", + "Савва", + "Савватий", + "Савелий", + "Самсон", + "Самуил", + "Светозар", + "Святополк", + "Святослав", + "Севастьян", + "Селиван", + "Селиверст", + "Семен", + "Серафим", + "Сергей", + "Сигизмунд", + "Сидор", + "Сила", + "Силантий", + "Сильвестр", + "Симон", + "Сократ", + "Соломон", + "Софон", + "Софрон", + "Спартак", + "Спиридон", + "Станимир", + "Станислав", + "Степан", + "Стоян", + "Тарас", + "Твердислав", + "Творимир", + "Терентий", + "Тимофей", + "Тимур", + "Тит", + "Тихон", + "Трифон", + "Трофим", + "Ульян", + "Устин", + "Фадей", + "Федор", + "Федосий", + "Федот", + "Феликс", + "Феоктист", + "Феофан", + "Ферапонт", + "Филарет", + "Филимон", + "Филипп", + "Фирс", + "Флорентин", + "Фока", + "Фома", + "Фортунат", + "Фотий", + "Фрол", + "Харитон", + "Харлампий", + "Христофор", + "Чеслав", + "Эдуард", + "Эммануил", + "Эмиль", + "Эраст", + "Эрнест", + "Эрнст", + "Ювеналий", + "Юлиан", + "Юлий", + "Юрий", + "Яков", + "Ян", + "Якуб", + "Януарий", + "Ярополк", + "Ярослав", ) first_names_female = ( - 'Агата', 'Агафья', 'Акулина', 'Алевтина', 'Александра', 'Алина', - 'Алла', 'Анастасия', 'Ангелина', 'Анжела', 'Анжелика', 'Анна', - 'Антонина', 'Валентина', 'Валерия', 'Варвара', 'Василиса', 'Вера', - 'Вероника', 'Виктория', 'Галина', 'Глафира', 'Дарья', 'Евгения', - 'Евдокия', 'Евпраксия', 'Евфросиния', 'Екатерина', 'Елена', 'Елизавета', - 'Жанна', 'Зинаида', 'Зоя', 'Иванна', 'Ираида', 'Ирина', - 'Ия', 'Кира', 'Клавдия', 'Ксения', 'Лариса', 'Лидия', - 'Лора', 'Лукия', 'Любовь', 'Людмила', 'Майя', 'Маргарита', - 'Марина', 'Мария', 'Марфа', 'Милица', 'Надежда', 'Наина', - 'Наталья', 'Нина', 'Нинель', 'Нонна', 'Оксана', 'Октябрина', - 'Олимпиада', 'Ольга', 'Пелагея', 'Полина', 'Прасковья', 'Раиса', - 'Регина', 'Светлана', 'Синклитикия', 'София', 'Таисия', 'Тамара', - 'Татьяна', 'Ульяна', 'Фаина', 'Феврония', 'Фёкла', 'Элеонора', 'Эмилия', 'Юлия', + "Агата", + "Агафья", + "Акулина", + "Алевтина", + "Александра", + "Алина", + "Алла", + "Анастасия", + "Ангелина", + "Анжела", + "Анжелика", + "Анна", + "Антонина", + "Валентина", + "Валерия", + "Варвара", + "Василиса", + "Вера", + "Вероника", + "Виктория", + "Галина", + "Глафира", + "Дарья", + "Евгения", + "Евдокия", + "Евпраксия", + "Евфросиния", + "Екатерина", + "Елена", + "Елизавета", + "Жанна", + "Зинаида", + "Зоя", + "Иванна", + "Ираида", + "Ирина", + "Ия", + "Кира", + "Клавдия", + "Ксения", + "Лариса", + "Лидия", + "Лора", + "Лукия", + "Любовь", + "Людмила", + "Майя", + "Маргарита", + "Марина", + "Мария", + "Марфа", + "Милица", + "Надежда", + "Наина", + "Наталья", + "Нина", + "Нинель", + "Нонна", + "Оксана", + "Октябрина", + "Олимпиада", + "Ольга", + "Пелагея", + "Полина", + "Прасковья", + "Раиса", + "Регина", + "Светлана", + "Синклитикия", + "София", + "Таисия", + "Тамара", + "Татьяна", + "Ульяна", + "Фаина", + "Феврония", + "Фёкла", + "Элеонора", + "Эмилия", + "Юлия", ) first_names = first_names_male + first_names_female last_names_male = ( - 'Смирнов', 'Иванов', 'Кузнецов', 'Попов', 'Соколов', - 'Лебедев', 'Козлов', 'Новиков', 'Морозов', 'Петров', - 'Волков', 'Соловьев', 'Васильев', 'Зайцев', 'Павлов', - 'Семенов', 'Голубев', 'Виноградов', 'Богданов', 'Воробьев', - 'Федоров', 'Михайлов', 'Беляев', 'Тарасов', 'Белов', - 'Комаров', 'Орлов', 'Киселев', 'Макаров', 'Андреев', - 'Ковалев', 'Ильин', 'Гусев', 'Титов', 'Кузьмин', - 'Кудрявцев', 'Баранов', 'Куликов', 'Алексеев', 'Степанов', - 'Яковлев', 'Сорокин', 'Сергеев', 'Романов', 'Захаров', - 'Борисов', 'Королев', 'Герасимов', 'Пономарев', 'Григорьев', - 'Лазарев', 'Медведев', 'Ершов', 'Никитин', 'Соболев', - 'Рябов', 'Поляков', 'Цветков', 'Данилов', 'Жуков', - 'Фролов', 'Журавлев', 'Николаев', 'Крылов', 'Максимов', - 'Сидоров', 'Осипов', 'Белоусов', 'Федотов', 'Дорофеев', - 'Егоров', 'Матвеев', 'Бобров', 'Дмитриев', 'Калинин', - 'Анисимов', 'Петухов', 'Антонов', 'Тимофеев', 'Никифоров', - 'Веселов', 'Филиппов', 'Марков', 'Большаков', 'Суханов', - 'Миронов', 'Ширяев', 'Александров', 'Коновалов', 'Шестаков', - 'Казаков', 'Ефимов', 'Денисов', 'Громов', 'Фомин', - 'Давыдов', 'Мельников', 'Щербаков', 'Блинов', 'Колесников', - 'Карпов', 'Афанасьев', 'Власов', 'Маслов', 'Исаков', - 'Тихонов', 'Аксенов', 'Гаврилов', 'Родионов', 'Котов', - 'Горбунов', 'Кудряшов', 'Быков', 'Зуев', 'Третьяков', - 'Савельев', 'Панов', 'Рыбаков', 'Суворов', 'Абрамов', - 'Воронов', 'Мухин', 'Архипов', 'Трофимов', 'Мартынов', - 'Емельянов', 'Горшков', 'Чернов', 'Овчинников', 'Селезнев', - 'Панфилов', 'Копылов', 'Михеев', 'Галкин', 'Назаров', - 'Лобанов', 'Лукин', 'Беляков', 'Потапов', 'Некрасов', - 'Хохлов', 'Жданов', 'Наумов', 'Шилов', 'Воронцов', - 'Ермаков', 'Дроздов', 'Игнатьев', 'Савин', 'Логинов', - 'Сафонов', 'Капустин', 'Кириллов', 'Моисеев', 'Елисеев', - 'Кошелев', 'Костин', 'Горбачев', 'Орехов', 'Ефремов', - 'Исаев', 'Евдокимов', 'Калашников', 'Кабанов', 'Носков', - 'Юдин', 'Кулагин', 'Лапин', 'Прохоров', 'Нестеров', - 'Харитонов', 'Агафонов', 'Муравьев', 'Ларионов', 'Федосеев', - 'Зимин', 'Пахомов', 'Шубин', 'Игнатов', 'Филатов', - 'Крюков', 'Рогов', 'Кулаков', 'Терентьев', 'Молчанов', - 'Владимиров', 'Артемьев', 'Гурьев', 'Зиновьев', 'Гришин', - 'Кононов', 'Дементьев', 'Ситников', 'Симонов', 'Мишин', - 'Фадеев', 'Комиссаров', 'Мамонтов', 'Носов', 'Гуляев', - 'Шаров', 'Устинов', 'Вишняков', 'Евсеев', 'Лаврентьев', - 'Брагин', 'Константинов', 'Корнилов', 'Авдеев', 'Зыков', - 'Бирюков', 'Шарапов', 'Никонов', 'Щукин', 'Дьячков', - 'Одинцов', 'Сазонов', 'Якушев', 'Красильников', 'Гордеев', - 'Самойлов', 'Князев', 'Беспалов', 'Уваров', 'Шашков', - 'Бобылев', 'Доронин', 'Белозеров', 'Рожков', 'Самсонов', - 'Мясников', 'Лихачев', 'Буров', 'Сысоев', 'Фомичев', - 'Русаков', 'Стрелков', 'Гущин', 'Тетерин', 'Колобов', - 'Субботин', 'Фокин', 'Блохин', 'Селиверстов', 'Пестов', - 'Кондратьев', 'Силин', 'Меркушев', 'Лыткин', 'Туров', + "Смирнов", + "Иванов", + "Кузнецов", + "Попов", + "Соколов", + "Лебедев", + "Козлов", + "Новиков", + "Морозов", + "Петров", + "Волков", + "Соловьев", + "Васильев", + "Зайцев", + "Павлов", + "Семенов", + "Голубев", + "Виноградов", + "Богданов", + "Воробьев", + "Федоров", + "Михайлов", + "Беляев", + "Тарасов", + "Белов", + "Комаров", + "Орлов", + "Киселев", + "Макаров", + "Андреев", + "Ковалев", + "Ильин", + "Гусев", + "Титов", + "Кузьмин", + "Кудрявцев", + "Баранов", + "Куликов", + "Алексеев", + "Степанов", + "Яковлев", + "Сорокин", + "Сергеев", + "Романов", + "Захаров", + "Борисов", + "Королев", + "Герасимов", + "Пономарев", + "Григорьев", + "Лазарев", + "Медведев", + "Ершов", + "Никитин", + "Соболев", + "Рябов", + "Поляков", + "Цветков", + "Данилов", + "Жуков", + "Фролов", + "Журавлев", + "Николаев", + "Крылов", + "Максимов", + "Сидоров", + "Осипов", + "Белоусов", + "Федотов", + "Дорофеев", + "Егоров", + "Матвеев", + "Бобров", + "Дмитриев", + "Калинин", + "Анисимов", + "Петухов", + "Антонов", + "Тимофеев", + "Никифоров", + "Веселов", + "Филиппов", + "Марков", + "Большаков", + "Суханов", + "Миронов", + "Ширяев", + "Александров", + "Коновалов", + "Шестаков", + "Казаков", + "Ефимов", + "Денисов", + "Громов", + "Фомин", + "Давыдов", + "Мельников", + "Щербаков", + "Блинов", + "Колесников", + "Карпов", + "Афанасьев", + "Власов", + "Маслов", + "Исаков", + "Тихонов", + "Аксенов", + "Гаврилов", + "Родионов", + "Котов", + "Горбунов", + "Кудряшов", + "Быков", + "Зуев", + "Третьяков", + "Савельев", + "Панов", + "Рыбаков", + "Суворов", + "Абрамов", + "Воронов", + "Мухин", + "Архипов", + "Трофимов", + "Мартынов", + "Емельянов", + "Горшков", + "Чернов", + "Овчинников", + "Селезнев", + "Панфилов", + "Копылов", + "Михеев", + "Галкин", + "Назаров", + "Лобанов", + "Лукин", + "Беляков", + "Потапов", + "Некрасов", + "Хохлов", + "Жданов", + "Наумов", + "Шилов", + "Воронцов", + "Ермаков", + "Дроздов", + "Игнатьев", + "Савин", + "Логинов", + "Сафонов", + "Капустин", + "Кириллов", + "Моисеев", + "Елисеев", + "Кошелев", + "Костин", + "Горбачев", + "Орехов", + "Ефремов", + "Исаев", + "Евдокимов", + "Калашников", + "Кабанов", + "Носков", + "Юдин", + "Кулагин", + "Лапин", + "Прохоров", + "Нестеров", + "Харитонов", + "Агафонов", + "Муравьев", + "Ларионов", + "Федосеев", + "Зимин", + "Пахомов", + "Шубин", + "Игнатов", + "Филатов", + "Крюков", + "Рогов", + "Кулаков", + "Терентьев", + "Молчанов", + "Владимиров", + "Артемьев", + "Гурьев", + "Зиновьев", + "Гришин", + "Кононов", + "Дементьев", + "Ситников", + "Симонов", + "Мишин", + "Фадеев", + "Комиссаров", + "Мамонтов", + "Носов", + "Гуляев", + "Шаров", + "Устинов", + "Вишняков", + "Евсеев", + "Лаврентьев", + "Брагин", + "Константинов", + "Корнилов", + "Авдеев", + "Зыков", + "Бирюков", + "Шарапов", + "Никонов", + "Щукин", + "Дьячков", + "Одинцов", + "Сазонов", + "Якушев", + "Красильников", + "Гордеев", + "Самойлов", + "Князев", + "Беспалов", + "Уваров", + "Шашков", + "Бобылев", + "Доронин", + "Белозеров", + "Рожков", + "Самсонов", + "Мясников", + "Лихачев", + "Буров", + "Сысоев", + "Фомичев", + "Русаков", + "Стрелков", + "Гущин", + "Тетерин", + "Колобов", + "Субботин", + "Фокин", + "Блохин", + "Селиверстов", + "Пестов", + "Кондратьев", + "Силин", + "Меркушев", + "Лыткин", + "Туров", ) last_names_female = ( - 'Смирнова', 'Иванова', 'Кузнецова', 'Попова', 'Соколова', - 'Лебедева', 'Козлова', 'Новикова', 'Морозова', 'Петрова', 'Волкова', - 'Соловьева', 'Васильева', 'Зайцева', 'Павлова', 'Семенова', - 'Голубева', 'Виноградова', 'Богданова', 'Воробьева', 'Федорова', - 'Михайлова', 'Беляева', 'Тарасова', 'Белова', 'Комарова', 'Орлова', - 'Киселева', 'Макарова', 'Андреева', 'Ковалева', 'Ильина', 'Гусева', - 'Титова', 'Кузьмина', 'Кудрявцева', 'Баранова', 'Куликова', - 'Алексеева', 'Степанова', 'Яковлева', 'Сорокина', 'Сергеева', - 'Романова', 'Захарова', 'Борисова', 'Королева', 'Герасимова', - 'Пономарева', 'Григорьева', 'Лазарева', 'Медведева', 'Ершова', - 'Никитина', 'Соболева', 'Рябова', 'Полякова', 'Цветкова', 'Данилова', - 'Жукова', 'Фролова', 'Журавлева', 'Николаева', 'Крылова', 'Максимова', - 'Сидорова', 'Осипова', 'Белоусова', 'Федотова', 'Дорофеева', - 'Егорова', 'Матвеева', 'Боброва', 'Дмитриева', 'Калинина', - 'Анисимова', 'Петухова', 'Антонова', 'Тимофеева', 'Никифорова', - 'Веселова', 'Филиппова', 'Маркова', 'Большакова', 'Суханова', - 'Миронова', 'Ширяева', 'Александрова', 'Коновалова', 'Шестакова', - 'Казакова', 'Ефимова', 'Денисова', 'Громова', 'Фомина', 'Давыдова', - 'Мельникова', 'Щербакова', 'Блинова', 'Колесникова', 'Карпова', - 'Афанасьева', 'Власова', 'Маслова', 'Исакова', 'Тихонова', 'Аксенова', - 'Гаврилова', 'Родионова', 'Котова', 'Горбунова', 'Кудряшова', - 'Быкова', 'Зуева', 'Третьякова', 'Савельева', 'Панова', 'Рыбакова', - 'Суворова', 'Абрамова', 'Воронова', 'Мухина', 'Архипова', 'Трофимова', - 'Мартынова', 'Емельянова', 'Горшкова', 'Чернова', 'Овчинникова', - 'Селезнева', 'Панфилова', 'Копылова', 'Михеева', 'Галкина', - 'Назарова', 'Лобанова', 'Лукина', 'Белякова', 'Потапова', 'Некрасова', - 'Хохлова', 'Жданова', 'Наумова', 'Шилова', 'Воронцова', 'Ермакова', - 'Дроздова', 'Игнатьева', 'Савина', 'Логинова', 'Сафонова', - 'Капустина', 'Кириллова', 'Моисеева', 'Елисеева', 'Кошелева', - 'Костина', 'Горбачева', 'Орехова', 'Ефремова', 'Исаева', 'Евдокимова', - 'Калашникова', 'Кабанова', 'Носкова', 'Юдина', 'Кулагина', 'Лапина', - 'Прохорова', 'Нестерова', 'Харитонова', 'Агафонова', 'Муравьева', - 'Ларионова', 'Федосеева', 'Зимина', 'Пахомова', 'Шубина', 'Игнатова', - 'Филатова', 'Крюкова', 'Рогова', 'Кулакова', 'Терентьева', - 'Молчанова', 'Владимирова', 'Артемьева', 'Гурьева', 'Зиновьева', - 'Гришина', 'Кононова', 'Дементьева', 'Ситникова', 'Симонова', - 'Мишина', 'Фадеева', 'Комиссарова', 'Мамонтова', 'Носова', 'Гуляева', - 'Шарова', 'Устинова', 'Вишнякова', 'Евсеева', 'Лаврентьева', - 'Брагина', 'Константинова', 'Корнилова', 'Авдеева', 'Зыкова', - 'Бирюкова', 'Шарапова', 'Никонова', 'Щукина', 'Дьячкова', 'Одинцова', - 'Сазонова', 'Якушева', 'Красильникова', 'Гордеева', 'Самойлова', - 'Князева', 'Беспалова', 'Уварова', 'Шашкова', 'Бобылева', 'Доронина', - 'Белозерова', 'Рожкова', 'Самсонова', 'Мясникова', 'Лихачева', - 'Бурова', 'Сысоева', 'Фомичева', 'Русакова', 'Стрелкова', 'Гущина', - 'Тетерина', 'Колобова', 'Субботина', 'Фокина', 'Блохина', - 'Селиверстова', 'Пестова', 'Кондратьева', 'Силина', 'Меркушева', - 'Лыткина', 'Турова', + "Смирнова", + "Иванова", + "Кузнецова", + "Попова", + "Соколова", + "Лебедева", + "Козлова", + "Новикова", + "Морозова", + "Петрова", + "Волкова", + "Соловьева", + "Васильева", + "Зайцева", + "Павлова", + "Семенова", + "Голубева", + "Виноградова", + "Богданова", + "Воробьева", + "Федорова", + "Михайлова", + "Беляева", + "Тарасова", + "Белова", + "Комарова", + "Орлова", + "Киселева", + "Макарова", + "Андреева", + "Ковалева", + "Ильина", + "Гусева", + "Титова", + "Кузьмина", + "Кудрявцева", + "Баранова", + "Куликова", + "Алексеева", + "Степанова", + "Яковлева", + "Сорокина", + "Сергеева", + "Романова", + "Захарова", + "Борисова", + "Королева", + "Герасимова", + "Пономарева", + "Григорьева", + "Лазарева", + "Медведева", + "Ершова", + "Никитина", + "Соболева", + "Рябова", + "Полякова", + "Цветкова", + "Данилова", + "Жукова", + "Фролова", + "Журавлева", + "Николаева", + "Крылова", + "Максимова", + "Сидорова", + "Осипова", + "Белоусова", + "Федотова", + "Дорофеева", + "Егорова", + "Матвеева", + "Боброва", + "Дмитриева", + "Калинина", + "Анисимова", + "Петухова", + "Антонова", + "Тимофеева", + "Никифорова", + "Веселова", + "Филиппова", + "Маркова", + "Большакова", + "Суханова", + "Миронова", + "Ширяева", + "Александрова", + "Коновалова", + "Шестакова", + "Казакова", + "Ефимова", + "Денисова", + "Громова", + "Фомина", + "Давыдова", + "Мельникова", + "Щербакова", + "Блинова", + "Колесникова", + "Карпова", + "Афанасьева", + "Власова", + "Маслова", + "Исакова", + "Тихонова", + "Аксенова", + "Гаврилова", + "Родионова", + "Котова", + "Горбунова", + "Кудряшова", + "Быкова", + "Зуева", + "Третьякова", + "Савельева", + "Панова", + "Рыбакова", + "Суворова", + "Абрамова", + "Воронова", + "Мухина", + "Архипова", + "Трофимова", + "Мартынова", + "Емельянова", + "Горшкова", + "Чернова", + "Овчинникова", + "Селезнева", + "Панфилова", + "Копылова", + "Михеева", + "Галкина", + "Назарова", + "Лобанова", + "Лукина", + "Белякова", + "Потапова", + "Некрасова", + "Хохлова", + "Жданова", + "Наумова", + "Шилова", + "Воронцова", + "Ермакова", + "Дроздова", + "Игнатьева", + "Савина", + "Логинова", + "Сафонова", + "Капустина", + "Кириллова", + "Моисеева", + "Елисеева", + "Кошелева", + "Костина", + "Горбачева", + "Орехова", + "Ефремова", + "Исаева", + "Евдокимова", + "Калашникова", + "Кабанова", + "Носкова", + "Юдина", + "Кулагина", + "Лапина", + "Прохорова", + "Нестерова", + "Харитонова", + "Агафонова", + "Муравьева", + "Ларионова", + "Федосеева", + "Зимина", + "Пахомова", + "Шубина", + "Игнатова", + "Филатова", + "Крюкова", + "Рогова", + "Кулакова", + "Терентьева", + "Молчанова", + "Владимирова", + "Артемьева", + "Гурьева", + "Зиновьева", + "Гришина", + "Кононова", + "Дементьева", + "Ситникова", + "Симонова", + "Мишина", + "Фадеева", + "Комиссарова", + "Мамонтова", + "Носова", + "Гуляева", + "Шарова", + "Устинова", + "Вишнякова", + "Евсеева", + "Лаврентьева", + "Брагина", + "Константинова", + "Корнилова", + "Авдеева", + "Зыкова", + "Бирюкова", + "Шарапова", + "Никонова", + "Щукина", + "Дьячкова", + "Одинцова", + "Сазонова", + "Якушева", + "Красильникова", + "Гордеева", + "Самойлова", + "Князева", + "Беспалова", + "Уварова", + "Шашкова", + "Бобылева", + "Доронина", + "Белозерова", + "Рожкова", + "Самсонова", + "Мясникова", + "Лихачева", + "Бурова", + "Сысоева", + "Фомичева", + "Русакова", + "Стрелкова", + "Гущина", + "Тетерина", + "Колобова", + "Субботина", + "Фокина", + "Блохина", + "Селиверстова", + "Пестова", + "Кондратьева", + "Силина", + "Меркушева", + "Лыткина", + "Турова", ) last_names = last_names_male + last_names_female middle_names_male = ( - 'Ааронович', 'Абрамович', 'Августович', 'Авдеевич', 'Аверьянович', - 'Адамович', 'Адрианович', 'Аксёнович', 'Александрович', 'Алексеевич', - 'Анатольевич', 'Андреевич', 'Анисимович', 'Антипович', 'Антонович', - 'Ануфриевич', 'Арсенович', 'Арсеньевич', 'Артёмович', 'Артемьевич', - 'Артурович', 'Архипович', 'Афанасьевич', 'Бенедиктович', 'Богданович', - 'Бориславович', 'Бориславович', 'Борисович', 'Брониславович', - 'Валентинович', 'Валерианович', 'Валерьевич', 'Валерьянович', - 'Васильевич', 'Венедиктович', 'Викентьевич', 'Викторович', 'Виленович', - 'Вилорович', 'Витальевич', 'Владиленович', 'Владиславович', - 'Владленович', 'Власович', 'Всеволодович', 'Вячеславович', - 'Гавриилович', 'Гаврилович', 'Геннадиевич', 'Георгиевич', 'Герасимович', - 'Германович', 'Гертрудович', 'Глебович', 'Гордеевич', 'Григорьевич', - 'Гурьевич', 'Давидович', 'Давыдович', 'Даниилович', 'Данилович', - 'Демидович', 'Демьянович', 'Денисович', 'Димитриевич', 'Дмитриевич', - 'Дорофеевич', 'Евсеевич', 'Евстигнеевич', 'Егорович', 'Елизарович', - 'Елисеевич', 'Еремеевич', 'Ермилович', 'Ермолаевич', 'Ерофеевич', - 'Ефимович', 'Ефимьевич', 'Ефремович', 'Ефстафьевич', 'Жанович', - 'Жоресович', 'Захарьевич', 'Зиновьевич', 'Игнатович', 'Игнатьевич', - 'Игоревич', 'Измаилович', 'Изотович', 'Иларионович', 'Ильич', - 'Ильясович', 'Иосипович', 'Иосифович', 'Исидорович', 'Марсович', - 'Матвеевич', 'Тарасович', 'Теймуразович', 'Терентьевич', 'Тимурович', - 'Тихонович', 'Трифонович', 'Трофимович', 'Устинович', 'Фадеевич', - 'Фёдорович', 'Федосеевич', 'Федосьевич', 'Федотович', 'Феликсович', - 'Феодосьевич', 'Феоктистович', 'Феофанович', 'Филатович', 'Филимонович', - 'Филиппович', 'Фокич', 'Фомич', 'Фролович', 'Харитонович', 'Харламович', - 'Харлампович', 'Харлампьевич', 'Чеславович', 'Эдгардович', 'Эдгарович', - 'Эдуардович', 'Юлианович', 'Юльевич', 'Яковлевич', 'Якубович', - 'Ярославович', + "Ааронович", + "Абрамович", + "Августович", + "Авдеевич", + "Аверьянович", + "Адамович", + "Адрианович", + "Аксёнович", + "Александрович", + "Алексеевич", + "Анатольевич", + "Андреевич", + "Анисимович", + "Антипович", + "Антонович", + "Ануфриевич", + "Арсенович", + "Арсеньевич", + "Артёмович", + "Артемьевич", + "Артурович", + "Архипович", + "Афанасьевич", + "Бенедиктович", + "Богданович", + "Бориславович", + "Бориславович", + "Борисович", + "Брониславович", + "Валентинович", + "Валерианович", + "Валерьевич", + "Валерьянович", + "Васильевич", + "Венедиктович", + "Викентьевич", + "Викторович", + "Виленович", + "Вилорович", + "Витальевич", + "Владиленович", + "Владиславович", + "Владленович", + "Власович", + "Всеволодович", + "Вячеславович", + "Гавриилович", + "Гаврилович", + "Геннадиевич", + "Георгиевич", + "Герасимович", + "Германович", + "Гертрудович", + "Глебович", + "Гордеевич", + "Григорьевич", + "Гурьевич", + "Давидович", + "Давыдович", + "Даниилович", + "Данилович", + "Демидович", + "Демьянович", + "Денисович", + "Димитриевич", + "Дмитриевич", + "Дорофеевич", + "Евсеевич", + "Евстигнеевич", + "Егорович", + "Елизарович", + "Елисеевич", + "Еремеевич", + "Ермилович", + "Ермолаевич", + "Ерофеевич", + "Ефимович", + "Ефимьевич", + "Ефремович", + "Ефстафьевич", + "Жанович", + "Жоресович", + "Захарьевич", + "Зиновьевич", + "Игнатович", + "Игнатьевич", + "Игоревич", + "Измаилович", + "Изотович", + "Иларионович", + "Ильич", + "Ильясович", + "Иосипович", + "Иосифович", + "Исидорович", + "Марсович", + "Матвеевич", + "Тарасович", + "Теймуразович", + "Терентьевич", + "Тимурович", + "Тихонович", + "Трифонович", + "Трофимович", + "Устинович", + "Фадеевич", + "Фёдорович", + "Федосеевич", + "Федосьевич", + "Федотович", + "Феликсович", + "Феодосьевич", + "Феоктистович", + "Феофанович", + "Филатович", + "Филимонович", + "Филиппович", + "Фокич", + "Фомич", + "Фролович", + "Харитонович", + "Харламович", + "Харлампович", + "Харлампьевич", + "Чеславович", + "Эдгардович", + "Эдгарович", + "Эдуардович", + "Юлианович", + "Юльевич", + "Яковлевич", + "Якубович", + "Ярославович", ) middle_names_female = ( - 'Александровна', 'Андреевна', 'Архиповна', 'Алексеевна', 'Антоновна', - 'Аскольдовна', 'Альбертовна', 'Аркадьевна', 'Афанасьевна', - 'Анатольевна', 'Артемовна', 'Богдановна', 'Болеславовна', 'Борисовна', - 'Вадимовна', 'Васильевна', 'Владимировна', 'Валентиновна', - 'Вениаминовна', 'Владиславовна', 'Валериевна', 'Викторовна', - 'Вячеславовна', 'Геннадиевна', 'Георгиевна', 'Геннадьевна', - 'Григорьевна', 'Даниловна', 'Дмитриевна', 'Евгеньевна', - 'Егоровна', 'Ефимовна', 'Ждановна', 'Захаровна', 'Ивановна', 'Игоревна', - 'Ильинична', 'Кирилловна', 'Кузьминична', 'Константиновна', - 'Кузьминична', 'Леонидовна', 'Леоновна', 'Львовна', 'Макаровна', - 'Матвеевна', 'Михайловна', 'Максимовна', 'Мироновна', 'Натановна', - 'Никифоровна', 'Ниловна', 'Наумовна', 'Николаевна', 'Олеговна', - 'Оскаровна', 'Павловна', 'Петровна', 'Робертовна', 'Рубеновна', - 'Руслановна', 'Романовна', 'Рудольфовна', 'Святославовна', 'Сергеевна', - 'Степановна', 'Семеновна', 'Станиславовна', 'Тарасовна', 'Тимофеевна', - 'Тимуровна', 'Федоровна', 'Феликсовна', 'Филипповна', 'Харитоновна', - 'Эдуардовна', 'Эльдаровна', 'Юльевна', 'Юрьевна', 'Яковлевна', + "Александровна", + "Андреевна", + "Архиповна", + "Алексеевна", + "Антоновна", + "Аскольдовна", + "Альбертовна", + "Аркадьевна", + "Афанасьевна", + "Анатольевна", + "Артемовна", + "Богдановна", + "Болеславовна", + "Борисовна", + "Вадимовна", + "Васильевна", + "Владимировна", + "Валентиновна", + "Вениаминовна", + "Владиславовна", + "Валериевна", + "Викторовна", + "Вячеславовна", + "Геннадиевна", + "Георгиевна", + "Геннадьевна", + "Григорьевна", + "Даниловна", + "Дмитриевна", + "Евгеньевна", + "Егоровна", + "Ефимовна", + "Ждановна", + "Захаровна", + "Ивановна", + "Игоревна", + "Ильинична", + "Кирилловна", + "Кузьминична", + "Константиновна", + "Кузьминична", + "Леонидовна", + "Леоновна", + "Львовна", + "Макаровна", + "Матвеевна", + "Михайловна", + "Максимовна", + "Мироновна", + "Натановна", + "Никифоровна", + "Ниловна", + "Наумовна", + "Николаевна", + "Олеговна", + "Оскаровна", + "Павловна", + "Петровна", + "Робертовна", + "Рубеновна", + "Руслановна", + "Романовна", + "Рудольфовна", + "Святославовна", + "Сергеевна", + "Степановна", + "Семеновна", + "Станиславовна", + "Тарасовна", + "Тимофеевна", + "Тимуровна", + "Федоровна", + "Феликсовна", + "Филипповна", + "Харитоновна", + "Эдуардовна", + "Эльдаровна", + "Юльевна", + "Юрьевна", + "Яковлевна", ) middle_names = middle_names_male + middle_names_female language_names = ( - 'Афарский', 'Абхазский', 'Авестийский', 'Африкаанс', 'Акан', - 'Амхарский', 'Арагонский', 'Арабский', 'Ассамский', 'Аварский', - 'Аймарский', 'Азербайджанский', 'Башкирский', 'Белорусский', - 'Болгарский', 'Бислама', 'Бенгальский', 'Тибетский', 'Бретонский', - 'Боснийский', 'Каталанский', 'Чеченский', 'Чаморро', 'Корсиканский', - 'Кри', 'Чешский', 'Чувашский', 'Валлийский', 'Датский', 'Немецкий', - 'Греческий', 'Английский', 'Эсперанто', 'Испанский', 'Эстонский', - 'Персидский', 'Финский', 'Фиджийский', 'Фарси', 'Французский', - 'Ирландский', 'Гэльский', 'Галийский', 'Иврит', 'Хинди', - 'Хорватский', 'Гавайский', 'Болгарский', 'Армянский', - 'Индонезийский', 'Исландский', 'Итальянский', 'Японский', - 'Яванский', 'Грузинский', 'Казахский', 'Корейский', 'Кашмири', - 'Курдский', 'Коми', 'Киргизский', 'Латинский', 'Люксембургский', - 'Лимбургский', 'Лингала', 'Лаосский', 'Литовский', 'Латвийский', - 'Малагасийский', 'Маршалльский', 'Маори', 'Македонский', 'Малаялам', - 'Монгольский', 'Маратхи', 'Малайский', 'Мальтийский', 'Непальский', - 'Нидерландский', 'Норвежский', 'Навахо', 'Оромо', 'Ория', - 'Осетинский', 'Пали', 'Польский', 'Пуштунский', 'Португальский', - 'Романшский', 'Румынский', 'Русский', 'Киньяруанда', - 'Санскрит', 'Сардинский', 'Санго', 'Сингальский', - 'Словацкий', 'Словенский', 'Самоанский', 'Сомалийский', 'Албанский', - 'Сербский', 'Сунданский', 'Шведский', 'Суахили', 'Тамильский', - 'Телугу', 'Таджикский', 'Тайский', 'Тигринья', 'Туркменский', - 'Тагальский', 'Тсвана', 'Тонга', 'Турецкий', 'Тсонга', 'Татарский', - 'Таитянский', 'Уйгурский', 'Украинский', 'Урду', 'Узбекский', 'Венда', - 'Вьетнамский', 'Идиш', 'Йоруба', 'Китайский', 'Зулу', + "Афарский", + "Абхазский", + "Авестийский", + "Африкаанс", + "Акан", + "Амхарский", + "Арагонский", + "Арабский", + "Ассамский", + "Аварский", + "Аймарский", + "Азербайджанский", + "Башкирский", + "Белорусский", + "Болгарский", + "Бислама", + "Бенгальский", + "Тибетский", + "Бретонский", + "Боснийский", + "Каталанский", + "Чеченский", + "Чаморро", + "Корсиканский", + "Кри", + "Чешский", + "Чувашский", + "Валлийский", + "Датский", + "Немецкий", + "Греческий", + "Английский", + "Эсперанто", + "Испанский", + "Эстонский", + "Персидский", + "Финский", + "Фиджийский", + "Фарси", + "Французский", + "Ирландский", + "Гэльский", + "Галийский", + "Иврит", + "Хинди", + "Хорватский", + "Гавайский", + "Болгарский", + "Армянский", + "Индонезийский", + "Исландский", + "Итальянский", + "Японский", + "Яванский", + "Грузинский", + "Казахский", + "Корейский", + "Кашмири", + "Курдский", + "Коми", + "Киргизский", + "Латинский", + "Люксембургский", + "Лимбургский", + "Лингала", + "Лаосский", + "Литовский", + "Латвийский", + "Малагасийский", + "Маршалльский", + "Маори", + "Македонский", + "Малаялам", + "Монгольский", + "Маратхи", + "Малайский", + "Мальтийский", + "Непальский", + "Нидерландский", + "Норвежский", + "Навахо", + "Оромо", + "Ория", + "Осетинский", + "Пали", + "Польский", + "Пуштунский", + "Португальский", + "Романшский", + "Румынский", + "Русский", + "Киньяруанда", + "Санскрит", + "Сардинский", + "Санго", + "Сингальский", + "Словацкий", + "Словенский", + "Самоанский", + "Сомалийский", + "Албанский", + "Сербский", + "Сунданский", + "Шведский", + "Суахили", + "Тамильский", + "Телугу", + "Таджикский", + "Тайский", + "Тигринья", + "Туркменский", + "Тагальский", + "Тсвана", + "Тонга", + "Турецкий", + "Тсонга", + "Татарский", + "Таитянский", + "Уйгурский", + "Украинский", + "Урду", + "Узбекский", + "Венда", + "Вьетнамский", + "Идиш", + "Йоруба", + "Китайский", + "Зулу", ) - prefixes_male = ('г-н', 'тов.') + prefixes_male: Sequence[str] = ("г-н", "тов.") - prefixes_female = ('г-жа', 'тов.') + prefixes_female: Sequence[str] = ("г-жа", "тов.") - def middle_name(self): + def middle_name(self) -> str: return self.random_element(self.middle_names) - def middle_name_male(self): - if hasattr(self, 'middle_names_male'): - return self.random_element(self.middle_names_male) - return self.middle_name() + def middle_name_male(self) -> str: + return self.random_element(self.middle_names_male) - def middle_name_female(self): - if hasattr(self, 'middle_names_female'): - return self.random_element(self.middle_names_female) - return self.middle_name() + def middle_name_female(self) -> str: + return self.random_element(self.middle_names_female) diff --git a/faker/providers/person/sl_SI/__init__.py b/faker/providers/person/sl_SI/__init__.py index 2beb95979e..1b6b40f8b8 100755 --- a/faker/providers/person/sl_SI/__init__.py +++ b/faker/providers/person/sl_SI/__init__.py @@ -2,90 +2,528 @@ class Provider(PersonProvider): - formats = ['{{first_name}} {{last_name}}'] + formats = ["{{first_name}} {{last_name}}"] first_names_male = [ - "Franc", "Janez", "Anton", "Ivan", "Jožef", "Andrej", "Marko", - "Marjan", "Peter", "Milan", "Stanislav", "Matej", "Tomaž", "Branko", - "Bojan", "Robert", "Boštjan", "Matjaž", "Gregor", "Luka", "Martin", - "Rok", "Boris", "Dušan", "Igor", "Miha", "Dejan", "David", "Uroš", - "Simon", "Jure", "Blaž", "Štefan", "Jan", "Drago", "Darko", "Klemen", - "Nejc", "Žiga", "Jernej", "Miran", "Aleksander", "Roman", "Vladimir", - "Matic", "Tadej", "Srečko", "Slavko", "Mirko", "Janko", "Žan", - "Miroslav", "Borut", "Alojzij", "Damjan", "Stanko", "Aljaž", "Anže", - "Danijel", "Mihael", "Matija", "Jaka", "Marijan", "Rudolf", "Alen", - "Jakob", "Viktor", "Domen", "Sašo", "Iztok", "Goran", "Tilen", - "Pavel", "Zvonko", "Edvard", "Zdravko", "Danilo", "Matevž", "Rajko", - "Ludvik", "Zlatko", "Frančišek", "Bogdan", "Gorazd", "Samo", "Leon", - "Dragan", "Emil", "Josip", "Nik", "Ciril", "Sandi", "Benjamin", "Vid", - "Albin", "Franci", "Sebastjan", "Silvo", "Leopold", "Kristjan", "Tim", - "Filip", "Damijan", "Erik", "Viljem", "Vincenc", "Željko", "Damir", - "Aljoša", "Karel", "Daniel", "Dominik", "Miloš", "Stojan", - "Franjo", "Valentin", "Davorin", "Maks", "Timotej", "Ladislav", "Niko", - "Mark", "Nikola", "Bogomir", "Saša", "Vlado", "Karl", "Zdenko", - "Grega", "Stjepan", "Davor", "Kristijan", "Ernest", "Maksimiljan", - "Avgust", "Sebastijan", "Aleksandar", "Lovro", "Ivo", "Rado", "Tine", - "Adolf", "Gal", "Valter", "Elvis", "Jasmin", "Ervin", "Jani", "Izidor", - "Nenad", "Anej", "Petar", "Maj", "Metod", "Albert", "Bruno", "Radovan", - "Nikolaj", "Feliks", "Karol", "Bernard", "Joško", "Rafael", "Edin", - "Aleks", "Cvetko", "Rudi", "Miro", "Hasan", "Slobodan", "Mirsad", + "Franc", + "Janez", + "Anton", + "Ivan", + "Jožef", + "Andrej", + "Marko", + "Marjan", + "Peter", + "Milan", + "Stanislav", + "Matej", + "Tomaž", + "Branko", + "Bojan", + "Robert", + "Boštjan", + "Matjaž", + "Gregor", + "Luka", + "Martin", + "Rok", + "Boris", + "Dušan", + "Igor", + "Miha", + "Dejan", + "David", + "Uroš", + "Simon", + "Jure", + "Blaž", + "Štefan", + "Jan", + "Drago", + "Darko", + "Klemen", + "Nejc", + "Žiga", + "Jernej", + "Miran", + "Aleksander", + "Roman", + "Vladimir", + "Matic", + "Tadej", + "Srečko", + "Slavko", + "Mirko", + "Janko", + "Žan", + "Miroslav", + "Borut", + "Alojzij", + "Damjan", + "Stanko", + "Aljaž", + "Anže", + "Danijel", + "Mihael", + "Matija", + "Jaka", + "Marijan", + "Rudolf", + "Alen", + "Jakob", + "Viktor", + "Domen", + "Sašo", + "Iztok", + "Goran", + "Tilen", + "Pavel", + "Zvonko", + "Edvard", + "Zdravko", + "Danilo", + "Matevž", + "Rajko", + "Ludvik", + "Zlatko", + "Frančišek", + "Bogdan", + "Gorazd", + "Samo", + "Leon", + "Dragan", + "Emil", + "Josip", + "Nik", + "Ciril", + "Sandi", + "Benjamin", + "Vid", + "Albin", + "Franci", + "Sebastjan", + "Silvo", + "Leopold", + "Kristjan", + "Tim", + "Filip", + "Damijan", + "Erik", + "Viljem", + "Vincenc", + "Željko", + "Damir", + "Aljoša", + "Karel", + "Daniel", + "Dominik", + "Miloš", + "Stojan", + "Franjo", + "Valentin", + "Davorin", + "Maks", + "Timotej", + "Ladislav", + "Niko", + "Mark", + "Nikola", + "Bogomir", + "Saša", + "Vlado", + "Karl", + "Zdenko", + "Grega", + "Stjepan", + "Davor", + "Kristijan", + "Ernest", + "Maksimiljan", + "Avgust", + "Sebastijan", + "Aleksandar", + "Lovro", + "Ivo", + "Rado", + "Tine", + "Adolf", + "Gal", + "Valter", + "Elvis", + "Jasmin", + "Ervin", + "Jani", + "Izidor", + "Nenad", + "Anej", + "Petar", + "Maj", + "Metod", + "Albert", + "Bruno", + "Radovan", + "Nikolaj", + "Feliks", + "Karol", + "Bernard", + "Joško", + "Rafael", + "Edin", + "Aleks", + "Cvetko", + "Rudi", + "Miro", + "Hasan", + "Slobodan", + "Mirsad", ] first_names_female = [ - "Marija", "Ana", "Irena", "Maja", "Mojca", "Jožefa", "Mateja", - "Nataša", "Jožica", "Barbara", "Ivana", "Andreja", "Nina", "Petra", - "Katja", "Sonja", "Milena", "Katarina", "Tatjana", "Anja", "Alenka", - "Tanja", "Martina", "Vesna", "Tina", "Angela", "Urška", "Antonija", - "Anica", "Kristina", "Dragica", "Nada", "Olga", "Špela", "Darja", - "Marjeta", "Tjaša", "Eva", "Ljudmila", "Simona", "Vida", "Sara", - "Zdenka", "Alojzija", "Lidija", "Suzana", "Marta", "Nika", "Sabina", - "Silva", "Veronika", "Štefanija", "Stanislava", "Darinka", "Karmen", - "Neža", "Brigita", "Anita", "Aleksandra", "Pavla", "Cvetka", "Metka", - "Nevenka", "Monika", "Rozalija", "Natalija", "Slavica", "Marjana", - "Branka", "Jasmina", "Vera", "Ema", "Saša", "Maša", "Lara", "Lucija", - "Tamara", "Bernarda", "Danijela", "Klavdija", "Erika", "Romana", - "Mira", "Jasna", "Klara", "Kaja", "Jelka", "Polona", "Julijana", - "Valerija", "Sandra", "Matilda", "Tadeja", "Valentina", "Mihaela", - "Amalija", "Albina", "Breda", "Karolina", "Sanja", "Teja", "Ines", - "Zofija", "Ksenija", "Laura", "Cecilija", "Patricija", "Magdalena", - "Manca", "Viktorija", "Maruša", "Vanja", "Vlasta", "Justina", "Nuša", - "Emilija", "Melita", "Ljubica", "Lana", "Marica", "Gordana", "Marinka", - "Polonca", "Nadja", "Milka", "Živa", "Urša", "Damjana", "Hana", - "Tea", "Marijana", "Julija", "Ajda", "Nastja", "Milica", "Alja", - "Štefka", "Slavka", "Jerneja", "Nives", "Dušanka", "Andrejka", - "Irma", "Pia", "Jelena", "Marjanca", "Miroslava", "Lilijana", "Stanka", - "Mirjam", "Neja", "Jolanda", "Zora", "Zvonka", "Hermina", "Rebeka", - "Hedvika", "Blanka", "Larisa", "Erna", "Anka", "Roza", "Liljana", - "Magda", "Daniela", "Jerica", "Taja", "Iris", "Adrijana", "Jadranka", + "Marija", + "Ana", + "Irena", + "Maja", + "Mojca", + "Jožefa", + "Mateja", + "Nataša", + "Jožica", + "Barbara", + "Ivana", + "Andreja", + "Nina", + "Petra", + "Katja", + "Sonja", + "Milena", + "Katarina", + "Tatjana", + "Anja", + "Alenka", + "Tanja", + "Martina", + "Vesna", + "Tina", + "Angela", + "Urška", + "Antonija", + "Anica", + "Kristina", + "Dragica", + "Nada", + "Olga", + "Špela", + "Darja", + "Marjeta", + "Tjaša", + "Eva", + "Ljudmila", + "Simona", + "Vida", + "Sara", + "Zdenka", + "Alojzija", + "Lidija", + "Suzana", + "Marta", + "Nika", + "Sabina", + "Silva", + "Veronika", + "Štefanija", + "Stanislava", + "Darinka", + "Karmen", + "Neža", + "Brigita", + "Anita", + "Aleksandra", + "Pavla", + "Cvetka", + "Metka", + "Nevenka", + "Monika", + "Rozalija", + "Natalija", + "Slavica", + "Marjana", + "Branka", + "Jasmina", + "Vera", + "Ema", + "Saša", + "Maša", + "Lara", + "Lucija", + "Tamara", + "Bernarda", + "Danijela", + "Klavdija", + "Erika", + "Romana", + "Mira", + "Jasna", + "Klara", + "Kaja", + "Jelka", + "Polona", + "Julijana", + "Valerija", + "Sandra", + "Matilda", + "Tadeja", + "Valentina", + "Mihaela", + "Amalija", + "Albina", + "Breda", + "Karolina", + "Sanja", + "Teja", + "Ines", + "Zofija", + "Ksenija", + "Laura", + "Cecilija", + "Patricija", + "Magdalena", + "Manca", + "Viktorija", + "Maruša", + "Vanja", + "Vlasta", + "Justina", + "Nuša", + "Emilija", + "Melita", + "Ljubica", + "Lana", + "Marica", + "Gordana", + "Marinka", + "Polonca", + "Nadja", + "Milka", + "Živa", + "Urša", + "Damjana", + "Hana", + "Tea", + "Marijana", + "Julija", + "Ajda", + "Nastja", + "Milica", + "Alja", + "Štefka", + "Slavka", + "Jerneja", + "Nives", + "Dušanka", + "Andrejka", + "Irma", + "Pia", + "Jelena", + "Marjanca", + "Miroslava", + "Lilijana", + "Stanka", + "Mirjam", + "Neja", + "Jolanda", + "Zora", + "Zvonka", + "Hermina", + "Rebeka", + "Hedvika", + "Blanka", + "Larisa", + "Erna", + "Anka", + "Roza", + "Liljana", + "Magda", + "Daniela", + "Jerica", + "Taja", + "Iris", + "Adrijana", + "Jadranka", ] first_names = first_names_female + first_names_male last_names = [ - "Novak", "Horvat", "Krajnc", "Kovačič", "Zupančič", "Kovač", - "Potočnik", "Mlakar", "Vidmar", "Kos", "Golob", "Turk", "Božič", - "Zupan", "Korošec", "Bizjak", "Hribar", "Kotnik", "Rozman", - "Petek", "petek", "Kastelic", "Kolar", "Hočevar", "Žagar", "žagar", - "Košir", "Koren", "Klemenčič", "Zajc", "Medved", "Knez", "Zupanc", - "Pirc", "Hrovat", "Pavlič", "Kuhar", "kuhar", "Lah", "Zorko", - "Sever", "Majcen", "Jerman", "Babič", "Tomažič", "Erjavec", "Jereb", - "Kranjc", "Rupnik", "Perko", "Lesjak", "Breznik", "Pečnik", "Pavlin", - "Dolenc", "Vidic", "Furlan", "Logar", "Tomšič", "Jenko", "Janežič", - "ribič", "Žnidaršič", "Černe", "Maček", "Lešnik", "Fras", - "Marolt", "Jelen", "Gregorič", "Blatnik", "Pintar", "Mihelič", - "Kokalj", "Bezjak", "Leban", "Cerar", "Čeh", "čeh", "Jug", - "Vidovič", "Rus", "Kobal", "Primožič", "Kocjančič", "Dolinar", - "Lazar", "Kolenc", "Nemec", "Kolarič", "Lavrič", "Kodrič", "Kosi", - "Mrak", "Debeljak", "Tavčar", "Žižek", "Krivec", "Zver", - "Likar", "Žibert", "Jarc", "Vodopivec", "Kramberger", "Miklavčič", - "Skok", "Toplak", "Petrovič", "Hribernik", "Leskovar", "Stopar", - "Simonič", "Blažič", "Eržen", "Sitar", "Gorenc", "Železnik", - "Šinkovec", "Jamnik", "Javornik", "Bukovec", "Hozjan", "Ramšak", - "Filipič", "Kočevar", "Demšar", "Volk", "volk", "Gomboc", - "Čuk", "Ilić", "Kokol", "Bregar", "Sušnik", "Pintarič", "Gorjup", - "Jovanović", "Mavrič", "Kramar", "Lebar", "Rutar", "Koželj", - "Popović", "Rajh", "Hodžić", "Rožman", "Resnik", "Šmid", "Kumer", - "Godec", "Bergant", "Pogačnik", "Zemljič", "Hafner", "Tratnik", - "Rožič", "Cvetko", "Ambrožič", "Bevc", "Mlinarič", "Mlinar", - "Jerič", "Kalan", "Markovič", "Šuštar", "Bajc", "Kaučič", - "Dolinšek", "Zalokar", "Pirnat", "Zorman", "Zakrajšek", "Štrukelj", + "Novak", + "Horvat", + "Krajnc", + "Kovačič", + "Zupančič", + "Kovač", + "Potočnik", + "Mlakar", + "Vidmar", + "Kos", + "Golob", + "Turk", + "Božič", + "Zupan", + "Korošec", + "Bizjak", + "Hribar", + "Kotnik", + "Rozman", + "Petek", + "petek", + "Kastelic", + "Kolar", + "Hočevar", + "Žagar", + "žagar", + "Košir", + "Koren", + "Klemenčič", + "Zajc", + "Medved", + "Knez", + "Zupanc", + "Pirc", + "Hrovat", + "Pavlič", + "Kuhar", + "kuhar", + "Lah", + "Zorko", + "Sever", + "Majcen", + "Jerman", + "Babič", + "Tomažič", + "Erjavec", + "Jereb", + "Kranjc", + "Rupnik", + "Perko", + "Lesjak", + "Breznik", + "Pečnik", + "Pavlin", + "Dolenc", + "Vidic", + "Furlan", + "Logar", + "Tomšič", + "Jenko", + "Janežič", + "ribič", + "Žnidaršič", + "Černe", + "Maček", + "Lešnik", + "Fras", + "Marolt", + "Jelen", + "Gregorič", + "Blatnik", + "Pintar", + "Mihelič", + "Kokalj", + "Bezjak", + "Leban", + "Cerar", + "Čeh", + "čeh", + "Jug", + "Vidovič", + "Rus", + "Kobal", + "Primožič", + "Kocjančič", + "Dolinar", + "Lazar", + "Kolenc", + "Nemec", + "Kolarič", + "Lavrič", + "Kodrič", + "Kosi", + "Mrak", + "Debeljak", + "Tavčar", + "Žižek", + "Krivec", + "Zver", + "Likar", + "Žibert", + "Jarc", + "Vodopivec", + "Kramberger", + "Miklavčič", + "Skok", + "Toplak", + "Petrovič", + "Hribernik", + "Leskovar", + "Stopar", + "Simonič", + "Blažič", + "Eržen", + "Sitar", + "Gorenc", + "Železnik", + "Šinkovec", + "Jamnik", + "Javornik", + "Bukovec", + "Hozjan", + "Ramšak", + "Filipič", + "Kočevar", + "Demšar", + "Volk", + "volk", + "Gomboc", + "Čuk", + "Ilić", + "Kokol", + "Bregar", + "Sušnik", + "Pintarič", + "Gorjup", + "Jovanović", + "Mavrič", + "Kramar", + "Lebar", + "Rutar", + "Koželj", + "Popović", + "Rajh", + "Hodžić", + "Rožman", + "Resnik", + "Šmid", + "Kumer", + "Godec", + "Bergant", + "Pogačnik", + "Zemljič", + "Hafner", + "Tratnik", + "Rožič", + "Cvetko", + "Ambrožič", + "Bevc", + "Mlinarič", + "Mlinar", + "Jerič", + "Kalan", + "Markovič", + "Šuštar", + "Bajc", + "Kaučič", + "Dolinšek", + "Zalokar", + "Pirnat", + "Zorman", + "Zakrajšek", + "Štrukelj", ] diff --git a/faker/providers/person/sv_SE/__init__.py b/faker/providers/person/sv_SE/__init__.py index b7d48283af..d86d29a4a7 100644 --- a/faker/providers/person/sv_SE/__init__.py +++ b/faker/providers/person/sv_SE/__init__.py @@ -15,624 +15,626 @@ class Provider(PersonProvider): - formats_female = ( - '{{first_name_female}} {{last_name}}', - ) + formats_female = ("{{first_name_female}} {{last_name}}",) - formats_male = ( - '{{first_name_male}} {{last_name}}', - ) + formats_male = ("{{first_name_male}} {{last_name}}",) formats = formats_female + formats_male - first_names_female = OrderedDict(( - ('Agnes', 0.001745), - ('Agneta', 0.004777), - ('Aina', 0.002274), - ('Alexandra', 0.002762), - ('Alice', 0.003714), - ('Amanda', 0.003099), - ('Anette', 0.004177), - ('Angelica', 0.001462), - ('Anita', 0.008407), - ('Ann', 0.004749), - ('Ann-Charlotte', 0.001562), - ('Ann-Christin', 0.001383), - ('Ann-Mari', 0.001194), - ('Ann-Marie', 0.001974), - ('Anna', 0.042584), - ('Anna-Karin', 0.001175), - ('Anna-Lena', 0.001167), - ('Anne', 0.002491), - ('Anne-Marie', 0.001349), - ('Anneli', 0.003702), - ('Annelie', 0.001470), - ('Annette', 0.001469), - ('Annie', 0.001357), - ('Annika', 0.005399), - ('Asta', 0.001437), - ('Astrid', 0.006047), - ('Barbro', 0.006869), - ('Berit', 0.004732), - ('Birgit', 0.005225), - ('Birgitta', 0.024532), - ('Brita', 0.002495), - ('Britt', 0.006330), - ('Britt-Marie', 0.002430), - ('Britta', 0.002882), - ('Camilla', 0.004547), - ('Carin', 0.001447), - ('Carina', 0.006187), - ('Carolina', 0.001716), - ('Caroline', 0.004014), - ('Catarina', 0.001216), - ('Catharina', 0.001196), - ('Cecilia', 0.008249), - ('Charlotta', 0.004212), - ('Charlotte', 0.003875), - ('Christina', 0.013235), - ('Christine', 0.001515), - ('Dagmar', 0.001687), - ('Dagny', 0.001481), - ('Doris', 0.001518), - ('Ebba', 0.002230), - ('Edit', 0.001620), - ('Eivor', 0.002205), - ('Eleonora', 0.001731), - ('Elin', 0.006729), - ('Elisabet', 0.024570), - ('Elisabeth', 0.025370), - ('Elise', 0.001198), - ('Ella', 0.001269), - ('Ellen', 0.002524), - ('Ellinor', 0.001304), - ('Elsa', 0.006168), - ('Elsie', 0.001302), - ('Elvira', 0.001736), - ('Emelie', 0.003036), - ('Emilia', 0.002176), - ('Emma', 0.007459), - ('Erika', 0.003543), - ('Ester', 0.002201), - ('Eva', 0.026496), - ('Evelina', 0.001930), - ('Evy', 0.001609), - ('Felicia', 0.001269), - ('Frida', 0.003423), - ('Gabriella', 0.001245), - ('Gerd', 0.003404), - ('Gertrud', 0.002159), - ('Greta', 0.002604), - ('Gudrun', 0.002700), - ('Gun', 0.004988), - ('Gunborg', 0.003021), - ('Gunhild', 0.003072), - ('Gunilla', 0.007540), - ('Gunnel', 0.003826), - ('Gunvor', 0.003507), - ('Hanna', 0.005512), - ('Harriet', 0.001441), - ('Helen', 0.002647), - ('Helena', 0.011208), - ('Helene', 0.002163), - ('Helén', 0.001202), - ('Hillevi', 0.001214), - ('Ida', 0.004826), - ('Inga', 0.005928), - ('Inga-Lill', 0.001723), - ('Ingeborg', 0.007051), - ('Ingegerd', 0.006428), - ('Ingegärd', 0.004587), - ('Ingela', 0.002701), - ('Inger', 0.010945), - ('Ingrid', 0.018110), - ('Irene', 0.007176), - ('Iris', 0.001497), - ('Irma', 0.001313), - ('Iréne', 0.001696), - ('Jeanette', 0.002204), - ('Jennie', 0.001404), - ('Jenny', 0.006327), - ('Jessica', 0.003248), - ('Johanna', 0.008736), - ('Josefin', 0.002350), - ('Josefina', 0.001294), - ('Josefine', 0.001891), - ('Julia', 0.002653), - ('Kajsa', 0.001214), - ('Karin', 0.023977), - ('Karolina', 0.003098), - ('Katarina', 0.006660), - ('Kerstin', 0.013320), - ('Kristin', 0.001999), - ('Kristina', 0.024482), - ('Laila', 0.001753), - ('Lena', 0.011317), - ('Lilian', 0.002505), - ('Lillemor', 0.001571), - ('Lilly', 0.001785), - ('Lina', 0.002062), - ('Linda', 0.006682), - ('Linn', 0.001229), - ('Linnea', 0.007713), - ('Linnéa', 0.013337), - ('Lisa', 0.004293), - ('Lisbeth', 0.002580), - ('Louise', 0.006398), - ('Lovisa', 0.003016), - ('Madeleine', 0.002603), - ('Magdalena', 0.002318), - ('Maj', 0.003649), - ('Maj-Britt', 0.002919), - ('Maja', 0.001462), - ('Malin', 0.006314), - ('Margareta', 0.037908), - ('Margaretha', 0.003602), - ('Margit', 0.004690), - ('Mari', 0.002098), - ('Maria', 0.061211), - ('Marianne', 0.013455), - ('Marie', 0.016343), - ('Marie-Louise', 0.001508), - ('Marina', 0.001195), - ('Marita', 0.002490), - ('Martina', 0.001657), - ('Mary', 0.001719), - ('Matilda', 0.004324), - ('Maud', 0.001868), - ('Mikaela', 0.001418), - ('Mona', 0.003072), - ('Monica', 0.005729), - ('Monika', 0.002778), - ('Märta', 0.004609), - ('Nina', 0.001820), - ('Olivia', 0.001516), - ('Pernilla', 0.002416), - ('Petra', 0.001964), - ('Pia', 0.003138), - ('Ragnhild', 0.001655), - ('Rebecca', 0.001585), - ('Rebecka', 0.001631), - ('Rose-Marie', 0.001345), - ('Rut', 0.004635), - ('Ruth', 0.002177), - ('Sandra', 0.003674), - ('Sara', 0.007473), - ('Signe', 0.002761), - ('Sigrid', 0.002130), - ('Siv', 0.005860), - ('Sofia', 0.011263), - ('Sofie', 0.003466), - ('Solveig', 0.002937), - ('Sonja', 0.004030), - ('Stina', 0.002603), - ('Susanna', 0.001707), - ('Susanne', 0.006845), - ('Svea', 0.002225), - ('Sylvia', 0.001630), - ('Teresia', 0.001703), - ('Therese', 0.004420), - ('Therése', 0.001215), - ('Ulla', 0.009528), - ('Ulla-Britt', 0.001683), - ('Ulrika', 0.005582), - ('Valborg', 0.001616), - ('Vera', 0.001495), - ('Veronica', 0.001985), - ('Victoria', 0.002490), - ('Viktoria', 0.006375), - ('Vilhelmina', 0.001311), - ('Viola', 0.009669), - ('Ylva', 0.001296), - ('Yvonne', 0.004993), - ('Åsa', 0.005076), - )) + first_names_female = OrderedDict( + ( + ("Agnes", 0.001745), + ("Agneta", 0.004777), + ("Aina", 0.002274), + ("Alexandra", 0.002762), + ("Alice", 0.003714), + ("Amanda", 0.003099), + ("Anette", 0.004177), + ("Angelica", 0.001462), + ("Anita", 0.008407), + ("Ann", 0.004749), + ("Ann-Charlotte", 0.001562), + ("Ann-Christin", 0.001383), + ("Ann-Mari", 0.001194), + ("Ann-Marie", 0.001974), + ("Anna", 0.042584), + ("Anna-Karin", 0.001175), + ("Anna-Lena", 0.001167), + ("Anne", 0.002491), + ("Anne-Marie", 0.001349), + ("Anneli", 0.003702), + ("Annelie", 0.001470), + ("Annette", 0.001469), + ("Annie", 0.001357), + ("Annika", 0.005399), + ("Asta", 0.001437), + ("Astrid", 0.006047), + ("Barbro", 0.006869), + ("Berit", 0.004732), + ("Birgit", 0.005225), + ("Birgitta", 0.024532), + ("Brita", 0.002495), + ("Britt", 0.006330), + ("Britt-Marie", 0.002430), + ("Britta", 0.002882), + ("Camilla", 0.004547), + ("Carin", 0.001447), + ("Carina", 0.006187), + ("Carolina", 0.001716), + ("Caroline", 0.004014), + ("Catarina", 0.001216), + ("Catharina", 0.001196), + ("Cecilia", 0.008249), + ("Charlotta", 0.004212), + ("Charlotte", 0.003875), + ("Christina", 0.013235), + ("Christine", 0.001515), + ("Dagmar", 0.001687), + ("Dagny", 0.001481), + ("Doris", 0.001518), + ("Ebba", 0.002230), + ("Edit", 0.001620), + ("Eivor", 0.002205), + ("Eleonora", 0.001731), + ("Elin", 0.006729), + ("Elisabet", 0.024570), + ("Elisabeth", 0.025370), + ("Elise", 0.001198), + ("Ella", 0.001269), + ("Ellen", 0.002524), + ("Ellinor", 0.001304), + ("Elsa", 0.006168), + ("Elsie", 0.001302), + ("Elvira", 0.001736), + ("Emelie", 0.003036), + ("Emilia", 0.002176), + ("Emma", 0.007459), + ("Erika", 0.003543), + ("Ester", 0.002201), + ("Eva", 0.026496), + ("Evelina", 0.001930), + ("Evy", 0.001609), + ("Felicia", 0.001269), + ("Frida", 0.003423), + ("Gabriella", 0.001245), + ("Gerd", 0.003404), + ("Gertrud", 0.002159), + ("Greta", 0.002604), + ("Gudrun", 0.002700), + ("Gun", 0.004988), + ("Gunborg", 0.003021), + ("Gunhild", 0.003072), + ("Gunilla", 0.007540), + ("Gunnel", 0.003826), + ("Gunvor", 0.003507), + ("Hanna", 0.005512), + ("Harriet", 0.001441), + ("Helen", 0.002647), + ("Helena", 0.011208), + ("Helene", 0.002163), + ("Helén", 0.001202), + ("Hillevi", 0.001214), + ("Ida", 0.004826), + ("Inga", 0.005928), + ("Inga-Lill", 0.001723), + ("Ingeborg", 0.007051), + ("Ingegerd", 0.006428), + ("Ingegärd", 0.004587), + ("Ingela", 0.002701), + ("Inger", 0.010945), + ("Ingrid", 0.018110), + ("Irene", 0.007176), + ("Iris", 0.001497), + ("Irma", 0.001313), + ("Iréne", 0.001696), + ("Jeanette", 0.002204), + ("Jennie", 0.001404), + ("Jenny", 0.006327), + ("Jessica", 0.003248), + ("Johanna", 0.008736), + ("Josefin", 0.002350), + ("Josefina", 0.001294), + ("Josefine", 0.001891), + ("Julia", 0.002653), + ("Kajsa", 0.001214), + ("Karin", 0.023977), + ("Karolina", 0.003098), + ("Katarina", 0.006660), + ("Kerstin", 0.013320), + ("Kristin", 0.001999), + ("Kristina", 0.024482), + ("Laila", 0.001753), + ("Lena", 0.011317), + ("Lilian", 0.002505), + ("Lillemor", 0.001571), + ("Lilly", 0.001785), + ("Lina", 0.002062), + ("Linda", 0.006682), + ("Linn", 0.001229), + ("Linnea", 0.007713), + ("Linnéa", 0.013337), + ("Lisa", 0.004293), + ("Lisbeth", 0.002580), + ("Louise", 0.006398), + ("Lovisa", 0.003016), + ("Madeleine", 0.002603), + ("Magdalena", 0.002318), + ("Maj", 0.003649), + ("Maj-Britt", 0.002919), + ("Maja", 0.001462), + ("Malin", 0.006314), + ("Margareta", 0.037908), + ("Margaretha", 0.003602), + ("Margit", 0.004690), + ("Mari", 0.002098), + ("Maria", 0.061211), + ("Marianne", 0.013455), + ("Marie", 0.016343), + ("Marie-Louise", 0.001508), + ("Marina", 0.001195), + ("Marita", 0.002490), + ("Martina", 0.001657), + ("Mary", 0.001719), + ("Matilda", 0.004324), + ("Maud", 0.001868), + ("Mikaela", 0.001418), + ("Mona", 0.003072), + ("Monica", 0.005729), + ("Monika", 0.002778), + ("Märta", 0.004609), + ("Nina", 0.001820), + ("Olivia", 0.001516), + ("Pernilla", 0.002416), + ("Petra", 0.001964), + ("Pia", 0.003138), + ("Ragnhild", 0.001655), + ("Rebecca", 0.001585), + ("Rebecka", 0.001631), + ("Rose-Marie", 0.001345), + ("Rut", 0.004635), + ("Ruth", 0.002177), + ("Sandra", 0.003674), + ("Sara", 0.007473), + ("Signe", 0.002761), + ("Sigrid", 0.002130), + ("Siv", 0.005860), + ("Sofia", 0.011263), + ("Sofie", 0.003466), + ("Solveig", 0.002937), + ("Sonja", 0.004030), + ("Stina", 0.002603), + ("Susanna", 0.001707), + ("Susanne", 0.006845), + ("Svea", 0.002225), + ("Sylvia", 0.001630), + ("Teresia", 0.001703), + ("Therese", 0.004420), + ("Therése", 0.001215), + ("Ulla", 0.009528), + ("Ulla-Britt", 0.001683), + ("Ulrika", 0.005582), + ("Valborg", 0.001616), + ("Vera", 0.001495), + ("Veronica", 0.001985), + ("Victoria", 0.002490), + ("Viktoria", 0.006375), + ("Vilhelmina", 0.001311), + ("Viola", 0.009669), + ("Ylva", 0.001296), + ("Yvonne", 0.004993), + ("Åsa", 0.005076), + ) + ) - first_names_male = OrderedDict(( - ('Adam', 0.001770), - ('Albert', 0.001419), - ('Albin', 0.001392), - ('Alexander', 0.006474), - ('Alf', 0.003571), - ('Alfred', 0.001069), - ('Allan', 0.003591), - ('Alvar', 0.001072), - ('Anders', 0.025312), - ('Andreas', 0.008399), - ('André', 0.001357), - ('Anton', 0.002930), - ('Arne', 0.010637), - ('Arnold', 0.001027), - ('Artur', 0.001269), - ('Arvid', 0.002169), - ('Axel', 0.006910), - ('Bengt', 0.014569), - ('Benny', 0.001397), - ('Bernt', 0.002951), - ('Bert', 0.001153), - ('Bertil', 0.010902), - ('Birger', 0.003109), - ('Björn', 0.007803), - ('Bo', 0.011988), - ('Bror', 0.003281), - ('Börje', 0.003853), - ('Carl', 0.013483), - ('Christer', 0.007964), - ('Christian', 0.004359), - ('Christoffer', 0.002267), - ('Claes', 0.002743), - ('Conny', 0.001928), - ('Dan', 0.002910), - ('Daniel', 0.009526), - ('David', 0.005483), - ('Dennis', 0.001779), - ('Edvard', 0.001253), - ('Edvin', 0.001559), - ('Egon', 0.001019), - ('Einar', 0.002486), - ('Elias', 0.001085), - ('Emanuel', 0.003777), - ('Emil', 0.004770), - ('Eric', 0.003387), - ('Erik', 0.041018), - ('Erland', 0.001450), - ('Erling', 0.001173), - ('Ernst', 0.002205), - ('Evert', 0.003313), - ('Filip', 0.001959), - ('Folke', 0.002876), - ('Fredrik', 0.011770), - ('Georg', 0.003446), - ('Gerhard', 0.001174), - ('Gert', 0.001548), - ('Gunnar', 0.017957), - ('Gustaf', 0.007420), - ('Gustav', 0.009406), - ('Göran', 0.012287), - ('Gösta', 0.005590), - ('Göte', 0.002297), - ('Hans', 0.016636), - ('Harald', 0.002359), - ('Harry', 0.002872), - ('Helge', 0.002005), - ('Henning', 0.001194), - ('Henrik', 0.007644), - ('Henry', 0.003134), - ('Herbert', 0.001257), - ('Hjalmar', 0.001179), - ('Holger', 0.001641), - ('Hugo', 0.001976), - ('Håkan', 0.006974), - ('Inge', 0.002880), - ('Ingemar', 0.009024), - ('Ingmar', 0.001138), - ('Ingvar', 0.006758), - ('Ivan', 0.001668), - ('Ivar', 0.002943), - ('Jacob', 0.001023), - ('Jakob', 0.001299), - ('Jan', 0.017300), - ('Jan-Erik', 0.001094), - ('Jens', 0.002221), - ('Jesper', 0.002177), - ('Jimmy', 0.002120), - ('Joakim', 0.004606), - ('Joel', 0.001778), - ('Johan', 0.021986), - ('Johannes', 0.003538), - ('John', 0.008741), - ('Johnny', 0.001499), - ('Jonas', 0.007433), - ('Jonathan', 0.001616), - ('Jonny', 0.001420), - ('Josef', 0.001131), - ('Juhani', 0.001368), - ('Jörgen', 0.003869), - ('Karl', 0.030342), - ('Kenneth', 0.003540), - ('Kent', 0.004156), - ('Kim', 0.001298), - ('Kjell', 0.007932), - ('Klas', 0.001989), - ('Knut', 0.002668), - ('Krister', 0.002433), - ('Kristian', 0.001849), - ('Kristoffer', 0.001548), - ('Kurt', 0.004453), - ('Lars', 0.031620), - ('Lars-erik', 0.001056), - ('Leif', 0.009180), - ('Lennart', 0.019721), - ('Linus', 0.001817), - ('Ludvig', 0.001014), - ('Magnus', 0.009301), - ('Marcus', 0.004065), - ('Markus', 0.002075), - ('Martin', 0.008861), - ('Mathias', 0.001551), - ('Mats', 0.008403), - ('Mattias', 0.005657), - ('Max', 0.001234), - ('Michael', 0.004456), - ('Mikael', 0.015583), - ('Morgan', 0.001377), - ('Nicklas', 0.001201), - ('Niclas', 0.001643), - ('Niklas', 0.003704), - ('Nils', 0.018831), - ('Ola', 0.002691), - ('Olle', 0.001666), - ('Olof', 0.017132), - ('Olov', 0.005457), - ('Oscar', 0.002606), - ('Oskar', 0.005198), - ('Otto', 0.001361), - ('Ove', 0.004994), - ('Patrik', 0.005091), - ('Paul', 0.002455), - ('Per', 0.022690), - ('Peter', 0.014015), - ('Petter', 0.001150), - ('Philip', 0.001340), - ('Pierre', 0.001014), - ('Pontus', 0.001652), - ('Pär', 0.002043), - ('Ragnar', 0.002983), - ('Rasmus', 0.001323), - ('Reinhold', 0.001075), - ('Richard', 0.002053), - ('Rickard', 0.002830), - ('Rikard', 0.001272), - ('Robert', 0.006959), - ('Robin', 0.003012), - ('Roger', 0.005033), - ('Roland', 0.006879), - ('Rolf', 0.007914), - ('Ronny', 0.001561), - ('Rune', 0.005600), - ('Samuel', 0.001473), - ('Sebastian', 0.003275), - ('Sigurd', 0.001099), - ('Sigvard', 0.002438), - ('Simon', 0.003338), - ('Sixten', 0.001299), - ('Staffan', 0.001627), - ('Stefan', 0.009034), - ('Sten', 0.003911), - ('Stig', 0.009343), - ('Sture', 0.002518), - ('Sune', 0.002173), - ('Sven', 0.017897), - ('Sören', 0.002376), - ('Tage', 0.002198), - ('Thomas', 0.007380), - ('Tobias', 0.003623), - ('Tom', 0.000977), - ('Tomas', 0.004168), - ('Tommy', 0.005526), - ('Tony', 0.001814), - ('Torbjörn', 0.002984), - ('Tord', 0.001449), - ('Tore', 0.002630), - ('Torsten', 0.002915), - ('Ture', 0.001212), - ('Ulf', 0.008541), - ('Uno', 0.001812), - ('Urban', 0.001584), - ('Valdemar', 0.002204), - ('Valter', 0.001371), - ('Verner', 0.001196), - ('Victor', 0.001543), - ('Viktor', 0.003080), - ('Vilhelm', 0.003785), - ('Wilhelm', 0.002195), - ('William', 0.002332), - ('Yngve', 0.002698), - ('Åke', 0.013837), - )) + first_names_male = OrderedDict( + ( + ("Adam", 0.001770), + ("Albert", 0.001419), + ("Albin", 0.001392), + ("Alexander", 0.006474), + ("Alf", 0.003571), + ("Alfred", 0.001069), + ("Allan", 0.003591), + ("Alvar", 0.001072), + ("Anders", 0.025312), + ("Andreas", 0.008399), + ("André", 0.001357), + ("Anton", 0.002930), + ("Arne", 0.010637), + ("Arnold", 0.001027), + ("Artur", 0.001269), + ("Arvid", 0.002169), + ("Axel", 0.006910), + ("Bengt", 0.014569), + ("Benny", 0.001397), + ("Bernt", 0.002951), + ("Bert", 0.001153), + ("Bertil", 0.010902), + ("Birger", 0.003109), + ("Björn", 0.007803), + ("Bo", 0.011988), + ("Bror", 0.003281), + ("Börje", 0.003853), + ("Carl", 0.013483), + ("Christer", 0.007964), + ("Christian", 0.004359), + ("Christoffer", 0.002267), + ("Claes", 0.002743), + ("Conny", 0.001928), + ("Dan", 0.002910), + ("Daniel", 0.009526), + ("David", 0.005483), + ("Dennis", 0.001779), + ("Edvard", 0.001253), + ("Edvin", 0.001559), + ("Egon", 0.001019), + ("Einar", 0.002486), + ("Elias", 0.001085), + ("Emanuel", 0.003777), + ("Emil", 0.004770), + ("Eric", 0.003387), + ("Erik", 0.041018), + ("Erland", 0.001450), + ("Erling", 0.001173), + ("Ernst", 0.002205), + ("Evert", 0.003313), + ("Filip", 0.001959), + ("Folke", 0.002876), + ("Fredrik", 0.011770), + ("Georg", 0.003446), + ("Gerhard", 0.001174), + ("Gert", 0.001548), + ("Gunnar", 0.017957), + ("Gustaf", 0.007420), + ("Gustav", 0.009406), + ("Göran", 0.012287), + ("Gösta", 0.005590), + ("Göte", 0.002297), + ("Hans", 0.016636), + ("Harald", 0.002359), + ("Harry", 0.002872), + ("Helge", 0.002005), + ("Henning", 0.001194), + ("Henrik", 0.007644), + ("Henry", 0.003134), + ("Herbert", 0.001257), + ("Hjalmar", 0.001179), + ("Holger", 0.001641), + ("Hugo", 0.001976), + ("Håkan", 0.006974), + ("Inge", 0.002880), + ("Ingemar", 0.009024), + ("Ingmar", 0.001138), + ("Ingvar", 0.006758), + ("Ivan", 0.001668), + ("Ivar", 0.002943), + ("Jacob", 0.001023), + ("Jakob", 0.001299), + ("Jan", 0.017300), + ("Jan-Erik", 0.001094), + ("Jens", 0.002221), + ("Jesper", 0.002177), + ("Jimmy", 0.002120), + ("Joakim", 0.004606), + ("Joel", 0.001778), + ("Johan", 0.021986), + ("Johannes", 0.003538), + ("John", 0.008741), + ("Johnny", 0.001499), + ("Jonas", 0.007433), + ("Jonathan", 0.001616), + ("Jonny", 0.001420), + ("Josef", 0.001131), + ("Juhani", 0.001368), + ("Jörgen", 0.003869), + ("Karl", 0.030342), + ("Kenneth", 0.003540), + ("Kent", 0.004156), + ("Kim", 0.001298), + ("Kjell", 0.007932), + ("Klas", 0.001989), + ("Knut", 0.002668), + ("Krister", 0.002433), + ("Kristian", 0.001849), + ("Kristoffer", 0.001548), + ("Kurt", 0.004453), + ("Lars", 0.031620), + ("Lars-erik", 0.001056), + ("Leif", 0.009180), + ("Lennart", 0.019721), + ("Linus", 0.001817), + ("Ludvig", 0.001014), + ("Magnus", 0.009301), + ("Marcus", 0.004065), + ("Markus", 0.002075), + ("Martin", 0.008861), + ("Mathias", 0.001551), + ("Mats", 0.008403), + ("Mattias", 0.005657), + ("Max", 0.001234), + ("Michael", 0.004456), + ("Mikael", 0.015583), + ("Morgan", 0.001377), + ("Nicklas", 0.001201), + ("Niclas", 0.001643), + ("Niklas", 0.003704), + ("Nils", 0.018831), + ("Ola", 0.002691), + ("Olle", 0.001666), + ("Olof", 0.017132), + ("Olov", 0.005457), + ("Oscar", 0.002606), + ("Oskar", 0.005198), + ("Otto", 0.001361), + ("Ove", 0.004994), + ("Patrik", 0.005091), + ("Paul", 0.002455), + ("Per", 0.022690), + ("Peter", 0.014015), + ("Petter", 0.001150), + ("Philip", 0.001340), + ("Pierre", 0.001014), + ("Pontus", 0.001652), + ("Pär", 0.002043), + ("Ragnar", 0.002983), + ("Rasmus", 0.001323), + ("Reinhold", 0.001075), + ("Richard", 0.002053), + ("Rickard", 0.002830), + ("Rikard", 0.001272), + ("Robert", 0.006959), + ("Robin", 0.003012), + ("Roger", 0.005033), + ("Roland", 0.006879), + ("Rolf", 0.007914), + ("Ronny", 0.001561), + ("Rune", 0.005600), + ("Samuel", 0.001473), + ("Sebastian", 0.003275), + ("Sigurd", 0.001099), + ("Sigvard", 0.002438), + ("Simon", 0.003338), + ("Sixten", 0.001299), + ("Staffan", 0.001627), + ("Stefan", 0.009034), + ("Sten", 0.003911), + ("Stig", 0.009343), + ("Sture", 0.002518), + ("Sune", 0.002173), + ("Sven", 0.017897), + ("Sören", 0.002376), + ("Tage", 0.002198), + ("Thomas", 0.007380), + ("Tobias", 0.003623), + ("Tom", 0.000977), + ("Tomas", 0.004168), + ("Tommy", 0.005526), + ("Tony", 0.001814), + ("Torbjörn", 0.002984), + ("Tord", 0.001449), + ("Tore", 0.002630), + ("Torsten", 0.002915), + ("Ture", 0.001212), + ("Ulf", 0.008541), + ("Uno", 0.001812), + ("Urban", 0.001584), + ("Valdemar", 0.002204), + ("Valter", 0.001371), + ("Verner", 0.001196), + ("Victor", 0.001543), + ("Viktor", 0.003080), + ("Vilhelm", 0.003785), + ("Wilhelm", 0.002195), + ("William", 0.002332), + ("Yngve", 0.002698), + ("Åke", 0.013837), + ) + ) first_names = first_names_male.copy() first_names.update(first_names_female) - last_names = OrderedDict(( - ('Abrahamsson', 0.002440), - ('Adolfsson', 0.002012), - ('Alm', 0.001448), - ('Andersson', 0.074993), - ('Andreasson', 0.002450), - ('Aronsson', 0.001722), - ('Arvidsson', 0.003474), - ('Augustsson', 0.001306), - ('Axelsson', 0.006128), - ('Bengtsson', 0.009764), - ('Berg', 0.005072), - ('Berggren', 0.002914), - ('Berglund', 0.005115), - ('Bergman', 0.003560), - ('Bergqvist', 0.002172), - ('Bergström', 0.005561), - ('Berntsson', 0.001280), - ('Björk', 0.003265), - ('Björklund', 0.002883), - ('Björkman', 0.001760), - ('Blom', 0.002326), - ('Blomberg', 0.001464), - ('Blomqvist', 0.002349), - ('Boman', 0.001365), - ('Borg', 0.001954), - ('Boström', 0.001985), - ('Bäckström', 0.001865), - ('Börjesson', 0.002036), - ('Carlsson', 0.007727), - ('Claesson', 0.001600), - ('Dahl', 0.002064), - ('Dahlberg', 0.002382), - ('Dahlgren', 0.001578), - ('Dahlström', 0.001538), - ('Danielsson', 0.004208), - ('Davidsson', 0.002035), - ('Edlund', 0.001649), - ('Ek', 0.002187), - ('Ekberg', 0.001201), - ('Eklund', 0.003919), - ('Ekman', 0.001847), - ('Ekström', 0.002670), - ('Eliasson', 0.003127), - ('Englund', 0.001958), - ('Engström', 0.004079), - ('Ericsson', 0.001221), - ('Eriksson', 0.039871), - ('Erlandsson', 0.001768), - ('Falk', 0.002035), - ('Forsberg', 0.004265), - ('Forslund', 0.001137), - ('Fransson', 0.003937), - ('Franzén', 0.001491), - ('Fredriksson', 0.004959), - ('Friberg', 0.001828), - ('Gunnarsson', 0.003764), - ('Gustafsson', 0.020795), - ('Gustavsson', 0.007363), - ('Göransson', 0.002330), - ('Haglund', 0.001575), - ('Hagström', 0.001315), - ('Hallberg', 0.002017), - ('Hansen', 0.001804), - ('Hansson', 0.012512), - ('Hedberg', 0.001824), - ('Hedlund', 0.002617), - ('Hedman', 0.001419), - ('Hedström', 0.001406), - ('Hellberg', 0.001212), - ('Hellström', 0.002385), - ('Henriksson', 0.004586), - ('Hermansson', 0.002866), - ('Hjalmarsson', 0.001191), - ('Holm', 0.003700), - ('Holmberg', 0.003521), - ('Holmgren', 0.002689), - ('Holmqvist', 0.001561), - ('Holmström', 0.001904), - ('Hägglund', 0.001134), - ('Håkansson', 0.004300), - ('Högberg', 0.001492), - ('Höglund', 0.001861), - ('Isaksson', 0.003349), - ('Ivarsson', 0.002209), - ('Jakobsson', 0.005863), - ('Jansson', 0.014518), - ('Jensen', 0.001898), - ('Johannesson', 0.001813), - ('Johansson', 0.076124), - ('Johnsson', 0.003881), - ('Jonasson', 0.002439), - ('Jonsson', 0.016550), - ('Josefsson', 0.002104), - ('Jönsson', 0.009781), - ('Karlsson', 0.058698), - ('Klasson', 0.001235), - ('Knutsson', 0.001627), - ('Kristiansson', 0.001226), - ('Larsson', 0.036191), - ('Lilja', 0.001410), - ('Lind', 0.003910), - ('Lindahl', 0.001815), - ('Lindberg', 0.007056), - ('Lindblad', 0.001253), - ('Lindblom', 0.001864), - ('Lindell', 0.001351), - ('Linder', 0.001210), - ('Lindgren', 0.006080), - ('Lindholm', 0.002166), - ('Lindkvist', 0.001233), - ('Lindqvist', 0.004209), - ('Lindström', 0.006642), - ('Lindén', 0.001551), - ('Ljung', 0.001232), - ('Ljungberg', 0.001274), - ('Lund', 0.002142), - ('Lundberg', 0.005680), - ('Lundgren', 0.005495), - ('Lundin', 0.003970), - ('Lundkvist', 0.001252), - ('Lundmark', 0.001410), - ('Lundqvist', 0.003493), - ('Lundström', 0.003173), - ('Löfgren', 0.002211), - ('Magnusson', 0.007333), - ('Malm', 0.001580), - ('Malmberg', 0.001224), - ('Martinsson', 0.002500), - ('Mattsson', 0.004904), - ('Melin', 0.001487), - ('Moberg', 0.001532), - ('Molin', 0.001312), - ('Månsson', 0.002563), - ('Mårtensson', 0.003432), - ('Möller', 0.002013), - ('Nielsen', 0.001623), - ('Nilsson', 0.050327), - ('Norberg', 0.002325), - ('Nord', 0.001346), - ('Nordin', 0.002799), - ('Nordström', 0.003207), - ('Norman', 0.001228), - ('Norén', 0.001524), - ('Nyberg', 0.003291), - ('Nygren', 0.001880), - ('Nyman', 0.002117), - ('Nyström', 0.003538), - ('Näslund', 0.001331), - ('Ohlsson', 0.001141), - ('Olausson', 0.001503), - ('Olofsson', 0.006893), - ('Olsson', 0.032427), - ('Oskarsson', 0.001576), - ('Ottosson', 0.002066), - ('Palm', 0.001957), - ('Paulsson', 0.001382), - ('Pedersen', 0.001201), - ('Persson', 0.031475), - ('Petersson', 0.008913), - ('Pettersson', 0.019276), - ('Pålsson', 0.001626), - ('Roos', 0.001447), - ('Rosén', 0.001810), - ('Samuelsson', 0.003855), - ('Sandberg', 0.004613), - ('Sandström', 0.002761), - ('Sjöberg', 0.004282), - ('Sjödin', 0.001399), - ('Sjögren', 0.002585), - ('Sjöström', 0.001921), - ('Skoglund', 0.001788), - ('Sköld', 0.001266), - ('Stenberg', 0.001784), - ('Strand', 0.001771), - ('Strandberg', 0.001755), - ('Ström', 0.002872), - ('Strömberg', 0.002357), - ('Ståhl', 0.001260), - ('Sundberg', 0.002691), - ('Sundin', 0.001434), - ('Sundqvist', 0.001526), - ('Sundström', 0.002302), - ('Svensson', 0.030624), - ('Svärd', 0.001284), - ('Söderberg', 0.003305), - ('Söderlund', 0.001970), - ('Söderström', 0.002226), - ('Törnqvist', 0.001176), - ('Viklund', 0.001833), - ('Vikström', 0.001757), - ('Wahlström', 0.001139), - ('Wallin', 0.003077), - ('Wikström', 0.001522), - ('Åberg', 0.002664), - ('Ågren', 0.001320), - ('Åkesson', 0.002344), - ('Åström', 0.002272), - ('Öberg', 0.002448), - ('Öhman', 0.001415), - ('Östlund', 0.001623), - )) + last_names = OrderedDict( + ( + ("Abrahamsson", 0.002440), + ("Adolfsson", 0.002012), + ("Alm", 0.001448), + ("Andersson", 0.074993), + ("Andreasson", 0.002450), + ("Aronsson", 0.001722), + ("Arvidsson", 0.003474), + ("Augustsson", 0.001306), + ("Axelsson", 0.006128), + ("Bengtsson", 0.009764), + ("Berg", 0.005072), + ("Berggren", 0.002914), + ("Berglund", 0.005115), + ("Bergman", 0.003560), + ("Bergqvist", 0.002172), + ("Bergström", 0.005561), + ("Berntsson", 0.001280), + ("Björk", 0.003265), + ("Björklund", 0.002883), + ("Björkman", 0.001760), + ("Blom", 0.002326), + ("Blomberg", 0.001464), + ("Blomqvist", 0.002349), + ("Boman", 0.001365), + ("Borg", 0.001954), + ("Boström", 0.001985), + ("Bäckström", 0.001865), + ("Börjesson", 0.002036), + ("Carlsson", 0.007727), + ("Claesson", 0.001600), + ("Dahl", 0.002064), + ("Dahlberg", 0.002382), + ("Dahlgren", 0.001578), + ("Dahlström", 0.001538), + ("Danielsson", 0.004208), + ("Davidsson", 0.002035), + ("Edlund", 0.001649), + ("Ek", 0.002187), + ("Ekberg", 0.001201), + ("Eklund", 0.003919), + ("Ekman", 0.001847), + ("Ekström", 0.002670), + ("Eliasson", 0.003127), + ("Englund", 0.001958), + ("Engström", 0.004079), + ("Ericsson", 0.001221), + ("Eriksson", 0.039871), + ("Erlandsson", 0.001768), + ("Falk", 0.002035), + ("Forsberg", 0.004265), + ("Forslund", 0.001137), + ("Fransson", 0.003937), + ("Franzén", 0.001491), + ("Fredriksson", 0.004959), + ("Friberg", 0.001828), + ("Gunnarsson", 0.003764), + ("Gustafsson", 0.020795), + ("Gustavsson", 0.007363), + ("Göransson", 0.002330), + ("Haglund", 0.001575), + ("Hagström", 0.001315), + ("Hallberg", 0.002017), + ("Hansen", 0.001804), + ("Hansson", 0.012512), + ("Hedberg", 0.001824), + ("Hedlund", 0.002617), + ("Hedman", 0.001419), + ("Hedström", 0.001406), + ("Hellberg", 0.001212), + ("Hellström", 0.002385), + ("Henriksson", 0.004586), + ("Hermansson", 0.002866), + ("Hjalmarsson", 0.001191), + ("Holm", 0.003700), + ("Holmberg", 0.003521), + ("Holmgren", 0.002689), + ("Holmqvist", 0.001561), + ("Holmström", 0.001904), + ("Hägglund", 0.001134), + ("Håkansson", 0.004300), + ("Högberg", 0.001492), + ("Höglund", 0.001861), + ("Isaksson", 0.003349), + ("Ivarsson", 0.002209), + ("Jakobsson", 0.005863), + ("Jansson", 0.014518), + ("Jensen", 0.001898), + ("Johannesson", 0.001813), + ("Johansson", 0.076124), + ("Johnsson", 0.003881), + ("Jonasson", 0.002439), + ("Jonsson", 0.016550), + ("Josefsson", 0.002104), + ("Jönsson", 0.009781), + ("Karlsson", 0.058698), + ("Klasson", 0.001235), + ("Knutsson", 0.001627), + ("Kristiansson", 0.001226), + ("Larsson", 0.036191), + ("Lilja", 0.001410), + ("Lind", 0.003910), + ("Lindahl", 0.001815), + ("Lindberg", 0.007056), + ("Lindblad", 0.001253), + ("Lindblom", 0.001864), + ("Lindell", 0.001351), + ("Linder", 0.001210), + ("Lindgren", 0.006080), + ("Lindholm", 0.002166), + ("Lindkvist", 0.001233), + ("Lindqvist", 0.004209), + ("Lindström", 0.006642), + ("Lindén", 0.001551), + ("Ljung", 0.001232), + ("Ljungberg", 0.001274), + ("Lund", 0.002142), + ("Lundberg", 0.005680), + ("Lundgren", 0.005495), + ("Lundin", 0.003970), + ("Lundkvist", 0.001252), + ("Lundmark", 0.001410), + ("Lundqvist", 0.003493), + ("Lundström", 0.003173), + ("Löfgren", 0.002211), + ("Magnusson", 0.007333), + ("Malm", 0.001580), + ("Malmberg", 0.001224), + ("Martinsson", 0.002500), + ("Mattsson", 0.004904), + ("Melin", 0.001487), + ("Moberg", 0.001532), + ("Molin", 0.001312), + ("Månsson", 0.002563), + ("Mårtensson", 0.003432), + ("Möller", 0.002013), + ("Nielsen", 0.001623), + ("Nilsson", 0.050327), + ("Norberg", 0.002325), + ("Nord", 0.001346), + ("Nordin", 0.002799), + ("Nordström", 0.003207), + ("Norman", 0.001228), + ("Norén", 0.001524), + ("Nyberg", 0.003291), + ("Nygren", 0.001880), + ("Nyman", 0.002117), + ("Nyström", 0.003538), + ("Näslund", 0.001331), + ("Ohlsson", 0.001141), + ("Olausson", 0.001503), + ("Olofsson", 0.006893), + ("Olsson", 0.032427), + ("Oskarsson", 0.001576), + ("Ottosson", 0.002066), + ("Palm", 0.001957), + ("Paulsson", 0.001382), + ("Pedersen", 0.001201), + ("Persson", 0.031475), + ("Petersson", 0.008913), + ("Pettersson", 0.019276), + ("Pålsson", 0.001626), + ("Roos", 0.001447), + ("Rosén", 0.001810), + ("Samuelsson", 0.003855), + ("Sandberg", 0.004613), + ("Sandström", 0.002761), + ("Sjöberg", 0.004282), + ("Sjödin", 0.001399), + ("Sjögren", 0.002585), + ("Sjöström", 0.001921), + ("Skoglund", 0.001788), + ("Sköld", 0.001266), + ("Stenberg", 0.001784), + ("Strand", 0.001771), + ("Strandberg", 0.001755), + ("Ström", 0.002872), + ("Strömberg", 0.002357), + ("Ståhl", 0.001260), + ("Sundberg", 0.002691), + ("Sundin", 0.001434), + ("Sundqvist", 0.001526), + ("Sundström", 0.002302), + ("Svensson", 0.030624), + ("Svärd", 0.001284), + ("Söderberg", 0.003305), + ("Söderlund", 0.001970), + ("Söderström", 0.002226), + ("Törnqvist", 0.001176), + ("Viklund", 0.001833), + ("Vikström", 0.001757), + ("Wahlström", 0.001139), + ("Wallin", 0.003077), + ("Wikström", 0.001522), + ("Åberg", 0.002664), + ("Ågren", 0.001320), + ("Åkesson", 0.002344), + ("Åström", 0.002272), + ("Öberg", 0.002448), + ("Öhman", 0.001415), + ("Östlund", 0.001623), + ) + ) diff --git a/faker/providers/person/ta_IN/__init__.py b/faker/providers/person/ta_IN/__init__.py index 6defcb7588..690156563a 100644 --- a/faker/providers/person/ta_IN/__init__.py +++ b/faker/providers/person/ta_IN/__init__.py @@ -3,1025 +3,1027 @@ class Provider(PersonProvider): formats_female = ( - '{{first_name_female}}', - '{{first_name_female}}', - '{{first_name_female}}', - '{{first_name_female}} {{last_name}}', - '{{first_name_female}} {{last_name}}') + "{{first_name_female}}", + "{{first_name_female}}", + "{{first_name_female}}", + "{{first_name_female}} {{last_name}}", + "{{first_name_female}} {{last_name}}", + ) formats_male = ( - '{{first_name_male}}', - '{{first_name_male}}', - '{{first_name_male}}', - '{{first_name_male}} {{last_name}}', - '{{first_name_male}} {{last_name}}') + "{{first_name_male}}", + "{{first_name_male}}", + "{{first_name_male}}", + "{{first_name_male}} {{last_name}}", + "{{first_name_male}} {{last_name}}", + ) formats = formats_male + formats_female # Source: http://tamilcube.com/babynames/tamil-baby-names.aspx first_names_male = ( - 'அகண்டலன்', - 'அகத்தியன்', - 'அகரன்', - 'அகரமுதல்வன்', - 'அகற்கண்ணன்', - 'அகற்குறி', - 'அகலன்', - 'அகலறிவன்', - 'அகலார்சடையன்', - 'அகல்', - 'அகழ்மேனி', - 'அகவன்', - 'அகாத்', - 'அகிரா', - 'அகிலங்கடந்தான்', - 'அகிலன்', - 'அகில்', - 'அகுல்,', - 'அகோரா', - 'அக்தர்', - 'அக்னி', - 'அக்னிகுமாரன்', - 'அக்மல்,', - 'அக்ரூர்,', - 'அக்ரோதனன்', - 'அங்கணன்', - 'அங்கதன்', - 'அச்சுதானந்தன்', - 'அஜய்', - 'ஆகர்ணா,', - 'ஆகாஷ்', - 'ஆகேந்திரா', - 'ஆக்னேயா', - 'ஆசைத்தம்பி', - 'ஆஞ்சனேயா', - 'ஆடலரசன்', - 'ஆடலரசு', - 'ஆட்டனத்தி', - 'ஆண்டர்ஸன்', - 'ஆண்ட்ரு', - 'ஆதர்ஷ்', - 'ஆதர்ஷ்,ஆதேஷ்', - 'ஆதவன்', - 'ஆதி', - 'ஆதிகுணா', - 'ஆதிகேசவன்', - 'ஆதிசங்கரா', - 'ஆதிசேஷா', - 'ஆதிதேவா', - 'ஆதித்யவர்த்தன்', - 'ஆதித்யா', - 'ஆதிநாதன்', - 'ஆதிநாராயணா', - 'ஆதிமூர்த்தி', - 'ஆத்மஜா,', - 'ஆனந்த', - 'ஆனந்தகிரி', - 'ஆனந்தசாகரன்', - 'ஆனந்ததேவன்', - 'இக்பால்', - 'இக்ஷூ,', - 'இசக்கிமுத்து', - 'இசைக்கலை', - 'இசைக்கலைவாணன்', - 'இசைக்கோ', - 'இசைச்செல்வன்', - 'இசைச்செல்வம்', - 'இசைத்தமிழன்', - 'இசைத்தம்பி', - 'இசைமணி', - 'இசைமாமணி', - 'இசைமுதல்வன்', - 'இசையரசன்', - 'இசையரசு', - 'இசையறிவன்', - 'இசையழகன்', - 'இசையாளன்', - 'இசையேந்தல்', - 'இசைவளன்', - 'இசைவளவன்', - 'இசைவாணன்', - 'இசைவேந்தன்', - 'இடைக்காடன்', - 'இடைக்காடர்', - 'இந்தரஜித்', - 'இந்திகாப்', - 'இந்திரகுமார்', - 'இந்திரநீல்', - 'இந்திவார்', - 'உஜாகர்', - 'உஜேஷ்', - 'உட்கர்ஷ்', - 'உதயகுமார்;', - 'உதயச்சல்', - 'உதயன்', - 'உதயபரிதி', - 'உதயமூர்த்தி', - 'உதயவன்', - 'உதயவானன்', - 'உதயா', - 'உதய்', - 'உதர்', - 'உதாங்கன்', - 'உதித்', - 'உதியஞ்சேரல்', - 'உதியன்', - 'உதீப்', - 'உத்கர்ஷா', - 'உத்சவ்', - 'உத்தம்', - 'உத்தர்', - 'உத்தவ்', - 'உத்தியா', - 'உத்பல்', - 'உன்னத்', - 'உன்மேஷ்', - 'உபதேஷ்', - 'உபமன்யூ', - 'உபேந்திரா', - 'ஊர்ஜித்', - 'எகாம்பரம்', - 'எட்டப்பன்', - 'எழினி', - 'எழிற்கண்', - 'எழிற்கதிர்', - 'எழிற்குமரன்', - 'எழிற்கோ', - 'எழிற்கோமகன்', - 'எழிற்பாவியன்', - 'எழிலகன்', - 'எழிலன்', - 'எழிலன்பன்', - 'எழிலரசன்', - 'எழிலழகன்', - 'எழிலாம்பல்', - 'எழிலேந்தி', - 'எழில்', - 'எழில்குமரன்', - 'எழில்மணி', - 'எழில்மதி', - 'எழில்மன்னன்', - 'எழில்மலை', - 'எழில்முகிலன்', - 'ஏகசந்திரா', - 'ஏகசிந்த்', - 'ஏகராஜ்', - 'ஏகலைவன்', - 'ஏகா', - 'ஏகாங்கா', - 'ஏகாம்பரம்', - 'ஏக்ராம்', - 'ஏந்தல்', - 'ஏழிசை', - 'ஏழிசைக்கதிர்', - 'ஏழிசைக்கனல்', - 'ஏழிசைக்கனி', - 'ஏழிசைக்கலை', - 'ஏழிசைக்குமரன்', - 'ஏழிசைக்குரிசில்', - 'ஐயனாரப்பன்', - 'ஐயன்', - 'ஐயப்பன்', - 'ஐயம்பெருமான்', - 'ஐயா', - 'ஐஸக்', - 'ஒட்டக்கூத்தன்', - 'ஒட்டக்கூத்தர்', - 'ஒளி', - 'ஒளிஒவியம்', - 'ஒளிமதி', - 'ஒளியன்', - 'ஒளியழகன்', - 'ஒளியவன்', - 'ஒளிர்நிலவன்', - 'ஒளிவேந்தன்', - 'ஒள்ளறிவன்', - 'கங்கைகொண்டான்', - 'கசரா', - 'கடம்பன்', - 'கடம்பா', - 'கடர்', - 'கடற்கோ', - 'கடலரசன்', - 'கடலிறை', - 'கடல்வேந்தன்', - 'கணியன்', - 'கணேஷ்', - 'கணைக்கால்', - 'கண்ணதாசன்', - 'கண்ணன்', - 'கண்ணப்பன்', - 'கண்ணாயிரம்', - 'கண்ணுக்கினியன்', - 'கண்ணையன்', - 'கண்மணி', - 'கண்மதியன்', - 'கண்மயா', - 'கதிரழகன்', - 'கதிரவன்', - 'கதிரொளி', - 'கதிரேசன்', - 'கதிரோன்', - 'கதிர்', - 'சகுந்தன்', - 'சக்கரவர்த்தி', - 'சக்திவேல', - 'சங்கன்', - 'சங்கிலி', - 'சசி', - 'சசிகாந்த்', - 'சசிகுமார்', - 'சசிதரன்', - 'சச்சிதாநந்தம்', - 'சஜீத்', - 'சஞ்சய்', - 'சஞ்ஜோக்', - 'சடகோபன்', - 'சதிஷ்வரன்', - 'சதீஷ்', - 'சத்தியலிங்கம்', - 'சத்யநாராயணன்', - 'சத்யமூர்த்தி', - 'சத்யராஐ;', - 'சத்யவாணன்', - 'சத்யவிரதன்', - 'சத்யா', - 'சத்யேந்திரா', - 'சத்ருகணன்', - 'சந்தனு', - 'சந்தானம்', - 'சந்திர', - 'தக்ஷேஷ்', - 'தங்கக்கதிர்', - 'தங்கச்சுடர்', - 'தங்கதுரை', - 'தங்கத்தமிழன்', - 'தங்கத்தமிழ்', - 'தங்கபாண்டியன்', - 'தங்கமகன்', - 'தங்கமணி', - 'தங்கமதி', - 'தங்கமுத்து', - 'தங்கம்', - 'தங்கராஐ;', - 'தங்கவேலன்', - 'தங்கவேலு', - 'தங்கவேல்', - 'தங்கேஷ்வரன்', - 'தசரதன்', - 'தஞ்சைவாணன்', - 'தணி;சேரன்', - 'தணிகேவேலன்', - 'தணிகைச்செல்வன்', - 'தணிகைத்தம்பி', - 'தணிகைநம்பி', - 'தணிகைமணி', - 'தணிகைமுருகன்', - 'தணிகைமுருகு', - 'தணிகையரசு', - 'தணிகைவேலன்', - 'தணிகைவேல்', - 'நக்கீரத்தமிழன்', - 'நக்கீரன்', - 'நக்கீரர்', - 'நச்சினார்க்கினியன்', - 'நச்சினார்க்கினியர்', - 'நடராஜன்', - 'நடவரசன்', - 'நடேஷ்', - 'நட்புச்செல்வன்', - 'நந்தன்', - 'நந்தா', - 'நன்னன்', - 'நன்னாடன்', - 'நன்னாயகம்', - 'நன்னி', - 'நன்னூலன்', - 'நன்னெறியன்', - 'நன்மணி', - 'நன்மதி', - 'நன்மாறன்', - 'நன்மொழியன்', - 'நம்பி', - 'நம்பிகுட்டுவன்', - 'நம்பியருள்', - 'நம்பியூரான்', - 'நம்பிள்ளை', - 'நம்பெருமான்', - 'நம்பெருமாள்', - 'நம்மாழ்வார்', - 'பகத்', - 'பகலவன்', - 'பகவந்த்', - 'பகீரதன்', - 'பகுகுனன்', - 'பகுதானன்', - 'பகுபலி', - 'பகுபாலன்', - 'பகுபுத்ரன்', - 'பகுப்ரியன்', - 'பகுமான்யன்', - 'பகுமித்ரன்', - 'பக்தவச்சலம்', - 'பசந்த்', - 'பசவராஜ்', - 'பசுபதி', - 'பச்சையப்பன்', - 'பஜன்', - 'பஜரங்கன்', - 'பதிரன்', - 'பதுமனார்', - 'பத்மநாபன்', - 'பத்ரநிதி', - 'பத்ராகன்', - 'பத்ராயணர்', - 'பத்ரி', - 'பத்ரிநாதன்', - 'பத்ரிநாராயணன்', - 'பத்ருஹரி', - 'பந்துல்', - 'மகிணன்', - 'மகிழரசன்', - 'மகிழரசு', - 'மகிழ்கோ', - 'மகிழ்ச்சிக்கு', - 'மகிழ்நன்', - 'மகிழ்ந்தன்', - 'மணவழகன்', - 'மணவாளன்', - 'மணி', - 'மணிகண்டன்', - 'மணிக்கதிர்', - 'மணிக்கொடி', - 'மணிக்கோ', - 'மணிக்கோவன்', - 'மணிச்சுடர்', - 'மணிநிலவன்', - 'மணிப்பவளன்', - 'மணிமன்றவாணன்', - 'மணிமலை', - 'மணிமார்பன்', - 'மணிமாறன்', - 'மணிமுடி', - 'மணிமுத்து', - 'மணிமொழியன்', - 'மணியன்', - 'மணியன்செல்வம்', - 'மணியரசன்', - 'மணிரத்ணம்', - 'மணிவண்ணன்', - 'யஷ்வந்த்', - 'யாழரசன்', - 'யாழ்பாடி', - 'யாழ்ப்பாணன்', - 'யாழ்வாணன்', - 'யூகேந்திரன்', - 'யூகேஷ்', - 'யூசுப்', - 'யூவராஐன்', - 'யூவராஜ்', - 'யேவான்', - 'யோகலிங்கம்', - 'யோகாநந்தன்', - 'யோகேஷ்', - 'ரஃபி', - 'ரகு', - 'ரகுபதி', - 'ரகுராம்', - 'ரகுவரன்', - 'ரங்கசாமி', - 'ரஜினி', - 'ரத்தினம்', - 'ரமணன்', - 'ரமணி', - 'ரமேஷ்', - 'ரமேஷ்கண்ணா', - 'ரவி', - 'ரவின்', - 'ரஷஷுத்', - 'ராகவன்', - 'ராகவ்', - 'ராஜ', - 'ராஜகுரு', - 'ராஜகோபால்', - 'ராஜசேகர்', - 'ராஜதுரை', - 'ராஜப்பிரியன்', - 'ராஜவேலு', - 'ராஜா', - 'ராஜீவ்', - 'ராஜேஷ்', - 'ராஜ்குமார்', - 'ராபர்ட்', - 'ராமசாமி', - 'வசந்த்', - 'வசந்த்குமார்', - 'வடிவேற்கரசன்', - 'வடிவேலன்', - 'வடிவேல்', - 'வடிவேல்முருகன்', - 'வணங்காமுடி', - 'வண்டார்குழலி', - 'வண்ணநிலவன்', - 'வண்ணன்', - 'வரதராஐன்', - 'வரதராஜ்', - 'வருண்குமாH', - 'வருனேஷ்', - 'வல்லரசு', - 'வல்லவன்', - 'வளவன்', - 'வள்ளல்', - 'வள்ளிமணாளன்', - 'வள்ளுவன்', - 'வள்ளுவர்', - 'வழுதி', - 'வஷிஷ்டர்', - 'வாகீசன்', - 'வாசு', - 'வாசுதேவன்', - 'வாஞ்சினாதன்', - 'வாணன்', - 'வானத்து', - 'வானமாமலை', - 'ஷகுந்த்', - 'ஷசி', - 'ஷத்ருஞ்ஜய்', - 'ஷபீர்', - 'ஷம்பு', - 'ஷரண்', - 'ஷலின்', - 'ஷஷாங்க்', - 'ஷஸ்வத்', - 'ஷா', - 'ஷானவாஸ்', - 'ஷிங்', - 'ஷியாம்', - 'ஷிஷிர்', - 'ஷைலேந்திரா', - 'ஷைலேஷ்', - 'ஷைல்', - 'ஷோபன்', - 'ஷ்னேகல்', - 'ஷ்யாமல்', - 'ஷ்யாம்', - 'ஷ்ராவண்', - 'ஷ்வேதங்க்', - 'ஸ்டீபன்', - 'ஸ்ரீகாந்த்', - 'ஸ்ரீசிவநாராயணன்', - 'ஸ்ரீதர்', - 'ஸ்ரீநிவாசன்', - 'ஸ்ரீநிவாஸ்', - 'ஸ்ரீபிரசாத்', - 'ஸ்ரீராம்', - 'ஸ்வப்நில்', - 'ஹம்ரிஷ்', - 'ஹரி', - 'ஹரிகரண்', - 'ஹரிதாஸ்', - 'ஹரிஷ்', - 'ஹரிஹரன்', - 'ஹவினாஷன்', - 'ஹஷ்விந்ரன்', - 'ஹாருண்', + "அகண்டலன்", + "அகத்தியன்", + "அகரன்", + "அகரமுதல்வன்", + "அகற்கண்ணன்", + "அகற்குறி", + "அகலன்", + "அகலறிவன்", + "அகலார்சடையன்", + "அகல்", + "அகழ்மேனி", + "அகவன்", + "அகாத்", + "அகிரா", + "அகிலங்கடந்தான்", + "அகிலன்", + "அகில்", + "அகுல்,", + "அகோரா", + "அக்தர்", + "அக்னி", + "அக்னிகுமாரன்", + "அக்மல்,", + "அக்ரூர்,", + "அக்ரோதனன்", + "அங்கணன்", + "அங்கதன்", + "அச்சுதானந்தன்", + "அஜய்", + "ஆகர்ணா,", + "ஆகாஷ்", + "ஆகேந்திரா", + "ஆக்னேயா", + "ஆசைத்தம்பி", + "ஆஞ்சனேயா", + "ஆடலரசன்", + "ஆடலரசு", + "ஆட்டனத்தி", + "ஆண்டர்ஸன்", + "ஆண்ட்ரு", + "ஆதர்ஷ்", + "ஆதர்ஷ்,ஆதேஷ்", + "ஆதவன்", + "ஆதி", + "ஆதிகுணா", + "ஆதிகேசவன்", + "ஆதிசங்கரா", + "ஆதிசேஷா", + "ஆதிதேவா", + "ஆதித்யவர்த்தன்", + "ஆதித்யா", + "ஆதிநாதன்", + "ஆதிநாராயணா", + "ஆதிமூர்த்தி", + "ஆத்மஜா,", + "ஆனந்த", + "ஆனந்தகிரி", + "ஆனந்தசாகரன்", + "ஆனந்ததேவன்", + "இக்பால்", + "இக்ஷூ,", + "இசக்கிமுத்து", + "இசைக்கலை", + "இசைக்கலைவாணன்", + "இசைக்கோ", + "இசைச்செல்வன்", + "இசைச்செல்வம்", + "இசைத்தமிழன்", + "இசைத்தம்பி", + "இசைமணி", + "இசைமாமணி", + "இசைமுதல்வன்", + "இசையரசன்", + "இசையரசு", + "இசையறிவன்", + "இசையழகன்", + "இசையாளன்", + "இசையேந்தல்", + "இசைவளன்", + "இசைவளவன்", + "இசைவாணன்", + "இசைவேந்தன்", + "இடைக்காடன்", + "இடைக்காடர்", + "இந்தரஜித்", + "இந்திகாப்", + "இந்திரகுமார்", + "இந்திரநீல்", + "இந்திவார்", + "உஜாகர்", + "உஜேஷ்", + "உட்கர்ஷ்", + "உதயகுமார்;", + "உதயச்சல்", + "உதயன்", + "உதயபரிதி", + "உதயமூர்த்தி", + "உதயவன்", + "உதயவானன்", + "உதயா", + "உதய்", + "உதர்", + "உதாங்கன்", + "உதித்", + "உதியஞ்சேரல்", + "உதியன்", + "உதீப்", + "உத்கர்ஷா", + "உத்சவ்", + "உத்தம்", + "உத்தர்", + "உத்தவ்", + "உத்தியா", + "உத்பல்", + "உன்னத்", + "உன்மேஷ்", + "உபதேஷ்", + "உபமன்யூ", + "உபேந்திரா", + "ஊர்ஜித்", + "எகாம்பரம்", + "எட்டப்பன்", + "எழினி", + "எழிற்கண்", + "எழிற்கதிர்", + "எழிற்குமரன்", + "எழிற்கோ", + "எழிற்கோமகன்", + "எழிற்பாவியன்", + "எழிலகன்", + "எழிலன்", + "எழிலன்பன்", + "எழிலரசன்", + "எழிலழகன்", + "எழிலாம்பல்", + "எழிலேந்தி", + "எழில்", + "எழில்குமரன்", + "எழில்மணி", + "எழில்மதி", + "எழில்மன்னன்", + "எழில்மலை", + "எழில்முகிலன்", + "ஏகசந்திரா", + "ஏகசிந்த்", + "ஏகராஜ்", + "ஏகலைவன்", + "ஏகா", + "ஏகாங்கா", + "ஏகாம்பரம்", + "ஏக்ராம்", + "ஏந்தல்", + "ஏழிசை", + "ஏழிசைக்கதிர்", + "ஏழிசைக்கனல்", + "ஏழிசைக்கனி", + "ஏழிசைக்கலை", + "ஏழிசைக்குமரன்", + "ஏழிசைக்குரிசில்", + "ஐயனாரப்பன்", + "ஐயன்", + "ஐயப்பன்", + "ஐயம்பெருமான்", + "ஐயா", + "ஐஸக்", + "ஒட்டக்கூத்தன்", + "ஒட்டக்கூத்தர்", + "ஒளி", + "ஒளிஒவியம்", + "ஒளிமதி", + "ஒளியன்", + "ஒளியழகன்", + "ஒளியவன்", + "ஒளிர்நிலவன்", + "ஒளிவேந்தன்", + "ஒள்ளறிவன்", + "கங்கைகொண்டான்", + "கசரா", + "கடம்பன்", + "கடம்பா", + "கடர்", + "கடற்கோ", + "கடலரசன்", + "கடலிறை", + "கடல்வேந்தன்", + "கணியன்", + "கணேஷ்", + "கணைக்கால்", + "கண்ணதாசன்", + "கண்ணன்", + "கண்ணப்பன்", + "கண்ணாயிரம்", + "கண்ணுக்கினியன்", + "கண்ணையன்", + "கண்மணி", + "கண்மதியன்", + "கண்மயா", + "கதிரழகன்", + "கதிரவன்", + "கதிரொளி", + "கதிரேசன்", + "கதிரோன்", + "கதிர்", + "சகுந்தன்", + "சக்கரவர்த்தி", + "சக்திவேல", + "சங்கன்", + "சங்கிலி", + "சசி", + "சசிகாந்த்", + "சசிகுமார்", + "சசிதரன்", + "சச்சிதாநந்தம்", + "சஜீத்", + "சஞ்சய்", + "சஞ்ஜோக்", + "சடகோபன்", + "சதிஷ்வரன்", + "சதீஷ்", + "சத்தியலிங்கம்", + "சத்யநாராயணன்", + "சத்யமூர்த்தி", + "சத்யராஐ;", + "சத்யவாணன்", + "சத்யவிரதன்", + "சத்யா", + "சத்யேந்திரா", + "சத்ருகணன்", + "சந்தனு", + "சந்தானம்", + "சந்திர", + "தக்ஷேஷ்", + "தங்கக்கதிர்", + "தங்கச்சுடர்", + "தங்கதுரை", + "தங்கத்தமிழன்", + "தங்கத்தமிழ்", + "தங்கபாண்டியன்", + "தங்கமகன்", + "தங்கமணி", + "தங்கமதி", + "தங்கமுத்து", + "தங்கம்", + "தங்கராஐ;", + "தங்கவேலன்", + "தங்கவேலு", + "தங்கவேல்", + "தங்கேஷ்வரன்", + "தசரதன்", + "தஞ்சைவாணன்", + "தணி;சேரன்", + "தணிகேவேலன்", + "தணிகைச்செல்வன்", + "தணிகைத்தம்பி", + "தணிகைநம்பி", + "தணிகைமணி", + "தணிகைமுருகன்", + "தணிகைமுருகு", + "தணிகையரசு", + "தணிகைவேலன்", + "தணிகைவேல்", + "நக்கீரத்தமிழன்", + "நக்கீரன்", + "நக்கீரர்", + "நச்சினார்க்கினியன்", + "நச்சினார்க்கினியர்", + "நடராஜன்", + "நடவரசன்", + "நடேஷ்", + "நட்புச்செல்வன்", + "நந்தன்", + "நந்தா", + "நன்னன்", + "நன்னாடன்", + "நன்னாயகம்", + "நன்னி", + "நன்னூலன்", + "நன்னெறியன்", + "நன்மணி", + "நன்மதி", + "நன்மாறன்", + "நன்மொழியன்", + "நம்பி", + "நம்பிகுட்டுவன்", + "நம்பியருள்", + "நம்பியூரான்", + "நம்பிள்ளை", + "நம்பெருமான்", + "நம்பெருமாள்", + "நம்மாழ்வார்", + "பகத்", + "பகலவன்", + "பகவந்த்", + "பகீரதன்", + "பகுகுனன்", + "பகுதானன்", + "பகுபலி", + "பகுபாலன்", + "பகுபுத்ரன்", + "பகுப்ரியன்", + "பகுமான்யன்", + "பகுமித்ரன்", + "பக்தவச்சலம்", + "பசந்த்", + "பசவராஜ்", + "பசுபதி", + "பச்சையப்பன்", + "பஜன்", + "பஜரங்கன்", + "பதிரன்", + "பதுமனார்", + "பத்மநாபன்", + "பத்ரநிதி", + "பத்ராகன்", + "பத்ராயணர்", + "பத்ரி", + "பத்ரிநாதன்", + "பத்ரிநாராயணன்", + "பத்ருஹரி", + "பந்துல்", + "மகிணன்", + "மகிழரசன்", + "மகிழரசு", + "மகிழ்கோ", + "மகிழ்ச்சிக்கு", + "மகிழ்நன்", + "மகிழ்ந்தன்", + "மணவழகன்", + "மணவாளன்", + "மணி", + "மணிகண்டன்", + "மணிக்கதிர்", + "மணிக்கொடி", + "மணிக்கோ", + "மணிக்கோவன்", + "மணிச்சுடர்", + "மணிநிலவன்", + "மணிப்பவளன்", + "மணிமன்றவாணன்", + "மணிமலை", + "மணிமார்பன்", + "மணிமாறன்", + "மணிமுடி", + "மணிமுத்து", + "மணிமொழியன்", + "மணியன்", + "மணியன்செல்வம்", + "மணியரசன்", + "மணிரத்ணம்", + "மணிவண்ணன்", + "யஷ்வந்த்", + "யாழரசன்", + "யாழ்பாடி", + "யாழ்ப்பாணன்", + "யாழ்வாணன்", + "யூகேந்திரன்", + "யூகேஷ்", + "யூசுப்", + "யூவராஐன்", + "யூவராஜ்", + "யேவான்", + "யோகலிங்கம்", + "யோகாநந்தன்", + "யோகேஷ்", + "ரஃபி", + "ரகு", + "ரகுபதி", + "ரகுராம்", + "ரகுவரன்", + "ரங்கசாமி", + "ரஜினி", + "ரத்தினம்", + "ரமணன்", + "ரமணி", + "ரமேஷ்", + "ரமேஷ்கண்ணா", + "ரவி", + "ரவின்", + "ரஷஷுத்", + "ராகவன்", + "ராகவ்", + "ராஜ", + "ராஜகுரு", + "ராஜகோபால்", + "ராஜசேகர்", + "ராஜதுரை", + "ராஜப்பிரியன்", + "ராஜவேலு", + "ராஜா", + "ராஜீவ்", + "ராஜேஷ்", + "ராஜ்குமார்", + "ராபர்ட்", + "ராமசாமி", + "வசந்த்", + "வசந்த்குமார்", + "வடிவேற்கரசன்", + "வடிவேலன்", + "வடிவேல்", + "வடிவேல்முருகன்", + "வணங்காமுடி", + "வண்டார்குழலி", + "வண்ணநிலவன்", + "வண்ணன்", + "வரதராஐன்", + "வரதராஜ்", + "வருண்குமாH", + "வருனேஷ்", + "வல்லரசு", + "வல்லவன்", + "வளவன்", + "வள்ளல்", + "வள்ளிமணாளன்", + "வள்ளுவன்", + "வள்ளுவர்", + "வழுதி", + "வஷிஷ்டர்", + "வாகீசன்", + "வாசு", + "வாசுதேவன்", + "வாஞ்சினாதன்", + "வாணன்", + "வானத்து", + "வானமாமலை", + "ஷகுந்த்", + "ஷசி", + "ஷத்ருஞ்ஜய்", + "ஷபீர்", + "ஷம்பு", + "ஷரண்", + "ஷலின்", + "ஷஷாங்க்", + "ஷஸ்வத்", + "ஷா", + "ஷானவாஸ்", + "ஷிங்", + "ஷியாம்", + "ஷிஷிர்", + "ஷைலேந்திரா", + "ஷைலேஷ்", + "ஷைல்", + "ஷோபன்", + "ஷ்னேகல்", + "ஷ்யாமல்", + "ஷ்யாம்", + "ஷ்ராவண்", + "ஷ்வேதங்க்", + "ஸ்டீபன்", + "ஸ்ரீகாந்த்", + "ஸ்ரீசிவநாராயணன்", + "ஸ்ரீதர்", + "ஸ்ரீநிவாசன்", + "ஸ்ரீநிவாஸ்", + "ஸ்ரீபிரசாத்", + "ஸ்ரீராம்", + "ஸ்வப்நில்", + "ஹம்ரிஷ்", + "ஹரி", + "ஹரிகரண்", + "ஹரிதாஸ்", + "ஹரிஷ்", + "ஹரிஹரன்", + "ஹவினாஷன்", + "ஹஷ்விந்ரன்", + "ஹாருண்", ) first_names_female = ( - 'அகத்தழகி', - 'அகமணி', - 'அகமதி', - 'அகலிகை', - 'அகல்யா', - 'அகல்விழி', - 'அகவழகு', - 'அகவொளி', - 'அகானா', - 'அகிலா', - 'அகிலாண்டம்', - 'அகிலேஷ்வரி', - 'அகில்', - 'அக்னிகா', - 'அக்னிமுகி', - 'அக்னேயி', - 'அக்ஷயா', - 'அக்ஷரா', - 'அக்ஷா', - 'அக்ஷிதா', - 'அங்கம்மாள்', - 'அங்கயர்க்கண்ணி', - 'அங்கவை', - 'அங்கால', - 'அங்கையர்க்கரசி', - 'அசிரா', - 'அச்சலா', - 'அஜந்தா', - 'ஆகமா', - 'ஆசிரா', - 'ஆசைச்செல்வி', - 'ஆஞ்சல்', - 'ஆடற்கொடி', - 'ஆடற்கோமகள்', - 'ஆடற்செல்வி', - 'ஆடலரசி', - 'ஆடலழகி', - 'ஆடல்', - 'ஆட்டநத்தி', - 'ஆண்டாள்', - 'ஆதர்ஷா', - 'ஆதி', - 'ஆதிசக்தி', - 'ஆதித்தமிழ்', - 'ஆதித்தா', - 'ஆதித்தி', - 'ஆதித்யபிரபா', - 'ஆதிமகள்', - 'ஆதிமறை', - 'ஆதிமொழி', - 'ஆதியரசி', - 'இக்ஷிதா', - 'இசை', - 'இசைக்கதிர்', - 'இசைக்கொடி', - 'இசைக்கோமகள்', - 'இசைச்செல்வம்', - 'இசைச்செல்வி', - 'இசைத்தேவி', - 'இசைநேயம்', - 'இசைமகள்', - 'இசைமறை', - 'இசைமுரசு', - 'இசைமொழி', - 'இசையமுதம்', - 'இசையமுது', - 'இசையரசி', - 'இசையொளி', - 'இசைவாணி', - 'இதயா', - 'இந்திரஜா', - 'இந்திரா', - 'இந்திராக்ஷி', - 'இந்திராணி', - 'இந்து', - 'இந்துகலா', - 'இந்துகா', - 'இந்துஜா', - 'இந்துமதி', - 'இந்துமுகி', - 'இந்துவதனி', - 'உச்சிதா', - 'உஜிலா', - 'உண்மை', - 'உண்மையொளி', - 'உண்மைவிளம்பி', - 'உதயசந்திரிகா', - 'உதயா', - 'உதயாதி', - 'உத்தமி', - 'உத்பலா', - 'உன்னதி', - 'உன்மைமொழி', - 'உபாஸனா', - 'உமயாள்', - 'உமா', - 'உமாமகேஷ்வரி', - 'உமை', - 'உமையம்மை', - 'உமையரசி', - 'உமையாள்', - 'உயிரோவியம்', - 'உலக', - 'உலகநங்கை', - 'உலகநேயம்', - 'உலகமணி', - 'உலகமதி', - 'உலகம்மை', - 'உலகிறை', - 'உலகொளி', - 'உலகோவியம்', - 'ஊர்மிளா', - 'ஊர்வசி', - 'எமலி', - 'எமல்டா', - 'எமில்டா', - 'எயினி', - 'எரிதழல்', - 'எரியீட்டி', - 'எல்லி', - 'எழிசை', - 'எழினி', - 'எழிற்கதிர்', - 'எழிற்குமரி', - 'எழிற்குவளை', - 'எழிற்கோமகள்', - 'எழிற்செல்வம்', - 'எழிற்செல்வி', - 'எழிலம்மை', - 'எழிலரசி', - 'எழிலழகி', - 'எழிலி', - 'எழிலிசை', - 'எழிலேந்தி', - 'எழிலோவியம்', - 'எழில்', - 'எழில்நிலவு', - 'எழில்மகள்', - 'எழில்மங்கை', - 'ஏகாபரனா', - 'ஏந்திசை', - 'ஏந்திழை', - 'ஏனாக்ஷி', - 'ஏறுநடை', - 'ஏலா', - 'ஏழிசை', - 'ஏழிசைக்கதிர்', - 'ஏழிசைக்கனல்', - 'ஏழிசைக்கனி', - 'ஏழிசைக்கலை', - 'ஏழிசைக்குமரி', - 'ஏழிசைக்கொடி', - 'ஏழிசைக்கோமகள்', - 'ஏழிசைச்சுடர்', - 'ஏழிசைச்செல்வம்', - 'ஏழிசைச்செல்வி', - 'ஏழிசைதேவி', - 'ஏழிசைத்தென்றல்', - 'ஏழிசைநாயகி', - 'ஏழிசைநேயம்', - 'ஏழிசைப்பாமகள்', - 'ஏழிசைப்பாவை', - 'ஏழிசைப்புதல்வி', - 'ஏழிசைப்பொழில்', - 'ஏழிசைமணி', - 'ஏழிசைமதி', - 'ஏழிசைமுரசு', - 'ஐக்கியா', - 'ஐராவதி', - 'ஐஸ்வர்யா', - 'ஒளவை', - 'ஒளிசுடர', - 'ஒளிமுகம்', - 'ஒளிவாணி', - 'கஐலட்சுமி', - 'கங்கா', - 'கங்கை', - 'கஜோல்', - 'கஜ்ரி', - 'கடற்கோமகள்', - 'கடலரசி', - 'கடலிறை', - 'கணையாழி', - 'கண்ணகி', - 'கண்ணம்மா', - 'கண்ணிமை', - 'கண்மணி', - 'கண்மதி', - 'கண்மலர்', - 'கதிரழகி', - 'கதிர்', - 'கதிர்க்குமரி', - 'கதிர்ச்செல்வி', - 'கதிர்மாமணி', - 'கத்ரினா', - 'கனகவள்ளி', - 'கனகா', - 'கனல்', - 'கனல்மொழி', - 'கனிகா', - 'கனிமதி', - 'கனிமொழி', - 'கனியமுது', - 'கனிரா', - 'சஃபா', - 'சஃபியா', - 'சகீனா', - 'சகுண்', - 'சக்தி', - 'சங்கமித்ரா', - 'சங்கமித்ரை', - 'சங்கரி', - 'சங்கவி', - 'சங்கவை', - 'சங்காரம்', - 'சங்கீதா', - 'சங்கு', - 'சங்குக்கொடி', - 'சங்குப்பூ', - 'சங்குப்பூவழகி', - 'சங்குமணி', - 'சங்குமதி', - 'சங்குமாலை', - 'சங்கெழில்', - 'சங்கொலி', - 'சசிகலா', - 'சசிரேகா', - 'சச்சி', - 'சஜனி', - 'சஞ்சு', - 'சதிகா', - 'சத்தியவாணி', - 'சந்தனம்', - 'சந்தானலட்சுமி', - 'தங்கக்கதிர்', - 'தங்கச்சுடர்', - 'தங்கத்தமிழ்', - 'தங்கபாப்பா', - 'தங்கபுஷ்பம்', - 'தங்கமகள்', - 'தங்கமணி', - 'தங்கமதி', - 'தங்கம்', - 'தங்கம்மா', - 'தங்கம்மாள்', - 'தடாகை', - 'தணிகைச்செல்வி', - 'தண்ணிலவு', - 'தண்ணொளி', - 'தண்மதி', - 'தத்தை', - 'தனக்கோட்டி', - 'தனபாக்கியம்', - 'தனலட்சுமி', - 'தனஸ்ரீ', - 'தனித்தமிழ்', - 'தனுப்பிரியா', - 'தனுஷா', - 'தனுஷ்கா', - 'தனுஷ்ரி', - 'தன்சி', - 'தன்மானம்', - 'தன்வி', - 'தமயந்தி', - 'நங்கை', - 'நடவரசி', - 'நதியா', - 'நந்திகா', - 'நந்திதா', - 'நந்தினி', - 'நன்முத்து', - 'நன்மொழி', - 'நப்பசலையார்', - 'நயன்தாரா', - 'நர்மதா', - 'நறுமலர்', - 'நறுமுகை', - 'நற்றிணை', - 'நல்ல', - 'நல்லிசை', - 'நளாயினி', - 'நளினி', - 'நவிதா', - 'நவீனா', - 'நவ்யா', - 'நாகதேவி', - 'நாகமணி', - 'நாகமதி', - 'நாகம்மாள்', - 'நாகம்மை', - 'நாகவல்லி', - 'நாச்சி', - 'நாச்சியார்', - 'நாதவேணி', - 'பகவதி', - 'பகவத்', - 'பச்சையம்மாள்', - 'பஞ்சாமிர்தம்', - 'பதுமை', - 'பத்மபிரியா', - 'பத்மா', - 'பத்மினி', - 'பனிமலர்', - 'பன்னீர்', - 'பன்னீர்செல்வி', - 'பபிதா', - 'பரணி', - 'பரமேஷ்வரி', - 'பரிமளம்', - 'பரிமளா', - 'பல்லவி', - 'பழகுத்தமிழ்', - 'பவதா', - 'பவதாரணி', - 'பவளக்கொடி', - 'பவளமலை', - 'பவளமல்லி', - 'பவளம்', - 'பவழமொழி', - 'பவானி', - 'பவித்ரா', - 'பாக்கியலக்ஷ்மி', - 'பாக்யஸ்ரீ', - 'மகஷேவரி', - 'மகிழினி', - 'மகிழ்', - 'மகிழ்வதனி', - 'மங்களம்', - 'மங்களா', - 'மங்கை', - 'மங்கையர்க்கரசி', - 'மஞ்சனா', - 'மஞ்சரி', - 'மஞ்சள்', - 'மஞ்சு', - 'மணவழகி', - 'மணி', - 'மணிகா', - 'மணிக்கதிர்', - 'மணிக்கொடி', - 'மணிச்சுடர்', - 'மணிப்பவளம்', - 'மணிமகள்', - 'மணிமலர்', - 'மணிமாலா', - 'மணிமுகில்', - 'மணிமேகலை', - 'மணிமொழி', - 'மணியம்மை', - 'மணியரசி', - 'மணியெழில்', - 'மணியொளி', - 'யசோதா', - 'யமுனா', - 'யஷ்வினி', - 'யாமினி', - 'யாளினி', - 'யாழரசி', - 'யாழிசை', - 'யாழினி', - 'யாழின்', - 'யாழைப்போல்', - 'யாழ்நங்கை', - 'யாழ்மொழி', - 'யூதிகா', - 'யூவரானி', - 'யேகம்மை', - 'யோகமலர்', - 'யோகராணி', - 'யோகலட்சுமி', - 'யோகவல்லி', - 'யோஸ்னிதா', - 'யோஹிதா', - 'ரகசியா', - 'ரக்ஷனா', - 'ரக்ஷிகா', - 'ரக்ஷிதா', - 'ரக்ஷினி', - 'ரங்கநாயகி', - 'ரஞ்சனா', - 'ரஞ்சிதம்', - 'ரஞ்சிதா', - 'ரஞ்சினி', - 'ரட்சகா', - 'ரதவனி', - 'ரதி', - 'ரனித்தா', - 'ரமணி', - 'ரம்ஜான்', - 'ரம்யா', - 'ராகினி', - 'ராசாத்தி', - 'ராஜகுமாரி', - 'ராஜலட்சுமி', - 'ராஜி', - 'ராஜேஷ்வரி', - 'ராணி', - 'ராதா', - 'ராதிகா', - 'ரித்திகா', - 'ரீஜா', - 'ரீட்டா', - 'ரீனா', - 'வகேஷ்வரி', - 'வசந்தசேனா', - 'வசந்தா', - 'வசந்தி', - 'வசனா', - 'வசுதா', - 'வசுதாரிணி', - 'வசுமதி', - 'வஞ்சி', - 'வஞ்சிக்கொடி', - 'வஞ்சிப்பாமகள்', - 'வஞ்சிமகள்', - 'வடிவரசி', - 'வடிவழகி', - 'வடிவு', - 'வடிவுக்கரசி', - 'வண்டமிழ்', - 'வண்டார்குழலி', - 'வண்ணக்கதிர்', - 'வண்ணமதி', - 'வதனா', - 'வதனி', - 'வத்ஸலா', - 'வனிதா', - 'வமகேஷி', - 'வருணி', - 'வருனிதா', - 'வர்ணவதி', - 'வர்ஷா', - 'வர்ஷினி', - 'ஷக்தி', - 'ஷண்சிலாதேவி', - 'ஷதா', - 'ஷதாக்ஷி', - 'ஷந்தோஷி', - 'ஷந்ஸா', - 'ஷபரி', - 'ஷப்னம்', - 'ஷமா', - 'ஷரணி', - 'ஷரினி', - 'ஷர்மிதா', - 'ஷர்மிளா', - 'ஷர்மிஸ்தா', - 'ஷர்வானி', - 'ஷஷி', - 'ஷாந்தலா', - 'ஷாந்தி', - 'ஷானன்', - 'ஷாமினி', - 'ஷாரன்', - 'ஷாலிகா', - 'ஷாலினி', - 'ஷாலு', - 'ஷாஷினி,', - 'ஷாஹ்னா', - 'ஷிஃபாலி', - 'ஷிகா', - 'ஷிச்சி', - 'ஷிபானி', - 'ஸகஸ்ரா', - 'ஸங்கரி', - 'ஸத்யா', - 'ஸத்வரி', - 'ஸன்யுக்தா', - 'ஸபீனா', - 'ஸயூரி', - 'ஸரயூ', - 'ஸரளா', - 'ஸரஸ்வதி', - 'ஸரிகா', - 'ஸஹிரா', - 'ஸுபத்திரை', - 'ஸுப்ரியா', - 'ஸுப்ரீத்', - 'ஸுமா', - 'ஸுரபி', - 'ஸெடெஃபானியா', - 'ஸெடெபானி', - 'ஸௌரா', - 'ஸ்கந்தா', - 'ஸ்திரிரத்னா', - 'ஸ்துதி', - 'ஸ்னேஹல்', - 'ஸ்ப்ரிஹா', - 'ஸ்மிதா', - 'ஸ்மிருதி', - 'ஸ்மேரா', - 'ஸ்ராவந்தி', - 'ஸ்ராவனி', - 'ஸ்ரீகமா', - 'ஸ்ரீகலா', - 'ஸ்ரீகா', - 'ஸ்ரீதேவி', - 'ஸ்ரீநிதி', - 'ஸ்ரீனா', - 'ஸ்ரீமயி', - 'ஸ்ரீமா', - 'ஸ்ரீயா', - 'ஸ்ரீயாதித்யா', - 'ஸ்ரீலக்ஷ்மி', - 'ஸ்ரீலா', - 'ஸ்ரீலேகா', - 'ஸ்ரீவல்லி', - 'ஸ்ரீவித்யா', - 'ஹசினிகா', - 'ஹனிஷா', - 'ஹன்சா', - 'ஹன்யா', - 'ஹன்ஷிகா', - 'ஹம்சவர்த்தினி', - 'ஹம்சவானி', - 'ஹம்சா', - 'ஹரிதா', - 'ஹரினி', - 'ஹரினிவேதா', - 'ஹர்ஷா', - 'ஹர்ஷிகா', - 'ஹர்ஷிதா', - 'ஹர்ஷினி', - 'ஹலிமா', - 'ஹவிஷ்மதி', - 'ஹஸிதா', - 'ஹஸினா', - 'ஹஸ்னா', - 'ஹாசினி', - 'ஹிரண்யா', - 'ஹெலன்', - 'ஹேமந்தினி', - 'ஹேமலதா', - 'ஹேமா', + "அகத்தழகி", + "அகமணி", + "அகமதி", + "அகலிகை", + "அகல்யா", + "அகல்விழி", + "அகவழகு", + "அகவொளி", + "அகானா", + "அகிலா", + "அகிலாண்டம்", + "அகிலேஷ்வரி", + "அகில்", + "அக்னிகா", + "அக்னிமுகி", + "அக்னேயி", + "அக்ஷயா", + "அக்ஷரா", + "அக்ஷா", + "அக்ஷிதா", + "அங்கம்மாள்", + "அங்கயர்க்கண்ணி", + "அங்கவை", + "அங்கால", + "அங்கையர்க்கரசி", + "அசிரா", + "அச்சலா", + "அஜந்தா", + "ஆகமா", + "ஆசிரா", + "ஆசைச்செல்வி", + "ஆஞ்சல்", + "ஆடற்கொடி", + "ஆடற்கோமகள்", + "ஆடற்செல்வி", + "ஆடலரசி", + "ஆடலழகி", + "ஆடல்", + "ஆட்டநத்தி", + "ஆண்டாள்", + "ஆதர்ஷா", + "ஆதி", + "ஆதிசக்தி", + "ஆதித்தமிழ்", + "ஆதித்தா", + "ஆதித்தி", + "ஆதித்யபிரபா", + "ஆதிமகள்", + "ஆதிமறை", + "ஆதிமொழி", + "ஆதியரசி", + "இக்ஷிதா", + "இசை", + "இசைக்கதிர்", + "இசைக்கொடி", + "இசைக்கோமகள்", + "இசைச்செல்வம்", + "இசைச்செல்வி", + "இசைத்தேவி", + "இசைநேயம்", + "இசைமகள்", + "இசைமறை", + "இசைமுரசு", + "இசைமொழி", + "இசையமுதம்", + "இசையமுது", + "இசையரசி", + "இசையொளி", + "இசைவாணி", + "இதயா", + "இந்திரஜா", + "இந்திரா", + "இந்திராக்ஷி", + "இந்திராணி", + "இந்து", + "இந்துகலா", + "இந்துகா", + "இந்துஜா", + "இந்துமதி", + "இந்துமுகி", + "இந்துவதனி", + "உச்சிதா", + "உஜிலா", + "உண்மை", + "உண்மையொளி", + "உண்மைவிளம்பி", + "உதயசந்திரிகா", + "உதயா", + "உதயாதி", + "உத்தமி", + "உத்பலா", + "உன்னதி", + "உன்மைமொழி", + "உபாஸனா", + "உமயாள்", + "உமா", + "உமாமகேஷ்வரி", + "உமை", + "உமையம்மை", + "உமையரசி", + "உமையாள்", + "உயிரோவியம்", + "உலக", + "உலகநங்கை", + "உலகநேயம்", + "உலகமணி", + "உலகமதி", + "உலகம்மை", + "உலகிறை", + "உலகொளி", + "உலகோவியம்", + "ஊர்மிளா", + "ஊர்வசி", + "எமலி", + "எமல்டா", + "எமில்டா", + "எயினி", + "எரிதழல்", + "எரியீட்டி", + "எல்லி", + "எழிசை", + "எழினி", + "எழிற்கதிர்", + "எழிற்குமரி", + "எழிற்குவளை", + "எழிற்கோமகள்", + "எழிற்செல்வம்", + "எழிற்செல்வி", + "எழிலம்மை", + "எழிலரசி", + "எழிலழகி", + "எழிலி", + "எழிலிசை", + "எழிலேந்தி", + "எழிலோவியம்", + "எழில்", + "எழில்நிலவு", + "எழில்மகள்", + "எழில்மங்கை", + "ஏகாபரனா", + "ஏந்திசை", + "ஏந்திழை", + "ஏனாக்ஷி", + "ஏறுநடை", + "ஏலா", + "ஏழிசை", + "ஏழிசைக்கதிர்", + "ஏழிசைக்கனல்", + "ஏழிசைக்கனி", + "ஏழிசைக்கலை", + "ஏழிசைக்குமரி", + "ஏழிசைக்கொடி", + "ஏழிசைக்கோமகள்", + "ஏழிசைச்சுடர்", + "ஏழிசைச்செல்வம்", + "ஏழிசைச்செல்வி", + "ஏழிசைதேவி", + "ஏழிசைத்தென்றல்", + "ஏழிசைநாயகி", + "ஏழிசைநேயம்", + "ஏழிசைப்பாமகள்", + "ஏழிசைப்பாவை", + "ஏழிசைப்புதல்வி", + "ஏழிசைப்பொழில்", + "ஏழிசைமணி", + "ஏழிசைமதி", + "ஏழிசைமுரசு", + "ஐக்கியா", + "ஐராவதி", + "ஐஸ்வர்யா", + "ஒளவை", + "ஒளிசுடர", + "ஒளிமுகம்", + "ஒளிவாணி", + "கஐலட்சுமி", + "கங்கா", + "கங்கை", + "கஜோல்", + "கஜ்ரி", + "கடற்கோமகள்", + "கடலரசி", + "கடலிறை", + "கணையாழி", + "கண்ணகி", + "கண்ணம்மா", + "கண்ணிமை", + "கண்மணி", + "கண்மதி", + "கண்மலர்", + "கதிரழகி", + "கதிர்", + "கதிர்க்குமரி", + "கதிர்ச்செல்வி", + "கதிர்மாமணி", + "கத்ரினா", + "கனகவள்ளி", + "கனகா", + "கனல்", + "கனல்மொழி", + "கனிகா", + "கனிமதி", + "கனிமொழி", + "கனியமுது", + "கனிரா", + "சஃபா", + "சஃபியா", + "சகீனா", + "சகுண்", + "சக்தி", + "சங்கமித்ரா", + "சங்கமித்ரை", + "சங்கரி", + "சங்கவி", + "சங்கவை", + "சங்காரம்", + "சங்கீதா", + "சங்கு", + "சங்குக்கொடி", + "சங்குப்பூ", + "சங்குப்பூவழகி", + "சங்குமணி", + "சங்குமதி", + "சங்குமாலை", + "சங்கெழில்", + "சங்கொலி", + "சசிகலா", + "சசிரேகா", + "சச்சி", + "சஜனி", + "சஞ்சு", + "சதிகா", + "சத்தியவாணி", + "சந்தனம்", + "சந்தானலட்சுமி", + "தங்கக்கதிர்", + "தங்கச்சுடர்", + "தங்கத்தமிழ்", + "தங்கபாப்பா", + "தங்கபுஷ்பம்", + "தங்கமகள்", + "தங்கமணி", + "தங்கமதி", + "தங்கம்", + "தங்கம்மா", + "தங்கம்மாள்", + "தடாகை", + "தணிகைச்செல்வி", + "தண்ணிலவு", + "தண்ணொளி", + "தண்மதி", + "தத்தை", + "தனக்கோட்டி", + "தனபாக்கியம்", + "தனலட்சுமி", + "தனஸ்ரீ", + "தனித்தமிழ்", + "தனுப்பிரியா", + "தனுஷா", + "தனுஷ்கா", + "தனுஷ்ரி", + "தன்சி", + "தன்மானம்", + "தன்வி", + "தமயந்தி", + "நங்கை", + "நடவரசி", + "நதியா", + "நந்திகா", + "நந்திதா", + "நந்தினி", + "நன்முத்து", + "நன்மொழி", + "நப்பசலையார்", + "நயன்தாரா", + "நர்மதா", + "நறுமலர்", + "நறுமுகை", + "நற்றிணை", + "நல்ல", + "நல்லிசை", + "நளாயினி", + "நளினி", + "நவிதா", + "நவீனா", + "நவ்யா", + "நாகதேவி", + "நாகமணி", + "நாகமதி", + "நாகம்மாள்", + "நாகம்மை", + "நாகவல்லி", + "நாச்சி", + "நாச்சியார்", + "நாதவேணி", + "பகவதி", + "பகவத்", + "பச்சையம்மாள்", + "பஞ்சாமிர்தம்", + "பதுமை", + "பத்மபிரியா", + "பத்மா", + "பத்மினி", + "பனிமலர்", + "பன்னீர்", + "பன்னீர்செல்வி", + "பபிதா", + "பரணி", + "பரமேஷ்வரி", + "பரிமளம்", + "பரிமளா", + "பல்லவி", + "பழகுத்தமிழ்", + "பவதா", + "பவதாரணி", + "பவளக்கொடி", + "பவளமலை", + "பவளமல்லி", + "பவளம்", + "பவழமொழி", + "பவானி", + "பவித்ரா", + "பாக்கியலக்ஷ்மி", + "பாக்யஸ்ரீ", + "மகஷேவரி", + "மகிழினி", + "மகிழ்", + "மகிழ்வதனி", + "மங்களம்", + "மங்களா", + "மங்கை", + "மங்கையர்க்கரசி", + "மஞ்சனா", + "மஞ்சரி", + "மஞ்சள்", + "மஞ்சு", + "மணவழகி", + "மணி", + "மணிகா", + "மணிக்கதிர்", + "மணிக்கொடி", + "மணிச்சுடர்", + "மணிப்பவளம்", + "மணிமகள்", + "மணிமலர்", + "மணிமாலா", + "மணிமுகில்", + "மணிமேகலை", + "மணிமொழி", + "மணியம்மை", + "மணியரசி", + "மணியெழில்", + "மணியொளி", + "யசோதா", + "யமுனா", + "யஷ்வினி", + "யாமினி", + "யாளினி", + "யாழரசி", + "யாழிசை", + "யாழினி", + "யாழின்", + "யாழைப்போல்", + "யாழ்நங்கை", + "யாழ்மொழி", + "யூதிகா", + "யூவரானி", + "யேகம்மை", + "யோகமலர்", + "யோகராணி", + "யோகலட்சுமி", + "யோகவல்லி", + "யோஸ்னிதா", + "யோஹிதா", + "ரகசியா", + "ரக்ஷனா", + "ரக்ஷிகா", + "ரக்ஷிதா", + "ரக்ஷினி", + "ரங்கநாயகி", + "ரஞ்சனா", + "ரஞ்சிதம்", + "ரஞ்சிதா", + "ரஞ்சினி", + "ரட்சகா", + "ரதவனி", + "ரதி", + "ரனித்தா", + "ரமணி", + "ரம்ஜான்", + "ரம்யா", + "ராகினி", + "ராசாத்தி", + "ராஜகுமாரி", + "ராஜலட்சுமி", + "ராஜி", + "ராஜேஷ்வரி", + "ராணி", + "ராதா", + "ராதிகா", + "ரித்திகா", + "ரீஜா", + "ரீட்டா", + "ரீனா", + "வகேஷ்வரி", + "வசந்தசேனா", + "வசந்தா", + "வசந்தி", + "வசனா", + "வசுதா", + "வசுதாரிணி", + "வசுமதி", + "வஞ்சி", + "வஞ்சிக்கொடி", + "வஞ்சிப்பாமகள்", + "வஞ்சிமகள்", + "வடிவரசி", + "வடிவழகி", + "வடிவு", + "வடிவுக்கரசி", + "வண்டமிழ்", + "வண்டார்குழலி", + "வண்ணக்கதிர்", + "வண்ணமதி", + "வதனா", + "வதனி", + "வத்ஸலா", + "வனிதா", + "வமகேஷி", + "வருணி", + "வருனிதா", + "வர்ணவதி", + "வர்ஷா", + "வர்ஷினி", + "ஷக்தி", + "ஷண்சிலாதேவி", + "ஷதா", + "ஷதாக்ஷி", + "ஷந்தோஷி", + "ஷந்ஸா", + "ஷபரி", + "ஷப்னம்", + "ஷமா", + "ஷரணி", + "ஷரினி", + "ஷர்மிதா", + "ஷர்மிளா", + "ஷர்மிஸ்தா", + "ஷர்வானி", + "ஷஷி", + "ஷாந்தலா", + "ஷாந்தி", + "ஷானன்", + "ஷாமினி", + "ஷாரன்", + "ஷாலிகா", + "ஷாலினி", + "ஷாலு", + "ஷாஷினி,", + "ஷாஹ்னா", + "ஷிஃபாலி", + "ஷிகா", + "ஷிச்சி", + "ஷிபானி", + "ஸகஸ்ரா", + "ஸங்கரி", + "ஸத்யா", + "ஸத்வரி", + "ஸன்யுக்தா", + "ஸபீனா", + "ஸயூரி", + "ஸரயூ", + "ஸரளா", + "ஸரஸ்வதி", + "ஸரிகா", + "ஸஹிரா", + "ஸுபத்திரை", + "ஸுப்ரியா", + "ஸுப்ரீத்", + "ஸுமா", + "ஸுரபி", + "ஸெடெஃபானியா", + "ஸெடெபானி", + "ஸௌரா", + "ஸ்கந்தா", + "ஸ்திரிரத்னா", + "ஸ்துதி", + "ஸ்னேஹல்", + "ஸ்ப்ரிஹா", + "ஸ்மிதா", + "ஸ்மிருதி", + "ஸ்மேரா", + "ஸ்ராவந்தி", + "ஸ்ராவனி", + "ஸ்ரீகமா", + "ஸ்ரீகலா", + "ஸ்ரீகா", + "ஸ்ரீதேவி", + "ஸ்ரீநிதி", + "ஸ்ரீனா", + "ஸ்ரீமயி", + "ஸ்ரீமா", + "ஸ்ரீயா", + "ஸ்ரீயாதித்யா", + "ஸ்ரீலக்ஷ்மி", + "ஸ்ரீலா", + "ஸ்ரீலேகா", + "ஸ்ரீவல்லி", + "ஸ்ரீவித்யா", + "ஹசினிகா", + "ஹனிஷா", + "ஹன்சா", + "ஹன்யா", + "ஹன்ஷிகா", + "ஹம்சவர்த்தினி", + "ஹம்சவானி", + "ஹம்சா", + "ஹரிதா", + "ஹரினி", + "ஹரினிவேதா", + "ஹர்ஷா", + "ஹர்ஷிகா", + "ஹர்ஷிதா", + "ஹர்ஷினி", + "ஹலிமா", + "ஹவிஷ்மதி", + "ஹஸிதா", + "ஹஸினா", + "ஹஸ்னா", + "ஹாசினி", + "ஹிரண்யா", + "ஹெலன்", + "ஹேமந்தினி", + "ஹேமலதா", + "ஹேமா", ) first_names = first_names_male + first_names_female diff --git a/faker/providers/person/th_TH/__init__.py b/faker/providers/person/th_TH/__init__.py index 8bf4f9b5b1..8d5541324f 100644 --- a/faker/providers/person/th_TH/__init__.py +++ b/faker/providers/person/th_TH/__init__.py @@ -1,166 +1,997 @@ +from collections import OrderedDict + from .. import Provider as PersonProvider class Provider(PersonProvider): - formats = ( - '{{first_name}} {{last_name}}', '{{first_name}} {{last_name}}', - '{{first_name}} {{last_name}}', - '{{first_name}} {{last_name}}', - '{{first_name}} {{last_name}}', - '{{first_name}} {{last_name}}', - '{{prefix}} {{first_name}} {{last_name}}', - '{{prefix}} {{first_name}} {{last_name}} {{suffix}}', - '{{first_name}} {{last_name}} {{suffix}}') + # weights are arbitrarily assigned + formats_female = OrderedDict( + ( + ("{{first_name_female}} {{last_name}}", 0.97), + ("{{prefix_female}}{{first_name_female}} {{last_name}}", 0.015), + ("{{first_name_female}} {{last_name}} {{suffix_female}}", 0.001), + ("{{prefix_female}}{{first_name_female}} {{last_name}} {{suffix}}", 0.001), + ) + ) + formats_male = OrderedDict( + ( + ("{{first_name_male}} {{last_name}}", 0.97), + ("{{prefix_male}}{{first_name_male}} {{last_name}}", 0.015), + ("{{first_name_male}} {{last_name}} {{suffix_male}}", 0.001), + ("{{prefix_male}}{{first_name_male}} {{last_name}} {{suffix}}", 0.001), + ) + ) + formats_nonbinary = OrderedDict( + ( + ("{{first_name_nonbinary}} {{last_name}}", 0.97), + ("{{prefix_nonbinary}}{{first_name_nonbinary}} {{last_name}}", 0.015), + ("{{first_name_nonbinary}} {{last_name}} {{suffix_nonbinary}}", 0.001), + ( + "{{prefix_nonbinary}}{{first_name_nonbinary}} {{last_name}} {{suffix}}", + 0.001, + ), + ) + ) - # Thai prefix + # Thai prefix, adapted from # http://www.stou.ac.th/thai/grad_stdy/Apply/prefix.asp - prefixes_female = ( - "พลเอก", "พลโท", "พลตรี", "พันเอก", "พันโท", "พันตรี", "ร้อยเอก", "ร้อยโท", - "ร้อยตรี", - "จ่าสิบเอก", "จ่าสิบโท", "จ่าสิบตรี", "สิบเอก", "สิบโท", "สิบตรี", "พลทหาร", - "พลเรือเอก", "พลเรือโท", "พลเรือตรี", "นาวาเอก", "นาวาโท", "นาวาตรี", "เรือเอก", - "เรือโท", "เรือตรี", "พันจ่าเอก", "พันจ่าโท", "พันจ่าตรี", "จ่าเอก", "จ่าโท", - "จ่าตรี", "พลทหาร", "พลอากาศเอก", "พลอากาศโท", "พลอากาศตรี", "นาวาอากาศเอก", - "นาวาอากาศโท", "นาวาอากาศตรี", "เรืออากาศเอก", "เรืออากาศโท", "เรืออากาศตรี", - "พันจ่าอากาศเอก", "พันจ่าอากาศโท", "พันจ่าอากาศตรี", "จ่าอากาศเอก", "จ่าอากาศโท", - "จ่าอากาศตรี", "พลทหาร", "พลตำรวจเอก", "พลตำรวจโท", "พลตำรวจตรี", "พันตำรวจเอก", - "พันตำรวจโท", "พันตำรวจตรี", "ร้อยตำรวจเอก", "ร้อยตำรวจโท", "ร้อยตำรวจตรี", - "นายดาบตำรวจ", "จ่าสิบตำรวจ", "สิบตำรวจเอก", "สิบตำรวจโท", "สิบตำรวจตรี", - "พลตำรวจ", "นาง", "นางสาว", "หม่อมหลวง", "หม่อมราชวงศ์", "พล.อ.", - "พล.ท.", "พล.ต.", "พ.อ.", "พ.ท.", "พ.ต.", "ร.อ.", "ร.ท.", "ร.ต.", "จ.ส.อ.", - "จ.ส.ท.", - "จ.ส.ต.", "ส.อ.", "ส.ท.", "ส.ต.", "พลฯ", "พล.ร.อ.", "พล.ร.ท.", "พล.ร.ต.", "น.อ.", - "น.ท.", "น.ต.", "ร.อ.", "ร.ท.", "ร.ต.", "พ.จ.อ.", "พ.จ.ท.", "พ.จ.ต.", "จ.อ.", - "จ.ท.", - "จ.ต.", "พลฯ", "พล.อ.อ.", "พล.อ.ท.", "พล.อ.ต.", "น.อ.", "น.ท.", "น.ต.", "ร.อ.", - "ร.ท.", "ร.ต.", "พ.อ.อ.", "พ.อ.ท.", "พ.อ.ต.", "จ.อ.", "จ.ท.", "จ.ต.", "พลฯ", - "พล.ต.อ.", "พล.ต.ท.", "พล.ต.ต.", "พ.ต.อ.", "พ.ต.ท.", "พ.ต.ต.", "ร.ต.อ.", "ร.ต.ท.", - "ร.ต.ต.", "ด.ต.", "จ.ส.ต.", "ส.ต.อ.", "ส.ต.ท.", "ส.ต.ต.", "พลฯ", "ม.ล.", "ม.ร.ว.") + # weights are arbitrarily assigned + prefixes_female = OrderedDict( + ( + ("นาง", 0.3), + ("น.ส.", 0.2), + ("นางสาว", 0.15), + ("ด.ญ.", 0.15), + ("เด็กหญิง", 0.05), + ("จ.ต.", 0.001), + ("จ.ท.", 0.001), + ("จ.ส.ต.", 0.001), + ("จ.ส.ท.", 0.001), + ("จ.ส.อ.", 0.001), + ("จ.อ.", 0.001), + ("ด.ต.", 0.001), + ("น.ต.", 0.001), + ("น.ท.", 0.001), + ("น.อ.", 0.001), + ("พ.จ.ต.", 0.001), + ("พ.จ.ท.", 0.001), + ("พ.จ.อ.", 0.001), + ("พ.ต.", 0.001), + ("พ.ต.ต.", 0.001), + ("พ.ต.ท.", 0.001), + ("พ.ต.อ.", 0.001), + ("พ.ท.", 0.001), + ("พ.อ.", 0.001), + ("พ.อ.ต.", 0.001), + ("พ.อ.ท.", 0.001), + ("พ.อ.อ.", 0.001), + ("ร.ต.", 0.001), + ("ร.ต.ต.", 0.001), + ("ร.ต.ท.", 0.001), + ("ร.ต.อ.", 0.001), + ("ร.ท.", 0.001), + ("ร.อ.", 0.001), + ("ส.ต.", 0.001), + ("ส.ต.ต.", 0.001), + ("ส.ต.ท.", 0.001), + ("ส.ต.อ.", 0.001), + ("ส.ท.", 0.001), + ("ส.อ.", 0.001), + ("พล.ต.", 0.0001), + ("พล.ต.ต.", 0.0001), + ("พล.ต.ท.", 0.0001), + ("พล.ต.อ.", 0.0001), + ("พล.ท.", 0.0001), + ("พล.ร.ต.", 0.0001), + ("พล.ร.ท.", 0.0001), + ("พล.ร.อ.", 0.0001), + ("พล.อ.", 0.0001), + ("พล.อ.ต.", 0.0001), + ("พล.อ.ท.", 0.0001), + ("พล.อ.อ.", 0.0001), + ("ม.ร.ว.", 0.0001), + ("ม.ล.", 0.0001), + ("หม่อมราชวงศ์", 0.0001), + ("หม่อมหลวง", 0.0001), + ) + ) + prefixes_male = OrderedDict( + ( + ("นาย", 0.6), + ("ด.ช.", 0.3), + ("จ.ต.", 0.001), + ("จ.ท.", 0.001), + ("จ.ส.ต.", 0.001), + ("จ.ส.ท.", 0.001), + ("จ.ส.อ.", 0.001), + ("จ.อ.", 0.001), + ("ด.ต.", 0.001), + ("น.ต.", 0.001), + ("น.ท.", 0.001), + ("น.อ.", 0.001), + ("พ.จ.ต.", 0.001), + ("พ.จ.ท.", 0.001), + ("พ.จ.อ.", 0.001), + ("พ.ต.", 0.001), + ("พ.ต.ต.", 0.001), + ("พ.ต.ท.", 0.001), + ("พ.ต.อ.", 0.001), + ("พ.ท.", 0.001), + ("พ.อ.", 0.001), + ("พ.อ.ต.", 0.001), + ("พ.อ.ท.", 0.001), + ("พ.อ.อ.", 0.001), + ("ร.ต.", 0.001), + ("ร.ต.ต.", 0.001), + ("ร.ต.ท.", 0.001), + ("ร.ต.อ.", 0.001), + ("ร.ท.", 0.001), + ("ร.อ.", 0.001), + ("ส.ต.", 0.001), + ("ส.ต.ต.", 0.001), + ("ส.ต.ท.", 0.001), + ("ส.ต.อ.", 0.001), + ("ส.ท.", 0.001), + ("ส.อ.", 0.001), + ("พล.ต.", 0.0001), + ("พล.ต.ต.", 0.0001), + ("พล.ต.ท.", 0.0001), + ("พล.ต.อ.", 0.0001), + ("พล.ท.", 0.0001), + ("พล.ร.ต.", 0.0001), + ("พล.ร.ท.", 0.0001), + ("พล.ร.อ.", 0.0001), + ("พล.อ.", 0.0001), + ("พล.อ.ต.", 0.0001), + ("พล.อ.ท.", 0.0001), + ("พล.อ.อ.", 0.0001), + ("ม.ร.ว.", 0.0001), + ("ม.ล.", 0.0001), + ("หม่อมราชวงศ์", 0.0001), + ("หม่อมหลวง", 0.0001), + ("พระ", 0.0001), + ("สามเณร", 0.001), + ("พระครูธรรมธร", 0.00001), + ("พระครูปลัด", 0.00001), + ("พระครูวินัยธร", 0.00001), + ("พระครูสมุห์", 0.00001), + ("พระครูใบฎีกา", 0.00001), + ("พระปลัด", 0.00001), + ("พระมหา", 0.00001), + ("พระสมุห์", 0.00001), + ("พระอธิการ", 0.00001), + ("พระใบฎีกา", 0.00001), + ("เจ้าอธิการ", 0.00001), + ) + ) + prefixes_nonbinary = OrderedDict( + ( + ("จ.ต.", 0.001), + ("จ.ท.", 0.001), + ("จ.ส.ต.", 0.001), + ("จ.ส.ท.", 0.001), + ("จ.ส.อ.", 0.001), + ("จ.อ.", 0.001), + ("ด.ต.", 0.001), + ("น.ต.", 0.001), + ("น.ท.", 0.001), + ("น.อ.", 0.001), + ("พ.จ.ต.", 0.001), + ("พ.จ.ท.", 0.001), + ("พ.จ.อ.", 0.001), + ("พ.ต.", 0.001), + ("พ.ต.ต.", 0.001), + ("พ.ต.ท.", 0.001), + ("พ.ต.อ.", 0.001), + ("พ.ท.", 0.001), + ("พ.อ.", 0.001), + ("พ.อ.ต.", 0.001), + ("พ.อ.ท.", 0.001), + ("พ.อ.อ.", 0.001), + ("ร.ต.", 0.001), + ("ร.ต.ต.", 0.001), + ("ร.ต.ท.", 0.001), + ("ร.ต.อ.", 0.001), + ("ร.ท.", 0.001), + ("ร.อ.", 0.001), + ("ส.ต.", 0.001), + ("ส.ต.ต.", 0.001), + ("ส.ต.ท.", 0.001), + ("ส.ต.อ.", 0.001), + ("ส.ท.", 0.001), + ("ส.อ.", 0.001), + ("พล.ต.", 0.0001), + ("พล.ต.ต.", 0.0001), + ("พล.ต.ท.", 0.0001), + ("พล.ต.อ.", 0.0001), + ("พล.ท.", 0.0001), + ("พล.ร.ต.", 0.0001), + ("พล.ร.ท.", 0.0001), + ("พล.ร.อ.", 0.0001), + ("พล.อ.", 0.0001), + ("พล.อ.ต.", 0.0001), + ("พล.อ.ท.", 0.0001), + ("พล.อ.อ.", 0.0001), + ("ม.ร.ว.", 0.0001), + ("ม.ล.", 0.0001), + ("หม่อมราชวงศ์", 0.0001), + ("หม่อมหลวง", 0.0001), + ) + ) + + prefixes = prefixes_female.copy() + prefixes.update(prefixes_male) - prefixes_male = ( - "พลเอก", "พลโท", "พลตรี", "พันเอก", "พันโท", "พันตรี", "ร้อยเอก", "ร้อยโท", - "ร้อยตรี", - "จ่าสิบเอก", "จ่าสิบโท", "จ่าสิบตรี", "สิบเอก", "สิบโท", "สิบตรี", "พลทหาร", - "พลเรือเอก", "พลเรือโท", "พลเรือตรี", "นาวาเอก", "นาวาโท", "นาวาตรี", "เรือเอก", - "เรือโท", "เรือตรี", "พันจ่าเอก", "พันจ่าโท", "พันจ่าตรี", "จ่าเอก", "จ่าโท", - "จ่าตรี", "พลทหาร", "พลอากาศเอก", "พลอากาศโท", "พลอากาศตรี", "นาวาอากาศเอก", - "นาวาอากาศโท", "นาวาอากาศตรี", "เรืออากาศเอก", "เรืออากาศโท", "เรืออากาศตรี", - "พันจ่าอากาศเอก", "พันจ่าอากาศโท", "พันจ่าอากาศตรี", "จ่าอากาศเอก", "จ่าอากาศโท", - "จ่าอากาศตรี", "พลทหาร", "พลตำรวจเอก", "พลตำรวจโท", "พลตำรวจตรี", "พันตำรวจเอก", - "พันตำรวจโท", "พันตำรวจตรี", "ร้อยตำรวจเอก", "ร้อยตำรวจโท", "ร้อยตำรวจตรี", - "นายดาบตำรวจ", "จ่าสิบตำรวจ", "สิบตำรวจเอก", "สิบตำรวจโท", "สิบตำรวจตรี", - "พลตำรวจ", - "นาย", "บาทหลวง", "หม่อมหลวง", "หม่อมราชวงศ์", "สามเณร", "พระ", - "พระอธิการ", "เจ้าอธิการ", "พระปลัด", "พระสมุห์", "พระใบฎีกา", "พระครูปลัด", - "พระครูสมุห์", "พระครูใบฎีกา", "พระมหา", "พระครูธรรมธร", "พระครูวินัยธร", "พล.อ.", - "พล.ท.", "พล.ต.", "พ.อ.", "พ.ท.", "พ.ต.", "ร.อ.", "ร.ท.", "ร.ต.", "จ.ส.อ.", - "จ.ส.ท.", - "จ.ส.ต.", "ส.อ.", "ส.ท.", "ส.ต.", "พลฯ", "พล.ร.อ.", "พล.ร.ท.", "พล.ร.ต.", "น.อ.", - "น.ท.", "น.ต.", "ร.อ.", "ร.ท.", "ร.ต.", "พ.จ.อ.", "พ.จ.ท.", "พ.จ.ต.", "จ.อ.", - "จ.ท.", - "จ.ต.", "พลฯ", "พล.อ.อ.", "พล.อ.ท.", "พล.อ.ต.", "น.อ.", "น.ท.", "น.ต.", "ร.อ.", - "ร.ท.", "ร.ต.", "พ.อ.อ.", "พ.อ.ท.", "พ.อ.ต.", "จ.อ.", "จ.ท.", "จ.ต.", "พลฯ", - "พล.ต.อ.", "พล.ต.ท.", "พล.ต.ต.", "พ.ต.อ.", "พ.ต.ท.", "พ.ต.ต.", "ร.ต.อ.", "ร.ต.ท.", - "ร.ต.ต.", "ด.ต.", "จ.ส.ต.", "ส.ต.อ.", "ส.ต.ท.", "ส.ต.ต.", "พลฯ", "ม.ล.", "ม.ร.ว.") + prefixes_nonbinary = prefixes.copy() - prefixes = prefixes_female + prefixes_male + # get 250 female names and 250 male names randomly + # (with approximate fair distribution of length) from + # https://github.com/PyThaiNLP/pythainlp/blob/dev/pythainlp/corpus/person_names_female_th.txt + # https://github.com/PyThaiNLP/pythainlp/blob/dev/pythainlp/corpus/person_names_male_th.txt + first_names_female = ( + "กนกเนตร", + "กวาง", + "กองสิน", + "กะดิรัตน์", + "กันตวรรณ", + "กิ่งแก้ว", + "กิติกานต์", + "กิติยาธรณ์", + "กุลปรียา", + "กุลภาวลัย", + "เกศรา", + "เกษรา", + "แกมแพร", + "ใกล้รุ่ง", + "ขอดิเยาะ", + "เขมจิรา", + "คณภรณ์", + "คมคาย", + "คำ", + "จณิตตา", + "จณิสตา", + "จรรยพร", + "จริยฉัตร", + "จักรีรัตน์", + "จันทนา", + "จันทภา", + "จิณภัทตา", + "จิตตานันท์", + "จิตรลดา", + "จินต์จุฑา", + "จิราภรณ์", + "จิฬาภรณ์", + "จีราภรณ์", + "จุฑาภรณ์", + "จุฑารัตน์", + "ฉัตรปรียา", + "ชนิศา", + "ชรินทร์ทิพย์", + "ชลิดา", + "ชัญญานุนาย", + "ชัฎชา", + "ชิดชนก", + "ซูรัยดา", + "ซูไรดา", + "ซูฮัยดา", + "ฐิตาพร", + "ฐิติกุล", + "ฐิติณัฐฐา", + "ฐิติยาพร", + "ณภัทร", + "ณัฐญาดา", + "ณัฐติญา", + "ณัฐธภรณ์", + "ณัฐธิตา", + "ณัฐพิชา", + "ณัฐวรินทร", + "ณาร์รีมาน", + "ณิชนันท์", + "ณิชาภัทร", + "ดวงจันทร์", + "ดวงพร", + "ดวงสมร", + "ดารุนี", + "ตรีนุช", + "ทองสิริ", + "ทับทิม", + "ทานตะวัน", + "ทินพร", + "ทิพย์วารี", + "ทิพรดา", + "ทิมาภรณ์", + "เทพนารี", + "ธมลพรรณ", + "ธัชญา", + "ธัญญกัญญา", + "ธัญญามาศ", + "ธีริสรา", + "นพรัตน์", + "นพวรรณ", + "นภัสรินทร์", + "นราวรรณ", + "นรีกานต์", + "นรีรัตน์", + "นวรรษนันท์", + "นันทวรรณ", + "นันทิกานต์", + "นาตยา", + "นารดา", + "นาวีตา", + "น้ำเพชร", + "นิติยา", + "นิภา", + "นิวิลดาน", + "นุจรี", + "เนตรฤดี", + "บุญทิวา", + "บุญเทียน", + "บุญพา", + "เบญญาทิพย์", + "ปฐวีกานต์", + "ปภาวรินทร์", + "ประจิน", + "ประไพพักตร์", + "ประภัทร์สรณ์", + "ปริญญา", + "ปัญญาพร", + "ปัณณธร", + "ปาริตา", + "ปิ่นบุญญา", + "ปิยนาฎ", + "ปิยนุช", + "ปิยวดี", + "ปิยะชาติ", + "ผกาทิพย์", + "พชรภรณ์", + "พรชนก", + "พรชีวิน", + "พรเบญญา", + "พรปราณี", + "พรพิไล", + "พรรณปพร", + "พรสวรรค์", + "พลานุช", + "พัชรีนิษฐ์", + "พันเกล้า", + "พัสวี", + "พาดีล๊ะ", + "พาสุข", + "พิชญ์สินี", + "พิมพกานต์", + "พิมพ์ประภา", + "พิมพ์พิชญา", + "พิมพ์สุดา", + "พิมพ์สุตา", + "พิไลพร", + "พิศพรรณ", + "พีรภัทร์", + "เพชรมณี", + "เพ็ญพรรษา", + "เพ็ญยุภา", + "เพียงกมล", + "ฟารินี", + "ฟิรยา", + "ภัคชัญญา", + "ภัคศุภางค์", + "ภัทรนาฎ", + "ภัทราวุธ", + "ภานิณี", + "ภารวี", + "ภาสินี", + "มณียา", + "มนรัตน์", + "มนัญชยา", + "มลิวรรณ", + "มะลีวัลย์", + "มัตติกา", + "มาซีเตาะ", + "มารีนี", + "มาสิตะ", + "เมทนี", + "เมษา", + "ยนงคราญ", + "ยุภา", + "ยุลิน", + "เยาวรัตน์", + "โยธิการ์", + "รมิตา", + "รวิวาน", + "รอกีเย๊าะ", + "รอซีด๊ะ", + "รักชนก", + "รังสินี", + "ราณี", + "รูไกยะฮ์", + "โรสชา", + "ลักษมี", + "ลัดดา", + "วณัฐดา", + "วนาลี", + "วรดาพร", + "วรนาฎ", + "วรรณกร", + "วรรณนิสา", + "วรรณรัตน์", + "วรรณาต", + "วสิตา", + "วันชนก", + "วัลยา", + "วิเชียร", + "วีร์สุดา", + "ศจีกาญจน์", + "ศรินยา", + "ศศิธร", + "ศศินา", + "ศศิยา", + "ศศิรินทร์", + "ศิริเกศ", + "ศิริญา", + "ศิรินันท์", + "ศุภกรชนา", + "ศุภนุนาย", + "สมใจ", + "สมมล", + "สราญจิตต์", + "สโรชา", + "สหัสมณี", + "สายสุรีย์", + "สิราพร", + "สิริกานต์", + "สิริลัดดา", + "สิริ", + "สุกฤษตา", + "สุธาวี", + "สุธินันท์", + "สุปรานี", + "สุพัตร", + "สุพัตรา", + "สุภัทริดา", + "สุภาพร", + "สุภาลินี", + "สุมัชญา", + "สุรการณ์", + "สุรนีย์", + "โสภณิตา", + "โสภา", + "หรรษา", + "หฤทัย", + "อณัฐตา", + "อธิตยา", + "อเนชา", + "อรจิรา", + "อรพิณ", + "อริสรา", + "อรุณี", + "อลิษา", + "อัญชัญ", + "อัญชิษฐา", + "อัญธิกา", + "อัญพัชร์", + "อันธิกา", + "อาซือมะ", + "อาภัศรา", + "อารีย์", + "อาแอเสาะ", + "อำพร", + "อำไพ", + "อุดมลักษณ์", + "อุลัยพร", + "อุษณีย์", + "ฮามีย๊ะ", + ) + first_names_male = ( + "กรพนธ์", + "กระสุน", + "กฤตพร", + "กฤตเมธ", + "กวีฉัฏฐ", + "กษิดิฐ", + "กิติชัย", + "กิติวัฒน์", + "กุลเชษฐ", + "กุลดิลก", + "เกริกพล", + "เกษตร", + "เกษมชัย", + "เกียรติก้อง", + "เกียรติศักดิ์", + "โกมล", + "โกวิทย์", + "ขวัญรุ้ง", + "เขียว", + "คมกริบ", + "คมกฤชญ์", + "คมสัน", + "คำปลิว", + "คำมั่น", + "จด", + "จักรกฤนาย", + "จักรชัย", + "จักรพันธ์", + "จำรัส", + "จิม", + "จิรวิทย์", + "จีรยุทธ", + "เจตธนากร", + "เจตพินิษฐ์", + "เจษฎากร", + "เจษฏาภรณ์", + "ใจกลาง", + "ฉลองชัย", + "เฉลิมพล", + "เฉลิมรัฐ", + "เฉลิมรัตน์", + "ชัชนันท์", + "ชัชเวศย์", + "เชิงชาย", + "โชคภาดล", + "โชติวุฒิ", + "ไชยภพ", + "ซุกรี", + "ฌาฆีภัตฐ์", + "ญาณพันธุ์", + "ฐิติวุฒิ", + "ณปภัช", + "ณัฐจศักดิ์", + "ณัฐศักดิ์", + "ณิชเชฏฐ์", + "ดิลก", + "ตอฮา", + "ถนอมชัย", + "เถลิงยศ", + "ทรรศนชัย", + "ทวีวัฒน์", + "ทองรัตน์", + "ทัตธน", + "ทินวัฒน์", + "เทพณรงค์", + "เทอดศักดิ์", + "เทียมศักดิ์", + "ธนกิตต์", + "ธนนนท์", + "ธนภณ", + "ธนวันต์", + "ธเนษฐ", + "ธมน", + "ธราวิทญ์", + "ธวัศชา", + "ธารา", + "ธาเอก", + "ธีร์ธวันาย", + "ธีรลักษณ์", + "ธีรวัช", + "ธีรวุฒิ", + "ธีราทัต", + "นนทกาญจน์", + "นพ", + "นภนต์", + "นัฐพล", + "นันทวุฒิ", + "นัสรุน", + "นาทภูวพัฒน์", + "นาย", + "นิชนันท์", + "นิติ", + "นิมุ", + "นิรันดร์", + "นิรุตต์", + "เนติลักษณ์", + "บุญเกิด", + "บุญญกัลป์", + "บุญญามี", + "บุญนพ", + "บุญเอก", + "ปฐม", + "ปรมินทร์", + "ประเดิม", + "ประยุทธ์", + "ประวี", + "ประสิทธิ์", + "ประเสริฐ", + "ปรายกานต์", + "ปวีณ", + "ปัณณวัชร", + "ปัตถพงษ์", + "ปิยบุตร", + "ปิยวัจน์", + "ปิยะนันท์", + "ปุณณรัตน์", + "แปลง", + "ผดุงชาติ", + "ผดุงพล", + "พงษ์นเรศ", + "พลภูมิ", + "พศร", + "พัชรพร", + "พันเทพ", + "พันธุ์เทพ", + "พิชาภพ", + "พิพิธธน", + "พีรพัฒน์", + "พีระพงศ์พันธ์", + "พุทธ", + "พุทธิพงษ์", + "เพทาย", + "ไพสิฐ", + "ภควัฒน์", + "ภัคชนน", + "ภานุพล", + "ภานุวัตร", + "ภาสวุฒิ", + "ภูมิปัญญา", + "ภูวรา", + "ภูวฤณ", + "ภูวัน", + "ภูวิช", + "มนัส", + "มะสูเกียน", + "มาโนชญ์", + "มารุด", + "มูฮัมหมัดอิมรอน", + "มูฮำมัด", + "ไมล์", + "ยศพงศ์", + "ยศพนต์", + "ยศวัฒน์", + "ยอดแมน", + "ยุศรอน", + "ยูซุฟ", + "รชตกร", + "รภัสพงษ์", + "รัฐพงษ์", + "ราชพฤกษ์", + "ราชันทร์", + "ราชัน", + "เรืองเกียรติ", + "ฤทธิ์ชกร", + "เลิศเดช", + "วรปรัชญ์", + "วรรณชนะชัย", + "วรศาสส์", + "วรินทธิ์ธร", + "วันฉัตร", + "วัลลภ", + "วาร์มูฮำหมัด", + "วาสุเทพ", + "วิกิจ", + "วิชชากร", + "วิชา", + "วิถี", + "วิทูลย์", + "วิพุธ", + "วิรชัย", + "วิรศักดิ์", + "วิสาร", + "วีรชัย", + "วีระโชติ", + "วีระวัฒน์", + "วุฒิ", + "ไวพจน์", + "ศดิศ", + "ศภัคชคง", + "ศรลักษณ์", + "ศรายุธ", + "ศรีสวัสดิ์", + "ศิรณัฐ", + "ศุภชัย", + "ศุภาศิล", + "สนั่น", + "สมเกียรติ", + "สมนึก", + "สมปอง", + "สมพิศ", + "สมหมาย", + "สรรเพชญ์", + "สรายุทธ", + "สัญชาน", + "สันชัย", + "สันติราษฎร์", + "สิทธัญ", + "สิทธิชัย", + "สินสมุทร", + "สิรวัฒน์", + "สิริรัตน์", + "สีหราช", + "สุชิน", + "สุทกร", + "สุทธิณัฐ", + "สุทธิพจน์", + "สุพนธ์", + "สุรธัช", + "สุรนัย", + "สุรวัช", + "สุไฮลัน", + "เสรี", + "โสภณ", + "หรรษธร", + "หลักทรัพย์", + "หล้า", + "หลี", + "อชิตะวีร์", + "อณาวิน", + "อดิสรณ์", + "อธิวัตร", + "อนิวัฒน์", + "อนุบาล", + "อนุวัช", + "อภิลักษณ์", + "อมัด", + "อรรจน์", + "อัครพนธ์", + "อับดุลเลาะห์", + "อัษฏา", + "อาฮามัด", + "อินทรีย์", + "อิสรันดร์", + "เอกชัย", + "เอกวิทย์", + "เอกอธิพงษ์", + "เอนกพงศ์", + "โอภาส", + "ฮานาฟี", + "ฮาฟิต", + ) - # Chulalongkorn University famous teacher&student first name - # https://th.wikipedia.org/wiki/%E0%B8%A3%E0%B8%B2%E0%B8%A2%E0%B8%99%E0%B8%B2%E0%B8%A1%E0%B8%9A%E0%B8%B8%E0%B8%84%E0%B8%84%E0%B8%A5%E0%B8%88%E0%B8%B2%E0%B8%81%E0%B8%88%E0%B8%B8%E0%B8%AC%E0%B8%B2%E0%B8%A5%E0%B8%87%E0%B8%81%E0%B8%A3%E0%B8%93%E0%B9%8C%E0%B8%A1%E0%B8%AB%E0%B8%B2%E0%B8%A7%E0%B8%B4%E0%B8%97%E0%B8%A2%E0%B8%B2%E0%B8%A5%E0%B8%B1%E0%B8%A2 - first_names = ( - "ขวัญข้าว", "จักรพงศ์", "วัลลภ", "ธนชัย", "ธนพร", "หม่อมหลวงปิยาภัสร์", - "นันทวัฒน์", "ภัทร", "ศิริพิชยา", "สุนิดา", "สุรางค์", "หม่อมหลวงสราลี", "อรพรรณ", - "อัษฎาวุธ", "อิทธิพงศ์", "อดิสรณ์", "เกริก", "กุศล", "กรรณิการ์", "กฤษฎา", - "กอบชัย", "ชยาวุธ", "ชลอ", "ชนิสาร์", "ชาญชัย", "ชูเกียรติ", "ถาวร", "ณัฐจักร", - "ณรงค์", "นันทศักดิ์", "ประดิษฐ์", "ปิยะพันธ์", "ยรรยง", "บุญส่ง", "ปรีชา", - "มิ่งขวัญ", "เลิศศักดิ์", "วัฒนา", "วีระศักดิ์", "สดศรี", "ภูริกูลกฤษฎ์", - "สุวิชา", "สุธรรม", "อาทิวราห์", "กริช", "กฤชภร", "กฤษดา", "กิจมาโนชญ์", - "กุลนัดดา", "คมกฤษ", "คีรติ", "จันทรา", "ชนม์ทิดา", "จิระ", "ชลิตา", "ชูเกียรติ", - "ทรงยศ", "ฉันทวิชช์", "ฉัตรปวีณ์", "ฐิติมา", "ณภศศิ", "ฟองสนาน", "ทรงยศ", - "ทักษอร", "ธีรัตถ์", "ธิติมา", "ณภศศิ", "นิธิวัฒน์", "นิรมล", "บุญยอด", "บรรจง", - "ประภัทร์", "ประสงค์", "ประวีณมัย", "ปราโมช", "ปวีณ์สุดา", "ปวีณ์นุช", "ปาณิสรา", - "ปิยณี", "พัชรศรี", "พันธุ์เลิศ", "พุทธชาด", "ไพบูลย์", "ภัทรวี", "ยงยุทธ", - "ยุทธนา", "รัชวิน", "วิชชพัชร์", "วันชัย", "หม่อมหลวงวราภา", "วิทยา", "วรรษพร", - "ศศิวรรณ์", "สุทธิชัย", "สมพล", "สันติ", "สู่ขวัญ", "สายทิพย์", "สายัณห์", - "สิริยากร", "สุภิญญา", "เสริมคุณ", "สวรรยา", "หฤหรรษ์", "อดิสรณ์", "มาดามมด", - "ไอยวริญท์", "อรุโณชา", "อ่อนอุษา", "อาภาภัทร", "อเล็กซ์", "อภิชาต", "ปวีณ", - "เมษ", "ปิยะชาติ", "จารุณี", "ธีมะ", "จักรพันธ์", "ธนพล", "คณาธิป", "กิจมาโนชญ์", - "ธัญชนก", "พัฒนะชัย", "สุทัตตา", "ภัทร", "รสสุคนธ์", "นิพนธ์", "ธัญญา", - "ปรัชญานันท์", "กรกันต์", "ปาจรีย์", "พิสิทธิ์", "กฤตยา", "กันต์", "กอบศักดิ์", - "กานธนิกา", "ขัตติยา", "ชฎาทิพ", "ดวงใจ", "จุฑาวุฒิ", "จันทิมา", "งามนิตย์", - "เมตตา", "ปริศนา", "ธนะชัย", "ธนันต์ธรญ์", "นวลพรรณ", "นภารัตน์", "เมธินี", "บดี", - "บุษกร", "ประเวช", "พชร", "พลอย", "ภัทรียา", "ยิ่งพันธ์", "ลักษณา", "เลอศักดิ์", - "สรสิทธิ์", "สาลินี", "ทองอุไร", "วรุธ", "วิสิฐ", "วศิน", "วรพิศ", "สันติ", - "สุกัญญา", "สุวิชญ", "เสาวณี", "สุวรรณ", "สามารถ", "สาคร", "สุชาดา", "หิรัญญา", - "ศุภเดช", "ศรัณย์ทร", "อโนทัย", "อนันต์", "บุญยงค์", "พรรณประภา", "วิชัย", - "สุรพล", "สมัย", "สำลี", "รอดคล้าย", "สอนตระกูล", "ธรณินทร์", "ศรีหล้า", - "สิทธิหล่อ", "วัฒนางกูร", "บุหงา", "สมหมาย", "ขัตติยะ", "บุญทอง", "โสภา", - "ธวัชชัย", "ดารณี", "ศิริพร", "อมรวิชช์", "แขมมณี", "สุนีย์", "ชนิตา", "สมพงษ์", - "สุนพงษ์ศรี", "ไพฑูรย์", "นงลักษณ์", "ปทีป", "สมหวัง", "วิจิตร", "ธนู", "ธำรง", - "นายแพทย์", "พิศาล", "คงสง", "เอี่ยมวรวุฒิกุล", "ชินโสภณทรัพย์", "เพ็ชรา", - "ทองประสม", "พสุธา", "ยุกตะนันทน์", "มธุราสัย", "ชาติสุทธิพันธุ์", - "หม่อมราชวงศ์อ๊อด", "ประสิทธิ์", "ไตรรัตน์วรกุล", "จีรศักดิ์", "จันศิษย์ยานนท์", - "สมพร", "ศิริจิตร", "คันธวงศ์", "พาลุสุข", "พหิทธานุกร", "วลัยเสถียร", "จุลพงศธร", - "ภูมิ", "จุฑานนท์", "เดชรักษา", "ดิสสะมาน", "เชื้อบุญชัย", "สรุโฆษิต", "ชลอ", - "ปกป้อง", "เหมะรัชตะ", "มันตราภรณ์", "ประยูร", "ไพโรจน์", "ดร.", "ชุติวงศ์", - "ภักดีธนากุล", "วสันตสิงห์", "นิติสิริ", "จันทรางศุ", "วิชิตชลชัย", "มหาคุณ", - "อริยะนันทกะ", "ธรรมาพิทักษ์กุล", "มงคลนาวิน", "สุรเกียรติ์", "ติงสมิตร", "ฤทัย", - "เมฆเกรียงไกร", "เกรียงไกร", "สุนีย์", "วีระพงษ์", "นันทวัฒน์", "ศักดา", - "บวรศักดิ์", "วิษณุ", "อุรพีพัฒนพงศ์", "เขมะจารุ", "สุชีวะ", "ลัดพลี", - "โฆวิไลกูล", "ดิษฐอำนาจ", "สัจจวานิช", "พานิชวงศ์", "ไตรประสิทธิ์", "ฉ่ำเฉลิม", - "ภัทราคม", "ไพศิษฐ์", "คณิต", "สุนทร", "หยุด", "อมร", "โกเมน", "ฦาไชย", - "กิตติพงษ์", "มาศดิตถ์", "มาลีนนท์", "ตั้งพูลสินธนา", "รัตนนาคินทร์", - "หม่อมหลวงวิฏราธร", "ประกอบผล", "เตชานันท์", "วิรุฬห์รักษ์", "ประเสริฐสกุล", - "สุดบรรทัด", "สถาปิตานนท์", "เบ็ญจรงค์กิจ", "ปั้นเหน่งเพ็ชร์", "รอดคำดี", - "ทองมีอาคม", "ศิริยุวศักดิ์", "ชลวิไล", "ปราสาททองโอสถ", "เกยุราพันธุ์", "เมณฑกา", - "วีระเมธีกุล", "สมะลาภา", "ทองปาน", "แสงสนิท", "คุณพนิชกิจ", "ปานะนนท์", - "สามโกเศศ", "บุนนาค", "วีรวรรณ", "สุทธิวาทนฤพุฒิ", "ธัญลักษณ์ภาคย์", "วรรธนะสิน", - "รุนสำราญ", "กรัยวิเชียร", "บัญชี", "เมาลานนท์", "อภิเมธีธำรง", "สุชาดา", - "จันทร์ฉาย", "ตันละมัย", "กรพรหม", "จันทรลาวัณย์", "ดวงเนตร", "เจริญเศรษฐศิลป์", - "ลี่สถาพรวงศา", "เจียมบุญศรี", "อัถโถปกรณ์", "เมฆธน", "วลีอิทธิกุล", - "ศรีประพันธ์", "พระครูปลัดสุวัฒนโพธิคุณ", "มโน", "นลินี", "บุรพรัตน์", - "ตัณฑ์ไพโรจน์", "มานพ", "เสาวภาพ", "ณรงค์", "ตันตยาภรณ์", "ชีวะเกตุ", - "สัณฑ์พิทักษ์", "โปษยะจินดา", "อัมพร", "ชัยชน", "มหาทุมะรัตน์", "ประภัสสราทร", - "เหมะจุฑา", "ตัณฑวิเชียร", "ลิ้มสุวรรณ", "เทียนบุญ", "ปิยะรัตน์", "ภู่วรวรรณ", - "ศุภจัตุรัส", "โชติเลอศักดิ์", "บุณยะโหตระ", "กสานติกุล", "ลิ้มพงศานุรักษ์", - "อนุราษฎร์", "จิตต์มิตรภาพ", "สุวรรณเวลา", "สิทธีอมร", "อ่องจริต", "ดุสิตสิน", - "ภานุภาค", "ฟูตระกูล", "โปษยะจินดา", "สิตปรีชา", "ช่วงโชติ", "ศรีจิตรา", "ประมวล", - "บุญเชียร", "หงศ์ลดารมภ์", "รามสูต", "อึ้งถาวร", "วาทีสาธกกิจ", "สันติไชยกุล") + first_names = first_names_male + first_names_female + first_names_nonbinary = first_names_male + first_names_female # last name that has given by senior officer # http://www.reurnthai.com/index.php?topic=5273.45 + # also partially from + # https://github.com/PyThaiNLP/pythainlp/blob/dev/pythainlp/corpus/family_names_th.txt last_names = ( - "ดำริห์ชอบ", "ดวงทับทิม", "ดิศดใน", "ดัตพันธุ์", "ดุษฎีวนิช", "ดาบเพ็ชร์", - "ดิสกะประกาย", "เดชคุ้ม", "ดาวกระจาย", "ดาบเงิน", "ดีตพันธุ์", "ดุริยพันธุ์", - "ดาวอร่าม", "เดชวา", "ติระคมน์", "ไตรบรรพ", "ตระกูลบุญ", "เตมิยะเดช", "ตวงทอง", - "แต้กุล", "ตรีครุธพันธุ์", "ตัณฑนุช", "ตั้งกุลงาม", "ตระกูลไม้เรียง", "ตะละภัฏ", - "ตั้งเผ่า", "ตันเผ่า", "เตชะกำพุ", "ตัณสถิตย์", "ตราชู", "ตวันเยี่ยม", + "กุมารบุญ", + "แก้วชลคราม", + "แก้วอยู่", + "ขอหมั่นกลาง", + "ขันธุลา", + "ขำเอนก", + "ขุนดำ", + "เขียวขุ้ย", + "เขียวอ่อน", + "คณานุรักษ์", + "คำลือ", + "งามพิเชษฐ์", + "จ้อยนุแสง", + "จันทา", + "จันอ้น", + "เจริญรัมย์", + "แจ้งสว่าง", + "ฉัตรอภิเที่ยงค่ำ", + "ฉัพพรรณธนกูร", + "ฉายแสง", + "ฉิมพาลี", + "ชำนาญวาด", + "ชุมวระ", + "เช้าวันดี", + "ไชยภา", + "ซาซุม", + "ซูสารอ", + "เณรานุสนธิ์", + "ดวงทับทิม", + "ด้วงโสน", + "ดัตพันธุ์", + "ดาตู", + "ดาบเงิน", + "ดาบเพ็ชร์", + "ดาวกระจาย", + "ดาวอร่าม", + "ดำริห์ชอบ", + "ดิศดใน", + "ดิสกะประกาย", + "ดีตพันธุ์", + "ดุริยพันธุ์", + "ดุษฎีวนิช", + "เดชคุ้ม", + "เดชวา", + "ตระกูลบุญ", + "ตระกูลไม้เรียง", + "ตราชู", + "ตรีครุธพันธุ์", "ตรีเภรินทร์", - "ตันตราจิณ", "ตั้งรบ", "ถนัดกลึง", "ถนอมมนุษย์", "ถนัดอักษร", "ถนัดการยนต์", - "ถนัดหัดถกรรม", "ถาวรายุศม์", "ถนัดการเขียน", "ถาวรรัตน", "ถนัดพิมพการ", - "ถ้วนศรี", - "ถนอมพล", "ถาวระวรณ์", "ถนัดรบ", "ถนอมกุลบุตร", "ถมปัด", "ถนัดภาษา", + "ตวงทอง", + "ตวันเยี่ยม", + "ตะละภัฏ", + "ตั้งกุลงาม", + "ตั้งเผ่า", + "ตั้งรบ", + "ตัณฑนุช", + "ตัณสถิตย์", + "ตันตราจิณ", + "ตันเผ่า", + "ตันยา", + "ติณรัตน์", + "ติระคมน์", + "เตชะกำพุ", + "เตมิยะเดช", + "แต้กุล", + "ไตรบรรพ", + "ถนอมกุลบุตร", + "ถนอมพลกรัง", + "ถนอมพล", + "ถนอมมนุษย์", + "ถนัดกลึง", + "ถนัดการเขียน", + "ถนัดการยนต์", "ถนัดเดินข่าว", - "ถนัดรักษา", "ถนิมมาศ", "ถมังรักษสัตว์", "แถมธน", "ถะเกิงชศ", "ถิรสวัสดิ์", - "ถนัดอาวุธ", "ถุงเงิน", "ทุมะบุตร์", "ทองประดิฐ", "ทรงโกมล", "ทัศนสุทธิ", + "ถนัดพิมพการ", + "ถนัดภาษา", + "ถนัดรบ", + "ถนัดรักษา", + "ถนัดหัตถกรรม", + "ถนัดอักษร", + "ถนัดอาวุธ", + "ถนิมมาศ", + "ถมปัด", + "ถมังรักษสัตว์", + "ถ้วนศรี", + "ถะเกิงชศ", + "ถาวรรัตน", + "ถาวระวรณ์", + "ถาวรายุศม์", + "ถิรสวัสดิ์", + "ถุงเงิน", + "แถมธน", + "ทรงโกมล", + "ทรัพย์ธำรงค์", + "ทรัพย์สาร", + "ทวนไชย์", + "ทวนทอง", + "ทวีเดช", + "ทศโยธิน", "ทหารแท้", - "ทองอยู่", "ทำประดู่", "ทรัพย์สาร", "ทีฆะ", "ทวนทอง", "ไทยสุชาต", "ทันยุค", + "ทองแท้", + "ทองเนื้อดี", + "ทองประดิฐ", + "ทองปากน้ำ", + "ทองลาภ", + "ทองสินธุ์", + "ทองสีไพล", + "ทองสุกเลิศ", + "ทองอยู่", + "ทันยุค", + "ทับทิมไทย", + "ทัศนสุทธิ", + "ทำประดู่", + "ทีฆะ", + "ทุมะบุตร์", + "แท่นทอง", + "ไทไชโย", "ไทนิยม", - "ทองลาภ", "ทองเนื้อดี", "ทองแท้", "ทวีเดช", "ทับทิมไทย", "ทองสินธุ์", "ไทไชโย", - "ทวนไชย์", "ทองสุกเลิศ", "ไทยแท้", "ทองสีไพล", "ธรรมนิยม", "ธนประทีป", "ธรรมเมธา", - "ธุวะนุติ์", "ธาราธร", "ธีวร", "ธัญเสถียร", "ธนูปกรณ์", "เธียรายัน", "ธรรมฤดี", - "ธัญาโภชน์", "ธนรักษ์", "ธูปะวิโรจน์", "ธูปหอม", "แนวพนิช", "นักสำหรวจ", + "ไทยแท้", + "ไทยสุชาต", + "ธนประทีป", + "ธนรักษ์", + "ธนูปกรณ์", + "ธรรมทินนา", + "ธรรมนิยม", + "ธรรมเมธา", + "ธรรมฤดี", + "ธรรมสถิตไพศาล", + "ธัญเสถียร", + "ธัญาโภชน์", + "ธาราธร", + "ธีวร", + "ธุวะนุติ์", + "ธูปหอม", + "ธูปะวิโรจน์", + "เธียรายัน", + "นกทอง", + "นครเทพ", + "นพคเชนทร์", + "นพตระกูล", + "นรวิทย์โชติกุล", "นฤทุกข์", - "นาฏคายี", "เนื่องนนท์", "น้ำทิพย์", "เนื้อนุ่ม", "นวลฉวี", "นาคพันธุ์", "นำธวัช", - "แน่นดุจป้อม", "เณรานุสนธิ์", "นามเสวตร", "นิษประปัญจ์", "นิระหานี", "นิลสุวรรณ์", - "นักรบ", "นิติสาขา", "นิยมธรรม", "นิลเสนา", "หนุนสุข", "นิลวิมล", "นฤภัย", + "นฤภัย", + "นวลฉวี", + "นวลเพ็ง", + "นะวะมันดร", + "นักรบ", + "นักสำหรวจ", + "นับเนื่องนอ", + "นากกนก", + "นาคพันธุ์", + "นาควงษ์", + "นาคสุทิน", + "นาคะนคร", + "นาฏคายี", "นาถะเดชะ", - "นพตระกูล", "นิยมเซียม", "หนักแน่น", "นามขำ", "นานายน", "นับเนื่องนอ", "แนวพญา", - "นาถะพินธุ", "นิลสลัว", "นะวะมันดร", "นิลวรรณ", "เนตร์มณี", "นุตตาร", + "นาถะพินธุ", + "นานายน", + "นามขำ", + "นามเสวตร", + "น้ำทิพย์", + "นำธวัช", + "นิติสาขา", + "นิยมเซียม", + "นิยมธรรม", "นิยมสำหรวจ", - "นกทอง", "นุชแนวนุ่ม", "นาคสุทิน", "นพคเชนทร์", "นาคะนคร", "นิละทัต", "นาควงษ์", - "นากกนก", "บุนยาภิสนท์", "บุญญาภิรมย์", "บุณยะภาชน์", "บินดี", "บุนยะศัพท์", - "บุนยะตีรณะ", "บุญญาไลย์", "บุญบำรุง") + "นิระหานี", + "นิลวรรณ", + "นิลวิมล", + "นิลสลัว", + "นิลสุวรรณ์", + "นิลเสนา", + "นิละทัต", + "นิษประปัญจ์", + "นุชแนวนุ่ม", + "นุตตาร", + "นุ่มกัน", + "เนตร์มณี", + "เนื่องนนท์", + "เนื้อนุ่ม", + "แน่นดุจป้อม", + "แนวพญา", + "แนวพนิช", + "บัวเผื่อน", + "บินดี", + "บุญญาภิรมย์", + "บุญญาไลย์", + "บุญบำรุง", + "บุญศล", + "บุญส่ง", + "บุณยะภาชน์", + "บุตดา", + "บุตราช", + "บุนยะตีรณะ", + "บุนยะศัพท์", + "บุนยาภิสนท์", + "ประจันตะเสน", + "ปรีชากุลเศรษฐ์", + "ปานสุวรรณ", + "ผลบุญ", + "พงศ์ฉบับนภา", + "พรมอ่อน", + "พรรษาสกุล", + "พรสีมา", + "พานเกล้า", + "พีระเพ็ญกุล", + "เพียยา", + "โพธิสัตย์", + "ภูภักดี", + "มนทอง", + "มิ่งขวัญ", + "เมืองสุข", + "ไม้แดง", + "ยะผา", + "ยางสวย", + "ยาปะโลหิต", + "เยาวธนโชค", + "ร่มธิติรัตน์", + "ราชมณี", + "เลขะพันธุ์", + "เลิศกิ่ง", + "วะคีมัน", + "วาทา", + "วิลาสินี", + "วุฑฒยากร", + "เวียงจันทึก", + "ศรทอง", + "ศรีตะวัน", + "ศรีธนะเวทย์", + "ศรีเผด็จ", + "ศรีวงค์", + "ศรีสัตย์", + "ศรีอุ่น", + "ศาสตร์ศิลป์", + "ศิวะวรเวท", + "สงประเสริฐ", + "สังข์กรด", + "สันตะวงศ์", + "สาระพันธ์", + "สุวรรณหงษ์", + "ไสยกิจ", + "หนักแน่น", + "หนุนสุข", + "หอมพิกุล", + "หอมสิน", + "หิรัญสาลี", + "แหยมศิริ", + "อัตตนาถ", + "อุ่นอก", + "อุลหัสสา", + ) # thai suffix that has given by the king # https://th.wikipedia.org/wiki/%E0%B8%99%E0%B8%B2%E0%B8%A1%E0%B8%AA%E0%B8%81%E0%B8%B8%E0%B8%A5%E0%B8%9E%E0%B8%A3%E0%B8%B0%E0%B8%A3%E0%B8%B2%E0%B8%8A%E0%B8%97%E0%B8%B2%E0%B8%99 @@ -185,4 +1016,5 @@ class Provider(PersonProvider): "ณ วิเชียร", "ณ สงขลา", "ณ หนองคาย", - "ณ อุบล") + "ณ อุบล", + ) diff --git a/faker/providers/person/tr_TR/__init__.py b/faker/providers/person/tr_TR/__init__.py index 8cf8ce5041..5564a93b97 100644 --- a/faker/providers/person/tr_TR/__init__.py +++ b/faker/providers/person/tr_TR/__init__.py @@ -3,271 +3,1611 @@ class Provider(PersonProvider): formats_female = ( - '{{first_name_female}} {{last_name}}', - '{{first_name_female}} {{first_name_female}} {{last_name}}', - '{{first_name_female}} {{last_name}}', - '{{first_name_female}} {{first_name_female}} {{last_name}} {{last_name}}', - '{{first_name_female}} {{last_name}} {{last_name}}', - '{{prefix_female}} {{first_name_female}} {{first_name_female}} {{last_name}}', - '{{prefix_female}} {{first_name_female}} {{first_name_female}} {{last_name}} {{last_name}}', - '{{prefix_female}} {{first_name_female}} {{last_name}} {{last_name}}') + "{{first_name_female}} {{last_name}}", + "{{first_name_female}} {{first_name_female}} {{last_name}}", + "{{first_name_female}} {{last_name}}", + "{{first_name_female}} {{first_name_female}} {{last_name}} {{last_name}}", + "{{first_name_female}} {{last_name}} {{last_name}}", + "{{prefix_female}} {{first_name_female}} {{first_name_female}} {{last_name}}", + "{{prefix_female}} {{first_name_female}} {{first_name_female}} {{last_name}} {{last_name}}", + "{{prefix_female}} {{first_name_female}} {{last_name}} {{last_name}}", + ) formats_male = ( - '{{first_name_male}} {{last_name}}', - '{{first_name_male}} {{first_name_male}} {{last_name}}', - '{{first_name_male}} {{last_name}}', - '{{first_name_male}} {{first_name_male}} {{last_name}} {{last_name}}', - '{{first_name_male}} {{last_name}}', - '{{prefix_male}} {{first_name_male}} {{last_name}}', - '{{first_name_male}} {{last_name}}', - '{{prefix_male}} {{first_name_male}} {{first_name_male}} {{last_name}}', + "{{first_name_male}} {{last_name}}", + "{{first_name_male}} {{first_name_male}} {{last_name}}", + "{{first_name_male}} {{last_name}}", + "{{first_name_male}} {{first_name_male}} {{last_name}} {{last_name}}", + "{{first_name_male}} {{last_name}}", + "{{prefix_male}} {{first_name_male}} {{last_name}}", + "{{first_name_male}} {{last_name}}", + "{{prefix_male}} {{first_name_male}} {{first_name_male}} {{last_name}}", ) formats = formats_male + formats_female - first_names_female = ('Abiye', 'Acarkan', 'Adal', 'Adila', 'Adviye', - 'Afife', 'Ahter', 'Akay', 'Akgüneş', 'Akise', 'Akmaral', 'Aksoy', - 'Akyıldız', 'Alabezek', 'Alaz', 'Algış', 'Alize', 'Almast', 'Alsoy', - 'Altınbike', 'Altınçiçek', 'Alışık', 'Amre', 'Anargül', 'Anka', 'Aral', - 'Armahan', 'Arziye', 'Arıpınar', 'Asiman', 'Asliye', 'Asu', 'Atanur', - 'Atiyye', 'Avunç', 'Ayasun', 'Aybet', 'Aycagül', 'Aydar', 'Ayduru', - 'Aygönenç', 'Ayhan', 'Aykut', 'Aylil', 'Aynilhayat', 'Aynımah', - 'Aysema', 'Aysevim', 'Aysuna', 'Ayten', 'Aytöz', 'Ayyaruk', 'Ayçan', - 'Ayülker', 'Ayşeana', 'Ayşenur', 'Azade', 'Azize', 'Açılay', 'Ağbegim', - 'Aşhan', 'Badegül', 'Bahtinur', 'Balca', 'Ballı', 'Banü', 'Basriye', - 'Bağdat', 'Bediriye', 'Begim', 'Behiza', 'Belgizar', 'Belkize', 'Benek', - 'Benice', 'Beray', 'Bergen', 'Beriye', 'Berrin', 'Besey', 'Beste', - 'Beyhatun', 'Bezek', 'Bidayet', 'Bilay', 'Bilginur', 'Bilkay', 'Binay', - 'Birben', 'Birgül', 'Birsan', 'Bitül', 'Burcuhan', 'Buşra', 'Büreyre', - 'Büşranur', 'Canan', 'Canfeza', 'Cannur', 'Canseven', 'Canur', 'Cedide', - 'Cemiyle', 'Cevale', 'Ceyhun', 'Cihan', 'Cuheyna', 'Damlanur', 'Deha', - 'Deniz', 'Deryanur', 'Değer', 'Dilara', 'Dilcan', 'Dilfeza', 'Dilhuş', - 'Dilsitan', 'Dilşat', 'Divan', 'Doğannur', 'Duha', 'Durgadin', - 'Dursadiye', 'Duyguhan', 'Döner', 'Dürrüşehvar', 'Ecegül', 'Edaviye', - 'Efil', 'Egenur', 'Elamiye', 'Elgin', 'Elifnur', 'Elvan', 'Emal', - 'Emine.', 'Emiş', 'Enfes', 'Erbay', 'Erem', 'Ergül', 'Eriş', 'Ervaniye', - 'Esengün', 'Esmanperi', 'Esna', 'Evde', 'Evrim', 'Ezgin', 'Eşim', - 'Fadile', 'Fadıla', 'Faize', 'Fatigül', 'Fatinur', 'Fatmanur', 'Fayize', - 'Feden', 'Fehmiye', 'Ferahdiba', 'Feraye', 'Ferhan', 'Ferinaz', - 'Fermuta', 'Feryas', 'Feyha', 'Feyzin', 'Fidaye', 'Fildan', 'Firdevis', - 'Fitnat', 'Fügen', 'Gabel', 'Ganiye', 'Gelengül', 'Gilman', 'Goncafer', - 'Gök', 'Gökperi', 'Gökçe', 'Göli', 'Görsev', 'Gözem', 'Gül', 'Gülay', - 'Gülbani', 'Gülbeyan', 'Gülbiye', 'Gülcegün', 'Güldam', 'Gülder', - 'Güldünya', 'Gülenay', 'Güler', 'Gülev', 'Gülfari', 'Gülfeza', 'Gülgen', - 'Gülgüzel', 'Gülhisar', 'Gülinaz', 'Gülkadın', 'Güllühan', 'Gülmisal', - 'Gülnaziye', 'Gülper', 'Gülsalın', 'Gülselin', 'Gülseren', 'Gülsevil', - 'Gülsiye', 'Gülsü', 'Gülter', 'Gülzadiye', 'Gülçe', 'Gülözge', 'Gülüs', - 'Gülşa', 'Gülşeref', 'Günar', 'Günebakan', 'Güngören', 'Günsel', - 'Günver', 'Gürcüye', 'Gürten', 'Güverçin', 'Güzey', 'Habibe', 'Hacile', - 'Hadrey', 'Hafıza', 'Halenur', 'Haliye', 'Hamiyet', 'Hanbiken', 'Hanim', - 'Hansultan', 'Harbinaz', 'Hasgül', 'Hasret', 'Hatin', 'Havali', 'Havse', - 'Hayel', 'Hayrünnisa', 'Hazine', 'Hekime', 'Henife', 'Heva', 'Hezniye', - 'Hilayda', 'Hinet', 'Hoşkadem', 'Huban', 'Hurican', 'Hurşide', 'Hüda', - 'Hümeyra', 'Hürmet', 'Hürüyet', 'Hüsnühâl', 'Ildız', 'Irıs', 'Işin', - 'Işın', 'Jaruthip', 'Kader', 'Kadınana', 'Kandef', 'Kardelen', 'Kaver', - 'Kefser', 'Kerime', 'Kezban', 'Kifaye', 'Kitan', 'Koncagül', 'Kumral', - 'Kutgün', 'Kutun', 'Kâzime', 'Kübran', 'Kısmet', 'Laika', 'Laze', - 'Lerze', 'Leyli', 'Lezize', 'Limon', 'Lâle', 'Lüfen', 'Macide', - 'Mahigül', 'Mahnaz', 'Mahter', 'Maksüde', 'Masume', 'Maynur', 'Maşide', - 'Mecide', 'Mefharet', 'Mehdiye', 'Mehrigül', 'Melaha', 'Meleknur', - 'Melikkan', 'Melûl', 'Menfeat', 'Menişan', 'Merba', 'Merim', 'Merva', - 'Meryeme', 'Mesude', 'Meveddet', 'Mevlüdiye', 'Meyhanim', 'Mezide', - 'Mihrab', 'Mihriye', 'Minibe', 'Miray', 'Misra', 'Miyesser', 'Muarra', - 'Mufide', 'Muhiye', 'Mujde', 'Mukbile', 'Musaffa', 'Muvahhide', - 'Mübetcel', 'Mücevher', 'Müferrih', 'Müjde', 'Mükrüme', 'Mümtaze', - 'Münezzer', 'Müret', 'Müsemma', 'Müveddet', 'Müğber', 'Müşüre', 'Nades', - 'Nafile', 'Naide', 'Nalân', 'Narhanim', 'Nasiba', 'Natalia', 'Naz', - 'Nazende', 'Nazi', 'Nazimet', 'Nazlihan', 'Nazıdil', 'Nebiha', - 'Necilal', 'Necva', 'Nefaret', 'Nefiye', 'Nejdet', 'Neptün', 'Neriban', - 'Nesfe', 'Neslinur', 'Neval', 'Nevgin', 'Nevise', 'Nevsale', 'Neyran', - 'Nezengül', 'Nezize', 'Neşrin', 'Nihan', 'Nilcan', 'Nili', 'Nirgül', - 'Niğmet', 'Nura', 'Nurbanu', 'Nurda', 'Nurdeniz', 'Nurey', 'Nurgil', - 'Nurhayet', 'Nuriyet', 'Nurmelek', 'Nurseda', 'Nurser', 'Nursim', - 'Nurtaç', 'Nurveren', 'Nurşan', 'Nüdret', 'Nürice', 'Oguş', 'Oluş', - 'Orçin', 'Paksu', 'Paye', 'Pekkan', 'Pembesin', 'Peren', 'Perinur', - 'Permun', 'Pesent', 'Piran', 'Pürçek', 'Rabbiye', 'Rafia', 'Rahiye', - 'Rakide', 'Rana', 'Rayla', 'Rebihat', 'Refet', 'Rehime', 'Rengül', - 'Revza', 'Rezin', 'Risalet', 'Rojnu', 'Ruhide', 'Ruhugül', 'Rumeysa', - 'Rümeysa', 'Rıfkıye', 'Sabihe', 'Sabır', 'Sadeti', 'Sadiye', 'Safinaz', - 'Safura', 'Sahil', 'Saire', 'Salimet', 'Samahat', 'Sanavber', 'Sanur', - 'Sarya', 'Satıa', 'Saygın', 'Saçı', 'Sebigül', 'Seblâ', 'Sedife', - 'Sefer', 'Sehel', 'Sejda', 'Selcen', 'Selime', 'Selmin', 'Selvi', - 'Selçuk', 'Semat', 'Semine', 'Semrin', 'Seniha', 'Serda', 'Serfinaz', - 'Serma', 'Sernur', 'Servinaz', 'Sevcan', 'Sevdinar', 'Sevgen', - 'Sevginur', 'Sevican', 'Sevim', 'Sevla', 'Sevsevil', 'Seyhan', - 'Seyyide', 'Sezen', 'Seçgül', 'Sidar', 'Silanur', 'Simber', 'Simten', - 'Sirap', 'Siti', 'Solma', 'Sonnur', 'Soykan', 'Subutiye', 'Sultane', - 'Sunay', 'Susam', 'Söyler', 'Süheyda', 'Süleyla', 'Sümerya', 'Süner', - 'Süsen', 'Süzer', 'Sırriye', 'Tagangül', 'Talibe', 'Tan', 'Tangül', - 'Tanses', 'Tanyu', 'Tasvir', 'Tayyibe', 'Taçnur', 'Teknaz', 'Temime', - 'Tercan', 'Teybet', 'Ticen', 'Tomurcuk', 'Tule', 'Turcein', 'Tutkucan', - 'Tuğçe', 'Tülin', 'Türcan', 'Türknur', 'Tüzenur', 'Ufukay', 'Ummahani', - 'Umuşan', 'Uyanser', 'Uğur', 'Vacibe', 'Varlık', 'Vecide', 'Vefia', - 'Verde', 'Vezrife', 'Vildane', 'Yahşi', 'Yalın', 'Yasemen', 'Yazgül', - 'Yaşar', 'Yekbun', 'Yepelek', 'Yeşil', 'Yosma', 'Yurdaser', 'Yurtseven', - 'Yücel', 'Yıldız', 'Zahfer', 'Zaliha', 'Zebirce', 'Zehranur', 'Zelha', - 'Zemzem', 'Zerafet', 'Zeride', 'Zevlüde', 'Zeyno', 'Zilfa', 'Zinnure', - 'Zubeyde', 'Zöhrehan', 'Züheyla', 'Zülbiye', 'Zülfüye', 'Zümre', - 'Âlemşah', 'Çalım', 'Çağlar', 'Çevregül', 'Çilga', 'Çisem', 'Çolpan', - 'Ömriye', 'Öncel', 'Örfiye', 'Övün', 'Özay', 'Özbilge', 'Özdeş', 'Özge', - 'Özgün', 'Özlem', 'Özpetek', 'Özyurt', 'Üge', 'Ülke', 'Ülküm', - 'Ümmahan', 'Ümmühan', 'Ümray', 'Ünal', 'Ünsever', 'Ürper', 'Üçgül', - 'İde', 'İhsan', 'İklim', 'İldeş', 'İlkbahar', 'İlklima', 'İlper', - 'İmge', 'İmrihan', 'İncifir', 'İnsaf', 'İrfan', 'İslime', 'İsra', - 'İzel', 'İçimbike', 'Şadıman', 'Şahdiye', 'Şahinder', 'Şahnuray', - 'Şahıgül', 'Şamiha', 'Şayan', 'Şazime', 'Şefiye', 'Şehreban', 'Şehza', - 'Şelâle', 'Şemsinisa', 'Şendoğan', 'Şennur', 'Şeref', 'Şerman', - 'Şevketfeza', 'Şeyda', 'Şilan', 'Şirivan', 'Şöhret', 'Şüküfe', - ) + first_names_female = ( + "Abiye", + "Acarkan", + "Adal", + "Adila", + "Adviye", + "Afife", + "Ahter", + "Akay", + "Akgüneş", + "Akise", + "Akmaral", + "Aksoy", + "Akyıldız", + "Alabezek", + "Alaz", + "Algış", + "Alize", + "Almast", + "Alsoy", + "Altınbike", + "Altınçiçek", + "Alışık", + "Amre", + "Anargül", + "Anka", + "Aral", + "Armahan", + "Arziye", + "Arıpınar", + "Asiman", + "Asliye", + "Asu", + "Atanur", + "Atiyye", + "Avunç", + "Ayasun", + "Aybet", + "Aycagül", + "Aydar", + "Ayduru", + "Aygönenç", + "Ayhan", + "Aykut", + "Aylil", + "Aynilhayat", + "Aynımah", + "Aysema", + "Aysevim", + "Aysuna", + "Ayten", + "Aytöz", + "Ayyaruk", + "Ayçan", + "Ayülker", + "Ayşeana", + "Ayşenur", + "Azade", + "Azize", + "Açılay", + "Ağbegim", + "Aşhan", + "Badegül", + "Bahtinur", + "Balca", + "Ballı", + "Banü", + "Basriye", + "Bağdat", + "Bediriye", + "Begim", + "Behiza", + "Belgizar", + "Belkize", + "Benek", + "Benice", + "Beray", + "Bergen", + "Beriye", + "Berrin", + "Besey", + "Beste", + "Beyhatun", + "Bezek", + "Bidayet", + "Bilay", + "Bilginur", + "Bilkay", + "Binay", + "Birben", + "Birgül", + "Birsan", + "Bitül", + "Burcuhan", + "Buşra", + "Büreyre", + "Büşranur", + "Canan", + "Canfeza", + "Cannur", + "Canseven", + "Canur", + "Cedide", + "Cemiyle", + "Cevale", + "Ceyhun", + "Cihan", + "Cuheyna", + "Damlanur", + "Deha", + "Deniz", + "Deryanur", + "Değer", + "Dilara", + "Dilcan", + "Dilfeza", + "Dilhuş", + "Dilsitan", + "Dilşat", + "Divan", + "Doğannur", + "Duha", + "Durgadin", + "Dursadiye", + "Duyguhan", + "Döner", + "Dürrüşehvar", + "Ecegül", + "Edaviye", + "Efil", + "Egenur", + "Elamiye", + "Elgin", + "Elifnur", + "Elvan", + "Emal", + "Emine.", + "Emiş", + "Enfes", + "Erbay", + "Erem", + "Ergül", + "Eriş", + "Ervaniye", + "Esengün", + "Esmanperi", + "Esna", + "Evde", + "Evrim", + "Ezgin", + "Eşim", + "Fadile", + "Fadıla", + "Faize", + "Fatigül", + "Fatinur", + "Fatmanur", + "Fayize", + "Feden", + "Fehmiye", + "Ferahdiba", + "Feraye", + "Ferhan", + "Ferinaz", + "Fermuta", + "Feryas", + "Feyha", + "Feyzin", + "Fidaye", + "Fildan", + "Firdevis", + "Fitnat", + "Fügen", + "Gabel", + "Ganiye", + "Gelengül", + "Gilman", + "Goncafer", + "Gök", + "Gökperi", + "Gökçe", + "Göli", + "Görsev", + "Gözem", + "Gül", + "Gülay", + "Gülbani", + "Gülbeyan", + "Gülbiye", + "Gülcegün", + "Güldam", + "Gülder", + "Güldünya", + "Gülenay", + "Güler", + "Gülev", + "Gülfari", + "Gülfeza", + "Gülgen", + "Gülgüzel", + "Gülhisar", + "Gülinaz", + "Gülkadın", + "Güllühan", + "Gülmisal", + "Gülnaziye", + "Gülper", + "Gülsalın", + "Gülselin", + "Gülseren", + "Gülsevil", + "Gülsiye", + "Gülsü", + "Gülter", + "Gülzadiye", + "Gülçe", + "Gülözge", + "Gülüs", + "Gülşa", + "Gülşeref", + "Günar", + "Günebakan", + "Güngören", + "Günsel", + "Günver", + "Gürcüye", + "Gürten", + "Güverçin", + "Güzey", + "Habibe", + "Hacile", + "Hadrey", + "Hafıza", + "Halenur", + "Haliye", + "Hamiyet", + "Hanbiken", + "Hanim", + "Hansultan", + "Harbinaz", + "Hasgül", + "Hasret", + "Hatin", + "Havali", + "Havse", + "Hayel", + "Hayrünnisa", + "Hazine", + "Hekime", + "Henife", + "Heva", + "Hezniye", + "Hilayda", + "Hinet", + "Hoşkadem", + "Huban", + "Hurican", + "Hurşide", + "Hüda", + "Hümeyra", + "Hürmet", + "Hürüyet", + "Hüsnühâl", + "Ildız", + "Irıs", + "Işin", + "Işın", + "Jaruthip", + "Kader", + "Kadınana", + "Kandef", + "Kardelen", + "Kaver", + "Kefser", + "Kerime", + "Kezban", + "Kifaye", + "Kitan", + "Koncagül", + "Kumral", + "Kutgün", + "Kutun", + "Kâzime", + "Kübran", + "Kısmet", + "Laika", + "Laze", + "Lerze", + "Leyli", + "Lezize", + "Limon", + "Lâle", + "Lüfen", + "Macide", + "Mahigül", + "Mahnaz", + "Mahter", + "Maksüde", + "Masume", + "Maynur", + "Maşide", + "Mecide", + "Mefharet", + "Mehdiye", + "Mehrigül", + "Melaha", + "Meleknur", + "Melikkan", + "Melûl", + "Menfeat", + "Menişan", + "Merba", + "Merim", + "Merva", + "Meryeme", + "Mesude", + "Meveddet", + "Mevlüdiye", + "Meyhanim", + "Mezide", + "Mihrab", + "Mihriye", + "Minibe", + "Miray", + "Misra", + "Miyesser", + "Muarra", + "Mufide", + "Muhiye", + "Mujde", + "Mukbile", + "Musaffa", + "Muvahhide", + "Mübetcel", + "Mücevher", + "Müferrih", + "Müjde", + "Mükrüme", + "Mümtaze", + "Münezzer", + "Müret", + "Müsemma", + "Müveddet", + "Müğber", + "Müşüre", + "Nades", + "Nafile", + "Naide", + "Nalân", + "Narhanim", + "Nasiba", + "Natalia", + "Naz", + "Nazende", + "Nazi", + "Nazimet", + "Nazlihan", + "Nazıdil", + "Nebiha", + "Necilal", + "Necva", + "Nefaret", + "Nefiye", + "Nejdet", + "Neptün", + "Neriban", + "Nesfe", + "Neslinur", + "Neval", + "Nevgin", + "Nevise", + "Nevsale", + "Neyran", + "Nezengül", + "Nezize", + "Neşrin", + "Nihan", + "Nilcan", + "Nili", + "Nirgül", + "Niğmet", + "Nura", + "Nurbanu", + "Nurda", + "Nurdeniz", + "Nurey", + "Nurgil", + "Nurhayet", + "Nuriyet", + "Nurmelek", + "Nurseda", + "Nurser", + "Nursim", + "Nurtaç", + "Nurveren", + "Nurşan", + "Nüdret", + "Nürice", + "Oguş", + "Oluş", + "Orçin", + "Paksu", + "Paye", + "Pekkan", + "Pembesin", + "Peren", + "Perinur", + "Permun", + "Pesent", + "Piran", + "Pürçek", + "Rabbiye", + "Rafia", + "Rahiye", + "Rakide", + "Rana", + "Rayla", + "Rebihat", + "Refet", + "Rehime", + "Rengül", + "Revza", + "Rezin", + "Risalet", + "Rojnu", + "Ruhide", + "Ruhugül", + "Rumeysa", + "Rümeysa", + "Rıfkıye", + "Sabihe", + "Sabır", + "Sadeti", + "Sadiye", + "Safinaz", + "Safura", + "Sahil", + "Saire", + "Salimet", + "Samahat", + "Sanavber", + "Sanur", + "Sarya", + "Satıa", + "Saygın", + "Saçı", + "Sebigül", + "Seblâ", + "Sedife", + "Sefer", + "Sehel", + "Sejda", + "Selcen", + "Selime", + "Selmin", + "Selvi", + "Selçuk", + "Semat", + "Semine", + "Semrin", + "Seniha", + "Serda", + "Serfinaz", + "Serma", + "Sernur", + "Servinaz", + "Sevcan", + "Sevdinar", + "Sevgen", + "Sevginur", + "Sevican", + "Sevim", + "Sevla", + "Sevsevil", + "Seyhan", + "Seyyide", + "Sezen", + "Seçgül", + "Sidar", + "Silanur", + "Simber", + "Simten", + "Sirap", + "Siti", + "Solma", + "Sonnur", + "Soykan", + "Subutiye", + "Sultane", + "Sunay", + "Susam", + "Söyler", + "Süheyda", + "Süleyla", + "Sümerya", + "Süner", + "Süsen", + "Süzer", + "Sırriye", + "Tagangül", + "Talibe", + "Tan", + "Tangül", + "Tanses", + "Tanyu", + "Tasvir", + "Tayyibe", + "Taçnur", + "Teknaz", + "Temime", + "Tercan", + "Teybet", + "Ticen", + "Tomurcuk", + "Tule", + "Turcein", + "Tutkucan", + "Tuğçe", + "Tülin", + "Türcan", + "Türknur", + "Tüzenur", + "Ufukay", + "Ummahani", + "Umuşan", + "Uyanser", + "Uğur", + "Vacibe", + "Varlık", + "Vecide", + "Vefia", + "Verde", + "Vezrife", + "Vildane", + "Yahşi", + "Yalın", + "Yasemen", + "Yazgül", + "Yaşar", + "Yekbun", + "Yepelek", + "Yeşil", + "Yosma", + "Yurdaser", + "Yurtseven", + "Yücel", + "Yıldız", + "Zahfer", + "Zaliha", + "Zebirce", + "Zehranur", + "Zelha", + "Zemzem", + "Zerafet", + "Zeride", + "Zevlüde", + "Zeyno", + "Zilfa", + "Zinnure", + "Zubeyde", + "Zöhrehan", + "Züheyla", + "Zülbiye", + "Zülfüye", + "Zümre", + "Âlemşah", + "Çalım", + "Çağlar", + "Çevregül", + "Çilga", + "Çisem", + "Çolpan", + "Ömriye", + "Öncel", + "Örfiye", + "Övün", + "Özay", + "Özbilge", + "Özdeş", + "Özge", + "Özgün", + "Özlem", + "Özpetek", + "Özyurt", + "Üge", + "Ülke", + "Ülküm", + "Ümmahan", + "Ümmühan", + "Ümray", + "Ünal", + "Ünsever", + "Ürper", + "Üçgül", + "İde", + "İhsan", + "İklim", + "İldeş", + "İlkbahar", + "İlklima", + "İlper", + "İmge", + "İmrihan", + "İncifir", + "İnsaf", + "İrfan", + "İslime", + "İsra", + "İzel", + "İçimbike", + "Şadıman", + "Şahdiye", + "Şahinder", + "Şahnuray", + "Şahıgül", + "Şamiha", + "Şayan", + "Şazime", + "Şefiye", + "Şehreban", + "Şehza", + "Şelâle", + "Şemsinisa", + "Şendoğan", + "Şennur", + "Şeref", + "Şerman", + "Şevketfeza", + "Şeyda", + "Şilan", + "Şirivan", + "Şöhret", + "Şüküfe", + ) - first_names_male = ('Abdiş', 'Abdulbekir', 'Abdulgazi', 'Abdulkadir', - 'Abdulmenaf', 'Abdulsemet', 'Abdurrahman', 'Abdülahat', 'Abdülcemal', - 'Abdülhadi', 'Abdülkerim', 'Abdülsamed', 'Abdürreşit', 'Abid', 'Abuzar', - 'Acar', 'Aclan', 'Adak', 'Adasal', 'Adlan', 'Adıgün', 'Afer', 'Ahat', - 'Ahsen', 'Akalan', 'Akar', 'Akatay', 'Akbaş', 'Akboğa', 'Akcivan', - 'Akdora', 'Akdurmuş', 'Akgöl', 'Akif', 'Akkerman', 'Akmaner', 'Aksay', - 'Aksöğüt', 'Aktemür', 'Akver', 'Akçabay', 'Akçasu', 'Aköz', 'Akınal', - 'Alaaddin', 'Alaeddin', 'Alanalp', 'Alattin', 'Alcan', 'Alexandru', - 'Aliabbas', 'Aliihsan', 'Aliseydi', 'Alkor', 'Almus', 'Alparslan', - 'Alpcan', 'Alpin', 'Alpsü', 'Alsoy', 'Altoğan', 'Altuğ', 'Altınkaya', - 'Altınışın', 'Amaç', 'Andiç', 'Annak', 'Apaydın', 'Aran', 'Arcan', - 'Argu', 'Arifcan', 'Arkut', 'Arpağ', 'Artan', 'Aru', 'Arıel', 'Arıkol', - 'Arısoy', 'Asalet', 'Aslanhan', 'Asım', 'Atagün', 'Atalay', 'Atasagun', - 'Atatöre', 'Atgun', 'Atilhan', 'Atnan', 'Atılgan', 'Avşin', 'Ayaydın', - 'Aybora', 'Aydinç', 'Aydınbey', 'Aygutalp', 'Aykutalp', 'Aypar', - 'Aysoy', 'Aytek', 'Aytuna', 'Ayvas', 'Ayşan', 'Azettin', 'Açıkel', - 'Ağakişi', 'Ağmur', 'Aşir', 'Baba', 'Bahaddin', 'Bahittin', 'Baki', - 'Balatekin', 'Bali', 'Baltaş', 'Barak', 'Bariş', 'Barsen', 'Barışcan', - 'Basım', 'Baturay', 'Batırhan', 'Baydu', 'Baykan', 'Bayman', 'Bayruhan', - 'Baytal', 'Bayzettin', 'Bağdaş', 'Başay', 'Başhan', 'Başok', 'Bedi', - 'Bedri', 'Behrem', 'Bekbay', 'Bektaşi', 'Bellisan', 'Bengibay', 'Benol', - 'Beren', 'Berkal', 'Berki', 'Berksay', 'Berran', 'Besin', 'Beyda', - 'Beyler', 'Beyzade', 'Bican', 'Bilender', 'Bilgen', 'Bilgütay', - 'Biltaş', 'Binbaşar', 'Binışık', 'Birgit', 'Birsen', 'Bişar', 'Borahan', - 'Borataş', 'Boynak', 'Bozbağ', 'Bozerk', 'Boztaş', 'Boğatimur', - 'Buhari', 'Bulunç', 'Burakhan', 'Burç', 'Buyrukhan', 'Börteçin', - 'Büget', 'Bünyamün', 'Cabir', 'Canal', 'Canberk', 'Candeniz', 'Cangür', - 'Cannur', 'Cansin', 'Cantez', 'Cavit', 'Cebesoy', 'Celilay', - 'Cemalettin', 'Cenan', 'Cercis', 'Cevheri', 'Cezayir', 'Cihandide', - 'Cindoruk', 'Coşkun', 'Cuman', 'Cüneyit', 'Dalan', 'Dalkılıç', 'Danış', - 'Dayar', 'Dağistan', 'Delil', 'Demirbüken', 'Demiriz', 'Demirok', - 'Demiryürek', 'Denizalp', 'Denkel', 'Derkay', 'Deviner', 'Değmeer', - 'Diken', 'Dilder', 'Dincer', 'Dinçkol', 'Dinçsü', 'Dirican', 'Dirlik', - 'Dolun', 'Dorukhan', 'Doğanalp', 'Doğanşah', 'Doğuhan', 'Duracan', - 'Durdali', 'Durmuşali', 'Duruk', 'Duruöz', 'Dölensoy', 'Dündaralp', - 'Eba', 'Ebuakil', 'Ecemiş', 'Edgübay', 'Efe', 'Eflâtun', 'Efser', - 'Ekber', 'Ekmel', 'Elhan', 'Elnur', 'Elöve', 'Emin', 'Emirşan', - 'Emrullah', 'Enes', 'Enginiz', 'Ensari', 'Eral', 'Eraycan', 'Erbil', - 'Ercihan', 'Erdemer', 'Erdibay', 'Erdogan', 'Erdursun', 'Erenalp', - 'Erensoy', 'Ergener', 'Erginel', 'Ergönül', 'Ergün', 'Erik', 'Erinçer', - 'Erkan', 'Erkinel', 'Erksoy', 'Erkılıç', 'Ermutlu', 'Eroğul', 'Ersel', - 'Erseç', 'Ertan', 'Erten', 'Ertuncay', 'Ertün', 'Eryıldız', 'Eröz', - 'Erşat', 'Esenbay', 'Esentürk', 'Eskinalp', 'Evcimen', 'Evrimer', - 'Eyyüp', 'Ezgütekin', 'Eşref', 'Fahrullah', 'Fami', 'Fatih', 'Fazul', - 'Fehim', 'Fenni', 'Ferat', 'Feremez', 'Ferihan', 'Fersan', 'Ferzi', - 'Fetullah', 'Feyruz', 'Feza', 'Filit', 'Fuzuli', 'Galip', 'Gazel', - 'Gencaslan', 'Gençay', 'Geray', 'Ginyas', 'Giz', 'Gökay', 'Gökbudun', - 'Göken', 'Göknur', 'Göksev', 'Gökten', 'Gökçebalan', 'Gökçil', 'Gönen', - 'Görgünay', 'Görklü', 'Gözel', 'Gücal', 'Gülağa', 'Gülel', 'Güleğen', - 'Gülşahin', 'Gümüştekin', 'Günaydin', 'Günden', 'Gündüzalp', 'Güneri', - 'Güngördü', 'Günkurt', 'Günser', 'Günver', 'Günşen', 'Gürarda', - 'Gürelcem', 'Gürsal', 'Güçal', 'Güçlüer', 'Güçyeter', 'Haciali', - 'Hakikat', 'Halidun', 'Haluk', 'Hami', 'Hanedan', 'Hariz', 'Hasbek', - 'Hatem', 'Hayali', 'Hayret', 'Hazrat', 'Hekmet', 'Heyvetullah', 'Hidir', - 'Hindal', 'Hiçsönmez', 'Hudavent', 'Hunalp', 'Huzuri', 'Hükümdar', - 'Hürdoğan', 'Hüryaşar', 'Hüsmen', 'Hıfzullah', 'Idık', 'Ilgı', 'Ismık', - 'Işıkay', 'Işıman', 'Jankat', 'Kader', 'Kahir', 'Kalgay', 'Kamar', - 'Kanak', 'Kanpulat', 'Kapagan', 'Karabaş', 'Karaca', 'Karaer', - 'Karakucak', 'Karanbay', 'Karataş', 'Karcan', 'Karlukhan', 'Kasim', - 'Kavurt', 'Kayagün', 'Kaygusuz', 'Kayrabay', 'Kayıt', 'Kaşif', 'Kelâmi', - 'Kenter', 'Kerman', 'Kete', 'Kibar', 'Kiramettin', 'Kiyasi', 'Kocabaş', - 'Koldan', 'Konguralp', 'Kopan', 'Koray', 'Korkmazalp', 'Korugan', - 'Kotuz', 'Koçak', 'Koçkan', 'Koşukhan', 'Kuddusi', 'Kutay', 'Kâmil', - 'Köker', 'Köktaş', 'Kösemen', 'Kürşad', 'Kılıçbay', 'Kınel', 'Kırat', - 'Kırgız', 'Kıvılcım', 'Kızıl', 'Kızıltunç', 'Ledün', 'Lutfi', 'Lütfi', - 'Mahir', 'Mahsun', 'Maksur', 'Mansurali', 'Masar', 'Mazlum', 'Mecit', - 'Mefarettin', 'Mehmed', 'Mehmetzahir', 'Melihcan', 'Memili', 'Mengi', - 'Mengüç', 'Merdi', 'Mertel', 'Merzuk', 'Mestur', 'Metinkaya', 'Mevlüt', - 'Meşhur', 'Mihin', 'Milay', 'Mirbadin', 'Mishat', 'Monis', 'Mucahit', - 'Muhammet', 'Muhip', 'Muhyettin', 'Muktedir', 'Muratcan', 'Musafet', - 'Mutasım', 'Mutluhan', 'Muvaffak', 'Möhsim', 'Mücellib', 'Müfit', - 'Mükramin', 'Mülâyim', 'Münif', 'Mürit', 'Müslum', 'Müzekker', 'Nabil', - 'Nafii', 'Nakip', 'Nas', 'Nasuf', 'Nayil', 'Nazlim', 'Nebih', 'Necdat', - 'Necmettin', 'Nehip', 'Nerim', 'Nesip', 'Nevsal', 'Nezihi', 'Nihai', - 'Niyazi', 'Noman', 'Nural', 'Nurcan', 'Nuretdin', 'Nurkan', 'Nurullah', - 'Nuyan', 'N˜zamett˜n', 'Odkanlı', 'Oganer', 'Okanay', 'Okbay', - 'Okgüçlü', 'Okseven', 'Oktüremiş', 'Okyalaz', 'Olca', 'Oldağ', 'Oliver', - 'Omaca', 'Onat', 'Ongay', 'Onuker', 'Onurcan', 'Onursu', 'Oranlı', - 'Orgün', 'Ortak', 'Oruç', 'Otay', 'Oymak', 'Ozansü', 'Oğulbaş', - 'Oğurata', 'Oğuzman', 'Paker', 'Pehlil', 'Pirahmet', 'Rabih', 'Rafih', - 'Rahmet', 'Ramadan', 'Rasul', 'Razı', 'Recepali', 'Refik', 'Remazan', - 'Resulcan', 'Rezzak', 'Risalet', 'Rohat', 'Ruhsat', 'Rüknettin', - 'Rüşen', 'Saba', 'Sabih', 'Sadat', 'Sadittin', 'Safet', 'Sahir', - 'Sakip', 'Salami', 'Salkın', 'Salurbay', 'Sami', 'Samurtay', 'Sancak', - 'Sançar', 'Sargın', 'Sarpkın', 'Sarıcabay', 'Satrettin', 'Savak', - 'Savni', 'Saydam', 'Sayin', 'Sayrak', 'Sayın', 'Sağcan', 'Sağıt', - 'Sebattin', 'Seda', 'Seha', 'Selaheddin', 'Selatin', 'Seler', 'Selvi', - 'Selâtin', 'Semender', 'Sencar', 'Seracettin', 'Serda', 'Serezli', - 'Serhatmehmet', 'Serol', 'Server', 'Sevdi', 'Sevindik', 'Seydo', - 'Seyfullah', 'Seyithan', 'Sezal', 'Sezginbaş', 'Seçme', 'Sidki', - 'Siper', 'Sittik', 'Sonad', 'Songurkan', 'Soydaner', 'Soykut', - 'Soyselçuk', 'Suat', 'Sudi', 'Sulhi', 'Sunel', 'Suphi', 'Sökmen', - 'Sözer', 'Sücaettin', 'Süha', 'Sümeyye', 'Süvari', 'Sıla', 'Sıylıhan', - 'Taciddin', 'Tahir', 'Talayer', 'Tali', 'Tamaydın', 'Tanak', 'Tanbay', - 'Tandoğdu', 'Tanhan', 'Tanpınar', 'Tansev', 'Tansığ', 'Tanyolaç', - 'Tanır', 'Tarancı', 'Tartış', 'Tatu', 'Tayaydın', 'Taygan', 'Taylak', - 'Tayyip', 'Taşar', 'Taşkan', 'Teber', 'Tecimer', 'Tekbay', 'Tekecan', - 'Tekiner', 'Teksoy', 'Telim', 'Temirhan', 'Temizkal', 'Temuçin', - 'Tenvir', 'Terlan', 'Tevs', 'Tezcan', 'Tezol', 'Timurtaş', 'Tiğin', - 'Toker', 'Toktuğ', 'Toköz', 'Tolonbay', 'Tonguç', 'Topuz', 'Torhan', - 'Toy', 'Toğan', 'Tulun', 'Tunahan', 'Tunguç', 'Tunçboğa', 'Tunçkılıç', - 'Turabi', 'Turgut', 'Tutkun', 'Tuyuğ', 'Tuğcan', 'Tuğrulhan', 'Tuğtaş', - 'Törel', 'Tükelalp', 'Tümer', 'Tümkurt', 'Türabi', 'Türkalp', 'Türkmen', - 'Tüzeer', 'Tınal', 'Ufukay', 'Ulakbey', 'Ulu', 'Uludağ', 'Uluman', - 'Ulutay', 'Uluğbey', 'Umman', 'Umutcan', 'Uraltay', 'Urhan', 'Us', - 'Ushan', 'Utkucan', 'Uygun', 'Uzbay', 'Uzsoy', 'Uçan', 'Uçbeyi', 'Uğan', - 'Uğurkan', 'Uğurtan', 'Vafir', 'Vahittin', 'Vargın', 'Vaysal', 'Vedat', - 'Veis', 'Velitdin', 'Verim', 'Vezat', 'Vâlâ', 'Yadigar', 'Yahşikan', - 'Yalazabay', 'Yalgın', 'Yaltırak', 'Yalın', 'Yamin', 'Yankı', 'Yargı', - 'Yasan', 'Yavuz', 'Yayak', 'Yazganalp', 'Yağın', 'Yağızkurt', - 'Yaşattin', 'Yekda', 'Yelesen', 'Yeneral', 'Yertan', 'Yetişal', 'Yigit', - 'Yilmaz', 'Yolal', 'Yoruç', 'Yunt', 'Yurdanur', 'Yurtgüven', 'Yurttaş', - 'Yönetmen', 'Yücelen', 'Yümun', 'Yıldır', 'Yılma', 'Zahid', 'Zamir', - 'Zekayi', 'Zennun', 'Zeynelabidin', 'Zihni', 'Ziyaettin', 'Zoral', - 'Züfer', 'Zülgarni', 'Âdem', 'Çakar', 'Çakırca', 'Çaltı', 'Çamok', - 'Çapkan', 'Çavuldur', 'Çağa', 'Çağdan', 'Çağlasın', 'Çağveren', 'Çelem', - 'Çelikkan', 'Çelikyürek', 'Çerçi', 'Çetinsu', 'Çeviköz', 'Çinerk', - 'Çokan', 'Çopur', 'Çoğay', 'Çıdal', 'Çıvgın', 'Öge', 'Ökkaş', 'Öktürk', - 'Ömür', 'Öncel', 'Önel', 'Öngen', 'Önsal', 'Örik', 'Öryürek', 'Över', - 'Özakan', 'Özalpsan', 'Özaslan', 'Özbay', 'Özbilek', 'Özdal', 'Özdil', - 'Özdoğdu', 'Özel', 'Özerdinç', 'Özertem', 'Özger', 'Özgür', 'Özinal', - 'Özkent', 'Özkutlu', 'Özlü', 'Özokçu', 'Özpınar', 'Özsözlü', 'Öztek', - 'Öztürk', 'Özçam', 'Özüdoğru', 'Öğet', 'Übeydullah', 'Ülfet', 'Ülküdeş', - 'Ümmet', 'Ünek', 'Ünlen', 'Ünsever', 'Ünübol', 'Ürfettin', 'Üsame', - 'Üstün', 'Üzer', 'Ğanim', 'İbrahim', 'İdiris', 'İkiz', 'İlalmış', - 'İlbek', 'İldem', 'İlgi', 'İlim', 'İlkim', 'İlmafer', 'İlsu', 'İlteriş', - 'İmam', 'İmren', 'İnançlı', 'İntihap', 'İsak', 'İsmet', 'İvecen', - 'İyiyürek', 'İzgü', 'İşcan', 'Şabettin', 'Şafii', 'Şahat', 'Şahinbey', - 'Şahmettin', 'Şali', 'Şanlı', 'Şavki', 'Şefi', 'Şehamet', 'Şekim', - 'Şemsettin', 'Şendoğan', 'Şenkal', 'Şerafeddin', 'Şevket', 'Şide', - 'Şinasi', 'Şuayp', 'Şükri', - ) + first_names_male = ( + "Abdiş", + "Abdulbekir", + "Abdulgazi", + "Abdulkadir", + "Abdulmenaf", + "Abdulsemet", + "Abdurrahman", + "Abdülahat", + "Abdülcemal", + "Abdülhadi", + "Abdülkerim", + "Abdülsamed", + "Abdürreşit", + "Abid", + "Abuzar", + "Acar", + "Aclan", + "Adak", + "Adasal", + "Adlan", + "Adıgün", + "Afer", + "Ahat", + "Ahsen", + "Akalan", + "Akar", + "Akatay", + "Akbaş", + "Akboğa", + "Akcivan", + "Akdora", + "Akdurmuş", + "Akgöl", + "Akif", + "Akkerman", + "Akmaner", + "Aksay", + "Aksöğüt", + "Aktemür", + "Akver", + "Akçabay", + "Akçasu", + "Aköz", + "Akınal", + "Alaaddin", + "Alaeddin", + "Alanalp", + "Alattin", + "Alcan", + "Alexandru", + "Aliabbas", + "Aliihsan", + "Aliseydi", + "Alkor", + "Almus", + "Alparslan", + "Alpcan", + "Alpin", + "Alpsü", + "Alsoy", + "Altoğan", + "Altuğ", + "Altınkaya", + "Altınışın", + "Amaç", + "Andiç", + "Annak", + "Apaydın", + "Aran", + "Arcan", + "Argu", + "Arifcan", + "Arkut", + "Arpağ", + "Artan", + "Aru", + "Arıel", + "Arıkol", + "Arısoy", + "Asalet", + "Aslanhan", + "Asım", + "Atagün", + "Atalay", + "Atasagun", + "Atatöre", + "Atgun", + "Atilhan", + "Atnan", + "Atılgan", + "Avşin", + "Ayaydın", + "Aybora", + "Aydinç", + "Aydınbey", + "Aygutalp", + "Aykutalp", + "Aypar", + "Aysoy", + "Aytek", + "Aytuna", + "Ayvas", + "Ayşan", + "Azettin", + "Açıkel", + "Ağakişi", + "Ağmur", + "Aşir", + "Baba", + "Bahaddin", + "Bahittin", + "Baki", + "Balatekin", + "Bali", + "Baltaş", + "Barak", + "Bariş", + "Barsen", + "Barışcan", + "Basım", + "Baturay", + "Batırhan", + "Baydu", + "Baykan", + "Bayman", + "Bayruhan", + "Baytal", + "Bayzettin", + "Bağdaş", + "Başay", + "Başhan", + "Başok", + "Bedi", + "Bedri", + "Behrem", + "Bekbay", + "Bektaşi", + "Bellisan", + "Bengibay", + "Benol", + "Beren", + "Berkal", + "Berki", + "Berksay", + "Berran", + "Besin", + "Beyda", + "Beyler", + "Beyzade", + "Bican", + "Bilender", + "Bilgen", + "Bilgütay", + "Biltaş", + "Binbaşar", + "Binışık", + "Birgit", + "Birsen", + "Bişar", + "Borahan", + "Borataş", + "Boynak", + "Bozbağ", + "Bozerk", + "Boztaş", + "Boğatimur", + "Buhari", + "Bulunç", + "Burakhan", + "Burç", + "Buyrukhan", + "Börteçin", + "Büget", + "Bünyamün", + "Cabir", + "Canal", + "Canberk", + "Candeniz", + "Cangür", + "Cannur", + "Cansin", + "Cantez", + "Cavit", + "Cebesoy", + "Celilay", + "Cemalettin", + "Cenan", + "Cercis", + "Cevheri", + "Cezayir", + "Cihandide", + "Cindoruk", + "Coşkun", + "Cuman", + "Cüneyit", + "Dalan", + "Dalkılıç", + "Danış", + "Dayar", + "Dağistan", + "Delil", + "Demirbüken", + "Demiriz", + "Demirok", + "Demiryürek", + "Denizalp", + "Denkel", + "Derkay", + "Deviner", + "Değmeer", + "Diken", + "Dilder", + "Dincer", + "Dinçkol", + "Dinçsü", + "Dirican", + "Dirlik", + "Dolun", + "Dorukhan", + "Doğanalp", + "Doğanşah", + "Doğuhan", + "Duracan", + "Durdali", + "Durmuşali", + "Duruk", + "Duruöz", + "Dölensoy", + "Dündaralp", + "Eba", + "Ebuakil", + "Ecemiş", + "Edgübay", + "Efe", + "Eflâtun", + "Efser", + "Ekber", + "Ekmel", + "Elhan", + "Elnur", + "Elöve", + "Emin", + "Emirşan", + "Emrullah", + "Enes", + "Enginiz", + "Ensari", + "Eral", + "Eraycan", + "Erbil", + "Ercihan", + "Erdemer", + "Erdibay", + "Erdogan", + "Erdursun", + "Erenalp", + "Erensoy", + "Ergener", + "Erginel", + "Ergönül", + "Ergün", + "Erik", + "Erinçer", + "Erkan", + "Erkinel", + "Erksoy", + "Erkılıç", + "Ermutlu", + "Eroğul", + "Ersel", + "Erseç", + "Ertan", + "Erten", + "Ertuncay", + "Ertün", + "Eryıldız", + "Eröz", + "Erşat", + "Esenbay", + "Esentürk", + "Eskinalp", + "Evcimen", + "Evrimer", + "Eyyüp", + "Ezgütekin", + "Eşref", + "Fahrullah", + "Fami", + "Fatih", + "Fazul", + "Fehim", + "Fenni", + "Ferat", + "Feremez", + "Ferihan", + "Fersan", + "Ferzi", + "Fetullah", + "Feyruz", + "Feza", + "Filit", + "Fuzuli", + "Galip", + "Gazel", + "Gencaslan", + "Gençay", + "Geray", + "Ginyas", + "Giz", + "Gökay", + "Gökbudun", + "Göken", + "Göknur", + "Göksev", + "Gökten", + "Gökçebalan", + "Gökçil", + "Gönen", + "Görgünay", + "Görklü", + "Gözel", + "Gücal", + "Gülağa", + "Gülel", + "Güleğen", + "Gülşahin", + "Gümüştekin", + "Günaydin", + "Günden", + "Gündüzalp", + "Güneri", + "Güngördü", + "Günkurt", + "Günser", + "Günver", + "Günşen", + "Gürarda", + "Gürelcem", + "Gürsal", + "Güçal", + "Güçlüer", + "Güçyeter", + "Haciali", + "Hakikat", + "Halidun", + "Haluk", + "Hami", + "Hanedan", + "Hariz", + "Hasbek", + "Hatem", + "Hayali", + "Hayret", + "Hazrat", + "Hekmet", + "Heyvetullah", + "Hidir", + "Hindal", + "Hiçsönmez", + "Hudavent", + "Hunalp", + "Huzuri", + "Hükümdar", + "Hürdoğan", + "Hüryaşar", + "Hüsmen", + "Hıfzullah", + "Idık", + "Ilgı", + "Ismık", + "Işıkay", + "Işıman", + "Jankat", + "Kader", + "Kahir", + "Kalgay", + "Kamar", + "Kanak", + "Kanpulat", + "Kapagan", + "Karabaş", + "Karaca", + "Karaer", + "Karakucak", + "Karanbay", + "Karataş", + "Karcan", + "Karlukhan", + "Kasim", + "Kavurt", + "Kayagün", + "Kaygusuz", + "Kayrabay", + "Kayıt", + "Kaşif", + "Kelâmi", + "Kenter", + "Kerman", + "Kete", + "Kibar", + "Kiramettin", + "Kiyasi", + "Kocabaş", + "Koldan", + "Konguralp", + "Kopan", + "Koray", + "Korkmazalp", + "Korugan", + "Kotuz", + "Koçak", + "Koçkan", + "Koşukhan", + "Kuddusi", + "Kutay", + "Kâmil", + "Köker", + "Köktaş", + "Kösemen", + "Kürşad", + "Kılıçbay", + "Kınel", + "Kırat", + "Kırgız", + "Kıvılcım", + "Kızıl", + "Kızıltunç", + "Ledün", + "Lutfi", + "Lütfi", + "Mahir", + "Mahsun", + "Maksur", + "Mansurali", + "Masar", + "Mazlum", + "Mecit", + "Mefarettin", + "Mehmed", + "Mehmetzahir", + "Melihcan", + "Memili", + "Mengi", + "Mengüç", + "Merdi", + "Mertel", + "Merzuk", + "Mestur", + "Metinkaya", + "Mevlüt", + "Meşhur", + "Mihin", + "Milay", + "Mirbadin", + "Mishat", + "Monis", + "Mucahit", + "Muhammet", + "Muhip", + "Muhyettin", + "Muktedir", + "Muratcan", + "Musafet", + "Mutasım", + "Mutluhan", + "Muvaffak", + "Möhsim", + "Mücellib", + "Müfit", + "Mükramin", + "Mülâyim", + "Münif", + "Mürit", + "Müslum", + "Müzekker", + "Nabil", + "Nafii", + "Nakip", + "Nas", + "Nasuf", + "Nayil", + "Nazlim", + "Nebih", + "Necdat", + "Necmettin", + "Nehip", + "Nerim", + "Nesip", + "Nevsal", + "Nezihi", + "Nihai", + "Niyazi", + "Noman", + "Nural", + "Nurcan", + "Nuretdin", + "Nurkan", + "Nurullah", + "Nuyan", + "N˜zamett˜n", + "Odkanlı", + "Oganer", + "Okanay", + "Okbay", + "Okgüçlü", + "Okseven", + "Oktüremiş", + "Okyalaz", + "Olca", + "Oldağ", + "Oliver", + "Omaca", + "Onat", + "Ongay", + "Onuker", + "Onurcan", + "Onursu", + "Oranlı", + "Orgün", + "Ortak", + "Oruç", + "Otay", + "Oymak", + "Ozansü", + "Oğulbaş", + "Oğurata", + "Oğuzman", + "Paker", + "Pehlil", + "Pirahmet", + "Rabih", + "Rafih", + "Rahmet", + "Ramadan", + "Rasul", + "Razı", + "Recepali", + "Refik", + "Remazan", + "Resulcan", + "Rezzak", + "Risalet", + "Rohat", + "Ruhsat", + "Rüknettin", + "Rüşen", + "Saba", + "Sabih", + "Sadat", + "Sadittin", + "Safet", + "Sahir", + "Sakip", + "Salami", + "Salkın", + "Salurbay", + "Sami", + "Samurtay", + "Sancak", + "Sançar", + "Sargın", + "Sarpkın", + "Sarıcabay", + "Satrettin", + "Savak", + "Savni", + "Saydam", + "Sayin", + "Sayrak", + "Sayın", + "Sağcan", + "Sağıt", + "Sebattin", + "Seda", + "Seha", + "Selaheddin", + "Selatin", + "Seler", + "Selvi", + "Selâtin", + "Semender", + "Sencar", + "Seracettin", + "Serda", + "Serezli", + "Serhatmehmet", + "Serol", + "Server", + "Sevdi", + "Sevindik", + "Seydo", + "Seyfullah", + "Seyithan", + "Sezal", + "Sezginbaş", + "Seçme", + "Sidki", + "Siper", + "Sittik", + "Sonad", + "Songurkan", + "Soydaner", + "Soykut", + "Soyselçuk", + "Suat", + "Sudi", + "Sulhi", + "Sunel", + "Suphi", + "Sökmen", + "Sözer", + "Sücaettin", + "Süha", + "Sümeyye", + "Süvari", + "Sıla", + "Sıylıhan", + "Taciddin", + "Tahir", + "Talayer", + "Tali", + "Tamaydın", + "Tanak", + "Tanbay", + "Tandoğdu", + "Tanhan", + "Tanpınar", + "Tansev", + "Tansığ", + "Tanyolaç", + "Tanır", + "Tarancı", + "Tartış", + "Tatu", + "Tayaydın", + "Taygan", + "Taylak", + "Tayyip", + "Taşar", + "Taşkan", + "Teber", + "Tecimer", + "Tekbay", + "Tekecan", + "Tekiner", + "Teksoy", + "Telim", + "Temirhan", + "Temizkal", + "Temuçin", + "Tenvir", + "Terlan", + "Tevs", + "Tezcan", + "Tezol", + "Timurtaş", + "Tiğin", + "Toker", + "Toktuğ", + "Toköz", + "Tolonbay", + "Tonguç", + "Topuz", + "Torhan", + "Toy", + "Toğan", + "Tulun", + "Tunahan", + "Tunguç", + "Tunçboğa", + "Tunçkılıç", + "Turabi", + "Turgut", + "Tutkun", + "Tuyuğ", + "Tuğcan", + "Tuğrulhan", + "Tuğtaş", + "Törel", + "Tükelalp", + "Tümer", + "Tümkurt", + "Türabi", + "Türkalp", + "Türkmen", + "Tüzeer", + "Tınal", + "Ufukay", + "Ulakbey", + "Ulu", + "Uludağ", + "Uluman", + "Ulutay", + "Uluğbey", + "Umman", + "Umutcan", + "Uraltay", + "Urhan", + "Us", + "Ushan", + "Utkucan", + "Uygun", + "Uzbay", + "Uzsoy", + "Uçan", + "Uçbeyi", + "Uğan", + "Uğurkan", + "Uğurtan", + "Vafir", + "Vahittin", + "Vargın", + "Vaysal", + "Vedat", + "Veis", + "Velitdin", + "Verim", + "Vezat", + "Vâlâ", + "Yadigar", + "Yahşikan", + "Yalazabay", + "Yalgın", + "Yaltırak", + "Yalın", + "Yamin", + "Yankı", + "Yargı", + "Yasan", + "Yavuz", + "Yayak", + "Yazganalp", + "Yağın", + "Yağızkurt", + "Yaşattin", + "Yekda", + "Yelesen", + "Yeneral", + "Yertan", + "Yetişal", + "Yigit", + "Yilmaz", + "Yolal", + "Yoruç", + "Yunt", + "Yurdanur", + "Yurtgüven", + "Yurttaş", + "Yönetmen", + "Yücelen", + "Yümun", + "Yıldır", + "Yılma", + "Zahid", + "Zamir", + "Zekayi", + "Zennun", + "Zeynelabidin", + "Zihni", + "Ziyaettin", + "Zoral", + "Züfer", + "Zülgarni", + "Âdem", + "Çakar", + "Çakırca", + "Çaltı", + "Çamok", + "Çapkan", + "Çavuldur", + "Çağa", + "Çağdan", + "Çağlasın", + "Çağveren", + "Çelem", + "Çelikkan", + "Çelikyürek", + "Çerçi", + "Çetinsu", + "Çeviköz", + "Çinerk", + "Çokan", + "Çopur", + "Çoğay", + "Çıdal", + "Çıvgın", + "Öge", + "Ökkaş", + "Öktürk", + "Ömür", + "Öncel", + "Önel", + "Öngen", + "Önsal", + "Örik", + "Öryürek", + "Över", + "Özakan", + "Özalpsan", + "Özaslan", + "Özbay", + "Özbilek", + "Özdal", + "Özdil", + "Özdoğdu", + "Özel", + "Özerdinç", + "Özertem", + "Özger", + "Özgür", + "Özinal", + "Özkent", + "Özkutlu", + "Özlü", + "Özokçu", + "Özpınar", + "Özsözlü", + "Öztek", + "Öztürk", + "Özçam", + "Özüdoğru", + "Öğet", + "Übeydullah", + "Ülfet", + "Ülküdeş", + "Ümmet", + "Ünek", + "Ünlen", + "Ünsever", + "Ünübol", + "Ürfettin", + "Üsame", + "Üstün", + "Üzer", + "Ğanim", + "İbrahim", + "İdiris", + "İkiz", + "İlalmış", + "İlbek", + "İldem", + "İlgi", + "İlim", + "İlkim", + "İlmafer", + "İlsu", + "İlteriş", + "İmam", + "İmren", + "İnançlı", + "İntihap", + "İsak", + "İsmet", + "İvecen", + "İyiyürek", + "İzgü", + "İşcan", + "Şabettin", + "Şafii", + "Şahat", + "Şahinbey", + "Şahmettin", + "Şali", + "Şanlı", + "Şavki", + "Şefi", + "Şehamet", + "Şekim", + "Şemsettin", + "Şendoğan", + "Şenkal", + "Şerafeddin", + "Şevket", + "Şide", + "Şinasi", + "Şuayp", + "Şükri", + ) first_names = first_names_male + first_names_female last_names = ( - 'Yılmaz', 'Yıldırım', 'Türk', 'Yorulmaz', 'Erdoğan', 'Çorlu', 'Sakarya', - 'Demir', 'Yaman', 'Manço', 'Aksu', 'Akçay', 'Akar', 'Bilir', 'Bilgin', - 'Yüksel', 'Eraslan', 'Aslan', 'Arslan', 'Hançer', 'Hayrioğlu', 'Şama', - 'Ergül', 'Arsoy', 'Kısakürek', 'Gülen', 'Seven', 'Şafak', 'Dumanlı', - 'Ertaş', 'Güçlü', 'Soylu', 'Zorlu', 'Fırat', 'Duran', 'Durmuş', 'Durdu', - 'Zengin', 'Tevetoğlu', 'Mansız', 'Şener', 'Şensoy', 'Ülker', 'Tarhan', - 'Sezer', 'Demirel', 'Gül', 'Korutürk', 'İnönü', 'Öcalan', 'Çetin', - 'Sezgin', 'Alemdar', 'Karadeniz', 'Akdeniz', 'Bilge', 'Akgündüz', - 'Akçay', 'Çamurcuoğlu', 'İhsanoğlu', 'Akça', + "Yılmaz", + "Yıldırım", + "Türk", + "Yorulmaz", + "Erdoğan", + "Çorlu", + "Sakarya", + "Demir", + "Yaman", + "Manço", + "Aksu", + "Akçay", + "Akar", + "Bilir", + "Bilgin", + "Yüksel", + "Eraslan", + "Aslan", + "Arslan", + "Hançer", + "Hayrioğlu", + "Şama", + "Ergül", + "Arsoy", + "Kısakürek", + "Gülen", + "Seven", + "Şafak", + "Dumanlı", + "Ertaş", + "Güçlü", + "Soylu", + "Zorlu", + "Fırat", + "Duran", + "Durmuş", + "Durdu", + "Zengin", + "Tevetoğlu", + "Mansız", + "Şener", + "Şensoy", + "Ülker", + "Tarhan", + "Sezer", + "Demirel", + "Gül", + "Korutürk", + "İnönü", + "Öcalan", + "Çetin", + "Sezgin", + "Alemdar", + "Karadeniz", + "Akdeniz", + "Bilge", + "Akgündüz", + "Akçay", + "Çamurcuoğlu", + "İhsanoğlu", + "Akça", ) - prefixes_female = ('Bayan', 'Dr.') - prefixes_male = ('Bay', 'Dr.') + prefixes_female = ("Bayan", "Dr.") + prefixes_male = ("Bay", "Dr.") prefixes = prefixes_female + prefixes_male diff --git a/faker/providers/person/tw_GH/__init__.py b/faker/providers/person/tw_GH/__init__.py index 3ce272bdaf..899de1ab69 100644 --- a/faker/providers/person/tw_GH/__init__.py +++ b/faker/providers/person/tw_GH/__init__.py @@ -3,20 +3,20 @@ class Provider(PersonProvider): formats = ( - '{{first_name_male}} {{last_name_male}}', - '{{first_name_male}} {{last_name_male}}', - '{{first_name_male}} {{last_name_male}}', - '{{first_name_male}} {{last_name_male}}', - '{{first_name_male}} {{last_name_male}}-{{last_name_male}}', - '{{first_name_female}} {{last_name_female}}', - '{{first_name_female}} {{last_name_female}}', - '{{first_name_female}} {{last_name_female}}', - '{{first_name_female}} {{last_name_female}}', - '{{first_name_female}} {{last_name_female}}-{{last_name_female}}', - '{{prefix_male}} {{first_name_male}} {{last_name_male}}', - '{{prefix_female}} {{first_name_female}} {{last_name_female}}', - '{{prefix_male}} {{first_name_male}} {{last_name_male}}', - '{{prefix_female}} {{first_name_female}} {{last_name_female}}', + "{{first_name_male}} {{last_name_male}}", + "{{first_name_male}} {{last_name_male}}", + "{{first_name_male}} {{last_name_male}}", + "{{first_name_male}} {{last_name_male}}", + "{{first_name_male}} {{last_name_male}}-{{last_name_male}}", + "{{first_name_female}} {{last_name_female}}", + "{{first_name_female}} {{last_name_female}}", + "{{first_name_female}} {{last_name_female}}", + "{{first_name_female}} {{last_name_female}}", + "{{first_name_female}} {{last_name_female}}-{{last_name_female}}", + "{{prefix_male}} {{first_name_male}} {{last_name_male}}", + "{{prefix_female}} {{first_name_female}} {{last_name_female}}", + "{{prefix_male}} {{first_name_male}} {{last_name_male}}", + "{{prefix_female}} {{first_name_female}} {{last_name_female}}", ) # names from https://en.wikipedia.org/wiki/Ghanaian_name, @@ -24,570 +24,578 @@ class Provider(PersonProvider): # https://en.wikipedia.org/wiki/Akan_names, first_names_male = ( - 'Aaron', - 'Abeiku', - 'Adam', - 'Adrian', - 'Akwesi', - 'Albert', - 'Alex', - 'Alexander', - 'Andrew', - 'Anthony', - 'Antony', - 'Arthur', - 'Ben', - 'Benjamin', - 'Bernard', - 'Bruce', - 'Carl', - 'Charles', - 'Christian', - 'Clifford', - 'Colins', - 'Daniel', - 'Danny', - 'David', - 'Denis', - 'Dennis', - 'Derrick', - 'Dominic', - 'Donald', - 'Douglas', - 'Duncan', - 'Edward', - 'Ekow', - 'Elliot', - 'Elliott', - 'Eric', - 'Fiifi', - 'Francis', - 'Frank', - 'Frederick', - 'George', - 'Gerald', - 'Gordon', - 'Graham', - 'Gregory', - 'Harry', - 'Henry', - 'Howard', - 'Isaac', - 'Akwasi', - 'Jack', - 'Jacob', - 'Jake', - 'James', - 'Jason', - 'Jeffrey', - 'Jeremy', - 'Joe', - 'Joel', - 'John', - 'Jonathan', - 'Joojo', - 'Joseph', - 'Josh', - 'Joshua', - 'Josiah', - 'Julian', - 'Justin', - 'Karl', - 'Kenneth', - 'Kevin', - 'Kofi', - 'Kojo', - 'Kujoe', - 'Kwabena', - 'Kwadwo', - 'Kwaku', - 'Kwame', - 'Kwamena', - 'Kwasi', - 'Kweku', - 'Kwesi', - 'Kyle', - 'Lawrence', - 'Leslie', - 'Louis', - 'Luke', - 'Malcolm', - 'Marcus', - 'Mark', - 'Martin', - 'Mathew', - 'Matthew', - 'Max', - 'Michael', - 'Nathan', - 'Nicholas', - 'Nigel', - 'Oliver', - 'Patrick', - 'Paul', - 'Peter', - 'Philip', - 'Phillip', - 'Raymond', - 'Richard', - 'Robert', - 'Roger', - 'Ronald', - 'Russell', - 'Sam', - 'Samuel', - 'Shaun', - 'Simon', - 'Stanley', - 'Stephen', - 'Steven', - 'Terence', - 'Thomas', - 'Timothy', - 'Tom', - 'Tony', - 'Victor', - 'Vincent', - 'William', - 'Yaw', + "Aaron", + "Abeiku", + "Adam", + "Adrian", + "Akwesi", + "Albert", + "Alex", + "Alexander", + "Andrew", + "Anthony", + "Antony", + "Arthur", + "Ben", + "Benjamin", + "Bernard", + "Bruce", + "Carl", + "Charles", + "Christian", + "Clifford", + "Colins", + "Daniel", + "Danny", + "David", + "Denis", + "Dennis", + "Derrick", + "Dominic", + "Donald", + "Douglas", + "Duncan", + "Edward", + "Ekow", + "Elliot", + "Elliott", + "Eric", + "Fiifi", + "Francis", + "Frank", + "Frederick", + "George", + "Gerald", + "Gordon", + "Graham", + "Gregory", + "Harry", + "Henry", + "Howard", + "Isaac", + "Akwasi", + "Jack", + "Jacob", + "Jake", + "James", + "Jason", + "Jeffrey", + "Jeremy", + "Joe", + "Joel", + "John", + "Jonathan", + "Joojo", + "Joseph", + "Josh", + "Joshua", + "Josiah", + "Julian", + "Justin", + "Karl", + "Kenneth", + "Kevin", + "Kofi", + "Kojo", + "Kujoe", + "Kwabena", + "Kwadwo", + "Kwaku", + "Kwame", + "Kwamena", + "Kwasi", + "Kweku", + "Kwesi", + "Kyle", + "Lawrence", + "Leslie", + "Louis", + "Luke", + "Malcolm", + "Marcus", + "Mark", + "Martin", + "Mathew", + "Matthew", + "Max", + "Michael", + "Nathan", + "Nicholas", + "Nigel", + "Oliver", + "Patrick", + "Paul", + "Peter", + "Philip", + "Phillip", + "Raymond", + "Richard", + "Robert", + "Roger", + "Ronald", + "Russell", + "Sam", + "Samuel", + "Shaun", + "Simon", + "Stanley", + "Stephen", + "Steven", + "Terence", + "Thomas", + "Timothy", + "Tom", + "Tony", + "Victor", + "Vincent", + "William", + "Yaw", ) first_names_female = ( - 'Aba', - 'Abena', - 'Abigail', - 'Adwoa', - 'Afia', - 'Afua', - 'Akos', - 'Akosua', - 'Akua', - 'Akumaa', - 'Alice', - 'Ama', - 'Amanda', - 'Amber', - 'Amelia', - 'Angela', - 'Ann', - 'Annette', - 'Awesi', - 'Baaba', - 'Barbara', - 'Beatrice', - 'COmfort', - 'Caroline', - 'Catherine', - 'Charlotte', - 'Christina', - 'Comfort', - 'Constance', - 'Danielle', - 'Deborah', - 'Debra', - 'Denise', - 'Dora', - 'Dorcas', - 'Dorothy', - 'Eliabeth', - 'Elizabeth', - 'Emily', - 'Emma', - 'Ernestina', - 'Esi', - 'Eunice', - 'Felicia', - 'Francesca', - 'Gemma', - 'Georgia', - 'Georgina', - 'Gifty', - 'Grace', - 'Grace', - 'Hannabel', - 'Hannah', - 'Harriet', - 'Helen', - 'Irene', - 'Janet', - 'Janet', - 'Janice', - 'Jasmine', - 'Jennifer', - 'Jessica', - 'Jill', - 'Joanna', - 'Josephine', - 'Joyce', - 'Joyce', - 'Judith', - 'Julia', - 'Juliana', - 'Julie', - 'Karen', - 'Kate', - 'Katherine', - 'Katy', - 'Lawrencia', - 'Linda', - 'Lisa', - 'Lorraine', - 'Lucy', - 'Lucy', - 'Lydia', - 'Lydia', - 'Mandy', - 'Margaret', - 'Margaret', - 'Maria', - 'Marian', - 'Marilyn', - 'Mary', - 'Mary', - 'Maureen', - 'Michelle', - 'Millicent', - 'Nana Ama', - 'Naomi', - 'Natalie', - 'Natasha', - 'Nicola', - 'Nimakoah', - 'Olivia', - 'Pamela', - 'Patricia', - 'Paula', - 'Priscilla', - 'Rachael', - 'Rachel', - 'Rebecca', - 'Rebecca', - 'Regina', - 'Rita', - 'Roselyn', - 'Rosemary', - 'Rosemary', - 'Ruth', - 'Salomey', - 'Samantha', - 'Sandra', - 'Sarah', - 'Sarah', - 'Sarah', - 'Sharon', - 'Sheila', - 'Shirley', - 'Stephanie', - 'Susan', - 'Susan', - 'Sylvia', - 'Teresa', - 'Tina', - 'Tracy', - 'Vanessa', - 'Veronica', - 'Victoria', - 'Vida', - 'Wendy', - 'Yaa', - 'Yvonne', + "Aba", + "Abena", + "Abigail", + "Adwoa", + "Afia", + "Afua", + "Akos", + "Akosua", + "Akua", + "Akumaa", + "Alice", + "Ama", + "Amanda", + "Amber", + "Amelia", + "Angela", + "Ann", + "Annette", + "Awesi", + "Baaba", + "Barbara", + "Beatrice", + "COmfort", + "Caroline", + "Catherine", + "Charlotte", + "Christina", + "Comfort", + "Constance", + "Danielle", + "Deborah", + "Debra", + "Denise", + "Dora", + "Dorcas", + "Dorothy", + "Eliabeth", + "Elizabeth", + "Emily", + "Emma", + "Ernestina", + "Esi", + "Eunice", + "Felicia", + "Francesca", + "Gemma", + "Georgia", + "Georgina", + "Gifty", + "Grace", + "Grace", + "Hannabel", + "Hannah", + "Harriet", + "Helen", + "Irene", + "Janet", + "Janet", + "Janice", + "Jasmine", + "Jennifer", + "Jessica", + "Jill", + "Joanna", + "Josephine", + "Joyce", + "Joyce", + "Judith", + "Julia", + "Juliana", + "Julie", + "Karen", + "Kate", + "Katherine", + "Katy", + "Lawrencia", + "Linda", + "Lisa", + "Lorraine", + "Lucy", + "Lucy", + "Lydia", + "Lydia", + "Mandy", + "Margaret", + "Margaret", + "Maria", + "Marian", + "Marilyn", + "Mary", + "Mary", + "Maureen", + "Michelle", + "Millicent", + "Nana Ama", + "Naomi", + "Natalie", + "Natasha", + "Nicola", + "Nimakoah", + "Olivia", + "Pamela", + "Patricia", + "Paula", + "Priscilla", + "Rachael", + "Rachel", + "Rebecca", + "Rebecca", + "Regina", + "Rita", + "Roselyn", + "Rosemary", + "Rosemary", + "Ruth", + "Salomey", + "Samantha", + "Sandra", + "Sarah", + "Sarah", + "Sarah", + "Sharon", + "Sheila", + "Shirley", + "Stephanie", + "Susan", + "Susan", + "Sylvia", + "Teresa", + "Tina", + "Tracy", + "Vanessa", + "Veronica", + "Victoria", + "Vida", + "Wendy", + "Yaa", + "Yvonne", ) first_names = first_names_male + first_names_female last_names_male = ( - 'Acheampong', - 'Adomah', - 'Adomako', - 'Adu', - 'Adusei', - 'Adutwum', - 'Afirifa', - 'Afoakwa', - 'Agyapong', - 'Agyapong', - 'Agyare', - 'Agyei', - 'Agyemang', - 'Ahortor', - 'Akoto', - 'Akowua', - 'Akyeamfuɔ', - 'Akyeampong', - 'Akyena', - 'Akyerεko', - 'Amo', - 'Amoa', - 'Amoako', - 'Amoasi', - 'Ampadu', - 'Ampofo', - 'Amponsah', - 'Andorful', - 'Ankra', - 'Anokye', - 'Ansa', - 'Antwi', - 'Antwi', - 'Appia', - 'Appiah', - 'Asamoa', - 'Asamoah', - 'Asante', - 'Asare', - 'Asenso', - 'Asiama', - 'Asiedu', - 'Ata', - 'Awuah', - 'Baa', - 'Baafi', - 'Baah', - 'Baawia', - 'Badu', - 'Boadi', - 'Boadu', - 'Boahen', - 'Boakye', - 'Boaten', - 'Boateng', - 'Bona', - 'Bonsra', - 'Bonsu', - 'Daako', - 'Danso', - 'Darko', - 'Donkor', - 'Duah', - 'Dwamena', - 'Fofie', - 'Fosu', - 'Gyamfi', - 'Gyasi', - 'Karikari', - 'Koomson', - 'Kumi', - 'Kusi', - 'Kwaakye', - 'Kwarteng', - 'Kyei', - 'Mensa', - 'Mensah', - 'Nkansa', - 'Nkansah', - 'Nkrumah', - 'Nsia', - 'Nti', - 'Ntiamoa', - 'Ntim', - 'Nyaako', - 'Nyame', - 'Nyantakyi', - 'Obeng', - 'Ofori', - 'Ofosu', - 'Okyere', - 'Omani', - 'Opoku', - 'Oppong', - 'Opuku', - 'Osei', - 'Oti', - 'Otiwa', - 'Otuo', - 'Owusu', - 'Prempeh', - 'Quartey', - 'Safo', - 'Sarpong', - 'Takyi', - 'Tawia', - 'Tutu', - 'Tweneboa', - 'Twumasi', - 'Wiafe', - 'Yaamoa', - 'Yawson', - 'Yeboa', - 'Yeboah', - 'Yirenkyi', + "Acheampong", + "Adomah", + "Adomako", + "Adu", + "Adusei", + "Adutwum", + "Afirifa", + "Afoakwa", + "Agyapong", + "Agyapong", + "Agyare", + "Agyei", + "Agyemang", + "Ahortor", + "Akoto", + "Akowua", + "Akyeamfuɔ", + "Akyeampong", + "Akyena", + "Akyerεko", + "Amo", + "Amoa", + "Amoako", + "Amoasi", + "Ampadu", + "Ampofo", + "Amponsah", + "Andorful", + "Ankra", + "Anokye", + "Ansa", + "Antwi", + "Antwi", + "Appia", + "Appiah", + "Asamoa", + "Asamoah", + "Asante", + "Asare", + "Asenso", + "Asiama", + "Asiedu", + "Ata", + "Awuah", + "Baa", + "Baafi", + "Baah", + "Baawia", + "Badu", + "Boadi", + "Boadu", + "Boahen", + "Boakye", + "Boaten", + "Boateng", + "Bona", + "Bonsra", + "Bonsu", + "Daako", + "Danso", + "Darko", + "Donkor", + "Duah", + "Dwamena", + "Fofie", + "Fosu", + "Gyamfi", + "Gyasi", + "Karikari", + "Koomson", + "Kumi", + "Kusi", + "Kwaakye", + "Kwarteng", + "Kyei", + "Mensa", + "Mensah", + "Nkansa", + "Nkansah", + "Nkrumah", + "Nsia", + "Nti", + "Ntiamoa", + "Ntim", + "Nyaako", + "Nyame", + "Nyantakyi", + "Obeng", + "Ofori", + "Ofosu", + "Okyere", + "Omani", + "Opoku", + "Oppong", + "Opuku", + "Osei", + "Oti", + "Otiwa", + "Otuo", + "Owusu", + "Prempeh", + "Quartey", + "Safo", + "Sarpong", + "Takyi", + "Tawia", + "Tutu", + "Tweneboa", + "Twumasi", + "Wiafe", + "Yaamoa", + "Yawson", + "Yeboa", + "Yeboah", + "Yirenkyi", ) last_names_female = ( - 'Aboraa', - 'Abrafi', - 'Acheampong', - 'Adoma', - 'Adomah', - 'Adomako', - 'Adu', - 'Adusei', - 'Adutwum', - 'Adutwumwaa', - 'Adwubi', - 'Afirifa', - 'Afoakwa', - 'Afrakomaa', - 'Agyapomaa', - 'Agyapong', - 'Agyapong', - 'Agyare', - 'Agyei', - 'Agyeiwaa', - 'Agyemang', - 'Ahortor', - 'Akoaa', - 'Akoto', - 'Akowua', - 'Akyaa', - 'Akyeamfuɔ', - 'Akyeampomaa', - 'Akyeampong', - 'Akyena', - 'Akyerε', - 'Akyerεko', - 'Akɔmaa', - 'Amo', - 'Amoa', - 'Amoako', - 'Amoakowaa', - 'Amoanimaa', - 'Amoasi', - 'Ampadu', - 'Ampofo', - 'Ampofowaa', - 'Ampoma', - 'Amponsa', - 'Amponsa', - 'Andorful', - 'Anima', - 'Ankra', - 'Anokye', - 'Ansa', - 'Ansomaa', - 'Ansomah', - 'Antwi', - 'Antwi', - 'Antwiwaa', - 'Appia', - 'Appiah', - 'Asamoa', - 'Asamoah', - 'Asante', - 'Asantewaa', - 'Asare', - 'Asenso', - 'Asiama', - 'Asiedu', - 'Asieduwaa', - 'Ata', - 'Ataa', - 'Awuah', - 'Baa', - 'Baafi', - 'Baah', - 'Baawia', - 'Badu', - 'Boadi', - 'Boadu', - 'Boahen', - 'Boakye', - 'Boakye', - 'Boakyewaa', - 'Boatemaa', - 'Boatemaah', - 'Boaten', - 'Boateng', - 'Bona', - 'Bonsra', - 'Bonsu', - 'Daako', - 'Daakoaa', - 'Danso', - 'Darko', - 'Donkor', - 'Duah', - 'Dufie', - 'Dwamena', - 'Fofie', - 'Foriwaa', - 'Fosu', - 'Fosua', - 'Frema', - 'Frimpomaa', - 'Gyamfi', - 'Gyamfi', - 'Gyamfiaa', - 'Gyasi', - 'Gyasiwaa', - 'Karikari', - 'Koomson', - 'Kumi', - 'Kusi', - 'Kusiwaa', - 'Kwaakye', - 'Kwaakyewaa', - 'Kwartemaa', - 'Kwarteng', - 'Kyei', - 'Kyeiwaa', - 'Kyerewaa', - 'Mansa', - 'Mensa', - 'Mensah', - 'Nkansa', - 'Nkansah', - 'Nkrumah', - 'Nsia', - 'Nti', - 'Ntiamoa', - 'Ntim', - 'Nyaako', - 'Nyaakoaa', - 'Nyame', - 'Nyantakyi', - 'Obeng', - 'Ofori', - 'Ofosu', - 'Okyere', - 'Okyere', - 'Omani', - 'Opoku', - 'Oppong', - 'Opuku', - 'Osei', - 'Oti', - 'Otiwa', - 'Otuo', - 'Owusu', - 'Owusuwaa', - 'Pokuaa', - 'Pomaa', - 'Prempeh', - 'Quartey', - 'Safo', - 'Safo', - 'Safoaa', - 'Sarpong', - 'Serwaa', - 'Takyi', - 'Tawia', - 'Tiwaa', - 'Tutu', - 'Tweneboa', - 'Twumasi', - 'Wiafe', - 'Yaamoa', - 'Yawson', - 'Yeboa', - 'Yeboah', - 'Yirenkyi', + "Aboraa", + "Abrafi", + "Acheampong", + "Adoma", + "Adomah", + "Adomako", + "Adu", + "Adusei", + "Adutwum", + "Adutwumwaa", + "Adwubi", + "Afirifa", + "Afoakwa", + "Afrakomaa", + "Agyapomaa", + "Agyapong", + "Agyapong", + "Agyare", + "Agyei", + "Agyeiwaa", + "Agyemang", + "Ahortor", + "Akoaa", + "Akoto", + "Akowua", + "Akyaa", + "Akyeamfuɔ", + "Akyeampomaa", + "Akyeampong", + "Akyena", + "Akyerε", + "Akyerεko", + "Akɔmaa", + "Amo", + "Amoa", + "Amoako", + "Amoakowaa", + "Amoanimaa", + "Amoasi", + "Ampadu", + "Ampofo", + "Ampofowaa", + "Ampoma", + "Amponsa", + "Amponsa", + "Andorful", + "Anima", + "Ankra", + "Anokye", + "Ansa", + "Ansomaa", + "Ansomah", + "Antwi", + "Antwi", + "Antwiwaa", + "Appia", + "Appiah", + "Asamoa", + "Asamoah", + "Asante", + "Asantewaa", + "Asare", + "Asenso", + "Asiama", + "Asiedu", + "Asieduwaa", + "Ata", + "Ataa", + "Awuah", + "Baa", + "Baafi", + "Baah", + "Baawia", + "Badu", + "Boadi", + "Boadu", + "Boahen", + "Boakye", + "Boakye", + "Boakyewaa", + "Boatemaa", + "Boatemaah", + "Boaten", + "Boateng", + "Bona", + "Bonsra", + "Bonsu", + "Daako", + "Daakoaa", + "Danso", + "Darko", + "Donkor", + "Duah", + "Dufie", + "Dwamena", + "Fofie", + "Foriwaa", + "Fosu", + "Fosua", + "Frema", + "Frimpomaa", + "Gyamfi", + "Gyamfi", + "Gyamfiaa", + "Gyasi", + "Gyasiwaa", + "Karikari", + "Koomson", + "Kumi", + "Kusi", + "Kusiwaa", + "Kwaakye", + "Kwaakyewaa", + "Kwartemaa", + "Kwarteng", + "Kyei", + "Kyeiwaa", + "Kyerewaa", + "Mansa", + "Mensa", + "Mensah", + "Nkansa", + "Nkansah", + "Nkrumah", + "Nsia", + "Nti", + "Ntiamoa", + "Ntim", + "Nyaako", + "Nyaakoaa", + "Nyame", + "Nyantakyi", + "Obeng", + "Ofori", + "Ofosu", + "Okyere", + "Okyere", + "Omani", + "Opoku", + "Oppong", + "Opuku", + "Osei", + "Oti", + "Otiwa", + "Otuo", + "Owusu", + "Owusuwaa", + "Pokuaa", + "Pomaa", + "Prempeh", + "Quartey", + "Safo", + "Safo", + "Safoaa", + "Sarpong", + "Serwaa", + "Takyi", + "Tawia", + "Tiwaa", + "Tutu", + "Tweneboa", + "Twumasi", + "Wiafe", + "Yaamoa", + "Yawson", + "Yeboa", + "Yeboah", + "Yirenkyi", ) last_names = last_names_male + last_names_female - prefixes_female = ('Mrs.', 'Ms.', 'Miss', 'Dr.', - 'Mama', 'Maame', 'Awura', 'Sista', - 'Osofo Maame') + prefixes_female = ( + "Mrs.", + "Ms.", + "Miss", + "Dr.", + "Mama", + "Maame", + "Awura", + "Sista", + "Osofo Maame", + ) - prefixes_male = ('Mr.', 'Dr.', 'Agya', 'Owura', 'Osofo') + prefixes_male = ("Mr.", "Dr.", "Agya", "Owura", "Osofo") diff --git a/faker/providers/person/uk_UA/__init__.py b/faker/providers/person/uk_UA/__init__.py index d3a1638db0..b719a648a0 100644 --- a/faker/providers/person/uk_UA/__init__.py +++ b/faker/providers/person/uk_UA/__init__.py @@ -4,150 +4,747 @@ class Provider(PersonProvider): - formats_female = OrderedDict(( - ('{{first_name_female}} {{last_name}}', 0.9), - ('{{prefix_female}} {{first_name_female}} {{last_name}}', 0.1), - )) + formats_female = OrderedDict( + ( + ("{{first_name_female}} {{last_name}}", 0.9), + ("{{prefix_female}} {{first_name_female}} {{last_name}}", 0.1), + ) + ) - formats_male = OrderedDict(( - ('{{first_name_male}} {{last_name}}', 0.9), - ('{{prefix_male}} {{first_name_male}} {{last_name}}', 0.1), - )) + formats_male = OrderedDict( + ( + ("{{first_name_male}} {{last_name}}", 0.9), + ("{{prefix_male}} {{first_name_male}} {{last_name}}", 0.1), + ) + ) formats = formats_female.copy() formats.update(formats_male) # Source: uk.wikipedia.org/wiki/Українські_імена first_names_male = ( - 'Аарон', 'Августин', 'Аврелій', 'Адам', 'Азар', 'Алевтин', 'Альберт', - 'Амвросій', 'Андрій', 'Антон', 'Аркадій', 'Арсен', 'Артем', 'Орхип', - 'Богдан', 'Богодар', 'Богуслав', 'Болеслав', 'Борис', 'Борислав', - 'Вадим', 'Валентин', 'Валерій', 'Варфоломій', 'Василь', 'Венедикт', - 'Веніямин', 'Віктор', 'Віталій', 'Владислав', 'Володимир', - 'Вʼячеслав', 'Гаврило', 'Геннадій', 'Георгій', 'Герман ', 'Гордій', - 'Григорій', 'Гліб', 'Данило', 'Давид', 'Дан', 'Демид', 'Демʼян', - 'Дмитро', 'Захар', 'Зиновій', 'Зорян', 'Іван', 'Ігнат', 'Ігор', 'Ілля', - 'Едуард', 'Євген', 'Єлисей', 'Єфрем', 'Йосип', 'Климент', 'Костянтин', - 'Левко', 'Лесь', 'Леон', 'Леонід', 'Леонтій', 'Леопольд', 'Лукʼян', - 'Кирило', 'Макар', 'Максим', 'Марко', 'Мартин', 'Микита', 'Миколай', - 'Мирон', 'Мирослав', 'Михайло', 'Назар', 'Нестор', 'Олег', 'Олекса', - 'Олександр', 'Олесь', 'Омелян', 'Онисим', 'Опанас', 'Орест', 'Остап', - 'Охрім', 'Петро', 'Павло', 'Панас', 'Пантелеймон', 'Пармен', 'Пилип', - 'Прохір', 'Роман', 'Ростислав', 'Руслан', 'Святослав', 'Семен', - 'Сергій', 'Симон', 'Соломон', 'Спас', 'Станіслав', 'Степан', 'Стефан', - 'Тарас', 'Теодор', 'Тимофій', 'Трохим', 'Устим', 'Федір', 'Феофан', - 'Франц', 'Хома', 'Юстим', 'Юхим', 'Яків', 'Ярема', 'Ярослав', + "Аарон", + "Августин", + "Аврелій", + "Адам", + "Азар", + "Алевтин", + "Альберт", + "Амвросій", + "Андрій", + "Антон", + "Аркадій", + "Арсен", + "Артем", + "Орхип", + "Богдан", + "Богодар", + "Богуслав", + "Болеслав", + "Борис", + "Борислав", + "Вадим", + "Валентин", + "Валерій", + "Варфоломій", + "Василь", + "Венедикт", + "Веніямин", + "Віктор", + "Віталій", + "Владислав", + "Володимир", + "Вʼячеслав", + "Гаврило", + "Геннадій", + "Георгій", + "Герман ", + "Гордій", + "Григорій", + "Гліб", + "Данило", + "Давид", + "Дан", + "Демид", + "Демʼян", + "Дмитро", + "Захар", + "Зиновій", + "Зорян", + "Іван", + "Ігнат", + "Ігор", + "Ілля", + "Едуард", + "Євген", + "Єлисей", + "Єфрем", + "Йосип", + "Климент", + "Костянтин", + "Левко", + "Лесь", + "Леон", + "Леонід", + "Леонтій", + "Леопольд", + "Лукʼян", + "Кирило", + "Макар", + "Максим", + "Марко", + "Мартин", + "Микита", + "Миколай", + "Мирон", + "Мирослав", + "Михайло", + "Назар", + "Нестор", + "Олег", + "Олекса", + "Олександр", + "Олесь", + "Омелян", + "Онисим", + "Опанас", + "Орест", + "Остап", + "Охрім", + "Петро", + "Павло", + "Панас", + "Пантелеймон", + "Пармен", + "Пилип", + "Прохір", + "Роман", + "Ростислав", + "Руслан", + "Святослав", + "Семен", + "Сергій", + "Симон", + "Соломон", + "Спас", + "Станіслав", + "Степан", + "Стефан", + "Тарас", + "Теодор", + "Тимофій", + "Трохим", + "Устим", + "Федір", + "Феофан", + "Франц", + "Хома", + "Юстим", + "Юхим", + "Яків", + "Ярема", + "Ярослав", ) first_names_female = ( - 'Ада', 'Аліна', 'Алла', 'Альбіна', 'Амалія', 'Анастасія', 'Аніта', - 'Анжела', 'Ганна', 'Богуслава', 'Богданна', 'Валентина', 'Варвара', - 'Василина', 'Вікторія', 'Віолетта', 'Віра', 'Володимира', 'Галина', - 'Данна', 'Дарина', 'Едита', 'Єва', 'Єлисавета', 'Емілія', 'Еріка', - 'Ірина', 'Ірена', 'Златослава', 'Камілла', 'Клавдія', 'Лариса', 'Ліза', - 'Лілія', 'Людмила', 'Любов', 'Марія', 'Марина', 'Марта', 'Марʼяна', - 'Маруся', 'Михайлина', 'Мілена', 'Надія', 'Наталія', 'Пріска', - 'Розалія', 'Святослава', 'Сніжана', 'Соломія', 'Софія', 'Одарка', - 'Оксана', 'Оксенія', 'Олена', 'Ольга', 'Орина', 'Орися', 'Роксолана', - 'Світлана', 'Тереза', 'Тетяна', 'Юстина', 'Христина', 'Ярина', - 'Ярослава', + "Ада", + "Аліна", + "Алла", + "Альбіна", + "Амалія", + "Анастасія", + "Аніта", + "Анжела", + "Ганна", + "Богуслава", + "Богданна", + "Валентина", + "Варвара", + "Василина", + "Вікторія", + "Віолетта", + "Віра", + "Володимира", + "Галина", + "Данна", + "Дарина", + "Едита", + "Єва", + "Єлисавета", + "Емілія", + "Еріка", + "Ірина", + "Ірена", + "Златослава", + "Камілла", + "Клавдія", + "Лариса", + "Ліза", + "Лілія", + "Людмила", + "Любов", + "Марія", + "Марина", + "Марта", + "Марʼяна", + "Маруся", + "Михайлина", + "Мілена", + "Надія", + "Наталія", + "Пріска", + "Розалія", + "Святослава", + "Сніжана", + "Соломія", + "Софія", + "Одарка", + "Оксана", + "Оксенія", + "Олена", + "Ольга", + "Орина", + "Орися", + "Роксолана", + "Світлана", + "Тереза", + "Тетяна", + "Юстина", + "Христина", + "Ярина", + "Ярослава", ) first_names = first_names_male + first_names_female # Source: uk.wikipedia.org/wiki/Категорія:Українські_прізвища last_names = ( - 'Абрагамовський', 'Абраменко', 'Абрамчук', 'Авдєєнко', 'Аверченко', - 'Авраменко', 'Аврамчук', 'Адаменко', 'Адамчук', 'Ажажа', 'Акименко', - 'Акуленко', 'Александренко', 'Алексеєнко', 'Алексійчук', 'Алексюк', - 'Андрейко', 'Андрієвич', 'Андрієнко', 'Андріїшин', 'Андрійович', - 'Андрійчук', 'Андрощук', 'Андрусенко', 'Аронець', 'Арсенич', - 'Артеменко', 'Артим', 'Артимишин', 'Артимович', 'Артюх', 'Артюшенко', - 'Архимович', 'Архипенко', 'Асаула', 'Атаманчук', 'Атаманюк', - 'Атрощенко', 'Бабʼюк', 'Бабʼяк', 'Бабак', 'Бабариченко', 'Бабенко', - 'Бабич', 'Бабиченко', 'Бабій', 'Бабійчук', 'Бабко', 'Базавлученко', - 'Базилевич', 'Базилевський', 'Байда', 'Байдак', 'Байрак', 'Баклан', - 'Бакуменко', 'Балабан', 'Бандера', 'Бандура', 'Бандурка', 'Барабаш', - 'Баран', 'Баранець', 'Бараник', 'Баранник', 'Батіг', 'Батуринець', - 'Батюк', 'Башполченко', 'Баштан', 'Бгиденко', 'Бебешко', 'Бевз', - 'Бевзенко', 'Безбородьки', 'Безбородько', 'Бездітко', 'Вакарчук', - 'Вакуленко', 'Валенко', 'Ванченко', 'Василашко', 'Василевич', - 'Василенко', 'Василечко', 'Ватаманюк', 'Вахній', 'Ващенко', - 'Ващенко-Захарченко', 'Ващук', 'Вдовенко', 'Вдовиченко', 'Величко', - 'Венгринович', 'Вергун', 'Верес', 'Верменич', 'Вернигора', 'Вернидуб', - 'Вертипорох', 'Верховинець', 'Верхола', 'Височан', 'Вишиваний', - 'Вишняк', 'Вівчаренко', 'Вітер', 'Вітрук', 'Власенко', 'Власюк', - 'Влох', 'Воблий', 'Вовк', 'Габелко', 'Гавриленко', 'Гаврилець', - 'Гаврилишин', 'Гаврилів', 'Гаврилюк', 'Гавриш', 'Гавришкевич', - 'Гаврюшенко', 'Гаєвський', 'Гайворонський', 'Гайда', 'Гайдабура', - 'Гайдай', 'Гайдамака', 'Гайденко', 'Гоголь', 'Гоголь-Яновський', - 'Годунок', 'Голик', 'Голобородько', 'Гресь', 'Гречаник', 'Гречко', - 'Гриценко', 'Гузенко', 'Гузій', 'Гузь', 'Гук', 'Гунько', 'Гупало', - 'Гуцуляк', 'Ґалаґан', 'Ґереґа', 'Ґерета', 'Ґерус', 'Ґжицький', 'Ґоляш', - 'Давиденко', 'Давимука', 'Даниленко', 'Данилюк', 'Данильчук', - 'Данченко', 'Данчук', 'Данькевич', 'Даньків', 'Данько', 'Дараган', - 'Дахно', 'Даценко', 'Дацюк', 'Дашенко', 'Дашкевич', 'Девдюк', - 'Дейнека', 'Дейнеко', 'Дейсун', 'Демʼяненко', 'Демʼянчук', 'Демʼянюк', - 'Демиденко', 'Дергач', 'Деревʼянко', 'Дерегус', 'Деркач', 'Деряжний', - 'Джунь', 'Джус', 'Дробʼязко', 'Дробаха', 'Дрозд', 'Дрозденко', - 'Дубас', 'Дубенко', 'Дубина', 'Дзиндра', 'Дзюба', 'Доценко', 'Дуплій', - 'Дурдинець', 'Дутка', 'Ейбоженко', 'Євдокименко', 'Євтушенко', - 'Євтушок', 'Ємельяненко', 'Ємець', 'Єременко', 'Єресько', 'Єрмоленко', - 'Єрошенко', 'Єрченко', 'Єрьоменко', 'Єсипенко', 'Єфименко', 'Єщенко', - 'Жадан', 'Жайворон', 'Жаліло', 'Жарко', 'Жук', 'Журавель', 'Журба', - 'Жученко', 'Забара', 'Забарний', 'Забашта', 'Забіла', 'Заєць', 'Заїка', - 'Зайченко', 'Закусило', 'Запорожець', 'Заруба', 'Зарудний', 'Засенко', - 'Засуха', 'Засядько', 'Затовканюк', 'Затула', 'Захаренко', - 'Захарченко', 'Зінкевич', 'Зінченко', 'Зінчук', 'Зубко', 'Іваненко', - 'Іваничук', 'Іванченко', 'Івасюк', 'Іващенко', 'Ільєнко', 'Ільченко', - 'Ірванець', 'Ісаєвич', 'Ісаєнко', 'Іщак', 'Іщенко', 'Їжак', 'Їжакевич', - 'Кабалюк', 'Кабаненко', 'Каденюк', 'Калениченко', 'Кальченко', - 'Канівець', 'Карась', 'Кармалюк', 'Карпа', 'Карпенко', 'Кащенко', - 'Кибкало', 'Килимник', 'Кириленко', 'Коваленко', 'Ковалюк', 'Ковпак', - 'Козак', 'Козаченко', 'Колесниченко', 'Колісниченко', 'Колодуб', - 'Комар', 'Конопленко', 'Конопля', 'Копитко', 'Корбут', 'Корж', - 'Короленко', 'Корпанюк', 'Корсун', 'Лаба', 'Лавренко', 'Лагода', - 'Лазаренко', 'Левченко', 'Лемешко', 'Лесик', 'Лисенко', 'Литвин', - 'Литвиненко', 'Лубенець', 'Лукаш', 'Лупій', 'Луценко', 'Ляшко', - 'Мазепа', 'Мазур', 'Макаренко', 'Макогон', 'Малик', 'Малишко', - 'Мамчур', 'Масляк', 'Масоха', 'Матвієнко', 'Матяш', 'Медведенко', - 'Микитюк', 'Михайличенко', 'Михайлюк', 'Михалюк', 'Мірошниченко', - 'Міщенко', 'Москаль', 'Назаренко', 'Наливайко', 'Негода', 'Непорожній', - 'Нестайко', 'Нестеренко', 'Ніколюк', 'Носаченко', 'Носенко', - 'Оберемко', 'Овсієнко', 'Овчаренко', 'Олійник', 'Оліфіренко', - 'Онищенко', 'Оніщук', 'Онуфрієнко', 'Опанасенко', 'Орлик', 'Оробець', - 'Остапчук', 'Охримович', 'Охріменко', 'Пʼятаченко', 'Павленко', - 'Павлик', 'Павличенко', 'Палій', 'Панчук', 'Парасюк', 'Пелех', - 'Перебийніс', 'Перепелиця', 'Петлюра', 'Петренко', 'Петрик', - 'Пилипенко', 'Піддубний', 'Полтавець', 'Приймак', 'Примаченко', - 'Притула', 'Приходько', 'Прокопович', 'Проценко', 'Пустовіт', 'Пушкар', - 'Радченко', 'Рак', 'Ребрик', 'Рева', 'Редько', 'Романенко', 'Романець', - 'Романчук', 'Рубан', 'Рубець', 'Рудик', 'Рудько', 'Рябець', 'Рябовіл', - 'Рябошапка', 'Рябченко', 'Савенко', 'Сагаль', 'Саєнко', 'Салій', - 'Самойленко', 'Сацюк', 'Саченко', 'Свириденко', 'Свистун', - 'Семенченко', 'Симоненко', 'Сиротенко', 'Сич', 'Сімашкевич', 'Сірко', - 'Сіробаба', 'Сірченко', 'Скиба', 'Скирда', 'Скопенко', 'Скорик', - 'Скоробогатько', 'Смик', 'Слюсар', 'Сомко', 'Стельмах', 'Стець', - 'Стус', 'Супруненко', 'Талан', 'Таран', 'Тарасенко', 'Твердохліб', - 'Теличенко', 'Теліженко', 'Терещенко', 'Терещук', 'Тесленко', 'Тесля', - 'Тимченко', 'Тимчук', 'Титаренко', 'Тихий', 'Тичина', 'Ткач', - 'Ткаченко', 'Товстоліс', 'Товстуха', 'Токар', 'Тригуб', 'Туркало', - 'Тягнибок', 'Удовенко', 'Удовиченко', 'Уманець', 'Усик', 'Устенко', - 'Фаренюк', 'Фартушняк', 'Фастенко', 'Фесенко', 'Філіпенко', 'Фоменко', - 'Франко', 'Франчук', 'Фурс', 'Харченко', 'Хмара', 'Хоменко', 'Хомик', - 'Хорішко', 'Христенко', 'Христич', 'Худобʼяк', 'Худяк', 'Царенко', - 'Цибуленко', 'Цимбал', 'Цимбалюк', 'Цісик', 'Цушко', 'Цюпа', 'Цюцюра', - 'Чабан', 'Чайка', 'Чаленко', 'Чалий', 'Чарниш', 'Чекалюк', - 'Червоненко', 'Чередник', 'Черінько', 'Черненко', 'Чміль', 'Чорновіл', - 'Чубай', 'Чуйко', 'Чумак', 'Чумаченко', 'Чуприна', 'Шаблій', 'Шамрай', - 'Шаповал', 'Шахрай', 'Швайка', 'Швачка', 'Швачко', 'Шведченко', - 'Шеремета', 'Шевченко', 'Шелест', 'Шеремет', 'Шило', 'Шинкаренко', - 'Шиян', 'Шморгун', 'Шовкопляс', 'Штепа', 'Штокало', 'Шутько', - 'Шухевич', 'Щербак', 'Щербань', 'Щириця', 'Щорс', 'Юрченко', 'Юрчишин', - 'Юрчук', 'Юхименко', 'Ющенко', 'Якименко', 'Якимчук', 'Яковенко', - 'Ярема', 'Яременко', 'Яремків', 'Яремко', 'Яремчук', 'Ярош', 'Яценко', - 'Яценюк', 'Ященко', 'Ящук', + "Абрагамовський", + "Абраменко", + "Абрамчук", + "Авдєєнко", + "Аверченко", + "Авраменко", + "Аврамчук", + "Адаменко", + "Адамчук", + "Ажажа", + "Акименко", + "Акуленко", + "Александренко", + "Алексеєнко", + "Алексійчук", + "Алексюк", + "Андрейко", + "Андрієвич", + "Андрієнко", + "Андріїшин", + "Андрійович", + "Андрійчук", + "Андрощук", + "Андрусенко", + "Аронець", + "Арсенич", + "Артеменко", + "Артим", + "Артимишин", + "Артимович", + "Артюх", + "Артюшенко", + "Архимович", + "Архипенко", + "Асаула", + "Атаманчук", + "Атаманюк", + "Атрощенко", + "Бабʼюк", + "Бабʼяк", + "Бабак", + "Бабариченко", + "Бабенко", + "Бабич", + "Бабиченко", + "Бабій", + "Бабійчук", + "Бабко", + "Базавлученко", + "Базилевич", + "Базилевський", + "Байда", + "Байдак", + "Байрак", + "Баклан", + "Бакуменко", + "Балабан", + "Бандера", + "Бандура", + "Бандурка", + "Барабаш", + "Баран", + "Баранець", + "Бараник", + "Баранник", + "Батіг", + "Батуринець", + "Батюк", + "Башполченко", + "Баштан", + "Бгиденко", + "Бебешко", + "Бевз", + "Бевзенко", + "Безбородьки", + "Безбородько", + "Бездітко", + "Вакарчук", + "Вакуленко", + "Валенко", + "Ванченко", + "Василашко", + "Василевич", + "Василенко", + "Василечко", + "Ватаманюк", + "Вахній", + "Ващенко", + "Ващенко-Захарченко", + "Ващук", + "Вдовенко", + "Вдовиченко", + "Величко", + "Венгринович", + "Вергун", + "Верес", + "Верменич", + "Вернигора", + "Вернидуб", + "Вертипорох", + "Верховинець", + "Верхола", + "Височан", + "Вишиваний", + "Вишняк", + "Вівчаренко", + "Вітер", + "Вітрук", + "Власенко", + "Власюк", + "Влох", + "Воблий", + "Вовк", + "Габелко", + "Гавриленко", + "Гаврилець", + "Гаврилишин", + "Гаврилів", + "Гаврилюк", + "Гавриш", + "Гавришкевич", + "Гаврюшенко", + "Гаєвський", + "Гайворонський", + "Гайда", + "Гайдабура", + "Гайдай", + "Гайдамака", + "Гайденко", + "Гоголь", + "Гоголь-Яновський", + "Годунок", + "Голик", + "Голобородько", + "Гресь", + "Гречаник", + "Гречко", + "Гриценко", + "Гузенко", + "Гузій", + "Гузь", + "Гук", + "Гунько", + "Гупало", + "Гуцуляк", + "Ґалаґан", + "Ґереґа", + "Ґерета", + "Ґерус", + "Ґжицький", + "Ґоляш", + "Давиденко", + "Давимука", + "Даниленко", + "Данилюк", + "Данильчук", + "Данченко", + "Данчук", + "Данькевич", + "Даньків", + "Данько", + "Дараган", + "Дахно", + "Даценко", + "Дацюк", + "Дашенко", + "Дашкевич", + "Девдюк", + "Дейнека", + "Дейнеко", + "Дейсун", + "Демʼяненко", + "Демʼянчук", + "Демʼянюк", + "Демиденко", + "Дергач", + "Деревʼянко", + "Дерегус", + "Деркач", + "Деряжний", + "Джунь", + "Джус", + "Дробʼязко", + "Дробаха", + "Дрозд", + "Дрозденко", + "Дубас", + "Дубенко", + "Дубина", + "Дзиндра", + "Дзюба", + "Доценко", + "Дуплій", + "Дурдинець", + "Дутка", + "Ейбоженко", + "Євдокименко", + "Євтушенко", + "Євтушок", + "Ємельяненко", + "Ємець", + "Єременко", + "Єресько", + "Єрмоленко", + "Єрошенко", + "Єрченко", + "Єрьоменко", + "Єсипенко", + "Єфименко", + "Єщенко", + "Жадан", + "Жайворон", + "Жаліло", + "Жарко", + "Жук", + "Журавель", + "Журба", + "Жученко", + "Забара", + "Забарний", + "Забашта", + "Забіла", + "Заєць", + "Заїка", + "Зайченко", + "Закусило", + "Запорожець", + "Заруба", + "Зарудний", + "Засенко", + "Засуха", + "Засядько", + "Затовканюк", + "Затула", + "Захаренко", + "Захарченко", + "Зінкевич", + "Зінченко", + "Зінчук", + "Зубко", + "Іваненко", + "Іваничук", + "Іванченко", + "Івасюк", + "Іващенко", + "Ільєнко", + "Ільченко", + "Ірванець", + "Ісаєвич", + "Ісаєнко", + "Іщак", + "Іщенко", + "Їжак", + "Їжакевич", + "Кабалюк", + "Кабаненко", + "Каденюк", + "Калениченко", + "Кальченко", + "Канівець", + "Карась", + "Кармалюк", + "Карпа", + "Карпенко", + "Кащенко", + "Кибкало", + "Килимник", + "Кириленко", + "Коваленко", + "Ковалюк", + "Ковпак", + "Козак", + "Козаченко", + "Колесниченко", + "Колісниченко", + "Колодуб", + "Комар", + "Конопленко", + "Конопля", + "Копитко", + "Корбут", + "Корж", + "Короленко", + "Корпанюк", + "Корсун", + "Лаба", + "Лавренко", + "Лагода", + "Лазаренко", + "Левченко", + "Лемешко", + "Лесик", + "Лисенко", + "Литвин", + "Литвиненко", + "Лубенець", + "Лукаш", + "Лупій", + "Луценко", + "Ляшко", + "Мазепа", + "Мазур", + "Макаренко", + "Макогон", + "Малик", + "Малишко", + "Мамчур", + "Масляк", + "Масоха", + "Матвієнко", + "Матяш", + "Медведенко", + "Микитюк", + "Михайличенко", + "Михайлюк", + "Михалюк", + "Мірошниченко", + "Міщенко", + "Москаль", + "Назаренко", + "Наливайко", + "Негода", + "Непорожній", + "Нестайко", + "Нестеренко", + "Ніколюк", + "Носаченко", + "Носенко", + "Оберемко", + "Овсієнко", + "Овчаренко", + "Олійник", + "Оліфіренко", + "Онищенко", + "Оніщук", + "Онуфрієнко", + "Опанасенко", + "Орлик", + "Оробець", + "Остапчук", + "Охримович", + "Охріменко", + "Пʼятаченко", + "Павленко", + "Павлик", + "Павличенко", + "Палій", + "Панчук", + "Парасюк", + "Пелех", + "Перебийніс", + "Перепелиця", + "Петлюра", + "Петренко", + "Петрик", + "Пилипенко", + "Піддубний", + "Полтавець", + "Приймак", + "Примаченко", + "Притула", + "Приходько", + "Прокопович", + "Проценко", + "Пустовіт", + "Пушкар", + "Радченко", + "Рак", + "Ребрик", + "Рева", + "Редько", + "Романенко", + "Романець", + "Романчук", + "Рубан", + "Рубець", + "Рудик", + "Рудько", + "Рябець", + "Рябовіл", + "Рябошапка", + "Рябченко", + "Савенко", + "Сагаль", + "Саєнко", + "Салій", + "Самойленко", + "Сацюк", + "Саченко", + "Свириденко", + "Свистун", + "Семенченко", + "Симоненко", + "Сиротенко", + "Сич", + "Сімашкевич", + "Сірко", + "Сіробаба", + "Сірченко", + "Скиба", + "Скирда", + "Скопенко", + "Скорик", + "Скоробогатько", + "Смик", + "Слюсар", + "Сомко", + "Стельмах", + "Стець", + "Стус", + "Супруненко", + "Талан", + "Таран", + "Тарасенко", + "Твердохліб", + "Теличенко", + "Теліженко", + "Терещенко", + "Терещук", + "Тесленко", + "Тесля", + "Тимченко", + "Тимчук", + "Титаренко", + "Тихий", + "Тичина", + "Ткач", + "Ткаченко", + "Товстоліс", + "Товстуха", + "Токар", + "Тригуб", + "Туркало", + "Тягнибок", + "Удовенко", + "Удовиченко", + "Уманець", + "Усик", + "Устенко", + "Фаренюк", + "Фартушняк", + "Фастенко", + "Фесенко", + "Філіпенко", + "Фоменко", + "Франко", + "Франчук", + "Фурс", + "Харченко", + "Хмара", + "Хоменко", + "Хомик", + "Хорішко", + "Христенко", + "Христич", + "Худобʼяк", + "Худяк", + "Царенко", + "Цибуленко", + "Цимбал", + "Цимбалюк", + "Цісик", + "Цушко", + "Цюпа", + "Цюцюра", + "Чабан", + "Чайка", + "Чаленко", + "Чалий", + "Чарниш", + "Чекалюк", + "Червоненко", + "Чередник", + "Черінько", + "Черненко", + "Чміль", + "Чорновіл", + "Чубай", + "Чуйко", + "Чумак", + "Чумаченко", + "Чуприна", + "Шаблій", + "Шамрай", + "Шаповал", + "Шахрай", + "Швайка", + "Швачка", + "Швачко", + "Шведченко", + "Шеремета", + "Шевченко", + "Шелест", + "Шеремет", + "Шило", + "Шинкаренко", + "Шиян", + "Шморгун", + "Шовкопляс", + "Штепа", + "Штокало", + "Шутько", + "Шухевич", + "Щербак", + "Щербань", + "Щириця", + "Щорс", + "Юрченко", + "Юрчишин", + "Юрчук", + "Юхименко", + "Ющенко", + "Якименко", + "Якимчук", + "Яковенко", + "Ярема", + "Яременко", + "Яремків", + "Яремко", + "Яремчук", + "Ярош", + "Яценко", + "Яценюк", + "Ященко", + "Ящук", ) - prefixes_male = ('пан',) - prefixes_female = ('пані',) + prefixes_male = ("пан",) + prefixes_female = ("пані",) diff --git a/faker/providers/person/zh_CN/__init__.py b/faker/providers/person/zh_CN/__init__.py index 84aa2f7d62..a9175e3262 100644 --- a/faker/providers/person/zh_CN/__init__.py +++ b/faker/providers/person/zh_CN/__init__.py @@ -7,489 +7,691 @@ class Provider(PersonProvider): formats = ["{{last_name}}{{first_name}}"] first_names_male = [ - "伟", "强", "磊", "洋", "勇", "军", "杰", "涛", "超", "明", "刚", "平", "辉", "鹏", "华", "飞", - "鑫", "波", "斌", "宇", "浩", "凯", "健", "俊", "帆", "帅", "旭", "宁", "龙", "林", "欢", "佳", - "阳", "建华", "亮", "成", "建", "峰", "建国", "建军", "晨", "瑞", "志强", "兵", "雷", "东", "博", - "彬", "坤", "想", "岩", "杨", "文", "利", "楠", "红霞", "建平", + "伟", + "强", + "磊", + "洋", + "勇", + "军", + "杰", + "涛", + "超", + "明", + "刚", + "平", + "辉", + "鹏", + "华", + "飞", + "鑫", + "波", + "斌", + "宇", + "浩", + "凯", + "健", + "俊", + "帆", + "帅", + "旭", + "宁", + "龙", + "林", + "欢", + "佳", + "阳", + "建华", + "亮", + "成", + "建", + "峰", + "建国", + "建军", + "晨", + "瑞", + "志强", + "兵", + "雷", + "东", + "博", + "彬", + "坤", + "想", + "岩", + "杨", + "文", + "利", + "楠", + "红霞", + "建平", ] first_names_female = [ - "芳", "娜", "敏", "静", "秀英", "丽", "艳", "娟", "霞", "秀兰", "燕", "玲", "桂英", "丹", "萍", - "红", "玉兰", "桂兰", "英", "梅", "莉", "秀珍", "婷", "玉梅", "玉珍", "凤英", "晶", "玉英", "颖", - "雪", "慧", "红梅", "倩", "琴", "兰英", "畅", "云", "洁", "柳", "淑珍", "春梅", "海燕", "冬梅", - "秀荣", "桂珍", "莹", "秀云", "桂荣", "秀梅", "丽娟", "婷婷", "玉华", "琳", "雪梅", "淑兰", "丽丽", - "玉", "秀芳", "欣", "淑英", "桂芳", "丽华", "丹丹", "桂香", "淑华", "荣", "秀华", "桂芝", "小红", - "金凤", "瑜", "桂花", "璐", "凤兰", + "芳", + "娜", + "敏", + "静", + "秀英", + "丽", + "艳", + "娟", + "霞", + "秀兰", + "燕", + "玲", + "桂英", + "丹", + "萍", + "红", + "玉兰", + "桂兰", + "英", + "梅", + "莉", + "秀珍", + "婷", + "玉梅", + "玉珍", + "凤英", + "晶", + "玉英", + "颖", + "雪", + "慧", + "红梅", + "倩", + "琴", + "兰英", + "畅", + "云", + "洁", + "柳", + "淑珍", + "春梅", + "海燕", + "冬梅", + "秀荣", + "桂珍", + "莹", + "秀云", + "桂荣", + "秀梅", + "丽娟", + "婷婷", + "玉华", + "琳", + "雪梅", + "淑兰", + "丽丽", + "玉", + "秀芳", + "欣", + "淑英", + "桂芳", + "丽华", + "丹丹", + "桂香", + "淑华", + "荣", + "秀华", + "桂芝", + "小红", + "金凤", + "瑜", + "桂花", + "璐", + "凤兰", ] first_names = first_names_male + first_names_female # From https://zh.wikipedia.org/wiki/%E4%B8%AD%E5%9B%BD%E5%A7%93%E6%B0%8F%E6%8E%92%E5%90%8D - last_names = OrderedDict(( - ('王', 7.170), - ('李', 7.000), - ('张', 6.740), - ('刘', 5.100), - ('陈', 4.610), - ('杨', 3.220), - ('黄', 2.450), - ('吴', 2.000), - ('赵', 2.000), - ('周', 1.900), - ('徐', 1.450), - ('孙', 1.380), - ('马', 1.290), - ('朱', 1.280), - ('胡', 1.160), - ('林', 1.130), - ('郭', 1.130), - ('何', 1.060), - ('高', 1.000), - ('罗', 0.950), - ('郑', 0.930), - ('梁', 0.850), - ('谢', 0.760), - ('宋', 0.700), - ('唐', 0.690), - ('许', 0.660), - ('邓', 0.620), - ('冯', 0.620), - ('韩', 0.610), - ('曹', 0.600), - ('曾', 0.580), - ('彭', 0.580), - ('萧', 0.560), - ('蔡', 0.530), - ('潘', 0.520), - ('田', 0.520), - ('董', 0.510), - ('袁', 0.500), - ('于', 0.480), - ('余', 0.480), - ('叶', 0.480), - ('蒋', 0.480), - ('杜', 0.470), - ('苏', 0.460), - ('魏', 0.450), - ('程', 0.450), - ('吕', 0.450), - ('丁', 0.430), - ('沈', 0.410), - ('任', 0.410), - ('姚', 0.400), - ('卢', 0.400), - ('傅', 0.400), - ('钟', 0.400), - ('姜', 0.390), - ('崔', 0.380), - ('谭', 0.380), - ('廖', 0.370), - ('范', 0.360), - ('汪', 0.360), - ('陆', 0.360), - ('金', 0.350), - ('石', 0.340), - ('戴', 0.340), - ('贾', 0.330), - ('韦', 0.320), - ('夏', 0.320), - ('邱', 0.320), - ('方', 0.310), - ('侯', 0.300), - ('邹', 0.300), - ('熊', 0.290), - ('孟', 0.290), - ('秦', 0.290), - ('白', 0.280), - ('江', 0.280), - ('阎', 0.270), - ('薛', 0.260), - ('尹', 0.260), - ('段', 0.240), - ('雷', 0.240), - ('黎', 0.220), - ('史', 0.210), - ('龙', 0.210), - ('陶', 0.210), - ('贺', 0.210), - ('顾', 0.200), - ('毛', 0.200), - ('郝', 0.200), - ('龚', 0.200), - ('邵', 0.200), - ('万', 0.190), - ('钱', 0.190), - ('严', 0.190), - ('赖', 0.180), - ('覃', 0.180), - ('洪', 0.180), - ('武', 0.180), - ('莫', 0.180), - ('孔', 0.170), - ('汤', 0.170), - ('向', 0.170), - ('常', 0.160), - ('温', 0.160), - ('康', 0.160), - ('施', 0.150), - ('文', 0.150), - ('牛', 0.150), - ('樊', 0.150), - ('葛', 0.150), - ('邢', 0.140), - ('安', 0.130), - ('齐', 0.130), - ('易', 0.130), - ('乔', 0.130), - ('伍', 0.130), - ('庞', 0.130), - ('颜', 0.120), - ('倪', 0.120), - ('庄', 0.120), - ('聂', 0.120), - ('章', 0.120), - ('鲁', 0.110), - ('岳', 0.110), - ('翟', 0.110), - ('殷', 0.110), - ('詹', 0.110), - ('申', 0.110), - ('欧', 0.110), - ('耿', 0.110), - ('关', 0.100), - ('兰', 0.100), - ('焦', 0.100), - ('俞', 0.100), - ('左', 0.100), - ('柳', 0.100), - ('甘', 0.095), - ('祝', 0.090), - ('包', 0.087), - ('宁', 0.083), - ('尚', 0.082), - ('符', 0.082), - ('舒', 0.082), - ('阮', 0.082), - ('柯', 0.080), - ('纪', 0.080), - ('梅', 0.079), - ('童', 0.079), - ('凌', 0.078), - ('毕', 0.078), - ('单', 0.076), - ('季', 0.076), - ('裴', 0.076), - ('霍', 0.075), - ('涂', 0.075), - ('成', 0.075), - ('苗', 0.075), - ('谷', 0.075), - ('盛', 0.074), - ('曲', 0.074), - ('翁', 0.073), - ('冉', 0.073), - ('骆', 0.073), - ('蓝', 0.072), - ('路', 0.072), - ('游', 0.071), - ('辛', 0.070), - ('靳', 0.069), - ('欧阳', 0.068), - ('管', 0.065), - ('柴', 0.065), - ('蒙', 0.062), - ('鲍', 0.062), - ('华', 0.061), - ('喻', 0.061), - ('祁', 0.061), - ('蒲', 0.056), - ('房', 0.056), - ('滕', 0.055), - ('屈', 0.055), - ('饶', 0.055), - ('解', 0.053), - ('牟', 0.053), - ('艾', 0.052), - ('尤', 0.052), - ('阳', 0.050), - ('时', 0.050), - ('穆', 0.048), - ('农', 0.047), - ('司', 0.044), - ('卓', 0.043), - ('古', 0.043), - ('吉', 0.043), - ('缪', 0.043), - ('简', 0.043), - ('车', 0.043), - ('项', 0.043), - ('连', 0.043), - ('芦', 0.042), - ('麦', 0.041), - ('褚', 0.041), - ('娄', 0.040), - ('窦', 0.040), - ('戚', 0.040), - ('岑', 0.039), - ('景', 0.039), - ('党', 0.039), - ('宫', 0.039), - ('费', 0.039), - ('卜', 0.038), - ('冷', 0.038), - ('晏', 0.038), - ('席', 0.036), - ('卫', 0.036), - ('米', 0.035), - ('柏', 0.035), - ('宗', 0.034), - ('瞿', 0.033), - ('桂', 0.033), - ('全', 0.033), - ('佟', 0.033), - ('应', 0.033), - ('臧', 0.032), - ('闵', 0.032), - ('苟', 0.032), - ('邬', 0.032), - ('边', 0.032), - ('卞', 0.032), - ('姬', 0.032), - ('师', 0.031), - ('和', 0.031), - ('仇', 0.030), - ('栾', 0.030), - ('隋', 0.030), - ('商', 0.030), - ('刁', 0.030), - ('沙', 0.030), - ('荣', 0.029), - ('巫', 0.029), - ('寇', 0.029), - ('桑', 0.028), - ('郎', 0.028), - ('甄', 0.027), - ('丛', 0.027), - ('仲', 0.027), - ('虞', 0.026), - ('敖', 0.026), - ('巩', 0.026), - ('明', 0.026), - ('佘', 0.025), - ('池', 0.025), - ('查', 0.025), - ('麻', 0.025), - ('苑', 0.025), - ('迟', 0.024), - ('邝', 0.024), - ('官', 0.023), - ('封', 0.023), - ('谈', 0.023), - ('匡', 0.023), - ('鞠', 0.230), - ('惠', 0.022), - ('荆', 0.022), - ('乐', 0.022), - ('冀', 0.021), - ('郁', 0.021), - ('胥', 0.021), - ('南', 0.021), - ('班', 0.021), - ('储', 0.021), - ('原', 0.020), - ('栗', 0.020), - ('燕', 0.020), - ('楚', 0.020), - ('鄢', 0.020), - ('劳', 0.019), - ('谌', 0.019), - ('奚', 0.017), - ('皮', 0.017), - ('粟', 0.017), - ('冼', 0.017), - ('蔺', 0.017), - ('楼', 0.017), - ('盘', 0.017), - ('满', 0.016), - ('闻', 0.016), - ('位', 0.016), - ('厉', 0.016), - ('伊', 0.016), - ('仝', 0.015), - ('区', 0.015), - ('郜', 0.015), - ('海', 0.015), - ('阚', 0.015), - ('花', 0.015), - ('权', 0.014), - ('强', 0.014), - ('帅', 0.014), - ('屠', 0.014), - ('豆', 0.014), - ('朴', 0.014), - ('盖', 0.014), - ('练', 0.014), - ('廉', 0.014), - ('禹', 0.014), - ('井', 0.013), - ('祖', 0.013), - ('漆', 0.013), - ('巴', 0.013), - ('丰', 0.013), - ('支', 0.013), - ('卿', 0.013), - ('国', 0.013), - ('狄', 0.013), - ('平', 0.013), - ('计', 0.012), - ('索', 0.012), - ('宣', 0.012), - ('晋', 0.012), - ('相', 0.012), - ('初', 0.012), - ('门', 0.012), - ('云', 0.012), - ('容', 0.012), - ('敬', 0.011), - ('来', 0.011), - ('扈', 0.011), - ('晁', 0.011), - ('芮', 0.011), - ('都', 0.011), - ('普', 0.011), - ('阙', 0.011), - ('浦', 0.011), - ('戈', 0.011), - ('伏', 0.011), - ('鹿', 0.011), - ('薄', 0.011), - ('邸', 0.011), - ('雍', 0.010), - ('辜', 0.010), - ('羊', 0.010), - ('阿', 0.010), - ('乌', 0.010), - ('母', 0.010), - ('裘', 0.010), - ('亓', 0.010), - ('修', 0.010), - ('邰', 0.010), - ('赫', 0.010), - ('杭', 0.010), - ('况', 0.0094), - ('那', 0.0093), - ('宿', 0.0093), - ('鲜', 0.0092), - ('印', 0.0091), - ('逯', 0.0091), - ('隆', 0.0090), - ('茹', 0.0090), - ('诸', 0.0089), - ('战', 0.0088), - ('慕', 0.0086), - ('危', 0.0084), - ('玉', 0.0084), - ('银', 0.0084), - ('亢', 0.0083), - ('嵇', 0.0082), - ('公', 0.0082), - ('哈', 0.0081), - ('湛', 0.0079), - ('宾', 0.0077), - ('戎', 0.0076), - ('勾', 0.0076), - ('茅', 0.0076), - ('利', 0.0076), - ('于', 0.0074), - ('呼', 0.0074), - ('居', 0.0074), - ('揭', 0.0073), - ('干', 0.0072), - ('但', 0.0072), - ('尉', 0.0071), - ('冶', 0.0071), - ('斯', 0.0070), - ('元', 0.0069), - ('束', 0.0068), - ('檀', 0.0068), - ('衣', 0.0067), - ('信', 0.0067), - ('展', 0.0067), - ('阴', 0.0067), - ('昝', 0.0066), - ('智', 0.0065), - ('幸', 0.0065), - ('奉', 0.0064), - ('植', 0.0064), - ('衡', 0.0063), - ('富', 0.0063), - ('尧', 0.0060), - ('闭', 0.0060), - ('由', 0.0060), - )) - - romanized_formats = ( - '{{first_romanized_name}} {{last_romanized_name}}', + last_names = OrderedDict( + ( + ("王", 7.170), + ("李", 7.000), + ("张", 6.740), + ("刘", 5.100), + ("陈", 4.610), + ("杨", 3.220), + ("黄", 2.450), + ("吴", 2.000), + ("赵", 2.000), + ("周", 1.900), + ("徐", 1.450), + ("孙", 1.380), + ("马", 1.290), + ("朱", 1.280), + ("胡", 1.160), + ("林", 1.130), + ("郭", 1.130), + ("何", 1.060), + ("高", 1.000), + ("罗", 0.950), + ("郑", 0.930), + ("梁", 0.850), + ("谢", 0.760), + ("宋", 0.700), + ("唐", 0.690), + ("许", 0.660), + ("邓", 0.620), + ("冯", 0.620), + ("韩", 0.610), + ("曹", 0.600), + ("曾", 0.580), + ("彭", 0.580), + ("萧", 0.560), + ("蔡", 0.530), + ("潘", 0.520), + ("田", 0.520), + ("董", 0.510), + ("袁", 0.500), + ("于", 0.480), + ("余", 0.480), + ("叶", 0.480), + ("蒋", 0.480), + ("杜", 0.470), + ("苏", 0.460), + ("魏", 0.450), + ("程", 0.450), + ("吕", 0.450), + ("丁", 0.430), + ("沈", 0.410), + ("任", 0.410), + ("姚", 0.400), + ("卢", 0.400), + ("傅", 0.400), + ("钟", 0.400), + ("姜", 0.390), + ("崔", 0.380), + ("谭", 0.380), + ("廖", 0.370), + ("范", 0.360), + ("汪", 0.360), + ("陆", 0.360), + ("金", 0.350), + ("石", 0.340), + ("戴", 0.340), + ("贾", 0.330), + ("韦", 0.320), + ("夏", 0.320), + ("邱", 0.320), + ("方", 0.310), + ("侯", 0.300), + ("邹", 0.300), + ("熊", 0.290), + ("孟", 0.290), + ("秦", 0.290), + ("白", 0.280), + ("江", 0.280), + ("阎", 0.270), + ("薛", 0.260), + ("尹", 0.260), + ("段", 0.240), + ("雷", 0.240), + ("黎", 0.220), + ("史", 0.210), + ("龙", 0.210), + ("陶", 0.210), + ("贺", 0.210), + ("顾", 0.200), + ("毛", 0.200), + ("郝", 0.200), + ("龚", 0.200), + ("邵", 0.200), + ("万", 0.190), + ("钱", 0.190), + ("严", 0.190), + ("赖", 0.180), + ("覃", 0.180), + ("洪", 0.180), + ("武", 0.180), + ("莫", 0.180), + ("孔", 0.170), + ("汤", 0.170), + ("向", 0.170), + ("常", 0.160), + ("温", 0.160), + ("康", 0.160), + ("施", 0.150), + ("文", 0.150), + ("牛", 0.150), + ("樊", 0.150), + ("葛", 0.150), + ("邢", 0.140), + ("安", 0.130), + ("齐", 0.130), + ("易", 0.130), + ("乔", 0.130), + ("伍", 0.130), + ("庞", 0.130), + ("颜", 0.120), + ("倪", 0.120), + ("庄", 0.120), + ("聂", 0.120), + ("章", 0.120), + ("鲁", 0.110), + ("岳", 0.110), + ("翟", 0.110), + ("殷", 0.110), + ("詹", 0.110), + ("申", 0.110), + ("欧", 0.110), + ("耿", 0.110), + ("关", 0.100), + ("兰", 0.100), + ("焦", 0.100), + ("俞", 0.100), + ("左", 0.100), + ("柳", 0.100), + ("甘", 0.095), + ("祝", 0.090), + ("包", 0.087), + ("宁", 0.083), + ("尚", 0.082), + ("符", 0.082), + ("舒", 0.082), + ("阮", 0.082), + ("柯", 0.080), + ("纪", 0.080), + ("梅", 0.079), + ("童", 0.079), + ("凌", 0.078), + ("毕", 0.078), + ("单", 0.076), + ("季", 0.076), + ("裴", 0.076), + ("霍", 0.075), + ("涂", 0.075), + ("成", 0.075), + ("苗", 0.075), + ("谷", 0.075), + ("盛", 0.074), + ("曲", 0.074), + ("翁", 0.073), + ("冉", 0.073), + ("骆", 0.073), + ("蓝", 0.072), + ("路", 0.072), + ("游", 0.071), + ("辛", 0.070), + ("靳", 0.069), + ("欧阳", 0.068), + ("管", 0.065), + ("柴", 0.065), + ("蒙", 0.062), + ("鲍", 0.062), + ("华", 0.061), + ("喻", 0.061), + ("祁", 0.061), + ("蒲", 0.056), + ("房", 0.056), + ("滕", 0.055), + ("屈", 0.055), + ("饶", 0.055), + ("解", 0.053), + ("牟", 0.053), + ("艾", 0.052), + ("尤", 0.052), + ("阳", 0.050), + ("时", 0.050), + ("穆", 0.048), + ("农", 0.047), + ("司", 0.044), + ("卓", 0.043), + ("古", 0.043), + ("吉", 0.043), + ("缪", 0.043), + ("简", 0.043), + ("车", 0.043), + ("项", 0.043), + ("连", 0.043), + ("芦", 0.042), + ("麦", 0.041), + ("褚", 0.041), + ("娄", 0.040), + ("窦", 0.040), + ("戚", 0.040), + ("岑", 0.039), + ("景", 0.039), + ("党", 0.039), + ("宫", 0.039), + ("费", 0.039), + ("卜", 0.038), + ("冷", 0.038), + ("晏", 0.038), + ("席", 0.036), + ("卫", 0.036), + ("米", 0.035), + ("柏", 0.035), + ("宗", 0.034), + ("瞿", 0.033), + ("桂", 0.033), + ("全", 0.033), + ("佟", 0.033), + ("应", 0.033), + ("臧", 0.032), + ("闵", 0.032), + ("苟", 0.032), + ("邬", 0.032), + ("边", 0.032), + ("卞", 0.032), + ("姬", 0.032), + ("师", 0.031), + ("和", 0.031), + ("仇", 0.030), + ("栾", 0.030), + ("隋", 0.030), + ("商", 0.030), + ("刁", 0.030), + ("沙", 0.030), + ("荣", 0.029), + ("巫", 0.029), + ("寇", 0.029), + ("桑", 0.028), + ("郎", 0.028), + ("甄", 0.027), + ("丛", 0.027), + ("仲", 0.027), + ("虞", 0.026), + ("敖", 0.026), + ("巩", 0.026), + ("明", 0.026), + ("佘", 0.025), + ("池", 0.025), + ("查", 0.025), + ("麻", 0.025), + ("苑", 0.025), + ("迟", 0.024), + ("邝", 0.024), + ("官", 0.023), + ("封", 0.023), + ("谈", 0.023), + ("匡", 0.023), + ("鞠", 0.230), + ("惠", 0.022), + ("荆", 0.022), + ("乐", 0.022), + ("冀", 0.021), + ("郁", 0.021), + ("胥", 0.021), + ("南", 0.021), + ("班", 0.021), + ("储", 0.021), + ("原", 0.020), + ("栗", 0.020), + ("燕", 0.020), + ("楚", 0.020), + ("鄢", 0.020), + ("劳", 0.019), + ("谌", 0.019), + ("奚", 0.017), + ("皮", 0.017), + ("粟", 0.017), + ("冼", 0.017), + ("蔺", 0.017), + ("楼", 0.017), + ("盘", 0.017), + ("满", 0.016), + ("闻", 0.016), + ("位", 0.016), + ("厉", 0.016), + ("伊", 0.016), + ("仝", 0.015), + ("区", 0.015), + ("郜", 0.015), + ("海", 0.015), + ("阚", 0.015), + ("花", 0.015), + ("权", 0.014), + ("强", 0.014), + ("帅", 0.014), + ("屠", 0.014), + ("豆", 0.014), + ("朴", 0.014), + ("盖", 0.014), + ("练", 0.014), + ("廉", 0.014), + ("禹", 0.014), + ("井", 0.013), + ("祖", 0.013), + ("漆", 0.013), + ("巴", 0.013), + ("丰", 0.013), + ("支", 0.013), + ("卿", 0.013), + ("国", 0.013), + ("狄", 0.013), + ("平", 0.013), + ("计", 0.012), + ("索", 0.012), + ("宣", 0.012), + ("晋", 0.012), + ("相", 0.012), + ("初", 0.012), + ("门", 0.012), + ("云", 0.012), + ("容", 0.012), + ("敬", 0.011), + ("来", 0.011), + ("扈", 0.011), + ("晁", 0.011), + ("芮", 0.011), + ("都", 0.011), + ("普", 0.011), + ("阙", 0.011), + ("浦", 0.011), + ("戈", 0.011), + ("伏", 0.011), + ("鹿", 0.011), + ("薄", 0.011), + ("邸", 0.011), + ("雍", 0.010), + ("辜", 0.010), + ("羊", 0.010), + ("阿", 0.010), + ("乌", 0.010), + ("母", 0.010), + ("裘", 0.010), + ("亓", 0.010), + ("修", 0.010), + ("邰", 0.010), + ("赫", 0.010), + ("杭", 0.010), + ("况", 0.0094), + ("那", 0.0093), + ("宿", 0.0093), + ("鲜", 0.0092), + ("印", 0.0091), + ("逯", 0.0091), + ("隆", 0.0090), + ("茹", 0.0090), + ("诸", 0.0089), + ("战", 0.0088), + ("慕", 0.0086), + ("危", 0.0084), + ("玉", 0.0084), + ("银", 0.0084), + ("亢", 0.0083), + ("嵇", 0.0082), + ("公", 0.0082), + ("哈", 0.0081), + ("湛", 0.0079), + ("宾", 0.0077), + ("戎", 0.0076), + ("勾", 0.0076), + ("茅", 0.0076), + ("利", 0.0076), + ("于", 0.0074), + ("呼", 0.0074), + ("居", 0.0074), + ("揭", 0.0073), + ("干", 0.0072), + ("但", 0.0072), + ("尉", 0.0071), + ("冶", 0.0071), + ("斯", 0.0070), + ("元", 0.0069), + ("束", 0.0068), + ("檀", 0.0068), + ("衣", 0.0067), + ("信", 0.0067), + ("展", 0.0067), + ("阴", 0.0067), + ("昝", 0.0066), + ("智", 0.0065), + ("幸", 0.0065), + ("奉", 0.0064), + ("植", 0.0064), + ("衡", 0.0063), + ("富", 0.0063), + ("尧", 0.0060), + ("闭", 0.0060), + ("由", 0.0060), + ) ) + romanized_formats = ("{{first_romanized_name}} {{last_romanized_name}}",) + # From https://en.wikipedia.org/wiki/Chinese_given_name#Common_Chinese_names, # with accents stripped first_romanized_names = ( - 'Chao', - 'Fang', - 'Gang', - 'Guiying', - 'Jie', - 'Jing', - 'Juan', - 'Jun', - 'Lei', - 'Li', - 'Min', - 'Ming', - 'Na', - 'Ping', - 'Qiang', - 'Tao', - 'Wei', - 'Xia', - 'Xiulan', - 'Xiuying', - 'Yang', - 'Yong', - 'Yan', + "Chao", + "Fang", + "Gang", + "Guiying", + "Jie", + "Jing", + "Juan", + "Jun", + "Lei", + "Li", + "Min", + "Ming", + "Na", + "Ping", + "Qiang", + "Tao", + "Wei", + "Xia", + "Xiulan", + "Xiuying", + "Yang", + "Yong", + "Yan", ) # From https://en.wikipedia.org/wiki/List_of_common_Chinese_surnames # with accents stripped last_romanized_names = ( - 'Bai', 'Cai', 'Cao', 'Chang', 'Chen', 'Cheng', 'Cui', 'Dai', 'Deng', - 'Ding', 'Dong', 'Du', 'Duan', 'Fan', 'Fang', 'Feng', 'Fu', 'Gao', 'Gong', - 'Gu', 'Guo', 'Han', 'Hao', 'He', 'Hou', 'Hu', 'Huang', 'Jia', 'Jiang', - 'Jin', 'Kang', 'Kong', 'Lai', 'Lei', 'Li', 'Liang', 'Liao', 'Lin', 'Liu', - 'Long', 'Lu', 'Luo', 'Ma', 'Mao', 'Meng', 'Mo', 'Pan', 'Peng', 'Qian', - 'Qiao', 'Qin', 'Qiu', 'Ren', 'Shao', 'Shen', 'Shi', 'Song', 'Su', 'Sun', - 'Tan', 'Tang', 'Tao', 'Tian', 'Wan', 'Wang', 'Wei', 'Wen', 'Wu', 'Xia', - 'Xiang', 'Xiao', 'Xie', 'Xiong', 'Xu', 'Xue', 'Yan', 'Yang', 'Yao', 'Ye', - 'Yi', 'Yin', 'Yu', 'Yuan', 'Zeng', 'Zhang', 'Zhao', 'Zheng', 'Zhong', - 'Zhou', 'Zhu', 'Zou', + "Bai", + "Cai", + "Cao", + "Chang", + "Chen", + "Cheng", + "Cui", + "Dai", + "Deng", + "Ding", + "Dong", + "Du", + "Duan", + "Fan", + "Fang", + "Feng", + "Fu", + "Gao", + "Gong", + "Gu", + "Guo", + "Han", + "Hao", + "He", + "Hou", + "Hu", + "Huang", + "Jia", + "Jiang", + "Jin", + "Kang", + "Kong", + "Lai", + "Lei", + "Li", + "Liang", + "Liao", + "Lin", + "Liu", + "Long", + "Lu", + "Luo", + "Ma", + "Mao", + "Meng", + "Mo", + "Pan", + "Peng", + "Qian", + "Qiao", + "Qin", + "Qiu", + "Ren", + "Shao", + "Shen", + "Shi", + "Song", + "Su", + "Sun", + "Tan", + "Tang", + "Tao", + "Tian", + "Wan", + "Wang", + "Wei", + "Wen", + "Wu", + "Xia", + "Xiang", + "Xiao", + "Xie", + "Xiong", + "Xu", + "Xue", + "Yan", + "Yang", + "Yao", + "Ye", + "Yi", + "Yin", + "Yu", + "Yuan", + "Zeng", + "Zhang", + "Zhao", + "Zheng", + "Zhong", + "Zhou", + "Zhu", + "Zou", ) - def romanized_name(self): - ''' + def romanized_name(self) -> str: + """ @example 'Chao Bai' - ''' - pattern = self.random_element(self.romanized_formats) + """ + pattern: str = self.random_element(self.romanized_formats) return self.generator.parse(pattern) - def first_romanized_name(self): - ''' + def first_romanized_name(self) -> str: + """ @example 'Chao' - ''' + """ return self.random_element(self.first_romanized_names) - def last_romanized_name(self): - ''' + def last_romanized_name(self) -> str: + """ @example 'Chao' - ''' + """ return self.random_element(self.last_romanized_names) diff --git a/faker/providers/person/zh_TW/__init__.py b/faker/providers/person/zh_TW/__init__.py index 73922780fa..050e6c3475 100644 --- a/faker/providers/person/zh_TW/__init__.py +++ b/faker/providers/person/zh_TW/__init__.py @@ -4,490 +4,649 @@ class Provider(PersonProvider): - formats = ("{{last_name}}{{first_name}}", ) + formats = ("{{last_name}}{{first_name}}",) first_names_female = ( - '雅萍', '惠雯', '嘉玲', '雅文', '詩婷', '欣怡', '怡萱', '美玲', '淑玲', '怡伶', - '淑芬', '惠如', '思穎', '怡如', '筱涵', '雅琪', '怡安', '佳玲', '心怡', '宜君', - '淑娟', '淑貞', '郁雯', '佩珊', '靜怡', '雅涵', '怡君', '靜宜', '雅玲', '依婷', - '詩涵', '佩君', '婷婷', '淑惠', '佳蓉', '瑋婷', '佳穎', '怡婷', '鈺婷', '雅筑', - '淑華', '雅雯', '佳慧', '雅慧', '慧君', '雅惠', '婉婷', '琬婷', '雅芳', '郁婷', - '淑慧', '雅婷', '宜庭', '家瑜', '惠婷', '美琪', + "雅萍", + "惠雯", + "嘉玲", + "雅文", + "詩婷", + "欣怡", + "怡萱", + "美玲", + "淑玲", + "怡伶", + "淑芬", + "惠如", + "思穎", + "怡如", + "筱涵", + "雅琪", + "怡安", + "佳玲", + "心怡", + "宜君", + "淑娟", + "淑貞", + "郁雯", + "佩珊", + "靜怡", + "雅涵", + "怡君", + "靜宜", + "雅玲", + "依婷", + "詩涵", + "佩君", + "婷婷", + "淑惠", + "佳蓉", + "瑋婷", + "佳穎", + "怡婷", + "鈺婷", + "雅筑", + "淑華", + "雅雯", + "佳慧", + "雅慧", + "慧君", + "雅惠", + "婉婷", + "琬婷", + "雅芳", + "郁婷", + "淑慧", + "雅婷", + "宜庭", + "家瑜", + "惠婷", + "美琪", ) first_names_male = ( - '宇軒', '庭瑋', '志偉', '冠廷', '彥廷', '哲瑋', '佳樺', '志豪', '威廷', '俊賢', - '志宏', '家豪', '俊傑', '承翰', '俊宏', '馨儀', '柏翰', '信宏', '建宏', '冠宇', - '家瑋', '家銘', '冠霖', '宗翰', '沖', '懿', '羽', '龍', '中山', '飛', '傑克', + "宇軒", + "庭瑋", + "志偉", + "冠廷", + "彥廷", + "哲瑋", + "佳樺", + "志豪", + "威廷", + "俊賢", + "志宏", + "家豪", + "俊傑", + "承翰", + "俊宏", + "馨儀", + "柏翰", + "信宏", + "建宏", + "冠宇", + "家瑋", + "家銘", + "冠霖", + "宗翰", + "沖", + "懿", + "羽", + "龍", + "中山", + "飛", + "傑克", ) first_names = first_names_male + first_names_female # From https://zh.wikipedia.org/wiki/%E4%B8%AD%E5%9B%BD%E5%A7%93%E6%B0%8F%E6%8E%92%E5%90%8D - last_names = OrderedDict(( - ('王', 7.170), - ('李', 7.000), - ('張', 6.740), - ('劉', 5.100), - ('陳', 4.610), - ('楊', 3.220), - ('黃', 2.450), - ('吳', 2.000), - ('趙', 2.000), - ('周', 1.900), - ('徐', 1.450), - ('孫', 1.380), - ('馬', 1.290), - ('朱', 1.280), - ('胡', 1.160), - ('林', 1.130), - ('郭', 1.130), - ('何', 1.060), - ('高', 1.000), - ('羅', 0.950), - ('鄭', 0.930), - ('梁', 0.850), - ('謝', 0.760), - ('宋', 0.700), - ('唐', 0.690), - ('許', 0.660), - ('鄧', 0.620), - ('馮', 0.620), - ('韓', 0.610), - ('曹', 0.600), - ('曾', 0.580), - ('彭', 0.580), - ('蕭', 0.560), - ('蔡', 0.530), - ('潘', 0.520), - ('田', 0.520), - ('董', 0.510), - ('袁', 0.500), - ('於', 0.480), - ('余', 0.480), - ('葉', 0.480), - ('蔣', 0.480), - ('杜', 0.470), - ('蘇', 0.460), - ('魏', 0.450), - ('程', 0.450), - ('呂', 0.450), - ('丁', 0.430), - ('沈', 0.410), - ('任', 0.410), - ('姚', 0.400), - ('盧', 0.400), - ('傅', 0.400), - ('鐘', 0.400), - ('姜', 0.390), - ('崔', 0.380), - ('譚', 0.380), - ('廖', 0.370), - ('範', 0.360), - ('汪', 0.360), - ('陸', 0.360), - ('金', 0.350), - ('石', 0.340), - ('戴', 0.340), - ('賈', 0.330), - ('韋', 0.320), - ('夏', 0.320), - ('邱', 0.320), - ('方', 0.310), - ('侯', 0.300), - ('鄒', 0.300), - ('熊', 0.290), - ('孟', 0.290), - ('秦', 0.290), - ('白', 0.280), - ('江', 0.280), - ('閻', 0.270), - ('薛', 0.260), - ('尹', 0.260), - ('段', 0.240), - ('雷', 0.240), - ('黎', 0.220), - ('史', 0.210), - ('龍', 0.210), - ('陶', 0.210), - ('賀', 0.210), - ('顧', 0.200), - ('毛', 0.200), - ('郝', 0.200), - ('龔', 0.200), - ('邵', 0.200), - ('萬', 0.190), - ('錢', 0.190), - ('嚴', 0.190), - ('賴', 0.180), - ('覃', 0.180), - ('洪', 0.180), - ('武', 0.180), - ('莫', 0.180), - ('孔', 0.170), - ('湯', 0.170), - ('向', 0.170), - ('常', 0.160), - ('溫', 0.160), - ('康', 0.160), - ('施', 0.150), - ('文', 0.150), - ('牛', 0.150), - ('樊', 0.150), - ('葛', 0.150), - ('邢', 0.140), - ('安', 0.130), - ('齊', 0.130), - ('易', 0.130), - ('喬', 0.130), - ('伍', 0.130), - ('龐', 0.130), - ('顏', 0.120), - ('倪', 0.120), - ('莊', 0.120), - ('聶', 0.120), - ('章', 0.120), - ('魯', 0.110), - ('嶽', 0.110), - ('翟', 0.110), - ('殷', 0.110), - ('詹', 0.110), - ('申', 0.110), - ('歐', 0.110), - ('耿', 0.110), - ('關', 0.100), - ('蘭', 0.100), - ('焦', 0.100), - ('俞', 0.100), - ('左', 0.100), - ('柳', 0.100), - ('甘', 0.095), - ('祝', 0.090), - ('包', 0.087), - ('寧', 0.083), - ('尚', 0.082), - ('符', 0.082), - ('舒', 0.082), - ('阮', 0.082), - ('柯', 0.080), - ('紀', 0.080), - ('梅', 0.079), - ('童', 0.079), - ('淩', 0.078), - ('畢', 0.078), - ('單', 0.076), - ('季', 0.076), - ('裴', 0.076), - ('霍', 0.075), - ('塗', 0.075), - ('成', 0.075), - ('苗', 0.075), - ('谷', 0.075), - ('盛', 0.074), - ('曲', 0.074), - ('翁', 0.073), - ('冉', 0.073), - ('駱', 0.073), - ('藍', 0.072), - ('路', 0.072), - ('遊', 0.071), - ('辛', 0.070), - ('靳', 0.069), - ('歐陽', 0.068), - ('管', 0.065), - ('柴', 0.065), - ('蒙', 0.062), - ('鮑', 0.062), - ('華', 0.061), - ('喻', 0.061), - ('祁', 0.061), - ('蒲', 0.056), - ('房', 0.056), - ('滕', 0.055), - ('屈', 0.055), - ('饒', 0.055), - ('解', 0.053), - ('牟', 0.053), - ('艾', 0.052), - ('尤', 0.052), - ('陽', 0.050), - ('時', 0.050), - ('穆', 0.048), - ('農', 0.047), - ('司', 0.044), - ('卓', 0.043), - ('古', 0.043), - ('吉', 0.043), - ('繆', 0.043), - ('簡', 0.043), - ('車', 0.043), - ('項', 0.043), - ('連', 0.043), - ('蘆', 0.042), - ('麥', 0.041), - ('褚', 0.041), - ('婁', 0.040), - ('竇', 0.040), - ('戚', 0.040), - ('岑', 0.039), - ('景', 0.039), - ('黨', 0.039), - ('宮', 0.039), - ('費', 0.039), - ('蔔', 0.038), - ('冷', 0.038), - ('晏', 0.038), - ('席', 0.036), - ('衛', 0.036), - ('米', 0.035), - ('柏', 0.035), - ('宗', 0.034), - ('瞿', 0.033), - ('桂', 0.033), - ('全', 0.033), - ('佟', 0.033), - ('應', 0.033), - ('臧', 0.032), - ('閔', 0.032), - ('茍', 0.032), - ('鄔', 0.032), - ('邊', 0.032), - ('卞', 0.032), - ('姬', 0.032), - ('師', 0.031), - ('和', 0.031), - ('仇', 0.030), - ('欒', 0.030), - ('隋', 0.030), - ('商', 0.030), - ('刁', 0.030), - ('沙', 0.030), - ('榮', 0.029), - ('巫', 0.029), - ('寇', 0.029), - ('桑', 0.028), - ('郎', 0.028), - ('甄', 0.027), - ('叢', 0.027), - ('仲', 0.027), - ('虞', 0.026), - ('敖', 0.026), - ('鞏', 0.026), - ('明', 0.026), - ('佘', 0.025), - ('池', 0.025), - ('查', 0.025), - ('麻', 0.025), - ('苑', 0.025), - ('遲', 0.024), - ('鄺', 0.024), - ('官', 0.023), - ('封', 0.023), - ('談', 0.023), - ('匡', 0.023), - ('鞠', 0.230), - ('惠', 0.022), - ('荊', 0.022), - ('樂', 0.022), - ('冀', 0.021), - ('郁', 0.021), - ('胥', 0.021), - ('南', 0.021), - ('班', 0.021), - ('儲', 0.021), - ('原', 0.020), - ('栗', 0.020), - ('燕', 0.020), - ('楚', 0.020), - ('鄢', 0.020), - ('勞', 0.019), - ('諶', 0.019), - ('奚', 0.017), - ('皮', 0.017), - ('粟', 0.017), - ('冼', 0.017), - ('藺', 0.017), - ('樓', 0.017), - ('盤', 0.017), - ('滿', 0.016), - ('聞', 0.016), - ('位', 0.016), - ('厲', 0.016), - ('伊', 0.016), - ('仝', 0.015), - ('區', 0.015), - ('郜', 0.015), - ('海', 0.015), - ('闞', 0.015), - ('花', 0.015), - ('權', 0.014), - ('強', 0.014), - ('帥', 0.014), - ('屠', 0.014), - ('豆', 0.014), - ('樸', 0.014), - ('蓋', 0.014), - ('練', 0.014), - ('廉', 0.014), - ('禹', 0.014), - ('井', 0.013), - ('祖', 0.013), - ('漆', 0.013), - ('巴', 0.013), - ('豐', 0.013), - ('支', 0.013), - ('卿', 0.013), - ('國', 0.013), - ('狄', 0.013), - ('平', 0.013), - ('計', 0.012), - ('索', 0.012), - ('宣', 0.012), - ('晉', 0.012), - ('相', 0.012), - ('初', 0.012), - ('門', 0.012), - ('雲', 0.012), - ('容', 0.012), - ('敬', 0.011), - ('來', 0.011), - ('扈', 0.011), - ('晁', 0.011), - ('芮', 0.011), - ('都', 0.011), - ('普', 0.011), - ('闕', 0.011), - ('浦', 0.011), - ('戈', 0.011), - ('伏', 0.011), - ('鹿', 0.011), - ('薄', 0.011), - ('邸', 0.011), - ('雍', 0.010), - ('辜', 0.010), - ('羊', 0.010), - ('阿', 0.010), - ('烏', 0.010), - ('母', 0.010), - ('裘', 0.010), - ('亓', 0.010), - ('修', 0.010), - ('邰', 0.010), - ('赫', 0.010), - ('杭', 0.010), - ('況', 0.0094), - ('那', 0.0093), - ('宿', 0.0093), - ('鮮', 0.0092), - ('印', 0.0091), - ('逯', 0.0091), - ('隆', 0.0090), - ('茹', 0.0090), - ('諸', 0.0089), - ('戰', 0.0088), - ('慕', 0.0086), - ('危', 0.0084), - ('玉', 0.0084), - ('銀', 0.0084), - ('亢', 0.0083), - ('嵇', 0.0082), - ('公', 0.0082), - ('哈', 0.0081), - ('湛', 0.0079), - ('賓', 0.0077), - ('戎', 0.0076), - ('勾', 0.0076), - ('茅', 0.0076), - ('利', 0.0076), - ('於', 0.0074), - ('呼', 0.0074), - ('居', 0.0074), - ('揭', 0.0073), - ('幹', 0.0072), - ('但', 0.0072), - ('尉', 0.0071), - ('冶', 0.0071), - ('斯', 0.0070), - ('元', 0.0069), - ('束', 0.0068), - ('檀', 0.0068), - ('衣', 0.0067), - ('信', 0.0067), - ('展', 0.0067), - ('陰', 0.0067), - ('昝', 0.0066), - ('智', 0.0065), - ('幸', 0.0065), - ('奉', 0.0064), - ('植', 0.0064), - ('衡', 0.0063), - ('富', 0.0063), - ('堯', 0.0060), - ('閉', 0.0060), - ('由', 0.0060), - )) - - romanized_formats = ( - '{{first_romanized_name}} {{last_romanized_name}}', + last_names = OrderedDict( + ( + ("王", 7.170), + ("李", 7.000), + ("張", 6.740), + ("劉", 5.100), + ("陳", 4.610), + ("楊", 3.220), + ("黃", 2.450), + ("吳", 2.000), + ("趙", 2.000), + ("周", 1.900), + ("徐", 1.450), + ("孫", 1.380), + ("馬", 1.290), + ("朱", 1.280), + ("胡", 1.160), + ("林", 1.130), + ("郭", 1.130), + ("何", 1.060), + ("高", 1.000), + ("羅", 0.950), + ("鄭", 0.930), + ("梁", 0.850), + ("謝", 0.760), + ("宋", 0.700), + ("唐", 0.690), + ("許", 0.660), + ("鄧", 0.620), + ("馮", 0.620), + ("韓", 0.610), + ("曹", 0.600), + ("曾", 0.580), + ("彭", 0.580), + ("蕭", 0.560), + ("蔡", 0.530), + ("潘", 0.520), + ("田", 0.520), + ("董", 0.510), + ("袁", 0.500), + ("於", 0.480), + ("余", 0.480), + ("葉", 0.480), + ("蔣", 0.480), + ("杜", 0.470), + ("蘇", 0.460), + ("魏", 0.450), + ("程", 0.450), + ("呂", 0.450), + ("丁", 0.430), + ("沈", 0.410), + ("任", 0.410), + ("姚", 0.400), + ("盧", 0.400), + ("傅", 0.400), + ("鐘", 0.400), + ("姜", 0.390), + ("崔", 0.380), + ("譚", 0.380), + ("廖", 0.370), + ("範", 0.360), + ("汪", 0.360), + ("陸", 0.360), + ("金", 0.350), + ("石", 0.340), + ("戴", 0.340), + ("賈", 0.330), + ("韋", 0.320), + ("夏", 0.320), + ("邱", 0.320), + ("方", 0.310), + ("侯", 0.300), + ("鄒", 0.300), + ("熊", 0.290), + ("孟", 0.290), + ("秦", 0.290), + ("白", 0.280), + ("江", 0.280), + ("閻", 0.270), + ("薛", 0.260), + ("尹", 0.260), + ("段", 0.240), + ("雷", 0.240), + ("黎", 0.220), + ("史", 0.210), + ("龍", 0.210), + ("陶", 0.210), + ("賀", 0.210), + ("顧", 0.200), + ("毛", 0.200), + ("郝", 0.200), + ("龔", 0.200), + ("邵", 0.200), + ("萬", 0.190), + ("錢", 0.190), + ("嚴", 0.190), + ("賴", 0.180), + ("覃", 0.180), + ("洪", 0.180), + ("武", 0.180), + ("莫", 0.180), + ("孔", 0.170), + ("湯", 0.170), + ("向", 0.170), + ("常", 0.160), + ("溫", 0.160), + ("康", 0.160), + ("施", 0.150), + ("文", 0.150), + ("牛", 0.150), + ("樊", 0.150), + ("葛", 0.150), + ("邢", 0.140), + ("安", 0.130), + ("齊", 0.130), + ("易", 0.130), + ("喬", 0.130), + ("伍", 0.130), + ("龐", 0.130), + ("顏", 0.120), + ("倪", 0.120), + ("莊", 0.120), + ("聶", 0.120), + ("章", 0.120), + ("魯", 0.110), + ("嶽", 0.110), + ("翟", 0.110), + ("殷", 0.110), + ("詹", 0.110), + ("申", 0.110), + ("歐", 0.110), + ("耿", 0.110), + ("關", 0.100), + ("蘭", 0.100), + ("焦", 0.100), + ("俞", 0.100), + ("左", 0.100), + ("柳", 0.100), + ("甘", 0.095), + ("祝", 0.090), + ("包", 0.087), + ("寧", 0.083), + ("尚", 0.082), + ("符", 0.082), + ("舒", 0.082), + ("阮", 0.082), + ("柯", 0.080), + ("紀", 0.080), + ("梅", 0.079), + ("童", 0.079), + ("淩", 0.078), + ("畢", 0.078), + ("單", 0.076), + ("季", 0.076), + ("裴", 0.076), + ("霍", 0.075), + ("塗", 0.075), + ("成", 0.075), + ("苗", 0.075), + ("谷", 0.075), + ("盛", 0.074), + ("曲", 0.074), + ("翁", 0.073), + ("冉", 0.073), + ("駱", 0.073), + ("藍", 0.072), + ("路", 0.072), + ("遊", 0.071), + ("辛", 0.070), + ("靳", 0.069), + ("歐陽", 0.068), + ("管", 0.065), + ("柴", 0.065), + ("蒙", 0.062), + ("鮑", 0.062), + ("華", 0.061), + ("喻", 0.061), + ("祁", 0.061), + ("蒲", 0.056), + ("房", 0.056), + ("滕", 0.055), + ("屈", 0.055), + ("饒", 0.055), + ("解", 0.053), + ("牟", 0.053), + ("艾", 0.052), + ("尤", 0.052), + ("陽", 0.050), + ("時", 0.050), + ("穆", 0.048), + ("農", 0.047), + ("司", 0.044), + ("卓", 0.043), + ("古", 0.043), + ("吉", 0.043), + ("繆", 0.043), + ("簡", 0.043), + ("車", 0.043), + ("項", 0.043), + ("連", 0.043), + ("蘆", 0.042), + ("麥", 0.041), + ("褚", 0.041), + ("婁", 0.040), + ("竇", 0.040), + ("戚", 0.040), + ("岑", 0.039), + ("景", 0.039), + ("黨", 0.039), + ("宮", 0.039), + ("費", 0.039), + ("蔔", 0.038), + ("冷", 0.038), + ("晏", 0.038), + ("席", 0.036), + ("衛", 0.036), + ("米", 0.035), + ("柏", 0.035), + ("宗", 0.034), + ("瞿", 0.033), + ("桂", 0.033), + ("全", 0.033), + ("佟", 0.033), + ("應", 0.033), + ("臧", 0.032), + ("閔", 0.032), + ("茍", 0.032), + ("鄔", 0.032), + ("邊", 0.032), + ("卞", 0.032), + ("姬", 0.032), + ("師", 0.031), + ("和", 0.031), + ("仇", 0.030), + ("欒", 0.030), + ("隋", 0.030), + ("商", 0.030), + ("刁", 0.030), + ("沙", 0.030), + ("榮", 0.029), + ("巫", 0.029), + ("寇", 0.029), + ("桑", 0.028), + ("郎", 0.028), + ("甄", 0.027), + ("叢", 0.027), + ("仲", 0.027), + ("虞", 0.026), + ("敖", 0.026), + ("鞏", 0.026), + ("明", 0.026), + ("佘", 0.025), + ("池", 0.025), + ("查", 0.025), + ("麻", 0.025), + ("苑", 0.025), + ("遲", 0.024), + ("鄺", 0.024), + ("官", 0.023), + ("封", 0.023), + ("談", 0.023), + ("匡", 0.023), + ("鞠", 0.230), + ("惠", 0.022), + ("荊", 0.022), + ("樂", 0.022), + ("冀", 0.021), + ("郁", 0.021), + ("胥", 0.021), + ("南", 0.021), + ("班", 0.021), + ("儲", 0.021), + ("原", 0.020), + ("栗", 0.020), + ("燕", 0.020), + ("楚", 0.020), + ("鄢", 0.020), + ("勞", 0.019), + ("諶", 0.019), + ("奚", 0.017), + ("皮", 0.017), + ("粟", 0.017), + ("冼", 0.017), + ("藺", 0.017), + ("樓", 0.017), + ("盤", 0.017), + ("滿", 0.016), + ("聞", 0.016), + ("位", 0.016), + ("厲", 0.016), + ("伊", 0.016), + ("仝", 0.015), + ("區", 0.015), + ("郜", 0.015), + ("海", 0.015), + ("闞", 0.015), + ("花", 0.015), + ("權", 0.014), + ("強", 0.014), + ("帥", 0.014), + ("屠", 0.014), + ("豆", 0.014), + ("樸", 0.014), + ("蓋", 0.014), + ("練", 0.014), + ("廉", 0.014), + ("禹", 0.014), + ("井", 0.013), + ("祖", 0.013), + ("漆", 0.013), + ("巴", 0.013), + ("豐", 0.013), + ("支", 0.013), + ("卿", 0.013), + ("國", 0.013), + ("狄", 0.013), + ("平", 0.013), + ("計", 0.012), + ("索", 0.012), + ("宣", 0.012), + ("晉", 0.012), + ("相", 0.012), + ("初", 0.012), + ("門", 0.012), + ("雲", 0.012), + ("容", 0.012), + ("敬", 0.011), + ("來", 0.011), + ("扈", 0.011), + ("晁", 0.011), + ("芮", 0.011), + ("都", 0.011), + ("普", 0.011), + ("闕", 0.011), + ("浦", 0.011), + ("戈", 0.011), + ("伏", 0.011), + ("鹿", 0.011), + ("薄", 0.011), + ("邸", 0.011), + ("雍", 0.010), + ("辜", 0.010), + ("羊", 0.010), + ("阿", 0.010), + ("烏", 0.010), + ("母", 0.010), + ("裘", 0.010), + ("亓", 0.010), + ("修", 0.010), + ("邰", 0.010), + ("赫", 0.010), + ("杭", 0.010), + ("況", 0.0094), + ("那", 0.0093), + ("宿", 0.0093), + ("鮮", 0.0092), + ("印", 0.0091), + ("逯", 0.0091), + ("隆", 0.0090), + ("茹", 0.0090), + ("諸", 0.0089), + ("戰", 0.0088), + ("慕", 0.0086), + ("危", 0.0084), + ("玉", 0.0084), + ("銀", 0.0084), + ("亢", 0.0083), + ("嵇", 0.0082), + ("公", 0.0082), + ("哈", 0.0081), + ("湛", 0.0079), + ("賓", 0.0077), + ("戎", 0.0076), + ("勾", 0.0076), + ("茅", 0.0076), + ("利", 0.0076), + ("於", 0.0074), + ("呼", 0.0074), + ("居", 0.0074), + ("揭", 0.0073), + ("幹", 0.0072), + ("但", 0.0072), + ("尉", 0.0071), + ("冶", 0.0071), + ("斯", 0.0070), + ("元", 0.0069), + ("束", 0.0068), + ("檀", 0.0068), + ("衣", 0.0067), + ("信", 0.0067), + ("展", 0.0067), + ("陰", 0.0067), + ("昝", 0.0066), + ("智", 0.0065), + ("幸", 0.0065), + ("奉", 0.0064), + ("植", 0.0064), + ("衡", 0.0063), + ("富", 0.0063), + ("堯", 0.0060), + ("閉", 0.0060), + ("由", 0.0060), + ) ) + romanized_formats = ("{{first_romanized_name}} {{last_romanized_name}}",) + # From https://en.wikipedia.org/wiki/Chinese_given_name#Common_Chinese_names, # with accents stripped first_romanized_names = ( - 'Chao', - 'Fang', - 'Gang', - 'Guiying', - 'Jie', - 'Jing', - 'Juan', - 'Jun', - 'Lei', - 'Li', - 'Min', - 'Ming', - 'Na', - 'Ping', - 'Qiang', - 'Tao', - 'Wei', - 'Xia', - 'Xiulan', - 'Xiuying', - 'Yang', - 'Yong', - 'Yan', + "Chao", + "Fang", + "Gang", + "Guiying", + "Jie", + "Jing", + "Juan", + "Jun", + "Lei", + "Li", + "Min", + "Ming", + "Na", + "Ping", + "Qiang", + "Tao", + "Wei", + "Xia", + "Xiulan", + "Xiuying", + "Yang", + "Yong", + "Yan", ) # From https://en.wikipedia.org/wiki/List_of_common_Chinese_surnames # with accents stripped last_romanized_names = ( - 'Bai', 'Cai', 'Cao', 'Chang', 'Chen', 'Cheng', 'Cui', 'Dai', 'Deng', - 'Ding', 'Dong', 'Du', 'Duan', 'Fan', 'Fang', 'Feng', 'Fu', 'Gao', 'Gong', - 'Gu', 'Guo', 'Han', 'Hao', 'He', 'Hou', 'Hu', 'Huang', 'Jia', 'Jiang', - 'Jin', 'Kang', 'Kong', 'Lai', 'Lei', 'Li', 'Liang', 'Liao', 'Lin', 'Liu', - 'Long', 'Lu', 'Luo', 'Ma', 'Mao', 'Meng', 'Mo', 'Pan', 'Peng', 'Qian', - 'Qiao', 'Qin', 'Qiu', 'Ren', 'Shao', 'Shen', 'Shi', 'Song', 'Su', 'Sun', - 'Tan', 'Tang', 'Tao', 'Tian', 'Wan', 'Wang', 'Wei', 'Wen', 'Wu', 'Xia', - 'Xiang', 'Xiao', 'Xie', 'Xiong', 'Xu', 'Xue', 'Yan', 'Yang', 'Yao', 'Ye', - 'Yi', 'Yin', 'Yu', 'Yuan', 'Zeng', 'Zhang', 'Zhao', 'Zheng', 'Zhong', - 'Zhou', 'Zhu', 'Zou', + "Bai", + "Cai", + "Cao", + "Chang", + "Chen", + "Cheng", + "Cui", + "Dai", + "Deng", + "Ding", + "Dong", + "Du", + "Duan", + "Fan", + "Fang", + "Feng", + "Fu", + "Gao", + "Gong", + "Gu", + "Guo", + "Han", + "Hao", + "He", + "Hou", + "Hu", + "Huang", + "Jia", + "Jiang", + "Jin", + "Kang", + "Kong", + "Lai", + "Lei", + "Li", + "Liang", + "Liao", + "Lin", + "Liu", + "Long", + "Lu", + "Luo", + "Ma", + "Mao", + "Meng", + "Mo", + "Pan", + "Peng", + "Qian", + "Qiao", + "Qin", + "Qiu", + "Ren", + "Shao", + "Shen", + "Shi", + "Song", + "Su", + "Sun", + "Tan", + "Tang", + "Tao", + "Tian", + "Wan", + "Wang", + "Wei", + "Wen", + "Wu", + "Xia", + "Xiang", + "Xiao", + "Xie", + "Xiong", + "Xu", + "Xue", + "Yan", + "Yang", + "Yao", + "Ye", + "Yi", + "Yin", + "Yu", + "Yuan", + "Zeng", + "Zhang", + "Zhao", + "Zheng", + "Zhong", + "Zhou", + "Zhu", + "Zou", ) - def romanized_name(self): - ''' + def romanized_name(self) -> str: + """ @example 'Chao Bai' - ''' - pattern = self.random_element(self.romanized_formats) + """ + pattern: str = self.random_element(self.romanized_formats) return self.generator.parse(pattern) - def first_romanized_name(self): - ''' + def first_romanized_name(self) -> str: + """ @example 'Chao' - ''' + """ return self.random_element(self.first_romanized_names) - def last_romanized_name(self): - ''' + def last_romanized_name(self) -> str: + """ @example 'Chao' - ''' + """ return self.random_element(self.last_romanized_names) diff --git a/faker/providers/phone_number/__init__.py b/faker/providers/phone_number/__init__.py index 6e812435bc..5eff83ec80 100644 --- a/faker/providers/phone_number/__init__.py +++ b/faker/providers/phone_number/__init__.py @@ -1,4 +1,4 @@ -from .. import BaseProvider +from .. import BaseProvider, ElementsType # Data source # @@ -13,59 +13,320 @@ class Provider(BaseProvider): - country_calling_codes = ( - '+93', '+358 18', '+355', '+213', '+1 684', '+376', '+244', '+1 264', - '+1 268', '+54', '+374', '+297', '+247', '+61', '+672 1', '+672', '+43', - '+994', '+1 242', '+973', '+880', '+1 246', '+1 268', '+375', '+32', - '+501', '+229', '+1 441', '+975', '+591', '+599 7', '+387', '+267', - '+55', '+246', '+1 284', '+673', '+359', '+226', '+257', '+855', '+237', - '+1', '+238', '+599 3', '+599 4', '+599 7', '+1 345', '+236', '+235', - '+64', '+56', '+86', '+61 89164', '+61 89162', '+57', '+269', '+242', - '+243', '+682', '+506', '+385', '+53', '+599 9', '+357', '+420', - '+45', '+246', '+253', '+1 767', '+1 809', '+1 829', '+1 849', '+670', - '+56', '+593', '+20', '+503', '+881 2', '+881 3', '+882 13', '+240', - '+291', '+372', '+268', '+251', '+500', '+298', '+679', '+358', - '+33', '+596', '+594', '+689', '+241', '+220', '+995', '+49', - '+233', '+350', '+881', '+881 8', '+881 9', '+30', '+299', '+1 473', - '+590', '+1 671', '+502', '+44 1481', '+44 7781', '+44 7839', '+44 7911', '+224', - '+245', '+592', '+509', '+504', '+852', '+36', '+354', '+881 0', - '+881 1', '+91', '+62', '+870', '+800', '+882', '+883', '+979', - '+808', '+98', '+964', '+353', '+881 6', '+881 7', '+44 1624', '+44 7524', - '+44 7624', '+44 7924', '+972', '+39', '+225', '+1 876', '+47 79', '+81', - '+44 1534', '+962', '+7 6', '+7 7', '+254', '+686', '+850', '+82', - '+383', '+965', '+996', '+856', '+371', '+961', '+266', '+231', - '+218', '+423', '+370', '+352', '+853', '+261', '+265', '+60', - '+960', '+223', '+356', '+692', '+596', '+222', '+230', '+262 269', - '+262 639', '+52', '+691', '+1 808', '+373', '+377', '+976', '+382', - '+1 664', '+212', '+258', '+95', '+374 47', '+374 97', '+264', '+674', - '+977', '+31', '+1 869', '+687', '+64', '+505', '+227', '+234', - '+683', '+672 3', '+389', '+90 392', '+44 28', '+1 670', '+47', '+968', - '+92', '+680', '+970', '+507', '+675', '+595', '+51', '+63', - '+64', '+48', '+351', '+1 787', '+1 939', '+974', '+262', '+40', - '+7', '+250', '+599 4', '+590', '+290', '+1 869', '+1 758', '+590', - '+508', '+1 784', '+685', '+378', '+239', '+966', '+221', '+381', - '+248', '+232', '+65', '+599 3', '+1 721', '+421', '+386', '+677', - '+252', '+27', '+500', '+995 34', '+211', '+34', '+94', '+249', - '+597', '+47 79', '+46', '+41', '+963', '+886', '+992', '+255', - '+888', '+66', '+882 16', '+228', '+690', '+676', '+373 2', '+373 5', - '+1 868', '+290 8', '+216', '+90', '+993', '+1 649', '+688', '+256', - '+380', '+971', '+44', '+1', '+878', '+598', '+1 340', '+998', - '+678', '+39 06 698', '+379', '+58', '+84', '+1 808', '+681', '+967', - '+260', '+255 24', '+263', + country_calling_codes: ElementsType = ( + "+93", + "+358 18", + "+355", + "+213", + "+1 684", + "+376", + "+244", + "+1 264", + "+1 268", + "+54", + "+374", + "+297", + "+247", + "+61", + "+672 1", + "+672", + "+43", + "+994", + "+1 242", + "+973", + "+880", + "+1 246", + "+1 268", + "+375", + "+32", + "+501", + "+229", + "+1 441", + "+975", + "+591", + "+599 7", + "+387", + "+267", + "+55", + "+246", + "+1 284", + "+673", + "+359", + "+226", + "+257", + "+855", + "+237", + "+1", + "+238", + "+599 3", + "+599 4", + "+599 7", + "+1 345", + "+236", + "+235", + "+64", + "+56", + "+86", + "+61 89164", + "+61 89162", + "+57", + "+269", + "+242", + "+243", + "+682", + "+506", + "+385", + "+53", + "+599 9", + "+357", + "+420", + "+45", + "+246", + "+253", + "+1 767", + "+1 809", + "+1 829", + "+1 849", + "+670", + "+56", + "+593", + "+20", + "+503", + "+881 2", + "+881 3", + "+882 13", + "+240", + "+291", + "+372", + "+268", + "+251", + "+500", + "+298", + "+679", + "+358", + "+33", + "+596", + "+594", + "+689", + "+241", + "+220", + "+995", + "+49", + "+233", + "+350", + "+881", + "+881 8", + "+881 9", + "+30", + "+299", + "+1 473", + "+590", + "+1 671", + "+502", + "+44 1481", + "+44 7781", + "+44 7839", + "+44 7911", + "+224", + "+245", + "+592", + "+509", + "+504", + "+852", + "+36", + "+354", + "+881 0", + "+881 1", + "+91", + "+62", + "+870", + "+800", + "+882", + "+883", + "+979", + "+808", + "+98", + "+964", + "+353", + "+881 6", + "+881 7", + "+44 1624", + "+44 7524", + "+44 7624", + "+44 7924", + "+972", + "+39", + "+225", + "+1 876", + "+47 79", + "+81", + "+44 1534", + "+962", + "+7 6", + "+7 7", + "+254", + "+686", + "+850", + "+82", + "+383", + "+965", + "+996", + "+856", + "+371", + "+961", + "+266", + "+231", + "+218", + "+423", + "+370", + "+352", + "+853", + "+261", + "+265", + "+60", + "+960", + "+223", + "+356", + "+692", + "+596", + "+222", + "+230", + "+262 269", + "+262 639", + "+52", + "+691", + "+1 808", + "+373", + "+377", + "+976", + "+382", + "+1 664", + "+212", + "+258", + "+95", + "+374 47", + "+374 97", + "+264", + "+674", + "+977", + "+31", + "+1 869", + "+687", + "+64", + "+505", + "+227", + "+234", + "+683", + "+672 3", + "+389", + "+90 392", + "+44 28", + "+1 670", + "+47", + "+968", + "+92", + "+680", + "+970", + "+507", + "+675", + "+595", + "+51", + "+63", + "+64", + "+48", + "+351", + "+1 787", + "+1 939", + "+974", + "+262", + "+40", + "+7", + "+250", + "+599 4", + "+590", + "+290", + "+1 869", + "+1 758", + "+590", + "+508", + "+1 784", + "+685", + "+378", + "+239", + "+966", + "+221", + "+381", + "+248", + "+232", + "+65", + "+599 3", + "+1 721", + "+421", + "+386", + "+677", + "+252", + "+27", + "+500", + "+995 34", + "+211", + "+34", + "+94", + "+249", + "+597", + "+47 79", + "+46", + "+41", + "+963", + "+886", + "+992", + "+255", + "+888", + "+66", + "+882 16", + "+228", + "+690", + "+676", + "+373 2", + "+373 5", + "+1 868", + "+290 8", + "+216", + "+90", + "+993", + "+1 649", + "+688", + "+256", + "+380", + "+971", + "+44", + "+1", + "+878", + "+598", + "+1 340", + "+998", + "+678", + "+39 06 698", + "+379", + "+58", + "+84", + "+1 808", + "+681", + "+967", + "+260", + "+255 24", + "+263", ) - formats = ('###-###-###',) + formats: ElementsType = ("###-###-###",) - msisdn_formats = ( - '#############', - ) + msisdn_formats: ElementsType = ("#############",) - def phone_number(self): + def phone_number(self) -> str: return self.numerify(self.random_element(self.formats)) - def country_calling_code(self): + def country_calling_code(self) -> str: return self.random_element(self.country_calling_codes) - def msisdn(self): - """ https://en.wikipedia.org/wiki/MSISDN """ + def msisdn(self) -> str: + """https://en.wikipedia.org/wiki/MSISDN""" return self.numerify(self.random_element(self.msisdn_formats)) diff --git a/faker/providers/phone_number/ar_AE/__init__.py b/faker/providers/phone_number/ar_AE/__init__.py new file mode 100644 index 0000000000..6c85049a14 --- /dev/null +++ b/faker/providers/phone_number/ar_AE/__init__.py @@ -0,0 +1,94 @@ +from .. import Provider as PhoneNumberProvider + + +class Provider(PhoneNumberProvider): + # Source: https://en.wikipedia.org/wiki/Telephone_numbers_in_the_United_Arab_Emirates + + cellphone_formats = ( + "{{area_code}} {{cellphone_provider_code}} ### ####", + "{{area_code}}{{cellphone_provider_code}}#######", + "0{{cellphone_provider_code}} ### ####", + "0{{cellphone_provider_code}}#######", + ) + + telephone_formats = ( + "{{area_code}} {{telephone_provider_code}} ### ####", + "{{area_code}}{{telephone_provider_code}}#######", + "0{{telephone_provider_code}} ### ####", + "0{{telephone_provider_code}}#######", + ) + + toll_formats = ( + "200####", + "600######", + "800###", + "800####", + "800#####", + "800######", + "800#######", + ) + + services_phones_formats = ( + "999", + "901", + "998", + "997", + "996", + "991", + "922", + ) + + formats = cellphone_formats + telephone_formats + services_phones_formats + toll_formats + + def cellphone_provider_code(self) -> str: + return self.random_element( + [ + "50", + "52", + "54", + "55", + "56", + "58", + ] + ) + + def telephone_provider_code(self) -> str: + return self.random_element( + [ + "1", + "2", + "3", + "4", + "6", + "7", + "9", + ] + ) + + def area_code(self) -> str: + return self.random_element( + [ + "00971", + "+971", + ] + ) + + def cellphone_number(self) -> str: + pattern: str = self.random_element(self.cellphone_formats) + return self.numerify(self.generator.parse(pattern)) + + def telephone_number(self) -> str: + pattern: str = self.random_element(self.telephone_formats) + return self.numerify(self.generator.parse(pattern)) + + def service_phone_number(self) -> str: + pattern: str = self.random_element(self.services_phones_formats) + return self.numerify(self.generator.parse(pattern)) + + def toll_number(self) -> str: + pattern: str = self.random_element(self.toll_formats) + return self.numerify(self.generator.parse(pattern)) + + def phone_number(self) -> str: + pattern: str = self.random_element(self.formats) + return self.numerify(self.generator.parse(pattern)) diff --git a/faker/providers/phone_number/ar_JO/__init__.py b/faker/providers/phone_number/ar_JO/__init__.py index 095e624f52..90b8647a18 100644 --- a/faker/providers/phone_number/ar_JO/__init__.py +++ b/faker/providers/phone_number/ar_JO/__init__.py @@ -5,59 +5,61 @@ class Provider(PhoneNumberProvider): # Source: https://en.wikipedia.org/wiki/Telephone_numbers_in_Jordan cellphone_formats = ( - '+9627{{operator_id}}#######', - '+962 7 {{operator_id}}### ####', - '07{{operator_id}}#######', - '07{{operator_id}} ### ####', + "+9627{{operator_id}}#######", + "+962 7 {{operator_id}}### ####", + "07{{operator_id}}#######", + "07{{operator_id}} ### ####", ) telephone_formats = ( - '+962{{area_code}}#######', - '+962 {{area_code}} ### ####', - '0{{area_code}}#######', - '0{{area_code}} ### ####', + "+962{{area_code}}#######", + "+962 {{area_code}} ### ####", + "0{{area_code}}#######", + "0{{area_code}} ### ####", ) services_phones_formats = ( - '9##', - '12##', - '13##', - '14##', + "9##", + "12##", + "13##", + "14##", ) - formats = cellphone_formats + \ - telephone_formats + \ - services_phones_formats - - def operator_id(self): - return self.random_element([ - '4', - '7', - '8', - '9', - ]) - - def area_code(self): - return self.random_element([ - '2', - '3', - '5', - '6', - '7', - ]) - - def cellphone_number(self): - pattern = self.random_element(self.cellphone_formats) + formats = cellphone_formats + telephone_formats + services_phones_formats + + def operator_id(self) -> str: + return self.random_element( + [ + "4", + "7", + "8", + "9", + ] + ) + + def area_code(self) -> str: + return self.random_element( + [ + "2", + "3", + "5", + "6", + "7", + ] + ) + + def cellphone_number(self) -> str: + pattern: str = self.random_element(self.cellphone_formats) return self.numerify(self.generator.parse(pattern)) - def telephone_number(self): - pattern = self.random_element(self.telephone_formats) + def telephone_number(self) -> str: + pattern: str = self.random_element(self.telephone_formats) return self.numerify(self.generator.parse(pattern)) - def service_phone_number(self): - pattern = self.random_element(self.services_phones_formats) + def service_phone_number(self) -> str: + pattern: str = self.random_element(self.services_phones_formats) return self.numerify(self.generator.parse(pattern)) - def phone_number(self): - pattern = self.random_element(self.formats) + def phone_number(self) -> str: + pattern: str = self.random_element(self.formats) return self.numerify(self.generator.parse(pattern)) diff --git a/faker/providers/phone_number/ar_PS/__init__.py b/faker/providers/phone_number/ar_PS/__init__.py index 0bbf52d68e..afc74f5781 100644 --- a/faker/providers/phone_number/ar_PS/__init__.py +++ b/faker/providers/phone_number/ar_PS/__init__.py @@ -6,138 +6,124 @@ class Provider(PhoneNumberProvider): # https://en.wikipedia.org/wiki/Telephone_numbers_in_the_State_of_Palestine cellphone_formats = ( - '{{area_code}} {{provider_code}} ### ####', - '{{area_code}}{{provider_code}}#######', - '0{{provider_code}} ### ####', - '0{{provider_code}}#######', + "{{area_code}} {{provider_code}} ### ####", + "{{area_code}}{{provider_code}}#######", + "0{{provider_code}} ### ####", + "0{{provider_code}}#######", ) telephone_formats = ( - '{{area_code}} 4 24# ####', - '{{area_code}}424#####', - '04 24# ####', - '0424#####', - - '{{area_code}} 9 25# ####', - '{{area_code}}925#####', - '09 25# ####', - '0925#####', - - '{{area_code}} 4 26# ####', - '{{area_code}}426#####', - '04 26# ####', - '0426#####', - - '{{area_code}} 4 23# ####', - '{{area_code}}423#####', - '04 23# ####', - '0423#####', - - '{{area_code}} 4 29# ####', - '{{area_code}}429#####', - '04 29# ####', - '0429#####', - - '{{area_code}} 2 29# ####', - '{{area_code}}229#####', - '02 29# ####', - '0229#####', - - '{{area_code}} 2 23# ####', - '{{area_code}}223#####', - '02 23# ####', - '0223#####', - - '{{area_code}} 2 22# ####', - '{{area_code}}222#####', - '02 22# ####', - '0222#####', - - '{{area_code}} 2 27# ####', - '{{area_code}}227#####', - '02 27# ####', - '0227#####', - - '{{area_code}} 8 20# ####', - '{{area_code}}820#####', - '08 20# ####', - '0820#####', - - '{{area_code}} 8 21# ####', - '{{area_code}}821#####', - '08 21# ####', - '0821#####', - - '{{area_code}} 8 24# ####', - '{{area_code}}824#####', - '08 24# ####', - '0824#####', - - '{{area_code}} 8 25# ####', - '{{area_code}}825#####', - '08 25# ####', - '0825#####', - - '{{area_code}} 8 26# ####', - '{{area_code}}826#####', - '08 26# ####', - '0826#####', - - '{{area_code}} 8 28# ####', - '{{area_code}}828#####', - '08 28# ####', - '0828#####', - + "{{area_code}} 4 24# ####", + "{{area_code}}424#####", + "04 24# ####", + "0424#####", + "{{area_code}} 9 25# ####", + "{{area_code}}925#####", + "09 25# ####", + "0925#####", + "{{area_code}} 4 26# ####", + "{{area_code}}426#####", + "04 26# ####", + "0426#####", + "{{area_code}} 4 23# ####", + "{{area_code}}423#####", + "04 23# ####", + "0423#####", + "{{area_code}} 4 29# ####", + "{{area_code}}429#####", + "04 29# ####", + "0429#####", + "{{area_code}} 2 29# ####", + "{{area_code}}229#####", + "02 29# ####", + "0229#####", + "{{area_code}} 2 23# ####", + "{{area_code}}223#####", + "02 23# ####", + "0223#####", + "{{area_code}} 2 22# ####", + "{{area_code}}222#####", + "02 22# ####", + "0222#####", + "{{area_code}} 2 27# ####", + "{{area_code}}227#####", + "02 27# ####", + "0227#####", + "{{area_code}} 8 20# ####", + "{{area_code}}820#####", + "08 20# ####", + "0820#####", + "{{area_code}} 8 21# ####", + "{{area_code}}821#####", + "08 21# ####", + "0821#####", + "{{area_code}} 8 24# ####", + "{{area_code}}824#####", + "08 24# ####", + "0824#####", + "{{area_code}} 8 25# ####", + "{{area_code}}825#####", + "08 25# ####", + "0825#####", + "{{area_code}} 8 26# ####", + "{{area_code}}826#####", + "08 26# ####", + "0826#####", + "{{area_code}} 8 28# ####", + "{{area_code}}828#####", + "08 28# ####", + "0828#####", ) - toll_foramts = ( - '1 700 ### ###', - '1-700-###-###', - '1 800 ### ###', - '1-800-###-###', + toll_formats = ( + "1 700 ### ###", + "1-700-###-###", + "1 800 ### ###", + "1-800-###-###", ) services_phones_formats = ( - '100', - '101', - '102', + "100", + "101", + "102", ) - formats = cellphone_formats + \ - telephone_formats + \ - services_phones_formats + \ - toll_foramts - - def provider_code(self): - return self.random_element([ - '59', - '56', - ]) - - def area_code(self): - return self.random_element([ - '00972', - '+972', - '00970', - '+970', - ]) - - def cellphone_number(self): - pattern = self.random_element(self.cellphone_formats) + formats = cellphone_formats + telephone_formats + services_phones_formats + toll_formats + + def provider_code(self) -> str: + return self.random_element( + [ + "59", + "56", + ] + ) + + def area_code(self) -> str: + return self.random_element( + [ + "00972", + "+972", + "00970", + "+970", + ] + ) + + def cellphone_number(self) -> str: + pattern: str = self.random_element(self.cellphone_formats) return self.numerify(self.generator.parse(pattern)) - def telephone_number(self): - pattern = self.random_element(self.telephone_formats) + def telephone_number(self) -> str: + pattern: str = self.random_element(self.telephone_formats) return self.numerify(self.generator.parse(pattern)) - def service_phone_number(self): - pattern = self.random_element(self.services_phones_formats) + def service_phone_number(self) -> str: + pattern: str = self.random_element(self.services_phones_formats) return self.numerify(self.generator.parse(pattern)) - def toll_number(self): - pattern = self.random_element(self.toll_foramts) + def toll_number(self) -> str: + pattern: str = self.random_element(self.toll_formats) return self.numerify(self.generator.parse(pattern)) - def phone_number(self): - pattern = self.random_element(self.formats) + def phone_number(self) -> str: + pattern: str = self.random_element(self.formats) return self.numerify(self.generator.parse(pattern)) diff --git a/faker/providers/phone_number/bg_BG/__init__.py b/faker/providers/phone_number/bg_BG/__init__.py index 05f780929f..c90a4fef57 100755 --- a/faker/providers/phone_number/bg_BG/__init__.py +++ b/faker/providers/phone_number/bg_BG/__init__.py @@ -3,15 +3,15 @@ class Provider(PhoneNumberProvider): formats = ( - '+359(0)#########', - '+359(0)### ######', - '+359(0)### ### ###', - '+359#########', - '0#########', - '0### ######', - '0### ### ###', - '0### ###-###', - '(0###) ######', - '(0###) ### ###', - '(0###) ###-###', + "+359(0)#########", + "+359(0)### ######", + "+359(0)### ### ###", + "+359#########", + "0#########", + "0### ######", + "0### ### ###", + "0### ###-###", + "(0###) ######", + "(0###) ### ###", + "(0###) ###-###", ) diff --git a/faker/providers/phone_number/bs_BA/__init__.py b/faker/providers/phone_number/bs_BA/__init__.py index 646b68c284..8f96887525 100644 --- a/faker/providers/phone_number/bs_BA/__init__.py +++ b/faker/providers/phone_number/bs_BA/__init__.py @@ -3,37 +3,37 @@ class Provider(PhoneNumberProvider): formats = ( - '030 ### ###', - '031 ### ###', - '032 ### ###', - '033 ### ###', - '034 ### ###', - '035 ### ###', - '036 ### ###', - '037 ### ###', - '038 ### ###', - '039 ### ###', - '049 ### ###', - '050 ### ###', - '051 ### ###', - '052 ### ###', - '053 ### ###', - '054 ### ###', - '055 ### ###', - '056 ### ###', - '057 ### ###', - '058 ### ###', - '059 ### ###', - '060 ### ###', - '060 #### ###', - '061 ### ###', - '062 ### ###', - '063 ### ###', - '064 ### ###', - '065 ### ###', - '066 ### ###', - '067 ### ###', - '070 20# ###', - '+387 61 ### ###', - '+387 (0)61 ### ###', + "030 ### ###", + "031 ### ###", + "032 ### ###", + "033 ### ###", + "034 ### ###", + "035 ### ###", + "036 ### ###", + "037 ### ###", + "038 ### ###", + "039 ### ###", + "049 ### ###", + "050 ### ###", + "051 ### ###", + "052 ### ###", + "053 ### ###", + "054 ### ###", + "055 ### ###", + "056 ### ###", + "057 ### ###", + "058 ### ###", + "059 ### ###", + "060 ### ###", + "060 #### ###", + "061 ### ###", + "062 ### ###", + "063 ### ###", + "064 ### ###", + "065 ### ###", + "066 ### ###", + "067 ### ###", + "070 20# ###", + "+387 61 ### ###", + "+387 (0)61 ### ###", ) diff --git a/faker/providers/phone_number/cs_CZ/__init__.py b/faker/providers/phone_number/cs_CZ/__init__.py index dbbf6d57ac..ff5949c9fb 100644 --- a/faker/providers/phone_number/cs_CZ/__init__.py +++ b/faker/providers/phone_number/cs_CZ/__init__.py @@ -3,39 +3,39 @@ class Provider(PhoneNumberProvider): formats = ( - '601 ### ###', - '603 ### ###', - '608 ### ###', - '790 ### ###', - '602 ### ###', - '604 ### ###', - '770 ### ###', - '606 ### ###', - '605 ### ###', - '773 ### ###', - '607 ### ###', - '730 ### ###', - '774 ### ###', - '702 ### ###', - '731 ### ###', - '775 ### ###', - '720 ### ###', - '732 ### ###', - '776 ### ###', - '721 ### ###', - '733 ### ###', - '777 ### ###', - '722 ### ###', - '734 ### ###', - '723 ### ###', - '736 ### ###', - '724 ### ###', - '737 ### ###', - '725 ### ###', - '738 ### ###', - '726 ### ###', - '739 ### ###', - '727 ### ###', - '728 ### ###', - '729 ### ###', + "601 ### ###", + "603 ### ###", + "608 ### ###", + "790 ### ###", + "602 ### ###", + "604 ### ###", + "770 ### ###", + "606 ### ###", + "605 ### ###", + "773 ### ###", + "607 ### ###", + "730 ### ###", + "774 ### ###", + "702 ### ###", + "731 ### ###", + "775 ### ###", + "720 ### ###", + "732 ### ###", + "776 ### ###", + "721 ### ###", + "733 ### ###", + "777 ### ###", + "722 ### ###", + "734 ### ###", + "723 ### ###", + "736 ### ###", + "724 ### ###", + "737 ### ###", + "725 ### ###", + "738 ### ###", + "726 ### ###", + "739 ### ###", + "727 ### ###", + "728 ### ###", + "729 ### ###", ) diff --git a/faker/providers/phone_number/de_DE/__init__.py b/faker/providers/phone_number/de_DE/__init__.py index 056c121b31..f690d1092b 100644 --- a/faker/providers/phone_number/de_DE/__init__.py +++ b/faker/providers/phone_number/de_DE/__init__.py @@ -4,15 +4,15 @@ class Provider(PhoneNumberProvider): # https://de.wikipedia.org/wiki/Rufnummer#Schreibweisen formats = ( - '+49(0)##########', - '+49(0)#### ######', - '+49 (0) #### ######', - '+49(0) #########', - '+49(0)#### #####', - '0##########', - '0#########', - '0#### ######', - '0#### #####', - '(0####) ######', - '(0####) #####', + "+49(0)##########", + "+49(0)#### ######", + "+49 (0) #### ######", + "+49(0) #########", + "+49(0)#### #####", + "0##########", + "0#########", + "0#### ######", + "0#### #####", + "(0####) ######", + "(0####) #####", ) diff --git a/faker/providers/phone_number/dk_DK/__init__.py b/faker/providers/phone_number/dk_DK/__init__.py index c7fab65059..c30656b702 100644 --- a/faker/providers/phone_number/dk_DK/__init__.py +++ b/faker/providers/phone_number/dk_DK/__init__.py @@ -3,15 +3,15 @@ class Provider(PhoneNumberProvider): formats = ( - '+45(0)##########', - '+45(0)#### ######', - '+45 (0) #### ######', - '+45(0) #########', - '+45(0)#### #####', - '0##########', - '0#########', - '0#### ######', - '0#### #####', - '(0####) ######', - '(0####) #####', + "+45(0)##########", + "+45(0)#### ######", + "+45 (0) #### ######", + "+45(0) #########", + "+45(0)#### #####", + "0##########", + "0#########", + "0#### ######", + "0#### #####", + "(0####) ######", + "(0####) #####", ) diff --git a/faker/providers/phone_number/el_GR/__init__.py b/faker/providers/phone_number/el_GR/__init__.py index 03014e4dc9..1bb4d96c19 100644 --- a/faker/providers/phone_number/el_GR/__init__.py +++ b/faker/providers/phone_number/el_GR/__init__.py @@ -3,25 +3,21 @@ class Provider(PhoneNumberProvider): formats = ( - '69########', - '69## ######', - '69## ### ###', - - '210#######', - '210 #######', - '210 ### ####', - - '2##0######', - '2##0 ######', - '2##0 ### ###', - - '2###0#####', - '2###0 ## ###', - - '(+30) 69## ######', - '+30 69## ######', - '+3069########', - '(+30) 2### ######', - '+30 2### ######', - '+302#########', + "69########", + "69## ######", + "69## ### ###", + "210#######", + "210 #######", + "210 ### ####", + "2##0######", + "2##0 ######", + "2##0 ### ###", + "2###0#####", + "2###0 ## ###", + "(+30) 69## ######", + "+30 69## ######", + "+3069########", + "(+30) 2### ######", + "+30 2### ######", + "+302#########", ) diff --git a/faker/providers/phone_number/en_AU/__init__.py b/faker/providers/phone_number/en_AU/__init__.py index 44af690e59..0d058543ac 100644 --- a/faker/providers/phone_number/en_AU/__init__.py +++ b/faker/providers/phone_number/en_AU/__init__.py @@ -4,42 +4,38 @@ class Provider(PhoneNumberProvider): formats = ( # Local calls - '#### ####', - '####-####', - '####.####', # domain registrars apparently use this - '########', + "#### ####", + "####-####", + "####.####", # domain registrars apparently use this + "########", # National dialing - '0{{area_code}} #### ####', - '0{{area_code}}-####-####', - '0{{area_code}}.####.####', - '0{{area_code}}########', + "0{{area_code}} #### ####", + "0{{area_code}}-####-####", + "0{{area_code}}.####.####", + "0{{area_code}}########", # Optional parenthesis - '(0{{area_code}}) #### ####', - '(0{{area_code}})-####-####', - '(0{{area_code}}).####.####', - '(0{{area_code}})########', + "(0{{area_code}}) #### ####", + "(0{{area_code}})-####-####", + "(0{{area_code}}).####.####", + "(0{{area_code}})########", # International drops the 0 - '+61 {{area_code}} #### ####', - '+61-{{area_code}}-####-####', - '+61.{{area_code}}.####.####', - '+61{{area_code}}########', + "+61 {{area_code}} #### ####", + "+61-{{area_code}}-####-####", + "+61.{{area_code}}.####.####", + "+61{{area_code}}########", # 04 Mobile telephones (Australia-wide) mostly commonly written 4 - 3 - # 3 instead of 2 - 4 - 4 - '04## ### ###', - '04##-###-###', - '04##.###.###', - '+61 4## ### ###', - '+61-4##-###-###', - '+61.4##.###.###', + "04## ### ###", + "04##-###-###", + "04##.###.###", + "+61 4## ### ###", + "+61-4##-###-###", + "+61.4##.###.###", ) - def area_code(self): - return self.numerify(self.random_element( - ['2', - '3', - '7', - '8'])) + def area_code(self) -> str: + return self.numerify(self.random_element(["2", "3", "7", "8"])) - def phone_number(self): - pattern = self.random_element(self.formats) + def phone_number(self) -> str: + pattern: str = self.random_element(self.formats) return self.numerify(self.generator.parse(pattern)) diff --git a/faker/providers/phone_number/en_CA/__init__.py b/faker/providers/phone_number/en_CA/__init__.py index 2e9a240c97..769ef831ea 100644 --- a/faker/providers/phone_number/en_CA/__init__.py +++ b/faker/providers/phone_number/en_CA/__init__.py @@ -3,13 +3,13 @@ class Provider(PhoneNumberProvider): formats = ( - '%##-###-####', - '%##.###.####', - '%## ### ####', - '(%##) ###-####', - '1-%##-###-####', - '1 (%##) ###-####', - '+1 (%##) ###-####', - '%##-###-#### x###', - '(%##) ###-#### x###', + "%##-###-####", + "%##.###.####", + "%## ### ####", + "(%##) ###-####", + "1-%##-###-####", + "1 (%##) ###-####", + "+1 (%##) ###-####", + "%##-###-#### x###", + "(%##) ###-#### x###", ) diff --git a/faker/providers/phone_number/en_GB/__init__.py b/faker/providers/phone_number/en_GB/__init__.py index 3b4805b6a5..0c06c6aae7 100644 --- a/faker/providers/phone_number/en_GB/__init__.py +++ b/faker/providers/phone_number/en_GB/__init__.py @@ -17,251 +17,251 @@ class Provider(PhoneNumberProvider): # tools etc. All possible official fake numbers are covered below. cellphone_formats = ( - '07700 900 ###', - '07700 900###', - '07700900###', - '(07700) 900 ###', - '(07700) 900###', - '(07700)900###', - '+447700 900 ###', - '+447700 900###', - '+447700900###', - '+44(0)7700 900 ###', - '+44(0)7700 900###', - '+44(0)7700900###', + "07700 900 ###", + "07700 900###", + "07700900###", + "(07700) 900 ###", + "(07700) 900###", + "(07700)900###", + "+447700 900 ###", + "+447700 900###", + "+447700900###", + "+44(0)7700 900 ###", + "+44(0)7700 900###", + "+44(0)7700900###", ) formats = ( - '0113 496 0###', - '0113 4960###', - '01134960###', - '(0113) 496 0###', - '(0113) 4960###', - '(0113)4960###', - '+44113 496 0###', - '+44113 4960###', - '+441134960###', - '+44(0)113 496 0###', - '+44(0)113 4960###', - '+44(0)1134960###', - '0114 496 0###', - '0114 4960###', - '01144960###', - '(0114) 496 0###', - '(0114) 4960###', - '(0114)4960###', - '+44114 496 0###', - '+44114 4960###', - '+441144960###', - '+44(0)114 496 0###', - '+44(0)114 4960###', - '+44(0)1144960###', - '0115 496 0###', - '0115 4960###', - '01154960###', - '(0115) 496 0###', - '(0115) 4960###', - '(0115)4960###', - '+44115 496 0###', - '+44115 4960###', - '+441154960###', - '+44(0)115 496 0###', - '+44(0)115 4960###', - '+44(0)1154960###', - '0116 496 0###', - '0116 4960###', - '01164960###', - '(0116) 496 0###', - '(0116) 4960###', - '(0116)4960###', - '+44116 496 0###', - '+44116 4960###', - '+441164960###', - '+44(0)116 496 0###', - '+44(0)116 4960###', - '+44(0)1164960###', - '0117 496 0###', - '0117 4960###', - '01174960###', - '(0117) 496 0###', - '(0117) 4960###', - '(0117)4960###', - '+44117 496 0###', - '+44117 4960###', - '+441174960###', - '+44(0)117 496 0###', - '+44(0)117 4960###', - '+44(0)1174960###', - '0118 496 0###', - '0118 4960###', - '01184960###', - '(0118) 496 0###', - '(0118) 4960###', - '(0118)4960###', - '+44118 496 0###', - '+44118 4960###', - '+441184960###', - '+44(0)118 496 0###', - '+44(0)118 4960###', - '+44(0)1184960###', - '0121 496 0###', - '0121 4960###', - '01214960###', - '(0121) 496 0###', - '(0121) 4960###', - '(0121)4960###', - '+44121 496 0###', - '+44121 4960###', - '+441214960###', - '+44(0)121 496 0###', - '+44(0)121 4960###', - '+44(0)1214960###', - '0131 496 0###', - '0131 4960###', - '01314960###', - '(0131) 496 0###', - '(0131) 4960###', - '(0131)4960###', - '+44131 496 0###', - '+44131 4960###', - '+441314960###', - '+44(0)131 496 0###', - '+44(0)131 4960###', - '+44(0)1314960###', - '0141 496 0###', - '0141 4960###', - '01414960###', - '(0141) 496 0###', - '(0141) 4960###', - '(0141)4960###', - '+44141 496 0###', - '+44141 4960###', - '+441414960###', - '+44(0)141 496 0###', - '+44(0)141 4960###', - '+44(0)1414960###', - '0151 496 0###', - '0151 4960###', - '01514960###', - '(0151) 496 0###', - '(0151) 4960###', - '(0151)4960###', - '+44151 496 0###', - '+44151 4960###', - '+441514960###', - '+44(0)151 496 0###', - '+44(0)151 4960###', - '+44(0)1514960###', - '0161 496 0###', - '0161 4960###', - '01614960###', - '(0161) 496 0###', - '(0161) 4960###', - '(0161)4960###', - '+44161 496 0###', - '+44161 4960###', - '+441614960###', - '+44(0)161 496 0###', - '+44(0)161 4960###', - '+44(0)1614960###', - '0191 498 0###', - '0191 4960###', - '01914960###', - '(0191) 496 0###', - '(0191) 4960###', - '(0191)4960###', - '+44191 496 0###', - '+44191 4960###', - '+441914960###', - '+44(0)191 496 0###', - '+44(0)191 4960###', - '+44(0)1914960###', - '020 7946 0###', - '020 74960###', - '02074960###', - '(020) 7496 0###', - '(020) 74960###', - '(020)74960###', - '+4420 7496 0###', - '+4420 74960###', - '+442074960###', - '+44(0)20 7496 0###', - '+44(0)20 74960###', - '+44(0)2074960###', - '028 9018 0###', - '028 9018###', - '0289018###', - '(028) 9018 0###', - '(028) 9018###', - '(028)9018###', - '+4428 9018 0###', - '+4428 9018###', - '+44289018###', - '+44(0)28 9018 0###', - '+44(0)28 9018###', - '+44(0)289018###', - '029 2018 0###', - '029 2018###', - '0292018###', - '(029) 2018 0###', - '(029) 2018###', - '(029)2018###', - '+4429 2018 0###', - '+4429 2018###', - '+44292018###', - '+44(0)29 2018 0###', - '+44(0)29 2018###', - '+44(0)292018###', - '01632 960 ###', - '01632 960###', - '01632960###', - '(01632) 960 ###', - '(01632) 960###', - '(01632)960###', - '+441632 960 ###', - '+441632 960###', - '+441632960###', - '+44(0)1632 960 ###', - '+44(0)1632 960###', - '+44(0)1632960###', - '0306 999 0###', - '0306 9990###', - '03069990###', - '(0306) 999 0###', - '(0306) 9990###', - '(0306)9990###', - '+44306 999 0###', - '+44306 9990###', - '+443069990###', - '+44(0)306 999 0###', - '+44(0)306 9990###', - '+44(0)3069990###', - '0808 157 0###', - '0808 1570###', - '08081570###', - '(0808) 157 0###', - '(0808) 1570###', - '(0808)1570###', - '+44808 157 0###', - '+44808 1570###', - '+448081570###', - '+44(0)808 157 0###', - '+44(0)808 1570###', - '+44(0)8081570###', - '0909 879 0###', - '0909 8790###', - '09098790###', - '(0909) 879 0###', - '(0909) 8790###', - '(0909)8790###', - '+44909 879 0###', - '+44909 8790###', - '+449098790###', - '+44(0)909 879 0###', - '+44(0)909 8790###', - '+44(0)9098790###', + "0113 496 0###", + "0113 4960###", + "01134960###", + "(0113) 496 0###", + "(0113) 4960###", + "(0113)4960###", + "+44113 496 0###", + "+44113 4960###", + "+441134960###", + "+44(0)113 496 0###", + "+44(0)113 4960###", + "+44(0)1134960###", + "0114 496 0###", + "0114 4960###", + "01144960###", + "(0114) 496 0###", + "(0114) 4960###", + "(0114)4960###", + "+44114 496 0###", + "+44114 4960###", + "+441144960###", + "+44(0)114 496 0###", + "+44(0)114 4960###", + "+44(0)1144960###", + "0115 496 0###", + "0115 4960###", + "01154960###", + "(0115) 496 0###", + "(0115) 4960###", + "(0115)4960###", + "+44115 496 0###", + "+44115 4960###", + "+441154960###", + "+44(0)115 496 0###", + "+44(0)115 4960###", + "+44(0)1154960###", + "0116 496 0###", + "0116 4960###", + "01164960###", + "(0116) 496 0###", + "(0116) 4960###", + "(0116)4960###", + "+44116 496 0###", + "+44116 4960###", + "+441164960###", + "+44(0)116 496 0###", + "+44(0)116 4960###", + "+44(0)1164960###", + "0117 496 0###", + "0117 4960###", + "01174960###", + "(0117) 496 0###", + "(0117) 4960###", + "(0117)4960###", + "+44117 496 0###", + "+44117 4960###", + "+441174960###", + "+44(0)117 496 0###", + "+44(0)117 4960###", + "+44(0)1174960###", + "0118 496 0###", + "0118 4960###", + "01184960###", + "(0118) 496 0###", + "(0118) 4960###", + "(0118)4960###", + "+44118 496 0###", + "+44118 4960###", + "+441184960###", + "+44(0)118 496 0###", + "+44(0)118 4960###", + "+44(0)1184960###", + "0121 496 0###", + "0121 4960###", + "01214960###", + "(0121) 496 0###", + "(0121) 4960###", + "(0121)4960###", + "+44121 496 0###", + "+44121 4960###", + "+441214960###", + "+44(0)121 496 0###", + "+44(0)121 4960###", + "+44(0)1214960###", + "0131 496 0###", + "0131 4960###", + "01314960###", + "(0131) 496 0###", + "(0131) 4960###", + "(0131)4960###", + "+44131 496 0###", + "+44131 4960###", + "+441314960###", + "+44(0)131 496 0###", + "+44(0)131 4960###", + "+44(0)1314960###", + "0141 496 0###", + "0141 4960###", + "01414960###", + "(0141) 496 0###", + "(0141) 4960###", + "(0141)4960###", + "+44141 496 0###", + "+44141 4960###", + "+441414960###", + "+44(0)141 496 0###", + "+44(0)141 4960###", + "+44(0)1414960###", + "0151 496 0###", + "0151 4960###", + "01514960###", + "(0151) 496 0###", + "(0151) 4960###", + "(0151)4960###", + "+44151 496 0###", + "+44151 4960###", + "+441514960###", + "+44(0)151 496 0###", + "+44(0)151 4960###", + "+44(0)1514960###", + "0161 496 0###", + "0161 4960###", + "01614960###", + "(0161) 496 0###", + "(0161) 4960###", + "(0161)4960###", + "+44161 496 0###", + "+44161 4960###", + "+441614960###", + "+44(0)161 496 0###", + "+44(0)161 4960###", + "+44(0)1614960###", + "0191 498 0###", + "0191 4960###", + "01914960###", + "(0191) 496 0###", + "(0191) 4960###", + "(0191)4960###", + "+44191 496 0###", + "+44191 4960###", + "+441914960###", + "+44(0)191 496 0###", + "+44(0)191 4960###", + "+44(0)1914960###", + "020 7946 0###", + "020 74960###", + "02074960###", + "(020) 7496 0###", + "(020) 74960###", + "(020)74960###", + "+4420 7496 0###", + "+4420 74960###", + "+442074960###", + "+44(0)20 7496 0###", + "+44(0)20 74960###", + "+44(0)2074960###", + "028 9018 0###", + "028 9018###", + "0289018###", + "(028) 9018 0###", + "(028) 9018###", + "(028)9018###", + "+4428 9018 0###", + "+4428 9018###", + "+44289018###", + "+44(0)28 9018 0###", + "+44(0)28 9018###", + "+44(0)289018###", + "029 2018 0###", + "029 2018###", + "0292018###", + "(029) 2018 0###", + "(029) 2018###", + "(029)2018###", + "+4429 2018 0###", + "+4429 2018###", + "+44292018###", + "+44(0)29 2018 0###", + "+44(0)29 2018###", + "+44(0)292018###", + "01632 960 ###", + "01632 960###", + "01632960###", + "(01632) 960 ###", + "(01632) 960###", + "(01632)960###", + "+441632 960 ###", + "+441632 960###", + "+441632960###", + "+44(0)1632 960 ###", + "+44(0)1632 960###", + "+44(0)1632960###", + "0306 999 0###", + "0306 9990###", + "03069990###", + "(0306) 999 0###", + "(0306) 9990###", + "(0306)9990###", + "+44306 999 0###", + "+44306 9990###", + "+443069990###", + "+44(0)306 999 0###", + "+44(0)306 9990###", + "+44(0)3069990###", + "0808 157 0###", + "0808 1570###", + "08081570###", + "(0808) 157 0###", + "(0808) 1570###", + "(0808)1570###", + "+44808 157 0###", + "+44808 1570###", + "+448081570###", + "+44(0)808 157 0###", + "+44(0)808 1570###", + "+44(0)8081570###", + "0909 879 0###", + "0909 8790###", + "09098790###", + "(0909) 879 0###", + "(0909) 8790###", + "(0909)8790###", + "+44909 879 0###", + "+44909 8790###", + "+449098790###", + "+44(0)909 879 0###", + "+44(0)909 8790###", + "+44(0)9098790###", ) - def cellphone_number(self): - pattern = self.random_element(self.cellphone_formats) + def cellphone_number(self) -> str: + pattern: str = self.random_element(self.cellphone_formats) return self.numerify(self.generator.parse(pattern)) diff --git a/faker/providers/phone_number/en_IN/__init__.py b/faker/providers/phone_number/en_IN/__init__.py new file mode 100644 index 0000000000..d84e68d663 --- /dev/null +++ b/faker/providers/phone_number/en_IN/__init__.py @@ -0,0 +1,9 @@ +from .. import Provider as PhoneNumberProvider + + +class Provider(PhoneNumberProvider): + formats = ( + "+91##########", + "0##########", + "##########", + ) diff --git a/faker/providers/phone_number/en_NZ/__init__.py b/faker/providers/phone_number/en_NZ/__init__.py index 4436c0acbe..80603aaa4a 100644 --- a/faker/providers/phone_number/en_NZ/__init__.py +++ b/faker/providers/phone_number/en_NZ/__init__.py @@ -4,44 +4,43 @@ class Provider(PhoneNumberProvider): formats = ( # Local calls - '%## ####', - '%##-####', - '%######', + "%## ####", + "%##-####", + "%######", # National & Mobile dialing - '0{{area_code}} %## ####', - '0{{area_code}} %##-####', - '0{{area_code}}-%##-####', - '0{{area_code}} %######', + "0{{area_code}} %## ####", + "0{{area_code}} %##-####", + "0{{area_code}}-%##-####", + "0{{area_code}} %######", # Optional parenthesis - '(0{{area_code}}) %## ####', - '(0{{area_code}}) %##-####', - '(0{{area_code}}) %######', + "(0{{area_code}}) %## ####", + "(0{{area_code}}) %##-####", + "(0{{area_code}}) %######", # International drops the 0 - '+64 {{area_code}} %## ####', - '+64 {{area_code}} %##-####', - '+64 {{area_code}} %######', - '+64-{{area_code}}-%##-####', - '+64{{area_code}}%######', + "+64 {{area_code}} %## ####", + "+64 {{area_code}} %##-####", + "+64 {{area_code}} %######", + "+64-{{area_code}}-%##-####", + "+64{{area_code}}%######", ) area_codes = [ # Mobiles - '20', - '21', - '22', - '27', - '29', - - '3', # South Island - '4', # Wellington - '6', # Lower North Island - '7', # Central North Island - '9', # Auckland + "20", + "21", + "22", + "27", + "29", + "3", # South Island + "4", # Wellington + "6", # Lower North Island + "7", # Central North Island + "9", # Auckland ] - def area_code(self): + def area_code(self) -> str: return self.numerify(self.random_element(self.area_codes)) - def phone_number(self): - pattern = self.random_element(self.formats) + def phone_number(self) -> str: + pattern: str = self.random_element(self.formats) return self.numerify(self.generator.parse(pattern)) diff --git a/faker/providers/phone_number/en_PH/__init__.py b/faker/providers/phone_number/en_PH/__init__.py index 0b9ca3782e..9bc10fbc38 100644 --- a/faker/providers/phone_number/en_PH/__init__.py +++ b/faker/providers/phone_number/en_PH/__init__.py @@ -1,3 +1,5 @@ +from typing import Sequence, Tuple + from ... import BaseProvider @@ -30,124 +32,221 @@ class Provider(BaseProvider): - https://powerpinoys.com/network-prefixes-philippines/ """ - globe_mobile_number_prefixes = ( - '817', '904', '905', '906', '915', '916', '917', - '926', '927', '935', '936', '937', '945', '955', - '956', '965', '966', '967', '973', '975', '976', - '977', '978', '979', '994', '995', '996', '997', + globe_mobile_number_prefixes: Tuple[str, ...] = ( + "817", + "904", + "905", + "906", + "915", + "916", + "917", + "926", + "927", + "935", + "936", + "937", + "945", + "955", + "956", + "965", + "966", + "967", + "973", + "975", + "976", + "977", + "978", + "979", + "994", + "995", + "996", + "997", + ) + smart_mobile_number_prefixes: Tuple[str, ...] = ( + "813", + "907", + "908", + "909", + "910", + "911", + "912", + "913", + "914", + "918", + "919", + "920", + "921", + "928", + "929", + "930", + "938", + "939", + "940", + "946", + "947", + "948", + "949", + "950", + "951", + "961", + "970", + "981", + "989", + "992", + "998", + "999", ) - smart_mobile_number_prefixes = ( - '813', '907', '908', '909', '910', '911', '912', '913', - '914', '918', '919', '920', '921', '928', '929', '930', - '938', '939', '940', '946', '947', '948', '949', '950', - '951', '961', '970', '981', '989', '992', '998', '999', + sun_mobile_number_prefixes: Tuple[str, ...] = ( + "922", + "923", + "924", + "925", + "931", + "932", + "933", + "934", + "941", + "942", + "943", + "944", ) - sun_mobile_number_prefixes = ( - '922', '923', '924', '925', - '931', '932', '933', '934', - '941', '942', '943', '944', + globe_mobile_number_formats: Tuple[str, ...] = ( + "0{{globe_mobile_number_prefix}}-###-####", + "+63{{globe_mobile_number_prefix}}-###-####", ) - globe_mobile_number_formats = ( - '0{{globe_mobile_number_prefix}}-###-####', - '+63{{globe_mobile_number_prefix}}-###-####', + smart_mobile_number_formats: Tuple[str, ...] = ( + "0{{smart_mobile_number_prefix}}-###-####", + "+63{{smart_mobile_number_prefix}}-###-####", ) - smart_mobile_number_formats = ( - '0{{smart_mobile_number_prefix}}-###-####', - '+63{{smart_mobile_number_prefix}}-###-####', + sun_mobile_number_formats: Tuple[str, ...] = ( + "0{{sun_mobile_number_prefix}}-###-####", + "+63{{sun_mobile_number_prefix}}-###-####", ) - sun_mobile_number_formats = ( - '0{{sun_mobile_number_prefix}}-###-####', - '+63{{sun_mobile_number_prefix}}-###-####', + mobile_number_formats: Tuple[str, ...] = ( + globe_mobile_number_formats + smart_mobile_number_formats + sun_mobile_number_formats + ) + + bayantel_landline_identifiers: Tuple[str, ...] = tuple(str(x) for x in range(3000, 3500)) + misc_landline_identifiers: Tuple[str, ...] = tuple(str(x) for x in range(5300, 5800)) + tuple( + str(x) for x in range(6000, 6700) ) - mobile_number_formats = globe_mobile_number_formats + smart_mobile_number_formats + sun_mobile_number_formats - - bayantel_landline_identifiers = tuple(str(x) for x in range(3000, 3500)) - misc_landline_identifiers = tuple(str(x) for x in range(5300, 5800)) + tuple(str(x) for x in range(6000, 6700)) - non_area2_landline_area_codes = ( - '32', '33', '34', '35', '36', '38', '42', '43', '44', - '45', '46', '47', '48', '49', '52', '53', '54', '55', - '56', '62', '63', '64', '65', '68', '72', '74', '75', - '77', '78', '82', '83', '84', '85', '86', '87', '88', + non_area2_landline_area_codes: Tuple[str, ...] = ( + "32", + "33", + "34", + "35", + "36", + "38", + "42", + "43", + "44", + "45", + "46", + "47", + "48", + "49", + "52", + "53", + "54", + "55", + "56", + "62", + "63", + "64", + "65", + "68", + "72", + "74", + "75", + "77", + "78", + "82", + "83", + "84", + "85", + "86", + "87", + "88", ) - globe_area2_landline_number_formats = ( - '02-7###-####', - '+632-7###-####', + globe_area2_landline_number_formats: Tuple[str, ...] = ( + "02-7###-####", + "+632-7###-####", ) - pldt_area2_landline_number_formats = ( - '02-8###-####', - '+632-8###-####', + pldt_area2_landline_number_formats: Tuple[str, ...] = ( + "02-8###-####", + "+632-8###-####", ) - bayantel_area2_landline_number_formats = ( - '02-{{bayantel_landline_identifier}}-####', - '+632-{{bayantel_landline_identifier}}-####', + bayantel_area2_landline_number_formats: Tuple[str, ...] = ( + "02-{{bayantel_landline_identifier}}-####", + "+632-{{bayantel_landline_identifier}}-####", ) - misc_area2_landline_number_formats = ( - '02-{{misc_landline_identifier}}-####', - '+632-{{misc_landline_identifier}}-####', + misc_area2_landline_number_formats: Tuple[str, ...] = ( + "02-{{misc_landline_identifier}}-####", + "+632-{{misc_landline_identifier}}-####", ) - area2_landline_number_formats = ( - globe_area2_landline_number_formats - + pldt_area2_landline_number_formats - + bayantel_area2_landline_number_formats - + misc_area2_landline_number_formats + area2_landline_number_formats: Tuple[str, ...] = ( + globe_area2_landline_number_formats + + pldt_area2_landline_number_formats + + bayantel_area2_landline_number_formats + + misc_area2_landline_number_formats ) - non_area2_landline_number_formats = ( - '0{{non_area2_landline_area_code}}-###-####', - '+63{{non_area2_landline_area_code}}-###-####', + non_area2_landline_number_formats: Tuple[str, ...] = ( + "0{{non_area2_landline_area_code}}-###-####", + "+63{{non_area2_landline_area_code}}-###-####", ) - landline_number_formats = area2_landline_number_formats + non_area2_landline_number_formats + landline_number_formats: Tuple[str, ...] = area2_landline_number_formats + non_area2_landline_number_formats - def _create_phone_number(self, formats): - pattern = self.random_element(formats) + def _create_phone_number(self, formats: Sequence[str]) -> str: + pattern: str = self.random_element(formats) return self.numerify(self.generator.parse(pattern)) - def globe_mobile_number_prefix(self): + def globe_mobile_number_prefix(self) -> str: return self.random_element(self.globe_mobile_number_prefixes) - def smart_mobile_number_prefix(self): + def smart_mobile_number_prefix(self) -> str: return self.random_element(self.smart_mobile_number_prefixes) - def sun_mobile_number_prefix(self): + def sun_mobile_number_prefix(self) -> str: return self.random_element(self.sun_mobile_number_prefixes) - def bayantel_landline_identifier(self): + def bayantel_landline_identifier(self) -> str: return self.random_element(self.bayantel_landline_identifiers) - def misc_landline_identifier(self): + def misc_landline_identifier(self) -> str: return self.random_element(self.misc_landline_identifiers) - def non_area2_landline_area_code(self): + def non_area2_landline_area_code(self) -> str: return self.random_element(self.non_area2_landline_area_codes) - def globe_mobile_number(self): + def globe_mobile_number(self) -> str: return self._create_phone_number(self.globe_mobile_number_formats) - def smart_mobile_number(self): + def smart_mobile_number(self) -> str: return self._create_phone_number(self.smart_mobile_number_formats) - def sun_mobile_number(self): + def sun_mobile_number(self) -> str: return self._create_phone_number(self.sun_mobile_number_formats) - def mobile_number(self): + def mobile_number(self) -> str: return self._create_phone_number(self.mobile_number_formats) - def globe_area2_landline_number(self): + def globe_area2_landline_number(self) -> str: return self._create_phone_number(self.globe_area2_landline_number_formats) - def pldt_area2_landline_number(self): + def pldt_area2_landline_number(self) -> str: return self._create_phone_number(self.pldt_area2_landline_number_formats) - def bayantel_area2_landline_number(self): + def bayantel_area2_landline_number(self) -> str: return self._create_phone_number(self.bayantel_area2_landline_number_formats) - def misc_area2_landline_number(self): + def misc_area2_landline_number(self) -> str: return self._create_phone_number(self.misc_area2_landline_number_formats) - def area2_landline_number(self): + def area2_landline_number(self) -> str: return self._create_phone_number(self.area2_landline_number_formats) - def non_area2_landline_number(self): + def non_area2_landline_number(self) -> str: return self._create_phone_number(self.non_area2_landline_number_formats) - def landline_number(self): + def landline_number(self) -> str: return self._create_phone_number(self.landline_number_formats) diff --git a/faker/providers/phone_number/en_US/__init__.py b/faker/providers/phone_number/en_US/__init__.py index c7238e10f0..bb0b77df84 100644 --- a/faker/providers/phone_number/en_US/__init__.py +++ b/faker/providers/phone_number/en_US/__init__.py @@ -4,36 +4,36 @@ class Provider(PhoneNumberProvider): formats = ( # Standard 10-digit phone number formats - '##########', - '##########', - '###-###-####', - '###-###-####', + "##########", + "##########", + "###-###-####", + "###-###-####", # Optional 10-digit local phone number format - '(###)###-####', - '(###)###-####', + "(###)###-####", + "(###)###-####", # Non-standard 10-digit phone number format - '###.###.####', - '###.###.####', + "###.###.####", + "###.###.####", # Standard 10-digit phone number format with extensions - '###-###-####x###', - '###-###-####x####', - '###-###-####x#####', + "###-###-####x###", + "###-###-####x####", + "###-###-####x#####", # Optional 10-digit local phone number format with extensions - '(###)###-####x###', - '(###)###-####x####', - '(###)###-####x#####', + "(###)###-####x###", + "(###)###-####x####", + "(###)###-####x#####", # Non-standard 10-digit phone number format with extensions - '###.###.####x###', - '###.###.####x####', - '###.###.####x#####', + "###.###.####x###", + "###.###.####x####", + "###.###.####x#####", # Standard 11-digit phone number format - '+1-###-###-####', - '001-###-###-####', + "+1-###-###-####", + "001-###-###-####", # Standard 11-digit phone number format with extensions - '+1-###-###-####x###', - '+1-###-###-####x####', - '+1-###-###-####x#####', - '001-###-###-####x###', - '001-###-###-####x####', - '001-###-###-####x#####', + "+1-###-###-####x###", + "+1-###-###-####x####", + "+1-###-###-####x#####", + "001-###-###-####x###", + "001-###-###-####x####", + "001-###-###-####x#####", ) diff --git a/faker/providers/phone_number/es_ES/__init__.py b/faker/providers/phone_number/es_ES/__init__.py index e006ca7039..19ac77768b 100644 --- a/faker/providers/phone_number/es_ES/__init__.py +++ b/faker/providers/phone_number/es_ES/__init__.py @@ -6,53 +6,54 @@ class Provider(PhoneNumberProvider): According to official specs: https://avancedigital.gob.es/es-ES/Servicios/Numeracion/Documents/Descripcion_PNN.pdf """ + formats = ( - '+34 9## ### ###', - '+34 8## ### ###', - '+34 70# ### ###', - '+34 71# ### ###', - '+34 72# ### ###', - '+34 73# ### ###', - '+34 74# ### ###', - '+34 6## ### ###', - '+34 9########', - '+34 8########', - '+34 70#######', - '+34 71#######', - '+34 72#######', - '+34 73#######', - '+34 74#######', - '+34 6########', - '+34 9## ## ## ##', - '+34 8## ## ## ##', - '+34 70# ## ## ##', - '+34 71# ## ## ##', - '+34 72# ## ## ##', - '+34 73# ## ## ##', - '+34 74# ## ## ##', - '+34 6## ## ## ##', - '+349## ### ###', - '+348## ### ###', - '+3470# ### ###', - '+3471# ### ###', - '+3472# ### ###', - '+3473# ### ###', - '+3474# ### ###', - '+346## ### ###', - '+349########', - '+348########', - '+3470#######', - '+3471#######', - '+3472#######', - '+3473#######', - '+3474#######', - '+346########', - '+349## ## ## ##', - '+348## ## ## ##', - '+3470# ## ## ##', - '+3471# ## ## ##', - '+3472# ## ## ##', - '+3473# ## ## ##', - '+3474# ## ## ##', - '+346## ## ## ##', + "+34 9## ### ###", + "+34 8## ### ###", + "+34 70# ### ###", + "+34 71# ### ###", + "+34 72# ### ###", + "+34 73# ### ###", + "+34 74# ### ###", + "+34 6## ### ###", + "+34 9########", + "+34 8########", + "+34 70#######", + "+34 71#######", + "+34 72#######", + "+34 73#######", + "+34 74#######", + "+34 6########", + "+34 9## ## ## ##", + "+34 8## ## ## ##", + "+34 70# ## ## ##", + "+34 71# ## ## ##", + "+34 72# ## ## ##", + "+34 73# ## ## ##", + "+34 74# ## ## ##", + "+34 6## ## ## ##", + "+349## ### ###", + "+348## ### ###", + "+3470# ### ###", + "+3471# ### ###", + "+3472# ### ###", + "+3473# ### ###", + "+3474# ### ###", + "+346## ### ###", + "+349########", + "+348########", + "+3470#######", + "+3471#######", + "+3472#######", + "+3473#######", + "+3474#######", + "+346########", + "+349## ## ## ##", + "+348## ## ## ##", + "+3470# ## ## ##", + "+3471# ## ## ##", + "+3472# ## ## ##", + "+3473# ## ## ##", + "+3474# ## ## ##", + "+346## ## ## ##", ) diff --git a/faker/providers/phone_number/es_MX/__init__.py b/faker/providers/phone_number/es_MX/__init__.py index a94dbf931c..f723a6b542 100644 --- a/faker/providers/phone_number/es_MX/__init__.py +++ b/faker/providers/phone_number/es_MX/__init__.py @@ -3,28 +3,28 @@ class Provider(PhoneNumberProvider): formats = ( - '+##(#)##########', - '+##(#)##########', - '0##########', - '0##########', - '###-###-####', - '(###)###-####', - '1-###-###-####', - '###.###.####', - '###-###-####', - '(###)###-####', - '1-###-###-####', - '###.###.####', - '###-###-####x###', - '(###)###-####x###', - '1-###-###-####x###', - '###.###.####x###', - '###-###-####x####', - '(###)###-####x####', - '1-###-###-####x####', - '###.###.####x####', - '###-###-####x#####', - '(###)###-####x#####', - '1-###-###-####x#####', - '###.###.####x#####', + "+##(#)##########", + "+##(#)##########", + "0##########", + "0##########", + "###-###-####", + "(###)###-####", + "1-###-###-####", + "###.###.####", + "###-###-####", + "(###)###-####", + "1-###-###-####", + "###.###.####", + "###-###-####x###", + "(###)###-####x###", + "1-###-###-####x###", + "###.###.####x###", + "###-###-####x####", + "(###)###-####x####", + "1-###-###-####x####", + "###.###.####x####", + "###-###-####x#####", + "(###)###-####x#####", + "1-###-###-####x#####", + "###.###.####x#####", ) diff --git a/faker/providers/phone_number/fa_IR/__init__.py b/faker/providers/phone_number/fa_IR/__init__.py index 67ccca3242..7ea46ab046 100644 --- a/faker/providers/phone_number/fa_IR/__init__.py +++ b/faker/providers/phone_number/fa_IR/__init__.py @@ -5,97 +5,97 @@ class Provider(PhoneNumberProvider): formats = ( # Mobile # Mci - '+98 91# ### ####', - '091# ### ####', - '+98 990 ### ####', - '0990 ### ####', - '+98 991 ### ####', - '0991 ### ####', + "+98 91# ### ####", + "091# ### ####", + "+98 990 ### ####", + "0990 ### ####", + "+98 991 ### ####", + "0991 ### ####", # Rightel Mobile prefixes - '+98 920 ### ####', - '0920 ### ####', - '+98 921 ### ####', - '0921 ### ####', - '+98 922 ### ####', - '0922 ### ####', + "+98 920 ### ####", + "0920 ### ####", + "+98 921 ### ####", + "0921 ### ####", + "+98 922 ### ####", + "0922 ### ####", # Samantel Mobile prefixes - '+98 999 ### ####', - '0999 ### ####', + "+98 999 ### ####", + "0999 ### ####", # Mtn and Talia - '+98 93# ### ####', - '093# ### ####', - '+98 901 ### ####', - '0901 ### ####', - '+98 902 ### ####', - '902 ### ####', - '+98 903 ### ####', - '0903 ### ####', - '+98 905 ### ####', - '0905 ### ####', + "+98 93# ### ####", + "093# ### ####", + "+98 901 ### ####", + "0901 ### ####", + "+98 902 ### ####", + "902 ### ####", + "+98 903 ### ####", + "0903 ### ####", + "+98 905 ### ####", + "0905 ### ####", # Land lines, # https://en.wikipedia.org/wiki/List_of_dialling_codes_in_Iran - '+98 21 #### ####', - '021 #### ####', - '+98 26 #### ####', - '026 #### ####', - '+98 25 #### ####', - '025 #### ####', - '+98 86 #### ####', - '086 #### ####', - '+98 24 #### ####', - '024 #### ####', - '+98 23 #### ####', - '023 #### ####', - '+98 81 #### ####', - '081 #### ####', - '+98 28 #### ####', - '028 #### ####', - '+98 31 #### ####', - '031 #### ####', - '+98 44 #### ####', - '044 #### ####', - '+98 11 #### ####', - '011 #### ####', - '+98 74 #### ####', - '074 #### ####', - '+98 83 #### ####', - '083 #### ####', - '+98 51 #### ####', - '051 #### ####', - '+98 45 #### ####', - '045 #### ####', - '+98 17 #### ####', - '017 #### ####', - '+98 41 #### ####', - '041 #### ####', - '+98 54 #### ####', - '054 #### ####', - '+98 87 #### ####', - '087 #### ####', - '+98 71 #### ####', - '071 #### ####', - '+98 66 #### ####', - '066 #### ####', - '+98 34 #### ####', - '034 #### ####', - '+98 56 #### ####', - '056 #### ####', - '+98 13 #### ####', - '013 #### ####', - '+98 77 #### ####', - '077 #### ####', - '+98 76 #### ####', - '076 #### ####', - '+98 61 #### ####', - '061 #### ####', - '+98 38 #### ####', - '038 #### ####', - '+98 58 #### ####', - '058 #### ####', - '+98 35 #### ####', - '035 #### ####', - '+98 84 #### ####', - '084 #### ####', - '+98 ### #### ####', - '0### #### ####', + "+98 21 #### ####", + "021 #### ####", + "+98 26 #### ####", + "026 #### ####", + "+98 25 #### ####", + "025 #### ####", + "+98 86 #### ####", + "086 #### ####", + "+98 24 #### ####", + "024 #### ####", + "+98 23 #### ####", + "023 #### ####", + "+98 81 #### ####", + "081 #### ####", + "+98 28 #### ####", + "028 #### ####", + "+98 31 #### ####", + "031 #### ####", + "+98 44 #### ####", + "044 #### ####", + "+98 11 #### ####", + "011 #### ####", + "+98 74 #### ####", + "074 #### ####", + "+98 83 #### ####", + "083 #### ####", + "+98 51 #### ####", + "051 #### ####", + "+98 45 #### ####", + "045 #### ####", + "+98 17 #### ####", + "017 #### ####", + "+98 41 #### ####", + "041 #### ####", + "+98 54 #### ####", + "054 #### ####", + "+98 87 #### ####", + "087 #### ####", + "+98 71 #### ####", + "071 #### ####", + "+98 66 #### ####", + "066 #### ####", + "+98 34 #### ####", + "034 #### ####", + "+98 56 #### ####", + "056 #### ####", + "+98 13 #### ####", + "013 #### ####", + "+98 77 #### ####", + "077 #### ####", + "+98 76 #### ####", + "076 #### ####", + "+98 61 #### ####", + "061 #### ####", + "+98 38 #### ####", + "038 #### ####", + "+98 58 #### ####", + "058 #### ####", + "+98 35 #### ####", + "035 #### ####", + "+98 84 #### ####", + "084 #### ####", + "+98 ### #### ####", + "0### #### ####", ) diff --git a/faker/providers/phone_number/fi_FI/__init__.py b/faker/providers/phone_number/fi_FI/__init__.py index 56f01a5aaa..bafafd2acd 100644 --- a/faker/providers/phone_number/fi_FI/__init__.py +++ b/faker/providers/phone_number/fi_FI/__init__.py @@ -3,10 +3,10 @@ class Provider(PhoneNumberProvider): formats = ( - '+358 ## #######', - '+358 #########', - '+358#########', - '(+358) #########', - '0#########', - '0## ### ####', + "+358 ## #######", + "+358 #########", + "+358#########", + "(+358) #########", + "0#########", + "0## ### ####", ) diff --git a/faker/providers/phone_number/fil_PH/__init__.py b/faker/providers/phone_number/fil_PH/__init__.py index 517183a824..7e315d8ff9 100644 --- a/faker/providers/phone_number/fil_PH/__init__.py +++ b/faker/providers/phone_number/fil_PH/__init__.py @@ -3,4 +3,5 @@ class Provider(EnPhPhoneNumberProvider): """No difference from Phone Number Provider for en_PH locale""" + pass diff --git a/faker/providers/phone_number/fr_CH/__init__.py b/faker/providers/phone_number/fr_CH/__init__.py index ed18535dde..d55fbd59af 100644 --- a/faker/providers/phone_number/fr_CH/__init__.py +++ b/faker/providers/phone_number/fr_CH/__init__.py @@ -3,34 +3,34 @@ class Provider(PhoneNumberProvider): formats = ( - '+41 2# ### ## ##', - '+41 3# ### ## ##', - '+41 4# ### ## ##', - '+41 5# ### ## ##', - '+41 6# ### ## ##', - '+41 7# ### ## ##', - '+41 8# ### ## ##', - '+41 9# ### ## ##', - '+41 (0)2# ### ## ##', - '+41 (0)3# ### ## ##', - '+41 (0)4# ### ## ##', - '+41 (0)5# ### ## ##', - '+41 (0)6# ### ## ##', - '+41 (0)7# ### ## ##', - '+41 (0)8# ### ## ##', - '+41 (0)9# ### ## ##', - '02# ### ## ##', - '03# ### ## ##', - '04# ### ## ##', - '05# ### ## ##', - '06# ### ## ##', - '07# ### ## ##', - '08# ### ## ##', - '09# ### ## ##', + "+41 2# ### ## ##", + "+41 3# ### ## ##", + "+41 4# ### ## ##", + "+41 5# ### ## ##", + "+41 6# ### ## ##", + "+41 7# ### ## ##", + "+41 8# ### ## ##", + "+41 9# ### ## ##", + "+41 (0)2# ### ## ##", + "+41 (0)3# ### ## ##", + "+41 (0)4# ### ## ##", + "+41 (0)5# ### ## ##", + "+41 (0)6# ### ## ##", + "+41 (0)7# ### ## ##", + "+41 (0)8# ### ## ##", + "+41 (0)9# ### ## ##", + "02# ### ## ##", + "03# ### ## ##", + "04# ### ## ##", + "05# ### ## ##", + "06# ### ## ##", + "07# ### ## ##", + "08# ### ## ##", + "09# ### ## ##", # see: http://www.bakom.admin.ch/themen/telekom/00479/00607/index.html - '084# ### ###', - '0878 ### ###', - '0900 ### ###', - '0901 ### ###', - '0906 ### ###', + "084# ### ###", + "0878 ### ###", + "0900 ### ###", + "0901 ### ###", + "0906 ### ###", ) diff --git a/faker/providers/phone_number/fr_FR/__init__.py b/faker/providers/phone_number/fr_FR/__init__.py index 917cfe20fc..decf7d35ce 100644 --- a/faker/providers/phone_number/fr_FR/__init__.py +++ b/faker/providers/phone_number/fr_FR/__init__.py @@ -3,36 +3,256 @@ class Provider(PhoneNumberProvider): formats = ( - '+33 (0)1 ## ## ## ##', - '+33 (0)1 ## ## ## ##', - '+33 (0)2 ## ## ## ##', - '+33 (0)3 ## ## ## ##', - '+33 (0)4 ## ## ## ##', - '+33 (0)5 ## ## ## ##', - '+33 (0)6 ## ## ## ##', - '+33 (0)8 0# ## ## ##', - '+33 1 ## ## ## ##', - '+33 1 ## ## ## ##', - '+33 2 ## ## ## ##', - '+33 3 ## ## ## ##', - '+33 4 ## ## ## ##', - '+33 5 ## ## ## ##', - '+33 6 ## ## ## ##', - '+33 8 0# ## ## ##', - '01########', - '01########', - '02########', - '03########', - '04########', - '05########', - '06########', - '080#######', - '01 ## ## ## ##', - '01 ## ## ## ##', - '02 ## ## ## ##', - '03 ## ## ## ##', - '04 ## ## ## ##', - '05 ## ## ## ##', - '06 ## ## ## ##', - '08 0# ## ## ##', + "+33 (0){{area_code_with_separator}} ## ## ##", + "+33 {{area_code_with_separator}} ## ## ##", + "0{{area_code_without_separator}}######", + "0{{area_code_with_separator}} ## ## ##", ) + + # https://fr.wikipedia.org/wiki/Liste_des_indicatifs_t%C3%A9l%C3%A9phoniques_en_France#Liste_des_indicatifs_d%C3%A9partementaux_fran%C3%A7ais_class%C3%A9s_par_indicatif + area_codes = ( + # landlines + "130", + "134", + "139", + "140", + "141", + "142", + "143", + "144", + "145", + "146", + "147", + "148", + "149", + "153", + "155", + "156", + "158", + "160", + "164", + "169", + "170", + "172", + "173", + "174", + "175", + "176", + "177", + "178", + "179", + "180", + "181", + "182", + "183", + "188", + "214", + "218", + "219", + "221", + "222", + "223", + "228", + "229", + "230", + "231", + "232", + "233", + "234", + "235", + "236", + "237", + "238", + "240", + "241", + "243", + "244", + "245", + "246", + "247", + "248", + "249", + "250", + "251", + "252", + "253", + "254", + "255", + "256", + "257", + "258", + "261", + "262", + "269", + "272", + "276", + "277", + "278", + "279", + "285", + "290", + "296", + "297", + "298", + "299", + "310", + "320", + "321", + "322", + "323", + "324", + "325", + "326", + "327", + "328", + "329", + "339", + "344", + "345", + "351", + "352", + "353", + "354", + "355", + "356", + "357", + "358", + "359", + "360", + "361", + "362", + "363", + "364", + "365", + "366", + "367", + "368", + "369", + "370", + "371", + "372", + "373", + "375", + "376", + "379", + "380", + "381", + "382", + "383", + "384", + "385", + "386", + "387", + "388", + "389", + "390", + "411", + "413", + "415", + "420", + "422", + "423", + "426", + "427", + "430", + "432", + "434", + "437", + "438", + "442", + "443", + "444", + "449", + "450", + "456", + "457", + "458", + "463", + "465", + "466", + "467", + "468", + "469", + "470", + "471", + "472", + "473", + "474", + "475", + "476", + "477", + "478", + "479", + "480", + "481", + "482", + "483", + "484", + "485", + "486", + "487", + "488", + "489", + "490", + "491", + "492", + "493", + "494", + "495", + "497", + "498", + "499", + "58 ", + "516", + "517", + "518", + "519", + "524", + "531", + "532", + "533", + "534", + "535", + "536", + "540", + "545", + "546", + "547", + "549", + "553", + "554", + "555", + "556", + "557", + "558", + "559", + "561", + "562", + "563", + "564", + "565", + "567", + "579", + "581", + "582", + "586", + "587", + "590", + "594", + "596", + # mobile numbers + "6##", + "7##", + "80#", + ) + + def area_code_without_separator(self) -> str: + return self.numerify(self.random_element(self.area_codes)) + + def area_code_with_separator(self) -> str: + area_code: str = self.random_element(self.area_codes) + return self.numerify(f"{area_code[0]} {area_code[1:]}") + + def phone_number(self) -> str: + pattern: str = self.random_element(self.formats) + return self.numerify(self.generator.parse(pattern)) diff --git a/faker/providers/phone_number/he_IL/__init__.py b/faker/providers/phone_number/he_IL/__init__.py index 2e0b8daa79..5c585ba468 100644 --- a/faker/providers/phone_number/he_IL/__init__.py +++ b/faker/providers/phone_number/he_IL/__init__.py @@ -3,20 +3,20 @@ class Provider(PhoneNumberProvider): formats = ( - '02#######', - '02-####-###', - '03#######', - '03-####-###', - '04#######', - '04-####-###', - '08#######', - '08-####-###', - '09#######', - '09-####-###', - '05#-###-####', - '05# ###-####', - '05# ### ####', - '05#-#######', - '05# #######', - '05########', + "02#######", + "02-####-###", + "03#######", + "03-####-###", + "04#######", + "04-####-###", + "08#######", + "08-####-###", + "09#######", + "09-####-###", + "05#-###-####", + "05# ###-####", + "05# ### ####", + "05#-#######", + "05# #######", + "05########", ) diff --git a/faker/providers/phone_number/hi_IN/__init__.py b/faker/providers/phone_number/hi_IN/__init__.py index 6ce264094c..8a0afd5556 100644 --- a/faker/providers/phone_number/hi_IN/__init__.py +++ b/faker/providers/phone_number/hi_IN/__init__.py @@ -3,9 +3,9 @@ class Provider(PhoneNumberProvider): formats = ( - '+91 ##########', - '+91 ### #######', - '0##-########', - '0##########', - '0#### ######', + "+91 ##########", + "+91 ### #######", + "0##-########", + "0##########", + "0#### ######", ) diff --git a/faker/providers/phone_number/hr_HR/__init__.py b/faker/providers/phone_number/hr_HR/__init__.py index 3460e3b1db..1eb01ce485 100755 --- a/faker/providers/phone_number/hr_HR/__init__.py +++ b/faker/providers/phone_number/hr_HR/__init__.py @@ -3,34 +3,34 @@ class Provider(PhoneNumberProvider): formats = ( - '01 #### ###', - '020 ### ###', - '021 ### ###', - '022 ### ###', - '023 ### ###', - '031 ### ###', - '032 ### ###', - '033 ### ###', - '034 ### ###', - '035 ### ###', - '040 ### ###', - '042 ### ###', - '043 ### ###', - '044 ### ###', - '047 ### ###', - '048 ### ###', - '049 ### ###', - '051 ### ###', - '052 ### ###', - '053 ### ###', - '060 ### ###', - '072 ### ###', - '074 ### ###', - '091 #### ###', - '092 #### ###', - '095 #### ###', - '097 #### ###', - '098 #### ###', - '099 #### ###', - '0800 ## ##', + "01 #### ###", + "020 ### ###", + "021 ### ###", + "022 ### ###", + "023 ### ###", + "031 ### ###", + "032 ### ###", + "033 ### ###", + "034 ### ###", + "035 ### ###", + "040 ### ###", + "042 ### ###", + "043 ### ###", + "044 ### ###", + "047 ### ###", + "048 ### ###", + "049 ### ###", + "051 ### ###", + "052 ### ###", + "053 ### ###", + "060 ### ###", + "072 ### ###", + "074 ### ###", + "091 #### ###", + "092 #### ###", + "095 #### ###", + "097 #### ###", + "098 #### ###", + "099 #### ###", + "0800 ## ##", ) diff --git a/faker/providers/phone_number/hu_HU/__init__.py b/faker/providers/phone_number/hu_HU/__init__.py index 2dd0994122..b4a4c9c8c8 100644 --- a/faker/providers/phone_number/hu_HU/__init__.py +++ b/faker/providers/phone_number/hu_HU/__init__.py @@ -3,11 +3,11 @@ class Provider(PhoneNumberProvider): formats = ( - '+36 ## ###-####', - '(06)##/###-####', - '(##)/###-####', - '##/###-####', - '##/### ####', - '06-#/### ####', - '06-##/### ####', + "+36 ## ###-####", + "(06)##/###-####", + "(##)/###-####", + "##/###-####", + "##/### ####", + "06-#/### ####", + "06-##/### ####", ) diff --git a/faker/providers/phone_number/hy_AM/__init__.py b/faker/providers/phone_number/hy_AM/__init__.py index 47f83c4464..60684c21f8 100644 --- a/faker/providers/phone_number/hy_AM/__init__.py +++ b/faker/providers/phone_number/hy_AM/__init__.py @@ -5,16 +5,16 @@ class Provider(PhoneNumberProvider): # Source: https://en.wikipedia.org/wiki/Telephone_numbers_in_Armenia formats = ( - '2##-#####', - '3##-#####', - '(2##) #####', - '(3##) #####', - '2##.#####', - '3##.#####', - '10-######', - '(10) ######', - '10.######', - '9#-######', - '(9#) ######', - '9#.######', + "2##-#####", + "3##-#####", + "(2##) #####", + "(3##) #####", + "2##.#####", + "3##.#####", + "10-######", + "(10) ######", + "10.######", + "9#-######", + "(9#) ######", + "9#.######", ) diff --git a/faker/providers/phone_number/id_ID/__init__.py b/faker/providers/phone_number/id_ID/__init__.py index 5da490a058..35b75971be 100644 --- a/faker/providers/phone_number/id_ID/__init__.py +++ b/faker/providers/phone_number/id_ID/__init__.py @@ -4,30 +4,22 @@ class Provider(PhoneNumberProvider): # Currently this is my own work formats = ( - '+62-##-###-####', - '+62-0##-###-####', - - '+62 (0##) ### ####', - '+62 (0##) ###-####', - - '+62 (##) ### ####', - '+62 (##) ###-####', - - '+62-###-###-####', - '+62-0###-###-####', - - '+62 (0###) ### ####', - '+62 (0###) ###-####', - - '+62 (###) ### ####', - '+62 (###) ###-####', - - '(0##) ### ####', - '(0##) ###-####', - - '(0###) ### ####', - '(0###) ###-####', - - '08# ### ####', - '08########', + "+62-##-###-####", + "+62-0##-###-####", + "+62 (0##) ### ####", + "+62 (0##) ###-####", + "+62 (##) ### ####", + "+62 (##) ###-####", + "+62-###-###-####", + "+62-0###-###-####", + "+62 (0###) ### ####", + "+62 (0###) ###-####", + "+62 (###) ### ####", + "+62 (###) ###-####", + "(0##) ### ####", + "(0##) ###-####", + "(0###) ### ####", + "(0###) ###-####", + "08# ### ####", + "08########", ) diff --git a/faker/providers/phone_number/it_IT/__init__.py b/faker/providers/phone_number/it_IT/__init__.py index 9aeae6bad1..a7cb3821d5 100644 --- a/faker/providers/phone_number/it_IT/__init__.py +++ b/faker/providers/phone_number/it_IT/__init__.py @@ -3,11 +3,11 @@ class Provider(PhoneNumberProvider): formats = ( - '+39 ### ## ## ####', - '+39 ## #######', - '+39 ## ########', - '+39 ### #######', - '+39 ### ########', - '+39 #### #######', - '+39 #### ########', + "+39 ### ## ## ####", + "+39 ## #######", + "+39 ## ########", + "+39 ### #######", + "+39 ### ########", + "+39 #### #######", + "+39 #### ########", ) diff --git a/faker/providers/phone_number/ja_JP/__init__.py b/faker/providers/phone_number/ja_JP/__init__.py index c449ee3df3..0881adaca1 100644 --- a/faker/providers/phone_number/ja_JP/__init__.py +++ b/faker/providers/phone_number/ja_JP/__init__.py @@ -3,8 +3,8 @@ class Provider(PhoneNumberProvider): formats = ( - '070-####-####', - '080-####-####', - '090-####-####', - '##-####-####', + "070-####-####", + "080-####-####", + "090-####-####", + "##-####-####", ) diff --git a/faker/providers/phone_number/ko_KR/__init__.py b/faker/providers/phone_number/ko_KR/__init__.py index f8618fa2dd..79b3e94e20 100644 --- a/faker/providers/phone_number/ko_KR/__init__.py +++ b/faker/providers/phone_number/ko_KR/__init__.py @@ -3,28 +3,28 @@ class Provider(PhoneNumberProvider): formats = ( - '02-####-####', - '031-###-####', - '032-###-####', - '033-###-####', - '041-###-####', - '042-###-####', - '043-###-####', - '044-###-####', - '051-###-####', - '052-###-####', - '053-###-####', - '054-###-####', - '055-###-####', - '061-###-####', - '062-###-####', - '063-###-####', - '064-7##-####', - '010-####-####', - '011-###-####', - '016-###-####', - '017-###-####', - '018-###-####', - '019-###-####', - '070-####-####', + "02-####-####", + "031-###-####", + "032-###-####", + "033-###-####", + "041-###-####", + "042-###-####", + "043-###-####", + "044-###-####", + "051-###-####", + "052-###-####", + "053-###-####", + "054-###-####", + "055-###-####", + "061-###-####", + "062-###-####", + "063-###-####", + "064-7##-####", + "010-####-####", + "011-###-####", + "016-###-####", + "017-###-####", + "018-###-####", + "019-###-####", + "070-####-####", ) diff --git a/faker/providers/phone_number/lt_LT/__init__.py b/faker/providers/phone_number/lt_LT/__init__.py index ebcb7620f9..a22e9728f3 100644 --- a/faker/providers/phone_number/lt_LT/__init__.py +++ b/faker/providers/phone_number/lt_LT/__init__.py @@ -3,7 +3,7 @@ class Provider(PhoneNumberProvider): formats = ( - '+370 ########', - '+(370) ########', - '+370########', + "+370 ########", + "+(370) ########", + "+370########", ) diff --git a/faker/providers/phone_number/lv_LV/__init__.py b/faker/providers/phone_number/lv_LV/__init__.py index 44b08344f0..c1d3ced32f 100644 --- a/faker/providers/phone_number/lv_LV/__init__.py +++ b/faker/providers/phone_number/lv_LV/__init__.py @@ -3,7 +3,7 @@ class Provider(PhoneNumberProvider): formats = ( - '+371 ########', - '+(371) ########', - '+371########', + "+371 ########", + "+(371) ########", + "+371########", ) diff --git a/faker/providers/phone_number/ne_NP/__init__.py b/faker/providers/phone_number/ne_NP/__init__.py index 4d88a24037..94a1fddbc6 100644 --- a/faker/providers/phone_number/ne_NP/__init__.py +++ b/faker/providers/phone_number/ne_NP/__init__.py @@ -3,9 +3,9 @@ class Provider(PhoneNumberProvider): formats = ( - '+977 ##########', - '+977 ### #######', - '984#######', - '985#######', - '980#######', + "+977 ##########", + "+977 ### #######", + "984#######", + "985#######", + "980#######", ) diff --git a/faker/providers/phone_number/nl_BE/__init__.py b/faker/providers/phone_number/nl_BE/__init__.py index b96c4cdfe3..3b62626df6 100644 --- a/faker/providers/phone_number/nl_BE/__init__.py +++ b/faker/providers/phone_number/nl_BE/__init__.py @@ -3,20 +3,20 @@ class Provider(PhoneNumberProvider): formats = ( - '0### ######', - '0## #######', - '+32### ######', - '+32## #######', - '+32(0)### ######', - '+32(0)## #######', - '(0###) ######', - '(0##) #######', - '0###-######', - '0##-#######', - '+32###-######', - '+32##-#######', - '+32(0)###-######', - '+32(0)##-#######', - '(0###)-######', - '(0##)-#######', + "0### ######", + "0## #######", + "+32### ######", + "+32## #######", + "+32(0)### ######", + "+32(0)## #######", + "(0###) ######", + "(0##) #######", + "0###-######", + "0##-#######", + "+32###-######", + "+32##-#######", + "+32(0)###-######", + "+32(0)##-#######", + "(0###)-######", + "(0##)-#######", ) diff --git a/faker/providers/phone_number/nl_NL/__init__.py b/faker/providers/phone_number/nl_NL/__init__.py index d1ad16b4b2..6c3fd06c4f 100644 --- a/faker/providers/phone_number/nl_NL/__init__.py +++ b/faker/providers/phone_number/nl_NL/__init__.py @@ -3,20 +3,20 @@ class Provider(PhoneNumberProvider): formats = ( - '0### ######', - '0## #######', - '+31### ######', - '+31## #######', - '+31(0)### ######', - '+31(0)## #######', - '(0###) ######', - '(0##) #######', - '0###-######', - '0##-#######', - '+31###-######', - '+31##-#######', - '+31(0)###-######', - '+31(0)##-#######', - '(0###)-######', - '(0##)-#######', + "0### ######", + "0## #######", + "+31### ######", + "+31## #######", + "+31(0)### ######", + "+31(0)## #######", + "(0###) ######", + "(0##) #######", + "0###-######", + "0##-#######", + "+31###-######", + "+31##-#######", + "+31(0)###-######", + "+31(0)##-#######", + "(0###)-######", + "(0##)-#######", ) diff --git a/faker/providers/phone_number/no_NO/__init__.py b/faker/providers/phone_number/no_NO/__init__.py index c0cfb077d7..cc1e8981c3 100644 --- a/faker/providers/phone_number/no_NO/__init__.py +++ b/faker/providers/phone_number/no_NO/__init__.py @@ -3,14 +3,14 @@ class Provider(PhoneNumberProvider): formats = ( - '+47########', - '+47 ## ## ## ##', - '## ## ## ##', - '## ## ## ##', - '########', - '########', - '9## ## ###', - '4## ## ###', - '9#######', - '4#######', + "+47########", + "+47 ## ## ## ##", + "## ## ## ##", + "## ## ## ##", + "########", + "########", + "9## ## ###", + "4## ## ###", + "9#######", + "4#######", ) diff --git a/faker/providers/phone_number/pl_PL/__init__.py b/faker/providers/phone_number/pl_PL/__init__.py index bb141c0f2d..651b96c231 100644 --- a/faker/providers/phone_number/pl_PL/__init__.py +++ b/faker/providers/phone_number/pl_PL/__init__.py @@ -5,34 +5,32 @@ class Provider(PhoneNumberProvider): formats = ( # Mobile # Government website: http://www.uke.gov.pl/numeracja-843 - '50# ### ###', - '51# ### ###', - '53# ### ###', - '57# ### ###', - '60# ### ###', - '66# ### ###', - '69# ### ###', - '72# ### ###', - '73# ### ###', - '78# ### ###', - '79# ### ###', - '88# ### ###', - - '+48 50# ### ###', - '+48 51# ### ###', - '+48 53# ### ###', - '+48 57# ### ###', - '+48 60# ### ###', - '+48 66# ### ###', - '+48 69# ### ###', - '+48 72# ### ###', - '+48 73# ### ###', - '+48 78# ### ###', - '+48 79# ### ###', - '+48 88# ### ###', - - '32 ### ## ##', - '+48 32 ### ## ##', - '22 ### ## ##', - '+48 22 ### ## ##', + "50# ### ###", + "51# ### ###", + "53# ### ###", + "57# ### ###", + "60# ### ###", + "66# ### ###", + "69# ### ###", + "72# ### ###", + "73# ### ###", + "78# ### ###", + "79# ### ###", + "88# ### ###", + "+48 50# ### ###", + "+48 51# ### ###", + "+48 53# ### ###", + "+48 57# ### ###", + "+48 60# ### ###", + "+48 66# ### ###", + "+48 69# ### ###", + "+48 72# ### ###", + "+48 73# ### ###", + "+48 78# ### ###", + "+48 79# ### ###", + "+48 88# ### ###", + "32 ### ## ##", + "+48 32 ### ## ##", + "22 ### ## ##", + "+48 22 ### ## ##", ) diff --git a/faker/providers/phone_number/pt_BR/__init__.py b/faker/providers/phone_number/pt_BR/__init__.py index 46b1fb0b00..37adf4b336 100644 --- a/faker/providers/phone_number/pt_BR/__init__.py +++ b/faker/providers/phone_number/pt_BR/__init__.py @@ -3,105 +3,138 @@ class Provider(PhoneNumberProvider): formats = ( - '+55 (011) #### ####', - '+55 (021) #### ####', - '+55 (031) #### ####', - '+55 (041) #### ####', - '+55 (051) #### ####', - '+55 (061) #### ####', - '+55 (071) #### ####', - '+55 (081) #### ####', - '+55 (084) #### ####', - '+55 11 #### ####', - '+55 21 #### ####', - '+55 31 #### ####', - '+55 41 #### ####', - '+55 51 #### ####', - '+55 61 #### ####', - '+55 71 #### ####', - '+55 81 #### ####', - '+55 84 #### ####', - '+55 (011) ####-####', - '+55 (021) ####-####', - '+55 (031) ####-####', - '+55 (041) ####-####', - '+55 (051) ####-####', - '+55 (061) ####-####', - '+55 (071) ####-####', - '+55 (081) ####-####', - '+55 (084) ####-####', - '+55 11 ####-####', - '+55 21 ####-####', - '+55 31 ####-####', - '+55 41 ####-####', - '+55 51 #### ####', - '+55 61 ####-####', - '+55 71 ####-####', - '+55 81 ####-####', - '+55 84 ####-####', - '(011) #### ####', - '(021) #### ####', - '(031) #### ####', - '(041) #### ####', - '(051) #### ####', - '(061) #### ####', - '(071) #### ####', - '(081) #### ####', - '(084) #### ####', - '11 #### ####', - '21 #### ####', - '31 #### ####', - '41 #### ####', - '51 #### ####', - '61 #### ####', - '71 #### ####', - '81 #### ####', - '84 #### ####', - '(011) ####-####', - '(021) ####-####', - '(031) ####-####', - '(041) ####-####', - '(051) ####-####', - '(061) ####-####', - '(071) ####-####', - '(081) ####-####', - '(084) ####-####', - '11 ####-####', - '21 ####-####', - '31 ####-####', - '41 ####-####', - '51 #### ####', - '61 ####-####', - '71 ####-####', - '81 ####-####', - '84 ####-####', + "+55 (011) #### ####", + "+55 (021) #### ####", + "+55 (031) #### ####", + "+55 (041) #### ####", + "+55 (051) #### ####", + "+55 (061) #### ####", + "+55 (071) #### ####", + "+55 (081) #### ####", + "+55 (084) #### ####", + "+55 11 #### ####", + "+55 21 #### ####", + "+55 31 #### ####", + "+55 41 #### ####", + "+55 51 #### ####", + "+55 61 #### ####", + "+55 71 #### ####", + "+55 81 #### ####", + "+55 84 #### ####", + "+55 (011) ####-####", + "+55 (021) ####-####", + "+55 (031) ####-####", + "+55 (041) ####-####", + "+55 (051) ####-####", + "+55 (061) ####-####", + "+55 (071) ####-####", + "+55 (081) ####-####", + "+55 (084) ####-####", + "+55 11 ####-####", + "+55 21 ####-####", + "+55 31 ####-####", + "+55 41 ####-####", + "+55 51 #### ####", + "+55 61 ####-####", + "+55 71 ####-####", + "+55 81 ####-####", + "+55 84 ####-####", + "(011) #### ####", + "(021) #### ####", + "(031) #### ####", + "(041) #### ####", + "(051) #### ####", + "(061) #### ####", + "(071) #### ####", + "(081) #### ####", + "(084) #### ####", + "11 #### ####", + "21 #### ####", + "31 #### ####", + "41 #### ####", + "51 #### ####", + "61 #### ####", + "71 #### ####", + "81 #### ####", + "84 #### ####", + "(011) ####-####", + "(021) ####-####", + "(031) ####-####", + "(041) ####-####", + "(051) ####-####", + "(061) ####-####", + "(071) ####-####", + "(081) ####-####", + "(084) ####-####", + "11 ####-####", + "21 ####-####", + "31 ####-####", + "41 ####-####", + "51 #### ####", + "61 ####-####", + "71 ####-####", + "81 ####-####", + "84 ####-####", + "0300 ### ####", + "0500 ### ####", + "0800 ### ####", + "0900 ### ####", + "0300-###-####", + "0500-###-####", + "0800-###-####", + "0900-###-####", ) msisdn_formats = ( - '55119########', - '55219########', - '55319########', - '55419########', - '55519########', - '55619########', - '55719########', - '55819########', - '55849########', + "55119########", + "55219########", + "55319########", + "55419########", + "55519########", + "55619########", + "55719########", + "55819########", + "55849########", ) cellphone_formats = ( - '+55 ## 9#### ####', - '+55 ## 9 #### ####', - '+55 (0##) 9#### ####', - '+55 (##) 9#### ####', - '+55 (##) 9 #### ####', - '+55 ## 9####-####', - '+55 ## 9 ####-####', - '+55 (0##) 9####-####', - '+55 (##) 9####-####', - '+55 (##) 9 ####-####', + "+55 ## 9#### ####", + "+55 ## 9 #### ####", + "+55 (0##) 9#### ####", + "+55 (##) 9#### ####", + "+55 (##) 9 #### ####", + "+55 ## 9####-####", + "+55 ## 9 ####-####", + "+55 (0##) 9####-####", + "+55 (##) 9####-####", + "+55 (##) 9 ####-####", ) - def cellphone_number(self): - pattern = self.random_element(self.cellphone_formats) + services_phones_formats = ( + "100", + "128", + "151", + "152", + "153", + "156", + "180", + "181", + "185", + "188", + "190", + "191", + "192", + "193", + "194", + "197", + "198", + "199", + ) + + def cellphone_number(self) -> str: + pattern: str = self.random_element(self.cellphone_formats) + return self.numerify(self.generator.parse(pattern)) + + def service_phone_number(self) -> str: + pattern: str = self.random_element(self.services_phones_formats) return self.numerify(self.generator.parse(pattern)) diff --git a/faker/providers/phone_number/pt_PT/__init__.py b/faker/providers/phone_number/pt_PT/__init__.py index bdf9ad049b..701cbbd3d0 100644 --- a/faker/providers/phone_number/pt_PT/__init__.py +++ b/faker/providers/phone_number/pt_PT/__init__.py @@ -3,39 +3,39 @@ class Provider(PhoneNumberProvider): formats = ( - '(351) 91# ### ###', - '(351) 92# ### ###', - '(351) 93# ### ###', - '(351) 96# ### ###', - '(351) 2## ### ###', - '(351) 91#######', - '(351) 92#######', - '(351) 93#######', - '(351) 96#######', - '(351) 2########', - '(351) 91# ### ###', - '(351) 92# ### ###', - '(351) 93# ### ###', - '(351) 96# ### ###', - '(351) 2## ### ###', - '(351) 91#######', - '(351) 92#######', - '(351) 93#######', - '(351) 96#######', - '(351) 2########', - '+35191#######', - '+35192#######', - '+35193#######', - '+35196#######', - '+3512########', - '91# ### ###', - '92# ### ###', - '93# ### ###', - '96# ### ###', - '2## ### ###', - '91#######', - '92#######', - '93#######', - '96#######', - '2########', + "(351) 91# ### ###", + "(351) 92# ### ###", + "(351) 93# ### ###", + "(351) 96# ### ###", + "(351) 2## ### ###", + "(351) 91#######", + "(351) 92#######", + "(351) 93#######", + "(351) 96#######", + "(351) 2########", + "(351) 91# ### ###", + "(351) 92# ### ###", + "(351) 93# ### ###", + "(351) 96# ### ###", + "(351) 2## ### ###", + "(351) 91#######", + "(351) 92#######", + "(351) 93#######", + "(351) 96#######", + "(351) 2########", + "+35191#######", + "+35192#######", + "+35193#######", + "+35196#######", + "+3512########", + "91# ### ###", + "92# ### ###", + "93# ### ###", + "96# ### ###", + "2## ### ###", + "91#######", + "92#######", + "93#######", + "96#######", + "2########", ) diff --git a/faker/providers/phone_number/ro_RO/__init__.py b/faker/providers/phone_number/ro_RO/__init__.py new file mode 100644 index 0000000000..9564e5b894 --- /dev/null +++ b/faker/providers/phone_number/ro_RO/__init__.py @@ -0,0 +1,105 @@ +from .. import Provider as PhoneNumberProvider + + +class Provider(PhoneNumberProvider): + formats = ( + "021 ### ####", + "0231 ### ###", + "0232 ### ###", + "0233 ### ###", + "0234 ### ###", + "0235 ### ###", + "0236 ### ###", + "0237 ### ###", + "0238 ### ###", + "0239 ### ###", + "0240 ### ###", + "0241 ### ###", + "0242 ### ###", + "0243 ### ###", + "0244 ### ###", + "0245 ### ###", + "0246 ### ###", + "0247 ### ###", + "0248 ### ###", + "0249 ### ###", + "0250 ### ###", + "0251 ### ###", + "0252 ### ###", + "0253 ### ###", + "0254 ### ###", + "0255 ### ###", + "0256 ### ###", + "0257 ### ###", + "0258 ### ###", + "0259 ### ###", + "0260 ### ###", + "0261 ### ###", + "0262 ### ###", + "0263 ### ###", + "0264 ### ###", + "0265 ### ###", + "0266 ### ###", + "0267 ### ###", + "0268 ### ###", + "0269 ### ###", + "0786 ### ###", + "0760 ### ###", + "0761 ### ###", + "0762 ### ###", + "0763 ### ###", + "0764 ### ###", + "0765 ### ###", + "0766 ### ###", + "0767 ### ###", + "0785 ### ###", + "0768 ### ###", + "0769 ### ###", + "0784 ### ###", + "0770 ### ###", + "0772 ### ###", + "0771 ### ###", + "0749 ### ###", + "0750 ### ###", + "0751 ### ###", + "0752 ### ###", + "0753 ### ###", + "0754 ### ###", + "0755 ### ###", + "0756 ### ###", + "0757 ### ###", + "0758 ### ###", + "0759 ### ###", + "0748 ### ###", + "0747 ### ###", + "0746 ### ###", + "0740 ### ###", + "0741 ### ###", + "0742 ### ###", + "0743 ### ###", + "0744 ### ###", + "0745 ### ###", + "0711 ### ###", + "0727 ### ###", + "0725 ### ###", + "0724 ### ###", + "0726 ### ###", + "0723 ### ###", + "0722 ### ###", + "0721 ### ###", + "0720 ### ###", + "0728 ### ###", + "0729 ### ###", + "0730 ### ###", + "0739 ### ###", + "0738 ### ###", + "0737 ### ###", + "0736 ### ###", + "0735 ### ###", + "0734 ### ###", + "0733 ### ###", + "0732 ### ###", + "0731 ### ###", + "0780 ### ###", + "0788 ### ###", + ) diff --git a/faker/providers/phone_number/ru_RU/__init__.py b/faker/providers/phone_number/ru_RU/__init__.py index debffb1e7b..796b1dc65f 100644 --- a/faker/providers/phone_number/ru_RU/__init__.py +++ b/faker/providers/phone_number/ru_RU/__init__.py @@ -3,14 +3,14 @@ class Provider(PhoneNumberProvider): formats = ( - '+7 ### ### ####', - '+7 ### ### ## ##', - '+7 (###) ###-##-##', - '+7 (###) ###-####', - '+7##########', - '8 ### ### ####', - '8 ### ### ## ##', - '8 (###) ###-##-##', - '8 (###) ###-####', - '8##########', + "+7 ### ### ####", + "+7 ### ### ## ##", + "+7 (###) ###-##-##", + "+7 (###) ###-####", + "+7##########", + "8 ### ### ####", + "8 ### ### ## ##", + "8 (###) ###-##-##", + "8 (###) ###-####", + "8##########", ) diff --git a/faker/providers/phone_number/sk_SK/__init__.py b/faker/providers/phone_number/sk_SK/__init__.py index f1fcc8a2d4..632b186aa7 100644 --- a/faker/providers/phone_number/sk_SK/__init__.py +++ b/faker/providers/phone_number/sk_SK/__init__.py @@ -3,14 +3,14 @@ class Provider(PhoneNumberProvider): formats = ( - '+421 2 ########', - '+421 3# ### ####', - '+421 4# ### ####', - '+421 5# ### ####', - '+421 90# ### ###', - '+421 91# ### ###', - '+421 940 ### ###', - '+421 944 ### ###', - '+421 948 ### ###', - '+421 949 ### ###', + "+421 2 ########", + "+421 3# ### ####", + "+421 4# ### ####", + "+421 5# ### ####", + "+421 90# ### ###", + "+421 91# ### ###", + "+421 940 ### ###", + "+421 944 ### ###", + "+421 948 ### ###", + "+421 949 ### ###", ) diff --git a/faker/providers/phone_number/sl_SI/__init__.py b/faker/providers/phone_number/sl_SI/__init__.py index 31264103e8..0199fb8d43 100755 --- a/faker/providers/phone_number/sl_SI/__init__.py +++ b/faker/providers/phone_number/sl_SI/__init__.py @@ -3,15 +3,15 @@ class Provider(PhoneNumberProvider): formats = ( - '040 ### ###', - '041 ### ###', - '031 ### ###', - '030 ### ###', - '070 ### ###', - '01 #### ###', - '02 #### ###', - '04 #### ###', - '05 #### ###', - '06 #### ###', - '08 #### ###', + "040 ### ###", + "041 ### ###", + "031 ### ###", + "030 ### ###", + "070 ### ###", + "01 #### ###", + "02 #### ###", + "04 #### ###", + "05 #### ###", + "06 #### ###", + "08 #### ###", ) diff --git a/faker/providers/phone_number/sv_SE/__init__.py b/faker/providers/phone_number/sv_SE/__init__.py index 5b87301899..21f25b201a 100644 --- a/faker/providers/phone_number/sv_SE/__init__.py +++ b/faker/providers/phone_number/sv_SE/__init__.py @@ -3,14 +3,14 @@ class Provider(PhoneNumberProvider): formats = ( - '+46 (0)8 ### ### ##', - '+46 (0)## ## ## ##', - '+46 (0)### ### ##', - '08-### ### ##', - '08-### ## ##', - '08-## ## ##', - '0##-### ## ##', - '0##-## ## ##', - '0###-## ## ##', - '0###-### ##', + "+46 (0)8 ### ### ##", + "+46 (0)## ## ## ##", + "+46 (0)### ### ##", + "08-### ### ##", + "08-### ## ##", + "08-## ## ##", + "0##-### ## ##", + "0##-## ## ##", + "0###-## ## ##", + "0###-### ##", ) diff --git a/faker/providers/phone_number/ta_IN/__init__.py b/faker/providers/phone_number/ta_IN/__init__.py index 6ce264094c..8a0afd5556 100644 --- a/faker/providers/phone_number/ta_IN/__init__.py +++ b/faker/providers/phone_number/ta_IN/__init__.py @@ -3,9 +3,9 @@ class Provider(PhoneNumberProvider): formats = ( - '+91 ##########', - '+91 ### #######', - '0##-########', - '0##########', - '0#### ######', + "+91 ##########", + "+91 ### #######", + "0##-########", + "0##########", + "0#### ######", ) diff --git a/faker/providers/phone_number/th_TH/__init__.py b/faker/providers/phone_number/th_TH/__init__.py index 9c0ba03600..d1f5eb6525 100644 --- a/faker/providers/phone_number/th_TH/__init__.py +++ b/faker/providers/phone_number/th_TH/__init__.py @@ -2,7 +2,71 @@ class Provider(PhoneNumberProvider): + # as per https://en.wikipedia.org/wiki/Telephone_numbers_in_Thailand formats = ( - '+66 #### ####', - '+668 #### ####', + # landline (9 digits, starts with 02, 03, 04, 05, or 07) + "+66 2### ####", + "+662 ### ####", + "+66 (0) 2### ####", + "02#######", + "0 2### ####", + "02# ######", + "02#-######", + "0-2###-####", + "02 ### ####", + "+66 3### ####", + "+663 ### ####", + "+66 (0) 3### ####", + "03#######", + "0 3### ####", + "03# ######", + "03#-######", + "0-3###-####", + "03 ### ####", + "+66 4### ####", + "+664 ### ####", + "+66 (0) 4### ####", + "04#######", + "0 4### ####", + "04# ######", + "04#-######", + "0-4###-####", + "04 ### ####", + "+66 5### ####", + "+665 ### ####", + "+66 (0) 5### ####", + "05#######", + "0 5### ####", + "05# ######", + "05#-######", + "0-5###-####", + "05 ### ####", + "+66 7### ####", + "+667 ### ####", + "+66 (0) 7### ####", + "07#######", + "0 7### ####", + "07# ######", + "07#-######", + "0-7###-####", + "07 ### ####", + # mobile (10 digits, starts with 06, 08, or 09) + "+66 6## ### ###", + "+66 (0) 6## ### ###", + "06########", + "0 6## ### ###", + "06# ### ####", + "06#-###-####", + "+66 8## ### ###", + "+66 (0) 8## ### ###", + "08########", + "0 8## ### ###", + "08# ### ####", + "08#-###-####", + "+66 9## ### ###", + "+66 (0) 9## ### ###", + "09########", + "0 9## ### ###", + "09# ### ####", + "09#-###-####", ) diff --git a/faker/providers/phone_number/tl_PH/__init__.py b/faker/providers/phone_number/tl_PH/__init__.py index 517183a824..7e315d8ff9 100644 --- a/faker/providers/phone_number/tl_PH/__init__.py +++ b/faker/providers/phone_number/tl_PH/__init__.py @@ -3,4 +3,5 @@ class Provider(EnPhPhoneNumberProvider): """No difference from Phone Number Provider for en_PH locale""" + pass diff --git a/faker/providers/phone_number/tr_TR/__init__.py b/faker/providers/phone_number/tr_TR/__init__.py index 90c28c921b..4321d7a8d3 100644 --- a/faker/providers/phone_number/tr_TR/__init__.py +++ b/faker/providers/phone_number/tr_TR/__init__.py @@ -3,13 +3,13 @@ class Provider(PhoneNumberProvider): formats = ( - '+90(###)#######', - '+90 (###) #######', - '0### ### ## ##', - '0##########', - '0###-### ####', - '(###)### ####', - '### # ###', - '+90(###)###-####x###', - '+90(###)###-####x####', + "+90(###)#######", + "+90 (###) #######", + "0### ### ## ##", + "0##########", + "0###-### ####", + "(###)### ####", + "### # ###", + "+90(###)###-####x###", + "+90(###)###-####x####", ) diff --git a/faker/providers/phone_number/tw_GH/__init__.py b/faker/providers/phone_number/tw_GH/__init__.py index 0e0be18647..530f7cc485 100644 --- a/faker/providers/phone_number/tw_GH/__init__.py +++ b/faker/providers/phone_number/tw_GH/__init__.py @@ -3,24 +3,24 @@ class Provider(PhoneNumberProvider): formats = ( - '+23327#######', - '+23357#######', - '+23355#######', - '+23324#######', - '+23354#######', - '+23320#######', - '+23350#######', - '+23326#######', - '+23356#######', - '+23328#######', - '024#######', - '054#######', - '055#######', - '027#######', - '057#######', - '020#######', - '050#######', - '026#######', - '056#######', - '028#######', + "+23327#######", + "+23357#######", + "+23355#######", + "+23324#######", + "+23354#######", + "+23320#######", + "+23350#######", + "+23326#######", + "+23356#######", + "+23328#######", + "024#######", + "054#######", + "055#######", + "027#######", + "057#######", + "020#######", + "050#######", + "026#######", + "056#######", + "028#######", ) diff --git a/faker/providers/phone_number/uk_UA/__init__.py b/faker/providers/phone_number/uk_UA/__init__.py index f213462088..1da25ee43f 100644 --- a/faker/providers/phone_number/uk_UA/__init__.py +++ b/faker/providers/phone_number/uk_UA/__init__.py @@ -3,12 +3,12 @@ class Provider(PhoneNumberProvider): formats = ( - '###-##-##', - '### ## ##', - '0## ### ## ##', - '0## ###-##-##', - '+38 0## ###-##-##', - '+38 0## ###-##-##', - '+38 (0##) ###-##-##', - '+38 0## ### ## ##', + "###-##-##", + "### ## ##", + "0## ### ## ##", + "0## ###-##-##", + "+38 0## ###-##-##", + "+38 0## ###-##-##", + "+38 (0##) ###-##-##", + "+38 0## ### ## ##", ) diff --git a/faker/providers/phone_number/zh_CN/__init__.py b/faker/providers/phone_number/zh_CN/__init__.py index 94533fd9d2..6a7665b7e8 100644 --- a/faker/providers/phone_number/zh_CN/__init__.py +++ b/faker/providers/phone_number/zh_CN/__init__.py @@ -2,11 +2,39 @@ class Provider(PhoneNumberProvider): - phonenumber_prefixes = [134, 135, 136, 137, 138, 139, 147, 150, - 151, 152, 157, 158, 159, 182, 187, 188, - 130, 131, 132, 145, 155, 156, 185, 186, - 145, 133, 153, 180, 181, 189] + phonenumber_prefixes = [ + 134, + 135, + 136, + 137, + 138, + 139, + 147, + 150, + 151, + 152, + 157, + 158, + 159, + 182, + 187, + 188, + 130, + 131, + 132, + 145, + 155, + 156, + 185, + 186, + 145, + 133, + 153, + 180, + 181, + 189, + ] formats = [str(i) + "########" for i in phonenumber_prefixes] - def phonenumber_prefix(self): + def phonenumber_prefix(self) -> int: return self.random_element(self.phonenumber_prefixes) diff --git a/faker/providers/phone_number/zh_TW/__init__.py b/faker/providers/phone_number/zh_TW/__init__.py index 9a7fcf652f..d5572dc099 100644 --- a/faker/providers/phone_number/zh_TW/__init__.py +++ b/faker/providers/phone_number/zh_TW/__init__.py @@ -4,10 +4,12 @@ class Provider(PhoneNumberProvider): - formats = ("(0#) %#######", - "0#-%#######", - "0## %#######", - "09########", - "09##-######", - "0#-%######", - "0# %######") + formats = ( + "(0#) %#######", + "0#-%#######", + "0## %#######", + "09########", + "09##-######", + "0#-%######", + "0# %######", + ) diff --git a/faker/providers/profile/__init__.py b/faker/providers/profile/__init__.py index 59897baead..7989268ab6 100644 --- a/faker/providers/profile/__init__.py +++ b/faker/providers/profile/__init__.py @@ -1,5 +1,10 @@ import itertools +from datetime import date +from decimal import Decimal +from typing import Dict, List, Optional, Tuple, Union + +from ...typing import GenderType from .. import BaseProvider @@ -9,27 +14,27 @@ class Provider(BaseProvider): """ - def simple_profile(self, sex=None): + def simple_profile(self, sex: Optional[GenderType] = None) -> Dict[str, Union[str, date, GenderType]]: """ Generates a basic profile with personal informations """ - SEX = ["F", "M"] - if sex not in SEX: - sex = self.random_element(SEX) - if sex == 'F': + sex_ = self.random_element(["F", "M"]) if sex is None else sex + if sex_ == "F": name = self.generator.name_female() - elif sex == 'M': + elif sex_ == "M": name = self.generator.name_male() return { "username": self.generator.user_name(), "name": name, - "sex": sex, + "sex": sex_, "address": self.generator.address(), "mail": self.generator.free_email(), "birthdate": self.generator.date_of_birth(), } - def profile(self, fields=None, sex=None): + def profile( + self, fields: Optional[List[str]] = None, sex: Optional[GenderType] = None + ) -> Dict[str, Union[str, Tuple[Decimal, Decimal], List[str], date]]: """ Generates a complete profile. If "fields" is not empty, only the fields in the list will be returned diff --git a/faker/providers/profile/en_US/__init__.py b/faker/providers/profile/en_US/__init__.py index 677c976051..e7f101f056 100644 --- a/faker/providers/profile/en_US/__init__.py +++ b/faker/providers/profile/en_US/__init__.py @@ -1,5 +1,5 @@ -from .. import Provider as ProfileProvider +from .. import Provider as ProfileProvider # pragma: no cover -class Provider(ProfileProvider): +class Provider(ProfileProvider): # pragma: no cover pass diff --git a/faker/providers/python/__init__.py b/faker/providers/python/__init__.py index e6ad557aa8..bee5084db2 100644 --- a/faker/providers/python/__init__.py +++ b/faker/providers/python/__init__.py @@ -1,24 +1,37 @@ +import math import string import sys import warnings from decimal import Decimal +from typing import Any, Dict, Iterable, Iterator, List, Optional, Tuple, Union, no_type_check -from .. import BaseProvider +from .. import BaseProvider, ElementsType + +ValueTypes = Optional[Union[List[str], Tuple[str, ...]]] class Provider(BaseProvider): - default_value_types = ( - 'str', 'str', 'str', 'str', 'float', 'int', 'int', 'decimal', - 'date_time', 'uri', 'email', + default_value_types: ElementsType = ( + "str", + "str", + "str", + "str", + "float", + "int", + "int", + "decimal", + "date_time", + "uri", + "email", ) - def _check_signature(self, value_types, allowed_types): + def _check_signature(self, value_types: ValueTypes, allowed_types: Tuple[str]) -> Tuple[str, ...]: if value_types is not None and not isinstance(value_types, (list, tuple)): value_types = [value_types] warnings.warn( - 'Passing value types as positional arguments is going to be ' - 'deprecated. Pass them as a list or tuple instead.', + "Passing value types as positional arguments is going to be " + "deprecated. Pass them as a list or tuple instead.", PendingDeprecationWarning, ) if value_types is None: @@ -38,60 +51,90 @@ def pystr(self, min_chars=None, max_chars=20): if min_chars is None: return "".join(self.random_letters(length=max_chars)) else: - assert ( - max_chars >= min_chars), "Maximum length must be greater than or equal to minium length" + assert max_chars >= min_chars, "Maximum length must be greater than or equal to minimum length" return "".join( self.random_letters( length=self.generator.random.randint(min_chars, max_chars), ), ) - def pystr_format(self, string_format='?#-###{{random_int}}{{random_letter}}', letters=string.ascii_letters): + def pystr_format(self, string_format="?#-###{{random_int}}{{random_letter}}", letters=string.ascii_letters): return self.bothify(self.generator.parse(string_format), letters=letters) - def pyfloat(self, left_digits=None, right_digits=None, positive=False, - min_value=None, max_value=None): + def pyfloat(self, left_digits=None, right_digits=None, positive=False, min_value=None, max_value=None): if left_digits is not None and left_digits < 0: - raise ValueError( - 'A float number cannot have less than 0 digits in its ' - 'integer part') + raise ValueError("A float number cannot have less than 0 digits in its " "integer part") if right_digits is not None and right_digits < 0: - raise ValueError( - 'A float number cannot have less than 0 digits in its ' - 'fractional part') + raise ValueError("A float number cannot have less than 0 digits in its " "fractional part") if left_digits == 0 and right_digits == 0: - raise ValueError( - 'A float number cannot have less than 0 digits in total') + raise ValueError("A float number cannot have less than 0 digits in total") if None not in (min_value, max_value) and min_value > max_value: - raise ValueError('Min value cannot be greater than max value') + raise ValueError("Min value cannot be greater than max value") if None not in (min_value, max_value) and min_value == max_value: - raise ValueError('Min and max value cannot be the same') - if positive and min_value is not None and min_value < 0: + raise ValueError("Min and max value cannot be the same") + if positive and min_value is not None and min_value <= 0: + raise ValueError("Cannot combine positive=True with negative or zero min_value") + if left_digits is not None and max_value and math.ceil(math.log10(abs(max_value))) > left_digits: + raise ValueError("Max value must fit within left digits") + if left_digits is not None and min_value and math.ceil(math.log10(abs(min_value))) > left_digits: + raise ValueError("Min value must fit within left digits") + + # Make sure at least either left or right is set + if left_digits is None and right_digits is None: + needed_left_digits = max(1, math.ceil(math.log10(max(abs(max_value or 1), abs(min_value or 1))))) + right_digits = self.random_int(1, sys.float_info.dig - needed_left_digits) + + # If only one side is set, choose #digits for other side + if (left_digits is None) ^ (right_digits is None): + if left_digits is None: + left_digits = max(1, sys.float_info.dig - right_digits) + else: + right_digits = max(1, sys.float_info.dig - left_digits) + + # Make sure we don't ask for too many digits! + if left_digits + right_digits > sys.float_info.dig: raise ValueError( - 'Cannot combine positive=True and negative min_value') + f"Asking for too many digits ({left_digits} + {right_digits} == {left_digits + right_digits} > " + f"{sys.float_info.dig})", + ) - left_digits = left_digits if left_digits is not None else ( - self.random_int(1, sys.float_info.dig)) - right_digits = right_digits if right_digits is not None else ( - self.random_int(0, sys.float_info.dig - left_digits)) - sign = '' + sign = "" if (min_value is not None) or (max_value is not None): + # Make sure left_digits still respected + if left_digits is not None: + if max_value is None: + max_value = 10 ** left_digits # minus smallest representable, adjusted later + if min_value is None: + min_value = -(10 ** left_digits) # plus smallest representable, adjusted later + if max_value is not None and max_value < 0: max_value += 1 # as the random_int will be generated up to max_value - 1 if min_value is not None and min_value < 0: min_value += 1 # as we then append digits after the left_number left_number = self._safe_random_int( - min_value, max_value, positive, + min_value, + max_value, + positive, ) else: - sign = '+' if positive else self.random_element(('+', '-')) + sign = "+" if positive else self.random_element(("+", "-")) left_number = self.random_number(left_digits) - return float("{}{}.{}".format( - sign, - left_number, - self.random_number(right_digits), - )) + result = float(f"{sign}{left_number}.{self.random_number(right_digits)}") + if positive and result == 0: + if right_digits: + result = float("0." + "0" * (right_digits - 1) + "1") + else: + result += sys.float_info.epsilon + + if right_digits: + result = min(result, 10 ** left_digits - float(f'0.{"0" * (right_digits - 1)}1')) + result = max(result, -(10 ** left_digits + float(f'0.{"0" * (right_digits - 1)}1'))) + else: + result = min(result, 10 ** left_digits - 1) + result = max(result, -(10 ** left_digits + 1)) + + return result def _safe_random_int(self, min_value, max_value, positive): orig_min_value = min_value @@ -112,71 +155,119 @@ def _safe_random_int(self, min_value, max_value, positive): def pyint(self, min_value=0, max_value=9999, step=1): return self.generator.random_int(min_value, max_value, step=step) - def pydecimal(self, left_digits=None, right_digits=None, positive=False, - min_value=None, max_value=None): + def pydecimal(self, left_digits=None, right_digits=None, positive=False, min_value=None, max_value=None): + if left_digits is not None and left_digits < 0: + raise ValueError("A decimal number cannot have less than 0 digits in its " "integer part") + if right_digits is not None and right_digits < 0: + raise ValueError("A decimal number cannot have less than 0 digits in its " "fractional part") + if (left_digits is not None and left_digits == 0) and (right_digits is not None and right_digits == 0): + raise ValueError("A decimal number cannot have 0 digits in total") + if None not in (min_value, max_value) and min_value > max_value: + raise ValueError("Min value cannot be greater than max value") + if None not in (min_value, max_value) and min_value == max_value: + raise ValueError("Min and max value cannot be the same") + if positive and min_value is not None and min_value <= 0: + raise ValueError("Cannot combine positive=True with negative or zero min_value") + if left_digits is not None and max_value and math.ceil(math.log10(abs(max_value))) > left_digits: + raise ValueError("Max value must fit within left digits") + if left_digits is not None and min_value and math.ceil(math.log10(abs(min_value))) > left_digits: + raise ValueError("Min value must fit within left digits") + + # if either left or right digits are not specified we randomly choose a length + max_random_digits = 100 + # Because if min_value is bigger than 10**100 + max_digits_from_value = max( + math.ceil(math.log10(abs(min_value or 1))), math.ceil(math.log10(abs(max_value or 1))) + ) + max_left_random_digits = max(max_random_digits, max_digits_from_value + 10) + + if min_value is not None and min_value >= 0: + sign = "+" + elif max_value is not None and max_value <= 0: + sign = "-" + else: + sign = "+" if positive else self.random_element(("+", "-")) + + if sign == "+": + if max_value is not None: + left_number = str(self.random_int(max(min_value or 0, 0), max_value)) + else: + min_left_digits = math.ceil(math.log10(max(min_value or 1, 1))) + left_digits = left_digits or self.random_int(min_left_digits, max_left_random_digits) + left_number = "".join([str(self.random_digit()) for i in range(0, left_digits)]) or "0" + else: + if min_value is not None: + left_number = str(self.random_int(max(max_value or 0, 0), abs(min_value))) + else: + min_left_digits = math.ceil(math.log10(abs(min(max_value or 1, 1)))) + left_digits = left_digits or self.random_int(min_left_digits, max_left_random_digits) + left_number = "".join([str(self.random_digit()) for i in range(0, left_digits)]) or "0" + + if right_digits is None: + right_digits = self.random_int(0, max_random_digits) + + right_number = "".join([str(self.random_digit()) for i in range(0, right_digits)]) + + result = Decimal(f"{sign}{left_number}.{right_number}") - float_ = self.pyfloat( - left_digits, right_digits, positive, min_value, max_value) - return Decimal(str(float_)) + # Because the random result might have the same number of decimals as max_value the random number + # might be above max_value or below min_value + if max_value is not None and result > max_value: + result = Decimal(max_value) + if min_value is not None and result < min_value: + result = Decimal(min_value) + + return result def pytuple(self, nb_elements=10, variable_nb_elements=True, value_types=None, *allowed_types): - return tuple( - self.pyset( - nb_elements, - variable_nb_elements, - value_types, - *allowed_types)) + return tuple(self._pyiterable(nb_elements, variable_nb_elements, value_types, *allowed_types)) def pyset(self, nb_elements=10, variable_nb_elements=True, value_types=None, *allowed_types): - return set( - self._pyiterable( - nb_elements, - variable_nb_elements, - value_types, - *allowed_types)) + return set(self._pyiterable(nb_elements, variable_nb_elements, value_types, *allowed_types)) def pylist(self, nb_elements=10, variable_nb_elements=True, value_types=None, *allowed_types): - return list( - self._pyiterable( - nb_elements, - variable_nb_elements, - value_types, - *allowed_types)) + return list(self._pyiterable(nb_elements, variable_nb_elements, value_types, *allowed_types)) + @no_type_check def pyiterable( - self, - nb_elements=10, - variable_nb_elements=True, - value_types=None, - *allowed_types): + self, + nb_elements: int = 10, + variable_nb_elements: bool = True, + value_types: ValueTypes = None, + *allowed_types: str, + ) -> Iterable[Any]: value_types = self._check_signature(value_types, allowed_types) return self.random_element([self.pylist, self.pytuple, self.pyset])( - nb_elements, variable_nb_elements, value_types, *allowed_types) + nb_elements, variable_nb_elements, value_types, *allowed_types + ) - def _random_type(self, type_list): - value_type = self.random_element(type_list) + def _random_type(self, type_list: List[str]) -> str: + value_type: str = self.random_element(type_list) - method_name = "py{}".format(value_type) + method_name = f"py{value_type}" if hasattr(self, method_name): value_type = method_name return self.generator.format(value_type) def _pyiterable( - self, - nb_elements=10, - variable_nb_elements=True, - value_types=None, - *allowed_types): - - value_types = self._check_signature(value_types, allowed_types) - - value_types = [t if isinstance(t, str) else getattr(t, '__name__', type(t).__name__).lower() - for t in value_types - # avoid recursion - if t not in ['iterable', 'list', 'tuple', 'dict', 'set']] + self, + nb_elements: int = 10, + variable_nb_elements: bool = True, + value_types: ValueTypes = None, + *allowed_types: str, + ) -> Iterator: + + value_types = self._check_signature(value_types, allowed_types) # type: ignore + + value_types = [ + t if isinstance(t, str) else getattr(t, "__name__", type(t).__name__).lower() + for t in value_types + # avoid recursion + if t not in ["iterable", "list", "tuple", "dict", "set"] + ] if not value_types: - value_types = self.default_value_types + value_types = self.default_value_types # type: ignore if variable_nb_elements: nb_elements = self.randomize_nb_elements(nb_elements, min=1) @@ -195,20 +286,24 @@ def pydict(self, nb_elements=10, variable_nb_elements=True, value_types=None, *a if variable_nb_elements: nb_elements = self.randomize_nb_elements(nb_elements, min=1) - return dict(zip( - self.generator.words(nb_elements, unique=True), - self._pyiterable(nb_elements, False, value_types, *allowed_types), - )) + return dict( + zip( + self.generator.words(nb_elements, unique=True), + self._pyiterable(nb_elements, False, value_types, *allowed_types), + ) + ) - def pystruct(self, count=10, value_types=None, *allowed_types): - value_types = self._check_signature(value_types, allowed_types) + def pystruct(self, count: int = 10, value_types: ValueTypes = None, *allowed_types: str) -> Tuple[List, Dict, Dict]: + value_types = self._check_signature(value_types, allowed_types) # type: ignore - value_types = [t if isinstance(t, str) else getattr(t, '__name__', type(t).__name__).lower() - for t in value_types - # avoid recursion - if t != 'struct'] + value_types = [ + t if isinstance(t, str) else getattr(t, "__name__", type(t).__name__).lower() + for t in value_types + # avoid recursion + if t != "struct" + ] if not value_types: - value_types = self.default_value_types + value_types = self.default_value_types # type: ignore types = [] d = {} @@ -216,12 +311,14 @@ def pystruct(self, count=10, value_types=None, *allowed_types): for i in range(count): d[self.generator.word()] = self._random_type(value_types) types.append(self._random_type(value_types)) - nd[self.generator.word()] = {i: self._random_type(value_types), - i + 1: [self._random_type(value_types), - self._random_type(value_types), - self._random_type(value_types)], - i + 2: {i: self._random_type(value_types), - i + 1: self._random_type(value_types), - i + 2: [self._random_type(value_types), - self._random_type(value_types)]}} + nd[self.generator.word()] = { + i: self._random_type(value_types), + i + 1: [self._random_type(value_types), self._random_type(value_types), self._random_type(value_types)], + i + + 2: { + i: self._random_type(value_types), + i + 1: self._random_type(value_types), + i + 2: [self._random_type(value_types), self._random_type(value_types)], + }, + } return types, d, nd diff --git a/faker/providers/python/en_US/__init__.py b/faker/providers/python/en_US/__init__.py index 7420bfda62..23d8b4ed5d 100644 --- a/faker/providers/python/en_US/__init__.py +++ b/faker/providers/python/en_US/__init__.py @@ -1,5 +1,5 @@ -from .. import Provider as PythonProvider +from .. import Provider as PythonProvider # pragma: no cover -class Provider(PythonProvider): +class Provider(PythonProvider): # pragma: no cover pass diff --git a/faker/providers/ssn/__init__.py b/faker/providers/ssn/__init__.py index 6e47c21af0..8d6465af8c 100644 --- a/faker/providers/ssn/__init__.py +++ b/faker/providers/ssn/__init__.py @@ -1,10 +1,10 @@ -from .. import BaseProvider +from .. import BaseProvider, ElementsType localized = True class Provider(BaseProvider): - ssn_formats = ("###-##-####",) + ssn_formats: ElementsType = ("###-##-####",) - def ssn(self): + def ssn(self) -> str: return self.bothify(self.random_element(self.ssn_formats)) diff --git a/faker/providers/ssn/bg_BG/__init__.py b/faker/providers/ssn/bg_BG/__init__.py index 892911d08f..2144037e9c 100644 --- a/faker/providers/ssn/bg_BG/__init__.py +++ b/faker/providers/ssn/bg_BG/__init__.py @@ -7,11 +7,11 @@ class Provider(BaseProvider): """ vat_id_formats = ( - 'BG#########', - 'BG##########', + "BG#########", + "BG##########", ) - def vat_id(self): + def vat_id(self) -> str: """ http://ec.europa.eu/taxation_customs/vies/faq.html#item_11 :return: A random Bulgarian VAT ID diff --git a/faker/providers/ssn/cs_CZ/__init__.py b/faker/providers/ssn/cs_CZ/__init__.py index daf9df39dd..804439a8de 100644 --- a/faker/providers/ssn/cs_CZ/__init__.py +++ b/faker/providers/ssn/cs_CZ/__init__.py @@ -1,42 +1,42 @@ from math import ceil +from typing import List, Tuple from .. import Provider as BaseProvider class Provider(BaseProvider): - vat_id_formats = ( - 'CZ########', - 'CZ#########', - 'CZ##########', + vat_id_formats: Tuple[str, ...] = ( + "CZ########", + "CZ#########", + "CZ##########", ) - national_id_months = ['%.2d' % i for i in range(1, 13)] + ['%.2d' % i for i in range(51, 63)] + national_id_months: List[str] = ["%.2d" % i for i in range(1, 13)] + ["%.2d" % i for i in range(51, 63)] - def vat_id(self): + def vat_id(self) -> str: """ http://ec.europa.eu/taxation_customs/vies/faq.html#item_11 :return: A random Czech VAT ID """ - return self.bothify(self.random_element(self.vat_id_formats)) - def birth_number(self): + def birth_number(self) -> str: """ Birth Number (Czech/Slovak: rodné číslo (RČ)) https://en.wikipedia.org/wiki/National_identification_number#Czech_Republic_and_Slovakia """ birthdate = self.generator.date_of_birth() - year = '%.2d' % (birthdate.year % 100) - month = self.random_element(self.national_id_months) - day = '%.2d' % birthdate.day + year = f"{birthdate:%y}" + month: str = self.random_element(self.national_id_months) + day = f"{birthdate:%d}" if birthdate.year > 1953: sn = self.random_number(4, True) else: sn = self.random_number(3, True) - number = int('{}{}{}{}'.format(year, month, day, sn)) + number = int(f"{year}{month}{day}{sn}") birth_number = str(ceil(number / 11) * 11) - if year == '00': - birth_number = '00' + birth_number - elif year[0] == '0': - birth_number = '0' + birth_number - return '{}/{}'.format(birth_number[:6], birth_number[6::]) + if year == "00": + birth_number = "00" + birth_number + elif year[0] == "0": + birth_number = "0" + birth_number + return f"{birth_number[:6]}/{birth_number[6:]}" diff --git a/faker/providers/ssn/de_AT/__init__.py b/faker/providers/ssn/de_AT/__init__.py index 6c3af9c6e1..f55beef485 100644 --- a/faker/providers/ssn/de_AT/__init__.py +++ b/faker/providers/ssn/de_AT/__init__.py @@ -6,11 +6,9 @@ class Provider(BaseProvider): A Faker provider for the Austrian VAT IDs """ - vat_id_formats = ( - 'ATU########', - ) + vat_id_formats = ("ATU########",) - def vat_id(self): + def vat_id(self) -> str: """ http://ec.europa.eu/taxation_customs/vies/faq.html#item_11 :return: a random Austrian VAT ID diff --git a/faker/providers/ssn/de_DE/__init__.py b/faker/providers/ssn/de_DE/__init__.py index 24ec3f85cb..f5ee062067 100644 --- a/faker/providers/ssn/de_DE/__init__.py +++ b/faker/providers/ssn/de_DE/__init__.py @@ -6,11 +6,9 @@ class Provider(BaseProvider): A Faker provider for the German VAT IDs """ - vat_id_formats = ( - 'DE#########', - ) + vat_id_formats = ("DE#########",) - def vat_id(self): + def vat_id(self) -> str: """ http://ec.europa.eu/taxation_customs/vies/faq.html#item_11 :return: A random German VAT ID diff --git a/faker/providers/ssn/dk_DK/__init__.py b/faker/providers/ssn/dk_DK/__init__.py index 87cedb1000..d8ae424ae8 100644 --- a/faker/providers/ssn/dk_DK/__init__.py +++ b/faker/providers/ssn/dk_DK/__init__.py @@ -6,11 +6,9 @@ class Provider(BaseProvider): A Faker provider for the Danish VAT IDs """ - vat_id_formats = ( - 'DK########', - ) + vat_id_formats = ("DK########",) - def vat_id(self): + def vat_id(self) -> str: """ Returns a random generated Danish Tax ID """ diff --git a/faker/providers/ssn/el_CY/__init__.py b/faker/providers/ssn/el_CY/__init__.py index 82a8a30cae..bc35aa4047 100644 --- a/faker/providers/ssn/el_CY/__init__.py +++ b/faker/providers/ssn/el_CY/__init__.py @@ -6,11 +6,9 @@ class Provider(BaseProvider): A Faker provider for the Cypriot VAT IDs """ - vat_id_formats = ( - 'CY#########?', - ) + vat_id_formats = ("CY#########?",) - def vat_id(self): + def vat_id(self) -> str: """ Returns a random generated Cypriot Tax ID """ diff --git a/faker/providers/ssn/el_GR/__init__.py b/faker/providers/ssn/el_GR/__init__.py index f93c31a5a1..72a1501e31 100644 --- a/faker/providers/ssn/el_GR/__init__.py +++ b/faker/providers/ssn/el_GR/__init__.py @@ -6,18 +6,16 @@ class Provider(BaseProvider): A Faker provider for the Greek VAT IDs and Greek police IDs """ - vat_id_formats = ( - 'EL#########', - ) + vat_id_formats = ("EL#########",) police_id_formats = ( - '?######', - '??######', - '? ######', - '?? ######', + "?######", + "??######", + "? ######", + "?? ######", ) - def vat_id(self): + def vat_id(self) -> str: """ http://ec.europa.eu/taxation_customs/vies/faq.html#item_11 :return: a random Greek VAT ID @@ -25,9 +23,12 @@ def vat_id(self): return self.bothify(self.random_element(self.vat_id_formats)) - def police_id(self): + def police_id(self) -> str: """ :return: a random Greek police ID """ - return self.bothify(self.random_element(self.police_id_formats), letters='ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ') + return self.bothify( + self.random_element(self.police_id_formats), + letters="ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ", + ) diff --git a/faker/providers/ssn/en_CA/__init__.py b/faker/providers/ssn/en_CA/__init__.py index ffdb6bd2ac..d80e7da775 100644 --- a/faker/providers/ssn/en_CA/__init__.py +++ b/faker/providers/ssn/en_CA/__init__.py @@ -13,7 +13,7 @@ def checksum(sin): """ # Remove spaces and create a list of digits. - checksumCollection = list(sin.replace(' ', '')) + checksumCollection = list(sin.replace(" ", "")) checksumCollection = [int(i) for i in checksumCollection] # Discard the last digit, we will be calculating it later. @@ -34,7 +34,7 @@ def checksum(sin): # with the first eight values, results in a value divisible by 10 check_digit = 10 - (sum(checksumCollection) % 10) - check_digit = (0 if check_digit == 10 else check_digit) + check_digit = 0 if check_digit == 10 else check_digit return check_digit @@ -47,7 +47,7 @@ class Provider(SsnProvider): # This function reverses the checksum steps to create a random # valid nine-digit Canadian SIN (Social Insurance Number) in the # format '### ### ###'. - def ssn(self): + def ssn(self) -> str: # Create an array of 8 elements initialized randomly. digits = self.generator.random.sample(range(9), 8) @@ -56,7 +56,7 @@ def ssn(self): # digits sum to a multiple of 10. First, sum the first 8 and # set the 9th to the value that results in a multiple of 10. check_digit = 10 - (sum(digits) % 10) - check_digit = (0 if check_digit == 10 else check_digit) + check_digit = 0 if check_digit == 10 else check_digit digits.append(check_digit) @@ -66,7 +66,7 @@ def ssn(self): # element. for i in range(1, len(digits), 2): if digits[i] % 2 == 0: - digits[i] = (digits[i] // 2) + digits[i] = digits[i] // 2 else: digits[i] = (digits[i] + 9) // 2 diff --git a/faker/providers/ssn/en_GB/__init__.py b/faker/providers/ssn/en_GB/__init__.py index a63a5ccaa5..d23cb764a6 100644 --- a/faker/providers/ssn/en_GB/__init__.py +++ b/faker/providers/ssn/en_GB/__init__.py @@ -1,3 +1,5 @@ +from typing import Tuple + from .. import Provider as BaseProvider @@ -12,24 +14,24 @@ class Provider(BaseProvider): # only and is generally included as per the above examples, but a # few 'styles' have been included below for the sake of realism. - nino_formats = ( - 'ZZ ## ## ## T', - 'ZZ######T', - 'ZZ ###### T', + nino_formats: Tuple[str, ...] = ( + "ZZ ## ## ## T", + "ZZ######T", + "ZZ ###### T", ) - def ssn(self): - pattern = self.random_element(self.nino_formats) + def ssn(self) -> str: + pattern: str = self.random_element(self.nino_formats) return self.numerify(self.generator.parse(pattern)) - vat_id_formats = ( - 'GB### #### ##', - 'GB### #### ## ###', - 'GBGD###', - 'GBHA###', + vat_id_formats: Tuple[str, ...] = ( + "GB### #### ##", + "GB### #### ## ###", + "GBGD###", + "GBHA###", ) - def vat_id(self): + def vat_id(self) -> str: """ http://ec.europa.eu/taxation_customs/vies/faq.html#item_11 :return: A random British VAT ID diff --git a/faker/providers/ssn/en_IE/__init__.py b/faker/providers/ssn/en_IE/__init__.py index 002291be28..32c1b76aa8 100644 --- a/faker/providers/ssn/en_IE/__init__.py +++ b/faker/providers/ssn/en_IE/__init__.py @@ -7,12 +7,12 @@ class Provider(BaseProvider): """ vat_id_formats = ( - 'IE#?#####?', - 'IE#######?', - 'IE#######??', + "IE#?#####?", + "IE#######?", + "IE#######??", ) - def vat_id(self): + def vat_id(self) -> str: """ http://ec.europa.eu/taxation_customs/vies/faq.html#item_11 :return: a random Irish VAT ID diff --git a/faker/providers/ssn/en_IN/__init__.py b/faker/providers/ssn/en_IN/__init__.py index ef932237a4..9b29da2cfe 100644 --- a/faker/providers/ssn/en_IN/__init__.py +++ b/faker/providers/ssn/en_IN/__init__.py @@ -8,11 +8,9 @@ class Provider(BaseProvider): Faker provider for Indian Identifiers """ - aadhaar_id_formats = ( - '%##########', - ) + aadhaar_id_formats = ("%##########",) - def aadhaar_id(self): + def aadhaar_id(self) -> str: """ Aadhaar is a 12 digit person identifier generated for residents of India. @@ -21,8 +19,8 @@ def aadhaar_id(self): """ aadhaar_digits = self.numerify(self.random_element(self.aadhaar_id_formats)) - checksum = checksums.calculate_luhn(aadhaar_digits) + checksum = checksums.calculate_luhn(int(aadhaar_digits)) - aadhaar_number = '{}{}'.format(aadhaar_digits, checksum) + aadhaar_number = f"{aadhaar_digits}{checksum}" return aadhaar_number diff --git a/faker/providers/ssn/en_PH/__init__.py b/faker/providers/ssn/en_PH/__init__.py index 66b549e457..e63cfc71d1 100644 --- a/faker/providers/ssn/en_PH/__init__.py +++ b/faker/providers/ssn/en_PH/__init__.py @@ -27,27 +27,27 @@ class Provider(BaseProvider): - https://en.wikipedia.org/wiki/Unified_Multi-Purpose_ID """ - sss_formats = ('##-#######-#',) - gsis_formats = ('###########',) - philhealth_formats = ('##-#########-#',) - pagibig_formats = ('####-####-####',) - umid_formats = ('####-#######-#',) + sss_formats = ("##-#######-#",) + gsis_formats = ("###########",) + philhealth_formats = ("##-#########-#",) + pagibig_formats = ("####-####-####",) + umid_formats = ("####-#######-#",) - def sss(self): + def sss(self) -> str: return self.numerify(self.random_element(self.sss_formats)) - def gsis(self): + def gsis(self) -> str: return self.numerify(self.random_element(self.gsis_formats)) - def pagibig(self): + def pagibig(self) -> str: return self.numerify(self.random_element(self.pagibig_formats)) - def philhealth(self): + def philhealth(self) -> str: return self.numerify(self.random_element(self.philhealth_formats)) - def umid(self): + def umid(self) -> str: return self.numerify(self.random_element(self.umid_formats)) - def ssn(self): + def ssn(self) -> str: # Use UMID as SSN in the interim till its deprecation return self.umid() diff --git a/faker/providers/ssn/en_US/__init__.py b/faker/providers/ssn/en_US/__init__.py index 66ada6103f..976d5094f9 100644 --- a/faker/providers/ssn/en_US/__init__.py +++ b/faker/providers/ssn/en_US/__init__.py @@ -1,13 +1,15 @@ +from typing import List + from .. import Provider as BaseProvider class Provider(BaseProvider): - INVALID_SSN_TYPE = 'INVALID_SSN' - SSN_TYPE = 'SSN' - ITIN_TYPE = 'ITIN' - EIN_TYPE = 'EIN' + INVALID_SSN_TYPE = "INVALID_SSN" + SSN_TYPE = "SSN" + ITIN_TYPE = "ITIN" + EIN_TYPE = "EIN" - def itin(self): + def itin(self) -> str: """Generate a random United States Individual Taxpayer Identification Number (ITIN). An United States Individual Taxpayer Identification Number @@ -24,120 +26,121 @@ def itin(self): serial = self.random_int(min=0, max=9999) # The group number must be between 70 and 99 inclusively but not 89 or 93 - group = self.random_element([x for x in range(70, 100) if x not in [89, 93]]) + group: int = self.random_element([x for x in range(70, 100) if x not in [89, 93]]) - itin = "{:03d}-{:02d}-{:04d}".format(area, group, serial) + itin = f"{area:03d}-{group:02d}-{serial:04d}" return itin - def ein(self): + def ein(self) -> str: """Generate a random United States Employer Identification Number (EIN). - An United States An Employer Identification Number (EIN) is - also known as a Federal Tax Identification Number, and is - used to identify a business entity. EINs follow a format of a - two-digit prefix followed by a hyphen and a seven-digit sequence: - ##-###### + An United States An Employer Identification Number (EIN) is + also known as a Federal Tax Identification Number, and is + used to identify a business entity. EINs follow a format of a + two-digit prefix followed by a hyphen and a seven-digit sequence: + ##-###### - https://www.irs.gov/businesses/small-businesses-self-employed/employer-id-numbers + https://www.irs.gov/businesses/small-businesses-self-employed/employer-id-numbers """ # Only certain EIN Prefix values are assigned: # # https://www.irs.gov/businesses/small-businesses-self-employed/how-eins-are-assigned-and-valid-ein-prefixes - ein_prefix_choices = [ - '01', - '02', - '03', - '04', - '05', - '06', - '10', - '11', - '12', - '13', - '14', - '15', - '16', - '20', - '21', - '22', - '23', - '24', - '25', - '26', - '27', - '30', - '31', - '32', - '33', - '34', - '35', - '36', - '37', - '38', - '39', - '40', - '41', - '42', - '43', - '44', - '45', - '46', - '47', - '48', - '50', - '51', - '52', - '53', - '54', - '55', - '56', - '57', - '58', - '59', - '60', - '61', - '62', - '63', - '64', - '65', - '66', - '67', - '68', - '71', - '72', - '73', - '74', - '75', - '76', - '77', - '80', - '81', - '82', - '83', - '84', - '85', - '86', - '87', - '88', - '90', - '91', - '92', - '93', - '94', - '95', - '98', - '99'] - - ein_prefix = self.random_element(ein_prefix_choices) + ein_prefix_choices: List[str] = [ + "01", + "02", + "03", + "04", + "05", + "06", + "10", + "11", + "12", + "13", + "14", + "15", + "16", + "20", + "21", + "22", + "23", + "24", + "25", + "26", + "27", + "30", + "31", + "32", + "33", + "34", + "35", + "36", + "37", + "38", + "39", + "40", + "41", + "42", + "43", + "44", + "45", + "46", + "47", + "48", + "50", + "51", + "52", + "53", + "54", + "55", + "56", + "57", + "58", + "59", + "60", + "61", + "62", + "63", + "64", + "65", + "66", + "67", + "68", + "71", + "72", + "73", + "74", + "75", + "76", + "77", + "80", + "81", + "82", + "83", + "84", + "85", + "86", + "87", + "88", + "90", + "91", + "92", + "93", + "94", + "95", + "98", + "99", + ] + + ein_prefix: str = self.random_element(ein_prefix_choices) sequence = self.random_int(min=0, max=9999999) - ein = "{:s}-{:07d}".format(ein_prefix, sequence) + ein = f"{ein_prefix:s}-{sequence:07d}" return ein - def invalid_ssn(self): - """ Generate a random invalid United States Social Security Identification Number (SSN). + def invalid_ssn(self) -> str: + """Generate a random invalid United States Social Security Identification Number (SSN). Invalid SSNs have the following characteristics: Cannot begin with the number 9 @@ -178,7 +181,8 @@ def invalid_ssn(self): 96, 97, 98, - 99] + 99, + ] area = self.random_int(min=0, max=999) if area < 900 and area not in {666, 0}: random_group_or_serial = self.random_int(min=1, max=1000) @@ -195,11 +199,11 @@ def invalid_ssn(self): group = self.random_element([x for x in range(0, 100) if x not in itin_group_numbers]) serial = self.random_int(0, 9999) - invalid_ssn = "{:03d}-{:02d}-{:04d}".format(area, group, serial) + invalid_ssn = f"{area:03d}-{group:02d}-{serial:04d}" return invalid_ssn - def ssn(self, taxpayer_identification_number_type=SSN_TYPE): - """ Generate a random United States Taxpayer Identification Number of the specified type. + def ssn(self, taxpayer_identification_number_type: str = SSN_TYPE) -> str: + """Generate a random United States Taxpayer Identification Number of the specified type. If no type is specified, a US SSN is returned. """ @@ -223,9 +227,10 @@ def ssn(self, taxpayer_identification_number_type=SSN_TYPE): group = self.random_int(1, 99) serial = self.random_int(1, 9999) - ssn = "{:03d}-{:02d}-{:04d}".format(area, group, serial) + ssn = f"{area:03d}-{group:02d}-{serial:04d}" return ssn else: - raise ValueError("taxpayer_identification_number_type must be one of 'SSN', 'EIN', 'ITIN'," - " or 'INVALID_SSN'.") + raise ValueError( + "taxpayer_identification_number_type must be one of 'SSN', 'EIN', 'ITIN'," " or 'INVALID_SSN'." + ) diff --git a/faker/providers/ssn/es_ES/__init__.py b/faker/providers/ssn/es_ES/__init__.py index 199caf5d2b..029d26daee 100644 --- a/faker/providers/ssn/es_ES/__init__.py +++ b/faker/providers/ssn/es_ES/__init__.py @@ -9,12 +9,12 @@ class Provider(BaseProvider): """ vat_id_formats = ( - 'ES?########', - 'ES########?', - 'ES?#######?', + "ES?########", + "ES########?", + "ES?#######?", ) - def vat_id(self): + def vat_id(self) -> str: """ http://ec.europa.eu/taxation_customs/vies/faq.html#item_11 :return: a random Spanish VAT ID @@ -22,7 +22,7 @@ def vat_id(self): return self.bothify(self.random_element(self.vat_id_formats)) - def nie(self): + def nie(self) -> str: """ https://es.wikipedia.org/wiki/N%C3%BAmero_de_identidad_de_extranjero :return: a random Spanish NIE @@ -33,7 +33,7 @@ def nie(self): control = self._calculate_control_doi(str(first_chr) + doi_body) return "XYZ"[first_chr] + doi_body + control - def nif(self): + def nif(self) -> str: """ https://es.wikipedia.org/wiki/N%C3%BAmero_de_identificaci%C3%B3n_fiscal :return: NIF @@ -42,18 +42,18 @@ def nif(self): nie_body = str(random.randrange(0, 100000000)) # generate a number of a maximum of 8 characters long return nie_body.zfill(8) + self._calculate_control_doi(nie_body) - def cif(self): + def cif(self) -> str: """ https://es.wikipedia.org/wiki/C%C3%B3digo_de_identificaci%C3%B3n_fiscal :return: a random Spanish CIF """ - first_chr = random.choice('ABCDEFGHJNPQRSUVW') + first_chr = random.choice("ABCDEFGHJNPQRSUVW") doi_body = str(random.randrange(0, 10000000)).zfill(7) cif = first_chr + doi_body return cif + self._calculate_control_cif(cif) - def doi(self): + def doi(self) -> str: """ https://es.wikipedia.org/wiki/Identificador_de_objeto_digital :return: a random Spanish CIF or NIE or NIF @@ -62,18 +62,18 @@ def doi(self): return random.choice([self.cif, self.nie, self.nif])() @staticmethod - def _calculate_control_doi(doi): + def _calculate_control_doi(doi: str) -> str: """ Calculate the letter that corresponds to the end of a DOI :param doi: calculated value so far needing a control character :return: DOI control character """ - lookup = 'TRWAGMYFPDXBNJZSQVHLCKE' + lookup = "TRWAGMYFPDXBNJZSQVHLCKE" return lookup[int(doi) % 23] @classmethod - def _calculate_control_cif(cls, cif): + def _calculate_control_cif(cls, cif: str) -> str: """ Calculate the letter that corresponds to the end of a CIF :param cif: calculated value so far needing a control character @@ -95,9 +95,9 @@ def _calculate_control_cif(cls, cif): sum_ = sum_ sum_ = 10 - (sum_ % 10) - if first_chr in ['F', 'J', 'K', 'N', 'P', 'Q', 'R', 'S', 'U', 'V', 'W']: + if first_chr in ["F", "J", "K", "N", "P", "Q", "R", "S", "U", "V", "W"]: return chr(64 + sum_) - elif first_chr in ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'L', 'M']: + elif first_chr in ["A", "B", "C", "D", "E", "F", "G", "H", "L", "M"]: if sum_ == 10: sum_ = 0 return str(sum_) diff --git a/faker/providers/ssn/es_MX/__init__.py b/faker/providers/ssn/es_MX/__init__.py index 6ca2cb14d3..7207c3db5e 100644 --- a/faker/providers/ssn/es_MX/__init__.py +++ b/faker/providers/ssn/es_MX/__init__.py @@ -13,11 +13,7 @@ ALPHABET = string.ascii_uppercase ALPHANUMERIC = string.digits + ALPHABET VOWELS = "AEIOU" -CONSONANTS = [ - letter - for letter in ALPHABET - if letter not in VOWELS -] +CONSONANTS = [letter for letter in ALPHABET if letter not in VOWELS] # https://es.wikipedia.org/wiki/Plantilla:Abreviaciones_de_los_estados_de_M%C3%A9xico STATES_RENAPO = [ @@ -103,7 +99,7 @@ CURP_CHARACTERS = "0123456789ABCDEFGHIJKLMNÑOPQRSTUVWXYZ" -def _reduce_digits(number): +def _reduce_digits(number: int) -> int: """ Sum of digits of a number until sum becomes single digit. @@ -118,34 +114,29 @@ def _reduce_digits(number): return number % 9 -def ssn_checksum(digits): +def ssn_checksum(digits: map) -> int: """ Calculate the checksum for the mexican SSN (IMSS). """ - return -sum( - _reduce_digits(n * (i % 2 + 1)) - for i, n in enumerate(digits) - ) % 10 + return -sum(_reduce_digits(n * (i % 2 + 1)) for i, n in enumerate(digits)) % 10 -def curp_checksum(characters): +def curp_checksum(characters: str) -> int: """ Calculate the checksum for the mexican CURP. """ start = 18 - return -sum( - (start - i) * CURP_CHARACTERS.index(n) - for i, n in enumerate(characters) - ) % 10 + return -sum((start - i) * CURP_CHARACTERS.index(n) for i, n in enumerate(characters)) % 10 class Provider(BaseProvider): """ A Faker provider for the Mexican SSN, RFC and CURP """ + ssn_formats = ("###########",) - def ssn(self): + def ssn(self) -> str: """ Mexican Social Security Number, as given by IMSS. @@ -156,19 +147,14 @@ def ssn(self): start_year = self.random_int(min=0, max=99) serial = self.random_int(min=1, max=9999) - num = "{:02d}{:02d}{:02d}{:04d}".format( - office, - start_year, - birth_year, - serial, - ) + num = f"{office:02d}{start_year:02d}{birth_year:02d}{serial:04d}" check = ssn_checksum(map(int, num)) num += str(check) return num - def curp(self): + def curp(self) -> str: """ See https://es.wikipedia.org/wiki/Clave_%C3%9Anica_de_Registro_de_Poblaci%C3%B3n. @@ -196,21 +182,21 @@ def curp(self): name_initials = FORBIDDEN_WORDS.get(name_initials, name_initials) random_curp = ( - name_initials + - birth_date + - gender + - state + - first_surname_inside + - second_surname_inside + - given_name_inside + - assigned_character + name_initials + + birth_date + + gender + + state + + first_surname_inside + + second_surname_inside + + given_name_inside + + assigned_character ) random_curp += str(curp_checksum(random_curp)) return random_curp - def rfc(self, natural=True): + def rfc(self, natural: bool = True) -> str: """ See https://es.wikipedia.org/wiki/Registro_Federal_de_Contribuyentes @@ -226,24 +212,15 @@ def rfc(self, natural=True): second_surname = random.choice(ALPHABET) given_name = random.choice(ALPHABET) name_initials = first_surname + second_surname + given_name + name_initials = FORBIDDEN_WORDS.get(name_initials, name_initials) else: name_initials = ( - self.random_uppercase_letter() + - self.random_uppercase_letter() + - self.random_uppercase_letter() + self.random_uppercase_letter() + self.random_uppercase_letter() + self.random_uppercase_letter() ) birth_date = birthday.strftime("%y%m%d") - disambiguation_code = ( - random.choice(ALPHANUMERIC) + - random.choice(ALPHANUMERIC) + - random.choice(ALPHANUMERIC) - ) + disambiguation_code = random.choice(ALPHANUMERIC) + random.choice(ALPHANUMERIC) + random.choice(ALPHANUMERIC) - random_rfc = ( - name_initials + - birth_date + - disambiguation_code - ) + random_rfc = name_initials + birth_date + disambiguation_code return random_rfc diff --git a/faker/providers/ssn/et_EE/__init__.py b/faker/providers/ssn/et_EE/__init__.py index 03398220f1..8bcf86edb5 100644 --- a/faker/providers/ssn/et_EE/__init__.py +++ b/faker/providers/ssn/et_EE/__init__.py @@ -1,10 +1,12 @@ import datetime import operator +from typing import List + from .. import Provider as SsnProvider -def checksum(digits): +def checksum(digits: List[int]) -> int: """Calculate checksum of Estonian personal identity code. Checksum is calculated with "Modulo 11" method using level I or II scale: @@ -30,7 +32,7 @@ class Provider(SsnProvider): scale1 = (1, 2, 3, 4, 5, 6, 7, 8, 9, 1) scale2 = (3, 4, 5, 6, 7, 8, 9, 1, 2, 3) - def ssn(self, min_age=16, max_age=90): + def ssn(self, min_age: int = 16, max_age: int = 90) -> str: """ Returns 11 character Estonian personal identity code (isikukood, IK). @@ -45,27 +47,22 @@ def ssn(self, min_age=16, max_age=90): https://en.wikipedia.org/wiki/National_identification_number#Estonia """ - age = datetime.timedelta( - days=self.generator.random.randrange( - min_age * 365, max_age * 365)) + age = datetime.timedelta(days=self.generator.random.randrange(min_age * 365, max_age * 365)) birthday = datetime.date.today() - age if birthday.year < 2000: - ik = self.generator.random.choice(('3', '4')) + ik = self.generator.random.choice(("3", "4")) elif birthday.year < 2100: - ik = self.generator.random.choice(('5', '6')) + ik = self.generator.random.choice(("5", "6")) else: - ik = self.generator.random.choice(('7', '8')) + ik = self.generator.random.choice(("7", "8")) - ik += "%02d%02d%02d" % ((birthday.year % 100), birthday.month, - birthday.day) + ik += "%02d%02d%02d" % ((birthday.year % 100), birthday.month, birthday.day) ik += str(self.generator.random.randrange(0, 999)).zfill(3) return ik + str(checksum([int(ch) for ch in ik])) - vat_id_formats = ( - 'EE#########', - ) + vat_id_formats = ("EE#########",) - def vat_id(self): + def vat_id(self) -> str: """ http://ec.europa.eu/taxation_customs/vies/faq.html#item_11 :return: A random Estonian VAT ID diff --git a/faker/providers/ssn/fi_FI/__init__.py b/faker/providers/ssn/fi_FI/__init__.py index ceecd2cc3d..8e8bba6c8a 100644 --- a/faker/providers/ssn/fi_FI/__init__.py +++ b/faker/providers/ssn/fi_FI/__init__.py @@ -4,8 +4,7 @@ class Provider(SsnProvider): - - def ssn(self, min_age=0, max_age=105, artificial=False): + def ssn(self, min_age: int = 0, max_age: int = 105, artificial: bool = False) -> str: """ Returns 11 character Finnish personal identity code (Henkilötunnus, HETU, Swedish: Personbeteckning). This function assigns random @@ -22,15 +21,18 @@ def ssn(self, min_age=0, max_age=105, artificial=False): https://en.wikipedia.org/wiki/National_identification_number#Finland """ + def _checksum(hetu): checksum_characters = "0123456789ABCDEFHJKLMNPRSTUVWXY" return checksum_characters[int(hetu) % 31] - age = datetime.timedelta( - days=self.generator.random.randrange(min_age * 365, max_age * 365)) + age = datetime.timedelta(days=self.generator.random.randrange(min_age * 365, max_age * 365)) birthday = datetime.date.today() - age hetu_date = "%02d%02d%s" % ( - birthday.day, birthday.month, str(birthday.year)[-2:]) + birthday.day, + birthday.month, + str(birthday.year)[-2:], + ) range = (900, 999) if artificial is True else (2, 899) suffix = str(self.generator.random.randrange(*range)).zfill(3) checksum = _checksum(hetu_date + suffix) @@ -39,23 +41,21 @@ def _checksum(hetu): return hetu @staticmethod - def _get_century_code(year): + def _get_century_code(year: int) -> str: """Returns the century code for a given year""" if 2000 <= year < 3000: - separator = 'A' + separator = "A" elif 1900 <= year < 2000: - separator = '-' + separator = "-" elif 1800 <= year < 1900: - separator = '+' + separator = "+" else: - raise ValueError('Finnish SSN do not support people born before the year 1800 or after the year 2999') + raise ValueError("Finnish SSN do not support people born before the year 1800 or after the year 2999") return separator - vat_id_formats = ( - 'FI########', - ) + vat_id_formats = ("FI########",) - def vat_id(self): + def vat_id(self) -> str: """ http://ec.europa.eu/taxation_customs/vies/faq.html#item_11 :return: A random Finnish VAT ID diff --git a/faker/providers/ssn/fil_PH/__init__.py b/faker/providers/ssn/fil_PH/__init__.py index c656239e1a..000ba9dcda 100644 --- a/faker/providers/ssn/fil_PH/__init__.py +++ b/faker/providers/ssn/fil_PH/__init__.py @@ -3,4 +3,5 @@ class Provider(EnPhSsnProvider): """No difference from SSN Provider for en_PH locale""" + pass diff --git a/faker/providers/ssn/fr_CH/__init__.py b/faker/providers/ssn/fr_CH/__init__.py index fea603745a..772017b5f4 100644 --- a/faker/providers/ssn/fr_CH/__init__.py +++ b/faker/providers/ssn/fr_CH/__init__.py @@ -1,46 +1,46 @@ +from typing import List + from .. import Provider as SsnProvider class Provider(SsnProvider): ssn_formats = ("###.####.####.##",) - def ssn(self): + def ssn(self) -> str: """ Returns a 13 digits Swiss SSN named AHV (German) or AVS (French and Italian) See: http://www.bsv.admin.ch/themen/ahv/00011/02185/ """ + def _checksum(digits): evensum = sum(digits[:-1:2]) oddsum = sum(digits[1::2]) return (10 - ((evensum + oddsum * 3) % 10)) % 10 - digits = [7, 5, 6] + digits: List[int] = [7, 5, 6] # create an array of first 9 elements initialized randomly digits += self.generator.random.sample(range(10), 9) # determine the last digit to make it qualify the test digits.append(_checksum(digits)) # repeat steps until it does qualify the test - digits = ''.join([str(d) for d in digits]) - ssn = digits[:3] + '.' \ - + digits[3:7] + '.' \ - + digits[7:11] + '.' \ - + digits[11:] - return ssn + digits_ = "".join([str(d) for d in digits]) + return f"{digits_[:3]}.{digits_[3:7]}.{digits_[7:11]}.{digits_[11:]}" - def vat_id(self): + def vat_id(self) -> str: """ :return: Swiss UID number """ + def _checksum(digits): - code = ['8', '6', '4', '2', '3', '5', '9', '7'] - remainder = 11-(sum(map(lambda x, y: int(x) * int(y), code, digits)) % 11) + code = ["8", "6", "4", "2", "3", "5", "9", "7"] + remainder = 11 - (sum(map(lambda x, y: int(x) * int(y), code, digits)) % 11) if remainder == 10: return 0 elif remainder == 11: return 5 return remainder - vat_id = self.numerify('########') - return 'CHE' + vat_id + str(_checksum(vat_id)) + vat_id: str = self.numerify("########") + return "CHE" + vat_id + str(_checksum(vat_id)) diff --git a/faker/providers/ssn/fr_FR/__init__.py b/faker/providers/ssn/fr_FR/__init__.py index 1cdd903670..7cb442e020 100644 --- a/faker/providers/ssn/fr_FR/__init__.py +++ b/faker/providers/ssn/fr_FR/__init__.py @@ -1,19 +1,156 @@ +from typing import Tuple + from .. import Provider as BaseProvider +def calculate_checksum(ssn_without_checksum: int) -> int: + return 97 - (ssn_without_checksum % 97) + + class Provider(BaseProvider): """ A Faker provider for the French VAT IDs """ vat_id_formats = ( - 'FR?? #########', - 'FR## #########', - 'FR?# #########', - 'FR#? #########', + "FR?? #########", + "FR## #########", + "FR?# #########", + "FR#? #########", ) - def vat_id(self): + # department id, municipality id, name of department, name of municipality + # department id + municipality id = INSEE code + departments_and_municipalities = ( + # France métropolitaine = Mainland France + ("01", "053", "Ain", "Bourg-en-Bresse"), + ("02", "408", "Aisne", "Laon"), + ("03", "190", "Allier", "Moulins"), + ("04", "070", "Alpes-de-Haute-Provence", "Digne-les-Bains"), + ("05", "061", "Hautes-Alpes", "Gap"), + ("06", "088", "Alpes-Maritimes", "Nice"), + ("07", "186", "Ardèche", "Orgnac-l'Aven"), + ("08", "105", "Ardennes", "Charleville-Mézières"), + ("09", "122", "Ariège", "Foix"), + ("10", "387", "Aube", "Troyes"), + ("11", "069", "Aude", "Carcassonne"), + ("12", "202", "Aveyron", "Rodez"), + ("13", "055", "Bouches-du-Rhône", "Marseille"), + ("14", "118", "Calvados", "Caen"), + ("15", "014", "Cantal", "Aurillac"), + ("16", "015", "Charente", "Angoulême"), + ("17", "300", "Charente-Maritime", "Rochelle"), + ("18", "033", "Cher", "Bourges"), + ("19", "272", "Corrèze", "Tulle"), + ("21", "231", "Côte-d'Or,Côte-d'Or", "Dijon"), + ("22", "278", "Côtes-d'Armor,Côtes-d'Armor", "Saint-Brieuc"), + ("23", "096", "Creuse", "Guéret"), + ("24", "322", "Dordogne", "Périgueux"), + ("25", "056", "Doubs", "Besançon"), + ("26", "362", "Drôme", "Valence"), + ("27", "229", "Eure", "Évreux"), + ("28", "085", "Eure-et-Loir", "Chartres"), + ("29", "232", "Finistère", "Quimper"), + ("30", "189", "Gard", "Nîmes"), + ("31", "555", "Haute-Garonne", "Toulouse"), + ("32", "013", "Gers", "Auch"), + ("33", "063", "Gironde", "Bordeaux"), + ("34", "172", "Hérault", "Montpellier"), + ("35", "238", "Ille-et-Vilaine", "Rennes"), + ("36", "044", "Indre,Indre", "Châteauroux"), + ("37", "261", "Indre-et-Loire", "Tours"), + ("38", "185", "Isère", "Grenoble"), + ("39", "300", "Jura", "Lons-le-Saunier"), + ("40", "192", "Landes", "Mont-de-Marsan"), + ("41", "018", "Loir-et-Cher", "Blois"), + ("42", "218", "Loire", "Saint-Étienne"), + ("43", "157", "Haute-Loire", "Puy-en-Velay"), + ("44", "109", "Loire-Atlantique", "Nantes"), + ("45", "234", "Loiret", "Orléans"), + ("46", "042", "Lot", "Cahors"), + ("47", "001", "Lot-et-Garonne", "Agen"), + ("48", "095", "Lozère", "Mende"), + ("49", "007", "Maine-et-Loire", "Angers"), + ("50", "502", "Manche", "Saint-Lô"), + ("51", "108", "Marne", "Châlons-en-Champagne"), + ("52", "121", "Haute-Marne", "Chaumont"), + ("53", "130", "Mayenne", "Laval"), + ("54", "395", "Meurthe-et-Moselle", "Nancy"), + ("55", "029", "Meuse", "Bar-le-Duc"), + ("56", "260", "Morbihan", "Vannes"), + ("57", "463", "Moselle", "Metz"), + ("58", "194", "Nièvre", "Nevers"), + ("59", "350", "Nord", "Lille"), + ("60", "057", "Oise", "Beauvais"), + ("61", "001", "Orne", "Alençon"), + ("62", "041", "Pas-de-Calais", "Arras"), + ("63", "113", "Puy-de-Dôme", "Clermont-Ferrand"), + ("64", "445", "Pyrénées-Atlantiques", "Pau"), + ("65", "440", "Hautes-Pyrénées", "Tarbes"), + ("66", "136", "Pyrénées-Orientales", "Perpignan"), + ("67", "482", "Bas-Rhin", "Strasbourg"), + ("68", "066", "Haut-Rhin", "Colmar"), + ("69", "123", "Rhône", "Lyon"), + ("70", "550", "Haute-Saône", "Vesoul"), + ("71", "270", "Saône-et-Loire", "Mâcon"), + ("72", "181", "Sarthe", "Mans"), + ("73", "065", "Savoie", "Chambéry"), + ("74", "010", "Haute-Savoie", "Annecy"), + ("75", "056", "Paris", "Paris"), + ("76", "540", "Seine-Maritime", "Rouen"), + ("77", "288", "Seine-et-Marne", "Melun"), + ("78", "646", "Yvelines", "Versailles"), + ("79", "191", "Deux-Sèvres", "Niort"), + ("80", "021", "Somme", "Amiens"), + ("81", "004", "Tarn", "Albi"), + ("82", "121", "Tarn-et-Garonne", "Montauban"), + ("83", "137", "Var", "Toulon"), + ("84", "007", "Vaucluse", "Avignon"), + ("85", "191", "Vendée", "Roche-sur-Yon"), + ("86", "194", "Vienne", "Poitiers"), + ("87", "085", "Haute-Vienne", "Limoges"), + ("88", "160", "Vosges", "Épinal"), + ("89", "024", "Yonne", "Auxerre"), + ("90", "010", "Territoire", "Belfort"), + ("91", "228", "Essonne", "Évry-Courcouronnes"), + ("92", "050", "Hauts-de-Seine", "Nanterre"), + ("93", "008", "Seine-Saint-Denis", "Bobigny"), + ("94", "028", "Val-de-Marne", "Créteil"), + ("95", "500", "Val-d'Oise", "Pontoise"), + # DOM-TOM = Overseas France + ("971", "05", "Guadeloupe", "Basse-Terre"), + ("972", "09", "Martinique", "Fort-de-France"), + ("973", "02", "Guyane", "Cayenne"), + ("974", "11", "Réunion", "Saint-Denis"), + ("976", "11", "Mayotte", "Mamoudzou"), + ) + + def ssn(self) -> str: + """ + Creates a French numéro de sécurité sociale + https://fr.wikipedia.org/wiki/Num%C3%A9ro_de_s%C3%A9curit%C3%A9_sociale_en_France#Signification_des_chiffres_du_NIR + https://www.comptavoo.com/Numero-Securite-sociale,348.html + :return: a French SSN + """ + gender_id = self.random_int(min=1, max=2) + year_of_birth = self.random_int(min=0, max=99) + month_of_birth = self.random_int(min=1, max=12) + department_and_municipality: Tuple[str, str, str, str] = self.random_element( + self.departments_and_municipalities, + ) + code_department = department_and_municipality[0] + code_municipality = department_and_municipality[1] + + order_number = self.random_int(min=1, max=999) + + ssn_without_checksum = int( + f"{gender_id:01}{year_of_birth:02}{month_of_birth:02}{code_department}{code_municipality}{order_number:03}", + ) + checksum = calculate_checksum(ssn_without_checksum) + + return f"{ssn_without_checksum}{checksum:02}" + + def vat_id(self) -> str: """ http://ec.europa.eu/taxation_customs/vies/faq.html#item_11 :return: a random French VAT ID diff --git a/faker/providers/ssn/he_IL/__init__.py b/faker/providers/ssn/he_IL/__init__.py index 0bc0b55492..c6d6fda6db 100644 --- a/faker/providers/ssn/he_IL/__init__.py +++ b/faker/providers/ssn/he_IL/__init__.py @@ -2,8 +2,7 @@ class Provider(SsnProvider): - - def ssn(self): + def ssn(self) -> str: """ Returns an Israeli identity number, known as Teudat Zehut ("tz"). diff --git a/faker/providers/ssn/hr_HR/__init__.py b/faker/providers/ssn/hr_HR/__init__.py index 0ccc057693..54a21732ef 100644 --- a/faker/providers/ssn/hr_HR/__init__.py +++ b/faker/providers/ssn/hr_HR/__init__.py @@ -1,7 +1,9 @@ +from typing import List + from .. import Provider as SsnProvider -def checksum(digits): +def checksum(digits: List[int]) -> int: """ Calculate and return control digit for given list of digits based on ISO7064, MOD 11,10 standard. @@ -30,18 +32,16 @@ class Provider(SsnProvider): (international standard ISO 7064, module 11.10). """ - def ssn(self): + def ssn(self) -> str: digits = self.generator.random.sample(range(10), 10) digits.append(checksum(digits)) - return ''.join(map(str, digits)) + return "".join(map(str, digits)) - vat_id_formats = ( - 'HR###########', - ) + vat_id_formats = ("HR###########",) - def vat_id(self): + def vat_id(self) -> str: """ http://ec.europa.eu/taxation_customs/vies/faq.html#item_11 :return: A random Croatian VAT ID diff --git a/faker/providers/ssn/hu_HU/__init__.py b/faker/providers/ssn/hu_HU/__init__.py index 4c4805e6a2..504404d5e3 100644 --- a/faker/providers/ssn/hu_HU/__init__.py +++ b/faker/providers/ssn/hu_HU/__init__.py @@ -1,18 +1,17 @@ from functools import reduce from math import fmod +from typing import Optional +from ....typing import GenderType from .. import Provider as SsnProvider -def zfix(d): - if d < 10: - return "0" + str(d) - else: - return d +def zfix(d: int) -> str: + return "0" + str(d) if d < 10 else str(d) class Provider(SsnProvider): - def ssn(self, dob=None, gender=None): + def ssn(self, dob: Optional[str] = None, gender: Optional[GenderType] = None) -> str: """ Generates Hungarian SSN equivalent (személyazonosító szám or, colloquially, személyi szám) @@ -112,12 +111,10 @@ def ssn(self, dob=None, gender=None): H = self.generator.random_int(1, 12) N = self.generator.random_int(1, 30) - H = zfix(H) - N = zfix(N) - S = "{}{}{}".format(self.generator.random_digit( - ), self.generator.random_digit(), self.generator.random_digit()) + H_, N_ = zfix(H), zfix(N) + S = f"{self.generator.random_digit()}{self.generator.random_digit()}{self.generator.random_digit()}" - vdig = "{M}{E}{H}{N}{S}".format(M=M, E=E, H=H, N=N, S=S) + vdig = f"{M}{E}{H_}{N_}{S}" if 17 < E < 97: cum = [(k + 1) * int(v) for k, v in enumerate(vdig)] @@ -128,11 +125,9 @@ def ssn(self, dob=None, gender=None): return vdig + str(int(K)) - vat_id_formats = ( - 'HU########', - ) + vat_id_formats = ("HU########",) - def vat_id(self): + def vat_id(self) -> str: """ http://ec.europa.eu/taxation_customs/vies/faq.html#item_11 :return: A random Hungarian VAT ID diff --git a/faker/providers/ssn/it_IT/__init__.py b/faker/providers/ssn/it_IT/__init__.py index bb53dd16c8..5eb85b6550 100644 --- a/faker/providers/ssn/it_IT/__init__.py +++ b/faker/providers/ssn/it_IT/__init__.py @@ -7,36 +7,107 @@ ALPHANUMERICS = sorted(digits + ascii_uppercase) ALPHANUMERICS_DICT = {char: index for index, char in enumerate(ALPHANUMERICS)} CHECKSUM_TABLE = ( - (1, 0, 5, 7, 9, 13, 15, 17, 19, 21, 1, 0, 5, 7, 9, 13, 15, 17, 19, - 21, 2, 4, 18, 20, 11, 3, 6, 8, 12, 14, 16, 10, 22, 25, 24, 23), - (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, - 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25)) + ( + 1, + 0, + 5, + 7, + 9, + 13, + 15, + 17, + 19, + 21, + 1, + 0, + 5, + 7, + 9, + 13, + 15, + 17, + 19, + 21, + 2, + 4, + 18, + 20, + 11, + 3, + 6, + 8, + 12, + 14, + 16, + 10, + 22, + 25, + 24, + 23, + ), + ( + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + ), +) -def checksum(value): +def checksum(value: str) -> str: """ Calculates the checksum char used for the 16th char. Author: Vincenzo Palazzo """ - return chr(65 + sum(CHECKSUM_TABLE[index % 2][ALPHANUMERICS_DICT[char]] - for index, char in enumerate(value)) % 26) + return chr(65 + sum(CHECKSUM_TABLE[index % 2][ALPHANUMERICS_DICT[char]] for index, char in enumerate(value)) % 26) class Provider(SsnProvider): """ Generates italian fiscal codes. """ - fiscal_code_format = '??????##?##?###' - def ssn(self): + fiscal_code_format = "??????##?##?###" + + def ssn(self) -> str: code = self.bothify(self.fiscal_code_format).upper() return code + checksum(code) - vat_id_formats = ( - 'IT###########', - ) + vat_id_formats = ("IT###########",) - def vat_id(self): + def vat_id(self) -> str: """ http://ec.europa.eu/taxation_customs/vies/faq.html#item_11 :return: A random Italian VAT ID diff --git a/faker/providers/ssn/ko_KR/__init__.py b/faker/providers/ssn/ko_KR/__init__.py index 967ae081b9..c5eb0b354b 100644 --- a/faker/providers/ssn/ko_KR/__init__.py +++ b/faker/providers/ssn/ko_KR/__init__.py @@ -2,5 +2,11 @@ class Provider(SsnProvider): - ssn_formats = ("##0#0#-1######", "##0#1#-1######", "##0#2#-1######", - "##0#0#-2######", "##0#1#-2######", "##0#2#-2######") + ssn_formats = ( + "##0#0#-1######", + "##0#1#-1######", + "##0#2#-1######", + "##0#0#-2######", + "##0#1#-2######", + "##0#2#-2######", + ) diff --git a/faker/providers/ssn/lb_LU/__init__.py b/faker/providers/ssn/lb_LU/__init__.py index 05db048929..072d291a8d 100644 --- a/faker/providers/ssn/lb_LU/__init__.py +++ b/faker/providers/ssn/lb_LU/__init__.py @@ -6,11 +6,9 @@ class Provider(BaseProvider): A Faker provider for the Luxembourgish VAT IDs """ - vat_id_formats = ( - 'LU########', - ) + vat_id_formats = ("LU########",) - def vat_id(self): + def vat_id(self) -> str: """ http://ec.europa.eu/taxation_customs/vies/faq.html#item_11 :return: a random Luxembourgish VAT ID diff --git a/faker/providers/ssn/lt_LT/__init__.py b/faker/providers/ssn/lt_LT/__init__.py index d03841b35c..4369a57829 100644 --- a/faker/providers/ssn/lt_LT/__init__.py +++ b/faker/providers/ssn/lt_LT/__init__.py @@ -7,11 +7,11 @@ class Provider(BaseProvider): """ vat_id_formats = ( - 'LT#########', - 'LT############', + "LT#########", + "LT############", ) - def vat_id(self): + def vat_id(self) -> str: """ http://ec.europa.eu/taxation_customs/vies/faq.html#item_11 :return: a random Lithuanian VAT ID diff --git a/faker/providers/ssn/lv_LV/__init__.py b/faker/providers/ssn/lv_LV/__init__.py index 3b84a6f0f3..371b1d1750 100644 --- a/faker/providers/ssn/lv_LV/__init__.py +++ b/faker/providers/ssn/lv_LV/__init__.py @@ -6,11 +6,9 @@ class Provider(BaseProvider): A Faker provider for the Latvian VAT IDs """ - vat_id_formats = ( - 'LV###########', - ) + vat_id_formats = ("LV###########",) - def vat_id(self): + def vat_id(self) -> str: """ http://ec.europa.eu/taxation_customs/vies/faq.html#item_11 :return: a random Latvian VAT ID diff --git a/faker/providers/ssn/mt_MT/__init__.py b/faker/providers/ssn/mt_MT/__init__.py index 384c002b7f..6820703eda 100644 --- a/faker/providers/ssn/mt_MT/__init__.py +++ b/faker/providers/ssn/mt_MT/__init__.py @@ -6,11 +6,9 @@ class Provider(BaseProvider): A Faker provider for the Maltese VAT IDs """ - vat_id_formats = ( - 'MT########', - ) + vat_id_formats = ("MT########",) - def vat_id(self): + def vat_id(self) -> str: """ http://ec.europa.eu/taxation_customs/vies/faq.html#item_11 :return: A random Maltese VAT ID diff --git a/faker/providers/ssn/nl_BE/__init__.py b/faker/providers/ssn/nl_BE/__init__.py index aa57d5a777..fc70c91afe 100644 --- a/faker/providers/ssn/nl_BE/__init__.py +++ b/faker/providers/ssn/nl_BE/__init__.py @@ -7,8 +7,7 @@ class Provider(SsnProvider): - - def ssn(self): + def ssn(self) -> str: """ Returns a 11 digits Belgian SSN called "rijksregisternummer" as a string @@ -32,7 +31,7 @@ def _checksum(digits): # Convert it to an int elms = mydate.split("-") # Adjust for year 2000 if necessary - if elms[0][0] == '2': + if elms[0][0] == "2": above = True else: above = False @@ -41,7 +40,7 @@ def _checksum(digits): # Simulate the gender/sequence - should be 3 digits seq = self.generator.random_int(1, 998) # Right justify sequence and append to list - seq_str = "{:0>3}".format(seq) + seq_str = f"{seq:0>3}" elms.append(seq_str) # Now convert list to an integer so the checksum can be calculated date_as_int = int("".join(elms)) @@ -49,16 +48,14 @@ def _checksum(digits): date_as_int += 2000000000 # Generate checksum s = _checksum(date_as_int) - s_rjust = "{:0>2}".format(s) + s_rjust = f"{s:0>2}" # return result as a string elms.append(s_rjust) return "".join(elms) - vat_id_formats = ( - 'BE##########', - ) + vat_id_formats = ("BE##########",) - def vat_id(self): + def vat_id(self) -> str: """ http://ec.europa.eu/taxation_customs/vies/faq.html#item_11 :return: A random Belgian VAT ID diff --git a/faker/providers/ssn/nl_NL/__init__.py b/faker/providers/ssn/nl_NL/__init__.py index 71633ca77d..01d9f9a011 100644 --- a/faker/providers/ssn/nl_NL/__init__.py +++ b/faker/providers/ssn/nl_NL/__init__.py @@ -2,8 +2,7 @@ class Provider(SsnProvider): - - def ssn(self): + def ssn(self) -> str: """ Returns a 9 digits Dutch SSN called "burgerservicenummer (BSN)". @@ -35,11 +34,9 @@ def _checksum(digits): # finally return our random but valid BSN return bsn - vat_id_formats = ( - 'NL#########B##', - ) + vat_id_formats = ("NL#########B##",) - def vat_id(self): + def vat_id(self) -> str: """ http://ec.europa.eu/taxation_customs/vies/faq.html#item_11 :return: A random Dutch VAT ID diff --git a/faker/providers/ssn/no_NO/__init__.py b/faker/providers/ssn/no_NO/__init__.py index 440e8a12da..db18a0723c 100644 --- a/faker/providers/ssn/no_NO/__init__.py +++ b/faker/providers/ssn/no_NO/__init__.py @@ -1,10 +1,13 @@ import datetime import operator +from typing import List, Optional, Sequence + +from ....typing import GenderType from .. import Provider as SsnProvider -def checksum(digits, scale): +def checksum(digits: Sequence[int], scale: List[int]) -> int: """ Calculate checksum of Norwegian personal identity code. @@ -27,7 +30,7 @@ class Provider(SsnProvider): scale1 = (3, 7, 6, 1, 8, 9, 4, 5, 2) scale2 = (5, 4, 3, 2, 7, 6, 5, 4, 3, 2) - def ssn(self, dob=None, gender=None): + def ssn(self, dob: Optional[str] = None, gender: Optional[GenderType] = None) -> str: """ Returns 11 character Norwegian personal identity code (Fødselsnummer). @@ -46,15 +49,14 @@ def ssn(self, dob=None, gender=None): """ if dob: - birthday = datetime.datetime.strptime(dob, '%Y%m%d') + birthday = datetime.datetime.strptime(dob, "%Y%m%d") else: - age = datetime.timedelta( - days=self.generator.random.randrange(18 * 365, 90 * 365)) + age = datetime.timedelta(days=self.generator.random.randrange(18 * 365, 90 * 365)) birthday = datetime.datetime.now() - age if not gender: - gender = self.generator.random.choice(('F', 'M')) - elif gender not in ('F', 'M'): - raise ValueError('Gender must be one of F or M.') + gender = self.generator.random.choice(("F", "M")) + elif gender not in ("F", "M"): + raise ValueError("Gender must be one of F or M.") while True: if 1900 <= birthday.year <= 1999: @@ -65,11 +67,11 @@ def ssn(self, dob=None, gender=None): suffix = str(self.generator.random.randrange(50, 99)) elif 1940 <= birthday.year <= 1999: suffix = str(self.generator.random.randrange(90, 99)) - if gender == 'F': + if gender == "F": gender_num = self.generator.random.choice((0, 2, 4, 6, 8)) - elif gender == 'M': + elif gender == "M": gender_num = self.generator.random.choice((1, 3, 5, 7, 9)) - pnr = birthday.strftime('%d%m%y') + suffix.zfill(2) + str(gender_num) + pnr = birthday.strftime("%d%m%y") + suffix.zfill(2) + str(gender_num) pnr_nums = [int(ch) for ch in pnr] k1 = checksum(Provider.scale1, pnr_nums) k2 = checksum(Provider.scale2, pnr_nums + [k1]) @@ -77,5 +79,5 @@ def ssn(self, dob=None, gender=None): # https://no.wikipedia.org/wiki/F%C3%B8dselsnummer if k1 == 10 or k2 == 10: continue - pnr += '{}{}'.format(k1, k2) + pnr += f"{k1}{k2}" return pnr diff --git a/faker/providers/ssn/pl_PL/__init__.py b/faker/providers/ssn/pl_PL/__init__.py index a5b9bfb2a2..a0d4199d5c 100644 --- a/faker/providers/ssn/pl_PL/__init__.py +++ b/faker/providers/ssn/pl_PL/__init__.py @@ -1,7 +1,10 @@ +from datetime import datetime +from typing import List + from .. import Provider as SsnProvider -def checksum(digits): +def checksum(digits: List[int]) -> int: """ Calculates and returns a control digit for given list of digits basing on PESEL standard. """ @@ -16,19 +19,18 @@ def checksum(digits): return check_digit -def calculate_month(birth_date): +def calculate_month(birth_date: datetime) -> int: """ Calculates and returns a month number basing on PESEL standard. """ - year = int(birth_date.strftime('%Y')) - month = int(birth_date.strftime('%m')) + ((int(year / 100) - 14) % 5) * 20 + year = int(birth_date.strftime("%Y")) + month = int(birth_date.strftime("%m")) + ((int(year / 100) - 14) % 5) * 20 return month class Provider(SsnProvider): - - def ssn(self): + def ssn(self) -> str: """ Returns 11 character Polish national identity code (Public Electronic Census System, Polish: Powszechny Elektroniczny System Ewidencji Ludności - PESEL). @@ -41,16 +43,17 @@ def ssn(self): """ birth_date = self.generator.date_time() - year_without_century = int(birth_date.strftime('%y')) + year_without_century = int(birth_date.strftime("%y")) month = calculate_month(birth_date) - day = int(birth_date.strftime('%d')) + day = int(birth_date.strftime("%d")) pesel_digits = [ int(year_without_century / 10), year_without_century % 10, int(month / 10), month % 10, - int(day / 10), day % 10, + int(day / 10), + day % 10, ] for _ in range(4): @@ -58,13 +61,11 @@ def ssn(self): pesel_digits.append(checksum(pesel_digits)) - return ''.join(str(digit) for digit in pesel_digits) + return "".join(str(digit) for digit in pesel_digits) - vat_id_formats = ( - 'PL##########', - ) + vat_id_formats = ("PL##########",) - def vat_id(self): + def vat_id(self) -> str: """ http://ec.europa.eu/taxation_customs/vies/faq.html#item_11 :return: A random Polish VAT ID diff --git a/faker/providers/ssn/pt_BR/__init__.py b/faker/providers/ssn/pt_BR/__init__.py index ca21b7b401..1efac15d56 100644 --- a/faker/providers/ssn/pt_BR/__init__.py +++ b/faker/providers/ssn/pt_BR/__init__.py @@ -1,7 +1,9 @@ +from typing import List + from .. import Provider as SsnProvider -def checksum(digits): +def checksum(digits: List[int]) -> int: """ Returns the checksum of CPF digits. References to the algorithm: @@ -29,20 +31,20 @@ class Provider(SsnProvider): The cpf return a valid number formatted with brazilian mask. eg nnn.nnn.nnn-nn """ - def ssn(self): + def ssn(self) -> str: digits = self.generator.random.sample(range(10), 9) dv = checksum(digits) digits.append(dv) digits.append(checksum(digits)) - return ''.join(map(str, digits)) + return "".join(map(str, digits)) - def cpf(self): + def cpf(self) -> str: c = self.ssn() - return c[:3] + '.' + c[3:6] + '.' + c[6:9] + '-' + c[9:] + return c[:3] + "." + c[3:6] + "." + c[6:9] + "-" + c[9:] - def rg(self): + def rg(self) -> str: """ Brazilian RG, return plain numbers. Check: https://www.ngmatematica.com/2014/02/como-determinar-o-digito-verificador-do.html @@ -53,10 +55,10 @@ def rg(self): last_digit = 11 - (checksum % 11) if last_digit == 10: - digits.append('X') + digits.append("X") elif last_digit == 11: digits.append(0) else: digits.append(last_digit) - return ''.join(map(str, digits)) + return "".join(map(str, digits)) diff --git a/faker/providers/ssn/pt_PT/__init__.py b/faker/providers/ssn/pt_PT/__init__.py index a5f85eb61f..186237b2ea 100644 --- a/faker/providers/ssn/pt_PT/__init__.py +++ b/faker/providers/ssn/pt_PT/__init__.py @@ -6,11 +6,9 @@ class Provider(BaseProvider): A Faker provider for the Portuguese VAT IDs """ - vat_id_formats = ( - 'PT#########', - ) + vat_id_formats = ("PT#########",) - def vat_id(self): + def vat_id(self) -> str: """ http://ec.europa.eu/taxation_customs/vies/faq.html#item_11 :return: A random Portuguese VAT ID diff --git a/faker/providers/ssn/ro_RO/__init__.py b/faker/providers/ssn/ro_RO/__init__.py index af756d8e5a..3c9ffa8ad7 100644 --- a/faker/providers/ssn/ro_RO/__init__.py +++ b/faker/providers/ssn/ro_RO/__init__.py @@ -1,27 +1,135 @@ from .. import Provider as BaseProvider +def ssn_checksum(number: str) -> int: + """ + Calculate the checksum for the romanian SSN (CNP). + """ + weights = (2, 7, 9, 1, 4, 6, 3, 5, 8, 2, 7, 9) + check = sum(w * int(n) for w, n in zip(weights, number)) % 11 + return 1 if check == 10 else check + + +def vat_checksum(number: str) -> int: + """ + Calculate the check digit for romanian VAT numbers. + """ + weights = (7, 5, 3, 2, 1, 7, 5, 3, 2) + number = (9 - len(number)) * "0" + number + check = 10 * sum(w * int(n) for w, n in zip(weights, number)) + return check % 11 % 10 + + class Provider(BaseProvider): """ A Faker provider for the Romanian VAT IDs """ vat_id_formats = ( - 'RO##', - 'RO###', - 'RO####', - 'RO#####', - 'RO######', - 'RO#######', - 'RO########', - 'RO#########', - 'RO##########', + "RO1########", + "RO2########", + "RO3########", + "RO4########", + "RO5########", + "RO6########", + "RO7########", + "RO8########", + "RO9########", + "1########", + "2########", + "3########", + "4########", + "5########", + "6########", + "7########", + "8########", + "9########", ) - def vat_id(self): + def vat_id(self) -> str: """ - http://ec.europa.eu/taxation_customs/vies/faq.html#item_11 + https://ro.wikipedia.org/wiki/Cod_de_identificare_fiscal%C4%83 :return: A random Romanian VAT ID """ + vat = self.bothify(self.random_element(self.vat_id_formats)) + coutry = "" + if vat.startswith("RO"): + coutry = "RO" + vat = vat[2:] + check = vat_checksum(vat) + vat += str(check) + return coutry + vat + + ssn_formats = ("#############",) + + def ssn(self) -> str: + """ + Romanian Social Security Number. + + :return: a random Romanian SSN + """ + gender = self.random_int(min=1, max=8) + year = self.random_int(min=0, max=99) + month = self.random_int(min=1, max=12) + day = self.random_int(min=1, max=31) + county = int( + self.random_element( + [ + "1", + "2", + "3", + "4", + "5", + "6", + "7", + "8", + "9", + "10", + "11", + "12", + "13", + "14", + "15", + "16", + "17", + "18", + "19", + "20", + "21", + "22", + "23", + "24", + "25", + "26", + "27", + "28", + "29", + "30", + "31", + "32", + "33", + "34", + "35", + "36", + "37", + "38", + "39", + "40", + "41", + "42", + "43", + "44", + "45", + "46", + "51", + "52", + ] + ) + ) + serial = self.random_int(min=1, max=999) + + num = f"{gender:01d}{year:02d}{month:02d}{day:02d}{county:02d}{serial:03d}" - return self.bothify(self.random_element(self.vat_id_formats)) + check = ssn_checksum(num) + num += str(check) + return num diff --git a/faker/providers/ssn/sk_SK/__init__.py b/faker/providers/ssn/sk_SK/__init__.py index 3ae94d3157..a9a73018d5 100644 --- a/faker/providers/ssn/sk_SK/__init__.py +++ b/faker/providers/ssn/sk_SK/__init__.py @@ -8,13 +8,11 @@ class Provider(BaseProvider): A Faker provider for the Slovakian VAT IDs """ - vat_id_formats = ( - 'SK##########', - ) + vat_id_formats = ("SK##########",) - national_id_months = ['%.2d' % i for i in range(1, 13)] + ['%.2d' % i for i in range(51, 63)] + national_id_months = ["%.2d" % i for i in range(1, 13)] + ["%.2d" % i for i in range(51, 63)] - def vat_id(self): + def vat_id(self) -> str: """ http://ec.europa.eu/taxation_customs/vies/faq.html#item_11 :return: a random Slovakian VAT ID @@ -22,23 +20,23 @@ def vat_id(self): return self.bothify(self.random_element(self.vat_id_formats)) - def birth_number(self): + def birth_number(self) -> str: """ Birth Number (Czech/Slovak: rodné číslo (RČ)) https://en.wikipedia.org/wiki/National_identification_number#Czech_Republic_and_Slovakia """ birthdate = self.generator.date_of_birth() - year = '%.2d' % (birthdate.year % 100) - month = self.random_element(self.national_id_months) - day = '%.2d' % birthdate.day + year = f"{birthdate:%y}" + month: str = self.random_element(self.national_id_months) + day = f"{birthdate:%d}" if birthdate.year > 1953: sn = self.random_number(4, True) else: sn = self.random_number(3, True) - number = int('{}{}{}{}'.format(year, month, day, sn)) + number = int(f"{year}{month}{day}{sn}") birth_number = str(ceil(number / 11) * 11) - if year == '00': - birth_number = '00' + birth_number - elif year[0] == '0': - birth_number = '0' + birth_number - return '{}/{}'.format(birth_number[:6], birth_number[6::]) + if year == "00": + birth_number = "00" + birth_number + elif year[0] == "0": + birth_number = "0" + birth_number + return f"{birth_number[:6]}/{birth_number[6::]}" diff --git a/faker/providers/ssn/sl_SI/__init__.py b/faker/providers/ssn/sl_SI/__init__.py index 06fee672d3..acbce25acd 100644 --- a/faker/providers/ssn/sl_SI/__init__.py +++ b/faker/providers/ssn/sl_SI/__init__.py @@ -6,11 +6,9 @@ class Provider(BaseProvider): A Faker provider for the Slovenian VAT IDs """ - vat_id_formats = ( - 'SI########', - ) + vat_id_formats = ("SI########",) - def vat_id(self): + def vat_id(self) -> str: """ http://ec.europa.eu/taxation_customs/vies/faq.html#item_11 :return: a random Slovenian VAT ID diff --git a/faker/providers/ssn/sv_SE/__init__.py b/faker/providers/ssn/sv_SE/__init__.py index 9b86023464..fd0b881b1f 100644 --- a/faker/providers/ssn/sv_SE/__init__.py +++ b/faker/providers/ssn/sv_SE/__init__.py @@ -1,21 +1,28 @@ import datetime import random +from typing import Tuple + from faker.utils.checksums import calculate_luhn from .. import Provider as SsnProvider class Provider(SsnProvider): - @staticmethod - def _org_to_vat(org_id): - org_id = org_id.replace('-', '') + def _org_to_vat(org_id: str) -> str: + org_id = org_id.replace("-", "") if len(org_id) == 10: - org_id = '16' + org_id - return 'SE{}01'.format(org_id) - - def ssn(self, min_age=18, max_age=90, long=False, dash=True): + org_id = "16" + org_id + return f"SE{org_id}01" + + def ssn( + self, + min_age: int = 18, + max_age: int = 90, + long: bool = False, + dash: bool = True, + ) -> str: """ Returns a 10 or 12 (long=True) digit Swedish SSN, "Personnummer". @@ -29,22 +36,21 @@ def ssn(self, min_age=18, max_age=90, long=False, dash=True): http://en.wikipedia.org/wiki/Personal_identity_number_(Sweden) """ - age = datetime.timedelta( - days=self.generator.random.randrange(min_age * 365, max_age * 365)) + age = datetime.timedelta(days=self.generator.random.randrange(min_age * 365, max_age * 365)) birthday = datetime.datetime.now() - age - yr_fmt = '%Y' if long else '%y' - pnr_date = birthday.strftime('{}%m%d'.format(yr_fmt)) + yr_fmt = "%Y" if long else "%y" + pnr_date = f"{birthday:{yr_fmt}%m%d}" chk_date = pnr_date[2:] if long else pnr_date - suffix = str(self.generator.random.randrange(0, 999)).zfill(3) - luhn_checksum = str(calculate_luhn(chk_date + suffix)) - hyphen = '-' if dash else '' - pnr = '{}{}{}{}'.format(pnr_date, hyphen, suffix, luhn_checksum) + suffix = f"{self.generator.random.randrange(0, 999):03}" + luhn_checksum = str(calculate_luhn(int(chk_date + suffix))) + hyphen = "-" if dash else "" + pnr = f"{pnr_date}{hyphen}{suffix}{luhn_checksum}" return pnr ORG_ID_DIGIT_1 = (1, 2, 3, 5, 6, 7, 8, 9) - def org_id(self, long=False, dash=True): + def org_id(self, long: bool = False, dash: bool = True) -> str: """ Returns a 10 or 12 digit Organisation ID for a Swedish company. @@ -57,14 +63,14 @@ def org_id(self, long=False, dash=True): onr_one += str(self.generator.random.randrange(20, 99)) onr_one += str(self.generator.random.randrange(0, 99)).zfill(2) onr_two = str(self.generator.random.randrange(0, 999)).zfill(3) - luhn_checksum = str(calculate_luhn(onr_one + onr_two)) - prefix = '16' if long else '' - hyphen = '-' if dash else '' + luhn_checksum = str(calculate_luhn(int(onr_one + onr_two))) + prefix = "16" if long else "" + hyphen = "-" if dash else "" - org_id = '{}{}{}{}{}'.format(prefix, onr_one, hyphen, onr_two, luhn_checksum) + org_id = f"{prefix}{onr_one}{hyphen}{onr_two}{luhn_checksum}" return org_id - def vat_id(self): + def vat_id(self) -> str: """ http://ec.europa.eu/taxation_customs/vies/faq.html#item_11 :return: A random Swedish VAT ID, based on a valid Org ID @@ -73,7 +79,7 @@ def vat_id(self): vid = Provider._org_to_vat(oid) return vid - def org_and_vat_id(self, long=False, dash=True): + def org_and_vat_id(self, long: bool = False, dash: bool = True) -> Tuple[str, str]: """Returns matching Org ID and VAT number""" oid = self.org_id(long=long, dash=dash) vid = Provider._org_to_vat(oid) diff --git a/faker/providers/ssn/th_TH/__init__.py b/faker/providers/ssn/th_TH/__init__.py new file mode 100644 index 0000000000..47255f036d --- /dev/null +++ b/faker/providers/ssn/th_TH/__init__.py @@ -0,0 +1,59 @@ +from random import randint + +from .. import Provider as BaseProvider + + +class Provider(BaseProvider): + # Source: + # https://en.wikipedia.org/wiki/Thai_identity_card#Identification_number + # Thai national identity number has 13 digits, in this format: + # 1-2345-67890-12-3 + # Digit 1: Person category + # Digits 2-5: Province and amphoe code of registrar's office (ISO 3166-2) + # Digits 6-12: Birth certificate number + # Digit 13: Checksum + + def ssn(self) -> str: + """ + Thai national ID + """ + category = randint(1, 8) + province = randint(10, 96) + amphoe = 0 + if province == 10: # Bangkok + amphoe = randint(1, 50) # Bangkok has district number up to 50 + else: + amphoe = randint(1, 20) # Provinces outside Bangkok has 20 or less + birth_book = randint(1, 99999) + birth_sheet = randint(1, 99) + + digits = f"{category:01d}{province:02d}{amphoe:02d}{birth_book:05d}{birth_sheet:02d}" + checksum = ( + (int(digits[0]) * 13) + + (int(digits[1]) * 12) + + (int(digits[2]) * 11) + + (int(digits[3]) * 10) + + (int(digits[4]) * 9) + + (int(digits[5]) * 8) + + (int(digits[6]) * 7) + + (int(digits[7]) * 6) + + (int(digits[8]) * 5) + + (int(digits[9]) * 4) + + (int(digits[10]) * 3) + + (int(digits[11]) * 2) + ) + checksum = checksum % 11 + checksum = 11 - checksum + if checksum > 9: + checksum = checksum - 10 + + nat_id = f"{category:01d}-{province:02d}{amphoe:02d}-{birth_book:05d}-{birth_sheet:02d}-{checksum:01d}" + + return nat_id + + def vat_id(self) -> str: + """ + Personal VAT ID is the same as national ID + (Corporate VAT ID is different) + """ + return self.ssn() diff --git a/faker/providers/ssn/tl_PH/__init__.py b/faker/providers/ssn/tl_PH/__init__.py index c656239e1a..000ba9dcda 100644 --- a/faker/providers/ssn/tl_PH/__init__.py +++ b/faker/providers/ssn/tl_PH/__init__.py @@ -3,4 +3,5 @@ class Provider(EnPhSsnProvider): """No difference from SSN Provider for en_PH locale""" + pass diff --git a/faker/providers/ssn/tr_TR/__init__.py b/faker/providers/ssn/tr_TR/__init__.py index 2ea431fe08..d608a19fa3 100644 --- a/faker/providers/ssn/tr_TR/__init__.py +++ b/faker/providers/ssn/tr_TR/__init__.py @@ -8,11 +8,11 @@ class Provider(BaseProvider): # First number can't be zero # Eleventh number is result of division after sum first number - def ssn(self): + def ssn(self) -> str: """ :example '89340691651' """ - first_part = self.random_element((1, 2, 3, 4, 5, 6, 7, 8, 9)) - middle_part = self.bothify('#########') - last_part = sum(list(map(lambda x: int(x), '{}{}'.format(first_part, middle_part)))) % 10 - return '{}{}{}'.format(first_part, middle_part, last_part) + first_part: int = self.random_element((1, 2, 3, 4, 5, 6, 7, 8, 9)) + middle_part: str = self.bothify("#########") + last_part: int = sum(int(x) for x in f"{first_part}{middle_part}") % 10 + return f"{first_part}{middle_part}{last_part}" diff --git a/faker/providers/ssn/uk_UA/__init__.py b/faker/providers/ssn/uk_UA/__init__.py index 426447aa85..4848d6113a 100644 --- a/faker/providers/ssn/uk_UA/__init__.py +++ b/faker/providers/ssn/uk_UA/__init__.py @@ -4,7 +4,7 @@ class Provider(SsnProvider): - def ssn(self): + def ssn(self) -> str: """ Ukrainian "Реєстраційний номер облікової картки платника податків" also known as "Ідентифікаційний номер фізичної особи". @@ -12,18 +12,25 @@ def ssn(self): digits = [] # Number of days between 1899-12-31 and a birth date - for digit in str((self.generator.date_object() - - date(1899, 12, 31)).days): + for digit in str((self.generator.date_object() - date(1899, 12, 31)).days): digits.append(int(digit)) # Person's sequence number for _ in range(4): digits.append(self.random_int(0, 9)) - checksum = (digits[0] * -1 + digits[1] * 5 + digits[2] * 7 + digits[3] * 9 + - digits[4] * 4 + digits[5] * 6 + digits[6] * 10 + digits[7] * 5 + - digits[8] * 7) + checksum = ( + digits[0] * -1 + + digits[1] * 5 + + digits[2] * 7 + + digits[3] * 9 + + digits[4] * 4 + + digits[5] * 6 + + digits[6] * 10 + + digits[7] * 5 + + digits[8] * 7 + ) # Remainder of a checksum divided by 11 or 1 if it equals to 10 digits.append(checksum % 11 % 10) - return ''.join(str(digit) for digit in digits) + return "".join(str(digit) for digit in digits) diff --git a/faker/providers/ssn/zh_CN/__init__.py b/faker/providers/ssn/zh_CN/__init__.py index f6b8701c2a..e8749d2210 100644 --- a/faker/providers/ssn/zh_CN/__init__.py +++ b/faker/providers/ssn/zh_CN/__init__.py @@ -1,541 +1,3554 @@ import datetime +from typing import List, Optional + +from ....typing import GenderType from .. import Provider as SsnProvider class Provider(SsnProvider): # Extracted from # http://www.stats.gov.cn/tjsj/tjbz/xzqhdm/201504/t20150415_712722.html - area_codes = [ - "110000", "110100", "110101", "110102", "110105", "110106", "110107", - "110108", "110109", "110111", "110112", "110113", "110114", "110115", - "110116", "110117", "110200", "110228", "110229", "120000", "120100", - "120101", "120102", "120103", "120104", "120105", "120106", "120110", - "120111", "120112", "120113", "120114", "120115", "120116", "120200", - "120221", "120223", "120225", "130000", "130100", "130101", "130102", - "130104", "130105", "130107", "130108", "130109", "130110", "130111", - "130121", "130123", "130125", "130126", "130127", "130128", "130129", - "130130", "130131", "130132", "130133", "130181", "130183", "130184", - "130200", "130201", "130202", "130203", "130204", "130205", "130207", - "130208", "130209", "130223", "130224", "130225", "130227", "130229", - "130281", "130283", "130300", "130301", "130302", "130303", "130304", - "130321", "130322", "130323", "130324", "130400", "130401", "130402", - "130403", "130404", "130406", "130421", "130423", "130424", "130425", - "130426", "130427", "130428", "130429", "130430", "130431", "130432", - "130433", "130434", "130435", "130481", "130500", "130501", "130502", - "130503", "130521", "130522", "130523", "130524", "130525", "130526", - "130527", "130528", "130529", "130530", "130531", "130532", "130533", - "130534", "130535", "130581", "130582", "130600", "130601", "130602", - "130603", "130604", "130621", "130622", "130623", "130624", "130625", - "130626", "130627", "130628", "130629", "130630", "130631", "130632", - "130633", "130634", "130635", "130636", "130637", "130638", "130681", - "130682", "130683", "130684", "130700", "130701", "130702", "130703", - "130705", "130706", "130721", "130722", "130723", "130724", "130725", - "130726", "130727", "130728", "130729", "130730", "130731", "130732", - "130733", "130800", "130801", "130802", "130803", "130804", "130821", - "130822", "130823", "130824", "130825", "130826", "130827", "130828", - "130900", "130901", "130902", "130903", "130921", "130922", "130923", - "130924", "130925", "130926", "130927", "130928", "130929", "130930", - "130981", "130982", "130983", "130984", "131000", "131001", "131002", - "131003", "131022", "131023", "131024", "131025", "131026", "131028", - "131081", "131082", "131100", "131101", "131102", "131121", "131122", - "131123", "131124", "131125", "131126", "131127", "131128", "131181", - "131182", "140000", "140100", "140101", "140105", "140106", "140107", - "140108", "140109", "140110", "140121", "140122", "140123", "140181", - "140200", "140201", "140202", "140203", "140211", "140212", "140221", - "140222", "140223", "140224", "140225", "140226", "140227", "140300", - "140301", "140302", "140303", "140311", "140321", "140322", "140400", - "140401", "140402", "140411", "140421", "140423", "140424", "140425", - "140426", "140427", "140428", "140429", "140430", "140431", "140481", - "140500", "140501", "140502", "140521", "140522", "140524", "140525", - "140581", "140600", "140601", "140602", "140603", "140621", "140622", - "140623", "140624", "140700", "140701", "140702", "140721", "140722", - "140723", "140724", "140725", "140726", "140727", "140728", "140729", - "140781", "140800", "140801", "140802", "140821", "140822", "140823", - "140824", "140825", "140826", "140827", "140828", "140829", "140830", - "140881", "140882", "140900", "140901", "140902", "140921", "140922", - "140923", "140924", "140925", "140926", "140927", "140928", "140929", - "140930", "140931", "140932", "140981", "141000", "141001", "141002", - "141021", "141022", "141023", "141024", "141025", "141026", "141027", - "141028", "141029", "141030", "141031", "141032", "141033", "141034", - "141081", "141082", "141100", "141101", "141102", "141121", "141122", - "141123", "141124", "141125", "141126", "141127", "141128", "141129", - "141130", "141181", "141182", "150000", "150100", "150101", "150102", - "150103", "150104", "150105", "150121", "150122", "150123", "150124", - "150125", "150200", "150201", "150202", "150203", "150204", "150205", - "150206", "150207", "150221", "150222", "150223", "150300", "150301", - "150302", "150303", "150304", "150400", "150401", "150402", "150403", - "150404", "150421", "150422", "150423", "150424", "150425", "150426", - "150428", "150429", "150430", "150500", "150501", "150502", "150521", - "150522", "150523", "150524", "150525", "150526", "150581", "150600", - "150601", "150602", "150621", "150622", "150623", "150624", "150625", - "150626", "150627", "150700", "150701", "150702", "150703", "150721", - "150722", "150723", "150724", "150725", "150726", "150727", "150781", - "150782", "150783", "150784", "150785", "150800", "150801", "150802", - "150821", "150822", "150823", "150824", "150825", "150826", "150900", - "150901", "150902", "150921", "150922", "150923", "150924", "150925", - "150926", "150927", "150928", "150929", "150981", "152200", "152201", - "152202", "152221", "152222", "152223", "152224", "152500", "152501", - "152502", "152522", "152523", "152524", "152525", "152526", "152527", - "152528", "152529", "152530", "152531", "152900", "152921", "152922", - "152923", "210000", "210100", "210101", "210102", "210103", "210104", - "210105", "210106", "210111", "210112", "210113", "210114", "210122", - "210123", "210124", "210181", "210200", "210201", "210202", "210203", - "210204", "210211", "210212", "210213", "210224", "210281", "210282", - "210283", "210300", "210301", "210302", "210303", "210304", "210311", - "210321", "210323", "210381", "210400", "210401", "210402", "210403", - "210404", "210411", "210421", "210422", "210423", "210500", "210501", - "210502", "210503", "210504", "210505", "210521", "210522", "210600", - "210601", "210602", "210603", "210604", "210624", "210681", "210682", - "210700", "210701", "210702", "210703", "210711", "210726", "210727", - "210781", "210782", "210800", "210801", "210802", "210803", "210804", - "210811", "210881", "210882", "210900", "210901", "210902", "210903", - "210904", "210905", "210911", "210921", "210922", "211000", "211001", - "211002", "211003", "211004", "211005", "211011", "211021", "211081", - "211100", "211101", "211102", "211103", "211121", "211122", "211200", - "211201", "211202", "211204", "211221", "211223", "211224", "211281", - "211282", "211300", "211301", "211302", "211303", "211321", "211322", - "211324", "211381", "211382", "211400", "211401", "211402", "211403", - "211404", "211421", "211422", "211481", "220000", "220100", "220101", - "220102", "220103", "220104", "220105", "220106", "220112", "220113", - "220122", "220182", "220183", "220200", "220201", "220202", "220203", - "220204", "220211", "220221", "220281", "220282", "220283", "220284", - "220300", "220301", "220302", "220303", "220322", "220323", "220381", - "220382", "220400", "220401", "220402", "220403", "220421", "220422", - "220500", "220501", "220502", "220503", "220521", "220523", "220524", - "220581", "220582", "220600", "220601", "220602", "220605", "220621", - "220622", "220623", "220681", "220700", "220701", "220702", "220721", - "220722", "220723", "220781", "220800", "220801", "220802", "220821", - "220822", "220881", "220882", "222400", "222401", "222402", "222403", - "222404", "222405", "222406", "222424", "222426", "230000", "230100", - "230101", "230102", "230103", "230104", "230108", "230109", "230110", - "230111", "230112", "230123", "230124", "230125", "230126", "230127", - "230128", "230129", "230182", "230183", "230184", "230200", "230201", - "230202", "230203", "230204", "230205", "230206", "230207", "230208", - "230221", "230223", "230224", "230225", "230227", "230229", "230230", - "230231", "230281", "230300", "230301", "230302", "230303", "230304", - "230305", "230306", "230307", "230321", "230381", "230382", "230400", - "230401", "230402", "230403", "230404", "230405", "230406", "230407", - "230421", "230422", "230500", "230501", "230502", "230503", "230505", - "230506", "230521", "230522", "230523", "230524", "230600", "230601", - "230602", "230603", "230604", "230605", "230606", "230621", "230622", - "230623", "230624", "230700", "230701", "230702", "230703", "230704", - "230705", "230706", "230707", "230708", "230709", "230710", "230711", - "230712", "230713", "230714", "230715", "230716", "230722", "230781", - "230800", "230801", "230803", "230804", "230805", "230811", "230822", - "230826", "230828", "230833", "230881", "230882", "230900", "230901", - "230902", "230903", "230904", "230921", "231000", "231001", "231002", - "231003", "231004", "231005", "231024", "231025", "231081", "231083", - "231084", "231085", "231100", "231101", "231102", "231121", "231123", - "231124", "231181", "231182", "231200", "231201", "231202", "231221", - "231222", "231223", "231224", "231225", "231226", "231281", "231282", - "231283", "232700", "232721", "232722", "232723", "310000", "310100", - "310101", "310104", "310105", "310106", "310107", "310108", "310109", - "310110", "310112", "310113", "310114", "310115", "310116", "310117", - "310118", "310120", "310200", "310230", "320000", "320100", "320101", - "320102", "320104", "320105", "320106", "320111", "320113", "320114", - "320115", "320116", "320117", "320118", "320200", "320201", "320202", - "320203", "320204", "320205", "320206", "320211", "320281", "320282", - "320300", "320301", "320302", "320303", "320305", "320311", "320312", - "320321", "320322", "320324", "320381", "320382", "320400", "320401", - "320402", "320404", "320405", "320411", "320412", "320481", "320482", - "320500", "320501", "320505", "320506", "320507", "320508", "320509", - "320581", "320582", "320583", "320585", "320600", "320601", "320602", - "320611", "320612", "320621", "320623", "320681", "320682", "320684", - "320700", "320701", "320703", "320706", "320707", "320722", "320723", - "320724", "320800", "320801", "320802", "320803", "320804", "320811", - "320826", "320829", "320830", "320831", "320900", "320901", "320902", - "320903", "320921", "320922", "320923", "320924", "320925", "320981", - "320982", "321000", "321001", "321002", "321003", "321012", "321023", - "321081", "321084", "321100", "321101", "321102", "321111", "321112", - "321181", "321182", "321183", "321200", "321201", "321202", "321203", - "321204", "321281", "321282", "321283", "321300", "321301", "321302", - "321311", "321322", "321323", "321324", "330000", "330100", "330101", - "330102", "330103", "330104", "330105", "330106", "330108", "330109", - "330110", "330122", "330127", "330182", "330183", "330185", "330200", - "330201", "330203", "330204", "330205", "330206", "330211", "330212", - "330225", "330226", "330281", "330282", "330283", "330300", "330301", - "330302", "330303", "330304", "330322", "330324", "330326", "330327", - "330328", "330329", "330381", "330382", "330400", "330401", "330402", - "330411", "330421", "330424", "330481", "330482", "330483", "330500", - "330501", "330502", "330503", "330521", "330522", "330523", "330600", - "330601", "330602", "330603", "330604", "330624", "330681", "330683", - "330700", "330701", "330702", "330703", "330723", "330726", "330727", - "330781", "330782", "330783", "330784", "330800", "330801", "330802", - "330803", "330822", "330824", "330825", "330881", "330900", "330901", - "330902", "330903", "330921", "330922", "331000", "331001", "331002", - "331003", "331004", "331021", "331022", "331023", "331024", "331081", - "331082", "331100", "331101", "331102", "331121", "331122", "331123", - "331124", "331125", "331126", "331127", "331181", "340000", "340100", - "340101", "340102", "340103", "340104", "340111", "340121", "340122", - "340123", "340124", "340181", "340200", "340201", "340202", "340203", - "340207", "340208", "340221", "340222", "340223", "340225", "340300", - "340301", "340302", "340303", "340304", "340311", "340321", "340322", - "340323", "340400", "340401", "340402", "340403", "340404", "340405", - "340406", "340421", "340500", "340501", "340503", "340504", "340506", - "340521", "340522", "340523", "340600", "340601", "340602", "340603", - "340604", "340621", "340700", "340701", "340702", "340703", "340711", - "340721", "340800", "340801", "340802", "340803", "340811", "340822", - "340823", "340824", "340825", "340826", "340827", "340828", "340881", - "341000", "341001", "341002", "341003", "341004", "341021", "341022", - "341023", "341024", "341100", "341101", "341102", "341103", "341122", - "341124", "341125", "341126", "341181", "341182", "341200", "341201", - "341202", "341203", "341204", "341221", "341222", "341225", "341226", - "341282", "341300", "341301", "341302", "341321", "341322", "341323", - "341324", "341500", "341501", "341502", "341503", "341521", "341522", - "341523", "341524", "341525", "341600", "341601", "341602", "341621", - "341622", "341623", "341700", "341701", "341702", "341721", "341722", - "341723", "341800", "341801", "341802", "341821", "341822", "341823", - "341824", "341825", "341881", "350000", "350100", "350101", "350102", - "350103", "350104", "350105", "350111", "350121", "350122", "350123", - "350124", "350125", "350128", "350181", "350182", "350200", "350201", - "350203", "350205", "350206", "350211", "350212", "350213", "350300", - "350301", "350302", "350303", "350304", "350305", "350322", "350400", - "350401", "350402", "350403", "350421", "350423", "350424", "350425", - "350426", "350427", "350428", "350429", "350430", "350481", "350500", - "350501", "350502", "350503", "350504", "350505", "350521", "350524", - "350525", "350526", "350527", "350581", "350582", "350583", "350600", - "350601", "350602", "350603", "350622", "350623", "350624", "350625", - "350626", "350627", "350628", "350629", "350681", "350700", "350701", - "350702", "350721", "350722", "350723", "350724", "350725", "350781", - "350782", "350783", "350784", "350800", "350801", "350802", "350821", - "350822", "350823", "350824", "350825", "350881", "350900", "350901", - "350902", "350921", "350922", "350923", "350924", "350925", "350926", - "350981", "350982", "360000", "360100", "360101", "360102", "360103", - "360104", "360105", "360111", "360121", "360122", "360123", "360124", - "360200", "360201", "360202", "360203", "360222", "360281", "360300", - "360301", "360302", "360313", "360321", "360322", "360323", "360400", - "360401", "360402", "360403", "360421", "360423", "360424", "360425", - "360426", "360427", "360428", "360429", "360430", "360481", "360482", - "360500", "360501", "360502", "360521", "360600", "360601", "360602", - "360622", "360681", "360700", "360701", "360702", "360703", "360721", - "360722", "360723", "360724", "360725", "360726", "360727", "360728", - "360729", "360730", "360731", "360732", "360733", "360734", "360735", - "360781", "360800", "360801", "360802", "360803", "360821", "360822", - "360823", "360824", "360825", "360826", "360827", "360828", "360829", - "360830", "360881", "360900", "360901", "360902", "360921", "360922", - "360923", "360924", "360925", "360926", "360981", "360982", "360983", - "361000", "361001", "361002", "361021", "361022", "361023", "361024", - "361025", "361026", "361027", "361028", "361029", "361030", "361100", - "361101", "361102", "361121", "361122", "361123", "361124", "361125", - "361126", "361127", "361128", "361129", "361130", "361181", "370000", - "370100", "370101", "370102", "370103", "370104", "370105", "370112", - "370113", "370124", "370125", "370126", "370181", "370200", "370201", - "370202", "370203", "370211", "370212", "370213", "370214", "370281", - "370282", "370283", "370285", "370300", "370301", "370302", "370303", - "370304", "370305", "370306", "370321", "370322", "370323", "370400", - "370401", "370402", "370403", "370404", "370405", "370406", "370481", - "370500", "370501", "370502", "370503", "370521", "370522", "370523", - "370600", "370601", "370602", "370611", "370612", "370613", "370634", - "370681", "370682", "370683", "370684", "370685", "370686", "370687", - "370700", "370701", "370702", "370703", "370704", "370705", "370724", - "370725", "370781", "370782", "370783", "370784", "370785", "370786", - "370800", "370801", "370811", "370812", "370826", "370827", "370828", - "370829", "370830", "370831", "370832", "370881", "370883", "370900", - "370901", "370902", "370911", "370921", "370923", "370982", "370983", - "371000", "371001", "371002", "371003", "371082", "371083", "371100", - "371101", "371102", "371103", "371121", "371122", "371200", "371201", - "371202", "371203", "371300", "371301", "371302", "371311", "371312", - "371321", "371322", "371323", "371324", "371325", "371326", "371327", - "371328", "371329", "371400", "371401", "371402", "371403", "371422", - "371423", "371424", "371425", "371426", "371427", "371428", "371481", - "371482", "371500", "371501", "371502", "371521", "371522", "371523", - "371524", "371525", "371526", "371581", "371600", "371601", "371602", - "371603", "371621", "371622", "371623", "371625", "371626", "371700", - "371701", "371702", "371721", "371722", "371723", "371724", "371725", - "371726", "371727", "371728", "410000", "410100", "410101", "410102", - "410103", "410104", "410105", "410106", "410108", "410122", "410181", - "410182", "410183", "410184", "410185", "410200", "410201", "410202", - "410203", "410204", "410205", "410211", "410221", "410222", "410223", - "410224", "410225", "410300", "410301", "410302", "410303", "410304", - "410305", "410306", "410311", "410322", "410323", "410324", "410325", - "410326", "410327", "410328", "410329", "410381", "410400", "410401", - "410402", "410403", "410404", "410411", "410421", "410422", "410423", - "410425", "410481", "410482", "410500", "410501", "410502", "410503", - "410505", "410506", "410522", "410523", "410526", "410527", "410581", - "410600", "410601", "410602", "410603", "410611", "410621", "410622", - "410700", "410701", "410702", "410703", "410704", "410711", "410721", - "410724", "410725", "410726", "410727", "410728", "410781", "410782", - "410800", "410801", "410802", "410803", "410804", "410811", "410821", - "410822", "410823", "410825", "410882", "410883", "410900", "410901", - "410902", "410922", "410923", "410926", "410927", "410928", "411000", - "411001", "411002", "411023", "411024", "411025", "411081", "411082", - "411100", "411101", "411102", "411103", "411104", "411121", "411122", - "411200", "411201", "411202", "411221", "411222", "411224", "411281", - "411282", "411300", "411301", "411302", "411303", "411321", "411322", - "411323", "411324", "411325", "411326", "411327", "411328", "411329", - "411330", "411381", "411400", "411401", "411402", "411403", "411421", - "411422", "411423", "411424", "411425", "411426", "411481", "411500", - "411501", "411502", "411503", "411521", "411522", "411523", "411524", - "411525", "411526", "411527", "411528", "411600", "411601", "411602", - "411621", "411622", "411623", "411624", "411625", "411626", "411627", - "411628", "411681", "411700", "411701", "411702", "411721", "411722", - "411723", "411724", "411725", "411726", "411727", "411728", "411729", - "419000", "419001", "420000", "420100", "420101", "420102", "420103", - "420104", "420105", "420106", "420107", "420111", "420112", "420113", - "420114", "420115", "420116", "420117", "420200", "420201", "420202", - "420203", "420204", "420205", "420222", "420281", "420300", "420301", - "420302", "420303", "420304", "420322", "420323", "420324", "420325", - "420381", "420500", "420501", "420502", "420503", "420504", "420505", - "420506", "420525", "420526", "420527", "420528", "420529", "420581", - "420582", "420583", "420600", "420601", "420602", "420606", "420607", - "420624", "420625", "420626", "420682", "420683", "420684", "420700", - "420701", "420702", "420703", "420704", "420800", "420801", "420802", - "420804", "420821", "420822", "420881", "420900", "420901", "420902", - "420921", "420922", "420923", "420981", "420982", "420984", "421000", - "421001", "421002", "421003", "421022", "421023", "421024", "421081", - "421083", "421087", "421100", "421101", "421102", "421121", "421122", - "421123", "421124", "421125", "421126", "421127", "421181", "421182", - "421200", "421201", "421202", "421221", "421222", "421223", "421224", - "421281", "421300", "421301", "421303", "421321", "421381", "422800", - "422801", "422802", "422822", "422823", "422825", "422826", "422827", - "422828", "429000", "429004", "429005", "429006", "429021", "430000", - "430100", "430101", "430102", "430103", "430104", "430105", "430111", - "430112", "430121", "430124", "430181", "430200", "430201", "430202", - "430203", "430204", "430211", "430221", "430223", "430224", "430225", - "430281", "430300", "430301", "430302", "430304", "430321", "430381", - "430382", "430400", "430401", "430405", "430406", "430407", "430408", - "430412", "430421", "430422", "430423", "430424", "430426", "430481", - "430482", "430500", "430501", "430502", "430503", "430511", "430521", - "430522", "430523", "430524", "430525", "430527", "430528", "430529", - "430581", "430600", "430601", "430602", "430603", "430611", "430621", - "430623", "430624", "430626", "430681", "430682", "430700", "430701", - "430702", "430703", "430721", "430722", "430723", "430724", "430725", - "430726", "430781", "430800", "430801", "430802", "430811", "430821", - "430822", "430900", "430901", "430902", "430903", "430921", "430922", - "430923", "430981", "431000", "431001", "431002", "431003", "431021", - "431022", "431023", "431024", "431025", "431026", "431027", "431028", - "431081", "431100", "431101", "431102", "431103", "431121", "431122", - "431123", "431124", "431125", "431126", "431127", "431128", "431129", - "431200", "431201", "431202", "431221", "431222", "431223", "431224", - "431225", "431226", "431227", "431228", "431229", "431230", "431281", - "431300", "431301", "431302", "431321", "431322", "431381", "431382", - "433100", "433101", "433122", "433123", "433124", "433125", "433126", - "433127", "433130", "440000", "440100", "440101", "440103", "440104", - "440105", "440106", "440111", "440112", "440113", "440114", "440115", - "440116", "440117", "440118", "440200", "440201", "440203", "440204", - "440205", "440222", "440224", "440229", "440232", "440233", "440281", - "440282", "440300", "440301", "440303", "440304", "440305", "440306", - "440307", "440308", "440400", "440401", "440402", "440403", "440404", - "440500", "440501", "440507", "440511", "440512", "440513", "440514", - "440515", "440523", "440600", "440601", "440604", "440605", "440606", - "440607", "440608", "440700", "440701", "440703", "440704", "440705", - "440781", "440783", "440784", "440785", "440800", "440801", "440802", - "440803", "440804", "440811", "440823", "440825", "440881", "440882", - "440883", "440900", "440901", "440902", "440904", "440981", "440982", - "440983", "441200", "441201", "441202", "441203", "441223", "441224", - "441225", "441226", "441283", "441284", "441300", "441301", "441302", - "441303", "441322", "441323", "441324", "441400", "441401", "441402", - "441403", "441422", "441423", "441424", "441426", "441427", "441481", - "441500", "441501", "441502", "441521", "441523", "441581", "441600", - "441601", "441602", "441621", "441622", "441623", "441624", "441625", - "441700", "441701", "441702", "441721", "441723", "441781", "441800", - "441801", "441802", "441803", "441821", "441823", "441825", "441826", - "441881", "441882", "441900", "442000", "445100", "445101", "445102", - "445103", "445122", "445200", "445201", "445202", "445203", "445222", - "445224", "445281", "445300", "445301", "445302", "445303", "445321", - "445322", "445381", "450000", "450100", "450101", "450102", "450103", - "450105", "450107", "450108", "450109", "450122", "450123", "450124", - "450125", "450126", "450127", "450200", "450201", "450202", "450203", - "450204", "450205", "450221", "450222", "450223", "450224", "450225", - "450226", "450300", "450301", "450302", "450303", "450304", "450305", - "450311", "450312", "450321", "450323", "450324", "450325", "450326", - "450327", "450328", "450329", "450330", "450331", "450332", "450400", - "450401", "450403", "450405", "450406", "450421", "450422", "450423", - "450481", "450500", "450501", "450502", "450503", "450512", "450521", - "450600", "450601", "450602", "450603", "450621", "450681", "450700", - "450701", "450702", "450703", "450721", "450722", "450800", "450801", - "450802", "450803", "450804", "450821", "450881", "450900", "450901", - "450902", "450903", "450921", "450922", "450923", "450924", "450981", - "451000", "451001", "451002", "451021", "451022", "451023", "451024", - "451025", "451026", "451027", "451028", "451029", "451030", "451031", - "451100", "451101", "451102", "451121", "451122", "451123", "451200", - "451201", "451202", "451221", "451222", "451223", "451224", "451225", - "451226", "451227", "451228", "451229", "451281", "451300", "451301", - "451302", "451321", "451322", "451323", "451324", "451381", "451400", - "451401", "451402", "451421", "451422", "451423", "451424", "451425", - "451481", "460000", "460100", "460101", "460105", "460106", "460107", - "460108", "460200", "460201", "460202", "460203", "460204", "460205", - "460300", "469000", "469001", "469002", "469003", "469005", "469006", - "469007", "469021", "469022", "469023", "469024", "469025", "469026", - "469027", "469028", "469029", "469030", "500000", "500100", "500101", - "500102", "500103", "500104", "500105", "500106", "500107", "500108", - "500109", "500110", "500111", "500112", "500113", "500114", "500115", - "500116", "500117", "500118", "500119", "500120", "500151", "500200", - "500223", "500226", "500228", "500229", "500230", "500231", "500232", - "500233", "500234", "500235", "500236", "500237", "500238", "500240", - "500241", "500242", "500243", "510000", "510100", "510101", "510104", - "510105", "510106", "510107", "510108", "510112", "510113", "510114", - "510115", "510121", "510122", "510124", "510129", "510131", "510132", - "510181", "510182", "510183", "510184", "510300", "510301", "510302", - "510303", "510304", "510311", "510321", "510322", "510400", "510401", - "510402", "510403", "510411", "510421", "510422", "510500", "510501", - "510502", "510503", "510504", "510521", "510522", "510524", "510525", - "510600", "510601", "510603", "510623", "510626", "510681", "510682", - "510683", "510700", "510701", "510703", "510704", "510722", "510723", - "510724", "510725", "510726", "510727", "510781", "510800", "510801", - "510802", "510811", "510812", "510821", "510822", "510823", "510824", - "510900", "510901", "510903", "510904", "510921", "510922", "510923", - "511000", "511001", "511002", "511011", "511024", "511025", "511028", - "511100", "511101", "511102", "511111", "511112", "511113", "511123", - "511124", "511126", "511129", "511132", "511133", "511181", "511300", - "511301", "511302", "511303", "511304", "511321", "511322", "511323", - "511324", "511325", "511381", "511400", "511401", "511402", "511421", - "511422", "511423", "511424", "511425", "511500", "511501", "511502", - "511503", "511521", "511523", "511524", "511525", "511526", "511527", - "511528", "511529", "511600", "511601", "511602", "511603", "511621", - "511622", "511623", "511681", "511700", "511701", "511702", "511703", - "511722", "511723", "511724", "511725", "511781", "511800", "511801", - "511802", "511803", "511822", "511823", "511824", "511825", "511826", - "511827", "511900", "511901", "511902", "511903", "511921", "511922", - "511923", "512000", "512001", "512002", "512021", "512022", "512081", - "513200", "513221", "513222", "513223", "513224", "513225", "513226", - "513227", "513228", "513229", "513230", "513231", "513232", "513233", - "513300", "513321", "513322", "513323", "513324", "513325", "513326", - "513327", "513328", "513329", "513330", "513331", "513332", "513333", - "513334", "513335", "513336", "513337", "513338", "513400", "513401", - "513422", "513423", "513424", "513425", "513426", "513427", "513428", - "513429", "513430", "513431", "513432", "513433", "513434", "513435", - "513436", "513437", "520000", "520100", "520101", "520102", "520103", - "520111", "520112", "520113", "520115", "520121", "520122", "520123", - "520181", "520200", "520201", "520203", "520221", "520222", "520300", - "520301", "520302", "520303", "520321", "520322", "520323", "520324", - "520325", "520326", "520327", "520328", "520329", "520330", "520381", - "520382", "520400", "520401", "520402", "520421", "520422", "520423", - "520424", "520425", "520500", "520501", "520502", "520521", "520522", - "520523", "520524", "520525", "520526", "520527", "520600", "520601", - "520602", "520603", "520621", "520622", "520623", "520624", "520625", - "520626", "520627", "520628", "522300", "522301", "522322", "522323", - "522324", "522325", "522326", "522327", "522328", "522600", "522601", - "522622", "522623", "522624", "522625", "522626", "522627", "522628", - "522629", "522630", "522631", "522632", "522633", "522634", "522635", - "522636", "522700", "522701", "522702", "522722", "522723", "522725", - "522726", "522727", "522728", "522729", "522730", "522731", "522732", - "530000", "530100", "530101", "530102", "530103", "530111", "530112", - "530113", "530114", "530122", "530124", "530125", "530126", "530127", - "530128", "530129", "530181", "530300", "530301", "530302", "530321", - "530322", "530323", "530324", "530325", "530326", "530328", "530381", - "530400", "530401", "530402", "530421", "530422", "530423", "530424", - "530425", "530426", "530427", "530428", "530500", "530501", "530502", - "530521", "530522", "530523", "530524", "530600", "530601", "530602", - "530621", "530622", "530623", "530624", "530625", "530626", "530627", - "530628", "530629", "530630", "530700", "530701", "530702", "530721", - "530722", "530723", "530724", "530800", "530801", "530802", "530821", - "530822", "530823", "530824", "530825", "530826", "530827", "530828", - "530829", "530900", "530901", "530902", "530921", "530922", "530923", - "530924", "530925", "530926", "530927", "532300", "532301", "532322", - "532323", "532324", "532325", "532326", "532327", "532328", "532329", - "532331", "532500", "532501", "532502", "532503", "532504", "532523", - "532524", "532525", "532527", "532528", "532529", "532530", "532531", - "532532", "532600", "532601", "532622", "532623", "532624", "532625", - "532626", "532627", "532628", "532800", "532801", "532822", "532823", - "532900", "532901", "532922", "532923", "532924", "532925", "532926", - "532927", "532928", "532929", "532930", "532931", "532932", "533100", - "533102", "533103", "533122", "533123", "533124", "533300", "533321", - "533323", "533324", "533325", "533400", "533421", "533422", "533423", - "540000", "540100", "540101", "540102", "540121", "540122", "540123", - "540124", "540125", "540126", "540127", "540200", "540202", "540221", - "540222", "540223", "540224", "540225", "540226", "540227", "540228", - "540229", "540230", "540231", "540232", "540233", "540234", "540235", - "540236", "540237", "542100", "542121", "542122", "542123", "542124", - "542125", "542126", "542127", "542128", "542129", "542132", "542133", - "542200", "542221", "542222", "542223", "542224", "542225", "542226", - "542227", "542228", "542229", "542231", "542232", "542233", "542400", - "542421", "542422", "542423", "542424", "542425", "542426", "542427", - "542428", "542429", "542430", "542431", "542500", "542521", "542522", - "542523", "542524", "542525", "542526", "542527", "542600", "542621", - "542622", "542623", "542624", "542625", "542626", "542627", "610000", - "610100", "610101", "610102", "610103", "610104", "610111", "610112", - "610113", "610114", "610115", "610116", "610122", "610124", "610125", - "610126", "610200", "610201", "610202", "610203", "610204", "610222", - "610300", "610301", "610302", "610303", "610304", "610322", "610323", - "610324", "610326", "610327", "610328", "610329", "610330", "610331", - "610400", "610401", "610402", "610403", "610404", "610422", "610423", - "610424", "610425", "610426", "610427", "610428", "610429", "610430", - "610431", "610481", "610500", "610501", "610502", "610521", "610522", - "610523", "610524", "610525", "610526", "610527", "610528", "610581", - "610582", "610600", "610601", "610602", "610621", "610622", "610623", - "610624", "610625", "610626", "610627", "610628", "610629", "610630", - "610631", "610632", "610700", "610701", "610702", "610721", "610722", - "610723", "610724", "610725", "610726", "610727", "610728", "610729", - "610730", "610800", "610801", "610802", "610821", "610822", "610823", - "610824", "610825", "610826", "610827", "610828", "610829", "610830", - "610831", "610900", "610901", "610902", "610921", "610922", "610923", - "610924", "610925", "610926", "610927", "610928", "610929", "611000", - "611001", "611002", "611021", "611022", "611023", "611024", "611025", - "611026", "620000", "620100", "620101", "620102", "620103", "620104", - "620105", "620111", "620121", "620122", "620123", "620200", "620201", - "620300", "620301", "620302", "620321", "620400", "620401", "620402", - "620403", "620421", "620422", "620423", "620500", "620501", "620502", - "620503", "620521", "620522", "620523", "620524", "620525", "620600", - "620601", "620602", "620621", "620622", "620623", "620700", "620701", - "620702", "620721", "620722", "620723", "620724", "620725", "620800", - "620801", "620802", "620821", "620822", "620823", "620824", "620825", - "620826", "620900", "620901", "620902", "620921", "620922", "620923", - "620924", "620981", "620982", "621000", "621001", "621002", "621021", - "621022", "621023", "621024", "621025", "621026", "621027", "621100", - "621101", "621102", "621121", "621122", "621123", "621124", "621125", - "621126", "621200", "621201", "621202", "621221", "621222", "621223", - "621224", "621225", "621226", "621227", "621228", "622900", "622901", - "622921", "622922", "622923", "622924", "622925", "622926", "622927", - "623000", "623001", "623021", "623022", "623023", "623024", "623025", - "623026", "623027", "630000", "630100", "630101", "630102", "630103", - "630104", "630105", "630121", "630122", "630123", "630200", "630202", - "630221", "630222", "630223", "630224", "630225", "632200", "632221", - "632222", "632223", "632224", "632300", "632321", "632322", "632323", - "632324", "632500", "632521", "632522", "632523", "632524", "632525", - "632600", "632621", "632622", "632623", "632624", "632625", "632626", - "632700", "632701", "632722", "632723", "632724", "632725", "632726", - "632800", "632801", "632802", "632821", "632822", "632823", "640000", - "640100", "640101", "640104", "640105", "640106", "640121", "640122", - "640181", "640200", "640201", "640202", "640205", "640221", "640300", - "640301", "640302", "640303", "640323", "640324", "640381", "640400", - "640401", "640402", "640422", "640423", "640424", "640425", "640500", - "640501", "640502", "640521", "640522", "650000", "650100", "650101", - "650102", "650103", "650104", "650105", "650106", "650107", "650109", - "650121", "650200", "650201", "650202", "650203", "650204", "650205", - "652100", "652101", "652122", "652123", "652200", "652201", "652222", - "652223", "652300", "652301", "652302", "652323", "652324", "652325", - "652327", "652328", "652700", "652701", "652702", "652722", "652723", - "652800", "652801", "652822", "652823", "652824", "652825", "652826", - "652827", "652828", "652829", "652900", "652901", "652922", "652923", - "652924", "652925", "652926", "652927", "652928", "652929", "653000", - "653001", "653022", "653023", "653024", "653100", "653101", "653121", - "653122", "653123", "653124", "653125", "653126", "653127", "653128", - "653129", "653130", "653131", "653200", "653201", "653221", "653222", - "653223", "653224", "653225", "653226", "653227", "654000", "654002", - "654003", "654021", "654022", "654023", "654024", "654025", "654026", - "654027", "654028", "654200", "654201", "654202", "654221", "654223", - "654224", "654225", "654226", "654300", "654301", "654321", "654322", - "654323", "654324", "654325", "654326", "659000", "659001", "659002", - "659003", "659004", "710000", "810000", "820000", + area_codes: List[str] = [ + "110000", + "110100", + "110101", + "110102", + "110105", + "110106", + "110107", + "110108", + "110109", + "110111", + "110112", + "110113", + "110114", + "110115", + "110116", + "110117", + "110200", + "110228", + "110229", + "120000", + "120100", + "120101", + "120102", + "120103", + "120104", + "120105", + "120106", + "120110", + "120111", + "120112", + "120113", + "120114", + "120115", + "120116", + "120200", + "120221", + "120223", + "120225", + "130000", + "130100", + "130101", + "130102", + "130104", + "130105", + "130107", + "130108", + "130109", + "130110", + "130111", + "130121", + "130123", + "130125", + "130126", + "130127", + "130128", + "130129", + "130130", + "130131", + "130132", + "130133", + "130181", + "130183", + "130184", + "130200", + "130201", + "130202", + "130203", + "130204", + "130205", + "130207", + "130208", + "130209", + "130223", + "130224", + "130225", + "130227", + "130229", + "130281", + "130283", + "130300", + "130301", + "130302", + "130303", + "130304", + "130321", + "130322", + "130323", + "130324", + "130400", + "130401", + "130402", + "130403", + "130404", + "130406", + "130421", + "130423", + "130424", + "130425", + "130426", + "130427", + "130428", + "130429", + "130430", + "130431", + "130432", + "130433", + "130434", + "130435", + "130481", + "130500", + "130501", + "130502", + "130503", + "130521", + "130522", + "130523", + "130524", + "130525", + "130526", + "130527", + "130528", + "130529", + "130530", + "130531", + "130532", + "130533", + "130534", + "130535", + "130581", + "130582", + "130600", + "130601", + "130602", + "130603", + "130604", + "130621", + "130622", + "130623", + "130624", + "130625", + "130626", + "130627", + "130628", + "130629", + "130630", + "130631", + "130632", + "130633", + "130634", + "130635", + "130636", + "130637", + "130638", + "130681", + "130682", + "130683", + "130684", + "130700", + "130701", + "130702", + "130703", + "130705", + "130706", + "130721", + "130722", + "130723", + "130724", + "130725", + "130726", + "130727", + "130728", + "130729", + "130730", + "130731", + "130732", + "130733", + "130800", + "130801", + "130802", + "130803", + "130804", + "130821", + "130822", + "130823", + "130824", + "130825", + "130826", + "130827", + "130828", + "130900", + "130901", + "130902", + "130903", + "130921", + "130922", + "130923", + "130924", + "130925", + "130926", + "130927", + "130928", + "130929", + "130930", + "130981", + "130982", + "130983", + "130984", + "131000", + "131001", + "131002", + "131003", + "131022", + "131023", + "131024", + "131025", + "131026", + "131028", + "131081", + "131082", + "131100", + "131101", + "131102", + "131121", + "131122", + "131123", + "131124", + "131125", + "131126", + "131127", + "131128", + "131181", + "131182", + "140000", + "140100", + "140101", + "140105", + "140106", + "140107", + "140108", + "140109", + "140110", + "140121", + "140122", + "140123", + "140181", + "140200", + "140201", + "140202", + "140203", + "140211", + "140212", + "140221", + "140222", + "140223", + "140224", + "140225", + "140226", + "140227", + "140300", + "140301", + "140302", + "140303", + "140311", + "140321", + "140322", + "140400", + "140401", + "140402", + "140411", + "140421", + "140423", + "140424", + "140425", + "140426", + "140427", + "140428", + "140429", + "140430", + "140431", + "140481", + "140500", + "140501", + "140502", + "140521", + "140522", + "140524", + "140525", + "140581", + "140600", + "140601", + "140602", + "140603", + "140621", + "140622", + "140623", + "140624", + "140700", + "140701", + "140702", + "140721", + "140722", + "140723", + "140724", + "140725", + "140726", + "140727", + "140728", + "140729", + "140781", + "140800", + "140801", + "140802", + "140821", + "140822", + "140823", + "140824", + "140825", + "140826", + "140827", + "140828", + "140829", + "140830", + "140881", + "140882", + "140900", + "140901", + "140902", + "140921", + "140922", + "140923", + "140924", + "140925", + "140926", + "140927", + "140928", + "140929", + "140930", + "140931", + "140932", + "140981", + "141000", + "141001", + "141002", + "141021", + "141022", + "141023", + "141024", + "141025", + "141026", + "141027", + "141028", + "141029", + "141030", + "141031", + "141032", + "141033", + "141034", + "141081", + "141082", + "141100", + "141101", + "141102", + "141121", + "141122", + "141123", + "141124", + "141125", + "141126", + "141127", + "141128", + "141129", + "141130", + "141181", + "141182", + "150000", + "150100", + "150101", + "150102", + "150103", + "150104", + "150105", + "150121", + "150122", + "150123", + "150124", + "150125", + "150200", + "150201", + "150202", + "150203", + "150204", + "150205", + "150206", + "150207", + "150221", + "150222", + "150223", + "150300", + "150301", + "150302", + "150303", + "150304", + "150400", + "150401", + "150402", + "150403", + "150404", + "150421", + "150422", + "150423", + "150424", + "150425", + "150426", + "150428", + "150429", + "150430", + "150500", + "150501", + "150502", + "150521", + "150522", + "150523", + "150524", + "150525", + "150526", + "150581", + "150600", + "150601", + "150602", + "150621", + "150622", + "150623", + "150624", + "150625", + "150626", + "150627", + "150700", + "150701", + "150702", + "150703", + "150721", + "150722", + "150723", + "150724", + "150725", + "150726", + "150727", + "150781", + "150782", + "150783", + "150784", + "150785", + "150800", + "150801", + "150802", + "150821", + "150822", + "150823", + "150824", + "150825", + "150826", + "150900", + "150901", + "150902", + "150921", + "150922", + "150923", + "150924", + "150925", + "150926", + "150927", + "150928", + "150929", + "150981", + "152200", + "152201", + "152202", + "152221", + "152222", + "152223", + "152224", + "152500", + "152501", + "152502", + "152522", + "152523", + "152524", + "152525", + "152526", + "152527", + "152528", + "152529", + "152530", + "152531", + "152900", + "152921", + "152922", + "152923", + "210000", + "210100", + "210101", + "210102", + "210103", + "210104", + "210105", + "210106", + "210111", + "210112", + "210113", + "210114", + "210122", + "210123", + "210124", + "210181", + "210200", + "210201", + "210202", + "210203", + "210204", + "210211", + "210212", + "210213", + "210224", + "210281", + "210282", + "210283", + "210300", + "210301", + "210302", + "210303", + "210304", + "210311", + "210321", + "210323", + "210381", + "210400", + "210401", + "210402", + "210403", + "210404", + "210411", + "210421", + "210422", + "210423", + "210500", + "210501", + "210502", + "210503", + "210504", + "210505", + "210521", + "210522", + "210600", + "210601", + "210602", + "210603", + "210604", + "210624", + "210681", + "210682", + "210700", + "210701", + "210702", + "210703", + "210711", + "210726", + "210727", + "210781", + "210782", + "210800", + "210801", + "210802", + "210803", + "210804", + "210811", + "210881", + "210882", + "210900", + "210901", + "210902", + "210903", + "210904", + "210905", + "210911", + "210921", + "210922", + "211000", + "211001", + "211002", + "211003", + "211004", + "211005", + "211011", + "211021", + "211081", + "211100", + "211101", + "211102", + "211103", + "211121", + "211122", + "211200", + "211201", + "211202", + "211204", + "211221", + "211223", + "211224", + "211281", + "211282", + "211300", + "211301", + "211302", + "211303", + "211321", + "211322", + "211324", + "211381", + "211382", + "211400", + "211401", + "211402", + "211403", + "211404", + "211421", + "211422", + "211481", + "220000", + "220100", + "220101", + "220102", + "220103", + "220104", + "220105", + "220106", + "220112", + "220113", + "220122", + "220182", + "220183", + "220200", + "220201", + "220202", + "220203", + "220204", + "220211", + "220221", + "220281", + "220282", + "220283", + "220284", + "220300", + "220301", + "220302", + "220303", + "220322", + "220323", + "220381", + "220382", + "220400", + "220401", + "220402", + "220403", + "220421", + "220422", + "220500", + "220501", + "220502", + "220503", + "220521", + "220523", + "220524", + "220581", + "220582", + "220600", + "220601", + "220602", + "220605", + "220621", + "220622", + "220623", + "220681", + "220700", + "220701", + "220702", + "220721", + "220722", + "220723", + "220781", + "220800", + "220801", + "220802", + "220821", + "220822", + "220881", + "220882", + "222400", + "222401", + "222402", + "222403", + "222404", + "222405", + "222406", + "222424", + "222426", + "230000", + "230100", + "230101", + "230102", + "230103", + "230104", + "230108", + "230109", + "230110", + "230111", + "230112", + "230123", + "230124", + "230125", + "230126", + "230127", + "230128", + "230129", + "230182", + "230183", + "230184", + "230200", + "230201", + "230202", + "230203", + "230204", + "230205", + "230206", + "230207", + "230208", + "230221", + "230223", + "230224", + "230225", + "230227", + "230229", + "230230", + "230231", + "230281", + "230300", + "230301", + "230302", + "230303", + "230304", + "230305", + "230306", + "230307", + "230321", + "230381", + "230382", + "230400", + "230401", + "230402", + "230403", + "230404", + "230405", + "230406", + "230407", + "230421", + "230422", + "230500", + "230501", + "230502", + "230503", + "230505", + "230506", + "230521", + "230522", + "230523", + "230524", + "230600", + "230601", + "230602", + "230603", + "230604", + "230605", + "230606", + "230621", + "230622", + "230623", + "230624", + "230700", + "230701", + "230702", + "230703", + "230704", + "230705", + "230706", + "230707", + "230708", + "230709", + "230710", + "230711", + "230712", + "230713", + "230714", + "230715", + "230716", + "230722", + "230781", + "230800", + "230801", + "230803", + "230804", + "230805", + "230811", + "230822", + "230826", + "230828", + "230833", + "230881", + "230882", + "230900", + "230901", + "230902", + "230903", + "230904", + "230921", + "231000", + "231001", + "231002", + "231003", + "231004", + "231005", + "231024", + "231025", + "231081", + "231083", + "231084", + "231085", + "231100", + "231101", + "231102", + "231121", + "231123", + "231124", + "231181", + "231182", + "231200", + "231201", + "231202", + "231221", + "231222", + "231223", + "231224", + "231225", + "231226", + "231281", + "231282", + "231283", + "232700", + "232721", + "232722", + "232723", + "310000", + "310100", + "310101", + "310104", + "310105", + "310106", + "310107", + "310108", + "310109", + "310110", + "310112", + "310113", + "310114", + "310115", + "310116", + "310117", + "310118", + "310120", + "310200", + "310230", + "320000", + "320100", + "320101", + "320102", + "320104", + "320105", + "320106", + "320111", + "320113", + "320114", + "320115", + "320116", + "320117", + "320118", + "320200", + "320201", + "320202", + "320203", + "320204", + "320205", + "320206", + "320211", + "320281", + "320282", + "320300", + "320301", + "320302", + "320303", + "320305", + "320311", + "320312", + "320321", + "320322", + "320324", + "320381", + "320382", + "320400", + "320401", + "320402", + "320404", + "320405", + "320411", + "320412", + "320481", + "320482", + "320500", + "320501", + "320505", + "320506", + "320507", + "320508", + "320509", + "320581", + "320582", + "320583", + "320585", + "320600", + "320601", + "320602", + "320611", + "320612", + "320621", + "320623", + "320681", + "320682", + "320684", + "320700", + "320701", + "320703", + "320706", + "320707", + "320722", + "320723", + "320724", + "320800", + "320801", + "320802", + "320803", + "320804", + "320811", + "320826", + "320829", + "320830", + "320831", + "320900", + "320901", + "320902", + "320903", + "320921", + "320922", + "320923", + "320924", + "320925", + "320981", + "320982", + "321000", + "321001", + "321002", + "321003", + "321012", + "321023", + "321081", + "321084", + "321100", + "321101", + "321102", + "321111", + "321112", + "321181", + "321182", + "321183", + "321200", + "321201", + "321202", + "321203", + "321204", + "321281", + "321282", + "321283", + "321300", + "321301", + "321302", + "321311", + "321322", + "321323", + "321324", + "330000", + "330100", + "330101", + "330102", + "330103", + "330104", + "330105", + "330106", + "330108", + "330109", + "330110", + "330122", + "330127", + "330182", + "330183", + "330185", + "330200", + "330201", + "330203", + "330204", + "330205", + "330206", + "330211", + "330212", + "330225", + "330226", + "330281", + "330282", + "330283", + "330300", + "330301", + "330302", + "330303", + "330304", + "330322", + "330324", + "330326", + "330327", + "330328", + "330329", + "330381", + "330382", + "330400", + "330401", + "330402", + "330411", + "330421", + "330424", + "330481", + "330482", + "330483", + "330500", + "330501", + "330502", + "330503", + "330521", + "330522", + "330523", + "330600", + "330601", + "330602", + "330603", + "330604", + "330624", + "330681", + "330683", + "330700", + "330701", + "330702", + "330703", + "330723", + "330726", + "330727", + "330781", + "330782", + "330783", + "330784", + "330800", + "330801", + "330802", + "330803", + "330822", + "330824", + "330825", + "330881", + "330900", + "330901", + "330902", + "330903", + "330921", + "330922", + "331000", + "331001", + "331002", + "331003", + "331004", + "331021", + "331022", + "331023", + "331024", + "331081", + "331082", + "331100", + "331101", + "331102", + "331121", + "331122", + "331123", + "331124", + "331125", + "331126", + "331127", + "331181", + "340000", + "340100", + "340101", + "340102", + "340103", + "340104", + "340111", + "340121", + "340122", + "340123", + "340124", + "340181", + "340200", + "340201", + "340202", + "340203", + "340207", + "340208", + "340221", + "340222", + "340223", + "340225", + "340300", + "340301", + "340302", + "340303", + "340304", + "340311", + "340321", + "340322", + "340323", + "340400", + "340401", + "340402", + "340403", + "340404", + "340405", + "340406", + "340421", + "340500", + "340501", + "340503", + "340504", + "340506", + "340521", + "340522", + "340523", + "340600", + "340601", + "340602", + "340603", + "340604", + "340621", + "340700", + "340701", + "340702", + "340703", + "340711", + "340721", + "340800", + "340801", + "340802", + "340803", + "340811", + "340822", + "340823", + "340824", + "340825", + "340826", + "340827", + "340828", + "340881", + "341000", + "341001", + "341002", + "341003", + "341004", + "341021", + "341022", + "341023", + "341024", + "341100", + "341101", + "341102", + "341103", + "341122", + "341124", + "341125", + "341126", + "341181", + "341182", + "341200", + "341201", + "341202", + "341203", + "341204", + "341221", + "341222", + "341225", + "341226", + "341282", + "341300", + "341301", + "341302", + "341321", + "341322", + "341323", + "341324", + "341500", + "341501", + "341502", + "341503", + "341521", + "341522", + "341523", + "341524", + "341525", + "341600", + "341601", + "341602", + "341621", + "341622", + "341623", + "341700", + "341701", + "341702", + "341721", + "341722", + "341723", + "341800", + "341801", + "341802", + "341821", + "341822", + "341823", + "341824", + "341825", + "341881", + "350000", + "350100", + "350101", + "350102", + "350103", + "350104", + "350105", + "350111", + "350121", + "350122", + "350123", + "350124", + "350125", + "350128", + "350181", + "350182", + "350200", + "350201", + "350203", + "350205", + "350206", + "350211", + "350212", + "350213", + "350300", + "350301", + "350302", + "350303", + "350304", + "350305", + "350322", + "350400", + "350401", + "350402", + "350403", + "350421", + "350423", + "350424", + "350425", + "350426", + "350427", + "350428", + "350429", + "350430", + "350481", + "350500", + "350501", + "350502", + "350503", + "350504", + "350505", + "350521", + "350524", + "350525", + "350526", + "350527", + "350581", + "350582", + "350583", + "350600", + "350601", + "350602", + "350603", + "350622", + "350623", + "350624", + "350625", + "350626", + "350627", + "350628", + "350629", + "350681", + "350700", + "350701", + "350702", + "350721", + "350722", + "350723", + "350724", + "350725", + "350781", + "350782", + "350783", + "350784", + "350800", + "350801", + "350802", + "350821", + "350822", + "350823", + "350824", + "350825", + "350881", + "350900", + "350901", + "350902", + "350921", + "350922", + "350923", + "350924", + "350925", + "350926", + "350981", + "350982", + "360000", + "360100", + "360101", + "360102", + "360103", + "360104", + "360105", + "360111", + "360121", + "360122", + "360123", + "360124", + "360200", + "360201", + "360202", + "360203", + "360222", + "360281", + "360300", + "360301", + "360302", + "360313", + "360321", + "360322", + "360323", + "360400", + "360401", + "360402", + "360403", + "360421", + "360423", + "360424", + "360425", + "360426", + "360427", + "360428", + "360429", + "360430", + "360481", + "360482", + "360500", + "360501", + "360502", + "360521", + "360600", + "360601", + "360602", + "360622", + "360681", + "360700", + "360701", + "360702", + "360703", + "360721", + "360722", + "360723", + "360724", + "360725", + "360726", + "360727", + "360728", + "360729", + "360730", + "360731", + "360732", + "360733", + "360734", + "360735", + "360781", + "360800", + "360801", + "360802", + "360803", + "360821", + "360822", + "360823", + "360824", + "360825", + "360826", + "360827", + "360828", + "360829", + "360830", + "360881", + "360900", + "360901", + "360902", + "360921", + "360922", + "360923", + "360924", + "360925", + "360926", + "360981", + "360982", + "360983", + "361000", + "361001", + "361002", + "361021", + "361022", + "361023", + "361024", + "361025", + "361026", + "361027", + "361028", + "361029", + "361030", + "361100", + "361101", + "361102", + "361121", + "361122", + "361123", + "361124", + "361125", + "361126", + "361127", + "361128", + "361129", + "361130", + "361181", + "370000", + "370100", + "370101", + "370102", + "370103", + "370104", + "370105", + "370112", + "370113", + "370124", + "370125", + "370126", + "370181", + "370200", + "370201", + "370202", + "370203", + "370211", + "370212", + "370213", + "370214", + "370281", + "370282", + "370283", + "370285", + "370300", + "370301", + "370302", + "370303", + "370304", + "370305", + "370306", + "370321", + "370322", + "370323", + "370400", + "370401", + "370402", + "370403", + "370404", + "370405", + "370406", + "370481", + "370500", + "370501", + "370502", + "370503", + "370521", + "370522", + "370523", + "370600", + "370601", + "370602", + "370611", + "370612", + "370613", + "370634", + "370681", + "370682", + "370683", + "370684", + "370685", + "370686", + "370687", + "370700", + "370701", + "370702", + "370703", + "370704", + "370705", + "370724", + "370725", + "370781", + "370782", + "370783", + "370784", + "370785", + "370786", + "370800", + "370801", + "370811", + "370812", + "370826", + "370827", + "370828", + "370829", + "370830", + "370831", + "370832", + "370881", + "370883", + "370900", + "370901", + "370902", + "370911", + "370921", + "370923", + "370982", + "370983", + "371000", + "371001", + "371002", + "371003", + "371082", + "371083", + "371100", + "371101", + "371102", + "371103", + "371121", + "371122", + "371200", + "371201", + "371202", + "371203", + "371300", + "371301", + "371302", + "371311", + "371312", + "371321", + "371322", + "371323", + "371324", + "371325", + "371326", + "371327", + "371328", + "371329", + "371400", + "371401", + "371402", + "371403", + "371422", + "371423", + "371424", + "371425", + "371426", + "371427", + "371428", + "371481", + "371482", + "371500", + "371501", + "371502", + "371521", + "371522", + "371523", + "371524", + "371525", + "371526", + "371581", + "371600", + "371601", + "371602", + "371603", + "371621", + "371622", + "371623", + "371625", + "371626", + "371700", + "371701", + "371702", + "371721", + "371722", + "371723", + "371724", + "371725", + "371726", + "371727", + "371728", + "410000", + "410100", + "410101", + "410102", + "410103", + "410104", + "410105", + "410106", + "410108", + "410122", + "410181", + "410182", + "410183", + "410184", + "410185", + "410200", + "410201", + "410202", + "410203", + "410204", + "410205", + "410211", + "410221", + "410222", + "410223", + "410224", + "410225", + "410300", + "410301", + "410302", + "410303", + "410304", + "410305", + "410306", + "410311", + "410322", + "410323", + "410324", + "410325", + "410326", + "410327", + "410328", + "410329", + "410381", + "410400", + "410401", + "410402", + "410403", + "410404", + "410411", + "410421", + "410422", + "410423", + "410425", + "410481", + "410482", + "410500", + "410501", + "410502", + "410503", + "410505", + "410506", + "410522", + "410523", + "410526", + "410527", + "410581", + "410600", + "410601", + "410602", + "410603", + "410611", + "410621", + "410622", + "410700", + "410701", + "410702", + "410703", + "410704", + "410711", + "410721", + "410724", + "410725", + "410726", + "410727", + "410728", + "410781", + "410782", + "410800", + "410801", + "410802", + "410803", + "410804", + "410811", + "410821", + "410822", + "410823", + "410825", + "410882", + "410883", + "410900", + "410901", + "410902", + "410922", + "410923", + "410926", + "410927", + "410928", + "411000", + "411001", + "411002", + "411023", + "411024", + "411025", + "411081", + "411082", + "411100", + "411101", + "411102", + "411103", + "411104", + "411121", + "411122", + "411200", + "411201", + "411202", + "411221", + "411222", + "411224", + "411281", + "411282", + "411300", + "411301", + "411302", + "411303", + "411321", + "411322", + "411323", + "411324", + "411325", + "411326", + "411327", + "411328", + "411329", + "411330", + "411381", + "411400", + "411401", + "411402", + "411403", + "411421", + "411422", + "411423", + "411424", + "411425", + "411426", + "411481", + "411500", + "411501", + "411502", + "411503", + "411521", + "411522", + "411523", + "411524", + "411525", + "411526", + "411527", + "411528", + "411600", + "411601", + "411602", + "411621", + "411622", + "411623", + "411624", + "411625", + "411626", + "411627", + "411628", + "411681", + "411700", + "411701", + "411702", + "411721", + "411722", + "411723", + "411724", + "411725", + "411726", + "411727", + "411728", + "411729", + "419000", + "419001", + "420000", + "420100", + "420101", + "420102", + "420103", + "420104", + "420105", + "420106", + "420107", + "420111", + "420112", + "420113", + "420114", + "420115", + "420116", + "420117", + "420200", + "420201", + "420202", + "420203", + "420204", + "420205", + "420222", + "420281", + "420300", + "420301", + "420302", + "420303", + "420304", + "420322", + "420323", + "420324", + "420325", + "420381", + "420500", + "420501", + "420502", + "420503", + "420504", + "420505", + "420506", + "420525", + "420526", + "420527", + "420528", + "420529", + "420581", + "420582", + "420583", + "420600", + "420601", + "420602", + "420606", + "420607", + "420624", + "420625", + "420626", + "420682", + "420683", + "420684", + "420700", + "420701", + "420702", + "420703", + "420704", + "420800", + "420801", + "420802", + "420804", + "420821", + "420822", + "420881", + "420900", + "420901", + "420902", + "420921", + "420922", + "420923", + "420981", + "420982", + "420984", + "421000", + "421001", + "421002", + "421003", + "421022", + "421023", + "421024", + "421081", + "421083", + "421087", + "421100", + "421101", + "421102", + "421121", + "421122", + "421123", + "421124", + "421125", + "421126", + "421127", + "421181", + "421182", + "421200", + "421201", + "421202", + "421221", + "421222", + "421223", + "421224", + "421281", + "421300", + "421301", + "421303", + "421321", + "421381", + "422800", + "422801", + "422802", + "422822", + "422823", + "422825", + "422826", + "422827", + "422828", + "429000", + "429004", + "429005", + "429006", + "429021", + "430000", + "430100", + "430101", + "430102", + "430103", + "430104", + "430105", + "430111", + "430112", + "430121", + "430124", + "430181", + "430200", + "430201", + "430202", + "430203", + "430204", + "430211", + "430221", + "430223", + "430224", + "430225", + "430281", + "430300", + "430301", + "430302", + "430304", + "430321", + "430381", + "430382", + "430400", + "430401", + "430405", + "430406", + "430407", + "430408", + "430412", + "430421", + "430422", + "430423", + "430424", + "430426", + "430481", + "430482", + "430500", + "430501", + "430502", + "430503", + "430511", + "430521", + "430522", + "430523", + "430524", + "430525", + "430527", + "430528", + "430529", + "430581", + "430600", + "430601", + "430602", + "430603", + "430611", + "430621", + "430623", + "430624", + "430626", + "430681", + "430682", + "430700", + "430701", + "430702", + "430703", + "430721", + "430722", + "430723", + "430724", + "430725", + "430726", + "430781", + "430800", + "430801", + "430802", + "430811", + "430821", + "430822", + "430900", + "430901", + "430902", + "430903", + "430921", + "430922", + "430923", + "430981", + "431000", + "431001", + "431002", + "431003", + "431021", + "431022", + "431023", + "431024", + "431025", + "431026", + "431027", + "431028", + "431081", + "431100", + "431101", + "431102", + "431103", + "431121", + "431122", + "431123", + "431124", + "431125", + "431126", + "431127", + "431128", + "431129", + "431200", + "431201", + "431202", + "431221", + "431222", + "431223", + "431224", + "431225", + "431226", + "431227", + "431228", + "431229", + "431230", + "431281", + "431300", + "431301", + "431302", + "431321", + "431322", + "431381", + "431382", + "433100", + "433101", + "433122", + "433123", + "433124", + "433125", + "433126", + "433127", + "433130", + "440000", + "440100", + "440101", + "440103", + "440104", + "440105", + "440106", + "440111", + "440112", + "440113", + "440114", + "440115", + "440116", + "440117", + "440118", + "440200", + "440201", + "440203", + "440204", + "440205", + "440222", + "440224", + "440229", + "440232", + "440233", + "440281", + "440282", + "440300", + "440301", + "440303", + "440304", + "440305", + "440306", + "440307", + "440308", + "440400", + "440401", + "440402", + "440403", + "440404", + "440500", + "440501", + "440507", + "440511", + "440512", + "440513", + "440514", + "440515", + "440523", + "440600", + "440601", + "440604", + "440605", + "440606", + "440607", + "440608", + "440700", + "440701", + "440703", + "440704", + "440705", + "440781", + "440783", + "440784", + "440785", + "440800", + "440801", + "440802", + "440803", + "440804", + "440811", + "440823", + "440825", + "440881", + "440882", + "440883", + "440900", + "440901", + "440902", + "440904", + "440981", + "440982", + "440983", + "441200", + "441201", + "441202", + "441203", + "441223", + "441224", + "441225", + "441226", + "441283", + "441284", + "441300", + "441301", + "441302", + "441303", + "441322", + "441323", + "441324", + "441400", + "441401", + "441402", + "441403", + "441422", + "441423", + "441424", + "441426", + "441427", + "441481", + "441500", + "441501", + "441502", + "441521", + "441523", + "441581", + "441600", + "441601", + "441602", + "441621", + "441622", + "441623", + "441624", + "441625", + "441700", + "441701", + "441702", + "441721", + "441723", + "441781", + "441800", + "441801", + "441802", + "441803", + "441821", + "441823", + "441825", + "441826", + "441881", + "441882", + "441900", + "442000", + "445100", + "445101", + "445102", + "445103", + "445122", + "445200", + "445201", + "445202", + "445203", + "445222", + "445224", + "445281", + "445300", + "445301", + "445302", + "445303", + "445321", + "445322", + "445381", + "450000", + "450100", + "450101", + "450102", + "450103", + "450105", + "450107", + "450108", + "450109", + "450122", + "450123", + "450124", + "450125", + "450126", + "450127", + "450200", + "450201", + "450202", + "450203", + "450204", + "450205", + "450221", + "450222", + "450223", + "450224", + "450225", + "450226", + "450300", + "450301", + "450302", + "450303", + "450304", + "450305", + "450311", + "450312", + "450321", + "450323", + "450324", + "450325", + "450326", + "450327", + "450328", + "450329", + "450330", + "450331", + "450332", + "450400", + "450401", + "450403", + "450405", + "450406", + "450421", + "450422", + "450423", + "450481", + "450500", + "450501", + "450502", + "450503", + "450512", + "450521", + "450600", + "450601", + "450602", + "450603", + "450621", + "450681", + "450700", + "450701", + "450702", + "450703", + "450721", + "450722", + "450800", + "450801", + "450802", + "450803", + "450804", + "450821", + "450881", + "450900", + "450901", + "450902", + "450903", + "450921", + "450922", + "450923", + "450924", + "450981", + "451000", + "451001", + "451002", + "451021", + "451022", + "451023", + "451024", + "451025", + "451026", + "451027", + "451028", + "451029", + "451030", + "451031", + "451100", + "451101", + "451102", + "451121", + "451122", + "451123", + "451200", + "451201", + "451202", + "451221", + "451222", + "451223", + "451224", + "451225", + "451226", + "451227", + "451228", + "451229", + "451281", + "451300", + "451301", + "451302", + "451321", + "451322", + "451323", + "451324", + "451381", + "451400", + "451401", + "451402", + "451421", + "451422", + "451423", + "451424", + "451425", + "451481", + "460000", + "460100", + "460101", + "460105", + "460106", + "460107", + "460108", + "460200", + "460201", + "460202", + "460203", + "460204", + "460205", + "460300", + "469000", + "469001", + "469002", + "469003", + "469005", + "469006", + "469007", + "469021", + "469022", + "469023", + "469024", + "469025", + "469026", + "469027", + "469028", + "469029", + "469030", + "500000", + "500100", + "500101", + "500102", + "500103", + "500104", + "500105", + "500106", + "500107", + "500108", + "500109", + "500110", + "500111", + "500112", + "500113", + "500114", + "500115", + "500116", + "500117", + "500118", + "500119", + "500120", + "500151", + "500200", + "500223", + "500226", + "500228", + "500229", + "500230", + "500231", + "500232", + "500233", + "500234", + "500235", + "500236", + "500237", + "500238", + "500240", + "500241", + "500242", + "500243", + "510000", + "510100", + "510101", + "510104", + "510105", + "510106", + "510107", + "510108", + "510112", + "510113", + "510114", + "510115", + "510121", + "510122", + "510124", + "510129", + "510131", + "510132", + "510181", + "510182", + "510183", + "510184", + "510300", + "510301", + "510302", + "510303", + "510304", + "510311", + "510321", + "510322", + "510400", + "510401", + "510402", + "510403", + "510411", + "510421", + "510422", + "510500", + "510501", + "510502", + "510503", + "510504", + "510521", + "510522", + "510524", + "510525", + "510600", + "510601", + "510603", + "510623", + "510626", + "510681", + "510682", + "510683", + "510700", + "510701", + "510703", + "510704", + "510722", + "510723", + "510724", + "510725", + "510726", + "510727", + "510781", + "510800", + "510801", + "510802", + "510811", + "510812", + "510821", + "510822", + "510823", + "510824", + "510900", + "510901", + "510903", + "510904", + "510921", + "510922", + "510923", + "511000", + "511001", + "511002", + "511011", + "511024", + "511025", + "511028", + "511100", + "511101", + "511102", + "511111", + "511112", + "511113", + "511123", + "511124", + "511126", + "511129", + "511132", + "511133", + "511181", + "511300", + "511301", + "511302", + "511303", + "511304", + "511321", + "511322", + "511323", + "511324", + "511325", + "511381", + "511400", + "511401", + "511402", + "511421", + "511422", + "511423", + "511424", + "511425", + "511500", + "511501", + "511502", + "511503", + "511521", + "511523", + "511524", + "511525", + "511526", + "511527", + "511528", + "511529", + "511600", + "511601", + "511602", + "511603", + "511621", + "511622", + "511623", + "511681", + "511700", + "511701", + "511702", + "511703", + "511722", + "511723", + "511724", + "511725", + "511781", + "511800", + "511801", + "511802", + "511803", + "511822", + "511823", + "511824", + "511825", + "511826", + "511827", + "511900", + "511901", + "511902", + "511903", + "511921", + "511922", + "511923", + "512000", + "512001", + "512002", + "512021", + "512022", + "512081", + "513200", + "513221", + "513222", + "513223", + "513224", + "513225", + "513226", + "513227", + "513228", + "513229", + "513230", + "513231", + "513232", + "513233", + "513300", + "513321", + "513322", + "513323", + "513324", + "513325", + "513326", + "513327", + "513328", + "513329", + "513330", + "513331", + "513332", + "513333", + "513334", + "513335", + "513336", + "513337", + "513338", + "513400", + "513401", + "513422", + "513423", + "513424", + "513425", + "513426", + "513427", + "513428", + "513429", + "513430", + "513431", + "513432", + "513433", + "513434", + "513435", + "513436", + "513437", + "520000", + "520100", + "520101", + "520102", + "520103", + "520111", + "520112", + "520113", + "520115", + "520121", + "520122", + "520123", + "520181", + "520200", + "520201", + "520203", + "520221", + "520222", + "520300", + "520301", + "520302", + "520303", + "520321", + "520322", + "520323", + "520324", + "520325", + "520326", + "520327", + "520328", + "520329", + "520330", + "520381", + "520382", + "520400", + "520401", + "520402", + "520421", + "520422", + "520423", + "520424", + "520425", + "520500", + "520501", + "520502", + "520521", + "520522", + "520523", + "520524", + "520525", + "520526", + "520527", + "520600", + "520601", + "520602", + "520603", + "520621", + "520622", + "520623", + "520624", + "520625", + "520626", + "520627", + "520628", + "522300", + "522301", + "522322", + "522323", + "522324", + "522325", + "522326", + "522327", + "522328", + "522600", + "522601", + "522622", + "522623", + "522624", + "522625", + "522626", + "522627", + "522628", + "522629", + "522630", + "522631", + "522632", + "522633", + "522634", + "522635", + "522636", + "522700", + "522701", + "522702", + "522722", + "522723", + "522725", + "522726", + "522727", + "522728", + "522729", + "522730", + "522731", + "522732", + "530000", + "530100", + "530101", + "530102", + "530103", + "530111", + "530112", + "530113", + "530114", + "530122", + "530124", + "530125", + "530126", + "530127", + "530128", + "530129", + "530181", + "530300", + "530301", + "530302", + "530321", + "530322", + "530323", + "530324", + "530325", + "530326", + "530328", + "530381", + "530400", + "530401", + "530402", + "530421", + "530422", + "530423", + "530424", + "530425", + "530426", + "530427", + "530428", + "530500", + "530501", + "530502", + "530521", + "530522", + "530523", + "530524", + "530600", + "530601", + "530602", + "530621", + "530622", + "530623", + "530624", + "530625", + "530626", + "530627", + "530628", + "530629", + "530630", + "530700", + "530701", + "530702", + "530721", + "530722", + "530723", + "530724", + "530800", + "530801", + "530802", + "530821", + "530822", + "530823", + "530824", + "530825", + "530826", + "530827", + "530828", + "530829", + "530900", + "530901", + "530902", + "530921", + "530922", + "530923", + "530924", + "530925", + "530926", + "530927", + "532300", + "532301", + "532322", + "532323", + "532324", + "532325", + "532326", + "532327", + "532328", + "532329", + "532331", + "532500", + "532501", + "532502", + "532503", + "532504", + "532523", + "532524", + "532525", + "532527", + "532528", + "532529", + "532530", + "532531", + "532532", + "532600", + "532601", + "532622", + "532623", + "532624", + "532625", + "532626", + "532627", + "532628", + "532800", + "532801", + "532822", + "532823", + "532900", + "532901", + "532922", + "532923", + "532924", + "532925", + "532926", + "532927", + "532928", + "532929", + "532930", + "532931", + "532932", + "533100", + "533102", + "533103", + "533122", + "533123", + "533124", + "533300", + "533321", + "533323", + "533324", + "533325", + "533400", + "533421", + "533422", + "533423", + "540000", + "540100", + "540101", + "540102", + "540121", + "540122", + "540123", + "540124", + "540125", + "540126", + "540127", + "540200", + "540202", + "540221", + "540222", + "540223", + "540224", + "540225", + "540226", + "540227", + "540228", + "540229", + "540230", + "540231", + "540232", + "540233", + "540234", + "540235", + "540236", + "540237", + "542100", + "542121", + "542122", + "542123", + "542124", + "542125", + "542126", + "542127", + "542128", + "542129", + "542132", + "542133", + "542200", + "542221", + "542222", + "542223", + "542224", + "542225", + "542226", + "542227", + "542228", + "542229", + "542231", + "542232", + "542233", + "542400", + "542421", + "542422", + "542423", + "542424", + "542425", + "542426", + "542427", + "542428", + "542429", + "542430", + "542431", + "542500", + "542521", + "542522", + "542523", + "542524", + "542525", + "542526", + "542527", + "542600", + "542621", + "542622", + "542623", + "542624", + "542625", + "542626", + "542627", + "610000", + "610100", + "610101", + "610102", + "610103", + "610104", + "610111", + "610112", + "610113", + "610114", + "610115", + "610116", + "610122", + "610124", + "610125", + "610126", + "610200", + "610201", + "610202", + "610203", + "610204", + "610222", + "610300", + "610301", + "610302", + "610303", + "610304", + "610322", + "610323", + "610324", + "610326", + "610327", + "610328", + "610329", + "610330", + "610331", + "610400", + "610401", + "610402", + "610403", + "610404", + "610422", + "610423", + "610424", + "610425", + "610426", + "610427", + "610428", + "610429", + "610430", + "610431", + "610481", + "610500", + "610501", + "610502", + "610521", + "610522", + "610523", + "610524", + "610525", + "610526", + "610527", + "610528", + "610581", + "610582", + "610600", + "610601", + "610602", + "610621", + "610622", + "610623", + "610624", + "610625", + "610626", + "610627", + "610628", + "610629", + "610630", + "610631", + "610632", + "610700", + "610701", + "610702", + "610721", + "610722", + "610723", + "610724", + "610725", + "610726", + "610727", + "610728", + "610729", + "610730", + "610800", + "610801", + "610802", + "610821", + "610822", + "610823", + "610824", + "610825", + "610826", + "610827", + "610828", + "610829", + "610830", + "610831", + "610900", + "610901", + "610902", + "610921", + "610922", + "610923", + "610924", + "610925", + "610926", + "610927", + "610928", + "610929", + "611000", + "611001", + "611002", + "611021", + "611022", + "611023", + "611024", + "611025", + "611026", + "620000", + "620100", + "620101", + "620102", + "620103", + "620104", + "620105", + "620111", + "620121", + "620122", + "620123", + "620200", + "620201", + "620300", + "620301", + "620302", + "620321", + "620400", + "620401", + "620402", + "620403", + "620421", + "620422", + "620423", + "620500", + "620501", + "620502", + "620503", + "620521", + "620522", + "620523", + "620524", + "620525", + "620600", + "620601", + "620602", + "620621", + "620622", + "620623", + "620700", + "620701", + "620702", + "620721", + "620722", + "620723", + "620724", + "620725", + "620800", + "620801", + "620802", + "620821", + "620822", + "620823", + "620824", + "620825", + "620826", + "620900", + "620901", + "620902", + "620921", + "620922", + "620923", + "620924", + "620981", + "620982", + "621000", + "621001", + "621002", + "621021", + "621022", + "621023", + "621024", + "621025", + "621026", + "621027", + "621100", + "621101", + "621102", + "621121", + "621122", + "621123", + "621124", + "621125", + "621126", + "621200", + "621201", + "621202", + "621221", + "621222", + "621223", + "621224", + "621225", + "621226", + "621227", + "621228", + "622900", + "622901", + "622921", + "622922", + "622923", + "622924", + "622925", + "622926", + "622927", + "623000", + "623001", + "623021", + "623022", + "623023", + "623024", + "623025", + "623026", + "623027", + "630000", + "630100", + "630101", + "630102", + "630103", + "630104", + "630105", + "630121", + "630122", + "630123", + "630200", + "630202", + "630221", + "630222", + "630223", + "630224", + "630225", + "632200", + "632221", + "632222", + "632223", + "632224", + "632300", + "632321", + "632322", + "632323", + "632324", + "632500", + "632521", + "632522", + "632523", + "632524", + "632525", + "632600", + "632621", + "632622", + "632623", + "632624", + "632625", + "632626", + "632700", + "632701", + "632722", + "632723", + "632724", + "632725", + "632726", + "632800", + "632801", + "632802", + "632821", + "632822", + "632823", + "640000", + "640100", + "640101", + "640104", + "640105", + "640106", + "640121", + "640122", + "640181", + "640200", + "640201", + "640202", + "640205", + "640221", + "640300", + "640301", + "640302", + "640303", + "640323", + "640324", + "640381", + "640400", + "640401", + "640402", + "640422", + "640423", + "640424", + "640425", + "640500", + "640501", + "640502", + "640521", + "640522", + "650000", + "650100", + "650101", + "650102", + "650103", + "650104", + "650105", + "650106", + "650107", + "650109", + "650121", + "650200", + "650201", + "650202", + "650203", + "650204", + "650205", + "652100", + "652101", + "652122", + "652123", + "652200", + "652201", + "652222", + "652223", + "652300", + "652301", + "652302", + "652323", + "652324", + "652325", + "652327", + "652328", + "652700", + "652701", + "652702", + "652722", + "652723", + "652800", + "652801", + "652822", + "652823", + "652824", + "652825", + "652826", + "652827", + "652828", + "652829", + "652900", + "652901", + "652922", + "652923", + "652924", + "652925", + "652926", + "652927", + "652928", + "652929", + "653000", + "653001", + "653022", + "653023", + "653024", + "653100", + "653101", + "653121", + "653122", + "653123", + "653124", + "653125", + "653126", + "653127", + "653128", + "653129", + "653130", + "653131", + "653200", + "653201", + "653221", + "653222", + "653223", + "653224", + "653225", + "653226", + "653227", + "654000", + "654002", + "654003", + "654021", + "654022", + "654023", + "654024", + "654025", + "654026", + "654027", + "654028", + "654200", + "654201", + "654202", + "654221", + "654223", + "654224", + "654225", + "654226", + "654300", + "654301", + "654321", + "654322", + "654323", + "654324", + "654325", + "654326", + "659000", + "659001", + "659002", + "659003", + "659004", + "710000", + "810000", + "820000", ] - def ssn(self, min_age=18, max_age=90, gender=None): + def ssn(self, min_age: int = 18, max_age: int = 90, gender: Optional[GenderType] = None) -> str: """ Return 18 character chinese personal identity code :param gender: F for female M for male None for default """ + def checksum(s): - return str((1 - 2 * int(s, 13)) % 11).replace('10', 'X') + return str((1 - 2 * int(s, 13)) % 11).replace("10", "X") - age = datetime.timedelta(days=self.random_int( - min_age * 365, max_age * 365)) + age = datetime.timedelta(days=self.random_int(min_age * 365, max_age * 365)) birthday = datetime.date.today() - age - birthday_str = birthday.strftime('%Y%m%d') + birthday_str = birthday.strftime("%Y%m%d") - ssn_without_checksum = self.numerify( - self.random_element(self.area_codes) + birthday_str + "##") + area_code: str = self.random_element(self.area_codes) + ssn_without_checksum = self.numerify(area_code + birthday_str + "##") - _number = ('0', '1', '2', '3', '4', '5', '6', '7', '8', '9') + _number = ("0", "1", "2", "3", "4", "5", "6", "7", "8", "9") if gender: - if gender in ('F', 'f'): + if gender in ("F", "f"): gender_num = self.generator.random.choice(_number[::2]) - elif gender in ('M', 'm'): + elif gender in ("M", "m"): gender_num = self.generator.random.choice(_number[1::2]) else: - raise ValueError('Gender must be one of F or M.') + raise ValueError("Gender must be one of F or M.") else: gender_num = self.generator.random.choice(_number) ssn_without_checksum += gender_num diff --git a/faker/providers/ssn/zh_TW/__init__.py b/faker/providers/ssn/zh_TW/__init__.py index 87089bc333..84af8f120c 100644 --- a/faker/providers/ssn/zh_TW/__init__.py +++ b/faker/providers/ssn/zh_TW/__init__.py @@ -4,5 +4,5 @@ class Provider(SsnProvider): ssn_formats = ("?#########",) - def ssn(self): + def ssn(self) -> str: return self.bothify(self.random_element(self.ssn_formats)).upper() diff --git a/faker/providers/user_agent/__init__.py b/faker/providers/user_agent/__init__.py index 60866f3219..e49a113c86 100644 --- a/faker/providers/user_agent/__init__.py +++ b/faker/providers/user_agent/__init__.py @@ -2,234 +2,323 @@ from datetime import datetime -from .. import BaseProvider +from .. import BaseProvider, ElementsType class Provider(BaseProvider): """Implement default user agent provider for Faker.""" - user_agents = ( - 'chrome', 'firefox', 'internet_explorer', 'opera', 'safari', + user_agents: ElementsType = ( + "chrome", + "firefox", + "internet_explorer", + "opera", + "safari", ) - windows_platform_tokens = ( - 'Windows 95', 'Windows 98', 'Windows 98; Win 9x 4.90', 'Windows CE', - 'Windows NT 4.0', 'Windows NT 5.0', 'Windows NT 5.01', - 'Windows NT 5.1', 'Windows NT 5.2', 'Windows NT 6.0', 'Windows NT 6.1', - 'Windows NT 6.2', + windows_platform_tokens: ElementsType = ( + "Windows 95", + "Windows 98", + "Windows 98; Win 9x 4.90", + "Windows CE", + "Windows NT 4.0", + "Windows NT 5.0", + "Windows NT 5.01", + "Windows NT 5.1", + "Windows NT 5.2", + "Windows NT 6.0", + "Windows NT 6.1", + "Windows NT 6.2", + "Windows NT 10.0", ) - linux_processors = ('i686', 'x86_64') + linux_processors: ElementsType = ("i686", "x86_64") - mac_processors = ('Intel', 'PPC', 'U; Intel', 'U; PPC') + mac_processors: ElementsType = ("Intel", "PPC", "U; Intel", "U; PPC") - android_versions = ( - '1.0', '1.1', '1.5', '1.6', '2.0', '2.0.1', '2.1', '2.2', '2.2.1', '2.2.2', '2.2.3', '2.3', '2.3.1', '2.3.2', - '2.3.3', '2.3.4', '2.3.5', '2.3.6', '2.3.7', '3.0', '3.1', '3.2', '3.2.1', '3.2.2', '3.2.3', '3.2.4', '3.2.5', - '3.2.6', '4.0', '4.0.1', '4.0.2', '4.0.3', '4.0.4', '4.1', '4.1.1', '4.1.2', '4.2', '4.2.1', '4.2.2', '4.3', - '4.3.1', '4.4', '4.4.1', '4.4.2', '4.4.3', '4.4.4', '5.0', '5.0.1', '5.0.2', '5.1', '5.1.1', '6.0', '6.0.1', - '7.0', '7.1', '7.1.1', '7.1.2', '8.0.0', '8.1.0', '9', + android_versions: ElementsType = ( + "1.0", + "1.1", + "1.5", + "1.6", + "2.0", + "2.0.1", + "2.1", + "2.2", + "2.2.1", + "2.2.2", + "2.2.3", + "2.3", + "2.3.1", + "2.3.2", + "2.3.3", + "2.3.4", + "2.3.5", + "2.3.6", + "2.3.7", + "3.0", + "3.1", + "3.2", + "3.2.1", + "3.2.2", + "3.2.3", + "3.2.4", + "3.2.5", + "3.2.6", + "4.0", + "4.0.1", + "4.0.2", + "4.0.3", + "4.0.4", + "4.1", + "4.1.1", + "4.1.2", + "4.2", + "4.2.1", + "4.2.2", + "4.3", + "4.3.1", + "4.4", + "4.4.1", + "4.4.2", + "4.4.3", + "4.4.4", + "5.0", + "5.0.1", + "5.0.2", + "5.1", + "5.1.1", + "6.0", + "6.0.1", + "7.0", + "7.1", + "7.1.1", + "7.1.2", + "8.0.0", + "8.1.0", + "9", + "10", + "11", ) - apple_devices = ('iPhone', 'iPad') + apple_devices: ElementsType = ("iPhone", "iPad") - ios_versions = ( - '3.1.3', '4.2.1', '5.1.1', '6.1.6', '7.1.2', '9.3.5', '9.3.6', '10.3.3', '10.3.4', '12.4', + ios_versions: ElementsType = ( + "3.1.3", + "4.2.1", + "5.1.1", + "6.1.6", + "7.1.2", + "9.3.5", + "9.3.6", + "10.3.3", + "10.3.4", + "12.4.8", + "14.2", + "14.2.1", ) - def mac_processor(self): + def mac_processor(self) -> str: """Generate a MacOS processor token used in user agent strings.""" return self.random_element(self.mac_processors) - def linux_processor(self): + def linux_processor(self) -> str: """Generate a Linux processor token used in user agent strings.""" return self.random_element(self.linux_processors) - def user_agent(self): + def user_agent(self) -> str: """Generate a random web browser user agent string.""" - name = self.random_element(self.user_agents) + name: str = self.random_element(self.user_agents) return getattr(self, name)() - def chrome(self, version_from=13, version_to=63, - build_from=800, build_to=899): + def chrome( + self, + version_from: int = 13, + version_to: int = 63, + build_from: int = 800, + build_to: int = 899, + ) -> str: """Generate a Chrome web browser user agent string.""" - saf = '{}.{}'.format(self.generator.random.randint(531, 536), - self.generator.random.randint(0, 2)) - bld = self.lexify(self.numerify('##?###'), string.ascii_uppercase) - tmplt = '({0}) AppleWebKit/{1} (KHTML, like Gecko)' \ - ' Chrome/{2}.0.{3}.0 Safari/{4}' - tmplt_ios = '({0}) AppleWebKit/{1} (KHTML, like Gecko)' \ - ' CriOS/{2}.0.{3}.0 Mobile/{4} Safari/{1}' - platforms = ( - tmplt.format(self.linux_platform_token(), - saf, - self.generator.random.randint(version_from, version_to), - self.generator.random.randint(build_from, build_to), - saf), - tmplt.format(self.windows_platform_token(), - saf, - self.generator.random.randint(version_from, version_to), - self.generator.random.randint(build_from, build_to), - saf), - tmplt.format(self.mac_platform_token(), - saf, - self.generator.random.randint(version_from, version_to), - self.generator.random.randint(build_from, build_to), - saf), - tmplt.format('Linux; {}'.format(self.android_platform_token()), - saf, - self.generator.random.randint(version_from, version_to), - self.generator.random.randint(build_from, build_to), - saf), - tmplt_ios.format(self.ios_platform_token(), - saf, - self.generator.random.randint(version_from, version_to), - self.generator.random.randint(build_from, build_to), - bld), + saf: str = f"{self.generator.random.randint(531, 536)}.{self.generator.random.randint(0, 2)}" + bld: str = self.lexify(self.numerify("##?###"), string.ascii_uppercase) + tmplt: str = "({0}) AppleWebKit/{1} (KHTML, like Gecko)" " Chrome/{2}.0.{3}.0 Safari/{4}" + tmplt_ios: str = "({0}) AppleWebKit/{1} (KHTML, like Gecko)" " CriOS/{2}.0.{3}.0 Mobile/{4} Safari/{1}" + platforms: ElementsType = ( + tmplt.format( + self.linux_platform_token(), + saf, + self.generator.random.randint(version_from, version_to), + self.generator.random.randint(build_from, build_to), + saf, + ), + tmplt.format( + self.windows_platform_token(), + saf, + self.generator.random.randint(version_from, version_to), + self.generator.random.randint(build_from, build_to), + saf, + ), + tmplt.format( + self.mac_platform_token(), + saf, + self.generator.random.randint(version_from, version_to), + self.generator.random.randint(build_from, build_to), + saf, + ), + tmplt.format( + "Linux; {}".format(self.android_platform_token()), + saf, + self.generator.random.randint(version_from, version_to), + self.generator.random.randint(build_from, build_to), + saf, + ), + tmplt_ios.format( + self.ios_platform_token(), + saf, + self.generator.random.randint(version_from, version_to), + self.generator.random.randint(build_from, build_to), + bld, + ), ) - return 'Mozilla/5.0 ' + self.random_element(platforms) + return "Mozilla/5.0 " + self.random_element(platforms) - def firefox(self): + def firefox(self) -> str: """Generate a Mozilla Firefox web browser user agent string.""" - ver = ( - 'Gecko/{} Firefox/{}.0'.format( - self.generator.date_time_between( - datetime(2011, 1, 1), - ), - self.generator.random.randint(4, 15), + ver: ElementsType = ( + ( + f"Gecko/{self.generator.date_time_between(datetime(2011, 1, 1))} " + f"Firefox/{self.generator.random.randint(4, 15)}.0" ), - 'Gecko/{} Firefox/3.6.{}'.format( - self.generator.date_time_between( - datetime(2010, 1, 1), - ), - self.generator.random.randint(1, 20)), - 'Gecko/{} Firefox/3.8'.format( - self.generator.date_time_between(datetime(2010, 1, 1)), + ( + f"Gecko/{self.generator.date_time_between(datetime(2010, 1, 1))} " + f"Firefox/3.6.{self.generator.random.randint(1, 20)}" ), + f"Gecko/{self.generator.date_time_between(datetime(2010, 1, 1))} Firefox/3.8", ) - tmplt_win = '({0}; {1}; rv:1.9.{2}.20) {3}' - tmplt_lin = '({0}; rv:1.9.{1}.20) {2}' - tmplt_mac = '({0}; rv:1.9.{1}.20) {2}' - tmplt_and = '({0}; Mobile; rv:{1}.0) Gecko/{1}.0 Firefox/{1}.0' - tmplt_ios = '({0}) AppleWebKit/{1} (KHTML, like Gecko) FxiOS/{2}.{3}.0 Mobile/{4} Safari/{1}' - saf = '{}.{}'.format(self.generator.random.randint(531, 536), - self.generator.random.randint(0, 2)) - bld = self.lexify(self.numerify('##?###'), string.ascii_uppercase) - bld2 = self.lexify(self.numerify('#?####'), string.ascii_lowercase) - platforms = ( - tmplt_win.format(self.windows_platform_token(), - self.generator.locale().replace('_', '-'), - self.generator.random.randint(0, 2), - self.generator.random.choice(ver)), - tmplt_lin.format(self.linux_platform_token(), - self.generator.random.randint(5, 7), - self.generator.random.choice(ver)), - tmplt_mac.format(self.mac_platform_token(), - self.generator.random.randint(2, 6), - self.generator.random.choice(ver)), - tmplt_and.format(self.android_platform_token(), - self.generator.random.randint(5, 68)), - tmplt_ios.format(self.ios_platform_token(), - saf, - self.generator.random.randint(9, 18), - bld2, - bld), + tmplt_win: str = "({0}; {1}; rv:1.9.{2}.20) {3}" + tmplt_lin: str = "({0}; rv:1.9.{1}.20) {2}" + tmplt_mac: str = "({0}; rv:1.9.{1}.20) {2}" + tmplt_and: str = "({0}; Mobile; rv:{1}.0) Gecko/{1}.0 Firefox/{1}.0" + tmplt_ios: str = "({0}) AppleWebKit/{1} (KHTML, like Gecko) FxiOS/{2}.{3}.0 Mobile/{4} Safari/{1}" + saf: str = "{}.{}".format(self.generator.random.randint(531, 536), self.generator.random.randint(0, 2)) + bld: str = self.lexify(self.numerify("##?###"), string.ascii_uppercase) + bld2: str = self.lexify(self.numerify("#?####"), string.ascii_lowercase) + platforms: ElementsType = ( + tmplt_win.format( + self.windows_platform_token(), + self.generator.locale().replace("_", "-"), + self.generator.random.randint(0, 2), + self.generator.random.choice(ver), + ), + tmplt_lin.format( + self.linux_platform_token(), + self.generator.random.randint(5, 7), + self.generator.random.choice(ver), + ), + tmplt_mac.format( + self.mac_platform_token(), + self.generator.random.randint(2, 6), + self.generator.random.choice(ver), + ), + tmplt_and.format(self.android_platform_token(), self.generator.random.randint(5, 68)), + tmplt_ios.format( + self.ios_platform_token(), + saf, + self.generator.random.randint(9, 18), + bld2, + bld, + ), ) - return 'Mozilla/5.0 ' + self.random_element(platforms) + return "Mozilla/5.0 " + self.random_element(platforms) - def safari(self): + def safari(self) -> str: """Generate a Safari web browser user agent string.""" - saf = "{}.{}.{}".format(self.generator.random.randint(531, 535), - self.generator.random.randint(1, 50), - self.generator.random.randint(1, 7)) - if not self.generator.random.getrandbits(1): - ver = "{}.{}".format(self.generator.random.randint(4, 5), - self.generator.random.randint(0, 1)) - else: - ver = "{}.0.{}".format(self.generator.random.randint(4, 5), - self.generator.random.randint(1, 5)) - tmplt_win = '(Windows; U; {0}) AppleWebKit/{1} (KHTML, like Gecko)' \ - ' Version/{2} Safari/{3}' - tmplt_mac = '({0} rv:{1}.0; {2}) AppleWebKit/{3} (KHTML, like Gecko)' \ - ' Version/{4} Safari/{5}' - tmplt_ipod = '(iPod; U; CPU iPhone OS {0}_{1} like Mac OS X; {2})' \ - ' AppleWebKit/{3} (KHTML, like Gecko) Version/{4}.0.5' \ - ' Mobile/8B{5} Safari/6{6}' - locale = self.generator.locale().replace('_', '-') - platforms = ( - tmplt_win.format(self.windows_platform_token(), - saf, - ver, - saf), - tmplt_mac.format(self.mac_platform_token(), - self.generator.random.randint(2, 6), - locale, - saf, - ver, - saf), - tmplt_ipod.format(self.generator.random.randint(3, 4), - self.generator.random.randint(0, 3), - locale, - saf, - self.generator.random.randint(3, 4), - self.generator.random.randint(111, 119), - saf), + saf: str = ( + f"{self.generator.random.randint(531, 535)}." + f"{self.generator.random.randint(1, 50)}." + f"{self.generator.random.randint(1, 7)}" ) - return 'Mozilla/5.0 ' + self.random_element(platforms) + ver: str = ( + f"{self.generator.random.randint(4, 5)}.{self.generator.random.randint(0, 1)}" + if not self.generator.random.getrandbits(1) + else f"{self.generator.random.randint(4, 5)}.0.{self.generator.random.randint(1, 5)}" + ) - def opera(self): - """Generate an Opera web browser user agent string.""" - platform = '({}; {}) Presto/2.9.{} Version/{}.00'.format( - ( - self.linux_platform_token() - if self.generator.random.getrandbits(1) - else self.windows_platform_token() + tmplt_win: str = "(Windows; U; {0}) AppleWebKit/{1} (KHTML, like Gecko)" " Version/{2} Safari/{3}" + tmplt_mac: str = "({0} rv:{1}.0; {2}) AppleWebKit/{3} (KHTML, like Gecko)" " Version/{4} Safari/{5}" + tmplt_ipod: str = ( + "(iPod; U; CPU iPhone OS {0}_{1} like Mac OS X; {2})" + " AppleWebKit/{3} (KHTML, like Gecko) Version/{4}.0.5" + " Mobile/8B{5} Safari/6{6}" + ) + locale: str = self.generator.locale().replace("_", "-") + platforms: ElementsType = ( + tmplt_win.format(self.windows_platform_token(), saf, ver, saf), + tmplt_mac.format( + self.mac_platform_token(), + self.generator.random.randint(2, 6), + locale, + saf, + ver, + saf, + ), + tmplt_ipod.format( + self.generator.random.randint(3, 4), + self.generator.random.randint(0, 3), + locale, + saf, + self.generator.random.randint(3, 4), + self.generator.random.randint(111, 119), + saf, ), - self.generator.locale().replace('_', '-'), - self.generator.random.randint(160, 190), - self.generator.random.randint(10, 12), ) - return 'Opera/{}.{}.{}'.format( - self.generator.random.randint(8, 9), - self.generator.random.randint(10, 99), - platform, + + return "Mozilla/5.0 " + self.random_element(platforms) + + def opera(self) -> str: + """Generate an Opera web browser user agent string.""" + token: str = ( + self.linux_platform_token() if self.generator.random.getrandbits(1) else self.windows_platform_token() + ) + locale: str = self.generator.locale().replace("_", "-") + platform: str = ( + f"({token}; {locale}) Presto/2.9.{self.generator.random.randint(160, 190)} " + f"Version/{self.generator.random.randint(10, 12)}.00" ) + return f"Opera/{self.generator.random.randint(8, 9)}.{self.generator.random.randint(10, 99)}.{platform}" - def internet_explorer(self): + def internet_explorer(self) -> str: """Generate an IE web browser user agent string.""" - tmplt = 'Mozilla/5.0 (compatible; MSIE {0}.0; {1}; Trident/{2}.{3})' - return tmplt.format(self.generator.random.randint(5, 9), - self.windows_platform_token(), - self.generator.random.randint(3, 5), - self.generator.random.randint(0, 1)) + return ( + f"Mozilla/5.0 (compatible; MSIE {self.generator.random.randint(5, 9)}.0; " + f"{self.windows_platform_token()}; " + f"Trident/{self.generator.random.randint(3, 5)}.{self.generator.random.randint(0, 1)})" + ) - def windows_platform_token(self): + def windows_platform_token(self) -> str: """Generate a Windows platform token used in user agent strings.""" return self.random_element(self.windows_platform_tokens) - def linux_platform_token(self): + def linux_platform_token(self) -> str: """Generate a Linux platform token used in user agent strings.""" - return 'X11; Linux {}'.format( - self.random_element(self.linux_processors)) + return f"X11; Linux {self.random_element(self.linux_processors)}" - def mac_platform_token(self): + def mac_platform_token(self) -> str: """Generate a MacOS platform token used in user agent strings.""" - return 'Macintosh; {} Mac OS X 10_{}_{}'.format( - self.random_element(self.mac_processors), - self.generator.random.randint(5, 12), - self.generator.random.randint(0, 9), + return ( + f"Macintosh; {self.random_element(self.mac_processors)} Mac OS X 10_" + f"{self.generator.random.randint(5, 12)}_{self.generator.random.randint(0, 9)}" ) - def android_platform_token(self): + def android_platform_token(self) -> str: """Generate an Android platform token used in user agent strings.""" - return 'Android {}'.format(self.random_element(self.android_versions)) + return f"Android {self.random_element(self.android_versions)}" - def ios_platform_token(self): + def ios_platform_token(self) -> str: """Generate an iOS platform token used in user agent strings.""" - return '{0}; CPU {0} OS {1} like Mac OS X'.format( - self.random_element(self.apple_devices), - self.random_element(self.ios_versions).replace('.', '_'), - ) + apple_device: str = self.random_element(self.apple_devices) + ios_version: str = self.random_element(self.ios_versions) + return f"{apple_device}; CPU {apple_device} " f'OS {ios_version.replace(".", "_")} like Mac OS X' diff --git a/faker/providers/user_agent/en_US/__init__.py b/faker/providers/user_agent/en_US/__init__.py index 9440601d31..5d44acaf9f 100644 --- a/faker/providers/user_agent/en_US/__init__.py +++ b/faker/providers/user_agent/en_US/__init__.py @@ -1,5 +1,5 @@ -from .. import Provider as UserAgentProvider +from .. import Provider as UserAgentProvider # pragma: no cover -class Provider(UserAgentProvider): +class Provider(UserAgentProvider): # pragma: no cover pass diff --git a/faker/proxy.py b/faker/proxy.py index 67f261efe5..3577fc667d 100644 --- a/faker/proxy.py +++ b/faker/proxy.py @@ -1,31 +1,44 @@ +import copy +import functools import random import re from collections import OrderedDict +from random import Random +from typing import Any, Callable, Dict, Hashable, List, Optional, Pattern, Sequence, Tuple, Union -from faker.config import DEFAULT_LOCALE -from faker.factory import Factory -from faker.generator import Generator -from faker.utils.distribution import choices_distribution +from .config import DEFAULT_LOCALE +from .exceptions import UniquenessException +from .factory import Factory +from .generator import Generator +from .utils.distribution import choices_distribution + +_UNIQUE_ATTEMPTS = 1000 class Faker: """Proxy class capable of supporting multiple locales""" - cache_pattern = re.compile(r'^_cached_\w*_mapping$') + cache_pattern: Pattern = re.compile(r"^_cached_\w*_mapping$") generator_attrs = [ - attr for attr in dir(Generator) - if not attr.startswith('__') - and attr not in ['seed', 'seed_instance', 'random'] + attr for attr in dir(Generator) if not attr.startswith("__") and attr not in ["seed", "seed_instance", "random"] ] - def __init__(self, locale=None, providers=None, - generator=None, includes=None, **config): + def __init__( + self, + locale: Optional[Union[str, Sequence[str], Dict[str, Union[int, float]]]] = None, + providers: Optional[List[str]] = None, + generator: Optional[Generator] = None, + includes: Optional[List[str]] = None, + use_weighting: bool = True, + **config: Any, + ) -> None: self._factory_map = OrderedDict() self._weights = None + self._unique_proxy = UniqueProxy(self) if isinstance(locale, str): - locales = [locale.replace('-', '_')] + locales = [locale.replace("-", "_")] # This guarantees a FIFO ordering of elements in `locales` based on the final # locale string while discarding duplicates after processing @@ -34,7 +47,7 @@ def __init__(self, locale=None, providers=None, for code in locale: if not isinstance(code, str): raise TypeError('The locale "%s" must be a string.' % str(code)) - final_locale = code.replace('-', '_') + final_locale = code.replace("-", "_") if final_locale not in locales: locales.append(final_locale) @@ -42,7 +55,7 @@ def __init__(self, locale=None, providers=None, assert all(isinstance(v, (int, float)) for v in locale.values()) odict = OrderedDict() for k, v in locale.items(): - key = k.replace('-', '_') + key = k.replace("-", "_") odict[key] = v locales = list(odict.keys()) self._weights = list(odict.values()) @@ -51,7 +64,14 @@ def __init__(self, locale=None, providers=None, locales = [DEFAULT_LOCALE] for locale in locales: - self._factory_map[locale] = Factory.create(locale, providers, generator, includes, **config) + self._factory_map[locale] = Factory.create( + locale, + providers, + generator, + includes, + use_weighting=use_weighting, + **config, + ) self._locales = locales self._factories = list(self._factory_map.values()) @@ -59,15 +79,13 @@ def __init__(self, locale=None, providers=None, def __dir__(self): attributes = set(super(Faker, self).__dir__()) for factory in self.factories: - attributes |= { - attr for attr in dir(factory) if not attr.startswith('_') - } + attributes |= {attr for attr in dir(factory) if not attr.startswith("_")} return sorted(attributes) - def __getitem__(self, locale): - return self._factory_map[locale.replace('-', '_')] + def __getitem__(self, locale: str) -> Generator: + return self._factory_map[locale.replace("-", "_")] - def __getattribute__(self, attr): + def __getattribute__(self, attr: str) -> Any: """ Handles the "attribute resolution" behavior for declared members of this proxy class @@ -76,36 +94,50 @@ def __getattribute__(self, attr): :param attr: attribute name :return: the appropriate attribute """ - if attr == 'seed': - msg = ( - 'Calling `.seed()` on instances is deprecated. ' - 'Use the class method `Faker.seed()` instead.' - ) + if attr == "seed": + msg = "Calling `.seed()` on instances is deprecated. " "Use the class method `Faker.seed()` instead." raise TypeError(msg) else: return super().__getattribute__(attr) - def __getattr__(self, attr): + def __getattr__(self, attr: str) -> Any: """ Handles cache access and proxying behavior :param attr: attribute name :return: the appropriate attribute """ - if len(self._factories) == 1: return getattr(self._factories[0], attr) elif attr in self.generator_attrs: - msg = 'Proxying calls to `%s` is not implemented in multiple locale mode.' % attr + msg = "Proxying calls to `%s` is not implemented in multiple locale mode." % attr raise NotImplementedError(msg) elif self.cache_pattern.match(attr): - msg = 'Cached attribute `%s` does not exist' % attr + msg = "Cached attribute `%s` does not exist" % attr raise AttributeError(msg) else: factory = self._select_factory(attr) return getattr(factory, attr) - def _select_factory(self, method_name): + def __deepcopy__(self, memodict: Dict = {}) -> "Faker": + cls = self.__class__ + result = cls.__new__(cls) + result._locales = copy.deepcopy(self._locales) + result._factories = copy.deepcopy(self._factories) + result._factory_map = copy.deepcopy(self._factory_map) + result._weights = copy.deepcopy(self._weights) + result._unique_proxy = UniqueProxy(self) + result._unique_proxy._seen = {k: {result._unique_proxy._sentinel} for k in self._unique_proxy._seen.keys()} + return result + + def __setstate__(self, state: Any) -> None: + self.__dict__.update(state) + + @property + def unique(self) -> "UniqueProxy": + return self._unique_proxy + + def _select_factory(self, method_name: str) -> Factory: """ Returns a random factory that supports the provider method @@ -115,7 +147,7 @@ def _select_factory(self, method_name): factories, weights = self._map_provider_method(method_name) if len(factories) == 0: - msg = "No generator object has attribute '{}'".format(method_name) + msg = f"No generator object has attribute {method_name!r}" raise AttributeError(msg) elif len(factories) == 1: return factories[0] @@ -126,7 +158,7 @@ def _select_factory(self, method_name): factory = random.choice(factories) return factory - def _map_provider_method(self, method_name): + def _map_provider_method(self, method_name: str) -> Tuple[List[Factory], Optional[List[float]]]: """ Creates a 2-tuple of factories and weights for the given provider method name @@ -138,7 +170,7 @@ def _map_provider_method(self, method_name): """ # Return cached mapping if it exists for given method - attr = '_cached_{}_mapping'.format(method_name) + attr = f"_cached_{method_name}_mapping" if hasattr(self, attr): return getattr(self, attr) @@ -152,27 +184,23 @@ def _map_provider_method(self, method_name): factories, weights = zip(*value) mapping = list(factories), list(weights) else: - value = [ - factory - for factory in self.factories - if hasattr(factory, method_name) - ] - mapping = value, None + value = [factory for factory in self.factories if hasattr(factory, method_name)] # type: ignore + mapping = value, None # type: ignore # Then cache and return results setattr(self, attr, mapping) return mapping @classmethod - def seed(cls, seed=None): + def seed(cls, seed: Optional[Hashable] = None) -> None: """ - Seeds the shared `random.Random` object across all factories + Hashables the shared `random.Random` object across all factories :param seed: seed value """ Generator.seed(seed) - def seed_instance(self, seed=None): + def seed_instance(self, seed: Optional[Hashable] = None) -> None: """ Creates and seeds a new `random.Random` object for each factory @@ -181,17 +209,17 @@ def seed_instance(self, seed=None): for factory in self._factories: factory.seed_instance(seed) - def seed_locale(self, locale, seed=None): + def seed_locale(self, locale: str, seed: Optional[Hashable] = None) -> None: """ Creates and seeds a new `random.Random` object for the factory of the specified locale :param locale: locale string :param seed: seed value """ - self._factory_map[locale.replace('-', '_')].seed_instance(seed) + self._factory_map[locale.replace("-", "_")].seed_instance(seed) @property - def random(self): + def random(self) -> Random: """ Proxies `random` getter calls @@ -203,11 +231,11 @@ def random(self): if len(self._factories) == 1: return self._factories[0].random else: - msg = 'Proxying `random` getter calls is not implemented in multiple locale mode.' + msg = "Proxying `random` getter calls is not implemented in multiple locale mode." raise NotImplementedError(msg) @random.setter - def random(self, value): + def random(self, value: Random) -> None: """ Proxies `random` setter calls @@ -219,20 +247,71 @@ def random(self, value): if len(self._factories) == 1: self._factories[0].random = value else: - msg = 'Proxying `random` setter calls is not implemented in multiple locale mode.' + msg = "Proxying `random` setter calls is not implemented in multiple locale mode." raise NotImplementedError(msg) @property - def locales(self): + def locales(self) -> List[str]: return list(self._locales) @property - def weights(self): + def weights(self) -> Optional[List[Union[int, float]]]: return self._weights @property - def factories(self): + def factories(self) -> List[Generator]: return self._factories - def items(self): - return self._factory_map.items() + def items(self) -> List[Tuple[str, Generator]]: + return list(self._factory_map.items()) + + +class UniqueProxy: + def __init__(self, proxy: Faker): + self._proxy = proxy + self._seen: Dict = {} + self._sentinel = object() + + def clear(self) -> None: + self._seen = {} + + def __getattr__(self, name: str) -> Any: + obj = getattr(self._proxy, name) + if callable(obj): + return self._wrap(name, obj) + else: + raise TypeError("Accessing non-functions through .unique is not supported.") + + def __getstate__(self): + # Copy the object's state from self.__dict__ which contains + # all our instance attributes. Always use the dict.copy() + # method to avoid modifying the original state. + state = self.__dict__.copy() + return state + + def __setstate__(self, state): + self.__dict__.update(state) + + def _wrap(self, name: str, function: Callable) -> Callable: + @functools.wraps(function) + def wrapper(*args, **kwargs): + key = (name, args, tuple(sorted(kwargs.items()))) + + generated = self._seen.setdefault(key, {self._sentinel}) + + # With use of a sentinel value rather than None, we leave + # None open as a valid return value. + retval = self._sentinel + + for i in range(_UNIQUE_ATTEMPTS): + if retval not in generated: + break + retval = function(*args, **kwargs) + else: + raise UniquenessException(f"Got duplicated values after {_UNIQUE_ATTEMPTS:,} iterations.") + + generated.add(retval) + + return retval + + return wrapper diff --git a/faker/py.typed b/faker/py.typed new file mode 100644 index 0000000000..e69de29bb2 diff --git a/faker/sphinx/autodoc.py b/faker/sphinx/autodoc.py index db9fc298a6..8e7154eef9 100644 --- a/faker/sphinx/autodoc.py +++ b/faker/sphinx/autodoc.py @@ -14,6 +14,6 @@ def _process_docstring(app, what, name, obj, options, lines): def setup(app): - app.setup_extension('sphinx.ext.autodoc') - app.connect('builder-inited', _create_source_files) - app.connect('autodoc-process-docstring', _process_docstring) + app.setup_extension("sphinx.ext.autodoc") + app.connect("builder-inited", _create_source_files) + app.connect("autodoc-process-docstring", _process_docstring) diff --git a/faker/sphinx/docstring.py b/faker/sphinx/docstring.py index 906da99dd8..813dbf42e3 100644 --- a/faker/sphinx/docstring.py +++ b/faker/sphinx/docstring.py @@ -4,6 +4,7 @@ import re from collections import namedtuple +from typing import Pattern from faker import Faker from faker.config import AVAILABLE_LOCALES, DEFAULT_LOCALE @@ -11,33 +12,26 @@ logger = logging.getLogger(__name__) _fake = Faker(AVAILABLE_LOCALES) -_base_provider_method_pattern = re.compile(r'^faker\.providers\.BaseProvider\.(?P\w+)$') -_standard_provider_method_pattern = re.compile(r'^faker\.providers\.\w+\.Provider\.(?P\w+)$') -_locale_provider_method_pattern = re.compile( - r'^faker\.providers\.\w+' - r'\.(?P[a-z]{2,3}_[A-Z]{2})' - r'\.Provider' - r'\.(?P\w+)$', +_base_provider_method_pattern: Pattern = re.compile(r"^faker\.providers\.BaseProvider\.(?P\w+)$") +_standard_provider_method_pattern: Pattern = re.compile(r"^faker\.providers\.\w+\.Provider\.(?P\w+)$") +_locale_provider_method_pattern: Pattern = re.compile( + r"^faker\.providers\.\w+" r"\.(?P[a-z]{2,3}_[A-Z]{2})" r"\.Provider" r"\.(?P\w+)$", ) -_sample_line_pattern = re.compile( - r'^:sample' - r'(?: size=(?P[1-9][0-9]*))?' - r'(?: seed=(?P[0-9]+))?' - r':' - r'(?: ?(?P.*))?$', +_sample_line_pattern: Pattern = re.compile( + r"^:sample" r"(?: size=(?P[1-9][0-9]*))?" r"(?: seed=(?P[0-9]+))?" r":" r"(?: ?(?P.*))?$", ) -_command_template = 'generator.{method}({kwargs})' +_command_template = "generator.{method}({kwargs})" _sample_output_template = ( - '>>> Faker.seed({seed})\n' - '>>> for _ in range({size}):\n' - '... fake.{method}({kwargs})\n' - '...\n' - '{results}\n\n' + ">>> Faker.seed({seed})\n" + ">>> for _ in range({size}):\n" + "... fake.{method}({kwargs})\n" + "...\n" + "{results}\n\n" ) DEFAULT_SAMPLE_SIZE = 5 DEFAULT_SEED = 0 -Sample = namedtuple('Sample', ['size', 'seed', 'kwargs']) +Sample = namedtuple("Sample", ["size", "seed", "kwargs"]) class ProviderMethodDocstring: @@ -60,11 +54,9 @@ def __init__(self, app, what, name, obj, options, lines): self._parsed_lines = [] self._samples = [] self._skipped = True - self._log_prefix = '{path}:docstring of {name}: WARNING:'.format( - path=inspect.getfile(obj), name=name, - ) + self._log_prefix = f"{inspect.getfile(obj)}:docstring of {name}: WARNING:" - if what != 'method': + if what != "method": return base_provider_method_match = _base_provider_method_pattern.match(name) @@ -72,16 +64,16 @@ def __init__(self, app, what, name, obj, options, lines): standard_provider_method_match = _standard_provider_method_pattern.match(name) if base_provider_method_match: groupdict = base_provider_method_match.groupdict() - self._method = groupdict['method'] + self._method = groupdict["method"] self._locale = DEFAULT_LOCALE elif standard_provider_method_match: groupdict = standard_provider_method_match.groupdict() - self._method = groupdict['method'] + self._method = groupdict["method"] self._locale = DEFAULT_LOCALE elif locale_provider_method_match: groupdict = locale_provider_method_match.groupdict() - self._method = groupdict['method'] - self._locale = groupdict['locale'] + self._method = groupdict["method"] + self._locale = groupdict["locale"] else: return @@ -90,8 +82,7 @@ def __init__(self, app, what, name, obj, options, lines): self._generate_samples() def _log_warning(self, warning): - msg = '{prefix} {warning}'.format(prefix=self._log_prefix, warning=warning) - logger.warning(msg) + logger.warning(f"{self._log_prefix} {warning}") def _parse(self): while True: @@ -104,7 +95,7 @@ def _parse(self): def _parse_section(self, section): # No-op if section does not look like the start of a sample section - if not section.startswith(':sample'): + if not section.startswith(":sample"): self._parsed_lines.append(section) return @@ -117,13 +108,13 @@ def _parse_section(self, section): # Next line is the start of a new sample section, so process # current sample section, and start parsing the new section - if next_line.startswith(':sample'): + if next_line.startswith(":sample"): self._process_sample_section(section) self._parse_section(next_line) # Next line is an empty line indicating the end of # current sample section, so process current section - elif next_line == '': + elif next_line == "": self._process_sample_section(section) # Section is assumed to be multiline, so continue @@ -137,18 +128,18 @@ def _process_sample_section(self, section): # Discard sample section if malformed if not match: - msg = 'The section `{section}` is malformed and will be discarded.'.format(section=section) + msg = f"The section `{section}` is malformed and will be discarded." self._log_warning(msg) return # Set sample generation defaults and do some beautification if necessary groupdict = match.groupdict() - size = groupdict.get('size') - seed = groupdict.get('seed') - kwargs = groupdict.get('kwargs') + size = groupdict.get("size") + seed = groupdict.get("seed") + kwargs = groupdict.get("kwargs") size = max(int(size), DEFAULT_SAMPLE_SIZE) if size else DEFAULT_SAMPLE_SIZE seed = int(seed) if seed else DEFAULT_SEED - kwargs = self._beautify_kwargs(kwargs) if kwargs else '' + kwargs = self._beautify_kwargs(kwargs) if kwargs else "" # Store sample generation details sample = Sample(size, seed, kwargs) @@ -157,11 +148,11 @@ def _process_sample_section(self, section): def _beautify_kwargs(self, kwargs): def _repl_whitespace(match): quoted = match.group(1) or match.group(2) - return quoted if quoted else '' + return quoted if quoted else "" def _repl_comma(match): quoted = match.group(1) or match.group(2) - return quoted if quoted else ', ' + return quoted if quoted else ", " # First, remove all whitespaces and tabs not within quotes result = re.sub(r'("[^"]*")|(\'[^\']*\')|[ \t]+', _repl_whitespace, kwargs) @@ -177,55 +168,52 @@ def _stringify_result(self, value): def _generate_eval_scope(self): from collections import OrderedDict # noqa: F401 Do not remove! The eval command needs this reference. + return { - 'generator': _fake[self._locale], - 'OrderedDict': OrderedDict, + "generator": _fake[self._locale], + "OrderedDict": OrderedDict, } def _inject_default_sample_section(self): - default_sample = Sample(DEFAULT_SAMPLE_SIZE, DEFAULT_SEED, '') + default_sample = Sample(DEFAULT_SAMPLE_SIZE, DEFAULT_SEED, "") self._samples.append(default_sample) def _generate_samples(self): if not self._samples: self._inject_default_sample_section() - output = '' + output = "" eval_scope = self._generate_eval_scope() for sample in self._samples: command = _command_template.format(method=self._method, kwargs=sample.kwargs) validator = SampleCodeValidator(command) if validator.errors: msg = ( - 'Invalid code elements detected. Sample generation will be ' - 'skipped for method `{method}` with arguments `{kwargs}`.' - ).format( - method=self._method, kwargs=sample.kwargs, + f"Invalid code elements detected. Sample generation will be " + f"skipped for method `{self._method}` with arguments `{sample.kwargs}`." ) self._log_warning(msg) continue try: Faker.seed(sample.seed) - results = '\n'.join([ - self._stringify_result(eval(command, eval_scope)) - for _ in range(sample.size) - ]) + results = "\n".join([self._stringify_result(eval(command, eval_scope)) for _ in range(sample.size)]) except Exception: - msg = 'Sample generation failed for method `{method}` with arguments `{kwargs}`.'.format( - method=self._method, kwargs=sample.kwargs, - ) + msg = f"Sample generation failed for method `{self._method}` with arguments `{sample.kwargs}`." self._log_warning(msg) continue else: output += _sample_output_template.format( - seed=sample.seed, method=self._method, kwargs=sample.kwargs, - size=sample.size, results=results, + seed=sample.seed, + method=self._method, + kwargs=sample.kwargs, + size=sample.size, + results=results, ) if output: - output = ':examples:\n\n' + output - self._parsed_lines.extend(output.split('\n')) + output = ":examples:\n\n" + output + self._parsed_lines.extend(output.split("\n")) @property def skipped(self): diff --git a/faker/sphinx/documentor.py b/faker/sphinx/documentor.py index d63dc89507..ad6d7ab4e0 100644 --- a/faker/sphinx/documentor.py +++ b/faker/sphinx/documentor.py @@ -3,13 +3,20 @@ import inspect import os +from pathlib import Path + from faker.config import AVAILABLE_LOCALES from faker.config import PROVIDERS as STANDARD_PROVIDER_NAMES from faker.providers import BaseProvider -DOCS_ROOT = os.path.abspath(os.path.join('..', 'docs')) +if os.environ.get("READTHEDOCS", False): + version = os.environ["READTHEDOCS_VERSION"] + HOME = Path("/home/docs/checkouts/readthedocs.org/user_builds/faker/checkouts") / version + DOCS_ROOT = HOME / "docs" +else: + DOCS_ROOT = Path(__file__).resolve().parents[2] / "docs" -SECTION_ADORNMENTS = '#*=-~' +SECTION_ADORNMENTS = "#*=-~" PROVIDER_AUTODOC_TEMPLATE = """ .. autoclass:: {provider_class} @@ -20,132 +27,142 @@ """ BASE_PROVIDER_METHOD_NAMES = [ - name for name, method in inspect.getmembers(BaseProvider, inspect.isfunction) - if not name.startswith('_') + name for name, method in inspect.getmembers(BaseProvider, inspect.isfunction) if not name.startswith("_") ] def _get_provider_methods(provider_class): try: - provider_module_name, obj_name = provider_class.rsplit('.', 1) + provider_module_name, obj_name = provider_class.rsplit(".", 1) provider_module = importlib.import_module(provider_module_name) provider = getattr(provider_module, obj_name, None) except (ModuleNotFoundError, AttributeError): - return '' + return "" else: - return ', '.join([ - name for name, method in inspect.getmembers(provider, inspect.isfunction) - if not name.startswith('_') and name not in BASE_PROVIDER_METHOD_NAMES - ]) + return ", ".join( + [ + name + for name, method in inspect.getmembers(provider, inspect.isfunction) + if not name.startswith("_") and name not in BASE_PROVIDER_METHOD_NAMES + ] + ) def _get_localized_provider_info(locale): info = [] for provider_name in STANDARD_PROVIDER_NAMES: try: - locale_module_path = '{}.{}'.format(provider_name, locale) + locale_module_path = f"{provider_name}.{locale}" locale_module = importlib.import_module(locale_module_path) - provider = getattr(locale_module, 'Provider') + provider = getattr(locale_module, "Provider") except (ModuleNotFoundError, AttributeError): continue else: - provider_class = '{}.Provider'.format(provider.__module__) + provider_class = f"{provider.__module__}.Provider" info.append((provider_class, provider_name)) return info def _write(fh, s): - return fh.write(s.encode('utf-8')) + return fh.write(s.encode("utf-8")) def _hide_edit_on_github(fh): - _write(fh, ':github_url: hide\n\n') + _write(fh, ":github_url: hide\n\n") def _write_title(fh, title, level=1): if not isinstance(level, int) or level < 1 or level > 5: - raise ValueError('`level` must be an integer from 1 to 5') + raise ValueError("`level` must be an integer from 1 to 5") if level <= 2: _write(fh, SECTION_ADORNMENTS[level - 1] * len(title)) - _write(fh, '\n') - _write(fh, '{}\n'.format(title)) + _write(fh, "\n") + _write(fh, f"{title}\n") _write(fh, SECTION_ADORNMENTS[level - 1] * len(title)) - _write(fh, '\n\n') + _write(fh, "\n\n") def _write_includes(fh): - _write(fh, '.. include:: ../includes/substitutions.rst') - _write(fh, '\n\n') + _write(fh, ".. include:: ../includes/substitutions.rst") + _write(fh, "\n\n") def _write_standard_provider_index(): - fname = os.path.join(DOCS_ROOT, 'providers.rst') - with open(fname, 'wb') as fh: + with (DOCS_ROOT / "providers.rst").open("wb") as fh: _hide_edit_on_github(fh) - _write_title(fh, 'Standard Providers') - _write(fh, '.. toctree::\n') - _write(fh, ' :maxdepth: 2\n\n') - _write(fh, ' providers/baseprovider\n') + _write_title(fh, "Standard Providers") + _write(fh, ".. toctree::\n") + _write(fh, " :maxdepth: 2\n\n") + _write(fh, " providers/baseprovider\n") for provider_name in STANDARD_PROVIDER_NAMES: - _write(fh, ' providers/{}\n'.format(provider_name)) + _write(fh, f" providers/{provider_name}\n") def _write_base_provider_docs(): - fname = os.path.join(DOCS_ROOT, 'providers', 'baseprovider.rst') - with open(fname, 'wb') as fh: + (DOCS_ROOT / "providers").mkdir(parents=True, exist_ok=True) + with (DOCS_ROOT / "providers" / "baseprovider.rst").open("wb") as fh: _hide_edit_on_github(fh) - _write_title(fh, '``faker.providers``') + _write_title(fh, "``faker.providers``") _write_includes(fh) - _write(fh, PROVIDER_AUTODOC_TEMPLATE.format( - provider_class='faker.providers.BaseProvider', - provider_methods=','.join(BASE_PROVIDER_METHOD_NAMES), - )) + _write( + fh, + PROVIDER_AUTODOC_TEMPLATE.format( + provider_class="faker.providers.BaseProvider", + provider_methods=",".join(BASE_PROVIDER_METHOD_NAMES), + ), + ) def _write_standard_provider_docs(): + (DOCS_ROOT / "providers").mkdir(parents=True, exist_ok=True) for provider_name in STANDARD_PROVIDER_NAMES: - fname = os.path.join(DOCS_ROOT, 'providers', '%s.rst' % provider_name) - with open(fname, 'wb') as fh: - provider_class = '{}.Provider'.format(provider_name) + with (DOCS_ROOT / "providers" / f"{provider_name}.rst").open("wb") as fh: + provider_class = f"{provider_name}.Provider" provider_methods = _get_provider_methods(provider_class) _hide_edit_on_github(fh) - _write_title(fh, '``{}``'.format(provider_name)) + _write_title(fh, f"``{provider_name}``") _write_includes(fh) - _write(fh, PROVIDER_AUTODOC_TEMPLATE.format( - provider_class=provider_class, - provider_methods=provider_methods, - )) + _write( + fh, + PROVIDER_AUTODOC_TEMPLATE.format( + provider_class=provider_class, + provider_methods=provider_methods, + ), + ) def _write_localized_provider_index(): - fname = os.path.join(DOCS_ROOT, 'locales.rst') - with open(fname, 'wb') as fh: + with (DOCS_ROOT / "locales.rst").open("wb") as fh: _hide_edit_on_github(fh) - _write_title(fh, 'Localized Providers') - _write(fh, '.. toctree::\n') - _write(fh, ' :maxdepth: 2\n\n') + _write_title(fh, "Localized Providers") + _write(fh, ".. toctree::\n") + _write(fh, " :maxdepth: 2\n\n") for locale in AVAILABLE_LOCALES: - _write(fh, ' locales/{}\n'.format(locale)) + _write(fh, f" locales/{locale}\n") def _write_localized_provider_docs(): + (DOCS_ROOT / "locales").mkdir(parents=True, exist_ok=True) for locale in AVAILABLE_LOCALES: info = _get_localized_provider_info(locale) - fname = os.path.join(DOCS_ROOT, 'locales', '{}.rst'.format(locale)) - with open(fname, 'wb') as fh: + with (DOCS_ROOT / "locales" / "{}.rst".format(locale)).open("wb") as fh: _hide_edit_on_github(fh) - _write_title(fh, 'Locale {}'.format(locale)) + _write_title(fh, f"Locale {locale}") _write_includes(fh) for provider_class, standard_provider_name in info: provider_methods = _get_provider_methods(provider_class) - _write_title(fh, '``{}``'.format(standard_provider_name), level=2) - _write(fh, PROVIDER_AUTODOC_TEMPLATE.format( - provider_class=provider_class, - provider_methods=provider_methods, - )) + _write_title(fh, f"``{standard_provider_name}``", level=2) + _write( + fh, + PROVIDER_AUTODOC_TEMPLATE.format( + provider_class=provider_class, + provider_methods=provider_methods, + ), + ) def write_provider_docs(): + DOCS_ROOT.mkdir(parents=True, exist_ok=True) _write_standard_provider_index() _write_base_provider_docs() _write_standard_provider_docs() diff --git a/faker/sphinx/validator.py b/faker/sphinx/validator.py index 43ef4c6573..05acf89e48 100644 --- a/faker/sphinx/validator.py +++ b/faker/sphinx/validator.py @@ -46,10 +46,21 @@ class instantiation will always be in the form "{generator}.{method}({arguments} _whitelisted_nodes = ( # Code elements related to function calls and variable and attribute access - ast.Expression, ast.Call, ast.Attribute, ast.Name, ast.Load, ast.keyword, - + ast.Expression, + ast.Call, + ast.Attribute, + ast.Name, + ast.Load, + ast.keyword, # Code elements representing whitelisted literals - ast.Num, ast.Str, ast.Bytes, ast.List, ast.Tuple, ast.Set, ast.Dict, ast.NameConstant, + ast.Num, + ast.Str, + ast.Bytes, + ast.List, + ast.Tuple, + ast.Set, + ast.Dict, + ast.NameConstant, ) _max_function_call_count = 1 @@ -64,7 +75,7 @@ def __init__(self, command): self._command = command try: - self._tree = ast.parse(command, mode='eval') + self._tree = ast.parse(command, mode="eval") except (SyntaxError, ValueError): self._log_error(traceback.format_exc()) else: @@ -99,7 +110,7 @@ def _is_node_using_ordereddict(self, node): def visit(self, node): # Check if code element type is allowed if not self._is_whitelisted(node): - msg = 'Code element `%s` is not allowed.' % node.__class__.__name__ + msg = "Code element `%s` is not allowed." % node.__class__.__name__ self._log_error(msg) return super().visit(node) @@ -110,7 +121,7 @@ def visit_Call(self, node): if self._function_call_count < self._max_function_call_count: self._function_call_count += 1 else: - msg = 'There can only be one instance of a function/method call.' + msg = "There can only be one instance of a function/method call." self._log_error(msg) # Proceed to child nodes @@ -121,7 +132,7 @@ def visit_Attribute(self, node): if self._attribute_access_count < self._max_attribute_access_count: self._attribute_access_count += 1 else: - msg = 'There can only be one instance of attribute access.' + msg = "There can only be one instance of attribute access." self._log_error(msg) # Proceed to child nodes @@ -133,7 +144,7 @@ def visit_Name(self, node): if self._variable_access_count < self._max_variable_access_count: self._variable_access_count += 1 else: - msg = 'There can only be one instance of variable access.' + msg = "There can only be one instance of variable access." self._log_error(msg) # Proceed to child nodes diff --git a/faker/typing.py b/faker/typing.py new file mode 100644 index 0000000000..0e68df628c --- /dev/null +++ b/faker/typing.py @@ -0,0 +1,11 @@ +from datetime import date, datetime, timedelta +from typing import Sequence, TypeVar, Union + +try: + from typing import Literal # type: ignore +except ImportError: + from typing_extensions import Literal # type: ignore + +DateParseType = Union[date, datetime, timedelta, str, int] +HueType = TypeVar("HueType", str, float, Sequence[int]) +GenderType = TypeVar("GenderType", bound=Literal["M", "F"]) diff --git a/faker/utils/checksums.py b/faker/utils/checksums.py index 2c292ad6bd..9c06daf137 100644 --- a/faker/utils/checksums.py +++ b/faker/utils/checksums.py @@ -1,5 +1,8 @@ -def luhn_checksum(number): - def digits_of(n): +from typing import List + + +def luhn_checksum(number: float) -> int: + def digits_of(n: float) -> List[int]: return [int(d) for d in str(n)] digits = digits_of(number) @@ -12,7 +15,7 @@ def digits_of(n): return checksum % 10 -def calculate_luhn(partial_number): +def calculate_luhn(partial_number: float) -> int: """ Generates the Checksum using Luhn's algorithm """ diff --git a/faker/utils/datasets.py b/faker/utils/datasets.py index f516dcaebb..2ad070acef 100644 --- a/faker/utils/datasets.py +++ b/faker/utils/datasets.py @@ -2,9 +2,10 @@ from collections import Counter from functools import reduce +from typing import Dict, Tuple -def add_dicts(*args): +def add_dicts(*args: Tuple[Dict, ...]) -> Dict: """ Adds two or more dicts together. Common keys will have their values added. diff --git a/faker/utils/decorators.py b/faker/utils/decorators.py index 2dd907e556..43c8b1be8d 100644 --- a/faker/utils/decorators.py +++ b/faker/utils/decorators.py @@ -1,31 +1,38 @@ from functools import wraps +from typing import Callable, Dict, Tuple, TypeVar -from faker.utils import text +from ..utils import text +T = TypeVar("T") -def slugify(fn): + +def slugify(fn: Callable) -> Callable: @wraps(fn) - def wrapper(*args, **kwargs): + def wrapper(*args: Tuple[T, ...], **kwargs: Dict[str, T]) -> str: return text.slugify(fn(*args, **kwargs)) + return wrapper -def slugify_domain(fn): +def slugify_domain(fn: Callable) -> Callable: @wraps(fn) - def wrapper(*args, **kwargs): + def wrapper(*args: Tuple[T, ...], **kwargs: Dict[str, T]) -> str: return text.slugify(fn(*args, **kwargs), allow_dots=True) + return wrapper -def slugify_unicode(fn): +def slugify_unicode(fn: Callable) -> Callable: @wraps(fn) - def wrapper(*args, **kwargs): + def wrapper(*args: Tuple[T, ...], **kwargs: Dict[str, T]) -> str: return text.slugify(fn(*args, **kwargs), allow_unicode=True) + return wrapper -def lowercase(fn): +def lowercase(fn: Callable) -> Callable: @wraps(fn) - def wrapper(*args, **kwargs): + def wrapper(*args: Tuple[T, ...], **kwargs: Dict[str, T]) -> str: return fn(*args, **kwargs).lower() + return wrapper diff --git a/faker/utils/distribution.py b/faker/utils/distribution.py index e4a0e8e1b5..45580a5bfc 100644 --- a/faker/utils/distribution.py +++ b/faker/utils/distribution.py @@ -1,27 +1,40 @@ import bisect +import itertools + +from random import Random +from typing import Generator, Iterable, Optional, Sequence, TypeVar from faker.generator import random as mod_random -def random_sample(random=None): +def random_sample(random: Optional[Random] = None) -> float: if random is None: random = mod_random return random.uniform(0.0, 1.0) -def cumsum(it): - total = 0 +def cumsum(it: Iterable[float]) -> Generator[float, None, None]: + total: float = 0 for x in it: total += x yield total -def choices_distribution_unique(a, p, random=None, length=1): +T = TypeVar("T") + + +def choices_distribution_unique( + a: Sequence[T], + p: Optional[Sequence[float]], + random: Optional[Random] = None, + length: int = 1, +) -> Sequence[T]: # As of Python 3.7, there isn't a way to sample unique elements that takes # weight into account. if random is None: random = mod_random + assert p is not None assert len(a) == len(p) assert len(a) >= length, "You can't request more unique samples than elements in the dataset." @@ -29,9 +42,9 @@ def choices_distribution_unique(a, p, random=None, length=1): items = list(a) probabilities = list(p) for i in range(length): - cdf = list(cumsum(probabilities)) + cdf = tuple(cumsum(probabilities)) normal = cdf[-1] - cdf2 = [float(i) / float(normal) for i in cdf] + cdf2 = [i / normal for i in cdf] uniform_sample = random_sample(random=random) idx = bisect.bisect_right(cdf2, uniform_sample) item = items[idx] @@ -41,21 +54,32 @@ def choices_distribution_unique(a, p, random=None, length=1): return choices -def choices_distribution(a, p, random=None, length=1): +def choices_distribution( + a: Sequence[T], + p: Optional[Sequence[float]], + random: Optional[Random] = None, + length: int = 1, +) -> Sequence[T]: if random is None: random = mod_random - assert len(a) == len(p) + if p is not None: + assert len(a) == len(p) - if hasattr(random, 'choices'): - choices = random.choices(a, weights=p, k=length) - return choices + if hasattr(random, "choices"): + if length == 1 and p is None: + return [random.choice(a)] + else: + return random.choices(a, weights=p, k=length) else: choices = [] - cdf = list(cumsum(p)) + if p is None: + p = itertools.repeat(1, len(a)) # type: ignore + + cdf = list(cumsum(p)) # type: ignore normal = cdf[-1] - cdf2 = [float(i) / float(normal) for i in cdf] + cdf2 = [i / normal for i in cdf] for i in range(length): uniform_sample = random_sample(random=random) idx = bisect.bisect_right(cdf2, uniform_sample) diff --git a/faker/utils/loading.py b/faker/utils/loading.py index 78b7661054..33ceb8e105 100644 --- a/faker/utils/loading.py +++ b/faker/utils/loading.py @@ -1,61 +1,58 @@ -import os import pkgutil import sys from importlib import import_module +from pathlib import Path +from types import ModuleType +from typing import List -def get_path(module): - if getattr(sys, 'frozen', False): +def get_path(module: ModuleType) -> str: + if getattr(sys, "frozen", False): # frozen - if getattr(sys, '_MEIPASS', False): + if getattr(sys, "_MEIPASS", False): # PyInstaller - lib_dir = getattr(sys, '_MEIPASS') + lib_dir = Path(getattr(sys, "_MEIPASS")) else: # others - base_dir = os.path.dirname(sys.executable) - lib_dir = os.path.join(base_dir, "lib") + lib_dir = Path(sys.executable).parent / "lib" - module_to_rel_path = os.path.join(*module.__package__.split(".")) - path = os.path.join(lib_dir, module_to_rel_path) + path = lib_dir.joinpath(*module.__package__.split(".")) # type: ignore else: # unfrozen - path = os.path.dirname(os.path.realpath(module.__file__)) - return path + path = Path(module.__file__).parent + return str(path) -def list_module(module): +def list_module(module: ModuleType) -> List[str]: path = get_path(module) - if getattr(sys, '_MEIPASS', False): + if getattr(sys, "_MEIPASS", False): # PyInstaller - return [name for name in os.listdir(path) - if os.path.isdir(os.path.join(path, name)) and - "__init__.py" in os.listdir(os.path.join(path, name))] + return [file.parent.name for file in Path(path).glob("*/__init__.py")] else: - return [name for _, name, is_pkg in pkgutil.iter_modules([path]) if is_pkg] + return [name for _, name, is_pkg in pkgutil.iter_modules([str(path)]) if is_pkg] -def find_available_locales(providers): +def find_available_locales(providers: List[str]) -> List[str]: available_locales = set() for provider_path in providers: provider_module = import_module(provider_path) - if getattr(provider_module, 'localized', False): + if getattr(provider_module, "localized", False): langs = list_module(provider_module) available_locales.update(langs) - available_locales = sorted(available_locales) - return available_locales + return sorted(available_locales) -def find_available_providers(modules): +def find_available_providers(modules: List[ModuleType]) -> List[str]: available_providers = set() for providers_mod in modules: - providers = [ - '.'.join([providers_mod.__package__, mod]) - for mod in list_module(providers_mod) if mod != '__pycache__' - ] - available_providers.update(providers) + if providers_mod.__package__: + providers = [ + ".".join([providers_mod.__package__, mod]) for mod in list_module(providers_mod) if mod != "__pycache__" + ] + available_providers.update(providers) return sorted(available_providers) diff --git a/faker/utils/text.py b/faker/utils/text.py index c305ae8f4e..50839185a8 100644 --- a/faker/utils/text.py +++ b/faker/utils/text.py @@ -1,12 +1,14 @@ import re import unicodedata -_re_pattern = re.compile(r'[^\w\s-]', flags=re.U) -_re_pattern_allow_dots = re.compile(r'[^\.\w\s-]', flags=re.U) -_re_spaces = re.compile(r'[-\s]+', flags=re.U) +from typing import Pattern +_re_pattern: Pattern = re.compile(r"[^\w\s-]", flags=re.U) +_re_pattern_allow_dots: Pattern = re.compile(r"[^\.\w\s-]", flags=re.U) +_re_spaces: Pattern = re.compile(r"[-\s]+", flags=re.U) -def slugify(value, allow_dots=False, allow_unicode=False): + +def slugify(value: str, allow_dots: bool = False, allow_unicode: bool = False) -> str: """ Converts to lowercase, removes non-word characters (alphanumerics and underscores) and converts spaces to hyphens. Also strips leading and @@ -14,17 +16,13 @@ def slugify(value, allow_dots=False, allow_unicode=False): Adapted from Django 1.9 """ - if allow_dots: - pattern = _re_pattern_allow_dots - else: - pattern = _re_pattern + pattern: Pattern = _re_pattern_allow_dots if allow_dots else _re_pattern value = str(value) if allow_unicode: - value = unicodedata.normalize('NFKC', value) - value = pattern.sub('', value).strip().lower() - return _re_spaces.sub('-', value) - value = unicodedata.normalize('NFKD', value).encode( - 'ascii', 'ignore').decode('ascii') - value = pattern.sub('', value).strip().lower() - return _re_spaces.sub('-', value) + value = unicodedata.normalize("NFKC", value) + value = pattern.sub("", value).strip().lower() + return _re_spaces.sub("-", value) + value = unicodedata.normalize("NFKD", value).encode("ascii", "ignore").decode("ascii") + value = pattern.sub("", value).strip().lower() + return _re_spaces.sub("-", value) diff --git a/mypy.ini b/mypy.ini new file mode 100644 index 0000000000..ff7ed1fc46 --- /dev/null +++ b/mypy.ini @@ -0,0 +1,11 @@ +[mypy] +disallow_subclassing_any = True +disallow_incomplete_defs = True +check_untyped_defs = True +warn_redundant_casts = True +warn_unused_ignores = False +allow_redefinition = True +pretty = True +follow_imports=silent +ignore_missing_imports = True +show_error_codes = True \ No newline at end of file diff --git a/setup.cfg b/setup.cfg index 602e2927cc..d8492ae3e5 100644 --- a/setup.cfg +++ b/setup.cfg @@ -4,3 +4,7 @@ max-line-length = 80 [tool:pytest] addopts = --verbose python_files = tests/*.py + +[doc8] +ignore-path=.tox,docs/_build,*.egg-info +max-line-length=120 diff --git a/setup.py b/setup.py index 4c4f442954..8ab5556e33 100644 --- a/setup.py +++ b/setup.py @@ -2,17 +2,16 @@ import os -from setuptools import find_packages, setup +from pathlib import Path -here = os.path.abspath(os.path.dirname(__file__)) -with open(os.path.join(here, 'README.rst'), encoding='utf-8') as fp: - README = fp.read() +from setuptools import find_packages, setup -with open(os.path.join(here, 'VERSION')) as version_file: - VERSION = version_file.read().strip() +here = Path(__file__).resolve().parent +README = (here / "README.rst").read_text(encoding="utf-8") +VERSION = (here / "VERSION").read_text(encoding="utf-8").strip() excluded_packages = ["docs", "tests", "tests.*"] -if not os.environ.get('READTHEDOCS', False): +if not os.environ.get("READTHEDOCS", False): excluded_packages += ["faker.sphinx", "faker.sphinx.*"] @@ -21,50 +20,57 @@ try: import pkgutil import zipimport - zip_safe = hasattr(zipimport.zipimporter, "iter_modules") or \ - zipimport.zipimporter in pkgutil.iter_importer_modules.registry.keys() + + zip_safe = ( + hasattr(zipimport.zipimporter, "iter_modules") + or zipimport.zipimporter in pkgutil.iter_importer_modules.registry.keys() + ) except AttributeError: zip_safe = False setup( - name='Faker', + name="Faker", version=VERSION, description="Faker is a Python package that generates fake data for you.", long_description=README, entry_points={ - 'console_scripts': ['faker=faker.cli:execute_from_command_line'], - 'pytest11': ['faker = faker.contrib.pytest.plugin'], + "console_scripts": ["faker=faker.cli:execute_from_command_line"], + "pytest11": ["faker = faker.contrib.pytest.plugin"], }, classifiers=[ # See https://pypi.org/pypi?%3Aaction=list_classifiers - 'Development Status :: 5 - Production/Stable', - 'Environment :: Console', - 'Intended Audience :: Developers', - 'Programming Language :: Python', - 'Programming Language :: Python :: 3', - 'Programming Language :: Python :: 3 :: Only', - 'Programming Language :: Python :: 3.5', - 'Programming Language :: Python :: 3.6', - 'Programming Language :: Python :: 3.7', - 'Programming Language :: Python :: 3.8', - 'Programming Language :: Python :: Implementation :: CPython', - 'Programming Language :: Python :: Implementation :: PyPy', - 'Topic :: Software Development :: Libraries :: Python Modules', - 'Topic :: Software Development :: Testing', - 'Topic :: Utilities', - 'License :: OSI Approved :: MIT License', + "Development Status :: 5 - Production/Stable", + "Environment :: Console", + "Intended Audience :: Developers", + "Programming Language :: Python", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3 :: Only", + "Programming Language :: Python :: 3.6", + "Programming Language :: Python :: 3.7", + "Programming Language :: Python :: 3.8", + "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: Implementation :: CPython", + "Programming Language :: Python :: Implementation :: PyPy", + "Topic :: Software Development :: Libraries :: Python Modules", + "Topic :: Software Development :: Testing", + "Topic :: Utilities", + "License :: OSI Approved :: MIT License", ], - keywords='faker fixtures data test mock generator', - author='joke2k', - author_email='joke2k@gmail.com', - url='https://github.com/joke2k/faker', - license='MIT License', + keywords="faker fixtures data test mock generator", + author="joke2k", + author_email="joke2k@gmail.com", + url="https://github.com/joke2k/faker", + license="MIT License", packages=find_packages(exclude=excluded_packages), + package_data={ + "faker": ["py.typed"], + }, platforms=["any"], zip_safe=zip_safe, - python_requires=">=3.5", + python_requires=">=3.6", install_requires=[ "python-dateutil>=2.4", "text-unidecode==1.3", + "typing-extensions>=3.10.0.2;python_version<'3.8'", ], ) diff --git a/tests/conftest.py b/tests/conftest.py new file mode 100644 index 0000000000..c6481d5f74 --- /dev/null +++ b/tests/conftest.py @@ -0,0 +1 @@ +pytest_plugins = ["pytester"] diff --git a/tests/mymodule/en_US/__init__.py b/tests/mymodule/en_US/__init__.py index 5b278bfa7b..1809fa4f66 100644 --- a/tests/mymodule/en_US/__init__.py +++ b/tests/mymodule/en_US/__init__.py @@ -3,4 +3,4 @@ class Provider(BaseProvider): def foo(self): - return 'bar' + return "bar" diff --git a/tests/providers/__init__.py b/tests/providers/__init__.py index bec986693a..565a726c54 100644 --- a/tests/providers/__init__.py +++ b/tests/providers/__init__.py @@ -13,7 +13,7 @@ class TestBaseProvider: def test_locale(self, faker, num_samples): locales = [ - '{}_{}'.format(language, region) + f"{language}_{region}" for language, regions in BaseProvider.language_locale_codes.items() for region in regions ] @@ -37,13 +37,13 @@ def test_random_digit_not_null(self, faker, num_samples): def test_random_digit_or_empty(self, faker, num_samples): expected = set(range(10)) - expected.add('') + expected.add("") samples = [faker.random_digit_or_empty() for _ in range(num_samples * 10)] assert set(samples) == expected def test_random_digit_not_null_or_empty(self, faker, num_samples): expected = set(range(1, 10)) - expected.add('') + expected.add("") samples = [faker.random_digit_not_null_or_empty() for _ in range(num_samples * 10)] assert set(samples) == expected @@ -59,89 +59,123 @@ def test_random_number(self, faker): with pytest.raises(ValueError): number = faker.random_number(0, True) - @pytest.mark.parametrize('text,pattern', [ - ('', r''), - ('abcd', r'abcd'), - ('#' * 100, r'[0-9]{100}'), - ('%' * 100, r'[1-9]{100}'), - ('!' * 100, r'[0-9]{,100}'), - ('@' * 100, r'[0-9]{,100}'), - ('##!abc %%@def##!' * 100, r'(?:[0-9]{2,3}abc [1-9]{2,3}def[0-9]{2,3}){100}'), - ('#@@#^?あ5漢!!%%@' * 100, r'(?:\d[1-9]{,2}\d\^\?あ5漢\d{,2}[1-9]{2}[1-9]*){100}'), - ], ids=[ - 'empty_string', - 'no_valid_placeholders', - 'only_number_signs', - 'only_percent_signs', - 'only_exclamation_marks', - 'only_at_symbols', - 'with_ascii_characters', - 'with_other_symbols_and_non_ascii', - ]) + @pytest.mark.parametrize( + "text,pattern", + [ + ("", r""), + ("abcd", r"abcd"), + ("#" * 100, r"[0-9]{100}"), + ("%" * 100, r"[1-9]{100}"), + ("!" * 100, r"[0-9]{,100}"), + ("@" * 100, r"[0-9]{,100}"), + ( + "##!abc %%@def##!" * 100, + r"(?:[0-9]{2,3}abc [1-9]{2,3}def[0-9]{2,3}){100}", + ), + ( + "#@@#^?あ5漢!!%%@" * 100, + r"(?:\d[1-9]{,2}\d\^\?あ5漢\d{,2}[1-9]{2}[1-9]*){100}", + ), + ], + ids=[ + "empty_string", + "no_valid_placeholders", + "only_number_signs", + "only_percent_signs", + "only_exclamation_marks", + "only_at_symbols", + "with_ascii_characters", + "with_other_symbols_and_non_ascii", + ], + ) def test_numerify(self, faker, num_samples, text, pattern): for _ in range(num_samples): numerified = faker.numerify(text) assert re.fullmatch(pattern, numerified) - @pytest.mark.parametrize('text,letters,pattern', [ - ('', string.ascii_letters, r''), - ('abcd', string.ascii_letters, r'abcd'), - ('???', string.ascii_letters, r'[0-9a-zA-Z]{3}'), - ('???', 'aBcDeFgHiJ12345', r'[1-5aBcDeFgHiJ]{3}'), - ('??Xr^#7p??', 'AbCdخあ5漢7Я', r'[AbCdخあ5漢7Я]{2}Xr\^#7p[AbCdخあ5漢7Я]{2}'), - ], ids=[ - 'empty_string', - 'no_valid_placeholders', - 'letters_using_whole_ascii', - 'letters_using_ascii_subset', - 'pattern_with_other_symbols_and_letters_using_non_ascii', - ]) + @pytest.mark.parametrize( + "text,letters,pattern", + [ + ("", string.ascii_letters, r""), + ("abcd", string.ascii_letters, r"abcd"), + ("???", string.ascii_letters, r"[0-9a-zA-Z]{3}"), + ("???", "aBcDeFgHiJ12345", r"[1-5aBcDeFgHiJ]{3}"), + ("??Xr^#7p??", "AbCdخあ5漢7Я", r"[AbCdخあ5漢7Я]{2}Xr\^#7p[AbCdخあ5漢7Я]{2}"), + ], + ids=[ + "empty_string", + "no_valid_placeholders", + "letters_using_whole_ascii", + "letters_using_ascii_subset", + "pattern_with_other_symbols_and_letters_using_non_ascii", + ], + ) def test_lexify(self, faker, num_samples, text, letters, pattern): for _ in range(num_samples): lexified = faker.lexify(text, letters=letters) assert re.fullmatch(pattern, lexified) - @pytest.mark.parametrize('text,letters,pattern', [ - ('', string.ascii_letters, r''), - ('abcd', string.ascii_letters, r'abcd'), - ('???', string.ascii_letters, r'[0-9a-zA-Z]{3}'), - ('???', 'aBcDeFgHiJ12345', r'[1-5aBcDeFgHiJ]{3}'), - ('#%!@???', string.ascii_letters, r'\d[1-9]\d*[1-9]*[0-9a-zA-Z]{3}'), - ('#%!@???', 'aBcDeFgHiJ12345', r'\d[1-9]\d*[1-9]*[1-5aBcDeFgHiJ]{3}'), - ('#%!@??Xr7p??', 'AbCdخあ5漢7Я', r'\d[1-9]\d*[1-9]*[AbCdخあ5漢7Я]{2}Xr7p[AbCdخあ5漢7Я]{2}'), - ], ids=[ - 'empty_string', - 'no_valid_placeholders', - 'simple_pattern_and_letters_using_whole_ascii', - 'simple_pattern_and_letters_using_ascii_subset', - 'more_complex_pattern_and_letters_using_whole_ascii', - 'more_complex_pattern_and_letters_using_ascii_subset', - 'more_complex_pattern_with_other_symbols_and_letters_using_non_ascii', - ]) + @pytest.mark.parametrize( + "text,letters,pattern", + [ + ("", string.ascii_letters, r""), + ("abcd", string.ascii_letters, r"abcd"), + ("???", string.ascii_letters, r"[0-9a-zA-Z]{3}"), + ("???", "aBcDeFgHiJ12345", r"[1-5aBcDeFgHiJ]{3}"), + ("#%!@???", string.ascii_letters, r"\d[1-9]\d*[1-9]*[0-9a-zA-Z]{3}"), + ("#%!@???", "aBcDeFgHiJ12345", r"\d[1-9]\d*[1-9]*[1-5aBcDeFgHiJ]{3}"), + ( + "#%!@??Xr7p??", + "AbCdخあ5漢7Я", + r"\d[1-9]\d*[1-9]*[AbCdخあ5漢7Я]{2}Xr7p[AbCdخあ5漢7Я]{2}", + ), + ], + ids=[ + "empty_string", + "no_valid_placeholders", + "simple_pattern_and_letters_using_whole_ascii", + "simple_pattern_and_letters_using_ascii_subset", + "more_complex_pattern_and_letters_using_whole_ascii", + "more_complex_pattern_and_letters_using_ascii_subset", + "more_complex_pattern_with_other_symbols_and_letters_using_non_ascii", + ], + ) def test_bothify(self, faker, num_samples, text, letters, pattern): for _ in range(num_samples): bothified = faker.bothify(text, letters=letters) assert re.fullmatch(pattern, bothified) - @pytest.mark.parametrize('text,upper,pattern', [ - ('', False, r''), - ('', True, r''), - ('abcd', False, r'abcd'), - ('abcd', True, r'abcd'), - ('^^^^', False, r'[0-9a-f]{4}'), - ('^^^^', True, r'[0-9A-F]{4}'), - ('Abc ^^^ %^^^?あ5漢!#^^', False, r'Abc [0-9a-f]{3} %[0-9a-f]{3}\?あ5漢!#[0-9a-f]{2}'), - ('Abc ^^^ %^^^?あ5漢!#^^', True, r'Abc [0-9A-F]{3} %[0-9A-F]{3}\?あ5漢!#[0-9A-F]{2}'), - ], ids=[ - 'empty_string_lowercase', - 'empty_string_uppercase', - 'no_circumflex_lowercase', - 'no_circumflex_uppercase', - 'simple_pattern_lowercase', - 'simple_pattern_uppercase', - 'complex_pattern_lowercase', - 'complex_pattern_uppercase', - ]) + @pytest.mark.parametrize( + "text,upper,pattern", + [ + ("", False, r""), + ("", True, r""), + ("abcd", False, r"abcd"), + ("abcd", True, r"abcd"), + ("^^^^", False, r"[0-9a-f]{4}"), + ("^^^^", True, r"[0-9A-F]{4}"), + ( + "Abc ^^^ %^^^?あ5漢!#^^", + False, + r"Abc [0-9a-f]{3} %[0-9a-f]{3}\?あ5漢!#[0-9a-f]{2}", + ), + ( + "Abc ^^^ %^^^?あ5漢!#^^", + True, + r"Abc [0-9A-F]{3} %[0-9A-F]{3}\?あ5漢!#[0-9A-F]{2}", + ), + ], + ids=[ + "empty_string_lowercase", + "empty_string_uppercase", + "no_circumflex_lowercase", + "no_circumflex_uppercase", + "simple_pattern_lowercase", + "simple_pattern_uppercase", + "complex_pattern_lowercase", + "complex_pattern_uppercase", + ], + ) def test_hexify(self, faker, num_samples, text, upper, pattern): for _ in range(num_samples): hexified = faker.hexify(text, upper=upper) @@ -152,6 +186,22 @@ def test_random_letter(self, faker, num_samples): letter = faker.random_letter() assert letter.isalpha() + @pytest.mark.parametrize( + "length", + [0, 1, 2], + ids=[ + "empty_list", + "list_with_one_element", + "list_with_two_elements", + ], + ) + def test_random_letters(self, faker, length): + letters = faker.random_letters(length=length) + assert len(letters) == length + assert isinstance(letters, list) + for letter in letters: + assert letter.isalpha() + def test_random_lowercase_letter(self, faker, num_samples): for _ in range(num_samples): letter = faker.random_lowercase_letter() @@ -167,42 +217,42 @@ def test_random_element(self, faker, num_samples): with pytest.raises(ValueError): faker.random_element({}) - choices = ('a', 'b', 'c', 'd') + choices = ("a", "b", "c", "d") for _ in range(num_samples): assert faker.random_element(choices) in choices - choices = OrderedDict([('a', 5), ('b', 2), ('c', 2), ('d', 1)]) + choices = OrderedDict([("a", 5), ("b", 2), ("c", 2), ("d", 1)]) for _ in range(num_samples): assert faker.random_element(choices) in choices - choices = OrderedDict([('a', 0.5), ('b', 0.2), ('c', 0.2), ('d', 0.1)]) + choices = OrderedDict([("a", 0.5), ("b", 0.2), ("c", 0.2), ("d", 0.1)]) for _ in range(num_samples): assert faker.random_element(choices) in choices def test_random_sample(self, faker): # Too many items requested with pytest.raises(ValueError): - faker.random_sample('abcde', 6) + faker.random_sample("abcde", 6) # Same length - sample = faker.random_sample('abcd', 4) - assert sorted(sample) == list('abcd') + sample = faker.random_sample("abcd", 4) + assert sorted(sample) == list("abcd") - sample = faker.random_sample('abcde', 5) - assert sorted(sample) == list('abcde') + sample = faker.random_sample("abcde", 5) + assert sorted(sample) == list("abcde") # Length = 3 - sample = faker.random_sample('abcde', 3) + sample = faker.random_sample("abcde", 3) assert len(sample) == 3 - assert set(sample).issubset(set('abcde')) + assert set(sample).issubset(set("abcde")) # Length = 1 - sample = faker.random_sample('abcde', 1) + sample = faker.random_sample("abcde", 1) assert len(sample) == 1 - assert set(sample).issubset(set('abcde')) + assert set(sample).issubset(set("abcde")) # Length = 0 - sample = faker.random_sample('abcde', 0) + sample = faker.random_sample("abcde", 0) assert sample == [] def test_randomize_nb_elements(self, faker, num_samples): @@ -218,7 +268,7 @@ def test_randomize_nb_elements(self, faker, num_samples): for _ in range(num_samples): res = faker.randomize_nb_elements(number=number, le=True) assert res >= lower_bound - assert res <= number, "'{}' is not <= than '{}'".format(res, number) + assert res <= number, f"{res!r} is not <= than {number!r}" for _ in range(num_samples): res = faker.randomize_nb_elements(number=number, ge=True) diff --git a/tests/providers/conftest.py b/tests/providers/conftest.py index 1af8c9d07d..02c599d435 100644 --- a/tests/providers/conftest.py +++ b/tests/providers/conftest.py @@ -7,11 +7,11 @@ from faker.contrib.pytest.plugin import DEFAULT_SEED LOCALE_TEST_CLASS_NAME_REGEX = re.compile( - r'^Test(?P[A-Z][a-z]{1,2})(?P[A-Z][a-z])$', + r"^Test(?P[A-Z][a-z]{1,2})(?P[A-Z][a-z])$", ) -@pytest.fixture(scope='class', autouse=True) +@pytest.fixture(scope="class", autouse=True) def _class_locale_faker(request): if not request.cls: return None @@ -19,8 +19,8 @@ def _class_locale_faker(request): match = LOCALE_TEST_CLASS_NAME_REGEX.fullmatch(class_name) if not match: return None - locale = '{language}_{region}'.format(**match.groupdict()) - locale = pylocale.normalize(locale).split('.')[0] + locale = f'{match.group("language")}_{match.group("region")}' + locale = pylocale.normalize(locale).split(".")[0] return Faker(locale=locale) @@ -32,7 +32,7 @@ def faker(_class_locale_faker, faker): return _class_locale_faker -@pytest.fixture(scope='class', autouse=True) +@pytest.fixture(scope="class", autouse=True) def num_samples(request): try: num = int(request.cls.num_samples) diff --git a/tests/providers/test_address.py b/tests/providers/test_address.py index 0494ccec8a..790f06abba 100644 --- a/tests/providers/test_address.py +++ b/tests/providers/test_address.py @@ -1,18 +1,22 @@ import re +from typing import Pattern from unittest import mock import pytest -from ukpostcodeparser.parser import parse_uk_postcode - +from faker import Faker, providers from faker.providers.address.cs_CZ import Provider as CsCzAddressProvider +from faker.providers.address.da_DK import Provider as DaDkAddressProvider from faker.providers.address.de_AT import Provider as DeAtAddressProvider +from faker.providers.address.de_CH import Provider as DeChAddressProvider from faker.providers.address.de_DE import Provider as DeDeAddressProvider from faker.providers.address.el_GR import Provider as ElGrAddressProvider from faker.providers.address.en_AU import Provider as EnAuAddressProvider from faker.providers.address.en_CA import Provider as EnCaAddressProvider from faker.providers.address.en_GB import Provider as EnGbAddressProvider +from faker.providers.address.en_IE import Provider as EnIeAddressProvider +from faker.providers.address.en_IN import Provider as EnInAddressProvider from faker.providers.address.en_PH import Provider as EnPhAddressProvider from faker.providers.address.en_US import Provider as EnUsAddressProvider from faker.providers.address.es_ES import Provider as EsEsAddressProvider @@ -29,8 +33,11 @@ from faker.providers.address.no_NO import Provider as NoNoAddressProvider from faker.providers.address.pt_BR import Provider as PtBrAddressProvider from faker.providers.address.pt_PT import Provider as PtPtAddressProvider +from faker.providers.address.ro_RO import Provider as RoRoAddressProvider from faker.providers.address.ru_RU import Provider as RuRuAddressProvider +from faker.providers.address.sk_SK import Provider as SkSkAddressProvider from faker.providers.address.ta_IN import Provider as TaInAddressProvider +from faker.providers.address.th_TH import Provider as ThThAddressProvider from faker.providers.address.zh_CN import Provider as ZhCnAddressProvider from faker.providers.address.zh_TW import Provider as ZhTwAddressProvider @@ -40,7 +47,7 @@ class TestBaseProvider: def test_alpha_2_country_codes(self, faker, num_samples): for _ in range(num_samples): - country_code = faker.country_code(representation='alpha-2') + country_code = faker.country_code(representation="alpha-2") assert len(country_code) == 2 assert country_code.isalpha() @@ -52,14 +59,55 @@ def test_alpha_2_country_codes_as_default(self, faker, num_samples): def test_alpha_3_country_codes(self, faker, num_samples): for _ in range(num_samples): - country_code = faker.country_code(representation='alpha-3') + country_code = faker.country_code(representation="alpha-3") assert len(country_code) == 3 assert country_code.isalpha() def test_bad_country_code_representation(self, faker, num_samples): for _ in range(num_samples): with pytest.raises(ValueError): - faker.country_code(representation='hello') + faker.country_code(representation="hello") + + def _collect_fakers_for_locales(self): + cached_locales = [] + language_locale_codes = providers.BaseProvider.language_locale_codes + for code, countries in language_locale_codes.items(): + for country in countries: + name = f"{code}_{country}" + try: + faker = Faker(name) + cached_locales.append(faker) + except AttributeError as e: + print(f"Cannot generate faker for {name}: {e}. Skipped") + + return cached_locales + + def _fakers_for_locales(self): + if not hasattr(self.__class__, "cached_locales"): + self.__class__.cached_locales = self._collect_fakers_for_locales() + return self.cached_locales + + def test_administrative_unit_all_locales(self): + for faker in self._fakers_for_locales(): + if faker.current_country_code() not in ["IL", "GE", "TW", "UA", "NZ"]: + try: + assert isinstance(faker.administrative_unit(), str) + except Exception as e: + raise e.__class__(faker.current_country_code(), *e.args) + + def test_country_code_all_locales(self): + for faker in self._fakers_for_locales(): + assert isinstance(faker.current_country(), str) + + def test_current_country_errors(self): + dt = providers.date_time + countries_duplicated = [*dt.Provider.countries, *dt.Provider.countries] + with mock.patch.object(dt.Provider, "countries", countries_duplicated), pytest.raises(ValueError) as e: + Faker("en_US").current_country() + assert "Ambiguous" in str(e) + country_code = "faker.providers.address.Provider.current_country_code" + with pytest.raises(ValueError), mock.patch(country_code, lambda self: "en_ZZ"): + Faker("en_US").current_country() class TestCsCz: @@ -99,14 +147,42 @@ def test_postcode(self, faker, num_samples): for _ in range(num_samples): postcode = faker.postcode() assert isinstance(postcode, str) - assert re.fullmatch(r'\d{3} \d{2}', postcode) + assert re.fullmatch(r"\d{3} \d{2}", postcode) def test_city_with_postcode(self, faker, num_samples): for _ in range(num_samples): city_with_postcode = faker.city_with_postcode() assert isinstance(city_with_postcode, str) - match = re.fullmatch(r'\d{3} \d{2} (?P.*)', city_with_postcode) - assert match.group('city') in CsCzAddressProvider.cities + match = re.fullmatch(r"\d{3} \d{2} (?P.*)", city_with_postcode) + assert match.group("city") in CsCzAddressProvider.cities + + +class TestDaDk: + """Test dk_DK address provider methods""" + + def test_street_prefix(self, faker, num_samples): + for _ in range(num_samples): + street_prefix = faker.street_prefix() + assert isinstance(street_prefix, str) + assert street_prefix in DaDkAddressProvider.street_prefixes + + def test_city_name(self, faker, num_samples): + for _ in range(num_samples): + city = faker.city_name() + assert isinstance(city, str) + assert city in DaDkAddressProvider.cities + + def test_state(self, faker, num_samples): + for _ in range(num_samples): + state = faker.state() + assert isinstance(state, str) + assert state in DaDkAddressProvider.states + + def test_postcode(self, faker, num_samples): + for _ in range(num_samples): + postcode = faker.postcode() + assert isinstance(postcode, str) + assert re.fullmatch(r"\d{4}", postcode) class TestDeAt: @@ -146,14 +222,14 @@ def test_postcode(self, faker, num_samples): for _ in range(num_samples): postcode = faker.postcode() assert isinstance(postcode, str) - assert re.fullmatch(r'\d{4}', postcode) + assert re.fullmatch(r"\d{4}", postcode) def test_city_with_postcode(self, faker, num_samples): for _ in range(num_samples): city_with_postcode = faker.city_with_postcode() assert isinstance(city_with_postcode, str) - match = re.fullmatch(r'\d{4} (?P.*)', city_with_postcode) - assert match.groupdict()['city'] in DeAtAddressProvider.cities + match = re.fullmatch(r"\d{4} (?P.*)", city_with_postcode) + assert match.groupdict()["city"] in DeAtAddressProvider.cities class TestDeDe: @@ -193,14 +269,14 @@ def test_postcode(self, faker, num_samples): for _ in range(num_samples): postcode = faker.postcode() assert isinstance(postcode, str) - assert re.fullmatch(r'\d{5}', postcode) + assert re.fullmatch(r"\d{5}", postcode) def test_city_with_postcode(self, faker, num_samples): for _ in range(num_samples): city_with_postcode = faker.city_with_postcode() assert isinstance(city_with_postcode, str) - match = re.fullmatch(r'\d{5} (?P.*)', city_with_postcode) - assert match.groupdict()['city'] in DeDeAddressProvider.cities + match = re.fullmatch(r"\d{5} (?P.*)", city_with_postcode) + assert match.groupdict()["city"] in DeDeAddressProvider.cities class TestElGr: @@ -249,7 +325,7 @@ def test_postcode(self, faker, num_samples): for _ in range(num_samples): postcode = faker.postcode() assert isinstance(postcode, str) - assert re.fullmatch(r'\d{4}', postcode) + assert re.fullmatch(r"\d{4}", postcode) def test_state(self, faker, num_samples): for _ in range(num_samples): @@ -277,7 +353,8 @@ class TestEnNz: def test_state(self, faker, num_samples): for _ in range(num_samples): # No states in New Zealand - assert faker.state() == '' + with pytest.raises(AttributeError): + faker.state() def test_postcode(self, faker, num_samples): for _ in range(num_samples): @@ -289,8 +366,7 @@ def test_postcode(self, faker, num_samples): class TestEnCa: """Test en_CA address provider methods""" - valid_postcode_letter_re = r'[{}]'.format( - ''.join(EnCaAddressProvider.postal_code_letters)) + valid_postcode_letter_re = r"[{}]".format("".join(EnCaAddressProvider.postal_code_letters)) valid_postcode_re = r"{0}[0-9]{0} ?[0-9]{0}[0-9]".format(valid_postcode_letter_re) def test_postcode(self, faker, num_samples): @@ -305,7 +381,7 @@ def test_postcode_in_province(self, faker, num_samples): code = faker.postcode_in_province(province_abbr) assert code[0] in EnCaAddressProvider.provinces_postcode_prefixes[province_abbr] with pytest.raises(Exception): - faker.postcode_in_province('XX') + faker.postcode_in_province("XX") def test_postalcode(self, faker, num_samples): for _ in range(num_samples): @@ -341,15 +417,16 @@ def test_secondary_address(self, faker, num_samples): for _ in range(num_samples): secondary_address = faker.secondary_address() assert isinstance(secondary_address, str) - assert re.fullmatch(r'(?:Apt\.|Suite) \d{3}', secondary_address) + assert re.fullmatch(r"(?:Apt\.|Suite) \d{3}", secondary_address) class TestEnGb: """Test en_GB address provider methods""" def test_postcode(self, faker, num_samples): + ukpcp = pytest.importorskip("ukpostcodeparser.parser") for _ in range(num_samples): - assert isinstance(parse_uk_postcode(faker.postcode()), tuple) + assert isinstance(ukpcp.parse_uk_postcode(faker.postcode()), tuple) def test_county(self, faker, num_samples): for _ in range(num_samples): @@ -358,6 +435,23 @@ def test_county(self, faker, num_samples): assert county in EnGbAddressProvider.counties +class TestEnIe: + """Test en_IE address provider methods""" + + def test_postcode(self, faker, num_samples): + """https://stackoverflow.com/questions/33391412/validation-for-irish-eircode""" + for _ in range(num_samples): + postcode = faker.postcode() + assert isinstance(postcode, str) + assert re.fullmatch(r"(?:^[AC-FHKNPRTV-Y][0-9]{2}|D6W)[ -]?[0-9AC-FHKNPRTV-Y]{4}$", postcode) + + def test_county(self, faker, num_samples): + for _ in range(num_samples): + county = faker.county() + assert isinstance(county, str) + assert county in EnIeAddressProvider.counties + + class TestEnUS: """Test en_US address provider methods""" @@ -396,12 +490,12 @@ def test_postcode_in_state(self, faker, num_samples): for _ in range(num_samples): for state_abbr in EnUsAddressProvider.states_abbr: code = faker.postcode_in_state(state_abbr) - assert re.fullmatch(r'\d{5}', code) + assert re.fullmatch(r"\d{5}", code) assert int(code) >= EnUsAddressProvider.states_postcode[state_abbr][0] assert int(code) <= EnUsAddressProvider.states_postcode[state_abbr][1] with pytest.raises(Exception): - faker.postcode_in_state('XX') + faker.postcode_in_state("XX") def test_zipcode(self, faker, num_samples): for _ in range(num_samples): @@ -418,13 +512,13 @@ def test_zipcode_in_state(self, faker, num_samples): assert int(code) <= EnUsAddressProvider.states_postcode[state_abbr][1] with pytest.raises(Exception): - faker.zipcode_in_state('XX') + faker.zipcode_in_state("XX") def test_zipcode_plus4(self, faker, num_samples): for _ in range(num_samples): zipcode_plus4 = faker.zipcode_plus4() assert isinstance(zipcode_plus4, str) - zipcode, plus4 = zipcode_plus4.split('-') + zipcode, plus4 = zipcode_plus4.split("-") assert 501 <= int(zipcode) <= 99950 assert 1 <= int(plus4) <= 9999 @@ -444,13 +538,13 @@ def test_military_apo(self, faker, num_samples): for _ in range(num_samples): military_apo = faker.military_apo() assert isinstance(military_apo, str) - assert re.fullmatch(r'PSC \d{4}, Box \d{4}', military_apo) + assert re.fullmatch(r"PSC \d{4}, Box \d{4}", military_apo) def test_military_dpo(self, faker, num_samples): for _ in range(num_samples): military_dpo = faker.military_dpo() assert isinstance(military_dpo, str) - assert re.fullmatch(r'Unit \d{4} Box \d{4}', military_dpo) + assert re.fullmatch(r"Unit \d{4} Box \d{4}", military_dpo) def test_postalcode(self, faker, num_samples): for _ in range(num_samples): @@ -467,7 +561,7 @@ def test_postalcode_in_state(self, faker, num_samples): assert int(code) <= EnUsAddressProvider.states_postcode[state_abbr][1] with pytest.raises(Exception): - faker.postalcode_in_state('XX') + faker.postalcode_in_state("XX") class TestEsEs: @@ -489,7 +583,7 @@ def test_secondary_address(self, faker, num_samples): for _ in range(num_samples): secondary_address = faker.secondary_address() assert isinstance(secondary_address, str) - assert re.fullmatch(r'Apt\. \d{2}|Piso \d|Puerta \d', secondary_address) + assert re.fullmatch(r"Apt\. \d{2}|Piso \d|Puerta \d", secondary_address) def test_regions(self, faker, num_samples): for _ in range(num_samples): @@ -537,7 +631,7 @@ def test_secondary_address(self, faker, num_samples): secondary_address = faker.secondary_address() assert isinstance(secondary_address, str) assert re.fullmatch( - r'\d{3} \d{3}|\d{3} Interior \d{3}|\d{3} Edif\. \d{3} , Depto\. \d{3}', + r"\d{3} \d{3}|\d{3} Interior \d{3}|\d{3} Edif\. \d{3} , Depto\. \d{3}", secondary_address, ) @@ -569,7 +663,7 @@ def test_secondary_address(self, faker, num_samples): for _ in range(num_samples): secondary_address = faker.secondary_address() assert isinstance(secondary_address, str) - assert re.fullmatch(r'(?:سوئیت|واحد) \d{3}', secondary_address) + assert re.fullmatch(r"(?:سوئیت|واحد) \d{3}", secondary_address) def test_state(self, faker, num_samples): for _ in range(num_samples): @@ -720,7 +814,7 @@ def test_postcode(self, faker, num_samples): # The first digit may not begin with a zero. for _ in range(num_samples): pcd = faker.postcode() - assert re.fullmatch(r'H-[1-9]\d{3}', pcd) + assert re.fullmatch(r"H-[1-9]\d{3}", pcd) def test_street_address(self, faker, num_samples): """ @@ -730,7 +824,7 @@ def test_street_address(self, faker, num_samples): """ for _ in range(num_samples): address = faker.street_address() - assert address[-1] == '.' + assert address[-1] == "." # Check for correct capitalisation of place type assert address.split(" ")[-2][0].islower() # Check for street number format @@ -819,13 +913,13 @@ def test_postcode_in_state(self, faker, num_samples): assert int(code) <= HyAmAddressProvider.states_postcode[state_abbr][1] with pytest.raises(Exception): - faker.postcode_in_state('XX') + faker.postcode_in_state("XX") def test_secondary_address(self, faker, num_samples): for _ in range(num_samples): secondary_address = faker.secondary_address() assert isinstance(secondary_address, str) - assert re.fullmatch(r'բն\. \d{1,2}', secondary_address) + assert re.fullmatch(r"բն\. \d{1,2}", secondary_address) def test_state(self, faker, num_samples): for _ in range(num_samples): @@ -890,7 +984,7 @@ def test_chome(self, faker, num_samples): assert isinstance(chome, str) match = re.fullmatch(r"(?P\d{1,2})丁目", chome) assert match - assert 1 <= int(match.group('chome_number')) <= 42 + assert 1 <= int(match.group("chome_number")) <= 42 def test_ban(self, faker, num_samples): for _ in range(num_samples): @@ -898,7 +992,7 @@ def test_ban(self, faker, num_samples): assert isinstance(ban, str) match = re.fullmatch(r"(?P\d{1,2})番", ban) assert match - assert 1 <= int(match.group('ban_number')) <= 27 + assert 1 <= int(match.group("ban_number")) <= 27 def test_gou(self, faker, num_samples): for _ in range(num_samples): @@ -906,7 +1000,7 @@ def test_gou(self, faker, num_samples): assert isinstance(gou, str) match = re.fullmatch(r"(?P\d{1,2})号", gou) assert match - assert 1 <= int(match.group('gou_number')) <= 20 + assert 1 <= int(match.group("gou_number")) <= 20 def test_town(self, faker, num_samples): for _ in range(num_samples): @@ -947,13 +1041,13 @@ def test_postcode(self, faker, num_samples): for _ in range(num_samples): postcode = faker.postcode() assert isinstance(postcode, str) - assert re.fullmatch(r'\d{3}-\d{4}', postcode) + assert re.fullmatch(r"\d{3}-\d{4}", postcode) def test_zipcode(self, faker, num_samples): for _ in range(num_samples): zipcode = faker.zipcode() assert isinstance(zipcode, str) - assert re.fullmatch(r'\d{3}-\d{4}', zipcode) + assert re.fullmatch(r"\d{3}-\d{4}", zipcode) class TestKoKr: @@ -963,24 +1057,30 @@ def test_old_postal_code(self, faker, num_samples): for _ in range(num_samples): old_postal_code = faker.old_postal_code() assert isinstance(old_postal_code, str) - assert re.fullmatch(r'\d{3}-\d{3}', old_postal_code) + assert re.fullmatch(r"\d{3}-\d{3}", old_postal_code) def test_postal_code(self, faker, num_samples): for _ in range(num_samples): postal_code = faker.postal_code() assert isinstance(postal_code, str) - assert re.fullmatch(r'\d{5}', postal_code) + assert re.fullmatch(r"\d{5}", postal_code) def test_postcode(self, faker, num_samples): for _ in range(num_samples): postcode = faker.postcode() assert isinstance(postcode, str) - assert re.fullmatch(r'\d{5}', postcode) + assert re.fullmatch(r"\d{5}", postcode) class TestNeNp: """Test ne_NP address provider methods""" + def test_province(self, faker, num_samples): + for _ in range(num_samples): + province = faker.province() + assert isinstance(province, str) + assert province in NeNpAddressProvider.provinces + def test_district(self, faker, num_samples): for _ in range(num_samples): district = faker.district() @@ -1005,7 +1105,7 @@ class TestNoNo: def test_postcode(self, faker): for _ in range(100): - assert re.fullmatch(r'^[0-9]{4}$', faker.postcode()) + assert re.fullmatch(r"^[0-9]{4}$", faker.postcode()) def test_city_suffix(self, faker, num_samples): for _ in range(num_samples): @@ -1032,7 +1132,7 @@ def test_postcode(self, faker, num_samples): for _ in range(num_samples): postcode = faker.postcode() assert isinstance(postcode, str) - assert re.fullmatch(r'[1-9]\d{2}(?:\d{2})?', postcode) + assert re.fullmatch(r"[1-9]\d{2}(?:\d{2})?", postcode) def test_city_name(self, faker, num_samples): for _ in range(num_samples): @@ -1047,13 +1147,13 @@ def test_city_suffix(self, faker, num_samples): assert city_suffix in ZhTwAddressProvider.city_suffixes def test_city(self, faker, num_samples): - city_pattern = re.compile(r'(?P.*?)[市縣]?') + city_pattern: Pattern = re.compile(r"(?P.*?)[市縣]?") for _ in range(num_samples): city = faker.city() assert isinstance(city, str) match = city_pattern.fullmatch(city) assert match - assert match.group('city_name') in ZhTwAddressProvider.cities + assert match.group("city_name") in ZhTwAddressProvider.cities def test_country(self, faker, num_samples): for _ in range(num_samples): @@ -1080,7 +1180,7 @@ def test_postcode(self, faker, num_samples): for _ in range(num_samples): postcode = faker.postcode() assert isinstance(postcode, str) - assert re.fullmatch(r'[1-9]\d{5}', postcode) + assert re.fullmatch(r"[1-9]\d{5}", postcode) def test_city_name(self, faker, num_samples): for _ in range(num_samples): @@ -1095,7 +1195,7 @@ def test_city_suffix(self, faker, num_samples): assert city_suffix in ZhCnAddressProvider.city_suffixes def test_city(self, faker, num_samples): - city_pattern = re.compile(r'.*?[市县]') + city_pattern: Pattern = re.compile(r".*?[市县]") for _ in range(num_samples): city = faker.city() assert isinstance(city, str) @@ -1184,13 +1284,13 @@ def test_raw_postcode(self, faker, num_samples): for _ in range(num_samples): postcode = faker.postcode(formatted=False) assert isinstance(postcode, str) - assert re.fullmatch(r'\d{8}', postcode) + assert re.fullmatch(r"\d{8}", postcode) def test_formatted_postcode(self, faker, num_samples): for _ in range(num_samples): postcode = faker.postcode() assert isinstance(postcode, str) - assert re.fullmatch(r'\d{5}-?\d{3}', postcode) + assert re.fullmatch(r"\d{5}-?\d{3}", postcode) class TestPtPt: @@ -1226,11 +1326,11 @@ class TestEnPh: @classmethod def setup_class(cls): - cls.building_number_pattern = re.compile( - r'(?:[1-9]|[1-9]\d{1,3})(?:[A-J]|\s[A-J]|-[A-J]|\sUnit\s[A-J])?', + cls.building_number_pattern: Pattern = re.compile( + r"(?:[1-9]|[1-9]\d{1,3})(?:[A-J]|\s[A-J]|-[A-J]|\sUnit\s[A-J])?", ) - cls.address_pattern = re.compile( - r'(?P.*), (?P.*?), (?P\d{4}) (?P.*?)', + cls.address_pattern: Pattern = re.compile( + r"(?P.*), (?P.*?), (?P\d{4}) (?P.*?)", ) cls.metro_manila_postcodes = EnPhAddressProvider.metro_manila_postcodes cls.luzon_province_postcodes = EnPhAddressProvider.luzon_province_postcodes @@ -1274,30 +1374,32 @@ def test_floor_unit_number(self, faker, num_samples): def test_ordinal_floor_number(self, faker, num_samples): for _ in range(num_samples): floor_number = faker.ordinal_floor_number() - assert floor_number[-2:] in ['th', 'st', 'nd', 'rd'] + assert floor_number[-2:] in ["th", "st", "nd", "rd"] def test_address(self, faker, num_samples): for _ in range(num_samples): address = faker.address() match = self.address_pattern.fullmatch(address) - street_address = match.group('street_address') - lgu = match.group('lgu') - postcode = match.group('postcode') - province = match.group('province') + street_address = match.group("street_address") + lgu = match.group("lgu") + postcode = match.group("postcode") + province = match.group("province") assert match assert street_address assert lgu in self.province_lgus or lgu in self.metro_manila_lgus assert int(postcode) in self.postcodes - assert province in self.provinces or province == 'Metro Manila' + assert province in self.provinces or province == "Metro Manila" class TestFilPh(TestEnPh): """Test fil_PH address provider methods""" + pass class TestTlPh(TestEnPh): """Test tl_PH address provider methods""" + pass @@ -1317,11 +1419,11 @@ def test_country(self, faker, num_samples): assert country in RuRuAddressProvider.countries def test_region(self, faker, num_samples): - region_pattern = re.compile( - r'(?:респ\. (?P.*))|' - r'(?:(?P.*?) край)|' - r'(?:(?P.*?) обл.)|' - r'(?:(?P.*?) АО)', + region_pattern: Pattern = re.compile( + r"(?:респ\. (?P.*))|" + r"(?:(?P.*?) край)|" + r"(?:(?P.*?) обл.)|" + r"(?:(?P.*?) АО)", ) for _ in range(num_samples): region = faker.region() @@ -1329,18 +1431,20 @@ def test_region(self, faker, num_samples): match = region_pattern.fullmatch(region) assert match groupdict = match.groupdict() - assert any([ - groupdict.get('region_republic') in RuRuAddressProvider.region_republics, - groupdict.get('region_krai') in RuRuAddressProvider.region_krai, - groupdict.get('region_oblast') in RuRuAddressProvider.region_oblast, - groupdict.get('region_ao') in RuRuAddressProvider.region_ao, - ]) + assert any( + [ + groupdict.get("region_republic") in RuRuAddressProvider.region_republics, + groupdict.get("region_krai") in RuRuAddressProvider.region_krai, + groupdict.get("region_oblast") in RuRuAddressProvider.region_oblast, + groupdict.get("region_ao") in RuRuAddressProvider.region_ao, + ] + ) def test_postcode(self, faker, num_samples): for _ in range(num_samples): postcode = faker.postcode() assert isinstance(postcode, str) - assert re.fullmatch(r'\d{6}', postcode) + assert re.fullmatch(r"\d{6}", postcode) def test_city_prefix(self, faker, num_samples): for _ in range(num_samples): @@ -1364,27 +1468,31 @@ def test_street_name(self, faker, num_samples): street_name = faker.street_name() assert isinstance(street_name, str) - @pytest.mark.parametrize("street_title,street_suffix,expected", [ - ("Фрунзе", "ул.", "ул. Фрунзе"), - ("Ставропольская", "ул.", "ул. Ставропольская"), - ("Фрунзе", "пр.", "пр. Фрунзе"), - ("Осенняя", "пр.", "пр. Осенний"), - ("Гвардейская", "пр.", "пр. Гвардейский"), - ("Рыбацкая", "пр.", "пр. Рыбацкий"), - ("Безымянная", "пр.", "пр. Безымянный"), - ("Проезжая", "ш.", "ш. Проезжее"), - ("Магистральная", "ш.", "ш. Магистральное"), - ], ids=[ - "feminine_suffix_and_noflex_title", - "feminine_suffix_and_flex_title", - "non_feminine_suffix_and_noflex_title", - "masc_suffix_and_irregular_masc_title", - "masc_suffix_and_ck_street_stem", - "masc_suffix_and_uk_street_stem", - "masc_suffix_and_other_stem", - "neu_suffx_and_iregular_neu_street_title", - "neu_suffix_and_regular_street_title", - ]) + @pytest.mark.parametrize( + "street_title,street_suffix,expected", + [ + ("Фрунзе", "ул.", "ул. Фрунзе"), + ("Ставропольская", "ул.", "ул. Ставропольская"), + ("Фрунзе", "пр.", "пр. Фрунзе"), + ("Осенняя", "пр.", "пр. Осенний"), + ("Гвардейская", "пр.", "пр. Гвардейский"), + ("Рыбацкая", "пр.", "пр. Рыбацкий"), + ("Безымянная", "пр.", "пр. Безымянный"), + ("Проезжая", "ш.", "ш. Проезжее"), + ("Магистральная", "ш.", "ш. Магистральное"), + ], + ids=[ + "feminine_suffix_and_noflex_title", + "feminine_suffix_and_flex_title", + "non_feminine_suffix_and_noflex_title", + "masc_suffix_and_irregular_masc_title", + "masc_suffix_and_ck_street_stem", + "masc_suffix_and_uk_street_stem", + "masc_suffix_and_other_stem", + "neu_suffx_and_iregular_neu_street_title", + "neu_suffix_and_regular_street_title", + ], + ) def test_street_name_lexical(self, faker, street_title, street_suffix, expected): """Test that random street names are formed correctly, given the case of suffixes and streets that have been randomly selected. @@ -1403,3 +1511,207 @@ def test_street_name_lexical(self, faker, street_title, street_suffix, expected) with title_patch, suffix_patch: result = faker.street_name() assert result == expected + + +class TestThTh: + """Test th_TH address provider methods""" + + def test_country(self, faker, num_samples): + for _ in range(num_samples): + country = faker.country() + assert isinstance(country, str) + assert country in ThThAddressProvider.countries + + def test_city_name(self, faker, num_samples): + for _ in range(num_samples): + city = faker.city_name() + assert isinstance(city, str) + assert city in ThThAddressProvider.cities + + def test_province(self, faker, num_samples): + for _ in range(num_samples): + province = faker.province() + assert isinstance(province, str) + assert province in ThThAddressProvider.provinces + + def test_amphoe(self, faker, num_samples): + for _ in range(num_samples): + amphoe = faker.amphoe() + assert isinstance(amphoe, str) + assert amphoe in ThThAddressProvider.amphoes + + def test_tambon(self, faker, num_samples): + for _ in range(num_samples): + tambon = faker.tambon() + assert isinstance(tambon, str) + + def test_postcode(self, faker, num_samples): + for _ in range(num_samples): + postcode = faker.postcode() + assert isinstance(postcode, str) + assert re.fullmatch(r"[1-9]\d{4}", postcode) + + +class TestEnIn: + """Test en_IN address provider methods""" + + def test_city_name(self, faker, num_samples): + for _ in range(num_samples): + city_name = faker.city_name() + assert isinstance(city_name, str) + assert city_name in EnInAddressProvider.cities + + def test_state(self, faker, num_samples): + for _ in range(num_samples): + state = faker.state() + assert isinstance(state, str) + assert state in EnInAddressProvider.states + + +class TestSkSk: + """Test sk_SK address provider methods""" + + def test_street_suffix_short(self, faker, num_samples): + for _ in range(num_samples): + street_suffix_short = faker.street_suffix_short() + assert isinstance(street_suffix_short, str) + assert street_suffix_short in SkSkAddressProvider.street_suffixes_short + + def test_street_suffix_long(self, faker, num_samples): + for _ in range(num_samples): + street_suffix_long = faker.street_suffix_long() + assert isinstance(street_suffix_long, str) + assert street_suffix_long in SkSkAddressProvider.street_suffixes_long + + def test_city_name(self, faker, num_samples): + for _ in range(num_samples): + city = faker.city_name() + assert isinstance(city, str) + assert city in SkSkAddressProvider.cities + + def test_street_name(self, faker, num_samples): + for _ in range(num_samples): + street_name = faker.street_name() + assert isinstance(street_name, str) + assert street_name in SkSkAddressProvider.streets + + def test_state(self, faker, num_samples): + for _ in range(num_samples): + state = faker.state() + assert isinstance(state, str) + assert state in SkSkAddressProvider.states + + def test_postcode(self, faker, num_samples): + for _ in range(num_samples): + postcode = faker.postcode() + assert isinstance(postcode, str) + assert re.fullmatch(r"\d{3} \d{2}", postcode) + + def test_city_with_postcode(self, faker, num_samples): + for _ in range(num_samples): + city_with_postcode = faker.city_with_postcode() + assert isinstance(city_with_postcode, str) + match = re.fullmatch(r"\d{3} \d{2} (?P.*)", city_with_postcode) + assert match.group("city") in SkSkAddressProvider.cities + + +class TestDeCh: + """Test de_CH address provider methods""" + + def test_canton_name(self, faker, num_samples): + for _ in range(num_samples): + canton_name = faker.canton_name() + assert isinstance(canton_name, str) + assert any(canton_name == cantons[1] for cantons in DeChAddressProvider.cantons) + + def test_canton_code(self, faker, num_samples): + for _ in range(num_samples): + canton_code = faker.canton_code() + assert isinstance(canton_code, str) + assert any(canton_code == cantons[0] for cantons in DeChAddressProvider.cantons) + + def test_canton(self, faker, num_samples): + for _ in range(num_samples): + canton = faker.canton() + assert isinstance(canton, tuple) + assert canton in DeChAddressProvider.cantons + + +class TestRoRo: + """Test ro_RO address provider methods""" + + def test_address(self, faker, num_samples): + for _ in range(num_samples): + address = faker.address() + assert isinstance(address, str) + + def test_street_address(self, faker, num_samples): + for _ in range(num_samples): + street_address = faker.street_address() + assert isinstance(street_address, str) + + def test_street_name(self, faker, num_samples): + for _ in range(num_samples): + street_name = faker.street_name() + assert isinstance(street_name, str) + + def test_street_prefix(self, faker, num_samples): + for _ in range(num_samples): + street_prefix = faker.street_prefix() + assert isinstance(street_prefix, str) + assert street_prefix in RoRoAddressProvider.street_prefixes + + def test_building_number(self, faker, num_samples): + for _ in range(num_samples): + building_number = faker.building_number() + assert isinstance(building_number, str) + assert building_number[:3] == "Nr." + + def test_secondary_address(self, faker, num_samples): + for _ in range(num_samples): + secondary_address = faker.secondary_address() + assert isinstance(secondary_address, str) + assert re.fullmatch( + r"Bl. \d{2} Sc. \d{2} Ap. \d{3}", + secondary_address, + ) + + def test_city(self, faker, num_samples): + for _ in range(num_samples): + city = faker.city() + assert isinstance(city, str) + assert city in RoRoAddressProvider.cities + + def test_city_name(self, faker, num_samples): + for _ in range(num_samples): + city = faker.city_name() + assert isinstance(city, str) + assert city in RoRoAddressProvider.cities + + def test_state(self, faker, num_samples): + states = [state_name for state_abbr, state_name in RoRoAddressProvider.states] + for _ in range(num_samples): + state = faker.state() + assert isinstance(state, str) + assert state in states + + def test_state_abbr(self, faker, num_samples): + state_abbrs = [state_abbr for state_abbr, state_name in RoRoAddressProvider.states] + for _ in range(num_samples): + state_abbr = faker.state_abbr() + assert isinstance(state_abbr, str) + assert state_abbr in state_abbrs + assert state_abbr.isupper() + + def test_postcode(self, faker, num_samples): + for _ in range(num_samples): + postcode = faker.postcode() + assert isinstance(postcode, str) + assert re.fullmatch(r"\d{6}", postcode) + + def test_city_with_postcode(self, faker, num_samples): + for _ in range(num_samples): + city_with_postcode = faker.city_with_postcode() + assert isinstance(city_with_postcode, str) + match = re.fullmatch(r"\d{6} (?P.*)", city_with_postcode) + assert match.group("city") in RoRoAddressProvider.cities diff --git a/tests/providers/test_automotive.py b/tests/providers/test_automotive.py index f79289c6e1..aa64646415 100644 --- a/tests/providers/test_automotive.py +++ b/tests/providers/test_automotive.py @@ -1,8 +1,13 @@ import re +from typing import Pattern + from faker.providers.automotive.de_DE import Provider as DeDeAutomotiveProvider from faker.providers.automotive.es_ES import Provider as EsEsAutomotiveProvider +from faker.providers.automotive.ro_RO import Provider as RoRoAutomotiveProvider from faker.providers.automotive.ru_RU import Provider as RuRuAutomotiveProvider +from faker.providers.automotive.sk_SK import Provider as SkSkAutomotiveProvider +from faker.providers.automotive.tr_TR import Provider as TrTrAutomotiveProvider class _SimpleAutomotiveTestMixin: @@ -19,45 +24,60 @@ def test_license_plate(self, faker, num_samples): self.perform_extra_checks(license_plate, match) +class TestSkSk(_SimpleAutomotiveTestMixin): + """Test sk_SK automotive provider methods""" + + license_plate_pattern: Pattern = re.compile(r"(?P[A-Z]{2})\d{3}[A-Z]{2}") + + def perform_extra_checks(self, license_plate, match): + assert match.group("prefix") in SkSkAutomotiveProvider.license_plate_prefix + + class TestPtBr(_SimpleAutomotiveTestMixin): """Test pt_BR automotive provider methods""" - license_plate_pattern = re.compile(r'[A-Z]{3}-\d{4}') + + license_plate_pattern: Pattern = re.compile(r"[A-Z]{3}-\d{4}") class TestPtPt(_SimpleAutomotiveTestMixin): """Test pt_PT automotive provider methods""" - license_plate_pattern = re.compile( - r'\d{2}-\d{2}-[A-Z]{2}|' - r'\d{2}-[A-Z]{2}-\d{2}|' - r'[A-Z]{2}-\d{2}-\d{2}', + + license_plate_pattern: Pattern = re.compile( + r"\d{2}-\d{2}-[A-Z]{2}|" r"\d{2}-[A-Z]{2}-\d{2}|" r"[A-Z]{2}-\d{2}-\d{2}|" r"[A-Z]{2}-\d{2}-[A-Z]{2}", ) +class TestHeIl(_SimpleAutomotiveTestMixin): + license_plate_pattern: Pattern = re.compile(r"(\d{3}-\d{2}-\d{3})|(\d{2}-\d{3}-\d{2})") + + class TestHuHu(_SimpleAutomotiveTestMixin): """Test hu_HU automotive provider methods""" - license_plate_pattern = re.compile(r'[A-Z]{3}-\d{3}') + + license_plate_pattern: Pattern = re.compile(r"[A-Z]{3}-\d{3}") class TestDeDe(_SimpleAutomotiveTestMixin): """Test de_DE automotive provider methods""" - license_plate_pattern = re.compile( - r'(?P[A-Z\u00D6\u00DC]{1,3})-[A-Z]{1,2}-[1-9]{1,4}', + + license_plate_pattern: Pattern = re.compile( + r"(?P[A-Z\u00D6\u00DC]{1,3})-[A-Z]{1,2}-[1-9]{1,4}", re.UNICODE, ) def perform_extra_checks(self, license_plate, match): - assert match.group('prefix') in DeDeAutomotiveProvider.license_plate_prefix + assert match.group("prefix") in DeDeAutomotiveProvider.license_plate_prefix class TestSvSe(_SimpleAutomotiveTestMixin): """Test sv_SE automotive provider methods""" - license_plate_pattern = re.compile(r'[A-Z]{3} \d{2}[\dA-Z]') + license_plate_pattern: Pattern = re.compile(r"[A-Z]{3} \d{2}[\dA-Z]") -class TestPlPl: +class TestPlPl: def test_License_plate(self, faker, num_samples): - pattern = re.compile(r'{patterns}'.format(patterns='|'.join(faker.license_plate_regex_formats()))) + pattern: Pattern = re.compile(r"{patterns}".format(patterns="|".join(faker.license_plate_regex_formats()))) for _ in range(num_samples): plate = faker.license_plate() assert pattern.fullmatch(plate) @@ -65,9 +85,10 @@ def test_License_plate(self, faker, num_samples): class TestEnPh(_SimpleAutomotiveTestMixin): """Test en_PH automotive provider methods""" - license_plate_pattern = re.compile(r'[A-Z]{2}\d{4,5}|[A-Z]{3}\d{3,4}') - motorcycle_pattern = re.compile(r'[A-Z]{2}\d{4,5}') - automobile_pattern = re.compile(r'[A-Z]{3}\d{3,4}') + + license_plate_pattern: Pattern = re.compile(r"[A-Z]{2}\d{4,5}|[A-Z]{3}\d{3,4}") + motorcycle_pattern: Pattern = re.compile(r"[A-Z]{2}\d{4,5}") + automobile_pattern: Pattern = re.compile(r"[A-Z]{3}\d{3,4}") def test_motorcycle_plate(self, faker, num_samples): for _ in range(num_samples): @@ -85,30 +106,33 @@ def test_protocol_plate(self, faker, num_samples): class TestFilPh(TestEnPh): """Test fil_PH automotive provider methods""" + pass class TestTlPh(TestEnPh): """Test tl_PH automotive provider methods""" + pass class TestRuRu(_SimpleAutomotiveTestMixin): """Test ru_RU automotive provider methods""" - _plate_letters = ''.join(RuRuAutomotiveProvider.license_plate_letters) - license_plate_pattern = re.compile( - r'(?:' - r'(?P[{0}]\d\d\d[{0}][{0}])|' - r'(?P[{0}][{0}]\d\d\d)|' - r'(?P[{0}][{0}]\d\d\d\d)|' - r'(?P[{0}]\d\d\d\d)|' - r'(?P\d\d\d\d[{0}][{0}])|' - r'(?P00\dCD\d|00\dD\d\d\d|00\dT\d\d\d)' - r') (?P.*)'.format(_plate_letters), + + _plate_letters = "".join(RuRuAutomotiveProvider.license_plate_letters) + license_plate_pattern: Pattern = re.compile( + r"(?:" + r"(?P[{0}]\d\d\d[{0}][{0}])|" + r"(?P[{0}][{0}]\d\d\d)|" + r"(?P[{0}][{0}]\d\d\d\d)|" + r"(?P[{0}]\d\d\d\d)|" + r"(?P\d\d\d\d[{0}][{0}])|" + r"(?P00\dCD\d|00\dD\d\d\d|00\dT\d\d\d)" + r") (?P.*)".format(_plate_letters), ) def perform_extra_checks(self, license_plate, match): - plate_suffix = match.group('plate_suffix') + plate_suffix = match.group("plate_suffix") assert plate_suffix in RuRuAutomotiveProvider.license_plate_suffix def test_vehicle_category(self, faker, num_samples): @@ -120,18 +144,21 @@ def test_vehicle_category(self, faker, num_samples): class TestFrFr(_SimpleAutomotiveTestMixin): """Test fr_FR automotive provider methods""" - license_plate_pattern = re.compile(r'\d{3}-[A-Z]{3}-\d{2}|[A-Z]{2}-\d{3}-[A-Z]{2}') + + license_plate_pattern: Pattern = re.compile(r"\d{3}-[A-Z]{3}-\d{2}|[A-Z]{2}-\d{3}-[A-Z]{2}") class TestNoNo(_SimpleAutomotiveTestMixin): """Test no_NO automotive provider methods""" - license_plate_pattern = re.compile(r'[A-Z]{2} \d{5}') + + license_plate_pattern: Pattern = re.compile(r"[A-Z]{2} \d{5}") class TestEsEs: """Test es_ES automotive provider methods""" - new_format_pattern = re.compile(r'\d{4}\s[A-Z]{3}') - old_format_pattern = re.compile(r'(?P[A-Z]{1,2})\s\d{4}\s[A-Z]{2}') + + new_format_pattern: Pattern = re.compile(r"\d{4}\s[A-Z]{3}") + old_format_pattern: Pattern = re.compile(r"(?P[A-Z]{1,2})\s\d{4}\s[A-Z]{2}") def test_plate_new_format(self, faker, num_samples): for _ in range(num_samples): @@ -145,7 +172,7 @@ def test_plate_old_format(self, faker, num_samples): assert isinstance(plate, str) match = self.old_format_pattern.match(plate) assert match - assert match.group('province_prefix') in EsEsAutomotiveProvider.province_prefix + assert match.group("province_prefix") in EsEsAutomotiveProvider.province_prefix def test_plate_old_format_explicit_province_prefix(self, faker, num_samples): for _ in range(num_samples): @@ -154,7 +181,84 @@ def test_plate_old_format_explicit_province_prefix(self, faker, num_samples): assert self.old_format_pattern.match(plate) assert plate[:2] == "CA" - def test_plate_format(self, faker): - plate = faker.license_plate() - assert isinstance(plate, str) - assert self.new_format_pattern.match(plate) or self.old_format_pattern.match(plate) + def test_plate_format(self, faker, num_samples): + for _ in range(num_samples): + plate = faker.license_plate() + assert isinstance(plate, str) + assert self.new_format_pattern.match(plate) or self.old_format_pattern.match(plate) + + +class TestThTh(_SimpleAutomotiveTestMixin): + """Test th_TH automotive provider methods""" + + license_plate_pattern: Pattern = re.compile( + r"(\d [ก-ฮ]{2} \d{1,4})|" # car + r"([ก-ฮ]{2} \d{1,4})|" # car + r"([ก-ฮ]{3} \d{1,3})|" # motorcycle + r"(\d{2}-\d{4})", # truck + ) + + +class TestTrTr(_SimpleAutomotiveTestMixin): + """Test tr_TR automotive provider methods""" + + license_plate_pattern: Pattern = re.compile( + r"\d{2} [A-Z] \d{4}|" + r"\d{2} [A-Z] \d{5}|" + r"\d{2} [A-Z]{2} \d{3}|" + r"\d{2} [A-Z]{2} \d{4}|" + r"\d{2} [A-Z]{3} \d{2}|" + r"\d{2} [A-Z]{3} \d{3}", + ) + + def perform_extra_checks(self, license_plate, match): + [city_code, letters, _] = license_plate.split(" ") + assert int(city_code) in range(1, 82) + assert all(letter in TrTrAutomotiveProvider.ascii_uppercase_turkish for letter in letters) + + +class TestRoRo(_SimpleAutomotiveTestMixin): + """Test ro_RO automotive provider methods""" + + license_plate_pattern: Pattern = re.compile(r"(?P[A-Z]{1,2})-\d{2,3}-[A-Z]{3}") + + def perform_extra_checks(self, license_plate, match): + assert match.group("prefix") in RoRoAutomotiveProvider.license_plate_prefix + + +class TestElGr(_SimpleAutomotiveTestMixin): + """Test el_GR automotive provider methods""" + + license_plate_pattern = re.compile(r"^(?P[A-Z]{2,3}) \d{4}$") + + +class TestNlNl(_SimpleAutomotiveTestMixin): + """Test nl_NL automotive provider methods""" + + license_plate_car_pattern = re.compile( + r"\d{2}-[BDFGHJKLNPRSTVXZ][A-Z]-[A-Z]{2}|" + r"\d{2}-[BDFGHJKLNPRSTVXZ][A-Z]{2}-\d|" + r"\d-[KSTVXZ][A-Z]{2}-\d{2}|" + r"[BDFGHJKLNPRSTVXZ][A-Z]-\d{3}-[A-Z]|" + r"[BDFGHJKLNPRSTVXZ]-\d{3}-[A-Z]{2}", + ) + + license_plate_motorbike_pattern = re.compile( + r"M[A-Z]-[A-Z]{2}-\d{2}|" r"\d{2}-M[A-Z]-[A-Z]{2}", + ) + + license_plate_pattern = re.compile( + license_plate_car_pattern.pattern + "|" + license_plate_motorbike_pattern.pattern, + ) + + def test_plate_car(self, faker, num_samples): + for _ in range(num_samples): + plate = faker.license_plate_car() + assert isinstance(plate, str) + assert self.license_plate_car_pattern.match(plate) + + def test_plate_motorbike(self, faker, num_samples): + for _ in range(num_samples): + plate = faker.license_plate_motorbike() + assert isinstance(plate, str) + assert self.license_plate_motorbike_pattern.match(plate) diff --git a/tests/providers/test_bank.py b/tests/providers/test_bank.py index 2ce36aff55..b71666d8fe 100644 --- a/tests/providers/test_bank.py +++ b/tests/providers/test_bank.py @@ -3,7 +3,10 @@ import pytest from faker.providers.bank import Provider as BankProvider +from faker.providers.bank.de_CH import Provider as DeChBankProvider +from faker.providers.bank.el_GR import Provider as ElGrBankProvider from faker.providers.bank.en_GB import Provider as EnGbBankProvider +from faker.providers.bank.en_IE import Provider as EnIeBankProvider from faker.providers.bank.en_PH import Provider as EnPhBankProvider from faker.providers.bank.es_ES import Provider as EsEsBankProvider from faker.providers.bank.fi_FI import Provider as FiFiBankProvider @@ -11,18 +14,33 @@ from faker.providers.bank.no_NO import Provider as NoNoBankProvider from faker.providers.bank.pl_PL import Provider as PlPlBankProvider from faker.providers.bank.pt_PT import Provider as PtPtBankProvider +from faker.providers.bank.th_TH import Provider as ThThBankProvider from faker.providers.bank.tr_TR import Provider as TrTrBankProvider def is_valid_iban(iban): check = iban[4:] + iban[:4] - check = int(''.join(BankProvider.ALPHA.get(c, c) for c in check)) + check = int("".join(BankProvider.ALPHA.get(c, c) for c in check)) return check % 97 == 1 +def is_valid_aba(aba): + d = [int(n) for n in aba] + chkdgt = 3 * (d[0] + d[3] + d[6]) + 7 * (d[1] + d[4] + d[7]) + (d[2] + d[5] + d[8]) + if chkdgt % 10 == 0: + return True + return False + + class TestNoNo: """Test no_NO bank provider""" + def test_aba(self, faker, num_samples): + for _ in range(num_samples): + aba = faker.aba() + assert len(aba) == 9 + assert is_valid_aba(aba) + def test_bban(self, faker, num_samples): for _ in range(num_samples): assert re.fullmatch(r"\d{11}", faker.bban()) @@ -80,6 +98,21 @@ def test_iban(self, faker, num_samples): assert re.fullmatch(r"\d{2}[A-Z]{4}\d{14}", iban[2:]) +class TestEnIe: + """Test en_IE bank provider""" + + def test_bban(self, faker, num_samples): + for _ in range(num_samples): + assert re.fullmatch(r"\d{23}", faker.bban()) + + def test_iban(self, faker, num_samples): + for _ in range(num_samples): + iban = faker.iban() + assert is_valid_iban(iban) + assert iban[:2] == EnIeBankProvider.country_code + assert re.fullmatch(r"\d{2}\d{23}", iban[2:]) + + class TestRuRu: """Test ru_RU bank provider""" @@ -149,7 +182,7 @@ class TestEnPh: """Test en_PH bank provider""" def test_swift(self, faker, num_samples): - regex = re.compile('[A-Z]{4}PH[A-Z0-9]{2}(?:[A-Z0-9]{3})?') + regex = re.compile("[A-Z]{4}PH[A-Z0-9]{2}(?:[A-Z0-9]{3})?") for _ in range(num_samples): code = faker.swift() assert regex.fullmatch(code) is not None @@ -181,16 +214,18 @@ def test_swift11_is_primary(self, faker, num_samples): for _ in range(num_samples): code = faker.swift11(primary=True) assert len(code) == 11 - assert code[8:11] == 'XXX' + assert code[8:11] == "XXX" class TestFilPh(TestEnPh): """Test fil_PH bank provider""" + pass class TestTlPh(TestEnPh): """Test tl_PH bank provider""" + pass @@ -207,3 +242,60 @@ def test_iban(self, faker, num_samples): assert is_valid_iban(iban) assert iban[:2] == TrTrBankProvider.country_code assert re.fullmatch(r"\d{2}\d{22}", iban[2:]) + + +class TestDeCh: + """Test de_CH bank provider""" + + def test_bban(self, faker, num_samples): + for _ in range(num_samples): + assert re.fullmatch(r"\d{17}", faker.bban()) + + def test_iban(self, faker, num_samples): + for _ in range(num_samples): + iban = faker.iban() + assert is_valid_iban(iban) + assert iban[:2] == DeChBankProvider.country_code + assert re.fullmatch(r"\d{19}", iban[2:]) + + +class TestFrCh(TestDeCh): + """Test fr_CH bank provider""" + + pass + + +class TestItCh(TestDeCh): + """Test it_CH bank provider""" + + pass + + +class TestThTh: + """Test th_TH bank provider""" + + def test_bban(self, faker, num_samples): + for _ in range(num_samples): + assert re.fullmatch(r"\d{10}", faker.bban()) + + def test_iban(self, faker, num_samples): + for _ in range(num_samples): + iban = faker.iban() + assert is_valid_iban(iban) + assert iban[:2] == ThThBankProvider.country_code + assert re.fullmatch(r"\d{2}\d{10}", iban[2:]) + + +class TestElGr: + """Test el_GR bank provider""" + + def test_bban(self, faker, num_samples): + for _ in range(num_samples): + assert re.fullmatch(r"\d{23}", faker.bban()) + + def test_iban(self, faker, num_samples): + for _ in range(num_samples): + iban = faker.iban() + assert is_valid_iban(iban) + assert iban[:2] == ElGrBankProvider.country_code + assert re.fullmatch(r"\d{2}\d{23}", iban[2:]) diff --git a/tests/providers/test_barcode.py b/tests/providers/test_barcode.py index 614e1a5d79..87c083aea3 100644 --- a/tests/providers/test_barcode.py +++ b/tests/providers/test_barcode.py @@ -1,13 +1,16 @@ import re +from typing import Pattern + import pytest class TestBarcodeProvider: """Test barcode provider methods""" + num_samples = 1000 - ean8_pattern = re.compile(r'\d{8}') - ean13_pattern = re.compile(r'\d{13}') + ean8_pattern: Pattern = re.compile(r"\d{8}") + ean13_pattern: Pattern = re.compile(r"\d{13}") def test_ean(self, faker, num_samples): for _ in range(num_samples): @@ -49,7 +52,7 @@ def test_ean13_no_leading_zero(self, faker, num_samples): for _ in range(num_samples): ean13 = faker.ean13(leading_zero=False) assert self.ean13_pattern.fullmatch(ean13) - assert ean13[0] != '0' + assert ean13[0] != "0" # Included check digit must be correct ean13_digits = [int(digit) for digit in ean13] @@ -59,21 +62,23 @@ def test_ean13_leading_zero(self, faker, num_samples): for _ in range(num_samples): ean13 = faker.ean13(leading_zero=True) assert self.ean13_pattern.fullmatch(ean13) - assert ean13[0] == '0' + assert ean13[0] == "0" # Included check digit must be correct ean13_digits = [int(digit) for digit in ean13] assert (sum(ean13_digits) + 2 * sum(ean13_digits[1::2])) % 10 == 0 -@pytest.fixture(scope='class') +@pytest.fixture(scope="class") def provider_class(request): - if hasattr(request.cls, 'get_provider_class') and callable(request.cls.get_provider_class): + if hasattr(request.cls, "get_provider_class") and callable(request.cls.get_provider_class): _provider_class = request.cls.get_provider_class() if isinstance(_provider_class, type): return _provider_class - raise NotImplementedError("Using the provider_class requires {}.get_provider_class() to be present, which has to " - "return the Provider class it uses.".format(request.cls.__name__)) + raise NotImplementedError( + f"Using the provider_class requires {request.cls.__name__}.get_provider_class() " + "to be present, which has to return the Provider class it uses." + ) @pytest.fixture() @@ -82,18 +87,17 @@ def provider(faker, provider_class): class _LocaleCommonMixin: - ean8_pattern = re.compile(r'\d{8}') - ean13_pattern = re.compile(r'\d{13}') + ean8_pattern: Pattern = re.compile(r"\d{8}") + ean13_pattern: Pattern = re.compile(r"\d{13}") @staticmethod def assert_prefix(barcode_digits, prefixes): for prefix in prefixes: if all(a == b for a, b in zip(barcode_digits, map(int, prefix))): return - raise AssertionError("{} doesn't match any of the prefixes: {}".format( - ''.join(map(str, barcode_digits)), - ', '.join(map(lambda _prefix: ''.join(map(str, _prefix)), prefixes)), - )) + str_barc = "".join(str(x) for x in barcode_digits) + str_pref = ", ".join(map(lambda _prefix: "".join(str(x) for x in _prefix)), prefixes) + raise AssertionError(f"{str_barc} doesn't match any of the prefixes: {str_pref}") def test_localized_ean(self, faker, num_samples, provider): for _ in range(num_samples): @@ -132,8 +136,8 @@ def test_localized_ean13(self, faker, num_samples, provider): class _LocaleNorthAmericaMixin(_LocaleCommonMixin): - upc_a_pattern = re.compile(r'\d{12}') - upc_e_pattern = re.compile(r'[01]\d{7}') + upc_a_pattern: Pattern = re.compile(r"\d{12}") + upc_e_pattern: Pattern = re.compile(r"[01]\d{7}") def test_upc_a(self, faker, num_samples): for _ in range(num_samples): @@ -159,30 +163,34 @@ def test_upc_e_explicit_number_system(self, faker, num_samples): upc_e_1 = faker.upc_e(number_system_digit=1) assert self.upc_e_pattern.fullmatch(upc_e_0) assert self.upc_e_pattern.fullmatch(upc_e_1) - assert upc_e_0[0] == '0' - assert upc_e_1[0] == '1' + assert upc_e_0[0] == "0" + assert upc_e_1[0] == "1" def test_upc_e_safe_mode(self, faker): # For this test, we explicitly specify a base and a number system digit # so we do not have to wait for RNG to produce the right combinations. for _ in range(100): # Be aware that there are other unsafe combinations - unsafe_base = '{:02}000{}'.format(faker.random_int(0, 99), faker.random_int(3, 4)) - safe_base = unsafe_base[:2] + '0000' + unsafe_base = f"{faker.random_int(0, 99):02}000{faker.random_int(3, 4)}" + safe_base = unsafe_base[:2] + "0000" number_system_digit = faker.random_int(0, 1) # Safe mode will create a UPC-E barcode with the safe base # even if an unsafe base was supplied - upc_e_safe = faker.upc_e(base=unsafe_base, - number_system_digit=number_system_digit, - safe_mode=True) + upc_e_safe = faker.upc_e( + base=unsafe_base, + number_system_digit=number_system_digit, + safe_mode=True, + ) assert upc_e_safe[1:-1] == safe_base assert upc_e_safe[1:-1] != unsafe_base # Unsafe mode will force create a UPC-E barcode with unsafe base - upc_e_unsafe = faker.upc_e(base=unsafe_base, - number_system_digit=number_system_digit, - safe_mode=False) + upc_e_unsafe = faker.upc_e( + base=unsafe_base, + number_system_digit=number_system_digit, + safe_mode=False, + ) assert upc_e_unsafe[1:-1] != safe_base assert upc_e_unsafe[1:-1] == unsafe_base @@ -197,7 +205,7 @@ def test_upc_a2e_bad_values(self, faker, provider): # Invalid string with pytest.raises(ValueError): - provider._convert_upc_a2e('abcdef') + provider._convert_upc_a2e("abcdef") def test_upc_a2e2a(self, faker, num_samples, provider): for _ in range(num_samples): @@ -212,9 +220,7 @@ def test_upc_a2e2a(self, faker, num_samples, provider): assert int(upc_a[-1]) == int(upc_e[-1]) # Create a new UPC-A barcode based on the UPC-E barcode - new_upc_a = faker.upc_a(upc_ae_mode=True, - base=upc_e[1:-1], - number_system_digit=int(upc_e[0])) + new_upc_a = faker.upc_a(upc_ae_mode=True, base=upc_e[1:-1], number_system_digit=int(upc_e[0])) # New UPC-A barcode must be the same as the original assert upc_a == new_upc_a @@ -225,9 +231,7 @@ def test_upc_e2a2e(self, faker, num_samples, provider): assert self.upc_e_pattern.fullmatch(upc_e) # Create a new UPC-A barcode based on the UPC-E barcode - upc_a = faker.upc_a(upc_ae_mode=True, - base=upc_e[1:-1], - number_system_digit=int(upc_e[0])) + upc_a = faker.upc_a(upc_ae_mode=True, base=upc_e[1:-1], number_system_digit=int(upc_e[0])) # Number system and check digits must be the same assert int(upc_a[0]) == int(upc_e[0]) @@ -241,42 +245,50 @@ def test_upc_e2a2e(self, faker, num_samples, provider): class TestEnUs(_LocaleNorthAmericaMixin): - """ Tests en_US barcode provider """ + """Tests en_US barcode provider""" + num_samples = 1000 @staticmethod def get_provider_class(): from faker.providers.barcode.en_US import Provider + return Provider class TestEnCa(_LocaleNorthAmericaMixin): - """ Tests en_CA barcode provider """ + """Tests en_CA barcode provider""" + num_samples = 1000 @staticmethod def get_provider_class(): from faker.providers.barcode.en_CA import Provider + return Provider class TestFrCa(_LocaleNorthAmericaMixin): - """ Tests fr_CA barcode provider """ + """Tests fr_CA barcode provider""" + num_samples = 1000 @staticmethod def get_provider_class(): from faker.providers.barcode.fr_CA import Provider + return Provider class TestJaJp(_LocaleCommonMixin): - """ Tests ja_JP barcode provider """ + """Tests ja_JP barcode provider""" + num_samples = 1000 @staticmethod def get_provider_class(): from faker.providers.barcode.ja_JP import Provider + return Provider def test_jan(self, faker, num_samples, provider): @@ -316,12 +328,14 @@ def test_jan13(self, faker, num_samples, provider): class TestEsEs(_LocaleCommonMixin): - """ Tests es_ES barcode provider """ + """Tests es_ES barcode provider""" + num_samples = 1000 @staticmethod def get_provider_class(): from faker.providers.barcode.es_ES import Provider + return Provider def test_localized_ean(self, faker, num_samples, provider): diff --git a/tests/providers/test_color.py b/tests/providers/test_color.py index 0d1e8c4aa8..5be4406bf7 100644 --- a/tests/providers/test_color.py +++ b/tests/providers/test_color.py @@ -2,44 +2,43 @@ import random import re +from typing import Pattern + import pytest from faker.providers.color import RandomColor +from faker.providers.color.bg_BG import Provider as BgBgColorProvider +from faker.providers.color.el_GR import Provider as ElGrColorProvider from faker.providers.color.es_ES import Provider as EsEsColorProvider from faker.providers.color.fa_IR import Provider as FaIrColorProvider +from faker.providers.color.he_IL import Provider as HeILColorProvider from faker.providers.color.hy_AM import Provider as HyAmColorProvider -from faker.providers.color.sk_SK import Provider as SkSkColorProvider class TestColorProvider: """Test color provider methods""" + num_samples = 10000 def test_safe_hex_color(self, faker, num_samples): - assert all( - re.fullmatch(r'#(?:([0-9a-f])\1){3}', faker.safe_hex_color()) - for _ in range(num_samples) - ) + assert all(re.fullmatch(r"#(?:([0-9a-f])\1){3}", faker.safe_hex_color()) for _ in range(num_samples)) def test_hex_color(self, faker, num_samples): - assert all( - re.fullmatch(r'#[0-9a-f]{6}', faker.hex_color()) - for _ in range(num_samples) - ) + assert all(re.fullmatch(r"#[0-9a-f]{6}", faker.hex_color()) for _ in range(num_samples)) def test_rgb_color(self, faker, num_samples): for _ in range(num_samples): - r, g, b = list(map(int, faker.rgb_color().split(','))) + r, g, b = list(map(int, faker.rgb_color().split(","))) assert 0 <= r <= 255 assert 0 <= g <= 255 assert 0 <= b <= 255 def test_rgb_css_color(self, faker, num_samples): - pattern = re.compile(r'rgb\((?P\d{1,3},\d{1,3},\d{1,3})\)') + pattern: Pattern = re.compile(r"rgb\((?P\d{1,3},\d{1,3},\d{1,3})\)") for _ in range(num_samples): match = pattern.fullmatch(faker.rgb_css_color()) - rgb = match.group('rgb') - r, g, b = list(map(int, rgb.split(','))) + rgb = match.group("rgb") + r, g, b = list(map(int, rgb.split(","))) assert 0 <= r <= 255 assert 0 <= g <= 255 assert 0 <= b <= 255 @@ -57,64 +56,56 @@ def test_color(self, faker, num_samples): class TestRandomColor: """Test RandomColor class""" + num_samples = 1000 seed = 4761 - hsv_color_pattern = re.compile( - r'hsv\(' - r'(?P\d|[1-9]\d|[1-3]\d{2}), ' - r'(?P\d|[1-9]\d|100), ' - r'(?P\d|[1-9]\d|100)\)', + hsv_color_pattern: Pattern = re.compile( + r"hsv\(" r"(?P\d|[1-9]\d|[1-3]\d{2}), " r"(?P\d|[1-9]\d|100), " r"(?P\d|[1-9]\d|100)\)", ) - hsl_color_pattern = re.compile( - r'hsl\(' - r'(?P\d|[1-9]\d|[1-3]\d{2}), ' - r'(?P\d|[1-9]\d|[1-3]\d{2}), ' - r'(?P\d|[1-9]\d|[1-3]\d{2})\)', + hsl_color_pattern: Pattern = re.compile( + r"hsl\(" r"(?P\d|[1-9]\d|[1-3]\d{2}), " r"(?P\d|[1-9]\d|[1-3]\d{2}), " r"(?P\d|[1-9]\d|[1-3]\d{2})\)", ) - rgb_color_pattern = re.compile( - r'rgb\(' - r'(?P\d|[1-9]\d|[1-3]\d{2}), ' - r'(?P\d|[1-9]\d|[1-3]\d{2}), ' - r'(?P\d|[1-9]\d|[1-3]\d{2})\)', + rgb_color_pattern: Pattern = re.compile( + r"rgb\(" r"(?P\d|[1-9]\d|[1-3]\d{2}), " r"(?P\d|[1-9]\d|[1-3]\d{2}), " r"(?P\d|[1-9]\d|[1-3]\d{2})\)", ) - hex_color_pattern = re.compile(r'#[0-9a-f]{6}') + hex_color_pattern: Pattern = re.compile(r"#[0-9a-f]{6}") def setup_method(self): self.random_color = RandomColor(seed=self.seed) def test_color_format_hsv(self, num_samples): for _ in range(num_samples): - hsv_color = self.random_color.generate(color_format='hsv') + hsv_color = self.random_color.generate(color_format="hsv") match = self.hsv_color_pattern.fullmatch(hsv_color) assert match groupdict = match.groupdict() - assert 0 <= int(groupdict['h']) <= 360 - assert 0 <= int(groupdict['s']) <= 100 - assert 0 <= int(groupdict['v']) <= 100 + assert 0 <= int(groupdict["h"]) <= 360 + assert 0 <= int(groupdict["s"]) <= 100 + assert 0 <= int(groupdict["v"]) <= 100 def test_color_format_hsl(self, num_samples): for _ in range(num_samples): - hsl_color = self.random_color.generate(color_format='hsl') + hsl_color = self.random_color.generate(color_format="hsl") match = self.hsl_color_pattern.fullmatch(hsl_color) assert match groupdict = match.groupdict() - assert 0 <= int(groupdict['h']) <= 360 - assert 0 <= int(groupdict['s']) <= 100 - assert 0 <= int(groupdict['l']) <= 100 + assert 0 <= int(groupdict["h"]) <= 360 + assert 0 <= int(groupdict["s"]) <= 100 + assert 0 <= int(groupdict["l"]) <= 100 def test_color_format_rgb(self, num_samples): for _ in range(num_samples): - rgb_color = self.random_color.generate(color_format='rgb') + rgb_color = self.random_color.generate(color_format="rgb") match = self.rgb_color_pattern.fullmatch(rgb_color) assert match groupdict = match.groupdict() - assert 0 <= int(groupdict['r']) <= 255 - assert 0 <= int(groupdict['g']) <= 255 - assert 0 <= int(groupdict['b']) <= 255 + assert 0 <= int(groupdict["r"]) <= 255 + assert 0 <= int(groupdict["g"]) <= 255 + assert 0 <= int(groupdict["b"]) <= 255 def test_color_format_hex(self, num_samples): for _ in range(num_samples): - hex_color = self.random_color.generate(color_format='hex') + hex_color = self.random_color.generate(color_format="hex") assert self.hex_color_pattern.fullmatch(hex_color) def test_color_format_unspecified(self, num_samples): @@ -125,12 +116,12 @@ def test_color_format_unspecified(self, num_samples): def test_hue_integer(self): # HSV format is used, because whatever hue value supplied must be present in the output for hue in range(360): - colors = [self.random_color.generate(hue=hue, color_format='hsv') for _ in range(10)] + colors = [self.random_color.generate(hue=hue, color_format="hsv") for _ in range(10)] for color in colors: match = self.hsv_color_pattern.fullmatch(color) assert match groupdict = match.groupdict() - assert int(groupdict['h']) == hue + assert int(groupdict["h"]) == hue def test_hue_float(self, num_samples): baseline_random_color = RandomColor(seed=self.seed) @@ -145,36 +136,36 @@ def test_hue_float(self, num_samples): assert colors == expected def test_hue_word(self): - expected = ['#cecece', '#ededed', '#efefef', '#bcbcbc', '#777777'] - colors = [self.random_color.generate(hue='monochrome') for _ in range(5)] + expected = ["#cecece", "#ededed", "#efefef", "#bcbcbc", "#777777"] + colors = [self.random_color.generate(hue="monochrome") for _ in range(5)] assert colors == expected - expected = ['#ef0b31', '#f2b7ab', '#f74c55', '#a53822', '#8e3712'] - colors = [self.random_color.generate(hue='red') for _ in range(5)] + expected = ["#ef0b31", "#f2b7ab", "#f74c55", "#a53822", "#8e3712"] + colors = [self.random_color.generate(hue="red") for _ in range(5)] assert colors == expected - expected = ['#f98313', '#ddb77e', '#f9c413', '#f4ce81', '#ddae71'] - colors = [self.random_color.generate(hue='orange') for _ in range(5)] + expected = ["#f98313", "#ddb77e", "#f9c413", "#f4ce81", "#ddae71"] + colors = [self.random_color.generate(hue="orange") for _ in range(5)] assert colors == expected - expected = ['#dbe04e', '#efc621', '#fff65b', '#ceaf27', '#fcf9ae'] - colors = [self.random_color.generate(hue='yellow') for _ in range(5)] + expected = ["#dbe04e", "#efc621", "#fff65b", "#ceaf27", "#fcf9ae"] + colors = [self.random_color.generate(hue="yellow") for _ in range(5)] assert colors == expected - expected = ['#05876f', '#57e095', '#50ceaa', '#e4f7a0', '#698909'] - colors = [self.random_color.generate(hue='green') for _ in range(5)] + expected = ["#05876f", "#57e095", "#50ceaa", "#e4f7a0", "#698909"] + colors = [self.random_color.generate(hue="green") for _ in range(5)] assert colors == expected - expected = ['#2b839b', '#a4d3e8', '#3d2caa', '#3859a0', '#52349e'] - colors = [self.random_color.generate(hue='blue') for _ in range(5)] + expected = ["#2b839b", "#a4d3e8", "#3d2caa", "#3859a0", "#52349e"] + colors = [self.random_color.generate(hue="blue") for _ in range(5)] assert colors == expected - expected = ['#a074e8', '#6122bf', '#9f76cc', '#250570', '#3c1599'] - colors = [self.random_color.generate(hue='purple') for _ in range(5)] + expected = ["#a074e8", "#6122bf", "#9f76cc", "#250570", "#3c1599"] + colors = [self.random_color.generate(hue="purple") for _ in range(5)] assert colors == expected - expected = ['#c605c6', '#fcc4ec', '#d979f7', '#ce108c', '#d3289d'] - colors = [self.random_color.generate(hue='pink') for _ in range(5)] + expected = ["#c605c6", "#fcc4ec", "#d979f7", "#ce108c", "#d3289d"] + colors = [self.random_color.generate(hue="pink") for _ in range(5)] assert colors == expected def test_hue_tuple_beyond_limits(self, num_samples): @@ -197,12 +188,12 @@ def test_hue_tuple_inverted_values(self, num_samples): def test_hue_invalid(self): invalid_values = [ - -0.000000001, # Very slightly under the min numerical value of 0 - 360.000000001, # Very slightly over the max numerical value of 360 - 'invalid value', # Unsupported string - [1, 2, 3], # List with incorrect number of elements of valid data types - ['ab', 1], # List with correct number of elements with invalid data types - self, # Any other garbage + -0.000000001, # Very slightly under the min numerical value of 0 + 360.000000001, # Very slightly over the max numerical value of 360 + "invalid value", # Unsupported string + [1, 2, 3], # List with incorrect number of elements of valid data types + ["ab", 1], # List with correct number of elements with invalid data types + self, # Any other garbage ] for invalid_value in invalid_values: @@ -210,27 +201,27 @@ def test_hue_invalid(self): self.random_color.generate(hue=invalid_value) def test_luminosity_word(self): - expected = ['#2b7700', '#073c8c', '#d813aa', '#01961a', '#ce840e'] - colors = [self.random_color.generate(luminosity='dark') for _ in range(5)] + expected = ["#2b7700", "#073c8c", "#d813aa", "#01961a", "#ce840e"] + colors = [self.random_color.generate(luminosity="dark") for _ in range(5)] assert colors == expected - expected = ['#16b5ff', '#6266ef', '#fc4e3f', '#b2ff70', '#a30424'] - colors = [self.random_color.generate(luminosity='bright') for _ in range(5)] + expected = ["#16b5ff", "#6266ef", "#fc4e3f", "#b2ff70", "#a30424"] + colors = [self.random_color.generate(luminosity="bright") for _ in range(5)] assert colors == expected - expected = ['#f276a1', '#fcec94', '#aaffe5', '#ffbd7f', '#98f9dc'] - colors = [self.random_color.generate(luminosity='light') for _ in range(5)] + expected = ["#f276a1", "#fcec94", "#aaffe5", "#ffbd7f", "#98f9dc"] + colors = [self.random_color.generate(luminosity="light") for _ in range(5)] assert colors == expected - expected = ['#070603', '#99a2a3', '#10a85c', '#3f4f0c', '#004f1c'] - colors = [self.random_color.generate(luminosity='random') for _ in range(5)] + expected = ["#070603", "#99a2a3", "#10a85c", "#3f4f0c", "#004f1c"] + colors = [self.random_color.generate(luminosity="random") for _ in range(5)] assert colors == expected def test_luminosity_invalid(self, num_samples): baseline_random_color = RandomColor(seed=self.seed) expected = [baseline_random_color.generate() for _ in range(num_samples)] - colors = [self.random_color.generate(luminosity='invalid_value') for _ in range(num_samples)] + colors = [self.random_color.generate(luminosity="invalid_value") for _ in range(num_samples)] assert colors == expected def test_bad_color_map(self): @@ -239,7 +230,7 @@ def test_bad_color_map(self): # If we remove 62 from the yellow range, calling the previous function should fail colormap = copy.deepcopy(self.random_color.colormap) - colormap['yellow']['hue_range'] = [47, 61] + colormap["yellow"]["hue_range"] = [(47, 61)] self.random_color.colormap = colormap with pytest.raises(ValueError): self.random_color.generate(hue=62) @@ -277,6 +268,38 @@ def test_safe_color_name(self, faker, num_samples): assert safe_color_name in FaIrColorProvider.safe_colors +class TestBgBg: + """Test bg_BG color provider methods""" + + def test_color_name(self, faker, num_samples): + for _ in range(num_samples): + color_name = faker.color_name() + assert isinstance(color_name, str) + assert color_name in BgBgColorProvider.all_colors.keys() + + def test_safe_color_name(self, faker, num_samples): + for _ in range(num_samples): + safe_color_name = faker.safe_color_name() + assert isinstance(safe_color_name, str) + assert safe_color_name in BgBgColorProvider.safe_colors + + +class TestElGr: + """Test el_GR color provider methods""" + + def test_color_name(self, faker, num_samples): + for _ in range(num_samples): + color_name = faker.color_name() + assert isinstance(color_name, str) + assert color_name in ElGrColorProvider.all_colors.keys() + + def test_safe_color_name(self, faker, num_samples): + for _ in range(num_samples): + safe_color_name = faker.safe_color_name() + assert isinstance(safe_color_name, str) + assert safe_color_name in ElGrColorProvider.safe_colors + + class TestEsEs: """Test es_ES color provider methods""" @@ -301,3 +324,19 @@ def test_safe_color_name(self, faker, num_samples): safe_color_name = faker.safe_color_name() assert isinstance(safe_color_name, str) assert safe_color_name in SkSkColorProvider.safe_colors + + +class TestHeIl: + """Test he_IL color provider methods""" + + def test_color_name(self, faker, num_samples): + for _ in range(num_samples): + color_name = faker.color_name() + assert isinstance(color_name, str) + assert color_name in HeILColorProvider.all_colors.keys() + + def test_safe_color_name(self, faker, num_samples): + for _ in range(num_samples): + safe_color_name = faker.safe_color_name() + assert isinstance(safe_color_name, str) + assert safe_color_name in HeILColorProvider.safe_colors diff --git a/tests/providers/test_company.py b/tests/providers/test_company.py index 0ba51c0670..b3ef48c14b 100644 --- a/tests/providers/test_company.py +++ b/tests/providers/test_company.py @@ -1,10 +1,12 @@ import re from datetime import datetime +from typing import Pattern from unittest.mock import patch import pytest +from faker.providers.company.el_GR import Provider as ElGrCompanyProvider from faker.providers.company.en_PH import Provider as EnPhCompanyProvider from faker.providers.company.fil_PH import Provider as FilPhCompanyProvider from faker.providers.company.hu_HU import Provider as HuHuCompanyProvider @@ -15,8 +17,11 @@ from faker.providers.company.pl_PL import Provider as PlPlCompanyProvider from faker.providers.company.pl_PL import company_vat_checksum, local_regon_checksum, regon_checksum from faker.providers.company.pt_BR import company_id_checksum +from faker.providers.company.ro_RO import Provider as RoRoCompanyProvider from faker.providers.company.ru_RU import Provider as RuRuCompanyProvider from faker.providers.company.ru_RU import calculate_checksum +from faker.providers.company.th_TH import Provider as ThThCompanyProvider +from faker.providers.company.tr_TR import Provider as TrTrCompanyProvider class TestFiFi: @@ -86,10 +91,7 @@ def test_company(self, faker, num_samples): company.startswith(prefix) or company.endswith(prefix) for prefix in JaJpCompanyProvider.company_prefixes ) - assert any( - category in company - for category in JaJpCompanyProvider.company_categories - ) + assert any(category in company for category in JaJpCompanyProvider.company_categories) class TestPtBr: @@ -102,12 +104,12 @@ def test_company_id_checksum(self): def test_company_id(self, faker, num_samples): for _ in range(num_samples): company_id = faker.company_id() - assert re.fullmatch(r'\d{14}', company_id) + assert re.fullmatch(r"\d{14}", company_id) def test_cnpj(self, faker, num_samples): for _ in range(num_samples): cnpj = faker.cnpj() - assert re.fullmatch(r'\d{2}\.\d{3}\.\d{3}/0001-\d{2}', cnpj) + assert re.fullmatch(r"\d{2}\.\d{3}\.\d{3}/0001-\d{2}", cnpj) class TestHuHu: @@ -138,7 +140,7 @@ def test_regon_checksum(self): def test_regon(self, faker, num_samples): for _ in range(num_samples): - assert re.fullmatch(r'\d{9}', faker.regon()) + assert re.fullmatch(r"\d{9}", faker.regon()) def test_local_regon_checksum(self): assert local_regon_checksum([1, 2, 3, 4, 5, 6, 7, 8, 5, 1, 2, 3, 4]) == 7 @@ -149,7 +151,7 @@ def test_local_regon_checksum(self): def test_local_regon(self, faker, num_samples): for _ in range(num_samples): - assert re.fullmatch(r'\d{14}', faker.local_regon()) + assert re.fullmatch(r"\d{14}", faker.local_regon()) def test_company_vat_checksum(self): assert company_vat_checksum([7, 7, 5, 7, 7, 7, 6, 0, 5]) == 9 @@ -160,7 +162,7 @@ def test_company_vat_checksum(self): def test_company_vat(self, faker, num_samples): for _ in range(num_samples): - assert re.fullmatch(r'\d{10}', faker.company_vat()) + assert re.fullmatch(r"\d{10}", faker.company_vat()) def test_company_prefix(self, faker, num_samples): for _ in range(num_samples): @@ -205,7 +207,7 @@ def setup_class(cls): cls.company_types = EnPhCompanyProvider.company_types cls.company_suffixes = EnPhCompanyProvider.company_suffixes.keys() cls.company_products = EnPhCompanyProvider.company_products - cls.national_corporation_pattern = re.compile(r'^National (.*?) Corporation of the Philippines$') + cls.national_corporation_pattern: Pattern = re.compile(r"^National (.*?) Corporation of the Philippines$") def test_random_company_noun_chain(self, faker, num_samples): for _ in range(num_samples): @@ -232,15 +234,13 @@ class TestFilPh(TestEnPh): def test_PH_random_good_service_adjective_chain(self, faker, num_samples): for _ in range(num_samples): - adjectives = faker.random_good_service_adjective_chain().split(' at ') - assert all( - adjective in FilPhCompanyProvider.good_service_adjectives - for adjective in adjectives - ) + adjectives = faker.random_good_service_adjective_chain().split(" at ") + assert all(adjective in FilPhCompanyProvider.good_service_adjectives for adjective in adjectives) class TestTlPh(TestFilPh): """Test tl_PH company provider methods""" + pass @@ -248,12 +248,12 @@ class TestRuRu: """Test ru_RU company provider methods""" def test_calculate_checksum_nine_digits(self): - assert calculate_checksum('164027304') == '7' - assert calculate_checksum('629082979') == '0' - assert calculate_checksum('0203184580') == '5' - assert calculate_checksum('1113145630') == '0' - assert calculate_checksum('70517081385') == '1' - assert calculate_checksum('60307390550') == '0' + assert calculate_checksum("164027304") == "7" + assert calculate_checksum("629082979") == "0" + assert calculate_checksum("0203184580") == "5" + assert calculate_checksum("1113145630") == "0" + assert calculate_checksum("70517081385") == "1" + assert calculate_checksum("60307390550") == "0" def test_businesses_inn(self, faker, num_samples): for _ in range(num_samples): @@ -273,7 +273,7 @@ def test_businesses_ogrn(self, faker, num_samples): for _ in range(num_samples): ogrn = faker.businesses_ogrn() assert len(ogrn) == 13 - assert ogrn[0] in ('1', '5') + assert ogrn[0] in ("1", "5") assert 1 <= int(ogrn[1:3]) <= max_year assert 1 <= int(ogrn[3:5]) <= 92 assert int(ogrn[:-1]) % 11 % 10 == int(ogrn[-1]) @@ -283,7 +283,7 @@ def test_individuals_ogrn(self, faker, num_samples): for _ in range(num_samples): ogrn = faker.individuals_ogrn() assert len(ogrn) == 15 - assert ogrn[0] == '3' + assert ogrn[0] == "3" assert 1 <= int(ogrn[1:3]) <= max_year assert 1 <= int(ogrn[3:5]) <= 92 assert int(ogrn[:-1]) % 13 % 10 == int(ogrn[-1]) @@ -294,7 +294,7 @@ def test_kpp(self, faker, num_samples): assert len(kpp) == 9 assert 1 <= int(kpp[0:2]) <= 92 assert int(kpp[2:4]) > 0 - assert kpp[4:6] in ('01', '43', '44', '45') + assert kpp[4:6] in ("01", "43", "44", "45") def test_company_prefix(self, faker, num_samples): for _ in range(num_samples): @@ -318,7 +318,7 @@ def test_catchphrase(self, faker, num_samples): for _ in range(num_samples): catchphrase = faker.catch_phrase() assert isinstance(catchphrase, str) - assert ' и ' in catchphrase + assert " и " in catchphrase def test_bs(self, faker, num_samples): for _ in range(num_samples): @@ -338,13 +338,16 @@ def test_company_vat(self, faker, num_samples): company_vat = faker.company_vat() assert self.vat_regex.match(company_vat) - @pytest.mark.parametrize("value, expected", ( - (100, "100"), - (101, "120"), - (102, "121"), - (103, "888"), - (104, "999"), - )) + @pytest.mark.parametrize( + "value, expected", + ( + (100, "100"), + (101, "120"), + (102, "121"), + (103, "888"), + (104, "999"), + ), + ) def test_company_vat_special_cases(self, faker, value, expected): # this test allows to get full code coverage for company_vat fixing the internal state of the random generator fake = ItItCompanyProvider(generator=faker) @@ -353,3 +356,78 @@ def test_company_vat_special_cases(self, faker, value, expected): company_vat = fake.company_vat() assert self.vat_regex.match(company_vat) assert company_vat[9:12] == expected + + +class TestThTh: + """Test th_TH company provider methods""" + + def test_company_prefix(self, faker, num_samples): + for _ in range(num_samples): + prefix = faker.company_prefix() + assert isinstance(prefix, str) + assert prefix in ThThCompanyProvider.company_prefixes + + def test_company_suffix(self, faker, num_samples): + for _ in range(num_samples): + suffix = faker.company_suffix() + assert isinstance(suffix, str) + assert suffix in ThThCompanyProvider.company_suffixes + + def test_company_limited_prefix(self, faker, num_samples): + for _ in range(num_samples): + prefix = faker.company_limited_prefix() + assert isinstance(prefix, str) + assert prefix in ThThCompanyProvider.company_limited_prefixes + + def test_company_limited_suffix(self, faker, num_samples): + for _ in range(num_samples): + suffix = faker.company_limited_suffix() + assert isinstance(suffix, str) + assert suffix in ThThCompanyProvider.company_limited_suffixes + + def test_nonprofit_prefix(self, faker, num_samples): + for _ in range(num_samples): + prefix = faker.nonprofit_prefix() + assert isinstance(prefix, str) + assert prefix in ThThCompanyProvider.nonprofit_prefixes + + def test_company(self, faker, num_samples): + for _ in range(num_samples): + company = faker.company() + assert isinstance(company, str) + + +class TestTrTr: + """Test tr_TR company provider methods""" + + def test_company_suffix(self, faker, num_samples): + for _ in range(num_samples): + suffix = faker.company_suffix() + assert isinstance(suffix, str) + assert suffix in TrTrCompanyProvider.company_suffixes + + def test_large_companies(self, faker, num_samples): + for _ in range(num_samples): + company = faker.large_company() + assert isinstance(company, str) + assert company in TrTrCompanyProvider.large_companies + + +class TestRoRo: + """Test ro_RO company provider methods""" + + def test_company_suffix(self, faker, num_samples): + for _ in range(num_samples): + suffix = faker.company_suffix() + assert isinstance(suffix, str) + assert suffix in RoRoCompanyProvider.company_suffixes + + +class TestElGr: + """Test el_GR company provider methods""" + + def test_company_suffix(self, faker, num_samples): + for _ in range(num_samples): + suffix = faker.company_suffix() + assert isinstance(suffix, str) + assert suffix in ElGrCompanyProvider.company_suffixes diff --git a/tests/providers/test_credit_card.py b/tests/providers/test_credit_card.py index 11b3df8309..6cd379345b 100644 --- a/tests/providers/test_credit_card.py +++ b/tests/providers/test_credit_card.py @@ -1,18 +1,21 @@ import re +from typing import Pattern + from faker.providers.bank.ru_RU import Provider as RuRuBankProvider from faker.providers.credit_card import Provider as CreditCardProvider class TestCreditCardProvider: """Test credit card provider methods""" - mastercard_pattern = re.compile( - r'(?:5[1-5][0-9]{2}|222[1-9]|22[3-9][0-9]|2[3-6][0-9]{2}|27[01][0-9]|2720)[0-9]{12}', + + mastercard_pattern: Pattern = re.compile( + r"(?:5[1-5][0-9]{2}|222[1-9]|22[3-9][0-9]|2[3-6][0-9]{2}|27[01][0-9]|2720)[0-9]{12}", ) - visa_pattern = re.compile(r'4[0-9]{12}([0-9]{3}){0,2}') - discover_pattern = re.compile(r'6(?:011|5[0-9]{2})[0-9]{12}') - diners_club_pattern = re.compile(r'3(?:0[0-5]|[68][0-9])[0-9]{11}') - jcb_pattern = re.compile(r'(?:2131|1800|35\d{3})\d{11}') + visa_pattern: Pattern = re.compile(r"4[0-9]{12}([0-9]{3}){0,2}") + discover_pattern: Pattern = re.compile(r"6(?:011|5[0-9]{2})[0-9]{12}") + diners_club_pattern: Pattern = re.compile(r"3(?:0[0-5]|[68][0-9])[0-9]{11}") + jcb_pattern: Pattern = re.compile(r"(?:2131|1800|35\d{3})\d{11}") def test_mastercard(self, faker, num_samples): provider = CreditCardProvider(faker) @@ -81,47 +84,71 @@ def test_jcb15(self, faker, num_samples): class TestRuRu: """Test ru_RU credit card provider methods""" - visa_pattern = re.compile(r'4[0-9]{15}') - mastercard_pattern = re.compile( - r'(?:5[1-5][0-9]{2}|222[1-9]|22[3-9][0-9]|2[3-6][0-9]{2}|27[01][0-9]|2720)[0-9]{12}', + + visa_pattern: Pattern = re.compile(r"4[0-9]{15}") + mastercard_pattern: Pattern = re.compile( + r"(?:5[1-5][0-9]{2}|222[1-9]|22[3-9][0-9]|2[3-6][0-9]{2}|27[01][0-9]|2720)[0-9]{12}", ) - mir_pattern = re.compile(r'220[0-4][0-9]{12}') - maestro_pattern = re.compile(r'(?:50|5[6-9]|6[0-9])[0-9]{14}') - amex_pattern = re.compile(r'3[4|7][0-9]{13}') - unionpay_pattern = re.compile(r'(?:62|81)[0-9]{14}') + mir_pattern: Pattern = re.compile(r"220[0-4][0-9]{12}") + maestro_pattern: Pattern = re.compile(r"(?:50|5[6-9]|6[0-9])[0-9]{14}") + amex_pattern: Pattern = re.compile(r"3[4|7][0-9]{13}") + unionpay_pattern: Pattern = re.compile(r"(?:62|81)[0-9]{14}") def test_visa(self, faker, num_samples): for _ in range(num_samples): - number = faker.credit_card_number('visa') + number = faker.credit_card_number("visa") assert self.visa_pattern.fullmatch(number) def test_mastercard(self, faker, num_samples): for _ in range(num_samples): - number = faker.credit_card_number('mastercard') + number = faker.credit_card_number("mastercard") assert self.mastercard_pattern.fullmatch(number) def test_mir(self, faker, num_samples): for _ in range(num_samples): - number = faker.credit_card_number('mir') + number = faker.credit_card_number("mir") assert self.mir_pattern.fullmatch(number) def test_maestro(self, faker, num_samples): for _ in range(num_samples): - number = faker.credit_card_number('maestro') + number = faker.credit_card_number("maestro") assert self.maestro_pattern.fullmatch(number) def test_amex(self, faker, num_samples): for _ in range(num_samples): - number = faker.credit_card_number('amex') + number = faker.credit_card_number("amex") assert self.amex_pattern.fullmatch(number) def test_unionpay(self, faker, num_samples): for _ in range(num_samples): - number = faker.credit_card_number('unionpay') + number = faker.credit_card_number("unionpay") assert self.unionpay_pattern.fullmatch(number) def test_credit_card_full(self, faker, num_samples): for _ in range(num_samples): - card_data = faker.credit_card_full().split('\n') - assert re.match('[A-Za-z]+', card_data[1]) + card_data = faker.credit_card_full().split("\n") + assert re.match("[A-Za-z]+", card_data[1]) assert card_data[4] in RuRuBankProvider.banks + + +class TestPtPt: + """Test pt_PT credit card provider methods""" + + visa_pattern: Pattern = re.compile(r"4[0-9]{15}") + mastercard_pattern: Pattern = re.compile(r"5[1-5][0-9]{14}") + maestro_pattern: Pattern = re.compile(r"(50|67)[0-9]{14}") + + def test_visa(self, faker, num_samples): + for _ in range(num_samples): + number = faker.credit_card_number("visa") + assert self.visa_pattern.fullmatch(number) + + def test_mastercard(self, faker, num_samples): + for _ in range(num_samples): + number = faker.credit_card_number("mastercard") + assert self.mastercard_pattern.fullmatch(number) + + def test_maestro(self, faker, num_samples): + for _ in range(num_samples): + number = faker.credit_card_number("maestro") + assert self.maestro_pattern.fullmatch(number) diff --git a/tests/providers/test_currency.py b/tests/providers/test_currency.py index d88231693c..7bbb3e4119 100644 --- a/tests/providers/test_currency.py +++ b/tests/providers/test_currency.py @@ -5,11 +5,13 @@ class TestCurrencyProvider: """Test currency provider methods""" + num_samples = 100 @classmethod def setup_class(cls): from faker.providers.currency import Provider as CurrencyProvider + cls.provider = CurrencyProvider cls.currencies = cls.provider.currencies cls.cryptocurrencies = cls.provider.cryptocurrencies @@ -38,15 +40,15 @@ def test_currency_symbol_no_code_supplied(self, faker, num_samples): assert isinstance(symbol, str) assert symbol in self.provider.currency_symbols.values() - @patch('faker.providers.currency.Provider.random_element') + @patch("faker.providers.currency.Provider.random_element") def test_currency_symbol_with_valid_code(self, mock_random_element, faker): - symbol = faker.currency_symbol(code='USD') - assert symbol == '$' + symbol = faker.currency_symbol(code="USD") + assert symbol == "$" mock_random_element.assert_not_called() - @patch('faker.providers.currency.Provider.random_element') + @patch("faker.providers.currency.Provider.random_element") def test_currency_symbol_with_invalid_code(self, mock_random_element, faker): - invalid_code = 'FTW' + invalid_code = "FTW" with pytest.raises(KeyError): faker.currency_symbol(code=invalid_code) mock_random_element.assert_not_called() @@ -67,14 +69,21 @@ def test_cryptocurrency_name(self, faker, num_samples): name = faker.cryptocurrency_name() assert isinstance(name, str) and name in self.cryptocurrency_names + def test_pricetag(self, faker, num_samples): + for _ in range(num_samples): + pricetag = faker.pricetag() + assert isinstance(pricetag, str) + class TestRuRu: """Test ru_RU currency provider""" + num_samples = 100 @classmethod def setup_class(cls): from faker.providers.currency.ru_RU import Provider as RuRuCurrencyProvider + cls.provider = RuRuCurrencyProvider cls.currencies = cls.provider.currencies cls.currency_codes, cls.currency_names = tuple(zip(*cls.currencies)) @@ -89,14 +98,106 @@ def test_currency_name(self, faker, num_samples): name = faker.currency_name() assert isinstance(name, str) and name in self.currency_names + def test_pricetag(self, faker, num_samples): + for _ in range(num_samples): + pricetag = faker.pricetag() + assert isinstance(pricetag, str) + + +class TestCsCz: + """Test cs_CZ currency provider""" + + num_samples = 100 + + @classmethod + def setup_class(cls): + from faker.providers.currency.cs_CZ import Provider as CsCzCurrencyProvider + + cls.provider = CsCzCurrencyProvider + + def test_pricetag(self, faker, num_samples): + for _ in range(num_samples): + pricetag = faker.pricetag() + assert isinstance(pricetag, str) + + +class TestDeAt: + """Test de_AT currency provider""" + + num_samples = 100 + + @classmethod + def setup_class(cls): + from faker.providers.currency.de_AT import Provider as DeAtCurrencyProvider + + cls.provider = DeAtCurrencyProvider + + def test_pricetag(self, faker, num_samples): + for _ in range(num_samples): + pricetag = faker.pricetag() + assert isinstance(pricetag, str) + + +class TestDeDe: + """Test de_DE currency provider""" + + num_samples = 100 + + @classmethod + def setup_class(cls): + from faker.providers.currency.de_DE import Provider as DeDeCurrencyProvider + + cls.provider = DeDeCurrencyProvider + + def test_pricetag(self, faker, num_samples): + for _ in range(num_samples): + pricetag = faker.pricetag() + assert isinstance(pricetag, str) + + +class TestEnAu: + """Test en_AU currency provider""" + + num_samples = 100 + + @classmethod + def setup_class(cls): + from faker.providers.currency.en_AU import Provider as EnAuCurrencyProvider + + cls.provider = EnAuCurrencyProvider + + def test_pricetag(self, faker, num_samples): + for _ in range(num_samples): + pricetag = faker.pricetag() + assert isinstance(pricetag, str) + + +class TestEnCa: + """Test en_CA currency provider""" + + num_samples = 100 + + @classmethod + def setup_class(cls): + from faker.providers.currency.en_CA import Provider as EnCaCurrencyProvider + + cls.provider = EnCaCurrencyProvider + + def test_pricetag(self, faker, num_samples): + for _ in range(num_samples): + pricetag = faker.pricetag() + assert isinstance(pricetag, str) + class TestEsEs: """Test es_ES currency provider""" + num_samples = 100 @classmethod def setup_class(cls): from faker.providers.currency.es_ES import Provider as EsEsCurrencyProvider + cls.provider = EsEsCurrencyProvider cls.currencies = cls.provider.currencies cls.currency_codes, cls.currency_names = tuple(zip(*cls.currencies)) @@ -110,3 +211,209 @@ def test_currency_name(self, faker, num_samples): for _ in range(num_samples): name = faker.currency_name() assert name in self.currency_names + + def test_pricetag(self, faker, num_samples): + for _ in range(num_samples): + pricetag = faker.pricetag() + assert isinstance(pricetag, str) + + +class TestFrCa: + """Test fr_CA currency provider""" + + num_samples = 100 + + @classmethod + def setup_class(cls): + from faker.providers.currency.fr_CA import Provider as FrCaCurrencyProvider + + cls.provider = FrCaCurrencyProvider + + def test_pricetag(self, faker, num_samples): + for _ in range(num_samples): + pricetag = faker.pricetag() + assert isinstance(pricetag, str) + + +class TestFrFr: + """Test fr_FR currency provider""" + + num_samples = 100 + + @classmethod + def setup_class(cls): + from faker.providers.currency.fr_FR import Provider as FrFrCurrencyProvider + + cls.provider = FrFrCurrencyProvider + + def test_pricetag(self, faker, num_samples): + for _ in range(num_samples): + pricetag = faker.pricetag() + assert isinstance(pricetag, str) + + +class TestItIt: + """Test it_IT currency provider""" + + num_samples = 100 + + @classmethod + def setup_class(cls): + from faker.providers.currency.it_IT import Provider as ItItCurrencyProvider + + cls.provider = ItItCurrencyProvider + + def test_pricetag(self, faker, num_samples): + for _ in range(num_samples): + pricetag = faker.pricetag() + assert isinstance(pricetag, str) + + +class TestPlPl: + """Test pl_PL currency provider""" + + num_samples = 100 + + @classmethod + def setup_class(cls): + from faker.providers.currency.pl_PL import Provider as PlPlCurrencyProvider + + cls.provider = PlPlCurrencyProvider + + def test_pricetag(self, faker, num_samples): + for _ in range(num_samples): + pricetag = faker.pricetag() + assert isinstance(pricetag, str) + + +class TestSkSk: + """Test sk_SK currency provider""" + + num_samples = 100 + + @classmethod + def setup_class(cls): + from faker.providers.currency.sk_SK import Provider as SkSkCurrencyProvider + + cls.provider = SkSkCurrencyProvider + + def test_pricetag(self, faker, num_samples): + for _ in range(num_samples): + pricetag = faker.pricetag() + assert isinstance(pricetag, str) + + +class TestSvSe: + """Test sv_SE currency provider""" + + num_samples = 100 + + @classmethod + def setup_class(cls): + from faker.providers.currency.sv_SE import Provider as SvSeCurrencyProvider + + cls.provider = SvSeCurrencyProvider + cls.currencies = cls.provider.currencies + cls.currency_codes, cls.currency_names = tuple(zip(*cls.currencies)) + + def test_currency(self, faker, num_samples): + for _ in range(num_samples): + cur = faker.currency() + assert cur in self.currencies + + def test_currency_name(self, faker, num_samples): + for _ in range(num_samples): + name = faker.currency_name() + assert name in self.currency_names + + +class TestThTh: + """Test th_TH currency provider""" + + num_samples = 100 + + @classmethod + def setup_class(cls): + from faker.providers.currency.th_TH import Provider as ThThCurrencyProvider + + cls.provider = ThThCurrencyProvider + cls.currencies = cls.provider.currencies + cls.currency_codes, cls.currency_names = tuple(zip(*cls.currencies)) + + def test_currency(self, faker, num_samples): + for _ in range(num_samples): + cur = faker.currency() + assert cur in self.currencies + + def test_currency_name(self, faker, num_samples): + for _ in range(num_samples): + name = faker.currency_name() + assert name in self.currency_names + + +class TestRoRo: + """Test ro_RO currency provider""" + + num_samples = 100 + + @classmethod + def setup_class(cls): + from faker.providers.currency.ro_RO import Provider as RoRoCurrencyProvider + + cls.provider = RoRoCurrencyProvider + + def test_pricetag(self, faker, num_samples): + for _ in range(num_samples): + pricetag = faker.pricetag() + assert isinstance(pricetag, str) + + +class TestPtBr: + """Test pt_BR currency provider""" + + num_samples = 100 + + @classmethod + def setup_class(cls): + from faker.providers.currency.pt_BR import Provider as PtBrCurrencyProvider + + cls.provider = PtBrCurrencyProvider + + def test_pricetag(self, faker, num_samples): + for _ in range(num_samples): + pricetag = faker.pricetag() + assert isinstance(pricetag, str) + + +class TestNlNl: + """Test nl_NL currency provider""" + + num_samples = 100 + + @classmethod + def setup_class(cls): + from faker.providers.currency.nl_NL import Provider as NlCurrencyProvider + + cls.provider = NlCurrencyProvider + + def test_pricetag(self, faker, num_samples): + for _ in range(num_samples): + pricetag = faker.pricetag() + assert isinstance(pricetag, str) + + +class TestElGr: + """Test nl_NL currency provider""" + + num_samples = 100 + + @classmethod + def setup_class(cls): + from faker.providers.currency.el_GR import Provider as ElGrCurrencyProvider + + cls.provider = ElGrCurrencyProvider + + def test_pricetag(self, faker, num_samples): + for _ in range(num_samples): + pricetag = faker.pricetag() + assert isinstance(pricetag, str) diff --git a/tests/providers/test_date_time.py b/tests/providers/test_date_time.py index 98f330761c..91cc0727d4 100644 --- a/tests/providers/test_date_time.py +++ b/tests/providers/test_date_time.py @@ -18,13 +18,19 @@ from faker.providers.date_time import change_year from faker.providers.date_time.ar_AA import Provider as ArProvider from faker.providers.date_time.ar_EG import Provider as EgProvider +from faker.providers.date_time.bn_BD import Provider as BnBdProvider from faker.providers.date_time.cs_CZ import Provider as CsCzProvider from faker.providers.date_time.de_AT import Provider as DeAtProvider from faker.providers.date_time.de_DE import Provider as DeDeProvider +from faker.providers.date_time.el_GR import Provider as ElGrProvider from faker.providers.date_time.es_ES import Provider as EsEsProvider from faker.providers.date_time.hy_AM import Provider as HyAmProvider from faker.providers.date_time.it_IT import Provider as ItItProvider +from faker.providers.date_time.nl_NL import Provider as NlProvider from faker.providers.date_time.pl_PL import Provider as PlProvider +from faker.providers.date_time.pt_BR import Provider as PtBrProvider +from faker.providers.date_time.pt_PT import Provider as PtPtProvider +from faker.providers.date_time.ro_RO import Provider as RoRoProvider from faker.providers.date_time.ru_RU import Provider as RuProvider from faker.providers.date_time.sk_SK import Provider as SkSkProvider from faker.providers.date_time.ta_IN import Provider as TaInProvider @@ -32,7 +38,7 @@ def is64bit(): - return sys.maxsize > 2**32 + return sys.maxsize > 2 ** 32 class UTC(tzinfo): @@ -57,9 +63,8 @@ def dst(self, dt): class TestKoKR(unittest.TestCase): - def setUp(self): - self.fake = Faker('ko_KR') + self.fake = Faker("ko_KR") Faker.seed(0) def test_day(self): @@ -72,7 +77,6 @@ def test_month(self): class TestDateTime(unittest.TestCase): - def setUp(self): self.fake = Faker() Faker.seed(0) @@ -81,6 +85,12 @@ def assertBetween(self, date, start_date, end_date): assert date <= end_date assert date >= start_date + def test_date(self): + date_format = "%Y-%m-%d" + date_string = self.fake.date(pattern=date_format) + assert isinstance(date_string, str) + assert isinstance(datetime.strptime(date_string, date_format), datetime) + def test_day(self): day = self.fake.day_of_week() assert isinstance(day, str) @@ -106,23 +116,21 @@ def test_future_date(self): assert future_date > date.today() def test_parse_date_time(self): - timestamp = DatetimeProvider._parse_date_time('+30d') - now = DatetimeProvider._parse_date_time('now') + timestamp = DatetimeProvider._parse_date_time("+30d") + now = DatetimeProvider._parse_date_time("now") assert timestamp > now delta = timedelta(days=30) from_delta = DatetimeProvider._parse_date_time(delta) from_int = DatetimeProvider._parse_date_time(30) - assert datetime.fromtimestamp(from_delta).date() == ( - datetime.fromtimestamp(timestamp).date()) + assert datetime.fromtimestamp(from_delta).date() == (datetime.fromtimestamp(timestamp).date()) - assert datetime.fromtimestamp(from_int).date() == ( - datetime.fromtimestamp(timestamp).date()) + assert datetime.fromtimestamp(from_int).date() == (datetime.fromtimestamp(timestamp).date()) def test_parse_date(self): - parsed = DatetimeProvider._parse_date('+30d') - now = DatetimeProvider._parse_date('now') - today = DatetimeProvider._parse_date('today') + parsed = DatetimeProvider._parse_date("+30d") + now = DatetimeProvider._parse_date("now") + today = DatetimeProvider._parse_date("today") assert isinstance(parsed, date) assert isinstance(now, date) assert isinstance(today, date) @@ -149,6 +157,7 @@ def test_timezone_conversion(self): def test_pytimezone(self): import dateutil + pytz = self.fake.pytimezone() assert isinstance(pytz, dateutil.tz.tz.tzfile) @@ -164,8 +173,8 @@ def test_datetimes_with_and_without_tzinfo(self): assert self.fake.date_time_ad().tzinfo is None assert self.fake.date_time_ad(utc).tzinfo == utc - assert not self.fake.iso8601().endswith('+00:00') - assert self.fake.iso8601(utc).endswith('+00:00') + assert not self.fake.iso8601().endswith("+00:00") + assert self.fake.iso8601(utc).endswith("+00:00") def test_date_object(self): assert isinstance(self.fake.date_object(), date) @@ -180,13 +189,13 @@ def test_timedelta(self): delta = self.fake.time_delta(end_datetime=timedelta(seconds=-60)) assert delta.seconds >= -60 - delta = self.fake.time_delta(end_datetime='+60s') + delta = self.fake.time_delta(end_datetime="+60s") assert delta.seconds <= 60 - delta = self.fake.time_delta(end_datetime='-60s') + delta = self.fake.time_delta(end_datetime="-60s") assert delta.seconds >= 60 - delta = self.fake.time_delta(end_datetime='now') + delta = self.fake.time_delta(end_datetime="now") assert delta.seconds <= 0 def test_date_time_between_dates(self): @@ -217,7 +226,7 @@ def test_date_time_between_dates_with_tzinfo(self): def test_past_datetime_within_second(self): # Should not raise a ``ValueError`` - self.fake.past_datetime(start_date='+1s') + self.fake.past_datetime(start_date="+1s") def test_date_between_dates(self): date_end = date.today() @@ -227,6 +236,10 @@ def test_date_between_dates(self): assert date_start <= random_date assert date_end >= random_date + def test_date_time_between_long_past_dates(self): + random_date = self.fake.date_between("-100y", "-50y") + assert random_date + def _datetime_to_time(self, value): return int(time.mktime(value.timetuple())) @@ -237,17 +250,15 @@ def test_date_time_this_period(self): datetime(datetime.now().year - (datetime.now().year % 100), 1, 1), ) - assert ( - self._datetime_to_time(self.fake.date_time_this_century(after_now=False)) <= - self._datetime_to_time(datetime.now()) - ) - assert ( - self._datetime_to_time(self.fake.date_time_this_century(before_now=False, after_now=True)) >= - self._datetime_to_time(datetime.now()) + assert self._datetime_to_time(self.fake.date_time_this_century(after_now=False)) <= self._datetime_to_time( + datetime.now() ) + assert self._datetime_to_time( + self.fake.date_time_this_century(before_now=False, after_now=True) + ) >= self._datetime_to_time(datetime.now()) assert ( - self._datetime_to_time(self.fake.date_time_this_century(before_now=True, after_now=True)) >= - this_century_start + self._datetime_to_time(self.fake.date_time_this_century(before_now=True, after_now=True)) + >= this_century_start ) # test decade @@ -255,48 +266,39 @@ def test_date_time_this_period(self): datetime(datetime.now().year - (datetime.now().year % 10), 1, 1), ) - assert ( - self._datetime_to_time(self.fake.date_time_this_decade(after_now=False)) <= - self._datetime_to_time(datetime.now()) + assert self._datetime_to_time(self.fake.date_time_this_decade(after_now=False)) <= self._datetime_to_time( + datetime.now() ) + assert self._datetime_to_time( + self.fake.date_time_this_decade(before_now=False, after_now=True) + ) >= self._datetime_to_time(datetime.now()) + assert self._datetime_to_time( + self.fake.date_time_this_decade(before_now=False, after_now=False) + ) == self._datetime_to_time(datetime.now()) assert ( - self._datetime_to_time(self.fake.date_time_this_decade(before_now=False, after_now=True)) >= - self._datetime_to_time(datetime.now()) - ) - assert ( - self._datetime_to_time(self.fake.date_time_this_decade(before_now=False, after_now=False)) == - self._datetime_to_time(datetime.now()) - ) - assert ( - self._datetime_to_time(self.fake.date_time_this_decade(before_now=True, after_now=True)) >= - this_decade_start + self._datetime_to_time(self.fake.date_time_this_decade(before_now=True, after_now=True)) + >= this_decade_start ) # test year - assert ( - self._datetime_to_time(self.fake.date_time_this_year(after_now=False)) <= - self._datetime_to_time(datetime.now()) - ) - assert ( - self._datetime_to_time(self.fake.date_time_this_year(before_now=False, after_now=True)) >= - self._datetime_to_time(datetime.now()) - ) - assert ( - self._datetime_to_time(self.fake.date_time_this_year(before_now=False, after_now=False)) == - self._datetime_to_time(datetime.now()) + assert self._datetime_to_time(self.fake.date_time_this_year(after_now=False)) <= self._datetime_to_time( + datetime.now() ) + assert self._datetime_to_time( + self.fake.date_time_this_year(before_now=False, after_now=True) + ) >= self._datetime_to_time(datetime.now()) + assert self._datetime_to_time( + self.fake.date_time_this_year(before_now=False, after_now=False) + ) == self._datetime_to_time(datetime.now()) # test month - assert ( - self._datetime_to_time(self.fake.date_time_this_month(after_now=False)) <= - self._datetime_to_time(datetime.now()) - ) - assert ( - self._datetime_to_time(self.fake.date_time_this_month(before_now=False, after_now=True)) >= - self._datetime_to_time(datetime.now()) - ) - assert ( - self._datetime_to_time(self.fake.date_time_this_month(before_now=False, after_now=False)) == - self._datetime_to_time(datetime.now()) + assert self._datetime_to_time(self.fake.date_time_this_month(after_now=False)) <= self._datetime_to_time( + datetime.now() ) + assert self._datetime_to_time( + self.fake.date_time_this_month(before_now=False, after_now=True) + ) >= self._datetime_to_time(datetime.now()) + assert self._datetime_to_time( + self.fake.date_time_this_month(before_now=False, after_now=False) + ) == self._datetime_to_time(datetime.now()) @unittest.skipUnless(is64bit(), "requires 64bit") def test_date_time_this_period_with_tzinfo(self): @@ -313,63 +315,80 @@ def test_date_time_this_period_with_tzinfo(self): # test century assert self.fake.date_time_this_century(after_now=False, tzinfo=utc) <= datetime.now(utc) assert self.fake.date_time_this_century(before_now=False, after_now=True, tzinfo=utc) >= datetime.now(utc) + assert self.fake.date_time_this_century(before_now=False, after_now=False, tzinfo=utc).replace( + second=0, microsecond=0 + ) == datetime.now(utc).replace(second=0, microsecond=0) # test decade assert self.fake.date_time_this_decade(after_now=False, tzinfo=utc) <= datetime.now(utc) assert self.fake.date_time_this_decade(before_now=False, after_now=True, tzinfo=utc) >= datetime.now(utc) - assert ( - self.fake.date_time_this_decade(before_now=False, after_now=False, tzinfo=utc). - replace(second=0, microsecond=0) == datetime.now(utc).replace(second=0, microsecond=0) - ) + assert self.fake.date_time_this_decade(before_now=False, after_now=False, tzinfo=utc).replace( + second=0, microsecond=0 + ) == datetime.now(utc).replace(second=0, microsecond=0) # test year assert self.fake.date_time_this_year(after_now=False, tzinfo=utc) <= datetime.now(utc) assert self.fake.date_time_this_year(before_now=False, after_now=True, tzinfo=utc) >= datetime.now(utc) - assert ( - self.fake.date_time_this_year(before_now=False, after_now=False, tzinfo=utc). - replace(second=0, microsecond=0) == datetime.now(utc).replace(second=0, microsecond=0) - ) + assert self.fake.date_time_this_year(before_now=False, after_now=False, tzinfo=utc).replace( + second=0, microsecond=0 + ) == datetime.now(utc).replace(second=0, microsecond=0) + assert self.fake.date_time_this_year(before_now=True, after_now=True, tzinfo=utc).year == datetime.now(utc).year # test month assert self.fake.date_time_this_month(after_now=False, tzinfo=utc) <= datetime.now(utc) assert self.fake.date_time_this_month(before_now=False, after_now=True, tzinfo=utc) >= datetime.now(utc) + assert self.fake.date_time_this_month(before_now=False, after_now=False, tzinfo=utc).replace( + second=0, microsecond=0 + ) == datetime.now(utc).replace(second=0, microsecond=0) assert ( - self.fake.date_time_this_month(before_now=False, after_now=False, tzinfo=utc). - replace(second=0, microsecond=0) == datetime.now(utc).replace(second=0, microsecond=0) + self.fake.date_time_this_month(before_now=True, after_now=True, tzinfo=utc).month == datetime.now(utc).month + ) and ( + self.fake.date_time_this_month(before_now=True, after_now=True, tzinfo=utc).year == datetime.now(utc).year ) @unittest.skipUnless(is64bit(), "requires 64bit") def test_date_this_period(self): # test century + assert ( + self.fake.date_this_century(before_today=True, after_today=True).strftime("%G")[:2] + == datetime.now().strftime("%G")[:2] + ) assert self.fake.date_this_century(after_today=False) <= date.today() assert self.fake.date_this_century(before_today=False, after_today=True) >= date.today() + assert self.fake.date_this_century(before_today=False, after_today=False) == date.today() # test decade - assert self.fake.date_this_decade(after_today=False) <= date.today() - assert self.fake.date_this_decade(before_today=False, after_today=True) >= date.today() assert ( - self.fake.date_this_decade(before_today=False, after_today=False)) == ( - date.today() + self.fake.date_this_decade(before_today=True, after_today=True).strftime("%G")[:3] + == datetime.now().strftime("%G")[:3] ) + assert self.fake.date_this_decade(after_today=False) <= date.today() + assert self.fake.date_this_decade(before_today=False, after_today=True) >= date.today() + assert self.fake.date_this_decade(before_today=False, after_today=False) == date.today() # test year + assert self.fake.date_this_year(before_today=True, after_today=True).year == datetime.now().year assert self.fake.date_this_year(after_today=False) <= date.today() assert self.fake.date_this_year(before_today=False, after_today=True) >= date.today() - assert ( - self.fake.date_this_year(before_today=False, after_today=False)) == ( - date.today() - ) + assert self.fake.date_this_year(before_today=False, after_today=False) == date.today() # test month + assert (self.fake.date_this_month(before_today=True, after_today=True).month == datetime.now().month) and ( + self.fake.date_this_month(before_today=True, after_today=True).year == datetime.now().year + ) assert self.fake.date_this_month(after_today=False) <= date.today() assert self.fake.date_this_month(before_today=False, after_today=True) >= date.today() - assert ( - self.fake.date_this_month(before_today=False, after_today=False)) == ( - date.today() - ) + assert self.fake.date_this_month(before_today=False, after_today=False) == date.today() def test_date_time_between(self): now = datetime.now() _30_years_ago = change_year(now, -30) _20_years_ago = change_year(now, -20) - random_datetime = self.fake.date_time_between(start_date='-30y', end_date='-20y') + random_datetime = self.fake.date_time_between(start_date="-30y", end_date="-20y") + assert isinstance(random_datetime, datetime) + self.assertBetween(random_datetime, _30_years_ago, _20_years_ago) + now = datetime.now(tz=utc) + _30_years_ago = change_year(now, -30) + _20_years_ago = change_year(now, -20) + + random_datetime = self.fake.date_time_between(start_date="-30y", end_date="-20y", tzinfo=utc) assert isinstance(random_datetime, datetime) self.assertBetween(random_datetime, _30_years_ago, _20_years_ago) @@ -378,17 +397,17 @@ def test_date_between(self): _30_years_ago = change_year(today, -30) _20_years_ago = change_year(today, -20) - random_date = self.fake.date_between(start_date='-30y', end_date='-20y') + random_date = self.fake.date_between(start_date="-30y", end_date="-20y") assert isinstance(random_date, date) self.assertBetween(random_date, _30_years_ago, _20_years_ago) def test_date_between_months(self): today = date.today() - _2_months_ago = today - timedelta(days=2 * (365.24/12)) - _9_months_ago = today - timedelta(days=9 * (365.24/12)) + _2_months_ago = today - timedelta(days=2 * (365.24 / 12)) + _9_months_ago = today - timedelta(days=9 * (365.24 / 12)) - random_date = self.fake.date_between(start_date='-9M', end_date='-2M') + random_date = self.fake.date_between(start_date="-9M", end_date="-2M") assert isinstance(random_date, date) self.assertBetween(random_date, _9_months_ago, _2_months_ago) @@ -398,16 +417,16 @@ def test_parse_timedelta(self): td = timedelta(days=7) seconds = Provider._parse_timedelta(td) - assert seconds == 604800.0 + assert seconds == 604800 - seconds = Provider._parse_timedelta('+1w') - assert seconds == 604800.0 + seconds = Provider._parse_timedelta("+1w") + assert seconds == 604800 - seconds = Provider._parse_timedelta('+1y') - assert seconds == 31556736.0 + seconds = Provider._parse_timedelta("+1y") + assert seconds == 31556736 with pytest.raises(ValueError): - Provider._parse_timedelta('foobar') + Provider._parse_timedelta("foobar") def test_time_series(self): series = list(self.fake.time_series()) @@ -415,24 +434,24 @@ def test_time_series(self): assert series[1][0] - series[0][0], timedelta(days=1) uniform = lambda dt: random.uniform(0, 5) # noqa - series = list(self.fake.time_series('now', '+1w', '+1d', uniform)) + series = list(self.fake.time_series("now", "+1w", "+1d", uniform)) assert len(series), 7 assert series[1][0] - series[0][0], timedelta(days=1) end = datetime.now() + timedelta(days=7) - series = list(self.fake.time_series('now', end, '+1d', uniform)) + series = list(self.fake.time_series("now", end, "+1d", uniform)) assert len(series), 7 assert series[1][0] - series[0][0], timedelta(days=1) assert series[-1][0] <= end with pytest.raises(ValueError): - list(self.fake.time_series('+1w', 'now', '+1d', uniform)) + list(self.fake.time_series("+1w", "now", "+1d", uniform)) with pytest.raises(ValueError): - list(self.fake.time_series('now', '+1w', '+1d', 'uniform')) + list(self.fake.time_series("now", "+1w", "+1d", "uniform")) - series = list(self.fake.time_series('now', end, '+1d', uniform, tzinfo=utc)) + series = list(self.fake.time_series("now", end, "+1d", uniform, tzinfo=utc)) assert len(series), 7 assert series[1][0] - series[0][0], timedelta(days=1) @@ -464,12 +483,16 @@ def test_unix_time(self): ) # Ensure relative unix_times partially-constrained by a start time are generated correctly - one_day_ago = datetime.today()-timedelta(days=1) + one_day_ago = datetime.today() - timedelta(days=1) recent_unix_time = self.fake.unix_time(start_datetime=one_day_ago) self.assertIsInstance(recent_unix_time, int) - self.assertBetween(recent_unix_time, datetime_to_timestamp(one_day_ago), datetime_to_timestamp(now)) + self.assertBetween( + recent_unix_time, + datetime_to_timestamp(one_day_ago), + datetime_to_timestamp(now), + ) # Ensure relative unix_times partially-constrained by an end time are generated correctly one_day_after_epoch_start = datetime(1970, 1, 2, tzinfo=utc) @@ -490,12 +513,12 @@ def test_unix_time(self): self.assertBetween(constrained_unix_time, 0, datetime_to_timestamp(now)) # Ensure it does not throw error with startdate='now' for machines with negative offset - if platform.system() != 'Windows': - os.environ['TZ'] = 'Europe/Paris' + if platform.system() != "Windows": + os.environ["TZ"] = "Europe/Paris" time.tzset() - self.fake.unix_time(start_datetime='now') - if platform.system() != 'Windows': - del os.environ['TZ'] + self.fake.unix_time(start_datetime="now") + if platform.system() != "Windows": + del os.environ["TZ"] def test_change_year(self): _2020_06_01 = datetime.strptime("2020-06-01", "%Y-%m-%d") @@ -513,9 +536,8 @@ def test_change_year(self): class TestDeDe(unittest.TestCase): - def setUp(self): - self.fake = Faker('de_DE') + self.fake = Faker("de_DE") Faker.seed(0) def test_day(self): @@ -528,9 +550,8 @@ def test_month(self): class TestPlPL(unittest.TestCase): - def setUp(self): - self.fake = Faker('pl_PL') + self.fake = Faker("pl_PL") Faker.seed(0) def test_day(self): @@ -543,10 +564,10 @@ def test_month(self): class TestHyAm(unittest.TestCase): - """ Tests date_time in the hy_AM locale """ + """Tests date_time in the hy_AM locale""" def setUp(self): - self.fake = Faker('hy_AM') + self.fake = Faker("hy_AM") Faker.seed(0) def test_day(self): @@ -562,7 +583,7 @@ def test_month(self): class TestAr(unittest.TestCase): def test_ar_aa(self): - fake = Faker('ar') + fake = Faker("ar") Faker.seed(0) # AM/PM @@ -570,18 +591,12 @@ def test_ar_aa(self): # Day of week assert fake.century() in ArProvider.centuries # Month name - assert ( - fake.month_name()) in ( - ArProvider.MONTH_NAMES.values() - ) + assert (fake.month_name()) in (ArProvider.MONTH_NAMES.values()) # Day of week - assert ( - fake.day_of_week()) in ( - ArProvider.DAY_NAMES.values() - ) + assert (fake.day_of_week()) in (ArProvider.DAY_NAMES.values()) def test_ar_eg(self): - fake = Faker('ar_EG') + fake = Faker("ar_EG") Faker.seed(0) # AM/PM @@ -589,20 +604,11 @@ def test_ar_eg(self): # Day of week assert fake.century() in ArProvider.centuries # Day of week - assert ( - fake.day_of_week()) in ( - ArProvider.DAY_NAMES.values() - ) + assert (fake.day_of_week()) in (ArProvider.DAY_NAMES.values()) # Month name - assert ( - fake.month_name()) in ( - EgProvider.MONTH_NAMES.values() - ) + assert (fake.month_name()) in (EgProvider.MONTH_NAMES.values()) # Month name - assert ( - fake.month_name()) not in ( - ArProvider.MONTH_NAMES.values() - ) + assert (fake.month_name()) not in (ArProvider.MONTH_NAMES.values()) class DatesOfBirth(unittest.TestCase): @@ -618,7 +624,7 @@ def test_date_of_birth(self): dob = self.fake.date_of_birth() assert isinstance(dob, date) - @freezegun.freeze_time('2020-02-29') + @freezegun.freeze_time("2020-02-29") def test_date_of_birth_on_leap_day(self): """ Freeze the date to a leap day to verify that the date_of_birth method does not @@ -645,7 +651,7 @@ def test_type_errors(self): self.fake.date_of_birth(minimum_age=0.5) with self.assertRaises(TypeError): - self.fake.date_of_birth(maximum_age='hello') + self.fake.date_of_birth(maximum_age="hello") def test_bad_age_range(self): with self.assertRaises(ValueError): @@ -705,42 +711,42 @@ def test_distant_age_range(self): class TestFilPh(unittest.TestCase): - num_sample_runs = 1000 + num_sample_runs = 50 def setUp(self): self.setup_constants() self.setup_faker() def setup_faker(self): - self.fake = Faker('fil_PH') + self.fake = Faker("fil_PH") Faker.seed(0) def setup_constants(self): from faker.providers.date_time.fil_PH import Provider + self.day_names = Provider.DAY_NAMES.values() self.month_names = Provider.MONTH_NAMES.values() def test_PH_of_week(self): - for i in range(self.num_sample_runs): + for _ in range(self.num_sample_runs): assert self.fake.day_of_week() in self.day_names def test_PH_month_name(self): - for i in range(self.num_sample_runs): + for _ in range(self.num_sample_runs): assert self.fake.month_name() in self.month_names class TestTlPh(TestFilPh): - def setup_faker(self): - self.fake = Faker('tl_PH') + self.fake = Faker("tl_PH") Faker.seed(0) class TestTaIN(unittest.TestCase): - """ Tests date_time in the ta_IN locale """ + """Tests date_time in the ta_IN locale""" def setUp(self): - self.fake = Faker('ta_IN') + self.fake = Faker("ta_IN") Faker.seed(0) def test_day(self): @@ -755,10 +761,10 @@ def test_month(self): class TestRuRu(unittest.TestCase): - """ Tests date_time in the ru_RU locale """ + """Tests date_time in the ru_RU locale""" def setUp(self): - self.fake = Faker('ru_RU') + self.fake = Faker("ru_RU") Faker.seed(0) def test_day(self): @@ -777,13 +783,12 @@ def test_timezone(self): for _ in range(100): timezone = self.fake.timezone() assert isinstance(timezone, str) - assert re.match(r'[А-Яа-я]', timezone) + assert re.match(r"[А-Яа-я]", timezone) class TestCsCz(unittest.TestCase): - def setUp(self): - self.fake = Faker('cs_CZ') + self.fake = Faker("cs_CZ") Faker.seed(0) def test_day(self): @@ -796,9 +801,8 @@ def test_month(self): class TestDeAt(unittest.TestCase): - def setUp(self): - self.fake = Faker('de_AT') + self.fake = Faker("de_AT") Faker.seed(0) def test_day(self): @@ -811,9 +815,8 @@ def test_month(self): class TestEsEs(unittest.TestCase): - def setUp(self): - self.fake = Faker('es_ES') + self.fake = Faker("es_ES") Faker.seed(0) def test_day(self): @@ -826,9 +829,8 @@ def test_month(self): class TestItIt(unittest.TestCase): - def setUp(self): - self.fake = Faker('it_IT') + self.fake = Faker("it_IT") Faker.seed(0) def test_day(self): @@ -841,9 +843,8 @@ def test_month(self): class TestSkSk(unittest.TestCase): - def setUp(self): - self.fake = Faker('sk_SK') + self.fake = Faker("sk_SK") Faker.seed(0) def test_day(self): @@ -855,10 +856,191 @@ def test_month(self): assert month in SkSkProvider.MONTH_NAMES.values() -class TestTrTr(unittest.TestCase): +class TestThTh(unittest.TestCase): + num_sample_runs = 50 def setUp(self): - self.fake = Faker('tr_TR') + self.fake = Faker("th_TH") + Faker.seed(0) + + def test_day(self): + day = self.fake.day_of_week() + assert isinstance(day, str) + assert day.startswith("วัน") + + def test_month(self): + month = self.fake.month_name() + assert isinstance(month, str) + + def test_date(self): + # default format is "%-d %b %Y" + # (date with no padding, abbreviated month, full year [4 digits]) + date = self.fake.date(thai_digit=True) + for _ in range(self.num_sample_runs): + assert re.fullmatch( + r"[๐-๙]{1,2} " + r"(ม\.ค\.|ก\.พ\.|มี\.ค\.|เม\.ย\.|พ\.ค\.|มิ\.ย\.|ก\.ค\.|ส\.ค\.|ก\.ย\.|ต\.ค\.|พ\.ย\.|ธ\.ค\.) " + r"[๐-๙]{4}", + date, + ) + + def test_time(self): + time = self.fake.time(thai_digit=True) + for _ in range(self.num_sample_runs): + assert re.fullmatch(r"[๐-๙]{2}:[๐-๙]{2}:[๐-๙]{2}", time) + + def test_century(self): + century = self.fake.century() + assert isinstance(century, str) + assert len(century) <= 2 + century = self.fake.century(thai_digit=True) + for _ in range(self.num_sample_runs): + assert re.fullmatch(r"[๑-๒]?[๐-๙]", century) + + def test_date_pattern(self): + # unsupported or incomplete directive + date = self.fake.date("%Q") + assert date == "Q" + date = self.fake.date("%%") + assert date == "%" + date = self.fake.date("%-") + assert date == "-" + date = self.fake.date("% ") + assert date == " " + date = self.fake.date("%0") + assert date == "0" + date = self.fake.date("%") + assert date == "%" + + # may be not supported on Windows, try for coverage + date = self.fake.date("%s") + date = self.fake.date("%f") + + # National representation of the full weekday name + date = self.fake.date("%A") + assert isinstance(date, str) + + # National representation of the abbreviated weekday + date = self.fake.date("%a") + assert isinstance(date, str) + assert len(date) <= 2 + + # National representation of the full month name + date = self.fake.date("%B") + assert isinstance(date, str) + assert "." not in date + + # National representation of the abbreviated month name + date = self.fake.date("%b") + assert isinstance(date, str) + assert "." in date + + # Century as decimal number + date = self.fake.date("%C") + assert isinstance(date, str) + + # Locale’s appropriate date and time representation + # พ 6 ต.ค. 01:40:00 2519 <-- left-aligned weekday, right-aligned day + date = self.fake.date("%c") + assert isinstance(date, str) + + # Equivalent to ``%m/%d/%y'' + date = self.fake.date("%D") + assert isinstance(date, str) + + # Equivalent to ``%Y-%m-%d'' + date = self.fake.date("%F") + assert isinstance(date, str) + + # ISO 8601 year with century representing the year that contains + # the greater part of the ISO week (%V). Monday as the first day + # of the week. + date = self.fake.date("%G") + assert isinstance(date, str) + + # Same year as in ``%G'', + # but as a decimal number without century (00-99). + date = self.fake.date("%g") + assert isinstance(date, str) + assert len(date) <= 2 + + # BSD extension, ' 6-ต.ค.-2519' + date = self.fake.date("%v") + assert isinstance(date, str) + + # Locale’s appropriate time representation. + date = self.fake.date("%X") + assert isinstance(date, str) + + # Locale’s appropriate date representation. + date = self.fake.date("%x") + assert isinstance(date, str) + + # Year with century + date = self.fake.date("%Y") + assert isinstance(date, str) + + # Year without century + date = self.fake.date("%y") + assert isinstance(date, str) + assert len(date) <= 2 + + # National representation of the date and time + # (the format is similar to that produced by date(1)) + # Wed 6 Oct 1976 01:40:00 + date = self.fake.date("%+") + assert isinstance(date, str) + + # GNU libc extension, + # no padding + for _ in range(self.num_sample_runs): + date = self.fake.date("%-d") + assert isinstance(date, str) + assert date[0] != "0" + + # GNU libc extension, + # explicitly specify space (" ") for padding + for _ in range(self.num_sample_runs): + date = self.fake.date("%_d") + assert isinstance(date, str) + assert date[0] != "0" + + # GNU libc extension, + # explicitly specify zero ("0") for padding + for _ in range(self.num_sample_runs): + date = self.fake.date("%0v") + assert isinstance(date, str) + assert date[0] != " " + + # GNU libc extension, + # convert to upper case + date = self.fake.date("%^p") + assert isinstance(date, str) + assert date.isupper() + + # GNU libc extension, + # swap case - useful for %Z + date = self.fake.date("%#p") + assert isinstance(date, str) + assert date.islower() + + # POSIX extension, + # uses the locale's alternative representation + # Not implemented yet + # swap case - useful for %Z + date = self.fake.date("%Ed") + assert isinstance(date, str) + + # POSIX extension, + # uses the locale's alternative numeric symbols + date = self.fake.date("%Od") + assert isinstance(date, str) + assert date[0] not in "0123456789" + + +class TestTrTr(unittest.TestCase): + def setUp(self): + self.fake = Faker("tr_TR") Faker.seed(0) def test_day(self): @@ -868,3 +1050,87 @@ def test_day(self): def test_month(self): month = self.fake.month_name() assert month in TrTrProvider.MONTH_NAMES.values() + + +class TestPtBr(unittest.TestCase): + def setUp(self): + self.fake = Faker("pt_BR") + Faker.seed(0) + + def test_day(self): + day = self.fake.day_of_week() + assert day in PtBrProvider.DAY_NAMES.values() + + def test_month(self): + month = self.fake.month_name() + assert month in PtBrProvider.MONTH_NAMES.values() + + +class TestPtPt(unittest.TestCase): + def setUp(self): + self.fake = Faker("pt_PT") + Faker.seed(0) + + def test_day(self): + day = self.fake.day_of_week() + assert day in PtPtProvider.DAY_NAMES.values() + + def test_month(self): + month = self.fake.month_name() + assert month in PtPtProvider.MONTH_NAMES.values() + + +class TestRoRo(unittest.TestCase): + def setUp(self): + self.fake = Faker("ro_RO") + Faker.seed(0) + + def test_day(self): + day = self.fake.day_of_week() + assert day in RoRoProvider.DAY_NAMES.values() + + def test_month(self): + month = self.fake.month_name() + assert month in RoRoProvider.MONTH_NAMES.values() + + +class TestBnBd(unittest.TestCase): + def setUp(self): + self.fake = Faker("bn_BD") + Faker.seed(0) + + def test_day(self): + day = self.fake.day_of_week() + assert day in BnBdProvider.DAY_NAMES.values() + + def test_month(self): + month = self.fake.month_name() + assert month in BnBdProvider.MONTH_NAMES.values() + + +class TestNlNl(unittest.TestCase): + def setUp(self): + self.fake = Faker("nl_NL") + Faker.seed(0) + + def test_day(self): + day = self.fake.day_of_week() + assert day in NlProvider.DAY_NAMES.values() + + def test_month(self): + month = self.fake.month_name() + assert month in NlProvider.MONTH_NAMES.values() + + +class TestElGr(unittest.TestCase): + def setUp(self): + self.fake = Faker("el-GR") + Faker.seed(0) + + def test_day(self): + day = self.fake.day_of_week() + assert day in ElGrProvider.DAY_NAMES.values() + + def test_month(self): + month = self.fake.month_name() + assert month in ElGrProvider.MONTH_NAMES.values() diff --git a/tests/providers/test_dynamic.py b/tests/providers/test_dynamic.py new file mode 100644 index 0000000000..24204f27b2 --- /dev/null +++ b/tests/providers/test_dynamic.py @@ -0,0 +1,72 @@ +import pytest + +from faker import Faker +from faker.providers import DynamicProvider + + +class TestDynamicProvider: + def test_without_dynamic(self): + faker = Faker() + with pytest.raises( + AttributeError, + match="'Generator' object has no attribute 'medical_profession'", + ): + faker.medical_profession() + + def test_with_dynamic(self): + faker = Faker() + elements = ["dr.", "doctor", "nurse", "surgeon", "clerk"] + provider_name = "medical_profession" + + medical_professions_provider = DynamicProvider( + provider_name=provider_name, + elements=elements, + ) + + faker.add_provider(medical_professions_provider) + + assert faker.medical_profession() in elements + + def test_dynamic_with_special_provider_name(self): + elements = ["dr.", "doctor", "nurse", "surgeon", "clerk"] + provider_name = "__special__" # The provider name cannot start with __ + + with pytest.raises( + ValueError, + match="Provider name cannot start with __ as it would be ignored by Faker", + ): + DynamicProvider( + provider_name=provider_name, + elements=elements, + ) + + def test_dynamic_with_empty_elements(self): + elements = [] + provider_name = "my_provider" + provider = DynamicProvider( + provider_name=provider_name, + elements=elements, + ) + faker = Faker() + faker.add_provider(provider) + + with pytest.raises( + ValueError, + match="Elements should be a list of values the provider samples from", + ): + faker.my_provider() + + def test_dynamic_add_element(self): + elements = [] + provider_name = "my_provider" + provider = DynamicProvider( + provider_name=provider_name, + elements=elements, + ) + faker = Faker() + faker.add_provider(provider) + + provider.add_element("one") + provider.add_element("two") + + assert faker.my_provider() in ("one", "two") diff --git a/tests/providers/test_file.py b/tests/providers/test_file.py index 5f54bc8199..886253266d 100644 --- a/tests/providers/test_file.py +++ b/tests/providers/test_file.py @@ -5,7 +5,7 @@ class TestFile(unittest.TestCase): - """ Tests file """ + """Tests file""" def setUp(self): self.fake = Faker() @@ -14,34 +14,34 @@ def setUp(self): def test_file_path(self): for _ in range(100): file_path = self.fake.file_path() - assert re.search(r'\/\w+\/\w+\.\w+', file_path) + assert re.search(r"\/\w+\/\w+\.\w+", file_path) file_path = self.fake.file_path(depth=3) - assert re.search(r'\/\w+\/\w+\/\w+\.\w+', file_path) - file_path = self.fake.file_path(extension='pdf') - assert re.search(r'\/\w+\/\w+\.pdf', file_path) - file_path = self.fake.file_path(category='image') - assert re.search(r'\/\w+\/\w+\.(bmp|gif|jpeg|jpg|png|tiff)', file_path) + assert re.search(r"\/\w+\/\w+\/\w+\.\w+", file_path) + file_path = self.fake.file_path(extension="pdf") + assert re.search(r"\/\w+\/\w+\.pdf", file_path) + file_path = self.fake.file_path(category="image") + assert re.search(r"\/\w+\/\w+\.(bmp|gif|jpeg|jpg|png|tiff)", file_path) def test_unix_device(self): - reg_device = re.compile(r'^/dev/(vd|sd|xvd)[a-z]$') + reg_device = re.compile(r"^/dev/(vd|sd|xvd)[a-z]$") # Test default for _ in range(100): path = self.fake.unix_device() assert reg_device.match(path) # Test with prefix for _ in range(100): - path = self.fake.unix_device('sd') + path = self.fake.unix_device("sd") assert reg_device.match(path) - assert path.startswith('/dev/sd') + assert path.startswith("/dev/sd") def test_unix_partition(self): - reg_part = re.compile(r'^/dev/(vd|sd|xvd)[a-z]\d$') + reg_part = re.compile(r"^/dev/(vd|sd|xvd)[a-z]\d$") # Test default for _ in range(100): path = self.fake.unix_partition() assert reg_part.match(path) # Test with prefix for _ in range(100): - path = self.fake.unix_partition('sd') + path = self.fake.unix_partition("sd") assert reg_part.match(path) - assert path.startswith('/dev/sd') + assert path.startswith("/dev/sd") diff --git a/tests/providers/test_geo.py b/tests/providers/test_geo.py index 137eafe165..5bcb19830c 100644 --- a/tests/providers/test_geo.py +++ b/tests/providers/test_geo.py @@ -8,30 +8,30 @@ class TestGlobal(unittest.TestCase): - """ Tests geographic locations regardless of locale""" + """Tests geographic locations regardless of locale""" def setUp(self): self.fake = Faker() # No locale specified, gets global for this provider Faker.seed(0) def test_local_latlng(self): - loc = self.fake.local_latlng(country_code='US') + loc = self.fake.local_latlng(country_code="US") assert isinstance(loc, tuple) assert len(loc) == 5 assert Decimal(loc[0]) assert Decimal(loc[1]) - loc_short = self.fake.local_latlng(country_code='US', coords_only=True) + loc_short = self.fake.local_latlng(country_code="US", coords_only=True) assert len(loc_short) == 2 assert Decimal(loc_short[0]) assert Decimal(loc_short[1]) class TestEnUS(unittest.TestCase): - """ Tests geographic locations in the en_US locale """ + """Tests geographic locations in the en_US locale""" def setUp(self): - self.fake = Faker('en_US') + self.fake = Faker("en_US") Faker.seed(0) def test_latitude(self): @@ -59,7 +59,7 @@ def test_coordinate_centered(self): def test_coordinate_rounded(self): loc = self.fake.coordinate(center=23, radius=3) - assert round(loc) >= 20 <= 26 + assert 20 <= round(loc) <= 26 def test_location_on_land(self): loc = self.fake.location_on_land() @@ -81,10 +81,10 @@ def test_location_on_land_coords_only(self): class TestDeAT(unittest.TestCase): - """ Tests in addresses in the de_AT locale """ + """Tests in addresses in the de_AT locale""" def setUp(self): - self.fake = Faker('de_AT') + self.fake = Faker("de_AT") Faker.seed(0) def test_local_latitude(self): @@ -97,12 +97,23 @@ def test_local_longitude(self): class TestPtPT(unittest.TestCase): - def setUp(self): - self.fake = Faker('pt_PT') + self.fake = Faker("pt_PT") Faker.seed(0) def test_nationality(self): nationality = self.fake.nationality() assert isinstance(nationality, str) assert nationality in PtPtProvider.nationalities + + +class TestTrTr(TestEnUS): + def setUp(self): + self.fake = Faker("tr_TR") + Faker.seed(0) + + +class TestEnIe(TestEnUS): + def setUp(self): + self.fake = Faker("en_IE") + Faker.seed(0) diff --git a/tests/providers/test_internet.py b/tests/providers/test_internet.py index 9c025eaeef..a4fd00a6c2 100644 --- a/tests/providers/test_internet.py +++ b/tests/providers/test_internet.py @@ -2,6 +2,7 @@ from ipaddress import ip_address, ip_network from itertools import cycle +from typing import Pattern from unittest.mock import PropertyMock, patch import pytest @@ -13,6 +14,9 @@ from faker.providers.internet.en_GB import Provider as EnGbInternetProvider from faker.providers.internet.es_ES import Provider as EsEsInternetProvider from faker.providers.internet.pl_PL import Provider as PlPlInternetProvider +from faker.providers.internet.ro_RO import Provider as RoRoInternetProvider +from faker.providers.internet.ru_RU import Provider as RuRuInternetProvider +from faker.providers.internet.th_TH import Provider as ThThInternetProvider from faker.providers.internet.zh_CN import Provider as ZhCnInternetProvider from faker.providers.person.ja_JP import Provider as JaPersonProvider from faker.utils import text @@ -20,54 +24,66 @@ class TestInternetProvider: """Test internet provider methods""" + num_samples = 100 - ipv4_pattern = re.compile( - r'^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}' - r'(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$', + ipv4_pattern: Pattern = re.compile( + r"^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}" r"(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$", ) - ipv4_network_pattern = re.compile( - r'^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}' - r'(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)' - r'/(?:\d|[12]\d|3[0-2])$', + ipv4_network_pattern: Pattern = re.compile( + r"^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}" + r"(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)" + r"/(?:\d|[12]\d|3[0-2])$", ) def test_email(self, faker, num_samples): for _ in range(num_samples): email = faker.email() - assert '@' in email + assert "@" in email + + def test_safe_default_email(self, faker, num_samples): + expected_domains = ["example.com", "example.org", "example.net"] + for _ in range(num_samples): + email = faker.email() + assert email.split("@")[1] in expected_domains + + def test_unsafe_email(self, faker, num_samples): + not_expected_domains = ["example.com", "example.org", "example.net"] + for _ in range(num_samples): + email = faker.email(safe=False) + assert email.split("@")[1] not in not_expected_domains def test_email_with_domain(self, faker): - domain = 'example.com' + domain = "example.com" email = faker.email(domain=domain) - assert email.split('@')[1] == domain + assert email.split("@")[1] == domain def test_safe_email(self, faker, num_samples): - expected_domains = ['example.com', 'example.org', 'example.net'] + expected_domains = ["example.com", "example.org", "example.net"] for _ in range(num_samples): email = faker.safe_email() - assert email.split('@')[1] in expected_domains + assert email.split("@")[1] in expected_domains def test_safe_domain_names(self, faker, num_samples): - expected_domains = ['example.com', 'example.org', 'example.net'] + expected_domains = ["example.com", "example.org", "example.net"] for _ in range(num_samples): safe_domain_name = faker.safe_domain_name() assert safe_domain_name in expected_domains @patch( - 'faker.providers.internet.Provider.image_placeholder_services', - {'https://dummyimage.com/{width}x{height}'}, + "faker.providers.internet.Provider.image_placeholder_services", + {"https://dummyimage.com/{width}x{height}"}, ) def test_image_url(self, faker): my_width = 500 my_height = 1024 url = faker.image_url(my_width, my_height) - assert 'https://dummyimage.com/{}x{}'.format(my_width, my_height) == url + assert f"https://dummyimage.com/{my_width}x{my_height}" == url url = faker.image_url() - assert 'https://dummyimage.com/' in url + assert "https://dummyimage.com/" in url def test_hostname(self, faker): hostname_1_level = faker.hostname(levels=1) - hostname_parts = hostname_1_level.split('.') + hostname_parts = hostname_1_level.split(".") assert hostname_1_level and isinstance(hostname_1_level, str) assert len(hostname_parts) == 3 @@ -103,10 +119,10 @@ def test_ipv4_caching(self, faker): # The extra [None] here is to test code path involving whole IPv4 pool for address_class in list(_IPv4Constants._network_classes.keys()) + [None]: if address_class is None: - networks_attr = '_cached_all_networks' + networks_attr = "_cached_all_networks" else: - networks_attr = '_cached_all_class_{}_networks'.format(address_class) - weights_attr = '{}_weights'.format(networks_attr) + networks_attr = f"_cached_all_class_{address_class}_networks" + weights_attr = f"{networks_attr}_weights" provider = InternetProvider(faker) # First, test cache creation @@ -117,12 +133,17 @@ def test_ipv4_caching(self, faker): assert hasattr(provider, weights_attr) # Then, test cache access on subsequent calls - with patch.object(InternetProvider, networks_attr, create=True, - new_callable=PropertyMock) as mock_networks_cache: - with patch.object(InternetProvider, weights_attr, create=True, - new_callable=PropertyMock) as mock_weights_cache: + with patch.object( + InternetProvider, networks_attr, create=True, new_callable=PropertyMock + ) as mock_networks_cache: + with patch.object( + InternetProvider, + weights_attr, + create=True, + new_callable=PropertyMock, + ) as mock_weights_cache: # Keep test fast by patching the cache attributes to return something simple - mock_networks_cache.return_value = [ip_network('10.0.0.0/24')] + mock_networks_cache.return_value = [ip_network("10.0.0.0/24")] mock_weights_cache.return_value = [10] for _ in range(100): provider.ipv4(address_class=address_class) @@ -135,7 +156,7 @@ def test_ipv4_caching(self, faker): def test_ipv4_network_class(self, faker, num_samples): for _ in range(num_samples): klass = faker.ipv4_network_class() - assert klass in 'abc' + assert klass in "abc" def test_ipv4_private(self, faker, num_samples): for _ in range(num_samples): @@ -152,7 +173,8 @@ def test_ipv4_private(self, faker, num_samples): def test_ipv4_private_class(self, faker, num_samples): from faker.providers.internet import _IPv4Constants - for clas in 'abc': + + for clas in "abc": class_network = _IPv4Constants._network_classes[clas] class_min = class_network.network_address class_max = class_network.broadcast_address @@ -168,8 +190,8 @@ def test_ipv4_public_caching(self, faker): from faker.providers.internet import _IPv4Constants for address_class in _IPv4Constants._network_classes.keys(): - networks_attr = '_cached_public_class_{}_networks'.format(address_class) - weights_attr = '{}_weights'.format(networks_attr) + networks_attr = f"_cached_public_class_{address_class}_networks" + weights_attr = f"{networks_attr}_weights" provider = InternetProvider(faker) # First, test cache creation @@ -180,12 +202,17 @@ def test_ipv4_public_caching(self, faker): assert hasattr(provider, weights_attr) # Then, test cache access on subsequent calls - with patch.object(InternetProvider, networks_attr, create=True, - new_callable=PropertyMock) as mock_networks_cache: - with patch.object(InternetProvider, weights_attr, create=True, - new_callable=PropertyMock) as mock_weights_cache: + with patch.object( + InternetProvider, networks_attr, create=True, new_callable=PropertyMock + ) as mock_networks_cache: + with patch.object( + InternetProvider, + weights_attr, + create=True, + new_callable=PropertyMock, + ) as mock_weights_cache: # Keep test fast by patching the cache attributes to return something simple - mock_networks_cache.return_value = [ip_network('10.0.0.0/24')] + mock_networks_cache.return_value = [ip_network("10.0.0.0/24")] mock_weights_cache.return_value = [10] for _ in range(100): provider.ipv4_public(address_class=address_class) @@ -209,12 +236,13 @@ def test_ipv4_public(self, faker, num_samples): # Hack around ipaddress module # As 192.0.0.0 is net addr of many 192.0.0.0/* nets # ipaddress considers them as private - if ip_network(address).network_address != ip_address('192.0.0.0'): + if ip_network(address).network_address != ip_address("192.0.0.0"): assert not ip_network(address)[0].is_private def test_ipv4_public_class(self, faker, num_samples): from faker.providers.internet import _IPv4Constants - for clas in 'abc': + + for clas in "abc": class_network = _IPv4Constants._network_classes[clas] class_min = class_network.network_address class_max = class_network.broadcast_address @@ -229,20 +257,19 @@ def test_ipv4_public_class(self, faker, num_samples): def test_ipv4_distribution_selection(self): from faker.generator import Generator, random from faker.utils.distribution import choices_distribution + provider = InternetProvider(Generator()) - subnets = [ip_network('10.0.0.0/8'), ip_network('11.0.0.0/8')] + subnets = [ip_network("10.0.0.0/8"), ip_network("11.0.0.0/8")] valid_weights = [1, 1] list_of_invalid_weights = [ - [1, 2, 3], # List size does not match subnet list size - ['a', 'b'], # List size matches, but elements are invalid - None, # Not a list or valid iterable + [1, 2, 3], # List size does not match subnet list size + ["a", "b"], # List size matches, but elements are invalid + 11, # Not a list or valid iterable ] - with patch('faker.providers.internet.choices_distribution', - wraps=choices_distribution) as mock_choices_fn: - with patch('faker.generator.random.choice', - wraps=random.choice) as mock_random_choice: + with patch("faker.providers.internet.choices_distribution", wraps=choices_distribution) as mock_choices_fn: + with patch("faker.generator.random.choice", wraps=random.choice) as mock_random_choice: # If weights argument is valid, only `choices_distribution` should be called provider._random_ipv4_address_from_subnets(subnets, valid_weights) assert mock_choices_fn.call_count == 1 @@ -256,7 +283,7 @@ def test_ipv4_distribution_selection(self): mock_choices_fn.reset_mock() provider._random_ipv4_address_from_subnets(subnets, invalid_weights) - assert mock_choices_fn.call_count == 1 + assert mock_choices_fn.call_count == 0 assert mock_random_choice.call_count == 1 def test_ipv6(self, faker, num_samples): @@ -266,16 +293,13 @@ def test_ipv6(self, faker, num_samples): address = provider.ipv6() assert len(address) >= 3 # ::1 assert len(address) <= 39 - assert ( - re.compile(r'^([0-9a-f]{0,4}:){2,7}[0-9a-f]{1,4}$').search(address)) + assert re.compile(r"^([0-9a-f]{0,4}:){2,7}[0-9a-f]{1,4}$").search(address) for _ in range(num_samples): address = provider.ipv6(network=True) assert len(address) >= 4 # ::/8 assert len(address) <= 39 + 4 - assert ( - re.compile(r'^([0-9a-f]{0,4}:){2,7}[0-9a-f]{0,4}/\d{1,3}$').search( - address)) + assert re.compile(r"^([0-9a-f]{0,4}:){2,7}[0-9a-f]{0,4}/\d{1,3}$").search(address) def test_port_number(self, faker, num_samples): for _ in range(num_samples): @@ -286,8 +310,15 @@ def test_port_number(self, faker, num_samples): def test_http_method(self, faker, num_samples): expected_methods = [ - 'CONNECT', 'DELETE', 'GET', 'HEAD', 'OPTIONS', 'PATCH', 'POST', - 'PUT', 'TRACE', + "CONNECT", + "DELETE", + "GET", + "HEAD", + "OPTIONS", + "PATCH", + "POST", + "PUT", + "TRACE", ] got_methods = set() @@ -299,27 +330,51 @@ def test_http_method(self, faker, num_samples): def test_dga(self, faker): assert faker.dga() != faker.dga() - expected_domain = 'cqphixmpdfpptskr.com' - assert faker.dga(day=1, month=1, year=1000, tld='com', length=16) == expected_domain + expected_domain = "cqphixmpdfpptskr.com" + assert faker.dga(day=1, month=1, year=1000, tld="com", length=16) == expected_domain + + def test_iana_id(self, faker, num_samples): + for _ in range(num_samples): + assert 1 <= int(faker.iana_id()) <= 8888888 + + def test_ripe_id(self, faker, num_samples): + pattern: Pattern = re.compile(r"^ORG-[A-Z]{2,4}[1-9]\d{0,4}-RIPE$") + for _ in range(num_samples): + assert pattern.fullmatch(faker.ripe_id()) + + def test_nic_handles(self, faker, num_samples): + pattern: Pattern = re.compile(r"^[A-Z]{2,4}[1-9]\d{0,4}-[A-Z]*") + for _ in range(num_samples): + nhs = faker.nic_handles() + for nh in nhs: + assert pattern.fullmatch(nh) + + nhs = faker.nic_handles(suffix="??", count=num_samples) + assert len(nhs) == num_samples + for nh in nhs: + assert pattern.fullmatch(nh) + + with pytest.raises(ValueError): + faker.nic_handles(suffix="") class TestInternetProviderUrl: - """ Test internet url generation """ + """Test internet url generation""" @staticmethod def is_correct_scheme(url, schemes): - return any(url.startswith('{}://'.format(scheme)) for scheme in schemes) + return any(url.startswith(f"{scheme}://") for scheme in schemes) def test_url_default_schemes(self, faker): for _ in range(100): url = faker.url() - assert self.is_correct_scheme(url, ['http', 'https']) + assert self.is_correct_scheme(url, ["http", "https"]) def test_url_custom_schemes(self, faker): schemes_sets = [ - ['usb'], - ['ftp', 'file'], - ['usb', 'telnet', 'http'], + ["usb"], + ["ftp", "file"], + ["usb", "telnet", "http"], ] for _, schemes in zip(range(100), cycle(schemes_sets)): url = faker.url(schemes=schemes) @@ -328,8 +383,8 @@ def test_url_custom_schemes(self, faker): def test_url_empty_schemes_list_generate_schemeless_urls(self, faker): for _ in range(100): url = faker.url(schemes=[]) - assert not url.startswith('http') - assert url.startswith('://') + assert not url.startswith("http") + assert url.startswith("://") class TestJaJp: @@ -346,7 +401,7 @@ def test_internet(self, faker): deep_domain_name = faker.domain_name(3) assert isinstance(domain_name, str) assert isinstance(deep_domain_name, str) - assert deep_domain_name.count('.') == 3 + assert deep_domain_name.count(".") == 3 with pytest.raises(ValueError): faker.domain_name(-1) @@ -369,86 +424,123 @@ def test_domain_word(self, faker): assert len(domain_word) > 1 @patch( - 'faker.providers.internet.Provider.tld', - lambda x: 'cn', + "faker.providers.internet.Provider.tld", + lambda x: "cn", ) def test_domain_name(self, faker): domain_name_1_level = faker.domain_name(levels=1) domain_parts = domain_name_1_level.split(".") assert len(domain_parts) == 2 - assert domain_parts[-1] == 'cn' + assert domain_parts[-1] == "cn" domain_name_2_level = faker.domain_name(levels=2) domain_parts = domain_name_2_level.split(".") assert len(domain_parts) == 3 - assert domain_parts[-1] == 'cn' - assert domain_parts[1] in ['ac', 'com', 'edu', 'gov', 'mil', - 'net', 'org', 'ah', 'bj', 'cq', - 'fj', 'gd', 'gs', 'gz', 'gx', 'ha', - 'hb', 'he', 'hi', 'hk', 'hl', 'hn', - 'jl', 'js', 'jx', 'ln', 'mo', 'nm', - 'nx', 'qh', 'sc', 'sd', 'sh', 'sn', - 'sx', 'tj', 'xj', 'xz', 'yn', 'zj'] + assert domain_parts[-1] == "cn" + assert domain_parts[1] in [ + "ac", + "com", + "edu", + "gov", + "mil", + "net", + "org", + "ah", + "bj", + "cq", + "fj", + "gd", + "gs", + "gz", + "gx", + "ha", + "hb", + "he", + "hi", + "hk", + "hl", + "hn", + "jl", + "js", + "jx", + "ln", + "mo", + "nm", + "nx", + "qh", + "sc", + "sd", + "sh", + "sn", + "sx", + "tj", + "xj", + "xz", + "yn", + "zj", + ] def test_domain_name_one_level_after_tld(self, faker): provider = ZhCnInternetProvider(faker) for _ in range(100): domain_name = faker.domain_name(levels=1) - domain_parts = domain_name.split('.') + domain_parts = domain_name.split(".") assert len(domain_parts) == 2 assert domain_parts[-1] in provider.tlds.keys() assert domain_parts[0] not in provider.second_level_domains - @patch('faker.providers.internet.zh_CN.Provider.domain_word') - @patch('faker.providers.internet.Provider.tld') + @patch("faker.providers.internet.zh_CN.Provider.domain_word") + @patch("faker.providers.internet.Provider.tld") def test_domain_name_two_levels_after_cn_tld(self, mock_tld, mock_domain_word, faker): provider = ZhCnInternetProvider(faker) # If tld() returns cn, second level name should be selected from second_level_domains # and domain_word() will only be called once which will be used for the third level - mock_tld.return_value = 'cn' - mock_domain_word.return_value = 'li' + mock_tld.return_value = "cn" + mock_domain_word.return_value = "li" for _ in range(100): mock_domain_word.reset_mock() domain_name = faker.domain_name(levels=2) - domain_parts = domain_name.split('.') + domain_parts = domain_name.split(".") assert len(domain_parts) == 3 - assert domain_parts[-1] == 'cn' + assert domain_parts[-1] == "cn" assert domain_parts[-2] in provider.second_level_domains - assert domain_parts[0] == 'li' + assert domain_parts[0] == "li" assert mock_domain_word.call_count == 1 - @patch('faker.providers.internet.zh_CN.Provider.domain_word') - @patch('faker.providers.internet.Provider.tld') + @patch("faker.providers.internet.zh_CN.Provider.domain_word") + @patch("faker.providers.internet.Provider.tld") def test_domain_name_two_levels_after_non_cn_tld(self, mock_tld, mock_domain_word, faker): # If tld() does not return cn, domain_word() will be called twice mock_domain_word.reset_mock() - mock_tld.return_value = 'net' - mock_domain_word.return_value = 'li' + mock_tld.return_value = "net" + mock_domain_word.return_value = "li" domain_name = faker.domain_name(levels=2) - assert domain_name == 'li.li.net' + assert domain_name == "li.li.net" assert mock_domain_word.call_count == 2 - @patch('faker.providers.internet.zh_CN.Provider.domain_word') - @patch('faker.providers.internet.Provider.tld') + @patch("faker.providers.internet.zh_CN.Provider.domain_word") + @patch("faker.providers.internet.Provider.tld") def test_domain_name_more_than_two_levels_after_cn_tld(self, mock_tld, mock_domain_word, faker): provider = ZhCnInternetProvider(faker) - mock_tld.return_value = 'cn' - mock_domain_word.return_value = 'li' + mock_tld.return_value = "cn" + mock_domain_word.return_value = "li" for levels in range(3, 10): - with patch('faker.providers.internet.zh_CN.Provider.domain_name', - wraps=faker.domain_name) as mock_domain_name: + with patch( + "faker.providers.internet.zh_CN.Provider.domain_name", + wraps=faker.domain_name, + ) as mock_domain_name: mock_tld.reset_mock() mock_domain_word.reset_mock() mock_domain_name.reset_mock() domain_name = faker.domain_name(levels=levels) - domain_parts = domain_name.split('.') + domain_parts = domain_name.split(".") # Same assertions as levels=2 for tld and second level if tld is cn # But every level henceforth should return the mocked value - assert domain_parts[-1] == 'cn' + assert domain_parts[-1] == "cn" assert domain_parts[-2] in provider.second_level_domains - assert all(domain_part == 'li' for domain_part in domain_parts[:-2]) + assert all(domain_part == "li" for domain_part in domain_parts[:-2]) # tld() method should only be called once, domain_word() will be called for each # level after tld except the second, and recursive calls to domain_name() will be @@ -457,24 +549,26 @@ def test_domain_name_more_than_two_levels_after_cn_tld(self, mock_tld, mock_doma assert mock_domain_word.call_count == levels - 1 assert mock_domain_name.call_count == levels - 2 - @patch('faker.providers.internet.zh_CN.Provider.domain_word') - @patch('faker.providers.internet.Provider.tld') + @patch("faker.providers.internet.zh_CN.Provider.domain_word") + @patch("faker.providers.internet.Provider.tld") def test_domain_name_more_than_two_levels_after_non_cn_tld(self, mock_tld, mock_domain_word, faker): - mock_tld.return_value = 'net' - mock_domain_word.return_value = 'li' + mock_tld.return_value = "net" + mock_domain_word.return_value = "li" for levels in range(3, 10): - with patch('faker.providers.internet.zh_CN.Provider.domain_name', - wraps=faker.domain_name) as mock_domain_name: + with patch( + "faker.providers.internet.zh_CN.Provider.domain_name", + wraps=faker.domain_name, + ) as mock_domain_name: mock_tld.reset_mock() mock_domain_word.reset_mock() mock_domain_name.reset_mock() domain_name = faker.domain_name(levels=levels) - domain_parts = domain_name.split('.') + domain_parts = domain_name.split(".") # Same assertions as levels=2 for non cn tld and # every level henceforth should return the mocked value - assert domain_parts[-1] == 'net' - assert all(domain_part == 'li' for domain_part in domain_parts[:-1]) + assert domain_parts[-1] == "net" + assert all(domain_part == "li" for domain_part in domain_parts[:-1]) # tld() method should only be called once, domain_word() will be called for each # level after tld, and recursive calls to domain_name() will be made for each @@ -524,97 +618,98 @@ class TestNlNl: """Test nl_NL internet provider methods""" @patch( - 'faker.providers.internet.Provider.user_name', - lambda x: 'fabiënné', + "faker.providers.internet.Provider.user_name", + lambda x: "fabiënné", ) def test_ascii_safe_email(self, faker): email = faker.ascii_safe_email() validate_email(email) - assert email.split('@')[0] == 'fabienne' + assert email.split("@")[0] == "fabienne" @patch( - 'faker.providers.internet.Provider.user_name', - lambda x: 'fabiënné', + "faker.providers.internet.Provider.user_name", + lambda x: "fabiënné", ) def test_ascii_free_email(self, faker): email = faker.ascii_free_email() validate_email(email) - assert email.split('@')[0] == 'fabienne' + assert email.split("@")[0] == "fabienne" @patch( - 'faker.providers.internet.Provider.user_name', - lambda x: 'fabiënné', + "faker.providers.internet.Provider.user_name", + lambda x: "fabiënné", ) def test_ascii_company_email(self, faker): email = faker.ascii_company_email() validate_email(email) - assert email.split('@')[0] == 'fabienne' + assert email.split("@")[0] == "fabienne" class TestArAa: """Test ar_AA internet provider methods""" @patch( - 'faker.providers.internet.Provider.user_name', - lambda x: 'اصيل', + "faker.providers.internet.Provider.user_name", + lambda x: "اصيل", ) def test_ascii_safe_email(self, faker): email = faker.ascii_safe_email() validate_email(email) - assert email.split('@')[0] == 'asyl' + assert email.split("@")[0] == "asyl" @patch( - 'faker.providers.internet.Provider.user_name', - lambda x: 'اصيل', + "faker.providers.internet.Provider.user_name", + lambda x: "اصيل", ) def test_ascii_free_email(self, faker): email = faker.ascii_free_email() validate_email(email) - assert email.split('@')[0] == 'asyl' + assert email.split("@")[0] == "asyl" @patch( - 'faker.providers.internet.Provider.user_name', - lambda x: 'اصيل', + "faker.providers.internet.Provider.user_name", + lambda x: "اصيل", ) def test_ascii_company_email(self, faker): email = faker.ascii_company_email() validate_email(email) - assert email.split('@')[0] == 'asyl' + assert email.split("@")[0] == "asyl" class TestPtBr: """Test pt_BR internet provider methods""" @patch( - 'faker.providers.internet.Provider.user_name', - lambda x: 'VitóriaMagalhães', + "faker.providers.internet.Provider.user_name", + lambda x: "VitóriaMagalhães", ) def test_ascii_safe_email(self, faker): email = faker.ascii_safe_email() validate_email(email) - assert email.split('@')[0] == 'vitoriamagalhaes' + assert email.split("@")[0] == "vitoriamagalhaes" @patch( - 'faker.providers.internet.Provider.user_name', - lambda x: 'JoãoSimões', + "faker.providers.internet.Provider.user_name", + lambda x: "JoãoSimões", ) def test_ascii_free_email(self, faker): email = faker.ascii_free_email() validate_email(email) - assert email.split('@')[0] == 'joaosimoes' + assert email.split("@")[0] == "joaosimoes" @patch( - 'faker.providers.internet.Provider.user_name', - lambda x: 'AndréCauã', + "faker.providers.internet.Provider.user_name", + lambda x: "AndréCauã", ) def test_ascii_company_email(self, faker): email = faker.ascii_company_email() validate_email(email) - assert email.split('@')[0] == 'andrecaua' + assert email.split("@")[0] == "andrecaua" class TestEnPh: """Test en_PH internet provider methods""" + num_samples = 100 def test_domain_name(self, faker, num_samples): @@ -625,11 +720,13 @@ def test_domain_name(self, faker, num_samples): class TestFilPh(TestEnPh): """Test fil_PH internet provider methods""" + pass class TestTlPh(TestFilPh): """Test tl_PH internet provider methods""" + pass @@ -651,3 +748,60 @@ class TestEsEs: def test_tld(self, faker): tld = faker.tld() assert tld in EsEsInternetProvider.tlds + + +class TestRoRo: + """Test ro_RO internet provider methods""" + + def test_free_email_domain(self, faker): + domain = faker.free_email_domain() + assert domain in RoRoInternetProvider.free_email_domains + + def test_tld(self, faker): + tld = faker.tld() + assert tld in PlPlInternetProvider.tlds + + +class TestRuRu: + """Test ru_RU internet provider methods""" + + def test_free_email_domain(self, faker): + assert faker.free_email_domain() in RuRuInternetProvider.free_email_domains + + def test_tld(self, faker): + assert faker.tld() in RuRuInternetProvider.tlds + + @patch( + "faker.providers.internet.Provider.user_name", + lambda x: "ИванИванов", + ) + def test_ascii_safe_email(self, faker): + email = faker.ascii_safe_email() + validate_email(email) + assert email.split("@")[0] == "ivanivanov" + + @patch( + "faker.providers.internet.Provider.user_name", + lambda x: "АлександрСмирнов", + ) + def test_ascii_free_email(self, faker): + email = faker.ascii_free_email() + validate_email(email) + assert email.split("@")[0] == "aleksandrsmirnov" + + @patch( + "faker.providers.internet.Provider.user_name", + lambda x: "СергейКузнецов", + ) + def test_ascii_company_email(self, faker): + email = faker.ascii_company_email() + validate_email(email) + assert email.split("@")[0] == "sergekuznetsov" + + +class TestThTh: + """Test th_TH internet provider methods""" + + def test_tld(self, faker): + tld = faker.tld() + assert tld in ThThInternetProvider.tlds diff --git a/tests/providers/test_isbn.py b/tests/providers/test_isbn.py index 323d44a8c3..4da6ed2802 100644 --- a/tests/providers/test_isbn.py +++ b/tests/providers/test_isbn.py @@ -6,32 +6,30 @@ class TestISBN10: - def test_check_digit_is_correct(self): - isbn = ISBN10(group='1', registrant='4516', publication='7331') - assert isbn.check_digit == '0' - isbn = ISBN10(group='0', registrant='06', publication='230125') - assert isbn.check_digit == 'X' - isbn = ISBN10(group='1', registrant='4936', publication='8222') - assert isbn.check_digit == '9' + isbn = ISBN10(group="1", registrant="4516", publication="7331") + assert isbn.check_digit == "0" + isbn = ISBN10(group="0", registrant="06", publication="230125") + assert isbn.check_digit == "X" + isbn = ISBN10(group="1", registrant="4936", publication="8222") + assert isbn.check_digit == "9" def test_format_length(self): - isbn = ISBN10(group='1', registrant='4516', publication='7331') + isbn = ISBN10(group="1", registrant="4516", publication="7331") assert len(isbn.format()) == 10 class TestISBN13: - def test_check_digit_is_correct(self): - isbn = ISBN13(ean='978', group='1', registrant='4516', publication='7331') - assert isbn.check_digit == '9' - isbn = ISBN13(ean='978', group='1', registrant='59327', publication='599') - assert isbn.check_digit == '0' - isbn = ISBN13(ean='978', group='1', registrant='4919', publication='2757') - assert isbn.check_digit == '1' + isbn = ISBN13(ean="978", group="1", registrant="4516", publication="7331") + assert isbn.check_digit == "9" + isbn = ISBN13(ean="978", group="1", registrant="59327", publication="599") + assert isbn.check_digit == "0" + isbn = ISBN13(ean="978", group="1", registrant="4919", publication="2757") + assert isbn.check_digit == "1" def test_format_length(self): - isbn = ISBN13(ean='978', group='1', registrant='4516', publication='7331') + isbn = ISBN13(ean="978", group="1", registrant="4516", publication="7331") assert len(isbn.format()) == 13 @@ -40,17 +38,38 @@ class TestProvider: prov = ISBNProvider(None) def test_reg_pub_separation(self): - r1 = RegistrantRule('0000000', '0000001', 1) - r2 = RegistrantRule('0000002', '0000003', 2) - assert self.prov._registrant_publication('00000000', [r1, r2]) == ('0', '0000000') - assert self.prov._registrant_publication('00000010', [r1, r2]) == ('0', '0000010') - assert self.prov._registrant_publication('00000019', [r1, r2]) == ('0', '0000019') - assert self.prov._registrant_publication('00000020', [r1, r2]) == ('00', '000020') - assert self.prov._registrant_publication('00000030', [r1, r2]) == ('00', '000030') - assert self.prov._registrant_publication('00000031', [r1, r2]) == ('00', '000031') - assert self.prov._registrant_publication('00000039', [r1, r2]) == ('00', '000039') + r1 = RegistrantRule("0000000", "0000001", 1) + r2 = RegistrantRule("0000002", "0000003", 2) + assert self.prov._registrant_publication("00000000", [r1, r2]) == ( + "0", + "0000000", + ) + assert self.prov._registrant_publication("00000010", [r1, r2]) == ( + "0", + "0000010", + ) + assert self.prov._registrant_publication("00000019", [r1, r2]) == ( + "0", + "0000019", + ) + assert self.prov._registrant_publication("00000020", [r1, r2]) == ( + "00", + "000020", + ) + assert self.prov._registrant_publication("00000030", [r1, r2]) == ( + "00", + "000030", + ) + assert self.prov._registrant_publication("00000031", [r1, r2]) == ( + "00", + "000031", + ) + assert self.prov._registrant_publication("00000039", [r1, r2]) == ( + "00", + "000039", + ) def test_rule_not_found(self): with pytest.raises(Exception): - r = RegistrantRule('0000000', '0000001', 1) - self.prov._registrant_publication('0000002', [r]) + r = RegistrantRule("0000000", "0000001", 1) + self.prov._registrant_publication("0000002", [r]) diff --git a/tests/providers/test_job.py b/tests/providers/test_job.py index 4bd522746d..3c617fc032 100644 --- a/tests/providers/test_job.py +++ b/tests/providers/test_job.py @@ -8,6 +8,10 @@ from faker.providers.job.ko_KR import Provider as KoKrJobProvider from faker.providers.job.pt_BR import Provider as PtBrJobProvider from faker.providers.job.pt_PT import Provider as PtPtJobProvider +from faker.providers.job.ro_RO import Provider as RoRoJobProvider +from faker.providers.job.sk_SK import Provider as SkSkJobProvider +from faker.providers.job.th_TH import Provider as ThThJobProvider +from faker.providers.job.tr_TR import Provider as TrTrJobProvider class TestJobProvider: @@ -83,8 +87,39 @@ def test_job(self, faker, num_samples): class TestPtBr: - """Test de_DE job provider""" + """Test pt_BR job provider""" def test_job(self, faker, num_samples): for _ in range(num_samples): assert faker.job() in PtBrJobProvider.jobs + + +class TestSkSk: + """Test sk_SK job provider""" + + def test_job(self, faker, num_samples): + for _ in range(num_samples): + job = faker.job() + assert isinstance(job, str) + assert job in SkSkJobProvider.jobs + + +class TestThTh: + """Test th_TH job provider""" + + def test_job(self, faker, num_samples): + assert faker.job() in ThThJobProvider.jobs + + +class TestTrTr: + """Test tr_TR job provider""" + + def test_job(self, faker, num_samples): + assert faker.job() in TrTrJobProvider.jobs + + +class TestRoRo: + """Test tr_TR job provider""" + + def test_job(self, faker, num_samples): + assert faker.job() in RoRoJobProvider.jobs diff --git a/tests/providers/test_lorem.py b/tests/providers/test_lorem.py index 7ba59859c7..f94a0c5dbd 100644 --- a/tests/providers/test_lorem.py +++ b/tests/providers/test_lorem.py @@ -2,12 +2,21 @@ import pytest +from faker.providers.lorem.cs_CZ import Provider as CsCzLoremProvider + class TestLoremProvider: """Test lorem provider methods""" + custom_word_list = [ - 'danish', 'cheesecake', 'sugar', 'lollipop', - 'wafer', 'gummies', 'jelly', 'pie', + "danish", + "cheesecake", + "sugar", + "lollipop", + "wafer", + "gummies", + "jelly", + "pie", ] def test_word_with_defaults(self, faker, num_samples): @@ -57,26 +66,26 @@ def test_words_with_unique_sampling(self, faker, num_samples): def test_sentence_no_words(self, faker, num_samples): for _ in range(num_samples): - assert faker.sentence(0) == '' + assert faker.sentence(0) == "" def test_sentence_with_inexact_word_count(self, faker, num_samples): num_words = 10 for _ in range(num_samples): sentence = faker.sentence(nb_words=num_words) - words = sentence.lower().replace('.', '').split() + words = sentence.lower().replace(".", "").split() assert int(num_words * 0.6) <= len(words) <= int(num_words * 1.4) def test_sentence_with_exact_word_count(self, faker, num_samples): num_words = 10 for _ in range(num_samples): sentence = faker.sentence(nb_words=num_words, variable_nb_words=False) - words = sentence.lower().replace('.', '').split() + words = sentence.lower().replace(".", "").split() assert len(words) == num_words def test_sentence_with_custom_word_list(self, faker, num_samples): for _ in range(num_samples): sentence = faker.sentence(ext_word_list=self.custom_word_list) - words = sentence.lower().replace('.', '').split() + words = sentence.lower().replace(".", "").split() assert all(isinstance(word, str) and word in self.custom_word_list for word in words) def test_sentences(self, faker, num_samples): @@ -85,31 +94,35 @@ def test_sentences(self, faker, num_samples): sentences = faker.sentences(nb=num_sentences, ext_word_list=self.custom_word_list) assert len(sentences) == num_sentences for sentence in sentences: - words = sentence.lower().replace('.', '').split() + words = sentence.lower().replace(".", "").split() assert all(isinstance(word, str) and word in self.custom_word_list for word in words) + def test_sentence_single_word(self, faker): + word = faker.sentence(1) + assert str.isupper(word[0]) + def test_paragraph_no_sentences(self, faker, num_samples): for _ in range(num_samples): - assert faker.paragraph(0) == '' + assert faker.paragraph(0) == "" def test_paragraph_with_inexact_sentence_count(self, faker, num_samples): num_sentences = 10 for _ in range(num_samples): paragraph = faker.paragraph(nb_sentences=num_sentences) - sentences = paragraph.split('. ') + sentences = paragraph.split(". ") assert int(num_sentences * 0.6) <= len(sentences) <= int(num_sentences * 1.4) def test_paragraph_with_exact_sentence_count(self, faker, num_samples): num_sentences = 10 for _ in range(num_samples): paragraph = faker.paragraph(nb_sentences=num_sentences, variable_nb_sentences=False) - sentences = paragraph.split('. ') + sentences = paragraph.split(". ") assert len(sentences) == num_sentences def test_paragraph_with_custom_word_list(self, faker, num_samples): for _ in range(num_samples): paragraph = faker.paragraph(ext_word_list=self.custom_word_list) - words = paragraph.lower().replace('.', '').split() + words = paragraph.lower().replace(".", "").split() assert all(isinstance(word, str) and word in self.custom_word_list for word in words) def test_paragraphs(self, faker, num_samples): @@ -118,7 +131,7 @@ def test_paragraphs(self, faker, num_samples): paragraphs = faker.paragraphs(nb=num_paragraphs, ext_word_list=self.custom_word_list) assert len(paragraphs) == num_paragraphs for paragraph in paragraphs: - words = paragraph.lower().replace('.', '').split() + words = paragraph.lower().replace(".", "").split() assert all(isinstance(word, str) and word in self.custom_word_list for word in words) def test_text_with_less_than_four_characters(self, faker, num_samples): @@ -126,12 +139,16 @@ def test_text_with_less_than_four_characters(self, faker, num_samples): with pytest.raises(ValueError): faker.text(max_nb_chars=4) - @pytest.mark.parametrize('num_chars', [10, 50, 150, 10000], ids=[ - 'max_nb_chars < 25', - '25 <= max_nb_chars < 100', - 'max_nb_chars >= 100', - 'max_nb_chars >> 100', - ]) + @pytest.mark.parametrize( + "num_chars", + [10, 50, 150, 10000], + ids=[ + "max_nb_chars < 25", + "25 <= max_nb_chars < 100", + "max_nb_chars >= 100", + "max_nb_chars >> 100", + ], + ) def test_text_with_valid_character_count(self, faker, num_samples, num_chars): for _ in range(num_samples): text = faker.text(max_nb_chars=num_chars) @@ -140,7 +157,7 @@ def test_text_with_valid_character_count(self, faker, num_samples, num_chars): def test_text_with_custom_word_list(self, faker, num_samples): for _ in range(num_samples): text = faker.text(ext_word_list=self.custom_word_list) - words = re.sub(r'[.\n]+', ' ', text.lower()).split() + words = re.sub(r"[.\n]+", " ", text.lower()).split() assert all(word in self.custom_word_list for word in words) def test_texts(self, faker, num_samples): @@ -148,11 +165,81 @@ def test_texts(self, faker, num_samples): num_chars = 25 for _ in range(num_samples): texts = faker.texts( - max_nb_chars=num_chars, nb_texts=num_texts, + max_nb_chars=num_chars, + nb_texts=num_texts, ext_word_list=self.custom_word_list, ) assert len(texts) == num_texts for text in texts: assert len(text) <= num_chars - words = re.sub(r'[.\n]+', ' ', text.lower()).split() + words = re.sub(r"[.\n]+", " ", text.lower()).split() assert all(word in self.custom_word_list for word in words) + + +class TestCsCz: + """Test cs_CZ lorem provider""" + + word_list = [word.lower() for word in CsCzLoremProvider.word_list] + + def test_paragraph(self, faker, num_samples): + num_sentences = 10 + for _ in range(num_samples): + paragraph = faker.paragraph(nb_sentences=num_sentences) + assert isinstance(paragraph, str) + words = paragraph.replace(".", "").split() + assert all(word.lower() in self.word_list for word in words) + + def test_paragraphs(self, faker, num_samples): + num_paragraphs = 5 + for _ in range(num_samples): + paragraphs = faker.paragraphs(nb=num_paragraphs) + for paragraph in paragraphs: + assert isinstance(paragraph, str) + words = paragraph.replace(".", "").split() + assert all(word.lower() in self.word_list for word in words) + + def test_sentence(self, faker, num_samples): + num_words = 10 + for _ in range(num_samples): + sentence = faker.sentence(nb_words=num_words) + assert isinstance(sentence, str) + words = sentence.replace(".", "").split() + assert all(word.lower() in self.word_list for word in words) + + def test_sentences(self, faker, num_samples): + num_sentences = 5 + for _ in range(num_samples): + sentences = faker.sentences(nb=num_sentences) + for sentence in sentences: + assert isinstance(sentence, str) + words = sentence.replace(".", "").split() + assert all(word.lower() in self.word_list for word in words) + + def test_text(self, faker, num_samples): + num_chars = 25 + for _ in range(num_samples): + text = faker.text(max_nb_chars=num_chars) + assert isinstance(text, str) + words = re.sub(r"[.\n]+", " ", text).split() + assert all(word.lower() in self.word_list for word in words) + + def test_texts(self, faker, num_samples): + num_texts = 5 + num_chars = 25 + for _ in range(num_samples): + texts = faker.texts(max_nb_chars=num_chars, nb_texts=num_texts) + for text in texts: + assert isinstance(text, str) + words = re.sub(r"[.\n]+", " ", text).split() + assert all(word.lower() in self.word_list for word in words) + + def test_word(self, faker, num_samples): + for _ in range(num_samples): + word = faker.word() + assert isinstance(word, str) and word in CsCzLoremProvider.word_list + + def test_words(self, faker, num_samples): + num_words = 5 + for _ in range(num_samples): + words = faker.words(num_words) + assert all(isinstance(word, str) and word in CsCzLoremProvider.word_list for word in words) diff --git a/tests/providers/test_misc.py b/tests/providers/test_misc.py index 7822eb5429..dbe4d67125 100644 --- a/tests/providers/test_misc.py +++ b/tests/providers/test_misc.py @@ -4,40 +4,46 @@ import json import re import tarfile +import unittest import uuid import zipfile +try: + import PIL.Image +except ImportError: + PIL = None + +from typing import Pattern from unittest.mock import patch import pytest -from faker import Faker +from faker import Faker, exceptions from faker.contrib.pytest.plugin import DEFAULT_LOCALE, DEFAULT_SEED -@pytest.fixture(scope='class') +@pytest.fixture(scope="class") def _class_faker_with_foobar(): _fake = Faker(locale=DEFAULT_LOCALE) _fake.add_provider(_FooBarProvider()) - _fake.set_arguments('argument_group', 'param', 'Baz') - _fake.set_arguments('double', 'multi', 2) + _fake.set_arguments("argument_group", "param", "Baz") + _fake.set_arguments("double", "multi", 2) return _fake @pytest.fixture() def faker_with_foobar(request): - fake = request.getfixturevalue('_class_faker_with_foobar') + fake = request.getfixturevalue("_class_faker_with_foobar") seed = DEFAULT_SEED - if 'faker_seed' in request.fixturenames: - seed = request.getfixturevalue('faker_seed') + if "faker_seed" in request.fixturenames: + seed = request.getfixturevalue("faker_seed") fake.seed_instance(seed=seed) return fake class _FooBarProvider: - def foo_bar(self, param: str = None) -> str: - return 'FooBar' + str(param) if param else 'FooBar' + return "FooBar" + str(param) if param else "FooBar" def test_integer(self, multi=1) -> int: return 1 * multi @@ -48,10 +54,11 @@ def test_float(self, multi=1) -> float: class TestMiscProvider: """Test miscellaneous provider methods""" + num_samples = 10 def test_uuid4_str(self, faker, num_samples): - pattern = re.compile(r'[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}') + pattern: Pattern = re.compile(r"[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}") for _ in range(num_samples): assert pattern.fullmatch(faker.uuid4()) @@ -76,19 +83,19 @@ def test_uuid4_seedability(self, faker, num_samples): def test_zip_invalid_file(self, faker): with pytest.raises(ValueError): - faker.zip(num_files='1') + faker.zip(num_files="1") with pytest.raises(ValueError): faker.zip(num_files=0) with pytest.raises(ValueError): - faker.zip(min_file_size='1') + faker.zip(min_file_size="1") with pytest.raises(ValueError): faker.zip(min_file_size=0) with pytest.raises(ValueError): - faker.zip(uncompressed_size='1') + faker.zip(uncompressed_size="1") with pytest.raises(ValueError): faker.zip(uncompressed_size=0) @@ -102,7 +109,8 @@ def test_zip_one_byte_undersized(self, faker, num_samples): # Will always fail because of bad size requirements with pytest.raises(AssertionError): faker.zip( - uncompressed_size=uncompressed_size, num_files=num_files, + uncompressed_size=uncompressed_size, + num_files=num_files, min_file_size=min_file_size, ) @@ -113,11 +121,12 @@ def test_zip_exact_minimum_size(self, faker, num_samples): uncompressed_size = num_files * min_file_size zip_bytes = faker.zip( - uncompressed_size=uncompressed_size, num_files=num_files, + uncompressed_size=uncompressed_size, + num_files=num_files, min_file_size=min_file_size, ) zip_buffer = io.BytesIO(zip_bytes) - with zipfile.ZipFile(zip_buffer, 'r') as zip_handle: + with zipfile.ZipFile(zip_buffer, "r") as zip_handle: # Verify zip archive is good assert zip_handle.testzip() is None @@ -142,11 +151,12 @@ def test_zip_over_minimum_size(self, faker, num_samples): uncompressed_size = num_files * min_file_size + expected_extra_bytes zip_bytes = faker.zip( - uncompressed_size=uncompressed_size, num_files=num_files, + uncompressed_size=uncompressed_size, + num_files=num_files, min_file_size=min_file_size, ) zip_buffer = io.BytesIO(zip_bytes) - with zipfile.ZipFile(zip_buffer, 'r') as zip_handle: + with zipfile.ZipFile(zip_buffer, "r") as zip_handle: # Verify zip archive is good assert zip_handle.testzip() is None @@ -161,7 +171,7 @@ def test_zip_over_minimum_size(self, faker, num_samples): assert info.file_size >= min_file_size total_size += info.file_size if info.file_size > min_file_size: - extra_bytes += (info.file_size - min_file_size) + extra_bytes += info.file_size - min_file_size # The file sizes should sum up to the specified uncompressed size # and the extra bytes counted must be equal to the one expected @@ -173,22 +183,24 @@ def test_zip_compression_py3(self, faker): min_file_size = 512 uncompressed_size = 50 * 1024 compression_mapping = [ - ('deflate', zipfile.ZIP_DEFLATED), - ('gzip', zipfile.ZIP_DEFLATED), - ('gz', zipfile.ZIP_DEFLATED), - ('bzip2', zipfile.ZIP_BZIP2), - ('bz2', zipfile.ZIP_BZIP2), - ('lzma', zipfile.ZIP_LZMA), - ('xz', zipfile.ZIP_LZMA), + ("deflate", zipfile.ZIP_DEFLATED), + ("gzip", zipfile.ZIP_DEFLATED), + ("gz", zipfile.ZIP_DEFLATED), + ("bzip2", zipfile.ZIP_BZIP2), + ("bz2", zipfile.ZIP_BZIP2), + ("lzma", zipfile.ZIP_LZMA), + ("xz", zipfile.ZIP_LZMA), (None, zipfile.ZIP_STORED), ] for compression, compress_type in compression_mapping: zip_bytes = faker.zip( - uncompressed_size=uncompressed_size, num_files=num_files, - min_file_size=min_file_size, compression=compression, + uncompressed_size=uncompressed_size, + num_files=num_files, + min_file_size=min_file_size, + compression=compression, ) zip_buffer = io.BytesIO(zip_bytes) - with zipfile.ZipFile(zip_buffer, 'r') as zip_handle: + with zipfile.ZipFile(zip_buffer, "r") as zip_handle: # Verify zip archive is good assert zip_handle.testzip() is None @@ -198,19 +210,19 @@ def test_zip_compression_py3(self, faker): def test_tar_invalid_file(self, faker): with pytest.raises(ValueError): - faker.tar(num_files='1') + faker.tar(num_files="1") with pytest.raises(ValueError): faker.tar(num_files=0) with pytest.raises(ValueError): - faker.tar(min_file_size='1') + faker.tar(min_file_size="1") with pytest.raises(ValueError): faker.tar(min_file_size=0) with pytest.raises(ValueError): - faker.tar(uncompressed_size='1') + faker.tar(uncompressed_size="1") with pytest.raises(ValueError): faker.tar(uncompressed_size=0) @@ -224,7 +236,8 @@ def test_tar_one_byte_undersized(self, faker, num_samples): # Will always fail because of conflicting size requirements with pytest.raises(AssertionError): faker.tar( - uncompressed_size=uncompressed_size, num_files=num_files, + uncompressed_size=uncompressed_size, + num_files=num_files, min_file_size=min_file_size, ) @@ -235,7 +248,8 @@ def test_tar_exact_minimum_size(self, faker, num_samples): uncompressed_size = num_files * min_file_size tar_bytes = faker.tar( - uncompressed_size=uncompressed_size, num_files=num_files, + uncompressed_size=uncompressed_size, + num_files=num_files, min_file_size=min_file_size, ) tar_buffer = io.BytesIO(tar_bytes) @@ -261,7 +275,8 @@ def test_tar_over_minimum_size(self, faker, num_samples): uncompressed_size = num_files * min_file_size + expected_extra_bytes tar_bytes = faker.tar( - uncompressed_size=uncompressed_size, num_files=num_files, + uncompressed_size=uncompressed_size, + num_files=num_files, min_file_size=min_file_size, ) tar_buffer = io.BytesIO(tar_bytes) @@ -277,7 +292,7 @@ def test_tar_over_minimum_size(self, faker, num_samples): assert member.size >= min_file_size total_size += member.size if member.size > min_file_size: - extra_bytes += (member.size - min_file_size) + extra_bytes += member.size - min_file_size # The file sizes should sum up to the specified uncompressed size # and the extra bytes counted should be the one we expect @@ -289,19 +304,21 @@ def test_tar_compression_py3(self, faker): min_file_size = 512 uncompressed_size = 50 * 1024 compression_mapping = [ - ('gzip', 'r:gz'), - ('gz', 'r:gz'), - ('bzip2', 'r:bz2'), - ('bz2', 'r:bz2'), - ('lzma', 'r:xz'), - ('xz', 'r:xz'), - (None, 'r'), + ("gzip", "r:gz"), + ("gz", "r:gz"), + ("bzip2", "r:bz2"), + ("bz2", "r:bz2"), + ("lzma", "r:xz"), + ("xz", "r:xz"), + (None, "r"), ] for compression, read_mode in compression_mapping: tar_bytes = faker.tar( - uncompressed_size=uncompressed_size, num_files=num_files, - min_file_size=min_file_size, compression=compression, + uncompressed_size=uncompressed_size, + num_files=num_files, + min_file_size=min_file_size, + compression=compression, ) tar_buffer = io.BytesIO(tar_bytes) with tarfile.open(fileobj=tar_buffer, mode=read_mode) as tar_handle: @@ -309,9 +326,25 @@ def test_tar_compression_py3(self, faker): members = tar_handle.getmembers() assert len(members) == num_files + @unittest.skipUnless(PIL, "requires the Python Image Library") + def test_image(self, faker): + img = PIL.Image.open(io.BytesIO(faker.image())) + assert img.size == (256, 256) + assert img.format == "PNG" + img = PIL.Image.open(io.BytesIO(faker.image(size=(2, 2), image_format="tiff"))) + assert img.size == (2, 2) + assert img.format == "TIFF" + + def test_image_no_pillow(self, faker): + with patch.dict("sys.modules", {"PIL": None}): + with pytest.raises(exceptions.UnsupportedFeature) as excinfo: + faker.image() + + assert excinfo.value.name == "image" + def test_dsv_with_invalid_values(self, faker): with pytest.raises(ValueError): - faker.dsv(num_rows='1') + faker.dsv(num_rows="1") with pytest.raises(ValueError): faker.dsv(num_rows=0) @@ -320,17 +353,17 @@ def test_dsv_with_invalid_values(self, faker): faker.dsv(header=None, data_columns=1) with pytest.raises(TypeError): - faker.dsv(header=1, data_columns=['???']) + faker.dsv(header=1, data_columns=["???"]) with pytest.raises(ValueError): - faker.dsv(header=['Column 1', 'Column 2'], data_columns=['???']) + faker.dsv(header=["Column 1", "Column 2"], data_columns=["???"]) def test_dsv_no_header(self, faker, num_samples): - data_columns = ['????', '?????'] + data_columns = ["????", "?????"] for _ in range(num_samples): num_rows = faker.random.randint(1, 1000) dsv = faker.dsv(header=None, data_columns=data_columns, num_rows=num_rows) - reader = csv.reader(io.StringIO(dsv), dialect='faker-csv') + reader = csv.reader(io.StringIO(dsv), dialect="faker-csv") # Verify each row has correct number of columns for row in reader: @@ -340,12 +373,12 @@ def test_dsv_no_header(self, faker, num_samples): assert reader.line_num == num_rows def test_dsv_with_valid_header(self, faker, num_samples): - header = ['Column 1', 'Column 2'] - data_columns = ['????', '?????'] + header = ["Column 1", "Column 2"] + data_columns = ["????", "?????"] for _ in range(num_samples): num_rows = faker.random.randint(1, 1000) dsv = faker.dsv(header=header, data_columns=data_columns, num_rows=num_rows) - reader = csv.reader(io.StringIO(dsv), dialect='faker-csv') + reader = csv.reader(io.StringIO(dsv), dialect="faker-csv") # Verify each row has correct number of columns for row in reader: @@ -355,15 +388,17 @@ def test_dsv_with_valid_header(self, faker, num_samples): assert reader.line_num == num_rows + 1 def test_dsv_with_row_ids(self, faker, num_samples): - data_columns = ['????', '?????'] + data_columns = ["????", "?????"] for _ in range(num_samples): counter = 0 num_rows = faker.random.randint(1, 1000) dsv = faker.dsv( - header=None, data_columns=data_columns, - num_rows=num_rows, include_row_ids=True, + header=None, + data_columns=data_columns, + num_rows=num_rows, + include_row_ids=True, ) - reader = csv.reader(io.StringIO(dsv), dialect='faker-csv') + reader = csv.reader(io.StringIO(dsv), dialect="faker-csv") # Verify each row has correct number of columns # and row ids increment correctly @@ -377,8 +412,8 @@ def test_dsv_with_row_ids(self, faker, num_samples): def test_dsv_data_columns(self, faker): num_rows = 10 - data_columns = ['{{name}}', '#??-####', '{{address}}', '{{phone_number}}'] - with patch.object(faker['en_US'], 'pystr_format') as mock_pystr_format: + data_columns = ["{{name}}", "#??-####", "{{address}}", "{{phone_number}}"] + with patch.object(faker["en_US"], "pystr_format") as mock_pystr_format: mock_pystr_format.assert_not_called() faker.dsv(data_columns=data_columns, num_rows=num_rows) @@ -393,17 +428,17 @@ def test_dsv_data_columns(self, faker): assert kwargs == {} def test_dsv_csvwriter_kwargs(self, faker): - data_keys = ['header', 'data_columns', 'num_rows', 'include_row_ids'] + data_keys = ["header", "data_columns", "num_rows", "include_row_ids"] test_kwargs = { - 'dialect': 'excel', - 'header': ['Column 1', 'Column 2'], - 'data_columns': ['????', '?????'], - 'num_rows': 5, - 'include_row_ids': True, - 'delimiter': ';', - 'invalid_kwarg': 'invalid_value', + "dialect": "excel", + "header": ["Column 1", "Column 2"], + "data_columns": ["????", "?????"], + "num_rows": 5, + "include_row_ids": True, + "delimiter": ";", + "invalid_kwarg": "invalid_value", } - with patch('faker.providers.misc.csv.writer') as mock_writer: + with patch("faker.providers.misc.csv.writer") as mock_writer: mock_writer.assert_not_called() faker.dsv(**test_kwargs) assert mock_writer.call_count == 1 @@ -418,236 +453,255 @@ def test_dsv_csvwriter_kwargs(self, faker): def test_csv_helper_method(self, faker): kwargs = { - 'header': ['Column 1', 'Column 2'], - 'data_columns': ['????', '?????'], - 'num_rows': 5, - 'include_row_ids': True, + "header": ["Column 1", "Column 2"], + "data_columns": ["????", "?????"], + "num_rows": 5, + "include_row_ids": True, } - with patch('faker.providers.misc.Provider.dsv') as mock_dsv: + with patch("faker.providers.misc.Provider.dsv") as mock_dsv: mock_dsv.assert_not_called() faker.csv(**kwargs) - kwargs['delimiter'] = ',' + kwargs["delimiter"] = "," mock_dsv.assert_called_once_with(**kwargs) def test_tsv_helper_method(self, faker): kwargs = { - 'header': ['Column 1', 'Column 2'], - 'data_columns': ['????', '?????'], - 'num_rows': 5, - 'include_row_ids': True, + "header": ["Column 1", "Column 2"], + "data_columns": ["????", "?????"], + "num_rows": 5, + "include_row_ids": True, } - with patch('faker.providers.misc.Provider.dsv') as mock_dsv: + with patch("faker.providers.misc.Provider.dsv") as mock_dsv: mock_dsv.assert_not_called() faker.tsv(**kwargs) - kwargs['delimiter'] = '\t' + kwargs["delimiter"] = "\t" mock_dsv.assert_called_once_with(**kwargs) def test_psv_helper_method(self, faker): kwargs = { - 'header': ['Column 1', 'Column 2'], - 'data_columns': ['????', '?????'], - 'num_rows': 5, - 'include_row_ids': True, + "header": ["Column 1", "Column 2"], + "data_columns": ["????", "?????"], + "num_rows": 5, + "include_row_ids": True, } - with patch('faker.providers.misc.Provider.dsv') as mock_dsv: + with patch("faker.providers.misc.Provider.dsv") as mock_dsv: mock_dsv.assert_not_called() faker.psv(**kwargs) - kwargs['delimiter'] = '|' + kwargs["delimiter"] = "|" mock_dsv.assert_called_once_with(**kwargs) def test_json_with_arguments(self, faker_with_foobar): kwargs = { - 'data_columns': [ - ('item1', '{{ foo_bar:argument_group }}'), - ('item2', 'foo_bar', {'param': 'BAZ'}), + "data_columns": [ + ("item1", "{{ foo_bar:argument_group }}"), + ("item2", "foo_bar", {"param": "BAZ"}), ], - 'num_rows': 1, + "num_rows": 1, } json_data = json.loads(faker_with_foobar.json(**kwargs)) - assert json_data.get('item1') == 'FooBarBaz' - assert json_data.get('item2') == 'FooBarBAZ' + assert json_data.get("item1") == "FooBarBaz" + assert json_data.get("item2") == "FooBarBAZ" def test_json_multiple_rows(self, faker_with_foobar): kwargs = { - 'data_columns': {'item': 'foo_bar'}, - 'num_rows': 2, + "data_columns": {"item": "foo_bar"}, + "num_rows": 2, } json_data = json.loads(faker_with_foobar.json(**kwargs)) assert isinstance(json_data, list) and len(json_data) == 2 - def test_json_passthrough_int_float(self, faker_with_foobar): + def test_json_passthrough_values(self, faker_with_foobar): kwargs = { - 'data_columns': { - 'item1': 1, - 'item2': 1.0, + "data_columns": { + "item1": 1, + "item2": 1.0, + "item3": True, + "item4": "@fixed", }, - 'num_rows': 1, + "num_rows": 1, } json_data = json.loads(faker_with_foobar.json(**kwargs)) - assert json_data['item1'] == 1 - assert json_data['item2'] == 1.0 + assert json_data["item1"] == 1 + assert json_data["item2"] == 1.0 + assert json_data["item3"] is True + assert json_data["item4"] == "fixed" def test_json_type_integrity_int(self, faker_with_foobar): kwargs = { - 'data_columns': { - 'item1': 'test_integer', - 'item2': 'test_integer:double', + "data_columns": { + "item1": "test_integer", + "item2": "test_integer:double", }, - 'num_rows': 1, + "num_rows": 1, } json_data = json.loads(faker_with_foobar.json(**kwargs)) - assert isinstance(json_data['item1'], int) - assert json_data['item2'] == 2 + assert isinstance(json_data["item1"], int) + assert json_data["item2"] == 2 def test_json_type_integrity_float(self, faker_with_foobar): kwargs = { - 'data_columns': { - 'item1': 'test_float', - 'item2': 'test_float:double', + "data_columns": { + "item1": "test_float", + "item2": "test_float:double", }, - 'num_rows': 1, + "num_rows": 1, } json_data = json.loads(faker_with_foobar.json(**kwargs)) - assert isinstance(json_data['item1'], float) - assert json_data['item2'] == 2.2 + assert isinstance(json_data["item1"], float) + assert json_data["item2"] == 2.2 def test_json_invalid_data_columns(self, faker_with_foobar): kwargs = { - 'data_columns': (('item', 'foo_bar'),), - 'num_rows': 1, + "data_columns": (("item", "foo_bar"),), + "num_rows": 1, } with pytest.raises(TypeError) as excinfo: json.loads(faker_with_foobar.json(**kwargs)) - assert str(excinfo.value) == 'Invalid data_columns type. Must be a dictionary or list' + assert str(excinfo.value) == "Invalid data_columns type. Must be a dictionary or list" def test_json_list_format_invalid_arguments_type(self, faker_with_foobar): kwargs = { - 'data_columns': [('item', 'foo_bar', ['wrong'])], - 'num_rows': 1, + "data_columns": [("item", "foo_bar", ["wrong"])], + "num_rows": 1, } with pytest.raises(TypeError) as excinfo: faker_with_foobar.json(**kwargs) - assert str(excinfo.value) == 'Invalid arguments type. Must be a dictionary' + assert str(excinfo.value) == "Invalid arguments type. Must be a dictionary" def test_json_list_format_nested_list_of_values(self, faker_with_foobar): kwargs = { - 'data_columns': [ + "data_columns": [ ( - 'list', [ - (None, '{{ foo_bar }}s'), - (None, 'foo_bar'), + "list", + [ + (None, "{{ foo_bar }}s"), + (None, "foo_bar"), ], ), ], - 'num_rows': 1, + "num_rows": 1, } json_data = json.loads(faker_with_foobar.json(**kwargs)) - assert json_data['list'][0] == 'FooBars' - assert json_data['list'][1] == 'FooBar' + assert json_data["list"][0] == "FooBars" + assert json_data["list"][1] == "FooBar" def test_json_list_format_nested_list_of_objects(self, faker_with_foobar): kwargs = { - 'data_columns': [ + "data_columns": [ ( - 'list', [ - ('item', '{{ foo_bar }}s'), - ('item', 'foo_bar'), + "list", + [ + ("item", "{{ foo_bar }}s"), + ("item", "foo_bar"), ], ), ], - 'num_rows': 1, + "num_rows": 1, } json_data = json.loads(faker_with_foobar.json(**kwargs)) - assert json_data['list'][0]['item'] == 'FooBars' - assert json_data['list'][1]['item'] == 'FooBar' + assert json_data["list"][0]["item"] == "FooBars" + assert json_data["list"][1]["item"] == "FooBar" def test_json_list_format_nested_objects(self, faker_with_foobar): kwargs = { - 'data_columns': [ + "data_columns": [ ( - 'dict', ( - ('item1', '{{ foo_bar }}s'), - ('item2', 'foo_bar'), + "dict", + ( + ("item1", "{{ foo_bar }}s"), + ("item2", "foo_bar"), ), ), ], - 'num_rows': 1, + "num_rows": 1, } json_data = json.loads(faker_with_foobar.json(**kwargs)) - assert json_data['dict']['item1'] == 'FooBars' - assert json_data['dict']['item2'] == 'FooBar' + assert json_data["dict"]["item1"] == "FooBars" + assert json_data["dict"]["item2"] == "FooBar" def test_json_dict_format_nested_list_of_values(self, faker_with_foobar): kwargs = { - 'data_columns': { - 'list': [ - '{{ foo_bar }}s', - 'foo_bar', + "data_columns": { + "list": [ + "{{ foo_bar }}s", + "foo_bar", ], }, - 'num_rows': 1, + "num_rows": 1, } json_data = json.loads(faker_with_foobar.json(**kwargs)) - assert json_data['list'][0] == 'FooBars' - assert json_data['list'][1] == 'FooBar' + assert json_data["list"][0] == "FooBars" + assert json_data["list"][1] == "FooBar" def test_json_dict_format_nested_list_of_objects(self, faker_with_foobar): kwargs = { - 'data_columns': { - 'list': [ - {'item': '{{ foo_bar }}s'}, - {'item': 'foo_bar'}, + "data_columns": { + "list": [ + {"item": "{{ foo_bar }}s"}, + {"item": "foo_bar"}, ], }, - 'num_rows': 1, + "num_rows": 1, } json_data = json.loads(faker_with_foobar.json(**kwargs)) - assert json_data['list'][0]['item'] == 'FooBars' - assert json_data['list'][1]['item'] == 'FooBar' + assert json_data["list"][0]["item"] == "FooBars" + assert json_data["list"][1]["item"] == "FooBar" def test_json_dict_format_nested_objects(self, faker_with_foobar): kwargs = { - 'data_columns': { - 'dict': { - 'item1': '{{ foo_bar }}s', - 'item2': 'foo_bar', + "data_columns": { + "dict": { + "item1": "{{ foo_bar }}s", + "item2": "foo_bar", }, }, - 'num_rows': 1, + "num_rows": 1, } json_data = json.loads(faker_with_foobar.json(**kwargs)) - assert json_data['dict']['item1'] == 'FooBars' - assert json_data['dict']['item2'] == 'FooBar' + assert json_data["dict"]["item1"] == "FooBars" + assert json_data["dict"]["item2"] == "FooBar" def test_fixed_width_with_arguments(self, faker_with_foobar): kwargs = { - 'data_columns': [ - (9, '{{ foo_bar:argument_group }}'), - (9, 'foo_bar', {'param': 'BAR'}), + "data_columns": [ + (9, "{{ foo_bar:argument_group }}"), + (9, "foo_bar", {"param": "BAR"}), ], - 'num_rows': 2, + "num_rows": 2, } fixed_width_string = faker_with_foobar.fixed_width(**kwargs) - for row in fixed_width_string.split('\n'): + for row in fixed_width_string.split("\n"): assert len(row) == 18 - assert row[0:9].strip() == 'FooBarBaz' - assert row[9:18].strip() == 'FooBarBAR' + assert row[0:9].strip() == "FooBarBaz" + assert row[9:18].strip() == "FooBarBAR" def test_fixed_width_invalid_arguments_type(self, faker_with_foobar): kwargs = { - 'data_columns': [(9, 'foo_bar', ['wrong'])], - 'num_rows': 1, + "data_columns": [(9, "foo_bar", ["wrong"])], + "num_rows": 1, } with pytest.raises(TypeError) as excinfo: faker_with_foobar.fixed_width(**kwargs) - assert str(excinfo.value) == 'Invalid arguments type. Must be a dictionary' + assert str(excinfo.value) == "Invalid arguments type. Must be a dictionary" + + def test_md5(self, faker): + assert isinstance(faker.md5(), str) + assert isinstance(faker.md5(raw_output=True), bytes) + + def test_sha1(self, faker): + assert isinstance(faker.sha1(), str) + assert isinstance(faker.sha1(raw_output=True), bytes) + + def test_sha256(self, faker): + assert isinstance(faker.sha256(), str) + assert isinstance(faker.sha256(raw_output=True), bytes) diff --git a/tests/providers/test_person.py b/tests/providers/test_person.py index 10773a935f..e09476e502 100644 --- a/tests/providers/test_person.py +++ b/tests/providers/test_person.py @@ -8,27 +8,33 @@ from faker.providers.person.ar_AA import Provider as ArProvider from faker.providers.person.cs_CZ import Provider as CsCZProvider from faker.providers.person.en import Provider as EnProvider +from faker.providers.person.en_IE import Provider as EnIEProvider +from faker.providers.person.en_IN import Provider as EnINProvider from faker.providers.person.en_US import Provider as EnUSProvider from faker.providers.person.es_ES import Provider as EsESProvider from faker.providers.person.fi_FI import Provider as FiProvider +from faker.providers.person.ga_IE import Provider as GaIEProvider +from faker.providers.person.he_IL import Provider as HeILProvider from faker.providers.person.hy_AM import Provider as HyAmProvider from faker.providers.person.ne_NP import Provider as NeProvider from faker.providers.person.or_IN import Provider as OrINProvider from faker.providers.person.pl_PL import Provider as PlPLProvider from faker.providers.person.pl_PL import checksum_identity_card_number as pl_checksum_identity_card_number +from faker.providers.person.pt_PT import Provider as PtPtProvider from faker.providers.person.ru_RU import Provider as RuProvider from faker.providers.person.ru_RU import translit from faker.providers.person.sv_SE import Provider as SvSEProvider from faker.providers.person.ta_IN import Provider as TaINProvider +from faker.providers.person.th_TH import Provider as ThThProvider from faker.providers.person.zh_CN import Provider as ZhCNProvider from faker.providers.person.zh_TW import Provider as ZhTWProvider class TestAr(unittest.TestCase): - """ Tests person in the ar locale """ + """Tests person in the ar locale""" def setUp(self): - self.fake = Faker('ar') + self.fake = Faker("ar") Faker.seed(0) def test_first_name(self): @@ -54,10 +60,10 @@ def test_first_name(self): def test_last_name(self): # There's no gender-specific last name in Arabic. - assert not hasattr(ArProvider, 'last_names_male') - assert not hasattr(ArProvider, 'last_names_female') + assert not hasattr(ArProvider, "last_names_male") + assert not hasattr(ArProvider, "last_names_female") # All last names apply for all genders. - assert hasattr(ArProvider, 'last_names') + assert hasattr(ArProvider, "last_names") # General last name. name = self.fake.last_name() @@ -81,10 +87,10 @@ def test_last_name(self): class TestJaJP(unittest.TestCase): - """ Tests person in the ja_JP locale """ + """Tests person in the ja_JP locale""" def setUp(self): - self.fake = Faker('ja') + self.fake = Faker("ja") Faker.seed(0) def test_person(self): @@ -140,11 +146,30 @@ def test_person(self): assert last_romanized_name assert isinstance(last_romanized_name, str) + first_name_pair = self.fake.first_name_pair() + assert first_name_pair + assert len(first_name_pair) == 3 + assert all(map(lambda s: isinstance(s, str), first_name_pair)) + + first_name_male_pair = self.fake.first_name_male_pair() + assert first_name_male_pair + assert len(first_name_male_pair) == 3 + assert all(map(lambda s: isinstance(s, str), first_name_male_pair)) + + first_name_female_pair = self.fake.first_name_female_pair() + assert first_name_female_pair + assert len(first_name_female_pair) == 3 + assert all(map(lambda s: isinstance(s, str), first_name_female_pair)) + + last_name_pair = self.fake.last_name_pair() + assert last_name_pair + assert len(last_name_pair) == 3 + assert all(map(lambda s: isinstance(s, str), last_name_pair)) -class TestNeNP(unittest.TestCase): +class TestNeNP(unittest.TestCase): def setUp(self): - self.fake = Faker('ne_NP') + self.fake = Faker("ne_NP") Faker.seed(0) def test_names(self): @@ -160,9 +185,8 @@ def test_names(self): class TestFiFI(unittest.TestCase): - def setUp(self): - self.fake = Faker('fi_FI') + self.fake = Faker("fi_FI") Faker.seed(0) def test_gender_first_names(self): @@ -183,9 +207,8 @@ def test_last_names(self): class TestSvSE(unittest.TestCase): - def setUp(self): - self.fake = Faker('sv_SE') + self.fake = Faker("sv_SE") Faker.seed(0) def test_gender_first_names(self): @@ -199,59 +222,86 @@ def test_gender_first_names(self): class TestPlPL(unittest.TestCase): - def setUp(self): - self.fake = Faker('pl_PL') + self.fake = Faker("pl_PL") Faker.seed(0) def test_identity_card_number_checksum(self): - assert pl_checksum_identity_card_number(['A', 'I', 'S', 8, 5, 0, 2, 1, 4]) == 8 - assert pl_checksum_identity_card_number(['A', 'U', 'L', 9, 2, 7, 2, 8, 5]) == 9 - assert pl_checksum_identity_card_number(['A', 'E', 'I', 2, 5, 1, 8, 2, 4]) == 2 - assert pl_checksum_identity_card_number(['A', 'H', 'F', 2, 2, 0, 6, 8, 0]) == 2 - assert pl_checksum_identity_card_number(['A', 'X', 'E', 8, 2, 0, 3, 4, 0]) == 8 + assert pl_checksum_identity_card_number(["A", "I", "S", 8, 5, 0, 2, 1, 4]) == 8 + assert pl_checksum_identity_card_number(["A", "U", "L", 9, 2, 7, 2, 8, 5]) == 9 + assert pl_checksum_identity_card_number(["A", "E", "I", 2, 5, 1, 8, 2, 4]) == 2 + assert pl_checksum_identity_card_number(["A", "H", "F", 2, 2, 0, 6, 8, 0]) == 2 + assert pl_checksum_identity_card_number(["A", "X", "E", 8, 2, 0, 3, 4, 0]) == 8 def test_identity_card_number(self): for _ in range(100): - assert re.search(r'^[A-Z]{3}\d{6}$', self.fake.identity_card_number()) + assert re.search(r"^[A-Z]{3}\d{6}$", self.fake.identity_card_number()) - @mock.patch.object(PlPLProvider, 'random_digit') + @mock.patch.object(PlPLProvider, "random_digit") def test_pesel_birth_date(self, mock_random_digit): - mock_random_digit.side_effect = [3, 5, 8, 8, 7, 9, 9, 3] - assert self.fake.pesel(datetime.date(1999, 12, 31)) == '99123135885' - assert self.fake.pesel(datetime.date(2000, 1, 1)) == '00210179936' - - @mock.patch.object(PlPLProvider, 'random_digit') + mock_random_digit.side_effect = [ + 3, + 5, + 8, + 8, + 3, + 5, + 8, + 8, + 7, + 9, + 9, + 3, + 7, + 9, + 9, + 3, + 7, + 9, + 9, + 3, + ] + assert self.fake.pesel(datetime.date(1899, 12, 31)) == "99923135889" + assert self.fake.pesel(datetime.date(1999, 12, 31)) == "99123135885" + assert self.fake.pesel(datetime.date(2000, 1, 1)) == "00210179936" + assert self.fake.pesel(datetime.date(2100, 1, 1)) == "00410179932" + assert self.fake.pesel(datetime.date(2200, 1, 1)) == "00610179938" + + @mock.patch.object(PlPLProvider, "random_digit") def test_pesel_sex_male(self, mock_random_digit): mock_random_digit.side_effect = [1, 3, 4, 5, 6, 1, 7, 0] - assert self.fake.pesel(datetime.date(1909, 3, 3), 'M') == '09030313454' - assert self.fake.pesel(datetime.date(1913, 8, 16), 'M') == '13081661718' + assert self.fake.pesel(datetime.date(1909, 3, 3), "M") == "09030313454" + assert self.fake.pesel(datetime.date(1913, 8, 16), "M") == "13081661718" - @mock.patch.object(PlPLProvider, 'random_digit') + @mock.patch.object(PlPLProvider, "random_digit") def test_pesel_sex_female(self, mock_random_digit): mock_random_digit.side_effect = [4, 9, 1, 6, 6, 1, 7, 3] - assert self.fake.pesel(datetime.date(2007, 4, 13), 'F') == '07241349161' - assert self.fake.pesel(datetime.date(1933, 12, 16), 'F') == '33121661744' + assert self.fake.pesel(datetime.date(2007, 4, 13), "F") == "07241349161" + assert self.fake.pesel(datetime.date(1933, 12, 16), "F") == "33121661744" + + def test_pesel_value_error(self): + self.assertRaises(ValueError, self.fake.pesel, datetime.date(2300, 1, 1)) + self.assertRaises(ValueError, self.fake.pesel, datetime.date(1799, 12, 31)) - @mock.patch.object(PlPLProvider, 'random_digit') + @mock.patch.object(PlPLProvider, "random_digit") def test_pwz_doctor(self, mock_random_digit): mock_random_digit.side_effect = [6, 9, 1, 9, 6, 5, 2, 7, 9, 9, 1, 5] - assert self.fake.pwz_doctor() == '2691965' - assert self.fake.pwz_doctor() == '4279915' + assert self.fake.pwz_doctor() == "2691965" + assert self.fake.pwz_doctor() == "4279915" - @mock.patch.object(PlPLProvider, 'random_digit') + @mock.patch.object(PlPLProvider, "random_digit") def test_pwz_doctor_check_digit_zero(self, mock_random_digit): mock_random_digit.side_effect = [0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 9, 9] - assert self.fake.pwz_doctor() == '6000012' - assert self.fake.pwz_doctor() == '1000090' + assert self.fake.pwz_doctor() == "6000012" + assert self.fake.pwz_doctor() == "1000090" - @mock.patch.object(PlPLProvider, 'random_int') - @mock.patch.object(PlPLProvider, 'random_digit') + @mock.patch.object(PlPLProvider, "random_int") + @mock.patch.object(PlPLProvider, "random_digit") def test_pwz_nurse(self, mock_random_digit, mock_random_int): mock_random_digit.side_effect = [3, 4, 5, 6, 7, 1, 7, 5, 1, 2] mock_random_int.side_effect = [45, 3] - assert self.fake.pwz_nurse(kind='nurse') == '4534567P' - assert self.fake.pwz_nurse(kind='midwife') == '0317512A' + assert self.fake.pwz_nurse(kind="nurse") == "4534567P" + assert self.fake.pwz_nurse(kind="midwife") == "0317512A" @staticmethod def validate_nip(nip_str): @@ -259,7 +309,7 @@ def validate_nip(nip_str): Validates NIP using recommended code https://pl.wikibooks.org/wiki/Kody_%C5%BAr%C3%B3d%C5%82owe/Implementacja_NIP """ - nip_str = nip_str.replace('-', '') + nip_str = nip_str.replace("-", "") if len(nip_str) != 10 or not nip_str.isdigit(): return False digits = [int(i) for i in nip_str] @@ -273,9 +323,8 @@ def test_nip(self): class TestCsCZ(unittest.TestCase): - def setUp(self): - self.fake = Faker('cs_CZ') + self.fake = Faker("cs_CZ") Faker.seed(0) def test_name_male(self): @@ -319,20 +368,53 @@ def test_name_female(self): assert last_name in CsCZProvider.last_names_female -class TestZhCN(unittest.TestCase): +class TestThTh(unittest.TestCase): + """Tests person in the th_TH locale""" def setUp(self): - self.fake = Faker('zh_CN') + self.fake = Faker("th_TH") + Faker.seed(0) + + def test_first_name(self): + # General first name + name = self.fake.first_name() + assert name + self.assertIsInstance(name, str) + assert name in ThThProvider.first_names + + def test_last_name(self): + # There's no gender-specific last name in Thai. + assert not hasattr(ThThProvider, "last_names_male") + assert not hasattr(ThThProvider, "last_names_female") + # All last names apply for all genders. + assert hasattr(ThThProvider, "last_names") + + # General last name. + name = self.fake.last_name() + assert name + self.assertIsInstance(name, str) + assert name in ThThProvider.last_names + + def test_name(self): + # Full name + name = self.fake.name() + assert name + self.assertIsInstance(name, str) + + +class TestZhCN(unittest.TestCase): + def setUp(self): + self.fake = Faker("zh_CN") Faker.seed(0) def test_last_name(self): # There's no gender-specific last name in Chinese. - assert not hasattr(ZhCNProvider, 'last_names_male') - assert not hasattr(ZhCNProvider, 'last_names_female') - assert not hasattr(ZhCNProvider, 'last_romanized_names_male') - assert not hasattr(ZhCNProvider, 'last_romanized_names_female') + assert not hasattr(ZhCNProvider, "last_names_male") + assert not hasattr(ZhCNProvider, "last_names_female") + assert not hasattr(ZhCNProvider, "last_romanized_names_male") + assert not hasattr(ZhCNProvider, "last_romanized_names_female") # All last names apply for all genders. - assert hasattr(ZhCNProvider, 'last_names') + assert hasattr(ZhCNProvider, "last_names") # General last name. name = self.fake.last_name() @@ -397,25 +479,24 @@ def test_name(self): name = self.fake.romanized_name() assert name self.assertIsInstance(name, str) - first_romanized_name, last_romanized_name = name.split(' ') + first_romanized_name, last_romanized_name = name.split(" ") assert first_romanized_name in ZhCNProvider.first_romanized_names assert last_romanized_name in ZhCNProvider.last_romanized_names class TestZhTW(unittest.TestCase): - def setUp(self): - self.fake = Faker('zh_TW') + self.fake = Faker("zh_TW") Faker.seed(0) def test_last_name(self): # There's no gender-specific last name in Chinese. - assert not hasattr(ZhTWProvider, 'last_names_male') - assert not hasattr(ZhTWProvider, 'last_names_female') - assert not hasattr(ZhTWProvider, 'last_romanized_names_male') - assert not hasattr(ZhTWProvider, 'last_romanized_names_female') + assert not hasattr(ZhTWProvider, "last_names_male") + assert not hasattr(ZhTWProvider, "last_names_female") + assert not hasattr(ZhTWProvider, "last_romanized_names_male") + assert not hasattr(ZhTWProvider, "last_romanized_names_female") # All last names apply for all genders. - assert hasattr(ZhTWProvider, 'last_names') + assert hasattr(ZhTWProvider, "last_names") # General last name. name = self.fake.last_name() @@ -480,16 +561,16 @@ def test_name(self): name = self.fake.romanized_name() assert name self.assertIsInstance(name, str) - first_romanized_name, last_romanized_name = name.split(' ') + first_romanized_name, last_romanized_name = name.split(" ") assert first_romanized_name in ZhTWProvider.first_romanized_names assert last_romanized_name in ZhTWProvider.last_romanized_names class TestHyAM(unittest.TestCase): - """ Tests person in the hy_AM locale """ + """Tests person in the hy_AM locale""" def setUp(self): - self.fake = Faker('hy_AM') + self.fake = Faker("hy_AM") Faker.seed(0) def test_name(self): @@ -525,10 +606,10 @@ def test_first_name(self): def test_last_name(self): # There's no gender-specific last name in Armenian. - assert not hasattr(HyAmProvider, 'last_names_male') - assert not hasattr(HyAmProvider, 'last_names_female') + assert not hasattr(HyAmProvider, "last_names_male") + assert not hasattr(HyAmProvider, "last_names_female") # All last names apply for all genders. - assert hasattr(HyAmProvider, 'last_names') + assert hasattr(HyAmProvider, "last_names") # General last name. name = self.fake.last_name() @@ -547,9 +628,8 @@ def test_last_name(self): class TestTaIN(unittest.TestCase): - def setUp(self): - self.fake = Faker('ta_IN') + self.fake = Faker("ta_IN") Faker.seed(0) def test_gender_first_names(self): @@ -563,25 +643,30 @@ def test_gender_first_names(self): class TestRuRU(unittest.TestCase): - """ Tests person in the ru_RU locale """ + """Tests person in the ru_RU locale""" def setUp(self): - self.fake = Faker('ru_RU') + self.fake = Faker("ru_RU") Faker.seed(0) def test_translit(self): - assert translit('Александр Сергеевич Пушкин') == 'Aleksandr Sergeevich Pushkin' - assert translit('Анна Андреевна Ахматова') == 'Anna Andreevna Akhmatova' - assert translit('Михаил') == 'Mikhail' - assert translit('Фёдор') == 'Fedor' - assert translit('Екатерина') == 'Yekaterina' - assert translit('Анастасия') == 'Anastasiya' - assert translit('Юрьевич') == 'Yurevich' - assert translit('Никитична') == 'Nikitichna' - assert translit('Щербакова') == 'Shcherbakova' - assert translit('Маяковский') == 'Mayakovskiy' - assert translit('Петров-Водкин') == 'Petrov-Vodkin' - assert translit('Воронцова-Дашкова') == 'Vorontsova-Dashkova' + assert translit("Александр Сергеевич Пушкин") == "Aleksandr Sergeevich Pushkin" + assert translit("Анна Андреевна Ахматова") == "Anna Andreevna Akhmatova" + assert translit("Михаил") == "Mikhail" + assert translit("Фёдор") == "Fedor" + assert translit("Екатерина") == "Yekaterina" + assert translit("Анастасия") == "Anastasiya" + assert translit("Юрьевич") == "Yurevich" + assert translit("Никитична") == "Nikitichna" + assert translit("Щербакова") == "Shcherbakova" + assert translit("Маяковский") == "Mayakovskiy" + assert translit("Петров-Водкин") == "Petrov-Vodkin" + assert translit("Воронцова-Дашкова") == "Vorontsova-Dashkova" + assert translit("А.С.Пушкин") == "A.S.Pushkin" + assert translit("А. С. Пушкин") == "A. S. Pushkin" + assert translit("тов. И.И.Сидоров") == "tov. I.I.Sidorov" + assert translit("г-н А.Б.Петров") == "g-n A.B.Petrov" + assert translit("г-жа Ю.М.Петрова") == "g-zha Yu.M.Petrova" def test_name_female(self): first_name = self.fake.first_name_female() @@ -608,7 +693,7 @@ class TestEsES(unittest.TestCase): """Tests person in the es_ES locale.""" def setUp(self): - self.fake = Faker('es_ES') + self.fake = Faker("es_ES") Faker.seed(0) def test_language_name(self): @@ -616,11 +701,55 @@ def test_language_name(self): assert language_name in EsESProvider.language_names +class TestHeIL(unittest.TestCase): + """Tests person in the he_IL locale.""" + + def setUp(self): + self.fake = Faker("he_IL") + Faker.seed(0) + + def test_language_name(self): + language_name = self.fake.language_name() + assert language_name in HeILProvider.language_names + + def test_male_first_name(self): + first_name_male = self.fake.first_name_male() + assert first_name_male in HeILProvider.first_names_male + + def test_female_first_name(self): + first_name_female = self.fake.first_name_female() + assert first_name_female in HeILProvider.first_names_female + + def test_last_name(self): + last_name = self.fake.last_name() + assert last_name in HeILProvider.last_names + + +class TestPtPt(unittest.TestCase): + """Tests person in the pt_PT locale.""" + + def setUp(self): + self.fake = Faker("pt_PT") + Faker.seed(0) + + def test_male_first_name(self): + first_name_male = self.fake.first_name_male() + assert first_name_male in PtPtProvider.first_names_male + + def test_female_first_name(self): + first_name_female = self.fake.first_name_female() + assert first_name_female in PtPtProvider.first_names_female + + def test_last_name(self): + last_name = self.fake.last_name() + assert last_name in PtPtProvider.last_names + + class TestUs(unittest.TestCase): - """ Tests person in the en_US locale """ + """Tests person in the en_US locale""" def setUp(self): - self.fake = Faker('en_US') + self.fake = Faker("en_US") Faker.seed(0) def test_first_names(self): @@ -648,7 +777,6 @@ def test_first_names(self): assert name in EnUSProvider.first_names_nonbinary def test_last_names(self): - # General last name name = self.fake.last_name() self.assertIsInstance(name, str) @@ -670,14 +798,12 @@ def test_last_names(self): assert name in EnUSProvider.last_names def test_prefix(self): - # Nonbinary prefix prefix = self.fake.prefix_nonbinary() self.assertIsInstance(prefix, str) assert prefix in EnUSProvider.prefixes_nonbinary def test_suffix(self): - # Nonbinary suffix suffix = self.fake.suffix_nonbinary() self.assertIsInstance(suffix, str) @@ -685,14 +811,13 @@ def test_suffix(self): class TestEn(unittest.TestCase): - """ Tests person in the en locale """ + """Tests person in the en locale""" def setUp(self): - self.fake = Faker('en') + self.fake = Faker("en") Faker.seed(0) def test_suffix(self): - # Traditional suffix -- provider does not offer a nonbinary suffix at this time suffix = self.fake.suffix() self.assertIsInstance(suffix, str) @@ -700,9 +825,8 @@ def test_suffix(self): class TestOrIN(unittest.TestCase): - def setUp(self): - self.fake = Faker('or_IN') + self.fake = Faker("or_IN") Faker.seed(0) def test_first_names(self): @@ -720,11 +844,91 @@ def test_first_names(self): assert name in OrINProvider.first_names def test_middle_names(self): - """ test the middle name """ + """test the middle name""" name = self.fake.middle_name() assert name in OrINProvider.middle_names def test_last_names(self): - """ test the last name is generating from the provided tuple """ + """test the last name is generating from the provided tuple""" last_name = self.fake.last_name() assert last_name in OrINProvider.last_names + + +class TestEnIN(unittest.TestCase): + """Tests person in the en_IN locale""" + + def setUp(self): + self.fake = Faker("en_IN") + Faker.seed(0) + + def test_first_name(self): + first_name = self.fake.first_name() + assert first_name in EnINProvider.first_names + + def test_last_name(self): + last_name = self.fake.last_name() + assert last_name in EnINProvider.last_names + + +class TestEnIE(unittest.TestCase): + """Tests person in the en-IE locale""" + + def setUp(self): + self.fake = Faker("en-ie") + self.provider = EnIEProvider + Faker.seed(0) + + def test_first_name(self): + # General first name + name = self.fake.first_name() + assert name + self.assertIsInstance(name, str) + assert name in self.provider.first_names + + # Females first name + name = self.fake.first_name_female() + assert name + self.assertIsInstance(name, str) + assert name in self.provider.first_names + assert name in self.provider.first_names_female + + # Male first name + name = self.fake.first_name_male() + assert name + self.assertIsInstance(name, str) + assert name in self.provider.first_names + assert name in self.provider.first_names_male + + def test_last_name(self): + assert not hasattr(self.provider, "last_names_male") + assert not hasattr(self.provider, "last_names_female") + # All last names apply for all genders. + assert hasattr(self.provider, "last_names") + + # General last name. + name = self.fake.last_name() + assert name + self.assertIsInstance(name, str) + assert name in self.provider.last_names + + # Females last name. + name = self.fake.last_name_female() + assert name + self.assertIsInstance(name, str) + assert name in self.provider.last_names + assert name in self.provider.last_names + + # Male last name. + name = self.fake.last_name_male() + assert name + self.assertIsInstance(name, str) + assert name in self.provider.last_names + + +class TestGaIE(TestEnIE): + """Tests person in the ga-IE locale""" + + def setUp(self): + self.fake = Faker("ga-ie") + self.provider = GaIEProvider + Faker.seed(0) diff --git a/tests/providers/test_phone_number.py b/tests/providers/test_phone_number.py index 3ff20508f6..33f4438d30 100644 --- a/tests/providers/test_phone_number.py +++ b/tests/providers/test_phone_number.py @@ -1,5 +1,7 @@ import re +from typing import Pattern + from faker.providers.phone_number import Provider as PhoneNumberProvider from faker.providers.phone_number.en_PH import Provider as EnPhPhoneNumberProvider @@ -25,7 +27,7 @@ class TestJaJp: def test_phone_number(self, faker, num_samples): for _ in range(num_samples): - pattern = re.compile(r'(?:0[789]0|\d{2})-\d{4}-\d{4}') + pattern: Pattern = re.compile(r"(?:0[789]0|\d{2})-\d{4}-\d{4}") phone_number = faker.phone_number() assert pattern.fullmatch(phone_number) @@ -34,44 +36,40 @@ class TestPtBr: """Test pt_BR phone number provider methods""" def test_phone_number(self, faker, num_samples): - pattern = re.compile( - r'(?:\+55 )?' - r'(?:[1-8]1|84|\((?:0[1-8]1|084)\))' - r' \d{4}[ -]\d{4}', + pattern: Pattern = re.compile( + r"(?:\+55 )?" r"(?:[1-8]1|84|\((?:0[1-8]1|084)\))" r" \d{4}[ -]\d{4}|" r"\d{4}?[ -]\d{3}[ -]\d{4}", ) for _ in range(num_samples): phone_number = faker.phone_number() assert pattern.fullmatch(phone_number) def test_msisdn(self, faker, num_samples): - pattern = re.compile(r'55(?:[1-8]19|849)\d{8}') + pattern: Pattern = re.compile(r"55(?:[1-8]19|849)\d{8}") for _ in range(num_samples): msisdn = faker.msisdn() assert pattern.fullmatch(msisdn) def test_cellphone(self, faker, num_samples): - pattern = re.compile( - r'(?:\+55 )?' - r'(?:\d{2}|\(0?\d{2}\))' - r' 9 ?\d{4}[ -]\d{4}', + pattern: Pattern = re.compile( + r"(?:\+55 )?" r"(?:\d{2}|\(0?\d{2}\))" r" 9 ?\d{4}[ -]\d{4}", ) for _ in range(num_samples): cellphone = faker.cellphone_number() assert pattern.fullmatch(cellphone) + def test_service_phone(self, faker, num_samples): + pattern: Pattern = re.compile(r"1(?:0|2|5|8|9)?(?:[0-9])") + for _ in range(num_samples): + service = faker.service_phone_number() + assert pattern.fullmatch(service) + class TestHuHu: """Test hu_HU phone number provider methods""" def test_phone_number(self, faker, num_samples): - pattern = re.compile( - r'(?:' - r'\+36 \d{2} |' - r'\(06\)\d{2}/|' - r'\(\d{2}\)/|' - r'\d{2}/|' - r'06-\d{1,2}/' - r')\d{3}[- ]\d{4}', + pattern: Pattern = re.compile( + r"(?:" r"\+36 \d{2} |" r"\(06\)\d{2}/|" r"\(\d{2}\)/|" r"\d{2}/|" r"06-\d{1,2}/" r")\d{3}[- ]\d{4}", ) for _ in range(num_samples): phone_number = faker.phone_number() @@ -82,8 +80,16 @@ def test_phone_number(self, faker, num_samples): class TestThTh: """Test th_TH phone number provider methods""" - def test_phone_number_should_be_in_defined_format(self, faker, num_samples): - pattern = re.compile(r'\+668? \d{4} \d{4}') + def test_phone_number(self, faker, num_samples): + pattern: Pattern = re.compile( + # leading zero or internaional code + r"((\+66)|\+66[ -]?\(0\)|0)[ -]?" + # landline or mobile + r"([23457][ -]?(\d[ -]?){6}\d|[689][ -]?(\d[ -]?){7}\d)" + # extension + r"([ ]?(x|ext|ต่อ)[\.]?[ ]?\d{1,5})?", + re.IGNORECASE, + ) for _ in range(num_samples): phone_number = faker.phone_number() assert isinstance(phone_number, str) @@ -94,9 +100,8 @@ class TestHyAm: """Test hy_AM phone number provider methods""" def test_phone_number(self, faker, num_samples): - pattern = re.compile( - r'(?:[23]\d{2}-|\([23]\d{2}\) |[23]\d{2}\.)\d{5}|' - r'(?:(?:10|9\d)-|\((?:10|9\d)\) |(?:10|9\d)\.)\d{6}', + pattern: Pattern = re.compile( + r"(?:[23]\d{2}-|\([23]\d{2}\) |[23]\d{2}\.)\d{5}|" r"(?:(?:10|9\d)-|\((?:10|9\d)\) |(?:10|9\d)\.)\d{6}", ) for _ in range(num_samples): phone_number = faker.phone_number() @@ -109,9 +114,9 @@ class TestEnPh: @classmethod def setup_class(cls): - cls.mobile_number_pattern = re.compile(r'^(?:0|\+63)(\d+)-\d{3}-\d{4}$') - cls.area2_landline_number_pattern = re.compile(r'^(?:0|\+63)2-(\d{4})-\d{4}') - cls.non_area2_landline_number_pattern = re.compile(r'^(?:0|\+63)(\d{2})-(\d{3})-\d{4}') + cls.mobile_number_pattern: Pattern = re.compile(r"^(?:0|\+63)(\d+)-\d{3}-\d{4}$") + cls.area2_landline_number_pattern: Pattern = re.compile(r"^(?:0|\+63)2-(\d{4})-\d{4}") + cls.non_area2_landline_number_pattern: Pattern = re.compile(r"^(?:0|\+63)(\d{2})-(\d{3})-\d{4}") cls.globe_mobile_number_prefixes = EnPhPhoneNumberProvider.globe_mobile_number_prefixes cls.smart_mobile_number_prefixes = EnPhPhoneNumberProvider.smart_mobile_number_prefixes cls.sun_mobile_number_prefixes = EnPhPhoneNumberProvider.sun_mobile_number_prefixes @@ -150,13 +155,13 @@ def test_globe_area2_landline_number(self, faker, num_samples): for _ in range(num_samples): number = faker.globe_area2_landline_number() match = self.area2_landline_number_pattern.match(number) - assert match and match.group(1).startswith('7') + assert match and match.group(1).startswith("7") def test_pldt_area2_landline_number(self, faker, num_samples): for _ in range(num_samples): number = faker.pldt_area2_landline_number() match = self.area2_landline_number_pattern.match(number) - assert match and match.group(1).startswith('8') + assert match and match.group(1).startswith("8") def test_bayantel_area2_landline_number(self, faker, num_samples): for _ in range(num_samples): @@ -174,12 +179,14 @@ def test_area2_landline_number(self, faker, num_samples): for _ in range(num_samples): number = faker.area2_landline_number() match = self.area2_landline_number_pattern.match(number) - assert match and any([ - match.group(1).startswith('7'), - match.group(1).startswith('8'), - match.group(1) in self.bayantel_landline_identifiers, - match.group(1) in self.misc_landline_identifiers, - ]) + assert match and any( + [ + match.group(1).startswith("7"), + match.group(1).startswith("8"), + match.group(1) in self.bayantel_landline_identifiers, + match.group(1) in self.misc_landline_identifiers, + ] + ) def test_non_area2_landline_number(self, faker, num_samples): for _ in range(num_samples): @@ -194,23 +201,27 @@ def test_landline_number(self, faker, num_samples): non_area2_match = self.non_area2_landline_number_pattern.match(number) assert area2_match or non_area2_match if area2_match: - assert any([ - area2_match.group(1).startswith('7'), - area2_match.group(1).startswith('8'), - area2_match.group(1) in self.bayantel_landline_identifiers, - area2_match.group(1) in self.misc_landline_identifiers, - ]) + assert any( + [ + area2_match.group(1).startswith("7"), + area2_match.group(1).startswith("8"), + area2_match.group(1) in self.bayantel_landline_identifiers, + area2_match.group(1) in self.misc_landline_identifiers, + ] + ) elif non_area2_match: assert non_area2_match.group(1) in self.non_area2_landline_area_codes class TestFilPh(TestEnPh): """Test fil_PH phone number provider methods""" + pass class TestTlPh(TestEnPh): """Test tl_PH phone number provider methods""" + pass @@ -218,9 +229,8 @@ class TestTaIn: """Test ta_IN phone number provider methods""" def test_phone_number(self, faker, num_samples): - pattern = re.compile( - r'\+91 \d{3} ?\d{7}|' - r'0\d{2}(-)?\d{2}(?(1)| ?)\d{6}', + pattern: Pattern = re.compile( + r"\+91 \d{3} ?\d{7}|" r"0\d{2}(-)?\d{2}(?(1)| ?)\d{6}", ) for _ in range(num_samples): phone_number = faker.phone_number() @@ -231,10 +241,78 @@ class TestEsEs: """Test es_ES phone number provider methods""" def test_phone_number(self, faker, num_samples): - pattern = re.compile( - r'\+34 ?(?:7[0-4]|[689]\d)\d' - r'(?: \d{3} \d{3}|\d{6}| \d{2} \d{2} \d{2})', + pattern: Pattern = re.compile( + r"\+34 ?(?:7[0-4]|[689]\d)\d" r"(?: \d{3} \d{3}|\d{6}| \d{2} \d{2} \d{2})", ) for _ in range(num_samples): phone_number = faker.phone_number() assert pattern.fullmatch(phone_number) + + +class TestArAe: + """Test ar_AE phone number provider methods""" + + cellphone_pattern: str = r"(?:\+|00)971\s?5[024568]\s?\d{3}\s?\d{4}|" r"05[024568]\s?\d{3}\s?\d{4}" + telephone_pattern: str = r"(?:\+|00)971\s?[1234679]\s?\d{3}\s?\d{4}|" r"0[1234679]\s?\d{3}\s?\d{4}" + toll_pattern: str = r"200\d{4}|" r"600\d{6}|" r"800\d{3,7}" + service_phone_pattern: str = r"9(?:9(?:9|8|7|6|1)|01|22)" + + def test_cellphone_number(self, faker, num_samples): + pattern: Pattern = re.compile(self.cellphone_pattern) + for _ in range(num_samples): + cellphone = faker.cellphone_number() + assert pattern.fullmatch(cellphone) + + def test_telephone_number(self, faker, num_samples): + pattern: Pattern = re.compile(self.telephone_pattern) + for _ in range(num_samples): + telephone = faker.telephone_number() + assert pattern.fullmatch(telephone) + + def test_toll_number(self, faker, num_samples): + pattern: Pattern = re.compile(self.toll_pattern) + for _ in range(num_samples): + toll = faker.toll_number() + assert pattern.fullmatch(toll) + + def test_service_phone_number(self, faker, num_samples): + pattern: Pattern = re.compile(self.service_phone_pattern) + for _ in range(num_samples): + service = faker.service_phone_number() + assert pattern.fullmatch(service) + + def test_phone_number(self, faker, num_samples): + pattern: Pattern = re.compile( + rf"{self.cellphone_pattern}|" + rf"{self.telephone_pattern}|" + rf"{self.toll_pattern}|" + rf"{self.service_phone_pattern}", + ) + for _ in range(num_samples): + phone = faker.phone_number() + assert pattern.fullmatch(phone) + + +class TestFrFr: + def test_phone_number(self, faker, num_samples): + pattern_no_whitespaces: Pattern = re.compile( + r"^0\d{9}$", + ) + pattern_no_country_prefix: Pattern = re.compile( + r"^0\d \d{2} \d{2} \d{2} \d{2}$", + ) + pattern_country_prefix_1: Pattern = re.compile( + r"^\+33 \(0\)\d \d{2} \d{2} \d{2} \d{2}$", + ) + pattern_country_prefix_2: Pattern = re.compile( + r"^\+33 \d \d{2} \d{2} \d{2} \d{2}$", + ) + patterns = [ + pattern_no_whitespaces, + pattern_no_country_prefix, + pattern_country_prefix_1, + pattern_country_prefix_2, + ] + for _ in range(num_samples): + phone_number = faker.phone_number() + assert any([re.match(pattern, phone_number) for pattern in patterns]) diff --git a/tests/providers/test_profile.py b/tests/providers/test_profile.py new file mode 100644 index 0000000000..1312fdf2d4 --- /dev/null +++ b/tests/providers/test_profile.py @@ -0,0 +1,50 @@ +import unittest + +from faker import Faker + + +class TestProfileProvider(unittest.TestCase): + """Test profile provider methods""" + + num_samples = 10 + + def setUp(self): + self.fake = Faker() + Faker.seed(0) + + def test_simple_profile(self): + for _ in range(self.num_samples): + profile = self.fake.simple_profile() + assert isinstance(profile, dict) + assert len(profile["username"]) >= 1 + assert profile["sex"] in ["F", "M"] + + profile = self.fake.simple_profile(sex="F") + assert profile["sex"] == "F" + profile = self.fake.simple_profile(sex="M") + assert profile["sex"] == "M" + + def test_profile(self): + for _ in range(self.num_samples): + profile = self.fake.profile() + assert isinstance(profile, dict) + assert len(profile["username"]) >= 1 + assert profile["sex"] in ["F", "M"] + assert "website" in profile.keys() + + profile = self.fake.profile(sex="F") + assert profile["sex"] == "F" + profile = self.fake.profile(sex="M") + assert profile["sex"] == "M" + + profile = self.fake.profile(fields=["ssn", "name"]) + assert len(profile) == 2 + assert "ssn" in profile.keys() + assert "name" in profile.keys() + + profile = self.fake.profile(fields=[]) + assert len(profile) > 0 + assert "ssn" in profile.keys() + + profile = self.fake.profile(fields=["secret_org"]) + assert len(profile) == 0 diff --git a/tests/providers/test_python.py b/tests/providers/test_python.py index 6a8fa98119..68f2b1d45d 100644 --- a/tests/providers/test_python.py +++ b/tests/providers/test_python.py @@ -1,11 +1,74 @@ +import decimal +import sys import unittest import warnings from unittest.mock import patch +import pytest + from faker import Faker +@pytest.mark.parametrize( + "mock_random_number_source, right_digits, expected_decimal_part", + ( + ("1234567", 5, "12345"), + ("1234567", 0, "1"), # This is kinda interesting - same as 1 digit + ("1234567", 1, "1"), + ("1234567", 2, "12"), + ("0123", 1, "1"), + ), +) +def test_pyfloat_right_and_left_digits_positive(mock_random_number_source, right_digits, expected_decimal_part): + + # Remove the randomness from the test by mocking the `BaseProvider.random_number` value + def mock_random_number(self, digits=None, fix_len=False): + return int(mock_random_number_source[: digits or 1]) + + with patch("faker.providers.BaseProvider.random_number", mock_random_number): + result = Faker().pyfloat(left_digits=1, right_digits=right_digits, positive=True) + decimal_part = str(result).split(".")[1] + assert decimal_part == expected_decimal_part + + +def test_pyfloat_right_or_left_digit_overflow(): + + max_float_digits = sys.float_info.dig + faker = Faker() + + # Make random_int always return the maximum value input - makes it easy to reason about the code below + def mock_random_int(self, min=0, max=9999, step=1): + return max + + # Remove the randomness from the test by mocking the `BaseProvider.random_number` value + def mock_random_number(self, digits=None, fix_len=False): + return int("12345678901234567890"[: digits or 1]) + + with patch("faker.providers.BaseProvider.random_int", mock_random_int): + with patch("faker.providers.BaseProvider.random_number", mock_random_number): + + # A bit too much, but ~half on either side + with pytest.raises(ValueError, match="Asking for too many digits"): + faker.pyfloat( + left_digits=max_float_digits // 2 + 1, + right_digits=max_float_digits // 2 + 1, + ) + + # Asking for max digits on either side also fails, because we need one digit on the other side, i.e. + # 0.123123123, or 123123123.0 (at least needs to lead with `0.` or trail with `.0`). + with pytest.raises(ValueError, match="Asking for too many digits"): + faker.pyfloat(left_digits=max_float_digits) + with pytest.raises(ValueError, match="Asking for too many digits"): + faker.pyfloat(right_digits=max_float_digits) + + # Just the right amount of max digits on either side + result = faker.pyfloat(left_digits=max_float_digits - 1) + assert str(abs(result)) == "12345678901234.1" + result = faker.pyfloat(right_digits=max_float_digits - 1) + assert str(abs(result)) == "1.12345678901234" + + class TestPyint(unittest.TestCase): def setUp(self): self.fake = Faker() @@ -57,13 +120,13 @@ def test_right_digits(self): result = self.fake.pyfloat(right_digits=expected_right_digits) - right_digits = len(('%r' % result).split('.')[1]) + right_digits = len(("%r" % result).split(".")[1]) self.assertGreaterEqual(expected_right_digits, right_digits) def test_positive(self): result = self.fake.pyfloat(positive=True) - self.assertGreaterEqual(result, 0) + self.assertGreater(result, 0) self.assertEqual(result, abs(result)) def test_min_value(self): @@ -73,6 +136,16 @@ def test_min_value(self): result = self.fake.pyfloat(min_value=min_value) self.assertGreaterEqual(result, min_value) + def test_min_value_and_left_digits(self): + """ + Combining the min_value and left_digits keyword arguments produces + numbers that obey both of those constraints. + """ + + result = self.fake.pyfloat(left_digits=1, min_value=0) + self.assertLess(result, 10) + self.assertGreaterEqual(result, 0) + def test_max_value(self): max_values = (0, 10, -1000, 1000, 999999) @@ -80,11 +153,21 @@ def test_max_value(self): result = self.fake.pyfloat(max_value=max_value) self.assertLessEqual(result, max_value) + def test_max_value_zero_and_left_digits(self): + """ + Combining the max_value and left_digits keyword arguments produces + numbers that obey both of those constraints. + """ + + result = self.fake.pyfloat(left_digits=2, max_value=0) + self.assertLessEqual(result, 0) + self.assertGreater(result, -100) + def test_max_value_should_be_greater_than_min_value(self): """ An exception should be raised if min_value is greater than max_value """ - expected_message = 'Min value cannot be greater than max value' + expected_message = "Min value cannot be greater than max value" with self.assertRaises(ValueError) as raises: self.fake.pyfloat(min_value=100, max_value=0) @@ -99,7 +182,18 @@ def test_max_value_and_positive(self): result = self.fake.pyfloat(positive=True, max_value=100) self.assertLessEqual(result, 100) - self.assertGreaterEqual(result, 0) + self.assertGreater(result, 0) + + def test_max_and_min_value_negative(self): + """ + Combining the max_value and min_value keyword arguments with + negative values for each produces numbers that obey both of + those constraints. + """ + + result = self.fake.pyfloat(max_value=-100, min_value=-200) + self.assertLessEqual(result, -100) + self.assertGreaterEqual(result, -200) def test_positive_and_min_value_incompatible(self): """ @@ -107,35 +201,200 @@ def test_positive_and_min_value_incompatible(self): a negative min_value is provided. """ - expected_message = ( - "Cannot combine positive=True and negative min_value" - ) + expected_message = "Cannot combine positive=True with negative or zero min_value" with self.assertRaises(ValueError) as raises: self.fake.pyfloat(min_value=-100, positive=True) message = str(raises.exception) self.assertEqual(message, expected_message) + def test_positive_doesnt_return_zero(self): + """ + Choose the right_digits and max_value so it's guaranteed to return zero, + then watch as it doesn't because positive=True + """ + result = self.fake.pyfloat(positive=True, right_digits=0, max_value=1) + self.assertGreater(result, 0) -class TestPystrFormat(unittest.TestCase): +class TestPydecimal(unittest.TestCase): def setUp(self): - self.fake = Faker(includes=['tests.mymodule.en_US']) + self.fake = Faker() + Faker.seed(0) + + def test_pydecimal(self): + result = self.fake.pydecimal() + + self.assertIsInstance(result, decimal.Decimal) + + def test_left_digits(self): + expected_left_digits = 10 + + result = self.fake.pydecimal(left_digits=expected_left_digits) + + left_digits = len(str(abs(int(result)))) + self.assertGreaterEqual(expected_left_digits, left_digits) + + def test_right_digits(self): + expected_right_digits = 10 + + result = self.fake.pydecimal(right_digits=expected_right_digits) + + right_digits = len(str(result).split(".")[1]) + self.assertGreaterEqual(expected_right_digits, right_digits) + + def test_positive(self): + result = self.fake.pydecimal(positive=True) + + self.assertGreater(result, 0) + abs_result = -result if result < 0 else result # abs() result returns scientific notation + self.assertEqual(result, abs_result) + + def test_min_value(self): + min_values = (0, 10, -1000, 1000, 999999) + + for min_value in min_values: + result = self.fake.pydecimal(min_value=min_value) + self.assertGreaterEqual(result, min_value) + + def test_min_value_always_returns_a_decimal(self): + min_values = (0, 10, -1000, 1000, 999999) + + for min_value in min_values: + result = self.fake.pydecimal(min_value=min_value) + self.assertIsInstance(result, decimal.Decimal) + + def test_min_value_and_left_digits(self): + """ + Combining the min_value and left_digits keyword arguments produces + numbers that obey both of those constraints. + """ + + result = self.fake.pydecimal(left_digits=1, min_value=0) + self.assertLess(result, 10) + self.assertGreaterEqual(result, 0) + + def test_max_value(self): + max_values = (0, 10, -1000, 1000, 999999) + + for max_value in max_values: + result = self.fake.pydecimal(max_value=max_value) + self.assertLessEqual(result, max_value) + + def test_max_value_always_returns_a_decimal(self): + max_values = (0, 10, -1000, 1000, 999999) + + for max_value in max_values: + result = self.fake.pydecimal(max_value=max_value) + self.assertIsInstance(result, decimal.Decimal) + + def test_max_value_zero_and_left_digits(self): + """ + Combining the max_value and left_digits keyword arguments produces + numbers that obey both of those constraints. + """ + + result = self.fake.pydecimal(left_digits=2, max_value=0) + self.assertLessEqual(result, 0) + self.assertGreater(result, -100) + + def test_max_value_should_be_greater_than_min_value(self): + """ + An exception should be raised if min_value is greater than max_value + """ + expected_message = "Min value cannot be greater than max value" + with self.assertRaises(ValueError) as raises: + self.fake.pydecimal(min_value=100, max_value=0) + + message = str(raises.exception) + self.assertEqual(message, expected_message) + + def test_max_value_and_positive(self): + """ + Combining the max_value and positive keyword arguments produces + numbers that obey both of those constraints. + """ + + result = self.fake.pydecimal(positive=True, max_value=100) + self.assertLessEqual(result, 100) + self.assertGreater(result, 0) + + def test_max_and_min_value_negative(self): + """ + Combining the max_value and min_value keyword arguments with + negative values for each produces numbers that obey both of + those constraints. + """ + + result = self.fake.pydecimal(max_value=-100, min_value=-200) + self.assertLessEqual(result, -100) + self.assertGreaterEqual(result, -200) + + def test_positive_and_min_value_incompatible(self): + """ + An exception should be raised if positive=True is set, but + a negative min_value is provided. + """ + + expected_message = "Cannot combine positive=True with negative or zero min_value" + with self.assertRaises(ValueError) as raises: + self.fake.pydecimal(min_value=-100, positive=True) + + message = str(raises.exception) + self.assertEqual(message, expected_message) + + def test_positive_doesnt_return_zero(self): + """ + Choose the right_digits and max_value so it's guaranteed to return zero, + then watch as it doesn't because positive=True + """ + result = self.fake.pydecimal(positive=True, right_digits=0, max_value=1) + self.assertGreater(result, 0) + + def test_min_value_zero_doesnt_return_negative(self): + Faker.seed("1") + result = self.fake.pydecimal(left_digits=3, right_digits=2, min_value=0, max_value=999) + self.assertGreater(result, 0) + + def test_min_value_one_hundred_doesnt_return_negative(self): + Faker.seed("1") + result = self.fake.pydecimal(left_digits=3, right_digits=2, min_value=100, max_value=999) + self.assertGreater(result, 100) + + def test_min_value_minus_one_doesnt_return_positive(self): + Faker.seed("5") + result = self.fake.pydecimal(left_digits=3, right_digits=2, min_value=-999, max_value=0) + self.assertLess(result, 0) + + def test_min_value_minus_one_hundred_doesnt_return_positive(self): + Faker.seed("5") + result = self.fake.pydecimal(left_digits=3, right_digits=2, min_value=-999, max_value=-100) + self.assertLess(result, -100) + + def test_min_value_10_pow_1000_return_greater_number(self): + Faker.seed("2") + result = self.fake.pydecimal(min_value=10 ** 1000) + self.assertGreater(result, 10 ** 1000) + + +class TestPystrFormat(unittest.TestCase): + def setUp(self): + self.fake = Faker(includes=["tests.mymodule.en_US"]) Faker.seed(0) def test_formatter_invocation(self): - with patch.object(self.fake['en_US'], 'foo') as mock_foo: - with patch('faker.providers.BaseProvider.bothify', - wraps=self.fake.bothify) as mock_bothify: - mock_foo.return_value = 'barbar' - value = self.fake.pystr_format('{{foo}}?#?{{foo}}?#?{{foo}}', letters='abcde') - assert value.count('barbar') == 3 + with patch.object(self.fake["en_US"], "foo") as mock_foo: + with patch("faker.providers.BaseProvider.bothify", wraps=self.fake.bothify) as mock_bothify: + mock_foo.return_value = "barbar" + value = self.fake.pystr_format("{{foo}}?#?{{foo}}?#?{{foo}}", letters="abcde") + assert value.count("barbar") == 3 assert mock_foo.call_count == 3 - mock_bothify.assert_called_once_with('barbar?#?barbar?#?barbar', letters='abcde') + mock_bothify.assert_called_once_with("barbar?#?barbar?#?barbar", letters="abcde") class TestPython(unittest.TestCase): """Tests python generators""" + def setUp(self): self.factory = Faker() @@ -163,6 +422,21 @@ def py_str(self): with self.assertRaises(AssertionError): self.factory.pystr(min_chars=5, max_chars=5) + def test_pytuple(self): + with warnings.catch_warnings(record=True) as w: + some_tuple = Faker().pytuple() + assert len(w) == 0 + assert some_tuple + assert isinstance(some_tuple, tuple) + + def test_pytuple_size(self): + def mock_pyint(self, *args, **kwargs): + return 1 + + with patch("faker.providers.python.Provider.pyint", mock_pyint): + some_tuple = Faker().pytuple(nb_elements=3, variable_nb_elements=False, value_types=[int]) + assert some_tuple == (1, 1, 1) + def test_pylist(self): with warnings.catch_warnings(record=True) as w: some_list = self.factory.pylist() diff --git a/tests/providers/test_ssn.py b/tests/providers/test_ssn.py index 13999dd97b..03ecd0a078 100644 --- a/tests/providers/test_ssn.py +++ b/tests/providers/test_ssn.py @@ -3,6 +3,7 @@ from datetime import datetime from itertools import cycle +from typing import Pattern from unittest import mock import freezegun @@ -19,18 +20,21 @@ from faker.providers.ssn.es_MX import ssn_checksum as mx_ssn_checksum from faker.providers.ssn.et_EE import checksum as et_checksum from faker.providers.ssn.fi_FI import Provider as fi_Provider +from faker.providers.ssn.fr_FR import calculate_checksum as fr_calculate_checksum from faker.providers.ssn.hr_HR import checksum as hr_checksum from faker.providers.ssn.no_NO import Provider as no_Provider from faker.providers.ssn.no_NO import checksum as no_checksum from faker.providers.ssn.pl_PL import calculate_month as pl_calculate_mouth from faker.providers.ssn.pl_PL import checksum as pl_checksum from faker.providers.ssn.pt_BR import checksum as pt_checksum +from faker.providers.ssn.ro_RO import ssn_checksum as ro_ssn_checksum +from faker.providers.ssn.ro_RO import vat_checksum as ro_vat_checksum from faker.utils.checksums import luhn_checksum class TestSvSE(unittest.TestCase): def setUp(self): - self.fake = Faker('sv_SE') + self.fake = Faker("sv_SE") Faker.seed(0) def partial_sum(self, number, mult_factor): @@ -39,7 +43,7 @@ def partial_sum(self, number, mult_factor): def ssn_checksum(self, ssn): """Validates the checksum digit and returns a Boolean""" - ssn = ssn.replace('-', '') + ssn = ssn.replace("-", "") if len(ssn) == 12: ssn = ssn[2:] if len(ssn) != 10: @@ -53,14 +57,14 @@ def ssn_checksum(self, ssn): def validate_date_string(self, date_str): date_len = len(date_str) if date_len == 6: - year_fmt = '%y' + year_fmt = "%y" elif date_len == 8: - year_fmt = '%Y' + year_fmt = "%Y" else: return False try: - if date_str != datetime.strptime(date_str, '{}%m%d'.format(year_fmt)).strftime('{}%m%d'.format(year_fmt)): + if date_str != datetime.strptime(date_str, f"{year_fmt}%m%d").strftime(f"{year_fmt}%m%d"): raise ValueError return True except ValueError: @@ -70,91 +74,91 @@ def test_pers_id_short_with_dash(self): """Regression case that ensures previous implementations work as-is""" for _ in range(100): pers_id = self.fake.ssn() - assert re.search(r'\d{6}-\d{4}', pers_id) + assert re.search(r"\d{6}-\d{4}", pers_id) assert self.validate_date_string(pers_id[:6]) is True assert self.ssn_checksum(pers_id) is True def test_pers_id_short_no_dash(self): for _ in range(100): pers_id = self.fake.ssn(dash=False) - assert re.search(r'\d{10}', pers_id) + assert re.search(r"\d{10}", pers_id) assert self.validate_date_string(pers_id[:6]) is True assert self.ssn_checksum(pers_id) is True def test_pers_id_long_with_dash(self): for _ in range(100): pers_id = self.fake.ssn(long=True) - assert re.search(r'\d{8}-\d{4}', pers_id) + assert re.search(r"\d{8}-\d{4}", pers_id) assert self.validate_date_string(pers_id[:8]) is True assert self.ssn_checksum(pers_id) is True def test_pers_id_long_no_dash(self): for _ in range(100): pers_id = self.fake.ssn(long=True, dash=False) - assert re.search(r'\d{12}', pers_id) + assert re.search(r"\d{12}", pers_id) assert self.validate_date_string(pers_id[:8]) is True assert self.ssn_checksum(pers_id) is True def test_org_id_short_with_dash(self): for _ in range(100): org_id = self.fake.org_id() - assert re.search(r'\d{6}-\d{4}', org_id) + assert re.search(r"\d{6}-\d{4}", org_id) assert int(org_id[2:4]) >= 20 assert self.ssn_checksum(org_id) is True def test_org_id_short_no_dash(self): for _ in range(100): org_id = self.fake.org_id(dash=False) - assert re.search(r'\d{10}', org_id) + assert re.search(r"\d{10}", org_id) assert int(org_id[2:4]) >= 20 assert self.ssn_checksum(org_id) is True def test_org_id_long_with_dash(self): for _ in range(100): org_id = self.fake.org_id(long=True) - assert re.search(r'\d{8}-\d{4}', org_id) + assert re.search(r"\d{8}-\d{4}", org_id) assert int(org_id[4:6]) >= 20 assert self.ssn_checksum(org_id) is True def test_org_id_long_no_dash(self): for _ in range(100): org_id = self.fake.org_id(long=True, dash=False) - assert re.search(r'\d{12}', org_id) + assert re.search(r"\d{12}", org_id) assert int(org_id[4:6]) >= 20 assert self.ssn_checksum(org_id) is True def test_vat_id(self): for _ in range(100): vat_id = self.fake.vat_id() - assert re.search(r'SE\d{12}', vat_id) + assert re.search(r"SE\d{12}", vat_id) assert int(vat_id[2]) in (1, 2, 3, 5, 6, 7, 8, 9) assert int(vat_id[6:8]) >= 20 def test_org_and_vat_id(self): for _ in range(100): oid, vid = self.fake.org_and_vat_id() - assert oid.replace('-', '')[-10:] == vid[4:-2] - assert re.search(r'SE\d{12}', vid) + assert oid.replace("-", "")[-10:] == vid[4:-2] + assert re.search(r"SE\d{12}", vid) class TestBgBG(unittest.TestCase): def setUp(self): - self.fake = Faker('bg_BG') + self.fake = Faker("bg_BG") Faker.seed(0) def test_vat_id(self): for _ in range(100): - assert re.search(r'^BG\d{9,10}$', self.fake.vat_id()) + assert re.search(r"^BG\d{9,10}$", self.fake.vat_id()) class TestCsCZ(unittest.TestCase): def setUp(self): - self.fake = Faker('cs_CZ') + self.fake = Faker("cs_CZ") Faker.seed(0) def test_vat_id(self): for _ in range(100): - assert re.search(r'^CZ\d{8,10}$', self.fake.vat_id()) + assert re.search(r"^CZ\d{8,10}$", self.fake.vat_id()) def test_birth_number(self): for _ in range(100): @@ -166,12 +170,12 @@ def test_birth_number(self): class TestSkSK(unittest.TestCase): def setUp(self): - self.fake = Faker('sk_SK') + self.fake = Faker("sk_SK") Faker.seed(0) def test_vat_id(self): for _ in range(100): - assert re.search(r'^SK\d{10}$', self.fake.vat_id()) + assert re.search(r"^SK\d{10}$", self.fake.vat_id()) def test_birth_number(self): for _ in range(100): @@ -183,41 +187,41 @@ def test_birth_number(self): class TestDeAT(unittest.TestCase): def setUp(self): - self.fake = Faker('de_AT') + self.fake = Faker("de_AT") Faker.seed(0) def test_vat_id(self): for _ in range(100): - assert re.search(r'^ATU\d{8}$', self.fake.vat_id()) + assert re.search(r"^ATU\d{8}$", self.fake.vat_id()) class TestElCY(unittest.TestCase): def setUp(self): - self.fake = Faker('el_CY') + self.fake = Faker("el_CY") Faker.seed(0) def test_vat_id(self): for _ in range(100): - assert re.search(r'^CY\d{9}\w$', self.fake.vat_id()) + assert re.search(r"^CY\d{9}\w$", self.fake.vat_id()) class TestElGr(unittest.TestCase): def setUp(self): - self.fake = Faker('el_GR') + self.fake = Faker("el_GR") Faker.seed(0) def test_vat_id(self): for _ in range(100): - assert re.search(r'^EL\d{9}$', self.fake.vat_id()) + assert re.search(r"^EL\d{9}$", self.fake.vat_id()) def test_police_id(self): for _ in range(100): - assert re.search(r'^[ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ]{1,2} ?\d{6}$', self.fake.police_id()) + assert re.search(r"^[ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ]{1,2} ?\d{6}$", self.fake.police_id()) class TestEnCA(unittest.TestCase): def setUp(self): - self.fake = Faker('en_CA') + self.fake = Faker("en_CA") Faker.seed(0) def test_ssn(self): @@ -228,18 +232,18 @@ def test_ssn(self): # including spaces, consist of spaces and digits only, and # satisfy the validation algorithm. assert len(sin) == 11 - assert sin.replace(' ', '').isdigit() + assert sin.replace(" ", "").isdigit() assert ca_checksum(sin) == int(sin[-1]) class TestEnUS(unittest.TestCase): def setUp(self): - self.fake = Faker('en_US') + self.fake = Faker("en_US") Faker.seed(0) def test_ssn(self): for _ in range(100): - ssn = self.fake.ssn(taxpayer_identification_number_type='SSN') + ssn = self.fake.ssn(taxpayer_identification_number_type="SSN") # Ensure that generated SINs are 11 characters long # including dashes, consist of dashes and digits only, and @@ -263,14 +267,14 @@ def test_ssn(self): # https://en.wikipedia.org/wiki/Social_Security_number assert len(ssn) == 11 - assert ssn.replace('-', '').isdigit() + assert ssn.replace("-", "").isdigit() - [area, group, serial] = ssn.split('-') + [area, group, serial] = ssn.split("-") assert 1 <= int(area) <= 899 and int(area) != 666 assert 1 <= int(group) <= 99 assert 1 <= int(serial) <= 9999 - assert area != '666' + assert area != "666" def test_invalid_ssn(self): self.fake.random = random2.Random() @@ -332,35 +336,36 @@ def test_invalid_ssn(self): 96, 97, 98, - 99] + 99, + ] self.fake.seed_instance(1143) - ssn = self.fake.ssn(taxpayer_identification_number_type='INVALID_SSN') + ssn = self.fake.ssn(taxpayer_identification_number_type="INVALID_SSN") assert len(ssn) == 11 - assert ssn.replace('-', '').isdigit() - assert ssn.startswith('666') + assert ssn.replace("-", "").isdigit() + assert ssn.startswith("666") self.fake.seed_instance(1514) - ssn = self.fake.ssn(taxpayer_identification_number_type='INVALID_SSN') + ssn = self.fake.ssn(taxpayer_identification_number_type="INVALID_SSN") - assert ssn.startswith('000') + assert ssn.startswith("000") self.fake.seed_instance(2) - ssn = self.fake.ssn(taxpayer_identification_number_type='INVALID_SSN') - [area, group, serial] = ssn.split('-') + ssn = self.fake.ssn(taxpayer_identification_number_type="INVALID_SSN") + [area, group, serial] = ssn.split("-") assert 900 <= int(area) <= 999 and int(group) not in itin_group_numbers self.fake.seed_instance(9) - ssn = self.fake.ssn(taxpayer_identification_number_type='INVALID_SSN') - [area, group, serial] = ssn.split('-') + ssn = self.fake.ssn(taxpayer_identification_number_type="INVALID_SSN") + [area, group, serial] = ssn.split("-") assert int(area) < 900 and int(group) == 0 self.fake.seed_instance(1) - ssn = self.fake.ssn(taxpayer_identification_number_type='INVALID_SSN') - [area, group, serial] = ssn.split('-') + ssn = self.fake.ssn(taxpayer_identification_number_type="INVALID_SSN") + [area, group, serial] = ssn.split("-") assert int(area) < 900 and int(serial) == 0 @@ -371,12 +376,12 @@ def test_prohibited_ssn_value(self): Faker.seed(19031) ssn = self.fake.ssn() - [area, group, serial] = ssn.split('-') - assert area != '666' + [area, group, serial] = ssn.split("-") + assert area != "666" def test_itin(self): for _ in range(100): - itin = self.fake.ssn(taxpayer_identification_number_type='ITIN') + itin = self.fake.ssn(taxpayer_identification_number_type="ITIN") # Ensure that generated SINs are 11 characters long # including dashes, consist of dashes and digits only, and @@ -392,9 +397,9 @@ def test_itin(self): # https://www.irs.gov/individuals/international-taxpayers/general-itin-information assert len(itin) == 11 - assert itin.replace('-', '').isdigit() + assert itin.replace("-", "").isdigit() - [area, group, serial] = itin.split('-') + [area, group, serial] = itin.split("-") assert 900 <= int(area) <= 999 assert 70 <= int(group) <= 88 or 90 <= int(group) <= 92 or 94 <= int(group) <= 99 @@ -402,92 +407,93 @@ def test_itin(self): def test_ein(self): ein_prefix_choices = [ - '01', - '02', - '03', - '04', - '05', - '06', - '10', - '11', - '12', - '13', - '14', - '15', - '16', - '20', - '21', - '22', - '23', - '24', - '25', - '26', - '27', - '30', - '31', - '32', - '33', - '34', - '35', - '36', - '37', - '38', - '39', - '40', - '41', - '42', - '43', - '44', - '45', - '46', - '47', - '48', - '50', - '51', - '52', - '53', - '54', - '55', - '56', - '57', - '58', - '59', - '60', - '61', - '62', - '63', - '64', - '65', - '66', - '67', - '68', - '71', - '72', - '73', - '74', - '75', - '76', - '77', - '80', - '81', - '82', - '83', - '84', - '85', - '86', - '87', - '88', - '90', - '91', - '92', - '93', - '94', - '95', - '98', - '99'] - - for _ in range(100): - ein = self.fake.ssn(taxpayer_identification_number_type='EIN') + "01", + "02", + "03", + "04", + "05", + "06", + "10", + "11", + "12", + "13", + "14", + "15", + "16", + "20", + "21", + "22", + "23", + "24", + "25", + "26", + "27", + "30", + "31", + "32", + "33", + "34", + "35", + "36", + "37", + "38", + "39", + "40", + "41", + "42", + "43", + "44", + "45", + "46", + "47", + "48", + "50", + "51", + "52", + "53", + "54", + "55", + "56", + "57", + "58", + "59", + "60", + "61", + "62", + "63", + "64", + "65", + "66", + "67", + "68", + "71", + "72", + "73", + "74", + "75", + "76", + "77", + "80", + "81", + "82", + "83", + "84", + "85", + "86", + "87", + "88", + "90", + "91", + "92", + "93", + "94", + "95", + "98", + "99", + ] + + for _ in range(100): + ein = self.fake.ssn(taxpayer_identification_number_type="EIN") # An United States An Employer Identification Number (EIN) is # also known as a Federal Tax Identification Number, and is @@ -503,30 +509,30 @@ def test_ein(self): # https://www.irs.gov/businesses/small-businesses-self-employed/how-eins-are-assigned-and-valid-ein-prefixes assert len(ein) == 10 - assert ein.replace('-', '').isdigit() + assert ein.replace("-", "").isdigit() - [prefix, sequence] = ein.split('-') + [prefix, sequence] = ein.split("-") assert prefix in ein_prefix_choices assert 0 <= int(sequence) <= 9999999 def test_bad_tin_type(self): with self.assertRaises(ValueError): - self.fake.ssn(taxpayer_identification_number_type='badValue') + self.fake.ssn(taxpayer_identification_number_type="badValue") def test_wrong_tin_type_case(self): with self.assertRaises(ValueError): - self.fake.ssn(taxpayer_identification_number_type='ssn') + self.fake.ssn(taxpayer_identification_number_type="ssn") class TestEsES(unittest.TestCase): def setUp(self): - self.fake = Faker('es_ES') + self.fake = Faker("es_ES") Faker.seed(0) def test_vat_id(self): for _ in range(100): - assert re.search(r'^ES\w\d{8}$|^ES\d{8}\w$|^ES\w\d{7}\w$', self.fake.vat_id()) + assert re.search(r"^ES\w\d{8}$|^ES\d{8}\w$|^ES\w\d{7}\w$", self.fake.vat_id()) def test_nie(self): for _ in range(100): @@ -546,13 +552,13 @@ def test_doi(self): class TestEsCA(TestEsES): def setUp(self): - self.fake = Faker('es_CA') + self.fake = Faker("es_CA") Faker.seed(0) class TestEsMX(unittest.TestCase): def setUp(self): - self.fake = Faker('es_MX') + self.fake = Faker("es_MX") Faker.seed(0) def test_ssn(self): @@ -568,7 +574,7 @@ def test_curp(self): curp = self.fake.curp() assert len(curp) == 18 - assert re.search(r'^[A-Z]{4}\d{6}[A-Z]{6}[0A]\d$', curp) + assert re.search(r"^[A-Z]{4}\d{6}[A-Z]{6}[0A]\d$", curp) assert mx_curp_checksum(curp[:-1]) == int(curp[-1]) def test_rfc_natural(self): @@ -576,21 +582,21 @@ def test_rfc_natural(self): rfc = self.fake.rfc() assert len(rfc) == 13 - assert re.search(r'^[A-Z]{4}\d{6}[0-9A-Z]{3}$', rfc) + assert re.search(r"^[A-Z]{4}\d{6}[0-9A-Z]{3}$", rfc) def test_rfc_legal(self): for _ in range(100): rfc = self.fake.rfc(natural=False) assert len(rfc) == 12 - assert re.search(r'^[A-Z]{3}\d{6}[0-9A-Z]{3}$', rfc) + assert re.search(r"^[A-Z]{3}\d{6}[0-9A-Z]{3}$", rfc) class TestEtEE(unittest.TestCase): - """ Tests SSN in the et_EE locale """ + """Tests SSN in the et_EE locale""" def setUp(self): - self.fake = Faker('et_EE') + self.fake = Faker("et_EE") Faker.seed(0) def test_ssn_checksum(self): @@ -599,59 +605,59 @@ def test_ssn_checksum(self): assert et_checksum([4, 7, 0, 0, 4, 2, 1, 5, 0, 1]) == 2 assert et_checksum([3, 9, 7, 0, 3, 0, 4, 3, 3, 6]) == 0 - @freezegun.freeze_time('2019-03-11') + @freezegun.freeze_time("2019-03-11") def test_ssn(self): self.fake.random = random2.Random() self.fake.seed_instance(0) value = self.fake.ssn() - assert re.search(r'^\d{11}$', value) - assert not value.endswith('0') + assert re.search(r"^\d{11}$", value) + assert not value.endswith("0") self.fake.seed_instance(5) value = self.fake.ssn() - assert re.search(r'^\d{11}$', value) - assert value.endswith('0') + assert re.search(r"^\d{11}$", value) + assert value.endswith("0") - @freezegun.freeze_time('2002-01-01') + @freezegun.freeze_time("2002-01-01") def test_ssn_2000(self): self.fake.random = random2.Random() self.fake.seed_instance(0) value = self.fake.ssn(min_age=0, max_age=1) - assert re.search(r'^\d{11}$', value) - assert value[0] in ('5', '6') + assert re.search(r"^\d{11}$", value) + assert value[0] in ("5", "6") - @freezegun.freeze_time('2101-01-01') + @freezegun.freeze_time("2101-01-01") def test_ssn_2100(self): self.fake.random = random2.Random() self.fake.seed_instance(0) value = self.fake.ssn(min_age=0, max_age=1) - assert re.search(r'^\d{11}$', value) - assert value[0] in ('7', '8') + assert re.search(r"^\d{11}$", value) + assert value[0] in ("7", "8") def test_vat_id(self): for _ in range(100): - assert re.search(r'^EE\d{9}$', self.fake.vat_id()) + assert re.search(r"^EE\d{9}$", self.fake.vat_id()) class TestFiFI(unittest.TestCase): - """ Tests SSN in the fi_FI locale """ + """Tests SSN in the fi_FI locale""" def setUp(self): - self.fake = Faker('fi_FI') + self.fake = Faker("fi_FI") Faker.seed(0) self.provider = fi_Provider def test_century_code(self): - assert self.provider._get_century_code(1900) == '-' - assert self.provider._get_century_code(1999) == '-' - assert self.provider._get_century_code(2000) == 'A' - assert self.provider._get_century_code(2999) == 'A' - assert self.provider._get_century_code(1800) == '+' - assert self.provider._get_century_code(1899) == '+' + assert self.provider._get_century_code(1900) == "-" + assert self.provider._get_century_code(1999) == "-" + assert self.provider._get_century_code(2000) == "A" + assert self.provider._get_century_code(2999) == "A" + assert self.provider._get_century_code(1800) == "+" + assert self.provider._get_century_code(1899) == "+" with pytest.raises(ValueError): self.provider._get_century_code(1799) with pytest.raises(ValueError): @@ -673,29 +679,40 @@ def test_artifical_ssn(self): def test_vat_id(self): for _ in range(100): - assert re.search(r'^FI\d{8}$', self.fake.vat_id()) + assert re.search(r"^FI\d{8}$", self.fake.vat_id()) class TestFrFR(unittest.TestCase): def setUp(self): - self.fake = Faker('fr_FR') + self.fake = Faker("fr_FR") Faker.seed(0) def test_vat_id(self): for _ in range(100): - assert re.search(r'^FR[\w\d]{2} \d{9}$', self.fake.vat_id()) + assert re.search(r"^FR[\w\d]{2} \d{9}$", self.fake.vat_id()) + + def test_ssn(self) -> None: + for _ in range(100): + assert re.search(r"^\d{15}$", self.fake.ssn()) + + def test_checksum(self) -> None: + assert fr_calculate_checksum(2570533063999) == 3 class TestFrCH: - @pytest.mark.parametrize("digits,expected", [ - ("22500105", "CHE225001055"), - ("60362354", "CHE603623540"), - ("36806684", "CHE368066842"), - ], ids=[ - "checksum_remainder_11", - "checksum_remainder_10", - "checksum_remainder_other", - ]) + @pytest.mark.parametrize( + "digits,expected", + [ + ("22500105", "CHE225001055"), + ("60362354", "CHE603623540"), + ("36806684", "CHE368066842"), + ], + ids=[ + "checksum_remainder_11", + "checksum_remainder_10", + "checksum_remainder_other", + ], + ) def test_checksum(self, digits, expected): """The checksum of the Swiss UID number is calculated correctly given a certain input of 8 digits.""" @@ -713,19 +730,22 @@ def test_checksum(self, digits, expected): class TestEnGB(unittest.TestCase): def setUp(self): - self.fake = Faker('en_GB') + self.fake = Faker("en_GB") Faker.seed(0) def test_vat_id(self): for _ in range(100): - assert re.search(r'^GB\d{3} \d{4} \d{2}(?: \d{3})?$|^GB(?:GD|HA)\d{3}$', self.fake.vat_id()) + assert re.search( + r"^GB\d{3} \d{4} \d{2}(?: \d{3})?$|^GB(?:GD|HA)\d{3}$", + self.fake.vat_id(), + ) class TestHrHR(unittest.TestCase): - """ Tests SSN in the hr_HR locale """ + """Tests SSN in the hr_HR locale""" def setUp(self): - self.fake = Faker('hr_HR') + self.fake = Faker("hr_HR") Faker.seed(0) def test_ssn_checksum(self): @@ -738,16 +758,16 @@ def test_ssn_checksum(self): def test_ssn(self): for _ in range(100): - assert re.search(r'^\d{11}$', self.fake.ssn()) + assert re.search(r"^\d{11}$", self.fake.ssn()) def test_vat_id(self): for _ in range(100): - assert re.search(r'^HR\d{11}$', self.fake.vat_id()) + assert re.search(r"^HR\d{11}$", self.fake.vat_id()) class TestHuHU(unittest.TestCase): def setUp(self): - self.fake = Faker('hu_HU') + self.fake = Faker("hu_HU") Faker.seed(0) def test_ssn(self): @@ -758,12 +778,13 @@ def test_ssn(self): assert len(ssn) <= 12 for _ in range(100): - dob_val = '{:02d}{:02d}{:02d}'.format( - self.fake.random_int(0, 99), - self.fake.random_int(1, 12), - self.fake.random_int(1, 31)) + dob_val = ( + f"{self.fake.random_int(0, 99):02d}" + f"{self.fake.random_int(1, 12):02d}" + f"{self.fake.random_int(1, 31):02d}" + ) dob = self.fake.random.choice([None, dob_val]) - gender = self.fake.random.choice([None, 'F', 'M', 'z']) + gender = self.fake.random.choice([None, "F", "M", "z"]) try: ssn = self.fake.ssn(dob=dob, gender=gender) assert ssn.isdigit() @@ -774,12 +795,12 @@ def test_ssn(self): def test_vat_id(self): for _ in range(100): - assert re.search(r'^HU\d{8}$', self.fake.vat_id()) + assert re.search(r"^HU\d{8}$", self.fake.vat_id()) class TestPtBR(unittest.TestCase): def setUp(self): - self.fake = Faker('pt_BR') + self.fake = Faker("pt_BR") Faker.seed(0) def test_pt_BR_ssn_checksum(self): @@ -788,34 +809,34 @@ def test_pt_BR_ssn_checksum(self): def test_pt_BR_ssn(self): for _ in range(100): - assert re.search(r'^\d{11}$', self.fake.ssn()) + assert re.search(r"^\d{11}$", self.fake.ssn()) def test_pt_BR_cpf(self): for _ in range(100): - assert re.search(r'\d{3}\.\d{3}\.\d{3}-\d{2}', self.fake.cpf()) + assert re.search(r"\d{3}\.\d{3}\.\d{3}-\d{2}", self.fake.cpf()) def test_pt_BR_rg(self): for _ in range(100): to_test = self.fake.rg() - if 'X' in to_test: - assert re.search(r'^\d{8}X', to_test) + if "X" in to_test: + assert re.search(r"^\d{8}X", to_test) else: - assert re.search(r'^\d{9}$', to_test) + assert re.search(r"^\d{9}$", to_test) class TestNlNL(unittest.TestCase): def setUp(self): - self.fake = Faker('nl_NL') + self.fake = Faker("nl_NL") Faker.seed(0) def test_vat_id(self): for _ in range(100): - assert re.search(r'^NL\d{9}B\d{2}$', self.fake.vat_id()) + assert re.search(r"^NL\d{9}B\d{2}$", self.fake.vat_id()) class TestNoNO(unittest.TestCase): def setUp(self): - self.fake = Faker('no_NO') + self.fake = Faker("no_NO") Faker.seed(0) def test_no_NO_ssn_checksum(self): @@ -829,38 +850,37 @@ def test_no_NO_ssn(self): assert len(ssn) == 11 def test_no_NO_ssn_dob_passed(self): - test_data = [('20010203', '030201'), - ('19991231', '311299')] + test_data = [("20010203", "030201"), ("19991231", "311299")] for date_of_birth, expected_dob_part in test_data: ssn = self.fake.ssn(dob=date_of_birth) assert ssn[:6] == expected_dob_part def test_no_NO_ssn_invalid_dob_passed(self): with pytest.raises(ValueError): - self.fake.ssn(dob='010401') + self.fake.ssn(dob="010401") with pytest.raises(ValueError): - self.fake.ssn(dob='hello_world') + self.fake.ssn(dob="hello_world") with pytest.raises(ValueError): - self.fake.ssn(dob='001301') + self.fake.ssn(dob="001301") def test_no_NO_ssn_gender_passed(self): # Females have even number at index 8 - ssn = self.fake.ssn(gender='F') + ssn = self.fake.ssn(gender="F") assert int(ssn[8]) % 2 == 0 # Males have odd number at index 8 - ssn = self.fake.ssn(gender='M') + ssn = self.fake.ssn(gender="M") assert int(ssn[8]) % 2 == 1 def test_no_NO_ssn_invalid_gender_passed(self): with pytest.raises(ValueError): - self.fake.ssn(gender='A') + self.fake.ssn(gender="A") class TestPlPL(unittest.TestCase): - """ Tests SSN in the pl_PL locale """ + """Tests SSN in the pl_PL locale""" def setUp(self): - self.fake = Faker('pl_PL') + self.fake = Faker("pl_PL") Faker.seed(0) def test_ssn_checksum(self): @@ -871,44 +891,44 @@ def test_ssn_checksum(self): assert pl_checksum([8, 1, 1, 2, 1, 4, 1, 1, 8, 7]) == 6 def test_calculate_month(self): - assert pl_calculate_mouth(datetime.strptime('1 1 1900', '%m %d %Y')) == 1 - assert pl_calculate_mouth(datetime.strptime('12 1 1900', '%m %d %Y')) == 12 - assert pl_calculate_mouth(datetime.strptime('1 1 1999', '%m %d %Y')) == 1 + assert pl_calculate_mouth(datetime.strptime("1 1 1900", "%m %d %Y")) == 1 + assert pl_calculate_mouth(datetime.strptime("12 1 1900", "%m %d %Y")) == 12 + assert pl_calculate_mouth(datetime.strptime("1 1 1999", "%m %d %Y")) == 1 - assert pl_calculate_mouth(datetime.strptime('1 1 2000', '%m %d %Y')) == 21 - assert pl_calculate_mouth(datetime.strptime('12 1 2000', '%m %d %Y')) == 32 - assert pl_calculate_mouth(datetime.strptime('1 1 2099', '%m %d %Y')) == 21 + assert pl_calculate_mouth(datetime.strptime("1 1 2000", "%m %d %Y")) == 21 + assert pl_calculate_mouth(datetime.strptime("12 1 2000", "%m %d %Y")) == 32 + assert pl_calculate_mouth(datetime.strptime("1 1 2099", "%m %d %Y")) == 21 - assert pl_calculate_mouth(datetime.strptime('1 1 2100', '%m %d %Y')) == 41 - assert pl_calculate_mouth(datetime.strptime('12 1 2100', '%m %d %Y')) == 52 - assert pl_calculate_mouth(datetime.strptime('1 1 2199', '%m %d %Y')) == 41 + assert pl_calculate_mouth(datetime.strptime("1 1 2100", "%m %d %Y")) == 41 + assert pl_calculate_mouth(datetime.strptime("12 1 2100", "%m %d %Y")) == 52 + assert pl_calculate_mouth(datetime.strptime("1 1 2199", "%m %d %Y")) == 41 - assert pl_calculate_mouth(datetime.strptime('1 1 2200', '%m %d %Y')) == 61 - assert pl_calculate_mouth(datetime.strptime('12 1 2200', '%m %d %Y')) == 72 - assert pl_calculate_mouth(datetime.strptime('1 1 2299', '%m %d %Y')) == 61 + assert pl_calculate_mouth(datetime.strptime("1 1 2200", "%m %d %Y")) == 61 + assert pl_calculate_mouth(datetime.strptime("12 1 2200", "%m %d %Y")) == 72 + assert pl_calculate_mouth(datetime.strptime("1 1 2299", "%m %d %Y")) == 61 def test_ssn(self): for _ in range(100): - assert re.search(r'^\d{11}$', self.fake.ssn()) + assert re.search(r"^\d{11}$", self.fake.ssn()) def test_vat_id(self): for _ in range(100): - assert re.search(r'^PL\d{10}$', self.fake.vat_id()) + assert re.search(r"^PL\d{10}$", self.fake.vat_id()) class TestEnPh(unittest.TestCase): num_sample_runs = 1000 def setUp(self): - self.sss_pattern = re.compile(r'^\d{2}-\d{7}-\d$') - self.gsis_pattern = re.compile(r'^\d{11}$') - self.philhealth_pattern = re.compile(r'^\d{2}-\d{9}-\d$') - self.pagibig_pattern = re.compile(r'^\d{4}-\d{4}-\d{4}$') - self.umid_pattern = re.compile(r'^\d{4}-\d{7}-\d$') + self.sss_pattern: Pattern = re.compile(r"^\d{2}-\d{7}-\d$") + self.gsis_pattern: Pattern = re.compile(r"^\d{11}$") + self.philhealth_pattern: Pattern = re.compile(r"^\d{2}-\d{9}-\d$") + self.pagibig_pattern: Pattern = re.compile(r"^\d{4}-\d{4}-\d{4}$") + self.umid_pattern: Pattern = re.compile(r"^\d{4}-\d{7}-\d$") self.setup_faker() def setup_faker(self): - self.fake = Faker('en_PH') + self.fake = Faker("en_PH") Faker.seed(0) def test_PH_sss(self): @@ -933,16 +953,28 @@ def test_PH_umid(self): class TestFilPh(TestEnPh): - def setup_faker(self): - self.fake = Faker('fil_PH') + self.fake = Faker("fil_PH") Faker.seed(0) -class TestTlPh(TestEnPh): +class TestThTH(unittest.TestCase): + def setUp(self): + self.fake = Faker("th_TH") + Faker.seed(0) + + def test_ssn(self): + for _ in range(100): + assert re.search(r"^[1-8]-[1-9]\d{3}-\d{5}-\d{2}-\d$", self.fake.ssn()) + + def test_vat_id(self): + for _ in range(100): + assert re.search(r"^[1-8]-[1-9]\d{3}-\d{5}-\d{2}-\d$", self.fake.vat_id()) + +class TestTlPh(TestEnPh): def setup_faker(self): - self.fake = Faker('tl_PH') + self.fake = Faker("tl_PH") Faker.seed(0) @@ -950,7 +982,7 @@ class TestTrTr(unittest.TestCase): num_sample_runs = 10 def setUp(self): - self.fake = Faker('tr_TR') + self.fake = Faker("tr_TR") self.samples = [self.fake.ssn() for _ in range(self.num_sample_runs)] Faker.seed(0) @@ -962,12 +994,12 @@ def compare_first_ten_and_last_part(self): for sample in self.samples: first_ten_number = sample[:-1] last_part = sample[-1] - assert sum(list(map(lambda x: int(x), '{}'.format(first_ten_number)))) % 10 == last_part + assert sum(int(x) for x in f"{first_ten_number}") % 10 == last_part class TestEnIn(unittest.TestCase): def setUp(self): - self.fake = Faker('en_IN') + self.fake = Faker("en_IN") Faker.seed(0) test_samples = 10 self.aadhaar_ids = [self.fake.aadhaar_id() for _ in range(test_samples)] @@ -978,7 +1010,7 @@ def test_length(self): def test_first_digit_non_zero(self): for aadhar_id in self.aadhaar_ids: - assert aadhar_id[0] != '0' + assert aadhar_id[0] != "0" def test_valid_luhn(self): for aadhaar_id in self.aadhaar_ids: @@ -987,7 +1019,7 @@ def test_valid_luhn(self): class TestZhCN(unittest.TestCase): def setUp(self): - self.fake = Faker('zh_CN') + self.fake = Faker("zh_CN") Faker.seed(0) def test_zh_CN_ssn(self): @@ -997,16 +1029,56 @@ def test_zh_CN_ssn(self): def test_zh_CN_ssn_invalid_gender_passed(self): with pytest.raises(ValueError): - self.fake.ssn(gender='X') + self.fake.ssn(gender="X") with pytest.raises(ValueError): - self.fake.ssn(gender='*') + self.fake.ssn(gender="*") with pytest.raises(ValueError): - self.fake.ssn(gender='22') + self.fake.ssn(gender="22") def test_zh_CN_ssn_gender_passed(self): # Females have even number at index 17 - ssn = self.fake.ssn(gender='F') + ssn = self.fake.ssn(gender="F") assert int(ssn[16]) % 2 == 0 # Males have odd number at index 17 - ssn = self.fake.ssn(gender='M') + ssn = self.fake.ssn(gender="M") assert int(ssn[16]) % 2 == 1 + + +class TestRoRO(unittest.TestCase): + """Tests SSN in the ro_RO locale""" + + def setUp(self): + self.fake = Faker("ro_RO") + Faker.seed(0) + + def test_ssn_checksum(self): + assert ro_ssn_checksum("188050510739") == 0 + assert ro_ssn_checksum("181111512587") == 1 + assert ro_ssn_checksum("190123152499") == 2 + assert ro_ssn_checksum("601100452314") == 3 + assert ro_ssn_checksum("296072904713") == 4 + assert ro_ssn_checksum("601100452314") == 3 + assert ro_ssn_checksum("192080516368") == 6 + assert ro_ssn_checksum("602041144519") == 7 + assert ro_ssn_checksum("197061731387") == 8 + assert ro_ssn_checksum("294112120140") == 9 + + def test_ssn(self): + for _ in range(100): + assert re.search(r"^\d{13}$", self.fake.ssn()) + + def test_vat_checksum(self): + assert ro_vat_checksum("1") == 9 + assert ro_vat_checksum("41") == 8 + assert ro_vat_checksum("181") == 2 + assert ro_vat_checksum("82421") == 5 + assert ro_vat_checksum("424694") == 7 + assert ro_vat_checksum("3918774") == 6 + assert ro_vat_checksum("99380784") == 1 + assert ro_vat_checksum("971775895") == 8 + + def test_vat_id(self): + for _ in range(100): + vat = self.fake.vat_id().replace("RO", "") + assert vat.isdigit() + assert len(vat) >= 2 and len(vat) <= 10 diff --git a/tests/providers/test_user_agent.py b/tests/providers/test_user_agent.py index 0e8ab70ce6..5a48423279 100644 --- a/tests/providers/test_user_agent.py +++ b/tests/providers/test_user_agent.py @@ -1,21 +1,32 @@ import re +from typing import Pattern + from faker.providers.user_agent import Provider as UaProvider class TestUserAgentProvider: """Test user agent provider methods""" + num_samples = 1000 - android_token_pattern = re.compile(r'Android (?P\d+(?:\.\d){0,2})') - ios_token_pattern = re.compile(r'^(?P.*?); CPU \1 OS (?P\d+(?:_\d){0,2}) like Mac OS X') + android_token_pattern: Pattern = re.compile(r"Android (?P\d+(?:\.\d){0,2})") + ios_token_pattern: Pattern = re.compile( + r"^(?P.*?); CPU \1 OS " + r"(?P\d+(?:_\d){0,2}) like Mac OS X" + ) + mac_token_pattern: Pattern = re.compile(r"Macintosh; (?P.*?) Mac OS X 10_([5-9]|1[0-2])_(\d)") def test_android_platform_token(self, faker, num_samples): for _ in range(num_samples): match = self.android_token_pattern.fullmatch(faker.android_platform_token()) - assert match.group('android_version') in UaProvider.android_versions + assert match.group("android_version") in UaProvider.android_versions def test_ios_platform_token(self, faker, num_samples): for _ in range(num_samples): match = self.ios_token_pattern.fullmatch(faker.ios_platform_token()) - assert match.group('apple_device') in UaProvider.apple_devices - assert match.group('ios_version').replace('_', '.') in UaProvider.ios_versions + assert match.group("apple_device") in UaProvider.apple_devices + assert match.group("ios_version").replace("_", ".") in UaProvider.ios_versions + + def test_mac_platform_token(self, faker, num_samples): + for _ in range(num_samples): + match = self.mac_token_pattern.fullmatch(faker.mac_platform_token()) + assert match.group("mac_processor") in UaProvider.mac_processors diff --git a/tests/pytest/session_overrides/conftest.py b/tests/pytest/session_overrides/conftest.py index 61866c4670..19037b0c5d 100644 --- a/tests/pytest/session_overrides/conftest.py +++ b/tests/pytest/session_overrides/conftest.py @@ -1,18 +1,20 @@ -import os +from pathlib import Path import pytest -EXCLUSIVE_SESSION_FLAG = '--exclusive-faker-session' +EXCLUSIVE_SESSION_FLAG = "--exclusive-faker-session" SKIP_REASON = ( - 'This test is skipped by default since it depends on changes in the behavior of session-scoped fixtures. ' - 'Use a separate pytest run for tests like this with the "{flag}" flag specified.' -).format(flag=EXCLUSIVE_SESSION_FLAG) + f"This test is skipped by default since it depends on changes in the behavior of session-scoped fixtures. " + f'Use a separate pytest run for tests like this with the "{EXCLUSIVE_SESSION_FLAG}" flag specified.' +) def pytest_addoption(parser): parser.addoption( - EXCLUSIVE_SESSION_FLAG, action='store_true', default=False, - help='Allows tests that require an exclusive session to run', + EXCLUSIVE_SESSION_FLAG, + action="store_true", + default=False, + help="Allows tests that require an exclusive session to run", ) @@ -20,7 +22,7 @@ def pytest_collection_modifyitems(config, items): if config.getoption(EXCLUSIVE_SESSION_FLAG): return skip_lacks_exclusive_session = pytest.mark.skip(reason=SKIP_REASON) - session_overrides_dir = os.path.abspath(os.path.join(__file__, '..')) + session_overrides_dir = Path(__file__).resolve().parent for item in items: - if str(item.fspath).startswith(session_overrides_dir): + if str(item.fspath).startswith(str(session_overrides_dir)): item.add_marker(skip_lacks_exclusive_session) diff --git a/tests/pytest/session_overrides/session_locale/__init__.py b/tests/pytest/session_overrides/session_locale/__init__.py index 7a538d74f5..8cf482cd34 100644 --- a/tests/pytest/session_overrides/session_locale/__init__.py +++ b/tests/pytest/session_overrides/session_locale/__init__.py @@ -1 +1 @@ -_MODULE_LOCALES = ['en_GB'] +_MODULE_LOCALES = ["en_GB"] diff --git a/tests/pytest/session_overrides/session_locale/conftest.py b/tests/pytest/session_overrides/session_locale/conftest.py index 30f5640415..b4e00af8d3 100644 --- a/tests/pytest/session_overrides/session_locale/conftest.py +++ b/tests/pytest/session_overrides/session_locale/conftest.py @@ -3,6 +3,6 @@ from tests.pytest.session_overrides.session_locale import _MODULE_LOCALES -@pytest.fixture(scope='session', autouse=True) +@pytest.fixture(scope="session", autouse=True) def faker_session_locale(): return _MODULE_LOCALES diff --git a/tests/pytest/session_overrides/session_locale/test_autouse_faker_locale.py b/tests/pytest/session_overrides/session_locale/test_autouse_faker_locale.py index 8362743fb6..1e2d70a754 100644 --- a/tests/pytest/session_overrides/session_locale/test_autouse_faker_locale.py +++ b/tests/pytest/session_overrides/session_locale/test_autouse_faker_locale.py @@ -14,7 +14,7 @@ from faker.contrib.pytest.plugin import DEFAULT_SEED -_CHANGED_LOCALE = ['it_IT'] +_CHANGED_LOCALE = ["it_IT"] @pytest.fixture(autouse=True) diff --git a/tests/pytest/session_overrides/session_locale/test_autouse_faker_seed.py b/tests/pytest/session_overrides/session_locale/test_autouse_faker_seed.py index 4a4eac8ab8..6532a1cb77 100644 --- a/tests/pytest/session_overrides/session_locale/test_autouse_faker_seed.py +++ b/tests/pytest/session_overrides/session_locale/test_autouse_faker_seed.py @@ -18,7 +18,7 @@ @pytest.fixture() def faker_locale(): - return ['it_IT'] + return ["it_IT"] @pytest.fixture(autouse=True) diff --git a/tests/pytest/session_overrides/session_locale/test_manual_injection.py b/tests/pytest/session_overrides/session_locale/test_manual_injection.py index b03fe612de..bac0cf6ab6 100644 --- a/tests/pytest/session_overrides/session_locale/test_manual_injection.py +++ b/tests/pytest/session_overrides/session_locale/test_manual_injection.py @@ -16,7 +16,7 @@ @pytest.fixture() def faker_locale(): - return ['it_IT'] + return ["it_IT"] @pytest.fixture() diff --git a/tests/pytest/test_autouse_faker_locale.py b/tests/pytest/test_autouse_faker_locale.py index 492794d6b2..dc050d0bc6 100644 --- a/tests/pytest/test_autouse_faker_locale.py +++ b/tests/pytest/test_autouse_faker_locale.py @@ -14,7 +14,7 @@ from faker.contrib.pytest.plugin import DEFAULT_SEED -_CHANGED_LOCALE = ['it_IT'] +_CHANGED_LOCALE = ["it_IT"] @pytest.fixture(autouse=True) diff --git a/tests/pytest/test_autouse_faker_seed.py b/tests/pytest/test_autouse_faker_seed.py index 768a4899a9..925d3cb07b 100644 --- a/tests/pytest/test_autouse_faker_seed.py +++ b/tests/pytest/test_autouse_faker_seed.py @@ -19,7 +19,7 @@ @pytest.fixture() def faker_locale(): - return ['it_IT'] + return ["it_IT"] @pytest.fixture(autouse=True) diff --git a/tests/pytest/test_manual_injection.py b/tests/pytest/test_manual_injection.py index 5dd6f08f5f..b33021002f 100644 --- a/tests/pytest/test_manual_injection.py +++ b/tests/pytest/test_manual_injection.py @@ -16,7 +16,7 @@ @pytest.fixture() def faker_locale(): - return ['it_IT'] + return ["it_IT"] @pytest.fixture() diff --git a/tests/pytest/test_unique_clear.py b/tests/pytest/test_unique_clear.py new file mode 100644 index 0000000000..4bf382c9cb --- /dev/null +++ b/tests/pytest/test_unique_clear.py @@ -0,0 +1,37 @@ +def test_unique_clears(testdir): + """Successive uses of the `faker` pytest fixture have the + generated unique values cleared between functions.""" + + testdir.makepyfile( + """ + import pytest + from faker.exceptions import UniquenessException + + NUM_SAMPLES = 100 + + def test_fully_exhaust_unique_booleans(faker): + _dummy = [faker.boolean() for _ in range(NUM_SAMPLES)] + + faker.unique.boolean() + faker.unique.boolean() + with pytest.raises(UniquenessException): + faker.unique.boolean() + _dummy = [faker.boolean() for _ in range(NUM_SAMPLES)] + + def test_do_not_exhaust_booleans(faker): + faker.unique.boolean() + + def test_fully_exhaust_unique_booleans_again(faker): + _dummy = [faker.boolean() for _ in range(NUM_SAMPLES)] + + faker.unique.boolean() + faker.unique.boolean() + with pytest.raises(UniquenessException): + faker.unique.boolean() + _dummy = [faker.boolean() for _ in range(NUM_SAMPLES)] + """, + ) + + result = testdir.runpytest() + + result.assert_outcomes(passed=3) diff --git a/tests/sphinx/test_docstring.py b/tests/sphinx/test_docstring.py index 1a9b9f067b..f6053b753b 100644 --- a/tests/sphinx/test_docstring.py +++ b/tests/sphinx/test_docstring.py @@ -9,61 +9,83 @@ class TestProviderMethodDocstring: - def test_what_is_not_method(self): docstring = ProviderMethodDocstring( - app=MagicMock(), what='not_a_method', name='name', - obj=MagicMock, options=MagicMock(), lines=MagicMock(), + app=MagicMock(), + what="not_a_method", + name="name", + obj=MagicMock, + options=MagicMock(), + lines=MagicMock(), ) assert docstring.skipped def test_name_is_not_dotted_path_to_provider_method(self): docstring = ProviderMethodDocstring( - app=MagicMock(), what='method', name='faker.sphinx.docstring.ProviderMethodDocString._parse', - obj=MagicMock, options=MagicMock(), lines=MagicMock(), + app=MagicMock(), + what="method", + name="faker.sphinx.docstring.ProviderMethodDocString._parse", + obj=MagicMock, + options=MagicMock(), + lines=MagicMock(), ) assert docstring.skipped def test_name_is_dotted_path_to_base_provider_method(self): docstring = ProviderMethodDocstring( - app=MagicMock(), what='method', name='faker.providers.BaseProvider.bothify', - obj=MagicMock, options=MagicMock(), lines=MagicMock(), + app=MagicMock(), + what="method", + name="faker.providers.BaseProvider.bothify", + obj=MagicMock, + options=MagicMock(), + lines=MagicMock(), ) assert not docstring.skipped - assert docstring._method == 'bothify' + assert docstring._method == "bothify" assert docstring._locale == DEFAULT_LOCALE def test_name_is_dotted_path_to_standard_provider_method(self): docstring = ProviderMethodDocstring( - app=MagicMock(), what='method', name='faker.providers.barcode.Provider.upc_a', - obj=MagicMock, options=MagicMock(), lines=MagicMock(), + app=MagicMock(), + what="method", + name="faker.providers.barcode.Provider.upc_a", + obj=MagicMock, + options=MagicMock(), + lines=MagicMock(), ) assert not docstring.skipped - assert docstring._method == 'upc_a' + assert docstring._method == "upc_a" assert docstring._locale == DEFAULT_LOCALE def test_name_is_dotted_path_to_localized_provider_method(self): docstring = ProviderMethodDocstring( - app=MagicMock(), what='method', - name='faker.providers.automotive.en_PH.Provider.protocol_license_plate', - obj=MagicMock, options=MagicMock(), lines=MagicMock(), + app=MagicMock(), + what="method", + name="faker.providers.automotive.en_PH.Provider.protocol_license_plate", + obj=MagicMock, + options=MagicMock(), + lines=MagicMock(), ) assert not docstring.skipped - assert docstring._method == 'protocol_license_plate' - assert docstring._locale == 'en_PH' + assert docstring._method == "protocol_license_plate" + assert docstring._locale == "en_PH" - @mock.patch('faker.sphinx.docstring.logger.warning') + @mock.patch("faker.sphinx.docstring.logger.warning") def test_log_warning(self, mock_logger_warning): path = inspect.getfile(MagicMock) - name = 'faker.providers.color.Provider' + name = "faker.providers.color.Provider" docstring = ProviderMethodDocstring( - app=MagicMock(), what='method', name=name, - obj=MagicMock, options=MagicMock(), lines=MagicMock(), + app=MagicMock(), + what="method", + name=name, + obj=MagicMock, + options=MagicMock(), + lines=MagicMock(), ) - docstring._log_warning('Test Warning 1') - docstring._log_warning('Test Warning 2') + docstring._log_warning("Test Warning 1") + docstring._log_warning("Test Warning 2") - assert docstring._log_prefix == '{path}:docstring of {name}: WARNING:'.format(path=path, name=name) + assert docstring._log_prefix == f"{path}:docstring of {name}: WARNING:" calls = mock_logger_warning.call_args_list assert len(calls) == 2 @@ -72,38 +94,39 @@ def test_log_warning(self, mock_logger_warning): args, kwargs = calls[0] assert len(args) == 1 assert not kwargs - assert args[0] == '{path}:docstring of {name}: WARNING: Test Warning 1'.format(path=path, name=name) + assert args[0] == f"{path}:docstring of {name}: WARNING: Test Warning 1" # 2nd call to logger.warning args, kwargs = calls[1] assert len(args) == 1 assert not kwargs - assert args[0] == '{path}:docstring of {name}: WARNING: Test Warning 2'.format(path=path, name=name) + assert args[0] == f"{path}:docstring of {name}: WARNING: Test Warning 2" def test_stringify_results(self, faker): - class TestObject: - def __repr__(self): - return 'abcdefg' + return "abcdefg" docstring = ProviderMethodDocstring( - app=MagicMock(), what='method', - name='faker.providers.BaseProvider.bothify', - obj=MagicMock, options=MagicMock(), lines=[], + app=MagicMock(), + what="method", + name="faker.providers.BaseProvider.bothify", + obj=MagicMock, + options=MagicMock(), + lines=[], ) results = [ - '', # Empty string - '\'', # Single quote literal (escaped) - "'", # Single quote literal (unescaped) - '"', # Double quote literal (unescaped) - "\"", # Double quote literal (escaped) - 'aa\taaaaa\r\n', # String containing \t, \r, \n - b'abcdef', # Bytes object - True, # Booleans + "", # Empty string + "'", # Single quote literal (escaped) + "'", # Single quote literal (unescaped) + '"', # Double quote literal (unescaped) + '"', # Double quote literal (escaped) + "aa\taaaaa\r\n", # String containing \t, \r, \n + b"abcdef", # Bytes object + True, # Booleans False, - None, # None types - [1, 2, 3, 4, 5], # Other non-primitives + None, # None types + [1, 2, 3, 4, 5], # Other non-primitives (1, 2, 3, 4, 5), {1: 2, 2: 3, 3: 4, 4: 5}, faker.uuid4(cast_to=None), @@ -111,171 +134,187 @@ def __repr__(self): ] output = [docstring._stringify_result(result) for result in results] assert output == [ - "''", # Ends up as '' when printed - '"\'"', # Ends up as "'" when printed - '"\'"', # Ends up as "'" when printed - '\'"\'', # Ends up as '"' when printed - '\'"\'', # Ends up as '"' when printed - "'aa\\taaaaa\\r\\n'", # Ends up as 'aa\\taaaaa\\r\\n' when printed - "b'abcdef'", # Ends up as b'abcdef' when printed - 'True', # Ends up as True when printed - 'False', # Ends up as False when printed - 'None', # Ends up as None when printed - '[1, 2, 3, 4, 5]', # Ends up using object's __repr__ - '(1, 2, 3, 4, 5)', - '{1: 2, 2: 3, 3: 4, 4: 5}', + "''", # Ends up as '' when printed + '"\'"', # Ends up as "'" when printed + '"\'"', # Ends up as "'" when printed + "'\"'", # Ends up as '"' when printed + "'\"'", # Ends up as '"' when printed + "'aa\\taaaaa\\r\\n'", # Ends up as 'aa\\taaaaa\\r\\n' when printed + "b'abcdef'", # Ends up as b'abcdef' when printed + "True", # Ends up as True when printed + "False", # Ends up as False when printed + "None", # Ends up as None when printed + "[1, 2, 3, 4, 5]", # Ends up using object's __repr__ + "(1, 2, 3, 4, 5)", + "{1: 2, 2: 3, 3: 4, 4: 5}", "UUID('e3e70682-c209-4cac-a29f-6fbed82c07cd')", - 'abcdefg', + "abcdefg", ] - @mock.patch.object(ProviderMethodDocstring, '_log_warning') + @mock.patch.object(ProviderMethodDocstring, "_log_warning") def test_parsing_empty_lines(self, mock_log_warning): docstring = ProviderMethodDocstring( - app=MagicMock(), what='method', - name='faker.providers.BaseProvider.bothify', - obj=MagicMock, options=MagicMock(), lines=[], + app=MagicMock(), + what="method", + name="faker.providers.BaseProvider.bothify", + obj=MagicMock, + options=MagicMock(), + lines=[], ) assert not docstring.skipped assert len(docstring._samples) == 1 - assert docstring._samples[0] == Sample(DEFAULT_SAMPLE_SIZE, DEFAULT_SEED, '') + assert docstring._samples[0] == Sample(DEFAULT_SAMPLE_SIZE, DEFAULT_SEED, "") - @mock.patch.object(ProviderMethodDocstring, '_log_warning') + @mock.patch.object(ProviderMethodDocstring, "_log_warning") def test_parsing_single_line_non_sample(self, mock_log_warning): docstring = ProviderMethodDocstring( - app=MagicMock(), what='method', - name='faker.providers.BaseProvider.bothify', - obj=MagicMock, options=MagicMock(), lines=['lorem'], + app=MagicMock(), + what="method", + name="faker.providers.BaseProvider.bothify", + obj=MagicMock, + options=MagicMock(), + lines=["lorem"], ) assert not docstring.skipped assert len(docstring._samples) == 1 - assert docstring._samples[0] == Sample(DEFAULT_SAMPLE_SIZE, DEFAULT_SEED, '') + assert docstring._samples[0] == Sample(DEFAULT_SAMPLE_SIZE, DEFAULT_SEED, "") - @mock.patch.object(ProviderMethodDocstring, '_log_warning') + @mock.patch.object(ProviderMethodDocstring, "_log_warning") def test_parsing_single_line_valid_sample(self, mock_log_warning): docstring = ProviderMethodDocstring( - app=MagicMock(), what='method', - name='faker.providers.BaseProvider.bothify', - obj=MagicMock, options=MagicMock(), lines=[':sample: a=1'], + app=MagicMock(), + what="method", + name="faker.providers.BaseProvider.bothify", + obj=MagicMock, + options=MagicMock(), + lines=[":sample: a=1"], ) assert not docstring.skipped - assert docstring._samples == [Sample(5, 0, 'a=1')] + assert docstring._samples == [Sample(5, 0, "a=1")] - @mock.patch.object(ProviderMethodDocstring, '_log_warning') + @mock.patch.object(ProviderMethodDocstring, "_log_warning") def test_parsing_multiple_lines(self, mock_log_warning): lines = [ - 'lorem', # No-op, not a sample line - ':sample:', # Valid, default sample count, default seed, empty kwargs, 1st in expected - ':sample 10 2000:', # Invalid, size and seed must be specified as "keyword arguments" - ':sample 10 seed=1000:', # Invalid, size and seed must be specified as "keyword arguments" - ':sample size=10 1000:', # Invalid, size and seed must be specified as "keyword arguments" - ':sample size=0:', # Invalid, sample count cannot be zero - ':sample size=100:', # Valid, 100 samples, default seed, empty kwargs, 2nd in expected - ':sample size=0100:', # Invalid, leading zeroes are not allowed - ':sampler', # Invalid, starts with ":sample" but will not pass validation - ':sample :', # No-op, must be ":sample:" verbatim - ':sample seed=4761:', # Valid, default sample count, seed value of 4761 - '', # but line break was detected, so sample parsing stops here - 'ipsum', # No-op, not a sample line - ':sample sede=123', # Invalid, seed misspelled - ':sample size=4 seed=100:', # Valid, will reset to 5 samples, seed value of 100, empty kwargs, the 4th - ':sample seed=103 size=104:', # Invalid, "seed" kwarg must come after "size" kwarg - ':sample: a=1, b=2', # Valid, default count and seed with kwargs, the 5th - ':sample size=2222: a=2, b=1', # Valid, 2222 samples, default seed, and with kwargs, the 6th - ':sample 11 12:', # Invalid, seed value must be set with "seed=" prefix - ':sample seed=3333: d=3', # Valid, default count, seed value of 3333, with kwargs, the 7th - ':sample size=3333 seed=2222: c=1', # Valid, 3333 samples, seed value of 2222, with kwargs, the 8th - - ':sample size=10 seed=10:', # Valid 9th, 10 samples, seed value of 10, with kwargs - ' arg1=1,', # and will continue reading the next few lines + "lorem", # No-op, not a sample line + ":sample:", # Valid, default sample count, default seed, empty kwargs, 1st in expected + ":sample 10 2000:", # Invalid, size and seed must be specified as "keyword arguments" + ":sample 10 seed=1000:", # Invalid, size and seed must be specified as "keyword arguments" + ":sample size=10 1000:", # Invalid, size and seed must be specified as "keyword arguments" + ":sample size=0:", # Invalid, sample count cannot be zero + ":sample size=100:", # Valid, 100 samples, default seed, empty kwargs, 2nd in expected + ":sample size=0100:", # Invalid, leading zeroes are not allowed + ":sampler", # Invalid, starts with ":sample" but will not pass validation + ":sample :", # No-op, must be ":sample:" verbatim + ":sample seed=4761:", # Valid, default sample count, seed value of 4761 + "", # but line break was detected, so sample parsing stops here + "ipsum", # No-op, not a sample line + ":sample sede=123", # Invalid, seed misspelled + ":sample size=4 seed=100:", # Valid, will reset to 5 samples, seed value of 100, empty kwargs, the 4th + ":sample seed=103 size=104:", # Invalid, "seed" kwarg must come after "size" kwarg + ":sample: a=1, b=2", # Valid, default count and seed with kwargs, the 5th + ":sample size=2222: a=2, b=1", # Valid, 2222 samples, default seed, and with kwargs, the 6th + ":sample 11 12:", # Invalid, seed value must be set with "seed=" prefix + ":sample seed=3333: d=3", # Valid, default count, seed value of 3333, with kwargs, the 7th + ":sample size=3333 seed=2222: c=1", # Valid, 3333 samples, seed value of 2222, with kwargs, the 8th + ":sample size=10 seed=10:", # Valid 9th, 10 samples, seed value of 10, with kwargs + " arg1=1,", # and will continue reading the next few lines ' arg2="val2",arg3="val3",', # and will prettify (missing whitespace after comma) - ' arg4=4 , arg5=5,', # and will remove excess whitespaces here - ' arg6="ar g6",', # but not if whitespaces are within double quotes - " arg7=' ar g 7',", # or within single quotes - ' arg8="aaa,aaa"', # and will not prettify commas within quotes - - ':sample size=20 seed=3456:', # Valid 10th, 20 samples, seed value of 3456, with kwargs - 'arg1="val1,val1,val1",', # and this is very similar to previous sample - 'arg2="val2",', # and it is ok not to have leading whitespaces in continuation lines - 'arg3="val3 val3",', # and it is ok to have a trailing comma after the last kwarg + " arg4=4 , arg5=5,", # and will remove excess whitespaces here + ' arg6="ar g6",', # but not if whitespaces are within double quotes + " arg7=' ar g 7',", # or within single quotes + ' arg8="aaa,aaa"', # and will not prettify commas within quotes + ":sample size=20 seed=3456:", # Valid 10th, 20 samples, seed value of 3456, with kwargs + 'arg1="val1,val1,val1",', # and this is very similar to previous sample + 'arg2="val2",', # and it is ok not to have leading whitespaces in continuation lines + 'arg3="val3 val3",', # and it is ok to have a trailing comma after the last kwarg ] expected_output = [ - Sample(DEFAULT_SAMPLE_SIZE, DEFAULT_SEED, ''), # 1st sample parsed - Sample(100, DEFAULT_SEED, ''), # 2nd sample parsed - Sample(DEFAULT_SAMPLE_SIZE, 4761, ''), # 3rd sample parsed - Sample(5, 100, ''), # 4th sample parsed - Sample(DEFAULT_SAMPLE_SIZE, DEFAULT_SEED, 'a=1, b=2'), # 5th sample parsed - Sample(2222, DEFAULT_SEED, 'a=2, b=1'), # 6th sample parsed - Sample(DEFAULT_SAMPLE_SIZE, 3333, 'd=3'), # 7th sample parsed - Sample(3333, 2222, 'c=1'), # 8th sample parsed - Sample( # 9th sample parsed - 10, 10, + Sample(DEFAULT_SAMPLE_SIZE, DEFAULT_SEED, ""), # 1st sample parsed + Sample(100, DEFAULT_SEED, ""), # 2nd sample parsed + Sample(DEFAULT_SAMPLE_SIZE, 4761, ""), # 3rd sample parsed + Sample(5, 100, ""), # 4th sample parsed + Sample(DEFAULT_SAMPLE_SIZE, DEFAULT_SEED, "a=1, b=2"), # 5th sample parsed + Sample(2222, DEFAULT_SEED, "a=2, b=1"), # 6th sample parsed + Sample(DEFAULT_SAMPLE_SIZE, 3333, "d=3"), # 7th sample parsed + Sample(3333, 2222, "c=1"), # 8th sample parsed + Sample( # 9th sample parsed + 10, + 10, 'arg1=1, arg2="val2", arg3="val3", arg4=4, arg5=5, arg6="ar g6", arg7=\' ar g 7\', arg8="aaa,aaa"', ), - Sample( # 10th sample parsed - 20, 3456, 'arg1="val1,val1,val1", arg2="val2", arg3="val3 val3",', + Sample( # 10th sample parsed + 20, + 3456, + 'arg1="val1,val1,val1", arg2="val2", arg3="val3 val3",', ), ] docstring = ProviderMethodDocstring( - app=MagicMock(), what='method', - name='faker.providers.BaseProvider.bothify', - obj=MagicMock, options=MagicMock(), lines=lines, + app=MagicMock(), + what="method", + name="faker.providers.BaseProvider.bothify", + obj=MagicMock, + options=MagicMock(), + lines=lines, ) assert not docstring.skipped assert docstring._samples == expected_output - @mock.patch.object(ProviderMethodDocstring, '_log_warning') + @mock.patch.object(ProviderMethodDocstring, "_log_warning") def test_end_to_end_sample_generation(self, mock_warning, faker): - non_sample_lines = ['lorem', 'ipsum', 'dolor', 'sit', 'amet'] + non_sample_lines = ["lorem", "ipsum", "dolor", "sit", "amet"] valid_sample_lines = [ - ":sample 1234jdbvhjdbygdvbhxjhx", # Will fail during sample section processing, 1st log warning - ":sample: invalid_arg='value'", # Will fail during sample generation, 2nd log warning + ":sample 1234jdbvhjdbygdvbhxjhx", # Will fail during sample section processing, 1st log warning + ":sample: invalid_arg='value'", # Will fail during sample generation, 2nd log warning ":sample size=3 seed=1000: text='???###'", # 1st sample generation - ":sample: number=100**100**100", # Will fail SampleCodeValidator validation, 3rd log warning - ":sample seed=3210: letters='abcde'", # 2nd sample generation - ":sample size=10 seed=1: abcd='abcd'", # Will fail during sample generation, 4th log warning - ":sample size=20 seed=1234: text='???###', ", # 3rd sample generation + ":sample: number=100**100**100", # Will fail SampleCodeValidator validation, 3rd log warning + ":sample seed=3210: letters='abcde'", # 2nd sample generation + ":sample size=10 seed=1: abcd='abcd'", # Will fail during sample generation, 4th log warning + ":sample size=20 seed=1234: text='???###', ", # 3rd sample generation " letters='abcde'", ] lines = non_sample_lines + valid_sample_lines docstring = ProviderMethodDocstring( - app=MagicMock(), what='method', - name='faker.providers.BaseProvider.bothify', - obj=MagicMock, options=MagicMock(), lines=lines, + app=MagicMock(), + what="method", + name="faker.providers.BaseProvider.bothify", + obj=MagicMock, + options=MagicMock(), + lines=lines, ) - output = docstring.lines[len(non_sample_lines):] - assert output[0] == ':examples:' + output = docstring.lines[len(non_sample_lines) :] + assert output[0] == ":examples:" # 1st sample generation faker.seed_instance(1000) - assert output[1] == '' - assert output[2] == '>>> Faker.seed(1000)' - assert output[3] == '>>> for _ in range(5):' + assert output[1] == "" + assert output[2] == ">>> Faker.seed(1000)" + assert output[3] == ">>> for _ in range(5):" assert output[4] == "... fake.bothify(text='???###')" - assert output[5] == '...' + assert output[5] == "..." for i in range(6, 11): - assert output[i] == docstring._stringify_result(faker.bothify(text='???###')) + assert output[i] == docstring._stringify_result(faker.bothify(text="???###")) # 2nd sample generation faker.seed_instance(3210) - assert output[11] == '' - assert output[12] == '>>> Faker.seed(3210)' - assert output[13] == '>>> for _ in range(5):' + assert output[11] == "" + assert output[12] == ">>> Faker.seed(3210)" + assert output[13] == ">>> for _ in range(5):" assert output[14] == "... fake.bothify(letters='abcde')" - assert output[15] == '...' + assert output[15] == "..." for i in range(16, 21): - assert output[i] == docstring._stringify_result(faker.bothify(letters='abcde')) + assert output[i] == docstring._stringify_result(faker.bothify(letters="abcde")) # 3rd sample generation faker.seed_instance(1234) - assert output[21] == '' - assert output[22] == '>>> Faker.seed(1234)' - assert output[23] == '>>> for _ in range(20):' + assert output[21] == "" + assert output[22] == ">>> Faker.seed(1234)" + assert output[23] == ">>> for _ in range(20):" assert output[24] == "... fake.bothify(text='???###', letters='abcde')" - assert output[25] == '...' + assert output[25] == "..." for i in range(26, 46): - assert output[i] == docstring._stringify_result(faker.bothify(text='???###', letters='abcde')) + assert output[i] == docstring._stringify_result(faker.bothify(text="???###", letters="abcde")) calls = mock_warning.call_args_list assert len(calls) == 4 diff --git a/tests/sphinx/test_validator.py b/tests/sphinx/test_validator.py index ccc8923e87..bb8b02ce34 100644 --- a/tests/sphinx/test_validator.py +++ b/tests/sphinx/test_validator.py @@ -7,92 +7,91 @@ class TestSampleCodeValidator: - - @mock.patch('faker.sphinx.validator.ast.parse') + @mock.patch("faker.sphinx.validator.ast.parse") def test_ast_parser_called_in_eval_mode(self, mock_ast_parse): - command = 'variable.method()' + command = "variable.method()" mock_ast_parse.assert_not_called() SampleCodeValidator(command) - mock_ast_parse.assert_called_with(command, mode='eval') + mock_ast_parse.assert_called_with(command, mode="eval") def test_invalid_syntax(self): - validator = SampleCodeValidator('[T___T)') + validator = SampleCodeValidator("[T___T)") assert validator.errors def test_single_instance_of_variable_access(self): - validator = SampleCodeValidator('variable1') + validator = SampleCodeValidator("variable1") assert not validator.errors - validator = SampleCodeValidator('[variable2]') + validator = SampleCodeValidator("[variable2]") assert not validator.errors - validator = SampleCodeValidator('[variable1, variable1]') + validator = SampleCodeValidator("[variable1, variable1]") assert validator.errors - validator = SampleCodeValidator('[variable1, variable2]') + validator = SampleCodeValidator("[variable1, variable2]") assert validator.errors def test_ordereddict_variable_access_exception(self): - validator = SampleCodeValidator('[OrderedDict]') + validator = SampleCodeValidator("[OrderedDict]") assert not validator.errors - validator = SampleCodeValidator('[OrderedDict, variable1]') + validator = SampleCodeValidator("[OrderedDict, variable1]") assert not validator.errors - validator = SampleCodeValidator('[OrderedDict, OrderedDict, OrderedDict, OrderedDict]') + validator = SampleCodeValidator("[OrderedDict, OrderedDict, OrderedDict, OrderedDict]") assert not validator.errors - validator = SampleCodeValidator('[OrderedDict, OrderedDict, OrderedDict, OrderedDict, variable1]') + validator = SampleCodeValidator("[OrderedDict, OrderedDict, OrderedDict, OrderedDict, variable1]") assert not validator.errors - validator = SampleCodeValidator('[OrderedDict, variable1, variable2]') + validator = SampleCodeValidator("[OrderedDict, variable1, variable2]") assert validator.errors - validator = SampleCodeValidator('[OrderedDict2, variable1]') + validator = SampleCodeValidator("[OrderedDict2, variable1]") assert validator.errors def test_single_instance_of_attribute_access(self): - validator = SampleCodeValidator('variable.attr1') + validator = SampleCodeValidator("variable.attr1") assert not validator.errors - validator = SampleCodeValidator('variable.attr1.attr2') + validator = SampleCodeValidator("variable.attr1.attr2") assert validator.errors def test_single_instance_of_method_or_function_call(self): - validator = SampleCodeValidator('variable.method1()') + validator = SampleCodeValidator("variable.method1()") assert not validator.errors - validator = SampleCodeValidator('variable.method1().method2()') + validator = SampleCodeValidator("variable.method1().method2()") assert validator.errors def test_ordereddict_constructor_exception(self): - validator = SampleCodeValidator('OrderedDict()') + validator = SampleCodeValidator("OrderedDict()") assert not validator.errors - validator = SampleCodeValidator('variable.method1(OrderedDict())') + validator = SampleCodeValidator("variable.method1(OrderedDict())") assert not validator.errors - validator = SampleCodeValidator('variable.method1(OrderedDict2())') + validator = SampleCodeValidator("variable.method1(OrderedDict2())") assert validator.errors - validator = SampleCodeValidator('variable.method1(OrderedDict(), OrderedDict(), OrderedDict())') + validator = SampleCodeValidator("variable.method1(OrderedDict(), OrderedDict(), OrderedDict())") assert not validator.errors - validator = SampleCodeValidator('variable.method1().method2(OrderedDict())') + validator = SampleCodeValidator("variable.method1().method2(OrderedDict())") assert validator.errors def test_allowed_literal_types(self): commands = [ - 'variable.method(12345)', + "variable.method(12345)", 'variable.method("12345")', 'variable.method(b"12345")', - 'variable.method([1, 2, 3, 4, 5])', - 'variable.method((1, 2, 3, 4, 5))', - 'variable.method({1, 2, 3, 4, 5})', + "variable.method([1, 2, 3, 4, 5])", + "variable.method((1, 2, 3, 4, 5))", + "variable.method({1, 2, 3, 4, 5})", 'variable.method({"value": 12345})', - 'variable.method(True)', - 'variable.method(False)', - 'variable.method(None)', + "variable.method(True)", + "variable.method(False)", + "variable.method(None)", ] for command in commands: @@ -100,7 +99,7 @@ def test_allowed_literal_types(self): assert not validator.errors def test_prohibited_literal_types(self): - commands = ['variable.method(...)'] + commands = ["variable.method(...)"] if sys.version_info[0] == 3 and sys.version_info[1] >= 6: commands.append('f"{variable}"') @@ -111,42 +110,38 @@ def test_prohibited_literal_types(self): def test_prohibited_operations(self): commands = [ # Unary Operations - '+variable', - '-variable', - 'not variable', - '~variable', - + "+variable", + "-variable", + "not variable", + "~variable", # Mathematical Operations - 'variable + 5', - 'variable - 5', - 'variable * 5', - 'variable / 5', - 'variable // 5', - 'variable % 5', - 'variable ** 5', - + "variable + 5", + "variable - 5", + "variable * 5", + "variable / 5", + "variable // 5", + "variable % 5", + "variable ** 5", # Bitwise Operations - 'variable << 5', - 'variable >> 5', - 'variable | 5', - 'variable ^ 5', - 'variable & 5', - + "variable << 5", + "variable >> 5", + "variable | 5", + "variable ^ 5", + "variable & 5", # Boolean Operations - 'variable and True', - 'variable or True', - + "variable and True", + "variable or True", # Comparisons - 'variable is None', - 'variable is not None', - 'variable in [1, 2, 3, 4, 5]', - 'variable not in [1, 2, 3, 4, 5]', - 'variable == 5', - 'variable != 5', - 'variable < 5', - 'variable <= 5', - 'variable > 5', - 'variable >= 5', + "variable is None", + "variable is not None", + "variable in [1, 2, 3, 4, 5]", + "variable not in [1, 2, 3, 4, 5]", + "variable == 5", + "variable != 5", + "variable < 5", + "variable <= 5", + "variable > 5", + "variable >= 5", ] for command in commands: @@ -155,15 +150,15 @@ def test_prohibited_operations(self): def test_other_prohibited_expressions(self): commands = [ - 'variable if True else 1', - 'variable[1]', - 'variable[1:3]', - 'variable[1:3, 2]', - '[True for _ in [1, 2, 3]]', - '(True for _ in [1, 2, 3])', - '{True for _ in [1, 2, 3]}', - '{str(_): _ for _ in [1, 2, 3]}', - 'lambda x: x', + "variable if True else 1", + "variable[1]", + "variable[1:3]", + "variable[1:3, 2]", + "[True for _ in [1, 2, 3]]", + "(True for _ in [1, 2, 3])", + "{True for _ in [1, 2, 3]}", + "{str(_): _ for _ in [1, 2, 3]}", + "lambda x: x", ] for command in commands: diff --git a/tests/test_factory.py b/tests/test_factory.py index a8913e72bc..f1561c3356 100644 --- a/tests/test_factory.py +++ b/tests/test_factory.py @@ -12,24 +12,25 @@ class FactoryTestCase(unittest.TestCase): - def setUp(self): self.generator = Generator() def test_documentor(self): from faker.cli import print_doc + output = io.StringIO() print_doc(output=output) - print_doc('address', output=output) - print_doc('faker.providers.person.it_IT', output=output) + print_doc("address", output=output) + print_doc("faker.providers.person.it_IT", output=output) assert output.getvalue() def test_command(self): from faker.cli import Command + orig_stdout = sys.stdout try: sys.stdout = io.StringIO() - command = Command(['faker', 'address']) + command = Command(["faker", "address"]) command.execute() assert sys.stdout.getvalue() finally: @@ -37,10 +38,11 @@ def test_command(self): def test_command_custom_provider(self): from faker.cli import Command + orig_stdout = sys.stdout try: sys.stdout = io.StringIO() - command = Command(['faker', 'foo', '-i', 'tests.mymodule.en_US']) + command = Command(["faker", "foo", "-i", "tests.mymodule.en_US"]) command.execute() assert sys.stdout.getvalue() finally: @@ -48,45 +50,54 @@ def test_command_custom_provider(self): def test_cli_seed(self): from faker.cli import Command + orig_stdout = sys.stdout try: sys.stdout = io.StringIO() - base_args = ['faker', 'address'] - target_args = ['--seed', '967'] - commands = [Command(base_args + target_args), Command(base_args + target_args)] + base_args = ["faker", "address"] + target_args = ["--seed", "967"] + commands = [ + Command(base_args + target_args), + Command(base_args + target_args), + ] cli_output = [None] * 2 for i in range(2): commands[i].execute() cli_output[i] = sys.stdout.getvalue() - cli_output[1] = cli_output[1][len(cli_output[0]):] + cli_output[1] = cli_output[1][len(cli_output[0]) :] assert cli_output[0][:10] == cli_output[1][:10] finally: sys.stdout = orig_stdout def test_cli_seed_with_repeat(self): from faker.cli import Command + orig_stdout = sys.stdout try: sys.stdout = io.StringIO() - base_args = ['faker', 'address', '-r', '3'] - target_args = ['--seed', '967'] - commands = [Command(base_args + target_args), Command(base_args + target_args)] + base_args = ["faker", "address", "-r", "3"] + target_args = ["--seed", "967"] + commands = [ + Command(base_args + target_args), + Command(base_args + target_args), + ] cli_output = [None] * 2 for i in range(2): commands[i].execute() cli_output[i] = sys.stdout.getvalue() - cli_output[1] = cli_output[1][len(cli_output[0]):] + cli_output[1] = cli_output[1][len(cli_output[0]) :] assert cli_output[0] == cli_output[1] finally: sys.stdout = orig_stdout def test_cli_verbosity(self): from faker.cli import Command + orig_stdout = sys.stdout try: sys.stdout = io.StringIO() - base_args = ['faker', 'address', '--seed', '769'] - target_args = ['-v'] + base_args = ["faker", "address", "--seed", "769"] + target_args = ["-v"] commands = [Command(base_args), Command(base_args + target_args)] cli_output = [None] * 2 for i in range(2): @@ -99,46 +110,47 @@ def test_cli_verbosity(self): def test_slugify(self): slug = text.slugify("a'b/c") - assert slug == 'abc' + assert slug == "abc" slug = text.slugify("àeìöú") - assert slug == 'aeiou' + assert slug == "aeiou" slug = text.slugify("àeì.öú") - assert slug == 'aeiou' + assert slug == "aeiou" slug = text.slugify("àeì.öú", allow_dots=True) - assert slug == 'aei.ou' + assert slug == "aei.ou" slug = text.slugify("àeì.öú", allow_unicode=True) - assert slug == 'àeìöú' + assert slug == "àeìöú" slug = text.slugify("àeì.öú", allow_unicode=True, allow_dots=True) - assert slug == 'àeì.öú' + assert slug == "àeì.öú" @decorators.slugify def fn(s): return s slug = fn("a'b/c") - assert slug == 'abc' + assert slug == "abc" @decorators.slugify_domain def fn(s): return s slug = fn("a'b/.c") - assert slug == 'ab.c' + assert slug == "ab.c" @decorators.slugify_unicode def fn(s): return s slug = fn("a'b/.cé") - assert slug == 'abcé' + assert slug == "abcé" def test_binary(self): from faker.providers.misc import Provider + provider = Provider(self.generator) for _ in range(999): @@ -158,6 +170,7 @@ def test_binary(self): def test_password(self): from faker.providers.misc import Provider + provider = Provider(self.generator) def in_string(char, _str): @@ -184,6 +197,7 @@ def test_prefix_suffix_always_string(self): def test_random_pystr_characters(self): from faker.providers.python import Provider + provider = Provider(self.generator) characters = provider.pystr() @@ -191,14 +205,15 @@ def test_random_pystr_characters(self): characters = provider.pystr(max_chars=255) assert len(characters) == 255 characters = provider.pystr(max_chars=0) - assert characters == '' + assert characters == "" characters = provider.pystr(max_chars=-10) - assert characters == '' + assert characters == "" characters = provider.pystr(min_chars=10, max_chars=255) - assert (len(characters) >= 10) + assert len(characters) >= 10 def test_random_pyfloat(self): from faker.providers.python import Provider + provider = Provider(self.generator) assert 0 <= abs(provider.pyfloat(left_digits=1)) < 10 @@ -235,6 +250,14 @@ def test_negative_pyfloat(self): assert any(fake.pyfloat(left_digits=0, positive=False) < 0 for _ in range(100)) assert any(fake.pydecimal(left_digits=0, positive=False) < 0 for _ in range(100)) + def test_arbitrary_digits_pydecimal(self): + # tests for https://github.com/joke2k/faker/issues/1462 + fake = Faker() + assert any( + len(str(fake.pydecimal(left_digits=sys.float_info.dig + i))) > sys.float_info.dig for i in range(100) + ) + assert any(len(str(fake.pydecimal())) > sys.float_info.dig for _ in range(100)) + def test_pyfloat_empty_range_error(self): # tests for https://github.com/joke2k/faker/issues/1048 fake = Faker() @@ -254,14 +277,14 @@ def test_us_ssn_valid(self): for i in range(1000): ssn = provider.ssn() assert len(ssn) == 11 - assert ssn[0] != '9' - assert ssn[0:3] != '666' - assert ssn[0:3] != '000' - assert ssn[4:6] != '00' - assert ssn[7:11] != '0000' + assert ssn[0] != "9" + assert ssn[0:3] != "666" + assert ssn[0:3] != "000" + assert ssn[4:6] != "00" + assert ssn[7:11] != "0000" def test_nl_BE_ssn_valid(self): - fake = Faker('nl_BE') + fake = Faker("nl_BE") for i in range(1000): ssn = fake.ssn() @@ -286,11 +309,11 @@ def test_nl_BE_ssn_valid(self): def test_instance_seed_chain(self): factory = Factory.create() - names = ['Real Name0', 'Real Name1', 'Real Name2', 'Real Name0', 'Real Name2'] + names = ["Real Name0", "Real Name1", "Real Name2", "Real Name0", "Real Name2"] anonymized = [factory.seed_instance(name).name() for name in names] assert anonymized[0] == anonymized[3] assert anonymized[2] == anonymized[4] -if __name__ == '__main__': +if __name__ == "__main__": unittest.main() # pragma: no cover diff --git a/tests/test_generator.py b/tests/test_generator.py index c38cbd7507..39aed2ac1e 100644 --- a/tests/test_generator.py +++ b/tests/test_generator.py @@ -6,18 +6,16 @@ class BarProvider: - def foo_formatter(self): - return 'barfoo' + return "barfoo" class FooProvider: - def foo_formatter(self): - return 'foobar' + return "foobar" - def foo_formatter_with_arguments(self, param='', append=''): - return 'baz' + str(param) + str(append) + def foo_formatter_with_arguments(self, param="", append=""): + return "baz" + str(param) + str(append) @pytest.fixture(autouse=True) @@ -29,92 +27,93 @@ def generator(): class TestGenerator: """Test Generator class""" + def test_get_formatter_returns_correct_formatter(self, generator): foo_provider = generator.providers[0] - formatter = generator.get_formatter('foo_formatter') + formatter = generator.get_formatter("foo_formatter") assert callable(formatter) and formatter == foo_provider.foo_formatter def test_get_formatter_with_unknown_formatter(self, generator): with pytest.raises(AttributeError) as excinfo: - generator.get_formatter('barFormatter') - assert str(excinfo.value) == 'Unknown formatter "barFormatter"' + generator.get_formatter("barFormatter") + assert str(excinfo.value) == "Unknown formatter 'barFormatter'" - fake = Faker('it_IT') + fake = Faker("it_IT") with pytest.raises(AttributeError) as excinfo: - fake.get_formatter('barFormatter') - assert str(excinfo.value) == 'Unknown formatter "barFormatter" with locale "it_IT"' + fake.get_formatter("barFormatter") + assert str(excinfo.value) == "Unknown formatter 'barFormatter' with locale 'it_IT'" def test_format_calls_formatter_on_provider(self, generator): - assert generator.format('foo_formatter') == 'foobar' + assert generator.format("foo_formatter") == "foobar" def test_format_passes_arguments_to_formatter(self, generator): - result = generator.format('foo_formatter_with_arguments', 'foo', append='!') - assert result == 'bazfoo!' + result = generator.format("foo_formatter_with_arguments", "foo", append="!") + assert result == "bazfoo!" def test_add_provider_overrides_old_provider(self, generator): - assert generator.format('foo_formatter') == 'foobar' + assert generator.format("foo_formatter") == "foobar" generator.add_provider(BarProvider()) - assert generator.format('foo_formatter') == 'barfoo' + assert generator.format("foo_formatter") == "barfoo" def test_parse_without_formatter_tokens(self, generator): - assert generator.parse('fooBar#?') == 'fooBar#?' + assert generator.parse("fooBar#?") == "fooBar#?" def test_parse_with_valid_formatter_tokens(self, generator): result = generator.parse('This is {{foo_formatter}} a text with "{{ foo_formatter }}"') assert result == 'This is foobar a text with "foobar"' def test_arguments_group_with_values(self, generator): - generator.set_arguments('group1', 'argument1', 1) - generator.set_arguments('group1', 'argument2', 2) - assert generator.get_arguments('group1', 'argument1') == 1 - assert generator.del_arguments('group1', 'argument2') == 2 - assert generator.get_arguments('group1', 'argument2') is None - assert generator.get_arguments('group1') == {'argument1': 1} + generator.set_arguments("group1", "argument1", 1) + generator.set_arguments("group1", "argument2", 2) + assert generator.get_arguments("group1", "argument1") == 1 + assert generator.del_arguments("group1", "argument2") == 2 + assert generator.get_arguments("group1", "argument2") is None + assert generator.get_arguments("group1") == {"argument1": 1} def test_arguments_group_with_dictionaries(self, generator): - generator.set_arguments('group2', {'argument1': 3, 'argument2': 4}) - assert generator.get_arguments('group2') == {'argument1': 3, 'argument2': 4} - assert generator.del_arguments('group2') == {'argument1': 3, 'argument2': 4} - assert generator.get_arguments('group2') is None + generator.set_arguments("group2", {"argument1": 3, "argument2": 4}) + assert generator.get_arguments("group2") == {"argument1": 3, "argument2": 4} + assert generator.del_arguments("group2") == {"argument1": 3, "argument2": 4} + assert generator.get_arguments("group2") is None def test_arguments_group_with_invalid_name(self, generator): - assert generator.get_arguments('group3') is None - assert generator.del_arguments('group3') is None + assert generator.get_arguments("group3") is None + assert generator.del_arguments("group3") is None def test_arguments_group_with_invalid_argument_type(self, generator): with pytest.raises(ValueError) as excinfo: - generator.set_arguments('group', ['foo', 'bar']) + generator.set_arguments("group", ["foo", "bar"]) assert str(excinfo.value) == "Arguments must be either a string or dictionary" def test_parse_with_valid_formatter_arguments(self, generator): - generator.set_arguments('format_name', {"param": "foo", "append": "bar"}) + generator.set_arguments("format_name", {"param": "foo", "append": "bar"}) result = generator.parse('This is "{{foo_formatter_with_arguments:format_name}}"') - generator.del_arguments('format_name') + generator.del_arguments("format_name") assert result == 'This is "bazfoobar"' def test_parse_with_unknown_arguments_group(self, generator): with pytest.raises(AttributeError) as excinfo: generator.parse('This is "{{foo_formatter_with_arguments:unknown}}"') - assert str(excinfo.value) == 'Unknown argument group "unknown"' + assert str(excinfo.value) == "Unknown argument group 'unknown'" def test_parse_with_unknown_formatter_token(self, generator): with pytest.raises(AttributeError) as excinfo: - generator.parse('{{barFormatter}}') - assert str(excinfo.value) == 'Unknown formatter "barFormatter"' + generator.parse("{{barFormatter}}") + assert str(excinfo.value) == "Unknown formatter 'barFormatter'" def test_magic_call_calls_format(self, generator): - assert generator.foo_formatter() == 'foobar' + assert generator.foo_formatter() == "foobar" def test_magic_call_calls_format_with_arguments(self, generator): - assert generator.foo_formatter_with_arguments('foo') == 'bazfoo' + assert generator.foo_formatter_with_arguments("foo") == "bazfoo" - @patch('faker.generator.random_module.getstate') + @patch("faker.generator.random_module.getstate") def test_get_random(self, mock_system_random, generator): random_instance = generator.random random_instance.getstate() mock_system_random.assert_not_called() - @patch('faker.generator.random_module.seed') + @patch("faker.generator.random_module.seed") def test_random_seed_doesnt_seed_system_random(self, mock_system_random, generator): # Save original state of shared random instance to avoid affecting other tests state = generator.random.getstate() diff --git a/tests/test_providers_formats.py b/tests/test_providers_formats.py new file mode 100644 index 0000000000..e4ebd4c2d4 --- /dev/null +++ b/tests/test_providers_formats.py @@ -0,0 +1,65 @@ +import re + +import pytest + +from faker import Factory +from faker.config import AVAILABLE_LOCALES, PROVIDERS + +locales = AVAILABLE_LOCALES + +# searches {{group}} and capture the _group_ +find_group = re.compile(r"\{\{(\w+)\}\}") + + +@pytest.mark.parametrize("locale", locales) +def test_no_invalid_formats(locale): + """ + For each locale, for each provider, search all the definitions of "formats" + and make sure that all the providers in there (e.g. {{group}}) are valid + and do not emit empty strings. Empty strings are allowed only if the group + is not surrounded by spaces. This is a quick way to make sure that no + string is generated with "double spaces", starting spaces or ending spaces. + """ + faker = Factory.create(locale) + errors = [] + + for provider in PROVIDERS: + if provider == "faker.providers": + continue + prov_cls, lang = Factory._get_provider_class(provider, locale) + assert lang == locale + + attributes = set(dir(prov_cls)) + + for attribute in attributes: + # consider only the format attributes + if not attribute.endswith("formats"): + continue + formats = getattr(prov_cls, attribute) + # may be a function or some other bizarre types + if not isinstance(formats, (list, tuple)): + continue + for format in formats: + # search all the {{groups}} in the format + for match in find_group.finditer(format): + group = match.group(1) + try: + attr = faker.format(group) + except AttributeError as e: + errors.append(str(e)) + continue + # touching = True if the group is touching sometime on at + # least one side, i.e. it's not surrounded by spaces + touching = False + if match.start() != 0 and format[match.start() - 1] != " ": + touching = True + if match.end() != len(format) and format[match.end()] != " ": + touching = True + + if not attr and not touching: + errors.append( + "Attribute {{%s}} provided an invalid value in format '%s' from %s.%s.%s" + % (group, format, provider, locale, attribute), + ) + # group errors reporting all the ones from the same locale + assert not errors, "Errors:\n - " + "\n - ".join(errors) diff --git a/tests/test_proxy.py b/tests/test_proxy.py index 2b48d2bfdf..c0b2e25a44 100644 --- a/tests/test_proxy.py +++ b/tests/test_proxy.py @@ -1,3 +1,7 @@ +import copy +import pickle +import random + from collections import OrderedDict from unittest.mock import PropertyMock, patch @@ -18,21 +22,21 @@ def test_unspecified_locale(self): assert fake.locales[0] == DEFAULT_LOCALE def test_locale_as_string(self): - locale = 'en_US' + locale = "en_US" fake = Faker(locale) assert len(fake.locales) == 1 assert len(fake.factories) == 1 assert fake.locales[0] == locale def test_locale_as_list(self): - locale = ['en-US', 'en_PH', 'ja_JP', 'de-DE'] - expected = ['en_US', 'en_PH', 'ja_JP', 'de_DE'] + locale = ["en-US", "en_PH", "ja_JP", "de-DE"] + expected = ["en_US", "en_PH", "ja_JP", "de_DE"] fake = Faker(locale) assert fake.locales == expected assert len(fake.factories) == len(expected) - locale = ['en-US', 'en_PH', 'ja_JP', 'de-DE', 'ja-JP', 'de_DE', 'en-US'] * 3 - expected = ['en_US', 'en_PH', 'ja_JP', 'de_DE'] + locale = ["en-US", "en_PH", "ja_JP", "de-DE", "ja-JP", "de_DE", "en-US"] * 3 + expected = ["en_US", "en_PH", "ja_JP", "de_DE"] fake = Faker(locale) assert fake.locales == expected assert len(fake.factories) == len(expected) @@ -44,64 +48,72 @@ def test_locale_as_list_invalid_value_type(self): assert str(exc.value) == 'The locale "1" must be a string.' def test_locale_as_ordereddict(self): - locale = OrderedDict([ - ('de_DE', 3), - ('en-US', 2), - ('en-PH', 1), - ('ja_JP', 5), - ]) + locale = OrderedDict( + [ + ("de_DE", 3), + ("en-US", 2), + ("en-PH", 1), + ("ja_JP", 5), + ] + ) fake = Faker(locale) - assert fake.locales == ['de_DE', 'en_US', 'en_PH', 'ja_JP'] + assert fake.locales == ["de_DE", "en_US", "en_PH", "ja_JP"] assert len(fake.factories) == 4 assert fake.weights == [3, 2, 1, 5] - locale = OrderedDict([ - ('de_DE', 3), - ('en-US', 2), - ('en-PH', 1), - ('ja_JP', 5), - ('de-DE', 4), - ('ja-JP', 2), - ('en-US', 1), - ]) + locale = OrderedDict( + [ + ("de_DE", 3), + ("en-US", 2), + ("en-PH", 1), + ("ja_JP", 5), + ("de-DE", 4), + ("ja-JP", 2), + ("en-US", 1), + ] + ) fake = Faker(locale) - assert fake.locales == ['de_DE', 'en_US', 'en_PH', 'ja_JP'] + assert fake.locales == ["de_DE", "en_US", "en_PH", "ja_JP"] assert len(fake.factories) == 4 assert fake.weights == [4, 1, 1, 2] def test_invalid_locale(self): with pytest.raises(AttributeError): - Faker('foo_Bar') + Faker("foo_Bar") with pytest.raises(AttributeError): - Faker(['en_US', 'foo_Bar']) + Faker(["en_US", "foo_Bar"]) with pytest.raises(AttributeError): - Faker(OrderedDict([ - ('de_DE', 3), - ('en-US', 2), - ('en-PH', 1), - ('foo_Bar', 5), - ])) + Faker( + OrderedDict( + [ + ("de_DE", 3), + ("en-US", 2), + ("en-PH", 1), + ("foo_Bar", 5), + ] + ) + ) def test_items(self): - locale = ['de_DE', 'en-US', 'en-PH', 'ja_JP', 'de-DE', 'ja-JP', 'en-US'] - processed_locale = list({code.replace('-', '_') for code in locale}) + locale = ["de_DE", "en-US", "en-PH", "ja_JP", "de-DE", "ja-JP", "en-US"] + processed_locale = list({code.replace("-", "_") for code in locale}) fake = Faker(locale) for locale_name, factory in fake.items(): assert locale_name in processed_locale assert isinstance(factory, Generator) def test_dunder_getitem(self): - locale = ['de_DE', 'en-US', 'en-PH', 'ja_JP'] + locale = ["de_DE", "en-US", "en-PH", "ja_JP"] fake = Faker(locale) for code in locale: assert isinstance(fake[code], Generator) with pytest.raises(KeyError): - fake['en_GB'] + fake["en_GB"] def test_seed_classmethod(self): fake = Faker() @@ -111,16 +123,16 @@ def test_seed_classmethod(self): fake.seed(0) # Verify calls to `seed()` from a class object are proxied properly - with patch('faker.generator.Generator.seed') as mock_seed: + with patch("faker.generator.Generator.seed") as mock_seed: mock_seed.assert_not_called() Faker.seed(0) mock_seed.assert_called_once_with(0) def test_seed_instance(self): - locale = ['de_DE', 'en-US', 'en-PH', 'ja_JP'] + locale = ["de_DE", "en-US", "en-PH", "ja_JP"] fake = Faker(locale) - with patch('faker.generator.Generator.seed_instance') as mock_seed_instance: + with patch("faker.generator.Generator.seed_instance") as mock_seed_instance: mock_seed_instance.assert_not_called() fake.seed_instance(0) @@ -129,13 +141,13 @@ def test_seed_instance(self): assert len(calls) == 4 for call in calls: args, kwargs = call - assert args == (0, ) + assert args == (0,) assert kwargs == {} def test_seed_locale(self): from faker.generator import random as shared_random_instance - locale = ['de_DE', 'en-US', 'en-PH', 'ja_JP'] + locale = ["de_DE", "en-US", "en-PH", "ja_JP"] fake = Faker(locale) # Get current state of each factory's random instance @@ -144,11 +156,11 @@ def test_seed_locale(self): states[locale] = factory.random.getstate() # Create a new random instance for en_US factory with seed value - fake.seed_locale('en_US', 0) + fake.seed_locale("en_US", 0) for locale, factory in fake.items(): # en_US factory should have changed - if locale == 'en_US': + if locale == "en_US": assert factory.random != shared_random_instance assert factory.random.getstate() != states[locale] @@ -174,14 +186,14 @@ def test_single_locale_proxy_behavior(self): # Test if a valid provider method is proxied properly # Factory selection logic should not be triggered - with patch('faker.proxy.Faker._select_factory') as mock_select_factory: + with patch("faker.proxy.Faker._select_factory") as mock_select_factory: mock_select_factory.assert_not_called() assert fake.name == internal_factory.name fake.name() mock_select_factory.assert_not_called() def test_multiple_locale_proxy_behavior(self): - fake = Faker(['de-DE', 'en-US', 'en-PH', 'ja-JP']) + fake = Faker(["de-DE", "en-US", "en-PH", "ja-JP"]) # `Generator` attributes are not implemented for attr in fake.generator_attrs: @@ -198,23 +210,21 @@ def test_multiple_locale_proxy_behavior(self): fake.random = 1 def test_multiple_locale_caching_behavior(self): - fake = Faker(['de_DE', 'en-US', 'en-PH', 'ja_JP']) + fake = Faker(["de_DE", "en-US", "en-PH", "ja_JP"]) - with patch('faker.proxy.Faker._map_provider_method', - wraps=fake._map_provider_method) as mock_map_method: + with patch("faker.proxy.Faker._map_provider_method", wraps=fake._map_provider_method) as mock_map_method: mock_map_method.assert_not_called() - assert not hasattr(fake, '_cached_name_mapping') + assert not hasattr(fake, "_cached_name_mapping") # Test cache creation fake.name() - assert hasattr(fake, '_cached_name_mapping') - mock_map_method.assert_called_once_with('name') + assert hasattr(fake, "_cached_name_mapping") + mock_map_method.assert_called_once_with("name") # Test subsequent cache access - with patch.object(Faker, '_cached_name_mapping', create=True, - new_callable=PropertyMock) as mock_cached_map: + with patch.object(Faker, "_cached_name_mapping", create=True, new_callable=PropertyMock) as mock_cached_map: # Keep test fast by patching the cached mapping to return something simpler - mock_cached_map.return_value = [fake['en_US']], [1] + mock_cached_map.return_value = [fake["en_US"]], [1] for _ in range(100): fake.name() @@ -222,22 +232,21 @@ def test_multiple_locale_caching_behavior(self): # So each call to name() accesses the cached mapping twice assert mock_cached_map.call_count == 200 - @patch('faker.proxy.random.choice') - @patch('faker.proxy.choices_distribution') + @patch("faker.proxy.random.choice") + @patch("faker.proxy.choices_distribution") def test_multiple_locale_factory_selection_no_weights(self, mock_choices_fn, mock_random_choice): - fake = Faker(['de_DE', 'en-US', 'en-PH', 'ja_JP']) + fake = Faker(["de_DE", "en-US", "en-PH", "ja_JP"]) # There are no distribution weights, so factory selection logic will use `random.choice` # if multiple factories have the specified provider method - with patch('faker.proxy.Faker._select_factory', - wraps=fake._select_factory) as mock_select_factory: + with patch("faker.proxy.Faker._select_factory", wraps=fake._select_factory) as mock_select_factory: mock_select_factory.assert_not_called() mock_choices_fn.assert_not_called() mock_random_choice.assert_not_called() # All factories for the listed locales have the `name` provider method fake.name() - mock_select_factory.assert_called_once_with('name') + mock_select_factory.assert_called_once_with("name") mock_choices_fn.assert_not_called() mock_random_choice.assert_called_once_with(fake.factories) mock_select_factory.reset_mock() @@ -247,7 +256,7 @@ def test_multiple_locale_factory_selection_no_weights(self, mock_choices_fn, moc # Only `en_PH` factory has provider method `luzon_province`, so there is no # need for `random.choice` factory selection logic to run fake.luzon_province() - mock_select_factory.assert_called_with('luzon_province') + mock_select_factory.assert_called_with("luzon_province") mock_choices_fn.assert_not_called() mock_random_choice.assert_not_called() mock_select_factory.reset_mock() @@ -256,36 +265,37 @@ def test_multiple_locale_factory_selection_no_weights(self, mock_choices_fn, moc # Both `en_US` and `ja_JP` factories have provider method `zipcode` fake.zipcode() - mock_select_factory.assert_called_once_with('zipcode') + mock_select_factory.assert_called_once_with("zipcode") mock_choices_fn.assert_not_called() mock_random_choice.assert_called_once_with( - [fake['en_US'], fake['ja_JP']], + [fake["en_US"], fake["ja_JP"]], ) mock_select_factory.reset_mock() mock_choices_fn.reset_mock() mock_random_choice.reset_mock() - @patch('faker.proxy.random.choice') - @patch('faker.proxy.choices_distribution') + @patch("faker.proxy.random.choice") + @patch("faker.proxy.choices_distribution") def test_multiple_locale_factory_selection_with_weights(self, mock_choices_fn, mock_random_choice): - locale = OrderedDict([ - ('de_DE', 3), - ('en-US', 2), - ('en-PH', 1), - ('ja_JP', 5), - ]) + locale = OrderedDict( + [ + ("de_DE", 3), + ("en-US", 2), + ("en-PH", 1), + ("ja_JP", 5), + ] + ) fake = Faker(locale) mock_choices_fn.assert_not_called() mock_random_choice.assert_not_called() # Distribution weights have been specified, so factory selection logic will use # `choices_distribution` if multiple factories have the specified provider method - with patch('faker.proxy.Faker._select_factory', - wraps=fake._select_factory) as mock_select_factory: + with patch("faker.proxy.Faker._select_factory", wraps=fake._select_factory) as mock_select_factory: # All factories for the listed locales have the `name` provider method fake.name() - mock_select_factory.assert_called_once_with('name') + mock_select_factory.assert_called_once_with("name") mock_choices_fn.assert_called_once_with(fake.factories, fake.weights, length=1) mock_random_choice.assert_not_called() mock_select_factory.reset_mock() @@ -295,7 +305,7 @@ def test_multiple_locale_factory_selection_with_weights(self, mock_choices_fn, m # Only `en_PH` factory has provider method `luzon_province`, so there is no # need for `choices_distribution` factory selection logic to run fake.luzon_province() - mock_select_factory.assert_called_once_with('luzon_province') + mock_select_factory.assert_called_once_with("luzon_province") mock_choices_fn.assert_not_called() mock_random_choice.assert_not_called() mock_select_factory.reset_mock() @@ -304,9 +314,11 @@ def test_multiple_locale_factory_selection_with_weights(self, mock_choices_fn, m # Both `en_US` and `ja_JP` factories have provider method `zipcode` fake.zipcode() - mock_select_factory.assert_called_once_with('zipcode') + mock_select_factory.assert_called_once_with("zipcode") mock_choices_fn.assert_called_once_with( - [fake['en_US'], fake['ja_JP']], [2, 5], length=1, + [fake["en_US"], fake["ja_JP"]], + [2, 5], + length=1, ) mock_random_choice.assert_not_called() mock_select_factory.reset_mock() @@ -314,19 +326,95 @@ def test_multiple_locale_factory_selection_with_weights(self, mock_choices_fn, m mock_random_choice.reset_mock() def test_multiple_locale_factory_selection_unsupported_method(self): - fake = Faker(['en_US', 'en_PH']) + fake = Faker(["en_US", "en_PH"]) with pytest.raises(AttributeError): fake.obviously_invalid_provider_method_a23f() + @patch("random.Random.choice") + @patch("random.Random.choices") + def test_weighting_disabled_single_choice(self, mock_choices_fn, mock_choice_fn): + fake = Faker(use_weighting=False) + fake.first_name() + mock_choice_fn.assert_called() + mock_choices_fn.assert_not_called() + + @patch("random.Random.choice") + @patch("random.Random.choices", wraps=random.Random().choices) + def test_weighting_disabled_with_locales(self, mock_choices_fn, mock_choice_fn): + locale = OrderedDict( + [ + ("de_DE", 3), + ("en-US", 2), + ("en-PH", 1), + ("ja_JP", 5), + ] + ) + fake = Faker(locale, use_weighting=False) + fake.first_name() + mock_choices_fn.assert_called() # select provider + mock_choice_fn.assert_called() # select within provider + + @patch("random.Random.choice") + @patch("random.Random.choices", wraps=random.Random().choices) + def test_weighting_disabled_multiple_locales(self, mock_choices_fn, mock_choice_fn): + locale = OrderedDict( + [ + ("de_DE", 3), + ("en-US", 2), + ("en-PH", 1), + ("ja_JP", 5), + ] + ) + fake = Faker(locale, use_weighting=False) + fake.first_name() + mock_choices_fn.assert_called() # select provider + mock_choice_fn.assert_called() # select within provider + + @patch("random.Random.choice") + @patch("random.Random.choices", wraps=random.Random().choices) + def test_weighting_disabled_multiple_choices(self, mock_choices_fn, mock_choice_fn): + fake = Faker(use_weighting=False) + fake.uri_path(deep=3) + + assert mock_choices_fn.mock_calls[0][2]["k"] == 3 + assert mock_choices_fn.mock_calls[0][2]["weights"] is None + mock_choice_fn.assert_not_called() + + @patch("random.Random.choice") + @patch("random.Random.choices", wraps=random.Random().choices) + def test_weighting_enabled_multiple_choices(self, mock_choices_fn, mock_choice_fn): + fake = Faker(use_weighting=True) + fake.uri_path(deep=3) + + assert mock_choices_fn.mock_calls[0][2]["k"] == 3 + assert mock_choices_fn.mock_calls[0][2]["weights"] is None + mock_choice_fn.assert_not_called() + def test_dir_include_all_providers_attribute_in_list(self): - fake = Faker(['en_US', 'en_PH']) - expected = set(dir(Faker) + [ - '_factories', '_locales', '_factory_map', '_weights', - ]) + fake = Faker(["en_US", "en_PH"]) + expected = set( + dir(Faker) + + [ + "_factories", + "_locales", + "_factory_map", + "_weights", + "_unique_proxy", + ] + ) for factory in fake.factories: - expected |= { - attr for attr in dir(factory) if not attr.startswith('_') - } + expected |= {attr for attr in dir(factory) if not attr.startswith("_")} expected = sorted(expected) attributes = dir(fake) assert attributes == expected + + def test_copy(self): + fake = Faker("it_IT") + fake2 = copy.deepcopy(fake) + assert fake.locales == fake2.locales + assert fake.locales is not fake2.locales + + def test_pickle(self): + fake = Faker() + pickled = pickle.dumps(fake) + pickle.loads(pickled) diff --git a/tests/test_unique.py b/tests/test_unique.py new file mode 100644 index 0000000000..f939a6ab59 --- /dev/null +++ b/tests/test_unique.py @@ -0,0 +1,62 @@ +import pytest + +from faker import Faker +from faker.exceptions import UniquenessException + + +class TestUniquenessClass: + def test_uniqueness(self): + fake = Faker("en_US") + + names = set() + # There are (at time of writing 690) first names in the + # US identity provider. Birthday paradox puts the chances of + # no duplicates in 250 selections as low enough to be impossible + for i in range(250): + first_name = fake.unique.first_name() + assert first_name not in names + names.add(first_name) + + def test_sanity_escape(self): + fake = Faker() + + # Those of you who are especially astute may realise + # there are only 2 booleans, so the third boolean cannot + # be unique. + with pytest.raises(UniquenessException, match=r"Got duplicated values after [\d,]+ iterations."): + for i in range(3): + _ = fake.unique.boolean() + + def test_uniqueness_clear(self): + fake = Faker() + + for i in range(2): + fake.unique.boolean() + + fake.unique.clear() + + # Because we cleared the generated values, this will not + # throw an exception + fake.unique.boolean() + + def test_exclusive_arguments(self): + """Calls through the "unique" portal will only affect + calls with that specific function signature. + """ + fake = Faker() + + for i in range(10): + fake.unique.random_int(min=1, max=10) + + # Different signature, so new pool. If they shared a pool + # this would throw a sanity exception + fake.unique.random_int(min=2, max=10) + + def test_functions_only(self): + """Accessing non-functions through the `.unique` attribute + will throw a TypeError.""" + + fake = Faker() + + with pytest.raises(TypeError, match="Accessing non-functions through .unique is not supported."): + fake.unique.locales diff --git a/tests/utils/test_utils.py b/tests/utils/test_utils.py index 583ece6c2a..617d76e4ac 100644 --- a/tests/utils/test_utils.py +++ b/tests/utils/test_utils.py @@ -1,42 +1,43 @@ import json -import os import unittest from importlib import import_module +from pathlib import Path + +import faker from faker.config import META_PROVIDERS_MODULES, PROVIDERS from faker.generator import random from faker.utils.checksums import calculate_luhn, luhn_checksum from faker.utils.datasets import add_dicts from faker.utils.distribution import choices_distribution, choices_distribution_unique -from faker.utils.loading import find_available_locales, find_available_providers +from faker.utils.loading import find_available_locales, find_available_providers, get_path -TEST_DIR = os.path.dirname(__file__) +TEST_DIR = Path(__file__).resolve().parent class UtilsTestCase(unittest.TestCase): def test_choice_distribution(self): - a = ('a', 'b', 'c', 'd') + a = ("a", "b", "c", "d") p = (0.5, 0.2, 0.2, 0.1) sample = choices_distribution(a, p)[0] assert sample in a - with open(os.path.join(TEST_DIR, 'random_state.json'), 'r') as fh: - random_state = json.load(fh) + random_state = json.loads((TEST_DIR / "random_state.json").read_text()) random_state[1] = tuple(random_state[1]) random.setstate(random_state) samples = choices_distribution(a, p, length=100) - a_pop = len([i for i in samples if i == 'a']) - b_pop = len([i for i in samples if i == 'b']) - c_pop = len([i for i in samples if i == 'c']) - d_pop = len([i for i in samples if i == 'd']) + a_pop = len([i for i in samples if i == "a"]) + b_pop = len([i for i in samples if i == "b"]) + c_pop = len([i for i in samples if i == "c"]) + d_pop = len([i for i in samples if i == "d"]) boundaries = [] tolerance = 5 for probability in p: - boundaries.append([100 * probability + tolerance, 100 * probability - tolerance]) + boundaries.append([100 * probability + tolerance, 100 * probability - tolerance]) assert boundaries[0][0] > a_pop > boundaries[0][1] assert boundaries[1][0] > b_pop > boundaries[1][1] @@ -44,7 +45,7 @@ def test_choice_distribution(self): assert boundaries[3][0] > d_pop > boundaries[3][1] def test_choices_distribution_unique(self): - a = ('a', 'b', 'c', 'd') + a = ("a", "b", "c", "d") p = (0.25, 0.25, 0.25, 0.25) with self.assertRaises(AssertionError): choices_distribution_unique(a, p, length=5) @@ -53,12 +54,16 @@ def test_choices_distribution_unique(self): assert len(set(samples)) == len(samples) def test_add_dicts(self): - t1 = {'a': 1, 'b': 2} - t2 = {'b': 1, 'c': 3} - t3 = {'d': 4} + t1 = {"a": 1, "b": 2} + t2 = {"b": 1, "c": 3} + t3 = {"d": 4} result = add_dicts(t1, t2, t3) - assert result == {'a': 1, 'c': 3, 'b': 3, 'd': 4} + assert result == {"a": 1, "c": 3, "b": 3, "d": 4} + + def test_get_path(self): + result = get_path(faker) + assert isinstance(result, str) def test_find_available_locales(self): result = find_available_locales(PROVIDERS) @@ -68,30 +73,35 @@ def test_find_available_providers(self): modules = [import_module(path) for path in META_PROVIDERS_MODULES] providers = find_available_providers(modules) - expected_providers = list(map(str, [ - 'faker.providers.address', - 'faker.providers.automotive', - 'faker.providers.bank', - 'faker.providers.barcode', - 'faker.providers.color', - 'faker.providers.company', - 'faker.providers.credit_card', - 'faker.providers.currency', - 'faker.providers.date_time', - 'faker.providers.file', - 'faker.providers.geo', - 'faker.providers.internet', - 'faker.providers.isbn', - 'faker.providers.job', - 'faker.providers.lorem', - 'faker.providers.misc', - 'faker.providers.person', - 'faker.providers.phone_number', - 'faker.providers.profile', - 'faker.providers.python', - 'faker.providers.ssn', - 'faker.providers.user_agent', - ])) + expected_providers = list( + map( + str, + [ + "faker.providers.address", + "faker.providers.automotive", + "faker.providers.bank", + "faker.providers.barcode", + "faker.providers.color", + "faker.providers.company", + "faker.providers.credit_card", + "faker.providers.currency", + "faker.providers.date_time", + "faker.providers.file", + "faker.providers.geo", + "faker.providers.internet", + "faker.providers.isbn", + "faker.providers.job", + "faker.providers.lorem", + "faker.providers.misc", + "faker.providers.person", + "faker.providers.phone_number", + "faker.providers.profile", + "faker.providers.python", + "faker.providers.ssn", + "faker.providers.user_agent", + ], + ) + ) assert providers == expected_providers def test_luhn_checksum(self): diff --git a/tox.ini b/tox.ini index 0bf3dbcd13..8d70201238 100644 --- a/tox.ini +++ b/tox.ini @@ -1,16 +1,17 @@ [tox] -envlist=py{35,36,37,38,py3},32bit,flake8,checkmanifest,isort +envlist=py{36,37,38,39,py3},32bit,alpine,flake8,checkmanifest,isort,mypy,doc8 skip_missing_interpreters = true [testenv] deps = - coverage + coverage>=5.2 freezegun<0.4 pytest>=6.0.1 - random2 + random2>=1.0.1 ukpostcodeparser>=1.1.1 validators>=0.13.0 sphinx>=2.4,<3.0 + Pillow commands = coverage run --source=faker -m pytest coverage run --source=faker -a -m pytest --exclusive-faker-session tests/pytest/session_overrides @@ -19,11 +20,10 @@ commands = [testenv:flake8] basepython = python deps = - flake8 - flake8-commas + flake8>=4.0.0 flake8-comprehensions commands = - flake8 faker tests + flake8 --extend-ignore=E203 faker tests [testenv:checkmanifest] basepython = python @@ -38,11 +38,33 @@ deps = commands = {envpython} -m isort --check-only --diff . +[testenv:mypy] +basepython = python +deps = + mypy==0.910 +commands = + mypy --install-types --non-interactive --config mypy.ini faker + +[testenv:black] +deps = black +commands = + {envpython} -m black --check --line-length 120 . + +[testenv:doc8] +deps = doc8 +commands = + {envpython} -m doc8 + [testenv:32bit] basepython = python passenv = TEST_32BIT commands = ./build32bit.sh +[testenv:alpine] +basepython = python +passenv = TEST_ALPINE +commands = ./build-alpine.sh + [flake8] max-line-length = 120 @@ -51,4 +73,7 @@ ignore = faker/sphinx faker/sphinx/* tests/sphinx - tests/sphinx/* \ No newline at end of file + tests/sphinx/* + +[coverage:run] +relative_files = True From 5229f0bd7dd5962ac0f8f862b6475a566a586871 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 26 Dec 2022 02:02:28 +0000 Subject: [PATCH 5/5] Bump actions/stale from 6 to 7 Bumps [actions/stale](https://github.com/actions/stale) from 6 to 7. - [Release notes](https://github.com/actions/stale/releases) - [Changelog](https://github.com/actions/stale/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/stale/compare/v6...v7) --- updated-dependencies: - dependency-name: actions/stale dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- .github/workflows/issues.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/issues.yml b/.github/workflows/issues.yml index a1e435b573..9ab127471d 100644 --- a/.github/workflows/issues.yml +++ b/.github/workflows/issues.yml @@ -10,7 +10,7 @@ jobs: issues: write pull-requests: write steps: - - uses: actions/stale@v6 + - uses: actions/stale@v7 with: days-before-issue-stale: 90 days-before-issue-close: 14