403Webshell
Server IP : 54.37.205.81  /  Your IP : 216.73.216.76
Web Server : nginx/1.22.1
System : Linux vps-249481fa 6.1.0-50-cloud-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.176-1 (2026-07-02) x86_64
User : debian ( 1000)
PHP Version : 8.2.32
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : OFF
Directory :  /lib/python3/dist-packages/tqdm/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /lib/python3/dist-packages/tqdm/__pycache__/std.cpython-311.pyc
�

Em�c�����dZddlmZmZddlZddlmZmZddlm	Z	ddl
m
Z
mZddlm
Z
ddlmZdd	lmZdd
lmZddlmZdd
lmZmZmZmZmZmZmZmZmZmZm Z m!Z!m"Z"m#Z#m$Z$dZ%gd�Z&Gd�de'��Z(Gd�de)��Z*Gd�de+��Z,Gd�de,e-��Z.Gd�de,e/��Z0Gd�de,e1��Z2d�Z3Gd�de4��Z5Gd�d e4��Z6Gd!�d"e4��Z7Gd#�d$e��Z8d%�Z9dS)&z�
Customisable progressbar decorator for iterators.
Includes a default `range` iterator printing to `stderr`.

Usage:
>>> from tqdm import trange, tqdm
>>> for i in trange(10):
...     ...
�)�absolute_import�divisionN)�OrderedDict�defaultdict)�contextmanager)�datetime�	timedelta)�Number)�time)�warn)�WeakSet�)�TMonitor)�CallbackIOWrapper�
Comparable�DisableOnWriteError�
FormatReplace�SimpleTextIOWrapper�_basestring�	_is_ascii�_range�_screen_shape_wrapper�_supports_unicode�
_term_move_up�_unich�_unicode�disp_len�	disp_trimz*https://github.com/tqdm/tqdm#contributions)�tqdm�trange�
TqdmTypeError�TqdmKeyError�TqdmWarning�TqdmExperimentalWarning�TqdmDeprecationWarning�TqdmMonitorWarningc��eZdZdS)r!N��__name__�
__module__�__qualname__���*/usr/lib/python3/dist-packages/tqdm/std.pyr!r!"��������Dr-r!c��eZdZdS)r"Nr(r,r-r.r"r"&r/r-r"c�$��eZdZdZd�fd�	Z�xZS)r#zqbase class for all tqdm warnings.

    Used for non-external-code-breaking errors, such as garbled printing.
    Nc����|�B|d|jjzdzt|�����zdz��dSt	t
|��j|g|�Ri|��dS)N�
�: )�	__class__r)�str�rstrip�superr#�__init__)�self�msg�fp_write�a�kr5s     �r.r9zTqdmWarning.__init__/s|������H�T�D�N�3�3�d�:�S��X�X�_�_�=N�=N�N�QU�U�V�V�V�V�V�-�E�+�t�$�$�-�c�;�A�;�;�;��;�;�;�;�;r-�N)r)r*r+�__doc__r9�
__classcell__)r5s@r.r#r#*sG���������<�<�<�<�<�<�<�<�<�<r-r#c��eZdZdZdS)r$z(beta feature, unstable API and behaviourN�r)r*r+r@r,r-r.r$r$6s������2�2��Dr-r$c��eZdZdS)r%Nr(r,r-r.r%r%;s�������Dr-r%c��eZdZdZdS)r&z>tqdm monitor errors which do not affect external functionalityNrCr,r-r.r&r&@s������H�H��Dr-r&c�P�	ddlm}||i|��S#ttf$rYdSwxYw)zthreading RLockr��RLockN)�	threadingrH�ImportError�OSError)�args�kwargsrHs   r.�TRLockrNEsU��
�#�#�#�#�#�#��u�d�%�f�%�%�%����!�
�
�
����
���s�
�%�%c�p�eZdZdZe��Zd�Zd�Zd�Zd�Z	d�Z
ed���Zed���Z
d	S)
�TqdmDefaultWriteLocka�
    Provide a default write lock for thread and multiprocessing safety.
    Works only on platforms supporting `fork` (so Windows is excluded).
    You must initialise a `tqdm` or `TqdmDefaultWriteLock` instance
    before forking in order for the write lock to work.
    On Windows, you need to supply the lock from the parent to the children as
    an argument to joblib or the parallelism lib you use.
    c���t|��}|j}|�|���|���d�|j|jfD��|_|�|���dSdS)Nc��g|]}|�|��Sr?r,)�.0�lks  r.�
<listcomp>z1TqdmDefaultWriteLock.__init__.<locals>.<listcomp>ds��P�P�P�R���b���r-)�type�th_lock�acquire�create_mp_lock�mp_lock�locks�release)r:�cls�	root_locks   r.r9zTqdmDefaultWriteLock.__init__\s����4�j�j���K�	�� �������������P�P�C�K���#=�P�P�P��
�� ���������!� r-c�4�|jD]}|j|i|���dSr?)r[rX)r:r=r>�locks    r.rXzTqdmDefaultWriteLock.acquirehs7���J�	"�	"�D��D�L�!�!�q�!�!�!�!�	"�	"r-c�T�|jddd�D]}|����dS)N���)r[r\)r:r`s  r.r\zTqdmDefaultWriteLock.releasels7���J�t�t��t�$�	�	�D��L�L�N�N�N�N�	�	r-c�.�|���dSr?)rX�r:s r.�	__enter__zTqdmDefaultWriteLock.__enter__p����������r-c�.�|���dSr?)r\)r:�excs  r.�__exit__zTqdmDefaultWriteLock.__exit__srfr-c��t|d��s7	ddlm}|��|_dS#tt
f$rd|_YdSwxYwdS)NrZrrG)�hasattr�multiprocessingrHrZrJrK)r]rHs  r.rYz#TqdmDefaultWriteLock.create_mp_lockvss���s�I�&�&�	#�
#�1�1�1�1�1�1�#�e�g�g��������)�
#�
#�
#�"������
#����		#�	#s�)�A�Ac�X�t|d��sJ�tdtd���dS)NrWz!create_th_lock not needed anymore���
stacklevel)rkrr%�r]s r.�create_th_lockz#TqdmDefaultWriteLock.create_th_locks6���s�I�&�&�&�&�&��
0�2H�UV�W�W�W�W�W�Wr-N)r)r*r+r@rNrWr9rXr\reri�classmethodrYrrr,r-r.rPrPNs����������f�h�h�G�
 �
 �
 �"�"�"�����������#�#��[�#��X�X��[�X�X�Xr-rPc���eZdZdZdZdd�eeeddd������zZ	dZ
d	Zd
Zddd
dddddd�Z
de	dfd�Zed���Zejd���Zd�ZdS)�Bara�
    `str.format`-able bar with format specifiers: `[width][type]`

    - `width`
      + unspecified (default): use `self.default_len`
      + `int >= 0`: overrides `self.default_len`
      + `int < 0`: subtract from `self.default_len`
    - `type`
      + `a`: ascii (`charset=self.ASCII` override)
      + `u`: unicode (`charset=self.UTF` override)
      + `b`: blank (`charset="  "` override)
    z 123456789#� �i�%i�%rbz  zz[38;2;%d;%d;%dmzzzzzzzz)�BLACK�RED�GREEN�YELLOW�BLUE�MAGENTA�CYAN�WHITE�
Nc���d|cxkrdks7ntdtd���tdtd|����}|dksJ�||_||_||_||_dS)Nrrzclamping frac to range [0, 1]rnro)rr#�max�min�frac�default_len�charset�colour)r:r�r�r�r�s     r.r9zBar.__init__�st���D�~�~�~�~�A�~�~�~�~��0�+�!�L�L�L�L��q�#�a��,�,�'�'�D��Q�������	�&����������r-c��|jSr?)�_colourrds r.r�z
Bar.colour�s
���|�r-c	��|s	d|_dS	|���|jvr&|j|���|_dS|ddkrVt|��dkrC|jtd�|dd�|dd�|dd�fD����z|_dSt�#ttf$rAtd|�d	d
�	|j���d�td�
��d|_YdSwxYw)Nr�#�c3�6K�|]}t|d��V��dS)�N)�int)rS�is  r.�	<genexpr>zBar.colour.<locals>.<genexpr>�sC����7N�7N�#$�C��2�J�J�7N�7N�7N�7N�7N�7Nr-r��zUnknown colour (z"); valid choices: [hex (#00ff00), �, �]rnro)r��upper�COLOURS�len�
COLOUR_RGB�tuple�KeyError�AttributeErrorr�joinr#)r:�values  r.r�z
Bar.colour�s<���	��D�L��F�	 ��{�{�}�}���,�,�#�|�E�K�K�M�M�:������q��S���S��Z�Z�1�_�_�#���7N�7N�).�q��s��U�1�Q�3�Z��q��s��(L�7N�7N�7N�2N�2N� N���������.�)�	 �	 �	 ��D�����	�	�$�,�/�/�/�/�1���
,�
,�
,�
,� �D�L�L�L�L�		 ���s�?B7�A B7�0B7�7AD	�D	c�2�|r�|d���}	|j|j|jd�|}|dd�}n#t$r
|j}YnwxYw|r t
|��}|dkr
||jz
}n|j}n|j}|j}t|��dz
}tt
|j
|z|z��|��\}}|d|z}||kr|||z|d||z
dz
zz}|jr|j|z|jzn|S)Nrb)r=�u�brr)
�lower�ASCII�UTF�BLANKr�r�r�r�r��divmodr�r��COLOUR_RESET)	r:�format_spec�_typer��N_BARS�nsyms�
bar_length�frac_bar_length�ress	         r.�
__format__zBar.__format__�sY���	&���O�)�)�+�+�E�
/� $�
����
�K�K�E�R��*�#�2�#�.�����
'�
'�
'��,����
'�����
*��[�)�)���A�:�:��d�.�.�F���)����l�G��%�F��G���q� ��&,�S���V�1C�e�1K�-L�-L�e�&T�&T�#�
�O��b�k�J�&���������0�0�7�1�:��*�AT�WX�AX�3Y�Y�C�8<��L�t�{�S� �4�#4�4�4��Ls�A�A�A)r)r*r+r@r�r��mapr�ranger�r�r�r�r�r9�propertyr��setterr�r,r-r.ruru�s���������
�E�
����#�#�f�e�e�F�F�B�&?�&?�@�@�A�A�
A�C��E��L�&�J�"�:�
�#�Z�J�!�J�8�8�G�*,�S����������X���]� � ��]� �$M�M�M�M�Mr-ruc�"�eZdZdZdd�Zdd�ZdS)�EMAa[
    Exponential moving average: smoothing to give progressively lower
    weights to older values.

    Parameters
    ----------
    smoothing  : float, optional
        Smoothing factor in range [0, 1], [default: 0.3].
        Increase to give more weight to recent values.
        Ranges from 0 (yields old value) to 1 (yields new value).
    �333333�?c�0�||_d|_d|_dS)Nr��alpha�last�calls)r:�	smoothings  r.r9zEMA.__init__�s����
���	���
�
�
r-Nc��d|jz
}|�*|j|z||jzz|_|xjdz
c_|jr|jd||jzz
zn|jS)zk
        Parameters
        ----------
        x  : float
            New value to include in EMA.
        rr�)r:�x�betas   r.�__call__zEMA.__call__�sc���4�:�~���=��
�Q����	�)9�9�D�I��J�J�!�O�J�J�7;�z�P�t�y�A���
� 2�2�3�3�t�y�Pr-)r�r?)r)r*r+r@r9r�r,r-r.r�r��sL������
�
�����
Q�Q�Q�Q�Q�Qr-r�c�`�eZdZdZdZdZe��Zed7d���Z	ed���Z
ed���Zed	���Ze			d8d
���Z
d�Zed9d���Zed���Zed:d���Zeed;d�����Zed���Zed���Zed���Z						d<d�Zd�Zd�Zd�Zd�Zd �Zd!�Zd"�Zd#�Z d$�Z!e"d%���Z#d&�Z$d'�Z%d=d)�Z&d*�Z'd>d+�Z(d?d,�Z)d-�Z*d9d.�Z+d@d/�Z,d@d0�Z-d@d1�Z.dAd2�Z/d3�Z0e"d4���Z1dBd5�Z2eed@d6�����Z3dS)Crz�
    Decorate an iterable object, returning an iterator which acts exactly
    like the original iterable, but prints a dynamically updating
    progressbar every time a value is requested.
    r�Nrw��c�f�dD]�}t|��dkr}t|��dkrMt|��dkrd�|��|z|zcSd�|��|z|zcSd�|��|z|zcS||z}��d�|��|zS)	a�
        Formats a number (greater than unity) with SI Order of Magnitude
        prefixes.

        Parameters
        ----------
        num  : float
            Number ( >= 1) to format.
        suffix  : str, optional
            Post-postfix [default: ''].
        divisor  : float, optional
            Divisor between prefixes [default: 1000].

        Returns
        -------
        out  : str
            Number with Order of Magnitude SI unit postfix.
        )rwr>�M�G�T�P�E�Zg<�@g�����X@g=
ףp�#@z{0:1.2f}z{0:2.1f}z{0:3.0f}z	{0:3.1f}Y)�abs�format)�num�suffix�divisor�units    r.�
format_sizeofztqdm.format_sizeofs���(<�	�	�D��3�x�x�%����s�8�8�e�#�#��3�x�x�%�'�'�)�0�0��5�5��<�v�E�E�E�E�%�,�,�S�1�1�D�8�6�A�A�A�A�!�(�(��-�-��4�v�=�=�=�=��7�N�C�C��!�!�#�&�&��/�/r-c���tt|��d��\}}t|d��\}}|rd�|||��Sd�||��S)z�
        Formats a number of seconds as a clock time, [H:]MM:SS

        Parameters
        ----------
        t  : int
            Number of seconds.

        Returns
        -------
        out  : str
            [H:]MM:SS
        �<z{0:d}:{1:02d}:{2:02d}z{0:02d}:{1:02d})r�r�r�)�t�mins�s�h�ms     r.�format_intervalztqdm.format_interval sf����Q����$�$���a��d�B�����1��	2�*�1�1�!�Q��:�:�:�$�+�+�A�q�1�1�1r-c���d�|���dd���dd��}t|��}t|��t|��kr|n|S)z�
        Intelligent scientific notation (.3g).

        Parameters
        ----------
        n  : int or float or Numeric
            A Number.

        Returns
        -------
        out  : str
            Formatted number.
        z{0:.3g}z+0�+z-0�-)r��replacer6r�)�n�fs  r.�
