a :jgx ã@shddlmZddlZddlmZmZdddœdd „ZGd d „d ejƒZe  ej ee¡e  ej d ¡dS) é)Ú annotationsNé)ÚImageÚTiffImagePluginÚbytesÚbool)ÚprefixÚreturncCs|dd…tjkS)Né)ÚolefileÚMAGIC)r©r ú6s,þz&MicImageFile._open..z!not an MIC file; no image entrieséÿÿÿÿrr)r Z OleFileIOÚfpÚoleÚOSErrorÚ SyntaxErrorÚlistdirÚimagesÚframeÚlenZ _n_framesZ is_animatedÚ_MicImageFile__fpÚseek)ÚselfÚeÚmsgr r rÚ_open)s  þ  zMicImageFile._openÚint)rr c Cst| |¡sdSz|j|}Wn2tyN}zd}t|ƒ|‚WYd}~n d}~00|j |¡|_tj  |¡||_ dS)Nz no such frame) Z _seek_checkrÚ IndexErrorÚEOFErrorrZ openstreamrrÚ TiffImageFiler$r)r!rÚfilenamer"r#r r rr Is   zMicImageFile.seekcCs|jS©N)r©r!r r rÚtellXszMicImageFile.tellcs"|j ¡|j ¡tƒ ¡dSr*)rÚcloserÚsuperr+©Ú __class__r rr-[s  zMicImageFile.closeÚobject)Úargsr cs"|j ¡|j ¡tƒ ¡dSr*)rr-rr.Ú__exit__)r!r2r/r rr3`s  zMicImageFile.__exit__) Ú__name__Ú __module__Ú __qualname__ÚformatÚformat_descriptionZ!_close_exclusive_fp_after_loadingr$r r,r-r3Ú __classcell__r r r/rr$s rz.mic) Ú __future__rr Úrrrr(rZ register_openr7Zregister_extensionr r r rÚs E