Ë
    †je  ã                   ó>  — d Z ddlZddlmZ ddlmZmZ ddlm	Z	 ddl
mZ ddlmZ ddlmZ dd	lmZ dd
lmZmZ ddlmZmZ ddlmZ erddlmZ  G d„ de«      Z G d„ de«      Z G d„ de«      Z G d„ de«      Z G d„ de«      Z G d„ de«      Z  G d„ de«      Z!y)z4This module contains classes related to unique gifs.é    N)ÚSequence)ÚTYPE_CHECKINGÚFinal)Ú	constants)ÚChat)ÚSticker)ÚTelegramObject)Úenum)Úde_json_optionalÚparse_sequence_arg)Úextract_tzinfo_from_defaultsÚfrom_timestamp)ÚJSONDict)ÚBotc                   ó\   ‡ — e Zd ZdZdZddœdedededee   d	ed
ee   dedz  fˆ fd„Z	ˆ xZ
S )ÚUniqueGiftColorsa4  This object contains information about the color scheme for a user's name, message replies
    and link previews based on a unique gift.

    Objects of this class are comparable in terms of equality. Two objects of this class are
    considered equal if their :attr:`model_custom_emoji_id`, :attr:`symbol_custom_emoji_id`,
    :attr:`light_theme_main_color`, :attr:`light_theme_other_colors`,
    :attr:`dark_theme_main_color`, and :attr:`dark_theme_other_colors` are equal.

    .. versionadded:: 22.6

    Args:
        model_custom_emoji_id (:obj:`str`): Custom emoji identifier of the unique gift's model.
        symbol_custom_emoji_id (:obj:`str`): Custom emoji identifier of the unique gift's symbol.
        light_theme_main_color (:obj:`int`): Main color used in light themes; RGB format.
        light_theme_other_colors (Sequence[:obj:`int`]): List of 1-3 additional colors used in
            light themes; RGB format. |sequenceclassargs|
        dark_theme_main_color (:obj:`int`): Main color used in dark themes; RGB format.
        dark_theme_other_colors (Sequence[:obj:`int`]): List of 1-3 additional colors used in dark
            themes; RGB format. |sequenceclassargs|

    Attributes:
        model_custom_emoji_id (:obj:`str`): Custom emoji identifier of the unique gift's model.
        symbol_custom_emoji_id (:obj:`str`): Custom emoji identifier of the unique gift's symbol.
        light_theme_main_color (:obj:`int`): Main color used in light themes; RGB format.
        light_theme_other_colors (Tuple[:obj:`int`]): Tuple of 1-3 additional colors used in
            light themes; RGB format.
        dark_theme_main_color (:obj:`int`): Main color used in dark themes; RGB format.
        dark_theme_other_colors (Tuple[:obj:`int`]): Tuple of 1-3 additional colors used in dark
            themes; RGB format.
    )Údark_theme_main_colorÚdark_theme_other_colorsÚlight_theme_main_colorÚlight_theme_other_colorsÚmodel_custom_emoji_idÚsymbol_custom_emoji_idN©Ú
api_kwargsr   r   r   r   r   r   r   c                óP  •— t         ‰| �  |¬«       || _        || _        || _        t        |«      | _        || _        t        |«      | _        | j                  | j                  | j                  | j                  | j                  | j                  f| _	        | j                  «        y ©Nr   )ÚsuperÚ__init__r   r   r   r   r   r   r   Ú	_id_attrsÚ_freeze)	Úselfr   r   r   r   r   r   r   Ú	__class__s	           €úS/var/www/html/datingFans/myenv/lib/python3.12/site-packages/telegram/_uniquegift.pyr   zUniqueGiftColors.__init__P   s¢   ø€ ô 	‰Ñ JÐÔ/Ø*?ˆÔ"Ø+AˆÔ#Ø+AˆÔ#Ü9KØ$ó:
ˆÔ%ð +@ˆÔ"Ü8JÐKbÓ8cˆÔ$ð ×&Ñ&Ø×'Ñ'Ø×'Ñ'Ø×)Ñ)Ø×&Ñ&Ø×(Ñ(ð
ˆŒð 	�‰�ó    )Ú__name__Ú
__module__Ú__qualname__Ú__doc__Ú	__slots__ÚstrÚintr   r   r   Ú__classcell__©r"   s   @r#   r   r   '   sn   ø„ ñð>€Ið$ '+òà"ðð !$ðð !$ð	ð
 #+¨3¡-ðð  #ðð "*¨#¡ðð ˜t‘O÷ñ r$   r   c                   óv   ‡ — e Zd ZdZdZ	 dddœdededededz  d	edz  f
