Hacked By AnonymousFox

Current Path : /opt/cloudlinux/venv/lib/python3.11/site-packages/testfixtures/__pycache__/
Upload File :
Current File : //opt/cloudlinux/venv/lib/python3.11/site-packages/testfixtures/__pycache__/datetime.cpython-311.pyc

�

�܋f�a���ddlmZddlmZmZmZmZddlmZm	Z	m
Z
mZmZm
Z
mZmZGd�de��ZGd�d��Z				d;dede
ed
eedfdedeee
fdeededede
ededefd�ZGd�dee��Zed	d	ded
fdededede
edede
efd���Zeddddd	d	ded
f	dededed ed!ed"ed#edededede
edede
efd$���Zed	d	ded
fd
edededede
edede
efd%���Zed	d	ded
fd
d	dededede
edede
efd&���Zd	d	ded
d'�dededede
edede
efd(�ZGd)�d*ee��Zed	d	ed
fdedede
edede
ef
d+���Ze			d<dedededededede
efd-���Ze			d<d
edededede
ef
d.���Ze			d<d
d	dededede
ef
d/���Zd	d,d
d0�dededede
efd1�Zd2ZGd3�d4ee��Ze		d=dedede
efd5���Ze						d>dededed ed!ed"ed#ededede
efd6���Ze		d=d
ededede
efd7���Ze		d=d
d	dedede
efd8���Zd	dd9�dedede
efd:�Zd	S)?�)�timegm)�datetime�	timedelta�date�tzinfo)�Optional�Callable�Type�Tuple�Dict�Any�cast�overloadc�p��eZdZUeed<eed<eed<deededef�fd�Zdeddfd�Z	d
d	�Z
�xZS)�Queue�delta�delta_delta�
delta_typec���t�����|�d|_||_n||_d|_||_dS)Nr)�super�__init__rrr)�selfrrr�	__class__s    ��f/builddir/build/BUILD/cloudlinux-venv-1.0.6/venv/lib/python3.11/site-packages/testfixtures/datetime.pyrzQueue.__init__sJ���
���������=��D�J�*�D����D�J� �D��$������returnNc�&�|dxx|z
cc<dS)N����)rrs  r�advance_nextzQueue.advance_nexts���R����E������r�
MockedCurrentc��|�d��}|sE|xj|jz
c_|tdi|j|ji��z}|�|��|S)Nrr)�poprrrr�append)r�instance�ns   r�nextz
Queue.nextsa���8�8�A�;�;���	��J�J�$�*�*�J�J��9�E�E�����'D�E�E�E�A��K�K��N�N�N��r�rr!)�__name__�
__module__�__qualname__�float�__annotations__�strrrrr r'�
__classcell__�rs@rrrs����������L�L�L������O�O�O�%�h�u�o�%�E�%�s�%�%�%�%�%�%��)��������������rrc���eZdZUeed<eed<eed<eeed<eeed<dZ	e
ed<					dd	ed
ededed
eef
d�Ze
d���Ze
dd���Ze
dd���Zd�fd�Z�fd�Z�xZS)r!�_mock_queue�_mock_base_class�_mock_class�_mock_tzinfo�_mock_date_typeN�_correct_mock_typeF�concrete�queue�strictr�	date_typec��|rD||_|jdjd|_|r|n|j|_||_||_dSdS)Nr�)r2�	__bases__r3r4r5r6)�clsr8r9r:rr;s      r�__init_subclass__zMockedCurrent.__init_subclass__+s]���	,�#�C�O�#&�=��#3�#=�a�#@�C� �%+�E�c�c��1E�C�O�%�C��"+�C����	,�	,rc���d|vst|��dkrtd|jz���|r�t|d|j��r�|d}t|dd��}|rH||jkr'td|jj�d|�d|j�����|�	d���}|j
r|�
|��}n||i|��}|j�|��dS)	Nr�zCannot add using tzinfo on %srzCannot add z with tzinfo of z as configured to use �r)
�len�	TypeErrorr)�
isinstancer3�getattrr5�
ValueErrorr�replacer7r2r$)r?�args�kwr%�instance_tzinfos     r�addzMockedCurrent.add:s���r�>�>�S��Y�Y��]�]��;�c�l�J�K�K�K��
	(�J�t�A�w��(<�=�=�
	(��A�w�H�%�h��$�?�?�O��
9�"�c�&6�6�6�$�*�$�.�7�7�7����#�JZ�JZ�����$�+�+�4�+�8�8���%�
<��1�1�(�;�;����s�D�'�B�'�'�H�����x�(�(�(�(�(rrc�R�|j���|j|i|��dS�N)r2�clearrM)r?rJrKs   r�setzMockedCurrent.setNs3�������������������rc�`�|r
tdi|��}n|\}|j�|��dS)Nr)rr2r )r?rJrKrs    r�tickzMockedCurrent.tickSs>��
�	��O�O��O�O�E�E��F�E���$�$�U�+�+�+�+�+rc���t���|��}|jr|�|��}|SrO)r�__add__r7)r�otherr%rs   �rrUzMockedCurrent.__add__[s;����7�7�?�?�5�)�)���"�	9��.�.�x�8�8�H��rc�j��||jurt��j|g|�Ri|��S|j|i|��SrO)r4r�__new__�r?rJrKrs   �rrXzMockedCurrent.__new__asM����#�/�!�!�"�5�7�7�?�3�4��4�4�4��4�4�4�"�3�?�D�/�B�/�/�/r)FNNNN�rNr()r)r*r+rr-r
r�TZInforr7r	�boolr@�classmethodrMrQrSrUrXr/r0s@rr!r!"sg���������������������6�"�"�"�"��$�Z����#'���'�'�'�#���!�$(�

,�
,��
,��
,��	
,�
�
,��D�z�

,�
,�
,�
,��)�)��[�)�&�����[���,�,�,��[�,�������0�0�0�0�0�0�0�0�0rr!r=NF�	type_name�
mock_class�default.rJrKrrrr;rr:c���tttt||fidt	|||��|
|	|�����}|dkr|s|s|}|j|i|��|S)NT)r8r9r:rr;rO)rr
r!�typerrM)r^r_r`rJrKrrrr;rr:r?s            r�mock_factoryrchs����t�M�"�D��	�
�
���E�;�
�3�3����	%�	%�	%�	�	�C��w����	��	��D�����������Jrc�\��eZdZee					d#dededededededed	ed
dfd�����Zeed
ed
dfd�����Ze�fd���Zee					d#dededededededed	ed
dfd�����Z	eed
ed
dfd�����Z	e�fd���Z	ee							d$de
de
de
de
de
de
de
d
dfd�����Zeeded
dfd�����Zed%�fd���Zed���Z
ed&ded
efd ���Zed
efd!���Zd
efd"�Z�xZS)'�MockDateTime.�year�month�day�hour�minute�second�microsecondrrNc	��dSrOr�	r?rfrgrhrirjrkrlrs	         rrMzMockDateTime.add��	��	�rr%c��dSrOr�r?r%s  rrMzMockDateTime.add��	��	�rc�6��t��j|i|��S)aI
        This will add the :class:`datetime.datetime` created from the
        supplied parameters to the queue of datetimes to be returned by
        :meth:`~MockDateTime.now` or :meth:`~MockDateTime.utcnow`. An instance
        of :class:`~datetime.datetime` may also be passed as a single
        positional argument.
        �rrMrYs   �rrMzMockDateTime.add�� ����u�w�w�{�D�'�B�'�'�'rc	��dSrOrrns	         rrQzMockDateTime.set�rorc��dSrOrrqs  rrQzMockDateTime.set�rrrc�6��t��j|i|��S)av
        This will set the :class:`datetime.datetime` created from the
        supplied parameters as the next datetime to be returned by
        :meth:`~MockDateTime.now` or :meth:`~MockDateTime.utcnow`, clearing out
        any datetimes in the queue.  An instance
        of :class:`~datetime.datetime` may also be passed as a single
        positional argument.
        �rrQrYs   �rrQzMockDateTime.set�� ����u�w�w�{�D�'�B�'�'�'r�days�seconds�microseconds�milliseconds�minutes�hours�weeksc��dSrOr�r?r{r|r}r~rr�r�s        rrSzMockDateTime.tick��	��	�rrc��dSrOr�r?rs  rrSzMockDateTime.tick�rrrc�6��t��j|i|��S)a�
        This method should be called either with a :class:`~datetime.timedelta`
        as a positional argument, or with keyword parameters that will be used
        to construct a :class:`~datetime.timedelta`.

        The  :class:`~datetime.timedelta` will be used to advance the next datetime
        to be returned by :meth:`~MockDateTime.now` or :meth:`~MockDateTime.utcnow`.
        �rrSrYs   �rrSzMockDateTime.tick�� ����u�w�w�|�T�(�R�(�(�(rc
��|�|j|j|j|j|j|j|j|j��SrO)	r4rfrgrhrirjrkrlrrqs  rr7zMockDateTime._correct_mock_type�sA������M��N��L��M��O��O�� ��O�	
�	
�		
r�tzc�"�tt|j�����}|�M|jr||j�|��z
}|�|�|�����}|�|��S)a~
        :param tz: An optional timezone to apply to the returned time.
                If supplied, it must be an instance of a
                :class:`~datetime.tzinfo` subclass.

        This will return the next supplied or calculated datetime from the
        internal queue, rather than the actual current datetime.

        If `tz` is supplied, see :ref:`timezones`.
        NrC)	rrr2r'r5�	utcoffset�fromutcrIr7)r?r�r%s   r�nowzMockDateTime.now�s�����#�/�"6�"6�"8�"8�9�9��
�>���
K�#�c�&6�&@�&@��&J�&J�J���z�z�(�"2�"2�"�"2�"=�"=�>�>�H��%�%�h�/�/�/rc��tt|j�����}|j�||j�|��z
}|S)z�
        This will return the next supplied or calculated datetime from the
        internal queue, rather than the actual current UTC datetime.

        If you care about timezones, see :ref:`timezones`.
        )rrr2r'r5r�rqs  r�utcnowzMockDateTime.utcnowsJ����#�/�"6�"6�"8�"8�9�9����'��#�"2�"<�"<�X�"F�"F�F�H��rc�N�|�|j|j|j��S)z�
        This will return the date component of the current mock instance,
        but using the date type supplied when the mock class was created.
        )r6rfrgrh)rs rrzMockDateTime.dates+��
�#�#��I��J��H���	r).....�.......rZrO)r)r*r+rr]�intr[rMrrQr,rSrr7r�r�rr/r0s@rrere�s��������
�����"� ��������	�
���
�������
�����[��X�������
�����[��X���(�(�(�(��[�(������"� ��������	�
���
�������
�����[��X�������
�����[��X���	(�	(�	(�	(��[�	(���� �"%�"%� ���
�
��
��
� �	
�
 �
��
��
��
�
�
�
�
��[��X�
������
�����[��X���	)�	)�	)�	)�	)��[�	)��

�

��[�

��0�0�V�0�x�0�0�0��[�0�$�
�x�
�
�
��[�
�	�d�	�	�	�	�	�	�	�	rrer|rc��dSrOr�rrrr;r:s     r�
mock_datetimer�*s	���Crrfrgrhrirjrkrlc��dSrOr)rfrgrhrirjrkrlrrrr;r:s            rr�r�5s	���Crc��dSrOr�r`rrrr;r:s      rr�r�G�	���Crc��dSrOrr�s      rr�r�Sr�rr�c��t|��dkr|d}|dd�}n|p|rt|ddd��nd}ttttdtd||||d|||�����S)	a�

    .. currentmodule:: testfixtures.datetime

    A function that returns a mock object that can be used in place of
    the :class:`datetime.datetime` class but where the return value of
    :meth:`~MockDateTime.now` can be controlled.

    If a single positional argument of ``None`` is passed, then the
    queue of datetimes to be returned will be empty and you will need to
    call :meth:`~MockDateTime.set` or :meth:`~MockDateTime.add` before calling
    :meth:`~MockDateTime.now` or :meth:`~MockDateTime.utcnow`.

    If an instance of :class:`~datetime.datetime` is passed as a single
    positional argument, that will be used as the first date returned by
    :meth:`~MockDateTime.now`

    :param year:
      An optional year used to create the first datetime returned by :meth:`~MockDateTime.now`.

    :param month:
      An optional month used to create the first datetime returned by :meth:`~MockDateTime.now`.

    :param day:
      An optional day used to create the first datetime returned by :meth:`~MockDateTime.now`.

    :param hour:
      An optional hour used to create the first datetime returned by :meth:`~MockDateTime.now`.

    :param minute:
      An optional minute used to create the first datetime returned by :meth:`~MockDateTime.now`.

    :param second:
      An optional second used to create the first datetime returned by :meth:`~MockDateTime.now`.

    :param microsecond:
      An optional microsecond used to create the first datetime returned by
      :meth:`~MockDateTime.now`.

    :param tzinfo:
      An optional :class:`datetime.tzinfo`, see :ref:`timezones`.

    :param delta:
      The size of the delta to use between values returned from mocked class methods.
      If not specified, it will increase by 1 with each call to :meth:`~MockDateTime.now`.

    :param delta_type:
      The type of the delta to use between values returned from mocked class methods.
      This can be any keyword parameter accepted by the :class:`~datetime.timedelta` constructor.

    :param date_type:
      The type to use for the return value of the mocked class methods.
      This can help with gotchas that occur when type checking is performed on values returned
      by the :meth:`~testfixtures.datetime.MockDateTime.date` method.

    :param strict:
      If ``True``, calling the mock class and any of its methods will result in an instance of
      the mock being returned. If ``False``, the default, an instance of
      :class:`~datetime.datetime` will be returned instead.

    The mock returned will behave exactly as the :class:`datetime.datetime` class
    as well as being a subclass of :class:`~testfixtures.datetime.MockDateTime`.
    rBNrrre���r=r=rrr�
)rrrrr;r:)rDrGrr
rerc)rrrr;r:rJrKs       rr�r�_s���N�4�y�y�1�}�}��a����B�Q�B�x����O��N�G�D��G�X�t�<�<�<�$����\�"�L�����
�������%
�%
�%
���rc
����eZdZed���Zeededededdfd�����Zeededdfd	�����Ze�fd
���Zeededededdfd�����Z	eededdfd�����Z	ed�fd
���Z	ee		dde
de
ddfd�����Zeededdfd�����Zed�fd���Zedefd���Z
�xZS)�MockDatec�N�|�|j|j|j��SrO)r4rfrgrhrqs  rr7zMockDate._correct_mock_type�s'������M��N��L�
�
�	
rrfrgrhrNc��dSrOr�r?rfrgrhs    rrMzMockDate.add��	��	�rr%c��dSrOrrqs  rrMzMockDate.add�rrrc�6��t��j|i|��S)a
        This will add the :class:`datetime.date` created from the
        supplied parameters to the queue of dates to be returned by
        :meth:`~MockDate.today`.  An instance
        of :class:`~datetime.date` may also be passed as a single
        positional argument.
        rtrYs   �rrMzMockDate.add�rurc��dSrOrr�s    rrQzMockDate.set�r�rc��dSrOrrqs  rrQzMockDate.set�rrrc�6��t��j|i|��S)aF
        This will set the :class:`datetime.date` created from the
        supplied parameters as the next date to be returned by
        :meth:`~MockDate.today`, regardless of any dates in the
        queue.   An instance
        of :class:`~datetime.date` may also be passed as a single
        positional argument.
        ryrYs   �rrQzMockDate.set�rzr.r{r�c��dSrOr)r?r{r�s   rrSz
MockDate.tick�s	��	�rrc��dSrOrr�s  rrSz
MockDate.tickrrrc�6��t��j|i|��S)aa
        This method should be called either with a :class:`~datetime.timedelta`
        as a positional argument, or with keyword parameters that will be used
        to construct a :class:`~datetime.timedelta`.

        The  :class:`~datetime.timedelta` will be used to advance the next date
        to be returned by :meth:`~MockDate.today`.
        r�rYs   �rrSz
