U
    hH                    @   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rddlmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZm Z m!Z!m"Z"m#Z#m$Z$m%Z%m&Z&m'Z'm(Z(m)Z)m*Z*m+Z+m,Z,m-Z-m.Z.m/Z/m0Z0m1Z1m2Z2 G d	d
 d
eZ3G dd deZ4G dd deZ5G dd deZ6G dd deZ7G dd deZ8G dd deZ9G 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ZAG d'd( d(eZBG d)d* d*eZCG d+d, d,eZDG d-d. d.eZEG d/d0 d0eZFG d1d2 d2eZGG d3d4 d4eZHG d5d6 d6eZIG d7d8 d8eZJG d9d: d:eZKG d;d< d<eZLG d=d> d>eZMG d?d@ d@eZNG dAdB dBeZOG dCdD dDeZPG dEdF dFeZQG dGdH dHeZRG dIdJ dJeZSG dKdL dLeZTG dMdN dNeZUG dOdP dPeZVG dQdR dReZWG dSdT dTeZXG dUdV dVeZYG dWdX dXeZZG dYdZ dZeZ[G d[d\ d\eZ\G d]d^ d^eZ]G d_d` d`eZ^G dadb dbeZ_G dcdd ddeZ`G dedf dfeZaG dgdh dheZbG didj djeZcG dkdl dleZdG dmdn dneZeG dodp dpeZfG dqdr dreZgG dsdt dteZhG dudv dveZiG dwdx dxeZjG dydz dzeZkG d{d| d|eZlG d}d~ d~eZmG dd deZnG dd deZoG dd deZpG dd deZqG dd deZrG dd deZsG dd deZtG dd deZuG dd deZvG dd deZwG dd deZxG dd deZyG dd deZzG dd deZ{G dd deZ|G dd deZ}G dd deZ~G dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG ddĄ deZG ddƄ deZG ddȄ deZG ddʄ deZG dd̄ deZG dd΄ deZG ddЄ deZG dd҄ deZG ddԄ deZG ddք deZG dd؄ deZG ddڄ deZG dd܄ deZG ddބ deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd  d eZG dd deZG dd deZG dd deZG dd deZG d	d
 d
eZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd  d eZG d!d" d"eZG d#d$ d$eZG d%d& d&eZG d'd( d(eZG d)d* d*eZG d+d, d,eZG d-d. d.eZG d/d0 d0eZG d1d2 d2eZG d3d4 d4eZG d5d6 d6eZG d7d8 d8eZG d9d: d:eZG d;d< d<eZG d=d> d>eZG d?d@ d@eZG dAdB dBeZG dCdD dDeZG dEdF dFeZG dGdH dHeZG dIdJ dJeZG dKdL dLeZG dMdN dNeZG dOdP dPeZG dQdR dReZG dSdT dTeZG dUdV dVeZG dWdX dXeZG dYdZ dZeZG d[d\ d\eZG d]d^ d^eZG d_d` d`eZG dadb dbeZG dcdd ddeZG dedf dfeZG dgdh dheZG didj djeZG dkdl dleZG dmdn dneZG dodp dpeZG dqdr dreZG dsdt dteZG dudv dveZG dwdx dxeZG dydz dzeZG d{d| d|eZG d}d~ d~eZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZ G dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZ	G dd deZ
G dd deZG dd deZG dd deZG dd deZG dd deZG dÐdĄ deZG dŐdƄ deZG dǐdȄ deZG dɐdʄ deZdS (  zBFile generated by TLObjects' generator. All changes will be ERASED   )TLObject)	TLRequest    )OptionalListUnionTYPE_CHECKINGN)datetime)&TypeChatBannedRightsTypeChatReactionsTypeDataJSONTypeDialogFilterTypeInlineBotSwitchPMTypeInlineBotWebViewTypeInlineQueryPeerTypeTypeInputBotAppTypeInputBotInlineMessageIDTypeInputBotInlineResultTypeInputChatPhotoTypeInputCheckPasswordSRPTypeInputDialogPeerTypeInputDocumentTypeInputEncryptedChatTypeInputEncryptedFileTypeInputFileTypeInputGeoPointTypeInputMediaTypeInputMessageTypeInputPeerTypeInputQuickReplyShortcutTypeInputReplyToTypeInputSingleMediaTypeInputStickerSetTypeInputStickeredMediaTypeInputUserTypeInputWallPaperTypeMessageEntityTypeMessagesFilterTypePaidReactionPrivacyTypeReactionTypeReplyMarkupTypeSendMessageActionTypeShippingOptionTypeStarsSubscriptionPricingTypeTextWithEntitiesTypeWallPaperSettingsc                   @   sB   e Zd ZdZdZdeedddZdd Zd	d
 Z	e
dd ZdS )AcceptEncryptionRequesti=z(mr   peerg_bkey_fingerprintc                 C   s   || _ || _|| _dS )
        :returns EncryptedChat: Instance of either EncryptedChatEmpty, EncryptedChatWaiting, EncryptedChatRequested, EncryptedChat, EncryptedChatDiscarded.
        Nr2   )selfr3   r4   r5    r8   B/tmp/pip-unpacked-wheel-c81u5j2r/telethon/tl/functions/messages.py__init__   s    z AcceptEncryptionRequest.__init__c                 C   s*   dt | jtr| j n| j| j| jdS )Nr0   )_r3   r4   r5   )
isinstancer3   r   to_dictr4   r5   r7   r8   r8   r9   r=      s
    zAcceptEncryptionRequest.to_dictc              	   C   s*   d d| j | | jtd| jfS )N    s   =<q)joinr3   _bytesserialize_bytesr4   structpackr5   r>   r8   r8   r9   rB   !   s    
zAcceptEncryptionRequest._bytesc                 C   s&   |  }| }| }| |||dS )Nr2   )tgread_objecttgread_bytes	read_long)clsreader_peerZ_g_bZ_key_fingerprintr8   r8   r9   from_reader)   s    z#AcceptEncryptionRequest.from_readerN__name__
__module____qualname__CONSTRUCTOR_IDSUBCLASS_OF_IDbytesintr:   r=   rB   classmethodrL   r8   r8   r8   r9   r0      s   r0   c                   @   sd   e Zd ZdZdZdee ed ee ee ee dddZ	dd	 Z
d
d Zdd Zedd ZdS )AcceptUrlAuthRequestl   %qXb ewNr   write_allowedr3   msg_id	button_idurlc                 C   s"   || _ || _|| _|| _|| _dS z
        :returns UrlAuthResult: Instance of either UrlAuthResultRequest, UrlAuthResultAccepted, UrlAuthResultDefault.
        NrX   )r7   rY   r3   rZ   r[   r\   r8   r8   r9   r:   5   s
    zAcceptUrlAuthRequest.__init__c                    s$   | j r ||| j I d H | _ d S Nr3   get_input_peerget_input_entityr7   clientutilsr8   r8   r9   resolve?   s    zAcceptUrlAuthRequest.resolvec                 C   s2   d| j t| jtr| j n| j| j| j| jdS )NrV   )r;   rY   r3   rZ   r[   r\   )rY   r<   r3   r   r=   rZ   r[   r\   r>   r8   r8   r9   r=   C   s    zAcceptUrlAuthRequest.to_dictc              
   C   s  | j s| j d k	r0| js | jd k	r0| jst| jd k	st| j d ksD| j dkrl| jd ksX| jdkrl| jd kst| jdksttdddtd| jd ks| jdkrdnd| j d ks| j dkrdndB | jd ks| jdkrdndB | jd ks| jdkrdndB | jd ks| jdkr
dnd	B | j d ks(| j dkr,dn| j 	 | jd ksL| jdkrPdntd
| j| jd kst| jdkrxdntd
| j| jd ks| jdkrdn
| 
| jfS )NFSpeer, msg_id, button_id parameters must all be False-y (like None) or all me True-yr?   s   %q,<Ir            <i)r3   rZ   r[   AssertionErrorrA   rD   rE   rY   r\   rB   rC   r>   r8   r8   r9   rB   M   s    t$((&zAcceptUrlAuthRequest._bytesc                 C   s~   |  }t|d@ }|d@ r&| }nd }|d@ r<|  }nd }|d@ rR|  }nd }|d@ rh| }nd }| |||||dS )Nrh   ri   rj   rX   read_intboolrF   tgread_string)rI   rJ   flags_write_allowedrK   _msg_id
_button_id_urlr8   r8   r9   rL   X   s    



z AcceptUrlAuthRequest.from_reader)NNNNN)rN   rO   rP   rQ   rR   r   ro   rT   strr:   re   r=   rB   rU   rL   r8   r8   r8   r9   rV   1   s   ,

rV   c                   @   sJ   e Zd ZdZdZededddZdd Zd	d
 Zdd Z	e
dd ZdS )AddChatUserRequestl   Q 顐=r$   chat_iduser_id	fwd_limitc                 C   s   || _ || _|| _dS zK
        :returns messages.InvitedUsers: Instance of InvitedUsers.
        Nry   )r7   rz   r{   r|   r8   r8   r9   r:   t   s    zAddChatUserRequest.__init__c                    s   | || jI d H | _d S r^   get_input_userra   r{   rb   r8   r8   r9   re   |   s    zAddChatUserRequest.resolvec                 C   s*   d| j t| jtr| j n| j| jdS )Nrw   )r;   rz   r{   r|   )rz   r<   r{   r   r=   r|   r>   r8   r8   r9   r=      s
    zAddChatUserRequest.to_dictc              	   C   s,   d dtd| j| j td| jfS )Nr?   s   r@   rk   )rA   rD   rE   rz   r{   rB   r|   r>   r8   r8   r9   rB      s    zAddChatUserRequest._bytesc                 C   s&   |  }| }| }| |||dS )Nry   )rH   rF   rn   )rI   rJ   _chat_id_user_idZ
_fwd_limitr8   r8   r9   rL      s    zAddChatUserRequest.from_readerNrN   rO   rP   rQ   rR   rT   r:   re   r=   rB   rU   rL   r8   r8   r8   r9   rw   p   s   rw   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 )CheckChatInviteRequesti>i6Vhashc                 C   s
   || _ dS )zh
        :returns ChatInvite: Instance of either ChatInviteAlready, ChatInvite, ChatInvitePeek.
        Nr   r7   r   r8   r8   r9   r:      s    zCheckChatInviteRequest.__init__c                 C   s   d| j dS )Nr   r;   r   r   r>   r8   r8   r9   r=      s    zCheckChatInviteRequest.to_dictc                 C   s   d d| | jfS )Nr?   s   >rA   rC   r   r>   r8   r8   r9   rB      s    
zCheckChatInviteRequest._bytesc                 C   s   |  }| |dS Nr   rp   rI   rJ   _hashr8   r8   r9   rL      s    z"CheckChatInviteRequest.from_readerNrN   rO   rP   rQ   rR   rv   r:   r=   rB   rU   rL   r8   r8   r8   r9   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 )CheckHistoryImportRequestiCir[import_headc                 C   s
   || _ dS )zY
        :returns messages.HistoryImportParsed: Instance of HistoryImportParsed.
        Nr   )r7   r   r8   r8   r9   r:      s    z"CheckHistoryImportRequest.__init__c                 C   s   d| j dS )Nr   )r;   r   r   r>   r8   r8   r9   r=      s    z!CheckHistoryImportRequest.to_dictc                 C   s   d d| | jfS )Nr?   s   C)rA   rC   r   r>   r8   r8   r9   rB      s    
z CheckHistoryImportRequest._bytesc                 C   s   |  }| |dS )Nr   r   )rI   rJ   Z_import_headr8   r8   r9   rL      s    z%CheckHistoryImportRequest.from_readerNr   r8   r8   r8   r9   r      s   r   c                   @   sF   e Zd ZdZdZddddZdd Zd	d
 Zdd Ze	dd Z
dS )CheckHistoryImportPeerRequesti]l   73p r   r3   c                 C   s
   || _ dS )zc
        :returns messages.CheckedHistoryImportPeer: Instance of CheckedHistoryImportPeer.
        Nr   r7   r3   r8   r8   r9   r:      s    z&CheckHistoryImportPeerRequest.__init__c                    s   | || jI d H | _d S r^   r`   ra   r3   rb   r8   r8   r9   re      s    z%CheckHistoryImportPeerRequest.resolvec                 C   s"   dt | jtr| j n| jdS )Nr   r;   r3   r<   r3   r   r=   r>   r8   r8   r9   r=      s    z%CheckHistoryImportPeerRequest.to_dictc                 C   s   d d| j fS )Nr?   s   ]rA   r3   rB   r>   r8   r8   r9   rB      s    z$CheckHistoryImportPeerRequest._bytesc                 C   s   |  }| |dS Nr   rF   rI   rJ   rK   r8   r8   r9   rL      s    z)CheckHistoryImportPeerRequest.from_readerNrN   rO   rP   rQ   rR   r:   re   r=   rB   rU   rL   r8   r8   r8   r9   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 )CheckQuickReplyShortcutRequestl   {c    gk shortcutc                 C   s
   || _ dS ?
        :returns Bool: This type has no constructors.
        Nr   )r7   r   r8   r8   r9   r:      s    z'CheckQuickReplyShortcutRequest.__init__c                 C   s   d| j dS )Nr   )r;   r   r   r>   r8   r8   r9   r=      s    z&CheckQuickReplyShortcutRequest.to_dictc                 C   s   d d| | jfS )Nr?   s   )rA   rC   r   r>   r8   r8   r9   rB      s    
z%CheckQuickReplyShortcutRequest._bytesc                 C   s   |  }| |dS )Nr   r   )rI   rJ   	_shortcutr8   r8   r9   rL     s    z*CheckQuickReplyShortcutRequest.from_readerNr   r8   r8   r8   r9   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 )
ClearAllDraftsRequestiX~r   c                 C   s   ddiS )Nr;   r   r8   r>   r8   r8   r9   r=     s     zClearAllDraftsRequest.to_dictc                 C   s
   d dS )Nr?   )s   X~rA   r>   r8   r8   r9   rB     s    zClearAllDraftsRequest._bytesc                 C   s   |  S r^   r8   rI   rJ   r8   r8   r9   rL     s    z!ClearAllDraftsRequest.from_readerN	rN   rO   rP   rQ   rR   r=   rB   rU   rL   r8   r8   r8   r9   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 )
ClearRecentReactionsRequestl   o; r   c                 C   s   ddiS )Nr;   r   r8   r>   r8   r8   r9   r=   !  s     z#ClearRecentReactionsRequest.to_dictc                 C   s
   d dS )Nr?   )s   r   r>   r8   r8   r9   rB   &  s    z"ClearRecentReactionsRequest._bytesc                 C   s   |  S r^   r8   r   r8   r8   r9   rL   +  s    z'ClearRecentReactionsRequest.from_readerNr   r8   r8   r8   r9   r     s   r   c                   @   sD   e Zd ZdZdZdee dddZdd Zd	d
 Z	e
dd ZdS )ClearRecentStickersRequestl   -`2 r   Nattachedc                 C   s
   || _ dS r   r   )r7   r   r8   r8   r9   r:   4  s    z#ClearRecentStickersRequest.__init__c                 C   s   d| j dS )Nr   )r;   r   r   r>   r8   r8   r9   r=   :  s    z"ClearRecentStickersRequest.to_dictc                 C   s.   d dtd| jd ks | jdkr$dndfS )Nr?   s   -`rg   Fr   rh   )rA   rD   rE   r   r>   r8   r8   r9   rB   @  s    "z!ClearRecentStickersRequest._bytesc                 C   s   |  }t|d@ }| |dS )Nrh   r   rn   ro   )rI   rJ   rq   	_attachedr8   r8   r9   rL   F  s    z&ClearRecentStickersRequest.from_reader)NrN   rO   rP   rQ   rR   r   ro   r:   r=   rB   rU   rL   r8   r8   r8   r9   r   0  s   r   c                   @   sL   e Zd ZdZdZdee ee edddZdd Z	d	d
 Z
edd ZdS )ClickSponsoredMessageRequestl   ~j r   Nmedia
fullscreen	random_idc                 C   s4   || _ || _|dk	r|ntjtdddd| _dS r   Nrj   bigTsigned)r   r   rT   
from_bytesosurandomr   )r7   r   r   r   r8   r8   r9   r:   R  s    z%ClickSponsoredMessageRequest.__init__c                 C   s   d| j | j| jdS )Nr   )r;   r   r   r   r   r>   r8   r8   r9   r=   Z  s
    z$ClickSponsoredMessageRequest.to_dictc              	   C   sT   d dt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fS )Nr?   s   ~5rg   Fr   rh   ri   )rA   rD   rE   r   r   rC   r   r>   r8   r8   r9   rB   b  s
    >
z#ClickSponsoredMessageRequest._bytesc                 C   s6   |  }t|d@ }t|d@ }| }| |||dS )Nrh   ri   r   )rn   ro   rG   )rI   rJ   rq   _media_fullscreen
_random_idr8   r8   r9   rL   i  s
    z(ClickSponsoredMessageRequest.from_reader)NNN)rN   rO   rP   rQ   rR   r   ro   rS   r:   r=   rB   rU   rL   r8   r8   r8   r9   r   N  s   r   c                   @   sT   e Zd ZdZdZded eee dddZ	dd	 Z
d
d Zdd Zedd ZdS )CreateChatRequestl   ]% rx   Nr$   userstitle
ttl_periodc                 C   s   || _ || _|| _dS r}   r   )r7   r   r   r   r8   r8   r9   r:   w  s    zCreateChatRequest.__init__c                    s6   g }| j D ] }||||I d H  q
|| _ d S r^   )r   appendr   ra   r7   rc   rd   Z_tmp_xr8   r8   r9   re     s    
zCreateChatRequest.resolvec                 C   s,   d| j d krg ndd | j D | j| jdS )Nr   c                 S   s"   g | ]}t |tr| n|qS r8   r<   r   r=   .0xr8   r8   r9   
<listcomp>  s     z-CreateChatRequest.to_dict.<locals>.<listcomp>)r;   r   r   r   r   r>   r8   r8   r9   r=     s
    zCreateChatRequest.to_dictc                 C   s   d dtd| jd ks | jdkr$dnddtdt| jd d	d
 | jD | | j| jd ksl| jdkrpdntd| jfS )Nr?   s   Βrg   Fr   rh      ĵrk   c                 s   s   | ]}|  V  qd S r^   rB   r   r8   r8   r9   	<genexpr>  s     z+CreateChatRequest._bytes.<locals>.<genexpr>)rA   rD   rE   r   lenr   rC   r   r>   r8   r8   r9   rB     s    "  
$zCreateChatRequest._bytesc                 C   sd   |  }|   g }t|  D ]}| }|| q | }|d@ rR|  }nd }| |||dS )Nrh   r   )rn   rangerF   r   rp   )rI   rJ   rq   Z_usersr;   r   _titleZ_ttl_periodr8   r8   r9   rL     s    
zCreateChatRequest.from_reader)N)rN   rO   rP   rQ   rR   r   rv   r   rT   r:   re   r=   rB   rU   rL   r8   r8   r8   r9   r   s  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 )DeleteChatRequestiP[r   rz   c                 C   s
   || _ dS r   r   r7   rz   r8   r8   r9   r:     s    zDeleteChatRequest.__init__c                 C   s   d| j dS )Nr   r;   rz   r   r>   r8   r8   r9   r=     s    zDeleteChatRequest.to_dictc                 C   s   d dtd| jfS )Nr?   s   P[r@   rA   rD   rE   rz   r>   r8   r8   r9   rB     s    zDeleteChatRequest._bytesc                 C   s   |  }| |dS Nr   rH   rI   rJ   r   r8   r8   r9   rL     s    zDeleteChatRequest.from_readerNrN   rO   rP   rQ   rR   rT   r:   r=   rB   rU   rL   r8   r8   r8   r9   r     s   r   c                   @   sP   e Zd ZdZdZdedee dddZdd	 Z	d
d Z
dd Zedd ZdS )DeleteChatUserRequestl   \0D    * Nr$   rz   r{   revoke_historyc                 C   s   || _ || _|| _dS 
        :returns Updates: Instance of either UpdatesTooLong, UpdateShortMessage, UpdateShortChatMessage, UpdateShort, UpdatesCombined, Updates, UpdateShortSentMessage.
        Nr   )r7   rz   r{   r   r8   r8   r9   r:     s    zDeleteChatUserRequest.__init__c                    s   | || jI d H | _d S r^   r~   rb   r8   r8   r9   re     s    zDeleteChatUserRequest.resolvec                 C   s*   d| j t| jtr| j n| j| jdS )Nr   )r;   rz   r{   r   )rz   r<   r{   r   r=   r   r>   r8   r8   r9   r=     s
    zDeleteChatUserRequest.to_dictc                 C   sB   d dtd| jd ks | jdkr$dndtd| j| j fS )Nr?   s   \rg   Fr   rh   r@   )rA   rD   rE   r   rz   r{   rB   r>   r8   r8   r9   rB     s    "zDeleteChatUserRequest._bytesc                 C   s2   |  }t|d@ }| }| }| |||dS )Nrh   r   )rn   ro   rH   rF   )rI   rJ   rq   Z_revoke_historyr   r   r8   r8   r9   rL     s
    z!DeleteChatUserRequest.from_reader)NrN   rO   rP   rQ   rR   rT   r   ro   r:   re   r=   rB   rU   rL   r8   r8   r8   r9   r     s   r   c                   @   sH   e Zd ZdZdZdedddZdd Zd	d
 Zdd Z	e
dd ZdS )DeleteExportedChatInviteRequestl   +$( r   r   r3   linkc                 C   s   || _ || _dS r   r   r7   r3   r   r8   r8   r9   r:     s    z(DeleteExportedChatInviteRequest.__init__c                    s   | || jI d H | _d S r^   r   rb   r8   r8   r9   re     s    z'DeleteExportedChatInviteRequest.resolvec                 C   s&   dt | jtr| j n| j| jdS )Nr   r;   r3   r   r<   r3   r   r=   r   r>   r8   r8   r9   r=     s    z'DeleteExportedChatInviteRequest.to_dictc                 C   s   d d| j | | jfS )Nr?   s   +dԩrA   r3   rB   rC   r   r>   r8   r8   r9   rB     s
    
z&DeleteExportedChatInviteRequest._bytesc                 C   s   |  }| }| ||dS Nr   rF   rp   rI   rJ   rK   _linkr8   r8   r9   rL   
  s    z+DeleteExportedChatInviteRequest.from_readerNrN   rO   rP   rQ   rR   rv   r:   re   r=   rB   rU   rL   r8   r8   r8   r9   r     s   r   c                   @   sH   e Zd ZdZdZdedddZdd Zd	d
 Zdd Z	e
dd ZdS )DeleteFactCheckRequestl   # r   r   r3   rZ   c                 C   s   || _ || _dS r   r   r7   r3   rZ   r8   r8   r9   r:     s    zDeleteFactCheckRequest.__init__c                    s   | || jI d H | _d S r^   r   rb   r8   r8   r9   re     s    zDeleteFactCheckRequest.resolvec                 C   s&   dt | jtr| j n| j| jdS )Nr   r;   r3   rZ   r<   r3   r   r=   rZ   r>   r8   r8   r9   r=     s    zDeleteFactCheckRequest.to_dictc                 C   s    d d| j td| jfS )Nr?   s   rk   rA   r3   rB   rD   rE   rZ   r>   r8   r8   r9   rB   &  s
    zDeleteFactCheckRequest._bytesc                 C   s   |  }| }| ||dS Nr   rF   rn   rI   rJ   rK   rs   r8   r8   r9   rL   -  s    z"DeleteFactCheckRequest.from_readerNr   r8   r8   r8   r9   r     s   r   c                   @   sb   e Zd ZdZdZddeee ee ee ee dddZ	dd	 Z
d
d Zdd Zedd ZdS )DeleteHistoryRequestl   *a I,Nr   r3   max_id
just_clearrevokemin_datemax_datec                 C   s(   || _ || _|| _|| _|| _|| _dS zQ
        :returns messages.AffectedHistory: Instance of AffectedHistory.
        Nr   )r7   r3   r   r   r   r   r   r8   r8   r9   r:   8  s    zDeleteHistoryRequest.__init__c                    s   | || jI d H | _d S r^   r   rb   r8   r8   r9   re   C  s    zDeleteHistoryRequest.resolvec                 C   s6   dt | jtr| j n| j| j| j| j| j| jdS )Nr   )r;   r3   r   r   r   r   r   )	r<   r3   r   r=   r   r   r   r   r   r>   r8   r8   r9   r=   F  s    zDeleteHistoryRequest.to_dictc              
   C   s   d dt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d ksr| jdkrvdnd	B | j td
| j	| jd ks| jdkrdn
| 
| j| jd ks| jdkrdn
| 
| jfS )Nr?   s   *rg   Fr   rh   ri   rj      rk   )rA   rD   rE   r   r   r   r   r3   rB   r   serialize_datetimer>   r8   r8   r9   rB   Q  s    v""zDeleteHistoryRequest._bytesc           	      C   sp   |  }t|d@ }t|d@ }| }|  }|d@ rB| }nd }|d@ rX| }nd }| ||||||dS )Nrh   ri   rj   r   r   )rn   ro   rF   tgread_date)	rI   rJ   rq   Z_just_clear_revokerK   _max_id	_min_date	_max_dater8   r8   r9   rL   [  s    

z DeleteHistoryRequest.from_reader)NNNN)rN   rO   rP   rQ   rR   rT   r   ro   r	   r:   re   r=   rB   rU   rL   r8   r8   r8   r9   r   4  s   *
r   c                   @   sJ   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 )DeleteMessagesRequestl   K    n@ Nidr   c                 C   s   || _ || _dS zS
        :returns messages.AffectedMessages: Instance of AffectedMessages.
        Nr  )r7   r  r   r8   r8   r9   r:   r  s    zDeleteMessagesRequest.__init__c                 C   s&   d| j d krg n| j d d  | jdS )Nr  )r;   r  r   r  r>   r8   r8   r9   r=   y  s    zDeleteMessagesRequest.to_dictc              
   C   sT   d dtd| jd ks | jdkr$dnddtdt| jd d	d
 | jD fS )Nr?   s   ҕrg   Fr   rh   r   rk   c                 s   s   | ]}t d |V  qdS rk   NrD   rE   r   r8   r8   r9   r     s     z/DeleteMessagesRequest._bytes.<locals>.<genexpr>)rA   rD   rE   r   r   r  r>   r8   r8   r9   rB     s    "  zDeleteMessagesRequest._bytesc                 C   sP   |  }t|d@ }|   g }t|  D ]}|  }|| q,| ||dS )Nrh   r  )rn   ro   r   r   )rI   rJ   rq   r  _idr;   r   r8   r8   r9   rL     s    z!DeleteMessagesRequest.from_reader)NrN   rO   rP   rQ   rR   r   rT   r   ro   r:   r=   rB   rU   rL   r8   r8   r8   r9   r  n  s   r  c                   @   sD   e Zd ZdZdZdee dddZdd Zd	d
 Z	e
dd ZdS )DeletePhoneCallHistoryRequestl   	ds l   .e.p Nr   c                 C   s
   || _ dS )z]
        :returns messages.AffectedFoundMessages: Instance of AffectedFoundMessages.
        Nr  )r7   r   r8   r8   r9   r:     s    z&DeletePhoneCallHistoryRequest.__init__c                 C   s   d| j dS )Nr  )r;   r   r  r>   r8   r8   r9   r=     s    z%DeletePhoneCallHistoryRequest.to_dictc                 C   s.   d dtd| jd ks | jdkr$dndfS )Nr?   s   	rg   Fr   rh   )rA   rD   rE   r   r>   r8   r8   r9   rB     s    "z$DeletePhoneCallHistoryRequest._bytesc                 C   s   |  }t|d@ }| |dS )Nrh   r  r   )rI   rJ   rq   r  r8   r8   r9   rL     s    z)DeletePhoneCallHistoryRequest.from_reader)Nr   r8   r8   r8   r9   r    s   r  c                   @   sD   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 )DeleteQuickReplyMessagesRequestl   iB r   shortcut_idr  c                 C   s   || _ || _dS r   r  )r7   r  r  r8   r8   r9   r:     s    z(DeleteQuickReplyMessagesRequest.__init__c                 C   s&   d| j | jd krg n| jd d  dS )Nr  )r;   r  r  r  r>   r8   r8   r9   r=     s    z'DeleteQuickReplyMessagesRequest.to_dictc              
   C   s>   d dtd| jdtdt| jd dd | jD fS )Nr?   s   rk   r   c                 s   s   | ]}t d |V  qdS r
  r  r   r8   r8   r9   r     s     z9DeleteQuickReplyMessagesRequest._bytes.<locals>.<genexpr>)rA   rD   rE   r  r   r  r>   r8   r8   r9   rB     s      z&DeleteQuickReplyMessagesRequest._bytesc                 C   sD   |  }|   g }t|  D ]}|  }|| q | ||dS )Nr  rn   r   r   )rI   rJ   _shortcut_idr  r;   r   r8   r8   r9   rL     s    z+DeleteQuickReplyMessagesRequest.from_readerN)rN   rO   rP   rQ   rR   rT   r   r:   r=   rB   rU   rL   r8   r8   r8   r9   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 )DeleteQuickReplyShortcutRequesti@G<r   r  c                 C   s
   || _ dS r   r  )r7   r  r8   r8   r9   r:     s    z(DeleteQuickReplyShortcutRequest.__init__c                 C   s   d| j dS )Nr  )r;   r  r  r>   r8   r8   r9   r=     s    z'DeleteQuickReplyShortcutRequest.to_dictc                 C   s   d dtd| jfS )Nr?   s   @G<rk   )rA   rD   rE   r  r>   r8   r8   r9   rB     s    z&DeleteQuickReplyShortcutRequest._bytesc                 C   s   |  }| |dS )Nr  rn   )rI   rJ   r  r8   r8   r9   rL     s    z+DeleteQuickReplyShortcutRequest.from_readerNr   r8   r8   r8   r9   r    s   r  c                   @   sH   e Zd ZdZdZdddddZdd	 Zd
d Zdd Ze	dd Z
dS )'DeleteRevokedExportedChatInvitesRequesti{Vr   r   r$   r3   admin_idc                 C   s   || _ || _dS r   r  )r7   r3   r  r8   r8   r9   r:     s    z0DeleteRevokedExportedChatInvitesRequest.__init__c                    s8   | || jI d H | _||| jI d H | _d S r^   r`   ra   r3   r   r  rb   r8   r8   r9   re     s    z/DeleteRevokedExportedChatInvitesRequest.resolvec                 C   s<   dt | jtr| j n| jt | jtr2| j n| jdS )Nr  )r;   r3   r  )r<   r3   r   r=   r  r>   r8   r8   r9   r=     s    z/DeleteRevokedExportedChatInvitesRequest.to_dictc                 C   s   d d| j | j fS )Nr?   s   {V)rA   r3   rB   r  r>   r8   r8   r9   rB   
  s
    z.DeleteRevokedExportedChatInvitesRequest._bytesc                 C   s   |  }|  }| ||dS )Nr  r   )rI   rJ   rK   	_admin_idr8   r8   r9   rL     s    z3DeleteRevokedExportedChatInvitesRequest.from_readerNr   r8   r8   r8   r9   r    s   r  c                   @   sV   e Zd ZdZdZddeee ee dddZdd	 Z	d
d Z
dd Zedd ZdS )DeleteSavedHistoryRequesti+nr   Nr   r3   r   r   r   c                 C   s   || _ || _|| _|| _dS r   r  )r7   r3   r   r   r   r8   r8   r9   r:     s    z"DeleteSavedHistoryRequest.__init__c                    s   | || jI d H | _d S r^   r   rb   r8   r8   r9   re   %  s    z!DeleteSavedHistoryRequest.resolvec                 C   s.   dt | jtr| j n| j| j| j| jdS )Nr  )r;   r3   r   r   r   )r<   r3   r   r=   r   r   r   r>   r8   r8   r9   r=   (  s    z!DeleteSavedHistoryRequest.to_dictc              
   C   s   d dt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 td| j| jd ksl| jdkrpdn
| | j| jd ks| jdkrdn
| | jfS )	Nr?   s   +nrg   Fr   rj   r   rk   )	rA   rD   rE   r   r   r3   rB   r   r   r>   r8   r8   r9   rB   1  s    >""z DeleteSavedHistoryRequest._bytesc                 C   sT   |  }| }|  }|d@ r*| }nd }|d@ r@| }nd }| ||||dS )Nrj   r   r  rn   rF   r   )rI   rJ   rq   rK   r  r  r  r8   r8   r9   rL   ;  s    

z%DeleteSavedHistoryRequest.from_reader)NNrN   rO   rP   rQ   rR   rT   r   r	   r:   re   r=   rB   rU   rL   r8   r8   r8   r9   r    s   		
r  c                   @   sL   e Zd ZdZdZdee dddZdd Zd	d
 Z	dd Z
edd ZdS )DeleteScheduledMessagesRequesti+Yr   r   r3   r  c                 C   s   || _ || _dS r   r"  r7   r3   r  r8   r8   r9   r:   P  s    z'DeleteScheduledMessagesRequest.__init__c                    s   | || jI d H | _d S r^   r   rb   r8   r8   r9   re   W  s    z&DeleteScheduledMessagesRequest.resolvec                 C   s<   dt | jtr| j n| j| jd kr*g n| jd d  dS )Nr!  r;   r3   r  r<   r3   r   r=   r  r>   r8   r8   r9   r=   Z  s    z&DeleteScheduledMessagesRequest.to_dictc              
   C   s:   d d| j dtdt| jd dd | jD fS )Nr?   s   +Yr   rk   c                 s   s   | ]}t d |V  qdS r
  r  r   r8   r8   r9   r   e  s     z8DeleteScheduledMessagesRequest._bytes.<locals>.<genexpr>rA   r3   rB   rD   rE   r   r  r>   r8   r8   r9   rB   a  s      z%DeleteScheduledMessagesRequest._bytesc                 C   sD   |  }|  g }t| D ]}| }|| q | ||dS Nr"  rF   rn   r   r   rI   rJ   rK   r  r;   r   r8   r8   r9   rL   h  s    z*DeleteScheduledMessagesRequest.from_readerNrN   rO   rP   rQ   rR   r   rT   r:   re   r=   rB   rU   rL   r8   r8   r8   r9   r!  L  s   r!  c                   @   sF   e Zd ZdZdZdeee dddZdd Z	d	d
 Z
edd ZdS )DiscardEncryptionRequestl   .'g r   Nrz   delete_historyc                 C   s   || _ || _dS r   r,  )r7   rz   r-  r8   r8   r9   r:   x  s    z!DiscardEncryptionRequest.__init__c                 C   s   d| j | jdS )Nr+  )r;   rz   r-  r,  r>   r8   r8   r9   r=     s    z DiscardEncryptionRequest.to_dictc                 C   s:   d dtd| jd ks | jdkr$dndtd| jfS )Nr?   s   rg   Fr   rh   rk   )rA   rD   rE   r-  rz   r>   r8   r8   r9   rB     s
    "zDiscardEncryptionRequest._bytesc                 C   s(   |  }t|d@ }|  }| ||dS )Nrh   r,  r   )rI   rJ   rq   Z_delete_historyr   r8   r8   r9   rL     s    z$DiscardEncryptionRequest.from_reader)NrN   rO   rP   rQ   rR   rT   r   ro   r:   r=   rB   rU   rL   r8   r8   r8   r9   r+  t  s   r+  c                   @   sH   e Zd ZdZdZdedddZdd Zd	d
 Zdd Z	e
dd ZdS )EditChatAboutRequestl   = r   r   r3   aboutc                 C   s   || _ || _dS r   r0  )r7   r3   r1  r8   r8   r9   r:     s    zEditChatAboutRequest.__init__c                    s   | || jI d H | _d S r^   r   rb   r8   r8   r9   re     s    zEditChatAboutRequest.resolvec                 C   s&   dt | jtr| j n| j| jdS )Nr/  )r;   r3   r1  )r<   r3   r   r=   r1  r>   r8   r8   r9   r=     s    zEditChatAboutRequest.to_dictc                 C   s   d d| j | | jfS )Nr?   s   )rA   r3   rB   rC   r1  r>   r8   r8   r9   rB     s
    
zEditChatAboutRequest._bytesc                 C   s   |  }| }| ||dS )Nr0  r   )rI   rJ   rK   Z_aboutr8   r8   r9   rL     s    z EditChatAboutRequest.from_readerNr   r8   r8   r8   r9   r/    s   r/  c                   @   sJ   e Zd ZdZdZededddZdd Zd	d
 Z	dd Z
edd ZdS )EditChatAdminRequestl   QP r   r$   rz   r{   is_adminc                 C   s   || _ || _|| _dS r   r3  )r7   rz   r{   r4  r8   r8   r9   r:     s    zEditChatAdminRequest.__init__c                    s   | || jI d H | _d S r^   r~   rb   r8   r8   r9   re     s    zEditChatAdminRequest.resolvec                 C   s*   d| j t| jtr| j n| j| jdS )Nr2  )r;   rz   r{   r4  )rz   r<   r{   r   r=   r4  r>   r8   r8   r9   r=     s
    zEditChatAdminRequest.to_dictc                 C   s,   d dtd| j| j | jr$dndfS )Nr?   s   [r@      ur   7y)rA   rD   rE   rz   r{   rB   r4  r>   r8   r8   r9   rB     s    zEditChatAdminRequest._bytesc                 C   s&   |  }| }| }| |||dS )Nr3  )rH   rF   tgread_bool)rI   rJ   r   r   Z	_is_adminr8   r8   r9   rL     s    z EditChatAdminRequest.from_readerNrN   rO   rP   rQ   rR   rT   ro   r:   re   r=   rB   rU   rL   r8   r8   r8   r9   r2    s   r2  c                   @   sH   e Zd ZdZdZdddddZdd	 Zd
