U ʗRe. @ s d dl mZmZmZmZmZ ddlZddlZddlm Z m Z edZG dd dej Z G dd d ejZG d d dejZG dd d e ejZG dd de ejZejdddZdS ) )encodedecodealabelulabel IDNAError N)TupleOptionalu [.。.。]c @ sD e Zd Zdeeeeef dddZd eeeeef dddZdS ) Codecstrict)dataerrorsreturnc C s. |dkrt d||sdS t|t|fS )Nr Unsupported error handling "{}") r )r formatr lenselfr r r /builddir/build/BUILDROOT/alt-python38-pip-22.2.1-2.el8.x86_64/opt/alt/python38/lib/python3.8/site-packages/pip/_vendor/idna/codec.pyr s zCodec.encodec C s. |dkrt d||sdS t|t|fS )Nr r r )r r r r r r r r r s zCodec.decodeN)r )r ) __name__ __module____qualname__strr bytesintr r r r r r r s r c @ s( e Zd Zeeeeeef dddZdS )IncrementalEncoderr r finalr c C s |dkrt d||sdS t|}d}|rV|d sDd}|d= n|sV|d= |rVd}g }d}|D ]*}|t| |r|d7 }|t|7 }qbd|| } |t|7 }| |fS Nr r r r .r r )r r _unicode_dots_resplitappendr r join r r r r! labelstrailing_dotresultsizelabelZ result_strr r r _buffer_encode s0 z!IncrementalEncoder._buffer_encodeN)r r r r boolr r r/ r r r r r s r c @ s( e Zd Zeeeeeef dddZdS )IncrementalDecoderr c C s |dkrt d||sdS t|}d}|rV|d sDd}|d= n|sV|d= |rVd}g }d}|D ]*}|t| |r|d7 }|t|7 }qbd|| } |t|7 }| |fS r" )r r r% r&