
    JTh                        S SK Jr  S SKrS SKJr  \(       a  S SKJrJr   " S S5      r\	S:X  a)  \" S5      r
\" \
R                  S	S
/SS/SSSS// S95        gg)    )annotationsN)TYPE_CHECKING)MappingSequencec                      \ rS rSr% Sr\R                  " \\R                  5      rS\	S'   S\	S'   \
SS j5       rSSS jjr S     SS	 jjrS
rg)CodeTemplate   z-(^[^\n\S]*)?\$([^\d\W]\w*|\{,?[^\d\W]\w*\,?})strpatternfilenamec                    [        U 5       n[        UR                  5       U 5      sS S S 5        $ ! , (       d  f       g = fN)openr   read)r   fs     N/var/www/auris/envauris/lib/python3.13/site-packages/torchgen/code_template.py	from_fileCodeTemplate.from_file   s%    (^q(3 ^^s   0
>c                    Xl         X l        g r   )r   r   )selfr   r   s      r   __init__CodeTemplate.__init__!   s         Nc                   ^^^^ Tc  0 mSUU4S jjmSS jmSUU4S jjnU R                   R                  X0R                  5      $ )Nc                .   > Tc   eU T;   a  TU    $ TU    $ r    )venvkwargss    r   lookup'CodeTemplate.substitute.<locals>.lookup+   s&    ?"? !V6!97Q7r   c           	         SR                  U VVs/ s H+  n[        U5      R                  5         H
  o0U-   S-   PM     M-     snn5      R                  5       $ s  snnf )N 
)joinr
   
splitlinesrstrip)indentr   els       r   indent_lines-CodeTemplate.substitute.<locals>.indent_lines/   sM    77,-KAqs1v7H7H7J!!d"7J"AKfhKs   2A
c                  > U R                  S5      nU R                  S5      nSnSnUS   S:X  a%  USS nUS   S:X  a  SnUSS  nUS   S:X  a  SnUS S nT	" U5      nUb   [        U[        5      (       d  U/nT" X5      $ [        U[        5      (       aC  SR                  U Vs/ s H  n[	        U5      PM     sn5      n[        U5      S:X  a  U$ X7-   U-   $ [	        U5      $ s  snf )	N      r#   r   {,z, )group
isinstancelistr%   r
   len)
matchr(   keycomma_beforecomma_afterr   xmiddler+   r    s
           r   replace(CodeTemplate.substitute.<locals>.replace4   s    [[^F++a.CLK1v}!Biq6S=#'Lab'Cr7c>"&Kcr(CsA!!!T**A#F..At$$A#6AqCFA#67q6Q;!M#,{::1v $7s   %C$)r   r
   returnobject)r(   r
   r   zSequence[object]r?   r
   )r7   zre.Match[str]r?   r
   )substitutionsubr   )r   r   r   r=   r+   r    s    `` @@r   
substituteCodeTemplate.substitute%   sE     ;C	8 	8	
	 	4   $$Wll;;r   )r   r   )r   r
   r?   r   )r#   )r   r
   r   r
   r?   Noner   )r   zMapping[str, object] | Noner   r@   r?   r
   )__name__
__module____qualname____firstlineno__substitution_strrecompile	MULTILINErA   __annotations__staticmethodr   r   rC   __static_attributes__r   r   r   r   r      se    G::.=LLM4 4!
 26)<.)<AG)<	)< )<r   r   __main__z    int foo($args) {

        $bar
            $bar
        $a+$b
    }
    int commatest(int a${,stuff})
    int notest(int a${,empty,})
    hi   what         z	things...others)argsbarabstuffempty)
__future__r   rK   typingr   collections.abcr   r   r   rF   cprintrC   r   r   r   <module>rd      sy    " 	   19< 9<x z			A 
	) 	 	
	 r   