+
    i                    J   ^ RI Ht ^ RIt^ RIt^ RIt^ RIHt ^ RIHt ^ RIH	t	 ^ RIH
t
 ^ RIHt ^ RIHt ^ R	IHt ^ R
IHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIH t  ^ RIH!t! ^ RIH"t" ^ RIH#t# ^ RIH$t$ ^ RIH%t% ^ RIH&t& ^ R IH't' ^ R!IH(t( ^ R"IH)t) ^ R#IH*t* ^ R$IH+t+ ^ R%IH,t, ^ R&IH-t- ^ R'IH.t. ^ R(IH/t/ ^ R)IH0t0 ^ R*I1H2t2 ^ R+I3H4t4 ^ R,I5H6t6 ^	t7^
t8^t9^t:^t; ! R- R.4      t<R# )/    )annotationsN)decode)RFC_3339_LOOSE)_escaped)parse_rfc3339)	Container)EmptyKeyError)EmptyTableNameError)InternalParserError)InvalidCharInStringError)InvalidControlChar)InvalidDateError)InvalidDateTimeError)InvalidNumberError)InvalidTimeError)InvalidUnicodeValueError)
ParseError)UnexpectedCharError)UnexpectedEofError)AoT)Array)Bool)BoolType)Comment)Date)DateTime)Float)InlineTable)Integer)Item)Key)KeyType)Null)	SingleKey)String)
StringType)Table)Time)Trivia)
Whitespace)Source)TOMLChar)TOMLDocumentc                     ] tR t^:tRtR R lt]R 4       t]R 4       t]R 4       t	]R 4       t
R R	 ltRER R lltRER R lltRFR ltR R ltR R lt]3R ltR R ltR R ltR R ltR R ltRGR R lltRHR R  lltR! R" ltR# R$ ltR% R& ltR' R( ltR) tR* tR+ R, ltR- R. lt R/ R0 lt!R1 R2 lt"R3 R4 lt#R5 R6 lt$R7 t%R8 R9 lt&RIR: R; llt'R< R= lt(R> R? lt)R@ RA lt*RB RC lt+RDt,R
# )JParserz
Parser for TOML documents.
c                    V ^8  d   QhRRRR/# )   stringzstr | bytesreturnNone )formats   ".lib/python3.14/site-packages/tomlkit/parser.py__annotate__Parser.__annotate__?   s     ( ({ (t (    c                	F    \        \        V4      4      V n        . V n        R # N)r+   r   _src
_aot_stack)selfr2   s   &&r7   __init__Parser.__init__?   s    6&>*	%'r:   c                	.    V P                   P                  # r<   )r=   stater?   s   &r7   _stateParser._stateE   s    yyr:   c                	.    V P                   P                  # r<   )r=   idxrD   s   &r7   _idxParser._idxI   s    yy}}r:   c                	.    V P                   P                  # r<   )r=   currentrD   s   &r7   _currentParser._currentM   s    yy   r:   c                	.    V P                   P                  # r<   )r=   markerrD   s   &r7   _markerParser._markerQ   s    yyr:   c                   V ^8  d   QhRR/# )r1   r3   strr5   )r6   s   "r7   r8   r9   U   s     # # #r:   c                6    V P                   P                  4       # )z-
Extracts the value between marker and index
)r=   extractrD   s   &r7   rV   Parser.extractU   s     yy  ""r:   Nc                    V ^8  d   QhRRRR/# )r1   	exceptiontype[ParseError] | Noner3   boolr5   )r6   s   "r7   r8   r9   [   s     2 24 2 2r:   c                :    V P                   P                  VR7      # )zt
Increments the parser if the end of the input has not been reached.
Returns whether or not it was able to advance.
rY   )r=   inc)r?   rY   s   &&r7   r^   
Parser.inc[   s    
 yy}}y}11r:   c               $    V ^8  d   QhRRRRRR/# )r1   nintrY   rZ   r3   r[   r5   )r6   s   "r7   r8   r9   b   s"     9 9s 9'> 9$ 9r:   c                :    V P                   P                  WR7      # )zU
Increments the parser by n characters
if the end of the input has not been reached.
)ra   rY   )r=   inc_n)r?   ra   rY   s   &&&r7   rd   Parser.inc_nb   s    
 yy88r:   c                <    V P                   P                  WVR7      # )z4
