+
    ˜°³j�£  ã                  óÞ  € ^ RI Ht ^ RIt^ RIt^ RIHt ^ RIHtHt ^ RI	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HtHtHtHtHtHtHtHtHtHtH t  ^ RI!H"t"H#t# ^ R	I$H%t%H&t&H't'H(t(H)t)H*t*H+t+H,t,H-t-H.t. ^ R
I/H0t0H1t1 ]'       d   ^ RI2H3t3 R R lt4R R lt5R R lt6R R lt7R R lt8R R lt9R R lt:]! RR7       ! R R4      4       t;]! RR7       ! R R];4      4       t<R# ) é    )ÚannotationsN)Ú	dataclass)ÚLiteralÚTYPE_CHECKING)Úassert_never)Ú	translate)Ú	BaseCTypeÚBindingÚConstRefCTypeÚCppSignatureÚCppSignatureGroupÚDispatcherSignatureÚExprÚkernel_signatureÚMutRefCTypeÚ
NamedCTypeÚNativeSignatureÚtensorT)Úmethod_with_native_functionÚnative_function_manager)
ÚArgumentÚBackendIndexÚDeviceCheckTypeÚDispatchKeyÚ"gets_generated_out_inplace_wrapperÚis_cuda_dispatch_keyÚNativeFunctionÚNativeFunctionsGroupÚ
SchemaKindÚTensorOptionsArguments)ÚmapMaybeÚTarget)ÚSelectiveBuilderc               ó(   € V ^8„  d   QhRRRRRRRR/# )é   Úbackend_indexr   Úper_operator_headersÚboolÚrocmÚreturnú	list[str]© )Úformats   "Úd/home/luca/screen-checking/.venv/lib/python3.14/site-packages/torchgen/dest/register_dispatch_key.pyÚ__annotate__r/   /   s0   € ÷ #ñ #Øð#àð#ð ð#ð ñ	#ó    c                óÐ  € V'       d   R .pMR.pV P                   \        P                  \        P                  39   d   VP	                  R4       EMV P                   \        P
                  8X  d-   V'       d   VP	                  R4       MÊVP	                  R4       M¸V P                   \        P                  8X  d   VP	                  R4       M‡V P                   \        P                  8X  d   VP	                  R4       MVV P                   \        P                  8X  d   VP	                  R4       M%V'       d   V. R
O,          pMVP	                  R4       VP	                  R	4       V# )z'#include <ATen/ops/as_strided_native.h>z!#include <ATen/NativeFunctions.h>z#include <ATen/EmptyTensor.h>z!#include <ATen/hip/EmptyTensor.h>z"#include <ATen/cuda/EmptyTensor.h>z!#include <ATen/mps/EmptyTensor.h>z!#include <ATen/xpu/EmptyTensor.h>z)#include <ATen/native/mtia/EmptyTensor.h>z#include <ATen/Functions.h>z#include <c10/macros/Macros.h>)z#include <ATen/ops/empty.h>z##include <ATen/ops/empty_strided.h>z+#include <ATen/ops/_copy_from_and_resize.h>z #include <ATen/ops/_copy_from.h>)	Údispatch_keyr   ÚCPUÚMetaÚappendÚCUDAÚMPSÚXPUÚMTIA)r&   r'   r)   Úheaderss   &&& r.   Úgen_registration_headersr;   /   s  € ÷
 Ø<Ð=‰à6Ð7ˆà×!Ñ!¤k§o¡o´{×7GÑ7GÐ%HÔHØ�‰Ð6Ö7Ø	×	#Ñ	#¤{×'7Ñ'7Ô	7ßØ�N‰NÐ>Õ?à�N‰NÐ?Õ@Ø	×	#Ñ	#¤{§¡Ô	6Ø�‰Ð:Õ;Ø	×	#Ñ	#¤{§¡Ô	6à�‰Ð:Õ;Ø	×	#Ñ	#¤{×'7Ñ'7Ô	7Ø�‰ÐBÕCß	Øò 
õ 	
‰ð 	�‰Ð4Ô5à‡N�NÐ3Ô4Ø€Nr0   c               ó    € V ^8„  d   QhRRRR/# )r%   r&   r   r*   ztuple[str | None, str | None]r,   )r-   s   "r.   r/   r/   U   s   € ÷ *ñ *Øð*à"ñ*r0   c                óÊ  € R pR pV P                   \        P                  \        P                  \        P                  \        P
                  \        P                  \        P                  39   d1   \        V P                   4      P                  4       pRV 2pRV 2pW3# V P                   \        P                  \        P                  \        P                  39   d   RpRpW3# )Nzat::detail::empty_zat::detail::empty_strided_z	at::emptyzat::empty_strided)r2   r   r4   r3   r6   r7   r8   r9   ÚstrÚlowerÚ&CompositeExplicitAutogradNonFunctionalÚQuantizedCPUÚQuantizedCUDA)r&   Ú
empty_implÚempty_strided_implÚdispatchs   &   r.   Úgen_empty_impl_namesrF   U   s×   € ð €JØÐà×!Ñ!Ü×ÑÜ�‰Ü×ÑÜ�‰Ü�‰Ü×Ñð&ô ô �}×1Ñ1Ó2×8Ñ8Ó:ˆØ)¨(¨Ð4ˆ
Ø9¸(¸ÐDÐð Ð)Ð)ð 
×	#Ñ	#Ü×:Ñ:Ü× Ñ Ü×!Ñ!ð(ô 
ð
 !ˆ
