HEX
Server: Microsoft-IIS/10.0
System: Windows NT ITPWINWEBSVR22 10.0 build 20348 (Windows Server 2022) AMD64
User: www.conferencesearch.co.uk (0)
PHP: 8.3.30
Disabled: NONE
Upload Files
File: D:/Python311/Lib/site-packages/mysql/connector/__pycache__/constants.cpython-311.pyc
�

�nc������dZddlZddlmZmZddlmZmZddlm	Z	dZ
dZd	Zd
Z
idd�dd
�dd
�dd
�dd
�dd
�dd�dd�dd�dd�dd�dd�dd�dd�dd�d d�d!d�id"d�d#d�d$d�d%d�d&d�d'd�d(d�d)d�d*d�d+d�d,d�d-d�d.d�d/d�d0d�d1d�d2d��ddddddddddddddd3��Zd4Zd5d6gZd7d8gZd9�Zd:�ZGd;�d<e��ZGd=�d>e��ZGd?�d@e��ZGdA�dBe��ZGdC�dDe��ZGdE�dFe��ZGdG�dHe��ZGdI�dJe��ZGdK�dLee�M��ZGdN�dOe��ZGdP�dQe��ZGdR�dSe��ZgdT�Z idUdV�dWdX�dYdZ�d[d\�d]d^�d_d`�dadb�dcdb�ddde�dfdg�dhdi�djdk�dldm�dndo�dpdq�drds�dtdu�idvdw�dxdy�dzd{�d|d}�d~d�d�d��d�d��d�d��d�d��d�d��d�d��d�d��d�d��d�d��d�d��d�d��d�d���d�d�d�d�d�d�d�d�d�d�d�d�d���Z!e!Z"id�d��d�d��d�d��d�d��d�d��d�d��d�d��d�d��d�d��d�d��d�d��d�d��d�d��d�d��d�d“d�dēd�dƓid�dȓd�dʓd�d̓d�dΓd�dГd�dғd�dԓd�d֓d�dؓd�dړd�dܓd�dޓd�d�d�d�d�d�d�d�d�d��id�d�d�d�d�d�d�d�d�d�d�d�d�d��d�d��d�d��d�d��d�d��d��d��d�d��d�d��d�d��d�d��d	�d
��i�d�d��d
�d��d�d��d�d��d�d��d�d��d�d��d�d��d�d��d�d��d�d ��d!�d"��d#�d$��d%�d&��d'�d(��d)�d*��d+�d,��i�d-�d.��d/�d0��d1�d2��d3�d4��d5�d6��d7�d8��d9�d:��d;�d<��d=�d>��d?�d@��dA�dB��dC�dD��dE�dF��dG�dH��dI�dJ��dK�dL��dM�dN��i�dO�dP��dQ�dR��dS�dT��dU�dV��dW�dX��dY�dZ��d[�d\��d]�d^��d_�d`��da�db��dc�dd��de�df��dg�dh��di�dj��dk�dl��dm�dn��do�dp��i�dq�dr��ds�dt��du�dv��dw�dx��dy�dz��d{�d|��d}�d~��d�d���d��d���d��d���d��d���d��d���d��d���d��d���d��d���d��d���d��d����d��d��d��d��d��d��d��d��d��d��d��d���Z#�d��d��d��d��d��d��Z$e!e"e#e$�d��Z%e!�&��e"�&��e#�&��e$�&���d��Z'dS(�z+Various MySQL constants and character sets.�N)�ABC�ABCMeta�)�MYSQL_CHARACTER_SETS�MYSQL_CHARACTER_SETS_57)�ProgrammingErrori���� ���database�user��password�	password1�	password2�	password3�hostz	127.0.0.1�porti��unix_socket�use_unicodeT�charset�utf8mb4�	collation�converter_class�converter_str_fallbackF�
autocommit�	time_zone�sql_mode�get_warnings�raise_on_warnings�connection_timeout�client_flags�compress�buffered�raw�ssl_ca�ssl_cert�ssl_key�ssl_verify_cert�ssl_verify_identity�
ssl_cipher�tls_ciphersuites�ssl_disabled�tls_versions�passwd)�db�connect_timeout�dsn�
force_ipv6�auth_plugin�allow_local_infile�allow_local_infile_in_path�consume_results�
conn_attrs�dns_srv�use_pure�krb_service_principal�oci_config_file�
fido_callback)�	pool_name�	pool_size�pool_reset_session�TLSv1.2�TLSv1.3�TLSv1�TLSv1.1c��||zdkrdSdS)z.Checks if the flag is set

    Returns booleanrTF�)�flag�flagss  �;D:\Python311\Lib\site-packages\mysql/connector/constants.py�flag_is_setrJfs��	�������t��5�c�J�tjd|�d|�d�t���|S)NzThe option "z" has been deprecated, use "z
