
    i                     ~    d dl mZ d dlmZ d dlmZ  G d de          Z G d de          Z G d d	e          Zd
S )    )Optional)TelegramObject)JSONDictc                        e Zd ZdZdZ	 	 	 	 ddddedededed	ed
edee         dee         dee         dee         dee         f fdZ xZ	S )PersonalDetailsa  
    This object represents personal details.

    Args:
        first_name (:obj:`str`): First Name.
        middle_name (:obj:`str`): Optional. First Name.
        last_name (:obj:`str`): Last Name.
        birth_date (:obj:`str`): Date of birth in DD.MM.YYYY format.
        gender (:obj:`str`): Gender, male or female.
        country_code (:obj:`str`): Citizenship (ISO 3166-1 alpha-2 country code).
        residence_country_code (:obj:`str`): Country of residence (ISO 3166-1 alpha-2 country
            code).
        first_name_native (:obj:`str`): First Name in the language of the user's country of
            residence.
        middle_name_native (:obj:`str`): Optional. Middle Name in the language of the user's
            country of residence.
        last_name_native (:obj:`str`): Last Name in the language of the user's country of
            residence.

    Attributes:
        first_name (:obj:`str`): First Name.
        middle_name (:obj:`str`): Optional. First Name.
        last_name (:obj:`str`): Last Name.
        birth_date (:obj:`str`): Date of birth in DD.MM.YYYY format.
        gender (:obj:`str`): Gender, male or female.
        country_code (:obj:`str`): Citizenship (ISO 3166-1 alpha-2 country code).
        residence_country_code (:obj:`str`): Country of residence (ISO 3166-1 alpha-2 country
            code).
        first_name_native (:obj:`str`): First Name in the language of the user's country of
            residence.
        middle_name_native (:obj:`str`): Optional. Middle Name in the language of the user's
            country of residence.
        last_name_native (:obj:`str`): Last Name in the language of the user's country of
            residence.
    )

birth_datecountry_code
first_namefirst_name_nativegender	last_namelast_name_nativemiddle_namemiddle_name_nativeresidence_country_codeN
api_kwargsr
   r   r   r   r	   r   r   r   r   r   r   c                    t                                          |           || _        || _        |	| _        || _        || _        || _        || _        || _	        || _
        |
| _        |                                  d S Nr   )super__init__r
   r   r   r   r   r	   r   r   r   r   _freeze)selfr
   r   r   r   r	   r   r   r   r   r   r   	__class__s               ]/var/www/html/crypto-bot/backend/venv/lib/python3.11/site-packages/telegram/_passport/data.pyr   zPersonalDetails.__init__L   s}     	J///)'*5)!!-+A#0A/?1C    )NNNN
__name__
__module____qualname____doc__	__slots__strr   r   r   __classcell__r   s   @r   r   r      s        " "HI* ,0*.%),0 *.    	
   !$ $C= #3- c] %SM X&         r   r   c                   V     e Zd ZdZdZdddedededed	ed
edee         f fdZ xZ	S )ResidentialAddressa  
    This object represents a residential address.

    Args:
        street_line1 (:obj:`str`): First line for the address.
        street_line2 (:obj:`str`): Optional. Second line for the address.
        city (:obj:`str`): City.
        state (:obj:`str`): Optional. State.
        country_code (:obj:`str`): ISO 3166-1 alpha-2 country code.
        post_code (:obj:`str`): Address post code.

    Attributes:
        street_line1 (:obj:`str`): First line for the address.
        street_line2 (:obj:`str`): Optional. Second line for the address.
        city (:obj:`str`): City.
        state (:obj:`str`): Optional. State.
        country_code (:obj:`str`): ISO 3166-1 alpha-2 country code.
        post_code (:obj:`str`): Address post code.
    )cityr	   	post_codestatestreet_line1street_line2Nr   r+   r,   r(   r*   r	   r)   r   c                    t                                          |           || _        || _        || _        || _        || _        || _        |                                  d S r   )	r   r   r+   r,   r(   r*   r	   r)   r   )	r   r+   r,   r(   r*   r	   r)   r   r   s	           r   r   zResidentialAddress.__init__   s^     	J///!-!-	
!-'r   r   r%   s   @r   r'   r'   k   s         (I$ *.    	
    X&         r   r'   c                   F     e Zd ZdZdZdddededee         f fdZ xZ	S )	IdDocumentDataah  
    This object represents the data of an identity document.

    Args:
        document_no (:obj:`str`): Document number.
        expiry_date (:obj:`str`): Optional. Date of expiry, in DD.MM.YYYY format.

    Attributes:
        document_no (:obj:`str`): Document number.
        expiry_date (:obj:`str`): Optional. Date of expiry, in DD.MM.YYYY format.
    )document_noexpiry_dateNr   r0   r1   r   c                    t                                          |           || _        || _        |                                  d S r   )r   r   r0   r1   r   )r   r0   r1   r   r   s       r   r   zIdDocumentData.__init__   sA     	J/// + +r   r   r%   s   @r   r/   r/      s~        
 
 /I *.   
 X&         r   r/   N)	typingr   telegram._telegramobjectr   telegram._utils.typesr   r   r'   r/    r   r   <module>r7      s   (       3 3 3 3 3 3 * * * * * *N N N N Nn N N Nb2 2 2 2 2 2 2 2j    ^     r   