o
    ‡ZŽhLš ã                	   @   s–  d Z ddlZddlZddlZddlZddlZddlZddlmZ ddlm	Z	 ddl
mZmZmZ ddlZddlmZmZmZmZmZmZmZmZmZ g d¢Z			dAd
edededefdd„Ze d¡edee fdd„ƒƒZe d¡dee fdd„ƒZe d¡ede eef fdd„ƒƒZ!defdd„Z"	dBdee deeege#f  de$e fdd„Z%dedee defdd„Z&eed ƒZ'eed!ƒZ(eed"ƒZ)e d¡de*e ee$e f e eef f fd#d$„ƒZ+ede ee$e f fd%d&„ƒZ,ed'd(„ ƒZ-e d¡dee fd)d*„ƒZ.ed
ede/fd+d,„ƒZ0d-d.„ Z1G d/d0„ d0ƒZ2d1d2„ Z3d3d4„ Z4d5d6„ Z5d7d8„ Z6ej7d9d:„ ƒZ8G d;d<„ d<e2ƒZ9ej7d=d>„ ƒZ:ej7d?d@„ ƒZ;dS )CaE  
Python implementation of ``__torch_function__``

While most of the torch API and handling for ``__torch_function__`` happens
at the C++ level, some of the torch API is written in Python so we need
python-level handling for ``__torch_function__`` overrides as well. The main
developer-facing functionality in this file are handle_torch_function and
has_torch_function. See torch/functional.py and test/test_overrides.py
for usage examples.

Note
----
heavily inspired by NumPy's ``__array_function__`` (see:
https://github.com/pytorch/pytorch/issues/24015 and
https://www.numpy.org/neps/nep-0018-array-function-protocol.html
)

If changing this file in a way that can affect ``__torch_function__`` overhead,
please report the benchmarks in ``benchmarks/overrides_benchmark``. See the
instructions in the ``README.md`` in that directory.
é    N)ÚIterable©Úwraps)ÚAnyÚCallableÚOptional)	Ú_add_docstrÚ_get_function_stack_atÚ_has_torch_functionÚ_has_torch_function_unaryÚ_has_torch_function_variadicÚ_is_torch_function_mode_enabledÚ_len_torch_function_stackÚ_pop_torch_function_stackÚ_push_on_torch_function_stack)
Úget_ignored_functionsÚget_overridable_functionsÚget_testing_overridesÚhandle_torch_functionÚhas_torch_functionÚresolve_nameÚis_tensor_likeÚis_tensor_method_or_propertyÚwrap_torch_functionÚenable_reentrant_dispatchú.*is deprecated, please use.*ÚtorchÚfuncÚregexÚmoduleÚreturnc                    s   t ˆ ƒ‡ ‡‡fdd„ƒ}|S )a  
    Decorator that temporarily disables ``UserWarning``s for the given ``module`` if the warning message matches the
    given ``regex`` pattern.

    Arguments
    ---------
    func : function
        Function to disable the warnings for.
    regex : str
        A regex pattern compilable by ``re.compile``. This is used to match the ``UserWarning`` message.
    module : str
        The python module to which the filtering should be restricted.

    Returns
    -------
    function
        The wrapped function.
    c                     sL   t  ¡  t jdtˆˆd ˆ | i |¤ŽW  d   ƒ S 1 sw   Y  d S )NÚignore)ÚcategoryÚmessager   )ÚwarningsÚcatch_warningsÚfilterwarningsÚUserWarning)ÚargsÚkwargs©r   r   r   © ú>/var/www/auris/lib/python3.10/site-packages/torch/overrides.pyÚwrapperV   s   
ÿ$üz'_disable_user_warnings.<locals>.wrapperr   )r   r   r   r-   r+   r*   r,   Ú_disable_user_warnings>   s   r.   c                  C   sp  t j} h t j’t j’t j’t j’t j’t j’t j’t j	’t j
’t j’t j’t j’t j’t j’t j’t j’t j’t j’t j’t j’t j’t j’t j’t j’t j’t j’t j’t j’t j’t j’t j ’t j!’t j"’t j#’t j$’t j%’t j&’t j'’t j(’t j)’t j*’t j+’t j,’t j-’t j.’t j/’t j0’t j1’t j2’t j3’t j4’t j5’t j6’t j7’t j8’t j9’t j:’t j;’t j<’t j=’t j>’t j?’t j@’t jA’t jB’t jC’t jD’t jE’t jF’t jG’t jH’t jI’t jJ’t jK’t jL’t jM’t jNjN’t jNj’t jNjO’t jNj’t jP’t jQjR’t jQjS’t jT’t jU’t jV’t jW’t jX’t jY’t jZ’t j[’t j\’t j]’t j^’t j_’t j`’t ja’t jb’t jc’t jd’t je’t jf’t jg’t jh’t ji’t jj’t jk’t jl’t jm’t jn’t jo’t jp’t jq’t jr’t js’t jt’t ju’t jv’t jw’t jx’t jyjz’t j{j|j}’t j{j|j~’t j{j|j’t j{j|j€’t j{j|j’t j{j|j‚’t j{j|jƒ’t j{j|j„’t j{j|j…’t j{j|j†’t j{j|j‡’t j{j|jˆ’t j{j|j‰’t j{jŠj‹’t j{jŠjŒ’t j{jŠjb’t j{jŠj’t j{jŠjP’t j{jŠjŽ’t j{jŠj’t j{jŠj’t j{jŠj‘’t j{jŠj’’t j{jŠj“’t j{jŠj”’t j•j–’t’t„’t j—’t j˜’t j™’t jš’t j›’t jœ’t j’t jž’t jŸ’t j ’t j¡’t j¢’t j£’t j¤’t j¥’t j¦’t j§’t j¨’t j©’t jª’t j«’t j¬’t j­’t j{j|j®’t j¯’t j°’t j±’t j²’t j³’t j´’t jµ’t j¶’t j·’t j¸’t j¹’t jº’t j»’t j¼’t j½’t j¾’t j¿’t jÀ’t jÁ’t jÂ’t 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þ’S )a%  
    Return public functions that cannot be overridden by ``__torch_function__``.

    Returns
    -------
    set[Callable]
        A tuple of functions that are publicly available in the torch API but cannot
        be overridden with ``__torch_function__``. Mostly this is because none of the
        arguments of these functions are tensors or tensor-likes.

    Examples
    --------
    >>> torch.Tensor.as_subclass in torch.overrides.get_ignored_functions()
    True
    >>> torch.add in torch.overrides.get_ignored_functions()
    False
    )ÿr   ÚTensorÚtypenameZ	is_tensorZ
is_storageZset_default_tensor_typeZset_default_deviceZget_default_deviceZset_rng_stateZget_rng_stateZmanual_seedZinitial_seedÚseedÚsaveÚloadZset_printoptionsÚforkZget_default_dtypeZget_num_interop_threadsZget_num_threadsZinit_num_threadsZimport_ir_moduleZimport_ir_module_from_bufferZis_anomaly_enabledZis_anomaly_check_nan_enabledZis_grad_enabledZmerge_type_from_type_commentZparse_irZparse_schemaZparse_type_commentZset_anomaly_enabledZset_flush_denormalZset_num_interop_threadsZset_num_threadsÚwaitZ	as_tensorZ
from_numpyÚtensorZdefault_generatorZhas_cudaZ	has_cudnnZ
has_lapackÚdeviceÚdtypeZfinfoZhas_mklZhas_mpsZ
has_mkldnnZ
has_openmpZiinfoÚmemory_formatÚqschemeZset_grad_enabledZno_gradZenable_gradZinference_modeZis_inference_mode_enabledÚlayoutZalign_tensorsZarangeÚ
as_stridedZbartlett_windowZblackman_windowZbroadcast_shapesZcan_castÚcompileZcudnn_affine_grid_generatorZcudnn_batch_normZcudnn_convolutionZcudnn_convolution_transposeZcudnn_convolution_reluZcudnn_convolution_add_reluZcudnn_grid_samplerZcudnn_is_acceptableÚemptyZempty_permutedZempty_stridedZempty_quantizedZexportZregister_dataclassÚeyeÚfftZfftfreqZrfftfreqÚ	from_fileÚfullÚfillZhamming_windowZhann_windowZkaiser_windowZlinspaceZlogspaceZmkldnn_adaptive_avg_pool2dZmkldnn_convolutionZmkldnn_max_pool2dZmkldnn_max_pool3dZmkldnn_linear_backward_weightsZmkldnn_rnn_layerÚnormalZonesZpromote_typesZrandZrandnÚrandintZrandpermÚrangeZresult_typeZscalar_tensorZsparse_coo_tensorZsparse_compressed_tensorZsparse_csr_tensorZsparse_csc_tensorZsparse_bsr_tensorZsparse_bsc_tensorZsym_constrain_rangeZsym_constrain_range_for_sizeZsym_fresh_sizeZtril_indicesZtriu_indicesÚvanderÚzerosZ_jit_internalZboolean_dispatchÚnnÚ
functionalZassert_int_or_pairZupsampleZupsample_bilinearZupsample_nearestr   Úhas_torch_function_unaryÚhas_torch_function_variadicr   ÚsigmoidZhardsigmoidÚtanhZ_canonical_maskZ_none_or_dtypeÚinitZcalculate_gainÚuniformÚconstantZdiracZxavier_uniformZxavier_normalZkaiming_uniformZkaiming_normalZ
orthogonalÚsparseÚnestedZto_padded_tensorZset_autocast_enabledZis_autocast_enabledZset_autocast_dtypeZget_autocast_dtypeZclear_autocast_cacheZset_autocast_cpu_enabledZis_autocast_cpu_enabledZset_autocast_xla_enabledZis_autocast_xla_enabledZset_autocast_ipu_enabledZis_autocast_ipu_enabledZset_autocast_cpu_dtypeZget_autocast_cpu_dtypeZset_autocast_ipu_dtypeZget_autocast_ipu_dtypeZget_autocast_gpu_dtypeZset_autocast_gpu_dtypeZget_autocast_xla_dtypeZset_autocast_xla_dtypeZautocast_increment_nestingZautocast_decrement_nestingZis_autocast_cache_enabledZset_autocast_cache_enabledZ	hardswishZis_vulkan_availableZ$are_deterministic_algorithms_enabledZuse_deterministic_algorithmsZ-is_deterministic_algorithms_warn_only_enabledZset_deterministic_debug_modeZget_device_moduleZget_deterministic_debug_modeZset_float32_matmul_precisionZget_float32_matmul_precisionZunify_type_listZis_warn_always_enabledZset_warn_alwaysZvitals_enabledZ	set_vitalZread_vitalsZvmapÚcondZ
frombufferZasarrayZ_functional_sym_constrain_rangeZ_make_dep_tokenÚ__delitem__Ú__dir__Ú__getattribute__Ú__init__Ú__iter__Ú__init_subclass__Ú__delattr__Ú__setattr__Ú__torch_function__Z__torch_dispatch__Ú__new__Ú	__class__Ú__subclasshook__Ú__hash__Zas_subclassÚeigÚlstsqZ	reinforceÚnewZ
new_tensorZ	new_emptyZnew_empty_stridedZ	new_zerosZnew_onesZnew_fullZ_make_subclassÚsolveZsymeigÚstrideÚ	unflattenZto_sparse_cooZto_sparse_csrZto_sparse_cscZto_sparse_bsrZto_sparse_bscZ
_to_sparseZ_to_sparse_csrZ_to_sparse_cscZ_to_sparse_bsrZ_to_sparse_bscZ_typed_storageZ_reduce_ex_internalZ_fix_weakrefZ
_view_funcZ_view_func_unsafeZ_rev_view_func_unsafeZ_make_wrapper_subclassZ_python_dispatchÚ__get__Z_has_symbolic_sizes_stridesZ_conjZ_conj_physicalZ_lazy_cloneZ	_neg_viewZ_is_zerotensorZ_is_all_trueZ_is_any_trueZ_addmm_activationZ
_use_count©r/   r+   r+   r,   r   a   sô  ÿþýüûúùø	÷
öõôóòñðïîíìëêéèçæåäãâá à!ß"Þ#Ý$Ü%Û&Ú'Ù(Ø)×*Ö+Õ,Ô-Ó.Ò/Ñ0Ð1Ï2Î3Í4Ì5Ë6Ê7É8È9Ç:Æ;Å<Ä=Ã>Â?Á@ÀA¿B¾C½D¼E»FºG¹H¸I·J¶KµL´M³N²O±P°Q¯R®S­T¬U«VªW©X¨Y§Z¦[¥\¤]£^¢_¡` aŸbžcdœe›fšg™h˜i—j–k•l”m“n’o‘pqrŽstŒu‹vŠw‰xˆy‡z†{…|„}ƒ~‚  ÿ  þ  ý  ü  û  ú  ù 	 ÷  õ  ô  ó  ò  ñ  ð  ï  î  í  ì  ë  ê  é  è  ç  æ  å  ä  ã  â  á   à ! ß " Þ # Ý $ Ü % Û & Ú ' Ù ( Ø ) × * Ö + Õ , Ô - Ó . Ò / Ñ 0 Ð 1 Ï 2 Î 3 Í 4 Ì 5 Ë 6 Ê 7 É 8 È 9 Ç : Æ ; Å < Ä = Ã > Â ? Á @ À A ¿ B ¾ C ½ D ¼ E » F º G ¹ H ¸ I · J ¶ K µ L ´ M ³ N ² O ± P ° Q ¯ R ® S ­ T ¬ U « V ª W © X ¨ Y § Z ¦ [ ¥ \ ¤ ] £ ^ ¢ _ ¡ `   a Ÿ b ž c  d œ e › f š g ™ h ˜ i — j – k • l ” m “ n ’ o ‘ p  q  r Ž s  t Œ u ‹ v Š w ‰ x ˆ y ‡ z † { … | „ } ƒ ~ ‚      ÿr   c                  C   s   t j} | jj| jj| jjhS )a  
    Return public functions that do not wrap in a subclass when invoked by
    the default ``Tensor.__torch_function__`` that preserves subclasses.  Typically,
    these functions represent field accesses (i.e., retrieving a Tensor that
    is stored somewhere on the Tensor) as opposed to computation.  Users of
    these functions expect object identity to be preserved over multiple accesses
    (e.g., ``a.grad is a.grad``) which cannot be upheld if we're wrapping on
    the fly every time (furthermore, the tensor stored here might already be
    the subclass, in which case wrapping really ought not to happen).

    Not ALL property accessors have this property; for example ``Tensor.T`` actually
    just creates a new transposed tensor on the fly, and so we SHOULD interpose on
    these calls (you need to check the implementation of the function to see if
    this is the case or not).  Additionally, if a property accessor doesn't return a Tensor,
    it doesn't have to be on this list (though it is harmless if it is).
    )r   r/   Ú_baserh   ÚgradÚ_gradri   r+   r+   r,   Úget_default_nowrap_functionsy  s
   ýrm   c                  C   sÊH  t j} i t jddd„“t jddd„“t jdd„ “t jdd„ “t jddd„“t jdd„ “t jdd	d„“t j	dd