format_numztqdm.format_num6s`��
���Q���'�'��c�2�2�:�:�4��E�E����F�F����F�F�S��V�V�O�O�q�q��*r-c������|�t�dd�����tjtjfvrHttjdd�����ttjdd�������fd��dg���fd�}|S)z�
        Manage the printing and in-place updating of a line of characters.
        Note that if the string is longer than a line, then in-place
        updating may not work (it will print a new line at each refresh).
        �flushc��dSr?r,r,r-r.�<lambda>z%tqdm.status_printer.<locals>.<lambda>Qs���r-c��dSr?r,r,r-r.r�z%tqdm.status_printer.<locals>.<lambda>S����r-c��dSr?r,r,r-r.r�z%tqdm.status_printer.<locals>.<lambda>Tr�r-c�`����t|�������dSr?)�writer)r��fp�fp_flushs ��r.r<z%tqdm.status_printer.<locals>.fp_writeVs*����H�H�X�a�[�[�!�!�!��H�J�J�J�J�Jr-rc���t|��}�d|zdt�d|z
d��zz��|�d<dS)N�
rvr)rr�)r��len_sr<�last_lens  ��r.�print_statusz)tqdm.status_printer.<locals>.print_status\sL����Q�K�K�E��H�T�A�X��s�8�A�;��+>��'B�'B�!B�C�D�D�D��H�Q�K�K�Kr-)�getattr�sys�stderr�stdout)�filer�r�r�r<r�s  @@@@r.�status_printerztqdm.status_printerIs����������2�w���5�5��
�#�*�c�j�)�)�)�6�G�C�J����6�6�8�8�8�6�G�C�J����6�6�8�8�8�	�	�	�	�	�	��3��	 �	 �	 �	 �	 �	 �
�r-F�itrc
�	�|r||dzkrd}|r|dvr|r||z}||z}|r||z}d}t�|��}|�
|r||z
|z}|rd|znd}tj}|r"|r||��nd�|��nd|zdz}|r"|r||��nd�|��ndd	z|z}|r|dkr|n|}|r|||�
��}|�
|||�
��nd}n"t	|��}|�t	|��nd}	|
rd|
znd}
n#t
$rYnwxYw|r
|r||z
|znd
}|rt�|��nd}	|r&|r$t
j��t|���znt
j	d
��}n#t$rtj}YnwxYw|r|dd�dk}|r|n|dz}nd}d�||||||
��}td7id|�d|�d|�d|�d|�d|�d|�d|pd�d|�d|r|dkr|n|�d|�d|�d|�d|�d |�d!|
�d"|�d#|
�d$|�d%|�d&|�d'|�d(|�|��}|�r�||z}|d)z}|d*�|��z
}|d
kr|dd+�|dd�zS|�
|�,��|	r/|�
|�-��|s|	�d.d��}	nd/}	t��} 	|	jd7d0| i|��}!n.#t $r!t#|	��}	|	jd7d0| i|��}!YnwxYw| js|!St'||r td|t)|!��z
��nd1|d2urt&jn
|pt&j|
�3��} t/| j��st/|	��rt#|	��}	|	jd7d0| i|��}"|rt3|"|��n|"S|	r�|d4z
}|�
|d
�5��t��} |	jd7d0| i|��}!| js|!St'd
|r td|t)|!��z
��nd1t&j|
�3��} |	jd7d0| i|��}"|rt3|"|��n|"Sd6�|r|dznd|||||
��S)8a�
        Return a string-based progress bar given some parameters

        Parameters
        ----------
        n  : int or float
            Number of finished iterations.
        total  : int or float
            The expected total number of iterations. If meaningless (None),
            only basic progress statistics are displayed (no ETA).
        elapsed  : float
            Number of seconds passed since start.
        ncols  : int, optional
            The width of the entire output message. If specified,
            dynamically resizes `{bar}` to stay within this bound
            [default: None]. If `0`, will not print any bar (only stats).
            The fallback is `{bar:10}`.
        prefix  : str, optional
            Prefix message (included in total width) [default: ''].
            Use as {desc} in bar_format string.
        ascii  : bool, optional or str, optional
            If not set, use unicode (smooth blocks) to fill the meter
            [default: False]. The fallback is to use ASCII characters
            " 123456789#".
        unit  : str, optional
            The iteration unit [default: 'it'].
        unit_scale  : bool or int or float, optional
            If 1 or True, the number of iterations will be printed with an
            appropriate SI metric prefix (k = 10^3, M = 10^6, etc.)
            [default: False]. If any other non-zero number, will scale
            `total` and `n`.
        rate  : float, optional
            Manual override for iteration rate.
            If [default: None], uses n/elapsed.
        bar_format  : str, optional
            Specify a custom bar string formatting. May impact performance.
            [default: '{l_bar}{bar}{r_bar}'], where
            l_bar='{desc}: {percentage:3.0f}%|' and
            r_bar='| {n_fmt}/{total_fmt} [{elapsed}<{remaining}, '
              '{rate_fmt}{postfix}]'
            Possible vars: l_bar, bar, r_bar, n, n_fmt, total, total_fmt,
              percentage, elapsed, elapsed_s, ncols, nrows, desc, unit,
              rate, rate_fmt, rate_noinv, rate_noinv_fmt,
              rate_inv, rate_inv_fmt, postfix, unit_divisor,
              remaining, remaining_s, eta.
            Note that a trailing ": " is automatically removed after {desc}
            if the latter is empty.
        postfix  : *, optional
            Similar to `prefix`, but placed at the end
            (e.g. for additional stats).
            Note: postfix is usually a string (not a dict) for this method,
            and will if possible be set to postfix = ', ' + postfix.
            However other types are supported (#382).
        unit_divisor  : float, optional
            [default: 1000], ignored unless `unit_scale` is True.
        initial  : int or float, optional
            The initial counter value [default: 0].
        colour  : str, optional
            Bar colour (e.g. 'green', '#00ff00').

        Returns
        -------
        out  : Formatted meter and stats, ready to display.
        g�?N)TrFrz{0:5.2f}�?z/szs/)r�r�rwr)�seconds���r4z| {0}/{1} [{2}<{3}, {4}{5}]r��n_fmt�total�	total_fmt�elapsed�	elapsed_s�ncols�descr��rate�rate_fmt�
rate_noinv�rate_noinv_fmt�rate_inv�rate_inv_fmt�postfix�unit_divisorr��	remaining�remaining_s�l_bar�r_bar�eta�dz
{0:3.0f}%|rb)r)�
percentagez{desc}: z{l_bar}{bar}{r_bar}�barr�T)r�r��|)rrz{0}{1}{2} [{3}, {4}{5}]r,)rr�r�r�r6�	TypeErrorr�nowr	�utcfromtimestamp�
OverflowErrorr��dict�updater�r�UnicodeEncodeErrorr�
format_calledrurr�r�rr�rr�)#r�r�r�r�prefix�asciir��
unit_scaler�
bar_formatrr	�initialr��extra_kwargs�elapsed_str�inv_rater�rrrr�r�r
�
remaining_str�eta_dt�bool_prefix_colon_alreadyrr
�format_dictr�r�full_bar�nobarr�s#                                   r.�format_meterztqdm.format_metercs7��L�	�Q�5�3�;�'�'��E��	�*�I�5�5��
$���#��
��O�A��
#��
�"���J��*�*�7�3�3���<�G�<���K�7�*�D�#�-�1�t�8�8����*�
�7;�E�*�3�=�=��.�.�.�%�,�,�T�2�2�2���M�OS�T���
!�
�
S�]�]�8�
$�
$�
$�
�8I�8I�(�8S�8S�8S� �D�)�+/�0��$,�P��1���<�<�.���	A�!�M�!�\�:�:�:�E�FK�FW�
�
�e�\�B�B�B�B�]`�I�I���F�F�E�&+�&7��E�
�
�
�S�I�	�(/�7�d�W�n�n�R�G�G���	�	�	��D�	����+/�?�5�?�U�Q�Y�$�&�&�a�	�;?�H��,�,�Y�7�7�7�S�
�	"��J�"'�J�h�l�n�n�y��'C�'C�'C�C�C�-5�-F�q�-I�-I�
�F���	"�	"�	"��\�F�F�F�	"�����	�)/������)<�%�7�J�F�F�V�d�]�E�E��E�-�4�4��9�k�=�(�G�M�M��
�����a���u��$)�E��5>�Y�� �K��,3�7���%�	�%�l���	�26��	�
&�@�(�Q�,�,���D����X�
�+/�$�
�*�>��5=�H��&����G��+7�,���6��$�m��2;����%�� %�u��+1�&�����"�8	`��u�9�D����J��\�(�(��4�4�4�E���z�z��S�b�S�z�E�!�"�"�I�-�-����U��+�+�+��
3��"�"�j�"�9�9�9��D�!+�!3�!3�J��!C�!C�J��2�
�$���H�
G�)�
�)�F�F�h�F�+�F�F����%�
G�
G�
G�%�j�1�1�
�)�
�)�F�F�h�F�+�F�F����
G�����)�
����4�>C�K�3�q�%�(�5�/�/�"9�:�:�:��05��
�
�3�9�9�5�CS�C�G�"(�*�*�*�H��X�-�.�.�
2�9�Z�3H�3H�
2�%�j�1�1�
�#�*�#�@�@��@�K�@�@�C�,1�:�9�S�%�(�(�(�s�:�
�	`��S�L�E����U�q��9�9�9�$���H�%�J�%�B�B�(�B�k�B�B�E��)�
����1�>C�K�3�q�%�(�5�/�/�"9�:�:�:��#&�9�V�=�=�=�H�$�*�#�@�@��@�K�@�@�C�,1�:�9�S�%�(�(�(�s�:�-�3�3�#)�1��$���r�5�$��X�W^�`�`�
`s6�	D�
D#�"D#�<F�F)�(F)�K'�'(L�Lc���t�|��}|���5|j�|��|jr�|j�|j���sa	t||j��|_nE#t$r8}tdt|��ztd���d|_Yd}~nd}~wwxYwddd��n#1swxYwY|S)Nz>tqdm:disabling monitor support (monitor_interval = 0) due to:
rnror)
�object�__new__�get_lock�
_instances�add�monitor_interval�monitor�reportr�	Exceptionrr6r&)r]�_�__�instance�es     r.r,ztqdm.__new__0s>���>�>�#�&�&��
�\�\�^�^�	-�	-��N���x�(�(�(��#�
-���)<�03��0B�0B�0D�0D�*=�-�"*�3��0D�"E�"E�C�K�K�� �-�-�-��=�?B�1�v�v�F�+��;�;�;�;�,-�C�(�(�(�(�(�(�����	-����	-�	-�	-�	-�	-�	-�	-�	-�	-�	-�	-����	-�	-�	-�	-��s<�AC�2B
�C�
C�.C
�C�
C�C�C"�%C"c	�����fd�|jD��}tttt	|��dz�����|����S)zSkips specified instance.c�`��h|]*}|�u�t|d���t|j����+S��pos)rkr�r;)rS�instr6s  �r.�	<setcomp>z%tqdm._get_free_pos.<locals>.<setcomp>CsG���G�G�G�t��H�,�,���u�1E�1E�,����]�]�,�,�,r-r)r.r��setr�r��
difference)r]r6�	positionss ` r.�
_get_free_posztqdm._get_free_pos@sj���G�G�G�G�s�~�G�G�G�	��3�u�S��^�^�a�/�0�0�1�1�<�<�Y�G�G�H�H�Hr-c���|j5	|j�|��n#t$rYnwxYw|jst|jpddz
�t
t�fd�|j����}|rAt|d����}|�	d���t|j��|_ddd��dS#1swxYwYdS)	a5
        Remove from list and reposition another unfixed bar
        to fill the new gap.

        This means that by default (where all nested bars are unfixed),
        order is not maintained but screen flicker/blank space is minimised.
        (tqdm<=4.44.1 moved ALL subsequent unfixed bars up.)
        �rc�:��t|d��o
