+
    ˜°³j É ã                  ó–  a € 0 t $ ^ RIHt ^ RIt^ RIt^ RIt^ RIt^ RIt^ RIH	t	H
t
Ht ^ RIHtHt ^ RIHt ^ RIHtHtHtHt ^ RIHt ^ RIt^ RIHu Ht ^ RIHu Ht ^ RIHu Ht ^ RI Hu H!t! ^ RI"H#t# ^ RI$H%t% ^ R	I&H't' ^ R
I(H)t)H*t*H+t+H,t,H-t-H.t.H/t/ ^ RI0H1t1H2t2H3t3H4t4 ^ RI5H6t6H7t7 ^ RI8H9t9H:t:H;t;H<t<H=t=H>t> ^ RI?H@t@ ^ RIAHBtBHCtCHDtDHEtEHFtFHGtGHHtHHItIHJtJHKtKHLtLHMtMHNtNHOtOHPtPHQtQHRtRHStSHTtTHUtUHVtVHWtWHXtXHYtYHZtZH[t[ ^ RI\H]t]H^t^H_t_H`t` ^ RIaHbtb ^ RIcHdtdHeteHftfHgtgHhthHitiHjtj ^ RIkHltlHmtm ]'       d	   ^ RInHotoHptp ]! R4      tq ! R R]m4      tr]
! RRR.4      ts/ stR]uR&   / svR]uR&   R R  ltwRŒR" R# lltxR�R$ R% llty]Pô                  R& R' l4       t{RŽR(R!R)R/R* R+ lllt|R, R- lt}R. R/ lt~R0 R1 ltR2 R3 lt€R4 R5 lt�R6 R7 lt‚R8 R9 ltƒR: R; lt„R< R= lt…R> R? lt†]! R@RA7       ! RB RC4      4       t‡]! R@RA7       ! RD RE4      4       tˆ]! R@RA7       ! RF RG4      4       t‰]! R@RA7       ! RH RI4      4       tŠ]! R@RA7       ! RJ RK4      4       t‹]3RL RM l4       tŒRN RO lt�RP RQ ltŽ]! R@RA7       ! RR RS4      4       t�RT RU lt�RV RW lt‘RX RY lt’RZ R[ lt“R\ R] lt”R^ R_ lt•R` Ra lt–]3Rb Rc l4       t—Rd Re lt˜]4Rf Rg l4       t™Rh Ri ltšRj Rk lt›Rl Rm ltœRn]#EP:                  /Ro Rp lltžRq Rr ltŸRn]#EP:                  /Rs Rt llt Ru Rv lt¡Rw Rx lt¢Ry Rz lt£R{ R| lt¤R} R~ lt¥R R€ lt¦R� R‚ lt§Rƒ R„ lt¨R… R† lt©R‡ Rˆ ltªR‰ RŠ lt«]¬R‹8X  d
   ]«! 4        R# R# )�é    )ÚannotationsN)ÚdefaultdictÚ
namedtupleÚOrderedDict)Ú	dataclassÚfield)ÚPath)ÚAnyÚLiteralÚTYPE_CHECKINGÚTypeVar)Úassert_never)Úcpp)Ú	translate)ÚBindingÚCppSignatureÚCppSignatureGroupÚDispatcherSignatureÚ
NamedCTypeÚNativeSignatureÚSpecialArgName)Úmethod_with_native_functionÚnative_function_managerÚwith_native_functionÚ with_native_function_and_indices)Úgen_aoti_c_shim_filesÚ*gen_static_dispatch_backend_call_signature)Ú gen_functionalization_definitionÚ"gen_functionalization_registrationÚ.gen_functionalization_view_inverse_declarationÚ,gen_functionalization_view_meta_classes_declÚ,gen_functionalization_view_meta_classes_implÚGenCompositeViewCopyKernel©Úgen_all_vmap_plumbing)ÚArgumentÚBackendIndexÚBackendMetadataÚBaseOperatorNameÚDEFAULT_KERNEL_NAMESPACEÚdispatch_device_mapÚDispatchKeyÚFRAGMENT_NAMESPACESÚFunctionSchemaÚis_cuda_dispatch_keyÚis_generic_dispatch_keyÚis_ufunc_dispatch_keyÚis_xpu_dispatch_keyÚLocationÚNativeFunctionÚNativeFunctionsGroupÚNativeFunctionsViewGroupÚOperatorNameÚOptionalTypeÚ
SchemaKindÚSelfArgumentÚSTRUCTURED_DISPATCH_KEYSÚTensorOptionsArgumentsÚTypeÚVariantÚViewSchemaKind)Úadd_generated_native_functionsÚgen_composite_functional_kernelÚgen_composite_out_kernelÚpre_group_native_functions)ÚSelectiveBuilder)Ú	concatMapÚcontextÚFileManagerÚmake_file_managerÚmapMaybeÚNamespaceHelperÚTarget)Ú
YamlDumperÚ
YamlLoader)ÚCallableÚSequenceÚTc                  ó,   a € ] tR t^‡tRV 3R lltRtV ;t# )Ú
LineLoaderc                	óh   <€ \         SV `  WR 7      pVP                  P                  ^,           VR&   V# ))ÚdeepÚ__line__)ÚsuperÚconstruct_mappingÚ
start_markÚline)ÚselfÚnoderT   ÚmappingÚ	__class__s   &&& €ÚM/home/luca/screen-checking/.venv/lib/python3.14/site-packages/torchgen/gen.pyrW   ÚLineLoader.construct_mappingˆ   s3   ø€ Ü‘'Ñ+¨DÐ+Ó<ˆà"Ÿo™o×2Ñ2°QÕ6ˆ�
ÑØˆó    © )F)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__rW   Ú__static_attributes__Ú__classcell__)r]   s   @r^   rR   rR   ‡   s   ø† ÷õ r`   rR   Ú
ParsedYamlÚnative_functionsÚbackend_indiceszdict[str, ParsedYaml]Ú_GLOBAL_PARSE_NATIVE_YAML_CACHEzdict[str, set[str]]Ú_GLOBAL_PARSE_TAGS_YAML_CACHEc               ó(   € V ^8„  d   QhRRRRRRRR/# )é   Údispatch_keyr,   Ú
device_fmsúdict[str, FileManager]Ú
default_fmrG   Úreturnra   )Úformats   "r^   Ú__annotate__ru   —   s0   € ÷ ñ Øðà&ðð ðð ñ	r`   c                óz   a € VP                  \        V 3R  l\        P                  ! 4        4       R4      V4      pV# )c              3  óL   <"  € T F  w  rV! S4      '       g   K  Vx € K  	  R # 5i©Nra   )Ú.0ÚcheckÚdevicero   s   &  €r^   Ú	<genexpr>Ú1file_manager_from_dispatch_key.<locals>.<genexpr>ž   s$   øé € ð á%@‘M�EÙ˜×&÷ ’Û%@ùs   ƒ$š
$Ú )ÚgetÚnextr+   Úitems)ro   rp   rr   Úfms   f&& r^   Úfile_manager_from_dispatch_keyrƒ   —   sB   ø€ ð
 
�‰Üôä%8×%>Ò%>Ô%@óð
 ó	
ð 	ó

€Bð €Ir`   Fc               ó0   € V ^8„  d   QhRRRRRRRRR	R
RR/# )rn   ÚesÚobjectÚ
valid_tagsúset[str]Úignore_keysúset[DispatchKey] | NoneÚpathÚstrÚskip_native_fns_genÚboolrs   rh   ra   )rt   s   "r^   ru   ru   ª   sD   € ÷ 1#ñ 1#Øð1#àð1#ð )ð1#ð ð	1#ð
 ð1#ð ñ1#r`   c           	     ó’  aa€ \        V \        4      '       g   \        R \        V 4       24      h. p\	        \
        4      pV  Fñ  p\        V\
        4      '       g   \        RV 24      h\        VP                  R4      \        4      '       g   \        RV 24      h\        W7R,          4      oVP                  R4      oSf   \        RV 24      h\        VV3R l4      ;_uu_ 4        \        P                  ! VSW4      w  r‰VP                  V4       \        P                  ! Wi4       RRR4       Kó  	  \        V4       \	        R 4      p
V'       g   \!        WV4       VP#                  4        F3  w  r¼\        TR	R
\%        V4      ;'       g    \'        V4      VR7      W«&   K5  	  \)        WZ4      #   + '       g   i     EKƒ  ; i)ú$Expected 'es' to be a list, but got zExpected to be dict: rU   úExpected '__line__' to be int: ÚfuncNzMissed 'func' in c                 ó   <€ R S RS  2# ©zin z:
  ra   )ÚfuncsÚlocs   €€r^   Ú<lambda>Ú*parse_native_yaml_struct.<locals>.<lambda>¾   s   ø€ ˜s 3 % u¨U¨GÑ4r`   c                 ó>   € \        \        P                  R RR/ R7      # )TF©ro   Úuse_out_as_primaryÚexternalÚdevice_guardÚindex)r'   r,   Ú	Undefinedra   r`   r^   r—   r˜   Å   s    € ”Ü$×.Ñ.Ø#ØØð õ
r`   TFrš   )Ú
isinstanceÚlistÚAssertionErrorÚtyper   Údictr   Úintr3   rF   r4   Ú	from_yamlÚappendr'   Ú
grow_indexÚerror_check_native_functionsr@   r�   r/   r2   rh   )r…   r‡   r‰   r‹   r�   ÚrsÚbsÚer’   ÚmÚindicesÚkÚvr•   r–   s   &&&&&        @@r^   Úparse_native_yaml_structr±   ª   s€  ù€ ô �bœ$×ÒÜÐCÄDÈÃHÀ:ÐNÓOÐOØ!€BÜALÌTÓAR€BÛˆÜ˜!œT×"Ò"Ü Ð#8¸¸Ð!<Ó=Ð=Ü˜!Ÿ%™% 
Ó+¬S×1Ò1Ü Ð#BÀ1À#Ð!FÓGÐGÜ�t˜z�]Ó+ˆØ—‘�f“ˆØŠ=Ü Ð#4°Q°CÐ!8Ó9Ð9ÜÕ4×5Õ5Ü$×.Ò.¨q°#°zÓO‰GˆDØ�I‰I�dŒOÜ×#Ò# BÔ*÷ 6Ñ5ñ ô ! Ô$ä/:ñ	
ó
0€G÷ Ü& rÔ.Ø—‘–
‰ˆä!ØØ#Øä-¨aÓ0×JÐJÔ4GÈÓ4JØô
ˆ‹
ñ ô �bÓ"Ð"÷; 6×5Ñ5ús   Ã*AF4Æ4Gc               ó$   € V ^8„  d   QhRRRRRR/# )rn   r…   r†   r‹   rŒ   rs   rˆ   ra   )rt   s   "r^   ru   ru   Þ   s!   € ÷ ñ ˜vð ¨Sð Àñ r`   c                óT  aa€ \        V \        4      '       g   \        R \        V 4       24      h\	        4       pV  FÔ  p\        VP                  R4      \        4      '       g   \        RV 24      h\        WR,          4      oVP                  R4      o\        VV3R l4      ;_uu_ 4        VP                  4       pVP                  R4      pVP                  RR4      pVR8X  d   \        RV R24      hVP                  V4       R	R	R	4       KÖ  	  V#   + '       g   i     Kë  ; i)
r�   rU   r‘   Útagc                 ó   <€ R S  RS 2# r”   ra   )r–   Útagss   €€r^   r—   Ú(parse_tags_yaml_struct.<locals>.<lambda>ç   s   ø€ ˜s 3 % u¨T¨FÑ3r`   Údescr~   zTag 'z#' must have a non-empty descriptionN)r    r¡   r¢   r£   Úsetr   r¥   r3   rF   ÚcopyÚpopÚadd)	r…   r‹   rª   r¬   Úe_iÚnamer¸   r–   r¶   s	   &&     @@r^   Úparse_tags_yaml_structr¿   Þ   sò   ù€ Ü�bœ$×ÒÜÐCÄDÈÃHÀ:ÐNÓOÐOÜ“5€BÛˆÜ˜!Ÿ%™% 
Ó+¬S×1Ò1Ü Ð#BÀ1À#Ð!FÓGÐGÜ�t˜z�]Ó+ˆØ�u‰u�U‹|ˆÜÕ3×4Õ4Ø—&‘&“(ˆCØ—7‘7˜5“>ˆDØ—7‘7˜6 2Ó&ˆDà�rŒzÜ$ u¨T¨FÐ2UÐ%VÓWÐWØ�F‰F�4ŒL÷ 5Ñ4ñ ð €I÷ 5×4Ð4ús   Â-ADÄD'c               ó    € V ^8„  d   QhRRRR/# )rn   r‹   rŒ   rs   rˆ   ra   )rt   s   "r^   ru   ru   ó   s   € ÷ /ñ /˜#ð / (ñ /r`   c                ó   € V \         9  dY   \        V 4      ;_uu_ 4       p\        P                  ! V\        R 7      p\        W R7      \         V &   RRR4       \         V ,          # \         V ,          #   + '       g   i     \         T ,          # ; i)©ÚLoader)r‹   N)rl   ÚopenÚyamlÚloadrR   r¿   )r‹   Úfr…   s   &  r^   Úparse_tags_yamlrÈ   ò   sj   € ð Ô0Ô0Ü�$�ZŒZ˜1Ü—’˜1¤ZÔ0ˆBÜ2HÈÔ2WÔ)¨$Ñ/÷ ô )¨Õ.Ð.Ô(¨Õ.Ð.÷	 ŽZô )¨Õ.Ð.ús   Ÿ0A1Á1B	r�   Úloaded_yamlc               ó0   € V ^8„  d   QhRRRRRRRRRR	R
R/# )rn   r‹   rŒ   Útags_yaml_pathr‰   rŠ   r�   rŽ   rÉ   zobject | Noners   rh   ra   )rt   s   "r^   ru   ru   ý   sD   € ÷ 1ñ 1Ø
ð1àð1ð )ð1ð
 ð1ð ð1ð ñ1r`   c               ó  € V \         9  db   \        V4      pVf:   \        V 4      ;_uu_ 4       p\        P                  ! V\
        R7      pR R R 4       MTp\        XVVV VR7      \         V &   \         V ,          #   + '       g   i     L4; i)NrÂ   )r‹   r�   )rk   rÈ   rÄ   rÅ   rÆ   rR   r±   )r‹   rË   r‰   r�   rÉ   r‡   rÇ   r…   s   &&&$$   r^   Úparse_native_yamlrÍ   ý   s|   € ð Ô2Ô2Ü$ ^Ó4ˆ
ð ÒÜ�d—”˜qÜ—Y’Y˜q¬Ô4�÷ �ð ˆBä0HØØØØØ 3ô1
Ô'¨Ñ-ô +¨4Õ0Ð0÷ —ús   ®A:Á:B
	c               ó    € V ^8„  d   QhRRRR/# )rn   r•   úSequence[NativeFunction]rs   ÚNonera   )rt   s   "r^   ru   ru     s   € ÷ =ñ =Ð(@ð =ÀTñ =r`   c           	     óL  € / p\        \        4      pV  FP  pW1VP                  P                  &   W#P                  P                  P                  ,          P	                  V4       KR  	  V  EFµ  pVP
                  eª   VP                  VP
                  4      pVf=   \        VP                  P                   RVP
                   RVP
                   R24      hVP                  '       g=   \        VP                  P                   RVP
                   RVP
                   R24      h\        \        P                  4      p0 RmpVP                  P                  P                   Fv  pVP                  V9   g   K  \        VP                  P                  4      VP                  3V9  g   KH  \        RVP                   RVP                  P                   R24      h	  RVP                  9   g   EK†  \        VP                  P                  4      R	8w  g   EK­  \        VP                  P                  4      R
8w  g   EKÔ  \        VP                  P                  P                  4      R8w  g   EK  VP                  P                  P                  pVP                   '       g#   \        VP                  P                   R24      h\#        VP$                  RVP&                  4      p	\)        W),          4      ^ 8X  g   EK“  \        VP                  P                   RV R24      h	  R # )Nz0 is marked as a structured_delegate pointing to z, but z is missing.zY is not marked as structured. Consider adding 'structured=True' to the delegated operatorzArgument name 'z' in function 'z' is a reserved Python keyword.Úinplace_viewÚresize_Ú
resize_as_Úset_z¡ is marked with tag: inplace_view, but it doesn't follow the naming convention for inplace ops - the codegen expects the base name to have a trailing underscore.Fzw is marked with tag: inplace_view. The codegen expects there to be a corresponding out-of-place view op with the name 'z.' and matching schema, but it didn't find one.>   ©zrandom_.fromÚfrom©Úuniform_r×   ©Ú!_has_compatible_shallow_copy_typer×   )r   r¡   r’   r¾   r§   Ústructured_delegater   r¢   Ú
structuredr¹   ÚkeywordÚkwlistÚ	argumentsÚflat_allrŒ   r¶   Úinplacer)   ÚbaseÚdunder_methodÚlen)
r•   Úfunc_mapÚbase_func_maprÇ   Údelegate_funcÚPYTHON_RESERVED_KEYWORDSÚEXCLUSION_LISTÚargÚ	base_nameÚout_of_place_base_names
   &         r^   r©   r©     sŒ  € Ø35€HÜBMÌdÓBS€MÛˆØ !�—‘—‘ÑØ—f‘f—k‘k×&Ñ&Õ'×.Ñ.¨qÖ1ñ ô ˆØ× Ñ Ò,Ø$ŸL™L¨×)>Ñ)>Ó?ˆMØÒ$Ü$Ø—v‘v—{‘{�mÐ#SØ×,Ñ,Ð-¨V°A×4IÑ4IÐ3JÈ,ðXóð ð !×+×+Ð+Ü$Ø—v‘v—{‘{�mÐ#SØ×,Ñ,Ð-¨V°A×4IÑ4IÐ3Jð KRðSóð ô $'¤w§~¡~Ó#6Ð ò
ˆð —6‘6×#Ñ#×,Ô,ˆCØ�x‰xÐ3Ö3Ü˜Ÿ™Ÿ™Ó$ c§h¡hÐ/°~ÖEÜ(Ø)¨#¯(©(¨°?À1Ç6Á6Ç;Á;À-ÐOnÐoóð ñ -ð ˜aŸf™f×$Ü�A—F‘F—K‘KÓ  I×-Ü�A—F‘F—K‘KÓ  L×0Ü�A—F‘F—K‘K×$Ñ$Ó%¨×/àŸ™Ÿ™×(Ñ(ˆIØ×$×$Ð$Ü$Ø—v‘v—{‘{�mð $tð tóð ô &6Ø—‘  y×'>Ñ'>ó&Ð"ô �=Õ8Ó9¸Q×>Ü$Ø—v‘v—{‘{�mð $;Ø;D¸+ÐEsðuóð ói r`   c               ó    € V ^8„  d   QhRRRR/# )rn   ÚsrŒ   rs   ra   )rt   s   "r^   ru   ru   ]  s   € ÷ 
ñ 
�#ð 
˜#ñ 
r`   c                ó.  € V P                  RR4      p V P                  RR4      p V P                  RR4      p V P                  RR4      p V P                  R	R
4      p V P                  RR4      p V P                  RR4      p V P                  RR4      p RV  R2# )z1Convert a python string into a c++ string literalÚ\z\\Ú"z\"Úz\aÚz\bÚz\fÚ
z\nÚz\vÚ	z\t)Úreplace©rï   s   &r^   Ú
cpp_stringrû   ]  s�   € à	�	‰	�$˜Ó€AØ	�	‰	�#�uÓ€AØ	�	‰	�$˜Ó€AØ	�	‰	�$˜Ó€AØ	�	‰	�$˜Ó€AØ	�	‰	�$˜Ó€AØ	�	‰	�$˜Ó€AØ	�	‰	�$˜Ó€AØˆqˆc�ˆ8€Or`   c               ó    € V ^8„  d   QhRRRR/# )rn   Úbackendsúlist[BackendIndex]rs   zlist[DispatchKey]ra   )rt   s   "r^   ru   ru   w  s   € ÷ 	
ñ 	
Ð#5ð 	
Ð:Kñ 	
r`   c                óì   € \        V 4      ^ 8X  d   . # V  Uu. uF  qP                  NK  	  up\        P                  \        P                  \        P
                  \        P                  .,           # u upi )r   )rå   ro   r,   ÚCompositeImplicitAutogradÚ%CompositeImplicitAutogradNestedTensorÚCompositeExplicitAutogradÚ&CompositeExplicitAutogradNonFunctional)rý   Úbackends   & r^   Ústatic_dispatch_keysr  w  s`   € Ü
