U ifa @ sj d Z ddlZddlZddlZddlmZ ddlmZ ddlm Z dddd d ddd ddddgZ G dd d ejZG dd dejZ G dd d eZG dd dZG dd deeeZG dd dee Zdd Zdd ZG dd deZG dd deZG d d deZG d!d deZG d"d deZG d#d$ d$ZG d%d deeZG d&d dee ZG d'd d eZdS )(z4Utilities for with-statement contexts. See PEP 343. N)dequewraps MethodTypeasynccontextmanagercontextmanagerclosingnullcontextAbstractContextManagerAbstractAsyncContextManagerAsyncExitStackContextDecorator ExitStackredirect_stdoutredirect_stderrsuppressc @ s2 e Zd ZdZdd Zejdd Zedd Z dS ) r z,An abstract base class for context managers.c C s | S z0Return `self` upon entering the runtime context. selfr r //opt/alt/python38/lib64/python3.8/contextlib.py __enter__ s z AbstractContextManager.__enter__c C s dS z9Raise any exception triggered within the runtime context.Nr r exc_type exc_value tracebackr r r __exit__ s zAbstractContextManager.__exit__c C s | t krt|ddS tS )Nr r )r _collections_abc_check_methodsNotImplementedclsCr r r __subclasshook__ s z'AbstractContextManager.__subclasshook__N) __name__ __module____qualname____doc__r abcabstractmethodr classmethodr% r r r r r s c @ s2 e Zd ZdZdd Zejdd Zedd Z dS ) r z9An abstract base class for asynchronous context managers.c s | S r r r r r r __aenter__' s z&AbstractAsyncContextManager.__aenter__c s dS r r r r r r __aexit__+ s z%AbstractAsyncContextManager.__aexit__c C s | t krt|ddS tS )Nr- r. )r r r r! r" r r r r% 0 s z,AbstractAsyncContextManager.__subclasshook__N) r&