3
uQhg                 @   s  d Z ddlmZ ddlmZ ddlmZmZmZmZ ddl	Z	ddl
Z
ddlmZ ertddlmZmZmZ dd	lmZ G d
d deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG d d! d!eZG d"d# d#eZG d$d% d%eZG d&d' d'eZ G d(d) d)eZ!G d*d+ d+eZ"G d,d- d-eZ#G d.d/ d/eZ$G d0d1 d1eZ%G d2d3 d3eZ&G d4d5 d5eZ'G d6d7 d7eZ(dS )8zBFile generated by TLObjects' generator. All changes will be ERASED   )TLObject)	TLRequest    )OptionalListUnionTYPE_CHECKINGN)datetime)TypeCodeSettingsTypeEmailVerificationTypeInputCheckPasswordSRP)TypePasswordInputSettingsc               @   s>   e Zd ZdZdZedddZdd Zdd	 Ze	d
d Z
dS )AcceptLoginTokenRequestl   M-)Q l   @' )tokenc             C   s
   || _ dS )zD
        :returns Authorization: Instance of Authorization.
        N)r   )selfr    r   >/tmp/pip-build-2nz6shyl/telethon/telethon/tl/functions/auth.py__init__   s    z AcceptLoginTokenRequest.__init__c             C   s   d| j dS )Nr   )_r   )r   )r   r   r   r   to_dict   s    zAcceptLoginTokenRequest.to_dictc             C   s   dj d| j| jfS )N    s   M)joinserialize_bytesr   )r   r   r   r   _bytes   s    zAcceptLoginTokenRequest._bytesc             C   s   |j  }| |dS )N)r   )tgread_bytes)clsreader_tokenr   r   r   from_reader$   s    z#AcceptLoginTokenRequest.from_readerN)__name__
__module____qualname__CONSTRUCTOR_IDSUBCLASS_OF_IDbytesr   r   r   classmethodr   r   r   r   r   r      s   r   c               @   sH   e Zd ZdZdZeeee edddZ	dd Z
dd	 Zed
d ZdS )BindTempAuthKeyRequestl   * l   gk )perm_auth_key_idnonce
expires_atencrypted_messagec             C   s   || _ || _|| _|| _dS )z?
        :returns Bool: This type has no constructors.
        N)r'   r(   r)   r*   )r   r'   r(   r)   r*   r   r   r   r   .   s    zBindTempAuthKeyRequest.__init__c             C   s   d| j | j| j| jdS )Nr&   )r   r'   r(   r)   r*   )r'   r(   r)   r*   )r   r   r   r   r   7   s
    zBindTempAuthKeyRequest.to_dictc             C   s8   dj dtjd| jtjd| j| j| j| j| jfS )Nr   s   *z<q)	r   structpackr'   r(   Zserialize_datetimer)   r   r*   )r   r   r   r   r   @   s    
zBindTempAuthKeyRequest._bytesc             C   s0   |j  }|j  }|j }|j }| ||||dS )N)r'   r(   r)   r*   )	read_longZtgread_dater   )r   r   Z_perm_auth_key_idZ_nonceZ_expires_atZ_encrypted_messager   r   r   r   I   s
    z"BindTempAuthKeyRequest.from_readerN)r   r    r!   r"   r#   intr   r	   r$   r   r   r   r%   r   r   r   r   r   r&   *   s   			r&   c               @   s@   e Zd ZdZdZeedddZdd Zdd	 Ze	d
d Z
dS )CancelCodeRequestixl   gk )phone_numberphone_code_hashc             C   s   || _ || _dS )z?
        :returns Bool: This type has no constructors.
        N)r0   r1   )r   r0   r1   r   r   r   r   V   s    zCancelCodeRequest.__init__c             C   s   d| j | jdS )Nr/   )r   r0   r1   )r0   r1   )r   r   r   r   r   ]   s    zCancelCodeRequest.to_dictc             C   s    dj d| j| j| j| jfS )Nr   s   x)r   r   r0   r1   )r   r   r   r   r   d   s    
