U
    @vg                     @   s\   d dl mZ d dlmZ d dlmZ erHd dlmZmZm	Z	 e	dddZ
G dd	 d	eZd
S )    )contextmanager)	ExitStack)MYPY_CHECK_RUNNING)IteratorContextManagerTypeVar_TT)	covariantc                       s0   e Zd Z fddZedd Zdd Z  ZS )CommandContextMixInc                    s    t t|   d| _t | _d S )NF)superr
   __init___in_main_contextr   _main_contextself	__class__ E/tmp/pip-unpacked-wheel-gw11q0wt/pip/_internal/cli/command_context.pyr      s    zCommandContextMixIn.__init__c              	   c   s:   | j r
td| _ z| j d V  W 5 Q R X W 5 d| _ X d S )NTF)r   AssertionErrorr   r   r   r   r   main_context   s    
z CommandContextMixIn.main_contextc                 C   s   | j s
t| j|S )N)r   r   r   enter_context)r   context_providerr   r   r   r       s    
z!CommandContextMixIn.enter_context)__name__
__module____qualname__r   r   r   r   __classcell__r   r   r   r   r
      s   
r
   N)
contextlibr   Zpip._vendor.contextlib2r   pip._internal.utils.typingr   typingr   r   r   r   objectr
   r   r   r   r   <module>   s   