ˆ fd
„Z	e
ddedddd fˆ fd„«       Zˆ xZS )ÚUniqueGiftModelaø  This object describes the model of a unique gift.

    Objects of this class are comparable in terms of equality. Two objects of this class are
    considered equal if their :attr:`name`, :attr:`sticker` and :attr:`rarity_per_mille` are equal.

    .. versionadded:: 22.1

    Args:
        name (:obj:`str`): Name of the model.
        sticker (:class:`telegram.Sticker`): The sticker that represents the unique gift.
        rarity_per_mille (:obj:`int`): The number of unique gifts that receive this
            model for every ``1000`` gifts upgraded. Always ``0`` for crafted gifts.
        rarity (:obj:`str`, optional): Rarity of the model if it is a crafted model.
            Currently, can be :tg-const:`telegram.constants.UniqueGiftModelRarity.UNCOMMON`,
            :tg-const:`telegram.constants.UniqueGiftModelRarity.RARE`,
            :tg-const:`telegram.constants.UniqueGiftModelRarity.EPIC`,
            or :tg-const:`telegram.constants.UniqueGiftModelRarity.LEGENDARY`.

            .. versionadded:: 22.7

    Attributes:
        name (:obj:`str`): Name of the model.
        sticker (:class:`telegram.Sticker`): The sticker that represents the unique gift.
        rarity_per_mille (:obj:`int`): The number of unique gifts that receive this
            model for every ``1000`` gifts upgraded. Always ``0`` for crafted gifts.
        rarity (:obj:`str`): Optional. Rarity of the model if it is a crafted model.
            Currently, can be :tg-const:`telegram.constants.UniqueGiftModelRarity.UNCOMMON`,
            :tg-const:`telegram.constants.UniqueGiftModelRarity.RARE`,
            :tg-const:`telegram.constants.UniqueGiftModelRarity.EPIC`,
            or :tg-const:`telegram.constants.UniqueGiftModelRarity.LEGENDARY`.

            .. versionadded:: 22.7
    )ÚnameÚrarityÚrarity_per_milleÚstickerNr   r0   r3   r2   r1   r   c                ó  •— t         ‰| �  |¬«       || _        || _        || _        t        j                  t        j                  ||«      | _	        | j                  | j                  | j                  f| _
        | j                  «        y r   )r   r   r0   r3   r2   r
   Ú
get_memberr   ÚUniqueGiftModelRarityr1   r   r    )r!   r0   r3   r2   r1   r   r"   s         €r#   r   zUniqueGiftModel.__init__›   sl   ø€ ô 	‰Ñ JÐÔ/àˆŒ	Ø 'ˆŒØ%5ˆÔä"&§/¡/´)×2QÑ2QÐSYÐ[aÓ"bˆŒàŸ)™) T§\¡\°4×3HÑ3HÐIˆŒà�‰�r$   ÚdataÚbotú
Bot | NoneÚreturnc                 óŽ   •— | j                  |«      }t        |j                  d«      t        |«      |d<   t        ‰| �  ||¬«      S ©ú,See :meth:`telegram.TelegramObject.de_json`.r3   ©r7   r8   ©Ú_parse_datar   Úgetr   r   Úde_json©Úclsr7   r8   r"   s      €r#   rB   zUniqueGiftModel.de_json°   óA   ø€ ð �‰˜tÓ$ˆä*¨4¯8©8°IÓ+>ÄÈÓMˆˆY‰ä‰w‰ D¨cˆÓ2Ð2r$   ©N©r%   r&   r'   r(   r)   r*   r   r+   r   r   ÚclassmethodrB   r,   r-   s   @r#   r/   r/   q   s†   ø„ ñ ðD€Ið "ðð '+òàðð ðð ð	ð
 �d‘
ðð ˜t‘Oõð* ñ3˜8ð 3¨,ð 3ÐBSô 3ó ô3r$   r/   c            
       óh   ‡ — e Zd ZdZdZddœdededededz  fˆ fd	„Z	e