Consume chars until min/max is satisfied is valid.
)charsminmax)r=   consume)r?   rg   rh   ri   s   &&&&r7   rj   Parser.consumei   s     yy  u3 ??r:   c                   V ^8  d   QhRR/# )r1   r3   r[   r5   )r6   s   "r7   r8   r9   o   s      T r:   c                6    V P                   P                  4       # )z>
Returns True if the parser has reached the end of the input.
)r=   endrD   s   &r7   rn   
Parser.endo   s     yy}}r:   c                   V ^8  d   QhRR/# )r1   r3   r4   r5   )r6   s   "r7   r8   r9   u   s      d r:   c                :    V P                   P                  4        R# )z1
Sets the marker to the index's current position
N)r=   markrD   s   &r7   rr   Parser.marku   s     			r:   c                B    V P                   P                  ! V.VO5/ VB # )z:
Creates a generic "parse error" at the current position.
)r=   parse_error)r?   rY   argskwargss   &&*,r7   ru   Parser.parse_error{   s#     yy$$Y@@@@r:   c                   V ^8  d   QhRR/# )r1   r3   r-   r5   )r6   s   "r7   r8   r9      s     & &| &r:   c                	0   \        R 4      pV P                  4       '       g   V P                  R8X  d   MrV P                  4       pV'       g   MYVw  r4Ve   VP	                  4       '       g   V P                  WA4      '       g    VP                  W44       V P                  4        K  V P                  4       '       gd   V P                  4       w  r4\        V\        4      '       d(   VP                  4       '       d   V P!                  WC4      p VP                  W44       Ky  VP#                  R4       V#   \         d&   pT P                  \        \        T4      4      ThRp?ii ; i  \         d&   pT P                  \        \        T4      4      ThRp?ii ; i)T[NF)r-   rn   rM   _parse_itemis_multi	_merge_wsappend	Exceptionru   r   rT   rr   _parse_table
isinstancer'   is_aot_element
_parse_aotparsing)r?   bodyitemkeyvaluees   &     r7   parseParser.parse   sC   D! ((**}}# ##%DJCCLLNN4>>%;V;VFKK+ IIK((****,JC%''E,@,@,B,B 3BC' 	U' ! F**:s1v>AEF  B&&z3q6:ABs0   D2 E% 2E"= EE"%F0 FFc               $    V ^8  d   QhRRRRRR/# )r1   r   r    	containerr   r3   r[   r5   )r6   s   "r7   r8   r9      s!      d y T r:   c                   VP                  4       pV'       g   R# \        V\        4      '       d   \        V\        4      '       g   R# V P                  \	        VP
                  4      \	        VP
                  4      ,           ,
          pVP                  R,          ^ ,          \        V P                  W@P                   4      3VP                  R&   R# )z
Merges the given Item with the last one currently in the given Container if
both are whitespace items.

Returns True if the items were merged.
FT)	last_itemr   r*   rI   lensr   r=   )r?   r   r   laststarts   &&&  r7   r~   Parser._merge_ws   s     ""$$
++:dJ3O3O		S[3tvv;67NN2q!tyy34
	r
 r:   c               $    V ^8  d   QhRRRRRR/# )r1   parentr!   childr3   r[   r5   )r6   s   "r7   r8   r9      s&     @ @ @C @D @r:   c                ^    \        V4      p\        V4      pW48X  d   R# W4R\        V4       8H  # )zt
Returns whether a key is strictly a child of another key.
AoT siblings are not considered children of one another.
FN)tupler   )r?   r   r   parent_partschild_partss   &&&  r7   	_is_childParser._is_child   s5    
 V}El&+>S->???r:   c                   V ^8  d   QhRR/# )r1   r3   ztuple[Key | None, Item] | Noner5   )r6   s   "r7   r8   r9      s     "+ "+; "+r:   c                   V P                  4        V P                  ;_uu_ 4       p V P                  pVR8X  d6   V P                  4        R\	        V P                  4       4      3uuRRR4       # VR9   d>   V P                  4       '       g&   R\	        V P                  4       4      3uuRRR4       # K  VR8X  dE   V P                  4       pV P                  4       w  rEpR\        \        W4WV4      4      3uuRRR4       # VR8X  d    RRR4       R# RVn	         RRR4       T P                  R4      #   + '       g   i     L!; i)z_