�|jkS)Nr;)rkr;)r�r�s �r.r�z&tqdm._decr_instances.<locals>.<lambda>]s���g�a��/�/�A�D�A�E�M�r-c��|jSr?r:)r�s r.r�z&tqdm._decr_instances.<locals>.<lambda>as����r-)�keyT��nolockN)�_lockr.�remover��gui�nrows�list�filterr��clearr�r;)r]r6�	instancesr<r�s    @r.�_decr_instancesztqdm._decr_instancesGs=����Y�	1�	1�
���%�%�h�/�/�/�/���
�
�
���
����
�<�

1� ��,�"��1�� ��A�A�A�A��N�"$�"$�%�%�	��1��y�o�o�>�>�>�D��J�J�d�J�+�+�+�"�8�<�0�0�D�H�%	1�	1�	1�	1�	1�	1�	1�	1�	1�	1�	1�	1����	1�	1�	1�	1�	1�	1s-�B>�&�B>�
3�B>�3�A>B>�>C�Cr3c���|�|ntj}|�||���5|�|��|�|��ddd��dS#1swxYwYdS)z5Print a message via tqdm (without overlap with bars).N)r�rH)r�r��external_write_moder�)r]r�r��endrHr�s      r.r�z
tqdm.writees����%�T�T�3�:��
�
$�
$�$�v�
$�
>�
>�	�	��H�H�Q�K�K�K��H�H�S�M�M�M�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	s�+A � A$�'A$c#�0K�|�|ntj}	|s&|������g}t	|dg��D]h}t|d��rV|j|ks td�||jfD����r+|�d���|�	|���idV�|D]}|�
d����	|s|j���dSdS#|s|j���wwxYw)z�
        Disable tqdm within context and refresh tqdm when exits.
        Useful when writing to standard output stream
        Nr.�start_tc3�JK�|]}|tjtjfvV��dSr?)r�r�r�)rSr�s  r.r�z+tqdm.external_write_mode.<locals>.<genexpr>�sQ����FN�FN�:;��c�j�#�*�5�5�FN�FN�FN�FN�FN�FNr-TrG)
