£Á°èZ¨Ä…–K§‚«“ô4“ÒÙ´dîfUÙÃÅ WKbyÊ¦•êŽ…È®FÒ¿ÊÎóCozá¬S@6{Í:›œêZÌ:Š•_%:¢¾¾~;‘Ã~èŠ©ÊÇí`ÔÑ©úë™µ'5I¿fš×WO%ø9¾«¾DK|€ùÍD”Ýs]nHÕ¶ê×Ó¼ãžªéUWŸÈË%DÒÕ¬ï‘]/Åcx  ‰ï2ß]ä6G[]S£ÔÏ¯rs{úëóµmÒï#UQxo·õÞCe]"±/aÙ&Eã4ú9Jé_ÞåëdãöKë)AÞ                  ¯¹ægƒÛowÐø^d™ý½ßB7áyMä9ÜÖUã
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
<html>
B
    b`                 @   sL   d dgZ ddlmZ ddlT G dd deZG dd dZG dd  d Zd	S )
EmitterEmitterError   )	YAMLError)*c               @   s   e Zd ZdS )r   N)__name__
__module____qualname__ r	   r	   ?/opt/alt/python37/lib64/python3.7/site-packages/yaml/emitter.pyr      s   c               @   s   e Zd Zdd ZdS )ScalarAnalysisc	       	      C   s4   || _ || _|| _|| _|| _|| _|| _|| _d S )N)scalarempty	multilineallow_flow_plainallow_block_plainallow_single_quotedallow_double_quotedallow_block)	selfr   r   r   r   r   r   r   r   r	   r	   r
   __init__   s    zScalarAnalysis.__init__N)r   r   r   r   r	   r	   r	   r
   r      s   r   c               @   s(  e Zd ZdddZdddZdd Zd	d
 Zdd Zdd ZdddZ	dd Z
dd Zdd ZdddZdd Zdd Zdd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d0d1 Zd2d3 Zd4d5 Zd6d7 Zdd8d9Zd:d; Zd<d= Zdd>d?Z d@dA Z!dBdC Z"dDdE Z#dFdG Z$dHdI Z%dJdK Z&dLdM Z'dNdO Z(dPdQ Z)dRdS Z*dTdU Z+dVdW Z,dXdY Z-dZd[ Z.d\d] Z/d^d_ Z0d`da Z1dbdc Z2ddde Z3ddfdgZ4dhdi Z5ddjdkZ6dldm Z7dndo Z8ddqdrZ9dsdtdudvdwdxdydzd{d|d}d~ddddZ:dddZ;dd Z<dd Z=dd Z>dddZ?dS )r   !z!!)r   ztag:yaml.org,2002:Nc             C   s   || _ d | _g | _| j| _g | _d | _g | _d | _d| _	d| _
d| _d| _d| _d| _d| _d| _d| _d| _|| _|| _d| _|rd|  k rdk rn n|| _d| _|r|| jd kr|| _d| _|d	kr|| _d | _d | _d | _d | _d | _d S )
N    FT   r   
   P   
)r   z
)streamencodingstatesexpect_stream_startstateeventseventindentsindent
flow_levelroot_contextsequence_contextmapping_contextsimple_key_contextlinecolumn
whitespace	indention
open_ended	canonicalallow_unicodebest_indent
best_widthbest_line_breaktag_prefixesprepared_anchorprepared_taganalysisstyle)r   r   r0   r%   widthr1   Z
line_breakr	   r	   r
   r   &   sD    zEmitter.__init__c             C   s   g | _ d | _d S )N)r   r!   )r   r	   r	   r
   disposej   s    zEmitter.disposec             C   s:   | j | x(|  s4| j d| _|   d | _qW d S )Nr   )r"   appendneed_more_eventspopr#   r!   )r   r#   r	   r	   r
   emito   s
    
