R/de_DE.R

## automotive --------------------
automotive_de_DE = R6Class(
  "automotive_de_DE",
  inherit = automotive_init,
  cloneable = FALSE,
  private = list(
    license_plate_prefix = c(
      'A', 'AA', 'AB', 'ABI', 'ABG', 'AC', 'AE', 'AIC', 'AK',
      'AM', 'AN', 'A\u00d6', '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\u00fcS',
      '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\u00fcW', '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\u00fc', 'G',
      'GAP', 'GE', 'GER', 'GF', 'GG', 'GI', 'GL', 'GM', 'G\u00d6',
      'GP', 'GR', 'GRZ', 'GS', 'GT', 'GTH', 'G\u00fc', '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\u00fcN',
      'KUS', 'KYF', 'L', 'LA', 'LAU', 'LB', 'LD', 'LDK', 'LDS',
      'LER', 'LEV', 'LG', 'LI', 'LIF', 'LIP', 'LL', 'LM',
      'L\u00d6', '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\u00fc', 'M\u00fcR', '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\u00d6', 'PM', 'PR', 'PS', 'R',
      'RA', 'RD', 'RE', 'REG', 'RO', 'ROS', 'ROW', 'RP', 'RPL', 'RS',
      'RT', 'R\u00fcD', 'R\u00fcG', '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\u00d6M',
      'SON', 'SP', 'SPN', 'SR', 'ST', 'STA', 'STD', 'SU',
      'S\u00fcW', 'SW', 'SZ', 'TDO', 'TBB', 'TF', 'TG', 'THL', 'THW',
      'TIR', 'T\u00d6L', 'TR', 'TS', 'T\u00fc', '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\u00fc', 'WUG', 'WUN', 'WW', 'WZ', 'Y', 'Z', 'ZW'),

    license_plate_suffix = c('-??-%@@@', '-?-%@@@')
  ),

  public = list(
    license_plate = function(){
      prefix = private$random_element(private$license_plate_prefix)
      suffix = private$lexify(private$numerify(
        private$random_element(private$license_plate_suffix)), LETTERS)
      return(str_c(prefix, suffix))
    }
  )
)
## bank ------------------
bank_de_DE = R6Class(
  "bank_de_DE",
  inherit = bank_init,
  cloneable = FALSE,
  private = list(
    bban_format = '##################',
    country_code = 'DE'
  )
)

