File: //home/arjun/projects/env/lib64/python3.10/site-packages/dateutil/tz/__pycache__/tz.cpython-310.pyc
o
$we�� � @ s� d Z ddlZddlZddlZddlZddlZddlZddlZddlm Z ddl
Z
ddl
mZ ddlm
Z
ddlmZmZ ddlmZmZ dd lmZ dd
lmZmZ ddlmZ z
ddlmZmZ W n
eyo d ZZY nw dd
lmZ e�d�Zej� d�Z!e!�"� Z#e
�$e�G dd� dej%��Z&e&� Z'e
�$e�G dd� dej%��Z(G dd� de�Z)G dd� de*�Z+G dd� de*�Z,G dd� de�Z-G dd� de�Z.e
�$e�G dd� de.��Z/G dd� de*�Z0G d d!� d!e�Z1G d"d#� d#e*�Z2ej3d$kr�d%d&gZ4g d'�Z5ng Z4g Z5d(d)� Z6e6� Z7[6d9d*d+�Z8d9d,d-�Z9d.d/� Z:d0d1� Z;ej<d2k�r(d3d4� Z=nd5d4� Z=z dd6l>m?Z@ W dS e�yH G d7d8� d8e*�Z@Y dS w ):a�
This module offers timezone implementations subclassing the abstract
:py:class:`datetime.tzinfo` type. There are classes to handle tzfile format
files (usually are in :file:`/etc/localtime`, :file:`/usr/share/zoneinfo`,
etc), TZ environment string (in all known formats), given ranges (with help
from relative deltas), local machine timezone, fixed offset timezone, and UTC
timezone.
� N)�OrderedDict)�string_types)�_thread� )�tzname_in_python2�_tzinfo)�tzrangebase�enfold)�_validate_fromutc_inputs)�_TzSingleton�_TzOffsetFactory)�
_TzStrFactory)�tzwin�
tzwinlocal)�warnc @ sb e Zd ZdZdd� Zdd� Zedd� �Zdd � Ze d
d� �Z
dd
� ZdZdd� Z
dd� ZejZdS )�tzutca�
This is a tzinfo object that represents the UTC time zone.
**Examples:**
.. doctest::
>>> from datetime import *
>>> from dateutil.tz import *
>>> datetime.now()
datetime.datetime(2003, 9, 27, 9, 40, 1, 521290)
>>> datetime.now(tzutc())
datetime.datetime(2003, 9, 27, 12, 40, 12, 156379, tzinfo=tzutc())
>>> datetime.now(tzutc()).tzname()
'UTC'
.. versionchanged:: 2.7.0
``tzutc()`` is now a singleton, so the result of ``tzutc()`` will
always return the same object.
.. doctest::
>>> from dateutil.tz import tzutc, UTC
>>> tzutc() is tzutc()
True
>>> tzutc() is UTC
True
c C � t S �N��ZERO��self�dt� r �G/home/arjun/projects/env/lib/python3.10/site-packages/dateutil/tz/tz.py� utcoffsetJ � ztzutc.utcoffsetc C r r r r r r r �dstM r z tzutc.dstc C � dS )N�UTCr r r r r �tznameP s ztzutc.tznamec C r )�6
Whether or not the "wall time" of a given datetime is ambiguous in this
zone.
:param dt:
A :py:class:`datetime.datetime`, naive or time zone aware.
:return:
Returns ``True`` if ambiguous, ``False`` otherwise.
.. versionadded:: 2.6.0
Fr r r r r �is_ambiguousT s ztzutc.is_ambiguousc C s |S )z�
Fast track version of fromutc() returns the original ``dt`` object for
any valid :py:class:`datetime.datetime` object.
r r r r r �fromutcd s z
tzutc.fromutcc C s0 t |ttf�s tS t |t�pt |t�o|jtkS r )�
isinstancer �tzoffset�NotImplemented�_offsetr �r �otherr r r �__eq__l s
�ztzutc.__eq__Nc C �
| |k S r r r( r r r �__ne__u �
ztzutc.__ne__c C � d| j j S �Nz%s()�� __class__�__name__�r r r r �__repr__x � ztzutc.__repr__)r2 �
__module__�__qualname__�__doc__r r r r r"