zEmitter.emitc             C   sX   | j s
dS | j d }t|tr(| dS t|tr<| dS t|trP| dS dS d S )NTr   r   r      F)r"   
isinstanceDocumentStartEventneed_eventsSequenceStartEventMappingStartEvent)r   r#   r	   r	   r
   r=   x   s    






zEmitter.need_more_eventsc             C   sx   d}x`| j dd  D ]N}t|ttfr0|d7 }n&t|ttfrH|d8 }nt|trVd}|dk rdS qW t| j |d k S )Nr   r   F)r"   rA   rB   CollectionStartEventDocumentEndEventZCollectionEndEventStreamEndEventlen)r   countlevelr#   r	   r	   r
   rC      s    


zEmitter.need_eventsFc             C   sF   | j | j | jd kr.|r&| j| _qBd| _n|sB|  j| j7  _d S )Nr   )r$   r<   r%   r2   )r   flow
indentlessr	   r	   r
   increase_indent   s    

zEmitter.increase_indentc             C   sN   t | jtr<| jjr*t| jds*| jj| _|   | j| _nt	d| j d S )Nr   z%expected StreamStartEvent, but got %s)
rA   r#   ZStreamStartEventr   hasattrr   write_stream_startexpect_first_document_startr!   r   )r   r	   r	   r
   r       s    

zEmitter.expect_stream_startc             C   s   t d| j d S )Nzexpected nothing, but got %s)r   r#   )r   r	   r	   r
   expect_nothing   s    zEmitter.expect_nothingc             C   s   | j ddS )NT)first)expect_document_start)r   r	   r	   r
   rR      s    z#Emitter.expect_first_document_startc       	      C   sv  t | jtr(| jjs| jjr8| jr8| dd |   | jjrX| | jj}| 	| | j
 | _| jjrt| jj }xB|D ]:}| jj| }|| j|< | |}| |}| || qW |o| jj o| j o| jj o| jj o|   }|s|   | dd | jr|   | j| _nJt | jtrd| jrR| dd |   |   | j| _ntd| j d S )Nz...Tz---z'expected DocumentStartEvent, but got %s)rA   r#   rB   versiontagsr/   write_indicatorwrite_indentprepare_versionwrite_version_directiveDEFAULT_TAG_PREFIXEScopyr5   sortedkeysprepare_tag_handleprepare_tag_prefixwrite_tag_directiveexplicitr0   check_empty_documentexpect_document_rootr!   rI   write_stream_endrS   r   )	r   rT   version_textZhandleshandleprefixhandle_textprefix_textimplicitr	   r	   r
   rU      sB    







zEmitter.expect_document_startc             C   sT   t | jtrB|   | jjr0| dd |   |   | j| _nt	d| j d S )Nz...Tz%expected DocumentEndEvent, but got %s)
rA   r#   rH   rY   rc   rX   flush_streamrU   r!   r   )r   r	   r	   r
   expect_document_end   s    
zEmitter.expect_document_endc             C   s   | j | j | jdd d S )NT)root)r   r<   rn   expect_node)r   r	   r	   r
   re      s    zEmitter.expect_document_rootc             C   s   || _ || _|| _|| _t| jtr.|   nt| jtt	fr| 
d |   t| jtrf|   qt| jtr| js| js| jjs|  r|   q|   qt| jtr| js| js| jjs|  r|   q|   ntd| j d S )N&zexpected NodeEvent, but got %s)r'   r(   r)   r*   rA   r#   
AliasEventexpect_aliasScalarEventrG   process_anchorprocess_tagexpect_scalarrD   r&   r0   Z
flow_stylecheck_empty_sequenceexpect_flow_sequenceexpect_block_sequencerE   check_empty_mappingexpect_flow_mappingexpect_block_mappingr   )r   ro   sequencemapping
simple_keyr	   r	   r
   rp      s,    






zEmitter.expect_nodec             C   s.   | j jd krtd| d | j | _d S )Nz!anchor is not specified for aliasr   )r#   anchorr   ru   r   r>   r!   )r   r	   r	   r
   rs     s    
zEmitter.expect_aliasc             C   s0   | j dd |   | j | _| j | _d S )NT)rM   )rO   process_scalarr$   r>   r%   r   r!   )r   r	   r	   r
   rw   
  s    zEmitter.expect_scalarc             C   s6   | j dddd |  jd7  _| jdd | j| _d S )N[T)r-   r   )rM   )rX   r&   rO   expect_first_flow_sequence_itemr!   )r   r	   r	   r
   ry     s    zEmitter.expect_flow_sequencec             C   sx   t | jtr@| j | _|  jd8  _| dd | j | _	n4| j
sR| j| jkrZ|   | j| j | jdd d S )Nr   ]FT)r~   )rA   r#   SequenceEndEventr$   r>   r%   r&   rX   r   r!   r0   r,   r3   rY   r<   expect_flow_sequence_itemrp   )r   r	   r	   r
   r     s    z'Emitter.expect_first_flow_sequence_itemc             C   s   t | jtrZ| j | _|  jd8  _| jr@| dd | 	  | dd | j
 | _n@| dd | jsx| j| jkr| 	  | j
| j | jdd d S )Nr   ,Fr   T)r~   )rA   r#   r   r$   r>   r%   r&   r0   rX   rY   r   r!   r,   r3   r<   r   rp   )r   r	   r	   r
   r   $  s    z!Emitter.expect_flow_sequence_itemc             C   s6   | j dddd |  jd7  _| jdd | j| _d S )N{T)r-   r   )rM   )rX   r&   rO   expect_first_flow_mapping_keyr!   )r   r	   r	   r
   r|   6  s    zEmitter.expect_flow_mappingc             C   s   t | jtr@| j | _|  jd8  _| dd | j | _	nl| j
sR| j| jkrZ|   | j
s|  r| j| j | jddd n&| dd | j| j | jdd d S )Nr   }FT)r   r   ?)r   )rA   r#   MappingEndEventr$   r>   r%   r&   rX   r   r!   r0   r,   r3   rY   check_simple_keyr<    expect_flow_mapping_simple_valuerp   expect_flow_mapping_value)r   r	   r	   r
   r   <  s    z%Emitter.expect_first_flow_mapping_keyc             C   s   t | jtrZ| j | _|  jd8  _| jr@| dd | 	  | dd | j
 | _nx| dd | jsx| j| jkr| 	  | js|  r| j
| j | jddd n&| dd | j
| j | jdd d S )	Nr   r   Fr   T)r   r   r   )r   )rA   r#   r   r$   r>   r%   r&   r0   rX   rY   r   r!   r,   r3   r   r<   r   rp   r   )r   r	   r	   r
   expect_flow_mapping_keyM  s"    zEmitter.expect_flow_mapping_keyc             C   s*   |  dd | j| j | jdd d S )N:FT)r   )rX   r   r<   r   rp   )r   r	   r	   r
   r   b  s    z(Emitter.expect_flow_mapping_simple_valuec             C   sD   | j s| j| jkr|   | dd | j| j | jdd d S )Nr   T)r   )	r0   r,   r3   rY   rX   r   r<   r   rp   )r   r	   r	   r
   r   g  s
    z!Emitter.expect_flow_mapping_valuec             C   s(   | j o| j }| jd|d | j| _d S )NF)rM   rN   )r)   r.   rO    expect_first_block_sequence_itemr!   )r   rN   r	   r	   r
   rz   p  s    zEmitter.expect_block_sequencec             C   s   | j ddS )NT)rT   )expect_block_sequence_item)r   r	   r	   r
   r   u  s    z(Emitter.expect_first_block_sequence_itemc             C   s`   |s*t | jtr*| j | _| j | _n2|   | j	dddd | j
| j | jdd d S )N-T)r.   )r~   )rA   r#   r   r$   r>   r%   r   r!   rY   rX   r<   r   rp   )r   rT   r	   r	   r
   r   x  s    z"Emitter.expect_block_sequence_itemc             C   s   | j dd | j| _d S )NF)rM   )rO   expect_first_block_mapping_keyr!   )r   r	   r	   r
   r}     s    zEmitter.expect_block_mappingc             C   s   | j ddS )NT)rT   )expect_block_mapping_key)r   r	   r	   r
   r     s    z&Emitter.expect_first_block_mapping_keyc             C   s   |s*t | jtr*| j | _| j | _nX|   | 	 rX| j
| j | jddd n*| jdddd | j
| j | jdd d S )NT)r   r   r   )r.   )r   )rA   r#   r   r$   r>   r%   r   r!   rY   r   r<   !expect_block_mapping_simple_valuerp   rX   expect_block_mapping_value)r   rT   r	   r	   r
   r     s    z Emitter.expect_block_mapping_keyc             C   s*   |  dd | j| j | jdd d S )Nr   FT)r   )rX   r   r<   r   rp   )r   r	   r	   r
   r     s    z)Emitter.expect_block_mapping_simple_valuec             C   s6   |    | jdddd | j| j | jdd d S )Nr   T)r.   )r   )rY   rX   r   r<   r   rp   )r   r	   r	   r
   r     s    z"Emitter.expect_block_mapping_valuec             C   s"   t | jto | jo t | jd tS )Nr   )rA   r#   rD   r"   r   )r   r	   r	   r
   rx     s    zEmitter.check_empty_sequencec             C   s"   t | jto | jo t | jd tS )Nr   )rA   r#   rE   r"   r   )r   r	   r	   r
   r{     s    zEmitter.check_empty_mappingc             C   sN   t | jtr| jsdS | jd }t |toL|jd koL|jd koL|joL|jdkS )NFr    )	rA   r#   rB   r"   rt   r   tagrl   value)r   r#   r	   r	   r
   rd     s
    
