U
    4Je@                     @   s  d Z ddlZddlZddlZddlZdd ZdazddlmZ eej	aW n e
k
r^   Y nX dd Ztdkredr~d	aned
rdandaedtatdkredtdejkrtdkred dadZtdkrzddlmZ eZ[W n  e
k
r   ed Y nX td	kr^zddlmZ eZ[W n$ e
k
r\   ed daY nX zddlmZ dZW n e
k
r   dZY nX dd Zdd Zdd Zdd ZdS ) zLDetermine which implementation of the protobuf API is used in this process.
    Nc                 C   s,   | dkrdS | dkrt d| dkr(dS d S )N   cpp   z%api_version=1 is no longer supported.r   python)
ValueError)api_version r   O/tmp/pip-unpacked-wheel-0oacnh65/google/protobuf/internal/api_implementation.py_ApiVersionToImplementationType(   s    r
   )_api_implementationc                 C   s<   z t | }|st| d W dS  tk
r6   Y dS X d S )Nz import succeeded but was NoneTF)	importlibimport_moduleImportError)mod_namemodr   r   r	   
_CanImport>   s    
r   zgoogle._upb._messageupbzgoogle.protobuf.pyext._messager   r   Z&PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION)r   r   r   zdPROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION {0} is not supported. Please set to 'python', 'cpp' or 'upb'.PyPyz\PyPy does not work yet with cpp protocol buffers. Falling back to the python implementation.)_messagez-Selected implementation cpp is not available.zXSelected implementation upb is not available. Falling back to the python implementation.)(enable_deterministic_proto_serializationTFc                   C   s   t S N_implementation_typer   r   r   r	   Type   s    r   c                 C   s   | a dS )z'Never use! Only for protobuf benchmark.Nr   )Zimplementation_typer   r   r	   _SetType   s    r   c                   C   s   dS )Nr   r   r   r   r   r	   Version   s    r   c                   C   s   t S r   ))_python_deterministic_proto_serializationr   r   r   r	   )IsPythonDefaultSerializationDeterministic   s    r   )__doc__r   ossyswarningsr
   r   Zgoogle.protobuf.internalr   r   r   r   getenvr   formatversionwarnZ	_c_moduleZgoogle.protobuf.pyextr   Zgoogle._upbZgoogle.protobufr   r   r   r   r   r   r   r   r   r	   <module>   sv   