d Zdd Ze	dd Z
dS )"EditChatDefaultBannedRightsRequestl   AkK r   r   r
   r3   banned_rightsc                 C   s   || _ || _dS r   r:  )r7   r3   r;  r8   r8   r9   r:     s    z+EditChatDefaultBannedRightsRequest.__init__c                    s   | || jI d H | _d S r^   r   rb   r8   r8   r9   re     s    z*EditChatDefaultBannedRightsRequest.resolvec                 C   s<   dt | jtr| j n| jt | jtr2| j n| jdS )Nr9  )r;   r3   r;  )r<   r3   r   r=   r;  r>   r8   r8   r9   r=     s    z*EditChatDefaultBannedRightsRequest.to_dictc                 C   s   d d| j | j fS )Nr?   s   Ak)rA   r3   rB   r;  r>   r8   r8   r9   rB     s
    z)EditChatDefaultBannedRightsRequest._bytesc                 C   s   |  }|  }| ||dS )Nr:  r   )rI   rJ   rK   Z_banned_rightsr8   r8   r9   rL     s    z.EditChatDefaultBannedRightsRequest.from_readerNr   r8   r8   r8   r9   r9    s   r9  c                   @   sH   e Zd ZdZdZeddddZdd Zd	d
 Zdd Z	e
dd ZdS )EditChatPhotoRequestit5r   r   rz   photoc                 C   s   || _ || _dS r   r=  )r7   rz   r>  r8   r8   r9   r:     s    zEditChatPhotoRequest.__init__c                    s   | | j| _d S r^   )Zget_input_chat_photor>  rb   r8   r8   r9   re     s    zEditChatPhotoRequest.resolvec                 C   s&   d| j t| jtr| j n| jdS )Nr<  )r;   rz   r>  )rz   r<   r>  r   r=   r>   r8   r8   r9   r=     s    zEditChatPhotoRequest.to_dictc                 C   s    d dtd| j| j fS )Nr?   s   t5r@   )rA   rD   rE   rz   r>  rB   r>   r8   r8   r9   rB     s
    zEditChatPhotoRequest._bytesc                 C   s   |  }| }| ||dS )Nr=  )rH   rF   )rI   rJ   r   Z_photor8   r8   r9   rL     s    z EditChatPhotoRequest.from_readerNr   r8   r8   r8   r9   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 )EditChatTitleRequesti?xsr   rz   r   c                 C   s   || _ || _dS r   r@  )r7   rz   r   r8   r8   r9   r:   *  s    zEditChatTitleRequest.__init__c                 C   s   d| j | jdS )Nr?  )r;   rz   r   r@  r>   r8   r8   r9   r=   1  s    zEditChatTitleRequest.to_dictc                 C   s"   d dtd| j| | jfS )Nr?   s   ?xsr@   )rA   rD   rE   rz   rC   r   r>   r8   r8   r9   rB   8  s
    
zEditChatTitleRequest._bytesc                 C   s   |  }| }| ||dS )Nr@  )rH   rp   )rI   rJ   r   r   r8   r8   r9   rL   ?  s    z EditChatTitleRequest.from_readerNrN   rO   rP   rQ   rR   rT   rv   r:   r=   rB   rU   rL   r8   r8   r8   r9   r?  &  s   r?  c                	   @   sh   e Zd ZdZdZddeee ee ee	 ee ee dddZ
dd	 Zd
d Zdd Zedd ZdS )EditExportedChatInviteRequestl   u/{    T Nr   r3   r   revokedexpire_dateusage_limitrequest_neededr   c                 C   s.   || _ || _|| _|| _|| _|| _|| _dS zz
        :returns messages.ExportedChatInvite: Instance of either ExportedChatInvite, ExportedChatInviteReplaced.
        NrD  )r7   r3   r   rE  rF  rG  rH  r   r8   r8   r9   r:   J  s    z&EditExportedChatInviteRequest.__init__c                    s   | || jI d H | _d S r^   r   rb   r8   r8   r9   re   V  s    z%EditExportedChatInviteRequest.resolvec              	   C   s:   dt | jtr| j n| j| j| j| j| j| j| j	dS )NrB  )r;   r3   r   rE  rF  rG  rH  r   )
r<   r3   r   r=   r   rE  rF  rG  rH  r   r>   r8   r8   r9   r=   Y  s    z%EditExportedChatInviteRequest.to_dictc                 C   s,  d dt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d krldnd	B | jd ks| jdkrdnd
B | j	 | 
| j| jd ks| jdkrdn
| | j| jd ks| jdkrdntd| j| jd krdn| jrdnd| jd ks| jdkrdn
| 
| jfS )Nr?   s   u/ʽrg   Fr   rj   rh   ri   r      rk   r5  r6  )rA   rD   rE   rE  rF  rG  rH  r   r3   rB   rC   r   r   r>   r8   r8   r9   rB   e  s    
"$&z$EditExportedChatInviteRequest._bytesc           
   	   C   s   |  }t|d@ }| }| }|d@ r6| }nd }|d@ rL|  }nd }|d@ rb| }nd }|d@ rx| }	nd }	| |||||||	dS )Nrj   rh   ri   r   rJ  rD  )rn   ro   rF   rp   r   r7  )
rI   rJ   rq   _revokedrK   r   _expire_date_usage_limit_request_neededr   r8   r8   r9   rL   q  s"    



z)EditExportedChatInviteRequest.from_reader)NNNNN)rN   rO   rP   rQ   rR   rv   r   ro   r	   rT   r:   re   r=   rB   rU   rL   r8   r8   r8   r9   rB  F  s   0rB  c                   @   sJ   e Zd ZdZdZdeddddZdd	 Zd
d Zdd Z	e
dd ZdS )EditFactCheckRequestiur   r   r.   r3   rZ   textc                 C   s   || _ || _|| _dS r   rP  )r7   r3   rZ   rQ  r8   r8   r9   r:     s    zEditFactCheckRequest.__init__c                    s   | || jI d H | _d S r^   r   rb   r8   r8   r9   re     s    zEditFactCheckRequest.resolvec                 C   s@   dt | jtr| j n| j| jt | jtr6| j n| jdS )NrO  )r;   r3   rZ   rQ  )r<   r3   r   r=   rZ   rQ  r>   r8   r8   r9   r=     s
    zEditFactCheckRequest.to_dictc                 C   s(   d d| j td| j| j fS )Nr?   s   urk   )rA   r3   rB   rD   rE   rZ   rQ  r>   r8   r8   r9   rB     s    zEditFactCheckRequest._bytesc                 C   s&   |  }| }|  }| |||dS )NrP  r   )rI   rJ   rK   rs   _textr8   r8   r9   rL     s    z EditFactCheckRequest.from_readerNr   r8   r8   r8   r9   rO    s   rO  c                
   @   sp   e Zd ZdZdZddee ee ee ed ed eed  dd	d
Z	dd Z
dd Zdd Zedd ZdS )EditInlineBotMessageRequestl   } r   Nr   r   r*   r&   r  
no_webpageinvert_mediamessager   reply_markupentitiesc                 C   s.   || _ || _|| _|| _|| _|| _|| _dS r   rT  )r7   r  rU  rV  rW  r   rX  rY  r8   r8   r9   r:     s    z$EditInlineBotMessageRequest.__init__c                    s   | j r|| j | _ d S r^   )r   get_input_mediarb   r8   r8   r9   re     s    z#EditInlineBotMessageRequest.resolvec              	   C   s~   dt | jtr| j n| j| j| j| jt | jtr>| j n| jt | jtrX| j n| j| j	d krjg ndd | j	D dS )NrS  c                 S   s"   g | ]}t |tr| n|qS r8   r   r   r8   r8   r9   r     s     z7EditInlineBotMessageRequest.to_dict.<locals>.<listcomp>)r;   r  rU  rV  rW  r   rX  rY  )
r<   r  r   r=   rU  rV  rW  r   rX  rY  r>   r8   r8   r9   r=     s    z#EditInlineBotMessageRequest.to_dictc                 C   sr  d dt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d ksr| jdkrvdnd	B | jd ks| jdkrdnd
B | jd ks| jdkrdndB | j	
 | jd ks| jdkrdn
| | j| jd ks| jdkrdn| j
 | jd ks| jdkrdn| j
 | jd ks:| jdkr>dn.d dtdt| jd dd | jD ffS )Nr?   s   }Urg   Fr   ri          @  rj   r   r   rk   c                 s   s   | ]}|  V  qd S r^   r   r   r8   r8   r9   r     s     z5EditInlineBotMessageRequest._bytes.<locals>.<genexpr>)rA   rD   rE   rU  rV  rW  r   rX  rY  r  rB   rC   r   r>   r8   r8   r9   rB     s    " $Jz"EditInlineBotMessageRequest._bytesc              	   C   s   |  }t|d@ }t|d@ }| }|d@ r:| }nd }|d@ rP| }nd }|d@ rf| }nd }|d@ r|   g }	t|  D ]}
| }|	| qnd }	| |||||||	dS )Nri   r[  r\  r]  rj   r   rT  )rn   ro   rF   rp   r   r   )rI   rJ   rq   _no_webpage_invert_mediar  _messager   _reply_markup	_entitiesr;   r   r8   r8   r9   rL     s*    


z'EditInlineBotMessageRequest.from_reader)NNNNNN)rN   rO   rP   rQ   rR   r   ro   rv   r   r:   re   r=   rB   rU   rL   r8   r8   r8   r9   rS    s   8rS  c                   @   s~   e Zd ZdZdZddeee ee ee ed ed ee	d  ee
 ee d
d	d
Zdd Zdd Zdd Zedd ZdS )EditMessageRequestl   @? r   Nr   r   r*   r&   
r3   r  rU  rV  rW  r   rX  rY  schedule_datequick_reply_shortcut_idc                 C   s@   || _ || _|| _|| _|| _|| _|| _|| _|	| _|
| _	dS r   rd  )r7   r3   r  rU  rV  rW  r   rX  rY  re  rf  r8   r8   r9   r:      s    zEditMessageRequest.__init__c                    s2   | || jI d H | _| jr.|| j| _d S r^   r`   ra   r3   r   rZ  rb   r8   r8   r9   re     s    zEditMessageRequest.resolvec                 C   s   dt | jtr| j n| j| j| j| j| jt | jtrB| j n| jt | j	tr\| j	 n| j	| j
d krng ndd | j
D | j| jdS )Nrc  c                 S   s"   g | ]}t |tr| n|qS r8   r   r   r8   r8   r9   r     s     z.EditMessageRequest.to_dict.<locals>.<listcomp>)r;   r3   r  rU  rV  rW  r   rX  rY  re  rf  )r<   r3   r   r=   r  rU  rV  rW  r   rX  rY  re  rf  r>   r8   r8   r9   r=     s    zEditMessageRequest.to_dictc                 C   s  d dt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d ksr| jdkrvdnd	B | jd ks| jdkrdnd
B | jd ks| jdkrdndB | j	d ks| j	dkrdndB | j
d ks| j
dkrdndB | j td| j| jd ks| jdkrdn
| | j| jd ks>| jdkrBdn| j | jd ksb| jdkrfdn| j | jd ks| jdkrdn.d dtdt| jd dd | jD f| j	d ks| j	dkrdn
| | j	| j
d ks| j
dkrdntd| j
f
S )Nr?   s   @rg   Fr   ri   r[  r\  r]  rj   r         rk   r   c                 s   s   | ]}|  V  qd S r^   r   r   r8   r8   r9   r   ,  s     z,EditMessageRequest._bytes.<locals>.<genexpr>)rA   rD   rE   rU  rV  rW  r   rX  rY  re  rf  r3   rB   r  rC   r   r   r>   r8   r8   r9   rB   #  s    &$$J&(zEditMessageRequest._bytesc                 C   s   |  }t|d@ }t|d@ }| }|  }|d@ rB| }nd }|d@ rX| }nd }|d@ rn| }	nd }	|d@ r|   g }
t|  D ]}| }|
| qnd }
|d@ r| }nd }|d@ r|  }nd }| |||||||	|
||d	
S )
Nri   r[  r\  r]  rj   r   rh  ri  rd  )rn   ro   rF   rp   r   r   r   )rI   rJ   rq   r^  r_  rK   r  r`  r   ra  rb  r;   r   _schedule_dateZ_quick_reply_shortcut_idr8   r8   r9   rL   1  s8    




zEditMessageRequest.from_reader)NNNNNNNN)rN   rO   rP   rQ   rR   rT   r   ro   rv   r   r	   r:   re   r=   rB   rU   rL   r8   r8   r8   r9   rc    s   Frc  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 )EditQuickReplyShortcutRequesti< \r   r  r   c                 C   s   || _ || _dS r   rl  )r7   r  r   r8   r8   r9   r:   ]  s    z&EditQuickReplyShortcutRequest.__init__c                 C   s   d| j | jdS )Nrk  )r;   r  r   rl  r>   r8   r8   r9   r=   d  s    z%EditQuickReplyShortcutRequest.to_dictc                 C   s"   d dtd| j| | jfS )Nr?   s   < \rk   )rA   rD   rE   r  rC   r   r>   r8   r8   r9   rB   k  s
    
z$EditQuickReplyShortcutRequest._bytesc                 C   s   |  }| }| ||dS )Nrl  )rn   rp   )rI   rJ   r  r   r8   r8   r9   rL   r  s    z)EditQuickReplyShortcutRequest.from_readerNrA  r8   r8   r8   r9   rk  Y  s   rk  c                	   @   sl   e Zd ZdZdZddee ee ee ee ee	 ed dddZ
d	d
 Zdd Zdd Zedd ZdS )ExportChatInviteRequestl   ^H l   X
h Nr   r-   r3   legacy_revoke_permanentrH  rF  rG  r   subscription_pricingc                 C   s.   || _ || _|| _|| _|| _|| _|| _dS )zs
        :returns ExportedChatInvite: Instance of either ChatInviteExported, ChatInvitePublicJoinRequests.
        Nrn  )r7   r3   ro  rH  rF  rG  r   rp  r8   r8   r9   r:   }  s    z ExportChatInviteRequest.__init__c                    s   | || jI d H | _d S r^   r   rb   r8   r8   r9   re     s    zExportChatInviteRequest.resolvec              
   C   sP   dt | jtr| j n| j| j| j| j| j| jt | j	trF| j	 n| j	dS )Nrm  )r;   r3   ro  rH  rF  rG  r   rp  )
r<   r3   r   r=   ro  rH  rF  rG  r   rp  r>   r8   r8   r9   r=     s    zExportChatInviteRequest.to_dictc              
   C   sR  d dt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d ksr| jdkrvdnd	B | jd ks| jdkrdnd
B | jd ks| jdkrdndB | j	
 | jd ks| jdkrdn
| | j| jd ks| jdkrdntd| j| jd ks| jdkrdn
| | j| jd ks@| jdkrDdn| j
 fS )Nr?   s   Urg   Fr   rj   r   rh   ri   rJ      rk   )rA   rD   rE   ro  rH  rF  rG  r   rp  r3   rB   r   rC   r>   r8   r8   r9   rB     s    "$&$zExportChatInviteRequest._bytesc           
   	   C   s   |  }t|d@ }t|d@ }| }|d@ r:| }nd }|d@ rP|  }nd }|d@ rf| }nd }|d@ r|| }	nd }	| |||||||	dS )Nrj   r   rh   ri   rJ  rq  rn  rn   ro   rF   r   rp   )
rI   rJ   rq   Z_legacy_revoke_permanentrN  rK   rL  rM  r   Z_subscription_pricingr8   r8   r9   rL     s"    



z#ExportChatInviteRequest.from_reader)NNNNNN)rN   rO   rP   rQ   rR   r   ro   r	   rT   rv   r:   re   r=   rB   rU   rL   r8   r8   r8   r9   rm  y  s   4rm  c                   @   sH   e Zd ZdZdZdedddZdd Zd	d
 Zdd Z	e
dd ZdS )FaveStickerRequestl   [Es r   r   r  unfavec                 C   s   || _ || _dS r   rt  )r7   r  ru  r8   r8   r9   r:     s    zFaveStickerRequest.__init__c                    s   | | j| _d S r^   Zget_input_documentr  rb   r8   r8   r9   re     s    zFaveStickerRequest.resolvec                 C   s&   dt | jtr| j n| j| jdS )Nrs  )r;   r  ru  )r<   r  r   r=   ru  r>   r8   r8   r9   r=     s    zFaveStickerRequest.to_dictc                 C   s    d d| j | jrdndfS )Nr?   s   [r5  r6  )rA   r  rB   ru  r>   r8   r8   r9   rB     s
    zFaveStickerRequest._bytesc                 C   s   |  }| }| ||dS )Nrt  rF   r7  )rI   rJ   r  Z_unfaver8   r8   r9   rL     s    zFaveStickerRequest.from_readerNrN   rO   rP   rQ   rR   ro   r:   re   r=   rB   rU   rL   r8   r8   r8   r9   rs    s   rs  c                   @   s   e Zd ZdZdZddee dee ee ee ee ee ee ee ee ee ee	 ed ed ee ee dddZ
d	d
 Zdd Zdd Zedd ZdS )ForwardMessagesRequestl   u$?w r   Nr   r   	from_peerr  to_peersilent
backgroundwith_my_scoredrop_authordrop_media_captions
noforwardsallow_paid_floodskipr   
top_msg_idre  send_asquick_reply_shortcutvideo_timestampallow_paid_starsc                 C   s   || _ || _|| _|| _|| _|| _|| _|| _|	| _|
| _	|dk	rH|ndd t
t|D | _|| _|| _|| _|| _|| _|| _dS )r   Nc                 S   s"   g | ]}t jtd dddqS r   r   Tr   rT   r   r   r   r   r;   r8   r8   r9   r     s     z3ForwardMessagesRequest.__init__.<locals>.<listcomp>)r{  r  r|  r}  r~  r  r  r  r  r  r   r   r   r  re  r  r  r  r  )r7   r{  r  r|  r}  r~  r  r  r  r  r  r   r  re  r  r  r  r  r8   r8   r9   r:     s"    $zForwardMessagesRequest.__init__c                    sX   | || jI d H | _| || jI d H | _| jrT| || jI d H | _d S r^   )r`   ra   r{  r|  r  rb   r8   r8   r9   re     s    zForwardMessagesRequest.resolvec                 C   s   dt | jtr| j n| j| jd kr*g n| jd d  t | jtrL| j n| j| j| j| j| j	| j
| j| j| jd krzg n| jd d  | j| jt | jtr| j n| jt | jtr| j n| j| j| jdS )Nry  )r;   r{  r  r|  r}  r~  r  r  r  r  r  r   r  re  r  r  r  r  )r<   r{  r   r=   r  r|  r}  r~  r  r  r  r  r  r   r  re  r  r  r  r  r>   r8   r8   r9   r=      s&    zForwardMessagesRequest.to_dictc                 C   s  d dt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d ksr| jdkrvdnd	B | jd ks| jdkrdnd
B | jd ks| jdkrdndB | j	d ks| j	dkrdndB | j
d ks| j
dkrdndB | jd ks| jdkrdndB | jd ks"| jdkr&dndB | jd ksB| jdkrFdndB | jd ksb| jdkrfdndB | jd ks| jdkrdndB | j dtdt| jd dd | jD dtdt| jd dd | jD | j | j
d ks | j
dkrdntd| j
| jd ks(| jdkr,dn
| | j| jd ksN| jdkrRdn| j | jd ksr| jdkrvdn| j | jd ks| jdkrdntd| j| jd ks| jdkrdntd| jfS )Nr?   s   urg   Fr   rq  @      r\     r]               ri         r   rk   c                 s   s   | ]}t d |V  qdS r
  r  r   r8   r8   r9   r     s     z0ForwardMessagesRequest._bytes.<locals>.<genexpr>c                 s   s   | ]}t d |V  qdS r@   Nr  r   r8   r8   r9   r     s     r@   )rA   rD   rE   r}  r~  r  r  r  r  r  r  re  r  r  r  r  r{  rB   r   r  r   r|  r   r>   r8   r8   r9   rB     s&         (&$$((zForwardMessagesRequest._bytesc                 C   s  |  }t|d@ }t|d@ }t|d@ }t|d@ }t|d@ }t|d@ }t|d@ }	| }
|   g }t|  D ]}|  }|| q||   g }t|  D ]}| }|| q| }|d@ r|  }nd }|d	@ r| }nd }|d
@ r| }nd }|d@ r$| }nd }|d@ r<|  }nd }|d@ rT| }nd }| |
|||||||||	|||||||dS )Nrq  r  r  r\  r  r]  r  r  r  r  ri  r  r  rz  )rn   ro   rF   r   r   rH   r   )rI   rJ   rq   _silent_backgroundZ_with_my_scoreZ_drop_authorZ_drop_media_captions_noforwards_allow_paid_floodskipZ
_from_peerr  r;   r   r   Z_to_peer_top_msg_idrj  _send_as_quick_reply_shortcutZ_video_timestamp_allow_paid_starsr8   r8   r9   rL   &  sN    









z"ForwardMessagesRequest.from_reader)NNNNNNNNNNNNNN)rN   rO   rP   rQ   rR   r   rT   r   ro   r	   r:   re   r=   rB   rU   rL   r8   r8   r8   r9   ry    s   lry  c                   @   sF   e Zd ZdZdZddddZdd Zd	d
 Zdd Ze	dd Z
dS )GetAdminsWithInvitesRequesti 9l   +- r   r   c                 C   s
   || _ dS )z]
        :returns messages.ChatAdminsWithInvites: Instance of ChatAdminsWithInvites.
        Nr   r   r8   r8   r9   r:   ^  s    z$GetAdminsWithInvitesRequest.__init__c                    s   | || jI d H | _d S r^   r   rb   r8   r8   r9   re   d  s    z#GetAdminsWithInvitesRequest.resolvec                 C   s"   dt | jtr| j n| jdS )Nr  r   r   r>   r8   r8   r9   r=   g  s    z#GetAdminsWithInvitesRequest.to_dictc                 C   s   d d| j fS )Nr?   s    9r   r>   r8   r8   r9   rB   m  s    z"GetAdminsWithInvitesRequest._bytesc                 C   s   |  }| |dS r   r   r   r8   r8   r9   rL   s  s    z'GetAdminsWithInvitesRequest.from_readerNr   r8   r8   r8   r9   r  Z  s   r  c                   @   s0   e Zd ZdZdZdd Zdd Zedd Zd	S )
GetAllDraftsRequestie?jr   c                 C   s   ddiS )Nr;   r  r8   r>   r8   r8   r9   r=   }  s     zGetAllDraftsRequest.to_dictc                 C   s
   d dS )Nr?   )s   e?jr   r>   r8   r8   r9   rB     s    zGetAllDraftsRequest._bytesc                 C   s   |  S r^   r8   r   r8   r8   r9   rL     s    zGetAllDraftsRequest.from_readerNr   r8   r8   r8   r9   r  y  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 )GetAllStickersRequestl   !Aq )HEr   c                 C   s
   || _ dS zh
        :returns messages.AllStickers: Instance of either AllStickersNotModified, AllStickers.
        Nr   r   r8   r8   r9   r:     s    zGetAllStickersRequest.__init__c                 C   s   d| j dS )Nr  r   r   r>   r8   r8   r9   r=     s    zGetAllStickersRequest.to_dictc                 C   s   d dtd| jfS )Nr?   s   r@   rA   rD   rE   r   r>   r8   r8   r9   rB     s    zGetAllStickersRequest._bytesc                 C   s   |  }| |dS r   r   r   r8   r8   r9   rL     s    z!GetAllStickersRequest.from_readerNr   r8   r8   r8   r9   r    s   r  c                   @   sN   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 )GetArchivedStickersRequestivWiqזrN	offset_idlimitmasksemojisc                 C   s   || _ || _|| _|| _dS )zS
        :returns messages.ArchivedStickers: Instance of ArchivedStickers.
        Nr  )r7   r  r  r  r  r8   r8   r9   r:     s    z#GetArchivedStickersRequest.__init__c                 C   s   d| j | j| j| jdS )Nr  )r;   r  r  r  r  r  r>   r8   r8   r9   r=     s    z"GetArchivedStickersRequest.to_dictc              	   C   sb   d dtd| jd ks | jdkr$dnd| jd ks:| jdkr>dndB td| jtd	| jfS )
Nr?   s   vWrg   Fr   rh   ri   r@   rk   )rA   rD   rE   r  r  r  r  r>   r8   r8   r9   rB     s    >z!GetArchivedStickersRequest._bytesc                 C   s@   |  }t|d@ }t|d@ }| }|  }| ||||dS )Nrh   ri   r  rn   ro   rH   )rI   rJ   rq   _masks_emojis
_offset_id_limitr8   r8   r9   rL     s    z&GetArchivedStickersRequest.from_reader)NNr.  r8   r8   r8   r9   r    s   		r  c                   @   sF   e Zd ZdZdZddddZdd Zd	d
 Zdd Ze	dd Z
dS )GetAttachMenuBotRequestia!wl   =g6 r$   botc                 C   s
   || _ dS )zL
        :returns AttachMenuBotsBot: Instance of AttachMenuBotsBot.
        Nr  )r7   r  r8   r8   r9   r:     s    z GetAttachMenuBotRequest.__init__c                    s   | || jI d H | _d S r^   r   ra   r  rb   r8   r8   r9   re     s    zGetAttachMenuBotRequest.resolvec                 C   s"   dt | jtr| j n| jdS )Nr  )r;   r  )r<   r  r   r=   r>   r8   r8   r9   r=     s    zGetAttachMenuBotRequest.to_dictc                 C   s   d d| j fS )Nr?   s   a!w)rA   r  rB   r>   r8   r8   r9   rB     s    zGetAttachMenuBotRequest._bytesc                 C   s   |  }| |dS )Nr  r   )rI   rJ   _botr8   r8   r9   rL     s    z#GetAttachMenuBotRequest.from_readerNr   r8   r8   r8   r9   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 )GetAttachMenuBotsRequestil   #\ r   c                 C   s
   || _ dS )zh
        :returns AttachMenuBots: Instance of either AttachMenuBotsNotModified, AttachMenuBots.
        Nr   r   r8   r8   r9   r:     s    z!GetAttachMenuBotsRequest.__init__c                 C   s   d| j dS )Nr  r   r   r>   r8   r8   r9   r=     s    z GetAttachMenuBotsRequest.to_dictc                 C   s   d dtd| jfS )Nr?   s   r@   r  r>   r8   r8   r9   rB      s    zGetAttachMenuBotsRequest._bytesc                 C   s   |  }| |dS r   r   r   r8   r8   r9   rL     s    z$GetAttachMenuBotsRequest.from_readerNr   r8   r8   r8   r9   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 )GetAttachedStickersRequestl   g l   k_$ r#   r   c                 C   s
   || _ dS )zT
        :returns Vector<StickerSetCovered>: This type has no constructors.
        Nr  )r7   r   r8   r8   r9   r:     s    z#GetAttachedStickersRequest.__init__c                 C   s"   dt | jtr| j n| jdS )Nr  )r;   r   )r<   r   r   r=   r>   r8   r8   r9   r=     s    z"GetAttachedStickersRequest.to_dictc                 C   s   d d| j fS )Nr?   s   g[)rA   r   rB   r>   r8   r8   r9   rB     s    z!GetAttachedStickersRequest._bytesc                 C   s   |  }| |dS )Nr  r   )rI   rJ   r   r8   r8   r9   rL   "  s    z&GetAttachedStickersRequest.from_readerN
rN   rO   rP   rQ   rR   r:   r=   rB   rU   rL   r8   r8   r8   r9   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 )GetAvailableEffectsRequestl   9
D= ipDr   c                 C   s
   || _ dS )zw
        :returns messages.AvailableEffects: Instance of either AvailableEffectsNotModified, AvailableEffects.
        Nr   r   r8   r8   r9   r:   ,  s    z#GetAvailableEffectsRequest.__init__c                 C   s   d| j dS )Nr  r   r   r>   r8   r8   r9   r=   2  s    z"GetAvailableEffectsRequest.to_dictc                 C   s   d dtd| jfS )Nr?   s   9
rk   r  r>   r8   r8   r9   rB   8  s    z!GetAvailableEffectsRequest._bytesc                 C   s   |  }| |dS r   r  r   r8   r8   r9   rL   >  s    z&GetAvailableEffectsRequest.from_readerNr   r8   r8   r8   r9   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 )GetAvailableReactionsRequestil   -MH r   c                 C   s
   || _ dS )z}
        :returns messages.AvailableReactions: Instance of either AvailableReactionsNotModified, AvailableReactions.
        Nr   r   r8   r8   r9   r:   H  s    z%GetAvailableReactionsRequest.__init__c                 C   s   d| j dS )Nr  r   r   r>   r8   r8   r9   r=   N  s    z$GetAvailableReactionsRequest.to_dictc                 C   s   d dtd| jfS )Nr?   s   rk   r  r>   r8   r8   r9   rB   T  s    z#GetAvailableReactionsRequest._bytesc                 C   s   |  }| |dS r   r  r   r8   r8   r9   rL   Z  s    z(GetAvailableReactionsRequest.from_readerNr   r8   r8   r8   r9   r  D  s   r  c                   @   s@   e Zd ZdZdZdedddZdd Zd	d
 Ze	dd Z
dS )GetBotAppRequesti4l   C r   appr   c                 C   s   || _ || _dS )z?
        :returns messages.BotApp: Instance of BotApp.
        Nr  )r7   r  r   r8   r8   r9   r:   d  s    zGetBotAppRequest.__init__c                 C   s&   dt | jtr| j n| j| jdS )Nr  )r;   r  r   )r<   r  r   r=   r   r>   r8   r8   r9   r=   k  s    zGetBotAppRequest.to_dictc                 C   s    d d| j td| jfS )Nr?   s   4r@   )rA   r  rB   rD   rE   r   r>   r8   r8   r9   rB   r  s
    zGetBotAppRequest._bytesc                 C   s   |  }| }| ||dS )Nr  rF   rH   )rI   rJ   _appr   r8   r8   r9   rL   y  s    zGetBotAppRequest.from_readerNr   r8   r8   r8   r9   r  `  s   r  c                   @   s\   e Zd ZdZdZddeee ee ed dddZ	d	d
 Z
dd Zdd Zedd ZdS )GetBotCallbackAnswerRequestl   J& iMlNr   r   r3   rZ   gamedatapasswordc                 C   s"   || _ || _|| _|| _|| _dS )zU
        :returns messages.BotCallbackAnswer: Instance of BotCallbackAnswer.
        Nr  )r7   r3   rZ   r  r  r  r8   r8   r9   r:     s
    z$GetBotCallbackAnswerRequest.__init__c                    s   | || jI d H | _d S r^   r   rb   r8   r8   r9   re     s    z#GetBotCallbackAnswerRequest.resolvec                 C   sH   dt | jtr| j n| j| j| j| jt | jtr>| j n| jdS )Nr  )r;   r3   rZ   r  r  r  )r<   r3   r   r=   rZ   r  r  r  r>   r8   r8   r9   r=     s    z#GetBotCallbackAnswerRequest.to_dictc              	   C   s   d dt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 td	| j| jd ks| jdkrdn
| 	| j| jd ks| jdkrdn| j fS )
Nr?   s   Brg   Fr   ri   rh   rj   rk   )
rA   rD   rE   r  r  r  r3   rB   rZ   rC   r>   r8   r8   r9   rB     s    Z" z"GetBotCallbackAnswerRequest._bytesc                 C   sb   |  }t|d@ }| }|  }|d@ r6| }nd }|d@ rL| }nd }| |||||dS )Nri   rh   rj   r  )rn   ro   rF   rG   )rI   rJ   rq   Z_gamerK   rs   _dataZ	_passwordr8   r8   r9   rL     s    

z'GetBotCallbackAnswerRequest.from_reader)NNN)rN   rO   rP   rQ   rR   rT   r   ro   rS   r:   re   r=   rB   rU   rL   r8   r8   r8   r9   r    s   $


r  c                
   @   sj   e Zd ZdZdZddee deee ee ee	 ee	 dddZ
d	d
 Zdd Zdd Zedd ZdS )GetChatInviteImportersRequestl   N]	> l   
y3 Nr   r$   r3   offset_dateoffset_userr  	requestedsubscription_expiredr   qc	           	      C   s4   || _ || _|| _|| _|| _|| _|| _|| _dS )zY
        :returns messages.ChatInviteImporters: Instance of ChatInviteImporters.
        Nr  )	r7   r3   r  r  r  r  r  r   r  r8   r8   r9   r:     s    z&GetChatInviteImportersRequest.__init__c                    s8   | || jI d H | _||| jI d H | _d S r^   )r`   ra   r3   r   r  rb   r8   r8   r9   re     s    z%GetChatInviteImportersRequest.resolvec              
   C   sT   dt | jtr| j n| j| jt | jtr6| j n| j| j| j| j| j	| j
d	S )Nr  )	r;   r3   r  r  r  r  r  r   r  )r<   r3   r   r=   r  r  r  r  r  r   r  r>   r8   r8   r9   r=     s    z%GetChatInviteImportersRequest.to_dictc                 C   s   d dt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d ksr| jdkrvdnd	B | j | jd ks| jdkrdn
| 	| j| jd ks| jdkrdn
| 	| j| 
| j| j td
| jfS )Nr?   s   Nrg   Fr   rh   r   ri   rj   rk   )rA   rD   rE   r  r  r   r  r3   rB   rC   r   r  r  r  r>   r8   r8   r9   rB     s    v""
z$GetChatInviteImportersRequest._bytesc              
   C   s   |  }t|d@ }t|d@ }| }|d@ r:| }nd }|d@ rP| }nd }| }| }	|  }
| |||	|
||||dS )Nrh   r   ri   rj   r  )rn   ro   rF   rp   r   )rI   rJ   rq   Z
_requestedZ_subscription_expiredrK   r   _q_offset_dateZ_offset_userr  r8   r8   r9   rL     s    

z)GetChatInviteImportersRequest.from_reader)NNNN)rN   rO   rP   rQ   rR   r   r	   rT   ro   rv   r:   re   r=   rB   rU   rL   r8   r8   r8   r9   r    s   2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 )GetChatsRequestiRI   K3 r  c                 C   s
   || _ dS zP
        :returns messages.Chats: Instance of either Chats, ChatsSlice.
        Nr  r7   r  r8   r8   r9   r:     s    zGetChatsRequest.__init__c                 C   s"   d| j d krg n| j d d  dS )Nr  r;   r  r  r>   r8   r8   r9   r=     s    zGetChatsRequest.to_dictc              	   C   s2   d ddtdt| jd dd | jD fS )Nr?   s   RIr   rk   c                 s   s   | ]}t d |V  qdS r  r  r   r8   r8   r9   r     s     z)GetChatsRequest._bytes.<locals>.<genexpr>rA   rD   rE   r   r  r>   r8   r8   r9   rB   
  s      zGetChatsRequest._bytesc                 C   s:   |   g }t|  D ]}| }|| q| |dS Nr  rn   r   rH   r   rI   rJ   r  r;   r   r8   r8   r9   rL     s    zGetChatsRequest.from_readerNrN   rO   rP   rQ   rR   r   rT   r:   r=   rB   rU   rL   r8   r8   r8   r9   r    s   r  c                   @   sJ   e Zd ZdZdZdeedddZdd Zd	d
 Zdd Z	e
dd ZdS )GetCommonChatsRequestl   !H r  r$   r{   r   r  c                 C   s   || _ || _|| _dS r  r  )r7   r{   r   r  r8   r8   r9   r:     s    zGetCommonChatsRequest.__init__c                    s   | || jI d H | _d S r^   r~   rb   r8   r8   r9   re   '  s    zGetCommonChatsRequest.resolvec                 C   s*   dt | jtr| j n| j| j| jdS )Nr  )r;   r{   r   r  )r<   r{   r   r=   r   r  r>   r8   r8   r9   r=   *  s
    zGetCommonChatsRequest.to_dictc              	   C   s,   d d| j td| jtd| jfS )Nr?   s   r@   rk   )rA   r{   rB   rD   rE   r   r  r>   r8   r8   r9   rB   2  s    zGetCommonChatsRequest._bytesc                 C   s&   |  }| }| }| |||dS )Nr  )rF   rH   rn   )rI   rJ   r   r  r  r8   r8   r9   rL   :  s    z!GetCommonChatsRequest.from_readerNr   r8   r8   r8   r9   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 )GetCustomEmojiDocumentsRequestl   TV3 l    document_idc                 C   s
   || _ dS )zK
        :returns Vector<Document>: This type has no constructors.
        Nr  )r7   r  r8   r8   r9   r:   F  s    z'GetCustomEmojiDocumentsRequest.__init__c                 C   s"   d| j d krg n| j d d  dS )Nr  )r;   r  r  r>   r8   r8   r9   r=   L  s    z&GetCustomEmojiDocumentsRequest.to_dictc              	   C   s2   d ddtdt| jd dd | jD fS )Nr?   s   Tr   rk   c                 s   s   | ]}t d |V  qdS r  r  r   r8   r8   r9   r   U  s     z8GetCustomEmojiDocumentsRequest._bytes.<locals>.<genexpr>)rA   rD   rE   r   r  r>   r8   r8   r9   rB   R  s      z%GetCustomEmojiDocumentsRequest._bytesc                 C   s:   |   g }t|  D ]}| }|| q| |dS )Nr  r  )rI   rJ   Z_document_idr;   r   r8   r8   r9   rL   X  s    z*GetCustomEmojiDocumentsRequest.from_readerNr  r8   r8   r8   r9   r  B  s   r  c                   @   s0   e Zd ZdZdZdd Zdd Zedd Zd	S )
GetDefaultHistoryTTLRequestiqel   g3` c                 C   s   ddiS )Nr;   r  r8   r>   r8   r8   r9   r=   g  s     z#GetDefaultHistoryTTLRequest.to_dictc                 C   s
   d dS )Nr?   )s   qer   r>   r8   r8   r9   rB   l  s    z"GetDefaultHistoryTTLRequest._bytesc                 C   s   |  S r^   r8   r   r8   r8   r9   rL   q  s    z'GetDefaultHistoryTTLRequest.from_readerNr   r8   r8   r8   r9   r  c  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 )GetDefaultTagReactionsRequestl   (4{    $[ r   c                 C   s
   || _ dS zb
        :returns messages.Reactions: Instance of either ReactionsNotModified, Reactions.
        Nr   r   r8   r8   r9   r:   z  s    z&GetDefaultTagReactionsRequest.__init__c                 C   s   d| j dS )Nr  r   r   r>   r8   r8   r9   r=     s    z%GetDefaultTagReactionsRequest.to_dictc                 C   s   d dtd| jfS )Nr?   s   (4r@   r  r>   r8   r8   r9   rB     s    z$GetDefaultTagReactionsRequest._bytesc                 C   s   |  }| |dS r   r   r   r8   r8   r9   rL     s    z)GetDefaultTagReactionsRequest.from_readerNr   r8   r8   r8   r9   r  v  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 )GetDhConfigRequestiP&l   mI versionrandom_lengthc                 C   s   || _ || _dS )z_
        :returns messages.DhConfig: Instance of either DhConfigNotModified, DhConfig.
        Nr  )r7   r  r  r8   r8   r9   r:     s    zGetDhConfigRequest.__init__c                 C   s   d| j | jdS )Nr  )r;   r  r  r  r>   r8   r8   r9   r=     s    zGetDhConfigRequest.to_dictc                 C   s$   d dtd| jtd| jfS )Nr?   s   P&rk   )rA   rD   rE   r  r  r>   r8   r8   r9   rB     s
    zGetDhConfigRequest._bytesc                 C   s   |  }|  }| ||dS )Nr  r  )rI   rJ   _versionZ_random_lengthr8   r8   r9   rL     s    zGetDhConfigRequest.from_readerNr   r8   r8   r8   r9   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 )