ˆ8ƒ}˜ÔØˆ	á4<Ó=±H¨×$Ô$±HÑ=Ü×1Ñ1Ü×=Ñ=Ü×1Ñ1Ü×>Ñ>ð	A
õ 
ð 	
ùÒ=s   —A1c               ó$   € V ^8„  d   QhRRRRRR/# )rn   rÇ   r4   Úbackend_indexr'   rs   zDispatchKey | Nonera   )rt   s   "r^   ru   ru   ƒ  s$   € ÷ ñ ØðØ&2ðàñr`   c                óx  € V P                   f   VP                  V 4      '       d   VP                  # V P                  '       d   \        P
                  # V P                  '       d   \        P                  # V P                  '       d   \        P                  # V P                  '       d   \        P                  # R # rx   )rÜ   Ú
has_kernelro   Ú&has_composite_explicit_autograd_kernelr,   r  Ú5has_composite_explicit_autograd_non_functional_kernelr  Ú&has_composite_implicit_autograd_kernelr   Ú4has_composite_implicit_autograd_nested_tensor_kernelr  )rÇ   r  s   &&r^   Úget_static_dispatch_backendr  ƒ  s‘   € ð 	×ÑÒ(¨M×,DÑ,DÀQ×,GÒ,Gð
 ×)Ñ)Ð)Ø	
×	1×	1Ð	1Ü×4Ñ4Ð4Ø	
×	@×	@Ð	@Ü×AÑAÐAØ	
×	1×	1Ð	1Ü×4Ñ4Ð4Ø	
×	?×	?Ð	?Ü×@Ñ@Ð@Ùr`   c               ó$   € V ^8„  d   QhRRRRRR/# )rn   rÇ   r4   r  rþ   rs   ú
str | Nonera   )rt   s   "r^   ru   ru   —  s$   € ÷ ñ ØðØ&8ðàñr`   c                óì   € Ve   V P                   '       d   R # . pV FD  p\        W4      pVf   K  VP                  RV P                   RVP	                  4        R24       KF  	  RP                  V4      # )Nú#include <ATen/ops/Ú_ú_dispatch.h>rö   )Úmanual_kernel_registrationr  r§   Ú	root_nameÚlowerÚjoin)rÇ   r  Úoutputrž   ro   s   &&   r^   Ústatic_dispatch_ops_headerr  —  st   € ð Ò × <× <Ð <Ùà€FÛˆÜ2°1Ó<ˆØÔ#Ø�M‰MØ% a§k¡k ]°!°L×4FÑ4FÓ4HÐ3IÈÐVöñ ð �9‰9�VÓÐr`   c               ó    € V ^8„  d   QhRRRR/# )rn   rý   rþ   rs   ú	list[str]ra   )rt   s   "r^   ru   ru   §  s   € ÷ ñ Ð,>ð À9ñ r`   c                óJ   € \        V 4       Uu. uF	  pR V R2NK  	  up# u upi )ú#include <ATen/úFunctions.h>)r  )rý   ro   s   & r^   Ústatic_dispatch_extra_headersr   §  s7   € ô 1°Ô:óá:ˆLð ˜,˜ |Ó4Ù:ñð ùò s   Ž c               ó$   € V ^8„  d   QhRRRRRR/# )rn   Úsigú"CppSignature | DispatcherSignatureÚcpp_sigr   rs   rŒ   ra   )rt   s   "r^   ru   ru   ±  s&   € ÷  ,ñ  ,Ø	+ð ,àð ,ð 	ñ ,r`   c                ó0  € R  R lp\        V P                  4       4      p\        VP                  4       4      pV F6  pVP                  P                  \        P
                  8X  g   K.  V! V4      p M	  \        W44      pRP                  R V 4       4      # )c               ó    € V ^8„  d   QhRRRR/# )rn   Úinput_bindingszlist[Binding]rs   ra   )rt   s   "r^   ru   Ú$translate_args.<locals>.__annotate__¶  s   € ÷ ñ °mð Èñ r`   c                ó8  € . pV  F‘  pVP                   R 8X  dm   \        \        \        P                  VP
                  P                  4      VP                   VP                  VP                  R7      pVP                  V4       K€  VP                  V4       K“  	  V# )Úmemory_format)Únctyper¾   ÚdefaultÚargument)
r¾   r   r   r   Ú possibly_redundant_memory_formatr+  r£   r,  r-  r§   )r'  Úoutput_bindingsÚbindingÚspl_mem_format_bindings   &   r^   Úadd_spl_memory_format_bindingÚ5translate_args.<locals>.add_spl_memory_format_binding¶  s†   € Ø)+ˆÛ%ˆGØ�|‰|˜Ô.Ü)0Ü%Ü&×GÑGØŸ™×+Ñ+óð !Ÿ™Ø#ŸO™OØ$×-Ñ-ô*Ð&ð  ×&Ñ&Ð'=Ö>à×&Ñ& wÖ/ñ &ð Ðr`   ú, c              3  ó8   "  € T F  qP                   x € K  	  R # 5irx   ©Úexpr©ry   Úas   & r^   r|   Ú!translate_args.<locals>.<genexpr>Ñ  s   é € Ð+¡U —V–V£Uùó   ‚)r¡   rà   r+  r¾   r   r.  r   r  )r"  r$  r2  Úsrc_bindingsÚgoal_bindingsrë   Úexprss   &&     r^   Útranslate_argsr?  ±  s|   € õ
ô$ ˜Ÿ™›Ó(€LÜ˜×*Ñ*Ó,Ó-€Mó ˆØ�:‰:�?‰?œn×MÑMÖMÙ8¸ÓFˆLÙñ ô �lÓ2€EØ�9‰9Ñ+¡UÓ+Ó+Ð+r`   c               ó(   € V ^8„  d   QhRRRRRRRR/# )	rn   r"  r#  rÇ   r4   r  r'   rs   rŒ   ra   )rt   s   "r^   ru   ru   Ô  s6   € ÷ Rñ RØ	+ðRàðRð  ðRð 	ñ	Rr`   c           	     ó:  € \        V4      pVP                  4       p\        W4      pVP                  V4      pV'       d   VP                  '       d   VP                  M\
        pVP                  R R4      pRV RVP                  P                  4        RV RV R2	# )ú::nativer~   úreturn ú::Ú(ú);)	r   r¾   r?  Ú
get_kernelÚcpp_namespacer*   rù   ro   r  )	r"  rÇ   r  r$  r¾   r>  Úbackend_metadataÚ	kernel_nsÚnss	   &&&      r^   Ú%generate_static_dispatch_backend_callrL  Ô  s�   € ô
 9¸Ó;€GØ�<‰<‹>€DÜ˜3Ó(€EØ$×/Ñ/°Ó2Ð÷ Ð 0× >× >Ð >ð 	×&Ò&ä%ð ð
 
×	Ñ	˜: rÓ	*€BØ�R�D˜˜=×5Ñ5×;Ñ;Ó=Ð>¸bÀÀÀaÈÀwÈbÐQÐQr`   c               ó(   € V ^8„  d   QhRRRRRRRR/# ©	rn   r"  r#  rÇ   r4   rj   rþ   rs   rŒ   ra   )rt   s   "r^   ru   ru   æ  s6   € ÷ Kñ KØ	+ðKàðKð (ðKð 	ñ	Kr`   c                ó´  € \         P                  ! VR R R7      pV P                  '       d.   VP                  P	                  4       '       d   VP
                  pMVP                  pVf   \        R4      hVP                  4       p\        W4      p\        P                  ! RR4      pVP                  '       d,   RV R\        P                  P                  4        RV RV R2	# VP                   '       d,   RV R\        P"                  P                  4        RV RV R2	# VP$                  '       d,   RV R\        P&                  P                  4        RV RV R2	# VP(                  '       d,   RV R\        P*                  P                  4        RV RV R2	# R	T R
RP-                  V Uu. uF  p\/        VP0                  4      NK  	  up4       R2# u upi )F©ÚmethodÚfallback_bindingzExpected cpp_sig to be non-NonerB  r~   rC  rD  rE  rF  z5TORCH_CHECK(false, "Static dispatch does not support z forr4  z ");)r   Úfrom_native_functionÚsymintr’   Ú
has_symintÚsymint_signatureÚ	signaturer¢   r¾   r?  r*   rù   r
  r,   r  r  r  r  r  r   r  r  r  rŒ   ro   )	r"  rÇ   rj   Úcpp_sigsr$  r¾   r>  rK  rž   s	   &&&      r^   Ú&generate_static_dispatch_fallback_callrY  æ  sÙ  € ô
 !×5Ò5Ø	�%¨%ô€Hð ‡z‡z€z�a—f‘f×'Ñ'×)Ò)Ø×+Ñ+‰à×$Ñ$ˆØ‚ÜÐ>Ó?Ð?Ø�<‰<‹>€DÜ˜3Ó(€EÜ	!×	)Ò	)¨*°bÓ	9€BØ×/×/Ð/Ø˜˜˜Bœ{×DÑD×JÑJÓLÐMÈRÐPTÈvÐUVÐW\ÐV]Ð]_Ð`Ð`Ø	
×	@×	@Ð	@Ø˜˜˜Bœ{×QÑQ×WÑWÓYÐZÐZ\Ð]aÐ\bÐbcÐdiÐcjÐjlÐmÐmØ	
×	1×	1Ð	1Ø˜˜˜Bœ{×DÑD×JÑJÓLÐMÈRÐPTÈvÐUVÐW\ÐV]Ð]_Ð`Ð`Ø	
×	?×	?Ð	?Ø˜˜˜Bœ{×PÑP×VÑVÓXÐYÐY[Ð\`Ð[aÐabÐchÐbiÐikÐlÐlàHÈÈð OØ‡�±ÓA±¨ŒC�×"Ñ"Ö#±ÑAÓBÐ CÀ4ðKð 	KùÚAs   Æ-Gc               ó(   € V ^8„  d   QhRRRRRRRR/# rN  ra   )rt   s   "r^   ru   ru     s6   € ÷ Fñ FØ	+ðFàðFð (ðFð 	ñ	Fr`   c           	     óà  € \        V4      ^ 8X  g   VP                  '       d   R# V Uu. uFC  pVP                  V4      '       g(   VP                  f   K*  VP                  \
        9   g   KA  VNKE  	  pp\        V4      ^8X  d   \        WV^ ,          4      # \        V4      ^ 8X  d   \        WV4      # V P                  4        Uu. uF}  p\        VP                  \        4      '       gO   \        VP                  \        4      '       g   KE  VP                  P                  P                  4       '       g   Kq  VP                  NK  	  ppRP!                  V4      pVP"                  P                  P$                  p. p	. p
Ve   V
P'                  R4       VR8w  d   V
P'                  RV R24       V	P'                  RRP!                  V
4       R24       V	P'                  R	4       . pV FA  pVP'                  R
VP                   R24       VP'                  R\        WV4       R24       KC  	  \        WV4      pRpRVP!                  V	4       RVP!                  V4       RV R2# u upi u upi )aé  
For a given `NativeFunction`, find out the corresponding backend and dispatch to it. If more than one
backends exist, fallback to static dispatch by determining dispatch key from inputs.
Arguments:
    sig: A CppSignature or DispatcherSignature for this native function we want to use.
    f: NativeFunction to generate static dispatch.
    backend_indices: All available backends.
Return:
    C++ code to call backend-specific functions, e.g., "return at::cpu::add(self, other, scale);"
r~   r4  z>DispatchKeySet(c10::computeDispatchKey(dtype, layout, device))z$c10::detail::multi_dispatch_key_set(Ú)zDispatchKeySet _dk_set = z | Ú;z=DispatchKey _dk = c10::highestPriorityBackendTypeId(_dk_set);zcase DispatchKey::Ú:rø   z
		ú
    z
    switch (_dk) {
        z
        default:
            z
    }
    )rå   r  r	  rÜ   ro   r;   rL  rY  rà   r    r-  r:   r&   r£   Úis_tensor_liker¾   r  r’   Útensor_optionsr§   )r"  rÇ   rj   ÚbÚkeysr9  Únative_tensor_argsÚtensor_argsÚtensor_optsÚstmtsÚsubexprsÚdispatch_coderž   ÚfallbackÚ	connectors   &&&            r^   Ústatic_dispatchrl    sM  € ô ˆ?Ó˜qÔ  A×$@×$@Ð$@Ùñ !óá ˆAØ�<‰<˜�?Š?à×!Ñ!ô	 	
ð
 —‘Ô":Ñ:÷ 	
ˆÙ ð 	ð ô ˆ4ƒy�A„~Ü4°S¸TÀ!½WÓEÐEÜ	ˆT‹�aŒÜ5°c¸oÓNÐNð —‘”óá ˆAÜ�a—j‘j¤,×/Ò/Ü�a—j‘j¤(×+ô 	ð �J‰J�O‰O×*Ñ*×,ô	 	ˆ�ŒÙ ð ð ð —)‘)Ð.Ó/€KØ—&‘&×"Ñ"×1Ñ1€Kà€EØ€HØÒØ�‰ØLô	
ð �bÔØ�‰Ð>¸{¸mÈ1ÐMÔNØ	‡L�LÐ.¨u¯z©z¸(Ó/CÐ.DÀAÐHÔIØ	‡L�LÐPÔQà€MÛˆØ×ÑÐ!3°E×4FÑ4FÐ3GÀqÐKÔLØ×ÑØÔ8¸ÀÓGÐHÈÐLö	
ñ ô 6°c¸oÓN€HØ€IðØ‡^�^�EÓÐð 	à	�‰˜Ó	&Ð'ð (àˆJð ðð ùò[ùòs*   ©I&ÁI&ÁI&Á,I&ÃAI+Ä'I+Ä8I+T)Úfrozenc                  óT   € ] tR tRt$ R]R&   ]! ]R7      tR]R&   ]R R l4       t	R	t
R
# )ÚRegisterSchemaiP  rD   Úselector)Údefault_factoryzdict[str, int]Ú
known_tagsc               ó    € V ^8„  d   QhRRRR/# ©rn   rÇ   r4   rs   r  ra   )rt   s   "r^   ru   ÚRegisterSchema.__annotate__V  s   € ÷ `ñ `˜.ð `¨Zñ `r`   c                	óø  € V P                   P                  V4      '       g   R # RRP                  R \        VP                  4       4       4      ,           R,           pVR8X  d#   R\        \        VP                  4      4       R2# RpW P                  9  d-   \        V P                  4      pW@P                  V&   R	V R
V R2pV R\        \        VP                  4      4       RV P                  V,           R2# )NÚ{r4  c              3  ó,   "  € T F
  pR V 2x € K  	  R# 5i)z	at::Tag::Nra   )ry   r´   s   & r^   r|   Ú*RegisterSchema.__call__.<locals>.<genexpr>Y  s   é € ÐK¹N°S ¨3¨%Õ0»Nùs   ‚Ú}z{}zm.def(z, {});
r~   z const std::vector<at::Tag> tags_z = ú;
z, tags_z);
)
rp  Úis_native_function_selectedr  Úsortedr¶   rû   rŒ   r’   rr  rå   )rZ   rÇ   r¶   Ú
maybe_tagsÚidxs   &&   r^   Ú__call__ÚRegisterSchema.__call__U  sÔ   € à�}‰}×8Ñ8¸×;Ò;ÙØ�T—Y‘YÑK¼FÀ1Ç6Á6¼NÓKÓKÕKÈcÕQˆØ�4Œ<ØœJ¤s¨1¯6©6£{Ó3Ð4°JÐ?Ð?Øˆ
Ø—‘Ô&Ü�d—o‘oÓ&ˆCØ$'�O‰O˜DÑ!Ø;¸C¸5ÀÀDÀ6ÈÐMˆJØ�˜V¤J¬s°1·6±6«{Ó$;Ð#<¸GÀDÇOÁOÐTXÕDYÐCZÐZ^Ð_Ð_r`   ra   N)rb   rc   rd   re   Ú__annotations__r   r¤   rr  r   r€  rf   ra   r`   r^   ro  ro  P  s+   ‡ àÓÙ!&°tÔ!<€J�Ó<à ô`ó !ô`r`   ro  c                  óB   € ] tR tRt$ R]R&   R]R&   ]R R l4       tRtR	# )
ÚComputeOperatorsii  ú.Literal[Target.DECLARATION, Target.DEFINITION]Útargetrþ   Ústatic_dispatch_backend_indicesc               ó    € V ^8„  d   QhRRRR/# ©rn   rÇ   r4   rs   rŒ   ra   )rt   s   "r^   ru   ÚComputeOperators.__annotate__o  s   € ÷ R&ñ R&˜.ð R&¨Sñ R&r`   c                	óÞ  € \         P                  ! VP                  4      pVP                  P                  P	                  4       pV P
                  \        P                  J d¡   R V RVP                  4        RVP                  P                  P                   RVP                  P                  P                   R\        \        VP                  4      4       RVP                  RRR7       RVP                  R	R
R7       R2# V P
                  \        P                  J Ed-   RVP                   RV RV RV RV RV R2pR EF  pV'       dD   RP                  R.VP                  4        Uu. uF  qfP                  NK  	  up,           4      pR	pM:RP                  VP                  4        Uu. uF  qfP                  NK  	  up4      pRpTp	V RV 2p
RV RV	 RV R2pV'       g2   \!        V P"                  4      ^ 8”  d   \%        W!V P"                  R7      pVRVP                   RVP                  W¥R7       RV R2,          pEK  	  V# \'        V P
                  4       R# u upi u upi ) z
struct TORCH_API z {
  using schema = z�;
  using ptr_schema = schema*;
  // See Note [static constexpr char* members for windows NVCC]
  static constexpr const char* name = "aten::z3";
  static constexpr const char* overload_name = "z/";
  static constexpr const char* schema_str = z;
  static ÚcallF)r¾   Úis_redispatching_fnÚ
redispatchTz;
};ú

