from ..es import Provider as PersonProvider


class Provider(PersonProvider):
    formats_female = (
        "{{first_name_female}} {{last_name}} {{last_name}}",
        "{{first_name_female}} {{first_name_female}} {{last_name}}",
        "{{first_name_female}} {{first_name_female}} {{last_name}} {{last_name}}",
        "{{first_name_female}} {{last_name}}",
        "{{prefix_female}} {{first_name_female}} {{last_name}}",
    )

    formats_male = (
        "{{first_name_male}} {{last_name}} {{last_name}}",
        "{{first_name_male}} {{first_name_male}} {{last_name}}",
        "{{first_name_male}} {{first_name_male}} {{last_name}} {{last_name}}",
        "{{first_name_male}} {{last_name}}",
        "{{prefix_male}} {{first_name_male}} {{last_name}}",
    )

    formats = formats_male + formats_female

    first_names_male = (
        "Abel",
        "Abelardo",
        "Abraham",
        "Adalberto",
        "Adán",
        "Agustín",
        "Alberto",
        "Aldo",
        "Alejandro",
        "Alfonso",
        "Alfredo",
        "Alonso",
        "Alvaro",
        "Amador",
        "Andrés",
        "Ángel",
        "Antonio",
        "Armando",
        "Arturo",
        "Augusto",
        "Aurelio",
        "Benito",
        "Benjamín",
        "Bernabé",
        "Bernardo",
        "Bruno",
        "Camilo",
        "Carlos",
        "César",
        "Claudio",
        "Clemente",
        "Cornelio",
        "Cristian",
        "Cristobal",
        "Daniel",
        "Darío",
        "David",
        "Diego",
        "Eduardo",
        "Elias",
        "Eloy",
        "Emiliano",
        "Emilio",
        "Enrique",
        "Eric",
        "Ernesto",
        "Espartaco",
        "Esteban",
        "Eugenio",
        "Evelio",
        "Federico",
        "Felipe",
        "Felix",
        "Fernando",
        "Fidel",
        "Flavio",
        "Francisco",
        "Francisco Javier",
        "Gabino",
        "Gabriel",
        "Genaro",
        "Gerardo",
        "Germán",
        "Gerónimo",
        "Gilberto",
        "Gonzalo",
        "Gregorio",
        "Guillermo",
        "Gustavo",
        "Héctor",
        "Hernán",
        "Homero",
        "Horacio",
        "Hugo",
        "Humberto",
        "Ignacio",
        "Isaac",
        "Israel",
        "Iván",
        "Jacinto",
        "Jacobo",
        "Jaime",
        "Javier",
        "Jerónimo",
        "Jesús",
        "Joaquín",
        "Jonás",
        "Jorge",
        "Jorge Luis",
        "Jos",
        "José",
        "José Carlos",
        "José Eduardo",
        "José Emilio",
        "José Luis",
        "José Manuél",
        "José María",
        "Juan",
        "Juan Carlos",
        "Julio",
        "Julio César",
        "Leonardo",
        "Leonel",
        "Lorenzo",
        "Lucas",
        "Luis",
        "Luis Manuel",
        "Luis Miguel",
        "Manuel",
        "Marco Antonio",
        "Marcos",
        "Mariano",
        "Mario",
        "Martín",
        "Mateo",
        "Mauricio",
        "Mauro",
        "Maximiliano",
        "Miguel",
        "Miguel Ángel",
        "Modesto",
        "Nicolás",
        "Octavio",
        "Óliver",
        "Omar",
        "Óscar",
        "Oswaldo",
        "Pablo",
        "Pascual",
        "Patricio",
        "Pedro",
        "Porfirio",
        "Rafaél",
        "Ramiro",
        "Ramón",
        "Raúl",
        "Renato",
        "René",
        "Reynaldo",
        "Ricardo",
        "Roberto",
        "Rodolfo",
        "Rodrigo",
        "Rolando",
        "Rubén",
        "Rufino",
        "Salvador",
        "Samuel",
        "Santiago",
        "Serafín",
        "Sergio",
        "Silvano",
        "Teodoro",
        "Timoteo",
        "Tomás",
        "Uriel",
        "Vicente",
        "Víctor",
        "Wilfrido",
        "Zacarías",
        "Zeferino",
    )

    first_names_female = (
        "Abigail",
        "Abril",
        "Adela",
        "Adriana",
        "Aida",
        "Alejandra",
        "Aldonza",
        "Alicia",
        "Alma",
        "Alta  Gracia",
        "Amalia",
        "Amanda",
        "Amelia",
        "Ana",
        "Ana Luisa",
        "Ana María",
        "Anabel",
        "Andrea",
        "Anel",
        "Ángela",
        "Angélica",
        "Antonia",
        "Araceli",
        "Arcelia",
        "Ariadna",
        "Asunción",
        "Aurora",
        "Barbara",
        "Beatriz",
        "Berta",
        "Bianca",
        "Blanca",
        "Camila",
        "Caridad",
        "Carla",
        "Carlota",
        "Carmen",
        "Carolina",
        "Catalina",
        "Cecilia",
        "Celia",
        "Citlali",
        "Clara",
        "Claudia",
        "Concepción",
        "Conchita",
        "Cristal",
        "Cristina",
        "Cynthia",
        "Dalia",
        "Daniela",
        "Débora",
        "Delia",
        "Diana",
        "Dolores",
        "Dulce",
        "Dulce María",
        "Elena",
        "Elisa",
        "Eloisa",
        "Elsa",
        "Elvia",
        "Elvira",
        "Emilia",
        "Esmeralda",
        "Esparta",
        "Esperanza",
        "Estefanía",
        "Estela",
        "Estela",
        "Esther",
        "Eugenia",
        "Eva",
        "Fabiola",
        "Florencia",
        "Francisca",
        "Frida",
        "Gabriela",
        "Georgina",
        "Gloria",
        "Graciela",
        "Guadalupe",
        "Guillermina",
        "Helena",
        "Hermelinda",
        "Hilda",
        "Ilse",
        "Indira",
        "Inés",
        "Irene",
        "Irma",
        "Isabel",
        "Isabela",
        "Itzel",
        "Ivonne",
        "Jaqueline",
        "Josefina",
        "Juana",
        "Judith",
        "Julia",
        "Karina",
        "Karla",
        "Laura",
        "Leonor",
        "Leticia",
        "Lilia",
        "Liliana",
        "Linda",
        "Lorena",
        "Lourdes",
        "Lucía",
        "Luisa",
        "Luz",
        "Magdalena",
        "Marcela",
        "Margarita",
        "María",
        "María Cristina",
        "María del Carmen",
        "María Elena",
        "María Eugenia",
        "María José",
        "María Luisa",
        "María Teresa",
        "Mariana",
        "Marisela",
        "Marisol",
        "Marisol",
        "Martha",
        "Mayte",
        "Mercedes",
        "Micaela",
        "Minerva",
        "Miriam",
        "Mitzy",
        "Mónica",
        "Nadia",
        "Nancy",
        "Natalia",
        "Natividad",
        "Nayeli",
        "Nelly",
        "Noelia",
        "Noemí",
        "Norma",
        "Ofelia",
        "Olga",
        "Olivia",
        "Pamela",
        "Paola",
        "Patricia",
        "Paulina",
        "Perla",
        "Pilar",
        "Raquel",
        "Rebeca",
        "Reina",
        "Rocío",
        "Rosa",
        "Rosalia",
        "Rosario",
        "Ruby",
        "Salma",
        "Sandra",
        "Sara",
        "Sessa",
        "Silvia",
        "Socorro",
        "Sofía",
        "Soledad",
        "Sonia",
        "Susana",
        "Tania",
        "Teresa",
        "Trinidad",
        "Úrsula",
        "Vanesa",
        "Verónica",
        "Victoria",
        "Violeta",
        "Virginia",
        "Wendolin",
        "Yeni",
        "Yolanda",
        "Yuridia",
        "Zoé",
    )

    first_names = first_names_male + first_names_female

    prefixes_female = ("Sra.", "Srita.", "Dra.", "Ing.", "Lic.")
    prefixes_male = ("Sr.", "Dr.", "Ing.", "Lic.")
    last_names = (
        "Abrego",
        "Abreu",
        "Acevedo",
        "Acosta",
        "Acuña",
        "Adame",
        "Aguayo",
        "Aguilar",
        "Aguilera",
        "Aguirre",
        "Alarcón",
        "Alba",
        "Alcala",
        "Alcántar",
        "Alcaraz",
        "Alejandro",
        "Alemán",
        "Alfaro",
        "Almanza",
        "Almaraz",
        "Almonte",
        "Alonso",
        "Alonzo",
        "Altamirano",
        "Alva",
        "Alvarado",
        "Alvarez",
        "Amador",
        "Amaya",
        "Anaya",
        "Anguiano",
        "Angulo",
        "Aparicio",
        "Apodaca",
        "Aponte",
        "Aragón",
        "Aranda",
        "Arce",
        "Archuleta",
        "Arellano",
        "Arenas",
        "Arevalo",
        "Arguello",
        "Arias",
        "Armas",
        "Armendáriz",
        "Armenta",
        "Arredondo",
        "Arreola",
        "Arriaga",
        "Arroyo",
        "Arteaga",
        "Ávalos",
        "Ávila",
        "Avilés",
        "Ayala",
        "Baca",
        "Badillo",
        "Báez",
        "Baeza",
        "Bahena",
        "Balderas",
        "Ballesteros",
        "Bañuelos",
        "Barajas",
        "Barela",
        "Barragán",
        "Barraza",
        "Barrera",
        "Barreto",
        "Barrientos",
        "Barrios",
        "Batista",
        "Becerra",
        "Beltrán",
        "Benavides",
        "Benavídez",
        "Benítez",
        "Bermúdez",
        "Bernal",
        "Berríos",
        "Bétancourt",
        "Blanco",
        "Bonilla",
        "Borrego",
        "Botello",
        "Bravo",
        "Briones",
        "Briseño",
        "Brito",
        "Bueno",
        "Burgos",
        "Bustamante",
        "Bustos",
        "Caballero",
        "Cabán",
        "Cabrera",
        "Cadena",
        "Caldera",
        "Calderón",
        "Calvillo",
        "Camacho",
        "Camarillo",
        "Campos",
        "Canales",
        "Candelaria",
        "Cano",
        "Cantú",
        "Caraballo",
        "Carbajal",
        "Cardenas",
        "Cardona",
        "Carmona",
        "Carranza",
        "Carrasco",
        "Carreón",
        "Carrera",
        "Carrero",
        "Carrillo",
        "Carrión",
        "Carvajal",
        "Casanova",
        "Casares",
        "Casárez",
        "Casas",
        "Casillas",
        "Castañeda",
        "Castellanos",
        "Castillo",
        "Castro",
        "Cavazos",
        "Cazares",
        "Ceballos",
        "Cedillo",
        "Ceja",
        "Centeno",
        "Cepeda",
        "Cervantes",
        "Cervántez",
        "Chacón",
        "Chapa",
        "Chavarría",
        "Chávez",
        "Cintrón",
        "Cisneros",
        "Collado",
        "Collazo",
        "Colón",
        "Colunga",
        "Concepción",
        "Contreras",
        "Cordero",
        "Córdova",
        "Cornejo",
        "Corona",
        "Coronado",
        "Corral",
        "Corrales",
        "Correa",
        "Cortés",
        "Cortez",
        "Cotto",
        "Covarrubias",
        "Crespo",
        "Cruz",
        "Cuellar",
        "Curiel",
        "Dávila",
        "de Anda",
        "de Jesús",
        "de la Crúz",
        "de la Fuente",
        "de la Garza",
        "de la O",
        "de la Rosa",
        "de la Torre",
        "de León",
        "Delgadillo",
        "Delgado",
        "del Río",
        "del Valle",
        "Díaz",
        "Domínguez",
        "Duarte",
        "Dueñas",
        "Durán",
        "Echeverría",
        "Elizondo",
        "Enríquez",
        "Escalante",
        "Escamilla",
        "Escobar",
        "Escobedo",
        "Esparza",
        "Espinal",
        "Espino",
        "Espinosa",
        "Espinoza",
        "Esquibel",
        "Esquivel",
        "Estévez",
        "Estrada",
        "Fajardo",
        "Farías",
        "Feliciano",
        "Fernández",
        "Ferrer",
        "Fierro",
        "Figueroa",
        "Flores",
        "Flórez",
        "Fonseca",
        "Franco",
        "Frías",
        "Fuentes",
        "Gaitán",
        "Galarza",
        "Galindo",
        "Gallardo",
        "Gallegos",
        "Galván",
        "Gálvez",
        "Gamboa",
        "Gamez",
        "Gaona",
        "Garay",
        "García",
        "Garibay",
        "Garica",
        "Garrido",
        "Garza",
        "Gastélum",
        "Gaytán",
        "Gil",
        "Girón",
        "Godínez",
        "Godoy",
        "Gómez",
        "Gonzales",
        "González",
        "Gollum",
        "Gracia",
        "Granado",
        "Granados",
        "Griego",
        "Grijalva",
        "Guajardo",
        "Guardado",
        "Guerra",
        "Guerrero",
        "Guevara",
        "Guillen",
        "Gurule",
        "Gutiérrez",
        "Guzmán",
        "Haro",
        "Henríquez",
        "Heredia",
        "Hernádez",
        "Hernandes",
        "Hernández",
        "Herrera",
        "Hidalgo",
        "Hinojosa",
        "Holguín",
        "Huerta",
        "Hurtado",
        "Ibarra",
        "Iglesias",
        "Irizarry",
        "Jaime",
        "Jaimes",
        "Jáquez",
        "Jaramillo",
        "Jasso",
        "Jiménez",
        "Jimínez",
        "Juárez",
        "Jurado",
        "Laboy",
        "Lara",
        "Laureano",
        "Leal",
        "Lebrón",
        "Ledesma",
        "Leiva",
        "Lemus",
        "León",
        "Lerma",
        "Leyva",
        "Limón",
        "Linares",
        "Lira",
        "Llamas",
        "Loera",
        "Lomeli",
        "Longoria",
        "López",
        "Lovato",
        "Loya",
        "Lozada",
        "Lozano",
        "Lucero",
        "Lucio",
        "Luevano",
        "Lugo",
        "Luna",
        "Macías",
        "Madera",
        "Madrid",
        "Madrigal",
        "Maestas",
        "Magaña",
        "Malave",
        "Maldonado",
        "Manzanares",
        "Mares",
        "Marín",
        "Márquez",
        "Marrero",
        "Marroquín",
        "Martínez",
        "Mascareñas",
        "Mata",
        "Mateo",
        "Matías",
        "Matos",
        "Maya",
        "Mayorga",
        "Medina",
        "Medrano",
        "Mejía",
        "Meléndez",
        "Melgar",
        "Mena",
        "Menchaca",
        "Méndez",
        "Mendoza",
        "Menéndez",
        "Meraz",
        "Mercado",
        "Merino",
        "Mesa",
        "Meza",
        "Miramontes",
        "Miranda",
        "Mireles",
        "Mojica",
        "Molina",
        "Mondragón",
        "Monroy",
        "Montalvo",
        "Montañez",
        "Montaño",
        "Montemayor",
        "Montenegro",
        "Montero",
        "Montes",
        "Montez",
        "Montoya",
        "Mora",
        "Morales",
        "Moreno",
        "Mota",
        "Moya",
        "Munguía",
        "Muñiz",
        "Muñoz",
        "Murillo",
        "Muro",
        "Nájera",
        "Naranjo",
        "Narváez",
        "Nava",
        "Navarrete",
        "Navarro",
        "Nazario",
        "Negrete",
        "Negrón",
        "Nevárez",
        "Nieto",
        "Nieves",
        "Niño",
        "Noriega",
        "Núñez",
        "Ocampo",
        "Ocasio",
        "Ochoa",
        "Ojeda",
        "Olivares",
        "Olivárez",
        "Olivas",
        "Olivera",
        "Olivo",
        "Olmos",
        "Olvera",
        "Ontiveros",
        "Oquendo",
        "Ordóñez",
        "Orellana",
        "Ornelas",
        "Orosco",
        "Orozco",
        "Orta",
        "Ortega",
        "Ortiz",
        "Osorio",
        "Otero",
        "Ozuna",
        "Pabón",
        "Pacheco",
        "Padilla",
        "Padrón",
        "Páez",
        "Palacios",
        "Palomino",
        "Palomo",
        "Pantoja",
        "Paredes",
        "Parra",
        "Partida",
        "Patiño",
        "Paz",
        "Pedraza",
        "Pedroza",
        "Pelayo",
        "Peña",
        "Perales",
        "Peralta",
        "Perea",
        "Peres",
        "Pérez",
        "Pichardo",
        "Piña",
        "Pineda",
        "Pizarro",
        "Polanco",
        "Ponce",
        "Porras",
        "Portillo",
        "Posada",
        "Prado",
        "Preciado",
        "Prieto",
        "Puente",
        "Puga",
        "Pulido",
        "Quesada",
        "Quezada",
        "Quiñones",
        "Quiñónez",
        "Quintana",
        "Quintanilla",
        "Quintero",
        "Quiroz",
        "Rael",
        "Ramírez",
        "Ramón",
        "Ramos",
        "Rangel",
        "Rascón",
        "Raya",
        "Razo",
        "Regalado",
        "Rendón",
        "Rentería",
        "Reséndez",
        "Reyes",
        "Reyna",
        "Reynoso",
        "Rico",
        "Rincón",
        "Riojas",
        "Ríos",
        "Rivas",
        "Rivera",
        "Rivero",
        "Robledo",
        "Robles",
        "Rocha",
        "Rodarte",
        "Rodrígez",
        "Rodríguez",
        "Rodríquez",
        "Rojas",
        "Rojo",
        "Roldán",
        "Rolón",
        "Romero",
        "Romo",
        "Roque",
        "Rosado",
        "Rosales",
        "Rosario",
        "Rosas",
        "Roybal",
        "Rubio",
        "Ruelas",
        "Ruiz",
        "Saavedra",
        "Sáenz",
        "Saiz",
        "Salas",
        "Salazar",
        "Salcedo",
        "Salcido",
        "Saldaña",
        "Saldivar",
        "Salgado",
        "Salinas",
        "Samaniego",
        "Sanabria",
        "Sanches",
        "Sánchez",
        "Sandoval",
        "Santacruz",
        "Santana",
        "Santiago",
        "Santillán",
        "Sarabia",
        "Sauceda",
        "Saucedo",
        "Segovia",
        "Segura",
        "Sepúlveda",
        "Serna",
        "Serrano",
        "Serrato",
        "Sevilla",
        "Sierra",
        "Sisneros",
        "Solano",
        "Solís",
        "Soliz",
        "Solorio",
        "Solorzano",
        "Soria",
        "Sosa",
        "Sotelo",
        "Soto",
        "Suárez",
        "Tafoya",
        "Tamayo",
        "Tamez",
        "Tapia",
        "Tejada",
        "Tejeda",
        "Téllez",
        "Tello",
        "Terán",
        "Terrazas",
        "Tijerina",
        "Tirado",
        "Toledo",
        "Toro",
        "Torres",
        "Tórrez",
        "Tovar",
        "Trejo",
        "Treviño",
        "Trujillo",
        "Ulibarri",
        "Ulloa",
        "Urbina",
        "Ureña",
        "Urías",
        "Uribe",
        "Urrutia",
        "Vaca",
        "Valadez",
        "Valdés",
        "Valdez",
        "Valdivia",
        "Valencia",
        "Valentín",
        "Valenzuela",
        "Valladares",
        "Valle",
        "Vallejo",
        "Valles",
        "Valverde",
        "Vanegas",
        "Varela",
        "Vargas",
        "Vásquez",
        "Vázquez",
        "Vega",
        "Vela",
        "Velasco",
        "Velásquez",
        "Velázquez",
        "Vélez",
        "Véliz",
        "Venegas",
        "Vera",
        "Verdugo",
        "Verduzco",
        "Vergara",
        "Viera",
        "Vigil",
        "Villa",
        "Villagómez",
        "Villalobos",
        "Villalpando",
        "Villanueva",
        "Villareal",
        "Villarreal",
        "Villaseñor",
        "Villegas",
        "Yáñez",
        "Ybarra",
        "Zambrano",
        "Zamora",
        "Zamudio",
        "Zapata",
        "Zaragoza",
        "Zarate",
        "Zavala",
        "Zayas",
        "Zedillo",
        "Zelaya",
        "Zepeda",
        "Zúñiga",
    )

    prefixes = ("Sr(a).", "Dr.", "Mtro.", "Lic.", "Ing.")
