+
    ˜°³j  ã                   óT   € R t ^ RIHt  ! R R4      t ! R R]P                  4      tR# )z3Functionality for Python <-> C++ frontend inter-op.)Únnc                   óˆ   a € ] tR t^t o RtV 3R lR lt]R 4       tR tR t	R t
R tV 3R	 lR
 ltV 3R lR ltR tRtV tR# )ÚOrderedDictWrappera�  A wrapper around a C++ OrderedDict.

It dynamically evaluates the OrderedDict getter on a bound C++ module, such
that new changes on the C++ side are picked up. Otherwise accessing e.g.
``cpp_module._parameters`` just once would get a frozen copy of the parameters
at the time of access. ``torch.nn.Module`` accesses ``_parameters`` et al. via ``self.__dict__``
so using properties does not work.
c                ó   <€ V ^8„  d   QhRR/# ©é   ÚreturnN© )ÚformatÚ__classdict__s   "€ÚM/home/luca/screen-checking/.venv/lib/python3.14/site-packages/torch/nn/cpp.pyÚ__annotate__ÚOrderedDictWrapper.__annotate__   s   ø€ ÷ ñ ¨Dñ ó    c                ó   € Wn         W n        R # ©N)Ú
cpp_moduleÚattr)Úselfr   r   s   &&&r   Ú__init__ÚOrderedDictWrapper.__init__   s   € Ø$ŒØŽ	r   c                óB   € \        V P                  V P                  4      # r   )Úgetattrr   r   ©r   s   &r   Úcpp_dictÚOrderedDictWrapper.cpp_dict   s   € ä�t—‘¨¯	©	Ó2Ð2r   c                ó6   € V P                   P                  4       # r   )r   Úitemsr   s   &r   r   ÚOrderedDictWrapper.items   s   € Ø�}‰}×"Ñ"Ó$Ð$r   c                ó6   € V P                   P                  4       # r   )r   Úkeysr   s   &r   r    ÚOrderedDictWrapper.keys   s   € Ø�}‰}×!Ñ!Ó#Ð#r   c                ó6   € V P                   P                  4       # r   )r   Úvaluesr   s   &r   r#   ÚOrderedDictWrapper.values"   s   € Ø�}‰}×#Ñ#Ó%Ð%r   c                ó6   € V P                   P                  4       # r   )r   Ú__iter__r   s   &r   r&   ÚOrderedDictWrapper.__iter__%   s   € Ø�}‰}×%Ñ%Ó'Ð'r   c                ó    <€ V ^8„  d   QhRS[ /# ©r   r   )Úint)r
   r   s   "€r   r   r   (   s   ø€ ÷ 'ñ '™ñ 'r   c                ó6   € V P                   P                  4       # r   )r   Ú__len__r   s   &r   r,   ÚOrderedDictWrapper.__len__(   s   € Ø�}‰}×$Ñ$Ó&Ð&r   c                ó    <€ V ^8„  d   QhRS[ /# r)   )Úbool)r
   r   s   "€r   r   r   +   s   ø€ ÷ /ñ /¡4ñ /r   c                ó8   € V P                   P                  V4      # r   )r   Ú__contains__©r   Úkeys   &&r   r1   ÚOrderedDictWrapper.__contains__+   s   € Ø�}‰}×)Ñ)¨#Ó.Ð.r   c                ó8   € V P                   P                  V4      # r   )r   Ú__getitem__r2   s   &&r   r6   ÚOrderedDictWrapper.__getitem__.   s   € Ø�}‰}×(Ñ(¨Ó-Ð-r   )r   r   N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r   Úpropertyr   r   r    r#   r&   r,   r1   r6   Ú__static_attributes__Ú__classdictcell__)r   s   @r   r   r      sZ   ø‡ € ñ÷ð ð ñ3ó ð3ò%ò$ò&ò(÷'ð '÷/ð /÷.ð .r   r   c                   óž   a a€ ] tR t^2t oRtV3R lV 3R lltRR lt]R 4       t]P                  V3R lR l4       tV3R lR	 lt
R
tVtV ;t# )ÚModuleWrapperz\A subclass of ``torch.nn.Module`` that wraps a C++ frontend module and delegates all access.c                ó   <€ V ^8„  d   QhRR/# r   r	   )r
   r   s   "€r   r   ÚModuleWrapper.__annotate__5   s   ø€ ÷ Dñ D dñ Dr   c           	     ó,  <€ Wn         \        SV `	  4        \        VR 4      V n        \        VR4      V n        \        VR4      V n        \        V4       F<  pVP                  R4      '       d   K  \        W\        V P                   V4      4       K>  	  R# )Ú_parametersÚ_buffersÚ_modulesÚ_N)r   Úsuperr   r   rE   rF   rG   ÚdirÚ
startswithÚsetattrr   )r   r   r   Ú	__class__s   && €r   r   ÚModuleWrapper.__init__5   sr   ø€ ð %ŒÜ‰ÑÔÜ-¨j¸-ÓHˆÔÜ,>¸zÈ:Ó,VˆŒÜ,>¸zÈ:Ó,VˆŒÜ˜
–OˆDà—?‘? 3×'Ô'Ü˜¤G¨D¯O©O¸TÓ$BÖCó $r   c                ó4  € V P                  4        FU  pV! VP                  4      Vn        VP                  f   K*  V! VP                  P                  4      VP                  n        KW  	  V P                  4        F  pV! VP                  4      Vn        K  	  V # r   )Ú
parametersÚdataÚ_gradÚbuffers)r   ÚfnÚrecurseÚparamÚbufs   &&&  r   Ú_applyÚModuleWrapper._applyB   sq   € Ø—_‘_Ö&ˆEñ ˜EŸJ™J›ˆEŒJØ�{‰{Ô&Ù#% e§k¡k×&6Ñ&6Ó#7�—‘Ö ñ 'ð —<‘<–>ˆCÙ˜#Ÿ(™(“|ˆCŽHñ "ð ˆr   c                ó.   € V P                   P                  # r   )r   Útrainingr   s   &r   r[   ÚModuleWrapper.trainingP   s   € ð �‰×'Ñ'Ð'r   c                ó   <€ V ^8„  d   QhRR/# r   r	   )r
   r   s   "€r   r   rC   V   s   ø€ ÷ $ñ $ ñ $r   c                ó<   € V P                   P                  V4       R # r   )r   Útrain)r   Úmodes   &&r   r[   r\   U   s   € à�‰×Ñ˜dÖ#r   c                ó    <€ V ^8„  d   QhRS[ /# r)   )Ústr)r
   r   s   "€r   r   rC   Y   s   ø€ ÷ *ñ *™#ñ *r   c                ó6   € V P                   P                  4       # r   )r   Ú__repr__r   s   &r   rd   ÚModuleWrapper.__repr__Y   s   € Ø�‰×'Ñ'Ó)Ð)r   )rF   rG   rE   r   )T)r8   r9   r:   r;   r<   r   rX   r=   r[   Úsetterrd   r>   r?   Ú__classcell__)rM   r   s   @@r   rA   rA   2   sT   ù‡ € Ùf÷Dó Dôð ñ(ó ð(ð ‡_�_÷$ó ð$÷*÷ *ð *r   rA   N)r<   Útorchr   r   ÚModulerA   r	   r   r   Ú<module>rj      s&   ðá 9å ÷(.ñ (.ôV(*�B—I‘Iö (*r   