§
    �ŠtjÃ/  ã                  óú   — d dl mZ d dlmZ d dlZd dlmZmZ d dlmZ d dl	m
Z
 eZg d¢Z G d„ d¦  «        Z G d	„ d
ej        ¦  «        Z G d„ dej        ¦  «        Z G d„ de¦  «        ZeZ G d„ d¦  «        ZdS )é    )ÚannotationsN)ÚMappingÚMutableMapping)Úref)ÚTensor)ÚTensorWeakRefÚ	WeakIdRefÚWeakIdKeyDictionaryÚWeakTensorKeyDictionaryc                  ó"   — e Zd Zdd„Zd„ Zd„ ZdS )Ú_IterationGuardÚreturnÚNonec                ó.   — t          |¦  «        | _        d S ©N)r   Úweakcontainer)Úselfr   s     úN/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/torch/utils/weak.pyÚ__init__z_IterationGuard.__init__   s   € å  Ñ/Ô/ˆÔÐÐó    c                óf   — |                       ¦   «         }|�|j                             | ¦  «         | S r   )r   Ú
_iteratingÚadd)r   Úws     r   Ú	__enter__z_IterationGuard.__enter__#   s3   € Ø×ÒÑ Ô ˆØˆ=ØŒL×Ò˜TÑ"Ô"Ð"Øˆr   c                óž   — |                       ¦   «         }|�4|j        }|                     | ¦  «         |s|                     ¦   «          d S d S d S r   )r   r   ÚremoveÚ_commit_removals)r   ÚeÚtÚbr   Úss         r   Ú__exit__z_IterationGuard.__exit__)   s_   € Ø×ÒÑ Ô ˆØˆ=Ø”ˆAØ�HŠH�T‰NŒNˆNØð %Ø×"Ò"Ñ$Ô$Ð$Ð$Ð$ð	 ˆ=ð%ð %r   N©r   r   )Ú__name__Ú
__module__Ú__qualname__r   r   r#   © r   r   r   r      sF   € € € € € ð0ð 0ð 0ð 0ðð ð ð%ð %ð %ð %ð %r   r   c                  ó>   ‡ — e Zd ZdgZd	d
ˆ fd„Zˆ fd„Zd„ Zd„ Zˆ xZS )r	   Ú_idNr   r   c                ót   •— t          |¦  «        | _        t          ¦   «                              ||¦  «         d S r   )Úidr*   Úsuperr   ©r   ÚkeyÚcallbackÚ	__class__s      €r   r   zWeakIdRef.__init__N   s2   ø€ õ �c‘7”7ˆŒÝ‰Œ×Ò˜˜hÑ'Ô'Ð'Ð'Ð'r   c                ó�   •— t          ¦   «                              ¦   «         }t          |d¦  «        r|                     ¦   «          |S ©NÚ_fix_weakref©r-   Ú__call__Úhasattrr4   ©r   Úrr1   s     €r   r6   zWeakIdRef.__call__W   ó?   ø€ Ý‰GŒG×ÒÑÔˆå�1�nÑ%Ô%ð 	Ø�NŠNÑÔÐØˆr   c                ó   — | j         S r   ©r*   ©r   s    r   Ú__hash__zWeakIdRef.__hash__^   ó	   € ØŒxˆr   c                óB   —  | ¦   «         } |¦   «         }|�|�||u S | |u S r   r(   ©r   ÚotherÚar!   s       r   Ú__eq__zWeakIdRef.__eq__a   s6   € ð ˆD‰FŒFˆØˆE‰GŒGˆØˆ=˜Q˜]Ø˜�6ˆMØ�uˆ}Ðr   r   r$   ©	r%   r&   r'   Ú	__slots__r   r6   r>   rD   Ú__classcell__©r1   s   @r   r	   r	   K   s€   ø€ € € € € Ø�€Ið(ð (ð (ð (ð (ð (ð (ðð ð ð ð ðð ð ðð ð ð ð ð ð r   r	   c                  ó>   ‡ — e Zd ZdgZd	d
ˆ fd„Zˆ fd„Zd„ Zd„ Zˆ xZS )Ú_WeakHashRefr*   Nr   r   c                ót   •— t          |¦  «        | _        t          ¦   «                              ||¦  «         d S r   )Úhashr*   r-   r   r.   s      €r   r   z_WeakHashRef.__init__z   s2   ø€ õ ˜‘9”9ˆŒÝ‰Œ×Ò˜˜hÑ'Ô'Ð'Ð'Ð'r   c                ó�   •— t          ¦   «                              ¦   «         }t          |d¦  «        r|                     ¦   «          |S r3   r5   r8   s     €r   r6   z_WeakHashRef.__call__ƒ   r:   r   c                ó   — | j         S r   r<   r=   s    r   r>   z_WeakHashRef.__hash__Š   r?   r   c                óz   —  | ¦   «         } |¦   «         }|�"|� t          |¦  «        t          |¦  «        k    S | |u S r   )rL   rA   s       r   rD   z_WeakHashRef.__eq__�   sD   € ð ˆD‰FŒFˆØˆE‰GŒGˆØˆ=˜Q˜]Ý˜‘7”7�d 1™gœgÒ%Ð%Ø�uˆ}Ðr   r   r$   rE   rH   s   @r   rJ   rJ   w   s€   ø€ € € € € Ø�€Ið(ð (ð (ð (ð (ð (ð (ðð ð ð ð ðð ð ðð ð ð ð ð ð r   rJ   c                  óÄ   — e Zd Zdefdd„Zdd„Zdd„Zdd„Zd„ Zd d
„Z	d!d„Z
dd„Zd„ ZeZd„ Zd"d„Zd#d„Zd„ Zd„ ZeZd„ Zd„ Zd„ Zd„ Zd"d„Zd"dd„Zd„ Zd„ Zd„ Zd„ ZdS )$r
   Nr   r   c                óÊ   — i | _         || _        t          | ¦  «        fdd„}|| _        g | _        t          ¦   «         | _        d| _        |�|                      |¦  «         d S d S )Nr   r   c                óœ   —  |¦   «         }|�?|j         r|j                             | ¦  «         d S 	 |j        | = d S # t          $ r Y d S w xY wd S r   )r   Ú_pending_removalsÚappendÚdataÚKeyError)ÚkÚselfrefr   s      r   r   z,WeakIdKeyDictionary.__init__.<locals>.removeŸ   sv   € Ø�7‘9”9ˆDØÐØ”?ð ØÔ*×1Ò1°!Ñ4Ô4Ð4Ð4Ð4ðØ œI a˜L˜L˜LøÝ#ð ð ð Ø˜˜ðøøøð  Ðs   ±; »
A	ÁA	Fr$   )	rU   Úref_typer   Ú_removerS   Úsetr   Ú
_dirty_lenÚupdate)r   ÚdictrY   r   s       r   r   zWeakIdKeyDictionary.__init__š   s{   € ØˆŒ	à ˆŒå! $™iœið 		ð 		ð 		ð 		ð 		ð ˆŒà!#ˆÔÝ™%œ%ˆŒØˆŒØÐØ�KŠK˜ÑÔÐÐÐð Ðr   c                ó�   — | j         j        }| j        }	 	  |¦   «         }n# t          $ r Y d S w xY w	 ||= n# t          $ r Y nw xY wŒ3r   )rS   ÚpoprU   Ú
IndexErrorrV   )r   r`   Údr/   s       r   r   z$WeakIdKeyDictionary._commit_removals²   s‚   € ð
 Ô$Ô(ˆØŒIˆð		ðØ�c‘e”e��øÝð ð ð Ø��ðøøøðØ�c�F�FøÝð ð ð Ø�ðøøøð		s   –
! ¡
/®/³7 ·
AÁAc                óT   ‡— | j         Šˆfd„| j        D ¦   «         | _        d| _        d S )Nc                ó   •— g | ]}|‰v ¯|‘Œ	S r(   r(   )Ú.0rW   rb   s     €r   ú
<listcomp>z7WeakIdKeyDictionary._scrub_removals.<locals>.<listcomp>Æ   s   ø€ Ð!NÐ!NÐ!N¨ÀqÈAÀvÀv !ÀvÀvÀvr   F)rU   rS   r\   )r   rb   s    @r   Ú_scrub_removalsz#WeakIdKeyDictionary._scrub_removalsÄ   s4   ø€ ØŒIˆØ!NÐ!NÐ!NÐ!N¨TÔ-CÐ!NÑ!NÔ!NˆÔØˆŒˆˆr   c                óJ   — d| _         | j        |                      |¦  «        = d S ©NT)r\   rU   rY   ©r   r/   s     r   Ú__delitem__zWeakIdKeyDictionary.__delitem__É   s%   € ØˆŒØŒI�d—m’m CÑ(Ô(Ð)Ð)Ð)r   c                óB   — | j         |                      |¦  «                 S r   )rU   rY   rj   s     r   Ú__getitem__zWeakIdKeyDictionary.__getitem__Í   s   € ØŒy˜Ÿš sÑ+Ô+Ô,Ð,r   Úintc                ó˜   — | j         r| j        r|                      ¦   «          t          | j        ¦  «        t          | j        ¦  «        z
  S r   )r\   rS   rg   ÚlenrU   r=   s    r   Ú__len__zWeakIdKeyDictionary.__len__Ð   sH   € ØŒ?ð 	#˜tÔ5ð 	#ð × Ò Ñ"Ô"Ð"Ý�4”9‰~Œ~¥ DÔ$:Ñ ;Ô ;Ñ;Ð;r   Ústrc                óD   — d| j         j        › dt          | ¦  «        d›d�S )Nú<z at z#xú>)r1   r%   r,   r=   s    r   Ú__repr__zWeakIdKeyDictionary.__repr__×   s)   € Ø>�4”>Ô*Ð>Ð>µ°4±´Ð>Ð>Ð>Ð>Ð>r   c                óL   — || j         |                      || j        ¦  «        <   d S r   )rU   rY   rZ   )r   r/   Úvalues      r   Ú__setitem__zWeakIdKeyDictionary.__setitem__Ú   s$   € Ø6;ˆŒ	�$—-’-  T¤\Ñ2Ô2Ñ3Ð3Ð3r   c                óÒ   — t          ¦   «         }t          | ¦  «        5  | j                             ¦   «         D ]\  }} |¦   «         }|�|||<   Œ	 d d d ¦  «         n# 1 swxY w Y   |S r   )r
   r   rU   Úitems)r   Únewr/   rx   Úos        r   ÚcopyzWeakIdKeyDictionary.copyÝ   sµ   € Ý!Ñ#Ô#ˆÝ˜TÑ"Ô"ð 	#ð 	#Ø"œiŸošoÑ/Ô/ð #ð #‘
��UØ�C‘E”E�Ø�=Ø"�C˜‘Føð#ð	#ð 	#ð 	#ñ 	#ô 	#ð 	#ð 	#ð 	#ð 	#ð 	#ð 	#øøøð 	#ð 	#ð 	#ð 	#ð
 ˆ
s   ž1AÁA Á#A c                óþ   — ddl m} |                      ¦   «         }t          | ¦  «        5  | j                             ¦   «         D ] \  }} |¦   «         }|� |||¦  «        ||<   Œ!	 d d d ¦  «         n# 1 swxY w Y   |S )Nr   )Údeepcopy)r~   r€   r1   r   rU   r{   )r   Úmemor€   r|   r/   rx   r}   s          r   Ú__deepcopy__z WeakIdKeyDictionary.__deepcopy__è   s×   € Ø!Ð!Ð!Ð!Ð!Ð!à�nŠnÑÔˆÝ˜TÑ"Ô"ð 	3ð 	3Ø"œiŸošoÑ/Ô/ð 3ð 3‘
��UØ�C‘E”E�Ø�=Ø%˜X e¨TÑ2Ô2�C˜‘Føð3ð	3ð 	3ð 	3ñ 	3ô 	3ð 	3ð 	3ð 	3ð 	3ð 	3ð 	3øøøð 	3ð 	3ð 	3ð 	3ð
 ˆ
s   ª;A2Á2A6Á9A6c                ó^   — | j                              |                      |¦  «        |¦  «        S r   )rU   ÚgetrY   ©r   r/   Údefaults      r   r„   zWeakIdKeyDictionary.getó   s$   € ØŒy�}Š}˜TŸ]š]¨3Ñ/Ô/°Ñ9Ô9Ð9r   Úboolc                ód   — 	 |                       |¦  «        }n# t          $ r Y dS w xY w|| j        v S )NF)rY   Ú	TypeErrorrU   )r   r/   Úwrs      r   Ú__contains__z WeakIdKeyDictionary.__contains__ö   sH   € ð	Ø—’˜sÑ#Ô#ˆBˆBøÝð 	ð 	ð 	Ø�5�5ð	øøøà�T”YˆÐs   ‚ ˜
&¥&c              #  ó¾   K  — t          | ¦  «        5  | j                             ¦   «         D ]\  }} |¦   «         }|�||fV — Œ	 d d d ¦  «         d S # 1 swxY w Y   d S r   ©r   rU   r{   )r   rŠ   rx   r/   s       r   r{   zWeakIdKeyDictionary.itemsý   s½   è è € Ý˜TÑ"Ô"ð 	%ð 	%Ø!œYŸ_š_Ñ.Ô.ð %ð %‘	��EØ�b‘d”d�Ø�?Ø˜u˜*Ð$Ð$Ð$øð%ð	%ð 	%ð 	%ñ 	%ô 	%ð 	%ð 	%ð 	%ð 	%ð 	%ð 	%ð 	%øøøð 	%ð 	%ð 	%ð 	%ð 	%ð 	%s   ’2AÁAÁAc              #  ó�   K  — t          | ¦  «        5  | j        D ]} |¦   «         }|�|V — Œ	 d d d ¦  «         d S # 1 swxY w Y   d S r   )r   rU   )r   rŠ   Úobjs      r   ÚkeyszWeakIdKeyDictionary.keys  s¨   è è € Ý˜TÑ"Ô"ð 	ð 	Ø”ið ð �Ø�b‘d”d�Ø�?Ø�I�I�Iøðð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	ð 	s   ’;»?Á?c              #  ó¶   K  — t          | ¦  «        5  | j                             ¦   «         D ]\  }} |¦   «         �|V — Œ	 d d d ¦  «         d S # 1 swxY w Y   d S r   r�   )r   rŠ   rx   s      r   ÚvalueszWeakIdKeyDictionary.values  s²   è è € Ý˜TÑ"Ô"ð 	 ð 	 Ø!œYŸ_š_Ñ.Ô.ð  ð  ‘	��EØ�2‘4”4Ð#Ø�K�K�Køð ð	 ð 	 ð 	 ñ 	 ô 	 ð 	 ð 	 ð 	 ð 	 ð 	 ð 	 ð 	 øøøð 	 ð 	 ð 	 ð 	 ð 	 ð 	 s   ’.AÁAÁAc                ó*   — t          | j        ¦  «        S )az  Return a list of weak references to the keys.

        The references are not guaranteed to be 'live' at the time
        they are used, so the result of calling the references needs
        to be checked before being used.  This can be used to avoid
        creating references that will cause the garbage collector to
        keep the keys around longer than needed.

        )ÚlistrU   r=   s    r   ÚkeyrefszWeakIdKeyDictionary.keyrefs  s   € õ �D”I‰ŒÐr   c                ól   — d| _         	 | j                             ¦   «         \  }} |¦   «         }|�||fS Œ-ri   )r\   rU   Úpopitem)r   r/   rx   r}   s       r   r—   zWeakIdKeyDictionary.popitem  sC   € ØˆŒð	 Øœ×*Ò*Ñ,Ô,‰JˆC�Ø�‘”ˆAØˆ}Ø˜%�x�ð		 r   c                ó\   — d| _          | j        j        |                      |¦  «        g|¢R Ž S ri   )r\   rU   r`   rY   )r   r/   Úargss      r   r`   zWeakIdKeyDictionary.pop(  s1   € ØˆŒàˆtŒyŒ}˜TŸ]š]¨3Ñ/Ô/Ð7°$Ð7Ð7Ð7Ð7r   c                ój   — | j                              |                      || j        ¦  «        |¦  «        S r   )rU   Ú
setdefaultrY   rZ   r…   s      r   r›   zWeakIdKeyDictionary.setdefault-  s1   € ØŒy×#Ò#Ø�MŠM˜#˜tœ|Ñ,Ô,¨gñ
ô 
ð 	
r   c                ó
  — | j         }|�`t          |d¦  «        s t          i ¦  «        |¦  «        }|                     ¦   «         D ]#\  }}|||                      || j        ¦  «        <   Œ$|r|                      |¦  «         d S d S )Nr{   )rU   r7   Útyper{   rY   rZ   r]   )r   r^   Úkwargsrb   r/   rx   s         r   r]   zWeakIdKeyDictionary.update2  s–   € ØŒIˆØÐÝ˜4 Ñ)Ô)ð &Ø•t˜B‘x”x ‘~”~�Ø"Ÿjšj™lœlð <ð <‘
