+
    ˜°³jþ¦  ã            	       ó$  € ^ RI t ^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RI	t	^ RI
t
^ RIt^ RIt^ RIHt ^ RIHt ^ RIHt ^ RIHtHt ^ RIHtHtHtHtHtHt ^ RIHt ^ RIH t  ]!]"]#]$! R4      ]%]&]'](])3	t*]!]"]#]$! R4      ]%](3t+]! R	]!]",          ]#,          ]%,          ]&,          ]',          ](,          ]),          R,          R
7      t,]-! 4       t.]! RR7       ! R R]],,          4      4       t/]'       d   ].RRRRRRR3R R llt0M].RRRRRRR3R R llt0R R lt1R R lt2Rt3R R lt4](](]%R3,          ](]%R3,          ]#3,          t5] ! R R4      4       t6 ! R R]4      t7 ! R  R!] Pp                  4      t8 ! R" R#4      t9R'R$ R% llt:R& t;R# )(é    N©ÚCallable)Ú
ContextVar)Ú	dataclass)ÚFunctionTypeÚ
ModuleType)ÚAnyÚGenericÚNoReturnÚOptionalÚTYPE_CHECKINGÚTypeVar)Ú
deprecated)Újustknobs_checkÚT)ÚboundT)Úkw_onlyc                   óz   a € ] tR t^'t o RtRtRtRtRtRt	Rt
RtV 3R lR lt]V 3R lR l4       tV 3R ltR	tV tR# )
Ú_Configa«  Represents a config with richer behaviour than just a default value.
::
    i.e.
    foo = Config(justknob="//foo:bar", default=False)
    install_config_module(...)

This configs must be installed with install_config_module to be used

Precedence Order:
    alias: If set, the directly use the value of the alias.
    env_name_force: If set, this environment variable has precedence over
        everything after this.
        If multiple env variables are given, the precedence order is from
        left to right.
    user_override: If a user sets a value (i.e. foo.bar=True), that
        has precedence over everything after this.  User overrides are thread-local.
    env_name_default: If set, this environment variable will override everything
        after this.
        If multiple env variables are given, the precedence order is from
        left to right.
    justknob: If this pytorch installation supports justknobs, that will
        override defaults, but will not override the user_override precedence.
    default: This value is the lowest precedence, and will be used if nothing is
        set.

Environment Variables:
    These are interpreted to be either "0" or "1" to represent true and false.

Arguments:
    justknob: the name of the feature / JK. In OSS this is unused.
    default: is the value to default this knob to in OSS.
    alias: The alias config to read instead.
    env_name_force: The environment variable, or list of, to read that is a FORCE
        environment variable. I.e. it overrides everything except for alias.
    env_name_default: The environment variable, or list of, to read that changes the
        default behaviour. I.e. user overrides take preference.
NFc                ó   <€ V ^8„  d   QhRR/# ©é   ÚreturnN© )ÚformatÚ__classdict__s   "€Ú[/home/luca/screen-checking/.venv/lib/python3.14/site-packages/torch/utils/_config_module.pyÚ__annotate__Ú_Config.__annotate__Y   s   ø€ ÷ ñ ˜tñ ó    c                óH  € \         P                  V P                  4      V n        \         P                  V P                  4      V n        V P                  eL   V P
                  \        Jg+   V P                  f   V P                  f   V P                  e   \        R4      hR # R # )Nztif alias is set, none of {default, justknob,                         env_name_default and env_name_force} can be set)	r   Ú string_or_list_of_string_to_listÚenv_name_defaultÚenv_name_forceÚaliasÚdefaultÚ_UNSET_SENTINELÚjustknobÚAssertionError©Úselfs   &r   Ú__post_init__Ú_Config.__post_init__Y   s“   € Ü '× HÑ HØ×!Ñ!ó!
