B Ïñ¢dþ§ã@sLddgZddlmZddlTGdd„deƒZGdd„dƒZGdd„dƒZd S) ÚEmitterÚ EmitterErroré)Ú YAMLError)Ú*c@s eZdZdS)rN)Ú__name__Ú __module__Ú __qualname__©r r ú3/tmp/pip-target-jj3kjtpb/lib/python/yaml/emitter.pyrsc@seZdZdd„ZdS)ÚScalarAnalysisc Cs4||_||_||_||_||_||_||_||_dS)N)ÚscalarÚemptyÚ multilineÚallow_flow_plainÚallow_block_plainÚallow_single_quotedÚallow_double_quotedÚ allow_block) Úselfr r rrrrrrr r r Ú__init__szScalarAnalysis.__init__N)rrrrr r r r r sr c@s(eZdZdddœZddd„Zdd„Zd d „Zd d „Zd d„ZdŽdd„Z dd„Z dd„Z dd„Z ddd„Z dd„Zdd„Zddd„Zd d!„Zd"d#„Zd$d%„Zd&d'„Zd(d)„Zd*d+„Zd,d-„Zd.d/„Zd0d1„Zd2d3„Zd4d5„Zd6d7„Zd‘d8d9„Zd:d;„Zdd?„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„Z3d“dfdg„Z4dhdi„Z5d”djdk„Z6dldm„Z7dndo„Z8d•dqdr„Z9dsdtdudvdwdxdydzd{d|d}d~dd€dd‚œZ:d–dƒd„„Z;d…d†„Zd—d‹dŒ„Z?dS)˜rú!z!!)rztag:yaml.org,2002:NcCsö||_d|_g|_|j|_g|_d|_g|_d|_d|_ d|_ d|_ d|_ d|_ d|_d|_d|_d|_d|_||_||_d|_|r¢d|kr˜dkr¢nn||_d|_|rÀ||jdkrÀ||_d|_|d krÔ||_d|_d|_d|_d|_d|_dS) NéFTéré éPÚ )ú rz )Ú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)rrr0r%Úwidthr1Z line_breakr r r r&sDzEmitter.__init__cCsg|_d|_dS)N)rr!)rr r r ÚdisposejszEmitter.disposecCs:|j |¡x(| ¡s4|j d¡|_| ¡d|_qWdS)Nr)r"ÚappendÚneed_more_eventsÚpopr#r!)rr#r r r Úemitos   z Emitter.emitcCsX|js dS|jd}t|tƒr(| d¡St|tƒr<| d¡St|tƒrP| d¡SdSdS)NTrrréF)r"Ú isinstanceÚDocumentStartEventÚ need_eventsÚSequenceStartEventÚMappingStartEvent)rr#r r r r=xs       zEmitter.need_more_eventscCsxd}x`|jdd…D]N}t|ttfƒr0|d7}n&t|ttfƒrH|d8}nt|tƒrVd}|dkrdSqWt|jƒ|dkS)NrréÿÿÿÿF)r"rArBÚCollectionStartEventÚDocumentEndEventZCollectionEndEventÚStreamEndEventÚlen)rÚcountÚlevelr#r r r rC…s   zEmitter.need_eventsFcCsF|j |j¡|jdkr.|r&|j|_qBd|_n|sB|j|j7_dS)Nr)r$r<r%r2)rÚflowÚ indentlessr r r Úincrease_indent’s  zEmitter.increase_indentcCsNt|jtƒr<|jjr*t|jdƒs*|jj|_| ¡|j|_nt d|jƒ‚dS)Nrz%expected StreamStartEvent, but got %s) rAr#ZStreamStartEventrÚhasattrrÚwrite_stream_startÚexpect_first_document_startr!r)rr r r r  s   zEmitter.expect_stream_startcCstd|jƒ‚dS)Nzexpected nothing, but got %s)rr#)rr r r Úexpect_nothingªszEmitter.expect_nothingcCs |jddS)NT)Úfirst)Úexpect_document_start)rr r r rR¯sz#Emitter.expect_first_document_startc Csvt|jtƒr(|jjs|jjr8|jr8| dd¡| ¡|jjrX| |jj¡}|  |¡|j   ¡|_ |jjrÀt |jj ¡ƒ}xB|D]:}|jj|}||j |<| |¡}| |¡}| ||¡q‚W|oò|jj oò|j oò|jj oò|jj oò| ¡ }|s| ¡| dd¡|jr| ¡|j|_nJt|jtƒrd|jrR| dd¡| ¡| ¡|j|_ntd|jƒ‚dS)Nz...Tz---z'expected DocumentStartEvent, but got %s)rAr#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_endrSr) rrTÚ version_textZhandlesÚhandleÚprefixÚ handle_textÚ prefix_textÚimplicitr r r rU²sB             zEmitter.expect_document_startcCsTt|jtƒrB| ¡|jjr0| dd¡| ¡| ¡|j|_nt d|jƒ‚dS)Nz...Tz%expected DocumentEndEvent, but got %s) rAr#rHrYrcrXÚ flush_streamrUr!r)rr r r Úexpect_document_endÖs   zEmitter.expect_document_endcCs|j |j¡|jdddS)NT)Úroot)rr<rnÚ expect_node)rr r r reâszEmitter.expect_document_rootcCsð||_||_||_||_t|jtƒr.| ¡n¾t|jtt fƒrÞ|  d¡|  ¡t|jtƒrf|  ¡qìt|jt ƒr¢|jsŽ|jsŽ|jjsŽ| ¡r˜| ¡qÜ| ¡qìt|jtƒrì|jsÊ|jsÊ|jjsÊ| ¡rÔ| ¡qì| ¡ntd|jƒ‚dS)Nú&zexpected NodeEvent, but got %s)r'r(r)r*rAr#Ú AliasEventÚ expect_aliasÚ ScalarEventrGÚprocess_anchorÚ process_tagÚ expect_scalarrDr&r0Z flow_styleÚcheck_empty_sequenceÚexpect_flow_sequenceÚexpect_block_sequencerEÚcheck_empty_mappingÚexpect_flow_mappingÚexpect_block_mappingr)rroÚsequenceÚmappingÚ simple_keyr r r rpès,           zEmitter.expect_nodecCs.|jjdkrtdƒ‚| d¡|j ¡|_dS)Nz!anchor is not specified for aliasr)r#Úanchorrrurr>r!)rr r r rss  zEmitter.expect_aliascCs0|jdd| ¡|j ¡|_|j ¡|_dS)NT)rM)rOÚprocess_scalarr$r>r%rr!)rr r r rw s  zEmitter.expect_scalarcCs6|jdddd|jd7_|jdd|j|_dS)Nú[T)r-r)rM)rXr&rOÚexpect_first_flow_sequence_itemr!)rr r r rys zEmitter.expect_flow_sequencecCsxt|jtƒr@|j ¡|_|jd8_| dd¡|j ¡|_ n4|j sR|j |j krZ|  ¡|j |j¡|jdddS)Nrú]FT)r~)rAr#ÚSequenceEndEventr$r>r%r&rXrr!r0r,r3rYr<Úexpect_flow_sequence_itemrp)rr r r r„s   z'Emitter.expect_first_flow_sequence_itemcCsžt|jtƒrZ|j ¡|_|jd8_|jr@| dd¡|  ¡| dd¡|j  ¡|_ n@| dd¡|jsx|j |j kr€|  ¡|j  |j¡|jdddS)Nrú,Fr…T)r~)rAr#r†r$r>r%r&r0rXrYrr!r,r3r<r‡rp)rr r r r‡$s     z!Emitter.expect_flow_sequence_itemcCs6|jdddd|jd7_|jdd|j|_dS)NÚ{T)r-r)rM)rXr&rOÚexpect_first_flow_mapping_keyr!)rr r r r|6s zEmitter.expect_flow_mappingcCs°t|jtƒr@|j ¡|_|jd8_| dd¡|j ¡|_ nl|j sR|j |j krZ|  ¡|j s†| ¡r†|j |j¡|jdddn&| dd¡|j |j¡|jdddS)NrÚ}FT)rr€ú?)r)rAr#ÚMappingEndEventr$r>r%r&rXrr!r0r,r3rYÚcheck_simple_keyr<Ú expect_flow_mapping_simple_valuerpÚexpect_flow_mapping_value)rr r r rŠ<s    z%Emitter.expect_first_flow_mapping_keycCsÖt|jtƒrZ|j ¡|_|jd8_|jr@| dd¡|  ¡| dd¡|j  ¡|_ nx| dd¡|jsx|j |j kr€|  ¡|js¬| ¡r¬|j  |j¡|jdddn&| dd¡|j  |j¡|jdddS) NrrˆFr‹T)rr€rŒ)r)rAr#rr$r>r%r&r0rXrYrr!r,r3rŽr<rrpr)rr r r Úexpect_flow_mapping_keyMs"      zEmitter.expect_flow_mapping_keycCs*| dd¡|j |j¡|jdddS)Nú:FT)r)rXrr<r‘rp)rr r r rbs z(Emitter.expect_flow_mapping_simple_valuecCsD|js|j|jkr| ¡| dd¡|j |j¡|jdddS)Nr’T)r) r0r,r3rYrXrr<r‘rp)rr r r rgs  z!Emitter.expect_flow_mapping_valuecCs(|jo |j }|jd|d|j|_dS)NF)rMrN)r)r.rOÚ expect_first_block_sequence_itemr!)rrNr r r rzpszEmitter.expect_block_sequencecCs |jddS)NT)rT)Úexpect_block_sequence_item)rr r r r“usz(Emitter.expect_first_block_sequence_itemcCs`|s*t|jtƒr*|j ¡|_|j ¡|_n2| ¡|j dddd|j  |j ¡|j dddS)Nú-T)r.)r~) rAr#r†r$r>r%rr!rYrXr<r”rp)rrTr r r r”xs z"Emitter.expect_block_sequence_itemcCs|jdd|j|_dS)NF)rM)rOÚexpect_first_block_mapping_keyr!)rr r r r}„s zEmitter.expect_block_mappingcCs |jddS)NT)rT)Úexpect_block_mapping_key)rr r r r–ˆsz&Emitter.expect_first_block_mapping_keycCs†|s*t|jtƒr*|j ¡|_|j ¡|_nX| ¡|  ¡rX|j  |j ¡|j dddn*|j dddd|j  |j¡|j dddS)NT)rr€rŒ)r.)r)rAr#rr$r>r%rr!rYrŽr<Ú!expect_block_mapping_simple_valuerprXÚexpect_block_mapping_value)rrTr r r r—‹s z Emitter.expect_block_mapping_keycCs*| dd¡|j |j¡|jdddS)Nr’FT)r)rXrr<r—rp)rr r r r˜™s z)Emitter.expect_block_mapping_simple_valuecCs6| ¡|jdddd|j |j¡|jdddS)Nr’T)r.)r)rYrXrr<r—rp)rr r r r™žsz"Emitter.expect_block_mapping_valuecCs"t|jtƒo |jo t|jdtƒS)Nr)rAr#rDr"r†)rr r r rx¦szEmitter.check_empty_sequencecCs"t|jtƒo |jo t|jdtƒS)Nr)rAr#rEr"r)rr r r r{ªszEmitter.check_empty_mappingcCsNt|jtƒr|jsdS|jd}t|tƒoL|jdkoL|jdkoL|joL|jdkS)NFrÚ) rAr#rBr"rtrÚtagrlÚvalue)rr#r r r rd®s  zEmitter.check_empty_documentcCs d}t|jtƒrD|jjdk rD|jdkr6| |jj¡|_|t|jƒ7}t|jttfƒrˆ|jj dk rˆ|j dkrz|  |jj ¡|_ |t|j ƒ7}t|jtƒr¾|j dkr®|  |jj¡|_ |t|j jƒ7}|dkot|jtƒpt|jtƒrø|j j rø|j j p| ¡p| ¡S)Nré€)rAr#Z NodeEventrr6Úprepare_anchorrJrtrGr›r7Ú prepare_tagr8Úanalyze_scalarrœr rrr rrxr{)rÚlengthr r r rŽµs$      zEmitter.check_simple_keycCsR|jjdkrd|_dS|jdkr0| |jj¡|_|jrH| ||jd¡d|_dS)NT)r#rr6ržrX)rÚ indicatorr r r ruËs  zEmitter.process_anchorcCsð|jj}t|jtƒrŒ|jdkr(| ¡|_|jr6|dkrl|jdkrL|jjdsb|jdkrl|jjdrld|_dS|jjdr¬|dkr¬d}d|_n |jrš|dkr¬|jjr¬d|_dS|dkr¼t dƒ‚|jdkrÒ|  |¡|_|jræ|  |jd¡d|_dS)Nršrrrztag is not specifiedT) r#r›rArtr9Úchoose_scalar_styler0rlr7rrŸrX)rr›r r r rvÕs,     zEmitter.process_tagcCsÜ|jdkr| |jj¡|_|jjdks,|jr0dS|jjsz|jjdrz|jrZ|jjsz|jj sz|j rh|jj sv|j sz|jj rzdS|jjrª|jjdkrª|j sª|jsª|jj rª|jjS|jjr¾|jjdkrØ|jjrØ|jrÔ|jj sØdSdS)Nú"rršz|>ú')r8r r#rœr9r0rlr*r rr&rrrr)rr r r r£îs&  zEmitter.choose_scalar_stylecCsÂ|jdkr| |jj¡|_|jdkr.| ¡|_|j }|jdkrR| |jj|¡n`|jdkrn|  |jj|¡nD|jdkrˆ|  |jj¡n*|jdkr¢|  |jj¡n|  |jj|¡d|_d|_dS)Nr¤r¥ú>ú|) r8r r#rœr9r£r*Úwrite_double_quotedr Úwrite_single_quotedÚ write_foldedÚ write_literalÚ write_plain)rÚsplitr r r r‚s        zEmitter.process_scalarcCs,|\}}|dkr td||fƒ‚d||fS)Nrzunsupported YAML version: %d.%dz%d.%d)r)rrVÚmajorÚminorr r r rZszEmitter.prepare_versioncCs¤|s tdƒ‚|ddks$|ddkr0td|ƒ‚xn|dd…D]^}d|krVdks>nd |krld ks>nd |kr‚d ks>n|d ks>td||fƒ‚q>W|S)Nztag handle must not be emptyrrrFz*tag handle must start and end with '!': %rrÚ0Ú9ÚAÚZÚaÚzz-_z*invalid character %r in the tag handle: %r)r)rrhÚchr r r r`!s BzEmitter.prepare_tag_handlecCs |s tdƒ‚g}d}}|ddkr(d}x¼|t|ƒkrä||}d|krRdksˆnd|krhdksˆnd |kr~d ksˆn|d kr’|d7}q*||kr¬| |||…¡|d}}| d ¡}x|D]}| d t|ƒ¡qÈWq*W||kr| |||…¡d |¡S)Nztag prefix must not be emptyrrrr°r±r²r³r´rµz-;/?!:@&=+$,_.~*'()[]zutf-8z%%%02Xrš)rrJr<ÚencodeÚordÚjoin)rriÚchunksÚstartÚendr¶Údatar r r ra-s( B     zEmitter.prepare_tag_prefixc Csœ|s tdƒ‚|dkr|Sd}|}t|j ¡ƒ}xH|D]@}| |¡r4|dksZt|ƒt|ƒkr4|j|}|t|ƒd…}q4Wg}d}}xÒ|t|ƒkrV||} d| kr°dksúnd| krÆdksúnd| krÜd ksún| d ksú| dkr|dkr|d 7}q†||kr | |||…¡|d }}|  d ¡} x| D]} | d | ¡q) rr^r5r_Ú startswithrJr<r·r¹) rr›rhÚsuffixÚprefixesrirºr»r¼r¶r½Z suffix_textr r r rŸDs@   B        zEmitter.prepare_tagcCsx|s tdƒ‚xf|D]^}d|kr*dksnd|kr@dksnd|krVdksn|dkstd ||fƒ‚qW|S) Nzanchor must not be emptyr°r±r²r³r´rµz-_z&invalid character %r in the anchor: %r)r)rrr¶r r r ržhs BzEmitter.prepare_anchorc Cs4|st|ddddddddSd}d}d}d}d}d}d}d} d} d} | d¡sX| d¡r`d}d}d} t|ƒdkpz|ddk} d}d}d}x|t|ƒkrŒ||}|dkrä|d krºd}d}|d krÎd}| rÎd}|d krâ| râd}d}n<|d krðd}|d krd}| rd}|dkr | r d}d}|dkr.d}|dksÌd|krPdksÌn|dks¬d|krtdks¬nd|krŽdks¬nd|kr¨dkrÈnn|dkrÈd}|jsÌd}nd}|dkr|dkräd}|t|ƒdkrúd}|rd} d}d}nJ|dkrP|dkr&d}|t|ƒdkr'"%@`z?:r•z,?[]{}r’ú#u …

rú ú~õÂ…õ u퟿uu�uð€€uô¿¿u)r r¾rJr1)rr Zblock_indicatorsZflow_indicatorsZ line_breaksZspecial_charactersÚ leading_spaceZ leading_breakZtrailing_spaceZtrailing_breakZ break_spaceZ space_breakZpreceded_by_whitespaceZfollowed_by_whitespaceZprevious_spaceZprevious_breakÚindexr¶Zunicode_charactersrrrrrr r r r rsÖ     $$&        zEmitter.analyze_scalarcCst|jdƒr|j ¡dS)NÚflush)rPrrÈ)rr r r rms zEmitter.flush_streamcCs*|jr&|j d¡r&|j d |j¡¡dS)Nzutf-16u)rr¾rÚwriter·)rr r r rQszEmitter.write_stream_startcCs | ¡dS)N)rm)rr r r rfszEmitter.write_stream_endcCsd|js |s|}nd|}||_|jo&||_|jt|ƒ7_d|_|jrT| |j¡}|j |¡dS)NrÂF) r-r.r,rJr/rr·rrÉ)rr¢Zneed_whitespacer-r.r½r r r rX s   zEmitter.write_indicatorcCsx|jpd}|jr*|j|ks*|j|kr2|js2| ¡|j|krtd|_d||j}||_|jrh| |j¡}|j |¡dS)NrTrÂ) r%r.r,r-Úwrite_line_breakrr·rrÉ)rr%r½r r r rY.s   zEmitter.write_indentcCsP|dkr|j}d|_d|_|jd7_d|_|jr@| |j¡}|j |¡dS)NTrr) r4r-r.r+r,rr·rrÉ)rr½r r r rÊ;s zEmitter.write_line_breakcCs2d|}|jr| |j¡}|j |¡| ¡dS)Nz %%YAML %s)rr·rrÉrÊ)rrgr½r r r r[Fs   zEmitter.write_version_directivecCs6d||f}|jr| |j¡}|j |¡| ¡dS)Nz %%TAG %s %s)rr·rrÉrÊ)rrjrkr½r r r rbMs    zEmitter.write_tag_directiveTc Cs,| dd¡d}d}d}}xü|t|ƒkrd}|t|ƒkrF||}|rÖ|dksZ|dkrÔ|d|kr”|j|jkr”|r”|dkr”|t|ƒkr”| ¡n<|||…}|jt|ƒ7_|jrÄ| |j¡}|j |¡|}nÜ|rH|dksî|dkr²||dkr|  ¡x4|||…D]$} | dkr*|  ¡n |  | ¡qW| ¡|}nj|dksf|d ksf|dkr²||kr²|||…}|jt|ƒ7_|jr¢| |j¡}|j |¡|}|dkröd }|jd 7_|jrâ| |j¡}|j |¡|d}|dk r|dk}|dk}|d7}q W| dd¡dS) Nr¥TFrrÂru …

