Ë
    ùÿæi¥$  ã                  óÔ   — d dl mZ d dlmZ d dlmZmZmZ d dlm	Z	m
Z
mZmZmZmZmZ dZdd„Zdd„Zdd	œ	 	 	 	 	 	 	 dd
„Z	 	 	 	 	 	 	 	 dd„Z	 	 	 	 	 	 	 	 	 	 dd„Z	 	 	 	 	 	 	 	 	 	 dd„Zy)é    )Úannotations)Úcpp)ÚBindingÚCppSignatureGroupÚCType)ÚArgumentÚBaseTyÚBaseTypeÚListTypeÚNativeFunctionÚOptionalTypeÚTypez
	c                óJ   — | j                   j                  j                  «       S )N)ÚfuncÚnameÚunambiguous_name)Úfs    új/Volumes/fast/ai/experiments/voice-extract-mac/.venv/lib/python3.12/site-packages/torchgen/api/unboxing.pyr   r   e   s   € Ø�6‰6�;‰;×'Ñ'Ó)Ð)ó    c                óf  — t        j                  | d¬«      j                  «       j                  «       }t	        t        |«      «      D �cg c]$  }d||   j                  › d|› dt        |«      › d�‘Œ& c}dgz   }g }|D ]©  }t        |j                  t        «      st        d|› �«      ‚|j                  }t        |j                  |j                  |j                  ¬	«      \  }}}	}
|j                  |
«       |j                  |	«       |j                  |j!                  |«      «       Œ« ||fS c c}w )
NF)Úmethodzc10::IValue z = std::move(peek(stack, ú, z));Ú z7Unexpected argument type, expecting `Argument` but got ©Úmutable)r   Úfrom_native_functionÚmost_faithful_signatureÚ	argumentsÚrangeÚlenr   Ú
isinstanceÚargumentr   Ú	ExceptionÚargumenttype_ivalue_convertÚtypeÚis_writeÚextendÚappendÚ	with_name)r   ÚargsÚiÚ	code_listÚbinding_listÚargr"   Úunboxed_nameÚ_ÚcodeÚdecls              r   Úconvert_argumentsr3   j   s1  € ô 	×.Ñ.¨q¸Ô?ß	 Ñ	 Ó	"ß	‰‹ð 	ô ”s˜4“yÔ!óá!ˆAð �t˜A‘w—|‘|�nÐ$=¸a¸SÀÄ3ÀtÃ9À+ÈSÒQØ!ñð 
ˆñ€Ið €LÛˆä˜#Ÿ,™,¬Ô1ÜØIÈ#ÈÐOóð ð !Ÿ\™\ˆÜ&AØ�M‰MØ�M‰MØ×%Ñ%ô'
Ñ#ˆ�a˜˜tð
 	×Ñ˜ÔØ×Ñ˜ÔØ×Ñ˜CŸM™M¨,Ó7Õ8ð ð ˜Ð"Ð"ùò)s   Á
)D.Fr   c               ód  — t        j                  | ||d¬«      j                  }t        | t        «      r|› d�}t        |||¬«      \  }}nat        | t        «      r|› d�}t        ||| |¬«      \  }}n9t        | t        «      r|› d�}t        ||| |¬«      \  }}nt        d| › d	|› �«      ‚||||fS )
NF)Útr   ÚbindsÚsymintÚ_base©Úarg_nameÚout_nameÚctypeÚ_opt_out)r:   r;   r5   r<   Ú	_list_outzCannot handle type z. arg_name: )r   Úargumenttype_typer%   r!   r
   Ú_gen_code_base_typer   Ú_gen_code_optional_typer   Ú_gen_code_list_typer#   )r5   r:   r   r<   r;   r1   r2   s          r   r$   r$   ‹   sà   € ô ×!Ñ!Ø
