+
    œ°³jÎ@  ã                  ól  € ^ RI Ht ^ RIt^ RIHtHt ^ RIHt ^ RIH	t	H
t
 ^ RIHt ]	'       d   ^ RIHt ]P                  ! ]4      t]! 4       t ! R R	]4      t] ! R
 R4      4       tR R ltR R ltR R ltR R ltR R ltR R ltR R lt ! R R]R,          4      tR R lt ! R R 4      t R# )!é    )ÚannotationsN)ÚIterableÚSequence)Ú	dataclass)ÚTYPE_CHECKINGÚAny)Úlogging)ÚPreTrainedConfigc                  ó   € ] tR t^#tRtRtR# )Ú%AmbiguousGlobalPerLayerAttributeErrorzMRaised when a per-layer attribute is read from a heterogeneous global config.© N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__Ú__static_attributes__r   ó    Ú|/home/luca/screen-checking/.venv/lib/python3.14/site-packages/transformers/integrations/heterogeneity/configuration_utils.pyr   r   #   s   † ÝWr   r   c                  ó6   € ] tR t^'t$ R]R&   R]R&   R]R&   RtR# )Ú_HeterogeneitySpecúdict[int, dict[str, Any]]Úper_layer_overridesúset[str]Úper_layer_attributesÚexplicit_per_layer_attributesr   N)r   r   r   r   Ú__annotations__r   r   r   r   r   r   '   s   ‡ à2Ó2Ø"Ó"Ø#+×+r   r   c               ó    € V ^8„  d   QhRRRR/# )é   Úlayer_overridesúdict[str, Any]Úreturnr   )Úformats   "r   Ú__annotate__r$   .   s   € ÷ ñ °ð À>ñ r   c                óœ  € \         P                  ! V 4      pR V9   d¯   VP                  R 4      p\        V\        4      '       g   \        V\
        4      '       g   \        R4      h\        V4      p\        ;QJ d    R V 4       F  '       d   K   RM	  RM! R V 4       4      '       g   \        R4      hV'       d   \        V4      VR &   V# )Úskipz&`skip` must be an iterable of strings.c              3  óB   "  € T F  p\        V\        4      x € K  	  R # 5i©N)Ú