r�r�r-rXr�rkr��allrO�append�refreshrIr\)r]r�rHr��inst_clearedr<s      r.rSztqdm.external_write_modensm�����%�T�T�3�:��	$��
)������&�&�(�(�(��L���\�2�6�6�
.�
.���4��+�+�.���B���#�FN�FN�@B�D�G�}�FN�FN�FN�CN�CN���J�J�d�J�+�+�+� �'�'��-�-�-���E�E�E�$�
*�
*�����D��)�)�)�)�
*��
$��	�!�!�#�#�#�#�#�
$�
$��6�
$��	�!�!�#�#�#�#�
$���s�CC7�7Dc��||_dS)zSet the global lock.N)rI)r]r`s  r.�set_lockz
tqdm.set_lock�s����	�	�	r-c�V�t|d��st��|_|jS)z7Get the global lock. Construct it if it does not exist.rI)rkrPrIrqs r.r-z
tqdm.get_lock�s+���s�G�$�$�	/�,�.�.�C�I��y�r-c����
���ddlm}m}ddlm}ddlm�
	|��5|dt���ddlm	}ddd��n#1swxYwYn#t$rd}YnwxYwd	\}}	dd
lm�nL#t$r?	dd
l
m�n4#t$r'	ddlm}ddlm}||f�n#t$rd�YnwxYwYnwxYwYnwxYw	dd
lm}ddlm}	n2#t$r%	ddlm}	m}n#t$rddlm}	m}YnwxYwYnwxYw	ddlm}
n#t$r	ddlm}
YnwxYw	ddlm}n*#t$r	ddlm}n#t$rd}YnwxYwYnwxYw�������dd��g�d�
����fd�	}|���
_|��|_|d���
_|d��|_|��|_|��|	_|d��|_|�|��|_|�|��|_|��|
_|d��|
_|d��|
_|�"|� |��|_|��|_dS��|���_dSdS)ae
        Registers the current `tqdm` class with
            pandas.core.
            ( frame.DataFrame
            | series.Series
            | groupby.(generic.)DataFrameGroupBy
            | groupby.(generic.)SeriesGroupBy
            ).progress_apply

        A new instance will be created every time `progress_apply` is called,
        and each instance will automatically `close()` upon completion.

        Parameters
        ----------
        tqdm_kwargs  : arguments for the tqdm instance

        Examples
        --------
        >>> import pandas as pd
        >>> import numpy as np
        >>> from tqdm import tqdm
        >>> from tqdm.gui import tqdm as tqdm_gui
        >>>
        >>> df = pd.DataFrame(np.random.randint(0, 100, (100000, 6)))
        >>> tqdm.pandas(ncols=50)  # can use tqdm_gui, optional kwargs, etc
        >>> # Now you can use `progress_apply` instead of `apply`
        >>> df.groupby(0).progress_apply(lambda x: x**2)

        References
        ----------
        <https://stackoverflow.com/questions/18603270/        progress-indicator-during-pandas-operations-python>
        r)�catch_warnings�simplefilter)�	DataFrame)�Series�ignore)�category)�PanelN�NN)�_Rolling_and_Expanding)�	Expanding)�Rolling)�
SeriesGroupBy)�DataFrameGroupBy)rlrk)�GroupBy)�PanelGroupBy�deprecated_t�applyc����������fd�}|S)Nc�*������dt|dd����}|�|�
dkr|j}nnt|�	��rt	|��}nN�
�t|�
��s<|�dd��}|dkrd}n|dkrd	}|j|j|z}�d��d�d�d<n
�dd|i����t	|��dkr4td
t�jdtj
j�����	dd
lm
}n#t$r
|j}YnwxYw	|����n#t $rYnwxYw��fd�}	t|�
��|fi|������S#����wxYw)aT
                Parameters
                ----------
                df  : (DataFrame|Series)[GroupBy]
                    Data (may be grouped).
                func  : function
                    To be applied on the (grouped) data.
                **kwargs  : optional
                    Transmitted to `df.apply()`.
                r��ngroupsN�applymap�axisr�index�columnsrz�Except func, normal arguments are intentionally not supported by `(DataFrame|Series|GroupBy).progress_apply`. Use keyword arguments instead.r��r<)�is_builtin_funcc�r�����jr�j�jkrdnd����|i|��S)Nrr)r�)rr�r�)rLrM�funcr�s  ��r.�wrapperzDtqdm.pandas.<locals>.inner_generator.<locals>.inner.<locals>.wrapper#sE���
�H�H���G�1�3���=�=�q�q�a�H�H�H�H��4��0��0�0�0r-r,)�popr��size�
isinstancer��get�shaper%r�r�r�r��pandas.core.commonryrJ�_is_builtin_funcr�close)�dfr{rLrMr�ruryr|r�rcrhr]ro�df_function�tqdm_kwargss `      @������r.�innerz3tqdm.pandas.<locals>.inner_generator.<locals>.inner�s�����$������Y��1M�1M�N�N���=�"�j�0�0� "����#�B��/�/�:� #�B�����0�8�(��-C�D�D�9� &�z�z�&�!�4�4���7�?�?�#$�D�D�!�Y�.�.�#$�D� "��2�8�D�>� 9�� ��?�.�$�Q��A�&*�L��O�O���7�7�%�7�;�7�7�A��t�9�9�q�=�=�*�:�")���w��
�8H�!I�!I�K�K�K�K�:�B�B�B�B�B�B�B��"�:�:�:�&(�&9�O�O�O�:�����*�?�4�0�0�D�D�� �����D�����1�1�1�1�1�1��3�7�2�{�3�3�G�F�F�v�F�F��G�G�I�I�I�I��A�G�G�I�I�I�I���s0�D�D*�)D*�.D:�:
E�E�E<�<Fr,)r�r�rcrhr]ror�s` �����r.�inner_generatorz$tqdm.pandas.<locals>.inner_generator�sH����E
�E
�E
�E
�E
�E
�E
�E
�E
�E
�N�Lr-r�rt�	aggregate�	transform)rp)�warningsr`ra�pandas.core.framerb�pandas.core.seriesrc�
FutureWarning�pandasrfrJ�pandas.core.window.rollingrh�pandas.core.window�pandas.core.window.expandingrirj�pandas.core.groupby.genericrkrl�pandas.core.groupby.groupby�pandas.core.groupbyrmrn�copyr}�progress_apply�progress_map�progress_applymap�progress_aggregate�progress_transform)r]r�r`rarbrfrjrirkrlrmrnr�rcrhros``           @@@r.r�ztqdm.pandas�s��������F	:�9�9�9�9�9�9�9�/�/�/�/�/�/�-�-�-�-�-�-�	���!�!�
)�
)���X�
�>�>�>�>�(�(�(�(�(�(�
)�
)�
)�
)�
)�
)�
)�
)�
)�
)�
)����
)�
)�
)�
)����	�	�	��E�E�E�	����'����	2�I�I�I�I�I�I�I���		2�		2�		2�
2�E�E�E�E�E�E�E���
2�
2�
2�2�F�F�F�F�F�F�B�B�B�B�B�B�-4�i�-?�*�*��"�2�2�2�-1�*�*�*�2������
2������		2����	P�A�A�A�A�A�A�D�D�D�D�D�D�D���	P�	P�	P�
P�W�W�W�W�W�W�W�W�W���
P�
P�
P�O�O�O�O�O�O�O�O�O�O�
P������	P����
	4�;�;�;�;�;�;�;���	4�	4�	4�3�3�3�3�3�3�3�3�	4����	$�@�@�@�@�@�@�@���	$�	$�	$�
$�<�<�<�<�<�<�<���
$�
$�
$�#����
$������	$����"�&�&�(�(��#�����=�=�>��H	�H	�H	�H	�H	�H	�H	�H	�H	�H	�X!0�� 1� 1���'6��'8�'8�
�$�-�o�e�4�4���%4�_�U�%;�%;�
�"�#2�?�#4�#4�	� �*9�/�*;�*;��'�&5�o�j�&A�&A�	�#���#2�?�#4�#4�E� ��#�*9�/�*;�*;�L�'�!0��!2�!2���%4�_�[�%A�%A��"�%4�_�[�%A�%A��"���9�#8�%4�_�%6�%6�G�"�'6��'8�'8�I�$�$�$�
#�
/�4C�O�4E�4E�"�1�1�1�0�
/s�
A�A
�A�
A�A�A�A�A%�$A%�.A5�5
B>�B�B>�
B8�B#�"B8�#B2�/B8�1B2�2B8�5B>�7B8�8B>�=B>�C�
C>�C#�"C>�#C8�5C>�7C8�8C>�=C>�D	�	D�D� D'�'
E�2D9�8E�9E�E�E�E�
ET皙�����?�$@r�c���|�|duotjdk}|�tj}|r"t|t	|dd��pd���}t||���}|�&t
|d��r|���sd}|�,|�*	t|��}n#ttf$rd}YnwxYw|td	��krd}|rx||_||_
|j5|�|��|_|j�|��ddd��n#1swxYwY||_||_||_dS|r�d|_
|j5|�|��|_|j�|��ddd��n#1swxYwYd
|vr/t-dt	|dtjj���
��nt1dt3|��z���|�|�|tjtjfvs|rG|rt7��}|r||��\}}n&t7��}|r||��\}}|�|}|�|}|	�d}	d}nd}|�d}|�d}|
�t9|��}
|r"|
durt;|
��st=|��}|�d}||_|pd|_||_||_||_ ||_!||_"||_#||_$|	|_%||_&|
|_'||_
||_(|
|_)||_*||_+||_,||_-||_.||_/||_0tc|��|_2tc|��|_3tc|��|_4||_5d|_6||_7tp|_9|r(	|j:dddi|��n#t$r
||_6YnwxYw||_;||_|j5|�|�|��n||_ddd��n#1swxYwY|s@|�<|j ��|_=|dkr|�>|j,���|�9��|_?|j?|_@dS)a�
        Parameters
        ----------
        iterable  : iterable, optional
            Iterable to decorate with a progressbar.
            Leave blank to manually manage the updates.
        desc  : str, optional
            Prefix for the progressbar.
        total  : int or float, optional
            The number of expected iterations. If unspecified,
            len(iterable) is used if possible. If float("inf") or as a last
            resort, only basic progress statistics are displayed
            (no ETA, no progressbar).
            If `gui` is True and this parameter needs subsequent updating,
            specify an initial arbitrary large positive number,
            e.g. 9e9.
        leave  : bool, optional
            If [default: True], keeps all traces of the progressbar
            upon termination of iteration.
            If `None`, will leave only if `position` is `0`.
        file  : `io.TextIOWrapper` or `io.StringIO`, optional
            Specifies where to output the progress messages
            (default: sys.stderr). Uses `file.write(str)` and `file.flush()`
            methods.  For encoding, see `write_bytes`.
        ncols  : int, optional
            The width of the entire output message. If specified,
            dynamically resizes the progressbar to stay within this bound.
            If unspecified, attempts to use environment width. The
            fallback is a meter width of 10 and no limit for the counter and
            statistics. If 0, will not print any meter (only stats).
        mininterval  : float, optional
            Minimum progress display update interval [default: 0.1] seconds.
        maxinterval  : float, optional
            Maximum progress display update interval [default: 10] seconds.
            Automatically adjusts `miniters` to correspond to `mininterval`
            after long display update lag. Only works if `dynamic_miniters`
            or monitor thread is enabled.
        miniters  : int or float, optional
            Minimum progress display update interval, in iterations.
            If 0 and `dynamic_miniters`, will automatically adjust to equal
            `mininterval` (more CPU efficient, good for tight loops).
            If > 0, will skip display of specified number of iterations.
            Tweak this and `mininterval` to get very efficient loops.
            If your progress is erratic with both fast and slow iterations
            (network, skipping items, etc) you should set miniters=1.
        ascii  : bool or str, optional
            If unspecified or False, use unicode (smooth blocks) to fill
            the meter. The fallback is to use ASCII characters " 123456789#".
        disable  : bool, optional
            Whether to disable the entire progressbar wrapper
            [default: False]. If set to None, disable on non-TTY.
        unit  : str, optional
            String that will be used to define the unit of each iteration
            [default: it].
        unit_scale  : bool or int or float, optional
            If 1 or True, the number of iterations will be reduced/scaled
            automatically and a metric prefix following the
            International System of Units standard will be added
            (kilo, mega, etc.) [default: False]. If any other non-zero
            number, will scale `total` and `n`.
        dynamic_ncols  : bool, optional
            If set, constantly alters `ncols` and `nrows` to the
            environment (allowing for window resizes) [default: False].
        smoothing  : float, optional
            Exponential moving average smoothing factor for speed estimates
            (ignored in GUI mode). Ranges from 0 (average speed) to 1
            (current/instantaneous speed) [default: 0.3].
        bar_format  : str, optional
            Specify a custom bar string formatting. May impact performance.
            [default: '{l_bar}{bar}{r_bar}'], where
            l_bar='{desc}: {percentage:3.0f}%|' and
            r_bar='| {n_fmt}/{total_fmt} [{elapsed}<{remaining}, '
              '{rate_fmt}{postfix}]'
            Possible vars: l_bar, bar, r_bar, n, n_fmt, total, total_fmt,
              percentage, elapsed, elapsed_s, ncols, nrows, desc, unit,
              rate, rate_fmt, rate_noinv, rate_noinv_fmt,
              rate_inv, rate_inv_fmt, postfix, unit_divisor,
              remaining, remaining_s, eta.
            Note that a trailing ": " is automatically removed after {desc}
            if the latter is empty.
        initial  : int or float, optional
            The initial counter value. Useful when restarting a progress
            bar [default: 0]. If using float, consider specifying `{n:.3f}`
            or similar in `bar_format`, or specifying `unit_scale`.
        position  : int, optional
            Specify the line offset to print this bar (starting from 0)
            Automatic if unspecified.
            Useful to manage multiple bars at once (eg, from threads).
        postfix  : dict or *, optional
            Specify additional stats to display at the end of the bar.
            Calls `set_postfix(**postfix)` if possible (dict).
        unit_divisor  : float, optional
            [default: 1000], ignored unless `unit_scale` is True.
        write_bytes  : bool, optional
            If (default: None) and `file` is unspecified,
            bytes will be written in Python 2. If `True` will also write
            bytes. In all other cases will default to unicode.
        lock_args  : tuple, optional
            Passed to `refresh` for intermediate output
            (initialisation, iterating, and updating).
        nrows  : int, optional
            The screen height. If specified, hides nested bars outside this
            bound. If unspecified, attempts to use environment height.
            The fallback is 20.
        colour  : str, optional
            Bar colour (e.g. 'green', '#00ff00').
        delay  : float, optional
            Don't display until [default: 0] seconds have elapsed.
        gui  : bool, optional
            WARNING: internal parameter - do not use.
            Use tqdm.gui.tqdm(...) instead. If set, will attempt to use
            matplotlib animations for a graphical output [default: False].

        Returns
        -------
        out  : decorated iterator.
        N)r��encodingzutf-8)r�)�
tqdm_instance�isattyT�inf�nestedzQ`nested` is deprecated and automated.
Use `position` instead for manual control.
r�rxzUnknown argument(s): rFrwrZ��	lock_argsr,)Ar��version_infor�rr�rrkr�r�rr��float�iterable�disablerIrAr;r.rJr�r��leaver%r�r"r6r�rrrrrr�rrL�mininterval�maxinterval�miniters�dynamic_minitersrr�rr	rr��delayrK�
dynamic_ncolsr�r��_ema_dn�_ema_dt�
_ema_minitersrrr�r�_time�set_postfix�last_print_nr��sprZ�last_print_trV) r:r�rr�r�r�rr�r�r�rr�r�rr�r�rr�positionrr	�write_bytesr�rLr�r�rKrM�_dynamic_ncols�_ncols�_nrowsr�s                                 r.r9z
tqdm.__init__Ns���x���$�,�B�3�+;�d�+B�K��<��:�D��	K�'��w�t�Z��>�>�I�'�K�K�K�D�#�4�t�<�<�<���?�w�t�X�6�6�?�t�{�{�}�}�?��G��=�X�1�
��H�
�
�����~�.�
�
�
�����
�����E�%�L�L� � ��E��		�$�D�M�"�D�L���
-�
-��-�-�d�3�3�����&�&�t�,�,�,�
-�
-�
-�
-�
-�
-�
-�
-�
-�
-�
-����
-�
-�
-�
-��D�F��D�J��D�J��F��	E��D�L���
-�
-��-�-�d�3�3�����&�&�t�,�,�,�
-�
-�
-�
-�
-�
-�
-�
-�
-�
-�
-����
-�
-�
-�
-��v�%�%�	'�C�$�T�7�C�J�4D�E�E�G�G�G�G�
�4�s�6�{�{�B�C�C�

E��]�e�m�$�3�:�s�z�:R�2R�2R�
�3S��
'� 5� 7� 7�
� �7�#0�=��#6�#6�L�E�5��!6�!8�!8��!�'�%3�^�D�%9�%9�N�F�F��}� &���}� &�����H�#���$�����K����K��=�)�$�/�/�/�E��	.�%�t�+�+�I�e�4D�4D�+�!�*�-�-�J����I�!��
��J�B��	���
���
������
���
�&���&��� ��
� 0�����
������	�$���(������"�����
����*���"����9�~�~����9�~�~��� ��^�^���$�����������
��	'�
'� �� �:�:��:�'�:�:�:�:���
'�
'�
'�&�����
'����$�������Z�	S�	S�3;�3C�t�)�)�$�/�/�/�(��D�H�	S�	S�	S�	S�	S�	S�	S�	S�	S�	S�	S����	S�	S�	S�	S��	7��)�)�$�'�2�2�D�G���z�z����t�~��6�6�6�!�J�J�L�L����(����sZ�B�B-�,B-�5D�D!�$D!�5F�F�F�N+�+N?�>N?� P�P�
Pc�z�|j�|jdkS|j�td���t|j��S)Nrz/bool() undefined when iterable == total == None)r�r�r�boolrds r.�__bool__z
tqdm.__bool__\s=���:�!��:��>�!��=� ��M�N�N�N��D�M�"�"�"r-c�*�|���Sr?)r�rds r.�__nonzero__ztqdm.__nonzero__cs���}�}���r-c�<�|j�|jn�t|jd��r|jjdngt|jd��rt	|j��n>t|jd��r|j���nt
|dd��S)Nr�r�__len__�__length_hint__r�)r�r�rkr�r�r�r�rds r.r�ztqdm.__len__fs����-�/�D�J�J�+2�4�=�'�+J�+J�.���$�Q�'�'�'.�t�}�i�'H�'H�.��T�]�#�#�#�4;�D�M�K\�4]�4]�.���.�.�0�0�0���w��-�-�	/r-c���	|j}t|j��|_|���||_S#t$rt	d���wxYw#||_wxYw)Nz'tqdm' object is not reversible)r��reversed�__iter__r�r)r:�origs  r.�__reversed__ztqdm.__reversed__nsw��	!��=�D�%�T�]�3�3�D�M��=�=�?�?� �D�M�M��
�	?�	?�	?��=�>�>�>�	?�����!�D�M� � � � s�=�,A�A�A�	A#c�t�t|jdd��}|�||��n||���vS)N�__contains__)r�r�r�)r:�item�containss   r.r�ztqdm.__contains__ys9���4�=�.�$�?�?��!)�!5�x�x��~�~�~�4�4�=�=�?�?�;R�Rr-c��|Sr?r,rds r.reztqdm.__enter__}s���r-c��	|���dS#t$r%|||fdkr�tdtd���YdSwxYw)N)NNNzAttributeError ignoredrnro)r�r�rr#)r:�exc_type�	exc_value�	tracebacks    r.riz
tqdm.__exit__�sm��	F��J�J�L�L�L�L�L���	F�	F�	F��)�Y�/�3E�E�E���)�;�1�E�E�E�E�E�E�E�		F���s��+A�Ac�.�|���dSr?)r�rds r.�__del__ztqdm.__del__�s���
�
�����r-c�&�|jdi|j��S)Nr,)r)r&rds r.�__str__ztqdm.__str__�s�� �t� �4�4�4�#3�4�4�4r-c�>�tt|dd����S)Nr;l)r�r�rds r.�_comparableztqdm._comparable�s���7�4���0�0�1�1�1r-c� �t|��Sr?)�idrds r.�__hash__z
tqdm.__hash__�s
���$�x�x�r-c#��K�|j}|jr|D]}|V��dS|j}|j}|j}|j|jz}|j}|j}	|D]Z}|V�|dz
}||z
|j	krA|��}	|	|z
}
|
|kr,|	|kr&|�
||z
��|j}|j}�[	||_|���dS#||_|���wxYw)z6Backward-compatibility to use: for x in tqdm(iterable)Nr)r�r�r�r�r�rVr�r�r�r�rr�)r:r��objr�r�r��min_start_tr�r�cur_t�dts           r.r�z
tqdm.__iter__�s5�����=���<�	��
�
���	�	�	�	��F��&���(���(���l�T�Z�/���F���z��	��
9�
9���	�	�	��Q����|�#�t�}�4�4� �D�F�F�E���-�B��[�(�(�U�k�-A�-A����A��$4�5�5�5�'+�'8��'+�'8���
9��D�F��J�J�L�L�L�L�L���D�F��J�J�L�L�L�L���s
�AC
�
C'rc�4�|jrdS|dkr|xj|z
c_|xj|z
c_|j|jz
|jk�rK|���}||jz
}||jk�r#||j|jzk�r|���}|j|jz
}|j	r.|r,|r*|�
|��|�|��|�|j
���|jr~|jr%||jkr||jp|jz|z|_nR|j	r1|�||jr|r
|j|zndz��|_nt#|j|��|_|j|_||_dSdSdSdS)ag
        Manually update the progress bar, useful for streams
        such as reading files.
        E.g.:
        >>> t = tqdm(total=filesize) # Initialise
        >>> for current_buffer in stream:
        ...    ...
        ...    t.update(len(current_buffer))
        >>> t.close()
        The last line is highly recommended, but possibly not necessary if
        `t.update()` will be called in such a way that `filesize` will be
        exactly reached and printed.

        Parameters
        ----------
        n  : int or float, optional
            Increment to add to the internal counter of iterations
            [default: 1]. If using float, consider specifying `{n:.3f}`
            or similar in `bar_format`, or specifying `unit_scale`.

        Returns
        -------
        out  : bool or None
            True if a `display()` was triggered.
        Nrr�rT)r�r�r�r�r�r�r�rVr�r�r�r�rZr�r�r�r�r�)r:r�r�r��dns     r.rztqdm.update�s���4�<�	��F��q�5�5�����"������!�����6�D�%�%���6�6��J�J�L�L�E���*�*�B��T�%�%�%�%�4�<�$�*�3L�*L�*L��
�
�����V�d�/�/���>�%�b�%�R�%��L�L��$�$�$��L�L��$�$�$����t�~��6�6�6��(�?��'�	?�B�$�2B�,B�,B�(*�d�.>�.R�$�BR�(S�VX�(X��
�
���?�(,�(:�(:��4�;K�#)�PR�#)�$�"2�R�"7�"7�'(�*�)+�)+��
�
�
),�D�M�2�(>�(>��
�%)�F��!�$)��!��t�?7�6�&�%�*L�*Lr-c�T���jrdSd�_t�j��}������j�j�jzkrdSt�dd���dS�fd�}	|d��n*#t$r}dt|��vrYd}~dS�d}~wwxYw�j
�|dkn�j
}�j5|r*d��_��
d�	��|d
��n$��
d|���r
|s|d��ddd��dS#1swxYwYdS)
z3Cleanup and (if leave=False) close the progressbar.NTr�c�V���j�t|����dSr?)r�r�r)r�r:s �r.r<ztqdm.close.<locals>.fp_writes#����G�M�M�(�1�+�+�&�&�&�&�&r-rw�closedrc��dSr?r,r,r-r.r�ztqdm.close.<locals>.<lambda>#���t�r-r:r3)r;r;r�)r�r�r;rQr�rVr�r��
ValueErrorr6r�rIr��display)r:r;r<r7r�s`    r.r�z
tqdm.close�s�����<�	��F�����$�(�m�m�����T�"�"�"���t�|�d�j�8�8�8��F��4��t�$�$�,��F�	'�	'�	'�	'�	'�	��H�R�L�L�L�L���	�	�	��3�q�6�6�!�!������������	����
!�J�.��q���D�J��
�Z�		#�		#��
#�+�|��������#�#�#���������<�<�B�C�<�0�0�#��#��H�T�N�N�N�		#�		#�		#�		#�		#�		#�		#�		#�		#�		#�		#�		#����		#�		#�		#�		#�		#�		#s1�.A:�:
B!�B�B�B!�?AD�D!�$D!c�~�|jrdS|s|j���t|j��}||jpdkrZ|�|��|�d��|j�	d��|�|��|s|j�
��dSdS)zClear current bar display.NrCrwr�)r�rIrXr�r;rL�movetor�r�r�r\)r:rHr;s   r.rOz
tqdm.clear+s����<�	��F��	!��J��� � � ��$�(�m�m���$�*�"��#�#��K�K������G�G�B�K�K�K��G�M�M�$�����K�K�������	!��J��� � � � � �	!�	!r-c���|jrdS|s-|r|jj|�sdSn|j���|���|s|j���dS)a�
        Force refresh the display of this bar.

        Parameters
        ----------
        nolock  : bool, optional
            If `True`, does not lock.
            If [default: `False`]: calls `acquire()` on internal lock.
        lock_args  : tuple, optional
            Passed to internal lock's `acquire()`.
            If specified, will only `display()` if `acquire()` returns `True`.
        NFT)r�rIrXr�r\)r:rHr�s   r.rZztqdm.refresh;s����<�	��F��	%��
%�)�t�z�)�9�5�!� �5�!��
�"�"�$�$�$��������	!��J��� � � ��tr-c�~�|jrdS|���}|xj||jz
z
c_||_dS)z(Restart tqdm timer from last print time.N)r�r�rVr�)r:r�s  r.�unpauseztqdm.unpauseVsD���<�	��F��
�
��������� 1�1�1���!����r-c�D�d|_|�||_|jrdSd|_|���x|_|_t|j��|_	t|j��|_
t|j��|_|���dS)z�
        Resets to 0 iterations for repeated use.

        Consider combining with `leave=True`.

        Parameters
        ----------
        total  : int or float, optional. Total to use for the new bar.
        rN)
r�r�r�r�r�r�rVr�r�r�r�r�rZ)r:r�s  r.�resetz
tqdm.reset^s���������D�J��<�	��F����+/�:�:�<�<�7���D�L��4�>�*�*����4�>�*�*��� ���0�0����������r-c�R�|r|dznd|_|r|���dSdS)z�
        Set/modify description of the progress bar.

        Parameters
        ----------
        desc  : str, optional
        refresh  : bool, optional
            Forces refresh [default: True].
        r4rwN�rrZ�r:rrZs   r.�set_descriptionztqdm.set_descriptionts;��$(�/�D�4�K�K�R��	��	��L�L�N�N�N�N�N�	�	r-c�H�|pd|_|r|���dSdS)z-Set/modify description without ': ' appended.rwNr�r�s   r.�set_description_strztqdm.set_description_str�s0���J�B��	��	��L�L�N�N�N�N�N�	�	r-c�4��t|�gn|���t|�����D]
}||�|<�����D]o}t�|t��r|��|���|<�<t�|t��st�|���|<�pd��fd�����D����|_	|r|�
��dSdS)a8
        Set/modify postfix (additional stats)
        with automatic formatting based on datatype.

        Parameters
        ----------
        ordered_dict  : dict or OrderedDict, optional
        refresh  : bool, optional
            Forces refresh [default: True].
        kwargs  : dict, optional
        Nr�c3�X�K�|]$}|dz�|���zV��%dS)�=N)�strip)rSrFrs  �r.r�z#tqdm.set_postfix.<locals>.<genexpr>�sP�����!<�!<�%(�"%�s��W�S�\�-?�-?�-A�-A�!A�!<�!<�!<�!<�!<�!<r-)r�sorted�keysrr