## person ----------------
person_de_DE = R6Class(
  "person_de_DE",
  inherit = person_init,
  cloneable = FALSE,
  private = list(
    formats_male = c(
      '{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 = c(
      '{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 = c(
      '{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_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}'
    ),

    # From
    # http://de.wiktionary.org/wiki/Verzeichnis:Deutsch/Liste_der_h%C3%A4ufigsten_m%C3%A4nnlichen_Vornamen_Deutschlands
    first_names_male = c(
      "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\u00e9", "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\u00e4us", "Bastian", "Bayram",
      "Bekir", "Bela", "Ben", "Benedikt", "Benjamin", "Benno", "Berend",
      "Bernard", "Bernd", "Bernd-Dieter", "Berndt", "Bernfried", "Bernhard",
      "Bernt", "Bernward", "Bert", "Berthold", "Bertold", "Bertram", "Birger",
      "Bj\u00f6rn", "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\u00f6tz", "G\u00fcnter", "G\u00fcnther", "H.-Dieter",
      "Hagen", "Hajo", "Hakan", "Halil", "Hannes", "Hanni", "Hanno",
      "Hanns", "Hans", "Hans D.", "Hans Dieter", "Hans Georg", "Hans Josef",
      "Hans J\u00f6rg", "Hans J\u00fcrgen", "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\u00fcnter",
      "Hans-G\u00fcnther", "Hans-H.", "Hans-Heinrich", "Hans-Helmut", "Hans-Henning",
      "Hans-Herbert", "Hans-Hermann", "Hans-Hinrich", "Hans-J.", "Hans-Joachim",
      "Hans-Jochen", "Hans-Josef", "Hans-J\u00f6rg", "Hans-J\u00fcrgen",
      "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\u00f6rg",
      "Hansj\u00fcrgen", "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\u00fcnter", "Heinz-G\u00fcnther", "Heinz-Joachim",
      "Heinz-Josef", "Heinz-J\u00fcrgen", "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\u00fcnter", "Horst-Peter", "Hubert", "Hubertus", "Hugo",
      "H\u00fcseyin", "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\u00e9", "Jovan", "Jozef", "Juan", "Juergen", "Julian",
      "Julius", "Juri", "Jurij", "Justus", "J\u00f6rg", "J\u00f6rg-Peter",
      "J\u00f6rgen", "J\u00f6rn", "J\u00fcrgen", "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\u00fcrgen", "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\u00fcnter",
      "Klaus-J\u00fcrgen", "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\u00e4us", "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\u00e9", "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\u00fcdiger", "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\u00f6nke", "S\u00f6ren", "S\u00fckr\u00fc", "S\u00fcleyman",
      "Tadeusz", "Tassilo", "Thadd\u00e4us", "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\u00fcdiger", "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 = c(
      "Adele",  "Adelgunde",  "Adelheid",  "Adelinde",  "Adeline",  "Adina",
      "Adolfine",  "Adriana",  "Adriane",  "Aenne",  "\u00c4nne",  "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\u00e4rbel",  "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\u00e4re",  "Concetta",  "Conny",  "Constance",  "Constanze",
      "Cora",  "Cordula",  "Corina",  "Corinna",  "Corinne",  "Cornelia",
      "Cosima",  "Cristina",  "Cynthia",  "C\u00e4cilia",  "C\u00e4cilie",
      "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\u00f6rte",  "D\u00f6rthe",  "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\u00f6n\u00fcl",
      "G\u00fclay",  "G\u00fclsen",  "G\u00fclten",  "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\u00fclya",  "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\u00e4re",  "Konstanze",  "Kordula",  "Korinna",  "Kornelia",
      "Kreszentia",  "Kreszenz",  "Kriemhild",  "Krista",  "Kristiane",  "Kristin",
      "Kristina",  "Kristine",  "Krystyna",  "Kunigunda",  "Kunigunde",
      "K\u00e4te",  "K\u00e4the",  "K\u00e4thi",  "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\u00fcl",  "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\u00fclay",  "T\u00fcrkan",  "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 = c(
      "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\u00e9", "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\u00e4us", "Bastian", "Bayram",
      "Bekir", "Bela", "Ben", "Benedikt", "Benjamin", "Benno", "Berend",
      "Bernard", "Bernd", "Bernd-Dieter", "Berndt", "Bernfried", "Bernhard",
      "Bernt", "Bernward", "Bert", "Berthold", "Bertold", "Bertram", "Birger",
      "Bj\u00f6rn", "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\u00f6tz", "G\u00fcnter", "G\u00fcnther", "H.-Dieter",
      "Hagen", "Hajo", "Hakan", "Halil", "Hannes", "Hanni", "Hanno",
      "Hanns", "Hans", "Hans D.", "Hans Dieter", "Hans Georg", "Hans Josef",
      "Hans J\u00f6rg", "Hans J\u00fcrgen", "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\u00fcnter",
      "Hans-G\u00fcnther", "Hans-H.", "Hans-Heinrich", "Hans-Helmut", "Hans-Henning",
      "Hans-Herbert", "Hans-Hermann", "Hans-Hinrich", "Hans-J.", "Hans-Joachim",
      "Hans-Jochen", "Hans-Josef", "Hans-J\u00f6rg", "Hans-J\u00fcrgen",
      "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\u00f6rg",
      "Hansj\u00fcrgen", "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\u00fcnter", "Heinz-G\u00fcnther", "Heinz-Joachim",
      "Heinz-Josef", "Heinz-J\u00fcrgen", "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\u00fcnter", "Horst-Peter", "Hubert", "Hubertus", "Hugo",
      "H\u00fcseyin", "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\u00e9", "Jovan", "Jozef", "Juan", "Juergen", "Julian",
      "Julius", "Juri", "Jurij", "Justus", "J\u00f6rg", "J\u00f6rg-Peter",
      "J\u00f6rgen", "J\u00f6rn", "J\u00fcrgen", "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\u00fcrgen", "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\u00fcnter",
      "Klaus-J\u00fcrgen", "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\u00e4us", "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\u00e9", "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\u00fcdiger", "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\u00f6nke", "S\u00f6ren", "S\u00fckr\u00fc", "S\u00fcleyman",
      "Tadeusz", "Tassilo", "Thadd\u00e4us", "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\u00fcdiger", "Wolfgang", "Wolfhard", "Wolfram", "Wulf", "Xaver",
      "Yilmaz", "Yusuf", "Zbigniew", "Zdravko", "Zeki", "Zeljko",
      "Zenon", "Zlatko", "Zoltan", "Zoran",
      "Adele",  "Adelgunde",  "Adelheid",  "Adelinde",  "Adeline",  "Adina",
      "Adolfine",  "Adriana",  "Adriane",  "Aenne",  "\u00c4nne",  "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\u00e4rbel",  "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\u00e4re",  "Concetta",  "Conny",  "Constance",  "Constanze",
      "Cora",  "Cordula",  "Corina",  "Corinna",  "Corinne",  "Cornelia",
      "Cosima",  "Cristina",  "Cynthia",  "C\u00e4cilia",  "C\u00e4cilie",
      "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\u00f6rte",  "D\u00f6rthe",  "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\u00f6n\u00fcl",
      "G\u00fclay",  "G\u00fclsen",  "G\u00fclten",  "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\u00fclya",  "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\u00e4re",  "Konstanze",  "Kordula",  "Korinna",  "Kornelia",
      "Kreszentia",  "Kreszenz",  "Kriemhild",  "Krista",  "Kristiane",  "Kristin",
      "Kristina",  "Kristine",  "Krystyna",  "Kunigunda",  "Kunigunde",
      "K\u00e4te",  "K\u00e4the",  "K\u00e4thi",  "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\u00fcl",  "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\u00fclay",  "T\u00fcrkan",  "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'
    ),

    last_names = c(
      "Ackermann",  "Adler",  "Adolph",  "Albers",  "Anders",  "Atzler",  "Aumann",
      "Austerm\u00fchle",  "Bachmann",  "B\u00e4hr",  "B\u00e4rer",
      "Barkholz",  "Barth",  "Bauer",  "Baum",  "Becker",  "Beckmann",  "Beer",
      "Beier",  "Bender",  "Benthin",  "Berger",  "Beyer",  "Bien",  "Biggen",
      "Binner",  "Birnbaum",  "Bloch",  "Bl\u00fcmel",  "Bohlander",  "Bonbach",
      "Bolander",  "Bolnbach",  "Bolzmann",  "B\u00f6rner",  "Bohnbach",
      "Boucsein",  "Briemer",  "Bruder",  "Buchholz",  "Budig",  "Butte",
      "Carsten",  "Caspar",  "Christoph",  "Cichorius",  "Conradi",  "Davids",
      "Dehmel",  "Dietz",  "Dippel",  "Ditschlerin",  "Dobes",  "D\u00f6hn",
      "D\u00f6ring",  "D\u00f6rr",  "D\u00f6rschner",  "Dowerg",  "Drewes",
      "Drub",  "Drubin",  "Dussen van",  "Eberhardt",  "Ebert",  "Eberth",
      "Eckbauer",  "Ehlert",  "Eigenwillig",  "Eimer",  "Ernst",  "Etzler",
      "Etzold",  "Faust",  "Fechner",  "Fiebig",  "Finke",  "Fischer",  "Flantz",
      "Fliegner",  "F\u00f6rster",  "Franke",  "Freudenberger",  "Fritsch",
      "Fr\u00f6hlich",  "Gehringer",  "Geisel",  "Geisler",  "Gei\u00dfler",
      "Gerlach",  "Gertz",  "Gierschner",  "Gie\u00df",  "Girschner",  "Gnatz",
      "Gorlitz",  "Gotthard",  "Graf",  "Grein Groth",  "Gr\u00f6ttner",  "Gude",
      "Gunpf",  "Gumprich",  "Gute",  "Gutknecht",  "Haase",  "Haering",
      "H\u00e4nel",  "H\u00e4ring",  "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\u00df",  "Hesse",  "Hettner",
      "Hethur",  "Heuser",  "Hiller",  "Heydrich",  "H\u00f6fig",  "Hofmann",
      "Holsten",  "Holt",  "Holzapfel",  "H\u00f6lzenbecher",  "H\u00f6rle",
      "H\u00f6vel",  "Hoffmann",  "Hornich",  "Hornig",  "H\u00fcbel",  "Huhn",
      "Jacob",  "Jacobi J\u00e4ckel",  "J\u00e4hn",  "J\u00e4kel",  "J\u00e4ntsch",
      "Jessel",  "Jockel",  "Johann",  "Jopich",  "Junck",  "Juncken",
      "Jungfer",  "Junitz",  "Junk",  "Junken",  "J\u00fcttner",  "Kabus",
      "Kade",  "K\u00e4ster",  "Kallert",  "Kambs",  "Karge",  "Karz",  "Kaul",
      "Kensy",  "Keudel",  "Killer",  "Kitzmann",  "Klapp",  "Klemm",  "Klemt",
      "Klingelh\u00f6fer",  "Klotz",  "Knappe",  "Kobelt",  "Koch",  "Koch II",
      "K\u00f6hler",  "K\u00f6ster",  "Kohl",  "Kostolzin",  "Kramer",  "Kranz",
      "Krause",  "Kraushaar",  "Krebs",  "Krein",  "Kreusel",
      "Kroker",  "Kruschwitz",  "Kuhl",  "K\u00fchnert",  "Kusch",  "Lachmann",
      "Ladeck",  "Lange",  "Langern",  "Lehmann",  "Liebelt",  "Lindau",
      "Lindner",  "Linke",  "L\u00f6chel",  "L\u00f6ffler",  "Loos",  "Lorch",
      "Losekann",  "L\u00f6wer",  "L\u00fcbs",  "M\u00e4lzer",  "Mangold",
      "Mans",  "Margraf",  "Martin",  "Matth\u00e4i",  "Meister",  "Mende",
      "Mentzel",  "Metz",  "Meyer",  "Mielcarek",  "Mies",  "Misicher",
      "Mitschke",  "Mohaupt",  "Mosemann",  "M\u00f6chlichen",  "Mude",
      "M\u00fchle",  "M\u00fclichen",  "M\u00fcller",  "Naser",  "Nerger", "Nette",
      "Neureuther",  "Neusch\u00e4fer",  "Niemeier",  "Noack",  "Nohlmans",
      "Oderwald",  "Oestrovsky",  "Ortmann",  "Otto",  "Paffrath",
      "P\u00e4rtzelt",  "Patberg",  "Pechel",  "Pergande",  "Peukert", "Pieper",
      "Plath",  "Pohl",  "P\u00f6litz",  "Prei\u00df",  "Pruschke",  "Putz",
      "R\u00e4del",  "Radisch",  "Reichmann",  "Reinhardt",  "Reising",
      "Renner",  "Reuter",  "Riehl",  "Ring",  "Ritter",  "Rogge",  "Rogner",
      "Rohleder",  "R\u00f6hrdanz",  "R\u00f6hricht",  "Roht",  "R\u00f6mer",
      "R\u00f6rricht",  "Rose",  "Rosemann",  "Rosenow",  "Roskoth",  "Rudolph",
      "Ruppersberger",  "Ruppert",  "Rust",  "Sager",  "Salz",  "S\u00e4uberlich",
      "Sauer",  "Schaaf",  "Schacht",  "Sch\u00e4fer",  "Scheel",
      "Scheibe",  "Schenk",  "Scheuermann",  "Schinke",  "Schleich",  "Schleich",
      "auch Schlauchin",  "Schlosser",  "Schmidt",  "Schmidtke",
      "Schmiedecke",  "Schmiedt",  "Sch\u00f6nland",  "Scholl",  "Scholtz",
      "Scholz",  "Schomber",  "Schottin",  "Schuchhardt",  "Sch\u00fcler",
      "Schulz",  "Schuster",  "Schweitzer",  "Schwital",  "Segebahn",  "Seifert",
      "Seidel",  "Seifert",  "Seip",  "Siering",  "S\u00f6ding",
      "S\u00f6lzer",  "Sontag",  "Sorgatz",  "Speer",  "Spie\u00df", "Stadelmann",
      "Stahr",  "Staude",  "Steckel",  "Steinberg",  "Stey",  "Stiebitz",
      "Stiffel",  "Stoll",  "Stolze",  "Striebitz",  "Stroh",  "Stumpf",
      "S\u00fc\u00dfebier",  "T\u00e4sche",  "Textor",  "Thanel",  "Thies",
      "Tintzmann",  "Tlustek",  "Trapp",  "Trommler",  "Tr\u00f6st",  "Trub",
      "Tr\u00fcb",  "Trubin",  "Trupp",  "Tschentscher",  "Ullmann",  "Ullrich",
      "van der Dussen",  "Vogt",  "Vollbrecht",  "Wagenknecht",  "Wagner",
      "W\u00e4hner",  "Walter",  "Warmer",  "Weihmann",  "Weimer",  "Weinhage",
      "Weinhold",  "Wei\u00df",  "Weitzel",  "Weller",  "Wende",  "Wernecke",
      "Werner",  "Wesack",  "Wiek",  "Wieloch",  "Wilms",  "Wilmsen",
      "Winkler",  "Wirth",  "Wohlgemut",  "Wulf",  "Wulff",  "Zahn",
      "Z\u00e4nker",  "Ziegert",  "Zimmer",  "Zirme",  "Zobel",  "Zorbach"),

    prefixes_male = c(
      'Herr', 'Dr.', 'Ing.', 'Dipl.-Ing.',
      'Prof.', 'Univ.Prof.'),
    prefixes_female = c(
      'Frau', 'Dr.', 'Ing.', 'Dipl.-Ing.',
      'Prof.', 'Univ.Prof.'),

    suffixes = c('B.Sc.', 'B.A.', 'B.Eng.', 'MBA.')
  )
)