dd
edddd fˆ fd„«       Zˆ xZS )ÚUniqueGiftSymbolak  This object describes the symbol shown on the pattern of a unique gift.

    Objects of this class are comparable in terms of equality. Two objects of this class are
    considered equal if their :attr:`name`, :attr:`sticker` and :attr:`rarity_per_mille` are equal.

    .. versionadded:: 22.1

    Args:
        name (:obj:`str`): Name of the symbol.
        sticker (:class:`telegram.Sticker`): The sticker that represents the unique gift.
        rarity_per_mille (:obj:`int`): The number of unique gifts that receive this
            model for every ``1000`` gifts upgraded.

    Attributes:
        name (:obj:`str`): Name of the symbol.
        sticker (:class:`telegram.Sticker`): The sticker that represents the unique gift.
        rarity_per_mille (:obj:`int`): The number of unique gifts that receive this
            model for every ``1000`` gifts upgraded.

    )r0   r2   r3   Nr   r0   r3   r2   r   c                óÀ   •— t         ‰| �  |¬«       || _        || _        || _        | j                  | j                  | j                  f| _        | j                  «        y r   )r   r   r0   r3   r2   r   r    )r!   r0   r3   r2   r   r"   s        €r#   r   zUniqueGiftSymbol.__init__Ö   sP   ø€ ô 	‰Ñ JÐÔ/ØˆŒ	Ø 'ˆŒØ%5ˆÔàŸ)™) T§\¡\°4×3HÑ3HÐIˆŒà�‰�r$   r7   r8   r9   r:   c                 óŽ   •— | j                  |«      }t        |j                  d«      t        |«      |d<   t        ‰| �  ||¬«      S r<   r?   rC   s      €r#   rB   zUniqueGiftSymbol.de_jsonç   rE   r$   rF   rG   r-   s   @r#   rJ   rJ   º   sm   ø„ ñð*€Ið '+òàðð ðð ð	ð ˜t‘Oõð" ñ3˜8ð 3¨,ð 3ÐBTô 3ó ô3r$   rJ   c                   óH   ‡ — e Zd ZdZdZddœdedededed	edz  f
ˆ fd
„Zˆ xZS )ÚUniqueGiftBackdropColorsa"  This object describes the colors of the backdrop of a unique gift.

    Objects of this class are comparable in terms of equality. Two objects of this class are
    considered equal if their :attr:`center_color`, :attr:`edge_color`, :attr:`symbol_color`,
    and :attr:`text_color` are equal.

    .. versionadded:: 22.1

    Args:
        center_color (:obj:`int`): The color in the center of the backdrop in RGB format.
        edge_color (:obj:`int`): The color on the edges of the backdrop in RGB format.
        symbol_color (:obj:`int`): The color to be applied to the symbol in RGB format.
        text_color (:obj:`int`): The color for the text on the backdrop in RGB format.

    Attributes:
        center_color (:obj:`int`): The color in the center of the backdrop in RGB format.
        edge_color (:obj:`int`): The color on the edges of the backdrop in RGB format.
        symbol_color (:obj:`int`): The color to be applied to the symbol in RGB format.
        text_color (:obj:`int`): The color for the text on the backdrop in RGB format.

    )Úcenter_colorÚ
edge_colorÚsymbol_colorÚ
text_colorNr   rO   rP   rQ   rR   r   c                óä   •— t         ‰| �  |¬«       || _        || _        || _        || _        | j                  | j                  | j                  | j
                  f| _        | j                  «        y r   )r   r   rO   rP   rQ   rR   r   r    )r!   rO   rP   rQ   rR   r   r"   s         €r#   r   z!UniqueGiftBackdropColors.__init__  sc   ø€ ô 	‰Ñ JÐÔ/Ø!-ˆÔØ)ˆŒØ!-ˆÔØ)ˆŒà×+Ñ+¨T¯_©_¸d×>OÑ>OÐQU×Q`ÑQ`ÐaˆŒà�‰�r$   )	r%   r&   r'   r(   r)   r+   r   r   r,   r-   s   @r#   rN   rN   ñ   sR   ø„ ñð,€Ið '+òàðð ðð ð	ð
 ðð ˜t‘O÷ñ r$   rN   c            
       óh   ‡ — e Zd ZdZdZddœdededededz  fˆ fd	„Z	e
