🐐 GOAT Shell
Current path:
opt
/
alt
/
python38
/
lib64
/
python3.8
/
👤 Create WP Admin
⬆️
Go up: lib64
✏️ Editing: _weakrefset.py
# Access WeakSet through the weakref module. # This code is separated-out because it is needed # by abc.py to load everything else at startup. from _weakref import ref __all__ = ['WeakSet'] class _IterationGuard: # This context manager registers itself in the current iterators of the # weak container, such as to delay all removals until the context manager # exits. # This technique should be relatively thread-safe (since sets are). def __init__(self, weakcontainer): # Don't create cycles self.weakcontainer = ref(weakcontainer) def __enter__(self): w = self.weakcontainer() if w is not None: w._iterating.add(self) return self def __exit__(self, e, t, b): w = self.weakcontainer() if w is not None: s = w._iterating s.remove(self) if not s: w._commit_removals() class WeakSet: def __init__(self, data=None): self.data = set() def _remove(item, selfref=ref(self)): self = selfref() if self is not None: if self._iterating: self._pending_removals.append(item) else: self.data.discard(item) self._remove = _remove # A list of keys to be removed self._pending_removals = [] self._iterating = set() if data is not None: self.update(data) def _commit_removals(self): l = self._pending_removals discard = self.data.discard while l: discard(l.pop()) def __iter__(self): with _IterationGuard(self): for itemref in self.data: item = itemref() if item is not None: # Caveat: the iterator will keep a strong reference to # `item` until it is resumed or closed. yield item def __len__(self): return len(self.data) - len(self._pending_removals) def __contains__(self, item): try: wr = ref(item) except TypeError: return False return wr in self.data def __reduce__(self): return (self.__class__, (list(self),), getattr(self, '__dict__', None)) def add(self, item): if self._pending_removals: self._commit_removals() self.data.add(ref(item, self._remove)) def clear(self): if self._pending_removals: self._commit_removals() self.data.clear() def copy(self): return self.__class__(self) def pop(self): if self._pending_removals: self._commit_removals() while True: try: itemref = self.data.pop() except KeyError: raise KeyError('pop from empty WeakSet') from None item = itemref() if item is not None: return item def remove(self, item): if self._pending_removals: self._commit_removals() self.data.remove(ref(item)) def discard(self, item): if self._pending_removals: self._commit_removals() self.data.discard(ref(item)) def update(self, other): if self._pending_removals: self._commit_removals() for element in other: self.add(element) def __ior__(self, other): self.update(other) return self def difference(self, other): newset = self.copy() newset.difference_update(other) return newset __sub__ = difference def difference_update(self, other): self.__isub__(other) def __isub__(self, other): if self._pending_removals: self._commit_removals() if self is other: self.data.clear() else: self.data.difference_update(ref(item) for item in other) return self def intersection(self, other): return self.__class__(item for item in other if item in self) __and__ = intersection def intersection_update(self, other): self.__iand__(other) def __iand__(self, other): if self._pending_removals: self._commit_removals() self.data.intersection_update(ref(item) for item in other) return self def issubset(self, other): return self.data.issubset(ref(item) for item in other) __le__ = issubset def __lt__(self, other): return self.data < set(map(ref, other)) def issuperset(self, other): return self.data.issuperset(ref(item) for item in other) __ge__ = issuperset def __gt__(self, other): return self.data > set(map(ref, other)) def __eq__(self, other): if not isinstance(other, self.__class__): return NotImplemented return self.data == set(map(ref, other)) def symmetric_difference(self, other): newset = self.copy() newset.symmetric_difference_update(other) return newset __xor__ = symmetric_difference def symmetric_difference_update(self, other): self.__ixor__(other) def __ixor__(self, other): if self._pending_removals: self._commit_removals() if self is other: self.data.clear() else: self.data.symmetric_difference_update(ref(item, self._remove) for item in other) return self def union(self, other): return self.__class__(e for s in (self, other) for e in s) __or__ = union def isdisjoint(self, other): return len(self.intersection(other)) == 0 def __repr__(self): return repr(self.data)
Save
📁
asyncio
|
✏️ Rename
|
🗑️ Delete
📁
collections
|
✏️ Rename
|
🗑️ Delete
📁
concurrent
|
✏️ Rename
|
🗑️ Delete
📁
config-3.8-x86_64-linux-gnu
|
✏️ Rename
|
🗑️ Delete
📁
ctypes
|
✏️ Rename
|
🗑️ Delete
📁
curses
|
✏️ Rename
|
🗑️ Delete
📁
dbm
|
✏️ Rename
|
🗑️ Delete
📁
distutils
|
✏️ Rename
|
🗑️ Delete
📁
email
|
✏️ Rename
|
🗑️ Delete
📁
encodings
|
✏️ Rename
|
🗑️ Delete
📁
ensurepip
|
✏️ Rename
|
🗑️ Delete
📁
html
|
✏️ Rename
|
🗑️ Delete
📁
http
|
✏️ Rename
|
🗑️ Delete
📁
importlib
|
✏️ Rename
|
🗑️ Delete
📁
json
|
✏️ Rename
|
🗑️ Delete
📁
lib-dynload
|
✏️ Rename
|
🗑️ Delete
📁
lib2to3
|
✏️ Rename
|
🗑️ Delete
📁
logging
|
✏️ Rename
|
🗑️ Delete
📁
multiprocessing
|
✏️ Rename
|
🗑️ Delete
📁
pydoc_data
|
✏️ Rename
|
🗑️ Delete
📁
site-packages
|
✏️ Rename
|
🗑️ Delete
📁
sqlite3
|
✏️ Rename
|
🗑️ Delete
📁
unittest
|
✏️ Rename
|
🗑️ Delete
📁
urllib
|
✏️ Rename
|
🗑️ Delete
📁
venv
|
✏️ Rename
|
🗑️ Delete
📁
wsgiref
|
✏️ Rename
|
🗑️ Delete
📁
xml
|
✏️ Rename
|
🗑️ Delete
📁
xmlrpc
|
✏️ Rename
|
🗑️ Delete
📁
__pycache__
|
✏️ Rename
|
🗑️ Delete
📄
abc.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
aifc.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
antigravity.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
argparse.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
ast.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
asynchat.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
asyncore.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
base64.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
bdb.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
binhex.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
bisect.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
bz2.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
calendar.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
cgi.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
cgitb.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
chunk.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
cmd.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
code.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
codecs.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
codeop.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
colorsys.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
compileall.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
configparser.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
contextlib.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
contextvars.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
copy.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
copyreg.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
cProfile.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
crypt.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
csv.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
dataclasses.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
datetime.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
decimal.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
difflib.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
dis.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
doctest.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
dummy_threading.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
enum.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
filecmp.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
fileinput.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
fnmatch.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
formatter.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
fractions.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
ftplib.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
functools.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
genericpath.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
getopt.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
getpass.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
gettext.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
glob.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
gzip.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
hashlib.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
heapq.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
hmac.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
imaplib.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
imghdr.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
imp.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
inspect.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
io.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
ipaddress.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
keyword.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
LICENSE.txt
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
linecache.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
locale.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
lzma.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
mailbox.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
mailcap.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
mimetypes.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
modulefinder.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
netrc.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
nntplib.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
ntpath.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
nturl2path.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
numbers.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
opcode.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
operator.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
optparse.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
os.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
pathlib.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
pdb.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
pickle.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
pickletools.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
pipes.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
pkgutil.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
platform.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
plistlib.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
poplib.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
posixpath.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
pprint.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
profile.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
pstats.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
pty.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
pyclbr.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
pydoc.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
py_compile.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
queue.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
quopri.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
random.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
re.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
reprlib.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
rlcompleter.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
runpy.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
sched.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
secrets.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
selectors.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
shelve.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
shlex.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
shutil.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
signal.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
site.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
smtpd.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
smtplib.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
sndhdr.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
socket.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
socketserver.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
sre_compile.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
sre_constants.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
sre_parse.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
ssl.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
stat.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
statistics.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
string.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
stringprep.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
struct.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
subprocess.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
sunau.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
symbol.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
symtable.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
sysconfig.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
tabnanny.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
tarfile.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
telnetlib.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
tempfile.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
textwrap.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
this.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
threading.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
timeit.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
token.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
tokenize.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
trace.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
traceback.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
tracemalloc.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
tty.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
types.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
typing.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
uu.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
uuid.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
warnings.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
wave.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
weakref.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
webbrowser.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
xdrlib.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
zipapp.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
zipfile.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
zipimport.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
_bootlocale.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
_collections_abc.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
_compat_pickle.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
_compression.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
_dummy_thread.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
_markupbase.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
_osx_support.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
_pydecimal.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
_pyio.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
_py_abc.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
_sitebuiltins.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
_strptime.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
_sysconfigdata_d_linux_x86_64-linux-gnu.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
_sysconfigdata__linux_x86_64-linux-gnu.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
_threading_local.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
_weakrefset.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
__future__.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📄
__phello__.foo.py
|
✏️ Edit
|
✏️ Rename
|
🗑️ Delete
📤 Upload File
Upload
📁 Create Folder
Create Folder