
    VGh
                         d dl Z d dlZd dlZd dlZd dlZd dlZ e       Z e j                  dd      Z	d Z
d Zd Z G d dej                        Zdd	 d
dZy)    NPackagenameversionc                      t        t         d j                        t        t	        t        d  fddD              d                   S )N_yt_dlp__identifierc              3   8   K   | ]  }t        |d         y wN)getattr).0attrmodules     c/var/www/it7/html/youtubeDownloader/venv/lib/python3.12/site-packages/yt_dlp/compat/compat_utils.py	<genexpr>z#get_package_info.<locals>.<genexpr>   s"      '
 FD$''
s   )_yt_dlp__version__version__version_stringr   r   )_Packager   __name__strnextfilterr   s   `r   get_package_infor      sK    V2FOODD '
X'
        c                     dt        |       v S )N__path__)varsr   s    r   _is_packager      s    f%%r   c                 J    | j                  d      xr | j                  d      S )N__)
startswithendswith)r   s    r   
_is_dunderr$      s    ??4 8T]]4%88r   c                   $     e Zd Zd Z fdZ xZS )EnhancedModulec                 D     t        |       j                  dd              S )N__bool__c                       y)NT r*   r   r   <lambda>z)EnhancedModule.__bool__.<locals>.<lambda>        r   )r   get)selfs    r   r(   zEnhancedModule.__bool__   s    7tDz~~j,799r   c                     	 t         |   |      }t        |t              r|j                         S |S # t        $ r' t        |      r t	        | dd       }|s  ||      }Y Qw xY w)N__getattr__)super__getattribute__AttributeErrorr$   r   
isinstancepropertyfget)r.   r   retgetter	__class__s       r   r2   zEnhancedModule.__getattribute__"   sl    	'*40C (X6sxxz?C?  	$T=$7F,C	s   4 -A$#A$)r   
__module____qualname__r(   r2   __classcell__)r9   s   @r   r&   r&      s    :
@ 
@r   r&   c                      y r
   r*   )_s    r   r+   r+   /   r,   r   )callbackc                      fd}t         j                   fd       t        j                  j	                   t        j                                t         _        | _	         S )zOPassthrough parent module into a child module, creating the parent if necessaryc                 (   t              rFt        j                  t              5  t	        j
                  d|  j                        cd d d        S  |       }|t        u rt        dj                   d|         |        |S # 1 sw Y   >xY w)N.zmodule z has no attribute )	r   
contextlibsuppressModuleNotFoundError	importlibimport_moduler   _NO_ATTRIBUTEr3   )r   r7   r?   
from_childparents     r   r0   z'passthrough_module.<locals>.__getattr__1   s    v$$%89 L ..4&z6??KL L - 76??*;;MdV!TUU
L Ls   #BBc                    | vrdvst        |       rt        S t        t              r t	        j
                  j                        t              r_t        j                  t              5  t        j                   d|  t	        j
                  d|  j                              cd d d        S t        j                  t              5  t        |       cd d d        S # 1 sw Y   8xY w# 1 sw Y   t        S xY w)N.rB   )r$   rH   r4   r   rF   rG   r   r   rC   rD   ImportErrorpassthrough_moduler3   r   )r   allowed_attributeschildrJ   s    r   rI   z&passthrough_module.<locals>.from_child<   s     )),,
40@$$eS!++E6??CEu$$[1 _)V__,=Qtf*E*3*A*AAdV*enn*]__ _   0 	(5$'	( 	(	_ _	( s   /<C$C0$C-0C>)
	functoolscachesysmodulesr-   types
ModuleTyper&   r9   r0   )rJ   rO   rN   r?   r0   rI   s   ```` @r   rM   rM   /   sV    	 __ & [[__VU%5%5f%=>F%F$FMr   )).)collectionsrC   rP   rF   rR   rT   objectrH   
namedtupler   r   r   r$   rU   r&   rM   r*   r   r   <module>rY      sb        
 !;!!)-@A&9@U%% @"$n $r   