Ë
    P/æjB  ã            	       ó   — U d dl Z d dlmZ d dlmZ d dlmZ d dlmZm	Z	m
Z
mZmZmZ d dlmZ d dlZd dlZd dlmZmZmZ d dlmZ d d	lmZ g d
¢Z ed«      Z ed«      Z ee«      Ze	e e	ejB                  jD                  ef   f   e#d<   ed   Z$ed   Z%ed   Z&d„ Z'd„ Z(	 ddddœdeeeef   geeef   f   fd„Z)	 ddeeejB                  jD                  ef      de de	ejB                  jD                  ef   fd„Z*de	ejB                  jD                  ef   deeeef      ddfd„Z+d dl,Zd dl-Zde	ejB                  jD                  ef   fd„Z.y)é    N)Údefaultdict)Úwraps)Úchain)ÚCallableÚDictÚListÚSequenceÚTypeVarÚUnion)Ú	ParamSpec)ÚHigherOrderOperatorÚ
OpOverloadÚOpOverloadPacket)ÚCustomOutParamAnnotation)Ú_pytree)Údecomposition_tableÚ pre_autograd_decomposition_tableÚ
meta_tableÚregister_decompositionÚget_decompositionsÚcore_aten_decompositionsÚ_TÚ_PÚglobal_decomposition_tableÚpost_autogradÚpre_autogradÚmetac                 ó”  — g }t        |t        «      r|| |<   yt        |t        «      r|j                  |«       nBt        |t        «      sJ ‚|j                  «       D ]  }|j                  t        ||«      «       Œ |D ]G  }|| v rt        d|› �«      ‚t        j                  j                  |j                  «       «      sŒC|| |<   ŒI y)zú
    This is an internal API for adding an op to the decomposition table.

    If op is OpOverload, it will be added to the registry directly.
    If op is OpOverloadPacket, all the valid op_overloads in the packet will be added to the registry.
    Nzduplicate registrations for )Ú
isinstancer   r   Úappendr   Ú	overloadsÚgetattrÚRuntimeErrorÚtorchÚ_CÚ_dispatch_has_kernelÚname)ÚregistryÚopÚfnr!   ÚolÚop_overloads         úY/root/repos/pocs/video-evals/.venv/lib/python3.12/site-packages/torch/_decomp/__init__.pyÚ_add_op_to_registryr.   '   sÅ   € ð 79€IÜ�"Ô)Ô*àˆ�‰ØÜ	�Bœ
Ô	#Ø×Ñ˜Õä˜"Ô.Ô/Ð/Ð/Ø—,‘,“.ò 	.ˆBØ×ÑœW R¨›_Õ-ð	.ð !ò 'ˆØ˜(Ñ"ÜÐ!=¸k¸]ÐKÓLÐLô �8‰8×(Ñ(¨×)9Ñ)9Ó);Õ<Ø$&ˆH�[Ò!ñ'ó    c           
      óª  ‡ ‡‡— ‰ j                   j                  d«      }|s‰ S t        |dd «      t        u �r]t	        j
                  ‰ «      }|j                  j                  Št        ‰ «      ˆ ˆfd„«       }t        ‰|j                  «      D ��cg c]6  \  }}t	        j                  |t        j                  j                  d |¬«      ‘Œ8 }}}t        d„ |j                  j                  «       D «       |«      }t	        j                   ||j                  ¬«      |_        ‰ j                   j                  «       D ��	ci c]  \  }}	|dk7  sŒ||	“Œ c}	}|_         |D ]%  }|j$                  |j                   |j&                  <   Œ' ‰ j(                  |_        |S ‰ j                   j+                  t,        d «      Š‰�r
t        ‰ «      ˆˆ fd„«       }t	        j                  ‰t        j                  j                  d |¬«      }
t	        j
                  ‰ «      }t        d„ |j                  j                  «       D «       |
