
    Mhr                         d Z ddlZddlZddlmZmZmZmZmZm	Z	m
Z
mZmZmZ eee	e
efZd Zd Z e            Z ee          \  ZZZZ eee          ZdS )a  Import Qt in a manner suitable for an IPython kernel.

This is the import used for the `gui=qt` or `matplotlib=qt` initialization.

Import Priority:

if Qt has been imported anywhere else:
   use that

if matplotlib has been imported and doesn't support v2 (<= 1.0.1):
    use PyQt4 @v1

Next, ask QT_API env variable

if QT_API not set:
    ask matplotlib what it's using. If Qt4Agg or Qt5Agg, then use the
        version matplotlib is configured with

    else: (matplotlib said nothing)
        # this is the default path - nobody told us anything
        try in this order:
            PyQt default version, PySide, PyQt5
else:
    use what QT_API says

    Note that %gui's implementation will always set a `QT_API`, see
    `IPython.terminal.pt_inputhooks.get_inputhook_name_and_func`

    N)
load_qt
loaded_apienum_factoryQT_API_PYQT6QT_API_PYSIDE6QT_API_PYQT5QT_API_PYSIDE2QT_API_PYQTQT_API_PYSIDEQT_API_PYQT_DEFAULTc                     | dS | j                             dd          }|dk    r| j                             dd          }|dS |                                dk    rt          gS |                                dk    rt          gS |                                dk    rt
          gS t          d|z            |d	k    rQ| j                             d
d          }|dS |                                dk    rt          gS t          d|z            dS )z-Constraints placed on an imported matplotlib.NbackendQt4Aggzbackend.qt4pysidepyqt4pyqt4v2z3unhandled value for backend.qt4 from matplotlib: %rQt5Aggzbackend.qt5pyqt5z3unhandled value for backend.qt5 from matplotlib: %r)rcParamsgetlowerr   r   r
   ImportErrorr   )mplr   mpqts      ^/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/IPython/external/qt_for_kernel.pymatplotlib_optionsr   B   s*   
{ly$//G(|t44<4::<<8##!?"ZZ\\W$$'((ZZ\\Y&&= O     	 	H		|t44<4::<<7"" >!O     	  
	    c                     t                      } | | gS t          j                            dd          }|3t	          |j                            d                    dk     rt          gS t          j	                            dd          }|/t          |          pt          t          t          t          t          gS |t          vr-t!          d|dd                    t                              |gS )	zGReturn a list of acceptable QT APIs, in decreasing order of preference.N
matplotlib.)102QT_APIzInvalid Qt API z, valid values are: z, )r   sysmodulesr   tuple__version__splitr   osenvironr   r   r   r   r	   _qt_apisRuntimeErrorjoin)loadedr   qt_apis      r   get_optionsr1   \   s     \\Fx
+//,
-
-C
5!6!6s!;!;<<NN#$$Z^^Hd++F~!#&& 
+
 	
 
x		l"FFDIIh$7$7$79 : : 	: xr   )__doc__r*   r%   IPython.external.qt_loadersr   r   r   r   r   r   r	   r
   r   r   r,   r   r1   api_optsQtCoreQtGuiQtSvgr$   enum_helper r   r   <module>r:      s   B 
			 



                       & 	     4  < ;==&wx00 ufl66**r   