Füƒaƒ&ã @sédZddddddddd d g Zd d lZd d lmZmZmZdZdZdZ dd„e dƒDƒZ e d d …Z e d d …Z x8dejdƒejdƒD]Zeeƒe e7s rés-!*+/ÚasciiÚ_ú s_ !"#$%&'()*+,-./0123456789:;<>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ cCst|ƒt|kS)z>Return True if the octet should be escaped with header quopri.)ÚchrÚ_QUOPRI_HEADER_MAP)ÚoctetrrrÚ header_checkJsrcCst|ƒt|kS)z^sz header_length..)Úsum)Ú bytearrayrrrrTs cCstdd„|DƒƒS)zÞReturn a body quoted-printable encoding length. :param bytearray: An array of bytes (a.k.a. octets). :return: The length in bytes of the byte array when it is encoded with quoted-printable for bodies. css|]}tt|ƒVqdS)N)r r)rrrrrr!hszbody_length..)r")r#rrrrascCsƒt|tƒst|ƒ}|s7|j|jƒƒnHt|dƒt|ƒ|krl|d||7ÚNLZ EMPTYSTRINGÚranger1rrÚencoderrr2rrrrr-r r rr<rrrrrKrrrrrÚsP  '       O0