��UØ6;��$—-’-  T¤\Ñ2Ô2Ñ3Ð3Øð 	 Ø�KŠK˜ÑÔÐÐÐð	 ð 	 r   c                ó0   — |                       |¦  «         | S r   )r]   ©r   rB   s     r   Ú__ior__zWeakIdKeyDictionary.__ior__<  s   € Ø�Š�EÑÔÐØˆr   c                óš   — t          |t          j        ¦  «        r+|                      ¦   «         }|                     |¦  «         |S t
          S r   )Ú
isinstanceÚ_collections_abcr   r~   r]   ÚNotImplemented©r   rB   Úcs      r   Ú__or__zWeakIdKeyDictionary.__or__@  s?   € Ý�eÕ-Ô5Ñ6Ô6ð 	Ø—	’	‘”ˆAØ�HŠH�U‰OŒOˆOØˆHÝÐr   c                óÄ   — t          |t          j        ¦  «        r@|                      ¦   «         }|                     |¦  «         |                     | ¦  «         |S t
          S r   )r£   r¤   r   r1   r]   r¥   r¦   s      r   Ú__ror__zWeakIdKeyDictionary.__ror__G  sP   € Ý�eÕ-Ô5Ñ6Ô6ð 	Ø—’Ñ Ô ˆAØ�HŠH�U‰OŒOˆOØ�HŠH�T‰NŒNˆNØˆHÝÐr   c                ó¶   — t          |t          ¦  «        st          S d„ |                      ¦   «         D ¦   «         d„ |                     ¦   «         D ¦   «         k    S )Nc                ó4   — i | ]\  }}t          |¦  «        |“ŒS r(   ©r,   ©re   rW   Úvs      r   ú
<dictcomp>z.WeakIdKeyDictionary.__eq__.<locals>.<dictcomp>T  s$   € Ð2Ð2Ð2™T˜Q •�1‘”�qÐ2Ð2Ð2r   c                ó4   — i | ]\  }}t          |¦  «        |“ŒS r(   r­   r®   s      r   r°   z.WeakIdKeyDictionary.__eq__.<locals>.<dictcomp>T  s1   € ð 7
ð 7
ð 7
Ù˜˜A�Bˆq‰EŒE�1ð7
ð 7
ð 7
r   )r£   r   r¥   r{   r    s     r   rD   zWeakIdKeyDictionary.__eq__Q  sa   € Ý˜%¥Ñ)Ô)ð 	"Ý!Ð!Ø2Ð2 T§Z¢Z¡\¤\Ð2Ñ2Ô2ð 7
ð 7
Ø!&§¢¡¤ð7
ñ 7
ô 7
ò 
ð 	
r   r$   )r   rn   )r   rr   r   )r   r‡   )r%   r&   r'   r	   r   r   rg   rk   rm   rq   rv   ry   r~   Ú__copy__r‚   r„   r‹   r{   r�   Ú__iter__r’   r•   r—   r`   r›   r]   r¡   r¨   rª   rD   r(   r   r   r
   r
   ™   sÐ  € € € € € Ø ¨9ð ð ð ð ð ð0ð ð ð ð$ ð  ð  ð  ð