dd
edddd fˆ fd„«       Zˆ xZS )ÚUniqueGiftBackdropaX  This object describes the backdrop of a unique gift.

    Objects of this class are comparable in terms of equality. Two objects of this class are
    considered equal if their :attr:`name`, :attr:`colors`, and :attr:`rarity_per_mille` are equal.

    .. versionadded:: 22.1

    Args:
        name (:obj:`str`): Name of the backdrop.
        colors (:class:`telegram.UniqueGiftBackdropColors`): Colors of the backdrop.
        rarity_per_mille (:obj:`int`): The number of unique gifts that receive this backdrop
            for every ``1000`` gifts upgraded.

    Attributes:
        name (:obj:`str`): Name of the backdrop.
        colors (:class:`telegram.UniqueGiftBackdropColors`): Colors of the backdrop.
        rarity_per_mille (:obj:`int`): The number of unique gifts that receive this backdrop
            for every ``1000`` gifts upgraded.

    )Úcolorsr0   r2   Nr   r0   rV   r2   r   c                óÀ   •— t         ‰| �  |¬«       || _        || _        || _        | j                  | j                  | j                  f| _        | j                  «        y r   )r   r   r0   rV   r2   r   r    )r!   r0   rV   r2   r   r"   s        €r#   r   zUniqueGiftBackdrop.__init__?  sP   ø€ ô 	‰Ñ JÐÔ/ØˆŒ	Ø06ˆŒØ%5ˆÔàŸ)™) T§[¡[°$×2GÑ2GÐHˆŒà�‰�r$   r7   r8   r9   r:   c                 óŽ   •— | j                  |«      }t        |j                  d«      t        |«      |d<   t        ‰| �  ||¬«      S )r=   rV   r>   )r@   r   rA   rN   r   rB   rC   s      €r#   rB   zUniqueGiftBackdrop.de_jsonP  sC   ø€ ð �‰˜tÓ$ˆä)¨$¯(©(°8Ó*<Ô>VÐX[Ó\ˆˆX‰ä‰w‰ D¨cˆÓ2Ð2r$   rF   )r%   r&   r'   r(   r)   r*   rN   r+   r   r   rH   rB   r,   r-   s   @r#   rU   rU   #  sm   ø„ ñð*€Ið '+òàðð )ðð ð	ð ˜t‘Oõð" ñ3˜8ð 3¨,ð 3ÐBVô 3ó ô3r$   rU   c                   ó¶   ‡ — e Zd ZdZdZ	 	 	 	 	 dddœdedededed	ed
