REDROOM
PHP 8.3.30
Path:
Logout
Edit File
Size: 33.70 KB
Close
/opt/imunify360/venv/lib64/python3.11/site-packages/click/__pycache__/termui.cpython-311.pyc
Text
Base64
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bHVlIHdpbGwKICAgICAgICAgICAgICAgICAgICAgICBiZSBoaWRkZW4uCiAgICA6cGFyYW0gY29uZmlybWF0aW9uX3Byb21wdDogUHJvbXB0IGEgc2Vjb25kIHRpbWUgdG8gY29uZmlybSB0aGUKICAgICAgICB2YWx1ZS4gQ2FuIGJlIHNldCB0byBhIHN0cmluZyBpbnN0ZWFkIG9mIGBgVHJ1ZWBgIHRvIGN1c3RvbWl6ZQogICAgICAgIHRoZSBtZXNzYWdlLgogICAgOnBhcmFtIHR5cGU6IHRoZSB0eXBlIHRvIHVzZSB0byBjaGVjayB0aGUgdmFsdWUgYWdhaW5zdC4KICAgIDpwYXJhbSB2YWx1ZV9wcm9jOiBpZiB0aGlzIHBhcmFtZXRlciBpcyBwcm92aWRlZCBpdCdzIGEgZnVuY3Rpb24gdGhhdAogICAgICAgICAgICAgICAgICAgICAgIGlzIGludm9rZWQgaW5zdGVhZCBvZiB0aGUgdHlwZSBjb252ZXJzaW9uIHRvCiAgICAgICAgICAgICAgICAgICAgICAgY29udmVydCBhIHZhbHVlLgogICAgOnBhcmFtIHByb21wdF9zdWZmaXg6IGEgc3VmZml4IHRoYXQgc2hvdWxkIGJlIGFkZGVkIHRvIHRoZSBwcm9tcHQuCiAgICA6cGFyYW0gc2hvd19kZWZhdWx0OiBzaG93cyBvciBoaWRlcyB0aGUgZGVmYXVsdCB2YWx1ZSBpbiB0aGUgcHJvbXB0LgogICAgOnBhcmFtIGVycjogaWYgc2V0IHRvIHRydWUgdGhlIGZpbGUgZGVmYXVsdHMgdG8gYGBzdGRlcnJgYCBpbnN0ZWFkIG9mCiAgICAgICAgICAgICAgICBgYHN0ZG91dGBgLCB0aGUgc2FtZSBhcyB3aXRoIGVjaG8uCiAgICA6cGFyYW0gc2hvd19jaG9pY2VzOiBTaG93IG9yIGhpZGUgY2hvaWNlcyBpZiB0aGUgcGFzc2VkIHR5cGUgaXMgYSBDaG9pY2UuCiAgICAgICAgICAgICAgICAgICAgICAgICBGb3IgZXhhbXBsZSBpZiB0eXBlIGlzIGEgQ2hvaWNlIG9mIGVpdGhlciBkYXkgb3Igd2VlaywKICAgICAgICAgICAgICAgICAgICAgICAgIHNo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SYBO4AQj0AQj0AQj0AQj0AQj0AQj4AsQiDWVGZQfoB6wFNERNtQRNrgF0Qs+1As+0AQ+cjwAAAD6ASP6AS36HiUobGFiZWwpcyAgWyUoYmFyKXNdICAlKGluZm8pc/oCICDaCGl0ZXJhYmxl2gZsZW5ndGjaBWxhYmVs2ghzaG93X2V0YdoMc2hvd19wZXJjZW502ghzaG93X3Bvc9oOaXRlbV9zaG93X2Z1bmPaCWZpbGxfY2hhctoKZW1wdHlfY2hhctoMYmFyX3RlbXBsYXRl2ghpbmZvX3NlcNoFd2lkdGjaBGZpbGXaEHVwZGF0ZV9taW5fc3RlcHN6DlByb2dyZXNzQmFyW1ZdYw8AAAAAAAAAAAAAABEAAAADAAAA82AAAACXAGQBZAJsAG0BfQ8BAHQFAAAAAAAAAAAAAHwNpgEAAKsBAAAAAAAAAAB9DQIAfA98AHwBfAN8BHwFfAZ8B3wIfAl8CnwMfAJ8C3wNfA6sA6YPAACrDwAAAAAAAAAAUwApBGFRFQAAVGhpcyBmdW5jdGlvbiBjcmVhdGVzIGFuIGl0ZXJhYmxlIGNvbnRleHQgbWFuYWdlciB0aGF0IGNhbiBiZSB1c2VkCiAgICB0byBpdGVyYXRlIG92ZXIgc29tZXRoaW5nIHdoaWxlIHNob3dpbmcgYSBwcm9ncmVzcyBiYXIuICBJdCB3aWxsCiAgICBlaXRoZXIgaXRlcmF0ZSBvdmVyIHRoZSBgaXRlcmFibGVgIG9yIGBsZW5ndGhgIGl0ZW1zICh0aGF0IGFyZSBjb3VudGVkCiAgICB1cCkuICBXaGlsZSBpdGVyYXRpb24gaGFwcGVucywgdGhpcyBmdW5jdGlvbiB3aWxsIHByaW50IGEgcmVuZGVyZWQKICAgIHByb2dyZXNzIGJhciB0byB0aGUgZ2l2ZW4gYGZpbGVgIChkZWZhdWx0cyB0byBzdGRvdXQpIGFuZCB3aWxsIGF0dGVtcHQKICAgIHRvIGNhbGN1bGF0ZSByZW1haW5pbmcgdGltZSBhbmQgbW9yZS4gIEJ5IGRlZmF1bHQsIHRoaXMgcHJvZ3Jlc3MgYmFyCiAgICB3aWxsIG5vdCBiZSByZW5kZXJlZCBpZiB0aGUgZmlsZSBpcyBub3QgYSB0ZXJtaW5hbC4KCiAgICBUaGUgY29udGV4dCBtYW5hZ2VyIGNyZWF0ZXMgdGhlIHByb2dyZXNzIGJhci4gIFdoZW4gdGhlIGNvbnRleHQKICAgIG1hbmFnZXIgaXMgZW50ZXJlZCB0aGUgcHJvZ3Jlc3MgYmFyIGlzIGFscmVhZHkgY3JlYXRlZC4gIFdpdGggZXZlcnkKICAgIGl0ZXJhdGlvbiBvdmVyIHRoZSBwcm9ncmVzcyBiYXIsIHRoZSBpdGVyYWJsZSBwYXNzZWQgdG8gdGhlIGJhciBpcwogICAgYWR2YW5jZWQgYW5kIHRoZSBiYXIgaXMgdXBkYXRlZC4gIFdoZW4gdGhlIGNvbnRleHQgbWFuYWdlciBleGl0cywKICAgIGEgbmV3bGluZSBpcyBwcmludGVkIGFuZCB0aGUgcHJvZ3Jlc3MgYmFyIGlzIGZpbmFsaXplZCBvbiBzY3JlZW4uCgogICAgTm90ZTogVGhlIHByb2dyZXNzIGJhciBpcyBjdXJyZW50bHkgZGVzaWduZWQgZm9yIHVzZSBjYXNlcyB3aGVyZSB0aGUKICAgIHRvdGFsIHByb2dyZXNzIGNhbiBiZSBleHBlY3RlZCB0byB0YWtlIGF0IGxlYXN0IHNldmVyYWwgc2Vjb25kcy4KICAgIEJlY2F1c2Ugb2YgdGhpcywgdGhlIFByb2dyZXNzQmFyIGNsYXNzIG9iamVjdCB3b24ndCBkaXNwbGF5CiAgICBwcm9ncmVzcyB0aGF0IGlzIGNvbnNpZGVyZWQgdG9vIGZhc3QsIGFuZCBwcm9ncmVzcyB3aGVyZSB0aGUgdGltZQogICAgYmV0d2VlbiBzdGVwcyBpcyBsZXNzIHRoYW4gYSBzZWNvbmQuCgogICAgTm8gcHJpbnRpbmcgbXVzdCBoYXBwZW4gb3IgdGhlIHByb2dyZXNzIGJhciB3aWxsIGJlIHVuaW50ZW50aW9uYWxseQogICAgZGVzdHJveWVkLgoKICAgIEV4YW1wbGUgdXNhZ2U6OgoKICAgICAgICB3aXRoIHByb2dyZXNzYmFyKGl0ZW1zKSBhcyBiYXI6CiAgICAgICAgICAgIGZvciBpdGVtIGluIGJhcjoKICAgICAgICAgICAgICAgIGRvX3NvbWV0aGluZ193aXRoKGl0ZW0pCgogICAgQWx0ZXJuYXRpdmVseSwgaWYgbm8gaXRlcmFibGUgaXMgc3BlY2lmaWVkLCBvbmUgY2FuIG1hbnVhbGx5IHVwZGF0ZSB0aGUKICAgIHByb2dyZXNzIGJhciB0aHJvdWdoIHRoZSBgdXBkYXRlKClgIG1ldGhvZCBpbnN0ZWFkIG9mIGRpcmVjdGx5CiAgICBpdGVyYXRpbmcgb3ZlciB0aGUgcHJvZ3Jlc3MgYmFyLiAgVGhlIHVwZGF0ZSBtZXRob2QgYWNjZXB0cyB0aGUgbnVtYmVyCiAgICBvZiBzdGVwcyB0byBpbmNyZW1lbnQgdGhlIGJhciB3aXRoOjoKCiAgICAgICAgd2l0aCBwcm9ncmVzc2JhcihsZW5ndGg9Y2h1bmtzLnRvdGFsX2J5dGVzKSBhcyBiYXI6CiAgICAgICAgICAgIGZvciBjaHVuayBpbiBjaHVua3M6CiAgICAgICAgICAgICAgICBwcm9jZXNzX2NodW5rKGNodW5rKQogICAgICAgICAgICAgICAgYmFyLnVwZGF0ZShjaHVua3MuYnl0ZXMpCgogICAgVGhlIGBgdXBkYXRlKClgYCBtZXRob2QgYWxzbyB0YWtlcyBhbiBvcHRpb25hbCB2YWx1ZSBzcGVjaWZ5aW5nIHRoZQogICAgYGBjdXJyZW50X2l0ZW1gYCBhdCB0aGUgbmV3IHBvc2l0aW9uLiBUaGlzIGlzIHVzZWZ1bCB3aGVuIHVzZWQKICAgIHRvZ2V0aGVyIHdpdGggYGBpdGVtX3Nob3dfZnVuY2BgIHRvIGN1c3RvbWl6ZSB0aGUgb3V0cHV0IGZvciBlYWNoCiAgICBtYW51YWwgc3RlcDo6CgogICAgICAgIHdpdGggY2xpY2sucHJvZ3Jlc3NiYXIoCiAgICAgICAgICAgIGxlbmd0aD10b3RhbF9zaXplLAogICAgICAgICAgICBsYWJlbD0nVW56aXBwaW5nIGFyY2hpdmUnLAogICAgICAgICAgICBpdGVtX3Nob3dfZnVuYz1sYW1iZGEgYTogYS5maWxlbmFtZQogICAgICAgICkgYXMgYmFyOgogICAgICAgICAgICBmb3IgYXJjaGl2ZSBpbiB6aXBfZmlsZToKICAgICAgICAgICAgICAgIGFyY2hpdmUuZXh0cmFjdCgpCiAgICAgICAgICAgICAgICBiYXIudXBkYXRlKGFyY2hpdmUuc2l6ZSwgYXJjaGl2ZSkKCiAgICA6cGFyYW0gaXRlcmFibGU6IGFuIGl0ZXJhYmxlIHRvIGl0ZXJhdGUgb3Zlci4gIElmIG5vdCBwcm92aWRlZCB0aGUgbGVuZ3RoCiAgICAgICAgICAgICAgICAgICAgIGlzIHJlcXVpcmVkLgogICAgOnBhcmFtIGxlbmd0aDogdGhlIG51bWJlciBvZiBpdGVtcyB0byBpdGVyYXRlIG92ZXIuICBCeSBkZWZhdWx0IHRoZQogICAgICAgICAgICAgICAgICAgcHJvZ3Jlc3NiYXIgd2lsbCBhdHRlbXB0IHRvIGFzayB0aGUgaXRlcmF0b3IgYWJvdXQgaXRzCiAgICAgICAgICAgICAgICAgICBsZW5ndGgsIHdoaWNoIG1pZ2h0IG9yIG1pZ2h0IG5vdCB3b3JrLiAgSWYgYW4gaXRlcmFibGUgaXMKICAgICAgICAgICAgICAgICAgIGFsc28gcHJvdmlkZWQgdGhpcyBwYXJhbWV0ZXIgY2FuIGJlIHVzZWQgdG8gb3ZlcnJpZGUgdGhlCiAgICAgICAgICAgICAgICAgICBsZW5ndGguICBJZiBhbiBpdGVyYWJsZSBpcyBub3QgcHJvdmlkZWQgdGhlIHByb2dyZXNzIGJhcgogICAgICAgICAgICAgICAgICAgd2lsbCBpdGVyYXRlIG92ZXIgYSByYW5nZSBvZiB0aGF0IGxlbmd0aC4KICAgIDpwYXJhbSBsYWJlbDogdGhlIGxhYmVsIHRvIHNob3cgbmV4dCB0byB0aGUgcHJvZ3Jlc3MgYmFyLgogICAgOnBhcmFtIHNob3dfZXRhOiBlbmFibGVzIG9yIGRpc2FibGVzIHRoZSBlc3RpbWF0ZWQgdGltZSBkaXNwbGF5LiAgVGhpcyBpcwogICAgICAgICAgICAgICAgICAgICBhdXRvbWF0aWNhbGx5IGRpc2FibGVkIGlmIHRoZSBsZW5ndGggY2Fubm90IGJlCiAgICAgICAgICAgICAgICAgICAgIGRldGVybWluZWQuCiAgICA6cGFyYW0gc2hvd19wZXJjZW50OiBlbmFibGVzIG9yIGRpc2FibGVzIHRoZSBwZXJjZW50YWdlIGRpc3BsYXkuICBUaGUKICAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHQgaXMgYFRydWVgIGlmIHRoZSBpdGVyYWJsZSBoYXMgYSBsZW5ndGggb3IKICAgICAgICAgICAgICAgICAgICAgICAgIGBGYWxzZWAgaWYgbm90LgogICAgOnBhcmFtIHNob3dfcG9zOiBlbmFibGVzIG9yIGRpc2FibGVzIHRoZSBhYnNvbHV0ZSBwb3NpdGlvbiBkaXNwbGF5LiAgVGhlCiAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHQgaXMgYEZhbHNlYC4KICAgIDpwYXJhbSBpdGVtX3Nob3dfZnVuYzogQSBmdW5jdGlvbiBjYWxsZWQgd2l0aCB0aGUgY3VycmVudCBpdGVtIHdoaWNoCiAgICAgICAgY2FuIHJldHVybiBhIHN0cmluZyB0byBzaG93IG5leHQgdG8gdGhlIHByb2dyZXNzIGJhci4gSWYgdGhlCiAgICAgICAgZnVuY3Rpb24gcmV0dXJucyBgYE5vbmVgYCBub3RoaW5nIGlzIHNob3duLiBUaGUgY3VycmVudCBpdGVtIGNhbgogICAgICAgIGJlIGBgTm9uZWBgLCBzdWNoIGFzIHdoZW4gZW50ZXJpbmcgYW5kIGV4aXRpbmcgdGhlIGJhci4KICAgIDpwYXJhbSBmaWxsX2NoYXI6IHRoZSBjaGFyYWN0ZXIgdG8gdXNlIHRvIHNob3cgdGhlIGZpbGxlZCBwYXJ0IG9mIHRoZQogICAgICAgICAgICAgICAgICAgICAgcHJvZ3Jlc3MgYmFyLgogICAgOnBhcmFtIGVtcHR5X2NoYXI6IHRoZSBjaGFyYWN0ZXIgdG8gdXNlIHRvIHNob3cgdGhlIG5vbi1maWxsZWQgcGFydCBvZgogICAgICAgICAgICAgICAgICAgICAgIHRoZSBwcm9ncmVzcyBiYXIuCiAgICA6cGFyYW0gYmFyX3RlbXBsYXRlOiB0aGUgZm9ybWF0IHN0cmluZyB0byB1c2UgYXMgdGVtcGxhdGUgZm9yIHRoZSBiYXIuCiAgICAgICAgICAgICAgICAgICAgICAgICBUaGUgcGFyYW1ldGVycyBpbiBpdCBhcmUgYGBsYWJlbGBgIGZvciB0aGUgbGFiZWwsCiAgICAgICAgICAgICAgICAgICAgICAgICBgYGJhcmBgIGZvciB0aGUgcHJvZ3Jlc3MgYmFyIGFuZCBgYGluZm9gYCBmb3IgdGhlCiAgICAgICAgICAgICAgICAgICAgICAgICBpbmZvIHNlY3Rpb24uCiAgICA6cGFyYW0gaW5mb19zZXA6IHRoZSBzZXBhcmF0b3IgYmV0d2VlbiBtdWx0aXBsZSBpbmZvIGl0ZW1zIChldGEgZXRjLikKICAgIDpwYXJhbSB3aWR0aDogdGhlIHdpZHRoIG9mIHRoZSBwcm9ncmVzcyBiYXIgaW4gY2hhcmFjdGVycywgMCBtZWFucyBmdWxsCiAgICAgICAgICAgICAgICAgIHRlcm1pbmFsIHdpZHRoCiAgICA6cGFyYW0gZmlsZTogVGhlIGZpbGUgdG8gd3JpdGUgdG8uIElmIHRoaXMgaXMgbm90IGEgdGVybWluYWwgdGhlbgogICAgICAgIG9ubHkgdGhlIGxhYmVsIGlzIHByaW50ZWQuCiAgICA6cGFyYW0gY29sb3I6IGNvbnRyb2xzIGlmIHRoZSB0ZXJtaW5hbCBzdXBwb3J0cyBBTlNJIGNvbG9ycyBvciBub3QuICBUaGUKICAgICAgICAgICAgICAgICAgZGVmYXVsdCBpcyBhdXRvZGV0ZWN0aW9uLiAgVGhpcyBpcyBvbmx5IG5lZWRlZCBpZiBBTlNJCiAgICAgICAgICAgICAgICAgIGNvZGVzIGFyZSBpbmNsdWRlZCBhbnl3aGVyZSBpbiB0aGUgcHJvZ3Jlc3MgYmFyIG91dHB1dAogICAgICAgICAgICAgICAgICB3aGljaCBpcyBub3QgdGhlIGNhc2UgYnkgZGVmYXVsdC4KICAgIDpwYXJhbSB1cGRhdGVfbWluX3N0ZXBzOiBSZW5kZXIgb25seSB3aGVuIHRoaXMgbWFueSB1cGRhdGVzIGhhdmUKICAgICAgICBjb21wbGV0ZWQuIFRoaXMgYWxsb3dzIHR1bmluZyBmb3IgdmVyeSBmYXN0IGl0ZXJhdG9ycy4KCiAgICAuLiB2ZXJzaW9uY2hhbmdlZDo6IDguMAogICAgICAgIE91dHB1dCBpcyBzaG93biBldmVuIGlmIGV4ZWN1dGlvbiB0aW1lIGlzIGxlc3MgdGhhbiAwLjUgc2Vjb25kcy4KCiAgICAuLiB2ZXJzaW9u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YAogICAgKiBgYHllbGxvd2BgIChtaWdodCBiZSBhbiBvcmFuZ2UpCiAgICAqIGBgYmx1ZWBgCiAgICAqIGBgbWFnZW50YWBgCiAgICAqIGBgY3lhbmBgCiAgICAqIGBgd2hpdGVgYCAobWlnaHQgYmUgbGlnaHQgZ3JheSkKICAgICogYGBicmlnaHRfYmxhY2tgYAogICAgKiBgYGJyaWdodF9yZWRgYAogICAgKiBgYGJyaWdodF9ncmVlbmBgCiAgICAqIGBgYnJpZ2h0X3llbGxvd2BgCiAgICAqIGBgYnJpZ2h0X2JsdWVgYAogICAgKiBgYGJyaWdodF9tYWdlbnRhYGAKICAgICogYGBicmlnaHRfY3lhbmBgCiAgICAqIGBgYnJpZ2h0X3doaXRlYGAKICAgICogYGByZXNldGBgIChyZXNldCB0aGUgY29sb3IgY29kZSBvbmx5KQoKICAgIElmIHRoZSB0ZXJtaW5hbCBzdXBwb3J0cyBpdCwgY29sb3IgbWF5IGFsc28gYmUgc3BlY2lmaWVkIGFzOgoKICAgIC0gICBBbiBpbnRlZ2VyIGluIHRoZSBpbnRlcnZhbCBbMCwgMjU1XS4gVGhlIHRlcm1pbmFsIG11c3Qgc3VwcG9ydAogICAgICAgIDgtYml0LzI1Ni1jb2xvciBtb2RlLgogICAgLSAgIEFuIFJHQiB0dXBsZSBvZiB0aHJlZSBpbnRlZ2VycyBpbiBbMCwgMjU1XS4gVGhlIHRlcm1pbmFsIG11c3QKICAgICAgICBzdXBwb3J0IDI0LWJpdC90cnVlLWNvbG9yIG1vZGUuCgogICAgU2VlIGh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0FOU0lfY29sb3IgYW5kCiAgICBodHRwczovL2dpc3QuZ2l0aHViLmNvbS9YVmlsa2EvODM0NjcyOCBmb3IgbW9yZSBpbmZvcm1hdGlvbi4KCiAgICA6cGFyYW0gdGV4dDogdGhlIHN0cmluZyB0byBzdHlsZSB3aXRoIGFuc2kgY29kZXMuCiAgICA6cGFyYW0gZmc6IGlmIHByb3ZpZGVkIHRoaXMgd2lsbCBiZWNvbWUgdGhlIGZvcmVncm91bmQgY29sb3IuCiAgICA6cGFyYW0gYmc6IGlmIHByb3ZpZGVkIHRoaXMgd2lsbCBiZWNvbWUgdGhlIGJhY2tncm91bmQgY29sb3IuCiAgICA6cGFyYW0gYm9sZDogaWYgcHJvdmlkZWQgdGhpcyB3aWxsIGVuYWJsZSBvciBkaXNhYmxlIGJvbGQgbW9kZS4KICAgIDpwYXJhbSBkaW06IGlmIHByb3ZpZGVkIHRoaXMgd2lsbCBlbmFibGUgb3IgZGlzYWJsZSBkaW0gbW9kZS4gIFRoaXMgaXMKICAgICAgICAgICAgICAgIGJhZGx5IHN1cHBvcnRlZC4KICAgIDpwYXJhbSB1bmRlcmxpbmU6IGlmIHByb3ZpZGVkIHRoaXMgd2lsbCBlbmFibGUgb3IgZGlzYWJsZSB1bmRlcmxpbmUuCiAgICA6cGFyYW0gb3ZlcmxpbmU6IGlmIHByb3ZpZGVkIHRoaXMgd2lsbCBlbmFibGUgb3IgZGlzYWJsZSBvdmVybGluZS4KICAgIDpwYXJhbSBpdGFsaWM6IGlmIHByb3ZpZGVkIHRoaXMgd2lsbCBlbmFibGUgb3IgZGlzYWJsZSBpdGFsaWMuCiAgICA6cGFyYW0gYmxpbms6IGlmIHByb3ZpZGVkIHRoaXMgd2lsbCBlbmFibGUgb3IgZGlzYWJsZSBibGlua2luZy4KICAgIDpwYXJhbSByZXZlcnNlOiBpZiBwcm92aWRlZCB0aGlzIHdpbGwgZW5hYmxlIG9yIGRpc2FibGUgaW52ZXJzZQogICAgICAgICAgICAgICAgICAgIHJlbmRlcmluZyAoZm9yZWdyb3VuZCBiZWNvbWVzIGJhY2tncm91bmQgYW5kIHRoZQogICAgICAgICAgICAgICAgICAgIG90aGVyIHdheSByb3VuZCkuCiAgICA6cGFyYW0gc3RyaWtldGhyb3VnaDogaWYgcHJvdmlkZWQgdGhpcyB3aWxsIGVuYWJsZSBvciBkaXNhYmxlCiAgICAgICAgc3RyaWtpbmcgdGhyb3VnaCB0ZXh0LgogICAgOnBhcmFtIHJlc2V0OiBieSBkZWZhdWx0IGEgcmVzZXQtYWxsIGNvZGUgaXMgYWRkZWQgYXQgdGhlIGVuZCBvZiB0aGUKICAgICAgICAgICAgICAgICAgc3RyaW5nIHdoaWNoIG1lYW5zIHRoYXQgc3R5bGVzIGRvIG5vdCBjYXJyeSBvdmVyLiAgVGhpcwogICAgICAgICAgICAgICAgICBjYW4gYmUgZGlzYWJsZWQgdG8gY29tcG9zZSBzdHlsZXMuCgogICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiA4LjAKICAgICAgICBBIG5vbi1zdHJpbmcgYGBtZXNzYWdlYGAgaXMgY29udmVydGVkIHRvIGEgc3RyaW5nLgoKICAgIC4uIHZlcnNpb25jaGFuZ2VkOjogOC4wCiAgICAgICBBZGRlZCBzdXBwb3J0IGZvciAyNTYgYW5kIFJHQiBjb2xvciBjb2Rlcy4KCiAgICAuLiB2ZXJzaW9uY2hhbmdlZDo6IDguMAogICAgICAgIEFkZGVkIHRoZSBgYHN0cmlrZXRocm91Z2hgYCwgYGBpdGFsaWNgYCwgYW5kIGBgb3ZlcmxpbmVgYAogICAgICAgIHBhcmFtZXRlcnMuCgogICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiA3LjAKICAgICAgICBBZGRlZCBzdXBwb3J0IGZvciBicmlnaHQgY29sb3JzLgoKICAgIC4uIHZlcnNpb25hZGRlZDo6IDIuMAogICAgegIbW9oBbXoOVW5rbm93biBjb2xvciBO6QoAAAByBAAAAOkWAAAA6QIAAADpBAAAAOkYAAAA6TUAAADpNwAAAOkDAAAA6RcAAADpBQAAAOkZAAAA6QcAAADpGwAAAOkJAAAA6R0AAABycAAAACkIckYAAABySQAAANoGYXBwZW5kcrEAAADaCEtleUVycm9y2glUeXBlRXJyb3LaD19hbnNpX3Jlc2V0X2FsbHJHAAAAKQ1yPQAAAHKyAAAAcrMAAABytAAAAHK1AAAAcrYAAABytwAAAHK4AAAAcrkAAAByugAAAHK7AAAAciQAAADaBGJpdHNzDQAAACAgICAgICAgICAgICByOgAAANoFc3R5bGVy0gAAAM4BAABzpgIAAIAA9XQCAAwWkGSdQ9ELINQLIPAAAQUZ3Q8SkDSJeYx5iATgCw2AROAHCfAABAU/8AIDCT/YDBCPS4pL0Bg31SAwsBLRIDTUIDTQGDfQGDfQGDfRDDjUDDjQDDjQDDj43Q8X8AABCT/wAAEJP/AAAQk/3RIb0BwzqFLQHDPQHDPREjTUEjS4JNAMPvADAQk/+Pj48AYACArwAAQFP/ACAwk/2AwQj0uKS9AYO9UgMLASsFLRIDjUIDjQGDvQGDvQGDvRDDzUDDzQDDzQDDz43Q8X8AABCT/wAAEJP/AAAQk/3RIb0BwzqFLQHDPQHDPREjTUEjS4JNAMPvADAQk/+Pj48AYACAzQBxfYCAyPC4oL0BQwoBTQHC2YQZhBqDLQFDDQFDDQFDDRCDHUCDHQCDHYBwqAf9gIDI8LigvQFC+gE9AcLJhBmEGoItAUL9AUL9AUL9EIMNQIMNAIMNgHENAHHNgIDI8LigvQFDWgGdAcMphBmEGwAtAUNdAUNdAUNdEINtQINtAINtgHD9AHG9gIDI8LigvQFDWgKNAcMphCmEKwAtAUNdAUNdAUNdEINtQINtAINtgHDdAHGdgIDI8LigvQFDKgFtAcL5hBmEGoUtAUMtAUMtAUMtEIM9QIM9AIM9gHDNAHGNgIDI8LigvQFDGgFdAcLphBmEGoQtAUMdAUMdAUMdEIMtQIMtAIMtgHDtAHGtgIDI8LigvQFDOgF9AcMJhBmEGoYtAUM9AUM9AUM9EINNQINNAINNgHFNAHINgIDI8LigvQFDmgHdAcNphBmEGwQtAUOdAUOdAUOdEIOtQIOtAIOtgECIdLgkuQBNEEFdQEFdAEFdgHDPAAAQUl2AgMjwuKC5VP0Qgk1Agk0Agk2AsNjzeKN5A0iT2MPdAEGHMXAAAAqiZBEQDBER5BLwPBNSdCHQDCHR5COwNjAQAAAAAAAAAAAAAAAwAAAAMAAADzIAAAAJcAdAEAAAAAAAAAAAAAfACmAQAAqwEAAAAAAAAAAFMAKQFhDgEAAFJlbW92ZXMgQU5TSSBzdHlsaW5nIGluZm9ybWF0aW9uIGZyb20gYSBzdHJpbmcuICBVc3VhbGx5IGl0J3Mgbm90CiAgICBuZWNlc3NhcnkgdG8gdXNlIHRoaXMgZnVuY3Rpb24gYXMgQ2xpY2sncyBlY2hvIGZ1bmN0aW9uIHdpbGwKICAgIGF1dG9tYXRpY2FsbHkgcmVtb3ZlIHN0eWxpbmcgaWYgbmVjZXNzYXJ5LgoKICAgIC4uIHZlcnNpb25hZGRlZDo6IDIuMAoKICAgIDpwYXJhbSB0ZXh0OiB0aGUgdGV4dCB0byByZW1vdmUgc3R5bGUgaW5mb3JtYXRpb24gZnJvbS4KICAgIHIGAAAAKQFyPQAAAHMBAAAAIHI6AAAA2gd1bnN0eWxlctQAAABPAgAAcxIAAACAAPUSAAwWkGTRCxvUCxvQBBtyPAAAANoHbWVzc2FnZXJcAAAA2gZzdHlsZXNjBQAAAAAAAAAAAAAABwAAAAsAAADzgAAAAJcAfACBKXQBAAAAAAAAAAAAAHwAdAIAAAAAAAAAAAAAdAQAAAAAAAAAAAAAZgKmAgAAqwIAAAAAAAAAAHMNdAcAAAAAAAAAAAAAfABmAWkAfAWkAY4BfQB0CQAAAAAAAAAAAAB8AHwBfAJ8A3wErAKmBQAAqwUAAAAAAAAAAFMAKQNh7QIAAFRoaXMgZnVuY3Rpb24gY29tYmluZXMgOmZ1bmM6YGVjaG9gIGFuZCA6ZnVuYzpgc3R5bGVgIGludG8gb25lCiAgICBjYWxsLiAgQXMgc3VjaCB0aGUgZm9sbG93aW5nIHR3byBjYWxscyBhcmUgdGhlIHNhbWU6OgoKICAgICAgICBjbGljay5zZWNobygnSGVsbG8gV29ybGQhJywgZmc9J2dyZWVuJykKICAgICAgICBjbGljay5lY2hvKGNsaWNrLnN0eWxlKCdIZWxsbyBXb3JsZCEnLCBmZz0nZ3JlZW4nKSkKCiAgICBBbGwga2V5d29yZCBhcmd1bWVudHMgYXJlIGZvcndhcmRlZCB0byB0aGUgdW5kZXJseWluZyBmdW5jdGlvbnMKICAgIGRlcGVuZGluZyBvbiB3aGljaCBvbmUgdGhleSBnbyB3aXRoLgoKICAgIE5vbi1zdHJpbmcgdHlwZXMgd2lsbCBiZSBjb252ZXJ0ZWQgdG8gOmNsYXNzOmBzdHJgLiBIb3dldmVyLAogICAgOmNsYXNzOmBieXRlc2AgYXJlIHBhc3NlZCBkaXJlY3RseSB0byA6bWV0aDpgZWNob2Agd2l0aG91dCBhcHBseWluZwogICAgc3R5bGUuIElmIHlvdSB3YW50IHRvIHN0eWxlIGJ5dGVzIHRoYXQgcmVwcmVzZW50IHRleHQsIGNhbGwKICAgIDptZXRoOmBieXRlcy5kZWNvZGVgIGZpcnN0LgoKICAgIC4uIHZlcnNpb25jaGFuZ2VkOjogOC4wCiAgICAgICAgQSBub24tc3RyaW5nIGBgbWVzc2FnZWBgIGlzIGNvbnZlcnRlZCB0byBhIHN0cmluZy4gQnl0ZXMgYXJlCiAgICAgICAgcGFzc2VkIHRocm91Z2ggd2l0aG91dCBzdHlsZSBhcHBsaWVkLgoKICAgIC4uIHZlcnNpb25hZGRlZDo6IDIuMAogICAgTikEcpwAAAByXAAAAHJXAAAAcnYAAAApBXJGAAAA2gVieXRlc9oJYnl0ZWFycmF5ctIAAAByDgAAACkGctUAAABynAAAAHJcAAAAclcAAABydgAAAHLWAAAAcwYAAAAgICAgICByOgAAANoFc2VjaG9y2gAAAFsCAABzTAAAAIAA8DgACA/QBxqlOqhnvQW9edA3SdEjStQjStAHGt0SF5gH0BIq0BIqoDbQEirQEiqIB+ULD5AHmGSgcqhzuCXQC0DRC0DUC0DQBEByPAAAAPoELnR4dNoGZWRpdG9y2gNlbnbaDHJlcXVpcmVfc2F2ZdoJZXh0ZW5zaW9u2ghmaWxlbmFtZWMGAAAAAAAAAAAAAAAGAAAAAwAAAPOIAAAAlwBkAWQCbABtAX0GAQACAHwGfAF8AnwDfASsA6YEAACrBAAAAAAAAAAAfQd8BYAVfAegAgAAAAAAAAAAAAAAAAAAAAAAAAAAfACmAQAAqwEAAAAAAAAAAFMAfAegAwAAAAAAAAAAAAAAAAAAAAAAAAAAfAWmAQAAqwEAAAAAAAAAAAEAZARTACkFYc8FAABFZGl0cyB0aGUgZ2l2ZW4gdGV4dCBpbiB0aGUgZGVmaW5lZCBlZGl0b3IuICBJZiBhbiBlZGl0b3IgaXMgZ2l2ZW4KICAgIChzaG91bGQgYmUgdGhlIGZ1bGwgcGF0aCB0byB0aGUgZXhlY3V0YWJsZSBidXQgdGhlIHJlZ3VsYXIgb3BlcmF0aW5nCiAgICBzeXN0ZW0gc2VhcmNoIHBhdGggaXMgdXNlZCBmb3IgZmluZGluZyB0aGUgZXhlY3V0YWJsZSkgaXQgb3ZlcnJpZGVzCiAgICB0aGUgZGV0ZWN0ZWQgZWRpdG9yLiAgT3B0aW9uYWxseSwgc29tZSBlbnZpcm9ubWVudCB2YXJpYWJsZXMgY2FuIGJlCiAgICB1c2VkLiAgSWYgdGhlIGVkaXRvciBpcyBjbG9zZWQgd2l0aG91dCBjaGFuZ2VzLCBgTm9uZWAgaXMgcmV0dXJuZWQuICBJbgogICAgY2FzZSBhIGZpbGUgaXMgZWRpdGVkIGRpcmVjdGx5IHRoZSByZXR1cm4gdmFsdWUgaXMgYWx3YXlzIGBOb25lYCBhbmQKICAgIGByZXF1aXJlX3NhdmVgIGFuZCBgZXh0ZW5zaW9uYCBhcmUgaWdub3JlZC4KCiAgICBJZiB0aGUgZWRpdG9yIGNhbm5vdCBiZSBvcGVuZWQgYSA6ZXhjOmBVc2FnZUVycm9yYCBpcyByYWlzZWQuCgogICAgTm90ZSBmb3IgV2luZG93czogdG8gc2ltcGxpZnkgY3Jvc3MtcGxhdGZvcm0gdXNhZ2UsIHRoZSBuZXdsaW5lcyBhcmUKICAgIGF1dG9tYXRpY2FsbHkgY29udmVydGVkIGZyb20gUE9TSVggdG8gV2luZG93cyBhbmQgdmljZSB2ZXJzYS4gIEFzIHN1Y2gsCiAgICB0aGUgbWVzc2FnZSBoZXJlIHdpbGwgaGF2ZSBgYFxuYGAgYXMgbmV3bGluZSBtYXJrZXJzLgoKICAgIDpwYXJhbSB0ZXh0OiB0aGUgdGV4dCB0byBlZGl0LgogICAgOnBhcmFtIGVkaXRvcjogb3B0aW9uYWxseSB0aGUgZWRpdG9yIHRvIHVzZS4gIERlZmF1bHRzIHRvIGF1dG9tYXRpYwogICAgICAgICAgICAgICAgICAgZGV0ZWN0aW9uLgogICAgOnBhcmFtIGVudjogZW52aXJvbm1lbnQgdmFyaWFibGVzIHRvIGZvcndhcmQgdG8gdGhlIGVkaXRvci4KICAgIDpwYXJhbSByZXF1aXJlX3NhdmU6IGlmIHRoaXMgaXMgdHJ1ZSwgdGhlbiBub3Qgc2F2aW5nIGluIHRoZSBlZGl0b3IKICAgICAgICAgICAgICAgICAgICAgICAgIHdpbGwgbWFrZSB0aGUgcmV0dXJuIHZhbHVlIGJlY29tZSBgTm9uZWAuCiAgICA6cGFyYW0gZXh0ZW5zaW9uOiB0aGUgZXh0ZW5zaW9uIHRvIHRlbGwgdGhlIGVkaXRvciBhYm91dC4gIFRoaXMgZGVmYXVsdHMKICAgICAgICAgICAgICAgICAgICAgIHRvIGAudHh0YCBidXQgY2hhbmdpbmcgdGhpcyBtaWdodCBjaGFuZ2Ugc3ludGF4CiAgICAgICAgICAgICAgICAgICAgICBoaWdobGlnaHRpbmcuCiAgICA6cGFyYW0g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AAAAAAAAUwApBGGGAwAARmV0Y2hlcyBhIHNpbmdsZSBjaGFyYWN0ZXIgZnJvbSB0aGUgdGVybWluYWwgYW5kIHJldHVybnMgaXQuICBUaGlzCiAgICB3aWxsIGFsd2F5cyByZXR1cm4gYSB1bmljb2RlIGNoYXJhY3RlciBhbmQgdW5kZXIgY2VydGFpbiByYXJlCiAgICBjaXJjdW1zdGFuY2VzIHRoaXMgbWlnaHQgcmV0dXJuIG1vcmUgdGhhbiBvbmUgY2hhcmFjdGVyLiAgVGhlCiAgICBzaXR1YXRpb25zIHdoaWNoIG1vcmUgdGhhbiBvbmUgY2hhcmFjdGVyIGlzIHJldHVybmVkIGlzIHdoZW4gZm9yCiAgICB3aGF0ZXZlciByZWFzb24gbXVsdGlwbGUgY2hhcmFjdGVycyBlbmQgdXAgaW4gdGhlIHRlcm1pbmFsIGJ1ZmZlciBvcgogICAgc3RhbmRhcmQgaW5wdXQgd2FzIG5vdCBhY3R1YWxseSBhIHRlcm1pbmFsLgoKICAgIE5vdGUgdGhhdCB0aGlzIHdpbGwgYWx3YXlzIHJlYWQgZnJvbSB0aGUgdGVybWluYWwsIGV2ZW4gaWYgc29tZXRoaW5nCiAgICBpcyBwaXBlZCBpbnRvIHRoZSBzdGFuZGFyZCBpbnB1dC4KCiAgICBOb3RlIGZvciBXaW5kb3dzOiBpbiByYXJlIGNhc2VzIHdoZW4gdHlwaW5nIG5vbi1BU0NJSSBjaGFyYWN0ZXJzLCB0aGlzCiAgICBmdW5jdGlvbiBtaWdodCB3YWl0IGZvciBhIHNlY29uZCBjaGFyYWN0ZXIgYW5kIHRoZW4gcmV0dXJuIGJvdGggYXQgb25jZS4KICAgIFRoaXMgaXMgYmVjYXVzZSBjZXJ0YWluIFVuaWNvZGUgY2hhcmFjdGVycyBsb29rIGxpa2Ugc3BlY2lhbC1rZXkgbWFya2Vycy4KCiAgICAuLiB2ZXJzaW9uYWRkZWQ6OiAyLjAKCiAgICA6cGFyYW0gZWNobzogaWYgc2V0IHRvIGBUcnVlYCwgdGhlIGNoYXJhY3RlciByZWFkIHdpbGwgYWxzbyBzaG93IHVwIG9uCiAgICAgICAgICAgICAgICAgdGhlIHRlcm1pbmFsLiAgVGhlIGRlZmF1bHQgaXMgdG8g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QXJ/AAAAck8AAAByhwAAAHKhAAAA2gZ0eXBpbmdygQAAAHIDAAAAcmQAAADaB19jb21wYXRyBQAAAHIHAAAA2gpleGNlcHRpb25zcggAAAByCQAAANoHZ2xvYmFsc3IKAAAA2gV0eXBlc3ILAAAAcgwAAAByDQAAANoFdXRpbHNyDgAAAHIPAAAA2g1UWVBFX0NIRUNLSU5HcoYAAAByEQAAANoHVHlwZVZhcnISAAAA2gVpbnB1dHITAAAAcoMAAABySQAAANoPX19hbm5vdGF0aW9uc19fcq0AAABy0AAAAHI7AAAA2gRib29s2ghPcHRpb25hbNoDQW55ckwAAABySwAAANoFVW5pb25yNgAAAHJ0AAAAcoQAAAByiwAAAHKqAAAA2gZUZXh0SU9ynwAAAHKkAAAA2gVUdXBsZXKxAAAActIAAABy1AAAANoCSU/aBkFueVN0cnLaAAAA2gdNYXBwaW5ncuMAAABy6wAAAHLsAAAAcu4AAADaDkNvbnRleHRNYW5hZ2VycvAAAABy9AAAAHKjAAAAcjwAAAByOgAAAPoIPG1vZHVsZT5yCQEAAAEAAABz/QkAAPADAQEB2AAOgA6ADoAOgA7YAAmACYAJgAnYABDQABDQABDQABDYAAqACoAKgArYABLQABLQABLQABLYACDQACDQACDQACDQACDQACDgABvQABvQABvQABvQABvQABvYAB/QAB/QAB/QAB/QAB/QAB/YAB3QAB3QAB3QAB3QAB3QAB3YACLQACLQACLQACLQACLQACLYACrQACrQACrQACrQACrQACrYABnQABnQABnQABnQABnQABnYAB/QAB/QAB/QAB/QAB/QAB/YABzQABzQABzQABzQABzQABzYABfQABfQABfQABfQABfQABfYABvQABvQABvQABvQABvQABvgAwSEP/AAAQEq2AQp0AQp0AQp0AQp0AQp0AQp4AQNgEGESYhjgU6EToAB8AgALzTQABOQUZRaoBOgBaBzoArUFSvQADPQADPRADPwBBIQAtgEC4hS8AMSEALgBAmIMvAFEhAC8AYABQyIUvAHEhAC8AgABQ2IYvAJEhAC8AoABQuIQvALEhAC8AwABQ6IcvANEhAC8A4ABQuIQvAPEhAC8BAABQyIUvAREhAC8BIABQyIUvATEhAC8BQABROQQvAVEhAC8BYA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
Base64 mode: content will be decoded on save.
Save
Close
Exit & Reset
Directory Contents
Dirs: 0 × Files: 16
Delete Selected
Select All
Select None
Sort:
Name
Size
Modified
Enable drag-to-move
Name
Size
Perms
Modified
Actions
core.cpython-311.pyc
139.11 KB
lrw-r--r--
2026-02-13 12:40:40
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
decorators.cpython-311.pyc
24.87 KB
lrw-r--r--
2026-02-13 12:40:40
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
exceptions.cpython-311.pyc
15.85 KB
lrw-r--r--
2026-02-13 12:40:40
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
formatting.cpython-311.pyc
15.35 KB
lrw-r--r--
2026-02-13 12:40:40
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
globals.cpython-311.pyc
3.32 KB
lrw-r--r--
2026-02-13 12:40:40
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
parser.cpython-311.pyc
22.62 KB
lrw-r--r--
2026-02-13 12:40:40
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
shell_completion.cpython-311.pyc
23.45 KB
lrw-r--r--
2026-02-13 12:40:40
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
termui.cpython-311.pyc
33.70 KB
lrw-r--r--
2026-02-13 12:40:40
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
testing.cpython-311.pyc
25.19 KB
lrw-r--r--
2026-02-13 12:40:40
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
types.cpython-311.pyc
52.44 KB
lrw-r--r--
2026-02-13 12:40:40
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
utils.cpython-311.pyc
27.35 KB
lrw-r--r--
2026-02-13 12:40:40
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
_compat.cpython-311.pyc
28.03 KB
lrw-r--r--
2026-02-13 12:40:40
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
_termui_impl.cpython-311.pyc
32.32 KB
lrw-r--r--
2026-02-13 12:40:40
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
_textwrap.cpython-311.pyc
2.61 KB
lrw-r--r--
2026-02-13 12:40:40
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
_winconsole.cpython-311.pyc
13.05 KB
lrw-r--r--
2026-02-13 12:40:40
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
__init__.cpython-311.pyc
3.63 KB
lrw-r--r--
2026-02-13 12:40:40
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).