�W H°Uôç
�dð 
ô �!”XÔØ�Z˜uÐ%ˆÜ(Ø¨¸ô
‰
ˆ‰dô 
�A”|Ô	$Ø�Z˜xÐ(ˆÜ,ØØØØô	
‰
ˆ‰dô 
�A”xÔ	 Ø�Z˜yÐ)ˆÜ(ØØØØô	
‰
ˆ‰dô Ð-¨a¨S°¸X¸JÐGÓHÐHØ�U˜D $Ð&Ð&r   c           	     ód   — |j                  d¬«      › d|› d| › d|j                  d¬«      › d�gg fS )NT©Ú	strip_refÚ ú = z.to<z>();)Úcpp_typer9   s      r   r@   r@   ­   sL   € ð �>‰> Dˆ>Ó)Ð
*¨!¨H¨:°S¸¸
À$ÀuÇ~Á~Ð`dÀ~ÓGeÐFfÐfjÐkðà	ð
ð 
r   c                ó>  — | › d�}t        |j                  |«      \  }}}}d| › d| › d|j                  d¬«      › d|› d| › d	|› d
| › dt        j	                  |«      › d|› d
|j                  d¬«      › d|› d|› d
|j                  d¬«      › d�j                  d«      |fS )NÚ_opt_inz
auto z_opt = z.toOptional<c10::IValue>();
TrD   rF   z;
if (z*_opt.has_value()) {
    const c10::IValue rG   z_opt.value();
    ú
    Ú(z);
} else {
    z();
}
        Ú
)r$   ÚelemrH   Ú	connectorÚjoinÚsplit)	r:   r;   r5   r<   Úin_nameÚres_namer0   Úres_coder2   s	            r   rA   rA   µ   sã   € ð �
˜'Ð"€GÜ"=¸a¿f¹fÀgÓ"NÑ€Hˆa�˜4ðØ€Zˆw�x�jð !Ø‡�˜$€ÓÐ    ( ð ,Ø€Jð Ø�i˜s 8 *ð -Ü‡^�^�HÓÐð Ø€Jˆc�%—.‘.¨4�.Ó0Ð1°°8°*ð =à€Jˆc�%—.‘.¨4�.Ó0Ð1ð 2	ð
	÷ ‰E�$‹KØðð r   c                ó¾  — | › d�}| › d�}d|› d| › d�g}t        |j                  |«      \  }}}	}
t        |j                  t        «      r‘|j                  j                  t
        j                  k(  rj|j                  r^|j                  d|j                  d¬«      › d	|› d
|j                  d¬«      › d|j                  › d|› d�j                  d«      «       ||
fS t        |j                  t        «      r]|j                  d|j                  d¬«      › d	|› d|› d|› dt        j                  |	«      › d|› d|› d�j                  d«      «       ||
fS | dz   }|
j                  d|j                  d¬«      › d|› d�«       |j                  d|› d|› dt        j                  |	«      › d|› d|› d|j                  d¬«      › d	|› d|› d�j                  d«      «       ||
fS )NÚ_list_inÚ_elemzconst c10::List<c10::IValue> rG   z
.toList();rM   TrD   rF   z = as_array<r   z>(z);
            z;
for (c10::IValue z: z) {
    rK   z.push_back(z);
}
            Ú_veczstd::vector<z> Ú;z
for (c10::IValue z);
}
rL   )r$   rN   r!   r
   r   r	   ÚboolÚsizer'   rH   rQ   r   rO   rP   r(   )r:   r;   r5   r<   rR   Ú	elem_namer1   rS   Ú	res_ctyperT   r2   Úvec_names               r   rB   rB   Ê   s0  € ð �
˜(Ð#€GØ�*˜EÐ"€IØ+¨G¨9°C¸°zÀÐLÐM€DÜ*EÀaÇfÁfÈiÓ*XÑ'€Hˆi˜ 4ä�!—&‘&œ(Ô#¨¯©¯©´v·{±{Ò(BÀqÇvÂvØ�‰ðØ‡�˜$€ÓÐ    ( ¨<¸	×8JÑ8JÐUYÐ8JÓ8ZÐ7[Ð[]Ð^_×^dÑ^dÐ]eÐegÐhoÐgpð qðç‘�d“ô	
ð< �ˆ:Ðô1 
�A—F‘FœLÔ	)Ø�‰ðØ‡�˜$€ÓÐ    ( ð ,Ø�˜B˜w˜ið (Ü‡^�^�HÓÐð Ø€Jˆk˜(˜ð $ð	÷ ‘�d“ô	
ð. �ˆ:Ðð ˜fÑ$ˆà�‰�l 9×#5Ñ#5ÀÐ#5Ó#EÐ"FÀbÈÈ
ÐRSÐTÔUØ�‰ðØ�˜B˜w˜ið (Ü‡^�^�HÓÐð Ø€Jˆk˜(˜ð $à‡�˜$€ÓÐ    ( ¨1¨X¨Jð 7ð÷ ‘�d“ô	
ð �ˆ:Ðr   N)r   r   ÚreturnÚstr)r   r   r_   ztuple[list[Binding], list[str]])r5   r   r:   r`   r   rZ   r_   z'tuple[str, CType, list[str], list[str]])r:   r`   r;   r`   r<   r   r_   útuple[list[str], list[str]])
r:   r`   r;   r`   r5   r   r<   r   r_   ra   )
r:   r`   r;   r`   r5   r   r<   r   r_   ra   )Ú
__future__r   Útorchgen.apir   Útorchgen.api.typesr   r   r   Útorchgen.modelr   r	   r
   r   r   r   r   rO   r   r3   r$   r@   rA   rB   © r   r   Ú<module>rg      sÝ   ðÝ "å ß @Ñ @÷÷ ñ ðx €	ó*ó
#ðD 05ñ'Øð'Øð'Ø(,ð'à,ó'ðD
Øð
Ø ð
Ø).ð
à ó
ðØðØ ðØ%1ðØ:?ðà óð*'Øð'Ø ð'Ø%-ð'Ø6;ð'à ô'r   