
    ":h#                        d dl Z d dlmZ d dlZ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Z e
dej                         Z G d	 d
ej                         ZddZe j(                  de	ej                      ded   fd       Zddedee	e   df   defdZdedefdZ e
dd      Z G d de      Z G d de      Z G d de      Zej=                  e      Z G d de      Z  G d de       Z!y)     N)cached_property)AnyDictIteratorTupleTypeTypeVarUnioncast   )assoc   TLogger)boundc                   T    e Zd ZdZedefd       ZdedededdfdZ	de
ed	f   fd
Zy)ExtendedDebugLoggerzG
    Logging class that can be used for lower level debug logging.
    returnc                 ,    | j                  t              S N)isEnabledForDEBUG2_LEVEL_NUMselfs    i/var/www/html/turnos/venv/lib/python3.12/site-packages/ccxt/static_dependencies/ethereum/utils/logging.pyshow_debug2zExtendedDebugLogger.show_debug2   s      !122    messageargskwargsNc                 t    | j                   r | j                  t        |g|i | y d | j                  d<   y )Nc                      y r    )r   r   r   s      r   <lambda>z,ExtendedDebugLogger.debug2.<locals>.<lambda>*   s    r   debug2)r   logr   __dict__)r   r   r   r   s       r   r$   zExtendedDebugLogger.debug2#   s7    DHH%w@@@
 'LDMM(#r   .c                 (    t         | j                  ffS r   )get_extended_debug_loggernamer   s    r   
__reduce__zExtendedDebugLogger.__reduce__,   s     )499,66r   )__name__
__module____qualname____doc__r   boolr   strr   r$   r   r*   r"   r   r   r   r      s\     3T 3 3Lc L# L L L7E#s(O 7r   r   r   c                  x    t        t        d      s*t        j                  t        d       t        t        _        yy)zP
    Installs the `DEBUG2` level logging levels to the main logging module.
    DEBUG2N)hasattrloggingaddLevelNamer   r2   r"   r   r   setup_DEBUG2_loggingr6   2   s+     7H%-x8) &r   logger_classc              #      K   t        j                         }t        j                  |        	 d  t        j                  |       y # t        j                  |       w xY wwr   )r4   getLoggerClasssetLoggerClass)r7   original_logger_classs     r   _use_logger_classr<   ;   sI     #224<(64545s   *A!A A!AA!r)   c                 r   |#t        t        t        j                  |             S t	        |      5  t        j
                  j                  }| |j                  v r't        |j                  |          |ur|j                  | = t        t        t        j                  |             cd d d        S # 1 sw Y   y xY wr   )	r   r   r4   	getLoggerr<   Loggermanager
loggerDicttype)r)   r7   r@   s      r   
get_loggerrC   E   s    GW..t455|, 	: nn,,Gw)))**401E**40!2!24!89	: 	: 	:s   A2B--B6c                 "    t        | t              S r   )rC   r   )r)   s    r   r(   r(   Y   s    d/00r   THasLoggerMetaHasLoggerMetac            
            e Zd ZdZej
                  Zdee   de	de
ee      dee	ef   def
 fdZedee   deej
                     dee   fd	       Zedee   d
ee   dee   fd       Z xZS )rF   z
    Assigns a logger instance to a class, derived from the import path and name.

    This metaclass uses `__qualname__` to identify a unique and meaningful name
    to use when creating the associated logger for a given class.
    mclsr)   bases	namespacer   c           
         d|v rt         |   | |||      S d|vrt        d      t        | j                        5  t        j                  |d         }d d d        t         |   | ||t        |d            S # 1 sw Y   &xY w)Nloggerr-   zMissing __qualname__)super__new__AttributeErrorr<   r7   r4   r>   r   )rH   r)   rI   rJ   rL   	__class__s        r   rN   zHasLoggerMeta.__new__j   s     y  7?4ui@@* !788t001 	B&&y'@AF	B wtT5%	8V2TUU	B 	Bs   A::Bvaluec                 6    t        | j                  | fd|i      S )Nr7   rB   r+   )rH   rQ   s     r   replace_logger_classz"HasLoggerMeta.replace_logger_class|   s     DMMD7^U,CDDr   otherc                 4    t        | j                  | |fi       S r   rS   )rH   rU   s     r   meta_compatzHasLoggerMeta.meta_compat   s     DMMD%="55r   )r+   r,   r-   r.   r4   r?   r7   r   rE   r0   r   r   r   rN   classmethodrT   rB   rW   __classcell__)rP   s   @r   rF   rF   `   s     >>LV>"VV T#YV S>	V
 
V$ E>"E+/+?E	n	E E
 6>"6+/:6	n	6 6r   c                   0    e Zd Z ej                  d      Zy)_BaseHasLogger N)r+   r,   r-   r4   r?   rL   r"   r   r   r[   r[      s     W^^BFr   r[   )	metaclassc                       e Zd Zy)	HasLoggerNr+   r,   r-   r"   r   r   r_   r_          r   r_   c                       e Zd Z ed      Zy)_BaseHasExtendedDebugLoggerr\   N)r+   r,   r-   r   rL   r"   r   r   rc   rc      s     !$Fr   rc   c                       e Zd Zy)HasExtendedDebugLoggerNr`   r"   r   r   re   re      ra   r   re   )r   Nr   )"
contextlib	functoolsr   r4   typingr   r   r   r   r   r	   r
   r   toolzr   r   r?   r   r   r6   contextmanagerr<   r0   rC   r(   rE   rB   rF   r[   r_   rT   HasExtendedDebugLoggerMetarc   re   r"   r   r   <module>rl      s&    	 	 	  
)7>>
27'.. 70* 6D$8 6Xd^ 6 6:S :d7mT.A(B :g :(1C 1,? 1 )A&6D &6R }  	 	 +??@ST %,F %	8 	r   