+
    ÂHàj¦(  ã            	      óâ  a € 0 t $ ^ RIHt RR0t^ RIt^ RIt^ RIt^ RIt^ RIt^ RI	H
t
 ^RIHt Rt]'       d   ^ RIHt . tR	]R
&   R.R R lltR/R R llt ! R R4      t ! R R]4      t]P,                  R8X  d	   ]! ]4        ! R R]4      t]P,                  R8X  d	   ]! ]4        ! R R]P0                  ]4      t ! R R]4      t ! R R]4      t ! R R]4      t ! R R ]4      t ! R! R"]4      t]P,                  R09  d¡   ]P>                  ! R#4      '       d	   ]! ]4       ]P>                  ! R$4      '       d	   ]! ]4       ]P>                  ! R%4      '       d	   ]! ]4       ]P>                  ! R&4      '       d	   ]! ]4       ]P>                  ! R'4      '       d	   ]! ]4        ! R( R)]4      t  ^ R*I!H"t# ]! ] 4       ]%R+8X  dˆ   ]&! ]PN                  4      ^8  d   ](! R,4       ]PR                  ! 4        ]PT                  ! ]PN                  ^,          4      ;_uu_ 4       t+](! ]! ]+.]PN                  R-,          O5!  4       RRR4       R# R#   ]$ d     L™i ; i  + '       g   i     R# ; i)1é    )ÚannotationsÚshlexÚ
subprocessN©Úquote)ÚImageF)ÚAnyzlist[Viewer]Ú_viewersc               ó$   € V ^8„  d   QhRRRRRR/# )é   Úviewerztype[Viewer] | ViewerÚorderÚintÚreturnÚNone© )Úformats   "Ú�/home/ubuntu/.hermes/installs/5f0a1ff4045d044e/environments/88679baa1dc64374a0cd943b62eeefb9/venv/lib/python3.14/site-packages/PIL/ImageShow.pyÚ__annotate__r   "   s"   € ÷ #ñ #Ð*ð #°3ð #¸tñ #ó    c                óÔ   € \        V \        4      '       d   \        V \        4      '       d   V ! 4       p V^ 8”  d   \        P                  V 4       R# \        P                  ^ V 4       R# )aü  
The :py:func:`register` function is used to register additional viewers::

    from PIL import ImageShow
    ImageShow.register(MyViewer())  # MyViewer will be used as a last resort
    ImageShow.register(MySecondViewer(), 0)  # MySecondViewer will be prioritised
    ImageShow.register(ImageShow.XVViewer(), 0)  # XVViewer will be prioritised

:param viewer: The viewer to be registered.
:param order:
    Zero or a negative integer to prepend this viewer to the list,
    a positive integer to append it.
N)Ú
isinstanceÚtypeÚ
issubclassÚViewerr
   ÚappendÚinsert)r   r   s   &&r   Úregisterr   "   sE   € ô �&œ$×Ò¤J¨v´v×$>Ò$>Ù“ˆØˆq„yÜ�‰˜Öä�‰˜˜6Ö"r   c               ó(   € V ^8„  d   QhRRRRRRRR/# )	r   ÚimageúImage.ImageÚtitleú
str | NoneÚoptionsr	   r   Úboolr   )r   s   "r   r   r   8   s(   € ÷ ñ �ð  Jð À#ð È$ñ r   c                ó\   € \          F!  pVP                  ! V 3RV/VB '       g   K    R# 	  R# )zó
Display a given image.

:param image: An image object.
:param title: Optional title. Not all viewers can display the title.
:param \**options: Additional viewer options.
:returns: ``True`` if a suitable viewer was found, ``False`` otherwise.
r"   TF)r
   Úshow)r    r"   r$   r   s   &&, r   r'   r'   8   s/   € ÷ ˆØ�;Š;�uÑ5 EÐ5¨W×5Ò5Úñ ñ r   c                  ó�   € ] tR t^Gt$ RtR R ltRtR]R&    / tR]R&    R	 R
 lt	R R lt
