o
    j                  	   @   sf  d Z ddlZddlZddlZddlZddlmZ ddlZ	ddl
mZ dZdZdZd	Zejd
Zedur8e ZeeeedZejdrHeZnPejdrQeZnGejdrZeZn>ejdrceZn5e	j pid dr}edv rxee Zn dZdZnedu rdZneev ree Znedededd Zeeeeefv re  nKedu rereefeefgZneefeefeefeefgZeD ]\ZZze  W n	 e y   Y qw  ne dddd eD ne!de e"t#j$% & Z'e'dk re dt#j$% (  dejdkr-ee) d ed kr-e'd!k r-ej*d"d# d$d% Z+dS )&a[  
Qt binding and backend selector.

The selection logic is as follows:
- if any of PyQt6, PySide6, PyQt5, or PySide2 have already been
  imported (checked in that order), use it;
- otherwise, if the QT_API environment variable (used by Enthought) is set, use
  it to determine which binding to use;
- otherwise, use whatever the rcParams indicate.
    N)parse   )_QT_FORCE_QT5_BINDINGPyQt6PySide6PyQt5PySide2QT_API)Zpyqt6Zpyside6pyqt5pyside2zPyQt6.QtCorezPySide6.QtCorezPyQt5.QtCorezPySide2.QtCore Zqt5)r
   r   TzTThe environment variable QT_API has the unrecognized value {!r}; valid values are {}z, c                     sj  t tkr)ddlmamamam}  tjatj	t_
tjt_tjt_| jatdad S t tkrVddlmamamama dd lfddatttdkrRtdad S tad S t tkr~ddlmamama dd l} tjatj	t_
tjt_tjt_| jatad S t tkrddlmamamama zdd	lm  W n ty   dd l Y nw  fd
datad S tdt  )Nr   )QtCoreQtGui	QtWidgetssipvalue)r   r   r   __version__c                         |  S NZisValidobj)	shiboken6 ^/var/www/html/Deteccion_Ine/venv/lib/python3.10/site-packages/matplotlib/backends/qt_compat.py
_isdeletedQ   s    r   z6.4)r   r   r   	shiboken2c                    r   r   r   r   r   r   r   r   e   s   Unexpected QT_API: ) r	   QT_API_PYQT6r   r   r   r   r   ZPYQT_VERSION_STRr   Z
pyqtSignalZSignalZpyqtSlotZSlotZpyqtPropertyPropertyZ	isdeletedr   operator
attrgetterZ_to_intQT_API_PYSIDE6r   r   parse_versionintQT_API_PYQT5r   QT_API_PYSIDE2r   r   ImportErrorAssertionError)r   r   )r   r   r   _setup_pyqt5plusB   sD   r*   z<Failed to import any of the following Qt binding modules: {}c                 C   s   g | ]\}}|qS r   r   ).0_r	   r   r   r   
<listcomp>   s    r-   r   )      zThe Qt version imported is z! but Matplotlib requires Qt>=5.12darwinz10.16)r.         ZQT_MAC_WANTS_LAYER1c                 C   s"   t | dr|   d S |   d S )Nexec)hasattrr4   Zexec_r   r   r   r   _exec   s   "r6   ),__doc__r!   osplatformsysZpackaging.versionr   r$   Z
matplotlibZmplr   r   r   r#   r&   r'   environgetZ
QT_API_ENVlowerZ_ETSmodulesr	   ZrcParamsZ_get_backend_or_none
startswithRuntimeErrorformatjoinr*   Z_candidates_setupr(   r)   tupler   ZQLibraryInfoversionsegmentsZ_version_infoZtoStringmac_ver
setdefaultr6   r   r   r   r   <module>   s    

*


