+
    –°³j+  ã                   ó.   € ^ RI t ^ RIHt  ! R R4      tR# )é    N)ÚAnyc                   ó�   a € ] tR t^t o RtV 3R lR ltV 3R lR ltV 3R lR ltV 3R lR	 ltV 3R
 lR lt	V 3R lR lt
RtV tR# )Ú_PyInstDecoderz@
Decodes Python bytecode instructions to extract variable names
c                ó*   <€ V ^8„  d   QhRS[ RS[RR/# )é   Úcode_objectÚlastiÚreturnN)r   Úint)ÚformatÚ__classdict__s   "€Ú_/home/luca/screen-checking/.venv/lib/python3.14/site-packages/functorch/dim/_py_inst_decoder.pyÚ__annotate__Ú_PyInstDecoder.__annotate__
   s"   ø€ ÷ :ñ :¡Cð :±ð :¸ñ :ó    c                ó†   € Wn         \        \        P                  ! V4      4      V n        V P                  V4      V n        R # )N)r   ÚlistÚdisÚget_instructionsÚinstructionsÚ_find_instruction_indexÚoffset)Úselfr   r	   s   &&&r   Ú__init__Ú_PyInstDecoder.__init__
   s2   € Ø&ÔÜ ¤×!5Ò!5°kÓ!BÓCˆÔØ×2Ñ2°5Ó9ˆŽr   c                ó&   <€ V ^8„  d   QhRS[ RS[ /# )r   r	   r
   ©r   )r   r   s   "€r   r   r      s   ø€ ÷ 
ñ 
©Sð 
±Sñ 
r   c                ór   € ^ p\        V P                  4       F  w  r4VP                  V8:  d   TpK   V# 	  V# )z<Find instruction index corresponding to lasti (byte offset).)Ú	enumerater   r   )r   r	   Úbest_idxÚiÚinstrs   &&   r   r   Ú&_PyInstDecoder._find_instruction_index   s@   € ð ˆÜ! $×"3Ñ"3Ö4‰HˆAØ�|‰|˜uÔ$Ø’àØˆñ 5ð
 ˆr   c                ó   <€ V ^8„  d   QhRR/# ©r   r
   N© )r   r   s   "€r   r   r      s   ø€ ÷ ñ �dñ r   c                ó8   € V ;P                   ^,          un         R# )z Advance to the next instruction.N)r   ©r   s   &r   ÚnextÚ_PyInstDecoder.next   s   € à�Š�qÕ�r   c                ó.   <€ V ^8„  d   QhRS[ R,          /# r%   ©Ústr)r   r   s   "€r   r   r      s   ø€ ÷ ñ ™˜d�
ñ r   c                óœ   € V P                   \        V P                  4      8  d(   V P                  V P                   ,          P                  # R# )z/Get the opcode name of the current instruction.N)r   Úlenr   Úopnamer(   s   &r   ÚopcodeÚ_PyInstDecoder.opcode   s7   € à�;‰;œ˜T×.Ñ.Ó/Ô/Ø×$Ñ$ T§[¡[Õ1×8Ñ8Ð8Ùr   c                ó    <€ V ^8„  d   QhRS[ /# )r   r
   r   )r   r   s   "€r   r   r   %   s   ø€ ÷ ñ ‘sñ r   c                ó°   € V P                   \        V P                  4      8  d2   V P                  V P                   ,          P                  ;'       g    ^ # ^ # )z,Get the argument of the current instruction.)r   r/   r   Úargr(   s   &r   ÚopargÚ_PyInstDecoder.oparg%   s?   € à�;‰;œ˜T×.Ñ.Ó/Ô/Ø×$Ñ$ T§[¡[Õ1×5Ñ5×:Ð:¸Ð:Ùr   c                ó.   <€ V ^8„  d   QhRS[ R,          /# r%   r,   )r   r   s   "€r   r   r   +   s   ø€ ÷ ñ ‘c˜D•jñ r   c                óª  € V P                  4       pV'       g   R# RpVR9   d   V P                  P                  pM\VR8X  d   V P                  P                  pM>VR8X  d6   V P                  P                  pV'       g   V P                  P
                  pMR# V P                  4       pV'       d%   ^ Tu;8:  d   \        V4      8  d    W#,          #  R# R# )z1
Extract variable name from current instruction.
NÚ
STORE_FASTÚSTORE_DEREF)Ú
STORE_NAMEÚSTORE_GLOBAL)r1   r   Úco_namesÚco_varnamesÚco_cellvarsÚco_freevarsr6   r/   )r   r0   Únamesr5   s   &   r   ÚnameÚ_PyInstDecoder.name+   s®   € ð —‘“ˆßÙàˆØÐ3Ô3Ø×$Ñ$×-Ñ-‰EØ�|Ô#Ø×$Ñ$×0Ñ0‰EØ�}Ô$Ø×$Ñ$×0Ñ0ˆEßØ×(Ñ(×4Ñ4�øáà�j‰j‹lˆß�Q˜#Ö*¤ E£
Õ*Ø•:Ðð +ó r   )r   r   r   N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r   r   r)   r1   r6   rC   Ú__static_attributes__Ú__classdictcell__)r   s   @r   r   r      sF   ø‡ € ñ÷:ð :÷

ð 
÷ð ÷ð ÷ð ÷ö r   r   )r   Útypingr   r   r&   r   r   Ú<module>rM      s   ðÛ 
Ý ÷>ó >r   