Ø0ÐàÐ)Ð)r0   c               ó    € V ^8„  d   QhRRRR/# ©r%   r&   r   r*   r+   r,   )r-   s   "r.   r/   r/   q   s   € ÷ ñ ¨ð ¸)ñ r0   c           	     ó�   € V P                   \        P                  8X  d   R pMRp\        V 4      w  r#Vf   . # RV RV RV RV R2	.# )zoptions.device(at::kMeta)Úoptionsz�
Tensor create_out(IntArrayRef sizes, IntArrayRef strides, const TensorOptions &options) {
  if (strides.empty()) {
      return z(sizes, z);
  } else {
      return z(sizes, strides, z	);
  }
}
)r2   r   r4   rF   )r&   Úempty_optionsrC   rD   s   &   r.   Úgen_create_out_helperrL   q   sq   € Ø×!Ñ!¤[×%5Ñ%5Ô5Ø3‰à!ˆä%9¸-Ó%HÑ"€JØÒØˆ	ðð ˆ\˜ - ð 1à Ð!Ð!2°=°/ð Bð	ð
ð 
r0   c               ó    € V ^8„  d   QhRRRR/# rH   r,   )r-   s   "r.   r/   r/   ˆ   s   € ÷ ñ °ð À)ñ r0   c                ó6   € \        V 4      w  rVf   . # RV R2.# )Nz²
std::optional<Tensor> maybe_create_proxy(const Tensor &out, IntArrayRef sizes, IntArrayRef strides, const TensorOptions &options) {
  if (out.strides() != strides) {
    return z8(sizes, strides, options);
  }
  return std::nullopt;
}
)rF   )r&   Ú_rD   s   &  r.   Úgen_maybe_create_proxy_helperrP   ˆ   sB   € Ü0°Ó?Ñ€Að Ò%ð 	ððð Ðð  ðð	
ðr0   c               ó    € V ^8„  d   QhRRRR/# rH   r,   )r-   s   "r.   r/   r/   š   s   € ÷ ñ ¨ð ¸)ñ r0   c                óJ   € V P                   \        P                  8X  d   . # R .# )aã  
void resize_out(const Tensor &out, IntArrayRef sizes, IntArrayRef strides, const TensorOptions &options) {
  TORCH_CHECK(options.dtype() == out.dtype(),
      "Expected out tensor to have dtype ", options.dtype(), ", but got ", out.dtype(), " instead");
  TORCH_CHECK(options.device() == out.device(),
      "Expected out tensor to have device ", options.device(), ", but got ", out.device(), " instead");
  const bool resized = at::native::resize_output(out, sizes);
  // Only restride if a resize occurred; otherwise we ignore the (advisory)
  // strides from the meta function and directly use the output tensor's
  // preexisting strides
  if (resized) {
    if (!strides.empty()) {
      TORCH_INTERNAL_ASSERT(!options.memory_format_opt().has_value());
      // TODO: avoid the redispatch here
      out.as_strided_(sizes, strides);
    } else if (options.memory_format_opt().has_value()) {
      out.unsafeGetTensorImpl()->empty_tensor_restride(*options.memory_format_opt());
    }
  }
}
)r2   r   r@   ©r&   s   &r.   Úgen_resize_out_helperrT   š   s,   € Ø×!Ñ!¤[×%WÑ%WÔWð ˆ	ð	ðð r0   c               ó    € V ^8„  d   QhRRRR/# rH   r,   )r-   s   "r.   r/   r/   ¸   s   € ÷ ñ ¨Lð ¸Yñ r0   c                ó   € R .# )a”  
void check_inplace(const Tensor &self, IntArrayRef sizes, const TensorOptions &options) {
  // These checks are needed on those operators that:
  //   1) don't use 'TensorIterator' (e.g. 'addmm' and 'baddbmm')
  //   2) have particular typing rules (e.g. 'cumsum' and 'cumprod')
  // For other operators (e.g. 'add'), 'TensorIterator' already checks
  // these things separately.
  TORCH_CHECK(options.dtype() == self.dtype(),
      "Bad in-place call: ",
      "input tensor dtype ", self.dtype(), " and output tensor dtype ", options.dtype(), " should match");
  TORCH_CHECK(options.device() == self.device(),
      "Bad in-place call: ",
      "input tensor device ", self.device(), " and output tensor device ", options.device(), " should match");
  TORCH_CHECK(sizes == self.sizes(),
      "Bad in-place call: ",
      "input tensor size ", self.sizes(), " and output tensor size ", sizes, " should match");
}
r,   rS   s   &r.   Úgen_check_inplace_helperrW   ¸   s   € ð	ðð r0   c               ó    € V ^8„  d   QhRRRR/# rH   r,   )r-   s   "r.   r/   r/   Ï   s   € ÷ ñ ¨Lð ¸Yñ r0   c                ód   € R .\        V 4      O\        V 4      O\        V 4      O\        V 4      ORN# )z?C10_DIAGNOSTIC_PUSH_AND_IGNORED_IF_DEFINED("-Wunused-function")zC10_DIAGNOSTIC_POP())rL   rT   rW   rP   rS   s   &r.   Úgen_registration_helpersrZ   Ï   sS   € àIðä	˜}Ó	-ðô 
˜}Ó	-ðô 
" -Ó	0ð	ô
 