zCancelCodeRequest._bytesc             C   s   |j  }|j  }| ||dS )N)r0   r1   )tgread_string)r   r   _phone_number_phone_code_hashr   r   r   r   k   s    zCancelCodeRequest.from_readerN)r   r    r!   r"   r#   strr   r   r   r%   r   r   r   r   r   r/   R   s   r/   c               @   s>   e Zd ZdZdZddddZdd Zd	d
 Zedd Z	dS )CheckPasswordRequestl   M# l   9Ns r   )passwordc             C   s
   || _ dS )zm
        :returns auth.Authorization: Instance of either Authorization, AuthorizationSignUpRequired.
        N)r7   )r   r7   r   r   r   r   v   s    zCheckPasswordRequest.__init__c             C   s"   dt | jtr| jj n| jdS )Nr6   )r   r7   )
isinstancer7   r   r   )r   r   r   r   r   |   s    zCheckPasswordRequest.to_dictc             C   s   dj d| jj fS )Nr   s   M)r   r7   r   )r   r   r   r   r      s    zCheckPasswordRequest._bytesc             C   s   |j  }| |dS )N)r7   )tgread_object)r   r   Z	_passwordr   r   r   r      s    z CheckPasswordRequest.from_readerN)
r   r    r!   r"   r#   r   r   r   r%   r   r   r   r   r   r6   r   s   r6   c               @   s>   e Zd ZdZdZedddZdd Zdd	 Ze	d
d Z
dS )CheckRecoveryPasswordRequestiy6l   gk )codec             C   s
   || _ dS )z?
        :returns Bool: This type has no constructors.
        N)r;   )r   r;   r   r   r   r      s    z%CheckRecoveryPasswordRequest.__init__c             C   s   d| j dS )Nr:   )r   r;   )r;   )r   r   r   r   r      s    z$CheckRecoveryPasswordRequest.to_dictc             C   s   dj d| j| jfS )Nr   s   y6)r   r   r;   )r   r   r   r   r      s    z#CheckRecoveryPasswordRequest._bytesc             C   s   |j  }| |dS )N)r;   )r2   )r   r   _coder   r   r   r      s    z(CheckRecoveryPasswordRequest.from_readerN)r   r    r!   r"   r#   r5   r   r   r   r%   r   r   r   r   r   r:      s   r:   c               @   sB   e Zd ZdZdZee dddZdd Zdd	 Z	e
d
d ZdS )DropTempAuthKeysRequestl   ! l   gk )except_auth_keysc             C   s
   || _ dS )z?
        :returns Bool: This type has no constructors.
        N)r>   )r   r>   r   r   r   r      s    z DropTempAuthKeysRequest.__init__c             C   s"   d| j d krg n| j d d  dS )Nr=   )r   r>   )r>   )r   r   r   r   r      s    zDropTempAuthKeysRequest.to_dictc             C   s2   dj ddtjdt| jdj dd | jD fS )Nr   s   Hs   ĵz<ic             s   s   | ]}t jd |V  qdS )z<qN)r+   r,   ).0xr   r   r   	<genexpr>   s    z1DropTempAuthKeysRequest._bytes.<locals>.<genexpr>)r   r+   r,   lenr>   )r   r   r   r   r      s    zDropTempAuthKeysRequest._bytesc             C   s>   |j   g }x&t|j  D ]}|j }|j| qW | |dS )N)r>   )read_intranger-   append)r   r   Z_except_auth_keysr   _xr   r   r   r      s    z#DropTempAuthKeysRequest.from_readerN)r   r    r!   r"   r#   r   r.   r   r   r   r%   r   r   r   r   r   r=      s   r=   c               @   s>   e Zd ZdZdZedddZdd Zdd	 Ze	d
