
    MhO                     r    d dgZ ddlmZ ddlT  G d de          Z G d d          Z G d d           Zd	S )
ScannerScannerError   )MarkedYAMLError)*c                       e Zd ZdS )r   N)__name__
__module____qualname__     L/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/yaml/scanner.pyr   r       s        Dr   c                       e Zd Zd ZdS )	SimpleKeyc                 Z    || _         || _        || _        || _        || _        || _        d S N)token_numberrequiredindexlinecolumnmark)selfr   r   r   r   r   r   s          r   __init__zSimpleKey.__init__&   s1    ( 
				r   N)r   r	   r
   r   r   r   r   r   r   #   s#            r   r   c                   6   e Zd Zd Zd Zd Zd Zd Zd Zd Z	d Z
d	 Zd
 Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Z d Z!d  Z"d! Z#d" Z$d# Z%d$ Z&d% Z'd& Z(d' Z)d( Z*d) Z+d* Z,d+ Z-d, Z.d- Z/d. Z0d/ Z1d0 Z2d1 Z3d2 Z4d3 Z5d4 Z6d5 Z7d6 Z8d7 Z9d8 Z:d9 Z;d: Z<d; Z=d< Z>d= Z?d> Z@i d?d@dAdBdCdDdEdFdFdFdGdHdIdJdKdLdMdNdOdPdQdQdRdRdSdSdTdTdUdVdWdXdYdZd[d\iZAd]d^d_d`ZBda ZCdb ZDdc ZEdd ZFde ZGdf ZHdg ZIdh ZJdi ZKdjS )kr   c                     d| _         d| _        g | _        |                                  d| _        d| _        g | _        d| _        i | _        dS )zInitialize the scanner.F    TN)	done
flow_leveltokensfetch_stream_starttokens_takenindentindentsallow_simple_keypossible_simple_keysr   s    r   r   zScanner.__init__0   sg     	   	!!!   , !% %'!!!r   c                     |                                  r(|                                  |                                  (| j        r'|sdS |D ] }t          | j        d         |          r dS !dS )NTr   F)need_more_tokensfetch_more_tokensr    
isinstance)r   choiceschoices      r   check_tokenzScanner.check_tokenq   s    ##%% 	%""$$$ ##%% 	%; 	  t!    dk!nf55  44 ur   c                     |                                  r(|                                  |                                  (| j        r| j        d         S d S )Nr   )r)   r*   r    r'   s    r   
peek_tokenzScanner.peek_token}   s[     ##%% 	%""$$$ ##%% 	%; 	;q>!4r   c                     |                                  r(|                                  |                                  (| j        r*| xj        dz  c_        | j                            d          S d S )Nr   r   )r)   r*   r    r"   popr'   s    r   	get_tokenzScanner.get_token   sz    ##%% 	%""$$$ ##%% 	%; 	&";??1%%%	& 	&r   c                     | j         rdS | j        sdS |                                  |                                 | j        k    rdS d S )NFT)r   r    stale_possible_simple_keysnext_possible_simple_keyr"   r'   s    r   r)   zScanner.need_more_tokens   s\    9 	5{ 	4 	'')))((**d.???4 @?r   c                 4   |                                   |                                  |                     | j                   |                                 }|dk    r|                                 S |dk    r(|                                 r|                                 S |dk    r(|                                 r| 	                                S |dk    r(| 
                                r|                                 S |dk    r|                                 S |dk    r|                                 S |dk    r|                                 S |dk    r|                                 S |d	k    r|                                 S |dk    r(|                                 r|                                 S |d
k    r(|                                 r|                                 S |dk    r(|                                 r|                                 S |dk    r|                                 S |dk    r|                                 S |dk    r|                                 S |dk    r| j        s|                                 S |dk    r| j        s|                                 S |dk    r|                                 S |dk    r|                                 S |                                 r|                                  S tC          dd d|z  | "                                          )N %-.[{]},?:r   &!|>'"z!while scanning for the next tokenz.found character %r that cannot start any token)#scan_to_next_tokenr5   unwind_indentr   peekfetch_stream_endcheck_directivefetch_directivecheck_document_startfetch_document_startcheck_document_endfetch_document_endfetch_flow_sequence_startfetch_flow_mapping_startfetch_flow_sequence_endfetch_flow_mapping_endfetch_flow_entrycheck_block_entryfetch_block_entry	check_key	fetch_keycheck_valuefetch_valuefetch_aliasfetch_anchor	fetch_tagr   fetch_literalfetch_foldedfetch_singlefetch_doublecheck_plainfetch_plainr   get_markr   chs     r   r*   zScanner.fetch_more_tokens   s2    	!!! 	''))) 	4;''' YY[[ ::((*** 99--//9''))) 9922449,,... 9900229**,,, 9911333 9900222 99//111 99..000 99((*** 99//119))+++ 99))9>>### 99))++9##%%% 99##%%% 99$$&&& 99>>### 99T_9%%''' 99T_9$$&&& ::$$&&& ::$$&&&  	&##%%% >@2E! ! 	!r   c                 `    d }| j         D ]#}| j         |         }||j        |k     r|j        }$|S r   )r&   r   )r   min_token_numberlevelkeys       r   r6   z Scanner.next_possible_simple_key  sM      . 	4 	4E+E2C'3+;>N+N+N#&#3 r   c                    t          | j                  D ]j}| j        |         }|j        | j        k    s| j        |j        z
  dk    r8|j        r)t          d|j        d|                                           | j        |= kd S )Ni   while scanning a simple keycould not find expected ':')listr&   r   r   r   r   r   rg   )r   rl   rm   s      r   r5   z"Scanner.stale_possible_simple_keys  s     $344 	5 	5E+E2Cx49$$z#)+d22< L&'Dch94==??L L L-e4	5 	5r   c           	      0   | j          o| j        | j        k    }| j        rv|                                  | j        t          | j                  z   }t          ||| j	        | j
        | j        |                                           }|| j        | j         <   d S d S r   )r   r#   r   r%   remove_possible_simple_keyr"   lenr    r   r   r   rg   r&   )r   r   r   rm   s       r   save_possible_simple_keyz Scanner.save_possible_simple_key'  s     &E4;$++E   	=++---,S-=-==LL(J	4;I IC9<D%do666	= 	=r   c                     | j         | j        v rQ| j        | j                  }|j        r)t          d|j        d|                                           | j        | j         = d S d S )Nro   rp   )r   r&   r   r   r   rg   )r   rm   s     r   rs   z"Scanner.remove_possible_simple_key8  sr    ?d777+DO<C| H"#@#(5t}}H H H )$/::: 87r   c                     | j         rd S | j        |k    rg|                                 }| j                                        | _        | j                            t          ||                     | j        |k    ed S d S r   )r   r#   rg   r$   r2   r    appendBlockEndToken)r   r   r   s      r   rJ   zScanner.unwind_indentE  s     ? 	F kF""==??D,**,,DKK}T488999 kF""""""r   c                 l    | j         |k     r(| j                            | j                    || _         dS dS )NTF)r#   r$   rx   )r   r   s     r   
add_indentzScanner.add_indent]  s8    ;L,,, DK4ur   c                     |                                  }| j                            t          ||| j                             d S )N)encoding)rg   r    rx   StreamStartTokenr}   r   r   s     r   r!   zScanner.fetch_stream_startg  sR    
 }} 	+D$]$ $ $ 	% 	% 	% 	% 	%r   c                     |                      d           |                                  d| _        i | _        |                                 }| j                            t          ||                     d| _        d S )Nr   FT)	rJ   rs   r%   r&   rg   r    rx   StreamEndTokenr   r   s     r   rL   zScanner.fetch_stream_ends  sz     	2 	''))) %$&! }} 	>$55666 			r   c                     |                      d           |                                  d| _        | j                            |                                            d S )Nr   F)rJ   rs   r%   r    rx   scan_directiver'   s    r   rN   zScanner.fetch_directive  s^     	2 	''))) % 	4..0011111r   c                 :    |                      t                     d S r   )fetch_document_indicatorDocumentStartTokenr'   s    r   rP   zScanner.fetch_document_start  s    %%&899999r   c                 :    |                      t                     d S r   )r   DocumentEndTokenr'   s    r   rR   zScanner.fetch_document_end  s    %%&677777r   c                 (   |                      d           |                                  d| _        |                                 }|                     d           |                                 }| j                             |||                     d S )Nr   F   )rJ   rs   r%   rg   forwardr    rx   r   
