REDROOM
PHP 8.0.30
Path:
Logout
Edit File
Size: 93.11 KB
Close
//proc/self/root/lib64/python3.12/logging/__pycache__/__init__.cpython-312.opt-1.pyc
Text
Base64
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T9oJTG9nUmVjb3Jk2gZMb2dnZXLaDUxvZ2dlckFkYXB0ZXLaBk5PVFNFVNoLTnVsbEhhbmRsZXLaDVN0cmVhbUhhbmRsZXLaBFdBUk7aB1dBUk5JTkfaDGFkZExldmVsTmFtZdoLYmFzaWNDb25maWfaD2NhcHR1cmVXYXJuaW5nc9oIY3JpdGljYWzaBWRlYnVn2gdkaXNhYmxl2gVlcnJvctoJZXhjZXB0aW9u2gVmYXRhbNoMZ2V0TGV2ZWxOYW1l2glnZXRMb2dnZXLaDmdldExvZ2dlckNsYXNz2gRpbmZv2gNsb2faDW1ha2VMb2dSZWNvcmTaDnNldExvZ2dlckNsYXNz2ghzaHV0ZG93btoEd2FybtoHd2FybmluZ9oTZ2V0TG9nUmVjb3JkRmFjdG9yedoTc2V0TG9nUmVjb3JkRmFjdG9yedoKbGFzdFJlc29ydNoPcmFpc2VFeGNlcHRpb25z2hRnZXRMZXZlbE5hbWVzTWFwcGluZ9oQZ2V0SGFuZGxlckJ5TmFtZdoPZ2V0SGFuZGxlck5hbWVzeiZWaW5heSBTYWppcCA8dmluYXlfc2FqaXBAcmVkLWRvdmUuY29tPtoKcHJvZHVjdGlvbnoHMC41LjEuMnoQMDcgRmVicnVhcnkgMjAxMFTpMgAAAOkoAAAA6R4AAADpFAAAAOkKAAAAcggAAAByCgAAAHIXAAAAcg8AAAByCQAAAHITAAAAKQhyCAAAAHILAAAAcgoAAAByFgAAAHIXAAAAcg8AAAByCQAAAHITAAAAYwAAAAAAAAAAAAAAAAIAAAADAAAA8yoAAACXAHQAAAAAAAAAAABqAwAAAAAAAAAAAAAAAAAAAAAAAKsAAAAAAAAAUwCpAU4pAtoMX25hbWVUb0xldmVs2gRjb3B5qQDzAAAAAPopL3Vzci9saWI2NC9weXRob24zLjEyL2xvZ2dpbmcvX19pbml0X18ucHlyLwAAAHIvAAAAfgAAAHMRAAAAgADcCxfXCxzRCxzTCx7QBB5yPQAAAGMBAAAAAAAAAAAAAAADAAAAAwAAAPNwAAAAlwB0AAAAAAAAAAAAagMAAAAAAAAAAAAAAAAAAAAAAAB8AKsBAAAAAAAAfQF8AYECfAFTAHQEAAAAAAAAAABqAwAAAAAAAAAAAAAAAAAAAAAAAHwAqwEAAAAAAAB9AXwBgQJ8AVMAZAF8AHoGAABTACkCYbQCAAAKICAgIFJldHVybiB0aGUgdGV4dHVhbCBvciBudW1lcmljIHJlcHJlc2VudGF0aW9uIG9mIGxvZ2dpbmcgbGV2ZWwgJ2xldmVsJy4KCiAgICBJZiB0aGUgbGV2ZWwgaXMgb25lIG9mIHRoZSBwcmVkZWZpbmVkIGxldmVscyAoQ1JJVElDQUwsIEVSUk9SLCBXQVJOSU5HLAogICAgSU5GTywgREVCVUcpIHRoZW4geW91IGdldCB0aGUgY29ycmVzcG9uZGluZyBzdHJpbmcuIElmIHlvdSBoYXZlCiAgICBhc3NvY2lhdGVkIGxldmVscyB3aXRoIG5hbWVzIHVzaW5nIGFkZExldmVsTmFtZSB0aGVuIHRoZSBuYW1lIHlvdSBoYXZlCiAgICBhc3NvY2lhdGVkIHdpdGggJ2xldmVsJyBpcyByZXR1cm5lZC4KCiAgICBJZiBhIG51bWVyaWMgdmFsdWUgY29ycmVzcG9uZGluZyB0byBvbmUgb2YgdGhlIGRlZmluZWQgbGV2ZWxzIGlzIHBhc3NlZAogICAgaW4sIHRoZSBjb3JyZXNwb25kaW5nIHN0cmluZyByZXByZXNlbnRhdGlvbiBpcyByZXR1cm5lZC4KCiAgICBJZiBhIHN0cmluZyByZXByZXNlbnRhdGlvbiBvZiB0aGUgbGV2ZWwgaXMgcGFzc2VkIGluLCB0aGUgY29ycmVzcG9uZGluZwogICAgbnVtZXJpYyB2YWx1ZSBpcyByZXR1cm5lZC4KCiAgICBJZiBubyBtYXRjaGluZyBudW1lcmljIG9yIHN0cmluZyB2YWx1ZSBpcyBwYXNzZWQgaW4sIHRoZSBzdHJpbmcKICAgICdMZXZlbCAlcycgJSBsZXZlbCBpcyByZXR1cm5lZC4KICAgIHoITGV2ZWwgJXMpA9oMX2xldmVsVG9OYW1l2gNnZXRyOgAAACkC2gVsZXZlbNoGcmVzdWx0cwIAAAAgIHI+AAAAciEAAAByIQAAAIEAAABzRQAAAIAA9CYADhrXDR3RDR2YZdMNJIBG2AcN0AcZ2A8ViA3cDRnXDR3RDR2YZdMNJIBG2AcN0AcZ2A8ViA3YCxWYBdELHdAEHXI9AAAAYwIAAAAAAAAAAAAAAAQAAAADAAAA83AAAACX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JShtZXNzYWdlKXN6HHtsZXZlbG5hbWV9OntuYW1lfTp7bWVzc2FnZX16HyR7bGV2ZWxuYW1lfToke25hbWV9OiR7bWVzc2FnZX0pA9oBJdoBe3IFAQAAYwAAAAAAAAAAAAAAAAMAAAAAAAAA82QAAACXAGUAWgFkAFoCZAFaA2UEagoAAAAAAAAAAAAAAAAAAAAAAABaBmQNZAJkA5wBZASEA1oHZAVaCGQGWglkDmQHhAFaCmQIhABaC2QJhABaDGQKhABaDWQLhABaDmQMhABaD3kCKQ9yBQAAAGEJCQAACiAgICBGb3JtYXR0ZXIgaW5zdGFuY2VzIGFyZSB1c2VkIHRvIGNvbnZlcnQgYSBMb2dSZWNvcmQgdG8gdGV4dC4KCiAgICBGb3JtYXR0ZXJzIG5lZWQgdG8ga25vdyBob3cgYSBMb2dSZWNvcmQgaXMgY29uc3RydWN0ZWQuIFRoZXkgYXJlCiAgICByZXNwb25zaWJsZSBmb3IgY29udmVydGluZyBhIExvZ1JlY29yZCB0byAodXN1YWxseSkgYSBzdHJpbmcgd2hpY2ggY2FuCiAgICBiZSBpbnRlcnByZXRlZCBieSBlaXRoZXIgYSBodW1hbiBvciBhbiBleHRlcm5hbCBzeXN0ZW0uIFRoZSBiYXNlIEZvcm1hdHRlcgogICAgYWxsb3dzIGEgZm9ybWF0dGluZyBzdHJpbmcgdG8gYmUgc3BlY2lmaWVkLiBJZiBub25lIGlzIHN1cHBsaWVkLCB0aGUKICAgIHN0eWxlLWRlcGVuZGVudCBkZWZhdWx0IHZhbHVlLCAiJShtZXNzYWdlKXMiLCAie21lc3NhZ2V9Iiwgb3IKICAgICIke21lc3NhZ2V9IiwgaXMgdXNlZC4KCiAgICBUaGUgRm9ybWF0dGVyIGNhbiBiZSBpbml0aWFsaXplZCB3aXRoIGEgZm9ybWF0IHN0cmluZyB3aGljaCBtYWtlcyB1c2Ugb2YKICAgIGtub3dsZWRnZSBvZiB0aGUgTG9nUmVjb3JkIGF0dHJpYnV0ZXMgLSBlLmcuIHRoZSBkZWZhdWx0IHZhbHVlIG1lbnRpb25lZAogICAgYWJvdmUgbWFrZXMgdXNlIG9mIHRoZSBmYWN0IHRoYXQgdGhlIHVzZXIncyBtZXNzYWdlIGFuZCBhcmd1bWVudHMgYXJlIHByZS0KICAgIGZvcm1hdHRlZCBpbnRvIGEgTG9nUmVjb3JkJ3MgbWVzc2FnZSBhdHRyaWJ1dGUuIEN1cnJlbnRseSwgdGhlIHVzZWZ1bAogICAgYXR0cmlidXRlcyBpbiBhIExvZ1JlY29yZCBhcmUgZGVzY3JpYmVkIGJ5OgoKICAgICUobmFtZSlzICAgICAgICAgICAgTmFtZSBvZiB0aGUgbG9nZ2VyIChsb2dnaW5nIGNoYW5uZWwpCiAgICAlKGxldmVsbm8pcyAgICAgICAgIE51bWVyaWMgbG9nZ2luZyBsZXZlbCBmb3IgdGhlIG1lc3NhZ2UgKERFQlVHLCBJTkZPLAogICAgICAgICAgICAgICAgICAgICAgICBXQVJOSU5HLCBFUlJPUiwgQ1JJVElDQUwpCiAgICAlKGxldmVsbmFtZSlzICAgICAgIFRleHQgbG9nZ2luZyBsZXZlbCBmb3IgdGhlIG1lc3NhZ2UgKCJERUJVRyIsICJJTkZPIiwKICAgICAgICAgICAgICAgICAgICAgICAgIldBUk5JTkciLCAiRVJST1IiLCAiQ1JJVElDQUwiKQogICAgJShwYXRobmFtZSlzICAgICAgICBGdWxsIHBhdGhuYW1lIG9mIHRoZSBzb3VyY2UgZmlsZSB3aGVyZSB0aGUgbG9nZ2luZwogICAgICAgICAgICAgICAgICAgICAgICBjYWxsIHdhcyBpc3N1ZWQgKGlmIGF2YWlsYWJsZSkKICAgICUoZmlsZW5hbWUpcyAgICAgICAgRmlsZW5hbWUgcG9ydGlvbiBvZiBwYXRobmFtZQogICAgJShtb2R1bGUpcyAgICAgICAgICBNb2R1bGUgKG5hbWUgcG9ydGlvbiBvZiBmaWxlbmFtZSkKICAgICUobGluZW5vKWQgICAgICAgICAgU291cmNlIGxpbmUgbnVtYmVyIHdoZXJlIHRoZSBsb2dnaW5nIGNhbGwgd2FzIGlzc3VlZAogICAgICAgICAgICAgICAgICAgICAgICAoaWYgYXZhaWxhYmxlKQogICAgJShmdW5jTmFtZSlzICAgICAgICBGdW5jdGlvbiBuYW1lCiAgICAlKGNyZWF0ZWQpZiAgICAgICAgIFRpbWUgd2hlbiB0aGUgTG9nUmVjb3Jk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aWVkLAogICAgICAgIGl0IGlzIHVzZWQgd2l0aCB0aW1lLnN0cmZ0aW1lKCkgdG8gZm9ybWF0IHRoZSBjcmVhdGlvbiB0aW1lIG9mIHRoZQogICAgICAgIHJlY29yZC4gT3RoZXJ3aXNlLCBhbiBJU084NjAxLWxpa2UgKG9yIFJGQyAzMzM5LWxpa2UpIGZvcm1hdCBpcyB1c2VkLgogICAgICAgIFRoZSByZXN1bHRpbmcgc3RyaW5nIGlzIHJldHVybmVkLiBUaGlzIGZ1bmN0aW9uIHVzZXMgYSB1c2VyLWNvbmZpZ3VyYWJsZQogICAgICAgIGZ1bmN0aW9uIHRvIGNvbnZlcnQgdGhlIGNyZWF0aW9uIHRpbWUgdG8gYSB0dXBsZS4gQnkgZGVmYXVsdCwKICAgICAgICB0aW1lLmxvY2FsdGltZSgpIGlzIHVzZWQ7IHRvIGNoYW5nZSB0aGlzIGZvciBhIHBhcnRpY3VsYXIgZm9ybWF0dGVyCiAgICAgICAgaW5zdGFuY2UsIHNldCB0aGUgJ2NvbnZlcnRlcicgYXR0cmlidXRlIHRvIGEgZnVuY3Rpb24gd2l0aCB0aGUgc2FtZQogICAgICAgIHNpZ25hdHVyZSBhcyB0aW1lLmxvY2FsdGltZSgpIG9yIHRpbWUuZ210aW1lKCkuIFRvIGNoYW5nZSBpdCBmb3IgYWxsCiAgICAgICAgZm9ybWF0dGVycywgZm9yIGV4YW1wbGUgaWYgeW91IHdhbnQgYWxsIGxvZ2dpbmcgdGltZXMgdG8gYmUgc2hvd24gaW4gR01ULAogICAgICAgIHNldCB0aGUgJ2NvbnZlcnRlcicgYXR0cmlidXRlIGluIHRoZSBGb3JtYXR0ZXIgY2xhc3MuCiAgICAgICAgKQfaCWNvbnZlcnRlcnKYAAAAcoQAAADaCHN0cmZ0aW1l2hNkZWZhdWx0X3RpbWVfZm9ybWF02hNkZWZhdWx0X21zZWNfZm9ybWF0cpkAAAApBXKtAAAAct0AAAByGQEAAHKxAAAA2gFzcwUAAAAgICAgIHI+AAAA2gpmb3JtYXRUaW1lehRGb3JtYXR0ZXIuZm9ybWF0VGltZW4CAABzbwAAAIAA8CQADhKPXolemEafTplO0w0riALZCxLcEBSXDZENmGegctMQKohB8AoAEBGI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AHQsAAAAAAAAAAAkAHIDAQBZAIxIdwB4A1kAdwEjAH4CfgN+BHcAeANZAHcBKQxhRAIAAAogICAgICAgIEhhbmRsZSBlcnJvcnMgd2hpY2ggb2NjdXIgZHVyaW5nIGFuIGVtaXQoKSBjYWxsLgoKICAgICAgICBUaGlzIG1ldGhvZCBzaG91bGQgYmUgY2FsbGVkIGZyb20gaGFuZGxlcnMgd2hlbiBhbiBleGNlcHRpb24gaXMKICAgICAgICBlbmNvdW50ZXJlZCBkdXJpbmcgYW4gZW1pdCgpIGNhbGwuIElmIHJhaXNlRXhjZXB0aW9ucyBpcyBmYWxzZSwKICAgICAgICBleGNlcHRpb25zIGdldCBzaWxlbnRseSBpZ25vcmVkLiBUaGlzIGlzIHdoYXQgaXMgbW9zdGx5IHdhbnRlZAogICAgICAgIGZvciBhIGxvZ2dpbmcgc3lzdGVtIC0gbW9zdCB1c2VycyB3aWxsIG5vdCBjYXJlIGFib3V0IGVycm9ycyBpbgogICAgICAgIHRoZSBsb2dnaW5nIHN5c3RlbSwgdGhleSBhcmUgbW9yZSBpbnRlcmVzdGVkIGluIGFwcGxpY2F0aW9uIGVycm9ycy4KICAgICAgICBZb3UgY291bGQsIGhvd2V2ZXIsIHJlcGxhY2UgdGhpcyB3aXRoIGEgY3VzdG9tIGhhbmRsZXIgaWYgeW91IHdpc2guCiAgICAgICAgVGhlIHJlY29yZCB3aGljaCB3YXMgYmVpbmcgcHJvY2Vzc2VkIGlzIHBhc3NlZCBpbiB0byB0aGlzIG1ldGhvZC4KICAgICAgICB6Fi0tLSBMb2dnaW5nIGVycm9yIC0tLQpOegxDYWxsIHN0YWNrOgpyAgAAAKkB2gRmaWxlehFMb2dnZWQgZnJvbSBmaWxlIHoHLCBsaW5lIHIlAQAAeglNZXNzYWdlOiB6DApBcmd1bWVudHM6IHp3VW5hYmxlIHRvIHByaW50IHRoZSBtZXNzYWdlIGFuZCBhcmd1bWVudHMgLSBwb3NzaWJsZSBmb3JtYXR0aW5nIGVycm9yLgpVc2UgdGhlIHRyYWNlYmFjayBhYm92ZSB0byBoZWxwIGZpbmQgdGhlIGVycm9yLgopF3IuAAAAcksAAADaBnN0ZGVycnKTAAAA2gV3cml0ZXIoAQAA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YXJndW1lbnRzIG1heSBiZSBzcGVjaWZpZWQsIHdoaWNoIGNhbiBhbHRlcgogICAgdGhlIGRlZmF1bHQgYmVoYXZpb3VyLgoKICAgIGZpbGVuYW1lICBTcGVjaWZpZXMgdGhhdCBhIEZpbGVIYW5kbGVyIGJlIGNyZWF0ZWQsIHVzaW5nIHRoZSBzcGVjaWZpZWQKICAgICAgICAgICAgICBmaWxlbmFtZSwgcmF0aGVyIHRoYW4gYSBTdHJlYW1IYW5kbGVyLgogICAgZmlsZW1vZGUgIFNwZWNpZmllcyB0aGUgbW9kZSB0byBvcGVuIHRoZSBmaWxlLCBpZiBmaWxlbmFtZSBpcyBzcGVjaWZpZWQKICAgICAgICAgICAgICAoaWYgZmlsZW1vZGUgaXMgdW5zcGVjaWZpZWQsIGl0IGRlZmF1bHRzIHRvICdhJykuCiAgICBmb3JtYXQgICAgVXNlIHRoZSBzcGVjaWZpZWQgZm9ybWF0IHN0cmluZyBmb3IgdGhlIGhhbmRsZXIuCiAgICBkYXRlZm10ICAgVXNlIHRoZSBzcGVjaWZpZWQgZGF0ZS90aW1lIGZvcm1hdC4KICAgIHN0eWxlICAgICBJZiBhIGZvcm1hdCBzdHJpbmcgaXMgc3BlY2lmaWVkLCB1c2UgdGhpcyB0byBzcGVjaWZ5IHRoZQogICAgICAgICAgICAgIHR5cGUgb2YgZm9ybWF0IHN0cmluZyAocG9zc2libGUgdmFsdWVzICclJywgJ3snLCAnJCcsIGZvcgogICAgICAgICAgICAgICUtZm9ybWF0dGluZywgOm1ldGg6YHN0ci5mb3JtYXRgIGFuZCA6Y2xhc3M6YHN0cmluZy5UZW1wbGF0ZWAKICAgICAgICAgICAgICAtIGRlZmF1bHRzIHRvICclJykuCiAgICBsZXZlbCAgICAgU2V0IHRoZSByb290IGxvZ2dlciBsZXZlbCB0byB0aGUgc3BlY2lmaWVkIGxldmVsLgogICAgc3RyZWFtICAgIFVzZSB0aGUgc3BlY2lmaWVkIHN0cmVhbSB0byBpbml0aWFsaXplIHRoZSBTdHJlYW1IYW5kbGVyLiBOb3RlCiAgICAgICAgICAgICAgdGhhdCB0aGlzIGFyZ3VtZW50IGlzIGluY29tcGF0aWJsZSB3aXRoICdmaWxlbmFtZScgLSBpZiBib3RoCiAgICAgICAgICAgICAgYXJlIHByZXNlbnQsICdzdHJlYW0nIGlzIGlnbm9yZWQuCiAgICBoYW5kbGVycyAgSWYgc3BlY2lmaWVkLCB0aGlzIHNob3VsZCBiZSBhbiBpdGVyYWJsZSBvZiBhbHJlYWR5IGNyZWF0ZWQKICAgICAgICAgICAgICBoYW5kbGVycywgd2hpY2ggd2lsbCBiZSBhZGRlZCB0byB0aGUgcm9vdCBsb2dnZXIuIEFueSBoYW5kbGVyCiAgICAgICAgICAgICAgaW4gdGhlIGxpc3Qgd2hpY2ggZG9lcyBub3QgaGF2ZSBhIGZvcm1hdHRlciBhc3NpZ25lZCB3aWxsIGJlCiAgICAgICAgICAgICAgYXNzaWduZWQgdGhlIGZvcm1hdHRlciBjcmVhdGVkIGluIHRoaXMgZnVuY3Rpb24uCiAgICBmb3JjZSAgICAgSWYgdGhpcyBrZXl3b3JkICBpcyBzcGVjaWZpZWQgYXMgdHJ1ZSwgYW55IGV4aXN0aW5nIGhhbmRsZXJzCiAgICAgICAgICAgICAgYXR0YWNoZWQgdG8gdGhlIHJvb3QgbG9nZ2VyIGFyZSByZW1vdmVkIGFuZCBjbG9zZWQsIGJlZm9yZQogICAgICAgICAgICAgIGNhcnJ5aW5nIG91dCB0aGUgY29uZmlndXJhdGlvbiBhcyBzcGVjaWZpZWQgYnkgdGhlIG90aGVyCiAgICAgICAgICAgICAgYXJndW1lbnRzLgogICAgZW5jb2RpbmcgIElmIHNwZWNpZmllZCB0b2dldGhlciB3aXRoIGEgZmlsZW5hbWUsIHRoaXMgZW5jb2RpbmcgaXMgcGFzc2VkIHRvCiAgICAgICAgICAgICAgdGhlIGNyZWF0ZWQgRmlsZUhhbmRsZXIsIGNhdXNpbmcgaXQgdG8gYmUgdXNlZCB3aGVuIHRoZSBmaWxlIGlzCiAgICAgICAgICAgICAgb3BlbmVkLgogICAgZXJyb3JzICAgIElmIHNwZWNpZmllZCB0b2dldGhlciB3aXRoIGEgZmlsZW5hbWUsIHRoaXMgdmFsdWUgaXMgcGFzc2VkIHRvIHRoZQogICAgICAgICAgICAgIGNyZWF0ZWQgRmlsZUhhbmRsZXIsIGNhdXNpbmcgaXQgdG8gYmUgdXNlZCB3aGVuIHRoZSBmaWxlIGlzCiAgICAgICAgICAgICAgb3BlbmVkIGluIHRleHQgbW9kZS4gSWYgbm90IHNwZWNpZmllZCwgdGhlIGRlZmF1bHQgdmFsdWUgaXMKICAgICAgICAgICAgICBgYmFja3NsYXNocmVwbGFjZWAuCgogICAgTm90ZSB0aGF0IHlvdSBjb3VsZCBzcGVjaWZ5IGEgc3RyZWFtIGNyZWF0ZWQgdXNpbmcgb3BlbihmaWxlbmFtZSwgbW9kZSkKICAgIHJhdGhlciB0aGFuIHBhc3NpbmcgdGhlIGZpbGVuYW1lIGFuZCBtb2RlIGluLiBIb3dldmVyLCBpdCBzaG91bGQgYmUKICAgIHJlbWVtYmVyZWQgdGhhdCBTdHJlYW1IYW5kbGVyIGRvZXMgbm90IGNsb3NlIGl0cyBzdHJlYW0gKHNpbmNlIGl0IG1heSBiZQogICAgdXNpbmcgc3lzLnN0ZG91dCBvciBzeXMuc3RkZXJyKSwgd2hlcmVhcyBGaWxlSGFuZGxlciBjbG9zZXMgaXRzIHN0cmVhbQogICAgd2hlbiB0aGUgaGFuZGxlciBpcyBjbG9zZWQuCgogICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjIKICAgICAgIEFkZGVkIHRoZSBgYHN0eWxlYGAgcGFyYW1ldGVyLgoKICAgIC4uIHZlcnNpb25jaGFuZ2VkOjogMy4zCiAgICAgICBBZGRlZCB0aGUgYGBoYW5kbGVyc2BgIHBhcmFtZXRlci4gQSBgYFZhbHVlRXJyb3JgYCBpcyBub3cgdGhyb3duIGZvcgogICAgICAgaW5jb21wYXRpYmxlIGFyZ3VtZW50cyAoZS5nLiBgYGhhbmRsZXJzYGAgc3BlY2lmaWVkIHRvZ2V0aGVyIHdpdGgKICAgICAgIGBgZmlsZW5hbWVgYC9gYGZpbGVtb2RlYGAsIG9yIGBgZmlsZW5hbWVgYC9gYGZpbGVtb2RlYGAgc3BlY2lmaWVkCiAgICAgICB0b2dldGhlciB3aXRoIGBgc3RyZWFtYGAsIG9yIGBgaGFuZGxlcnNgYCBzcGVjaWZpZWQgdG9nZXRoZXIgd2l0aAogICAgICAgYGBzdHJlYW1gYC4KCiAgICAuLiB2ZXJz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
Base64 mode: content will be decoded on save.
Save
Close
Exit & Reset
Directory Contents
Dirs: 0 × Files: 9
Delete Selected
Select All
Select None
Sort:
Name
Size
Modified
Enable drag-to-move
Name
Size
Perms
Modified
Actions
config.cpython-312.opt-1.pyc
42.70 KB
lrw-r--r--
2026-07-15 12:55:43
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
config.cpython-312.opt-2.pyc
38.82 KB
lrw-r--r--
2026-07-15 12:55:43
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
config.cpython-312.pyc
42.76 KB
lrw-r--r--
2026-07-15 12:55:43
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
handlers.cpython-312.opt-1.pyc
65.60 KB
lrw-r--r--
2026-07-15 12:55:43
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
handlers.cpython-312.opt-2.pyc
47.07 KB
lrw-r--r--
2026-07-15 12:55:43
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
handlers.cpython-312.pyc
65.60 KB
lrw-r--r--
2026-07-15 12:55:43
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
__init__.cpython-312.opt-1.pyc
93.11 KB
lrw-r--r--
2026-07-15 12:55:43
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
__init__.cpython-312.opt-2.pyc
64.26 KB
lrw-r--r--
2026-07-15 12:55:43
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
__init__.cpython-312.pyc
93.15 KB
lrw-r--r--
2026-07-15 12:55:43
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).