isinstanceÚstr)Ú.0Úitems   & r   Ú	<genexpr>Ú-_normalize_layer_overrides.<locals>.<genexpr>7   s   é € Ð:±T¨T”:˜d¤C×(Ð(³Tùs   ‚FTz!`skip` must contain only strings.)
ÚcopyÚdeepcopyÚpopr)   r*   r   Ú	TypeErrorÚsetÚallÚsorted)r    Ú
normalizedr&   s   &  r   Ú_normalize_layer_overridesr7   .   s˜   € Ü—’˜Ó/€Jà�ÔØ�~‰~˜fÓ%ˆÜ�dœC× Ò ¬
°4¼×(BÒ(BÜÐDÓEÐEä�4‹yˆß‹sÑ:±TÓ:�s�sŠsÑ:±TÓ:×:Ò:ÜÐ?Ó@Ð@çÜ!'¨£ˆJ�vÑàÐr   c               ó$   € V ^8„  d   QhRRRRRR/# ©r   Úconfigr
   r   r   r"   ÚNoner   )r#   s   "r   r$   r$   @   s$   € ÷ 
ñ 
Ð$4ð 
ÐKdð 
Ðimñ 
r   c                ó®   € V'       g   R # V P                   pV Uu. uF  q3^ 8  g	   W28¼  g   K  VNK  	  ppV'       d   \        RV RV R24      hR # u upi )NzG`per_layer_config` keys must be integer layer indices in the range [0, z); got Ú.)Únum_hidden_layersÚ
ValueError)r:   r   r>   Ú	layer_idxÚinvalid_layer_indicess   &&   r   Ú_validate_layer_indicesrB   @   st   € ßÙà×0Ñ0Ðá#6óÙ#6�iÀa¼-È9ÑKi�	ˆ	Ñ#6ð ð ÷ ÜØUÐVgÐUhð iØ(Ð)¨ð,ó
ð 	
ñ ùòs
   ›A®Ac               ó$   € V ^8„  d   QhRRRRRR/# r9   r   )r#   s   "r   r$   r$   O   s$   € ÷ 
ñ 
Øð
Ø3Lð
à	ñ
r   c                óV  € . p\        V P                  4       Fv  pVP                  V/ 4      pVP                  R V P                  R R4      4      pVP                  RV P                  RR4      4      pVf   K_  Vf   Ke  VP	                  V4       Kx  	  V'       d   \        RV R24      hR# )Úsliding_windowNÚattention_chunk_sizezkThe following layers have the mutually exclusive `sliding_window` and `attention_chunk_size` both defined: z‘. To fix this, either remove a conflicting attribute from the global config,or set it to `None` in `per_layer_config` for the problematic layers.)Úranger>   ÚgetÚ)_getattr_without_heterogeneous_validationÚappendr?   )r:   r   Úproblematic_indicesr@   r    rE   rF   s   &&     r   Ú1_validate_sliding_window_and_attention_chunk_sizerL   O   sÅ   € ð ÐÜ˜6×3Ñ3Ö4ˆ	Ø-×1Ñ1°)¸RÓ@ˆà(×,Ñ,Ø˜f×NÑNÐO_ÐaeÓfó
ˆð  /×2Ñ2Ø"Ø×<Ñ<Ð=SÐUYÓZó 
Ðð
 Ô%Ð*>Ô*JØ×&Ñ& yÖ1ñ 5÷ ÜØyØ"Ð#ð $TðUó
ð 	
ñ r   c               ó    € V ^8„  d   QhRRRR/# )r   r   r   r"   r   r   )r#   s   "r   r$   r$   i   s   € ÷  ñ  Ð3Lð  ÐQYñ  r   c                óŒ   € \        4       pV P                  4        F  pVP                  V4       K  	  VP                  R 4       V# )r&   )r3   ÚvaluesÚupdateÚdiscard)r   r   r    s   &  r   Ú_get_per_layer_attributesrR   i   sA   € Ü%(£UÐØ.×5Ñ5Ö7ˆØ×#Ñ# OÖ4ñ 8ð × Ñ  Ô(ØÐr   c               ó$   € V ^8„  d   QhRRRRRR/# )r   r:   r
   r   r   r"   r   r   )r#   s   "r   r$   r$   r   s$   € ÷ -ñ -Øð-Ø3Lð-àñ-r   c                óò  € \        V4      p\        4       pV F‘  p\        V4      V P                  8w  d-   V P	                  V4      '       g   VP                  V4       KG  KI  VP                  4        F4  pWE9  g   K  V P	                  V4      '       g   VP                  V4        K�  	  K“  	  V'       d   \        R \        V4       R24      hV F]  pV P	                  V4      '       g   K  V P                  V4      pVP                  4        F  pWE9   g   K  WT,          V8X  g   K  WT K  	  K_  	  \        VP                  4       4       F  w  ruV'       d   K  W K  	  \        V4      p\        VVVR7      p	V	# )z&The following attributes are missing: zS
Please define them globally, or provide them for every layer in `per_layer_config`)r   r   r   )rR   r3   Úlenr>   Ú)_hasattr_without_heterogeneous_validationÚaddrO   r?   r5   rI   ÚlistÚitemsr   )
r:   r   r   Ú"missing_required_global_attributesÚattrr    Úglobal_valuer@   r   Úheterogeneity_specs
   &&        r   Ú,_modify_config_and_create_heterogeneity_specr^   r   su  € ô %>Ð>QÓ$RÐ!ô *-«Ð&Û-ˆÜÐ"Ó# v×'?Ñ'?Ô?Ø×CÑCÀD×IÒIØ2×6Ñ6°tÖ<ñ Jð $7×#=Ñ#=Ö#?�ØÖ.Ø!×KÑKÈD×QÒQØ:×>Ñ>¸tÔDÚó	 $@ñ .÷ *ÜØ4´VÐ<^Ó5_Ð4`ð  auð  vó