d„“t j
ddd„“t jddd„“t jddd„“t jd	dd„“t jd	dd„“t jddd„“t jddd„“t jddd„“t jdd„ “i t jddd„“t jd
dd„“t jddd„“t jddd„“t jddd„“t jddd„“t jddd„“t jddd„“t jd d„ “t jd!d„ “t jdd"d„“t jdd#d„“t jd$d„ “t j dd%d„“t j!dd&d„“t j"dd'd„“t j#dd(d„“¥i t j$dd)d„“t j%dd*d„“t j&dd+d„“t j'dd,d„“t j(dd-d„“t j)d.d„ “t j*d/d„ “t j+d0d„ “t j,dd3d„“t j-dd4d„“t j.d5d„ “t j/d6d„ “t j0d7d„ “t j1d8d„ “t j2d9d„ “t j3d:d„ “t j4d;d„ “¥i t j5d<d„ “t j6dd=d„“t j7d>d„ “t j8dd@d„“t j9ddAd„“t j:ddBd„“t j;ddCd„“t j<ddDd„“t j=ddEd„“t j>ddFd„“t j?ddGd„“t j@ddHd„“t jAdId„ “t jBddJd„“t jCdKd„ “t jDdLd„ “t jEddMd„“¥i t jFdNd„ “t jGddOd„“t jHddPd„“t jIddQd„“t jJddTd„“t jKddUd„“t jLddWd„“t jMddXœdYd„“t jNdZd„ “t jOdd[d„“t jPjOdd\d„“t jPjQdd]d„“t jRdd^d„“t jSdd_d„“t jTd`d„ “t jUd4dad„“t jVddbd„“¥i t jWddcd„“t jXdddd„“t jYdded„“t jZddfd„“t j[ddgd„“t j\dhd„ “t j]ddjd„“t j^dkd„ “t j_ddld„“t j`dmd„ “t jPjaddnd„“t jbddod„“t jcddpd„“t jdddqd„“t jeddrd„“t jfd4dsd„“t jgddtd„“¥i t jhddud„“t jiddvd„“t jjdwd„ “t jkd4dxd„“t jlddyd„“t jmddzd„“t jndd{d„“t jod|d„ “t jpdd}d„“t jqdd~d„“t jrddd„“t jsdd€d„“t jtdd„ “t judd‚d„“t jPjudd„d„“t jvdd…d„“t jwdd†d„“¥i t jxdd‡d„“t jyddˆd„“t jzdd‰d„“t j{ddŠd„“t j|dd‹d„“t j}ddŒd„“t j~dd„ “t jdŽd„ “t jPjdd„ “t j€dd„ “t jdd‘d„“t j‚dd’d„“t jƒd4d“d„“t j„d d”d„“t j…d!d•d„“t jPj…d"d—d„“t j†d!d˜d„“¥i t j‡dd™d„“t jˆddšd„“t j‰d#d›d„“t jŠddœd„“t j‹ddd„“t jŒddžd„“t jddŸd„“t jŽd d„ “t jd¡d„ “t jd¢d„ “t j‘dd£d„“t jPj’dd¤d„“t jPj“dd¥d„“t jPj”d$d§d„“t jPj•d$d¨d„“t j–d©d„ “t j—d%dªd„“¥i t j˜d&d«d„“t j™d'd¬d„“t jšdd­d„“t j›d®d„ “t jœdd¯d„“t jdd°d„“t jždd±d„“t jŸdd²d„“t j dd³d„“t j¡dd´d„“t j¢dµd„ “t j£d¶d„ “t j¤d(d·d„“t j¥d¸d„ “t j¦d¹d„ “t j§dºd„ “t j¨d»d„ “¥i t j©d¼d„ “t jªd½d„ “t j«d¾d„ “t j¬d¿d„ “t j­dÀd„ “t j®j¯d)dÁd„“t j®j°d)dÂd„“t j®j±d)dÃd„“t j®j²d)dÄd„“t j®j³d)dÅd„“t j®j´d*dÇd„“t j®jµd*dÈd„“t j®j¶d)dÉd„“t j®j·d)dÊd„“t j®j¸ddËd„“t j®j¹ddÌd„“t j®jºddÍd„“¥i t j®j»ddÎd„“t j®j¼d*dÏd„“t j®j½d*dÐd„“t j®j¾d*dÑd„“t j®j¿d*dÒd„“t j®jÀddÓd„“t j®jÁddÔd„“t j®j®d)dÕd„“t jÂddÖd„“t jÃd+d×d„“t jÄdØd„ “t jÅdÙd„ “t jÆdÚd„ “t jÇddÛd„“t jÈddÜd„“t jÉdÝd„ “t jÊddÞd„“¥i t jËddßd„“t jÌddàd„“t jÍddád„“t jÎddt jÏddfdâd„“t jÐdãd„ “t jÑd,däd„“t jÒd-dåd„“t jÓddæd„“t jÔddçd„“t jÕdèd„ “t jÖddéd„“t j×ddêd„“t jØddëd„“t jÙddìd„“t jÚddíd„“t jÛddîd„“t jÜd.dïd„“¥i t jÝdðd„ “t jÞdñd„ “t jßdòd„ “t jàd/dód„“t jádôd„ “t jâddõd„“t jãddöd„“t jädd÷d„“t jåd0dùd„“t jæddúd„“t jçd1dûd„“t jèd2dýd„“t jéd3dþd„“t jêd4dÿd„“t jPjëd d„ “t jìddd„“t jídd„ “¥i t jîddd„“t jïddd„“t jðddd„“t jñddd„“t jòddd„“t jódd„ “t jôd	d„ “t jõdd
d„“t jöddd„“t j÷dd„ “t jød5dd„“t jùdd„ “t júd(dd„“t jûdd„ “t jüdd„ “t jýddd„“t jþddd„“¥i t jÿdd„ “t j dd„ “t jddd„“t jPjddd„“t jPjddd„“t jdd„ “t jdd„ “t jdd„ “t jdd„ “t jdd„ “t j	dd„ “t j
dd„ “t jd d„ “t jd!d„ “t jd
d"d„“t jd#d„ “t jd6d$d„“¥i t jd7d%d„“t jd&d„ “t jdd'd„“t jPjdd(d„“t jPjdd)d„“t jPjdd*d„“t jd/d+d„“t jdd,d„“t jdd-d„“t jdd.d„“t jdd/d„“t jdd0d„“t jdd1d„“t jd8d2d„“t jdd3d„“t jdd4d„“t j dd5d„“¥i t j!dd6d„“t j"dd7d„“t j#dd8d„“t j$dd9d„“t j%d:d„ “t j&dd;d„“t j'dd<d„“t j(dd=d„“t j)dd>d„“t j*dd?d„“t j+dd@d„“t j,ddAd„“t j-dBd„ “t j.ddCd„“t j/ddDd„“t j0ddEd„“t j1d9dFd„“¥i t j2ddGd„“t j3ddHd„“t j4dId„ “t j5dJd„ “t j6ddKd„“t j7ddLd„“t jPj1d:dMd„“t jPj8d:dNd„“t jPj9d9dOd„“t jPj2d9dPd„“t jPj7ddQd„“t j:dRd„ “t jPj:ddSd„“t jPj;d-dTd„“t jPj<ddUd„“t j=dVd„ “t jPj=dWd„ “¥i t j>ddXd„“t j?ddYd„“t j@ddZd„“t jAd;d[d„“t jBd;d\d„“t jCd;d]d„“t jDd<d^d„“t jEdd_d„“t jFd=d`d„“t jGddad„“t jHddbd„“t jIdcd„ “t jJdddd„“t jKdded„“t jLddfd„“t jMdgd„ “t jNdhd„ “¥i t jOdid„ “t jPdjd„ “t jQdkd„ “t jRdld„ “t jSdmd„ “t jTddnd„“t jUd>dod„“t jVdpd„ “t jWdqd„ “t jXddrd„“t jYddsd„“t jZddtd„“t j[ddud„“t j\ddvd„“t j]dwd„ “t j^dxd„ “t j_d?dzd„“¥i t j`d{d„ “t jad|d„ “t jbd}d„ “t jcd@d~d„“t jddd„ “t jedAd€d„“t jfdd„ “t jgdd‚d„“t jhddƒd„“t jidd„d„“t jjdd…d„“t jkdd†d„“t jljmjnd‡d„ “t jljmjodˆd„ “t jljmjdd‰d„“t jljmjpddŠd„“t jljmjqdd‹d„“¥i t jljmjrddŒd„“t jljmjsddd„“t jljmjtddŽd„“t jljmjuddd„“t jljmjdBdd„“t jljmjvdCd‘d„“t jljmjwdCd’d„“t jljmj.dDd”d„“t jljmj7dd•d„“t jljmjxdEd–d„“t jljmj8dd—d„“t jljmjLdd˜d„“t jljmjqdd™d„“t jljmjydFd›d„“t jljmjvddœd„“t jljmjdGdd„“t jljmjzdGdžd„“¥i t jljmj{dGdŸd„“t jljmj|dGd d„“t jljmj}dd¡d„“t jljmj—d%d¢d„“t jljmj˜dHd£d„“t jljmj¬dBd¤d„“t jljmj~dId¥d„“t jljmjdJd¦d„“t jljmj€dJd§d„“t jljmjdJd¨d„“t jljmj‚dJd©d„“t jljmjƒdKd«d„“t jljmj„dLd­d„“t jljmj…dMd®d„“t jljmj†dNd±d„“t jljmjàd@d²d„“t jljmj‡dOd´d„“¥i t jljmjåd0dµd„“t jljmjˆdPd·d„“t jljmjçd1d¸d„“t jljmjÿdQd¹d„“t jljmj‰dRd»d„“t jljmjd7d¼d„“t jljmjŠdSd½d„“t jljmjd@d¾d„“t jljmj‹dTdÀd„“t jljmjŒddÁd„“t jljmjdUdÄd„“t jljmjdVdÆd„“t jljmjŽdÇd„ “t jljmjd-dÈd„“t jljmjd-dÉd„“t jljmj‘d-dÊd„“t jljmj3ddËd„“¥i t jljmjAd<dÌd„“t jljmjDd<dÍd„“t jljmjBd<dÎd„“t jljmj’d<dÏd„“t jljmjCd<dÐd„“t jljmj“d<dÑd„“t jljmj”dWdÒd„“t jljmj•dWdÓd„“t jljmj–dWdÔd„“t jljmj—dSdÕd„“t jljmj˜dXdÖd„“t jljmj™dYd×d„“t jljmjšdZdØd„“t jljmj›dEdÙd„“t jljmjœd[dÚd„“t jljmjd\dÜd„“t jljmjždMdÝd„“¥i t jljmjŸd]dßd„“t jljmj d^dàd„“t jljmj¡d_dád„“t jljmj¢dâd„ “t jljmj£ddãd„“t jljmj¤ddäd„“t jljmj¥d`dåd„“t jljmj¦dadèd„“t jljmj§ddéd„“t jljmj¨ddêd„“t jljmj©ddëd„“t jljmjªdbdìd„“t jljmj«dcdíd„“t jljmj¬dddîd„“t jljmj­dZdïd„“t jljmj®dVdðd„“t jljmj¯dVdñd„“¥i t jljmj°dedód„“t jljmj±d0dôd„“t jljmj²dõd„ “t jljmj³död„ “t jljmj´dd÷d„“t jljmjµdfdød„“t jljmj¶ddVdd?dùœdúd„“t jljmj·dIdûd„“t jlj¸j¹dgdüd„“t jlj¸jºdgdýd„“t jlj¸j»dþd„ “t jlj¸j¼dhdd„“t j½ddd„“t j¾dƒdœdd„“t j¿dd„ “t jÀdidd„“t jPjÀdjdd„“¥i t jPjÁdkd	d„“t jPjÂ	dld
d„“t jÃdmdd„“t jÄdidd„“t jÅdd„ “t jÆdd„ “t jÇdndd„“t j d^dd„“t jÈdd„ “t jÉdodd„“t jÊd#dd„“t jËdpdd„“t jPjÌdqdd„“t jÍdd„ “t jÎdd„ “t jÏddd„“t j¡dd„ “¥i t jÐddd„“t jÑddd„“t j¢dd„ “t jÒd'dd„“t jÓddd„“t jÔdd d„“t jÕdd!d„“t jÖd"d„ “t j×d#d„ “t jØd$d„ “t jÙd%d„ “t jÚd&d„ “t jÛd:d'd„“t jPjÛdrd)d„“t jÜdsd+d„“t jÝdsd,d„“t jÞd-d„ “¥i t jßd.d„ “t jàd/d„ “t jád0d„ “t jâd1d„ “t jãd2d„ “t jä	5	dtd6d„“t jå	8	dud9d„“t jæ	;	dvd<d„“t jçd=d„ “t jèd>d„ “t jédd?d„“t jêd'd@d„“t jëdt jÏddfdAd„“t jìd'dBd„“t jídCd„ “t jîddDd„“t jïddEd„“¥i t jPjðddFd„“t jñdGd„ “t jòdHd„ “t jóddId„“t j£ddJd„“t jôddKd„“t jõddLd„“t jöddMd„“t j÷dNd„ “t j¥d`dOd„“t jødPd„ “t jùddQd„“t júdRd„ “t jûddSd„“t jüddTd„“t jýdwdVd„“t jþddWd„“¥i t jÿddXd„“t j dYd„ “t j¦dadZd„“t jdd[d„“t jd5d\d„“t jdd]d„“t jd^d„ “t jd_d„ “t jd5d`d„“t jddad„“t jdxdcd„“t j	ddd„ “t j
ded„ “t jdydfd„“t jdydgd„“t j§ddhd„“t jddid„“¥i t jddjd„“t jddkd„“t jddld„“t jddmd„“t jddnd„“t jddod„“t jdpd„ “t jPjdqd„ “t jdrd„ “t jdsd„ “t j®ddtd„“t jPjd:dud„“t jPjd9dvd„“t jdzdddwœdxd„“t jd4dyd„“t jd4dzd„“t jdd{d„“¥i t jdd|d„“t jdd}d„“t jdd~d„“t j ddd„“t j!dd€d„“t j"ddd„“t j#d{dƒd„“t j$dd„d„“t j%dd…d„“t j&dd†d„“t j'd‡d„ “t j(dˆd„ “t j)d‰d„ “t j*dŠd„ “t j+d‹d„ “t j,dŒd„ “t j-dd„ “¥i t j.dŽd„ “t j/dd„ “t j0dd„ “t j1d‘d„ “t j2d’d„ “t j3d“d„ “t j4d”d„ “t j5d•d„ “t j6d–d„ “t j7d—d„ “t j8dd˜d„“t j9d|d™d„“t j:d}d›d„“t jPj9d:dœd„“t jPj;ddd„“t j<džd„ “t j=dŸd„ “¥i t j>j?d d„ “t j>j@d¡d„ “t j>jAd¢d„ “t j>jBd£d„ “t j>jCd¤d„ “t j>jDdd¥d„“t j>jEdd¦d„“t j>jFdd§d„“t j>jGdd¨d„“t j>jˆd©d„ “t j>jHdªd„ “t j>jœd«d„ “t j>jd¬d„ “t j>jId­d„ “t j>jžd®d„ “t j>j d¯d„ “t j>jJd°d„ “¥i t j>j¡d±d„ “t j>jKdd²d„“t j>jLdd³d„“t j>jMd´d„ “t j>jNddµd„“t j>jOdd¶d„“t j>jØd·d„ “t j>jPd¸d„ “t j>jQd¹d„ “t j>jRdºd„ “t j>jSdd»d„“t j>jTdd¼d„“t j>j!d½d„ “t j>jUd¾d„ “t j>jdd¿d„“t j>j+dÀd„ “t j>j,ddÁd„“¥i t j>jVdÂd„ “t j>jWdÃd„ “t j>jXdÄd„ “t j>jYdÅd„ “t j>jZdÆd„ “t j>j[dÇd„ “t j>j\dÈd„ “t j>jÐddÉd„“t j>j]dÊd„ “t j>jþdËd„ “t j>j^dÌd„ “t j>j_dÍd„ “t j>j`ddÎd„“t j>jaddÏd„“t j>jbddÐd„“t j>jcddÑd„“t j>jdÒd„ “¥i t j>j®ddÓd„“t j>jddÔd„ “t j>jeddÕd„“t j>j&ddÖd„“t j>jfdd×d„“t jgdØd„ “t jhdÙd„ “t jiddÚd„“t jjddÛd„“t jkddÜd„“t jPjld#dÝd„“t jPjmddÞd„“t jnd~dßd„“t jod4dàd„“t j´ddád„“t jpdâd„ “t jqd>dãd„“¥i t jrdäd„ “t jsdåd„ “t jtddæd„“t juddçd„“t jvddèd„“t jPjwdndéd„“t jxddêd„“t jµdfdëd„“t jyddìd„“t jzdíd„ “t j{ddîd„“t j|d4dïd„“t j}dðd„ “t j~d€dñd„“t jddòd„“t j€dód„ “t jd4dôd„“¥i t j‚d4dõd„“t jƒd4död„“t j„dd÷d„“t jPj…ddød„“t j†ddùd„“t j‡ddúd„“t jˆdûd„ “t j‰ddüd„“t jŠddýd„“t j‹dþd„ “t jŒdÿd„ “t jd'd d„“t jŽdd„ “t jdd„ “t jdd„ “t j‘dd„ “t j’dd„ “¥i t j“dd„ “t j”ddd„“t j•dd„ “t j–d!d	d„“t j—dd
œdd„“t j˜dd„ “t j™dd„ “t jšdd„ “t j›dd„ “t jœdd„ “t jdydd„“t jžd4dd„“t jŸd4dd„“t j dd„ “t j¡dd„ “t j¢dd„ “t j£dd„ “¥i t j¤dd„ “t j¥dd„ “t j¦dd„ “t j§dd„ “t j¨dd„ “t j©dd„ “t jªdd„ “t j«dd„ “t j¬d4d d„“t j­d!d„ “t j®d"d„ “t j¯d#d„ “| j°d$d„ “| j±d%d„ “| j²d&d„ “| j³d'd„ “| j´d(d„ “¥i | jµd)d„ “| j¶d*d„ “| j·d+d„ “| j¸d,d„ “| j¹d-d„ “| jºd.d„ “| j»d/d„ “| j¼d0d„ “| j½d1d„ “| j¾d2d„ “| j¿d3d„ “| jÀd4d„ “| jÁd5d„ “| jÂd6d„ “| jÃd7d„ “| jÄd8d„ “| jÅd9d„ “¥i | jÆd:d„ “| jÇd;d„ “| jÈd<d„ “| jÉd=d„ “| jÊd>d„ “| jËd?d„ “| jÌd@d„ “| jÍdAd„ “| jÎdBd„ “| jÏdCd„ “| jÐdDd„ “| jÑdEd„ “| jÒdFd„ “| jÓddGœdHd„“| jÔdId„ “| jÕdJd„ “| jÖj×dKd„ “¥i | jØj×dLd„ “| jÙj×dMd„ “| jÚj×dNd„ “| jÛj×dOd„ “| jÜj×dPd„ “| jÝj×dQd„ “| jÞj×dRd„ “| jßj×dSd„ “| jàj×dTd„ “| jáj×dUd„ “| jâj×dVd„ “| jãj×dWd„ “| jädXd„ “| jådYd„ “| jædZd„ “| jçj×d[d„ “| jèj×d\d„ “¥i | jéj×d]d„ “| jêj×d^d„ “| jëj×d_d„ “| jìj×d`d„ “| jíj×dad„ “| jîj×dbd„ “| jïj×dcd„ “| jðj×ddd„ “| jñj×ded„ “| jòj×dfd„ “| jój×dgd„ “| jôj×dhd„ “| jõj×did„ “| jöj×djd„ “| j÷j×dkd„ “| jøj×dld„ “| jùj×dmd„ “¥i | júj×dnd„ “| jûj×dod„ “| jüj×dpd„ “| jýj×dqd„ “| jþj×drd„ “| jÿj×dsd„ “| j j×dtd„ “| jj×dud„ “| jj×dvd„ “| jj×dwd„ “| jj×dxd„ “| jîj×dyd„ “| jòj×dzd„ “| jj×d{d„ “| jd-d|d„“| jd}d„ “| jd~d„ “¥i | j	dd„ “| j
d€d„ “| jdd„ “| jd‚d„ “| jdƒd„ “| jd„d„ “| jd…d„ “| jd†d„ “| jd‡d„ “| jdˆd„ “| jd‰d„ “| jdŠd„ “| jd‹d„ “| jdŒd„ “| jdd„ “| jdJdŽd„“| jt jfdd„“¥i | jt jfdd„“| jt jfd‘d„“| jt jfd’d„“| jdUdd“œd”d„“| jd•d„ “| jd–d„ “| j t j!fd—d„“| j"dd˜d„“| j#t jfd™d„“| j$t jfdšd„“| j%t jfd›d„“| j&t jfdœd„“| j't jfdd„“| j(džd„ “| j)dŸd„ “| j†d!d d„“| j*d¡d„ “¥i | j+dd¢d„“| j,t jfd£d„“| j-t jfd¤d„“| j.d¥d„ “| j/d¦d„ “| j0d§d„ “| j1d5dd“œd¨d„“| j2d©d„ “| j3dªd„ “| j4t jfd«d„“| j5t jfd¬d„“| j6dd“œd­d„“| jÕd®d„ “| j7t jfd¯d„“| j8t jfd°d„“| j9d±d„ “| j:d²d„ “¥i | j;t jfd³d„“| j<d´d„ “| j=dµd„ “| jd¶d„ “| j>d·d„ “| j?d¸d„ “| j@d¹d„ “| jAdºd„ “| jBddd“œd»d„“| jd¼d„ “| jCt jfd½d„“| jDd¾d„ “| jEd¿d„ “| jTdÀd„ “| jFddÁd„“| j˜dÂd„ “| jGdÃd„ “¥i | jHdÄd„ “| jIdÅd„ “| jJdÆd„ “| jKdÇd„ “| jºdÈd„ “| jLdÉd„ “| jÈdÊd„ “| jMdËd„ “| jNddÌd„“| jOdÍd„ “| jPddd“œdÎd„“| jQdÏd„ “| jRdÐd„ “| jSdÑd„ “| jTdÒd„ “| jUdÓd„ “| jVdÔd„ “¥i | jWd5dÕd„“| jXdÖd„ “| jYd×d„ “| jZdØd„ “| j[dÙd„ “| j\dÚd„ “| j]dÛd„ “| j^d‚dÜd„“| j
dÝd„ “| j_dÞd„ “| j`t jfdßd„“| jadàd„ “| jdydád„“| jbdâd„ “| jcdãd„ “| jdddäd„“| jedåd„ “¥i | jfdæd„ “| jddçd„“| jgdèd„ “| jhdéd„ “| jidêd„ “| jjdëd„ “| jkdìd„ “| jpdíd„ “| jlddt jfdîd„“| jmdddïœdðd„“| jnddñd„“| jodòd„ “| jpdód„ “| jqdôd„ “| jrdõd„ “| j·död„ “| j¹dUd÷d„“¥| jsdød„ | jtdùd„ | judúd„ | jvdûd„ | jwddüd„| jxdýd„ t jPjyddþd„i¥}t jzj{j|}t}| |ƒ#rÔd-dÿd„|t~| |ƒ< d d„ |t~| d|› ƒj×< i }tƒ }| €¡ D ]}\}}|j|jd d|j d d|j d d|j d g}|j ‚d¡$r:|jtƒdƒd… }| „d| d d| d d| d g¡ |D ]}	t~| |	dƒ}
t…|
ƒ$rY|
|v$rY|
|v$rY|||
< $q<#qß| †|¡ |S (ƒ  ar  Return a dict containing dummy overrides for all overridable functions

    Returns
    -------
    Dict[Callable, Callable]
        A dictionary that maps overridable functions in the PyTorch API to
        lambda functions that have the same signature as the real function
        and unconditionally return -1. These lambda functions are useful
        for testing API coverage for a type that defines ``__torch_function__``.

    Examples
    --------
    >>> import inspect
    >>> my_add = torch.overrides.get_testing_overrides()[torch.add]
    >>> inspect.signature(my_add)
    <Signature (input, other, out=None)>
    Nc                 S   ó   dS ©Néÿÿÿÿr+   ©ÚinputÚoutr+   r+   r,   Ú<lambda>°  ó    z'get_testing_overrides.<locals>.<lambda>c                 S   rn   ro   r+   rq   r+   r+   r,   rt   ±  ru   c                 S   rn   ro   r+   ©rr   Úoutput_sizer+   r+   r,   rt   ²  ru   c                 S   rn   ro   r+   )Úinputsrw   r+   r+   r,   rt   ³  ru   c                 S   rn   ro   r+   rq   r+   r+   r,   rt   ´  ru   c                 S   rn   ro   r+   ©rr   r+   r+   r,   rt   µ  ru   c                 S   rn   ro   r+   rq   r+   r+   r,   rt   ¶  ru   c                 S   rn   ro   r+   rq   r+   r+   r,   rt   ·  ru   c                 S   rn   ro   r+   rq   r+   r+   r,   rt   ¸  ru   c                 S   rn   ro   r+   ©rr   Úotherrs   r+   r+   r,   rt   ¹  ru   é   c                 S   rn   ro   r+   ©rr   Zbatch1Zbatch2ÚalphaÚbetars   r+   r+   r,   rt   º  ru   c                 S   rn   ro   r+   ©rr   Ztensor1Ztensor2Úvaluers   r+   r+   r,   rt   »  ru   c                 S   rn   ro   r+   r€   r+   r+   r,   rt   ¼  ru   c                 S   rn   ro   r+   ©rr   Úmat1Úmat2r   r~   rs   r+   r+   r,   rt   ½  ru   c                 S   rn   ro   r+   )rr   ÚmatÚvecr   r~   rs   r+   r+   r,   rt   ¾  ru   c                 S   rn   ro   r+   )rr   Zvec1Úvec2r   r~   rs   r+   r+   r,   rt   ¿  ru   c                 S   rn   ro   r+   ©ÚthetaÚsizeÚalign_cornersr+   r+   r,   rt   À  ru   c                 S   rn   ro   r+   ©rr   Údimr+   r+   r,   rt   Á  ru   çñhãˆµøä>ç:Œ0âŽyE>Fc                 S   rn   ro   r+   )rr   r{   ZtrolÚatolÚ	equal_nanr+   r+   r,   rt   Â  ru   c                 S   rn   ro   r+   ©rr   ÚpÚtrainÚinplacer+   r+   r,   rt   Ã  ru   c                 S   rn   ro   r+   rŒ   r+   r+   r,   rt   Ä  ru   c                 S   rn   ro   r+   rŒ   r+   r+   r,   rt   Å  ru   c                 S   rn   ro   r+   ©rr   r   Úkeepdimrs   r+   r+   r,   rt   Æ  ru   c                 S   rn   ro   r+   rq   r+   r+   r,   rt   Ç  ru   c                 S   rn   ro   r+   r–   r+   r+   r,   rt   È  ru   c                 S   rn   ro   r+   ry   r+   r+   r,   rt   É  ru   c                 S   rn   ro   r+   ry   r+   r+   r,   rt   Ê  ru   c                 S   rn   ro   r+   rŒ   r+   r+   r,   rt   Ë  ru   c                 S   rn   ro   r+   rq   r+   r+   r,   rt   Ì  ru   c                 S   rn   ro   r+   )rr   Úmsgr+   r+   r,   rt   Í  ru   c                 S   rn   ro   r+   rq   r+   r+   r,   rt   Î  ru   c                 S   rn   ro   r+   rq   r+   r+   r,   rt   Ï  ru   c                 S   rn   ro   r+   rq   r+   r+   r,   rt   Ð  ru   c                 S   rn   ro   r+   rq   r+   r+   r,   rt   Ñ  ru   c                 S   rn   ro   r+   rq   r+   r+   r,   rt   Ò  ru   c                 S   rn   ro   r+   rz   r+   r+   r,   rt   Ó  ru   c                 S   rn   ro   r+   rz   r+   r+   r,   rt   Ô  ru   c                 S   rn   ro   r+   rq   r+   r+   r,   rt   Õ  ru   c                 S   rn   ro   r+   rq   r+   r+   r,   rt   Ö  ru   c                  W   rn   ro   r+   ©Útensorsr+   r+   r,   rt   ×  ru   c                  W   rn   ro   r+   r™   r+   r+   r,   rt   Ø  ru   c                  W   rn   ro   r+   r™   r+   r+   r,   rt   Ù  ru   r   Tc                 S   rn   ro   r+   )rr   Úkernel_sizerf   ÚpaddingÚ	ceil_modeÚcount_include_padr+   r+   r,   rt   Ú  ru   c                 S   rn   ro   r+   r}   r+   r+   r,   rt   Û  ru   c	           	      S   rn   ro   r+   )	rr   ÚweightÚbiasÚrunning_meanÚrunning_varÚtrainingÚmomentumÚepsÚcudnn_enabledr+   r+   r,   rt   Ü  ru   c                 S   rn   ro   r+   )Úgrad_outrr   ÚmeanÚinvstdrŸ   Zsum_dyZ
sum_dy_xmuZcount_tensorr+   r+   r,   rt   Ý  ru   c                 S   rn   ro   r+   )r§   rr   r¨   r©   rŸ   Zinput_gZweight_gZbias_gr+   r+   r,   rt   Þ  ru   c                 S   rn   ro   r+   )rr   rŸ   r    r¨   r©   r¥   r+   r+   r,   rt   ß  ru   c                 S   rn   ro   r+   ©rr   r¨   r©   r¡   r¢   r¤   r¥   Úcountr+   r+   r,   rt   à  ru   c                 S   rn   ro   r+   rª   r+   r+   r,   rt   á  ru   c                 S   rn   ro   r+   ©rr   r¥   r+   r+   r,   rt   â  ru   c                 S   rn   ro   r+   )rr   r¡   r¢   r¤   r+   r+   r,   rt   ã  ru   c                 S   rn   ro   r+   )rr   Ú	generatorrs   r+   r+   r,   rt   ä  ru   c                 S   rn   ro   r+   ©Úinput1Úinput2rŸ   r    r+   r+   r,   rt   å  ru   r¨   c                 S   rn   ro   r+   ©rr   ÚtargetrŸ   Úsize_averageÚreduceÚ	reductionZ
pos_weightr+   r+   r,   rt   ç  ru   c                 S   rn   ro   r+   )rr   ÚweightsZ	minlengthr+   r+   r,   rt   é  ru   c                 S   rn   ro   r+   )r«   Zprobr­   r+   r+   r,   rt   ê  ru   c                 S   rn   ro   r+   rz   r+   r+   r,   rt   ë  ru   c                 S   rn   ro   r+   rq   r+   r+   r,   rt   ì  ru   c                 S   rn   ro   r+   rz   r+   r+   r,   rt   í  ru   c                 S   rn   ro   r+   rz   r+   r+   r,   rt   î  ru   c                 S   rn   ro   r+   rz   r+   r+   r,   rt   ï  ru   c                 S   rn   ro   r+   rz   r+   r+   r,   rt   ð  ru   c                  W   rn   ro   r+   r™   r+   r+   r,   rt   ñ  ru   c                 S   rn   ro   r+   ©rr   r„   rs   r+   r+   r,   rt   ò  ru   c                  W   rn   ro   r+   r™   r+   r+   r,   rt   ó  ru   c                 S   rn   ro   r+   ©ÚselfrŠ   r+   r+   r,   rt   ô  ru   c                 S   rn   ro   r+   )rr   Z
boundariesÚ	out_int32Úrightrs   r+   r+   r,   rt   õ  ru   c                  W   rn   ro   r+   r™   r+   r+   r,   rt   ö  ru   c                 S   rn   ro   r+   ©rš   r   rs   r+   r+   r,   rt   ÷  ru   c                 S   rn   ro   r+   r¼   r+   r+   r,   rt   ø  ru   c                 S   rn   ro   r+   r¼   r+   r+   r,   rt   ù  ru   ç       @Ú#use_mm_for_euclid_dist_if_necessaryc                 S   rn   ro   r+   )Úx1Úx2r“   Zcompute_moder+   r+   r,   rt   ú  ru   c                 S   rn   ro   r+   rq   r+   r+   r,   rt   û  ru   ç      ð?c                 S   rn   ro   r+   ©rr   r~   r•   r+   r+   r,   rt   ü  ru   )rs   c                 W   rn   ro   r+   )rs   Zmatricesr+   r+   r,   rt   ý  ru   c                 S   rn   ro   r+   ©rr   Úgroupsr+   r+   r,   rt   þ  ru   c                 S   rn   ro   r+   ©rr   Úupperrs   r+   r+   r,   rt   ÿ  ru   c                 S   rn   ro   r+   rq   r+   r+   r,   rt      ru   c                 S   rn   ro   r+   ©rr   Úcheck_errorsrs   r+   r+   r,   rt     ru   c                 S   rn   ro   r+   rÅ   r+   r+   r,   rt     ru   c                 S   rn   ro   r+   )r¯   r°   rÆ   rs   r+   r+   r,   rt     ru   c                 S   rn   ro   r+   )rr   ÚnumelZn_binsÚratioZ	bit_widthr+   r+   r,   rt     ru   c                 S   rn   ro   r+   ©rr   Úchunksr   r+   r+   r,   rt     ru   c                 S   rn   ro   r+   ©rr   ÚminÚmaxrs   r+   r+   r,   rt     ru   c                 S   rn   ro   r+   rÍ   r+   r+   r,   rt     ru   c                 S   rn   ro   r+   )rr   rÎ   rs   r+   r+   r,   rt     ru   c                 S   rn   ro   r+   )rr   rÏ   rs   r+   r+   r,   rt   	  ru   c                 S   rn   ro   r+   ©rš   rs   r+   r+   r,   rt   
  ru   c                 S   rn   ro   r+   )rr   Z
correctionZfweightsZaweightsr+   r+   r,   rt     ru   c                 S   rn   ro   r+   ry   r+   r+   r,   rt     ru   é   c                 S   rn   ro   r+   )rr   ÚrZwith_replacementr+   r+   r,   rt     ru   c                 S   rn   ro   r+   )ÚrealÚimagr+   r+   r,   rt     ru   c                 S   rn   ro   r+   rz   r+   r+   r,   rt     ru   c                 S   rn   ro   r+   )ÚabsÚangr+   r+   r,   rt     ru   c                 S   rn   ro   r+   )rr   Úordr+   r+   r,   rt     ru   c                 S   rn   ro   r+   rq   r+   r+   r,   rt     ru   c                 S   rn   ro   r+   rq   r+   r+   r,   rt     ru   c                 S   rn   ro   r+   rq   r+   r+   r,   rt     ru   c                 S   rn   ro   r+   rq   r+   r+   r,   rt     ru   c                 S   rn   ro   r+   )rr   Úpadr   r+   r+   r,   rt     ru   c                 S   rn   ro   r+   ©rr   rŸ   r    rf   rœ   ÚdilationrÄ   r+   r+   r,   rt     ru   c                 S   rn   ro   r+   rÙ   r+   r+   r,   rt     ru   c                 S   rn   ro   r+   rÙ   r+   r+   r,   rt     ru   c	           	      S   rn   ro   r+   )	rr   rŸ   r    rf   rœ   rÚ   Z
transposedZoutput_addingrÄ   r+   r+   r,   rt     ru   c                 S   rn   ro   r+   )rr   rŸ   r    rØ   r+   r+   r,   rt     ru   c                 S   rn   ro   r+   ©rr   rŸ   r    rf   rœ   Úoutput_paddingrÄ   rÚ   r+   r+   r,   rt     ru   c                 S   rn   ro   r+   rÛ   r+   r+   r,   rt     ru   c                 S   rn   ro   r+   rÛ   r+   r+   r,   rt     ru   c                 S   rn   ro   r+   ry   r+   r+   r,   rt     ru   c                 S   rn   ro   r+   rq   r+   r+   r,   rt      ru   c                 S   rn   ro   r+   ©r¯   r°   r²   Úmarginr³   r´   rµ   r+   r+   r,   rt   !  ru   c                 S   rn   ro   r+   rq   r+   r+   r,   rt   "  ru   c                 S   rn   ro   r+   )r¿   rÀ   r   r¥   r+   r+   r,   rt   #  ru   c                 S   rn   ro   r+   ry   r+   r+   r,   rt   $  ru   c                 S   rn   ro   r+   ©rr   r{   r   rs   r+   r+   r,   rt   %  ru   rp   c                 S   rn   ro   r+   rß   r+   r+   r,   rt   &  ru   c                 S   rn   ro   r+   ©Z	log_probsÚtargetsZinput_lengthsZtarget_lengthsÚblankrµ   Zzero_infinityr+   r+   r,   rt   (  ru   c                 S   rn   ro   r+   ©rr   r   rs   r+   r+   r,   rt   *  ru   c                 S   rn   ro   r+   rã   r+   r+   r,   rt   +  ru   c                 S   rn   ro   r+   ©rr   r   rs   r8   r+   r+   r,   rt   ,  ru   c                 S   rn   ro   r+   rä   r+   r+   r,   rt   -  ru   c                 S   rn   ro   r+   ©ÚyÚxr   r+   r+   r,   rt   .  ru   c                 S   rn   ro   r+   rã   r+   r+   r,   rt   /  ru   c                 S   rn   ro   r+   rq   r+   r+   r,   rt   0  ru   c                 S   rn   ro   r+   ry   r+   r+   r,   rt   1  ru   c                 S   rn   ro   r+   ry   r+   r+   r,   rt   2  ru   c                 S   rn   ro   r+   ry   r+   r+   r,   rt   3  ru   c                 S   rn   ro   r+   ry   r+   r+   r,   rt   4  ru   c                 S   rn   ro   r+   ©rr   Údiagonalrs   r+   r+   r,   rt   5  ru   c                 S   rn   ro   r+   rè   r+   r+   r,   rt   6  ru   c                 S   rn   ro   r+   )rr   Úoffsetr+   r+   r,   rt   7  ru   c                 S   rn   ro   r+   )rr   Únr   ÚprependÚappendrs   r+   r+   r,   rt   8  ru   c                 S   rn   ro   r+   ©rr   rê   Údim1Údim2r+   r+   r,   rt   9  ru   éþÿÿÿc                 S   rn   ro   r+   rî   r+   r+   r,   rt   :  ru   c                 S   rn   ro   r+   )rr   Úsrcrê   rï   rð   r+   r+   r,   rt   ;  ru   c                 S   rn   ro   r+   )r¹   rò   rŠ   rf   Ústorage_offsetr+   r+   r,   rt   <  ru   c                 S   rn   ro   r+   rq   r+   r+   r,   rt   =  ru   c                 S   rn   ro   r+   )rr   r{   r“   r+   r+   r,   rt   >  ru   c                 S   rn   ro   r+   ©rr   r{   Zrounding_moders   r+   r+   r,   rt   ?  ru   c                 S   rn   ro   r+   rô   r+   r+   r,   rt   @  ru   c                 S   rn   ro   r+   rz   r+   r+   r,   rt   A  ru   c                 S   rn   ro   r+   r’   r+   r+   r,   rt   B  ru   c                 S   rn   ro   r+   ©rr   r„   r+   r+   r,   rt   C  ru   c                 S   rn   ro   r+   )rƒ   r„   r+   r+   r,   rt   D  ru   c                 S   rn   ro   r+   ©rr   Úindices_or_sectionsr+   r+   r,   rt   E  ru   c                 S   rn   ro   r+   rÐ   r+   r+   r,   rt   F  ru   c                 S   rn   ro   r+   rq   r+   r+   r,   rt   G  ru   c                 S   rn   ro   r+   rq   r+   r+   r,   rt   H  ru   ÚLc                 S   rn   ro   r+   ©rr   ZUPLOrs   r+   r+   r,   rt   I  ru   c                 S   rn   ro   r+   rù   r+   r+   r,   rt   J  ru   c                 W   rn   ro   r+   )ZequationZoperandsr+   r+   r,   rt   K  ru   c                 S   rn   ro   r+   ©rr   rŸ   Úpadding_idxÚmax_normÚ	norm_typeÚscale_grad_by_freqrR   r+   r+   r,   rt   M  ru   c
           
      S   rn   ro   r+   )
rr   rŸ   Úoffsetsrü   rý   rþ   ÚmoderR   Úper_sample_weightsrû   r+   r+   r,   rt   P  ru   c                 S   rn   ro   r+   ©rr   r8   r;   r7   Úrequires_gradr+   r+   r,   rt   R  ru   c                 S   rn   ro   r+   rz   r+   r+   r,   rt   S  ru   c                 S   rn   ro   r+   ©rr   r{   r+   r+   r,   rt   T  ru   c                 S   rn   ro   r+   rq   r+   r+   r,   rt   U  ru   c                 S   rn   ro   r+   rq   r+   r+   r,   rt   V  ru   c                 S   rn   ro   r+   rq   r+   r+   r,   rt   W  ru   c                 S   rn   ro   r+   rq   r+   r+   r,   rt   X  ru   c                 S   rn   ro   r+   rq   r+   r+   r,   rt   Y  ru   c                 S   rn   ro   r+   rq   r+   r+   r,   rt   Z  ru   c                 S   rn   ro   r+   )rr   ÚscaleÚ
zero_pointÚaxisÚ	quant_minÚ	quant_maxr+   r+   r,   rt   [  ru   c                 S   rn   ro   r+   )rr   r  r  r  r	  r+   r+   r,   rt   \  ru   c                 S   rn   ro   r+   )rç   Zobserver_onZfake_quant_onZaveraging_constZrunning_minZrunning_maxr  r  r  r	  Zch_axisZper_row_fake_quantZsymmetric_quantr+   r+   r,   rt   ^  ru   c                 S   rn   ro   r+   ©rr   Zpacked_weightr    r+   r+   r,   rt   `  ru   c                 S   rn   ro   r+   r
  r+   r+   r,   rt   a  ru   c                 S   rn   ro   r+   ©rr   rŸ   ÚpackedZcol_offsetsÚweight_scaleÚweight_zero_pointr    r+   r+   r,   rt   b  ru   c                 S   rn   ro   r+   r  r+   r+   r,   rt   d  ru   c                 S   rn   ro   r+   ry   r+   r+   r,   rt   f  ru   c                 S   rn   ro   r+   ry   r+   r+   r,   rt   g  ru   c                 S   rn   ro   r+   )rr   ÚaÚbr+   r+   r,   rt   h  ru   c                 S   rn   ro   r+   ©rr   r“   r”   r+   r+   r,   rt   i  ru   c                 S   rn   ro   r+   r  r+   r+   r,   rt   j  ru   c                 S   rn   ro   r+   ©rr   rë   r   Únormr+   r+   r,   rt   k  ru   c                 S   rn   ro   r+   r  r+   r+   r,   rt   l  ru   c                 S   rn   ro   r+   r  r+   r+   r,   rt   m  ru   c                 S   rn   ro   r+   r  r+   r+   r,   rt   n  ru   c                 S   rn   ro   r+   r  r+   r+   r,   rt   o  ru   ©rñ   rp   c                 S   rn   ro   r+   ©rr   Úsr   r  r+   r+   r,   rt   p  ru   c                 S   rn   ro   r+   r  r+   r+   r,   rt   q  ru   c                 S   rn   ro   r+   r  r+   r+   r,   rt   r  ru   c                 S   rn   ro   r+   r  r+   r+   r,   rt   s  ru   c                 S   rn   ro   r+   r  r+   r+   r,   rt   t  ru   c                 S   rn   ro   r+   r  r+   r+   r,   rt   u  ru   c                 S   rn   ro   r+   r  r+   r+   r,   rt   v  ru   c                 S   rn   ro   r+   r  r+   r+   r,   rt   w  ru   c                 S   rn   ro   r+   r  r+   r+   r,   rt   x  ru   c                 S   rn   ro   r+   r  r+   r+   r,   rt   y  ru   c                 S   rn   ro   r+   r  r+   r+   r,   rt   z  ru   c                 S   rn   ro   r+   r  r+   r+   r,   rt   {  ru   c                 S   rn   ro   r+   rŒ   r+   r+   r,   rt   |  ru   c                 S   rn   ro   r+   rŒ   r+   r+   r,   rt   }  ru   c                 S   rn   ro   r+   r  r+   r+   r,   rt   ~  ru   c                 S   rn   ro   r+   rq   r+   r+   r,   rt     ru   c                 S   rn   ro   r+   )rr   Z	start_dimZend_dimr+   r+   r,   rt   €  ru   c                 S   rn   ro   r+   ©rr   Údimsr+   r+   r,   rt     ru   c                 S   rn   ro   r+   ry   r+   r+   r,   rt   ‚  ru   c                 S   rn   ro   r+   ry   r+   r+   r,   rt   ƒ  ru   c                 S   rn   ro   r+   r–   r+   r+   r,   rt   „  ru   c                 S   rn   ro   r+   rq   r+   r+   r,   rt   …  ru   c                 S   rn   ro   r+   r  r+   r+   r,   rt   †  ru   c                 S   rn   ro   r+   ©rr   Úexponentrs   r+   r+   r,   rt   ‡  ru   c                 S   rn   ro   r+   rz   r+   r+   r,   rt   ˆ  ru   c                 S   rn   ro   r+   rq   r+   r+   r,   rt   ‰  ru   c                 S   rn   ro   r+   rq   r+   r+   r,   rt   Š  ru   c                 S   rn   ro   r+   )rr   Ú