TokenClass
start_markend_marks       r   r   z Scanner.fetch_document_indicator  s     	2 	''))) % ]]__
Q==??::j(;;<<<<<r   c                 :    |                      t                     d S r   )fetch_flow_collection_startFlowSequenceStartTokenr'   s    r   rS   z!Scanner.fetch_flow_sequence_start  s    (()?@@@@@r   c                 :    |                      t                     d S r   )r   FlowMappingStartTokenr'   s    r   rT   z Scanner.fetch_flow_mapping_start  s    (()>?????r   c                    |                                   | xj        dz  c_        d| _        |                                 }|                                  |                                 }| j                             |||                     d S )Nr   T)ru   r   r%   rg   r   r    rx   r   s       r   r   z#Scanner.fetch_flow_collection_start  s     	%%''' 	1 !% ]]__
==??::j(;;<<<<<r   c                 :    |                      t                     d S r   )fetch_flow_collection_endFlowSequenceEndTokenr'   s    r   rU   zScanner.fetch_flow_sequence_end  s    &&';<<<<<r   c                 :    |                      t                     d S r   )r   FlowMappingEndTokenr'   s    r   rV   zScanner.fetch_flow_mapping_end  s    &&':;;;;;r   c                    |                                   | xj        dz  c_        d| _        |                                 }|                                  |                                 }| j                             |||                     d S )Nr   F)rs   r   r%   rg   r   r    rx   r   s       r   r   z!Scanner.fetch_flow_collection_end  s     	''))) 	1 !& ]]__
==??::j(;;<<<<<r   c                    d| _         |                                  |                                 }|                                  |                                 }| j                            t          ||                     d S NT)r%   rs   rg   r   r    rx   FlowEntryToken)r   r   r   s      r   rW   zScanner.fetch_flow_entry  so     !% 	''))) ]]__
==??>*h??@@@@@r   c                    | j         s| j        s$t          d d d|                                           |                     | j                  r<|                                 }| j                            t          ||                     n	 d| _        | 	                                 |                                 }| 
                                 |                                 }| j                            t          ||                     d S )Nz%sequence entries are not allowed hereT)r   r%   r   rg   r{   r   r    rx   BlockSequenceStartTokenrs   r   BlockEntryTokenr   r   r   r   s       r   rY   zScanner.fetch_block_entry  s      	 ( )"4?) ) )
 t{++ H}}""#:4#F#FGGG
  !% 	''))) ]]__
==???:x@@AAAAAr   c                     | j         s| j        s$t          d d d|                                           |                     | j                  r<|                                 }| j                            t          ||                     | j          | _        | 	                                 |                                 }| 
                                 |                                 }| j                            t          ||                     d S )Nz!mapping keys are not allowed here)r   r%   r   rg   r{   r   r    rx   BlockMappingStartTokenrs   r   KeyTokenr   s       r   r[   zScanner.fetch_key  s      	G ( )"4;) ) )
 t{++ G}}""#9$#E#EFFF %)O 3 	''))) ]]__
==??8J99:::::r   c                    | j         | j        v r| j        | j                  }| j        | j         = | j                            |j        | j        z
  t          |j        |j                             | j         sZ|                     |j	                  r@| j                            |j        | j        z
  t          |j        |j                             d| _        n| j         s+| j        s$t          d d d|                                           | j         sV|                     | j	                  r<|                                 }| j                            t          ||                     | j          | _        |                                  |                                 }|                                  |                                 }| j                            t#          ||                     d S )NFz#mapping values are not allowed here)r   r&   r    insertr   r"   r   r   r{   r   r   r%   r   rg   rx   rs   r   
ValueToken)r   rm   r   r   r   s        r   r]   zScanner.fetch_value!  s    ?d777 +DO<C)$/:Ks/0AASXsx002 2 2
 ? H??3:.. HK&&s'78I'I238SXFFH H H %*D!! ? - , -&tTA MMOO- - - ? K??4;// K==??DK&&'=dD'I'IJJJ )-$7D! ++--- ]]__
==??:j(;;<<<<<r   c                     |                                   d| _        | j                            |                     t
                               d S NF)ru   r%   r    rx   scan_anchor