MockDate.tickr�rc�Z�tt|j�����S)z�
        This will return the next supplied or calculated date from the
        internal queue, rather than the actual current date.

        )rrr2r')r?s r�todayzMockDate.todays"���D�#�/�.�.�0�0�1�1�1rrZ)..)r)r*r+r]r7rr�rMrrQr,rSrr�r/r0s@rr�r��s��������
�
��[�
���������	�

�����[��X�������
�����[��X���(�(�(�(��[�(���������	�

�����[��X�������
�����[��X���	(�	(�	(�	(�	(��[�	(�����������
�	����[��X�������
�����[��X���	)�	)�	)�	)�	)��[�	)��2�d�2�2�2��[�2�2�2�2�2rr�c��dSrOr)rrr;r:s    r�	mock_dater�&�	���Crr{c��dSrOr)rfrgrhrrr:s      rr�r�0r�rc��dSrOr�r`rrr:s    rr�r�<r�rc��dSrOrr�s    rr�r�Fr�r�rrr:c
�v�ttttdtd|||||�����S)a
    .. currentmodule:: testfixtures.datetime

    A function that returns a mock object that can be used in place of
    the :class:`datetime.date` class but where the return value of
    :meth:`~datetime.date.today` can be controlled.

    If a single positional argument of ``None`` is passed, then the
    queue of dates to be returned will be empty and you will need to
    call :meth:`~MockDate.set` or :meth:`~MockDate.add` before calling
    :meth:`~MockDate.today`.

    If an instance of :class:`~datetime.date` is passed as a single
    positional argument, that will be used as the first date returned by
    :meth:`~datetime.date.today`

    :param year:
      An optional year used to create the first date returned by :meth:`~datetime.date.today`.

    :param month:
      An optional month used to create the first date returned by :meth:`~datetime.date.today`.

    :param day:
      An optional day used to create the first date returned by :meth:`~datetime.date.today`.

    :param delta:
      The size of the delta to use between values returned from :meth:`~datetime.date.today`.
      If not specified, it will increase by 1 with each call to :meth:`~datetime.date.today`.

    :param delta_type:
      The type of the delta to use between values returned from :meth:`~datetime.date.today`.
      This can be any keyword parameter accepted by the :class:`~datetime.timedelta` constructor.

    :param strict:
      If ``True``, calling the mock class and any of its methods will result in an instance of
      the mock being returned. If ``False``, the default, an instance of :class:`~datetime.date`
      will be returned instead.

    The mock returned will behave exactly as the :class:`datetime.date` class
    as well as being a subclass of :class:`~testfixtures.datetime.MockDate`.
    r�)r�r=r=r�)rr
r�rc)rrr:rJrKs     rr�r�PsB��`��X����H�l�D�"����	!
�!
�!
���ri@Bc���eZdZee				ddededededededed	d
fd�����Zeeded	d
fd
�����Ze�fd���Zee				ddededededededed	d
fd�����Zeeded	d
fd�����Ze�fd���Zee							dde	de	de	de	de	de	de	d	d
fd�����Z
eeded	d
fd�����Z
e�fd���Z
d	e	f�fd�Z�xZ
S) �MockTime.rfrgrhrirjrkrlrNc��dSrOr�r?rfrgrhrirjrkrls        rrMzMockTime.add�r�rr%c��dSrOrrqs  rrMzMockTime.add�rrrc�6��t��j|i|��S)aR
        This will add the time specified by the supplied parameters to the
        queue of times to be returned by calls to the mock. The
        parameters are the same as the :class:`datetime.datetime`
        constructor. An instance of :class:`~datetime.datetime` may also
        be passed as a single positional argument.
        rtrYs   �rrMzMockTime.add�rurc��dSrOrr�s        rrQzMockTime.set�r�rc��dSrOrrqs  rrQzMockTime.set�rrrc�6��t��j|i|��S)a~
        This will set the time specified by the supplied parameters as
        the next time to be returned by a call to the mock, regardless of
        any times in the queue.  The parameters are the same as the
        :class:`datetime.datetime` constructor.  An instance of
        :class:`~datetime.datetime` may also be passed as a single
        positional argument.
        ryrYs   �rrQzMockTime.set�rzrr{r|r}r~rr�r�c��dSrOrr�s        rrSz
MockTime.tick�r�rrc��dSrOrr�s  rrSz
MockTime.tick�rrrc�6��t��j|i|��S)a\
        This method should be called either with a :class:`~datetime.timedelta`
        as a positional argument, or with keyword parameters that will be used
        to construct a :class:`~datetime.timedelta`.

        The  :class:`~datetime.timedelta` will be used to advance the next time
        to be returned by a call to the mock.
        r�rYs   �rrSz
MockTime.tick�r�rc�"��|s|rt��j|g|�Ri|��Stt|j�����}t
|�����}|t|j	��tzz
}|S)z�
        Return a :class:`float` representing the mocked current time as would normally
        be returned by :func:`time.time`.
        )rrXrrr2r'r�utctimetupler,rl�ms)r?rJrKr%�timers     �rrXzMockTime.__new__�s����
�	�2�	�"�5�7�7�?�3�4��4�4�4��4�4�4��H�c�o�&:�&:�&<�&<�=�=�H��(�/�/�1�1�2�2�D��U�8�/�0�0��3�4�D��Kr)....r�)r)r*r+rr]r�rMrrQr,rSrrXr/r0s@rr�r��s�������
�����"�
�
��
��
��	
�
�
��
��
��
�
�
�
�
��[��X�
������
�����[��X���(�(�(�(��[�(������"�
�
��
��
��	
�
�
��
��
��
�
�
�
�
��[��X�
������
�����[��X���	(�	(�	(�	(��[�	(���� �"%�"%� ���
�
��
��
� �	
�
 �
��
��
��
�
�
�
�
��[��X�
������
�����[��X���	)�	)�	)�	)��[�	)��U����������rr�c��dSrOr�rrs  r�	mock_timer�s	��
�Crc	��dSrOr)	rfrgrhrirjrkrlrrs	         rr�r�	s	���Crc��dSrOr�r`rrs   rr�r��	���Crc��dSrOrr�s   rr�r�!r�rr�c���d|vs,t|��dks|r&t|ddd��rtd���ttt
t
dt
d||||�����S)	a�
    .. currentmodule:: testfixtures.datetime

    A function that returns a :class:`mock object <testfixtures.datetime.MockTime>` that can be
    used in place of the :func:`time.time` function but where the return value can be
    controlled.

    If a single positional argument of ``None`` is passed, then the
    queue of times to be returned will be empty and you will need to
    call :meth:`~MockTime.set` or :meth:`~MockTime.add` before calling
    the mock.

    If an instance of :class:`~datetime.datetime` is passed as a single
    positional argument, that will be used to create the first time returned.

    :param year: An optional year used to create the first time returned.

    :param month: An optional month used to create the first time.

    :param day: An optional day used to create the first time.

    :param hour: An optional hour used to create the first time.

    :param minute: An optional minute used to create the first time.

    :param second: An optional second used to create the first time.

    :param microsecond: An optional microsecond used to create the first time.

    :param delta:
      The size of the delta to use between values returned.
      If not specified, it will increase by 1 with each call to the mock.

    :param delta_type:
      The type of the delta to use between values returned.
      This can be any keyword parameter accepted by the :class:`~datetime.timedelta` constructor.

    The :meth:`~testfixtures.datetime.MockTime.add`, :meth:`~testfixtures.datetime.MockTime.set`
    and :meth:`~testfixtures.datetime.MockTime.tick` methods on the mock can be used to
    control the return values.
    rrBrNz+You don't want to use tzinfo with test_timer�r�r�)rDrGrErr
r�rc)rrrJrKs    rr�r�*s~��T�2�~�~��T���Q���4��G�D��G�X�t�4T�4T���E�F�F�F���X����H�3�T�2���!
�!
�!
���r)r=NNF)Nr{F)Nr|)....Nr|) �calendarrrrrrr[�typingrr	r
rrr
rr�listrr!r.r��tupler,r\rcrer�r�r�r�r�r�rrr�<module>r�s���������@�@�@�@�@�@�@�@�@�@�@�@�M�M�M�M�M�M�M�M�M�M�M�M�M�M�M�M�M�M�M�M������D����8C0�C0�C0�C0�C0�C0�C0�C0�\� $���������'���s�C�x����	�

��c��N�����
�������:���������@_�_�_�_�_�=�(�_�_�_�D
���#� $������������:�	�
��
�,��
���
���
�
������#� $�����������	�
���
�����������:����
�,�����
���"
���#� $��
���������	�
��:���
�
�,�����
���
���#� $��
���������	�
��:���
�
�,�����
�����#� $��
X�X�X��X��X��	X�
��:�X��
X�
�,��X�X�X�X�vi2�i2�i2�i2�i2�}�d�i2�i2�i2�X
��� $��	��������:���	�

�(�^����
���
�
� ��
���������	�
���
�
�(�^����
���
�� ��	���������	�

�(�^����
���
�� ��	���������	�

�(�^����
���� ��	5�5�5��5��5��	5�
�(�^�
5�5�5�5�p��s�s�s�s�s�}�h�s�s�s�l
��#�������
�,�����
���
�
�����#����������	�
���
�������
�,�����
���
��#���������
�,��	���
���
��#���������
�,��	���
���%)�I�0�0�0�E�0�c�0�PT�U]�P^�0�0�0�0�0�0r

Hacked By AnonymousFox1.0, Coded By AnonymousFox