+
    2jK                        R t ^ RIHt ^ RIt^ RIt^ RIHt ]P                  ! R4      t]P                  R8  t	R R lt
R R ltR	 R
 ltR# )zOShared parsing for the ISO 8601 timestamps that indexes and pylock files carry.)annotationsN)datetimez\.(\d+)c                    V ^8  d   QhRRRR/# )   rawstrreturnr    )formats   "^/home/user/billing-ledger-validation/.venv/lib/python3.14/site-packages/nab_python/_iso8601.py__annotate__r      s     6 6C 6H 6    c                    \         '       d    \        P                  ! V 4      # \        P                  ! \	        V 4      4      #   \         d     L,i ; i)zParse an ISO 8601 datetime, raising ``ValueError`` when it cannot be read.

The offset in ``raw`` is preserved, and the result is naive when there is
none, so each caller decides what a missing offset means.
)_NATIVE_ACCEPTS_PEP_700r   fromisoformat
ValueError_to_isoformat)r   s   &r   parse_iso_datetimer      sL     	))#.. !!-"455  		s   A AAc                    V ^8  d   QhRRRR/# )r   r   r   r   r	   )r
   s   "r   r   r      s     	7 	7s 	7s 	7r   c                x    V P                  R4      '       d	   V RR  R2MT p\        P                  \        V4      # )aj  Rewrite ``raw`` into the shape ``datetime.isoformat`` emits.

Before Python 3.11, ``datetime.fromisoformat`` parses only that shape: an
explicit ``+HH:MM`` offset rather than ``Z``, and a fraction of exactly 3 or
6 digits. PEP 700 serves ``Z`` and permits 0 through 6, so those are the two
parts normalized here; the rest is left for ``fromisoformat`` to judge.
ZNz+00:00)endswith_FRACTIONAL_SECONDSsub_microseconds)r   isos   & r   r   r      s9     "%c!2!2S"XJf
C""=#66r   c                    V ^8  d   QhRRRR/# )r   matchzre.Match[str]r   r   r	   )r
   s   "r   r   r   +   s     2 2 23 2r   c                `    R V P                  ^4      R,          P                  ^R4      ,           # ).:N   N0)groupljust)r   s   &r   r   r   +   s'    Q#))!S111r   )      )__doc__
__future__r   resysr   compiler   version_infor   r   r   r   r	   r   r   <module>r-      sE    U " 	 
 jj,  **g5 6	72r   