fill_valuers   r8   r;   r7   r  r+   r+   r,   rt   ‹  ru   c                 S   rn   ro   r+   )rr   r˜   Z	dep_tokenr+   r+   r,   rt   Œ  ru   c                 S   rn   ro   r+   )ÚLU_dataÚ	LU_pivotsZunpack_dataZunpack_pivotsr+   r+   r,   rt     ru   c                 S   rn   ro   r+   )rr   r   Úindexrs   Zsparse_gradr+   r+   r,   rt   Ž  ru   c                 S   rn   ro   r+   rz   r+   r+   r,   rt     ru   c                 S   rn   ro   r+   rz   r+   r+   r,   rt     ru   c                 S   rn   ro   r+   ry   r+   r+   r,   rt   ‘  ru   c                 S   rn   ro   r+   rz   r+   r+   r,   rt   ’  ru   c                 S   rn   ro   r+   rq   r+   r+   r,   rt   “  ru   c                 S   rn   ro   r+   rq   r+   r+   r,   rt   ”  ru   c                 S   rn   ro   r+   rz   r+   r+   r,   rt   •  ru   c                 S   rn   ro   r+   ©rr   r‡   rs   r+   r+   r,   rt   –  ru   c                 S   rn   ro   r+   r  r+   r+   r,   rt   —  ru   c                 S   rn   ro   r+   )rr   Úspacingr   Z
edge_orderr+   r+   r,   rt   ˜  ru   c                 S   rn   ro   r+   ©rr   ÚgridZinterpolation_modeÚpadding_moder‹   r+   r+   r,   rt   ™  ru   c                 S   rn   ro   r+   r!  r+   r+   r,   rt   š  ru   c                 S   rn   ro   r+   r!  r+   r+   r,   rt   ›  ru   c                 S   rn   ro   r+   )rr   Ú
num_groupsrŸ   r    r¥   r¦   r+   r+   r,   rt   œ  ru   c	           	      S   rn   ro   r+   ©	rr   ÚhxÚparamsÚ
has_biasesÚ
num_layersÚdropoutr”   ÚbidirectionalÚbatch_firstr+   r+   r,   rt     ru   c                 S   rn   ro   r+   ©rr   r&  Úw_ihÚw_hhÚb_ihÚb_hhr+   r+   r,   rt   ž  ru   c                 S   rn   ro   r+   rz   r+   r+   r,   rt   Ÿ  ru   c                 S   rn   ro   r+   rz   r+   r+   r,   rt      ru   ç      à?c                 S   rn   ro   r+   ©rr   Úlambdr+   r+   r,   rt   ¡  ru   c                 S   rn   ro   r+   )rr   Úvaluesrs   r+   r+   r,   rt   ¢  ru   c                 S   rn   ro   r+   ©rr   r²   rÞ   r³   r´   rµ   r+   r+   r,   rt   £  ru   éd   c                 S   rn   ro   r+   )rr   ÚbinsrÎ   rÏ   rs   r+   r+   r,   rt   ¤  ru   c                 S   rn   ro   r+   )rr   r8  rÎ   rÏ   rŸ   Údensityrs   r+   r+   r,   rt   ¥  ru   c                 S   rn   ro   r+   )rr   r8  rF   rŸ   r9  r+   r+   r,   rt   ¦  ru   c                 S   rn   ro   r+   ©rr   Útaur+   r+   r,   rt   §  ru   c                 S   rn   ro   r+   )rƒ   r„   rs   r+   r+   r,   rt   ¨  ru   c                 S   rn   ro   r+   rö   r+   r+   r,   rt   ©  ru   c                 S   rn   ro   r+   rÐ   r+   r+   r,   rt   ª  ru   c                 S   rn   ro   r+   rz   r+   r+   r,   rt   «  ru   c                 S   rn   ro   r+   rz   r+   r+   r,   rt   ¬  ru   c                 S   rn   ro   r+   rz   r+   r+   r,   rt   ­  ru   c                 S   rn   ro   r+   rq   r+   r+   r,   rt   ®  ru   c                 S   rn   ro   r+   ©rr   r   r  Úsourcer+   r+   r,   rt   ¯  ru   c                 S   rn   ro   r+   r<  r+   r+   r,   rt   °  ru   c                 S   rn   ro   r+   )rr   Úindicesr5  Ú
accumulater+   r+   r,   rt   ±  ru   c                 S   rn   ro   r+   )rr   r   r  rs   r+   r+   r,   rt   ²  ru   c                 S   rn   ro   r+   )rr   r   r  r   r+   r+   r,   rt   ³  ru   c                 S   rn   ro   r+   )rr   r   r  r=  r´   Zinclude_inputr+   r+   r,   rt   ´  ru   c                 S   rn   ro   r+   ©r6   r+   r+   r,   rt   µ  ru   c                 S   rn   ro   r+   )ÚeÚteZassume_uniqueÚinvertr+   r+   r,   rt   ¶  ru   c                 S   rn   ro   r+   r@  r+   r+   r,   rt   ·  ru   c                 S   rn   ro   r+   r@  r+   r+   r,   rt   ¸  ru   c                 S   rn   ro   r+   rq   r+   r+   r,   rt   ¹  ru   c                 S   rn   ro   r+   rq   r+   r+   r,   rt   º  ru   c	           	      S   rn   ro   r+   )	rr   r¡   r¢   rŸ   r    Úuse_input_statsr¤   r¥   r¦   r+   r+   r,   rt   ¼  ru   c                 S   rn   ro   r+   ry   r+   r+   r,   rt   ¾  ru   c                 S   rn   ro   r+   rq   r+   r+   r,   rt   ¿  ru   c                 S   rn   ro   r+   rq   r+   r+   r,   rt   À  ru   c                 S   rn   ro   r+   rÇ   r+   r+   r,   rt   Á  ru   c                 S   rn   ro   r+   ry   r+   r+   r,   rt   Â  ru   c                 S   rn   ro   r+   ry   r+   r+   r,   rt   Ã  ru   c                 S   rn   ro   r+   ry   r+   r+   r,   rt   Ä  ru   c                 S   rn   ro   r+   ry   r+   r+   r,   rt   Å  ru   c                 S   rn   ro   r+   ry   r+   r+   r,   rt   Æ  ru   c                 S   rn   ro   r+   ry   r+   r+   r,   rt   Ç  ru   c                 S   rn   ro   r+   ry   r+   r+   r,   rt   È  ru   c                 S   rn   ro   r+   r  r+   r+   r,   rt   É  ru   c                 S   rn   ro   r+   ry   r+   r+   r,   rt   Ê  ru   c                 S   rn   ro   r+   )rr   r{   Zrtolr   r‘   r+   r+   r,   rt   Ë  ru   c                 S   rn   ro   r+   ry   r+   r+   r,   rt   Ì  ru   c
           
      S   rn   ro   r+   )
