ó
    Eñi€Z  ã                   óÐ  • % S SK r S SKrS SKrS SKrS SKrS SKrS SKJr  S SKJrJ	r	J
r
JrJr  S SKrS SKJr  S SKJrJr  SSKJr  \(       a  SSKJr  / S	Qr\" S
S9 " S S\
5      5       r0 r\\\\R8                     4   \S'   S r\" 5       \\R>                  '    " S S5      r \RB                  \RD                  \RF                  \RH                  \RJ                  RL                  \ RN                  \RP                  \ " 5       \)" S5      \RT                  \RV                  " S5      \S.r,\-" \5       H  r.\/" \\.5      \,\.'   M     SSS\4S jr0S\Rb                  Rd                  S\R8                  4S jr30 r4\\5\6\64   \R8                  4   \S'   S\Rb                  Rd                  S\R8                  4S jr7\" S
S9S\S\5S   S\\6S 4   4S! j5       r8\" S
S9S3S"\S#\94S$ jj5       r:\" S
S9S% 5       r;\" S
S9S&\S'\4S( j5       r<\" S
S9    S4S\S\5\S)4   S\\\6\4      S*\\5\      S+\\\6\4      S,\9S\4S- jj5       r=\" S
S9    S4S\S\5\S)4   S\\\6\4      S*\\5\      S+\\\6\4      S,\9S\\   4S. jj5       r>\" S
S9  S5S/\R~                  R€                  S\6S\5\   S\\\6\4      S,\9S\\   4S0 jj5       rAS1\R8                  S\5\S)4   S\\6\4   S,\9S\\   4
S2 jrBg)6é    N)ÚCallable)ÚAnyÚcastÚ
NamedTupleÚOptionalÚTYPE_CHECKING)Úboolean_dispatched)Ú
OpOverloadÚOpOverloadPacketé   )Úcompatibility)ÚArgument)ÚArgsKwargsPairÚcheck_for_mutable_operationÚget_signature_for_torch_opÚcreate_type_hintÚtype_matchesÚnormalize_functionÚnormalize_moduleF)Úis_backward_compatiblec                   óB   • \ rS rSr% Sr\\S4   \S'   \\	\4   \S'   Sr
g)r   é    z4
Simple named tuple for wrapping args/kwargs pairs.
.ÚargsÚkwargs© N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__Útupler   Ú__annotations__ÚdictÚstrÚ__static_attributes__r   ó    ÚV/home/mande/repo/quber/.venv/lib/python3.13/site-packages/torch/fx/operator_schemas.pyr   r       s%   ‡ ñð ��S�‰/ÓØ��c�‰NÖr&   r   Ú_manual_overridesc                  óº   • / n S nU R                  [        R                  " U5      5        S[        4S jnU R                  [        R                  " U5      5        U $ )Nc                 ó   • g ©Nr   )Úselfs    r'   ÚnonzeroÚ!_nonzero_schemas.<locals>.nonzero0   ó   € Ør&   Úas_tuplec                ó   • g r+   r   )r,   r0   s     r'   r-   r.   5   r/   r&   )ÚappendÚinspectÚ	signatureÚbool)Ú
signaturesr-   s     r'   Ú_nonzero_schemasr7   -   sT   € Ø€Jòð ×Ñ”g×'Ò'¨Ó0Ô1ð¤4ô ð ×Ñ”g×'Ò'¨Ó0Ô1àÐr&   c                   ó   • \ rS rSrS rSrg)Ú_FakeGlobalNamespaceé@   c                 ó0   • US:X  a  [         $ [        S5      e)NÚtorchz!Expected a torch namespace lookup)r<   ÚRuntimeError)r,   Únames     r'   Ú__getattr__Ú _FakeGlobalNamespace.__getattr__A   s   € Ø�7‹?ÜˆLÜÐ>Ó?Ð?r&   r   N)r   r   r   r   r?   r%   r   r&   r'   r9   r9   @   s   † õ@r&   r9   Út)ÚTensorÚDeviceÚLayoutÚnumberÚFutureÚAnyEnumTypeÚQSchemeÚ	__torch__ÚNoneTypeÚStoragerA   ÚPyObjectÚts_typeztorch._C.JitTypeÚreturnc                 ó6   • [        U R                  [        5      $ )z×
Convert a TorchScript type to a Python type (including subtypes) via
eval'ing the annotation_str. _type_eval_globals sets up expressions
like "List" and "Future" to map to actual types (typing.List and jit.Future)
)ÚevalÚannotation_strÚ_type_eval_globals)rM   s    r'   Ú _torchscript_type_to_python_typerS   Y   s   € ô �×&Ñ&Ô(:Ó;Ð;r&   Ú	ts_schemac           
      óØ  • SSK Jn  / nU R                   GHX  n[        UR                  5      nUR                  5       (       a  UR                  OUR                  nUR                  S:w  a  UR                  OSnUR                  (       a  UR                  OUR                  nUS:X  a¯  XqR                  :w  a  [        SU 35      eUR                  n[        U5       Hw  u  p‰U	R                  UR                  :w  a%  [        SU	R                   SU	R                   35      eU" U	R                  UR                  U	R                   U	R"                  S	9X('   My     UR%                  U" XgXTS	95        GM[     U R&                   V
s/ s H  n
[        U
R                  5      PM     nn
[)        U5      S:X  a  S nO [)        U5      S
:X  a  US   nO[+        U5      n[         R,                  " X,S9$ s  sn
f )Nr   )Ú	Parameterr,   ÚinputÚfromz$Expected POSITIONAL_OR_KEYWORD, got z)Expected POSITIONAL_OR_KEYWORD for param z, got )r>   ÚkindÚdefaultÚ
annotationr   )Úreturn_annotation)r3   rV   Ú	argumentsrS   ÚtypeÚhas_default_valueÚdefault_valueÚemptyr>   Ú
kwarg_onlyÚKEYWORD_ONLYÚPOSITIONAL_OR_KEYWORDÚAssertionErrorÚPOSITIONAL_ONLYÚ	enumeraterY   rZ   r[   r2   ÚreturnsÚlenr!   Ú	Signature)rT   rV   Ú
parametersÚargÚarg_typerZ   r>   rY   ÚidxÚpÚretÚreturn_typesÚreturn_types                r'   Ú%_torchscript_schema_to_signature_implrs   b   sÈ  € õ "à"$€JØ×"Õ"ˆÜ3°C·H±HÓ=ˆØ'*×'<Ñ'<×'>Ñ'>�#×#Ò#ÀIÇOÁOˆð Ÿ8™8 vÓ-ˆs�xŠx°7ˆð �~�~ð ×"Ò"à×0Ñ0ð 	ð �6‹>Ø×6Ñ6Ó6Ü$Ð'KÈDÈ6Ð%RÓSÐSð ×,Ñ,ˆDô $ JÖ/‘�Ø—6‘6˜Y×<Ñ<Ó<Ü(ØCÀAÇFÁFÀ8È6ÐRS×RXÑRXÐQYÐZóð ñ #,ØŸ™Ø"×2Ñ2ØŸI™IØ Ÿ|™|ñ	#�
“ñ 0ð 	×ÑÙ˜4°GÑQ÷	
ñG #ðN ?H×>OÒ>OóÚ>O°sÔ(¨¯©Ö2Ñ>Oð ð ô ˆ<Ó˜AÓØ‰Ü	ˆ\Ó	˜aÓ	Ø" 1‘o‰ä˜LÓ)ˆä×Ò˜ZÑGÐGùòs   Æ G'Ú_SCHEMA_TO_SIGNATURE_CACHEc                 ó’   • U R                   U R                  4n[        R                  U5      nUb  U$ [	        U 5      nU[        U'   U$ r+   )r>   Úoverload_namert   Úgetrs   )rT   Ú	cache_keyÚ	cache_valÚress       r'   Ú _torchscript_schema_to_signaturer{   ž   sN   € ð —‘ 	× 7Ñ 7Ð7€IÜ*×.Ñ.¨yÓ9€IØÑØÐä
/°	Ó
:€CØ,/Ô˜yÑ)Ø€Jr&   Útargetr   )r   .r   r   c                 ó8  • [        U SS9u  p4U(       av  U(       an  / n[        X45       H*  u  pg UR                  " U0 UD6  UR                  Xg45        M,     S n[        U5      S:X  a  g [        U5      S:X  a  US   u  pšU" U
5        g g g g ! [         a     Mp  f = f)NT)Úreturn_schemasc                 óD   • U R                   (       a  [        SU  S35      eg )Nz!Tried to trace mutable operation z|. FX only supports functional code, so operations that mutate operands in-place (e.g. via `out` arguments) are not supported)Ú
is_mutabler=   )Úschemas    r'   Úthrow_if_mutableÚ5check_for_mutable_operation.<locals>.throw_if_mutable¿   s/   € Ø× × Ü"Ø7¸°xð @(ð )óð ð !r&   r   r   )r   ÚzipÚbindr2   Ú	TypeErrorri   )r|   r   r   r6   ÚschemasÚmatched_schemasÚcandidate_signaturer�   r‚   Ú_Úschema_to_checks              r'   r   r   ¬   s¶   € ô 5°VÈDÑQÑ€Jæ–gØˆô
 ,/¨zÖ+CÑ'ÐðØ#×(Ò(¨$Ð9°&Ò9Ø×&Ñ&Ð(;Ð'DÖEñ ,Dò	ô ˆÓ 1Ó$àÜ�Ó! QÓ&à!0°Ñ!3ÑˆAÙ˜_Õ-ð ð? €zøô ó Úðús   ®$BÂ
BÂBÚopr~   c                 ó:  • [        U [        5      (       a  U R                  /nOÈ[        U [        5      (       a4  U R	                  5        Vs/ s H  n[        X5      R                  PM     nnO[        R                  U 5      nU(       a  U(       a  US4$ S$ [        R                  R                  R                  U 5      nUc  U(       a  S$ S$ [        R                  R                  U5      nU Vs/ s H  n[        U5      PM     nnU(       a  Xr4$ U$ s  snf s  snf )aX  
Given an operator on the `torch` namespace, return a list of `inspect.Signature`
objects corresponding to the overloads of that op.. May return `None` if a signature
could not be retrieved.

Args:
    op (Callable): An operator on the `torch` namespace to look up a signature for

Returns:
    Optional[List[inspect.Signature]]: A list of signatures for the overloads of this
        operator, or None if the operator signatures could not be retrieved. If
        return_schemas=True, returns a tuple containing the optional Python signatures
        and the optional TorchScript Function signature
N)NN)Ú
isinstancer
   Ú_schemar   Ú	overloadsÚgetattrr(   rw   r<   ÚjitÚ	_builtinsÚ_find_builtinÚ_CÚ_jit_get_schemas_for_operatorr{   )rŒ   r~   r‡   ÚoverloadÚoverrideÚaten_fnr�   r6   s           r'   r   r   Ô   sì   € ô  �"”j×!Ñ!Ø—:‘:�,‰Ü	�BÔ(×	)Ñ	)ØACÇÁÄÓPÂ°X”7˜2Ó(×0Ô0ÁˆÐPˆä$×(Ñ(¨Ó,ˆÞÞ'5�H˜dÐ#Ð?¸4Ð?ä—)‘)×%Ñ%×3Ñ3°BÓ7ˆà‰?Þ#1�<Ð;°tÐ;Ü—(‘(×8Ñ8¸ÓAˆáIPÓQÊ¸vÔ2°6Ö:É€JÐQÞ$2ˆJÐ ÐB¸
ÐBùò Qùò Rs   ÁDÃ0Dc                 ó’  •  [        U [        [        45      (       a  [        U [        5      (       a  S nOS n[        U 5      S:X  a  U" [        5      $ U S   nU  H5  n[        X25      (       a  M  [        X#5      (       a  UnM)  U" [        5      s  $    U" U5      $  U $ ! [         a    [        R                  " SU  35         U $ f = f)a¯  
Produces a type hint for the given argument.

The :func:`create_type_hint` looks for a type hint compatible with the input argument `x`.

If `x` is a `list` or `tuple`, it looks for an object in the list whose type is a superclass
of the rest, and uses that as `base_type` for the `List` or `Tuple` to be returned.
If no such object is found, it defaults to `List[Any]`.

If `x` is neither a `list` nor a `tuple`, it returns `x`.
c                 ó   • [         U    $ r+   )Úlist©Úxs    r'   Úret_typeÚ"create_type_hint.<locals>.ret_type	  s   € Ü ™7�Nr&   c                 ó   • [         U S4   $ )N.)r!   r�   s    r'   rŸ   r      s   € Ü   C ™=Ð(r&   r   z@We were not able to successfully create type hint from the type )	rŽ   rœ   r!   ri   r   Ú
issubclassÚ	ExceptionÚwarningsÚwarn)rž   rŸ   Ú	base_typerA   s       r'   r   r   ÷   sÈ   € ð
Ü�aœ$¤˜×'Ñ'ä˜!œT×"Ñ"ó#ò
)ô �1‹v˜‹{Ù¤“}Ð$Ø˜!™ˆIÛ�Ü˜a×+Ñ+ÙÜ 	×-Ñ-Ø !’Iá#¤C›=Ò(ñ ñ ˜IÓ&Ð&ð- (ð8 €Høô ó 
ä�ŠØNÈqÈcÐRõ	
ð €Hð
ús   ‚AB Á=B Â	B Â#CÃCÚsignature_typeÚargument_typec                 óö  ^^• [        U SU 5      nU TL a  gU[        R                  L a'  U T:w  a!  U R                  n[	        U4S jU 5       5      $ [        U SS 5      [
        L a“  U R                  S   mT[        L a
  T[        L a  g[        R                  " T5      (       d  [        R                  " SU  S35        g[        TSS 5      [
        L a  [        TR                  S   T5      $ U4S jnU" T5      $ U [        L a  T[        R                  L a  gU [        R                  L a  T[        [         1;   a  g[        R                  " T5      (       a'  [        R                  " U 5      (       a  [        TU 5      $ g)	NÚ
__origin__Tc              3   ó<   >#   • U  H  n[        UT5      v •  M     g 7fr+   )r   )Ú.0Úcr¨   s     €r'   Ú	<genexpr>Útype_matches.<locals>.<genexpr>/  s   øé € ÐIº=°a”<  =×1Ð1º=ùs   ƒr   z.Does not support nested parametric types, got z. Please file a bug.Fc                 ó’   >• [        U SS 5      [        La  gU R                  nU R                  S:X  a  g[        U4S jU 5       5      $ )Nrª   F)r   Tc              3   óX   >#   • U  H  o[         L =(       d    [        UT5      v •  M!     g 7fr+   )ÚEllipsisr¢   )r¬   r­   Úsig_el_types     €r'   r®   Ú=type_matches.<locals>.is_homogeneous_tuple.<locals>.<genexpr>F  s"   øé € ÐXÊiÈœX˜×D¬*°Q¸Ó*DÔDÊiùs   ƒ'*)r‘   r!   Ú__args__Úall)rA   Ú	containedr³   s     €r'   Úis_homogeneous_tupleÚ*type_matches.<locals>.is_homogeneous_tuple@  s@   ø€ Ü�q˜,¨Ó-´UÒ:ØØŸ
™
ˆIØ�z‰z˜UÓ"ØÜÔXÉiÓXÓXÐXr&   )r‘   ÚtypingÚUnionrµ   Úanyrœ   Úintr3   Úisclassr¤   r¥   r¢   r<   ÚdtypeÚnumbersÚNumberÚfloat)r§   r¨   Úsig_origin_typeÚsig_containedr¸   r³   s    `   @r'   r   r   $  sK  ù€ ä˜n¨l¸NÓK€Oà˜Ò&Øð œ&Ÿ,™,Ò&¨>¸]Ó+JØ&×/Ñ/ˆÜÔI¹=ÓIÓIÐIäˆ~˜|¨TÓ2´dÒ:Ø$×-Ñ-¨aÑ0ˆð œCÒ K´3Ò$6Øä�Š˜{×+Ñ+Ü�MŠMØ@ÀÐ@PÐPdÐeôð Ü�= ,°Ó5¼Ò=Ü˜m×4Ñ4°QÑ7¸ÓEÐEõ	Yñ $ MÓ2Ð2ð œÒ ´%·+±+Ò!=ØàœŸ™Ò'¨M¼cÄ5¸\Ó,IØÜ‡‚�}×%Ñ%¬'¯/ª/¸.×*IÑ*IÜ˜-¨Ó8Ð8àr&   .Ú	arg_typesÚkwarg_typesÚnormalize_to_only_use_kwargsc                 óN   • [        XX#XE5      nUc  [        SU  SU SU 35      eU$ )zV
Wrapper around normalize_function that never returns None, but
loudly errors instead
zFailed to normalize function z with args z and kwargs )r   r=   )r|   r   r   rÅ   rÆ   rÇ   rz   s          r'   Ú_normalize_function_or_errorrÉ   W  sH   € ô Ø�f¨ó€Cð �{ÜØ+¨F¨8°;¸t¸fÀLÐQWÐPXÐYó
ð 	
ð ˆ
r&   c                 ól  • Uc  0 nSn[        U [        R                  5      (       d8  [        U [        [        45      (       d  [        U S5      (       a  U R                  n [        U [        R                  5      (       dý  [        U [        [        45      (       dâ  U nU [        ;   aw  [        U [        5      (       a  [        S5      e[        U    nUS   US   p©[        R                  " U	5      R                  [        R                  " U
5      R                  :w  a  gU	n[        U5      (       d  [        S[        U5       35      e[        R                  " [        R                  " U5      5      n[!        X±X%5      nU$ [        U 5      (       d  [        S[        U 5       35      e[#        U 5      n/ nU(       GaY  U H'  n UR$                  " U0 UD6  UR'                  U5        M)     [+        U5      S:X  a   U$ [+        U5      S	:X  a  [!        US   XU5      nU$ Uc  Ub¶  U(       a  UO[-        [.        [0           S
5      nU(       a  UO0 nU H‚  nSn UR$                  " U0 UD6nUR2                  R5                  5        H4  u  nnUR                  U   nU=(       a    [7        UR8                  U5      nM6     U(       d  Ms  [!        UUUU5      n  U$     U$ SR;                  S U 5       5      n[=        S[>        R@                  " U 5       SU 35      eU$ ! [(         a     GMg  f = f! [(         a    Sn N~f = f)a¬  
Returns normalized arguments to PyTorch functions. This means that
`args/kwargs` will be matched up to the functional's
signature and return exclusively kwargs in positional order if
`normalize_to_only_use_kwargs` is True.
Also populates default values. Does not support positional-only
parameters or varargs parameters (*args, **kwargs). Does not support modules.

May require `arg_types` and `kwarg_types` in order to disambiguate overloads.

Args:
    target (Callable): Function that we are normalizing
    args (Tuple[Any]): Tuple of args to the function
    kwargs (Optional[Dict[str, Any]]): Dict of kwargs to the function
    arg_types (Optional[Tuple[Any]]): Tuple of arg types for the args
    kwarg_types (Optional[Dict[str, Any]]): Dict of arg types for the kwargs
    normalize_to_only_use_kwargs (bool): Whether to normalize to only use kwargs.

Returns:

    Returns normalized_args_and_kwargs, or `None` if not successful.
NÚ_opz"target should not be a string hereÚif_trueÚif_falsez*target_for_analysis must be callable, got ztarget must be callable, got r   r   r   TFÚ
c              3   ó8   #   • U  H  n[        U5      v •  M     g 7fr+   )r$   )r¬   r�   s     r'   r®   Ú%normalize_function.<locals>.<genexpr>ï  s   é € ð 1Ú2A¨œ˜FŸ˜²/ùs   ‚z Tried to normalize arguments to zy but the schema match was ambiguous! Please provide argument types to the normalize_arguments() call. Available schemas:
)!rŽ   ÚtypesÚBuiltinFunctionTyper   r
   ÚhasattrrË   r	   r$   re   r3   r4   rk   Úcallabler^   ÚunwrapÚ&_args_kwargs_to_normalized_args_kwargsr   r…   r2   r†   ri   r   r!   r   r]   Úitemsr   r[   Újoinr=   r<   Útypename)r|   r   r   rÅ   rÆ   rÇ   Únew_args_and_kwargsÚtarget_for_analysisÚ
dispatchedrÌ   rÍ   ÚsigÚtorch_op_schemasrˆ   r‰   Úsig_matchesÚbound_typesÚarg_namerm   ÚparamÚschema_printoutss                        r'   r   r   o  sr  € ð> �~ØˆØÐä�vœu×8Ñ8×9Ñ9Ü˜FÔ%5´zÐ$B×CÑCÜ�F˜E×"Ñ"ð —‘ˆô �fœe×7Ñ7×8Ñ8Ü�6Ô,¬jÐ9×:Ñ:à$ÐØÔ'Ó'ô
 ˜&¤#×&Ñ&Ü$Ð%IÓJÐJÜ+¨FÑ3ˆJØ *¨9Ñ 5°zÀ*Ñ7M�Xä×!Ò! 'Ó*×5Ñ5Ü×$Ò$ XÓ.×9Ñ9ó:ð Ø")ÐäÐ+×,Ñ,Ü Ø<¼TÐBUÓ=VÐ<WÐXóð ô ×Ò¤§¢Ð/BÓ CÓDˆÜDØ�vó
ÐðD Ðô} ˜×ÑÜ Ð#@ÄÀfÃÀÐ!OÓPÐPÜ5°fÓ=ÐØˆßó (8Ð#ðØ'×,Ò,¨dÐ=°fÒ=Ø#×*Ñ*Ð+>Ö?ñ (8ô �?Ó# qÓ(àðZ ÐôY �_Ó%¨Ó*ä&LØ# AÑ&¨Ð6Ró'Ð#ðT ÐðM Ñ(¨KÑ,CÞ-6¡	¼DÄÄsÁÈRÓ<P�IÞ1<¡+À"�KÛ/?Ð+Ø&*˜ð
0Ø*=×*BÒ*BØ!*ð+Ø.9ñ+˜Kð 7B×6KÑ6K×6QÑ6QÖ6SÑ 2 ¨(Ø(;×(FÑ(FÀxÑ(P Ø.9÷ /"¼lØ$)×$4Ñ$4°hó?"¢ñ 7T÷ '˜;ä FØ$7Ø$(Ø$*Ø$@ó	!"ð 0ð "ð ÐòG 0@ðF Ðð (,§y¡yñ 1Ù2Aó1ó (Ð$ô 'Ø:¼5¿>º>È&Ó;QÐ:Rð SOàO_ÐN`ðbóð ð Ðøôe !ó Ûðûô4  )ó 0Ø*/šKð0ús%   Æ=#LÉA$L$Ì
L!Ì L!Ì$L3Ì2L3Úrootc                 ó®  •  U R                  U5      n[        UR                  S5      (       a†  UR                  R
                  n[        [        R                  US5      UR                  :X  aG  [        R                  " [        R                  " UR                  5      5      nUc  0 n[        X‚X45      n	U	$ g! [         a  n[        SU S35      UeSnAff = f)aì  
Returns normalized arguments to PyTorch modules. This means that
`args/kwargs` will be matched up to the functional's
signature and return exclusively kwargs in positional order if
`normalize_to_only_use_kwargs` is True.
Also populates default values. Does not support positional-only
parameters or varargs parameters (*args, **kwargs).

Args:
    root (nn.Module): root module upon which we query modules
    target (Callable): Function that we are normalizing
    args (Tuple[Any]): Tuple of args to the function
    kwargs (Optional[Dict[str, Any]]): Dict of kwargs to the function
    normalize_to_only_use_kwargs (bool): Whether to normalize to only use kwargs.

Returns:

    Returns normalized_args_and_kwargs, or `None` if not successful.
z$Tried to normalize node with target z# but root did not have that target!Nr   )Úget_submoduleÚAttributeErrorr=   rÓ   Ú	__class__r   r‘   r<   Únnr3   r4   rÕ   ÚforwardrÖ   )
rä   r|   r   r   rÇ   ÚsubmodÚeÚ	classnamerÝ   rÚ   s
             r'   r   r   û  sÏ   € ð6Ø×#Ñ# FÓ+ˆô ˆv×Ñ ×,Ñ,Ø×$Ñ$×-Ñ-ˆ	Ü”5—8‘8˜Y¨Ó-°×1AÑ1AÓAÜ×#Ò#¤G§N¢N°6·>±>Ó$BÓCˆCØ‰~Ø�Ü"HØ˜6ó#Ðð 'Ð&Øøô ó ÜØ2°6°(ð ; ð !ó
ð ð	ûðús   ‚B5 Â5
CÂ?CÃCrÝ   c                 ód  ^	• [         R                  R                  [         R                  R                  1m	[	        U	4S jU R
                  R                  5        5       5      (       a*  [        U R
                  R                  5       5      / SQ:w  a  gU R                  " U0 UD6nUR                  5         0 n/ n[        U R
                  5       HL  u  pxU(       d/  U[        U5      :  a   UR                  UR                  U   5        M;  UR                  U   XX'   MN     [        [!        U5      U5      $ )aU  
Given a call target, args, and kwargs, return the arguments normalized into
an ArgsKwargsPair, or None if the type signature is not supported by
this normalization.

Args:

    sig (inspect.Signature): Signature object for the target
    args (Tuple): Arguments that appear at the callsite for `target`
    kwargs (Dict): Keyword arguments that appear at the callsite for `target`
    normalize_to_only_use_kwargs (bool): Whether to normalize to only use kwargs.

Returns:

    Optional[ArgsKwargsPair]: Normalized args and kwargs for `target`, or `None` if
        this target is not supported.
c              3   ó@   >#   • U  H  oR                   T;  v •  M     g 7fr+   )rY   )r¬   ro   Úsupported_parameter_typess     €r'   r®   Ú9_args_kwargs_to_normalized_args_kwargs.<locals>.<genexpr>H  s   øé € Ð
TÒ<S°q�6‰6Ð2Ö2Ò<Sùs   ƒ)rW   rX   ÚtoÚ	generatorN)r3   rV   rd   rc   r¼   rk   Úvaluesrœ   Úkeysr…   Úapply_defaultsrg   ri   r2   r]   r   r!   )
rÝ   r   r   rÇ   Ú
bound_argsÚ
new_kwargsÚnew_argsÚirâ   rð   s
            @r'   rÖ   rÖ   *  só   ø€ ô6 	×Ñ×/Ñ/Ü×Ñ×&Ñ&ð!Ðô Ô
T¸C¿N¹N×<QÑ<QÔ<SÓ
T×TÑTô
 �—‘×#Ñ#Ó%Ó&Ò*NÓNØà—’˜4Ð* 6Ñ*€JØ×ÑÔà!#€JØ€HÜ˜cŸn™nÖ-‰ˆÞ+°´C¸³I³Ø�O‰O˜J×0Ñ0°Ñ7Ö8à *× 4Ñ 4°UÑ ;ˆJÓñ	 .ô œ% ›/¨:Ó6Ð6r&   )F)NNNF)NF)CÚenumr3   rÀ   rÑ   rº   r¤   Úcollections.abcr   r   r   r   r   r   r<   Útorch._jit_internalr	   Ú
torch._opsr
   r   Ú_compatibilityr   Únoder   Ú__all__r   r(   r#   rœ   rj   r"   r7   r-   r9   rB   ÚdeviceÚlayoutrÁ   r’   rF   ÚEnumÚqschemer^   ÚUntypedStorageÚTypeVarrR   ÚdirÚkr‘   rS   r•   ÚFunctionSchemars   rt   r!   r$   r{   r   r5   r   r   r   rÉ   r   ré   ÚModuler   rÖ   r   r&   r'   Ú<module>r     s_  ðä Û Û Û Û Û Ý $ß AÕ Aã Ý 2ß 3å )ö Ýò€ñ  eÑ,ô�Zó ó -ðð >@Ð �4˜ $ w×'8Ñ'8Ñ"9Ð9Ñ:Ó ?òñ  $4Ó#5Ð �%—-‘-Ñ  ÷@ñ @ð �l‰lØ�l‰lØ�l‰lØ�n‰nØ�i‰i×ÑØ—9‘9Ø�}‰}Ù%Ó'Ù�T“
Ø×#Ñ#Ø	�Š˜Ó	ØñÐ ñ 
ˆVŽ€AÙ# F¨AÓ.Ð�qÓñ 
ð<Ð.@ð <ÀSô <ð6HØ�x‰x×&Ñ&ð6Hà×Ñô6Hðr HJÐ ˜D  s¨C x¡°'×2CÑ2CÐ!CÑDÓ IðØ�x‰x×&Ñ&ðà×Ñôñ  eÑ,ð$Øð$Ø! /Ñ2ð$Ø<@ÀÀjÀÑ<Qó$ó -ð$ñN  eÑ,ñC 8ð C¸Tô Có -ðCñD  eÑ,ñ)ó -ð)ñX  eÑ,ð/ ð /°Só /ó -ð/ñd  eÑ,ð (,Ø&*Ø,0Ø).ñØðà
��S�‰/ðð �T˜#˜s˜(‘^Ñ$ðð ˜˜c™
Ñ#ð	ð
 ˜$˜s C˜x™.Ñ)ðð #'ðð ôó -ðñ.  eÑ,ð (,Ø&*Ø,0Ø).ñHØðHà
��S�‰/ðHð �T˜#˜s˜(‘^Ñ$ðHð ˜˜c™
Ñ#ð	Hð
 ˜$˜s C˜x™.Ñ)ðHð #'ðHð ˆnÑôHó -ðHñV  eÑ,ð
 (,Ø).ñ+Ø
�(‰(�/‰/ð+àð+ð �‰*ð+ð �T˜#˜s˜(‘^Ñ$ð	+ð
 #'ð+ð ˆnÑô+ó -ð+ð\17Ø	×	Ñ	ð17à
��S�‰/ð17ð ��c�‰Nð17ð #'ð	17ð
 ˆnÑõ17r&   