R R ltR R ltR R ltR R ltRtR# )r   zBase class for viewers.c               ó$   € V ^8„  d   QhRRRRRR/# ©r   r    r!   r$   r	   r   r   r   )r   s   "r   r   ÚViewer.__annotate__L   s!   € ÷ 1ñ 1˜+ð 1°#ð 1¸#ñ 1r   c                ó  € VP                   R9   ge   V P                  R8X  d   VP                   R9   gC   \        P                  ! VP                   4      pVP                   V8w  d   VP	                  V4      pV P
                  ! V3/ VB # )zk
The main function for displaying an image.
Converts the given image to the target format and displays it.
ÚPNG)Ú1ÚRGBA)zI;16ÚLA)Úmoder   r   ÚgetmodebaseÚconvertÚ
show_image)Úselfr    r$   Úbases   &&, r   r'   ÚViewer.showL   si   € ð �J‰J˜-Ô'Ø—‘˜uÔ$¨¯©°~Ô)Eä×$Ò$ U§Z¡ZÓ0ˆDØ�z‰z˜TÔ!ØŸ™ dÓ+�à�Š˜uÑ0¨Ñ0Ð0r   Nr#   r   zdict[str, Any]r$   c               ó    € V ^8„  d   QhRRRR/# )r   r    r!   r   r#   r   )r   s   "r   r   r+   c   s   € ÷ ñ  ð °
ñ r   c                ó   € V P                   # )z3Return format name, or ``None`` to save as PGM/PPM.)r   ©r5   r    s   &&r   Ú
get_formatÚViewer.get_formatc   s   € à�{‰{Ðr   c               ó$   € V ^8„  d   QhRRRRRR/# ©r   ÚfileÚstrr$   r	   r   r   )r   s   "r   r   r+   g   s!   € ÷ 'ñ ' ð '°ð '¸ñ 'r   c                ó   € Rp\        V4      h)zR
Returns the command used to display the file.
Not implemented in the base class.
zunavailable in base viewer)ÚNotImplementedError©r5   r?   r$   Úmsgs   &&, r   Úget_commandÚViewer.get_commandg   s   € ð
 +ˆÜ! #Ó&Ð&r   c               ó    € V ^8„  d   QhRRRR/# )r   r    r!   r   r@   r   )r   s   "r   r   r+   o   s   € ÷ Jñ J ð J°ñ Jr   c                ó\   € VP                   ! RRV P                  V4      /V P                  B # )z+Save to temporary file and return filename.r   r   )Ú_dumpr;   r$   r:   s   &&r   Ú
save_imageÚViewer.save_imageo   s&   € à�{Š{ÑI $§/¡/°%Ó"8ÐI¸D¿L¹LÑIÐIr   c               ó$   € V ^8„  d   QhRRRRRR/# r*   r   )r   s   "r   r   r+   s   s&   € ÷ Añ A ð A¸ð AÀñ Ar   c                óF   € V P                   ! V P                  V4      3/ VB # )zDisplay the given image.)Ú	show_filerJ   ©r5   r    r$   s   &&,r   r4   ÚViewer.show_images   s   € à�~Š~˜dŸo™o¨eÓ4Ñ@¸Ñ@Ð@r   c               ó$   € V ^8„  d   QhRRRRRR/# ©r   Úpathr@   r$   r	   r   r   r   )r   s   "r   r   r+   w   ó!   € ÷ ñ ˜cð ¨cð °cñ r   c                óª   € \         P                  P                  V4      '       g   \        h\         P                  ! V P
                  ! V3/ VB 4       ^# )ú
Display given file.
)ÚosrS   ÚexistsÚFileNotFoundErrorÚsystemrE   ©r5   rS   r$   s   &&,r   rN   ÚViewer.show_filew   s<   € ô �w‰w�~‰~˜d×#Ò#Ü#Ð#Ü
�	Š	�$×"Ò" 4Ñ3¨7Ñ3Ô4Ùr   c               ó    € V ^8„  d   QhRRRR/# )r   rS   r@   r   r   r   )r   s   "r   r   r+   €   s   € ÷ ñ ¨Sð °Tñ r   c                	ó  € \        \        R R4      ;'       d    \        \        R4      pV'       * ;'       d    \        P                  ;'       g    \        P
                  ! R4      pV'       d   \        P                  ! VRRV.4       R# R# )ÚfrozenFÚ_MEIPASSÚpython3z-cz<import os, sys, time; time.sleep(20); os.remove(sys.argv[1])N)ÚgetattrÚsysÚhasattrÚ
executableÚshutilÚwhichr   ÚPopen)r5   rS   Úpyinstallerre   s   &&  r   Ú_remove_path_after_delayÚViewer._remove_path_after_delay€   sj   € Üœc 8¨UÓ3×PÐP¼ÄÀZÓ8PˆØ%”o×8Ð8¬#¯.©.×TÐT¼V¿\º\È)Ó=Tˆ
çÜ×ÒàØØRØð	öñ r   r   )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r'   r   Ú__annotations__r$   r;   rE   rJ   r4   rN   rj   Ú__static_attributes__r   r   r   r   r   G   sK   ‡ Ù!õ1ð$ €FˆJÓØ/Ø €Gˆ^Ó Ø7õõ'õJõAõ÷ñ r   r   c                  óB   € ] tR t^’tRtRtR^RR/tR R ltR R	 ltR
t	R# )ÚWindowsViewerzNThe default viewer on Windows is the default system application for PNG files.r-   Úcompress_levelÚsave_allTc               ó$   € V ^8„  d   QhRRRRRR/# r>   r   )r   s   "r   r   ÚWindowsViewer.__annotate__˜   s!   € ÷ 	
ñ 	
 ð 	
