\d dZddlZGddejZGddejZGddejZGd d eejZGd d eejZd Zeje dZ e idddddddddddddddddd d!d"d#d$d%d&d'd(ddddddddiddddddddd dd"d!d$d#d&d%d(d'd)d*d+d,d-d.d/d0d1d2d3d4d5d6d7d8id9d:d;d<d=d>d?d@dAdBd*d)d,d+d.d-d0d/d2d1d4d3d6d5d8d7d:d9dd=d@d?dBdAidCZ e dDkrddlZe ejejdSdS)Ez Python Character Mapping Codec for ROT13. This codec de/encodes from str to str. Written by Marc-Andre Lemburg (mal@lemburg.com). NceZdZddZddZdS)Codecstrictc`t|tt|fSNstr translate rot13_maplenselfinputerrorss !..\python\lib\encodings\rot_13.pyencodez Codec.encode! eY//U<<c`t|tt|fSrrr s rdecodez Codec.decoderrN)r)__name__ __module__ __qualname__rrrrrr s<==========rrceZdZddZdS)IncrementalEncoderFcBt|tSrr r r rrfinals rrzIncrementalEncoder.encode}}UI...rNF)rrrrrrrrr(//////rrceZdZddZdS)IncrementalDecoderFcBt|tSrrrs rrzIncrementalDecoder.decoder!rNr")rrrrrrrr%r%r#rr%ceZdZdS) StreamWriterNrrrrrrr(r(Drr(ceZdZdS) StreamReaderNr)rrrr,r,r*rr,c tjdtjtjt t ttdS)Nrot-13F)namerrincrementalencoderincrementaldecoder streamwriter streamreader_is_text_encoding) codecs CodecInforrrrr%r(r,rrr getregentryr7$s@   ww~ww~--!!    rANBOCPDQERFSGTHUIVJWKXLYMZanbocpdqerfsgthuivjwkxlymzcz|tj|ddS)Nr.)writer5rread)infileoutfiles rrot13rrls. MM&- x8899999r__main__)__doc__r5rrr%r(r,r7make_identity_dictranger updaterrrsysstdinstdoutrrrr{s? =====FL===/////2////////2///     5,        5,      &F %eeCjj 1 1 5 65 65 65 6 5  6 5  6 5 65 65 65 65 65 65 65 65 65  6!5" 6#55$ 6%5& 6'5( 6)5* 6+5, 6-5. 6/50 6152 6354 6556 6758 695: 6;5< 6=5> 6?5@ 6A5B 6C5D 6E555F 6G5H 6I5J 6K5L 6M5N 6O5P 6Q5R 6S5T 6U5V 6W5X 6Y5Z 6[5\ 6]5^ 6_5` 6a5b 6c5d 6e5f 6g55h 6i55555r::: zJJJ E#)SZ     r