rr   Ún_fftÚ
hop_lengthÚ
win_lengthÚwindowÚcenterÚ
normalizedÚonesidedÚlengthÚreturn_complexr+   r+   r,   rt   Î  ru   c                 S   rn   ro   r+   ©rr   r²   r³   r´   rµ   Z
log_targetr+   r+   r,   rt   Ð  ru   c                 S   rn   ro   r+   r  r+   r+   r,   rt   Ñ  ru   c                 S   rn   ro   r+   )rr   Úkr   r—   rs   r+   r+   r,   rt   Ò  ru   c                 S   rn   ro   r+   )rr   Ú	hermitianrÈ   rs   r+   r+   r,   rt   Ó  ru   c                 S   rn   ro   r+   )rr   rP  rs   r+   r+   r,   rt   Ô  ru   c                 S   rn   ro   r+   )ZLDÚpivotsÚBrP  rs   r+   r+   r,   rt   Õ  ru   c                 S   rn   ro   r+   )rr   Únormalized_shaperŸ   r    Zespr¦   r+   r+   r,   rt   Ö  ru   c                 S   rn   ro   r+   rz   r+   r+   r,   rt   ×  ru   c                 S   rn   ro   r+   rz   r+   r+   r,   rt   Ø  ru   c                 S   rn   ro   r+   rz   r+   r+   r,   rt   Ù  ru   c                 S   rn   ro   r+   rz   r+   r+   r,   rt   Ú  ru   c                 S   rn   ro   r+   )rr   ÚendrŸ   rs   r+   r+   r,   rt   Û  ru   c                 S   rn   ro   r+   rq   r+   r+   r,   rt   Ü  ru   c                 S   rn   ro   r+   )rr   rO  rR  ÚXrë   ZiKÚniterÚtolZlargestÚmethodÚtrackerZortho_iparamsZortho_fparamsZortho_bparamsr+   r+   r,   rt   Ý  ru   c                 S   rn   ro   r+   rq   r+   r+   r,   rt   Þ  ru   c                 S   rn   ro   r+   ©rr   r   r8   r+   r+   r,   rt   ß  ru   c                 S   rn   ro   r+   rq   r+   r+   r,   rt   à  ru   c                 S   rn   ro   r+   rq   r+   r+   r,   rt   á  ru   c                 S   rn   ro   r+   rq   r+   r+   r,   rt   â  ru   c                 S   rn   ro   r+   rz   r+   r+   r,   rt   ã  ru   c                 S   rn   ro   r+   rz   r+   r+   r,   rt   ä  ru   c                 S   rn   ro   r+   ry   r+   r+   r,   rt   å  ru   c                 S   rn   ro   r+   )rç   ræ   rs   r+   r+   r,   rt   æ  ru   c                 S   rn   ro   r+   rz   r+   r+   r,   rt   ç  ru   c                 S   rn   ro   r+   rq   r+   r+   r,   rt   è  ru   c                 S   rn   ro   r+   rz   r+   r+   r,   rt   é  ru   c                 S   rn   ro   r+   rz   r+   r+   r,   rt   ê  ru   c                 S   rn   ro   r+   r¬   r+   r+   r,   rt   ë  ru   c                 S   rn   ro   r+   )rr   Únamesr—   rs   r+   r+   r,   rt   ì  ru   c	           	      S   rn   ro   r+   )	ÚdataÚbatch_sizesr&  r'  r(  r)  r*  r”   r+  r+   r+   r,   rt   í  ru   c                 S   rn   ro   r+   r-  r+   r+   r,   rt   î  ru   c                 S   rn   ro   r+   rz   r+   r+   r,   rt   ï  ru   c                 S   rn   ro   r+   rz   r+   r+   r,   rt   ð  ru   c                 S   rn   ro   r+   )ÚAÚpivotÚ	get_infosrs   r+   r+   r,   rt   ñ  ru   c                 S   rn   ro   r+   )r  r  r  rs   r+   r+   r,   rt   ò  ru   c                 S   rn   ro   r+   rÝ   r+   r+   r,   rt   ó  ru   c                 S   rn   ro   r+   )rr   Úmaskr   r+   r+   r,   rt   ô  ru   c                 S   rn   ro   r+   )rr   ra  r=  r+   r+   r,   rt   õ  ru   c                 S   rn   ro   r+   )rr   ra  rs   r+   r+   r,   rt   ö  ru   c                 S   rn   ro   r+   rz   r+   r+   r,   rt   ÷  ru   c                 S   rn   ro   r+   ©rr   r_  rs   r+   r+   r,   rt   ø  ru   c                 S   rn   ro   r+   rb  r+   r+   r,   rt   ù  ru   c                 S   rn   ro   r+   )rr   r_  rÈ   rs   r+   r+   r,   rt   ú  ru   c                 S   rn   ro   r+   )ZLUrQ  rR  ÚleftÚadjointrs   r+   r+   r,   rt   û  ru   c                 S   rn   ro   r+   rz   r+   r+   r,   rt   ü  ru   c                 S   rn   ro   r+   )rr   rë   r+   r+   r,   rt   ý  ru   c                 S   rn   ro   r+   ©rr   rë   rs   r+   r+   r,   rt   þ  ru   c                 S   rn   ro   r+   )rr   rW  rP  r+   r+   r,   rt   ÿ  ru   c                 S   rn   ro   r+   rÐ   r+   r+   r,   rt      ru   c                 S   rn   ro   r+   ry   r+   r+   r,   rt     ru   c                 S   rn   ro   r+   ry   r+   r+   r,   rt     ru   c                 S   rn   ro   r+   rq   r+   r+   r,   rt     ru   c                 S   rn   ro   r+   rz   r+   r+   r,   rt     ru   c                 S   rn   ro   r+   rz   r+   r+   r,   rt     ru   c                 S   rn   ro   r+   ©rr   r›   rf   rœ   rÚ   r   r+   r+   r,   rt     ru   c                 S   rn   ro   r+   rf  r+   r+   r,   rt     ru   c                 S   rn   ro   r+   rf  r+   r+   r,   rt     ru   c                 S   rn   ro   r+   ©rr   r›   rf   rœ   rÚ   Úreturn_indicesr   r+   r+   r,   rt   
  ru   c                 S   rn   ro   r+   rŒ   r+   r+   r,   rt     ru   c                 S   rn   ro   r+   )rr   r   r—   r8   rs   r+   r+   r,   rt     ru   c                 S   rn   ro   r+   rŒ   r+   r+   r,   rt     ru   c                 S   rn   ro   r+   rŒ   r+   r+   r,   rt     ru   c                  _   rn   ro   r+   )rš   r)   r+   r+   r,   rt     ru   c                 S   rn   ro   r+   rq   r+   r+   r,   rt     ru   c                 S   rn   ro   r+   rz   r+   r+   r,   rt     ru   c                 S   rn   ro   r+   rz   r+   r+   r,   rt     ru   c                 S   rn   ro   r+   )rr   rŸ   r    r¡   r¢   r£   Zexponential_average_factorÚepsilonr+   r+   r,   rt     ru   c	           	      S   rn   ro   r+   ©	rr   rŸ   r    rœ   rf   rÚ   rÄ   Ú	benchmarkÚdeterministicr+   r+   r,   rt     ru   c	           	      S   rn   ro   r+   )	rr   rŸ   Úzr~   r    rf   rœ   rÚ   rÄ   r+   r+   r,   rt     ru   c                 S   rn   ro   r+   rÙ   r+   r+   r,   rt     ru   c
           
      S   rn   ro   r+   )
rr   rŸ   r    rœ   rÜ   rf   rÚ   rÄ   rk  rl  r+   r+   r,   rt     ru   c	           	      S   rn   ro   r+   rj  r+   r+   r,   rt     ru   c                 S   rn   ro   r+   )rr   rŸ   Zweight_stride0r&  Zcxr   Zhidden_sizer)  r,  r*  r”   r+  r]  Zdropout_stater+   r+   r,   rt   !  ru   c                 S   rn   ro   r+   r·   r+   r+   r,   rt   #  ru   c                 S   rn   ro   r+   r–   r+   r+   r,   rt   $  ru   c                 S   rn   ro   r+   ©rr   r=  Údestinationr+   r+   r,   rt   %  ru   c                 S   rn   ro   r+   rn  r+   r+   r,   rt   &  ru   c                 S   rn   ro   r+   )rr   Ú
descendingrs   r+   r+   r,   rt   '  ru   c                 S   rn   ro   r+   rz   r+   r+   r,   rt   (  ru   c                 S   rn   ro   r+   rz   r+   r+   r,   rt   )  ru   c                 S   rn   ro   r+   )rr   Znum_samplesÚreplacementrs   r+   r+   r,   rt   *  ru   c                 S   rn   ro   r+   )rr   r†   rs   r+   r+   r,   rt   +  ru   c                 S   rn   ro   r+   ©rr   r“   r+   r+   r,   rt   ,  ru   c                 S   rn   ro   r+   )rr   r   ÚstartrL  r+   r+   r,   rt   -  ru   ç        c                 S   rn   ro   r+   )rr   ÚnanZposinfZneginfrs   r+   r+   r,   rt   .  ru   c                 S   rn   ro   r+   )rr   rŸ   r    r¡   r¢   r£   r¤   r¥   r+   r+   r,   rt   /  ru   c                 S   rn   ro   r+   )rr   rŸ   r    r£   r¤   r¥   r+   r+   r,   rt   0  ru   c                 S   rn   ro   r+   r  r+   r+   r,   rt   1  ru   c                 S   rn   ro   r+   ©rr   rS  rŸ   r    r¥   r+   r+   r,   rt   2  ru   c                 S   rn   ro   r+   )rr   rŸ   r    ÚNÚCZHxWÚgroupr¥   r+   r+   r,   rt   3  ru   c                 S   rn   ro   r+   )rr   r“   r   r—   r8   r+   r+   r,   rt   4  ru   c                 S   rn   ro   r+   rÃ   r+   r+   r,   rt   5  ru   c                 S   rn   ro   r+   rz   r+   r+   r,   rt   6  ru   c                 S   rn   ro   r+   rz   r+   r+   r,   rt   7  ru   c                 S   rn   ro   r+   rq   r+   r+   r,   rt   8  ru   c                 S   rn   ro   r+   rq   r+   r+   r,   rt   9  ru   c                 S   rn   ro   r+   rz   r+   r+   r,   rt   :  ru   c                 S   rn   ro   r+   rv   r+   r+   r,   rt   ;  ru   c                 S   rn   ro   r+   rv   r+   r+   r,   rt   <  ru   c                 S   rn   ro   r+   ©rr   rw   rh  r+   r+   r,   rt   =  ru   c                 S   rn   ro   r+   rz  r+   r+   r,   rt   >  ru   c                 S   rn   ro   r+   rz  r+   r+   r,   rt   ?  ru   c                 S   rn   ro   r+   rz  r+   r+   r,   rt   @  ru   c                 S   rn   ro   r+   rz  r+   r+   r,   rt   A  ru   c                 S   rn   ro   r+   rz  r+   r+   r,   rt   B  ru   c                 S   rn   ro   r+   rˆ   r+   r+   r,   rt   C  ru   c                 S   rn   ro   r+   ©rr   r“   r£   r•   r+   r+   r,   rt   D  ru   c                 S   rn   ro   r+   ©rr   r›   rf   rœ   r   rž   Zdivisor_overrider+   r+   r,   rt   F  ru   c                 S   rn   ro   r+   r|  r+   r+   r,   rt   I  ru   çš™™™™™¹?c                 S   rn   ro   r+   )rr   r¡   r¢   rŸ   r    r£   r¤   r¥   r+   r+   r,   rt   L  ru   c                 S   rn   ro   r+   r®   r+   r+   r,   rt   N  ru   c                 S   rn   ro   r+   ©rr   r²   rŸ   r³   r´   rµ   r+   r+   r,   rt   P  ru   c                 S   rn   ro   r+   r±   r+   r+   r,   rt   S  ru   c                 S   rn   ro   r+   rÂ   r+   r+   r,   rt   U  ru   c                 S   rn   ro   r+   rÝ   r+   r+   r,   rt   W  ru   éœÿÿÿc                 S   rn   ro   r+   )rr   r²   rŸ   r³   Úignore_indexr´   rµ   Zlabel_smoothingr+   r+   r,   rt   Z  ru   c                 S   rn   ro   r+   rà   r+   r+   r,   rt   ]  ru   c                 S   rn   ro   r+   r{  r+   r+   r,   rt   _  ru   c                 S   rn   ro   r+   r{  r+   r+   r,   rt   `  ru   c                 S   rn   ro   r+   r{  r+   r+   r,   rt   a  ru   c                 S   rn   ro   r+   r{  r+   r+   r,   rt   b  ru   c                 S   rn   ro   r+   rÂ   r+   r+   r,   rt   c  ru   c                 S   rn   ro   r+   rú   r+   r+   r,   rt   e  ru   c                 S   rn   ro   r+   )rr   rŸ   rÿ   rü   rý   rþ   r   rR   r  Zinclude_last_offsetrû   r+   r+   r,   rt   h  ru   c                 S   rn   ro   r+   r{  r+   r+   r,   rt   j  ru   c                 S   rn   ro   r+   )rr   rw   r›   rÚ   rœ   rf   r+   r+   r,   rt   k  ru   c                 S   rn   ro   r+   ©rr   r›   rw   Zoutput_ratiorh  Z_random_samplesr+   r+   r,   rt   m  ru   c                 S   rn   ro   r+   r  r+   r+   r,   rt   p  ru   c                 S   rn   ro   r+   r  r+   r+   r,   rt   s  ru   c                 S   rn   ro   r+   r  r+   r+   r,   rt   v  ru   çíµ ÷Æ°>c                 S   rn   ro   r+   )rr   r²   ÚvarrB   r¥   rµ   r+   r+   r,   rt   x  ru   Únonec                 S   rn   ro   r+   )rr   Zapproximater+   r+   r,   rt   y  ru   c                 S   rn   ro   r+   rŒ   r+   r+   r,   rt   z  ru   ÚbilinearrH   c                 S   rn   ro   r+   )rr   r"  r   r#  r‹   r+   r+   r,   rt   {  ru   c                 S   rn   ro   r+   )rr   r$  rŸ   r    r¥   r+   r+   r,   rt   |  ru   ç»½×Ùß|Û=c                 S   rn   ro   r+   )Zlogitsr;  Zhardr¥   r   r+   r+   r,   rt   }  ru   c                 S   rn   ro   r+   r3  r+   r+   r,   rt   ~  ru   ç      ð¿c                 S   rn   ro   r+   )rr   Zmin_valZmax_valr•   r+   r+   r,   rt     ru   c                 S   rn   ro   r+   r6  r+   r+   r,   rt     ru   c                 S   rn   ro   r+   )rr   r¡   r¢   rŸ   r    rD  r¤   r¥   r+   r+   r,   rt   „  ru   Únearestc                 S   rn   ro   r+   )rr   rŠ   Zscale_factorr   r‹   Zrecompute_scale_factorZ	antialiasr+   r+   r,   rt   ‡  ru   c                 S   rn   ro   r+   rN  r+   r+   r,   rt   ‰  ru   c                 S   rn   ro   r+   ©rr   r²   r³   r´   rµ   rŸ   r+   r+   r,   rt   Š  ru   c                 S   rn   ro   r+   rv  r+   r+   r,   rt   ‹  ru   ç{®Gáz„?c                 S   rn   ro   r+   )rr   Znegative_sloper•   r+   r+   r,   rt   Œ  ru   c                 S   rn   ro   r+   )rr   rŸ   r    r+   r+   r,   rt     ru   ç-Cëâ6?ç      è?c                 S   rn   ro   r+   )rr   rŠ   r~   r   rO  r+   r+   r,   rt   Ž  ru   é   c                 S   rn   ro   r+   ©rr   r   Z_stacklevelr8   r+   r+   r,   rt     ru   c                 S   rn   ro   r+   ry   r+   r+   r,   rt     ru   c                 S   rn   ro   r+   ©rr   rý   r›   rf   r   r+   r+   r,   rt   ‘  ru   c                 S   rn   ro   r+   r  r+   r+   r,   rt   ’  ru   c                 S   rn   ro   r+   r  r+   r+   r,   rt   “  ru   c                 S   rn   ro   r+   rÝ   r+   r+   r,   rt   •  ru   c                 S   rn   ro   r+   ©rr   r›   rf   rœ   rÚ   r   rh  r+   r+   r,   rt   ˜  ru   c                 S   rn   ro   r+   rg  r+   r+   r,   rt   ›  ru   c                 S   rn   ro   r+   r  r+   r+   r,   rt   ž  ru   c                 S   rn   ro   r+   rg  r+   r+   r,   rt   ¡  ru   c                 S   rn   ro   r+   rg  r+   r+   r,   rt   ¤  ru   c                 S   rn   ro   r+   rg  r+   r+   r,   rt   §  ru   c                 S   rn   ro   r+   ©rr   r>  r›   rf   rœ   rw   r+   r+   r,   rt   ©  ru   c                 S   rn   ro   r+   r‘  r+   r+   r,   rt   ª  ru   c                 S   rn   ro   r+   r‘  r+   r+   r,   rt   «  ru   c                 S   rn   ro   r+   r‰  r+   r+   r,   rt   ¬  ru   c                 S   rn   ro   r+   )ÚqueryÚkeyr   Zembed_dim_to_checkZ	num_headsZin_proj_weightZin_proj_biasZbias_kZbias_vZadd_zero_attnÚ	dropout_pZout_proj_weightZout_proj_biasr£   Zkey_padding_maskZneed_weightsÚ	attn_maskZuse_separate_proj_weightZq_proj_weightZk_proj_weightZv_proj_weightZstatic_kZstatic_vZaverage_attn_weightsZ	is_causalr+   r+   r,   rt   ®  ru   c                 S   rn   ro   r+   )rr   r²   r“   rÞ   rŸ   r³   r´   rµ   r+   r+   r,   rt   ±  ru   c                 S   rn   ro   r+   ©rr   r²   r³   r´   rµ   r+   r+   r,   rt   ´  ru   c                 S   rn   ro   r+   r~  r+   r+   r,   rt   ·  ru   c                 S   rn   ro   r+   )rr   r²   rŸ   r³   r€  r´   rµ   r+   r+   r,   rt   º  ru   çê-™—q=c                 S   rn   ro   r+   )rr   r“   r   r¥   rs   r+   r+   r,   rt   ¼  ru   c                 S   rn   ro   r+   )r6   Znum_classesr+   r+   r,   rt   ½  ru   rQ   c                 S   rn   ro   r+   )rr   rØ   r   r   r+   r+   r,   rt   ¾  ru   c                 S   rn   ro   r+   ©r¿   rÀ   r“   r¥   r—   r+   r+   r,   rt   ¿  ru   c                 S   rn   ro   r+   )rr   r²   Ú	log_inputrB   r³   r¥   r´   rµ   r+   r+   r,   rt   Á  ru   c                 S   rn   ro   r+   ©rr   rŸ   r+   r+   r,   rt   Ã  ru   c                 S   rn   ro   r+   ©rr   r•   r+   r+   r,   rt   Ä  ru   c                 S   rn   ro   r+   r›  r+   r+   r,   rt   Å  ru   c                 S   rn   ro   r+   ©rr   rS  rŸ   r¥   r+   r+   r,   rt   Æ  ru   ç      À?çUUUUUUÕ?c                 S   rn   ro   r+   ©rr   ÚlowerrÆ   r£   r•   r+   r+   r,   rt   Ç  ru   c                 S   rn   ro   r+   r›  r+   r+   r,   rt   È  ru   c                 S   rn   ro   r+   r›  r+   r+   r,   rt   É  ru   c                 S   rn   ro   r+   r›  r+   r+   r,   rt   Ê  ru   c                 S   rn   ro   r+   )r’  r“  r   r•  r”  r+   r+   r,   rt   Ë  ru   c                 S   rn   ro   r+   )rr   r²   r³   r´   rµ   r   r+   r+   r,   rt   Ì  ru   c                 S   rn   ro   r+   )rr   r²   rµ   ÚdeltarŸ   r+   r+   r,   rt   Í  ru   c                 S   rn   ro   r+   r–  r+   r+   r,   rt   Î  ru   c                 S   rn   ro   r+   rŽ  r+   r+   r,   rt   Ï  ru   c                 S   rn   ro   r+   rŽ  r+   r+   r,   rt   Ð  ru   é   c                 S   rn   ro   r+   )rr   r   Ú	thresholdr+   r+   r,   rt   Ñ  ru   c                 S   rn   ro   r+   r3  r+   r+   r,   rt   Ò  ru   c                 S   rn   ro   r+   ry   r+   r+   r,   rt   Ó  ru   c                 S   rn   ro   r+   ry   r+   r+   r,   rt   Ô  ru   c                 S   rn   ro   r+   ©rr   r£  r   r•   r+   r+   r,   rt   Õ  ru   c
           
      S   rn   ro   r+   ©
