YQ0NCgAAAABGGnxjSk0AAOMAAAAAAAAAAAAAAAAAAAAABQAAAEAAAABzNgEAAGQAZAFsAG0BWgEBAGQAZAJsAloCZABkAmwDWgNkAGQCbARaBGQDZARsBW0GWgYBAGQDZAVsB20IWghtCVoJbQpaCgEAZANkBmwLbQxaDG0NWg1tDloObQ9aD20QWhABAGQDZAdsEW0SWhIBAGQDZAhsE20UWhQBAGQDZAlsFW0WWhYBAGQDZApsF20YWhgBAGQDZAtsGW0aWhoBAGQDZAxsG20cWhwBAGcAZA2iAVodZQSgHmUfoQFaIGQOWiFkD1oiZQKgI2QQZSKhAlokZBFaJWUCoCNkEmUloQJaJmQTZBSEAFonZQOgKGUnZSShAmUDoChlJ2UkoQJkFZwCWillCGUJZBWcAloqRwBkFmQXhABkF2UWgwNaK0cAZBhkGYQAZBllK4MDWixkGmQbhABaLWQCUwApHOkAAAAAKQHaD2Fic29sdXRlX2ltcG9ydE7pAQAAACkB2hVSZWNlbnRseVVzZWRDb250YWluZXIpA9oSSFRUUENvbm5lY3Rpb25Qb29s2hNIVFRQU0Nvbm5lY3Rpb25Qb29s2g5wb3J0X2J5X3NjaGVtZSkF2hJMb2NhdGlvblZhbHVlRXJyb3LaDU1heFJldHJ5RXJyb3LaElByb3h5U2NoZW1lVW5rbm93btoWUHJveHlTY2hlbWVVbnN1cHBvcnRlZNoQVVJMU2NoZW1lVW5rbm93bikB2gNzaXgpAdoHdXJsam9pbikB2g5SZXF1ZXN0TWV0aG9kcykB2h9jb25uZWN0aW9uX3JlcXVpcmVzX2h0dHBfdHVubmVsKQHaBVJldHJ5KQHaCXBhcnNlX3VybCkD2gtQb29sTWFuYWdlctoMUHJveHlNYW5hZ2Vy2g5wcm94eV9mcm9tX3VybCkJ2ghrZXlfZmlsZdoJY2VydF9maWxl2gljZXJ0X3JlcXPaCGNhX2NlcnRz2gtzc2xfdmVyc2lvbtoLY2FfY2VydF9kaXLaC3NzbF9jb250ZXh02gxrZXlfcGFzc3dvcmTaD3NlcnZlcl9ob3N0bmFtZSka2gprZXlfc2NoZW1l2ghrZXlfaG9zdNoIa2V5X3BvcnTaC2tleV90aW1lb3V02gtrZXlfcmV0cmllc9oKa2V5X3N0cmljdNoJa2V5X2Jsb2Nr2hJrZXlfc291cmNlX2FkZHJlc3PaDGtleV9rZXlfZmlsZdoQa2V5X2tleV9wYXNzd29yZNoNa2V5X2NlcnRfZmlsZdoNa2V5X2NlcnRfcmVxc9oMa2V5X2NhX2NlcnRz2g9rZXlfc3NsX3ZlcnNpb27aD2tleV9jYV9jZXJ0X2RpctoPa2V5X3NzbF9jb250ZXh02gtrZXlfbWF4c2l6ZdoLa2V5X2hlYWRlcnPaCmtleV9fcHJveHnaEmtleV9fcHJveHlfaGVhZGVyc9oRa2V5X19wcm94eV9jb25maWfaEmtleV9zb2NrZXRfb3B0aW9uc9oSa2V5X19zb2Nrc19vcHRpb25z2hNrZXlfYXNzZXJ0X2hvc3RuYW1l2hZrZXlfYXNzZXJ0X2ZpbmdlcnByaW502hNrZXlfc2VydmVyX2hvc3RuYW1l2gdQb29sS2V5KQJyHAAAANoYdXNlX2ZvcndhcmRpbmdfZm9yX2h0dHBz2gtQcm94eUNvbmZpZ2MCAAAAAAAAAAAAAAAGAAAABQAAAEMAAABzxgAAAHwBoAChAH0CfAJkARkAoAGhAHwCZAE8AHwCZAIZAKABoQB8AmQCPABkA0QAXSx9A3wDfAJ2AHIsfAJ8AxkAZAR1AXIsdAJ8AnwDGQCgA6EAgwF8AnwDPABxLHwCoARkBaEBfQR8BGQEdQFyeHQFfASDAXwCZAU8AHQGfAKgB6EAgwFEAF0WfQN8AqAIfAOhAXwCZAZ8AxcAPABxhHwAaglEAF0UfQV8BXwCdgFyomQEfAJ8BTwAcaJ8AGYAaQB8AqQBjgFTACkHYfcCAAAKICAgIENyZWF0ZSBhIHBvb2wga2V5IG91dCBvZiBhIHJlcXVlc3QgY29udGV4dCBkaWN0aW9uYXJ5LgoKICAgIEFjY29yZGluZyB0byBSRkMgMzk4NiwgYm90aCB0aGUgc2NoZW1lIGFuZCBob3N0IGFyZSBjYXNlLWluc2Vuc2l0aXZlLgogICAgVGhlcmVmb3JlLCB0aGlzIGZ1bmN0aW9uIG5vcm1hbGl6ZXMgYm90aCBiZWZvcmUgY29uc3RydWN0aW5nIHRoZSBwb29sCiAgICBrZXkgZm9yIGFuIEhUVFBTIHJlcXVlc3QuIElmIHlvdSB3aXNoIHRvIGNoYW5nZSB0aGlzIGJlaGF2aW91ciwgcHJvdmlkZQogICAgYWx0ZXJuYXRlIGNhbGxhYmxlcyB0byBgYGtleV9mbl9ieV9zY2hlbWVgYC4KCiAgICA6cGFyYW0ga2V5X2NsYXNzOgogICAgICAgIFRoZSBjbGFzcyB0byB1c2Ugd2hlbiBjb25zdHJ1Y3RpbmcgdGhlIGtleS4gVGhpcyBzaG91bGQgYmUgYSBuYW1lZHR1cGxlCiAgICAgICAgd2l0aCB0aGUgYGBzY2hlbWVgYCBhbmQgYGBob3N0YGAga2V5cyBhdCBhIG1pbmltdW0uCiAgICA6dHlwZSAga2V5X2NsYXNzOiBuYW1lZHR1cGxlCiAgICA6cGFyYW0gcmVxdWVzdF9jb250ZXh0OgogICAgICAgIEEgZGljdGlvbmFyeS1saWtlIG9iamVjdCB0aGF0IGNvbnRhaW4gdGhlIGNvbnRleHQgZm9yIGEgcmVxdWVzdC4KICAgIDp0eXBlICByZXF1ZXN0X2NvbnRleHQ6IGRpY3QKCiAgICA6cmV0dXJuOiBBIG5hbWVkdHVwbGUgdGhhdCBjYW4gYmUgdXNlZCBhcyBhIGNvbm5lY3Rpb24gcG9vbCBrZXkuCiAgICA6cnR5cGU6ICBQb29sS2V5CiAgICDaBnNjaGVtZdoEaG9zdCkD2gdoZWFkZXJz2g5fcHJveHlfaGVhZGVyc9oOX3NvY2tzX29wdGlvbnNO2g5zb2NrZXRfb3B0aW9uc9oEa2V5XykK2gRjb3B52gVsb3dlctoJZnJvemVuc2V02gVpdGVtc9oDZ2V02gV0dXBsZdoEbGlzdNoEa2V5c9oDcG9w2gdfZmllbGRzKQbaCWtleV9jbGFzc9oPcmVxdWVzdF9jb250ZXh02gdjb250ZXh02gNrZXnaC3NvY2tldF9vcHRz2gVmaWVsZKkAclMAAAD6XC9ob21lL2huaS9Ub3BtZXRhbFNlLURQUy92ZW52L2xpYi9weXRob24zLjkvc2l0ZS1wYWNrYWdlcy9waXAvX3ZlbmRvci91cmxsaWIzL3Bvb2xtYW5hZ2VyLnB52hdfZGVmYXVsdF9rZXlfbm9ybWFsaXplck8AAABzHgAAAAAVCAEQARADCAEUARYECgEIAQwEEAEUAwoBCAEKAnJVAAAAqQLaBGh0dHDaBWh0dHBzYwAAAAAAAAAAAAAAAAAAAAADAAAAQAAAAHOMAAAAZQBaAWQAWgJkAVoDZAJaBGQCWgVkIGQEZAWEAVoGZAZkB4QAWgdkCGQJhABaCGQhZApkC4QBWglkDGQNhABaCmQiZA9kEIQBWgtkEWQShABaDGQjZBNkFIQBWg1kJGQVZBaEAVoOZBdkGIQAWg9kGWQahABaEGQbZByEAFoRZCVkHmQfhAFaEmQCUwApJnITAAAAYSQDAAAKICAgIEFsbG93cyBmb3IgYXJiaXRyYXJ5IHJlcXVlc3RzIHdoaWxlIHRyYW5zcGFyZW50bHkga2VlcGluZyB0cmFjayBvZgogICAgbmVjZXNzYXJ5IGNvbm5lY3Rpb24gcG9vbHMgZm9yIHlvdS4KCiAgICA6cGFyYW0gbnVtX3Bvb2xzOgogICAgICAgIE51bWJlciBvZiBjb25uZWN0aW9uIHBvb2xzIHRvIGNhY2hlIGJlZm9yZSBkaXNjYXJkaW5nIHRoZSBsZWFzdAogICAgICAgIHJlY2VudGx5IHVzZWQgcG9vbC4KCiAgICA6cGFyYW0gaGVhZGVyczoKICAgICAgICBIZWFkZXJzIHRvIGluY2x1ZGUgd2l0aCBhbGwgcmVxdWVzdHMsIHVubGVzcyBvdGhlciBoZWFkZXJzIGFyZSBnaXZlbgogICAgICAgIGV4cGxpY2l0bHkuCgogICAgOnBhcmFtIFwqKmNvbm5lY3Rpb25fcG9vbF9rdzoKICAgICAgICBBZGRpdGlvbmFsIHBhcmFtZXRlcnMgYXJlIHVzZWQgdG8gY3JlYXRlIGZyZXNoCiAgICAgICAgOmNsYXNzOmB1cmxsaWIzLmNvbm5lY3Rpb25wb29sLkNvbm5lY3Rpb25Qb29sYCBpbnN0YW5jZXMuCgogICAgRXhhbXBsZTo6CgogICAgICAgID4+PiBtYW5hZ2VyID0gUG9vbE1hbmFnZXIobnVtX3Bvb2xzPTIpCiAgICAgICAgPj4+IHIgPSBtYW5hZ2VyLnJlcXVlc3QoJ0dFVCcsICdodHRwOi8vZ29vZ2xlLmNvbS8nKQogICAgICAgID4+PiByID0gbWFuYWdlci5yZXF1ZXN0KCdHRVQnLCAnaHR0cDovL2dvb2dsZS5jb20vbWFpbCcpCiAgICAgICAgPj4+IHIgPSBtYW5hZ2VyLnJlcXVlc3QoJ0dF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Y2UuIENvdWxkIGJlIHVzZWQgZm9yIHByb3h5CiAgICAgICAgYXV0aGVudGljYXRpb24uCgogICAgOnBhcmFtIHByb3h5X3NzbF9jb250ZXh0OgogICAgICAgIFRoZSBwcm94eSBTU0wgY29udGV4dCBpcyB1c2VkIHRvIGVzdGFibGlzaCB0aGUgVExTIGNvbm5lY3Rpb24gdG8gdGhlCiAgICAgICAgcHJveHkgd2hlbiB1c2luZyBIVFRQUyBwcm94aWVzLgoKICAgIDpwYXJhbSB1c2VfZm9yd2FyZGluZ19mb3JfaHR0cHM6CiAgICAgICAgKERlZmF1bHRzIHRvIEZhbHNlKSBJZiBzZXQgdG8gVHJ1ZSB3aWxsIGZvcndhcmQgcmVxdWVzdHMgdG8gdGhlIEhUVFBTCiAgICAgICAgcHJveHkgdG8gYmUgbWFkZSBvbiBiZWhhbGYgb2YgdGhlIGNsaWVudCBpbnN0ZWFkIG9mIGNyZWF0aW5nIGEgVExTCiAgICAgICAgdHVubmVsIHZpYSB0aGUgQ09OTkVDVCBtZXRob2QuICoqRW5hYmxpbmcgdGhpcyBmbGFnIG1lYW5zIHRoYXQgcmVxdWVzdAogICAgICAgIGFuZCByZXNwb25zZSBoZWFkZXJzIGFuZCBjb250ZW50IHdpbGwgYmUgdmlzaWJsZSBmcm9tIHRoZSBIVFRQUyBwcm94eSoqCiAgICAgICAgd2hlcmVhcyB0dW5uZWxpbmcga2VlcHMgcmVxdWVzdCBhbmQgcmVzcG9uc2UgaGVhZGVycyBhbmQgY29udGVudAogICAgICAgIHByaXZhdGUuICBJUCBhZGRyZXNzLCB0YXJnZXQgaG9zdG5hbWUsIFNOSSwgYW5kIHBvcnQgYXJlIGFsd2F5cyB2aXNpYmxlCiAgICAgICAgdG8gYW4gSFRUUFMgcHJveHkgZXZlbiB3aGVuIHRoaXMgZmxhZyBpcyBkaXNhYmxlZC4KCiAgICBFeGFtcGxlOgogICAgICAgID4+PiBwcm94eSA9IHVybGxpYjMuUHJveHlNYW5hZ2VyKCdodHRwOi8vbG9jYWxob3N0OjMxMjgvJykKICAgICAgICA+Pj4gcjEgPSBwcm94eS5yZXF1ZXN0KCdHRVQnLCAnaHR0cDovL2dvb2dsZS5jb20v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