// aten::z.
static C10_NOINLINE c10::TypedOperatorHandle<z::schema> create_zQ_typed_handle() {
  return c10::Dispatcher::singleton()
      .findSchemaOrThrow(z::name, z::overload_name)
      .typed<z::schema>();
}
r4  ÚdispatchKeySetrD  z
    static auto op = create_z_typed_handle();
    return op.rE  rF  )rj   rö   ú {
    z
}
N)FT)r   Úfrom_schemar’   r¾   Úunambiguous_namer†  rK   ÚDECLARATIONr£   Úoverload_namerû   rŒ   ÚdefnÚ
DEFINITIONr  rà   rå   r‡  rl  r   )rZ   rÇ   r"  r¾   Údefnsr�  r9  Údispatcher_exprs_strÚmethod_baseÚdispatcher_callÚmethod_nameÚfn_bodys   &&          r^   r€  ÚComputeOperators.__call__n  s‚  € ä!×-Ò-¨a¯f©fÓ5ˆØ�v‰v�{‰{×+Ñ+Ó-ˆà�;‰;œ&×,Ñ,Ó,ð0Ø�ð Ø—(‘(“*�ð .ð /0¯f©f¯k©k×.>Ñ.>Ð-?ð @1Ø12·±·±×1JÑ1JÐ0Kð L-Ü-7¼¸A¿F¹F»Ó-DÐ,Eð F
Ø
�(‰(˜°Eˆ(Ó
:Ð	;ð <
Ø
�(‰(˜¸$ˆ(Ó
?Ð	@ð Að
ð 
ð �[‰[œF×-Ñ-Ô-ð
Ø
�&‰&ˆð .Ø.2¨VÐ3DÀTÀFð Kà˜˜x¨ vð .ØˆVð ðˆEô (5Ð#ß&Ø+/¯9©9Ø)Ð*¸c¿m¹m¼oÓ-N¹o¸¯f¬f¹oÑ-NÕNó,Ð(ð #/‘Kà+/¯9©9ÀcÇmÁmÄoÓ5VÁoÀ·f´fÁoÑ5VÓ+WÐ(Ø"(�Kà"-�Ø!%  b¨¨Ð6�ðØ!˜Fð #ØÐ˜qÐ!5Ð 6°bð<�÷
 ,Ü˜D×@Ñ@ÓAÀAÔEô .Ø°×0TÑ0Tô�Gð ð 
Ø
�&‰&ˆð Ø‡�ˆ{€ÓDÐ Eð FØ€Ið ðõ “ñ3 (5ð> ˆLä˜Ÿ™Ö%ùò= .Oùò 6Ws   Å.I%Æ/I*
ra   N©rb   rc   rd   re   r‚  r   r€  rf   ra   r`   r^   r„  r„  i  s"   ‡ à:Ó:Ø%7Ó7à ôR&ó !ôR&r`   r„  c                  ó,   € ] tR tRt]R R l4       tRtR# )ÚComputeFunctioniÆ  c               ó    € V ^8„  d   QhRRRR/# rt  ra   )rt   s   "r^   ru   ÚComputeFunction.__annotate__É  s   € ÷ (ñ (˜.ð (¨Zñ (r`   c                	óV  € \         P                  ! VR VP                  R7      pVP                  P	                  4       pRpVP                  4        EFO  p\        P                  ! VP                  4      p\        VP                  4       VP                  4       4      pRP                  V Uu. uF  qˆP                  NK  	  up4      p	VP                  '       d   Rp
MRp
\        P                  VP                  9   dQ   VRVP                   RVP!                  4        RVP                  P"                  P%                  4        R	V	 R
2	,          pV'       g   EK  VRV
 RVP!                  RR7       RVP                  P"                  P%                  4        R	V	 R2	,          pEKR  	  V# u upi )FrP  r~   r4  zc10::SymIntÚint64_tr�  ú
inline ú {
    return at::_ops::ú::call(z);
}zZ
namespace symint {
  template <typename T, typename = std::enable_if_t<std::is_same_v<T, z>>>
  T)Úsuppress_symint_suffixz	);
  }
}
)r   rS  Úmanual_cpp_bindingr’   rU  Ú
signaturesr   r’  r   rà   r  r7  rT  r>   ÚfunctionÚvariantsÚdeclr¾   r“  )rZ   rÇ   Ú	sig_grouprU  Úresultr"  Ú
target_sigr>  r¬   Ú	exprs_strÚ	intlike_ts   &&         r^   r€  ÚComputeFunction.__call__È  s€  € ä%×:Ò:Ø�e¨a×.BÑ.Bô
ˆ	ð —V‘V×&Ñ&Ó(ˆ
àˆØ×'Ñ'×)ˆCä,×8Ò8¸¿¹Ó@ˆJÜ˜cŸm™m›o¨z×/CÑ/CÓ/EÓFˆEØŸ	™	±5Ó"9±5¨a§6¤6±5Ñ"9Ó:ˆIà�z�zˆzØ)‘	à%�	ä×Ñ 1§:¡:Ô-Øð 
Ø
�&‰&ˆð Ø�‰‹
€|ð Ø—f‘f—k‘k×2Ñ2Ó4Ð5°W¸Y¸Kð Hðõ �÷ ŠzØð GàGPÀkð RØ‡8�8 4€8Ó(Ð)ð *Ø—f‘f—k‘k×2Ñ2Ó4Ð5°W¸Y¸Kð Hð	õ “ñ3 *ðB ˆùò; #:s   Â+F&
ra   N©rb   rc   rd   re   r   r€  rf   ra   r`   r^   r¡  r¡  Æ  s   † à ô(ó !ô(r`   r¡  c                  óB   € ] tR tRt$ R]R&   R]R&   ]R R l4       tRtR	# )
ÚComputeTensorMethodiö  r…  r†  rþ   r‡  c               ó    € V ^8„  d   QhRRRR/# rt  ra   )rt   s   "r^   ru   Ú ComputeTensorMethod.__annotate__ü  s   € ÷ $ñ $˜.ð $¨Zñ $r`   c                	óD  € \         P                  VP                  9  d   R # VP                  P	                  4       '       d   \        RVP                   24      hVP                  P                  P                  f   \        RVP                   24      h\        P                  ! VRVP                  R7      pV P                  \        P                  J d5   RpVP                  4        F  pW4P                  4        R2,          pK  	  V# V P                  \        P                   Jd   \#        V P                  4       RpVP                  4        FÉ  p\$        P&                  ! VP                  4      p\)        VP                  4       VP                  4       RR7      pRP+                  V Uu. uF  qwP,                  NK  	  up4      pVR	VP                   R
VP/                  RR7       RVP                  P0                  P3                  4        RV R2	,          pKË  	  V# u upi )Nz*Method variant cannot be an out function: z#Method variant must have self_arg: TrP  r~   z const;
)rQ  r4  r�  r¦  zTensor::)Úprefixz const {
    return at::_ops::r¨  ú);
}
)r>   rQ  r­  r’   Ú	is_out_fnr¢   rà   Úself_argr   rS  rª  r†  rK   r”  r«  r®  r—  r   r   r’  r   r  r7  r–  r¾   r“  )	rZ   rÇ   r¯  r°  r"  r±  r>  r¬   r²  s	   &&       r^   r€  ÚComputeTensorMethod.__call__û  s¼  € ä�>‰> §¡Ô+Ùà�6‰6×Ñ×ÒÜ Ð#MÈaÏfÉfÈXÐ!VÓWÐWØ�6‰6×Ñ×$Ñ$Ò,Ü Ð#FÀqÇvÁvÀhÐ!OÓPÐPä%×:Ò:Ø�d¨Q×-AÑ-Aô
ˆ	ð �;‰;œ&×,Ñ,Ó,ØˆFØ ×+Ñ+Ö-�ØŸX™X›Z˜L¨	Ð2Õ2’ñ .àˆMà�;‰;œf×/Ñ/Ó/Ü˜Ÿ™Ô%àˆà×'Ñ'Ö)ˆCÜ,×8Ò8¸¿¹Ó@ˆJÜ˜cŸm™m›o¨z×/CÑ/CÓ/EÈdÔSˆEØŸ	™	±5Ó"9±5¨a§6¤6±5Ñ"9Ó:ˆIàð 
Ø
�&‰&ˆð Ø�‰˜
ˆÓ#Ð$ð %Ø—f‘f—k‘k×2Ñ2Ó4Ð5°W¸Y¸Kð Hðõ ŠFñ *ð ˆùò #:s   Æ*H
ra   NrŸ  ra   r`   r^   r·  r·  ö  s    ‡ à:Ó:Ø%7Ó7à ô$ó !ô$r`   r·  c                  ó,   € ] tR tRt]R R l4       tRtR# )ÚComputeRedispatchFunctioni&  c               ó    € V ^8„  d   QhRRRR/# rt  ra   )rt   s   "r^   ru   Ú&ComputeRedispatchFunction.__annotate__)  s   € ÷ ñ ˜.ð ¨Zñ r`   c                	ó   € \         P                  ! VR VP                  R7      pRpVP                  4        FÏ  p\        P
                  ! VP                  4      p\        VP                  4       VP                  4       4      pRP                  R.V Uu. uF  qwP                  NK  	  up,           4      pVRVP                   RVP                  RR7       R	VP                  P                  P                  4        R
V R2	,          pKÑ  	  V# u upi )FrP  r~   r4  r�  r�  r¦  T)r�  r§  z::redispatch(r¼  )r   rS  rª  r«  r   r’  r’   r   rà   r  r7  r®  r¾   r“  )	rZ   rÇ   r¯  r°  r"  r±  r>  r9  r²  s	   &&       r^   r€  Ú"ComputeRedispatchFunction.__call__(  sú   € ô &×:Ò:Ø�e¨a×.BÑ.Bô
ˆ	ð ˆØ×'Ñ'Ö)ˆCÜ,×8Ò8¸¿¹Ó@ˆJÜ˜cŸm™m›o¨z×/CÑ/CÓ/EÓFˆEØŸ	™	Ð#3Ð"4ÉÓ7NÉÀ1¿¼ÉÑ7NÕ"NÓOˆIàð 
Ø
�&‰&ˆð Ø�‰ TˆÓ*Ð+ð ,Ø—f‘f—k‘k×2Ñ2Ó4Ð5°]À9À+ð Nðõ ŠFñ *ð ˆùò 8Os   ÂDra   Nrµ  ra   r`   r^   rÁ  rÁ  &  s   † à ôó !ôr`   rÁ  c               ó    € V ^8„  d   QhRRRR/# r‰  ra   )rt   s   "r^   ru   ru   F  s   € ÷ Mñ M�~ð M¨#ñ Mr`   c                óŒ   € R V P                   P                  P                   RV P                   P                  P                   R2# )z{"aten::z", "z"},)r’   r¾   r•  ©rÇ   s   &r^   Úcompute_aten_oprÉ  E  s5   € à�q—v‘v—{‘{×'Ñ'Ð(¨¨Q¯V©V¯[©[×-FÑ-FÐ,GÀtÐLÐLr`   c               ó    € V ^8„  d   QhRRRR/# )rn   Úgr5   rs   r  ra   )rt   s   "r^   ru   ru   K  s   € ÷ yñ yÐ)=ð yÀ*ñ yr`   c                óú  € V P                   '       g   R # \        V P                  4      ;_uu_ 4        \        P                  ! V 4      p\         P
                  ! V 4      pRP                  R V 4       4      pV P                  P                  pVf   RpRpV P                   '       d   V P                  P                  MR pV'       Edo   . VP                  P                  4       OVP                  NpV UU	u. uF  qˆ F  q™NK  	  K  	  p
pp	V
 U	u. uF  q™P                  P                  4       NK  	  pp	RP                  R V 4       4      pRV R2pV
 U	u. uF$  p	\         P                  ! W™P                  R7      NK&  	  pp	R	P                  R
 V 4       4      p. p\        V
4       EFD  w  pp	RP                  VR V R.,           VV^,           R  ,           4      pRV R2pVV,          P                  RR7      pV RV	P                   RV R2pRV	P                   R2pRVV,           RV R2p. pVP!                  V R24       \        V
4       FZ  w  pp	VV8X  d"   VP!                  RV	P                   R24       K.  VP!                  RV	P                   RV	P                   R24       K\  	  VP!                  R4       RP                  V4      pVP!                  RV RV R V R!24       EKG  	  RP                  V4      pRP                  R.\#        V4      ,          4      pR"V R#2pR$pR%V R&V RV R'2pMR(pR(pR)V R*V R+V R,V R,V R-V R.2uuR R R 4       # u up	pi u up	i u up	i   + '       g   i     R # ; i)/Nr4  c              3  ó@   "  € T F  qP                  4       x € K  	  R # 5irx   )r®  r8  s   & r^   r|   Ú4compute_meta_function_declaration.<locals>.<genexpr>Q  s   é € Ð4©t¨!ŸV™VŸX˜X«tùó   ‚zat::impl::MetaBaseÚvoidc              3  ó.   "  € T F  pR V R2x € K  	  R# 5i)zbool z = falseNra   )ry   Úparams   & r^   r|   rÎ  c  s   é € ð 8Ù5T¨E�%˜�w˜hÕ'Ó5Tùs   ‚z
template <Ú>)Úbindsr{  c              3  ód   "  € T F&  pVP                  R R7       RVP                   2x € K(  	  R# 5i)T©Ú	strip_refÚ N)Úcpp_typer¾   )ry   Úelems   & r^   r|   rÎ  n  s2   é € ð 3á?�Dð —=‘=¨4�=Ó0Ð1°°4·9±9°+Õ>Û?ùs   ‚.0Útruezprecompute_out<TrÖ  z set_rE  z value)rò   z already set"zstatic_assert(z == false, rF  z ret;zret.z	 = value;z	 = this->r]  zreturn ret;rö   z
                    z {
                        z
                        z'
                    }
                z'using meta_return_ty = precompute_out <z>;Úmeta_return_tyz
                zG
                struct TORCH_API precompute_out {
                    z;
            };r~   zstruct TORCH_API structured_z
 : public r‘  r_  z meta(z);
};
)rÝ   r   ÚoutÚmetar¾   Úmeta_argumentsr  Ústructured_inheritsÚprecomputedrù   Úvaluesr¼   ÚupperÚargument_typeÚ	enumeraterÙ  r§   rå   )rË  r¾   ÚargsÚargs_strÚparent_classÚmeta_returnrá  Úprecomputed_valuesÚreplace_listrÚ  Úprecomputed_elementsÚprecomputed_template_parametersÚprecomputed_template_params_strÚprecompute_template_declÚ#precomputed_elements_with_cpp_typesÚprecomputed_elements_declÚsetter_methodsÚiÚreturn_ty_templatesÚ	return_tyÚelem_cpp_tyrW  Ú
assert_msgÚassert_stmtÚconstruction_stmtsÚjÚconstruction_blockÚsetter_methods_declÚmeta_return_template_paramsÚmeta_return_typedefÚprecomputed_decls   &                              r^   Ú!compute_meta_function_declarationr   K  s  € Ø�<�<ˆ<ÙÜ	  §¡×	'Õ	'Ü�yŠy˜‹|ˆÜ×(Ò(¨Ó+ˆØ—9‘9Ñ4©tÓ4Ó4ˆØ—u‘u×0Ñ0ˆØÒØ/ˆLØˆØ+,¯<¯<¨<�a—e‘e×'Ò'¸Tˆçˆ;ð "R ;×#6Ñ#6×#=Ñ#=Ó#?Ð!QÀÇÁÐ!QÐá);ô$Ù);˜ÊÀ’É‘Ñ);ð !ñ $ñ /Có/Ù.B d—	‘	—‘Ö!Ñ.Bð ,ð /ð /3¯i©iñ 8Ù5Tó8ó /Ð+ð *4Ð4SÐ3TÐTUÐ'VÐ$ñ
 1ó3á0�Dô ×(Ò(¨·Y±Y×?Ù0ð 0ð 3ð
 ).¯
©
ñ 3á?ó3ó )Ð%ð  ˆNÜ$Ð%9×:‘��4ð '+§i¡iØ3°B°QÐ7Ø�hõà5°a¸!µe°gÐ>õ?ó'Ð#ð
 .Ð.AÐ-BÀ!ÐD�	ØAÀ!ÕD×MÑMØ"ð Nó �ð  )˜k¨¨t¯y©y¨k¸¸;¸-ÀwÐO�	ð  ! §¡ ¨=Ð9�
Ø .Ð/NÈqÕ/QÐ.RÐR]Ð^hÐ]iÐikÐl�ð &(Ð"Ø"×)Ñ)¨Y¨K°uÐ*=Ô>ä(Ð)=Ö>‘G�A�tØ˜A”vØ*×1Ñ1°D¸¿¹¸À9Ð2MÖNà*×1Ñ1Ø" 4§9¡9 +¨Y°t·y±y°kÀÐCöñ	  ?ð #×)Ñ)¨-Ô8Ø%)§Y¡YÐ/AÓ%BÐ"à×%Ñ%ðØ�Kð  Ø$˜ð &Ø+Ð,ð -ð÷ñW ;ðf #'§)¡)¨NÓ";Ðð +/¯)©)Ø�œ3Ð>Ó?Õ?ó+Ð'ð
 %LÐLgÐKhÐhjÐ"kÐØ*ˆKð$Ø)Ð*ð +à(Ð)ð *Ø.Ð/ð 0ð	 Ñð #%ÐØ!ÐðØ!˜F *¨\¨Nð ;ØÐð ØÐð Ø€M�˜�zð "ð	÷a 
(Ò	'ùó$ùò/ùò3÷7 
(×	'Ð	'úsC   ²A4M)Â' M)Ã-M)Ã5M
ÄM)Ä"MÄ0$M)Å*M$Å>GM)ÍM)Í)M:	c               ó$   € V ^8„  d   QhRRRRRR/# )rn   rÇ   r4   rp  rD   rs   rŽ   ra   )rt   s   "r^   ru   ru   Ç  s"   € ÷ 3ñ 3˜Nð 3Ð6Fð 3È4ñ 3r`   c                ó  € \        V P                  P                  P                  4      pVP                  R 4      '       g   VP	                  R4      '       d   R# V P                  P
                  P                  f   R# VP                  V 4      # )Ú_likeÚnew_F)rŒ   r’   r¾   ÚendswithÚ
startswithrà   ra  r|  )rÇ   rp  r¾   s   && r^   Úneeds_backend_selectr  Ç  sd   € Üˆq�v‰v�{‰{×ÑÓ €DØ‡}�}�W×Ò §¡°×!8Ò!8ÙØ‡v�v×Ñ×&Ñ&Ò.ÙØ×/Ñ/°Ó2Ð2r`   c                  óB   € ] tR tRt$ R]R&   R]R&   ]R R l4       tRtR	# )
ÚComputeBackendSelectiÓ  z/Literal[Target.DEFINITION, Target.REGISTRATION]r†  rD   rp  c               ó    € V ^8„  d   QhRRRR/# rt  ra   )rt   s   "r^   ru   Ú!ComputeBackendSelect.__annotate__Ü  s   € ÷ 8&ñ 8&˜.ð 8&¨Zñ 8&r`   c                	ó  € \        WP                  4      '       g   R # \        P                  ! VP                  4      p\        VP                  RR7      pVP                  4        Uu. uFS  p\        VP                  \        4      '       g   K%  VP                  P                  P                  4       '       g   KQ  VNKU  	  pp\        P                  ! VP                  4      pTpVP                  4       pRp	V P                  \         P"                  J Ed   V'       de   VP                  P                  P%                  4       '       g   \'        RVP                   24      hRP)                  R V 4       4      p
RV	 RV
 R	2pMHVP                  P                  P%                  4       '       d   \'        R
VP                   24      hRV	 R2pRVP                   RVP+                  V4       RV RVP                  P                  P-                  4        RRP)                  R V 4       4       R2# V P                  \         P.                  J d   RVP                  P                   RV R2# \1        V P                  4       R # u upi )NT©rT  z.c10::computeDispatchKey(dtype, layout, device)z'Expected function to have tensor args: r4  c              3  ó8   "  € T F  qP                   x € K  	  R # 5irx   ©r¾   r8  s   & r^   r|   Ú0ComputeBackendSelect.__call__.<locals>.<genexpr>û  s   é € Ð'KÑ8J°1¯®Ó8Jùr;  z-DispatchKeySet _dk_set = c10::DispatchKeySet(z() | c10::detail::multi_dispatch_key_set(z³);
DispatchKeySet _dk_mask = c10::DispatchKeySet(DispatchKeySet::FULL_AFTER, DispatchKey::BackendSelect);
DispatchKeySet _dk = c10::impl::computeDispatchKeySet(_dk_set, _dk_mask);z+Expected function to not have tensor args: z)DispatchKeySet _dk = c10::DispatchKeySet(rF  z	// aten::z
C10_ALWAYS_INLINE
z {
  z
  return at::_ops::z::redispatch(
      _dk, c              3  ó8   "  € T F  qP                   x € K  	  R # 5irx   r6  r8  s   & r^   r|   r    s   é € Ð7Ñ&6 —f–fÓ&6ùr;  r¼  zm.impl("aten::z", TORCH_FN(z));)r  rp  Únativer¾   r’   r   rà   r    r-  r&   r£   r`  r   r’  r>  r†  rK   r—  Úhas_tensor_argr¢   r  r–  r“  ÚREGISTRATIONr   )rZ   rÇ   r¾   Ú
native_sigr9  rd  Údispatcher_sigr"  Údispatcher_exprsro   re  Ú
compute_dks   &&          r^   r€  ÚComputeBackendSelect.__call__Û  s=  € ä# A§}¡}×5Ò5Ùä�{Š{˜1Ÿ6™6Ó"ˆä$ Q§V¡V°DÔ9ˆ
ð  ×)Ñ)Ô+ó
á+�Ü˜!Ÿ*™*¤h×/ô à45·J±J·O±O×4RÑ4R×4T÷ ˆAÙ+ð 	ð 
ô -×8Ò8¸¿¹Ó@ˆð ˆØ)×/Ñ/Ó1ÐØGˆà�;‰;œ&×+Ñ+Ô+÷
 "Ø—v‘v×'Ñ'×6Ñ6×8Ò8Ü(ØAÀ!Ç&Á&ÀÐJóð ð #Ÿi™iÑ'KÑ8JÓ'KÓK�ð".Ø.:¨^Ð;cÐdoÐcpð qJðM‘
ð
 —6‘6×#Ñ#×2Ñ2×4Ò4Ü(ØEÀaÇfÁfÀXÐNóð ð @À¸~ÈRÐPð ð