GetDialogFiltersRequestl   _ l   qK c                 C   s   ddiS )Nr;   r  r8   r>   r8   r8   r9   r=     s     zGetDialogFiltersRequest.to_dictc                 C   s
   d dS )Nr?   )s   r   r>   r8   r8   r9   rB     s    zGetDialogFiltersRequest._bytesc                 C   s   |  S r^   r8   r   r8   r8   r9   rL     s    z#GetDialogFiltersRequest.from_readerNr   r8   r8   r8   r9   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 )
GetDialogUnreadMarksRequesti"N"l   J} c                 C   s   ddiS )Nr;   r  r8   r>   r8   r8   r9   r=     s     z#GetDialogUnreadMarksRequest.to_dictc                 C   s
   d dS )Nr?   )s   "N"r   r>   r8   r8   r9   rB     s    z"GetDialogUnreadMarksRequest._bytesc                 C   s   |  S r^   r8   r   r8   r8   r9   rL     s    z'GetDialogUnreadMarksRequest.from_readerNr   r8   r8   r8   r9   r    s   r  c                	   @   s`   e Zd ZdZdZdee edeeee ee dddZ	dd	 Z
d
d Zdd Zedd ZdS )GetDialogsRequestl   OKA iRNr   r  r  offset_peerr  r   exclude_pinned	folder_idc                 C   s.   || _ || _|| _|| _|| _|| _|| _dS )zj
        :returns messages.Dialogs: Instance of either Dialogs, DialogsSlice, DialogsNotModified.
        Nr  )r7   r  r  r  r  r   r  r  r8   r8   r9   r:     s    zGetDialogsRequest.__init__c                    s   | || jI d H | _d S r^   r`   ra   r  rb   r8   r8   r9   re     s    zGetDialogsRequest.resolvec              	   C   s:   d| j | jt| jtr | j n| j| j| j| j| j	dS )Nr  )r;   r  r  r  r  r   r  r  )
r  r  r<   r  r   r=   r  r   r  r  r>   r8   r8   r9   r=     s    zGetDialogsRequest.to_dictc                 C   s   d dt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sX| jdkr\dntd| j| | jtd| j| j	 td| j
td	| jfS )
Nr?   s   Org   Fr   rh   ri   rk   r@   )rA   rD   rE   r  r  r   r  r  r  rB   r  r   r>   r8   r8   r9   rB     s    >$
zGetDialogsRequest._bytesc           
   	   C   sh   |  }t|d@ }|d@ r&|  }nd }| }|  }| }|  }| }	| |||||	||dS )Nrh   ri   r  rn   ro   r   rF   rH   )
rI   rJ   rq   _exclude_pinned
_folder_idr  r  _offset_peerr  r   r8   r8   r9   rL   	  s    
zGetDialogsRequest.from_reader)NNrN   rO   rP   rQ   rR   r   r	   rT   ro   r:   re   r=   rB   rU   rL   r8   r8   r8   r9   r    s   (r  c                   @   sH   e Zd ZdZdZdedddZdd Zd	d
 Zdd Z	e
dd ZdS )GetDiscussionMessageRequestiriDiSr   r   c                 C   s   || _ || _dS )zU
        :returns messages.DiscussionMessage: Instance of DiscussionMessage.
        Nr   r   r8   r8   r9   r:   	  s    z$GetDiscussionMessageRequest.__init__c                    s   | || jI d H | _d S r^   r   rb   r8   r8   r9   re   	  s    z#GetDiscussionMessageRequest.resolvec                 C   s&   dt | jtr| j n| j| jdS )Nr  r   r   r>   r8   r8   r9   r=   "	  s    z#GetDiscussionMessageRequest.to_dictc                 C   s    d d| j td| jfS )Nr?   s   riDrk   r   r>   r8   r8   r9   rB   )	  s
    z"GetDiscussionMessageRequest._bytesc                 C   s   |  }| }| ||dS r   r   r   r8   r8   r9   rL   0	  s    z'GetDiscussionMessageRequest.from_readerNr   r8   r8   r8   r9   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 )GetDocumentByHashRequestl   c i !sha256size	mime_typec                 C   s   || _ || _|| _dS )zP
        :returns Document: Instance of either DocumentEmpty, Document.
        Nr  )r7   r  r  r  r8   r8   r9   r:   ;	  s    z!GetDocumentByHashRequest.__init__c                 C   s   d| j | j| jdS )Nr  )r;   r  r  r  r  r>   r8   r8   r9   r=   C	  s
    z GetDocumentByHashRequest.to_dictc                 C   s,   d d| | jtd| j| | jfS )Nr?   s   r@   )rA   rC   r  rD   rE   r  r  r>   r8   r8   r9   rB   K	  s    

zGetDocumentByHashRequest._bytesc                 C   s&   |  }| }| }| |||dS )Nr  )rG   rH   rp   )rI   rJ   _sha256_sizeZ
_mime_typer8   r8   r9   rL   S	  s    z$GetDocumentByHashRequest.from_readerN)rN   rO   rP   rQ   rR   rS   rT   rv   r:   r=   rB   rU   rL   r8   r8   r8   r9   r  7	  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 )GetEmojiGroupsRequesti[ΈtU~r   c                 C   s
   || _ dS zh
        :returns messages.EmojiGroups: Instance of either EmojiGroupsNotModified, EmojiGroups.
        Nr   r   r8   r8   r9   r:   _	  s    zGetEmojiGroupsRequest.__init__c                 C   s   d| j dS )Nr  r   r   r>   r8   r8   r9   r=   e	  s    zGetEmojiGroupsRequest.to_dictc                 C   s   d dtd| jfS )Nr?   s   [Έtrk   r  r>   r8   r8   r9   rB   k	  s    zGetEmojiGroupsRequest._bytesc                 C   s   |  }| |dS r   r  r   r8   r8   r9   rL   q	  s    z!GetEmojiGroupsRequest.from_readerNr   r8   r8   r8   r9   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 )GetEmojiKeywordsRequestib5   rF$ 	lang_codec                 C   s
   || _ dS zX
        :returns EmojiKeywordsDifference: Instance of EmojiKeywordsDifference.
        Nr  r7   r  r8   r8   r9   r:   {	  s    z GetEmojiKeywordsRequest.__init__c                 C   s   d| j dS )Nr  r;   r  r  r>   r8   r8   r9   r=   	  s    zGetEmojiKeywordsRequest.to_dictc                 C   s   d d| | jfS )Nr?   s   b5rA   rC   r  r>   r8   r8   r9   rB   	  s    
zGetEmojiKeywordsRequest._bytesc                 C   s   |  }| |dS Nr  r   rI   rJ   
_lang_coder8   r8   r9   rL   	  s    z#GetEmojiKeywordsRequest.from_readerNr   r8   r8   r8   r9   r  w	  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 )!GetEmojiKeywordsDifferenceRequestir   r  from_versionc                 C   s   || _ || _dS r  r  )r7   r  r  r8   r8   r9   r:   	  s    z*GetEmojiKeywordsDifferenceRequest.__init__c                 C   s   d| j | jdS )Nr
  )r;   r  r  r  r>   r8   r8   r9   r=   	  s    z)GetEmojiKeywordsDifferenceRequest.to_dictc                 C   s"   d d| | jtd| jfS )Nr?   s   rk   )rA   rC   r  rD   rE   r  r>   r8   r8   r9   rB   	  s
    
z(GetEmojiKeywordsDifferenceRequest._bytesc                 C   s   |  }| }| ||dS )Nr  rp   rn   )rI   rJ   r	  Z_from_versionr8   r8   r9   rL   	  s    z-GetEmojiKeywordsDifferenceRequest.from_readerNrN   rO   rP   rQ   rR   rv   rT   r:   r=   rB   rU   rL   r8   r8   r8   r9   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 ) GetEmojiKeywordsLanguagesRequesticNl   S+O 
lang_codesc                 C   s
   || _ dS )zP
        :returns Vector<EmojiLanguage>: This type has no constructors.
        Nr  )r7   r  r8   r8   r9   r:   	  s    z)GetEmojiKeywordsLanguagesRequest.__init__c                 C   s"   d| j d krg n| j d d  dS )Nr  )r;   r  r  r>   r8   r8   r9   r=   	  s    z(GetEmojiKeywordsLanguagesRequest.to_dictc              
      s6   d ddtdt jd  fdd jD fS )Nr?   s   cNr   rk   c                 3   s   | ]}  |V  qd S r^   rC   r   r>   r8   r9   r   	  s     z:GetEmojiKeywordsLanguagesRequest._bytes.<locals>.<genexpr>)rA   rD   rE   r   r  r>   r8   r>   r9   rB   	  s      z'GetEmojiKeywordsLanguagesRequest._bytesc                 C   s:   |   g }t|  D ]}| }|| q| |dS )Nr  )rn   r   rp   r   )rI   rJ   Z_lang_codesr;   r   r8   r8   r9   rL   	  s    z,GetEmojiKeywordsLanguagesRequest.from_readerN)rN   rO   rP   rQ   rR   r   rv   r:   r=   rB   rU   rL   r8   r8   r8   r9   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 )!GetEmojiProfilePhotoGroupsRequestiH!r  r   c                 C   s
   || _ dS r  r   r   r8   r8   r9   r:   	  s    z*GetEmojiProfilePhotoGroupsRequest.__init__c                 C   s   d| j dS )Nr  r   r   r>   r8   r8   r9   r=   	  s    z)GetEmojiProfilePhotoGroupsRequest.to_dictc                 C   s   d dtd| jfS )Nr?   s   H!rk   r  r>   r8   r8   r9   rB   	  s    z(GetEmojiProfilePhotoGroupsRequest._bytesc                 C   s   |  }| |dS r   r  r   r8   r8   r9   rL   	  s    z-GetEmojiProfilePhotoGroupsRequest.from_readerNr   r8   r8   r8   r9   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 )GetEmojiStatusGroupsRequestiV.r  r   c                 C   s
   || _ dS r  r   r   r8   r8   r9   r:   	  s    z$GetEmojiStatusGroupsRequest.__init__c                 C   s   d| j dS )Nr  r   r   r>   r8   r8   r9   r=   	  s    z#GetEmojiStatusGroupsRequest.to_dictc                 C   s   d dtd| jfS )Nr?   s   V.rk   r  r>   r8   r8   r9   rB    
  s    z"GetEmojiStatusGroupsRequest._bytesc                 C   s   |  }| |dS r   r  r   r8   r8   r9   rL   
  s    z'GetEmojiStatusGroupsRequest.from_readerNr   r8   r8   r8   r9   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 )GetEmojiStickerGroupsRequesti@r  r   c                 C   s
   || _ dS r  r   r   r8   r8   r9   r:   
  s    z%GetEmojiStickerGroupsRequest.__init__c                 C   s   d| j dS )Nr  r   r   r>   r8   r8   r9   r=   
  s    z$GetEmojiStickerGroupsRequest.to_dictc                 C   s   d dtd| jfS )Nr?   s   @rk   r  r>   r8   r8   r9   rB   
  s    z#GetEmojiStickerGroupsRequest._bytesc                 C   s   |  }| |dS r   r  r   r8   r8   r9   rL   "
  s    z(GetEmojiStickerGroupsRequest.from_readerNr   r8   r8   r8   r9   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 )GetEmojiStickersRequestl   !w r  r   c                 C   s
   || _ dS r  r   r   r8   r8   r9   r:   ,
  s    z GetEmojiStickersRequest.__init__c                 C   s   d| j dS )Nr  r   r   r>   r8   r8   r9   r=   2
  s    zGetEmojiStickersRequest.to_dictc                 C   s   d dtd| jfS )Nr?   s   r@   r  r>   r8   r8   r9   rB   8
  s    zGetEmojiStickersRequest._bytesc                 C   s   |  }| |dS r   r   r   r8   r8   r9   rL   >
  s    z#GetEmojiStickersRequest.from_readerNr   r8   r8   r8   r9   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 )GetEmojiURLRequestl   &b+ ir  c                 C   s
   || _ dS )z:
        :returns EmojiURL: Instance of EmojiURL.
        Nr  r  r8   r8   r9   r:   H
  s    zGetEmojiURLRequest.__init__c                 C   s   d| j dS )Nr  r  r  r>   r8   r8   r9   r=   N
  s    zGetEmojiURLRequest.to_dictc                 C   s   d d| | jfS )Nr?   s   &r  r>   r8   r8   r9   rB   T
  s    
zGetEmojiURLRequest._bytesc                 C   s   |  }| |dS r  r   r  r8   r8   r9   rL   Z
  s    zGetEmojiURLRequest.from_readerNr   r8   r8   r8   r9   r  D
  s   r  c                   @   sH   e Zd ZdZdZdedddZdd Zd	d
 Zdd Z	e
dd ZdS )GetExportedChatInviteRequesti\otsrC  r   r   c                 C   s   || _ || _dS rI  r   r   r8   r8   r9   r:   d
  s    z%GetExportedChatInviteRequest.__init__c                    s   | || jI d H | _d S r^   r   rb   r8   r8   r9   re   k
  s    z$GetExportedChatInviteRequest.resolvec                 C   s&   dt | jtr| j n| j| jdS )Nr  r   r   r>   r8   r8   r9   r=   n
  s    z$GetExportedChatInviteRequest.to_dictc                 C   s   d d| j | | jfS )Nr?   s   \otsr   r>   r8   r8   r9   rB   u
  s
    
z#GetExportedChatInviteRequest._bytesc                 C   s   |  }| }| ||dS r   r   r   r8   r8   r9   rL   |
  s    z(GetExportedChatInviteRequest.from_readerNr   r8   r8   r8   r9   r  `
  s   r  c                   @   s^   e Zd ZdZdZdddeee ee ee	 dddZ
d	d
 Zdd Zdd Zedd ZdS )GetExportedChatInvitesRequestl   #kE iq8=`Nr   r$   r3   r  r  rE  r  offset_linkc                 C   s(   || _ || _|| _|| _|| _|| _dS )zY
        :returns messages.ExportedChatInvites: Instance of ExportedChatInvites.
        Nr  )r7   r3   r  r  rE  r  r  r8   r8   r9   r:   
  s    z&GetExportedChatInvitesRequest.__init__c                    s8   | || jI d H | _||| jI d H | _d S r^   r  rb   r8   r8   r9   re   
  s    z%GetExportedChatInvitesRequest.resolvec                 C   sL   dt | jtr| j n| jt | jtr2| j n| j| j| j| j| jdS )Nr  )r;   r3   r  r  rE  r  r  )	r<   r3   r   r=   r  r  rE  r  r  r>   r8   r8   r9   r=   
  s    z%GetExportedChatInvitesRequest.to_dictc                 C   s  | j s| j d k	r | jsP| jd k	sP| j d ks4| j dkrH| jd ksP| jdksPtdddtd| jd ksp| jdkrtdnd| j d ks| j dkrdndB | jd ks| jdkrdndB | j | j	 | j d ks| j dkrdn
| 
| j | jd ks| jdkrdn
| | jtd	| jfS )
NFzToffset_date, offset_link parameters must all be False-y (like None) or all me True-yr?   s   rg   r   r   rj   rk   )r  r  rl   rA   rD   rE   rE  r3   rB   r  r   rC   r  r>   r8   r8   r9   rB   
  s    PZ""z$GetExportedChatInvitesRequest._bytesc           	      C   sl   |  }t|d@ }| }| }|d@ r6| }nd }|d@ rL| }nd }|  }| ||||||dS )Nr   rj   r  rr  )	rI   rJ   rq   rK  rK   r  r  Z_offset_linkr  r8   r8   r9   rL   
  s    

z)GetExportedChatInvitesRequest.from_reader)NNN)rN   rO   rP   rQ   rR   rT   r   ro   r	   rv   r:   re   r=   rB   rU   rL   r8   r8   r8   r9   r  
  s   &r  c                   @   sL   e Zd ZdZdZdee dddZdd Zd	d
 Z	dd Z
edd ZdS )GetExtendedMediaRequestl   	 r   r   r"  c                 C   s   || _ || _dS r   r"  r#  r8   r8   r9   r:   
  s    z GetExtendedMediaRequest.__init__c                    s   | || jI d H | _d S r^   r   rb   r8   r8   r9   re   
  s    zGetExtendedMediaRequest.resolvec                 C   s<   dt | jtr| j n| j| jd kr*g n| jd d  dS )Nr  r$  r%  r>   r8   r8   r9   r=   
  s    zGetExtendedMediaRequest.to_dictc              
   C   s:   d d| j dtdt| jd dd | jD fS )Nr?   s   r   rk   c                 s   s   | ]}t d |V  qdS r
  r  r   r8   r8   r9   r   
  s     z1GetExtendedMediaRequest._bytes.<locals>.<genexpr>r&  r>   r8   r8   r9   rB   
  s      zGetExtendedMediaRequest._bytesc                 C   sD   |  }|  g }t| D ]}| }|| q | ||dS r'  r(  r)  r8   r8   r9   rL   
  s    z#GetExtendedMediaRequest.from_readerNr*  r8   r8   r8   r9   r  
  s   r  c                   @   sL   e Zd ZdZdZdee dddZdd Zd	d
 Z	dd Z
edd ZdS )GetFactCheckRequestl   Es l   Lw r   r   c                 C   s   || _ || _dS )zL
        :returns Vector<FactCheck>: This type has no constructors.
        Nr   r   r8   r8   r9   r:   
  s    zGetFactCheckRequest.__init__c                    s   | || jI d H | _d S r^   r   rb   r8   r8   r9   re   
  s    zGetFactCheckRequest.resolvec                 C   s<   dt | jtr| j n| j| jd kr*g n| jd d  dS )Nr  r   r   r>   r8   r8   r9   r=   
  s    zGetFactCheckRequest.to_dictc              
   C   s:   d d| j dtdt| jd dd | jD fS )Nr?   s   ͹r   rk   c                 s   s   | ]}t d |V  qdS r
  r  r   r8   r8   r9   r     s     z-GetFactCheckRequest._bytes.<locals>.<genexpr>)rA   r3   rB   rD   rE   r   rZ   r>   r8   r8   r9   rB   
  s      zGetFactCheckRequest._bytesc                 C   sD   |  }|  g }t| D ]}| }|| q | ||dS r   r(  )rI   rJ   rK   rs   r;   r   r8   r8   r9   rL     s    zGetFactCheckRequest.from_readerNr*  r8   r8   r8   r9   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 )GetFavedStickersRequestil   o r   c                 C   s
   || _ dS )zn
        :returns messages.FavedStickers: Instance of either FavedStickersNotModified, FavedStickers.
        Nr   r   r8   r8   r9   r:     s    z GetFavedStickersRequest.__init__c                 C   s   d| j dS )Nr  r   r   r>   r8   r8   r9   r=     s    zGetFavedStickersRequest.to_dictc                 C   s   d dtd| jfS )Nr?   s   r@   r  r>   r8   r8   r9   rB      s    zGetFavedStickersRequest._bytesc                 C   s   |  }| |dS r   r   r   r8   r8   r9   rL   &  s    z#GetFavedStickersRequest.from_readerNr   r8   r8   r8   r9   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 )GetFeaturedEmojiStickersRequesti6g"&r   c                 C   s
   || _ dS zw
        :returns messages.FeaturedStickers: Instance of either FeaturedStickersNotModified, FeaturedStickers.
        Nr   r   r8   r8   r9   r:   0  s    z(GetFeaturedEmojiStickersRequest.__init__c                 C   s   d| j dS )Nr  r   r   r>   r8   r8   r9   r=   6  s    z'GetFeaturedEmojiStickersRequest.to_dictc                 C   s   d dtd| jfS )Nr?   s   6gr@   r  r>   r8   r8   r9   rB   <  s    z&GetFeaturedEmojiStickersRequest._bytesc                 C   s   |  }| |dS r   r   r   r8   r8   r9   rL   B  s    z+GetFeaturedEmojiStickersRequest.from_readerNr   r8   r8   r8   r9   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 )GetFeaturedStickersRequestixdr   r   c                 C   s
   || _ dS r!  r   r   r8   r8   r9   r:   L  s    z#GetFeaturedStickersRequest.__init__c                 C   s   d| j dS )Nr"  r   r   r>   r8   r8   r9   r=   R  s    z"GetFeaturedStickersRequest.to_dictc                 C   s   d dtd| jfS )Nr?   s   xdr@   r  r>   r8   r8   r9   rB   X  s    z!GetFeaturedStickersRequest._bytesc                 C   s   |  }| |dS r   r   r   r8   r8   r9   rL   ^  s    z&GetFeaturedStickersRequest.from_readerNr   r8   r8   r8   r9   r"  H  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 )GetFullChatRequestl   4`] i	QZ"r   c                 C   s
   || _ dS )zC
        :returns messages.ChatFull: Instance of ChatFull.
        Nr   r   r8   r8   r9   r:   h  s    zGetFullChatRequest.__init__c                 C   s   d| j dS )Nr#  r   r   r>   r8   r8   r9   r=   n  s    zGetFullChatRequest.to_dictc                 C   s   d dtd| jfS )Nr?   s   4r@   r   r>   r8   r8   r9   rB   t  s    zGetFullChatRequest._bytesc                 C   s   |  }| |dS r   r   r   r8   r8   r9   rL   z  s    zGetFullChatRequest.from_readerNr   r8   r8   r8   r9   r#  d  s   r#  c                   @   sJ   e Zd ZdZdZdeddddZdd	 Zd
d Zdd Z	e
dd ZdS )GetGameHighScoresRequestl   dDP lr   r$   r3   r  r{   c                 C   s   || _ || _|| _dS zG
        :returns messages.HighScores: Instance of HighScores.
        Nr&  )r7   r3   r  r{   r8   r8   r9   r:     s    z!GetGameHighScoresRequest.__init__c                    s8   | || jI d H | _||| jI d H | _d S r^   r`   ra   r3   r   r{   rb   r8   r8   r9   re     s    z GetGameHighScoresRequest.resolvec                 C   s@   dt | jtr| j n| j| jt | jtr6| j n| jdS )Nr$  )r;   r3   r  r{   )r<   r3   r   r=   r  r{   r>   r8   r8   r9   r=     s
    z GetGameHighScoresRequest.to_dictc                 C   s(   d d| j td| j| j fS )Nr?   s   d"rk   )rA   r3   rB   rD   rE   r  r{   r>   r8   r8   r9   rB     s    zGetGameHighScoresRequest._bytesc                 C   s&   |  }| }|  }| |||dS )Nr&  r   )rI   rJ   rK   r  r   r8   r8   r9   rL     s    z$GetGameHighScoresRequest.from_readerNr   r8   r8   r8   r9   r$    s   r$  c                	   @   sX   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
dd Zedd ZdS )GetHistoryRequesti#D   ^h) r   r3   r  r  
add_offsetr  r   min_idr   c	           	      C   s4   || _ || _|| _|| _|| _|| _|| _|| _dS z
        :returns messages.Messages: Instance of either Messages, MessagesSlice, ChannelMessages, MessagesNotModified.
        Nr+  	r7   r3   r  r  r,  r  r   r-  r   r8   r8   r9   r:     s    zGetHistoryRequest.__init__c                    s   | || jI d H | _d S r^   r   rb   r8   r8   r9   re     s    zGetHistoryRequest.resolvec              
   C   s>   dt | jtr| j n| j| j| j| j| j| j| j	| j
d	S )Nr)  	r;   r3   r  r  r,  r  r   r-  r   r<   r3   r   r=   r  r  r,  r  r   r-  r   r>   r8   r8   r9   r=     s    zGetHistoryRequest.to_dictc                 C   sf   d d| j td| j| | jtd| jtd| j	td| j
td| jtd| jf	S )Nr?   s   #Drk   r@   rA   r3   rB   rD   rE   r  r   r  r,  r  r   r-  r   r>   r8   r8   r9   rB     s    
zGetHistoryRequest._bytesc           
   
   C   sX   |  }| }| }| }| }| }| }| }	| ||||||||	dS Nr+  rF   rn   r   rH   
rI   rJ   rK   r  r  _add_offsetr  r  _min_idr   r8   r8   r9   rL     s    zGetHistoryRequest.from_readerNr   r8   r8   r8   r9   r)    s    r)  c                   @   sT   e Zd ZdZdZdddeeed ddd	Zd
d Zdd Z	dd Z
edd ZdS )GetInlineBotResultsRequestiNQi>Nr$   r   r   r  r3   queryoffset	geo_pointc                 C   s"   || _ || _|| _|| _|| _dS )zG
        :returns messages.BotResults: Instance of BotResults.
        Nr9  )r7   r  r3   r:  r;  r<  r8   r8   r9   r:     s
    z#GetInlineBotResultsRequest.__init__c                    s8   | || jI d H | _||| jI d H | _d S r^   r   ra   r  r`   r3   rb   r8   r8   r9   re     s    z"GetInlineBotResultsRequest.resolvec                 C   s^   dt | jtr| j n| jt | jtr2| j n| j| j| jt | jtrT| j n| jdS )Nr8  )r;   r  r3   r:  r;  r<  )r<   r  r   r=   r3   r:  r;  r<  r>   r8   r8   r9   r=     s    z"GetInlineBotResultsRequest.to_dictc                 C   sr   d dtd| jd ks | jdkr$dnd| j | j | jd ksL| jdkrPdn| j | | j| | j	fS )Nr?   s   NQrg   Fr   rh   )
rA   rD   rE   r<  r  rB   r3   rC   r:  r;  r>   r8   r8   r9   rB     s    " 

z!GetInlineBotResultsRequest._bytesc                 C   sP   |  }| }| }|d@ r*| }nd }| }| }| |||||dS )Nrh   r9  rn   rF   rp   )rI   rJ   rq   r  rK   Z
_geo_pointZ_query_offsetr8   r8   r9   rL   
  s    
z&GetInlineBotResultsRequest.from_reader)N)rN   rO   rP   rQ   rR   rv   r   r:   re   r=   rB   rU   rL   r8   r8   r8   r9   r8    s   

r8  c                   @   sH   e Zd ZdZdZdddddZdd	 Zd
d Zdd Ze	dd Z
dS )GetInlineGameHighScoresRequesti^cr%  r   r$   r  r{   c                 C   s   || _ || _dS r'  rA  )r7   r  r{   r8   r8   r9   r:     s    z'GetInlineGameHighScoresRequest.__init__c                    s   | || jI d H | _d S r^   r~   rb   r8   r8   r9   re   $  s    z&GetInlineGameHighScoresRequest.resolvec                 C   s<   dt | jtr| j n| jt | jtr2| j n| jdS )Nr@  )r;   r  r{   )r<   r  r   r=   r{   r>   r8   r8   r9   r=   '  s    z&GetInlineGameHighScoresRequest.to_dictc                 C   s   d d| j | j fS )Nr?   s   ^c)rA   r  rB   r{   r>   r8   r8   r9   rB   .  s
    z%GetInlineGameHighScoresRequest._bytesc                 C   s   |  }|  }| ||dS )NrA  r   )rI   rJ   r  r   r8   r8   r9   rL   5  s    z*GetInlineGameHighScoresRequest.from_readerNr   r8   r8   r8   r9   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 )GetMaskStickersRequestidr  r   c                 C   s
   || _ dS r  r   r   r8   r8   r9   r:   @  s    zGetMaskStickersRequest.__init__c                 C   s   d| j dS )NrB  r   r   r>   r8   r8   r9   r=   F  s    zGetMaskStickersRequest.to_dictc                 C   s   d dtd| jfS )Nr?   s   dr@   r  r>   r8   r8   r9   rB   L  s    zGetMaskStickersRequest._bytesc                 C   s   |  }| |dS r   r   r   r8   r8   r9   rL   R  s    z"GetMaskStickersRequest.from_readerNr   r8   r8   r8   r9   rB  <  s   rB  c                   @   sH   e Zd ZdZdZdedddZdd Zd	d
 Zdd Z	e
dd ZdS )GetMessageEditDataRequestl   6M{ l   v r   r"  c                 C   s   || _ || _dS )zQ
        :returns messages.MessageEditData: Instance of MessageEditData.
        Nr"  r#  r8   r8   r9   r:   \  s    z"GetMessageEditDataRequest.__init__c                    s   | || jI d H | _d S r^   r   rb   r8   r8   r9   re   c  s    z!GetMessageEditDataRequest.resolvec                 C   s&   dt | jtr| j n| j| jdS )NrC  r$  r%  r>   r8   r8   r9   r=   f  s    z!GetMessageEditDataRequest.to_dictc                 C   s    d d| j td| jfS )Nr?   s   6rk   )rA   r3   rB   rD   rE   r  r>   r8   r8   r9   rB   m  s
    z GetMessageEditDataRequest._bytesc                 C   s   |  }| }| ||dS r'  r   )rI   rJ   rK   r  r8   r8   r9   rL   t  s    z%GetMessageEditDataRequest.from_readerNr   r8   r8   r8   r9   rC  X  s   rC  c                   @   sX   e Zd ZdZdZddeeed ee dddZd	d
 Z	dd Z
dd Zedd ZdS )GetMessageReactionsListRequestiH?Fi`Nr   r)   r3   r  r  reactionr;  c                 C   s"   || _ || _|| _|| _|| _dS )z[
        :returns messages.MessageReactionsList: Instance of MessageReactionsList.
        NrE  )r7   r3   r  r  rF  r;  r8   r8   r9   r:     s
    z'GetMessageReactionsListRequest.__init__c                    s   | || jI d H | _d S r^   r   rb   r8   r8   r9   re     s    z&GetMessageReactionsListRequest.resolvec                 C   sH   dt | jtr| j n| j| j| jt | jtr:| j n| j| jdS )NrD  )r;   r3   r  r  rF  r;  )r<   r3   r   r=   r  r  rF  r;  r>   r8   r8   r9   r=     s    z&GetMessageReactionsListRequest.to_dictc                 C   s   d dt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 td| j| jd ksl| jdkrpdn| j | jd ks| jdkrdn
| | jtd| j	fS )	Nr?   s   H?Frg   Fr   rh   ri   rk   )
rA   rD   rE   rF  r;  r3   rB   r  rC   r  r>   r8   r8   r9   rB     s    > "z%GetMessageReactionsListRequest._bytesc                 C   s^   |  }| }|  }|d@ r*| }nd }|d@ r@| }nd }|  }| |||||dS )Nrh   ri   rE  r>  )rI   rJ   rq   rK   r  	_reactionr?  r  r8   r8   r9   rL     s    

z*GetMessageReactionsListRequest.from_reader)NN)rN   rO   rP   rQ   rR   rT   r   rv   r:   re   r=   rB   rU   rL   r8   r8   r8   r9   rD  {  s    

rD  c                   @   sH   e Zd ZdZdZdedddZdd Zd	d
 Zdd Z	e
dd ZdS )!GetMessageReadParticipantsRequestiO1i[E!r   r   c                 C   s   || _ || _dS )zV
        :returns Vector<ReadParticipantDate>: This type has no constructors.
        Nr   r   r8   r8   r9   r:     s    z*GetMessageReadParticipantsRequest.__init__c                    s   | || jI d H | _d S r^   r   rb   r8   r8   r9   re     s    z)GetMessageReadParticipantsRequest.resolvec                 C   s&   dt | jtr| j n| j| jdS )NrH  r   r   r>   r8   r8   r9   r=     s    z)GetMessageReadParticipantsRequest.to_dictc                 C   s    d d| j td| jfS )Nr?   s   O1rk   r   r>   r8   r8   r9   rB     s
    z(GetMessageReadParticipantsRequest._bytesc                 C   s   |  }| }| ||dS r   r   r   r8   r8   r9   rL     s    z-GetMessageReadParticipantsRequest.from_readerNr   r8   r8   r8   r9   rH    s   rH  c                   @   sJ   e Zd ZdZdZed dddZdd Zd	d
 Zdd Z	e
dd ZdS )GetMessagesRequestiecr*  r   r  c                 C   s
   || _ dS r.  r  r  r8   r8   r9   r:     s    zGetMessagesRequest.__init__c                    s*   g }| j D ]}||| q
|| _ d S r^   )r  r   Zget_input_messager   r8   r8   r9   re     s    
zGetMessagesRequest.resolvec                 C   s$   d| j d krg ndd | j D dS )NrI  c                 S   s"   g | ]}t |tr| n|qS r8   r   r   r8   r8   r9   r     s     z.GetMessagesRequest.to_dict.<locals>.<listcomp>r  r  r>   r8   r8   r9   r=     s    zGetMessagesRequest.to_dictc              	   C   s2   d ddtdt| jd dd | jD fS )Nr?   s   ecr   rk   c                 s   s   | ]}|  V  qd S r^   r   r   r8   r8   r9   r     s     z,GetMessagesRequest._bytes.<locals>.<genexpr>r  r>   r8   r8   r9   rB     s      zGetMessagesRequest._bytesc                 C   s:   |   g }t|  D ]}| }|| q| |dS r  rn   r   rF   r   r  r8   r8   r9   rL     s    zGetMessagesRequest.from_readerNrN   rO   rP   rQ   rR   r   r:   re   r=   rB   rU   rL   r8   r8   r8   r9   rI    s   rI  c                   @   sL   e Zd ZdZdZdee dddZdd Zd	d
 Z	dd Z
edd ZdS )GetMessagesReactionsRequestl   u r   r   r"  c                 C   s   || _ || _dS r   r"  r#  r8   r8   r9   r:     s    z$GetMessagesReactionsRequest.__init__c                    s   | || jI d H | _d S r^   r   rb   r8   r8   r9   re   	  s    z#GetMessagesReactionsRequest.resolvec                 C   s<   dt | jtr| j n| j| jd kr*g n| jd d  dS )NrL  r$  r%  r>   r8   r8   r9   r=     s    z#GetMessagesReactionsRequest.to_dictc              
   C   s:   d d| j dtdt| jd dd | jD fS )Nr?   s   携r   rk   c                 s   s   | ]}t d |V  qdS r
  r  r   r8   r8   r9   r     s     z5GetMessagesReactionsRequest._bytes.<locals>.<genexpr>r&  r>   r8   r8   r9   rB     s      z"GetMessagesReactionsRequest._bytesc                 C   sD   |  }|  g }t| D ]}| }|| q | ||dS r'  r(  r)  r8   r8   r9   rL     s    z'GetMessagesReactionsRequest.from_readerNr*  r8   r8   r8   r9   rL    s   rL  c                   @   sN   e Zd ZdZdZdee edddZdd Z	d	d
 Z
dd Zedd ZdS )GetMessagesViewsRequestiӄWl   kk_ r   r3   r  	incrementc                 C   s   || _ || _|| _dS )zK
        :returns messages.MessageViews: Instance of MessageViews.
        NrN  )r7   r3   r  rO  r8   r8   r9   r:   *  s    z GetMessagesViewsRequest.__init__c                    s   | || jI d H | _d S r^   r   rb   r8   r8   r9   re   2  s    zGetMessagesViewsRequest.resolvec                 C   s@   dt | jtr| j n| j| jd kr*g n| jd d  | jdS )NrM  )r;   r3   r  rO  )r<   r3   r   r=   r  rO  r>   r8   r8   r9   r=   5  s
    zGetMessagesViewsRequest.to_dictc              
   C   sF   d d| j dtdt| jd dd | jD | jr>dndfS )	Nr?   s   ӄWr   rk   c                 s   s   | ]}t d |V  qdS r
  r  r   r8   r8   r9   r   A  s     z1GetMessagesViewsRequest._bytes.<locals>.<genexpr>r5  r6  )rA   r3   rB   rD   rE   r   r  rO  r>   r8   r8   r9   rB   =  s      zGetMessagesViewsRequest._bytesc                 C   sN   |  }|  g }t| D ]}| }|| q | }| |||dS )NrN  )rF   rn   r   r   r7  )rI   rJ   rK   r  r;   r   Z
_incrementr8   r8   r9   rL   E  s    z#GetMessagesViewsRequest.from_readerN)rN   rO   rP   rQ   rR   r   rT   ro   r:   re   r=   rB   rU   rL   r8   r8   r8   r9   rM  &  s   rM  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 )GetMyStickersRequestl   ak! l   
5hc r  r  c                 C   s   || _ || _dS )zG
        :returns messages.MyStickers: Instance of MyStickers.
        NrQ  )r7   r  r  r8   r8   r9   r:   V  s    zGetMyStickersRequest.__init__c                 C   s   d| j | jdS )NrP  )r;   r  r  rQ  r>   r8   r8   r9   r=   ]  s    zGetMyStickersRequest.to_dictc                 C   s$   d dtd| jtd| jfS )Nr?   s   r@   rk   )rA   rD   rE   r  r  r>   r8   r8   r9   rB   d  s
    zGetMyStickersRequest._bytesc                 C   s   |  }| }| ||dS )NrQ  )rH   rn   )rI   rJ   r  r  r8   r8   r9   rL   k  s    z GetMyStickersRequest.from_readerNr   r8   r8   r8   r9   rP  R  s   rP  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 )GetOldFeaturedStickersRequesti~r   r;  r  r   c                 C   s   || _ || _|| _dS r!  rS  )r7   r;  r  r   r8   r8   r9   r:   v  s    z&GetOldFeaturedStickersRequest.__init__c                 C   s   d| j | j| jdS )NrR  )r;   r;  r  r   rS  r>   r8   r8   r9   r=   ~  s
    z%GetOldFeaturedStickersRequest.to_dictc              	   C   s0   d dtd| jtd| jtd| jfS )Nr?   s   ~rk   r@   )rA   rD   rE   r;  r  r   r>   r8   r8   r9   rB     s    z$GetOldFeaturedStickersRequest._bytesc                 C   s&   |  }|  }| }| |||dS )NrS  rn   rH   )rI   rJ   r?  r  r   r8   r8   r9   rL     s    z)GetOldFeaturedStickersRequest.from_readerNr   r8   r8   r8   r9   rR  r  s   rR  c                   @   sF   e Zd ZdZdZddddZdd Zd	d
 Zdd Ze	dd Z
dS )GetOnlinesRequestiP+nl   : r   r   c                 C   s
   || _ dS )z@
        :returns ChatOnlines: Instance of ChatOnlines.
        Nr   r   r8   r8   r9   r:     s    zGetOnlinesRequest.__init__c                    s   | || jI d H | _d S r^   r   rb   r8   r8   r9   re     s    zGetOnlinesRequest.resolvec                 C   s"   dt | jtr| j n| jdS )NrU  r   r   r>   r8   r8   r9   r=     s    zGetOnlinesRequest.to_dictc                 C   s   d d| j fS )Nr?   s   P+nr   r>   r8   r8   r9   rB     s    zGetOnlinesRequest._bytesc                 C   s   |  }| |dS r   r   r   r8   r8   r9   rL     s    zGetOnlinesRequest.from_readerNr   r8   r8   r8   r9   rU    s   rU  c                   @   sH   e Zd ZdZdZdedddZdd Zd	d
 Zdd Z	e
dd ZdS )GetOutboxReadDateRequestl   ]~ iƃQor   r   c                 C   s   || _ || _dS )zF
        :returns OutboxReadDate: Instance of OutboxReadDate.
        Nr   r   r8   r8   r9   r:     s    z!GetOutboxReadDateRequest.__init__c                    s   | || jI d H | _d S r^   r   rb   r8   r8   r9   re     s    z GetOutboxReadDateRequest.resolvec                 C   s&   dt | jtr| j n| j| jdS )NrV  r   r   r>   r8   r8   r9   r=     s    z GetOutboxReadDateRequest.to_dictc                 C   s    d d| j td| jfS )Nr?   s   ]Krk   r   r>   r8   r8   r9   rB     s
    zGetOutboxReadDateRequest._bytesc                 C   s   |  }| }| ||dS r   r   r   r8   r8   r9   rL     s    z$GetOutboxReadDateRequest.from_readerNr   r8   r8   r8   r9   rV    s   rV  c                   @   s0   e Zd ZdZdZdd Zdd Zedd Zd	S )
GetPaidReactionPrivacyRequestiU$Gr   c                 C   s   ddiS )Nr;   rW  r8   r>   r8   r8   r9   r=     s     z%GetPaidReactionPrivacyRequest.to_dictc                 C   s
   d dS )Nr?   )s   U$Gr   r>   r8   r8   r9   rB     s    z$GetPaidReactionPrivacyRequest._bytesc                 C   s   |  S r^   r8   r   r8   r8   r9   rL     s    z)GetPaidReactionPrivacyRequest.from_readerNr   r8   r8   r8   r9   rW    s   rW  c                   @   sJ   e Zd ZdZdZed dddZdd Zd	d
 Zdd Z	e
dd ZdS )GetPeerDialogsRequestl   <H 2:r   peersc                 C   s
   || _ dS zI
        :returns messages.PeerDialogs: Instance of PeerDialogs.
        NrZ  )r7   r[  r8   r8   r9   r:     s    zGetPeerDialogsRequest.__init__c                    s0   g }| j D ]}|||I d H  q
|| _ d S r^   )r[  r   _get_input_dialogr   r8   r8   r9   re     s    
zGetPeerDialogsRequest.resolvec                 C   s$   d| j d krg ndd | j D dS )NrX  c                 S   s"   g | ]}t |tr| n|qS r8   r   r   r8   r8   r9   r     s     z1GetPeerDialogsRequest.to_dict.<locals>.<listcomp>)r;   r[  rZ  r>   r8   r8   r9   r=     s    zGetPeerDialogsRequest.to_dictc              	   C   s2   d ddtdt| jd dd | jD fS )Nr?   s   pr   rk   c                 s   s   | ]}|  V  qd S r^   r   r   r8   r8   r9   r     s     z/GetPeerDialogsRequest._bytes.<locals>.<genexpr>)rA   rD   rE   r   r[  r>   r8   r8   r9   rB     s      zGetPeerDialogsRequest._bytesc                 C   s:   |   g }t|  D ]}| }|| q| |dS )NrZ  rJ  )rI   rJ   Z_peersr;   r   r8   r8   r9   rL     s    z!GetPeerDialogsRequest.from_readerNrK  r8   r8   r8   r9   rX    s   rX  c                   @   sF   e Zd ZdZdZddddZdd Zd	d
 Zdd Ze	dd Z
dS )GetPeerSettingsRequestl   &_ ier   r   c                 C   s
   || _ dS )zK
        :returns messages.PeerSettings: Instance of PeerSettings.
        Nr   r   r8   r8   r9   r:     s    zGetPeerSettingsRequest.__init__c                    s   | || jI d H | _d S r^   r   rb   r8   r8   r9   re     s    zGetPeerSettingsRequest.resolvec                 C   s"   dt | jtr| j n| jdS )Nr^  r   r   r>   r8   r8   r9   r=      s    zGetPeerSettingsRequest.to_dictc                 C   s   d d| j fS )Nr?   s   r   r>   r8   r8   r9   rB   &  s    zGetPeerSettingsRequest._bytesc                 C   s   |  }| |dS r   r   r   r8   r8   r9   rL   ,  s    z"GetPeerSettingsRequest.from_readerNr   r8   r8   r8   r9   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 )GetPinnedDialogsRequestl   Mr- rY  r  c                 C   s
   || _ dS r\  r`  )r7   r  r8   r8   r9   r:   6  s    z GetPinnedDialogsRequest.__init__c                 C   s   d| j dS )Nr_  )r;   r  r`  r>   r8   r8   r9   r=   <  s    zGetPinnedDialogsRequest.to_dictc                 C   s   d dtd| jfS )Nr?   s   Mrk   )rA   rD   rE   r  r>   r8   r8   r9   rB   B  s    zGetPinnedDialogsRequest._bytesc                 C   s   |  }| |dS )Nr`  r  )rI   rJ   r  r8   r8   r9   rL   H  s    z#GetPinnedDialogsRequest.from_readerNr   r8   r8   r8   r9   r_  2  s   r_  c                   @   s0   e Zd ZdZdZdd Zdd Zedd Zd	S )