d Z
dS )ExportAuthorizationRequestl   K iQ_)dc_idc             C   s
   || _ dS )zY
        :returns auth.ExportedAuthorization: Instance of ExportedAuthorization.
        N)rH   )r   rH   r   r   r   r      s    z#ExportAuthorizationRequest.__init__c             C   s   d| j dS )NrG   )r   rH   )rH   )r   r   r   r   r      s    z"ExportAuthorizationRequest.to_dictc             C   s   dj dtjd| jfS )Nr   s   z<i)r   r+   r,   rH   )r   r   r   r   r      s    z!ExportAuthorizationRequest._bytesc             C   s   |j  }| |dS )N)rH   )rC   )r   r   Z_dc_idr   r   r   r      s    z&ExportAuthorizationRequest.from_readerN)r   r    r!   r"   r#   r.   r   r   r   r%   r   r   r   r   r   rG      s   rG   c               @   sF   e Zd ZdZdZeeee dddZdd Z	dd	 Z
ed
d ZdS )ExportLoginTokenRequestl   o i6Uk)api_idapi_hash
except_idsc             C   s   || _ || _|| _dS )zr
        :returns auth.LoginToken: Instance of either LoginToken, LoginTokenMigrateTo, LoginTokenSuccess.
        N)rJ   rK   rL   )r   rJ   rK   rL   r   r   r   r      s    z ExportLoginTokenRequest.__init__c             C   s*   d| j | j| jd krg n| jd d  dS )NrI   )r   rJ   rK   rL   )rJ   rK   rL   )r   r   r   r   r      s    zExportLoginTokenRequest.to_dictc          	   C   sH   dj dtjd| j| j| jdtjdt| jdj dd | jD fS )Nr   s   z<is   ĵc             s   s   | ]}t jd |V  qdS )z<qN)r+   r,   )r?   r@   r   r   r   rA      s    z1ExportLoginTokenRequest._bytes.<locals>.<genexpr>)r   r+   r,   rJ   r   rK   rB   rL   )r   r   r   r   r      s
    
zExportLoginTokenRequest._bytesc             C   sR   |j  }|j }|j   g }x&t|j  D ]}|j }|j| q*W | |||dS )N)rJ   rK   rL   )rC   r2   rD   r-   rE   )r   r   _api_id	_api_hashZ_except_idsr   rF   r   r   r   r     s    z#ExportLoginTokenRequest.from_readerN)r   r    r!   r"   r#   r.   r5   r   r   r   r   r%   r   r   r   r   r   rI      s   rI   c               @   s@   e Zd ZdZdZeedddZdd Zdd	 Z	e
d
d ZdS )ImportAuthorizationRequestl   }J l   9Ns )idr$   c             C   s   || _ || _dS )zm
        :returns auth.Authorization: Instance of either Authorization, AuthorizationSignUpRequired.
        N)rP   r$   )r   rP   r$   r   r   r   r     s    z#ImportAuthorizationRequest.__init__c             C   s   d| j | jdS )NrO   )r   rP   r$   )rP   r$   )r   r   r   r   r     s    z"ImportAuthorizationRequest.to_dictc             C   s"   dj dtjd| j| j| jfS )Nr   s   }zz<q)r   r+   r,   rP   r   r$   )r   r   r   r   r   "  s    z!ImportAuthorizationRequest._bytesc             C   s   |j  }|j }| ||dS )N)rP   r$   )r-   r   )r   r   _idr   r   r   r   r   )  s    z&ImportAuthorizationRequest.from_readerN)r   r    r!   r"   r#   r.   r$   r   r   r   r%   r   r   r   r   r   rO     s   rO   c               @   sD   e Zd ZdZdZeeeedddZdd Zdd	 Z	e
d
d ZdS )ImportBotAuthorizationRequesti,gl   9Ns )flagsrJ   rK   bot_auth_tokenc             C   s   || _ || _|| _|| _dS )zm
        :returns auth.Authorization: Instance of either Authorization, AuthorizationSignUpRequired.
        N)rS   rJ   rK   rT   )r   rS   rJ   rK   rT   r   r   r   r   4  s    z&ImportBotAuthorizationRequest.__init__c             C   s   d| j | j| j| jdS )NrR   )r   rS   rJ   rK   rT   )rS   rJ   rK   rT   )r   r   r   r   r   =  s
    z%ImportBotAuthorizationRequest.to_dictc             C   s8   dj dtjd| jtjd| j| j| j| j| jfS )Nr   s   ,gz<i)r   r+   r,   rS   rJ   r   rK   rT   )r   r   r   r   r   F  s    