ede	de
dz  dedz  dedz  dedz  dedz  dedz  fˆ fd„Zeddedddd fˆ fd„«       Zˆ xZS )Ú
UniqueGifta©  This object describes a unique gift that was upgraded from a regular gift.

    Objects of this class are comparable in terms of equality. Two objects of this class are
    considered equal if their :attr:`base_name`, :attr:`name`, :attr:`number`, :class:`model`,
    :attr:`symbol`, and :attr:`backdrop` are equal.

    .. versionadded:: 22.1

    .. versionchanged:: 22.7
        :attr:`gift_id` is now a positional argument.

    Args:
        gift_id (:obj:`str`): Identifier of the regular gift from which the gift was upgraded.

            .. versionadded:: 22.6
        base_name (:obj:`str`): Human-readable name of the regular gift from which this unique
            gift was upgraded.
        name (:obj:`str`): Unique name of the gift. This name can be used
            in ``https://t.me/nft/...`` links and story areas.
        number (:obj:`int`): Unique number of the upgraded gift among gifts upgraded from the
            same regular gift.
        model (:class:`UniqueGiftModel`): Model of the gift.
        symbol (:class:`UniqueGiftSymbol`): Symbol of the gift.
        backdrop (:class:`UniqueGiftBackdrop`): Backdrop of the gift.
        publisher_chat (:class:`telegram.Chat`, optional): Information about the chat that
            published the gift.

            .. versionadded:: 22.4
        is_premium (:obj:`bool`, optional): :obj:`True`, if the original regular gift was
            exclusively purchaseable by Telegram Premium subscribers.

            .. versionadded:: 22.6
        is_from_blockchain (:obj:`bool`, optional): :obj:`True`, if the gift is assigned from the
            TON blockchain and can't be resold or transferred in Telegram.

            .. versionadded:: 22.6
        colors (:class:`telegram.UniqueGiftColors`, optional): The color scheme that can be used
            by the gift's owner for the chat's name, replies to messages and link previews; for
            business account gifts and gifts that are currently on sale only.

            .. versionadded:: 22.6
        is_burned (:obj:`bool`, optional): :obj:`True`, if the gift was used to craft another
            gift and isn't available anymore.

            .. versionadded:: 22.7

    Attributes:
        gift_id (:obj:`str`): Identifier of the regular gift from which the gift was upgraded.

            .. versionadded:: 22.6
        base_name (:obj:`str`): Human-readable name of the regular gift from which this unique
            gift was upgraded.
        name (:obj:`str`): Unique name of the gift. This name can be used
            in ``https://t.me/nft/...`` links and story areas.
        number (:obj:`int`): Unique number of the upgraded gift among gifts upgraded from the
            same regular gift.
        model (:class:`telegram.UniqueGiftModel`): Model of the gift.
        symbol (:class:`telegram.UniqueGiftSymbol`): Symbol of the gift.
        backdrop (:class:`telegram.UniqueGiftBackdrop`): Backdrop of the gift.
        publisher_chat (:class:`telegram.Chat`): Optional. Information about the chat that
            published the gift.

            .. versionadded:: 22.4
        is_premium (:obj:`bool`): Optional. :obj:`True`, if the original regular gift was
            exclusively purchaseable by Telegram Premium subscribers.

            .. versionadded:: 22.6
        is_from_blockchain (:obj:`bool`): Optional. :obj:`True`, if the gift is assigned from the
            TON blockchain and can't be resold or transferred in Telegram.

            .. versionadded:: 22.6
        colors (:class:`telegram.UniqueGiftColors`): Optional. The color scheme that can be used
            by the gift's owner for the chat's name, replies to messages and link previews; for
            business account gifts and gifts that are currently on sale only.

            .. versionadded:: 22.6
        is_burned (:obj:`bool`): Optional. :obj:`True`, if the gift was used to craft another
            gift and isn't available anymore.

            .. versionadded:: 22.7
    )ÚbackdropÚ	base_namerV   Úgift_idÚ	is_burnedÚis_from_blockchainÚ
