+
    4jo,                         R t ^ RIt^ RIHtHtHt ^ RIHt ^ RIHt ^ RI	H
t
 ^ RIHtHtHtHtHtHtHt ^ RIHt ^ RIHtHt ^ R	IHt ^ R
IHtHt  ! R R4      tR# )z
Implements the :class:`ArrowFactory <arrow.factory.ArrowFactory>` class,
providing factory methods for common :class:`Arrow <arrow.arrow.Arrow>`
construction scenarios.

N)datedatetimetimezonetzinfo)Decimal)struct_time)AnyListOptionalTupleTypeUnionoverload)parser)TZ_EXPRArrow)DEFAULT_LOCALE)is_timestampiso_to_gregorianc                   2  a  ] tR t^t o Rt]3V 3R lR llt]R]RRRR/V 3R	 lR
 ll4       t	]R]RRRR/V 3R lR ll4       t	]R]RRRR/V 3R lR ll4       t	]R]RRRR/V 3R lR ll4       t	V 3R lR lt	V 3R lR lt
RV 3R lR lltV 3R ltRtV tR# )ArrowFactoryzA factory for generating :class:`Arrow <arrow.arrow.Arrow>` objects.

:param type: (optional) the :class:`Arrow <arrow.arrow.Arrow>`-based class to construct from.
    Defaults to :class:`Arrow <arrow.arrow.Arrow>`.