## company -----------------------
company_de_DE = R6Class(
  "company_de_DE",
  inherit = company_init,
  cloneable = FALSE,
  private = list(
    formats = c(
      '{last_name} {company_suffix}',
      '{last_name} {last_name} {company_suffix}',
      '{last_name}'),

    last_names = (person_de_DE$new())$.__enclos_env__$private$last_names,
    last_name = (person_de_DE$new())$last_name,

    company_suffixes = c(
      '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.')


  )
)
## credit_card ----------------------------
credit_card_de_DE = R6Class(
  "credit_card_de_DE",
  inherit = credit_card_init,
  cloneable = FALSE,
  private = list(
    first_names = (person_de_DE$new())$.__enclos_env__$private$first_names,
    first_name = (person_de_DE$new())$first_name,
    last_names = (person_de_DE$new())$.__enclos_env__$private$last_names,
    last_name = (person_de_DE$new())$last_name
  )
)

## address ---------------------
address_de_DE = R6Class(
  "address_de_DE",
  inherit = address_de,
  cloneable = FALSE,
  private = list(
    city_formats = "{city_name}",
    city_with_postcode_formats = "{postcode} {city}",
    street_name_formats = c(
      "{first_name}-{last_name}-{street_suffix_long}",
      "{last_name}{street_suffix_short}"),
    first_names = (person_de_DE$new())$.__enclos_env__$private$first_names,
    first_name = (person_de_DE$new())$first_name,
    last_names = (person_de_DE$new())$.__enclos_env__$private$last_names,
    last_name = (person_de_DE$new())$last_name,

    street_address_formats = "{street_name} {building_number}",
    address_formats = "{street_address}\n{postcode} {city}",
    building_number_formats = c("###", "##", "#", "#/#"),
    street_suffixes_long = c(
      'Gasse', 'Platz', 'Ring', "Stra\u00dfe", 'Weg', 'Allee'),
    street_suffixes_short = c(
      'gasse', 'platz', 'ring', "stra\u00dfe", 'str.', 'weg', 'allee'),
    postcode_formats = "#####",

    cities = c(
      "Aachen", "Ahaus", "Altentreptow", "Alt\u00f6tting", "Amberg",
      "Angerm\u00fcnde", "Anklam", "Ansbach", "Apolda", "Arnstadt", "Artern",
      "Aschaffenburg", "Aue", "Auerbach", "Augsburg", "Aurich", "Backnang",
      "Bad Br\u00fcckenau", "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\u00fcck", "Biedenkopf", "Bischofswerda", "Bitterfeld",
      "Bogen", "Borken", "Borna", "Brand", "Brandenburg", "Bremen",
      "Bremerv\u00f6rde", "Brilon", "Bruchsal", "Burg", "Burgdorf", "Burglengenfeld",
      "B\u00f6blingen", "B\u00fcsingenm Hochrhein", "B\u00fctzow", "Calau",
      "Calw", "Celle", "Chemnitz", "Cloppenburg", "Coburg", "Cottbus", "Crailsheim",
      "Cuxhaven", "Dachau", "Darmstadt", "Deggendorf", "Delitzsch", "Demmin",
      "Dessau", "Dieburg", "Diepholz", "Dinkelsb\u00fchl", "Dinslaken",
      "Donaueschingen", "Dresden", "Duderstadt", "D\u00f6beln", "D\u00fcren",
      "Ebermannstadt", "Ebern", "Ebersberg", "Eberswalde", "Eckernf\u00f6rde",
      "Eggenfelden", "Eichst\u00e4tt", "Eichst\u00e4tt", "Eilenburg", "Einbeck",
      "Eisenach", "Eisenberg", "Eisenh\u00fcttenstadt", "Eisleben",
      "Emmendingen", "Erbisdorf", "Erding", "Erfurt", "Erkelenz", "Euskirchen",
      "Eutin", "Fallingbostel", "Feuchtwangen", "Finsterwalde", "Fl\u00f6ha",
      "Forchheim", "Forst", "Freising", "Freital", "Freudenstadt", "Fulda",
      "F\u00fcrstenfeldbruck", "F\u00fcrstenwalde", "F\u00fcssen", "Gadebusch",
      "Gardelegen", "Garmisch-Partenkirchen", "Geithain", "Geldern", "Gelnhausen",
      "Genthin", "Gera", "Germersheim", "Gerolzhofen", "Gie\u00dfen",
      "Gifhorn", "Goslar", "Gotha", "Grafenau", "Gransee", "Greifswald", "Greiz",
      "Grevenbroich", "Grevesm\u00fchlen", "Griesbach Rottal", "Grimma",
      "Grimmen", "Gro\u00df-Gerau", "Gro\u00dfenhain", "Gr\u00e4fenhainichen",
      "Guben", "Gunzenhausen", "G\u00f6ppingen", "G\u00f6rlitz",
      "G\u00f6ttingen", "G\u00fcnzburg", "G\u00fcstrow", "G\u00fctersloh",
      "Hagenow", "Hainichen", "Halberstadt", "Haldensleben", "Hamburg", "Hammelburg",
      "Hannover", "Hannoversch M\u00fcnden", "Hansestadttralsund", "Havelberg",
      "Hechingen", "Heiligenstadt", "Heinsberg", "Helmstedt", "Herford",
      "Hersbruck", "Herzberg", "Hettstedt", "Hildburghausen", "Hildesheim",
      "Hofgeismar", "Hohenm\u00f6lsen", "Hohenstein-Ernstthal", "Holzminden",
      "Hoyerswerda", "Husum", "H\u00f6xter", "H\u00fcnfeld", "Illertissen",
      "Ilmenau", "Ingolstadt", "Iserlohn", "Jena", "Jessen", "J\u00fclich",
      "J\u00fcterbog", "Kaiserslautern", "Kamenz", "Karlsruhe", "Kassel", "Kehl",
      "Kelheim", "Kemnath", "Kitzingen", "Kleve", "Kl\u00f6tze", "Koblenz",
      "Konstanz", "Kronach", "Kulmbach", "Kusel", "Kyritz", "K\u00f6nigs Wusterhausen",
      "K\u00f6tzting", "Leipziger Land", "Lemgo", "Lichtenfels",
      "Lippstadt", "Lobenstein", "Luckau", "Luckenwalde", "Ludwigsburg", "Ludwigslust",
      "L\u00f6rrach", "L\u00fcbben", "L\u00fcbeck", "L\u00fcbz",
      "L\u00fcdenscheid", "L\u00fcdinghausen", "L\u00fcneburg", "Magdeburg",
      "Main-H\u00f6chst)", "Mainburg", "Malchin", "Mallersdorf", "Marienberg",
      "Marktheidenfeld", "Mayen", "Meiningen", "Mei\u00dfen", "Melle", "Mellrichstadt",
      "Melsungen", "Meppen", "Merseburg", "Mettmann", "Miesbach",
      "Miltenberg", "Mittweida", "Moers", "Monschau", "M\u00fchldorfm Inn",
      "M\u00fchlhausen", "M\u00fcnchen", "Nabburg", "Naila", "Nauen", "Neu-Ulm",
      "Neubrandenburg", "Neunburg vorm Wald", "Neuruppin", "Neuss",
      "Neustadtm R\u00fcbenberge", "Neustadtner Waldnaab", "Neustrelitz", "Niesky",
      "Norden", "Nordhausen", "Northeim", "N\u00f6rdlingen", "N\u00fcrtingen",
      "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\u00f6\u00dfneck", "Quedlinburg", "Querfurt", "Rastatt", "Rathenow",
      "Ravensburg", "Recklinghausen", "Regen", "Regensburg", "Rehau", "Reutlingen",
      "Ribnitz-Damgarten", "Riesa", "Rochlitz", "Rockenhausen", "Roding",
      "Rosenheim", "Rostock", "Roth", "Rothenburg oberauber", "Rottweil", "Rudolstadt",
      "Saarbr\u00fccken", "Saarlouis", "Sangerhausen", "Sankt Goar",
      "Sankt Goarshausen", "Saulgau", "Scheinfeld", "Schleiz", "Schl\u00fcchtern",
      "Schm\u00f6lln", "Schongau", "Schrobenhausen", "Schwabm\u00fcnchen",
      "Schwandorf", "Schwarzenberg", "Schweinfurt", "Schwerin", "Schw\u00e4bisch Gm\u00fcnd",
      "Schw\u00e4bisch Hall", "Sebnitz", "Seelow", "Senftenberg",
      "Siegen", "Sigmaringen", "Soest", "Soltau", "Soltau", "Sondershausen",
      "Sonneberg", "Spremberg", "Stade", "Stade", "Stadtroda", "Stadtsteinach",
      "Staffelstein", "Starnberg", "Sta\u00dffurt", "Steinfurt", "Stendal", "Sternberg",
      "Stollberg", "Strasburg", "Strausberg", "Stuttgart", "Suhl",
      "Sulzbach-Rosenberg", "S\u00e4ckingen", "S\u00f6mmerda", "Tecklenburg", "Teterow",
      "Tirschenreuth", "Torgau", "Tuttlingen", "T\u00fcbingen",
      "Ueckerm\u00fcnde", "Uelzen", "Uffenheim", "Vechta", "Viechtach", "Viersen",
      "Vilsbiburg", "Vohenstrau\u00df", "Waldm\u00fcnchen", "Wanzleben",
      "Waren", "Warendorf", "Weimar", "Wei\u00dfenfels", "Wei\u00dfwasser", "Werdau",
      "Wernigerode", "Wertingen", "Wesel", "Wetzlar", "Wiedenbr\u00fcck",
      "Wismar", "Wittenberg", "Wittmund", "Wittstock", "Witzenhausen", "Wolfach",
      "Wolfenb\u00fcttel", "Wolfratshausen", "Wolgast", "Wolmirstedt",
      "Worbis", "Wunsiedel", "Wurzen", "Zerbst", "Zeulenroda", "Zossen", "Zschopau"),

    states = c("Baden-W\u00fcrttemberg", "Bayern", "Berlin", "Brandenburg", "Bremen",
               "Hamburg", "Hessen", "Mecklenburg-Vorpommern", "Niedersachsen",
               "Nordrhein-Westfalen", "Rheinland-Pfalz", "Saarland", "Sachsen",
               "Sachsen-Anhalt", "Schleswig-Holstein", "Th\u00fcringen"),

    countries = c(
      "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\u00f4te d\u2019Ivoire", "Demokratische Republik Kongo",
      "Demokratische Volksrepublik Korea", "Deutschland", "Dominica",
      "Dominikanische Republik", "Dschibuti", "D\u00e4nemark", "Ecuador",
      "El Salvador", "Eritrea", "Estland", "Falklandinseln", "Fidschi",
      "Finnland", "Frankreich", "Franz\u00f6sisch-Guayana",
      "Franz\u00f6sisch-Polynesien", "F\u00e4r\u00f6er",
      "Gabun", "Gambia", "Georgien", "Ghana", "Gibraltar", "Grenada",
      "Griechenland", "Gr\u00f6nland", "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\u00e4ndische Antillen", "Niger", "Nigeria", "Niue",
      "Norfolkinsel", "Norwegen", "N\u00f6rdliche Marianen",
      "Oman", "Osttimor", "Pakistan", "Palau", "Pal\u00e4stinensische Gebiete",
      "Panama", "Papua-Neuguinea", "Paraguay", "Peru", "Philippinen", "Pitcairn",
      "Polen", "Portugal", "Puerto Rico", "Republik Korea", "Republik Moldau",
      "Ruanda", "Rum\u00e4nien", "Russische F\u00f6deration", "R\u00e9union",
      "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\u00e9lemy", "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\u00e3o Tom\u00e9 und Pr\u00edncipe",
      "S\u00fcdafrika", "S\u00fcdgeorgien und die S\u00fcdlichen Sandwichinseln",
      "Tadschikistan", "Taiwan", "Tansania", "Thailand", "Togo", "Tokelau",
      "Tonga", "Trinidad und Tobago", "Tschad", "Tschechische Republik", "Tunesien",
      "Turkmenistan", "Turks- und Caicosinseln", "Tuvalu", "T\u00fcrkei",
      "Uganda", "Ukraine", "Ungarn", "Uruguay", "Usbekistan", "Vanuatu", "Vatikanstadt",
      "Venezuela", "Vereinigte Arabische Emirate", "Vereinigte Staaten",
      "Vereinigtes K\u00f6nigreich", "Vietnam", "Wallis und Futuna",
      "Weihnachtsinsel", "Westsahara", "Zentralafrikanische Republik", "Zypern",
      "\u00c4gypten", "\u00c4quatorialguinea", "\u00c4thiopien",
      "\u00c4u\u00dferes Ozeanien", "\u00d6sterreich")
  ),

  public = list(
    street_suffix_short = function() {
      return(private$random_element(private$street_suffixes_short))
    },

    street_suffix_long = function() {
      return(private$random_element(private$street_suffixes_long))
    },
    state = function(){
      return(private$random_element(private$states))
    },
    city_name = function() {
      return(private$random_element(private$cities))
    },

    city_with_postcode = function() {
      temp = private$random_element(private$city_with_postcode_formats)
      return(private$format_parse(temp))
    }
  )
)

