B .^S @sTddlZddlmZmZddZGdddejZeejeee ejddS) N)ImageTiffImagePlugincCs|ddtjkS)N)olefileMAGIC)prefixr 6/tmp/pip-install-mwhup7aw/Pillow/PIL/MicImagePlugin.py_acceptsr c@sPeZdZdZdZdZddZeddZedd Z d d Z d d Z ddZ dS) MicImageFileZMICzMicrosoft Image ComposerFcCsyt|j|_Wntk r.tdYnXg|_xJ|jD]<}|ddrB|ddddkrB|ddkrB|j|qBW|jstd|j|_ d|_ t |jdkrt j |_|ddS)Nz!not an MIC file; invalid OLE filerrz.ACIrz!not an MIC file; no image entries)rZ OleFileIOfpoleOSError SyntaxErrorimageslistdirappend_MicImageFile__fpframelenrZ CONTAINERcategoryseek)selfpathr r r _open*s,zMicImageFile._opencCs t|jS)N)rr)rr r r n_framesIszMicImageFile.n_framescCst|jdkS)Nr)rr)rr r r is_animatedMszMicImageFile.is_animatedcCs^||sdSy|j|}Wntk r8tdYnX|j||_tj |||_ dS)Nz no such frame) Z _seek_checkr IndexErrorEOFErrorrZ openstreamrr TiffImageFilerr)rrfilenamer r r rQs  zMicImageFile.seekcCs|jS)N)r)rr r r tell_szMicImageFile.tellcCsBz4y|j|jkr|jWntk r0YnXWdd|_XdS)N)rrcloseAttributeError)rr r r _close__fpbs   zMicImageFile._close__fpN) __name__ __module__ __qualname__formatformat_descriptionZ!_close_exclusive_fp_after_loadingrpropertyrrrr#r&r r r r r $s  r z.mic) rrrr r!r Z register_openr*Zregister_extensionr r r r s K