zEmitter.check_empty_documentc             C   s
  d}t | jtrD| jjd k	rD| jd kr6| | jj| _|t| j7 }t | jttfr| jj	d k	r| j
d krz| | jj	| _
|t| j
7 }t | jtr| jd kr| | jj| _|t| jj7 }|dk ot | jtpt | jtr| jj r| jj p|  p|  S )Nr      )rA   r#   Z	NodeEventr   r6   prepare_anchorrJ   rt   rG   r   r7   prepare_tagr8   analyze_scalarr   r   rr   r   r   rx   r{   )r   lengthr	   r	   r
   r     s$    


zEmitter.check_simple_keyc             C   sR   | j jd krd | _d S | jd kr0| | j j| _| jrH| || j d d | _d S )NT)r#   r   r6   r   rX   )r   	indicatorr	   r	   r
   ru     s    
zEmitter.process_anchorc             C   s   | j j}t| j tr| jd kr(|  | _| jr6|d krl| jdkrL| j jd sb| jdkrl| j jd rld | _d S | j jd r|d krd}d | _n | jr|d kr| j jrd | _d S |d krt	d| jd kr| 
|| _| jr| | jd d | _d S )Nr   r   r   r   ztag is not specifiedT)r#   r   rA   rt   r9   choose_scalar_styler0   rl   r7   r   r   rX   )r   r   r	   r	   r
   rv     s,    


zEmitter.process_tagc             C   s   | j d kr| | jj| _ | jjdks,| jr0dS | jjsz| jjd rz| jrZ| j jsz| j j	sz| j
rh| j jsv| j
sz| j jrzdS | jjr| jjdkr| j
s| js| j jr| jjS | jjr| jjdkr| j jr| jr| j j	sdS dS )N"r   r   z|>')r8   r   r#   r   r9   r0   rl   r*   r   r   r&   r   r   r   r   )r   r	   r	   r
   r     s&    
