Linux jobworks 6.8.0-136-generic #136-Ubuntu SMP PREEMPT_DYNAMIC Wed Jul 1 21:53:05 UTC 2026 x86_64
Apache/2.4.58 (Ubuntu)
Server IP : 10.0.1.5 & Your IP : 216.73.217.52
Domains :
Cant Read [ /etc/named.conf ]
User : www-data
Terminal
Auto Root
Create File
Create Folder
Localroot Suggester
Backdoor Destroyer
Readme
/
usr /
lib /
python3 /
dist-packages /
attr /
Delete
Unzip
Name
Size
Permission
Date
Action
__pycache__
[ DIR ]
drwxr-xr-x
2025-08-05 17:02
__init__.py
3.23
KB
-rw-r--r--
2024-02-29 21:44
__init__.pyi
16.58
KB
-rw-r--r--
2024-02-29 21:44
_cmp.py
3.93
KB
-rw-r--r--
2024-02-29 21:44
_cmp.pyi
399
B
-rw-r--r--
2024-02-29 21:44
_compat.py
2.48
KB
-rw-r--r--
2024-02-29 21:44
_config.py
843
B
-rw-r--r--
2024-02-29 21:44
_funcs.py
16.77
KB
-rw-r--r--
2024-02-29 21:44
_make.py
99.53
KB
-rw-r--r--
2024-02-29 21:44
_next_gen.py
6.06
KB
-rw-r--r--
2024-02-29 21:44
_typing_compat.pyi
469
B
-rw-r--r--
2024-02-29 21:44
_version_info.py
2.07
KB
-rw-r--r--
2024-02-29 21:44
_version_info.pyi
209
B
-rw-r--r--
2024-02-29 21:44
converters.py
3.54
KB
-rw-r--r--
2024-02-29 21:44
converters.pyi
406
B
-rw-r--r--
2024-02-29 21:44
exceptions.py
1.93
KB
-rw-r--r--
2024-02-29 21:44
exceptions.pyi
539
B
-rw-r--r--
2024-02-29 21:44
filters.py
1.44
KB
-rw-r--r--
2024-02-29 21:44
filters.pyi
225
B
-rw-r--r--
2024-02-29 21:44
py.typed
0
B
-rw-r--r--
2024-02-29 21:44
setters.py
1.37
KB
-rw-r--r--
2024-02-29 21:44
setters.pyi
567
B
-rw-r--r--
2024-02-29 21:44
validators.py
19.21
KB
-rw-r--r--
2024-02-29 21:44
validators.pyi
2.52
KB
-rw-r--r--
2024-02-29 21:44
Save
Rename
# SPDX-License-Identifier: MIT import inspect import platform import sys import threading from collections.abc import Mapping, Sequence # noqa: F401 from typing import _GenericAlias PYPY = platform.python_implementation() == "PyPy" PY_3_8_PLUS = sys.version_info[:2] >= (3, 8) PY_3_9_PLUS = sys.version_info[:2] >= (3, 9) PY310 = sys.version_info[:2] >= (3, 10) PY_3_12_PLUS = sys.version_info[:2] >= (3, 12) if sys.version_info < (3, 8): try: from typing_extensions import Protocol except ImportError: # pragma: no cover Protocol = object else: from typing import Protocol # noqa: F401 class _AnnotationExtractor: """ Extract type annotations from a callable, returning None whenever there is none. """ __slots__ = ["sig"] def __init__(self, callable): try: self.sig = inspect.signature(callable) except (ValueError, TypeError): # inspect failed self.sig = None def get_first_param_type(self): """ Return the type annotation of the first argument if it's not empty. """ if not self.sig: return None params = list(self.sig.parameters.values()) if params and params[0].annotation is not inspect.Parameter.empty: return params[0].annotation return None def get_return_type(self): """ Return the return type if it's not empty. """ if ( self.sig and self.sig.return_annotation is not inspect.Signature.empty ): return self.sig.return_annotation return None # Thread-local global to track attrs instances which are already being repr'd. # This is needed because there is no other (thread-safe) way to pass info # about the instances that are already being repr'd through the call stack # in order to ensure we don't perform infinite recursion. # # For instance, if an instance contains a dict which contains that instance, # we need to know that we're already repr'ing the outside instance from within # the dict's repr() call. # # This lives here rather than in _make.py so that the functions in _make.py # don't have a direct reference to the thread-local in their globals dict. # If they have such a reference, it breaks cloudpickle. repr_context = threading.local() def get_generic_base(cl): """If this is a generic class (A[str]), return the generic base for it.""" if cl.__class__ is _GenericAlias: return cl.__origin__ return None