ru …

z''r) rXrJr,r3rYrr·rrÉrÊ) rÚtextr­ÚspacesÚbreaksr»r¼r¶r½Úbrr r r r©Vsb                 zEmitter.write_single_quotedr°r´ÚbÚtÚnÚvÚfÚrÚer¤ú\ÚNÚ_ÚLÚP)úúúú rú ú rúr¤rÖrÄrÅu
u
cCs˜| dd¡d}}xp|t|ƒkr†d}|t|ƒkr>||}|dksœ|dksœd|krddks€n|jrœd|kr‚dks€nd |kršd ks€n||krä|||…}|jt|ƒ7_|jrÔ| |j¡}|j |¡|}|dk r€||jkr d |j|}n<|d kr"d t |ƒ}n$|dkr:dt |ƒ}n dt |ƒ}|jt|ƒ7_|jrl| |j¡}|j |¡|d}d|kr t|ƒdkr|nnØ|dks¸||kr||j|||j kr||r||||…d }||krò|}|jt|ƒ7_|jr| |j¡}|j |¡|  ¡d|_ d|_ ||dkr|d }|jt|ƒ7_|jrp| |j¡}|j |¡|d7}qW| dd¡dS)Nr¤Tru "\…

rÂrÃrÅu퟿uu�rÖõÿz\x%02Xuï¿¿z\u%04Xz\U%08XrF)rXrJr1r,rr·rrÉÚESCAPE_REPLACEMENTSr¸r3rYr-r.)rrËr­r»r¼r¶r½r r r r¨žsf            8      zEmitter.write_double_quotedcCs\d}|rX|ddkr"|t|jƒ7}|ddkr8|d7}n t|ƒdksP|ddkrX|d 7}|S) Nršru …

