Skip to content

Instantly share code, notes, and snippets.

@quchen
Last active September 4, 2018 11:41
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save quchen/c0ba939cb2fef175b917956314d67e75 to your computer and use it in GitHub Desktop.
Save quchen/c0ba939cb2fef175b917956314d67e75 to your computer and use it in GitHub Desktop.
#!/usr/bin/env stack
{- stack
--resolver lts-12.0
--install-ghc
runghc
--package text
--package vector
--package base
--package random
--
-hide-all-packages
-}
-- λ. ./RandomNames.hs
-- Hash input> test
-- Dean Pfeiffer
-- Hash input> test
-- Dean Pfeiffer
-- Hash input> test
-- Dean Pfeiffer
-- Hash input> testt
-- Joanna Jensen
-- Hash input> töst
-- Emil Riedl
-- Hash input> täst
-- Mira Betz
-- Hash input> täst
-- Mira Betz
-- Hash input> täst
-- Mira Betz
-- Hash input> ^C
{-# OPTIONS_GHC -Wall -Wcompat #-}
{-# LANGUAGE OverloadedLists #-}
{-# LANGUAGE OverloadedStrings #-}
module Main (main) where
import Data.Char
import Data.Text (Text)
import qualified Data.Text.IO as T
import Data.Vector (Vector)
import qualified Data.Vector as V
import System.Random
main :: IO ()
main = do
T.putStr "Hash input> "
input <- getLine
let (name, _) = hashName (mkStdGen (sum (map ord input)))
T.putStrLn name
main
hashEntry :: StdGen -> Vector a -> (a, StdGen)
hashEntry gen vec =
let (index, gen') = randomR (0, V.length vec - 1) gen
in (vec V.! index, gen')
hashName :: StdGen -> (Text, StdGen)
hashName gen =
let (firstName, gen') = hashEntry gen firstNames
(lastName, gen'') = hashEntry gen' lastNames
in (firstName <> " " <> lastName, gen'')
lastNames :: Vector Text
lastNames =
[ "Abel", "Ackermann", "Adam", "Adams", "Adler", "Ahlers", "Ahrens",
"Albers", "Albert", "Albrecht", "Alt", "Altmann", "Amann", "Anders",
"Andres", "Apel", "Appel", "Arndt", "Arnold", "Auer", "Augustin", "Bach",
"Bachmann", "Backhaus", "Bader", "Bahr", "Baier", "Balzer", "Bär", "Bartel",
"Bartels", "Barth", "Barthel", "Bartsch", "Bastian", "Bauer", "Baum",
"Baumann", "Baumeister", "Baumgart", "Baumgarten", "Baumgartner",
"Baumgärtner", "Baur", "Bayer", "Becher", "Beck", "Becker", "Beckmann",
"Beer", "Behnke", "Behr", "Behrendt", "Behrens", "Beier", "Bender", "Benz",
"Berg", "Berger", "Bergmann", "Berndt", "Berner", "Bernhard", "Bernhardt",
"Berthold", "Bertram", "Betz", "Beyer", "Biermann", "Binder", "Bischof",
"Bischoff", "Bittner", "Blank", "Block", "Blum", "Blume", "Bock", "Bode",
"Böhm", "Böhme", "Böhmer", "Bohn", "Boldt", "Bolz", "Borchert", "Bormann",
"Born", "Börner", "Bosch", "Böttcher", "Böttger", "Brand", "Brandes",
"Brandl", "Brandt", "Brauer", "Bräuer", "Braun", "Brehm", "Bremer",
"Brendel", "Brenner", "Breuer", "Brinkmann", "Brockmann", "Brück",
"Brückner", "Brüggemann", "Brüning", "Brunner", "Bruns", "Bucher",
"Buchholz", "Buchmann", "Buchner", "Büchner", "Buck", "Budde", "Bühler",
"Burger", "Bürger", "Burghardt", "Burkhardt", "Burmeister", "Busch",
"Buschmann", "Busse", "Büttner", "Christ", "Claus", "Clemens", "Conrad",
"Cordes", "Cramer", "Cremer", "Damm", "Daniel", "David", "Decker", "Dick",
"Dieckmann", "Diehl", "Diekmann", "Dietrich", "Dietz", "Dietze", "Dittmann",
"Dittrich", "Doll", "Döring", "Dorn", "Dörr", "Drechsler", "Dreher",
"Dreier", "Drescher", "Drews", "Dreyer", "Dürr", "Ebel", "Ebeling",
"Eberhardt", "Eberle", "Ebert", "Ebner", "Eckardt", "Eckert", "Eckhardt",
"Eckstein", "Eder", "Eggers", "Eggert", "Ehlers", "Ehlert", "Ehrhardt",
"Ehrlich", "Eichhorn", "Eichler", "Eilers", "Eisele", "Elsner", "Emmerich",
"Enders", "Endres", "Engel", "Engelhardt", "Engelmann", "Engels", "Engler",
"Erdmann", "Ernst", "Esser", "Evers", "Ewald", "Ewert", "Exner", "Faber",
"Falk", "Faust", "Feldmann", "Fichtner", "Fiedler", "Finger", "Fink",
"Finke", "Fischer", "Fleischer", "Fleischmann", "Forster", "Förster",
"Frank", "Franke", "Franz", "Freitag", "Frenzel", "Freund", "Frey", "Frick",
"Fricke", "Friedl", "Friedrich", "Friedrichs", "Fries", "Friese", "Frisch",
"Fritsch", "Fritsche", "Fritz", "Fritzsche", "Fröhlich", "Fuchs",
"Fuhrmann", "Funk", "Funke", "Fürst", "Gabriel", "Gärtner", "Gebauer",
"Gebhardt", "Gehring", "Gehrke", "Gehrmann", "Geier", "Geiger", "Geisler",
"Geißler", "Gerber", "Gerdes", "Gerhardt", "Gerlach", "Geyer", "Giese",
"Glaser", "Gläser", "Göbel", "Gottschalk", "Gottwald", "Götz", "Götze",
"Grabowski", "Graf", "Grau", "Greiner", "Grimm", "Gross", "Groß", "Große",
"Großmann", "Grote", "Groth", "Grube", "Gruber", "Grün", "Grund",
"Grundmann", "Grünewald", "Grunwald", "Günther", "Haack", "Haag", "Haas",
"Haase", "Habermann", "Hack", "Hacker", "Hafner", "Hagedorn", "Hagemann",
"Hagen", "Hager", "Hahn", "Haller", "Hamann", "Hamm", "Hammer", "Hampel",
"Hanisch", "Hanke", "Hannemann", "Hansen", "Harder", "Hardt", "Harms",
"Hartl", "Hartmann", "Hartung", "Hartwig", "Hauck", "Haug", "Haupt",
"Hauser", "Häusler", "Hausmann", "Hecht", "Heck", "Hecker", "Heckmann",
"Heide", "Heidenreich", "Heider", "Heidrich", "Heil", "Heilmann", "Heim",
"Heimann", "Hein", "Heine", "Heinemann", "Heinen", "Heinrich", "Heinrichs",
"Heinz", "Heinze", "Heise", "Heitmann", "Helbig", "Held", "Heller",
"Hellmann", "Hellwig", "Helm", "Hempel", "Henke", "Henkel", "Henn",
"Hennig", "Henning", "Henrich", "Hensel", "Hentschel", "Henze", "Herbst",
"Hering", "Hermann", "Hermes", "Herold", "Herr", "Herrmann", "Hertel",
"Herz", "Herzog", "Hess", "Heß", "Hesse", "Heuer", "Heuser", "Heyer",
"Hildebrand", "Hildebrandt", "Hill", "Hille", "Hillebrand", "Hiller",
"Hinrichs", "Hinz", "Hirsch", "Hoch", "Hofer", "Höfer", "Hoff", "Hoffmann",
"Hofmann", "Hohmann", "Höhn", "Höhne", "Hölscher", "Holz", "Hopf", "Hopp",
"Hoppe", "Horn", "Hornung", "Horst", "Horstmann", "Hoyer", "Huber",
"Hübner", "Hummel", "Huth", "Jacob", "Jacobi", "Jacobs", "Jaeger", "Jäger",
"Jahn", "Jahnke", "Jakob", "Jakobs", "Janke", "Jansen", "Janssen", "Janßen",
"Janzen", "Jensen", "Johannsen", "John", "Jonas", "Jordan", "Jost", "Jung",
"Junge", "Junker", "Jürgens", "Just", "Kahl", "Kaiser", "Kaminski", "Karl",
"Kasper", "Kastner", "Kästner", "Kaufmann", "Kaya", "Keck", "Keil",
"Keller", "Kellermann", "Kellner", "Kemper", "Kempf", "Kern", "Kersten",
"Kessler", "Keßler", "Kiefer", "Kilian", "Kirchhoff", "Kirchner", "Kirsch",
"Kirschner", "Klatt", "Klaus", "Klein", "Kleine", "Kleinert", "Klemm",
"Kling", "Klinger", "Klose", "Klotz", "Klug", "Kluge", "Knapp", "Knauer",
"Knobloch", "Knoll", "Knorr", "Koch", "Kock", "Kohl", "Kohler", "Köhler",
"Köhn", "Kolb", "Kolbe", "Koller", "König", "Konrad", "Kopp", "Körber",
"Korn", "Körner", "Korte", "Köster", "Kowalski", "Kraft", "Kramer",
"Krämer", "Kranz", "Kratz", "Kraus", "Krause", "Krauß", "Krebs", "Kremer",
"Kretschmer", "Kretzschmar", "Kreuzer", "Krieg", "Krieger", "Kröger",
"Krohn", "Kroll", "Krug", "Krüger", "Kruse", "Kübler", "Kugler", "Kühl",
"Kuhlmann", "Kuhn", "Kühn", "Kühne", "Kühnel", "Kummer", "Kunert", "Kunkel",
"Kunz", "Kunze", "Küpper", "Küppers", "Kurth", "Kurz", "Küster", "Lampe",
"Lang", "Lange", "Langer", "Langner", "Lau", "Lauer", "Lauterbach",
"Lechner", "Lehmann", "Lehner", "Lehnert", "Lemke", "Lenz", "Leonhardt",
"Lerch", "Liedtke", "Lindemann", "Lindner", "Link", "Linke", "Lippert",
"Löffler", "Lohmann", "Löhr", "Lohse", "Loos", "Lorenz", "Lorenzen", "Lotz",
"Lück", "Lüdtke", "Ludwig", "Lukas", "Lutz", "Lux", "Maas", "Maaß", "Mack",
"Mader", "Mahler", "Mai", "Maier", "Mangold", "Mann", "Marquardt",
"Martens", "Martin", "Marx", "Matthes", "Maurer", "May", "Mayer", "Mayr",
"Meier", "Meißner", "Meister", "Melzer", "Mende", "Menke", "Menzel",
"Merkel", "Merten", "Mertens", "Merz", "Metz", "Metzger", "Metzner",
"Meurer", "Meyer", "Michael", "Michaelis", "Michel", "Michels", "Mielke",
"Miller", "Mohr", "Moll", "Möller", "Morgenstern", "Moritz", "Moser",
"Mühlbauer", "Müller", "Münch", "Muth", "Nagel", "Naumann", "Neu",
"Neubauer", "Neubert", "Neugebauer", "Neuhaus", "Neumann", "Nguyen",
"Nickel", "Niemann", "Niemeyer", "Nitsche", "Nitschke", "Noack", "Noll",
"Nolte", "Nowak", "Obermeier", "Ochs", "Opitz", "Oppermann", "Orth",
"Ortmann", "Ostermann", "Oswald", "Ott", "Otte", "Otten", "Otto", "Pabst",
"Pahl", "Palm", "Pape", "Paul", "Pauli", "Paulsen", "Paulus", "Peter",
"Petermann", "Peters", "Petersen", "Petri", "Petry", "Petzold", "Pfaff",
"Pfeffer", "Pfeifer", "Pfeiffer", "Pfister", "Philipp", "Pieper", "Pietsch",
"Pilz", "Pohl", "Pohlmann", "Popp", "Post", "Preuß", "Prinz", "Probst",
"Pusch", "Pütz", "Raab", "Raabe", "Rabe", "Rademacher", "Radtke", "Rahn",
"Rapp", "Rath", "Rau", "Rauch", "Rausch", "Rauscher", "Rehm", "Reich",
"Reichardt", "Reichel", "Reichelt", "Reichert", "Reif", "Reimann", "Reimer",
"Reimers", "Reinecke", "Reinhard", "Reinhardt", "Reinhold", "Reinke",
"Reis", "Reiser", "Reiß", "Reiter", "Reitz", "Renner", "Renz", "Resch",
"Reuter", "Richter", "Rieck", "Riedel", "Riedl", "Rieger", "Riemer", "Ries",
"Ritter", "Rode", "Röder", "Rogge", "Rohde", "Römer", "Roos", "Rösch",
"Rose", "Rösler", "Rößler", "Rost", "Roth", "Rothe", "Rother", "Rudolf",
"Rudolph", "Ruf", "Rühl", "Runge", "Rupp", "Ruppert", "Rupprecht", "Sachs",
"Sachse", "Sahin", "Sailer", "Sander", "Sattler", "Sauer", "Sauter",
"Schaaf", "Schade", "Schaefer", "Schäfer", "Schaller", "Schaper", "Scharf",
"Schatz", "Schaub", "Schauer", "Scheel", "Scheer", "Scheffler", "Schell",
"Scheller", "Schenk", "Scherer", "Schick", "Schiffer", "Schiller",
"Schilling", "Schindler", "Schirmer", "Schlegel", "Schleicher", "Schlosser",
"Schlüter", "Schmid", "Schmidt", "Schmidtke", "Schmitt", "Schmitz",
"Schnabel", "Schneider", "Schnell", "Schober", "Scholl", "Scholz", "Schön",
"Schöne", "Schönfeld", "Schott", "Schrader", "Schramm", "Schreiber",
"Schreiner", "Schröder", "Schroeder", "Schröer", "Schröter", "Schubert",
"Schuh", "Schuhmacher", "Schuler", "Schüler", "Schüller", "Schulte",
"Schultz", "Schultze", "Schulz", "Schulze", "Schumacher", "Schumann",
"Schürmann", "Schuster", "Schütt", "Schütte", "Schütz", "Schütze", "Schwab",
"Schwabe", "Schwartz", "Schwarz", "Schwarze", "Schwarzer", "Schweiger",
"Schweitzer", "Schweizer", "Seeger", "Seemann", "Seibel", "Seibert",
"Seidel", "Seidl", "Seidler", "Seifert", "Seiler", "Seitz", "Sieber",
"Siebert", "Siegel", "Siegert", "Sievers", "Simon", "Singer", "Sommer",
"Sommerfeld", "Sonntag", "Späth", "Specht", "Spengler ", "Sperling",
"Spies", "Spindler", "Sprenger", "Springer", "Stadler", "Stahl", "Stamm",
"Stange", "Stark", "Starke", "Steffen", "Steffens", "Stein", "Steinbach",
"Steiner", "Steinert", "Steinke", "Steinmetz", "Stenzel", "Stephan",
"Stern", "Stiller", "Stock", "Stöhr", "Stoll", "Stolz", "Stratmann",
"Straub", "Strauch", "Strauß", "Strobel", "Struck", "Stumpf", "Sturm",
"Süß", "Teichmann", "Theis", "Thelen", "Thiel", "Thiele", "Thiemann",
"Thieme", "Thies", "Thoma", "Thomas", "Thomsen", "Tiedemann", "Tietz",
"Timm", "Trapp", "Trautmann", "Uhl", "Uhlig", "Ulbrich", "Ullmann",
"Ullrich", "Ulrich", "Unger", "Urban", "Veit", "Vetter", "Vogel", "Vogl",
"Vogler", "Vogt", "Voigt", "Volk", "Völker", "Volkmann", "Vollmer", "Volz",
"Voss", "Voß", "Wächter", "Wacker", "Wagener", "Wagner", "Wahl", "Walter",
"Walther", "Walz", "Weber", "Wegener", "Wegner", "Wehner", "Weidner",
"Weigel", "Weiland", "Weiler", "Weinert", "Weis", "Weise", "Weiss", "Weiß",
"Weller", "Welsch", "Wendel", "Wendler", "Wendt", "Wenzel", "Werner",
"Wessel", "Westermann", "Westphal", "Wetzel", "Wichmann", "Widmann",
"Wieczorek", "Wiedemann", "Wiegand", "Wieland", "Wiese", "Wiesner", "Wild",
"Wilde", "Wilhelm", "Wilke", "Will", "Wille", "Wilms", "Wimmer",
"Winkelmann", "Winkler", "Winter", "Wirth", "Wirtz", "Witt", "Witte",
"Wittig", "Wittmann", "Wolf", "Wolff", "Wolter", "Wolters", "Wörner",
"Wulf", "Wulff", "Wunderlich", "Wüst", "Yilmaz", "Zahn", "Zander",
"Zeidler", "Zeller", "Ziegler", "Zimmer", "Zimmermann", "Zink", "Zöller",
"Zorn" ]
firstNames :: Vector Text
firstNames = girls <> boys
where
girls =
[ "Aaliyah", "Abby", "Ada", "Adele", "Adelina", "Adriana", "Aimee",
"Alara", "Alea", "Alena", "Alessa", "Alessandra", "Alessia", "Alexa",
"Alexandra", "Alexia", "Aleyna", "Alia", "Alica", "Alice", "Alicia",
"Alina", "Alisa", "Alisha", "Alissa", "Allegra", "Alma", "Alva",
"Amalia", "Amanda", "Amelia", "Amelie", "Amilia", "Amina", "Amira",
"Amy", "Anastasia", "Andrea", "Angelina", "Anita", "Anja", "Ann",
"Anna", "Annabell", "Annalena", "Anne", "Anneke", "Annelie",
"Annemarie", "Anni", "Annika", "Anouk", "Antonia", "Ariana", "Ariane",
"Arina", "Ashley", "Asmin", "Asya", "Aurelia", "Aurora", "Ava", "Ayla",
"Aylin", "Ayse", "Azra", "Bella", "Beren", "Berfin", "Betty", "Beyza",
"Bianca", "Cara", "Carina", "Carla", "Carlotta", "Carolin", "Carolina",
"Cassandra", "Cecilia", "Celia", "Celina", "Celine", "Ceyda", "Ceylin",
"Chantal", "Charleen", "Charlene", "Charlotta", "Charlotte", "Cheyenne",
"Chiara", "Christin", "Christina", "Claire", "Clara", "Clarissa",
"Cora", "Cosima", "Dalia", "Dana", "Daria", "Davina", "Defne", "Delia",
"Denise", "Diana", "Dilara", "Dina", "Ecrin", "Eda", "Edda", "Ela",
"Elaina", "Elaine", "Elanur", "Elea", "Eleanor", "Elena", "Eleni",
"Eleonora", "Eliana", "Elif", "Elin", "Elina", "Elisa", "Elisabeth",
"Elise", "Ella", "Ellen", "Elli", "Elsa", "Emely", "Emilia", "Emily",
"Emma", "Emmi", "Enie", "Enna", "Enya", "Esila", "Esma", "Esther",
"Eva", "Evelina", "Evelyn", "Eylül", "Fabienne", "Fatima", "Fatma",
"Felicia", "Felicitas", "Felina", "Feline", "Femke", "Fenja", "Fine",
"Finja", "Fiona", "Flora", "Florentine", "Franka", "Franziska",
"Frederike", "Freya", "Frieda", "Friederike", "Gina", "Gioia", "Giulia",
"Giuliana", "Gloria", "Grace", "Greta", "Hailey", "Hannah", "Hanne",
"Havin", "Hayley", "Hedi", "Heidi", "Helen", "Helena", "Helene",
"Helin", "Henriette", "Henrike", "Hermine", "Hira", "Holly", "Ida",
"Ilaria", "Ilayda", "Ina", "Ines", "Inga", "Irem", "Irma", "Isabell",
"Isabella", "Jamie", "Jana", "Janin", "Janina", "Janna", "Janne",
"Jara", "Jasmin", "Jasmina", "Jasmine", "Jenna", "Jennifer", "Jenny",
"Jessika", "Jette", "Jill", "Joana", "Joanna", "Jody", "Joelle",
"Johanna", "Joleen", "Jolie", "Jolien", "Jolina", "Joline", "Jona",
"Jonna", "Josefin", "Josefina", "Joselyn", "Josephine", "Josie", "Joy",
"Joyce", "Judith", "Jule", "Julia", "Juliana", "Juliane", "Julie",
"Julina", "Juna", "Kaja", "Kate", "Katharina", "Käthe", "Kathleen",
"Katja", "Katrin", "Kayra", "Kiana", "Kim", "Kimberly", "Kira", "Laila",
"Lana", "Lara", "Larissa", "Laura", "Lavinia", "Lea", "Leana",
"Leandra", "Leia", "Leila", "Lejla", "Lena", "Lene", "Leni", "Lenia",
"Lenja", "Leona", "Leonie", "Leonora", "Leticia", "Levke", "Lia",
"Liana", "Lilia", "Lilian", "Liliana", "Lilith", "Lilli", "Lina",
"Linda", "Line", "Linea", "Lisa", "Liv", "Livia", "Liya", "Liz", "Lola",
"Lorena", "Lorin", "Lotta", "Lotte", "Lou", "Luana", "Luca", "Lucia",
"Lucy", "Luisa", "Luise", "Luna", "Luzi", "Lydia", "Lynn", "Madeleine",
"Madita", "Madlen", "Magdalena", "Maike", "Maila", "Mailin", "Maira",
"Maja", "Malea", "Malena", "Malia", "Malin", "Malina", "Malou", "Mara",
"Mareike", "Maren", "Maria", "Mariam", "Marie", "Marieke", "Mariella",
"Marielle", "Marina", "Marisa", "Marit", "Marla", "Marleen", "Marlena",
"Marlene", "Martha", "Mary", "Mathea", "Mathilda", "Mathilde", "Maxi",
"Maxima", "Mayra", "Medina", "Megan", "Melanie", "Melek", "Melia",
"Melina", "Melinda", "Melis", "Melisa", "Melissa", "Melody", "Merle",
"Meryem", "Mia", "Michaela", "Michelle", "Mieke", "Mila", "Milana",
"Milena", "Miley", "Milla", "Mina", "Mira", "Miray", "Miriam", "Mirja",
"Mona", "Mya", "Nadine", "Nadja", "Naemi", "Nahla", "Naila", "Nala",
"Naomi", "Natalia", "Natalie", "Nayla", "Nela", "Nele", "Nelly", "Nia",
"Nicole", "Nika", "Nike", "Nila", "Nilay", "Nina", "Nisa", "Noemi",
"Nora", "Olivia", "Patricia", "Paula", "Paulina", "Pauline", "Pelin",
"Penelope", "Philine", "Philippa", "Phoebe", "Pia", "Rachel", "Rana",
"Rania", "Rebecca", "Rieke", "Romina", "Romy", "Ronja", "Rosa",
"Rosalie", "Ruby", "Sabrina", "Salma", "Salome", "Samantha", "Samia",
"Samira", "Sandra", "Saphira", "Sarah", "Sarina", "Saskia", "Selena",
"Selin", "Selina", "Selma", "Sena", "Seraphina", "Shania", "Shirin",
"Sidney", "Sienna", "Sila", "Sina", "Sinja", "Smilla", "Sofia", "Sonja",
"Sophie", "Soraya", "Stefanie", "Stella", "Stina", "Stine", "Sude",
"Summer", "Sunny", "Svea", "Svenja", "Tabea", "Talea", "Talia",
"Tamara", "Tamia", "Tamina", "Tara", "Tarja", "Tessa", "Thea",
"Theresa", "Tia", "Tiana", "Tilda", "Tina", "Tuana", "Valentina",
"Valeria", "Valerie", "Vanessa", "Verena", "Veronika", "Victoria",
"Viola", "Violetta", "Vivian", "Vivien", "Wiebke", "Xenia", "Yagmur",
"Yaren", "Yasmina", "Ylvi", "Zara", "Zazou", "Zehra", "Zeynep", "Zoe",
"Zoey", "Zümra" ]
boys =
[ "Aaron", "Adam", "Adrian", "Adriano", "Ahmad", "Ahmet", "Aiden",
"Alan", "Albert", "Alejandro", "Alen", "Alessandro", "Alessio", "Alex",
"Alexander", "Ali", "Alper", "Alwin", "Amin", "Amir", "Andre",
"Andreas", "Angelo", "Ansgar", "Anthony", "Anton", "Antonio", "Aras",
"Arda", "Ardian", "Arian", "Arjen", "Armin", "Arne", "Artur", "Arvid",
"Atakan", "Azad", "Baran", "Bastian", "Batuhan", "Bela", "Ben",
"Bendix", "Benedikt", "Benjamin", "Bennet", "Benno", "Benny", "Bent",
"Berat", "Berkay", "Bilal", "Bjarne", "Björn", "Brian", "Bruno",
"Burak", "Can", "Carl", "Carlo", "Carlos", "Caspar", "Cedric", "Cem",
"Charlie", "Chris", "Christian", "Christoph", "Christopher", "Christos",
"Claas", "Clemens", "Colin", "Connor", "Constantin", "Cornelius",
"Corvin", "Curt", "Damian", "Damien", "Damon", "Daniel", "Danilo",
"Danny", "Dante", "Darian", "Dario", "Darius", "Dave", "David",
"Davide", "Davin", "Dean", "Demian", "Deniz", "Dennis", "Denny",
"Devin", "Devran", "Dian", "Diego", "Dion", "Domenic", "Dominic",
"Dorian", "Dustin", "Dylan", "Eddi", "Edgar", "Edin", "Ediz", "Eduard",
"Edward", "Edwin", "Efe", "Ege", "Elia", "Elian", "Elias", "Elijah",
"Elmedin", "Emanuel", "Emil", "Emilian", "Emilio", "Emin", "Emir",
"Emirhan", "Emre", "Enes", "Enno", "Enrico", "Ensar", "Enzo", "Eray",
"Eren", "Erik", "Erwin", "Esad", "Etienne", "Eymen", "Fabian", "Fabio",
"Fabrice", "Falk", "Faris", "Felix", "Ferdinand", "Fernando", "Fiete",
"Finn", "Finnley", "Florian", "Flynn", "Francesco", "Franz", "Frederik",
"Friedrich", "Fritz", "Furkan", "Gabriel", "Georg", "Gerrit", "Gian",
"Gianluca", "Gino", "Giovanni", "Giuliano", "Giuseppe", "Gregor",
"Gustav", "Hagen", "Halil", "Hamza", "Hannes", "Hanno", "Hans", "Harun",
"Hasan", "Hassan", "Hauke", "Heinrich", "Hendrik", "Hennes", "Henning",
"Henrik", "Henry", "Hermann", "Hugo", "Hüseyin", "Ian", "Ibrahim",
"Ilias", "Ilja", "Ismail", "Ivan", "Iven", "Jack", "Jake", "Jakob",
"Jakub", "Jamal", "James", "Jamie", "Jan", "Janne", "Jannek", "Jannes",
"Jannik", "Jannis", "Jano", "Janosch", "Jarne", "Jarno", "Jaron",
"Jason", "Jasper", "Jay", "Jayden", "Jayson", "Jean", "Jeremias",
"Jeremy", "Jermaine", "Jerome", "Jesper", "Jesse", "Jim", "Jimmy",
"Joe", "Joel", "Joey", "Johann", "Johannes", "John", "Jon", "Jona",
"Jonas", "Jonathan", "Jonte", "Joost", "Jordan", "Joris", "Joscha",
"Josef", "Joshua", "Julian", "Julien", "Julius", "Juri", "Justin",
"Justus", "Kaan", "Kadir", "Kai", "Kalle", "Karim", "Keanu", "Kenan",
"Keno", "Kerem", "Kerim", "Kevin", "Kian", "Kilian", "Kimi", "Kirill",
"Kjell", "Konrad", "Koray", "Korbinian", "Kuzey", "Lars", "Lasse",
"Laurens", "Laurin", "Lean", "Leander", "Leandro", "Leart", "Leif",
"Len", "Lennard", "Lennox", "Lenny", "Leo", "Leon", "Leonard",
"Leonardo", "Leonas", "Leonhard", "Leonidas", "Leopold", "Levi",
"Levin", "Lewis", "Liam", "Lian", "Lias", "Lino", "Linus", "Lio",
"Lion", "Lionel", "Logan", "Lorenz", "Lorenzo", "Loris", "Luan", "Luca",
"Lucian", "Lucien", "Ludwig", "Luis", "Luiz", "Lukas", "Luke", "Lutz",
"Maddox", "Magnus", "Maik", "Mailo", "Malik", "Malte", "Manuel", "Marc",
"Marcel", "Marco", "Marek", "Marian", "Mario", "Marius", "Markus",
"Marlo", "Marlon", "Marten", "Martin", "Marvin", "Mats", "Matteo",
"Mattes", "Matthew", "Matthias", "Matti", "Mattis", "Maurice", "Max",
"Maxim", "Maximilian", "Mehmet", "Melih", "Melvin", "Merlin", "Mert",
"Mete", "Michael", "Michel", "Mick", "Miguel", "Mika", "Mikail", "Miko",
"Milan", "Milo", "Mio", "Mirac", "Miran", "Mirco", "Mohammed", "Moritz",
"Mustafa", "Nathan", "Nelson", "Neo", "Neven", "Nevio", "Nick", "Nico",
"Nicolas", "Nikita", "Niklas", "Nikolai", "Nils", "Nino", "Noah",
"Noel", "Ole", "Oliver", "Ömer", "Onur", "Orlando", "Oskar", "Otto",
"Pablo", "Pascal", "Patrick", "Paul", "Peer", "Pepe", "Peter", "Phil",
"Philipp", "Pierre", "Piet", "Pius", "Quentin", "Quirin", "Rafael",
"Raik", "Ramon", "Rasmus", "Raul", "Rayan", "René", "Ricardo",
"Richard", "Rico", "Robert", "Robin", "Rocco", "Roman", "Romeo", "Ron",
"Ruben", "Rune", "Ryan", "Sam", "Sami", "Samir", "Sammy", "Samuel",
"Sandro", "Santino", "Sascha", "Sean", "Sebastian", "Selim", "Semih",
"Severin", "Silas", "Simeon", "Simon", "Sinan", "Sörne", "Stanley",
"Stefan", "Steffen", "Steven", "Sven", "Taha", "Tamino", "Tamme",
"Tammo", "Taylan", "Taylor", "Theo", "Theodor", "Thies", "Thilo",
"Thomas", "Thore", "Tiago", "Till", "Tim", "Timo", "Timon", "Timur",
"Tino", "Titus", "Tizian", "Tjark", "Tobias", "Tom", "Tommy", "Toni",
"Toprak", "Torben", "Torge", "Tristan", "Tyler", "Umut", "Valentin",
"Valentino", "Victor", "Vince", "Vincent", "Vincenzo", "Vinzenz",
"Vitus", "Wilhelm", "Willi", "William", "Xaver", "Yasin", "Yassin",
"Yigit", "Younes", "Yunus", "Yusuf" ]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment