Mw0NCitAfmPXMAAA4wAAAAAAAAAAAAAAAAQAAABAAAAAc4AAAABkAFoAZAFkAmwBWgFkAWQCbAJaAmQBZAJsA1oDZANkBGwEbQVaBQEAZANkBWwGbQdaB20IWghtCVoJAQBkA2QGbAptC1oLAQBkA2QHbAxtDVoNAQBkA2QIbA5tD1oPAQBkA2QJbBBtEVoRAQBHAGQKZAuEAGQLZRKDA1oTZAJTACkMYRUBAAAKTW9kdWxlIGNvbnRhaW5pbmcgdGhlIFVuaXZlcnNhbERldGVjdG9yIGRldGVjdG9yIGNsYXNzLCB3aGljaCBpcyB0aGUgcHJpbWFyeQpjbGFzcyBhIHVzZXIgb2YgYGBjaGFyZGV0YGAgc2hvdWxkIHVzZS4KCjphdXRob3I6IE1hcmsgUGlsZ3JpbSAoaW5pdGlhbCBwb3J0IHRvIFB5dGhvbikKOmF1dGhvcjogU2h5IFNoYWxvbSAob3JpZ2luYWwgQyBjb2RlKQo6YXV0aG9yOiBEYW4gQmxhbmNoYXJkIChtYWpvciByZWZhY3RvcmluZyBmb3IgMy4wKQo6YXV0aG9yOiBJYW4gQ29yZGFzY28K6QAAAABO6QEAAAApAdoSQ2hhclNldEdyb3VwUHJvYmVyKQPaCklucHV0U3RhdGXaDkxhbmd1YWdlRmlsdGVy2gxQcm9iaW5nU3RhdGUpAdoQRXNjQ2hhclNldFByb2JlcikB2gxMYXRpbjFQcm9iZXIpAdoPTUJDU0dyb3VwUHJvYmVyKQHaD1NCQ1NHcm91cFByb2JlcmMAAAAAAAAAAAAAAAAJAAAAQAAAAHNuAAAAZQBaAWQAWgJkAVoDZAJaBGUFagZkA4MBWgdlBWoGZASDAVoIZQVqBmQFgwFaCWQGZAdkCGQJZApkC2QMZA1kDpwIWgplC2oMZgFkD2QQhAFaDWQRZBKEAFoOZBNkFIQAWg9kFWQWhABaEGQXUwApGNoRVW5pdmVyc2FsRGV0ZWN0b3JhcQEAAAogICAgVGhlIGBgVW5pdmVyc2FsRGV0ZWN0b3JgYCBjbGFzcyB1bmRlcmxpZXMgdGhlIGBgY2hhcmRldC5kZXRlY3RgYCBmdW5jdGlvbgogICAgYW5kIGNvb3JkaW5hdGVzIGFsbCBvZiB0aGUgZGlmZmVyZW50IGNoYXJzZXQgcHJvYmVycy4KCiAgICBUbyBnZXQgYSBgYGRpY3RgYCBjb250YWluaW5nIGFuIGVuY29kaW5nIGFuZCBpdHMgY29uZmlkZW5jZSwgeW91IGNhbiBzaW1wbHkKICAgIHJ1bjoKCiAgICAuLiBjb2RlOjoKCiAgICAgICAgICAgIHUgPSBVbml2ZXJzYWxEZXRlY3RvcigpCiAgICAgICAgICAgIHUuZmVlZChzb21lX2J5dGVzKQogICAgICAgICAgICB1LmNsb3NlKCkKICAgICAgICAgICAgZGV0ZWN0ZWQgPSB1LnJlc3VsdAoKICAgIGeamZmZmZnJP3MFAAAAW4At/11zBgAAACgbfH57KXMFAAAAW4Atn116DFdpbmRvd3MtMTI1MnoMV2luZG93cy0xMjUwegxXaW5kb3dzLTEyNTF6DFdpbmRvd3MtMTI1NnoMV2luZG93cy0xMjUzegxXaW5kb3dzLTEyNTV6DFdpbmRvd3MtMTI1NHoMV2luZG93cy0xMjU3KQh6Cmlzby04ODU5LTF6Cmlzby04ODU5LTJ6Cmlzby04ODU5LTV6Cmlzby04ODU5LTZ6Cmlzby04ODU5LTd6Cmlzby04ODU5LTh6Cmlzby04ODU5LTl6C2lzby04ODU5LTEzYwIAAAAAAAAAAgAAAAIAAABDAAAAc04AAABkAHwAXwBnAHwAXwFkAHwAXwJkAHwAXwNkAHwAXwRkAHwAXwVkAHwAXwZ8AXwAXwd0CGoJdAqDAXwAXwtkAHwAXwx8AGoNgwABAGQAUwApAU4pDtoTX2VzY19jaGFyc2V0X3Byb2JlctoQX2NoYXJzZXRfcHJvYmVyc9oGcmVzdWx02gRkb25l2glfZ290X2RhdGHaDF9pbnB1dF9zdGF0ZdoKX2xhc3RfY2hhctoLbGFuZ19maWx0ZXLaB2xvZ2dpbmfaCWdldExvZ2dlctoIX19uYW1lX1/aBmxvZ2dlctoOX2hhc193aW5fYnl0ZXPaBXJlc2V0KQLaBHNlbGZyEwAAAKkAchsAAAD6li9ob21lL3VldGxoci9Eb2N1bWVudHMvU2VybW9QbG90X2JhY2tlbmQvZHJhZnRfU1JBTV9ibGFja2JveC9VRVRSVl9FU29DX3YyL3ZlbnYvbGliNjQvcHl0aG9uMy42L3NpdGUtcGFja2FnZXMvcGlwL192ZW5kb3IvY2hhcmRldC91bml2ZXJzYWxkZXRlY3Rvci5wedoIX19pbml0X19RAAAAcxYAAAAAAQYBBgEGAQYBBgEGAQYBBgEMAQYBehpVbml2ZXJzYWxEZXRlY3Rvci5fX2luaXRfX2MBAAAAAAAAAAIAAAAEAAAAQwAAAHNaAAAAZAFkAmQBZAOcA3wAXwBkBHwAXwFkBHwAXwJkBHwAXwN0BGoFfABfBmQFfABfB3wAaghyPnwAaghqCYMAAQB4FnwAagpEAF0MfQF8AWoJgwABAHFGVwBkAVMAKQZ65gogICAgICAgIFJlc2V0IHRoZSBVbml2ZXJzYWxEZXRlY3RvciBhbmQgYWxsIG9mIGl0cyBwcm9iZXJzIGJhY2sgdG8gdGhlaXIKICAgICAgICBpbml0aWFsIHN0YXRlcy4gIFRoaXMgaXMgY2FsbGVkIGJ5IGBgX19pbml0X19gYCwgc28geW91IG9ubHkgbmVlZCB0bwogICAgICAgIGNhbGwgdGhpcyBkaXJlY3RseSBpbiBiZXR3ZWVuIGFuYWx5c2VzIG9mIGRpZmZlcmVudCBkb2N1bWVudHMuCiAgICAgICAgTmcAAAAAAAAAACkD2ghlbmNvZGluZ9oKY29uZmlkZW5jZdoIbGFuZ3VhZ2VG8wAAAAApC3IOAAAAcg8AAAByEAAAAHIYAAAAcgQAAADaClBVUkVfQVNDSUlyEQAAAHISAAAAcgwAAAByGQAAAHINAAAAKQJyGgAAANoGcHJvYmVychsAAAByGwAAAHIcAAAAchkAAABeAAAAcxQAAAAABg4BBgEGAQYBCAEGAQYBCgEMAXoXVW5pdmVyc2FsRGV0ZWN0b3IucmVzZXRjAgAAAAAAAAADAAAABQAAAEMAAABzPgIAAHwAagByCmQBUwB0AXwBgwFzFmQBUwB0AnwBdAODAnModAN8AYMBfQF8AGoEc958AWoFdAZqB4MBckpkAmQDZARkBZwDfABfCG52fAFqBXQGagl0BmoKZgKDAXJsZAZkA2QEZAWcA3wAXwhuVHwBagVkB4MBcoZkCGQDZARkBZwDfABfCG46fAFqBWQJgwFyoGQKZANkBGQFnAN8AF8IbiB8AWoFdAZqC3QGagxmAoMBcsBkC2QDZARkBZwDfABfCGQMfABfBHwAaghkDRkAZAFrCXLeZAx8AF8AZAFTAHwAag10DmoPawKQAXIufABqEGoRfAGDAZABcgR0DmoSfABfDW4qfABqDXQOag9rApABci58AGoTahF8AGoUfAEXAIMBkAFyLnQOahV8AF8NfAFkD2QBhQIZAHwAXxR8AGoNdA5qFWsCkAFylnwAahaQAXNedBd8AGoYgwF8AF8WfABqFmoZfAGDAXQaahtrApACcjp8AGoWahx8AGoWah2DAHwAahZqHmQFnAN8AF8IZAx8AF8AbqR8AGoNdA5qEmsCkAJyOnwAah+QAXPkdCB8AGoYgwFnAXwAXx98AGoYdCFqIkAAkAFy1nwAah9qI3QkgwCDAQEAfABqH2ojdCWDAIMBAQB4QHwAah9EAF02fQJ8AmoZfAGDAXQaahtrApABcux8AmocfAJqHYMAfAJqHmQFnAN8AF8IZAx8AF8AUACQAXHsVwB8AGomahF8AYMBkAJyOmQMfABfJ2QBUwApEGH9AQAACiAgICAgICAgVGFrZXMgYSBjaHVuayBvZiBhIGRvY3VtZW50IGFuZCBmZWVkcyBpdCB0aHJvdWdoIGFsbCBvZiB0aGUgcmVsZXZhbnQKICAgICAgICBjaGFyc2V0IHByb2JlcnMuCgogICAgICAgIEFmdGVyIGNhbGxpbmcgYGBmZWVkYGAsIHlvdSBjYW4gY2hlY2sgdGhlIHZhbHVlIG9mIHRoZSBgYGRvbmVgYAogICAgICAgIGF0dHJpYnV0ZSB0byBzZWUgaWYgeW91IG5lZWQgdG8gY29udGludWUgZmVlZGluZyB0aGUKICAgICAgICBgYFVuaXZlcnNhbERldGVjdG9yYGAgbW9yZSBkYXRhLCBvciBpZiBpdCBoYXMgbWFkZSBhIHByZWRpY3Rpb24KICAgICAgICAoaW4gdGhlIGBgcmVzdWx0YGAgYXR0cmlidXRlKS4KCiAgICAgICAgLi4gbm90ZTo6CiAgICAgICAgICAgWW91IHNob3VsZCBhbHdheXMgY2FsbCBgYGNsb3NlYGAgd2hlbiB5b3UncmUgZG9uZSBmZWVkaW5nIGluIHlvdXIKICAgICAgICAgICBkb2N1bWVudCBpZiBgYGRvbmVgYCBpcyBub3QgYWxyZWFkeSBgYFRydWVgYC4KICAgICAgICBOeglVVEYtOC1TSUdnAAAAAAAA8D/aACkDch4AAAByHwAA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