AliasTokenr'   s    r   r^   zScanner.fetch_aliasY  sL     	%%''' !& 	4++J7788888r   c                     |                                   d| _        | j                            |                     t
                               d S r   )ru   r%   r    rx   r   AnchorTokenr'   s    r   r_   zScanner.fetch_anchord  sL     	%%''' !& 	4++K8899999r   c                     |                                   d| _        | j                            |                                            d S r   )ru   r%   r    rx   scan_tagr'   s    r   r`   zScanner.fetch_tago  sF     	%%''' !& 	4==??+++++r   c                 2    |                      d           d S )NrE   stylefetch_block_scalarr'   s    r   ra   zScanner.fetch_literalz      c*****r   c                 2    |                      d           d S )NrF   r   r   r'   s    r   rb   zScanner.fetch_folded}  r   r   c                     d| _         |                                  | j                            |                     |                     d S r   )r%   rs   r    rx   scan_block_scalarr   r   s     r   r   zScanner.fetch_block_scalar  sL     !% 	''))) 	411%8899999r   c                 2    |                      d           d S )NrG   r   fetch_flow_scalarr'   s    r   rc   zScanner.fetch_single  s    T*****r   c                 2    |                      d           d S )NrH   r   r   r'   s    r   rd   zScanner.fetch_double  s    S)))))r   c                     |                                   d| _        | j                            |                     |                     d S r   )ru   r%   r    rx   scan_flow_scalarr   s     r   r   zScanner.fetch_flow_scalar  sL     	%%''' !& 	4007788888r   c                     |                                   d| _        | j                            |                                            d S r   )ru   r%   r    rx   
scan_plainr'   s    r   rf   zScanner.fetch_plain  sH     	%%'''
 !& 	4??,,-----r   c                      | j         dk    rdS d S )Nr   T)r   r'   s    r   rM   zScanner.check_directive  s     ;!4 r   c                     | j         dk    r2|                     d          dk    r|                     d          dv rdS d S d S d S )Nr   r   ---     	
  Tr   prefixrK   r'   s    r   rO   zScanner.check_document_start  U     ;!{{1~~&&		!(CCCt &&CCr   c                     | j         dk    r2|                     d          dk    r|                     d          dv rdS d S d S d S )Nr   r   ...r   Tr   r'   s    r   rQ   zScanner.check_document_end  r   r   c                 0    |                      d          dv S )Nr   r   )rK   r'   s    r   rX   zScanner.check_block_entry  s     yy||:::r   c                 B    | j         rdS |                     d          dv S NTr   r   r   rK   r'   s    r   rZ   zScanner.check_key  +     ? 	?4 99Q<<#>>>r   c                 B    | j         rdS |                     d          dv S r   r   r'   s    r   r\   zScanner.check_value  r   r   c                     |                                  }|dvp(|                      d          dvo|dk    p| j         o|dv S )Nu      	
  -?:,[]{}#&*!|>'"%@`r   r   r:   z?:)rK   r   rh   s     r   re   zScanner.check_plain  sY     YY[[II QIIaLL(CC P3YNt+>+M2:	Qr   c                    | j         dk    r,|                                 dk    r|                                  d}|s|                                 dk    r,|                                  |                                 dk    ,|                                 dk    r@|                                 dvr*|                                  |                                 dv*|                                 r| j        sd| _        nd}|d S d S )Nr   u   ﻿F #    
  T)r   rK   r   scan_line_breakr   r%   )r   founds     r   rI   zScanner.scan_to_next_token  s   ( :??tyy{{h66LLNNN 
	))++$$ ))++$$yy{{c!!iikk)AAALLNNN iikk)AAA##%%  1,0D)  
	 
	 
	 
	 
	r   c                 6   |                                  }|                                  |                     |          }d }|dk    r*|                     |          }|                                  }n|dk    r*|                     |          }|                                  }nT|                                  }|                                 dvr*|                                  |                                 dv*|                     |           t          ||||          S )NYAMLTAGr   )rg   r   scan_directive_namescan_yaml_directive_valuescan_tag_directive_valuerK   scan_directive_ignored_lineDirectiveToken)r   r   namevaluer   s        r   r   zScanner.scan_directive  s    ]]__
''
336>>22:>>E}}HHU]]11*==E}}HH}}H))++%=== ))++%===((444dE:x@@@r   c                 P   d}|                      |          }d|cxk    rdk    s$n d|cxk    rdk    sn d|cxk    rdk    sn |dv rK|d	z  }|                      |          }d|cxk    rdk    'n d|cxk    rdk    6n d|cxk    rdk    En |dv K|s't          d
|d|z  |                                           |                     |          }|                     |           |                                  }|dvr't          d
|d|z  |                                           |S )Nr   09AZaz-_r   while scanning a directive6expected alphabetic or numeric character, but found %r     
  )rK   r   rg   r   r   )r   r   lengthri   r   s        r   r   zScanner.scan_directive_name&  s   YYvR3#"2"2"2"2s"2"2"2"2cR6F6F6F6F36F6F6F6F::aKF6""B R3#"2"2"2"2s"2"2"2"2cR6F6F6F6F36F6F6F6F::  	+;ZL--//+ + + F##VYY[[...;ZL--//+ + + r   c                 N   |                                  dk    r,|                                  |                                  dk    ,|                     |          }|                                  dk    r9t          d|d|                                  z  |                                           |                                  |                     |          }|                                  dvr9t          d|d|                                  z  |                                           ||fS )Nr   r;   r   z%expected a digit or '.', but found %rr   z%expected a digit or ' ', but found %r)rK   r   scan_yaml_directive_numberr   rg   )r   r   majorminors       r   r   z!Scanner.scan_yaml_directive_value;  s   iikkS  LLNNN iikkS  //