zEmitter.choose_scalar_stylec             C   s   | j d kr| | jj| _ | jd kr.|  | _| j }| jdkrR| | j j| n`| jdkrn| 	| j j| nD| jdkr| 
| j j n*| jdkr| | j j n| | j j| d | _ d | _d S )Nr   r   >|)r8   r   r#   r   r9   r   r*   write_double_quotedr   write_single_quotedwrite_foldedwrite_literalwrite_plain)r   splitr	   r	   r
   r     s     






zEmitter.process_scalarc             C   s,   |\}}|dkr t d||f d||f S )Nr   zunsupported YAML version: %d.%dz%d.%d)r   )r   rV   majorminorr	   r	   r
   rZ     s    zEmitter.prepare_versionc             C   s   |st d|d dks$|d dkr0t d| xn|dd D ]^}d|  krVdks>n d	|  krld
ks>n d|  krdks>n |dks>t d||f q>W |S )Nztag handle must not be emptyr   r   rF   z*tag handle must start and end with '!': %rr   09AZazz-_z*invalid character %r in the tag handle: %r)r   )r   rh   chr	   r	   r
   r`   !  s    BzEmitter.prepare_tag_handlec             C   s  |st dg }d }}|d dkr(d}x|t|k r|| }d|  krRdksn d|  krhdksn d	|  kr~d
ksn |dkr|d7 }q*||k r||||  |d  }}|d}x|D ]}|dt|  qW q*W ||k r||||  d|S )Nztag prefix must not be emptyr   r   r   r   r   r   r   r   r   z-;/?!:@&=+$,_.~*'()[]zutf-8z%%%02Xr   )r   rJ   r<   encodeordjoin)r   ri   chunksstartendr   datar	   r	   r
   ra   -  s(    B



zEmitter.prepare_tag_prefixc             C   s  |st d|dkr|S d }|}t| j }xH|D ]@}||r4|dksZt|t|k r4| j| }|t|d  }q4W g }d }}x|t|k rV|| }	d|	  krdksn d|	  krdksn d|	  krd	ksn |	d
ks|	dkr|dkr|d7 }q||k r ||||  |d  }}|	d}
x|
D ]}	|d|	  q<W qW ||k rt||||  d|}|rd||f S d| S d S )Nztag must not be emptyr   r   r   r   r   r   r   r   z-;/?:@&=+$,_.~*'()[]r   zutf-8z%%%02Xr   z%s%sz!<%s>)	r   r^   r5   r_   
startswithrJ   r<   r   r   )r   r   rh   suffixprefixesri   r   r   r   r   r   Zsuffix_textr	   r	   r
   r   D  s@    


B





zEmitter.prepare_tagc             C   sx   |st dxf|D ]^}d|  kr*dksn d|  kr@dksn d|  krVdksn |dkst d	||f qW |S )
Nzanchor must not be emptyr   r   r   r   r   r   z-_z&invalid character %r in the anchor: %r)r   )r   r   r   r	   r	   r
   r   h  s    
BzEmitter.prepare_anchorc          
   C   s4  |st |ddddddddS d}d}d}d}d}d}d}d}	d}
d}|dsX|dr`d}d}d}t|dkpz|d dk}d}d}d}x|t|k r|| }|dkr|d	krd}d}|d
krd}|rd}|dkr|rd}d}n<|dkrd}|dkrd}|rd}|dkr |r d}d}|dkr.d}|dksd|  krPdksn |dksd|  krtdksn d|  krdksn d|  krdk rn n|dkrd}| jsd}nd}|dkr|dkrd}|t|d krd}|rd}
d}d}nJ|dkrP|dkr&d}|t|d kr<d}	|rFd}d}d}nd}d}|d7 }|dk}|d t|kp||d  dk}qW d}d}d}d}d}|s|s|s|	rd }}|rd}|
rd } }}|s|rd } } }}|rd }}|rd}|rd}t |d||||||dS )NTF)r   r   r   r   r   r   r   r   z---z...r   u     	
  r   z#,[]{}&*!|>'"%@`z?:r   z,?[]{}r   #u	   
  r    ~       u   ퟿u   u   �u   𐀀u   􏿿u   ﻿)r   r   rJ   r1   )r   r   Zblock_indicatorsZflow_indicatorsZline_breaksZspecial_charactersleading_spaceZleading_breakZtrailing_spaceZtrailing_breakZbreak_spaceZspace_breakZpreceded_by_whitespaceZfollowed_by_whitespaceZprevious_spaceZprevious_breakindexr   Zunicode_charactersr   r   r   r   r   r	   r	   r
   r   r  s    