r�rr6r�rrZ)r:�ordered_dictrZrMrFrs     @r.r�ztqdm.set_postfix�s%����L�$8�b�b�l�K�K���&�+�+�-�-�(�(�	'�	'�C�!�#�;�G�C�L�L��<�<�>�>�	1�	1�C��'�#�,��/�/�
1�#���w�s�|�<�<���������k�:�:�
1�"�7�3�<�0�0������y�y�!<�!<�!<�!<�,3�L�L�N�N�!<�!<�!<�<�<����	��L�L�N�N�N�N�N�	�	r-c�^�t|��|_|r|���dSdS)zS
        Postfix without dictionary expansion, similar to prefix handling.
        N)r6rrZ)r:r�rZs   r.�set_postfix_strztqdm.set_postfix_str�s4���1�v�v����	��L�L�N�N�N�N�N�	�	r-c��|j�td|zt��|zz����t	|jdd�����dS)Nr3r�c��dSr?r,r,r-r.r�ztqdm.moveto.<locals>.<lambda>�s��$�r-)r�r�rrr�)r:r�s  r.r�ztqdm.moveto�sV����
�
�h�t�a�x�-�/�/�Q�B�*>�>�?�?�@�@�@�/�����,�,�/�/�1�1�1�1�1r-c�D�|jr0t|d��s td�|j|jddd���S|jr'|�|j��\|_|_|j|jt|d��r|�	��|j
z
nd|j|j|j|j|j
|j|���r)|���|���znd|j|j|j|j|jd�S)	z'Public API for read-only member access.r�c��dSr?r,r,r-r.r�z"tqdm.format_dict.<locals>.<lambda>�r�r-rr�)r�r�r�r�rVN)r�r�r�rrLrrr�rrrrr	rr�)r�rkrr�r�r�r�rrLr�rVrrr�rr�r�rrr	rr�rds r.r&ztqdm.format_dict�s���<�	O���f� 5� 5�	O��|�|��V�d�j�Q��.N�.N�O�O�
O���	A�%)�%7�%7���%@�%@�"�D�J��
���$�*�6=�d�I�6N�6N�U�t�z�z�|�|�d�l�2�2�TU��Z�$�*��	��Z���$�/�7;�|�|�~�~�O�D�L�L�N�N�T�\�\�^�^�3�3�4��/�d�l� �-�$�,��k�#�#�	#r-c��|�t|j��}|jpd}||dz
kr||krdS|s|�d}t|d��s4t	dt|jdtjj	���	���|r|�
|��|�|�|���n|��|r|�
|��d
S)a�
        Use `self.sp` to display `msg` in the specified `pos`.

        Consider overloading this function when inheriting to use e.g.:
        `self.some_frontend(**self.format_dict)` instead of `self.sp`.

        Parameters
        ----------
        msg  : str, optional. What to display (default: `repr(self)`).
        pos  : int, optional. Position to `moveto`
          (default: `abs(self.pos)`).
        NrCrFz ... (more hidden) ...r�zAPlease use `tqdm.gui.tqdm(...)` instead of `tqdm(..., gui=True)`