rFu …

r•réþÿÿÿú+)Ústrr2rJ)rrËÚhintsr r r Údetermine_block_hintsÔs   zEmitter.determine_block_hintsc Cs| |¡}| d|d¡|dd…dkr0d|_| ¡d}d}d}d}}xÀ|t|ƒkrd}|t|ƒkrv||}|r|dksŽ|dkrê|s¶|dk r¶|dkr¶||d kr¶| ¡|dk}x0|||…D] } | d krâ| ¡qÌ| | ¡qÌW|dk r| ¡|}nâ|r‚|dkrê|d |kr>|j|jkr>| ¡n>|||…} |jt| ƒ7_|jrp|   |j¡} |j   | ¡|}nh|dks–|d krê|||…} |jt| ƒ7_|jrÈ|   |j¡} |j   | ¡|dkræ| ¡|}|dk r|dk}|dk}|d 7}qPWdS) Nr¦TrFråFru …

rÂrru …

) rèrXr/rÊrJrYr,r3rr·rrÉ) rrËrçrÆrÌrÍr»r¼r¶rÎr½r r r rªßsb               zEmitter.write_foldedc Cs<| |¡}| d|d¡|dd…dkr0d|_| ¡d}d}}xò|t|ƒkr6d}|t|ƒkrl||}|rÈ|dks€|dkrÆx0|||…D] }|dkr¤| ¡qŽ| |¡qŽW|dk rÂ| ¡|}nR|dksÚ|dkr|||…}|jrø| |j¡}|j  |¡|dkr| ¡|}|dk r,|dk}|d7}qFWdS) Nr§TrFråru …