ÚanchorÚpositiveÚnegativerÞ   r“   r¥   Úswapr³   r´   rµ   r+   r+   r,   rt   ×  ru   )Údistance_functionrÞ   r©  rµ   c                S   rn   ro   r+   )r¦  r§  r¨  rª  rÞ   r©  rµ   r+   r+   r,   rt   Ú  ru   c                 S   rn   ro   r+   )rr   r›   rÚ   rœ   rf   r+   r+   r,   rt   Ü  ru   c                 S   rn   ro   r+   )r6   r  r  r­   r+   r+   r,   rt   Ý  ru   c                 S   rn   ro   r+   )r6   r¨   Ústdr­   r+   r+   r,   rt   Þ  ru   c                 S   rn   ro   r+   )r6   Úvalr+   r+   r,   rt   ß  ru   Úfan_inÚ
leaky_reluc                 S   rn   ro   r+   )r6   r  r   Znonlinearityr­   r+   r+   r,   rt   à  ru   c                 S   rn   ro   r+   )rr   Úas_tupler+   r+   r,   rt   á  ru   )r  c                S   rn   ro   r+   )rr   rŠ   r  r+   r+   r,   rt   â  ru   c                 S   rn   ro   r+   ry   r+   r+   r,   rt   ã  ru   Úfroc                 S   rn   ro   r+   ©rr   r“   r   r—   rs   r8   r+   r+   r,   rt   ä  ru   c                 S   rn   ro   r+   ©rr   r×   r   r—   rs   r8   r+   r+   r,   rt   å  ru   c                 S   rn   ro   r+   r²  r+   r+   r,   rt   æ  ru   c                 S   rn   ro   r+   r²  r+   r+   r,   rt   ç  ó   c                 S   rn   ro   r+   )ÚvÚpowr   r+   r+   r,   rt   ë  ru   c                 S   rn   ro   r+   r±  r+   r+   r,   rt   ì  ru   c                 S   rn   ro   r+   ry   r+   r+   r,   rt   í  ru   c                 S   rn   ro   r+   r:  r+   r+   r,   rt   î  ru   c                 S   rn   ro   r+   )rr   r°   Zinput3rc  Ú	transposer+   r+   r,   rt   ï  ru   c                 S   rn   ro   r+   r˜  r+   r+   r,   rt   ð  ru   c                 S   rn   ro   r+   ©r¹   r   r+   r+   r,   rt   ñ  ru   c                 S   rn   ro   r+   )rr   ÚqrI  rV  r+   r+   r,   rt   ò  ru   c                 S   rn   ro   r+   rr  r+   r+   r,   rt   ó  ru   çVçž¯Ò<c                 S   rn   ro   r+   )rr   Úrcondr+   r+   r,   rt   ô  ru   c                 S   rn   ro   r+   )rr   rº  rP  r+   r+   r,   rt   õ  ru   c                 S   rn   ro   r+   )rr   Zupscale_factorr+   r+   r,   rt   ö  ru   c                 S   rn   ro   r+   )rr   Zdownscale_factorr+   r+   r,   rt   ÷  ru   c                 S   rn   ro   r+   )rr   r­   r+   r+   r,   rt   ø  ru   c                 S   rn   ro   r+   )rr   r²   r™  rB   r¥   rµ   r+   r+   r,   rt   ù  ru   c                 S   rn   ro   r+   re  r+   r+   r,   rt   ú  ru   c                 S   rn   ro   r+   rq   r+   r+   r,   rt   û  ru   c                 S   rn   ro   r+   rš  r+   r+   r,   rt   ü  ru   c                 S   rn   ro   r+   r  r+   r+   r,   rt   ý  ru   c                 S   rn   ro   r+   r  r+   r+   r,   rt   þ  ru   c                 S   rn   ro   r+   )rr   r8   r+   r+   r,   rt   ÿ  ru   c                 S   rn   ro   r+   )rr   r  r=  r?  r+   r+   r,   rt      ru   c                 S   rn   ro   r+   ry   r+   r+   r,   rt     ru   c                 S   rn   ro   r+   ry   r+   r+   r,   rt     ru   c                 S   rn   ro   r+   ry   r+   r+   r,   rt     ru   c                 S   rn   ro   r+   ry   r+   r+   r,   rt     ru   c                 S   rn   ro   r+   ry   r+   r+   r,   rt     ru   c                 S   rn   ro   r+   )rr   Úsomers   r+   r+   r,   rt     ru   Úreducedc                 S   rn   ro   r+   )rr   r   rs   r+   r+   r,   rt     ru   Úlinearc                 S   rn   ro   r+   ©rr   r¸  r   r—   Úinterpolationrs   r+   r+   r,   rt     ru   c                 S   rn   ro   r+   r¾  r+   r+   r,   rt   	  ru   c                 S   rn   ro   r+   )rr   ÚscalesZzero_pointsr  r8   r+   r+   r,   rt   
  ru   c                 S   rn   ro   r+   )rr   r  r  r8   r+   r+   r,   rt     ru   c                 S   rn   ro   r+   )rr   r8   Zreduce_ranger+   r+   r,   rt     ru   c                 S   rn   ro   r+   )rr   rŸ   r    r¨   rƒ  r¥   Zoutput_scaleZoutput_zero_pointr+   r+   r,   rt     ru   c                 S   rn   ro   r+   ©rr   r&  r.  r/  r0  r1  Z	packed_ihZ	packed_hhZcol_offsets_ihZcol_offsets_hhZscale_ihZscale_hhZzero_point_ihZzero_point_hhr+   r+   r,   rt     ru   c                 S   rn   ro   r+   rÁ  r+   r+   r,   rt     ru   r+   ©r   ©r|   c                 S   rn   ro   r+   rf  r+   r+   r,   rt     s   ©r   r   ©r|   r|   c                 S   rn   ro   r+   rf  r+   r+   r,   rt     r³  ©r   r   r   ©r|   r|   r|   c                 S   rn   ro   r+   rf  r+   r+   r,   rt      s   c                 S   rn   ro   r+   rÁ  r+   r+   r,   rt   '  ru   c                 S   rn   ro   r+   rÁ  r+   r+   r,   rt   *  ru   c                 S   rn   ro   r+   rq   r+   r+   r,   rt   ,  ru   c                 S   rn   ro   r+   r  r+   r+   r,   rt   -  ru   c                 S   rn   ro   r+   )rr   Úhighr8   r;   r7   r  r+   r+   r,   rt   .  ru   c                 S   rn   ro   r+   r  r+   r+   r,   rt   /  ru   c                 S   rn   ro   r+   ry   r+   r+   r,   rt   0  ru   c                 S   rn   ro   r+   rq   r+   r+   r,   rt   1  ru   c                 S   rn   ro   r+   rz   r+   r+   r,   rt   2  ru   c                 S   rn   ro   r+   rß   r+   r+   r,   rt   3  ru   c                 S   rn   ro   r+   ry   r+   r+   r,   rt   4  ru   c                 S   rn   ro   r+   ry   r+   r+   r,   rt   5  ru   c                 S   rn   ro   r+   rq   r+   r+   r,   rt   6  ru   c                 S   rn   ro   r+   r›  r+   r+   r,   rt   7  ru   c                 S   rn   ro   r+   rz   r+   r+   r,   rt   8  ru   c                 S   rn   ro   r+   )rr   r“   r   Zmaxnormrs   r+   r+   r,   rt   9  ru   c                 S   rn   ro   r+   rŒ   r+   r+   r,   rt   :  ru   c                 S   rn   ro   r+   )rr   Úshaper+   r+   r,   rt   ;  ru   c                 S   rn   ro   r+   rœ  r+   r+   r,   rt   <  ru   c	           	      S   rn   ro   r+   r%  r+   r+   r,   rt   =  ru   c                 S   rn   ro   r+   r-  r+   r+   r,   rt   >  ru   c	           	      S   rn   ro   r+   r%  r+   r+   r,   rt   ?  ru   c                 S   rn   ro   r+   r-  r+   r+   r,   rt   @  ru   c                 S   rn   ro   r+   )rr   Zshiftsr  r+   r+   r,   rt   A  ru   ©r   r|   c                 S   rn   ro   r+   )rr   rO  r  r+   r+   r,   rt   B  ru   c                 S   rn   ro   r+   rq   r+   r+   r,   rt   C  ru   c                 S   rn   ro   r+   rÐ   r+   r+   r,   rt   D  ru   c                 S   rn   ro   r+   )rŸ   ra  Zcompressed_indices_dtyper+   r+   r,   rt   E  ru   c                 S   rn   ro   r+   rŸ  r+   r+   r,   rt   F  ru   c                 S   rn   ro   r+   rq   r+   r+   r,   rt   G  ru   c                 S   rn   ro   r+   )rr   r{   r~   r+   r+   r,   rt   H  ru   c                 S   rn   ro   r+   r‚   r+   r+   r,   rt   I  ru   c                 S   rn   ro   r+   ©rr   r   r  rò   r+   r+   r,   rt   J  ru   c                 S   rn   ro   r+   rË  r+   r+   r,   rt   K  ru   c                 S   rn   ro   r+   )rr   r   r  rò   r´   Zinclude_selfr+   r+   r,   rt   L  ru   c                 S   rn   ro   r+   )Zsorted_sequencerr   rº   r»   rs   r+   r+   r,   rt   M  ru   rÏ   c                 S   rn   ro   r+   )r\  r´   Úlengthsr>  rÿ   r  Úunsafer+   r+   r,   rt   N  ru   c                 S   rn   ro   r+   )rr   r   r  r+   r+   r,   rt   O  ru   c                 S   rn   ro   r+   )rr   rò   r   r  r+   r+   r,   rt   P  ru   c                 S   rn   ro   r+   ©rr   rò   r   rs  rT  Ústepr+   r+   r,   rt   Q  ru   c                 S   rn   ro   r+   rÎ  r+   r+   r,   rt   R  ru   c                 S   rn   ro   r+   r›  r+   r+   r,   rt   S  ru   c                 S   rn   ro   r+   rq   r+   r+   r,   rt   T  ru   c                 S   rn   ro   r+   rq   r+   r+   r,   rt   U  ru   c                 S   rn   ro   r+   rq   r+   r+   r,   rt   V  ru   c                 S   rn   ro   r+   rq   r+   r+   r,   rt   W  ru   c                 S   rn   ro   r+   rq   r+   r+   r,   rt   X  ru   c                 S   rn   ro   r+   rq   r+   r+   r,   rt   Y  ru   c                 S   rn   ro   r+   rq   r+   r+   r,   rt   Z  ru   c                 S   rn   ro   r+   ry   r+   r+   r,   rt   [  ru   c                 S   rn   ro   r+   ry   r+   r+   r,   rt   \  ru   c                 S   rn   ro   r+   rõ   r+   r+   r,   rt   ]  ru   c                 S   rn   ro   r+   rõ   r+   r+   r,   rt   ^  ru   c                 S   rn   ro   r+   rZ  r+   r+   r,   rt   _  ru   c                 S   rn   ro   r+   )r^  rR  rc  rs   r+   r+   r,   rt   `  ru   c                 S   rn   ro   r+   )r^  rR  rc  rÈ   rs   r+   r+   r,   rt   a  ru   )Ústablers   c                S   rn   ro   r+   )rr   r   rp  rÐ  rs   r+   r+   r,   rt   b  ru   c                 S   rn   ro   r+   ©r6   Zsplit_size_or_sectionsr   r+   r+   r,   rt   c  ru   c                 S   rn   ro   r+   rÑ  r+   r+   r,   rt   d  ru   c                 S   rn   ro   r+   rq   r+   r+   r,   rt   e  ru   c                 S   rn   ro   r+   rq   r+   r+   r,   rt   f  ru   c                 S   rn   ro   r+   rã   r+   r+   r,   rt   g  ru   c                 S   rn   ro   r+   r‚   r+   r+   r,   rt   h  ru   c                 S   rn   ro   r+   r¼   r+   r+   r,   rt   i  ru   c                 S   rn   ro   r+   rŒ   r+   r+   r,   rt   j  ru   c                 S   rn   ro   r+   rŒ   r+   r+   r,   rt   k  ru   Úreflectc                 S   rn   ro   r+   )rr   rE  rF  rG  rH  rI  Zpad_moderJ  rK  rM  Zalign_to_windowr+   r+   r,   rt   m  ru   c                 S   rn   ro   r+   rz   r+   r+   r,   rt   o  ru   c                 S   rn   ro   r+   rz   r+   r+   r,   rt   p  ru   c                 S   rn   ro   r+   rŒ   r+   r+   r,   rt   q  ru   c                 S   rn   ro   r+   ry   r+   r+   r,   rt   r  ru   c                 S   rn   ro   r+   ry   r+   r+   r,   rt   s  ru   c                 S   rn   ro   r+   ©r  r  r+   r+   r,   rt   t  ru   c                 S   rn   ro   r+   rÓ  r+   r+   r,   rt   u  ru   c                 S   rn   ro   r+   ry   r+   r+   r,   rt   v  ru   c                 S   rn   ro   r+   )r  r  Úcr+   r+   r,   rt   w  ru   c                 S   rn   ro   r+   )r(   r+   r+   r,   rt   x  ru   c                 S   rn   ro   r+   ry   r+   r+   r,   rt   y  ru   c                 S   rn   ro   r+   ry   r+   r+   r,   rt   z  ru   c                 S   rn   ro   r+   ry   r+   r+   r,   rt   {  ru   c                 S   rn   ro   r+   ry   r+   r+   r,   rt   |  ru   c                 S   rn   ro   r+   ry   r+   r+   r,   rt   }  ru   c                 S   rn   ro   r+   ry   r+   r+   r,   rt   ~  ru   c                 S   rn   ro   r+   ry   r+   r+   r,   rt     ru   c                 S   rn   ro   r+   ry   r+   r+   r,   rt   €  ru   c                 S   rn   ro   r+   ry   r+   r+   r,   rt     ru   c                 S   rn   ro   r+   ry   r+   r+   r,   rt   ‚  ru   c                 S   rn   ro   r+   rŒ   r+   r+   r,   rt   ƒ  ru   c                 S   rn   ro   r+   )rr   r»  Z
compute_uvrs   r+   r+   r,   rt   „  ru   é   c                 S   rn   ro   r+   )rr   r¸  rV  ÚMr+   r+   r,   rt   …  ru   c                 S   rn   ro   r+   )rr   Zfull_matricesrs   r+   r+   r,   rt   †  ru   c                 S   rn   ro   r+   rq   r+   r+   r,   rt   ‡  ru   c                 S   rn   ro   r+   ©rr   Údim0rï   r+   r+   r,   rt   ˆ  ru   c                 S   rn   ro   r+   )rr   Zaxis0Zaxis1r+   r+   r,   rt   ‰  ru   c                 S   rn   ro   r+   ry   r+   r+   r,   rt   Š  ru   c                 S   rn   ro   r+   ry   r+   r+   r,   rt   ‹  ru   c                 S   rn   ro   r+   ry   r+   r+   r,   rt   Œ  ru   c                 S   rn   ro   r+   ry   r+   r+   r,   rt     ru   c                 S   rn   ro   r+   ry   r+   r+   r,   rt   Ž  ru   c                 S   rn   ro   r+   re  r+   r+   r,   rt     ru   c                 S   rn   ro   r+   re  r+   r+   r,   rt     ru   c                 S   rn   ro   r+   re  r+   r+   r,   rt   ‘  ru   c                 S   rn   ro   r+   re  r+   r+   r,   rt   ’  ru   c                 S   rn   ro   r+   ry   r+   r+   r,   rt   “  ru   c                 S   rn   ro   r+   ry   r+   r+   r,   rt   ”  ru   c                 S   rn   ro   r+   ry   r+   r+   r,   rt   •  ru   c                 S   rn   ro   r+   ry   r+   r+   r,   rt   –  ru   c                 S   rn   ro   r+   ry   r+   r+   r,   rt   —  ru   c                 S   rn   ro   r+   ry   r+   r+   r,   rt   ˜  ru   c                 S   rn   ro   r+   ry   r+   r+   r,   rt   ™  ru   c                 S   rn   ro   r+   ry   r+   r+   r,   rt   š  ru   c                 S   rn   ro   r+   ry   r+   r+   r,   rt   ›  ru   c                 S   rn   ro   r+   rz   r+   r+   r,   rt   œ  ru   c                 S   rn   ro   r+   rz   r+   r+   r,   rt     ru   c                 S   rn   ro   r+   ry   r+   r+   r,   rt   ž  ru   c                 S   rn   ro   r+   re  r+   r+   r,   rt   Ÿ  ru   c                 S   rn   ro   r+   re  r+   r+   r,   rt      ru   c                 S   rn   ro   r+   ry   r+   r+   r,   rt   ¡  ru   c                 S   rn   ro   r+   ry   r+   r+   r,   rt   ¢  ru   c                 S   rn   ro   r+   ry   r+   r+   r,   rt   £  ru   c                 S   rn   ro   r+   ry   r+   r+   r,   rt   ¤  ru   c                 S   rn   ro   r+   re  r+   r+   r,   rt   ¥  ru   c                 S   rn   ro   r+   re  r+   r+   r,   rt   ¦  ru   c                 S   rn   ro   r+   ry   r+   r+   r,   rt   §  ru   c                 S   rn   ro   r+   ry   r+   r+   r,   rt   ¨  ru   c                 S   rn   ro   r+   rZ  r+   r+   r,   rt   ©  ru   c                 S   rn   ro   r+   ry   r+   r+   r,   rt   ª  ru   c                 S   rn   ro   r+   r–   r+   r+   r,   rt   «  ru   c                 S   rn   ro   r+   ry   r+   r+   r,   rt   ¬  ru   c                 S   rn   ro   r+   ry   r+   r+   r,   rt   ­  ru   c                 S   rn   ro   r+   ry   r+   r+   r,   rt   ®  ru   c                 S   rn   ro   r+   ry   r+   r+   r,   rt   ¯  ru   c                 S   rn   ro   r+   rr  r+   r+   r,   rt   °  ru   c                 S   rn   ro   r+   ry   r+   r+   r,   rt   ±  ru   c                 S   rn   ro   r+   ry   r+   r+   r,   rt   ²  ru   c                 S   rn   ro   r+   re  r+   r+   r,   rt   ³  ru   c                 S   rn   ro   r+   ry   r+   r+   r,   rt   ´  ru   c                 S   rn   ro   r+   ry   r+   r+   r,   rt   µ  ru   c                 S   rn   ro   r+   ry   r+   r+   r,   rt   ¶  ru   c                 S   rn   ro   r+   ry   r+   r+   r,   rt   ·  ru   c                 S   rn   ro   r+   re  r+   r+   r,   rt   ¸  ru   c                 S   rn   ro   r+   re  r+   r+   r,   rt   ¹  ru   c                 S   rn   ro   r+   re  r+   r+   r,   rt   º  ru   c                 S   rn   ro   r+   re  r+   r+   r,   rt   »  ru   c                 S   rn   ro   r+   ry   r+   r+   r,   rt   ¼  ru   c                 S   rn   ro   r+   rZ  r+   r+   r,   rt   ½  ru   c                 S   rn   ro   r+   ry   r+   r+   r,   rt   ¾  ru   c                 S   rn   ro   r+   rz   r+   r+   r,   rt   ¿  ru   c                 S   rn   ro   r+   rz   r+   r+   r,   rt   À  ru   c                 S   rn   ro   r+   )r¹   r{   rs   r+   r+   r,   rt   Á  ru   c                 S   rn   ro   r+   ry   r+   r+   r,   rt   Â  ru   c                 S   rn   ro   r+   )rr   r  r+   r+   r,   rt   Ã  ru   c                 S   rn   ro   r+   )rr   r>  r   rs   r+   r+   r,   rt   Ä  ru   c                 S   rn   ro   r+   rq   r+   r+   r,   rt   Å  ru   c                 S   rn   ro   r+   rq   r+   r+   r,   rt   Æ  ru   c                 S   rn   ro   r+   )r  Úindr+   r+   r,   rt   Ç  ru   c                 S   rn   ro   r+   )r  r  r  r+   r+   r,   rt   È  ru   c                 S   rn   ro   r+   )r  r  r  rs   r+   r+   r,   rt   É  ru   c                 S   rn   ro   r+   )rr   r÷   r   r+   r+   r,   rt   Ê  ru   c                 S   rn   ro   r+   r¤  r+   r+   r,   rt   Ë  ru   c                 S   rn   ro   r+   r  r+   r+   r,   rt   Ì  ru   c                 S   rn   ro   r+   )rr   rO  r   rp  rs   r+   r+   r,   rt   Í  ru   c                 S   rn   ro   r+   ry   r+   r+   r,   rt   Î  ru   c                 S   rn   ro   r+   r×  r+   r+   r,   rt   Ï  ru   c                 S   rn   ro   r+   rå   r+   r+   r,   rt   Ð  ru   c                 S   rn   ro   r+   rå   r+   r+   r,   rt   Ñ  ru   c                 S   rn   ro   r+   )rr   r^  rÆ   r¶  Úunitriangularr+   r+   r,   rt   Ò  ru   c                 S   rn   ro   r+   )rr   rR  rÆ   rc  rÚ  r+   r+   r,   rt   Ó  ru   c                 S   rn   ro   r+   rè   r+   r+   r,   rt   Ô  ru   c
           
      S   rn   ro   r+   r¥  r+   r+   r,   rt   Ö  ru   c                 S   rn   ro   r+   rè   r+   r+   r,   rt   Ø  ru   c                 S   rn   ro   r+   r  r+   r+   r,   rt   Ù  ru   c                 S   rn   ro   r+   rq   r+   r+   r,   rt   Ú  ru   c                 S   rn   ro   r+   rŒ   r+   r+   r,   rt   Û  ru   c                 S   rn   ro   r+   )rr   r   Úsizesr[  r+   r+   r,   rt   Ü  ru   c                 S   rn   ro   r+   )rr   ÚsortedÚreturn_inverseÚreturn_countsr   r+   r+   r,   rt   Ý  ru   c                 S   rn   ro   r+   )rr   rÝ  rÞ  r   r+   r+   r,   rt   Þ  ru   c                 S   rn   ro   r+   )r>  rÉ  r+   r+   r,   rt   ß  ru   c                 S   rn   ro   r+   rË   r+   r+   r,   rt   à  ru   c                 S   rn   ro   r+   rÑ  r+   r+   r,   rt   á  ru   c                 S   rn   ro   r+   rÑ  r+   r+   r,   rt   â  ru   c                 S   rn   ro   r+   rã   r+   r+   r,   rt   ã  ru   c                 S   rn   ro   r+   )rç   rw  r+   r+   r,   rt   ä  ru   c                 S   rn   ro   r+   rŒ   r+   r+   r,   rt   å  ru   c                 S   rn   ro   r+   rŒ   r+   r+   r,   rt   æ  ru   c                 S   rn   ro   r+   rö   r+   r+   r,   rt   ç  ru   c                 S   rn   ro   r+   rÐ   r+   r+   r,   rt   è  ru   c                 S   rn   ro   r+   )Ú	conditionrç   ræ   r+   r+   r,   rt   é  ru   c                 S   rn   ro   r+   )rŸ   r  r  r    r+   r+   r,   rt   ê  ru   c                 S   rn   ro   r+   )rr   Zinput_scaleZinput_zero_pointZ	prepackedZ	out_scaleZout_zero_pointZout_channelr+   r+   r,   rt   ì  ru   c                 S   rn   ro   r+   r  r+   r+   r,   rt   î  ru   c                 S   rn   ro   r+   )r¹   Úlevelr+   r+   r,   rt   ï  ru   c                 S   rn   ro   r+   )ZprimalZtangentrà  r+   r+   r,   rt   ð  ru   c                 S   rn   ro   r+   ©r¹   r+   r+   r,   rt   ñ  ru   c                 S   rn   ro   r+   rá  r+   r+   r,   rt   ò  ru   c                 S   rn   ro   r+   rá  r+   r+   r,   rt   ó  ru   c                 S   rn   ro   r+   rá  r+   r+   r,   rt   ô  ru   c                 S   rn   ro   r+   )r¹   rŠ   rf   ró   r+   r+   r,   rt   õ  ru   c                 S   rn   ro   r+   r¸   r+   r+   r,   rt   ö  ru   c                 S   rn   ro   r+   )r¹   rê   rï   rð   r+   r+   r,   rt   ÷  ru   )Úimplicitc                S   rn   ro   r+   )r¹   rŠ   râ  r+   r+   r,   rt   ø  ru   c                 S   rn   ro   r+   )r¹   r   rs  rL  r+   r+   r,   rt   ù  ru   c                 S   rn   ro   r+   )r¹   r  r+   r+   r,   rt   ú  ru   c                 S   rn   ro   r+   ©r¹   rŠ   rf   r+   r+   r,   rt   û  ru   c                 S   rn   ro   r+   )r¹   r   r  r+   r+   r,   rt   ü  ru   c                 S   rn   ro   r+   rá  r+   r+   r,   rt   ý  ru   c                 S   rn   ro   r+   )r¹   r   rs  rT  rÏ  r+   r+   r,   rt   þ  ru   c                 S   rn   ro   r+   )r¹   Z
