
    ":h)                        d dl mZmZmZmZmZ d dlmZ ddl mZm	Z	 ddl
mZmZ ddlmZmZ deeef   d	efd
ZdZdZdZdez  Zdez  Zedz  Zdez  ZedfedfedfedfedfedfedffZdeeeef      d	eeeef      fdZded	eeeef      fdZdZded	efdZ de	d	efdZ!ded	efdZ"ded	e#fd Z$d!ed	e#fd"Z%d#ed	ee   fd$Z&d#ed	eeeef      fd%Z'd&eeef   d	efd'Z(d(ee   d	efd)Z)d*ed	efd+Z*y,)-    )AnyIterableIteratorTupleUnion)parse   )URIHash32   )denomsfrom_wei)sliding_windowtakesecondsreturnc                     t        |       dk(  ryt        t        t        |                   }dj                  d t	        d|      D              S )Nr   0s c              3   .   K   | ]  \  }}| |   y wN ).0amountunits      j/var/www/html/turnos/venv/lib/python3.12/site-packages/ccxt/static_dependencies/ethereum/utils/humanize.py	<genexpr>z#humanize_seconds.<locals>.<genexpr>"   s     O,&$vhtf%Os      )int_consume_leading_zero_units_humanize_secondsjoinr   )r   unit_valuess     r   humanize_secondsr$      sA    
7|q-.?G.MNK77O$q+:NOPP    <   i     im        ymwdhs
units_iterc              #   R   K   | D ]  \  }}|dk(  r||f  n | E d {    y 7 w)Nr   r   )r0   r   r   s      r   r    r    9   s=      # Q;4.  s   '%'c              #   T   K   | }t         D ]  \  }}|s y ||z  }||f ||z  } y wr   )UNITS)r   	remainderdurationr   nums        r   r!   r!   F   sA     I $8#4iX	s   &(   valuec                     t        |       t        dz   k  r| j                         S | j                         }|d t         }|dt        z  d  }| d| S )Nr   ..)lenDISPLAY_HASH_CHARShex)r8   value_as_hexheadtails       r   humanize_bytesrB   V   s]    
5z'!++yy{99;L++,D//12DV2dVr%   c                     t        |       S r   )rB   )r8   s    r   humanize_hashrD   _   s    %  r%   uric                     t        |       st        |  d      t        j                  |       }|j                  }|d t
         }|dt
        z  d  }d| d| S )NzW does not look like a valid IPFS uri. Currently, only CIDv0 hash schemes are supported.r:   zipfs://r;   )is_ipfs_uri	TypeErrorr   urlparsenetlocr=   )rE   parsed	ipfs_hashr@   rA   s        r   humanize_ipfs_urirM   c   ss    se 5 5
 	

 ^^C FI(()DR,,./DTF"TF##r%   c                     t        | t              syt        j                  |       }|j                  dk7  s|j
                  syt        |j
                        S )NFipfs)
isinstancestrr   rI   schemerJ   _is_CIDv0_ipfs_hash)r8   rK   s     r   rG   rG   q   sA    eS!^^E"F}}fmmv}}--r%   rL   c                 D    | j                  d      rt        |       dk(  ryy)NQm.   TF)
startswithr<   )rL   s    r   rS   rS   |   s!    D!c)n&:r%   valuesc               '      K   d t        t        d|       d      D ]  \  }\  }}|dz   |k(  r|  t        |        y w)Nr   r	   r   )	enumerater   r<   )rX   indexleftrights       r   _find_breakpointsr^      sQ     
G ).F*CQ G }e!8uK	
 f+s   AAc               '   b   K   t        dt        |        D ]  \  }}| || }|d   |d   f  yw)z
    Return a tuple of consecutive ranges of integers.

    :param values: a sequence of ordered integers

    - fn(1, 2, 3) -> ((1, 3),)
    - fn(1, 2, 3, 7, 8, 9) -> ((1, 3), (7, 9))
    - fn(1, 7, 8, 9) -> ((1, 1), (7, 9))
    r	   r   r:   N)r   r^   )rX   r\   r]   chunks       r   _extract_integer_rangesra      sG      &a):F)CD "etE"Ahb	!!"s   -/boundsc                 :    | \  }}||k(  rt        |      S | d| S )N-)rQ   )rb   r\   r]   s      r   _humanize_rangere      s-    KD%u}4yq  r%   values_iterc                 h    t        |       }|sydj                  t        t        t	        |             S )z
    Return a concise, human-readable string representing a sequence of integers.

    - fn((1, 2, 3)) -> '1-3'
    - fn((1, 2, 3, 7, 8, 9)) -> '1-3|7-9'
    - fn((1, 2, 3, 5, 7, 8, 9)) -> '1-3|5|7-9'
    - fn((1, 7, 8, 9)) -> '1|7-9'
    z(empty)|)tupler"   mapre   ra   )rf   rX   s     r   humanize_integer_sequencerk      s0     ;FxxO-Df-MNOOr%   numberc                     | t         j                  k\  rd}n| t         j                  k\  rd}nd}t        | |      }t	        |       d| }|S )Nethergweiwei )r   finneymweir   rQ   )rl   r   r   xs       r   humanize_weiru      sN    	6;;	fd#Fv;-qAHr%   N)+typingr   r   r   r   r   urllibr   r
   r   currencyr   r   toolzr   r   floatr   rQ   r$   SECONDMINUTEHOURDAYYEARMONTHWEEKr3   r    r!   r=   bytesrB   rD   rM   boolrG   rS   r^   ra   re   rk   ru   r   r%   r   <module>r      s   

QeE3J/ QC Q 
	4i
Sy
3w 
3K
CL	3K#J	3KSMSM	
sCx)
eCHo

s 
xc3h'@ 
  % C ! !C !$3 $3 $.s .t .3 4 s x} "S "XeCHo-F "!E#s(O ! !P8C= PS P 	 	 	r%   