rr) rèrXr/rÊrJrYrr·rrÉ) rrËrçrÍr»r¼r¶rÎr½r r r r«s>        zEmitter.write_literalc Cs|jr d|_|sdS|jsNd}|jt|ƒ7_|jrB| |j¡}|j |¡d|_d|_ d}d}d}}xž|t|ƒkr d}|t|ƒkr”||}|r|dkræ|d|krÖ|j|j krÖ|rÖ|  ¡d|_d|_ n>|||…}|jt|ƒ7_|jr| |j¡}|j |¡|}nÌ|r|dkræ||dkr@|  ¡x4|||…D]$} | dkrf|  ¡n |  | ¡qNW|  ¡d|_d|_ |}nV|dks¤|dkræ|||…}|jt|ƒ7_|jrÖ| |j¡}|j |¡|}|dk r|dk}|dk}|d7}qnWdS) NTrÂFrru …

ru …

) r'r/r-r,rJrr·rrÉr.r3rYrÊ) rrËr­r½rÌrÍr»r¼r¶rÎr r r r¬8sl              zEmitter.write_plain)NNNNN)FF)F)FFFF)F)F)FF)N)T)T)T)@rrrr\rr;r?r=rCrOr rSrRrUrnrerprsrwryr„r‡r|rŠr‘rrrzr“r”r}r–r—r˜r™rxr{rdrŽrurvr£r‚rZr`rarŸržr rmrQrfrXrYrÊr[rbr©rãr¨rèrªr«r¬r r r r rsž C     $        $ #   7 6 6#N)Ú__all__Úerrorrr"rr rr r r r Ú s