f«      }t	        j                   ||j                  ¬«      |_        ‰ j                   j                  «       D ��	ci c]  \  }}	|dk7  sŒ||	“Œ c}	}|_         |
j$                  |j                   |
j&                  <   |S ‰ S c c}}w c c}	}w c c}	}w )	NÚoutÚ
__origin__c                  ó�   •‡‡— t        ˆfd„‰D «       «      }|d   d u Št        ˆfd„|D «       «      sJ ‚ ‰| i ‰¤d‰rd i¤ŽS |i¤ŽS )Nc              3   óB   •K  — | ]  }‰j                  |d «      –— Œ y ­w©N©Úpop)Ú.0ÚoÚkwargss     €r-   ú	<genexpr>z3_convert_out_params.<locals>._fn.<locals>.<genexpr>T   s   øè ø€ ÒF°q˜vŸz™z¨!¨T×2ÑFùs   ƒr   c              3   ó,   •K  — | ]  }|d u ‰k(  –— Œ y ­wr5   © )r8   r9   Úis_nones     €r-   r;   z3_convert_out_params.<locals>._fn.<locals>.<genexpr>W   s   øè ø€ ÒB°!˜˜T˜	 gÕ-ÑBùs   ƒr1   )ÚtupleÚall)Úargsr:   Ú
out_kwargsr>   ÚfÚ	out_namess    ` @€€r-   Ú_fnz _convert_out_params.<locals>._fnR   sT   ú€ äÓF¸IÔFÓFˆJà  ‘m tÐ+ˆGÜÓB°zÔBÔBÐBÐBÙ�dÐJ˜fÑJ±'¨$ÒJÐJ¸zÒJÐJr/   )ÚkindÚdefaultÚ
annotationc              3   ó2   K  — | ]  \  }}|d k7  sŒ|–— Œ y­w©r1   Nr=   ©r8   ÚkÚvs      r-   r;   z&_convert_out_params.<locals>.<genexpr>d   s   è ø€ ÒK™d˜a ÀÀUÃ
œÑKùó   ‚�)Ú
parametersÚreturn_annotationc                  ó@   •— |j                  ‰d «      } ‰| i |¤d|i¤ŽS )Nr1   r6   )rA   r:   Ú	out_kwargÚcustom_out_param_namerC   s      €€r-   rE   z _convert_out_params.<locals>._fnx   s)   ø€ àŸ
™
Ð#8¸$Ó?ˆIÙ�dÐ4˜fÑ4¨)Ò4Ð4r/   c              3   ó2   K  — | ]  \  }}|d k7  sŒ|–— Œ y­wrJ   r=   rK   s      r-   r;   z&_convert_out_params.<locals>.<genexpr>‡   s   è ø€ Ò@‘4�1�a°Q¸%³ZŒQÑ@ùrN   )Ú__annotations__Úgetr"   r?   ÚinspectÚ	signaturerP   Ú_fieldsr   ÚzipÚ__args__Ú	ParameterÚKEYWORD_ONLYr   rO   ÚitemsÚ	SignatureÚ__signature__rH   r'   Ú!_torch_decompositions_out_wrapperr7   r   )rC   Úout_annotationÚsigrE   r9   ÚtÚ
out_paramsÚparamsrL   rM   Ú	out_paramrS   rD   s   `          @@r-   Ú_convert_out_paramsrh   D   s’  ú€ Ø×&Ñ&×*Ñ*¨5Ó1€Nñ Øˆô ˆ~˜|¨TÓ2´eÒ;Ü×Ñ Ó"ˆØ×)Ñ)×1Ñ1ˆ	ô 
ˆq‹ô	Kó 
ð	Kô ˜I ~×'>Ñ'>Ó?÷
ñ ��1ô ×ÑØÜ×&Ñ&×3Ñ3ØØö	ð
ˆ
ñ 
ô ÑK c§n¡n×&:Ñ&:Ó&<ÔKÈZÓXˆÜ#×-Ñ-Ø°×1FÑ1Fô
ˆÔð 12×0AÑ0A×0GÑ0GÓ0I×X©¨¨1ÈQÐRWËZ˜q !™tÓXˆÔØò 	7ˆAØ*+¯,©,ˆC×Ñ §¡Ò'ð	7ð 12×0SÑ0SˆÔ-àˆ
ð
 ×-Ñ-×1Ñ1Ô2JÈDÓQÐÚä	ˆq‹ô	5ó 
