
    8 f                     ^    d dl Z d dlZd dlmZ d dlmZ ddlmZmZ dZ	 G d de          Z
dS )	    N)ascii_uppercase)Tuple   )BaseProviderElementsTypeTc                   f    e Zd ZU dZdZeed<   dej        fdZ	dde
dee
e
f         fdZde
fd	Zd
S )Providerz.Implement default Passport provider for Faker. passport_number_formatsreturnc                 8    | j                                         }|S )z"Generate a datetime date of birth.)	generatordate_of_birth)selfbirthdays     W/var/www/equiseq/venv/lib/python3.11/site-packages/faker/providers/passport/__init__.pypassport_dobzProvider.passport_dob   s    >//11    Xgenderc                     |dk    r| j                             d          }n;|dk    r| j                             d          }n| j                             d          }| j                             d          }||fS )zGenerate a given_name and surname for a passport owner
        The ``gender`` argument is the gender marker of a passport owner, which is a one character string
        that is either male, female, or non-binary.
        Mz{{first_name_male}}Fz{{first_name_female}}z{{first_name_nonbinary}}z{{last_name}})r   parse)r   r   
given_namesurnames       r   passport_ownerzProvider.passport_owner   s|    
 S==--.CDDJJs]]--.EFFJJ--.HIIJ.&&777""r   c                      t          j        d fd                      j                            }                     |          S )zAGenerate a passport number by replacing tokens to be alphanumericz\?c                 8                         t                    S )N)random_elementr   )xr   s    r   <lambda>z*Provider.passport_number.<locals>.<lambda>*   s    d))/:: r   )resubr    r   numerify)r   temps   ` r   passport_numberzProvider.passport_number&   sK    v:::: <==
 

 }}T"""r   N)r   )__name__
__module____qualname____doc__r   r   __annotations__datetimedater   strr   r   r'   r
   r   r   r	   r	      s         88,.\...hm    
# #S #5c? # # # # # # # # # # #r   r	   )r-   r#   stringr   typingr    r   r   	localizedr	   r
   r   r   <module>r4      s     				 " " " " " "       ) ) ) ) ) ) ) )	!# !# !# !# !#| !# !# !# !# !#r   