GetPinnedSavedDialogsRequestl   {, ~Kac                 C   s   ddiS )Nr;   ra  r8   r>   r8   r8   r9   r=   R  s     z$GetPinnedSavedDialogsRequest.to_dictc                 C   s
   d dS )Nr?   )s   =r   r>   r8   r8   r9   rB   W  s    z#GetPinnedSavedDialogsRequest._bytesc                 C   s   |  S r^   r8   r   r8   r8   r9   rL   \  s    z(GetPinnedSavedDialogsRequest.from_readerNr   r8   r8   r8   r9   ra  N  s   ra  c                   @   sH   e Zd ZdZdZdedddZdd Zd	d
 Zdd Z	e
dd ZdS )GetPollResultsRequesti;dsr   r   r   c                 C   s   || _ || _dS r   r   r   r8   r8   r9   r:   e  s    zGetPollResultsRequest.__init__c                    s   | || jI d H | _d S r^   r   rb   r8   r8   r9   re   l  s    zGetPollResultsRequest.resolvec                 C   s&   dt | jtr| j n| j| jdS )Nrc  r   r   r>   r8   r8   r9   r=   o  s    zGetPollResultsRequest.to_dictc                 C   s    d d| j td| jfS )Nr?   s   ;dsrk   r   r>   r8   r8   r9   rB   v  s
    zGetPollResultsRequest._bytesc                 C   s   |  }| }| ||dS r   r   r   r8   r8   r9   rL   }  s    z!GetPollResultsRequest.from_readerNr   r8   r8   r8   r9   rc  a  s   rc  c                   @   sX   e Zd ZdZdZddeeee ee dddZ	dd	 Z
d
d Zdd Zedd ZdS )GetPollVotesRequestl   8p l   3 Nr   r3   r  r  optionr;  c                 C   s"   || _ || _|| _|| _|| _dS )zE
        :returns messages.VotesList: Instance of VotesList.
        Nre  )r7   r3   r  r  rf  r;  r8   r8   r9   r:     s
    zGetPollVotesRequest.__init__c                    s   | || jI d H | _d S r^   r   rb   r8   r8   r9   re     s    zGetPollVotesRequest.resolvec                 C   s2   dt | jtr| j n| j| j| j| j| jdS )Nrd  )r;   r3   r  r  rf  r;  )r<   r3   r   r=   r  r  rf  r;  r>   r8   r8   r9   r=     s    zGetPollVotesRequest.to_dictc                 C   s   d dt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 td| j| jd ksl| jdkrpdn
| | j| jd ks| jdkrdn
| | jtd| j	fS )	Nr?   s   8nrg   Fr   rh   ri   rk   )
rA   rD   rE   rf  r;  r3   rB   r  rC   r  r>   r8   r8   r9   rB     s    >""zGetPollVotesRequest._bytesc                 C   s^   |  }| }|  }|d@ r*| }nd }|d@ r@| }nd }|  }| |||||dS )Nrh   ri   re  )rn   rF   rG   rp   )rI   rJ   rq   rK   r  _optionr?  r  r8   r8   r9   rL     s    

zGetPollVotesRequest.from_reader)NN)rN   rO   rP   rQ   rR   rT   r   rS   rv   r:   re   r=   rB   rU   rL   r8   r8   r8   r9   rd    s    

rd  c                   @   sH   e Zd ZdZdZdedddZdd Zd	d
 Zdd Z	e
dd ZdS )GetPreparedInlineMessageRequestl   =
 iMIr$   r  r  c                 C   s   || _ || _dS )z]
        :returns messages.PreparedInlineMessage: Instance of PreparedInlineMessage.
        Nri  )r7   r  r  r8   r8   r9   r:     s    z(GetPreparedInlineMessageRequest.__init__c                    s   | || jI d H | _d S r^   r  rb   r8   r8   r9   re     s    z'GetPreparedInlineMessageRequest.resolvec                 C   s&   dt | jtr| j n| j| jdS )Nrh  )r;   r  r  )r<   r  r   r=   r  r>   r8   r8   r9   r=     s    z'GetPreparedInlineMessageRequest.to_dictc                 C   s   d d| j | | jfS )Nr?   s   ~)rA   r  rB   rC   r  r>   r8   r8   r9   rB     s
    
z&GetPreparedInlineMessageRequest._bytesc                 C   s   |  }| }| ||dS )Nri  r   )rI   rJ   r  r  r8   r8   r9   rL     s    z+GetPreparedInlineMessageRequest.from_readerNr   r8   r8   r8   r9   rh    s   rh  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 )GetQuickRepliesRequestl   r) l   fion r   c                 C   s
   || _ dS )zk
        :returns messages.QuickReplies: Instance of either QuickReplies, QuickRepliesNotModified.
        Nr   r   r8   r8   r9   r:     s    zGetQuickRepliesRequest.__init__c                 C   s   d| j dS )Nrj  r   r   r>   r8   r8   r9   r=     s    zGetQuickRepliesRequest.to_dictc                 C   s   d dtd| jfS )Nr?   s   r@   r  r>   r8   r8   r9   rB     s    zGetQuickRepliesRequest._bytesc                 C   s   |  }| |dS r   r   r   r8   r8   r9   rL     s    z"GetQuickRepliesRequest.from_readerNr   r8   r8   r8   r9   rj    s   rj  c                   @   sL   e Zd ZdZdZdeeeee  dddZdd Z	d	d
 Z
edd ZdS )GetQuickReplyMessagesRequestl   I) r*  Nr  r   r  c                 C   s   || _ || _|| _dS r.  rl  )r7   r  r   r  r8   r8   r9   r:     s    z%GetQuickReplyMessagesRequest.__init__c                 C   s*   d| j | j| jd krg n| jd d  dS )Nrk  )r;   r  r   r  rl  r>   r8   r8   r9   r=     s
    z$GetQuickReplyMessagesRequest.to_dictc                 C   s   d dtd| jd ks | jdkr$dndtd| j| jd ksH| jdkrLdn.d dtdt| jd d	d
 | jD ftd| jfS )Nr?   s   Õrg   Fr   rh   rk   r   c                 s   s   | ]}t d |V  qdS r
  r  r   r8   r8   r9   r     s     z6GetQuickReplyMessagesRequest._bytes.<locals>.<genexpr>r@   )rA   rD   rE   r  r  r   r   r>   r8   r8   r9   rB     s    "Fz#GetQuickReplyMessagesRequest._bytesc                 C   sd   |  }|  }|d@ rJ|   g }t|  D ]}|  }|| q0nd }| }| |||dS )Nrh   rl  )rn   r   r   rH   )rI   rJ   rq   r  r  r;   r   r   r8   r8   r9   rL     s    z(GetQuickReplyMessagesRequest.from_reader)N)rN   rO   rP   rQ   rR   rT   r   r   r:   r=   rB   rU   rL   r8   r8   r8   r9   rk    s   	rk  c                   @   sJ   e Zd ZdZdZdeedddZdd Zd	d
 Zdd Z	e
dd ZdS )GetRecentLocationsRequesti@*pr*  r   r3   r  r   c                 C   s   || _ || _|| _dS r.  rn  )r7   r3   r  r   r8   r8   r9   r:   .  s    z"GetRecentLocationsRequest.__init__c                    s   | || jI d H | _d S r^   r   rb   r8   r8   r9   re   6  s    z!GetRecentLocationsRequest.resolvec                 C   s*   dt | jtr| j n| j| j| jdS )Nrm  )r;   r3   r  r   )r<   r3   r   r=   r  r   r>   r8   r8   r9   r=   9  s
    z!GetRecentLocationsRequest.to_dictc              	   C   s,   d d| j td| jtd| jfS )Nr?   s   @*prk   r@   )rA   r3   rB   rD   rE   r  r   r>   r8   r8   r9   rB   A  s    z GetRecentLocationsRequest._bytesc                 C   s&   |  }| }| }| |||dS )Nrn  )rF   rn   rH   )rI   rJ   rK   r  r   r8   r8   r9   rL   I  s    z%GetRecentLocationsRequest.from_readerNr   r8   r8   r8   r9   rm  *  s   rm  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 )GetRecentReactionsRequestiF9r  r  r   c                 C   s   || _ || _dS r  rp  r7   r  r   r8   r8   r9   r:   U  s    z"GetRecentReactionsRequest.__init__c                 C   s   d| j | jdS )Nro  r;   r  r   rp  r>   r8   r8   r9   r=   \  s    z!GetRecentReactionsRequest.to_dictc                 C   s$   d dtd| jtd| jfS )Nr?   s   F9rk   r@   rA   rD   rE   r  r   r>   r8   r8   r9   rB   c  s
    z GetRecentReactionsRequest._bytesc                 C   s   |  }| }| ||dS Nrp  rT  rI   rJ   r  r   r8   r8   r9   rL   j  s    z%GetRecentReactionsRequest.from_readerNr   r8   r8   r8   r9   ro  Q  s   ro  c                   @   sF   e Zd ZdZdZdeee dddZdd Z	d	d
 Z
edd ZdS )GetRecentStickersRequestl   ;@R; l   n Nr   r   c                 C   s   || _ || _dS )zq
        :returns messages.RecentStickers: Instance of either RecentStickersNotModified, RecentStickers.
        Nrw  )r7   r   r   r8   r8   r9   r:   u  s    z!GetRecentStickersRequest.__init__c                 C   s   d| j | jdS )Nrv  )r;   r   r   rw  r>   r8   r8   r9   r=   |  s    z GetRecentStickersRequest.to_dictc                 C   s:   d dtd| jd ks | jdkr$dndtd| jfS )Nr?   s   ;@rg   Fr   rh   r@   )rA   rD   rE   r   r   r>   r8   r8   r9   rB     s
    "zGetRecentStickersRequest._bytesc                 C   s(   |  }t|d@ }| }| ||dS )Nrh   rw  r  )rI   rJ   rq   r   r   r8   r8   r9   rL     s    z$GetRecentStickersRequest.from_reader)Nr.  r8   r8   r8   r9   rv  q  s   rv  c                
   @   sZ   e Zd ZdZdZdeeee eeeeed	ddZdd Z	d	d
 Z
dd Zedd ZdS )GetRepliesRequesti"r*  r   	r3   rZ   r  r  r,  r  r   r-  r   c
           
      C   s:   || _ || _|| _|| _|| _|| _|| _|| _|	| _dS r.  ry  )
r7   r3   rZ   r  r  r,  r  r   r-  r   r8   r8   r9   r:     s    zGetRepliesRequest.__init__c                    s   | || jI d H | _d S r^   r   rb   r8   r8   r9   re     s    zGetRepliesRequest.resolvec                 C   sB   dt | jtr| j n| j| j| j| j| j| j| j	| j
| jd
S )Nrx  )
r;   r3   rZ   r  r  r,  r  r   r-  r   )r<   r3   r   r=   rZ   r  r  r,  r  r   r-  r   r>   r8   r8   r9   r=     s    zGetRepliesRequest.to_dictc                 C   sr   d d| j td| jtd| j| | jtd| j	td| j
td| jtd| jtd| jf
S )Nr?   s   "rk   r@   )rA   r3   rB   rD   rE   rZ   r  r   r  r,  r  r   r-  r   r>   r8   r8   r9   rB     s    
zGetRepliesRequest._bytesc                 C   sb   |  }| }| }| }| }| }| }| }	| }
| ||||||||	|
d	S )Nry  r4  )rI   rJ   rK   rs   r  r  r6  r  r  r7  r   r8   r8   r9   rL     s    zGetRepliesRequest.from_readerNr   r8   r8   r8   r9   rx    s   "rx  c                   @   sZ   e Zd ZdZdZdee edeeee dddZ	dd	 Z
d
d Zdd Zedd ZdS )GetSavedDialogsRequestiҁSrb  Nr   r  r  r  r  r   r  c                 C   s(   || _ || _|| _|| _|| _|| _dS )z~
        :returns messages.SavedDialogs: Instance of either SavedDialogs, SavedDialogsSlice, SavedDialogsNotModified.
        Nr{  )r7   r  r  r  r  r   r  r8   r8   r9   r:     s    zGetSavedDialogsRequest.__init__c                    s   | || jI d H | _d S r^   r  rb   r8   r8   r9   re     s    zGetSavedDialogsRequest.resolvec                 C   s6   d| j | jt| jtr | j n| j| j| j| jdS )Nrz  )r;   r  r  r  r  r   r  )	r  r  r<   r  r   r=   r  r   r  r>   r8   r8   r9   r=     s    zGetSavedDialogsRequest.to_dictc                 C   sd   d dtd| jd ks | jdkr$dnd| | jtd| j| j td| j	td| j
fS )	Nr?   s   ҁSrg   Fr   rh   rk   r@   )rA   rD   rE   r  r   r  r  r  rB   r  r   r>   r8   r8   r9   rB     s    "
zGetSavedDialogsRequest._bytesc           	      C   sP   |  }t|d@ }| }|  }| }|  }| }| ||||||dS )Nrh   r{  r  )	rI   rJ   rq   r  r  r  r  r  r   r8   r8   r9   rL     s    z"GetSavedDialogsRequest.from_reader)Nr  r8   r8   r8   r9   rz    s   "rz  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 )GetSavedGifsRequesti5\l   aM r   c                 C   s
   || _ dS )zb
        :returns messages.SavedGifs: Instance of either SavedGifsNotModified, SavedGifs.
        Nr   r   r8   r8   r9   r:     s    zGetSavedGifsRequest.__init__c                 C   s   d| j dS )Nr|  r   r   r>   r8   r8   r9   r=     s    zGetSavedGifsRequest.to_dictc                 C   s   d dtd| jfS )Nr?   s   5\r@   r  r>   r8   r8   r9   rB     s    zGetSavedGifsRequest._bytesc                 C   s   |  }| |dS r   r   r   r8   r8   r9   rL     s    zGetSavedGifsRequest.from_readerNr   r8   r8   r8   r9   r|    s   r|  c                	   @   sX   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
dd Zedd ZdS )GetSavedHistoryRequestiMA=r*  r   r+  c	           	      C   s4   || _ || _|| _|| _|| _|| _|| _|| _dS r.  r+  r/  r8   r8   r9   r:   '  s    zGetSavedHistoryRequest.__init__c                    s   | || jI d H | _d S r^   r   rb   r8   r8   r9   re   4  s    zGetSavedHistoryRequest.resolvec              
   C   s>   dt | jtr| j n| j| j| j| j| j| j| j	| j
d	S )Nr}  r0  r1  r>   r8   r8   r9   r=   7  s    zGetSavedHistoryRequest.to_dictc                 C   sf   d d| j td| j| | jtd| jtd| j	td| j
td| jtd| jf	S )Nr?   s   MA=rk   r@   r2  r>   r8   r8   r9   rB   D  s    
zGetSavedHistoryRequest._bytesc           
   
   C   sX   |  }| }| }| }| }| }| }| }	| ||||||||	dS r3  r4  r5  r8   r8   r9   rL   Q  s    z"GetSavedHistoryRequest.from_readerNr   r8   r8   r8   r9   r}  #  s    r}  c                   @   sN   e Zd ZdZdZdeed dddZdd	 Zd
d Z	dd Z
edd ZdS )GetSavedReactionTagsRequesti[76l   [6G Nr   r   r3   c                 C   s   || _ || _dS )zz
        :returns messages.SavedReactionTags: Instance of either SavedReactionTagsNotModified, SavedReactionTags.
        Nr  )r7   r   r3   r8   r8   r9   r:   b  s    z$GetSavedReactionTagsRequest.__init__c                    s$   | j r ||| j I d H | _ d S r^   r_   rb   r8   r8   r9   re   i  s    z#GetSavedReactionTagsRequest.resolvec                 C   s&   d| j t| jtr| j n| jdS )Nr~  )r;   r   r3   )r   r<   r3   r   r=   r>   r8   r8   r9   r=   m  s    z#GetSavedReactionTagsRequest.to_dictc              	   C   sZ   d dtd| jd ks | jdkr$dnd| jd ks<| jdkr@dn| j td| jfS )Nr?   s   [76rg   Fr   rh   r@   )rA   rD   rE   r3   rB   r   r>   r8   r8   r9   rB   t  s    " z"GetSavedReactionTagsRequest._bytesc                 C   s2   |  }|d@ r| }nd }| }| ||dS )Nrh   r  rn   rF   rH   )rI   rJ   rq   rK   r   r8   r8   r9   rL   |  s    
z'GetSavedReactionTagsRequest.from_reader)NrN   rO   rP   rQ   rR   rT   r   r:   re   r=   rB   rU   rL   r8   r8   r8   r9   r~  ^  s   r~  c                   @   sH   e Zd ZdZdZdedddZdd Zd	d
 Zdd Z	e
dd ZdS )GetScheduledHistoryRequestl   v,j r*  r   r3   r   c                 C   s   || _ || _dS r.  r  )r7   r3   r   r8   r8   r9   r:     s    z#GetScheduledHistoryRequest.__init__c                    s   | || jI d H | _d S r^   r   rb   r8   r8   r9   re     s    z"GetScheduledHistoryRequest.resolvec                 C   s&   dt | jtr| j n| j| jdS )Nr  )r;   r3   r   )r<   r3   r   r=   r   r>   r8   r8   r9   r=     s    z"GetScheduledHistoryRequest.to_dictc                 C   s    d d| j td| jfS )Nr?   s   vr@   )rA   r3   rB   rD   rE   r   r>   r8   r8   r9   rB     s
    z!GetScheduledHistoryRequest._bytesc                 C   s   |  }| }| ||dS )Nr  r  )rI   rJ   rK   r   r8   r8   r9   rL     s    z&GetScheduledHistoryRequest.from_readerNr   r8   r8   r8   r9   r    s   r  c                   @   sL   e Zd ZdZdZdee dddZdd Zd	d
 Z	dd Z
edd ZdS )GetScheduledMessagesRequestl   dv{ r*  r   r"  c                 C   s   || _ || _dS r.  r"  r#  r8   r8   r9   r:     s    z$GetScheduledMessagesRequest.__init__c                    s   | || jI d H | _d S r^   r   rb   r8   r8   r9   re     s    z#GetScheduledMessagesRequest.resolvec                 C   s<   dt | jtr| j n| j| jd kr*g n| jd d  dS )Nr  r$  r%  r>   r8   r8   r9   r=     s    z#GetScheduledMessagesRequest.to_dictc              
   C   s:   d d| j dtdt| jd dd | jD fS )Nr?   s   dr   rk   c                 s   s   | ]}t d |V  qdS r
  r  r   r8   r8   r9   r     s     z5GetScheduledMessagesRequest._bytes.<locals>.<genexpr>r&  r>   r8   r8   r9   rB     s      z"GetScheduledMessagesRequest._bytesc                 C   sD   |  }|  g }t| D ]}| }|| q | ||dS r'  r(  r)  r8   r8   r9   rL     s    z'GetScheduledMessagesRequest.from_readerNr*  r8   r8   r8   r9   r    s   r  c                   @   sZ   e Zd ZdZdZdded ed ee dddZd	d
 Z	dd Z
dd Zedd ZdS )GetSearchCountersRequesti in<kNr   r'   r3   filterssaved_peer_idr  c                 C   s   || _ || _|| _|| _dS )zY
        :returns Vector<messages.SearchCounter>: This type has no constructors.
        Nr  )r7   r3   r  r  r  r8   r8   r9   r:     s    z!GetSearchCountersRequest.__init__c                    s>   | || jI d H | _| jr:| || jI d H | _d S r^   r`   ra   r3   r  rb   r8   r8   r9   re     s    z GetSearchCountersRequest.resolvec                 C   s\   dt | jtr| j n| j| jd kr*g ndd | jD t | jtrN| j n| j| jdS )Nr  c                 S   s"   g | ]}t |tr| n|qS r8   r   r   r8   r8   r9   r     s     z4GetSearchCountersRequest.to_dict.<locals>.<listcomp>)r;   r3   r  r  r  )r<   r3   r   r=   r  r  r  r>   r8   r8   r9   r=     s    z GetSearchCountersRequest.to_dictc                 C   s   d dt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d ks`| jdkrddn| j | jd ks| jdkrdntd| jd	tdt| jd d
d | jD fS )Nr?   s    rg   Fr   rj   rh   rk   r   c                 s   s   | ]}|  V  qd S r^   r   r   r8   r8   r9   r     s     z2GetSearchCountersRequest._bytes.<locals>.<genexpr>)	rA   rD   rE   r  r  r3   rB   r   r  r>   r8   r8   r9   rB     s    > $  zGetSearchCountersRequest._bytesc           	      C   s|   |  }| }|d@ r"| }nd }|d@ r8|  }nd }|   g }t|  D ]}| }|| qT| ||||dS )Nrj   rh   r  rn   rF   r   r   )	rI   rJ   rq   rK   _saved_peer_idr  _filtersr;   r   r8   r8   r9   rL     s    

z$GetSearchCountersRequest.from_reader)NN)rN   rO   rP   rQ   rR   r   r   rT   r:   re   r=   rB   rU   rL   r8   r8   r8   r9   r    s   "		
r  c                   @   sX   e Zd ZdZdZdddeee ed dddZd	d
 Z	dd Z
dd Zedd ZdS )GetSearchResultsCalendarRequestijl   d% Nr   r'   r3   filterr  r  r  c                 C   s"   || _ || _|| _|| _|| _dS )z]
        :returns messages.SearchResultsCalendar: Instance of SearchResultsCalendar.
        Nr  )r7   r3   r  r  r  r  r8   r8   r9   r:     s
    z(GetSearchResultsCalendarRequest.__init__c                    s>   | || jI d H | _| jr:| || jI d H | _d S r^   r  rb   r8   r8   r9   re     s    z'GetSearchResultsCalendarRequest.resolvec                 C   s^   dt | jtr| j n| jt | jtr2| j n| j| j| jt | jtrT| j n| jdS )Nr  )r;   r3   r  r  r  r  )r<   r3   r   r=   r  r  r  r  r>   r8   r8   r9   r=   !  s    z'GetSearchResultsCalendarRequest.to_dictc                 C   st   d dtd| jd ks | jdkr$dnd| j | jd ksD| jdkrHdn| j | j td| j| | j	fS )Nr?   s   jrg   Fr   rj   rk   )
rA   rD   rE   r  r3   rB   r  r  r   r  r>   r8   r8   r9   rB   +  s    " 
z&GetSearchResultsCalendarRequest._bytesc                 C   sP   |  }| }|d@ r"| }nd }| }|  }| }| |||||dS )Nrj   r  r  )rI   rJ   rq   rK   r  _filterr  r  r8   r8   r9   rL   6  s    
z+GetSearchResultsCalendarRequest.from_reader)Nr   r8   r8   r8   r9   r    s    

r  c                   @   sT   e Zd ZdZdZdddeeed dddZd	d
 Zdd Z	dd Z
edd ZdS ) GetSearchResultsPositionsRequestl   /8 l   p2 Nr   r'   r3   r  r  r  r  c                 C   s"   || _ || _|| _|| _|| _dS )z_
        :returns messages.SearchResultsPositions: Instance of SearchResultsPositions.
        Nr  )r7   r3   r  r  r  r  r8   r8   r9   r:   I  s
    z)GetSearchResultsPositionsRequest.__init__c                    s>   | || jI d H | _| jr:| || jI d H | _d S r^   r  rb   r8   r8   r9   re   S  s    z(GetSearchResultsPositionsRequest.resolvec                 C   s^   dt | jtr| j n| jt | jtr2| j n| j| j| jt | jtrT| j n| jdS )Nr  )r;   r3   r  r  r  r  )r<   r3   r   r=   r  r  r  r  r>   r8   r8   r9   r=   X  s    z(GetSearchResultsPositionsRequest.to_dictc                 C   sv   d dtd| jd ks | jdkr$dnd| j | jd ksD| jdkrHdn| j | j td| jtd| jfS )Nr?   s   /rg   Fr   rj   rk   )	rA   rD   rE   r  r3   rB   r  r  r  r>   r8   r8   r9   rB   b  s    " z'GetSearchResultsPositionsRequest._bytesc                 C   sP   |  }| }|d@ r"| }nd }| }|  }|  }| |||||dS )Nrj   r  rn   rF   )rI   rJ   rq   rK   r  r  r  r  r8   r8   r9   rL   m  s    
z,GetSearchResultsPositionsRequest.from_reader)Nr  r8   r8   r8   r9   r  E  s   

r  c                   @   s0   e Zd ZdZdZdd Zdd Zedd Zd	S )
GetSplitRangesRequesti~i%[c                 C   s   ddiS )Nr;   r  r8   r>   r8   r8   r9   r=     s     zGetSplitRangesRequest.to_dictc                 C   s
   d dS )Nr?   )s   ~r   r>   r8   r8   r9   rB     s    zGetSplitRangesRequest._bytesc                 C   s   |  S r^   r8   r   r8   r8   r9   rL     s    z!GetSplitRangesRequest.from_readerNr   r8   r8   r8   r9   r  |  s   r  c                   @   sF   e Zd ZdZdZddddZdd Zd	d
 Zdd Ze	dd Z
dS )GetSponsoredMessagesRequestl   9t7 iiAr   r   c                 C   s
   || _ dS )zt
        :returns messages.SponsoredMessages: Instance of either SponsoredMessages, SponsoredMessagesEmpty.
        Nr   r   r8   r8   r9   r:     s    z$GetSponsoredMessagesRequest.__init__c                    s   | || jI d H | _d S r^   r   rb   r8   r8   r9   re     s    z#GetSponsoredMessagesRequest.resolvec                 C   s"   dt | jtr| j n| jdS )Nr  r   r   r>   r8   r8   r9   r=     s    z#GetSponsoredMessagesRequest.to_dictc                 C   s   d d| j fS )Nr?   s   9қr   r>   r8   r8   r9   rB     s    z"GetSponsoredMessagesRequest._bytesc                 C   s   |  }| |dS r   r   r   r8   r8   r9   rL     s    z'GetSponsoredMessagesRequest.from_readerNr   r8   r8   r8   r9   r    s   r  c                   @   s@   e Zd ZdZdZdedddZdd Zd	d
 Ze	dd Z
dS )GetStickerSetRequestl   tlA l   ZJ6 r"   
stickersetr   c                 C   s   || _ || _dS )ze
        :returns messages.StickerSet: Instance of either StickerSet, StickerSetNotModified.
        Nr  )r7   r  r   r8   r8   r9   r:     s    zGetStickerSetRequest.__init__c                 C   s&   dt | jtr| j n| j| jdS )Nr  )r;   r  r   )r<   r  r   r=   r   r>   r8   r8   r9   r=     s    zGetStickerSetRequest.to_dictc                 C   s    d d| j td| jfS )Nr?   s   trk   )rA   r  rB   rD   rE   r   r>   r8   r8   r9   rB     s
    zGetStickerSetRequest._bytesc                 C   s   |  }| }| ||dS )Nr  r   )rI   rJ   _stickersetr   r8   r8   r9   rL     s    z GetStickerSetRequest.from_readerNr   r8   r8   r8   r9   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 )GetStickersRequestl   SK+ l   9w. emoticonr   c                 C   s   || _ || _dS )z_
        :returns messages.Stickers: Instance of either StickersNotModified, Stickers.
        Nr  r7   r  r   r8   r8   r9   r:     s    zGetStickersRequest.__init__c                 C   s   d| j | jdS )Nr  r;   r  r   r  r>   r8   r8   r9   r=     s    zGetStickersRequest.to_dictc                 C   s"   d d| | jtd| jfS )Nr?   s   ӥr@   rA   rC   r  rD   rE   r   r>   r8   r8   r9   rB     s
    
zGetStickersRequest._bytesc                 C   s   |  }| }| ||dS Nr  rp   rH   rI   rJ   	_emoticonr   r8   r8   r9   rL     s    zGetStickersRequest.from_readerNr  r8   r8   r8   r9   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 )
 GetSuggestedDialogFiltersRequestl   ,T9E i9l){c                 C   s   ddiS )Nr;   r  r8   r>   r8   r8   r9   r=     s     z(GetSuggestedDialogFiltersRequest.to_dictc                 C   s
   d dS )Nr?   )s   ,Ԝr   r>   r8   r8   r9   rB     s    z'GetSuggestedDialogFiltersRequest._bytesc                 C   s   |  S r^   r8   r   r8   r8   r9   rL     s    z,GetSuggestedDialogFiltersRequest.from_readerNr   r8   r8   r8   r9   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 )GetTopReactionsRequestl   %w r  rp  c                 C   s   || _ || _dS r  rp  rq  r8   r8   r9   r:     s    zGetTopReactionsRequest.__init__c                 C   s   d| j | jdS )Nr  rr  rp  r>   r8   r8   r9   r=     s    zGetTopReactionsRequest.to_dictc                 C   s$   d dtd| jtd| jfS )Nr?   s   %rk   r@   rs  r>   r8   r8   r9   rB     s
    zGetTopReactionsRequest._bytesc                 C   s   |  }| }| ||dS rt  rT  ru  r8   r8   r9   rL     s    z"GetTopReactionsRequest.from_readerNr   r8   r8   r8   r9   r    s   r  c                	   @   sX   e Zd ZdZdZddeeeeeee dddZdd	 Zd
d Z	dd Z
edd ZdS )GetUnreadMentionsRequestl   gb r*  Nr   r3   r  r,  r  r   r-  r  c                 C   s.   || _ || _|| _|| _|| _|| _|| _dS r.  r  r7   r3   r  r,  r  r   r-  r  r8   r8   r9   r:   %  s    z!GetUnreadMentionsRequest.__init__c                    s   | || jI d H | _d S r^   r   rb   r8   r8   r9   re   1  s    z GetUnreadMentionsRequest.resolvec              	   C   s:   dt | jtr| j n| j| j| j| j| j| j| j	dS )Nr  r;   r3   r  r,  r  r   r-  r  
r<   r3   r   r=   r  r,  r  r   r-  r  r>   r8   r8   r9   r=   4  s    z GetUnreadMentionsRequest.to_dictc                 C   s   d dtd| jd ks | jdkr$dnd| j | jd ksD| jdkrHdntd| jtd| jtd| jtd| jtd| j	td| j
f	S )Nr?   s   rg   Fr   rh   rk   rA   rD   rE   r  r3   rB   r  r,  r  r   r-  r>   r8   r8   r9   rB   @  s    "$zGetUnreadMentionsRequest._bytesc           
   	   C   sd   |  }| }|d@ r"|  }nd }|  }|  }|  }|  }|  }	| ||||||	|dS Nrh   r  r  