ð	5ô ×%Ñ%Ø!Ü×"Ñ"×/Ñ/ØØ%ô	
ˆ	ô ×Ñ Ó"ˆÜÙ@˜3Ÿ>™>×/Ñ/Ó1Ô@À9À,ó
ˆô $×-Ñ-Ø°×1FÑ1Fô
ˆÔð
 12×0AÑ0A×0GÑ0GÓ0I×X©¨¨1ÈQÐRWËZ˜q !™tÓXˆÔØ.7×.BÑ.Bˆ×Ñ˜IŸN™NÑ+àˆ
à€Hùós
ùó YùóJ Ys   Â;KÄ;K	Å	K	Ê KÊKF)ÚtypeÚunsafeÚreturnc                óx   ‡ ‡‡‡— ‰dv sJ ‚dt         t        t        f   dt         t        t        f   fˆ ˆˆˆfd„}|S )az  
    A decorator to register a function as a decomposition to the Python
    decomposition table.  Use it like this::

        @register_decomposition(torch.ops.aten.clamp_min)
        def clamp_min(x):
            return torch.clamp(self, min=min)

    If you are writing a new decomposition, consider contributing it
    directly to PyTorch in torch._decomp.decompositions.

    This API is experimental; we are almost certainly going to extend
    the API when we make decompositions eligible for use in transforms (e.g.,
    autograd) and not just backend tracing, where we then need to know if a
    decomposition can be used to simulate a transform.

    By default, we also will register it to the Meta key of dispatcher,
    and replace the c++ Meta implementation if there is already one.

    unsafe kwarg is for reuse of this function for registering non-function
    things
    >   r   r   r   r*   rk   c                 óv   •‡ — ‰ }‰st        ‰ «      Š ‰€	t        ‰   Šˆ ˆfd„}t        j                  |‰«       |S )Nc                 ó    •— t        ‰| ‰«       y r5   )r.   )r)   r*   r(   s    €€r-   ÚregisterzIregister_decomposition.<locals>.decomposition_decorator.<locals>.register»   s   ø€ Ü ¨"¨bÕ1r/   )rh   r   ÚpytreeÚ	tree_map_)r*   Úorig_fnro   Úaten_opr(   ri   rj   s   `  €€€€r-   Údecomposition_decoratorz7register_decomposition.<locals>.decomposition_decorator²   sC   ù€ ØˆÙÜ$ RÓ(ˆBð ÐÜ1°$Ñ7ˆHõ	2ô 	×Ñ˜ 7Ô+Øˆr/   )r   r   r   )rs   r(   ri   rj   rt   s   ```` r-   r   r   –   sF   û€ ð4 Ð<Ñ<Ð<Ð<ð¤H¬R´¨VÑ$4ð ¼Ä"ÄbÀ&Ñ9I÷ ð ð  #Ð"r/   Úaten_opsri   c                 ó~  — |dv sJ ‚t         |   }t        t        «      }|D ]7  }t        |t        t
        f«      sŒ||j                     j                  |«       Œ9 i }| D ][  }t        |t
        «      r||v r||   D ]
  }||   ||<   Œ Œ*t        |t        j                  j                  «      sŒO||v sŒT||   ||<   Œ] |S )a,  
    Retrieve a dictionary of decompositions corresponding to the list of
    operator overloads and overload packets passed as input.  Overload
    packets will include all decomposed overloads in the packet.  If there is
    no decomposition for a requested operator, it is silently ignored.

    This API is experimental; we are almost certainly going to give an alternate,
    more recommended formulation, where a user provides the set of operators
    they know how to implement, and we provide decompositions for everything
    not in this set.
    >   r   r   r   )r   r   Úlistr   r   r   Úoverloadpacketr    r$   Ú_opsÚOperatorBase)ru   ri   r(   Úpackets_to_overloadsÚopoÚdecompositionsr)   r,   s           r-   r   r   Å   sá   € ð Ð<Ñ<Ð<Ð<ä)¨$Ñ/€HÜ&¤tÓ,ÐØò AˆÜ�cœJÔ(8Ð9Õ:Ø  ×!3Ñ!3Ñ4×;Ñ;¸CÕ@ðAð ?A€NØò .ˆÜ�bÔ*Ô+°Ð6JÑ0JØ3°BÑ7ò D�Ø.6°{Ñ.C�˜{Ò+ñDä˜œUŸZ™Z×4Ñ4Õ6¸2Àº>Ø!)¨"¡ˆN˜2Òð.ð Ðr/   r}   c                 óà   — |D ]i  }t        |t        «      r4|j                  «       D ]   }t        ||«      }| j	                  |d«       Œ" ŒGt        |t
        «      sŒX| j	                  |d«       Œk y)a=  
    Given a dictionary of decompositions obtained from get_decompositions(), removes
    operators associated with a list of operator overloads and overload packets passed
    as input. If the decomposition dictionary does not contain a decomposition that is
    specified to be removed, it is silently ignored.
    N)r   r   r!   r"   r7   r   )r}   ru   r)   Úoverload_namer|   s        r-   Úremove_decompositionsr€   å   sk   € ð ò )ˆÜ�bÔ*Ô+Ø!#§¡£ò .�Ü˜b -Ó0�Ø×"Ñ" 3¨Õ-ñ.ô ˜œJÕ'Ø×Ñ˜r 4Õ(ñ)r/   c                  óÂ  — t         j                  j                  } t        g | j                  ‘| j
                  ‘| j                  ‘| j                  ‘| j                  ‘| j                  ‘| j                  ‘| j                  ‘| j                  ‘| j                  j                  ‘| j                  j                  ‘| j                   ‘| j"                  ‘| j$                  ‘| j&                  ‘| j(                  ‘| j*                  ‘| j,                  ‘| j.                  ‘| j0                  ‘| j2                  ‘| j4                  ‘| j6                  ‘| j8                  ‘| j:                  ‘| j<                  ‘| j>                  ‘| j@                  ‘| jB                  ‘| jD                  ‘| jF                  ‘| jH                  ‘| jJ                  ‘| jL                  ‘| jN                  ‘| jP                  ‘| jR                  ‘| jT                  ‘| jV                  ‘| jX                  ‘| jZ                  ‘| j\                  j                  ‘| j^                  ‘| j`                  ‘| jb                  ‘| jd                  ‘| jf                  ‘| jh                  ‘| jj                  ‘| jl                  ‘| jn                  ‘| jp                  ‘| jr                  ‘| jt                  ‘| jv                  ‘| jx                  ‘| jz                  ‘| j|                  ‘| j~                  ‘| j€                  ‘| j‚                  ‘| j„                  ‘| j†                  ‘| jˆ                  ‘| jŠ                  ‘| jŒ                  ‘| jŽ                  ‘| j�                  ‘| j’                  ‘| j”                  ‘| j–                  ‘| j˜                  ‘| jš                  ‘| jœ                  ‘| jž                  ‘| j                   ‘| j¢                  ‘| j¤                  ‘| j¦                  ‘| j¨                  ‘| jª                  ‘| j¬                  ‘| j®                  ‘| j°                  ‘| j²                  ‘| j´                  ‘| j¶                  ‘| j¸                  ‘| jº                  ‘| j¼                  ‘| j¾                  ‘| jÀ                  ‘| jÂ                  ‘| jÄ                  ‘| jÆ                  ‘| jÈ                  j                  ‘| jÊ                  ‘| jÌ                  ‘| jÎ                  ‘| jÐ                  ‘| jÒ                  ‘| jÔ                  ‘| jÖ                  ‘| jØ                  ‘| jÚ                  ‘| jÜ                  ‘| jÞ                  ‘| jà                  ‘| jâ                  ‘| jä                  ‘| jæ                  ‘| jè                  ‘| jê                  ‘| jì                  ‘| jî                  ‘| jð                  ‘| jò                  ‘| jô                  ‘| jö                  ‘| jø                  ‘| jú                  ‘| jü                  ‘| jþ                  ‘| �j                   ‘| �j                  ‘| �j                  ‘| �j                  ‘| �j                  ‘| �j
                  ‘| �j                  ‘| �j                  ‘| �j                  ‘| �j                  ‘| �j                  ‘| �j                  ‘| �j                  ‘| �j                  ‘| �j                  ‘| �j                  ‘| �j                   ‘| �j"                  ‘| �j$                  ‘| �j&                  ‘| �j(                  ‘| �j"                  ‘| �j*                  ‘| �j,                  ‘| �j.                  ‘| �j0                  ‘| �j2                  ‘| �j4                  ‘| �j6                  ‘| �j8                  j                  ‘| �j:                  ‘| �j<                  ‘| �j>                  ‘| �j@                  ‘| �jB                  ‘| �jD                  ‘| �jF                  ‘| �jH                  ‘| �jJ                  ‘| �jL                  ‘| �jN                  ‘| �jP                  ‘| �jR                  ‘| �jT                  ‘| �jV                  ‘| �jX                  ‘| �jZ                  ‘| �j\                  ‘| �j^                  ‘| �j`                  ‘| �jb                  ‘| �jd                  ‘| �jf                  �jh                  ‘| �jj                  ‘| �jl                  j                  ‘| �jl                  �jn                  ‘| �jp                  ‘| �jr                  ‘| �jt                  ‘| �jv                  j                  ‘| �jv                  �jx                  ‘| �jz                  ‘| �j|                  ‘| �j~                  ‘| �j€                  ‘| �j‚                  ‘| �j„                  ‘| �j†                  ‘| �jˆ                  ‘| �jŠ                  �jŒ                  ‘| �jŽ                  ‘| �j�                  ‘| �j’                  ‘| �j”                  ‘| �j–                  ‘| �j˜                  ‘| �jš                  ‘| �jœ                  ‘| �jž                  ‘| �j                   ‘| �j¢                  ‘| �j¤                  �jh                  ‘| �j¦                  ‘| �j¨                  ‘| �jª                  ‘| �j¬                  ‘| �j®                  ‘| �j°                  ‘| �j²                  ‘| �j´                  ‘| �j¶                  ‘| �j¸                  ‘| �jº                  ‘| �j¼                  ‘| �j¾                  ‘| �jÀ                  ‘| �jÂ                  ‘| �jÄ                  ‘«      S r5   )ãr$   ÚopsÚatenr   ÚaddcdivÚaddcdiv_ÚaddcmulÚaddcmul_ÚaddrÚaffine_grid_generatorÚ
alias_copyr@   ÚaminmaxÚarangerG   ÚstartÚavg_pool2d_backwardÚbaddbmmÚbinary_cross_entropyÚbinary_cross_entropy_backwardÚ binary_cross_entropy_with_logitsÚ
block_diagÚceluÚcelu_Úchannel_shuffleÚ	clamp_maxÚ	clamp_minÚcol2imÚcount_nonzeroÚlinalg_crossÚcudnn_batch_normÚcudnn_batch_norm_backwardÚmiopen_batch_norm_backwardÚdeg2radÚdeg2rad_ÚdetachÚ
diag_embedÚdiagonal_backwardÚdotÚvdotÚeluÚelu_Úelu_backwardÚ_embedding_bagÚembedding_dense_backwardÚ
empty_likeÚ_euclidean_distÚ	expand_asÚexpand_copyÚeyeÚfillÚfill_Úfloor_divideÚfracÚfrac_Ú_fused_moving_avg_obs_fq_helperÚgelu_Úgelu_backwardÚgluÚglu_backwardÚ
hardshrinkÚhardsigmoidÚhardsigmoid_Úhardsigmoid_backwardÚ	hardswishÚ
hardswish_Úhardswish_backwardÚ	hardtanh_Úhardtanh_backwardÚ	heavisideÚ
heaviside_Ú
huber_lossÚhuber_loss_backwardÚim2colÚ	index_addÚ
index_add_Ú
index_copyÚindex_copy_Ú
index_fillÚindex_fill_ÚisinÚisneginfÚisposinfÚl1_lossÚ_lazy_cloneÚ_test_parallel_materializeÚleaky_relu_Úleaky_relu_backwardÚlerpÚlerp_ÚlinspaceÚ	logaddexpÚ
logaddexp2ÚlogitÚlogit_Úlogit_backwardÚlog_sigmoid_backwardÚlog_sigmoid_forwardÚ_log_softmax_backward_dataÚlogspaceÚ	logsumexpÚmasked_fillÚmasked_fill_ÚmishÚmish_Úmse_lossÚmse_loss_backwardÚmulti_margin_lossÚmultilabel_margin_loss_forwardÚmvÚmvlgammaÚ	mvlgamma_ÚnansumÚ
nan_to_numÚnan_to_num_ÚnarrowÚnative_batch_norm_backwardÚnative_dropout_backwardÚnative_group_norm_backwardÚnative_layer_norm_backwardÚ	new_emptyÚnew_fullÚnew_onesÚ	new_zerosÚnll_loss2d_forwardÚnll_loss2d_backwardÚnll_loss_backwardÚnll_loss_forwardÚnormÚonesÚ	ones_likeÚpixel_shuffleÚpixel_unshuffleÚ_prelu_kernelÚ_prelu_kernel_backwardÚ_reshape_aliasÚrad2degÚrad2deg_Úreflection_pad1dÚreflection_pad1d_backwardÚreflection_pad2dÚreflection_pad2d_backwardÚreflection_pad3dÚreflection_pad3d_backwardÚreplication_pad1dÚreplication_pad2dÚreplication_pad3dÚrenormÚrenorm_Ú	resize_asÚrollÚrot90Úrrelu_with_noiseÚrrelu_with_noise_ÚrsubÚ_safe_softmaxÚ+_scaled_dot_product_flash_attention_for_cpuÚselect_backwardÚselect_scatterÚsgnÚsgn_Úsigmoid_backwardÚsiluÚsilu_Úsilu_backwardÚsincÚsinc_Úslice_backwardÚsmooth_l1_lossÚsmooth_l1_loss_backwardÚsoft_margin_lossÚsoft_margin_loss_backwardÚ_softmax_backward_dataÚsoftplusÚsoftplus_backwardÚ
softshrinkÚspecial_entrÚspecial_log_ndtrÚspecial_xlog1pyÚsplitÚTensorÚsplit_with_sizes_copyÚsqueezeÚdimÚstdÚstd_meanÚstackÚsumr1   rd   Út_copyÚtakeÚtanh_backwardÚ	thresholdÚ
threshold_Úthreshold_backwardÚtraceÚ	transposeÚintÚtrilÚtril_ÚtriuÚtriu_ÚunbindÚunfold_backwardÚunfold_copyÚ_unsafe_indexÚ_unsafe_index_putÚ_unsafe_masked_indexÚ#_unsafe_masked_index_put_accumulateÚunsafe_splitÚunsafe_split_with_sizesÚunsqueeze_copyÚ_unsafe_viewÚupsample_linear1dÚupsample_bilinear2dÚupsample_trilinear3dÚupsample_nearest2d_backwardÚview_as_complexÚxlogyÚxlogy_ÚzeroÚzero_ÚzerosÚ
zeros_likeÚ
_chunk_catÚ_weight_norm_interface)rƒ   s    r-   r   r     s£  € Ü�9‰9�>‰>€DÜð^	
Ø�L‰Lð^	
à�M‰Mð^	
ð �L‰Lð^	
ð �M‰Mð	^	
ð
 �I‰Ið^	
ð ×&Ñ&ð^	
ð �O‰Oð^	
ð �H‰Hð^	
ð �L‰Lð^	
ð �K‰K×Ñð^	
ð �K‰K×Ñð^	
ð ×$Ñ$ð^	
ð �L‰Lð^	
ð ×%Ñ%ð^	
ð ×.Ñ.ð^	
ð  ×1Ñ1ð!^	
ð" �O‰Oð#^	
ð$ �I‰Ið%^	
ð& �J‰Jð'^	
ð( × Ñ ð)^	
ð* �N‰Nð+^	
ð, �N‰Nð-^	
ð. �K‰Kð/^	
ð0 ×Ñð1^	
ð2 ×Ñð3^	
ð4 ×!Ñ!ð5^	
ð6 ×*Ñ*ð7^	
ð8 ×+Ñ+ð9^	
ð: �L‰Lð;^	
ð< �M‰Mð=^	
ð> �K‰Kð?^	
ð@ �O‰OðA^	
ðB ×"Ñ"ðC^	
ðD �H‰HðE^	
ðF �I‰IðG^	
ðH �H‰HðI^	
ðJ �I‰IðK^	
ðL ×ÑðM^	
ðN ×ÑðO^	
ðP ×)Ñ)ðQ^	
ðR �O‰OðS^	
ðT × Ñ ×(Ñ(ðU^	
ðV �N‰NðW^	
ðX ×ÑðY^	
ðZ �H‰Hð[^	
ð\ �I‰Ið]^	
ð^ �J‰Jð_^	
ð` ×Ñða^	
ðb �I‰Iðc^	
ðd �J‰Jðe^	
ðf ×0Ñ0ðg^	
ðh �J‰Jði^	
ðj ×Ñðk^	
ðl �H‰Hðm^	
ðn ×Ñðo^	
ðp �O‰Oðq^	
ðr ×Ñðs^	
ðt ×Ñðu^	
ðv ×%Ñ%ðw^	
ðx �N‰Nðy^	
ðz �O‰Oð{^	
ð| ×#Ñ#ð}^	
ð~ �N‰Nð^	
ð@ ×"Ñ"ðA^	
ðB �N‰NðC^	
ðD �O‰OðE^	
ðF �O‰OðG^	
ðH ×$Ñ$ðI^	
ðJ �K‰KðK^	
ðL �N‰NðM^	
ðN �O‰OðO^	
ðP �O‰OðQ^	
ðR ×ÑðS^	
ðT �O‰OðU^	
ðV ×ÑðW^	
ðX �I‰IðY^	
ðZ �M‰Mð[^	
ð\ �M‰Mð]^	
ð^ �L‰Lð_^	
ð` ×Ñða^	
ðb ×+Ñ+ðc^	
ðd ×Ñðe^	
ðf ×$Ñ$ðg^	
ðh �I‰Iði^	
ðj �J‰Jðk^	
ðl �M‰Mðm^	
ðn �N‰Nðo^	
ðp �O‰Oðq^	
ðr �J‰Jðs^	
ðt �K‰Kðu^	
ðv ×Ñðw^	
ðx ×%Ñ%ðy^	
ðz ×$Ñ$ð{^	
ð| ×+Ñ+ð}^	
ð~ �M‰Mð^	
ð@ �N‰N×"Ñ"ðA^	
ðB ×ÑðC^	
ðD ×ÑðE^	
ðF �I‰IðG^	
ðH �J‰JðI^	
ðJ �M‰MðK^	
ðL ×"Ñ"ðM^	
ðN ×"Ñ"ðO^	
ðP ×/Ñ/ðQ^	
ðR �G‰GðS^	
ðT �M‰MðU^	
ðV �N‰NðW^	
ðX �K‰KðY^	
ðZ �O‰Oð[^	
ð\ ×Ñð]^	
ð^ �K‰Kð_^	
ð` ×+Ñ+ða^	
ðb ×(Ñ(ðc^	
ðd ×+Ñ+ðe^	
ðf ×+Ñ+ðg^	
ðh �N‰Nði^	
ðj �M‰Mðk^	
ðl �M‰Mðm^	
ðn �N‰Nðo^	
ðp ×#Ñ#ðq^	
ðr ×$Ñ$ðs^	
ðt ×"Ñ"ðu^	
ðv ×!Ñ!ðw^	
ðx �IŠIðy^	
ðz �IŠIð{^	
ð| �NŠNð}^	
ð~ ×Òð^	
ð@ × Ò ðA^	
ðB ×ÒðC^	
ðD ×'Ò'ðE^	
ðF ×ÒðG^	
ðH �LŠLðI^	
ðJ �MŠMðK^	
ðL ×!Ò!ðM^	
ðN ×*Ò*ðO^	
ðP ×!Ò!ðQ^	
ðR ×*Ò*ðS^	
ðT ×!Ò!ðU^	
ðV ×*Ò*ðW^	
ðX ×"Ò"ðY^	
ðZ ×"Ò"ð[^	
ð\ ×"Ò"ð]^	
ð^ �KŠKð_^	
ð` �LŠLða^	
ðb ×"Ò"ðc^	
ðd �NŠNðe^	
ðf �IŠIðg^	
ðh �JŠJði^	
ðj ×!Ò!ðk^	
ðl ×"Ò"ðm^	
ðn �IŠIðo^	
ðp ×Òðq^	
ðr ×<Ò<×DÑDðs^	
ðt × Ò ðu^	
ðv ×Òðw^	
ðx �HŠHðy^	
ðz �IŠIð{^	
ð| ×!Ò!ð}^	
ð~ �IŠIð^	
ð@ �JŠJðA^	
ðB ×ÒðC^	
ðD �IŠIðE^	
ðF �JŠJðG^	
ðH ×ÒðI^	
ðJ ×ÒðK^	
ðL ×(Ò(ðM^	
ðN ×!Ò!ðO^	
ðP ×*Ò*ðQ^	
ðR ×'Ò'ðS^	
ðT �MŠMðU^	
ðV ×"Ò"ðW^	
ðX �OŠOðY^	
ðZ ×Òð[^	
ð\ ×!Ò!ð]^	
ð^ × Ò ð_^	
ð` �JŠJ×Òða^	
ðb ×&Ò&ðc^	
ðd �LŠL× Ñ ðe^	
ðf �LŠL×Òðg^	
ðh �HŠHði^	
ðj �MŠMðk^	
ðl �JŠJðm^	
ðn �HŠH×Ñðo^	
ðp �HŠH�LŠLðq^	
ðr �FŠFðs^	
ðt �KŠKðu^	
ðv �IŠIðw^	
ðx ×Òðy^	
ðz �NŠNð{^	
ð| �OŠOð}^	
ð~ ×#Ò#ð^	
ð@ �JŠJðA^	
ðB �NŠN×ÒðC^	
ðD �IŠIðE^	
ðF �JŠJðG^	
ðH �IŠIðI^	
ðJ �JŠJðK^	
ðL �KŠKðM^	
ðN × Ò ðO^	
ðP ×ÒðQ^	
ðR ×ÒðS^	
ðT ×"Ò"ðU^	
ðV ×%Ò%ðW^	
ðX ×4Ò4ðY^	
ðZ ×Ò×$Ò$ð[^	
ð\ ×(Ò(ð]^	
ð^ ×Òð_^	
ð` ×Òða^	
ðb ×"Ò"ðc^	
ðd ×$Ò$ðe^	
ðf ×%Ò%ðg^	
ðh ×,Ò,ði^	
ðj × Ò ðk^	
ðl �JŠJðm^	
ðn �KŠKðo^	
ðp �IŠIðq^	
ðr �JŠJðs^	
ðt �JŠJðu^	
ðv �OŠOðw^	
ðx �OŠOðy^	
ðz ×'Ò'ð{^	
ó`ð `r/   r5   )r   )/rW   Úcollectionsr   Ú	functoolsr   Ú	itertoolsr   Útypingr   r   r   r	   r
   r   Útyping_extensionsr   r$   Útorch.libraryÚ
torch._opsr   r   r   Útorch._prims_commonr   Útorch.utilsr   rp   Ú__all__r   r   Údictr   Ústrry   rz   rU   r   r   r   r.   rh   r   r   r€   Útorch._decomp.decompositionsÚtorch._refsr   r=   r/   r-   ú<module>rm     s¨  ðä Ý #Ý Ý ß A× AÝ 'ã Û ß HÑ HÝ 8Ý )ò€ñ ˆTƒ]€Ùˆtƒ_€ñ �Óð ˜DØˆˆe�j‰j×%Ñ% xÐ/Ñ	0Ð0ñó ð 1°ÑAÐ Ø#=¸nÑ#MÐ  Ø'¨Ñ/€
ò'ò:Oðf ð,#Ø$3¸Eò,#àˆx˜˜B˜ÑÐ  (¨2¨r¨6Ñ"2Ð2Ñ3ó,#ðb  ñØ�u˜UŸZ™Z×4Ñ4Ð6FÐFÑGÑHðà
ðð 
ˆ%�*‰*×
!Ñ
! 8Ð
+Ñ,óð@)Ø˜Ÿ™×0Ñ0°(Ð:Ñ;ð)à�u˜ZÐ)9Ð9Ñ:Ñ;ð)ð 
ó)ó( $Û ðb $ u§z¡z×'>Ñ'>ÀÐ'HÑ"Iô br/   