Ø
�&‰&ˆð à‡�ˆ$ƒÐ ð Ø€,ð Ø—F‘F—K‘K×0Ñ0Ó2Ð3ð 4Ø�I‰IÑ7Ñ&6Ó7Ó7Ð8ð 9ðð ð �[‰[œF×/Ñ/Ó/Ø% a§f¡f§k¡k ]°,¸t¸fÀCÐJÐJä˜Ÿ™Ö%ùòa
s   Á'"I>Â'I>Â:I>ra   NrŸ  ra   r`   r^   r	  r	  Ó  s"   ‡ à;Ó;ð Óà ô8&ó !ô8&r`   r	  c               ó    € V ^8„  d   QhRRRR/# )rn   Údatar†   rs   rŒ   ra   )rt   s   "r^   ru   ru     s   € ÷ Sñ S�fð S ñ Sr`   c                ó˜   € R  \         n        R R lp\         P                  ! \        V4       \        P
                  ! V R\         RR7      # )c                ó   € R # )Tra   )rZ   r  s   &&r^   r—   Úformat_yaml.<locals>.<lambda>   s   € ±4r`   c               ó$   € V ^8„  d   QhRRRRRR/# )rn   Údumperr
   r  rs   ra   )rt   s   "r^   ru   Ú!format_yaml.<locals>.__annotate__#  s!   € ÷ 3ñ 3 ð 3¨Cð 3°Cñ 3r`   c                ó@   € V P                  VP                  4       4      # rx   )Úrepresent_dictr�   )r   r  s   &&r^   Údict_representerÚ%format_yaml.<locals>.dict_representer#  s   € Ø×$Ñ$ T§Z¡Z£\Ó2Ð2r`   Fg    eÍÍA)Údefault_flow_styleÚDumperÚwidth)rL   Úignore_aliasesÚadd_representerr   rÅ   Údump)r  r$  s   & r^   Úformat_yamlr,    s9   € á 7„JÔõ3ô ×Òœ{Ð,<Ô=ô �9Š9�T¨e¼JÈcÔRÐRr`   c               ó    € V ^8„  d   QhRRRR/# )rn   rï   rŒ   rs   r†   ra   )rt   s   "r^   ru   ru   1  s   € ÷ ñ ˜ð  ñ r`   c                ó¢   € V R 8X  d   R# V R8X  d   R#  \        V 4      #   \         d%     \        T 4      u #   \         d    T u u # i ; ii ; i)rÛ  TÚfalseF)r¥   Ú
ValueErrorÚfloatrú   s   &r^   Úpythonify_defaultr2  1  sU   € ØˆF„{ÙØ	
ˆgŒÙðÜ�1‹vˆøÜô ð	Ü˜“8ŠOøÜô 	ØŒHð	úðús)   ”
 ŸA«
8µA¸A
ÁAÁ	A
Á
Ac               ó    € V ^8„  d   QhRRRR/# )rn   Útr=   rs   rŒ   ra   )rt   s   "r^   ru   ru   I  s   € ÷ 
ñ 
�Dð 
˜Sñ 
r`   c                óÌ   € \        V \        4      '       d   \        V P                  4      # \	        V 4      R 8X  d   R# \
        P                  ! V RRRR7      P                  4       # )ÚTensorz
at::TensorFÚ__placeholder__)ÚmutablerÔ  rT  )r    r8   Údynamic_typerÚ  rŒ   r   Úargumenttype_typerÙ  )r4  s   &r^   r9  r9  I  sS   € Ü�!”\×"Ò"Ü˜AŸF™FÓ#Ð#ô ˆ1ƒv�ÔÙä× Ò Ø	�5Ð 1¸%ôç�hƒjðr`   c               ó    € V ^8„  d   QhRRRR/# )rn   r­  zset[Variant]rs   r  ra   )rt   s   "r^   ru   ru   V  s   € ÷ ñ  \ð °iñ r`   c                ó¤   € R .p\         P                  V 9   d   VP                  R4       \         P                  V 9   d   VP                  R4       V# )r=   r6  Ú	namespace)r>   rQ  r§   r¬  )r­  Ú	method_ofs   & r^   Úcompute_method_of_yamlr?  V  sG   € ð �€IÜ‡~�~˜Ô!Ø×Ñ˜Ô"Ü×Ñ˜8Ô#Ø×Ñ˜Ô%ØÐr`   c               ó    € V ^8„  d   QhRRRR/# )rn   rÇ   r4   rs   z+tuple[list[dict[str, str]], dict[str, str]]ra   )rt   s   "r^   ru   ru   a  s   € ÷ ?'ñ ?'Øð?'à0ñ?'r`   c                óB  € / p\         P                  ! V 4      p. p\        \        V P                  P
                  V4      4       FÖ  w  pw  rVR \        VP                  4      RVR\         P                  ! VRR7      P                  4       /pVP                  '       dm   VP                  VR&   V P                  P                  4       '       d>   VP                  WP                  P                  P                  V,          P                  &   VP                  V4       KØ  	  W13# )r9  r¾   r£   Fr  Ú
field_name)r   Úreturn_namesrå  Úzipr’   Úreturnsr9  r£   Úreturn_typerÙ  r¾   r½  rà   rÝ  r§   )rÇ   Úname_to_field_nameÚnamesrE  ró  Úrr¾   Úrets   &       r^   Úcompute_returns_yamlrK  a  sä   € ðT *,Ðô ×Ò˜QÓ€EØ€GÜ!¤# a§f¡f§n¡n°eÓ"<Ö=‰ˆ‰9ˆAàœL¨¯©Ó0Ø�Dà”C—O’O A¨eÔ4×=Ñ=Ó?ð	
ˆð �6�6ˆ6à !§¡ˆC�ÑØ�v‰v×Ñ×!Ò!ØCDÇ6Á6Ð"§6¡6×#3Ñ#3×#7Ñ#7¸Õ#:×#?Ñ#?Ñ@à�‰�sÖñ >ð  Ð&Ð&r`   c               ó0   € V ^8„  d   QhRRRRRRRRRR	R
R/# )rn   Úcpp_ar   Úschema_orderrŽ   Úkwarg_only_setrˆ   Úout_arg_setrG  údict[str, str]rs   r†   ra   )rt   s   "r^   ru   ru   ¤  sF   € ÷ 
ñ 
Øð
ð ð
ð ð	
ð
 ð
ð 'ð
ð ñ
r`   c               óˆ  € \        V P                  \        4      '       dB   R RRRRRRV P                  RV P                  RR	/pV P
                  e   V P
                  VR
&   V# \        V P                  \        4      '       d   \        h\        V P                  \        4      '       d   \        V P                  VVVVR7      # R# )Ú
annotationNr9  zat::TensorOptionsÚis_nullableFr¾   r£   Ú
kwarg_onlyTr,  ©rN  rO  rP  rG  )
r    r-  r<   r¾   r£   r,  r:   r¢   r&   Úcompute_argument_yaml)rM  rN  rO  rP  rG  rë   s   &$$$$ r^   Úcompute_cpp_argument_yamlrX  ¤  s¯   € ô �%—.‘.Ô"8×9Ò9à˜$ØÐ/Ø˜5Ø�E—J‘JØ�E—J‘JØ˜$ð"
ˆð �=‰=Ò$Ø"Ÿ]™]ˆC�	‰NØˆ
Ü	�E—N‘N¤L×	1Ò	1ÜÐÜ	�E—N‘N¤H×	-Ò	-Ü$Ø�N‰NØ%Ø)Ø#Ø1ô
ð 	
ñ 
.r`   c               ó0   € V ^8„  d   QhRRRRRRRRRR	R
R/# )rn   r9  r&   rN  rŽ   rO  rˆ   rP  rG  rQ  rs   r†   ra   )rt   s   "r^   ru   ru   Ä  sF   € ÷ !ñ !Øð!ð ð!ð ð	!ð
 ð!ð 'ð!ð ñ!r`   c               ó  € R V P                   '       d   \        V P                   4      MRR\        V P                  4      RV P                  P	                  4       RV P
                  R\        P                  ! V RRR7      P                  4       /pV P                  e:   \        \        P                  ! V P                  V P                  RR	7      4      VR
&   V P
                  V9   d   RVR&   V P
                  V9   d1   RVR&   RVR&   V P
                  V9   d   W@P
                  ,          VR&   V P                  P                  4       pVe8   VP                  e*   \        VP                  4      R8w  d   VP                  VR&   V# )rS  Nr9  rT  r¾   r£   r7  F)rÔ  rT  r  r,  TrU  r  ÚallocaterB  rŽ   Úsize)rS  rŒ   r9  r£   rT  r¾   r   rä  rÙ  r,  r2  Údefault_exprÚis_list_liker\  rÚ  )r9  rN  rO  rP  rG  rë   Úls   &$$$$  r^   rW  rW  Ä  s5  € ð 	¨1¯<¯<¨<”c˜!Ÿ,™,Ô'¸TØœ Q§V¡VÓ,Ø�q—v‘v×)Ñ)Ó+Ø�—‘à”×!Ò! !Ð+<ÀUÔK×TÑTÓVð€Cð 	‡y�yÒÜ*Ü×Ò˜QŸY™Y¨¯©°uÔ=ó
ˆˆI‰ð 	‡v�v�ÔØ ˆˆLÑØ‡v�v�ÔØˆˆH‰ØˆˆJ‰à�6‰6Ð'Ô'Ø 2·6±6Õ :ˆC�Ñð 	
�‰×ÑÓ€AØ‚}˜Ÿ™Ò+´°A·F±F³¸vÔ0EØ—f‘fˆˆF‰Ø€Jr`   c               ó    € V ^8„  d   QhRRRR/# )rn   rÇ   r4   rs   r†   ra   )rt   s   "r^   ru   ru   é  s   € ÷ Uñ U ð U°6ñ Ur`   c                óÞ  € \        V 4      w  rV P                  P                  P                   Uu0 uF  q3P                  kK  	  ppV P                  P                  P
                   Uu0 uF  q3P                  kK  	  pp\        P                  ! V R R R7      pVP                  P                  4       pV Uu. uF  p\        VR VVVR7      NK  	  p	p\        V P                  P                  4       4      p
V
 Uu. uF  p\        VRVVVR7      NK  	  ppV
 UUu. uF:  p\        P                  ! VR \        4       R R R R7       F  pVP                   NK  	  K<  	  ppp\        P"                  ! V P                  P$                  R R7      P'                  4       pV RRP)                  V4       R2p\*        ;QJ d    R	 V 4       F  '       g   K   RM	  R M! R	 V 4       4      ;'       d    \,        P.                  V P0                  9  p\3        R
\        P                  ! V P                  4      3R\5        V P                  P                  P                  4      3R\5        V P                  P                  P6                  4      3RV P8                  3RV P:                  e   V P:                  MR3RRV P                   23RV	3RV3RV3R\=        V P0                  4      3RRV P>                  f   RMV P>                  3RV3RV P                  P                  P                  P@                  3RV3RV PB                  3RV PD                  3RRRV PF                  3.4      # u upi u upi u upi u upi u uppi ) FrP  rV  T)rQ  Úcpp_no_default_argsÚfaithfulrT  Úhas_tensor_optionsr  z (r4  r\  c              3  óV   "  € T F  p\        VP                  \        4      x € K!  	  R # 5irx   )r    r-  r<   r8  s   & r^   r|   Ú+compute_declaration_yaml.<locals>.<genexpr>   s   é € ÐMÁH¸qŒJ�q—z‘zÔ#9×:Ð:ÃHùs   ‚')r¾   Úoperator_namer•  r  Úcategory_overrider~   Úschema_stringúaten::rà   Úschema_order_cpp_signatureÚschema_order_argumentsr>  Úpython_modulerE  râ   Úis_factory_methodÚabstractr�   Úhas_math_kernel)Úmoder  )Úwith_gilF)Ú
deprecatedF)$rK  r’   rà   Úflat_kwarg_onlyr¾   rÝ  r   rS  rW  rX  r¡   rl  rW  r   r-  r¹   r£   Úreturns_typerE  rÙ  r  Úanyr>   rQ  r­  r   rŒ   r•  r  rh  r?  rm  râ   Úis_abstractr�   r  )rÇ   rE  rG  r9  rO  rP  r¯  Úcpp_argsrM  rà   Úschema_order_jit_argumentsrl  rI  Úcpp_schema_order_typesÚcpp_returnsrk  rn  s   &                r^   Úcompute_declaration_yamlr|  è  sK  € ä"6°qÓ"9Ñ€Gð '(§f¡f×&6Ñ&6×&FÒ&FÓGÑ&F —f”fÑ&F€NÐGØ#$§6¡6×#3Ñ#3×#7Ò#7Ó8Ñ#7˜a—6”6Ñ#7€KÐ8ä!×6Ò6Ø	�%¨%ô€Ið ×"Ñ"×,Ñ,Ó.€Hñ ó	ñ ˆEô 	"ØØØ)Ø#Ø1÷	
ñ ð ð 	ô "& a§f¡f×&CÑ&CÓ&EÓ!FÐñ ,ó	ñ ,ˆAô 	ØØØ)Ø#Ø1÷	
ñ ,ð ð 	ñ ,ôñ ,ˆAÜ—’ØØÜ #£ØØØ$÷
ˆAð 	
�Œñ
ñ 	Ù+ð ñ ô ×"Ò" 1§6¡6§>¡>¸%Ô@×IÑIÓK€KØ$/ =°°4·9±9Ð=SÓ3TÐ2UÐUVÐ!WÐ÷ 	‹ÑMÁHÓM��ŠÑMÁHÓMÓM÷ 	-ð 	-Ü�N‰N !§*¡*Ñ,ð ô
 à”S—X’X˜aŸf™fÓ%Ð&Øœc !§&¡&§+¡+×"2Ñ"2Ó3Ð4Øœc !§&¡&§+¡+×";Ñ";Ó<Ð=Ø)¨1×+GÑ+GÐHà#Ø'(×':Ñ':Ò'F�×#Ò#ÈBðð   q§v¡v hÐ/Ð0Ø˜)Ð$Ø)Ð+EÐFØ%Ð'=Ð>ØÔ0°·±Ó<Ð=ØØ A§O¡OÒ$;™bÀÇÁÐQØ˜Ð Ø˜Ÿ™Ÿ™×(Ñ(×0Ñ0Ð1Ø Ð"3Ð4Ø˜Ÿ™Ð'Ø˜QŸ^™^Ð,ØØ!Ø × HÑ HÐIð/	
óð ùòm HùÚ8ùò	ùò	ùós   °MÁ(MÂ5MÃ7M$ÄA M)c               ó    € V ^8„  d   QhRRRR/# )rn   rÇ   r4   rs   rŽ   ra   )rt   s   "r^   ru   ru   B  s   € ÷ ñ ¨.ð ¸Tñ r`   c                ó  € V P                   ;'       g    V P                  R J;'       d_    V P                  P                  4       \        P
                  8H  ;'       g,    V P                  P                  4       \        P                  8H  # rx   )rÝ   rÜ   r’   Úkindr9   Ú
functionalrâ   rÈ  s   &r^   Ú"has_autogenerated_composite_kernelr�  B  s`   € Ø�L‰L×=Ð=˜A×1Ñ1¸Ð=÷ ð Ø	�‰�‰‹œ×.Ñ.Ñ.×UÐU°!·&±&·+±+³-Ä:×CUÑCUÑ2Uðr`   c               ó$   € V ^8„  d   QhRRRRRR/# )rn   rÇ   r4   rj   údict[DispatchKey, BackendIndex]rs   rŒ   ra   )rt   s   "r^   ru   ru   I  s$   € ÷ ñ ØðØ(Gðàñr`   c                ól  € \         P                  ! V P                  4      p\         P                  ! V P                  P                  4      P                  4       p\         P                  ! V P                  4      pR P                  R V 4       4      pRRV P                   2R\        VP                  4        UUu0 uF   w  rgVP                  V 4      '       g   K  VkK"  	  upp\        P                  08g  ;'       d_    VP                  4        UUu0 uF   w  rgVP                  V 4      '       g   K  VkK"  	  upp\        P                  \        P                  08g  4      R\        V P                  ;'       g    \        V 4      4      /pV RV RV R\         P"                  ! V4       R	2# u uppi u uppi )
r4  c              3  ó\   "  € T F"  qP                  4       P                  4       x € K$  	  R # 5irx   )Ú
no_defaultr®  r8  s   & r^   r|   Ú4compute_registration_declarations.<locals>.<genexpr>O  s    é € Ð=¹°1Ÿ™›×,Ñ,×.Ð.»ùó   ‚*,Úschemarj  Údispatchr,  rØ  rE  z); // rö   )Ú
dispatcherr¾   r’   ru  rE  rÙ  rà   r  rŒ   r�   r	  r,   r   r  Úhas_composite_kernelr�  ÚjsonÚdumps)	rÇ   rj   r¾   ru  ræ  rç  r¯   r°   Úcomment_datas	   &&       r^   Ú!compute_registration_declarationsr�  H  sj  € ô �?Š?˜1Ÿ6™6Ó"€DÜ×*Ò*¨1¯6©6¯>©>Ó:×CÑCÓE€LÜ×Ò §¡Ó'€DØ�y‰yÑ=¹Ó=Ó=€Hà�F˜1Ÿ6™6˜(Ð#à”CØ*×0Ñ0Ô2ÔFÑ2‘4�1°a·l±lÀ1·o�QˆQÑ2ÒFÜ×5Ñ5Ð6ñ7÷ ð à.×4Ñ4Ô6ÔJÑ6‘t�q¸!¿,¹,Àq¿/—�Ñ6ÒJä×5Ñ5Ü×AÑAðñó
ð 	”3�q×-Ñ-×VÐVÔ1SÐTUÓ1VÓWð$€Lð ˆ~˜Q˜t˜f A h Z¨v´d·j²jÀÓ6NÐ5Oð Pð ð ùó GùãJs   Â9F*ÃF*ÄF0Ä0F0c               ó$   € V ^8„  d   QhRRRRRR/# )rn   Ú"provided_op_registration_allowlistzlist[str] | NoneÚop_selection_yaml_pathr  rs   rD   ra   )rt   s   "r^   ru   ru   i  s&   € ÷ ñ Ø(8ðà&ðð ñr`   c                óì   € V e   Ve   \        R4      hR pV e   \        V 4      pVe   \        P                  ! VRR4      pV# Ve   \        P                  ! V4      pV# \        P
                  ! 4       pV# )NzhBoth provided_op_registration_allowlist and op_selection_yaml_path can NOT be provided at the same time.TF)r¢   r¹   rD   Ú&from_legacy_op_registration_allow_listÚfrom_yaml_pathÚget_nop_selector)r’  r“  Úop_registration_allowlistrp  s   &&  r^   Úget_custom_build_selectorr™  i  s—   € ð
 	+Ò6Ø"Ò.äð4ó
ð 	
ð
 26ÐØ)Ò5Ü$'Ð(JÓ$KÐ!à Ò,Ü#×JÒJØ%ØØó
ˆð €Oð 
 Ò	+Ü#×2Ò2Ð3IÓJˆð €Oô $×4Ò4Ó6ˆà€Or`   c               ó    € V ^8„  d   QhRRRR/# )rn   ri   rÏ   rs   z3Sequence[NativeFunction | NativeFunctionsViewGroup]ra   )rt   s   "r^   ru   ru   ˆ  s    € ÷ 0Oñ 0OØ.ð0Oà8ñ0Or`   c                ó"  € R  R lp\        \        4      pV  FÓ  pVP                  P                  4       pVP                  pV\
        P                  8X  dZ   VP                  P                  4       pWbV,          9   d&   \        RV RW$,          P                  4        24      hW2V,          V&   K—  WRV,          9   d%   \        V RW$,          P                  4        24      hW2V,          V&   KÕ  	  \        \        WP                  4       4      4      # )c               ó    € V ^8„  d   QhRRRR/# )rn   Údz1dict[ViewSchemaKind | SchemaKind, NativeFunction]rs   z/list[NativeFunction | NativeFunctionsViewGroup]ra   )rt   s   "r^   ru   Ú:get_grouped_by_view_native_functions.<locals>.__annotate__‹  s   € ÷ ñ Ø<ðà	8ñr`   c                ój  € . p\         P                  V 9   d}   V P                  \         P                  4      pV P                  \         P                  R 4      pV P                  \        P
                  R 4      pVP                  \        VVVR7      4       VP                  V P                  4       4       V# )N)ÚviewÚ	view_copyÚview_inplace)