rI   rJ   rq   rK   r  r  r6  r  r  r7  r8   r8   r9   rL   M  s    
z$GetUnreadMentionsRequest.from_reader)Nr  r8   r8   r8   r9   r  !  s    r  c                	   @   sX   e Zd ZdZdZddeeeeeee dddZdd	 Zd
d Z	dd Z
edd ZdS )GetUnreadReactionsRequesti[I#2r*  Nr   r  c                 C   s.   || _ || _|| _|| _|| _|| _|| _dS r.  r  r  r8   r8   r9   r:   b  s    z"GetUnreadReactionsRequest.__init__c                    s   | || jI d H | _d S r^   r   rb   r8   r8   r9   re   n  s    z!GetUnreadReactionsRequest.resolvec              	   C   s:   dt | jtr| j n| j| j| j| j| j| j| j	dS )Nr  r  r  r>   r8   r8   r9   r=   q  s    z!GetUnreadReactionsRequest.to_dictc                 C   s   d dtd| jd ks | jdkr$dnd| j | jd ksD| jdkrHdntd| jtd| jtd| jtd| jtd| j	td| j
f	S )Nr?   s   [I#2rg   Fr   rh   rk   r  r>   r8   r8   r9   rB   }  s    "$z GetUnreadReactionsRequest._bytesc           
   	   C   sd   |  }| }|d@ r"|  }nd }|  }|  }|  }|  }|  }	| ||||||	|dS r  r  r  r8   r8   r9   rL     s    
z%GetUnreadReactionsRequest.from_reader)Nr  r8   r8   r8   r9   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 )GetWebPageRequestl   - iT,r\   r   c                 C   s   || _ || _dS )zA
        :returns messages.WebPage: Instance of WebPage.
        Nr  )r7   r\   r   r8   r8   r9   r:     s    zGetWebPageRequest.__init__c                 C   s   d| j | jdS )Nr  )r;   r\   r   r  r>   r8   r8   r9   r=     s    zGetWebPageRequest.to_dictc                 C   s"   d d| | jtd| jfS )Nr?   s   rk   )rA   rC   r\   rD   rE   r   r>   r8   r8   r9   rB     s
    
zGetWebPageRequest._bytesc                 C   s   |  }| }| ||dS )Nr  r  )rI   rJ   ru   r   r8   r8   r9   rL     s    zGetWebPageRequest.from_readerNr  r8   r8   r8   r9   r    s   r  c                   @   sJ   e Zd ZdZdZdeeed  dddZdd	 Z	d
d Z
edd ZdS )GetWebPagePreviewRequestiooWl   (E Nr&   rW  rY  c                 C   s   || _ || _dS )zO
        :returns messages.WebPagePreview: Instance of WebPagePreview.
        Nr  )r7   rW  rY  r8   r8   r9   r:     s    z!GetWebPagePreviewRequest.__init__c                 C   s(   d| j | jd krg ndd | jD dS )Nr  c                 S   s"   g | ]}t |tr| n|qS r8   r   r   r8   r8   r9   r     s     z4GetWebPagePreviewRequest.to_dict.<locals>.<listcomp>)r;   rW  rY  r  r>   r8   r8   r9   r=     s    z GetWebPagePreviewRequest.to_dictc                 C   s~   d dtd| jd ks | jdkr$dnd| | j| jd ksF| jdkrJdn.d dtdt| jd d	d
 | jD ffS )Nr?   s   ooWrg   Fr   r   r   rk   c                 s   s   | ]}|  V  qd S r^   r   r   r8   r8   r9   r     s     z2GetWebPagePreviewRequest._bytes.<locals>.<genexpr>)rA   rD   rE   rY  rC   rW  r   r>   r8   r8   r9   rB     s    "
FzGetWebPagePreviewRequest._bytesc                 C   sZ   |  }| }|d@ rJ|   g }t|  D ]}| }|| q0nd }| ||dS )Nr   r  )rn   rp   r   rF   r   )rI   rJ   rq   r`  rb  r;   r   r8   r8   r9   rL     s    z$GetWebPagePreviewRequest.from_reader)N)rN   rO   rP   rQ   rR   rv   r   r   r:   r=   rB   rU   rL   r8   r8   r8   r9   r    s   r  c                   @   sT   e Zd ZdZdZddee ee dddZdd	 Z	d
d Z
dd Zedd ZdS )HideAllChatJoinRequestsRequestl   tA r   Nr   r3   approvedr   c                 C   s   || _ || _|| _dS r   r  )r7   r3   r  r   r8   r8   r9   r:     s    z'HideAllChatJoinRequestsRequest.__init__c                    s   | || jI d H | _d S r^   r   rb   r8   r8   r9   re     s    z&HideAllChatJoinRequestsRequest.resolvec                 C   s*   dt | jtr| j n| j| j| jdS )Nr  )r;   r3   r  r   )r<   r3   r   r=   r  r   r>   r8   r8   r9   r=     s
    z&HideAllChatJoinRequestsRequest.to_dictc              	   C   st   d dt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d ks`| jdkrddn
| | jfS )Nr?   s   rg   Fr   rh   ri   )rA   rD   rE   r  r   r3   rB   rC   r>   r8   r8   r9   rB     s    >"z%HideAllChatJoinRequestsRequest._bytesc                 C   s@   |  }t|d@ }| }|d@ r.| }nd }| |||dS )Nrh   ri   r  rm   )rI   rJ   rq   	_approvedrK   r   r8   r8   r9   rL     s    
z*HideAllChatJoinRequestsRequest.from_reader)NN)rN   rO   rP   rQ   rR   r   ro   rv   r:   re   r=   rB   rU   rL   r8   r8   r8   r9   r    s   r  c                   @   sP   e Zd ZdZdZdddee dddZd	d
 Zdd Z	dd Z
edd ZdS )HideChatJoinRequestRequestir   Nr   r$   r3   r{   r  c                 C   s   || _ || _|| _dS r   r  )r7   r3   r{   r  r8   r8   r9   r:     s    z#HideChatJoinRequestRequest.__init__c                    s8   | || jI d H | _||| jI d H | _d S r^   r(  rb   r8   r8   r9   re     s    z"HideChatJoinRequestRequest.resolvec                 C   s@   dt | jtr| j n| jt | jtr2| j n| j| jdS )Nr  )r;   r3   r{   r  )r<   r3   r   r=   r{   r  r>   r8   r8   r9   r=   "  s
    z"HideChatJoinRequestRequest.to_dictc                 C   s>   d dtd| jd ks | jdkr$dnd| j | j fS )Nr?   s   rg   Fr   rh   )rA   rD   rE   r  r3   rB   r{   r>   r8   r8   r9   rB   *  s    "z!HideChatJoinRequestRequest._bytesc                 C   s2   |  }t|d@ }| }| }| |||dS )Nrh   r  rn   ro   rF   )rI   rJ   rq   r  rK   r   r8   r8   r9   rL   2  s
    z&HideChatJoinRequestRequest.from_reader)NrN   rO   rP   rQ   rR   r   ro   r:   re   r=   rB   rU   rL   r8   r8   r8   r9   r    s   r  c                   @   sF   e Zd ZdZdZddddZdd Zd	d
 Zdd Ze	dd Z
dS )HidePeerSettingsBarRequesti8Or   r   r   c                 C   s
   || _ dS r   r   r   r8   r8   r9   r:   @  s    z#HidePeerSettingsBarRequest.__init__c                    s   | || jI d H | _d S r^   r   rb   r8   r8   r9   re   F  s    z"HidePeerSettingsBarRequest.resolvec                 C   s"   dt | jtr| j n| jdS )Nr  r   r   r>   r8   r8   r9   r=   I  s    z"HidePeerSettingsBarRequest.to_dictc                 C   s   d d| j fS )Nr?   s   8Or   r>   r8   r8   r9   rB   O  s    z!HidePeerSettingsBarRequest._bytesc                 C   s   |  }| |dS r   r   r   r8   r8   r9   rL   U  s    z&HidePeerSettingsBarRequest.from_readerNr   r8   r8   r8   r9   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 )ImportChatInviteRequestiPlr   r   c                 C   s
   || _ dS r   r   r   r8   r8   r9   r:   _  s    z ImportChatInviteRequest.__init__c                 C   s   d| j dS )Nr  r   r   r>   r8   r8   r9   r=   e  s    zImportChatInviteRequest.to_dictc                 C   s   d d| | jfS )Nr?   s   Plr   r>   r8   r8   r9   rB   k  s    
zImportChatInviteRequest._bytesc                 C   s   |  }| |dS r   r   r   r8   r8   r9   rL   q  s    z#ImportChatInviteRequest.from_readerNr   r8   r8   r8   r9   r  [  s   r  c                   @   sJ   e Zd ZdZdZddedddZdd	 Zd
d Zdd Z	e
dd ZdS )InitHistoryImportRequesti;	4l   
5c r   r   r3   filemedia_countc                 C   s   || _ || _|| _dS )zM
        :returns messages.HistoryImport: Instance of HistoryImport.
        Nr  )r7   r3   r  r  r8   r8   r9   r:   {  s    z!InitHistoryImportRequest.__init__c                    s   | || jI d H | _d S r^   r   rb   r8   r8   r9   re     s    z InitHistoryImportRequest.resolvec                 C   s@   dt | jtr| j n| jt | jtr2| j n| j| jdS )Nr  )r;   r3   r  r  )r<   r3   r   r=   r  r  r>   r8   r8   r9   r=     s
    z InitHistoryImportRequest.to_dictc              	   C   s(   d d| j | j td| jfS )Nr?   s   ;	4rk   )rA   r3   rB   r  rD   rE   r  r>   r8   r8   r9   rB     s    zInitHistoryImportRequest._bytesc                 C   s&   |  }|  }| }| |||dS )Nr  r   )rI   rJ   rK   _fileZ_media_countr8   r8   r9   rL     s    z$InitHistoryImportRequest.from_readerNr   r8   r8   r8   r9   r  w  s   r  c                   @   s@   e Zd ZdZdZdedddZdd Zd	d
 Ze	dd Z
dS )InstallStickerSetRequestl   `d i?gr"   r  archivedc                 C   s   || _ || _dS )z
        :returns messages.StickerSetInstallResult: Instance of either StickerSetInstallResultSuccess, StickerSetInstallResultArchive.
        Nr  )r7   r  r  r8   r8   r9   r:     s    z!InstallStickerSetRequest.__init__c                 C   s&   dt | jtr| j n| j| jdS )Nr  )r;   r  r  )r<   r  r   r=   r  r>   r8   r8   r9   r=     s    z InstallStickerSetRequest.to_dictc                 C   s    d d| j | jrdndfS )Nr?   s   `r5  r6  )rA   r  rB   r  r>   r8   r8   r9   rB     s
    zInstallStickerSetRequest._bytesc                 C   s   |  }| }| ||dS )Nr  rw  )rI   rJ   r  Z	_archivedr8   r8   r9   rL     s    z$InstallStickerSetRequest.from_readerNrN   rO   rP   rQ   rR   ro   r:   r=   rB   rU   rL   r8   r8   r8   r9   r    s   r  c                   @   sN   e Zd ZdZdZddee dddZdd	 Zd
d Z	dd Z
edd ZdS )MarkDialogUnreadRequestl   Y r   Nr   r3   unreadc                 C   s   || _ || _dS r   r  )r7   r3   r  r8   r8   r9   r:     s    z MarkDialogUnreadRequest.__init__c                    s   | | jI d H | _d S r^   r]  r3   rb   r8   r8   r9   re     s    zMarkDialogUnreadRequest.resolvec                 C   s&   dt | jtr| j n| j| jdS )Nr  )r;   r3   r  )r<   r3   r   r=   r  r>   r8   r8   r9   r=     s    zMarkDialogUnreadRequest.to_dictc                 C   s6   d dtd| jd ks | jdkr$dnd| j fS )Nr?   s   نrg   Fr   rh   )rA   rD   rE   r  r3   rB   r>   r8   r8   r9   rB     s
    "zMarkDialogUnreadRequest._bytesc                 C   s(   |  }t|d@ }| }| ||dS )Nrh   r  r  )rI   rJ   rq   Z_unreadrK   r8   r8   r9   rL     s    z#MarkDialogUnreadRequest.from_reader)Nr  r8   r8   r8   r9   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 )MigrateChatRequestl   SE r   r   c                 C   s
   || _ dS r   r   r   r8   r8   r9   r:     s    zMigrateChatRequest.__init__c                 C   s   d| j dS )Nr  r   r   r>   r8   r8   r9   r=     s    zMigrateChatRequest.to_dictc                 C   s   d dtd| jfS )Nr?   s   Sr@   r   r>   r8   r8   r9   rB     s    zMigrateChatRequest._bytesc                 C   s   |  }| |dS r   r   r   r8   r8   r9   rL     s    zMigrateChatRequest.from_readerNr   r8   r8   r8   r9   r    s   r  c                   @   s^   e Zd ZdZdZdddeee ed ed ddd	Zd
d Z	dd Z
dd Zedd ZdS )ProlongWebViewRequestl   a r   Nr   r$   r    r3   r  query_idr}  reply_tor  c                 C   s(   || _ || _|| _|| _|| _|| _dS r   r  )r7   r3   r  r  r}  r  r  r8   r8   r9   r:     s    zProlongWebViewRequest.__init__c                    sX   | || jI d H | _||| jI d H | _| jrT| || jI d H | _d S r^   r`   ra   r3   r   r  r  rb   r8   r8   r9   re     s    zProlongWebViewRequest.resolvec              	   C   sx   dt | jtr| j n| jt | jtr2| j n| j| j| jt | jtrT| j n| jt | jtrn| j n| jdS )Nr  )r;   r3   r  r  r}  r  r  )	r<   r3   r   r=   r  r  r}  r  r  r>   r8   r8   r9   r=     s    zProlongWebViewRequest.to_dictc              
   C   s   d dt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 td	| j	| jd ks| jdkrdn| j | jd ks| jdkrdn| j fS )
Nr?   s   ذrg   Fr   rq  rh   r  r@   )
rA   rD   rE   r}  r  r  r3   rB   r  r  r>   r8   r8   r9   rB     s    Z  zProlongWebViewRequest._bytesc           	      C   sl   |  }t|d@ }| }| }| }|d@ r>| }nd }|d@ rT| }nd }| ||||||dS )Nrq  rh   r  r  )rn   ro   rF   rH   )	rI   rJ   rq   r  rK   r  	_query_id	_reply_tor  r8   r8   r9   rL   *  s    

z!ProlongWebViewRequest.from_reader)NNNr   r8   r8   r8   r9   r    s   &r  c                   @   sL   e Zd ZdZdZdeeedddZdd Zd	d
 Z	dd Z
edd ZdS )RateTranscribedAudioRequesti/r   r   r3   rZ   transcription_idgoodc                 C   s   || _ || _|| _|| _dS r   r  )r7   r3   rZ   r  r  r8   r8   r9   r:   A  s    z$RateTranscribedAudioRequest.__init__c                    s   | || jI d H | _d S r^   r   rb   r8   r8   r9   re   J  s    z#RateTranscribedAudioRequest.resolvec                 C   s.   dt | jtr| j n| j| j| j| jdS )Nr  )r;   r3   rZ   r  r  )r<   r3   r   r=   rZ   r  r  r>   r8   r8   r9   r=   M  s    z#RateTranscribedAudioRequest.to_dictc              	   C   s8   d d| j td| jtd| j| jr0dndfS )Nr?   s   /rk   r@   r5  r6  )rA   r3   rB   rD   rE   rZ   r  r  r>   r8   r8   r9   rB   V  s    z"RateTranscribedAudioRequest._bytesc                 C   s0   |  }| }| }| }| ||||dS )Nr  )rF   rn   rH   r7  )rI   rJ   rK   rs   Z_transcription_idZ_goodr8   r8   r9   rL   _  s
    z'RateTranscribedAudioRequest.from_readerNr8  r8   r8   r8   r9   r  =  s   			r  c                   @   sJ   e Zd ZdZdZdeedddZdd Zd	d
 Zdd Z	e
dd ZdS )ReadDiscussionRequestl   )cn r   r   r3   rZ   read_max_idc                 C   s   || _ || _|| _dS r   r  )r7   r3   rZ   r  r8   r8   r9   r:   l  s    zReadDiscussionRequest.__init__c                    s   | || jI d H | _d S r^   r   rb   r8   r8   r9   re   t  s    zReadDiscussionRequest.resolvec                 C   s*   dt | jtr| j n| j| j| jdS )Nr  )r;   r3   rZ   r  )r<   r3   r   r=   rZ   r  r>   r8   r8   r9   r=   w  s
    zReadDiscussionRequest.to_dictc              	   C   s,   d d| j td| jtd| jfS )Nr?   s   1rk   )rA   r3   rB   rD   rE   rZ   r  r>   r8   r8   r9   rB     s    zReadDiscussionRequest._bytesc                 C   s&   |  }| }| }| |||dS )Nr  r   )rI   rJ   rK   rs   Z_read_max_idr8   r8   r9   rL     s    z!ReadDiscussionRequest.from_readerNr   r8   r8   r8   r9   r  h  s   r  c                   @   sD   e Zd ZdZdZdee dddZdd Zd	d
 Z	e
dd ZdS )ReadEncryptedHistoryRequesti
iKr   r   r3   r   c                 C   s   || _ || _dS r   r  )r7   r3   r   r8   r8   r9   r:     s    z$ReadEncryptedHistoryRequest.__init__c                 C   s&   dt | jtr| j n| j| jdS )Nr  )r;   r3   r   )r<   r3   r   r=   r   r>   r8   r8   r9   r=     s    z#ReadEncryptedHistoryRequest.to_dictc                 C   s   d d| j | | jfS )Nr?   s   
iK)rA   r3   rB   r   r   r>   r8   r8   r9   rB     s
    
z"ReadEncryptedHistoryRequest._bytesc                 C   s   |  }| }| ||dS )Nr  )rF   r   )rI   rJ   rK   r  r8   r8   r9   rL     s    z'ReadEncryptedHistoryRequest.from_readerN)rN   rO   rP   rQ   rR   r   r	   r:   r=   rB   rU   rL   r8   r8   r8   r9   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 )ReadFeaturedStickersRequesti&[r   r  c                 C   s
   || _ dS r   r  r  r8   r8   r9   r:     s    z$ReadFeaturedStickersRequest.__init__c                 C   s"   d| j d krg n| j d d  dS )Nr  r  r  r>   r8   r8   r9   r=     s    z#ReadFeaturedStickersRequest.to_dictc              	   C   s2   d ddtdt| jd dd | jD fS )Nr?   s   &[r   rk   c                 s   s   | ]}t d |V  qdS r  r  r   r8   r8   r9   r     s     z5ReadFeaturedStickersRequest._bytes.<locals>.<genexpr>r  r>   r8   r8   r9   rB     s      z"ReadFeaturedStickersRequest._bytesc                 C   s:   |   g }t|  D ]}| }|| q| |dS r  r  r  r8   r8   r9   rL     s    z'ReadFeaturedStickersRequest.from_readerNr  r8   r8   r8   r9   r    s   r  c                   @   sH   e Zd ZdZdZdedddZdd Zd	d
 Zdd Z	e
dd ZdS )ReadHistoryRequesti:m0r  r   r3   r   c                 C   s   || _ || _dS r	  r  )r7   r3   r   r8   r8   r9   r:     s    zReadHistoryRequest.__init__c                    s   | || jI d H | _d S r^   r   rb   r8   r8   r9   re     s    zReadHistoryRequest.resolvec                 C   s&   dt | jtr| j n| j| jdS )Nr  )r;   r3   r   )r<   r3   r   r=   r   r>   r8   r8   r9   r=     s    zReadHistoryRequest.to_dictc                 C   s    d d| j td| jfS )Nr?   s   :m0rk   )rA   r3   rB   rD   rE   r   r>   r8   r8   r9   rB     s
    zReadHistoryRequest._bytesc                 C   s   |  }| }| ||dS )Nr  r   )rI   rJ   rK   r  r8   r8   r9   rL     s    zReadHistoryRequest.from_readerNr   r8   r8   r8   r9   r    s   r  c                   @   sN   e Zd ZdZdZddee dddZdd	 Zd
d Z	dd Z
edd ZdS )ReadMentionsRequestiM6r   Nr   r3   r  c                 C   s   || _ || _dS r   r  r7   r3   r  r8   r8   r9   r:     s    zReadMentionsRequest.__init__c                    s   | || jI d H | _d S r^   r   rb   r8   r8   r9   re     s    zReadMentionsRequest.resolvec                 C   s&   dt | jtr| j n| j| jdS )Nr  r;   r3   r  r<   r3   r   r=   r  r>   r8   r8   r9   r=     s    zReadMentionsRequest.to_dictc              	   C   sZ   d dtd| jd ks | jdkr$dnd| j | jd ksD| jdkrHdntd| jfS )Nr?   s   M6rg   Fr   rh   rk   rA   rD   rE   r  r3   rB   r>   r8   r8   r9   rB     s    "$zReadMentionsRequest._bytesc                 C   s2   |  }| }|d@ r"|  }nd }| ||dS Nrh   r  r  rI   rJ   rq   rK   r  r8   r8   r9   rL     s    
zReadMentionsRequest.from_reader)NrN   rO   rP   rQ   rR   r   rT   r:   re   r=   rB   rU   rL   r8   r8   r8   r9   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 )ReadMessageContentsRequestiw?6r  r  c                 C   s
   || _ dS r	  r  r  r8   r8   r9   r:      s    z#ReadMessageContentsRequest.__init__c                 C   s"   d| j d krg n| j d d  dS )Nr  r  r  r>   r8   r8   r9   r=   &  s    z"ReadMessageContentsRequest.to_dictc              	   C   s2   d ddtdt| jd dd | jD fS )Nr?   s   w?6r   rk   c                 s   s   | ]}t d |V  qdS r
  r  r   r8   r8   r9   r   /  s     z4ReadMessageContentsRequest._bytes.<locals>.<genexpr>r  r>   r8   r8   r9   rB   ,  s      z!ReadMessageContentsRequest._bytesc                 C   s:   |   g }t|  D ]}|  }|| q| |dS r  r  r  r8   r8   r9   rL   2  s    z&ReadMessageContentsRequest.from_readerNr  r8   r8   r8   r9   r    s   r  c                   @   sN   e Zd ZdZdZddee dddZdd	 Zd
d Z	dd Z
edd ZdS )ReadReactionsRequestiTr   Nr   r  c                 C   s   || _ || _dS r   r  r  r8   r8   r9   r:   A  s    zReadReactionsRequest.__init__c                    s   | || jI d H | _d S r^   r   rb   r8   r8   r9   re   H  s    zReadReactionsRequest.resolvec                 C   s&   dt | jtr| j n| j| jdS )Nr  r  r  r>   r8   r8   r9   r=   K  s    zReadReactionsRequest.to_dictc              	   C   sZ   d dtd| jd ks | jdkr$dnd| j | jd ksD| jdkrHdntd| jfS )Nr?   s   Trg   Fr   rh   rk   r  r>   r8   r8   r9   rB   R  s    "$zReadReactionsRequest._bytesc                 C   s2   |  }| }|d@ r"|  }nd }| ||dS r  r  r  r8   r8   r9   rL   Z  s    
z ReadReactionsRequest.from_reader)Nr  r8   r8   r8   r9   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 )ReceivedMessagesRequestiTl   x
 r   c                 C   s
   || _ dS )zX
        :returns Vector<ReceivedNotifyMessage>: This type has no constructors.
        Nr  )r7   r   r8   r8   r9   r:   j  s    z ReceivedMessagesRequest.__init__c                 C   s   d| j dS )Nr  )r;   r   r  r>   r8   r8   r9   r=   p  s    zReceivedMessagesRequest.to_dictc                 C   s   d dtd| jfS )Nr?   s   Trk   )rA   rD   rE   r   r>   r8   r8   r9   rB   v  s    zReceivedMessagesRequest._bytesc                 C   s   |  }| |dS )Nr  r  )rI   rJ   r  r8   r8   r9   rL   |  s    z#ReceivedMessagesRequest.from_readerNr   r8   r8   r8   r9   r  f  s   r  c                   @   sJ   e Zd ZdZdZedddZdd Zdd	 Ze	d
d Z
edd ZdS )ReceivedQueueRequestifUl   ha1 max_qtsc                 C   s
   || _ dS )zG
        :returns Vector<long>: This type has no constructors.
        Nr  )r7   r  r8   r8   r9   r:     s    zReceivedQueueRequest.__init__c                 C   s   d| j dS )Nr  )r;   r  r  r>   r8   r8   r9   r=     s    zReceivedQueueRequest.to_dictc                 C   s   d dtd| jfS )Nr?   s   fUrk   )rA   rD   rE   r  r>   r8   r8   r9   rB     s    zReceivedQueueRequest._bytesc                 C   s   |  }| |dS )Nr  r  )rI   rJ   Z_max_qtsr8   r8   r9   rL     s    z ReceivedQueueRequest.from_readerc                    s"        fddt   D S )Nc                    s   g | ]}   qS r8   r   r  rJ   r8   r9   r     s     z4ReceivedQueueRequest.read_result.<locals>.<listcomp>)rn   r   r  r8   r  r9   read_result  s    z ReceivedQueueRequest.read_resultN)rN   rO   rP   rQ   rR   rT   r:   r=   rB   rU   rL   staticmethodr  r8   r8   r8   r9   r    s   
r  c                   @   sT   e Zd ZdZdZdeed ee dddZ	dd	 Z
d
d Zdd Zedd ZdS )ReorderPinnedDialogsRequesti7;r   Nr   r  orderforcec                 C   s   || _ || _|| _dS r   r  )r7   r  r  r  r8   r8   r9   r:     s    z$ReorderPinnedDialogsRequest.__init__c                    s0   g }| j D ]}|||I d H  q
|| _ d S r^   r  r   r]  r   r8   r8   r9   re     s    
z#ReorderPinnedDialogsRequest.resolvec                 C   s,   d| j | jd krg ndd | jD | jdS )Nr  c                 S   s"   g | ]}t |tr| n|qS r8   r   r   r8   r8   r9   r     s     z7ReorderPinnedDialogsRequest.to_dict.<locals>.<listcomp>)r;   r  r  r  r  r>   r8   r8   r9   r=     s
    z#ReorderPinnedDialogsRequest.to_dictc                 C   s`   d dtd| jd ks | jdkr$dndtd| jdtdt| jd d	d
 | jD fS )Nr?   s   7;rg   Fr   rh   rk   r   c                 s   s   | ]}|  V  qd S r^   r   r   r8   r8   r9   r     s     z5ReorderPinnedDialogsRequest._bytes.<locals>.<genexpr>)rA   rD   rE   r  r  r   r  r>   r8   r8   r9   rB     s    "  z"ReorderPinnedDialogsRequest._bytesc                 C   sZ   |  }t|d@ }|  }|   g }t|  D ]}| }|| q4| |||dS )Nrh   r  rn   ro   r   rF   r   )rI   rJ   rq   _forcer  _orderr;   r   r8   r8   r9   rL     s    z'ReorderPinnedDialogsRequest.from_reader)N)rN   rO   rP   rQ   rR   rT   r   r   ro   r:   re   r=   rB   rU   rL   r8   r8   r8   r9   r    s   r  c                   @   sR   e Zd ZdZdZded ee dddZdd	 Z	d
d Z
dd Zedd ZdS ) ReorderPinnedSavedDialogsRequestl   e r   Nr   r  r  c                 C   s   || _ || _dS r   r  )r7   r  r  r8   r8   r9   r:     s    z)ReorderPinnedSavedDialogsRequest.__init__c                    s0   g }| j D ]}|||I d H  q
|| _ d S r^   r  r   r8   r8   r9   re     s    
z(ReorderPinnedSavedDialogsRequest.resolvec                 C   s(   d| j d krg ndd | j D | jdS )Nr  c                 S   s"   g | ]}t |tr| n|qS r8   r   r   r8   r8   r9   r     s     z<ReorderPinnedSavedDialogsRequest.to_dict.<locals>.<listcomp>)r;   r  r  r  r>   r8   r8   r9   r=     s    z(ReorderPinnedSavedDialogsRequest.to_dictc              
   C   sT   d dtd| jd ks | jdkr$dnddtdt| jd d	d
 | jD fS )Nr?   s   eqrg   Fr   rh   r   rk   c                 s   s   | ]}|  V  qd S r^   r   r   r8   r8   r9   r     s     z:ReorderPinnedSavedDialogsRequest._bytes.<locals>.<genexpr>)rA   rD   rE   r  r   r  r>   r8   r8   r9   rB     s    "  z'ReorderPinnedSavedDialogsRequest._bytesc                 C   sP   |  }t|d@ }|   g }t|  D ]}| }|| q,| ||dS )Nrh   r  r  )rI   rJ   rq   r  r  r;   r   r8   r8   r9   rL     s    z,ReorderPinnedSavedDialogsRequest.from_reader)N)rN   rO   rP   rQ   rR   r   r   ro   r:   re   r=   rB   rU   rL   r8   r8   r8   r9   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 )ReorderQuickRepliesRequesti3`r   r  c                 C   s
   || _ dS r   r  r7   r  r8   r8   r9   r:     s    z#ReorderQuickRepliesRequest.__init__c                 C   s"   d| j d krg n| j d d  dS )Nr  r;   r  r  r>   r8   r8   r9   r=     s    z"ReorderQuickRepliesRequest.to_dictc              	   C   s2   d ddtdt| jd dd | jD fS )Nr?   s   3`r   rk   c                 s   s   | ]}t d |V  qdS r
  r  r   r8   r8   r9   r     s     z4ReorderQuickRepliesRequest._bytes.<locals>.<genexpr>rA   rD   rE   r   r  r>   r8   r8   r9   rB     s      z!ReorderQuickRepliesRequest._bytesc                 C   s:   |   g }t|  D ]}|  }|| q| |dS Nr  r  rI   rJ   r  r;   r   r8   r8   r9   rL     s    z&ReorderQuickRepliesRequest.from_readerNr  r8   r8   r8   r9   r    s   r  c                   @   sP   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 )ReorderStickerSetsRequesti9w3xr   Nr  r  r  c                 C   s   || _ || _|| _dS r   r  )r7   r  r  r  r8   r8   r9   r:   (  s    z"ReorderStickerSetsRequest.__init__c                 C   s*   d| j d krg n| j d d  | j| jdS )Nr  )r;   r  r  r  r  r>   r8   r8   r9   r=   0  s
    z!ReorderStickerSetsRequest.to_dictc              
   C   sp   d dtd| jd ks | jdkr$dnd| jd ks:| jdkr>dndB dtd	t| jd d
d | jD fS )Nr?   s   9w3xrg   Fr   rh   ri   r   rk   c                 s   s   | ]}t d |V  qdS r  r  r   r8   r8   r9   r   <  s     z3ReorderStickerSetsRequest._bytes.<locals>.<genexpr>)rA   rD   rE   r  r  r   r  r>   r8   r8   r9   rB   8  s    >  z ReorderStickerSetsRequest._bytesc                 C   s^   |  }t|d@ }t|d@ }|   g }t|  D ]}| }|| q8| |||dS )Nrh   ri   r  )rn   ro   r   rH   r   )rI   rJ   rq   r  r  r  r;   r   r8   r8   r9   rL   ?  s    z%ReorderStickerSetsRequest.from_reader)NNr  r8   r8   r8   r9   r  $  s    r  c                   @   sP   e Zd ZdZdZdee eedddZ	dd Z
d	d
 Zdd Zedd ZdS )ReportRequestl   /x l   8tY r   r3   r  rf  rW  c                 C   s   || _ || _|| _|| _dS )z
        :returns ReportResult: Instance of either ReportResultChooseOption, ReportResultAddComment, ReportResultReported.
        Nr  )r7   r3   r  rf  rW  r8   r8   r9   r:   R  s    zReportRequest.__init__c                    s   | || jI d H | _d S r^   r   rb   r8   r8   r9   re   [  s    zReportRequest.resolvec                 C   sD   dt | jtr| j n| j| jd kr*g n| jd d  | j| jdS )Nr  )r;   r3   r  rf  rW  )r<   r3   r   r=   r  rf  rW  r>   r8   r8   r9   r=   ^  s    zReportRequest.to_dictc                 C   sN   d d| j dtdt| jd dd | jD | | j| | j	fS )Nr?   s   xr   rk   c                 s   s   | ]}t d |V  qdS r
  r  r   r8   r8   r9   r   k  s     z'ReportRequest._bytes.<locals>.<genexpr>)
rA   r3   rB   rD   rE   r   r  rC   rf  rW  r>   r8   r8   r9   rB   g  s      

zReportRequest._bytesc                 C   sX   |  }|  g }t| D ]}| }|| q | }| }| ||||dS )Nr  )rF   rn   r   r   rG   rp   )rI   rJ   rK   r  r;   r   rg  r`  r8   r8   r9   rL   p  s    zReportRequest.from_readerN)rN   rO   rP   rQ   rR   r   rT   rS   rv   r:   re   r=   rB   rU   rL   r8   r8   r8   r9   r  N  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 )ReportEncryptedSpamRequestiKr   r   r   c                 C   s
   || _ dS r   r   r   r8   r8   r9   r:     s    z#ReportEncryptedSpamRequest.__init__c                 C   s"   dt | jtr| j n| jdS )Nr  r   r   r>   r8   r8   r9   r=     s    z"ReportEncryptedSpamRequest.to_dictc                 C   s   d d| j fS )Nr?   s   Kr   r>   r8   r8   r9   rB     s    z!ReportEncryptedSpamRequest._bytesc                 C   s   |  }| |dS r   r   r   r8   r8   r9   rL     s    z&ReportEncryptedSpamRequest.from_readerNr  r8   r8   r8   r9   r  ~  s   r  c                   @   sT   e Zd ZdZdZddee ee dddZ	dd	 Z
d
d Zdd Zedd ZdS )ReportMessagesDeliveryRequestismZr   Nr   r3   r  pushc                 C   s   || _ || _|| _dS r   r  )r7   r3   r  r	  r8   r8   r9   r:     s    z&ReportMessagesDeliveryRequest.__init__c                    s   | || jI d H | _d S r^   r   rb   r8   r8   r9   re     s    z%ReportMessagesDeliveryRequest.resolvec                 C   s@   dt | jtr| j n| j| jd kr*g n| jd d  | jdS )Nr  )r;   r3   r  r	  )r<   r3   r   r=   r  r	  r>   r8   r8   r9   r=     s
    z%ReportMessagesDeliveryRequest.to_dictc                 C   s\   d dtd| jd ks | jdkr$dnd| j dtdt| jd d	d
 | jD fS )Nr?   s   smZrg   Fr   rh   r   rk   c                 s   s   | ]}t d |V  qdS r
  r  r   r8   r8   r9   r     s     z7ReportMessagesDeliveryRequest._bytes.<locals>.<genexpr>)rA   rD   rE   r	  r3   rB   r   r  r>   r8   r8   r9   rB     s    "  z$ReportMessagesDeliveryRequest._bytesc                 C   sZ   |  }t|d@ }| }|   g }t|  D ]}|  }|| q4| |||dS )Nrh   r  rn   ro   rF   r   r   )rI   rJ   rq   Z_pushrK   r  r;   r   r8   r8   r9   rL     s    z)ReportMessagesDeliveryRequest.from_reader)N)rN   rO   rP   rQ   rR   r   rT   r   ro   r:   re   r=   rB   rU   rL   r8   r8   r8   r9   r    s   r  c                   @   sJ   e Zd ZdZdZdeddddZdd Zd	d
 Zdd Z	e
dd ZdS )ReportReactionRequestivd?r   r   r3   r  reaction_peerc                 C   s   || _ || _|| _dS r   r  )r7   r3   r  r  r8   r8   r9   r:     s    zReportReactionRequest.__init__c                    s8   | || jI d H | _| || jI d H | _d S r^   )r`   ra   r3   r  rb   r8   r8   r9   re     s    zReportReactionRequest.resolvec                 C   s@   dt | jtr| j n| j| jt | jtr6| j n| jdS )Nr  )r;   r3   r  r  )r<   r3   r   r=   r  r  r>   r8   r8   r9   r=     s
    zReportReactionRequest.to_dictc                 C   s(   d d| j td| j| j fS )Nr?   s   vd?rk   )rA   r3   rB   rD   rE   r  r  r>   r8   r8   r9   rB     s    zReportReactionRequest._bytesc                 C   s&   |  }| }|  }| |||dS )Nr  r   )rI   rJ   rK   r  Z_reaction_peerr8   r8   r9   rL     s    z!ReportReactionRequest.from_readerNr   r8   r8   r8   r9   r    s   r  c                   @   sF   e Zd ZdZdZddddZdd Zd	d
 Zdd Ze	dd Z
dS )ReportSpamRequestl   + r   r   r   c                 C   s
   || _ dS r   r   r   r8   r8   r9   r:     s    zReportSpamRequest.__init__c                    s   | || jI d H | _d S r^   r   rb   r8   r8   r9   re     s    zReportSpamRequest.resolvec                 C   s"   dt | jtr| j n| jdS )Nr  r   r   r>   r8   r8   r9   r=     s    zReportSpamRequest.to_dictc                 C   s   d d| j fS )Nr?   s   ےr   r>   r8   r8   r9   rB     s    zReportSpamRequest._bytesc                 C   s   |  }| |dS r   r   r   r8   r8   r9   rL   	  s    zReportSpamRequest.from_readerNr   r8   r8   r8   r9   r    s   r  c                   @   sB   e Zd ZdZdZdeedddZdd Zd	d
 Ze	dd Z
dS )ReportSponsoredMessageRequestii"#&Nrf  r   c                 C   s.   || _ |dk	r|ntjtdddd| _dS )z
        :returns channels.SponsoredMessageReportResult: Instance of either SponsoredMessageReportResultChooseOption, SponsoredMessageReportResultAdsHidden, SponsoredMessageReportResultReported.
        Nrj   r   Tr   )rf  rT   r   r   r   r   )r7   rf  r   r8   r8   r9   r:     s    z&ReportSponsoredMessageRequest.__init__c                 C   s   d| j | jdS )Nr  )r;   rf  r   r  r>   r8   r8   r9   r=     s    z%ReportSponsoredMessageRequest.to_dictc                 C   s    d d| | j| | jfS )Nr?   s   )rA   rC   r   rf  r>   r8   r8   r9   rB   !  s
    

