+
    –°³j™  ã                  óB  € ^ RI Ht ^ RIt^ RIt^ RIt^ RIt^ RIHtHtH	t	 ^ RI
Ht ]],          ],          ],          t ! R R]	4      t]P$                  ! RR7       ! R	 R
4      4       t]! RRR7      t]! RRRRR7      t]! RRRR7      t]! RRR7      t]! RRRR7      tR# )é    )ÚannotationsN)ÚAnyÚLiteralÚProtocol)Úassert_neverc                  ó:   € ] tR t^tR R ltR R ltR R ltRtR# )	Ú	_HashLikec               ó    € V ^8„  d   QhRRRR/# )é   ÚdataÚbytesÚreturnÚNone© )Úformats   "ÚZ/home/luca/screen-checking/.venv/lib/python3.14/site-packages/torch/_inductor/cache_key.pyÚ__annotate__Ú_HashLike.__annotate__   s   € ×1Ñ1˜5Ð1¨Ñ1ó    c               	ó   € R # ©Nr   )Úselfr   s   ""r   ÚupdateÚ_HashLike.update   s   € ©cr   c               ó   € V ^8„  d   QhRR/# )r   r   r   r   )r   s   "r   r   r      s   € ×"Ñ"˜Ñ"r   c                	ó   € R # r   r   ©r   s   &r   ÚdigestÚ_HashLike.digest   s   € ™sr   c               ó   € V ^8„  d   QhRR/# )r   r   Ústrr   )r   s   "r   r   r      s   € ×#Ñ#˜3Ñ#r   c                	ó   € R # r   r   r   s   &r   Ú	hexdigestÚ_HashLike.hexdigest   s   € ¡r   r   N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r   r   r#   Ú__static_attributes__r   r   r   r	   r	      s   † Ý1Ý"ß#Ñ#r   r	   T)Úfrozenc                  ó¨   € ] tR t^t$ RtR]R&   R]R&   RtR]R&   RtR	]R
&   ^3tR]R&   ]	R R l4       t
R R ltR R ltR R ltRR/R R lltRtR# )ÚCacheKeyStrategya"  
Describes how an Inductor cache turns stable components into a cache key.

Different caches intentionally use different key formats for compatibility
with existing on-disk and remote cache layouts. Keeping those choices in
named strategies makes the composition explicit at the call site.
r!   ÚnamezLiteral['base32', 'hex']Údigest_formatÚ ÚprefixNzbytes | NoneÚ	separatorÚintÚbase32_lengthc               ó    € V ^8„  d   QhRRRR/# )r   Ú	componentÚCacheKeyComponentr   r   r   )r   s   "r   r   ÚCacheKeyStrategy.__annotate__&   s   € ÷ 	Qñ 	QÐ.ð 	Q°5ñ 	Qr   c                	ó>  € \        V \        4      '       d   V P                  R 4      # \        V \        4      '       d   V # \        V \        4      '       d   \        V 4      # \        V \
        4      '       d   V P                  4       # \        R\        V 4      : 24      h)úutf-8z!Unsupported cache key component: )	Ú