r?   Úaliasingr»   Úaliasing_inplacer9   r€  r§   r6   Úextendrâ  )r�  r•   r   r¢  r¡  s   &    r^   Úmaybe_create_view_groupÚEget_grouped_by_view_native_functions.<locals>.maybe_create_view_group‹  s�   € ð BDˆÜ×"Ñ" aÔ'Ø—5‘5œ×0Ñ0Ó1ˆDØŸ5™5¤×!@Ñ!@À$ÓGˆLØŸ™œj×3Ñ3°TÓ:ˆIà�L‰LÜ(ØØ'Ø!-ôôð 	�‰�Q—X‘X“ZÔ Øˆr`   zDuplicate schema kind z in z already in )r   r¤   r’   Úview_signatureÚview_schema_kindr?   Únon_aliasingr  r¢   rc  r¡   rE   râ  )ri   r¦  Úgrouped_by_viewsrÇ   r‰  Ú	view_kindr  s   &      r^   Ú$get_grouped_by_view_native_functionsr­  ˆ  s  € õô. 	”DÓð ó ˆØ—‘×&Ñ&Ó(ˆØ$%×$6Ñ$6ˆ	ð
 œ×3Ñ3Ô3Ø—6‘6—;‘;“=ˆDØ¨Õ/Ô/Ü$Ø,¨T¨F°$Ð7GÕ7O×7TÑ7TÓ7VÐ6WÐXóð ð ./˜VÕ$ TÓ*à¨VÕ4Ô4Ü$Ø �k Ð.>Õ.F×.KÑ.KÓ.MÐ-NÐOóð ð 34˜VÕ$ YÓ/ñ' ô* ”	Ð1×3JÑ3JÓ3LÓMÓNÐNr`   c               ó    € V ^8„  d   QhRRRR/# )rn   ri   rÏ   rs   ú/Sequence[NativeFunction | NativeFunctionsGroup]ra   )rt   s   "r^   ru   ru   »  s   € ÷ ñ Ø.ðà4ñr`   c           	     ó|   € R  R lp\        V 4      p\        \        V\        VP                  4       4      4      4      # )c               ó    € V ^8„  d   QhRRRR/# )rn   r�  z dict[SchemaKind, NativeFunction]rs   r¯  ra   )rt   s   "r^   ru   Ú2get_grouped_native_functions.<locals>.__annotate__¾  s   € ÷ ñ Ø+ðà	8ñr`   c                ód  € \         P                  ! V 4      pVf•   \        ;QJ d*    R V P                  4        4       F  '       g   K   RM	  RM! R V P                  4        4       4      '       d&   \	        R\        V P                  4       4       24      h\        V P                  4       4      # V.# )Nc              3  ó@   "  € T F  pR VP                   9   x € K  	  R# 5i)Ú	generatedN)r¶   ©ry   rÇ   s   & r^   r|   ÚJget_grouped_native_functions.<locals>.flatten_pre_group.<locals>.<genexpr>Å  s   é € Ð=±*¨Q�; !§&¡&Ö(³*ùrÏ  TFzVGenerated NativeFunctions should have been grouped into NativeFunctionsGroup objects: )r5   Ú	from_dictrv  râ  r¢   r¡   )r�  rI  s   & r^   Úflatten_pre_groupÚ7get_grouped_native_functions.<locals>.flatten_pre_group¾  s‹   € ô !×*Ò*¨1Ó-ˆØŠ9÷ ‹sÑ=°!·(±(´*Ó=�s�sŠsÑ=°!·(±(´*Ó=×=Ò=Ü$ð5Ü59¸!¿(¹(»*Ó5EÐ4FðHóð ô ˜Ÿ™›
Ó#Ð#à�3ˆJr`   )rC   r¡   rE   râ  )ri   r¹  Úpre_grouped_native_functionss   &  r^   Úget_grouped_native_functionsr¼  »  s<   € õô" $>Ð>NÓ#OÐ ÜÜÐ#¤TÐ*F×*MÑ*MÓ*OÓ%PÓQóð r`   Únative_function_decl_genc               ó(   € V ^8„  d   QhRRRRRRRR/# )	rn   Úgrouped_native_functionsr¯  rj   rƒ  r½  úJCallable[[NativeFunctionsGroup | NativeFunction, BackendIndex], list[str]]rs   údict[str, list[str]]ra   )rt   s   "r^   ru   ru   Õ  s2   € ÷ ñ àMðð 5ððð	ð ñr`   c                ó¨  € \        \        4      pV  F¼  p\        4       p\        4       pVP                  4        F‘  w  rxVP	                  V4      p	V	'       d0   V	P
                  p
VP                  V4       VP                  V
4       M\        p
\        V4      ^8”  d   \        RV RV 24      hW:,          P                  V! WH4      4       K“  	  K¾  	  V# )é   z6Codegen only supports one namespace per operator, got z from )r   r¡   r¹   r�   rG  rH  r¼   r*   rå   r¢   r¥  )r¿  rj   r½  Úns_grouped_kernelsrÇ   Únative_function_namespacesÚdispatch_keysro   Úbackend_idxrI  r=  s   $$$        r^   Úget_ns_grouped_kernelsrÈ  Õ  sÔ   € ô 0;¼4Ó/@ÐÛ%ˆÜ%(£UÐ"Ü›ˆØ)8×)>Ñ)>Ö)@Ñ%ˆLØ*×5Ñ5°aÓ8ÐßØ,×:Ñ:�	Ø×!Ñ! ,Ô/Ø*×.Ñ.¨yÕ9ä4�	ÜÐ-Ó.°Ô2Ü$ðØ5Ð6°f¸]¸OðMóð ð Õ)×0Ñ0Ù(¨Ó8öó *Añ &ð& Ðr`   c               ó    € V ^8„  d   QhRRRR/# )rn   rÄ  rÁ  rs   r  ra   )rt   s   "r^   ru   ru   ô  s   € ÷ ñ à,ðð ñr`   c           
     ó4  € . pR pV P                  4        F  w  r4\        VR^R7      p\        \        P                  ! V4      4      pVP                  R VP                   R VP                  V4       R VP                   R2P                  V4      4       K�  	  V# )rö   r~   ©Únamespace_strÚentity_nameÚ	max_levelú	
        )
r�   rJ   r¡   r   Úfromkeysr¥  Úprologuer  ÚepilogueÚsplit)rÄ  ÚdeclarationsÚnewliner=  ÚkernelsÚ	ns_helperÚordered_kernelss   $      r^   Ú8get_native_function_declarations_from_ns_grouped_kernelsrÙ  ô  s¯   € ð !€LØ€GØ0×6Ñ6Ö8Ñˆ	Ü#Ø#ØØô
ˆ	ô œ{×3Ò3°GÓ<Ó=ˆØ×ÑðØ
×ÑÐ ð Ø‡�ˆoÓÐ ð  Ø
×ÑÐ ð 	ð÷ ‰E�'‹Nö	
ñ 9ð  Ðr`   c               ó(   € V ^8„  d   QhRRRRRRRR/# )	rn   r¿  r¯  rj   rƒ  r½  rÀ  rs   r  ra   )rt   s   "r^   ru   ru     s2   € ÷ ñ àMðð 5ððð	ð ñr`   c                ó6   € \        V VVR7      p\        VR7      # )a¦  
Generate kernel declarations, in `NativeFunction(s).h`.
:param grouped_native_functions: a sequence of `NativeFunction` or `NativeFunctionGroup`.
:param backend_indices: kernel collections grouped by dispatch key.
:param native_function_decl_gen: callable to generate kernel declaration for each `NativeFunction`.
:return: a list of string, from the string with all declarations, grouped by namespaces, split by newline.
©r¿  rj   r½  )rÄ  )rÈ  rÙ  )r¿  rj   r½  rÄ  s   $$$ r^   Ú get_native_function_declarationsrÝ    s+   € ô  0Ø!9Ø'Ø!9ôÐô
 DØ-ôð r`   c               ó$   € V ^8„  d   QhRRRRRR/# )rn   rÇ   ú%NativeFunction | NativeFunctionsGrouprÇ  r'   rs   rŒ   ra   )rt   s   "r^   ru   ru   (  s$   € ÷ ñ Ø
/ðØ>Jðàñr`   c           	     ót  € VP                  V 4      pV'       d‡   R VP                  9  dv   \        V \        4      '       d   V P                  P
                  MV P                  P                  P
                  p\        RV RVP                   RVP                   R24      hV'       d   VP                  # \        # )rB  zThe kernel for function z with dispatch key z has a namespace z% and it's not ending with '::native'.)