z$ImportBotAuthorizationRequest._bytesc             C   s0   |j  }|j  }|j }|j }| ||||dS )N)rS   rJ   rK   rT   )rC   r2   )r   r   _flagsrM   rN   Z_bot_auth_tokenr   r   r   r   O  s
    z)ImportBotAuthorizationRequest.from_readerN)r   r    r!   r"   r#   r.   r5   r   r   r   r%   r   r   r   r   r   rR   0  s   			rR   c               @   s>   e Zd ZdZdZedddZdd Zdd	 Ze	d
d Z
dS )ImportLoginTokenRequestl   \X+ i6Uk)r   c             C   s
   || _ dS )zr
        :returns auth.LoginToken: Instance of either LoginToken, LoginTokenMigrateTo, LoginTokenSuccess.
        N)r   )r   r   r   r   r   r   \  s    z ImportLoginTokenRequest.__init__c             C   s   d| j dS )NrV   )r   r   )r   )r   r   r   r   r   b  s    zImportLoginTokenRequest.to_dictc             C   s   dj d| j| jfS )Nr   s   \)r   r   r   )r   r   r   r   r   h  s    zImportLoginTokenRequest._bytesc             C   s   |j  }| |dS )N)r   )r   )r   r   r   r   r   r   r   n  s    z#ImportLoginTokenRequest.from_readerN)r   r    r!   r"   r#   r$   r   r   r   r%   r   r   r   r   r   rV   X  s   rV   c               @   sB   e Zd ZdZdZeeedddZdd Zdd	 Z	e
d
d ZdS )"ImportWebTokenAuthorizationRequestis-l   9Ns )rJ   rK   web_auth_tokenc             C   s   || _ || _|| _dS )zm
        :returns auth.Authorization: Instance of either Authorization, AuthorizationSignUpRequired.
        N)rJ   rK   rX   )r   rJ   rK   rX   r   r   r   r   x  s    z+ImportWebTokenAuthorizationRequest.__init__c             C   s   d| j | j| jdS )NrW   )r   rJ   rK   rX   )rJ   rK   rX   )r   r   r   r   r     s    z*ImportWebTokenAuthorizationRequest.to_dictc             C   s,   dj dtjd| j| j| j| j| jfS )Nr   s   s-z<i)r   r+   r,   rJ   r   rK   rX   )r   r   r   r   r     s
    
z)ImportWebTokenAuthorizationRequest._bytesc             C   s&   |j  }|j }|j }| |||dS )N)rJ   rK   rX   )rC   r2   )r   r   rM   rN   Z_web_auth_tokenr   r   r   r     s    z.ImportWebTokenAuthorizationRequest.from_readerN)r   r    r!   r"   r#   r.   r5   r   r   r   r%   r   r   r   r   r   rW   t  s   rW   c               @   s0   e Zd ZdZdZdd Zdd Zedd Zd	S )
LogOutRequestir>iC
c             C   s   ddiS )Nr   rY   r   )r   r   r   r   r     s    zLogOutRequest.to_dictc             C   s
   dj dS )Nr      r>)rZ   )r   )r   r   r   r   r     s    zLogOutRequest._bytesc             C   s   |  S )Nr   )r   r   r   r   r   r     s    zLogOutRequest.from_readerN)	r   r    r!   r"   r#   r   r   r%   r   r   r   r   r   rY     s
   rY   c               @   sF   e Zd ZdZdZdeed dddZdd	 Zd
d Z	e
dd ZdS )RecoverPasswordRequestipl	7l   9Ns Nr   )r;   new_settingsc             C   s   || _ || _dS )zm
        :returns auth.Authorization: Instance of either Authorization, AuthorizationSignUpRequired.
        N)r;   r\   )r   r;   r\   r   r   r   r     s    zRecoverPasswordRequest.__init__c             C   s&   d| j t| jtr| jj n| jdS )Nr[   )r   r;   r\   )r;   r8   r\   r   r   )r   r   r   r   r     s    zRecoverPasswordRequest.to_dictc             C   sX   dj dtjd| jd ks | jdkr$dnd| j| j| jd ksF| jdkrJdn| jj fS )Nr   s   pl	7z<IFr      )r   r+   r,   r\   r   r;   r   )r   r   r   r   r     s
    "