*ð *ð *ð *ð-ð -ð -ð<ð <ð <ð <ð?ð ?ð ?ð ?ð<ð <ð <ð <ðð ð ð €Hð	ð 	ð 	ð:ð :ð :ð :ðð ð ð ð%ð %ð %ðð ð ð €Hð ð  ð  ð
ð 
ð 
ð ð  ð  ð8ð 8ð 8ð

ð 
ð 
ð 
ð
 ð  ð  ð  ð  ðð ð ðð ð ðð ð ð
ð 
ð 
ð 
ð 
r   r
   c                  ó,   — e Zd ZU dZded<   dd„Zd	„ Zd
S )r   zuWrapper around a weak ref of a Tensor that handles the _fix_weakref() call required when unwrapping a Tensor weakref.zWeakRef[Tensor]r   Útensorr   r   r   c                ó¢   — t          |t          ¦  «        s t          dt          |¦  «        › d�¦  «        ‚t	          j        |¦  «        | _        d S ©Nzexpected torch.Tensor, got ú.)r£   r   ÚAssertionErrorr�   Úweakrefr   )r   rµ   s     r   r   zTensorWeakRef.__init__b  sJ   € Ý˜&¥&Ñ)Ô)ð 	PÝ Ð!N½tÀF¹|¼|Ð!NÐ!NÐ!NÑOÔOÐOÝ”;˜vÑ&Ô&ˆŒˆˆr   c                óÈ   — |                       ¦   «         }|€|S t          |t          ¦  «        s t          dt	          |¦  «        › d�¦  «        ‚|                     ¦   «          |S r·   )r   r£   r   r¹   r�   r4   )r   Úouts     r   r6   zTensorWeakRef.__call__g  sc   € Ø�hŠh‰jŒjˆØˆ;ØˆJÝ˜#�vÑ&Ô&ð 	MÝ Ð!K½tÀC¹y¼yÐ!KÐ!KÐ!KÑLÔLÐLà×ÒÑÔÐØˆ
r   N)rµ   r   r   r   )r%   r&   r'   Ú__doc__Ú__annotations__r   r6   r(   r   r   r   r   ]  sK   € € € € € € ØÐàÐÐÑð'ð 'ð 'ð 'ð
ð ð ð ð r   r   )Ú
__future__r   Úcollections.abcÚabcr¤   rº   r   r   r   Útorchr   ÚWeakRefÚ__all__r   r	   rJ   r
   r   r   r(   r   r   ú<module>rÅ      sv  ðà "Ð "Ð "Ð "Ð "Ð "à *Ð *Ð *Ð *Ð *Ð *Ø €€€Ø 3Ð 3Ð 3Ð 3Ð 3Ð 3Ð 3Ð 3Ø Ð Ð Ð Ð Ð à Ð Ð Ð Ð Ð ð €ðð ð €ð%ð %ð %ð %ð %ñ %ô %ð %ðd'ð 'ð 'ð 'ð '�”ñ 'ô 'ð 'ðXð ð ð ð �7”;ñ ô ð ðD}
ð }
ð }
ð }
ð }
˜.ñ }
ô }
ð }
ðB .Ð ðð ð ð ð ñ ô ð ð ð r   