§
    9˜ºh–$  ã                   ó  — d dl Z d dlZd dlZd dlmZmZ d dlmZmZm	Z	 d dl
Z
d dlZddlmZ  G d„ de¦  «        Z G d„ d	e¦  «        Z G d
„ d¦  «        Z G d„ de¦  «        Z G d„ de¦  «        Zd„ Zdefd„Zdefd„Zdefd„Zd„ ZdS )é    N)ÚABCÚabstractmethod)ÚDictÚListÚOptionalé   )Úknobsc                   óÈ   — e Zd Zdd„Zedee         fd„¦   «         Zeddefd„¦   «         Zededee	eef                  fd„¦   «         Z
eded	e	eef         fd
„¦   «         ZdS )ÚCacheManagerFc                 ó   — d S ©N© ©ÚselfÚkeyÚoverrideÚdumps       ú\/var/www/html/services/rag-service/venv/lib/python3.11/site-packages/triton/runtime/cache.pyÚ__init__zCacheManager.__init__   ó   € Øˆó    Úreturnc                 ó   — d S r   r   ©r   Úfilenames     r   Úget_filezCacheManager.get_file   ó   € àˆr   Tc                 ó   — d S r   r   ©r   Údatar   Úbinarys       r   ÚputzCacheManager.put   r   r   r   c                 ó   — d S r   r   r   s     r   Ú	get_groupzCacheManager.get_group   r   r   Úgroupc                 ó   — d S r   r   )r   r   r%   s      r   Ú	put_groupzCacheManager.put_group   r   r   N©FF©T)Ú__name__Ú
__module__Ú__qualname__r   r   r   Ústrr   r"   r   r$   r'   r   r   r   r   r      sð   € € € € € ðð ð ð ð ð H¨S¤Mð ð ð ñ „^ðð ðð °#ð ð ð ñ „^ðð ð #ð ¨(°4¸¸S¸´>Ô*Bð ð ð ñ „^ðð ð #ð ¨d°3¸°8¬nð ð ð ñ „^ðð ð r   r   c                   ó¤   — e Zd Zdd„Zdefd„Zdefd„Zdee         fd„Z	dedee
eef                  fd„Zded	e
eef         defd
„Zddefd„ZdS )ÚFileCacheManagerFc                 ó  — || _         d | _        |rŒt          j        j        | _        t          j                             | j        | j         ¦  «        | _        t          j                             | j        d¦  «        | _        t          j	        | j        d¬¦  «         d S |rGt          j        j
        | _        t          j                             | j        | j         ¦  «        | _        d S t          j        j        | _        | j        rvt          j                             | j        | j         ¦  «        | _        t          j                             | j        d¦  «        | _        t          j	        | j        d¬¦  «         d S t          d¦  «        ‚)NÚlockT©Úexist_okú$Could not create or locate cache dir)r   Ú	lock_pathr	   ÚcacheÚdump_dirÚ	cache_dirÚosÚpathÚjoinÚmakedirsÚoverride_dirÚdirÚRuntimeErrorr   s       r   r   zFileCacheManager.__init__$   s"  € ØˆŒØˆŒØð 	KÝ"œ[Ô1ˆDŒNÝœWŸ\š\¨$¬.¸$¼(ÑCÔCˆDŒNÝœWŸ\š\¨$¬.¸&ÑAÔAˆDŒNÝŒK˜œ°Ð6Ñ6Ô6Ð6Ð6Ð6Øð 	KÝ"œ[Ô5ˆDŒNÝœWŸ\š\¨$¬.¸$¼(ÑCÔCˆDŒNˆNˆNõ #œ[œ_ˆDŒNØŒ~ð KÝ!#¤§¢¨d¬n¸d¼hÑ!GÔ!G�”Ý!#¤§¢¨d¬n¸fÑ!EÔ!E�”Ý”˜DœN°TÐ:Ñ:Ô:Ð:Ð:Ð:å"Ð#IÑJÔJÐJr   r   c                 óL   — t           j                             | j        |¦  «        S r   )r9   r:   r;   r8   r   s     r   Ú
_make_pathzFileCacheManager._make_path9   s   € ÝŒw�|Š|˜DœN¨HÑ5Ô5Ð5r   c                 ó’   — | j         st          d¦  «        ‚t          j                             |                      |¦  «        ¦  «        S )Nr4   )r8   r?   r9   r:   ÚexistsrA   r   s     r   Úhas_filezFileCacheManager.has_file<   s<   € ØŒ~ð 	GÝÐEÑFÔFÐFÝŒw�~Š~˜dŸošo¨hÑ7Ô7Ñ8Ô8Ð8r   c                 óZ   — |                       |¦  «        r|                      |¦  «        S d S r   )rD   rA   r   s     r   r   zFileCacheManager.get_fileA   s-   € Ø�=Š=˜Ñ"Ô"ð 	Ø—?’? 8Ñ,Ô,Ð,à�4r   r   c                 ó’  — d|› �}|                       |¦  «        sd S |                      |¦  «        }t          |¦  «        5 }t          j        |¦  «        }d d d ¦  «         n# 1 swxY w Y   |                     dd ¦  «        }|€d S i }|                     ¦   «         D ])\  }}	t          j         	                    |	¦  «        r|	||<   Œ*|S ©NÚ__grp__Úchild_paths)
rD   rA   ÚopenÚjsonÚloadÚgetÚitemsr9   r:   rC   )
r   r   Úgrp_filenameÚgrp_filepathÚfÚgrp_datarI   ÚresultÚcÚps
             r   r$   zFileCacheManager.get_groupG   s  € Ø+ Ð+Ð+ˆØ�}Š}˜\Ñ*Ô*ð 	Ø�4Ø—’ |Ñ4Ô4ˆÝ�,ÑÔð 	$ 1Ý”y ‘|”|ˆHð	$ð 	$ð 	$ñ 	$ô 	$ð 	$ð 	$ð 	$ð 	$ð 	$ð 	$øøøð 	$ð 	$ð 	$ð 	$à—l’l =°$Ñ7Ô7ˆàÐØ�4ØˆØ×%Ò%Ñ'Ô'ð 	ð 	‰DˆAˆqÝŒw�~Š~˜aÑ Ô ð Ø��q‘	øØˆs   ÁA"Á"A&Á)A&r%   c                 ó”   — | j         st          d¦  «        ‚t          j        d|i¦  «        }d|› �}|                      ||d¬¦  «        S )Nr4   rI   rH   F©r!   )r8   r?   rK   Údumpsr"   ©r   r   r%   Úgrp_contentsrO   s        r   r'   zFileCacheManager.put_groupY   sU   € ØŒ~ð 	GÝÐEÑFÔFÐFÝ”z =°%Ð"8Ñ9Ô9ˆØ+ Ð+Ð+ˆØ�xŠx˜ l¸5ˆxÑAÔAÐAr   Tc                 óº  — | j         st          d¦  «        ‚t          |t          ¦  «        }|st	          |¦  «        }| j        €J ‚|                      |¦  «        }t	          t          j        ¦   «         ¦  «        }t          j
        ¦   «         }t          j                             | j         d|› d|› �¦  «        }t          j        |d¬¦  «         t          j                             ||¦  «        }|rdnd}	t          ||	¦  «        5 }