split_sizer   r+   r+   r,   rt   ÿ  ru   c                 S   rn   ro   r+   )r¹   Zsplit_sizesr   r+   r+   r,   rt      ru   c                 S   rn   ro   r+   r·  r+   r+   r,   rt     ru   c                 S   rn   ro   r+   rá  r+   r+   r,   rt     ru   c                 S   rn   ro   r+   )r¹   rØ  rï   r+   r+   r,   rt     ru   c                 S   rn   ro   r+   r·  r+   r+   r,   rt     ru   c                 S   rn   ro   r+   rá  r+   r+   r,   rt     ru   c                 S   rn   ro   r+   rá  r+   r+   r,   rt     ru   c                 S   rn   ro   r+   rá  r+   r+   r,   rt     ru   c                 S   rn   ro   r+   rá  r+   r+   r,   rt     ru   c                 S   rn   ro   r+   rá  r+   r+   r,   rt   	  ru   c                 S   rn   ro   r+   rá  r+   r+   r,   rt   
  ru   c                 S   rn   ro   r+   rá  r+   r+   r,   rt     ru   c                 S   rn   ro   r+   rá  r+   r+   r,   rt     ru   c                 S   rn   ro   r+   r·  r+   r+   r,   rt     ru   c                 S   rn   ro   r+   ©r¹   r8   r+   r+   r,   rt     ru   c                 S   rn   ro   r+   ©r¹   Ú	dimensionrŠ   rÏ  r+   r+   r,   rt     ru   c                 S   rn   ro   r+   rá  r+   r+   r,   rt     ru   c                 S   rn   ro   r+   ©r¹   r{   r+   r+   r,   rt     ru   c                 S   rn   ro   r+   rç  r+   r+   r,   rt     ru   c                 S   rn   ro   r+   rç  r+   r+   r,   rt     ru   c                 S   rn   ro   r+   rç  r+   r+   r,   rt     ru   c                 S   rn   ro   r+   rç  r+   r+   r,   rt     ru   c                 S   rn   ro   r+   rç  r+   r+   r,   rt     ru   c                 S   rn   ro   r+   rç  r+   r+   r,   rt     ru   c                 S   rn   ro   r+   rç  r+   r+   r,   rt     ru   c                 S   rn   ro   r+   rç  r+   r+   r,   rt     ru   c                 S   rn   ro   r+   rç  r+   r+   r,   rt     ru   c                 S   rn   ro   r+   rç  r+   r+   r,   rt     ru   c                 S   rn   ro   r+   rç  r+   r+   r,   rt     ru   c                 S   rn   ro   r+   rç  r+   r+   r,   rt     ru   c                 S   rn   ro   r+   rç  r+   r+   r,   rt     ru   c                 S   rn   ro   r+   rç  r+   r+   r,   rt     ru   c                 S   rn   ro   r+   rá  r+   r+   r,   rt      ru   c                 S   rn   ro   r+   rá  r+   r+   r,   rt   !  ru   c                 S   rn   ro   r+   rä  r+   r+   r,   rt   "  ru   c                 S   rn   ro   r+   rá  r+   r+   r,   rt   #  ru   c                 S   rn   ro   r+   rç  r+   r+   r,   rt   $  ru   c                 S   rn   ro   r+   rá  r+   r+   r,   rt   %  ru   c                 S   rn   ro   r+   rá  r+   r+   r,   rt   &  ru   c                 S   rn   ro   r+   rç  r+   r+   r,   rt   '  ru   c                 S   rn   ro   r+   rç  r+   r+   r,   rt   (  ru   c                 S   rn   ro   r+   rç  r+   r+   r,   rt   )  ru   c                 S   rn   ro   r+   )r¹   Úarrayr+   r+   r,   rt   *  ru   c                 S   rn   ro   r+   )r¹   Úidxr+   r+   r,   rt   +  ru   c                 S   rn   ro   r+   )r¹   Úmemor+   r+   r,   rt   ,  ru   c                 S   rn   ro   r+   rá  r+   r+   r,   rt   -  ru   c                 S   rn   ro   r+   rá  r+   r+   r,   rt   .  ru   c                 S   rn   ro   r+   rá  r+   r+   r,   rt   /  ru   c                 S   rn   ro   r+   rá  r+   r+   r,   rt   0  ru   c                 S   rn   ro   r+   )r¹   Úformat_specr+   r+   r,   rt   1  ru   c                 S   rn   ro   r+   )r¹   Úprotor+   r+   r,   rt   2  ru   c                 S   rn   ro   r+   rá  r+   r+   r,   rt   3  ru   )Útensor_contentsc                S   rn   ro   r+   )r¹   rí  r+   r+   r,   rt   4  ru   c                 S   rn   ro   r+   )r¹   rO  r´  r+   r+   r,   rt   5  ru   c                 S   rn   ro   r+   )r¹   Údr+   r+   r,   rt   6  ru   c                 S   rn   ro   r+   rá  r+   r+   r,   rt   7  ru   c                 S   rn   ro   r+   rá  r+   r+   r,   rt   8  ru   c                 S   rn   ro   r+   rá  r+   r+   r,   rt   9  ru   c                 S   rn   ro   r+   rá  r+   r+   r,   rt   :  ru   c                 S   rn   ro   r+   rá  r+   r+   r,   rt   ;  ru   c                 S   rn   ro   r+   rá  r+   r+   r,   rt   <  ru   c                 S   rn   ro   r+   rá  r+   r+   r,   rt   =  ru   c                 S   rn   ro   r+   rá  r+   r+   r,   rt   >  ru   c                 S   rn   ro   r+   rá  r+   r+   r,   rt   ?  ru   c                 S   rn   ro   r+   rá  r+   r+   r,   rt   @  ru   c                 S   rn   ro   r+   rá  r+   r+   r,   rt   A  ru   c                 S   rn   ro   r+   rá  r+   r+   r,   rt   B  ru   c                 S   rn   ro   r+   rá  r+   r+   r,   rt   C  ru   c                 S   rn   ro   r+   )r¹   Úcuda_enabledÚcpu_enabledZ
cuda_dtypeZ	cpu_dtyper+   r+   r,   rt   D  ru   c                 S   rn   ro   r+   )r¹   rï  rð  r+   r+   r,   rt   E  ru   c                 S   rn   ro   r+   rá  r+   r+   r,   rt   F  ru   c                 S   rn   ro   r+   rá  r+   r+   r,   rt   G  ru   c                 S   rn   ro   r+   rá  r+   r+   r,   rt   H  ru   c                 S   rn   ro   r+   rá  r+   r+   r,   rt   I  ru   c                 S   rn   ro   r+   rá  r+   r+   r,   rt   J  ru   c                 S   rn   ro   r+   rá  r+   r+   r,   rt   K  ru   c                 S   rn   ro   r+   rá  r+   r+   r,   rt   L  ru   c                 S   rn   ro   r+   rá  r+   r+   r,   rt   M  ru   c                 S   rn   ro   r+   rá  r+   r+   r,   rt   N  ru   c                 S   rn   ro   r+   rá  r+   r+   r,   rt   O  ru   c                 S   rn   ro   r+   rá  r+   r+   r,   rt   P  ru   c                 S   rn   ro   r+   rá  r+   r+   r,   rt   Q  ru   c                 S   rn   ro   r+   rá  r+   r+   r,   rt   R  ru   c                 S   rn   ro   r+   rá  r+   r+   r,   rt   S  ru   c                 S   rn   ro   r+   rá  r+   r+   r,   rt   T  ru   c                 S   rn   ro   r+   rá  r+   r+   r,   rt   U  ru   c                 S   rn   ro   r+   rá  r+   r+   r,   rt   V  ru   c                 S   rn   ro   r+   rá  r+   r+   r,   rt   W  ru   c                 S   rn   ro   r+   rá  r+   r+   r,   rt   X  ru   c                 S   rn   ro   r+   rá  r+   r+   r,   rt   Y  ru   c                 S   rn   ro   r+   rá  r+   r+   r,   rt   Z  ru   c                 S   rn   ro   r+   rá  r+   r+   r,   rt   [  ru   c                 S   rn   ro   r+   rá  r+   r+   r,   rt   \  ru   c                 S   rn   ro   r+   rá  r+   r+   r,   rt   ]  ru   c                 S   rn   ro   r+   rá  r+   r+   r,   rt   ^  ru   c                 S   rn   ro   r+   rá  r+   r+   r,   rt   _  ru   c                 S   rn   ro   r+   rá  r+   r+   r,   rt   `  ru   c                 S   rn   ro   r+   rá  r+   r+   r,   rt   a  ru   c                 S   rn   ro   r+   rá  r+   r+   r,   rt   b  ru   c                 S   rn   ro   r+   rá  r+   r+   r,   rt   c  ru   c                 S   rn   ro   r+   rá  r+   r+   r,   rt   d  ru   c                 S   rn   ro   r+   rá  r+   r+   r,   rt   e  ru   c                 S   rn   ro   r+   rá  r+   r+   r,   rt   f  ru   c                 S   rn   ro   r+   rá  r+   r+   r,   rt   g  ru   c                 [   rn   ro   r+   )r¹   r8   Únon_blockingr)   r+   r+   r,   rt   h  ru   c                 S   rn   ro   r+   rá  r+   r+   r,   rt   i  ru   c                 S   rn   ro   r+   rá  r+   r+   r,   rt   j  ru   c                 S   rn   ro   r+   rá  r+   r+   r,   rt   k  ru   c                 S   rn   ro   r+   rá  r+   r+   r,   rt   l  ru   c                 S   rn   ro   r+   rá  r+   r+   r,   rt   m  ru   c                 S   rn   ro   r+   rá  r+   r+   r,   rt   n  ru   c                 S   rn   ro   r+   rá  r+   r+   r,   rt   o  ru   c                 S   rn   ro   r+   rá  r+   r+   r,   rt   p  ru   c                 S   rn   ro   r+   rá  r+   r+   r,   rt   q  ru   c                 S   rn   ro   r+   )r¹   r[  r•   r+   r+   r,   rt   r  ru   c                 S   rn   ro   r+   rá  r+   r+   r,   rt   s  ru   c                 S   rn   ro   r+   rá  r+   r+   r,   rt   t  ru   c                 S   rn   ro   r+   rç  r+   r+   r,   rt   u  ru   c                 S   rn   ro   r+   )r¹   ÚorderZellipsis_idxr+   r+   r,   rt   v  ru   c                 S   rn   ro   r+   )r¹   Úcallabler+   r+   r,   rt   w  ru   c                 S   rn   ro   r+   rã  r+   r+   r,   rt   x  ru   c                 S   rn   ro   r+   rã  r+   r+   r,   rt   y  ru   c                 S   rn   ro   r+   )r¹   ÚgradientZretain_graphZcreate_graphrx   r+   r+   r,   rt   z  ru   c                 S   rn   ro   r+   ©r¹   r9   r+   r+   r,   rt   {  ru   c                 S   rn   ro   r+   rõ  r+   r+   r,   rt   |  ru   c                 S   rn   ro   r+   rõ  r+   r+   r,   rt   }  ru   c                 S   rn   ro   r+   rõ  r+   r+   r,   rt   ~  ru   )r­   c                S   rn   ro   r+   )r¹   ÚmedianÚsigmar­   r+   r+   r,   rt     ru   c                 S   rn   ro   r+   rá  r+   r+   r,   rt   €  ru   c                 S   rn   ro   r+   )r¹   Z	coalescedr+   r+   r,   rt     ru   c                 S   rn   ro   r+   rõ  r+   r+   r,   rt   ‚  ru   c                 S   rn   ro   r+   )r¹   rò   rñ  r+   r+   r,   rt   ƒ  ru   c                 S   rn   ro   r+   rõ  r+   r+   r,   rt   „  ru   c                 S   rn   ro   r+   rõ  r+   r+   r,   rt   …  ru   c                 S   rn   ro   r+   rõ  r+   r+   r,   rt   †  ru   c                 S   rn   ro   r+   rõ  r+   r+   r,   rt   ‡  ru   c                 S   rn   ro   r+   rõ  r+   r+   r,   rt   ˆ  ru   c                 S   rn   ro   r+   rá  r+   r+   r,   rt   ‰  ru   c                 S   rn   ro   r+   rá  r+   r+   r,   rt   Š  ru   c                 S   rn   ro   r+   )r¹   rò   rê   rï   rð   r+   r+   r,   rt   ‹  ru   c                 S   rn   ro   r+   rá  r+   r+   r,   rt   Œ  ru   c                 S   rn   ro   r+   )r¹   Zambiguity_checkr+   r+   r,   rt     ru   c                 S   rn   ro   r+   rõ  r+   r+   r,   rt   Ž  ru   c                 S   rn   ro   r+   rõ  r+   r+   r,   rt     ru   c                 S   rn   ro   r+   rá  r+   r+   r,   rt     ru   c                 S   rn   ro   r+   r¸   r+   r+   r,   rt   ‘  ru   c                 S   rn   ro   r+   rç  r+   r+   r,   rt   ’  ru   c                S   rn   ro   r+   )r¹   r4  r­   r+   r+   r,   rt   “  ru   c                 S   rn   ro   r+   ©r¹   r   r+   r+   r,   rt   ”  ru   c                 S   rn   ro   r+   rø  r+   r+   r,   rt   •  ru   c                 S   rn   ro   r+   rõ  r+   r+   r,   rt   –  ru   c                 S   rn   ro   r+   rõ  r+   r+   r,   rt   —  ru   c                S   rn   ro   r+   )r¹   r“   r­   r+   r+   r,   rt   ˜  ru   c                 S   rn   ro   r+   rá  r+   r+   r,   rt   ™  ru   c                 S   rn   ro   r+   rõ  r+   r+   r,   rt   š  ru   c                 S   rn   ro   r+   rõ  r+   r+   r,   rt   ›  ru   c                 S   rn   ro   r+   rá  r+   r+   r,   rt   œ  ru   c                 S   rn   ro   r+   rá  r+   r+   r,   rt     ru   c                 S   rn   ro   r+   rõ  r+   r+   r,   rt   ž  ru   c                 S   rn   ro   r+   rá  r+   r+   r,   rt   Ÿ  ru   c                 S   rn   ro   r+   rá  r+   r+   r,   rt      ru   c                 S   rn   ro   r+   rá  r+   r+   r,   rt   ¡  ru   c                 S   rn   ro   r+   rá  r+   r+   r,   rt   ¢  ru   c                 S   rn   ro   r+   )r¹   r6   r+   r+   r,   rt   £  ru   c                 S   rn   ro   r+   rá  r+   r+   r,   rt   ¤  ru   c                 S   rn   ro   r+   rá  r+   r+   r,   rt   ¥  ru   c                S   rn   ro   r+   )r¹   r¨   r«  r­   r+   r+   r,   rt   ¦  ru   c                 S   rn   ro   r+   r·  r+   r+   r,   rt   §  ru   c                 S   rn   ro   r+   rõ  r+   r+   r,   rt   ¨  ru   c                 S   rn   ro   r+   )r¹   r6   ró  r+   r+   r,   rt   ©  ru   c                 S   rn   ro   r+   )r¹   rç   ræ   ró  r+   r+   r,   rt   ª  ru   c                 S   rn   ro   r+   )r¹   r„   r+   r+   r,   rt   «  ru   c                 S   rn   ro   r+   )r¹   r{   Zassignr+   r+   r,   rt   ¬  ru   c                 S   rn   ro   r+   )r¹   ræ  rs  rL  r+   r+   r,   rt   ­  ru   c                 S   rn   ro   r+   rá  r+   r+   r,   rt   ®  ru   c                 S   rn   ro   r+   rá  r+   r+   r,   rt   ¯  ru   c                 S   rn   ro   r+   rá  r+   r+   r,   rt   °  ru   c                 S   rn   ro   r+   rá  r+   r+   r,   rt   ±  ru   c                 S   rn   ro   r+   rá  r+   r+   r,   rt   ²  ru   c                 S   rn   ro   r+   rá  r+   r+   r,   rt   ³  ru   c                 S   rn   ro   r+   rá  r+   r+   r,   rt   ´  ru   c                 S   rn   ro   r+   r·  r+   r+   r,   rt   µ  ru   c                 S   rn   ro   r+   rá  r+   r+   r,   rt   ¶  ru   c                 S   rn   ro   r+   )r¹   r>  r6   r?  r+   r+   r,   rt   ·  ru   c                 S   rn   ro   r+   rá  r+   r+   r,   rt   ¸  ru   c                S   rn   ro   r+   )r¹   Úfrom_Útor­   r+   r+   r,   rt   ¹  ru   c                 S   rn   ro   r+   ©r¹   Ústreamr+   r+   r,   rt   º  ru   c                 S   rn   ro   r+   )r¹   r[  r+   r+   r,   rt   »  ru   c                 S   rn   ro   r+   ©r¹   Úhookr+   r+   r,   rt   ¼  ru   c                 S   rn   ro   r+   rý  r+   r+   r,   rt   ½  ru   c                 S   rn   ro   r+   )r¹   Únamer+   r+   r,   rt   ¾  ru   c                 W   rn   ro   r+   r¸   r+   r+   r,   rt   ¿  ru   c                 S   rn   ro   r+   )r¹   r  r+   r+   r,   rt   À  ru   c                 S   rn   ro   r+   rç  r+   r+   r,   rt   Á  ru   c                 W   rn   ro   r+   r¸   r+   r+   r,   rt   Â  ru   c                 S   rn   ro   r+   r¸   r+   r+   r,   rt   Ã  ru   c                 S   rn   ro   r+   rç  r+   r+   r,   rt   Ä  ru   c                 S   rn   ro   r+   rç  r+   r+   r,   rt   Å  ru   c                 S   rn   ro   r+   rá  r+   r+   r,   rt   Æ  ru   c                 S   rn   ro   r+   )r¹   r=  ró   rŠ   rf   r+   r+   r,   rt   Ç  ru   c                 S   rn   ro   r+   )r¹   rò   r   r  r+   r+   r,   rt   È  ru   c                 S   rn   ro   r+   rá  r+   r+   r,   rt   É  ru   c                 S   rn   ro   r+   rõ  r+   r+   r,   rt   Ê  ru   c                 S   rn   ro   r+   rá  r+   r+   r,   rt   Ë  ru   c                 S   rn   ro   r+   )r¹   rò   r   rs  rT  rÏ  r+   r+   r,   rt   Ì  ru   c                 S   rn   ro   r+   rá  r+   r+   r,   rt   Í  ru   c                 S   rn   ro   r+   )r¹   ra  r+   r+   r,   rt   Î  ru   c                 S   rn   ro   r+   )r¹   ra  Zaccumulate_matchesr+   r+   r,   rt   Ï  ru   c                 S   rn   ro   r+   ©r¹   Zsize1Zsize2Ú	dense_dimr+   r+   r,   rt   Ð  ru   c                 S   rn   ro   r+   r   r+   r+   r,   rt   Ñ  ru   c                 S   rn   ro   r+   )r¹   rƒ   r„   r   r~   rs   r+   r+   r,   rt   Ò  ru   c                 S   rn   ro   r+   rá  r+   r+   r,   rt   Ó  ru   c                 S   rn   ro   r+   rá  r+   r+   r,   rt   Ô  ru   c                 S   rn   ro   r+   rá  r+   r+   r,   rt   Õ  ru   c                 S   rn   ro   r+   rá  r+   r+   r,   rt   Ö  ru   c                 S   rn   ro   r+   r¸   r+   r+   r,   rt   ×  ru   c                 W   rn   ro   r+   )r¹   Zrepsr+   r+   r,   rt   Ø  ru   c                 S   rn   ro   r+   )r¹   r8   rñ  Úcopyr9   r+   r+   r,   rt   Ù  ru   )Úmasked_gradc                S   rn   ro   r+   ©r¹   r8   r  r+   r+   r,   rt   Ú  ru   c                 S   rn   ro   r+   r  r+   r+   r,   rt   Û  ru   c                 S   rn   ro   r+   rá  r+   r+   r,   rt   Ü  ru   c                 S   rn   ro   r+   rá  r+   r+   r,   rt   Ý  ru   c                 S   rn   ro   r+   rá  r+   r+   r,   rt   Þ  ru   c                 S   rn   ro   r+   rç  r+   r+   r,   rt   ß  ru   c                 S   rn   ro   r+   rå  r+   r+   r,   rt   à  ru   c                 S   rn   ro   r+   )r¹   rù  rú  r+   r+   r,   rt   á  ru   c                 S   rn   ro   r+   rá  r+   r+   r,   rt   â  ru   c                 S   rn   ro   r+   )r¹   rÉ  r+   r+   r,   rt   ã  ru   c                 S   rn   ro   r+   rç  r+   r+   r,   rt   ä  ru   c                 S   rn   ro   r+   rá  r+   r+   r,   rt   å  ru   c                 S   rn   ro   r+   rû  r+   r+   r,   rt   æ  ru   c                 S   rn   ro   r+   rá  r+   r+   r,   rt   ç  ru   c                 S   rn   ro   r+   )r¹   r  rT   Zdriverr+   r+   r,   rt   è  ru   c                 [   rn   ro   r+   )r¹   r7   rñ  r)   r+   r+   r,   rt   ð  ru   c                 S   rn   ro   r+   rá  r+   r+   r,   rt   ò  ru   Úis_Ú_Ú__Z__iÚ__rZbitwise_©N)r|   r|   N)r|   N)rŽ   r   F)F)NFN)Nr   FT)NN)NNNr¨   N)Nr   )FFN)r   N)r½   r¾   )rÁ   F)FN)NNN)r|   NN)rÑ   F)Nr|   r   r|   r|   )Nr|   r   r   r|   r|   )r   NNr¨   )r|   r   )rp   N)r   r¨   Fro   )r|   rp   NNN)r   r   r|   )r   rñ   rp   )rÑ   )rø   N)NNr½   FF)NrÑ   Fr¨   FNN)NNNF)FF)Nrp   N)Nr  N)r   rp   )TT)NF)NNr|   )NNrŽ   T)r2  )rÁ   NNr¨   )r7  r   r   N)r7  NNNFN)NNF)T)NNNTFNNF)NNr¨   F)NNNNNNNNNNNNN)TFN)TN)Nr   r|   F)Nr   r|   FF)NFNN)rp   FN)rt  NNN)NNrŽ   )rÑ   NFN)r2  FF)Nr   FTN)NNFr}  rŽ   )NNNr¨   )NNr  Nr¨   rt  )r2  TF)	NNrÑ   Fr¨   FNFN)r|   r   r|   )NNFN)Fr‚  r¨   )r„  )rp   )r…  rH   N)r|   Fr†  rp   )r‡  rÁ   F)NNNNTr}  rŽ   )NNrˆ  NNF)NNr¨   N)rŠ  F)r‹  rŒ  rÁ   )Nr  N)Nr   N)TNTNFNNNNNNF)r|   rÁ   NNNr¨   )NNr¨   )NNr  Nr¨   )rÑ   r|   r—  N)rQ   r   )r½   r‚  F)TFNr   Nr¨   )Nr‚  )r  rž  FF)Nrt  )NNr¨   rÁ   )r¨   rÁ   N)r|   r¢  )rÁ   rÑ   r‚  FNNr¨   )rt  rÁ   N)r   r­  r®  N)r°  NFNN)NNFNN)rÑ   NFNN)r°  r  FNN)rÑ   r   )TF)NTrÑ   )r¹  )r¹  F)r¼  N)NFr½  N)r+   rÂ  rÃ  F)r+   rÄ  rÅ  F)r+   rÆ  rÇ  F)r|   rÊ  )rÏ   NNNr   F)r   NNr|   )rp   F)	NNNTrÒ  FTNN)TTN)rÕ  rÑ   N)rÑ   N)TFF)TFFN)r|   rÑ   )Nr   NN(‡  r   r/   rÕ   ÚabsoluteZadaptive_avg_pool1dZadaptive_max_pool1dÚacosrd  ZarccosÚacoshZarccoshÚaddZaddbmmZaddcdivZaddcmulZaddmmZaddmvÚaddrZaffine_grid_generatorÚallZallcloseZalpha_dropoutZamaxZaminZaminmaxZangleÚanyZargmaxZargminZargsortÚasinZ_assert_asyncZarcsinÚasinhZarcsinhÚatanZarctanÚatan2Zarctan2ÚatanhZarctanhZ
atleast_1dZ
atleast_2dZ
atleast_3dZ
avg_pool1dZbaddbmmZ
batch_normZbatch_norm_backward_elemtZbatch_norm_backward_reduceZbatch_norm_elemtZbatch_norm_gather_statsZ#batch_norm_gather_stats_with_countsZbatch_norm_statsZbatch_norm_update_statsZ	bernoullir…  Z binary_cross_entropy_with_logitsZbincountZbinomialZbitwise_andZbitwise_notZ
bitwise_orZbitwise_xorZbitwise_left_shiftZbitwise_right_shiftZ
block_diagZbmmZbroadcast_tensorsZbroadcast_toZ	bucketizeZcartesian_prodÚcatÚconcatZconcatenateZcdistÚceilZceluZchain_matmulZchannel_shuffleZcholeskyÚlinalgZcholesky_exZcholesky_inverseZcholesky_solveZchoose_qparams_optimizedÚchunkÚclampZclipZ	clamp_minZ	clamp_maxZcolumn_stackZcovÚcloneÚcombinationsÚcomplexÚcopysignZpolarrT   ZconjZconj_physicalZresolve_conjZresolve_negZconstant_pad_ndZconv1dZconv2dZconv3dZconvolutionZconv_tbcZconv_transpose1dZconv_transpose2dZconv_transpose3dZcorrcoefÚcosZcosine_embedding_lossÚcoshZcosine_similarityZcount_nonzeroÚcrossZctc_lossZcummaxZcumminZcumprodZcumsumZcumulative_trapezoidZlogcumsumexpZdeg2radZ
dequantizeZdetÚdetachZdiagZ
diag_embedZdiagflatÚdiffré   Zdiagonal_scatterZas_strided_scatterZdigammaÚdistÚdivÚdivideÚdotr*  ZdsmmZhsmmZdsplitZdstackrb   ZeigvalsZeighZeigvalshZeinsumZ	embeddingZembedding_bagZ
empty_likeÚeqÚequalÚerfÚerfcZerfinvÚexpZexp2Úexpm1Z fake_quantize_per_channel_affineZfake_quantize_per_tensor_affineZfused_moving_avg_obs_fake_quantZfbgemm_linear_fp16_weightZ)fbgemm_linear_fp16_weight_fp32_activationZfbgemm_linear_int8_weightZ)fbgemm_linear_int8_weight_fp32_activationZfbgemm_linear_quantize_weightZfbgemm_pack_gemm_matrix_fp16Zfbgemm_pack_quantized_matrixZfeature_alpha_dropoutZfeature_dropoutr@   ZifftZrfftZirfftZhfftZihfftZhfft2Zihfft2ZhfftnZihfftnZfftnZifftnZrfftnZirfftnZfft2Zifft2Zrfft2Zirfft2ZfftshiftZ	ifftshiftZfixÚflattenÚflipZfliplrZflipudZfrobenius_normÚfloorZfloor_divideZfloat_powerÚfmodÚfracÚfrexpZ	full_likeZstridedZ_functional_assert_asyncZ	lu_unpackÚgatherÚgcdÚgeZ
get_deviceZgreater_equalZgeqrfZi0ÚinnerÚouterZgerrô  Zgrid_samplerZgrid_sampler_2dZgrid_sampler_3dZ
group_normZgruZgru_cellÚgtZgreaterZ
hardshrinkZ	heavisideZhinge_embedding_lossZhistcZ	histogramZhistogramddZhouseholder_productZhspmmZhsplitZhstackÚhypotZigammaZigammacrÔ   Z	index_addZ
index_copyZ	index_putZindex_selectZ
index_fillZindex_reduceÚisfiniteÚisinÚisinfZisrealZisposinfZisneginfZinstance_normZint_reprZinverseÚinvZinv_exZ
is_complexZis_conjZis_negZis_distributedZis_inferenceZis_floating_pointZ
is_nonzeroZis_same_sizeÚ	is_signedÚiscloseÚisnanZistftZkl_divZkronZkthvalueZldl_factor_exZ
ldl_factorZ	ldl_solveZ
layer_normÚlcmÚldexpÚleZ
less_equalZlerpÚlgammaZlobpcgÚlogZlog_softmaxÚlog10Úlog1pÚlog2Z	logaddexpZ
logaddexp2ZlogdetZxlogyÚlogical_andZlogical_notÚ
logical_orÚlogical_xorZlogitZ	logsumexpZlstmZ	lstm_cellÚltÚlessZluZlu_solveZmargin_ranking_lossZmasked_fillZmasked_scatterZmasked_selectÚmatmulZ	lu_factorZlu_factor_exZmatrix_powerZmatrix_rankZ	multi_dotZ
matrix_exprÏ   ÚmaximumZfmaxZ
max_pool1dZ
max_pool2dZ
max_pool3dZmax_pool1d_with_indicesr¨   Znanmeanrö  Z	nanmedianZmeshgridrÎ   ÚminimumZfminZmiopen_batch_normZmiopen_convolutionZmiopen_convolution_add_reluZmiopen_convolution_reluZmiopen_convolution_transposeZmiopen_depthwise_convolutionZ
miopen_rnnÚmmr   ZmovedimZmoveaxisZmsortÚmulÚmultiplyZmultinomialÚmvZmvlgammaZnarrowZ
nan_to_numZnative_batch_normZ_native_batch_norm_legitZnative_dropoutZnative_layer_normZnative_group_normZnative_normZnative_channel_shuffleÚneÚ	not_equalÚnegr¨  Ú	nextafterrI   rJ   Zadaptive_avg_pool2dZadaptive_avg_pool3dZ adaptive_max_pool1d_with_indicesZadaptive_max_pool2dZ adaptive_max_pool2d_with_indicesZadaptive_max_pool3dZ adaptive_max_pool3d_with_indicesZaffine_gridZ
avg_pool2dZ
avg_pool3dZbinary_cross_entropyZcross_entropyZ	dropout1dZ	dropout2dZ	dropout3dZeluÚfoldZfractional_max_pool2dZ"fractional_max_pool2d_with_indicesZfractional_max_pool3dZ"fractional_max_pool3d_with_indicesZgaussian_nll_lossZgeluZgluZgrid_sampleZgumbel_softmaxZhardtanhZinterpolateZl1_lossr®  r½  Zlocal_response_normZ
logsigmoidZ	lp_pool1dZ	lp_pool2dZ	lp_pool3dZmax_pool2d_with_indicesZmax_pool3d_with_indicesZmax_unpool1dZmax_unpool2dZmax_unpool3dZmse_lossZmulti_head_attention_forwardZmulti_margin_lossZmultilabel_margin_lossZmultilabel_soft_margin_lossZnll_lossÚ	normalizeZone_hotrØ   Zpairwise_distanceZpoisson_nll_lossZpreluZreluZrelu6Zrms_normZrreluZseluZsiluZmishZscaled_dot_product_attentionZsmooth_l1_lossZ
huber_lossZsoft_margin_lossZsoftmaxZsoftminZsoftplusZ
softshrinkZsoftsignZ
tanhshrinkr£  Ztriplet_margin_lossZ!triplet_margin_with_distance_lossZunfoldrO   Zuniform_Znormal_Z	constant_Zkaiming_uniform_ZnonzeroZnonzero_staticZargwherer  Zvector_normZmatrix_normZnorm_except_dimZnuclear_normrÉ   ZorgqrZormqrZpermuteZpca_lowrankZpdistZpinverseZpinvZpixel_shuffleZpixel_unshuffleZpoissonZ	polygammar§  Z	ones_likerµ  ÚprodÚputZq_per_channel_axisZq_per_channel_scalesZq_per_channel_zero_pointsZq_scaleZq_zero_pointZqrZquantileZnanquantileZquantize_per_channelZquantize_per_tensorZquantize_per_tensor_dynamicZquantized_batch_normZquantized_gru_cellZquantized_lstm_cellZquantized_max_pool1dZquantized_max_pool2dZquantized_max_pool3dZquantized_rnn_relu_cellZquantized_rnn_tanh_cellZrad2degZ	rand_likeZrandint_likeZ
randn_likeZravelrÓ   ZvdotZvecdotZview_as_realZview_as_complexZ
reciprocalÚ	remainderZrenormZrepeat_interleaveZreshapeZrnn_reluZrnn_relu_cellZrnn_tanhZrnn_tanh_cellZrollZrot90ÚroundZ	row_stackZ_rowwise_pruneZrsqrtZrsubZsaddmmZscatterZscatter_addZscatter_reduceZsearchsortedZ_segment_reduceÚselectZselect_scatterZslice_inverseZslice_scatterrM   ÚsignZsignbitZsgnÚsinZsincÚsinhZslogdetZsmmZspmmre   Zsolve_exÚsortÚsplitZsplit_with_sizesÚsqrtZsquareZsqueezeZsspaddmmÚstackr«  Zstd_meanZstftÚsubÚsubtractÚsumZ	sym_floatZsym_intZsym_maxZsym_minZsym_notZsym_iteZsym_sumZ	_sym_sqrtZ_sym_cosZ	_sym_coshZ_sym_sinZ	_sym_sinhZ_sym_tanZ	_sym_tanhZ	_sym_asinZ	_sym_acosZ	_sym_atanZnansumZsvdZsvd_lowrankZsvdvalsZswapaxesZswapdimsÚspecialZairy_aiZ	bessel_j0Z	bessel_j1Z	bessel_y0Z	bessel_y1Zchebyshev_polynomial_tZchebyshev_polynomial_uZchebyshev_polynomial_vZchebyshev_polynomial_wZentrZerfcxZexpitZgammaincZ	gammainccZgammalnZhermite_polynomial_hZhermite_polynomial_heZi0eÚi1Zi1eZlaguerre_polynomial_lZlegendre_polynomial_pZlog_ndtrZmodified_bessel_i0Zmodified_bessel_i1Zmodified_bessel_k0Zmodified_bessel_k1ZmultigammalnZndtrZndtriÚpsiZscaled_modified_bessel_k0Zscaled_modified_bessel_k1Zshifted_chebyshev_polynomial_tZshifted_chebyshev_polynomial_uZshifted_chebyshev_polynomial_vZshifted_chebyshev_polynomial_wZspherical_bessel_j0Zxlog1pyÚzetaÚtZtakeZtake_along_dimÚtanrN   Z	tensorinvZtensorsolveZ	tensordotZtensor_splitZtileZtopkÚtracer¶  ZtrapzZ	trapezoidZtriangular_solveZsolve_triangularZtrilZtriuZtrue_divideÚtruncZunbindrg   ÚuniqueZunique_consecutiveZunravel_indexZunsafe_chunkZunsafe_splitZunsafe_split_with_sizesZ	unsqueezerG   rƒ  Zvar_meanZvsplitZvstackÚwhereZ_wrapped_linear_prepackZ#_wrapped_quantized_linear_prepackedZ
zeros_likeZ_fw_primal_copyZ_make_dual_copyZview_as_real_copyZview_as_complex_copyZ
_conj_copyZ_neg_view_copyZas_strided_copyZ_sparse_broadcast_to_copyZdiagonal_copyZexpand_copyZnarrow_copyZpermute_copyZ_reshape_alias_copyZselect_copyZdetach_copyZ
slice_copyZ
split_copyZsplit_with_sizes_copyZsqueeze_copyZt_copyZtranspose_copyZunsqueeze_copyZ_indices_copyZ_values_copyZindices_copyZvalues_copyZcrow_indices_copyZcol_indices_copyZccol_indices_copyZrow_indices_copyZunbind_copyZ	view_copyZunfold_copyZ
alias_copyÚ__floordiv__Ú__rfloordiv__Ú__ifloordiv__Ú__truediv__Ú__rtruediv__Ú__itruediv__Ú
__lshift__Ú__rlshift__Ú__ilshift__Ú
__rshift__Ú__rrshift__Ú__irshift__Ú__and__Ú__or__Ú__xor__Ú	__float__Ú__complex__Z	__array__Ú__bool__Ú__contains__Ú__neg__Ú
__invert__Ú__mod__Ú__rmod__Ú__imod__Z__array_wrap__Ú__getitem__Ú__deepcopy__Ú__int__Z__long__Ú	__index__Ú__len__Ú
__format__Ú__reduce_ex__Ú__reversed__Ú__repr__Ú__setitem__Ú__setstate__ÚTrh   ÚHZmTZmHZ_backward_hooksZ_post_accumulate_grad_hooksrj   Z_cdatark   rl   Z_grad_fnZgrad_fnÚ_versionZ_autocast_to_reduced_precisionZ_autocast_to_full_precisionZ#_clear_non_serializable_cached_datar\  r7   r8   Zis_cudaZis_cpuZis_xlaZis_xpuZis_ipuZis_leafZretains_gradÚis_metaZis_mpsZis_mtiaZ	is_nestedZis_maiaZ	is_mkldnnZis_quantizedZ	is_sparseZis_sparse_csrZ	is_vulkanÚitemsizer;   rÿ  r[  ÚnbytesÚndimZ	output_nrr  rÉ  ZvolatileZ__cuda_array_interface__ÚtypeZ_dimIZ_dimVZ_indicesZ_is_viewZ_nnzZcrow_indicesZcol_indicesZccol_indicesZrow_indicesZ_update_namesZ_valuesZalign_asZalign_toZapply_r<   Zas_strided_ZbackwardZbfloat16Zpreserve_formatÚboolÚbyteÚcharZcauchy_ZcoalesceZ_coalesced_Ú
contiguousZcontiguous_formatZcopy_ÚcpuÚcudaZmtiaZxpuZipuZdata_ptrr  r   Z	dim_orderÚdoubleZcdoubleZelement_sizeÚexpandZ	expand_asZexponential_Zfill_Zfill_diagonal_ÚfloatZcfloatZ
geometric_ZhalfZchalfZ	has_namesr>  ÚintZis_coalescedZis_contiguousÚ	is_pinnedZ	is_set_toZ	is_sharedÚitemZlog_normal_ÚlongZmap_Zmap2_Zmodule_loadZ
ndimensionZnelementZ_nested_tensor_sizeZ_nested_tensor_storage_offsetsZ_nested_tensor_stridesÚnumpyZ
pin_memoryZput_r:   Zrandom_Zrecord_streamZrefine_namesÚregister_hookZ"register_post_accumulate_grad_hookÚrenameÚrepeatZrequires_grad_Z
reshape_asÚresizeZresize_Z	resize_asZresize_as_sparse_Zretain_gradÚset_Zshare_memory_ZshortrŠ   Z
sparse_dimZsparse_maskZ_sparse_mask_projectionZsparse_resize_Zsparse_resize_and_clear_ZstorageZuntyped_storageró   Zstorage_typeZsum_to_sizerú  Zto_denseZ	_to_denseZ	to_sparseÚtolistZ	to_mkldnnZtype_asr5  ÚviewZview_asZzero_Z
__dlpack__Z__dlpack_device__rc   ÚutilsZbackend_registrationZ_privateuse1_backend_nameÚhasattrÚgetattrr   ÚitemsÚ__name__Ú
startswithÚlenÚextendró  Úupdate)r/   ÚretZprivateuse1_backend_nameZret2ZignoredrO  r´  r[  Úsubnamerÿ  r   r+   r+   r,   r   “  s®H  ÿþ
ý
üû
úùø	÷
öõôóòñð
ïîíìëêéèç
æ
åäã
âá à!ß"Þ#Ý$Ü%Û&Ú'Ù
(Ø
)×
*Ö+Õ,Ô
-Ó
.Ò
/Ñ
0Ð
1Ï
2Î
3Í
4Ì5Ë
6Ê7
È:Æ;Å<Ä=Ã>Â?Á@ÀA¿
B¾C½
D¼
E»Fº
G¹H¸I·J¶KµL´M³N²
O±P°Q¯R®S­T¬
U«VªW©X¨Y§Z¦[¥\¤
]£^¢
_¡` 
aŸbžcdœe›fšg™h˜i—j–
k•l”m“n’o‘
pqrŽstŒ
u‹vŠw‰x
‡{…|„}ƒ~‚  ÿ  þ 
 ý 
 ü  û 
 ú  ù  ø 	 ÷ 
 ö  õ  ô  ó  ò  ñ  ð  ï  î  í  ì 
 ë 
 ê 
 é  è  ç  æ  å  ä 
 ã 
 á !
 Þ $ Ü % Û 
