BYPASS SHELL BY ./RAZORGANZ
Server: nginx/1.20.1
System: Linux iZdzfnv9mwfppeZ 5.10.134-19.2.al8.x86_64 #1 SMP Wed Oct 29 22:47:09 CST 2025 x86_64
User: apache (48)
PHP: 8.2.30
Disabled: NONE
Upload Files
File: //lib64/python3.6/site-packages/tornado/platform/__pycache__/twisted.cpython-36.opt-1.pyc
3

	��f��@s�dZddlZddlZddlZddlZddlmZddlm	Z	ddl
ZddlZddlZddl
ZddlmZmZddlmZddlmZddlmZddlZejr�dd	lmZmZmZmZGd
d�de�Zeejd�r�ejj e�eed
�dd��Z!dS)aBBridges between the Twisted reactor and Tornado IOLoop.

This module lets you run applications and libraries written for
Twisted in a Tornado application.  It can be used in two modes,
depending on which library's underlying event loop you want to use.

This module has been tested with Twisted versions 11.0.0 and newer.
�N)�Deferred)�failure)�Future�future_set_exc_info)�utf8)�gen)�Resolver)�	Generator�Any�List�Tuplec@s:eZdZdZdd�dd�Zejdeeedd�d	d
��Z	dS)�TwistedResolvera�Twisted-based asynchronous resolver.

    This is a non-blocking and non-threaded resolver.  It is
    recommended only when threads cannot be used, since it has
    limitations compared to the standard ``getaddrinfo``-based
    `~tornado.netutil.Resolver` and
    `~tornado.netutil.DefaultExecutorResolver`.  Specifically, it returns at
    most one result, and arguments other than ``host`` and ``family``
    are ignored.  It may fail to resolve when ``family`` is not
    ``socket.AF_UNSPEC``.

    Requires Twisted 12.1 or newer.

    .. versionchanged:: 5.0
       The ``io_loop`` argument (deprecated since version 4.1) has been removed.
    N)�returncCs\tjjj�|_tjjjd�}tjjj	|jd�}tjj
jd|jd�}tjjj|||g�|_
dS)Nz
/etc/hosts)�reactorz/etc/resolv.conf)�twisted�internetZasyncioreactorZAsyncioSelectorReactorr�namesZhostsr�cacheZ
CacheResolverZclient�resolveZ
ResolverChain�resolver)�selfZ
host_resolverZcache_resolverZ
real_resolver�r�/usr/lib64/python3.6/twisted.py�
initializeBszTwistedResolver.initializerz*Generator[Any, Any, List[Tuple[int, Any]]])�host�port�familyrc
cstjjj|�r|}tj}n�tjjj|�r4|}tj}n�|jj	t
|��}t�}|j|j
�|V}t|tj�r�y|j�Wq�tjjjk
r�}zt|��WYdd}~Xq�Xn2tjjj|�r�tj}ntjjj|�r�tj}ntj}|tjkr�||kr�td||f��tjt|�||ffg}	|	S)Nz%Requested socket family %d but got %d)rrZabstractZisIPAddress�socketZAF_INETZ
isIPv6AddressZAF_INET6rZ
getHostByNamerrZaddBoth�
set_result�
isinstancer�Failure�raiseExceptionr�errorZDomainError�IOErrorZ	AF_UNSPEC�	Exception�typing�cast�int)
rrrrZresolvedZresolved_familyZdeferredZfut�e�resultrrrrPs2zTwistedResolver.resolve)r)
�__name__�
__module__�__qualname__�__doc__rr�	coroutine�strr'rrrrrr
0s
r
�register)�drcs.t��tjdd��fdd�}|j�j|��S)N)rrc	s4y|j�td��Wnt�tj��YnXdS)Nzerrback called without error)r!r$r�sys�exc_info)r)�frr�errbackzs
z_.<locals>.errback)rrr ZaddCallbacksr)r1r5r)r4r�_vsr6)"r-rr2Ztwisted.internet.abstractrZtwisted.internet.asyncioreactorZtwisted.internet.deferrZtwisted.pythonrZtwisted.names.cacheZtwisted.names.clientZtwisted.names.hostsZtwisted.names.resolveZtornado.concurrentrrZtornado.escaperZtornadorZtornado.netutilrr%Z
TYPE_CHECKINGr	r
rrr
�hasattrZconvert_yieldedr0r6rrrr�<module>s*D