3 \@sdZddlZddlZdddZdddZGdd d ejZGd d d ejZGd d d ejZGdddeejZGdddeej Z ddZ dS)zPython 'hex_codec' Codec - 2-digit hex content transfer encoding. This codec de/encodes from bytes to bytes. Written by Marc-Andre Lemburg (mal@lemburg.com). NstrictcCs|dks ttj|t|fS)Nr)AssertionErrorbinasciib2a_hexlen)inputerrorsr !/usr/lib64/python3.6/hex_codec.py hex_encode s r cCs|dks ttj|t|fS)Nr)rra2b_hexr)rrr r r hex_decodes r c@s eZdZdddZdddZdS) CodecrcCs t||S)N)r )selfrrr r r encodesz Codec.encodecCs t||S)N)r )rrrr r r decodesz Codec.decodeN)r)r)__name__ __module__ __qualname__rrr r r r rs rc@seZdZdddZdS)IncrementalEncoderFcCs|jdksttj|S)Nr)rrrr)rrfinalr r r rszIncrementalEncoder.encodeN)F)rrrrr r r r rsrc@seZdZdddZdS)IncrementalDecoderFcCs|jdksttj|S)Nr)rrrr )rrrr r r r!szIncrementalDecoder.decodeN)F)rrrrr r r r r src@seZdZeZdS) StreamWriterN)rrrbytescharbuffertyper r r r r%src@seZdZeZdS) StreamReaderN)rrrrrr r r r r(src CstjdttttttddS)NhexF)namerrincrementalencoderincrementaldecoder streamwriter streamreader_is_text_encoding)codecs CodecInfor r rrrrr r r r getregentry-sr%)r)r) __doc__r#rr r rrrrrr%r r r r s