REDROOM
PHP 8.2.30
Path:
Logout
Edit File
Size: 42.02 KB
Close
//proc/self/root/opt/alt/python37/lib64/python3.7/logging/__pycache__/handlers.cpython-37.pyc
Text
Base64
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ZWRGaWxlSGFuZGxlcmGCAwAACiAgICBBIGhhbmRsZXIgZm9yIGxvZ2dpbmcgdG8gYSBmaWxlLCB3aGljaCB3YXRjaGVzIHRoZSBmaWxlCiAgICB0byBzZWUgaWYgaXQgaGFzIGNoYW5nZWQgd2hpbGUgaW4gdXNlLiBUaGlzIGNhbiBoYXBwZW4gYmVjYXVzZSBvZgogICAgdXNhZ2Ugb2YgcHJvZ3JhbXMgc3VjaCBhcyBuZXdzeXNsb2cgYW5kIGxvZ3JvdGF0ZSB3aGljaCBwZXJmb3JtCiAgICBsb2cgZmlsZSByb3RhdGlvbi4gVGhpcyBoYW5kbGVyLCBpbnRlbmRlZCBmb3IgdXNlIHVuZGVyIFVuaXgsCiAgICB3YXRjaGVzIHRoZSBmaWxlIHRvIHNlZSBpZiBpdCBoYXMgY2hhbmdlZCBzaW5jZSB0aGUgbGFzdCBlbWl0LgogICAgKEEgZmlsZSBoYXMgY2hhbmdlZCBpZiBpdHMgZGV2aWNlIG9yIGlub2RlIGhhdmUgY2hhbmdlZC4pCiAgICBJZiBpdCBoYXMgY2hhbmdlZCwgdGhlIG9sZCBmaWxlIHN0cmVhbSBpcyBjbG9zZWQsIGFuZCB0aGUgZmlsZQogICAgb3BlbmVkIHRvIGdldCBhIG5ldyBzdHJlYW0uCgogICAgVGhpcyBoYW5kbGVyIGlzIG5vdCBhcHByb3ByaWF0ZSBmb3IgdXNlIHVuZGVyIFdpbmRvd3MsIGJlY2F1c2UKICAgIHVuZGVyIFdpbmRvd3Mgb3BlbiBmaWxlcyBjYW5ub3QgYmUgbW92ZWQgb3IgcmVuYW1lZCAtIGxvZ2dpbmcKICAgIG9wZW5zIHRoZSBmaWxlcyB3aXRoIGV4Y2x1c2l2ZSBsb2NrcyAtIGFuZCBzbyB0aGVyZSBpcyBubyBuZWVkCiAgICBmb3Igc3VjaCBhIGhhbmRsZXIuIEZ1cnRoZXJtb3JlLCBTVF9JTk8gaXMgbm90IHN1cHBvcnRlZCB1bmRlcgogICAgV2luZG93czsgc3RhdCBhbHdheXMgcmV0dXJucyB6ZXJvIGZvciB0aGlzIHZhbHVlLgoKICAgIFRoaXMgaGFuZGxlciBpcyBiYXNlZCBvbiBhIHN1Z2dlc3Rpb24gYW5kIHBhdGNoIGJ5IENoYWQgSi4KICAg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Y2ggbG9nZ2luZyBldmVudC4KICAgIE7nAAAAAAAAFEBjCAAAAAAAAAAIAAAABAAAAEMAAABzigAAAHQAagGgAnwAoQEBAHQDfAF0BHQFZgKDAnIofAFcAnwAXwZ8AF8Hbg58AWQBAgB8AF8GfABfB3QDfAV0BHQFZgKDAnJSfAVcAnwAXwh8AF8JbgZkAXwAXwh8AnwAXwp0A3wDdAuDAnJufANnAX0DfAN8AF8MfAR8AF8NfAZ8AF8OfAd8AF8PZAFTACkCYXgDAAAKICAgICAgICBJbml0aWFsaXplIHRoZSBoYW5kbGVyLgoKICAgICAgICBJbml0aWFsaXplIHRoZSBpbnN0YW5jZSB3aXRoIHRoZSBmcm9tIGFuZCB0byBhZGRyZXNzZXMgYW5kIHN1YmplY3QKICAgICAgICBsaW5lIG9mIHRoZSBlbWFpbC4gVG8gc3BlY2lmeSBhIG5vbi1zdGFuZGFyZCBTTVRQIHBvcnQsIHVzZSB0aGUKICAgICAgICAoaG9zdCwgcG9ydCkgdHVwbGUgZm9ybWF0IGZvciB0aGUgbWFpbGhvc3QgYXJndW1lbnQuIFRvIHNwZWNpZnkKICAgICAgICBhdXRoZW50aWNhdGlvbiBjcmVkZW50aWFscywgc3VwcGx5IGEgKHVzZXJuYW1lLCBwYXNzd29yZCkgdHVwbGUKICAgICAgICBmb3IgdGhlIGNyZWRlbnRpYWxzIGFyZ3VtZW50LiBUbyBzcGVjaWZ5IHRoZSB1c2Ugb2YgYSBzZWN1cmUKICAgICAgICBwcm90b2NvbCAoVExTKSwgcGFzcyBpbiBhIHR1cGxlIGZvciB0aGUgc2VjdXJlIGFyZ3VtZW50LiBUaGlzIHdpbGwKICAgICAgICBvbmx5IGJlIHVzZWQgd2hlbiBhdXRoZW50aWNhdGlvbiBjcmVkZW50aWFscyBhcmUgc3VwcGxpZWQuIFRoZSB0dXBsZQogICAgICAgIHdpbGwgYmUgZWl0aGVyIGFuIGVtcHR5IHR1cGxlLCBvciBhIHNpbmdsZS12YWx1ZSB0dXBsZSB3aXRoIHRoZSBuYW1lCiAgICAgICAgb2YgYSBrZXlmaWxlLCBvciBhIDItdmFsdWUgdHVwbGUgd2l0aCB0aGUgbmFtZXMgb2YgdGhlIGtleWZpbGUgYW5kCiAgICAgICAgY2VydGlmaWNhdGUgZmlsZS4gKFRoaXMgdHVwbGUgaXMgcGFzc2VkIHRvIHRoZSBgc3RhcnR0bHNgIG1ldGhvZCkuCiAgICAgICAgQSB0aW1lb3V0IGluIHNlY29uZHMgY2FuIGJlIHNwZWNpZmllZCBmb3IgdGhlIFNNVFAgY29ubmVjdGlvbiAodGhlCiAgICAgICAgZGVmYXVsdCBpcyBvbmUgc2Vjb25kKS4KICAgICAgICBOKRByBgAAAHJ8AAAAcggAAAByvQAAANoEbGlzdNoFdHVwbGXaCG1haWxob3N02ghtYWlscG9ydNoIdXNlcm5hbWXaCHBhc3N3b3Jk2ghmcm9tYWRkcnK+AAAA2gd0b2FkZHJz2gdzdWJqZWN02gZzZWN1cmVyhgAAACkIcg0AAABy1AAAAHLYAAAActkAAABy2gAAANoLY3JlZGVudGlhbHNy2wAAAHKGAAAAchAAAAByEAAAAHIRAAAAcggAAAC2AwAAcxwAAAAAEgwBDgEOAg4BDgEOAgYBBgEKAQYBBgEGAQYBehRTTVRQSGFuZGxlci5fX2luaXRfX2MCAAAAAAAAAAIAAAABAAAAQwAAAHMGAAAAfABqAFMAKQF6ngogICAgICAgIERldGVybWluZSB0aGUgc3ViamVjdCBmb3IgdGhlIGVtYWlsLgoKICAgICAgICBJZiB5b3Ugd2FudCB0byBzcGVjaWZ5IGEgc3ViamVjdCBsaW5lIHdoaWNoIGlzIHJlY29yZC1kZXBlbmRlbnQsCiAgICAgICAgb3ZlcnJpZGUgdGhpcyBtZXRob2QuCiAgICAgICAgKQFy2gAAACkCcg0AAAByFwAAAHIQAAAAchAAAAByEQAAANoKZ2V0U3ViamVjdNkDAABzAgAAAAAHehZTTVRQSGFuZGxlci5nZXRTdWJqZWN0YwIAAAAAAAAACAAAAAgAAABDAAAAcwIBAAB53mQBZAJsAH0CZAFkA2wBbQJ9AwEAZAFkAmwDfQR8AGoEfQV8BXMufAJqBX0FfAJqBnwAagd8BXwAaghkBI0DfQZ8A4MAfQd8AGoJfAdkBTwAZAagCnwAaguhAXwHZAc8AHwAoAx8AaEBfAdkCDwAfARqDaAOoQB8B2QJPAB8B6APfACgEHwBoQGhAQEAfABqEXLKfABqEmQCawlyunwGoBOhAAEAfAZqFHwAahKOAAEAfAagE6EAAQB8BqAVfABqEXwAahahAgEAfAagF3wHoQEBAHwGoBihAAEAVwBuHgQAdBlrCnL8AQABAAEAfACgGnwBoQEBAFkAbgJYAGQCUwApCnpkCiAgICAgICAgRW1pdCBhIHJlY29yZC4KCiAgICAgICAgRm9ybWF0IHRoZSByZWNvcmQgYW5kIHNlbmQgaXQgdG8gdGhlIHNwZWNpZmllZCBhZGRyZXNzZWVzLgogICAgICAgIHIBAAAATikB2gxFbWFpbE1lc3NhZ2UpAXKGAAAAWgRGcm9t+gEsWgJUb1oHU3ViamVjdFoERGF0ZSkb2gdzbXRwbGliWg1lbWFpbC5tZXNzYWdlct4AAABaC2VtYWlsLnV0aWxzctUAAABaCVNNVFBfUE9SVFoEU01UUHLUAAAAcoYAAABy2AAAAHJsAAAActkAAABy3QAAAFoFdXRpbHNyXgAAAFoLc2V0X2NvbnRlbnRyNQAAAHLWAAAActsAAABaBGVobG9aCHN0YXJ0dGxzWgVsb2dpbnLXAAAAWgxzZW5kX21lc3NhZ2XaBHF1aXRyFQAAAHIWAAAAKQhyDQAAAHIXAAAAcuAAAABy3gAAAFoFZW1haWxyfgAAAFoEc210cHI5AAAAchAAAAByEAAAAHIRAAAAchQAAADiAwAAczAAAAAABgIBCAEMAQgCBgEEAQYBFAEGAQoBEAEOAQ4BEAEGAQoBCAEMAQgBEAEKAQwBDgF6EFNNVFBIYW5kbGVyLmVtaXQpA05OctEAAAApB3IiAAAAciMAAAByJAAAAHIlAAAAcggAAABy3QAAAHIUAAAAchAAAAByEAAAAHIQAAAAchEAAABy0AAAALIDAABzCAAAAAgDBAIKIggJctAAAABjAAAAAAAAAAAAAAAAAwAAAEAAAABzQgAAAGUAWgFkAFoCZAFaA2QQZARkBYQBWgRkBmQHhABaBWQIZAmEAFoGZApkC4QAWgdkDGQNhABaCGQOZA+EAFoJZAJTACkR2hFOVEV2ZW50TG9nSGFuZGxlcmH9AQAACiAgICBBIGhhbmRsZXIgY2xhc3Mgd2hpY2ggc2VuZHMgZXZlbnRzIHRvIHRoZSBOVCBFdmVudCBMb2cuIEFkZHMgYQogICAgcmVnaXN0cnkgZW50cnkgZm9yIHRoZSBzcGVjaWZpZWQgYXBwbGljYXRpb24gbmFtZS4gSWYgbm8gZGxsbmFtZSBpcwogICAgcHJvdmlkZWQsIHdpbjMyc2VydmljZS5weWQgKHdoaWNoIGNvbnRhaW5zIHNvbWUgYmFzaWMgbWVzc2FnZQogICAgcGxhY2Vob2xkZXJzKSBpcyB1c2VkLiBOb3RlIHRoYXQgdXNlIG9mIHRoZXNlIHBsYWNlaG9sZGVycyB3aWxsIG1ha2UKICAgIHlvdXIgZXZlbnQgbG9ncyBiaWcsIGFzIHRoZSBlbnRpcmUgbWVzc2FnZSBzb3VyY2UgaXMgaGVsZCBpbiB0aGUgbG9nLgogICAgSWYgeW91IHdhbnQgc2xpbW1lciBsb2dzLCB5b3UgaGF2ZSB0byBwYXNzIGluIHRoZSBuYW1lIG9mIHlvdXIgb3duIERMTAogICAgd2hpY2ggY29udGFpbnMgdGhlIG1lc3NhZ2UgZGVmaW5pdGlvbnMgeW91IHdhbnQgdG8gdXNlIGluIHRoZSBldmVudCBsb2cuCiAgICBO2gtBcHBsaWNhdGlvbmMEAAAAAAAAAAYAAAAKAAAAQwAAAHPcAAAAdABqAaACfAChAQEAeahkAWQAbAN9BGQBZABsBH0FfAF8AF8FfAR8AF8GfAJzYHQHagigCXwAagZqCqEBfQJ0B2oIoAl8AmQBGQChAX0CdAdqCKALfAJkARkAZAKhAn0CfAJ8AF8MfAN8AF8NfABqBqAOfAF8AnwDoQMBAHwFag98AF8QdABqEXwFahJ0AGoTfAVqEnQAahR8BWoVdABqFnwFag90AGoXfAVqD2kFfABfGFcAbiIEAHQZawpy1gEAAQABAHQaZAODAQEAZAB8AF8GWQBuAlgAZABTACkETnIBAAAAehB3aW4zMnNlcnZpY2UucHlkeldUaGUgUHl0aG9uIFdpbjMyIGV4dGVuc2lvbnMgZm9yIE5UIChzZXJ2aWNlLCBldmVudCBsb2dnaW5nKSBhcHBlYXIgbm90IHRvIGJlIGF2YWlsYWJsZS4pG3IGAAAAcnwAAAByCAAAANoPd2luMzJldnRsb2d1dGls2gt3aW4zMmV2dGxvZ9oHYXBwbmFtZdoFX3dlbHVyGwAAAHIcAAAAcmgAAADaCF9fZmlsZV9fcmwAAADaB2RsbG5hbWXaB2xvZ3R5cGVaE0FkZFNvdXJjZVRvUmVnaXN0cnlaE0VWRU5UTE9HX0VSUk9SX1RZUEXaB2RlZnR5cGVytgAAAFoZRVZFTlRMT0dfSU5GT1JNQVRJT05fVFlQRXK3AAAAcrgAAABaFUVWRU5UTE9HX1dBUk5JTkdfVFlQRXK5AAAAcroAAADaB3R5cGVtYXDaC0ltcG9ydEVycm9y2gVwcmludCkGcg0AAABy5gAAAHLpAAAAcuoAAABy5AAAAHLlAAAAchAAAAByEAAAAHIRAAAAcggAAAAMBAAAcyoAAAAAAQwBAgEQAQYBBgEEARABEAESAQYBBgEQAQgCCAEIAQgBCAESAg4BCAJ6Gk5URXZlbnRMb2dIYW5kbGVyLl9faW5pdF9fYwIAAAAAAAAAAgAAAAEAAABDAAAAcwQAAABkAVMAKQJheQEAAAogICAgICAgIFJldHVybiB0aGUgbWVzc2FnZSBJRCBmb3IgdGhlIGV2ZW50IHJlY29yZC4gSWYgeW91IGFyZSB1c2luZyB5b3VyCiAgICAgICAgb3duIG1lc3NhZ2VzLCB5b3UgY291bGQgZG8gdGhpcyBieSBoYXZpbmcgdGhlIG1zZyBwYXNzZWQgdG8gdGhlCiAgICAgICAgbG9nZ2VyIGJlaW5nIGFuIElEIHJhdGhlciB0aGFuIGEgZm9ybWF0dGluZyBzdHJpbmcuIFRoZW4sIGluIGhlcmUsCiAgICAgICAgeW91IGNvdWxkIHVzZSBhIGRpY3Rpb25hcnkgbG9va3VwIHRvIGdldCB0aGUgbWVzc2FnZSBJRC4gVGhpcwogICAgICAgIHZlcnNpb24gcmV0dXJucyAxLCB3aGljaCBpcyB0aGUgYmFzZSBtZXNzYWdlIElEIGluIHdpbjMyc2VydmljZS5weWQuCiAgICAgICAgcioAAAByEAAAACkCcg0AAAByFwAAAHIQAAAAchAAAAByEQAAANoMZ2V0TWVzc2FnZUlEJgQAAHMCAAAAAAh6Hk5URXZlbnRMb2dIYW5kbGVyLmdldE1lc3NhZ2VJRGMCAAAAAAAAAAIAAAABAAAAQwAAAHMEAAAAZAFTACkCep4KICAgICAgICBSZXR1cm4gdGhlIGV2ZW50IGNhdGVnb3J5IGZvciB0aGUgcmVjb3JkLgoKICAgICAgICBPdmVycmlkZSB0aGlzIGlmIHlvdSB3YW50IHRvIHNwZWNpZnkgeW91ciBvd24gY2F0ZWdvcmllcy4gVGhpcyB2ZXJzaW9uCiAgICAgICAgcmV0dXJucyAwLgogICAgICAgIHIBAAAAchAAAAApAnINAAAAchcAAAByEAAAAHIQAAAAchEAAADaEGdldEV2ZW50Q2F0ZWdvcnkwBAAAcwIAAAAAB3oiTlRFdmVudExvZ0hhbmRsZXIuZ2V0RXZlbnRDYXRlZ29yeWMCAAAAAAAAAAIAAAAEAAAAQwAAAHMSAAAAfABqAKABfAFqAnwAagOhAlMAKQFh5QEAAAogICAgICAgIFJldHVybiB0aGUgZXZlbnQgdHlwZSBmb3IgdGhlIHJlY29yZC4KCiAgICAgICAgT3ZlcnJpZGUgdGhpcyBpZiB5b3Ugd2FudCB0byBzcGVjaWZ5IHlvdXIgb3duIHR5cGVzLiBUaGlzIHZlcnNpb24gZG9lcwogICAgICAgIGEgbWFwcGluZyB1c2luZyB0aGUgaGFuZGxlcidzIHR5cGVtYXAgYXR0cmlidXRlLCB3aGljaCBpcyBzZXQgdXAgaW4KICAgICAgICBfX2luaXRfXygpIHRvIGEgZGljdGlvbmFyeSB3aGljaCBjb250YWlucyBtYXBwaW5ncyBmb3IgREVCVUcsIElORk8sCiAgICAgICAgV0FSTklORywgRVJST1IgYW5kIENSSVRJQ0FMLiBJZiB5b3UgYXJlIHVzaW5nIHlvdXIgb3duIGxldmVscyB5b3Ugd2lsbAogICAgICAgIGVpdGhlciBuZWVkIHRvIG92ZXJyaWRlIHRoaXMgbWV0aG9kIG9yIHBsYWNlIGEgc3VpdGFibGUgZGljdGlvbmFyeSBpbgogICAgICAgIHRoZSBoYW5kbGVyJ3MgdHlwZW1hcCBhdHRyaWJ1dGUuCiAgICAgICAgKQRy7AAAAHLIAAAA2gdsZXZlbG5vcusAAAApAnINAAAAchcAAAByEAAAAHIQAAAAchEAAADaDGdldEV2ZW50VHlwZTkEAABzAgAAAAALeh5OVEV2ZW50TG9nSGFuZGxlci5nZXRFdmVudFR5cGVjAgAAAAAAAAAGAAAACAAAAEMAAABzbgAAAHwAagByanlEfACgAXwBoQF9AnwAoAJ8AaEBfQN8AKADfAGhAX0EfACgBHwBoQF9BXwAagCgBXwAagZ8AnwDfAR8BWcBoQUBAFcAbh4EAHQHawpyaAEAAQABAHwAoAh8AaEBAQBZAG4CWABkAVMAKQJ6lAogICAgICAgIEVtaXQgYSByZWNvcmQuCgogICAgICAgIERldGVybWluZSB0aGUgbWVzc2FnZSBJRCwgZXZlbnQgY2F0ZWdvcnkgYW5kIGV2ZW50IHR5cGUuIFRoZW4KICAgICAgICBsb2cgdGhlIG1lc3NhZ2UgaW4gdGhlIE5UIGV2ZW50IGxvZy4KICAgICAgICBOKQly5wAAAHLvAAAAcvAAAABy8gAAAHI1AAAAWgtSZXBvcnRFdmVudHLmAAAAchUAAAByFgAAACkGcg0AAAByFwAAANoCaWTaA2NhdNoEdHlwZXI5AAAAchAAAAByEAAAAHIRAAAAchQAAABGBAAAcxIAAAAABwYBAgEKAQoBCgEKARwBDgF6Fk5URXZlbnRMb2dIYW5kbGVyLmVtaXRjAQAAAAAAAAABAAAAAwAAAEMAAABzEAAAAHQAagGgAnwAoQEBAGQBUwApAmFTAQAACiAgICAgICAgQ2xlYW4gdXAgdGhpcyBoYW5kbGVyLgoKICAgICAgICBZb3UgY2FuIHJlbW92ZSB0aGUgYXBwbGljYXRpb24gbmFtZSBmcm9tIHRoZSByZWdpc3RyeSBhcyBhCiAgICAgICAgc291cmNlIG9mIGV2ZW50IGxvZyBlbnRyaWVzLiBIb3dldmVyLCBpZiB5b3UgZG8gdGhpcywgeW91IHdpbGwKICAgICAgICBub3QgYmUgYWJsZSB0byBzZWUgdGhlIGV2ZW50cyBhcyB5b3UgaW50ZW5kZWQgaW4gdGhlIEV2ZW50IExvZwogICAgICAgIFZpZXdlciAtIGl0IG5lZWRzIHRvIGJlIGFibGUgdG8gYWNjZXNzIHRoZSByZWdpc3RyeSB0byBnZXQgdGhlCiAgICAgICAgRExMIG5hbWUuCiAgICAgICAgTikDcgYAAAByfAAAAHItAAAAKQFyDQAAAHIQAAAAchAAAAByEQAAAHItAAAAVwQAAHMCAAAAAAt6F05URXZlbnRMb2dIYW5kbGVyLmNsb3NlKQJOcuMAAAApCnIiAAAAciMAAAByJAAAAHIlAAAAcggAAABy7wAAAHLwAAAAcvIAAAByFAAAAHItAAAAchAAAAByEAAAAHIQAAAAchEAAABy4gAAAAIEAABzDgAAAAgJBAEKGggKCAkIDQgRcuIAAABjAAAAAAAAAAAAAAAABAAAAEAAAABzKgAAAGUAWgFkAFoCZAFaA2QLZAVkBoQBWgRkB2QIhABaBWQJZAqEAFoGZARTACkM2gtIVFRQSGFuZGxlcnpeCiAgICBBIGNsYXNzIHdoaWNoIHNlbmRzIHJlY29yZHMgdG8gYSBXZWIgc2VydmVyLCB1c2luZyBlaXRoZXIgR0VUIG9yCiAgICBQT1NUIHNlbWFudGljcy4KICAgINoDR0VURk5jBwAAAAAAAAAHAAAAAwAAAEMAAABzYAAAAHQAagGgAnwAoQEBAHwDoAOhAH0DfANkAWsHciR0BGQCgwGCAXwEczh8BmQDawlyOHQEZASDAYIBfAF8AF8FfAJ8AF8GfAN8AF8HfAR8AF8IfAV8AF8JfAZ8AF8KZANTACkFenIKICAgICAgICBJbml0aWFsaXplIHRoZSBpbnN0YW5jZSB3aXRoIHRoZSBob3N0LCB0aGUgcmVxdWVzdCBVUkwsIGFuZCB0aGUgbWV0aG9kCiAgICAgICAgKCJHRVQiIG9yICJQT1NUIikKICAgICAgICApAnL3AAAA2gRQT1NUehptZXRob2QgbXVzdCBiZSBHRVQgb3IgUE9TVE56M2NvbnRleHQgcGFyYW1ldGVyIG9ubHkgbWFrZXMgc2Vuc2Ugd2l0aCBzZWN1cmU9VHJ1ZSkLcgYAAAByfAAAAHIIAAAAckUAAAByTQAAAHJ9AAAA2gN1cmzaBm1ldGhvZHLbAAAActwAAADaB2NvbnRleHQpB3INAAAAcn0AAABy+QAAAHL6AAAActsAAABy3AAAAHL7AAAAchAAAAByEAAAAHIRAAAAcggAAABpBAAAcxgAAAAABgwBCAEIAQgBDAEIAgYBBgEGAQYBBgF6FEhUVFBIYW5kbGVyLl9faW5pdF9fYwIAAAAAAAAAAgAAAAEAAABDAAAAcwYAAAB8AWoAUwApAXqzCiAgICAgICAgRGVmYXVsdCBpbXBsZW1lbnRhdGlvbiBvZiBtYXBwaW5nIHRoZSBsb2cgcmVjb3JkIGludG8gYSBkaWN0CiAgICAgICAgdGhhdCBpcyBzZW50IGFzIHRoZSBDR0kgZGF0YS4gT3ZlcndyaXRlIGluIHlvdXIgY2xhc3MuCiAgICAgICAgQ29udHJpYnV0ZWQgYnkgRnJhbnogR2xhc25lci4KICAgICAgICApAXKUAAAAKQJyDQAAAHIXAAAAchAAAAByEAAAAHIRAAAA2gxtYXBMb2dSZWNvcmR9BAAAcwIAAAAABnoYSFRUUEhhbmRsZXIubWFwTG9nUmVjb3JkYwIAAAAAAAAADAAAAAgAAABDAAAAc3gBAACQAXlQZAFkAmwAfQJkAWQCbAF9A3wAagJ9BHwAagNyNHwCagRqBXwEfABqBmQDjQJ9BW4MfAJqBKAHfAShAX0FfABqCH0GfANqCaAKfACgC3wBoQGhAX0HfABqDGQEawJyinwGoA1kBaEBZAFrBXJ2ZAZ9CG4EZAV9CHwGZAd8CHwHZgIWABcAfQZ8BaAOfABqDHwGoQIBAHwEoA1kCKEBfQl8CWQBawVytnwEZAJ8CYUCGQB9BHwAagxkCWsCcuB8BaAPZApkC6ECAQB8BaAPZAx0EHQRfAeDAYMBoQIBAHwAahKQAXIkZAFkAmwTfQpkDXwAahIWAKAUZA6hAX0LZA98CqAVfAuhAaAWoQCgF2QQoQEXAH0LfAWgD2QRfAuhAgEAfAWgGKEAAQB8AGoMZAlrApABckh8BaAZfAegFGQOoQGhAQEAfAWgGqEAAQBXAG4gBAB0G2sKkAFycgEAAQABAHwAoBx8AaEBAQBZAG4CWABkAlMAKRJ6awogICAgICAgIEVtaXQgYSByZWNvcmQuCgogICAgICAgIFNlbmQgdGhlIHJlY29yZCB0byB0aGUgV2ViIHNlcnZlciBhcyBhIHBlcmNlbnQtZW5jb2RlZCBkaWN0aW9uYXJ5CiAgICAgICAgcgEAAABOKQFy+wAAAHL3AAAA+gE/+gEmegQlYyVz+gE6cvgAAAB6DENvbnRlbnQtdHlwZXohYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkeg5Db250ZW50LWxlbmd0aHoFJXM6JXN6BXV0Zi04egZCYXNpYyDaBWFzY2lpWg1BdXRob3JpemF0aW9uKR1aC2h0dHAuY2xpZW50Wgx1cmxsaWIucGFyc2VyfQAAAHLbAAAAWgZjbGllbnRaD0hUVFBTQ29ubmVjdGlvbnL7AAAAWg5IVFRQQ29ubmVjdGlvbnL5AAAA2gVwYXJzZVoJdXJsZW5jb2RlcvwAAABy+gAAANoEZmluZFoKcHV0cmVxdWVzdFoJcHV0aGVhZGVycr4AAAByOAAAAHLcAAAA2gZiYXNlNjRyzgAAAFoJYjY0ZW5jb2Rl2gVzdHJpcNoGZGVjb2RlWgplbmRoZWFkZXJzco8AAABaC2dldHJlc3BvbnNlchUAAAByFgAAACkMcg0AAAByFwAAAFoEaHR0cFoGdXJsbGlicn0AAAByOwAAAHL5AAAA2gRkYXRh2gNzZXByMgAAAHIDAQAAcnAAAAByEAAAAHIQAAAAchEAAAByFAAAAIUEAABzQAAAAAAGBAEQAQYBBgEUAgwBBgESAQoBDgEGAgQBEAEOAwoBCAEMBAoBBgEGARQBCAEIARABGAEMAQgBDAEQAQwBEAF6EEhUVFBIYW5kbGVyLmVtaXQpBHL3AAAARk5OKQdyIgAAAHIjAAAAciQAAAByJQAAAHIIAAAAcvwAAAByFAAAAHIQAAAAchAAAAByEAAAAHIRAAAAcvYAAABkBAAAcwoAAAAIBAQBAAEKEwgIcvYAAABjAAAAAAAAAAAAAAAAAgAAAEAAAABzOAAAAGUAWgFkAFoCZAFaA2QCZAOEAFoEZARkBYQAWgVkBmQHhABaBmQIZAmEAFoHZApkC4QAWghkDFMAKQ3aEEJ1ZmZlcmluZ0hhbmRsZXJ65QogIEEgaGFuZGxlciBjbGFzcyB3aGljaCBidWZmZXJzIGxvZ2dpbmcgcmVjb3JkcyBpbiBtZW1vcnkuIFdoZW5ldmVyIGVhY2gKICByZWNvcmQgaXMgYWRkZWQgdG8gdGhlIGJ1ZmZlciwgYSBjaGVjayBpcyBtYWRlIHRvIHNlZSBpZiB0aGUgYnVmZmVyIHNob3VsZAogIGJlIGZsdXNoZWQuIElmIGl0IHNob3VsZCwgdGhlbiBmbHVzaCgpIGlzIGV4cGVjdGVkIHRvIGRvIHdoYXQncyBuZWVkZWQuCiAgICBjAgAAAAAAAAACAAAAAwAAAEMAAABzHAAAAHQAagGgAnwAoQEBAHwBfABfA2cAfABfBGQBUwApAno+CiAgICAgICAgSW5pdGlhbGl6ZSB0aGUgaGFuZGxlciB3aXRoIHRoZSBidWZmZXIgc2l6ZS4KICAgICAgICBOKQVyBgAAAHJ8AAAAcggAAADaCGNhcGFjaXR52gZidWZmZXIpAnINAAAAcgkBAAByEAAAAHIQAAAAchEAAAByCAAAALkEAABzBgAAAAAEDAEGAXoZQnVmZmVyaW5nSGFuZGxlci5fX2luaXRfX2MCAAAAAAAAAAIAAAACAAAAQwAAAHMQAAAAdAB8AGoBgwF8AGoCawVTACkBerwKICAgICAgICBTaG91bGQgdGhlIGhhbmRsZXIgZmx1c2ggaXRzIGJ1ZmZlcj8KCiAgICAgICAgUmV0dXJucyB0cnVlIGlmIHRoZSBidWZmZXIgaXMgdXAgdG8gY2FwYWNpdHkuIFRoaXMgbWV0aG9kIGNhbiBiZQogICAgICAgIG92ZXJyaWRkZW4gdG8gaW1wbGVtZW50IGN1c3RvbSBmbHVzaGluZyBzdHJhdGVnaWVzLgogICAgICAgICkDcjgAAAByCgEAAHIJAQAAKQJyDQAAAHIXAAAAchAAAAByEAAAAHIRAAAA2gtzaG91bGRGbHVzaMEEAABzAgAAAAAHehxCdWZmZXJpbmdIYW5kbGVyLnNob3VsZEZsdXNoYwIAAAAAAAAAAgAAAAMAAABDAAAAcyIAAAB8AGoAoAF8AaEBAQB8AKACfAGhAXIefACgA6EAAQBkAVMAKQJ6hgogICAgICAgIEVtaXQgYSByZWNvcmQuCgogICAgICAgIEFwcGVuZCB0aGUgcmVjb3JkLiBJZiBzaG91bGRGbHVzaCgpIHRlbGxzIHVzIHRvLCBjYWxsIGZsdXNoKCkgdG8gcHJvY2VzcwogICAgICAgIHRoZSBidWZmZXIuCiAgICAgICAgTikEcgoBAAByawAAAHILAQAAcnkAAAApAnINAAAAchcAAAByEAAAAHIQAAAAchEAAAByFAAAAMoEAABzBgAAAAAHDAEKAXoVQnVmZmVyaW5nSGFuZGxlci5lbWl0YwEAAAAAAAAAAQAAAAgAAABDAAAAcyIAAAB8AKAAoQABAHoKZwB8AF8BVwBkAXwAoAKhAAEAWABkAVMAKQJ6dwogICAgICAgIE92ZXJyaWRlIHRvIGltcGxlbWVudCBjdXN0b20gZmx1c2hpbmcgYmVoYXZpb3VyLgoKICAgICAgICBUaGlzIHZlcnNpb24ganVzdCB6YXBzIHRoZSBidWZmZXIgdG8gZW1wdHkuCiAgICAgICAgTikDcpsAAAByCgEAAHKcAAAAKQFyDQAAAHIQAAAAchAAAAByEQAAAHJ5AAAA1QQAAHMIAAAAAAYIAQIBCgJ6FkJ1ZmZlcmluZ0hhbmRsZXIuZmx1c2hjAQAAAAAAAAABAAAACQAAAEMAAABzIAAAAHoMfACgAKEAAQBXAGQBdAFqAqADfAChAQEAWABkAVMAKQJ6cAogICAgICAgIENsb3NlIHRoZSBoYW5kbGVyLgoKICAgICAgICBUaGlzIHZlcnNpb24ganVzdCBmbHVzaGVzIGFuZCBjaGFpbnMgdG8gdGhlIHBhcmVudCBjbGFzcycgY2xvc2UoKS4KICAgICAgICBOKQRyeQAAAHIGAAAAcnwAAAByLQAAACkBcg0AAAByEAAAAHIQAAAAchEAAAByLQAAAOEEAABzBgAAAAAGAgEMAnoWQnVmZmVyaW5nSGFuZGxlci5jbG9zZU4pCXIiAAAAciMAAAByJAAAAHIlAAAAcggAAAByCwEAAHIUAAAAcnkAAAByLQAAAHIQAAAAchAAAAByEAAAAHIRAAAAcggBAACzBAAAcwwAAAAIBQQBCAgICQgLCAxyCAEAAGMAAAAAAAAAAAAAAAADAAAAQAAAAHNCAAAAZQBaAWQAWgJkAVoDZQRqBWQCZANmA2QEZAWEAVoGZAZkB4QAWgdkCGQJhABaCGQKZAuEAFoJZAxkDYQAWgpkAlMAKQ7aDU1lbW9yeUhhbmRsZXJ64gogICAgQSBoYW5kbGVyIGNsYXNzIHdoaWNoIGJ1ZmZlcnMgbG9nZ2luZyByZWNvcmRzIGluIG1lbW9yeSwgcGVyaW9kaWNhbGx5CiAgICBmbHVzaGluZyB0aGVtIHRvIGEgdGFyZ2V0IGhhbmRsZXIuIEZsdXNoaW5nIG9jY3VycyB3aGVuZXZlciB0aGUgYnVmZmVyCiAgICBpcyBmdWxsLCBvciB3aGVuIGFuIGV2ZW50IG9mIGEgY2VydGFpbiBzZXZlcml0eSBvciBncmVhdGVyIGlzIHNlZW4uCiAgICBOVGMFAAAAAAAAAAUAAAAEAAAAQwAAAHMiAAAAdACgAXwAfAGhAgEAfAJ8AF8CfAN8AF8DfAR8AF8EZAFTACkCYTsCAAAKICAgICAgICBJbml0aWFsaXplIHRoZSBoYW5kbGVyIHdpdGggdGhlIGJ1ZmZlciBzaXplLCB0aGUgbGV2ZWwgYXQgd2hpY2gKICAgICAgICBmbHVzaGluZyBzaG91bGQgb2NjdXIgYW5kIGFuIG9wdGlvbmFsIHRhcmdldC4KCiAgICAgICAgTm90ZSB0aGF0IHdpdGhvdXQgYSB0YXJnZXQgYmVpbmcgc2V0IGVpdGhlciBoZXJlIG9yIHZpYSBzZXRUYXJnZXQoKSwKICAgICAgICBhIE1lbW9yeUhhbmRsZXIgaXMgbm8gdXNlIHRvIGFueW9uZSEKCiAgICAgICAgVGhlIGBgZmx1c2hPbkNsb3NlYGAgYXJndW1lbnQgaXMgYGBUcnVlYGAgZm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkKICAgICAgICByZWFzb25zIC0gdGhlIG9sZCBiZWhhdmlvdXIgaXMgdGhhdCB3aGVuIHRoZSBoYW5kbGVyIGlzIGNsb3NlZCwgdGhlCiAgICAgICAgYnVmZmVyIGlzIGZsdXNoZWQsIGV2ZW4gaWYgdGhlIGZsdXNoIGxldmVsIGhhc24ndCBiZWVuIGV4Y2VlZGVkIG5vciB0aGUKICAgICAgICBjYXBhY2l0eSBleGNlZWRlZC4gVG8gcHJldmVudCB0aGlzLCBzZXQgYGBmbHVzaE9uQ2xvc2VgYCB0byBgYEZhbHNlYGAuCiAgICAgICAgTikFcggBAAByCAAAANoKZmx1c2hMZXZlbNoGdGFyZ2V02gxmbHVzaE9uQ2xvc2UpBXINAAAAcgkBAAByDQEAAHIOAQAAcg8BAAByEAAAAHIQAAAAchEAAAByCAAAAPIEAABzCAAAAAAODAEGAQYCehZNZW1vcnlIYW5kbGVyLl9faW5pdF9fYwIAAAAAAAAAAgAAAAIAAABDAAAAcxwAAAB0AHwAagGDAXwAagJrBXAafAFqA3wAagRrBVMAKQF6UAogICAgICAgIENoZWNrIGZvciBidWZmZXIgZnVsbCBvciBhIHJlY29yZCBhdCB0aGUgZmx1c2hMZXZlbCBvciBoaWdoZXIuCiAgICAgICAgKQVyOAAAAHIKAQAAcgkBAABy8QAAAHINAQAAKQJyDQAAAHIXAAAAchAAAAByEAAAAHIRAAAAcgsBAAAGBQAAcwQAAAAABBABehlNZW1vcnlIYW5kbGVyLnNob3VsZEZsdXNoYwIAAAAAAAAAAgAAAAIAAABDAAAAcwoAAAB8AXwAXwBkAVMAKQJ6OgogICAgICAgIFNldCB0aGUgdGFyZ2V0IGhhbmRsZXIgZm9yIHRoaXMgaGFuZGxlci4KICAgICAgICBOKQFyDgEAACkCcg0AAAByDgEAAHIQAAAAchAAAAByEQAAANoJc2V0VGFyZ2V0DQUAAHMCAAAAAAR6F01lbW9yeUhhbmRsZXIuc2V0VGFyZ2V0YwEAAAAAAAAAAgAAAAgAAABDAAAAc0QAAAB8AKAAoQABAHosfABqAXIyeBp8AGoCRABdEH0BfABqAaADfAGhAQEAcRhXAGcAfABfAlcAZAF8AKAEoQABAFgAZAFTACkCeu8KICAgICAgICBGb3IgYSBNZW1vcnlIYW5kbGVyLCBmbHVzaGluZyBtZWFucyBqdXN0IHNlbmRpbmcgdGhlIGJ1ZmZlcmVkCiAgICAgICAgcmVjb3JkcyB0byB0aGUgdGFyZ2V0LCBpZiB0aGVyZSBpcyBvbmUuIE92ZXJyaWRlIGlmIHlvdSB3YW50CiAgICAgICAgZGlmZmVyZW50IGJlaGF2aW91ci4KCiAgICAgICAgVGhlIHJlY29yZCBidWZmZXIgaXMgYWxzbyBjbGVhcmVkIGJ5IHRoaXMgb3BlcmF0aW9uLgogICAgICAgIE4pBXKbAAAAcg4BAAByCgEAANoGaGFuZGxlcpwAAAApAnINAAAAchcAAAByEAAAAHIQAAAAchEAAAByeQAAABMFAABzDgAAAAAICAECAQYBDAEQAQoCehNNZW1vcnlIYW5kbGVyLmZsdXNoYwEAAAAAAAAAAQAAAA4AAABDAAAAc0IAAAB6EnwAagByEHwAoAGhAAEAVwBkAXwAoAKhAAEAehRkAXwAXwN0BKAFfAChAQEAVwBkAXwAoAahAAEAWABYAGQBUwApAnppCiAgICAgICAgRmx1c2gsIGlmIGFwcHJvcHJpYXRlbHkgY29uZmlndXJlZCwgc2V0IHRoZSB0YXJnZXQgdG8gTm9uZSBhbmQgbG9zZSB0aGUKICAgICAgICBidWZmZXIuCiAgICAgICAgTikHcg8BAAByeQAAAHKbAAAAcg4BAAByCAEAAHItAAAAcpwAAAApAXINAAAAchAAAAByEAAAAHIRAAAAci0AAAAkBQAAcxAAAAAABQIBBgEMAggBAgEGAQ4CehNNZW1vcnlIYW5kbGVyLmNsb3NlKQtyIgAAAHIjAAAAciQAAAByJQAAAHIGAAAAcrkAAAByCAAAAHILAQAAchABAAByeQAAAHItAAAAchAAAAByEAAAAHIQAAAAchEAAAByDAEAAOwEAABzDgAAAAgFBAEGAQwTCAcIBggRcgwBAABjAAAAAAAAAAAAAAAAAgAAAEAAAABzMAAAAGUAWgFkAFoCZAFaA2QCZAOEAFoEZARkBYQAWgVkBmQHhABaBmQIZAmEAFoHZApTACkL2gxRdWV1ZUhhbmRsZXJhhAEAAAogICAgVGhpcyBoYW5kbGVyIHNlbmRzIGV2ZW50cyB0byBhIHF1ZXVlLiBUeXBpY2FsbHksIGl0IHdvdWxkIGJlIHVzZWQgdG9nZXRoZXIKICAgIHdpdGggYSBtdWx0aXByb2Nlc3NpbmcgUXVldWUgdG8gY2VudHJhbGlzZSBsb2dnaW5nIHRvIGZpbGUgaW4gb25lIHByb2Nlc3MKICAgIChpbiBhIG11bHRpLXByb2Nlc3MgYXBwbGljYXRpb24pLCBzbyBhcyB0byBhdm9pZCBmaWxlIHdyaXRlIGNvbnRlbnRpb24KICAgIGJldHdlZW4gcHJvY2Vzc2VzLgoKICAgIFRoaXMgY29kZSBpcyBuZXcgaW4gUHl0aG9uIDMuMiwgYnV0IHRoaXMgY2xhc3MgY2FuIGJlIGNvcHkgcGFzdGVkIGludG8KICAgIHVzZXIgY29kZSBmb3IgdXNlIHdpdGggZWFybGllciBQeXRob24gdmVyc2lvbnMuCiAgICBjAgAAAAAAAAACAAAAAwAAAEMAAABzFgAAAHQAagGgAnwAoQEBAHwBfABfA2QBUwApAnpBCiAgICAgICAgSW5pdGlhbGlzZSBhbiBpbnN0YW5jZSwgdXNpbmcgdGhlIHBhc3NlZCBxdWV1ZS4KICAgICAgICBOKQRyBgAAAHJ8AAAAcggAAADaBXF1ZXVlKQJyDQAAAHITAQAAchAAAAByEAAAAHIRAAAAcggAAABABQAAcwQAAAAABAwBehVRdWV1ZUhhbmRsZXIuX19pbml0X19jAgAAAAAAAAACAAAAAwAAAEMAAABzEAAAAHwAagCgAXwBoQEBAGQBUwApAnrRCiAgICAgICAgRW5xdWV1ZSBhIHJlY29yZC4KCiAgICAgICAgVGhlIGJhc2UgaW1wbGVtZW50YXRpb24gdXNlcyBwdXRfbm93YWl0LiBZb3UgbWF5IHdhbnQgdG8gb3ZlcnJpZGUKICAgICAgICB0aGlzIG1ldGhvZCBpZiB5b3Ugd2FudCB0byB1c2UgYmxvY2tpbmcsIHRpbWVvdXRzIG9yIGN1c3RvbSBxdWV1ZQogICAgICAgIGltcGxlbWVudGF0aW9ucy4KICAgICAgICBOKQJyEwEAANoKcHV0X25vd2FpdCkCcg0AAAByFwAAAHIQAAAAchAAAAByEQAAANoHZW5xdWV1ZUcFAABzAgAAAAAIehRRdWV1ZUhhbmRsZXIuZW5xdWV1ZWMCAAAAAAAAAAMAAAADAAAAQwAAAHM2AAAAfACgAHwBoQF9AnQBoAF8AaEBfQF8AnwBXwJ8AnwBXwNkAXwBXwRkAXwBXwVkAXwBXwZ8AVMAKQJhzgEAAAogICAgICAgIFByZXBhcmVzIGEgcmVjb3JkIGZvciBxdWV1aW5nLiBUaGUgb2JqZWN0IHJldHVybmVkIGJ5IHRoaXMgbWV0aG9kIGlzCiAgICAgICAgZW5xdWV1ZWQuCgogICAgICAgIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIGZvcm1hdHMgdGhlIHJlY29yZCB0byBtZXJnZSB0aGUgbWVzc2FnZQogICAgICAgIGFuZCBhcmd1bWVudHMsIGFuZCByZW1vdmVzIHVucGlja2xlYWJsZSBpdGVtcyBmcm9tIHRoZSByZWNvcmQKICAgICAgICBpbi1wbGFjZS4KCiAgICAgICAgWW91IG1pZ2h0IHdhbnQgdG8gb3ZlcnJpZGUgdGhpcyBtZXRob2QgaWYgeW91IHdhbnQgdG8gY29udmVydAogICAgICAgIHRoZSByZWNvcmQgdG8gYSBkaWN0IG9yIEpTT04gc3RyaW5nLCBvciBzZW5kIGEgbW9kaWZpZWQgY29weQogICAgICAgIG9mIHRoZSByZWNvcmQgd2hpbGUgbGVhdmluZyB0aGUgb3JpZ2luYWwgaW50YWN0LgogICAgICAgIE4pB3I1AAAA2gRjb3B5cpIAAAByOQAAAHKQAAAAcpEAAABaCGV4Y190ZXh0KQNyDQAAAHIXAAAAcjkAAAByEAAAAHIQAAAAchEAAADaB3ByZXBhcmVRBQAAcxAAAAAAEwoCCgEGAQYBBgEGAQYBehRRdWV1ZUhhbmRsZXIucHJlcGFyZWMCAAAAAAAAAAIAAAAIAAAAQwAAAHM4AAAAeRR8AKAAfACgAXwBoQGhAQEAVwBuHgQAdAJrCnIyAQABAAEAfACgA3wBoQEBAFkAbgJYAGQBUwApAnptCiAgICAgICAgRW1pdCBhIHJlY29yZC4KCiAgICAgICAgV3JpdGVzIHRoZSBMb2dSZWNvcmQgdG8gdGhlIHF1ZXVlLCBwcmVwYXJpbmcgaXQgZm9yIHBpY2tsaW5nIGZpcnN0LgogICAgICAgIE4pBHIVAQAAchcBAAByFQAAAHIWAAAAKQJyDQAAAHIXAAAAchAAAAByEAAAAHIRAAAAchQAAABuBQAAcwgAAAAABgIBFAEOAXoRUXVldWVIYW5kbGVyLmVtaXROKQhyIgAAAHIjAAAAciQAAAByJQAAAHIIAAAAchUBAAByFwEAAHIUAAAAchAAAAByEAAAAHIQAAAAchEAAAByEgEAADUFAABzCgAAAAgJBAIIBwgKCB1yEgEAAGMAAAAAAAAAAAAAAAADAAAAQAAAAHNaAAAAZQBaAWQAWgJkAVoDZAJaBGQDZAScAWQFZAaEAloFZAdkCIQAWgZkCWQKhABaB2QLZAyEAFoIZA1kDoQAWglkD2QQhABaCmQRZBKEAFoLZBNkFIQAWgxkAlMAKRXaDVF1ZXVlTGlzdGVuZXJ6vQogICAgVGhpcyBjbGFzcyBpbXBsZW1lbnRzIGFuIGludGVybmFsIHRocmVhZGVkIGxpc3RlbmVyIHdoaWNoIHdhdGNoZXMgZm9yCiAgICBMb2dSZWNvcmRzIGJlaW5nIGFkZGVkIHRvIGEgcXVldWUsIHJlbW92ZXMgdGhlbSBhbmQgcGFzc2VzIHRoZW0gdG8gYQogICAgbGlzdCBvZiBoYW5kbGVycyBmb3IgcHJvY2Vzc2luZy4KICAgIE5GKQHaFXJlc3BlY3RfaGFuZGxlcl9sZXZlbGMCAAAAAQAAAAQAAAACAAAARwAAAHMcAAAAfAF8AF8AfAN8AF8BZAF8AF8CfAJ8AF8DZAFTACkCelcKICAgICAgICBJbml0aWFsaXNlIGFuIGluc3RhbmNlIHdpdGggdGhlIHNwZWNpZmllZCBxdWV1ZSBhbmQKICAgICAgICBoYW5kbGVycy4KICAgICAgICBOKQRyEwEAANoIaGFuZGxlcnPaB190aHJlYWRyGQEAACkEcg0AAAByEwEAAHIZAQAAchoBAAByEAAAAHIQAAAAchEAAAByCAAAAIIFAABzCAAAAAAFBgEGAQYBehZRdWV1ZUxpc3RlbmVyLl9faW5pdF9fYwIAAAAAAAAAAgAAAAMAAABDAAAAcwwAAAB8AGoAoAF8AaEBUwApAXrlCiAgICAgICAgRGVxdWV1ZSBhIHJlY29yZCBhbmQgcmV0dXJuIGl0LCBvcHRpb25hbGx5IGJsb2NraW5nLgoKICAgICAgICBUaGUgYmFzZSBpbXBsZW1lbnRhdGlvbiB1c2VzIGdldC4gWW91IG1heSB3YW50IHRvIG92ZXJyaWRlIHRoaXMgbWV0aG9kCiAgICAgICAgaWYgeW91IHdhbnQgdG8gdXNlIHRpbWVvdXRzIG9yIHdvcmsgd2l0aCBjdXN0b20gcXVldWUgaW1wbGVtZW50YXRpb25zLgogICAgICAgICkCchMBAAByyAAAACkCcg0AAADaBWJsb2NrchAAAAByEAAAAHIRAAAA2gdkZXF1ZXVljAUAAHMCAAAAAAd6FVF1ZXVlTGlzdGVuZXIuZGVxdWV1ZWMBAAAAAAAAAAIAAAADAAAAQwAAAHMmAAAAdABqAXwAagJkAY0BBAB8AF8DfQFkAnwBXwR8AaAFoQABAGQDUwApBHqJCiAgICAgICAgU3RhcnQgdGhlIGxpc3RlbmVyLgoKICAgICAgICBUaGlzIHN0YXJ0cyB1cCBhIGJhY2tncm91bmQgdGhyZWFkIHRvIG1vbml0b3IgdGhlIHF1ZXVlIGZvcgogICAgICAgIExvZ1JlY29yZHMgdG8gcHJvY2Vzcy4KICAgICAgICApAXIOAQAAVE4pBtoJdGhyZWFkaW5nWgZUaHJlYWTaCF9tb25pdG9ychsBAABytAAAANoFc3RhcnQpAnINAAAAclcAAAByEAAAAHIQAAAAchEAAAByIAEAAJUFAABzBgAAAAAHFAEGAXoTUXVldWVMaXN0ZW5lci5zdGFydGMCAAAAAAAAAAIAAAABAAAAQwAAAHMEAAAAfAFTACkBYQcBAAAKICAgICAgICBQcmVwYXJlIGEgcmVjb3JkIGZvciBoYW5kbGluZy4KCiAgICAgICAgVGhpcyBtZXRob2QganVzdCByZXR1cm5zIHRoZSBwYXNzZWQtaW4gcmVjb3JkLiBZb3UgbWF5IHdhbnQgdG8KICAgICAgICBvdmVycmlkZSB0aGlzIG1ldGhvZCBpZiB5b3UgbmVlZCB0byBkbyBhbnkgY3VzdG9tIG1hcnNoYWxsaW5nIG9yCiAgICAgICAgbWFuaXB1bGF0aW9uIG9mIHRoZSByZWNvcmQgYmVmb3JlIHBhc3NpbmcgaXQgdG8gdGhlIGhhbmRsZXJzLgogICAgICAgIHIQAAAAKQJyDQAAAHIXAAAAchAAAAByEAAAAHIRAAAAchcBAACgBQAAcwIAAAAACHoVUXVldWVMaXN0ZW5lci5wcmVwYXJlYwIAAAAAAAAABAAAAAQAAABDAAAAc0QAAAB8AKAAfAGhAX0BeDR8AGoBRABdKn0CfABqAnMiZAF9A24MfAFqA3wCagRrBX0DfANyEnwCoAV8AaEBAQBxElcAZAJTACkDenwKICAgICAgICBIYW5kbGUgYSByZWNvcmQuCgogICAgICAgIFRoaXMganVzdCBsb29wcyB0aHJvdWdoIHRoZSBoYW5kbGVycyBvZmZlcmluZyB0aGVtIHRoZSByZWNvcmQKICAgICAgICB0byBoYW5kbGUuCiAgICAgICAgVE4pBnIXAQAAchoBAAByGQEAAHLxAAAA2gVsZXZlbHIRAQAAKQRyDQAAAHIXAAAAWgdoYW5kbGVyWgdwcm9jZXNzchAAAAByEAAAAHIRAAAAchEBAACqBQAAcw4AAAAABwoBDAEGAQYCDAEEAXoUUXVldWVMaXN0ZW5lci5oYW5kbGVjAQAAAAAAAAAEAAAACAAAAEMAAABzcAAAAHwAagB9AXQBfAFkAYMCfQJ4Wnk8fACgAmQCoQF9A3wDfABqA2sIcjZ8AnI0fAGgBKEAAQBQAHwAoAV8A6EBAQB8AnJMfAGgBKEAAQBXAHESBAB0AGoGawpyZgEAAQABAFAAWQBxElgAcRJXAGQDUwApBHrmCiAgICAgICAgTW9uaXRvciB0aGUgcXVldWUgZm9yIHJlY29yZHMsIGFuZCBhc2sgdGhlIGhhbmRsZXIKICAgICAgICB0byBkZWFsIHdpdGggdGhlbS4KCiAgICAgICAgVGhpcyBtZXRob2QgcnVucyBvbiBhIHNlcGFyYXRlLCBpbnRlcm5hbCB0aHJlYWQuCiAgICAgICAgVGhlIHRocmVhZCB3aWxsIHRlcm1pbmF0ZSBpZiBpdCBzZWVzIGEgc2VudGluZWwgb2JqZWN0IGluIHRoZSBxdWV1ZS4KICAgICAgICDaCXRhc2tfZG9uZVROKQdyEwEAANoHaGFzYXR0cnIdAQAA2glfc2VudGluZWxyIgEAAHIRAQAAWgVFbXB0eSkEcg0AAADaAXFaDWhhc190YXNrX2RvbmVyFwAAAHIQAAAAchAAAAByEQAAAHIfAQAAugUAAHMcAAAAAAgGAQoBAgECAQoBCgEEAQgBAgEKAQQBDAEQAXoWUXVldWVMaXN0ZW5lci5fbW9uaXRvcmMBAAAAAAAAAAEAAAADAAAAQwAAAHMSAAAAfABqAKABfABqAqEBAQBkAVMAKQJ67AogICAgICAgIFRoaXMgaXMgdXNlZCB0byBlbnF1ZXVlIHRoZSBzZW50aW5lbCByZWNvcmQuCgogICAgICAgIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIHVzZXMgcHV0X25vd2FpdC4gWW91IG1heSB3YW50IHRvIG92ZXJyaWRlIHRoaXMKICAgICAgICBtZXRob2QgaWYgeW91IHdhbnQgdG8gdXNlIHRpbWVvdXRzIG9yIHdvcmsgd2l0aCBjdXN0b20gcXVldWUKICAgICAgICBpbXBsZW1lbnRhdGlvbnMuCiAgICAgICAgTikDchMBAAByFAEAAHIkAQAAKQFyDQAAAHIQAAAAchAAAAByEQAAANoQZW5xdWV1ZV9zZW50aW5lbNEFAABzAgAAAAAIeh5RdWV1ZUxpc3RlbmVyLmVucXVldWVfc2VudGluZWxjAQAAAAAAAAABAAAAAgAAAEMAAABzHAAAAHwAoAChAAEAfABqAaACoQABAGQBfABfAWQBUwApAmENAQAACiAgICAgICAgU3RvcCB0aGUgbGlzdGVuZXIuCgogICAgICAgIFRoaXMgYXNrcyB0aGUgdGhyZWFkIHRvIHRlcm1pbmF0ZSwgYW5kIHRoZW4gd2FpdHMgZm9yIGl0IHRvIGRvIHNvLgogICAgICAgIE5vdGUgdGhhdCBpZiB5b3UgZG9uJ3QgY2FsbCB0aGlzIGJlZm9yZSB5b3VyIGFwcGxpY2F0aW9uIGV4aXRzLCB0aGVyZQogICAgICAgIG1heSBiZSBzb21lIHJlY29yZHMgc3RpbGwgbGVmdCBvbiB0aGUgcXVldWUsIHdoaWNoIHdvbid0IGJlIHByb2Nlc3NlZC4KICAgICAgICBOKQNyJgEAAHIbAQAAcmwAAAApAXINAAAAchAAAAByEAAAAHIRAAAA2gRzdG9w2wUAAHMGAAAAAAgIAQoBehJRdWV1ZUxpc3RlbmVyLnN0b3ApDXIiAAAAciMAAAByJAAAAHIlAAAAciQBAAByCAAAAHIdAQAAciABAAByFwEAAHIRAQAAch8BAAByJgEAAHInAQAAchAAAAByEAAAAHIQAAAAchEAAAByGAEAAHoFAABzFAAAAAgFBAEEAg4KCAkICwgKCBAIFwgKchgBAAApJ3IlAAAAcgYAAAByhwAAAHIbAAAAcpYAAABymAAAAHJUAAAAclAAAAByUwAAAHICAAAAcgMAAAByBAAAAHITAQAAch4BAAByFgEAAFoYREVGQVVMVF9UQ1BfTE9HR0lOR19QT1JUWhhERUZBVUxUX1VEUF9MT0dHSU5HX1BPUlRaGURFRkFVTFRfSFRUUF9MT0dHSU5HX1BPUlRaGURFRkFVTFRfU09BUF9MT0dHSU5HX1BPUlRyzwAAAFoPU1lTTE9HX1RDUF9QT1JUcl8AAAByBwAAAHIFAAAAciYAAAByOgAAAHJxAAAAcnwAAAByewAAAHKdAAAAcqAAAABy0AAAAHLiAAAAcvYAAAByCAEAAHIMAQAAchIBAADaBm9iamVjdHIYAQAAchAAAAByEAAAAHIQAAAAchEAAADaCDxtb2R1bGU+GAAAAHM8AAAABAI4ARQBCAEIAQgGBAEEAQQBBAEEAQQCBAISRhBMEH8AYBJFEn8AKBAqEn8AfwAAElASYhJPEjkQSRJF
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-37.opt-1.pyc
22.48 KB
lrw-r--r--
2024-04-17 17:36:14
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
config.cpython-37.opt-2.pyc
18.46 KB
lrw-r--r--
2024-04-17 17:35:54
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
config.cpython-37.pyc
22.53 KB
lrw-r--r--
2024-04-17 17:36:19
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
handlers.cpython-37.opt-1.pyc
42.02 KB
lrw-r--r--
2024-04-17 17:36:14
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
handlers.cpython-37.opt-2.pyc
23.64 KB
lrw-r--r--
2024-04-17 17:35:54
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
handlers.cpython-37.pyc
42.02 KB
lrw-r--r--
2024-04-17 17:36:19
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
__init__.cpython-37.opt-1.pyc
60.92 KB
lrw-r--r--
2024-04-17 17:36:14
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
__init__.cpython-37.opt-2.pyc
33.43 KB
lrw-r--r--
2024-04-17 17:35:54
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
__init__.cpython-37.pyc
60.95 KB
lrw-r--r--
2024-04-17 17:36:19
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).