
    3jy                    I   % S SK r S SKrS SKJr  S SKJr  S SKJrJr  S SK	J
r
Jr  S SK	r	S SKrS SKJs  Jr  S SKJr  S SKJr  S SKJr  S S	KJrJrJr  S S
KJrJrJrJrJ r J!r!J"r"J#r#  S SK$J%r%  S SK&J'r'J(r(J)r)J*r*J+r+J,r,J-r-J.r.J/r/J0r0J1r1J2r2J3r3J4r4  S SK5J6r6J7r7J8r8J9r9J:r:J;r;J<r<  S SK=J>r>  S SK?r?\ R                  R                  \ R                  R                  R                  R                  \ R                  R                  R                  R                  \ R                  R                  R                  R                  \ R                  R                  R                  R                  /rE\F\>   \GS'   \ R                  R                  \ R                  R                  \ R                  R                  \ R                  R                  R                  R                  \ R                  R                  R                  R                  1rL\M\N   \GS'   / \
R                  " \E V Vs/ s H&  n U R                   Vs/ s H  n\Q" X5      PM     snPM(     snn 5      QrR\F\N   \GS'   \R Vs/ s H  o"\L;  d  M
  UPM     snrR0 rS\T\N\U4   \GS'   \E H]  rV\VR                   HJ  rW\Q" \V\W5      rX\VR                  R                  SS5      R                  SS5      r[\X\S;  d  M@  \[ S\W 3\S\X'   ML     M_     \" SS5      r\ " S S\5      r@S r] " S S5      r^ " S S5      r_ " S  S!\5      r` " S" S#5      ra " S$ S%5      rbS& rcS' rdS( reS) rfS* rgS+ rhS, riS- rjS. rkS/ rlS0 rmS1 rnS2 roS3 rpS4 rqS5 rrS6 rsS7 rtS8 ruS9 rvS: rwS; rxS< ryS= rzS> r{S? r|S@ r}SA r~SB rSC rSD rSE rSF rSG rSH rSI rSJ rSK rSL rSM rSN rSO rSP rSQ rSR rSS rST rSU rSV rSW rSX rSY rSZ rS[ rS\ rS] rS^ rS_ rS` rSa rSb rSc rSd rSe rSf rSg rSh rSi rSj rSk rSl rSm rSn rSo rSp rSq rSr rSs rSt rSu rSv rSw rSx rSy rSz rS{ rS| rS} rS~ rS rS rS rS rS rSS jrS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS r\%" \GR                  SS\=(       a    \9(       + SS9\%" \GR                  SS\=(       a    \9(       + SS9\%" \GR                  SS\=(       a    \9(       + SS9\%" \GR                  SS\=(       a    \9\ GR                  4SS94rS rS rS rS rS rS rS r\ GR                  GR                  GR                  5       =(       a)    \ GR                  GR                  GR                  SS 5      r/ \b" \ R                  GR                  \s\%" \#5      4S9P\b" \ R                  GR                  \8\t\%" \#5      \%" \GR                  SS\?GR                  " S5      S94S9P\b" \ R                  GR                  \8\u\%" \GR                  " S5      SS5      \%" \#5      4S9P\b" \ R                  GR                  \vS9P\b" \ R                  GR                  \8\wS9P\b" \ R                  GR                  \8\x\%" \GR                  " S5      SS5      \%" \#5      4S9P\b" \ R                  GR                  \pS9P\b" \ R                  GR                  \q\%" \GR                  SS\?GR                  " S5      SS94S9P\b" \ R                  GR                  \r\8\%" \GR                  " S5      SS5      \%" \#SS5      4S9P\b" \ R                  GR                  S\y\|\%" \GR                  SS\?GR                  " S5      S9\%" \GR                  SS\?GR                  " S5      S94S9P\b" \ R                  GR                  S\z\|\%" \SS\?GR                  " S5      S9\%" \GR                  SS\?GR                  " S5      S9\%" \GR                  SS\?GR                  " S5      S94S9P\b" \ R                  GR                  S\{\|\%" \#5      \%" \GR                  SS\?GR                  " S5      S9\%" \GR                  SS\?GR                  " S5      S94S9P\b" \ R                  GR                  \\%" \GR                  SSS\ GR                  /S94S9P\b" \ R                  GR                  \" \}SSS9\8S\%" \!" \ GR                  S05      SS5      4S9P\b" \ R                  GR                  \" \}SSS9\8S\%" \GR                  SSS\ GR                  /S94\%" \!" \ GR                  S05      SS5      4S9P\b" \ R                  GR                  \" \}SSS9\8S\%" \#SS9\%" \GR                  SS5      4\%" \!" \ GR                  S05      SS5      4S9P\b" \ R                  GR                  \" \}SSSS9\8S\" \ GR                  5      \%" \GR                  SS\ GR                  4SS94\%" \!" \ GR                  S05      SS5      \%" \!" \ GR                  S05      SS5      4S9P\b" \ R                  GR                  \" \}SSSS9\8S\" \ GR                  5      \%" \GR                  SS\ GR                  \ GR                  \ GR                  4S9\%" \GR                  SSS\ GR                  \ GR                  /S9\%" \GR                  SS\ GR                  4SS9\%" \<SS\ GR                  4SS94\%" \!" \ GR                  S05      SS5      \%" \!" \ GR                  S05      SS5      4S9P\b" \ R                  GR                  \" \}SSSS9\" \ GR                  5      \8S\%" \#5      \%" \GR                  SS5      \%" \GR                  SS\ GR                  4SS9\%" \<SS\ GR                  4SS94\%" \!" \ GR                  S05      SS5      \%" \!" \ GR                  S05      SS5      \%" \!" \ GR                  S05      SS5      4S9P\b" \ R                  GR                  \~\%" \GR                  " S5      SS5      4S9P\b" \ R                  GR                  \\%" \GR                  SSS\ GR                  /S94S9P\b" \ R                  GR                  \\8\%" \#5      \%" \GR                  " S5      SS5      4S9P\b" \ R                  GR                   \\8\%" \#5      \%" \GR                  " S5      SS5      4S9P\b" \ R                  GR                  \\%" \GR                  " S5      SS5      4S9P\b" \ R                  GR                  \\%" \GR                  " S5      SS5      \%" \7SS\ GR                  /SS94S9P\b" \ R                  GR                  \" \}SSS9\8S\%" \"5      4\%" \!" \ GR                  S05      SS5      4S9P\b" \ R                  GR                  \" \}SSS9\8S\%" \"5      \%" \GR                  SSS\ GR                  /S94\%" \!" \ GR                  S05      SS5      4S9P\b" \ R                  GR
                  \" \}SSS9\8S\%" \"5      \%" \#5      \%" \GR                  SS5      4\%" \!" \ GR                  S05      SS5      4S9P\b" \ R                  GR                  \" \}SSSS9\8S\%" \"5      4\%" \!" \ GR                  S05      SS5      4S9P\b" \ R                  GR                  \" \}SSSS9\8S\%" \"5      \%" \GR                  SSS\ GR                  /S94\%" \!" \ GR                  S05      SS5      4S9P\b" \ R                  GR                  \" \}SSSS9\8S\%" \"5      \%" \#5      \%" \GR                  SS5      4\%" \!" \ GR                  S05      SS5      4S9P\b" \ R                  GR                  \c\%" \GR                  " S5      SS5      4S9P\b" \ R                  GR                  \d\%" \" \ GR                  \ " SSS9\ GR                  \ " SSS905      SSSS9/\%" \GR                  " S5      SS5      \%" \GR                  SSS\ GR                  /S94S9P\b" \ R                  GR                  \\%" \GR                  " S5      SS5      \%" \GR                  " S5      SS5      4S9P\b" \ R                  GR                  \\%" \GR                  " S5      SS5      \%" \GR                  " S5      SS5      \%" \GR                  SS\?GR                  " S5      =(       a    \(       + SS94S9P\b" \ R                  GR                  \\%" \GR                  " S5      SS5      \%" \GR                  " S5      SS5      \%" \GR                  " S5      SS5      \%" \7SS94S9P\b" \ R                  GR                  \S9P\b" \ R                  R                  \\S9P\b" \ R                  GR                  \\8S9P\b" \ R                  GR                   \e\%" \GR                  " S5      SS5      \%" \GR                  " S5      SS5      \%" \GR                  " S5      SS5      \%" \GR                  " S5      SS5      4S9P\b" \ R                  GR"                  \i\%" \GR                  " S5      SS5      \%" \GR                  SSS\ GR                  /S94S9P\b" \ R                  GR$                  \\%" \GR                  " S5      SS5      4S9P\b" \ R                  GR&                  \\%" \GR                  " S5      SS5      \%" \7SSS9\%" \GR                  " S5      SS5      4S9P\b" \ R                  GR(                  \\\%" \GR                  " S5      SS5      \%" \7SSS9\%" \GR                  " S5      SS5      4S9P\b" \ R                  GR*                  \\%" \GR                  " S5      SS5      \%" \GR                  SSS\ GR                  /S94S9P\b" \ R                  GR,                  \\%" \GR                  " S5      SS5      4S9P\b" \ R                  GR.                  \f\\%" \GR                  " S5      SS5      \%" \GR                  SSS\ GR                  /S94S9P\b" \ R                  GR0                  \g\%" \GR                  " S5      SS5      4S9P\b" \ R                  GR2                  \h\%" \GR                  " S5      SS5      4S9P\b" \ R                  GR4                  \\%" \GR                  " S5      SS5      4S9P\b" \ R                  GR6                  \\%" \GR                  " S5      SS5      \%" \GR                  SSS\ GR                  /S94S9P\b" \ R                  GR8                  \\%" \GR                  " S5      SS5      \%" \7S\ GR                  /SS94S9P\b" \ R                  GR:                  \\%" \GR                  " S5      SS5      \%" \7S\ GR                  /SS94S9P\b" \ R                  GR<                  \\\" SSS9\%" \GR                  SS5      \%" \" \ GR                  \ " SSS905      SS\ GR                  /SS9\%" \GR                  SS\ GR                  /SS9\%" \GR                  SS\ GR                  /SS94S9P\b" \ R                  GR>                  \\%" \GR                  " S5      SS5      \%" \7SSS9\%" \GR                  " S5      SS5      \%" \GR                  " S5      SS5      \%" \GR                  " S5      SS5      4S9P\b" \ R                  GR@                  \\%" \GR                  SSS\ GR                  /S94S9P\b" \ R                  GRB                  \S9P\b" \ R                  GRD                  \\\" SSS9\%" \GR                  " S5      SS5      \%" \" \ GR                  \ " SSS905      SSSS9\%" \GR                  " S5      SSSS9\%" \GR                  " S5      SSSS9\%" \GR                  " S5      SSSS9\%" \GR                  " S5      SS\9SS94S9P\b" \ R                  GRF                  \S9P\b" \ R                  GRH                  \SS9P\b" \ R                  GRJ                  \S9P\b" \ R                  GRL                  \" \SS9S\%" \GR                  " S5      SS5      4S9P\b" \ R                  GRN                  \" \SS9S\%" \GR                  " S5      SS5      4S9P\b" \ R                  GRP                  \" \SS9S\%" \SS5      \%" \SS5      \%" \SS5      \%" \SS5      \%" \SS5      \%" \GR                  " S5      SS5      4S9P\b" \ R                  GRR                  \S9P\b" \ R                  GRT                  \\%" \GR                  " S5      SS5      4S9P\b" \ R                  GRV                  \S9P\b" \ R                  GRX                  S\\%" \GR                  " S5      SSSS9/\%" \GR                  " S5      SS5      \%" \GR                  SS5      4S9P\b" \ R                  GRZ                  S\\%" \" \ GR                  \ " SSS905      SSS\:S9\%" \" \ GR                  \ " SSS905      SSSS9\%" \GR                  " S5      SSSS9/\%" \GR                  " S5      SS5      4S9P\b" \ R                  GR\                  \\%" \GR                  " S5      SSSS9/\%" \GR                  " S5      SS5      4S9P\b" \ R                  GR^                  \S\%" \GR                  " S5      SSSS9/\%" \GR                  " S5      SS5      4S9P\b" \ R                  GR`                  S\\%" \GR                  " S5      SS5      4S9P\b" \ R                  GRb                  \\\8\%" \" \ GR                  \ " SSS905      SSSS9/\%" \GR                  " S5      SS5      4S9P\b" \ R                  GRd                  \\(       a  SO&\%" \GR                  SS\?GR                  " S5      SS94S9P\b" \ R                  GRf                  \S9P\b" \ R                  GRh                  \\%" \#5      4S9P\b" \ R                  GRj                  \\%" \#5      4S9P\b" \ R                  GRl                  \" \SS9\S9P\b" \ R                  GRn                  \\S9P\b" \ R                  GRp                  \\S9P\b" \ R                  GRr                  \\(       a  SO&\%" \GR                  SS\?GR                  " S5      SS94S9P\b" \ R                  GRt                  \\%" \GR                  SSS\ GR                  /S94S9P\b" \ R                  GRv                  \S9P\b" \ R                  GRx                  \S9P\b" \ R                  GRz                  \\%" \GR                  " S5      SS5      \%" \GR                  SSS\ GR                  /S94S9P\b" \ R                  GR|                  \\%" \GR                  " S5      SS5      \%" \GR                  SSS\ GR                  /S94S9P\b" \ R                  GR~                  \\%" \GR                  " S5      SS5      4S9P\b" \ R                  GR                  \\%" \#5      4S9P\b" \ R                  GR                  \\%" \#5      4S9P\b" \ R                  GR                  \S9P\b" \ R                  GR                  \\(       a  SO&\%" \GR                  SS\?GR                  " S5      SS94S9P\b" \ R                  GR                  \\(       a  SO&\%" \GR                  SS\?GR                  " S5      SS94S9P\b" \ R                  GR                  \\%" \#5      4S9P\b" \ R                  GR                  \\%" \#5      4S9P\b" \ R                  GR                  S\" \SS9\\S9P\b" \ R                  GR                  S\" \SS9\\S9P\b" \ R                  GR                  S\\\%" \#5      4\S9P\b" \ R                  GR                  \S9P\b" \ R                  GR                  \\8\%" \GR                  " S5      SSSS9\%" \GR                  " S5      SSSS9\%" \GR                  " S5      SSSS94S9P\b" \ R                  GR                  \\8\%" \GR                  " S5      SSSS9\%" \GR                  " S5      SSSS9\%" \GR                  " S5      SSSS94S9P\b" \ R                  GR                  \S9P\b" \ R                  GR                  \\8\%" \GR                  " S5      SSSS9\%" \GR                  " S5      SSSS9\%" \GR                  " S5      SSSS94S9P\b" \ R                  GR                  \\8\%" \GR                  " S5      SSSS9\%" \GR                  " S5      SSSS9\%" \GR                  " S5      SSSS94S9P\b" \ R                  GR                  \\%" \#5      4S9P\b" \ R                  GR                  \S9P\b" \ R                  GR                  \\%" \GR                  SSSS94S9P\b" \ R                  GR                  \\%" \GR                  SSSS94S9P\b" \ R                  GR                  \\S9P\b" \ R                  GR                  \\S9P\b" \ R                  GR                  \\\%" \GR                  SS5      4S9P\b" \ R                  GR                  \S9P\b" \ R                  GR                  \\%" \GR                  SSSS94S9P\b" \ R                  GR                  \\%" \GR                  SSSS94S9PGrZ\F\b   \GS'   gs  snf s  snn f s  snf )    N)deepcopy)Enum)wrapspartial)chainproduct)pack_padded_sequence)make_tensor)
TEST_CUDNN)floating_typesfloating_and_complex_types_andget_all_fp_dtypes)_TestParametrizer_update_param_kwargsexpectedFailureMPStoleranceOverridetolprecisionOverrideskipMetaskipMPS)DecorateInfo)cosineembeddingloss_referencecross_entropy_loss_referencectcloss_referencehingeembeddingloss_referencehuberloss_referencekldivloss_referencemarginrankingloss_referencemultimarginloss_referencemultilabelmarginloss_referencenllloss_referencenlllossNd_referencesmoothl1loss_referencesoftmarginloss_referenceget_reduction)freeze_rng_state	skipIfMPSGRADCHECK_NONDET_TOLTEST_WITH_ROCM
IS_WINDOWSskipIfTorchDynamo	skipIfXpu)
ModuleTypeMODULE_NAMESPACESMODULES_TO_SKIPMODULE_CLASSESMODULE_CLASS_NAMESztorch. z.modules.TrainEvalMode)
train_only	eval_onlytrain_and_evalc                   H    \ rS rSrSrS\R                  S4S jrS rS r	Sr
g)	modulesI   zPPROTOTYPE: Decorator for specifying a list of modules over which to run a test. NTc                 f    [        U5      U l        Ub  [        U5      OS U l        X0l        X@l        g N)listmodule_info_listsetallowed_dtypestrain_eval_modeskip_if_dynamo)selfmodule_info_iterabler@   rA   rB   s        `/home/wildlama/miniconda3/lib/python3.13/site-packages/torch/testing/_internal/common_modules.py__init__modules.__init__L   s1     $%9 :5C5Oc.1UY.,    c                 j   / nU R                   [        R                  :X  d  U R                   [        R                  :X  a  UR	                  S5        U R                   [        R
                  :X  d  U R                   [        R                  :X  a  UR	                  S5        UR                  (       d  US S nU$ )NTF   )rA   r4   r5   r7   appendr6   train_and_eval_differ)rC   module_infotraining_flagss      rE   _get_training_flagsmodules._get_training_flagsS   s      M$<$<<$$(D(DD!!$'  M$;$;;$$(D(DD!!%( 00+BQ/NrH   c           
   #   x  ^#    Uc  [        S5      eU R                   GHf  n[        UR                  UR                  5      5      nU R
                  b  UR                  U R
                  5      nU R                  U5      n[        Xe5       H  u  pxUR                  n	[        U5      S:  a  U	SU(       a  SOS 3-  n	SU0n
[        U
SU5        [        U
SU5         [        T5      U4S	 j5       nU R                  (       aD  [        R                  R                   R"                  R$                  (       d  ['        S
5      " U5      n[)        UR*                  UR,                  TR,                  UR                  U5      nXX4v   M     GMi     g ! [.         a#  n[1        SU	 SUR2                   S35        UeS nAff = f7f)NzThe @modules decorator is only intended to be used in a device-specific context; use it with instantiate_device_type_tests() instead of instantiate_parametrized_tests()rJ   _
train_mode	eval_moderM   dtypetrainingc                     > T" U 0 UD6$ r<    )argskwargstests     rE   test_wrapper/modules._parametrize_test.<locals>.test_wrapper}   s    #T4V44rH   z/Policy: we don't run ModuleInfo tests w/ DynamozFailed to instantiate z for module !)RuntimeErrorr>   r?   supported_dtypesdevice_typer@   intersectionrO   r   formatted_namelenr   r   rB   torchtesting	_internalcommon_utilsTEST_WITH_TORCHINDUCTORr+   r   get_decorators__name__	Exceptionprintname)rC   r[   generic_cls
device_clsrM   dtypesrN   rV   rU   	test_nameparam_kwargsr\   decorator_fnexs    `            rE   _parametrize_testmodules._parametrize_testc   s      B C C  00K55j6L6LMNF"".,,T-@-@A!55kBN%,^%D! (66	~&*1X\;$O!PPI !.{;$\7EB$\:xH4[5 !5 **5==3J3J3W3W3o3o'89j'klx'y#*;+E+E{G[G[+/==*:P:PRW$YL (LOO1 &E 1> ! 29+\+JZJZI[[\]^Hs+   CF:B&F
 
F:

F7F22F77F:)r@   r>   rB   rA   )rk   
__module____qualname____firstlineno____doc__r4   r7   rF   rO   rv   __static_attributes__rX   rH   rE   r9   r9   I   s"    [<@!.!=!=d- (rH   r9   c                 @    U [         ;   a	  [         U    $ U R                  $ r<   )r1   rk   )
module_clss    rE   get_module_common_namer      s"    ''!*--"""rH   c                   &    \ rS rSrSrSS/rS rSrg)FunctionInput   z9Contains args and kwargs to pass as input to a function. rY   rZ   c                     Xl         X l        g r<   rY   rZ   )rC   rY   rZ   s      rE   rF   FunctionInput.__init__   s    	rH   r   Nrk   rx   ry   rz   r{   	__slots__rF   r|   rX   rH   rE   r   r      s    D"IrH   r   c                   *    \ rS rSrSr/ SQrSS jrSrg)ModuleInput   z@Contains args / kwargs for module instantiation + forward pass. constructor_inputforward_inputdescreference_fnNc                 t   ^ Xl         X l        X0l        TU l        Tb  [	        T5      U4S j5       nXPl        g g )Nc                 v   > [        U5      [        U5      p!T" U [        U R                  5       5      /UQ70 UD6$ r<   )r   r=   
parameters)mrY   rZ   r   s      rE   copy_reference_fn/ModuleInput.__init__.<locals>.copy_reference_fn   s9      (~x/?f $AtALLN';MdMfMMrH   )r   r   r   r   r   )rC   r   r   r   r   r   s       ` rE   rF   ModuleInput.__init__   sH    !2*	(#< N !N !2 $rH   )r   r   r   r   )Nr2   Nr   rX   rH   rE   r   r      s    KNI2rH   r   c                        \ rS rSrSrSrSrSrg)ModuleErrorEnum   z6Enumerates when error is raised when testing modules. r   rJ   rX   N)rk   rx   ry   rz   r{   CONSTRUCTION_ERRORFORWARD_ERRORr|   rX   rH   rE   r   r      s    AMrH   r   c                   D    \ rS rSrSr/ SQr\R                  \S.S jr	Sr
g)ErrorModuleInput   zk
A ModuleInput that will cause the operation to throw an error plus information
about the resulting error.
module_error_inputerror_on
error_typeerror_regex)r   r   c                4    Xl         X l        X0l        X@l        g r<   r   )rC   r   r   r   r   s        rE   rF   ErrorModuleInput.__init__   s     #5 $&rH   )r   r   r   r   N)rk   rx   ry   rz   r{   r   r   r   r_   rF   r|   rX   rH   rE   r   r      s'    
 PI
 *<<(		' 	'rH   r   c                       \ rS rSrSrSS\" 5       \R                  \R                  4\R                  \R                  4SSSSSSS.S	 jr
S
 rS r\S 5       r\S 5       rSrg)