' }Ó	5ðð 	ðð r0   T)Úfrozenc                  ó¾   € ] tR t^ìt$ R]R&   R]R&   R]R&   R]R&   R]R	&   R
]R&   R]R&   ]R R l4       t]R R l4       tR R lt	R R lt
R R ltRR R lltRtR# )ÚRegisterDispatchKeyr   r&   zvLiteral[Target.ANONYMOUS_DEFINITION, Target.NAMESPACED_DEFINITION, Target.NAMESPACED_DECLARATION, Target.REGISTRATION]Útargetr#   Úselectorr(   r)   Úsymintú
str | NoneÚclass_method_nameÚskip_dispatcher_op_registrationc               ó(   € V ^8„  d   QhRRRRRRRR/# )r%   Útyper   Úargszlist[Argument]Úmethod_namer>   r*   r,   )r-   s   "r.   r/   Ú RegisterDispatchKey.__annotate__  s,   € ÷ ñ ØðØ%3ðØBEðà	ñr0   c           	     	óî   € V \         P                  8X  d   R # RpVR,          pV FL  pVP                  P                  4       '       g   K%  VRVP                   RV RVP                   R2,          pKN  	  V# )ú  // No device check
z4std::optional<Device> common_device = std::nullopt;
z9(void)common_device; // Suppress unused variable warning
z<
  c10::impl::check_and_update_common_device(common_device, z, "z", "z");)r   ÚNoCheckre   Úis_tensor_likeÚname)re   rf   rg   Údevice_checkÚargs   &&&  r.   Úgen_device_checkÚ$RegisterDispatchKey.gen_device_check  s�   € ð ”?×*Ñ*Ô*Ù+àNˆØÐTÕTˆÛˆCà�x‰x×&Ñ&×(Ô(Øð %<Ø<?¿H¹H¸:ÀSÈÈÐUYÐZ]×ZbÑZbÐYcÐcfð!jõ j’ñ ð
 Ðr0   c               ó    € V ^8„  d   QhRRRR/# )r%   Úfz%NativeFunctionsGroup | NativeFunctionr*   r+   r,   )r-   s   "r.   r/   rh      s   € ÷ ñ Ð?ð ÀIñ r0   c                	óF  a a€ \        V\        4      '       dN   VoSP                  '       d   S P                  S4      # \	        \        VV 3R  lSP                  4       4      4      # \        V\        4      '       d   S P                  V4      pVf   . # V.# \        V4       R# )c                ó(   <€ SP                  V S4      # ©N©Úgen_unstructured©rs   ÚgÚselfs   &€€r.   Ú<lambda>Ú.RegisterDispatchKey.__call__.<locals>.<lambda>)  s   ø€  t×'<Ñ'<¸QÀÔ'Br0   N)
Ú
isinstancer   Ú
structuredÚgen_structuredÚlistr!   Ú	functionsr   rx   r   )r{   rs   Úrrz   s   f& @r.   Ú__call__ÚRegisterDispatchKey.__call__  s‡   ù€ ä�aÔ-×.Ò.Ø&'ˆAð �|�|ˆ|Ø×*Ñ*¨1Ó-Ð-äÜÕBÀAÇKÁKÃMÓRóð ô ˜œ>×*Ò*Ø×%Ñ% aÓ(ˆAØš�2Ð+¨¨Ð+ä˜ŽOr0   c               ó    € V ^8„  d   QhRRRR/# )r%   rs   r   r*   z%NativeSignature | DispatcherSignaturer,   )r-   s   "r.   r/   rh   1  s   € ÷ 
ñ 
Øð
à	.ñ
r0   c                	óÎ   € \         P                  ! VP                  R V P                  P                   RVP                  P
                  P                   R2V P                  R7      # )Úwrapper_rO   ©Úprefixr`   )r   Úfrom_schemaÚfuncr&   r2   rm   Úoverload_namer`   )r{   rs   s   &&r.   Úwrapper_kernel_sigÚ&RegisterDispatchKey.wrapper_kernel_sig1  sT   € ô #×.Ò.Ø�F‰FØ˜d×0Ñ0×=Ñ=Ð>¸aÀÇÁÇÁ×@YÑ@YÐ?ZÐZ[Ð\Ø—;‘;ô
ð 	
r0   c               ó$   € V ^8„  d   QhRRRRRR/# ©r%   rs   r   rz   zNativeFunctionsGroup | Noner*   ra   r,   )r-   s   "r.   r/   rh   ;  s$   € ÷ 3ñ 3Øð3Ø$?ð3à	ñ3r0   c                	ó  aa€ Vf   R # VP                   P                  4       pV\        P                  J d   RoM"V\        P                  J d   RoM\        R4      hV P                  V4      pVP                  4       pV R2o\        P                  ! V4      p\        V4      ^8”  d[   RP                  VV3R l\        V4       4       4      pVP                  4       P                  4        RRP                  V4       R	2pEM\        V4      ^8X  d   V^ ,          p	S RS RV	 R
2pT	pMÛ\        VP                   P                  P                  4      ^8w  d6   \        R\        VP                   P                  P                  4       24      hRpVP                   P                  P                  ^ ,          p
V
P                   P#                  4       '       d   RS RS RS RV
P                   R2	pMS RS RV
P                   R
2pV P                  VP$                  4      pVP'                  VR7       RS RVP                  4        RRP                  R \)        VP                  4       VP                  4       4       4       4       RV RV R2# )Nzat::_copy_fromzat::_copy_from_and_resizez1gen_out_inplace_wrapper called on a functional opÚ_tmpz
  c           	   3  óD   <"  € T F  w  rS R V RS RV R2x € K  	  R# 5i)z
(std::get<z>(z), ú);Nr,   )Ú.0ÚiÚret_nameÚcopy_opÚfunc_ress   &  €€r.   Ú	<genexpr>Ú>RegisterDispatchKey.gen_out_inplace_wrapper.<locals>.<genexpr>N  s3   øé € ð "á#:‘K�Að �)˜: a S¨¨8¨*°C¸°zÀÕDÛ#:ùs   ƒ Ú(ú, Ú)r•   z%Expected exactly 1 out argument, got Ú z    for (int64_t i = 0; i < z.size(); ++i) {
        z[i], z[i]);
    }©rm   z
 {
  auto z = c              3  ó8   "  € T F  qP                   x € K  	  R # 5irv   ©Úexpr©r–   Úes   & r.   r›   rœ   j  s   é € Ð6~ÑG}À!·v¶vÓG}ùó   ‚z);
  ú

  return ú;
}
)rŒ   Úkindr   ÚinplaceÚoutÚAssertionErrorrŽ   rm   ÚcppÚreturn_namesÚlenÚjoinÚ	enumerateÚreturns_typeÚcpp_typeÚ	argumentsre   Úis_list_likeÚ
functionalÚdefnr   )r{   rs   rz   ÚkÚsigrm   r¯   ÚupdatesÚreturnsr˜   Úout_argÚfunctional_sigr™   rš   s   &&&         @@r.   Úgen_out_inplace_wrapperÚ+RegisterDispatchKey.gen_out_inplace_wrapper;  sv  ù€ ð Š9ÙØ�F‰F�K‰K‹MˆØ”
×"Ñ"Ó"Ø&‰GØ”*—.‘.Ó Ø1‰Gä Ð!TÓUÐUà×%Ñ% aÓ(ˆØ�x‰x‹zˆà�V˜4�=ˆÜ×'Ò'¨Ó*ˆÜˆ|Ó˜qÔ Ø—k‘kõ "ä#,¨\Ô#:ó"ó ˆGð ×)Ñ)Ó+×4Ñ4Ó6Ð7°q¸¿¹À<Ó9PÐ8QÐQRÐSŠGÜ�Ó !Ô#Ø# A•ˆHØ ˜	  8 *¨B¨x¨j¸Ð;ˆGØ‰Gä�1—6‘6×#Ñ#×'Ñ'Ó(¨AÔ-Ü$Ø;¼CÀÇÁ×@PÑ@P×@TÑ@TÓ<UÐ;VÐWóð ð ˆGØ—f‘f×&Ñ&×*Ñ*¨1Õ-ˆGØ�|‰|×(Ñ(×*Ò*ðØ%˜Jð '	Ø	ˆ	��8�*˜E '§,¡, ð 0ð
‘ð
 %˜I Q x j°°7·<±<°.ÀÐC�à×0Ñ0°·±Ó>ˆð ‡�ˆt€ÓÐ ð Ø€z��^×(Ñ(Ó*Ð+¨1¨T¯Y©YÑ6~ÄyÐQT×Q^ÑQ^ÓQ`Ðbp×bzÑbzÓb|ÔG}Ó6~Ó-~Ð,ð @Ø
€)ð 
Ø
ˆð ð	ð 	r0   c               ó    € V ^8„  d   QhRRRR/# )r%   rz   r   r*   r+   r,   )r-   s   "r.   r/   rh   p  s   € ÷ Eñ EÐ 4ð E¸ñ Er0   c           
     	óB  a a€ S P                   P                  S4      pS P                   P                  \        P                  8X  d8   S P                   P                  SP                  4      '       d   \        R 4      hMžS P                   P                  \        P                  8X  d8   S P                   P                  SP                  4      '       d   \        R4      hM>Ve   VP                  '       g)   \        \        VV 3R lSP                  4       4      4      # \        S P                   S P                  S P                  S P                   S P"                  S P$                  S P&                  S4      p\        \        VP(                  SP                  4       4      4      # )zqDo not explicitly specify Meta dispatch key on structured functions, they will be automatically generated for youz†Do not explicitly specify CompositeExplicitAutograd dispatch key on structured functions, they will be automatically generated for youc                ó(   <€ SP                  V S4      # rv   rw   ry   s   &€€r.   r|   Ú4RegisterDispatchKey.gen_structured.<locals>.<lambda>‚  s   ø€ ¨4×+@Ñ+@ÀÀAÔ+Fr0   )r&   Ú
get_kernelr2   r   r4   Ú
has_kernelr¬   r­   r@   r   r�   r!   r‚   ÚStructuredRegisterDispatchKeyr^   r_   r)   r`   rb   rc   Úgen_one)r{   rz   ÚmetadataÚstructured_gens   ff  r.   r€   Ú"RegisterDispatchKey.gen_structuredp  sK  ù€ Ø×%Ñ%×0Ñ0°Ó3ˆØ×Ñ×*Ñ*¬k×.>Ñ.>Ô>Ø×!Ñ!×,Ñ,¨Q¯U©U×3Ò3Ü$ðNóð ð 4ð ×Ñ×+Ñ+Ü×AÑAôBð ×!Ñ!×,Ñ,¨Q¯U©U×3Ò3Ü$ðYóð ð 4ð
 Ò X×%8×%8Ð%8ÜœÕ!FÈÏÉËÓVÓWÐWÜ6Ø×ÑØ�K‰KØ�M‰MØ�I‰IØ�K‰KØ×"Ñ"Ø×0Ñ0Øó	
ˆô ”H˜^×3Ñ3°Q·[±[³]ÓCÓDÐDr0   Nc               ó$   € V ^8„  d   QhRRRRRR/# r‘   r,   )r-   s   "r.   r/   rh   �  s)   € ÷ r*ñ r*Øðr*Ø$?ðr*à	ñr*r0   c                	óÈ  a€ \        V4      ;_uu_ 4        R pR pV P                  P                  V4      '       gÙ   V P                  P                  \        P
                  8X  df   VP                  P                  4       \        P                  J d:   VP                  '       g(   \        VP                  P                  4      ^8X  d   RpMJV P                  P                  '       g$   Ve    \        WV P                  4      '       d   RpM RRR4       R# VP                  '       d    RRR4       R# V P                   \"        P$                  J d-   V P&                  P)                  V4      '       g    RRR4       R# V P+                  V4      oSP-                  4       pSP/                  4       P1                  4       pSP3                  4       pRP5                  R V 4       4      p\6        P8                  ! VR R R7      p	V P                   \"        P:                  J dM   Rp
V	P=                  V P>                  R7       F  pV
RVPA                  4        R	2,          p
K   	  V
uuRRR4       # V P                   \"        PB                  J dI   R
 V3R llpRp
V	P=                  V P>                  R7       F  pW¬! V4      ,          p
K  	  V
uuRRR4       # V P                   \"        PD                  J EdÎ   V'       d~   VP                  P2                  PF                  f   \I        R4      hVP                  P2                  PF                  PJ                  P,                  pRV RV RV RV RV R2uuRRR4       # V'       d   V PM                  W4      uuRRR4       # V P                  PO                  V4      pVf    RRR4       R# V PP                  f   VPR                   RVPT                   2pM(VPR                   RV PP                   RVPT                   2p\W        WP                  4      pRP5                  R \Y        SP3                  4       VP3                  4       R R7       4       4      pRpV P                  PZ                  '       d~   \\        P^                  ! VP                  P2                  P`                  VP                  P2                  Pb                  4      p\d        Pg                  VPh                  \k        V4      V4      pRpVPZ                  '       Edƒ   V P                  PZ                  '       Edf   \l        ;QJ d:    R VP                  P2                  Pn                   4       F  '       g   K   RM/	  R M+! R VP                  P2                  Pn                   4       4      pV'       d.   Rp\q        V P                  P                  4      '       d   RV 2pMÀVP                  P2                  PF                  e,   VP                  P2                  PF                  PJ                  .M. p\\        P^                  ! VVP                  P2                  P`                  VP                  P2                  Pb                  4      p\s        R V 4       R4      pVe   RV R2pRV RV RV RV R V R!V RV R"2uuRRR4       # V P                   \"        P$                  J d]   VP                  '       g   V Pt                  '       d    RRR4       R# R#V R$2pR%VP                  P,                   R&V R'2uuRRR4       # \w        V P                   4        RRR4       R#   + '       g   i     R# ; i)(FTNrž   c              3  ó@   "  € T F  qP                  4       x € K  	  R # 5irv   )r¸   ©r–   Úas   & r.   r›   Ú7RegisterDispatchKey.gen_unstructured.<locals>.<genexpr>¸  s   é € Ð 8±4¨a§¡§ ³4ùs   ‚©ÚmethodÚfallback_bindingr    ©r`   ú
TORCH_API ú;
c               ó    € V ^8„  d   QhRRRR/# ©r%   Úcpp_sigr   r*   r>   r,   )r-   s   "r.   r/   Ú:RegisterDispatchKey.gen_unstructured.<locals>.__annotate__Ç  s   € ÷ ñ ¨<ð ¸Cñ r0   c                óÌ   <€ R V P                  4        RSP                  4        RRP                  R \        V P	                  4       SP	                  4       4       4       4       R2# )Ú
ú
 {
return r�   rž   c              3  ó8   "  € T F  qP                   x € K  	  R # 5irv   r£   r¥   s   & r.   r›   ÚNRegisterDispatchKey.gen_unstructured.<locals>.generate_defn.<locals>.<genexpr>Ê  ó   é € Ð_Ñ/^¨!ŸvžvÓ/^ùr§   ú);
}
©r¸   rm   r±   r   rµ   ©rÚ   rº   s   &€r.   Úgenerate_defnÚ;RegisterDispatchKey.gen_unstructured.<locals>.generate_defnÇ  s`   ø€ ð Ø‡�ƒÐ ð Ø�‰‹
€|�1�T—Y‘YÑ_¬y¸×9JÑ9JÓ9LÈcÏmÉmËoÔ/^Ó_Ó_Ð`ð aðð r0   z1Expected self_arg to be non-None for inplace_metarÝ   Ú r�   z") {
  TORCH_CHECK_NOT_IMPLEMENTED(z[.is_meta(),
    "Cannot inplace into non-meta tensor with meta tensor argument");
  return r©   z::c              3  ó:   "  € T F  pVP                   x € K  	  R # 5irv   r£   r¥   s   & r.   r›   rÑ   ò  s   é € ð +ñ˜ð —F–Fóùó   ‚©rÓ   rj   z// DeviceGuard omittedc              3  óB   "  € T F  p\        V\        4      x € K  	  R # 5irv   )r~   r    rÏ   s   & r.   r›   rÑ     s"   é € ð -á!9˜Aô # 1Ô&<×=Ð=Û!9ùs   ‚z=
  const DeviceGuard device_guard(device_or_default(device));z7globalContext().lazyInitDevice(c10::DeviceType::CUDA);
c              3  ó€   "  € T F4  pVP                   P                  4       '       g   K%  VP                   x € K6  	  R # 5irv   )re   rl   rm   rÏ   s   & r.   r›   rÑ   #  s1   é € ð á)7 AØ#$§6¡6×#8Ñ#8×#:ô !, 1§6¡6 (¤Û)7ùs   ‚">©>z1const OptionalDeviceGuard device_guard(device_of(ú));znamespace {

z) {
  z

  r¨   z);
}

} // anonymous namespace
z	TORCH_FN(rŸ   úm.impl("z",
z);
)<r   r&   rÆ   r2   r   r4   rŒ   rª   r   r«   Úhas_composite_kernelr°   r¼   Úuse_out_as_primaryr   Úmanual_kernel_registrationr^   r"   ÚREGISTRATIONr_   Úis_native_function_selectedrŽ   rm   r³   r´   rµ   r±   r   Úfrom_native_functionÚNAMESPACED_DECLARATIONÚ
signaturesr`   ÚdeclÚNAMESPACED_DEFINITIONÚANONYMOUS_DEFINITIONÚself_argr­   Úargumentr¿   rÅ   rb   Úcpp_namespaceÚkernelr   r   Údevice_guardÚ	itertoolsÚchainr¬   Úflat_positionalr]   rp   rn   r�   ÚanyÚnon_outr   Únextrc   r   )r{   rs   rz   Úinplace_metaÚgets_out_inplace_wrapperrm   r³   rf   Úargs_strÚcpp_sig_groupÚresultrÚ   rå   Úself_arg_namerÉ   Ú	impl_nameÚ
kernel_sigÚargs_exprs_strrn   Údevice_check_argsrþ   Úhas_tensor_optionsrú   Úcandidate_argsÚ	device_ofÚpayloadrº   s   &&&                       @r.   rx   Ú$RegisterDispatchKey.gen_unstructured�  s_  ø€ ô % Q×'Õ'Ø ˆLØ',Ð$Ø×%Ñ%×0Ñ0°×3Ò3à×&Ñ&×3Ñ3´{×7GÑ7GÔGØŸ™Ÿ™›¬×);Ñ);Ó;ð ×.×.Ð.ô ˜Ÿ™Ÿ™Ó'¨1Ô,à#'‘Là×*Ñ*×=×=Ð=ØšÜ:¸1À×ASÑAS×TÒTð 04Ñ,à÷/ (Ñ'ð0 ×+×+Ð+Ø÷3 (Ñ'ð8 —‘œv×2Ñ2Ó2ØŸ™×AÑAÀ!×DÒDà÷? (Ñ'ðB ×)Ñ)¨!Ó,ˆCà—8‘8“:ˆDØ×+Ñ+Ó-×6Ñ6Ó8ˆLØ—=‘=“?ˆDØ—y‘yÑ 8±4Ó 8Ó8ˆHô .×BÒBØ˜%°%ôˆMð
 �{‰{œf×;Ñ;Ó;Ø�Ø,×7Ñ7¸t¿{¹{Ð7ÖK�GØ 
¨7¯<©<«>Ð*:¸#Ð>Õ>’Fñ  Là÷e (Ò'ðf —‘¤× <Ñ <Ó<÷ð ð �Ø,×7Ñ7¸t¿{¹{Ð7ÖK�GØ˜m¨GÓ4Õ4’Fñ  Là÷ (Ò'ðB —‘¤× ;Ñ ;Ô;çØ—v‘v×'Ñ'×0Ñ0Ò8Ü,ØOóð ð %&§F¡F×$4Ñ$4×$=Ñ$=×$FÑ$F×$KÑ$K�Mð Ø€ˆa�ˆv�Q�x�jð !Ø,˜oð .
à
ˆð ð	÷U (Ò'÷f ,Ø×7Ñ7¸Ó=÷i (Ò'ðl  ×-Ñ-×8Ñ8¸Ó;�ØÒ#Ø÷q (Ñ'ðr ×)Ñ)Ò1Ø#+×#9Ñ#9Ð":¸"¸X¿_¹_Ð<MÐ N‘Ià#+×#9Ñ#9Ð":¸"¸T×=SÑ=SÐ<TÐTVÐW_×WfÑWfÐVgÐ h�Iä-¨a×1CÑ1CÓD�
à!%§¡ñ +ä&ØŸ™›¨×)=Ñ)=Ó)?Èõó+ó "�ð  8�à×%Ñ%×2×2Ð2Ü(1¯ªØŸ™×(Ñ(×,Ñ,¨a¯f©f×.>Ñ.>×.NÑ.Nó)Ð%ô $7×#GÑ#GØŸ™¬Ð->Ó(?Àó$�Lð  8�Ø—>—>‘> d×&8Ñ&8×&E×&EÑ&Eß),«ñ -à!"§¡×!1Ñ!1×!9Ò!9ó-¯¯ªñ -à!"§¡×!1Ñ!1×!9Ò!9ó-ó *Ð&÷ *ð(@˜ô 0°×0BÑ0B×0OÑ0O×PÒPØ-eÐfrÐesÐ+t˜Løð  !Ÿv™v×/Ñ/×8Ñ8ÒDð ŸV™V×-Ñ-×6Ñ6×?Ñ?Ñ@à!#ð !ô
 *3¯ªØ$ØŸF™F×,Ñ,×0Ñ0ØŸF™F×,Ñ,×<Ñ<ó*˜ô %)ñá)7óð
 !ó%˜	ð %Ò0Ø-^Ð_hÐ^iÐilÐ+m˜Lðð €ˆa�ˆv�Q�x�jð !Ø€.ð à€.ð 
Ø
ˆ�A�nÐ%ð &ð÷w (Ò'ðP —‘¤× 3Ñ 3Ó3Ø×/×/Ð/°4×3W×3WÐ3WØ÷U (Ñ'ðX !*¨$¨¨qÐ1�GØ% a§f¡f§k¡k ]°$°w°i¸tÐD÷[ (Ò'ô^ ˜TŸ[™[Õ)÷_ (×'×'Ò'ús¢   •B]Â"A]Ã%$]Ä]Ä%]Ä0>]Å/]Å:C]É$A]Ë
&]Ë1A2]Í.]Í6]Î ]Î;E]Ô]Ô/
]Ô:/]Õ,:]Ö'D]Ú6/]Û&]Û8]Ü"]Ü0]Ý]!	r,   rv   )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__annotations__Ústaticmethodrp   r   r„   rŽ   r¿   r€   rx   Ú__static_attributes__r,   r0   r.   r]   r]   ì   s{   ‡ àÓðó ð Óð ƒJð
 ƒLð "Ó!ð &*Ó)àôó ðð !ôó !ðõ"
õ3õjE÷>r*ó r*r0   r]   c                  óh   € ] tR tRt$ R]R&   R R ltR R ltR R	 ltR
 R lt]	R R l4       t
RtR# )rÇ   iK  r   rz   c               ó(   € V ^8„  d   QhRRRRRRRR/# )r%   r¹   r   Úparent_classr>   Úgenerate_superr(   r*   r,   )r-   s   "r.   r/   Ú*StructuredRegisterDispatchKey.__annotate__O  s,   € ÷ ñ ØðØ+.ðØ@Dðà	ñr0   c                	óp   a aa€ V'       d   V R 2oMRoR VV V3R llpRV! RRR7       RV! RR	R7       R2# )
z>::set_output_raw_strided(output_idx, sizes, strides, options);r    c               ó$   € V ^8„  d   QhRRRRRR/# )r%   rm   r>   Úmaybe_create_proxyr(   r*   r,   )r-   s   "r.   r/   ÚRStructuredRegisterDispatchKey.gen_class_set_output_functions.<locals>.__annotate__W  s!   € ÷ 	ñ 	¨#ð 	À4ð 	ÈCñ 	r0   c           	     ó�   <€ R V  R\         P                  ! SP                  SV4      R4       R\         P                  ! SR4       R2# )z
void set_output_zi(
    int64_t output_idx, IntArrayRef sizes, IntArrayRef strides,
    TensorOptions options
) override {
ú    zk
    // super must happen after, so that downstream can use maybe_get_output
    // to retrieve the output
ú
}
)ÚtextwrapÚindentÚgen_class_set_output_body)rm   r"  r¹   r{   Úset_output_supers   &&€€€r.   Úgen_set_output_functionÚ]StructuredRegisterDispatchKey.gen_class_set_output_functions.<locals>.gen_set_output_functionW  s\   ø€ ðØ�ð ô 
‡‚�×/Ñ/°Ð3EÓFÈÓOÐ Pð Qô 
‡‚Ð! 6Ó*Ð +ð ,ð
ð 
r0   rÝ   ÚstridedT)r"  Úraw_stridedFr,   )r{   r¹   r  r  r+  r*  s   ff&& @r.   Úgen_class_set_output_functionsÚ<StructuredRegisterDispatchKey.gen_class_set_output_functionsO  sZ   ú€ ÷ Ø". Ð/mÐnÑà!Ð÷	ò 	ðÙ˜°tÔ<Ð =ð >Ù˜¸5ÔAÐ Bð Cðð 	r0   c               ó$   € V ^8„  d   QhRRRRRR/# )r%   r¹   r   r"  r(   r*   r>   r,   )r-   s   "r.   r/   r  i  s"   € ÷ =ñ =¨:ð =È4ð =ÐTWñ =r0   c                	óZ  € V P                   P                  \        P                  \        P                  \        P
                  \        P                  39   d   R pVR,           pMR;rCV'       d   RpMRpV\        P                  J d­   V P                   P                  \        P                  \        P                  \        P                  \        P                  \        P
                  \        P                  \        P                  39  d$   \        RV P                   P                   R24      hV R2# V\        P                  J d   V RV 2# V\        P                  J d   V RV 2# V\        P                  J g   V\        P                   J d   \        V R	24      h\#        V4       R
# )a  
auto current_device = guard_.current_device();
if (C10_UNLIKELY(current_device.has_value())) {
  TORCH_INTERNAL_ASSERT(*current_device == options.device(),
    "structured kernels don't support multi-device outputs");
} else {
  guard_.reset_device(options.device());
}
rÝ   r    z¶
auto maybe_proxy = maybe_create_proxy(out, sizes, strides, options);
if (C10_UNLIKELY(maybe_proxy.has_value())) {
    proxy_outputs_[output_idx] = std::move(maybe_proxy).value();
}
zUnexpected dispatch key z for functional schemaz<
outputs_[output_idx] = create_out(sizes, strides, options);zS
const auto& out = outputs_[output_idx].get();
check_inplace(out, sizes, options);
zY
const auto& out = outputs_[output_idx].get();
resize_out(out, sizes, strides, options);
ú1 structured operators are currently not supportedN)r&   r2   r   r6   r7   r8   r@   r   r·   r4   r3   r9   r­   r«   r¬   ÚmutableÚscratchr   )r{   r¹   r"  Úmaybe_set_guardÚmaybe_set_guard_lineÚcreate_proxys   &&&   r.   r)  Ú7StructuredRegisterDispatchKey.gen_class_set_output_bodyi  s   € Ø×Ñ×*Ñ*Ü×ÑÜ�O‰OÜ�O‰OÜ×>Ñ>ð	/
ô 
ðˆOð $3°TÕ#9Ñ à57Ð7Ð çð‰Lð ˆLà”
×%Ñ%Ó%Ø×!Ñ!×.Ñ.Ü× Ñ Ü—‘Ü× Ñ Ü—‘Ü—‘Ü× Ñ Ü×BÑBð7ô ô %Ø.¨t×/AÑ/A×/NÑ/NÐ.Oð P,ð ,óð ð -Ð-ð .<ð ?ð ?à”*×$Ñ$Ó$Ø,Ð-ð .ð €ðð ð ”*—.‘.Ó Ø,Ð-ð .ð €ðð ð ”*×$Ñ$Ó$¨¬Z×-?Ñ-?Ó(?Ü Ø�#ÐFÐGóð ô ˜ŽOr0   c               ó(   € V ^8„  d   QhRRRRRRRR/# )r%   r¹   r   Ú
class_namer>   r¼   Úintr*   r,   )r-   s   "r.   r/   r  ª  s(   € ÷ ñ  
ð ¸ð Àcð Ècñ r0   c                	ó¨  € V\         P                  J d   R # V\         P                  J d   V R2# V\         P                  J dN   RP	                  R \        V4       4       4      pRP	                  R \        V4       4       4      pV RV RV R2# V\         P                  J g   V\         P                  J d   \        V R24      h\        V4       R	# )
r    z,(Tensor& self) : outputs_{std::ref(self)} {}rž   c              3  ó,   "  € T F
  pR V 2x € K  	  R# 5i)zTensor& outNr,   ©r–   r—   s   & r.   r›   Ú?StructuredRegisterDispatchKey.gen_class_ctor.<locals>.<genexpr>±  s   é € Ð K¹N°q ;¨q¨cÕ!2»Nùs   ‚c              3  ó.   "  € T F  pR V R2x € K  	  R# 5i)zstd::ref(outrŸ   Nr,   r?  s   & r.   r›   r@  ²  s   é € Ð M¹n¸ <°¨s°!Õ!4»nùó   ‚r�   z) : outputs_{ z } {}r3  N)
r   r·   r«   r¬   r±   Úranger4  r5  r­   r   )r{   r¹   r;  r¼   Úout_argsÚout_refss   &&&&  r.   Úgen_class_ctorÚ,StructuredRegisterDispatchKey.gen_class_ctorª  sÀ   € Ø”
×%Ñ%Ó%ÙØ”*×$Ñ$Ó$à �\Ð!QÐRÐRØ”*—.‘.Ó Ø—y‘yÑ K¼EÀ'¼NÓ KÓKˆHØ—y‘yÑ M¼eÀG¼nÓ MÓMˆHØ �\  8 *¨O¸H¸:ÀXÐNÐNØ”*×$Ñ$Ó$¨¬Z×-?Ñ-?Ó(?Ü Ø�#ÐFÐGóð ô ˜ŽOr0   c               ó0   € V ^8„  d   QhRRRRRRRRRR	R
R/# )r%   rs   r   r¹   r   r;  r>   r  r  r(   r*   r,   )r-   s   "r.   r/   r  »  sF   € ÷ 49ñ 49àð49ð ð49ð
 ð49ð ð49ð ð49ð 
ñ49r0   c               	ó‚  € V\         P                  J d   R pRpRpM^V\         P                  J g   V\         P                  J d)   RpRpR\	        VP
                  P                  4       R2pM\        RV 24      hV P                  P                  \        P                  8X  d   Rp	M²V P                  P                  \        P                  8X  d   R	p	M†V P                  P                  \        P                  8X  d   R	p	MZV P                  P                  \        P                  8X  d   R	p	M.V P                  P                  \        P                  8X  d   R	p	MRp	Rp
V P!                  W#\	        VP
                  P                  4      4      pR
V RV R2\"        P$                  ! Wº4       \"        P$                  ! V P'                  W$V4      V
4       RRV R2RRV R\	        VP
                  P                  4       R2\"        P$                  ! WŠ4       \"        P$                  ! Wš4       R3
pRP)                  R V 4       4      # )ÚTensorzoutputs_[output_idx]r    zstd::reference_wrapper<Tensor>zaproxy_outputs_[output_idx].has_value() ? *proxy_outputs_[output_idx] : outputs_[output_idx].get()z$std::array<::std::optional<Tensor>, z> proxy_outputs_;zUnsupported SchemaKind z$c10::cuda::OptionalCUDAGuard guard_;z c10::OptionalDeviceGuard guard_;zstruct z final : public z {zA    const Tensor& maybe_get_output(int64_t output_idx) override {z      return r×   z    }z    std::array<rž   z> outputs_;z};rÝ   c              3  ó8   "  € T F  q'       g   K  Vx € K  	  R # 5irv   r,   )r–   Úlines   & r.   r›   Ú:StructuredRegisterDispatchKey.gen_class.<locals>.<genexpr>ï  s   é € Ð8©% $³4Ÿš«%ùs   ‚	�
r%  )r   r·   r«   r¬   r°   rŒ   r¼   ÚRuntimeErrorr&   r2   r   r6   r@   r7   r8   r9   rF  r'  r(  r/  r±   )r{   rs   r¹   r;  r  r  Úoutput_typeÚoutput_valueÚproxy_fieldÚguard_fieldr(  Úclass_ctor_strÚliness   &&&$$$       r.   Ú	gen_classÚ'StructuredRegisterDispatchKey.gen_class»  sí  € ð ”
×%Ñ%Ó%Ø"ˆKØ1ˆLØ‰KØ”*×$Ñ$Ó$¨¬Z¯^©^Ó(;Ø:ˆKØ~ˆLØ@ÄÀQÇVÁVÇ^Á^ÓATÐ@UÐUfÐg‰KäÐ!8¸¸Ð<Ó=Ð=à×Ñ×*Ñ*¬k×.>Ñ.>Ô>Ø@‰Kà×Ñ×+Ñ+Ü×AÑAôBð =‰KØ×Ñ×,Ñ,´·±Ô?à<‰KØ×Ñ×,Ñ,´·±Ô?Ø<‰KØ×Ñ×,Ñ,´×0@Ñ0@Ô@Ø<‰KàˆKàˆØ×,Ñ,¨Q¼CÀÇÁÇÁÓ<OÓPˆà�j�\Ð!1°,°¸sÐCÜ�Š˜~Ó6Ð7Ü�Š˜t×BÑBÀ1ÐTbÓcÐekÓlÐmØOØ˜L˜>¨Ð-Øà˜k˜]¨"¬S°·±·±Ó-@Ð,AÀÐMÜ�Š˜{Ó3Ð4Ü�Š˜{Ó3Ð4Øð
ˆð �y‰yÑ8©%Ó8Ó8Ð8r0   c               ó    € V ^8„  d   QhRRRR/# )r%   rs   r   r*   ra   r,   )r-   s   "r.   r/   r  ò  s   € ÷ Pñ P˜ð P¨Jñ Pr0   c                	óŠ  a€ VP                   '       d$   \        R VP                  P                   R24      hV P                  \
        P                  J d$   V P                  P                  V4      '       g   R# V P                  P                  \        P                  8X  d/   VP                  P                  4       \        P                  J d   R# \         P"                  ! VRRR7      pV P                  P%                  V4      p\'        VP                  RV P                  P                   R2VRJ;'       d    VP)                  4       R7      oV P                  \
        P*                  J dC   RpVP-                  V P.                  R	7       F  pVR
VP1                  4        R2,          pK   	  V# V P                  \
        P2                  J d?   R V3R llpRpVP-                  V P.                  R	7       F  pWF! V4      ,          pK  	  V# V P                  \
        P4                  J Ed¾   VP                  P                  4       p. p\7        SP9                  4       4      p	V P                  P                  \        P:                  J dV   R\<        P                  ! V P>                  4       RVP                   2p
R\<        P                  ! V P>                  4       2pEMV P                  P                  \        P                  J dU   R\<        P                  ! V P>                  4       RVP                   2p
R\<        P                  ! V P>                  4       2pM–V P                  P%                  V P>                  4      pVf7   \        RV P>                  P@                  P                  P                   24      hRVPB                   RVP                   2p
VPD                   RVPB                   2pV P                  PF                  '       d›   \H        PJ                  ! VP                  P8                  P                  VP                  P8                  PL                  4      pVPO                  \P        PS                  VPT                  \7        V4      SP                  4       4      4       V\        P@                  J d   VPO                  V
 R24       MŠV\        PV                  J d   VPO                  V
 R24       MaV\        P                  J dN   RPY                  R VP                  P8                  P                   4       4      pVPO                  V
 RV R24       RPY                  R \[        V	\\        P^                  ! V P>                  4      RR7       4       4      pV P>                  P                  P`                  '       d­   VPO                  RV R24       . V P>                  P                  P`                  Pb                  Pe                  4       OV P>                  P                  P`                  Pf                  NpV F  pV	Pi                  R V 4       4       K  	  VPO                  R4       MVPO                  RV R24       \\        Pj                  ! V P>                  4      p\m        V4       FÊ  w  pp\o        \q        \r        4      4      VPt                  Pv                  8w  d#   \        R VPt                  Pv                   24      hV\        P                  J d   R!V R"2pMR#V R$2pV	PO                  \y        V\{        VPt                  P                  \}        \q        \r        4      4      4      R%7      4       KÌ  	  V P                  P                  \        P                  8X  d£   \         P"                  ! V P>                  P                  RVP~                  R7      pVP�                  4       pVP                  4       pRPY                  R& \[        V	VP9                  4       RR7       4       4      pVPO                  R'V R(V R24       M€V P                  P                  \        P:                  8w  dX   RPY                  R) \[        V	\\        P‚                  ! V P>                  4      RR7       4       4      pVPO                  R*V R24       V\        P                  J g   V\        PV                  J dK   \…        \‡        VP                  Pˆ                  4      4       F  pVPO                  R+V R,V R-V R.24       K   	  V\        P@                  J dn   \‡        VP                  Pˆ                  4      ^8X  d   R/pEMRPY                  R0 \…        \‡        VP                  Pˆ                  4      4       4       4      pR1V R"2pM½V\        PV                  J d   R2pM¦V\        P                  J d“   \‡        VP                  Pˆ                  4      ^8X  d3   VP                  P8                  P                  ^ ,          P                  pM<RPY                  R3 VP                  P8                  P                   4       4      pR4V R"2pVPO                  R5X R624       R7PY                  V4      pV P‹                  VVV
VV P>                  P                  PŒ                  RJR87       R9SP�                  4        R:V R;2# V P                  \
        P                  J d,   R<VP                  P                   R=SP                  4        R>2# \‘        V P                  4       R# )?z	Function z$ has manual_kernel_registration=TrueNFrÒ   rˆ   rO   r‰   r    rÕ   rÖ   r×   c               ó    € V ^8„  d   QhRRRR/# rÙ   r,   )r-   s   "r.   r/   Ú;StructuredRegisterDispatchKey.gen_one.<locals>.__annotate__,  s   € ÷ ñ  |ð ¸ñ r0   c                óÌ   <€ R V P                  4        RSP                  4        RRP                  R \        V P	                  4       SP	                  4       4       4       4       R2# )rÝ   rÞ   r�   rž   c              3  ó8   "  € T F  qP                   x € K  	  R # 5irv   r£   r¥   s   & r.   r›   ÚOStructuredRegisterDispatchKey.gen_one.<locals>.generate_defn.<locals>.<genexpr>/  rá   r§   râ   rã   rä   s   &€r.   rå   Ú<StructuredRegisterDispatchKey.gen_one.<locals>.generate_defn,  s`   ø€ ðØ‡�ƒÐ ð Ø�‰‹
€|�1�T—Y‘YÑ_¬y¸×9JÑ9JÓ9LÈcÏmÉmËoÔ/^Ó_Ó_Ð`ð aðð r0   Ústructured_Ú_meta_zat::meta::structured_Ú_default_backend_zNo kernel metadata found for z::structured_z op;z
 op(self);rž   c              3  ó8   "  € T F  qP                   x € K  	  R # 5irv   r¡   rÏ   s   & r.   r›   Ú8StructuredRegisterDispatchKey.gen_one.<locals>.<genexpr>e  s   é € Ð(NÑ9M°A¯®Ó9Mùr§   z op(r•   c              3  ó:   "  € T F  pVP                   x € K  	  R # 5irv   r£   r¥   s   & r.   r›   rc  j  s   é € ð #ñ�Að —–óùré   rê   zauto precompute = op.meta(c           	   3  ó”   "  € T F>  p\        R VP                   2\        P                  ! WP                  R7      R7      x € K@  	  R# 5i)zprecompute.)Úbinds©r¤   re   N)r   rm   r   Úargument_type)r–   ro   s   & r.   r›   rc    sE   é € ð #ñ
 $5˜Cô	 Ø#.¨s¯x©x¨jÐ!9Ü!+×!9Ò!9¸#ÇXÁXÔ!N÷ñ ó $5ùs   ‚AAz(void)precompute;zop.meta(zCExpected out_arg type to be ConstRefCType(BaseCType(tensorT)), got zop.maybe_get_output(rŸ   zop.outputs_[Ú]rg  c              3  ó:   "  € T F  pVP                   x € K  	  R # 5irv   r£   r¥   s   & r.   r›   rc  ´  s   é € ð &áR˜ð —F–FÛRùré   zat::r�   c              3  ó:   "  € T F  pVP                   x € K  	  R # 5irv   r£   r¥   s   & r.   r›   rc  Ä  s   é € ð 'ñ˜ð —F–Fóùré   zop.impl(zif (op.proxy_outputs_[z].has_value()) op.outputs_[z!].get().copy_(*op.proxy_outputs_[z]);zstd::move(op.outputs_[0])c              3  ó.   "  € T F  pR V R2x € K  	  R# 5i)zstd::move(op.outputs_[z])Nr,   r?  s   & r.   r›   rc  Ú  s    é € ð &á!;˜Að 1°°°2Õ6Û!;ùrB  zstd::make_tuple(r{   c              3  ó8   "  € T F  qP                   x € K  	  R # 5irv   r¡   rÏ   s   & r.   r›   rc  å  s   é € Ð$JÑ5I°§V¦VÓ5Iùr§   zstd::forward_as_tuple(zreturn Ú;rÝ   )r;  r  r  z

z {
r&  rî   z", TORCH_FN(rí   )Irñ   r­   rŒ   rm   r^   r"   rò   r_   ró   r&   r2   r   r@   rª   r   r¬   r   rô   rÅ   r   Úsupports_symintrõ   rö   r`   r÷   rø   rù   r�   rµ   r4   Úmetarz   r·   rý   rü   rþ   rÿ   r   r  r5   r]   rp   rn   r«   r±   r   r   Úmeta_argumentsÚprecomputedÚreplaceÚvaluesÚaddÚextendÚout_argumentsr²   r   r	   r   Únctypere   r   r   r   Úmanual_cpp_bindingÚmost_faithful_signatureÚimpl_argumentsrC  r°   r¼   rU  Ústructured_inheritsr¸   r   ) r{   rs   r  Úkernr	  rÚ   rå   r¹   Úsig_bodyÚcontextr;  r  rÉ   r  Úout_args_strÚ
meta_exprsÚprecomputed_valuesÚprecomputed_elemsrD  r—   r½   r¤   Úout_sig_groupÚout_sigÚapi_nameÚ	out_exprsÚ
impl_exprsÚret_exprÚmovedÚrefsÚsig_body_strrº   s    &&                             @r.   rÈ   Ú%StructuredRegisterDispatchKey.gen_oneñ  s,	  ø€ à×'×'Ð'Ü Ø˜AŸF™FŸK™K˜=Ð(LÐMóð ð
 �K‰Kœ6×.Ñ.Ó.Ø—M‘M×=Ñ=¸a×@Ò@áð ×Ñ×+Ñ+Ü×AÑAôBà—‘—‘“¤§¡Ó/ñ ô *×>Ò>Ø�e¨eô
ˆð
 ×!Ñ!×,Ñ,¨QÓ/ˆÜØ�F‰FØ˜d×0Ñ0×=Ñ=Ð>¸aÐ@Ø˜tÐ#×>Ð>¨×(<Ñ(<Ó(>ô
ˆð �;‰;œ&×7Ñ7Ó7ØˆFØ(×3Ñ3¸4¿;¹;Ð3ÖG�Ø˜J w§|¡|£~Ð&6°cÐ:Õ:’ñ HàˆMà�[‰[œF×8Ñ8Ó8÷ð ð ˆFØ(×3Ñ3¸4¿;¹;Ð3ÖG�Ø˜-¨Ó0Õ0’ñ HàˆMà�[‰[œF×7Ñ7Ô7Ø—‘—‘“ˆAð ˆHô -1°·±³Ó,AˆGð ×!Ñ!×.Ñ.´+×2BÑ2BÓBØ*¬4¯9ª9°T·V±VÓ+<Ð*=¸VÀAÇFÁFÀ8ÐL�
Ø!6´t·y²yÀÇÁÓ7HÐ6IÐJ’à×"Ñ"×/Ñ/Ü×EÑEóFð  +¬4¯9ª9°T·V±VÓ+<Ð*=Ð=NÈqÏvÉvÈhÐW�
Ø!6´t·y²yÀÇÁÓ7HÐ6IÐJ‘à×-Ñ-×8Ñ8¸¿¹Ó@�ØÒ#Ü(Ø7¸¿¹×8IÑ8I×8NÑ8N×8SÑ8SÐ7TÐUóð ð  +¨8¯?©?Ð*;¸1¸Q¿V¹V¸HÐE�
Ø"*×"8Ñ"8Ð!9¸ÀxÇÁÐFWÐX�à×!Ñ!×.×.Ð.Ü$-§O¢OØ—F‘F×$Ñ$×(Ñ(¨!¯&©&×*:Ñ*:×*JÑ*Jó%Ð!ð —‘Ü'×8Ñ8ØŸ™¬Ð->Ó(?ÀÇÁÃóôð ”J×)Ñ)Ó)Ø—‘ : ,¨dÐ 3Õ4Ø”j×(Ñ(Ó(Ø—‘ : ,¨jÐ 9Õ:Ø”j—n‘nÓ$Ø#Ÿy™yÑ(N¸¿¹×9IÑ9I×9MÒ9MÓ(NÓN�Ø—‘ : ,¨d°<°.ÀÐ CÔDð Ÿ™ñ #ä"ØœZ×6Ò6°t·v±vÓ>Àuõó#ó ˆJð �v‰v�z‰z×%×%Ð%ð —‘Ð"<¸Z¸LÈÐ KÔLð
&Ø—V‘V—Z‘Z×+Ñ+×3Ñ3×:Ñ:Ó<ð&à—F‘F—J‘J×*Ñ*×.Ñ.ð&Ð"ó *<Ð%Ø—N‘Nñ #ñ
 $5ó#ö ñ *<ð —‘Ð 3Õ4à—‘ (¨:¨,°bÐ 9Ô:ô "×/Ò/°·±Ó7ˆHÜ'¨Ö1‘
��7Ü ¤¬7Ó!3Ó4¸¿¹×8KÑ8KÔKÜ(ðØ&Ÿ~™~×2Ñ2Ð3ð5óð ð
 œ
Ÿ™Ó&Ø1°!°°AÐ6‘Dà)¨!¨¨AÐ.�Dà—‘ÜØ!ô (Ø#ŸN™N×/Ñ/´¼YÄwÓ=OÓ1Póôö
ñ 2ð6 ×"Ñ"×/Ñ/Ü×EÑEôFô !2× FÒ FØ—F‘F—J‘J u¸q×?SÑ?Sô!�ð (×?Ñ?ÓA�Ø"Ÿ<™<›>�Ø ŸI™Iñ &ä& w°×0AÑ0AÓ0CÈEÕRó&ó �	ð —‘ $ x j°°)°¸BÐ ?Õ@Ø×#Ñ#×0Ñ0´K×4DÑ4DÔDØ!ŸY™Yñ 'ä&Ø¤×!:Ò!:¸4¿6¹6Ó!BÈ5õó'ó �
ð —‘ (¨:¨,°bÐ 9Ô:ð ”J—N‘NÓ" a¬:×+=Ñ+=Ó&=Üœs 1§6¡6§>¡>Ó2Ö3�AØ—O‘OØ0°°Ð3NÈqÈcÐQrÐstÐruÐuxÐyöñ 4ð ”J×)Ñ)Ó)Ü�q—v‘v—~‘~Ó&¨!Ô+Ø:’Hà ŸI™Iñ &ä!&¤s¨1¯6©6¯>©>Ó':Ô!;ó&ó �Eð "2°%°¸Ð:‘HØ”j×(Ñ(Ó(Ø!‘Ø”j—n‘nÓ$Ü�q—v‘v—~‘~Ó&¨!Ô+Ø Ÿv™v×/Ñ/×3Ñ3°AÕ6×;Ñ;‘HàŸ9™9Ñ$J°Q·V±V×5EÑ5E×5IÒ5IÓ$JÓJ�DØ!7¸°v¸QÐ?�HØ�O‰O˜g h Z¨qÐ1Ô2àŸ9™9 XÓ.ˆLð —‘ØØØ)Ø!-Ø#'§6¡6§:¡:×#AÑ#AÈÐ#Mð ó ððà‡�ƒ€ð Ø€ð ðð ð  �[‰[œF×/Ñ/Ó/Ø˜aŸf™fŸk™k˜]¨,°s·x±x³z°lÀ#ÐFÐFä˜Ÿ™Ô%ár0   r,   N)r  r  r  r  r  r/  r)  rF  rU  r   rÈ   r  r,   r0   r.   rÇ   rÇ   K  s4   ‡ àÓõõ4=õBõ"49ðl !ôPó !ôPr0   rÇ   )=Ú
__future__r   rÿ   r'  Údataclassesr   Útypingr   r   Útyping_extensionsr   Útorchgen.api.cppÚapir®   Útorchgen.api.metarp  Útorchgen.api.structuredr   Útorchgen.api.translater   Útorchgen.api.typesr	   r
   r   r   r   r   r   r   r   r   r   r   Útorchgen.contextr   r   Útorchgen.modelr   r   r   r   r   r   r   r   r   r    Útorchgen.utilsr!   r"   Ú!torchgen.selective_build.selectorr#   r;   rF   rL   rP   rT   rW   rZ   r]   rÇ   r,   r0   r.   Ú<module>rœ     sÌ   ðÝ "ã Û Ý !ß )Ý *ç Ð ß  Ð  ß ,Ð ,Ý ,÷÷ ÷ ó ÷ R÷÷ ÷ ÷ ,÷ ÝBõ#õL*õ8õ.õ$õ<õ.ñ: �$Ô÷T*ð T*ó ðT*ñ|
 �$ÔôvÐ$7ó vó òvr0   