REDROOM
PHP 8.2.31
Path:
Logout
Edit File
Size: 73.86 KB
Close
/lib/python2.7/site-packages/ipaddress.pyo
Text
Base64
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ICAgICAgYWRkcjIgPSBpcF9uZXR3b3JrKCcxOTIuMC4yLjEvMzInKQogICAgICAgICAgICBsaXN0KGFkZHIxLmFkZHJlc3NfZXhjbHVkZShhZGRyMikpID0KICAgICAgICAgICAgICAgIFtJUHY0TmV0d29yaygnMTkyLjAuMi4wLzMyJyksIElQdjROZXR3b3JrKCcxOTIuMC4yLjIvMzEnKSwKICAgICAgICAgICAgICAgICBJUHY0TmV0d29yaygnMTkyLjAuMi40LzMwJyksIElQdjROZXR3b3JrKCcxOTIuMC4yLjgvMjknKV0KCiAgICAgICAgb3IgSVB2NjoKCiAgICAgICAgICAgIGFkZHIxID0gaXBfbmV0d29yaygnMjAwMTpkYjg6OjEvMzInKQogICAgICAgICAgICBhZGRyMiA9IGlwX25ldHdvcmsoJzIwMDE6ZGI4OjoxLzEyOCcpCiAgICAgICAgICAgIGxpc3QoYWRkcjEuYWRkcmVzc19leGNsdWRlKGFkZHIyKSkgPQogICAgICAgICAgICAgICAgW2lwX25ldHdvcmsoJzIwMDE6ZGI4OjoxLzEyOCcpLAogICAgICAgICAgICAgICAgIGlwX25ldHdvcmsoJzIwMDE6ZGI4OjoyLzEyNycpLAogICAgICAgICAgICAgICAgIGlwX25ldHdvcmsoJzIwMDE6ZGI4Ojo0LzEyNicpLAogICAgICAgICAgICAgICAgIGlwX25ldHdvcmsoJzIwMDE6ZGI4Ojo4LzEyNScpLAogICAgICAgICAgICAgICAgIC4uLgogICAgICAgICAgICAgICAgIGlwX25ldHdvcmsoJzIwMDE6ZGI4OjgwMDA6Oi8zMycpXQoKICAgICAgICBBcmdzOgogICAgICAgICAgICBvdGhlcjogQW4gSVB2NE5ldHdvcmsgb3IgSVB2Nk5ldHdvcmsgb2JqZWN0IG9mIHRoZSBzYW1lIHR5cGUuCgogICAgICAgIFJldHVybnM6CiAgICAgICAgICAgIEFuIGl0ZXJhdG9yIG9mIHRoZSBJUHYoNHw2KU5ldHdvcmsgb2JqZWN0cyB3aGljaCBpcyBzZWxmCiAgICAgICAgICAgIG1pbnVzIG90aGVyLgoKICAgICAgICBSYWlzZXM6CiAgICAgICAgICAgIFR5cGVFcnJvcjogSWYgc2VsZiBhbmQgb3RoZXIgYXJlIG9mIGRpZmZlcmluZyBhZGRyZXNzCiAgICAgICAgICAgICAgdmVyc2lvbnMsIG9yIGlmIG90aGVyIGlzIG5vdCBhIG5ldHdvcmsgb2JqZWN0LgogICAgICAgICAgICBWYWx1ZUVycm9yOiBJZiBvdGhlciBpcyBub3QgY29tcGxldGVseSBjb250YWluZWQgYnkgc2VsZi4KCiAgICAgICAgdSUAAAAlcyBhbmQgJXMgYXJlIG5vdCBvZiB0aGUgc2FtZSB2ZXJzaW9udRoAAAAlcyBpcyBub3QgYSBuZXR3b3JrIG9iamVjdHUWAAAAJXMgbm90IGNvbnRhaW5lZCBpbiAlc051BQAAACVzLyVzdTMAAABFcnJvciBwZXJmb3JtaW5nIGV4Y2x1c2lvbjogczE6ICVzIHMyOiAlcyBvdGhlcjogJXMoCwAAAFJnAAAAUlAAAABSLgAAAFJxAAAAdAkAAABzdWJuZXRfb2ZSMAAAAFKXAAAAUmoAAABSgwAAAFJkAAAAdA4AAABBc3NlcnRpb25FcnJvcigEAAAAUhsAAABSHAAAAHQCAAAAczF0AgAAAHMyKAAAAAAoAAAAAHMtAAAAL3Vzci9saWIvcHl0aG9uMi43L3NpdGUtcGFja2FnZXMvaXBhZGRyZXNzLnB5dA8AAABhZGRyZXNzX2V4Y2x1ZGVfAwAAczYAAAAAJBIBBgETAg8BEwIPARkBDAEEAw8BEAISARsBDwEFARUBDwEFARUDBgIXAQwBCAEMAQgDBgJjAgAAAAIAAAAEAAAAQwACAHOHAAAAfAAAagAAfAEAagAAawMAcisAdAEAZAEAfAAAfAEAZgIAFoMBAIIBAG4AAHwAAGoCAHwBAGoCAGsAAHJBAGQCAFN8AABqAgB8AQBqAgBrBAByVwBkAwBTfAAAagMAfAEAagMAawAAcm0AZAIAU3wAAGoDAHwBAGoDAGsEAHKDAGQDAFNkBABTKAUAAAB1pQQAAENvbXBhcmUgdHdvIElQIG9iamVjdHMuCgogICAgICAgIFRoaXMgaXMgb25seSBjb25jZXJuZWQgYWJvdXQgdGhlIGNvbXBhcmlzb24gb2YgdGhlIGludGVnZXIKICAgICAgICByZXByZXNlbnRhdGlvbiBvZiB0aGUgbmV0d29yayBhZGRyZXNzZXMuICBUaGlzIG1lYW5zIHRoYXQgdGhlCiAgICAgICAgaG9zdCBiaXRzIGFyZW4ndCBjb25zaWRlcmVkIGF0IGFsbCBpbiB0aGlzIG1ldGhvZC4gIElmIHlvdSB3YW50CiAgICAgICAgdG8gY29tcGFyZSBob3N0IGJpdHMsIHlvdSBjYW4gZWFzaWx5IGVub3VnaCBkbyBhCiAgICAgICAgJ0hvc3RBLl9pcCA8IEhvc3RCLl9pcCcKCiAgICAgICAgQXJnczoKICAgICAgICAgICAgb3RoZXI6IEFuIElQIG9iamVjdC4KCiAgICAgICAgUmV0dXJuczoKICAgICAgICAgICAgSWYgdGhlIElQIHZlcnNpb25zIG9mIHNlbGYgYW5kIG90aGVyIGFyZSB0aGUgc2FtZSwgcmV0dXJuczoKCiAgICAgICAgICAgIC0xIGlmIHNlbGYgPCBvdGhlcjoKICAgICAgICAgICAgICBlZzogSVB2NE5ldHdvcmsoJzE5Mi4wLjIuMC8yNScpIDwgSVB2NE5ldHdvcmsoJzE5Mi4wLjIuMTI4LzI1JykKICAgICAgICAgICAgICBJUHY2TmV0d29yaygnMjAwMTpkYjg6OjEwMDAvMTI0JykgPAogICAgICAgICAgICAgICAgICBJUHY2TmV0d29yaygnMjAwMTpkYjg6OjIwMDAvMTI0JykKICAgICAgICAgICAgMCBpZiBzZWxmID09IG90aGVyCiAgICAgICAgICAgICAgZWc6IElQdjROZXR3b3JrKCcxOTIuMC4yLjAvMjQnKSA9PSBJUHY0TmV0d29yaygnMTkyLjAuMi4wLzI0JykKICAgICAgICAgICAgICBJUHY2TmV0d29yaygnMjAwMTpkYjg6OjEwMDAvMTI0JykgPT0KICAgICAgICAgICAgICAgICAgSVB2Nk5ldHdvcmsoJzIwMDE6ZGI4OjoxMDAwLzEyNCcpCiAgICAgICAgICAgIDEgaWYgc2VsZiA+IG90aGVyCiAgICAgICAgICAgICAgZWc6IElQdjROZXR3b3JrKCcxOTIuMC4yLjEyOC8yNScpID4gSVB2NE5ldHdvcmsoJzE5Mi4wLjIuMC8yNScpCiAgICAgICAgICAgICAgICAgIElQdjZO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BAB0BQB8AABqBgCDAQB0BQB8AABqBwCDAQB8AQA+QHwDAGYCAIMBAFMoBwAAAHXLAgAAVGhlIHN1cGVybmV0IGNvbnRhaW5pbmcgdGhlIGN1cnJlbnQgbmV0d29yay4KCiAgICAgICAgQXJnczoKICAgICAgICAgICAgcHJlZml4bGVuX2RpZmY6IEFuIGludGVnZXIsIHRoZSBhbW91bnQgdGhlIHByZWZpeCBsZW5ndGggb2YKICAgICAgICAgICAgICB0aGUgbmV0d29yayBzaG91bGQgYmUgZGVjcmVhc2VkIGJ5LiAgRm9yIGV4YW1wbGUsIGdpdmVuIGEKICAgICAgICAgICAgICAvMjQgbmV0d29yayBhbmQgYSBwcmVmaXhsZW5fZGlmZiBvZiAzLCBhIHN1cGVybmV0IHdpdGggYQogICAgICAgICAgICAgIC8yMSBuZXRtYXNrIGlzIHJldHVybmVkLgoKICAgICAgICBSZXR1cm5zOgogICAgICAgICAgICBBbiBJUHY0IG5ldHdvcmsgb2JqZWN0LgoKICAgICAgICBSYWlzZXM6CiAgICAgICAgICAgIFZhbHVlRXJyb3I6IElmIHNlbGYucHJlZml4bGVuIC0gcHJlZml4bGVuX2RpZmYgPCAwLiBJLmUuLCB5b3UgaGF2ZQogICAgICAgICAgICAgIGEgbmVnYXRpdmUgcHJlZml4IGxlbmd0aC4KICAgICAgICAgICAgICAgIE9SCiAgICAgICAgICAgIElmIHByZWZpeGxlbl9kaWZmIGFuZCBuZXdfcHJlZml4IGFyZSBib3RoIHNldCBvciBuZXdfcHJlZml4IGlzIGEKICAgICAgICAgICAgICBsYXJnZXIgbnVtYmVyIHRoYW4gdGhlIGN1cnJlbnQgcHJlZml4IChsYXJnZXIgbnVtYmVyIG1lYW5zIGEKICAgICAgICAgICAgICBzbWFsbGVyIG5ldHdvcmspCgogICAgICAgIGkAAAAAdRoAAABuZXcgcHJlZml4IG11c3QgYmUgc2hvcnRlcmkBAAAAdSgAAABjYW5ub3Qgc2V0IHByZWZpeGxlbl9kaWZmIGFuZCBuZXdfcHJlZml4dTsAAABjdXJyZW50IHByZWZpeGxlbiBpcyAlZCwgY2Fubm90IGhhdmUgYSBwcmVm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
Base64 mode: content will be decoded on save.
Save
Close
Exit & Reset
Directory Contents
Dirs: 10 × Files: 10
Delete Selected
Select All
Select None
Sort:
Name
Size
Modified
Enable drag-to-move
Name
Size
Perms
Modified
Actions
google
DIR
-
drwxr-xr-x
2025-10-21 13:29:00
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
ipaddress-1.0.18-py2.7.egg-info
DIR
-
drwxr-xr-x
2024-03-06 00:08:53
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
pip
DIR
-
drwxr-xr-x
2024-03-03 20:23:47
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
pip-9.0.3.dist-info
DIR
-
drwxr-xr-x
2024-03-03 20:23:47
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
pkg_resources
DIR
-
drwxr-xr-x
2024-06-15 07:06:53
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
protobuf-3.5.0-py2.7.egg-info
DIR
-
drwxr-xr-x
2025-10-28 07:00:35
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
pycriu
DIR
-
drwxr-xr-x
2026-06-03 07:05:12
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
setuptools
DIR
-
drwxr-xr-x
2024-06-15 07:06:53
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
setuptools-39.0.1.dist-info
DIR
-
drwxr-xr-x
2024-06-15 07:06:53
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
six-1.11.0.dist-info
DIR
-
drwxr-xr-x
2024-03-06 00:08:52
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
easy_install.py
126 B
lrw-r--r--
2024-04-10 05:04:00
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
easy_install.pyc
315 B
lrw-r--r--
2024-04-10 05:04:00
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
easy_install.pyo
315 B
lrw-r--r--
2024-04-10 05:04:00
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
ipaddress.py
78.28 KB
lrw-r--r--
2017-01-11 12:29:13
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
ipaddress.pyc
74.04 KB
lrw-r--r--
2022-04-21 15:05:35
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
ipaddress.pyo
73.86 KB
lrw-r--r--
2022-04-21 15:05:35
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
protobuf-3.5.0-py2.7-nspkg.pth
539 B
lrw-r--r--
2025-10-21 13:29:01
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
six.py
30.16 KB
lrw-r--r--
2022-04-21 16:04:41
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
six.pyc
30.05 KB
lrw-r--r--
2022-04-21 16:04:42
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
six.pyo
30.05 KB
lrw-r--r--
2022-04-21 16:04:42
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
Zip Selected
If ZipArchive is unavailable, a
.tar
will be created (no compression).