ÿØÿà JFIF      ÿÛ C      

!"$"$ÿÛ C  ÿÂ p " ÿÄ              ÿÄ             ÿÚ    ÕÔË®
(%	aA*‚XYD¡(J„¡E¢RE,P€XYae )(E¤²€B¤R¥	BQ¤¢ X«)X…€¤   @  

  ..............................................................................................................................................................................
.............................................................................                                                  
                                                                                                                                                                                     ÿØÿà JFIF      ÿÛ C      

!"$"$ÿÛ C  ÿÂ p " ÿÄ              ÿÄ             ÿÚ    ÕÔË®
(%	aA*‚XYD¡(J„¡E¢RE,P€XYae )(E¤²€B¤R¥	BQ¤¢ X«)X…€¤   @  

  ..............................................................................................................................................................................
.............................................................................                                                  
                                                                                                                                                                                     o
    `c                     @   sN   d dgZ ddlmZ ddlT ddlT ddlT G dd deZG dd  d ZdS )ParserParserError   )MarkedYAMLError)*c                   @   s   e Zd ZdS )r   N)__name__
__module____qualname__ r	   r	   -/usr/lib/python3/dist-packages/yaml/parser.pyr   E   s    c                   @   s  e Zd ZdddZdd Zdd Zdd	 Zd
d Zdd Zdd Z	dd Z
dd Zdd Zdd Zdd Zdd Zdd Zdd ZdDd!d"Zd#d$ Zd%d& Zd'd( Zd)d* Zd+d, Zd-d. Zd/d0 ZdEd1d2Zd3d4 Zd5d6 Zd7d8 Zd9d: ZdEd;d<Zd=d> Z d?d@ Z!dAdB Z"dCS )Fr   !ztag:yaml.org,2002:)r   z!!c                 C   s*   d | _ d | _i | _g | _g | _| j| _d S N)current_eventyaml_versiontag_handlesstatesmarksparse_stream_startstateselfr	   r	   r
   __init__Q   s   zParser.__init__c                 C   s   g | _ d | _d S r   )r   r   r   r	   r	   r
   disposeY   s   
zParser.disposec                 G   sL   | j d u r| jr|  | _ | j d ur$|sdS |D ]}t| j |r# dS qdS )NTF)r   r   
isinstance)r   choiceschoicer	   r	   r
   check_event^   s   


zParser.check_eventc                 C   s    | j d u r| jr|  | _ | j S r   r   r   r   r	   r	   r
   
peek_eventk   s   

zParser.peek_eventc                 C   s*   | j d u r| jr|  | _ | j }d | _ |S r   r   )r   valuer	   r	   r
   	get_eventr   s   

zParser.get_eventc                 C   s(   |   }t|j|j|jd}| j| _|S )N)encoding)	get_tokenZStreamStartEvent
start_markend_markr    parse_implicit_document_startr   r   tokeneventr	   r	   r
   r      s   
zParser.parse_stream_startc                 C   sX   |  ttts(| j| _|  }|j }}t||dd}| j	
| j | j| _|S |  S )NFexplicit)check_tokenDirectiveTokenDocumentStartTokenStreamEndTokenDEFAULT_TAGSr   
peek_tokenr"   DocumentStartEventr   appendparse_document_endparse_block_noder   parse_document_start)r   r&   r"   r#   r'   r	   r	   r
   r$      s   
z$Parser.parse_implicit_document_startc                 C   s   |  tr|   |  ts|  tsQ|  }|j}|  \}}|  ts4td d d|  j	 |  j|  }|j
}t||d||d}| j| j | j| _|S |  }t|j|j
}| jraJ | jrfJ d | _|S )Nz)expected '<document start>', but found %rT)r)   versiontags)r*   DocumentEndTokenr!   r-   r/   r"   process_directivesr,   r   idr#   r0   r   r1   r2   parse_document_contentr   ZStreamEndEventr   )r   r&   r"   r5   r6   r#   r'   r	   r	   r
   r4      s8   





zParser.parse_document_startc                 C   sL   |   }|j }}d}| tr|  }|j}d}t|||d}| j| _|S )NFTr(   )	r/   r"   r*   r7   r!   r#   ZDocumentEndEventr4   r   )r   r&   r"   r#   r)   r'   r	   r	   r
   r2      s   

zParser.parse_document_endc                 C   s8   |  ttttr| |  j}| j	 | _
|S |  S r   )r*   r+   r,   r7   r-   process_empty_scalarr/   r"   r   popr   r3   )r   r'   r	   r	   r
   r:      s   zParser.parse_document_contentc                 C   s   d | _ i | _| trZ|  }|jdkr7| j d ur!td d d|j|j\}}|dkr2td d d|j|j| _ n|jdkrU|j\}}|| jv rPtd d d| |j|| j|< | ts| jrf| j | j	 f}n| j d f}| j
D ]}|| jvr}| j
| | j|< qn|S )NZYAMLzfound duplicate YAML directiver   z:found incompatible YAML document (version 1.* is required)ZTAGzduplicate tag handle %r)r   r   r*   r+   r!   namer   r"   r   copyr.   )r   r&   majorminorhandleprefixr   keyr	   r	   r
   r8      sB   












zParser.process_directivesc                 C   s   | j ddS )NT)block
parse_noder   r	   r	   r
   r3     s   zParser.parse_block_nodec                 C   s   |   S r   rE   r   r	   r	   r
   parse_flow_node  s   zParser.parse_flow_nodec                 C   s   | j dddS )NT)rD   indentless_sequencerE   r   r	   r	   r
   'parse_block_node_or_indentless_sequence  s   z.Parser.parse_block_node_or_indentless_sequenceFc              	   C   s>  |  tr|  }t|j|j|j}| j | _	|S d }d }d  } }}	|  t
rI|  }|j}|j}|j}|  trH|  }|j}	|j}|j}n#|  trl|  }|j }}	|j}|j}|  t
rl|  }|j}|j}|d ur|\}
}|
d ur|
| jvrtd|d|
 |	| j|
 | }n|}|d u r|  j }}d }|d u p|dk}|r|  tr|  j}t|||||}| j| _	|S |  tr|  }|j}|jr|d u s|dkrd}n	|d u rd}nd}t||||j|||jd}| j | _	|S |  tr|  j}t|||||dd	}| j| _	|S |  tr-|  j}t|||||dd	}| j| _	|S |rK|  trK|  j}t|||||d
d	}| j| _	|S |ri|  tri|  j}t|||||d
d	}| j| _	|S |d uss|d urt|||d
fd||}| j | _	|S |rd}nd}|  }td| |d|j |j)Nzwhile parsing a nodezfound undefined tag handle %rr   TF)FTFF)styleTZ
flow_styleF rD   Zflowzwhile parsing a %s nodez'expected the node content, but found %r) r*   Z
AliasTokenr!   Z
AliasEventr   r"   r#   r   r<   r   ZAnchorTokenZTagTokenr   r   r/   BlockEntryTokenZSequenceStartEventparse_indentless_sequence_entryZScalarTokenZplainScalarEventrL   ZFlowSequenceStartTokenparse_flow_sequence_first_entryZFlowMappingStartTokenMappingStartEventparse_flow_mapping_first_keyZBlockSequenceStartToken parse_block_sequence_first_entryZBlockMappingStartTokenparse_block_mapping_first_keyr9   )r   rD   rH   r&   r'   Zanchortagr"   r#   Ztag_markrA   suffixZimplicitZnoder	   r	   r
   rF     s   
_






1
$





zParser.parse_nodec                 C      |   }| j|j |  S r   )r!   r   r1   r"   parse_block_sequence_entryr   r&   r	   r	   r
   rU   x     z'Parser.parse_block_sequence_first_entryc                 C   s   |  tr$|  }|  tts| j| j |  S | j| _| 	|j
S |  ts;|  }td| jd d|j |j|  }t|j|j
}| j | _| j  |S )Nz while parsing a block collection"expected <block end>, but found %r)r*   rO   r!   BlockEndTokenr   r1   rZ   r3   r   r;   r#   r/   r   r   r9   r"   SequenceEndEventr<   r%   r	   r	   r
   rZ   }  s"   


z!Parser.parse_block_sequence_entryc                 C   sr   |  tr&|  }|  tttts| j| j | 	 S | j| _
| |jS |  }t|j|j}| j | _
|S r   )r*   rO   r!   KeyToken
ValueTokenr_   r   r1   rP   r3   r   r;   r#   r/   r`   r"   r<   r%   r	   r	   r
   rP     s   
z&Parser.parse_indentless_sequence_entryc                 C   rY   r   )r!   r   r1   r"   parse_block_mapping_keyr[   r	   r	   r
   rV     r\   z$Parser.parse_block_mapping_first_keyc                 C   s   |  tr%|  }|  ttts| j| j |  S | j| _	| 
