A/MNCkxcrFFjAAAAAAAAAAAEAAAAQAAAAHOkAAAAZAAAWgAAZAEAZAIAbAEAWgEAZAEAZAIAbAIAWgIAZAEAZAMAbAMAbQQAWgQAbQUAWgUAAWQEAGQFAGQGAGQHAGcEAFoGAGQIAIQAAFoHAGQEAGQNAGQJAIQAAIMAAFlaCABkBQBlCABmAQBkCgCEAACDAABZWgkAZAIAZAIAZAIAZAsAhAMAWgsAZQwAZAwAawIAcqAAZQsAgwAAAW4AAGQCAFMoDgAAAHM/AAAAVXRpbGl0aWVzIG5lZWRlZCB0byBlbXVsYXRlIFB5dGhvbidzIGludGVyYWN0aXZlIGludGVycHJldGVyLgoKaf////9OKAIAAAB0DwAAAENvbW1hbmRDb21waWxlcnQPAAAAY29tcGlsZV9jb21tYW5kdBYAAABJbnRlcmFjdGl2ZUludGVycHJldGVydBIAAABJbnRlcmFjdGl2ZUNvbnNvbGV0CAAAAGludGVyYWN0UgEAAABjAgAAAAMAAAAGAAAAQwAAAHNSAAAAZAEAfQIAeQ0AfAAAagAAfQIAV24RAAR0AQBrCgByJgABAQFuAQBYeQ0AfAEAfAAAXwAAV24XAAR0AQB0AgBmAgBrCgByTQABAQFuAQBYfAIAUygCAAAATmkAAAAAKAMAAAB0CQAAAHNvZnRzcGFjZXQOAAAAQXR0cmlidXRlRXJyb3J0CQAAAFR5cGVFcnJvcigDAAAAdAQAAABmaWxldAgAAABuZXd2YWx1ZXQIAAAAb2xkdmFsdWUoAAAAACgAAAAAc0wAAAAvdG1wL25kay1Vc2VyL2J1aWxkaG9zdC9pbnN0YWxsL3ByZWJ1aWx0L2Rhcndpbi14ODZfNjQvbGliL3B5dGhvbjIuNy9jb2RlLnB5UgUAAAAPAAAAcxQAAAAAAQYBAwENAQ0BBAEDAQ0BEwIEAWMAAAAAAAAAAAMAAABCAAAAc1AAAABlAABaAQBkAABaAgBkCQBkAQCEAQBaBABkAgBkAwBkBACEAgBaBQBkBQCEAABaBgBkCQBkBgCEAQBaBwBkBwCEAABaCABkCACEAABaCQBSUygKAAAAc/cAAABCYXNlIGNsYXNzIGZvciBJbnRlcmFjdGl2ZUNvbnNvbGUuCgogICAgVGhpcyBjbGFzcyBkZWFscyB3aXRoIHBhcnNpbmcgYW5kIGludGVycHJldGVyIHN0YXRlICh0aGUgdXNlcidzCiAgICBuYW1lc3BhY2UpOyBpdCBkb2Vzbid0IGRlYWwgd2l0aCBpbnB1dCBidWZmZXJpbmcgb3IgcHJvbXB0aW5nIG9yCiAgICBpbnB1dCBmaWxlIG5hbWluZyAodGhlIGZpbGVuYW1lIGlzIGFsd2F5cyBwYXNzZWQgaW4gZXhwbGljaXRseSkuCgogICAgYwIAAAACAAAAAwAAAEMAAABzPAAAAHwBAGQEAGsIAHIjAGkCAGQBAGQCADZkBABkAwA2fQEAbgAAfAEAfAAAXwEAdAIAgwAAfAAAXwMAZAQAUygFAAAAcwEBAABDb25zdHJ1Y3Rvci4KCiAgICAgICAgVGhlIG9wdGlvbmFsICdsb2NhbHMnIGFyZ3VtZW50IHNwZWNpZmllcyB0aGUgZGljdGlvbmFyeSBpbgogICAgICAgIHdoaWNoIGNvZGUgd2lsbCBiZSBleGVjdXRlZDsgaXQgZGVmYXVsdHMgdG8gYSBuZXdseSBjcmVhdGVkCiAgICAgICAgZGljdGlvbmFyeSB3aXRoIGtleSAiX19uYW1lX18iIHNldCB0byAiX19jb25zb2xlX18iIGFuZCBrZXkKICAgICAgICAiX19kb2NfXyIgc2V0IHRvIE5vbmUuCgogICAgICAgIHQLAAAAX19jb25zb2xlX190CAAAAF9fbmFtZV9fdAcAAABfX2RvY19fTigEAAAAdAQAAABOb25ldAYAAABsb2NhbHNSAAAAAHQHAAAAY29tcGlsZSgCAAAAdAQAAABzZWxmUg8AAAAoAAAAACgAAAAAc0wAAAAvdG1wL25kay1Vc2VyL2J1aWxkaG9zdC9pbnN0YWxsL3ByZWJ1aWx0L2Rhcndpbi14ODZfNjQvbGliL3B5dGhvbjIuNy9jb2RlLnB5dAgAAABfX2luaXRfXyUAAABzCAAAAAAJDAEXAQkBcwcAAAA8aW5wdXQ+dAYAAABzaW5nbGVjBAAAAAUAAAAHAAAAQwAAAHNlAAAAeRkAfAAAagAAfAEAfAIAfAMAgwMAfQQAV24oAAR0AQB0AgB0AwBmAwBrCgByQwABAQF8AABqBAB8AgCDAQABdAUAU1h8BABkAQBrCAByVAB0BwBTfAAAaggAfAQAgwEAAXQFAFMoAgAAAHOFAwAAQ29tcGlsZSBhbmQgcnVuIHNvbWUgc291cmNlIGluIHRoZSBpbnRlcnByZXRlci4KCiAgICAgICAgQXJndW1lbnRzIGFyZSBhcyBmb3IgY29tcGlsZV9jb21tYW5kKCkuCgogICAgICAgIE9uZSBzZXZlcmFsIHRoaW5ncyBjYW4gaGFwcGVuOgoKICAgICAgICAxKSBUaGUgaW5wdXQgaXMgaW5jb3JyZWN0OyBjb21waWxlX2NvbW1hbmQoKSByYWlzZWQgYW4KICAgICAgICBleGNlcHRpb24gKFN5bnRheEVycm9yIG9yIE92ZXJmbG93RXJyb3IpLiAgQSBzeW50YXggdHJhY2ViYWNrCiAgICAgICAgd2lsbCBiZSBwcmludGVkIGJ5IGNhbGxpbmcgdGhlIHNob3dzeW50YXhlcnJvcigpIG1ldGhvZC4KCiAgICAgICAgMikgVGhlIGlucHV0IGlzIGluY29tcGxldGUsIGFuZCBtb3JlIGlucHV0IGlzIHJlcXVpcmVkOwogICAgICAgIGNvbXBpbGVfY29tbWFuZCgpIHJldHVybmVkIE5vbmUuICBOb3RoaW5nIGhhcHBlbnMuCgogICAgICAgIDMpIFRoZSBpbnB1dCBpcyBjb21wbGV0ZTsgY29tcGlsZV9jb21tYW5kKCkgcmV0dXJuZWQgYSBjb2RlCiAgICAgICAgb2JqZWN0LiAgVGhlIGNvZGUgaXMgZXhlY3V0ZWQgYnkgY2FsbGluZyBzZWxmLnJ1bmNvZGUoKSAod2hpY2gKICAgICAgICBhbHNvIGhhbmRsZXMgcnVuLXRpbWUgZXhjZXB0aW9ucywgZXhjZXB0IGZvciBTeXN0ZW1FeGl0KS4KCiAgICAgICAgVGhlIHJldHVybiB2YWx1ZSBpcyBUcnVlIGluIGNhc2UgMiwgRmFsc2UgaW4gdGhlIG90aGVyIGNhc2VzICh1bmxlc3MKICAgICAgICBhbiBleGNlcHRpb24gaXMgcmFpc2VkKS4gIFRoZSByZXR1cm4gdmFsdWUgY2FuIGJlIHVzZWQgdG8KICAgICAgICBkZWNpZGUgd2hldGhlciB0byB1c2Ugc3lzLnBzMSBvciBzeXMucHMyIHRvIHByb21wdCB0aGUgbmV4dAogICAgICAgIGxpbmUuCgog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ACgAAAAAc0wAAAAvdG1wL25kay1Vc2VyL2J1aWxkaG9zdC9pbnN0YWxsL3ByZWJ1aWx0L2Rhcndpbi14ODZfNjQvbGliL3B5dGhvbjIuNy9jb2RlLnB5UgMAAACuAAAAcwwAAAAGBgYCDw4JBAwxCRVjAwAAAAUAAAAFAAAAQwAAAHNZAAAAdAAAfAIAgwEAfQMAfAEAZAIAawkAciQAfAEAfAMAXwIAbiQAeRAAZAEAZAIAbAMAfQQAV24RAAR0BABrCgByRwABAQFuAQBYfAMAagUAfAAAgwEAAWQCAFMoAwAAAHPvAQAAQ2xvc2VseSBlbXVsYXRlIHRoZSBpbnRlcmFjdGl2ZSBQeXRob24gaW50ZXJwcmV0ZXIuCgogICAgVGhpcyBpcyBhIGJhY2t3YXJkcyBjb21wYXRpYmxlIGludGVyZmFjZSB0byB0aGUgSW50ZXJhY3RpdmVDb25zb2xlCiAgICBjbGFzcy4gIFdoZW4gcmVhZGZ1bmMgaXMgbm90IHNwZWNpZmllZCwgaXQgYXR0ZW1wdHMgdG8gaW1wb3J0IHRoZQogICAgcmVhZGxpbmUgbW9kdWxlIHRvIGVuYWJsZSBHTlUgcmVhZGxpbmUgaWYgaXQgaXMgYXZhaWxhYmxlLgoKICAgIEFyZ3VtZW50cyAoYWxsIG9wdGlvbmFsLCBhbGwgZGVmYXVsdCB0byBOb25lKToKCiAgICBiYW5uZXIgLS0gcGFzc2VkIHRvIEludGVyYWN0aXZlQ29uc29sZS5pbnRlcmFjdCgpCiAgICByZWFkZnVuYyAtLSBpZiBub3QgTm9uZSwgcmVwbGFjZXMgSW50ZXJhY3RpdmVDb25zb2xlLnJhd19pbnB1dCgpCiAgICBsb2NhbCAtLSBwYXNzZWQgdG8gSW50ZXJhY3RpdmVJbnRlcnByZXRlci5fX2luaXRfXygpCgogICAgaf////9OKAYAAABSAwAAAFIOAAAAUkYAAAB0CAAAAHJlYWRsaW5ldAsAAABJbXBvcnRFcnJvclIEAAAAKAUAAABSTwAAAHQIAAAAcmVhZGZ1bmN0BQAAAGxvY2FsdAcAAABjb25zb2xlUlYAAAAoAAAAACgAAAAAc0wAAAAvdG1wL25kay1Vc2VyL2J1aWxkaG9zdC9pbnN0YWxsL3ByZWJ1aWx0L2Rhcndpbi14ODZfNjQvbGliL3B5dGhvbjIuNy9jb2RlLnB5UgQAAAAcAQAAcxAAAAAADgwBDAEMAgMBEAENAQQBdAgAAABfX21haW5fXygAAAAAKA0AAABSDQAAAFIiAAAAUigAAAB0BgAAAGNvZGVvcFIAAAAAUgEAAAB0BwAAAF9fYWxsX19SBQAAAFICAAAAUgMAAABSDgAAAFIEAAAAUgwAAAAoAAAAACgAAAAAKAAAAABzTAAAAC90bXAvbmRrLVVzZXIvYnVpbGRob3N0L2luc3RhbGwvcHJlYnVpbHQvZGFyd2luLXg4Nl82NC9saWIvcHl0aG9uMi43L2NvZGUucHl0CAAAADxtb2R1bGU+AwAAAHMWAAAABgUMAQwBFgIJAQkCCQ0TkhZuEhkMAQ==