;;99;;#;Z;diikkIMMOO% % % 	//
;;99;;777;Z;diikkIMMOO% % % u~r   c                    |                                  }d|cxk    rdk    s)n t          d|d|z  |                                           d}d|                      |          cxk    rdk    r*n n'|dz  }d|                      |          cxk    rdk    %n t          |                     |                    }|                     |           |S )Nr   r   r   zexpected a digit, but found %rr   r   )rK   r   rg   intr   r   )r   r   ri   r   r   s        r   r   z"Scanner.scan_yaml_directive_numberL  s    YY[[r    S    ;Z4r94==??L L LTYYv&&----#-----aKF TYYv&&----#----DKK''((Vr   c                 n   |                                  dk    r,|                                  |                                  dk    ,|                     |          }|                                  dk    r,|                                  |                                  dk    ,|                     |          }||fS )Nr   )rK   r   scan_tag_directive_handlescan_tag_directive_prefix)r   r   handler   s       r   r   z Scanner.scan_tag_directive_valueY  s    iikkS  LLNNN iikkS  //
;;iikkS  LLNNN iikkS  //
;;r   c                     |                      d|          }|                                 }|dk    r't          d|d|z  |                                           |S )N	directiver   r   expected ' ', but found %r)scan_tag_handlerK   r   rg   r   r   r   ri   s       r   r   z!Scanner.scan_tag_directive_handlec  s^    $$[*==YY[[99;Z025t}}H H Hr   c                     |                      d|          }|                                 }|dvr't          d|d|z  |                                           |S )Nr   r   r   r   )scan_tag_urirK   r   rg   r   s       r   r   z!Scanner.scan_tag_directive_prefixl  sa    !!+z::YY[[...;Z025t}}H H Hr   c                    |                                  dk    r,|                                  |                                  dk    ,|                                  dk    r@|                                  dvr*|                                  |                                  dv*|                                  }|dvr't          d|d|z  |                                           |                                  d S )Nr   r   r   r   0expected a comment or a line break, but found %rrK   r   r   rg   r   r   r   ri   s      r   r   z#Scanner.scan_directive_ignored_lineu  s    iikkS  LLNNN iikkS  99;;#))++%=== ))++%===YY[[---;ZF"mmoo/ / / 	r   c                 (   |                                  }|                                 }|dk    rd}nd}|                                  d}|                     |          }d|cxk    rdk    s$n d|cxk    rdk    sn d	|cxk    rd
k    sn |dv rK|dz  }|                     |          }d|cxk    rdk    'n d|cxk    rdk    6n d	|cxk    rd
k    En |dv K|s*t          d|z  |d|z  |                                            |                     |          }|                     |           |                                 }|dvr*t          d|z  |d|z  |                                            |                                  } ||||          S )Nr   aliasanchorr   r   r   r   r   r   r   r   r   zwhile scanning an %sr   u     	
  ?:,]}%@`)rg   rK   r   r   r   )	r   r   r   	indicatorr   r   ri   r   r   s	            r   r   zScanner.scan_anchor  s    ]]__
IIKK	DDDYYvR3#"2"2"2"2s"2"2"2"2cR6F6F6F6F36F6F6F6F::aKF6""B R3#"2"2"2"2s"2"2"2"2cR6F6F6F6F36F6F6F6F::  	+5<jL--//+ + + F##VYY[[8885<jL--//+ + + ==??z%X666r   c                 |   |                                  }|                     d          }|dk    rd }|                     d           |                     d|          }|                                 dk    r9t	          d|d|                                 z  |                                            |                                  n|dv rd }d	}|                                  nvd}d
}|dvr'|d	k    rd}n|dz  }|                     |          }|dv'd	}|r|                     d|          }nd	}|                                  |                     d|          }|                                 }|dvr't	          d|d|z  |                                            ||f}|                                  }t          |||          S )Nr   <   tagrF   zwhile parsing a tagzexpected '>', but found %rr   rD   Fr   Tzwhile scanning a tagr   )rg   rK   r   r   r   r   TagToken)	r   r   ri   r   suffixr   
use_handler   r   s	            r   r   zScanner.scan_tag  s   ]]__
YYq\\99FLLOOO&&uj99Fyy{{c!!"#8*4tyy{{B) ) ) LLNNNN...FFLLNNNNFJ55599!%J!YYv&& 555 F --eZ@@&&uj99FYY[[...5z025t}}H H H ==??z8444r   c                 <   |dk    rd}nd}g }|                                  }|                                  |                     |          \  }}|                     |           | j        dz   }|dk     rd}|)|                                 \  }}	}
t          ||	          }n ||z   dz
  }|                     |          \  }}
d}| j        |k    rx| 	                                dk    r_|
                    |           | 	                                dv}d}| 	                    |          d	vr|dz  }| 	                    |          d	v|                    |                     |                     |                     |           |                                 }|                     |          \  }}
| j        |k    rf| 	                                dk    rN|r6|d
k    r0|r.| 	                                dvr|s|                    d           n|                    |           nn$| j        |k    r| 	                                dk    _|dur|                    |           |du r|
                    |           t          d                    |          d||
|          S )NrF   TFr    r8    	r   r   
r   )rg   r   scan_block_scalar_indicatorsscan_block_scalar_ignored_liner#   scan_block_scalar_indentationmaxscan_block_scalar_breaksr   rK   extendrx   r   r   ScalarTokenjoin)r   r   foldedchunksr   chomping	increment
min_indentbreaks
max_indentr   r#   
line_breakleading_non_spacer   s                  r   r   zScanner.scan_block_scalar  s    C<<FFF]]__
 	"??
KK)++J777 []
>>J+/+M+M+O+O(FJZ00FF	)!+F#<<VDDFH
 kV##		t(;(;MM&!!! $		5 8F))F##+CCC! ))F##+CCCMM$++f--...LL   --//J#<<VDDFH{f$$)<)<  .jD00- 126))++U2J2J! +c***MM*---- G kV##		t(;(;L 5  MM*%%%tMM&!!! 2776??E:x  	r   c                    d }d }|                                  }|dv r|dk    rd}nd}|                                  |                                  }|dv rMt          |          }|dk    r$t          d|d|                                           |                                  n|dv rt          |          }|dk    r$t          d|d|                                           |                                  |                                  }|dv r|dk    rd}nd}|                                  |                                  }|d	vr't          d|d
|z  |                                           ||fS )Nz+-+TF
0123456789r   while scanning a block scalarz<expected indentation indicator in the range 1-9, but found 0r   z9expected chomping or indentation indicators, but found %r)rK   r   r   r   rg   )r   r   r  r  ri   s        r   r  z$Scanner.scan_block_scalar_indicators  s   	YY[[::Syy LLNNNB\!!GG	>>&'F
Z MMOO- - - <BIA~~"#BJV) ) ) LLNNNBTzz99#HH$HYY[[...>
O--//+ + + ""r   c                    |                                  dk    r,|                                  |                                  dk    ,|                                  dk    r@|                                  dvr*|                                  |                                  dv*|                                  }|dvr't          d|d|z  |                                           |                                  d S )Nr   r   r   r'  r  r  r  s      r   r  z&Scanner.scan_block_scalar_ignored_lineD  s    iikkS  LLNNN iikkS  99;;#))++%=== ))++%===YY[[--->
FKMMOO% % % 	r   c                    g }d}|                                  }|                                 dv r|                                 dk    r<|                    |                                            |                                  }n&|                                  | j        |k    r| j        }|                                 dv |||fS )Nr       
  r   )rg   rK   rx   r   r   r   )r   r  r!  r   s       r   r  z%Scanner.scan_block_scalar_indentationR  s    
==??iikk444yy{{c!!d2244555==??;++!%J iikk444 z8++r   c                 l   g }|                                  }| j        |k     rO|                                 dk    r7|                                  | j        |k     r|                                 dk    7|                                 dv r|                    |                                            |                                  }| j        |k     rO|                                 dk    r7|                                  | j        |k     r|                                 dk    7|                                 dv ||fS )Nr   
   
  )rg   r   rK   r   rx   r   )r   r#   r  r   s       r   r  z Scanner.scan_block_scalar_breaksa  s   ==??kF""tyy{{c'9'9LLNNN kF""tyy{{c'9'9iikk333MM$..00111}}H+&&499;;#+=+= +&&499;;#+=+= iikk333
 xr   c                    |dk    rd}nd}g }|                                  }|                                 }|                                  |                    |                     ||                     |                                 |k    rj|                    |                     ||                     |                    |                     ||                     |                                 |k    j|                                  |                                  }t          d                    |          d|||          S )NrH   TFr  )rg   rK   r   r  scan_flow_scalar_non_spacesscan_flow_scalar_spacesr  r  )r   r   doubler  r   quoter   s          r   r   zScanner.scan_flow_scalarn  s    C<<FFF]]__
		d66vzJJKKKiikkU""MM$66vzJJKKKMM$::6:NNOOO iikkU"" 	==??2776??E:x  	r   r   r8   r   bt	nr  vfrer   rH   \/N   _    Lu    Pu    r
        )xuUc           
         g }	 d}|                      |          dvr|dz  }|                      |          dv|r=|                    |                     |                     |                     |           |                                  }|sK|dk    rE|                      d          dk    r,|                    d           |                     d           n|r|dk    s|s/|dv r+|                    |           |                                  n|r|dk    r|                                  |                                  }|| j        v r6|                    | j        |                    |                                  nU|| j        v r| j        |         }|                                  t          |          D ]U}|                      |          d	vr<t          d
|d||                      |          fz  |                                           Vt          |                     |          d          }|                    t          |                     |                     |           nk|dv r>|                                  |                    |                     ||                     n)t          d
|d|z  |                                           |S )NTr   u   '"\  	
  r   rG   r
  z"\r@  0123456789ABCDEFabcdefz%while scanning a double-quoted scalarz@expected escape sequence of %d hexadecimal numbers, but found %r   r,  z!found unknown escape character %r)rK   rx   r   r   ESCAPE_REPLACEMENTSESCAPE_CODESranger   rg   r   chrr   r  scan_flow_scalar_breaks)r   r0  r   r  r   ri   kcodes           r   r.  z#Scanner.scan_flow_scalar_non_spaces  s   &	F))F##+LLL! ))F##+LLL %dkk&11222V$$$B bDjjTYYq\\T-A-Ad###Q R4ZZZB&LLb!!! B$JJYY[[111MM$":2">???LLNNNN4,,,!.r2FLLNNN"6]] Q Q99Q<</GGG"./VXb$f)/1(>%?@D#Q #Q Q H t{{622B77DMM#d)),,,LL((((111((***MM$">">vz"R"RSSSS&'NPZ?"DdmmooW W W M&	r   c                 \   g }d}|                      |          dv r|dz  }|                      |          dv |                     |          }|                     |           |                                  }|dk    r$t          d|d|                                           |dv rs|                                 }|                     ||          }|dk    r|                    |           n|s|                    d	           |                    |           n|                    |           |S )
Nr   r  r   r8   while scanning a quoted scalarzfound unexpected end of streamr,  r  r   )	rK   r   r   r   rg   r   rT  rx   r  )	r   r0  r   r  r   whitespacesri   r"  r   s	            r   r/  zScanner.scan_flow_scalar_spaces  s=   ii5((aKF ii5((kk&))VYY[[::?4dmmooG G G)))--//J11&*EEFT!!j)))) #c"""MM&!!!!MM+&&&r   c                    g }	 |                      d          }|dk    s|dk    r;|                     d          dv r$t          d|d|                                           |                                 dv r*|                                  |                                 dv *|                                 d	v r(|                    |                                            n|S )
NTr   r   r   r   rX  z#found unexpected document separatorr  r,  )r   rK   r   rg   r   rx   r   )r   r0  r   r  r   s        r   rT  zScanner.scan_flow_scalar_breaks  s    	 [[^^F%6U??		!(CCC"#CZ=t}}P P P))++&& ))++&&yy{{444d22445555	r   c                    g }|                                  }|}| j        dz   }g }	 d}|                                 dk    rn	 |                     |          }|dv s7|dk    r&|                     |dz             d| j        rdndz   v s| j        r|d	v rn|dz  }W|dk    rnd
| _        |                    |           |                    |                     |                     |                     |           |                                  }| 	                    ||          }|r*|                                 dk    s| j        s| j
        |k     rn-t          d                    |          d||          S )Nr   Tr   r   r   rB   z,[]{}r  z,?[]{}F)rg   r#   rK   r   r%   r  rx   r   r   scan_plain_spacesr   r  r  )r   r  r   r   r#   spacesr   ri   s           r   r   zScanner.scan_plain  s    ]]__
Q
 	Fyy{{c!!YYv&&444#II $		&( 3 37R59_)M#8O !O !O O!O02h! {{$)D!MM&!!!MM$++f--...LL   }}H++FJ??F TYY[[C// O 004f0D0D/	0 2776??D*hGGGr   c                    g }d}|                      |          dv r|dz  }|                      |          dv |                     |          }|                     |           |                                  }|dv rZ|                                 }d| _        |                     d          }|dk    s|dk    r|                      d          d	v rd S g }	|                                  d
v r|                                  dk    r|                                  na|	                    |                                            |                     d          }|dk    s|dk    r|                      d          d	v rd S |                                  d
v |dk    r|                    |           n|	s|                    d           |                    |	           n|r|                    |           |S )Nr   r   r   r,  Tr   r   r   r   r*  r  )rK   r   r   r   r%   rx   r  )
r   r#   r   r  r   rY  ri   r"  r   r   s
             r   r\  zScanner.scan_plain_spaces  s    ii3&&aKF ii3&&kk&))VYY[['''--//J$(D![[^^F%6U??		!(CCCF))++!88899;;#%%LLNNNNMM$"6"6"8"8999![[^^F%6U?? $		!0K K K ))++!888 T!!j)))) #c"""MM&!!!! 	'MM+&&&r   c                    |                                  }|dk    r*t          d|z  |d|z  |                                           d}|                      |          }|dk    rd|cxk    rdk    s$n d|cxk    rd	k    sn d
|cxk    rdk    sn |dv rK|dz  }|                      |          }d|cxk    rdk    'n d|cxk    rd	k    6n d
|cxk    rdk    En |dv K|dk    r?|                     |           t          d|z  |d|z  |                                           |dz  }|                     |          }|                     |           |S )NrD   while scanning a %szexpected '!', but found %rr   r   r   r   r   r   r   r   r   )rK   r   rg   r   r   )r   r   r   ri   r   r   s         r   r   zScanner.scan_tag_handleD  s    YY[[994t;Z025t}}H H HYYv99""""s""""cR&6&6&6&63&6&6&6&6#:J:J:J:Js:J:J:J:JTzz!YYv&& """"s""""cR&6&6&6&63&6&6&6&6#:J:J:J:Js:J:J:J:JTzz SyyV$$$"#84#?4r94==??L L LaKFF##Vr   c                    g }d}|                      |          }d|cxk    rdk    s$n d|cxk    rdk    sn d|cxk    rdk    sn |dv r|d	k    ri|                    |                     |                     |                     |           d}|                    |                     ||                     n|d
z  }|                      |          }d|cxk    rdk    n d|cxk    rdk    n d|cxk    rdk    n |dv |r?|                    |                     |                     |                     |           d}|s*t          d|z  |d|z  |                                           d                    |          S )Nr   r   r   r   r   r   r   z-;/?:@&=+$,_.!~*'()[]%r9   r   zwhile parsing a %szexpected URI, but found %rr  )rK   rx   r   r   scan_uri_escapesr   rg   r  )r   r   r   r  r   ri   s         r   r   zScanner.scan_tag_uri\  s    YYvR3#"2"2"2"2s"2"2"2"2cR6F6F6F6F36F6F6F6F222Syydkk&11222V$$$d33D*EEFFFF!6""B R3#"2"2"2"2s"2"2"2"2cR6F6F6F6F36F6F6F6F222  	MM$++f--...LL   F 	H3d:J025t}}H H Hwwvr   c           	         g }|                                  }|                                 dk    r|                                  t          d          D ]V}|                     |          dvr=t	          d|z  |d|                     |          z  |                                            W|                    t          |                     d          d                     |                     d           |                                 dk    	 t          |          	                    d          }n4# t          $ r'}t	          d|z  |t          |          |          d }~ww xY w|S )Nr9   r
  rN  r`  zCexpected URI escape sequence of 2 hexadecimal numbers, but found %rrO  zutf-8)rg   rK   r   rR  r   rx   r   r   bytesdecodeUnicodeDecodeErrorstr)r   r   r   codesr   rU  r   excs           r   rb  zScanner.scan_uri_escapesu  sW   }}iikkS  LLNNN1XX = =99Q<<'???&'<t'CZa"iill+,0MMOO= = = @ LLT[[^^R00111LLOOO iikkS  	Y%LL''00EE! 	Y 	Y 	Y4t;ZSSWXXX	Ys   "D0 0