$$&



zEmitter.analyze_scalarc             C   s   t | jdr| j  d S )Nflush)rP   r   r   )r   r	   r	   r
   rm     s    zEmitter.flush_streamc             C   s*   | j r&| j dr&| jd| j  d S )Nzutf-16u   ﻿)r   r   r   writer   )r   r	   r	   r
   rQ     s    zEmitter.write_stream_startc             C   s   |    d S )N)rm   )r   r	   r	   r
   rf     s    zEmitter.write_stream_endc             C   sd   | j s
|s|}nd| }|| _ | jo&|| _|  jt|7  _d| _| jrT|| j}| j| d S )Nr   F)	r-   r.   r,   rJ   r/   r   r   r   r   )r   r   Zneed_whitespacer-   r.   r   r	   r	   r
   rX      s    
zEmitter.write_indicatorc             C   sx   | j pd}| jr*| j|ks*| j|kr2| js2|   | j|k rtd| _d|| j  }|| _| jrh|| j}| j| d S )Nr   Tr   )	r%   r.   r,   r-   write_line_breakr   r   r   r   )r   r%   r   r	   r	   r
   rY   .  s    

zEmitter.write_indentc             C   sP   |d kr| j }d| _d| _|  jd7  _d| _| jr@|| j}| j| d S )NTr   r   )	r4   r-   r.   r+   r,   r   r   r   r   )r   r   r	   r	   r
   r   ;  s    zEmitter.write_line_breakc             C   s2   d| }| j r|| j }| j| |   d S )Nz	%%YAML %s)r   r   r   r   r   )r   rg   r   r	   r	   r
   r[   F  s
    zEmitter.write_version_directivec             C   s6   d||f }| j r|| j }| j| |   d S )Nz%%TAG %s %s)r   r   r   r   r   )r   rj   rk   r   r	   r	   r
   rb   M  s
    zEmitter.write_tag_directiveTc       
      C   s,  |  dd d}d}d }}x|t|krd }|t|k rF|| }|r|d ksZ|dkr|d |kr| j| jkr|r|dkr|t|kr|   n<||| }|  jt|7  _| jr|| j}| j| |}n|rH|d ks|dkr|| dkr| 	  x4||| D ]$}	|	dkr*| 	  n
| 	|	 qW |   |}nj|d ksf|d	ksf|dkr||k r||| }|  jt|7  _| jr|| j}| j| |}|dkrd
}|  jd7  _| jr|| j}| j| |d }|d k	r|dk}|dk}|d7 }q W |  dd d S )Nr   TFr   r   r   u	   
  r   u
    
  z''r   )
rX   rJ   r,   r3   rY   r   r   r   r   r   )
r   textr   spacesbreaksr   r   r   r   brr	   r	   r
   r   V  sb    





zEmitter.write_single_quotedr   r   btnvfrer   \N_LP) 	r   r   r   r   r   r   u    u    c             C   s  |  dd d }}xp|t|krd }|t|k r>|| }|d ks|dksd|  krddksn | jrd|  krdksn d	|  krd
ksn ||k r||| }|  jt|7  _| jr|| j}| j| |}|d k	r|| jkr
d| j|  }n<|dkr"dt	| }n$|dkr:dt	| }ndt	| }|  jt|7  _| jrl|| j}| j| |d }d|  k rt|d k r|n n|dks||kr|| j||  | j
kr||r|||| d }||k r|}|  jt|7  _| jr|| j}| j| |   d| _d| _|| dkr|d}|  jt|7  _| jrp|| j}| j| |d7 }qW |  dd d S )Nr   Tr   u   "\  ﻿r   r   r   u   ퟿u   u   �r      ÿz\x%02Xu   ￿z\u%04Xz\U%08Xr   F)rX   rJ   r1   r,   r   r   r   r   ESCAPE_REPLACEMENTSr   r3   rY   r-   r.   )r   r   r   r   r   r   r   r	   r	   r
   r     sf    


