
    iW                       S SK Jr  S SKJr  SSKJrJr  SSKJr	  SSKJ
r  SSKJr  SqSS	 jr\" \R"                  S
5      (       a"   " S S\R$                  5      r\" \" 5       5        SS jr " S S\R*                  5      rSS jr\R0                  " \R2                  \\5        \R4                  " \R2                  \5        \R6                  " \R2                  SS/5        g)    )annotations)IO   )Image	ImageFile)i16le)si16le)si32leNc                    U q g)zR
Install application-specific WMF image handler.

:param handler: Handler object.
N_handler)handlers    D/var/www/ias/venv/lib/python3.13/site-packages/PIL/WmfImagePlugin.pyregister_handlerr   !   s	     H    drawwmfc                  (    \ rS rSrSS jrSS jrSrg)
WmfHandler.   c                ,    UR                   S   U l        g )Nwmf_bbox)infobboxselfims     r   openWmfHandler.open/   s    
+DIr   c           	     d   UR                   c   eUR                   R                  S5        [        R                  " SUR                  [        R
                  R                  UR                   R                  5       UR                  U R                  5      SSUR                  S   S-  S-   S-  S5      $ )Nr   RGBrawBGR   )	fpseekr   	frombytessizecorer   readr   r   s     r   loadWmfHandler.load2   s    55$$$EEJJqM??

""255::<$))Da!#r) r   )r   N)r   ImageFile.StubImageFilereturnNone)r   r.   r/   Image.Image)__name__
__module____qualname____firstlineno__r   r,   __static_attributes__ r   r   r   r   .   s    	,	r   r   c                $    U R                  S5      $ )N)   ƚ        )
startswith)prefixs    r   _acceptr=   F   s    OPPr   c                  T   ^  \ rS rSrSrSrSS jrS	S jr S
   SU 4S jjjrSr	U =r
$ )WmfStubImageFileN   WMFzWindows Metafilec                   U R                   c   eU R                   R                  S5      nUR                  S5      (       a  [        US5      nUS:X  a  Sn[	        U5      eX"4U l        [        US5      n[        US5      n[        US5      n[        US	5      nS
U R                  S'   Xd-
  U R                  S   -  U-  Xu-
  U R                  S   -  U-  4nXEXg4U R                  S'   USS S:w  a  Sn[        U5      eOUR                  S5      (       a  USS S:X  a  [        US5      n[        US	5      n[        US5      n[        US5      n[        US5      [        US5      [        US5      [        US5      4n	Xd-
  Xu-
  4nSXd-
  -  U	S   U	S   -
  -  n
SXu-
  -  U	S   U	S   -
  -  nXEXg4U R                  S'   X:X  a  XR                  S'   OX4U R                  S'   X4U l        OSn[        U5      eSU l
        Xl        g ) N,   r9      r   zInvalid inch      
      H   dpir         s    	 zUnsupported WMF file formatr:   (   s    EMF                $   g     أ@   r#   r   zUnsupported file formatr    )r&   r+   r;   word
ValueError_inchshortr   SyntaxError_long_mode_size)r   sinchmsgx0y0x1y1r)   framexdpiydpis               r   _openWmfStubImageFile._openR   s*   ww"""GGLL<<344 2;Dqy$ o%.2jDJ q!Bq!Bq"Bq"B  "DIIeDIIe,,4DIIe,,4D
 %'BNDIIj! Bx,,3!#&& - \\-..1R8w3F q!Bq"Bq"Bq"B !RL%2,aeArlJE7BG#D RW%qE!H)<=DRW%qE!H)<=D$&BNDIIj!|#'		% #':		% DJ ,Cc""

r   c                    [         $ Nr   )r   s    r   _loadWmfStubImageFile._load   s    r   c                ,  > Ub  XR                   S'   U R                   S   u  p#pE[        U[        5      (       d  X4n[        XB-
  US   -  U R                  S   -  5      [        XS-
  US   -  U R                  S   -  5      4U l        [        TU ]  5       $ )NrJ   r   r   r   )r   
isinstancetupleintrW   r\   superr,   )r   rJ   r`   ra   rb   rc   	__class__s         r   r,   WmfStubImageFile.load   s     ?"IIe!YYz2NBBc5))hRWA&A67RWA&A67DJ w|~r   )rW   r[   r\   )r/   r0   )r/   ImageFile.StubHandler | Nonerj   )rJ   z"float | tuple[float, float] | Noner/   zImage.core.PixelAccess | None)r2   r3   r4   r5   formatformat_descriptionrg   rk   r,   r6   __classcell__)rr   s   @r   r?   r?   N   s9    F+BH 9=5	& r   r?   c                    [         b  [        [         S5      (       d  Sn[        U5      e[         R                  XU5        g )NsavezWMF save handler not installed)r   hasattrOSErrorry   )r   r&   filenamer_   s       r   _saver}      s1    wx88.clMM"(#r   z.wmfz.emf)r   rt   r/   r0   )r<   bytesr/   bool)r   r1   r&   z	IO[bytes]r|   zstr | bytesr/   r0   )
__future__r   typingr    r   r   _binaryr   rU   r	   rX   r
   rZ   r   r   rz   r*   StubHandlerr   r=   StubImageFiler?   r}   register_openru   register_saveregister_extensionsr7   r   r   <module>r      s   * #   " $ $ 5::y!!Y** " Z\"QWy.. Wt$   $++-=w G   $++U 3   *11FF3C Dr   