YQ0NCgAAAABGGnxjtwsAAOMAAAAAAAAAAAAAAAAAAAAAAwAAAEAAAABzRAAAAGQAWgBkAWQCbAFtAloCbQNaAwEAZANaBGQEWgVnAGQFogFaBmQGZAeEAFoHZA1kCWQKhAFaCGQOZAtkDIQBWglkCFMAKQ9hFQQAAAogICAgUHlnbWVudHMKICAgIH5+fn5+fn5+CgogICAgUHlnbWVudHMgaXMgYSBzeW50YXggaGlnaGxpZ2h0aW5nIHBhY2thZ2Ugd3JpdHRlbiBpbiBQeXRob24uCgogICAgSXQgaXMgYSBnZW5lcmljIHN5bnRheCBoaWdobGlnaHRlciBmb3IgZ2VuZXJhbCB1c2UgaW4gYWxsIGtpbmRzIG9mIHNvZnR3YXJlCiAgICBzdWNoIGFzIGZvcnVtIHN5c3RlbXMsIHdpa2lzIG9yIG90aGVyIGFwcGxpY2F0aW9ucyB0aGF0IG5lZWQgdG8gcHJldHRpZnkKICAgIHNvdXJjZSBjb2RlLiBIaWdobGlnaHRzIGFyZToKCiAgICAqIGEgd2lkZSByYW5nZSBvZiBjb21tb24gbGFuZ3VhZ2VzIGFuZCBtYXJrdXAgZm9ybWF0cyBpcyBzdXBwb3J0ZWQKICAgICogc3BlY2lhbCBhdHRlbnRpb24gaXMgcGFpZCB0byBkZXRhaWxzLCBpbmNyZWFzaW5nIHF1YWxpdHkgYnkgYSBmYWlyIGFtb3VudAogICAgKiBzdXBwb3J0IGZvciBuZXcgbGFuZ3VhZ2VzIGFuZCBmb3JtYXRzIGFyZSBhZGRlZCBlYXNpbHkKICAgICogYSBudW1iZXIgb2Ygb3V0cHV0IGZvcm1hdHMsIHByZXNlbnRseSBIVE1MLCBMYVRlWCwgUlRGLCBTVkcsIGFsbCBpbWFnZQogICAgICBmb3JtYXRzIHRoYXQgUElMIHN1cHBvcnRzLCBhbmQgQU5TSSBzZXF1ZW5jZXMKICAgICogaXQgaXMgdXNhYmxlIGFzIGEgY29tbWFuZC1saW5lIHRvb2wgYW5kIGFzIGEgbGlicmFyeQogICAgKiAuLi4gYW5kIGl0IGhpZ2hsaWdodHMgZXZlbiBCcmFpbmZ1Y2shCgogICAgVGhlIGBQeWdtZW50cyBtYXN0ZXIgYnJhbmNoYF8gaXMgaW5zdGFsbGFibGUgd2l0aCBgYGVhc3lfaW5zdGFsbCBQeWdtZW50cz09ZGV2YGAuCgogICAgLi4gX1B5Z21lbnRzIG1hc3RlciBicmFuY2g6CiAgICAgICBodHRwczovL2dpdGh1Yi5jb20vcHlnbWVudHMvcHlnbWVudHMvYXJjaGl2ZS9tYXN0ZXIuemlwI2VnZz1QeWdtZW50cy1kZXYKCiAgICA6Y29weXJpZ2h0OiBDb3B5cmlnaHQgMjAwNi0yMDIyIGJ5IHRoZSBQeWdtZW50cyB0ZWFtLCBzZWUgQVVUSE9SUy4KICAgIDpsaWNlbnNlOiBCU0QsIHNlZSBMSUNFTlNFIGZvciBkZXRhaWxzLgrpAAAAACkC2ghTdHJpbmdJT9oHQnl0ZXNJT3oGMi4xMy4wWhByZXN0cnVjdHVyZWR0ZXh0KQPaA2xleNoGZm9ybWF02gloaWdobGlnaHRjAgAAAAAAAAAAAAAAAwAAAAgAAABDAAAAc04AAAB6DHwBoAB8AKEBVwBTAAQAdAF5SAEAAQABAGQBZAJsAm0DfQIBAHQEfAF0BYMCckJ0BnwBfAKDAnJCdAFkA4MBggGCAFkAbgIwAGQEUwApBXpHCiAgICBMZXggYGBjb2RlYGAgd2l0aCBgYGxleGVyYGAgYW5kIHJldHVybiBhbiBpdGVyYWJsZSBvZiB0b2tlbnMuCiAgICByAQAAACkB2gpSZWdleExleGVyejRsZXgoKSBhcmd1bWVudCBtdXN0IGJlIGEgbGV4ZXIgaW5zdGFuY2UsIG5vdCBhIGNsYXNzTikHWgpnZXRfdG9rZW5z2glUeXBlRXJyb3JaGnBpcC5fdmVuZG9yLnB5Z21lbnRzLmxleGVycgcAAADaCmlzaW5zdGFuY2XaBHR5cGXaCmlzc3ViY2xhc3MpA9oEY29kZdoFbGV4ZXJyBwAAAKkAcg4AAAD6Wi9ob21lL2huaS9Ub3BtZXRhbFNlLURQUy92ZW52L2xpYi9weXRob24zLjkvc2l0ZS1wYWNrYWdlcy9waXAvX3ZlbmRvci9weWdtZW50cy9fX2luaXRfXy5weXIEAAAAIwAAAHMOAAAAAAQCAQwBDAIMARQBCAJyBAAAAE5jAwAAAAAAAAAAAAAABQAAAAgAAABDAAAAc4QAAAB6QnwCczR0AHwBZAFkAoMDchh0AYMAcBx0AoMAfQN8AaADfAB8A6ECAQB8A6AEoQBXAFMAfAGgA3wAfAKhAgEAVwBuPAQAdAV5fgEAAQABAGQDZARsBm0HfQQBAHQIfAF0CYMCcnh0CnwBfASDAnJ4dAVkBYMBggGCAFkAbgIwAGQCUwApBnrzCiAgICBGb3JtYXQgYSB0b2tlbmxpc3QgYGB0b2tlbnNgYCB3aXRoIHRoZSBmb3JtYXR0ZXIgYGBmb3JtYXR0ZXJgYC4KCiAgICBJZiBgYG91dGZpbGVgYCBpcyBnaXZlbiBhbmQgYSB2YWxpZCBmaWxlIG9iamVjdCAoYW4gb2JqZWN0CiAgICB3aXRoIGEgYGB3cml0ZWBgIG1ldGhvZCksIHRoZSByZXN1bHQgd2lsbCBiZSB3cml0dGVuIHRvIGl0LCBvdGhlcndpc2UKICAgIGl0IGlzIHJldHVybmVkIGFzIGEgc3RyaW5nLgogICAg2ghlbmNvZGluZ05yAQAAACkB2glGb3JtYXR0ZXJ6O2Zvcm1hdCgpIGFyZ3VtZW50IG11c3QgYmUgYSBmb3JtYXR0ZXIgaW5zdGFuY2UsIG5vdCBhIGNsYXNzKQvaB2dldGF0dHJyAwAAAHICAAAAcgUAAADaCGdldHZhbHVlcggAAABaHnBpcC5fdmVuZG9yLnB5Z21lbnRzLmZvcm1hdHRlcnIRAAAAcgkAAAByCgAAAHILAAAAKQXaBnRva2Vuc9oJZm9ybWF0dGVy2gdvdXRmaWxlWgtyZWFsb3V0ZmlsZXIRAAAAcg4AAAByDgAAAHIPAAAAcgUAAAAyAAAAcxYAAAAACAIBBAEYAQwBCgIQAQwCDAEUAQgCcgUAAABjBAAAAAAAAAAAAAAABAAAAAQAAABDAAAAcxIAAAB0AHQBfAB8AYMCfAJ8A4MDUwApAXr/CiAgICBMZXggYGBjb2RlYGAgd2l0aCBgYGxleGVyYGAgYW5kIGZvcm1hdCBpdCB3aXRoIHRoZSBmb3JtYXR0ZXIgYGBmb3JtYXR0ZXJgYC4KCiAgICBJZiBgYG91dGZpbGVgYCBpcyBnaXZlbiBhbmQgYSB2YWxpZCBmaWxlIG9iamVjdCAoYW4gb2JqZWN0CiAgICB3aXRoIGEgYGB3cml0ZWBgIG1ldGhvZCksIHRoZSByZXN1bHQgd2lsbCBiZSB3cml0dGVuIHRvIGl0LCBvdGhlcndpc2UKICAgIGl0IGlzIHJldHVybmVkIGFzIGEgc3RyaW5nLgogICAgKQJyBQAAAHIEAAAAKQRyDAAAAHINAAAAchUAAAByFgAAAHIOAAAAcg4AAAByDwAAAHIGAAAASgAAAHMCAAAAAAhyBgAAACkBTikBTikK2gdfX2RvY19f2gJpb3ICAAAAcgMAAADaC19fdmVyc2lvbl9fWg1fX2RvY2Zvcm1hdF9f2gdfX2FsbF9fcgQAAAByBQAAAHIGAAAAcg4AAAByDgAAAHIOAAAAcg8AAADaCDxtb2R1bGU+AQAAAHMOAAAABBoQAgQBBAIIAwgPChg=