& Ú ' Ù ( Ø ) × * Ö + Õ , Ô 
- Ó 
. Ò /
 Ð 
2 Î 
3 Í 
4 Ì 5 Ê 
8 È 
9 Ç 
: Æ 
; Å 
< Ä = Ã > Â ? Á @ À A ¿ B ¾ C ½ D ¼ E » F º G ¹ H ¸ I · J ¶ K µ L ´ M ³ N ² O ± P ° Q ¯ R ® 
S ­ 
T ¬ 
U « V ª W © 
X ¨ Y § Z ¦ [ ¥ \ ¤ ] £ 
^ ¢ _ ¡ `   a Ÿ b ž 
c  d œ e › f š g ™ h ˜ i — j – 
k • 
l ” 
m “ n ’ 
o ‘ p  q  r Ž s  t Œ u ‹ v Š w ‰ x ˆ y ‡ z † { … | „ } ƒ ~ ‚      ÿ    þ    ý    ü    û    ú    ù    ø  	  ÷  
  ö    õ    ô    ó    ñ    ï    î    í    ì    ë    ê    é    è    ç    æ    å    ä    ã    â    á     ß  #  Ý  $  Ü  %  Û  &  Ú  '  Ù  (  Ø  )  ×  *  Ö  +  Õ  ,  Ô  -  Ó  .  Ò  /  Ñ  0  Ð  1  Ï  2  Î  3  Í  4  Ì  5  Ë  6  Ê  7  É  8  È  9  Ç  :  Æ  ;  Å  <  Ä  =  Ã  >  Â  ?  Á  @  À  A  ¿  B  ¾  C  ½  D  ¼  E  »  F  º  G  ¹  H  ¸  I  ·  J  ¶  K  µ  L  ´  M  ³  N  ²  O  ±  P  °  Q  ¯  R  ®  S  ­  T  ¬  U  «  V  ª  W  ©  X  ¨  Y  §  Z  ¦  [  ¥  \  £  _  ¡  `     a  Ÿ  b  ž  c    d  œ  e  ›  f  š  g  ˜  j  –  k  •  l  ”  m  ’  p    s  Œ  v  Š  w  ‰  x  ˆ  y  ‡  z  †  {  …  |  „  }  ƒ  ~  ‚          ÿ      þ      ý      ü      û      ú      ù      ø   	   ÷   
   ö      õ      ô      ó      ò      ñ      ð      ï      î      í      ì      ë      ê      é      è      æ      ã      à   "   Þ   #   Ü   &   Ù   )   ×   *   Õ   -   Ò   0   Ï   3   Í   4   Ì   5   Ë   6   Ê   7   É   8   Ç   ;   Ä   >   Â   ?   Á   @   ¿   C   ¼   F   ¹   I   ¶   L   ´   M   ³   N   ²   O   ±   P   °   Q   ¯   R   ®   S   ­   T   «   W   ¨   Z   ¥   ]   £   ^   ¢   _   ¡   `       a   Ÿ   b   ž   c      d   œ   e   ›   f   š   g   ™   h   —   k   ”   n   ‘   q   Ž   t   ‹   w   ˆ   z   …   }   ƒ   ~   ‚              ÿ        ý        ú        ÷        ô        ñ        ï        î        í        ì        ê        è        ç        æ        å        ä        ã        â        á         à    !    ß    "    Þ    #    Ý    $    Ü    %    Û    &    Ú    '    Ù    (    Ø    )    ×    *    Ö    +    Ô    .    Ñ    1    Ï    2    Î    3    Í    4    Ì    5    Ë    6    Ê    7    É    8    È    9    Ç    :    Æ    ;    Å    <ý    Ä    @    À    A    ¿    B    ¾    C    ½    D    ¼    E    »    F    º    G    ¹    H    ¸    I    ·    J    ¶    K    µ    L    ´    M    ³    N    ²    O    ±    P    °    Q    ¯    R    ®    S    ­    T    ¬    U    «    V    ª    W    ©    X    ¨    Y    §    Z    ¦    [    ¥    \    ¤    ]    £    ^    ¢    _    ¡    `         a    Ÿ    b    ž    c    œ    f    ™    iþ    –    ný    ‘    tü    ‹    {    „    ~              þ          ý          ü          û          ú          ù          ø     	     ÷     
     ö          õ          ô          ó          ò          ñ          ð          ï          î          í          ì          ë          ê          é          è          ç          æ          å          ä          ã          â          á           à     !     ß     "     Þ     #     Ý     $     Ü     %     Û     &     Ú     '     Ù     (     Ø     )     ×     *     Ö     +     Õ     ,     Ô     -     Ó     .     Ò     /     Ñ     0     Ð     1     Ï     2     Î     3     Í     4     Ì     5     Ë     6     Ê     7     É     8     È     9     Ç     :     Æ     ;     Å     <     Ä     =     Ã     >     Â     ?     Á     @     À     A     ¿     B     ½     E     »     F     º     G     ¹     H     ¸     I     ·     J     ¶     K     µ     L     ´     M     ³     N     ²     O     ±     P     °     Q     ¯     R     ®     S     ­     T     ¬     U     «     V     ª     W     ©     X     ¨     Y     §     Z     ¦     [     ¥     \     ¤     ]     £     ^     ¢     _     ¡     `           a     Ÿ     b     ž     c          d     œ     e     ›     f     š     g     ™     h     ˜     i     —     j     –     k     •     l     ”     m     “     n     ’     o     ‘     p          q          r     Ž     s          t     Œ     u     ‹     v     Š     w     ‰     x     ˆ     y     ‡     z     †     {     …     |     „     }     ƒ     ~     ‚                      ÿ            þ            ý            ü            û            ú            ù            ø      	      ÷      
      ö            õ            ô            ó            ò            ñ            ð            ï            î            í            ì            ë            ê            é            è            ç            æ            å            ä            ã            â            á             à      !      ß      "      Þ      #      Ý      $      Ü      %      Û      &      Ú      '      Ù      (      Ø      )      ×      *      Ö      +      Õ      ,      Ó      /      Ñ      0      Ð      1      Ï      2      Î      3      Í      4      Ì      5      Ë      6      Ê      7      É      8      È      9      Ç      :      Æ      ;      Å      <      Ä      =      Ã      >      Â      ?      Á      @      À      A      ¿      B      ½      E      »      F      º      G      ¹      H      ¸      I      ·      J      ¶      K      µ      L      ´      M      ³      N      ²      O      ±      P      °      Q      ¯      R      ®      S      ­      T      ¬      U      «      V      ª      W      ©      X      ¨      Y      §      Z      ¦      [      ¥      \      ¤      ]      £      ^      ¢      _      ¡      `             a      Ÿ      b      ž      c            d      œ      e      ›      f      š      g      ™      h      ˜      i      —      j      –      k      •      l      ”      m      “      n      ’      o      ‘      p            q            r      Ž      s            t      Œ      u      ‹      v      Š      w      ‰      x      ˆ      y      ‡      z      †      {      …      |      „      }      ƒ      ~      ‚                          ÿ              þ              ý              ü              û              ú              ù              ø       	       ÷       
       ö              õ              ô              ó              ò              ñ              ð              ï              î              í              ì              ë              ê              é              è              ç              æ              å              ä              ã              â              á               à       !       ß       "       Þ       #       Ý       $       Ü       %       Û       &       Ú       '       Ù       (       Ø       )       ×       *       Ö       +       Õ       ,       Ô       -       Ó       .       Ò       /       Ñ       0       Ð       1       Ï       2       Î       3       Í       4       Ì       5       Ë       6       Ê       7       É       8       È       9       Ç       :       Æ       ;       Å       <       Ä       =       Ã       >       Â       ?       Á       @       À       A       ¿       B       ¾       C       ½       D       ¼       E       »       F       º       G       ¹       H       ¸       I       ·       J       ¶       K       µ       L       ´       M       ³       N       ²       O       ±       P       °       Q       ¯       R       ®       S       ­       T       ¬       U       «       V       ª       W       ©       X       ¨       Y       §       Z       ¦       [       ¥       \       ¤       ]       £       ^       ¢       _       ¡       `               a       Ÿ       b       ž       c              d       œ       e       ›       f       š       g       ™       h       ˜       i       —       j       –       k       •       l       ”       m       “       n       ’       o       ‘       p              q              r       Ž       s              t       Œ       u       ‹       v       Š       w       ‰       x       ˆ       y       ‡       z       †       {       …       |       „       }       ƒ       ~       ‚                              ÿ                þ                ý                ü                û                ú                ù                ø        	        ÷        
        ö                õ                ô                ó                ò                ñ                ð                ï                î                í                ì                ë                ê                é                è                ç                æ                å                ä                ã                â                á                 à        !        ß        "        Þ        #        Ý        $        Ü        %        Û        &        Ú        '        Ù        (        Ø        )        ×        *        Ö        +        Õ        ,        Ô        -        Ó        .        Ò        /        Ñ        0        Ð        1        Ï        2        Î        3        Í        4        Ì        5        Ë        6        Ê        7        É        8        È        9        Ç        :        Æ        ;        ¿        Eÿÿ"û,ÿ €ýr   Ú