z$ReportSponsoredMessageRequest._bytesc                 C   s   |  }|  }| ||dS )Nr  rG   )rI   rJ   r   rg  r8   r8   r9   rL   (  s    z)ReportSponsoredMessageRequest.from_reader)NrN   rO   rP   rQ   rR   rS   r:   r=   rB   rU   rL   r8   r8   r8   r9   r    s   r  c                
   @   sj   e Zd ZdZdZdddeee ee ee ee ed ddd	Zd
d Z	dd Z
dd Zedd ZdS )RequestAppWebViewRequesti΋aS   F'' Nr   r   r   r3   r  platformrY   compactr   start_paramtheme_paramsc	           	      C   s4   || _ || _|| _|| _|| _|| _|| _|| _dS zG
        :returns WebViewResult: Instance of WebViewResultUrl.
        Nr  )	r7   r3   r  r  rY   r  r   r  r  r8   r8   r9   r:   3  s    z!RequestAppWebViewRequest.__init__c                    s   | || jI d H | _d S r^   r   rb   r8   r8   r9   re   @  s    z RequestAppWebViewRequest.resolvec                 C   sj   dt | jtr| j n| jt | jtr2| j n| j| j| j| j| j| j	t | j
tr`| j
 n| j
d	S )Nr  )	r;   r3   r  r  rY   r  r   r  r  )r<   r3   r   r=   r  r  rY   r  r   r  r  r>   r8   r8   r9   r=   C  s    z RequestAppWebViewRequest.to_dictc                 C   s   d dt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d ksr| jdkrvdnd	B | jd ks| jdkrdnd
B | j	 | j
	 | jd ks| jdkrdn
| | j| jd ks| jdkrdn| j	 | | jfS )Nr?   s   ΋aSrg   Fr   rh      r  ri   rj   )rA   rD   rE   rY   r  r   r  r  r3   rB   r  rC   r  r>   r8   r8   r9   rB   P  s    " 
zRequestAppWebViewRequest._bytesc              
   C   s   |  }t|d@ }t|d@ }t|d@ }| }| }|d@ rN| }nd }|d@ rd| }	nd }	| }
| |||
|||||	dS )Nrh   r  r  ri   rj   r  rm   )rI   rJ   rq   rr   _compactr   rK   r  _start_param_theme_params	_platformr8   r8   r9   rL   [  s    

z$RequestAppWebViewRequest.from_reader)NNNNNrN   rO   rP   rQ   rR   rv   r   ro   r:   re   r=   rB   rU   rL   r8   r8   r8   r9   r  /  s   2r  c                   @   sL   e Zd ZdZdZddeedddZdd	 Zd
d Z	dd Z
edd ZdS )RequestEncryptionRequestl   C/l r1   Nr$   r{   g_ar   c                 C   s4   || _ || _|dk	r|ntjtdddd| _dS )r6   Nrj   r   Tr   )r{   r#  rT   r   r   r   r   )r7   r{   r#  r   r8   r8   r9   r:   t  s    z!RequestEncryptionRequest.__init__c                    s   | || jI d H | _d S r^   r~   rb   r8   r8   r9   re   |  s    z RequestEncryptionRequest.resolvec                 C   s*   dt | jtr| j n| j| j| jdS )Nr!  )r;   r{   r#  r   )r<   r{   r   r=   r#  r   r>   r8   r8   r9   r=     s
    z RequestEncryptionRequest.to_dictc                 C   s*   d d| j td| j| | jfS )Nr?   s   CMrk   )rA   r{   rB   rD   rE   r   rC   r#  r>   r8   r8   r9   rB     s    
zRequestEncryptionRequest._bytesc                 C   s&   |  }| }| }| |||dS )Nr"  )rF   rn   rG   )rI   rJ   r   r   Z_g_ar8   r8   r9   rL     s    z$RequestEncryptionRequest.from_reader)N)rN   rO   rP   rQ   rR   rS   rT   r:   re   r=   rB   rU   rL   r8   r8   r8   r9   r!  p  s   r!  c                	   @   sd   e Zd ZdZdZdddeee ee ee ed ddd	Zd
d Z	dd Z
dd Zedd ZdS )RequestMainWebViewRequestl   { r  Nr   r$   r   r3   r  r  r  r   r  r  c                 C   s.   || _ || _|| _|| _|| _|| _|| _dS r  r%  )r7   r3   r  r  r  r   r  r  r8   r8   r9   r:     s    z"RequestMainWebViewRequest.__init__c                    s8   | || jI d H | _||| jI d H | _d S r^   )r`   ra   r3   r   r  rb   r8   r8   r9   re     s    z!RequestMainWebViewRequest.resolvec              
   C   sf   dt | jtr| j n| jt | jtr2| j n| j| j| j| j| jt | j	tr\| j	 n| j	dS )Nr$  )r;   r3   r  r  r  r   r  r  )
r<   r3   r   r=   r  r  r  r   r  r  r>   r8   r8   r9   r=     s    z!RequestMainWebViewRequest.to_dictc                 C   s   d dt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d ksr| jdkrvdnd	B | j | j	 | jd ks| jdkrdn
| 
| j| jd ks| jdkrdn| j | 
| jfS )
Nr?   s   {rg   Fr   r  r  ri   rh   )rA   rD   rE   r  r   r  r  r3   rB   r  rC   r  r>   r8   r8   r9   rB     s    v" 
z RequestMainWebViewRequest._bytesc           
   	   C   sz   |  }t|d@ }t|d@ }| }| }|d@ rB| }nd }|d@ rX| }nd }| }	| |||	||||dS )Nr  r  ri   rh   r%  rm   )
rI   rJ   rq   r  r   rK   r  r  r  r  r8   r8   r9   rL     s    

z%RequestMainWebViewRequest.from_reader)NNNNr   r8   r8   r8   r9   r$    s   ,r$  c                   @   st   e Zd ZdZdZddeee ee ee ee ee ee ed d	ddZd	d
 Z	dd Z
dd Zedd ZdS )RequestSimpleWebViewRequestis>:Ar  Nr$   r   	r  r  from_switch_webviewfrom_side_menur  r   r\   r  r  c
           
      C   s:   || _ || _|| _|| _|| _|| _|| _|| _|	| _dS r  r'  )
r7   r  r  r(  r)  r  r   r\   r  r  r8   r8   r9   r:     s    z$RequestSimpleWebViewRequest.__init__c                    s   | || jI d H | _d S r^   r  rb   r8   r8   r9   re     s    z#RequestSimpleWebViewRequest.resolvec                 C   sX   dt | jtr| j n| j| j| j| j| j| j| j	| j
t | jtrN| j n| jd
S )Nr&  )
r;   r  r  r(  r)  r  r   r\   r  r  )r<   r  r   r=   r  r(  r)  r  r   r\   r  r  r>   r8   r8   r9   r=     s    z#RequestSimpleWebViewRequest.to_dictc                 C   sT  d dt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d ksr| jdkrvdnd	B | jd ks| jdkrdnd
B | jd ks| jdkrdndB | j	d ks| j	dkrdndB | j
 | jd ks| jdkrdn
| | j| jd ks| jdkrdn
| | j| j	d ks8| j	dkr<dn| j	 | | jfS )Nr?   s   s>:Arg   Fr   ri   rj   r  r  r   rJ  rh   )rA   rD   rE   r(  r)  r  r   r\   r  r  r  rB   rC   r  r>   r8   r8   r9   rB     s    "&$
z"RequestSimpleWebViewRequest._bytesc                 C   s   |  }t|d@ }t|d@ }t|d@ }t|d@ }| }|d@ rR| }nd }|d@ rh| }	nd }	|d@ r~| }
nd }
| }| ||||||||	|
d	S )	Nri   rj   r  r  r   rJ  rh   r'  rm   )rI   rJ   rq   Z_from_switch_webviewZ_from_side_menur  r   r  ru   r  r  r  r8   r8   r9   rL     s"    


z'RequestSimpleWebViewRequest.from_reader)NNNNNNNr   r8   r8   r8   r9   r&    s   <r&  c                   @   s^   e Zd ZdZdZded ee ee ee dddZdd	 Z	d
d Z
dd Zedd ZdS )RequestUrlAuthRequestiFrW   Nr   r3   rZ   r[   r\   c                 C   s   || _ || _|| _|| _dS r]   r+  )r7   r3   rZ   r[   r\   r8   r8   r9   r:   !  s    zRequestUrlAuthRequest.__init__c                    s$   | j r ||| j I d H | _ d S r^   r_   rb   r8   r8   r9   re   *  s    zRequestUrlAuthRequest.resolvec                 C   s.   dt | jtr| j n| j| j| j| jdS )Nr*  )r;   r3   rZ   r[   r\   )r<   r3   r   r=   rZ   r[   r\   r>   r8   r8   r9   r=   .  s    zRequestUrlAuthRequest.to_dictc              
   C   s  | j s| j d k	r0| js | jd k	r0| jst| jd k	st| j d ksD| j dkrl| jd ksX| jdkrl| jd kst| jdksttdddtd| j d ks| j dkrdnd| jd ks| jdkrdndB | jd ks| jdkrdndB | jd ks| jdkrdndB | j d ks| j dkrdn| j  | jd ks,| jdkr0dntd	| j| jd ksT| jdkrXdntd	| j| jd ks|| jdkrdn
| 	| jfS )
NFrf   r?   s   Frg   r   ri   rj   rk   )
r3   rZ   r[   rl   rA   rD   rE   r\   rB   rC   r>   r8   r8   r9   rB   7  s    tv$((&zRequestUrlAuthRequest._bytesc                 C   sp   |  }|d@ r| }nd }|d@ r0|  }nd }|d@ rF|  }nd }|d@ r\| }nd }| ||||dS )Nri   rj   r+  r>  )rI   rJ   rq   rK   rs   rt   ru   r8   r8   r9   rL   B  s    



z!RequestUrlAuthRequest.from_reader)NNNN)rN   rO   rP   rQ   rR   r   rT   rv   r:   re   r=   rB   rU   rL   r8   r8   r8   r9   r*    s   &		r*  c                   @   s   e Zd ZdZdZdddeee ee ee ee ee ee ed ed ed dd	d
Zdd Z	dd Z
dd Zedd ZdS )RequestWebViewRequesti&r  Nr   r$   r   r    r3   r  r  from_bot_menur}  r  r   r\   r  r  r  r  c                 C   sL   || _ || _|| _|| _|| _|| _|| _|| _|	| _|
| _	|| _
|| _dS r  r-  )r7   r3   r  r  r.  r}  r  r   r\   r  r  r  r  r8   r8   r9   r:   ]  s    zRequestWebViewRequest.__init__c                    sX   | || jI d H | _||| jI d H | _| jrT| || jI d H | _d S r^   r  rb   r8   r8   r9   re   n  s    zRequestWebViewRequest.resolvec                 C   s   dt | jtr| j n| jt | jtr2| j n| j| j| j| j| j| j	| j
| jt | jtrh| j n| jt | jtr| j n| jt | jtr| j n| jdS )Nr,  )r;   r3   r  r  r.  r}  r  r   r\   r  r  r  r  )r<   r3   r   r=   r  r  r.  r}  r  r   r\   r  r  r  r  r>   r8   r8   r9   r=   t  s    zRequestWebViewRequest.to_dictc                 C   s  d dt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d ksr| jdkrvdnd	B | jd ks| jdkrdnd
B | jd ks| jdkrdndB | j	d ks| j	dkrdndB | j
d ks| j
dkrdndB | jd ks| jdkrdndB | j | j | jd ks4| jdkr8dn
| | j| jd ksZ| jdkr^dn
| | j| j	d ks| j	dkrdn| j	 | | j| j
d ks| j
dkrdn| j
 | jd ks| jdkrdn| j f
S )Nr?   s   &rg   Fr   rJ  rq  r  r  ri   r   rj   rh   r  )rA   rD   rE   r.  r}  r  r   r\   r  r  r  r  r3   rB   r  rC   r  r>   r8   r8   r9   rB     s     &&$
$$zRequestWebViewRequest._bytesc                 C   s   |  }t|d@ }t|d@ }t|d@ }t|d@ }| }| }|d@ rZ| }	nd }	|d@ rp| }
nd }
|d@ r| }nd }| }|d@ r| }nd }|d	@ r| }nd }| ||||||||	|
|||d
S )NrJ  rq  r  r  ri   r   rj   rh   r  r-  rm   )rI   rJ   rq   Z_from_bot_menur  r  r   rK   r  ru   r  r  r  r  r  r8   r8   r9   rL     s0    




z!RequestWebViewRequest.from_reader)	NNNNNNNNNr   r8   r8   r8   r9   r,  Y  s   Jr,  c                   @   sH   e Zd ZdZdZdddddZdd Zd	d
 Zdd Ze	dd Z
dS )SaveDefaultSendAsRequestl   _ r   r   r3   r  c                 C   s   || _ || _dS r   r0  )r7   r3   r  r8   r8   r9   r:     s    z!SaveDefaultSendAsRequest.__init__c                    s8   | || jI d H | _| || jI d H | _d S r^   r`   ra   r3   r  rb   r8   r8   r9   re     s    z SaveDefaultSendAsRequest.resolvec                 C   s<   dt | jtr| j n| jt | jtr2| j n| jdS )Nr/  )r;   r3   r  )r<   r3   r   r=   r  r>   r8   r8   r9   r=     s    z SaveDefaultSendAsRequest.to_dictc                 C   s   d d| j | j fS )Nr?   s   )rA   r3   rB   r  r>   r8   r8   r9   rB     s
    zSaveDefaultSendAsRequest._bytesc                 C   s   |  }|  }| ||dS )Nr0  r   )rI   rJ   rK   r  r8   r8   r9   rL     s    z$SaveDefaultSendAsRequest.from_readerNr   r8   r8   r8   r9   r/    s   r/  c                
   @   sr   e Zd ZdZdZddeee ee ed eed  ed ee	 dd	d
Z
dd Zdd Zdd Zedd ZdS )SaveDraftRequestl   E& r   Nr   r    r&   r   r3   rW  rU  rV  r  rY  r   effectc	           	      C   s4   || _ || _|| _|| _|| _|| _|| _|| _dS r   r3  )	r7   r3   rW  rU  rV  r  rY  r   r4  r8   r8   r9   r:     s    zSaveDraftRequest.__init__c                    s2   | || jI d H | _| jr.|| j| _d S r^   rg  rb   r8   r8   r9   re     s    zSaveDraftRequest.resolvec              
   C   s   dt | jtr| j n| j| j| j| jt | jtr>| j n| j| jd krPg ndd | jD t | j	trt| j	 n| j	| j
d	S )Nr2  c                 S   s"   g | ]}t |tr| n|qS r8   r   r   r8   r8   r9   r     s     z,SaveDraftRequest.to_dict.<locals>.<listcomp>)	r;   r3   rW  rU  rV  r  rY  r   r4  )r<   r3   r   r=   rW  rU  rV  r  rY  r   r4  r>   r8   r8   r9   r=     s    zSaveDraftRequest.to_dictc                 C   s~  d dt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d ksr| jdkrvdnd	B | jd ks| jdkrdnd
B | jd ks| jdkrdndB | jd ks| jdkrdn| j	 | j
	 | | j| jd ks| jdkrdn.d dtdt| jd dd | jD f| jd ksD| jdkrHdn| j	 | jd ksh| jdkrldntd| jfS )Nr?   s   rrg   Fr   ri   r  rJ  r   rq  r  r   rk   c                 s   s   | ]}|  V  qd S r^   r   r   r8   r8   r9   r     s     z*SaveDraftRequest._bytes.<locals>.<genexpr>r@   )rA   rD   rE   rU  rV  r  rY  r   r4  rB   r3   rC   rW  r   r>   r8   r8   r9   rB     s     
F$(zSaveDraftRequest._bytesc              
   C   s   |  }t|d@ }t|d@ }|d@ r2| }nd }| }| }|d@ r|   g }t|  D ]}	| }
||
 qfnd }|d@ r| }nd }|d@ r| }nd }| ||||||||dS )Nri   r  rJ  r   rq  r  r3  )rn   ro   rF   rp   r   r   rH   )rI   rJ   rq   r^  r_  r  rK   r`  rb  r;   r   r   _effectr8   r8   r9   rL     s,    


zSaveDraftRequest.from_reader)NNNNNN)rN   rO   rP   rQ   rR   rv   r   ro   r   rT   r:   re   r=   rB   rU   rL   r8   r8   r8   r9   r2    s   :r2  c                   @   sH   e Zd ZdZdZdedddZdd Zd	d
 Zdd Z	e
dd ZdS )SaveGifRequesti0z2r   r   r  unsavec                 C   s   || _ || _dS r   r7  )r7   r  r8  r8   r8   r9   r:   ,  s    zSaveGifRequest.__init__c                    s   | | j| _d S r^   rv  rb   r8   r8   r9   re   3  s    zSaveGifRequest.resolvec                 C   s&   dt | jtr| j n| j| jdS )Nr6  )r;   r  r8  )r<   r  r   r=   r8  r>   r8   r8   r9   r=   6  s    zSaveGifRequest.to_dictc                 C   s    d d| j | jrdndfS )Nr?   s   0z2r5  r6  )rA   r  rB   r8  r>   r8   r8   r9   rB   =  s
    zSaveGifRequest._bytesc                 C   s   |  }| }| ||dS )Nr7  rw  )rI   rJ   r  _unsaver8   r8   r9   rL   D  s    zSaveGifRequest.from_readerNrx  r8   r8   r8   r9   r6  (  s   r6  c                   @   sT   e Zd ZdZdZdddeed  ddd	Zd
d Zdd Z	dd Z
edd ZdS ) SavePreparedInlineMessageRequestl   />d l   "_ Nr   r$   r   resultr{   
peer_typesc                 C   s   || _ || _|| _dS )zc
        :returns messages.BotPreparedInlineMessage: Instance of BotPreparedInlineMessage.
        Nr;  )r7   r<  r{   r=  r8   r8   r9   r:   O  s    z)SavePreparedInlineMessageRequest.__init__c                    s   | || jI d H | _d S r^   r~   rb   r8   r8   r9   re   W  s    z(SavePreparedInlineMessageRequest.resolvec                 C   sX   dt | jtr| j n| jt | jtr2| j n| j| jd krDg ndd | jD dS )Nr:  c                 S   s"   g | ]}t |tr| n|qS r8   r   r   r8   r8   r9   r   _  s     z<SavePreparedInlineMessageRequest.to_dict.<locals>.<listcomp>)r;   r<  r{   r=  )r<   r<  r   r=   r{   r=  r>   r8   r8   r9   r=   Z  s
    z(SavePreparedInlineMessageRequest.to_dictc                 C   s   d dtd| jd ks | jdkr$dnd| j | j | jd ksL| jdkrPdn.d dtdt| jd d	d
 | jD ffS )Nr?   s   /rg   Fr   rh   r   rk   c                 s   s   | ]}|  V  qd S r^   r   r   r8   r8   r9   r   h  s     z:SavePreparedInlineMessageRequest._bytes.<locals>.<genexpr>)rA   rD   rE   r=  r<  rB   r{   r   r>   r8   r8   r9   rB   b  s    "Fz'SavePreparedInlineMessageRequest._bytesc                 C   sd   |  }| }| }|d@ rR|   g }t|  D ]}| }|| q8nd }| |||dS )Nrh   r;  r  )rI   rJ   rq   _resultr   Z_peer_typesr;   r   r8   r8   r9   rL   k  s    z,SavePreparedInlineMessageRequest.from_reader)N)rN   rO   rP   rQ   rR   r   r   r:   re   r=   rB   rU   rL   r8   r8   r8   r9   r:  K  s   	r:  c                   @   sP   e Zd ZdZdZddeee dddZdd	 Zd
d Z	dd Z
edd ZdS )SaveRecentStickerRequesti'9r   Nr   r  r8  r   c                 C   s   || _ || _|| _dS r   r@  )r7   r  r8  r   r8   r8   r9   r:     s    z!SaveRecentStickerRequest.__init__c                    s   | | j| _d S r^   rv  rb   r8   r8   r9   re     s    z SaveRecentStickerRequest.resolvec                 C   s*   dt | jtr| j n| j| j| jdS )Nr?  )r;   r  r8  r   )r<   r  r   r=   r8  r   r>   r8   r8   r9   r=     s
    z SaveRecentStickerRequest.to_dictc                 C   sB   d dtd| jd ks | jdkr$dnd| j | jr:dndfS )	Nr?   s   '9rg   Fr   rh   r5  r6  )rA   rD   rE   r   r  rB   r8  r>   r8   r8   r9   rB     s    "zSaveRecentStickerRequest._bytesc                 C   s2   |  }t|d@ }| }| }| |||dS )Nrh   r@  rn   ro   rF   r7  )rI   rJ   rq   r   r  r9  r8   r8   r9   rL     s
    z$SaveRecentStickerRequest.from_reader)NrN   rO   rP   rQ   rR   ro   r   r:   re   r=   rB   rU   rL   r8   r8   r8   r9   r?  }  s   r?  c                   @   s   e Zd ZdZdZddedee ee eeeeeeed ed ee	d  ee ddd	Z
d
d Zdd Zdd Zedd ZdS )SearchRequestiz)r*  Nr   r'   r)   r3   r  r  r   r   r  r,  r  r   r-  r   from_idr  saved_reactionr  c                 C   s^   || _ || _|| _|| _|| _|| _|| _|| _|	| _|
| _	|| _
|| _|| _|| _|| _dS r.  rD  )r7   r3   r  r  r   r   r  r,  r  r   r-  r   rE  r  rF  r  r8   r8   r9   r:     s    zSearchRequest.__init__c                    s^   | || jI d H | _| jr:| || jI d H | _| jrZ| || jI d H | _d S r^   )r`   ra   r3   rE  r  rb   r8   r8   r9   re     s
    zSearchRequest.resolvec                 C   s   dt | jtr| j n| j| jt | jtr6| j n| j| j| j| j| j	| j
| j| j| jt | jtrp| j n| jt | jtr| j n| j| jd krg ndd | jD | jdS )NrC  c                 S   s"   g | ]}t |tr| n|qS r8   r   r   r8   r8   r9   r     s     z)SearchRequest.to_dict.<locals>.<listcomp>)r;   r3   r  r  r   r   r  r,  r  r   r-  r   rE  r  rF  r  )r<   r3   r   r=   r  r  r   r   r  r,  r  r   r-  r   rE  r  rF  r  r>   r8   r8   r9   r=     s"    zSearchRequest.to_dictc                 C   s  d dt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d ksr| jdkrvdnd	B | j | 	| j
| jd ks| jdkrdn| j | jd ks| jdkrdn| j | jd ks| jdkrdn.d d
tdt| jd dd | jD f| jd ks,| jdkr0dntd| j| j | | j| | jtd| jtd| jtd| jtd| jtd| jtd| jfS )Nr?   s   z)rg   Fr   rh   rj   r   ri   r   rk   c                 s   s   | ]}|  V  qd S r^   r   r   r8   r8   r9   r     s     z'SearchRequest._bytes.<locals>.<genexpr>r@   )rA   rD   rE   rE  r  rF  r  r3   rB   rC   r  r   r  r   r   r   r  r,  r  r   r-  r   r>   r8   r8   r9   rB     s&    v
  F(

zSearchRequest._bytesc                 C   s  |  }| }| }|d@ r*| }nd }|d@ r@| }nd }|d@ r~|   g }t|  D ]}| }	||	 qdnd }|d@ r|  }
nd }
| }| }| }|  }|  }|  }|  }|  }| }| |||||||||||||||
dS )Nrh   rj   r   ri   rD  )rn   rF   rp   r   r   r   rH   )rI   rJ   rq   rK   r  Z_from_idr  Z_saved_reactionr;   r   r  r  r  r  r  r6  r  r  r7  r   r8   r8   r9   rL     s:    


zSearchRequest.from_reader)NNNN)rN   rO   rP   rQ   rR   rv   r   r	   rT   r   r:   re   r=   rB   rU   rL   r8   r8   r8   r9   rC    s   HrC  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 )SearchCustomEmojiRequesti,l   jy r  c                 C   s   || _ || _dS )zY
        :returns EmojiList: Instance of either EmojiListNotModified, EmojiList.
        Nr  r  r8   r8   r9   r:     s    z!SearchCustomEmojiRequest.__init__c                 C   s   d| j | jdS )NrG  r  r  r>   r8   r8   r9   r=   !  s    z SearchCustomEmojiRequest.to_dictc                 C   s"   d d| | jtd| jfS )Nr?   s   ,r@   r  r>   r8   r8   r9   rB   (  s
    
zSearchCustomEmojiRequest._bytesc                 C   s   |  }| }| ||dS r  r  r  r8   r8   r9   rL   /  s    z$SearchCustomEmojiRequest.from_readerNr  r8   r8   r8   r9   rG    s   rG  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 )SearchEmojiStickerSetsRequestl   LIh% aNr  r   exclude_featuredc                 C   s   || _ || _|| _dS zw
        :returns messages.FoundStickerSets: Instance of either FoundStickerSetsNotModified, FoundStickerSets.
        NrJ  r7   r  r   rK  r8   r8   r9   r:   :  s    z&SearchEmojiStickerSetsRequest.__init__c                 C   s   d| j | j| jdS )NrH  r;   r  r   rK  rJ  r>   r8   r8   r9   r=   B  s
    z%SearchEmojiStickerSetsRequest.to_dictc              	   C   sD   d dtd| jd ks | jdkr$dnd| | jtd| jfS )Nr?   s   LIrg   Fr   rh   r@   rA   rD   rE   rK  rC   r  r   r>   r8   r8   r9   rB   J  s    "
z$SearchEmojiStickerSetsRequest._bytesc                 C   s2   |  }t|d@ }| }| }| |||dS Nrh   rJ  rn   ro   rp   rH   rI   rJ   rq   Z_exclude_featuredr  r   r8   r8   r9   rL   R  s
    z)SearchEmojiStickerSetsRequest.from_reader)NrN   rO   rP   rQ   rR   rv   rT   r   ro   r:   r=   rB   rU   rL   r8   r8   r8   r9   rH  6  s   rH  c                   @   sv   e Zd ZdZdZdedee ee edeeee	 ee	 ee	 ee dddZ
d	d
 Zdd Zdd Zedd ZdS )SearchGlobalRequestiXKr*  Nr'   r   r  r  r   r   offset_rater  r  r  broadcasts_onlygroups_only
users_onlyr  c                 C   sL   || _ || _|| _|| _|| _|| _|| _|| _|	| _|
| _	|| _
|| _dS r.  rU  )r7   r  r  r   r   rV  r  r  r  rW  rX  rY  r  r8   r8   r9   r:   `  s    zSearchGlobalRequest.__init__c                    s   | || jI d H | _d S r^   r  rb   r8   r8   r9   re   q  s    zSearchGlobalRequest.resolvec                 C   sd   d| j t| jtr| j n| j| j| j| jt| jtrB| j n| j| j	| j
| j| j| j| jdS )NrT  )r;   r  r  r   r   rV  r  r  r  rW  rX  rY  r  )r  r<   r  r   r=   r   r   rV  r  r  r  rW  rX  rY  r  r>   r8   r8   r9   r=   t  s    zSearchGlobalRequest.to_dictc                 C   s   d dt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d ksr| jdkrvdnd	B | jd ks| jdkrdntd
| j| | j| j	
 | | j| | jtd
| j| j
 td
| jtd
| jfS )Nr?   s   XKrg   Fr   ri   rj   r   rh   rk   )rA   rD   rE   rW  rX  rY  r  rC   r  r  rB   r   r   r   rV  r  r  r  r>   r8   r8   r9   rB     s    v$


zSearchGlobalRequest._bytesc                 C   s   |  }t|d@ }t|d@ }t|d@ }|d@ r>|  }nd }| }| }| }	| }
|  }| }|  }|  }| |||	|
||||||||dS )Nri   rj   r   rh   rU  )rn   ro   rp   rF   r   )rI   rJ   rq   Z_broadcasts_onlyZ_groups_onlyZ_users_onlyr  r  r  r  r  Z_offset_rater  r  r  r8   r8   r9   rL     s     
zSearchGlobalRequest.from_reader)NNNN)rN   rO   rP   rQ   rR   rv   r   r	   rT   ro   r:   re   r=   rB   rU   rL   r8   r8   r8   r9   rT  \  s   >rT  c                   @   sB   e Zd ZdZdZededddZdd Zd	d
 Z	e
dd ZdS )SearchSentMediaRequesti1~r*  r'   r  r  r  c                 C   s   || _ || _|| _dS r.  r[  )r7   r  r  r  r8   r8   r9   r:     s    zSearchSentMediaRequest.__init__c                 C   s*   d| j t| jtr| j n| j| jdS )NrZ  )r;   r  r  r  )r  r<   r  r   r=   r  r>   r8   r8   r9   r=     s
    zSearchSentMediaRequest.to_dictc              	   C   s*   d d| | j| j td| jfS )Nr?   s   1~rk   )rA   rC   r  r  rB   rD   rE   r  r>   r8   r8   r9   rB     s    
zSearchSentMediaRequest._bytesc                 C   s&   |  }| }| }| |||dS )Nr[  )rp   rF   rn   )rI   rJ   r  r  r  r8   r8   r9   rL     s    z"SearchSentMediaRequest.from_readerNr  r8   r8   r8   r9   rZ    s   rZ  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 )SearchStickerSetsRequesti[p5rI  NrJ  c                 C   s   || _ || _|| _dS rL  rJ  rM  r8   r8   r9   r:     s    z!SearchStickerSetsRequest.__init__c                 C   s   d| j | j| jdS )Nr\  rN  rJ  r>   r8   r8   r9   r=     s
    z SearchStickerSetsRequest.to_dictc              	   C   sD   d dtd| jd ks | jdkr$dnd| | jtd| jfS )Nr?   s   [p5rg   Fr   rh   r@   rO  r>   r8   r8   r9   rB     s    "
zSearchStickerSetsRequest._bytesc                 C   s2   |  }t|d@ }| }| }| |||dS rP  rQ  rR  r8   r8   r9   rL     s
    z$SearchStickerSetsRequest.from_reader)NrS  r8   r8   r8   r9   r\    s   r\  c                	   @   sT   e Zd ZdZdZdeeee eeeee	 dddZ
dd Zd	d
 Zedd ZdS )SearchStickersRequestijƱ)iQ!@Nr  r  r  r;  r  r   r  c                 C   s.   || _ || _|| _|| _|| _|| _|| _dS )zn
        :returns messages.FoundStickers: Instance of either FoundStickersNotModified, FoundStickers.
        Nr^  )r7   r  r  r  r;  r  r   r  r8   r8   r9   r:     s    zSearchStickersRequest.__init__c              	   C   s:   d| j | j| jd krg n| jd d  | j| j| j| jdS )Nr]  )r;   r  r  r  r;  r  r   r  r^  r>   r8   r8   r9   r=     s    zSearchStickersRequest.to_dictc                    s   d dtd jd ks  jdkr$dnd  j  jdtdt jd  fd	d
 jD td j	td j
td jf
S )Nr?   s   jƱ)rg   Fr   rh   r   rk   c                 3   s   | ]}  |V  qd S r^   r  r   r>   r8   r9   r     s     z/SearchStickersRequest._bytes.<locals>.<genexpr>r@   )rA   rD   rE   r  rC   r  r  r   r  r;  r  r   r>   r8   r>   r9   rB     s    "

  zSearchStickersRequest._bytesc              	   C   s   |  }t|d@ }| }| }|   g }t|  D ]}| }|| q<|  }	|  }
| }| ||||	|
||dS )Nrh   r^  )rn   ro   rp   r   r   rH   )rI   rJ   rq   r  r  r  r	  r;   r   r?  r  r   r8   r8   r9   rL     s    z!SearchStickersRequest.from_reader)N)rN   rO   rP   rQ   rR   rv   r   rT   r   ro   r:   r=   rB   rU   rL   r8   r8   r8   r9   r]    s   $r]  c                   @   sP   e Zd ZdZdZdeeed dddZdd Zd	d
 Z	dd Z
edd ZdS )SendBotRequestedPeerRequestl   `Pe# r   r   r3   rZ   r[   requested_peersc                 C   s   || _ || _|| _|| _dS r   r`  )r7   r3   rZ   r[   ra  r8   r8   r9   r:   3  s    z$SendBotRequestedPeerRequest.__init__c                    sP   | || jI d H | _g }| jD ] }|| ||I d H  q$|| _d S r^   )r`   ra   r3   ra  r   r   r8   r8   r9   re   <  s
    
z#SendBotRequestedPeerRequest.resolvec                 C   sF   dt | jtr| j n| j| j| j| jd kr2g ndd | jD dS )Nr_  c                 S   s"   g | ]}t |tr| n|qS r8   r   r   r8   r8   r9   r   J  s     z7SendBotRequestedPeerRequest.to_dict.<locals>.<listcomp>)r;   r3   rZ   r[   ra  )r<   r3   r   r=   rZ   r[   ra  r>   r8   r8   r9   r=   D  s    z#SendBotRequestedPeerRequest.to_dictc                 C   sR   d d| j td| jtd| jdtdt| jd dd | jD fS )Nr?   s   `вrk   r   c                 s   s   | ]}|  V  qd S r^   r   r   r8   r8   r9   r   S  s     z5SendBotRequestedPeerRequest._bytes.<locals>.<genexpr>)	rA   r3   rB   rD   rE   rZ   r[   r   ra  r>   r8   r8   r9   rB   M  s      z"SendBotRequestedPeerRequest._bytesc                 C   sX   |  }| }| }|  g }t| D ]}|  }|| q0| ||||dS )Nr`  r(  )rI   rJ   rK   rs   rt   Z_requested_peersr;   r   r8   r8   r9   rL   V  s    z'SendBotRequestedPeerRequest.from_readerNrN   rO   rP   rQ   rR   rT   r   r:   re   r=   rB   rU   rL   r8   r8   r8   r9   r_  /  s   			r_  c                   @   sJ   e Zd ZdZdZddeee edddZ	dd	 Z
d
d Zedd ZdS )SendEncryptedRequestizD   P>< Nr   r3   r  r}  r   c                 C   s:   || _ || _|| _|dk	r|ntjtdddd| _dS zu
        :returns messages.SentEncryptedMessage: Instance of either SentEncryptedMessage, SentEncryptedFile.
        Nr   r   Tr   )r3   r  r}  rT   r   r   r   r   )r7   r3   r  r}  r   r8   r8   r9   r:   h  s    zSendEncryptedRequest.__init__c                 C   s.   dt | jtr| j n| j| j| j| jdS )Nrc  )r;   r3   r  r}  r   )r<   r3   r   r=   r  r}  r   r>   r8   r8   r9   r=   q  s    zSendEncryptedRequest.to_dictc              	   C   sL   d dtd| jd ks | jdkr$dnd| j td| j| | jfS )Nr?   s   zDrg   Fr   rh   r@   )	rA   rD   rE   r}  r3   rB   r   rC   r  r>   r8   r8   r9   rB   z  s    "
zSendEncryptedRequest._bytesc                 C   s<   |  }t|d@ }| }| }| }| ||||dS )Nrh   re  rn   ro   rF   rH   rG   )rI   rJ   rq   r  rK   r   r  r8   r8   r9   rL     s    z SendEncryptedRequest.from_reader)NNrN   rO   rP   rQ   rR   rS   r   ro   rT   r:   r=   rB   rU   rL   r8   r8   r8   r9   rc  d  s   			rc  c                   @   sL   e Zd ZdZdZddedee edddZ	d	d
 Z
dd Zedd ZdS )SendEncryptedFileRequestiHYUrd  Nr   r   r3   r  r  r}  r   c                 C   s@   || _ || _|| _|| _|dk	r$|ntjtdddd| _dS rf  )	r3   r  r  r}  rT   r   r   r   r   )r7   r3   r  r  r}  r   r8   r8   r9   r:     s
    z!SendEncryptedFileRequest.__init__c                 C   sH   dt | jtr| j n| j| jt | jtr6| j n| j| j| jdS )Nri  )r;   r3   r  r  r}  r   )r<   r3   r   r=   r  r  r}  r   r>   r8   r8   r9   r=     s    z SendEncryptedFileRequest.to_dictc              	   C   sT   d dtd| jd ks | jdkr$dnd| j td| j| | j| j	 fS )Nr?   s   HYUrg   Fr   rh   r@   )
rA   rD   rE   r}  r3   rB   r   rC   r  r  r>   r8   r8   r9   rB     s    "
zSendEncryptedFileRequest._bytesc                 C   sF   |  }t|d@ }| }| }| }| }| |||||dS )Nrh   rj  rg  )rI   rJ   rq   r  rK   r   r  r  r8   r8   r9   rL     s    z$SendEncryptedFileRequest.from_reader)NNrh  r8   r8   r8   r9   ri    s   


ri  c                   @   sD   e Zd ZdZdZddeedddZdd	 Zd
d Z	e
dd ZdS )SendEncryptedServiceRequesti92rd  Nr   r3   r  r   c                 C   s4   || _ || _|dk	r|ntjtdddd| _dS rf  )r3   r  rT   r   r   r   r   )r7   r3   r  r   r8   r8   r9   r:     s    z$SendEncryptedServiceRequest.__init__c                 C   s*   dt | jtr| j n| j| j| jdS )Nrk  )r;   r3   r  r   )r<   r3   r   r=   r  r   r>   r8   r8   r9   r=     s
    z#SendEncryptedServiceRequest.to_dictc                 C   s*   d d| j td| j| | jfS )Nr?   s   92r@   )rA   r3   rB   rD   rE   r   rC   r  r>   r8   r8   r9   rB     s    