8
zEmitter.write_double_quotedc             C   s\   d}|rX|d dkr"|t | j7 }|d dkr8|d7 }n t|dksP|d dkrX|d	7 }|S )
Nr   r   u
    
  rF   u	   
  r   r   +)strr2   rJ   )r   r   hintsr	   r	   r
   determine_block_hints  s    
zEmitter.determine_block_hintsc             C   s  |  |}| d| d |dd  dkr0d| _|   d}d}d}d }}x|t|krd }|t|k rv|| }|r|d ks|dkr|s|d k	r|dkr|| d	kr|   |dk}x0||| D ] }	|	d	kr|   q| |	 qW |d k	r|   |}n|r|dkr|d
 |kr>| j| jkr>|   n>||| }
|  jt|
7  _| jrp|
	| j}
| j
|
 |}nh|d ks|dkr||| }
|  jt|
7  _| jr|
	| j}
| j
|
 |d kr|   |}|d k	r|dk}|dk}|d
7 }qPW d S )Nr   TrF   r   Fr   u	   
  r   r   r   u
    
  )r   rX   r/   r   rJ   rY   r,   r3   r   r   r   r   )r   r   r   r   r   r   r   r   r   r   r   r	   r	   r
   r     sb    






zEmitter.write_foldedc       	      C   s<  |  |}| d| d |dd  dkr0d| _|   d}d }}x|t|kr6d }|t|k rl|| }|r|d ks|dkrx0||| D ] }|dkr|   q| | qW |d k	r|   |}nR|d ks|dkr||| }| jr|| j}| j	| |d kr|   |}|d k	r,|dk}|d7 }qFW d S )	Nr   TrF   r   r   u	   
  r   r   )
r   rX   r/   r   rJ   rY   r   r   r   r   )	r   r   r   r   r   r   r   r   r   r	   r	   r
   r     s>    



zEmitter.write_literalc       
      C   s  | j rd| _|sd S | jsNd}|  jt|7  _| jrB|| j}| j| d| _d| _	d}d}d }}x|t|kr
d }|t|k r|| }|r|dkr|d |kr| j| j
kr|r|   d| _d| _	n>||| }|  jt|7  _| jr|| j}| j| |}n|r|dkr|| dkr@|   x4||| D ]$}	|	dkrf|   n
| |	 qNW |   d| _d| _	|}nV|d ks|dkr||| }|  jt|7  _| jr|| j}| j| |}|d k	r |dk}|dk}|d7 }qnW d S )	NTr   Fr   r   u	   
  r   u
    
  )r'   r/   r-   r,   rJ   r   r   r   r   r.   r3   rY   r   )
r   r   r   r   r   r   r   r   r   r   r	   r	   r
   r   8  sl    




zEmitter.write_plain)NNNNN)FF)F)FFFF)F)F)FF)N)T)T)T)@r   r   r   r\   r   r;   r?   r=   rC   rO   r    rS   rR   rU   rn   re   rp   rs   rw   ry   r   r   r|   r   r   r   r   rz   r   r   r}   r   r   r   r   rx   r{   rd   r   ru   rv   r   r   rZ   r`   ra   r   r   r   rm   rQ   rf   rX   rY   r   r[   rb   r   r   r   r   r   r   r   r	   r	   r	   r
   r      s    
C	


$ 
	


$
 #

	
7
66#N)__all__errorr   r"   r   r   r   r	   r	   r	   r
   <module>	   s
   