3hIElQEAAADRAAAAMAAAALgGAAAZAQAAQA0AAAEAAACkEQAAAQAAAKwRAACwEQAAAAAAANwRAAAoAAAA3REAABEAAAAGEgAACwAAABgSAAAaAAAAJBIAACUAAAA/EgAAKgAAAGUSAAAYAAAAkBIAACUAAACpEgAAJAAAAM8SAAAeAAAA9BIAADMAAAATEwAAGgAAAEcTAAAWAAAAYhMAACgAAAB5EwAAFgAAAKITAAA4AAAAuRMAAB4AAADyEwAAKwAAABEUAAAtAAAAPRQAABIAAABrFAAAGQAAAH4UAAAaAAAAmBQAAC0AAACzFAAAHgAAAOEUAAAhAAAAABUAABwAAAAiFQAAHgAAAD8VAAAmAAAAXhUAACQAAACFFQAALQAAAKoVAAAjAAAA2BUAACAAAAD8FQAAXQAAAB0WAAALAAAAexYAAAwAAACHFgAAEwAAAJQWAAAbAAAAqBYAAEQAAADEFgAAKQAAAAkXAAAtAAAAMxcAADcAAABhFwAAGgAAAJkXAAA2AAAAtBcAADMAAADrFwAAJgAAAB8YAACGAAAARhgAAKMAAADNGAAAdAAAAHEZAACbAAAA5hkAAJUAAACCGgAArgAAABgbAAAtAAAAxxsAAEAAAAD1GwAADwAAADYcAAAtAAAARhwAADgAAAB0HAAAswAAAK0cAAA/AAAAYR0AABgAAAChHQAAJQAAALodAAAgAAAA4B0AACkAAAABHgAAEgAAACseAAAMAAAAPh4AAA0AAABLHgAALQAAAFkeAAAhAAAAhx4AACkAAACpHgAAFwAAANMeAAAbAAAA6x4AACYAAAAHHwAAHAAAAC4fAAA0AAAASx8AABoAAACAHwAALAAAAJsfAAAZAAAAyB8AACYAAADiHwAAPAAAAAkgAAA9AAAARiAAAB0AAACEIAAALAAAAKIgAAAgAAAAzyAAABEAAADwIAAAMgAAAAIhAAAlAAAANSEAAD0AAABbIQAAHQAAAJkhAAAJAAAAtyEAADMAAADBIQAAHAAAAPUhAAAVAAAAEiIAABoAAAAoIgAALAAAAEMiAABDAAAAcCIAACAAAAC0IgAAOwAAANUiAAAXAAAAESMAABQAAAApIwAAEAAAAD4jAAA9AAAATyMAADsAAACNIwAALwAAAMkjAAA8AAAA+SMAADsAAAA2JAAAFwAAAHIkAAAtAAAAiiQAAC0AAAC4JAAANAAAAOYkAAAVAAAAGyUAABIAAAAxJQAAHwAAAEQlAAAkAAAAZCUAAB0AAACJJQAAFQAAAKclAAARAAAAvSUAACwAAADPJQAAGgAAAPwlAAAcAAAAFyYAABcAAAA0JgAADwAAAEwmAAAaAAAAXCYAACEAAAB3JgAAGwAAAJkmAAApAAAAtSYAACQAAADfJgAAIgAAAAQnAAAhAAAAJycAAB4AAABJJwAAFQAAAGgnAAAjAAAAficAACQAAACiJwAAEwAAAMcnAAAYAAAA2ycAABYAAAD0JwAAGAAAAAsoAAAdAAAAJCgAAB4AAABCKAAACwAAAGEoAAAdAAAAbSgAACMAAACLKAAAIQAAAK8oAAAYAAAA0SgAABYAAADqKAAAEQAAAAEpAAAeAAAAEykAABAAAAAyKQAAIQAAAEMpAAAcAAAAZSkAAC8AAACCKQAAHwAAALIpAAAlAAAA0ikAABoAAAD4KQAAFgAAABMqAAAqAAAAKioAABQAAABVKgAAWgAAAGoqAABGAAAAxSoAACMAAAAMKwAAJAAAADArAAAlAAAAVSsAABkAAAB7KwAACgAAAJUrAAArAAAAoCsAABkAAADMKwAAJwAAAOYrAAAiAAAADiwAACIAAAAxLAAAKQAAAFQsAAAUAAAAfiwAACgAAACTLAAAJgAAALwsAAArAAAA4ywAAC8AAAAPLQAAGgAAAD8tAAA4AAAAWi0AADEAAACTLQAALwAAAMUtAAAWAAAA9S0AAC0AAAAMLgAAKAAAADouAAApAAAAYy4AACoAAACNLgAAPQAAALguAAA1AAAA9i4AAB0AAAAsLwAAPwAAAEovAAARAAAAii8AABEAAACcLwAAFAAAAK4vAAAuAAAAwy8AACIAAADyLwAAHAAAABUwAAA8AAAAMjAAAB4AAABvMAAAFgAAAI4wAAAQAAAApTAAACAAAAC2MAAAEAAAANcwAAAiAAAA6DAAABkAAAALMQAAJQAAACUxAAAcAAAASzEAACgAAABoMQAALwAAAJExAAAjAAAAwTEAADgAAADlMQAALAAAAB4yAAApAAAASzIAADwBAAB1MgAALAAAALIzAAARAAAA3zMAAA8AAADxMwAAHgAAAAE0AAAtAAAAIDQAAC4AAABONAAAHAAAAH00AAApAAAAmjQAACgAAADENAAAIgAAAO00AAA3AAAAEDUAAB4AAABINQAAGgAAAGc1AAAsAAAAgjUAABoAAACvNQAAPAAAAMo1AAAiAAAABzYAADMAAAAqNgAANQAAAF42AAAWAAAAlDYAAB0AAACrNgAAHgAAAMk2AAAxAAAA6DYAACIAAAAaNwAAJQAAAD03AAAgAAAAYzcAACIAAACENwAAKgAAAKc3AAAoAAAA0jcAADEAAAD7NwAAJwAAAC04AAAkAAAAVTgAAGEAAAB6OAAADwAAANw4AAAQAAAA7DgAABcAAAD9OAAAIwAAABU5AABEAAAAOTkAACkAAAB+OQAALQAAAKg5AAA3AAAA1jkAABoAAAAOOgAANgAAACk6AAAzAAAAYDoAACYAAACUOgAAhgAAALs6AACnAAAAQjsAAHQAAADqOwAAnwAAAF88AACZAAAA/zwAALIAAACZPQAAMQAAAEw+AABAAAAAfj4AAA8AAAC/PgAALQAAAM8+AAA4AAAA/T4AALMAAAA2PwAAPwAAAOo/AAAYAAAAKkAAACUAAABDQAAAJAAAAGlAAAApAAAAjkAAABYAAAC4QAAADAAAAM9AAAANAAAA3EAAAC0AAADqQAAAIQAAABhBAAApAAAAOkEAABcAAABkQQAAGwAAAHxBAAAmAAAAmEEAABwAAAC/QQAANAAAANxBAAAaAAAAEUIAACwAAAAsQgAAGQAAAFlCAAAmAAAAc0IAADwAAACaQgAAPQAAANdCAAAdAAAAFUMAACwAAAAzQwAAIAAAAGBDAAARAAAAgUMAADIAAACTQwAAJQAAAMZDAAA9AAAA7EMAAB0AAAAqRAAACQAAAEhEAAA7AAAAUkQAABwAAACORAAAFQAAAKtEAAAaAAAAwUQAADQAAADcRAAASwAAABFFAAAkAAAAXUUAADsAAACCRQAAFwAAAL5FAAAUAAAA1kUAABAAAADrRQAAPQAAAPxFAAA7AAAAOkYAAC8AAAB2RgAAPAAAAKZGAAA7AAAA40YAABcAAAAfRwAALQAAADdHAAA1AAAAZUcAADgAAACbRwAAGQAAANRHAAAWAAAA7kcAACMAAAAFSAAAKAAAAClIAAAdAAAAUkgAABUAAABwSAAAEQAAAIZIAAAsAAAAmEgAAB4AAADFSAAAHAAAAORIAAAXAAAAAUkAAA8AAAAZSQAAHgAAAClJAAAhAAAASEkAAB8AAABqSQAALQAAAIpJAAAoAAAAuEkAACYAAADhSQAAIQAAAAhKAAAeAAAAKkoAABUAAABJSgAAIwAAAF9KAAAkAAAAg0oAABMAAACoSgAAGAAAALxKAAAWAAAA1UoAABgAAADsSgAAHQAAAAVLAAAiAAAAI0sAAAsAAABGSwAAHQAAAFJLAAAnAAAAcEsAACEAAACYSwAAGAAAALpLAAAWAAAA00sAABEAAADqSwAAHgAAAPxLAAAQAAAAG0wAACEAAAAsTAAAHAAAAE5MAAAvAAAAa0wAAB8AAACbTAAAJQAAALtMAAAaAAAA4UwAABYAAAD8TAAAKgAAABNNAAAUAAAAPk0AAGIAAABTTQAARgAAALZNAAAjAAAA/U0AACQAAAAhTgAAJQAAAEZOAAAZAAAAbE4AAAoAAACGTgAAKwAAAJFOAAAZAAAAvU4AACcAAADXTgAAJgAAAP9OAAAiAAAAJk8AACkAAABJTwAAFAAAAHNPAAAoAAAAiE8AACYAAACxTwAAKwAAANhPAAAvAAAABFAAABoAAAA0UAAAOAAAAE9QAAAxAAAAiFAAAC8AAAC6UAAAGgAAAOpQAAAtAAAABVEAACgAAAAzUQAAKQAAAFxRAAAqAAAAhlEAAD0AAACxUQAANQAAAO9RAAAhAAAAJVIAAD8AAABHUgAAEQAAAIdSAAARAAAAmVIAABQAAACrUgAAMgAAAMBSAAAiAAAA81IAABwAAAAWUwAAPAAAADNTAAAeAAAAcFMAABYAAACPUwAAEAAAAKZTAAAgAAAAt1MAABQAAADYUwAAIgAAAO1TAAAZAAAAEFQAACkAAAAqVAAAIAAAAFRUAAAsAAAAdVQAAC8AAACiVAAAIwAAANJUAAA8AAAA9lQAACwAAAAzVQAAKQAAAGBVAAABAAAAkgAAAIYAAADNAAAAuwAAALMAAAAAAAAAHQAAAFwAAABVAAAAcwAAAAAAAAAUAAAAOwAAAK4AAADJAAAAaAAAAJ8AAAAkAAAAxgAAAFoAAABrAAAAAAAAAAgAAABjAAAAXwAAAJ4AAADIAAAAEAAAAMEAAAAhAAAAAAAAAKMAAAAjAAAAqAAAAAAAAAAAAAAAvgAAAAAAAAB7AAAAHAAAAHAAAAAFAAAAAAAAAM4AAAAAAAAAAAAAALwAAABxAAAAQAAAAD0AAAA0AAAAxAAAAJ0AAACmAAAAAAAAAAAAAAB4AAAAAAAAAAAAAAC1AAAAoQAAAGcAAACbAAAATwAAAGEAAAAAAAAAAAAAALAAAADHAAAAzwAAACkAAABvAAAAAwAAAAAAAACTAAAAAAAAAKIAAAAZAAAAmgAAAAAAAABXAAAAEwAAAAAAAACBAAAASQAAAGYAAADKAAAAhQAAAAAAAABTAAAAAAAAABoAAACKAAAApAAAAAAAAAAAAAAAJwAAAJgAAABHAAAALQAAABUAAAAAAAAAfAAAADgAAAC3AAAAFwAAAFkAAAAWAAAAQgAAALIAAAB3AAAAgAAAAAAAAABMAAAAjAAAALQAAAAAAAAAegAAAAAAAAA1AAAAAAAAAAAAAABSAAAAPAAAAAAAAAAAAAAAqwAAAAAAAABiAAAArAAAAC4AAAAAAAAAbAAAAAAAAAA5AAAAuQAAAFgAAACIAAAAxQAAABsAAAAAAAAAfQAAAAAAAAAAAAAApwAAAJEAAACgAAAAYAAAAEYAAABIAAAAWwAAAFQAAACUAAAAMgAAAAQAAAAPAAAAggAAAAAAAAAgAAAAAAAAAAoAAADDAAAAcgAAAAAAAABWAAAAbgAAAAAAAAB2AAAAPwAAADcAAADMAAAAOgAAAHUAAACNAAAAQwAAAAAAAAAAAAAAAAAAAAAAAAB/AAAAGAAAAJAAAACOAAAAsQAAAAAAAAALAAAAnAAAADEAAABFAAAAwgAAAAAAAABLAAAAqgAAAFEAAAAwAAAAAAAAAGUAAAAAAAAAEQAAAAAAAAAJAAAAuAAAAAAAAAAAAAAAKwAAAAAAAAAeAAAAIgAAAJcAAAAAAAAAlQAAAL0AAAClAAAAAAAAAI8AAAC6AAAAJQAAAK0AAACJAAAAAAAAAKkAAADAAAAAPgAAADYAAADQAAAAlgAAAGQAAAASAAAAAAAAAAcAAAAAAAAAhAAAANEAAAC/AAAAQQAAACYAAABKAAAAAAAAAC8AAABQAAAAMwAAAF4AAAAAAAAAAAAAACwAAAC2AAAAhwAAAA4AAABNAAAADQAAAAAAAADLAAAAAAAAACoAAAAoAAAAeQAAAAYAAABpAAAAAAAAAIMAAAAMAAAAAAAAAIsAAACvAAAAAAAAAHQAAAAAAAAATgAAAH4AAAAAAAAAAAAAAGoAAABtAAAARAAAAF0AAACZAAAAAAAAAAAAAAACAAAAHwAAAAcAAACKVQAAtBEAAMgRAACRVQAACwAAAAAAAAA8AAAA/////9hVAAALAAAAAAAAADwAAAD/////ACBwcm9iYWJseSBiZWNhdXNlIG9mIHNldHRpbmcgJ3NlID0gVFJVRScAJXMkJXMoKSBub3QgZm91bmQAJyVzJyBhYnNlbnQAJyVzJyBtdXN0IGJlIG9mIGxlbmd0aCBvbmUAJy4nIGluIGZvcm11bGEgYW5kIG5vICdkYXRhJyBhcmd1bWVudAAnY2VudHJhbCcgaXMgTkEsIGJ1dCBtdXN0IGJlIFRSVUUgb3IgRkFMU0UAJ2NvbnRyb2wnIG11c3QgYmUgYSBsaXN0ACdkJyBtdXN0IGJlIGEgbm9uZW1wdHkgbnVtZXJpYyB2ZWN0b3IAJ2RhdGEnIGFyZ3VtZW50IGlzIG9mIHRoZSB3cm9uZyB0eXBlACdkZWx0YScgbXVzdCBiZSBmaW5pdGUgYW5kID4gMAAnZGlyJyBpcyBub3QgYSBudW1lcmljIHZlY3RvciBvZiB0aGUgY29ycmVjdCBsZW5ndGgAJ2YnIG11c3QgYmUgZmluaXRlIGFuZCA+IDAAJ2ZuJyBpcyBub3QgYSBmdW5jdGlvbgAnZ2V0RWxlbWVudCcgYXBwbGllcyBvbmx5IHRvIG5hbWVkIGxpc3RzACdncicgaXMgbm90IGEgZnVuY3Rpb24AJ2dyYWRpZW50JyBtdXN0IGJlIGEgbnVtZXJpYyBtYXRyaXggb2YgZGltZW5zaW9uICglZCwlZCkAJ2l0ZXInIG11c3QgYmUgZmluaXRlIGFuZCA+PSAwACdsb3dlcicgYW5kICd1cHBlcicgbXVzdCBiZSBudW1lcmljIHZlY3RvcnMAJ2xvd2VyYicgYW5kICd1cHBlcmInIG11c3QgYmUgbnVtZXJpYyB2ZWN0b3JzACdtJyBtdXN0IGJlIGEgbGlzdAAnbWF4aXQnIGlzIG5vdCBhbiBpbnRlZ2VyACdtYXhpdGVyJyBtdXN0IGJlIHBvc2l0aXZlACduJyBtdXN0IGhhdmUgdHlwZW9mKC4pICJpbnRlZ2VyIiBvciAiZG91YmxlIgAnbmRlcHMnIGlzIG9mIHRoZSB3cm9uZyBsZW5ndGgAJ3BhcnNjYWxlJyBpcyBvZiB0aGUgd3JvbmcgbGVuZ3RoACdyaG8nIG11c3QgYmUgYW4gZW52aXJvbm1lbnQAJ3Jobycgc2hvdWxkIGJlIGFuIGVudmlyb25tZW50ACdzY2FsJyBtYXRyaXggaXMgbm90IHBvc2l0aXZlLWRlZmluaXRlACdzY2FsJyBtdXN0IGJlIGEgc3F1YXJlLCByZWFsIG1hdHJpeAAnc3BlY2lhbHMnIG11c3QgYmUgTlVMTCBvciBhIGNoYXJhY3RlciB2ZWN0b3IAJ3RoZXRhJyBzaG91bGQgYmUgb2YgdHlwZSBjaGFyYWN0ZXIAJ3RtYXgnIGlzIG5vdCBhIHBvc2l0aXZlIGludGVnZXIAJ3Zhcmxpc3QnIGhhcyBjaGFuZ2VkIChmcm9tIG52YXI9JWQpIHRvIG5ldyAlZCBhZnRlciBFbmNvZGVWYXJzKCkgLS0gc2hvdWxkIG5vIGxvbmdlciBoYXBwZW4hACd4JyBpcyBOVUxMACd4JyBpcyBlbXB0eQAneCcgaXMgbm90IGEgbWF0cml4ACd4bWluJyBub3QgbGVzcyB0aGFuICd4bWF4JwAqKiogdW5rbm93biBlcnJvciBtZXNzYWdlIChtc2cgPSAlZCkgaW4gbmxtKCkKKioqIHNob3VsZCBub3QgaGFwcGVuIQAtSW5mIHJlcGxhY2VkIGJ5IG1heGltYWxseSBuZWdhdGl2ZSB2YWx1ZQBBcmd1bWVudCAlcyBtdXN0IGJlIGEgbm9uZW1wdHkgbnVtZXJpYyB2ZWN0b3IAQXJndW1lbnQgU3ggbXVzdCBiZSBudW1lcmljIHZlY3RvciBvbmUgc2hvcnRlciB0aGFuIG1bXQBBcmd1bWVudCBtIG11c3QgYmUgbnVtZXJpYwBCdWcgaW4gZmV4YWN0MywgaXRbaT0lZF09JWQ6IG5lZ2F0aXZlIGtleSAlZCAoa3l5PSVkKQoAQnVyZydzIGFsZ29yaXRobSBmYWlsZWQgdG8gZmluZCBwYXJ0aWFsIGNvcnJlbGF0aW9uAEN1cnJlbnQgaXRlcmF0ZSBpcyBwcm9iYWJseSBzb2x1dGlvbi4KAEVpdGhlciB4IGlzIGFuIGFwcHJveGltYXRlIGxvY2FsIG1pbmltdW0gb2YgdGhlIGZ1bmN0aW9uLAp0aGUgZnVuY3Rpb24gaXMgdG9vIG5vbi1saW5lYXIgZm9yIHRoaXMgYWxnb3JpdGhtLApvciBzdGVwdG9sIGlzIHRvbyBsYXJnZS4KAEZFWEFDVCBlcnJvciAzMC4gIFN0YWNrIGxlbmd0aCBleGNlZWRlZCBpbiBmM3hhY3QsCiAgKGxkc3Q9JWQsIGtleT0lZCwgaXBuPSVkLCBpdHA9JWQsIGlzdFtpaT0lZF09JWQpLgpJbmNyZWFzZSB3b3Jrc3BhY2Ugb3IgY29uc2lkZXIgdXNpbmcgJ3NpbXVsYXRlLnAudmFsdWU9VFJVRScARkVYQUNUIGVycm9yIDYgKGY1eGFjdCkuICBMREtFWT0lZCBpcyB0b28gc21hbGwgZm9yIHRoaXMgcHJvYmxlbToga3ZhbD0lZC4KVHJ5IGluY3JlYXNpbmcgdGhlIHNpemUgb2YgdGhlIHdvcmtzcGFjZS4ARkVYQUNUIGVycm9yIDYuICBMREtFWT0lZCBpcyB0b28gc21hbGwgZm9yIHRoaXMgcHJvYmxlbSwKICAoaWkgOj0ga2V5MltpdHA9JWRdID0gJWQsIGxkc3RwPSVkKQpUcnkgaW5jcmVhc2luZyB0aGUgc2l6ZSBvZiB0aGUgd29ya3NwYWNlIGFuZCBwb3NzaWJseSAnbXVsdCcARkVYQUNUIGVycm9yIDcoJXMpLiBMRFNUUD0lZCBpcyB0b28gc21hbGwgZm9yIHRoaXMgcHJvYmxlbSwKICAoa3ZhbD0lZCwgaXRvcC1sZHN0cD0lZCkuCkluY3JlYXNlIHdvcmtzcGFjZSBvciBjb25zaWRlciB1c2luZyAnc2ltdWxhdGUucC52YWx1ZT1UUlVFJy4ARkVYQUNUIGVycm9yIDcoJXMpLiBMRFNUUD0lZCBpcyB0b28gc21hbGwgZm9yIHRoaXMgcHJvYmxlbSwKICAocGFzdHA9JWcsIGlwbl8wOj1pcG9pbltpdHA9JWRdPSVkLCBzdHBbaXBuXzBdPSVnKS4KSW5jcmVhc2Ugd29ya3NwYWNlIG9yIGNvbnNpZGVyIHVzaW5nICdzaW11bGF0ZS5wLnZhbHVlPVRSVUUnAEZ1bmN0aW9uICclcycgaXMgbm90IGluIHRoZSBkZXJpdmF0aXZlcyB0YWJsZQBIZXNzaWFuIGZ1bmN0aW9uIG11c3QgcmV0dXJuIGEgc3F1YXJlIG51bWVyaWMgbWF0cml4IG9mIG9yZGVyICVkAEludmFsaWQgdm1ldGhvZABJdGVyYXRpb24gbGltaXQgZXhjZWVkZWQuICBBbGdvcml0aG0gZmFpbGVkLgoATGFzdCBnbG9iYWwgc3RlcCBmYWlsZWQgdG8gbG9jYXRlIGEgcG9pbnQgbG93ZXIgdGhhbiB4LgoATWF4aW11bSBzdGVwIHNpemUgZXhjZWVkZWQgNSBjb25zZWN1dGl2ZSB0aW1lcy4KRWl0aGVyIHRoZSBmdW5jdGlvbiBpcyB1bmJvdW5kZWQgYmVsb3csCmJlY29tZXMgYXN5bXB0b3RpYyB0byBhIGZpbml0ZSB2YWx1ZQpmcm9tIGFib3ZlIGluIHNvbWUgZGlyZWN0aW9uLApvciBzdGVwbXggaXMgdG9vIHNtYWxsLgoATWlzc2luZyB2YWx1ZSBvciBhbiBpbmZpbml0eSBwcm9kdWNlZCB3aGVuIGV2YWx1YXRpbmcgdGhlIG1vZGVsAE5BIGluIHByb2JhYmlsaXR5IHZlY3RvcgBOQSByZXBsYWNlZCBieSBtYXhpbXVtIHBvc2l0aXZlIHZhbHVlAE5BIHZhbHVlIGZvciAnJXMnIGlzIG5vdCBhbGxvd2VkAE5BL0luZiByZXBsYWNlZCBieSBtYXhpbXVtIHBvc2l0aXZlIHZhbHVlAE5BL05hTi9JbmYgaW4gJyVzJwBOQXMgcHJvZHVjZWQATmFOcyBwcm9kdWNlZABOb24tbnVtZXJpYyBhcmd1bWVudCB0byBtYXRoZW1hdGljYWwgZnVuY3Rpb24AUmVsYXRpdmUgZ3JhZGllbnQgY2xvc2UgdG8gemVyby4KAFJmX2RpdnNldDogYWxnID0gJWQgbXVzdCBiZSAxLCAyLCAzLCBvciA0AFNpbmd1bGFyIG1hdHJpeCBpbiBsZGV0AFNpbmd1bGFyIG1hdHJpeCBpbiBxcl9zb2x2ZQBTdWNjZXNzaXZlIGl0ZXJhdGVzIHdpdGhpbiB0b2xlcmFuY2UuCgBWYWx1ZSAlZyBvdXQgb2YgcmFuZ2UgKDAsIDEpAFdoZW4gSGVzc2lhbiBkZWZpbmVkIG11c3QgYWxzbyBoYXZlIGdyYWRpZW50IGRlZmluZWQAYWxnb3JpdGhtIGRpZCBub3QgY29udmVyZ2UAYXBwcm94KCk6IGF0dGVtcHRlZCB0byBpbnRlcnBvbGF0ZSBOQSB2YWx1ZXMAYXBwcm94KCk6IGludmFsaWQgZiB2YWx1ZQBhcHByb3goKTogaW52YWxpZCBpbnRlcnBvbGF0aW9uIG1ldGhvZABhcHByb3goeCx5LCAuLiwgbmEucm09RkFMU0UpOiBOQSB2YWx1ZXMgaW4geCBhcmUgbm90IGFsbG93ZWQAYXJndW1lbnQgJXMgbXVzdCBiZSBhIG51bWVyaWMgdmVjdG9yIG9mIGxlbmd0aCAxIG9yIGxlbmd0aCAlZABhcmd1bWVudCBpcyBub3QgYSB2YWxpZCBtb2RlbABhc3NlcnQgZmFpbGVkIGluIHNyYy9saWJyYXJ5L3RzL3NyYy9jYXJyYXkuYwBhdHRlbXB0IHRvIG1pbmltaXplIG5vbi1mdW5jdGlvbgBiYWQgU3Rhcm1hIHN0cnVjdABiYW5kd2lkdGgvc3BhbiBvZiBydW5uaW5nIG1lZGlhbnMgaXMgbGFyZ2VyIHRoYW4gbgBjYW4gb25seSB0cmFuc2Zvcm0gMTAwIHBhcnMgaW4gYXJpbWEwAGNvbXBsZXggdmFyaWFibGVzIGFyZSBub3QgY3VycmVudGx5IGFsbG93ZWQgaW4gbW9kZWwgbWF0cmljZXMAY29uZmxpY3RpbmcgcGFyYW1ldGVyIGxlbmd0aHMAY29udmVyZ2VkAGRpbWVuc2lvbnMgb2YgJ3gnICglZCwlZCkgYW5kICd5JyAoJWQpIGRvIG5vdCBtYXRjaABkaXN0YW5jZSgpOiBpbnZhbGlkIGRpc3RhbmNlAGRpc3RhbmNlKCk6IGludmFsaWQgcABkbyBub3Qga25vdyBob3cgbWFueSBjYXNlcwBkdXBsaWNhdGVkIG5hbWUgJyVzJyBpbiBkYXRhIGZyYW1lIHVzaW5nICcuJwBlbnZpcm9ubWVudCAncmhvJyBtdXN0IGNvbnRhaW4gYSBudW1lcmljIHZlY3RvciAnLnBhcicgb2YgbGVuZ3RoICVkAGV4cHJlc3Npb24gbXVzdCBub3QgYmUgdHlwZSAnJXMnAGZjbiBwcm9kdWNlZCBtb2RlICVkLCBsZW5ndGggJWQgLSB3YW50ZWQgbW9kZSAlZCwgbGVuZ3RoICVkAGZmdCBmYWN0b3JpemF0aW9uIGVycm9yAGZvcmthbCBlcnJvciBjb2RlICVkAGZvcm11bGEgZXhwZWN0ZWQAZnVuY3Rpb24gdmFsdWUgY2FjaGluZyBmb3Igb3B0aW1pemF0aW9uIGlzIHNlcmlvdXNseSBjb25mdXNlZABncmFkaWVudCBmdW5jdGlvbiBtdXN0IHJldHVybiBhIG51bWVyaWMgdmVjdG9yIG9mIGxlbmd0aCAlZABncmFkaWVudCBpbiBvcHRpbSBldmFsdWF0ZWQgdG8gbGVuZ3RoICVkIG5vdCAlZABncmFkaWVudCBzdXBwbGllZCBpcyBvZiB0aGUgd3JvbmcgbGVuZ3RoIG9yIG1vZGUsIHNvIGlnbm9yZWQAaGVzc2lhbiBzdXBwbGllZCBpcyBvZiB0aGUgd3JvbmcgbGVuZ3RoIG9yIG1vZGUsIHNvIGlnbm9yZWQAaW5jb21wYXRpYmxlIGRpbWVuc2lvbnMAaW5jb25zaXN0ZW50IGRlZ3JlZXMgb2YgZnJlZWRvbSBhbmQgZGltZW5zaW9uAGluY29ycmVjdCBzcGVjaWZpY2F0aW9uIG9mICd0YWJsZScgb3IgJ3N0YXJ0JwBpbnRlZ2VyIG92ZXJmbG93IHdvdWxkIGhhcHBlbiBpbiAnbXVsdCAqIGxka2V5JyA9ICVnAGludmFsaWQgJyVzJyBhcmd1bWVudABpbnZhbGlkICclcycgdmFsdWUAaW52YWxpZCAndHlwZScgKCVzKSBvZiBhcmd1bWVudABpbnZhbGlkICd1c2UnIChjb21wdXRhdGlvbmFsIG1ldGhvZCkAaW52YWxpZCBOQSB2YWx1ZSBpbiBwYXJhbWV0ZXIAaW52YWxpZCBhcmd1bWVudCB0eXBlAGludmFsaWQgYXJndW1lbnRzAGludmFsaWQgZW5kLXJ1bGUgZm9yIHJ1bm5pbmcgbWVkaWFuIG9mIDM6ICVkAGludmFsaWQgZXhwcmVzc2lvbiBpbiAnJXMnAGludmFsaWQgZXh0cmEgdmFyaWFibGUgbmFtZXMAaW52YWxpZCBleHRyYSB2YXJpYWJsZXMAaW52YWxpZCBmYWN0b3JzAGludmFsaWQgZmlyc3QgYXJndW1lbnQgJ24nAGludmFsaWQgZm9ybSBpbiB1bmFyeSBtaW51cyBjaGVjawBpbnZhbGlkIGZvcm11bGEgaW4gJ3VwZGF0ZScAaW52YWxpZCBmdW5jdGlvbiB2YWx1ZSBpbiAnbmxtJyBvcHRpbWl6ZXIAaW52YWxpZCBmdW5jdGlvbiB2YWx1ZSBpbiAnb3B0aW1pemUnAGludmFsaWQgZnVuY3Rpb24gdmFsdWUgaW4gJ3plcm9pbicAaW52YWxpZCBncmFkaWVudCB0b2xlcmFuY2UgaW4gbmxtAGludmFsaWQgaXRlcmF0aW9uIGxpbWl0IGluIG5sbQBpbnZhbGlkIG1vZGVsIGZvcm11bGEAaW52YWxpZCBtb2RlbCBmb3JtdWxhIGluIEVuY29kZVZhcnMAaW52YWxpZCBtb2RlbCBmb3JtdWxhIGluIEV4dHJhY3RWYXJzAGludmFsaWQgbW9kZWwgZnJhbWUAaW52YWxpZCBwYXJhbWV0ZXIgbGVuZ3RoAGludmFsaWQgcGFyYW1ldGVyIHR5cGUAaW52YWxpZCBwb3dlciBpbiBmb3JtdWxhAGludmFsaWQgcmVzdWx0IGZyb20gbmEuYWN0aW9uAGludmFsaWQgc2Vjb25kIGFyZ3VtZW50ICdzaXplJwBpbnZhbGlkIHRhZwBpbnZhbGlkIHRlcm0gaW4gbW9kZWwgZm9ybXVsYQBpbnZhbGlkIHR5cGUgKCVzKSBmb3IgdmFyaWFibGUgJyVzJwBpbnZhbGlkIHR5cGUgZm9yIGV2YWxfY2hlY2tfc3RvcmUAaW52YWxpZCB2YWx1ZSBvZiBsYWcubWF4AGludmFsaWQgdmFyaWFibGUgbmFtZXMAaW52YWxpZCB2YXJpYWJsZXMAbGVuZ3RoKG0pIG11c3QgYmUgYXQgbGVhc3QgdHdvAG0gbXVzdCBiZSBhIGxpc3QAbWF0cml4IHdvdWxkIHJlcXVpcmUgJS4wZyBjb2x1bW5zAG1heGltdW0gc3VwcG9ydGVkIGxhZyBpcyAzNTAAbWluaW1pemF0aW9uIGZ1bmN0aW9uIGhhcyBubyBnb29kIGRpZ2l0cyBpbiBubG0AbWlzc2luZyBvYnNlcnZhdGlvbnMgaW4gY292L2NvcgBtaXNzaW5nIHZhbHVlIGluIGxhc3QgJWQgb2JzZXJ2YXRpb25zAG1pc3NpbmcgdmFsdWUgaW4gcGFyYW1ldGVyAG4gbXVzdCBiZSBhdCBsZWFzdCB0d28AbmFfYWN0aW9uIGxvZ2ljIGVycm9yICglZCksIHBsZWFzZSByZXBvcnQhAG5lZ2F0aXZlIHByb2JhYmlsaXR5AG5leHRuKCkgZm91bmQgbm8gc29sdXRpb24gPCAlZCA9IElOVF9NQVggKHRoZSBtYXhpbWFsIGludGVnZXIpOyBwYXNzICcwKyBuJyBpbnN0ZWFkIG9mICduJwBuZXh0bjw2ND4oKSBmb3VuZCBubyBzb2x1dGlvbiA8ICVsZCA9IFVJTlQ2NF9NQVggKHRoZSBtYXhpbWFsIGludGVnZXIpAG5sbSBpcyBpbmVmZmljaWVudCBmb3IgMS1kIHByb2JsZW1zAG5vIGFuYWx5dGljIEhlc3NpYW4gdG8gY2hlY2sgaW4gbmxtIQBubyBhbmFseXRpYyBncmFkaWVudCB0byBjaGVjayBpbiBubG0hAG5vIGNvbXBsZXRlIGVsZW1lbnQgcGFpcnMAbm8gZmFjdG9ycwBubyBpbnB1dCBoYXMgZGV0ZXJtaW5lZCB0aGUgbnVtYmVyIG9mIGNhc2VzAG5vIHBvc2l0aXZlIHByb2JhYmlsaXRpZXMAbm9uLWZpbml0ZSBmaW5pdGUtZGlmZmVyZW5jZSB2YWx1ZSBbJWRdAG5vbi1maW5pdGUgdmFsdWUgc3VwcGxpZWQgYnkgJ25sbScAbm9uLWZpbml0ZSB2YWx1ZSBzdXBwbGllZCBieSBvcHRpbQBub24tZmluaXRlIHhbJWRdIGluIGJhbmR3aWR0aCBjYWxjdWxhdGlvbgBub24tbnVtZXJpYyBhcmd1bWVudABub24tcG9zaXRpdmUgbnVtYmVyIG9mIHBhcmFtZXRlcnMgaW4gbmxtAG5vdCBhbGwgYXJndW1lbnRzIGhhdmUgdGhlIHNhbWUgbGVuZ3RoAG51bWJlciBvZiBpdGVyYXRpb25zIGV4Y2VlZGVkIG1heGltdW0gb2YgJWQAbnVtYmVyIG9mIHZhcmlhYmxlcyAhPSBudW1iZXIgb2YgdmFyaWFibGUgbmFtZXMAbnVtZXJpYyBwYXJhbWV0ZXIgZXhwZWN0ZWQAb2JqZWN0aXZlIGZ1bmN0aW9uIGluIG9wdGltIGV2YWx1YXRlcyB0byBsZW5ndGggJWQgbm90IDEAb25seSAyNTAwIHJvd3MgYXJlIGFsbG93ZWQgZm9yIHNtLm1ldGhvZD0ic3BsaW5lIgBvbmx5IHRoZSBmaXJzdCBlbGVtZW50IGlzIHVzZWQgYXMgdmFyaWFibGUgbmFtZQBvdmVybG9uZyBuYW1lcyBpbiAnJXMnAHBvcnQgYWxnb3JpdGhtcyAzIG9yIGhpZ2hlciBhcmUgbm90IHN1cHBvcnRlZABwcm9iYWJpbGl0aWVzIG91dHNpZGUgWzAsMV0gaW4gcWFuc2FyaSgpAHByb2JhYmxlIGNvZGluZyBlcnJvciBpbiBhbmFseXRpYyBIZXNzaWFuAHByb2JhYmxlIGNvZGluZyBlcnJvciBpbiBhbmFseXRpYyBncmFkaWVudABwcm9ibGVtIHdpdGggdGVybSAlZCBpbiBtb2RlbC5tYXRyaXg6IG5vIGNvbHVtbnMgYXJlIGFzc2lnbmVkAHJjb250MiBbJWQsJWRdOiBleHAgdW5kZXJmbG93IHRvIDA7IGFsZ29yaXRobSBmYWlsdXJlAHJ1bm1lZCgpOiBpbnZhbGlkICduYS5hY3Rpb24nAHJ1bm1lZCh4LCAuLiwgbmEuYWN0aW9uPSJuYS5mYWlsIik6IGhhdmUgTkFzIHN0YXJ0aW5nIGF0IHhbJWxkXQBzaW5ndWxhciBncmFkaWVudABzcGFuIGlzIHRvbyBzbWFsbABzdGFybWEgZXJyb3IgY29kZSAlZABzdGVwIGZhY3RvciAlZyByZWR1Y2VkIGJlbG93ICdtaW5GYWN0b3InIG9mICVnAHRlcm0gJWQgd291bGQgcmVxdWlyZSAlLjBnIGNvbHVtbnMAdGVybSBuYW1lcyB3aWxsIGJlIHRydW5jYXRlZAB0aGUgcmVzcG9uc2UgYXBwZWFyZWQgb24gdGhlIHJpZ2h0LWhhbmQgc2lkZSBhbmQgd2FzIGRyb3BwZWQAdGhlIHN0YW5kYXJkIGRldmlhdGlvbiBpcyB6ZXJvAHRoaXMgc2hvdWxkIG5vdCBoYXBwZW4AdG9vIG1hbnkgZmFjdG9ycwB0cmVhdGluZyBub24tZmluaXRlIHZhbHVlcyBhcyBOQQB1bmtub3duICdtZXRob2QnAHVzZSBvZiBOVUxMIGVudmlyb25tZW50IGlzIGRlZnVuY3QAdmFyaWFibGUgJWQgaGFzIG5vIGxldmVscwB2YXJpYWJsZSAnJXMnIGlzIGludGVnZXIsIG5vdCBudW1lcmljAHZhcmlhYmxlICclcycgaXMgbm90IG51bWVyaWMAdmFyaWFibGUgbGVuZ3RocyBkaWZmZXIgKGZvdW5kIGZvciAnJXMnKQB2YXJpYWJsZSBsZW5ndGhzIGRpZmZlciAoZm91bmQgZm9yIHZhcmlhYmxlICVkKQB2YXJpYWJsZSBtdXN0IGJlIGEgY2hhcmFjdGVyIHN0cmluZwB2YXJpYWJsZXMgb2YgdHlwZSAnJXMnIGFyZSBub3QgYWxsb3dlZCBpbiBtb2RlbCBtYXRyaWNlcwB2ZWN0b3ItdmFsdWVkIChtdWx0aXZhcmlhdGUpIHNlcmllcyByZXF1aXJlZAB3b3Jrc3BhY2UgcmVxdWlyZWQgKCUuMGYpIGlzIHRvbyBsYXJnZSVzLgBQcm9qZWN0LUlkLVZlcnNpb246IFIgNC4yLjAKUmVwb3J0LU1zZ2lkLUJ1Z3MtVG86IGJ1Z3Muci1wcm9qZWN0Lm9yZwpQTy1SZXZpc2lvbi1EYXRlOiAyMDIxLTExLTA2IDE3OjE4KzAxMDAKTGFzdC1UcmFuc2xhdG9yOiBBdXRvbWF0aWNhbGx5IGdlbmVyYXRlZApMYW5ndWFnZS1UZWFtOiBub25lCkxhbmd1YWdlOiBlbgpNSU1FLVZlcnNpb246IDEuMApDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdApQbHVyYWwtRm9ybXM6IG5wbHVyYWxzPTI7IHBsdXJhbD0obiAhPSAxKTsKACBwcm9iYWJseSBiZWNhdXNlIG9mIHNldHRpbmcg4oCYc2UgPSBUUlVF4oCZACVzJCVzKCkgbm90IGZvdW5kAOKAmCVz4oCZIGFic2VudADigJglc+KAmSBtdXN0IGJlIG9mIGxlbmd0aCBvbmUA4oCYLuKAmSBpbiBmb3JtdWxhIGFuZCBubyDigJhkYXRh4oCZIGFyZ3VtZW50AOKAmGNlbnRyYWzigJkgaXMgTkEsIGJ1dCBtdXN0IGJlIFRSVUUgb3IgRkFMU0UA4oCYY29udHJvbOKAmSBtdXN0IGJlIGEgbGlzdADigJhk4oCZIG11c3QgYmUgYSBub25lbXB0eSBudW1lcmljIHZlY3RvcgDigJhkYXRh4oCZIGFyZ3VtZW50IGlzIG9mIHRoZSB3cm9uZyB0eXBlAOKAmGRlbHRh4oCZIG11c3QgYmUgZmluaXRlIGFuZCA+IDAA4oCYZGly4oCZIGlzIG5vdCBhIG51bWVyaWMgdmVjdG9yIG9mIHRoZSBjb3JyZWN0IGxlbmd0aADigJhm4oCZIG11c3QgYmUgZmluaXRlIGFuZCA+IDAA4oCYZm7igJkgaXMgbm90IGEgZnVuY3Rpb24A4oCYZ2V0RWxlbWVudOKAmSBhcHBsaWVzIG9ubHkgdG8gbmFtZWQgbGlzdHMA4oCYZ3LigJkgaXMgbm90IGEgZnVuY3Rpb24A4oCYZ3JhZGllbnTigJkgbXVzdCBiZSBhIG51bWVyaWMgbWF0cml4IG9mIGRpbWVuc2lvbiAoJWQsJWQpAOKAmGl0ZXLigJkgbXVzdCBiZSBmaW5pdGUgYW5kID49IDAA4oCYbG93ZXLigJkgYW5kIOKAmHVwcGVy4oCZIG11c3QgYmUgbnVtZXJpYyB2ZWN0b3JzAOKAmGxvd2VyYuKAmSBhbmQg4oCYdXBwZXJi4oCZIG11c3QgYmUgbnVtZXJpYyB2ZWN0b3JzAOKAmG3igJkgbXVzdCBiZSBhIGxpc3QA4oCYbWF4aXTigJkgaXMgbm90IGFuIGludGVnZXIA4oCYbWF4aXRlcuKAmSBtdXN0IGJlIHBvc2l0aXZlAOKAmG7igJkgbXVzdCBoYXZlIHR5cGVvZiguKSAiaW50ZWdlciIgb3IgImRvdWJsZSIA4oCYbmRlcHPigJkgaXMgb2YgdGhlIHdyb25nIGxlbmd0aADigJhwYXJzY2FsZeKAmSBpcyBvZiB0aGUgd3JvbmcgbGVuZ3RoAOKAmHJob+KAmSBtdXN0IGJlIGFuIGVudmlyb25tZW50AOKAmHJob+KAmSBzaG91bGQgYmUgYW4gZW52aXJvbm1lbnQA4oCYc2NhbOKAmSBtYXRyaXggaXMgbm90IHBvc2l0aXZlLWRlZmluaXRlAOKAmHNjYWzigJkgbXVzdCBiZSBhIHNxdWFyZSwgcmVhbCBtYXRyaXgA4oCYc3BlY2lhbHPigJkgbXVzdCBiZSBOVUxMIG9yIGEgY2hhcmFjdGVyIHZlY3RvcgDigJh0aGV0YeKAmSBzaG91bGQgYmUgb2YgdHlwZSBjaGFyYWN0ZXIA4oCYdG1heOKAmSBpcyBub3QgYSBwb3NpdGl2ZSBpbnRlZ2VyAOKAmHZhcmxpc3TigJkgaGFzIGNoYW5nZWQgKGZyb20gbnZhcj0lZCkgdG8gbmV3ICVkIGFmdGVyIEVuY29kZVZhcnMoKSAtLSBzaG91bGQgbm8gbG9uZ2VyIGhhcHBlbiEA4oCYeOKAmSBpcyBOVUxMAOKAmHjigJkgaXMgZW1wdHkA4oCYeOKAmSBpcyBub3QgYSBtYXRyaXgA4oCYeG1pbuKAmSBub3QgbGVzcyB0aGFuIOKAmHhtYXjigJkAKioqIHVua25vd24gZXJyb3IgbWVzc2FnZSAobXNnID0gJWQpIGluIG5sbSgpCioqKiBzaG91bGQgbm90IGhhcHBlbiEALUluZiByZXBsYWNlZCBieSBtYXhpbWFsbHkgbmVnYXRpdmUgdmFsdWUAQXJndW1lbnQgJXMgbXVzdCBiZSBhIG5vbmVtcHR5IG51bWVyaWMgdmVjdG9yAEFyZ3VtZW50IFN4IG11c3QgYmUgbnVtZXJpYyB2ZWN0b3Igb25lIHNob3J0ZXIgdGhhbiBtW10AQXJndW1lbnQgbSBtdXN0IGJlIG51bWVyaWMAQnVnIGluIGZleGFjdDMsIGl0W2k9JWRdPSVkOiBuZWdhdGl2ZSBrZXkgJWQgKGt5eT0lZCkKAEJ1cmcncyBhbGdvcml0aG0gZmFpbGVkIHRvIGZpbmQgcGFydGlhbCBjb3JyZWxhdGlvbgBDdXJyZW50IGl0ZXJhdGUgaXMgcHJvYmFibHkgc29sdXRpb24uCgBFaXRoZXIgeCBpcyBhbiBhcHByb3hpbWF0ZSBsb2NhbCBtaW5pbXVtIG9mIHRoZSBmdW5jdGlvbiwKdGhlIGZ1bmN0aW9uIGlzIHRvbyBub24tbGluZWFyIGZvciB0aGlzIGFsZ29yaXRobSwKb3Igc3RlcHRvbCBpcyB0b28gbGFyZ2UuCgBGRVhBQ1QgZXJyb3IgMzAuICBTdGFjayBsZW5ndGggZXhjZWVkZWQgaW4gZjN4YWN0LAogIChsZHN0PSVkLCBrZXk9JWQsIGlwbj0lZCwgaXRwPSVkLCBpc3RbaWk9JWRdPSVkKS4KSW5jcmVhc2Ugd29ya3NwYWNlIG9yIGNvbnNpZGVyIHVzaW5nIOKAmHNpbXVsYXRlLnAudmFsdWU9VFJVReKAmQBGRVhBQ1QgZXJyb3IgNiAoZjV4YWN0KS4gIExES0VZPSVkIGlzIHRvbyBzbWFsbCBmb3IgdGhpcyBwcm9ibGVtOiBrdmFsPSVkLgpUcnkgaW5jcmVhc2luZyB0aGUgc2l6ZSBvZiB0aGUgd29ya3NwYWNlLgBGRVhBQ1QgZXJyb3IgNi4gIExES0VZPSVkIGlzIHRvbyBzbWFsbCBmb3IgdGhpcyBwcm9ibGVtLAogIChpaSA6PSBrZXkyW2l0cD0lZF0gPSAlZCwgbGRzdHA9JWQpClRyeSBpbmNyZWFzaW5nIHRoZSBzaXplIG9mIHRoZSB3b3Jrc3BhY2UgYW5kIHBvc3NpYmx5IOKAmG11bHTigJkARkVYQUNUIGVycm9yIDcoJXMpLiBMRFNUUD0lZCBpcyB0b28gc21hbGwgZm9yIHRoaXMgcHJvYmxlbSwKICAoa3ZhbD0lZCwgaXRvcC1sZHN0cD0lZCkuCkluY3JlYXNlIHdvcmtzcGFjZSBvciBjb25zaWRlciB1c2luZyDigJhzaW11bGF0ZS5wLnZhbHVlPVRSVUXigJkuAEZFWEFDVCBlcnJvciA3KCVzKS4gTERTVFA9JWQgaXMgdG9vIHNtYWxsIGZvciB0aGlzIHByb2JsZW0sCiAgKHBhc3RwPSVnLCBpcG5fMDo9aXBvaW5baXRwPSVkXT0lZCwgc3RwW2lwbl8wXT0lZykuCkluY3JlYXNlIHdvcmtzcGFjZSBvciBjb25zaWRlciB1c2luZyDigJhzaW11bGF0ZS5wLnZhbHVlPVRSVUXigJkARnVuY3Rpb24g4oCYJXPigJkgaXMgbm90IGluIHRoZSBkZXJpdmF0aXZlcyB0YWJsZQBIZXNzaWFuIGZ1bmN0aW9uIG11c3QgcmV0dXJuIGEgc3F1YXJlIG51bWVyaWMgbWF0cml4IG9mIG9yZGVyICVkAEludmFsaWQgdm1ldGhvZABJdGVyYXRpb24gbGltaXQgZXhjZWVkZWQuICBBbGdvcml0aG0gZmFpbGVkLgoATGFzdCBnbG9iYWwgc3RlcCBmYWlsZWQgdG8gbG9jYXRlIGEgcG9pbnQgbG93ZXIgdGhhbiB4LgoATWF4aW11bSBzdGVwIHNpemUgZXhjZWVkZWQgNSBjb25zZWN1dGl2ZSB0aW1lcy4KRWl0aGVyIHRoZSBmdW5jdGlvbiBpcyB1bmJvdW5kZWQgYmVsb3csCmJlY29tZXMgYXN5bXB0b3RpYyB0byBhIGZpbml0ZSB2YWx1ZQpmcm9tIGFib3ZlIGluIHNvbWUgZGlyZWN0aW9uLApvciBzdGVwbXggaXMgdG9vIHNtYWxsLgoATWlzc2luZyB2YWx1ZSBvciBhbiBpbmZpbml0eSBwcm9kdWNlZCB3aGVuIGV2YWx1YXRpbmcgdGhlIG1vZGVsAE5BIGluIHByb2JhYmlsaXR5IHZlY3RvcgBOQSByZXBsYWNlZCBieSBtYXhpbXVtIHBvc2l0aXZlIHZhbHVlAE5BIHZhbHVlIGZvciDigJglc+KAmSBpcyBub3QgYWxsb3dlZABOQS9JbmYgcmVwbGFjZWQgYnkgbWF4aW11bSBwb3NpdGl2ZSB2YWx1ZQBOQS9OYU4vSW5mIGluIOKAmCVz4oCZAE5BcyBwcm9kdWNlZABOYU5zIHByb2R1Y2VkAE5vbi1udW1lcmljIGFyZ3VtZW50IHRvIG1hdGhlbWF0aWNhbCBmdW5jdGlvbgBSZWxhdGl2ZSBncmFkaWVudCBjbG9zZSB0byB6ZXJvLgoAUmZfZGl2c2V0OiBhbGcgPSAlZCBtdXN0IGJlIDEsIDIsIDMsIG9yIDQAU2luZ3VsYXIgbWF0cml4IGluIGxkZXQAU2luZ3VsYXIgbWF0cml4IGluIHFyX3NvbHZlAFN1Y2Nlc3NpdmUgaXRlcmF0ZXMgd2l0aGluIHRvbGVyYW5jZS4KAFZhbHVlICVnIG91dCBvZiByYW5nZSAoMCwgMSkAV2hlbiBIZXNzaWFuIGRlZmluZWQgbXVzdCBhbHNvIGhhdmUgZ3JhZGllbnQgZGVmaW5lZABhbGdvcml0aG0gZGlkIG5vdCBjb252ZXJnZQBhcHByb3goKTogYXR0ZW1wdGVkIHRvIGludGVycG9sYXRlIE5BIHZhbHVlcwBhcHByb3goKTogaW52YWxpZCBmIHZhbHVlAGFwcHJveCgpOiBpbnZhbGlkIGludGVycG9sYXRpb24gbWV0aG9kAGFwcHJveCh4LHksIC4uLCBuYS5ybT1GQUxTRSk6IE5BIHZhbHVlcyBpbiB4IGFyZSBub3QgYWxsb3dlZABhcmd1bWVudCAlcyBtdXN0IGJlIGEgbnVtZXJpYyB2ZWN0b3Igb2YgbGVuZ3RoIDEgb3IgbGVuZ3RoICVkAGFyZ3VtZW50IGlzIG5vdCBhIHZhbGlkIG1vZGVsAGFzc2VydCBmYWlsZWQgaW4gc3JjL2xpYnJhcnkvdHMvc3JjL2NhcnJheS5jAGF0dGVtcHQgdG8gbWluaW1pemUgbm9uLWZ1bmN0aW9uAGJhZCBTdGFybWEgc3RydWN0AGJhbmR3aWR0aC9zcGFuIG9mIHJ1bm5pbmcgbWVkaWFucyBpcyBsYXJnZXIgdGhhbiBuAGNhbiBvbmx5IHRyYW5zZm9ybSAxMDAgcGFycyBpbiBhcmltYTAAY29tcGxleCB2YXJpYWJsZXMgYXJlIG5vdCBjdXJyZW50bHkgYWxsb3dlZCBpbiBtb2RlbCBtYXRyaWNlcwBjb25mbGljdGluZyBwYXJhbWV0ZXIgbGVuZ3RocwBjb252ZXJnZWQAZGltZW5zaW9ucyBvZiDigJh44oCZICglZCwlZCkgYW5kIOKAmHnigJkgKCVkKSBkbyBub3QgbWF0Y2gAZGlzdGFuY2UoKTogaW52YWxpZCBkaXN0YW5jZQBkaXN0YW5jZSgpOiBpbnZhbGlkIHAAZG8gbm90IGtub3cgaG93IG1hbnkgY2FzZXMAZHVwbGljYXRlZCBuYW1lIOKAmCVz4oCZIGluIGRhdGEgZnJhbWUgdXNpbmcg4oCYLuKAmQBlbnZpcm9ubWVudCDigJhyaG/igJkgbXVzdCBjb250YWluIGEgbnVtZXJpYyB2ZWN0b3Ig4oCYLnBhcuKAmSBvZiBsZW5ndGggJWQAZXhwcmVzc2lvbiBtdXN0IG5vdCBiZSB0eXBlIOKAmCVz4oCZAGZjbiBwcm9kdWNlZCBtb2RlICVkLCBsZW5ndGggJWQgLSB3YW50ZWQgbW9kZSAlZCwgbGVuZ3RoICVkAGZmdCBmYWN0b3JpemF0aW9uIGVycm9yAGZvcmthbCBlcnJvciBjb2RlICVkAGZvcm11bGEgZXhwZWN0ZWQAZnVuY3Rpb24gdmFsdWUgY2FjaGluZyBmb3Igb3B0aW1pemF0aW9uIGlzIHNlcmlvdXNseSBjb25mdXNlZABncmFkaWVudCBmdW5jdGlvbiBtdXN0IHJldHVybiBhIG51bWVyaWMgdmVjdG9yIG9mIGxlbmd0aCAlZABncmFkaWVudCBpbiBvcHRpbSBldmFsdWF0ZWQgdG8gbGVuZ3RoICVkIG5vdCAlZABncmFkaWVudCBzdXBwbGllZCBpcyBvZiB0aGUgd3JvbmcgbGVuZ3RoIG9yIG1vZGUsIHNvIGlnbm9yZWQAaGVzc2lhbiBzdXBwbGllZCBpcyBvZiB0aGUgd3JvbmcgbGVuZ3RoIG9yIG1vZGUsIHNvIGlnbm9yZWQAaW5jb21wYXRpYmxlIGRpbWVuc2lvbnMAaW5jb25zaXN0ZW50IGRlZ3JlZXMgb2YgZnJlZWRvbSBhbmQgZGltZW5zaW9uAGluY29ycmVjdCBzcGVjaWZpY2F0aW9uIG9mIOKAmHRhYmxl4oCZIG9yIOKAmHN0YXJ04oCZAGludGVnZXIgb3ZlcmZsb3cgd291bGQgaGFwcGVuIGluIOKAmG11bHQgKiBsZGtleeKAmSA9ICVnAGludmFsaWQg4oCYJXPigJkgYXJndW1lbnQAaW52YWxpZCDigJglc+KAmSB2YWx1ZQBpbnZhbGlkIOKAmHR5cGXigJkgKCVzKSBvZiBhcmd1bWVudABpbnZhbGlkIOKAmHVzZeKAmSAoY29tcHV0YXRpb25hbCBtZXRob2QpAGludmFsaWQgTkEgdmFsdWUgaW4gcGFyYW1ldGVyAGludmFsaWQgYXJndW1lbnQgdHlwZQBpbnZhbGlkIGFyZ3VtZW50cwBpbnZhbGlkIGVuZC1ydWxlIGZvciBydW5uaW5nIG1lZGlhbiBvZiAzOiAlZABpbnZhbGlkIGV4cHJlc3Npb24gaW4g4oCYJXPigJkAaW52YWxpZCBleHRyYSB2YXJpYWJsZSBuYW1lcwBpbnZhbGlkIGV4dHJhIHZhcmlhYmxlcwBpbnZhbGlkIGZhY3RvcnMAaW52YWxpZCBmaXJzdCBhcmd1bWVudCDigJhu4oCZAGludmFsaWQgZm9ybSBpbiB1bmFyeSBtaW51cyBjaGVjawBpbnZhbGlkIGZvcm11bGEgaW4g4oCYdXBkYXRl4oCZAGludmFsaWQgZnVuY3Rpb24gdmFsdWUgaW4g4oCYbmxt4oCZIG9wdGltaXplcgBpbnZhbGlkIGZ1bmN0aW9uIHZhbHVlIGluIOKAmG9wdGltaXpl4oCZAGludmFsaWQgZnVuY3Rpb24gdmFsdWUgaW4g4oCYemVyb2lu4oCZAGludmFsaWQgZ3JhZGllbnQgdG9sZXJhbmNlIGluIG5sbQBpbnZhbGlkIGl0ZXJhdGlvbiBsaW1pdCBpbiBubG0AaW52YWxpZCBtb2RlbCBmb3JtdWxhAGludmFsaWQgbW9kZWwgZm9ybXVsYSBpbiBFbmNvZGVWYXJzAGludmFsaWQgbW9kZWwgZm9ybXVsYSBpbiBFeHRyYWN0VmFycwBpbnZhbGlkIG1vZGVsIGZyYW1lAGludmFsaWQgcGFyYW1ldGVyIGxlbmd0aABpbnZhbGlkIHBhcmFtZXRlciB0eXBlAGludmFsaWQgcG93ZXIgaW4gZm9ybXVsYQBpbnZhbGlkIHJlc3VsdCBmcm9tIG5hLmFjdGlvbgBpbnZhbGlkIHNlY29uZCBhcmd1bWVudCDigJhzaXpl4oCZAGludmFsaWQgdGFnAGludmFsaWQgdGVybSBpbiBtb2RlbCBmb3JtdWxhAGludmFsaWQgdHlwZSAoJXMpIGZvciB2YXJpYWJsZSDigJglc+KAmQBpbnZhbGlkIHR5cGUgZm9yIGV2YWxfY2hlY2tfc3RvcmUAaW52YWxpZCB2YWx1ZSBvZiBsYWcubWF4AGludmFsaWQgdmFyaWFibGUgbmFtZXMAaW52YWxpZCB2YXJpYWJsZXMAbGVuZ3RoKG0pIG11c3QgYmUgYXQgbGVhc3QgdHdvAG0gbXVzdCBiZSBhIGxpc3QAbWF0cml4IHdvdWxkIHJlcXVpcmUgJS4wZyBjb2x1bW5zAG1heGltdW0gc3VwcG9ydGVkIGxhZyBpcyAzNTAAbWluaW1pemF0aW9uIGZ1bmN0aW9uIGhhcyBubyBnb29kIGRpZ2l0cyBpbiBubG0AbWlzc2luZyBvYnNlcnZhdGlvbnMgaW4gY292L2NvcgBtaXNzaW5nIHZhbHVlIGluIGxhc3QgJWQgb2JzZXJ2YXRpb25zAG1pc3NpbmcgdmFsdWUgaW4gcGFyYW1ldGVyAG4gbXVzdCBiZSBhdCBsZWFzdCB0d28AbmFfYWN0aW9uIGxvZ2ljIGVycm9yICglZCksIHBsZWFzZSByZXBvcnQhAG5lZ2F0aXZlIHByb2JhYmlsaXR5AG5leHRuKCkgZm91bmQgbm8gc29sdXRpb24gPCAlZCA9IElOVF9NQVggKHRoZSBtYXhpbWFsIGludGVnZXIpOyBwYXNzIOKAmDArIG7igJkgaW5zdGVhZCBvZiDigJhu4oCZAG5leHRuPDY0PigpIGZvdW5kIG5vIHNvbHV0aW9uIDwgJWxkID0gVUlOVDY0X01BWCAodGhlIG1heGltYWwgaW50ZWdlcikAbmxtIGlzIGluZWZmaWNpZW50IGZvciAxLWQgcHJvYmxlbXMAbm8gYW5hbHl0aWMgSGVzc2lhbiB0byBjaGVjayBpbiBubG0hAG5vIGFuYWx5dGljIGdyYWRpZW50IHRvIGNoZWNrIGluIG5sbSEAbm8gY29tcGxldGUgZWxlbWVudCBwYWlycwBubyBmYWN0b3JzAG5vIGlucHV0IGhhcyBkZXRlcm1pbmVkIHRoZSBudW1iZXIgb2YgY2FzZXMAbm8gcG9zaXRpdmUgcHJvYmFiaWxpdGllcwBub24tZmluaXRlIGZpbml0ZS1kaWZmZXJlbmNlIHZhbHVlIFslZF0Abm9uLWZpbml0ZSB2YWx1ZSBzdXBwbGllZCBieSDigJhubG3igJkAbm9uLWZpbml0ZSB2YWx1ZSBzdXBwbGllZCBieSBvcHRpbQBub24tZmluaXRlIHhbJWRdIGluIGJhbmR3aWR0aCBjYWxjdWxhdGlvbgBub24tbnVtZXJpYyBhcmd1bWVudABub24tcG9zaXRpdmUgbnVtYmVyIG9mIHBhcmFtZXRlcnMgaW4gbmxtAG5vdCBhbGwgYXJndW1lbnRzIGhhdmUgdGhlIHNhbWUgbGVuZ3RoAG51bWJlciBvZiBpdGVyYXRpb25zIGV4Y2VlZGVkIG1heGltdW0gb2YgJWQAbnVtYmVyIG9mIHZhcmlhYmxlcyAhPSBudW1iZXIgb2YgdmFyaWFibGUgbmFtZXMAbnVtZXJpYyBwYXJhbWV0ZXIgZXhwZWN0ZWQAb2JqZWN0aXZlIGZ1bmN0aW9uIGluIG9wdGltIGV2YWx1YXRlcyB0byBsZW5ndGggJWQgbm90IDEAb25seSAyNTAwIHJvd3MgYXJlIGFsbG93ZWQgZm9yIHNtLm1ldGhvZD0ic3BsaW5lIgBvbmx5IHRoZSBmaXJzdCBlbGVtZW50IGlzIHVzZWQgYXMgdmFyaWFibGUgbmFtZQBvdmVybG9uZyBuYW1lcyBpbiDigJglc+KAmQBwb3J0IGFsZ29yaXRobXMgMyBvciBoaWdoZXIgYXJlIG5vdCBzdXBwb3J0ZWQAcHJvYmFiaWxpdGllcyBvdXRzaWRlIFswLDFdIGluIHFhbnNhcmkoKQBwcm9iYWJsZSBjb2RpbmcgZXJyb3IgaW4gYW5hbHl0aWMgSGVzc2lhbgBwcm9iYWJsZSBjb2RpbmcgZXJyb3IgaW4gYW5hbHl0aWMgZ3JhZGllbnQAcHJvYmxlbSB3aXRoIHRlcm0gJWQgaW4gbW9kZWwubWF0cml4OiBubyBjb2x1bW5zIGFyZSBhc3NpZ25lZAByY29udDIgWyVkLCVkXTogZXhwIHVuZGVyZmxvdyB0byAwOyBhbGdvcml0aG0gZmFpbHVyZQBydW5tZWQoKTogaW52YWxpZCDigJhuYS5hY3Rpb27igJkAcnVubWVkKHgsIC4uLCBuYS5hY3Rpb249Im5hLmZhaWwiKTogaGF2ZSBOQXMgc3RhcnRpbmcgYXQgeFslbGRdAHNpbmd1bGFyIGdyYWRpZW50AHNwYW4gaXMgdG9vIHNtYWxsAHN0YXJtYSBlcnJvciBjb2RlICVkAHN0ZXAgZmFjdG9yICVnIHJlZHVjZWQgYmVsb3cg4oCYbWluRmFjdG9y4oCZIG9mICVnAHRlcm0gJWQgd291bGQgcmVxdWlyZSAlLjBnIGNvbHVtbnMAdGVybSBuYW1lcyB3aWxsIGJlIHRydW5jYXRlZAB0aGUgcmVzcG9uc2UgYXBwZWFyZWQgb24gdGhlIHJpZ2h0LWhhbmQgc2lkZSBhbmQgd2FzIGRyb3BwZWQAdGhlIHN0YW5kYXJkIGRldmlhdGlvbiBpcyB6ZXJvAHRoaXMgc2hvdWxkIG5vdCBoYXBwZW4AdG9vIG1hbnkgZmFjdG9ycwB0cmVhdGluZyBub24tZmluaXRlIHZhbHVlcyBhcyBOQQB1bmtub3duIOKAmG1ldGhvZOKAmQB1c2Ugb2YgTlVMTCBlbnZpcm9ubWVudCBpcyBkZWZ1bmN0AHZhcmlhYmxlICVkIGhhcyBubyBsZXZlbHMAdmFyaWFibGUg4oCYJXPigJkgaXMgaW50ZWdlciwgbm90IG51bWVyaWMAdmFyaWFibGUg4oCYJXPigJkgaXMgbm90IG51bWVyaWMAdmFyaWFibGUgbGVuZ3RocyBkaWZmZXIgKGZvdW5kIGZvciDigJglc+KAmSkAdmFyaWFibGUgbGVuZ3RocyBkaWZmZXIgKGZvdW5kIGZvciB2YXJpYWJsZSAlZCkAdmFyaWFibGUgbXVzdCBiZSBhIGNoYXJhY3RlciBzdHJpbmcAdmFyaWFibGVzIG9mIHR5cGUg4oCYJXPigJkgYXJlIG5vdCBhbGxvd2VkIGluIG1vZGVsIG1hdHJpY2VzAHZlY3Rvci12YWx1ZWQgKG11bHRpdmFyaWF0ZSkgc2VyaWVzIHJlcXVpcmVkAHdvcmtzcGFjZSByZXF1aXJlZCAoJS4wZikgaXMgdG9vIGxhcmdlJXMuAFBSSXU2NABuZXh0bigpID0gJSA+IDJeNTMgbWF5IG5vdCBiZSBleGFjdGx5IHJlcHJlc2VudGFibGUgaW4gUiAoYXMgImRvdWJsZSIpAG5leHRuKCkgPSAlID4gMl41MyBtYXkgbm90IGJlIGV4YWN0bHkgcmVwcmVzZW50YWJsZSBpbiBSIChhcyAiZG91YmxlIikA