" instead.)�category)�warnings�warn�DeprecationWarning)�name�new_name�values   rI�_obsolete_optionrTos;���M�M�t�M�M��M�M�M�#������LrKc�\�eZdZdZdZiZed���Zed���Zed���Z	dS)�
_ConstantszBase class for constants.rc�Z�	|j|dS#ttf$rYdSwxYw)z!Get description of given constantrN)�desc�
IndexError�KeyError��clsrQs  rI�get_descz_Constants.get_desc}s?��	��8�D�>�!�$�$���H�%�	�	�	��4�4�	���s��*�*c�d�|j���D]\}}|d|kr|cS�dS)z$Get information about given constantrN)rX�items)r\�setidrQ�infos    rI�get_infoz_Constants.get_info�sG���(�.�.�*�*�	�	�J�D�$��A�w�%��
�����
��trKc��d}	d�|j���D��}n##ttf$r}d|��}Yd}~nd}~wwxYw|S)z)get full information about given constantrFc�.�g|]\}}|�d|d����S)z : rrF)�.0�k�vs   rI�
<listcomp>z,_Constants.get_full_info.<locals>.<listcomp>�s*��@�@�@�t�q�!�a�?�?�A�a�D�?�?�@�@�@rKz(No information found in constant class. N)rXr_�AttributeErrorrY)r\�res�errs   rI�
get_full_infoz_Constants.get_full_info�sv����	C�@�@�s�x�~�~�/?�/?�@�@�@�C�C���
�+�	C�	C�	C�B�S�B�B�C�C�C�C�C�C�����	C�����
s�#(�A�A�AN)
�__name__�
__module__�__qualname__�__doc__�prefixrX�classmethodr]rbrlrFrKrIrVrVwss������#�#�
�F�
�D�����[������[������[���rKrVc�(�eZdZdZed���ZdS)�_Flagsz'Base class for classes describing flagsc��g}|j���D]%\}}||dzr|�|���&|S)z@Get the name of all bits set

        Returns a list of strings.r)rXr_�append)r\rSrjrQras     rI�get_bit_infoz_Flags.get_bit_info�sP��
���(�.�.�*�*�	!�	!�J�D�$��t�A�w��
!��
�
�4� � � ���
rKN)rmrnrorprrrwrFrKrIrtrt�s3������1�1�����[���rKrtc
�d�eZdZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZ
dZd
ZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZ idd �d!d"�d#d$�d%d&�d'd(�d)d*�d+d,�d-d.�d/d0�d1d2�d3d4�d5d6�d7d8�d9d:�d;d<�d=d>�d?d@�dAdBdCdDdEdFdGdHdIdJdKdL��Z!e"dM���Z#e"dN���Z$e"dO���Z%e"dP���Z&dQS)R�	FieldTypezMySQL Field Types�FIELD_TYPE_rr������r�	�
���
���������������DECIMAL)rr��TINY)rr��SHORT)r{r��LONG)r|r��FLOAT)r}r��DOUBLE)r~r��NULL)rr��	TIMESTAMP)r�r��LONGLONG)rr��INT24)r�r��DATE)r�r��TIME)r�r��DATETIME)r�r��YEAR)r�r��NEWDATE)r�r��VARCHAR)r�r��BIT)r�r�)r��JSON)r��
NEWDECIMAL)r��ENUM)r��SET)r��	TINY_BLOB)r��MEDIUM_BLOB)r��	LONG_BLOB)r��BLOB)r��
VAR_STRING)r��STRING)r��GEOMETRY)r�r�r�r�r�r�r�r�r�r�r�c�6�|j|j|j|jgS)z Get the list of all string types)r�r�r�r��r\s rI�get_string_typeszFieldType.get_string_types�s"��
�K��H��N��J�	
�	
rKc�6�|j|j|j|jgS)z Get the list of all binary types)r�r�r�r�r�s rI�get_binary_typeszFieldType.get_binary_types�s"��
�M��O��M��H�	
�	
rKc��|j|j|j|j|j|j|j|j|j|j	|j
gS)z Get the list of all number types)r�r�r�r�r�r�r�r�r�r�r�r�s rI�get_number_typeszFieldType.get_number_types�sE��
�K��N��H��I��H��I��J��L��I��G��H�
�	
rKc��|j|jgS)z#Get the list of all timestamp types)r�r�r�s rI�get_timestamp_typeszFieldType.get_timestamp_types
s��
�L��M�
�	
rKN)'rmrnrorprqr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rXrrr�r�r�r�rFrKrIryry�s��������
�F��G��D��E��D��E�
�F��D��I��H��E��D��D��H��D��G��G�
�C��D��J��D�
�C��I��K��I��D��J�
�F��H���$�����	���	��	�
	���	�"�
�	���	�(��	�&��	���	���	���	�&��	���	�$�� 	�$�!�"	�}�#�$�*���(�,�(��*�"�&�9���D�>�
�
��[�
��
�
��[�
��
�
��[�
� �
�
��[�
�
�
rKryc���eZdZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZ
dZd
ZdZdZdZdZdZdZdZdZdZdZdZdZidd�dd�dd�dd �d!d"�d#d$�d%d&�d'd(�d)d*�d+d,�d-d.�d/d0�d1d2�d3d4�d5d6�d7d8�d9d:�d;d<d=d>d?d@dA��ZdBS)C�	FieldFlagz_MySQL Field Flags

    Field flags as found in MySQL sources mysql-src/include/mysql_com.h
    rrr{r}rr�� �@�����r
r	�@�������� �NOT_NULL)rzField can't be NULL�PRI_KEY)r{zField is part of a primary key�
UNIQUE_KEY)r}zField is part of a unique key�MULTIPLE_KEY)rzField is part of a keyr�)r�zField is a blob�UNSIGNED)r�zField is unsigned�ZEROFILL)r�zField is zerofill�BINARY)r�zField is binary  r�)r�zfield is an enum�AUTO_INCREMENT)r�zfield is a autoincrement fieldr�)r�zField is a timestampr�)r�zfield is a set�NO_DEFAULT_VALUE)r
z Field doesn't have default value�
ON_UPDATE_NOW)r	zField is set to NOW on UPDATE�NUM)r�zField is num (for clients)�PART_KEY)r�zIntern; Part of some key�GROUP)r�zIntern: Group field)r��Intern: Used by sql_yacc)r�r�)r�zUsed to get fields in item tree)r�zField part of partition func)r�zIntern: Field used in ADD INDEX)r�zIntern: Field is being renamed)�UNIQUE�BINCMP�GET_FIXED_FIELDS�FIELD_IN_PART_FUNC�FIELD_IN_ADD_INDEX�FIELD_IS_RENAMEDN)rmrnrorp�_prefixr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rXrFrKrIr�r�s���������
�G��H��G��J��L��D��H��H�
�F��D��N��I�
�C����M�
�C��H��E�
�F�
�F��� �� ������3���=��	�?��	�:�	�
	�+��	�1�
�	�1��	�/��	�,��	�D��	�6��	�*��	�I��	�C��	�6�� 	�9�!�"	�1�#�$8�7�H�G�J�G�/���D�D�DrKr�c�$�eZdZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZ
dZd
ZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZ dZ!d Z"d!Z#d"Z$id#d$�d%d&�d'd(�d)d*�d+d,�d-d.�d/d0�d1d2�d3d4�d5d6�d7d8�d9d:�d;d<�d=d>�d?d@�dAdB�dCdD�dEdFdGdHdIdJdKdLdMdNdOdPdQdRdSdT��Z%dUS)V�	ServerCmdzMySQL Server Commands�COM_rrr{r|r}r~rr�rr�r�r�r�r�r�r�r�����������������SLEEP)rr��QUIT)rr��INIT_DB)r{r��QUERY)r|r��
FIELD_LIST)r}r��	CREATE_DB)r~r��DROP_DB)rr��REFRESH)r�r��SHUTDOWN)rr��
STATISTICS)r�r��PROCESS_INFO)r�r��CONNECT)r�r��PROCESS_KILL)r�r��DEBUG)r�r��PING)r�r�r�)r�r��DELAYED_INSERT)r�r)r��CHANGE_USER)r��BINLOG_DUMP)r��
TABLE_DUMP)r��CONNECT_OUT)r��REGISTER_REPLICA)r��STMT_PREPARE)r��STMT_EXECUTE)r��STMT_SEND_LONG_DATA)r��
STMT_CLOSE)r��
STMT_RESET)r��
SET_OPTION)r��
STMT_FETCH)r��DAEMON)r��BINLOG_DUMP_GTID)r��RESET_CONNECTION)rrrrrrrrr	r
rrr
rrN)&rmrnrorpr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rrrrrrrrrr	r
rrr
rrrXrFrKrIr�r�Ss����������G�
�E��D��G�
�E��J��I��G��G��H��J��L��G��L��E�
�D�
�D��N��K��K��J��K����L��L����J��J��J��J�
�F�����!���!���!�	�>�!�	��	!�
	�'�!�	�%�
!�	�>�!�	�>�!�	�O�!�	�'�!�	�,�!�	�?�!�	�,�!�	��!�	��!� 	��!!�"	�0�#!�$+�*�(�*�4�,�,�:�(�(�(�(� �4�4�A!�!�!�D�D�DrKr�c
�8�eZdZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZ
dZd
ZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZ idd �d!d"�d#d$�d%d&�d'd(�d)d*�d+d,�d-d.�d/d0�d1d2�d3d4�d5d6�d7d8�d9d:�d;d<�d=d>�d?d@�dAdBdCdDdEdFdGdHdIdJdKdL��Z!eeee
eeeeeg	Z"e#dM���Z$dNS)O�
ClientFlagzgMySQL Client Flags

    Client options as found in the MySQL sources mysql-src/include/mysql_com.h
    rr{r}rr�r�r�r�r�r�r�r�r
r	r�r�r�r�r�r�r�r��@�����@�i�LONG_PASSWD)rzNew more secure passwords�
FOUND_ROWS)r{zFound instead of affected rows�	LONG_FLAG)r}zGet all column flags�CONNECT_WITH_DB)rzOne can specify db on connect�	NO_SCHEMA)r�z!Don't allow database.table.column�COMPRESS)r�zCan use compression protocol�ODBC)r�zODBC client�LOCAL_FILES)r�zCan use LOAD DATA LOCAL�IGNORE_SPACE)r�zIgnore spaces before ''�PROTOCOL_41)r�zNew 4.1 protocol�INTERACTIVE)r�zThis is an interactive client�SSL)r�zSwitch to SSL after handshake�IGNORE_SIGPIPE)r
zIGNORE sigpipes�TRANSACTIONS)r	zClient knows about transactions�RESERVED)r�zOld flag for 4.1 protocol�SECURE_CONNECTION)r�zNew 4.1 authentication�MULTI_STATEMENTS)r�z!Enable/disable multi-stmt support)r�zEnable/disable multi-results)r�zMulti-results in PS-protocol)r�z%Client supports plugin authentication)r�z%Client supports connection attributes)r�zAEnable authentication response packet to be larger than 255 bytes)rzADon't close the connection for a connection with expired password)rz3Capable of handling server state change information)rz!Client no longer needs EOF packet)rz/Support optional extension for query parameters)rr)rr)�
MULTI_RESULTS�PS_MULTI_RESULTS�PLUGIN_AUTH�CONNECT_ARGS�PLUGIN_AUTH_LENENC_CLIENT_DATA�CAN_HANDLE_EXPIRED_PASSWORDS�SESION_TRACK�
DEPRECATE_EOF�CLIENT_QUERY_ATTRIBUTES�SSL_VERIFY_SERVER_CERT�REMEMBER_OPTIONSc�(�d}|jD]}||z}�|S)zbGet the default client options set

        Returns a flag with all the default client options setr)�default)r\rH�options   rI�get_defaultzClientFlag.get_default�s*��
���k�	�	�F��V�O�E�E��rKN)%rmrnrorprrrrrrrrr r!r"r#r$r%r&r'r(r)r*r+r,r-r.r/r0r1r2r3�MULTI_FACTOR_AUTHENTICATIONrXr5rrr7rFrKrIrr�s��������
�K��J��I��O��I��H��D��K��L��K��K�
�C��N��L��H������M����K��L�%,�"�#*� ��L��M�%��$����")��)��<�)��@�)�	�5�)�	�D�	)�
	�B�)�	�<�
)�	�'�)�	�:�)�	�;�)�	�3�)�	�A�)�	�9�)�	�6�)�	�D�)�	�:�)� 	�@�!)�"	�J�#)�$C�E�I�J�+
�)
�
�H�$
�#0�)�Q)�)�)�D�X	���������
�G�����[���rKrc�p�eZdZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZ
dZd
ZdZdZdZddddddddddddddd�Zd S)!�
ServerFlagzeMySQL Server Flags

    Server flags as found in the MySQL sources mysql-src/include/mysql_com.h
    �SERVER_rr{rr�r�r�r�r�r�r�r�r
r	r�)rzTransaction has started)r{zServer in auto_commit mode)rzMulti query - next query exists)r�r)r�r)r�zESet when server opened a read-only non-scrollable cursor for a query.)r�z(Set when a read-only cursor is exhausted)r�zA database was dropped)r�r)r�z�Set if after a prepared statement reprepare we discovered that the new statement returns a different number of result set columns.)r�r)r
z5To mark ResultSet containing output parameter values.)r	z>Set if multi-statement transaction is a read-only transaction.)r�zVSession state has changed on the server because of the execution of the last statement)�SERVER_STATUS_IN_TRANS�SERVER_STATUS_AUTOCOMMIT�SERVER_MORE_RESULTS_EXISTS�SERVER_QUERY_NO_GOOD_INDEX_USED�SERVER_QUERY_NO_INDEX_USED�SERVER_STATUS_CURSOR_EXISTS�SERVER_STATUS_LAST_ROW_SENT�SERVER_STATUS_DB_DROPPED�"SERVER_STATUS_NO_BACKSLASH_ESCAPES�SERVER_STATUS_METADATA_CHANGED�SERVER_QUERY_WAS_SLOW�SERVER_PS_OUT_PARAMS�SERVER_STATUS_IN_TRANS_READONLY�SERVER_SESSION_STATE_CHANGEDN)rmrnrorpr��STATUS_IN_TRANS�STATUS_AUTOCOMMIT�MORE_RESULTS_EXISTS�QUERY_NO_GOOD_INDEX_USED�QUERY_NO_INDEX_USED�STATUS_CURSOR_EXISTS�STATUS_LAST_ROW_SENT�STATUS_DB_DROPPED�STATUS_NO_BACKSLASH_ESCAPESrErFrGrHrIrXrFrKrIr:r:s���������
�G��O��� ��%�� ��!��!����"(��%,�"�#��"��&-�#�#*� �#F�$J�'
�,8�&2�(
�(
�%G�.:�+
�",�!
�,
�)
�G)�)�D�D�DrKr:c�(�eZdZdZed���ZdS)�RefreshOptionMetazRefreshOption Metaclass.c�8�tddtj��S)zzReturn the deprecated alias of RefreshOption.REPLICA.

        Raises a warning about this attribute deprecation.
        zRefreshOption.SLAVEzRefreshOption.REPLICA)rT�
RefreshOption�REPLICA)�selfs rI�SLAVEzRefreshOptionMeta.SLAVEGs"�� �!�#��!�
�
�	
rKN)rmrnrorp�propertyrYrFrKrIrTrTDs3������"�"�
�	
�	
��X�	
�	
�	
rKrTc	�H�eZdZdZdZdZdZdZdZdZ	dZ
d	Zd
ddd
ddddd�ZdS)rVzbMySQL Refresh command options.

    Options used when sending the COM_REFRESH server command.
    �REFRESH_rr{r}rr�r�r�)rzRefresh grant tables)r{zStart on new log file)r}zclose all tables)rzFlush host cache)r�zFlush status variables)r�zFlush thread cache)r�z,Reset source info and restart replica thread)r�z'Deprecated option; use REPLICA instead.)�GRANT�LOG�TABLES�HOST�STATUS�THREADSrWrYN)
rmrnrorpr�r]r^r_r`rarbrWrXrFrKrIrVrVTsh��������
�G��E�
�C�
�F��D�
�F��G��G�2�0�.�,�4�1�K�D�	�	�D�D�DrKrV)�	metaclassc	�l�eZdZdZdZdZdZdZdZdZ	dZ
d	Zd
Zedfedfed
fedfe	dfe
dfedfedfd�Z
dS)�ShutdownTypezVMySQL Shutdown types

    Shutdown types used by the COM_SHUTDOWN server command.
    rrrr{rr�r�r�r�z%defaults to SHUTDOWN_WAIT_ALL_BUFFERSz'wait for existing connections to finishz!wait for existing trans to finishz#wait for existing updates to finishz-flush InnoDB and other storage engine buffersz@don't flush InnoDB buffers, flush other storage engines' buffersz(no description))�SHUTDOWN_DEFAULT�SHUTDOWN_WAIT_CONNECTIONS�SHUTDOWN_WAIT_TRANSACTIONS�SHUTDOWN_WAIT_UPDATES�SHUTDOWN_WAIT_ALL_BUFFERS�SHUTDOWN_WAIT_CRITICAL_BUFFERS�
KILL_QUERY�KILL_CONNECTIONN)rmrnrorpr�rfrgrhrirjrkrlrmrXrFrKrIrereos���������
�G��� !��!"���� "��%'�"��J��O�
�3�
�

&�5�&
�

'�/�'
�

"�1�"
�

&�;�&
�

+�N�+
�"�#5�6�+�-?�@�5��D�D�DrKrec��eZdZdZeZdZdZed���Z	ed���Z
ed���Zed���Zedd	���Z
ed
���ZdS)�CharacterSetaLMySQL supported character sets and collations

    List of character sets with their collations supported by MySQL. This
    maps to the character set we get from the server within the handshake
    packet.

    The list is hardcode so we avoid a database query when getting the
    name of the used character set or collation.
    �rr)rr�r��T�W�Xc�V�|dd�|_|jdkrt|_dSdS)z�Set the MySQL major version and change the charset mapping if is 5.7.

        Args:
            version (tuple): MySQL version tuple.
        Nr{)r~r�)�
mysql_versionrrX)r\�versions  rI�set_mysql_versionzCharacterSet.set_mysql_version�s9��$�B�Q�B�K������&�	/�.�C�H�H�H�	/�	/rKc�r�	|j|dd�S#t$rtd|�d���d�wxYw)aRetrieves character set information as tuple using an ID

        Retrieves character set and collation information based on the
        given MySQL ID.

        Raises ProgrammingError when character set is not supported.

        Returns a tuple.
        rr{�Character set '�
' unsupportedN)rXrYr�r\r`s  rIrbzCharacterSet.get_info�sY��	U��8�E�?�1�Q�3�'�'���	U�	U�	U�"�#I�U�#I�#I�#I�J�J�PT�T�	U���s��6c�@�|�|��\}}|�d|��S)z�Retrieves character set information as string using an ID

        Retrieves character set and collation information based on the
        given MySQL ID.

        Returns a tuple.
        �/)rb)r\rQrrs    rIr]zCharacterSet.get_desc�s.��!�\�\�$�/�/�����'�'�I�'�'�'rKc�p�t|t��rI	|j|}|d|d|fS#ttf$rtd|�d���YnwxYwt
|j��D]1\}}|��|d|kr|ddur|d|d|fcS�2td|�d����)	z�Retrieves the default collation for given character set

        Raises ProgrammingError when character set is not supported.

        Returns list (collation, charset, index)
        rrzCharacter set ID 'rzNr{Try)�
isinstance�intrXrYrZr�	enumerate)r\rra�cids    rI�get_default_collationz"CharacterSet.get_default_collation�s���g�s�#�#�	N�
N��x��(���A�w��Q���0�0����)�
N�
N�
N� �!L�g�!L�!L�!L�M�M�M�M�M�
N����#�3�8�,�,�	-�	-�I�C���
���A�w�'�!�
-�d�1�g��o�
-��A�w��Q���,�,�,�,���G��G�G�G�H�H�Hs�5�$A�ANc��t|t��rB	|j|}||d|dfS#t$rt	d|�d���YnwxYw|dvr
|jdkrd}|�.|�,|�|��}|d	|d|dfS|�Q|�Ot|j��D]'\}}|��||dkr||d|dfcS�(t	d
|�d����t|j��D]3\}}|��|d|kr|d|kr||d|dfcS�4|�|��}t	d
|�d����)aEGet character set information using charset name and/or collation

        Retrieves character set and collation information given character
        set name and/or a collation name.
        If charset is an integer, it will look up the character set based
        on the MySQL's ID.
        For example:
            get_charset_info('utf8',None)
            get_charset_info(collation='utf8_general_ci')
            get_charset_info(47)

        Raises ProgrammingError when character set is not supported.

        Returns a tuple with (id, characterset name, collation)
        rrzCharacter set ID z unknown)�utf8zutf-8rprNr{zCollation 'z	' unknown)rr�rXrYrrur�r�)r\rrrar��_s      rI�get_charset_infozCharacterSet.get_charset_info�s���"�g�s�#�#�	H�
H��x��(����a��$�q�'�2�2���
H�
H�
H� �!F�W�!F�!F�!F�G�G�G�G�G�
H�����'�'�	 �C�,=��,G�	 ��G��	/�9�	/��,�,�W�5�5�D���G�T�!�W�d�1�g�.�.��	G�y�	G�&�s�x�0�0�
3�
3�	��T������Q��'�3���a��$�q�'�2�2�2�2�3�"�#E��#E�#E�#E�F�F�F�"�3�8�,�,�	/�	/�I�C���
���A�w�'�!�
/�d�1�g��&:�
/��T�!�W�d�1�g�.�.�.�.���%�%�g�.�.���A�Y�A�A�A�B�B�Bs�5�A�Ac��g}|jD])}|r%|d|vr|�|d���*t|��S)z^Retrieves a list with names of all supproted character sets

        Returns a tuple.
        r)rXrv�tuple)r\rjras   rI�
