
    i              
          d dl mZmZmZmZmZmZmZmZ ddl	m
Z
 ddlmZ  ed      Z ed      Z ed      Zeee      Zee   Z e
j$                  d      d	eee   ee   f   d
eee   ee   f   fd       Zdeee   ee   f   dee   ded
eee   ef   fdZdee   d
eee   ee   f   fdZdee   dee   d
ee   fdZ	 	 ddeee   ee   f   deee      deee      d
dfdZy)    )AnyCallableListOptionalSequenceTupleTypeVarcast   )registry)ModelInItemTOutItemTItemTzwith_flatten.v2layerreturnc                 N    t        d| j                   dt        | gt              S )Nzwith_flatten())layersinit)r   nameforwardr   )r   s    m/var/www/vps2.regionflexible.com/Desarrollo/venv/lib/python3.12/site-packages/thinc/layers/with_flatten_v2.pywith_flatten_v2r      s$     =A.dSS    modelXnestis_trainc                    	 | j                   d   }t        |      \  }	 |||      \  }t        |	      }dt        t           dt        t
           f	fd}||fS )Nr   dYnestr   c                 L    t        |       \  }} |      }t        |      }|S N)_flatten
_unflatten)r    dYflat_dXflatdXnestbackprop_layerlenss        r   backpropzforward.<locals>.backprop   s,    V$	'FD)r   )r   r#   r$   NestedTr   r   )
r   r   r   r   XflatYflatYnestr+   r)   r*   s
           @@r   r   r      se    
 5:LLOE5/KE4!%2E>ud#E) gh.?  (?r   nestedc                     g }g }| D ]-  }|j                  |       |j                  t        |             / t        t        t
           |      |fS r"   )extendappendlenr
   FlatTr   )r0   flatr*   items       r   r#   r#   )   sO    DD DCI ed#T))r   r6   r*   c                 J    g }|D ]  }|j                  | d |        | |d  }  |S r"   )r3   )r6   r*   r0   ls       r   r$   r$   2   s:    F d2AhABx Mr   NXYc                     | j                   d   j                  |t        |      d   nd |7| j                   d   j                  j                  j                  |             y d        y )Nr   )r   
initializer#   opsxphstack)r   r:   r;   s      r   r   r   :   sY    
 
LLO-AT,-MQ%%a(?Cr   )NN)typingr   r   r   r   r   r   r	   r
   configr   r   r   r   r   r   r,   r5   r   r   boolr   intr#   r$   r    r   r   <module>rF      s   P P P  
)
:
tE{
U "#Twx01T
77WX../T $T!78#4457  78h&'	(*WU^ *eElDI.E(F *U5\ c wu~  %)%)!78#445 ! !" 
	r   