o |nh^ @sddlZddlZddlmZmZmZddlmZmZm Z m Z m Z e dZ GdddejZGdd d ejZGd d d ejZGd d d eejZGdddeejZdedeejfddZeedS)N)AnyOptionalTuple) IDNAErroralabeldecodeencodeulabelu [.。.。]c @sLeZdZd dededeeeffddZd dededeeeffddZd S) CodecstrictdataerrorsreturncC.|dkr td||sdSt|t|fS)Nr Unsupported error handling "{}"r)rformatr lenselfr rrB/usr/local/bin/dhwp/env/lib/python3.10/site-packages/idna/codec.pyr z Codec.encodecCr)Nr rr)rrrrrrrrrrz Codec.decodeN)r ) __name__ __module__ __qualname__strrbytesintr rrrrrr s $ r c @s.eZdZdedededeeeffddZdS)IncrementalEncoderr rfinalrc Cs|dkr td||sdSt|}d}|r+|ds"d}|d=n |s+|d=|r+d}g}d}|D]}|t||r@|d7}|t|7}q1d||} |t|7}| |fS) Nr rrr.rr)rr_unicode_dots_resplitappendrrjoin) rr rr$labels trailing_dotresultsizelabel result_bytesrrr_buffer_encodes0  z!IncrementalEncoder._buffer_encodeN) rrrr boolrr!r"r1rrrrr#&r#c @s.eZdZdedededeeeffddZdS)IncrementalDecoderr rr$rc Cs|dkr td||sdSt|tst|d}t|}d}|r5|ds,d}|d=n |s5|d=|r5d}g}d}|D]}|t||rJ|d 7}|t|7}q;d ||} |t|7}| |fS) Nr rrasciirr%.rr) rr isinstancer r'r(r)r rr*) rr rr$r+r,r-r.r/ result_strrrr_buffer_decodeAs4    z!IncrementalDecoder._buffer_decodeN) rrrrr r2rr"r9rrrrr4@r3r4c@ eZdZdS) StreamWriterNrrrrrrrr;dr;c@r:) StreamReaderNr<rrrrr>hr=r>namerc Cs,|dkrdStj|tjtjttttdS)Nidna2008)r?r rincrementalencoderincrementaldecoder streamwriter streamreader) codecs CodecInfor r rr#r4r;r>)r?rrrsearch_functionlsrG)rEretypingrrrcorerrrr r compiler'r BufferedIncrementalEncoderr#BufferedIncrementalDecoderr4r;r>r rFrGregisterrrrrs "$