E!:"EE!c                     |                                  }|dv rE|                     d          dk    r|                     d           n|                                  dS |dv r|                                  |S dS )Nu   
r
  z
r  u     r  )rK   r   r   rh   s     r   r   zScanner.scan_line_break  sv     YY[[{{1~~''Q4>!!LLNNNIrr   N)Lr   r	   r
   r   r.   r0   r3   r)   r*   r6   r5   ru   rs   rJ   r{   r!   rL   rN   rP   rR   r   rS   rT   r   rU   rV   r   rW   rY   r[   r]   r^   r_   r`   ra   rb   r   rc   rd   r   rf   rM   rO   rQ   rX   rZ   r\   re   rI   r   r   r   r   r   r   r   r   r   r   r   r  r  r  r  r   rP  rQ  r.  r/  rT  r   r\  r   r   rb  r   r   r   r   r   r   .   s\       =' =' ='B
 
 
  & & &	 	 	h! h! h!X     5 5 5 = = ="	; 	; 	;: : :0  	% 	% 	%  &
2 
2 
2: : :8 8 8= = = A A A@ @ @= = ="= = =< < <= = ="A A AB B BB; ; ;86= 6= 6=p	9 	9 	9	: 	: 	:	, 	, 	,+ + ++ + +	: 	: 	:+ + +* * *	9 	9 	9. . .      ; ; ;
? ? ?? ? ?Q Q Q*! ! !FA A A&  *  "             "7 "7 "7H'5 '5 '5RJ J JX&# &# &#P  , , ,       0 	 		
 	 	 	 	 	 	 	 	 	 	 	  	!" 	#$ 	% ,  L) ) )V  0  $'H 'H 'HR# # #J  0  2  &    r   N)__all__errorr   r    r   r   r   r   r   r   <module>rm     s   6 n
% " " " " " "    	 	 	 	 	? 	 	 		 	 	 	 	 	 	 	m m m m m m m m m mr   