REDROOM
PHP 8.2.30
Path:
Logout
Edit File
Size: 89.07 KB
Close
//opt/hc_python/lib/python3.12/site-packages/sqlalchemy/engine/__pycache__/result.cpython-312.pyc
Text
Base64
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CiAgICAgICBjb21wbGV0ZWx5IHVwZGF0ZWQgdXNhZ2UgbW9kZWwgYW5kIGNhbGxpbmcgZmFjYWRlIGZvciBTUUxBbGNoZW15CiAgICAgICBDb3JlIGFuZCBTUUxBbGNoZW15IE9STS4gICBJbiBDb3JlLCBpdCBmb3JtcyB0aGUgYmFzaXMgb2YgdGhlCiAgICAgICA6Y2xhc3M6YF9lbmdpbmUuQ3Vyc29yUmVzdWx0YCBvYmplY3Qgd2hpY2ggcmVwbGFjZXMgdGhlIHByZXZpb3VzCiAgICAgICA6Y2xhc3M6YF9lbmdpbmUuUmVzdWx0UHJveHlgIGludGVyZmFjZS4gICBXaGVuIHVzaW5nIHRoZSBPUk0sIGEKICAgICAgIGhpZ2hlciBsZXZlbCBvYmplY3QgY2FsbGVkIDpjbGFzczpgX2VuZ2luZS5DaHVua2VkSXRlcmF0b3JSZXN1bHRgCiAgICAgICBpcyBub3JtYWxseSB1c2VkLgoKICAgIC4uIG5vdGU6OiBJbiBTUUxBbGNoZW15IDEuNCBhbmQgYWJvdmUsIHRoaXMgb2JqZWN0IGlzCiAgICAgICB1c2VkIGZvciBPUk0gcmVzdWx0cyByZXR1cm5lZCBieSA6bWV0aDpgX29ybS5TZXNzaW9uLmV4ZWN1dGVgLCB3aGljaCBjYW4KICAgICAgIHlpZWxkIGluc3RhbmNlcyBvZiBPUk0gbWFwcGVkIG9iamVjdHMgZWl0aGVyIGluZGl2aWR1YWxseSBvciB3aXRoaW4KICAgICAgIHR1cGxlLWxpa2Ugcm93cy4gTm90ZSB0aGF0IHRoZSA6Y2xhc3M6YF9lbmdpbmUuUmVzdWx0YCBvYmplY3QgZG9lcyBub3QKICAgICAgIGRlZHVwbGljYXRlIGluc3RhbmNlcyBvciByb3dzIGF1dG9tYXRpY2FsbHkgYXMgaXMgdGhlIGNhc2Ugd2l0aCB0aGUKICAgICAgIGxlZ2FjeSA6Y2xhc3M6YF9vcm0uUXVlcnlgIG9iamVjdC4gRm9yIGluLVB5dGhvbiBkZS1kdXBsaWNhdGlvbiBvZgogICAgICAgaW5zdGFuY2VzIG9yIHJvd3MsIHVzZSB0aGUgOm1ldGg6YF9lbmdpbmUuUmVzdWx0LnVuaXF1ZWAgbW9kaWZpZXIKICAgICAgIG1ldGhvZC4KCiAgICAuLiBzZWVhbHNvOjoKCiAgICAgICAgOnJlZjpgdHV0b3JpYWxfZmV0Y2hpbmdfcm93c2AgLSBpbiB0aGUgOmRvYzpgL3R1dG9yaWFsL2luZGV4YAoKICAgICkCcucAAADaCF9fZGljdF9fTnooT3B0aW9uYWxbQ2FsbGFibGVbW1Jvd1tBbnldXSwgUm93W0FueV1dXXLkAAAARnJ/AAAAcugAAAByhwAAAHI1AQAAehx1dGlsLmltbXV0YWJsZWRpY3RbQW55LCBBbnld2gtfYXR0cmlidXRlc2MCAAAAAAAAAAAAAAACAAAAAwAAAfMSAAAAlwB8AXwAXwAAAAAAAAAAAHkAcj4AAAApAXLnAAAAKQJyQQAAANoPY3Vyc29yX21ldGFkYXRhcwIAAAAgIHJCAAAAcpwAAAB6D1Jlc3VsdC5fX2luaXRfX6wDAABzCQAAAIAA2BkoiASNDnJEAAAAYwEAAAAAAAAAAAAAAAEAAAADAAAB8wYAAACXAHwAUwByPgAAAHIuAAAAckAAAABzAQAAACByQgAAANoJX19lbnRlcl9fehBSZXN1bHQuX19lbnRlcl9frwMAAPMHAAAAgADYDxOIC3JEAAAAYwQAAAAAAAAAAAAAAAIAAAADAAAB8yQAAACXAHwAagEAAAAAAAAAAAAAAAAAAAAAAACrAAAAAAAAAAEAeQByPgAAACkB2gVjbG9zZakEckEAAADaBXR5cGVf2gV2YWx1ZdoJdHJhY2ViYWNrcwQAAAAgICAgckIAAADaCF9fZXhpdF9feg9SZXN1bHQuX19leGl0X1+yAwAAcwsAAACAANgIDI8KiQqNDHJEAAAAYwEAAAAAAAAAAAAAAAMAAAADAAAB8ygAAACXAHwAagEAAAAAAAAAAAAAAAAAAAAAAABkAawCqwEAAAAAAAABAHkDKQRh/QMAAGNsb3NlIHRoaXMgOmNsYXNzOmBfZW5naW5lLlJlc3VsdGAuCgogICAgICAgIFRoZSBiZWhhdmlvciBvZiB0aGlzIG1ldGhvZCBpcyBpbXBsZW1lbnRhdGlvbiBzcGVjaWZpYywgYW5kIGlzCiAgICAgICAgbm90IGltcGxlbWVudGVkIGJ5IGRlZmF1bHQuICAgIFRoZSBtZXRob2Qgc2hvdWxkIGdlbmVyYWxseSBlbmQKICAgICAgICB0aGUgcmVzb3VyY2VzIGluIHVzZSBieSB0aGUgcmVzdWx0IG9iamVjdCBhbmQgYWxzbyBjYXVzZSBhbnkKICAgICAgICBzdWJzZXF1ZW50IGl0ZXJhdGlvbiBvciByb3cgZmV0Y2hpbmcgdG8gcmFpc2UKICAgICAgICA6Y2xhc3M6YC5SZXNvdXJjZUNsb3NlZEVycm9yYC4KCiAgICAgICAgLi4gdmVyc2lvbmFkZGVkOjogMS40LjI3IC0gYGAuY2xvc2UoKWBgIHdhcyBwcmV2aW91c2x5IG5vdCBnZW5lcmFsbHkKICAgICAgICAgICBhdmFpbGFibGUgZm9yIGFsbCA6Y2xhc3M6YF9lbmdpbmUuUmVzdWx0YCBjbGFzc2VzLCBpbnN0ZWFkIG9ubHkKICAgICAgICAgICBiZWluZyBhdmFpbGFibGUgb24gdGhlIDpjbGFzczpgX2VuZ2luZS5DdXJzb3JSZXN1bHRgIHJldHVybmVkIGZvcgogICAgICAgICAgIENvcmUgc3RhdGVtZW50IGV4ZWN1dGlvbnMuIEFzIG1vc3Qgb3RoZXIgcmVzdWx0IG9iamVjdHMsIG5hbWVseSB0aGUKICAgICAgICAgICBvbmVzIHVzZWQgYnkgdGhlIE9STSwgYXJlIHByb3h5aW5nIGEgOmNsYXNzOmBfZW5naW5lLkN1cnNvclJlc3VsdGAKICAgICAgICAgICBpbiBhbnkgY2FzZSwgdGhpcyBhbGxvd3MgdGhlIHVuZGVybHlpbmcgY3Vyc29yIHJlc3VsdCB0byBiZSBjbG9zZWQKICAgICAgICAgICBmcm9tIHRoZSBvdXRzaWRlIGZhY2FkZSBmb3IgdGhlIGNhc2Ugd2hlbiB0aGUgT1JNIHF1ZXJ5IGlzIHVzaW5nCiAgICAgICAgICAgdGhlIGBgeWllbGRfcGVyYGAgZXhlY3V0aW9uIG9wdGlvbiB3aGVyZSBpdCBkb2VzIG5vdCBpbW1lZGlhdGVseQogICAgICAgICAgIGV4aGF1c3QgYW5kIGF1dG9jbG9zZSB0aGUgZGF0YWJhc2UgY3Vyc29yLgoKICAgICAgICBUckkBAABOKQFy+AAAAHJAAAAAcwEAAAAgckIAAABydAEAAHoMUmVzdWx0LmNsb3NltQMAAHMVAAAAgADwKAAJDdcIGNEIGJhk0AgY1QgjckQAAABjAQAAAAAAAAAAAAAAAgAAAAMAAAHzFgAAAJcAdAEAAAAAAAAAAKsAAAAAAAAAggFyPgAAAHJGAAAAckAAAABzAQAAACByQgAAANoMX3NvZnRfY2xvc2VkehNSZXN1bHQuX3NvZnRfY2xvc2VkywMAAHMLAAAAgADkDiHTDiPQCCNyRAAAAGMBAAAAAAAAAAAAAAACAAAAAwAAAfMWAAAAlwB0AQAAAAAAAAAAqwAAAAAAAACCASkBemtyZXR1cm4gYGBUcnVlYGAgaWYgdGhpcyA6Y2xhc3M6YF9lbmdpbmUuUmVzdWx0YCByZXBvcnRzIC5jbG9zZWQKCiAgICAgICAgLi4gdmVyc2lvbmFkZGVkOjogMS40LjQzCgogICAgICAgIHJGAAAAckAAAABzAQAAACByQgAAANoGY2xvc2Vkeg1SZXN1bHQuY2xvc2VkzwMAAPMNAAAAgAD0DgAPItMOI9AII3JEAAAAYwIAAAAAAAAAAAAAAAIAAAADAAAB8xQAAACXAHwBfABfAAAAAAAAAAAAfABTACkBYeUIAABDb25maWd1cmUgdGhlIHJvdy1mZXRjaGluZyBzdHJhdGVneSB0byBmZXRjaCBgYG51bWBgIHJvd3MgYXQgYSB0aW1lLgoKICAgICAgICBUaGlzIGltcGFjdHMgdGhlIHVuZGVybHlpbmcgYmVoYXZpb3Igb2YgdGhlIHJlc3VsdCB3aGVuIGl0ZXJhdGluZyBvdmVyCiAgICAgICAgdGhlIHJlc3VsdCBvYmplY3QsIG9yIG90aGVyd2lzZSBtYWtpbmcgdXNlIG9mICBtZXRob2RzIHN1Y2ggYXMKICAgICAgICA6bWV0aDpgX2VuZ2luZS5SZXN1bHQuZmV0Y2hvbmVgIHRoYXQgcmV0dXJuIG9uZSByb3cgYXQgYSB0aW1lLiAgIERhdGEKICAgICAgICBmcm9tIHRoZSB1bmRlcmx5aW5nIGN1cnNvciBvciBvdGhlciBkYXRhIHNvdXJjZSB3aWxsIGJlIGJ1ZmZlcmVkIHVwIHRvCiAgICAgICAgdGhpcyBtYW55IHJvd3MgaW4gbWVtb3J5LCBhbmQgdGhlIGJ1ZmZlcmVkIGNvbGxlY3Rpb24gd2lsbCB0aGVuIGJlCiAgICAgICAgeWllbGRlZCBvdXQgb25lIHJvdyBhdCBhIHRpbWUgb3IgYXMgbWFueSByb3dzIGFyZSByZXF1ZXN0ZWQuIEVhY2ggdGltZQogICAgICAgIHRoZSBidWZmZXIgY2xlYXJzLCBpdCB3aWxsIGJlIHJlZnJlc2hlZCB0byB0aGlzIG1hbnkgcm93cyBvciBhcyBtYW55CiAgICAgICAgcm93cyByZW1haW4gaWYgZmV3ZXIgcmVtYWluLgoKICAgICAgICBUaGUgOm1ldGg6YF9lbmdpbmUuUmVzdWx0LnlpZWxkX3BlcmAgbWV0aG9kIGlzIGdlbmVyYWxseSB1c2VkIGluCiAgICAgICAgY29uanVuY3Rpb24gd2l0aCB0aGUKICAgICAgICA6cGFyYW1yZWY6YF9lbmdpbmUuQ29ubmVjdGlvbi5leGVjdXRpb25fb3B0aW9ucy5zdHJlYW1fcmVzdWx0c2AKICAgICAgICBleGVjdXRpb24gb3B0aW9uLCB3aGljaCB3aWxsIGFsbG93IHRoZSBkYXRhYmFzZSBkaWFsZWN0IGluIHVzZSB0byBtYWtlCiAgICAgICAgdXNlIG9mIGEgc2VydmVyIHNpZGUgY3Vyc29yLCBpZiB0aGUgREJBUEkgc3VwcG9ydHMgYSBzcGVjaWZpYyAic2VydmVyCiAgICAgICAgc2lkZSBjdXJzb3IiIG1vZGUgc2VwYXJhdGUgZnJvbSBpdHMgZGVmYXVsdCBtb2RlIG9mIG9wZXJhdGlvbi4KCiAgICAgICAgLi4gdGlwOjoKCiAgICAgICAgICAgIENvbnNpZGVyIHVzaW5nIHRoZQogICAgICAgICAgICA6cGFyYW1yZWY6YF9lbmdpbmUuQ29ubmVjdGlvbi5leGVjdXRpb25fb3B0aW9ucy55aWVsZF9wZXJgCiAgICAgICAgICAgIGV4ZWN1dGlvbiBvcHRpb24sIHdoaWNoIHdpbGwgc2ltdWx0YW5lb3VzbHkgc2V0CiAgICAgICAgICAgIDpwYXJhbXJlZjpgX2VuZ2luZS5Db25uZWN0aW9uLmV4ZWN1dGlvbl9vcHRpb25zLnN0cmVhbV9yZXN1bHRzYAogICAgICAgICAgICB0byBlbnN1cmUgdGhlIHVzZSBvZiBzZXJ2ZXIgc2lkZSBjdXJzb3JzLCBhcyB3ZWxsIGFzIGF1dG9tYXRpY2FsbHkKICAgICAgICAgICAgaW52b2tlIHRoZSA6bWV0aDpgX2VuZ2luZS5SZXN1bHQueWllbGRfcGVyYCBtZXRob2QgdG8gZXN0YWJsaXNoCiAgICAgICAgICAgIGEgZml4ZWQgcm93IGJ1ZmZlciBzaXplIGF0IG9uY2UuCgogICAgICAgICAgICBUaGUgOnBhcmFtcmVmOmBfZW5naW5lLkNvbm5lY3Rpb24uZXhlY3V0aW9uX29wdGlvbnMueWllbGRfcGVyYAogICAgICAgICAgICBleGVjdXRpb24gb3B0aW9uIGlzIGF2YWlsYWJsZSBmb3IgT1JNIG9wZXJhdGlvbnMsIHdpdGgKICAgICAgICAgICAgOmNsYXNzOmBfb3JtLlNlc3Npb25gLW9yaWVudGVkIHVzZSBkZXNjcmliZWQgYXQKICAgICAgICAgICAgOnJlZjpgb3JtX3F1ZXJ5Z3VpZGVfeWllbGRfcGVyYC4gVGhlIENvcmUtb25seSB2ZXJzaW9uIHdoaWNoIHdvcmtzCiAgICAgICAgICAgIHdpdGggOmNsYXNzOmBfZW5naW5lLkNvbm5lY3Rpb25gIGlzIG5ldyBhcyBvZiBTUUxBbGNoZW15IDEuNC40MC4KCiAgICAgICAgLi4gdmVyc2lvbmFkZGVkOjogMS40CgogICAgICAgIDpwYXJhbSBudW06IG51bWJlciBvZiByb3dzIHRvIGZldGNoIGVhY2ggdGltZSB0aGUgYnVmZmVyIGlzIHJlZmlsbGVkLgogICAgICAgICBJZiBzZXQgdG8gYSB2YWx1ZSBiZWxvdyAxLCBmZXRjaGVzIGFsbCByb3dzIGZvciB0aGUgbmV4dCBidWZmZXIuCgogICAgICAgIC4uIHNlZWFsc286OgoKICAgICAgICAgICAgOnJlZjpgZW5naW5lX3N0cmVhbV9yZXN1bHRzYCAtIGRlc2NyaWJlcyBDb3JlIGJlaGF2aW9yIGZvcgogICAgICAgICAgICA6bWV0aDpgX2VuZ2luZS5SZXN1bHQueWllbGRfcGVyYAoKICAgICAgICAgICAgOnJlZjpgb3JtX3F1ZXJ5Z3VpZGVfeWllbGRfcGVyYCAtIGluIHRoZSA6cmVmOmBxdWVyeWd1aWRlX3RvcGxldmVsYAoKICAgICAgICApAXI1AQAAqQJyQQAAAHI3AQAAcwIAAAAgIHJCAAAA2gl5aWVsZF9wZXJ6EFJlc3VsdC55aWVsZF9wZXLYAwAAcxEAAACAAPBiAQAbHogEjA/YDxOIC3JEAAAAYwIAAAAAAAAAAAAAAAIAAAADAAAB8ygAAACXAHQBAAAAAAAAAACrAAAAAAAAAHwBZgJ8AF8BAAAAAAAAAAB8AFMAKQFhHQgAAEFwcGx5IHVuaXF1ZSBmaWx0ZXJpbmcgdG8gdGhlIG9iamVjdHMgcmV0dXJuZWQgYnkgdGhpcwogICAgICAgIDpjbGFzczpgX2VuZ2luZS5SZXN1bHRgLgoKICAgICAgICBXaGVuIHRoaXMgZmlsdGVyIGlzIGFwcGxpZWQgd2l0aCBubyBhcmd1bWVudHMsIHRoZSByb3dzIG9yIG9iamVjdHMKICAgICAgICByZXR1cm5lZCB3aWxsIGZpbHRlcmVkIHN1Y2ggdGhhdCBlYWNoIHJvdyBpcyByZXR1cm5lZCB1bmlxdWVseS4gVGhlCiAgICAgICAgYWxnb3JpdGhtIHVzZWQgdG8gZGV0ZXJtaW5lIHRoaXMgdW5pcXVlbmVzcyBpcyBieSBkZWZhdWx0IHRoZSBQeXRob24KICAgICAgICBoYXNoaW5nIGlkZW50aXR5IG9mIHRoZSB3aG9sZSB0dXBsZS4gICBJbiBzb21lIGNhc2VzIGEgc3BlY2lhbGl6ZWQKICAgICAgICBwZXItZW50aXR5IGhhc2hpbmcgc2NoZW1lIG1heSBiZSB1c2VkLCBzdWNoIGFzIHdoZW4gdXNpbmcgdGhlIE9STSwgYQogICAgICAgIHNjaGVtZSBpcyBhcHBsaWVkIHdoaWNoICB3b3JrcyBhZ2FpbnN0IHRoZSBwcmltYXJ5IGtleSBpZGVudGl0eSBvZgogICAgICAgIHJldHVybmVkIG9iamVjdHMuCgogICAgICAgIFRoZSB1bmlxdWUgZmlsdGVyIGlzIGFwcGxpZWQgKiphZnRlciBhbGwgb3RoZXIgZmlsdGVycyoqLCB3aGljaCBtZWFucwogICAgICAgIGlmIHRoZSBjb2x1bW5zIHJldHVybmVkIGhhdmUgYmVlbiByZWZpbmVkIHVzaW5nIGEgbWV0aG9kIHN1Y2ggYXMgdGhlCiAgICAgICAgOm1ldGg6YF9lbmdpbmUuUmVzdWx0LmNvbHVtbnNgIG9yIDptZXRoOmBfZW5naW5lLlJlc3VsdC5zY2FsYXJzYAogICAgICAgIG1ldGhvZCwgdGhlIHVuaXF1aW5nIGlzIGFwcGxpZWQgdG8gKipvbmx5IHRoZSBjb2x1bW4gb3IgY29sdW1ucwogICAgICAgIHJldHVybmVkKiouICAgVGhpcyBvY2N1cnMgcmVnYXJkbGVzcyBvZiB0aGUgb3JkZXIgaW4gd2hpY2ggdGhlc2UKICAgICAgICBtZXRob2RzIGhhdmUgYmVlbiBjYWxsZWQgdXBvbiB0aGUgOmNsYXNzOmBfZW5naW5lLlJlc3VsdGAgb2JqZWN0LgoKICAgICAgICBUaGUgdW5pcXVlIGZpbHRlciBhbHNvIGNoYW5nZXMgdGhlIGNhbGN1bHVzIHVzZWQgZm9yIG1ldGhvZHMgbGlrZQogICAgICAgIDptZXRoOmBfZW5naW5lLlJlc3VsdC5mZXRjaG1hbnlgIGFuZCA6bWV0aDpgX2VuZ2luZS5SZXN1bHQucGFydGl0aW9uc2AuCiAgICAgICAgV2hlbiB1c2luZyA6bWV0aDpgX2VuZ2luZS5SZXN1bHQudW5pcXVlYCwgdGhlc2UgbWV0aG9kcyB3aWxsIGNvbnRpbnVlCiAgICAgICAgdG8geWllbGQgdGhlIG51bWJlciBvZiByb3dzIG9yIG9iamVjdHMgcmVxdWVzdGVkLCBhZnRlciB1bmlxdWluZwogICAgICAgIGhhcyBiZWVuIGFwcGxpZWQuICBIb3dldmVyLCB0aGlzIG5lY2Vzc2FyaWx5IGltcGFjdHMgdGhlIGJ1ZmZlcmluZwogICAgICAgIGJlaGF2aW9yIG9mIHRoZSB1bmRlcmx5aW5nIGN1cnNvciBvciBkYXRhc291cmNlLCBzdWNoIHRoYXQgbXVsdGlwbGUKICAgICAgICB1bmRlcmx5aW5nIGNhbGxzIHRvIGBgY3Vyc29yLmZldGNobWFueSgpYGAgbWF5IGJlIG5lY2Vzc2FyeSBpbiBvcmRlcgogICAgICAgIHRvIGFjY3VtdWxhdGUgZW5vdWdoIG9iamVjdHMgaW4gb3JkZXIgdG8gcHJvdmlkZSBhIHVuaXF1ZSBjb2xsZWN0aW9uCiAgICAgICAgb2YgdGhlIHJlcXVlc3RlZCBzaXplLgoKICAgICAgICA6cGFyYW0gc3RyYXRlZ3k6IGEgY2FsbGFibGUgdGhhdCB3aWxsIGJlIGFwcGxpZWQgdG8gcm93cyBvciBvYmplY3RzCiAgICAgICAgIGJlaW5nIGl0ZXJhdGVkLCB3aGljaCBzaG91bGQgcmV0dXJuIGFuIG9iamVjdCB0aGF0IHJlcHJlc2VudHMgdGhlCiAgICAgICAgIHVuaXF1ZSB2YWx1ZSBvZiB0aGUgcm93LiAgIEEgUHl0aG9uIGBgc2V0KClgYCBpcyB1c2VkIHRvIHN0b3JlCiAgICAgICAgIHRoZXNlIGlkZW50aXRpZXMuICAgSWYgbm90IHBhc3NlZCwgYSBkZWZhdWx0IHVuaXF1ZW5lc3Mgc3RyYXRlZ3kKICAgICAgICAgaXMgdXNlZCB3aGljaCBtYXkgaGF2ZSBiZWVuIGFzc2VtYmxlZCBieSB0aGUgc291cmNlIG9mIHRoaXMKICAgICAgICAgOmNsYXNzOmBfZW5naW5lLlJlc3VsdGAgb2JqZWN0LgoKICAgICAgICCpAtoDc2V0cuUAAACpAnJBAAAAchQBAABzAgAAACAgckIAAADaBnVuaXF1ZXoNUmVzdWx0LnVuaXF1ZQwEAABzGQAAAIAA9EwBACYpo1WoSNAkNYgE1Agh2A8TiAtyRAAAAGMBAAAAAAAAAAAAAAADAAAABwAAAfMkAAAAlwB8AGoBAAAAAAAAAAAAAAAAAAAAAAAAfAGrAQAAAAAAAFMAKQFhHAcAAEVzdGFibGlzaCB0aGUgY29sdW1ucyB0aGF0IHNob3VsZCBiZSByZXR1cm5lZCBpbiBlYWNoIHJvdy4KCiAgICAgICAgVGhpcyBtZXRob2QgbWF5IGJlIHVzZWQgdG8gbGltaXQgdGhlIGNvbHVtbnMgcmV0dXJuZWQgYXMgd2VsbAogICAgICAgIGFzIHRvIHJlb3JkZXIgdGhlbS4gICBUaGUgZ2l2ZW4gbGlzdCBvZiBleHByZXNzaW9ucyBhcmUgbm9ybWFsbHkKICAgICAgICBhIHNlcmllcyBvZiBpbnRlZ2VycyBvciBzdHJpbmcga2V5IG5hbWVzLiAgIFRoZXkgbWF5IGFsc28gYmUKICAgICAgICBhcHByb3ByaWF0ZSA6Y2xhc3M6YC5Db2x1bW5FbGVtZW50YCBvYmplY3RzIHdoaWNoIGNvcnJlc3BvbmQgdG8KICAgICAgICBhIGdpdmVuIHN0YXRlbWVudCBjb25zdHJ1Y3QuCgogICAgICAgIC4uIHZlcnNpb25jaGFuZ2VkOjogMi4wICBEdWUgdG8gYSBidWcgaW4gMS40LCB0aGUKICAgICAgICAgICA6bWV0aDpgX2VuZ2luZS5SZXN1bHQuY29sdW1uc2AgbWV0aG9kIGhhZCBhbiBpbmNvcnJlY3QgYmVoYXZpb3IKICAgICAgICAgICB3aGVyZSBjYWxsaW5nIHVwb24gdGhlIG1ldGhvZCB3aXRoIGp1c3Qgb25lIGluZGV4IHdvdWxkIGNhdXNlIHRoZQogICAgICAgICAgIDpjbGFzczpgX2VuZ2luZS5SZXN1bHRgIG9iamVjdCB0byB5aWVsZCBzY2FsYXIgdmFsdWVzIHJhdGhlciB0aGFuCiAgICAgICAgICAgOmNsYXNzOmBfZW5naW5lLlJvd2Agb2JqZWN0cy4gICBJbiB2ZXJzaW9uIDIuMCwgdGhpcyBiZWhhdmlvcgogICAgICAgICAgIGhhcyBiZWVuIGNvcnJlY3RlZCBzdWNoIHRoYXQgY2FsbGluZyB1cG9uCiAgICAgICAgICAgOm1ldGg6YF9lbmdpbmUuUmVzdWx0LmNvbHVtbnNgIHdpdGggYSBzaW5nbGUgaW5kZXggd2lsbAogICAgICAgICAgIHByb2R1Y2UgYSA6Y2xhc3M6YF9lbmdpbmUuUmVzdWx0YCBvYmplY3QgdGhhdCBjb250aW51ZXMKICAgICAgICAgICB0byB5aWVsZCA6Y2xhc3M6YF9lbmdpbmUuUm93YCBvYmplY3RzLCB3aGljaCBpbmNsdWRlCiAgICAgICAgICAgb25seSBhIHNpbmdsZSBjb2x1bW4uCgogICAgICAgIEUuZy46OgoKICAgICAgICAgICAgc3RhdGVtZW50ID0gc2VsZWN0KHRhYmxlLmMueCwgdGFibGUuYy55LCB0YWJsZS5jLnopCiAgICAgICAgICAgIHJlc3VsdCA9IGNvbm5lY3Rpb24uZXhlY3V0ZShzdGF0ZW1lbnQpCgogICAgICAg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dHVwbGVzYCBtZXRob2QuCgogICAgICAgIC4uIHZlcnNpb25hZGRlZDo6IDIuMAoKICAgICAgICByLgAAAHJAAAAAcwEAAAAgckIAAADaAXR6CFJlc3VsdC50sQQAAHMJAAAAgADwFAAQFIgLckQAAABjAQAAAAAAAAAAAAAAAQAAAAMAAAHzBgAAAJcAfABTACkBYSwDAABBcHBseSBhICJ0eXBlZCB0dXBsZSIgdHlwaW5nIGZpbHRlciB0byByZXR1cm5lZCByb3dzLgoKICAgICAgICBUaGlzIG1ldGhvZCByZXR1cm5zIHRoZSBzYW1lIDpjbGFzczpgX2VuZ2luZS5SZXN1bHRgIG9iamVjdAogICAgICAgIGF0IHJ1bnRpbWUsCiAgICAgICAgaG93ZXZlciBhbm5vdGF0ZXMgYXMgcmV0dXJuaW5nIGEgOmNsYXNzOmBfZW5naW5lLlR1cGxlUmVzdWx0YCBvYmplY3QKICAgICAgICB0aGF0IHdpbGwgaW5kaWNhdGUgdG8gOnBlcDpgNDg0YCB0eXBpbmcgdG9vbHMgdGhhdCBwbGFpbiB0eXBlZAogICAgICAgIGBgVHVwbGVgYCBpbnN0YW5jZXMgYXJlIHJldHVybmVkIHJhdGhlciB0aGFuIHJvd3MuICBUaGlzIGFsbG93cwogICAgICAgIHR1cGxlIHVucGFja2luZyBhbmQgYGBfX2dldGl0ZW1fX2BgIGFjY2VzcyBvZiA6Y2xhc3M6YF9lbmdpbmUuUm93YAogICAgICAgIG9iamVjdHMgdG8gYnkgdHlwZWQsIGZvciB0aG9zZSBjYXNlcyB3aGVyZSB0aGUgc3RhdGVtZW50IGludm9rZWQKICAgICAgICBpdHNlbGYgaW5jbHVkZWQgdHlwaW5nIGluZm9ybWF0aW9uLgoKICAgICAgICAuLiB2ZXJzaW9uYWRkZWQ6OiAyLjAKCiAgICAgICAgOnJldHVybjogdGhlIDpjbGFzczpgX2VuZ2luZS5UdXBsZVJlc3VsdGAgdHlwZSBhdCB0eXBpbmcgdGltZS4KCiAgICAgICAgLi4gc2VlYWxzbzo6CgogICAgICAgICAgICA6YXR0cjpgX2VuZ2luZS5SZXN1bHQudGAgLSBzaG9ydGVyIHN5bm9ueW0KCiAgICAgICAgICAgIDphdHRyOmBfZW5naW5lLlJvdy5fdGAgLSA6Y2xhc3M6YF9lbmdpbmUuUm93YCB2ZXJzaW9uCgogICAgICAgIHIuAAAAckAAAABzAQAAACByQgAAANoGdHVwbGVzeg1SZXN1bHQudHVwbGVzvQQAAHMJAAAAgADwMAAQFIgLckQAAABjAQAAAAAAAAAAAAAAAgAAAAMAAAHzFgAAAJcAdAEAAAAAAAAAAKsAAAAAAAAAggEpAXqyUmV0dXJuIGEgc2FmZSBpdGVyYXRvciB0aGF0IHlpZWxkcyByYXcgcm93IGRhdGEuCgogICAgICAgIFRoaXMgaXMgdXNlZCBieSB0aGUgOm1ldGg6YF9lbmdpbmUuUmVzdWx0Lm1lcmdlYCBtZXRob2QKICAgICAgICB0byBtZXJnZSBtdWx0aXBsZSBjb21wYXRpYmxlIHJlc3VsdHMgdG9nZXRoZXIuCgogICAgICAgIHJGAAAAckAAAABzAQAAACByQgAAANoRX3Jhd19yb3dfaXRlcmF0b3J6GFJlc3VsdC5fcmF3X3Jvd19pdGVyYXRvctcEAAByfwEAAHJEAAAAYwEAAAAAAAAAAAAAAAIAAAADAAAB8yIAAACXAHwAagEAAAAAAAAAAAAAAAAAAAAAAACrAAAAAAAAAFMAcj4AAACpAXJPAQAAckAAAABzAQAAACByQgAAAHKlAAAAeg9SZXN1bHQuX19pdGVyX1/gBAAA8w8AAACAANgPE49/iX/TDyDQCCByRAAAAGMBAAAAAAAAAAAAAAACAAAAAwAAAfMiAAAAlwB8AGoBAAAAAAAAAAAAAAAAAAAAAAAAqwAAAAAAAABTAHI+AAAAqQFyUwEAAHJAAAAAcwEAAAAgckIAAADaCF9fbmV4dF9feg9SZXN1bHQuX19uZXh0X1/jBAAAcqQBAAByRAAAAGMCAAAAAAAAAAAAAAAEAAAAIwAAAfNIAAAASwABAJcAfABqAAAAAAAAAAAAAAAAAAAAAAAAAH0CCQACAHwCfAB8AasCAAAAAAAAfQN8A3IFfAOWAZcBAQBuAXkBjBKtA3cBKQJhqAcAAEl0ZXJhdGUgdGhyb3VnaCBzdWItbGlzdHMgb2Ygcm93cyBvZiB0aGUgc2l6ZSBnaXZlbi4KCiAgICAgICAgRWFjaCBsaXN0IHdpbGwgYmUgb2YgdGhlIHNpemUgZ2l2ZW4sIGV4Y2x1ZGluZyB0aGUgbGFzdCBsaXN0IHRvCiAgICAgICAgYmUgeWllbGRlZCwgd2hpY2ggbWF5IGhhdmUgYSBzbWFsbCBudW1iZXIgb2Ygcm93cy4gIE5vIGVtcHR5CiAgICAgICAgbGlzdHMgd2lsbCBiZSB5aWVsZGVkLgoKICAgICAgICBUaGUgcmVzdWx0IG9iamVjdCBpcyBhdXRvbWF0aWNhbGx5IGNsb3NlZCB3aGVuIHRoZSBpdGVyYXRvcgogICAgICAgIGlzIGZ1bGx5IGNvbnN1bWVkLgoKICAgICAgICBOb3RlIHRoYXQgdGhlIGJhY2tlbmQgZHJpdmVyIHdpbGwgdXN1YWxseSBidWZmZXIgdGhlIGVudGlyZSByZXN1bHQKICAgICAgICBhaGVhZCBvZiB0aW1lIHVubGVzcyB0aGUKICAgICAgICA6cGFyYW1yZWY6YC5Db25uZWN0aW9uLmV4ZWN1dGlvbl9vcHRpb25zLnN0cmVhbV9yZXN1bHRzYCBleGVjdXRpb24KICAgICAgICBvcHRpb24gaXMgdXNlZCBpbmRpY2F0aW5nIHRoYXQgdGhlIGRyaXZlciBzaG91bGQgbm90IHByZS1idWZmZXIKICAgICAgICByZXN1bHRzLCBpZiBwb3NzaWJsZS4gICBOb3QgYWxsIGRyaXZlcnMgc3VwcG9ydCB0aGlzIG9wdGlvbiBhbmQKICAgICAgICB0aGUgb3B0aW9uIGlzIHNpbGVudGx5IGlnbm9yZWQgZm9yIHRob3NlIHdobyBkbyBub3QuCgogICAgICAgIFdoZW4gdXNpbmcgdGhlIE9STSwgdGhlIDptZXRoOmBfZW5naW5lLlJlc3VsdC5wYXJ0aXRpb25zYCBtZXRob2QKICAgICAgICBpcyB0eXBpY2FsbHkgbW9yZSBlZmZlY3RpdmUgZnJvbSBhIG1lbW9yeSBwZXJzcGVjdGl2ZSB3aGVuIGl0IGlzCiAgICAgICAgY29tYmluZWQgd2l0aCB1c2Ugb2YgdGhlCiAgICAgICAgOnJlZjpgeWllbGRfcGVyIGV4ZWN1dGlvbiBvcHRpb24gPG9ybV9xdWVyeWd1aWRlX3lpZWxkX3Blcj5gLAogICAgICAgIHdoaWNoIGluc3RydWN0cyBib3RoIHRoZSBEQkFQSSBkcml2ZXIgdG8gdXNlIHNlcnZlciBzaWRlIGN1cnNvcnMsCiAgICAgICAgaWYgYXZhaWxhYmxlLCBhcyB3ZWxsIGFzIGluc3RydWN0cyB0aGUgT1JNIGxvYWRpbmcgaW50ZXJuYWxzIHRvIG9ubHkKICAgICAgICBidWlsZCBhIGNlcnRhaW4gYW1vdW50IG9mIE9STSBvYmplY3RzIGZyb20gYSByZXN1bHQgYXQgYSB0aW1lIGJlZm9yZQogICAgICAgIHlpZWxkaW5nIHRoZW0gb3V0LgoKICAgICAgICAuLiB2ZXJzaW9uYWRkZWQ6OiAxLjQKCiAgICAgICAgOnBhcmFtIHNpemU6IGluZGljYXRlIHRoZSBtYXhpbXVtIG51bWJlciBvZiByb3dzIHRvIGJlIHByZXNlbnQKICAgICAgICAgaW4gZWFjaCBsaXN0IHlpZWxkZWQuICBJZiBOb25lLCBtYWtlcyB1c2Ugb2YgdGhlIHZhbHVlIHNldCBieQogICAgICAgICB0aGUgOm1ldGg6YF9lbmdpbmUuUmVzdWx0LnlpZWxkX3BlcmAsIG1ldGhvZCwgaWYgaXQgd2VyZSBjYWxsZWQsCiAgICAgICAgIG9yIHRoZSA6cGFyYW1yZWY6YF9lbmdpbmUuQ29ubmVjdGlvbi5leGVjdXRpb25fb3B0aW9ucy55aWVsZF9wZXJgCiAgICAgICAgIGV4ZWN1dGlvbiBvcHRpb24sIHdoaWNoIGlzIGVxdWl2YWxlbnQgaW4gdGhpcyByZWdhcmQuICBJZgogICAgICAgICB5aWVsZF9wZXIgd2VyZW4ndCBzZXQsIGl0IG1ha2VzIHVzZSBvZiB0aGUKICAgICAgICAgOm1ldGg6YF9lbmdpbmUuUmVzdWx0LmZldGNobWFueWAgZGVmYXVsdCwgd2hpY2ggbWF5IGJlIGJhY2tlbmQKICAgICAgICAgc3BlY2lmaWMgYW5kIG5vdCB3ZWxsIGRlZmluZWQuCgogICAgICAgIDpyZXR1cm46IGl0ZXJhdG9yIG9mIGxpc3RzCgogICAgICAgIC4uIHNlZWFsc286OgoKICAgICAgICAgICAgOnJlZjpgZW5naW5lX3N0cmVhbV9yZXN1bHRzYAoKICAgICAgICAgICAgOnJl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
Base64 mode: content will be decoded on save.
Save
Close
Exit & Reset
Directory Contents
Dirs: 0 × Files: 19
Delete Selected
Select All
Select None
Sort:
Name
Size
Modified
Enable drag-to-move
Name
Size
Perms
Modified
Actions
base.cpython-312.pyc
126.90 KB
lrw-r--r--
2025-04-04 08:02:02
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
characteristics.cpython-312.pyc
6.66 KB
lrw-r--r--
2025-04-04 08:02:02
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
create.cpython-312.pyc
33.50 KB
lrw-r--r--
2025-04-04 08:02:02
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
cursor.cpython-312.pyc
77.50 KB
lrw-r--r--
2025-04-04 08:02:02
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
default.cpython-312.pyc
86.01 KB
lrw-r--r--
2025-04-04 08:02:02
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
events.cpython-312.pyc
38.97 KB
lrw-r--r--
2025-04-04 08:02:02
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
interfaces.cpython-312.pyc
97.25 KB
lrw-r--r--
2025-04-04 08:02:02
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
mock.cpython-312.pyc
5.54 KB
lrw-r--r--
2025-04-04 08:02:02
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
processors.cpython-312.pyc
1.24 KB
lrw-r--r--
2025-04-04 08:02:02
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
reflection.cpython-312.pyc
78.40 KB
lrw-r--r--
2025-04-04 08:02:02
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
result.cpython-312.pyc
89.07 KB
lrw-r--r--
2025-04-04 08:02:02
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
row.cpython-312.pyc
17.01 KB
lrw-r--r--
2025-04-04 08:02:02
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
strategies.cpython-312.pyc
539 B
lrw-r--r--
2025-04-04 08:02:02
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
url.cpython-312.pyc
33.58 KB
lrw-r--r--
2025-04-04 08:02:02
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
util.cpython-312.pyc
6.46 KB
lrw-r--r--
2025-04-04 08:02:02
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
_py_processors.cpython-312.pyc
4.37 KB
lrw-r--r--
2025-04-04 08:02:02
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
_py_row.cpython-312.pyc
5.61 KB
lrw-r--r--
2025-04-04 08:02:02
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
_py_util.cpython-312.pyc
2.11 KB
lrw-r--r--
2025-04-04 08:02:02
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
__init__.cpython-312.pyc
2.20 KB
lrw-r--r--
2025-04-04 08:02:02
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).