rG  rH  r    r4   r’   r¾   r€  r¢   ro   r*   )rÇ   rÇ  rI  Ú	func_names   $$  r^   Úget_kernel_namespacerâ  (  s°   € ð #×-Ñ-¨aÓ0Ðß˜JÐ.>×.LÑ.LÔLä% a¬×8Ò8ˆA�F‰F�KŠK¸a¿l¹l×>OÑ>O×>TÑ>Tð 	ô Ø& y kð 2!Ø!,×!9Ñ!9Ð :ð ;Ø/×=Ñ=Ð>Ð>cðeó
ð 	
÷ +;Ð×&Ñ&ðÜ@Xðr`   c               ó@   € V ^8„  d   QhRRRRRRRRR	R
RRRRRRRRRR/
# )rn   r‚   rG   r¿  r¯  ro   r,   rÇ  r'   rp  rD   ÚrocmrŽ   rT  Úskip_dispatcher_op_registrationÚgen_dispatch_helpersrs   r  ra   )rt   s   "r^   ru   ru   <  s{   € ÷ _ñ _àð_ð Nð_ð ð	_ð
 ð_ð ð_ð ð_ð ð_ð &*ð_ð ð_ð ñ_r`   c        	        ó¸  aaaaaaa€ . p	\        \        4      o\        \        4      o\        \        4      p
R p\        P                  ! V\
        P                  VVVRSR7      p\        P                  ! V\
        P                  VVVRSR7      p\        P                  ! V\
        P                  VVVRSR7      pV FØ  p\        WóR7      P                  RR4      oSS,          P                  V! V4      4       SS,          P                  V! V4      4       \        V\        4      '       d   VP                  MVP                  P                  pVV
S,          9  d   \        \        4      V
S&   V
S,          V,          P                  V! V4      4       KÚ  	  S F¼  o\!        SS,          4      ^ 8X  d   K  \#        SR7      oRoV
S,           FK  pV
S,          V,          '       g   K  SRV RS R	VP%                  V
S,          V,          4       R
2,          oKM  	  V	P                  V P'                  RVVVVVVV3R l4      P)                  V4      4       K¾  	  V	# )rö   N©rä  rT  Úclass_method_namerå  ©rÇ   rÇ  rB  r~   )rÌ  z
TORCH_LIBRARY_IMPL(r4  z, m) {
    z
}zRegisterDispatchDefinitions.inic                 ó˜   <€ R SP                   RSP                  RS S,          RS'       d   RMSRRRSP                  4       RSS,          /# )Úns_prologueÚns_epilogueÚdispatch_anonymous_definitionsÚ"static_init_dispatch_registrationsr~   Údeferred_dispatch_registrationsÚdispatch_namespaceÚdispatch_namespaced_definitions)rÑ  rÒ  r  )Úanonymous_definitionsro   Úkernel_namespaceÚns_definitionsr×  Úregistration_bodyrå  s   €€€€€€€r^   r—   Ú1get_native_function_definitions.<locals>.<lambda>‹  sZ   ø€ Ø! 9×#5Ñ#5Ø! 9×#5Ñ#5Ø4Ð6KØ(õ7ð 9ß6ñ ;=à*Ø5°rØ(¨,×*<Ñ*<Ó*>Ø5°~ÐFVÕ7Wñr`   )r   r¡   r¤   ÚdestÚRegisterDispatchKeyrK   ÚNAMESPACED_DEFINITIONÚANONYMOUS_DEFINITIONr  râ  rù   r¥  r    r4   r=  r€  rå   rJ   r  Úsubstitute_with_templaterÓ  )r‚   r¿  ro   rÇ  rp  rä  rT  rå  ræ  ÚdefinitionsÚregistrationsrÕ  Úns_genÚanonymous_genÚreg_genrÇ   r=  ró  rô  rõ  r×  rö  s   $$d$$$$d$        @@@@@r^   Úget_native_function_definitionsr  <  sX  þ€ ð  €KÜ+6´tÓ+<€NÜ2=¼dÓ2CÐÜ5@ÄÓ5F€MØ€GÜ×%Ò%ØÜ×$Ñ$ØØØØØ(Gô€Fô ×,Ò,ØÜ×#Ñ#ØØØØØ(Gô€Mô ×&Ò&ØÜ×ÑØØØØØ(Gô€Gó &ˆÜ/°!ÔM×UÑUØ˜ó
Ðð 	Ð'Õ(×/Ñ/Ù�1‹Iô	
ð 	Ð.Õ/×6Ñ6Ù˜!Óô	
ô & a¬×8Ò8ˆA�KŠK¸a¿l¹l×>TÑ>Tð 	ð ˜MÐ*:Õ;Ô;Ü.9¼$Ó.?ˆMÐ*Ñ+ØÐ&Õ'¨	Õ2×9Ñ9Ù�A‹Jö	
ñ! &ó( +ÐÜˆ~Ð.Õ/Ó0°AÔ5ÙÜ#Ð2BÔCˆ	ØÐØ&Ð'7×8Ð8ˆIØ Ð!1Õ2°9×=Ô=ÙØð &Ø�;˜b  ð /Ø‡\�\�-Ð 0Õ1°)Õ<Ó=Ð>ð ?ð"õ Òñ 9ð 	×ÑØ×'Ñ'Ø1÷ò ó÷ ‰e�G‹nö!	
ñ +ð> Ðr`   c               ó4   € V ^8„  d   QhRRRRRRRRR	R
RR
RR/# )rn   r¿  r¯  ro   r,   rÇ  r'   rp  rD   rä  rŽ   rT  rs   r  ra   )rt   s   "r^   ru   ru      sP   € ÷ ,ñ ,àMð,ð ð,ð ð	,ð
 ð,ð ð,ð ð,ð ñ,r`   c           
     ól  € . p\        \        4      pR p\        P                  ! V\        P
                  VVRRVR7      p	V  FJ  p
\        W¢R7      P                  RVP                  4       4      pW{,          P                  V	! V
4      4       KL  	  VP                  4        F‘  w  r¼\        V4      ^ 8X  d   K  \        VR^R7      p\        \        P                  ! V4      4      pVP                  R VP                   R VP!                  V4       R VP"                   R2P%                  V4      4       K“  	  V# )	rö   NF)rä  ré  rå  rT  rê  r  r~   rË  rÏ  )r   r¡   rø  rù  rK   ÚNAMESPACED_DECLARATIONrâ  rù   r  r¥  r�   rå   rJ   r   rÐ  rÑ  r  rÒ  rÓ  )r¿  ro   rÇ  rp  rä  rT  rÔ  rÄ  rÕ  r’   rÇ   r=  rÖ  r×  rØ  s   $$$$$$         r^   Úget_namespaced_declarationr     s=  € ð !€LÜ/:¼4Ó/@ÐØ€GÜ×#Ò#ØÜ×%Ñ%ØØØØ(-Øô€Dó &ˆÜ(¨1ÔF×NÑNØ�l×(Ñ(Ó*ó
ˆ	ð 	Õ%×,Ñ,Ù�‹Gö	
ñ &ð 1×6Ñ6Ö8Ñˆ	Üˆw‹<˜1ÔÙÜ#Ø#°¸qô
ˆ	ô œ{×3Ò3°GÓ<Ó=ˆØ×ÑðØ
×ÑÐ ð Ø‡�ˆoÓÐ ð  Ø
×ÑÐ ð 	ð÷ ‰E�'‹Nö	
ñ 9ð Ðr`   c               ó$   € V ^8„  d   QhRRRRRR/# )rn   ri   rÏ   Úschema_selectorrD   rs   ztuple[list[str], str]ra   )rt   s   "r^   ru   ru   Ð  s(   € ÷ !=ñ !=à.ð!=ð &ð!=ð ñ	!=r`   c           
     ót  € \        \        4      pV  F$  pW#P                  ,          P                  V4       K&  	  R p. pRpVP	                  4        Fc  w  rx\        \        \        V4      V4      4      p	VR8X  d   T	pK.  TpRp
V\        9   d   RMRpVRV RV RV
P                  V	4       R	2,          pKe  	  WT3# )
r~   NÚatenrø   ÚTORCH_LIBRARY_FRAGMENTÚTORCH_LIBRARYrö   rE  z	, m) {
  z
};)	r   r¡   r=  r§   r�   rI   ro  r-   r  )ri   r  Úns_native_functionsÚnative_functionÚschema_registrationsÚaten_schema_registrationsÚcustom_namespacer=  r•   Úschema_registrations_bodyÚtabÚtorch_library_macros   $$          r^   Ú(get_native_function_schema_registrationsr  Ð  sð   € ô
 <GÄtÓ;LÐÛ+ˆØ×5Ñ5Õ6×=Ñ=¸oÖNñ ,àÐØ "ÐØÐØ/×5Ñ5Ö7Ñˆ	Ü$(Ü”^ OÓ4°eÓ<ó%
Ð!ð
 ˜ÔØ(AÒ%à(ÐØˆCð
 Ô 3Ô3ñ )à$ð  ð
 !ð )ØÐ �QÐ'Ð(ð )Ø‡8�8Ð%Ó&Ð'ð (ð%õ Ò ñ% 8ð, &Ð<Ð<r`   c               óH   € V ^8„  d   QhRRRRRRRRR	R
RRRRRRRRRRRRRR/# )rn   ri   rÏ   r¿  r¯  Ústructured_native_functionsúSequence[NativeFunctionsGroup]Ústatic_dispatch_idxrþ   rp  rD   rj   rƒ  Úcpu_fmrG   rp   rq   Úfunctions_keysúset[DispatchKey]rÆ  úSequence[DispatchKey]rä  rŽ   rs   rÐ   ra   )rt   s   "r^   ru   ru   ô  s’   € ÷ vñ và.ðvð Nðvð "@ð	vð
 ,ðvð ðvð 5ðvð ðvð 'ðvð %ðvð )ðvð ðvð 
ñvr`   c           
     ó€  a aaaaaa
aaaaa€ VP                  R V3R l4       S  Uu. uF&  p\        P                  VP                  9   g   K$  VNK(  	  upoS  Uu. uF  q»S9  g   K  VNK  	  upoVP                  RVV3R l4       VP                  RVV3R l4       VP                  RV V3R l4       \	        SSR7      oVP                  R	V3R
 l4       V	 FV  o\        SWv4      pSV9   d@   RS R2oVP                  S R2RVV3R l4       VP                  S R2RVVVV
V3R l4       ?KX  	  R# u upi u upi )zNativeMetaFunctions.hc            	     ó>   <€ R . R\        \        \        S 4      4      /# )ÚNativeMetaFunctions_includesÚ NativeMetaFunctions_declarations©r¡   rI   r   )r  s   €r^   r—   Ú(gen_aggregated_headers.<locals>.<lambda>  s#   ø€ Ø*¨BØ.´ÜÔ:Ð<WÓXó1ñ
r`   úMethodOperators.hc                 óh   <€ R . R\        \        \        \        P                  SR7      S 4      4      /# )ÚMethodOperators_includesÚMethodOperators_declarations©r‡  ©r¡   rI   r„  rK   r”  )Úmethod_native_functionsr  s   €€r^   r—   r#    s8   ø€ Ø&¨Ø*¬DÜÜ$Ü×*Ñ*Ø8Kôð ,óó-ñ
r`   zOperators.hc                 ój   <€ R R.R\        \        \        \        P                  SR7      S 4      4      /# )ÚOperators_includesz!#include <ATen/MethodOperators.h>ÚOperators_declarationsr(  r)  )Únon_method_native_functionsr  s   €€r^   r—   r#  $  s<   ø€ Ø Ð#FÐ"GØ$¤dÜÜ$Ü×*Ñ*Ø8Kôð 0óó'ñ
r`   úFunctions.hc                 ó^   <€ R \        S4      RR.R\        \        \        4       S 4      4      /# )r   ÚFunctions_includesz#include <ATen/Operators.h>ÚFunctions_declarations)r   r¡   rI   r¡  ©ri   r  s   €€r^   r—   r#  3  s<   ø€ Ø+Ô-JØ#ó.ð !Ð#@Ð"AØ$¤dÜÜ#Ó%Ø$óó'ñ
r`   )r¿  rj   zNativeFunctions.hc                 ó   <€ R R.RS /# )ÚNativeFunctions_includesz%#include <ATen/NativeMetaFunctions.h>ÚNativeFunctions_declarationsra   )rÔ  s   €r^   r—   r#  F  s   ø€ Ø&Ð)PÐ(QØ*¨Lñ
r`   r  úFunctions_inl.h>úDispatchKeyFunctions.hc                 ó"   <€ R \        S 4      RS/# ©ro   Úinline_headers©rŒ   ©ro   Úinl_headerss   €€r^   r—   r#  T  s   ø€ Ø"¤C¨Ó$5Ø$ kñr`   úFunctions_inl.húDispatchKeyFunctions_inl.hc                 ó\   <€ R . RSP                  4       R\        SSS S,          SSRR7      /# )Ú!DispatchKeyFunctions_inl_includesrñ  Ú dispatch_namespaced_declarationsT)r¿  ro   rÇ  rp  rä  rT  )r  r  )rj   ro   r¿  rä  rp  s   €€€€€r^   r—   r#  \  s=   ø€ Ø7¸Ø(¨,×*<Ñ*<Ó*>Ø6Ô8RØ1IØ%1Ø$3°LÕ$AØ!)Ø!Ø#ô9ñr`   N)Úwriter>   rQ  r­  rÝ  rƒ   Úwrite_with_template)ri   r¿  r  r  rp  rj   r  rp   r  rÆ  rä  Úfnr‚   rÔ  ro   r>  r*  r.  s   dddddd$$$$d  @@@@@r^   Úgen_aggregated_headersrG  ô  s]  ÿû€ ð  ‡L�LØô	
ôñ &óÙ%ˆr¬¯©¸2¿;¹;Ñ)F�ˆÑ%ñÐñ &ó#Ù%ˆrÐ3JÑ)J�ˆÑ%ñ#Ðð ‡L�LØõ	
ôð ‡L�LØõ	
ôð ‡L�LØõ	
ôô 4Ø!9Ø'ô€Lð ‡L�LØô	
ôó &ˆÜ+¨L¸*ÓMˆØ˜>Ô)Ø+¨L¨>Ð9IÐJˆKà×"Ñ"Ø�. Ð,Ø(õôð ×"Ñ"Ø�. Ð0Ø,÷ð ôò" ó= &ùòùò#s   §!D6ÁD6ÁD;Á'D;c               óH   € V ^8„  d   QhRRRRRRRRR	R
RRRRRRRRRRRRRR/# )rn   ri   rÏ   r¿  r¯  r  rþ   rp  rD   rj   rƒ  r  rG   rp   rq   Úops_fmr  r  rÆ  r  rä  rŽ   rs   rÐ   ra   )rt   s   "r^   ru   ru   m  s‘   € ÷ ñ à.ðð Nðð ,ð	ð
 ðð 5ðð ðð 'ðð ðð %ðð )ðð ðð 
ñr`   c                óä  aaaaaaaaaaaaa€ \        \        4      oV  F%  pSVP                  ,          P                  V4       K'  	  \        \        4      pV F'  pVP                  oVS,          P                  V4       K)  	  SP	                  4        Fõ  w  ooVP                  S R 2RVV3R l4       VP                  S R2RVVV3R l4       VP                  S. 4      pV Uu. uF1  p\        V\        4      '       g   K  VP                  '       g   K/  VNK3  	  upo\        S4      ^ 8„  oS'       d   VP                  S R2RV3R l4       \        VV\        P                  R	7      oVP                  S R
2RVVV3R l4       K÷  	  R  F!  w  ooVP                  S R2VVV3R l4       K#  	  V	 EF  oSV9  d   K  SP                  4       o. oSP	                  4        Fž  w  ooVP                  S. 4      p\        \!        \        P"                  ! VS,          \$        P&                  VV
RRRR7      V4      4      o\        S4      ^ 8X  d   Ko  SP                  S4       VP                  S RS R2RVV3R l4       K   	  \)        SWe4      pRS R2oVP                  S R2RVV3R l4       VP                  S R2RVV3R l4       ?EK  	  VP                  RV3R l4       R# u upi )!z_ops.hz
Operator.hc            
     ód   <€ R \        \        \        \        P                  SR7      S 4      4      /# )rÔ  r(  r)  )Ú	functionsr  s   €€r^   r—   Ú*gen_per_operator_headers.<locals>.<lambda>Œ  s3   ø€ Ø¤ÜÜ(Ü"×.Ñ.Ø<Oôð "óó!ñ
r`   z.hz
Function.hc                 ó€   <€ R \        \        V3R lS 4      4      RRS R2R\        \        \        4       S 4      4      /# )Ústatic_dispatch_ops_headersc                ó   <€ \        V SR 7      # ))r  )r  ©rF  r  s   &€r^   r—   Ú<gen_per_operator_headers.<locals>.<lambda>.<locals>.<lambda>Ÿ  s   ø€ Ô#=ØÐ.Aõ$r`   Úoperator_includesr  ú_ops.h>Úfunction_definitions)r¡   rI   r¡  )rL  r¾   r  s   €€€r^   r—   rM  œ  sP   ø€ Ø-¬tÜôð "ó	ó0ð $Ð':¸4¸&ÀÐ%HØ&¬ÜÜ'Ó)Ø!óó)ñr`   z_meta.hzNativeMetaFunction.hc                 ó:   <€ R \        \        \        S 4      4      /# )Úmeta_function_declarationsr"  )Ústructured_functionss   €r^   r—   rM  »  s    ø€ Ø0´$Ü Ü=Ð?Sóó3ñr`   rÜ  z	_native.hzNativeFunction.hc                 ó2   <€ R S'       d
   RS R2RS /# . RS /# )Úextra_includesr  z_meta.h>Únative_function_declarationsra   )rÔ  Úis_structuredr¾   s   €€€r^   r—   rM  Ë  s,   ø€ Ø ß<IÐ)¨$¨¨xÐ8à.°ñ	àOQà.°ñ	r`   c                 ó€   <€ S R 2\        SP                  4       4       U u. uF  p RV  S R2NK  	  up S R2. /# u up i )Ú	_includesr  ú.h>Ú_declarations)r}  rc  )r¾   ÚcategoryÚfunctions_by_root_nameÚsuffixs    €€€r^   r—   rM  Û  s\   ø€ Ø�*˜IÐ&ä &Ð'=×'BÑ'BÓ'DÔ Eó)á E˜ð *¨$¨°¨x°sÓ;Ù Eñ)ð �*˜MÐ*¨Bñùò)s   ¡;TNFrè  r  z_dispatch.hzDispatchKeyFunction.hc                 ó   <€ R SRS /# )rñ  rC  ra   )rÔ  rñ  s   €€r^   r—   rM    s   ø€ Ø(Ð*<Ø6¸ñr`   r  r7  r/  r8  c                 ó"   <€ R \        S 4      RS/# r:  r<  r=  s   €€r^   r—   rM    s   ø€ Ø¤ LÓ 1Ø  +ñr`   r?  r@  c                 ó^   <€ R SR\        S4       U u. uF  p RV  RS R2NK  	  up R. /# u up i )rñ  rB  r  r  r  rC  )r}  )r¾   Údispatch_namesrñ  s    €€r^   r—   rM    sN   ø€ Ø$Ð&8Ø3ä & ~Ô 6ó6á 6˜ð *¨$¨¨qÐ1CÐ0DÀLÓQÙ 6ñ6ð 3°Bñùò6s   ’*
r$  c                 óL   <€ R \        R S P                  4        4       4      R. /# )r&  c              3  óª   "  € T FI  w  r\         ;QJ d    R  V 4       F  '       g   K   RM	  RM! R  V 4       4      '       g   KA  RV R2x € KK  	  R# 5i)c              3  ó\   "  € T F"  p\         P                  VP                  9   x € K$  	  R # 5irx   )r>   rQ  r­  )ry   rF  s   & r^   r|   ÚGgen_per_operator_headers.<locals>.<lambda>.<locals>.<genexpr>.<genexpr>(  s   é € ÐI¹y¸”w—~‘~¨¯©Ö4»yùrˆ  TFr  rT  N)rv  )ry   r¾   rL  s   &  r^   r|   Ú=gen_per_operator_headers.<locals>.<lambda>.<locals>.<genexpr>%  sC   é € ð /á'E‘O�Dß“3ÑI¹yÓI—3—3’3ÑI¹yÓI×Iô 4Ð% d V¨7Õ3Û'Eùs   ‚#A¨AÁAr'  )r}  r�   )rb  s   €r^   r—   rM  $  s/   ø€ Ø&¬ñ /à'=×'CÑ'CÔ'Eó/ó )ð
 +¨Bñ
r`   ))Ú	Functionsr~   )Ú	OperatorsÚ_ops)ÚNativeMetaFunctionsÚ_meta)ÚNativeFunctionsÚ_native)r   r¡   r  r§   r�   rE  r   r    r5   rÝ   rå   rÝ  rø  Ú#compute_native_function_declarationrD  r  rE   rù  rK   r  rƒ   )ri   r¿  r  rp  rj   r  rp   rI  r  rÆ  rä  rF  Úgrouped_functions_by_root_nameÚgroupÚgrouped_functionsr‚   ra  rÔ  ro   rg  rñ  rL  rb  r>  r\  r¾   rX  rc  s   $$d$$$$$$$$     @@@@@@@@@@@@r^   Úgen_per_operator_headersrx  m  s  ÿü€ ô  ?JÌ$Ó>OÐÛˆØ˜rŸ|™|Õ,×3Ñ3°BÖ7ñ ô
 	”DÓð #ó *ˆØ�‰ˆØ& tÕ,×3Ñ3°EÖ:ñ *ð 2×7Ñ7Ö9‰ˆˆiØ×"Ñ"Øˆf�FˆOØõ
ô	
ð  	×"Ñ"Øˆf�BˆKØöô	
ð, ;×>Ñ>¸tÀRÓHÐñ (ó 
á'�Ü˜"Ô2×3ô à8:¿½÷ ˆBÙ'ñ 
Ðô
 Ð0Ó1°AÑ5ˆçØ×&Ñ&Ø�&˜Ð Ø&ôô
ô 8Ø%6Ø+Ü%)×%MÑ%Mô
ˆð
 	×"Ñ"Øˆf�IÐØöö		
ñA :óVÑˆ�&ð 	�‰Øˆj˜ˆOöö		
ñô" &ˆØ˜~Ô-Ùà)×/Ñ/Ó1ÐØˆà5×;Ñ;Ö=‰OˆD�)Ø >× BÑ BÀ4ÈÓ LÐÜÜÜ×,Ò,Ø'¨Õ5Ü×5Ñ5Ø Ø!Ø#Ø*.Ø8=ôð &óóˆLô �<Ó  AÔ%Ùà×!Ñ! $Ô'Ø×&Ñ&Ø�&˜Ð,Ð-¨[Ð9Ø'õöñ+  >ô< ,¨L¸*ÓMˆØ'¨ ~Ð5EÐFˆà
×ÑØˆn˜KÐ(Ø$õô	
ð 	×ÑØˆn˜OÐ,Ø(õô	
ó ñy &ð| ‡L�LØô	
ö
ùòe 
s   Ã'K-ÄK-ÄK-c          "     ó\   € V ^8„  d   Qh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RR/# )rn   ri   rÏ   r‡   rˆ   r¿  r¯  r  r  r  rþ   rp  rD   rj   rƒ  Úheaderonly_fmrG   Úcore_fmr  rp   rq   rI  rÆ  r  r  r  rä  rŽ   Úper_operator_headersrs   rÐ   ra   )rt   s   "r^   ru   ru   /  sÉ   € ÷ H5ñ H5à.ðH5ð ðH5ð Nð	H5ð
 "@ðH5ð ,ðH5ð ðH5ð 5ðH5ð ðH5ð ðH5ð ðH5ð 'ðH5ð ðH5ð )ðH5ð %ðH5ð  ð!H5ð" ð#H5ð$ 
ñ%H5r`   c                ó˜  a aaa€ V'       d   \        S VSVSV	V
VVVVR 7       M\        S VVSVSV	V
VVVR7       VP                  RV V3R l4       V	P                  RV 3R l4       V	P                  RVV 3R l4       V	P                  RV 3R	 l4       R
 V 3R llpVP                  RV4       R V3R llpVP                  RV4       R# ))ri   r¿  r  rp  rj   r  rp   rI  rÆ  r  rä  )ri   r¿  r  r  rp  rj   r  rp   rÆ  r  rä  zTensorBody.hc                 óÀ   <€ R \        \        \        \        P                  SR7      S 4      4      R\        \        \        \        P
                  SR7      S 4      4      /# )Útensor_method_declarations)r†  r‡  Útensor_method_definitions)r¡   rI   r·  rK   r”  r—  r3  s   €€r^   r—   Úgen_headers.<locals>.<lambda>a  s`   ø€ Ø(¬$ÜÜ'Ü%×1Ñ1Ø8Kôð %óó+ð (¬ÜÜ'Ü%×0Ñ0Ø8Kôð %óó*ñ
r`   zRedispatchFunctions.hc                 óB   <€ R \        \        \        4       S 4      4      /# )Úfunction_redispatch_definitions)r¡   rI   rÁ  ©ri   s   €r^   r—   r�  y  s!   ø€ Ø-¬tÜÔ2Ó4Ð6FÓGó0ñ
r`   zRegistrationDeclarations.hc                 óJ   <€ R S U u. uF  p \        V S4      NK  	  up /# u up i )Úregistration_declarations)r�  )rÇ   rj   ri   s    €€r^   r—   r�  ‚  s2   ø€ Ø'á)ó*á)�Aô 2°!°_ÖEÙ)ñ*ñ
ùò*s   ‡ zVmapGeneratedPlumbing.hc                 ó   <€ \        S 4      # rx   r$   r„  s   €r^   r—   r�  ‹  s   ø€ Ô+@ÐAQÔ+Rr`   c               ó   € V ^8„  d   QhRR/# ©rn   rs   rQ  ra   )rt   s   "r^   ru   Ú!gen_headers.<locals>.__annotate__Ž  s   € ÷ "
ñ "
 ~ñ "
r`   c                 óf  <€ \        4       p \        4       pS F¤  pVP                  \        VP                  P                  P                  4      4       VP                  VP                  P                  P                  P
                  4       V P                  R  VP                  P                  4        4       4       K¦  	  V0 Rm,          pRRP                  \        V4       Uu. uF	  pRV R2NK  	  up4      RRP                  \        V 4       Uu. uF	  pRV R2NK  	  up4      /# u upi u upi )c              3  ó8   "  € T F  qP                   x € K  	  R # 5irx   r  )ry   rë   s   & r^   r|   ÚAgen_headers.<locals>.gen_aten_interned_strings.<locals>.<genexpr>—  s   é € ÐPÑ-O cŸžÓ-Oùr;  Úaten_symbolsz \
z_(aten, r\  Úattr_symbolsz_(attr, >   ÚorÚandÚnotÚxorÚbitorÚcomplÚor_eqÚand_eqÚbitandÚnot_eqÚxor_eq)
r¹   r¼   rŒ   r’   r¾   rã   Úupdaterl  r  r}  )ÚattrsrH  r’   r¾   ri   s       €r^   Úgen_aten_interned_stringsÚ.gen_headers.<locals>.gen_aten_interned_stringsŽ  sü   ø€ Ü›%ˆÜ“ˆÛ$ˆDØ�I‰I”c˜$Ÿ)™)Ÿ.™.×-Ñ-Ó.Ô/ð �I‰I�d—i‘i—n‘n×)Ñ)×.Ñ.Ô/à�L‰LÑP¨T¯Y©Y×-MÑ-MÔ-OÓPÖPñ %ð 	ò 
õ 	
ˆð ˜GŸL™LÜ06°u´Ó>±¨�8˜D˜6 Ó#±Ñ>óð ˜GŸL™LÜ06°u´Ó>±¨�8˜D˜6 Ó#±Ñ>óð	
ð 	
ùâ>ùò ?s   Ã$D)
ÄD.zaten_interned_strings.hc               ó   € V ^8„  d   QhRR/# r‰  ra   )rt   s   "r^   ru   rŠ  ´  s   € ÷ Hñ H˜>ñ Hr`   c                 ó<   <€ R RP                  \        S 4      4      /# )Úenum_of_valid_tagsz,
)r  r}  )r‡   s   €r^   Úgen_tags_enumÚ"gen_headers.<locals>.gen_tags_enum´  s   ø€ Ø$ u§z¡z´&¸Ó2DÓ'EÐGÐGr`   z
enum_tag.hN)rx  rG  rD  )ri   r‡   r¿  r  r  rp  rj   rz  r{  r  rp   rI  rÆ  r  rä  r|  r�  r¢  s   dd$$d$d$$$$$$$$$  r^   Úgen_headersr¤  /  sí   û€ ÷& Ü Ø-Ø%=Ø 3ØØ+ØØ!ØØ'Ø)Øö	
ô 	Ø-Ø%=Ø(CØ 3ØØ+ØØ!Ø'Ø)Øõ	
ð ‡M�MØõ	
ôð0 ‡L�LØô	
ôð ‡L�LØ$õ	
ôð ‡L�LØ!Ô#Rô÷"
ð "
ðH ‡M�MÐ+Ð-FÔG÷Hð Hð ×Ñ˜ mÖ4r`   c          ,     óp   € V ^8„  d   Qh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RRRRRRR R!R"RR#R$/# )%rn   ri   rÏ   r¿  r¯  r  r  Úview_groupsz"Sequence[NativeFunctionsViewGroup]rp  rD   r  rþ   rj   rƒ  Úaoti_fmrG   r{  Ú
cpu_vec_fmr  rp   rq   rÆ  r  r  r  rä  rŽ   Úforce_schema_registrationr|  rå  Úupdate_aoti_c_shimÚaoti_backendszset[DispatchKey | None]Úextend_aoti_c_shimrs   rÐ   ra   )rt   s   "r^   ru   ru   º  s   € ÷ pñ pà.ðpð Nðpð "@ð	pð
 4ðpð ðpð ,ðpð 5ðpð ðpð ðpð ðpð ðpð 'ðpð )ðpð %ðpð  ð!pð"  $ð#pð$ ð%pð& &*ð'pð( ð)pð* +ð+pð, ð-pð. 
ñ/pr`   c                óz	  a aaaaaaaaaa"a#a$a%a&a'a(a)a*a+a,a-a.€ R pS'       d   RpV EF|  o%\        S%Wº4      o'V'       d   R V#V%V&VV3R llpM
R V%V3R llpSS%,          o#\        \        4      pS FS  p\        V\        4      '       d   VP
                  MVP                  P
                  pVV,          P                  V4       KU  	  \        S%4      P                  4       o&S%\        P                  8g  o)R\        S%4      '       d   TMRRRR	\        P                  ! S#VS4      R
V! 4       RS)'       d   \        P                  ! S#4      M. /pR V#V%V'V)VVV3R llpS'P!                  RS% R2RSR TS%\        P"                  8X  d   ^M^VR0R7       S EF
  o(S(P$                  P&                  '       d   \)        S%4      '       g   K3  S(P                  P*                  P,                  P,                  o+S%\        P"                  J dM   S'V
Jd   \/        R4      hS'P1                  RS+ R2RVV%V(3R l4       V	P1                  RS+ R2RV(V+3R l4       K½  S%\        P2                  J d.   Ro$S'       d   Ro$S'P1                  RS+ R2RVV$V%V(V+3R  l4       Kþ  \/        R!S% R"24      h	  >'EK  	  \5        VVS SSVVVR#7       R$ V V3R% llpV
P7                  R&V4       SpV'       d   \8        P:                  ! 4       p\=        S VR'7      w  o"o,V
P7                  R(V"V,V3R) l4       R* R+ lpV
P?                  R,S VV3R- lR.\A        S4      /^0 RFmR/7       V
P7                  R0\B        4       VP7                  R1\B        4       VP7                  R2V 3R3 l4       R4 R5 lo*R6 VV*V3R7 llp\        S4      \        S4      ,           p \E        R8 S4       U!u/ uF  p!V!P*                  P,                  V!bK  	  up!o-\E        R9 S4       U!u/ uF  p!V!P*                  P,                  V!bK  	  up!o.V PG                  V-V.3R: lS  4       4       V
P?                  R;V VV^0 RGmR<7       V
P7                  R=VV3R> l4       V
P7                  R?VV3R@ l4       V
P7                  RAV*VV3RB l4       V
P7                  RCVVV3RD l4       RE# u up!i u up!i )Hz‹#include <c10/cuda/CUDAGuard.h>
#include <ATen/cuda/ATenCUDAGeneral.h>
#include <ATen/cuda/CUDADevice.h>
#include <ATen/cuda/CUDAContext.h>zƒ#include <c10/hip/HIPGuard.h>
#include <ATen/hip/ATenHIPGeneral.h>
#include <ATen/hip/HIPDevice.h>
#include <ATen/hip/HIPContext.h>c               ó   € V ^8„  d   QhRR/# ©rn   rs   r  ra   )rt   s   "r^   ru   Ú&gen_source_files.<locals>.__annotate__â  s   € ÷ &,ñ &, iñ &,r`   c                 óì  <€ . p S EFW  pR pSP                  V4      '       d   RpM®\        V\        4      '       d`   \        ;QJ d-    V3R lVP	                  4        4       F  '       g   K   RM"	  R M! V3R lVP	                  4        4       4      '       d   RpM9VP
                  '       d(   S\        P                  \        P                  39   d   RpV'       g   KØ  V P                  RVP                   R24       S\        P                  8X  d    V P                  RVP                   R24       SS9   g   EK5  V P                  RVP                   RS R24       EKZ  	  \        \        V 4      4      # )FTc              3  óF   <"  € T F  pSP                  V4      x € K  	  R # 5irx   )r	  )ry   rF  r  s   & €r^   r|   Ú=gen_source_files.<locals>.operator_headers.<locals>.<genexpr>î  s#   øé € ð EÙ?L¸˜×0Ñ0°×4Ð4»}ùs   ƒ!r  ú
_native.h>r_  r  r  )r	  r    r5   rv  rL  rÝ   r,   ÚMetar  r§   r  r}  r¹   )ÚheadersrË  Úis_registeredr  ro   rñ  r  r¿  s      €€€€€r^   Úoperator_headersÚ*gen_source_files.<locals>.operator_headersâ  sB  ø€ Ø�Ü1�AØ$)�MØ$×/Ñ/°×2Ò2Ø(,™ô $ AÔ';×<Ò<ÇÃô EØ?@¿{¹{¼}óEÇÇÂô EØ?@¿{¹{¼}óE÷ Bò Bð )-™ð ŸŸ˜¨,Ü#×(Ñ(Ü#×JÑJð;ô +ð )-˜ß(Ù à—N‘NÐ%8¸¿¹¸ÀZÐ#PÔQà$Ü&×MÑMôNð  Ÿ™Ð)<¸Q¿[¹[¸MÈÐ'MÔNØ# ~×5ØŸ™Ø1°!·+±+°¸aÐ@RÐ?SÐS_Ð`÷ñA 2ôH œc '›lÓ+Ð+r`   c               ó   € V ^8„  d   QhRR/# r¯  ra   )rt   s   "r^   ru   r°  	  s   € ÷ ñ  iñ r`   c                 ó”   <€ R .p S\         P                  8X  d   V P                  R4       SS9   d   V P                  RS: R24       V # )z!#include <ATen/NativeFunctions.h>z#include <ATen/Functions.h>r  r  )r,   r  r§   )r¶  ro   r  s    €€r^   r¸  r¹  	  sI   ø€ Ø>Ð?�Ø¤;×#UÑ#UÔUØ—N‘NÐ#@ÔAØ >Ô1Ø—N‘N _°\Ñ4DÀLÐ#QÔRØ�r`   Úextra_cuda_headersr~   Úexternal_backend_headersÚdispatch_headersÚops_headersÚdispatch_helpersc               ó    € V ^8„  d   QhRRRR/# )rn   Úgnfrß  rs   rÁ  ra   )rt   s   "r^   ru   r°  7	  s   € ÷ 	ñ 	Ø6ð	à!ñ	r`   c                ó2   <€ R \        SV .SSSSRSSR7	      /# )Údispatch_definitionsT)	r‚   r¿  ro   rÇ  rp  rä  rT  rå  ræ  )r  )rÂ  r  ro   r‚   ræ  rä  rp  rå  s   &€€€€€€€r^   Ú"register_dispatch_key_env_callableÚ<gen_source_files.<locals>.register_dispatch_key_env_callable7	  s7   ø€ ð 'Ô(GØØ.1¨UØ!-Ø -Ø%ØØØ4SØ)=ô
)ðð r`   ÚRegisterz.cppzRegisterDispatchKey.cppc                ó   € V P                   # rx   ©r  )Úxs   &r^   r—   Ú"gen_source_files.<locals>.<lambda>L	  s   € ˜QŸ[š[r`   rÄ  )Úkey_fnÚenv_callableÚ
num_shardsÚbase_envÚsharded_keysz,Expected fm to be cpu_fm for DispatchKey.CPUÚ	UfuncCPU_zUfuncCPU.cppc                 ó†   <€ R \        S4      R\        P                  ! SS S,          4      R\        P                  ! S4      /# )Úmeta_declarationÚnative_declarationÚnative_definitions)r   rø  rt  Úcompute_ufunc_cpu)rj   ro   rË  s   €€€r^   r—   rË  ]	  s?   ø€ Ø*Ô,MÈaÓ,PØ,¬d×.VÒ.VØ˜¨|Õ<ó/ð -¬d×.DÒ.DÀQÓ.Gñr`   ÚUfuncCPUKernel_zUfuncCPUKernel.cppc                 ó8   <€ R SR\         P                  ! S 4      /# )r¾   rÕ  )rø  Úcompute_ufunc_cpu_kernel)rË  r¾   s   €€r^   r—   rË  h	  s   ø€ Ø Ø,¬d×.KÒ.KÈAÓ.Nñr`   z%#include <ATen/native/cuda/Loops.cuh>z$#include <ATen/native/hip/Loops.cuh>Ú
UfuncCUDA_z.cuzUfuncCUDA.cuc                 óŽ   <€ R SRSR\        S4      R\        P                  ! SS S,          4      R\        P                  ! S4      /# )r¾   Úcuda_headersrÓ  rÔ  rÕ  )r   rø  rt  Úcompute_ufunc_cuda)rj   rÜ  ro   rË  r¾   s   €€€€€r^   r—   rË  t	  sI   ø€ Ø Ø&¨Ø*Ô,MÈaÓ,PØ,¬d×.VÒ.VØ˜¨|Õ<ó/ð -¬d×.EÒ.EÀaÓ.Hñr`   zunrecognized z
 for ufunc)r§  r«  ri   rj   r  r¼  rª  r¬  c               ó   € V ^8„  d   QhRR/# )rn   rs   rÁ  ra   )rt   s   "r^   ru   r°  �	  s   € ÷ 