|
                     |¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        ||¦  «         t          j        |¦  «         |S )Nr4   ztmp.pid_Ú_Tr2   ÚwbÚw)r8   r?   Ú
isinstanceÚbytesr-   r5   rA   ÚuuidÚuuid4r9   Úgetpidr:   r;   r<   rJ   ÚwriteÚreplaceÚ
removedirs)r   r    r   r!   ÚfilepathÚrnd_idÚpidÚtemp_dirÚ	temp_pathÚmoderQ   s              r   r"   zFileCacheManager.put`   su  € ØŒ~ð 	GÝÐEÑFÔFÐFÝ˜D¥%Ñ(Ô(ˆØð 	Ý�t‘9”9ˆDØŒ~Ð)Ð)Ð)Ø—?’? 8Ñ,Ô,ˆå•T”Z‘\”\Ñ"Ô"ˆåŒi‰kŒkˆå”7—<’< ¤Ð0I¸3Ð0IÐ0IÀÐ0IÐ0IÑJÔJˆÝ
Œ�H tÐ,Ñ,Ô,Ð,Ý”G—L’L ¨8Ñ4Ô4ˆ	àÐ&ˆtˆt 3ˆÝ�)˜TÑ"Ô"ð 	 aØ�GŠG�D‰MŒMˆMð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	õ 	Œ
�9˜hÑ'Ô'Ð'Ý
Œ�hÑÔÐØˆs   ÄD'Ä'D+Ä.D+Nr(   r)   )r*   r+   r,   r   r-   rA   ÚboolrD   r   r   r   r$   r'   r"   r   r   r   r/   r/   "   s  € € € € € ðKð Kð Kð Kð*6 cð 6ð 6ð 6ð 6ð9 Dð 9ð 9ð 9ð 9ð
 H¨S¤Mð ð ð ð ð #ð ¨(°4¸¸S¸´>Ô*Bð ð ð ð ð$B #ð B¨d°3¸°8¬nð BÀð Bð Bð Bð Bðð °#ð ð ð ð ð ð r   r/   c                   óz   — e Zd ZdZdefd„Zedee         deee	f         fd„¦   «         Z
