PNG  IHDR;IDATxܻn0K )(pA 7LeG{ §㻢|ذaÆ 6lذaÆ 6lذaÆ 6lom$^yذag5bÆ 6lذaÆ 6lذa{ 6lذaÆ `}HFkm,mӪôô! x|'ܢ˟;E:9&ᶒ}{v]n&6 h_tڠ͵-ҫZ;Z$.Pkž)!o>}leQfJTu іچ\X=8Rن4`Vwl>nG^is"ms$ui?wbs[m6K4O.4%/bC%t Mז -lG6mrz2s%9s@-k9=)kB5\+͂Zsٲ Rn~GRC wIcIn7jJhۛNCS|j08yiHKֶۛkɈ+;SzL/F*\Ԕ#"5m2[S=gnaPeғL lذaÆ 6l^ḵaÆ 6lذaÆ 6lذa; _ذaÆ 6lذaÆ 6lذaÆ RIENDB`  lYV @sdZddddgZdZdZdZdZyd d lmZmZWne k rjd Zd ZYnXd d Z ddZ dddZ ddddZ dddZdddZddZddZddZedkred S)zHConversions to/from quoted-printable transport encoding as per RFC 1521.encodedecode encodestring decodestring=Ls0123456789ABCDEF)a2b_qpb2a_qpNcCs\t|tst|dkr%|S|dkr5|S|tkp[d|koXdkn S)zDecide whether a particular byte ordinal needs to be quoted. The 'quotetabs' flag indicates whether embedded tabs and spaces should be quoted. Note that line-ending tabs and spaces are always encoded, as per RFC 1521. s _ ~) isinstancebytesAssertionErrorESCAPE)c quotetabsheaderr%/opt/python35/lib/python3.5/quopri.py needsquotings   rcCsWt|tr!t|dks'tt|}ttt|dt|dfS)zQuote a single character.)rrlenrordrHEX)rrrrquote$s' rFc Cstdk rA|j}t|d|d|}|j|dS|ddd}d}x2|j}|soPg} d} |d ddkr|dd}d} xj|D]b} t| f} t| ||rt| } |r| d kr| jd q| j| qW|dk r*||tj | } xHt | t kr|| dt dd d | t dd} q<W| }q\W|dk r||d | dS)avRead 'input', apply quoted-printable encoding, and write to 'output'. 'input' and 'output' are binary file objects. The 'quotetabs' flag indicates whether embedded tabs and spaces should be quoted. Note that line-ending tabs and spaces are always encoded, as per RFC 1521. The 'header' flag indicates whether we are encoding spaces as _ as per RFC 1522.Nrrs cSs|rN|dddkrN|j|ddt|dd|n7|dkrt|jt||n|j||dS)Nrs .rr)writer)soutputlineEndrrrr ;s 2 zencode..writerrr r r#s= rr) r readr readlinerrrappend EMPTYSTRINGjoinr MAXLINESIZE) inputr"rrdataodatar ZprevlinelineZoutlinestrippedrZthislinerrrr,s@           cCsdtdk r"t|d|d|Sddlm}||}|}t|||||jS)Nrrr)BytesIO)r ior/rgetvalue)r!rrr/infpoutfprrrrjs   c Cstdk r;|j}t|d|}|j|dSd}x.|j}|sWPdt|}}|dkr||d|dkrd} |d}x=|dkr||d|dkr|d}qWnd} xn||krP|||d} | dkr,|r,|d }|d}q| tkrO|| }|d}q|d|krp| rpd} Pq|d|kr||d|d tkr|t}|d }q|d |kr9t||d|d r9t||d |d r9|tt||d|d f}|d }q|| }|d}qW| sD|j|dd}qDW|r|j|dS) zRead 'input', apply quoted-printable decoding, and write to 'output'. 'input' and 'output' are binary file objects. If 'header' is true, decode underscore as space (per RFC 1522).Nrrrrs s r r ) r r$r r%rrishexrunhex) r*r"rr+r,newr-inpartialrrrrrusR    & )   . L+   cCs^tdk rt|d|Sddlm}||}|}t||d||jS)Nrr)r/)r r0r/rr1)r!rr/r2r3rrrrs   cCset|tstd|ko,dknpdd|koHdknpdd|kobdkSS)zDReturn true if the byte ordinal 'c' is a hexadecimal digit in ASCII.09afAF)rrr)rrrrr6sr6cCsd}x|D]}t|f}d|ko9dknrMtd}nzd|koddknr|tdd}nKd |kod knrtd d}nd std t||d t||}q W|S)z.Get the integer value of a hexadecimal number.rr<r=0r>r?a r@rAFznon-hex digit r)rrrrepr)r!bitsrr9rrrr7s r7c (Cs)ddl}ddl}y)|j|jddd\}}Wni|jk r}zF|j|_t|tdtdtd|jdWYdd}~XnXd}d}x8|D]0\}}|dkrd}|d krd}qW|r#|r#|j|_td |jd|s2d g}d} x|D]} | d kr`|jj } n^yt | d } WnHt k r}z(|jj d | |fd} w?WYdd}~XnXz6|rt | |jj nt| |jj |Wd| d kr | jXq?W| r%|j| dS)NrrZtdz"usage: quopri [-t | -d] [file] ...z-t: quote tabsz-d: decode; default encoder4z-tz-dz -t and -d are mutually exclusive-rbz%s: can't open (%s) )sysgetoptargverrorstderrstdoutprintexitstdinbufferopenOSErrorr rrclose) rIrJZoptsargsmsgZdecoZtabsorCstsfilefprrrmainsT  )                r\__main__)__doc____all__rr)rr'Zbinasciir r ImportErrorrrrrrrr6r7r\__name__rrrrs*    > +   .