c                4   < V ^8  d   QhRS[ S[,          RR/# )   typereturnNr   r   )format__classdict__s   "_/home/user/pdf2html-billing-ledger-validate/.venv/lib/python3.14/site-packages/arrow/factory.py__annotate__ArrowFactory.__annotate__   s      T%[ T     c                    Wn         R # Nr   )selfr   s   &&r   __init__ArrowFactory.__init__   s    	r"   localer   Nnormalize_whitespaceFc                B   < V ^8  d   QhRS[ RS[S[,          RS[RS[/# )r   r)   r   r*   r   )strr   r   boolr   )r   r   s   "r   r    r!   #   s:        !	
 # 
r"   c                   R # r$    )r&   r)   r   r*   s   &$$$r   getArrowFactory.get"   s     r"   c                   < V ^8  d   QhRS[ S[S[S[S[S[S[S[S[S[	S[S[S[3,          3	,          RS[RS[
S[,          RS[RS[/# )r   _ArrowFactory__objr)   r   r*   r   )r   r   r   r   r   	dt_tzinfointfloatr,   r   r   r   r-   )r   r   s   "r   r    r!   ,   sr      #sC- "

  !  #!" 
#r"   c                   R # r$   r/   )r&   r3   r)   r   r*   s   &&$$$r   r0   r1   +   s    $ r"   c                d   < V ^8  d   QhRS[ S[S[3,          RS[RS[RS[S[,          RS[RS[/# r   _ArrowFactory__arg1_ArrowFactory__arg2r)   r   r*   r   )r   r   r   r   r,   r   r-   r   )r   r   s   "r   r    r!   @   sU      hn% 
  ! # 
r"   c                   R # r$   r/   r&   r:   r;   r)   r   r*   s   &&&$$$r   r0   r1   ?        r"   c                t   < V ^8  d   QhRS[ RS[S[ S[S[ ,          3,          RS[ RS[S[,          RS[RS[/# r9   )r,   r   r
   r   r   r-   r   )r   r   s   "r   r    r!   K   sY       c49n%
  ! # 
r"   c                   R # r$   r/   r=   s   &&&$$$r   r0   r1   J   r>   r"   c                ,   < V ^8  d   QhRS[ RS[ RS[/# )r   argskwargsr   )r	   r   )r   r   s   "r   r    r!   U   s'     T. T. T. T. T.r"   c                >
   \        V4      pVP                  R\        4      pVP                  RR4      pVP                  RR4      p\        V4      ^8  d   ^p\        V4      ^8X  d   Vf   ^pV^ 8X  d   \	        V\
        4      '       d<   \        P                  P                  V4      pV P                  P                  VR7      # \	        V\        4      '       d   V P                  P                  VR7      # V P                  P                  4       # V^8X  Edd   V^ ,          p\	        V\        4      '       d   \        V4      pVf   \        R4      h\	        V\
        4      '       gB   \!        V4      '       d1   Vf   \"        P$                  pV P                  P'                  WuR7      # \	        V\(        4      '       d(   V P                  P+                  VP,                  VR7      # \	        V\,        4      '       d   V P                  P+                  WuR7      # \	        V\.        4      '       d   V P                  P1                  WuR7      # \	        V\        4      '       d   V P                  P                  VR7      # \	        V\
        4      '       dB   \        P2                  ! V4      P5                  Wv4      pV P                  P+                  WR7      # \	        V\6        4      '       d0   V P                  P9                  \:        P<                  ! V4      4      # \	        V\>        4      '       d6   \        V4      ^8X  d&   \A        V!  p	V P                  P1                  WR7      # \        R\        V4      : R	24      hV^8X  Ed   V^ ,          V^,          r\	        V
\,        4      '       dR   \	        V\        \
        34      '       d   V P                  P+                  WR7      # \        R
\        V4      : R	24      h\	        V
\.        4      '       dR   \	        V\        \
        34      '       d   V P                  P1                  WR7      # \        R\        V4      : R	24      h\	        V
\
        4      '       dn   \	        V\
        \B        34      '       dR   \        P2                  ! V4      P                  V^ ,          V^,          V4      pV P                  P+                  WR7      # \        R\        V
4      : R\        V4      : R	24      hV P                  ! V/ VB # )a  Returns an :class:`Arrow <arrow.arrow.Arrow>` object based on flexible inputs.

:param locale: (optional) a ``str`` specifying a locale for the parser. Defaults to 'en-us'.
:param tzinfo: (optional) a :ref:`timezone expression <tz-expr>` or tzinfo object.
    Replaces the timezone unless using an input form that is explicitly UTC or specifies
    the timezone in a positional argument. Defaults to UTC.
:param normalize_whitespace: (optional) a ``bool`` specifying whether or not to normalize
    redundant whitespace (spaces, tabs, and newlines) in a datetime string before parsing.
    Defaults to false.

Usage::

    >>> import arrow

**No inputs** to get current UTC time::

    >>> arrow.get()
    <Arrow [2013-05-08T05:51:43.316458+00:00]>

**One** :class:`Arrow <arrow.arrow.Arrow>` object, to get a copy.

    >>> arw = arrow.utcnow()
    >>> arrow.get(arw)
    <Arrow [2013-10-23T15:21:54.354846+00:00]>

**One** ``float`` or ``int``, convertible to a floating-point timestamp, to get
that timestamp in UTC::

    >>> arrow.get(1367992474.293378)
    <Arrow [2013-05-08T05:54:34.293378+00:00]>

    >>> arrow.get(1367992474)
    <Arrow [2013-05-08T05:54:34+00:00]>

**One** ISO 8601-formatted ``str``, to parse it::

    >>> arrow.get('2013-09-29T01:26:43.830580')
    <Arrow [2013-09-29T01:26:43.830580+00:00]>

**One** ISO 8601-formatted ``str``, in basic format, to parse it::

    >>> arrow.get('20160413T133656.456289')
    <Arrow [2016-04-13T13:36:56.456289+00:00]>

**One** ``tzinfo``, to get the current time **converted** to that timezone::

    >>> arrow.get(tz.tzlocal())
    <Arrow [2013-05-07T22:57:28.484717-07:00]>

**One** naive ``datetime``, to get that datetime in UTC::

    >>> arrow.get(datetime(2013, 5, 5))
    <Arrow [2013-05-05T00:00:00+00:00]>

**One** aware ``datetime``, to get that datetime::

    >>> arrow.get(datetime(2013, 5, 5, tzinfo=tz.tzlocal()))
    <Arrow [2013-05-05T00:00:00-07:00]>

**One** naive ``date``, to get that date in UTC::

    >>> arrow.get(date(2013, 5, 5))
    <Arrow [2013-05-05T00:00:00+00:00]>

**One** time.struct time::

    >>> arrow.get(gmtime(0))
    <Arrow [1970-01-01T00:00:00+00:00]>

**One** iso calendar ``tuple``, to get that week date in UTC::

    >>> arrow.get((2013, 18, 7))
    <Arrow [2013-05-05T00:00:00+00:00]>

**Two** arguments, a naive or aware ``datetime``, and a replacement
:ref:`timezone expression <tz-expr>`::

    >>> arrow.get(datetime(2013, 5, 5), 'US/Pacific')
    <Arrow [2013-05-05T00:00:00-07:00]>

**Two** arguments, a naive ``date``, and a replacement
:ref:`timezone expression <tz-expr>`::

    >>> arrow.get(date(2013, 5, 5), 'US/Pacific')
    <Arrow [2013-05-05T00:00:00-07:00]>

**Two** arguments, both ``str``, to parse the first according to the format of the second::

    >>> arrow.get('2013-05-05 12:30:45 America/Chicago', 'YYYY-MM-DD HH:mm:ss ZZZ')
    <Arrow [2013-05-05T12:30:45-05:00]>

**Two** arguments, first a ``str`` to parse and second a ``list`` of formats to try::

    >>> arrow.get('2013-05-05 12:30:45', ['MM/DD/YYYY', 'YYYY-MM-DD HH:mm:ss'])
    <Arrow [2013-05-05T12:30:45+00:00]>

**Three or more** arguments, as for the direct constructor of an ``Arrow`` object::

    >>> arrow.get(2013, 5, 5, 12, 30, 45)
    <Arrow [2013-05-05T12:30:45+00:00]>

r)   r   Nr*   Fr   z#Cannot parse argument of type None.z%Cannot parse single argument of type .z0Cannot parse two arguments of types 'datetime', z,Cannot parse two arguments of types 'date', z$Cannot parse two arguments of types z and )"lenpopr   r0   
isinstancer,   r   TzinfoParserparser   nowr4   utcnowr   r6   	TypeErrorr   r   utcfromtimestampr   fromdatetimer   r   fromdateDateTimeParser	parse_isor   utcfromtimestampcalendartimegmtupler   list)r&   rB   rC   	arg_countr)   tzr*   argdtdarg_1arg_2s   &*,         r   r0   r1   U   s$   P I	Hn5ZZ$'%zz*@%H v;?I v;!
I >"c""((..r2yy}}B}//"i((yy}}B}//99##%%>q'C#w''Cj { EFF  S))l3.?.?:!Byy..s.>> C''yy--cll2-FF C**yy--c-== C&&yy))#)99 C++yy}}C}00 C%%**62<<SWyy--b-<< C--yy11(//#2FGG C''CHM$c*yy))!)77  "GS	}TU VWW!^7DG5%**ei%5669911%1FF#J4PU;/YZ[  E4((ei%56699--e-BB#FtE{oUVW 
 E3''JusDk,J,J**6288GT!W&: yy--b-<<  :4;/tTY{o]^_  99d-f--r"   c                    < V ^8  d   QhRS[ /# )r   r   )r   )r   r   s   "r   r    r!   +  s     
" 
" 
"r"   c                6    V P                   P                  4       # )zReturns an :class:`Arrow <arrow.arrow.Arrow>` object, representing "now" in UTC time.

Usage::

    >>> import arrow
    >>> arrow.utcnow()
    <Arrow [2013-05-08T05:19:07.018993+00:00]>
)r   rL   )r&   s   &r   rL   ArrowFactory.utcnow+  s     yy!!r"   c                6   < V ^8  d   QhRS[ S[,          RS[/# )r   rZ   r   )r   r   r   )r   r   s   "r   r    r!   7  s      ! !hw' !5 !r"   c                   Vf/   \         P                  ! 4       P                  4       P                  pM5\	        V\
        4      '       g    \        P                  P                  V4      pV P                  P                  V4      # )a  Returns an :class:`Arrow <arrow.arrow.Arrow>` object, representing "now" in the given
timezone.

:param tz: (optional) A :ref:`timezone expression <tz-expr>`.  Defaults to local time.

Usage::

    >>> import arrow
    >>> arrow.now()
    <Arrow [2013-05-07T22:19:11.363410-07:00]>

    >>> arrow.now('US/Pacific')
    <Arrow [2013-05-07T22:19:15.251821-07:00]>

    >>> arrow.now('+02:00')
    <Arrow [2013-05-08T07:19:25.618646+02:00]>

    >>> arrow.now('local')
    <Arrow [2013-05-07T22:19:39.130059-07:00]>
)
r   rK   
astimezoner   rH   r4   r   rI   rJ   r   )r&   rZ   s   &&r   rK   ArrowFactory.now7  sY    , :**,33BB	**$$**2.Byy}}R  r"   c                6   < V ^8  d   Qh/ S[ S[,          ;R&   # )r   r   r   )r   r   s   "r   r    r!      s      u+ r"   r%   r$   )__name__
__module____qualname____firstlineno____doc__r   r'   r   r   r0   rL   rK   __annotate_func____static_attributes____classdictcell__)r   s   @r   r   r      s     ,1    % %)	
 &+    % %)  &+!  & 
 % %) &+   
 % %) &+  T. T.l
" 
"! !E	  r"   r   )rl   rU   r   r   r   r   r4   decimalr   timer   typingr	   r
   r   r   r   r   r   arrowr   arrow.arrowr   r   arrow.constantsr   
arrow.utilr   r   r   r/   r"   r   <module>rw      s?     - - (   D D D  & * 5}! }!r"   