asda?‰PNG  IHDR ? f ??C1 sRGB ??é gAMA ±? üa pHYs ? ??o¨d GIDATx^íüL”÷e÷Y?a?("Bh?_ò???¢§?q5k?*:t0A-o??¥]VkJ¢M??f?±8\k2íll£1]q?ù???T PKUe[8bbase.pynu[# Copyright (C) 2001-2006 Python Software Foundation # Author: Barry Warsaw # Contact: email-sig@python.org """Base class for MIME specializations.""" __all__ = ['MIMEBase'] import email.policy from email import message class MIMEBase(message.Message): """Base class for MIME specializations.""" def __init__(self, _maintype, _subtype, *, policy=None, **_params): """This constructor adds a Content-Type: and a MIME-Version: header. The Content-Type: header is taken from the _maintype and _subtype arguments. Additional parameters for this header are taken from the keyword arguments. """ if policy is None: policy = email.policy.compat32 message.Message.__init__(self, policy=policy) ctype = '%s/%s' % (_maintype, _subtype) self.add_header('Content-Type', ctype, **_params) self['MIME-Version'] = '1.0' PKUe[I)text.pynu[# Copyright (C) 2001-2006 Python Software Foundation # Author: Barry Warsaw # Contact: email-sig@python.org """Class representing text/* type MIME documents.""" __all__ = ['MIMEText'] from email.charset import Charset from email.mime.nonmultipart import MIMENonMultipart class MIMEText(MIMENonMultipart): """Class for generating text/* type MIME documents.""" def __init__(self, _text, _subtype='plain', _charset=None, *, policy=None): """Create a text/* type MIME document. _text is the string for this message object. _subtype is the MIME sub content type, defaulting to "plain". _charset is the character set parameter added to the Content-Type header. This defaults to "us-ascii". Note that as a side-effect, the Content-Transfer-Encoding header will also be set. """ # If no _charset was specified, check to see if there are non-ascii # characters present. If not, use 'us-ascii', otherwise use utf-8. # XXX: This can be removed once #7304 is fixed. if _charset is None: try: _text.encode('us-ascii') _charset = 'us-ascii' except UnicodeEncodeError: _charset = 'utf-8' MIMENonMultipart.__init__(self, 'text', _subtype, policy=policy, **{'charset': str(_charset)}) self.set_payload(_text, _charset) PKUe[ܜnonmultipart.pynu[# Copyright (C) 2002-2006 Python Software Foundation # Author: Barry Warsaw # Contact: email-sig@python.org """Base class for MIME type messages that are not multipart.""" __all__ = ['MIMENonMultipart'] from email import errors from email.mime.base import MIMEBase class MIMENonMultipart(MIMEBase): """Base class for MIME non-multipart type messages.""" def attach(self, payload): # The public API prohibits attaching multiple subparts to MIMEBase # derived subtypes since none of them are, by definition, of content # type multipart/* raise errors.MultipartConversionError( 'Cannot attach additional subparts to non-multipart/*') PKUe[܅SS multipart.pynu[# Copyright (C) 2002-2006 Python Software Foundation # Author: Barry Warsaw # Contact: email-sig@python.org """Base class for MIME multipart/* type messages.""" __all__ = ['MIMEMultipart'] from email.mime.base import MIMEBase class MIMEMultipart(MIMEBase): """Base class for MIME multipart/* type messages.""" def __init__(self, _subtype='mixed', boundary=None, _subparts=None, *, policy=None, **_params): """Creates a multipart/* type message. By default, creates a multipart/mixed message, with proper Content-Type and MIME-Version headers. _subtype is the subtype of the multipart content type, defaulting to `mixed'. boundary is the multipart boundary string. By default it is calculated as needed. _subparts is a sequence of initial subparts for the payload. It must be an iterable object, such as a list. You can always attach new subparts to the message by using the attach() method. Additional parameters for the Content-Type header are taken from the keyword arguments (or passed into the _params argument). """ MIMEBase.__init__(self, 'multipart', _subtype, policy=policy, **_params) # Initialise _payload to an empty list as the Message superclass's # implementation of is_multipart assumes that _payload is a list for # multipart messages. self._payload = [] if _subparts: for p in _subparts: self.attach(p) if boundary: self.set_boundary(boundary) PKUe[ 'WAVE' 'fmt ' if not h.startswith(b'RIFF') or h[8:12] != b'WAVE' or h[12:16] != b'fmt ': return None else: return "x-wav" PKUe[ef## message.pynu[# Copyright (C) 2001-2006 Python Software Foundation # Author: Barry Warsaw # Contact: email-sig@python.org """Class representing message/* MIME documents.""" __all__ = ['MIMEMessage'] from email import message from email.mime.nonmultipart import MIMENonMultipart class MIMEMessage(MIMENonMultipart): """Class representing message/* MIME documents.""" def __init__(self, _msg, _subtype='rfc822', *, policy=None): """Create a message/* type MIME document. _msg is a message object and must be an instance of Message, or a derived class of Message, otherwise a TypeError is raised. Optional _subtype defines the subtype of the contained message. The default is "rfc822" (this is defined by the MIME standard, even though the term "rfc822" is technically outdated by RFC 2822). """ MIMENonMultipart.__init__(self, 'message', _subtype, policy=policy) if not isinstance(_msg, message.Message): raise TypeError('Argument is not an instance of Message') # It's convenient to use this base class method. We need to do it # this way or we'll get an exception message.Message.attach(self, _msg) # And be sure our default type is set correctly self.set_default_type('message/rfc822') PKUe[pLӬ'__pycache__/image.cpython-311.opt-1.pycnu[ !A?hrdZdgZddlmZddlmZGddeZgZdZdZ e dZ e d Z e d Z e d Z e d Ze d Ze dZe dZe dZe dZe dZe dZe dZdS)z/Class representing image/* type MIME documents. MIMEImage)encoders)MIMENonMultipartc.eZdZdZdejfdddZdS)rz1Class for generating image/* type MIME documents.N)policyc |t|n|}|tdtj|d|fd|i|||||dS)aCreate an image/* type MIME document. _imagedata contains the bytes for the raw image data. If the data type can be detected (jpeg, png, gif, tiff, rgb, pbm, pgm, ppm, rast, xbm, bmp, webp, and exr attempted), then the subtype will be automatically included in the Content-Type header. Otherwise, you can specify the specific image subtype via the _subtype parameter. _encoder is a function which will perform the actual encoding for transport of the image data. It takes one argument, which is this Image instance. It should use get_payload() and set_payload() to change the payload to the encoded form. It should also add any Content-Transfer-Encoding or other headers to the message as necessary. The default encoding is Base64. Any additional keyword arguments are passed to the base class constructor, which turns them into parameters on the Content-Type header. Nz"Could not guess image MIME subtypeimager)_what TypeErrorr__init__ set_payload)self _imagedata_subtype_encoderr_paramss )/usr/lib64/python3.11/email/mime/image.pyr zMIMEImage.__init__s*)1(85$$$h  @AA A!$ - -& -$+ - - - $$$)__name__ __module__ __qualname____doc__r encode_base64r rrrr sD;;,0"0<@rc<tD]}||x}r|cSdSN)_rules)dataruleress rr r 2s;$t** 3 JJJ trc:t||Sr)rappend)rulefuncs rrr:s MM( OrcB|dddvrdS|dddkrdSdS)z1JPEG data with JFIF or Exif markers; and raw JPEG )sJFIFsExifjpegNsrhs r_jpegr+?s> 2w$$$v 2A2% % %v & %rc4|drdSdS)NsPNG  png startswithr)s r_pngr0Hs&||())urc"|dddvrdSdS)zGIF ('87 and '89 variants)Nr%)sGIF87asGIF89agifrr)s r_gifr3Ns% !u&&&u'&rc"|dddvrdSdS)z-TIFF (can be in Motorola or Intel byte order)N)sMMsIItiffrr)s r_tiffr7Us$ !uvrc4|drdSdS)zSGI image librarysrgbNr.r)s r_rgbr:\' ||K  urct|dkr/|dtdkr|ddvr|ddvrdSd Sd Sd Sd S) zPBM (portable bitmap)rPs14r5 pbmNlenordr)s r_pbmrEc^ 1vv{{ aDCII  !A$%--AaDJ4F4Fu{  --4F4Frct|dkr/|dtdkr|ddvr|ddvrdSd Sd Sd Sd S) zPGM (portable graymap)r=rr>r?s25r5r@pgmNrBr)s r_pgmrIkrFrct|dkr/|dtdkr|ddvr|ddvrdSd Sd Sd Sd S) zPPM (portable pixmap)r=rr>r?s36r5r@ppmNrBr)s r_ppmrLsrFrc4|drdSdS)zSun raster filesYjrastNr.r)s r_rastrO{s( ||'((vrc4|drdSdS)zX bitmap (X10 or X11)s#define xbmNr.r)s r_xbmrRr;rc4|drdSdS)NsBMbmpr.r)s r_bmprUs%||EurcT|dr|dddkrdSdSdS)NsRIFF sWEBPwebpr.r)s r_webprZs=||G1R4G!3!3v!3!3rc4|drdSdS)Nsv/1exrr.r)s r_exrr]s&||'((urN)r__all__emailremail.mime.nonmultipartrrrr rr+r0r3r7r:rErIrLrOrRrUrZr]rrrras 65 -444444 B          rPKUe[ ֶ '__pycache__/audio.cpython-311.opt-2.pycnu[ !A?h  dgZddlmZddlmZddlmZGddeZgZdZ dZ e dZ e d Z e d Z d S) MIMEAudio)BytesIO)encoders)MIMENonMultipartc,eZdZ dejfdddZdS)rN)policyc |t|}|tdtj|d|fd|i|||||dS)Nz!Could not find audio MIME subtypeaudior)_what TypeErrorr__init__ set_payload)self _audiodata_subtype_encoderr_paramss )/usr/lib64/python3.11/email/mime/audio.pyr zMIMEAudio.__init__s (  Z((H  ?@@ @!$ - -& -$+ - - - $$$)__name__ __module__ __qualname__r encode_base64r rrrrsA6,0"0<@rcp|dd}t|}tD]}|||x}r|cSdS)Ni)r_rules)datahdrfakefiletestfnress rr r 8sY tt*Cs||H&h'' '3 JJJ trc:t||S)N)rappend)rulefuncs rruler%Gs MM( OrcP|dsdS|dddvrdSdS)NsFORM >AIFCAIFFzx-aiff startswithhfs r_aiffr0Ls9 << t2w$$$xtrc4|drdSdS)Ns.sndbasicr+r-s r_aur3Vs ||Gwtrcl|dr|dddks|dddkrdSdS)NsRIFFr'r(sWAVEsfmt zx-wavr+r-s r_wavr6^sF << AadGw$6$6!BrE(g:M:MtwrN)__all__ioremailremail.mime.nonmultipartrrrr r%r0r3r6rrrr;s 6 -444444        F     rPKUe[תx**!__pycache__/audio.cpython-311.pycnu[ !A?h dZdgZddlmZddlmZddlmZGddeZgZ dZ dZ e d Z e d Z e d Zd S) z/Class representing audio/* type MIME documents. MIMEAudio)BytesIO)encoders)MIMENonMultipartc.eZdZdZdejfdddZdS)rz,Class for generating audio/* MIME documents.N)policyc |t|}|tdtj|d|fd|i|||||dS)aCreate an audio/* type MIME document. _audiodata contains the bytes for the raw audio data. If this data can be decoded as au, wav, aiff, or aifc, then the subtype will be automatically included in the Content-Type header. Otherwise, you can specify the specific audio subtype via the _subtype parameter. If _subtype is not given, and no subtype can be guessed, a TypeError is raised. _encoder is a function which will perform the actual encoding for transport of the image data. It takes one argument, which is this Image instance. It should use get_payload() and set_payload() to change the payload to the encoded form. It should also add any Content-Transfer-Encoding or other headers to the message as necessary. The default encoding is Base64. Any additional keyword arguments are passed to the base class constructor, which turns them into parameters on the Content-Type header. Nz!Could not find audio MIME subtypeaudior)_what TypeErrorr__init__ set_payload)self _audiodata_subtype_encoderr_paramss )/usr/lib64/python3.11/email/mime/audio.pyr zMIMEAudio.__init__s,  Z((H  ?@@ @!$ - -& -$+ - - - $$$)__name__ __module__ __qualname____doc__r encode_base64r rrrrsD66,0"0<@rcp|dd}t|}tD]}|||x}r|cSdS)Ni)r_rules)datahdrfakefiletestfnress rr r 8sY tt*Cs||H&h'' '3 JJJ trc:t||S)N)rappend)rulefuncs rruler&Gs MM( OrcP|dsdS|dddvrdSdS)NsFORM >AIFCAIFFzx-aiff startswithhfs r_aiffr1Ls9 << t2w$$$xtrc4|drdSdS)Ns.sndbasicr,r.s r_aur4Vs ||Gwtrcl|dr|dddks|dddkrdSdS)NsRIFFr(r)sWAVEsfmt zx-wavr,r.s r_wavr7^sF << AadGw$6$6!BrE(g:M:MtwrN)r__all__ioremailremail.mime.nonmultipartrrrr r&r1r4r7rrrr<s 65 -444444        F     rPKUe[?? ?!$ x - - -$+ - - - )__name__ __module__ __qualname____doc__r encode_base64r rrrr sD<<'5"0<@rN)r__all__emailremail.mime.nonmultipartrrrrrrsn <;  444444&rPKUe[1-__pycache__/application.cpython-311.opt-2.pycnu[ !A?h)B dgZddlmZddlmZGddeZdS)MIMEApplication)encoders)MIMENonMultipartc,eZdZ dejfdddZdS)rz octet-streamN)policyc |tdtj|d|fd|i|||||dS)Nz Invalid application MIME subtype applicationr) TypeErrorr__init__ set_payload)self_data_subtype_encoderr_paramss //usr/lib64/python3.11/email/mime/application.pyr zMIMEApplication.__init__sr   >?? ?!$ x - - -$+ - - - )__name__ __module__ __qualname__r encode_base64r rrrr sA<'5"0<@rN)__all__emailremail.mime.nonmultipartrrrrrrsk <  444444&rPKUe[nWW.__pycache__/nonmultipart.cpython-311.opt-2.pycnu[ !A?hB dgZddlmZddlmZGddeZdS)MIMENonMultipart)errors)MIMEBaseceZdZ dZdS)rc*tjd)Nz4Cannot attach additional subparts to non-multipart/*)rMultipartConversionError)selfpayloads 0/usr/lib64/python3.11/email/mime/nonmultipart.pyattachzMIMENonMultipart.attachs- BDD DN)__name__ __module__ __qualname__r r r rr s+:DDDDDr N)__all__emailremail.mime.baserrrr r rsu @  $$$$$$DDDDDxDDDDDr PKUe[؊>>+__pycache__/multipart.cpython-311.opt-2.pycnu[ !A?hS6 dgZddlmZGddeZdS) MIMEMultipart)MIMEBaseceZdZ ddddZdS)rmixedN)policyc tj|d|fd|i|g|_|r|D]}|||r||dSdS)N multipartr)r__init___payloadattach set_boundary)self_subtypeboundary _subpartsr_paramsps -/usr/lib64/python3.11/email/mime/multipart.pyr zMIMEMultipart.__init__s $ $ XPPfPPPP      A  (   h ' ' ' ' ' ( ()rNN)__name__ __module__ __qualname__r rrrr s88 ( ( ( ( ( ( ( (rN)__all__email.mime.baserrrrrrsX 5  $$$$$$#(#(#(#(#(H#(#(#(#(#(rPKUe[?? ?!$ x - - -$+ - - - )__name__ __module__ __qualname____doc__r encode_base64r rrrr sD<<'5"0<@rN)r__all__emailremail.mime.nonmultipartrrrrrrsn <;  444444&rPKUe[!.__pycache__/nonmultipart.cpython-311.opt-1.pycnu[ !A?hDdZdgZddlmZddlmZGddeZdS)z9Base class for MIME type messages that are not multipart.MIMENonMultipart)errors)MIMEBaseceZdZdZdZdS)rz0Base class for MIME non-multipart type messages.c*tjd)Nz4Cannot attach additional subparts to non-multipart/*)rMultipartConversionError)selfpayloads 0/usr/lib64/python3.11/email/mime/nonmultipart.pyattachzMIMENonMultipart.attachs- BDD DN)__name__ __module__ __qualname____doc__r r r rr s.::DDDDDr N)r__all__emailremail.mime.baserrrr r rsx @?  $$$$$$DDDDDxDDDDDr PKUe[QQ%__pycache__/multipart.cpython-311.pycnu[ !A?hS8dZdgZddlmZGddeZdS).Base class for MIME multipart/* type messages. MIMEMultipart)MIMEBasec eZdZdZddddZdS)rrmixedN)policyc tj|d|fd|i|g|_|r|D]}|||r||dSdS)aCreates a multipart/* type message. By default, creates a multipart/mixed message, with proper Content-Type and MIME-Version headers. _subtype is the subtype of the multipart content type, defaulting to `mixed'. boundary is the multipart boundary string. By default it is calculated as needed. _subparts is a sequence of initial subparts for the payload. It must be an iterable object, such as a list. You can always attach new subparts to the message by using the attach() method. Additional parameters for the Content-Type header are taken from the keyword arguments (or passed into the _params argument). multipartrN)r__init___payloadattach set_boundary)self_subtypeboundary _subpartsr_paramsps -/usr/lib64/python3.11/email/mime/multipart.pyr zMIMEMultipart.__init__s* $ XPPfPPPP      A  (   h ' ' ' ' ' ( ()rNN)__name__ __module__ __qualname____doc__r rrrr s;88 ( ( ( ( ( ( ( (rN)r__all__email.mime.baserrrrrrs[ 54  $$$$$$#(#(#(#(#(H#(#(#(#(#(rPKUe[vv __pycache__/base.cpython-311.pycnu[ !A?hJdZdgZddlZddlmZGddejZdS)$Base class for MIME specializations.MIMEBaseN)messageceZdZdZdddZdS)rrNpolicyc |tjj}tj|||d|}|jd|fi|d|d<dS)zThis constructor adds a Content-Type: and a MIME-Version: header. The Content-Type: header is taken from the _maintype and _subtype arguments. Additional parameters for this header are taken from the keyword arguments. Nr/z Content-Typez1.0z MIME-Version)emailrcompat32rMessage__init__ add_header)self _maintype_subtyper_paramsctypes (/usr/lib64/python3.11/email/mime/base.pyrzMIMEBase.__init__sj >\*F  f 555$99hh/99999$^)__name__ __module__ __qualname____doc__rrrrrs6..6: % % % % % % %r)r__all__ email.policyr rr rrrrrsh +* ,%%%%%w%%%%%rPKUe[2&__pycache__/text.cpython-311.opt-1.pycnu[ !A?hDdZdgZddlmZddlmZGddeZdS)z.Class representing text/* type MIME documents.MIMEText)Charset)MIMENonMultipartc eZdZdZddddZdS)rz0Class for generating text/* type MIME documents.plainN)policyc|+ |dd}n#t$rd}YnwxYwtj|d|fd|idt |i|||dS)a~Create a text/* type MIME document. _text is the string for this message object. _subtype is the MIME sub content type, defaulting to "plain". _charset is the character set parameter added to the Content-Type header. This defaults to "us-ascii". Note that as a side-effect, the Content-Transfer-Encoding header will also be set. Nzus-asciizutf-8textrcharset)encodeUnicodeEncodeErrorr__init__str set_payload)self_text_subtype_charsetrs (/usr/lib64/python3.11/email/mime/text.pyrzMIMEText.__init__s   # Z(((%% # # #" # !$ @ @ @%.H $> @ @ @ )))))s  ++)rN)__name__ __module__ __qualname____doc__rrrr s:::********rN)r__all__ email.charsetremail.mime.nonmultipartrrrrrrsm 54 ,!!!!!!444444**********rPKUe[!(__pycache__/nonmultipart.cpython-311.pycnu[ !A?hDdZdgZddlmZddlmZGddeZdS)z9Base class for MIME type messages that are not multipart.MIMENonMultipart)errors)MIMEBaseceZdZdZdZdS)rz0Base class for MIME non-multipart type messages.c*tjd)Nz4Cannot attach additional subparts to non-multipart/*)rMultipartConversionError)selfpayloads 0/usr/lib64/python3.11/email/mime/nonmultipart.pyattachzMIMENonMultipart.attachs- BDD DN)__name__ __module__ __qualname____doc__r r r rr s.::DDDDDr N)r__all__emailremail.mime.baserrrr r rsx @?  $$$$$$DDDDDxDDDDDr PKUe[0뻪$__pycache__/__init__.cpython-311.pycnu[ ehdS)Nr,/usr/lib64/python3.11/email/mime/__init__.pyrsrPKUe[תx**'__pycache__/audio.cpython-311.opt-1.pycnu[ !A?h dZdgZddlmZddlmZddlmZGddeZgZ dZ dZ e d Z e d Z e d Zd S) z/Class representing audio/* type MIME documents. MIMEAudio)BytesIO)encoders)MIMENonMultipartc.eZdZdZdejfdddZdS)rz,Class for generating audio/* MIME documents.N)policyc |t|}|tdtj|d|fd|i|||||dS)aCreate an audio/* type MIME document. _audiodata contains the bytes for the raw audio data. If this data can be decoded as au, wav, aiff, or aifc, then the subtype will be automatically included in the Content-Type header. Otherwise, you can specify the specific audio subtype via the _subtype parameter. If _subtype is not given, and no subtype can be guessed, a TypeError is raised. _encoder is a function which will perform the actual encoding for transport of the image data. It takes one argument, which is this Image instance. It should use get_payload() and set_payload() to change the payload to the encoded form. It should also add any Content-Transfer-Encoding or other headers to the message as necessary. The default encoding is Base64. Any additional keyword arguments are passed to the base class constructor, which turns them into parameters on the Content-Type header. Nz!Could not find audio MIME subtypeaudior)_what TypeErrorr__init__ set_payload)self _audiodata_subtype_encoderr_paramss )/usr/lib64/python3.11/email/mime/audio.pyr zMIMEAudio.__init__s,  Z((H  ?@@ @!$ - -& -$+ - - - $$$)__name__ __module__ __qualname____doc__r encode_base64r rrrrsD66,0"0<@rcp|dd}t|}tD]}|||x}r|cSdS)Ni)r_rules)datahdrfakefiletestfnress rr r 8sY tt*Cs||H&h'' '3 JJJ trc:t||S)N)rappend)rulefuncs rruler&Gs MM( OrcP|dsdS|dddvrdSdS)NsFORM >AIFCAIFFzx-aiff startswithhfs r_aiffr1Ls9 << t2w$$$xtrc4|drdSdS)Ns.sndbasicr,r.s r_aur4Vs ||Gwtrcl|dr|dddks|dddkrdSdS)NsRIFFr(r)sWAVEsfmt zx-wavr,r.s r_wavr7^sF << AadGw$6$6!BrE(g:M:MtwrN)r__all__ioremailremail.mime.nonmultipartrrrr r&r1r4r7rrrr<s 65 -444444        F     rPKUe[vv&__pycache__/base.cpython-311.opt-1.pycnu[ !A?hJdZdgZddlZddlmZGddejZdS)$Base class for MIME specializations.MIMEBaseN)messageceZdZdZdddZdS)rrNpolicyc |tjj}tj|||d|}|jd|fi|d|d<dS)zThis constructor adds a Content-Type: and a MIME-Version: header. The Content-Type: header is taken from the _maintype and _subtype arguments. Additional parameters for this header are taken from the keyword arguments. Nr/z Content-Typez1.0z MIME-Version)emailrcompat32rMessage__init__ add_header)self _maintype_subtyper_paramsctypes (/usr/lib64/python3.11/email/mime/base.pyrzMIMEBase.__init__sj >\*F  f 555$99hh/99999$^)__name__ __module__ __qualname____doc__rrrrrs6..6: % % % % % % %r)r__all__ email.policyr rr rrrrrsh +* ,%%%%%w%%%%%rPKUe[0뻪*__pycache__/__init__.cpython-311.opt-1.pycnu[ ehdS)Nr,/usr/lib64/python3.11/email/mime/__init__.pyrsrPKUe[pLӬ!__pycache__/image.cpython-311.pycnu[ !A?hrdZdgZddlmZddlmZGddeZgZdZdZ e dZ e d Z e d Z e d Z e d Ze d Ze dZe dZe dZe dZe dZe dZe dZdS)z/Class representing image/* type MIME documents. MIMEImage)encoders)MIMENonMultipartc.eZdZdZdejfdddZdS)rz1Class for generating image/* type MIME documents.N)policyc |t|n|}|tdtj|d|fd|i|||||dS)aCreate an image/* type MIME document. _imagedata contains the bytes for the raw image data. If the data type can be detected (jpeg, png, gif, tiff, rgb, pbm, pgm, ppm, rast, xbm, bmp, webp, and exr attempted), then the subtype will be automatically included in the Content-Type header. Otherwise, you can specify the specific image subtype via the _subtype parameter. _encoder is a function which will perform the actual encoding for transport of the image data. It takes one argument, which is this Image instance. It should use get_payload() and set_payload() to change the payload to the encoded form. It should also add any Content-Transfer-Encoding or other headers to the message as necessary. The default encoding is Base64. Any additional keyword arguments are passed to the base class constructor, which turns them into parameters on the Content-Type header. Nz"Could not guess image MIME subtypeimager)_what TypeErrorr__init__ set_payload)self _imagedata_subtype_encoderr_paramss )/usr/lib64/python3.11/email/mime/image.pyr zMIMEImage.__init__s*)1(85$$$h  @AA A!$ - -& -$+ - - - $$$)__name__ __module__ __qualname____doc__r encode_base64r rrrr sD;;,0"0<@rc<tD]}||x}r|cSdSN)_rules)dataruleress rr r 2s;$t** 3 JJJ trc:t||Sr)rappend)rulefuncs rrr:s MM( OrcB|dddvrdS|dddkrdSdS)z1JPEG data with JFIF or Exif markers; and raw JPEG )sJFIFsExifjpegNsrhs r_jpegr+?s> 2w$$$v 2A2% % %v & %rc4|drdSdS)NsPNG  png startswithr)s r_pngr0Hs&||())urc"|dddvrdSdS)zGIF ('87 and '89 variants)Nr%)sGIF87asGIF89agifrr)s r_gifr3Ns% !u&&&u'&rc"|dddvrdSdS)z-TIFF (can be in Motorola or Intel byte order)N)sMMsIItiffrr)s r_tiffr7Us$ !uvrc4|drdSdS)zSGI image librarysrgbNr.r)s r_rgbr:\' ||K  urct|dkr/|dtdkr|ddvr|ddvrdSd Sd Sd Sd S) zPBM (portable bitmap)rPs14r5 pbmNlenordr)s r_pbmrEc^ 1vv{{ aDCII  !A$%--AaDJ4F4Fu{  --4F4Frct|dkr/|dtdkr|ddvr|ddvrdSd Sd Sd Sd S) zPGM (portable graymap)r=rr>r?s25r5r@pgmNrBr)s r_pgmrIkrFrct|dkr/|dtdkr|ddvr|ddvrdSd Sd Sd Sd S) zPPM (portable pixmap)r=rr>r?s36r5r@ppmNrBr)s r_ppmrLsrFrc4|drdSdS)zSun raster filesYjrastNr.r)s r_rastrO{s( ||'((vrc4|drdSdS)zX bitmap (X10 or X11)s#define xbmNr.r)s r_xbmrRr;rc4|drdSdS)NsBMbmpr.r)s r_bmprUs%||EurcT|dr|dddkrdSdSdS)NsRIFF sWEBPwebpr.r)s r_webprZs=||G1R4G!3!3v!3!3rc4|drdSdS)Nsv/1exrr.r)s r_exrr]s&||'((urN)r__all__emailremail.mime.nonmultipartrrrr rr+r0r3r7r:rErIrLrOrRrUrZr]rrrras 65 -444444 B          rPKUe[0뻪*__pycache__/__init__.cpython-311.opt-2.pycnu[ ehdS)Nr,/usr/lib64/python3.11/email/mime/__init__.pyrsrPKUe[x#__pycache__/message.cpython-311.pycnu[ !A?h#DdZdgZddlmZddlmZGddeZdS),Class representing message/* MIME documents. MIMEMessage)message)MIMENonMultipartc eZdZdZddddZdS)rrrfc822Npolicyctj|d||t|tjst dtj|||ddS)aCreate a message/* type MIME document. _msg is a message object and must be an instance of Message, or a derived class of Message, otherwise a TypeError is raised. Optional _subtype defines the subtype of the contained message. The default is "rfc822" (this is defined by the MIME standard, even though the term "rfc822" is technically outdated by RFC 2822). rr z&Argument is not an instance of Messagezmessage/rfc822N)r__init__ isinstancerMessage TypeErrorattachset_default_type)self_msg_subtyper s +/usr/lib64/python3.11/email/mime/message.pyr zMIMEMessage.__init__sw !$ 8FKKKK$00 FDEE E tT*** ./////)r)__name__ __module__ __qualname____doc__r rrrr s:660$0000000rN)r__all__emailremail.mime.nonmultipartrrrrrrsm 32 /44444400000"00000rPKUe[x)__pycache__/message.cpython-311.opt-1.pycnu[ !A?h#DdZdgZddlmZddlmZGddeZdS),Class representing message/* MIME documents. MIMEMessage)message)MIMENonMultipartc eZdZdZddddZdS)rrrfc822Npolicyctj|d||t|tjst dtj|||ddS)aCreate a message/* type MIME document. _msg is a message object and must be an instance of Message, or a derived class of Message, otherwise a TypeError is raised. Optional _subtype defines the subtype of the contained message. The default is "rfc822" (this is defined by the MIME standard, even though the term "rfc822" is technically outdated by RFC 2822). rr z&Argument is not an instance of Messagezmessage/rfc822N)r__init__ isinstancerMessage TypeErrorattachset_default_type)self_msg_subtyper s +/usr/lib64/python3.11/email/mime/message.pyr zMIMEMessage.__init__sw !$ 8FKKKK$00 FDEE E tT*** ./////)r)__name__ __module__ __qualname____doc__r rrrr s:660$0000000rN)r__all__emailremail.mime.nonmultipartrrrrrrsm 32 /44444400000"00000rPKUe[2 __pycache__/text.cpython-311.pycnu[ !A?hDdZdgZddlmZddlmZGddeZdS)z.Class representing text/* type MIME documents.MIMEText)Charset)MIMENonMultipartc eZdZdZddddZdS)rz0Class for generating text/* type MIME documents.plainN)policyc|+ |dd}n#t$rd}YnwxYwtj|d|fd|idt |i|||dS)a~Create a text/* type MIME document. _text is the string for this message object. _subtype is the MIME sub content type, defaulting to "plain". _charset is the character set parameter added to the Content-Type header. This defaults to "us-ascii". Note that as a side-effect, the Content-Transfer-Encoding header will also be set. Nzus-asciizutf-8textrcharset)encodeUnicodeEncodeErrorr__init__str set_payload)self_text_subtype_charsetrs (/usr/lib64/python3.11/email/mime/text.pyrzMIMEText.__init__s   # Z(((%% # # #" # !$ @ @ @%.H $> @ @ @ )))))s  ++)rN)__name__ __module__ __qualname____doc__rrrr s:::********rN)r__all__ email.charsetremail.mime.nonmultipartrrrrrrsm 54 ,!!!!!!444444**********rPKUe['__pycache__/image.cpython-311.opt-2.pycnu[ !A?hp dgZddlmZddlmZGddeZgZdZdZedZ edZ ed Z ed Z ed Z ed Zed ZedZedZedZedZedZedZdS) MIMEImage)encoders)MIMENonMultipartc,eZdZ dejfdddZdS)rN)policyc |t|n|}|tdtj|d|fd|i|||||dS)Nz"Could not guess image MIME subtypeimager)_what TypeErrorr__init__ set_payload)self _imagedata_subtype_encoderr_paramss )/usr/lib64/python3.11/email/mime/image.pyr zMIMEImage.__init__s &)1(85$$$h  @AA A!$ - -& -$+ - - - $$$)__name__ __module__ __qualname__r encode_base64r rrrr sA;,0"0<@rc<tD]}||x}r|cSdSN)_rules)dataruleress rr r 2s;$t** 3 JJJ trc:t||Sr)rappend)rulefuncs rrr:s MM( OrcD |dddvrdS|dddkrdSdS)N )sJFIFsExifjpegsrhs r_jpegr*?s?;2w$$$v 2A2% % %v & %rc4|drdSdS)NsPNG  png startswithr(s r_pngr/Hs&||())urc$ |dddvrdSdS)Nr$)sGIF87asGIF89agifrr(s r_gifr2Ns&$!u&&&u'&rc$ |dddvrdSdS)N)sMMsIItiffrr(s r_tiffr6Us%7!uvrc6 |drdSdS)Nsrgbr-r(s r_rgbr9\s(||K  urc t|dkr/|dtdkr|ddvr|ddvrdSdSdSdSdS) NrPs14r4 pbmlenordr(s r_pbmrCc_ 1vv{{ aDCII  !A$%--AaDJ4F4Fu{  --4F4Frc t|dkr/|dtdkr|ddvr|ddvrdSdSdSdSdS) Nr;rr<r=s25r4r>pgmr@r(s r_pgmrGks_  1vv{{ aDCII  !A$%--AaDJ4F4Fu{  --4F4Frc t|dkr/|dtdkr|ddvr|ddvrdSdSdSdSdS) Nr;rr<r=s36r4r>ppmr@r(s r_ppmrJsrDrc6 |drdSdS)NsYjrastr-r(s r_rastrM{s)||'((vrc6 |drdSdS)Ns#define xbmr-r(s r_xbmrPs(||K  urc4|drdSdS)NsBMbmpr-r(s r_bmprSs%||EurcT|dr|dddkrdSdSdS)NsRIFF sWEBPwebpr-r(s r_webprXs=||G1R4G!3!3v!3!3rc4|drdSdS)Nsv/1exrr-r(s r_exrr[s&||'((urN)__all__emailremail.mime.nonmultipartrrrr rr*r/r2r6r9rCrGrJrMrPrSrXr[rrrr_s 6 -444444 B          rPKUe["(;;&__pycache__/base.cpython-311.opt-2.pycnu[ !A?hH dgZddlZddlmZGddejZdS)MIMEBaseN)messageceZdZ dddZdS)rNpolicyc |tjj}tj|||d|}|jd|fi|d|d<dS)Nr/z Content-Typez1.0z MIME-Version)emailrcompat32rMessage__init__ add_header)self _maintype_subtyper_paramsctypes (/usr/lib64/python3.11/email/mime/base.pyr zMIMEBase.__init__so >\*F  f 555$99hh/99999$^)__name__ __module__ __qualname__r rrrrs3.6: % % % % % % %r)__all__ email.policyr rr rrrrrse + ,%%%%%w%%%%%rPKUe[صf&__pycache__/text.cpython-311.opt-2.pycnu[ !A?hB dgZddlmZddlmZGddeZdS)MIMEText)Charset)MIMENonMultipartceZdZ ddddZdS)rplainN)policyc |+ |dd}n#t$rd}YnwxYwtj|d|fd|idt |i|||dS)Nzus-asciizutf-8textrcharset)encodeUnicodeEncodeErrorr__init__str set_payload)self_text_subtype_charsetrs (/usr/lib64/python3.11/email/mime/text.pyrzMIMEText.__init__s    # Z(((%% # # #" # !$ @ @ @%.H $> @ @ @ )))))s  ,,)rN)__name__ __module__ __qualname__rrrr s7:********rN)__all__ email.charsetremail.mime.nonmultipartrrrrrrsj 5 ,!!!!!!444444**********rPKUe[QQ+__pycache__/multipart.cpython-311.opt-1.pycnu[ !A?hS8dZdgZddlmZGddeZdS).Base class for MIME multipart/* type messages. MIMEMultipart)MIMEBasec eZdZdZddddZdS)rrmixedN)policyc tj|d|fd|i|g|_|r|D]}|||r||dSdS)aCreates a multipart/* type message. By default, creates a multipart/mixed message, with proper Content-Type and MIME-Version headers. _subtype is the subtype of the multipart content type, defaulting to `mixed'. boundary is the multipart boundary string. By default it is calculated as needed. _subparts is a sequence of initial subparts for the payload. It must be an iterable object, such as a list. You can always attach new subparts to the message by using the attach() method. Additional parameters for the Content-Type header are taken from the keyword arguments (or passed into the _params argument). multipartrN)r__init___payloadattach set_boundary)self_subtypeboundary _subpartsr_paramsps -/usr/lib64/python3.11/email/mime/multipart.pyr zMIMEMultipart.__init__s* $ XPPfPPPP      A  (   h ' ' ' ' ' ( ()rNN)__name__ __module__ __qualname____doc__r rrrr s;88 ( ( ( ( ( ( ( (rN)r__all__email.mime.baserrrrrrs[ 54  $$$$$$#(#(#(#(#(H#(#(#(#(#(rPKUe[e$")__pycache__/message.cpython-311.opt-2.pycnu[ !A?h#B dgZddlmZddlmZGddeZdS) MIMEMessage)message)MIMENonMultipartceZdZ ddddZdS)rrfc822Npolicyc tj|d||t|tjst dtj|||ddS)Nrrz&Argument is not an instance of Messagezmessage/rfc822)r__init__ isinstancerMessage TypeErrorattachset_default_type)self_msg_subtyper s +/usr/lib64/python3.11/email/mime/message.pyr zMIMEMessage.__init__s|  !$ 8FKKKK$00 FDEE E tT*** ./////)r)__name__ __module__ __qualname__r rrrr s760$0000000rN)__all__emailremail.mime.nonmultipartrrrrrrsj 3 /44444400000"00000rPKUe[`Bimage.pynu[# Copyright (C) 2001-2006 Python Software Foundation # Author: Barry Warsaw # Contact: email-sig@python.org """Class representing image/* type MIME documents.""" __all__ = ['MIMEImage'] from email import encoders from email.mime.nonmultipart import MIMENonMultipart class MIMEImage(MIMENonMultipart): """Class for generating image/* type MIME documents.""" def __init__(self, _imagedata, _subtype=None, _encoder=encoders.encode_base64, *, policy=None, **_params): """Create an image/* type MIME document. _imagedata contains the bytes for the raw image data. If the data type can be detected (jpeg, png, gif, tiff, rgb, pbm, pgm, ppm, rast, xbm, bmp, webp, and exr attempted), then the subtype will be automatically included in the Content-Type header. Otherwise, you can specify the specific image subtype via the _subtype parameter. _encoder is a function which will perform the actual encoding for transport of the image data. It takes one argument, which is this Image instance. It should use get_payload() and set_payload() to change the payload to the encoded form. It should also add any Content-Transfer-Encoding or other headers to the message as necessary. The default encoding is Base64. Any additional keyword arguments are passed to the base class constructor, which turns them into parameters on the Content-Type header. """ _subtype = _what(_imagedata) if _subtype is None else _subtype if _subtype is None: raise TypeError('Could not guess image MIME subtype') MIMENonMultipart.__init__(self, 'image', _subtype, policy=policy, **_params) self.set_payload(_imagedata) _encoder(self) _rules = [] # Originally from the imghdr module. def _what(data): for rule in _rules: if res := rule(data): return res else: return None def rule(rulefunc): _rules.append(rulefunc) return rulefunc @rule def _jpeg(h): """JPEG data with JFIF or Exif markers; and raw JPEG""" if h[6:10] in (b'JFIF', b'Exif'): return 'jpeg' elif h[:4] == b'\xff\xd8\xff\xdb': return 'jpeg' @rule def _png(h): if h.startswith(b'\211PNG\r\n\032\n'): return 'png' @rule def _gif(h): """GIF ('87 and '89 variants)""" if h[:6] in (b'GIF87a', b'GIF89a'): return 'gif' @rule def _tiff(h): """TIFF (can be in Motorola or Intel byte order)""" if h[:2] in (b'MM', b'II'): return 'tiff' @rule def _rgb(h): """SGI image library""" if h.startswith(b'\001\332'): return 'rgb' @rule def _pbm(h): """PBM (portable bitmap)""" if len(h) >= 3 and \ h[0] == ord(b'P') and h[1] in b'14' and h[2] in b' \t\n\r': return 'pbm' @rule def _pgm(h): """PGM (portable graymap)""" if len(h) >= 3 and \ h[0] == ord(b'P') and h[1] in b'25' and h[2] in b' \t\n\r': return 'pgm' @rule def _ppm(h): """PPM (portable pixmap)""" if len(h) >= 3 and \ h[0] == ord(b'P') and h[1] in b'36' and h[2] in b' \t\n\r': return 'ppm' @rule def _rast(h): """Sun raster file""" if h.startswith(b'\x59\xA6\x6A\x95'): return 'rast' @rule def _xbm(h): """X bitmap (X10 or X11)""" if h.startswith(b'#define '): return 'xbm' @rule def _bmp(h): if h.startswith(b'BM'): return 'bmp' @rule def _webp(h): if h.startswith(b'RIFF') and h[8:12] == b'WEBP': return 'webp' @rule def _exr(h): if h.startswith(b'\x76\x2f\x31\x01'): return 'exr' PKUe[ __init__.pynu[PKUe[8bbase.pynu[PKUe[I)text.pynu[PKUe[ܜ nonmultipart.pynu[PKUe[܅SS  multipart.pynu[PKUe[>+n__pycache__/multipart.cpython-311.opt-2.pycnu[PKUe[