is_premiumÚmodelr0   ÚnumberÚpublisher_chatÚsymbolNr   r]   r\   r0   rb   ra   rd   r[   rc   r_   r`   rV   r^   r   c                ó€  •— t         ‰| �  |¬«       || _        || _        || _        || _        || _        || _        || _        || _	        |	| _
        |
| _        || _        || _        | j                  | j                  | j
                  | j                  | j                  | j                  f| _        | j                  «        y r   )r   r   r]   r\   r0   rb   ra   rd   r[   rc   r_   r`   rV   r^   r   r    )r!   r]   r\   r0   rb   ra   rd   r[   rc   r_   r`   rV   r^   r   r"   s                 €r#   r   zUniqueGift.__init__¼  s«   ø€ ô" 	‰Ñ JÐÔ/Ø#ˆŒØ'ˆŒØˆŒ	Ø!ˆŒØ&+ˆŒ
Ø(.ˆŒØ,4ˆŒØ+9ˆÔØ/AˆÔØ'1ˆŒØ/5ˆŒØ&/ˆŒð �N‰NØ�I‰IØ�K‰KØ�J‰JØ�K‰KØ�M‰Mð
ˆŒð 	�‰�r$   r7   r8   r9   r:   c                 ó¦  •— | j                  |«      }t        |j                  d«      t        |«      |d<   t        |j                  d«      t        |«      |d<   t        |j                  d«      t
        |«      |d<   t        |j                  d«      t        |«      |d<   t        |j                  d«      t        |«      |d<   t        ‰| �%  ||¬«      S )r=   ra   rd   r[   rc   rV   r>   )
r@   r   rA   r/   rJ   rU   r   r   r   rB   rC   s      €r#   rB   zUniqueGift.de_jsonæ  s¸   ø€ ð �‰˜tÓ$ˆä(¨¯©°'Ó):¼OÈSÓQˆˆW‰Ü)¨$¯(©(°8Ó*<Ô>NÐPSÓTˆˆX‰Ü+¨D¯H©H°ZÓ,@ÔBTÐVYÓZˆˆZÑÜ!1°$·(±(Ð;KÓ2LÌdÐTWÓ!XˆÐÑÜ)¨$¯(©(°8Ó*<Ô>NÐPSÓTˆˆX‰ä‰w‰ D¨cˆÓ2Ð2r$   ©NNNNNrF   )r%   r&   r'   r(   r)   r*   r+   r/   rJ   rU   r   Úboolr   r   r   rH   rB   r,   r-   s   @r#   rZ   rZ   Z  sô   ø„ ñPðd€Ið0 '+Ø*.Ø"&Ø*.Ø!%ð(ð '+ò(àð(ð ð(ð ð	(ð
 ð(ð ð(ð !ð(ð %ð(ð ˜t™ð(ð ! 4™Kð(ð ˜4‘Kð(ð ! 4Ñ'ð(ð ˜$‘;ð(ð ˜t‘Oõ(ðT ñ
3˜8ð 
3¨,ð 
3À,ô 
3ó ô
3r$   rZ   c                   óî  ‡ — e Zd ZU dZej
                  j                  Zee   e	d<   	 ej
                  j                  Z
ee   e	d<   	 ej
                  j                  Zee   e	d<   	 ej
                  j                  Zee   e	d<   	 ej
                  j                  Zee   e	d<   	 dZ	 	 	 	 	 ddd	œd
edededz  dedz  dej$                  dz  dedz  dedz  dedz  fˆ fd„Zeddedddd fˆ fd„«       Zˆ xZS )ÚUniqueGiftInfoa�  Describes a service message about a unique gift that was sent or received.

    Objects of this class are comparable in terms of equality. Two objects of this class are
    considered equal if their :attr:`gift`, and :attr:`origin` are equal.

    .. versionadded:: 22.1

    .. versionremoved:: 22.7
        Removed argument and attribute ``last_resale_star_count`` deprecated since Bot API 9.3.

    Args:
        gift (:class:`UniqueGift`): Information about the gift.
        origin (:obj:`str`): Origin of the gift. Currently, either :attr:`UPGRADE` for gifts
            upgraded from regular gifts, :attr:`TRANSFER` for gifts transferred from other users
            or channels, :attr:`RESALE` for gifts bought from other users,
            :attr:`GIFTED_UPGRADE` for upgrades purchased after the gift was sent, or :attr:`OFFER`
            for gifts bought or sold through gift purchase offers

            .. versionchanged:: 22.3
                The :attr:`RESALE` origin was added.
            .. versionchanged:: 22.6
                Bot API 9.3 added the :attr:`GIFTED_UPGRADE` and :attr:`OFFER` origins.
        owned_gift_id (:obj:`str`, optional) Unique identifier of the received gift for the
            bot; only present for gifts received on behalf of business accounts.
        transfer_star_count (:obj:`int`, optional): Number of Telegram Stars that must be paid
            to transfer the gift; omitted if the bot cannot transfer the gift.
        last_resale_currency (:obj:`str`, optional): For gifts bought from other users, the
            currency in which the payment for the gift was done. Currently, one of ``XTR`` for
            Telegram Stars or ``TON`` for toncoins.

            .. versionadded:: 22.6
        last_resale_amount (:obj:`int`, optional): For gifts bought from other users, the price
            paid for the gift in either Telegram Stars or nanotoncoins.

            .. versionadded:: 22.6
        next_transfer_date (:obj:`datetime.datetime`, optional): Date when the gift can be
            transferred. If it's in the past, then the gift can be transferred now.
            |datetime_localization|

            .. versionadded:: 22.3

    Attributes:
        gift (:class:`UniqueGift`): Information about the gift.
        origin (:obj:`str`): Origin of the gift. Currently, either :attr:`UPGRADE` for gifts
            upgraded from regular gifts, :attr:`TRANSFER` for gifts transferred from other users
            or channels, :attr:`RESALE` for gifts bought from other users,
            :attr:`GIFTED_UPGRADE` for upgrades purchased after the gift was sent, or :attr:`OFFER`
            for gifts bought or sold through gift purchase offers

            .. versionchanged:: 22.3
                The :attr:`RESALE` origin was added.
            .. versionchanged:: 22.6
                Bot API 9.3 added the :attr:`GIFTED_UPGRADE` and :attr:`OFFER` origins.
        owned_gift_id (:obj:`str`) Optional. Unique identifier of the received gift for the
            bot; only present for gifts received on behalf of business accounts.
        transfer_star_count (:obj:`int`): Optional. Number of Telegram Stars that must be paid
            to transfer the gift; omitted if the bot cannot transfer the gift.
        last_resale_currency (:obj:`str`): Optional. For gifts bought from other users, the
            currency in which the payment for the gift was done. Currently, one of ``XTR`` for
            Telegram Stars or ``TON`` for toncoins.

            .. versionadded:: 22.6
        last_resale_amount (:obj:`int`): Optional. For gifts bought from other users, the price
            paid for the gift in either Telegram Stars or nanotoncoins.

            .. versionadded:: 22.6
        next_transfer_date (:obj:`datetime.datetime`): Optional. Date when the gift can be
            transferred. If it's in the past, then the gift can be transferred now.
            |datetime_localization|

            .. versionadded:: 22.3
    ÚGIFTED_UPGRADEÚOFFERÚRESALEÚTRANSFERÚUPGRADE)ÚgiftÚlast_resale_amountÚlast_resale_currencyÚnext_transfer_dateÚoriginÚowned_gift_idÚtransfer_star_countNr   rp   rt   ru   rv   rs   rr   rq   r   c                ó(  •— t         ‰	| �  |¬«       || _        t        j                  t
        j                  ||«      | _        || _        || _	        || _
        || _        || _        | j                  | j                  f| _        | j                  «        y r   )r   r   rp   r
   r5   r   ÚUniqueGiftInfoOriginrt   ru   rv   rs   rr   rq   r   r    )
r!   rp   rt   ru   rv   rs   rr   rq   r   r"   s
            €r#   r   zUniqueGiftInfo.__init__\  s|   ø€ ô 	‰Ñ JÐÔ/à $ˆŒ	ÜŸ?™?¬9×+IÑ+IÈ6ÐSYÓZˆŒà)6ˆÔØ/BˆÔ Ø7IˆÔØ0DˆÔ!Ø.@ˆÔàŸ)™) T§[¡[Ð1ˆŒà�‰�r$   r7   r8   r9   r:   c                 óâ   •— | j                  |«      }t        |«      }t        |j                  d«      t        |«      |d<   t        |j                  d«      |¬«      |d<   t        ‰| �  ||¬«      S )r=   rp   rs   )Útzinfor>   )r@   r   r   rA   rZ   r   r   rB   )rD   r7   r8   Ú
loc_tzinfor"   s       €r#   rB   zUniqueGiftInfo.de_jsonw  sl   ø€ ð �‰˜tÓ$ˆä1°#Ó6ˆ
Ü'¨¯©°Ó(8¼*ÀcÓJˆˆV‰Ü%3Ø�H‰HÐ)Ó*°:ô&
ˆÐ!Ñ"ô ‰w‰ D¨cˆÓ2Ð2r$   rg   rF   )r%   r&   r'   r(   r   rx   rk   r   r*   Ú__annotations__rl   rm   rn   ro   r)   rZ   r+   ÚdtmÚdatetimer   r   rH   rB   r,   r-   s   @r#   rj   rj   ô  se  ø… ñGðR "+×!?Ñ!?×!NÑ!N€N�E˜#‘JÓNðð "×6Ñ6×<Ñ<€Eˆ5�‰:Ó<ðð #×7Ñ7×>Ñ>€FˆE�#‰JÓ>ðð %×9Ñ9×BÑB€Hˆe�C‰jÓBØCØ#×8Ñ8×@Ñ@€GˆU�3‰ZÓ@ØBð€Ið %)Ø*.Ø26Ø+/Ø)-ðð '+òàðð ðð ˜T‘zð	ð
 ! 4™Zðð  ŸL™L¨4Ñ/ðð " D™jðð   $™Jðð ˜t‘Oõð6 ñ
3˜8ð 
3¨,ð 
3ÐBRô 
3ó ô
3r$   rj   )"r(   r~   r}   Úcollections.abcr   Útypingr   r   Útelegramr   Útelegram._chatr   Útelegram._files.stickerr   Útelegram._telegramobjectr	   Útelegram._utilsr
   Útelegram._utils.argumentparsingr   r   Útelegram._utils.datetimer   r   Útelegram._utils.typesr   r   r   r/   rJ   rN   rU   rZ   rj   © r$   r#   ú<module>rŠ      s“   ðñ( ;ã Ý $ß 'å Ý Ý +Ý 3Ý  ß Pß QÝ *áÝôG�~ô GôTF3�nô F3ôR43�~ô 43ôn/˜~ô /ôd43˜ô 43ônW3�ô W3ôtN3�^õ N3r$   