
    ^j                       d Z ddlmZ ddlZddlmZmZmZmZ ddl	m
Z
mZ ddlmZ er
ddlmZmZmZ g d	Z ed
      Z ed      Z ed      Z e
d      Z ed      Z ed      Z ed      Z e
d      Zedd       Ze	 	 	 	 	 	 	 	 d d       Z eej6                  d      d!d       Z eej8                  d      d"d       Z eej:                  d      d#d       Z eej<                        d"d       Zed$d       Ze	 	 	 	 	 	 	 	 d%d       Z eej>                  d      d&d       Z eej@                  d      d'd       Z y)(z
Python polyfills for operator
    )annotationsN)AnyoverloadTYPE_CHECKINGTypeVar)TypeVarTupleUnpack   )substitute_in_graph)CallableIterableSequence)
attrgetterconcatcountOficoncat
itemgettermethodcaller_T_T1_T2_Ts_U_U1_U2_Usc                    y N )attrs    k/var/www/ramen.bs-engineer-server.com/venv/lib/python3.12/site-packages/torch/_dynamo/polyfills/operator.pyr   r       s    58    c                    y r   r   )attr1attr2attrss      r!   r   r   %        58r"   T)is_embedded_typec                      t               dk(  rt        d      t        d  D              rt        d      d	dt               dk(  r d   d
fd}|S d fd}|S )Nr   z%attrgetter expected 1 argument, got 0c              3  >   K   | ]  }t        |t                 y wr   )
isinstancestr).0r    s     r!   	<genexpr>zattrgetter.<locals>.<genexpr>2   s     
7z$$$
7s   zattribute name must be a stringc                J    |j                  d      D ]  }t        | |      }  | S )N.)splitgetattr)objr    names      r!   resolve_attrz attrgetter.<locals>.resolve_attr5   s*    JJsO 	%D#t$C	%
r"      c                     |       S r   r   )r3   r    r5   s    r!   getterzattrgetter.<locals>.getter=   s    T**r"   c                0     t         fdD              S )Nc              3  0   K   | ]  } |        y wr   r   )r-   r    r3   r5   s     r!   r.   z-attrgetter.<locals>.getter.<locals>.<genexpr>C   s     CTc40Cs   tuple)r3   r&   r5   s   `r!   r8   zattrgetter.<locals>.getterB   s    CUCCCr"   )r3   r   r    r,   returnr   r3   r   r=   r   r3   r   r=   ztuple[Any, ...])len	TypeErrorany)r&   r8   r    r5   s   ` @@r!   r   r   -   sh    
5zQ?@@

7
779::
 5zQQx	+ M	D Mr"   )can_constant_fold_throughc                   | |z   S r   r   abs     r!   r   r   I   s    q5Lr"   c               ,    t        fd| D              S )Nc              3  4   K   | ]  }|u xs |k(    y wr   r   )r-   itrG   s     r!   r.   zcountOf.<locals>.<genexpr>Q   s!     .brQw!"'!.s   )sumrE   s    `r!   r   r   O   s    .A...r"   c                   | |z  } | S r   r   rE   s     r!   r   r   U   s    FAHr"   c                    y r   r   )items    r!   r   r   [   s    47r"   c                    y r   r   )item1item2itemss      r!   r   r   `   r'   r"   c                 ~     t               dk(  rt        d      t               dk(  r d   dfd}|S d fd}|S )Nr   z%itemgetter expected 1 argument, got 0r6   c                    |    S r   r   )r3   rN   s    r!   r8   zitemgetter.<locals>.getterp   s    t9r"   c                .     t         fdD              S )Nc              3  (   K   | ]	  }|     y wr   r   )r-   rN   r3   s     r!   r.   z-itemgetter.<locals>.getter.<locals>.<genexpr>v   s     5tT5s   r;   )r3   rR   s   `r!   r8   zitemgetter.<locals>.getteru   s    5u555r"   r>   r?   )r@   rA   )rR   r8   rN   s   ` @r!   r   r   h   sF    
5zQ?@@
5zQQx	 M	6 Mr"   c               R     t         t              st        d      d fd}|S )Nzmethod name must be a stringc                (     t        |       i S r   )r2   )r3   argskwargsr4   s    r!   callerzmethodcaller.<locals>.caller   s    !wsD!42622r"   r>   )r+   r,   rA   )r4   rY   rZ   r[   s   ``` r!   r   r   |   s%    dC 6773 Mr"   )r    r,   r=   Callable[[Any], _U])r$   r,   r%   r,   r&   r,   r=   -Callable[[Any], tuple[_U1, _U2, Unpack[_Us]]])r&   r,   r=   &Callable[[Any], Any | tuple[Any, ...]])rF   zSequence[_T]rG   zSequence[_T2]r=   zSequence[_T | _T2])rF   zIterable[_T]rG   r   r=   int)rN   r   r=   r\   )rP   r   rQ   r   rR   zUnpack[_Ts]r=   r]   )rR   r   r=   r^   )r4   r,   rY   r   rZ   r   r=   zCallable[[Any], Any])!__doc__
__future__r   operatortypingr   r   r   r   typing_extensionsr   r	   
decoratorsr   collections.abcr   r   r   __all__r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r"   r!   <module>rh      s   #  8 8 2 , << W T]enen5T]enen5 
 8 
 8 
888'*828 
8 X((4@ A6 X__E F
 X%%F/ G/
 X%%& '
 
 7 
 7 
888'2828 
8 X((4@ A& X**TB Cr"   