ð 	
ó
 .ˆØ×?Ñ?À×EÒEÙà×GÑGÈÓMˆØ2×9Ñ9Ö;ˆOØÖ&¨?Õ+@ÀLÖ+PØ#Ò)ó  <ñ .ô '+Ð+>×+DÑ+DÓ+FÖ&GÑ"ˆ	ß‰Ø#Ò.ñ 'Hô 5Ð5HÓIÐÜ+Ø/Ø1Ø&CôÐð Ðr   c               ó$   € V ^8„  d   QhRRRRRR/# )r   r:   r
   Úper_layer_configzdict[int | str, dict[str, Any]]r"   r;   r   )r#   s   "r   r$   r$   ¢   s+   € ÷ vñ vØðvà5ðvð 
ñvr   c                óÊ   € VP                  4        UUu/ uF  w  r#\        V4      \        V4      bK  	  ppp\        W4       \	        W4       \        W4      V n        R# u uppi )aÓ  Register per-layer configuration overrides on a model config.

In a heterogeneous model, individual layers can differ from the global config
(e.g., different ``intermediate_size``, ``num_key_value_heads``, or entire
sub-layers skipped via the ``skip`` attribute).

This function validates the overrides and stores a ``_HeterogeneitySpec`` on ``config._heterogeneity_spec``.
At model-init time, ``apply_heterogeneous_modeling`` reads this spec to patch
each layer with its resolved config.

Args:
    config: The global model config to modify in-place.
    per_layer_config: Mapping from layer index to a dictionary
        of attribute overrides. Only layers that differ from the global
        config need to be included.
