Mw0NCgdae2N/DAAA4wAAAAAAAAAAAAAAAAQAAABAAAAAc1IAAABkAGQBbABaAGQAZAJsAW0CWgIBAGQAZAFsA1oDZABkA2wEbQVaBQEAZQNqBmoHWghHAGQEZAWEAGQFgwJaCUcAZAZkB4QAZAdlCYMDWgpkAVMAKQjpAAAAAE4pAdoDbG9nKQHaA21hcGMAAAAAAAAAAAAAAAAJAAAAQAAAAHNUAAAAZQBaAWQAWgJkAVoDZAJkA4QAWgRkBGQFhABaBWQGZAeEAFoGZBtaB2QcWghkEmQThABaCWQUZBWEAFoKZBZkF4QAWgtlDGQYZBmEAIMBWg1kGlMAKR3aCUluc3RhbGxlcnoKLW5zcGtnLnB0aGMBAAAAAAAAAAYAAAAJAAAAQwAAAHOIAAAAfABqAIMAfQF8AXMQZABTAHQBagJqA3wAagSDAIMBXAJ9An0DfAJ8AGoFNwB9AnwAagZqB3wCgwEBAHQIaglkAXwCgwIBAHQKfABqC3wBgwJ9BHwAagxyZHQNfASDAQEAZABTAHQOfAJkAoMCjxB9BXwFag98BIMBAQBXAGQAUQBSAFgAZABTACkDTnoNSW5zdGFsbGluZyAlc9oCd3QpENoUX2dldF9hbGxfbnNfcGFja2FnZXPaAm9z2gRwYXRo2ghzcGxpdGV4dNoLX2dldF90YXJnZXTaCW5zcGtnX2V4dNoHb3V0cHV0c9oGYXBwZW5kcgIAAADaBGluZm9yAwAAANoPX2dlbl9uc3BrZ19saW5l2gdkcnlfcnVu2gRsaXN02gRvcGVu2gp3cml0ZWxpbmVzKQbaBHNlbGbaA25zcNoIZmlsZW5hbWXaA2V4dNoFbGluZXPaAWapAHIaAAAA+jsvdG1wL3BpcC1idWlsZC16aG8xODI4bC9zZXR1cHRvb2xzL3NldHVwdG9vbHMvbmFtZXNwYWNlcy5wedoSaW5zdGFsbF9uYW1lc3BhY2VzDwAAAHMaAAAAAAEIAQQBBAEUAQoBDAEMAQwCBgIIAQQCDAF6HEluc3RhbGxlci5pbnN0YWxsX25hbWVzcGFjZXNjAQAAAAAAAAADAAAAAwAAAEMAAABzSAAAAHQAagFqAnwAagODAIMBXAJ9AX0CfAF8AGoENwB9AXQAagFqBXwBgwFzLmQAUwB0BmoHZAF8AYMCAQB0AGoIfAGDAQEAZABTACkCTnoLUmVtb3ZpbmcgJXMpCXIHAAAAcggAAAByCQAAAHIKAAAAcgsAAADaBmV4aXN0c3ICAAAAcg4AAADaBnJlbW92ZSkDchQAAAByFgAAAHIXAAAAchoAAAByGgAAAHIbAAAA2hR1bmluc3RhbGxfbmFtZXNwYWNlcyEAAABzDAAAAAABFAEKAQwBBAEMAXoeSW5zdGFsbGVyLnVuaW5zdGFsbF9uYW1lc3BhY2VzYwEAAAAAAAAAAQAAAAEAAABDAAAAcwYAAAB8AGoAUwApAU4pAdoGdGFyZ2V0KQFyFAAAAHIaAAAAchoAAAByGwAAAHIKAAAAKQAAAHMCAAAAAAF6FUluc3RhbGxlci5fZ2V0X3RhcmdldPoVaW1wb3J0IHN5cywgdHlwZXMsIG9z+iNoYXNfbWZzID0gc3lzLnZlcnNpb25faW5mbyA+ICgzLCA1KfokcCA9IG9zLnBhdGguam9pbiglKHJvb3QpcywgKiUocHRoKXIp+jRpbXBvcnRsaWIgPSBoYXNfbWZzIGFuZCBfX2ltcG9ydF9fKCdpbXBvcnRsaWIudXRpbCcp+i1oYXNfbWZzIGFuZCBfX2ltcG9ydF9fKCdpbXBvcnRsaWIubWFjaGluZXJ5Jyn6mW0gPSBoYXNfbWZzIGFuZCBzeXMubW9kdWxlcy5zZXRkZWZhdWx0KCUocGtnKXIsIGltcG9ydGxpYi51dGlsLm1vZHVsZV9mcm9tX3NwZWMoaW1wb3J0bGliLm1hY2hpbmVyeS5QYXRoRmluZGVyLmZpbmRfc3BlYyglKHBrZylyLCBbb3MucGF0aC5kaXJuYW1lKHApXSkpKfpDbSA9IG0gb3Igc3lzLm1vZHVsZXMuc2V0ZGVmYXVsdCglKHBrZylyLCB0eXBlcy5Nb2R1bGVUeXBlKCUocGtnKXIpKfo3bXAgPSAobSBvciBbXSkgYW5kIG0uX19kaWN0X18uc2V0ZGVmYXVsdCgnX19wYXRoX18nLFtdKfoeKHAgbm90IGluIG1wKSBhbmQgbXAuYXBwZW5kKHAp+jRtIGFuZCBzZXRhdHRyKHN5cy5tb2R1bGVzWyUocGFyZW50KXJdLCAlKGNoaWxkKXIsIG0pYwEAAAAAAAAAAQAAAAEAAABDAAAAcwQAAABkAVMAKQJOeiRzeXMuX2dldGZyYW1lKDEp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