REDROOM
PHP 8.2.30
Path:
Logout
Edit File
Size: 115.91 KB
Close
/proc/self/root/usr/lib/python2.7/site-packages/pip/_vendor/pkg_resources/__init__.pyc
Text
Base64
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vgBlvABk0QCEAACDAQBavwBkAwBTKNIAAABzWgIAAApQYWNrYWdlIHJlc291cmNlIEFQSQotLS0tLS0tLS0tLS0tLS0tLS0tLQoKQSByZXNvdXJjZSBpcyBhIGxvZ2ljYWwgZmlsZSBjb250YWluZWQgd2l0aGluIGEgcGFja2FnZSwgb3IgYSBsb2dpY2FsCnN1YmRpcmVjdG9yeSB0aGVyZW9mLiAgVGhlIHBhY2thZ2UgcmVzb3VyY2UgQVBJIGV4cGVjdHMgcmVzb3VyY2UgbmFtZXMKdG8gaGF2ZSB0aGVpciBwYXRoIHBhcnRzIHNlcGFyYXRlZCB3aXRoIGBgL2BgLCAqbm90KiB3aGF0ZXZlciB0aGUgbG9jYWwKcGF0aCBzZXBhcmF0b3IgaXMuICBEbyBub3QgdXNlIG9zLnBhdGggb3BlcmF0aW9ucyB0byBtYW5pcHVsYXRlIHJlc291cmNlCm5hbWVzIGJlaW5nIHBhc3NlZCBpbnRvIHRoZSBBUEkuCgpUaGUgcGFja2FnZSByZXNvdXJjZSBBUEkgaXMgZGVzaWduZWQgdG8gd29yayB3aXRoIG5vcm1hbCBmaWxlc3lzdGVtIHBhY2thZ2VzLAouZWdnIGZpbGVzLCBhbmQgdW5wYWNrZWQgLmVnZyBmaWxlcy4gIEl0IGNhbiBhbHNvIHdvcmsgaW4gYSBsaW1pdGVkIHdheSB3aXRoCi56aXAgZmlsZXMgYW5kIHdpdGggY3VzdG9tIFBFUCAzMDIgbG9hZGVycyB0aGF0IHN1cHBvcnQgdGhlIGBgZ2V0X2RhdGEoKWBgCm1ldGhvZC4KaQAAAAAoAQAAAHQPAAAAYWJzb2x1dGVfaW1wb3J0TigBAAAAdAwAAABnZXRfaW1wb3J0ZXIoAQAAAHQDAAAAc2l4KAMAAAB0BgAAAHVybGxpYnQDAAAAbWFwdAYAAABmaWx0ZXIoAQAAAHQFAAAAdXRpbWUoAwAAAHQFAAAAbWtkaXJ0BgAAAHJlbmFtZXQGAAAAdW5saW5rKAEAAAB0BAAAAG9wZW4oAgAAAHQFAAAAaXNkaXJ0BQAAAHNwbGl0KAEAAAB0BwAAAGFwcGRpcnMoAQAAAHQJAAAAcGFja2FnaW5ncx0AAABwaXAuX3ZlbmRvci5wYWNrYWdpbmcudmVyc2lvbnMgAAAA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AABzFAAAAAABBgEZAQ8CDAEZARECGQERAREBc5YBAABZb3UgaGF2ZSBpdGVyYXRlZCBvdmVyIHRoZSByZXN1bHQgb2YgcGtnX3Jlc291cmNlcy5wYXJzZV92ZXJzaW9uLiBUaGlzIGlzIGEgbGVnYWN5IGJlaGF2aW9yIHdoaWNoIGlzIGluY29uc2lzdGVudCB3aXRoIHRoZSBuZXcgdmVyc2lvbiBjbGFzcyBpbnRyb2R1Y2VkIGluIHNldHVwdG9vbHMgOC4wLiBJbiBtb3N0IGNhc2VzLCBjb252ZXJzaW9uIHRvIGEgdHVwbGUgaXMgdW5uZWNlc3NhcnkuIEZvciBjb21wYXJpc29uIG9mIHZlcnNpb25zLCBzb3J0IHRoZSBWZXJzaW9uIGluc3RhbmNlcyBkaXJlY3RseS4gSWYgeW91IGhhdmUgYW5vdGhlciB1c2UgY2FzZSByZXF1aXJpbmcgdGhlIHR1cGxlLCBwbGVhc2UgZmlsZSBhIGJ1ZyB3aXRoIHRoZSBzZXR1cHRvb2xzIHByb2plY3QgZGVzY3JpYmluZyB0aGF0IG5lZWQudAoAAABzdGFja2xldmVsaQEAAAAoCAAAAHQCAAAAcmV0BwAAAGNvbXBpbGV0BwAAAFZFUkJPU0V0AwAAAGdldHQIAAAAd2FybmluZ3N0BAAAAHdhcm50DgAAAFJ1bnRpbWVXYXJuaW5ndAMAAABzdHIoAwAAAFIWAAAAUjgAAABSLgAAACgAAAAAKAMAAABSMQAAAFIvAAAAUjAAAABzRgAAAC91c3IvbGliL3B5dGhvbjIuNy9zaXRlLXBhY2thZ2VzL3BpcC9fdmVuZG9yL3BrZ19yZXNvdXJjZXMvX19pbml0X18ucHl0CAAAAF9faXRlcl9fjQAAAHMeAAAAAAEVAQMBBwEHAQcBBwENAxIODw8GAQMHBgEHAxkBKAsAAABSEAAAAFIRAAAAUhUAAABSGQAAAFIbAAAAUhwAAABSHQAAAFIeAAAAUh8AAABSIQAAAFJCAAAAKAAAAAAoAAAAACgAAAAAc0YAAAAvdXNyL2xpYi9weXRob24yLjcvc2l0ZS1wYWNrYWdlcy9waXAvX3ZlbmRvci9wa2dfcmVzb3VyY2VzL19faW5pdF9fLnB5UhMAAABiAAAAcxIAAAAGAQkDCQYJBgkGCQYJ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cXVpcmVkIHRvICp1c2UqIGV4dGVuc2lvbnMgcHJvZHVjZWQgYnkKICAgIGRpc3R1dGlscy4gIEJ1dCB3aGF0IHdlIHdhbnQgd2hlbiBjaGVja2luZyBjb21wYXRpYmlsaXR5IGlzIHRvIGtub3cgdGhlCiAgICB2ZXJzaW9uIG9mIE1hYyBPUyBYIHRoYXQgd2UgYXJlICpydW5uaW5nKi4gIFRvIGFsbG93IHVzYWdlIG9mIHBhY2thZ2VzIHRoYXQKICAgIGV4cGxpY2l0bHkgcmVxdWlyZSBhIG5ld2VyIHZlcnNpb24gb2YgTWFjIE9TIFgsIHdlIG11c3QgYWxzbyBrbm93IHRoZQogICAgY3VycmVudCB2ZXJzaW9uIG9mIHRoZSBPUy4KCiAgICBJZiB0aGlzIGNvbmRpdGlvbiBvY2N1cnMgZm9yIGFueSBvdGhlciBwbGF0Zm9ybSB3aXRoIGEgdmVyc2lvbiBpbiBpdHMKICAgIHBsYXRmb3JtIHN0cmluZ3MsIHRoaXMgZnVuY3Rpb24gc2hvdWxkIGJlIGV4dGVuZGVkIGFjY29yZGluZ2x5LgogICAgdAYAAABkYXJ3aW5zDAAAAG1hY29zeC0lcy0lc1IpAAAAaQIAAABpAwAAAE4oCgAAAHQSAAAAZ2V0X2J1aWxkX3BsYXRmb3JtdBIAAABtYWNvc1ZlcnNpb25TdHJpbmd0BQAAAG1hdGNoUmEAAAB0AwAAAHN5c3QIAAAAcGxhdGZvcm10BAAAAGpvaW50DAAAAF9tYWNvc3hfdmVyc3QFAAAAZ3JvdXB0CgAAAFZhbHVlRXJyb3IoAgAAAHQEAAAAcGxhdHQBAAAAbSgAAAAAKAAAAABzRgAAAC91c3IvbGliL3B5dGhvbjIuNy9zaXRlLXBhY2thZ2VzL3BpcC9fdmVuZG9yL3BrZ19yZXNvdXJjZXMvX19pbml0X18ucHl0FgAAAGdldF9zdXBwb3J0ZWRfcGxhdGZvcm3/AAAAcxAAAAAADQkBDwEbAQMBLQENAgcBdAcAAAByZXF1aXJldAoAAABydW5fc2NyaXB0dAwAAABnZXRfcHJvdmlkZXJ0EAAAAGdldF9kaXN0cmlidXRpb250EAAAAGxvYWRfZW50cnlfcG9pbnR0DQAAAGdldF9lbnRyeV9tYXB0DgAAAGdldF9lbnRyeV9pbmZvdBEAAABpdGVyX2VudHJ5X3BvaW50c3QPAAAAcmVzb3VyY2Vfc3RyaW5ndA8AAAByZXNvdXJjZV9zdHJlYW10EQAAAHJlc291cmNlX2ZpbGVuYW1ldBAAAAByZXNvdXJjZV9saXN0ZGlydA8AAAByZXNvdXJjZV9leGlzdHN0DgAAAHJlc291cmNlX2lzZGlydBEAAABkZWNsYXJlX25hbWVzcGFjZXQLAAAAd29ya2luZ19zZXR0FwAAAGFkZF9hY3RpdmF0aW9uX2xpc3RlbmVydBIAAABmaW5kX2Rpc3RyaWJ1dGlvbnN0EwAAAHNldF9leHRyYWN0aW9uX3BhdGh0EQAAAGNsZWFudXBfcmVzb3VyY2VzdBEAAABnZXRfZGVmYXVsdF9jYWNoZXQLAAAARW52aXJvbm1lbnR0CgAAAFdvcmtpbmdTZXR0DwAAAFJlc291cmNlTWFuYWdlcnQMAAAARGlzdHJpYnV0aW9udAsAAABSZXF1aXJlbWVudHQKAAAARW50cnlQb2ludHQPAAAAUmVzb2x1dGlvbkVycm9ydA8AAABWZXJzaW9uQ29uZmxpY3R0FAAAAERpc3RyaWJ1dGlvbk5vdEZvdW5kdAwAAABVbmtub3duRXh0cmF0DwAAAEV4dHJhY3Rpb25FcnJvcnQSAAAAcGFyc2VfcmVxdWlyZW1lbnRzUkgAAAB0CQAAAHNhZmVfbmFtZXQMAAAAc2FmZV92ZXJzaW9udAwAAABnZXRfcGxhdGZvcm10FAAAAGNvbXBhdGlibGVfcGxhdGZvcm1zdAsAAAB5aWVsZF9saW5lc3QOAAAAc3BsaXRfc2VjdGlvbnN0CgAAAHNhZmVfZXh0cmF0CwAAAHRvX2ZpbGVuYW1ldA4AAABpbnZhbGlkX21hcmtlcnQPAAAAZXZhbHVhdGVfbWFya2VydBAAAABlbnN1cmVfZGlyZWN0b3J5dA4AAABub3JtYWxpemVfcGF0aHQIAAAARUdHX0RJU1R0CwAAAEJJTkFSWV9ESVNUdAsAAABTT1VSQ0VfRElTVHQNAAAAQ0hFQ0tPVVRfRElTVHQMAAAAREVWRUxPUF9ESVNUdBEAAABJTWV0YWRhdGFQcm92aWRlcnQRAAAASVJlc291cmNlUHJvdmlkZXJ0DAAAAEZpbGVNZXRhZGF0YXQMAAAAUGF0aE1ldGFkYXRhdAsAAABFZ2dNZXRhZGF0YXQNAAAARW1wdHlQcm92aWRlcnQOAAAAZW1wdHlfcHJvdmlkZXJ0DAAAAE51bGxQcm92aWRlcnQLAAAARWdnUHJvdmlkZXJ0DwAAAERlZmF1bHRQcm92aWRlcnQLAAAAWmlwUHJvdmlkZXJ0DwAAAHJlZ2lzdGVyX2ZpbmRlcnQaAAAAcmVnaXN0ZXJfbmFtZXNwYWNlX2hhbmRsZXJ0FAAAAHJlZ2lzdGVyX2xvYWRlcl90eXBldBgAAABmaXh1cF9uYW1lc3BhY2VfcGFja2FnZXNSAQAAAHQIAAAAcnVuX21haW50FgAAAEF2YWlsYWJsZURpc3RyaWJ1dGlvbnNjAAAAAAAAAAABAAAAQkAAAHMXAAAAZQAAWgEAZAAAWgIAZAEAhAAAWgMAUlMoAgAAAHMuAAAAQWJzdHJhY3QgYmFzZSBmb3IgZGVwZW5kZW5jeSByZXNvbHV0aW9uIGVycm9yc2MBAAAAAQAAAAMAAABDQAAAcxcAAAB8AABqAABqAQB0AgB8AABqAwCDAQAXUygBAAAATigEAAAAdAkAAABfX2NsYXNzX19SEAAAAHQEAAAAcmVwclJiAAAAKAEAAABSFgAAACgAAAAAKAAAAABzRgAAAC91c3IvbGliL3B5dGhvbjIuNy9zaXRlLXBhY2thZ2VzL3BpcC9fdmVuZG9yL3BrZ19yZXNvdXJjZXMvX19pbml0X18ucHl0CAAAAF9fcmVwcl9fSQEAAHMCAAAAAAEoBAAAAFIQAAAAUhEAAABSEgAAAFK3AAAAKAAAAAAoAAAAACgAAAAAc0YAAAAvdXNyL2xpYi9weXRob24yLjcvc2l0ZS1wYWNrYWdlcy9waXAvX3ZlbmRvci9wa2dfcmVzb3VyY2VzL19faW5pdF9fLnB5Uo0AAABGAQAAcwQAAAAGAQYCYwAAAAAAAAAAAgAAAEJAAABzRAAAAGUAAFoBAGQAAFoCAGQBAFoDAGUEAGQCAIQAAIMBAFoFAGUEAGQDAIQAAIMBAFoGAGQEAIQAAFoHAGQFAIQAAFoIAFJTKAYAAABzqgAAAAogICAgQW4gYWxyZWFkeS1pbnN0YWxsZWQgdmVyc2lvbiBjb25mbGljdHMgd2l0aCB0aGUgcmVxdWVzdGVkIHZlcnNpb24u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L3Vzci9saWIvcHl0aG9uMi43L3NpdGUtcGFja2FnZXMvcGlwL192ZW5kb3IvcGtnX3Jlc291cmNlcy9fX2luaXRfXy5weXQMAAAAZ2V0X21ldGFkYXRhRwIAAFJkAAAAYwEAAAABAAAAAQAAAENAAABzBAAAAGQBAFMoAgAAAHPSAAAAWWllbGQgbmFtZWQgbWV0YWRhdGEgcmVzb3VyY2UgYXMgbGlzdCBvZiBub24tYmxhbmsgbm9uLWNvbW1lbnQgbGluZXMKCiAgICAgICBMZWFkaW5nIGFuZCB0cmFpbGluZyB3aGl0ZXNwYWNlIGlzIHN0cmlwcGVkIGZyb20gZWFjaCBsaW5lLCBhbmQgbGluZXMKICAgICAgIHdpdGggYGAjYGAgYXMgdGhlIGZpcnN0IG5vbi1ibGFuayBjaGFyYWN0ZXIgYXJlIG9taXR0ZWQuTigAAAAAKAEAAABS+AAAACgAAAAAKAAAAABzRgAAAC91c3IvbGliL3B5dGhvbjIuNy9zaXRlLXBhY2thZ2VzL3BpcC9fdmVuZG9yL3BrZ19yZXNvdXJjZXMvX19pbml0X18ucHl0EgAAAGdldF9tZXRhZGF0YV9saW5lc0oCAABSZAAAAGMBAAAAAQAAAAEAAABDQAAAcwQAAABkAQBTKAIAAABzPgAAAElzIHRoZSBuYW1lZCBtZXRhZGF0YSBhIGRpcmVjdG9yeT8gIChsaWtlIGBgb3MucGF0aC5pc2RpcigpYGApTigAAAAAKAEAAABS+AAAACgAAAAAKAAAAABzRgAAAC91c3IvbGliL3B5dGhvbjIuNy9zaXRlLXBhY2thZ2VzL3BpcC9fdmVuZG9yL3BrZ19yZXNvdXJjZXMvX19pbml0X18ucHl0DgAAAG1ldGFkYXRhX2lzZGlyUAIAAFJkAAAAYwEAAAABAAAAAQAAAENAAABzBAAAAGQBAFMoAgAAAHM/AAAATGlzdCBvZiBtZXRhZGF0YSBuYW1lcyBpbiB0aGUgZGlyZWN0b3J5IChsaWtlIGBgb3MubGlzdGRpcigpYGApTigAAAAAKAEAAABS+AAAACgAAAAAKAAAAABzRgAAAC91c3IvbGliL3B5dGhvbjIuNy9zaXRlLXBhY2thZ2VzL3BpcC9fdmVuZG9yL3BrZ19yZXNvdXJjZXMvX19pbml0X18ucHl0EAAAAG1ldGFkYXRhX2xpc3RkaXJTAgAAUmQAAABjAgAAAAIAAAABAAAAQ0AAAHMEAAAAZAEAUygCAAAAcz0AAABFeGVjdXRlIHRoZSBuYW1lZCBzY3JpcHQgaW4gdGhlIHN1cHBsaWVkIG5hbWVzcGFjZSBkaWN0aW9uYXJ5TigAAAAAKAIAAABS9gAAAHQJAAAAbmFtZXNwYWNlKAAAAAAoAAAAAHNGAAAAL3Vzci9saWIvcHl0aG9uMi43L3NpdGUtcGFja2FnZXMvcGlwL192ZW5kb3IvcGtnX3Jlc291cmNlcy9fX2luaXRfXy5weVJzAAAAVgIAAFJkAAAAKAgAAABSEAAAAFIRAAAAUvwAAABS/QAAAFL+AAAAUv8AAABSAAEAAFJzAAAAKAAAAAAoAAAAACgAAAAAc0YAAAAvdXNyL2xpYi9weXRob24yLjcvc2l0ZS1wYWNrYWdlcy9waXAvX3ZlbmRvci9wa2dfcmVzb3VyY2VzL19faW5pdF9fLnB5UqQAAABDAgAAcwwAAAAGAQkDCQMJBgkDCQNjAAAAAAAAAAABAAAAQkAAAHNEAAAAZQAAWgEAZAAAWgIAZAEAhAAAWgMAZAIAhAAAWgQAZAMAhAAAWgUAZAQAhAAAWgYAZAUAhAAAWgcAZAYAhAAAWggAUlMoBwAAAHMzAAAAQW4gb2JqZWN0IHRoYXQgcHJvdmlkZXMgYWNjZXNzIHRvIHBhY2thZ2UgcmVzb3VyY2VzYwIAAAACAAAAAQAAAENAAABzBAAAAGQBAFMoAgAAAHNkAAAAUmV0dXJuIGEgdHJ1ZSBmaWxlc3lzdGVtIHBhdGggZm9yIGByZXNvdXJjZV9uYW1lYAoKICAgICAgICBgbWFuYWdlcmAgbXVzdCBiZSBhbiBgYElSZXNvdXJjZU1hbmFnZXJgYE4oAAAAACgCAAAAdAcAAABtYW5hZ2VydA0AAAByZXNvdXJjZV9uYW1lKAAAAAAoAAAAAHNGAAAAL3Vzci9saWIvcHl0aG9uMi43L3NpdGUtcGFja2FnZXMvcGlwL192ZW5kb3IvcGtnX3Jlc291cmNlcy9fX2luaXRfXy5weXQVAAAAZ2V0X3Jlc291cmNlX2ZpbGVuYW1lXQIAAFJkAAAAYwIAAAACAAAAAQAAAENAAABzBAAAAGQBAFMoAgAAAHNpAAAAUmV0dXJuIGEgcmVhZGFibGUgZmlsZS1saWtlIG9iamVjdCBmb3IgYHJlc291cmNlX25hbWVgCgogICAgICAgIGBtYW5hZ2VyYCBtdXN0IGJlIGFuIGBgSVJlc291cmNlTWFuYWdlcmBgTigAAAAAKAIAAABSAgEAAFIDAQAAKAAAAAAoAAAAAHNGAAAAL3Vzci9saWIvcHl0aG9uMi43L3NpdGUtcGFja2FnZXMvcGlwL192ZW5kb3IvcGtnX3Jlc291cmNlcy9fX2luaXRfXy5weXQTAAAAZ2V0X3Jlc291cmNlX3N0cmVhbWICAABSZAAAAGMCAAAAAgAAAAEAAABDQAAAcwQAAABkAQBTKAIAAABzbQAAAFJldHVybiBhIHN0cmluZyBjb250YWluaW5nIHRoZSBjb250ZW50cyBvZiBgcmVzb3VyY2VfbmFtZWAKCiAgICAgICAgYG1hbmFnZXJgIG11c3QgYmUgYW4gYGBJUmVzb3VyY2VNYW5hZ2VyYGBOKAAAAAAoAgAAAFICAQAAUgMBAAAoAAAAACgAAAAAc0YAAAAvdXNyL2xpYi9weXRob24yLjcvc2l0ZS1wYWNrYWdlcy9waXAvX3ZlbmRvci9wa2dfcmVzb3VyY2VzL19faW5pdF9fLnB5dBMAAABnZXRfcmVzb3VyY2Vfc3RyaW5nZwIAAFJkAAAAYwEAAAABAAAAAQAAAENAAABzBAAAAGQBAFMoAgAAAHMsAAAARG9lcyB0aGUgcGFja2FnZSBjb250YWluIHRoZSBuYW1lZCByZXNvdXJjZT9OKAAAAAAoAQAAAFIDAQAAKAAAAAAoAAAAAHNGAAAAL3Vzci9saWIvcHl0aG9uMi43L3NpdGUtcGFja2FnZXMvcGlwL192ZW5kb3IvcGtnX3Jlc291cmNlcy9fX2luaXRfXy5weXQMAAAAaGFzX3Jlc291cmNlbAIAAFJkAAAAYwEAAAABAAAAAQAAAENAAABzBAAAAGQBAFMoAgAAAHM+AAAASXMgdGhlIG5hbWVkIHJlc291cmNlIGEgZGlyZWN0b3J5PyAgKGxpa2UgYGBvcy5wYXRoLmlzZGlyKClgYClOKAAAAAAoAQAAAFIDAQAAKAAAAAAoAAAAAHNGAAAAL3Vzci9saWIvcHl0aG9uMi43L3NpdGUtcGFja2FnZXMv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YXVsdHMgdG8gYWxsIGRpc3RyaWJ1dGlvbnMgYXZhaWxhYmxlIHdpdGhpbiBhbnkKICAgICAgICBlbnRyeSBvciBkaXN0cmlidXRpb24gaW4gdGhlIHdvcmtpbmcgc2V0LiAgYGluc3RhbGxlcmAsIGlmIHN1cHBsaWVkLAogICAgICAgIHdpbGwgYmUgaW52b2tlZCB3aXRoIGVhY2ggcmVxdWlyZW1lbnQgdGhhdCBjYW5ub3QgYmUgbWV0IGJ5IGFuCiAgICAgICAgYWxyZWFkeS1pbnN0YWxsZWQgZGlzdHJpYnV0aW9uOyBpdCBzaG91bGQgcmV0dXJuIGEgYGBEaXN0cmlidXRpb25gYCBvcgogICAgICAgIGBgTm9uZWBgLgoKICAgICAgICBVbmxlc3MgYHJlcGxhY2VfY29uZmxpY3Rpbmc9VHJ1ZWAsIHJhaXNlcyBhIFZlcnNpb25Db25mbGljdCBleGNlcHRpb24gaWYKICAgICAgICBhbnkgcmVxdWlyZW1lbnRzIGFyZSBmb3VuZCBvbiB0aGUgcGF0aCB0aGF0IGhhdmUgdGhlIGNvcnJlY3QgbmFtZSBidXQKICAgICAgICB0aGUgd3JvbmcgdmVyc2lvbi4gIE90aGVyd2lzZSwgaWYgYW4gYGluc3RhbGxlcmAgaXMgc3VwcGxpZWQgaXQgd2lsbCBiZQogICAgICAgIGludm9rZWQgdG8gb2J0YWluIHRoZSBjb3JyZWN0IHZlcnNpb24gb2YgdGhlIHJlcXVpcmVtZW50IGFuZCBhY3RpdmF0ZQogICAgICAgIGl0LgogICAgICAgIE5p/////2kAAAAAKBkAAAB0BAAAAGxpc3R0CgAAAF9SZXFFeHRyYXN0CwAAAGNvbGxlY3Rpb25zdAsAAABkZWZhdWx0ZGljdHQDAAAAc2V0UjUAAAB0DAAAAG1hcmtlcnNfcGFzc1I9AAAAUiAAAABSYQAAAFIKAQAAUocAAABSCAEAAFKIAAAAdAoAAABiZXN0X21hdGNoUo8AAABSNgAAAFKOAAAAUsAAAABSHgEAAHQGAAAAZXh0cmFzdAYAAABleHRlbmRSFgEAAHQMAAAAcHJvamVjdF9uYW1lUukAAAAoEQAAAFIWAAAAdAwAAAByZXF1aXJlbWVudHN0AwAAAGVudnQJAAAAaW5zdGFsbGVydBMAAAByZXBsYWNlX2NvbmZsaWN0aW5ndAkAAABwcm9jZXNzZWR0BAAAAGJlc3R0CwAAAHRvX2FjdGl2YXRldAoAAAByZXFfZXh0cmFzUr8AAABSuQAAAFK4AAAAUhMBAABSwgAAAHQNAAAAZGVwZW5kZW50X3JlcXQQAAAAbmV3X3JlcXVpcmVtZW50c3QPAAAAbmV3X3JlcXVpcmVtZW50KAAAAAAoAAAAAHNGAAAAL3Vzci9saWIvcHl0aG9uMi43L3NpdGUtcGFja2FnZXMvcGlwL192ZW5kb3IvcGtnX3Jlc291cmNlcy9fX2luaXRfXy5weVIVAQAAGQMAAHNKAAAAABQZAgYCBgEGAgkEDwIJAg8BDAIGAg8BBgISAQwCFQEeAQYBDAEMARIFDAEPASABDAESARUBEAEMAgoBGwMfAQ0DDQEUARECDgNjBQAAAA8AAAAHAAAAQ0AAAHNBAQAAdAAAfAEAgwEAfQUAfAUAagEAgwAAAWkAAH0GAGkAAH0HAHwCAGQBAGsIAHJKAHQDAHwAAGoEAIMBAH0IAHwIAHwBADd9CABuCgB8AgB8AQAXfQgAfAAAagUAZwAAgwEAfQkAdAAAdAYAfAkAagcAfAAAgwIAgwEAAXilAHwFAERdnQB9CgB4lAB8AQB8CgAZRF2IAH0LAHwLAGoIAIMAAGcBAH0MAHkZAHwJAGoJAHwMAHwIAHwDAIMDAH0NAFduKgAEdAoAawoAcusAAX0OAAF8DgB8BgB8CwA8fAQAcucAcZEAcRkBUHGRAFh0AAB0BgB8CQBqBwB8DQCDAgCDAQABfAcAagsAdAwAag0AfA0AgwEAgwEAAVBxkQBXcYAAV3QAAHwHAIMBAH0HAHwHAGoBAIMAAAF8BwB8BgBmAgBTKAIAAABzcwYAAEZpbmQgYWxsIGFjdGl2YXRhYmxlIGRpc3RyaWJ1dGlvbnMgaW4gYHBsdWdpbl9lbnZgCgogICAgICAgIEV4YW1wbGUgdXNhZ2U6OgoKICAgICAgICAgICAgZGlzdHJpYnV0aW9ucywgZXJyb3JzID0gd29ya2luZ19zZXQuZmluZF9wbHVnaW5zKAogICAgICAgICAgICAgICAgRW52aXJvbm1lbnQocGx1Z2luX2Rpcmxpc3QpCiAgICAgICAgICAgICkKICAgICAgICAgICAgIyBhZGQgcGx1Z2lucytsaWJzIHRvIHN5cy5wYXRoCiAgICAgICAgICAgIG1hcCh3b3JraW5nX3NldC5hZGQsIGRpc3RyaWJ1dGlvbnMpCiAgICAgICAgICAgICMgZGlzcGxheSBlcnJvcnMKICAgICAgICAgICAgcHJpbnQoJ0NvdWxkIG5vdCBsb2FkJywgZXJyb3JzKQoKICAgICAgICBUaGUgYHBsdWdpbl9lbnZgIHNob3VsZCBiZSBhbiBgYEVudmlyb25tZW50YGAgaW5zdGFuY2UgdGhhdCBjb250YWlucwogICAgICAgIG9ubHkgZGlzdHJpYnV0aW9ucyB0aGF0IGFyZSBpbiB0aGUgcHJvamVjdCdzICJwbHVnaW4gZGlyZWN0b3J5IiBvcgogICAgICAgIGRpcmVjdG9yaWVzLiBUaGUgYGZ1bGxfZW52YCwgaWYgc3VwcGxpZWQsIHNob3VsZCBiZSBhbiBgYEVudmlyb25tZW50YGAKICAgICAgICBjb250YWlucyBhbGwgY3VycmVudGx5LWF2YWlsYWJsZSBkaXN0cmlidXRpb25zLiAgSWYgYGZ1bGxfZW52YCBpcyBub3QKICAgICAgICBzdXBwbGllZCwgb25lIGlzIGNyZWF0ZWQgYXV0b21hdGljYWxseSBmcm9tIHRoZSBgYFdvcmtpbmdTZXRgYCB0aGlzCiAgICAgICAgbWV0aG9kIGlzIGNhbGxlZCBvbiwgd2hpY2ggd2lsbCB0eXBpY2FsbHkgbWVhbiB0aGF0IGV2ZXJ5IGRpcmVjdG9yeSBvbgogICAgICAgIGBgc3lzLnBhdGhgYCB3aWxsIGJlIHNjYW5uZWQgZm9yIGRpc3RyaWJ1dGlvbnMuCgogICAgICAgIGBpbnN0YWxsZXJgIGlzIGEgc3RhbmRhcmQgaW5zdGFsbGVyIGNhbGxiYWNrIGFzIHVzZWQgYnkgdGhlCiAgICAgICAgYGByZXNvbHZlKClgYCBtZXRob2QuIFRoZSBgZmFsbGJhY2tgIGZsYWcgaW5kaWNhdGVzIHdoZXRoZXIgd2Ugc2hvdWxkCiAgICAgICAgYXR0ZW1wdCB0byByZXNvbHZlIG9sZGVyIHZlcnNpb25zIG9mIGEgcGx1Z2luIGlmIHRoZSBuZXdlc3QgdmVyc2lvbgogICAgICAgIGNhbm5vdCBiZSByZXNvbHZlZC4KCiAgICAgICAgVGhpcyBtZXRob2QgcmV0dXJucyBhIDItdHVwbGU6IChgZGlzdHJpYnV0aW9uc2AsIGBlcnJvcl9pbmZvYCksIHdoZXJlCiAgICAgICAgYGRpc3RyaWJ1dGlvbnNgIGlzIGEgbGlzdCBvZiB0aGUgZGlzdHJpYnV0aW9ucyBmb3VuZCBpbiBgcGx1Z2luX2VudmAKICAgICAgICB0aGF0IHdlcmUgbG9hZGFibGUsIGFsb25nIHdpdGggYW55IG90aGVyIGRpc3RyaWJ1dGlvbnMgdGhhdCBhcmUgbmVlZGVkCiAgICAgICAgdG8gcmVzb2x2ZSB0aGVpciBkZXBlbmRlbmNpZXMuICBgZXJyb3JfaW5mb2AgaXMgYSBkaWN0aW9uYXJ5IG1hcHBpbmcKICAgICAgICB1bmxvYWRhYmxlIHBsdWdpbiBkaXN0cmlidXRpb25zIHRvIGFuIGV4Y2VwdGlvbiBpbnN0YW5jZSBkZXNjcmliaW5nIHRoZQogICAgICAgIGVycm9yIHRoYXQgb2NjdXJyZWQuIFVzdWFsbHkgdGhpcyB3aWxsIGJlIGEgYGBEaXN0cmlidXRpb25Ob3RGb3VuZGBgIG9yCiAgICAgICAgYGBWZXJzaW9uQ29uZmxpY3RgYCBpbnN0YW5jZS4KICAgICAgICBOKA4AAABSJwEAAHQEAAAAc29ydFJhAAAAUocAAABSCAEAAFK1AAAAUgQAAABSFgEAAHQOAAAAYXNfcmVxdWlyZW1lbnRSFQEAAFKNAAAAUkoAAABSTAAAAFJNAAAAKA8AAABSFgAAAHQKAAAAcGx1Z2luX2VudnQIAAAAZnVsbF9lbnZSMwEAAHQIAAAAZmFsbGJhY2t0DwAAAHBsdWdpbl9wcm9qZWN0c3QKAAAAZXJyb3JfaW5mb3QNAAAAZGlzdHJpYnV0aW9uc1IyAQAAdAoAAABzaGFkb3dfc2V0UjABAABSuAAAAFK5AAAAdAkAAAByZXNvbHZlZXNSRwAAACgAAAAAKAAAAABzRgAAAC91c3IvbGliL3B5dGhvbjIuNy9zaXRlLXBhY2thZ2VzL3BpcC9fdmVuZG9yL3BrZ19yZXNvdXJjZXMvX19pbml0X18ucHl0DAAAAGZpbmRfcGx1Z2luc2sDAABzNAAAAAAkDAIKAgYBBgIMAQ8BDQIKAg8CFgINAhECDwIDARkCDwIKAQYCBgMFAxYBFgMJAgwBCgJjAQAAAAQAAAADAAAAR0AAAHM3AAAAfAAAagAAdAEAfAEAgwEAgwEAfQIAeBsAfAIARF0TAH0DAHwAAGoCAHwDAIMBAAFxHABXfAIAUygBAAAAc74BAABFbnN1cmUgdGhhdCBkaXN0cmlidXRpb25zIG1hdGNoaW5nIGByZXF1aXJlbWVudHNgIGFyZSBhY3RpdmF0ZWQKCiAgICAgICAgYHJlcXVpcmVtZW50c2AgbXVzdCBiZSBhIHN0cmluZyBvciBhIChwb3NzaWJseS1uZXN0ZWQpIHNlcXVlbmNlCiAgICAgICAgdGhlcmVvZiwgc3BlY2lmeWluZyB0aGUgZGlzdHJpYnV0aW9ucyBhbmQgdmVyc2lvbnMgcmVxdWlyZWQuICBUaGUKICAgICAgICByZXR1cm4gdmFsdWUgaXMgYSBzZXF1ZW5jZSBvZiB0aGUgZGlzdHJpYnV0aW9ucyB0aGF0IG5lZWRlZCB0byBiZQogICAgICAgIGFjdGl2YXRlZCB0byBmdWxmaWxsIHRoZSByZXF1aXJlbWVudHM7IGFsbCByZWxldmFudCBkaXN0cmlidXRpb25zIGFyZQogICAgICAgIGluY2x1ZGVkLCBldmVuIGlmIHRoZXkgd2VyZSBhbHJlYWR5IGFjdGl2YXRlZCBpbiB0aGlzIHdvcmtpbmcgc2V0LgogICAgICAgICgDAAAAUhUBAABSkgAAAFIWAQAAKAQAAABSFgAAAFIxAQAAdAYAAABuZWVkZWRSuAAAACgAAAAAKAAAAABzRgAAAC91c3IvbGliL3B5dGhvbjIuNy9zaXRlLXBhY2thZ2VzL3BpcC9fdmVuZG9yL3BrZ19yZXNvdXJjZXMvX19pbml0X18ucHlScgAAAL8DAABzCAAAAAAJFQINARECYwMAAAAEAAAAAwAAAENAAABzTAAAAHwBAHwAAGoAAGsGAHITAGQBAFN8AABqAABqAQB8AQCDAQABfAIAcy0AZAEAU3gYAHwAAERdEAB9AwB8AQB8AwCDAQABcTQAV2QBAFMoAgAAAHODAAAASW52b2tlIGBjYWxsYmFja2AgZm9yIGFsbCBkaXN0cmlidXRpb25zCgogICAgICAgIElmIGBleGlzdGluZz1UcnVlYCAoZGVmYXVsdCksCiAgICAgICAgY2FsbCBvbiBhbGwgZXhpc3Rpbmcgb25lcywgYXMgd2VsbC4KICAgICAgICBOKAIAAABSCwEAAFI2AAAAKAQAAABSFgAAAHQIAAAAY2FsbGJhY2t0CAAAAGV4aXN0aW5nUrgAAAAoAAAAACgAAAAAc0YAAAAvdXNyL2xpYi9weXRob24yLjcvc2l0ZS1wYWNrYWdlcy9waXAvX3ZlbmRvci9wa2dfcmVzb3VyY2VzL19faW5pdF9fLnB5dAkAAABzdWJzY3JpYmXPAwAAcw4AAAAABg8BBAEQAQYBBAENAWMCAAAAAwAAAAMAAABDQAAAcyIAAAB4GwB8AABqAABEXRAAfQIAfAIAfAEAgwEAAXEKAFdkAABTKAEAAABOKAEAAABSCwEAACgDAAAAUhYAAABSuAAAAFJIAQAAKAAAAAAoAAAAAHNGAAAAL3Vzci9saWIvcHl0aG9uMi43L3NpdGUtcGFja2FnZXMvcGlwL192ZW5kb3IvcGtnX3Jlc291cmNlcy9fX2luaXRfXy5weVIjAQAA3QMAAHMEAAAAAAEQAWMBAAAAAQAAAAQAAABDQAAAcyoAAAB8AABqAAAefAAAagEAagIAgwAAfAAAagMAagIAgwAAfAAAagQAHmYEAFMoAQAAAE4oBQAAAFIIAQAAUgkBAABSWQAAAFIKAQAAUgsBAAAoAQAAAFIWAAAAKAAAAAAoAAAAAHNGAAAAL3Vzci9saWIvcHl0aG9uMi43L3NpdGUtcGFja2FnZXMvcGlwL192ZW5kb3IvcGtnX3Jlc291cmNlcy9fX2luaXRfXy5weVJWAAAA4QMAAHMEAAAAAAIfAWMCAAAABgAAAAQAAABDQAAAc0gAAAB8AQBcBAB9AgB9AwB9BAB9BQB8AgAefAAAXwAAfAMAagEAgwAAfAAAXwIAfAQAagEAgwAAfAAAXwMAfAUAHnwAAF8EAGQAAFMoAQAAAE4oBQAAAFIIAQAAUlkAAABSCQEAAFIKAQAAUgsBAAAoBgAAAFIWAAAAdAcAAABlX2tfYl9jUggBAABSJQEAAFIKAQAAUgsBAAAoAAAAACgAAAAAc0YAAAAvdXNyL2xpYi9weXRob24yLjcvc2l0ZS1wYWNrYWdlcy9waXAvX3ZlbmRvci9wa2dfcmVzb3VyY2VzL19faW5pdF9fLnB5UlgAAADnAwAAcwoAAAAAARIBCgEPAQ8BTigYAAAAUhAAAABSEQAAAFISAAAAUmEAAABSDgEAAHQLAAAAY2xhc3NtZXRob2RSFAEAAFIRAQAAUgwBAABSGwEAAFLJAAAAUnkAAABScwAAAFJCAAAAUukAAABS6wAAAFIWAQAAUhUBAABSRgEAAFJyAAAAUkoBAABSIwEAAFJWAAAAUlgAAAAoAAAAACgAAAAAKAAAAABzRgAAAC91c3IvbGliL3B5dGhvbjIuNy9zaXRlLXBhY2thZ2VzL3BpcC9fdmVuZG9yL3BrZ19yZXNvdXJjZXMvX19pbml0X18ucHlSiAAAAHYCAABzKAAAAAYBBgIMDQ8UDxYJDwkECRAMDwkICRESHgYBDFEGAQxTCRAMDgkECQZSKAEAAGMAAAAAAAAAAAEAAABCQAAAcxcAAABlAABaAQBkAABaAgBkAQCEAABaAwBSUygCAAAAcz4AAAAKICAgIE1hcCBlYWNoIHJlcXVpcmVtZW50IHRvIHRoZSBleHRyYXMgdGhhdCBkZW1hbmRlZCBpdC4KICAgIGMCAAAAAwAAAAQAAAADQAAAczoAAACHAABmAQBkAQCGAAB8AABqAACIAABkAgCDAgBkBAAXRIMBAH0CAIgAAGoCAAxwOQB0AwB8AgCDAQBTKAUAAABzuwAAAAogICAgICAgIEV2YWx1YXRlIG1hcmtlcnMgZm9yIHJlcSBhZ2FpbnN0IGVhY2ggZXh0cmEgdGhhdAogICAgICAgIGRlbWFuZGVkIGl0LgoKICAgICAgICBSZXR1cm4gRmFsc2UgaWYgdGhlIHJlcSBoYXMgYSBtYXJrZXIgYW5kIGZhaWxzCiAgICAgICAgZXZhbHVhdGlvbi4gT3RoZXJ3aXNlLCByZXR1cm4gVHJ1ZS4KICAgICAgICBjAQAAAAIAAAAFAAAAM0AAAHMoAAAAfAAAXR4AfQEAiAAAagAAagEAaQEAfAEAZAAANoMBAFYBcQMAZAEAUygCAAAAdAUAAABleHRyYU4oAgAAAHQGAAAAbWFya2VydAgAAABldmFsdWF0ZSgCAAAAdAIAAAAuMFJNAQAAKAEAAABSuQAAACgAAAAAc0YAAAAvdXNyL2xpYi9weXRob24yLjcvc2l0ZS1wYWNrYWdlcy9waXAvX3ZlbmRvci9wa2dfcmVzb3VyY2VzL19faW5pdF9fLnB5cwkAAAA8Z2VuZXhwcj79AwAAcwIAAAAGASgAAAAATigBAAAATigEAAAAUj0AAABSYQAAAFJOAQAAdAMAAABhbnkoAwAAAFIWAAAAUrkAAAB0CwAAAGV4dHJhX2V2YWxzKAAAAAAoAQAAAFK5AAAAc0YAAAAvdXNyL2xpYi9weXRob24yLjcvc2l0ZS1wYWNrYWdlcy9waXAvX3ZlbmRvci9wa2dfcmVzb3VyY2VzL19faW5pdF9fLnB5UiwBAAD0AwAAcwYAAAAACQwBGgIoBAAAAFIQAAAAUhEAAABSEgAAAFIsAQAAKAAAAAAoAAAAACgAAAAAc0YAAAAvdXNyL2xpYi9weXRob24yLjcvc2l0ZS1wYWNrYWdlcy9waXAvX3ZlbmRvci9wa2dfcmVzb3VyY2VzL19faW5pdF9fLnB5UigBAADvAwAAcwQAAAAGAwYCYwAAAAAAAAAABAAAAEJAAABzhgAAAGUAAFoBAGQAAFoCAGQMAGUEAIMAAGUFAGQBAIQDAFoGAGQCAIQAAFoHAGQDAIQAAFoIAGQMAGQEAIQBAFoJAGQFAIQAAFoKAGQGAIQAAFoLAGQMAGQHAIQBAFoMAGQMAGQIAIQBAFoNAGQJAIQAAFoOAGQKAIQAAFoPAGQLAIQAAFoQAFJTKA0AAABzNQAAAFNlYXJjaGFibGUgc25hcHNob3Qgb2YgZGlzdHJpYnV0aW9ucyBvbiBhIHNlYXJjaCBwYXRoYwQAAAAEAAAAAgAAAENAAABzLAAAAGkAAHwAAF8AAHwCAHwAAF8BAHwDAHwAAF8CAHwAAGoDAHwBAIMBAAFkAQBTKAIAAABzIQMAAFNuYXBzaG90IGRpc3RyaWJ1dGlvbnMgYXZhaWxhYmxlIG9uIGEgc2VhcmNoIHBhdGgKCiAgICAgICAgQW55IGRpc3RyaWJ1dGlvbnMgZm91bmQgb24gYHNlYXJjaF9wYXRoYCBhcmUgYWRkZWQgdG8gdGhlIGVudmlyb25tZW50LgogICAgICAgIGBzZWFyY2hfcGF0aGAgc2hvdWxkIGJlIGEgc2VxdWVuY2Ugb2YgYGBzeXMucGF0aGBgIGl0ZW1zLiAgSWYgbm90CiAgICAgICAgc3VwcGxpZWQsIGBgc3lzLnBhdGhgYCBpcyB1c2VkLgoKICAgICAgICBgcGxhdGZvcm1gIGlzIGFuIG9wdGlvbmFsIHN0cmluZyBzcGVjaWZ5aW5nIHRoZSBuYW1lIG9mIHRoZSBwbGF0Zm9ybQogICAgICAgIHRoYXQgcGxhdGZvcm0tc3BlY2lmaWMgZGlzdHJpYnV0aW9ucyBtdXN0IGJlIGNvbXBhdGlibGUgd2l0aC4gIElmCiAgICAgICAgdW5zcGVjaWZpZWQsIGl0IGRlZmF1bHRzIHRvIHRoZSBjdXJyZW50IHBsYXRmb3JtLiAgYHB5dGhvbmAgaXMgYW4KICAgICAgICBvcHRpb25hbCBzdHJpbmcgbmFtaW5nIHRoZSBkZXNpcmVkIHZlcnNpb24gb2YgUHl0aG9uIChlLmcuIGBgJzMuMydgYCk7CiAgICAgICAgaXQgZGVmYXVsdHMgdG8gdGhlIGN1cnJlbnQgdmVyc2lvbi4KCiAgICAgICAgWW91IG1heSBleHBsaWNpdGx5IHNldCBgcGxhdGZvcm1gIChhbmQvb3IgYHB5dGhvbmApIHRvIGBgTm9uZWBgIGlmIHlvdQogICAgICAgIHdpc2ggdG8gbWFwICphbGwqIGRpc3RyaWJ1dGlvbnMsIG5vdCBqdXN0IHRob3NlIGNvbXBhdGlibGUgd2l0aCB0aGUKICAgICAgICBydW5uaW5nIHBsYXRmb3JtIG9yIFB5dGhvbiB2ZXJzaW9uLgogICAgICAgIE4oBAAAAHQIAAAAX2Rpc3RtYXBSagAAAHQGAAAAcHl0aG9udAQAAABzY2FuKAQAAABSFgAAAHQLAAAAc2VhcmNoX3BhdGhSagAAAFJUAQAAKAAAAAAoAAAAAHNGAAAAL3Vzci9saWIvcHl0aG9uMi43L3NpdGUtcGFja2FnZXMvcGlwL192ZW5kb3IvcGtnX3Jlc291cmNlcy9fX2luaXRfXy5weVIOAQAABgQAAHMIAAAAABIJAQkBCQFjAgAAAAIAAAADAAAAQ0AAAHNDAAAAfAAAagAAZAEAawgAczAAfAEAagIAZAEAawgAczAAfAEAagIAfAAAagAAawIAb0IAdAMAfAEAagQAfAAAagQAgwIAUygCAAAAc+UAAABJcyBkaXN0cmlidXRpb24gYGRpc3RgIGFjY2VwdGFibGUgZm9yIHRoaXMgZW52aXJvbm1lbnQ/CgogICAgICAgIFRoZSBkaXN0cmlidXRpb24gbXVzdCBtYXRjaCB0aGUgcGxhdGZvcm0gYW5kIHB5dGhvbiB2ZXJzaW9uCiAgICAgICAgcmVxdWlyZW1lbnRzIHNwZWNpZmllZCB3aGVuIHRoaXMgZW52aXJvbm1lbnQgd2FzIGNyZWF0ZWQsIG9yIEZhbHNlCiAgICAgICAgaXMgcmV0dXJuZWQuCiAgICAgICAgTigFAAAAUlQBAABSYQAAAHQKAAAAcHlfdmVyc2lvblKWAAAAUmoAAAAoAgAAAFIWAAAAUrgAAAAoAAAAACgAAAAAc0YAAAAvdXNyL2xpYi9weXRob24yLjcvc2l0ZS1wYWNrYWdlcy9waXAvX3ZlbmRvci9wa2dfcmVzb3VyY2VzL19faW5pdF9fLnB5dAcAAABjYW5fYWRkHQQAAHMGAAAAAAceARIBYwIAAAACAAAAAgAAAENAAABzGwAAAHwAAGoAAHwBAGoBABlqAgB8AQCDAQABZAEAUygCAAAAcyIAAABSZW1vdmUgYGRpc3RgIGZyb20gdGhlIGVudmlyb25tZW50TigDAAAAUlMBAABSIAAAAHQGAAAAcmVtb3ZlKAIAAABSFgAAAFK4AAAAKAAAAAAoAAAAAHNGAAAAL3Vzci9saWIvcHl0aG9uMi43L3NpdGUtcGFja2FnZXMvcGlwL192ZW5kb3IvcGtnX3Jlc291cmNlcy9fX2luaXRfXy5weVJZAQAAKAQAAHMCAAAAAAJjAgAAAAQAAAAEAAAAQ0AAAHNRAAAAfAEAZAEAawgAchgAdAEAagIAfQEAbgAAeDIAfAEARF0qAH0CAHghAHQDAHwCAIMBAERdEwB9AwB8AABqBAB8AwCDAQABcTIAV3EfAFdkAQBTKAIAAABzZAEAAFNjYW4gYHNlYXJjaF9wYXRoYCBmb3IgZGlzdHJpYnV0aW9ucyB1c2FibGUgaW4gdGhpcyBlbnZpcm9ubWVudAoKICAgICAgICBBbnkgZGlzdHJpYnV0aW9ucyBmb3VuZCBhcmUgYWRkZWQgdG8gdGhlIGVudmlyb25tZW50LgogICAgICAgIGBzZWFyY2hfcGF0aGAgc2hvdWxkIGJlIGEgc2VxdWVuY2Ugb2YgYGBzeXMucGF0aGBgIGl0ZW1zLiAgSWYgbm90CiAgICAgICAgc3VwcGxpZWQsIGBgc3lzLnBhdGhgYCBpcyB1c2VkLiAgT25seSBkaXN0cmlidXRpb25zIGNvbmZvcm1pbmcgdG8KICAgICAgICB0aGUgcGxhdGZvcm0vcHl0aG9uIHZlcnNpb24gZGVmaW5lZCBhdCBpbml0aWFsaXphdGlvbiBhcmUgYWRkZWQuCiAgICAgICAgTigFAAAAUmEAAABSaQAAAFLWAAAAUoMAAABSFgEAACgEAAAAUhYAAABSVgEAAFIgAQAAUrgAAAAoAAAAACgAAAAAc0YAAAAvdXNyL2xpYi9weXRob24yLjcvc2l0ZS1wYWNrYWdlcy9waXAvX3ZlbmRvci9wa2dfcmVzb3VyY2VzL19faW5pdF9fLnB5UlUBAAAsBAAAcwoAAAAACAwBDAINARMBYwIAAAADAAAAAwAAAENAAABzHwAAAHwBAGoAAIMAAH0CAHwAAGoBAGoCAHwCAGcAAIMCAFMoAQAAAHMBAQAAUmV0dXJuIGEgbmV3ZXN0LXRvLW9sZGVzdCBsaXN0IG9mIGRpc3RyaWJ1dGlvbnMgZm9yIGBwcm9qZWN0X25hbWVgCgogICAgICAgIFVzZXMgY2FzZS1pbnNlbnNpdGl2ZSBgcHJvamVjdF9uYW1lYCBjb21wYXJpc29uLCBhc3N1bWluZyBhbGwgdGhlCiAgICAgICAgcHJvamVjdCdzIGRpc3RyaWJ1dGlvbnMgdXNlIHRoZWlyIHByb2plY3QncyBuYW1lIGNvbnZlcnRlZCB0byBhbGwKICAgICAgICBsb3dlcmNhc2UgYXMgdGhlaXIga2V5LgoKICAgICAgICAoAwAAAFIzAAAAUlMBAABSPQAAACgDAAAAUhYAAABSMAEAAHQQAAAAZGlzdHJpYnV0aW9uX2tleSgAAAAAKAAAAABzRgAAAC91c3IvbGliL3B5dGhvbjIuNy9zaXRlLXBhY2thZ2VzL3BpcC9fdmVuZG9yL3BrZ19yZXNvdXJjZXMvX19pbml0X18ucHlSIQAAADsEAABzBAAAAAAIDAFjAgAAAAMAAAAFAAAAQ0AAAHN1AAAAfAAAagAAfAEAgwEAcnEAfAEAagEAgwAAcnEAfAAAagIAagMAfAEAagQAZwAAgwIAfQIAfAEAfAIAawcAcnEAfAIAagUAfAEAgwEAAXwCAGoGAGQBAHQHAGoIAGQCAIMBAGQDAHQJAIMAAgFxcQBuAABkBABTKAUAAABzTAAAAEFkZCBgZGlzdGAgaWYgd2UgYGBjYW5fYWRkKClgYCBpdCBhbmQgaXQgaGFzIG5vdCBhbHJlYWR5IGJlZW4gYWRkZWQKICAgICAgICBSIAAAAHQHAAAAaGFzaGNtcHQHAAAAcmV2ZXJzZU4oCgAAAFJYAQAAdAsAAABoYXNfdmVyc2lvblJTAQAAUhoBAABSIAAAAFI2AAAAUjwBAAB0CAAAAG9wZXJhdG9ydAoAAABhdHRyZ2V0dGVyUukAAAAoAwAAAFIWAAAAUrgAAABSGQEAACgAAAAAKAAAAABzRgAAAC91c3IvbGliL3B5dGhvbjIuNy9zaXRlLXBhY2thZ2VzL3BpcC9fdmVuZG9yL3BrZ19yZXNvdXJjZXMvX19pbml0X18ucHlSFgEAAEYEAABzCgAAAAADGwEYAQwBDQFjBAAAAAUAAAADAAAAQ0AAAHNXAAAAfAIAagAAfAEAgwEAfQQAfAQAZAEAawkAch8AfAQAU3glAHwAAHwBAGoCABlEXRYAfQQAfAQAfAEAawYAci0AfAQAU3EtAFd8AABqAwB8AQB8AwCDAgBTKAIAAABzuAIAAEZpbmQgZGlzdHJpYnV0aW9uIGJlc3QgbWF0Y2hpbmcgYHJlcWAgYW5kIHVzYWJsZSBvbiBgd29ya2luZ19zZXRgCgogICAgICAgIFRoaXMgY2FsbHMgdGhlIGBgZmluZChyZXEpYGAgbWV0aG9kIG9mIHRoZSBgd29ya2luZ19zZXRgIHRvIHNlZSBpZiBhCiAgICAgICAgc3VpdGFibGUgZGlzdHJpYnV0aW9uIGlzIGFscmVhZHkgYWN0aXZlLiAgKFRoaXMgbWF5IHJhaXNlCiAgICAgICAgYGBWZXJzaW9uQ29uZmxpY3RgYCBpZiBhbiB1bnN1aXRhYmxlIHZlcnNpb24gb2YgdGhlIHByb2plY3QgaXMgYWxyZWFkeQogICAgICAgIGFjdGl2ZSBpbiB0aGUgc3BlY2lmaWVkIGB3b3JraW5nX3NldGAuKSAgSWYgYSBzdWl0YWJsZSBkaXN0cmlidXRpb24KICAgICAgICBpc24ndCBhY3RpdmUsIHRoaXMgbWV0aG9kIHJldHVybnMgdGhlIG5ld2VzdCBkaXN0cmlidXRpb24gaW4gdGhlCiAgICAgICAgZW52aXJvbm1lbnQgdGhhdCBtZWV0cyB0aGUgYGBSZXF1aXJlbWVudGBgIGluIGByZXFgLiAgSWYgbm8gc3VpdGFibGUKICAgICAgICBkaXN0cmlidXRpb24gaXMgZm91bmQsIGFuZCBgaW5zdGFsbGVyYCBpcyBzdXBwbGllZCwgdGhlbiB0aGUgcmVzdWx0IG9mCiAgICAgICAgY2FsbGluZyB0aGUgZW52aXJvbm1lbnQncyBgYG9idGFpbihyZXEsIGluc3RhbGxlcilgYCBtZXRob2Qgd2lsbCBiZQogICAgICAgIHJldHVybmVkLgogICAgICAgIE4oBAAAAFLJAAAAUmEAAABSIAAAAHQGAAAAb2J0YWluKAUAAABSFgAAAFK5AAAAUoEAAABSMwEAAFK4AAAAKAAAAAAoAAAAAHNGAAAAL3Vzci9saWIvcHl0aG9uMi43L3NpdGUtcGFja2FnZXMvcGlwL192ZW5kb3IvcGtnX3Jlc291cmNlcy9fX2luaXRfXy5weVItAQAATwQAAHMOAAAAAA0PAQwBBAEUAQwBCAJjAwAAAAMAAAACAAAAQ0AAAHMaAAAAfAIAZAEAawkAchYAfAIAfAEAgwEAU2QBAFMoAgAAAHPeAQAAT2J0YWluIGEgZGlzdHJpYnV0aW9uIG1hdGNoaW5nIGByZXF1aXJlbWVudGAgKGUuZy4gdmlhIGRvd25sb2FkKQoKICAgICAgICBPYnRhaW4gYSBkaXN0cm8gdGhhdCBtYXRjaGVzIHJlcXVpcmVtZW50IChlLmcuIHZpYSBkb3dubG9hZCkuICBJbiB0aGUKICAgICAgICBiYXNlIGBgRW52aXJvbm1lbnRgYCBjbGFzcywgdGhpcyByb3V0aW5lIGp1c3QgcmV0dXJucwogICAgICAgIGBgaW5zdGFsbGVyKHJlcXVpcmVtZW50KWBgLCB1bmxlc3MgYGluc3RhbGxlcmAgaXMgTm9uZSwgaW4gd2hpY2ggY2FzZQogICAgICAgIE5vbmUgaXMgcmV0dXJuZWQgaW5zdGVhZC4gIFRoaXMgbWV0aG9kIGlzIGEgaG9vayB0aGF0IGFsbG93cyBzdWJjbGFz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ZW5zIHVwIGFuIG9wcG9ydHVuaXR5IGZvciBhbiBhdHRhY2tlciB0bwogICAgICAgIHJlcGxhY2UgYW4gZXh0cmFjdGVkIGZpbGUgd2l0aCBhbiB1bmF1dGhvcml6ZWQgcGF5bG9hZC4gV2FybiB0aGUgdXNlcgogICAgICAgIGlmIGEga25vd24gaW5zZWN1cmUgbG9jYXRpb24gaXMgdXNlZC4KCiAgICAgICAgU2VlIERpc3RyaWJ1dGUgIzM3NSBmb3IgbW9yZSBkZXRhaWxzLgogICAgICAgIHQCAAAAbnR0BgAAAHdpbmRpck5zywAAACVzIGlzIHdyaXRhYmxlIGJ5IGdyb3VwL290aGVycyBhbmQgdnVsbmVyYWJsZSB0byBhdHRhY2sgd2hlbiB1c2VkIHdpdGggZ2V0X3Jlc291cmNlX2ZpbGVuYW1lLiBDb25zaWRlciBhIG1vcmUgc2VjdXJlIGxvY2F0aW9uIChzZXQgd2l0aCAuc2V0X2V4dHJhY3Rpb25fcGF0aCBvciB0aGUgUFlUSE9OX0VHR19DQUNIRSBlbnZpcm9ubWVudCB2YXJpYWJsZSkuKAsAAABS1QAAAFL4AAAAUjQAAAB0BwAAAGVudmlyb250BAAAAHN0YXR0BwAAAHN0X21vZGV0BwAAAFNfSVdPVEh0BwAAAFNfSVdHUlBSPgAAAFI/AAAAdAsAAABVc2VyV2FybmluZygDAAAAUtYAAAB0BAAAAG1vZGV0AwAAAG1zZygAAAAAKAAAAABzRgAAAC91c3IvbGliL3B5dGhvbjIuNy9zaXRlLXBhY2thZ2VzL3BpcC9fdmVuZG9yL3BrZ19yZXNvdXJjZXMvX19pbml0X18ucHlSdQEAAP0EAABzDgAAAAAKJgQEARIBGgEDBAcBYwMAAAAEAAAAAwAAAENAAABzQAAAAHQAAGoBAGQBAGsCAHI8AHQAAGoCAHwBAIMBAGoDAGQCAEJkAwBAfQMAdAAAagQAfAEAfAMAgwIAAW4AAGQEAFMoBQAAAHM0AgAAUGVyZm9ybSBhbnkgcGxhdGZvcm0tc3BlY2lmaWMgcG9zdHByb2Nlc3Npbmcgb2YgYHRlbXBuYW1lYAoKICAgICAgICBUaGlzIGlzIHdoZXJlIE1hYyBoZWFkZXIgcmV3cml0ZXMgc2hvdWxkIGJlIGRvbmU7IG90aGVyIHBsYXRmb3JtcyBkb24ndAogICAgICAgIGhhdmUgYW55dGhpbmcgc3BlY2lhbCB0aGV5IHNob3VsZCBkby4KCiAgICAgICAgUmVzb3VyY2UgcHJvdmlkZXJzIHNob3VsZCBjYWxsIHRoaXMgbWV0aG9kIE9OTFkgYWZ0ZXIgc3VjY2Vzc2Z1bGx5CiAgICAgICAgZXh0cmFjdGluZyBhIGNvbXByZXNzZWQgcmVzb3VyY2UuICBUaGV5IG11c3QgTk9UIGNhbGwgaXQgb24gcmVzb3VyY2VzCiAgICAgICAgdGhhdCBhcmUgYWxyZWFkeSBpbiB0aGUgZmlsZXN5c3RlbS4KCiAgICAgICAgYHRlbXBuYW1lYCBpcyB0aGUgY3VycmVudCAodGVtcG9yYXJ5KSBuYW1lIG9mIHRoZSBmaWxlLCBhbmQgYGZpbGVuYW1lYAogICAgICAgIGlzIHRoZSBuYW1lIGl0IHdpbGwgYmUgcmVuYW1lZCB0byBieSB0aGUgY2FsbGVyIGFmdGVyIHRoaXMgcm91dGluZQogICAgICAgIHJldHVybnMuCiAgICAgICAgdAUAAABwb3NpeGltAQAAaf8PAABOKAUAAABS1QAAAFL4AAAAUn4BAABSfwEAAHQFAAAAY2htb2QoBAAAAFIWAAAAdAgAAAB0ZW1wbmFtZXQIAAAAZmlsZW5hbWVSgwEAACgAAAAAKAAAAABzRgAAAC91c3IvbGliL3B5dGhvbjIuNy9zaXRlLXBhY2thZ2VzL3BpcC9fdmVuZG9yL3BrZ19yZXNvdXJjZXMvX19pbml0X18ucHl0CwAAAHBvc3Rwcm9jZXNzFQUAAHMGAAAAAA8PAhoBYwIAAAACAAAAAgAAAENAAABzJQAAAHwAAGoAAHIYAHQBAGQBAIMBAIIBAG4AAHwBAHwAAF8CAGQCAFMoAwAAAHPSAwAAU2V0IHRoZSBiYXNlIHBhdGggd2hlcmUgcmVzb3VyY2VzIHdpbGwgYmUgZXh0cmFjdGVkIHRvLCBpZiBuZWVkZWQuCgogICAgICAgIElmIHlvdSBkbyBub3QgY2FsbCB0aGlzIHJvdXRpbmUgYmVmb3JlIGFueSBleHRyYWN0aW9ucyB0YWtlIHBsYWNlLCB0aGUKICAgICAgICBwYXRoIGRlZmF1bHRzIHRvIHRoZSByZXR1cm4gdmFsdWUgb2YgYGBnZXRfZGVmYXVsdF9jYWNoZSgpYGAuICAoV2hpY2gKICAgICAgICBpcyBiYXNlZCBvbiB0aGUgYGBQWVRIT05fRUdHX0NBQ0hFYGAgZW52aXJvbm1lbnQgdmFyaWFibGUsIHdpdGggdmFyaW91cwogICAgICAgIHBsYXRmb3JtLXNwZWNpZmljIGZhbGxiYWNrcy4gIFNlZSB0aGF0IHJvdXRpbmUncyBkb2N1bWVudGF0aW9uIGZvciBtb3JlCiAgICAgICAgZGV0YWlscy4pCgogICAgICAgIFJlc291cmNlcyBhcmUgZXh0cmFjdGVkIHRvIHN1YmRpcmVjdG9yaWVzIG9mIHRoaXMgcGF0aCBiYXNlZCB1cG9uCiAgICAgICAgaW5mb3JtYXRpb24gZ2l2ZW4gYnkgdGhlIGBgSVJlc291cmNlUHJvdmlkZXJgYC4gIFlvdSBtYXkgc2V0IHRoaXMgdG8gYQogICAgICAgIHRlbXBvcmFyeSBkaXJlY3RvcnksIGJ1dCB0aGVuIHlvdSBtdXN0IGNhbGwgYGBjbGVhbnVwX3Jlc291cmNlcygpYGAgdG8KICAgICAgICBkZWxldGUgdGhlIGV4dHJhY3RlZCBmaWxlcyB3aGVuIGRvbmUuICBUaGVyZSBpcyBubyBndWFyYW50ZWUgdGhhdAogICAgICAgIGBgY2xlYW51cF9yZXNvdXJjZXMoKWBgIHdpbGwgYmUgYWJsZSB0byByZW1vdmUgYWxsIGV4dHJhY3RlZCBmaWxlcy4KCiAgICAgICAgKE5vdGU6IHlvdSBtYXkgbm90IGNoYW5nZSB0aGUgZXh0cmFjdGlvbiBwYXRoIGZvciBhIGdpdmVuIHJlc291cmNlCiAgICAgICAgbWFuYWdlciBvbmNlIHJlc291cmNlcyBoYXZlIGJlZW4gZXh0cmFjdGVkLCB1bmxlc3MgeW91IGZpcnN0IGNhbGwKICAgICAgICBgYGNsZWFudXBfcmVzb3VyY2VzKClgYC4pCiAgICAgICAgczUAAABDYW4ndCBjaGFuZ2UgZXh0cmFjdGlvbiBwYXRoLCBmaWxlcyBhbHJlYWR5IGV4dHJhY3RlZE4oAwAAAFJnAQAAUm4AAABSagEAACgCAAAAUhYAAABS1gAAACgAAAAAKAAAAABzRgAAAC91c3IvbGliL3B5dGhvbjIuNy9zaXRlLXBhY2thZ2VzL3BpcC9fdmVuZG9yL3BrZ19yZXNvdXJjZXMvX19pbml0X18ucHlShAAAACkFAABzCAAAAAATCQEDAQwDYwIAAAACAAAAAQAAAENAAABzBAAAAGQBAFMoAgAAAHNCAgAACiAgICAgICAgRGVsZXRlIGFsbCBleHRyYWN0ZWQgcmVzb3VyY2UgZmlsZXMgYW5kIGRpcmVjdG9yaWVzLCByZXR1cm5pbmcgYSBsaXN0CiAgICAgICAgb2YgdGhlIGZpbGUgYW5kIGRpcmVjdG9yeSBuYW1lcyB0aGF0IGNvdWxkIG5vdCBiZSBzdWNjZXNzZnVsbHkgcmVtb3ZlZC4KICAgICAgICBUaGlzIGZ1bmN0aW9uIGRvZXMgbm90IGhhdmUgYW55IGNvbmN1cnJlbmN5IHByb3RlY3Rpb24sIHNvIGl0IHNob3VsZAogICAgICAgIGdlbmVyYWxseSBvbmx5IGJlIGNhbGxlZCB3aGVuIHRoZSBleHRyYWN0aW9uIHBhdGggaXMgYSB0ZW1wb3JhcnkKICAgICAgICBkaXJlY3RvcnkgZXhjbHVzaXZlIHRvIGEgc2luZ2xlIHByb2Nlc3MuICBUaGlzIG1ldGhvZCBpcyBub3QKICAgICAgICBhdXRvbWF0aWNhbGx5IGNhbGxlZDsgeW91IG11c3QgY2FsbCBpdCBleHBsaWNpdGx5IG9yIHJlZ2lzdGVyIGl0IGFzIGFuCiAgICAgICAgYGBhdGV4aXRgYCBmdW5jdGlvbiBpZiB5b3Ugd2lzaCB0byBlbnN1cmUgY2xlYW51cCBvZiBhIHRlbXBvcmFyeQogICAgICAgIGRpcmVjdG9yeSB1c2VkIGZvciBleHRyYWN0aW9ucy4KICAgICAgICBOKAAAAAAoAgAAAFIWAAAAdAUAAABmb3JjZSgAAAAAKAAAAABzRgAAAC91c3IvbGliL3B5dGhvbjIuNy9zaXRlLXBhY2thZ2VzL3BpcC9fdmVuZG9yL3BrZ19yZXNvdXJjZXMvX19pbml0X18ucHlShQAAAEMFAABSZAAAAE4oAAAAACgUAAAAUhAAAABSEQAAAFISAAAAUmEAAABSagEAAFIOAQAAUn4AAABSfwAA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bGliL3B5dGhvbjIuNy9zaXRlLXBhY2thZ2VzL3BpcC9fdmVuZG9yL3BrZ19yZXNvdXJjZXMvX19pbml0X18ucHlSCAIAAEwHAABzCgAAAAACDwEMAQYBEgFjAgAAAAIAAAADAAAAQ0AAAHMTAAAAdAAAfAAAagEAfAEAgwEAgwEAUygBAAAATigCAAAAUpcAAABS/QAAACgCAAAAUhYAAABS+AAAACgAAAAAKAAAAABzRgAAAC91c3IvbGliL3B5dGhvbjIuNy9zaXRlLXBhY2thZ2VzL3BpcC9fdmVuZG9yL3BrZ19yZXNvdXJjZXMvX19pbml0X18ucHlS/gAAAFQHAABzAgAAAAABKAgAAABSEAAAAFIRAAAAUhIAAABSDgEAAFL8AAAAUv0AAABSCAIAAFL+AAAAKAAAAAAoAAAAACgAAAAAc0YAAAAvdXNyL2xpYi9weXRob24yLjcvc2l0ZS1wYWNrYWdlcy9waXAvX3ZlbmRvci9wa2dfcmVzb3VyY2VzL19faW5pdF9fLnB5UqYAAAAxBwAAcwwAAAAGCgYCCQMJAwkJCQhjAAAAAAAAAAABAAAAQkAAAHMXAAAAZQAAWgEAZAAAWgIAZAEAhAAAWgMAUlMoAgAAAHNzAgAATWV0YWRhdGEgcHJvdmlkZXIgZm9yIGVnZyBkaXJlY3RvcmllcwoKICAgIFVzYWdlOjoKCiAgICAgICAgIyBEZXZlbG9wbWVudCBlZ2dzOgoKICAgICAgICBlZ2dfaW5mbyA9ICIvcGF0aC90by9QYWNrYWdlTmFtZS5lZ2ctaW5mbyIKICAgICAgICBiYXNlX2RpciA9IG9zLnBhdGguZGlybmFtZShlZ2dfaW5mbykKICAgICAgICBtZXRhZGF0YSA9IFBhdGhNZXRhZGF0YShiYXNlX2RpciwgZWdnX2luZm8pCiAgICAgICAgZGlzdF9uYW1lID0gb3MucGF0aC5zcGxpdGV4dChvcy5wYXRoLmJhc2VuYW1lKGVnZ19pbmZvKSlbMF0KICAgICAgICBkaXN0ID0gRGlzdHJpYnV0aW9uKGJhc2VkaXIsIHByb2plY3RfbmFtZT1kaXN0X25hbWUsIG1ldGFkYXRhPW1ldGFkYXRhKQoKICAgICAgICAjIFVucGFja2VkIGVnZyBkaXJlY3RvcmllczoKCiAgICAgICAgZWdnX3BhdGggPSAiL3BhdGgvdG8vUGFja2FnZU5hbWUtdmVyLXB5dmVyLWV0Yy5lZ2ciCiAgICAgICAgbWV0YWRhdGEgPSBQYXRoTWV0YWRhdGEoZWdnX3BhdGgsIG9zLnBhdGguam9pbihlZ2dfcGF0aCwnRUdHLUlORk8nKSkKICAgICAgICBkaXN0ID0gRGlzdHJpYnV0aW9uLmZyb21fZmlsZW5hbWUoZWdnX3BhdGgsIG1ldGFkYXRhPW1ldGFkYXRhKQogICAgYwMAAAADAAAAAgAAAENAAABzFgAAAHwBAHwAAF8AAHwCAHwAAF8BAGQAAFMoAQAAAE4oAgAAAFKaAQAAUqABAAAoAwAAAFIWAAAAUtYAAABSoAEAACgAAAAAKAAAAABzRgAAAC91c3IvbGliL3B5dGhvbjIuNy9zaXRlLXBhY2thZ2VzL3BpcC9fdmVuZG9yL3BrZ19yZXNvdXJjZXMvX19pbml0X18ucHlSDgEAAGwHAABzBAAAAAABCQEoBAAAAFIQAAAAUhEAAABSEgAAAFIOAQAAKAAAAAAoAAAAACgAAAAAc0YAAAAvdXNyL2xpYi9weXRob24yLjcvc2l0ZS1wYWNrYWdlcy9waXAvX3ZlbmRvci9wa2dfcmVzb3VyY2VzL19faW5pdF9fLnB5UqcAAABYBwAAcwQAAAAGEgYCYwAAAAAAAAAAAQAAAEJAAABzFwAAAGUAAFoBAGQAAFoCAGQBAIQAAFoDAFJTKAIAAABzIAAAAE1ldGFkYXRhIHByb3ZpZGVyIGZvciAuZWdnIGZpbGVzYwIAAAACAAAAAwAAAENAAABzYAAAAHwBAGoAAHQBAGoCABd8AABfAwB8AQB8AABfBAB8AQBqBQByRgB0AQBqBgBqBwB8AQBqAAB8AQBqBQCDAgB8AABfCABuDAB8AQBqAAB8AABfCAB8AABqCQCDAAABZAEAUygCAAAAcy0AAABDcmVhdGUgYSBtZXRhZGF0YSBwcm92aWRlciBmcm9tIGEgemlwaW1wb3J0ZXJOKAoAAABS2gEAAFLVAAAAUsQBAABS2wEAAFLRAAAAdAYAAABwcmVmaXhS1gAAAFJrAAAAUpoBAABStgEAACgCAAAAUhYAAAB0CAAAAGltcG9ydGVyKAAAAAAoAAAAAHNGAAAAL3Vzci9saWIvcHl0aG9uMi43L3NpdGUtcGFja2FnZXMvcGlwL192ZW5kb3IvcGtnX3Jlc291cmNlcy9fX2luaXRfXy5weVIOAQAAdAcAAHMMAAAAAAMTAQkBCQEhAgwBKAQAAABSEAAAAFIRAAAAUhIAAABSDgEAACgAAAAAKAAAAAAoAAAAAHNGAAAAL3Vzci9saWIvcHl0aG9uMi43L3NpdGUtcGFja2FnZXMvcGlwL192ZW5kb3IvcGtnX3Jlc291cmNlcy9fX2luaXRfXy5weVKoAAAAcQcAAHMEAAAABgEGAlJMAAAAdBUAAABfZGlzdHJpYnV0aW9uX2ZpbmRlcnNjAgAAAAIAAAADAAAAQ0AAAHMOAAAAfAEAdAAAfAAAPGQBAFMoAgAAAHN4AQAAUmVnaXN0ZXIgYGRpc3RyaWJ1dGlvbl9maW5kZXJgIHRvIGZpbmQgZGlzdHJpYnV0aW9ucyBpbiBzeXMucGF0aCBpdGVtcwoKICAgIGBpbXBvcnRlcl90eXBlYCBpcyB0aGUgdHlwZSBvciBjbGFzcyBvZiBhIFBFUCAzMDIgIkltcG9ydGVyIiAoc3lzLnBhdGggaXRlbQogICAgaGFuZGxlciksIGFuZCBgZGlzdHJpYnV0aW9uX2ZpbmRlcmAgaXMgYSBjYWxsYWJsZSB0aGF0LCBwYXNzZWQgYSBwYXRoCiAgICBpdGVtIGFuZCB0aGUgaW1wb3J0ZXIgaW5zdGFuY2UsIHlpZWxkcyBgYERpc3RyaWJ1dGlvbmBgIGluc3RhbmNlcyBmb3VuZCBvbgogICAgdGhhdCBwYXRoIGl0ZW0uICBTZWUgYGBwa2dfcmVzb3VyY2VzLmZpbmRfb25fcGF0aGBgIGZvciBhbiBleGFtcGxlLk4oAQAAAFINAgAAKAIAAAB0DQAAAGltcG9ydGVyX3R5cGV0EwAAAGRpc3RyaWJ1dGlvbl9maW5kZXIoAAAAACgAAAAAc0YAAAAvdXNyL2xpYi9weXRob24yLjcvc2l0ZS1wYWNrYWdlcy9waXAvX3ZlbmRvci9wa2dfcmVzb3VyY2VzL19faW5pdF9fLnB5Uq8AAACDBwAAcwIAAAAAB2MCAAAABAAAAAQAAABDQAAAcysAAAB0AAB8AACDAQB9AgB0AQB0AgB8AgCDAgB9AwB8AwB8AgB8AAB8AQCDAwBTKAEAAABzLgAAAFlpZWxkIGRpc3RyaWJ1dGlvbnMgYWNjZXNzaWJsZSB2aWEgYHBhdGhfaXRlbWAoAwAAAFIBAAAAUs4AAABSDQIAACgEAAAAdAkAAABwYXRoX2l0ZW10BAAAAG9ubHlSDAIAAHQGAAAAZmluZGVyKAAAAAAoAAAAAHNGAAAAL3Vzci9saWIvcHl0aG9uMi43L3NpdGUtcGFja2FnZXMvcGlwL192ZW5kb3IvcGtnX3Jlc291cmNlcy9fX2luaXRfXy5weVKDAAAAjQcAAHMGAAAAAAIMAQ8BYwMAAAAHAAAABAAAAGNAAABzvAAAAHwAAGoAAGoBAGQBAIMBAHIWAGQCAFN0AgB8AACDAQB9AwB8AwBqAwBkAwCDAQBySAB0BABqBQB8AQBkBAB8AwCDAQFWAW4AAHwCAHJSAGQCAFN4YwB8AwBqBgBkBQCDAQBEXVIAfQQAdAcAfAQAgwEAcmIAdAgAagkAagoAfAEAfAQAgwIAfQUAeCgAdAsAdAwAag0AfAUAgwEAfAUAgwIARF0LAH0GAHwGAFYBcaIAV3FiAHFiAFdkAgBTKAYAAABzQAAAAAogICAgRmluZCBlZ2dzIGluIHppcCBmaWxlczsgcG9zc2libHkgbXVsdGlwbGUgbmVzdGVkIGVnZ3MuCiAgICBzBAAAAC53aGxOcwgAAABQS0ctSU5GT1IJAgAAUrIBAAAoDgAAAFLaAQAAdAgAAABlbmRzd2l0aFKoAAAAUvwAAABSigAAAHQNAAAAZnJvbV9maWxlbmFtZVJ9AAAAUrcBAABS1QAAAFLWAAAAUmsAAAB0EAAAAGZpbmRfZWdnc19pbl96aXB0CQAAAHppcGltcG9ydHQLAAAAemlwaW1wb3J0ZXIoBwAAAFIMAgAAUhACAABSEQIAAFIJAgAAdAcAAABzdWJpdGVtdAcAAABzdWJwYXRoUrgAAAAoAAAAACgAAAAAc0YAAAAvdXNyL2xpYi9weXRob24yLjcvc2l0ZS1wYWNrYWdlcy9waXAvX3ZlbmRvci9wa2dfcmVzb3VyY2VzL19faW5pdF9fLnB5UhUCAACUBwAAcxgAAAAABBIDBAEMAQ8BFwEGAgQBFgEMARUBHwFjAwAAAAMAAAABAAAAQ0AAAHMEAAAAZAEAUygCAAAATigAAAAAKAAAAAAoAwAAAFIMAgAAUhACAABSEQIAACgAAAAAKAAAAABzRgAAAC91c3IvbGliL3B5dGhvbjIuNy9zaXRlLXBhY2thZ2VzL3BpcC9fdmVuZG9yL3BrZ19yZXNvdXJjZXMvX19pbml0X18ucHl0DAAAAGZpbmRfbm90aGluZ6wHAABzAgAAAAABYwEAAAACAAAABgAAAENAAABzHwAAAGQBAIQAAH0BAHQAAHwAAGQCAHwBAGQDAHQBAIMBAlMoBAAAAHNMAgAACiAgICBHaXZlbiBhIGxpc3Qgb2YgZmlsZW5hbWVzLCByZXR1cm4gdGhlbSBpbiBkZXNjZW5kaW5nIG9yZGVyCiAgICBieSB2ZXJzaW9uIG51bWJlci4KCiAgICA+Pj4gbmFtZXMgPSAnYmFyJywgJ2ZvbycsICdQeXRob24tMi43LjEwLmVnZycsICdQeXRob24tMi43LjIuZWdnJwogICAgPj4+IF9ieV92ZXJzaW9uX2Rlc2NlbmRpbmcobmFtZXMpCiAgICBbJ1B5dGhvbi0yLjcuMTAuZWdnJywgJ1B5dGhvbi0yLjcuMi5lZ2cnLCAnZm9vJywgJ2JhciddCiAgICA+Pj4gbmFtZXMgPSAnU2V0dXB0b29scy0xLjIuM2IxLmVnZycsICdTZXR1cHRvb2xzLTEuMi4zLmVnZycKICAgID4+PiBfYnlfdmVyc2lvbl9kZXNjZW5kaW5nKG5hbWVzKQogICAgWydTZXR1cHRvb2xzLTEuMi4zLmVnZycsICdTZXR1cHRvb2xzLTEuMi4zYjEuZWdnJ10KICAgID4+PiBuYW1lcyA9ICdTZXR1cHRvb2xzLTEuMi4zYjEuZWdnJywgJ1NldHVwdG9vbHMtMS4yLjMucG9zdDEuZWdnJwogICAgPj4+IF9ieV92ZXJzaW9uX2Rlc2NlbmRpbmcobmFtZXMpCiAgICBbJ1NldHVwdG9vbHMtMS4yLjMucG9zdDEuZWdnJywgJ1NldHVwdG9vbHMtMS4yLjNiMS5lZ2cnXQogICAgYwEAAAAEAAAABAAAAFNAAABzWQAAAHQAAGoBAGoCAHwAAIMBAFwCAH0AAH0BAHQDAGoEAHwAAGoFAGQBAIMBAHwBAGcBAIMCAH0CAGcAAHwCAERdGAB9AwB0BgBqBwBqCAB8AwCDAQBeAgBxPQBTKAIAAABzNgAAAAogICAg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YW5kbGVyYCB0byBkZWNsYXJlIG5hbWVzcGFjZSBwYWNrYWdlcwoKICAgIGBpbXBvcnRlcl90eXBlYCBpcyB0aGUgdHlwZSBvciBjbGFzcyBvZiBhIFBFUCAzMDIgIkltcG9ydGVyIiAoc3lzLnBhdGggaXRlbQogICAgaGFuZGxlciksIGFuZCBgbmFtZXNwYWNlX2hhbmRsZXJgIGlzIGEgY2FsbGFibGUgbGlrZSB0aGlzOjoKCiAgICAgICAgZGVmIG5hbWVzcGFjZV9oYW5kbGVyKGltcG9ydGVyLCBwYXRoX2VudHJ5LCBtb2R1bGVOYW1lLCBtb2R1bGUpOgogICAgICAgICAgICAjIHJldHVybiBhIHBhdGhfZW50cnkgdG8gdXNlIGZvciBjaGlsZCBwYWNrYWdlcwoKICAgIE5hbWVzcGFjZSBoYW5kbGVycyBhcmUgb25seSBjYWxsZWQgaWYgdGhlIGltcG9ydGVyIG9iamVjdCBoYXMgYWxyZWFkeQogICAgYWdyZWVkIHRoYXQgaXQgY2FuIGhhbmRsZSB0aGUgcmVsZXZhbnQgcGF0aCBpdGVtLCBhbmQgdGhleSBzaG91bGQgb25seQogICAgcmV0dXJuIGEgc3VicGF0aCBpZiB0aGUgbW9kdWxlIF9fcGF0aF9fIGRvZXMgbm90IGFscmVhZHkgY29udGFpbiBhbgogICAgZXF1aXZhbGVudCBzdWJwYXRoLiAgRm9yIGFuIGV4YW1wbGUgbmFtZXNwYWNlIGhhbmRsZXIsIHNlZQogICAgYGBwa2dfcmVzb3VyY2VzLmZpbGVfbnNfaGFuZGxlcmBgLgogICAgTigBAAAAUjECAAAoAgAAAFIOAgAAdBEAAABuYW1lc3BhY2VfaGFuZGxlcigAAAAAKAAAAABzRgAAAC91c3IvbGliL3B5dGhvbjIuNy9zaXRlLXBhY2thZ2VzL3BpcC9fdmVuZG9yL3BrZ19yZXNvdXJjZXMvX19pbml0X18ucHlSsAAAAAQIAABzAgAAAAAPYwIAAAAIAAAABQAAAENAAABzFAEAAHQAAHwBAIMBAH0CAHwCAGQDAGsIAHIcAGQDAFN8AgBqAgB8AACDAQB9AwB8AwBkAwBrCAByOwBkAwBTdAMAagQAagUAfAAAgwEAfQQAfAQAZAMAawgAcokA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
Base64 mode: content will be decoded on save.
Save
Close
Exit & Reset
Directory Contents
Dirs: 0 × Files: 3
Delete Selected
Select All
Select None
Sort:
Name
Size
Modified
Enable drag-to-move
Name
Size
Perms
Modified
Actions
__init__.py
100.81 KB
lrw-r--r--
2022-04-21 18:08:21
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
__init__.pyc
115.91 KB
lrw-r--r--
2022-04-21 18:08:34
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
__init__.pyo
115.91 KB
lrw-r--r--
2022-04-21 18:08:34
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).