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ZCAlZD5zBwAAACVzOiAlcwooCAAAAFIdAAAAdAoAAABfZ2V0X2lkZW50dAcAAABfYWN0aXZldAQAAABuYW1ldAgAAABLZXlFcnJvcnQEAAAAX3N5c3QGAAAAc3RkZXJydAUAAAB3cml0ZSgFAAAAUh4AAAB0BgAAAGZvcm1hdHQEAAAAYXJnc3QFAAAAaWRlbnRSIwAAACgAAAAAKAAAAABzdAAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvdGhyZWFkaW5nLnB5dAUAAABfbm90ZT8AAABzEgAAAAABCQEKAwkBAwERAQ0BDgEQAU4oBQAAAHQIAAAAX19uYW1lX190CgAAAF9fbW9kdWxlX19SGwAAAFIgAAAAUisAAAAoAAAAACgAAAAAKAAAAABzdAAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvdGhyZWFkaW5nLnB5UhoAAAA4AAAAcwQAAAAGAgwFYwEAAAABAAAAAQAAAEMAAABzCgAAAHwAAGEAAGQBAFMoAgAAAHO4AAAAU2V0IGEgcHJvZmlsZSBmdW5jdGlvbiBmb3IgYWxsIHRocmVhZHMgc3RhcnRlZCBmcm9tIHRoZSB0aHJlYWRpbmcgbW9kdWxlLgoKICAgIFRoZSBmdW5jIHdpbGwgYmUgcGFzc2VkIHRvIHN5cy5zZXRwcm9maWxlKCkgZm9yIGVhY2ggdGhyZWFkLCBiZWZvcmUgaXRzCiAgICBydW4oKSBtZXRob2QgaXMgY2FsbGVkLgoKICAgIE4oAQAAAHQNAAAAX3Byb2ZpbGVfaG9vaygBAAAAdAQAAABmdW5jKAAAAAAoAAAAAHN0AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy90aHJlYWRpbmcucHlSEQAAAFkAAABzAgAAAAAIYwEAAAABAAAAAQAAAEMAAABzCgAAAHwAAGEAAGQBAFMoAgAAAHO0AAAAU2V0IGEgdHJhY2UgZnVuY3Rpb24gZm9yIGFsbCB0aHJlYWRzIHN0YXJ0ZWQgZnJvbSB0aGUgdGhyZWFkaW5nIG1vZHVsZS4KCiAgICBUaGUgZnVuYyB3aWxsIGJlIHBhc3NlZCB0byBzeXMuc2V0dHJhY2UoKSBmb3IgZWFjaCB0aHJlYWQsIGJlZm9yZSBpdHMgcnVuKCkKICAgIG1ldGhvZCBpcyBjYWxsZWQuCgogICAgTigBAAAAdAsAAABfdHJhY2VfaG9vaygBAAAAUi8AAAAoAAAAACgAAAAAc3QAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L3RocmVhZGluZy5weVISAAAAYwAAAHMCAAAAAAhjAAAAAAIAAAADAAAATwAAAHMNAAAAdAAAfAAAfAEAjgAAUygBAAAAczIBAABGYWN0b3J5IGZ1bmN0aW9uIHRoYXQgcmV0dXJucyBhIG5ldyByZWVudHJhbnQgbG9jay4KCiAgICBBIHJlZW50cmFudCBsb2NrIG11c3QgYmUgcmVsZWFzZWQgYnkgdGhlIHRocmVhZCB0aGF0IGFjcXVpcmVkIGl0LiBPbmNlIGEKICAgIHRocmVhZCBoYXMgYWNxdWlyZWQgYSByZWVudHJhbnQgbG9jaywgdGhlIHNhbWUgdGhyZWFkIG1heSBhY3F1aXJlIGl0IGFnYWluCiAgICB3aXRob3V0IGJsb2NraW5nOyB0aGUgdGhyZWFkIG11c3QgcmVsZWFzZSBpdCBvbmNlIGZvciBlYWNoIHRpbWUgaXQgaGFzCiAgICBhY3F1aXJlZCBpdC4KCiAgICAoAQAAAHQGAAAAX1JMb2NrKAIAAABSKQAAAHQGAAAAa3dhcmdzKAAAAAAoAAAAAHN0AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3Ri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IGJsb2NrZWQgd2FpdGluZyB1bnRpbCB0aGUgbG9jayBpcyB1bmxvY2tlZCwgb25seSBvbmUgYXQgYSB0aW1lIHdpbGwgYmUKICAgICAgICBhYmxlIHRvIGdyYWIgb3duZXJzaGlwIG9mIHRoZSBsb2NrLiBUaGVyZSBpcyBubyByZXR1cm4gdmFsdWUgaW4gdGhpcwogICAgICAgIGNhc2UuCgogICAgICAgIFdoZW4gaW52b2tlZCB3aXRoIHRoZSBibG9ja2luZyBhcmd1bWVudCBzZXQgdG8gdHJ1ZSwgZG8gdGhlIHNhbWUgdGhpbmcKICAgICAgICBhcyB3aGVuIGNhbGxlZCB3aXRob3V0IGFyZ3VtZW50cywgYW5kIHJldHVybiB0cnVlLgoKICAgICAgICBXaGVuIGludm9rZWQgd2l0aCB0aGUgYmxvY2tpbmcgYXJndW1lbnQgc2V0IHRvIGZhbHNlLCBkbyBub3QgYmxvY2suIElmIGEKICAgICAgICBjYWxsIHdpdGhvdXQgYW4gYXJndW1lbnQgd291bGQgYmxvY2ssIHJldHVybiBmYWxzZSBpbW1lZGlhdGVseTsKICAgICAgICBvdGhlcndpc2UsIGRvIHRoZSBzYW1lIHRoaW5nIGFzIHdoZW4gY2FsbGVkIHdpdGhvdXQgYXJndW1lbnRzLCBhbmQKICAgICAgICByZXR1cm4gdHJ1ZS4KCiAgICAgICAgaQEAAABzIQAAACVzLmFjcXVpcmUoJXMpOiByZWN1cnNpdmUgc3VjY2Vzc3MfAAAAJXMuYWNxdWlyZSglcyk6IGluaXRpYWwgc3VjY2Vzc3MXAAAAJXMuYWNxdWlyZSglcyk6IGZhaWx1cmUoBgAAAFIhAAAAUjUAAABSNgAAAFIrAAAAUjQAAAB0BwAAAGFjcXVpcmUoBAAAAFIeAAAAdAgAAABibG9ja2luZ3QCAAAAbWV0AgAAAHJjKAAAAAAoAAAAAHN0AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy90aHJlYWRpbmcucHlSOgAAAJIAAABzGAAAAAAVCQEPARAC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AAB8AABfAgB8AABqBABqBQCDAAABfAEAfAIAZgIAUygDAAAATnMSAAAAJXMuX3JlbGVhc2Vfc2F2ZSgpaQAAAAAoBgAAAFIrAAAAUjYAAABSNQAAAFIbAAAAUjQAAABSPwAAACgDAAAAUh4AAABSQAAAAFI4AAAAKAAAAAAoAAAAAHN0AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy90aHJlYWRpbmcucHl0DQAAAF9yZWxlYXNlX3NhdmXjAAAAcw4AAAAAAhABCQEJAQkBCQENAWMBAAAAAQAAAAIAAABDAAAAcxAAAAB8AABqAAB0AQCDAABrAgBTKAEAAABOKAIAAABSNQAAAFIhAAAAKAEAAABSHgAAACgAAAAAKAAAAABzdAAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvdGhyZWFkaW5nLnB5dAkAAABfaXNfb3duZWTtAAAAcwIAAAAAAU4oDQAAAFIsAAAAUi0AAAB0BwAAAF9fZG9jX19SGwAAAFIgAAAAUjkAAABSOgAAAHQJAAAAX19lbnRlcl9fUj8AAABSRAAAAFJGAAAAUkcAAABSSAAAACgAAAAAKAAAAAAoAAAAAHN0AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy90aHJlYWRpbmcucHlSMQAAAHwAAABzFAAAAAYFBgIMBgkJDCYGAgkcCQUJCAkKYwAAAAACAAAAAwAAAE8AAABzDQAAAHQAAHwAAHwBAI4AAFMoAQAAAHN9AQAARmFjdG9yeSBmdW5jdGlvbiB0aGF0IHJldHVybnMgYSBuZXcgY29uZGl0aW9uIHZhcmlhYmxlIG9iamVjdC4KCiAgICBBIGNvbmRpdGlvbiB2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JWQpPigDAAAAUkwAAAB0AwAAAGxlblJOAAAAKAEAAABSHgAAACgAAAAAKAAAAABzdAAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvdGhyZWFkaW5nLnB5UjkAAAAiAQAAcwIAAAAAAWMBAAAAAQAAAAEAAABDAAAAcxEAAAB8AABqAABqAQCDAAABZAAAUygBAAAATigCAAAAUkwAAABSPwAAACgBAAAAUh4AAAAoAAAAACgAAAAAc3QAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L3RocmVhZGluZy5weVJHAAAAJQEAAHMCAAAAAAFjAgAAAAIAAAABAAAAQwAAAHMRAAAAfAAAagAAagEAgwAAAWQAAFMoAQAAAE4oAgAAAFJMAAAAUjoAAAAoAgAAAFIeAAAAdAEAAAB4KAAAAAAoAAAAAHN0AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy90aHJlYWRpbmcucHlSRgAAACgBAABzAgAAAAABYwEAAAABAAAAAgAAAEMAAABzKwAAAHwAAGoAAGoBAGQBAIMBAHIjAHwAAGoAAGoCAIMAAAF0AwBTdAQAU2QAAFMoAgAAAE5pAAAAACgFAAAAUkwAAABSOgAAAFI/AAAAdAUAAABGYWxzZXQEAAAAVHJ1ZSgBAAAAUh4AAAAoAAAAACgAAAAAc3QAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L3RocmVhZGluZy5weVJIAAAAKwEAAHMIAAAAAAMSAQ0BBAJjAgAAAAgAAAAFAAAAQwAAAHNZAQAAfAAAagAAgwAAcxsAdAEAZAEAgwEAggEAbgAAdAIAgwAAfQIAfAIAagMAgwAAAXwAAGoEAGoFAHwCAIMBAAF8AABqBgCDAAB9AwB6+gB8AQBkCQBrCABydgB8AgBqAwCDAAABfAAAaggAZAIAfAAAgwIAAW7NAHQJAIMAAHwBABd9BABkAwB9BQB4YAB0CgBy6wB8AgBqAwBkBACDAQB9BgB8BgByqwBQbgAAfAQAdAkAgwAAGH0HAHwHAGQEAGsBAHLIAFBuAAB0CwB8BQBkBQAUfAcAZAYAgwMAfQUAdAwAfAUAgwEAAXGMAFd8BgBzMAF8AABqCABkBwB8AAB8AQCDAwABeRQAfAAAagQAag0AfAIAgwEAAVdxQwEEdA4AawoAciwBAQEBcUMBWG4TAHwAAGoIAGQIAHwAAHwBAIMDAAFXZAkAfAAAag8AfAMAgwEAAVhkCQBTKAoAAABzagQAAFdhaXQgdW50aWwgbm90aWZpZWQgb3IgdW50aWwgYSB0aW1lb3V0IG9jY3Vycy4KCiAgICAgICAgSWYgdGhlIGNhbGxpbmcgdGhyZWFkIGhhcyBub3QgYWNxdWlyZWQgdGhlIGxvY2sgd2hlbiB0aGlzIG1ldGhvZCBpcwogICAgICAgIGNhbGxlZCwgYSBSdW50aW1lRXJyb3IgaXMgcmFpc2VkLgoKICAgICAgICBUaGlzIG1ldGhvZCByZWxlYXNlcyB0aGUgdW5kZXJseWluZyBsb2NrLCBhbmQgdGhlbiBibG9ja3MgdW50aWwgaXQgaXMKICAgICAgICBhd2FrZW5lZCBieSBhIG5vdGlmeSgpIG9yIG5vdGlmeUFsbCgpIGNhbGwgZm9yIHRoZSBzYW1lIGNvbmRpdGlvbgogICAgICAgIHZhcmlhYmxlIGluIGFub3RoZXIgdGhyZWFkLCBvciB1bnRpbCB0aGUgb3B0aW9uYWwgdGltZW91dCBvY2N1cnMuIE9uY2UKICAgICAgICBhd2FrZW5lZCBvciB0aW1lZCBvdXQsIGl0IHJlLWFjcXVpcmVzIHRoZSBsb2NrIGFuZCByZXR1cm5zLgoKICAgICAgICBXaGVuIHRoZSB0aW1lb3V0IGFyZ3VtZW50IGlzIHByZXNlbnQgYW5kIG5vdCBOb25lLCBpdCBzaG91bGQgYmUgYQogICAgICAgIGZsb2F0aW5nIHBvaW50IG51bWJlciBzcGVjaWZ5aW5nIGEgdGltZW91dCBmb3IgdGhlIG9wZXJhdGlvbiBpbiBzZWNvbmRzCiAgICAgICAgKG9yIGZyYWN0aW9ucyB0aGVyZW9mKS4KCiAgICAgICAgV2hlbiB0aGUgdW5kZXJseWluZyBsb2NrIGlzIGFuIFJMb2NrLCBpdCBpcyBub3QgcmVsZWFzZWQgdXNpbmcgaXRzCiAgICAgICAgcmVsZWFzZSgpIG1ldGhvZCwgc2luY2UgdGhpcyBtYXkgbm90IGFjdHVhbGx5IHVubG9jayB0aGUgbG9jayB3aGVuIGl0CiAgICAgICAgd2FzIGFjcXVpcmVkIG11bHRpcGxlIHRpbWVzIHJlY3Vyc2l2ZWx5LiBJbnN0ZWFkLCBhbiBpbnRlcm5hbCBpbnRlcmZhY2UKICAgICAgICBvZiB0aGUgUkxvY2sgY2xhc3MgaXMgdXNlZCwgd2hpY2ggcmVhbGx5IHVubG9ja3MgaXQgZXZlbiB3aGVuIGl0IGhhcwogICAgICAgIGJlZW4gcmVjdXJzaXZlbHkgYWNxdWlyZWQgc2V2ZXJhbCB0aW1lcy4gQW5vdGhlciBpbnRlcm5hbCBpbnRlcmZhY2UgaXMKICAgICAgICB0aGVuIHVzZWQgdG8gcmVzdG9yZSB0aGUgcmVjdXJzaW9uIGxldmVsIHdoZW4gdGhlIGxvY2sgaXMgcmVhY3F1aXJlZC4KCiAgICAgICAgcx8AAABjYW5ub3Qgd2FpdCBvbiB1bi1hY3F1aXJlZCBsb2NrcxEAAAAlcy53YWl0KCk6IGdvdCBpdGf8qfHSTWJAP2kAAAAAaQIAAABnmpmZmZmZqT9zFgAAACVzLndhaXQoJXMpOiB0aW1lZCBvdXRzEwAAACVzLndhaXQoJXMpOiBnb3QgaXROKBAAAABSSAAAAFI+AAAAUjMAAABSOgAAAFJOAAAAdAYAAABhcHBlbmRSRwAAAFIbAAAAUisAAAB0BQAAAF90aW1lUlMAAAB0AwAAAG1pbnQGAAAAX3NsZWVwdAYAAAByZW1vdmV0CgAAAFZhbHVlRXJyb3JSRgAAACgIAAAAUh4AAAB0BwAAAHRpbWVvdXR0BgAAAHdhaXRlcnQLAAAAc2F2ZWRfc3RhdGV0BwAAAGVuZHRpbWV0BQAAAGRlbGF5dAUAAABnb3RpdHQJAAAAcmVtYWluaW5nKAAAAAAoAAAAAHN0AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy90aHJlYWRpbmcucHl0BAAAAHdhaXQ0AQAAczoAAAAAFwwBDwEJAQoBEAEMAQMBDAEKAhMHDQEGAQkBDwEGAQQBDQEMAQQBFgEOAQYCEwEDARQBDQEHAxcCaQEAAABjAgAAAAUAAAAIAAAAQwAAAHO0AAAAfAAAagAAgwAAcxsAdAEAZAEAgwEAggEAbgAAfAAAagIAfQIAfAIAfAEAIH0DAHwDAHNIAHwAAGoDAGQCAHwAAIMCAAFkAwBTfAAAagMAZAQAfAAAfAEAfAEAZAUAawMAcmkAZAYAcGwAZAcAgwQAAXg9AHwDAERdNQB9BAB8BABqBACDAAABeREAfAIAagUAfAQAgwEAAVdxdwAEdAYAawoAcqsAAQEBcXcAWHF3AFdkAwBTKAgAAABzSwEAAFdha2UgdXAgb25lIG9yIG1vcmUgdGhyZWFkcyB3YWl0aW5nIG9uIHRoaXMgY29uZGl0aW9uLCBpZiBhbnkuCgogICAgICAgIElmIHRoZSBjYWxsaW5nIHRocmVhZCBoYXMgbm90IGFjcXVpcmVkIHRoZSBsb2NrIHdoZW4gdGhpcyBtZXRob2QgaXMKICAgICAgICBjYWxsZWQsIGEgUnVudGltZUVycm9yIGlzIHJhaXNlZC4KCiAgICAgICAgVGhpcyBtZXRob2Qgd2FrZXMgdXAgYXQgbW9zdCBuIG9mIHRoZSB0aHJlYWRzIHdhaXRpbmcgZm9yIHRoZSBjb25kaXRpb24KICAgICAgICB2YXJpYWJsZTsgaXQgaXMgYSBuby1vcCBpZiBubyB0aHJlYWRzIGFyZSB3YWl0aW5nLgoKICAgICAgICBzIQAAAGNhbm5vdCBub3RpZnkgb24gdW4tYWNxdWlyZWQgbG9ja3MXAAAAJXMubm90aWZ5KCk6IG5vIHdhaXRlcnNOcyIAAAAlcy5ub3RpZnkoKTogbm90aWZ5aW5nICVkIHdhaXRlciVzaQEAAAB0AQAAAHN0AAAAACgHAAAAUkgAAABSPgAAAFJOAAAAUisAAABSPwAAAFJYAAAAUlkAAAAoBQAAAFIeAAAAdAEAAABuUk4AAAB0BwAAAHdhaXRlcnNSWwAAACgAAAAAKAAAAABzdAAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvdGhyZWFkaW5nLnB5dAYAAABub3RpZnl0AQAAcx4AAAAACgwBDwEJAQoBBgIQAQQBDwEZAQ0BCgEDAREBDQFjAQAAAAEAAAADAAAAQwAAAHMaAAAAfAAAagAAdAEAfAAAagIAgwEAgwEAAWQBAFMoAgAAAHOvAAAAV2FrZSB1cCBhbGwgdGhyZWFkcyB3YWl0aW5nIG9uIHRoaXMgY29uZGl0aW9uLgoKICAgICAgICBJZiB0aGUgY2FsbGluZyB0aHJlYWQgaGFzIG5vdCBhY3F1aXJlZCB0aGUgbG9jayB3aGVuIHRoaXMgbWV0aG9kCiAgICAgICAgaXMgY2FsbGVkLCBhIFJ1bnRpbWVFcnJvciBpcyByYWlzZWQuCgogICAgICAgIE4oAwAAAFJmAAAAUlAAAABSTgAAACgBAAAAUh4AAAAoAAAAACgAAAAAc3QAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L3RocmVhZGluZy5weXQJAAAAbm90aWZ5QWxsjwEAAHMCAAAAAAdOKA8AAABSLAAAAFItAAAAUkkAAABSGwAAAFIgAAAAUkoAAABSRAAAAFI5AAAAUkcAAABSRgAAAFJIAAAAUmEAAABSZgAAAFJnAAAAdAoAAABub3RpZnlfYWxsKAAAAAAoAAAAACgAAAAAc3QAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L3RocmVhZGluZy5weVJLAAAA/gAAAHMYAAAABgMGAg8ZCQMJAwkDCQMJAwkJDEAMGwkJYwAAAAACAAAAAwAAAE8AAABzDQAAAHQAAHwAAHwBAI4AAFMoAQAAAHNPAQAAQSBmYWN0b3J5IGZ1bmN0aW9uIHRoYXQgcmV0dXJucyBhIG5ldyBzZW1hcGhvcmUuCgogICAgU2VtYXBob3JlcyBtYW5hZ2UgYSBjb3VudGVyIHJlcHJlc2VudGluZyB0aGUgbnVtYmVyIG9mIHJlbGVhc2UoKSBjYWxscyBtaW51cwogICAgdGhlIG51bWJlciBvZiBhY3F1aXJlKCkgY2FsbHMsIHBsdXMgYW4gaW5pdGlhbCB2YWx1ZS4gVGhlIGFjcXVpcmUoKSBtZXRob2QKICAgIGJsb2NrcyBpZiBuZWNlc3NhcnkgdW50aWwgaXQgY2FuIHJldHVybiB3aXRob3V0IG1ha2luZyB0aGUgY291bnRlcgogICAgbmVnYXRpdmUuIElmIG5vdCBnaXZlbiwgdmFsdWUgZGVmYXVsdHMgdG8gMS4KCiAgICAoAQAAAHQKAAAAX1NlbWFwaG9yZSgCAAAAUikAAABSMgAAACgAAAAAKAAAAABzdAAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvdGhyZWFkaW5nLnB5Ug0AAACbAQAAcwIAAAAACVJpAAAAYwAAAAAAAAAAAwAAAEIAAABzQQAAAGUAAFoBAGQAAFoCAGQBAGQGAGQCAIQCAFoEAGQBAGQDAIQBAFoFAGUFAFoGAGQEAIQAAFoHAGQFAIQAAFoIAFJTKAcAAABzIgEAAFNlbWFwaG9yZXMgbWFuYWdlIGEgY291bnRlciByZXByZXNlbnRpbmcgdGhlIG51bWJlciBvZiByZWxlYXNlKCkgY2FsbHMKICAgICAgIG1pbnVzIHRoZSBudW1iZXIgb2YgYWNxdWlyZSgpIGNhbGxzLCBwbHVzIGFuIGluaXRpYWwgdmFsdWUuIFRoZSBhY3F1aXJlKCkKICAgICAgIG1ldGhvZCBibG9ja3MgaWYgbmVjZXNzYXJ5IHVudGlsIGl0IGNhbiByZXR1cm4gd2l0aG91dCBtYWtpbmcgdGhlIGNvdW50ZXIKICAgICAgIG5lZ2F0aXZlLiBJZiBub3QgZ2l2ZW4sIHZhbHVlIGRlZmF1bHRzIHRvIDEuCgogICAgaQEAAABjAwAAAAMAAAADAAAAQwAAAHNKAAAAfAEAZAEAawAAchsAdAAAZAIAgwEAggEAbgAAdAEAagIAfAAAfAIAgwIAAXQDAHQEAIMAAIMBAHwAAF8FAHwBAHwAAF8GAGQAAFMoAwAAAE5pAAAAAHMkAAAAc2VtYXBob3JlIGluaXRpYWwgdmFsdWUgbXVzdCBiZSA+PSAwKAcAAABSWQAAAFIaAAAAUiAAAABSBgAAAFILAAAAdBAAAABfU2VtYXBob3JlX19jb25kdBEAAABfU2VtYXBob3JlX192YWx1ZSgDAAAAUh4AAAB0BQAAAHZhbHVlUh8AAAAoAAAAACgAAAAAc3QAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L3RocmVhZGluZy5weVIgAAAAsAEAAHMKAAAAAAEMAQ8BEAESAWMCAAAAAwAAAAkAAABDAAAAc4wAAAB0AAB9AgB8AABqAQCPdwABeG8AfAAAagIAZAEAawIAclUAfAEAcywAUG4AAHwAAGoDAGQCAHwAAHwBAHwAAGoCAIMEAAF8AABqAQBqBACDAAABcRMAV3wAAGoCAGQDABh8AABfAgB8AABqAwBkBAB8AAB8AABqAgCDAwABdAUAfQIAV2QFAFFYfAIAUygGAAAAcwAEAABBY3F1aXJlIGEgc2VtYXBob3JlLCBkZWNyZW1lbnRpbmcgdGhlIGludGVybmFsIGNvdW50ZXIgYnkgb25lLgoKICAgICAgICBXaGVuIGludm9rZWQgd2l0aG91dCBhcmd1bWVudHM6IGlmIHRoZSBpbnRlcm5hbCBjb3VudGVyIGlzIGxhcmdlciB0aGFuCiAgICAgICAgemVybyBvbiBlbnRyeSwgZGVjcmVtZW50IGl0IGJ5IG9uZSBhbmQgcmV0dXJuIGltbWVkaWF0ZWx5LiBJZiBpdCBpcyB6ZXJvCiAgICAgICAgb24gZW50cnksIGJsb2NrLCB3YWl0aW5nIHVudGlsIHNvbWUgb3RoZXIgdGhyZWFkIGhhcyBjYWxsZWQgcmVsZWFzZSgpIHRvCiAgICAgICAgbWFrZSBpdCBsYXJnZXIgdGhhbiB6ZXJvLiBUaGlzIGlzIGRvbmUgd2l0aCBwcm9wZXIgaW50ZXJsb2NraW5nIHNvIHRoYXQKICAgICAgICBpZiBtdWx0aXBsZSBhY3F1aXJlKCkgY2FsbHMgYXJlIGJsb2NrZWQsIHJlbGVhc2UoKSB3aWxsIHdha2UgZXhhY3RseSBvbmUKICAgICAgICBvZiB0aGVtIHVwLiBUaGUgaW1wbGVtZW50YXRpb24gbWF5IHBpY2sgb25lIGF0IHJhbmRvbSwgc28gdGhlIG9yZGVyIGluCiAgICAgICAgd2hpY2ggYmxvY2tlZCB0aHJlYWRzIGFyZSBhd2FrZW5lZCBzaG91bGQgbm90IGJlIHJlbGllZCBvbi4gVGhlcmUgaXMgbm8KICAgICAgICByZXR1cm4gdmFsdWUgaW4gdGhpcyBjYXNlLgoKICAgICAgICBXaGVuIGludm9rZWQgd2l0aCBibG9ja2luZyBzZXQgdG8gdHJ1ZSwgZG8gdGhlIHNhbWUgdGhpbmcgYXMgd2hlbiBjYWxsZWQKICAgICAgICB3aXRob3V0IGFyZ3VtZW50cywgYW5kIHJldHVybiB0cnVlLgoKICAgICAgICBXaGVuIGludm9rZWQgd2l0aCBibG9ja2luZyBzZXQgdG8gZmFsc2UsIGRvIG5vdCBibG9jay4gSWYgYSBjYWxsIHdpdGhvdXQKICAgICAgICBhbiBhcmd1bWVudCB3b3VsZCBibG9jaywgcmV0dXJuIGZhbHNlIGltbWVkaWF0ZWx5OyBvdGhlcndpc2UsIGRvIHRoZQogICAgICAgIHNhbWUgdGhpbmcgYXMgd2hlbiBjYWxsZWQgd2l0aG91dCBhcmd1bWVudHMsIGFuZCByZXR1cm4gdHJ1ZS4KCiAgICAgICAgaQAAAABzKQAAACVzLmFjcXVpcmUoJXMpOiBibG9ja2VkIHdhaXRpbmcsIHZhbHVlPSVzaQEAAABzHQAAACVzLmFjcXVpcmU6IHN1Y2Nlc3MsIHZhbHVlPSVzTigGAAAAUlIAAABSagAAAFJrAAAAUisAAABSYQAAAFJTAAAAKAMAAABSHgAAAFI7AAAAUj0AAAAoAAAAACgAAAAAc3QAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L3RocmVhZGluZy5weVI6AAAAtwEAAHMaAAAAABQGAQoBEgEGAQQCCQEQARECEAIJAQ0BDAFjAQAAAAEAAAAIAAAAQwAAAHNHAAAAfAAAagAAjzgAAXwAAGoBAGQBABd8AABfAQB8AABqAgBkAgB8AAB8AABqAQCDAwABfAAAagAAagMAgwAAAVdkAwBRWGQDAFMoBAAAAHPXAAAAUmVsZWFzZSBhIHNlbWFwaG9yZSwgaW5jcmVtZW50aW5nIHRoZSBpbnRlcm5hbCBjb3VudGVyIGJ5IG9uZS4KCiAgICAgICAgV2hlbiB0aGUgY291bnRlciBpcyB6ZXJvIG9uIGVudHJ5IGFuZCBhbm90aGVyIHRocmVhZCBpcyB3YWl0aW5nIGZvciBpdAogICAgICAgIHRvIGJlY29tZSBsYXJnZXIgdGhhbiB6ZXJvIGFnYWluLCB3YWtlIHVwIHRoYXQgdGhyZWFkLgoKICAgICAgICBpAQAAAHMdAAAAJXMucmVsZWFzZTogc3VjY2VzcywgdmFsdWU9JXNOKAQAAABSagAAAFJrAAAAUisAAABSZgAAACgBAAAAUh4AAAAoAAAAACgAAAAAc3QAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L3RocmVhZGluZy5weVI/AAAA3gEAAHMKAAAAAAcKARACCQENAWMEAAAABAAAAAEAAABDAAAAcw4AAAB8AABqAACDAAABZAAAUygBAAAATigBAAAAUj8AAAAoBAAAAFIeAAAAUkEAAABSQgAAAFJDAAAAKAAAAAAoAAAAAHN0AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy90aHJlYWRpbmcucHlSRAAAAOwBAABzAgAAAAABTigJAAAAUiwAAABSLQAAAFJJAAAAUhsAAABSIAAAAFI6AAAAUkoAAABSPwAAAFJEAAAAKAAAAAAoAAAAACgAAAAAc3QAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L3RocmVhZGluZy5weVJpAAAApgEAAHMMAAAABgYGBA8HDCUGAgkOYwAAAAACAAAAAwAAAE8AAABzDQAAAHQAAHwAAHwBAI4AAFMoAQAAAHPCAgAAQSBmYWN0b3J5IGZ1bmN0aW9uIHRoYXQgcmV0dXJucyBhIG5ldyBib3VuZGVkIHNlbWFwaG9yZS4KCiAgICBBIGJvdW5kZWQgc2VtYXBob3JlIGNoZWNrcyB0byBtYWtlIHN1cmUgaXRzIGN1cnJlbnQgdmFsdWUgZG9lc24ndCBleGNlZWQgaXRzCiAgICBpbml0aWFsIHZhbHVlLiBJZiBpdCBkb2VzLCBWYWx1ZUVycm9yIGlzIHJhaXNlZC4gSW4gbW9zdCBzaXR1YXRpb25zCiAgICBzZW1hcGhvcmVzIGFyZSB1c2VkIHRvIGd1YXJkIHJlc291cmNlcyB3aXRoIGxpbWl0ZWQgY2FwYWNpdHkuCgogICAgSWYgdGhlIHNlbWFwaG9yZSBpcyByZWxlYXNlZCB0b28gbWFueSB0aW1lcyBpdCdzIGEgc2lnbiBvZiBhIGJ1Zy4gSWYgbm90CiAgICBnaXZlbiwgdmFsdWUgZGVmYXVsdHMgdG8gMS4KCiAgICBMaWtlIHJlZ3VsYXIgc2VtYXBob3JlcywgYm91bmRlZCBzZW1hcGhvcmVzIG1hbmFnZSBhIGNvdW50ZXIgcmVwcmVzZW50aW5nCiAgICB0aGUgbnVtYmVyIG9mIHJlbGVhc2UoKSBjYWxscyBtaW51cyB0aGUgbnVtYmVyIG9mIGFjcXVpcmUoKSBjYWxscywgcGx1cyBhbgogICAgaW5pdGlhbCB2YWx1ZS4gVGhlIGFjcXVpcmUoKSBtZXRob2QgYmxvY2tzIGlmIG5lY2Vzc2FyeSB1bnRpbCBpdCBjYW4gcmV0dXJuCiAgICB3aXRob3V0IG1ha2luZyB0aGUgY291bnRlciBuZWdhdGl2ZS4gSWYgbm90IGdpdmVuLCB2YWx1ZSBkZWZhdWx0cyB0byAxLgoKICAgICgBAAAAdBEAAABfQm91bmRlZFNlbWFwaG9yZSgCAAAAUikAAABSMgAAACgAAAAAKAAAAABzdAAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvdGhyZWFkaW5nLnB5Ug4AAADwAQAAcwIAAAAAEFJtAAAAYwAAAAAAAAAAAwAAAEIAAABzJgAAAGUAAFoBAGQAAFoCAGQBAGQEAGQCAIQCAFoEAGQDAIQAAFoFAFJTKAUAAABz4QAAAEEgYm91bmRlZCBzZW1hcGhvcmUgY2hlY2tzIHRvIG1ha2Ugc3VyZSBpdHMgY3VycmVudCB2YWx1ZSBkb2Vzbid0IGV4Y2VlZAogICAgICAgaXRzIGluaXRpYWwgdmFsdWUuIElmIGl0IGRvZXMsIFZhbHVlRXJyb3IgaXMgcmFpc2VkLiBJbiBtb3N0IHNpdHVhdGlvbnMKICAgICAgIHNlbWFwaG9yZXMgYXJlIHVzZWQgdG8gZ3VhcmQgcmVzb3VyY2VzIHdpdGggbGltaXRlZCBjYXBhY2l0eS4KICAgIGkBAAAAYwMAAAADAAAABAAAAEMAAABzIAAAAHQAAGoBAHwAAHwBAHwCAIMDAAF8AQB8AABfAgBkAABTKAEAAABOKAMAAABSaQAAAFIgAAAAdA4AAABfaW5pdGlhbF92YWx1ZSgDAAAAUh4AAABSbAAAAFIfAAAAKAAAAAAoAAAAAHN0AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy90aHJlYWRpbmcucHlSIAAAAAgCAABzBAAAAAABEwFjAQAAAAEAAAAHAAAAQwAAAHNRAAAAfAAAagAAj0IAAXwAAGoBAHwAAGoCAGsFAHIrAHQDAGQBAIMBAIIBAG4AAHwAAARqAQBkAgA3Al8BAHwAAGoAAGoEAIMAAAFXZAMAUVhkAwBTKAQAAABzNgEAAFJlbGVhc2UgYSBzZW1hcGhvcmUsIGluY3JlbWVudGluZyB0aGUgaW50ZXJuYWwgY291bnRlciBieSBvbmUuCgogICAgICAgIFdoZW4gdGhlIGNvdW50ZXIgaXMgemVybyBvbiBlbnRyeSBhbmQgYW5vdGhlciB0aHJlYWQgaXMgd2FpdGluZyBmb3IgaXQKICAgICAgICB0byBiZWNvbWUgbGFyZ2VyIHRoYW4gemVybyBhZ2Fpbiwgd2FrZSB1cCB0aGF0IHRocmVhZC4KCiAgICAgICAgSWYgdGhlIG51bWJlciBvZiByZWxlYXNlcyBleGNlZWRzIHRoZSBudW1iZXIgb2YgYWNxdWlyZXMsCiAgICAgICAgcmFpc2UgYSBWYWx1ZUVycm9yLgoKICAgICAgICBzIQAAAFNlbWFwaG9yZSByZWxlYXNlZCB0b28gbWFueSB0aW1lc2kBAAAATigFAAAAUmoAAABSawAAAFJuAAAAUlkAAABSZgAAACgBAAAAUh4AAAAoAAAAACgAAAAAc3QAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L3RocmVhZGluZy5weVI/AAAADAIAAHMKAAAAAAoKARIBDwEPAU4oBgAAAFIsAAAAUi0AAABSSQAAAFIbAAAAUiAAAABSPwAAACgAAAAAKAAAAAAoAAAAAHN0AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy90aHJlYWRpbmcucHlSbQAAAAICAABzBgAAAAYEBgIPBGMAAAAAAgAAAAMAAABPAAAAcw0AAAB0AAB8AAB8AQCOAABTKAEAAABz3wAAAEEgZmFjdG9yeSBmdW5jdGlvbiB0aGF0IHJldHVybnMgYSBuZXcgZXZlbnQuCgogICAgRXZlbnRzIG1hbmFnZSBhIGZsYWcgdGhhdCBjYW4gYmUgc2V0IHRvIHRydWUgd2l0aCB0aGUgc2V0KCkgbWV0aG9kIGFuZCByZXNldAogICAgdG8gZmFsc2Ugd2l0aCB0aGUgY2xlYXIoKSBtZXRob2QuIFRoZSB3YWl0KCkgbWV0aG9kIGJsb2NrcyB1bnRpbCB0aGUgZmxhZyBpcwogICAgdHJ1ZS4KCiAgICAoAQAAAHQGAAAAX0V2ZW50KAIAAABSKQAAAFIyAAAAKAAAAAAoAAAAAHN0AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy90aHJlYWRpbmcucHlSCgAAAB0CAABzAgAAAAAIUm8AAABjAAAAAAAAAAACAAAAQgAAAHNQAAAAZQAAWgEAZAAAWgIAZAcAZAEAhAEAWgQAZAIAhAAAWgUAZAMAhAAAWgYAZQYAWgcAZAQAhAAAWggAZAUAhAAAWgkAZAcAZAYAhAEAWgoAUlMoCAAAAHPqAAAAQSBmYWN0b3J5IGZ1bmN0aW9uIHRoYXQgcmV0dXJucyBhIG5ldyBldmVudCBvYmplY3QuIEFuIGV2ZW50IG1hbmFnZXMgYQogICAgICAgZmxhZyB0aGF0IGNhbiBiZSBzZXQgdG8gdHJ1ZSB3aXRoIHRoZSBzZXQoKSBtZXRob2QgYW5kIHJlc2V0IHRvIGZhbHNlCiAgICAgICB3aXRoIHRoZSBjbGVhcigpIG1ldGhvZC4gVGhlIHdhaXQoKSBtZXRob2QgYmxvY2tzIHVudGlsIHRoZSBmbGFnIGlzIHRydWUuCgogICAgYwIAAAACAAAAAwAAAEMAAABzLwAAAHQAAGoBAHwAAHwBAIMCAAF0AgB0AwCDAACDAQB8AABfBAB0BQB8AABfBgBkAABTKAEAAABOKAcAAABSGgAAAFIgAAAAUgYAAABSCwAAAHQMAAAAX0V2ZW50X19jb25kUlIAAAB0DAAAAF9FdmVudF9fZmxhZygCAAAAUh4AAABSHwAAACgAAAAAKAAAAABzdAAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvdGhyZWFkaW5nLnB5UiAAAAAwAgAAcwYAAAAAARABEgFjAQAAAAEAAAABAAAAQwAAAHMRAAAAfAAAagAAagEAgwAAAWQAAFMoAQAAAE4oAgAAAFJwAAAAUiAAAAAoAQAAAFIeAAAAKAAAAAAoAAAAAHN0AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy90aHJlYWRpbmcucHl0FQAAAF9yZXNldF9pbnRlcm5hbF9sb2NrczUCAABzAgAAAAACYwEAAAABAAAAAQAAAEMAAABzBwAAAHwAAGoAAFMoAQAAAHM1AAAAUmV0dXJuIHRydWUgaWYgYW5kIG9ubHkgaWYgdGhlIGludGVybmFsIGZsYWcgaXMgdHJ1ZS4oAQAAAFJxAAAAKAEAAABSHgAAACgAAAAAKAAAAABzdAAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvdGhyZWFkaW5nLnB5dAUAAABpc1NldDkCAABzAgAAAAACYwEAAAABAAAABAAAAEMAAABzPAAAAHwAAGoAAGoBAIMAAAF6GgB0AgB8AABfAwB8AABqAABqBACDAAABV2QBAHwAAGoAAGoFAIMAAAFYZAEAUygCAAAAc70AAABTZXQgdGhlIGludGVybmFsIGZsYWcgdG8gdHJ1ZS4KCiAgICAgICAgQWxsIHRocmVhZHMgd2FpdGluZyBmb3IgdGhlIGZsYWcgdG8gYmVjb21lIHRydWUgYXJlIGF3YWtlbmVkLiBUaHJlYWRzCiAgICAgICAgdGhhdCBjYWxsIHdhaXQoKSBvbmNlIHRoZSBmbGFnIGlzIHRydWUgd2lsbCBub3QgYmxvY2sgYXQgYWxsLgoKICAgICAgICBOKAYAAABScAAAAFI6AAAAUlMAAABScQAAAFJoAAAAUj8AAAAoAQAAAFIeAAAAKAAAAAAoAAAAAHN0AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy90aHJlYWRpbmcucHl0AwAAAHNldD8CAABzCgAAAAAHDQEDAQkBEQJjAQAAAAEAAAAEAAAAQwAAAHMvAAAAfAAAagAAagEAgwAAAXoNAHQCAHwAAF8DAFdkAQB8AABqAABqBACDAAABWGQBAFMoAgAAAHOqAAAAUmVzZXQgdGhlIGludGVybmFsIGZsYWcgdG8gZmFsc2UuCgogICAgICAgIFN1YnNlcXVlbnRseSwgdGhyZWFkcyBjYWxsaW5nIHdhaXQoKSB3aWxsIGJsb2NrIHVudGlsIHNldCgpIGlzIGNhbGxlZCB0bwogICAgICAgIHNldCB0aGUgaW50ZXJuYWwgZmxhZyB0byB0cnVlIGFnYWluLgoKICAgICAgICBOKAUAAABScAAAAFI6AAAAUlIAAABScQAAAFI/AAAAKAEAAABSHgAAACgAAAAAKAAAAABzdAAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvdGhyZWFkaW5nLnB5dAUAAABjbGVhck0CAABzCAAAAAAHDQEDAQ0CYwIAAAACAAAABAAAAEMAAABzSQAAAHwAAGoAAGoBAIMAAAF6JwB8AABqAgBzLAB8AABqAABqAwB8AQCDAQABbgAAfAAAagIAU1dkAQB8AABqAABqBACDAAABWGQBAFMoAgAAAHNIAgAAQmxvY2sgdW50aWwgdGhlIGludGVybmFsIGZsYWcgaXMgdHJ1ZS4KCiAgICAgICAgSWYgdGhlIGludGVybmFsIGZsYWcgaXMgdHJ1ZSBvbiBlbnRyeSwgcmV0dXJuIGltbWVkaWF0ZWx5LiBPdGhlcndpc2UsCiAgICAgICAgYmxvY2sgdW50aWwgYW5vdGhlciB0aHJlYWQgY2FsbHMgc2V0KCkgdG8gc2V0IHRoZSBmbGFnIHRvIHRydWUsIG9yIHVudGlsCiAgICAgICAgdGhlIG9wdGlvbmFsIHRpbWVvdXQgb2NjdXJzLgoKICAgICAgICBXaGVuIHRoZSB0aW1lb3V0IGFyZ3VtZW50IGlzIHByZXNlbnQgYW5kIG5vdCBOb25lLCBpdCBzaG91bGQgYmUgYQogICAgICAgIGZsb2F0aW5nIHBvaW50IG51bWJlciBzcGVjaWZ5aW5nIGEgdGltZW91dCBmb3IgdGhlIG9wZXJhdGlvbiBpbiBzZWNvbmRzCiAgICAgICAgKG9yIGZyYWN0aW9ucyB0aGVyZW9mKS4KCiAgICAgICAgVGhpcyBtZXRob2QgcmV0dXJucyB0aGUgaW50ZXJuYWwgZmxhZyBvbiBleGl0LCBzbyBpdCB3aWxsIGFsd2F5cyByZXR1cm4KICAgICAgICBUcnVlIGV4Y2VwdCBpZiBhIHRpbWVvdXQgaXMgZ2l2ZW4gYW5kIHRoZSBvcGVyYXRpb24gdGltZXMgb3V0LgoKICAgICAgICBOKAUAAABScAAAAFI6AAAAUnEAAABSYQAAAFI/AAAAKAIAAABSHgAAAFJaAAAAKAAAAAAoAAAAAHN0AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy90aHJlYWRpbmcucHlSYQAAAFoCAABzDAAAAAAPDQEDAQkBEwELAk4oCwAAAFIsAAAAUi0AAABSSQAAAFIbAAAAUiAAAABScgAAAFJzAAAAdAYAAABpc19zZXRSdAAAAFJ1AAAAUmEAAAAoAAAAACgAAAAAKAAAAABzdAAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvdGhyZWFkaW5nLnB5Um8AAAAnAgAAcxAAAAAGBQYEDAUJBAkEBgIJDgkNaQAAAABzCQAAAFRocmVhZC0lZGMBAAAAAQAAAAIAAABDAAAAcxIAAAB0AABkAQAXYQAAfAAAdAAAFlMoAgAAAE5pAQAAACgBAAAAdAgAAABfY291bnRlcigBAAAAdAgAAAB0ZW1wbGF0ZSgAAAAAKAAAAABzdAAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvdGhyZWFkaW5nLnB5dAgAAABfbmV3bmFtZXMCAABzBAAAAAACCgFjAAAAAAAAAAAHAAAAQgAAAHM6AQAAZQAAWgEAZAAAWgIAZQMAWgQAZQUAagYAWgcAZQUAaggAWgkAZBgAZBgAZBgAZBkAZBgAZBgAZAEAhAYAWgsAZAIAhAAAWgwAZQ0AZAMAhAAAgwEAWg4AZAQAhAAAWg8AZAUAhAAAWhAAZAYAhAAAWhEAZAcAhAAAWhIAZAgAhAAAWhMAZAkAhAAAWhQAZAoAhAAAWhUAZAsAhAAAWhYAZAwAhAAAWhcAZBgAZA0AhAEAWhgAZQ0AZA4AhAAAgwEAWhkAZRkAahoAZA8AhAAAgwEAWhkAZQ0AZBAAhAAAgwEAWhsAZBEAhAAAWhwAZRwAWh0AZQ0AZBIAhAAAgwEAWh4AZR4AahoAZBMAhAAAgwEAWh4AZBQAhAAAWh8AZBUAhAAAWiAAZBYAhAAAWiEAZBcAhAAAWiIAUlMoGgAAAHNxAAAAQSBjbGFzcyB0aGF0IHJlcHJlc2VudHMgYSB0aHJlYWQgb2YgY29udHJvbC4KCiAgICBUaGlzIGNsYXNzIGNhbiBiZSBzYWZlbHkgc3ViY2xhc3NlZCBpbiBhIGxpbWl0ZWQgZmFzaGlvbi4KCiAgICBjBwAAAAcAAAADAAAAQwAAAHPIAAAAfAEAZAIAawgAcxgAdAEAZAEAgwEAggEAdAIAagMAfAAAfAYAgwIAAXwFAGQCAGsIAHI9AGkAAH0FAG4AAHwCAHwAAF8EAHQFAHwDAHBVAHQGAIMAAIMBAHwAAF8HAHwEAHwAAF8IAHwFAHwAAF8JAHwAAGoKAIMAAHwAAF8LAGQCAHwAAF8MAHQNAIMAAHwAAF8OAHQPAHwAAF8QAHQRAHQSAIMAAIMBAHwAAF8TAHQUAHwAAF8VAHQWAGoXAHwAAF8YAGQCAFMoAwAAAHNDAwAAVGhpcyBjb25zdHJ1Y3RvciBzaG91bGQgYWx3YXlzIGJlIGNhbGxlZCB3aXRoIGtleXdvcmQgYXJndW1lbnRzLiBBcmd1bWVudHMgYXJlOgoKICAgICAgICAqZ3JvdXAqIHNob3VsZCBiZSBOb25lOyByZXNlcnZlZCBmb3IgZnV0dXJlIGV4dGVuc2lvbiB3aGVuIGEgVGhyZWFkR3JvdXAKICAgICAgICBjbGFzcyBpcyBpbXBsZW1lbnRlZC4KCiAgICAgICAgKnRhcmdldCogaXMgdGhlIGNhbGxhYmxlIG9iamVjdCB0byBiZSBpbnZva2VkIGJ5IHRoZSBydW4oKQogICAgICAgIG1ldGhvZC4gRGVmYXVsdHMgdG8gTm9uZSwgbWVhbmluZyBub3RoaW5nIGlzIGNhbGxlZC4KCiAgICAgICAgKm5hbWUqIGlzIHRoZSB0aHJlYWQgbmFtZS4gQnkgZGVmYXVsdCwgYSB1bmlxdWUgbmFtZSBpcyBjb25zdHJ1Y3RlZCBvZgogICAgICAgIHRoZSBmb3JtICJUaHJlYWQtTiIgd2hlcmUgTiBpcyBhIHNtYWxsIGRlY2ltYWwgbnVtYmVyLgoKICAgICAgICAqYXJncyogaXMgdGhlIGFyZ3VtZW50IHR1cGxlIGZvciB0aGUgdGFyZ2V0IGludm9jYXRpb24uIERlZmF1bHRzIHRvICgpLgoKICAgICAgICAqa3dhcmdzKiBpcyBhIGRpY3Rpb25hcnkgb2Yga2V5d29yZCBhcmd1bWVudHMgZm9yIHRoZSB0YXJnZXQKICAgICAgICBpbnZvY2F0aW9uLiBEZWZhdWx0cyB0byB7fS4KCiAgICAgICAgSWYgYSBzdWJjbGFzcyBvdmVycmlkZXMgdGhlIGNvbnN0cnVjdG9yLCBpdCBtdXN0IG1ha2Ugc3VyZSB0byBpbnZva2UKICAgICAgICB0aGUgYmFzZSBjbGFzcyBjb25zdHJ1Y3RvciAoVGhyZWFkLl9faW5pdF9fKCkpIGJlZm9yZSBkb2luZyBhbnl0aGluZwogICAgICAgIGVsc2UgdG8gdGhlIHRocmVhZC4KCnMjAAAAZ3JvdXAgYXJndW1lbnQgbXVzdCBiZSBOb25lIGZvciBub3dOKBkAAABSGwAAAHQOAAAAQXNzZXJ0aW9uRXJyb3JSGgAAAFIgAAAAdA8AAABfVGhyZWFkX190YXJnZXR0AwAAAHN0clJ5AAAAdA0AAABfVGhyZWFkX19uYW1ldA0AAABfVGhyZWFkX19hcmdzdA8AAABfVGhyZWFkX19rd2FyZ3N0CwAAAF9zZXRfZGFlbW9udBEAAABfVGhyZWFkX19kYWVtb25pY3QOAAAAX1RocmVhZF9faWRlbnRSCgAAAHQQAAAAX1RocmVhZF9fc3RhcnRlZFJSAAAAdBAAAABfVGhyZWFkX19zdG9wcGVkUgYAAABSCwAAAHQOAAAAX1RocmVhZF9fYmxvY2tSUwAAAHQUAAAAX1RocmVhZF9faW5pdGlhbGl6ZWRSJQAAAFImAAAAdA8AAABfVGhyZWFkX19zdGRlcnIoBwAAAFIeAAAAdAUAAABncm91cHQGAAAAdGFyZ2V0UiMAAABSKQAAAFIyAAAAUh8AAAAoAAAAACgAAAAAc3QAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L3RocmVhZGluZy5weVIgAAAAkAIAAHMeAAAAABcYARABDAEJAQkBGAEJAQkBDwEJAQwBCQESAQkDYwEAAAABAAAAAwAAAEMAAABzMAAAAHQAAHwAAGQBAIMCAHIfAHwAAGoBAGoCAIMAAAFuAAB8AABqAwBqBACDAAABZAAAUygCAAAATlKFAAAAKAUAAAB0BwAAAGhhc2F0dHJShQAAAFIgAAAAUoMAAABScgAAACgBAAAAUh4AAAAoAAAAACgAAAAAc3QAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L3RocmVh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gwAAPVduBwABAQFuAQBYV2QAAFFYWGQAAFMoDQAAAE5zIAAAACVzLl9fYm9vdHN0cmFwKCk6IHRocmVhZCBzdGFydGVkcygAAAAlcy5fX2Jvb3RzdHJhcCgpOiByZWdpc3RlcmluZyB0cmFjZSBob29rcyoAAAAlcy5fX2Jvb3RzdHJhcCgpOiByZWdpc3RlcmluZyBwcm9maWxlIGhvb2tzIwAAACVzLl9fYm9vdHN0cmFwKCk6IHJhaXNlZCBTeXN0ZW1FeGl0cyUAAAAlcy5fX2Jvb3RzdHJhcCgpOiB1bmhhbmRsZWQgZXhjZXB0aW9ucxsAAABFeGNlcHRpb24gaW4gdGhyZWFkICVzOgolcwpzFAAAAEV4Y2VwdGlvbiBpbiB0aHJlYWQgczIAAAAgKG1vc3QgbGlrZWx5IHJhaXNlZCBkdXJpbmcgaW50ZXJwcmV0ZXIgc2h1dGRvd24pOnMiAAAAVHJhY2ViYWNrIChtb3N0IHJlY2VudCBjYWxsIGxhc3QpOnMbAAAAICBGaWxlICIlcyIsIGxpbmUgJXMsIGluICVzcwYAAAAlczogJXNzHwAAACVzLl9fYm9vdHN0cmFwKCk6IG5vcm1hbCByZXR1cm4oHgAAAFKaAAAAUoMAAABSdAAAAFKRAAAAUiIAAABSggAAAFKSAAAAUisAAABSMAAAAFIlAAAAUhIAAABSLgAAAFIRAAAAUpcAAAB0CgAAAFN5c3RlbUV4aXRSJgAAAFInAAAAUiMAAAB0CwAAAF9mb3JtYXRfZXhjdBEAAABfVGhyZWFkX19leGNfaW5mb1KHAAAAdAgAAAB0Yl9mcmFtZXQGAAAAZl9jb2RldAsAAABjb19maWxlbmFtZXQJAAAAdGJfbGluZW5vdAcAAABjb19uYW1ldAcAAAB0Yl9uZXh0dBIAAABfVGhyZWFkX19leGNfY2xlYXJ0DQAAAF9UaHJlYWRfX3N0b3BSIQAAACgEAAAAUh4AAAB0CAAAAGV4Y190eXBldAkAAABleGNfdmFsdWV0BgAAAGV4Y190YigAAAAAKAAAAABzdAAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xp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IHRoZSBqb2luKCkgY2FsbCB0aW1lZCBvdXQuCgogICAgICAgIFdoZW4gdGhlIHRpbWVvdXQgYXJndW1lbnQgaXMgbm90IHByZXNlbnQgb3IgTm9uZSwgdGhlIG9wZXJhdGlvbiB3aWxsCiAgICAgICAgYmxvY2sgdW50aWwgdGhlIHRocmVhZCB0ZXJtaW5hdGVzLgoKICAgICAgICBBIHRocmVhZCBjYW4gYmUgam9pbigpZWQgbWFueSB0aW1lcy4KCiAgICAgICAgam9pbigpIHJhaXNlcyBhIFJ1bnRpbWVFcnJvciBpZiBhbiBhdHRlbXB0IGlzIG1hZGUgdG8gam9pbiB0aGUgY3VycmVudAogICAgICAgIHRocmVhZCBhcyB0aGF0IHdvdWxkIGNhdXNlIGEgZGVhZGxvY2suIEl0IGlzIGFsc28gYW4gZXJyb3IgdG8gam9pbigpIGEKICAgICAgICB0aHJlYWQgYmVmb3JlIGl0IGhhcyBiZWVuIHN0YXJ0ZWQgYW5kIGF0dGVtcHRzIHRvIGRvIHNvIHJhaXNlcyB0aGUgc2FtZQogICAgICAgIGV4Y2VwdGlvbi4KCiAgICAgICAgcxwAAABUaHJlYWQuX19pbml0X18oKSBub3QgY2FsbGVkcycAAABjYW5ub3Qgam9pbiB0aHJlYWQgYmVmb3JlIGl0IGlzIHN0YXJ0ZWRzGgAAAGNhbm5vdCBqb2luIGN1cnJlbnQgdGhyZWFkcyUAAAAlcy5qb2luKCk6IHdhaXRpbmcgdW50aWwgdGhyZWFkIHN0b3BzcxkAAAAlcy5qb2luKCk6IHRocmVhZCBzdG9wcGVkaQAAAABzFAAAACVzLmpvaW4oKTogdGltZWQgb3V0TigNAAAAUoYAAABSPgAAAFKDAAAAUnYAAABSCAAAAFKEAAAAUisAAABShQAAAFI6AAAAUhsAAABSYQAAAFJVAAAAUj8AAAAoBAAAAFIeAAAAUloAAAB0CAAAAGRlYWRsaW5lUl4AAAAoAAAAACgAAAAAc3QAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L3RocmVhZGluZy5weXQEAAAAam9pbo8DAABzLgAAAAAYCQEPAQ8BDwEPAQ8DCQETAQ0BAwEMAQwBEQITAg0BDAENAQwCEAEEARQDFAJjAQAAAAEAAAACAAAAQwAAAHMcAAAAfAAAagAAcxUAdAEAZAEAgwEAggEAfAAAagIAUygCAAAAc7gAAABBIHN0cmluZyB1c2VkIGZvciBpZGVudGlmaWNhdGlvbiBwdXJwb3NlcyBvbmx5LgoKICAgICAgICBJdCBoYXMgbm8gc2VtYW50aWNzLiBNdWx0aXBsZSB0aHJlYWRzIG1heSBiZSBnaXZlbiB0aGUgc2FtZSBuYW1lLiBUaGUKICAgICAgICBpbml0aWFsIG5hbWUgaXMgc2V0IGJ5IHRoZSBjb25zdHJ1Y3Rvci4KCiAgICAgICAgcxwAAABUaHJlYWQuX19pbml0X18oKSBub3QgY2FsbGVkKAMAAABShgAAAFJ6AAAAUn0AAAAoAQAAAFIeAAAAKAAAAAAoAAAAAHN0AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy90aHJlYWRpbmcucHlSIwAAAMcDAABzBAAAAAAIFQFjAgAAAAIAAAACAAAAQwAAAHMoAAAAfAAAagAAcxUAdAEAZAEAgwEAggEAdAIAfAEAgwEAfAAAXwMAZAAAUygCAAAATnMcAAAAVGhyZWFkLl9faW5pdF9fKCkgbm90IGNhbGxlZCgEAAAAUoYAAABSegAAAFJ8AAAAUn0AAAAoAgAAAFIeAAAAUiMAAAAoAAAAACgAAAAAc3QAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L3RocmVhZGluZy5weVIjAAAA0gMAAHMEAAAAAAIVAWMBAAAAAQAAAAIAAABDAAAAcxwAAAB8AABqAABzFQB0AQBkAQCDAQCCAQB8AABqAgBTKAIAAABzOwEAAFRocmVhZCBpZGVudGlmaWVyIG9mIHRoaXMgdGhyZWFkIG9yIE5vbmUgaWYgaXQgaGFzIG5vdCBiZWVuIHN0YXJ0ZWQuCgogICAgICAgIFRoaXMgaXMgYSBub256ZXJvIGludGVnZXIuIFNlZSB0aGUgdGhyZWFkLmdldF9pZGVudCgpIGZ1bmN0aW9uLiBUaHJlYWQKICAgICAgICBpZGVudGlmaWVycyBtYXkgYmUgcmVjeWNsZWQgd2hlbiBhIHRocmVhZCBleGl0cyBhbmQgYW5vdGhlciB0aHJlYWQgaXMKICAgICAgICBjcmVhdGVkLiBUaGUgaWRlbnRpZmllciBpcyBhdmFpbGFibGUgZXZlbiBhZnRlciB0aGUgdGhyZWFkIGhhcyBleGl0ZWQuCgogICAgICAgIHMcAAAAVGhyZWFkLl9faW5pdF9fKCkgbm90IGNhbGxlZCgDAAAAUoYAAABSegAAAFKCAAAAKAEAAABSHgAAACgAAAAAKAAAAABzdAAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvdGhyZWFkaW5nLnB5UioAAADXAwAAcwQAAAAACRUBYwEAAAABAAAAAgAAAEMAAABzLAAAAHwAAGoAAHMVAHQBAGQBAIMBAIIBAHwAAGoCAGoDAIMAAG8rAHwAAGoEAAxTKAIAAABz9gAAAFJldHVybiB3aGV0aGVyIHRoZSB0aHJlYWQgaXMgYWxpdmUuCgogICAgICAgIFRoaXMgbWV0aG9kIHJldHVybnMgVHJ1ZSBqdXN0IGJlZm9yZSB0aGUgcnVuKCkgbWV0aG9kIHN0YXJ0cyB1bnRpbCBqdXN0CiAgICAgICAgYWZ0ZXIgdGhlIHJ1bigpIG1ldGhvZCB0ZXJtaW5hdGVzLiBUaGUgbW9kdWxlIGZ1bmN0aW9uIGVudW1lcmF0ZSgpCiAgICAgICAgcmV0dXJucyBhIGxpc3Qgb2YgYWxsIGFsaXZlIHRocmVhZHMuCgogICAgICAgIHMcAAAAVGhyZWFkLl9faW5pdF9fKCkgbm90IGNhbGxlZCgFAAAAUoYAAABSegAAAFKDAAAAUnYAAABShAAAACgBAAAAUh4AAAAoAAAAACgAAAAAc3QAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L3RocmVhZGluZy5weXQHAAAAaXNBbGl2ZeMDAABzBAAAAAAIFQFjAQAAAAEAAAACAAAAQwAAAHMcAAAAfAAAagAAcxUAdAEAZAEAgwEAggEAfAAAagIAUygCAAAAc9wBAABBIGJvb2xlYW4gdmFsdWUgaW5kaWNhdGluZyB3aGV0aGVyIHRoaXMgdGhyZWFkIGlzIGEgZGFlbW9uIHRocmVhZCAoVHJ1ZSkgb3Igbm90IChGYWxzZSkuCgogICAgICAgIFRoaXMgbXVzdCBiZSBzZXQgYmVmb3JlIHN0YXJ0KCkgaXMgY2FsbGVkLCBvdGhlcndpc2UgUnVudGltZUVycm9yIGlzCiAgICAgICAgcmFpc2VkLiBJdHMgaW5pdGlhbCB2YWx1ZSBpcyBpbmhlcml0ZWQgZnJvbSB0aGUgY3JlYXRpbmcgdGhyZWFkOyB0aGUKICAgICAgICBtYWluIHRocmVhZCBpcyBub3QgYSBkYWVtb24gdGhyZWFkIGFuZCB0aGVyZWZvcmUgYWxsIHRocmVhZHMgY3JlYXRlZCBpbgogICAgICAgIHRoZSBtYWluIHRocmVhZCBkZWZhdWx0IHRvIGRhZW1vbiA9IEZhbHNlLgoKICAgICAgICBUaGUgZW50aXJlIFB5dGhvbiBwcm9ncmFtIGV4aXRzIHdoZW4gbm8gYWxpdmUgbm9uLWRhZW1vbiB0aHJlYWRzIGFyZQogICAgICAgIGxlZnQuCgogICAgICAgIHMcAAAAVGhyZWFkLl9faW5pdF9fKCkgbm90IGNhbGxlZCgDAAAAUoYAAABSegAAAFKBAAAAKAEAAABSHgAAACgAAAAAKAAAAABzdAAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvdGhyZWFkaW5nLnB5UowAAADwAwAAcwQAAAAADRUBYwIAAAACAAAAAgAAAEMAAABzQwAAAHwAAGoAAHMYAHQBAGQBAIMBAIIBAG4AAHwAAGoCAGoDAIMAAHI2AHQBAGQCAIMBAIIBAG4AAHwBAHwAAF8EAGQAAFMoAwAAAE5zHAAAAFRocmVhZC5fX2luaXRfXygpIG5vdCBjYWxsZWRzKQAAAGNhbm5vdCBzZXQgZGFlbW9uIHN0YXR1cyBvZiBhY3RpdmUgdGhyZWFkKAUAAABShgAAAFI+AAAAUoMAAABSdgAAAFKBAAAAKAIAAABSHgAAAHQIAAAAZGFlbW9uaWMoAAAAACgAAAAAc3QAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L3RocmVhZGluZy5weVKMAAAAAAQAAHMKAAAAAAIJAQ8BDwEPAWMBAAAAAQAAAAEAAABDAAAAcwcAAAB8AABqAABTKAEAAABOKAEAAABSjAAAACgBAAAAUh4AAAAoAAAAACgAAAAAc3QAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L3RocmVhZGluZy5weXQIAAAAaXNEYWVtb24IBAAAcwIAAAAAAWMCAAAAAgAAAAIAAABDAAAAcw0AAAB8AQB8AABfAABkAABTKAEAAABOKAEAAABSjAAAACgCAAAAUh4AAABSsQAAACgAAAAAKAAAAABzdAAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvdGhyZWFkaW5nLnB5dAkAAABzZXREYWVtb24LBAAAcwIAAAAAAWMBAAAAAQAAAAEAAABDAAAAcwcAAAB8AABqAABTKAEAAABOKAEAAABSIwAAACgBAAAAUh4AAAAoAAAAACgAAAAAc3QAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L3RocmVhZGluZy5weXQHAAAAZ2V0TmFtZQ4EAABzAgAAAAABYwIAAAACAAAAAgAAAEMAAABzDQAAAHwBAHwAAF8AAGQAAFMoAQAAAE4oAQAAAFIjAAAAKAIAAABSHgAAAFIjAAAAKAAAAAAoAAAAAHN0AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy90aHJlYWRpbmcucHl0BwAAAHNldE5hbWURBAAAcwIAAAAAAU4oAAAAACgjAAAAUiwAAABSLQAAAFJJAAAAUlIAAABShgAAAFIlAAAAdAgAAABleGNfaW5mb1KdAAAAdAkAAABleGNfY2xlYXJSpAAAAFIbAAAAUiAAAABScgAAAHQIAAAAcHJvcGVydHlSiwAAAFKAAAAAUjkAAABSlgAAAFKXAAAAUpQAAABSmgAAAFKYAAAAUqUAAAB0DwAAAF9UaHJlYWRfX2RlbGV0ZVKvAAAAUiMAAAB0BgAAAHNldHRlclIqAAAAUrAAAAB0CAAAAGlzX2FsaXZlUowAAABSsgAAAFKzAAAAUrQAAABStQAAACgAAAAAKAAAAAAoAAAAAHN0AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy90aHJlYWRpbmcucHlSDwAAAIACAABzOgAAAAYFBgEGBQkDCQIJARIoCQcPBQkECQ0JGgkRCRQJAwlKCQoJIww4DwsSBQ8MCQsGAg8QEggJAwkDCQNjAAAAAAIAAAADAAAATwAAAHMNAAAAdAAAfAAAfAEAjgAAUygBAAAAc/oAAABGYWN0b3J5IGZ1bmN0aW9uIHRvIGNyZWF0ZSBhIFRpbWVyIG9iamVjdC4KCiAgICBUaW1lcnMgY2FsbCBhIGZ1bmN0aW9uIGFmdGVyIGEgc3BlY2lmaWVkIG51bWJlciBvZiBzZWNvbmRzOgoKICAgICAgICB0ID0gVGltZXIoMzAuMCwgZiwgYXJncz1bXSwga3dhcmdzPXt9KQogICAgICAgIHQuc3RhcnQoKQogICAgICAgIHQuY2FuY2VsKCkgICAgICMgc3RvcCB0aGUgdGltZXIncyBhY3Rpb24gaWYgaXQncyBzdGlsbCB3YWl0aW5nCgogICAgKAEAAAB0BgAAAF9UaW1lcigCAAAAUikAAABSMgAAACgAAAAAKAAAAABzdAAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvdGhyZWFkaW5nLnB5UhAAAAAWBAAAcwIAAAAAClK8AAAAYwAAAAAAAAAAAwAAAEIAAABzLwAAAGUAAFoBAGQAAFoCAGcAAGkAAGQBAIQCAFoDAGQCAIQAAFoEAGQDAIQAAFoFAFJTKAQAAABzzwAAAENhbGwgYSBmdW5jdGlvbiBhZnRlciBhIHNwZWNpZmllZCBudW1iZXIgb2Ygc2Vjb25kczoKCiAgICAgICAgICAgIHQgPSBUaW1lcigzMC4wLCBmLCBhcmdzPVtdLCBrd2FyZ3M9e30pCiAgICAgICAgICAgIHQuc3RhcnQoKQogICAgICAgICAgICB0LmNhbmNlbCgpICAgICAjIHN0b3AgdGhlIHRpbWVyJ3MgYWN0aW9uIGlmIGl0J3Mgc3RpbGwgd2FpdGluZwoKICAgIGMFAAAABQAAAAIAAABDAAAAc0EAAAB0AABqAQB8AACDAQABfAEAfAAAXwIAfAIAfAAAXwMAfAMAfAAAXwQAfAQAfAAAXwUAdAYAgwAAfAAAXwcAZAAAUygBAAAATigIAAAAUg8AAABSIAAAAHQIAAAAaW50ZXJ2YWx0CAAAAGZ1bmN0aW9uUikAAABSMgAAAFIKAAAAdAgAAABmaW5pc2hlZCgFAAAAUh4AAABSvQAAAFK+AAAAUikAAABSMgAAACgAAAAAKAAAAABzdAAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvdGhyZWFkaW5nLnB5UiAAAAArBAAAcwwAAAAAAQ0BCQEJAQkBCQFjAQAAAAEAAAABAAAAQwAAAHMRAAAAfAAAagAAagEAgwAAAWQBAFMoAgAAAHMoAAAAU3RvcCB0aGUgdGltZXIgaWYgaXQgaGFzbid0IGZpbmlzaGVkIHlldE4oAgAAAFK/AAAAUnQAAAAoAQAAAFIeAAAAKAAAAAAoAAAAAHN0AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy90aHJlYWRpbmcucHl0BgAAAGNhbmNlbDMEAABzAgAAAAACYwEAAAABAAAAAwAAAEMAAABzTAAAAHwAAGoAAGoBAHwAAGoCAIMBAAF8AABqAABqAwCDAABzOwB8AABqBAB8AABqBQB8AABqBgCOAAABbgAAfAAAagAAagcAgwAAAWQAAFMoAQAAAE4oCAAAAFK/AAAAUmEAAABSvQAAAFJ2AAAAUr4AAABSKQAAAFIyAAAAUnQAAAAoAQAAAFIeAAAAKAAAAAAoAAAAAHN0AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy90aHJlYWRpbmcucHlSlwAAADcEAABzCAAAAAABEwEPARkBKAYAAABSLAAAAFItAAAAUkkAAABSIAAAAFLAAAAAUpcAAAAoAAAAACgAAAAAKAAAAABzdAAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvdGhyZWFkaW5nLnB5UrwAAAAiBAAAcwgAAAAGBwYCDwgJBHQLAAAAX01haW5UaHJlYWRjAAAA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L29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvdGhyZWFkaW5nLnB5UiAAAABqBAAAcwwAAAAAARkFBgINAQoBBwFjAQAAAAEAAAABAAAAQwAAAHMEAAAAdAAAUygBAAAATigBAAAAUlMAAAAoAQAAAFIeAAAAKAAAAAAoAAAAAHN0AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy90aHJlYWRpbmcucHlSgAAAAHcEAABzAgAAAAABYwIAAAACAAAAAgAAAEMAAABzFgAAAHQAAHMSAHQBAGQBAIMBAIIBAGQAAFMoAgAAAE5zGgAAAGNhbm5vdCBqb2luIGEgZHVtbXkgdGhyZWFkKAIAAABSUgAAAFJ6AAAAKAIAAABSHgAAAFJaAAAAKAAAAAAoAAAAAHN0AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy90aHJlYWRpbmcucHlSrwAAAHoEAABzAgAAAAABTigGAAAAUiwAAABSLQAAAFIgAAAAUoAAAABSGwAAAFKvAAAAKAAAAAAoAAAAACgAAAAAc3QAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L3RocmVhZGluZy5weVLFAAAAaAQAAHMGAAAABgIJDQkDYwAAAAAAAAAABQAAAEMAAABzKwAAAHkPAHQAAHQBAIMAABlTV24VAAR0AgBrCgByJgABAQF0AwCDAABTWGQBAFMoAgAAAHPvAAAAUmV0dXJuIHRoZSBjdXJyZW50IFRocmVhZCBvYmplY3QsIGNvcnJlc3BvbmRpbmcgdG8gdGhlIGNhbGxlcidzIHRocmVhZCBvZiBjb250cm9sLgoKICAgIElmIHRoZSBjYWxsZXIncyB0aHJlYWQgb2YgY29udHJvbCB3YXMgbm90IGNyZWF0ZWQgdGhyb3VnaCB0aGUgdGhyZWFkaW5nCiAgICBtb2R1bGUsIGEgZHVtbXkgdGhyZWFkIG9iamVjdCB3aXRoIGxpbWl0ZWQgZnVuY3Rpb25hbGl0eSBpcyByZXR1cm5lZC4KCiAgICBOKAQAAABSIgAAAFIhAAAAUiQAAABSxQAAACgAAAAAKAAAAAAoAAAAAHN0AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy90aHJlYWRpbmcucHlSBwAAAIAEAABzCAAAAAAHAwEPAQ0CYwAAAAAAAAAABwAAAEMAAABzJQAAAHQAAI8ZAAF0AQB0AgCDAQB0AQB0AwCDAQAXU1dkAQBRWGQBAFMoAgAAAHOSAAAAUmV0dXJuIHRoZSBudW1iZXIgb2YgVGhyZWFkIG9iamVjdHMgY3VycmVudGx5IGFsaXZlLgoKICAgIFRoZSByZXR1cm5lZCBjb3VudCBpcyBlcXVhbCB0byB0aGUgbGVuZ3RoIG9mIHRoZSBsaXN0IHJldHVybmVkIGJ5CiAgICBlbnVtZXJhdGUoKS4KCiAgICBOKAQAAABSkQAAAFJQAAAAUiIAAABSkgAAACgAAAAAKAAAAAAoAAAAAHN0AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy90aHJlYWRpbmcucHlSBAAAAI8EAABzBAAAAAAHBwFjAAAAAAAAAAACAAAAQwAAAHMUAAAAdAAAagEAgwAAdAIAagEAgwAAF1MoAQAAAE4oAwAAAFIiAAAAdAYAAAB2YWx1ZXNSkgAAACgAAAAAKAAAAAAoAAAAAHN0AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2Nj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YW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L3RocmVhZGluZy5weVKXAAAAGQUAAHMIAAAAAAESAQ8BBQEoBAAAAFIsAAAAUi0AAABSIAAAAFKXAAAAKAAAAAAoAAAAACgAAAAAc3QAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L3RocmVhZGluZy5weVLdAAAAEgUAAHMEAAAABgIJBWkDAAAAaQQAAABpBQAAAHMLAAAAUHJvZHVjZXItJWRpAQAAAGeN7bWg98awPigIAAAAUhoAAABSDwAAAHQFAAAAcmFuZ2VSIwAAAFJUAAAAUpYAAABSVwAAAFKvAAAAKAsAAABSzgAAAFLYAAAAUt0AAAB0AgAAAE5QdAIAAABRTHQCAAAATkl0AQAAAFF0AQAAAFB0AQAAAGlSQQAAAHQBAAAAQygAAAAAKAAAAABzdAAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvdGhyZWFkaW5nLnB5dAUAAABfdGVzdOAEAABzKAAAAAACFiAWEBYNBgEGAQYCDAEGARMBDwERAREBEwENAQoBDgEKAQ0BDgF0CAAAAF9fbWFpbl9fKEoAAABSSQAAAHQDAAAAc3lzUiUAAABSzAAAAHQLAAAASW1wb3J0RXJyb3JSrAAAAFIsAAAAdAgAAAB3YXJuaW5nc3QLAAAAY29sbGVjdGlvbnNSAAAAAFLSAAAAUgEAAABSVQAAAFICAAAAUlcAAAB0CQAAAHRyYWNlYmFja1IDAAAAUpwAAAB0BwAAAF9fYWxsX190EAAAAHN0YXJ0X25ld190aHJlYWRSkwAAAHQNAAAAYWxsb2NhdGVfbG9ja1IzAAAAdAkAAABnZXRfaWRlbnRSIQAAAHQFAAAAZXJyb3J0CwAAAFRocmVhZEVycm9ydA4AAABmaWx0ZXJ3YXJuaW5nc3QSAAAARGVwcmVjYXRpb25XYXJuaW5nUlIAAABSHAAAAHQGAAAAb2JqZWN0UhoAAABSGwAAAFIuAAAAUjAAAABSEQAAAFISAAAAUgsAAABSDAAAAFIxAAAAUgYAAABSSwAAAFINAAAAUmkAAABSDgAAAFJtAAAAUgoAAABSbwAAAFJ3AAAAUnkAAABSkQAAAFIiAAAAUpIAAABSDwAAAFIQAAAAUrwAAABSwQAAAFLDAAAAUsUAAABSBwAAAFIIAAAAUgQAAABSBQAAAFLHAAAAUgkAAABSFAAAAFLEAAAAdAkAAABfc2h1dGRvd25SyAAAAFITAAAAdBAAAABfdGhyZWFkaW5nX2xvY2FsUs0AAABS5wAAACgAAAAAKAAAAAAoAAAAAHN0AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy90aHJlYWRpbmcucHl0CAAAADxtb2R1bGU+AQAAAHOEAAAABgIMAgMBEAENAQoBBwIMAhABFgEQDgwBCQEPARUCCQEJAQkBCQEDBRIBDQgGBBYeBgEGAgkKCQwGAgkLFnUJDRadCQsWSgkSFhsJChZLBgEMBgkBBgEGBRb/AJcJDBYeFhkJDxYYCQ0GAgkKBgIJBAkLEAYMBQMBFAENARQDCSUJUgwB