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bm90IHN1cHBvc2VkIHRvIGJlCiAgICB2aXNpYmxlIGZyb20gYSB2aXJ0dWFsIGVudmlyb25tZW50LCBgcHl2ZW52LmNmZ2AgbXVzdCBjb250YWluIHRoZSBmb2xsb3dpbmcKICAgIGxpbmU6CgogICAgICAgIGluY2x1ZGUtc3lzdGVtLXNpdGUtcGFja2FnZXMgPSBmYWxzZQoKICAgIEFkZGl0aW9uYWxseSwgbG9nIGEgd2FybmluZyBpZiBhY2Nlc3NpbmcgdGhlIGZpbGUgZmFpbHMuCiAgICBOeo5Db3VsZCBub3QgYWNjZXNzICdweXZlbnYuY2ZnJyBkZXNwaXRlIGEgdmlydHVhbCBlbnZpcm9ubWVudCBiZWluZyBhY3RpdmUuIEFzc3VtaW5nIGdsb2JhbCBzaXRlLXBhY2thZ2VzIGlzIG5vdCBhY2Nlc3NpYmxlIGluIHRoaXMgZW52aXJvbm1lbnQuVNoFdmFsdWXaBWZhbHNlRikGchgAAADaBmxvZ2dlctoHd2FybmluZ9ojX0lOQ0xVREVfU1lTVEVNX1NJVEVfUEFDS0FHRVNfUkVHRVjaBW1hdGNo2gVncm91cCkDWgljZmdfbGluZXPaBGxpbmVyHgAAAHIJAAAAcgkAAAByCgAAANoVX25vX2dsb2JhbF91bmRlcl92ZW52MwAAAHMUAAAAAAsGAQgDBAEGBAQCCgEKARYBCAFyIQAAAGMAAAAAAAAAAAIAAAADAAAAQwAAAHMwAAAAdABqAWoCdABqAWoDdARqBYMBgwF9AHQAagFqBnwAZAGDAn0BdABqAWoHfAGDAVMAKQJ6xUNoZWNrIGlmICJuby1nbG9iYWwtc2l0ZS1wYWNrYWdlcy50eHQiIGV4aXN0cyBiZXNpZGUgc2l0ZS5weQoKICAgIFRoaXMgbWlycm9ycyBsb2dpYyBpbiBweXBhL3ZpcnR1YWxlbnYgZm9yIGRldGVybWluaW5nIHdoZXRoZXIgc3lzdGVtCiAgICBzaXRlLXBhY2thZ2VzIGFyZSB2aXNpYmxlIGluIHRoZSB2aXJ0dWFsIGVudmlyb25tZW50LgogICAgehtuby1nbG9iYWwtc2l0ZS1wYWNrYWdlcy50eHQpCHIQAAAAchEAAADaB2Rpcm5hbWXaB2Fic3BhdGjaBHNpdGXaCF9fZmlsZV9fchIAAADaBmV4aXN0cykCWgxzaXRlX21vZF9kaXJaHG5vX2dsb2JhbF9zaXRlX3BhY2thZ2VzX2ZpbGVyCQAAAHIJAAAAcgoAAADaI19ub19nbG9iYWxfdW5kZXJfcmVndWxhcl92aXJ0dWFsZW52UAAAAHMKAAAAAAYWAQYBAgEGAnInAAAAYwAAAAAAAAAAAAAAAAEAAABDAAAAcxwAAAB0AIMAcgx0AYMAUwB0AoMAchh0A4MAUwBkAVMAKQJ6SFJldHVybnMgYSBib29sZWFuLCB3aGV0aGVyIHJ1bm5pbmcgaW4gdmVudiB3aXRoIG5vIHN5c3RlbSBzaXRlLXBhY2thZ2VzLkYpBHILAAAAciEAAAByDQAAAHInAAAAcgkAAAByCQAAAHIJAAAAcgoAAADaFHZpcnR1YWxlbnZfbm9fZ2xvYmFsXgAAAHMKAAAAAAQGAQYCBgEGAnIoAAAAKRbaB2xvZ2dpbmdyEAAAANoCcmVyJAAAAHIGAAAA2gZ0eXBpbmdyAgAAAHIDAAAA2glnZXRMb2dnZXLaCF9fbmFtZV9fchsAAADaB2NvbXBpbGVyHQAAANoEYm9vbHILAAAAcg0AAAByDgAAANoDc3RychgAAAByIQAAAHInAAAAcigAAAByCQAAAHIJAAAAcgkAAAByCgAAANoIPG1vZHVsZT4BAAAAcx4AAAAIAQgBCAEIAQgBEAIKAQQBBgQOCA4JDgUWDw4dDg4=