ModuleInfo   z*Module information to be used in testing. rX   NT        F)skips
decoratorsrq   dtypesIfMPSdtypesIfHpusupports_gradgradgradcheck_nondet_tolmodule_memformat_affects_outrL   module_error_inputs_funcgradcheck_fast_modec                >   Xl         X l        / U(       a  UO/ QU(       a  UO/ Q7U l        XPl        X`l        Xpl        Xl        Xl        Xl        Xl	        Xl
        Xl        [        U[        R                  R                  R                   R"                  5      U l        g r<   )r~   module_inputs_funcr   rq   r   r   r   r   r   rL   r   r   
issubclassre   nnr9   lazyLazyModuleMixinis_lazy)rC   r~   r   r   r   rq   r   r   r   r   r   rL   r   r   s                 rE   rF   ModuleInfo.__init__   s    & %"4Z:Z2Z5%VXZ&&!2$8!,H)%:"(@%#6 !*ehh.>.>.C.C.S.STrH   c                     / nU R                    H`  n[        U[        5      (       a7  UR                  XX4U5      (       a  UR	                  UR                   5        MM  MO  UR                  U5        Mb     U$ r<   )r   
isinstancer   	is_activeextendrK   )rC   
test_classrr   devicerU   rs   result	decorators           rE   rj   ModuleInfo.get_decorators   sd    I)\22&&zf\ZZMM)"6"67 [ i( ) rH   c                 b    US:X  a  U R                   $ US:X  a  U R                  $ U R                  $ )Nmpshpu)r   r   rq   )rC   ra   s     rE   r`   ModuleInfo.supported_dtypes   s4    %###E!###;;rH   c                 ,    [        U R                  5      $ r<   )r   r~   rC   s    rE   rn   ModuleInfo.name  s    %doo66rH   c                 :    U R                   R                  SS5      $ )Nr3   rR   )rn   replacer   s    rE   rc   ModuleInfo.formatted_name  s    yy  c**rH   )r   rq   r   r   r   r   r   r~   r   r   r   r   rL   )rk   rx   ry   rz   r{   r   re   float16float32bfloat16rF   rj   r`   propertyrn   rc   r|   rX   rH   rE   r   r      s~    5  &(#mmU]]<#nnemm=#'&).3',*.%)UB 7 7 + +rH   r   c           
          [        [        XUS9n[        [        SS5      [        U" S5      S9S S9[        [        SSSS	9[        U" S5      5      S
S S9[        [        SS5      [        U" S5      5      SS S9/nU$ )Nr   rU   requires_grad
         r   )inputc                     [         R                  " X!S   R                  5       5      US   R                  SS5      R	                  SS5      -   $ )Nr   rJ   r   r   )re   mmtviewexpand)r   pr   s      rE   <lambda>/module_inputs_torch_nn_Linear.<locals>.<lambda>  sA    UXXeqTVVX5NQRSTQUQZQZ[\^`QaQhQhijlmQn5nrH   r   r   r   Fbiasno_biasc                 P    [         R                  " X!S   R                  5       5      $ )Nr   )re   r   r   r   r   is      rE   r   r     s    !qTVVX1FrH   r         no_batch_dimc                     [         R                  " UR                  SS5      US   R                  5       5      R                  S5      US   -   $ )NrJ   r   r   )re   r   r   r   r   s      rE   r   r     s;    !&&B-11R1W1WXZ1[^_`a^b1brH   r   r
   r   r   )rM   r   rU   r   rV   rZ   
make_inputmodule_inputss           rE   module_inputs_torch_nn_Linearr     s    VP]^J 	mB&:"/j6I"J!n	p 	mB&F"/
70C"D"!F	H 	mAq&9"/
1">'!b	dM rH   c                 H  ^ [        [        XUS9nSS jm[        [        SSS5      [        U" S5      U" S5      5      TS9[        [        SSSS	S
9[        U" S5      U" S5      5      SU4S jS9[        [        SSS5      [        U" S5      U" S5      5      SU4S jS9/nU$ )Nr   c                 *   [         R                  " SX!S   U5      nU(       ap  UR                  S   S:X  a  UR                  S5      US   -   nU$ XQS   R                  SS5      R	                  UR                  S   US   R                  S   5      -   nU$ )Nzbn,anm,bm->bar   rJ   r   )re   einsumshaper   r   )r   r   x1x2r   r   s         rE   bilinear_reference_fn>module_inputs_torch_nn_Bilinear.<locals>.bilinear_reference_fn%  s    orQ4<xx{aR1Q4/   A$))Ar"2"9"9"((1+qtzzRS}"UUrH      r   r   )r   r   )r   r   r   Fr   r   c                    > T" XX#SS9$ )NFr   rX   r   r   r   r   r   s       rE   r   1module_inputs_torch_nn_Bilinear.<locals>.<lambda>5  s    6KART_d6erH   r   r   c           	      X   > T" XUR                  SS5      UR                  SS5      5      $ )NrJ   r   )r   r   s       rE   r   r   9  s/    6KARTRYRYZ[]_R`bdbibijkmobp6qrH   )Tr   )	rM   r   rU   r   rV   rZ   r   r   r   s	           @rE   module_inputs_torch_nn_Bilinearr   "  s    VP]^J 	mAq!&<"/
60BJvDV"W!6	8 	mAq!%&H"/
60BJvDV"W"!e	g 	mAq!&<"/
1z!}"M'!q	sM rH   c           
      d   [        [        XUS9nS0 4SSS04SSS04SSS	04S
S
S04/n/ nU H  u  pU
4S jnU" S5      R                  5       nUR                  S
S5      (       a  U" S5      OU" S5      R                  5       nUR	                  [        [        S0 U
D6[        X5      U	US95        U" S5      R                  5       nUR                  S
S5      (       a  U" S5      OU" S5      R                  5       nUR	                  [        [        S0 U
D6[        X5      SU	-   US95        GM     U$ )Nr   r2   reduction_sum	reductionsumreduction_batchmean	batchmeanreduction_nonenone
log_targetTc                     [        X#40 UD6$ r<   )r   r   r   r   r   constructor_kwargss        rE   r   6module_inputs_torch_nn_KLDivLoss.<locals>.reference_fnL      &qB/ABBrH   r   r   Fr   rX   scalar_)r   r
   loggetrK   r   r   )rM   r   rU   r   rV   rZ   r   casesr   r   r  r   r   targetscalar_inputscalar_targets                   rE    module_inputs_torch_nn_KLDivLossr  ?  s`   VP]^J 
R	;./	k :;	K01	d+,%E M$) 8J 	C 8$((*)/L%)H)HH%jYaNbNfNfNh-*M:L*M&3E&B!%13	
 ""~))+ %jju==JrN:b>CUCUCW 	 	-*M:L*M&3L&O&-%13	
% %*2 rH   c                 J   XU4S jn[        [        XSS9nS0 4SSS04SSS	04S
S
S04SSU" S5      R                  5       04SU" S5      R                  5       SS.4SU" S5      R                  5       SS.4/n/ n	U GH"  u  pU4S jnU	R                  [	        [        S 0 UD6[        U" S5      [        R                  " SUS9R                  5       R                  S5      R                  5       R                  5       5      U
US95        U4S jnU	R                  [	        [        S 0 UD6[        U" S5      [        R                  " SSSUS9R                  5       R                  S5      R                  5       R                  5       5      SU
 3US95        U	R                  [	        [        S 0 UD6[        U" S5      [        R                  " SSSSSUS9R                  5       R                  S5      R                  5       R                  5       5      SU
 3US95        U	R                  [	        [        S 0 UD6[        U" S5      [        R                  " SSUS9R                  5       R                  S5      R                  5       R                  5       5      SU
 3US95        GM%     U	$ )!Nc                 P    [        XUSS9R                  SS9R                  U5      $ )NFr   rJ   dim)r
   log_softmaxrequires_grad_)r   r   rU   r   s       rE   r   2module_inputs_torch_nn_NLLLoss.<locals>.make_inputh  s-    5u).00;0B>>R_C`	arH   Fr   r2   r  r  r  r  r  ignore_indexr   weightsweightr   weights_ignore_index)r   r  weights_ignore_index_negr   c                     [        X#40 UD6$ r<   )r!   r
  s        rE   r   4module_inputs_torch_nn_NLLLoss.<locals>.reference_fn~  s    $Q@-?@@rH   )   r   r%  r   r   c                     [        X#40 UD6$ r<   )r"   r
  s        rE   nd_reference_fn7module_inputs_torch_nn_NLLLoss.<locals>.nd_reference_fn  r  rH   )r   r   r   r   r   nd_)r   r   r   r   r   r   higher_dim_)r   r   r   3d_rX   )r   r
   absrK   r   r   re   emptyuniform_mulfloorlong)rM   r   rU   r   rV   rZ   r   make_weightr  r   r   r  r   r(  s                 rE   module_inputs_torch_nn_NLLLossr4  g  s   !'M a +fQVWK 
R	;./	K01	.!,-	X{1~11345	KN,>,>,@RS!TU	#A0B0B0DVX%YZ%E M$) 8J 	A 	-*M:L*M&3Jw4G49KK64R4[4[4]4a4abc4d4j4j4l4q4q4s'u!%1	3	
 <N 	C 	-*M:L*M&3&|4!KK1a?HHJNNqQWWY^^`'b  #4&\%46	
 	-*M:L*M&3&'9:!KK1aAfENNPTTUVW]]_ddf'h  +4&1%46	
 	-*M:L*M&3&y1!KK1V<EEGKKANTTV[[]'_  #4&\%46	
E %*V rH   c                    [        [        XUS9n[        [        XSS9nS0 4SSS04SSS04S	SS
04SSS04/n/ n	U H  u  pUR                  SS5      nU(       a  U" SS5      R                  5       OU" SS5      R                  5       nU	R	                  [        [        S0 UD6[        U" SS5      U" SS5      U5      U
[        S95        M     U	$ )Nr   Fr2   r  r  r  reduction_meanmeanr  r  homoscedasticTrJ   r   r   r   rX   )r   r
   popr-  rK   r   r   no_batch_dim_reference_fn)rM   r   rU   r   rV   rZ   r   make_targetr  r   r   r  r8  	var_inputs                 rE   &module_inputs_torch_nn_GaussianNLLLossr=    s   VP]^J+fQVWK 
R	;./	K01	K01	?D12%E M$) *..F.;Jq!$((*AqAQAUAUAW	-*M:L*M&3Jq!4D4?14E4='? "%>@	
 %* rH   c                   ^ [        [        XUS9n[        [        XSS9nS0 4SSS04SSS04S	SS
04SSS04SSS04SSSS.4/nSS jm/ n	U H  u  pU4U4S jjnUR                  SS5      nU(       a  U" S5      O$U" S5      R                  5       R	                  S5      nU	R                  [        [        S0 UD6[        UU" S5      R                  5       R                  5       5      U
US95        M     U	$ )Nr   Fr2   r  r  r  r6  r7  r  r  fullTno_log_input	log_inputfull_no_log_input)r?  rA  c                    U(       a#  U R                  5       UR                  U 5      -
  nO#XR                  X-   R                  5       5      -
  nU(       a_  XaR                  UR                  5       5      U-
  SS[        R                  -  U-  R                  5       -  -   R                  US:*  S5      -  nUS:X  a  U$ US:X  a!  UR                  5       U R                  5       -  $ UR                  5       $ )N      ?       @rJ   r   r  r7  )expr0  r  mathpimasked_fillr  numel)r   r   rA  r?  r  epsr   s          rE   poissonnllloss_reference_fnJmodule_inputs_torch_nn_PoissonNLLLoss.<locals>.poissonnllloss_reference_fn  s    UUWquuQx'F}}//FuuQUUW~)C2<!3C2H2H2J,JJWWXY]^X^`abbFM& ::<!'')++::<rH   c                    > T" X#40 UD6$ r<   rX   )r   r   r   r   r  rL  s        rE   r   ;module_inputs_torch_nn_PoissonNLLLoss.<locals>.reference_fn  s    .qJ7IJJrH   r   r   r   r   MbP?r   )TFr7  g:0yE>rX   )
r   r
   r  r-  addrK   r   r   floor_abs_)rM   r   rU   r   rV   rZ   r   r;  r  r   r   r  r   rA  r   rL  s                  @rE   %module_inputs_torch_nn_PoissonNLLLossrU    s0   VP]^J+fQVWK 
R	;./	K01	K01	&$ 	+u-.	t%@A%E   M$) 8J 	K '**;=	,5
<(:l;S;W;W;Y;];]^c;d-*M:L*M&3E4?4M4T4T4V4[4[4]'_!%1	3	
 %* rH   c                    [        [        XUS9n[        [        XSS9nS0 4SSS04SSS04S	SS
04/nSS jn	/ n
U H  u  pU
R                  [        [	        S0 UD6[	        U" S5      U" S5      5      U[        U	40 UD6S95        U
R                  [        [	        S0 UD6[	        U" S5      U" S5      5      U S3[        U	40 UD6S95        M     U
$ )Nr   Fr2   r  r  r  r6  r7  r  r  c                     US:X  a  X#-
  R                  S5      $ US:X  a2  X#-
  R                  S5      R                  5       UR                  5       -  $ X#-
  R                  S5      R                  5       $ )Nr  r   r7  )powr  rJ  )r   r   r   r   r  s        rE   mse_loss_reference_fn=module_inputs_torch_nn_MSELoss.<locals>.mse_loss_reference_fn  s_    E;;q>!& E;;q>%%'!'')33E;;q>%%''rH   rP  r   rX   _scalar)r7  r   r
   rK   r   r   )rM   r   rU   r   rV   rZ   r   r;  r  rY  r   r   r  s                rE   module_inputs_torch_nn_MSELossr]    s   VP]^J+fQVWK 
R	;./	K01	K01	%E( M$) -*M:L*M&3J|4L4?4M'O!%,-B%YFX%Y	[	
 	-*M:L*M&3JrN4?O'E $vW-%,-B%YFX%Y	[	
 %*  rH   c                 F  ^ U4S jnU" SS5      (       a  SOSnU" SS5      nU" SS	5      nUbi  [        U[        5      (       d  [        S
[        U5       35      eTR	                  5        H)  u  pX;   d  M  U	c  M  Xh   n
U	R                  U
5      TU'   M+     U Vs/ s H  oR                  U5      PM     nn[        5          U " U0 TD6R                  U5      nSSS5        U(       a"  [        U 5      nUS:X  a  WR                  S5      $ W$ s  snf ! , (       d  f       N>= f)a  Reference function for modules supporting no batch dimensions.

Unbatched inputs are unsqueezed to form a
single batch input before passing them to the module.
The output is squeezed to compare with the
output of unbatched input to the module.

Currently it only supports modules which return a single Tensor as output.
You can bind the following kwargs.
Kwargs:
    batch_first[bool] : If True, all the Tensors in `args` while be unsqueezed at dim `0` .
                    and output will be squeezed at dim `0` else dim `1` for both.
    kwargs_to_batchify[dict] : Dictionary specifying the name of the argument and dimension to unsqueeze.
                           Useful if there are few arguments whose batch dimension are different
                           from the ones selected by `batch_first`.
    is_criterion[bool] : Specify if the module is a criterion and handle the reduction for output accordingly.
c                 X   > TR                  X5      nU T;   a  TR                  U 5        U$ r<   )r  r9  )keydefaultvrZ   s      rE   get_and_pop.no_batch_dim_reference_fn.<locals>.get_and_pop/  s(    JJs$&=JJsOrH   batch_firstTr   rJ   kwargs_to_batchifyNis_criterionFz.Expected kwargs_to_batchify to be a dict, got r  )	r   dictAssertionErrortypeitems	unsqueezer&   squeezer%   )r   r   rY   rZ   rc  	batch_dimrf  rg  krb  bdimr   single_batch_input_argsoutputr  s      `           rE   r:  r:    s   $ !551I$%94@~u5L%,d33 #QRVWiRjQk!lmmLLNDA&1=),KK-q	 #
 HLLtey9tL		+6v6>>yI 
 !!$	>>!$$M M		s   DD
D c                    UR                  SS5      (       a  SOSnSU;   a  UR                  S5        SU;   a  US   b  US   R                  S5      US'   U Vs/ s H  oUR                  U5      PM     nn[        5          U " U0 UD6nUS   R	                  U5      US   R	                  S5      4sSSS5        $ s  snf ! , (       d  f       g= f)zReference function for MultiheadAttention supporting no batch dimensions.

Unbatched inputs are unsqueezed to form a
single batch input before passing them to the module.
The output is squeezed to compare with the
output of unbatched input to the module.
re  Tr   rJ   key_padding_maskN)r  r9  rl  r&   rm  )r   r   rY   rZ   rn  r   rq  rr  s           rE   no_batch_dim_reference_mharu  L  s     ZZt44!I

=!V#/A(B(N%+,>%?%I%I!%L!"GKLtey9tL		+6v6q	!!),fQi.?.?.BC 
	 M		s   B: 0B??
Cc                    [        U5      S:X  a  Uu  nSnO$[        U5      S:X  a  Uu  pEUR                  S5      nUS   (       a  SOSnUR                  S5        WR                  U5      nUW4n[        5          U " U0 UD6nUS   R	                  U5      US   R	                  S5      4sSSS5        $ ! , (       d  f       g= f)zReference function for RNN and GRU supporting no batch dimensions.

Unbatched inputs are unsqueezed to form a
single batch input before passing them to the module.
The output is squeezed to compare with the
output of unbatched input to the module.
rJ   Nr   re  r   rd   rl  r9  r&   rm  	r   r   rY   rZ   inphrn  rq  rr  s	            rE   no_batch_dim_reference_rnn_grur{  _  s     4yA~	TaKKNM*I
JJ}
--	
"C"Ah		+6v6q	!!),fQi.?.?.BC 
		s   90B33
Cc                    [        U5      S:X  a  Uu  nSnO;[        U5      S:X  a,  Uu  pEUS   R                  S5      US   R                  S5      4nUS   (       a  SOSnUR                  S5        WR                  U5      nUW4n[        5          U " U0 UD6nUS   R	                  U5      US   S   R	                  S5      US   S   R	                  S5      44sSSS5        $ ! , (       d  f       g= f)zReference function for LSTM supporting no batch dimensions.

Unbatched inputs are unsqueezed to form a
single batch input before passing them to the module.
The output is squeezed to compare with the
output of unbatched input to the module.
rJ   Nr   r   re  rw  rx  s	            rE   no_batch_dim_reference_lstmr}  w  s     4yA~	TaqT^^A!q 12M*I
JJ}
--	
"C"Ah		+6v6q	!!),vay|/C/CA/Fq	RSH\H\]^H_.`a 
		s   A
C$$
C2c                     Uu  nu  pVUR                  S5      UR                  S5      UR                  S5      44n[        5          U " U0 UD6nUS   R                  S5      US   R                  S5      4sSSS5        $ ! , (       d  f       g= f)zReference function for LSTMCell supporting no batch dimensions.

The module is passed the input and target in batched form with a single item.
The output is squeezed to compare with the no-batch input.
r   rJ   N)rl  r&   rm  )	r   r   rY   rZ   ry  rz  crq  rr  s	            rE   no_batch_dim_reference_lstmcellr    s     KC!"}}Q/!++a.!++a.1QR		+6v6q	!!!$fQi&7&7&:; 
		s   0A??
Bc                     S Vs/ s H;  n[        [        US9[        U " S5      U " S5      5      [        [        SS9SU 3S9PM=     sn$ s  snf )	N)r  r7  r  )r  r   r   Trg  no_batch_dim_r   r   r   r   )r   r   r   r:  )r   r  s     rE   $generate_regression_criterion_inputsr    sb     34 3i 	+i@'
5(9:a>J !:N ,		

 34 4 4s   AA
c                 >   [        [        XUS9n[        [        SS9[        U" S5      5      S[        S9[        [        S5      [        U" S5      5      S9[        [        S	S	5      [        U" S5      5      S
S9[        [        SSS5      [        U" S5      5      SS9/$ )Nr   r   )kernel_size)r      r   r   )r   r   r  r   r   r   strider   r   r   rJ   
stride_padr   r
   r   r   r:  rM   r   rU   r   rV   rZ   r   s          rE    module_inputs_torch_nn_AvgPool1dr    s    VP]^J 	m&B"/
60B"C'!:	< 	mA&6"/
90E"F	HmD$&?"/
90E"F!	# 	mAq!&<"/
90E"F%	'( (rH   c                    [        [        XUS9n[        [        S5      [        U" S5      5      S[        S9[        [        S5      [        U" S5      5      S9[        [        SS5      [        U" S5      5      SS	9[        [        SSS
5      [        U" S5      5      SS	9[        [        SSS9[        U" S5      5      SS	9[        [        SSSS9[        U" S5      5      SS	9[        [        SSS
SS9[        U" S5      5      SS	9/$ )Nr   r   r   r   r  r  r   r   r   r   r  r  r  r  r  rJ   rJ   r  rJ   divisor_overridedivisordivisor_stridedivisor_stride_padr  r  s          rE    module_inputs_torch_nn_AvgPool2dr    s   VP]^J 	mF&;"/
90E"F'!:	< 	mF&;"/
<0H"I	KmFF&C"/
<0H"I!	# 	mFFF&K"/
<0H"I%	' 	mFQ&O"/
<0H"I"	$ 	mFFUV&W"/
<0H"I)	+ 	mFFF]^&_"/
<0H"I-	/'0 0rH   c                 F   [        [        XUS9n[        [        S5      [        U" S5      5      S[        S9[        [        S5      [        U" S5      5      S9[        [        SS5      [        U" S	5      5      S
S9[        [        SSS5      [        U" S	5      5      SS9[        [        SSS5      [        U" S	5      5      SS9[        [        SSS5      [        U" S5      5      SS9[        [        SSS5      [        U" S5      5      SS9[        [        SSS5      [        U" S5      5      SS9[        [        SSS9[        U" S5      5      SS9[        [        SSSS9[        U" S	5      5      SS9[        [        SSSSS9[        U" S	5      5      SS9[        [        SSSSS9[        U" S	5      5      SS9[        [        SSSSS9[        U" S5      5      SS9[        [        SSSSS9[        U" S5      5      S S9[        [        SSSSS9[        U" S5      5      S!S9/$ )"Nr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r   r   r   r   r   r   r  r  rJ   rJ   rJ   r  r   )rJ   r   rJ   stride_pad_gpu_fixedkw_output)r   r   r   rJ   )rJ   rJ   r   )r   r   r   r   r   stride_pad_gpu_general_outputr   r   stride1_pad0_gpu_inputstride_pad_gpu_input_nooverlapr  r  r  r  %divisor_stride_pad_gpu_fixedkw_output%divisor_stride_pad_gpu_general_outputdivisor_stride1_pad0_gpu_input&divisor_stride_pad_gpu_input_nooverlapr  r  s          rE    module_inputs_torch_nn_AvgPool3dr    sO   VP]^J 	mI&>"/
<0H"I'!:	< 	mI&>"/
?0K"L	NmAy&A"/
?0K"L!	# 	mAq)&D"/
?0K"L%	' 	mAq)&D"/
?0K"L8	: 	mIq)&L"/
?0K"L8	: 	mAq!&<"/
?0K"L1	3 	mAq)&D"/
?0K"L9	; 	mIPQ&R"/
?0K"L"	$ 	mAyST&U"/
?0K"L)	+ 	mAq)VW&X"/
?0K"L-	/ 	mAq)VW&X"/
?0K"L@	B 	mIq)^_&`"/
?0K"L@	B 	mAq!a&P"/
?0K"L9	; 	mAq)VW&X"/
?0K"LA	CW-D -DrH   c           
          [        [        XUS9n[        [        S5      [        U" S5      5      SS9[        [        S5      [        U" S5      5      [        SS9[        [        S	5      [        U" S5      5      S
S9/$ )Nr   r   rJ   r   r   singler  r   r   r   r  rJ   
one_outputr  r  s          rE   (module_inputs_torch_nn_AdaptiveAvgPool1dr    s    VP]^J 	mA&7"/
90E"F!	# 	mA&7"/
60B"C!:'	) 	mA&7"/
90E"F%	'
( 
(rH   c                    [        [        XUS9n[        [        S5      [        U" S5      5      SS9[        [        S5      [        U" S5      5      [        SS9[        [        S	5      [        U" S5      5      S
S9[        [        S5      [        U" S5      5      SS9[        [        S5      [        U" S5      5      SS9/$ )Nr   r   rJ   r   r   r  r  r  r   r   r  r   r  rJ   single_1x1outputr   r   tupler   N
tuple_noner  r  s          rE   (module_inputs_torch_nn_AdaptiveAvgPool2dr    s    VP]^J 	mA&7"/
<0H"I!	# 	mA&7"/
90E"F!:'	) 	mA&7"/
<0H"I+	- 	mF&;"/
<0H"I 	" 	mI&>"/
<0H"I%	'( (rH   c                    [        [        XUS9n[        [        S5      [        U" S5      5      SS9[        [        S5      [        U" S5      5      [        SS9[        [        S	5      [        U" S
5      5      SS9[        [        S5      [        U" S
5      5      SS9[        [        S5      [        U" S5      5      SS9/$ )Nr   r   )r   r   r   r      r  r  )r   r   r   r  r   r  r   r   r   )r   r   r   r   r  r  )Nr   r   r  )r   r   r   )rJ   rJ   r   r   r  last_dimr  r  s          rE   (module_inputs_torch_nn_AdaptiveAvgPool3dr  -  s    VP]^J 	mA&7"/
?0K"L!	# 	mA&7"/
<0H"I!:'	) 	mI&>"/
?0K"L 	" 	mL&A"/
?0K"L%	' 	mI&>"/
?0K"L#	%& &rH   c           	          [        [        XUS9n[        [        S5      [        U" S5      5      SS9[        [        S5      [        U" S5      5      [        SS9/$ )	Nr   r   r  r  r  r  r   r  r  r  s          rE   (module_inputs_torch_nn_AdaptiveMaxPool1dr  C  s`    VP]^J 	mA&7"/
90E"F!	# 	mA&7"/
60B"C!:'	)	* *rH   c                 >   [        [        XUS9n[        [        S5      [        U" S5      5      SS9[        [        S5      [        U" S5      5      [        SS9[        [        S	5      [        U" S5      5      S
S9[        [        S5      [        U" S5      5      SS9/$ )Nr   r   r  r  r  r  r   r  r  r  r  r  r  r  s          rE   (module_inputs_torch_nn_AdaptiveMaxPool2dr  P  s    VP]^J 	mA&7"/
<0H"I!	# 	mA&7"/
90E"F!:'	) 	mF&;"/
<0H"I 	" 	mI&>"/
<0H"I%	'( (rH   c                    [        [        XUS9n[        [        S5      [        U" S5      5      SS9[        [        S5      [        U" S5      5      [        SS9[        [        S	5      [        U" S5      5      S
S9[        [        S5      [        U" S5      5      SS9[        [        S5      [        U" S5      5      SS9[        [        S	5      [        U" S5      5      SS9/$ )Nr   r   )r   r   r   r  r  r  r  )r   r   r  r  r   r  r  r  )r   Nr   r  )r   r      	   r   single_nonatomic)r   r   r  r   r   tuple_nonatomicr  r  s          rE   (module_inputs_torch_nn_AdaptiveMaxPool3dr  c  s    VP]^J 	mA&7"/
?0K"L!	# 	mA&7"/
<0H"I!:'	) 	mI&>"/
?0K"L 	" 	mL&A"/
?0K"L%	' 	mA&6"/
;K0L"M+	- 	mI&>"/
;K0L"M*	,#- -rH   c                 `   [        [        XUS9n[        [        S5      [        U" S5      5      SS9[        [        S5      [        U" S5      5      SS9[        [        SS	S 5      [        U" S5      5      S
S9[        [        SS	SS5      [        U" S5      5      SS9[        [        SS	SSS5      [        U" S5      5      SS9[        [        SS	SS5      [        U" S5      5      SS9[        [        SS	SS5      [        U" S5      5      SS9[        [        SSS9[        U" S5      5      SS9/$ )Nr   r   r   affiner  r   )r   r   r   3d_inputrQ  affine_simple_average333333?F
not_affineTnot_tracking_stats3d_input_not_affine)r   r   r  
zero_batchr   affine_not_biasr   r  s          rE   "module_inputs_torch_nn_BatchNorm1dr  |  sC   VP]^J 	mB&8"/
70C"D!	# 	mA&7"/
90E"F#	% 	mBd&C"/
70C"D0	2 	mBc5&I"/
70C"D%	' 	mBc4&O"/
70C"D-	/ 	mAtS%&H"/
90E"F.	0 	mAtS%&H"/
90E"F%	' 	mBU&C"/
70C"D*	,-. .rH   c                    [        [        XUS9n[        [        S5      [        U" S5      5      S9[        [        SSS 5      [        U" S5      5      SS9[        [        SSS5      [        U" S5      5      S	S9[        [        SSSS
5      [        U" S5      5      SS9[        [        SSSSS
5      [        U" S5      5      SS9[        [        SSSS
5      [        U" S5      5      SS9[        [        SS
S9[        U" S5      5      SS9/$ )Nr   r   r  r  rQ  2d_simple_averager  g?momentumFr  Tr  r   r  )r   r   r   r   r  r   r  r   r  s          rE   "module_inputs_torch_nn_BatchNorm2dr    s   VP]^J 	mA&7"/
<0H"I	KmAtT&B"/
<0H"I,	. 	mAtS&A"/
<0H"I#	% 	mAtS%&H"/
<0H"I%	' 	mAtS$&N"/
<0H"I-	/ 	mAtS%&H"/
<0H"I%	' 	mAE&B"/
<0H"I*	,%. .rH   c                    [        [        XUS9n[        [        S5      [        U" S5      5      S9[        [        SSS 5      [        U" S5      5      SS9[        [        SSS5      [        U" S5      5      S	S9[        [        SSSS
5      [        U" S5      5      SS9[        [        SSSSS
5      [        U" S5      5      SS9[        [        SSSS
5      [        U" S5      5      SS9[        [        SS
S9[        U" S5      5      SS9/$ )Nr   r   r  r  rQ  3d_simple_averager  ffffff?r  Fr  Tr  r   r  )r   r   r   r   r   r  r   r  r   r  s          rE   "module_inputs_torch_nn_BatchNorm3dr    s   VP]^J 	mA&7"/
?0K"L	NmAtT&B"/
?0K"L,	. 	mAtS&A"/
?0K"L#	% 	mAtS%&H"/
?0K"L%	' 	mAtS$&N"/
?0K"L-	/ 	mAtS%&H"/
?0K"L%	' 	mAE&B"/
?0K"L*	,%. .rH   c                    [        [        XUS9nU R                  [        R                  R
                  :X  a  SnO-U R                  [        R                  R                  :X  a  SnOSn[        [        [        SSS9[        U" U5      5      S9[        R                  [        S	S
9[        [        [        SSS9[        U" U5      5      S9[        R                  [        S	S
9/$ )Nr   )r   r   )r   r   r   r   )r   r   r   r   r   r   g      )rK  r  zeps must be positiver   r   r   r   )r   r
   r~   re   r   BatchNorm1dBatchNorm2dr   r   r   r   r   
ValueError)rM   r   rU   r   rV   rZ   r   input_shapes           rE   .module_error_inputs_torch_nn_BatchNorm1d_2d_3dr    s    VP]^J!5!55			588#7#7	7#& 	"/"=+J{,CD %22!.	
 	"/"<+J{,CD %22!.	
 rH   c                    US   nUR                  SS5      nUR                  SS5      n[        [        XUS9n	U(       a  0 /O0 SS0/n
Su  pnU4[        S	 [	        U5       5       5      -   nS
U-   n[
        R                  " SS/U
5       VVs/ s H^  u  nn[        U(       a  [        X40 UD6O[        XU40 UD6[        U	" U(       a  UOU5      5      U(       a  SOSU(       a  S O[        S9PM`     snn$ s  snnf )NNr   F
transposedr   paddingsamer  c              3   *   #    U  H	  oS -   v   M     g7fr  rX   ).0r   s     rE   	<genexpr>0module_inputs_torch_nn_ConvNd.<locals>.<genexpr>  s     *C(Qq5(s   r  Tr2   r   r   )
r  r   r
   r  range	itertoolsr   r   r   r:  )rM   r   rU   r   rV   rZ   r  r   r  r   conv_kwargs_listr  C_inC_outinput_no_batch_shapeinput_batch_shape
with_batchconv_kwargss                     rE   module_inputs_torch_nn_ConvNdr    s   sA::fe$DL%0JVP]^J)tY4G/H&Ku 7U*C%(*C%CC33 (1'8'8$HX'Y (Z#J 	[_}U'W;'W'4T+']Q\']"/
-7)=Q1S #T *"*4$:S	V (Z  s   A%C7c                 8   [        [        XUS9n[        [        XSS9nS0 4SSS04SSS04S	SS
04SSS04/n/ n	U HZ  u  pU4S jnU	R                  [        [	        S0 UD6[	        U" S5      U" S5      U" S5      R                  5       5      U
US95        M\     U	$ )Nr   Fr2   r  r  r  r6  r7  r  r  marginr  c                     [        X#U40 UD6$ r<   )r   r   r   i1i2r   r  s         rE   r   @module_inputs_torch_nn_CosineEmbeddingLoss.<locals>.reference_fn  s    0Q>PQQrH   r%  r   )r%  r   rX   r   r
   rK   r   r   signrM   r   rU   r   rV   rZ   r   r;  r  r   r   r  r   s                rE   *module_inputs_torch_nn_CosineEmbeddingLossr    s    VP]^J+fQVWK 
R	;./	K01	K01	Hc?#%E M$) =O 	R 	-*M:L*M&3Jx4H*U]J^4?4F4K4K4M'O!%1	3	
	 %* rH   c                 2   [        [        XUS9n[        [        SS9[        U" S5      5      S S9[        [        SS9[        U" S5      5      SS	9[        [        5       [        U" S
5      5      S[        S9[        [        SS9[        U" S5      5      SS	9/$ )Nr   rE  alphar   r   r   c                 `    [         R                  " US:  USUR                  5       S-
  -  5      $ )Nr   r   rJ   re   whererF  r   s      rE   r   ,module_inputs_torch_nn_ELU.<locals>.<lambda>$  s%    Q!VQQUUWWX[HY1ZrH   r   rX   scalarr  r   r   r   r   r   r   r   4d_inputr  r  s          rE   module_inputs_torch_nn_ELUr    s    VP]^J 	m"&="/
90E"F!Z	\ 	m"&="/
2"?!	# 	mo"/
40@"A'!:	< 	m"&="/
<0H"I#	%& &rH   c           
          [        [        XUS9n[        [        SS9[        U" S5      5      S S9[        [        SS9[        U" S5      5      S S	S
9[        [        SS9[        U" S5      5      S[        S9/$ )Nr   rE  r  r  c                 f    [         R                  " US:  USSU-  R                  5       S-
  -  5      $ Nr   rE  rD  rJ   r  r   s      rE   r   -module_inputs_torch_nn_CELU.<locals>.<lambda>7  +    Q!VQrTUvlln_`N`Ha1brH   r   rX   c                 f    [         R                  " US:  USSU-  R                  5       S-
  -  5      $ r  r  r   s      rE   r   r  :  r  rH   r  r  r  r   r   r  r  s          rE   module_inputs_torch_nn_CELUr  1  s    VP]^J 	m"&="/
90E"F!b	d 	m"&="/
2"?!b!	# 	m"&="/
40@"A'!:	<= =rH   c           
          [        [        XUS9n[        [        5       [        U" S5      5      S9[        [        S5      [        U" S5      5      SS9[        [        5       [        U" S5      5      S	[        S
9/$ )Nr   )r   r  r  rJ   r   r  r  r  r  r  r   r   r  r  s          rE   module_inputs_torch_nn_GLUr  B  sw    VP]^J 	mo"/
60B"C	EmA&6"/
90E"F	  	mo"/
40@"A'!:	<	= 	=rH   c           
          [        [        XUS9n[        [        S5      [        U" S5      5      S SS9[        [        S5      [        U" S5      5      S S	9[        [        5       [        U" S
5      5      S[        S9/$ )Nr   r  rX   c                 n    US-  S[         R                  " U[        R                  " S5      -  5      -   -  $ NrD        ?rE  re   erfrG  sqrtr   r   xrR   s       rE   r   -module_inputs_torch_nn_GELU.<locals>.<lambda>W  .    QWeiiPQTXT]T]^aTbPbFc@c5drH   r  r  r  c                 n    US-  S[         R                  " U[        R                  " S5      -  5      -   -  $ r  r  r!  s       rE   r   r#  [  r$  rH   r   r  r   r   r  r  s          rE   module_inputs_torch_nn_GELUr&  Q  s    VP]^J 	mF&;"/
2"?!d!	# 	mF&;"/
90E"F!d	f 	mo"/
40@"A'!:	<= =rH   c                 6   [        [        XUS9n[        [        5       [        U" S5      5      SS9[        [        5       [        U" S5      5      [        SS9[        [        5       [        U" S5      5      S	S9[        [        5       [        U" S
5      5      SS9/$ Nr   rX   r  r  r   r   r  rP  channels_last_mem_format)r   r   r   r   r   channels_last_3d_mem_formatr  r  s          rE   module_inputs_torch_nn_ReLUr+  b      VP]^J 	mo"/
2"?!	# 	mo"/
1">!:'	) 	mo"/
<0H"I3	5 	mo"/
?0K"L6	89 9rH   c                 6   [        [        XUS9n[        [        5       [        U" S5      5      SS9[        [        5       [        U" S5      5      [        SS9[        [        5       [        U" S5      5      S	S9[        [        5       [        U" S
5      5      SS9/$ r(  r  r  s          rE   module_inputs_torch_nn_ReLU6r.  u  r,  rH   c                 |   [        [        XUS9n[        [        5       [        U" S5      5      S9[        [        5       [        U" S5      5      [        SS9[        [        S5      [        U" S5      5      SS	9[        [        S
5      [        U" S5      5      SS	9[        [        S5      [        U" S5      5      SS	9/$ )Nr   r  r  r   r   r  rD  with_negvalr  r   r  with_zero_negvalrX   with_negval_scalarr  r  s          rE    module_inputs_torch_nn_LeakyReLUr3    s    VP]^J 	mo"/
90E"F	Hmo"/
1">!:'	) 	mC&8"/
90E"F&	( 	mC&8"/
80D"E+	- 	mC&8"/
2"?-	/0 0rH   c                 \   [        [        XUS9n[        [        5       [        U" S5      5      SS9[        [        5       [        U" S5      5      [        SS9[        [        5       [        U" S5      5      S	 S
S9[        [        S5      [        U" S5      5      S SS9[        [        5       [        U" S5      5      S SS9[        [        S5      [        U" S5      5      S SS9[        [        5       [        U" S5      5      S SS9[        [        S5      [        U" S5      5      S SS9/$ )Nr   rX   r  r  r   r   r  r   r   r   c                 j    [         R                  " USS9[         R                  " USS9US   S   -  -   $ Nr   min)maxre   clampr   s      rE   r   .module_inputs_torch_nn_PReLU.<locals>.<lambda>  3    QA1FUV\]I^abcdaefgahIh1hrH   1dr   c                 j    [         R                  " USS9[         R                  " USS9US   S   -  -   $ r7  r;  r   s      rE   r   r=    r>  rH   1d_multiparamrP  c                 j    [         R                  " USS9[         R                  " USS9US   S   -  -   $ r7  r;  r   s      rE   r   r=    r>  rH   2dc                 j    [         R                  " USS9[         R                  " USS9US   S   -  -   $ r7  r;  r   s      rE   r   r=    r>  rH   2d_multiparam)r   r   r   r   r  c                 j    [         R                  " USS9[         R                  " USS9US   S   -  -   $ r7  r;  r   s      rE   r   r=    r>  rH   3dc                 j    [         R                  " USS9[         R                  " USS9US   S   -  -   $ r7  r;  r   s      rE   r   r=    r>  rH   3d_multiparamr  r  s          rE   module_inputs_torch_nn_PReLUrJ    s'   VP]^J 	mo"/
2"?!	# 	mo"/
1">!:'	) 	mo"/
90E"F!h	 	mA&6"/
90E"F!h(	* 	mo"/
<0H"I!h	 	mA&6"/
<0H"I!h(	* 	mo"/
?0K"L!h	 	mA&6"/
?0K"L!h(	*9+ +rH   c           
          [        [        XUS9n[        [        5       [        U" S5      5      S9[        [        5       [        U" S5      5      [        SS9[        [        5       [        U" S5      5      SS	9/$ )
Nr   r  r  r   r   r  rX   r  r  r  r  s          rE   module_inputs_torch_nn_SELUrL    sr    VP]^J 	mo"/
90E"F	Hmo"/
1">!:'	) 	mo"/
2"?!	#	$ 	$rH   c           
          [        [        XUS9n[        [        5       [        U" S5      5      S SS9[        [        5       [        U" S5      5      [        SS9[        [        5       [        U" S5      5      S	 S
9/$ )Nr   rX   c                 4    U[         R                  " U5      -  $ r<   re   sigmoidr!  s       rE   r   -module_inputs_torch_nn_SiLU.<locals>.<lambda>      Qq9I5IrH   r  r  r   r   r  c                 4    U[         R                  " U5      -  $ r<   rO  r!  s       rE   r   rQ    rR  rH   r   r  r  s          rE   module_inputs_torch_nn_SiLUrT    s|    VP]^J 	mo"/
2"?!I!	# 	mo"/
1">!:'	) 	mo"/
90E"F!I	KL LrH   c           
          [        [        XUS9n[        [        S5      [        U" S5      5      S S9[        [        S5      [        U" S5      5      S S	S
9[        [        S5      [        U" S5      5      [        SS
9/$ )Nr   rJ   r      c                     [         R                  " U5      R                  [         R                  " U5      R                  SS5      R	                  SS5      5      $ NrJ   Tr   rW  )re   rF  divr  r   r   s      rE   r   0module_inputs_torch_nn_Softmax.<locals>.<lambda>  s=    11A1A%))A,BRBRSTVZB[BbBbcegiBj1krH   r   r   rX   c                     [         R                  " U5      R                  [         R                  " U5      R                  SS5      5      $ )Nr   Tre   rF  rZ  r  r   s      rE   r   r[    s.    11A1A%))A,BRBRSTVZB[1\rH   r  r  r   r   r   r   r  r  s          rE   module_inputs_torch_nn_Softmaxr_    s    VP]^J 	mA&6"/
80D"E!k	m 	mA&6"/
2"?!\!	# 	mB&7"/
60B"C!:'	)* *rH   c           	          [        [        XUS9n[        [        5       [        U" S5      5      S S9[        [        5       [        U" S5      5      [        SS9/$ )Nr   rJ   r   r   rW  c                     [         R                  " U5      R                  [         R                  " U5      R                  SS5      5      $ NrJ   Fr]  r   s      rE   r   2module_inputs_torch_nn_Softmax2d.<locals>.<lambda>  s.    11A1A%))A,BRBRSTV[B\1]rH   r   r  r   r  r  r  s          rE    module_inputs_torch_nn_Softmax2dre    s[    VP]^J 	mo"/
>0J"K!]	_ 	mo"/
90E"F!:'	)	* *rH   c                 H   [        [        XUS9n[        [        S5      [        U" S5      5      S S9[        [        S5      [        U" S5      5      S SS	9[        [        S
5      [        U" S5      5      S SS	9[        [        S5      [        U" S5      5      [        SS	9/$ )Nr   rJ   rV  c                     [         R                  " U5      R                  [         R                  " U5      R                  SS5      R	                  SS5      5      R                  5       $ rY  )re   rF  div_r  r   log_r   s      rE   r   3module_inputs_torch_nn_LogSoftmax.<locals>.<lambda>  sF    11B1B599Q<CSCSTUW[C\CcCcdfhjCk1l1q1q1srH   r   ra  c                     [         R                  " U5      R                  [         R                  " U5      R                  SS5      5      R	                  5       $ rc  re   rF  rh  r  ri  r   s      rE   r   rj  	  7    11B1B599Q<CSCSTUW\C]1^1c1c1erH   
multiparamr  r   rX   c                     [         R                  " U5      R                  [         R                  " U5      R                  SS5      5      R	                  5       $ )Nr   Frl  r   s      rE   r   rj    rm  rH   multiparam_scalarr   r^  r   r  r  s          rE   !module_inputs_torch_nn_LogSoftmaxrq     s    VP]^J 	mA&6"/
80D"E!s	u 	mA&6"/
>0J"K!e%	' 	mA&6"/
2"?!e,	. 	mB&7"/
60B"C!:'	)* *rH   c                 <   [        [        XUS9n[        [        S5      [        U" S5      5      S9[        [        S5      [        U" S5      5      SS9[        [        S5      [        U" S	5      5      S
S9[        [        S5      [        U" S5      5      [        SS9/$ )Nr   rJ   rV  r  )r   r   r   r   multidimr  r   rX   r  r   )r   r   r   r   r  r  r  s          rE   module_inputs_torch_nn_Softminrt    s    VP]^J 	mA&6"/
80D"E	GmA&6"/
=0I"J#	% 	mA&6"/
2"?!	# 	mB&7"/
:0F"G!:'	)* *rH   c                    [        [        XUS9n[        [        5       [        U" S5      5      S S9[        [        S5      [        U" S5      5      S SS9[        [        SS	5      [        U" S5      5      S
 SS9[        [        SS	5      [        U" S5      5      S SS9[        [        5       [        U" S5      5      [        SS9/$ )Nr   rV  c                 V    [         R                  " [         R                  " U5      5      $ r<   re   log1prF  r   s      rE   r   1module_inputs_torch_nn_Softplus.<locals>.<lambda>-  s    UYYq\1JrH   r   r   c                 b    S[         R                  " [         R                  " SU-  5      5      -  $ )NrD  r   rw  r   s      rE   r   ry  0  s"    5;;uyyQRUVQVGW;X1XrH   betar  c                     US-  S:  R                  U5      U-  US-  S:*  R                  U5      S-  S-  [        R                  " [        R                  " SU-  5      5      -  -   $ Nr   r|  r  rE  type_asre   rx  rF  r   s      rE   r   ry  5  `    !a%4(@(@(Ca(GEd?33A6;b@5;;uyyYZ]^Y^O_C``)arH   beta_thresholdrX   c                     US-  S:  R                  U5      U-  US-  S:*  R                  U5      S-  S-  [        R                  " [        R                  " SU-  5      5      -  -   $ r~  r  r   s      rE   r   ry  ;  r  rH   beta_threshold_scalarr   r   r  r  s          rE   module_inputs_torch_nn_Softplusr  '  s    VP]^J 	mo"/
80D"E!J	L 	mA&6"/
80D"E!X	! 	mAt&<"/
80D"Ea)	+ 	mAt&<"/
2"?a0	2 	mo"/
1">!:'	))* *rH   c                 8   [        [        XUS9n[        [        5       [        U" S5      5      S9[        [        S5      [        U" S5      5      SS9[        [        S5      [        U" S5      5      SS9[        [        5       [        U" S	5      5      [        S
S9/$ )Nr   r  r  rJ   lambdar  rX   lambda_scalarr   r   r  r  r  s          rE   !module_inputs_torch_nn_Softshrinkr  D  s    VP]^J 	mo"/
90E"F	HmA&7"/
90E"F!	# 	mA&7"/
2"?(	* 	mo"/
1">!:'	)* *rH   c           
          [        [        XUS9n[        [        5       [        U" S5      5      S S9[        [        5       [        U" S5      5      S SS9[        [        5       [        U" S	5      5      [        S
S9/$ )Nr   r  c                 R    UR                  S[        R                  " U5      -   5      $ NrJ   rZ  re   r-  r   s      rE   r   1module_inputs_torch_nn_Softsign.<locals>.<lambda>\      q599Q<7G1HrH   r   rX   c                 R    UR                  S[        R                  " U5      -   5      $ r  r  r   s      rE   r   r  _  r  rH   r  r  r   r   r  r  s          rE   module_inputs_torch_nn_Softsignr  V  sz    VP]^J 	mo"/
90E"F!H	J 	mo"/
2"?!H!	# 	mo"/
1">!:'	)* *rH   c           
          [        [        XUS9n[        [        5       [        U" S5      5      S9[        [        5       [        U" S5      5      SS9[        [        5       [        U" S5      5      [        SS	9/$ 
Nr   rP  r  rX   r  r  r   r   r  r  r  s          rE   module_inputs_torch_nn_Tanhr  g  r    VP]^J 	mo"/
<0H"I	Kmo"/
2"?!	# 	mo"/
1">!:'	)	* 	*rH   c           
          [        [        XUS9n[        [        5       [        U" S5      5      S9[        [        5       [        U" S5      5      SS9[        [        5       [        U" S5      5      [        SS	9/$ r  r  r  s          rE   !module_inputs_torch_nn_Tanhshrinkr  w  r  rH   c                 F   [        [        XUS9n[        [        SS5      [        U" S5      5      SS9[        [        SS5      [        U" S5      5      SS9[        [        SS5      [        U" S	5      5      S
S9[        [        SS5      [        U" S5      5      [        SS9/$ )Nr   rE  r  rP  threshold_valuer  g      $@large_valuerX   threshold_value_scalarr   r   r  r  r  s          rE    module_inputs_torch_nn_Thresholdr    s    VP]^J 	mB&;"/
<0H"I*	, 	mB&<"/
<0H"I&	( 	mB&;"/
2"?1	3 	mB&;"/
1">!:'	)* *rH   c           
          [        [        XUS9n[        [        5       [        U" S5      5      S S9[        [        5       [        U" S5      5      S SS9[        [        5       [        U" S	5      5      [        S
S9/$ )Nr   r  c                 \    U[         R                  " [        R                  " U5      5      -  $ r<   re   tanhFsoftplusr   s      rE   r   -module_inputs_torch_nn_Mish.<locals>.<lambda>      UZZ

15N1NrH   r   rX   c                 \    U[         R                  " [        R                  " U5      5      -  $ r<   r  r   s      rE   r   r    r  rH   r  r  r   r   r  r  s          rE   module_inputs_torch_nn_Mishr    sz    VP]^J 	mo"/
90E"F!N	P 	mo"/
2"?!N!	# 	mo"/
1">!:'	)* *rH   c           
          [        [        XUS9n[        [        5       [        U" S5      U" S5      5      S S9[        [        5       [        U" S5      U" S5      5      S SS9/[	        U5      -   $ )	Nr   r5  c           
      ^    SUR                  5       -  [        S [        X#SS9 5       5      -  $ )Nr  c              3   f   #    U  H'  u  pX-
  R                  5       R                  5       v   M)     g 7fr<   )r-  r  )r  abs      rE   r  Bmodule_inputs_torch_nn_L1Loss.<locals>.<lambda>.<locals>.<genexpr>  s1      ImUkTQ KL%IZIZI\I\Uks   /1T)strict)rJ  r  zipr   r   r   r   s       rE   r   /module_inputs_torch_nn_L1Loss.<locals>.<lambda>  s7    BNS ImUXYZfjUkIm Fm 5mrH   r   rX   c                 j    SUR                  5       -  X#-
  R                  5       R                  5       -  $ )Nr  )rJ  r-  r  r  s       rE   r   r    s$    BNae[[]EVEVEX4XrH   r  r  )r   r
   r   r   r  r  s          rE   module_inputs_torch_nn_L1Lossr    s    VP]^J 	mo"/
90E0:90E#G"m	n
 	mo"/
2
2"O!X!	#	$ 'K:&V	W 	WrH   c                 `   [        [        XUS9nS0 4SSS04SSS04SSS	04/n/ nU H  u  pU
4S
 jnUR                  [        [	        S0 U
D6[	        U" S5      U" S5      5      U	US95        UR                  [        [	        S0 U
D6[	        U" S5      U" S5      5      SU	 3US95        M     U$ )Nr   r2   r  r  r  r6  r7  r  r  c                     [        X#40 UD6$ r<   )r#   r
  s        rE   r   9module_inputs_torch_nn_SmoothL1Loss.<locals>.reference_fn  s    )!E2DEErH   r   r   r   rX   r  r\  rM   r   rU   r   rV   rZ   r   r  r   r   r  r   s               rE   #module_inputs_torch_nn_SmoothL1Lossr    s    VP]^J 
R	;./	K01	K01	%E M$) 8J 	F 	-*M:L*M&3Jw4G4>w4G'I!%1	3	
 	-*M:L*M&3JrN4>rN'D&tf-%1	3	
 %*& rH   c                 P   [        [        XUS9n[        [        XSS9n[        [        XSS9nS0 4SSS04SSS04S	SS
04SSU" S5      04/n	SS jn
/ nU	 Hg  u  pUR                  [        [	        S0 UD6[	        U" SSSS9U" S5      R                  S5      R                  U5      5      U[        U
40 UD6S95        Mi     U" S5      nUR                  [        [	        US9[	        U" SSSS9U" S5      R                  S5      R                  U5      5      S[        XS9S95        U$ )Nr   Fr2   r  r  r  r6  r7  r  r  r  r   r   c                     X2R                  5       -  SU-
  SU-
  R                  5       -  -   * nUb  Xe-  nUS:X  a  U$ US:X  a!  UR                  5       UR                  5       -  $ UR                  5       $ )NrJ   r  r7  )r  r  rJ  r   r   r   r   r  r   r   s          rE   bce_loss_reference_fn=module_inputs_torch_nn_BCELoss.<locals>.bce_loss_reference_fn  so    uuw;!a%AE;;=!889_FM& ::<!'')++::<rH   r  {Gz?Gz?lowhighr   r   rX   r   scalar_weightr7  Nr   r
   rK   r   r   gtto)rM   r   rU   r   rV   rZ   r   r;  r3  r  r  r   r   r  r  s                  rE   module_inputs_torch_nn_BCELossr    sg   VP]^J+fQVWK+fQVWK 
R	;./	K01	K01	X{5123%E  M$) -*M:L*M&3JxTX`4a4?4I4L4LQ4O4R4RSX4Y'[!%,-B%YFX%Y	[	
 %*  OMm=&I"/
24h0W0;B0B0B10E0H0H0O#Q(!()>!U		W rH   c                    [        [        XUS9n[        [        XSS9n[        [        XSS9nS0 4SSS04SSS04S	SS
04SSU" S5      04SSU" S5      04/n	SS jn
/ nU	 Hg  u  pUR                  [        [	        S0 UD6[	        U" SSSS9U" S5      R                  S5      R                  U5      5      U[        U
40 UD6S95        Mi     U$ )Nr   Fr2   r  r  r  r6  r7  r  r  r  r   r  scalar_weightsrX   c                    U* R                  SS9nSU-
  R                  U5      R                  U5      R                  U* R                  5       R                  U* U-
  R                  5       5      R	                  5       5      nUb  Xu-  nUS:X  a  U$ US:X  a!  UR                  5       UR                  5       -  $ UR                  5       $ )Nr   r8  rJ   r  r7  )r<  mul_add_exp_ri  r  rJ  )r   r   r   r   r  r   max_valr   s           rE   bce_withlogitsloss_reference_fnQmodule_inputs_torch_nn_BCEWithLogitsLoss.<locals>.bce_withlogitsloss_reference_fn  s    2***#a%a%%g.33gXOO4E4J4JQBQXLK^K^K`4a4f4f4hi_FM& ::<!'')++::<rH   r  r  r  r  r   r   r  r  )rM   r   rU   r   rV   rZ   r   r;  r3  r  r  r   r   r  s                 rE   (module_inputs_torch_nn_BCEWithLogitsLossr    s   VP]^J+fQVWK+fQVWK 
R	;./	K01	K01	X{5123	Hk"o67%E  M$) -*M:L*M&3JxTX`4a4?4I4L4LQ4O4R4RSX4Y'[!%,-L%cPb%c	e	
 %* rH   c                 X   [        [        XUS9n[        [        U[        R                  SS9n[        [        XSS9n/ SQn	S0 4SSU" S5      04SSS	04S
S
S04SS	SS.4/n
/ n[	        X5       GH  u  nu  pX4S jnUR                  [        [        S)SU0UD6[        U" S5      U" SSSS95      SU SU 3US95        UR                  [        [        S)SU0UD6[        U" S5      U" SSSS95      SU SU 3US95        UR                  [        [        S)SU0UD6[        U" S5      U" SSSS95      SU SU 3US95        UR                  [        [        S)SU0UD6[        U" S5      U" SSSS95      S U SU 3US95        UR                  SS 5      b  GM-  UR                  [        [        S)SU0UD6[        U" S!5      U" S!5      R                  S	S"95      S#U SU 3US95        UR                  [        [        S)SU0UD6[        U" S$5      U" S$5      R                  S	S"95      S%U SU 3US95        UR                  [        [        S)SU0UD6[        U" S&5      U" S&5      R                  S	S"95      S'U SU 3US95        UR                  [        [        S)SU0UD6[        U" S5      U" S5      R                  S	S"95      S(U SU 3US95        UR                  [        [        S)SU0UD6[        U" S5      U" S)SSS95      S*U SU 3[        [        S+S,9S95        GM     U$ )-Nr   F)r7  r  r  r2   r  r   r  r  rJ   label_smoothingg333333?ignore_index_label_smoothing)r  r  c                     [        X#4SU0UD6$ )Nr  )r   )r   r   r   r   r  r  s         rE   r   =module_inputs_torch_nn_CrossEntropyLoss.<locals>.reference_fnF  s    /`	`M_``rH   r  )r   r   r   r   )r   r   r   r   r   r  4d_rR   r   r   r   r   )r   r   r,  r   r   r   2d_)r   r   r   r   r   r   )r   r   r   r   r   r+  )r   r   r   r   r  4d_prob_target_)r   r   r   3d_prob_target_)r   r   2d_prob_target_higher_dim_prob_target_rX   r  Tr  )r   r
   re   r2  r   rK   r   r   r  softmaxr:  )rM   r   rU   r   rV   rZ   r   r;  r3  
reductionsr  r   r  r   r  r   s                   rE   'module_inputs_torch_nn_CrossEntropyLossr  6  s   VP]^J+fEJJV[\K+fQVWK3J	R	X{4012	.!,-	.56	'!PT)UV%E M181K-	-D/8 	a 	-*b)*bOa*b&3J|4L4?	qWX4Y'["4&)5%1	3	
 	-*b)*bOa*b&3Jy4I4?ATU4V'X"4&)5%1	3	
 	-*b)*bOa*b&3Jv4F4?QR4S'U"4&)5%1	3	
 	-*b)*bOa*b&3J?Q4R4?UV]^4_'a*4&)=%1	3	
 !!.$7?  m.fi.fSe.f*7
<8P8B<8P8X8X]^8X8_+a#24&)!E)5	7   m.fi.fSe.f*7
98M8B98M8U8UZ[8U8\+^#24&)!E)5	7   m.fi.fSe.f*7
68J8B68J8R8RWX8R8Y+[#24&)!E)5	7   m.fi.fSe.f*7
CU8V8BCU8V8^8^cd8^8e+g#:4&)!M)5	7   m.fi.fSe.f*7
48H8CBATU8V+X#0a	{!C)01JY])^	`} 2LL rH   c                 L   [        [        XUS9n[        [        XSS9n[        [        [	        5       [	        U" S5      [
        R                  " SU[
        R                  S95      S9[        R                  [        SS9[        [        [	        5       [	        U" S5      U" S5      5      S9[        R                  [        S	S9[        [        [	        5       [	        U" S5      [
        R                  " / S
QU[
        R                  S95      S9[        R                  [        SS9[        [        [	        U" S5      S9[	        U" S5      [
        R                  " SS/U[
        R                  S95      S9[        R                  [        SS9[        [        [	        SS9[	        U" S5      U" S5      R                  SS9R                  5       5      S9[        R                  [        SS9[        [        [	        SS9[	        U" S5      [
        R                  " SS/U[
        R                  S95      S9[        R                  [        SS9[        [        [	        5       [	        U" S5      [
        R                  " SU[
        R                  S95      S9[        R                  [        SS9/$ )Nr   Fr  r   rU   r  z@Expected floating point type for target with class probabilitiesr  r  z(expected target dtype to be Long or Byter   rJ   r   z7Expected input batch_size .* to match target batch_sizer  r   rJ   zGweight tensor should be defined either for all .* classes or no classes)r  r  z7ignore_index is not supported for floating point target      ?)r  z+label_smoothing must be between 0.0 and 1.0r  )r   r   zExpected target size)r   r
   r   r   r   re   zerosr2  r   r   r_   tensorr  r  detach)rM   r   rU   r   rV   rZ   r   r3  s           rE   -module_error_inputs_torch_nn_CrossEntropyLossr    sV   VP]^J+fQVWK 	"//+v&KKvUZZH %22#Z	
 	"//+v&t$ %22#B	
 	"//+v&LL6L %22!Q	
 	"/{47H"I+v&LL!QejjI %22#a	
 	"/Q"?+v&v&..1.5<<> %22#Q	
 	"/"D+v&LL!QejjI %22#E	
 	"//+y)KKvUZZH %22#.	
a\ \rH   c                 R   [        [        XUS9n[        [        USS9nS0 4SSS04SSS	04S
SS04SSS04/n[        R                  [        R                  /n	/ n
[        X5       GH  u  nu  pU4S jnUR                  SS5      nUS:X  a  SOSnUS:X  a  SOSnU
R                  [        [        S0 UD6[        U" S5      R                  S5      U" SUUUS9SS5      U S3US95        U
R                  [        [        S0 UD6[        U" S5      R                  S5      U" SUUUS9[        R                  " SUS9[        R                  " SUS95      U S3US95        U
R                  [        [        S0 UD6[        U" S5      R                  S5      U" SUUUS9SS5      U S3US95        U
R                  [        [        S0 UD6[        U" S5      R                  S5      U" SUUUS9[        R                  " SUS9[        R                  " SUS95      U S3US95        GM     U
$ ) Nr   F)r   r   r2   r  r  r  r6  r7  r  r  blank   c                     [        X#XE40 UD6$ r<   )r   )r   r   r   r   iltlr  s          rE   r   4module_inputs_torch_nn_CTCLoss.<locals>.reference_fn   s    $Q2H5GHHrH   r   rJ   r%  )2   r   r%  r   )r      )rU   r  r  )r  r  r  )r     rW  _lengths_intlistsr   r&  _lengths_tensors)K   _1d_target_lengths_intlists_1d_target_lengths_tensorsrX   )r   r
   re   intr2  r   r  rK   r   r   r  r  )rM   r   rU   r   rV   rZ   r   r;  r  target_dtypesr   target_dtyper   r  r   r  r  r  s                     rE   module_inputs_torch_nn_CTCLossr    s   VP]^J+fEJK 
R	;./	K01	K01	7B- %E YY

+MM4;M4Q00t@R 	I #&&w2B;aAb[rb"/"E2D"E+J{,C,O,OPQ,R,7|Y\cg,h,8,H v./)+	
 	"/"E2D"E+J{,C,O,OPQ,R,7|Y\cg,h,1LLf,U,1LLf,UW v-.)+		
 	"/"E2D"E+J{,C,O,OPQ,R,7|adko,p,8,H v89)+	
 	"/"E2D"E+J{,C,O,OPQ,R,7|adko,p,1LLf,U,1LLf,UW v78)+		
I 5R^ rH   c                    [        [        XUS9n[        [        SSS5      [        U" S5      5      SS9[        [        SSSSS	9[        U" S5      5      S
S9[        [        SSS5      [        U" S5      5      SS9[        [        SSS5      [        U" S5      5      SS9[        [        SSSS5      [        U" S5      5      SS9[        [        SSSS5      [        U" S5      5      SS9[        [        SSS5      [        U" S5      5      SS9[        [        SSSSS	9[        U" S5      5      SS9[        [        SSSS5      [        U" S5      5      SS9[        [        SSSS5      [        U" S5      5      SS9/
$ )Nr   r   r  rQ  )r   r  r   	1d_affiner  Fr   1d_affine_not_biasr  )r   r  1d_affine_GNrJ   )r   r  1d_affine_large_batchr   r   r   r   1d_no_affine_INr   r   1d_no_affine_LN)r   r  r   r   	2d_affiner  )r   r  r   r   2d_affine_not_bias)r   r   r   r   2d_no_affine_IN2d_no_affine_LNr   r  s          rE    module_inputs_torch_nn_GroupNormr  1  s   VP]^J 	+Aq$7'
9(=>	 	+Aq$UC'
9(=>%	' 	+Ar48'
7(;<	! 	+Aq$7'
8(<=(	* 	+Aq$>'
9(=>"	$ 	+Ar4?'
7(;<"	$ 	+Aq$7'
<(@A	 	+Aq$UC'
<(@A%	' 	+Aq$>'
<(@A"	$ 	+Aq$>'
<(@A"	$K(& (&rH   c           	          [        [        [        SS5      [        5       S9[        R                  [
        SS9[        [        [        SS5      [        5       S9[        R                  [
        SS9/$ )	zL
Error inputs for GroupNorm that test error messages include actual values.
r   r   r  z9num_channels \(10\) must be divisible by num_groups \(3\)r  r      z9num_channels \(13\) must be divisible by num_groups \(5\))r   r   r   r   r   r  )rM   r   rU   r   rV   rZ   s         rE   &module_error_inputs_torch_nn_GroupNormr  _  sp    
 	"/2"6+o %77!T	
 	"/2"6+o %77!T	
 rH   c           
          [        [        XUS9n[        [        S5      [        U" S5      5      S9[        [        S5      [        U" S5      5      SS9[        [        5       [        U" S5      5      [        S	S
9/$ )Nr   rE  )r   r   r   r   r  rX   r  r  r   r   r  r  r  s          rE   !module_inputs_torch_nn_Hardshrinkr  y  s|    VP]^J 	+B/'
<(@A	
 	+B/'
27	

 	+o'
162		
 rH   c           	          [        [        XUS9n[        [        5       [        U" S5      5      [        SS9[        [        5       [        U" S5      5      SS9/$ )Nr   r   r   r  r  r  r  r  r  s          rE    module_inputs_torch_nn_Hardswishr    s[    VP]^J 	+o'
162		
 	+o'
<(@A	 rH   c           
          [        [        XUS9n[        [        5       [        U" S5      5      S S9[        [        5       [        U" S5      5      S SS9[        [        5       [        U" S	5      5      [        S
S9/$ )Nr   r  c                 &    UR                  SS5      $ Nr   rJ   r<  r   s      rE   r   1module_inputs_torch_nn_Hardtanh.<locals>.<lambda>      QrH   r   rX   c                 &    UR                  SS5      $ r  r  r   s      rE   r   r    r  rH   r  r  r   r   r  r  s          rE   module_inputs_torch_nn_Hardtanhr    s|    VP]^J 	+o'
9(=>7	

 	+o'
277		
 	+o'
162		
 rH   c                 x   [        [        XUS9n[        [        XSS9nS0 4SSS04SSS04S	SS
04SSS04/n/ n	U H  u  pU4S jnU	R                  [        [	        S0 UD6[	        U" S5      U" S5      R                  S5      R                  U5      R                  S5      R                  S5      5      U
US95        U	R                  [        [	        S0 UD6[	        U" S5      U" S5      R                  S5      R                  U5      R                  S5      R                  S5      5      SU
 3US95        M     U	$ )Nr   Fr2   r  r  r  r6  r7  r  r  r  rD  c                     [        X#40 UD6$ r<   )r   r
  s        rE   r   ?module_inputs_torch_nn_HingeEmbeddingLoss.<locals>.reference_fn  s    /K8JKKrH   r  r   r   rJ   r   rX   r  )	r   r
   rK   r   r   r  r  r  sub_r  s                rE   )module_inputs_torch_nn_HingeEmbeddingLossr     sl   VP]^J+fQVWK 
R	;./	K01	K01	Hc?#%E M$) 8J 	L 	-*M:L*M&3Ju4E4?4F4I4I!4L4O4OPU4V4[4[\]4^4c4cde4f'h!%1	3	
 	-*M:L*M&3JrN4?O4F4Fq4I4L4LU4S4X4XYZ4[4`4`ab4c'e&tf-%1	3	
 %*& rH   c                     [        [        XUS9nS0 4SSS04SSS04SSS	04/n/ nU HE  u  pU
4S
 jnUR                  [        [	        S0 U
D6[	        U" S5      U" S5      5      U	US95        MG     U$ )Nr   r2   r  r  r  r6  r7  r  r  c                     [        X#40 UD6$ r<   )r   r
  s        rE   r   6module_inputs_torch_nn_HuberLoss.<locals>.reference_fn  r  rH   r  r   rX   r\  r  s               rE    module_inputs_torch_nn_HuberLossr$    s    VP]^J 
R	;./	K01	K01	%E M$) 8J 	C 	-*M:L*M&3Jw4G4>w4G'I!%1	3	
	 %* rH   c                    [        [        XUS9nUR                  SS5      nUS   nSu  ppnSSSS	.nX   nS
U-   n[        U(       a  [	        X5      O[	        XU5      [	        U" U5      5      S9[        U(       a  [	        XX5      O[	        XXU5      [	        U" U5      5      SS9[        U(       a  [	        X5      O[	        XU5      [	        U" U5      5      [
        SS9[        U(       a  [	        XX5      O[	        XXU5      [	        U" U5      5      [
        SS9[        U(       a
  [	        XSS9O
[	        XUSS9[	        U" U5      5      SS9[        U(       a  [	        XSSS9O[	        XUSSS9[	        U" U5      5      SS9/$ )Nr   r   Fr  )r   rQ  r  FT)r   r%  r  r  rJ   r   r   r  r  tracking_statsr  tracking_stats_no_batch_dimr  r   T)r  r  )r  r   r  )r   r
   r  r   r   r:  )rM   r   rU   r   rV   rZ   r   r   r  num_featuresrK  r  r  track_running_statsinput_no_batch_shape_dictr  r  s                    rE   %module_inputs_torch_nn_InstanceNormNdr,    s   VP]^J::fe$DsA?X<Lx)<$+	l K4733 	04c,-[c:d'
3D(EF		H
 	MQcVIlCVW'
3D(EF!	# 	04c,-[c:d'
3G(HI2.	0 	MQcVIlCVW'
3G(HI2	! 	=AcD9l$G'
3D(EF	 	IMcDuEl$US'
3D(EF"	$G)& )&rH   c                 &   [        [        XUS9n[        [        S/S5      [        U" S5      5      SS9[        [        S/S5      [        U" S5      5      SS9[        [        S/SS	5      [        U" S5      5      S
S9[        [        / SQS5      [        U" S5      5      SS9[        [        / SQSS	5      [        U" S5      5      SS9[        [        S/S5      [        U" S5      5      SS9[        [        / SQSSS	S9[        U" S5      5      SS9/$ )Nr   r   rQ  r  1d_elementwise_affiner     r   r   !1d_elementwise_affine_large_batchF1d_no_elementwise_affiner   r   r   r   r   r   r   3d_elementwise_affine3d_no_elementwise_affiner   r   1d_empty_elementwise_affineT)elementwise_affiner   3d_elementwise_affine_no_biasr   r  s          rE    module_inputs_torch_nn_LayerNormr;  )  s)   VP]^J 	+QC6'
9(=>(	* 	+QC6'
;(?@4	6 	+QCu='
9(=>+	- 	+It<'
<(@A(	* 	+ItUC'
<(@A+	- 	+QC6'
6(:;.	0 	+ItPT[`a'
<(@A0	23 rH   c                    [        [        XUS9nS n[        [        S/S5      [        U" S5      5      SUS9[        [        S/S5      [        U" S5      5      S	US9[        [        S/SS
5      [        U" S5      5      SUS9[        [        / SQS5      [        U" S5      5      SUS9[        [        / SQSS
5      [        U" S5      5      SUS9[        [        S/S5      [        U" S5      5      SUS9/$ )Nr   c                    U R                   nUc*  [        R                  " UR                  5      R                   nUR                  nU R
                  nU R                  n[        [        U5      5       Vs/ s H
  o$U-
  S-
  PM     nnWR                  5       nU[        R                  " UR                  S5      R                  USS9U R                   -   5      -  n	Ub  X-  n	U	R                  U5      $ s  snf )NrJ   r   T)r  keepdim)rK  re   finforU   ndimnormalized_shaper   r  rd   floatrsqrtrX  r7  r  )
r   r   r   rK  r@  rA  r   dims
upcasted_ir   s
             rE   rms_norm_reference_fn=module_inputs_torch_nn_RMSNorm.<locals>.rms_norm_reference_fnN  s    ee;++agg&**Cvv--&+C0@,A&BC&Bq1&BCWWY
ekk*..*;*@*@TSW*@*X[\[`[`*`aaF~~a   Ds   4C2r   rQ  r  r.  r   r/  r1  Fr2  r3  r4  r5  r6  r7  r8  r   )rM   r   rU   r   rV   rZ   r   rF  s           rE   module_inputs_torch_nn_RMSNormrH  K  s   VP]^J! 	+QC6'
9(=>(.		0
 	+QC6'
;(?@4.		0
 	+QCu='
9(=>+.		0
 	+It<'
<(@A(.		0
 	+ItUC'
<(@A+.		0
 	+QC6'
6(:;..		05 rH   c           
          [        [        XUS9n[        [        S5      [        U" S5      5      SS9[        [        S5      [        U" S5      5      SS9[        [        S	S
SS5      [        U" S5      5      SS9/$ )Nr   r   )rJ   r   r  r?  r  r   )rJ   r   r  r  2d_uneven_padrJ   r  rD  rE  )rJ   r   r  r  r  3d_custom_paramsr   r  s          rE   (module_inputs_torch_nn_LocalResponseNormrL  ~  s    VP]^J 	+A/'
9(=>	 	+A/'
<(@A 	" 	+Ar3;'
?(CD#	% rH   c           
         [        [        XUS9n[        [        SS5      [        U" S5      5      SS9[        [        SSS5      [        U" S5      5      S9[        [        SSS5      [        U" S	5      5      [        S
S9/$ )Nr   r  r   )rJ   r   r  normr  r   r  )r   r  r   r  r  r  s          rE   module_inputs_torch_nn_LPPool1drO    s    VP]^J 	+C3'
9(=>	 	+Aq!4'
9(=>	@ 	+Aq!4'
6(:;2		! rH   c           
         [        [        XUS9n[        [        SSS5      [        U" S5      5      S9[        [        SSS5      [        U" S5      5      [        SS9[        [        SS5      [        U" S5      5      S	S
9/$ )Nr   r   rJ   r   r  r  r  r   r  r  r   r  r  rN  r  r  r  s          rE   module_inputs_torch_nn_LPPool2drS    s    VP]^J 	+Aq!4'
<(@A	C 	+Aq!4'
9(=>2		!
 	+C3'
<(@A	 rH   c           
         [        [        XUS9n[        [        SSS5      [        U" S5      5      S9[        [        SSS5      [        U" S5      5      [        SS9[        [        SS5      [        U" S5      5      S	S
9/$ )Nr   r   )rJ   r   r  r  r  r  )r   r  r  r  r   r  r  rN  r  r  r  s          rE   module_inputs_torch_nn_LPPool3drU    s    VP]^J 	+Aq!4'
?(CD	F 	+Aq!4'
<(@A2		!
 	+C3'
?(CD	 rH   c           
          [        [        XUS9n[        [        S5      [        U" S5      5      SS9[        [        SS5      [        U" S5      5      SS9[        [        SSS9[        U" S5      5      S	S9/$ )
Nr   r   )r   r   r   r  r  r  Treturn_indicesrX  r   r  s          rE    module_inputs_torch_nn_MaxPool1drY    s    VP]^J 	+A.'
:(>?	 	+Aq1'
:(>?	 	+AdC'
:(>?!	# rH   c                     [        [        XUS9n[        [        SSS5      [        U" S5      5      SS9[        [        SSS5      [        U" S5      5      S	S9[        [        SSSS
S9[        U" S5      5      SS9/$ )Nr   r   r   r  r  rR  r  r  rQ  r  TrW  rX  r   r  s          rE    module_inputs_torch_nn_MaxPool2dr\    s    VP]^J 	+FFFC'
9(=>	 	+FFFC'
<(@A	 	+FFFSWX'
<(@A!	# rH   c                    [        [        XUS9n[        [        [	        S5      [	        U" S5      5      S9[
        R                  [        SS9[        [        [	        S5      [	        U" S5      5      S9[
        R                  [        SS9[        [        [	        SS	S
9[	        U" S5      5      S9[
        R                  [        SS9/$ )zI
Error inputs for MaxPool2d that test error messages for invalid inputs.
r   r   r  r  z;non-empty 3D or 4D \(batch mode\) tensor expected for inputr  rJ   r   r   r   r   r   r   r  )rJ   rJ   r   r   z3pad should be at most half of effective kernel size)r   r
   r   r   r   r   r   r_   r  s          rE   &module_error_inputs_torch_nn_MaxPool2dr`    s     VP]^J 	"/"2+Jv,>? %22#V	
 	"/"2+J,GH %22#V	
 	"/1"=+J~,FG %22#N	
- rH   c                 :   [        [        XUS9n[        [        S5      [        U" S5      5      S9[        [        SS5      [        U" S5      5      SS9[        [        SSS5      [        U" S5      5      S	S9[        [        SSSS
S9[        U" S5      5      SS9/$ )Nr   r  r  r  r   r  r  r  stride_paddingTrW  rX  r   r  s          rE    module_inputs_torch_nn_MaxPool3drc  	  s    VP]^J 	+I6'
?(CD	F 	+Ay9'
?(CD	 	+Aq)<'
?(CD!	# 	+Aq)DQ'
?(CD!	# rH   c                   ^ [        [        TX#S9nU4S jn[        [        SSU" 5       S9[        U" S5      5      SS9[        [        S	S
U" 5       S9[        U" S5      5      SS9[        [        SSU" 5       SS9[        U" S5      5      SS9[        [        SSU" 5       S9[        U" S5      5      [        SS9[        [        S	S
U" 5       S9[        U" S5      5      [        SS9/$ )Nr   c                  h   > [         R                  " S[         R                  T S9R                  5       $ )N)rJ   r   r   rU   r   re   r.  doubler/  r&  s   rE   make_random_samplesGmodule_inputs_torch_nn_FractionalMaxPool2d.<locals>.make_random_samples2	  #    {{9ELLHQQSSrH   r   rD  output_ratio_random_samples)rJ   r   r   r  ratior  r  )r   r   output_sizern  )rJ   r   r  r  sizeTrm  rn  rX  ratio_return_indices)r   r   r  ratio_no_batch_dimr  )r   r  r  size_no_batch_dimr  rM   r   rU   r   rV   rZ   r   ri  s    `      rE   *module_inputs_torch_nn_FractionalMaxPool2drx  /	  s   V5^JT 	+ACQdQfg'
<(@A	 	+FXkXmn'
<(@A	 	+5H5J[_ (
<(@A'	) 	+ACQdQfg'
9(=>2%		'
 	+FXkXmn'
9(=>2$		&) rH   c                   ^ [        [        TX#S9nU4S jn[        [        SSU" 5       S9[        U" S5      5      SS9[        [        S	S
U" 5       S9[        U" S5      5      SS9[        [        SSU" 5       S9[        U" S5      5      SS9[        [        SSU" 5       SS9[        U" S5      5      SS9[        [        SSU" 5       S9[        U" S5      5      [        SS9[        [        S	S
U" 5       S9[        U" S5      5      [        SS9/$ )Nr   c                  h   > [         R                  " S[         R                  T S9R                  5       $ )Nr   r   r   rf  rg  r&  s   rE   ri  Gmodule_inputs_torch_nn_FractionalMaxPool3d.<locals>.make_random_samplesT	  rk  rH   r   rD  rl  )r   r   r   r   r   ro  r  r  )r   r   r   rp  )r   r   r  r  r  rr  )r   r   r   )r   r   r   )r   r      r  r   asymsizeTrs  rt  )r   r   r   r   ru  r  )r   r  r  r  rv  r  rw  s    `      rE   *module_inputs_torch_nn_FractionalMaxPool3dr  Q	  s,   V5^JT 	+ACQdQfg'
?(CD	 	+I9^q^st'
?(CD	 	+I:_r_tu'
3C(DE	 	+5H5J[_ (
?(CD'	) 	+ACQdQfg'
<(@A2%		'
 	+I9^q^st'
<(@A2$		&1 rH   c                 6   [        [        XUS9n[        [        5       [        U" S5      5      SS9[        [        5       [        U" S5      5      [        SS9[        [        5       [        U" S5      5      S	S9[        [        5       [        U" S
5      5      SS9/$ r(  r  r  s          rE   module_inputs_torch_nn_Sigmoidr  w	  s    VP]^J 	+o'
27	

 	+o'
162		
 	+o'
<(@A+	

 	+o'
?(CD.	
# rH   c           
          [        [        XUS9n[        [        5       [        U" S5      5      S SS9[        [        5       [        U" S5      5      S S9[        [        5       [        U" S	5      5      [        S
S9/$ )Nr   rX   c                 >    UR                  5       R                  5       $ r<   rP  r  r   s      rE   r   3module_inputs_torch_nn_LogSigmoid.<locals>.<lambda>	      ):rH   r  r  r5  c                 >    UR                  5       R                  5       $ r<   r  r   s      rE   r   r  	  r  rH   r   r   r   r  r  s          rE   !module_inputs_torch_nn_LogSigmoidr  	  s|    VP]^J 	+o'
27:		
 	+o'
9(=>:	

 	+o'
162		
 rH   c                 V   [        [        XUS9n[        [        U[        R                  SS9nS0 4SSS04SSS04S	SS
04SSS04/n/ n	U HZ  u  pU4S jnU	R	                  [        [        S0 UD6[        U" S5      U" S5      U" S5      R                  5       5      U
US95        M\     U	$ )Nr   Fr2   r  r  r  r6  r7  r  r  r  rD  c                     [        X#U40 UD6$ r<   )r   r  s         rE   r   >module_inputs_torch_nn_MarginRankingLoss.<locals>.reference_fn	  s    .rqO<NOOrH   )r  r   rX   )r   r
   re   r2  rK   r   r   r   r  s                rE   (module_inputs_torch_nn_MarginRankingLossr  	  s    VP]^J+fEJJV[\K 
R	;./	K01	K01	Hc?#%E M$) =O 	P 	-*M:L*M&3Ju4EzRWGX4?4F4K4K4M'O!%1	3	
	 %* rH   c                    [        [        XUS9n[        [        U[        R                  SS9nS0 4SSS04SSS04S	SS
04/n/ n	U H  u  pU4S jnU	R	                  [        [        S0 UD6[        U" S5      U" SSSS95      SU
 3US95        U	R	                  [        [        S0 UD6[        U" S5      U" SSSS95      U
US95        M     U	$ )Nr   Fr2   r  r  r  r6  r7  r  r  c                     [        X#40 UD6$ r<   )r    r
  s        rE   r   Amodule_inputs_torch_nn_MultiLabelMarginLoss.<locals>.reference_fn	  s    1!M:LMMrH   r  r   r   r  1d_r   r  rX   r   r
   re   r2  rK   r   r   r  s                rE   +module_inputs_torch_nn_MultiLabelMarginLossr  	  s   VP]^J+fEJJV[\K 
R	;./	K01	K01	%E M$) 8J 	N 	-*M:L*M&3Ju4E4?!RT4U'W"4&\%1	3	
 	-*M:L*M&3Jw4G4?QUW4X'Z!%1	3	
 %*( rH   c                 j   [        [        XUS9n[        [        U[        R                  SS9n[        [        XSS9nS0 4SSS04SSS04S	SS
04SSS04SSS04SSU" S5      04/n	/ n
U	 HE  u  pU4S jnU
R	                  [        [        S0 UD6[        U" S5      U" SSSS95      UUS95        MG     U
$ )Nr   Fr2   r  r  r  r6  r7  r  r  r   r   r  rD  r  r   r   c                     [        X#40 UD6$ r<   )r   r
  s        rE   r   <module_inputs_torch_nn_MultiMarginLoss.<locals>.reference_fn	  s    ,QH5GHHrH   r  r   r   r  r   rX   r  )rM   r   rU   r   rV   rZ   r   r;  r3  r  r   r   r  r   s                 rE   &module_inputs_torch_nn_MultiMarginLossr  	  s    VP]^J+fEJJV[\K+fQVWK 
R	;./	K01	K01	sAh	Hc?#	X{2/0%E M$) 8J 	I 	-*M:L*M&3Jw4G4?QS4T'V!%1	3	
	 %* rH   c                     [        [        XUS9n[        [        [	        5       [	        U" S5      [
        R                  " / SQU[
        R                  S95      S9[        R                  [        SS9/$ )z
Error inputs for MultiMarginLoss that test the improved error message
for inconsistent target size.
Regression test for issue #106251.
r   r  r  r  r  zYtarget tensor should be 1-D with size equal to.*Expected target size \[5\].*but got \[3\]r  )r   r
   r   r   r   re   r  r2  r   r   r_   r  s          rE   ,module_error_inputs_torch_nn_MultiMarginLossr  	
  si     VP]^J 	"//+w'LL6L %22#t	
 rH   c                 h   [        [        XUS9n[        [        U[        R                  SS9n[        [        XSS9nS0 4SSS04SSS04S	SS
04SSU" S5      04/n	SS jn
/ nU	 HI  u  pUR	                  [        [        S0 UD6[        U" S5      U" SSSS95      U[        U
40 UD6S95        MK     U$ )Nr   Fr2   r  r  r  r6  r7  r  r  r   r   c                 b   X2R                  5       R                  5       -  SU-
  U* R                  5       R                  5       -  -   nUb  Xe-  nU* R                  UR                  5       S-
  5      UR	                  S5      -  nUS:X  a  U$ US:X  a  UR                  5       $ UR                  5       $ )NrJ   r   r  r7  )rP  r  r  r  rr  r7  r  s          rE   &multilabelsoftmargin_loss_reference_fn_module_inputs_torch_nn_MultiLabelSoftMarginLoss.<locals>.multilabelsoftmargin_loss_reference_fn/
  s    YY[__&&!a%QB<<>3E3E3G)GGF'quuw{+affRj8M& ;;= ::<rH   r  r   r   r  r   r  rX   r  )rM   r   rU   r   rV   rZ   r   r;  r3  r  r  r   r   r  s                 rE   /module_inputs_torch_nn_MultiLabelSoftMarginLossr  "
  s    VP]^J+fEJJV[\K+fQVWK 
R	;./	K01	K01	Hk"o./%E  M$) -*M:L*M&3Jw4G4?QUV4W'Y!%,-S%jWi%j	l	
 %* rH   c                     [        [        XUS9n[        [        XSS9nS0 4SSS04SSS04S	SS
04/n/ n	U HS  u  pU4S jnU	R                  [        [	        S0 UD6[	        U" S5      U" S5      R                  5       5      U
US95        MU     U	$ )Nr   Fr2   r  r  r  r6  r7  r  r  c                     [        X#40 UD6$ r<   )r$   r
  s        rE   r   ;module_inputs_torch_nn_SoftMarginLoss.<locals>.reference_fnV
  s    +AG4FGGrH   )r   r   r   rX   r  r  s                rE   %module_inputs_torch_nn_SoftMarginLossr  I
  s    VP]^J+fQVWK 
R	;./	K01	K01	%E M$) 8J 	H 	-*M:L*M&3Jv4F4?4G4L4L4N'P!%1	3	
	 %* rH   c           	         / n[        S XX45       H  nUR                  R                  UR                  R                  pXS'   X)S'   [        R
                  R                  " U0 U	D6n
SnUR                  nSUR                  ;   a)  UR                  S   UR                  S'   UR                  S	 UR                  [        [        X5      UUR                  S95        M     U$ )Nr   rU   r   src_maskmaskr  ).module_inputs_torch_nn_TransformerEncoderLayerr   rY   rZ   re   r   TransformerEncoderLayerr   rK   r   r   r   )rM   r   rU   r   rV   rZ   sampleslayer_module_inputl_argsl_kwargsencoder_layer
num_layersr   s                rE   )module_inputs_torch_nn_TransformerEncoderr  d
  s    GL&: /@@EE.@@GG #!88&MHM
 +88---+8+?+?
+KM  ($$Z0{+MF'#((
 	:( NrH   c                    [        [        XUS9n[        [        SSSS5      [        U" S5      5      SS9[        [        SSS	S[        R
                  5      [        U" S5      5      S
S9[        [        SSS	SSS9[        U" S5      5      SS9/nS [        R                  " / SQU[        R                  S94nS [        R                  " / SQU[        R                  S9R                  S5      4n	[        R                  " XSSS5       HN  u  ppnUR                  [        [        SSS	SUXS9[        U" S5      XS9[        [        USS0S9SU 3S95        MP     S nU(       ae  [        R                  " SS5       HJ  u  pUR                  [        [        SSS	SSXS9[        U" S5      5      U(       a  UOS SU SU 3S95        ML     U$ )Nr   r   r   r}  r   r5  relu_activationr  r   gelu_activationFr   r   FFTr  r[  TFd_modelnheaddim_feedforwarddropoutre  
norm_firstr   r  )r  src_key_padding_maskr  r   re  rf  no_batch_dim_batch_first_r  c                     U R                   (       d  [        S5      eU R                  S5        [        R                  " 5          U " U0 UD6nS S S 5        U R                  S5        W$ ! , (       d  f       N!= f)Nz#Expected module.training to be TrueFT)rV   ri  trainre   no_grad)moduler   rY   rZ   rr  s        rE   fast_path_reference_fnNmodule_inputs_torch_nn_TransformerEncoderLayer.<locals>.fast_path_reference_fn
  sW     !FGGU]]_T,V,F T _s   	A''
A5T)r  re  r  r   	fastpath__norm_first_)r   r
   r   r   r  gelure   r  boolr   r  r   rK   r:  )rM   r   rU   r   rV   rZ   r   r  key_padding_masks
attn_masksr  r  r  re  r   r  s                   rE   r  r  }
  s   VP]^J 	+Aq"c:'9% #	
 	+Aq!S!&&A'9% #	
 	+Aq!SuE'9% 	
G0 u||,@W\WaWabc%9&PUPZPZ[bbcijkJj]M[hi 	F
"/TU8;;E#R ,v& %%>1<RhjkQln0>
	 j"  ) 1 1- OJNN&31a$:' #0"9-# <@!7T$TF,zlC
 !P NrH   c                    [        [        XUS9n[        [        SSSS5      [        U" S5      U" S5      5      SS9[        [        SSS	S[        R
                  5      [        U" S5      U" S5      5      S
S9[        [        SSS	SSS9[        U" S5      U" S5      5      SS9/nS [        R                  " / SQU[        R                  S94nS [        R                  " / SQU[        R                  S9R                  S5      4n	[        R                  " XSSS5       H  u  ppnU
nUnUR                  [        [        SSS	SUXS9[        U" S5      U" S5      XUUS9[        [        USSS.S9SU 3S95        U" S5      U" S5      nnU(       d$  UR                  SS5      UR                  SS5      nnUb  UR                  SS5      4S-  u  nnUR                  [        [        SSS	SUXS9[        UUXUUS9SU SU SU 3S95        M     U$ )Nr   r   r   r}  r   r5  r  r  r   r  Fr   r   r  r  r[  r  r  r  )tgt_maskmemory_masktgt_key_padding_maskmemory_key_padding_maskr   )r  r  r  r  r  rJ   r   norm_first__batch_first__bias_)r   r
   r   r   r  r  re   r  r  r   r  r   rK   r:  	transpose)rM   r   rU   r   rV   rZ   r   r  r  r  r  r  r  r   re  r  r  srctgts                      rE   .module_inputs_torch_nn_TransformerDecoderLayerr  
  st   VP]^J 	+Aq"c:'9%z)'< #	
 	+Aq!S!&&A'9%z)'< #	
 	+Aq!SuE'9%z)'< 	
G. u||,@W\WaWabc%9&PUPZPZ[bbcijkJj]M[hi 	F
+ "6"/TU8;;E#R ,v&
6(:X)=Wn %%>1<QRop8qs 1>	 i(*Y*?S}}Q*CMM!Q,?C+=Q=X=XYZ\]=^<`cd<d9#%9"/TU8;;E#R ,x)=Wn #:,mK=tfU	
	/ jF NrH   c                    [        [        XUS9n/ nS [        R                  " / SQU[        R                  S94nS [        R                  " / SQU[        R                  S9R                  S5      4n	[        R                  " XSSS5       H  u  ppnU
4S-  u  nnU4S-  u  nnUR                  [        [        SSSS	S	S
XUS9	[        U" S5      U" S5      UUUUS9[        [        USSS.S9SU 3S95        U" S5      U" S5      nnU(       d$  UR                  SS	5      nUR                  SS	5      nUb  UR                  SS5      4S-  u  nnUR                  [        [        SSSS	S	S
XUS9	[        UUUUUUS9S95        M     U$ )Nr   r  r  r[  r  r   r   r   rJ   r   )	r  r  r  num_encoder_layersnum_decoder_layersr  re  r  r   r  )r  r  r  r  r   )r  r  r  r  r  r5  r   r  )r   r
   re   r  r  r   r  r   rK   r   r   r:  r  )rM   r   rU   r   rV   rZ   r   r  r  r  r  rt  r  r   re  r  r  r  r  r  r  s                        rE   "module_inputs_torch_nn_Transformerr    s   VP]^JGu||,@W\WaWabc%9&PUPZPZ[bbcijkJj]M[hi 	>
+  $gk86F5H15L22"/TUCDYZ8;rv#x ,v&
6(:XX`)=Th %%>1<QRlm8np 1>	 i(*Y*?S--1%C--1%C':J:Q:QRSUV:W9Y\]9]6 "6"/TUCDYZ8;rv#x ,x()=Th			5 jH NrH   c           
      8   [        [        R                  U[        R                  SS9n[	        [        SSS9[        U" SS5      R                  S5      5      S9[	        [        SSS9[        U" SS	5      R                  S5      R                  S
S	5      5      SS9/$ )NFr   r   r   num_embeddingsembedding_dimr   r  rJ   i   r  discontiguousr  )r   re   r.  r2  r   r   random_r   )rM   r   rU   r   rV   rZ   
make_emptys          rE    module_inputs_torch_nn_Embeddingr  9  s    V5::UZ[J+1AN'
1a(8(@(@(CD	
 	+1AN'
1c(:(B(B1(E(L(LQPS(TU 	

 
rH   c                    / n[         R                  " U5      R                  S:X  aj  UR                  [	        [        [        SSS9[        [         R                  " / SQU[         R                  S95      S9[        R                  [        SS	95        UR                  [	        [        [        SSS9[        [         R                  " S
S/U[         R                  S95      S9[        R                  [        SS	95        UR                  [	        [        [        SSS9[        5       S9[        R                  [        SS	95        U$ )zI
Error inputs for Embedding that test error messages for invalid inputs.
cpur   r   r  )r   r   r%  r  r  zindex out of range in selfr  r  g      @zFExpected tensor for argument.*indices.*to have.*scalar type.*Long.*Intr   z/Trying to create tensor with negative dimension)re   r   rj  rK   r   r   r   r  r2  r   r   
IndexErrorr   r_   r   )rM   r   rU   r   rV   rZ   r  s          rE   &module_error_inputs_torch_nn_Embeddingr  H  s    G ||F  E)&32UV&W"/ZPV^c^h^h0i"j )66%9
	
 NN"/rQR"S+ELL#sFZ_ZgZg,hi %22#a	

 NN"/rQR"S+o %77#J	

 NrH   c                 \   [        [        XUS9n/ nSnS [        R                  " / SQU[        R                  S94n	S [        R                  " / SQU[        R                  S9R                  S5      4n
[        R                  " XXU
5      nU H  u  ppnUR                  [        [        SSSXUS9[        U" S	5      U" S	5      U" S	5      UUS
9[        S95        UR                  [        [        SSSXUS9[        U" S	5      U" S	5      U" S	5      UUS
9[        [        SS9S95        M     U$ )Nr   r  r  r  )r   r   r   r   T)	embed_dim	num_headsre  r   add_bias_kvadd_zero_attnr[  )rt  	attn_maskr   Fre  )r   r
   re   r  r  r   r  r   rK   r   r   ru  )rM   r   rU   r   rV   rZ   r   r  	bool_valsr  r  productsr   r  r  rt  r  s                    rE   )module_inputs_torch_nn_MultiheadAttentionr  {  sE   VP]^JGIu||,@W\WaWabc%9&PUPZPZ[bbclmnJ  yU_`HIQE=I"/!qVZ59bo#q+Jv,>
6@RT^_eTf=MYbd7	
 	"/!qV[59bo#q+Jv,>
6@RT^_eTf=MYbd$%?US	
 JR( NrH   c                    [        [        XUS9n[        [        SS5      [        U" S5      U" S5      5      [        S9[        [        SSSS9[        U" S5      U" S5      5      [        S9/nUR                  SS5      nU(       a>  UR                  [        [        SSSS	S
9[        U" S5      U" S5      5      [        S95        U$ )Nr   r   r   r   Tr   is_rnnFrelu)r   nonlinearity)r   r
   r   r   r:  r  rK   )	rM   r   rU   r   rV   rZ   r   r  r  s	            rE   #module_inputs_torch_nn_RNN_GRU_Cellr    s    VP]^J+Ar2'
1z"~F2	

 	+Ar='
1z"~F2	
G ZZ%(F 	"/2Dv"V+JqM:b>J6	
 NrH   c                     [        [        XUS9n[        [        SS5      [        U" S5      U" S5      U" S5      45      [        S9[        [        SSSS9[        U" S5      U" S5      U" S5      45      [        S94nU$ )Nr   r   r   r   Tr   )r   r
   r   r   r  rM   r   rU   r   rV   rZ   r   r  s           rE   module_inputs_torch_nn_LSTMCellr    s    VP]^J+Ar2'
1
2
SU7WX8	

 	+Ar='
1
2
SU7WX8	
G NrH   c                     U R                   nU R                  S5        [        X5      nUR                  R                  U5        U$ )NF)r   r  r	   data)ry  batch_sizesrequired_gradseqs       rE   make_packed_sequencer    s<    %%Mu
s
0CHHM*JrH   Fc                    [        [        XUS9nUS   nSn	Sn
SnSn/ nU(       a  [        XX5      nO[        XU5      nU GH  nU(       a  Uu  nnnnOUu  nnnSSSUUUS.nSSSUUUS.nU(       a
  WUS'   UUS'   UR                  [	        [        S0 UD6[        U" S	5      5      [        [        US
9S95        UR                  [	        [        S0 UD6[        U" S	5      U" U(       a  SOSS45      5      [        [        US
9S95        U(       d  M  UR                  [	        [        S0 UD6[        [        U" S5      [        R                  " SS/5      5      5      [        [        US
9S95        UR                  [	        [        S0 UD6[        [        U" S5      [        R                  " / SQ5      5      5      [        [        US
9S95        GM     U$ )Nr   r  )r  r  FTr   )
input_sizehidden_sizer  re  r   bidirectionalr   r  r   r   r  r   r   )r   r   r   r   )r   r   r   )r   r   r   r   r   rX   )
r   r
   r   rK   r   r   r{  r  re   r  )rM   r   rU   r   rV   with_packed_sequencerZ   r   r  r  r   re  r   r  prod_genrY   nlr  b_fbidir	cons_argscons_args_hiddens                         rE   module_inputs_torch_nn_RNN_GRUr	    s   VP]^JHF#LDK!MG<{J4m< $B3 MAsE#$Qa$'UL	*+AQ+.ES (*In%/1^,"/"<)"<+Jv,>?$%CQTU	
 	"/"C2B"C+Jv,>
QVA\]_`Ka@bc$%CQTU	
  NN&3&@i&@"/0DZPYEZ\a\h\hjkmnio\p0q"r!()GUX!Y NN&3&@i&@"/0DZPYEZ\a\h\hix\y0z"{!()GUX!YI X NrH   c                    [        [        XUS9nSnSnSn	Sn
/ n[        XxX5      nU H  nUu  pnnSnSUSUXUS.nSUSUXUS.nUR                  [	        [        S0 UD6[        U" S5      5      [        [        US9S	95        US
:  a  UOUnU" U(       a  SOSU45      U" U(       a  SOSU45      4nUR                  [	        [        S0 UD6[        U" S5      U5      [        [        US9S	95        M     U$ )Nr   r  )r   r   r   r   )r  r  r  	proj_sizere  r   r   r  r  r   r   r   r  rX   )r   r
   r   rK   r   r   r}  )rM   r   rU   r   rV   rZ   r   r   re  r   
proj_sizesr  r  rY   r  r  r  r  r  r  r  h_outhxs                          rE   module_inputs_torch_nn_LSTMr    s3   VP]^JDK!MJGt-DH#' y#$[PQ`i$'UL	*+KWXgp+.ES 	"/"<)"<+Jv,>?$%@cR	
 ']	u!!U34ju!RSU`Aa6bc"/"C2B"C+Jv,>C$%@cR	
% 6 NrH   c           	          [        [        XUS9n[        [        S5      [        U" S5      5      [        S9[        [        S5      [        U" S5      5      S9/$ )Nr   rJ   r  r   rJ   r   r5  r  r  r  s          rE   &module_inputs_torch_nn_ReflectionPad1dr  ;  \    VP]^J 	+A.'
6(:;2	

 	+F3'
9(=>	

 
rH   c           	          [        [        XUS9n[        [        S5      [        U" S5      5      [        S9[        [        S5      [        U" S5      5      S9/$ Nr   rJ   r  r   rJ   r   r   r   r   r   r   r  r  r  r  s          rE   &module_inputs_torch_nn_ReflectionPad2dr  J  \    VP]^J 	+A.'
9(=>2	

 	+L9'
<(@A	

 
rH   c           	          [        [        XUS9n[        [        S5      [        U" S5      5      [        S9[        [        S5      [        U" S5      5      S9/$ )Nr   rJ   rP  r   rJ   r   rJ   r   rJ   r   )r   r   r   r   r   r  r  r  s          rE   &module_inputs_torch_nn_ReflectionPad3dr  Y  ]    VP]^J 	+A.'
<(@A2	

 	+,>?'
?(CD	

 
rH   c           	          [        [        XUS9n[        [        S5      [        U" S5      5      [        S9[        [        S5      [        U" S5      5      S9/$ Nr   rJ   r  r   r  r  r  r  r  s          rE   'module_inputs_torch_nn_ReplicationPad1dr   h  r  rH   c           	          [        [        XUS9n[        [        S5      [        U" S5      5      [        S9[        [        S5      [        U" S5      5      S9/$ r  r  r  s          rE   'module_inputs_torch_nn_ReplicationPad2dr"  w  r  rH   c           	          [        [        XUS9n[        [        S5      [        U" S5      5      [        S9[        [        S5      [        U" S5      5      S9/$ )Nr   rJ   r  r   rJ   r   r   r   r   r  )r   r   r   r  r  r  r  r  s          rE   'module_inputs_torch_nn_ReplicationPad3dr%    r  rH   c           	          [        [        XUS9n[        [        S5      [        U" S5      5      [        S9[        [        S5      [        U" S5      5      S9/$ r  r  r  s          rE    module_inputs_torch_nn_ZeroPad1dr'    r  rH   c           	          [        [        XUS9n[        [        S5      [        U" S5      5      [        S9[        [        S5      [        U" S5      5      S9/$ )Nr   rJ   r&  r   r  r  r  r  s          rE    module_inputs_torch_nn_ZeroPad2dr)    r  rH   c           	          [        [        XUS9n[        [        S5      [        U" S5      5      [        S9[        [        S5      [        U" S5      5      S9/$ )Nr   rJ   r  r   r$  r^  r  r  r  s          rE    module_inputs_torch_nn_ZeroPad3dr+    r  rH   c           	          [        [        XUS9n[        [        SS5      [        U" S5      5      [        S9[        [        SS5      [        U" S5      5      S	9/$ )
Nr   rJ   r   r  r   r  r   r  r  r  r  s          rE   $module_inputs_torch_nn_ConstantPad1dr-    s`    VP]^J 	+Aq1'
6(:;2	

 	+FA6'
9(=>	

 
rH   c           	          [        [        XUS9n[        [        SS5      [        U" S5      5      [        S9[        [        SS5      [        U" S5      5      S9/$ )	Nr   rJ   r   r  r   r  r   r  r  r  s          rE   $module_inputs_torch_nn_ConstantPad2dr/    s`    VP]^J 	+Aq1'
9(=>2	

 	+L!<'
<(@A	

 
rH   c           	          [        [        XUS9n[        [        SS5      [        U" S5      5      [        S9[        [        SS5      [        U" S5      5      S	9/$ )
Nr   rJ   r   r  r   r$  r  )rJ   r   rJ   r   rJ   r  r  r  s          rE   $module_inputs_torch_nn_ConstantPad3dr1    sa    VP]^J 	+Aq1'
<(@A2	

 	+,>B'
?(CD	

 
rH   c                 \  ^ [        [        XUS9nS m[        [        S5      [        U" S5      5      [        S9[        [        S5      [        U" S5      5      U4S jS9[        [        S	5      [        U" S5      5      U4S
 jS9[        [        S5      [        U" S5      5      U4S jS9/$ )Nr   c           
      n    [         R                  " U SS2SS2US   * S24   X SS2SS2SUS   24   /SS9$ )z}input:
[[[0., 1., 2.],
  [3., 4., 5.]]]
pad: (1, 2)
output:
    [[[2., 0., 1., 2., 0., 1.],
      [5., 3., 4., 5., 3., 4.]]]
Nr   rJ   r   r  re   catry  pads     rE   padding1d_circular_refDmodule_inputs_torch_nn_CircularPad1d.<locals>.padding1d_circular_ref  s@     yy#aSVGHn-s1gs1vg4FGQOOrH   rJ   r  r   r  r&  c                 (   > T" X R                   5      $ r<   r_  r   r   r   r8  s      rE   r   6module_inputs_torch_nn_CircularPad1d.<locals>.<lambda>      )?99)MrH   )r   rJ   c                 (   > T" X R                   5      $ r<   r_  r;  s      rE   r   r<    r=  rH   r[  c                 (   > T" X R                   5      $ r<   r_  r;  s      rE   r   r<    r=  rH   r  )rM   r   rU   r   rV   rZ   r   r8  s          @rE   $module_inputs_torch_nn_CircularPad1dr@    s    VP]^J	P 	+A.'
6(:;2	

 	+F3'
9(=>M	

 	+F3'
9(=>M	

 	+F3'
9(=>M	
! rH   c                 \  ^ [        [        XUS9nS m[        [        S5      [        U" S5      5      [        S9[        [        S5      [        U" S5      5      U4S jS9[        [        S	5      [        U" S5      5      U4S
 jS9[        [        S5      [        U" S5      5      U4S jS9/$ )Nr   c                     [         R                  " U SS2SS2US   * S24   X SS2SS2SUS   24   /SS9n [         R                  " U SS2SS2SS2US   * S24   X SS2SS2SS2SUS   24   /SS9$ )a  input:
        [[[[0., 1., 2],
           [3., 4., 5.]]]]
        pad: (1, 2, 2, 1)
output:
    [[[[2., 0., 1., 2., 0., 1.],
       [5., 3., 4., 5., 3., 4.],
       [2., 0., 1., 2., 0., 1.],
       [5., 3., 4., 5., 3., 4.],
       [2., 0., 1., 2., 0., 1.]]]]
Nr   r   r  r   rJ   r4  r6  s     rE   padding2d_circular_refDmodule_inputs_torch_nn_CircularPad2d.<locals>.padding2d_circular_ref  s     iiQCF78^,cq!Wc!fW}3EFANyy#aAAwx/0#1aGSVG;K7LMSTUUrH   rJ   r  r   )rJ   r   r   rJ   )rJ   rJ   r   r   c                 (   > T" X R                   5      $ r<   r_  r   r   r   rC  s      rE   r   6module_inputs_torch_nn_CircularPad2d.<locals>.<lambda>/  r=  rH   )r   r   r   r   c                 (   > T" X R                   5      $ r<   r_  rF  s      rE   r   rG  4  r=  rH   )r   r   r   rJ   )rJ   rJ   r   r   c                 (   > T" X R                   5      $ r<   r_  rF  s      rE   r   rG  9  r=  rH   r  )rM   r   rU   r   rV   rZ   r   rC  s          @rE   $module_inputs_torch_nn_CircularPad2drJ    s    VP]^JV  	+A.'
9(=>2	

 	+L9'
<(@AM	

 	+L9'
<(@AM	

 	+L9'
<(@AM	
! rH   c                 \  ^ [        [        XUS9nS m[        [        S5      [        U" S5      5      [        S9[        [        S5      [        U" S5      5      U4S jS9[        [        S	5      [        U" S5      5      U4S
 jS9[        [        S5      [        U" S5      5      U4S jS9/$ )Nr   c                 j   [         R                  " U SS2SS2US   * S24   X SS2SS2SUS   24   /SS9n [         R                  " U SS2SS2SS2US   * S24   X SS2SS2SS2SUS   24   /SS9n [         R                  " U SS2SS2SS2SS2US   * S24   X SS2SS2SS2SS2SUS   24   /SS9$ )	a  input:
    [[[[[ 0.,  1.,  2.],
        [ 3.,  4.,  5.]],
       [[ 6.,  7.,  8.],
        [ 9., 10., 11.]]]]]
pad: (1, 2, 2, 1, 1, 2)
output: [[[[[ 8.,  6.,  7.,  8.,  6.,  7.],
            [11.,  9., 10., 11.,  9., 10.],
            [ 8.,  6.,  7.,  8.,  6.,  7.],
            [11.,  9., 10., 11.,  9., 10.],
            [ 8.,  6.,  7.,  8.,  6.,  7.]],

           [[ 2.,  0.,  1.,  2.,  0.,  1.],
            [ 5.,  3.,  4.,  5.,  3.,  4.],
            [ 2.,  0.,  1.,  2.,  0.,  1.],
            [ 5.,  3.,  4.,  5.,  3.,  4.],
            [ 2.,  0.,  1.,  2.,  0.,  1.]],

           [[ 8.,  6.,  7.,  8.,  6.,  7.],
            [11.,  9., 10., 11.,  9., 10.],
            [ 8.,  6.,  7.,  8.,  6.,  7.],
            [11.,  9., 10., 11.,  9., 10.],
            [ 8.,  6.,  7.,  8.,  6.,  7.]],

           [[ 2.,  0.,  1.,  2.,  0.,  1.],
            [ 5.,  3.,  4.,  5.,  3.,  4.],
            [ 2.,  0.,  1.,  2.,  0.,  1.],
            [ 5.,  3.,  4.,  5.,  3.,  4.],
            [ 2.,  0.,  1.,  2.,  0.,  1.]],

           [[ 8.,  6.,  7.,  8.,  6.,  7.],
            [11.,  9., 10., 11.,  9., 10.],
            [ 8.,  6.,  7.,  8.,  6.,  7.],
            [11.,  9., 10., 11.,  9., 10.],
            [ 8.,  6.,  7.,  8.,  6.,  7.]]]]]
Nr   r   r   r  r   r   rJ   r4  r6  s     rE   padding3d_circular_refDmodule_inputs_torch_nn_CircularPad3d.<locals>.padding3d_circular_refA  s    J iiQCF78^,cq!Wc!fW}3EFANiiQ1s1vgh./!Q7CF7:J6KLRSTyy#aAq3q6'(23SaAq'3q6'>Q:RSYZ[[rH   rJ   r  r   r  )rJ   rJ   r   r   r   c                 (   > T" X R                   5      $ r<   r_  r   r   r   rM  s      rE   r   6module_inputs_torch_nn_CircularPad3d.<locals>.<lambda>s  r=  rH   )r   r   r   rJ   rJ   r   c                 (   > T" X R                   5      $ r<   r_  rP  s      rE   r   rQ  x  r=  rH   )r   r   r   rJ   r   r   c                 (   > T" X R                   5      $ r<   r_  rP  s      rE   r   rQ  }  r=  rH   r  )rM   r   rU   r   rV   rZ   r   rM  s          @rE   $module_inputs_torch_nn_CircularPad3drT  =  s    VP]^J'\T 	+A.'
<(@A2	

 	+,>?'
?(CDM	

 	+,>?'
?(CDM	

 	+,>?'
?(CDM	
! rH   
TestModule	test_gradcuda)	active_ifra   test_gradgradtest_non_contiguous_tensors)rX  rq   ra   c           	         [         R                  " / XS9R                  S5      nU[         R                  :X  a  [         R                  O[         R                  n[         R                  " / XS9n[         R                  " / U[         R
                  S9n	[        [        [        US9[        Xi5      S9[        R                  [        SS9/$ )z
Error inputs for NLLLoss that test weight dtype must match input dtype.
Regression test for device parity between CPU and CUDA with empty tensors.
r  )r   r   r  r  z&expected scalar type \w+ but found \w+r  )re   r  reshaper   r   r2  r   r   r   r   r   r_   )
rM   r   rU   r   rV   rZ   input_tweight_dtypeweight_ttarget_ts
             rE   $module_error_inputs_torch_nn_NLLLossra    s    
 ll2f:BB6JG$)U]]$:5==L||BvBH||BvUZZ@H 	"/x"@+G> %22#A	

 
rH   c                    [        [        XUS9n[        [        [	        SS5      [	        U" SS5      U" SS5      5      S9[
        R                  [        SS9[        [        [	        SS5      [	        U" SS5      U" SS	5      5      S9[
        R                  [        S
S9[        [        [	        SS5      [	        U" SS5      U" SS5      5      S9[
        R                  [        SS9[        [        [	        SS5      [	        U" SS5      U" SSSS5      5      S9[
        R                  [        SS9[        [        [	        SSS5      [	        U" SS5      U" SS	5      5      S9[
        R                  [        S
S9[        [        [	        SSS5      [	        U" SS5      U" SS	5      5      S9[
        R                  [        S
S9/nU$ )Nr   r   rW  r      r  5input has inconsistent input_size: got 11 expected 10r     9hidden0 has inconsistent hidden_size: got 21, expected 20r   5Input batch size 3 doesn't match hidden0 batch size 5rJ   z.Expected hidden to be 1D or 2D, got 4D insteadr  r  	r   r
   r   r   r   r   r   r_   r  r  s           rE   )module_error_inputs_torch_nn_RNN_GRU_Cellri    s   VP]^J"/B"7+Jq",=z!R?PQ %22#O	
 	"/B"7+Jq",=z!R?PQ %22#S	
 	"/B"7+Jq",=z!R?PQ %22#O	
 	"/B"7+Jq",=z!QPQSU?VW %22!H	
 	"/B"?+Jq",=z!R?PQ %22#S	
 	"/B"?+Jq",=z!R?PQ %22#S	
]7Gp NrH   c                    [        [        XUS9n[        [        [	        SS5      [	        U" SS5      U" SS5      U" SS5      45      S9[
        R                  [        SS9[        [        [	        SS5      [	        U" SS5      U" SS	5      U" SS	5      45      S9[
        R                  [        S
S9[        [        [	        SS5      [	        U" SS5      U" SS5      U" SS5      45      S9[
        R                  [        SS9[        [        [	        SS5      [	        U" SS5      U" SSSS5      U" SSSS5      45      S9[
        R                  [        SS9/nU$ )Nr   r   rW  r   rc  r  rd  r  re  rf  r   rg  rJ   z/Expected hx\[0\] to be 1D or 2D, got 4D insteadrh  r  s           rE   %module_error_inputs_torch_nn_LSTMCellrk    sz   VP]^J"/B"7+Jq",=
1b@QS]^_acSd?ef %22#O	
 	"/B"7+Jq",=
1b@QS]^_acSd?ef %22#S	
 	"/B"7+Jq",=
1b@QS]^_acSd?ef %22#O	
 	"/B"7+Jq",=
1aQRTV@WYcdeghjkmoYp?qr %22!K	
9%GL NrH   c                 F   [        U[        5      (       a  UR                  S5      S   OUR                  nU[        R
                  :X  a'  US:X  a  [        R                  O[        R                  nO[        R
                  n[        [        XUS9n[        [        [        SSS5      S9[        R                  [        SS	9[        [        [        SSS5      S9[        R                  [        S
S	9[        [        [        SSX!S9[        U" S5      5      S9[        R                   [        SS	9[        [        [        SSSS9S9[        R                  ["        SS	9[        [        [        SSSS9S9[        R                  ["        SS	9[        [        [        SSSS9S9[        R                  ["        SS	9[        [        [        SSSS9S9[        R                  ["        SS	9[        [        [        SSSS9S9[        R                  ["        SS	9[        [        [        SSSS9S9[        R                  ["        SS	9[        [        [        SS5      S9[        R                  ["        SS	9[        [        [        SS5      S9[        R                  ["        SS	9[        [        [        SS5      S9[        R                  [        SS	9[        [        [        SS5      S9[        R                  [        SS	9[        [        [        SS5      S9[        R                  ["        S S	9/n	U	$ )!N:r   r   r   r   rJ   )r   z%hidden_size must be greater than zeror  z$num_layers must be greater than zeror   r   rf  r{  r  zsRNN input dtype .* does not match weight dtype .* Convert input: input\.to\(.*\), or convert model: model\.to\(.*\)r   z%bias should be of type bool, got: intTruez%bias should be of type bool, got: strr  z,batch_first should be of type bool, got: intFalsez,batch_first should be of type bool, got: strg      @z,input_size should be of type int, got: float10z*input_size should be of type int, got: strz$input_size must be greater than zeror   g      @z-hidden_size should be of type int, got: float)r   strsplitrj  re   r   r   float64r   r
   r   r   r   r   r   r  r   	TypeError)
rM   r   rU   r   rV   rZ   ra   mismatched_dtyper   r  s
             rE   $module_error_inputs_torch_nn_RNN_GRUrv    s    +5VS*A*A&,,s#A&v{{K,75,@5==emm ==V[hiJ 	-Aq*AB$77!?		
 	-B*BC$77!>		
 	"/1E"Q+Jy,AB %22!^		
 	-11*EF$77 ?		
 	-11*EF$77 ?		
 	-16*JK$77 ?		
 	-1!*LM$77 F		
 	-1!*LM$77 F		
 	-1'*RS$77 F		
 	-Q*?@$77 F		
 	-a*@A$77 D		
 	-1*=>$77!>		
 	-A*>?$77!>		
 	-3*?@$77 G		
s_G@ NrH   c           
          [        [        XUS9nUR                  SS5      n[        [	        U(       a  [        SS5      O
[        S5      [        U" S5      5      S9[        R                  [        SS	9/$ )
Nr   is_constantFrJ   r   rP  r  z(expected 2D or 3D input \(got 4D input\)r  	r   r
   r  r   r   r   r   r   r  rM   r   rU   r   rV   rZ   r   rx  s           rE   "module_error_inputs_torch_nn_Pad1dr{    so    VP]^J**]E2K 	9D-1"5-XYJZ+J|,DE %22!C		
 rH   c           
          [        [        XUS9nUR                  SS5      n[        [	        U(       a  [        SS5      O
[        S5      [        U" S5      5      S9[        R                  [        SS	9/$ )
Nr   rx  FrJ   r   r  r  z(expected 3D or 4D input \(got 2D input\)r  ry  rz  s           rE   "module_error_inputs_torch_nn_Pad2dr}    o    VP]^J**]E2K 	9D-1"5-XYJZ+Jv,>? %22!C		
 rH   c           
          [        [        XUS9nUR                  SS5      n[        [	        U(       a  [        SS5      O
[        S5      [        U" S5      5      S9[        R                  [        SS	9/$ )
Nr   rx  FrJ   r   r  r  z(expected 4D or 5D input \(got 2D input\)r  ry  rz  s           rE   "module_error_inputs_torch_nn_Pad3dr    r~  rH   r%  )r   r   test_memory_formatrV   )rX  )r   r   r   zSkipped!)r   )r   r   )r   r   r   TTestEagerFusionModuleInfo,test_aot_autograd_symbolic_module_exhaustive#test_aot_autograd_module_exhaustive)rL   r   r   r   test_check_inplacer   )ra   rq   rJ   )r  r   g-C6?)r   r   r   r   r   )r   r   r   r   r   r   )ra   )r  r   r  test_cpu_gpu_parity)rq   ra   g{Gzt?)r   r   r   rq   r   r   )rq   xpu)r   rq   r   r   r   r   )atolrtoltest_forwardr  )r   r   r   )r   r   )r   r   )r   r   r   )include_halfinclude_bfloat16gQ?rQ  )r   r   rq   r   )r  r  )r   r   rq   r   )r   r   )r  )r   rL   r   TestModuleMPStest_non_contiguoustest_save_loadtest_factory_kwargs)rL   r   r   r   )ra   rX  gMb`?)r   r   r   r   )rL   r   r   )r   r   r   r   r   )r  )rL   r   r   r   )rL   r   r   r   r   	module_db)F([  re   unittestcopyr   enumr   	functoolsr   r   r  r   r   rG  torch.nn.functionalr   
functionalr  torch.nn.utils.rnnr	   torch.testingr
   #torch.testing._internal.common_cudar   $torch.testing._internal.common_dtyper   r   r   *torch.testing._internal.common_device_typer   r   r   r   r   r   r   r   2torch.testing._internal.common_methods_invocationsr   !torch.testing._internal.common_nnr   r   r   r   r   r   r   r   r    r!   r"   r#   r$   r%   $torch.testing._internal.common_utilsr&   r'   r(   r)   r*   r+   r,   typesr-   operatorr9   aoqatquantizable	quantizedr.   r=   __annotations__Module	Container	NLLLoss2d	MaxPool2dr/   r?   rj  from_iterable__all__getattrr0   r1   rh  rq  	namespacemodule_namer~   rk   r   namespace_namer4   r   r   r   r   r   r   r   r   r  r4  r=  rU  r]  r:  ru  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.  r3  rJ  rL  rT  r_  re  rq  rt  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r$  r,  r;  rH  rL  rO  rS  rU  rY  r\  r`  rc  rx  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+  r-  r/  r1  r@  rJ  rT  expectedFailurerB  #rnn_gru_lstm_module_info_decoratorsra  ri  rk  rv  r{  r}  r  backendsr   is_availableis_macos_or_newer_macos15_or_newerAdaptiveAvgPool1dAdaptiveAvgPool2d
itemgetterAdaptiveAvgPool3dskipAdaptiveMaxPool1dAdaptiveMaxPool2dAdaptiveMaxPool3d	AvgPool1d	AvgPool2d	AvgPool3dr  r  BatchNorm3dCELUr   Conv1dr   Conv2drs  Conv3dConvTranspose1dchalfConvTranspose2d	complex32	complex64
complex128ConvTranspose3dCosineEmbeddingLossELUFractionalMaxPool2dFractionalMaxPool3dL1LossSmoothL1Loss
LazyConv1d
LazyConv2d
LazyConv3dLazyConvTranspose1dLazyConvTranspose2dLazyConvTranspose3dLinearBilinearLPPool1dLPPool2dLPPool3d	MaxPool1d	MaxPool3d	KLDivLossMSELossMarginRankingLossMultiLabelMarginLossMultiMarginLossSoftMarginLossMultiLabelSoftMarginLossNLLLossGaussianNLLLossPoissonNLLLossHingeEmbeddingLoss	HuberLossBCELossBCEWithLogitsLossCrossEntropyLossCTCLossGELUGLU	GroupNorm
Hardshrink	HardswishHardtanhInstanceNorm1dInstanceNorm2dInstanceNorm3dLocalResponseNorm	LayerNormRMSNormTransformerEncoderr  TransformerDecoderLayerTransformerMultiheadAttention	EmbeddingReLU	LeakyReLUReLU6PReLURNNCellGRUCellLSTMCellSigmoid
LogSigmoidSiLUSoftmax	Softmax2d
LogSoftmaxSoftminSoftplus
SoftshrinkSoftsignTanh
Tanhshrink	ThresholdMishRNNGRULSTMReflectionPad1dReflectionPad2dReflectionPad3dReplicationPad1dReplicationPad2dReplicationPad3dSELU	ZeroPad1d	ZeroPad2d	ZeroPad3dCircularPad1dCircularPad2dCircularPad3dConstantPad1dConstantPad2dConstantPad3dr  )r  r  clss   000rE   <module>r+     s*       $ $     3 % :G G* * * Lm m m m
" " "   
HH	HHKKOO	HHKK##	HHKK!!	HHKK!!' 4
#  
HHOO	HH	HH	HHKK##	HHKK##T *u22&4(&	 9B8I8IJ8IWY$8IJ&4(  ) *T
 * "0N#o3M#N ') DsO ("I ((Y4
"++33HbAII*VXY //0>/?q-Nz* ) # _&STB BJ# 2 2,d 
' '(<+ <+@(:%P@F8-`$N,^D&D0b0
<4($080Dh( (*&,
*(&-2.<.4.4@(8&&="=="9&9&0*"+J$L"*"
****$*:*$*"* **&*"WF-`'TUp`F=@+&\4,"0 F42&h D0f&(&&&&%P,D#L808 F>2$N62HV@F+\/f>>$;|&T#J'RBR   ,4n"46   ,4n"46
   ,0M4n"46
   ,0M0.5;;.V\'' #6,:x(VkZ$$& NN&&335e%..:L:L:^:^_acd:e Vuxx))"J  (+V uxx))$8"J  (//#+!)!4!4Z!@			V* uxx))$8"Jj 9<I]^(++V: uxx))"J;V@ uxx))$8"JAVH uxx))$8"Jj 9<I]^(+IVX uxx!!"BYV^ uxx!!"B
  //#+!)!4!4Z!@#),	
_Vx uxx!!"B$8  j 9<I]^7TU	XyVJ uxx##%)"D(V  //1LE!)!4!4Z!@  //1L<!)!4!4Z!@	KVp uxx##%)"D(V   2LBVbjbubu  wA  cB  C  //1LE!)!4!4Z!@  //1L<!)!4!4Z!@	qVZ uxx##%)"D(V  (  //1LE!)!4!4Z!@  //1L<!)!4!4Z!@	[VD uxx}}"=   8 8,H\,15==/KMEVR uxx")*G1SX"Y$8,0 15==%2H I<Ymn	SV` uxx")*G1SX"Y$8,0   8 8,H\,2EMM?L   15==%2H I<YmnaVz uxx")*G1SX"Y$8,0  U;   8 8,H\]   15==%2H I<Ymn{VV uxx''")*G1SXei"j$8,04U[[A   8 8,H](-~6K   15==%2H I<Ymn 15;;2F GWklWVr uxx''")*G1SXei"j$8,04U[[A   8 8,H\(-%JZJZ'[]   8 8,H\jp(-u7G7G'HJ   8 8,H](-~6K	<9N(-~5J   15==%2H I<Ymn 15;;2F GWkl'sV` uxx''")*G1SXei"j4U[[A$8,0  (   8 8,H\] 8 8,H](-~6K	<9N(-~5J   15==%2H I<Ymn 15??E2J K\[pq 15;;2F GWkl#aVL uxx++"L  j 9<I]^aMVX uxx||"<   8 8,H\,15==/KMYVf uxx++"L$8  (j 9<I]^agVv uxx++"L$8  (j 9<I]^awVF uxx"?  j 9<I]^aGVR uxx$$"E  j 9<I]^  	<9V(-EKM	SVf uxx""")*G1SW"X$8,0  )   15==%2H I<YmngV~ uxx""")*G1SW"X$8,0  )   8 8,H\,2EMM?L   15==%2H I<YmnV^	 uxx""")*G1SW"X$8,0  )(   8 8,H\]	   15==%2H I<Ymn_	V@
 uxx++")*G1SWdh"i$8,0  )   15==%2H I<YmnA
VX
 uxx++")*G1SWdh"i$8,0  )   8 8,H\jp(-8   15==%2H I<YmnY
Vx
 uxx++")*G1SWdh"i$8,0  )(   8 8,H\]	   15==%2H I<Ymny
VZ uxx"?  j 9<I]^a[Vf uxx  "A( ==#4d*C ==#4d*C*E F $^	H  j 9<I]^ 8 8,,15==/K	MgVF uxx  "Aj 9<Uj 9<Y\GVR uxx  "Aj 9<Uj 9<Y  //#+!)!4!4Z!@!ZIZEZ#(SVp uxx  "Aj 9<Uj 9<Yj 9<I]^	u=	@qV@ uxx!!"BAVF uxx!!"B(NGVN uxx!!"B$8OVV uxx!!"B  j 9<I]^j 9<I^_j 9<Uj 9<Y\	WVj uxx"@  j 9<I]^ 8 8,,15==/K	MkV| uxx))"J  j 9<I]^a}VH uxx,,"M  j 9<I]^	<UKj 9<Y\	IV\ uxx''"H(T  j 9<I]^	<UKj 9<Y\
]Vr uxx&&"G  j 9<I]^ 8 8,,15==/K	MsVD uxx00"Q  j 9<I]^aEVP uxx"@(L  j 9<I]^ 8 8,,15==/K	M	QVd uxx''"H  j 9<I]^abeVn uxx&&"G  j 9<I]^aboVx uxx**"K  j 9<I]^ayVD uxx!!"B  j 9<I]^ 8 8,,15==/K	MEVV uxx"@  j 9<I]^	<]bc	fWVf uxx))"J  j 9<I]^	<]bc	fgVv uxx(("I(U'TER   8 8,H\] 15==#4VZB[2\ ]_k .TY[ 8 8,H]glgtgtfu,24 8 8,H]glgtgtfu,135	wVR uxx"@  j 9<I]^	<ULj 9<Uj 9<Yj 9<Ifg	jSVl uxx}}"=   8 8,,15==/KMmVz uxx||"<{V@ uxx!!"B(N'DQ  j 9<I^_ 15==#4VZB[2\ ] ,.BPUW  j 9<I]kqrj 9<I]kpqj 9<I]kpqj 9<*8fN
P	AV` uxx"""CaVf uxx!!"B!&(gVl uxx  "AmVr uxx&&")*OST"U%)  j 9<I]^asV@ uxx&&")*OST"U%)  j 9<I]^aAVN uxx&&")*OST"U%)   2OEYZ 2OEbc 2O^T 2OEZ[ 2OEUVj 9<I]^aOVh uxx))"JiVn uxx!!"B  j 9<I]^aoVz uxx"@{VB uxx**%)"K  j 9<,13  j 9<I]^   8 8,H]^aCV` uxx//%)"P 15==#4VZB[2\ ] ,.K,1ZI   15==#4VZB[2\ ] ,n,13  j 9<,13
  j 9<I]^aaVD uxx//"P  j 9<,13  j 9<I]^a
EVZ uxx##"D $(  j 9<,13  j 9<I]^a[Vv uxx**%)"K  j 9<I]^awVD uxx!!"B(N$8 15==#4VZB[2\ ] ,.K,134
  j 9<I]^a
EVZ uxx}}"=.T  //#+!)!4!4Z!@#(	5[Vt uxx!!"BuVz uxx~~">  (+{VH uxx~~">  (+IVV uxx")*MVZ"[(QWV^ uxx"E(Q_Vf uxx  "A(MgVn uxx"@.T  //#+!)!4!4Z!@#(	5oVH uxx"""C   8 8,disx  tA  tA  sB  CEIVT uxx}}"=UVZ uxx"@[V` uxx!!"B  j 9<I]^ 8 8,disx  tA  tA  sB  C	EaVp uxx"""C  j 9<I]^ 8 8,disx  tA  tA  sB  C	EqV@ uxx"@  j 9<I]^aAVL uxx  "A  (+MVZ uxx"""C  (+[Vf uxx  "AgVl uxx}}"=.T  //#+!)!4!4Z!@#(	5mVF uxx"""C.T  //#+!)!4!4Z!@#(	5GV` uxx!!"B  (+aVn uxx}}"=  (+oVz uxx||%)")*HQU"V(L=	{VF uxx||%)")*HQV"W(L=	?GVP uxx}}%)"=(L  (+ >?QV` uxx''"HaVf uxx''"H$8j 9<I],24j 9<I],13j 9<I],135
gV| uxx''"H$8j 9<I],24j 9<I],13j 9<I],135
}VR uxx(("ISVX uxx(("I$8j 9<I],24j 9<I],13j 9<I],135
YVn uxx(("I$8j 9<I],24j 9<I],13j 9<I],135
oVD uxx}}"=  (+EVR uxx!!"BSVX uxx!!"B   8 8,H\jopsYVd uxx!!"B   8 8,H\jopseVp uxx%%"F(JqVx uxx%%"F(JyV@ uxx%%"F(J   8 8,H\]`AVN uxx%%"FOVT uxx%%"F   8 8,H\jopsUV` uxx%%"F   8 8,H\jopsaV	4
 V_t K4( Os+   BQ7-BQ2?BQ7	BQ=(BQ=Q2BQ7