r�rxT)
r�r;rLrkr%r�r�r�r�r�r�r�r�)r:r;r;rLs    r.r�ztqdm.display�s����;��d�h�-�-�C��
� �b���%�!�)����e�|�|��u��
/�c�k�.���t�T�"�"�	F�(�6� ���'�3�:�3C�D�D�F�F�F�
F�
�	��K�K��������#�+�������3�7�7�7��	��K�K�������tr-c+�K�|dd|i|��5}|rd|_d|_d|_t|j||��V�ddd��dS#1swxYwYdS)a�
        stream  : file-like object.
        method  : str, "read" or "write". The result of `read()` and
            the first argument of `write()` should have a `len()`.

        >>> with tqdm.wrapattr(file_obj, "read", total=file_obj.size) as fobj:
        ...     while True:
        ...         chunk = fobj.read(chunk_size)
        ...         if not chunk:
        ...             break
        r��BTiNr,)r�rr	rr)r]�stream�methodr��bytesr�r�s       r.�wrapattrz
tqdm.wrapattr�s������S�
,�
,�u�
,��
,�
,�	>���
&����#���!%���#�A�H�f�f�=�=�=�=�=�	>�	>�	>�	>�	>�	>�	>�	>�	>�	>�	>�	>����	>�	>�	>�	>�	>�	>s�0A
�
A�A)rwr�)NrwFr�FNNNr�rNr?)Nr3F)NF)NNNTNNr�r�NNFr�FFr�NrNNr�NNNNrF)r)F)FN)NT)rwTrg)4r)r*r+r@r0r1r
r.�staticmethodr�r�r�r�r)r,rsrArQr�rrSr]r-r�r9r�r�r�r�r�rerir�r�r�r�r�r�rr�rOrZr�r�r�r�r�rr�r&r�rr,r-r.rr�s������������G�����J��0�0�0��\�0�:�2�2��\�2�*�+�+��\�+�$����\��2�QU�KO�:>�J`�J`�J`��\�J`�X��� �I�I�I��[�I��1�1��[�1�:�����[����$�$�$��^��[�$�8����[������[���sF�sF��[�sF�jOS�IM�BG�NO�MQ�GL�L)�L)�L)�L)�\#�#�#����/�/�/�	!�	!�	!�S�S�S����F�F�F����5�5�5��2�2��X�2����$�$�$�LA�A�A�A�F*#�*#�*#�X!�!�!�!� ����6"�"�"�����,������������>����2�2�2�
�#�#��X�#�""�"�"�"�H��>�>�>��^��[�>�>�>r-rc�*�tt|�fi|��S)zh
    A shortcut for tqdm(xrange(*args), **kwargs).
    On Python3+ range is used instead of xrange.
    )rr)rLrMs  r.r r s��
���
�(�(��(�(�(r-):r@�
__future__rrr��collectionsrr�
contextlibrrr	�numbersr
rr�r�weakrefr
�_monitorr�utilsrrrrrrrrrrrrrrr�
__author__�__all__rr!r�r"�Warningr#r�r$�DeprecationWarningr%�RuntimeWarningr&rNr+rPrur�rr r,r-r.�<module>rs�����1�0�0�0�0�0�0�0�
�
�
�
�0�0�0�0�0�0�0�0�%�%�%�%�%�%�(�(�(�(�(�(�(�(�������������������������������+�+�+�+�+�+�+�+�+�+�+�+�+�+�+�+�+�+�+�+�+�+�+�+�+�+�+�+�+�+�+�+�+�+�
:�
�!�!�!��	�	�	�	�	�I�	�	�	�	�	�	�	�	�8�	�	�	�	<�	<�	<�	<�	<�'�	<�	<�	<�	�	�	�	�	�k�=�	�	�	�
	�	�	�	�	�[�*<�	�	�	�
	�	�	�	�	��n�	�	�	�

�
�
�4X�4X�4X�4X�4X�6�4X�4X�4X�nPM�PM�PM�PM�PM�&�PM�PM�PM�fQ�Q�Q�Q�Q�&�Q�Q�Q�>F>�F>�F>�F>�F>�:�F>�F>�F>�R()�)�)�)�)r-

Youez - 2016 - github.com/yon3zu
LinuXploit