get_supportedzCharacterSet.get_supportedsU�����H�	$�	$�D��
$��Q��s�*�
$��
�
�4��7�#�#�#���S�z�z�rK)NN)rmrnrorprrXru�slash_charsetsrrrwrbr]r�r�r�rFrKrIroro�s��������� �D��M�-�N��/�/��[�/��
U�
U��[�
U��	(�	(��[�	(��I�I��[�I�,�)C�)C�)C��[�)C�V�	�	��[�	�	�	rKroc���eZdZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZ
dZd
ZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZ dZ!d Z"d!Z#d"Z$e%d#���Z&e%d$���Z'e%d%���Z(d&S)'�SQLModez�MySQL SQL Modes

    The numeric values of SQL Modes are not interesting, only the names
    are used when setting the SQL_MODE system variable using the MySQL
    SET command.

    See http://dev.mysql.com/doc/refman/5.6/en/server-sql-mode.html
    �MODE_�
REAL_AS_FLOAT�PIPES_AS_CONCAT�ANSI_QUOTESr �NOT_USED�ONLY_FULL_GROUP_BY�NO_UNSIGNED_SUBTRACTION�NO_DIR_IN_CREATE�
POSTGRESQL�ORACLE�MSSQL�DB2�MAXDB�NO_KEY_OPTIONS�NO_TABLE_OPTIONS�NO_FIELD_OPTIONS�MYSQL323�MYSQL40�ANSI�NO_AUTO_VALUE_ON_ZERO�NO_BACKSLASH_ESCAPES�STRICT_TRANS_TABLES�STRICT_ALL_TABLES�NO_ZERO_IN_DATE�NO_ZERO_DATE�
INVALID_DATES�ERROR_FOR_DIVISION_BY_ZERO�TRADITIONAL�NO_AUTO_CREATE_USER�HIGH_NOT_PRECEDENCE�NO_ENGINE_SUBSTITUTION�PAD_CHAR_TO_FULL_LENGTHc��t��N��NotImplementedErrorr[s  rIr]zSQLMode.get_descQ���!�!rKc��t�r�r�r{s  rIrbzSQLMode.get_infoUr�rKc��g}t|�����D]J}|�d��s3tt	||��d��s|�|���Kt
t|����S)z�Returns a sequence of all available SQL Modes

        This class method returns a tuple containing all SQL Mode names. The
        names will be alphabetically sorted.

        Returns a tuple.
        r��__call__)�vars�keys�
startswith�hasattr�getattrrvr��sorted)r\rj�keys   rIrlzSQLMode.get_full_infoYs{������9�9�>�>�#�#�	 �	 �C��>�>�#�&�&�
 �w�w�s�C�7H�7H�*�/U�/U�
 ��
�
�3������V�C�[�[�!�!�!rKN))rmrnrorpr�r�r�r�r r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rrr]rbrlrFrKrIr�r�%s"���������G�#�M�'�O��K�!�L��H�-��7��)���J�
�F��E�
�C��E�%�N�)��)���H��G��D�3��1��/��+��'�O�!�L�#�M�!=���K�/��/��5��7���"�"��[�"��"�"��[�"��"�"��[�"�"�"rKr�)
�_pid�	_platform�_source_host�_client_name�_client_license�_client_version�_os�_connector_name�_connector_license�_connector_version�TLS_RSA_WITH_NULL_MD5zNULL-MD5�TLS_RSA_WITH_NULL_SHAzNULL-SHA�TLS_RSA_WITH_RC4_128_MD5zRC4-MD5�TLS_RSA_WITH_RC4_128_SHAzRC4-SHA�TLS_RSA_WITH_IDEA_CBC_SHAzIDEA-CBC-SHA�TLS_RSA_WITH_3DES_EDE_CBC_SHAzDES-CBC3-SHA� TLS_DH_DSS_WITH_3DES_EDE_CBC_SHAzNot implemented.� TLS_DH_RSA_WITH_3DES_EDE_CBC_SHA�!TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHAzDHE-DSS-DES-CBC3-SHA�!TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHAzDHE-RSA-DES-CBC3-SHA�TLS_DH_anon_WITH_RC4_128_MD5zADH-RC4-MD5�!TLS_DH_anon_WITH_3DES_EDE_CBC_SHAzADH-DES-CBC3-SHA�TLS_RSA_WITH_AES_128_CBC_SHAz
AES128-SHA�TLS_RSA_WITH_AES_256_CBC_SHAz
AES256-SHA�TLS_DH_DSS_WITH_AES_128_CBC_SHAzDH-DSS-AES128-SHA�TLS_DH_DSS_WITH_AES_256_CBC_SHAzDH-DSS-AES256-SHA�TLS_DH_RSA_WITH_AES_128_CBC_SHAzDH-RSA-AES128-SHA�TLS_DH_RSA_WITH_AES_256_CBC_SHAzDH-RSA-AES256-SHA� TLS_DHE_DSS_WITH_AES_128_CBC_SHAzDHE-DSS-AES128-SHA� TLS_DHE_DSS_WITH_AES_256_CBC_SHAzDHE-DSS-AES256-SHA� TLS_DHE_RSA_WITH_AES_128_CBC_SHAzDHE-RSA-AES128-SHA� TLS_DHE_RSA_WITH_AES_256_CBC_SHAzDHE-RSA-AES256-SHA� TLS_DH_anon_WITH_AES_128_CBC_SHAzADH-AES128-SHA� TLS_DH_anon_WITH_AES_256_CBC_SHAzADH-AES256-SHA�!TLS_RSA_WITH_CAMELLIA_128_CBC_SHAzCAMELLIA128-SHA�!TLS_RSA_WITH_CAMELLIA_256_CBC_SHAzCAMELLIA256-SHA�$TLS_DH_DSS_WITH_CAMELLIA_128_CBC_SHAzDH-DSS-CAMELLIA128-SHA�$TLS_DH_DSS_WITH_CAMELLIA_256_CBC_SHAzDH-DSS-CAMELLIA256-SHA�$TLS_DH_RSA_WITH_CAMELLIA_128_CBC_SHAzDH-RSA-CAMELLIA128-SHA�$TLS_DH_RSA_WITH_CAMELLIA_256_CBC_SHAzDH-RSA-CAMELLIA256-SHA�%TLS_DHE_DSS_WITH_CAMELLIA_128_CBC_SHAzDHE-DSS-CAMELLIA128-SHA�%TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHAzDHE-DSS-CAMELLIA256-SHA�%TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHAzDHE-RSA-CAMELLIA128-SHA�%TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHAzDHE-RSA-CAMELLIA256-SHAzADH-CAMELLIA128-SHAzADH-CAMELLIA256-SHAzSEED-SHAzDH-DSS-SEED-SHAzDH-RSA-SEED-SHAzDHE-DSS-SEED-SHAzDHE-RSA-SEED-SHAzADH-SEED-SHAzGOST94-GOST89-GOST89zGOST2001-GOST89-GOST89zGOST94-NULL-GOST94zGOST2001-NULL-GOST94)�%TLS_DH_anon_WITH_CAMELLIA_128_CBC_SHA�%TLS_DH_anon_WITH_CAMELLIA_256_CBC_SHA�TLS_RSA_WITH_SEED_CBC_SHA�TLS_DH_DSS_WITH_SEED_CBC_SHA�TLS_DH_RSA_WITH_SEED_CBC_SHA�TLS_DHE_DSS_WITH_SEED_CBC_SHA�TLS_DHE_RSA_WITH_SEED_CBC_SHA�TLS_DH_anon_WITH_SEED_CBC_SHA�#TLS_GOSTR341094_WITH_28147_CNT_IMIT�#TLS_GOSTR341001_WITH_28147_CNT_IMIT�#TLS_GOSTR341094_WITH_NULL_GOSTR3411�#TLS_GOSTR341001_WITH_NULL_GOSTR3411�TLS_RSA_WITH_NULL_SHA256zNULL-SHA256�TLS_RSA_WITH_AES_128_CBC_SHA256z
AES128-SHA256�TLS_RSA_WITH_AES_256_CBC_SHA256z
AES256-SHA256�TLS_RSA_WITH_AES_128_GCM_SHA256zAES128-GCM-SHA256�TLS_RSA_WITH_AES_256_GCM_SHA384zAES256-GCM-SHA384�"TLS_DH_RSA_WITH_AES_128_CBC_SHA256zDH-RSA-AES128-SHA256�"TLS_DH_RSA_WITH_AES_256_CBC_SHA256zDH-RSA-AES256-SHA256�"TLS_DH_RSA_WITH_AES_128_GCM_SHA256zDH-RSA-AES128-GCM-SHA256�"TLS_DH_RSA_WITH_AES_256_GCM_SHA384zDH-RSA-AES256-GCM-SHA384�"TLS_DH_DSS_WITH_AES_128_CBC_SHA256zDH-DSS-AES128-SHA256�"TLS_DH_DSS_WITH_AES_256_CBC_SHA256zDH-DSS-AES256-SHA256�"TLS_DH_DSS_WITH_AES_128_GCM_SHA256zDH-DSS-AES128-GCM-SHA256�"TLS_DH_DSS_WITH_AES_256_GCM_SHA384zDH-DSS-AES256-GCM-SHA384�#TLS_DHE_RSA_WITH_AES_128_CBC_SHA256zDHE-RSA-AES128-SHA256�#TLS_DHE_RSA_WITH_AES_256_CBC_SHA256zDHE-RSA-AES256-SHA256�#TLS_DHE_RSA_WITH_AES_128_GCM_SHA256zDHE-RSA-AES128-GCM-SHA256�#TLS_DHE_RSA_WITH_AES_256_GCM_SHA384zDHE-RSA-AES256-GCM-SHA384�#TLS_DHE_DSS_WITH_AES_128_CBC_SHA256zDHE-DSS-AES128-SHA256�#TLS_DHE_DSS_WITH_AES_256_CBC_SHA256zDHE-DSS-AES256-SHA256�#TLS_DHE_DSS_WITH_AES_128_GCM_SHA256zDHE-DSS-AES128-GCM-SHA256�#TLS_DHE_DSS_WITH_AES_256_GCM_SHA384zDHE-DSS-AES256-GCM-SHA384�%TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256zECDHE-RSA-AES128-SHA256�%TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384zECDHE-RSA-AES256-SHA384�%TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256zECDHE-RSA-AES128-GCM-SHA256�%TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384zECDHE-RSA-AES256-GCM-SHA384�'TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256zECDHE-ECDSA-AES128-SHA256�'TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384zECDHE-ECDSA-AES256-SHA384�'TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256zECDHE-ECDSA-AES128-GCM-SHA256�'TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384zECDHE-ECDSA-AES256-GCM-SHA384�#TLS_DH_anon_WITH_AES_128_CBC_SHA256zADH-AES128-SHA256�#TLS_DH_anon_WITH_AES_256_CBC_SHA256zADH-AES256-SHA256�#TLS_DH_anon_WITH_AES_128_GCM_SHA256zADH-AES128-GCM-SHA256�#TLS_DH_anon_WITH_AES_256_GCM_SHA384zADH-AES256-GCM-SHA384�RSA_WITH_AES_128_CCMz
AES128-CCM�RSA_WITH_AES_256_CCMz
AES256-CCM�DHE_RSA_WITH_AES_128_CCMzDHE-RSA-AES128-CCM�DHE_RSA_WITH_AES_256_CCMzDHE-RSA-AES256-CCM�RSA_WITH_AES_128_CCM_8zAES128-CCM8�RSA_WITH_AES_256_CCM_8zAES256-CCM8�DHE_RSA_WITH_AES_128_CCM_8zDHE-RSA-AES128-CCM8�DHE_RSA_WITH_AES_256_CCM_8zDHE-RSA-AES256-CCM8�ECDHE_ECDSA_WITH_AES_128_CCMzECDHE-ECDSA-AES128-CCM�ECDHE_ECDSA_WITH_AES_256_CCMzECDHE-ECDSA-AES256-CCM�ECDHE_ECDSA_WITH_AES_128_CCM_8zECDHE-ECDSA-AES128-CCM8�ECDHE_ECDSA_WITH_AES_256_CCM_8zECDHE-ECDSA-AES256-CCM8� TLS_RSA_WITH_ARIA_128_GCM_SHA256zARIA128-GCM-SHA256� TLS_RSA_WITH_ARIA_256_GCM_SHA384zARIA256-GCM-SHA384�$TLS_DHE_RSA_WITH_ARIA_128_GCM_SHA256zDHE-RSA-ARIA128-GCM-SHA256�$TLS_DHE_RSA_WITH_ARIA_256_GCM_SHA384zDHE-RSA-ARIA256-GCM-SHA384�$TLS_DHE_DSS_WITH_ARIA_128_GCM_SHA256zDHE-DSS-ARIA128-GCM-SHA256�$TLS_DHE_DSS_WITH_ARIA_256_GCM_SHA384zDHE-DSS-ARIA256-GCM-SHA384�(TLS_ECDHE_ECDSA_WITH_ARIA_128_GCM_SHA256zECDHE-ECDSA-ARIA128-GCM-SHA256�(TLS_ECDHE_ECDSA_WITH_ARIA_256_GCM_SHA384zECDHE-ECDSA-ARIA256-GCM-SHA384�&TLS_ECDHE_RSA_WITH_ARIA_128_GCM_SHA256zECDHE-ARIA128-GCM-SHA256�&TLS_ECDHE_RSA_WITH_ARIA_256_GCM_SHA384zECDHE-ARIA256-GCM-SHA384� TLS_PSK_WITH_ARIA_128_GCM_SHA256zPSK-ARIA128-GCM-SHA256� TLS_PSK_WITH_ARIA_256_GCM_SHA384zPSK-ARIA256-GCM-SHA384�$TLS_DHE_PSK_WITH_ARIA_128_GCM_SHA256zDHE-PSK-ARIA128-GCM-SHA256�$TLS_DHE_PSK_WITH_ARIA_256_GCM_SHA384zDHE-PSK-ARIA256-GCM-SHA384�$TLS_RSA_PSK_WITH_ARIA_128_GCM_SHA256zRSA-PSK-ARIA128-GCM-SHA256�$TLS_RSA_PSK_WITH_ARIA_256_GCM_SHA384zRSA-PSK-ARIA256-GCM-SHA384�,TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_CBC_SHA256zECDHE-ECDSA-CAMELLIA128-SHA256�,TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_CBC_SHA384zECDHE-ECDSA-CAMELLIA256-SHA384�*TLS_ECDHE_RSA_WITH_CAMELLIA_128_CBC_SHA256zECDHE-RSA-CAMELLIA128-SHA256�*TLS_ECDHE_RSA_WITH_CAMELLIA_256_CBC_SHA384zECDHE-RSA-CAMELLIA256-SHA384�PSK_WITH_NULL_SHAzPSK-NULL-SHA�DHE_PSK_WITH_NULL_SHAzDHE-PSK-NULL-SHA�RSA_PSK_WITH_NULL_SHAzRSA-PSK-NULL-SHA�PSK_WITH_RC4_128_SHAzPSK-RC4-SHA�PSK_WITH_3DES_EDE_CBC_SHAzPSK-3DES-EDE-CBC-SHA�PSK_WITH_AES_128_CBC_SHAzPSK-AES128-CBC-SHA�PSK_WITH_AES_256_CBC_SHAzPSK-AES256-CBC-SHA�DHE_PSK_WITH_RC4_128_SHAzDHE-PSK-RC4-SHA�DHE_PSK_WITH_3DES_EDE_CBC_SHAzDHE-PSK-3DES-EDE-CBC-SHA�DHE_PSK_WITH_AES_128_CBC_SHAzDHE-PSK-AES128-CBC-SHA�DHE_PSK_WITH_AES_256_CBC_SHAzDHE-PSK-AES256-CBC-SHA�RSA_PSK_WITH_RC4_128_SHAzRSA-PSK-RC4-SHA�RSA_PSK_WITH_3DES_EDE_CBC_SHAzRSA-PSK-3DES-EDE-CBC-SHA�RSA_PSK_WITH_AES_128_CBC_SHAzRSA-PSK-AES128-CBC-SHA�RSA_PSK_WITH_AES_256_CBC_SHAzRSA-PSK-AES256-CBC-SHA�PSK_WITH_AES_128_GCM_SHA256zPSK-AES128-GCM-SHA256�PSK_WITH_AES_256_GCM_SHA384zPSK-AES256-GCM-SHA384�DHE_PSK_WITH_AES_128_GCM_SHA256zDHE-PSK-AES128-GCM-SHA256�DHE_PSK_WITH_AES_256_GCM_SHA384zDHE-PSK-AES256-GCM-SHA384�RSA_PSK_WITH_AES_128_GCM_SHA256zRSA-PSK-AES128-GCM-SHA256�RSA_PSK_WITH_AES_256_GCM_SHA384zRSA-PSK-AES256-GCM-SHA384�PSK_WITH_AES_128_CBC_SHA256zPSK-AES128-CBC-SHA256�PSK_WITH_AES_256_CBC_SHA384zPSK-AES256-CBC-SHA384�PSK_WITH_NULL_SHA256zPSK-NULL-SHA256�PSK_WITH_NULL_SHA384zPSK-NULL-SHA384�DHE_PSK_WITH_AES_128_CBC_SHA256zDHE-PSK-AES128-CBC-SHA256�DHE_PSK_WITH_AES_256_CBC_SHA384zDHE-PSK-AES256-CBC-SHA384�DHE_PSK_WITH_NULL_SHA256zDHE-PSK-NULL-SHA256�DHE_PSK_WITH_NULL_SHA384zDHE-PSK-NULL-SHA384�RSA_PSK_WITH_AES_128_CBC_SHA256zRSA-PSK-AES128-CBC-SHA256�RSA_PSK_WITH_AES_256_CBC_SHA384zRSA-PSK-AES256-CBC-SHA384�RSA_PSK_WITH_NULL_SHA256zRSA-PSK-NULL-SHA256�RSA_PSK_WITH_NULL_SHA384zRSA-PSK-NULL-SHA384�ECDHE_PSK_WITH_RC4_128_SHAzECDHE-PSK-RC4-SHA�ECDHE_PSK_WITH_3DES_EDE_CBC_SHAzECDHE-PSK-3DES-EDE-CBC-SHA�ECDHE_PSK_WITH_AES_128_CBC_SHAzECDHE-PSK-AES128-CBC-SHA�ECDHE_PSK_WITH_AES_256_CBC_SHAzECDHE-PSK-AES256-CBC-SHA�!ECDHE_PSK_WITH_AES_128_CBC_SHA256zECDHE-PSK-AES128-CBC-SHA256�!ECDHE_PSK_WITH_AES_256_CBC_SHA384zECDHE-PSK-AES256-CBC-SHA384�ECDHE_PSK_WITH_NULL_SHAzECDHE-PSK-NULL-SHA�ECDHE_PSK_WITH_NULL_SHA256zECDHE-PSK-NULL-SHA256�ECDHE_PSK_WITH_NULL_SHA384zECDHE-PSK-NULL-SHA384� PSK_WITH_CAMELLIA_128_CBC_SHA256zPSK-CAMELLIA128-SHA256� PSK_WITH_CAMELLIA_256_CBC_SHA384zPSK-CAMELLIA256-SHA384�$DHE_PSK_WITH_CAMELLIA_128_CBC_SHA256zDHE-PSK-CAMELLIA128-SHA256�$DHE_PSK_WITH_CAMELLIA_256_CBC_SHA384zDHE-PSK-CAMELLIA256-SHA384�$RSA_PSK_WITH_CAMELLIA_128_CBC_SHA256zRSA-PSK-CAMELLIA128-SHA256�$RSA_PSK_WITH_CAMELLIA_256_CBC_SHA384zRSA-PSK-CAMELLIA256-SHA384�&ECDHE_PSK_WITH_CAMELLIA_128_CBC_SHA256zECDHE-PSK-CAMELLIA128-SHA256�&ECDHE_PSK_WITH_CAMELLIA_256_CBC_SHA384zECDHE-PSK-CAMELLIA256-SHA384�PSK_WITH_AES_128_CCMzPSK-AES128-CCM�PSK_WITH_AES_256_CCMzPSK-AES256-CCM�DHE_PSK_WITH_AES_128_CCMzDHE-PSK-AES128-CCM�DHE_PSK_WITH_AES_256_CCMzDHE-PSK-AES256-CCMzPSK-AES128-CCM8zPSK-AES256-CCM8zDHE-PSK-AES128-CCM8zDHE-PSK-AES256-CCM8zECDHE-RSA-CHACHA20-POLY1305zECDHE-ECDSA-CHACHA20-POLY1305zDHE-RSA-CHACHA20-POLY1305zPSK-CHACHA20-POLY1305zECDHE-PSK-CHACHA20-POLY1305zDHE-PSK-CHACHA20-POLY1305zRSA-PSK-CHACHA20-POLY1305)�PSK_WITH_AES_128_CCM_8�PSK_WITH_AES_256_CCM_8�DHE_PSK_WITH_AES_128_CCM_8�DHE_PSK_WITH_AES_256_CCM_8�+TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256�-TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256�)TLS_DHE_RSA_WITH_CHACHA20_POLY1305_SHA256�%TLS_PSK_WITH_CHACHA20_POLY1305_SHA256�+TLS_ECDHE_PSK_WITH_CHACHA20_POLY1305_SHA256�)TLS_DHE_PSK_WITH_CHACHA20_POLY1305_SHA256�)TLS_RSA_PSK_WITH_CHACHA20_POLY1305_SHA256�TLS_AES_128_GCM_SHA256�TLS_AES_256_GCM_SHA384�TLS_CHACHA20_POLY1305_SHA256�TLS_AES_128_CCM_SHA256�TLS_AES_128_CCM_8_SHA256)rwrxryrzr{)rCrDrArB)(rprN�abcrr�charsetsrr�errorsr�MAX_PACKET_LENGTH�NET_BUFFER_LENGTH�MAX_MYSQL_TABLE_COLUMNS�PARAMETER_COUNT_AVAILABLE�DEFAULT_CONFIGURATION�
CNX_POOL_ARGS�TLS_VERSIONS�DEPRECATED_TLS_VERSIONSrJrTrVrtryr�r�rr:rTrVreror��
CONN_ATTRS_DN�TLSV1_CIPHER_SUITES�TLSV1_1_CIPHER_SUITES�TLSV1_2_CIPHER_SUITES�TLSV1_3_CIPHER_SUITES�TLS_CIPHER_SUITES�values�OPENSSL_CS_NAMESrFrKrI�<module>r�s��:2�1�������������C�C�C�C�C�C�C�C�$�$�$�$�$�$���������1���1�
�B�1���1���	1�
��1���
1��K�1��D�1��4�1��4�1��y�1���1��t�1��e�1��%�1� ��!1�"��#1�1�$�E�%1�&��'1�(�$�)1�*�A�+1�,��-1�.��/1�0
�5�11�2
�d�31�4��51�6�t�71�8�u�91�:�5�;1�<�$�=1�>��?1�@�E�A1�B�D�C1�D
�d�E1�1�F������"&�����!���a1�1�1��fA�
��9�%��"�I�.�����������������D�����Z����k
�k
�k
�k
�k
�
�k
�k
�k
�\:�:�:�:�:��:�:�:�zF�F�F�F�F�
�F�F�F�Rc�c�c�c�c��c�c�c�L?�?�?�?�?��?�?�?�D

�

�

�

�

��

�

�

� �����J�*;�����6+�+�+�+�+�:�+�+�+�\E�E�E�E�E�:�E�E�E�PA"�A"�A"�A"�A"�j�A"�A"�A"�H���
�3��Z�3��Z�3��	�3��	�	3�
 ��3�$�^�
3�'�(:�3�'�(:�3�(�)?�3�(�)?�3�#�M�3�(�);�3�#�L�3�#�L�3� &�':�!3�"&�':�#3�$&�':�%3�3�&&�':�'3�('�(<�)3�*'�(<�+3�,'�(<�-3�.'�(<�/3�0'�(8�13�2'�(8�33�6(�):�73�8(�):�93�:+�,D�;3�<+�,D�=3�>+�,D�?3�@+�,D�A3�B,�-F�C3�D,�-F�E3�F,�-F�G3�H,�-F�I3�3�J.C�-B�!+�$5�$5�%7�%7�%3�+A�+C�+?�+A�e3�3�3��l,��G��
�G�%��G�&��G�&�':�	G�
&�':�G�)�*@�
G�)�*@�G�)�*D�G�)�*D�G�)�*@�G�)�*@�G�)�*D�G�)�*D�G�*�+B�G�*�+B�G� *�+F�!G�"*�+F�#G�G�$*�+B�%G�&*�+B�'G�(*�+F�)G�**�+F�+G�,,�-F�-G�.,�-F�/G�0,�-J�1G�2,�-J�3G�4.�/J�5G�6.�/J�7G�8.�/N�9G�:.�/N�;G�<*�+>�=G�>*�+>�?G�@*�+B�AG�B*�+B�CG�D�L�EG�G�G�F�L�GG�H� 4�IG�J� 4�KG�L�m�MG�N�m�OG�P!�"7�QG�R!�"7�SG�T#�$<�UG�V#�$<�WG�X%�&?�YG�Z%�&?�[G�^'�(<�_G�`'�(<�aG�b+�,H�cG�d+�,H�eG�f+�,H�gG�h+�,H�iG�G�G�j/�0P�kG�l/�0P�mG�n-�.H�oG�p-�.H�qG�r'�(@�sG�t'�(@�uG�v+�,H�wG�x+�,H�yG�z+�,H�{G�|+�,H�}G�@3�4T�AG�B3�4T�CG�D1�2P�EG�F1�2P�GG�J��KG�L�/�MG�N�/�OG�G�G�P�M�QG�R �!7�SG�T� 4�UG�V� 4�WG�X� 1�YG�Z$�%?�[G�\#�$<�]G�^#�$<�_G�`� 1�aG�b$�%?�cG�d#�$<�eG�f#�$<�gG�h"�#:�iG�j"�#:�kG�l&�'B�mG�n&�'B�oG�p&�'B�qG�G�G�r&�'B�sG�t"�#:�uG�v"�#:�wG�x�-�yG�z�-�{G�|&�'B�}G�~&�'B�G�@� 5�AG�B� 5�CG�D&�'B�EG�F&�'B�GG�H� 5�IG�J� 5�KG�L!�"5�MG�N&�'C�OG�P%�&@�QG�R%�&@�SG�G�G�T(�)F�UG�V(�)F�WG�X�3�YG�Z!�"9�[G�\!�"9�]G�^'�(@�_G�`'�(@�aG�b+�,H�cG�d+�,H�eG�f+�,H�gG�h+�,H�iG�j-�.L�kG�l-�.L�mG�n�,�oG�p�,�qG�r� 4�sG�t� 4�uG�G�v0�/�"7�"7�3P�5T�1L�-D�3P�1L�1L�MG�G�G��V7�6�$B�6� :����!�$�$�$�	���!�
'�
'�
)�
)�$�+�+�-�-�$�+�+�-�-�$�+�+�-�-�	����rK