isinstancer!   Úencoder   Ú	bytearrayÚ
memoryviewÚtobytesÚ	TypeErrorÚtype)r5   s   &r   Ú	_to_bytesÚCacheKeyStrategy._to_bytes%   s   € ä�i¤×%Ò%Ø×#Ñ# GÓ,Ð,Ü�i¤×'Ò'ØÐÜ�i¤×+Ò+Ü˜Ó#Ð#Ü�i¤×,Ò,Ø×$Ñ$Ó&Ð&ÜÐ;¼DÀ»OÑ;NÐOÓPÐPr   c               ó    € V ^8„  d   QhRRRR/# )r   Ú
componentsztuple[CacheKeyComponent, ...]r   r	   r   )r   s   "r   r   r7   1   s   € ÷ ñ Ð"?ð ÀIñ r   c                	óø   € \         P                  ! 4       p\        V4       FU  w  r4V^ 8”  d*   V P                  e   VP	                  V P                  4       VP	                  V P                  V4      4       KW  	  V# )r   )ÚhashlibÚsha256Ú	enumerater1   r   rA   )r   rD   ÚhasherÚidxr5   s   &&   r   Ú_hasherÚCacheKeyStrategy._hasher1   s[   € Ü—’Ó!ˆÜ'¨
Ö3‰NˆCØ�QŒw˜4Ÿ>™>Ò5Ø—‘˜dŸn™nÔ-Ø�M‰M˜$Ÿ.™.¨Ó3Ö4ñ 4ð ˆr   c               ó    € V ^8„  d   QhRRRR/# ©r   rD   r6   r   r!   r   )r   s   "r   r   r7   9   s   € ÷ )ñ )Ð"3ð )¸ñ )r   c                	óR  € V P                  V4      pV P                  R 8X  d   VP                  4       # V P                  R8X  dO   \        P                  ! VP                  4       4      RV P                   P                  R4      P                  4       # \        V P                  4       R# )ÚhexÚbase32Nr9   )
rK   r.   r#   Úbase64Ú	b32encoder   r3   ÚdecodeÚlowerr   )r   rD   rI   s   &* r   r   ÚCacheKeyStrategy.digest9   s„   € Ø—‘˜jÓ)ˆØ×Ñ Ô&Ø×#Ñ#Ó%Ð%Ø×Ñ Ô)ô × Ò  §¡£Ó1Ð2F°D×4FÑ4FÐGß‘˜“ß‘“ðô
 	�T×'Ñ'Ö(r   c               ó    € V ^8„  d   QhRRRR/# rN   r   )r   s   "r   r   r7   F   s   € ÷ :ñ :Ð0ð :°Sñ :r   c                	ó>   € V P                    V P                  ! V!   2# r   )r0   r   )r   rD   s   &*r   ÚkeyÚCacheKeyStrategy.keyF   s   € Ø—+‘+�˜tŸ{š{¨JÑ7Ð8Ð9Ð9r   Ú	sort_keysTc               ó$   € V ^8„  d   QhRRRRRR/# )r   Úvaluer   r[   Úboolr   r!   r   )r   s   "r   r   r7   I   s&   € ÷ @ñ @ 3ð @°dð @Àcñ @r   c               	óN   € V P                  \        P                  ! WR 7      4      # ))r[   )rY   ÚjsonÚdumps)r   r]   r[   s   &&$r   Úkey_from_jsonÚCacheKeyStrategy.key_from_jsonI   s   € Ø�x‰xœŸ
š
 5Ô>Ó?Ð?r   r   )r%   r&   r'   r(   Ú__doc__Ú__annotations__r0   r1   r3   ÚstaticmethodrA   rK   r   rY   rb   r)   r   r   r   r,   r,      si   ‡ ñð ƒIØ+Ó+Ø€FˆCÓØ"€Iˆ|Ó"Ø€M�3Óàô	Qó ð	Qõõ)õ:ð@¸T÷ @ó @r   r,   ÚcompactrQ   )r-   r.   ÚcodeÚcs   ||)r-   r.   r0   r1   Úfx_graphÚf)r-   r.   r0   ÚsystemrP   Úautotune)r-   r.   r1   )Ú
__future__r   rR   ÚdataclassesrF   r`   Útypingr   r   r   Útyping_extensionsr   r!   r   r<   r=   r6   r	   Ú	dataclassr,   ÚCOMPACT_CACHE_KEY_STRATEGYÚCODE_CACHE_KEY_STRATEGYÚFX_GRAPH_CACHE_KEY_STRATEGYÚSYSTEM_CACHE_KEY_STRATEGYÚAUTOTUNE_CACHE_KEY_STRATEGYr   r   r   Ú<module>rx      sÒ   ðÝ "ã Û Û Û ß )Ñ )Ý *ð ˜%•K )Õ+¨jÕ8Ð ô$�ô $ð ×Ò˜dÔ#÷5@ð 5@ó $ð5@ñp .Ø	ØôÐ ñ
 +Ø	ØØØô	Ð ñ /Ø	ØØôÐ ñ -Ø	ØôÐ ñ
 /Ø	Øàô	Ò r   