|jS |  ts<|  }td| jd d|j |j|  }t|j|j}| j | _	| j  |S )Nzwhile parsing a block mappingr]   r^   )r*   ra   r!   rb   r_   r   r1   parse_block_mapping_valuerI   r   r;   r#   r/   r   r   r9   r"   MappingEndEventr<   r%   r	   r	   r
   rc     s"   


zParser.parse_block_mapping_keyc                 C   sf   |  tr%|  }|  ttts| j| j |  S | j| _	| 
|jS | j| _	|  }| 
|jS r   )r*   rb   r!   ra   r_   r   r1   rc   rI   r   r;   r#   r/   r"   r[   r	   r	   r
   rd     s   
z Parser.parse_block_mapping_valuec                 C   "   |   }| j|j | jddS NT)first)r!   r   r1   r"   parse_flow_sequence_entryr[   r	   r	   r
   rR        z&Parser.parse_flow_sequence_first_entryc                 C   s   |  tsN|s#|  tr|   n|  }td| jd d|j |j|  t	r>|  }t
d d d|j|jdd}| j| _|S |  tsN| j| j |  S |  }t|j|j}| j | _| j  |S )Nzwhile parsing a flow sequencer]   zexpected ',' or ']', but got %rTrM   )r*   FlowSequenceEndTokenFlowEntryTokenr!   r/   r   r   r9   r"   ra   rS   r#   %parse_flow_sequence_entry_mapping_keyr   r   r1   ri   rG   r`   r<   r   rh   r&   r'   r	   r	   r
   ri     s0   