edede	fd	„¦   «         Zd
S )ÚRemoteCacheBackendzL
    A backend implementation for accessing a remote/distributed cache.
    r   c                 ó   — d S r   r   )r   r   s     r   r   zRemoteCacheBackend.__init__€   r   r   Ú	filenamesr   c                 ó   — d S r   r   )r   rq   s     r   rM   zRemoteCacheBackend.getƒ   r   r   r   r    c                 ó   — d S r   r   ©r   r   r    s      r   r"   zRemoteCacheBackend.put‡   r   r   N)r*   r+   r,   Ú__doc__r-   r   r   r   r   r`   rM   r"   r   r   r   ro   ro   {   s¢   € € € € € ðð ð˜Cð ð ð ð ð ð˜T #œYð ¨4°°U°
Ô+;ð ð ð ñ „^ðð ð˜Cð  uð ð ð ñ „^ðð ð r   ro   c                   ót   — e Zd Zd„ Zdedefd„Zdee         deeef         fd„Zdede	deee	f         fd„Z
d	S )
ÚRedisRemoteCacheBackendc                 óÚ   — dd l }|| _        t          j        j         j        | _        |                     t          j        j         j        t          j        j         j        ¬¦  «        | _	        d S )Nr   )ÚhostÚport)
ÚredisÚ_keyr	   r6   Ú
key_formatÚ_key_fmtÚRedisry   rz   Ú_redis)r   r   r{   s      r   r   z RedisRemoteCacheBackend.__init__Ž   sU   € ØˆˆˆØˆŒ	ÝœÔ)Ô4ˆŒØ—k’kÝ”Ô"Ô'Ý”Ô"Ô'ð "ñ 
ô 
ˆŒˆˆr   r   r   c                 óD   — | j                              | j        |¬¦  «        S )N)r   r   )r~   Úformatr|   r   s     r   Ú_get_keyz RedisRemoteCacheBackend._get_key—   s   € ØŒ}×#Ò#¨¬	¸HÐ#ÑEÔEÐEr   rq   c                 ó„   ‡ — ‰ j                              ˆ fd„|D ¦   «         ¦  «        }d„ t          ||¦  «        D ¦   «         S )Nc                 ó:   •— g | ]}‰                      |¦  «        ‘ŒS r   )rƒ   )Ú.0rQ   r   s     €r   ú
<listcomp>z/RedisRemoteCacheBackend.get.<locals>.<listcomp>›   s%   ø€ Ð#HÐ#HÐ#H¸ D§M¢M°!Ñ$4Ô$4Ð#HÐ#HÐ#Hr   c                 ó   — i | ]
\  }}|®||“ŒS r   r   )r†   r   rS   s      r   ú
<dictcomp>z/RedisRemoteCacheBackend.get.<locals>.<dictcomp>œ   s%   € ÐgÐgÐgÑ%5 X¨vÐTZÐTf�˜&ÐTfÐTfÐTfr   )r€   ÚmgetÚzip)r   rq   Úresultss   `  r   rM   zRedisRemoteCacheBackend.getš   sK   ø€ Ø”+×"Ò"Ð#HÐ#HÐ#HÐ#H¸iÐ#HÑ#HÔ#HÑIÔIˆØgÐg½¸YÈÑ9PÔ9PÐgÑgÔgÐgr   r    c                 ób   — | j                              |                      |¦  «        |¦  «         d S r   )r€   Úsetrƒ   rt   s      r   r"   zRedisRemoteCacheBackend.putž   s*   € ØŒ�Š˜Ÿš hÑ/Ô/°Ñ6Ô6Ð6Ð6Ð6r   N)r*   r+   r,   r   r-   rƒ   r   r   rM   r`   r"   r   r   r   rw   rw   Œ   s±   € € € € € ð
ð 
ð 
ðF ð F¨ð Fð Fð Fð Fðh˜T #œYð h¨4°°S°¬>ð hð hð hð hð7˜Cð 7 uð 7°°c¸5°jÔ1Að 7ð 7ð 7ð 7ð 7ð 7r   rw   c                   ó    — e Zd Zdd„Zdedefd„Zdedee         fd„Zddedefd	„Z	dedee
eef                  fd
„Zdede
eef         fd„ZdS )ÚRemoteCacheManagerFc                 ó´   — t           j        j        }|st          d¦  «        ‚ ||¦  «        | _        || _        || _        t          |||¬¦  «        | _        d S )NzdUnable to instantiate RemoteCacheManager, TRITON_REMOTE_CACHE_BACKEND doesn't point to a valid class)r   r   )	r	   r6   Úremote_manager_classr?   Ú_backendÚ	_overrideÚ_dumpr/   Ú_file_cache_manager)r   r   r   r   Úremote_cache_clss        r   r   zRemoteCacheManager.__init__¤   sn   € å œ;Ô;ÐØð 	xÝØvñxô xð xà(Ð(¨Ñ-Ô-ˆŒà!ˆŒØˆŒ
õ $4°CÀ(ÐQUÐ#VÑ#VÔ#VˆÔ Ð Ð r   r   r    c                 ó<   — | j                              ||d¬¦  «        S )NTrW   )r–   r"   rt   s      r   Ú_materializezRemoteCacheManager._materialize²   s    € àÔ'×+Ò+¨D°(À4Ð+ÑHÔHÐHr   r   c                 ó  — | j         s| j        r| j                             |¦  «        S | j                             |g¦  «        }t          |¦  «        dk    rd S |                     ¦   «         \  \  }}|                      ||¦  «        S )Nr   )	r•   r”   r–   r   r“   rM   ÚlenrN   r™   )r   r   rŒ   r\   r    s        r   r   zRemoteCacheManager.get_file¶   s„   € àŒ:ð 	?˜œð 	?ØÔ+×4Ò4°XÑ>Ô>Ð>ð
 ”-×#Ò# X JÑ/Ô/ˆÝˆw‰<Œ<˜1ÒÐØ�4Ø—]’]‘_”_‰
‰	ˆˆDØ× Ò  ¨4Ñ0Ô0Ð0r   Tc                 ó(  — | j         s| j        r| j                             |||¬¦  «        S t	          |t
          ¦  «        s"t          |¦  «                             d¦  «        }| j                             ||¦  «         |  	                    ||¦  «        S )NrW   úutf-8)
r•   r”   r–   r"   r_   r`   r-   Úencoder“   r™   r   s       r   r"   zRemoteCacheManager.putÄ   sŽ   € àŒ:ð 	O˜œð 	OØÔ+×/Ò/°°hÀvÐ/ÑNÔNÐNå˜$¥Ñ&Ô&ð 	-Ý�t‘9”9×#Ò# GÑ,Ô,ˆDØŒ×Ò˜( DÑ)Ô)Ð)Ø× Ò  ¨4Ñ0Ô0Ð0r   c                 óÖ  — | j         s| j        r| j                             |¦  «        S d|› �}|                      |¦  «        }|€d S t          |¦  «        5 }t          j        |¦  «        }d d d ¦  «         n# 1 swxY w Y   |                     dd ¦  «        }d }|�Mi }| j	                             |¦  «         
                    ¦   «         D ]\  }}	|                      ||	¦  «        ||<   Œ|S rG   )r•   r”   r–   r$   r   rJ   rK   rL   rM   r“   rN   r™   )
