§
    OŠtj6  ã                   ó  — U d dl mZmZ d dlmZ  G d„ de¦  «        Z G d„ de¦  «        Z G d„ d¦  «        Z e¦   «         Z ed	e¬
¦  «        Z	ee         e
d	<   deddfd„Z G d„ d¦  «        Z ee¦  «        Zdee         ddfd„ZdS )é    )ÚOptionalÚProtocol)Ú
ContextVarc                   ó   — e Zd Zdefd„ZdS )ÚBufferÚreturnc                 ó   — d S ©N© ©Úselfs    úX/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/triton/runtime/_allocation.pyÚdata_ptrzBuffer.data_ptr   ó   € Øˆó    N)Ú__name__Ú
__module__Ú__qualname__Úintr   r   r   r   r   r      s/   € € € € € ð˜#ð ð ð ð ð ð r   r   c                   ó2   — e Zd Zdededee         defd„ZdS )Ú	AllocatorÚsizeÚ	alignmentÚstreamr   c                 ó   — d S r
   r   ©r   r   r   r   s       r   Ú__call__zAllocator.__call__   r   r   N©r   r   r   r   r   r   r   r   r   r   r   r      sH   € € € € € ð˜Sð ¨Sð ¸(À3¼-ð ÈFð ð ð ð ð ð r   r   c                   ó2   — e Zd Zdededee         defd„ZdS )ÚNullAllocatorr   r   r   r   c                 ó    — t          d¦  «        ‚)NzxKernel requires a runtime memory allocation, but no allocator was set. Use triton.set_allocator to specify an allocator.)ÚRuntimeErrorr   s       r   r   zNullAllocator.__call__   s   € Ýð Oñ Pô Pð 	Pr   Nr   r   r   r   r    r       sR   € € € € € ðP˜Sð P¨Sð P¸(À3¼-ð PÈFð Pð Pð Pð Pð Pð Pr   r    Ú
_allocator)ÚdefaultÚ	allocatorr   Nc                 ó:   — t                                | ¦  «         dS )z€
    The allocator function is called during kernel launch for kernels that
    require additional global memory workspace.
    N)r#   Úset©r%   s    r   Úset_allocatorr)      s   € õ
 ‡N‚N�9ÑÔÐÐÐr   c                   ób   — e Zd ZdZdeddfd„Zdefd„Zdeddfd„Zded	ed
e	e         de
fd„ZdS )Ú_AllocatorWrapperz¥
    Wrapper to provide ContextVar-like .get()/.set() methods. profile_allocator is
    used in same way as allocator so it is useful to maintain the interface.
    r%   r   Nc                 ó   — || _         d S r
   ©r#   ©r   r%   s     r   Ú__init__z_AllocatorWrapper.__init__+   ó   € Ø#ˆŒˆˆr   c                 ó   — | j         S r
   r-   r   s    r   Úgetz_AllocatorWrapper.get.   s
   € ØŒÐr   c                 ó   — || _         d S r
   r-   r.   s     r   r'   z_AllocatorWrapper.set1   r0   r   r   r   r   c                 ó0   — |                       |||¦  «        S r
   r-   r   s       r   r   z_AllocatorWrapper.__call__4   s   € Ø�Š˜t Y°Ñ7Ô7Ð7r   )r   r   r   Ú__doc__r   r/   r2   r'   r   r   r   r   r   r   r   r+   r+   %   s±   € € € € € ðð ð
$ )ð $°ð $ð $ð $ð $ð�Yð ð ð ð ð$˜Yð $¨4ð $ð $ð $ð $ð8˜Sð 8¨Sð 8¸(À3¼-ð 8ÈFð 8ð 8ð 8ð 8ð 8ð 8r   r+   c                 óL   — t                                | �| nt          ¦  «         dS )zˆ
    The profile allocator function is called before kernel launch for kernels
    that require additional global memory workspace.
    N)Ú_profile_allocatorr'   Ú_NULL_ALLOCATORr(   s    r   Úset_profile_allocatorr9   ;   s'   € õ
 ×Ò¨	Ð(=˜9˜9Å?ÑSÔSÐSÐSÐSr   )Útypingr   r   Úcontextvarsr   r   r   r    r8   r#   Ú__annotations__r)   r+   r7   r9   r   r   r   ú<module>r=      s}  ðØ %Ð %Ð %Ð %Ð %Ð %Ð %Ð %Ð %Ø "Ð "Ð "Ð "Ð "Ð "ðð ð ð ð ˆXñ ô ð ðð ð ð ð �ñ ô ð ðPð Pð Pð Pð Pñ Pô Pð Pð  �-‘/”/€à$. J¨|À_Ð$UÑ$UÔ$U€
ˆJ�yÔ!Ð UÐ UÑ Uð˜Yð ¨4ð ð ð ð ð8ð 8ð 8ð 8ð 8ñ 8ô 8ð 8ð& 'Ð& Ñ7Ô7Ð ðT X¨iÔ%8ð T¸Tð Tð Tð Tð Tð Tð Tr   