
    i              
           d dl mZmZmZmZ ddlmZ ddlmZ eedf   Z	eedf   Z
 ej                  d      deded	ee	e
f   fd
       Zdee	e
f   de	ded	ee
ef   fdZ	 ddee	e
f   dee	   dee
   d	dfdZy)    )AnyCallableOptionalTuple   )registry)Model.zwith_getitem.v1idxlayerreturnc                 T    t        d|j                   dt        t        |gd| i      S )z]Transform data on the way into and out of a layer, by plucking an item
    from a tuple.
    zwith_getitem()r
   )initlayersattrs)r	   nameforwardr   )r
   r   s     j/var/www/vps2.regionflexible.com/Desarrollo/venv/lib/python3.12/site-packages/thinc/layers/with_getitem.pywith_getitemr   
   s3    
 


|1%wcl     modelitemsis_trainc                     | j                   d    | j                  d   |   |      \  }dt        dt        ffd}|d  |fz   |dz   d  z   |fS )Nr
   r   d_outputr   c                 >     |          }| d  |fz   | dz   d  z   S )N    )r   dY_ibackprop_itemr
   s     r   backpropzforward.<locals>.backprop   s4    Xc]+~'(379*===r   r   )r   r   OutTInT)r   r   r   Y_ir!   r    r
   s        @@r   r   r      so     ++e
C(asX>C>4 >C > #;#%a	"22H<<r   NXYc                     | j                   d   }|||   n|}|||   n|}| j                  d   j                  ||       y )Nr
   r   )r%   r&   )r   r   
initialize)r   r%   r&   r
   X_ir$   s         r   r   r   %   sK     ++e
CM!C&qCM!C&qC	LLO,r   )NN)typingr   r   r   r   configr   r   r	   r#   r"   r   intr   boolr   r   r   r   r   <module>r.      s    1 1  CHoS#X "#
c 
% 
E#t),< 
 $

=d
=$'
=37
=
4>
= KO-d- (-9A$-	-r   