z Parser.parse_flow_sequence_entryc                 C   s@   |   }| ttts| j| j |  S | j| _	| 
|jS r   )r!   r*   rb   rl   rk   r   r1   'parse_flow_sequence_entry_mapping_valuerG   r   r;   r#   r[   r	   r	   r
   rm     s   z,Parser.parse_flow_sequence_entry_mapping_keyc                 C   d   |  tr$|  }|  tts| j| j |  S | j| _	| 
|jS | j| _	|  }| 
|jS r   )r*   rb   r!   rl   rk   r   r1   %parse_flow_sequence_entry_mapping_endrG   r   r;   r#   r/   r"   r[   r	   r	   r
   ro         
z.Parser.parse_flow_sequence_entry_mapping_valuec                 C   s   | j | _|  }t|j|jS r   )ri   r   r/   re   r"   r[   r	   r	   r
   rq     s   z,Parser.parse_flow_sequence_entry_mapping_endc                 C   rf   rg   )r!   r   r1   r"   parse_flow_mapping_keyr[   r	   r	   r
   rT     rj   z#Parser.parse_flow_mapping_first_keyc                 C   s   |  tsX|s#|  tr|   n|  }td| jd d|j |j|  t	rH|  }|  t
tts>| j| j |  S | j| _| |jS |  tsX| j| j |  S |  }t|j|j}| j | _| j  |S )Nzwhile parsing a flow mappingr]   zexpected ',' or '}', but got %r)r*   FlowMappingEndTokenrl   r!   r/   r   r   r9   r"   ra   rb   r   r1   parse_flow_mapping_valuerG   r   r;   r#   parse_flow_mapping_empty_valuere   r<   rn   r	   r	   r
   rs     s2   





zParser.parse_flow_mapping_keyc                 C   rp   r   )r*   rb   r!   rl   rt   r   r1   rs   rG   r   r;   r#   r/   r"   r[   r	   r	   r
   ru   9  rr   zParser.parse_flow_mapping_valuec                 C   s   | j | _| |  jS r   )rs   r   r;   r/   r"   r   r	   r	   r
   rv   G  s   z%Parser.parse_flow_mapping_empty_valuec                 C   s   t d d dd||S )NrJ   rN   )rQ   )r   Zmarkr	   r	   r
   r;   K  s   zParser.process_empty_scalarNrK   )F)#r   r   r   r.   r   r   r   r   r   r   r$   r4   r2   r:   r8   r3   rG   rI   rF   rU   rZ   rP   rV   rc   rd   rR   ri   rm   ro   rq   rT   rs   ru   rv   r;   r	   r	   r	   r
   r   H   sF    	/
g


N)__all__errorr   tokensZeventsscannerr   r   r	   r	   r	   r
   <module>   s   =