z"SendEncryptedServiceRequest._bytesc                 C   s&   |  }| }| }| |||dS )Nrl  )rF   rH   rG   )rI   rJ   rK   r   r  r8   r8   r9   rL     s    z'SendEncryptedServiceRequest.from_reader)NrM   r8   r8   r8   r9   rk    s   rk  c                   @   s   e Zd ZdZdZddeeee ee ee ee ed eee	 ed ed ee ddd	Z
d
d Zdd Zdd Zedd ZdS )SendInlineBotResultRequestl   Fv r   Nr   r    r   r3   r  r  r}  r~  clear_drafthide_viar  r   re  r  r  r  c                 C   sp   || _ || _|| _|| _|| _|| _|| _|| _|	dk	r<|	ntj	t
dddd| _|
| _|| _|| _|| _dS r   Nr   r   Tr   )r3   r  r  r}  r~  ro  rp  r  rT   r   r   r   r   re  r  r  r  )r7   r3   r  r  r}  r~  ro  rp  r  r   re  r  r  r  r8   r8   r9   r:     s    $z#SendInlineBotResultRequest.__init__c                    s>   | || jI d H | _| jr:| || jI d H | _d S r^   r1  rb   r8   r8   r9   re     s    z"SendInlineBotResultRequest.resolvec                 C   s   dt | jtr| j n| j| j| j| j| j| j| j	t | j
trJ| j
 n| j
| j| jt | jtrl| j n| jt | jtr| j n| j| jdS )Nrm  )r;   r3   r  r  r}  r~  ro  rp  r  r   re  r  r  r  )r<   r3   r   r=   r  r  r}  r~  ro  rp  r  r   re  r  r  r  r>   r8   r8   r9   r=     s    z"SendInlineBotResultRequest.to_dictc                 C   s  d dt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d ksr| jdkrvdnd	B | jd ks| jdkrdnd
B | jd ks| jdkrdndB | j	d ks| j	dkrdndB | j
d ks| j
dkrdndB | jd ks| jdkrdndB | j | jd ks,| jdkr0dn| j td| jtd| j| | j| jd ksr| jdkrvdn
| | j| j	d ks| j	dkrdn| j	 | j
d ks| j
dkrdn| j
 | jd ks| jdkrdntd| jfS )Nr?   s   Fvrg   Fr   rq  r  r  r\  rh   r  r  ri  r  r@   )rA   rD   rE   r}  r~  ro  rp  r  re  r  r  r  r3   rB   r   r  rC   r  r   r>   r8   r8   r9   rB     s     $
&$$(z!SendInlineBotResultRequest._bytesc                 C   s   |  }t|d@ }t|d@ }t|d@ }t|d@ }| }|d@ rR| }nd }| }	| }
| }|d@ r| }nd }|d@ r| }nd }|d@ r| }nd }|d	@ r| }nd }| ||
|||||||	||||d
S )Nrq  r  r  r\  rh   r  r  ri  r  rn  )rn   ro   rF   rH   rp   r   )rI   rJ   rq   r  r  _clear_draftZ	_hide_viarK   r  r   r  r  rj  r  r  r  r8   r8   r9   rL     s2    




z&SendInlineBotResultRequest.from_reader)
NNNNNNNNNN)rN   rO   rP   rQ   rR   rT   rv   r   ro   r	   r:   re   r=   rB   rU   rL   r8   r8   r8   r9   rm    s   Lrm  c                   @   s   e Zd ZdZdZdddeee ee ee ee ee ee ee ed eed ee	d  ee
 ed ed	 ee ee d
ddZdd Zdd Zdd Zedd ZdS )SendMediaRequestl   xMJ r   Nr   r   r    r*   r&   r   r3   r   rW  r}  r~  ro  r  update_stickersets_orderrV  r  r  r   rX  rY  re  r  r  r4  r  c                 C   s   || _ || _|| _|| _|| _|| _|| _|| _|	| _|
| _	|| _
|dk	rN|ntjtdddd| _|| _|| _|| _|| _|| _|| _|| _dS rq  )r3   r   rW  r}  r~  ro  r  ru  rV  r  r  rT   r   r   r   r   rX  rY  re  r  r  r4  r  )r7   r3   r   rW  r}  r~  ro  r  ru  rV  r  r  r   rX  rY  re  r  r  r4  r  r8   r8   r9   r:   C  s&    $zSendMediaRequest.__init__c                    sL   | || jI d H | _|| j| _| jrH| || jI d H | _d S r^   )r`   ra   r3   rZ  r   r  rb   r8   r8   r9   re   [  s    zSendMediaRequest.resolvec                 C   s   dt | jtr| j n| jt | jtr2| j n| j| j| j| j| j| j	| j
| j| jt | jtrl| j n| j| jt | jtr| j n| j| jd krg ndd | jD | jt | jtr| j n| jt | jtr| j n| j| j| jdS )Nrs  c                 S   s"   g | ]}t |tr| n|qS r8   r   r   r8   r8   r9   r   q  s     z,SendMediaRequest.to_dict.<locals>.<listcomp>)r;   r3   r   rW  r}  r~  ro  r  ru  rV  r  r  r   rX  rY  re  r  r  r4  r  )r<   r3   r   r=   r   rW  r}  r~  ro  r  ru  rV  r  r  r   rX  rY  re  r  r  r4  r  r>   r8   r8   r9   r=   a  s*    zSendMediaRequest.to_dictc                 C   sH  d dt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d ksr| jdkrvdnd	B | jd ks| jdkrdnd
B | jd ks| jdkrdndB | j	d ks| j	dkrdndB | j
d ks| j
dkrdndB | jd ks| jdkrdndB | jd ks"| jdkr&dndB | jd ksB| jdkrFdndB | jd ksb| jdkrfdndB | jd ks| jdkrdndB | jd ks| jdkrdndB | jd ks| jdkrdndB | j | j
d ks| j
dkrdn| j
 | j | | jtd| j| jd ks.| jdkr2dn| j | jd ksR| jdkrVdn.d dtdt| jd dd | jD f| jd ks| jdkrdn
| | j| jd ks| jdkrdn| j | jd ks| jdkrdn| j | jd ks
| jdkrdntd| j| jd ks2| jdkr6dntd| jfS )Nr?   s   xPrg   Fr   rq  r  r  r]  rh  r[  r  rh   rj   r   r  r  ri     r  r@   r   rk   c                 s   s   | ]}|  V  qd S r^   r   r   r8   r8   r9   r     s     z*SendMediaRequest._bytes.<locals>.<genexpr>)rA   rD   rE   r}  r~  ro  r  ru  rV  r  r  rX  rY  re  r  r  r4  r  r3   rB   r   rC   rW  r   r   r   r>   r8   r8   r9   rB   y  s"     $
$J&$$((zSendMediaRequest._bytesc                 C   s  |  }t|d@ }t|d@ }t|d@ }t|d@ }t|d@ }t|d@ }t|d@ }	| }
|d@ rv| }nd }| }| }| }|d	@ r| }nd }|d
@ r|   g }t|  D ]}| }|| qnd }|d@ r| }nd }|d@ r| }nd }|d@ r(| }nd }|d@ r@| }nd }|d@ rX| }nd }| |
|||||||||	|||||||||dS )Nrq  r  r  r]  rh  r[  r  rh   rj   r   r  r  ri  rv  r  rt  rn   ro   rF   rp   rH   r   r   r   )rI   rJ   rq   r  r  rr  r  _update_stickersets_orderr_  r  rK   r  r   r`  r   ra  rb  r;   r   rj  r  r  r5  r  r8   r8   r9   rL     sR    










zSendMediaRequest.from_reader)NNNNNNNNNNNNNNNNrN   rO   rP   rQ   rR   rv   r   ro   rT   r   r	   r:   re   r=   rB   rU   rL   r8   r8   r8   r9   rs  ?  s   trs  c                   @   s   e Zd ZdZdZddeee ee ee ee ee ee ee ee ed eed ee	d  ee
 ed ed ee ee d	d
dZdd Zdd Zdd Zedd ZdS )SendMessageRequestl   
4w r   Nr   r    r*   r&   r   r3   rW  rU  r}  r~  ro  r  ru  rV  r  r  r   rX  rY  re  r  r  r4  r  c                 C   s   || _ || _|| _|| _|| _|| _|| _|| _|	| _|
| _	|| _
|dk	rN|ntjtdddd| _|| _|| _|| _|| _|| _|| _|| _dS rq  )r3   rW  rU  r}  r~  ro  r  ru  rV  r  r  rT   r   r   r   r   rX  rY  re  r  r  r4  r  )r7   r3   rW  rU  r}  r~  ro  r  ru  rV  r  r  r   rX  rY  re  r  r  r4  r  r8   r8   r9   r:     s&    $zSendMessageRequest.__init__c                    s>   | || jI d H | _| jr:| || jI d H | _d S r^   r1  rb   r8   r8   r9   re     s    zSendMessageRequest.resolvec                 C   s   dt | jtr| j n| j| j| j| j| j| j| j	| j
| j| jt | jtrV| j n| j| jt | jtrt| j n| j| jd krg ndd | jD | jt | jtr| j n| jt | jtr| j n| j| j| jdS )Nrz  c                 S   s"   g | ]}t |tr| n|qS r8   r   r   r8   r8   r9   r     s     z.SendMessageRequest.to_dict.<locals>.<listcomp>)r;   r3   rW  rU  r}  r~  ro  r  ru  rV  r  r  r   rX  rY  re  r  r  r4  r  )r<   r3   r   r=   rW  rU  r}  r~  ro  r  ru  rV  r  r  r   rX  rY  re  r  r  r4  r  r>   r8   r8   r9   r=     s*    zSendMessageRequest.to_dictc                 C   s`  d dt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d ksr| jdkrvdnd	B | jd ks| jdkrdnd
B | jd ks| jdkrdndB | j	d ks| j	dkrdndB | j
d ks| j
dkrdndB | jd ks| jdkrdndB | jd ks"| jdkr&dndB | jd ksB| jdkrFdndB | jd ksb| jdkrfdndB | jd ks| jdkrdndB | jd ks| jdkrdndB | jd ks| jdkrdndB | jd ks| jdkrdndB | j | jd ks| jdkrdn| j | | jtd| j| jd ksF| jdkrJdn| j | jd ksj| jdkrndn.d dtdt| jd dd | jD f| jd ks| jdkrdn
| | j| jd ks| jdkrdn| j | jd ks| jdkrdn| j | jd ks"| jdkr&dntd| j| jd ksJ| jdkrNdntd| jfS )Nr?   s   
4rg   Fr   ri   rq  r  r  r]  rh  r[  r  rh   rj   r   r  r  ri  rv  r  r@   r   rk   c                 s   s   | ]}|  V  qd S r^   r   r   r8   r8   r9   r     s     z,SendMessageRequest._bytes.<locals>.<genexpr>)rA   rD   rE   rU  r}  r~  ro  r  ru  rV  r  r  rX  rY  re  r  r  r4  r  r3   rB   rC   rW  r   r   r   r>   r8   r8   r9   rB     s      $
$J&$$((zSendMessageRequest._bytesc                 C   s  |  }t|d@ }t|d@ }t|d@ }t|d@ }t|d@ }t|d@ }t|d@ }	t|d@ }
| }|d	@ r| }nd }| }| }|d
@ r| }nd }|d@ r|   g }t|  D ]}| }|| qnd }|d@ r| }nd }|d@ r| }nd }|d@ r,| }nd }|d@ rD| }nd }|d@ r\| }nd }| |||||||||	|
|||||||||dS )Nri   rq  r  r  r]  rh  r[  r  rh   rj   r   r  r  ri  rv  r  r{  rw  )rI   rJ   rq   r^  r  r  rr  r  rx  r_  r  rK   r  r`  r   ra  rb  r;   r   rj  r  r  r5  r  r8   r8   r9   rL     sR    










zSendMessageRequest.from_reader)NNNNNNNNNNNNNNNNNry  r8   r8   r8   r9   rz    s   xrz  c                   @   s   e Zd ZdZdZdded ee ee ee ee ee ee ee ed ee ed ed ee	 ee	 dd	d
Z
dd Zdd Zdd Zedd ZdS )SendMultiMediaRequestitr   Nr   r!   r    r   r3   multi_mediar}  r~  ro  r  ru  rV  r  r  re  r  r  r4  r  c                 C   s^   || _ || _|| _|| _|| _|| _|| _|| _|	| _|
| _	|| _
|| _|| _|| _|| _dS r   r}  )r7   r3   r~  r}  r~  ro  r  ru  rV  r  r  re  r  r  r4  r  r8   r8   r9   r:   G  s    zSendMultiMediaRequest.__init__c                    s>   | || jI d H | _| jr:| || jI d H | _d S r^   r1  rb   r8   r8   r9   re   [  s    zSendMultiMediaRequest.resolvec                 C   s   dt | jtr| j n| j| jd kr*g ndd | jD | j| j| j| j| j	| j
| jt | jtrj| j n| j| jt | jtr| j n| jt | jtr| j n| j| j| jdS )Nr|  c                 S   s"   g | ]}t |tr| n|qS r8   r   r   r8   r8   r9   r   d  s     z1SendMultiMediaRequest.to_dict.<locals>.<listcomp>)r;   r3   r~  r}  r~  ro  r  ru  rV  r  r  re  r  r  r4  r  )r<   r3   r   r=   r~  r}  r~  ro  r  ru  rV  r  r  re  r  r  r4  r  r>   r8   r8   r9   r=   `  s"    zSendMultiMediaRequest.to_dictc                 C   s  d dt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d ksr| jdkrvdnd	B | jd ks| jdkrdnd
B | jd ks| jdkrdndB | j	d ks| j	dkrdndB | j
d ks| j
dkrdndB | jd ks| jdkrdndB | jd ks"| jdkr&dndB | jd ksB| jdkrFdndB | jd ksb| jdkrfdndB | jd ks| jdkrdndB | j | j
d ks| j
dkrdn| j
 dtdt| jd dd | jD | jd ks| jdkrdn
| | j| jd ks| jdkr dn| j | jd ks@| jdkrDdn| j | jd ksd| jdkrhdntd| j| jd ks| jdkrdntd| jfS )Nr?   s   trg   Fr   rq  r  r  r]  rh  r[  r  rh   r  r  ri  rv  r  r   rk   c                 s   s   | ]}|  V  qd S r^   r   r   r8   r8   r9   r   z  s     z/SendMultiMediaRequest._bytes.<locals>.<genexpr>r@   )rA   rD   rE   r}  r~  ro  r  ru  rV  r  r  re  r  r  r4  r  r3   rB   r   r~  r   r>   r8   r8   r9   rB   t  s     $  &$$((zSendMultiMediaRequest._bytesc                 C   s@  |  }t|d@ }t|d@ }t|d@ }t|d@ }t|d@ }t|d@ }t|d@ }	| }
|d@ rv| }nd }|   g }t|  D ]}| }|| q|d	@ r| }nd }|d
@ r| }nd }|d@ r| }nd }|d@ r| }nd }|d@ r| }nd }| |
||||||||	||||||dS )Nrq  r  r  r]  rh  r[  r  rh   r  r  ri  rv  r  r}  )rn   ro   rF   r   r   r   rH   )rI   rJ   rq   r  r  rr  r  rx  r_  r  rK   r  Z_multi_mediar;   r   rj  r  r  r5  r  r8   r8   r9   rL     sB    






z!SendMultiMediaRequest.from_reader)NNNNNNNNNNNNN)rN   rO   rP   rQ   rR   r   r   ro   r	   rT   r:   re   r=   rB   rU   rL   r8   r8   r8   r9   r|  C  s   dr|  c                   @   sT   e Zd ZdZdZddeeeed dddZd	d
 Zdd Z	dd Z
edd ZdS )SendPaidReactionRequestiP˻Xr   Nr   r(   r3   rZ   countr   privatec                 C   s@   || _ || _|| _|dk	r|ntjtdddd| _|| _dS rq  )	r3   rZ   r  rT   r   r   r   r   r  )r7   r3   rZ   r  r   r  r8   r8   r9   r:     s
    $z SendPaidReactionRequest.__init__c                    s   | || jI d H | _d S r^   r   rb   r8   r8   r9   re     s    zSendPaidReactionRequest.resolvec                 C   sH   dt | jtr| j n| j| j| j| jt | jtr>| j n| jdS )Nr  )r;   r3   rZ   r  r   r  )r<   r3   r   r=   rZ   r  r   r  r>   r8   r8   r9   r=     s    zSendPaidReactionRequest.to_dictc                 C   sz   d dtd| jd ks | jdkr$dnd| j td| jtd| jtd| j| jd ksh| jdkrldn| j fS )	Nr?   s   P˻Xrg   Fr   rh   rk   r@   )	rA   rD   rE   r  r3   rB   rZ   r  r   r>   r8   r8   r9   rB     s    " zSendPaidReactionRequest._bytesc                 C   sP   |  }| }|  }|  }| }|d@ r:| }nd }| |||||dS )Nrh   r  r  )rI   rJ   rq   rK   rs   _countr   _privater8   r8   r9   rL     s    
z#SendPaidReactionRequest.from_reader)NNr  r8   r8   r8   r9   r    s   

r  c                   @   sV   e Zd ZdZdZddeee ee dddZdd	 Zd
d Z	dd Z
edd ZdS )SendQuickReplyMessagesRequestiulr   Nr   r3   r  r  r   c                 C   s:   || _ || _|| _|dk	r|ndd tt|D | _dS )r   Nc                 S   s"   g | ]}t jtd dddqS r  r  r  r8   r8   r9   r     s     z:SendQuickReplyMessagesRequest.__init__.<locals>.<listcomp>)r3   r  r  r   r   r   )r7   r3   r  r  r   r8   r8   r9   r:     s    z&SendQuickReplyMessagesRequest.__init__c                    s   | || jI d H | _d S r^   r   rb   r8   r8   r9   re     s    z%SendQuickReplyMessagesRequest.resolvec                 C   sZ   dt | jtr| j n| j| j| jd kr.g n| jd d  | jd krHg n| jd d  dS )Nr  )r;   r3   r  r  r   )r<   r3   r   r=   r  r  r   r>   r8   r8   r9   r=     s    z%SendQuickReplyMessagesRequest.to_dictc                 C   sl   d d| j td| jdtdt| jd dd | jD dtdt| jd dd | jD f	S )Nr?   s   ulrk   r   c                 s   s   | ]}t d |V  qdS r
  r  r   r8   r8   r9   r     s     z7SendQuickReplyMessagesRequest._bytes.<locals>.<genexpr>c                 s   s   | ]}t d |V  qdS r  r  r   r8   r8   r9   r     s     )	rA   r3   rB   rD   rE   r  r   r  r   r>   r8   r8   r9   rB     s        z$SendQuickReplyMessagesRequest._bytesc                 C   s   |  }| }|  g }t| D ]}| }|| q(|  g }t| D ]}| }|| qX| ||||dS )Nr  )rF   rn   r   r   rH   )rI   rJ   rK   r  r  r;   r   r   r8   r8   r9   rL     s    z)SendQuickReplyMessagesRequest.from_reader)Nrb  r8   r8   r8   r9   r    s   			r  c                   @   s`   e Zd ZdZdZddeee ee eed  dddZ	d	d
 Z
dd Zdd Zedd ZdS )SendReactionRequestl   x& r   Nr   r)   r3   rZ   r   add_to_recentrF  c                 C   s"   || _ || _|| _|| _|| _dS r   r  )r7   r3   rZ   r   r  rF  r8   r8   r9   r:     s
    zSendReactionRequest.__init__c                    s   | || jI d H | _d S r^   r   rb   r8   r8   r9   re   '  s    zSendReactionRequest.resolvec                 C   sJ   dt | jtr| j n| j| j| j| j| jd kr6g ndd | jD dS )Nr  c                 S   s"   g | ]}t |tr| n|qS r8   r   r   r8   r8   r9   r   1  s     z/SendReactionRequest.to_dict.<locals>.<listcomp>)r;   r3   rZ   r   r  rF  )r<   r3   r   r=   rZ   r   r  rF  r>   r8   r8   r9   r=   *  s    zSendReactionRequest.to_dictc                 C   s   d dt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 td	| j| jd ks| jdkrdn.d d
td	t	| jd dd | jD ffS )Nr?   s   xrg   Fr   ri   rj   rh   rk   r   c                 s   s   | ]}|  V  qd S r^   r   r   r8   r8   r9   r   :  s     z-SendReactionRequest._bytes.<locals>.<genexpr>)
rA   rD   rE   r   r  rF  r3   rB   rZ   r   r>   r8   r8   r9   rB   4  s    ZFzSendReactionRequest._bytesc           
      C   s   |  }t|d@ }t|d@ }| }|  }|d@ rj|   g }t|  D ]}| }	||	 qPnd }| |||||dS )Nri   rj   rh   r  r
  )
rI   rJ   rq   Z_bigZ_add_to_recentrK   rs   rG  r;   r   r8   r8   r9   rL   =  s    zSendReactionRequest.from_reader)NNN)rN   rO   rP   rQ   rR   rT   r   ro   r   r:   re   r=   rB   rU   rL   r8   r8   r8   r9   r    s   (

	r  c                   @   sL   e Zd ZdZdZdee dddZdd Zd	d
 Z	dd Z
edd ZdS )SendScheduledMessagesRequestl   
qz r   r   r"  c                 C   s   || _ || _dS r   r"  r#  r8   r8   r9   r:   U  s    z%SendScheduledMessagesRequest.__init__c                    s   | || jI d H | _d S r^   r   rb   r8   r8   r9   re   \  s    z$SendScheduledMessagesRequest.resolvec                 C   s<   dt | jtr| j n| j| jd kr*g n| jd d  dS )Nr  r$  r%  r>   r8   r8   r9   r=   _  s    z$SendScheduledMessagesRequest.to_dictc              
   C   s:   d d| j dtdt| jd dd | jD fS )Nr?   s   
8r   rk   c                 s   s   | ]}t d |V  qdS r
  r  r   r8   r8   r9   r   j  s     z6SendScheduledMessagesRequest._bytes.<locals>.<genexpr>r&  r>   r8   r8   r9   rB   f  s      z#SendScheduledMessagesRequest._bytesc                 C   sD   |  }|  g }t| D ]}| }|| q | ||dS r'  r(  r)  r8   r8   r9   rL   m  s    z(SendScheduledMessagesRequest.from_readerNr*  r8   r8   r8   r9   r  Q  s   r  c                   @   sL   e Zd ZdZdZdddedddZd	d
 Zdd Zdd Z	e
dd ZdS )!SendScreenshotNotificationRequestl   XB r   Nr   r    r3   r  r   c                 C   s4   || _ || _|dk	r|ntjtdddd| _dS rq  )r3   r  rT   r   r   r   r   )r7   r3   r  r   r8   r8   r9   r:   }  s    z*SendScreenshotNotificationRequest.__init__c                    s   | || jI d H | _d S r^   r   rb   r8   r8   r9   re     s    z)SendScreenshotNotificationRequest.resolvec                 C   s@   dt | jtr| j n| jt | jtr2| j n| j| jdS )Nr  )r;   r3   r  r   )r<   r3   r   r=   r  r   r>   r8   r8   r9   r=     s
    z)SendScreenshotNotificationRequest.to_dictc              	   C   s(   d d| j | j td| jfS )Nr?   s   X@r@   )rA   r3   rB   r  rD   rE   r   r>   r8   r8   r9   rB     s    z(SendScreenshotNotificationRequest._bytesc                 C   s&   |  }|  }| }| |||dS )Nr  r  )rI   rJ   rK   r  r   r8   r8   r9   rL     s    z-SendScreenshotNotificationRequest.from_reader)Nr   r8   r8   r8   r9   r  y  s   r  c                   @   sN   e Zd ZdZdZdeee dddZdd Z	d	d
 Z
dd Zedd ZdS )SendVoteRequestiar   r   r3   rZ   optionsc                 C   s   || _ || _|| _dS r   r  )r7   r3   rZ   r  r8   r8   r9   r:     s    zSendVoteRequest.__init__c                    s   | || jI d H | _d S r^   r   rb   r8   r8   r9   re     s    zSendVoteRequest.resolvec                 C   s@   dt | jtr| j n| j| j| jd kr.g n| jd d  dS )Nr  )r;   r3   rZ   r  )r<   r3   r   r=   rZ   r  r>   r8   r8   r9   r=     s
    zSendVoteRequest.to_dictc                    sJ   d d j td jdtdt jd  fdd jD fS )Nr?   s   ark   r   c                 3   s   | ]}  |V  qd S r^   r  r   r>   r8   r9   r     s     z)SendVoteRequest._bytes.<locals>.<genexpr>)rA   r3   rB   rD   rE   rZ   r   r  r>   r8   r>   r9   rB     s      zSendVoteRequest._bytesc                 C   sN   |  }| }|  g }t| D ]}| }|| q(| |||dS )Nr  )rF   rn   r   rG   r   )rI   rJ   rK   rs   _optionsr;   r   r8   r8   r9   rL     s    zSendVoteRequest.from_readerN)rN   rO   rP   rQ   rR   rT   r   rS   r:   re   r=   rB   rU   rL   r8   r8   r8   r9   r    s   r  c                   @   sN   e Zd ZdZdZddeeedddZdd	 Zd
d Z	dd Z
edd ZdS )SendWebViewDataRequestl   B8 r   Nr$   r  button_textr  r   c                 C   s:   || _ || _|| _|dk	r|ntjtdddd| _dS rq  )r  r  r  rT   r   r   r   r   )r7   r  r  r  r   r8   r8   r9   r:     s    zSendWebViewDataRequest.__init__c                    s   | || jI d H | _d S r^   r  rb   r8   r8   r9   re     s    zSendWebViewDataRequest.resolvec                 C   s.   dt | jtr| j n| j| j| j| jdS )Nr  )r;   r  r  r  r   )r<   r  r   r=   r  r  r   r>   r8   r8   r9   r=     s    zSendWebViewDataRequest.to_dictc              	   C   s4   d d| j td| j| | j| | jfS )Nr?   s   Br@   )	rA   r  rB   rD   rE   r   rC   r  r  r>   r8   r8   r9   rB     s    

zSendWebViewDataRequest._bytesc                 C   s0   |  }| }| }| }| ||||dS )Nr  rF   rH   rp   )rI   rJ   r  r   Z_button_textr  r8   r8   r9   rL     s
    z"SendWebViewDataRequest.from_reader)NrN   rO   rP   rQ   rR   rv   rT   r:   re   r=   rB   rU   rL   r8   r8   r8   r9   r    s   			r  c                   @   s@   e Zd ZdZdZeddddZdd Zd	d
 Ze	dd Z
dS )SendWebViewResultMessageRequestiC
iur   bot_query_idr<  c                 C   s   || _ || _dS )zN
        :returns WebViewMessageSent: Instance of WebViewMessageSent.
        Nr  )r7   r  r<  r8   r8   r9   r:     s    z(SendWebViewResultMessageRequest.__init__c                 C   s&   d| j t| jtr| j n| jdS )Nr  )r;   r  r<  )r  r<   r<  r   r=   r>   r8   r8   r9   r=     s    z'SendWebViewResultMessageRequest.to_dictc                 C   s   d d| | j| j fS )Nr?   s   C
)rA   rC   r  r<  rB   r>   r8   r8   r9   rB   	  s
    
z&SendWebViewResultMessageRequest._bytesc                 C   s   |  }| }| ||dS )Nr  )rp   rF   )rI   rJ   Z_bot_query_idr>  r8   r8   r9   rL     s    z+SendWebViewResultMessageRequest.from_readerNr   r8   r8   r8   r9   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 )SetBotCallbackAnswerRequestl   
+ r   Nr  
cache_timealertrW  r\   c                 C   s"   || _ || _|| _|| _|| _dS r   r  )r7   r  r  r  rW  r\   r8   r8   r9   r:     s
    z$SetBotCallbackAnswerRequest.__init__c                 C   s   d| j | j| j| j| jdS )Nr  )r;   r  r  r  rW  r\   r  r>   r8   r8   r9   r=   %  s    z#SetBotCallbackAnswerRequest.to_dictc                 C   s   d dt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 td	| j| jd ks| jdkrdn
| | j| jd ks| jdkrdn
| | jtd
| jfS )Nr?   s   
rg   Fr   ri   rh   rj   r@   rk   )	rA   rD   rE   r  rW  r\   r  rC   r  r>   r8   r8   r9   rB   /  s    Z""z"SetBotCallbackAnswerRequest._bytesc                 C   sb   |  }t|d@ }| }|d@ r.| }nd }|d@ rD| }nd }|  }| |||||dS )Nri   rh   rj   r  rn   ro   rH   rp   )rI   rJ   rq   Z_alertr  r`  ru   _cache_timer8   r8   r9   rL   9  s    

z'SetBotCallbackAnswerRequest.from_reader)NNNrN   rO   rP   rQ   rR   rT   r   ro   rv   r:   r=   rB   rU   rL   r8   r8   r8   r9   r    s   $


r  c                   @   sL   e Zd ZdZdZdeee ee dddZ	dd Z
d	d
 Zedd ZdS )SetBotPrecheckoutResultsRequesti	r   Nr  successerrorc                 C   s   || _ || _|| _dS r   r  )r7   r  r  r  r8   r8   r9   r:   O  s    z(SetBotPrecheckoutResultsRequest.__init__c                 C   s   d| j | j| jdS )Nr  )r;   r  r  r  r  r>   r8   r8   r9   r=   W  s
    z'SetBotPrecheckoutResultsRequest.to_dictc              	   C   sx   d dtd| jd ks | jdkr$dnd| jd ks:| jdkr>dndB td| j| jd ksd| jdkrhdn
| | jfS )	Nr?   s   	rg   Fr   ri   rh   r@   )rA   rD   rE   r  r  r  rC   r>   r8   r8   r9   rB   _  s    >"z&SetBotPrecheckoutResultsRequest._bytesc                 C   s@   |  }t|d@ }| }|d@ r.| }nd }| |||dS )Nri   rh   r  r  )rI   rJ   rq   Z_successr  _errorr8   r8   r9   rL   g  s    
z+SetBotPrecheckoutResultsRequest.from_reader)NNr  r8   r8   r8   r9   r  K  s   r  c                   @   sP   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 )SetBotShippingResultsRequestl   rK r   Nr,   r  r  shipping_optionsc                 C   s   || _ || _|| _dS r   r  )r7   r  r  r  r8   r8   r9   r:   x  s    z%SetBotShippingResultsRequest.__init__c                 C   s,   d| j | j| jd krg ndd | jD dS )Nr  c                 S   s"   g | ]}t |tr| n|qS r8   r   r   r8   r8   r9   r     s     z8SetBotShippingResultsRequest.to_dict.<locals>.<listcomp>)r;   r  r  r  r  r>   r8   r8   r9   r=     s
    z$SetBotShippingResultsRequest.to_dictc                 C   s   d dtd| jd ks | jdkr$dnd| jd ks:| jdkr>dndB td| j| jd ksd| jdkrhdn
| | j| jd ks| jdkrdn.d d	td
t| jd dd | jD ffS )Nr?   s   rrg   Fr   rh   ri   r@   r   rk   c                 s   s   | ]}|  V  qd S r^   r   r   r8   r8   r9   r     s     z6SetBotShippingResultsRequest._bytes.<locals>.<genexpr>)rA   rD   rE   r  r  r  rC   r   r>   r8   r8   r9   rB     s    >"Fz#SetBotShippingResultsRequest._bytesc                 C   sr   |  }| }|d@ r"| }nd }|d@ r`|   g }t|  D ]}| }|| qFnd }| |||dS )Nrh   ri   r  )rn   rH   rp   r   rF   r   )rI   rJ   rq   r  r  Z_shipping_optionsr;   r   r8   r8   r9   rL     s    
z(SetBotShippingResultsRequest.from_reader)NN)rN   rO   rP   rQ   rR   rT   r   rv   r   r:   r=   rB   rU   rL   r8   r8   r8   r9   r  t  s    	r  c                   @   sV   e Zd ZdZdZdddee ee dddZd	d
 Z	dd Z
dd Zedd ZdS ) SetChatAvailableReactionsRequestl   % r   Nr   r   r3   available_reactionsreactions_limitpaid_enabledc                 C   s   || _ || _|| _|| _dS r   r  )r7   r3   r  r  r  r8   r8   r9   r:     s    z)SetChatAvailableReactionsRequest.__init__c                    s   | || jI d H | _d S r^   r   rb   r8   r8   r9   re     s    z(SetChatAvailableReactionsRequest.resolvec                 C   sD   dt | jtr| j n| jt | jtr2| j n| j| j| jdS )Nr  )r;   r3   r  r  r  )r<   r3   r   r=   r  r  r  r>   r8   r8   r9   r=     s    z(SetChatAvailableReactionsRequest.to_dictc              
   C   s   d dtd| jd ks | jdkr$dnd| jd kr4dndB | j | j | jd ks^| jdkrbdntd| j| jd kr|dn| jrd	nd
fS )Nr?   s   %Krg   Fr   rh   ri   rk   r5  r6  )rA   rD   rE   r  r  r3   rB   r  r>   r8   r8   r9   rB     s    4$z'SetChatAvailableReactionsRequest._bytesc                 C   sT   |  }| }| }|d@ r*|  }nd }|d@ r@| }nd }| ||||dS )Nrh   ri   r  )rn   rF   r7  )rI   rJ   rq   rK   Z_available_reactionsZ_reactions_limitZ_paid_enabledr8   r8   r9   rL     s    

z,SetChatAvailableReactionsRequest.from_reader)NN)rN   rO   rP   rQ   rR   r   rT   ro   r:   re   r=   rB   rU   rL   r8   r8   r8   r9   r    s   		
r  c                   @   sH   e Zd ZdZdZdedddZdd Zd	d
 Zdd Z	e
dd ZdS )SetChatThemeRequestl   ?awL r   r   r3   r  c                 C   s   || _ || _dS r   r  )r7   r3   r  r8   r8   r9   r:     s    zSetChatThemeRequest.__init__c                    s   | || jI d H | _d S r^   r   rb   r8   r8   r9   re     s    zSetChatThemeRequest.resolvec                 C   s&   dt | jtr| j n| j| jdS )Nr  )r;   r3   r  )r<   r3   r   r=   r  r>   r8   r8   r9   r=     s    zSetChatThemeRequest.to_dictc                 C   s   d d| j | | jfS )Nr?   s   ?;)rA   r3   rB   rC   r  r>   r8   r8   r9   rB     s
    
zSetChatThemeRequest._bytesc                 C   s   |  }| }| ||dS )Nr  r   )rI   rJ   rK   r  r8   r8   r9   rL     s    zSetChatThemeRequest.from_readerNr   r8   r8   r8   r9   r    s   r  c                   @   sf   e Zd ZdZdZddee ee ed ed ee ddd	Zd
d Z	dd Z
dd Zedd ZdS )SetChatWallPaperRequestl   J r   Nr   r%   r/   r3   for_bothrevert	wallpapersettingsr  c                 C   s(   || _ || _|| _|| _|| _|| _dS r   r  )r7   r3   r  r  r  r  r  r8   r8   r9   r:      s    z SetChatWallPaperRequest.__init__c                    s   | || jI d H | _d S r^   r   rb   r8   r8   r9   re      s    zSetChatWallPaperRequest.resolvec                 C   sb   dt | jtr| j n| j| j| jt | jtr:| j n| jt | jtrT| j n| j| jdS )Nr  )r;   r3   r  r  r  r  r  )	r<   r3   r   r=   r  r  r  r  r  r>   r8   r8   r9   r=      s    zSetChatWallPaperRequest.to_dictc                 C   s
  d dt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d ksr| jdkrvdnd	B | jd ks| jdkrdnd
B | j	 | jd ks| jdkrdn| j	 | jd ks| jdkrdn| j	 | jd ks| jdkrdntd| jfS )Nr?   s   rg   Fr   r   rJ  rh   rj   ri   rk   )
rA   rD   rE   r  r  r  r  r  r3   rB   r>   r8   r8   r9   rB      s      $zSetChatWallPaperRequest._bytesc           	      C   s~   |  }t|d@ }t|d@ }| }|d@ r:| }nd }|d@ rP| }nd }|d@ rf|  }nd }| ||||||dS )Nr   rJ  rh   rj   ri   r  r  )	rI   rJ   rq   Z	_for_bothZ_revertrK   Z
_wallpaperZ	_settingsr  r8   r8   r9   rL   $   s    


z#SetChatWallPaperRequest.from_reader)NNNNN)rN   rO   rP   rQ   rR   r   ro   rT   r:   re   r=   rB   rU   rL   r8   r8   r8   r9   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 )SetDefaultHistoryTTLRequestl   Ej= r   periodc                 C   s
   || _ dS r   r  )r7   r  r8   r8   r9   r:   >   s    z$SetDefaultHistoryTTLRequest.__init__c                 C   s   d| j dS )Nr  )r;   r  r  r>   r8   r8   r9   r=   D   s    z#SetDefaultHistoryTTLRequest.to_dictc                 C   s   d dtd| jfS )Nr?   s   Erk   )rA   rD   rE   r  r>   r8   r8   r9   rB   J   s    z"SetDefaultHistoryTTLRequest._bytesc                 C   s   |  }| |dS )Nr  r  )rI   rJ   _periodr8   r8   r9   rL   P   s    z'SetDefaultHistoryTTLRequest.from_readerNr   r8   r8   r8   r9   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 )SetDefaultReactionRequestiGOr   r)   rF  c                 C   s
   || _ dS r   r  )r7   rF  r8   r8   r9   r:   Z   s    z"SetDefaultReactionRequest.__init__c                 C   s"   dt | jtr| j n| jdS )Nr  )r;   rF  )r<   rF  r   r=   r>   r8   r8   r9   r=   `   s    z!SetDefaultReactionRequest.to_dictc                 C   s   d d| j fS )Nr?   s   GO)rA   rF  rB   r>   r8   r8   r9   rB   f   s    z SetDefaultReactionRequest._bytesc                 C   s   |  }| |dS )Nr  r   )rI   rJ   rG  r8   r8   r9   rL   l   s    z%SetDefaultReactionRequest.from_readerNr  r8   r8   r8   r9   r  V   s   r  c                   @   s@   e Zd ZdZdZdedddZdd Zd	d
 Ze	dd Z