N)rY   Úintr7   rB   rL   r^   Ú_heterogeneity_spec)r:   r`   r@   r    Únormalized_per_layer_overridess   &&   r   Ú_apply_heterogeneous_configre   ¢   sc   € ð. +;×*@Ñ*@Ô*Bô&á*BÑ&ˆIô 	ˆI‹Ô2°?ÓCÒCÙ*Bð #ñ &ô
 ˜FÔCÜ5°fÔ]ä!MÈfÓ!u€FÖùó&s   ” Ac               ó$   € V ^8„  d   QhRRRRRR/# )r   r:   r
   r    r!   r"   r   )r#   s   "r   r$   r$   Â   s&   € ÷ ñ Øðà#ðð ñr   c                óô   € \         P                   ! V 4      pVP                  P                  R R4       VP                  R. 4      Vn        VP                  4        F  w  r4VR8X  d   K  \        W#V4       K  	  V# )rc   Nr&   )r/   Ú__dict__r1   rH   r&   rY   Úsetattr)r:   r    Úoutput_configr[   Úvalues   &&   r   Ú_get_layer_configrl   Â   so   € ô —I’I˜fÓ%€MØ×Ñ×ÑÐ4°dÔ;à(×,Ñ,¨V°RÓ8€MÔà&×,Ñ,Ö.‰ˆØ�6Œ>ÙÜ� UÖ+ñ /ð
 Ðr   c                  ó:   € ] tR t^ÓtR R ltR R ltR R ltRtR# )	Ú_PerLayerConfigViewc               ó    € V ^8„  d   QhRRRR/# )r   r:   r
   r"   r;   r   )r#   s   "r   r$   Ú _PerLayerConfigView.__annotate__Ô   s   € ÷ ñ Ð/ð °Dñ r   c                	ó   € Wn         R # r(   ©Ú_config)Úselfr:   s   &&r   Ú__init__Ú_PerLayerConfigView.__init__Ô   s   € ØŽr   c               ó   € V ^8„  d   QhRR/# )r   r"   rb   r   )r#   s   "r   r$   rp   ×   s   € ÷ .ñ .˜ñ .r   c                	ó.   € V P                   P                  # r(   )rs   r>   ©rt   s   &r   Ú__len__Ú_PerLayerConfigView.__len__×   s   € Ø�|‰|×-Ñ-Ð-r   c               ó    € V ^8„  d   QhRRRR/# )r   r@   zint | slice | strr"   z)PreTrainedConfig | list[PreTrainedConfig]r   )r#   s   "r   r$   rp   Ú   s   € ÷ -
ñ -
Ð%6ð -
Ð;dñ -
r   c           
     	óH  € \        V\        4      '       Ed   \        V P                  R R4      ;pf   \	        RV R24      hW9  d   \	        RV RV R\        V4       24      hV P                  P                  '       g   V P                  # V P                  P                  P                  pVP                  VP                  V4      / 4      p\        V4       F6  w  rVWa8X  g   K  VP                  V/ 4      V8w  g   K&  \	        RV RV R24      h	  \        V P                  V4      # \        V\        4      '       d8   \        VP                  \!        V 4      4      !   Uu. uF  qpV,          NK  	  up# V^ 8  d   V\!        V 4      ,          pV^ 8  g   V\!        V 4      8¼  d   \#        R4      hV P                  P                  '       g   V P                  # V P                  P                  p\        V P                  VP                  P                  V/ 4      4      # u upi )	Úlayer_typesNzLayer type 'z4' requested, but config.layer_types is not defined. z#' not found in config.layer_types: z. Available layer types: z*' is not homogeneous across layers (layer zD differs). Use an integer index to access a specific layer's config.zlist index out of range)r)   r*   Úgetattrrs   r?   r3   Úis_heterogeneousrc   r   rH   ÚindexÚ	enumeraterl   ÚslicerG   ÚindicesrU   Ú
IndexError)	rt   r@   r~   r    Úreference_overridesÚidxÚ
layer_typeÚir]   s	   &&       r   Ú__getitem__Ú_PerLayerConfigView.__getitem__Ú   sÿ  € ä�i¤×%Ó%Ü& t§|¡|°]ÀDÓIÐI�ÒRÜ  <°	¨{Ð:nÐ!oÓpÐpàÔ+Ü Ø" 9 +Ð-PÐQ\ÐP]ð ^.Ü.1°+Ó.>Ð-?ðAóð ð —<‘<×0×0Ð0Ø—|‘|Ð#ð #Ÿl™l×>Ñ>×RÑRˆOØ"1×"5Ñ"5°k×6GÑ6GÈ	Ó6RÐTVÓ"WÐÜ#,¨[Ö#9‘�ØÖ*¨×/BÑ/BÀ3ÈÓ/KÐObÖ/bÜ$Ø& y kÐ1[Ð\_Ð[`ð aTð Uóð ñ $:ô % T§\¡\Ð3FÓGÐGô �i¤×'Ò'Ü%*¨I×,=Ñ,=¼cÀ$»iÓ,HÒ%IÓJÑ%I ˜—G�GÑ%IÑJÐJà�qŒ=Øœ˜T›Õ"ˆIØ�qŒ=˜I¬¨T«Ô2ÜÐ6Ó7Ð7ð �|‰|×,×,Ð,Ø—<‘<Ðà!Ÿ\™\×=Ñ=ÐÜ Ø�L‰LØ×2Ñ2×6Ñ6°yÀ"ÓEó
ð 	
ùò Ks   Å"Hrr   N)r   r   r   r   ru   rz   rŠ   r   r   r   r   rn   rn   Ó   s   † õõ.÷-
ñ -
r   rn   r
   c               ó    € V ^8„  d   QhRRRR/# )r   r:   r
   r"   r   r   )r#   s   "r   r$   r$   
  s   € ÷ (ñ (Ð.>ð (ÐC\ñ (r   c                ó2  € V P                   p/ p\        V P                  4       Fo  p\        P                  ! VP
                  P                  V/ 4      4      pVP                   F  pWT9  g   K  V P                  V4      WE&   K   	  V'       g   Kk  WBV&   Kq  	  V# r(   )	rc   rG   r>   r/   r0   r   rH   r   rI   )r:   r]   Úexplicit_per_layer_overridesr@   r    r[   s   &     r   Ú!_get_explicit_per_layer_overridesr�   
  s�   € Ø×3Ñ3ÐØ#%Ð ä˜6×3Ñ3Ö4ˆ	ÜŸ-š-Ð(:×(NÑ(N×(RÑ(RÐS\Ð^`Ó(aÓbˆà&×DÔDˆDØÖ*Ø(.×(XÑ(XÐY]Ó(^�Ó%ñ E÷ ‰?Ø6E¨Ó3ñ 5ð (Ð'r   c                  óZ  a € ] tR tRtRtR V 3R llt]R R l4       t]R R l4       t]P                  R	 R
 l4       t]R R l4       t
]R R l4       t]P                  R R l4       t]R R l4       t]P                  R R l4       tR R ltR R lt]3R V 3R llltR R ltRtV ;t# )ÚHeterogeneousConfigMixini  aO  Mixin for heterogeneous per-layer config behavior.