Attempts to parse the next item and returns it, along with its key
if the item is value-like.
T
N 	#r{   )rr   rE   rM   r^   r*   rV   _parse_comment_trailr   r)   restore_parse_key_value)r?   rC   cindentcwscommenttrails   &      r7   r|   Parser._parse_item   s    
 			[[[EMM9HHJDLLN!;; [ '\88::#Z%?? [ &#X!\\^F*.*C*C*E'C%W)L!MM# [$ #X) [2 %)EM5 8 $$T**9 [s*   ?D1/D1D11AD1>D1D11E	c                    V ^8  d   QhRRRR/# )r1   parse_trailr[   r3   ztuple[str, str, str]r5   )r6   s   "r7   r8   r9      s     ;* ;* ;*@T ;*r:   c                   V P                  4       '       d   R# RpRpV P                  4         V P                  pVR8X  d   EM<VR8X  d   V P                  4       pV P                  4        V P	                  4        V P                  4       '       g   V P                  P                  4       '       gg   \        V P                  4      pV\        8X  g   V\        8:  d#   V\        8w  d   V P                  \        VR4      hV P	                  4       '       d   K   V P                  4       pV P                  4        MHVR9   d   V P	                  4        MV P                  \        V4      hV P                  4       '       g   EKQ   RpV'       d   V P                  P                  4       '       d   V P	                  4       '       d   K8  V P                  R8X  d   V P	                  4        V P                  R8X  d   V P	                  4        V P                  V P                  8w  g!   V P                  P!                  4       '       d   V P                  4       pW2V3# )zk
Returns (comment_ws, comment, trail)
If there is no comment, comment_ws and comment will
simply be empty.
 r   r   commentsr   )r   r   r   )rn   rr   rM   rV   r^   is_nlordCHR_DELCTRL_CHAR_LIMITCTRL_Iru   r   r   	is_spacesrI   rQ   is_ws)r?   r   r   
comment_wsr   coder   s   &&     r7   r   Parser._parse_comment_trail   s    88::
		ADyc!\\^
		
 ((**T]]-@-@-B-Bt}}-Dw4?+Btv~"../A4TT88::,,.		g
&&':A>>xxzz--))++

}}$
}}$
yyDLL(DMM,?,?,A,AE))r:   c                    V ^8  d   QhRRRR/# )r1   parse_commentr[   r3   ztuple[Key, Item]r5   )r6   s   "r7   r8   r9   -  s     - -d -?O -r:   c                	   V P                  4        V P                  P                  4       '       d   V P                  4       '       d   K8  V P	                  4       pV P                  4       pV P                  4        V P                  R 8H  pV P                  P                  4       '       dL   V P                  4       '       d6   V P                  R 8X  g   KI  V'       d   V P                  \        R 4      hRpKk  V'       g!   V P                  \        V P                  4      hVP                  '       g   V P	                  4       Vn	        M'V;P                  V P	                  4       ,          un	        V P                  4       pV'       dE   V P                  4       w  rgpVP                  p	V	P                  '       g   Win        Wyn        Wn        MRVP                  n        W%P                  n        W53# )=Tr   )rr   rM   r   r^   rV   
_parse_key	is_kv_sepru   r   sep_parse_valuer   triviar   r   r   r   )
r?   r   r   r   found_equalsvalr   r   r   metas
   &&        r7   r   Parser._parse_key_value-  sI   		mm%%''DHHJJ oo		}}+mm%%''DHHJJ}}#**+>DD#'L""#6FFwwwllnCGGGt||~%G !"&";";"=C%::D???"%"LJ!CJJ"

xr:   c                   V ^8  d   QhRR/# r1   r3   r!   r5   )r6   s   "r7   r8   r9   \  s     * *C *r:   c                    V P                  4        V P                  P                  4       '       d   V P                  4       '       d   K8  V P                  R9   d   V P	                  4       # V P                  4       # )zb
Parses a Key at the current position;
WS before the key must be exhausted first at the callsite.
z"')rr   rM   r   r^   _parse_quoted_key_parse_bare_keyrD   s   &r7   r   Parser._parse_key\  sW    
 			mm%%''DHHJJ==E!))++''))r:   c                   V ^8  d   QhRR/# r   r5   )r6   s   "r7   r8   r9   j  s      3 r:   c                F  a V P                  4       pV P                  o\        V3R l\         4       R4      pVf   \	        R4      hT P                  V\        P                  8X  d   \        P                  M\        P                  4      pVP                  P                  4       '       d+   V P                  \        VP                  P                  4      hWP                  4       ,          pV P!                  4        V P                  P#                  4       '       d   V P%                  4       '       d   K8  WP                  4       ,          p\'        \)        V4      VRVR7      pV P                  R8X  d0   V P%                  4        VP+                  V P-                  4       4      pV# )z:
Parses a key enclosed in either single or double quotes.
c              3  L   <"   T F  qP                   S8X  g   K  Vx  K  	  R # 5ir<   )r   ).0tquote_styles   & r7   	<genexpr>+Parser._parse_quoted_key.<locals>.<genexpr>q  s     FGqww+/EGs   $
$Nz+Should not have entered _parse_quoted_key()r   )r   r   original.)rV   rM   nextr"   RuntimeError_parse_stringBasicr&   SLBSLL_tis_multilineru   r   r   	as_stringrr   r   r^   r$   rT   concatr   )r?   r   key_typekey_strr   r   s   &    @r7   r   Parser._parse_quoted_keyj  s#   
 <<>mmFGFMLMM$$&'--7JNNZ^^
 ::""$$""#6