ñ 
Ð 4ñ 
r`   c                 óZ  <€ S U u. uF  p \        V S4      '       g   K  V NK  	  pp R V U u. uF  p RV P                   R2NK  	  up R\        \        \	        \
        P                  S4      V4      4      R\        \        \	        \
        P                  S4      V4      4      /# u up i u up i )r¿  r  rT  Ú!backend_select_method_definitionsÚ%backend_select_function_registrations)r  r  r¡   rI   r	  rK   r—  r  )rF  Úrelevant_fnsri   rp  s     €€r^   Úgen_backend_selectÚ,gen_source_files.<locals>.gen_backend_select�	  s¶   ø€ á)ó
Ù)�2Ô-AÀ"Àh×-O�BˆBÑ)ð 	ð 
ð ÙFRóÙFRÀÐ% b§l¡l ^°7Ó;Álñð 0´ÜÜ(¬×):Ñ):¸HÓEÀ|óó2ð
 4´TÜÜ(¬×)<Ñ)<¸hÓGÈóó6ð
ð 	
ùò
ùòs   †B#ŸB#¬B(zRegisterBackendSelect.cpp)ri   r  zRegisterSchema.cppc                 ó:   <€ R S'       d   . MS RS'       d   . /# S/# )r  r  ra   )r  r  rå  s   €€€r^   r—   rË  ±	  s+   ø€ Ø'ß.ñ *,à*Ø"ß.ð %'ñ	
ð &ñ
r`   c               ó    € V ^8„  d   QhRRRR/# )rn   rF  ú@NativeFunction | NativeFunctionsGroup | NativeFunctionsViewGrouprs   rŒ   ra   )rt   s   "r^   ru   r°  »	  s   € ÷ ñ ØLðà	ñr`   c                ó   € V P                   # rx   rÉ  )rF  s   &r^   Úkey_funcÚ"gen_source_files.<locals>.key_func»	  s   € ð �|‰|Ðr`   zOperators.cppc                ón   <€ R RV P                    R2.R\        \        P                  SR7      ! V 4      ./# )r¸  r  r_  rý  r(  )r  r„  rK   r—  rQ  s   &€r^   r—   rË  Ä	  sD   ø€ ØÐ#6°r·|±|°nÀCÐ!HÐ IØÜ Ü×%Ñ%Ø4Gõð óðñ!
r`   r   )rÌ  rÍ  rÏ  rÎ  rÐ  zFunctions.cppzTensorMethods.cppzATenOpList.cppc                 ó:   <€ R \        \        \        S 4      4      /# )Úaten_ops)r¡   rI   rÉ  r„  s   €r^   r—   rË  à	  s   ø€ ØœœX¤oÐ7GÓHÓIñ
r`   c               ó    € V ^8„  d   QhRRRR/# )rn   rË  rç  rs   r  ra   )rt   s   "r^   ru   r°  å	  s   € ÷ %ñ %ØKð%à	ñ%r`   c                óŒ  € \        V \        4      '       d€   R V P                  P                   R2R V P                  P                   R2.pV P                  e<   VR V P                  P                   R2R V P                  P                   R2.,          pV# \        V \
        4      '       dû   R V P                  P                   R2R V P                  P                   R2R V P                  P                   R2R V P                  P                   R2.pV P                  e<   VR V P                  P                   R2R V P                  P                   R2.,          pV P                  e<   VR V P                  P                   R2R V P                  P                   R2.,          pV# R V P                   R2R V P                   R2.# )r  r´  rT  )
r    r6   r   r  r¡  r5   r€  rÝ  râ   r8  )rË  r¶  s   & r^   Úgen_op_headersÚ(gen_source_files.<locals>.gen_op_headerså	  sË  € ô �aÔ1×2Ò2ð & a§f¡f×&6Ñ&6Ð%7°zÐBØ% a§f¡f×&6Ñ&6Ð%7°wÐ?ðˆGð �{‰{Ò&ØØ)¨!¯+©+×*?Ñ*?Ð)@À
ÐKØ)¨!¯+©+×*?Ñ*?Ð)@ÀÐHðõ �ð ˆNÜ˜Ô/×0Ò0à% a§l¡l×&<Ñ&<Ð%=¸ZÐHØ% a§l¡l×&<Ñ&<Ð%=¸WÐEØ% a§e¡e§o¡oÐ%6°jÐAØ% a§e¡e§o¡oÐ%6°gÐ>ð	ˆGð �y‰yÒ$ØØ)¨!¯)©)×*=Ñ*=Ð)>¸jÐIØ)¨!¯)©)×*=Ñ*=Ð)>¸gÐFðõ �ð �y‰yÒ$ØØ)¨!¯)©)×*=Ñ*=Ð)>¸jÐIØ)¨!¯)©)×*=Ñ*=Ð)>¸gÐFðõ �ð ˆNð & a§k¡k ]°*Ð=Ø% a§k¡k ]°'Ð:ðð r`   c               ó    € V ^8„  d   QhRRRR/# )rn   rË  rç  rs   rÁ  ra   )rt   s   "r^   ru   r°  
  s   € ÷ 
ñ 
ØKð
à	ñ
r`   c                ót   <€ R S! V 4      R\        SV 4      R\        SV S\        P                  ,          4      /# )r¿  Úfunc_definitionsÚfunc_registrations)r   r   r,   r   )rË  rj   rð  rp  s   &€€€r^   Úfunctionalization_env_callableÚ8gen_source_files.<locals>.functionalization_env_callable
  sK   ø€ ð ™>¨!Ó,ØÔ @ØØó!ð !Ô"DØØØ¤× EÑ EÕFó#ð
ð 	
r`   c                ó4   € \        V P                  4       4      # rx   ©r¡   rL  ©rË  s   &r^   r—   rË  (
  s   € ¤T¨!¯+©+«-Ô%8r`   c                ó4   € \        V P                  4       4      # rx   rù  rú  s   &r^   r—   rË  +
  s   € ´D¸¿¹»Ô4Gr`   c              3  óœ   <"  € T FA  pVP                   P                  S9  g   K   VP                   P                  S9  g   K=  Vx € KC  	  R # 5irx   )r’   r¾   )ry   rÇ   Ústructured_mapÚview_maps   & €€r^   r|   Ú#gen_source_files.<locals>.<genexpr>-
  s?   øé € ð á!ˆAØ�6‰6�;‰;˜nÑ,ô 	
à12·±·±ÀHÑ1L÷ 	
ŠÛ!ùs   ƒA¥AÁ
AzRegisterFunctionalization.cpp)rÌ  rÍ  rÎ  rÐ  zFunctionalInverses.hc                 ó:   <€ R \        \        V 3R lS4      4      /# )Úview_inverse_declarationsc                ó   <€ \        SV 4      # rx   )r    ©rË  rp  s   &€r^   r—   Ú4gen_source_files.<locals>.<lambda>.<locals>.<lambda>G
  s   ø€ ÔLØ  !ôr`   )r¡   rI   ©rp  r¦  s   €€r^   r—   rË  D
  s$   ø€ Ø'¬Üôð  ó	ó*ñ	
r`   zViewMetaClasses.hc                 ó:   <€ R \        \        V 3R lS4      4      /# )Úview_meta_declarationsc                ó   <€ \        SV 4      # rx   )r!   r  s   &€r^   r—   r  U
  ó   ø€ ÔJÈ8ÐUVÔWr`   ©r¡   rE   r  s   €€r^   r—   rË  R
  s    ø€ Ø$¤dÜÜWØóó'ñ
r`   zViewMetaClasses.cppc            	     ód   <€ R \        \        V3R lS4      4      R\        \        S S4      4      /# )Úview_meta_implementationsc                ó   <€ \        SV 4      # rx   )r"   r  s   &€r^   r—   r  a
  r	  r`   Ú
op_headersr
  )rð  rp  r¦  s   €€€r^   r—   rË  ^
  s3   ø€ Ø'¬ÜÜWØóó*ð œ$œy¨¸ÓEÓFñ
r`   zCompositeViewCopyKernels.cppc                 ó4  <€ R S U u. uFL  p RP                  R V P                  f   V P                  .MV P                  V P                  . 4       4      NKN  	  up S U u. uF<  p RP                  R V P                  V P                  V P
                  3 4       4      NK>  	  up ,           R\        \        \        S\        P                  ,          4      S4      4      R\        \        \        S4      4      R\        \        \        S4      4      /# u up i u up i )r¿  rö   c              3  ó\   "  € T F"  pR VP                    RVP                    R2x € K$  	  R# 5i)r  ú_ops.h>
#include <ATen/ops/r´  NrÉ  r¶  s   & r^   r|   Ú5gen_source_files.<locals>.<lambda>.<locals>.<genexpr>}
  s@   é € ð 	ñ Sð ð *¨!¯+©+¨ð 7*ð +,¯+©+¨°jõ	Bó Sùrˆ  c              3  óŽ   "  € T F;  pVf   K	  RVP                   9  g   K  RVP                   RVP                   R2x € K=  	  R # 5i)Nrµ  r  r  r´  )r¶   r  r¶  s   & r^   r|   r  Š
  sV   é € ð ñ B˜Øô	Bð *5¸A¿F¹FÑ)Bô	BÐ)¨!¯+©+¨ð 7*à*+¯+©+¨°jõBó Bùs   ‚A�A %AÚ#CompositeViewCopyKernel_DefinitionsÚ(GeneratedCompositeFunctional_DefinitionsÚ!GeneratedCompositeOut_Definitions)r  r¡  r   râ   r8  r€  r¡   rI   r#   r,   r  rA   rB   )rË  rj   r  r¦  s    €€€r^   r—   rË  {
  s'  ø€ Øñ %óñ %�Að —	‘	ñ 	ð %&§K¡KÒ$7˜Ÿ™™¸a¿f¹fÀaÇkÁkÐ=RÐRó	ö 	ñ %ññ* 5ó	ñ 5�Að —	‘	ñ ð  Ÿi™i¨¯©°A·L±LÑAó	ö ñ 5ñ	õð. 2´4ÜÜ.Ø'Ü'×NÑNõóð
  óó	4ð 7¼ÜÜ3Ø/óó9ð 0´ÜÜ,Ø/óó2ñQ.
