a :jgÙã@s¢ddlmZddlmZddlmZmZdadddœd d „Zd d d œdd„Z Gdd„dej ƒZ dddddœdd„Z e  e je e ¡e e je ¡e e jd¡dS)é)Ú annotations)ÚIOé)ÚImageÚ ImageFileNúImageFile.StubHandler | NoneÚNone)ÚhandlerÚreturncCs|adS)z_ Install application-specific BUFR image handler. :param handler: Handler object. N©Ú_handler)r ©r úA/usr/local/lib/python3.9/site-packages/PIL/BufrStubImagePlugin.pyÚregister_handlersrÚbytesÚbool)Úprefixr cCs |dd…dkp|dd…dkS)NésBUFRsZCZCr )rr r rÚ_accept"src@s0eZdZdZdZddœdd„Zddœdd„Zd S) ÚBufrStubImageFileZBUFRr)r cCsX|j ¡}t|j d¡ƒs&d}t|ƒ‚|j |¡d|_d|_| ¡}|rT|  |¡dS)NrzNot a BUFR fileÚF)rr) ÚfpÚtellrÚreadÚ SyntaxErrorÚseekÚ_modeÚ_sizeÚ_loadÚopen)ÚselfÚoffsetÚmsgÚloaderr r rÚ_open*s  zBufrStubImageFile._openrcCstS)Nr )r r r rr;szBufrStubImageFile._loadN)Ú__name__Ú __module__Ú __qualname__ÚformatÚformat_descriptionr$rr r r rr&srz Image.Imagez IO[bytes]z str | bytes)ÚimrÚfilenamer cCs0tdusttdƒsd}t|ƒ‚t |||¡dS)NÚsavezBUFR save handler not installed)r ÚhasattrÚOSErrorr,)r*rr+r"r r rÚ_save?sr/z.bufr)Ú __future__rÚtypingrÚrrr rrZ StubImageFilerr/Z register_openr(Z register_saveZregister_extensionr r r rÚ s