8H8HII%%''		mm%%''DHHJJLLN"Gb8L==CHHJ**T__./C
r:   c                   V ^8  d   QhRR/# r   r5   )r6   s   "r7   r8   r9     s       r:   c                *   V P                   P                  4       '       g!   V P                   P                  4       '       d   V P                  4       '       d   KX  V P	                  4       pVP                  4       pV'       g   V P                  \        4      hRV9   d   V P                  \        RV R24      h\        V\        P                  RV4      pV P                   R8X  d0   V P                  4        VP                  V P                  4       4      pV# )z
Parses a bare key.
 zInvalid key ""r   r   )rM   is_bare_key_charr   r^   rV   stripru   r	   r   r$   r"   Barer   r   )r?   r   r   s   &  r7   r   Parser._parse_bare_key  s    
 MM**,,0G0G0I0Ihhjj<<>nn""=11#:"":se1/EFFW\\2x8==CHHJ**T__./C
r:   c                   V ^8  d   QhRR/# )r1   r3   r    r5   )r6   s   "r7   r8   r9     s     z; z;d z;r:   c                   V P                  4        V P                  p\        4       pV\        P                  P
                  8X  d   V P                  4       # V\        P                  P
                  8X  d   V P                  4       # V\        P                  P
                  ^ ,          8X  d   V P                  4       # V\        P                  P
                  ^ ,          8X  d   V P                  4       # VR8X  d   V P                  4       # VR8X  d   V P                  4       # VR9   g   V P!                  ^4      R9   df   V P                  R9  d   V P#                  4       '       d   K)  V P%                  4       pV P'                  W24      pVe   V# V P)                  \*        4      hV\,        P.                  9   EdR   V P                  R9  d   V P#                  4       '       d   K)  V P%                  4       p\0        P2                  ! V4      pV'       Ed   VP5                  ^4      '       d   VP5                  ^4      '       d    \7        V4      p\9        V\:        P:                  4      '       g   Q h\=        VP>                  VP@                  VPB                  VPD                  VPF                  VPH                  VPJ                  VPL                  VV4
      # VP5                  ^4      '       Edn    \7        V4      p\9        V\:        PR                  4      '       g   Q h\U        VP>                  VP@                  VPB                  W#4      pV P                  4        V P                  R9  d   V P#                  4       '       d   K)  V P%                  4       pVPW                  4       p	V\Y        V	4      R Vn-        V	'       g   V# \7        W9,           4      p\9        V\:        P:                  4      '       g   Q h\=        VP>                  VP@                  VPB                  VPD                  VPF                  VPH                  VPJ                  VPL                  VW9,           4
      # VP5                  ^4      '       dr    \7        V4      p
\9        V
\:        P^                  4      '       g   Q h\a        V
PD                  V
PF                  V
PH                  V
PJ                  V
PL                  VV4      # V P'                  W24      pVe   V# V P)                  \*        4      hV P)                  \d        V4      h  \N         d    T P)                  \P        4      Rhi ; i  \N         d    T P)                  \\        4      Rhi ; i  \N         d    T P)                  \b        4      Rhi ; i)z4
Attempts to parse a value at the current position.
r{   {z+- 	
#,]}Nz	
#,]}>   infnan+inf+nan-inf-nan)3rr   rM   r)   r&   r   r   _parse_basic_stringr   _parse_literal_stringr   TRUE_parse_trueFALSE_parse_false_parse_array_parse_inline_table_peekr^   rV   _parse_numberru   r   r2   digitsr   matchgroupr   r   datetimer   yearmonthdayhourminutesecondmicrosecondtzinfo
ValueErrorr   dater   rstripr   r   r   timer(   r   r   )r?   r   r   rawr   mdtr  time_raw	time_partr   s   &          r7   r   Parser._parse_value  sT    			MM
$$$++--*..&&&--//(--%%a((##%%(..&&q))$$&&#X$$&&#X++--$Y$**Q- ,
 
 --}4,,.C%%c2D""#566&----}4,,.C$$S)Aq771::!''!**O*3/)"h.?.?@@@@'GGHHFFGGIIIINNII"   771::K*3/)"hmm<<<<#BGGRXXrvvvK		"mm<?DHHJJ #'<<>$,OO$5	,4S^5E,F)(#'K*3?;)"h.?.?@@@@'GGHHFFGGIIIINNII"O   771::K)#.)!X]];;;;#FFHHHHMMHH"   %%c2D""#566""#6::s & O"../CD$NO@ & K"../?@dJK  & K"../?@dJKs4   >BT (BU 8>U 7BU ,A/U( "U "U%("V
c                	@    V P                  \        P                  4      # r<   )_parse_boolr   r   rD   s   &r7   r   Parser._parse_true  s    ..r:   c                	@    V P                  \        P                  4      # r<   )r  r   r   rD   s   &r7   r   Parser._parse_false!  s    //r:   c                    V ^8  d   QhRRRR/# )r1   styler   r3   r   r5   )r6   s   "r7   r8   r9   $  s     	) 	) 	)d 	)r:   c           	     	    V P                   ;_uu_ 4        \        V4      pV F  pV P                  V^^R7       K  	  \        V\	        4       4      uuRRR4       #   + '       g   i     R# ; i)   )rh   ri   N)rE   r   rj   r   r)   )r?   r   r   s   && r7   r  Parser._parse_bool$  sL    [[[UOE QA1-  vx( [[[s   <AA-	c                   V ^8  d   QhRR/# )r1   r3   r   r5   )r6   s   "r7   r8   r9   /  s     < <e <r:   c           
     	   V P                  \        R 7       . pRp V P                  pV P                  \        P
                  \        P                  ,           4       V P                  W0P                   p\        \        P                  4      \        V4      ,          pV'       d   VP                  \        V4      4       K  V P                  R8X  d<   V P                  RR7      w  rgpVP                  \        \        WFWx4      4      4       K  V'       d   VP                  \        V4      4       EK  V'       g&    VP                  V P                  4       4       RpEKD  V'       d   V P                  R8X  dz   V P                  \        R 7       \#        VR,          \        4      '       d(   VR,          P$                  R,           VR,          n        MVP                  \        R4      4       RpEK  V P                  R8X  d   V P                  4        M V P)                  \         V P                  4      h \+        V\        4       4      p	V	#   \          d     Li ; i  \,         d     R# i ; i)	r]   NTr   F)r   ,]r   )r^   r   rI   rj   r,   SPACESNLr=   setr   r*   rM   r   r   r)   r   r   r   r   _sru   r   r  )
r?   elems
prev_valuerr   r   newliner   r   r   ress
   &         r7   r   Parser._parse_array/  s   -.
99DLL8;;67YYtii0F(++&V4GZ/0 }}#&*&?&?E&?&R#eWVF%HIJ Z/0 LL!2!2!45!%J
 dmms2#56eBi44#(9;;#4E"ILLLC1"
 }}#