## internet -------------------------------
internet_de_DE = R6Class(
  "internet_de_DE",
  inherit = internet_en_US,
  cloneable = FALSE,
  private = list(
    first_names = (person_de_DE$new())$.__enclos_env__$private$first_names,
    last_names = (person_de_DE$new())$.__enclos_env__$private$last_names,

    first_name = (person_de_DE$new())$first_name,
    last_name = (person_de_DE$new())$last_name,

    free_email_domains = c(
      'aol.de', 'gmail.com', 'gmx.de',
      'googlemail.com', 'hotmail.de',
      'web.de', 'yahoo.de'),
    tlds = c('com', 'com', 'com', 'net',
             'org', 'de', 'de', 'de'),

    replacements = list(
      c('\u00e4', 'ae'), c('\u00c4', 'Ae'),
      c('\u00f6', 'oe'), c('\u00d6', 'Oe'),
      c('\u00fc', 'ue'), c('\u00fc', 'Ue'),
      c('\u00e9', 'e'), c('\u00e9', 'E'),
      c('\u00e0', 'a'), c('\u00e0', 'A'),
      c('\u00df', 'ss'))
  ),
  public = list(
    domain_word = function() {
      company = (company_de_DE$new())$company()
      company_elements = str_split(company, " ")[[1]]
      company = private$to_ascii(company_elements[1])
      return(private$slugify(company, allow_unicode = TRUE))
    }
  )
)
## phone_number --------------------
phone_number_de_DE = R6Class(
  "phone_number_de_DE",
  inherit = phone_number_init,
  cloneable = FALSE,
  private = list(
    formats = c(
      '+49(0)##########',
      '+49(0)#### ######',
      '+49 (0) #### ######',
      '+49(0) #########',
      '+49(0)#### #####',
      '0##########',
      '0#########',
      '0#### ######',
      '0#### #####',
      '(0####) ######',
      '(0####) #####'
    )
  )
)
## ssn --------------------------------
ssn_de_DE = R6Class(
  "ssn_de_DE",
  inherit = ssn_init,
  cloneable = FALSE,
  private = list(
    vat_id_formats = 'DE#########'
  ),

  public = list(
    # http://ec.europa.eu/taxation_customs/vies/faq.html#item_11
    # :return: A random German VAT ID
    vat_id = function() {
      temp = private$random_element(private$vat_id_formats)
      return(private$bothify(temp))
    }
  )
)