ˆÔô &×FÑFØ×Ñó
ˆÔð �:‰:Ò!à—‘¤OÓ3Ø—=‘=Ò,Ø×(Ñ(Ò4Ø×&Ñ&Ò2ä$ðIóð ñ 3ñ "r    c                ór   <€ V ^8„  d   QhRS[ S[S[ ,          ,          R,          RS[S[ ,          R,          /# )r   ÚvalNr   )ÚstrÚlist)r   r   s   "€r   r   r   n   s3   ø€ ÷ 	ñ 	Ù‘4™•9�_˜tÕ#ð	á	‰c��TÕ	ñ	r    c                óž   € V f   R # \        V \        4      '       d   V .# \        V \        4      '       g   \        R\	        V 4       24      hV # )Nzval is not a list, got )Ú
isinstancer0   r1   r)   Útype)r/   s   &r   r"   Ú(_Config.string_or_list_of_string_to_listm   sI   € ð Š;ÙÜ�cœ3×ÒØ�5ˆLÜ˜#œt×$Ò$Ü Ð#:¼4À»9¸+Ð!FÓGÐGØˆ
r    c                óþ   <€ V ^8„  d   Qh/ S[ S[,          ;R&   S[R,          ;R&   S[S[,          R,          ;R&   S[S[,          R,          ;R&   S[R,          ;R&   S[R,          ;R&   S[;R&   S[R,          ;R	&   # )
r   r&   Nr(   r#   r$   Ú
value_typer%   r   Údeprecation_message©r   Úobjectr0   r1   r4   Úbool)r   r   s   "€r   r   r   '   s£   ø‡ ‚ ñP ‘�ZÑñQ ñR �D�jÑñS ñT ™3•i $Õ&Ñ-ñU ñV ™•I Õ$Ñ+ñW ñX �t•Ñ"ñY ñZ ��:Ññ[ ñ^ Ññ_ ñ` ˜t�Ñ*òa r    )r#   r$   )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r(   r#   r$   r7   r%   r   r8   r,   Ústaticmethodr"   Ú__annotate_func__Ú__static_attributes__Ú__classdictcell__©r   s   @r   r   r   '   sX   ø‡ € ñ$ðN  €HØ)-ÐØ'+€NØ"€JØ€Eà€JØ&*Ð÷ð ð( ÷	ó ð	÷O ƒ r    r   Fc                óF  € V ^8„  d   QhR\         \        ,          R\        R,          R\        \        \        ,          ,          R,          R\        \        \        ,          ,          R,          R\        R,          R\        R,          R\
        R	\        R,          R
\         /	# ©r   r&   r(   Nr#   r$   r7   r%   r   r8   r   r9   )r   s   "r   r   r   €   s�   € ÷ 
ñ 
Ü”V•ð
ä˜•*ð
ô ¤¤S¥	�/¨DÕ0ð
ô œd¤3�i�¨$Õ.ð	
ô
 ˜4•Kð
ô �T�zð
ô ð
ô ! 4�Zð
ô 
ñ
r    c                 ó   € R # ©Nr   ©r&   r(   r#   r$   r7   r%   r   r8   s   &&&&&&&&r   ÚConfigrK   €   s   € ñ r    c                ó\  € V ^8„  d   QhR\         \        ,          R\        R,          R\        \        \        ,          ,          R,          R\        \        \        ,          ,          R,          R\        R,          R\        R,          R\
        R	\        R,          R
\        \         ,          /	# rG   )r   r:   r0   r1   r4   r;   r   )r   s   "r   r   r   Ž   s”   € ÷ 
ñ 
Ü”V•ð
ä˜•*ð
ô ¤¤S¥	�/¨DÕ0ð
ô œd¤3�i�¨$Õ.ð	
ô
 ˜4•Kð
ô �T�zð
ô ð
ô ! 4�Zð
ô 
”�ñ
r    c                 ó(   € \        V VVVVVVVR 7      # )rJ   )r   rJ   s   &&&&&&&&r   rK   rK   Ž   s)   € ô ØØØ-Ø)Ø!Øà!Ø 3ô

ð 
	
r    c                óT   € V ^8„  d   QhR\         R\        \         ,          R,          /# ©r   Únamer   N©r0   r;   )r   s   "r   r   r   ¦   s#   € ÷ ñ œSð ¤T¬C¥Z°$Õ%6ñ r    c                 óh   € \         P                  P                  V 4      pVR 8X  d   R# VR8X  d   R# V# ©Ú1TÚ0F©ÚosÚenvironÚget)rP   Úvalues   & r   Ú_read_env_variabler[   ¦   s-   € Ü�J‰J�N‰N˜4Ó €EØ�„|ÙØ�„|ÙØ€Lr    c                ó(   € V ^8„  d   QhR\         RR/# )r   Úmoduler   N)r   )r   s   "r   r   r   ¯   s   € ÷ Xñ X¤*ð X°ñ Xr    c                ó�  a aa€  ! R R\         4      pR VV V3R llo/ o\        S 4      pS! S S R4       SS n        VS n        VS n        \        S P                   R2RR7      S n        \        S P                   R	2R
R7      S n        \        S P                   R2R
R7      S n	        \        S P                   R2R
R7      S n
        R
# )z“
Converts a module-level config into a `ConfigModule()`.

See _config_typing.pyi for instructions on how to get the converted module to typecheck.
c                   ó   € ] tR t^¶t0 RmtRtR# )Ú3install_config_module.<locals>.ConfigModuleInstancer   N>   Ú__annotations__Ú_hash_cache_varÚ_hash_dirty_varÚ_get_dict_cache_varÚ_get_dict_dirty_keys_var)r<   r=   r>   r?   Ú_bypass_keysrC   r   r    r   ÚConfigModuleInstancer`   ¶   s	   † ò
Œr    rg   c                ól   € V ^8„  d   QhR\         \        ,          R\         \        ,          R\        RR/# )r   ÚsourceÚdestÚprefixr   N)r   r4   ÚSubConfigProxyr0   )r   s   "r   r   Ú+install_config_module.<locals>.__annotate__À   s@   € ÷ 4Xñ 4XÜœTÕ!ð4Xäœ>Õ)ð4Xô ð4Xð 
ñ	4Xr    c                ó�  <€ \         P                  ! V 4      p\        V P                  P	                  4       4       EF  w  rEVP                  R4      '       g�   \        V\        \        34      '       gq   \        VR4      '       d3   VP                  R8X  gN   VP                  P                  R4      '       g-   \        V\        4      '       d   \        V\        4      '       d   K«  V V 2pVP                  VR4      p\        V\        4      '       d2   \!        \        WWR7      V4      S	V&   VS
J d   \#        S
V4       EK  EK
  \        V\        4      '       d?   Ve   VP$                  f   Wun        \!        WV4      S	V&   VS
J d   \#        S
V4       EK[  EK^  \        V\        4      '       dx   VP                  S
P&                  8w  d   \)        RV RS
P&                   24      h\+        S
V R	24      pS! WXV R	24       VS
J d   \-        WV4       EKÚ  W�P                  V&   EKë  \)        R
V RV R\        V4       R24      h	  R# )z?Walk the module structure and move everything to module._configÚ__r=   Útypingzcollections.abcN)r&   r7   zsubconfig class z must be defined in module Ú.zUnhandled config Ú=z (Ú))ÚinspectÚget_annotationsr1   Ú__dict__ÚitemsÚ
startswithr3   r   r   Úhasattrr=   r4   Ú
issubclassr   rY   ÚCONFIG_TYPESÚ_ConfigEntryÚdelattrr7   r<   r)   rl   Úsetattr)ri   rj   rk   Ú
type_hintsÚkeyrZ   rP   Úannotated_typeÚproxyÚconfigr]   Úvisits   &&&      €€€r   r„   Ú$install_config_module.<locals>.visitÀ   sò  ø€ ô ×,Ò,¨VÓ4ˆ
Ü˜vŸ™×4Ñ4Ó6×7‰JˆCà—‘˜t×$Ò$Ü˜e¤j´,Ð%?×@Ò@ä˜E <×0Ò0à×(Ñ(¨HÔ4Ø ×+Ñ+×6Ñ6Ð7H×IÒIô ˜u¤d×+Ò+´
¸5Ä'×0JÒ0Jáà�X˜c˜UÐ#ˆDØ'Ÿ^™^¨C°Ó6ˆNÜ˜%¤×.Ò.Ü+Ü EÔEÀtó ��t‘ð ˜6“>Ü˜F C×(ò "ä˜E¤7×+Ò+Ø!Ò-°%×2BÑ2BÒ2JØ'5Ô$ä+¨EÓ8��t‘à˜6“>Ü˜F C×(ò "ä˜E¤4×(Ò(Ø×#Ñ# v§¡Ô6Ü(Ø*¨5¨'Ð1LÈVÏ_É_ÐL]Ð^óð ô ' v°$°°q¨zÓ:�Ù�e t f¨A JÔ/Ø˜6“>Ü˜D u×-à).—M‘M #Ô&ä$Ð'8¸¸¸Q¸u¸gÀRÌÈUËÀ}ÐTUÐ%VÓWÐWó[ 8r    Ú z._hash_dirtyT©r&   z._hash_cacheNz._get_dict_dirty_keysz._get_dict_cache)ÚConfigModuleÚ-get_assignments_with_compile_ignored_commentsÚ_configÚ_compile_ignored_keysÚ	__class__r   r<   rc   rb   re   rd   )r]   rg   Úcompile_ignored_keysrƒ   r„   s   f  @@r   Úinstall_config_modulerŽ   ¯   sÍ   ú€ ô
œ|ô 
÷4Xò 4Xðl ')€FäHÈÓPÐá	ˆ&�&˜"ÔØ€F„NØ#7€FÔ Ø+€FÔÜ'¨6¯?©?Ð*;¸<Ð(HÐRVÔW€FÔÜ'Ø�?‰?Ð
˜<Ð(°$ô€FÔô '1Ø�?‰?Ð
Ð0Ð1¸4ô'€FÔ#ô ",Ø�?‰?Ð
Ð+Ð,°dô"€FÖr    z@compile_ignoredc                óF   € V ^8„  d   QhR\         R\        \        ,          /# )r   r]   r   )r   Úsetr0   )r   s   "r   r   r     s   € ÷ "ñ "¼*ð "ÌÌSÍñ "r    c                 óz  € \         P                  ! V 4      p\        4       p\        P                  ! \        P
                  ! VP                  R 4      4      P                  4      pRpRpV EF3  pVP                  \        P                  8X  dY   RpVP                  P                  4       p\        V9   d0   VR8w  d   \        R\         24      hWvP                  ^ ,          3pKy  K{  VP                  \        P                  8X  d   V'       g   VP                  pK°  K²  VP                  \        P                   8X  g   KÓ  VP                  R8X  g   Kæ  \        V^ ,          9   d:   V^,          VP                  ^ ,          ^,
          8X  d   VP#                  V4       RpRpEK6  	  VR8w  d   \        R\         24      hV# )úutf-8r†   zunconsumed rr   )r†   éÿÿÿÿ)rt   Ú	getsourcer�   ÚtokenizeÚioÚBytesIOÚencodeÚreadliner4   ÚCOMMENTÚstringÚstripÚCOMPILE_IGNORED_MARKERr)   ÚstartÚNAMEÚOPÚadd)r]   Úsource_codeÚassignmentsÚtokensÚcurrent_commentÚ	prev_nameÚtokenÚmaybe_currents   &       r   r‰   r‰     s^  € Ü×#Ò# FÓ+€KÜ“%€Kô ×ÒœrŸzšz¨+×*<Ñ*<¸WÓ*EÓF×OÑOÓP€FØ€OØ€IäˆØ�:‰:œ×)Ñ)Ô)ØˆIØ!ŸL™L×.Ñ.Ó0ˆMÜ%¨Ô6Ø" hÔ.Ü(¨;Ô7MÐ6NÐ)OÓPÐPØ"/·±¸QµÐ"?’ñ 7ð �Z‰Zœ8Ÿ=™=Ô(÷ Ø!ŸL™L’	ñ à�Z‰Zœ8Ÿ;™;Ö&¨5¯<©<¸3Ö+>ô '¨/¸!Õ*<Ô<Ø# AÕ&¨%¯+©+°a­.¸1Õ*<Ô<à—‘ 	Ô*Ø"(�Ø‹Iñ- ð. ˜(Ô"Ü˜{Ô+AÐ*BÐCÓDÐDØÐr    .c                   ó^   a € ] tR tRt o Rt]t]tRtRt	Rt
RtRtV 3R lR ltV 3R ltRtV tR# )r|   i6  NFc                ó*   <€ V ^8„  d   QhRS[ RS[RR/# )r   rƒ   rP   r   N)r   r0   )r   r   s   "€r   r   Ú_ConfigEntry.__annotate__V  s"   ø€ ÷ )ñ )™wð )©cð )°dñ )r    c                óà  € VP                   V n         VP                  e   VP                  M\        V P                   4      V n        VP                  V n        VP                  V n        VP
                  V n        VP                  V n        RV n        \        V\        R7      V n
        VP                  e+   VP                   F  p\        V4      ;pf   K  W@n         M	  VP                  e+   VP                   F  p\        V4      ;pf   K  W@n         M	  V P                  eH   V P                   e:   \!        V P                   \"        4      '       g   \%        RV P                    R24      hV P                  eu   VP                  f   VP                  eW   V P                  \"        \&        \(        \"        ,          \(        \&        ,          39  d   \%        RV P                   R24      hR # R # R # )NFr‡   z!justknobs only support booleans, z is not a booleanz<envvar configs only support (optional) booleans or strings, z is neither)r&   r7   r4   r(   r%   r   r8   Ú_deprecation_warnedr   r'   Úuser_overrider#   r[   Úenv_value_defaultr$   Úenv_value_forcer3   r;   r)   r0   r   )r+   rƒ   rP   r/   Ú	env_values   &&&  r   Ú__init__Ú_ConfigEntry.__init__V  s©  € Ø—~‘~ˆŒà!'×!2Ñ!2Ò!>ˆF×ÒÄDÈÏÉÓDVð 	Œð Ÿ™ˆŒØ—\‘\ˆŒ
à ×+Ñ+ˆŒØ#)×#=Ñ#=ˆÔ Ø#(ˆÔ ä'¨´oÔFˆÔØ×"Ñ"Ò.Ø×.Ô.�Ü!3°CÓ!8Ð8�IÔEØ-6Ô*Ùñ /ð × Ñ Ò,Ø×,Ô,�Ü!3°CÓ!8Ð8�IÔEØ+4Ô(Ùñ -ð �=‰=Ò$¨¯©Ò)AÜ˜dŸl™l¬D×1Ò1Ü$Ø7¸¿¹°~ÐEVÐWóð ð �?‰?Ò&Ø×#Ñ#Ò/°6×3HÑ3HÒ3Tà�‰ÜÜÜœ•Üœ•ð	'ô ô %ØRÐSW×SbÑSbÐRcÐcnÐoóð ññ 4Uñ 'r    c                óØ   <€ V ^8„  d   Qh/ S[ ;R&   S[;R&   S[S[,          ;R&   S[R,          ;R&   S[ ;R&   S[ ;R&   S[;R&   S[R,          ;R	&   S[;R
&   S[R,          ;R&   S[;R&   # )r   r&   r7   r®   Nr(   r°   r¯   Úhider%   r   r8   r­   )r	   r4   r   r:   r0   r;   )r   r   s   "€r   r   r«   6  s¤   ø‡ ‚ ñ �Lñ ñ
 Ññ ñ ™fÕ%Ñ%ñ ñ �D�jÑñ ñ Ñ*ñ ñ Ñ,ñ ñ2 Ññ3 ñ4 ��:Ññ5 ñ8 Ññ9 ñ: ˜t�Ñ*ñ; ñ< Ñ%ò= r    )
r­   r%   r&   r   r8   r¯   r°   r(   r®   r7   )r<   r=   r>   r?   r(   r'   r°   r¯   rµ   r%   r   r8   r­   r²   rB   rC   rD   rE   s   @r   r|   r|   6  sF   ø‡ € ð  €Hà*€OØ,Ðð €DØ€Eà€JØ&*ÐØ %Ð÷)ð )÷A ƒ r    r|   c                   ó"  a a€ ] tR tRt oV3R lR ltV3R lR ltV3R lV 3R l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^tV3R lR ltV3R lR ltR9V3R lR lltV3R lR ltV3R lR ltRRRR/V3R  lR! lltV3R" lR# ltV3R$ lR% lt]! R&]R'7      V3R( lR) l4       t]! R*]R'7      V3R+ lR, l4       tV3R- lR. ltV3R/ lR0 ltV3R1 lR2 ltR:V3R3 lR4 lltV3R5 lR6 ltV3R7 ltR8tVt V ;t!# );rˆ   i‚  c                ó   <€ V ^8„  d   QhRR/# r   r   )r   r   s   "€r   r   ÚConfigModule.__annotate__”  s   ø€ ÷ 
ñ 
˜$ñ 
r    c                ó(   € \        R \         R24      h)zuse z-.install_config_module(sys.modules[__name__]))ÚNotImplementedErrorr<   r*   s   &r   r²   ÚConfigModule.__init__”  s   € Ü!Ø”8�*ÐIÐJó
ð 	
r    c                ó*   <€ V ^8„  d   QhRS[ RS[RR/# )r   rP   rƒ   r   N)r0   r|   )r   r   s   "€r   r   r¸   ™  s"   ø€ ÷ 
.ñ 
.©ð 
.±\ð 
.Àdñ 
.r    c                ó"  € VP                   '       d}   VP                  '       gi   ^ RIpV P                   RV R2pVP                  '       d   VRVP                   2,          pVR,          pVP                  V\        ^R7       RVn        R# R# R# )z;Issue deprecation warning for config if not already warned.Nrq   z is deprecatedz and z4. It will be removed in a future version of PyTorch.)Ú
stacklevelT)r   r­   Úwarningsr<   r8   ÚwarnÚFutureWarning)r+   rP   rƒ   r¿   Úmsgs   &&&  r   Ú_warn_if_deprecatedÚ ConfigModule._warn_if_deprecated™  s„   € à××Ð V×%?×%?Ð%?Ûà—]‘]�O 1 T F¨.Ð9ˆCØ×)×)Ð)Ø˜˜v×9Ñ9Ð:Ð;Õ;�ØÐIÕIˆCØ�M‰M˜#œ}¸ˆMÔ;Ø)-ˆFÖ&ñ &@Ñr    c                ó*   <€ V ^8„  d   QhRS[ RS[RR/# ©r   rP   rZ   r   N©r0   r:   )r   r   s   "€r   r   r¸   ¥  s"   ø€ ÷ (ñ (¡ð (©Fð (°tñ (r    c                óî  <€ WP                   9   d   \        SV `	  W4       R# WP                  9  d   \	        V P
                   R V R24      hV P                  V,          pV P                  W4       VP                  e   V P                  W24       R# VP                  P                  V4       V P                  P                  R4       V P                  V4       VP                  '       d
   RVn        R# R# )rq   ú does not existNTF)rf   ÚsuperÚ__setattr__rŠ   ÚAttributeErrorr<   rÃ   r%   Ú_set_alias_valr®   r�   rc   Ú_mark_get_dict_dirtyrµ   )r+   rP   rZ   rƒ   rŒ   s   &&& €r   rË   ÚConfigModule.__setattr__¥  sÅ   ø€ Ø×$Ñ$Ô$Ü‰GÑ Ö,ØŸ™Ô%Ü  D§M¡M ?°!°D°6¸Ð!IÓJÐJð —\‘\ $Õ'ˆFØ×$Ñ$ TÔ2à�|‰|Ò'Ø×#Ñ# FÖ2à×$Ñ$×(Ñ(¨Ô/Ø×$Ñ$×(Ñ(¨Ô.Ø×)Ñ)¨$Ô/ð —;—;�;Ø"'�F–Kñ r    c                ó&   <€ V ^8„  d   QhRS[ RS[/# ©r   rP   r   ©r0   r	   )r   r   s   "€r   r   r¸   »  s   ø€ ÷ %Rñ %R¡ð %R©ñ %Rr    c                óf  €  V P                   V,          pVP                  '       d   \        V P                   R V R24      hV P	                  W4       V P                  V4      pV\        Jd   V# VP                  \        Jd   VP                  # VP                  P                  4       pV\        Jd   V# VP                  \        Jd   VP                  # VP                  e"   \        VP                  VP                  R7      # \        VP                  \        4      '       gT   VP                  P!                  \"        P$                  ! VP                  4      4       VP                  P                  4       # VP                  #   \&         d"   p\        T P                   R T R24      ThRp?ii ; i)rq   rÉ   N©rP   r&   )rŠ   rµ   rÌ   r<   rÃ   Ú_get_alias_valr'   r°   r®   rY   r¯   r(   r   r&   r3   Ú_IMMUTABLE_CONFIG_TYPESr�   ÚcopyÚdeepcopyÚKeyError)r+   rP   rƒ   Ú	alias_valr®   Úes   &&    r   Ú__getattr__ÚConfigModule.__getattr__»  sc  € ð$	RØ—\‘\ $Õ'ˆFà�{�{ˆ{Ü$¨¯© °a¸°v¸_Ð%MÓNÐNð ×$Ñ$ TÔ2à×+Ñ+¨FÓ3ˆIØ¤Ó/Ø Ð à×%Ñ%¬_Ó<Ø×-Ñ-Ð-à"×0Ñ0×4Ñ4Ó6ˆMØ¤OÓ3Ø$Ð$à×'Ñ'¬Ó>Ø×/Ñ/Ð/à�‰Ò*ä&¨F¯O©OÀVÇ^Á^ÔTÐTô ˜fŸn™nÔ.E×FÒFØ×$Ñ$×(Ñ(¬¯ª°v·~±~Ó)FÔGØ×+Ñ+×/Ñ/Ó1Ð1Ø—>‘>Ð!øäô 	Rä  D§M¡M ?°!°D°6¸Ð!IÓJÐPQÐQûð	RúsB   ‚$F §AF Á0F Â%F Â6F Ã.F ÄA2F Å8F ÆF0ÆF+Æ+F0c                ó$   <€ V ^8„  d   QhRS[ RR/# rO   ©r0   )r   r   s   "€r   r   r¸   â  s   ø€ ÷ 'ñ '¡ð '¨ñ 'r    c                óî   € V P                   P                  R 4       V P                  V4       V P                  V,          P                  P                  \
        4       R V P                  V,          n        R# ©TN)rc   r�   rÎ   rŠ   r®   r'   rµ   ©r+   rP   s   &&r   Ú__delattr__ÚConfigModule.__delattr__â  sT   € Ø×Ñ× Ñ  Ô&Ø×!Ñ! $Ô'ð 	�‰�TÕ×(Ñ(×,Ñ,¬_Ô=Ø"&ˆ�‰�TÕÖr    c                óJ   <€ V ^8„  d   QhRS[ RS[S[S[3,          R,          /# )r   Úentryr   N)r|   Útupler   r0   )r   r   s   "€r   r   r¸   ê  s+   ø€ ÷ %ñ %Ù!ð%á	‰z™3ˆÕ	 $Õ	&ñ%r    c                óÈ   € VP                   pVf   R # VP                  R^4      w  r4 \        P                  ! V4      pWT3#   \         d   p\        RT R24      ThR p?ii ; i)Nrq   zconfig alias rÉ   )r%   ÚrsplitÚ	importlibÚimport_moduleÚImportErrorrÌ   )r+   ræ   r%   Úmodule_nameÚconstant_namer]   rÛ   s   &&     r   Ú_get_alias_module_and_nameÚ'ConfigModule._get_alias_module_and_nameê  ss   € ð —‘ˆØŠ=ÙØ%*§\¡\°#°qÓ%9Ñ"ˆð	PÜ×,Ò,¨[Ó9ˆFð Ð$Ð$øô ô 	PÜ  =°°°Ð!GÓHÈaÐOûð	Pús   ¨A ÁA!ÁAÁA!c                ó&   <€ V ^8„  d   QhRS[ RS[/# )r   ræ   r   ©r|   r	   )r   r   s   "€r   r   r¸   ÷  s   ø€ ÷ ñ ¡Lð ±Sñ r    c                óZ   € V P                  V4      pVf   \        # Vw  r4\        W44      pV# rI   )rï   r'   Úgetattr)r+   ræ   Údatar]   rî   Úconstant_values   &&    r   rÕ   ÚConfigModule._get_alias_val÷  s5   € Ø×.Ñ.¨uÓ5ˆØŠ<Ü"Ð"Ø $ÑˆÜ  Ó7ˆØÐr    c                ó*   <€ V ^8„  d   QhRS[ RS[RR/# )r   ræ   r/   r   Nrò   )r   r   s   "€r   r   r¸   ÿ  s"   ø€ ÷ ,ñ ,¡Lð ,±sð ,¸tñ ,r    c                óf   € V P                  V4      pVf   \        R4      hVw  rE\        WEV4       R # )Nz6alias data should not be None when setting alias value)rï   r)   r~   )r+   ræ   r/   rõ   r]   rî   s   &&&   r   rÍ   ÚConfigModule._set_alias_valÿ  s;   € Ø×.Ñ.¨uÓ5ˆØŠ<Ü ØHóð ð !%ÑˆÜ� sÖ+r    c                ó$   <€ V ^8„  d   QhRS[ RR/# rO   rß   )r   r   s   "€r   r   r¸   
  s   ø€ ÷ 4ñ 4©ð 4°ñ 4r    c                óÖ   € V P                   P                  4       pVf   R # VP                  V4       \        V4      V P                  8”  d   V P                   P                  R 4       R # R # rI   )re   rY   r¡   ÚlenÚ_GET_DICT_DIRTY_KEYS_CAPr�   )r+   rP   Údirtys   && r   rÎ   Ú!ConfigModule._mark_get_dict_dirty
  sT   € Ø×-Ñ-×1Ñ1Ó3ˆØŠ=ÙØ�	‰	�$ŒÜˆu‹:˜×5Ñ5Ô5Ø×)Ñ)×-Ñ-¨dÖ3ñ 6r    c                ó&   <€ V ^8„  d   QhRS[ RS[/# rÑ   rQ   )r   r   s   "€r   r   r¸     s   ø€ ÷ Cñ C¡ð C©ñ Cr    c                ó  € V P                   V,          pVP                  \        J ;'       g    VP                  VP                  8H  pVP                  \        J ;'       g    VP                  VP                  8H  pVP
                  P                  4       \        J p\        VP                  \        4      '       g2   T;'       g(    VP
                  P                  4       VP                  8H  pT;'       d    T;'       d    T# )zo
Returns true if the config is at its default value.
configs overridden by the env are not considered default.
)	rŠ   r¯   r'   r&   r°   r®   rY   r3   rÖ   )r+   rP   Ú
config_valÚnot_set_env_defaultÚnot_set_env_forceÚunsets   &&    r   Ú_is_defaultÚConfigModule._is_default  sê   € ð
 —\‘\ $Õ'ˆ
ð
 ×(Ñ(¬OÐ;÷ Bð BØ×+Ñ+¨z×/AÑ/AÑAð 	ð
 ×&Ñ&¬/Ð9÷ @ð @Ø×)Ñ)¨Z×-?Ñ-?Ñ?ð 	ð
 ×(Ñ(×,Ñ,Ó.´/ÐAˆä˜*×,Ñ,Ô.E×FÒFØ×QÐQ˜Z×5Ñ5×9Ñ9Ó;¸z×?QÑ?QÑQˆEØ×BÐBÐ,×BÐBÐ1BÐBr    Fc                óŠ   <€ V ^8„  d   QhRS[ S[,          R,          RS[ S[,          R,          RS[RS[RS[S[S[3,          /# )r   Úignored_keysNÚignored_prefixesÚskip_defaultÚreadonly_valuesr   )r1   r0   r;   Údictr	   )r   r   s   "€r   r   r¸   *  s^   ø€ ÷ ^ñ ^á™3•i $Õ&ð^ñ ™s�) dÕ*ð^ñ ð	^ñ
 ð^ñ 
‰c‘3ˆh�ñ^r    c                ó   a€ RRreV'       d   \        V4      MRV'       d   \        V4      MRV3pV P                  P                  4       pV'       d§   Vf   / pV P                  P                  V4       V P                  P                  4       p	VP                  V4      p
V
e   V	e   T	p\        V
4      pMDV	fA   / pV P                  P                  V4       V P                  P                  \        4       4       Vf   V P                  P                  4       pVf   / pV EFÀ  oV P                  S,          pVP                  e   VP                  SR4       K9  V'       d   SV9   d   VP                  SR4       K\  V'       dU   \        ;QJ d    V3R lV 4       F  '       g   K   RM	  RM! V3R lV 4       4      '       d   VP                  SR4       K¸  V'       d,   V P                  S4      '       d   VP                  SR4       Kë  VP                  P                  4       pVP                  \        Jd   VP                  pMjV\        Jd   TpM]VP                  \        Jd   VP                  pM<VP                   e#   \#        VP                   VP$                  R7      pMVP$                  p\'        V\(        4      '       g   \*        P,                  ! V4      pWÖS&   EKÃ  	  V'       d   Wx9  d   \        V4      W‡&   V# )a#  Export a dictionary of current configuration keys and values.

This function is designed to provide a single point which handles
accessing config options and exporting them into a dictionary.
This is used by a number of different user facing export methods
which all have slightly different semantics re: how and what to
skip.
If a config is aliased, it skips this config.

Arguments:
    ignored_keys are keys that should not be exported.
    ignored_prefixes are prefixes that if a key matches should
        not be exported
    skip_default does two things. One if a key has not been modified
        it skips it.
    readonly_values when True, enables caching of the result.
        The caller owns the returned dict but must not mutate
        its values. When False (default), no caching is used.
Nc              3   óF   <"  € T F  pSP                  V4      x € K  	  R # 5irI   )rx   )Ú.0rk   r€   s   & €r   Ú	<genexpr>Ú)ConfigModule._get_dict.<locals>.<genexpr>n  s   øé € ÐMÑ<L°&�s—~‘~ f×-Ð-Ó<Lùs   ƒ!TFrÔ   r   )rç   rd   rY   r�   re   r  rŠ   Úkeysr%   ÚpopÚanyr  r®   r°   r'   r¯   r(   r   r&   r3   rÖ   r×   rØ   )r+   r
  r  r  r  Úkeys_to_updaterƒ   Ú	cache_keyÚcacheÚ
dirty_keysÚcachedræ   r®   r/   r€   s   &&&&&         @r   Ú	_get_dictÚConfigModule._get_dict*  s`  ø€ ð6 "& t˜ç#/ŒE�,Ô°Rß'7ŒEÐ"Ô#¸RØð
ˆ	ð ×(Ñ(×,Ñ,Ó.ˆßØŠ}Ø�Ø×(Ñ(×,Ñ,¨UÔ3Ø×6Ñ6×:Ñ:Ó<ˆJØ—Y‘Y˜yÓ)ˆFØÒ! jÒ&<ð ",�Ü˜f›‘ØÒ#à�Ø×(Ñ(×,Ñ,¨UÔ3Ø×-Ñ-×1Ñ1´#³%Ô8ð Ò!Ø!Ÿ\™\×.Ñ.Ó0ˆNØŠ>ØˆFä!ˆCØ—L‘L Õ%ˆEØ�{‰{Ò&Ø—
‘
˜3 Ô%Ùß  |Ô 3Ø—
‘
˜3 Ô%Ùßß“3ÔMÑ<LÓM—3—3’3ÔMÑ<LÓM×MÒMØ—J‘J˜s DÔ)Ùß × 0Ñ 0°× 5Ò 5Ø—
‘
˜3 Ô%Ùð "×/Ñ/×3Ñ3Ó5ˆMØ×$Ñ$¬OÓ;Ø×+Ñ+‘Ø¤oÓ5Ø#‘Ø×(Ñ(´Ó?Ø×-Ñ-‘Ø—‘Ò+Ü%¨5¯>©>À5Ç=Á=ÔQ‘à—m‘m�Ü˜cÔ#:×;Ò;Ü—m’m CÓ(�Ø�3ŒKñ? "÷B ˜yÔ5Ü# F›|ˆEÑØˆr    c                ó&   <€ V ^8„  d   QhRS[ RS[/# )r   Úconfig_namer   )r0   r4   )r   r   s   "€r   r   r¸   Š  s   ø€ ÷ 4ñ 4¡Cð 4©Dñ 4r    c                ó<   € V P                   V,          P                  # rI   )rŠ   r7   )r+   r  s   &&r   Úget_typeÚConfigModule.get_typeŠ  s   € Ø�|‰|˜KÕ(×3Ñ3Ð3r    c                ó    <€ V ^8„  d   QhRS[ /# ©r   r   ©Úbytes)r   r   s   "€r   r   r¸   �  s   ø€ ÷ 
ñ 
™Uñ 
r    c                ón   € \        V R. 4      p\        P                  ! V P                  VRR7      ^R7      # )z Convert config to a pickled blobÚ_save_config_ignoreT©r
  r  )Úprotocol)rô   ÚpickleÚdumpsr  )r+   r
  s   & r   Úsave_configÚConfigModule.save_config�  s5   € ä˜tÐ%:¸BÓ?ˆÜ�|Š|Ø�N‰N¨ÀdˆNÓKØô
ð 	
r    Úignore_private_configsTr  c                óB   <€ V ^8„  d   QhRS[ RS[ RS[S[S[3,          /# )r   r/  r  r   )r;   r  r0   r	   )r   r   s   "€r   r   r¸   •  s-   ø€ ÷ ñ Ù)-ðÙGKðá	‰c‘3ˆh�ñr    c               óŽ  € . pV'       d   VP                  R4       VP                  \        V R. 4      4       V P                  W2R7      p\        V R. 4      pV'       dg   V F`  pWd9   g   K  WF,          f   K  WF,          ! 4       p\	        VR4      '       d   VP                  4       WF&   KJ  \        RV RWF,           R24      h	  V# )	z!Convert config to portable formatÚ_Ú_cache_config_ignore_prefix)r  r  Ú_cache_config_factory_keysÚuuidzConfig 'z' is set to zO which does not implement uuid(). Implement uuid() for cache key participation.)ÚappendÚextendrô   r  ry   r5  ÚRuntimeError)r+   r/  r  Úprefixesrƒ   Úfactory_keysr€   Úinstances   &$$     r   Úsave_config_portableÚ!ConfigModule.save_config_portable•  s¿   € ð ˆß!Ø�O‰O˜CÔ Ø�‰œ Ð&CÀRÓHÔIØ—‘Ø%ð  ó 
ˆô ˜tÐ%AÀ2ÓFˆßÛ#�Ø–= V¥[Ô%<Ø%ž{›}�HÜ˜x¨×0Ò0Ø&.§m¡m£o˜›ä*Ø& s e¨<¸½°}ð E-ð .óð ñ $ð ˆr    c                ó    <€ V ^8„  d   QhRS[ /# r$  rß   )r   r   s   "€r   r   r¸   ¯  s   ø€ ÷ I ñ I ¡ñ I r    c                óÈ  aaa	a
aaaa€ \        4       oR R loR VV3R lloR V3R lloR R lo
R	 R
 loR V3R lloR VVV3R llo	R VVV	V
V3R llp. pV P                  pV P                  \        V R. 4      RRR7      P	                  4        F  w  rEVP                  V! W4V4      4       K  	  S F  pVP                  ^ RV 24       K  	  RP                  V4      # )z…Convert config to Python statements that replicate current config.
This does NOT include config settings that are at default values.
c                ó<   € V ^8„  d   QhR\         R\        R\        /# )r   ÚfuncÚadd_dotr   )r   r;   r0   )r   s   "r   r   Ú1ConfigModule.codegen_config.<locals>.__annotate__·  s!   € ÷ 	ñ 	¤(ð 	´Tð 	¼cñ 	r    c                 ó`   € V P                   pVR 8X  d   RpV'       d   VR8w  d
   VR,          pV# )Úbuiltinsr†   rq   )r=   )rA  rB  rí   s   && r   Úget_module_nameÚ4ConfigModule.codegen_config.<locals>.get_module_name·  s2   € ØŸ/™/ˆKØ˜jÔ(Ø �ß˜;¨"Ô,Ø˜sÕ"�ØÐr    c                ó(   € V ^8„  d   QhR\         RR/# ©r   rA  r   Nr   )r   s   "r   r   rC  ¿  s   € ÷ 	)ñ 	)œXð 	)¨$ñ 	)r    c                 óP   <€ S! V R 4      pV'       d   SP                  V4       R# R# )FN)r¡   )rA  rí   rF  Úimportss   & €€r   Ú
add_importÚ/ConfigModule.codegen_config.<locals>.add_import¿  s#   ø€ Ù)¨$°Ó6ˆKßØ—‘˜KÖ(ñ r    c                ó\   € V ^8„  d   QhR\         \        ,          R\         \        ,          /# ©r   Úvr   )r1   r�   r0   )r   s   "r   r   rC  Ä  s&   € ÷ 	Sñ 	S¬4´#­:ð 	S¼$¼s½)ñ 	Sr    c                 ó\   <€ V  Uu. uF  pS! VR 4       VP                    2NK  	  up# u upi )T)r<   )rP  ÚitemrF  s   & €r   Úlist_of_callables_to_stringÚ@ConfigModule.codegen_config.<locals>.list_of_callables_to_stringÄ  s2   ø€ ÙPQÓRÑPQÈ‘ t¨TÓ2Ð3°D·M±M°?ÓCÑPQÑRÐRùÒRs   † )c                ó0   € V ^8„  d   QhR\         R\        /# rO  )r	   r;   )r   s   "r   r   rC  Ç  s   € ÷ 	Wñ 	W¤3ð 	W¬4ñ 	Wr    c                 óh   € \        V 4      ;'       d!    \        V R 4      ;'       d    \        V R4      # )r=   r<   )Úcallablery   )rP  s   &r   Úimportable_callableÚ8ConfigModule.codegen_config.<locals>.importable_callableÇ  s*   € ä˜A“;×VÐV¤7¨1¨lÓ#;×VÐVÄÈÈ:Ó@VÐVr    c                ó`   € V ^8„  d   QhR\         R\        \        \        3,          R,          /# rI  )r	   rç   r0   )r   s   "r   r   rC  Ë  s'   € ÷ 	ñ 	¤ð 	¬¬s´C¨x­¸4Õ)?ñ 	r    c                 ó   €  \        V R R4      p\        V RR4      p\        V 4      '       dK   \        V\        4      '       d5   \        V\        4      '       d   V'       d   V'       d   VR8X  g   RV9   d   R# VP	                  R4      VP	                  R4      ,           p\
        ;QJ d    R V 4       F  '       g   K   RM	  RM! R V 4       4      '       d   R# \        P                  ! V4      pVP	                  R4       F  p\        WE4      pK  	  W@Jd   R# VR	8X  d   R
MTpV'       d   V R2MR
pV V 2V3#   \         d     R# i ; i)r=   Nr>   Ú__main__Ú<rq   c              3   ó†   "  € T F7  qP                  4       '       * ;'       g    \        P                  ! V4      x € K9  	  R # 5irI   )ÚisidentifierÚkeywordÚ	iskeyword)r  rP   s   & r   r  ÚFConfigModule.codegen_config.<locals>.importable_ref.<locals>.<genexpr>Ú  s4   é € ð ÙSXÈ4×)Ñ)Ó+Ô+×FÐF¬w×/@Ò/@ÀÓ/FÔFÓSXùs
   ‚A¢ATFrE  r†   )	rô   rW  r3   r0   Úsplitr  rê   rë   Ú	Exception)rA  rí   ÚqualnameÚnamesÚresolvedrP   Úimport_namerk   s   &       r   Úimportable_refÚ3ConfigModule.codegen_config.<locals>.importable_refË  s*  € ðÜ% d¨L¸$Ó?�Ü" 4¨¸Ó>�ä  ŸšÜ% k´3×7Ò7Ü% h´×4Ò4ß&ß#Ø" jÔ0Ø˜h”áØ#×)Ñ)¨#Ó.°·±ÀÓ1DÕD�ß“3ñ ÙSXó—3—3’3ñ ÙSXó÷ ò ñ  Ü$×2Ò2°;Ó?�Ø$ŸN™N¨3Ö/�DÜ& xÓ6’Hñ 0àÓ'ÙØ$/°:Ô$=™bÀ;�ß.9˜K˜=¨Ñ*¸r�Ø ˜ ( Ð,¨kÐ9Ð9øÜô ÚðúsB   ‚AD> Á!D> Á)D> Á91D> Â+D> Â?D> Ã>D> ÄD> Ä/D> Ä>EÅEc                ó0   € V ^8„  d   QhR\         R\        /# )r   r/   r   )r	   r0   )r   s   "r   r   rC  é  s   € ÷ 	ñ 	¤sð 	¬sñ 	r    c                 ó  <€ \        V 4      \        R 4      \        \        \        \        39   g0   \        V 4      \
        J d(   \        P                  ! V 4      '       d   \        V 4      # \        V 4      \        \        \        39  d"   \        R\        V 4      P                   24      h\        V 4      \        \        39   d   V  F  pS! V4       K  	  M)V P                  4        F  w  r!S! V4       S! V4       K  	  \        V 4      # )Nz,unsupported functools.partial argument type )r4   r;   Úintr0   r&  ÚfloatÚmathÚisfiniteÚreprr1   rç   r  Ú
ValueErrorr<   rw   )r/   rR  r€   Úserialize_partial_args   &  €r   rs  Ú:ConfigModule.codegen_config.<locals>.serialize_partial_argé  sË   ø€ Ü�C‹yœT $›Z¬¬s´C¼Ð?Ô?Ü�S“	œUÓ"¤t§}¢}°S×'9Ò'9ä˜C“yÐ Ü�C‹y¤¤u¬dÐ 3Ô3Ü ØBÄ4ÈÃ9×CUÑCUÐBVÐWóð ô �C‹yœT¤5˜MÔ)Û�DÙ)¨$Ö/ò  ð "%§¡¦‘I�CÙ)¨#Ô.Ù)¨$Ö/ñ "-ô ˜“9Ðr    c                ó$   € V ^8„  d   QhR\         /# r$  rß   )r   s   "r   r   rC  ü  s   € ÷ 	/ñ 	/¬3ñ 	/r    c                 ó4  <€ \        V4      \        P                  Jd
   R V  RV R2# S! VP                  4      pVf
   R V  RV R2# Vw  rE V.pVP	                  V
3R lVP
                   4       4       VP                  '       d%   VP                  RS
! VP                  4       24       RRP                  V4       R2p\        VR	R
4       T'       d   S	P                  T4       S	P                  R4       T  RT RT 2#   \         d    R T  RT R2u # i ; i)z# rq   z& omitted: unsupported partial subclassz0 omitted: partial callable cannot be re-importedc              3   ó4   <"  € T F  pS! V4      x € K  	  R # 5irI   r   )r  Úargrs  s   & €r   r  ÚHConfigModule.codegen_config.<locals>.get_partial_line.<locals>.<genexpr>  s   øé € ÐJÁ6¸CÑ2°3×7Ð7Ã6ùó   ƒz**zfunctools.partial(ú, rs   z<config>Úevalz0 omitted: partial arguments cannot be serializedÚ	functoolsú = )r4   r}  ÚpartialrA  r7  ÚargsÚkeywordsr6  ÚjoinÚcompilerd  r¡   )ÚmodÚkrP  Ú	func_infoÚfunc_refrh  ÚpartsÚ
expressionri  rK  rs  s   &&&     €€€r   Úget_partial_lineÚ5ConfigModule.codegen_config.<locals>.get_partial_lineü  s(  ø€ Ü�A‹wœi×/Ñ/Ó/Ø˜C˜5  ! Ð$JÐKÐKÙ& q§v¡vÓ.ˆIØÒ Ø˜C˜5  ! Ð$TÐUÐUØ$-Ñ!ˆHðVØ!˜
�Ø—‘ÔJÀ1Ç6Â6ÓJÔJØ—:—:�:Ø—L‘L 2Ñ&;¸A¿J¹JÓ&GÐ%HÐ!IÔJØ1°$·)±)¸EÓ2BÐ1CÀ1ÐE�
Ü˜
 J°Ô7÷ Ø—‘˜KÔ(Ø�K‰K˜Ô$Ø�U˜!˜A˜3˜c * Ð.Ð.øô ô VØ˜C˜5  ! Ð$TÐUÒUðVús   ÁB D  Ä DÄDc                ó$   € V ^8„  d   QhR\         /# r$  rß   )r   s   "r   r   rC    s   € ÷ 	,ñ 	,¬#ñ 	,r    c                ó0  <€ \        V\        P                  4      '       d
   S! WV4      # S! V4      '       d&   S! V4       V  RV RS! VR4       VP                   2# \        V\        \
        34      '       d”   \        ;QJ d    V3R lV 4       F  '       d   K   RM	  RM! V3R lV 4       4      '       dT   V F  pS! V4       K  	  S	! V4      p\        V\        4      '       d   V  RV RV 2# V  RV RRP                  V4       R2# V  RV RV: 2# )	a�  
Return a string version of the config line.
Handle v when v is a callable, or a list/dict of callables. Add import statements for callables if necessary.
We assume that the value of a single config won't be a mix of callables and non-callables.

Example output:
    import logging
    import _warnings
    torch._dynamo.config.reorderable_logging_functions = { _warnings.warn, logging.warn, print }
rq   r~  Tc              3   ó4   <"  € T F  pS! V4      x € K  	  R # 5irI   r   )r  rR  rX  s   & €r   r  ÚGConfigModule.codegen_config.<locals>.get_config_line.<locals>.<genexpr>!  s   øé € ð 4Ù67¨dÑ# D×)Ð)³aùrz  Fz = { r{  z })r3   r}  r  r<   r1   r�   Úallr‚  )
r„  r…  rP  rR  Úv_listrL  rF  rŠ  rX  rS  s
   &&&  €€€€€r   Úget_config_lineÚ4ConfigModule.codegen_config.<locals>.get_config_line  s  ø€ ô ˜!œY×.Ñ.×/Ò/Ù'¨°Ó2Ð2Ù$ Q×'Ò'Ù˜1”Ø˜˜a ˜s #¡o°a¸Ó&>Ð%?ÀÇ
Á
¸|ÐLÐLÜ˜A¤¤c˜{×+Ò+·³ô 4Ù67ó4··²ô 4Ù67ó4÷ 1ò 1ó �DÙ˜tÖ$ñ á4°QÓ7�Ü˜a¤×&Ò&Ø!˜U ! A 3 c¨&¨Ð2Ð2à!˜U ! A 3 f¨T¯Y©Y°vÓ->Ð,?¸sÐCÐCà˜˜a ˜s # a¡UÐ+Ð+r    r(  T)r
  r  r  zimport Ú
)r�   r<   r  rô   rw   r6  Úinsertr‚  )r+   r’  Úlinesr„  r…  rP  rh  rL  rF  rŠ  rX  ri  rK  rS  rs  s   &      @@@@@@@@r   Úcodegen_configÚConfigModule.codegen_config¯  sà   ÿ€ ô “%ˆõ	÷	)ñ 	)÷
	Sð 	Sõ	Wõ	÷<	ð 	÷&	/ò 	/÷*	,ô 	,ð: ˆØ�m‰mˆØ—N‘NÜ  Ð'<¸bÓAØØ ð #ó 
÷ ‰%‹'ò	‰DˆAð
 �L‰L™¨°Ó3Ö4ñó #ˆKØ�L‰L˜˜g k ]Ð3Ö4ñ #à�y‰y˜ÓÐr    c                ó    <€ V ^8„  d   QhRS[ /# r$  r%  )r   r   s   "€r   r   r¸   :  s   ø€ ÷ ñ ™%ñ r    c                ó2  € V P                   P                  4       '       g   V P                  P                  4       f²   V P                  \	        V P
                  4      RR7      p\        \        VP                  4       4      4      pV P                  P                  \        P                  ! VP                  R4      RR7      P                  4       4       V P                   P                  R4       V P                  P                  4       pVf   \        R4      hV# )z/Hashes the configs that are not compile_ignoredTr)  r’   F)Úusedforsecurityz6_hash_cache_var should not be None after recomputation)rc   rY   rb   r  r1   r‹   rq  Úsortedrw   r�   ÚhashlibÚmd5r˜   Údigestr)   )r+   Údict_to_hashÚstring_to_hashÚresults   &   r   Úget_hashÚConfigModule.get_hash:  så   € à×Ñ×#Ñ#×%Ò%¨×)=Ñ)=×)AÑ)AÓ)CÒ)KØŸ>™>Ü! $×"<Ñ"<Ó=Ètð *ó ˆLô "¤&¨×);Ñ);Ó)=Ó">Ó?ˆNØ× Ñ ×$Ñ$Ü—’Ø"×)Ñ)¨'Ó2ÀEôç‘&“(ôð
 × Ñ ×$Ñ$ UÔ+Ø×%Ñ%×)Ñ)Ó+ˆØŠ>Ü ØHóð ð ˆr    zÒ`config.to_dict()` has been deprecated. It no longer changes the underlying config. use `config.get_config_copy()` instead if you just want a copy of the config, or config.load_config if you need mutable access)Úcategoryc                ó6   <€ V ^8„  d   QhRS[ S[S[3,          /# r$  ©r  r0   r	   )r   r   s   "€r   r   r¸   T  s   ø€ ÷ &ñ &™™c¡3˜h�ñ &r    c                ó"   € V P                  4       # rI   ©Úget_config_copyr*   s   &r   Úto_dictÚConfigModule.to_dictN  ó   € ð ×#Ñ#Ó%Ð%r    zÜ`config.shallow_copy_dict()` has been deprecated. It no longer changes the underlying config. use `config.get_config_copy()` instead if you just want a copy of the config, or config.load_config if you need mutable accessc                ó6   <€ V ^8„  d   QhRS[ S[S[3,          /# r$  r§  )r   r   s   "€r   r   r¸   ]  s   ø€ ÷ &ñ &¡4©©S¨¥>ñ &r    c                ó"   € V P                  4       # rI   r©  r*   s   &r   Úshallow_copy_dictÚConfigModule.shallow_copy_dictW  r­  r    c                óJ   <€ V ^8„  d   QhRS[ S[S[S[3,          ,          RR/# )r   Úmaybe_pickled_configr   N)r&  r  r0   r	   )r   r   s   "€r   r   r¸   `  s,   ø€ ÷ Vñ V±¹¹SÁ#¸X½Õ0Fð VÈ4ñ Vr    c                óü   € \        V\        4      '       g   \        P                  ! V4      pMTpVP	                  4        F8  w  r4W0P
                  9   d   \        WV4       K#  ^ RIHp V! RV RV R24       K:  	  R# )zARestore from a prior call to save_config() or shallow_copy_dict())Ú	warn_oncezkey z with value z! is not understood by this configN)	r3   r  r+  Úloadsrw   rŠ   r~   Útorch._dynamo.utilsrµ  )r+   r³  rƒ   r…  rP  rµ  s   &&    r   Úload_configÚConfigModule.load_config`  se   € äÐ.´×5Ò5Ü—\’\Ð"6Ó7‰Fà)ˆFØ—L‘L–N‰DˆAØ—L‘LÔ Ü˜ Ö#å9á˜D   <°¨sÐ2SÐTÖUó #r    c                ó6   <€ V ^8„  d   QhRS[ S[S[3,          /# r$  r§  )r   r   s   "€r   r   r¸   n  s   ø€ ÷  ñ  ¡¡c©3 h¥ñ  r    c                ó"   € V P                  4       # rI   )r  r*   s   &r   rª  ÚConfigModule.get_config_copyn  s   € Ø�~‰~ÓÐr    c                ó6   <€ V ^8„  d   QhRS[ S[S[3,          /# r$  r§  )r   r   s   "€r   r   r¸   q  s   ø€ ÷ Uñ U©d±3¹°8­nñ Ur    c                ó<   € V P                  \        V R . 4      R7      # )r(  )r
  )r  rô   r*   s   &r   Úget_serializable_config_copyÚ)ConfigModule.get_serializable_config_copyq  s   € Ø�~‰~¬7°4Ð9NÐPRÓ+Sˆ~ÓTÐTr    c                óz   <€ V ^8„  d   QhRS[ S[S[ S[3,          ,          R,          RS[RS[S[ S[3,          RR/# )r   Úarg1NÚarg2Úkwargsr   ÚContextDecorator)r0   r  r	   )r   r   s   "€r   r   r¸   t  sS   ø€ ÷ Vñ Vá‘D™™c˜•NÕ" TÕ)ðVñ ðVñ ‘s™C�x•.ð	Vð
 
ñVr    c                ó‚  aa€ Vea   Ve&   \        V\        4      '       g   \        R4      hW/oM#\        V\        4      '       g   \        R4      hVoV'       d   \        R4      hMVoVe   \        R4      h\        S\        4      '       g   \        R\	        S4       24      hV o ! VV3R lR\
        4      pV! 4       # )aj  
Decorator and/or context manager to make temporary changes to a config.  Note that patched settings are thread-local.

As a decorator:

    @config.patch("name", val)
    @config.patch(name1=val1, name2=val2)
    @config.patch({"name1": val1, "name2", val2})
    def foo(...):
        ...

As a context manager:

    with config.patch("name", val):
        ...
zGfirst argument must be a string when passing 2 positional args to patchzKfirst argument must be a dict when passing a single positional arg to patchz:cannot pass both positional and keyword arguments to patchzLsecond positional argument is only valid when first argument is a key stringzexpected `dict` got c                   ó`   <a € ] tR tRt o V 3R lVV3R lltV 3R lV3R lltV3R ltRtV tR# )	Ú'ConfigModule.patch.<locals>.ConfigPatchi©  c                ó   <€ V ^8„  d   QhRR/# r   r   )r   r   s   "€r   r   Ú4ConfigModule.patch.<locals>.ConfigPatch.__annotate__ª  s   ø€ ÷ ñ  $ñ r    c                ól   <€ SV n         \        SP                   R \        V 4       R2RR7      V n        R# )z.ConfigPatch[Ú]r‡   Nr   )Úchangesr   r<   ÚidÚ_prior)r+   rÍ  rƒ   s   &€€r   r²   Ú0ConfigModule.patch.<locals>.ConfigPatch.__init__ª  s3   ø€ Ø&�”ÜFPØ—‘Ð' }´R¸³X°J¸aÐ@ØôG�–r    c                ó   <€ V ^8„  d   QhRR/# r   r   )r   r   s   "€r   r   rÊ  ±  s   ø€ ÷ ñ  4ñ r    c                óŒ  <€ / pV P                    F  pSP                  V4      W&   K  	  V P                  P                  4       pV P                  P	                  . VOVN54        V P                   P                  4        F  w  rESP                  WE4       K  	  R #   \         d    T P                  P	                  T4       h i ; irI   )rÍ  rÜ   rÏ  rY   r�   rw   rË   rd  )r+   Úpriorr€   Úprior_stackr…  rP  rƒ   s   &     €r   Ú	__enter__Ú1ConfigModule.patch.<locals>.ConfigPatch.__enter__±  s£   ø€ Ø(*�ØŸ<œ<�Cà!'×!3Ñ!3°CÓ!8�E“Jñ (ð #Ÿk™kŸo™oÓ/�Ø—‘—‘Ð 5 +Ð 5¨uÑ 5Ô6ðØ $§¡× 2Ñ 2Ö 4™˜Ø×*Ñ*¨1Ö0ó !5øä ô Ø—K‘K—O‘O KÔ0Øðús   Á%4B Â(Cc                ó  <€ V P                   P                  4       pV'       g   \        R 4      hVR,          pV P                   P                  VRR 4       VP	                  4        F  w  rgSP                  Wg4       K  	  R# )z2prior should not be empty when exiting ConfigPatchNr“   )rÏ  rY   r)   r�   rw   rË   )	r+   Úexc_typeÚexc_valÚexc_tbrÔ  rÓ  r…  rP  rƒ   s	   &&&&    €r   Ú__exit__Ú0ConfigModule.patch.<locals>.ConfigPatch.__exit__¿  sh   ø€ Ø"Ÿk™kŸo™oÓ/�ß"Ü(ØLóð ð $ B��Ø—‘—‘ ¨C¨RÐ 0Ô1Ø!ŸK™KžM‘D�AØ×&Ñ& qÖ,ó *r    )rÏ  rÍ  N)	r<   r=   r>   r?   r²   rÕ  rÛ  rC   rD   )r   rÍ  rƒ   s   @€€r   ÚConfigPatchrÈ  ©  s#   ù‡ € ÷ô ÷ó ÷	-ó 	-r    rÝ  )r3   r0   r)   r  r4   rÅ  )r+   rÂ  rÃ  rÄ  rÝ  rÍ  rƒ   s   &&&, @@r   ÚpatchÚConfigModule.patcht  sØ   ù€ ð. ÒØÒÜ! $¬×,Ò,Ü(Øaóð ð  ˜,‘ä! $¬×-Ò-Ü(Øeóð ð �ßÜ$ØPóð ð ð ˆGØÒÜ$Øbóð ô ˜'¤4×(Ò(Ü Ð#7¼¸W»°Ð!GÓHÐHØˆ÷	-ð 	-Ô*ô 	-ñB ‹}Ðr    c                ó<   <€ V ^8„  d   QhRS[ S[S[3,          RS[/# )r   rÍ  r   r§  )r   r   s   "€r   r   r¸   Ì  s#   ø€ ÷ #ñ #©t±C¹°H­~ð #Á#ñ #r    c                ó:   a aa€ S P                   oR VVV 3R llpV# )zþ
A lower-overhead version of patch() for things on the critical path.

Usage:

    # do this off the critical path
    change_fn = config.make_closure_patcher(foo=True)

    ...

    revert = change_fn()
    try:
      ...
    finally:
        revert()

c                ó6   € V ^8„  d   QhR\         . R3,          /# r   r   )r   s   "r   r   Ú8ConfigModule._make_closure_patcher.<locals>.__annotate__à  s   € ÷ 	ñ 	œ  T Õ*ñ 	r    c                  óZ  <a€ S U u/ uF$  q SV ,          P                   P                  4       bK&  	  up oSP                  4        FS  w  rSV ,          P                   P                  V4       SP                  P                  R 4       SP                  V 4       KU  	  R VVV3R llpV# u up i )Tc                ó   € V ^8„  d   QhRR/# r   r   )r   s   "r   r   ÚHConfigModule._make_closure_patcher.<locals>.change.<locals>.__annotate__ç  s   € ÷ 1ñ 1˜Dñ 1r    c                  óÖ   <€ SP                  4        FS  w  rSV ,          P                  P                  V4       SP                  P                  R 4       SP	                  V 4       KU  	  R# rá   )rw   r®   r�   rc   rÎ   )r…  rP  rƒ   rÓ  r+   s     €€€r   ÚrevertÚBConfigModule._make_closure_patcher.<locals>.change.<locals>.revertç  sO   ø€ Ø!ŸK™KžM‘D�AØ˜1•I×+Ñ+×/Ñ/°Ô2Ø×(Ñ(×,Ñ,¨TÔ2Ø×-Ñ-¨aÖ0ó *r    )r®   rY   rw   r�   rc   rÎ   )r…  rP  rè  rÓ  rÍ  rƒ   r+   s      @€€€r   ÚchangeÚ2ConfigModule._make_closure_patcher.<locals>.changeà  s�   ù€ Ù?FÓG¹w¸!˜˜q�	×/Ñ/×3Ñ3Ó5Ò5¹wÑGˆEØŸ™ž‘�Ø�q•	×'Ñ'×+Ñ+¨AÔ.Ø×$Ñ$×(Ñ(¨Ô.Ø×)Ñ)¨!Ö,ñ (÷
1ò 1ð ˆMùò Hs   ‡*B()rŠ   )r+   rÍ  rê  rƒ   s   fl @r   Ú_make_closure_patcherÚ"ConfigModule._make_closure_patcherÌ  s   ú€ ð$ —‘ˆ÷	ò 	ð ˆr    c                ó<  <€ V ^8„  d   Qh/ S[ S[S[3,          ;R&   S[S[,          ;R&   S[S[,          ;R&   S[S[,          ;R&   S[S[R,          ,          ;R&   S[S[S[,          R,          ,          ;R&   S[S[ S[S[ S[S[3,          3,          ,          ;R&   # )	r   rŠ   rf   r‹   rc   Nrb   re   rd   )	r  r0   r|   r�   r   r;   r&  Ú_GetDictCacheKeyr	   )r   r   s   "€r   r   r¸   ‚  s¥   ø‡ ‚ ñ ‘#‘|Ð#Õ$Ñ$ñ ñ ‘c•(Ññ ñ ™s�8Ñ#ñ ñ  ¡Õ%Ñ%ñ ñ  ¡¨¥Õ-Ñ-ñ ñ )©©S­°D­Õ9Ñ9ñ ñ  $¡DÑ)9¹4ÁÁSÀ½>Ð)IÕ$JÕKÑKò! r    r   )NNFF)NN)"r<   r=   r>   r?   r²   rÃ   rË   rÜ   rã   rï   rÕ   rÍ   rþ   rÎ   r  r  r!  r-  r<  r—  r£  r   rÁ   r«  r°  r¸  rª  r¿  rÞ  rì  rB   rC   rD   Ú__classcell__©rŒ   r   s   @@r   rˆ   rˆ   ‚  sO  ù‡ € ÷$
ð 
÷

.ð 
.÷(ó (÷,%Rð %R÷N'ð '÷%ð %÷ð ÷,ð ,ð  "Ð÷4ð 4÷Cð C÷0^ò ^÷@4ð 4÷
ð 
ðØ04ðØNS÷ò ÷4I ð I ÷Vð ñ( ð	8ð ô	÷&óð&ñ ð	8ð ô	÷&óð&÷Vð V÷ ð  ÷Uð U÷Vò V÷p#ð #÷U … r    rˆ   c                   óf   a a€ ] tR tRt oRtV3R lR ltV3R lR ltV3R lV 3R lltR	tVt	V ;t
# )
rÅ  iò  zO
Same as contextlib.ContextDecorator, but with support for
`unittest.TestCase`
c                ó   <€ V ^8„  d   QhRR/# r   r   )r   r   s   "€r   r   ÚContextDecorator.__annotate__ø  s   ø€ ÷ )ñ )˜4ñ )r    c                ó   € \        R 4      h©ÚNYI©rº   r*   s   &r   rÕ  ÚContextDecorator.__enter__ø  ó   € Ü! %Ó(Ð(r    c                ó    <€ V ^8„  d   QhRS[ /# r$  )r   )r   r   s   "€r   r   rô  û  s   ø€ ÷ )ñ )±Xñ )r    c                ó   € \        R 4      hrö  rø  )r+   rØ  rÙ  rÚ  s   &&&&r   rÛ  ÚContextDecorator.__exit__û  rú  r    c                ó>   <€ V ^8„  d   QhRS[ S[.S[3,          RS[/# )r   rA  r   )r   r	   )r   r   s   "€r   r   rô  þ  s&   ø€ ÷ &ñ &™X¡s e©S jÕ1ð &±cñ &r    c                ó  <a € \        V\        4      '       dd   \        V\        P                  4      '       dD    ! V 3R  lRV4      pVP
                  Vn        VP                  Vn        VP                  Vn        V# \        SS `%  V4      # )c                   óp   <a a€ ] tR tRt o]V3R lV V3R ll4       t]V3R lV V3R ll4       tRtVtV ;t	# )Ú,ContextDecorator.__call__.<locals>._TestCasei  c                ó   <€ V ^8„  d   QhRR/# r   r   )r   r   s   "€r   r   Ú9ContextDecorator.__call__.<locals>._TestCase.__annotate__  s   ø€ ÷ ñ  tñ r    c                óŒ   <€ SP                  4         \        SV `	  4        R #   \         d    SP	                  R R R 4       h i ; irI   )rÕ  rÊ   Ú
setUpClassrd  rÛ  ©ÚclsrŒ   r+   s   &€€r   r  Ú7ContextDecorator.__call__.<locals>._TestCase.setUpClass  s?   ø€ à—N‘NÔ$ðÜ™Ñ*Ö,øÜ$ô ØŸ™ d¨D°$Ô7Øðús	   “# £ Ac                ó   <€ V ^8„  d   QhRR/# r   r   )r   r   s   "€r   r   r    s   ø€ ÷ 8ñ 8¨$ñ 8r    c                ó|   <€  \         SV `  4        SP                  R R R 4       R #   SP                  R R R 4       i ; irI   )rÊ   ÚtearDownClassrÛ  r  s   &€€r   r  Ú:ContextDecorator.__call__.<locals>._TestCase.tearDownClass  s4   ø€ ð8Ü™Ñ-Ô/àŸ™ d¨D°$Ö7ø˜Ÿ™ d¨D°$Õ7ús   ƒ& ¦;r   )
r<   r=   r>   r?   Úclassmethodr  r  rC   rD   rð  )rŒ   r   r+   s   @@€r   Ú	_TestCaser    s:   ú‡ € Ø÷ó ó ðð ÷8ó 8ó ÷8ð 8r    r  )
r3   r4   rz   ÚunittestÚTestCaser<   r>   r=   rÊ   Ú__call__)r+   rA  r  rŒ   s   f& €r   r  ÚContextDecorator.__call__þ  sl   ù€ Ü�dœD×!Ò!¤j°´x×7HÑ7H×&IÒ&I÷8˜Dô 8ð" "&§¡ˆIÔØ%)×%6Ñ%6ˆIÔ"Ø#'§?¡?ˆIÔ àÐä‰wÑ Ó%Ð%r    r   )r<   r=   r>   r?   r@   rÕ  rÛ  r  rC   rD   rð  rñ  s   @@r   rÅ  rÅ  ò  s-   ù‡ € ñ÷
)ð )÷)ð )÷&÷ &ó &r    rÅ  c                   óx   a a€ ] tR tRt oRtV3R lV 3R l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
V ;t# )rl   i  zb
Shim to redirect to main config.
`config.triton.cudagraphs` maps to _config["triton.cudagraphs"]
c                ó*   <€ V ^8„  d   QhRS[ RS[RR/# )r   rƒ   rk   r   N)r:   r0   )r   r   s   "€r   r   ÚSubConfigProxy.__annotate__!  s"   ø€ ÷ /ñ /™vð /©sð /°tñ /r    c                óH   <€ \         SV `  R V4       \         SV `  RV4       R# )rŠ   Ú_prefixN)rÊ   rË   )r+   rƒ   rk   rŒ   s   &&&€r   r²   ÚSubConfigProxy.__init__!  s!   ø€ ä‰Ñ˜I vÔ.Ü‰Ñ˜I vÖ.r    c                ó*   <€ V ^8„  d   QhRS[ RS[RR/# rÆ   rÇ   )r   r   s   "€r   r   r  &  s'   ø€ ÷ Dñ D¡ð D©Fð D°tñ Dr    c                ó\   € V P                   P                  V P                  V,           V4      # rI   )rŠ   rË   r  )r+   rP   rZ   s   &&&r   rË   ÚSubConfigProxy.__setattr__&  s"   € Ø�|‰|×'Ñ'¨¯©°tÕ(;¸UÓCÐCr    c                ó&   <€ V ^8„  d   QhRS[ RS[/# rÑ   rÒ   )r   r   s   "€r   r   r  )  s   ø€ ÷ =ñ =¡ð =©ñ =r    c                óZ   € V P                   P                  V P                  V,           4      # rI   )rŠ   rÜ   r  râ   s   &&r   rÜ   ÚSubConfigProxy.__getattr__)  ó    € Ø�|‰|×'Ñ'¨¯©°tÕ(;Ó<Ð<r    c                ó$   <€ V ^8„  d   QhRS[ RR/# rO   rß   )r   r   s   "€r   r   r  ,  s   ø€ ÷ =ñ =¡ð =¨ñ =r    c                óZ   € V P                   P                  V P                  V,           4      # rI   )rŠ   rã   r  râ   s   &&r   rã   ÚSubConfigProxy.__delattr__,  r  r    r   )r<   r=   r>   r?   r@   r²   rË   rÜ   rã   rC   rD   rð  rñ  s   @@r   rl   rl     s9   ù‡ € ñ÷
/ó /÷
Dð D÷=ð =÷=÷ =ð =r    rl   c                óJ   € V ^8„  d   QhR\         R\        R\        R,          /# )r   rP   r&   r   N)r0   r	   r;   )r   s   "r   r   r   0  s%   € ÷ ñ œ3ð ¬ð ¼¸t½ñ r    c                 óh   € \         P                  P                  V 4      pVR 8X  d   R# VR8X  d   R# V# rS   rV   )rP   r&   rZ   s   && r   Úget_tristate_envr%  0  s-   € Ü�J‰J�N‰N˜4Ó €EØ�„|ÙØ�„|ÙØ€Nr    c                 ó   a € V 3R  lpV# )c                 ó¼   <€ SP                   P                  4        F<  w  rVP                  R 4      '       d   K  WP                   9  g   K0  \        WV4       K>  	  V # )r2  )rv   rw   rx   r~   )Ú	child_clsr…  rP  Ú
parent_clss   &  €r   ÚwrapperÚ$inherit_fields_from.<locals>.wrapper:  sJ   ø€ Ø×'Ñ'×-Ñ-Ö/‰DˆAà—<‘< ×$Ô$¨×2DÑ2DÖ)DÜ˜	 aÖ(ñ 0ð Ðr    r   )r)  r*  s   f r   Úinherit_fields_fromr,  9  s   ø€ õð €Nr    rI   )<Ú
contextlibr×   r}  r�  rê   rt   r–   r`  ro  rW   r+  r•   r  Úcollections.abcr   Úcontextvarsr   Údataclassesr   Útypesr   r   rp   r	   r
   r   r   r   r   Útyping_extensionsr   Útorch._utils_internalr   rm  rn  r;   r4   r0   r1   r�   rç   r  r{   rÖ   r   r:   r'   r   rK   r[   rŽ   r�   r‰   rï  r|   rˆ   rÅ  rl   r%  r,  r   r    r   Ú<module>r4     sº  ðÛ Û Û Û Û Û Û 	Û Û Û 	Û Û Û Ý $Ý "Ý !ß *ß K× KÝ (å 1ð �U˜D¡$ t£*¨c°4¸¸eÀTÐJ€ð   t©T°$«Z¸¸eÐDÐ ñ ˆC�s˜U•{ TÕ)¨CÕ/°$Õ6¸Õ<¸uÕDÀtÕKÈdÕRÔS€ñ “(€ñ �4ÔôOˆg�a�jó Oó ðO÷l ð .Ø#Ø37Ø15Ø"&Ø à Ø*.÷
ð 
ð .Ø#Ø37Ø15Ø"&Ø à Ø*.÷
õ0õXðv ,Ð õ"ðJ ˜˜s C˜x�¨%°°S°­/¸4Ð?Õ@Ð ð ÷Hð Hó ðHôVm	�:ô m	ô`&&�z×2Ñ2ô &&÷R=ñ =÷*ôr    