dS )SetEncryptedTypingRequestiQyr   r   r3   typingc                 C   s   || _ || _dS r   r  )r7   r3   r  r8   r8   r9   r:   v   s    z"SetEncryptedTypingRequest.__init__c                 C   s&   dt | jtr| j n| j| jdS )Nr  )r;   r3   r  )r<   r3   r   r=   r  r>   r8   r8   r9   r=   }   s    z!SetEncryptedTypingRequest.to_dictc                 C   s    d d| j | jrdndfS )Nr?   s   Qyr5  r6  )rA   r3   rB   r  r>   r8   r8   r9   rB      s
    z SetEncryptedTypingRequest._bytesc                 C   s   |  }| }| ||dS )Nr  rw  )rI   rJ   rK   _typingr8   r8   r9   rL      s    z%SetEncryptedTypingRequest.from_readerNr  r8   r8   r8   r9   r  r   s   r  c                   @   sZ   e Zd ZdZdZddedeee ee dddZd	d
 Z	dd Z
dd Zedd ZdS )SetGameScoreRequestl   l r   Nr   r$   r3   r  r{   scoreedit_messager  c                 C   s(   || _ || _|| _|| _|| _|| _dS r   r  )r7   r3   r  r{   r  r  r  r8   r8   r9   r:      s    zSetGameScoreRequest.__init__c                    s8   | || jI d H | _||| jI d H | _d S r^   r(  rb   r8   r8   r9   re      s    zSetGameScoreRequest.resolvec                 C   sL   dt | jtr| j n| j| jt | jtr6| j n| j| j| j| jdS )Nr  )r;   r3   r  r{   r  r  r  )	r<   r3   r   r=   r  r{   r  r  r  r>   r8   r8   r9   r=      s    zSetGameScoreRequest.to_dictc                 C   sr   d dt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 td| j| j td| j	fS )	Nr?   s   rg   Fr   rh   ri   rk   )
rA   rD   rE   r  r  r3   rB   r  r{   r  r>   r8   r8   r9   rB      s    >zSetGameScoreRequest._bytesc           	      C   sT   |  }t|d@ }t|d@ }| }|  }| }|  }| ||||||dS )Nrh   ri   r  r  )	rI   rJ   rq   _edit_messager  rK   r  r   _scorer8   r8   r9   rL      s    zSetGameScoreRequest.from_reader)NNr   r8   r8   r8   r9   r     s   "
r  c                   @   sH   e Zd ZdZdZdedddZdd Zd	d
 Zdd Z	e
dd ZdS )SetHistoryTTLRequestl   _p r   r   r3   r  c                 C   s   || _ || _dS r   r  )r7   r3   r  r8   r8   r9   r:      s    zSetHistoryTTLRequest.__init__c                    s   | || jI d H | _d S r^   r   rb   r8   r8   r9   re      s    zSetHistoryTTLRequest.resolvec                 C   s&   dt | jtr| j n| j| jdS )Nr  )r;   r3   r  )r<   r3   r   r=   r  r>   r8   r8   r9   r=      s    zSetHistoryTTLRequest.to_dictc                 C   s    d d| j td| jfS )Nr?   s   _rk   )rA   r3   rB   rD   rE   r  r>   r8   r8   r9   rB      s
    zSetHistoryTTLRequest._bytesc                 C   s   |  }| }| ||dS )Nr  r   )rI   rJ   rK   r  r8   r8   r9   rL      s    z SetHistoryTTLRequest.from_readerNr   r8   r8   r8   r9   r     s   r  c                
   @   sf   e Zd ZdZdZdeed eee ee ee	 ed ed ddd	Z
d
d Zdd Zedd ZdS )SetInlineBotResultsRequestl   $%v r   Nr   r   r   r  resultsr  galleryr  next_offset	switch_pmswitch_webviewc	           	      C   s4   || _ || _|| _|| _|| _|| _|| _|| _dS r   r  )	r7   r  r  r  r  r  r  r  r  r8   r8   r9   r:      s    z#SetInlineBotResultsRequest.__init__c                 C   sl   d| j | jd krg ndd | jD | j| j| j| jt| jtrH| j	 n| jt| j
trb| j
	 n| j
d	S )Nr  c                 S   s"   g | ]}t |tr| n|qS r8   r   r   r8   r8   r9   r      s     z6SetInlineBotResultsRequest.to_dict.<locals>.<listcomp>)	r;   r  r  r  r  r  r  r  r  )r  r  r  r  r  r  r<   r  r   r=   r  r>   r8   r8   r9   r=      s    z"SetInlineBotResultsRequest.to_dictc                 C   sF  d dt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d ksr| jdkrvdnd	B | jd ks| jdkrdnd
B td| jdtdt	| j
d dd | j
D td| j| jd ks| jdkrdn
| | j| jd ks| jdkrdn| j | jd ks4| jdkr8dn| j f
S )Nr?   s   rg   Fr   rh   ri   rj   r   rJ  r@   r   rk   c                 s   s   | ]}|  V  qd S r^   r   r   r8   r8   r9   r   !  s     z4SetInlineBotResultsRequest._bytes.<locals>.<genexpr>)rA   rD   rE   r  r  r  r  r  r  r   r  r  rC   rB   r>   r8   r8   r9   rB   !  s      "$$z!SetInlineBotResultsRequest._bytesc              
   C   s   |  }t|d@ }t|d@ }| }|   g }t|  D ]}| }|| q@|  }	|d@ rr| }
nd }
|d@ r| }nd }|d@ r| }nd }| |||	|||
||dS )Nrh   ri   rj   r   rJ  r  )rn   ro   rH   r   rF   r   rp   )rI   rJ   rq   Z_galleryr  r  Z_resultsr;   r   r  Z_next_offsetZ
_switch_pmZ_switch_webviewr8   r8   r9   rL   !  s(    


z&SetInlineBotResultsRequest.from_reader)NNNNN)rN   rO   rP   rQ   rR   rT   r   r   ro   rv   r:   r=   rB   rU   rL   r8   r8   r8   r9   r     s   6r  c                   @   sX   e Zd ZdZdZdddeee ee dddZd	d
 Z	dd Z
dd Zedd ZdS )SetInlineGameScoreRequestidr   Nr   r$   r  r{   r  r  r  c                 C   s"   || _ || _|| _|| _|| _dS r   r  )r7   r  r{   r  r  r  r8   r8   r9   r:   5!  s
    z"SetInlineGameScoreRequest.__init__c                    s   | || jI d H | _d S r^   r~   rb   r8   r8   r9   re   ?!  s    z!SetInlineGameScoreRequest.resolvec                 C   sH   dt | jtr| j n| jt | jtr2| j n| j| j| j| jdS )Nr  )r;   r  r{   r  r  r  )r<   r  r   r=   r{   r  r  r  r>   r8   r8   r9   r=   B!  s    z!SetInlineGameScoreRequest.to_dictc              
   C   sf   d dt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 td| jfS )	Nr?   s   drg   Fr   rh   ri   rk   )	rA   rD   rE   r  r  r  rB   r{   r  r>   r8   r8   r9   rB   L!  s    >z SetInlineGameScoreRequest._bytesc                 C   sJ   |  }t|d@ }t|d@ }| }| }|  }| |||||dS )Nrh   ri   r  r  )rI   rJ   rq   r  r  r  r   r  r8   r8   r9   rL   U!  s    z%SetInlineGameScoreRequest.from_reader)NNr   r8   r8   r8   r9   r  1!  s    

	r  c                   @   sP   e Zd ZdZdZdddee dddZd	d
 Zdd Z	dd Z
edd ZdS )SetTypingRequesti>Xr   Nr   r+   r3   actionr  c                 C   s   || _ || _|| _dS r   r  )r7   r3   r  r  r8   r8   r9   r:   e!  s    zSetTypingRequest.__init__c                    s   | || jI d H | _d S r^   r   rb   r8   r8   r9   re   m!  s    zSetTypingRequest.resolvec                 C   s@   dt | jtr| j n| jt | jtr2| j n| j| jdS )Nr  )r;   r3   r  r  )r<   r3   r   r=   r  r  r>   r8   r8   r9   r=   p!  s
    zSetTypingRequest.to_dictc              	   C   sb   d dtd| jd ks | jdkr$dnd| j | jd ksD| jdkrHdntd| j| j fS )Nr?   s   >Xrg   Fr   rh   rk   )rA   rD   rE   r  r3   rB   r  r>   r8   r8   r9   rB   x!  s    "$zSetTypingRequest._bytesc                 C   s<   |  }| }|d@ r"|  }nd }| }| |||dS )Nrh   r  r  )rI   rJ   rq   rK   r  _actionr8   r8   r9   rL   !  s    
zSetTypingRequest.from_reader)Nr  r8   r8   r8   r9   r  a!  s   	r  c                   @   sN   e Zd ZdZdZdddeedddZd	d
 Zdd Z	dd Z
edd ZdS )StartBotRequestl   xsM r   Nr$   r   r  r3   r  r   c                 C   s:   || _ || _|| _|dk	r|ntjtdddd| _dS rq  )r  r3   r  rT   r   r   r   r   )r7   r  r3   r  r   r8   r8   r9   r:   !  s    zStartBotRequest.__init__c                    s8   | || jI d H | _||| jI d H | _d S r^   r=  rb   r8   r8   r9   re   !  s    zStartBotRequest.resolvec                 C   sD   dt | jtr| j n| jt | jtr2| j n| j| j| jdS )Nr  )r;   r  r3   r  r   )r<   r  r   r=   r3   r  r   r>   r8   r8   r9   r=   !  s    zStartBotRequest.to_dictc              	   C   s2   d d| j | j td| j| | jfS )Nr?   s   xsr@   )	rA   r  rB   r3   rD   rE   r   rC   r  r>   r8   r8   r9   rB   !  s    
zStartBotRequest._bytesc                 C   s0   |  }|  }| }| }| ||||dS )Nr  r  )rI   rJ   r  rK   r   r  r8   r8   r9   rL   !  s
    zStartBotRequest.from_reader)Nr  r8   r8   r8   r9   r  !  s   			r  c                   @   sH   e Zd ZdZdZdedddZdd Zd	d
 Zdd Z	e
dd ZdS )StartHistoryImportRequestl   Ds{h r   r   r3   	import_idc                 C   s   || _ || _dS r   r  )r7   r3   r  r8   r8   r9   r:   !  s    z"StartHistoryImportRequest.__init__c                    s   | || jI d H | _d S r^   r   rb   r8   r8   r9   re   !  s    z!StartHistoryImportRequest.resolvec                 C   s&   dt | jtr| j n| j| jdS )Nr  )r;   r3   r  )r<   r3   r   r=   r  r>   r8   r8   r9   r=   !  s    z!StartHistoryImportRequest.to_dictc                 C   s    d d| j td| jfS )Nr?   s   D=r@   )rA   r3   rB   rD   rE   r  r>   r8   r8   r9   rB   !  s
    z StartHistoryImportRequest._bytesc                 C   s   |  }| }| ||dS )Nr  r  )rI   rJ   rK   
_import_idr8   r8   r9   rL   !  s    z%StartHistoryImportRequest.from_readerNr   r8   r8   r8   r9   r  !  s   r  c                   @   sP   e Zd ZdZdZddeee dddZdd	 Zd
d Z	dd Z
edd ZdS )ToggleBotInAttachMenuRequestiiir   Nr$   r  enabledrY   c                 C   s   || _ || _|| _dS r   r  )r7   r  r  rY   r8   r8   r9   r:   !  s    z%ToggleBotInAttachMenuRequest.__init__c                    s   | || jI d H | _d S r^   r  rb   r8   r8   r9   re   !  s    z$ToggleBotInAttachMenuRequest.resolvec                 C   s*   dt | jtr| j n| j| j| jdS )Nr  )r;   r  r  rY   )r<   r  r   r=   r  rY   r>   r8   r8   r9   r=   !  s
    z$ToggleBotInAttachMenuRequest.to_dictc                 C   sB   d dtd| jd ks | jdkr$dnd| j | jr:dndfS )	Nr?   s   iirg   Fr   rh   r5  r6  )rA   rD   rE   rY   r  rB   r  r>   r8   r8   r9   rB   !  s    "z#ToggleBotInAttachMenuRequest._bytesc                 C   s2   |  }t|d@ }| }| }| |||dS )Nrh   r  rA  )rI   rJ   rq   rr   r  _enabledr8   r8   r9   rL   !  s
    z(ToggleBotInAttachMenuRequest.from_reader)NrB  r8   r8   r8   r9   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 )ToggleDialogFilterTagsRequestl   IZ[z r   r  c                 C   s
   || _ dS r   r  )r7   r  r8   r8   r9   r:   
"  s    z&ToggleDialogFilterTagsRequest.__init__c                 C   s   d| j dS )Nr  )r;   r  r  r>   r8   r8   r9   r=   "  s    z%ToggleDialogFilterTagsRequest.to_dictc                 C   s   d d| jrdndfS )Nr?   s   I-r5  r6  )rA   r  r>   r8   r8   r9   rB   "  s    z$ToggleDialogFilterTagsRequest._bytesc                 C   s   |  }| |dS )Nr  )r7  )rI   rJ   r  r8   r8   r9   rL   "  s    z)ToggleDialogFilterTagsRequest.from_readerNr  r8   r8   r8   r9   r  "  s   r  c                   @   sN   e Zd ZdZdZddee dddZdd	 Zd
d Z	dd Z
edd ZdS )ToggleDialogPinRequestl   WbcN r   Nr   r3   pinnedc                 C   s   || _ || _dS r   r  r7   r3   r  r8   r8   r9   r:   &"  s    zToggleDialogPinRequest.__init__c                    s   | | jI d H | _d S r^   r  rb   r8   r8   r9   re   -"  s    zToggleDialogPinRequest.resolvec                 C   s&   dt | jtr| j n| j| jdS )Nr  r;   r3   r  r<   r3   r   r=   r  r>   r8   r8   r9   r=   0"  s    zToggleDialogPinRequest.to_dictc                 C   s6   d dtd| jd ks | jdkr$dnd| j fS )Nr?   s   W1rg   Fr   rh   rA   rD   rE   r  r3   rB   r>   r8   r8   r9   rB   7"  s
    "zToggleDialogPinRequest._bytesc                 C   s(   |  }t|d@ }| }| ||dS Nrh   r  r  rI   rJ   rq   Z_pinnedrK   r8   r8   r9   rL   >"  s    z"ToggleDialogPinRequest.from_reader)Nr  r8   r8   r8   r9   r  ""  s   r  c                   @   sH   e Zd ZdZdZdedddZdd Zd	d
 Zdd Z	e
dd ZdS )ToggleNoForwardsRequestl   /=b r   r   r3   r  c                 C   s   || _ || _dS r   r  )r7   r3   r  r8   r8   r9   r:   K"  s    z ToggleNoForwardsRequest.__init__c                    s   | || jI d H | _d S r^   r   rb   r8   r8   r9   re   R"  s    zToggleNoForwardsRequest.resolvec                 C   s&   dt | jtr| j n| j| jdS )Nr  )r;   r3   r  )r<   r3   r   r=   r  r>   r8   r8   r9   r=   U"  s    zToggleNoForwardsRequest.to_dictc                 C   s    d d| j | jrdndfS )Nr?   s   r5  r6  )rA   r3   rB   r  r>   r8   r8   r9   rB   \"  s
    zToggleNoForwardsRequest._bytesc                 C   s   |  }| }| ||dS )Nr  rw  )rI   rJ   rK   r  r8   r8   r9   rL   c"  s    z#ToggleNoForwardsRequest.from_readerNrx  r8   r8   r8   r9   r  G"  s   r  c                   @   sJ   e Zd ZdZdZdeddddZdd	 Zd
d Zdd Z	e
dd ZdS ) TogglePaidReactionPrivacyRequestiXCr   r   r(   r3   rZ   r  c                 C   s   || _ || _|| _dS r   r  )r7   r3   rZ   r  r8   r8   r9   r:   n"  s    z)TogglePaidReactionPrivacyRequest.__init__c                    s   | || jI d H | _d S r^   r   rb   r8   r8   r9   re   v"  s    z(TogglePaidReactionPrivacyRequest.resolvec                 C   s@   dt | jtr| j n| j| jt | jtr6| j n| jdS )Nr  )r;   r3   rZ   r  )r<   r3   r   r=   rZ   r  r>   r8   r8   r9   r=   y"  s
    z(TogglePaidReactionPrivacyRequest.to_dictc                 C   s(   d d| j td| j| j fS )Nr?   s   XCrk   )rA   r3   rB   rD   rE   rZ   r  r>   r8   r8   r9   rB   "  s    z'TogglePaidReactionPrivacyRequest._bytesc                 C   s&   |  }| }|  }| |||dS )Nr  r   )rI   rJ   rK   rs   r  r8   r8   r9   rL   "  s    z,TogglePaidReactionPrivacyRequest.from_readerNr   r8   r8   r8   r9   r  j"  s   r  c                   @   sN   e Zd ZdZdZddee dddZdd	 Zd
d Z	dd Z
edd ZdS )TogglePeerTranslationsRequestl   y5H r   Nr   r3   disabledc                 C   s   || _ || _dS r   r  )r7   r3   r  r8   r8   r9   r:   "  s    z&TogglePeerTranslationsRequest.__init__c                    s   | || jI d H | _d S r^   r   rb   r8   r8   r9   re   "  s    z%TogglePeerTranslationsRequest.resolvec                 C   s&   dt | jtr| j n| j| jdS )Nr  )r;   r3   r  )r<   r3   r   r=   r  r>   r8   r8   r9   r=   "  s    z%TogglePeerTranslationsRequest.to_dictc                 C   s6   d dtd| jd ks | jdkr$dnd| j fS )Nr?   s   y|rg   Fr   rh   )rA   rD   rE   r  r3   rB   r>   r8   r8   r9   rB   "  s
    "z$TogglePeerTranslationsRequest._bytesc                 C   s(   |  }t|d@ }| }| ||dS )Nrh   r  r  )rI   rJ   rq   Z	_disabledrK   r8   r8   r9   rL   "  s    z)TogglePeerTranslationsRequest.from_reader)Nr  r8   r8   r8   r9   r  "  s   r  c                   @   sN   e Zd ZdZdZddee dddZdd	 Zd
d Z	dd Z
edd ZdS )ToggleSavedDialogPinRequestl   ;Y r   Nr   r  c                 C   s   || _ || _dS r   r  r  r8   r8   r9   r:   "  s    z$ToggleSavedDialogPinRequest.__init__c                    s   | | jI d H | _d S r^   r  rb   r8   r8   r9   re   "  s    z#ToggleSavedDialogPinRequest.resolvec                 C   s&   dt | jtr| j n| j| jdS )Nr  r  r  r>   r8   r8   r9   r=   "  s    z#ToggleSavedDialogPinRequest.to_dictc                 C   s6   d dtd| jd ks | jdkr$dnd| j fS )Nr?   s   ޻rg   Fr   rh   r  r>   r8   r8   r9   rB   "  s
    "z"ToggleSavedDialogPinRequest._bytesc                 C   s(   |  }t|d@ }| }| ||dS r  r  r  r8   r8   r9   rL   "  s    z'ToggleSavedDialogPinRequest.from_reader)Nr  r8   r8   r8   r9   r  "  s   r  c                   @   sV   e Zd ZdZdZded ee ee ee dddZdd	 Z	d
d Z
edd ZdS )ToggleStickerSetsRequestl   /
j r   Nr"   stickersets	uninstallarchive	unarchivec                 C   s   || _ || _|| _|| _dS r   r  )r7   r  r  r  r  r8   r8   r9   r:   "  s    z!ToggleStickerSetsRequest.__init__c                 C   s0   d| j d krg ndd | j D | j| j| jdS )Nr  c                 S   s"   g | ]}t |tr| n|qS r8   r   r   r8   r8   r9   r   "  s     z4ToggleStickerSetsRequest.to_dict.<locals>.<listcomp>)r;   r  r  r  r  r  r>   r8   r8   r9   r=   "  s    z ToggleStickerSetsRequest.to_dictc              
   C   s   d dt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 d	td
t| jd dd | jD fS )Nr?   s   /rg   Fr   rh   ri   rj   r   rk   c                 s   s   | ]}|  V  qd S r^   r   r   r8   r8   r9   r   "  s     z2ToggleStickerSetsRequest._bytes.<locals>.<genexpr>)rA   rD   rE   r  r  r  r   r  r>   r8   r8   r9   rB   "  s    Z  zToggleStickerSetsRequest._bytesc           	      C   sl   |  }t|d@ }t|d@ }t|d@ }|   g }t|  D ]}| }|| qD| ||||dS )Nrh   ri   rj   r  r  )	rI   rJ   rq   Z
_uninstallZ_archiveZ
_unarchiveZ_stickersetsr;   r   r8   r8   r9   rL   "  s    z$ToggleStickerSetsRequest.from_reader)NNN)rN   rO   rP   rQ   rR   r   r   ro   r:   r=   rB   rU   rL   r8   r8   r8   r9   r  "  s   &		r  c                   @   sH   e Zd ZdZdZdedddZdd Zd	d
 Zdd Z	e
dd ZdS )TranscribeAudioRequestiI&i6I!r   r   c                 C   s   || _ || _dS )zS
        :returns messages.TranscribedAudio: Instance of TranscribedAudio.
        Nr   r   r8   r8   r9   r:   #  s    zTranscribeAudioRequest.__init__c                    s   | || jI d H | _d S r^   r   rb   r8   r8   r9   re   #  s    zTranscribeAudioRequest.resolvec                 C   s&   dt | jtr| j n| j| jdS )Nr  r   r   r>   r8   r8   r9   r=   #  s    zTranscribeAudioRequest.to_dictc                 C   s    d d| j td| jfS )Nr?   s   I&rk   r   r>   r8   r8   r9   rB   #  s
    zTranscribeAudioRequest._bytesc                 C   s   |  }| }| ||dS r   r   r   r8   r8   r9   rL   $#  s    z"TranscribeAudioRequest.from_readerNr   r8   r8   r8   r9   r  #  s   r  c                   @   sb   e Zd ZdZdZdeed eee  eed  dddZ	d	d
 Z
dd Zdd Zedd ZdS )TranslateTextRequesti00ciCBNr   r.   to_langr3   r  rQ  c                 C   s   || _ || _|| _|| _dS )zP
        :returns messages.TranslatedText: Instance of TranslateResult.
        Nr  )r7   r  r3   r  rQ  r8   r8   r9   r:   /#  s    zTranslateTextRequest.__init__c                    s$   | j r ||| j I d H | _ d S r^   r_   rb   r8   r8   r9   re   8#  s    zTranslateTextRequest.resolvec                 C   s\   d| j t| jtr| j n| j| jd kr.g n| jd d  | jd krHg ndd | jD dS )Nr  c                 S   s"   g | ]}t |tr| n|qS r8   r   r   r8   r8   r9   r   B#  s     z0TranslateTextRequest.to_dict.<locals>.<listcomp>)r;   r  r3   r  rQ  )r  r<   r3   r   r=   r  rQ  r>   r8   r8   r9   r=   <#  s    zTranslateTextRequest.to_dictc                 C   sp  | j s| j d k	r | jsP| jd k	sP| j d ks4| j dkrH| jd ksP| jdksPtdddtd| j d ksp| j dkrtdnd| jd ks| jdkrdndB | jd ks| jdkrdndB | j d ks| j dkrdn| j  | jd ks| jdkrdn.dd	td
t| jddd | jD f| jd ks.| jdkr2dn.dd	td
t| jddd | jD f| 	| j
fS )NFzDpeer, id parameters must all be False-y (like None) or all me True-yr?   s   00crg   r   rh   ri   r   rk   c                 s   s   | ]}t d |V  qdS r
  r  r   r8   r8   r9   r   K#  s     z.TranslateTextRequest._bytes.<locals>.<genexpr>c                 s   s   | ]}|  V  qd S r^   r   r   r8   r8   r9   r   L#  s     )r3   r  rl   rA   rD   rE   rQ  rB   r   rC   r  r>   r8   r8   r9   rB   E#  s    PZ FJ
zTranslateTextRequest._bytesc           	      C   s   |  }|d@ r| }nd }|d@ rX|   g }t|  D ]}|  }|| q>nd }|d@ r|   g }t|  D ]}| }|| q|nd }| }| ||||dS )Nrh   ri   r  )rn   rF   r   r   rp   )	rI   rJ   rq   rK   r  r;   r   rR  Z_to_langr8   r8   r9   rL   P#  s(    
z TranslateTextRequest.from_reader)NNN)rN   rO   rP   rQ   rR   rv   r   r   rT   r:   re   r=   rB   rU   rL   r8   r8   r8   r9   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 )UninstallStickerSetRequestl   Ur r   r"   r  c                 C   s
   || _ dS r   r  )r7   r  r8   r8   r9   r:   r#  s    z#UninstallStickerSetRequest.__init__c                 C   s"   dt | jtr| j n| jdS )Nr  )r;   r  )r<   r  r   r=   r>   r8   r8   r9   r=   x#  s    z"UninstallStickerSetRequest.to_dictc                 C   s   d d| j fS )Nr?   s   Un)rA   r  rB   r>   r8   r8   r9   rB   ~#  s    z!UninstallStickerSetRequest._bytesc                 C   s   |  }| |dS )Nr  r   )rI   rJ   r  r8   r8   r9   rL   #  s    z&UninstallStickerSetRequest.from_readerNr  r8   r8   r8   r9   r  n#  s   r  c                   @   sN   e Zd ZdZdZddee dddZdd	 Zd
d Z	dd Z
edd ZdS )UnpinAllMessagesRequestl   9E\ r   Nr   r  c                 C   s   || _ || _dS r   r  r  r8   r8   r9   r:   #  s    z UnpinAllMessagesRequest.__init__c                    s   | || jI d H | _d S r^   r   rb   r8   r8   r9   re   #  s    zUnpinAllMessagesRequest.resolvec                 C   s&   dt | jtr| j n| j| jdS )Nr  r  r  r>   r8   r8   r9   r=   #  s    zUnpinAllMessagesRequest.to_dictc              	   C   sZ   d dtd| jd ks | jdkr$dnd| j | jd ksD| jdkrHdntd| jfS )Nr?   s   "rg   Fr   rh   rk   r  r>   r8   r8   r9   rB   #  s    "$zUnpinAllMessagesRequest._bytesc                 C   s2   |  }| }|d@ r"|  }nd }| ||dS r  r  r  r8   r8   r9   rL   #  s    
z#UnpinAllMessagesRequest.from_reader)Nr  r8   r8   r8   r9   r  #  s   r  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 )UpdateDialogFilterRequestiJr   Nr   r  r  c                 C   s   || _ || _dS r   r  )r7   r  r  r8   r8   r9   r:   #  s    z"UpdateDialogFilterRequest.__init__c                 C   s&   d| j t| jtr| j n| jdS )Nr  )r;   r  r  )r  r<   r  r   r=   r>   r8   r8   r9   r=   #  s    z!UpdateDialogFilterRequest.to_dictc                 C   sZ   d dtd| jd ks | jdkr$dndtd| j| jd ksH| jdkrLdn| j fS )Nr?   s   Jrg   Fr   rh   rk   )rA   rD   rE   r  r  rB   r>   r8   r8   r9   rB   #  s    " z UpdateDialogFilterRequest._bytesc                 C   s2   |  }|  }|d@ r"| }nd }| ||dS )Nrh   r  r  )rI   rJ   rq   r  r  r8   r8   r9   rL   #  s    
z%UpdateDialogFilterRequest.from_reader)N)rN   rO   rP   rQ   rR   rT   r   r:   r=   rB   rU   rL   r8   r8   r8   r9   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 )UpdateDialogFiltersOrderRequestl   A
 r   r  c                 C   s
   || _ dS r   r  r  r8   r8   r9   r:   #  s    z(UpdateDialogFiltersOrderRequest.__init__c                 C   s"   d| j d krg n| j d d  dS )Nr   r  r  r>   r8   r8   r9   r=   #  s    z'UpdateDialogFiltersOrderRequest.to_dictc              	   C   s2   d ddtdt| jd dd | jD fS )Nr?   s   cr   rk   c                 s   s   | ]}t d |V  qdS r
  r  r   r8   r8   r9   r   #  s     z9UpdateDialogFiltersOrderRequest._bytes.<locals>.<genexpr>r  r>   r8   r8   r9   rB   #  s      z&UpdateDialogFiltersOrderRequest._bytesc                 C   s:   |   g }t|  D ]}|  }|| q| |dS r   r  r  r8   r8   r9   rL   #  s    z+UpdateDialogFiltersOrderRequest.from_readerNr  r8   r8   r8   r9   r   #  s   r   c                   @   s\   e Zd ZdZdZddeee ee ee dddZdd	 Z	d
d Z
dd Zedd ZdS )UpdatePinnedMessageRequestl   wU% r   Nr   r3   r  r}  unpin
pm_onesidec                 C   s"   || _ || _|| _|| _|| _dS r   r  )r7   r3   r  r}  r  r  r8   r8   r9   r:   #  s
    z#UpdatePinnedMessageRequest.__init__c                    s   | || jI d H | _d S r^   r   rb   r8   r8   r9   re   $  s    z"UpdatePinnedMessageRequest.resolvec                 C   s2   dt | jtr| j n| j| j| j| j| jdS )Nr  )r;   r3   r  r}  r  r  )r<   r3   r   r=   r  r}  r  r  r>   r8   r8   r9   r=   $  s    z"UpdatePinnedMessageRequest.to_dictc              	   C   sz   d dt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 td	| jfS )
Nr?   s   rg   Fr   rh   ri   rj   rk   )	rA   rD   rE   r}  r  r  r3   rB   r  r>   r8   r8   r9   rB   $  s    Zz!UpdatePinnedMessageRequest._bytesc                 C   sN   |  }t|d@ }t|d@ }t|d@ }| }|  }| |||||dS )Nrh   ri   rj   r  r  )rI   rJ   rq   r  Z_unpinZ_pm_onesiderK   r  r8   r8   r9   rL   $  s    z&UpdatePinnedMessageRequest.from_reader)NNNr   r8   r8   r8   r9   r  #  s   $

r  c                   @   sF   e Zd ZdZdZddee dddZdd	 Zd
d Z	e
dd ZdS )UpdateSavedReactionTagRequesti})`r   Nr)   rF  r   c                 C   s   || _ || _dS r   r  )r7   rF  r   r8   r8   r9   r:   -$  s    z&UpdateSavedReactionTagRequest.__init__c                 C   s&   dt | jtr| j n| j| jdS )Nr  )r;   rF  r   )r<   rF  r   r=   r   r>   r8   r8   r9   r=   4$  s    z%UpdateSavedReactionTagRequest.to_dictc                 C   sX   d dtd| jd ks | jdkr$dnd| j | jd ksD| jdkrHdn
| | jfS )Nr?   s   })`rg   Fr   rh   )rA   rD   rE   r   rF  rB   rC   r>   r8   r8   r9   rB   ;$  s    ""z$UpdateSavedReactionTagRequest._bytesc                 C   s2   |  }| }|d@ r"| }nd }| ||dS )Nrh   r  r>  )rI   rJ   rq   rG  r   r8   r8   r9   rL   C$  s    
z)UpdateSavedReactionTagRequest.from_reader)N)rN   rO   rP   rQ   rR   r   rv   r:   r=   rB   rU   rL   r8   r8   r8   r9   r  )$  s   r  c                   @   s@   e Zd ZdZdZdddddZdd	 Zd
d Zedd Z	dS )UploadEncryptedFileRequestiWPl   gT r   r   r3   r  c                 C   s   || _ || _dS )z_
        :returns EncryptedFile: Instance of either EncryptedFileEmpty, EncryptedFile.
        Nr  )r7   r3   r  r8   r8   r9   r:   S$  s    z#UploadEncryptedFileRequest.__init__c                 C   s<   dt | jtr| j n| jt | jtr2| j n| jdS )Nr  )r;   r3   r  )r<   r3   r   r=   r  r>   r8   r8   r9   r=   Z$  s    z"UploadEncryptedFileRequest.to_dictc                 C   s   d d| j | j fS )Nr?   s   WP)rA   r3   rB   r  r>   r8   r8   r9   rB   a$  s
    z!UploadEncryptedFileRequest._bytesc                 C   s   |  }|  }| ||dS )Nr  r   )rI   rJ   rK   r  r8   r8   r9   rL   h$  s    z&UploadEncryptedFileRequest.from_readerNr  r8   r8   r8   r9   r  O$  s   r  c                   @   sL   e Zd ZdZdZdeeddddZdd	 Zd
d Z	dd Z
edd ZdS )UploadImportedMediaRequesti *2lGr   r   r3   r  	file_namer   c                 C   s   || _ || _|| _|| _dS a  
        :returns MessageMedia: Instance of either MessageMediaEmpty, MessageMediaPhoto, MessageMediaGeo, MessageMediaContact, MessageMediaUnsupported, MessageMediaDocument, MessageMediaWebPage, MessageMediaVenue, MessageMediaGame, MessageMediaInvoice, MessageMediaGeoLive, MessageMediaPoll, MessageMediaDice, MessageMediaStory, MessageMediaGiveaway, MessageMediaGiveawayResults, MessageMediaPaidMedia.
        Nr  )r7   r3   r  r  r   r8   r8   r9   r:   s$  s    z#UploadImportedMediaRequest.__init__c                    s,   | || jI d H | _|| j| _d S r^   r`   ra   r3   rZ  r   rb   r8   r8   r9   re   |$  s    z"UploadImportedMediaRequest.resolvec                 C   sD   dt | jtr| j n| j| j| jt | jtr:| j n| jdS )Nr	  )r;   r3   r  r  r   )r<   r3   r   r=   r  r  r   r>   r8   r8   r9   r=   $  s    z"UploadImportedMediaRequest.to_dictc                 C   s2   d d| j td| j| | j| j fS )Nr?   s    *r@   )	rA   r3   rB   rD   rE   r  rC   r  r   r>   r8   r8   r9   rB   $  s    
z!UploadImportedMediaRequest._bytesc                 C   s0   |  }| }| }|  }| ||||dS )Nr  r  )rI   rJ   rK   r  Z
_file_namer   r8   r8   r9   rL   $  s
    z&UploadImportedMediaRequest.from_readerN)rN   rO   rP   rQ   rR   rT   rv   r:   re   r=   rB   rU   rL   r8   r8   r8   r9   r	  o$  s   			r	  c                   @   sP   e Zd ZdZdZdddee dddZd	d
 Zdd Z	dd Z
edd ZdS )UploadMediaRequestixyr
  Nr   r   r3   r   business_connection_idc                 C   s   || _ || _|| _dS r  r  )r7   r3   r   r  r8   r8   r9   r:   $  s    zUploadMediaRequest.__init__c                    s,   | || jI d H | _|| j| _d S r^   r  rb   r8   r8   r9   re   $  s    zUploadMediaRequest.resolvec                 C   s@   dt | jtr| j n| jt | jtr2| j n| j| jdS )Nr  )r;   r3   r   r  )r<   r3   r   r=   r   r  r>   r8   r8   r9   r=   $  s
    zUploadMediaRequest.to_dictc                 C   s`   d dtd| jd ks | jdkr$dnd| jd ks<| jdkr@dn
| | j| j | j fS )Nr?   s   xyrg   Fr   rh   )rA   rD   rE   r  rC   r3   rB   r   r>   r8   r8   r9   rB   $  s    ""zUploadMediaRequest._bytesc                 C   s<   |  }|d@ r| }nd }| }| }| |||dS )Nrh   r  )rn   rp   rF   )rI   rJ   rq   Z_business_connection_idrK   r   r8   r8   r9   rL   $  s    
zUploadMediaRequest.from_reader)N)rN   rO   rP   rQ   rR   r   rv   r:   re   r=   rB   rU   rL   r8   r8   r8   r9   r  $  s   	r  c                   @   s@   e Zd ZdZdZdedddZdd Zd	d
 Ze	dd Z
dS )ViewSponsoredMessageRequestiC6&r   Nr   c                 C   s(   |dk	r|nt jtdddd| _dS r   )rT   r   r   r   r   )r7   r   r8   r8   r9   r:   $  s    z$ViewSponsoredMessageRequest.__init__c                 C   s   d| j dS )Nr  )r;   r   r  r>   r8   r8   r9   r=   $  s    z#ViewSponsoredMessageRequest.to_dictc                 C   s   d d| | jfS )Nr?   s   C6&)rA   rC   r   r>   r8   r8   r9   rB   $  s    
z"ViewSponsoredMessageRequest._bytesc                 C   s   |  }| |dS )Nr  r  )rI   rJ   r   r8   r8   r9   rL   $  s    z'ViewSponsoredMessageRequest.from_reader)Nr  r8   r8   r8   r9   r  $  s   r  (  __doc__Ztl.tlobjectr   r   r  r   r   r   r   r   rD   r	   Ztl.typesr
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   rV   rw   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r  r  r  r  r!  r+  r/  r2  r9  r<  r?  rB  rO  rS  rc  rk  rm  rs  ry  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r
  r  r  r  r  r  r  r  r  r  r  r  r  r"  r#  r$  r)  r8  r@  rB  rC  rD  rH  rI  rL  rM  rP  rR  rU  rV  rW  rX  r^  r_  ra  rc  rd  rh  rj  rk  rm  ro  rv  rx  rz  r|  r}  r~  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r!  r$  r&  r*  r,  r/  r2  r6  r:  r?  rC  rG  rH  rT  rZ  r\  r]  r_  rc  ri  rk  rm  rs  rz  r|  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r  r  r  r	  r  r  r8   r8   r8   r9   <module>   s  $?'%6)##:'%$4("#'## E'J] D#z) 7C!'! <#$ !#=(((;6##8#((, $#(#8#/' "?5;*#(;77   == +,*' %>+' !#)!)!2.!*0.( A'?G<\$O#2)p &N$&;5*.$_  l558(',+ 4)24#= 5#G0-,#)%#'%%-#C)&!/& ,.