## profile ------------------
profile_de_DE = R6Class(
  "profile_de_DE",
  inherit = profile_init,
  cloneable = FALSE,
  public = list(
    simple_profile = function(sex) {
      # Generates a basic profile with personal informations
      SEX = c("F", "M")
      if (missing(sex)) {
        sex = sample(SEX, 1)
      }
      if (!(sex %in% SEX)) {
        sex = sample(SEX, 1)
      }

      name = ifelse(sex == "F",
                    (person_de_DE$new())$name_female(),
                    (person_de_DE$new())$name_male())
      temp = list(
        "username" = (internet_de_DE$new())$user_name(),
        "name" = name,
        "sex" = sex,
        "address" = (address_de_DE$new())$address(),
        "mail" = (internet_de_DE$new())$free_email(),
        "birthdate" = (date_time_init$new())$date_of_birth()
      )
      return(temp)
    },

    profile = function(fields, sex) {
      # Generates a complete profile.
      # If "fields" is not empty, only the fields in the list will be returned

      if (missing(fields)) fields = c()

      field = list(
        "job" = (job_init$new())$job(),
        "company" = (company_de_DE$new())$company(),
        "ssn" = (ssn_de_DE$new())$ssn(),
        "residence" = (address_de_DE$new())$address(),
        "current_location" = c((geo_init$new())$latitude(),
                               (geo_init$new())$longitude()),
        "blood_group" = sample(c(
          "A+", "A-", "B+", "B-", "AB+", "AB-", "O+", "O-"), 1),
        "website" = replicate(sample(seq(4), 1), (internet_de_DE$new())$url())
      )

      field = append(field, self$simple_profile(sex))
      # field selection

      if (length(fields)) {
        nms = intersect(names(field), fields)
        field = field[nms]
      }
      return(field)
    }

  )
)
LuYang19/faker documentation built on Jan. 3, 2020, 12:07 a.m.