a \d@sdZddlZdZdZeeur>eZeZeZ e Z eZ e ZddZnddlZeZddZeZd d Z d d Z d dZ ddZddZdejjkrdZeeje_dejjkrdZeeje_dS)aHandle bytes and strings in a polyglot fashion. copied from ../ntpclient/ntpq.py which got it from https://gitlab.com/esr/practical-python-porting/blob/master/polystr-inclusion.py see http://www.catb.org/esr/faqs/practical-python-porting/ for more information. Nzlatin-1FcCs |dS)zString_escape/unicode_escape. string_escape)decodesr./usr/lib64/python3.9/site-packages/ntp/poly.pyr-srcCs,t|tr|St|ts t|St|tdS)z$Polymorphic string factory function.encoding) isinstancestrbytesmaster_encoding)orrrpolystr6s   rcCs,t|tr|St|ts t|St|tdS)z%Polymorphic string encoding function.r)r r r r rrrr polybytes@s   rcCst|trt|S|SdS)zPolymorphic ord() functionN)r r ordcrrrpolyordHs rcCst|trt|S|SdS)zPolymorphic chr() functionN)r intchrrrrrpolychrOs rcCs|tdS)z)Polymorphic string_escape/unicode_escape.Zunicode_escape)encoder rrrrrrVscCstj|jddddS)z/Standard input/output wrapper factory function.utf-8 T)r newlineline_buffering)io TextIOWrapperbuffer)streamrrrmake_std_wrapper^s r!rT)__doc__sysr Z forced_utf8r r rZunicodeZ polyunicoderrrrZ raw_inputZ polyinputrrinputr!stdoutr lowerstderrrrrrs4