""#6FF	vx(C J7 + 0  		s$   ;!I
 4I 
III*)I*c                   V ^8  d   QhRR/# )r1   r3   r   r5   )r6   s   "r7   r8   r9   m  s     1, 1,[ 1,r:   c                	   V P                  \        R 7       \        R4      pRp V P                  pV P	                  \
        P                  4       V P                  W0P                   pV'       d   VP                  \        V4      4       V'       g`   V P                  R8X  d   V P                  4        EM:VRJ g   Vf2   V P                  R8X  d!   V P                  \        V P                  4      hMBV P                  R8X  g   V P                  R8X  d!   V P                  \        V P                  4      hV P                  R4      w  rVVP                  WV4       V P                  pV P	                  \
        P                  4       V P                  W0P                   pV'       d   VP                  \        V4      4       V P                  R8H  pV'       g   EK  V P                  \        R 7       EK  \        V\        4       4      # )r]   TN}Fr&  )r^   r   r   rI   rj   r,   r(  r=   addr*   rM   ru   r   r   r   r)   )r?   r,  trailing_commarr   r  r   r   s   &      r7   r  Parser._parse_inline_tablem  ss   -.$99DLL)))D99-C		*S/*! ==C'HHJ!U*"*t}}/C **+>NN ==C'4==C+?**+>NN,,U3HCIIc 99DLL)))D99-C		*S/* "]]c1N~#565&(++r:   c               $    V ^8  d   QhRRRRRR/# )r1   r  rT   r   r)   r3   zItem | Noner5   )r6   s   "r7   r8   r9     s!     - - -f - -r:   c                	   R pVP                  R4      '       d   V^ ,          pVR,          p\        V4      ^8  dP   VP                  R4      '       d   VP                  R4      '       d    V'       d   VP                  R4      '       d   R# VP                  R4      '       d   V'       d   R# Rp^
pVP                  R4      '       d   R	p^pM7VP                  R4      '       d   R
p^pMVP                  R4      '       d   Rp^p\        P                  ! RV RV R2R V4      P	                  4       pRV9   d   R# VP                  R4      '       gF   VP                  R4      '       g1   VP                  R^4      ^ ,          P                  R4      '       d   R#  \        \        W6,           V4      W#V,           4      #   \         d:     \        \        Y6,           4      Y#T,           4      u #   \         d      R# i ; ii ; i)r   r"  NN00o0x0br   Nz[0-9]z[01]z[0-7]z[0-9a-f]z(?i)(?<=z)_(?=)_r   )+-)z0.r;  r<  r=  0e)r;  r<  r=  )
startswithr   resublowerendswithsplitr   rb   r  r   float)r?   r  r   signr  basecleans   &&&    r7   r  Parser._parse_number  s   >>*%%q6Db'Cs8a<^^C  8V)W)W,,>>,--$>>$FD^^D!!FD^^D!!FD &vha8"cBHHJ%<>>#  &&5;;sA+>q+A+J+J3+O+O	3t|T2F3JGG 	U4<0&*EE 	s0   "F; ;G?!G+(G?+G;6G?:G;;G?c                   V ^8  d   QhRR/# r1   r3   r%   r5   )r6   s   "r7   r8   r9     s     6 6v 6r:   c                	    V P                   ;_uu_ 4        V P                  \        P                  4      uuR R R 4       #   + '       g   i     R # ; ir<   )rE   r   r&   r   rD   s   &r7   r   Parser._parse_literal_string  )    [[[%%jnn5 [[[	   ?A	c                   V ^8  d   QhRR/# rO  r5   )r6   s   "r7   r8   r9     s     6 6V 6r:   c                	    V P                   ;_uu_ 4        V P                  \        P                  4      uuR R R 4       #   + '       g   i     R # ; ir<   )rE   r   r&   r   rD   s   &r7   r   Parser._parse_basic_string  rR  rS  c                	   V'       d   V P                   P                  4       '       dv   R pV P                   P                  4       '       d+   W P                   ,          pV P                  \        R7       KJ  RV9  d!   V P	                  \
        V P                   4      hR # V P                   \        9   d0   \        V P                   ,          pV P                  \        R7       V# V P                   R9   d]   V P                  V P                   R8H  4      w  rEVe$   V P                  \        V4      ^,           4       V# V P	                  \        4      hV P	                  \
        V P                   4      h)r   r]   r   U   rX  u)rM   r   r^   r   ru   r   r   _peek_unicoderd   r   r   )r?   	multilinetmpr   rZ  ues   &&    r7   _parse_escaped_charParser._parse_escaped_char  s   ,,.. C--%%''}}$ #56 3&&'?OO==H$'A HH1H2H==J&&&t}}';<EA}

3r7Q;'""#;<<7GGr:   c                    V ^8  d   QhRRRR/# )r1   delimr&   r3   r%   r5   )r6   s   "r7   r8   r9     s     p7 p7: p7& p7r:   c                	   V P                   VP                  8w  d   V P                  \        R V 24      hV P	                  \
        R7       V P                   VP                  8X  dn   V P	                  4       '       d   V P                   VP                  8w  d   \        VRR\        4       4      # V P	                  \
        R7       VP                  4       pV P                  4        RpVP                  4       '       d   V P                   R8X  d   V P	                  \
        R7       MuV P                   pV P                  RR7      ;_uu_ 4        V P	                  4       '       d   W0P                   ,          pRRR4       VR8X  d   V P                  ^\
        R7       Rp \        V P                   4      pVP                  4       '       d*   V'       g"   V\        8X  ga   V\         8:  d   V\"        8w  gK   VP                  4       '       dL   V'       gD   V\        8X  g"   V\         8:  d.   V\"        \$        \&        39  d   V P                  \(        VR	4      hV'       EgF   V P                   VP                  8X  Ed*   V P+                  4       pRpVP                  4       '       d   RpV P                   VP                  8X  d%   WpP                   ,          pV P	                  4        K?  \-        V4      ^8  d   W',          pEK_  \-        V4      ^8X  d   \        WV\        4       4      # \-        V4      ^8  d!   V P                  \.        V P                   4      hW'RR ,          pWgRR ,          p\        WV\        4       4      # V P	                  4        \        WV\        4       4      # VP1                  4       '       d3   V'       d+   W P3                  VP                  4       4      ,          pRpEKL  VP1                  4       '       d-   V P                   R
8X  d   RpV P	                  \
        R7       EK  W P                   ,          pV P	                  \
        R7       EK    + '       g   i     EL; i)z"Invalid character for string type r]   r   r   Tr   Nz
Fstrings\)rM   unitru   r   r^   r   r%   r)   togglerr   r   rE   rd   r   is_singleliner   r   r   CTRL_JCTRL_Mr   rV   r   r   is_basicr_  )r?   rb  r   curescapedr   r   closes   &&      r7   r   Parser._parse_string  s6   ==EJJ&""#4UG<  	-.==EJJ& 88::%**!<eRVX66 HH1H2LLNE		 }}$#56mm[[[..xxzz}}, / &=JJq,>J?t}}%D##%%W_)@TV^""$$GO/DQW@X4X &&'94KKW%**!<<<>%%''E--5::5.
5zA~  5zQ%eHfhGG5zQ"../GWW3BZ'Ecr
*H!%&(CC HHJeHfh??!!g 11%2D2D2FGG  !!dmmt&; #56 & #56] /..s   	)QQ$	c               $    V ^8  d   QhRRRRRR/# )r1   parent_namez
Key | Noner   zTable | Noner3   ztuple[Key, Table | AoT]r5   )r6   s   "r7   r8   r9   v  s)     Y Y%Y6BY	 Yr:   c                   V P                   R8w  d   V P                  \        R4      hV P                  4       pV P	                  4        V P                  4       '       d   V P                  \        4      hRpV P                   R8X  d.   V P	                  4       '       g   V P                  \        4      hRp V P                  4       pT P                  4       '       d   T P                  \        4      hT P                   R8w  d!   T P                  \        T P                   4      hRTn        Tp\        T4      p\        ;QJ d    R T 4       F  '       g   K   RM	  RM! R T 4       4      '       d)   T P                  \        R	TP                  4        R
24      hRpT'       d   \        T4      p	MRp	\!        T4      \!        T	4      ^,           8  d   RpT\!        T	4      R p\#        R4      p
T P	                  4        T'       d   T P	                  4        T P%                  4       w  rp\'        4       p\)        T
\+        Y;Y4      TT'       d   T^ ,          P,                  MTP,                  TP                  4       RR7      p\!        T4      ^8  Ed   T'       dT   \)        \#        R4      \+        RYT4      T;'       d    T^ ,          T P.                  9   RT^ ,          P,                  R7      pTpT^ ,          p\1        TR,          4       EF  w  ppTP3                  T\)        \#        R4      \+        Y;Y4      T;'       d    T\!        T4      ^,
          8H  T\!        T4      ^,
          8  TP,                  T\!        T4      ^,
          8X  d   TP                  4       MRR7      4      pT'       dB   T\!        T4      ^,
          8X  d+   TP5                  T\7        T.TP8                  RR7      4       MTP5                  TT4       TpTP:                  p
EK  	  MT'       d
   T^ ,          pT P                  4       '       Eg/   T P=                  4       pT'       d4   Tw  ppT P?                  TT
4      '       g   TP5                  TT4       K`  Kb  T P                   R8X  d   T PA                  4       w  ppT PC                  TT4      '       d   T PE                  Yo4      w  ppTP5                  TT4       T P                  4       '       gU   T PA                  4       w  ppT PC                  TT4      '       g   M(T PE                  Yo4      w  ppTP5                  TT4       Kj  MT P                  \        R4      hTP:                  PG                  4        \I        T\&        4      '       dE   TpT'       d;   T P.                  '       d   Y`P.                  R,          8w  d   T PK                  Y4      pY^3#   \         d    T P                  \        4      Rhi ; i)z
Parses a table element.
r{   z/_parse_table() called on non-bracket character.FTNr'  r   c              3     "   T F:  pR VP                   P                  4       9   ;'       d    VP                  4       x  K<  	  R# 5i)r   N)r   r   is_bare)r   parts   & r7   r   &Parser._parse_table.<locals>.<genexpr>  s1     Qjdsdhhnn&&994<<>9js
   (AAzInvalid table name "r   )namedisplay_nameis_super_table)r{  ry  r9  )r{  ry  rz  )ry  parsedz7_parse_item() returned None on a non-bracket character.r5   r   )&rM   ru   r   rV   r^   rn   r   r   r	   r
   r   r   r   anyr   r   r   r   r   r#   r'   r)   r   r>   	enumerateget
raw_appendr   ry  r   r|   r~   _peek_tabler   r   _validate_out_of_order_tabler   r   )r?   rs  r   r   is_aotr   full_key
name_partsmissing_tableparent_name_partsvaluesr   r   r   resulttablei_namer   r   _keyr?  key_next
table_nexts   &&&                     r7   r   Parser._parse_tablev  s    ==C""#%V  
88::""#566==C88::&&'9::F	B//#C 88::""#566]]c!""#6FF3Z
3QjQ333QjQQQ""283E3E3G2HJ   %k 2 "z?S!23a77 M$5 6 89
4
HHJ"779e6/&0A""cgg!++- 
 z?Q dO2sU3??z!}?#'#A** FQ-C%jn55		!$vG;;;1J!(;#;'(3z?Q+>'>"YY45Z19L4LH..0RV	 a3z?Q#66$$UCejjQU,VW$$UE2+ 6.  m((**##%D!
d~~dF33$$T40 4 ==C'"&"2"2"4KAx~~h99/3/@/@/Q,*((:> #'((***.*:*:*<KAx#'>>(H#E#E %373D3DX3U0Hj!,,XzB**+Q  	002fd##Ft(oob>Q2Q:{A  	B""#67TA	Bs   4W "W?c                   V ^8  d   QhRR/# )r1   r3   ztuple[bool, Key]r5   )r6   s   "r7   r8   r9     s     F F- Fr:   c                   V P                  RRR7      ;_uu_ 4        V P                  R8w  d   V P                  \        R4      hV P	                  4        RpV P                  R8X  d   V P	                  4        Rp WP                  4       3uuRRR4       #   \         d    T P                  \        4      Rhi ; i  + '       g   i     R# ; i)z
Peeks ahead non-intrusively by cloning then restoring the
initial state of the parser.

Returns the name of the table about to be parsed,
as well as whether it is part of an AoT.
Tsave_markerr   r{   z._peek_table() entered on non-bracket characterFN)rE   rM   ru   r   r^   r   r	   r
   )r?   r  s   & r7   r  Parser._peek_table  s     [[T4[88}}#&&'D  HHJF}}#
F00 98 ! F&&':;EF 988s   AB::B"B77B::C	c               $    V ^8  d   QhRRRRRR/# )r1   firstr'   
name_firstr!   r3   r   r5   )r6   s   "r7   r8   r9   ,  s!     ) ) )3 )3 )r:   c                F   V.pV P                   P                  V4       V P                  4       '       gH   V P                  4       w  rEV'       d-   WR8X  d'   V P	                  V4      w  rgVP                  V4       K\   V P                   P                  4        \        VRR7      # )zO
Parses all siblings of the provided table first and bundles them into
an AoT.
T)r|  )r>   r   rn   r  r   popr   )r?   r  r  payloadis_aot_next	name_nextr?  r  s   &&&     r7   r   Parser._parse_aot,  s    
 'z*((**%)%5%5%7"Ky6,,Z8u%74((r:   c                    V ^8  d   QhRRRR/# )r1   ra   rb   r3   rT   r5   )r6   s   "r7   r8   r9   ?  s      s s r:   c                @   V P                  RR7      ;_uu_ 4        Rp\        V4       FS  pV P                  RV P                  P                  ,           9  d%   W P                  ,          pV P                  4        KS   M	  VuuRRR4       #   + '       g   i     R# ; i)zS
Peeks ahead n characters.

n is the max number of characters that will be peeked.
Trd  r   r   N)rE   rangerM   r=   EOFr^   )r?   ra   bufr?  s   &&  r7   r  Parser._peek?  sp     [[[&&C1X==		(EE==(CHHJ   '&&&s   A&BB	c                    V ^8  d   QhRRRR/# )r1   is_longr[   r3   ztuple[str | None, str | None]r5   )r6   s   "r7   r8   r9   Q  s     #$ #$T #$.K #$r:   c                d   V P                  RRR7      ;_uu_ 4        V P                  R9  d   V P                  \        R4      hV P	                  4        V P                  4        V'       d   ^pM^pV P                  V4      '       g   RRrCMlV P                  4       pV^ ,          P                  4       R8X  d+   V^,          P                  R4      '       d   RuuRRR4       #  \        \        V^4      4      pW43uuRRR4       #   \        \        3 d    Rp L"i ; i  + '       g   i     R# ; i)	z
Peeks ahead non-intrusively by cloning then restoring the
initial state of the parser.

Returns the unicode value is it's a valid one else None.
Tr  z,_peek_unicode() entered on non-unicode valueNd01234567rY  NN)rE   rM   ru   r   r^   rr   rd   rV   rF  r   chrrb   r  OverflowError)r?   r  rg   r   	extracteds   &&   r7   r[  Parser._peek_unicodeQ  s     [[T4[88}}J.&&')W  HHJIIK::e$$#'y LLN	Q<%%'3.9Q<3E3Ej3Q3Q%) 98,!Ir 23E #7 980 #M2 ! E!1 988sC   AD,DADD#D8DDDDDD/	)r>   r=   r<   )r   r   )T)Fr  )-__name__
__module____qualname____firstlineno____doc__r@   propertyrE   rI   rM   rQ   rV   r^   rd   rj   rn   rr   r   ru   r   r~   r   r|   r   r   r   r   r   r   r   r   r  r   r  r  r   r   r_  r   r   r  r   r  r[  __static_attributes__r5   r:   r7   r/   r/   :   s   (     ! !    #29@ %/ A&P,@"+H;*z-^*:6z;x/0	)<|1,f-^66+HZp7dYvF6)&$#$ #$r:   r/   )=
__future__r   r  rD  r2   tomlkit._compatr   tomlkit._utilsr   r   r   tomlkit.containerr   tomlkit.exceptionsr	   r
   r   r   r   r   r   r   r   r   r   r   r   tomlkit.itemsr   r   r   r   r   r   r   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   tomlkit.sourcer+   tomlkit.toml_charr,   tomlkit.toml_documentr-   r   rk  rl  r   r   r/   r5   r:   r7   <module>r     s    "  	  " ) # ( ' , 2 2 7 1 / 3 1 / 7 ) 2 1    " !  "  % !   !  #   $     $ ! & . 
		
z$ z$r:   