This mixin owns heterogeneity-specific state and rules. ``PreTrainedConfig`` assigns the ``per_layer_config``
property in the post-init phase and calls hook methods where heterogeneity needs to participate in the config lifecycle: attribute
access, key iteration, and serialization.
c               ó    € V ^8„  d   QhRRRR/# )r   Úkeyr*   r"   r   r   )r#   s   "r   r$   Ú%HeterogeneousConfigMixin.__annotate__#  s   € ÷ -ñ - Cð -¨Cñ -r   c           	     	ó  <€ \         SV `  R 4      P                  R4      pVeT   WP                  9   dD   \         SV `  R4      '       g   \	        RV RV RV R24      h\
        P                  RV R24       \         SV `  V4      # )	rh   rc   Ú'allow_global_per_layer_attribute_accessÚ'z‹' is a per-layer attribute and may vary across layers. Access it via the individual layer configs instead (e.g. config.per_layer_config[i].z/). To read the global config value from config.zè anyway, set `allow_global_per_layer_attribute_access` to `True` on the config. Warning: only do this if the caller can safely handle heterogeneous configs; code that assumes a homogeneous model may use the global value incorrectly.z5Reading global config value for per-layer attribute `z¬` on a heterogeneous config. Only do this if the caller can safely handle heterogeneous configs; code that assumes a homogeneous model may use the global value incorrectly.)ÚsuperÚ__getattribute__rH   r   r   ÚloggerÚwarning_once)rt   r“   r]   Ú	__class__s   && €r   r™   Ú)HeterogeneousConfigMixin.__getattribute__#  s°   ø€ ô #™WÑ5°jÓA×EÑEÐF[Ó\ÐØÒ)Ø×=Ñ=Ô=Ü‘wÑ/Ð0Y×ZÒZÜ?Ø˜C˜5ð !LØLOÈ5ð Q"Ø"% ð 'TðUóð ô ×#Ñ#ØKÈCÈ5ð QBð Bôô ‰wÑ'¨Ó,Ð,r   c               ó   € V ^8„  d   QhRR/# ©r   r"   Úboolr   )r#   s   "r   r$   r”   ;  s   € ÷ 4ñ 4 $ñ 4r   c                	ó   € \        V R 4      # )rc   )Úhasattrry   s   &r   r€   Ú)HeterogeneousConfigMixin.is_heterogeneous:  s   € ä�tÐ2Ó3Ð3r   c               ó   € V ^8„  d   QhRR/# )r   r"   zSequence[PreTrainedConfig]r   )r#   s   "r   r$   r”   ?  s   € ÷ )ñ )Ð"<ñ )r   c                	ó   € \        V 4      # r(   )rn   ry   s   &r   r`   Ú)HeterogeneousConfigMixin.per_layer_config>  s   € ä" 4Ó(Ð(r   c               ó    € V ^8„  d   QhRRRR/# )r   r`   z&dict[int | str, dict[str, Any]] | Noner"   r;   r   )r#   s   "r   r$   r”   C  s   € ÷ <ñ <Ð1Wð <Ð\`ñ <r   c                	ó`   € Vf   V P                   P                  RR 4       R # \        W4       R # )Nrc   )rh   r1   re   )rt   r`   s   &&r   r`   r¦   B  s(   € àÒ#Ø�M‰M×ÑÐ3°TÔ:Ùä# DÖ;r   c               ó   € V ^8„  d   QhRR/# )r   r"   zset[str] | Noner   )r#   s   "r   r$   r”   K  s   € ÷ =ñ = oñ =r   c                	óV   € V P                   '       g   R # V P                  P                  # r(   )r€   rc   r   ry   s   &r   r   Ú-HeterogeneousConfigMixin.per_layer_attributesJ  s#   € à×$×$Ð$ÙØ×'Ñ'×<Ñ<Ð<r   c               ó   € V ^8„  d   QhRR/# rŸ   r   )r#   s   "r   r$   r”   Q  s   € ÷ Sñ S¸ñ Sr   c                	ó:   € V P                   P                  R R4      # )r–   F©rh   rH   ry   s   &r   r–   Ú@HeterogeneousConfigMixin.allow_global_per_layer_attribute_accessP  s   € à�}‰}× Ñ Ð!JÈEÓRÐRr   c               ó    € V ^8„  d   QhRRRR/# ©r   rk   r    r"   r;   r   )r#   s   "r   r$   r”   U  s   € ÷ Iñ I¸Tð IÀdñ Ir   c                	ó"   € WP                   R &   R# )r–   N©rh   ©rt   rk   s   &&r   r–   r¯   T  s   € àCH�‰Ð?Ó@r   c               ó   € V ^8„  d   QhRR/# rŸ   r   )r#   s   "r   r$   r”   Y  s   € ÷ Oñ O°Tñ Or   c                	ó:   € V P                   P                  R R4      # )Ú#serialize_explicit_per_layer_configFr®   ry   s   &r   r·   Ú<HeterogeneousConfigMixin.serialize_explicit_per_layer_configX  s   € à�}‰}× Ñ Ð!FÈÓNÐNr   c               ó    € V ^8„  d   QhRRRR/# r±   r   )r#   s   "r   r$   r”   ]  s   € ÷ Eñ E¸ð EÀ$ñ Er   c                	ó"   € WP                   R &   R# )r·   Nr³   r´   s   &&r   r·   r¸   \  s   € à?D�‰Ð;Ó<r   c               ó    € V ^8„  d   QhRRRR/# )r   ÚkeyszIterable[str]r"   r   )r#   s   "r   r$   r”   `  s   € ÷ ñ ÀMð ÐVcñ r   c              #  	ó°   "  € V P                   '       d4   V P                  '       g"   V F  pW P                  9  g   K  Vx € K  	  R # T R j  x€L
  R #  L5ir(   )r€   r–   r   )rt   r¼   r“   s   && r   Ú/_iter_config_keys_with_heterogeneous_adjustmentÚHHeterogeneousConfigMixin._iter_config_keys_with_heterogeneous_adjustment`  sB   é € ð × × Ð ¨×)U×)UÐ)UÛ�Ø×7Ñ7Ö7Ø”Ió ð �OŒOùs   ‚$A§A¾AÁAÁAc               ó    € V ^8„  d   QhRRRR/# )r   Údr!   r"   r;   r   )r#   s   "r   r$   r”   j  s   € ÷ +ñ +°nð +Èñ +r   c                	óà  € V P                   '       g   R # V P                  '       d   \        V 4      pMV P                  P                  pV'       d�   \        \        \        VP                  4       4      4      4      pVP                  4        UUu/ uF4  w  rE\        V4      P                  V4      \        P                  ! V4      bK6  	  uppVR&   M/ VR&   VP                  RR 4       R # u uppi )Nr`   rc   )r€   r·   r�   rc   r   rU   r*   Úmaxr¼   rY   Úzfillr/   r0   r1   )rt   rÁ   r   Ú