dispatcherc                    s   ‡ fdd„}|S )a…  Wraps a given function with ``__torch_function__`` -related functionality.

    Parameters
    ----------
    dispatcher: Callable
        A callable that returns an iterable of Tensor-likes passed into the function.

    Note
    ----
    This decorator may reduce the performance of your code. Generally, it's enough to express
    your code as a series of functions that, themselves, support __torch_function__. If you
    find yourself in the rare situation where this is not the case, e.g. if you're wrapping a
    low-level library and you also need it to work for Tensor-likes, then this function is available.

    Examples
    --------
    >>> def dispatcher(a):  # Must have the same signature as func
    ...     return (a,)
    >>> @torch.overrides.wrap_torch_function(dispatcher)
    >>> def func(a):  # This will make func dispatchable by __torch_function__
    ...     return a + 0
    c                    s   t  ˆ ¡‡‡ ‡fdd„ƒ‰ˆS )Nc                     s<   ˆ | i |¤Ž}t |ƒrtˆ|g| ¢R i |¤ŽS ˆ| i |¤ŽS r	  )r   r   )r(   r)   Úrelevant_args)rÁ  r   Úwrappedr+   r,   rÃ  +  s   z3wrap_torch_function.<locals>.inner.<locals>.wrapped)Ú	functoolsr   ©r   ©rÁ  )r   rÃ  r,   r8  *  s   z"wrap_torch_function.<locals>.innerr+   )rÁ  r8  r+   rÆ  r,   r     s   r   rÂ  Úget_type_fnc           	      C   s²   |du rt }tj ¡ sg S tƒ }g }| D ]B}||ƒ}||vrVt|dƒrV|jtjjkrV|rP| |¡ t	|ƒ}t
|ƒD ]\}}t|||ƒƒrH|} nq9| ||¡ q|h}|g}q|S )a
  Returns a list of arguments on which to call __torch_function__.

    Checks arguments in relevant_args for __torch_function__ implementations,
    storing references to the arguments and their types in overloaded_args and
    overloaded_types in order of calling precedence. Only distinct types are
    considered. If a type is a subclass of another type it will have higher
    precedence, otherwise the precedence order is the same as the order of
    arguments in relevant_args, that is, from left-to-right in the argument list.

    The precedence-determining algorithm implemented in this function is
    described in `NEP-0018`_.

    See torch::append_overloaded_arg for the equivalent function in the C++
    implementation.

    Parameters
    ----------
    relevant_args : iterable of array-like
        Iterable of array-like arguments to check for __torch_function__
        methods.

    get_type_fn : callable, optional
        Function to call on each argument in relevant_args to get its type.

    Returns
    -------
    overloaded_args : list
        Arguments from relevant_args on which to call __torch_function__
        methods, in the order in which they should be called.

    .. _NEP-0018:
       https://numpy.org/neps/nep-0018-array-function-protocol.html
    Nr]   )r   r   Ú_CZ_is_torch_function_enabledÚsetr·  r]   Ú_disabled_torch_function_implr  r¼  Ú	enumerateÚ
issubclassÚinsert)	rÂ  rÇ  Zoverloaded_typesÚoverloaded_argsÚargZarg_typer  ÚiZold_argr+   r+   r,   Ú_get_overloaded_args8  s2   %
ÿ
þ€rÑ  Ú
public_apic                 O   s  t |ƒ}ttt|ƒƒ}tƒ r/tƒ }| | |||¡}W d  ƒ n1 s$w   Y  |tur/|S |D ]*}|j}	t|	dƒrL|	j	|u rL|	t
jjurLt dt¡ |	| |||ƒ}|tur[|  S q1| j› d| j› }
d|
› ddd„ |D ƒ› }tƒ r}|d	tƒ › 7 }t|ƒ‚)
a=  Implement a function with checks for ``__torch_function__`` overrides.

    See torch::autograd::handle_torch_function for the equivalent of this
    function in the C++ implementation.

    Arguments
    ---------
    public_api : function
        Function exposed by the public torch API originally called like
        ``public_api(*args, **kwargs)`` on which arguments are now being
        checked.
    relevant_args : iterable
        Iterable of arguments to check for __torch_function__ methods.
    args : tuple
        Arbitrary positional arguments originally passed into ``public_api``.
    kwargs : tuple
        Arbitrary keyword arguments originally passed into ``public_api``.

    Returns
    -------
    object
        Result from calling ``implementation`` or an ``__torch_function__``
        method, as appropriate.

    Raises
    ------
    TypeError : if no implementation is found.

    Example
    -------
    >>> def func(a):
    ...     if has_torch_function_unary(a):
    ...         return handle_torch_function(func, (a,), a)
    ...     return a + 0
    NÚ__self__z„Defining your `__torch_function__ as a plain method is deprecated and will be an error in future, please define it as a classmethod.Ú.zno implementation found for 'z.' on types that implement __torch_function__: c                 S   ó   g | ]}t |ƒ‘qS r+   )r   )Ú.0rÏ  r+   r+   r,   Ú
<listcomp>×  ó    z)handle_torch_function.<locals>.<listcomp>z nor in mode )rÑ  ÚtupleÚmapr   r   Ú_pop_mode_temporarilyr]   ÚNotImplementedr·  rÓ  r   rÈ  rÊ  r$   ÚwarnÚDeprecationWarningÚ
__module__rº  Ú_get_current_function_modeÚ	TypeError)rÒ  rÂ  r(   r)   rÎ  Útypesr   ÚresultZoverloaded_argZtorch_func_methodÚ	func_namer˜   r+   r+   r,   r   †  s<   *ÿÿ
ýÿÿÿr   aú  Check for __torch_function__ implementations in the elements of an iterable
    or if a __torch_function__ mode is enabled.  Considers exact ``Tensor`` s
    and ``Parameter`` s non-dispatchable.  Use this to guard a call to
    :func:`handle_torch_function`; don't use it to test if something
    is Tensor-like, use :func:`is_tensor_like` instead.
    Arguments
    ---------
    relevant_args : iterable
        Iterable or arguments to check for __torch_function__ methods.
    Returns
    -------
    bool
        True if any of the elements of relevant_args have __torch_function__
        implementations, False otherwise.
    See Also
    ________
    torch.is_tensor_like
        Checks if something is a Tensor-like, including an exact ``Tensor``.
    zÓSpecial case of `has_torch_function` for single inputs.
    Instead of:
      `has_torch_function((t,))`
    call:
      `has_torch_function_unary(t)`
    which skips unnecessary packing and unpacking work.
    a'  Special case of `has_torch_function` that skips tuple creation.

    This uses the METH_FASTCALL protocol introduced in Python 3.7

    Instead of:
      `has_torch_function((a, b))`
    call:
      `has_torch_function_variadic(a, b)`
    which skips unnecessary packing and unpacking work.
    c            
      C   s\  t  t¡} i }dttjfdtjtjjfdtjjttjjƒfdtjjttjjƒfdtj	ttj	ƒfdtj
ttj
ƒfdtjttjƒfdtjttjƒfg}|D ]Þ\}}}|D ]Ö}d	}|tj	ur€| d
¡raqR| d¡rid}n*| d¡rqd}n"|d  ¡ szd}n|dkrqRnt||ƒ}tt|d ƒ|krŽqR|dkr“qRt||ƒ}|tj	u r¦tt|d ƒ|kr¦qRt|tjƒr­qRt|tjƒr´qRt|ƒs÷t|dƒr÷|› d|› d||j< |› d|› d||j< |rÖqR|jtƒ v rîd}	|jtƒ vsíJ |	 ||j¡ƒ‚qR| |  |j¡ qRt|ƒsüqR|› d|› ||< |r	qR|tƒ v r!d}	|tƒ vs J |	 ||j¡ƒ‚qR| |  |¡ qRqK| |fS )Nr   ztorch.functionalztorch.nn.functionalztorch.nn.initztorch.Tensorztorch.linalgz	torch.fftztorch.specialFr  r  Tr   Z
unique_dimÚ__weakref__rh   rÔ  z.__get__z.__set__zk{}.{} is in the tuple returned by torch._overrides.get_ignored_functions but still has an explicit override) ÚcollectionsÚdefaultdictÚlistr   Ú__all__rJ   rI   ÚdirrO   r/   r  r@   rl  r»  ÚendswithÚislowerr¸  ÚobjectÚ
isinstancerâ  Ú
ModuleTypeÚ
__future__Ú_Featureró  r·  rh   Ú__set__r   r   Úformatrº  rí   )
Úoverridable_funcsr  Ztested_namespacesZnamespace_strÚ	namespaceZns_funcsrä  r!   r   r˜   r+   r+   r,   Ú_get_overridable_functions  s†   

ø




ÿ

ÿÿÿÿ¾Crö  c                   C   s
   t ƒ d S )a  List functions that are overridable via __torch_function__

    Returns
    -------
    Dict[Any, List[Callable]]
        A dictionary that maps namespaces that contain overridable functions
        to functions in that namespace that can be overridden.
    r   )rö  r+   r+   r+   r,   r   f  s   

r   c                 C   s.   t | tjjtjjfƒrt| ƒS tƒ d  | ¡S )a&  Get a human readable string name for a function passed to
    __torch_function__

    Arguments
    ---------
    f : Callable
        Function to resolve the name of.

    Returns
    -------
    str
        Name of the function; if eval'ed it should give back the input
        function.
    r|   )rî  r   Z_opsZ
OpOverloadZOpOverloadPacketÚstrrö  Úget)Úfr+   r+   r,   r   s  s   r   c                  C   s   t ƒ } t| tj ƒ}|S )z<Returns a set of the overridable methods on ``torch.Tensor``)r   rÉ  r   r/   )rô  Úmethodsr+   r+   r,   Ú_get_tensor_methodsˆ  s   rû  c                 C   s   | t ƒ v p	| jdkS )aw  
    Returns True if the function passed in is a handler for a
    method or property belonging to ``torch.Tensor``, as passed
    into ``__torch_function__``.

    .. note::
       For properties, their ``__get__`` method must be passed in.

    This may be needed, in particular, for the following reasons:

    1. Methods/properties sometimes don't contain a `__module__` slot.
    2. They require that the first passed-in argument is an instance
       of ``torch.Tensor``.

    Examples
    --------
    >>> is_tensor_method_or_property(torch.Tensor.add)
    True
    >>> is_tensor_method_or_property(torch.add)
    False
    rh   )rû  rº  rÅ  r+   r+   r,   r     s   r   c                 C   s   t | ƒtju pt| dƒS )a9  
    Returns ``True`` if the passed-in input is a Tensor-like.

    Currently, this occurs whenever there's a ``__torch_function__``
    attribute on the type of the input.

    Examples
    --------
    A subclass of tensor is generally a Tensor-like.

    >>> class SubTensor(torch.Tensor): ...
    >>> is_tensor_like(SubTensor([0]))
    True

    Built-in or user types aren't usually Tensor-like.

    >>> is_tensor_like(6)
    False
    >>> is_tensor_like(None)
    False
    >>> class NotATensor: ...
    >>> is_tensor_like(NotATensor())
    False

    But, they can be made Tensor-like by implementing __torch_function__.

    >>> class TensorLike:
    ...     @classmethod
    ...     def __torch_function__(cls, func, types, args, kwargs):
    ...         return -1
    >>> is_tensor_like(TensorLike())
    True
    r]   )r   r   r/   r·  )Úinpr+   r+   r,   r   ª  s   "r   c                   @   sJ   e Zd ZU dZd ed< ddd„Zddd	„Zd
d„ Zdd„ Ze	dd„ ƒZ
dS )ÚTorchFunctionModea  
    A ``TorchFunctionMode`` allows you to override the meaning of all
    ``__torch_function__`` overrideable functions within a dynamic scope,
    without having to actually create a tensor subclass or manually
    monkey-patch functions in the PyTorch API.  Some common situations
    where you should use a mode:

        * You want to override the meaning of factory functions, or other
          functions that do not otherwise take a tensor as an argument
          (these cannot be overridden with tensor subclasses).

        * You want to override the behavior of all functions without needing
          to wrap your inputs in tensor subclasses; e.g., if you are just
          interested in logging intermediate computations.

        * You want to control the order of execution of various tensor
          subclasses explicitly, rather than implicitly via the return of
          ``NotImplemented``.

    Independent subclasses of :class:`TorchFunctionMode` are compositional:
    modes can be pushed onto a stack using ``with MyMode():``.
    When you call functions in the PyTorch API inside your
    ``__torch_function__`` implementation, by default, they will forward on to
    the next mode on the mode stack.  If you want recursively call back into
    your current ``__torch_function__`` implementation, either explicitly
    invoke ``self.__torch_function__(...)``, or use the context manager
    ``enable_torch_function_mode(self, replace=self.inner)`` to make PyTorch
    API self-referential (beware of infinite loops, in this case!)
    r8  r    Nc                 C   s   d S r	  r+   rá  r+   r+   r,   rX   ñ  ó   zTorchFunctionMode.__init__r+   c                 C   s   t ‚r	  )ÚNotImplementedError©r¹   r   râ  r(   r)   r+   r+   r,   r]   ô  rþ  z$TorchFunctionMode.__torch_function__c                 C   s   t | ƒ | S r	  )Ú
_push_moderá  r+   r+   r,   Ú	__enter__÷  s   zTorchFunctionMode.__enter__c                 C   s
   t ƒ  d S r	  )Ú	_pop_mode)r¹   Úexc_typeÚexc_valÚexc_tbr+   r+   r,   Ú__exit__û  s   
zTorchFunctionMode.__exit__c                 O   s   t  d¡ | |i |¤Ž}|S )NzP`Mode.push()` is no longer necessary and can be replaced with just `with Mode()`)r$   rÝ  )Úclsr(   r)   Úinstancer+   r+   r,   Úpushþ  s
   ÿzTorchFunctionMode.push)r    N©r+   N)rº  rß  Ú__qualname__Ú__doc__Ú__annotations__rX   r]   r  r  Úclassmethodr
  r+   r+   r+   r,   rý  Ï  s   
 

rý  c                  C   s   t ƒ } | dkrt| d ƒS d S )Nr   r|   )r   r	   ©Z	stack_lenr+   r+   r,   rà    s   rà  c                  C   s   t ƒ } dd„ t| ƒD ƒS )Nc                 S   rÕ  r+   )r	   )rÖ  rÐ  r+   r+   r,   r×    rØ  z4_get_current_function_mode_stack.<locals>.<listcomp>)r   rF   r  r+   r+   r,   Ú _get_current_function_mode_stack  s   r  c                 C   s   t | ƒ d S r	  )r   )r   r+   r+   r,   r    s   r  c                  C   s
   t ƒ } | S r	  )r   ©Úoldr+   r+   r,   r    s   r  c                  c   s(    t ƒ } z
| V  W t| ƒ d S t| ƒ w r	  )r  r  r  r+   r+   r,   rÛ    s
   €rÛ  c                   @   s   e Zd Zddd„ZdS )ÚBaseTorchFunctionModer+   Nc                 C   s   |d u ri }||i |¤ŽS r	  r+   r   r+   r+   r,   r]   $  s   z(BaseTorchFunctionMode.__torch_function__r  )rº  rß  r  r]   r+   r+   r+   r,   r  #  s    r  c               	   c   sF    t j ¡ } zt j t jjj¡ d V  W t j | ¡ d S t j | ¡ w r	  )r   rÈ  Z_get_torch_function_stateZ_set_torch_function_stateZ_TorchFunctionStateZENABLED)Ú	old_stater+   r+   r,   Ú_enable_torch_function*  s   €
r  c                   c   s@    t j ¡  zd V  W nw W d   ƒ d S 1 sw   Y  d S r	  )r   rÈ  Z_RestorePythonTLSSnapshotr+   r+   r+   r,   r   4  s   €	"ür   )r   r   r	  )<r  rð  ræ  Ú
contextlibrÄ  râ  r$   Úcollections.abcr   r   Útypingr   r   r   r   Ztorch._Cr   r	   r
   r   r   r   r   r   r   ré  r÷  r.   Ú	lru_cacherÉ  r   rm   Údictr   r   r   rè  rÑ  r   r   rK   rL   rÙ  rö  r   r   rû  r¡  r   r   rý  rà  r  r  r  ÚcontextmanagerrÛ  r  r  r   r+   r+   r+   r,   Ú<module>   sÀ    ,ýÿþý
ü#           (þÿþ
ýNÿþ
ûXþþþÿV
%8

	