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chcAAAByGAAAANoNdmNfZm9yX3B5dGhvbpYBAABzAgAAAAAKehpSZWdpc3RyeUluZm8udmNfZm9yX3B5dGhvbmMBAAAAAAAAAAAAAAABAAAAAQAAAEMAAABzBAAAAGQBUwApAnpxCiAgICAgICAgTWljcm9zb2Z0IFNESyByZWdpc3RyeSBrZXkuCgogICAgICAgIFJldHVybgogICAgICAgIC0tLS0tLQogICAgICAgIHN0cgogICAgICAgICAgICBSZWdpc3RyeSBrZXkKICAgICAgICB6Dk1pY3Jvc29mdCBTREtzchcAAABySgAAAHIXAAAAchcAAAByGAAAANoNbWljcm9zb2Z0X3Nka6IBAABzAgAAAAAKehpSZWdpc3RyeUluZm8ubWljcm9zb2Z0X3Nka2MBAAAAAAAAAAAAAAABAAAAAwAAAEMAAABzDAAAAHQAfABqAWQBgwJTACkCeoIKICAgICAgICBNaWNyb3NvZnQgV2luZG93cy9QbGF0Zm9ybSBTREsgcmVnaXN0cnkga2V5LgoKICAgICAgICBSZXR1cm4KICAgICAgICAtLS0tLS0KICAgICAgICBzdHIKICAgICAgICAgICAgUmVnaXN0cnkga2V5CiAgICAgICAgcg0AAACpAnIFAAAAcmcAAABySgAAAHIXAAAAchcAAAByGAAAANoLd2luZG93c19zZGuuAQAAcwIAAAAACnoYUmVnaXN0cnlJbmZvLndpbmRvd3Nfc2RrYwEAAAAAAAAAAAAAAAEAAAADAAAAQwAAAHMMAAAAdAB8AGoBZAGDAlMAKQJ6gAogICAgICAgIE1pY3Jvc29mdCAuTkVUIEZyYW1ld29yayBTREsgcmVnaXN0cnkga2V5LgoKICAgICAgICBSZXR1cm4KICAgICAgICAtLS0tLS0KICAgICAgICBzdHIKICAgICAgICAgICAgUmVnaXN0cnkga2V5CiAgICAgICAgWghORVRGWFNES3JoAAAAckoAAAByFwAAAHIXAAAAchgAAADaCW5ldGZ4X3Nka7oBAABzAgAAAAAKehZSZWdpc3RyeUluZm8ubmV0Znhfc2RrYwEAAAAAAAAAAAAAAAEAAAABAAAAQwAAAHMEAAAAZAFTACkCeoAKICAgICAgICBNaWNyb3NvZnQgV2luZG93cyBLaXRzIFJv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agMWAIMCfQF8AGoBoAR8AWQCoQJwJGQDUwApBHpsCiAgICAgICAgTWljcm9zb2Z0IFZpc3VhbCBGIyBkaXJlY3RvcnkuCgogICAgICAgIFJldHVybgogICAgICAgIC0tLS0tLQogICAgICAgIHN0cgogICAgICAgICAgICBwYXRoCiAgICAgICAgeg4lMC4xZlxTZXR1cFxGI3IhAAAAchoAAAApBXIFAAAAcnwAAAByYQAAAHKAAAAAcngAAAApAnJHAAAAcpwAAAByFwAAAHIXAAAAchgAAADaEEZTaGFycEluc3RhbGxEaXJaAwAAcwQAAAAAChQBehtTeXN0ZW1JbmZvLkZTaGFycEluc3RhbGxEaXJjAQAAAAAAAAAAAAAABAAAAAYAAABDAAAAc0YAAAB8AGoAZAFrBXIOZAJuAmQDfQF8AUQAXSp9AnwAagGgAnwAagFqA2QEfAIWAKECfQN8A3IWfANwOmQFAgABAFMAcRZkBlMAKQd6dAogICAgICAgIE1pY3Jvc29mdCBVbml2ZXJzYWwgQ1JUIFNESyBkaXJlY3RvcnkuCgogICAgICAgIFJldHVybgogICAgICAgIC0tLS0tLQogICAgICAgIHN0cgogICAgICAgICAgICBwYXRoCiAgICAgICAgcjIAAAApAtoCMTBaAjgxchcAAAB6CmtpdHNyb290JXNyGgAAAE4pBHKAAAAAcnwAAAByeAAAAHJrAAAAKQRyRwAAANoEdmVyc3IsAAAAcqsAAAByFwAAAHIXAAAAchgAAADaElVuaXZlcnNhbENSVFNka0RpcmcDAABzDgAAAAALEgMIAQwBBv8EAgQBeh1TeXN0ZW1JbmZvLlVuaXZlcnNhbENSVFNka0RpcmMBAAAAAAAAAAAAAAABAAAABQAAAEMAAABzEgAAAHwAoAB0AXwAagJkAYMCoQFTACkCeoAKICAgICAgICBNaWNyb3NvZnQgVW5pdmVyc2FsIEMgUnVudGltZSBTREsgbGFzdCB2ZXJzaW9uLgoKICAgICAgICBSZXR1cm4KICAgICAgICAtLS0tLS0KICAgICAgICBzdHIKICAgICAgICAgICAgdmVyc2lvbgogICAgICAgIHKlAAAAKQNypgAAAHIFAAAAcrcAAABySgAAAHIXAAAAchcAAAByGAAAANoaVW5pdmVyc2FsQ1JUU2RrTGFzdFZlcnNpb257AwAAcwIAAAAACnolU3lzdGVtSW5mby5Vbml2ZXJzYWxDUlRTZGtMYXN0VmVyc2lvbmMBAAAAAAAAAAAAAAABAAAAAgAAAEMAAABzEgAAAHwAagBkAWsFcg5kAlMAZANTACkEeoEKICAgICAgICBNaWNyb3NvZnQgLk5FVCBGcmFtZXdvcmsgU0RLIHZlcnNpb25zLgoKICAgICAgICBSZXR1cm4KICAgICAgICAtLS0tLS0KICAgICAgICB0dXBsZSBvZiBzdHIKICAgICAgICAgICAgdmVyc2lvbnMKICAgICAgICByMgAAACkJegU0LjcuMnoFNC43LjF6AzQuN3oFNC42LjJ6BTQuNi4xegM0LjZ6BTQuNS4yegU0LjUuMXoDNC41chcAAAByowAAAHJKAAAAchcAAAByFwAAAHIYAAAAcrIAAACHAwAAcwgAAAAADgj9BgMC/XoaU3lzdGVtSW5mby5OZXRGeFNka1ZlcnNpb25jAQAAAAAAAAAAAAAABAAAAAUAAABDAAAAczgAAABkAX0BfABqAEQAXSh9AnQBfABqAmoDfAKDAn0DfABqAqAEfANkAqECfQF8AXIKAQBxNHEKfAFTACkDenUKICAgICAgICBNaWNyb3NvZnQgLk5FVCBGcmFtZXdvcmsgU0RLIGRpcmVjdG9yeS4KCiAgICAgICAgUmV0dXJuCiAgICAgICAgLS0tLS0tCiAgICAgICAgc3RyCiAgICAgICAgICAgIHBhdGgKICAgICAgICByGgAAAFoWa2l0c2luc3RhbGxhdGlvbmZvbGRlcikFcrIAAAByBQAAAHJ8AAAAcmoAAAByeAAAACkEckcAAAByqwAAAHIsAAAAcqwAAAByFwAAAHIXAAAAchgAAADaC05ldEZ4U2RrRGlylwMAAHMOAAAAAAoEAQoBDgEOAQQBBgF6FlN5c3RlbUluZm8uTmV0RnhTZGtEaXJjAQAAAAAAAAAAAAAAAgAAAAQAAABDAAAAcyIAAAB0AHwAagFkAYMCfQF8AGoCoAN8AGoCagRkAqECcCB8AVMAKQN6dwogICAgICAgIE1pY3Jvc29mdCAuTkVUIEZyYW1ld29yayAzMmJpdCBkaXJlY3RvcnkuCgogICAgICAgIFJldHVybgogICAgICAgIC0tLS0tLQogICAgICAgIHN0cgogICAgICAgICAgICBwYXRoCiAgICAgICAgehdNaWNyb3NvZnQuTkVUXEZyYW1ld29ya1oOZnJhbWV3b3JrZGlyMzKpBXIFAAAAcnoAAAByfAAAAHJ4AAAAcmQAAACpAnJHAAAAWghndWVzc19md3IXAAAAchcAAAByGAAAANoORnJhbWV3b3JrRGlyMzKpAwAAcwQAAAAACwwDehlTeXN0ZW1JbmZvLkZyYW1ld29ya0RpcjMyYwEAAAAAAAAAAAAAAAIAAAAEAAAAQwAAAHMiAAAAdAB8AGoBZAGDAn0BfABqAqADfABqAmoEZAKhAnAgfAFTACkDencKICAgICAgICBNaWNyb3NvZnQgLk5FVCBGcmFtZXdvcmsgNjRiaXQgZGlyZWN0b3J5LgoKICAgICAgICBSZXR1cm4KICAgICAgICAtLS0tLS0KICAgICAgICBzdHIKICAgICAgICAgICAgcGF0aAogICAgICAgIHoZTWljcm9zb2Z0Lk5FVFxGcmFtZXdvcms2NFoOZnJhbWV3b3JrZGlyNjRyugAAAHK7AAAAchcAAAByFwAAAHIYAAAA2g5GcmFtZXdvcmtEaXI2NLkDAABzBAAAAAALDAN6GVN5c3RlbUluZm8uRnJhbWV3b3JrRGlyNjRjAQAAAAAAAAAAAAAAAQAAAAMAAABDAAAAcwoAAAB8AKAAZAGhAVMAKQJ6gwogICAgICAgIE1pY3Jvc29mdCAuTkVUIEZyYW1ld29yayAzMmJpdCB2ZXJzaW9ucy4KCiAgICAgICAgUmV0dXJuCiAgICAgICAgLS0tLS0tCiAgICAgICAgdHVwbGUgb2Ygc3RyCiAgICAgICAgICAgIHZlcnNpb25zCiAgICAgICAg6SAAAACpAdoWX2ZpbmRfZG90X25ldF92ZXJzaW9uc3JKAAAAchcAAAByFwAAAHIYAAAA2hJGcmFtZXdvcmtWZXJzaW9uMzLJAwAAcwIAAAAACnodU3lzdGVtSW5mby5GcmFtZXdvcmtWZXJzaW9uMzJjAQAAAAAAAAAAAAAAAQAAAAMAAABDAAAAcwoAAAB8AKAAZAGhAVMAKQJ6gwogICAgICAgIE1pY3Jvc29mdCAuTkVUIEZyYW1ld29yayA2NGJpdCB2ZXJzaW9ucy4KCiAgICAgICAgUmV0dXJuCiAgICAgICAgLS0tLS0tCiAgICAgICAgdHVwbGUgb2Ygc3RyCiAgICAgICAgICAgIHZlcnNpb25zCiAgICAgICAg6UAAAAByvwAAAHJKAAAAchcAAAByFwAAAHIYAAAA2hJGcmFtZXdvcmtWZXJzaW9uNjTVAwAAcwIAAAAACnodU3lzdGVtSW5mby5GcmFtZXdvcmtWZXJzaW9uNjRjAgAAAAAAAAAAAAAABQAAAAUAAABDAAAAc5QAAAB8AGoAoAF8AGoAagJkAXwBFgChAn0CdAN8AGQCfAEWAIMCfQN8AnA2fACgBHwDZAOhAnA2ZAR9BHwAagVkBWsFckp8BGQGZgJTAHwAagVkB2sFcnR8BKAGoQBkCGQJhQIZAGQKawNybGQLbgJ8BGQMZgJTAHwAagVkDWsCcoJkDlMAfABqBWQPawJykGQQUwBkCFMAKRF66gogICAgICAgIEZpbmQgTWljcm9zb2Z0IC5ORVQgRnJhbWV3b3JrIHZlcnNpb25zLgoKICAgICAgICBQYXJhbWV0ZXJzCiAgICAgICAgLS0tLS0tLS0tLQogICAgICAgIGJpdHM6IGludAogICAgICAgICAgICBQbGF0Zm9ybSBudW1iZXIgb2YgYml0czogMzIgb3IgNjQuCgogICAgICAgIFJldHVybgogICAgICAgIC0tLS0tLQogICAgICAgIHR1cGxlIG9mIHN0cgogICAgICAgICAgICB2ZXJzaW9ucwogICAgICAgIHoOZnJhbWV3b3JrdmVyJWR6DkZyYW1ld29ya0RpciVk2gF2choAAAByoQAAAHoEdjQuMHI8AAAATnKUAAAAWgJ2NHoKdjQuMC4zMDMxOfoEdjMuNXI6AAAAKQJyxQAAAPoKdjIuMC41MDcyN2cAAAAAAAAgQCkCegR2My4wcsYAAAApB3J8AAAAcngAAAByZAAAANoHZ2V0YXR0cnKmAAAAcoAAAAByPQAAACkFckcAAADaBGJpdHNaB3JlZ192ZXJaC2RvdF9uZXRfZGlyciwAAAByFwAAAHIXAAAAchgAAABywAAAAOEDAABzFgAAAAAPFgEOARQDCgEIAQoBIAEKAQQBCgF6IVN5c3RlbUluZm8uX2ZpbmRfZG90X25ldF92ZXJzaW9uc2MCAAAAAAAAAAAAAAADAAAABAAAAAMAAABzKgAAAIcAhwFmAmQBZAKECHQAdAGIAIMBgwFEAIMBfQJ0AnwCZAODAnAoZARTACkFYSkBAAAKICAgICAgICBSZXR1cm4gbmFtZSBvZiB0aGUgbGFzdCBkaXIgaW4gcGF0aCBvciAnJyBpZiBubyBkaXIgZm91bmQuCgogICAgICAgIFBhcmFtZXRlcnMKICAgICAgICAtLS0tLS0tLS0tCiAgICAgICAgcGF0aDogc3RyCiAgICAgICAgICAgIFVzZSBkaXJzIGluIHRoaXMgcGF0aAogICAgICAgIHByZWZpeDogc3RyCiAgICAgICAgICAgIFVzZSBvbmx5IGRpcnMgc3RhcnRpbmcgYnkgdGhpcyBwcmVmaXgKCiAgICAgICAgUmV0dXJuCiAgICAgICAgLS0tLS0tCiAgICAgICAgc3RyCiAgICAgICAgICAgIG5hbWUKICAgICAgICBjAQAAAAAAAAAAAAAAAgAAAAUAAAAzAAAAcyoAAAB8AF0ifQF0AHQBiAB8AYMCgwFyAnwBoAKIAaEBcgJ8AVYAAQBxAmQAUwByXwAAACkDcgcAAAByBQAAANoKc3RhcnRzd2l0aCkC2gIuMFoIZGlyX25hbWWpAnKcAAAA2gZwcmVmaXhyFwAAAHIYAAAA2gk8Z2VuZXhwcj4PBAAAcwgAAAAEAgIBDgEK/XowU3lzdGVtSW5mby5fdXNlX2xhc3RfZGlyX25hbWUuPGxvY2Fscz4uPGdlbmV4cHI+TnIaAAAAKQPaCHJldmVyc2VkcgMAAADaBG5leHQpA3KcAAAAcswAAABaDW1hdGNoaW5nX2RpcnNyFwAAAHLLAAAAchgAAABypgAAAP4DAABzCAAAAAARDAIK/gYGeh1TeXN0ZW1JbmZvLl91c2VfbGFzdF9kaXJfbmFtZSkBTikBchoAAAApI3IQAAAAchEAAAByEgAAAHJbAAAAcg8AAAByXAAAAHJ6AAAAcnsAAABylwAAAHJIAAAAcn8AAAByggAAAHJ9AAAA2gxzdGF0aWNtZXRob2RykQAAAHJdAAAAcpkAAAByngAAAHKaAAAAcpsAAABypAAAAHKoAAAAcqcAAAByswAAAHK0AAAAcrcAAAByuAAAAHKyAAAAcrkAAAByvAAAAHK9AAAAcsEAAABywwAAAHLAAAAAcqYAAAByFwAAAHIXAAAAchcAAAByGAAAAHJ5AAAACQIAAHNaAAAACAEEDQwBDAEMAgoKCBMIIwgqAgEKEAIBChACAQoRCB4IFAIBChQCAQoLAgEKKgIBCiICAQoMAgEKEwIBCgsCAQoPAgEKEQIBCg8CAQoPAgEKCwIBCgsIHQIBcnkAAABjAAAAAAAAAAAAAAAAAAAAAAQAAABAAAAAc2IBAABlAFoBZABaAmQBWgNkP2QEZAWEAVoEZQVkBmQHhACDAVoGZQVkCGQJhACDAVoHZQVkCmQLhACDAVoIZQVkDGQNhACDAVoJZQVkDmQPhACDAVoKZQVkEGQRhACDAVoLZQVkEmQThACDAVoMZQVkFGQVhACDAVoNZQVkFmQXhACDAVoOZQVkGGQZhACDAVoPZQVkGmQbhACDAVoQZBxkHYQAWhFlBWQeZB+EAIMBWhJlBWQgZCGEAIMBWhNlBWQiZCOEAIMBWhRlBWQkZCWEAIMBWhVlBWQmZCeEAIMBWhZlBWQoZCmEAIMBWhdlBWQqZCuEAIMBWhhlBWQsZC2EAIMBWhllBWQuZC+EAIMBWhplBWQwZDGEAIMBWhtlBWQyZDOEAIMBWhxlBWQ0ZDWEAIMBWh1lBWQ2ZDeEAIMBWh5kQGQ5ZDqEAVofZDtkPIQAWiBlIWRBZD1kPoQBgwFaImQCUwApQnIpAAAAYVkCAAAKICAgIFJldHVybiBlbnZpcm9ubWVudCB2YXJpYWJsZXMgZm9yIHNwZWNpZmllZCBNaWNyb3NvZnQgVmlzdWFsIEMrKyB2ZXJzaW9uCiAgICBhbmQgcGxhdGZvcm0gOiBMaWIsIEluY2x1ZGUsIFBhdGggYW5kIGxpYnBhdGguCgogICAgVGhpcyBmdW5jdGlvbiBpcyBjb21wYXRpYmxlIHdpdGggTWljcm9zb2Z0IFZpc3VhbCBDKysgOS4wIHRvIDE0LlguCgogICAgU2NyaXB0IGNyZWF0ZWQgYnkgYW5hbHlzaW5nIE1pY3Jvc29mdCBlbnZpcm9ubWVudCBjb25maWd1cmF0aW9uIGZpbGVzIGxpa2UKICAgICJ2Y3ZhcnNbLi4uXS5iYXQiLCAiU2V0RW52LkNtZCIsICJ2Y2J1aWxkdG9vbHMuYmF0IiwgLi4uCgogICAgUGFyYW1ldGVycwogICAgLS0tLS0tLS0tLQogICAgYXJjaDogc3RyCiAgICAgICAgVGFyZ2V0IGFyY2hpdGVjdHVyZS4KICAgIHZjX3ZlcjogZmxvYXQKICAgICAgICBSZXF1aXJlZCBNaWNyb3NvZnQgVmlzdWFsIEMrKyB2ZXJzaW9uLiBJZiBub3Qgc2V0LCBhdXRvZGV0ZWN0IHRoZSBsYXN0CiAgICAgICAgdmVyc2lvbi4KICAgIHZjX21pbl92ZXI6IGZsb2F0CiAgICAgICAgTWluaW11bSBNaWNyb3NvZnQgVmlzdWFsIEMrKyB2ZXJzaW9uLgogICAgTnIBAAAAYwQAAAAAAAAAAAAAAAUAAAADAAAAQwAAAHNCAAAAdAB8AYMBfABfAXQCfABqAYMBfABfA3QEfABqA3wCgwJ8AF8FfABqBnwDawByPmQBfQR0B2oIoAl8BKEBggFkAFMAKQJOei5ObyBzdWl0YWJsZSBNaWNyb3NvZnQgVmlzdWFsIEMrKyB2ZXJzaW9uIGZvdW5kKQpyQwAAAHJgAAAAcl4AAAByfAAAAHJ5AAAA2gJzaXKBAAAAciUAAAByJgAAAHInAAAAKQVyRwAAAHItAAAAcoEAAAByMwAAANoDZXJychcAAAByFwAAAHIYAAAAckgAAAAwBAAAcwwAAAAAAQoBDAEOAgoBBAF6GEVudmlyb25tZW50SW5mby5fX2luaXRfX2MBAAAAAAAAAAAAAAABAAAAAQAAAEMAAABzCAAAAHwAagBqAVMAKQF6awogICAgICAgIE1pY3Jvc29mdCBWaXN1YWwgU3R1ZGlvLgoKICAgICAgICBSZXR1cm4KICAgICAgICAtLS0tLS0KICAgICAgICBmbG9hdAogICAgICAgICAgICB2ZXJzaW9uCiAgICAgICAgKQJy0QAAAHKAAAAAckoAAAByFwAAAHIXAAAAchgAAABygAAAADkEAABzAgAAAAAKehZFbnZpcm9ubWVudEluZm8udnNfdmVyYwEAAAAAAAAAAAAAAAEAAAABAAAAQwAAAHMIAAAAfABqAGoBUwApAXpwCiAgICAgICAgTWljcm9zb2Z0IFZpc3VhbCBDKysgdmVyc2lvbi4KCiAgICAgICAgUmV0dXJuCiAgICAgICAgLS0tLS0tCiAgICAgICAgZmxvYXQKICAgICAgICAgICAgdmVyc2lvbgogICAgICAgICkCctEAAABygQAAAHJKAAAAchcAAAByFwAAAHIYAAAAcoEAAABFBAAAcwIAAAAACnoWRW52aXJvbm1lbnRJbmZvLnZjX3ZlcmMBAAAAAAAAAAAAAAADAAAABAAAAAMAAABzVgAAAGQBZAJnAn0BiABqAGQDawVyRIgAagFqAmQEZARkBY0CfQJ8AWQGZwE3AH0BfAFkB2cBNwB9AXwBZAh8AhYAZwE3AH0BhwBmAWQJZAqECHwBRACDAVMAKQt6dQogICAgICAgIE1pY3Jvc29mdCBWaXN1YWwgU3R1ZGlvIFRvb2xzLgoKICAgICAgICBSZXR1cm4KICAgICAgICAtLS0tLS0KICAgICAgICBsaXN0IG9mIHN0cgogICAgICAgICAgICBwYXRocwogICAgICAgIHoLQ29tbW9uN1xJREV6DUNvbW1vbjdcVG9vbHNyMgAAAFSpAnJUAAAAckQAAAB6MUNvbW1vbjdcSURFXENvbW1vbkV4dGVuc2lvbnNcTWljcm9zb2Z0XFRlc3RXaW5kb3d6HFRlYW0gVG9vbHNcUGVyZm9ybWFuY2UgVG9vbHN6HlRlYW0gVG9vbHNcUGVyZm9ybWFuY2UgVG9vbHMlc2MBAAAAAAAAAAAAAAACAAAABQAAABMAAABzGgAAAGcAfABdEn0BdACIAGoBagJ8AYMCkQJxBFMAchcAAACpA3IFAAAActEAAABymQAAAKkCcsoAAABynAAAAHJKAAAAchcAAAByGAAAANoKPGxpc3Rjb21wPmMEAABzBAAAAAYAAgB6K0Vudmlyb25tZW50SW5mby5WU1Rvb2xzLjxsb2NhbHM+LjxsaXN0Y29tcD4pA3KAAAAAcmAAAAByVQAAACkDckcAAADaBXBhdGhz2gthcmNoX3N1YmRpcnIXAAAAckoAAAByGAAAANoHVlNUb29sc1EEAABzDgAAAAAKCAIKARABCgEKAQ4CehdFbnZpcm9ubWVudEluZm8uVlNUb29sc2MBAAAAAAAAAAAAAAABAAAABAAAAEMAAABzHAAAAHQAfABqAWoCZAGDAnQAfABqAWoCZAKDAmcCUwApA3qSCiAgICAgICAgTWljcm9zb2Z0IFZpc3VhbCBDKysgJiBNaWNyb3NvZnQgRm91bmRhdGlvbiBDbGFzcyBJbmNsdWRlcy4KCiAgICAgICAgUmV0dXJuCiAgICAgICAgLS0tLS0tCiAgICAgICAgbGlzdCBvZiBzdHIKICAgICAgICAgICAgcGF0aHMKICAgICAgICDaB0luY2x1ZGV6DkFUTE1GQ1xJbmNsdWRlqQNyBQAAAHLRAAAAcp4AAABySgAAAHIXAAAAchcAAAByGAAAANoKVkNJbmNsdWRlc2UEAABzBgAAAAAKDAEM/3oaRW52aXJvbm1lbnRJbmZvLlZDSW5jbHVkZXNjAQAAAAAAAAAAAAAAAwAAAAMAAAADAAAAc2IAAACIAGoAZAFrBXIaiABqAWoCZAJkA40BfQFuDogAagFqAmQCZASNAX0BZAV8ARYAZAZ8ARYAZwJ9AogAagBkB2sFclB8AmQIfAEWAGcBNwB9AocAZgFkCWQKhAh8AkQAgwFTACkLepMKICAgICAgICBNaWNyb3NvZnQgVmlzdWFsIEMrKyAmIE1pY3Jvc29mdCBGb3VuZGF0aW9uIENsYXNzIExpYnJhcmllcy4KCiAgICAgICAgUmV0dXJuCiAgICAgICAgLS0tLS0tCiAgICAgICAgbGlzdCBvZiBzdHIKICAgICAgICAgICAgcGF0aHMKICAgICAgICDnAAAAAAAALkBUqQFyRAAAAKkBclQAAAD6BUxpYiVzegxBVExNRkNcTGliJXNyMgAAAHoLTGliXHN0b3JlJXNjAQAAAAAAAAAAAAAAAgAAAAUAAAATAAAAcxoAAABnAHwAXRJ9AXQAiABqAWoCfAGDApECcQRTAHIXAAAActsAAABy1QAAAHJKAAAAchcAAAByGAAAAHLWAAAAhQQAAHMEAAAABgACAHovRW52aXJvbm1lbnRJbmZvLlZDTGlicmFyaWVzLjxsb2NhbHM+LjxsaXN0Y29tcD4pA3KAAAAAcmAAAAByVgAAACkDckcAAABy2AAAAHLXAAAAchcAAABySgAAAHIYAAAA2gtWQ0xpYnJhcmllc3IEAABzDgAAAAAKCgEQAg4BEAIKAQ4CehtFbnZpcm9ubWVudEluZm8uVkNMaWJyYXJpZXNjAQAAAAAAAAAAAAAAAQAAAAMAAABDAAAAcx4AAAB8AGoAZAFrAHIOZwBTAHQBfABqAmoDZAKDAmcBUwApA3qHCiAgICAgICAgTWljcm9zb2Z0IFZpc3VhbCBDKysgc3RvcmUgcmVmZXJlbmNlcyBMaWJyYXJpZXMuCgogICAgICAgIFJldHVybgogICAgICAgIC0tLS0tLQogICAgICAgIGxpc3Qgb2Ygc3RyCiAgICAgICAgICAgIHBhdGhzCiAgICAgICAgcjIAAAB6FExpYlxzdG9yZVxyZWZlcmVuY2VzKQRygAAAAHIFAAAActEAAAByngAAAHJKAAAAchcAAAByFwAAAHIYAAAA2gtWQ1N0b3JlUmVmc4cEAABzBgAAAAAKCgEEAXobRW52aXJvbm1lbnRJbmZvLlZDU3RvcmVSZWZzYwEAAAAAAAAAAAAAAAcAAAAHAAAAQwAAAHMAAQAAfABqAH0BdAF8AWoCZAGDAmcBfQJ8AGoDZAJrAXIiZANuAmQEfQN8AGoEoAV8A6EBfQR8BHJMfAJ0AXwBagJkBXwEFgCDAmcBNwB9AnwAagNkBmsCcnxkBXwAagRqBmQDZAeNARYAfQV8AnQBfAFqAnwFgwJnATcAfQJugHwAagNkCGsFcup8AGoEoAehAHKUZAluAmQKfQZ8AnQBfAFqAnwGfABqBGoIZANkC40BFgCDAmcBNwB9AnwAagRqCXwAagRqCmsDcvx8AnQBfAFqAnwGfABqBGoGZANkC40BFgCDAmcBNwB9Am4SfAJ0AXwBagJkDIMCZwE3AH0CfAJTACkNenIKICAgICAgICBNaWNyb3NvZnQgVmlzdWFsIEMrKyBUb29scy4KCiAgICAgICAgUmV0dXJuCiAgICAgICAgLS0tLS0tCiAgICAgICAgbGlzdCBvZiBzdHIKICAgICAgICAgICAgcGF0aHMKICAgICAgICBaClZDUGFja2FnZXNyPAAAAFRG+gVCaW4lc3IyAAAAct8AAABy3QAAAHoNYmluXEhvc3RYODYlc3oNYmluXEhvc3RYNjQlc3LeAAAA2gNCaW4pC3LRAAAAcgUAAAByngAAAHKAAAAAcmAAAAByWgAAAHJVAAAAclAAAAByVgAAAHJPAAAAcksAAAApB3JHAAAActEAAADaBXRvb2xzclgAAABy2AAAAHKcAAAAWghob3N0X2RpcnIXAAAAchcAAAByGAAAANoHVkNUb29sc5UEAABzMAAAAAAKBgEOAhIBDAEEARYCCgESARQCCgEOAQL/AgIEAQQAEP8IAxABBAEEABD/CgQSAnoXRW52aXJvbm1lbnRJbmZvLlZDVG9vbHNjAQAAAAAAAAAAAAAABAAAAAUAAABDAAAAc2gAAAB8AGoAZAFrAXIufABqAWoCZAJkAmQDjQJ9AXQDfABqBGoFZAR8ARYAgwJnAVMAfABqAWoCZAJkBY0BfQF0A3wAagRqBWQGgwJ9AnwAagZ9A3QDfAJkB3wDfAFmAhYAgwJnAVMAZAhTACkJencKICAgICAgICBNaWNyb3NvZnQgV2luZG93cyBTREsgTGlicmFyaWVzLgoKICAgICAgICBSZXR1cm4KICAgICAgICAtLS0tLS0KICAgICAgICBsaXN0IG9mIHN0cgogICAgICAgICAgICBwYXRocwogICAgICAgIHI8AAAAVHLTAAAAcuAAAABy3gAAAHKlAAAAegYlc3VtJXNOKQdygAAAAHJgAAAAclYAAAByBQAAAHLRAAAAcqcAAADaC19zZGtfc3ViZGlyKQRyRwAAAHLYAAAAcqUAAABaBmxpYnZlcnIXAAAAchcAAAByGAAAANoLT1NMaWJyYXJpZXO6BAAAcw4AAAAACgoBEAEUAw4BDgEGAXobRW52aXJvbm1lbnRJbmZvLk9TTGlicmFyaWVzYwEAAAAAAAAAAAAAAAMAAAAGAAAAQwAAAHNoAAAAdAB8AGoBagJkAYMCfQF8AGoDZAJrAXImfAF0AHwBZAODAmcCUwB8AGoDZARrBXI4fABqBH0CbgRkBX0CdAB8AWQGfAIWAIMCdAB8AWQHfAIWAIMCdAB8AWQIfAIWAIMCZwNTAGQJUwApCnp1CiAgICAgICAgTWljcm9zb2Z0IFdpbmRvd3MgU0RLIEluY2x1ZGUuCgogICAgICAgIFJldHVybgogICAgICAgIC0tLS0tLQogICAgICAgIGxpc3Qgb2Ygc3RyCiAgICAgICAgICAgIHBhdGhzCiAgICAgICAg2gdpbmNsdWRlcjwAAADaAmdscjIAAAByGgAAAHoIJXNzaGFyZWR6BCVzdW16ByVzd2lucnROKQVyBQAAAHLRAAAAcqcAAABygAAAAHLnAAAAKQNyRwAAAHLpAAAA2gZzZGt2ZXJyFwAAAHIXAAAAchgAAADaCk9TSW5jbHVkZXPOBAAAcxQAAAAACg4CCgEOAwoBCAIEAQwBDAEM/noaRW52aXJvbm1lbnRJbmZvLk9TSW5jbHVkZXNjAQAAAAAAAAAAAAAAAwAAAA4AAABDAAAAc54AAAB0AHwAagFqAmQBgwJ9AWcAfQJ8AGoDZAJrAXImfAJ8AGoENwB9AnwAagNkA2sFckB8AnQAfAFkBIMCZwE3AH0CfABqA2QFawVymnwCfAF0AHwAagFqAmQGgwJ0AHwBZAdkCIMDdAB8AWQJZAiDA3QAfAFkCmQIgwN0AHwAagFqAmQLZAxkDXwAagMWAGQBZA5kD4MHZwY3AH0CfAJTACkQen0KICAgICAgICBNaWNyb3NvZnQgV2luZG93cyBTREsgTGlicmFyaWVzIFBhdGhzLgoKICAgICAgICBSZXR1cm4KICAgICAgICAtLS0tLS0KICAgICAgICBsaXN0IG9mIHN0cgogICAgICAgICAgICBwYXRocwogICAgICAgIFoKUmVmZXJlbmNlc3I6AAAAcqAAAAB6G0NvbW1vbkNvbmZpZ3VyYXRpb25cTmV1dHJhbHIyAAAAWg1Vbmlvbk1ldGFkYXRheidXaW5kb3dzLkZvdW5kYXRpb24uVW5pdmVyc2FsQXBpQ29udHJhY3R6BzEuMC4wLjB6JVdpbmRvd3MuRm91bmRhdGlvbi5Gb3VuZGF0aW9uQ29udHJhY3R6LFdpbmRvd3MuTmV0d29ya2luZy5Db25uZWN0aXZpdHkuV3dhbkNvbnRyYWN0Wg1FeHRlbnNpb25TREtzehBNaWNyb3NvZnQuVkNMaWJzcpYAAABaE0NvbW1vbkNvbmZpZ3VyYXRpb25aB25ldXRyYWwpBXIFAAAActEAAABypwAAAHKAAAAAcugAAAApA3JHAAAA2gNyZWbaB2xpYnBhdGhyFwAAAHIXAAAAchgAAADaCU9TTGlicGF0aOYEAABzLgAAAAAKDgEEAgoBCgIKARACCgECAQIBDAEKAQoBBgEC/wICDAEIAAIAAgEC/gL5Bgt6GUVudmlyb25tZW50SW5mby5PU0xpYnBhdGhjAQAAAAAAAAAAAAAAAQAAAAMAAABDAAAAcwwAAAB0AHwAoAGhAIMBUwApAXpzCiAgICAgICAgTWljcm9zb2Z0IFdpbmRvd3MgU0RLIFRvb2xzLgoKICAgICAgICBSZXR1cm4KICAgICAgICAtLS0tLS0KICAgICAgICBsaXN0IG9mIHN0cgogICAgICAgICAgICBwYXRocwogICAgICAgICkC2gRsaXN02gpfc2RrX3Rvb2xzckoAAAByFwAAAHIXAAAAchgAAADaCFNka1Rvb2xzBwUAAHMCAAAAAAp6GEVudmlyb25tZW50SW5mby5TZGtUb29sc2MBAAAAAAAAAAAAAAAFAAAABQAAAGMAAABz+AAAAHwAagBkAWsAcix8AGoAZAJrAXIYZANuAmQEfQF0AXwAagJqA3wBgwJWAAEAfABqBKAFoQBzXHwAagRqBmQFZAaNAX0CZAd8AhYAfQN0AXwAagJqA3wDgwJWAAEAfABqAGQIawZyoHwAagSgB6EAcnZkCX0CbhB8AGoEagZkBWQFZAqNAn0CZAt8AhYAfQN0AXwAagJqA3wDgwJWAAEAbkJ8AGoAZAFrBXLidAF8AGoCagNkA4MCfQN8AGoEagZkBWQGjQF9AnwAagJqCH0EdAF8A2QMfAR8AmYCFgCDAlYAAQB8AGoCagly9HwAagJqCVYAAQBkDVMAKQ56iAogICAgICAgIE1pY3Jvc29mdCBXaW5kb3dzIFNESyBUb29scyBwYXRocyBnZW5lcmF0b3IuCgogICAgICAgIFJldHVybgogICAgICAgIC0tLS0tLQogICAgICAgIGdlbmVyYXRvciBvZiBzdHIKICAgICAgICAgICAgcGF0aHMKICAgICAgICBy3QAAAHKgAAAAcuQAAAB6B0Jpblx4ODZUct4AAABy4wAAACkCcjwAAAByoAAAAHIaAAAActMAAAB6FUJpblxORVRGWCA0LjAgVG9vbHMlc3oEJXMlc04pCnKAAAAAcgUAAABy0QAAAHKnAAAAcmAAAAByUAAAAHJVAAAAck0AAAByqAAAAHKzAAAAKQVyRwAAANoHYmluX2RpcnLYAAAAcpwAAABy6wAAAHIXAAAAchcAAAByGAAAAHLxAAAAEwUAAHMoAAAAAAkKARIBEAIKAQ4BCAEQAgoBCgEGAhABCAESAgoBDgEOAQgBFAIIAXoaRW52aXJvbm1lbnRJbmZvLl9zZGtfdG9vbHNjAQAAAAAAAAAAAAAAAgAAAAIAAABDAAAAcxgAAAB8AGoAagF9AXwBchRkAXwBFgBTAGQCUwApA3p1CiAgICAgICAgTWljcm9zb2Z0IFdpbmRvd3MgU0RLIHZlcnNpb24gc3ViZGlyLgoKICAgICAgICBSZXR1cm4KICAgICAgICAtLS0tLS0KICAgICAgICBzdHIKICAgICAgICAgICAgc3ViZGlyCiAgICAgICAg+gMlc1xyGgAAACkCctEAAAByqAAAAKkCckcAAADaB3VjcnR2ZXJyFwAAAHIXAAAAchgAAABy5wAAADYFAABzBAAAAAAKCAF6G0Vudmlyb25tZW50SW5mby5fc2RrX3N1YmRpcmMBAAAAAAAAAAAAAAABAAAAAwAAAEMAAABzHgAAAHwAagBkAWsEcg5nAFMAdAF8AGoCagNkAoMCZwFTACkDenMKICAgICAgICBNaWNyb3NvZnQgV2luZG93cyBTREsgU2V0dXAuCgogICAgICAgIFJldHVybgogICAgICAgIC0tLS0tLQogICAgICAgIGxpc3Qgb2Ygc3RyCiAgICAgICAgICAgIHBhdGhzCiAgICAgICAgcjoAAADaBVNldHVwKQRygAAAAHIFAAAActEAAABypwAAAHJKAAAAchcAAAByFwAAAHIYAAAA2ghTZGtTZXR1cEMFAABzBgAAAAAKCgEEAnoYRW52aXJvbm1lbnRJbmZvLlNka1NldHVwYwEAAAAAAAAAAAAAAAUAAAAEAAAAAwAAAHOUAAAAfABqAH0BfABqAYkAfABqAmQBawFyMGQCfQJ8AaADoQAMAG8sfAGgBKEADAB9A24kfAGgA6EAcD58AaAEoQB9AnwBagVkA2sCcFJ8AWoGZANrAn0DZwB9BHwCcnR8BIcAZgFkBGQFhAiIAGoHRACDATcAfQR8A3KQfASHAGYBZAZkBYQIiABqCEQAgwE3AH0EfARTACkHenYKICAgICAgICBNaWNyb3NvZnQgLk5FVCBGcmFtZXdvcmsgVG9vbHMuCgogICAgICAgIFJldHVybgogICAgICAgIC0tLS0tLQogICAgICAgIGxpc3Qgb2Ygc3RyCiAgICAgICAgICAgIHBhdGhzCiAgICAgICAgcjwAAABUckUAAABjAQAAAAAAAAAAAAAAAgAAAAUAAAATAAAAcxgAAABnAHwAXRB9AXQAiABqAXwBgwKRAnEEUwByFwAAACkCcgUAAAByvAAAAKkCcsoAAAByLAAAAKkBctEAAAByFwAAAHIYAAAActYAAABoBQAAcwQAAAAGAQL/eitFbnZpcm9ubWVudEluZm8uRnhUb29scy48bG9jYWxzPi48bGlzdGNvbXA+YwEA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