max_digitsr@   r    s   &&    r   Ú$_update_heterogeneous_to_dict_outputÚ=HeterogeneousConfigMixin._update_heterogeneous_to_dict_outputj  sË   € Ø×$×$Ð$Ùà×3×3Ð3Ü"CÀDÓ"IÑà"&×":Ñ":×"NÑ"NÐçäœS¤Ð%8×%=Ñ%=Ó%?Ó!@ÓAÓBˆJð 3F×2KÑ2KÔ2Mô%á2MÑ.�Iô �I“×$Ñ$ ZÓ0´$·-²-ÀÓ2PÒPÙ2Mò%ˆAÐ Ò!ð
 %'ˆAÐ Ñ!à	�‰Ð# TÖ*ùó%s   Â:C*c               ó$   € V ^8„  d   QhRRRRRR/# )r   r“   r*   Údefaultr   r"   r   )r#   s   "r   r$   r”     s"   € ÷ 	ñ 	¸Sð 	È3ð 	Ð_bñ 	r   c                	óÂ   <€ VR 8w  d+   V\         SV `  R 4      9   d   \         SV `  R 4      V,          p \         SV `  V4      #   \         d    T\        J d   h Tu # i ; i)Úattribute_map)r˜   r™   ÚAttributeErrorÚ	_SENTINEL)rt   r“   rÉ   rœ   s   &&&€r   rI   ÚBHeterogeneousConfigMixin._getattr_without_heterogeneous_validation  sd   ø€ Ø�/Ô! c¬U©WÑ-EÀoÓ-VÔ&VÜ‘'Ñ*¨?Ó;¸CÕ@ˆCð	Ü‘7Ñ+¨CÓ0Ð0øÜô 	Øœ)Ó#ØØŠNð	ús   ´A ÁAÁAc               ó    € V ^8„  d   QhRRRR/# )r   r“   r*   r"   r    r   )r#   s   "r   r$   r”   Š  s   € ÷ ñ ¸Sð ÀTñ r   c                	óN   €  V P                  V4       R#   \         d     R # i ; i)FT)rI   rÌ   )rt   r“   s   &&r   rV   ÚBHeterogeneousConfigMixin._hasattr_without_heterogeneous_validationŠ  s.   € ð	Ø×:Ñ:¸3Ô?ñ øô ô 	Úð	ús   ‚ •$£$r   )r   r   r   r   r   r™   Úpropertyr€   r`   Úsetterr   r–   r·   r¾   rÆ   rÍ   rI   rV   r   Ú__classcell__)rœ   s   @r   r‘   r‘     sñ   ø† ñ÷-ð -ð. ô4ó ð4ð ô)ó ð)ð ×Ñô<ó ð<ð ô=ó ð=ð
 ôSó ðSð -×3Ñ3ôIó 4ðIð ôOó ðOð )×/Ñ/ôEó 0ðEõõ+ð* R[÷ 	ò 	÷ó r   r‘   )!Ú
__future__r   r/   Úcollections.abcr   r   Údataclassesr   Útypingr   r   Útransformers.utilsr	   Útransformersr
   Ú
get_loggerr   rš   ÚobjectrÍ   ÚRuntimeErrorr   r   r7   rB   rL   rR   r^   re   rl   rn   r�   r‘   r   r   r   Ú<module>rÞ      s«   ðõ  #ã ß .Ý !ß %å &÷ Ý-ð 
×	Ò	˜HÓ	%€á‹H€	ôX¨Lô Xð ÷,ð ,ó ð,õõ$
õ
õ4 õ-õ`võ@ô"4
˜(Ð#5Õ6ô 4
õn(÷"tó tr   