zRecoverPasswordRequest._bytesc             C   s2   |j  }|j }|d@ r"|j }nd }| ||dS )Nr]   )r;   r\   )rC   r2   r9   )r   r   rS   r<   Z_new_settingsr   r   r   r     s    
z"RecoverPasswordRequest.from_reader)N)r   r    r!   r"   r#   r5   r   r   r   r   r%   r   r   r   r   r   r[     s   r[   c               @   sB   e Zd ZdZdZeeedddZdd Zdd	 Ze	d
d Z
dS )ReportMissingCodeRequestl   o; l   gk )r0   r1   mncc             C   s   || _ || _|| _dS )z?
        :returns Bool: This type has no constructors.
        N)r0   r1   r_   )r   r0   r1   r_   r   r   r   r     s    z!ReportMissingCodeRequest.__init__c             C   s   d| j | j| jdS )Nr^   )r   r0   r1   r_   )r0   r1   r_   )r   r   r   r   r     s    z ReportMissingCodeRequest.to_dictc             C   s*   dj d| j| j| j| j| j| jfS )Nr   s   )r   r   r0   r1   r_   )r   r   r   r   r     s
    

zReportMissingCodeRequest._bytesc             C   s&   |j  }|j  }|j  }| |||dS )N)r0   r1   r_   )r2   )r   r   r3   r4   Z_mncr   r   r   r     s    z$ReportMissingCodeRequest.from_readerN)r   r    r!   r"   r#   r5   r   r   r   r%   r   r   r   r   r   r^     s   r^   c               @   sT   e Zd ZdZdZdeeee ee ee dddZdd Zd	d
 Z	e
dd ZdS )RequestFirebaseSmsRequestl   &r l   gk N)r0   r1   safety_net_tokenplay_integrity_tokenios_push_secretc             C   s"   || _ || _|| _|| _|| _dS )z?
        :returns Bool: This type has no constructors.
        N)r0   r1   ra   rb   rc   )r   r0   r1   ra   rb   rc   r   r   r   r     s
    z"RequestFirebaseSmsRequest.__init__c             C   s   d| j | j| j| j| jdS )Nr`   )r   r0   r1   ra   rb   rc   )r0   r1   ra   rb   rc   )r   r   r   r   r     s    z!RequestFirebaseSmsRequest.to_dictc          	   C   s   dj dtjd| jd ks | jdkr$dnd| jd ks:| jdkr>dndB | jd ksV| jdkrZdndB | j| j| j| j| jd ks| jdkrdn
| j| j| jd ks| jdkrdn
| j| j| jd ks| jdkrdn
| j| jfS )	Nr   s   &9z<IFr   r]         )	r   r+   r,   ra   rb   rc   r   r0   r1   )r   r   r   r   r     s    Z

""z RequestFirebaseSmsRequest._bytesc             C   sl   |j  }|j }|j }|d@ r*|j }nd }|d@ r@|j }nd }|d@ rV|j }nd }| |||||dS )Nr]   rd   re   )r0   r1   ra   rb   rc   )rC   r2   )r   r   rS   r3   r4   Z_safety_net_tokenZ_play_integrity_tokenZ_ios_push_secretr   r   r   r     s    


z%RequestFirebaseSmsRequest.from_reader)NNN)r   r    r!   r"   r#   r5   r   r   r   r   r%   r   r   r   r   r   r`     s   $