°ð 	
¸ñ 	
r   c                	ó`   € R V9   d   Rp\        V4      hVP                  RR4      pRV RV R 2# )Ú"z.Windows filenames cannot contain double quotesÚ%z"%"zstart "Pillow" /WAIT "z)" && ping -n 4 127.0.0.1 >NUL && del /f ")Ú
ValueErrorÚreplacerC   s   &&, r   rE   ÚWindowsViewer.get_command˜   sE   € Ø�$Œ;ØBˆCÜ˜S“/Ð!Ø�|‰|˜C Ó'ˆà$ T Fð +à˜˜qð"ð	
r   c               ó$   € V ^8„  d   QhRRRRRR/# rR   r   )r   s   "r   r   rx   £   s!   € ÷ 	ñ 	˜cð 	¨cð 	°cñ 	r   c                óÔ   € \         P                  P                  V4      '       g   \        h\        P
                  R8X  d   \         P                  ! V4       V P                  V4       ^# )rV   Úwin32)rW   rS   rX   rY   rc   ÚplatformÚ	startfilerj   r[   s   &&,r   rN   ÚWindowsViewer.show_file£   sF   € ô �w‰w�~‰~˜d×#Ò#Ü#Ð#Ü�<‰<˜7Ô"Ü�LŠL˜ÔØ×%Ñ% dÔ+Ùr   r   N©
rl   rm   rn   ro   rp   r   r$   rE   rN   rr   r   r   r   rt   rt   ’   s'   † ÙXà€FØ  J°Ð5€Gõ	
÷	ñ 	r   rt   r�   c                  óB   € ] tR t^³tRtRtR^RR/tR R ltR R	 ltR
t	R# )Ú	MacViewerz2The default viewer on macOS using ``Preview.app``.r-   ru   rv   Tc               ó$   € V ^8„  d   QhRRRRRR/# r>   r   )r   s   "r   r   ÚMacViewer.__annotate__¹   s!   € ÷ ñ  ð °ð ¸ñ r   c                	óF   € R pRV R\        V4       R\        V4       R2pV# )zopen -a Preview.appÚ(Ú z; sleep 20; rm -f z)&r   ©r5   r?   r$   Úcommands   &&, r   rE   ÚMacViewer.get_command¹   s1   € ð (ˆØ�g�Y˜a¤ d£˜}Ð,>¼uÀT»{¸mÈ2ÐNˆØˆr   c               ó$   € V ^8„  d   QhRRRRRR/# rR   r   )r   s   "r   r   r‰   À   s!   € ÷ ñ ˜cð ¨cð °cñ r   c                ó²   € \         P                  P                  V4      '       g   \        h\        P
                  ! RRRV.4       V P                  V4       ^# )rV   Úopenz-azPreview.app)rW   rS   rX   rY   r   Úcallrj   r[   s   &&,r   rN   ÚMacViewer.show_fileÀ   sC   € ô �w‰w�~‰~˜d×#Ò#Ü#Ð#Ü�Š˜  }°dÐ;Ô<Ø×%Ñ% dÔ+Ùr   r   Nr…   r   r   r   r‡   r‡   ³   s'   † Ù<à€FØ  J°Ð5€Gõ÷ñ r   r‡   Údarwinc                  ó\   € ] tR t^ÏtRtR^RR/t]P                  R R l4       tR R lt	R	t
R
# )Ú
UnixViewerr-   ru   rv   Tc               ó$   € V ^8„  d   QhRRRRRR/# ©r   r?   r@   r$   r	   r   útuple[str, str]r   )r   s   "r   r   ÚUnixViewer.__annotate__Ô   s!   € ÷ ñ  3ð °3ð ¸?ñ r   c                	ó   € R # ©Nr   )r5   r?   r$   s   &&,r   Úget_command_exÚUnixViewer.get_command_exÓ   s   € ár   c               ó$   € V ^8„  d   QhRRRRRR/# r>   r   )r   s   "r   r   r›   ×   s!   € ÷ *ñ * ð *°ð *¸ñ *r   c                	óV   € V P                   ! V3/ VB ^ ,          pV R\        V4       2# )r   rŒ   )rž   r   r�   s   &&, r   rE   ÚUnixViewer.get_command×   s1   € Ø×%Ò% dÑ6¨gÑ6°qÕ9ˆØ�˜!œE $›K˜=Ð)Ð)r   r   N)rl   rm   rn   ro   r   r$   ÚabcÚabstractmethodrž   rE   rr   r   r   r   r—   r—   Ï   s7   † Ø€FØ  J°Ð5€Gà×Ñôó ð÷*ñ *r   r—   c                  ó2   € ] tR t^ÜtRtR R ltR R ltRtR# )Ú	XDGViewerz+
The freedesktop.org ``xdg-open`` command.
c               ó$   € V ^8„  d   QhRRRRRR/# r™   r   )r   s   "r   r   ÚXDGViewer.__annotate__á   s!   € ÷ #ñ # 3ð #°3ð #¸?ñ #r   c                	ó   € R ;r4W43# )úxdg-openr   )r5   r?   r$   rŽ   re   s   &&,  r   rž   ÚXDGViewer.get_command_exá   s   € Ø)Ð)ˆØÐ"Ð"r   c               ó$   € V ^8„  d   QhRRRRRR/# rR   r   )r   s   "r   r   r¨   å   rT   r   c                óŒ   € \         P                  P                  V4      '       g   \        h\        P
                  ! RV.4       ^# )rV   rª   ©rW   rS   rX   rY   r   rh   r[   s   &&,r   rN   ÚXDGViewer.show_fileå   s3   € ô �w‰w�~‰~˜d×#Ò#Ü#Ð#Ü×Ò˜* dÐ+Ô,Ùr   r   N©rl   rm   rn   ro   rp   rž   rN   rr   r   r   r   r¦   r¦   Ü   s   † ñõ#÷ñ r   r¦   c                  ó6   € ] tR t^ïtRtRR R lltR R ltRtR# )	ÚDisplayViewerzT
The ImageMagick ``display`` command.
This viewer supports the ``title`` parameter.
Nc               ó(   € V ^8„  d   QhRRRRRRRR/# ©	r   r?   r@   r"   r#   r$   r	   r   rš   r   )r   s   "r   r   ÚDisplayViewer.__annotate__õ   s,   € ÷ #ñ #Øð#Ø *ð#Ø>Að#à	ñ#r   c                	óH   € R ;rEV'       d   VR\        V4       2,          pWE3# )Údisplayz -title r   ©r5   r?   r"   r$   rŽ   re   s   &&&,  r   rž   ÚDisplayViewer.get_command_exõ   s-   € ð  )Ð(ˆßØ˜¤%¨£, Ð0Õ0ˆGØÐ"Ð"r   c               ó$   € V ^8„  d   QhRRRRRR/# rR   r   )r   s   "r   r   rµ   ý   ó!   € ÷ ñ ˜cð ¨cð °cñ r   c                óø   € \         P                  P                  V4      '       g   \        hR.pVP	                  R4      pV'       d   VRV.,          pVP                  V4       \        P                  ! V4       ^# )rV   r·   r"   z-title©rW   rS   rX   rY   Úgetr   r   rh   ©r5   rS   r$   Úargsr"   s   &&,  r   rN   ÚDisplayViewer.show_fileý   sa   € ô �w‰w�~‰~˜d×#Ò#Ü#Ð#Øˆ{ˆØ—‘˜GÓ$ˆßØ�X˜uÐ%Õ%ˆDØ�‰�DÔä×Ò˜ÔÙr   r   r�   r°   r   r   r   r²   r²   ï   s   † ñ÷
#÷ñ r   r²   c                  ó2   € ] tR tRtRtR R ltR R ltRtR# )	ÚGmDisplayVieweri  z*The GraphicsMagick ``gm display`` command.c               ó$   € V ^8„  d   QhRRRRRR/# r™   r   )r   s   "r   r   ÚGmDisplayViewer.__annotate__  ó!   € ÷ #ñ # 3ð #°3ð #¸?ñ #r   c                	ó   € R pRpWC3# )Úgmz
gm displayr   ©r5   r?   r$   re   rŽ   s   &&,  r   rž   ÚGmDisplayViewer.get_command_ex  s   € Øˆ
ØˆØÐ"Ð"r   c               ó$   € V ^8„  d   QhRRRRRR/# rR   r   )r   s   "r   r   rÅ     rT   r   c                óŽ   € \         P                  P                  V4      '       g   \        h\        P
                  ! RRV.4       ^# )rV   rÈ   r·   r®   r[   s   &&,r   rN   ÚGmDisplayViewer.show_file  s5   € ô �w‰w�~‰~˜d×#Ò#Ü#Ð#Ü×Ò˜$ 	¨4Ð0Ô1Ùr   r   Nr°   r   r   r   rÃ   rÃ     s   † Ù4õ#÷
ñ r   rÃ   c                  ó2   € ] tR tRtRtR R ltR R ltRtR# )	Ú	EogVieweri  z'The GNOME Image Viewer ``eog`` command.c               ó$   € V ^8„  d   QhRRRRRR/# r™   r   )r   s   "r   r   ÚEogViewer.__annotate__"  rÆ   r   c                	ó   € R pRpWC3# )Úeogzeog -nr   rÉ   s   &&,  r   rž   ÚEogViewer.get_command_ex"  s   € Øˆ
ØˆØÐ"Ð"r   c               ó$   € V ^8„  d   QhRRRRRR/# rR   r   )r   s   "r   r   rÑ   '  rT   r   c                óŽ   € \         P                  P                  V4      '       g   \        h\        P
                  ! RRV.4       ^# )rV   rÓ   z-nr®   r[   s   &&,r   rN   ÚEogViewer.show_file'  s5   € ô �w‰w�~‰~˜d×#Ò#Ü#Ð#Ü×Ò˜%  tÐ,Ô-Ùr   r   Nr°   r   r   r   rÏ   rÏ     s   † Ù1õ#÷
ñ r   rÏ   c                  ó6   € ] tR tRtRtR	R R lltR R ltRtR# )
ÚXVVieweri1  zL
The X Viewer ``xv`` command.
This viewer supports the ``title`` parameter.
Nc               ó(   € V ^8„  d   QhRRRRRRRR/# r´   r   )r   s   "r   r   ÚXVViewer.__annotate__7  s,   € ÷ #ñ #Øð#Ø *ð#Ø>Að#à	ñ#r   c                	óH   € R ;rEV'       d   VR\        V4       2,          pWE3# )Úxvz -name r   r¸   s   &&&,  r   rž   ÚXVViewer.get_command_ex7  s-   € ð
  $Ð#ˆßØ˜¤ u£ Ð/Õ/ˆGØÐ"Ð"r   c               ó$   € V ^8„  d   QhRRRRRR/# rR   r   )r   s   "r   r   rÛ   A  r»   r   c                óø   € \         P                  P                  V4      '       g   \        hR.pVP	                  R4      pV'       d   VRV.,          pVP                  V4       \        P                  ! V4       ^# )rV   rÝ   r"   z-namer½   r¿   s   &&,  r   rN   ÚXVViewer.show_fileA  sa   € ô �w‰w�~‰~˜d×#Ò#Ü#Ð#ØˆvˆØ—‘˜GÓ$ˆßØ�W˜eÐ$Õ$ˆDØ�‰�DÔä×Ò˜ÔÙr   r   r�   r°   r   r   r   rÙ   rÙ   1  s   † ñ÷
#÷ñ r   rÙ   rª   r·   rÈ   rÓ   rÝ   c                  ó&   € ] tR tRtRtR R ltRtR# )ÚIPythonVieweri^  z!The viewer for IPython frontends.c               ó$   € V ^8„  d   QhRRRRRR/# r*   r   )r   s   "r   r   ÚIPythonViewer.__annotate__a  s!   € ÷ ñ  ð ¸ð Àñ r   c                	ó   € \        V4       ^# ©é   )Úipython_displayrO   s   &&,r   r4   ÚIPythonViewer.show_imagea  s   € Ü˜ÔÙr   r   N)rl   rm   rn   ro   rp   r4   rr   r   r   r   rã   rã   ^  s   † Ù+÷ñ r   rã   )r·   Ú__main__z.Syntax: python3 ImageShow.py imagefile [title]:r   NNrç   r�   )r�   r•   ),Ú__conditional_annotations__Ú
__future__r   Ú__lazy_modules__r£   rW   rf   r   rc   r   r   Ú r   ÚTYPE_CHECKINGÚtypingr	   r
   rq   r   r'   r   rt   r‚   r‡   ÚABCr—   r¦   r²   rÃ   rÏ   rÙ   rg   rã   ÚIPython.displayr·   ré   ÚImportErrorrl   ÚlenÚargvÚprintÚexitr’   Úim)rì   s   @r   Ú<module>rú      s  øð÷ #Ð "à˜\Ð*Ð ã 
Û 	Û Û Û 
Ý å à€ßÝà€ˆ,Ó ÷#÷,÷Eñ EôV�Fô ð: ‡<�<�7ÔÙˆ]Ôô�ô ð0 ‡<�<�8ÔÙˆYÔô
*�—‘˜&ô 
*ô�
ô ô&�Jô ô<�jô ô$�
ô ô$ˆzô ð@ ‡<�<Ð*Ô*Ø‡|‚|�J×ÒÙ�ÔØ‡|‚|�I×ÒÙ�ÔØ‡|‚|�D×ÒÙ�Ô!Ø‡|‚|�E×ÒÙ�ÔØ‡|‚|�D×ÒÙ�Ôô�Fô ðÝ:ñ ˆ]Ôð ˆzÔÙ
ˆ3�8‰8ƒ}�qÔÙÐ>Ô?Ø�ŠŒ
à	�Š�C—H‘H˜Q•K×	 Ô	  BÙ‰d�2Ð%˜Ÿ™ �Ó%Ô&÷ 
!Ñ	 ñ øð ô 	Ùð	ú÷ 
!×	 Ð	 ús   Æ2I È""IÉIÉIÉI.	