ùòùò	s   ‡ADÁADN>   rý  r¸  r   >   r¿  rô  rõ  Úfunc_add_back_views_definitionsÚ!func_add_back_views_registrations)$rƒ   r   r¡   r    r4   r=  r€  r§   rŒ   r  r,   r  r/   rø  Úgen_registration_headersÚgen_registration_helpersÚwrite_sharded_with_templateÚCPUrÝ  Úufunc_inner_loopr1   r’   r¾   r¢   rE  ÚCUDAr   rD  rD   r—  r  Úwrite_shardedr   r¤   rE   r¥  )/ri   r¿  r  r¦  rp  r  rj   r§  r{  r¨  r  rp   rÆ  r  rä  r©  r|  rå  rª  r«  r¬  r¼  r¸  Úns_grouped_native_functionsÚgrouped_native_functionr=  Úregister_dispatch_key_base_envrÅ  rã  r  ré  rö  Ú
all_groupsrÇ   r  r  rÜ  ro   rñ  r‚   rË  ræ  rð  r¾   r  rý  rþ  s/   ddddddd$$$$$$dd$$d$$$             @@@@@@@@@@@@@r^   Úgen_source_filesr$  º  sÖ  ÿÿþ€ ð0&Ð÷
 ð$Ðô &ˆÜ+¨L¸*ÓMˆß÷&,õ &,÷Tñ ð (¨Õ5ˆÜ&1´$Ó&7Ð#Û'?Ð#ô Ð5´~×FÒFð (×1Ò1à,×7Ñ7×AÑAð ð
 (¨	Õ2×9Ñ9Ð:QÖRñ (@ô ! Ó.×4Ñ4Ó6Ðð
 œK×MÑMÑMð 	ð
 !Ü# L×1Ò1ñ #5àØ&¨Ø¤× =Ò =ØÐ3°Tó!ð Ñ+Ó-Øç'ô ×-Ò-¨mÔ<àð*
Ð&÷"	ö 	ð" 	×&Ñ&Ø�|�n DÐ)Ø%Ø$Ù(Ø;Ø(¬K¯O©OÔ;‘qÀØ3Ø0Ð1ð 	'ô 		
ô -ˆAØ—5‘5×)×)Ð)Ô1FÀ|×1TÒ1TÙØ—<‘<×$Ñ$×)Ñ)×.Ñ.ˆDØœ{Ÿ™Ó.Ø˜VÓ#Ü(Ð)WÓXÐXØ×&Ñ&Ø ˜v TÐ*Ø"öô
ð ×.Ñ.Ø% d V¨4Ð0Ø(õöð ¤×!1Ñ!1Ó1ØF�ßØ#I�LØ×&Ñ&Ø    cÐ*Ø"÷ð öô % }°\°NÀ*Ð%MÓNÐNñY -ó\ ñG &ôJ ØØ#Ø)Ø'Ø$?Ø-Ø-Ø-õ	÷
ñ 
ð( ‡L�LÐ,Ð.@ÔAà€Oß Ü*×;Ò;Ó=ˆô
 	1Ø)¸?ô	ñØ!Øð ‡L�LØö	
ô
õð
 ×ÑØØØô
ð ,Ô-JØ#ó.ð
ð
 ò
ð' ô ð4 ‡L�L�¤$Ô'à‡M�MÐ%¤tÔ,à‡M�MØô	
ôõ%÷N
ò 
ô$ 	Ð(Ó)¬DØó-õ 	ð ô Ñ8Ð:UÔVó:áVˆAð 	
�‰�‰�QŠÙVñ:€Nô
 !*Ñ*GÈÔ Uó4Ù U˜1ˆ�‰�‰�QŠÑ Uñ4€Hð ×Ñõ á!óô ð ×ÑØ'ØØØ3Øò
ð ô ð ‡L�LØõ		
ôð ‡L�LØõ	
ô
ð ‡L�LØö	
ôð: ‡L�LØ&ö.	
ö1ùòg:ùò4s   Ï	 R3Ï; R8c               ó$   € V ^8„  d   QhRRRRRR/# )rn   r  rG   ri   rÏ   rs   rÐ   ra   )rt   s   "r^   ru   ru   ­
  s$   € ÷ ñ ØðØ+Cðà	ñr`   c                ó4   a€ V P                  R V3R l4       R# )zDeclarations.yamlc                 óV   <€ \        S U u. uF  p \        V 4      NK  	  up 4      # u up i rx   )r,  r|  )rÇ   ri   s    €r^   r—   Ú'gen_declarations_yaml.<locals>.<lambda>²
  s%   ø€ ”ÑBRÓSÑBR¸QÔ5°aÖ8ÑBRÑSÔTùÒSs   ‹&N)rD  )r  ri   s   &fr^   Úgen_declarations_yamlr)  ­
  s   ø€ ð ‡L�LØÜTör`   c               ó   € V ^8„  d   QhRR/# )rn   rs   r	   ra   )rt   s   "r^   ru   ru   ¶
  s   € ÷ +ñ +˜4ñ +r`   c                 óP   € \        \        4      P                  P                  4       # )zs
If you're depending on torchgen out-of-tree, you can use the root to figure
out the path to native_functions.yaml
)r	   Ú__file__ÚparentÚresolvera   r`   r^   Úget_torchgen_rootr/  ¶
  s   € ô
 ”‹>× Ñ ×(Ñ(Ó*Ð*r`   c               ó   € V ^8„  d   QhRR/# )rn   rs   rÐ   ra   )rt   s   "r^   ru   ru   ¾
  s   € ÷ R1ñ R1ˆdñ R1r`   c            	     óJ  € \         P                  ! R R7      p V P                  RRRRR7       V P                  RRR	R
7       V P                  RRRR7       V P                  RRRR7       V P                  RRRRRR7       V P                  RRRRR7       V P                  RRRRR7       V P                  RRRR7       V P                  R RR!R7       V P                  R"RR#R7       V P                  R$RR%R7       V P                  R&R'R(R)R*7       V P                  R+R,R-R
7       V P                  R.R/R(R0R*7       V P                  R1R2R(R3R*7       V P                  R4R5RR6R7       V P                  R7R8RR9R7       V P                  R:\        R(. RoO. RoOR>R?7       V P                  R@RRAR7       V P                  RBRRCR7       V P	                  4       p\        VP                  VP                  4      p\        P                  P                  VP                  RD4      p\        P                  P                  VP                  RE4      p^ RFIHp \        P                  \        P                   \        P"                  \        P$                  \        P&                  \        P(                  \        P*                  \        P,                  0p\        P                  \        P                   R0p\/        4       p\        P0                  \        P2                  \        P4                  0p	VP6                  '       g   VP8                  '       d2   VP;                  V	4       VP=                  \        P0                  4       M.VP;                  V	4       V U
u. uF  qªV	9  g   K  V
NK  	  up
VRG&   \        P>                  \        P@                  \        PB                  \        PD                  0pVPF                  '       g   VP8                  '       d@   VP=                  \        P>                  4       VP=                  \        P>                  4       M.VP;                  V4       V U
u. uF  qªV9  g   K  V
NK  	  up
VRG&   VPH                  '       gT   VP=                  \        P,                  4       \        P,                  V9   d    WUPK                  \        P,                  4       VPL                  '       d?   V U
u. uF2  p
\O        V
4      '       g   \        V
4      VPL                  9   g   K0  V
NK4  	  pp
\Q        W4V4      p\R        V,          pVPT                  VPV                  rþ\Y        V4      pV Uu. uF  p\[        V\\        4      '       g   K  VNK  	  pp\_        V4      pV Uu. uF  p\[        V\`        4      '       g   K  VNK  	  ppVPb                   RH2p\e        V4      Pg                  RIRIRJ7       VPb                   RK2p\e        V4      Pg                  RIRIRJ7       VPh                   p\e        V4      Pg                  RIRIRJ7       VPj                  e   VPj                  pM VPb                  e   VPb                   RH2pMRLp\e        V4      Pg                  RIRIRJ7       \m        VVRM7      p\m        VRN7      p\m        VRN7      p\m        VRN7      p\m        VVRM7      p\m        VVRM7      p\m        VVRM7      pROV/p VPF                  '       d   \m        VRN7      V RP&   . p!VPn                  '       dz   VPn                   U"u. uF   p"V\        Pp                  ! V"4      ,          NK"  	  p!p"VPn                   F3  p"\        Pp                  ! V"4      p#V#V9  g   K"  VP=                  V#4       K5  	  R<VPr                  9   d…   \u        Rp/ RQVbRRVbRSVbRTVbRUVbRVV!bRWVbRXVbRYVbRZVbR[VbR\V bR]VbR^VbR_VPv                  bR`VPx                  bRaVPz                  bRbVP|                  bRcVP8                  bRdVbReVP~                  b  R;VPr                  9   dN   \�        Rp/ RQVbRfVbRRVbRSVbRVV!bRUVbRWVbRgVbRYVbR[VbR\V bRhVbR]VbR^VbR_VPv                  bRaVPz                  b  R=VPr                  9   d   \ƒ        VVRi7       VP„                  '       dÃ   \e        VP„                  4      P‡                  4       p$V$Pˆ                  p%V$PŠ                  p&VRj3VRk3VRl3VRm3.V P�                  4        U'U(u. uF  w  p'p(V(V' Rn23NK  	  up(p',            FD  w  p)p*V*V&,           p+V$PŽ                  V*V%,           ,          p,V)P‘                  V+\        V,4      4       KF  	  R# R# u up
i u up
i u up
i u upi u upi u up"i u up(p'i )qzGenerate ATen source files)Údescriptionz-sz--source-pathz!path to source directory for ATenzaten/src/ATen)Úhelpr,  z-oz--output-dependenciesz:output a list of dependencies into the given file and exit)r3  z	--dry-runÚ
store_truez5run without writing any files (still updates outputs))Úactionr3  z--per-operator-headersz2generate separate headers per operator in ATen/opsz-dz--install-dirz--install_dirzoutput directoryzbuild/aten/src/ATenz--aoti-install-dirz--aoti_install_dirz%output directory for AOTInductor shimz(torch/csrc/inductor/aoti_torch/generatedz--headeronly-install-dirz--headeronly_install_dirz¨output directory for header-only generated files (e.g. enum_tag.h). Defaults to `<install-dir>/core` when --install-dir is set, otherwise `build/torch/headeronly/core`.Nz--rocmz=reinterpret CUDA as ROCm/HIP and adjust filepaths accordinglyz--mpsz'Generate MPS registration code when setz--xpuz'Generate XPU registration code when setz--mtiaz(Generate MTIA registration code when setz--op-registration-whitelistz--op_registration_whitelistÚ*z–filter op registrations by the whitelist (if set); each item is `namespace`::`operator name` without overload name; e.g.: aten::empty aten::conv2d ...)Únargsr3  z--op-selection-yaml-pathz--op_selection_yaml_pathaD  Provide a path to the operator selection (for custom build) YAML that contains the information about the set of selected operators and their categories (training, ...). Each operator is either a full operator name with overload or just a bare operator name. The operator names also contain the namespace prefix (e.g. aten::)z--backend-whitelistz--backend_whitelistzRfilter dispatch backend by the whitelist (if set), e.g.: CPU CUDA QuantizedCPU ...z--static-dispatch-backendz--static_dispatch_backendz?generate static dispatch code for the specific backend (if set)z!--skip-dispatcher-op-registrationz!--skip_dispatcher_op_registrationz0Avoid registering operators into the dispatcher.z--force-schema-registrationz--force_schema_registrationz}force it to generate schema-only registrations for all ops, includingthose that are not listed on --op-registration-whitelistz
--generater¶  ÚsourcesÚdeclarations_yamlzGenerate only a subset of files)r£   r7  Úchoicesr,  r3  z--update-aoti-c-shimz­Update AOTInductor C shim after adding an entry to inductor_fallback_ops in torchgen/aoti/fallback_ops.py. WARNING: Do not use this unless you are sure what you are doing!!!z--extend-aoti-c-shima…  This Flag indicates the generation of c shims for out-of-tree ATen ops,which is an extension to the In-tree ATen op c shims. This flag needs to be combined with---source-path=<out-of-tree native_functions.yaml>--aoti-install-dir=<in-tree aoti_install_dir>/extend   default is torch/csrc/inductor/aoti_torch/generated/extendWARNING: Do not use this unless you are sure what you are doing!!!znative/native_functions.yamlznative/tags.yaml)rÆ  :NNNz/coreT)ÚparentsÚexist_okz/opszbuild/torch/headeronly/core)ÚoptionsÚinstall_dir)r=  ÚcudaÚxpuri   r¿  r  r¦  rp  r  rj   r§  r{  r¨  r  rp   rÆ  r  rä  r©  r|  rå  rª  r«  r¬  r‡   rz  rI  )ri   r  r~   Úcpu_vec_Úcore_Úops_r  )r¶  r8  r9  ra   )IÚargparseÚArgumentParserÚadd_argumentrŒ   Ú
parse_argsr™  Úop_registration_whitelistr“  Úosr‹   r  Úsource_pathÚtorchgen.modelrÆ  r,   r  r  r   r  r  r  rµ  ÚMTIAr¹   ÚMPSÚ	SparseMPSÚSparseCsrMPSÚmpsrª  r›  r¼   ÚXPUÚ	SparseXPUÚSparseCsrXPUÚNestedTensorXPUr@  Úmtiarž   Úbackend_whitelistr0   rÍ   rl   ri   rj   r¼  r    r5   r­  r6   r>  r	   ÚmkdirÚaoti_install_dirÚheaderonly_install_dirrH   Ústatic_dispatch_backendÚparseÚgenerater$  rä  r©  r|  rå  r¬  r¤  r)  Úoutput_dependenciesr.  r¾   Ústemr�   r-  Úwrite_outputs)-Úparserr=  rp  Únative_yaml_pathrË   rÆ  r  r«  r‰   ÚMPS_KEYSr¯   ÚXPU_KEYSÚparsed_yamlr‡   ri   rj   r¿  rË  r  Ú!native_functions_with_view_groupsr¦  Úcore_install_dirÚops_install_dirrX  rY  r{  r  r¨  Úcuda_fmrI  r§  rz  rp   r  ÚkeyÚdp_keyÚdepfile_pathÚdepfile_nameÚdepfile_stemr{   Ú	device_fmr‚   r»  Úvarnamer‹   s-                                                r^   Úmainrp  ¾
  sŽ
  € Ü×$Ò$Ð1MÔN€FØ
×ÑØØØ0Øð	 ô ð ×ÑØØØIð ô ð
 ×ÑØØØDð ô ð
 ×ÑØ ØØAð ô ð
 ×ÑØØØØØ%ð ô ð ×ÑØØØ4Ø:ð	 ô ð ×ÑØ"Ø"ð)ð ð ô ð ×ÑØØØLð ô ð
 ×ÑØØØ6ð ô ð
 ×ÑØØØ6ð ô ð
 ×ÑØØØ7ð ô ð ×ÑØ%Ø%Øð-ð	 ô ð ×ÑØ"Ø"ðMð ô ð ×ÑØØØð*ð	 ô ð ×ÑØ#Ø#ØØNð	 ô ð ×ÑØ+Ø+ØØ?ð	 ô ð ×ÑØ%Ø%ØðCð	 ô ð ×ÑØÜØÚ;Ú;Ø.ð ô ð ×ÑØØðMð ô ð ×ÑØØðMð ô 	ð ×ÑÓ!€Gä(Ø×)Ñ)Ø×&Ñ&ó€Hô
 —w‘w—|‘| G×$7Ñ$7Ð9WÓXÐÜ—W‘W—\‘\ '×"5Ñ"5Ð7IÓJ€Nå,ô
 	�‰Ü×ÑÜ×-Ñ-Ü×9Ñ9Ü×-Ñ-Ü×:Ñ:Ü×ÑÜ×Ñð	€Nô 	�‰Ü×Ñð 	ð€Mô “%€Kä—‘¤×!6Ñ!6¼×8PÑ8PÐQ€HØ‡{‡{€{�g×0×0Ð0Ø×Ñ˜hÔ'Ø×Ñœ+Ÿ/™/Õ*à×Ñ˜8Ô$Ù'4ÓJ¡} !ÀÑ8IŸA˜A¡}ÑJˆ�aÑô 	�‰Ü×ÑÜ× Ñ Ü×#Ñ#ð	€Hð ‡{‡{€{�g×0×0Ð0Ø×Ñœ;Ÿ?™?Ô+Ø×Ñœ+Ÿ/™/Õ*à×Ñ˜8Ô$Ù'4ÓJ¡} !ÀÑ8IŸA˜A¡}ÑJˆ�aÑà�<�<ˆ<Ø�‰œ×(Ñ(Ô)ä×Ñ˜}Ô,Ø×1Ñ1´+×2BÑ2BÓCÐDà× × Ð ñ #ó
á"�Ü& q×)Ò)¬S°«V°w×7PÑ7PÑ-P÷ ˆAÙ"ð 	ð 
ô $Ð$4ÀkÓR€KÜ.¨~Õ>€Jà×$Ñ$Ø×#Ñ#ð &ô
  <Ð<LÓMÐñ ,ó#Ù+ˆa¬z¸!Ô=Q×/R�ˆÑ+ð  ð #ô )MØó)Ð%ñ
 3óá2ˆAÜ�aÔ1×2÷ 	
ˆÙ2ð ð ð  "×-Ñ-Ð.¨eÐ4ÐÜÐ	Ó× Ñ ¨¸Ð Ô=Ø ×,Ñ,Ð-¨TÐ2€OÜˆÓ×Ñ¨°tÐÔ<à!×2Ñ2Ð3ÐÜÐ	Ó× Ñ ¨¸Ð Ô=à×%Ñ%Ò1Ø!(×!?Ñ!?ÑØ	×	Ñ	Ò	(Ø$+×$7Ñ$7Ð#8¸Ð!>Ñà!>ÐÜÐ	Ó ×&Ñ&¨t¸dÐ&ÔCä¨Ð=MÔN€GÜ wÔ/€FÜ"¨7Ô3€JÜ¨Ô0€GÜ w¸OÔL€FÜ¨Ð=MÔN€GÜ%ØÐ%;ô€Mð ˜'Ð"€JØ‡{‡{€{Ü-°gÔ>ˆ
�5Ñà.0ÐØ×&×&Ð&ð ×6Ò6ó
á6�ð œK×-Ò-¨cÓ2×3Ð3Ù6ð 	ð 
ð ×2Ô2ˆCÜ ×&Ò& sÓ+ˆFØ˜^Ö+Ø×"Ñ" 6Ö*ñ 3ð
 �G×$Ñ$Ô$Üò 	
Ù-ð	
á%=ð	
ñ )Dð	
ñ $ð		
ñ
 ð	
ñ !4ð	
ñ ,ð	
ñ ð	
ñ ð	
ñ "ð	
ñ ð	
ñ "ð	
ñ (ð	
ñ *ð	
ð —’ð	
ð  '.×&GÒ&Gð!	
ð" ")×!=Ò!=ð#	
ð$ -4×,SÒ,Sð%	
ð&  '×9Ò9ð'	
ñ( (ð)	
ð*  '×9Ò9ñ+	
ð0 �G×$Ñ$Ô$Üò 	
Ù-ð	
á!ð	
ñ &>ð	
ñ )Dð		
ñ
 !4ð	
ñ ð	
ñ ,ð	
ñ (ð	
ñ ð	
ñ ð	
ñ "ð	
ñ ð	
ñ (ð	
ñ *ð	
ð —’ð	
ð  ")×!=Ò!=ñ!	
ð& ˜g×.Ñ.Ô.ÜÐ/?ÈÕOà×"×"Ð"Ü˜G×7Ñ7Ó8×@Ñ@ÓBˆØ#×(Ñ(ˆØ#×(Ñ(ˆð �RˆLØ˜Ð$Ø�gÐØ�VÐð	
ð
 AK×@PÑ@PÔ@RÔSÑ@RÑ+<¨6°9ˆi˜F˜8 1˜Ó&Ñ@RÒS÷Tð T‰JˆB�ð ˜|Õ+ˆGØ×&Ñ&¨&°<Õ*?Õ@ˆDØ×Ñ˜W¤c¨$£iÖ0óTñ #ùòg Kùò Kùò
ùò#ùòùò^
ùóF TsH   ÎfÎfÑfÑ!fÓ(-fÔfÕ!fÕ>fÖfÖ2fÜ/&fäfÚ__main__)Nú<stdin>F)rr  rx   )­Ú__conditional_annotations__Ú
__future__r   rD  Ú	functoolsr�  rÞ   rI  Úcollectionsr   r   r   Údataclassesr   r   Úpathlibr	   Útypingr
   r   r   r   Útyping_extensionsr   rÅ   Útorchgen.api.dispatcherÚapir‹  Útorchgen.api.metarÞ  Útorchgen.api.nativer  Útorchgen.api.structuredrÝ   Útorchgen.destrø  Útorchgen.apir   Útorchgen.api.translater   Útorchgen.api.typesr   r   r   r   r   r   r   Útorchgen.contextr   r   r   r   Útorchgen.gen_aoti_c_shimr   r   Ú#torchgen.gen_functionalization_typer   r   r    r!   r"   r#   Útorchgen.gen_vmap_plumbingr%   rK  r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   r7   r8   r9   r:   r;   r<   r=   r>   r?   Ú#torchgen.native_function_generationr@   rA   rB   rC   Ú!torchgen.selective_build.selectorrD   Útorchgen.utilsrE   rF   rG   rH   rI   rJ   rK   Útorchgen.yaml_utilsrL   rM   Úcollections.abcrN   rO   rP   rR   rh   rk   r‚  rl   rƒ   r±   r¿   ÚcacherÈ   rÍ   r©   rû   r  r  r  r   r?  rL  rY  rl  ro  r„  r¡  r·  rÁ  rÉ  r   r  r	  r,  r2  r9  r?  rK  rX  rW  r|  r�  r�  r™  r­  r¼  rt  rÈ  rÙ  rÝ  râ  r  r  r  rG  rx  r¤  r$  r)  r/  rp  rb   )rs  s   @r^   Ú<module>rŽ     si  øðß "Ð "ã Û Û Û Û 	ß <Ñ <ß (Ý ß 7Ó 7Ý *ã ç ,Ð ,ß  Ð  ß $Ð $ß ,Ð ,Ý Ý Ý ,÷÷ ñ ÷ó ÷÷÷ õ =÷÷ ÷ ÷ ÷ ÷ ÷ ÷8ó õ ?÷÷ ñ ÷ 7÷ ß2ñ ˆCƒL€ôB�ô ñ ˜Ð'9Ð;LÐ&MÓN€
ð :<Ð Ð!6Ó ;Ø57Ð Ð2Ó 7õ÷&1#÷hð( ‡�ô/ó ð/ñ1ð
 !&ð1ð "&÷1ð 1õ@=õ@
õ4	
õõ(õ õ ,õFRõ$Kõ<FñX �$Ô÷`ð `ó ð`ñ0 �$Ô÷W&ð W&ó ðW&ñx �$Ô÷*ð *ó ð*ñ^ �$Ô÷)ð )ó ð)ñ^ �$Ô÷ð ó ðð< ôMó ðMõ
yõx3ñ �$Ô÷@&ð @&ó ð@&õTSõ&õ0
õõ?'õF
õ@!ðH ôUó ðUõrð "ôó "ðõ@õ>0Oõfð4ð 	×0Ò0÷õ>ð4ð 	×0Ò0÷õ4õ(_õH,õ`!=õHvõrõDH5õVpõfõ+õR1ðj
 ˆzÔÙ†Fñ r`   