r   r   rO   rP   rQ   rR   rI   rS   Ú
child_pathr    s
             r   r$   zRemoteCacheManager.get_groupÎ   s=  € àŒ:ð 	@˜œð 	@ØÔ+×5Ò5°hÑ?Ô?Ð?à+ Ð+Ð+ˆØ—}’} \Ñ2Ô2ˆØÐØ�4Ý�,ÑÔð 	$ 1Ý”y ‘|”|ˆHð	$ð 	$ð 	$ñ 	$ô 	$ð 	$ð 	$ð 	$ð 	$ð 	$ð 	$øøøð 	$ð 	$ð 	$ð 	$à—l’l =°$Ñ7Ô7ˆàˆð Ð"ØˆFØ$(¤M×$5Ò$5°kÑ$BÔ$B×$HÒ$HÑ$JÔ$Jð Ið IÑ �
˜DØ%)×%6Ò%6°zÀ4Ñ%HÔ%H��zÑ"Ð"àˆs   ÁA7Á7A;Á>A;r%   c           	      ó  — | j         s| j        r| j                             ||¦  «        S t	          j        dt          t          |                     ¦   «         ¦  «        ¦  «        i¦  «        }d|› �}|  	                    ||¦  «        S )NrI   rH   )
r•   r”   r–   r'   rK   rX   ÚsortedÚlistÚkeysr"   rY   s        r   r'   zRemoteCacheManager.put_groupå   s}   € àŒ:ð 	G˜œð 	GØÔ+×5Ò5°hÀÑFÔFÐFå”z =µ&½¸e¿jºj¹l¼lÑ9KÔ9KÑ2LÔ2LÐ"MÑNÔNˆØ+ Ð+Ð+ˆØ�xŠx˜ lÑ3Ô3Ð3r   Nr(   r)   )r*   r+   r,   r   r-   r`   r™   r   r   r"   r   r$   r'   r   r   r   r�   r�   ¢   sú   € € € € € ðWð Wð Wð WðI Sð I°ð Ið Ið Ið Ið1 ð 1¨°#¬ð 1ð 1ð 1ð 1ð1ð 1 #ð 1°sð 1ð 1ð 1ð 1ð #ð ¨(°4¸¸S¸´>Ô*Bð ð ð ð ð.4 #ð 4¨d°3¸°8¬nð 4ð 4ð 4ð 4ð 4ð 4r   r�   c                 ó¦   — t          j        t                               | ¦  «        ¦  «                             d¦  «                             d¦  «        S )Nr�   ú=)Úbase64Ú	b32encoder`   ÚfromhexÚdecodeÚrstrip)r   s    r   Ú_base32r¬   ï   s;   € åÔ�EŸMšM¨#Ñ.Ô.Ñ/Ô/×6Ò6°wÑ?Ô?×FÒFÀsÑKÔKÐKr   r   c                 ób   — t           j        j        pt          } |t	          | ¦  «        ¦  «        S r   ©r	   r6   Úmanager_classr/   r¬   ©r   Úclss     r   Úget_cache_managerr²   ô   s(   € Ý
Œ+Ô
#Ð
7Õ'7€CØˆ3�w�s‰|Œ|ÑÔÐr   c                 óf   — t           j        j        pt          } |t	          | ¦  «        d¬¦  «        S )NT)r   r®   r°   s     r   Úget_override_managerr´   ù   s-   € Ý
Œ+Ô
#Ð
7Õ'7€CØˆ3�w�s‰|Œ| dÐ+Ñ+Ô+Ð+r   c                 óf   — t           j        j        pt          } |t	          | ¦  «        d¬¦  «        S )NT)r   r®   r°   s     r   Úget_dump_managerr¶   þ   s-   € Ý
Œ+Ô
#Ð
7Õ'7€CØˆ3�w�s‰|Œ| $Ð'Ñ'Ô'Ð'r   c                 óp  — d„ |                      ¦   «         D ¦   «         }| › dd                     |                     ¦   «         ¦  «        › d|› d|› �}|D ]}|› d|                     |¦  «        › �}Œt	          j        |                     d¦  «        ¦  «                             ¦   «         }t          |¦  «        S )Nc                 ó6   — i | ]\  }}||d          dk    rdn|“ŒS )r   Ú*Úptrr   )r†   ÚkÚvs      r   r‰   z%make_so_cache_key.<locals>.<dictcomp>  s.   € ÐNÐNÐN±D°A°q�˜Q˜qœT Sš[˜[�E�E¨aÐNÐNÐNr   ú-Ú r�   )	rN   r;   ÚvaluesrM   ÚhashlibÚsha256rž   Ú	hexdigestr¬   )Úversion_hashÚ	signatureÚ	constantsÚidsÚkwargsr   Úkws          r   Úmake_so_cache_keyrÉ     s»   € àNÐN¸I¿OºOÑ<MÔ<MÐNÑNÔN€IØÐ
KÐ
K˜BŸGšG I×$4Ò$4Ñ$6Ô$6Ñ7Ô7Ð
KÐ
K¸)Ð
KÐ
KÀcÐ
KÐ
K€CØð (ð (ˆØÐ'Ð'�v—z’z "‘~”~Ð'Ð'ˆˆÝ
Œ.˜Ÿš GÑ,Ô,Ñ
-Ô
-×
7Ò
7Ñ
9Ô
9€CÝ�3‰<Œ<Ðr   )rK   r9   ra   Úabcr   r   Útypingr   r   r   r§   rÀ   r¾   r	   r   r/   ro   rw   r�   r¬   r²   r´   r¶   rÉ   r   r   r   ú<module>rÌ      sÙ  ðØ €€€Ø 	€	€	€	Ø €€€Ø #Ð #Ð #Ð #Ð #Ð #Ð #Ð #Ø 'Ð 'Ð 'Ð 'Ð 'Ð 'Ð 'Ð 'Ð 'Ð 'Ø €€€Ø €€€à Ð Ð Ð Ð Ð ðð ð ð ð �3ñ ô ð ð,Vð Vð Vð Vð V�|ñ Vô Vð Vðrð ð ð ð ñ ô ð ð"7ð 7ð 7ð 7ð 7Ð0ñ 7ô 7ð 7ð,J4ð J4ð J4ð J4ð J4˜ñ J4ô J4ð J4ðZLð Lð Lð
˜lð ð ð ð ð
, ð ,ð ,ð ,ð ,ð
(˜\ð (ð (ð (ð (ð
ð ð ð ð r   