r`   c               @   s0   e Zd ZdZdZdd Zdd Zedd Zd	S )
RequestPasswordRecoveryRequestl   f</1 l   :Tt c             C   s   ddiS )Nr   rf   r   )r   r   r   r   r   1  s    z&RequestPasswordRecoveryRequest.to_dictc             C   s
   dj dS )Nr      f)rg   )r   )r   r   r   r   r   6  s    z%RequestPasswordRecoveryRequest._bytesc             C   s   |  S )Nr   )r   r   r   r   r   r   ;  s    z*RequestPasswordRecoveryRequest.from_readerN)	r   r    r!   r"   r#   r   r   r%   r   r   r   r   r   rf   -  s
   rf   c               @   sH   e Zd ZdZdZdeeee dddZdd Zd	d
 Z	e
dd ZdS )ResendCodeRequestl   #u iplN)r0   r1   reasonc             C   s   || _ || _|| _dS )zp
        :returns auth.SentCode: Instance of either SentCode, SentCodeSuccess, SentCodePaymentRequired.
        N)r0   r1   ri   )r   r0   r1   ri   r   r   r   r   D  s    zResendCodeRequest.__init__c             C   s   d| j | j| jdS )Nrh   )r   r0   r1   ri   )r0   r1   ri   )r   r   r   r   r   L  s    zResendCodeRequest.to_dictc             C   sd   dj dtjd| jd ks | jdkr$dnd| j| j| j| j| jd ksP| jdkrTdn
| j| jfS )Nr   s   #uz<IFr   r]   )r   r+   r,   ri   r   r0   r1   )r   r   r   r   r   T  s    "

zResendCodeRequest._bytesc             C   s<   |j  }|j }|j }|d@ r*|j }nd }| |||dS )Nr]   )r0   r1   ri   )rC   r2   )r   r   rS   r3   r4   Z_reasonr   r   r   r   ]  s    
zResendCodeRequest.from_reader)N)r   r    r!   r"   r#   r5   r   r   r   r   r%   r   r   r   r   r   rh   @  s   	rh   c               @   s0   e Zd ZdZdZdd Zdd Zedd Zd	S )
ResetAuthorizationsRequestl   V? l   gk c             C   s   ddiS )Nr   rj   r   )r   r   r   r   r   n  s    z"ResetAuthorizationsRequest.to_dictc             C   s
   dj dS )Nr      )rk   )r   )r   r   r   r   r   s  s    z!ResetAuthorizationsRequest._bytesc             C   s   |  S )Nr   )r   r   r   r   r   r   x  s    z&ResetAuthorizationsRequest.from_readerN)	r   r    r!   r"   r#   r   r   r%   r   r   r   r   r   rj   j  s
   rj   c               @   s@   e Zd ZdZdZeedddZdd Zdd	 Ze	d
d Z
dS )ResetLoginEmailRequesti~ipl)r0   r1   c             C   s   || _ || _dS )zp
        :returns auth.SentCode: Instance of either SentCode, SentCodeSuccess, SentCodePaymentRequired.
        N)r0   r1   )r   r0   r1   r   r   r   r     s    zResetLoginEmailRequest.__init__c             C   s   d| j | jdS )Nrl   )r   r0   r1   )r0   r1   )r   r   r   r   r     s    zResetLoginEmailRequest.to_dictc             C   s    dj d| j| j| j| jfS )Nr   s   ~)r   r   r0   r1   )r   r   r   r   r     s    
zResetLoginEmailRequest._bytesc             C   s   |j  }|j  }| ||dS )N)r0   r1   )r2   )r   r   r3   r4   r   r   r   r     s    z"ResetLoginEmailRequest.from_readerN)r   r    r!   r"   r#   r5   r   r   r   r%   r   r   r   r   r   rl   }  s   rl   c               @   sD   e Zd ZdZdZeeeddddZdd Zd	d
 Z	e
dd ZdS )SendCodeRequestl   O$L iplr
   )r0   rJ   rK   settingsc             C   s   || _ || _|| _|| _dS )zp
        :returns auth.SentCode: Instance of either SentCode, SentCodeSuccess, SentCodePaymentRequired.
        N)r0   rJ   rK   rn   )r   r0   rJ   rK   rn   r   r   r   r     s    zSendCodeRequest.__init__c             C   s.   d| j | j| jt| jtr$| jj n| jdS )Nrm   )r   r0   rJ   rK   rn   )r0   rJ   rK   r8   rn   r   r   )r   r   r   r   r     s
    zSendCodeRequest.to_dictc             C   s4   dj d| j| jtjd| j| j| j| jj fS )Nr   s   O$wz<i)	r   r   r0   r+   r,   rJ   rK   rn   r   )r   r   r   r   r     s    

zSendCodeRequest._bytesc             C   s0   |j  }|j }|j  }|j }| ||||dS )N)r0   rJ   rK   rn   )r2   rC   r9   )r   r   r3   rM   rN   Z	_settingsr   r   r   r     s
    zSendCodeRequest.from_readerN)r   r    r!   r"   r#   r5   r.   r   r   r   r%   r   r   r   r   r   rm     s   			rm   c               @   sN   e Zd ZdZdZdeeee ed dddZdd	 Zd
d Z	e
dd ZdS )SignInRequestl   Q) l   9Ns Nr   )r0   r1   
phone_codeemail_verificationc             C   s   || _ || _|| _|| _dS )zm
        :returns auth.Authorization: Instance of either Authorization, AuthorizationSignUpRequired.
        N)r0   r1   rp   rq   )r   r0   r1   rp   rq   r   r   r   r     s    zSignInRequest.__init__c             C   s.   d| j | j| jt| jtr$| jj n| jdS )Nro   )r   r0   r1   rp   rq   )r0   r1   rp   r8   rq   r   r   )r   r   r   r   r     s
    zSignInRequest.to_dictc             C   s   dj dtjd| jd ks | jdkr$dnd| jd ks:| jdkr>dndB | j| j| j| j| jd ksl| jdkrpdn
| j| j| jd ks| jdkrdn| jj fS )Nr   s   QRz<IFr   r]   re   )	r   r+   r,   rp   rq   r   r0   r1   r   )r   r   r   r   r     s    >

"zSignInRequest._bytesc             C   sT   |j  }|j }|j }|d@ r*|j }nd }|d@ r@|j }nd }| ||||dS )Nr]   re   )r0   r1   rp   rq   )rC   r2   r9   )r   r   rS   r3   r4   Z_phone_codeZ_email_verificationr   r   r   r     s    

zSignInRequest.from_reader)NN)r   r    r!   r"   r#   r5   r   r   r   r   r%   r   r   r   r   r   ro     s   		
ro   c               @   sL   e Zd ZdZdZdeeeeee dddZdd Z	d	d
 Z
edd ZdS )SignUpRequestl   7U l   9Ns N)r0   r1   
first_name	last_nameno_joined_notificationsc             C   s"   || _ || _|| _|| _|| _dS )zm
        :returns auth.Authorization: Instance of either Authorization, AuthorizationSignUpRequired.
        N)r0   r1   rs   rt   ru   )r   r0   r1   rs   rt   ru   r   r   r   r     s
    zSignUpRequest.__init__c             C   s   d| j | j| j| j| jdS )Nrr   )r   r0   r1   rs   rt   ru   )r0   r1   rs   rt   ru   )r   r   r   r   r     s    zSignUpRequest.to_dictc             C   sV   dj dtjd| jd ks | jdkr$dnd| j| j| j| j| j| j| j| jfS )Nr   s   Ǫz<IFr   r]   )	r   r+   r,   ru   r   r0   r1   rs   rt   )r   r   r   r   r     s    "


zSignUpRequest._bytesc             C   sF   |j  }t|d@ }|j }|j }|j }|j }| |||||dS )Nr]   )r0   r1   rs   rt   ru   )rC   boolr2   )r   r   rS   Z_no_joined_notificationsr3   r4   Z_first_nameZ
_last_namer   r   r   r     s    zSignUpRequest.from_reader)N)r   r    r!   r"   r#   r5   r   rv   r   r   r   r%   r   r   r   r   r   rr     s   


rr   ))__doc__Ztl.tlobjectr   r   typingr   r   r   r   osr+   r	   Ztl.typesr
   r   r   Ztl.types.accountr   r   r&   r/   r6   r:   r=   rG   rI   rO   rR   rV   rW   rY   r[   r^   r`   rf   rh   rj   rl   rm   ro   rr   r   r   r   r   <module>   s@   ( !) ($&$8* (1