
    `i              	          d dl mZ d dlmZ d dlmZ d dlmZm	Z	 de	ee
f         dee
         fdZdee
         d	ee         d
ee
         de
fdZ	 dde
d	ee	ee
         ee         e
f                  de
fdZedk    rTd dlZ eej                  dk     r ed            ej        d            e eej        d                              dS dS )    )SequencePath)match)OptionalUnionfnamereturnc                     t          | d          5 }|                                cd d d            S # 1 swxY w Y   d S )Nzutf-8)encoding)open	readlines)r	   fs     r/home/jaya/work/projects/VOICE-AGENT/VIET/agent-env/lib/python3.11/site-packages/torch/utils/_cpp_embed_headers.py	read_filer      s    	eg	&	&	& !{{}}                 s   377contentinclude_dirsprocessed_filesc                    t          |           D ]\  }}|                    d          rd| |<    t          d|          }|3|D ]|}||d         z  }|                                s"t	          |          |v rd| |<   9|                    t	          |                     t          t          |          ||          | |<    d                    |           S )Nz#pragma once z^\s*#include\s*[<"]([^>"]+)[>"]   )		enumerate
startswith_matchexistsstradd_embed_headersr   join)r   r   r   line_idxcur_lineminclude_dirpaths           r   r   r      s     (00  (~.. 	 "GH6AA9' 	 	K1%D;;== 4yyO++$&!D		*** .$! !GH 777    Nc                    |.t          t                    j        j        j        }||dz  dz  g}n2t          |t                    rt          |          g}nd |D             }t          t          |           || h          S )Natensrcc                 ,    g | ]}t          |          S  r   ).0xs     r   
<listcomp>z!embed_headers.<locals>.<listcomp>/   s    666AQ666r%   )r   __file__parent
isinstancer   r   r   )r	   r   base_dirs      r   embed_headersr2   &   s     >>(/6 (V"3e";<	L#	&	& 7\**+66666)E**L5'BBBr%   __main__   zUsage:
 {sys.argv[0]} filenamer   )N)collections.abcr   pathlibr   rer   r   typingr   r   r   listr   setr   r2   __name__syslenargvprintexitr*   r%   r   <module>rA      s   $ $ $ $ $ $             " " " " " " " "U49% $s)    
#Y&*4jCFs8   6 UYC CC&uXc]HTNC-O'PQCC C C C zJJJ
s38}}q/000	E--
$
$%%%%% r%   