ZGlmZiAtLWdpdCBhLy5naXRodWIvQ09ERU9XTkVSUyBiLy5naXRodWIvQ09ERU9XTkVSUwppbmRleCA0OTcyZTM4Li43OWI2MmU5IDEwMDY0NAotLS0gYS8uZ2l0aHViL0NPREVPV05FUlMKKysrIGIvLmdpdGh1Yi9DT0RFT1dORVJTCkBAIC00Miw2ICs0Miw3IEBACiBydW50aW1lL2NvbXBpbGVyL2pzb25saW50LnZpbQkJQGRrZWFybnMKIHJ1bnRpbWUvY29tcGlsZXIvbGF6YnVpbGQudmltCQlAZGtlYXJucwogcnVudGltZS9jb21waWxlci9waHAudmltCQlAZGtlYXJucworcnVudGltZS9jb21waWxlci9wb3dlcnNoZWxsLnZpbQlAaGVhdGhzCiBydW50aW1lL2NvbXBpbGVyL3Jha2UudmltCQlAdHBvcGUgQGRrZWFybnMKIHJ1bnRpbWUvY29tcGlsZXIvcmhpbm8udmltCQlAZGtlYXJucwogcnVudGltZS9jb21waWxlci9yc3BlYy52aW0JCUB0cG9wZSBAZGtlYXJucwpAQCAtNjcsNiArNjgsNyBAQAogcnVudGltZS9kb2MvcGlfdGFyLnR4dAkJCUBjZWNhbXAKIHJ1bnRpbWUvZG9jL3BpX3ZpbWJhbGwudHh0CQlAY2VjYW1wCiBydW50aW1lL2RvYy9waV96aXAudHh0CQkJQGNlY2FtcAorcnVudGltZS9kb2MvcHMxLnR4dAkJCQlAaGVhdGhzCiBydW50aW1lL2Z0cGx1Z2luL2F3ay52aW0JCUBka2Vhcm5zCiBydW50aW1lL2Z0cGx1Z2luL2Jhc2ljLnZpbQkJQGRrZWFybnMKIHJ1bnRpbWUvZnRwbHVnaW4vYnN0LnZpbQkJQHRwb3BlCkBAIC05Myw2ICs5NSw4IEBACiBydW50aW1lL2Z0cGx1Z2luL25yb2ZmLnZpbQkJQGEtdnJtYQogcnVudGltZS9mdHBsdWdpbi9uc2lzLnZpbQkJQGstdGFrYXRhCiBydW50aW1lL2Z0cGx1Z2luL3BkZi52aW0JCUB0cG9wZQorcnVudGltZS9mdHBsdWdpbi9wczEudmltCQlAaGVhdGhzCitydW50aW1lL2Z0cGx1Z2luL3BzMXhtbC52aW0JCUBoZWF0aHMKIHJ1bnRpbWUvZnRwbHVnaW4vcnVieS52aW0JCUB0cG9wZSBAZGtlYXJucwogcnVudGltZS9mdHBsdWdpbi9zYXNzLnZpbQkJQHRwb3BlCiBydW50aW1lL2Z0cGx1Z2luL3Njc3MudmltCQlAdHBvcGUKQEAgLTExMSw2ICsxMTUsNyBAQAogcnVudGltZS9pbmRlbnQvaGFtbC52aW0JCQlAdHBvcGUKIHJ1bnRpbWUvaW5kZW50L2xpcXVpZC52aW0JCUB0cG9wZQogcnVudGltZS9pbmRlbnQvbnNpcy52aW0JCQlAay10YWthdGEKK3J1bnRpbWUvaW5kZW50L3BzMS52aW0JCQlAaGVhdGhzCiBydW50aW1lL2luZGVudC9ydWJ5LnZpbQkJCUBBbmRyZXdSYWRldiBAZGtlYXJucwogcnVudGltZS9pbmRlbnQvc2Fzcy52aW0JCQlAdHBvcGUKIHJ1bnRpbWUvaW5kZW50L3Njc3MudmltCQkJQHRwb3BlCkBAIC0xNzMsNiArMTc4LDggQEAKIHJ1bnRpbWUvc3ludGF4L3BocC52aW0JCQlAVHlzb25BbmRyZQogcnVudGltZS9zeW50YXgvcHJpdm94eS52aW0JCUBka2Vhcm5zCiBydW50aW1lL3N5bnRheC9wcm9sb2cudmltCQlAWFZpbGthCitydW50aW1lL3N5bnRheC9wczEudmltCQkJQGhlYXRocworcnVudGltZS9zeW50YXgvcHMxeG1sLnZpbQkJQGhlYXRocwogcnVudGltZS9zeW50YXgvcmMudmltCQkJQGNocmlzYnJhCiBydW50aW1lL3N5bnRheC9ycGNnZW4udmltCQlAY2VjYW1wCiBydW50aW1lL3N5bnRheC9ydWJ5LnZpbQkJCUBka2Vhcm5zCmRpZmYgLS1naXQgYS9ydW50aW1lL2NvbXBpbGVyL3Bvd2Vyc2hlbGwudmltIGIvcnVudGltZS9jb21waWxlci9wb3dlcnNoZWxsLnZpbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40NWQ1ZWMyCi0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS9jb21waWxlci9wb3dlcnNoZWxsLnZpbQpAQCAtMCwwICsxLDg0IEBACisiIFZpbSBjb21waWxlciBmaWxlCisiIENvbXBpbGVyOglwb3dlcnNoZWxsCisiIFVSTDogaHR0cHM6Ly9naXRodWIuY29tL1BQcm92b3N0L3ZpbS1wczEKKyIgTGFzdCBDaGFuZ2U6IDIwMjAgTWFyIDMwCisKK2lmIGV4aXN0cygiY3VycmVudF9jb21waWxlciIpCisgIGZpbmlzaAorZW5kaWYKK2xldCBjdXJyZW50X2NvbXBpbGVyID0gInBvd2Vyc2hlbGwiCisKK2lmIGV4aXN0cygiOkNvbXBpbGVyU2V0IikgIT0gMgkJIiBvbGRlciBWaW0gYWx3YXlzIHVzZWQgOnNldGxvY2FsCisgIGNvbW1hbmQgLW5hcmdzPSogQ29tcGlsZXJTZXQgc2V0bG9jYWwgPGFyZ3M+CitlbmRpZgorCitsZXQgczpjcG9fc2F2ZSA9ICZjcG8KK3NldCBjcG8tPUMKKworaWYgIWV4aXN0cygiZzpwczFfbWFrZXByZ19jbWQiKQorICBpZiBleGVjdXRhYmxlKCdwd3NoJykKKyAgICAiIHB3c2ggaXMgdGhlIGZ1dHVyZQorICAgIGxldCBnOnBzMV9tYWtlcHJnX2NtZCA9ICdwd3NoJworICBlbHNlaWYgZXhlY3V0YWJsZSgncHdzaC5leGUnKQorICAgIGxldCBnOnBzMV9tYWtlcHJnX2NtZCA9ICdwd3NoLmV4ZScKKyAgZWxzZWlmIGV4ZWN1dGFibGUoJ3Bvd2Vyc2hlbGwuZXhlJykKKyAgICBsZXQgZzpwczFfbWFrZXByZ19jbWQgPSAncG93ZXJzaGVsbC5leGUnCisgIGVsc2UKKyAgICBsZXQgZzpwczFfbWFrZXByZ19jbWQgPSAnJworICBlbmRpZgorZW5kaWYKKworaWYgIWV4ZWN1dGFibGUoZzpwczFfbWFrZXByZ19jbWQpCisgIGVjaG9lcnIgIlRvIHVzZSB0aGUgcG93ZXJzaGVsbCBjb21waWxlciwgcGxlYXNlIHNldCBnOnBzMV9tYWtlcHJnX2NtZCB0byB0aGUgcG93ZXJzaGVsbCBleGVjdXRhYmxlISIKK2VuZGlmCisKKyIgU2hvdyBDYXRlZ29yeUluZm8sIEZ1bGx5UXVhbGlmaWVkRXJyb3JJZCwgZXRjPworbGV0IGc6cHMxX2VmbV9zaG93X2Vycm9yX2NhdGVnb3JpZXMgPSBnZXQoZzosICdwczFfZWZtX3Nob3dfZXJyb3JfY2F0ZWdvcmllcycsIDApCisKKyIgVXNlIGFic29sdXRlIHBhdGggYmVjYXVzZSBwb3dlcnNoZWxsIHJlcXVpcmVzIGV4cGxpY2l0IHJlbGF0aXZlIHBhdGhzCisiICguL2ZpbGUucHMxIGlzIG9rYXksIGJ1dCAjIGV4cGFuZHMgdG8gZmlsZS5wczEpCitsZXQgJmw6bWFrZXByZyA9IGc6cHMxX21ha2VwcmdfY21kIC4nICU6cDpTJworCisiIFBhcnNlIGZpbGUsIGxpbmUsIGNoYXIgZnJvbSBjYWxsc3RhY2tzOgorIiAgICAgV3JpdGUtT3VwdXQgOiBUaGUgdGVybSAnV3JpdGUtT3VwdXQnIGlzIG5vdCByZWNvZ25pemVkIGFzIHRoZSBuYW1lIG9mIGEKKyIgICAgIGNtZGxldCwgZnVuY3Rpb24sIHNjcmlwdCBmaWxlLCBvciBvcGVyYWJsZSBwcm9ncmFtLiBDaGVjayB0aGUgc3BlbGxpbmcKKyIgICAgIG9mIHRoZSBuYW1lLCBvciBpZiBhIHBhdGggd2FzIGluY2x1ZGVkLCB2ZXJpZnkgdGhhdCB0aGUgcGF0aCBpcyBjb3JyZWN0CisiICAgICBhbmQgdHJ5IGFnYWluLgorIiAgICAgQXQgQzpcc2NyaXB0LnBzMToxMSBjaGFyOjUKKyIgICAgICsgICAgIFdyaXRlLU91cHV0ICRjb250ZW50CisiICAgICArICAgICB+fn5+fn5+fn5+fgorIiAgICAgICAgICsgQ2F0ZWdvcnlJbmZvICAgICAgICAgIDogT2JqZWN0Tm90Rm91bmQ6IChXcml0ZS1PdXB1dDpTdHJpbmcpIFtdLCBDb21tYW5kTm90Rm91bmRFeGNlcHRpb24KKyIgICAgICAgICArIEZ1bGx5UXVhbGlmaWVkRXJyb3JJZCA6IENvbW1hbmROb3RGb3VuZEV4Y2VwdGlvbgorCisiIFNob3dpbmcgZXJyb3IgaW4gY29udGV4dCB3aXRoIHVuZGVybGluaW5nLgorQ29tcGlsZXJTZXQgZXJyb3Jmb3JtYXQ9JStHKyVtCisiIEVycm9yIHN1bW1hcnkuCitDb21waWxlclNldCBlcnJvcmZvcm1hdCs9JUUlKlxcU1wgOlwgJW0KKyIgRXJyb3IgbG9jYXRpb24uCitDb21waWxlclNldCBlcnJvcmZvcm1hdCs9JUNBdFwgJWY6JWxcIGNoYXI6JWMKKyIgRXJyb3JzIHRoYXQgc3BhbiBtdWx0aXBsZSBsaW5lcyAobWF5IGJlIHdyYXBwZWQgdG8gd2lkdGggb2YgdGVybWluYWwpLgorQ29tcGlsZXJTZXQgZXJyb3Jmb3JtYXQrPSVDJW0KKyIgSWdub3JlIGJsYW5rL3doaXRlc3BhY2Utb25seSBsaW5lcy4KK0NvbXBpbGVyU2V0IGVycm9yZm9ybWF0Kz0lWlxccyUjCisKK2lmIGc6cHMxX2VmbV9zaG93X2Vycm9yX2NhdGVnb3JpZXMKKyAgQ29tcGlsZXJTZXQgZXJyb3Jmb3JtYXRePSUrR1wgXCBcIFwgK1wgJS4lI1xccyUjOlwgJW0KK2Vsc2UKKyAgQ29tcGlsZXJTZXQgZXJyb3Jmb3JtYXRePSUtR1wgXCBcIFwgK1wgJS4lI1xccyUjOlwgJW0KK2VuZGlmCisKKworIiBQYXJzZSBmaWxlLCBsaW5lLCBjaGFyIGZyb20gb2YgcGFyc2UgZXJyb3JzOgorIiAgICAgQXQgQzpcc2NyaXB0LnBzMToyMiBjaGFyOjE2CisiICAgICArIFN0b3AtUHJvY2VzcyAtTmFtZSAiaW52YWxpZHByb2Nlc3MKKyIgICAgICsgICAgICAgICAgICAgICAgICAgIH5+fn5+fn5+fn5+fn5+fgorIiAgICAgVGhlIHN0cmluZyBpcyBtaXNzaW5nIHRoZSB0ZXJtaW5hdG9yOiAiLgorIiAgICAgICAgICsgQ2F0ZWdvcnlJbmZvICAgICAgICAgIDogUGFyc2VyRXJyb3I6ICg6KSBbXSwgUGFyc2VFeGNlcHRpb24KKyIgICAgICAgICArIEZ1bGx5UXVhbGlmaWVkRXJyb3JJZCA6IFRlcm1pbmF0b3JFeHBlY3RlZEF0RW5kT2ZTdHJpbmcKK0NvbXBpbGVyU2V0IGVycm9yZm9ybWF0Kz1BdFwgJWY6JWxcIGNoYXI6JWMKKworCitsZXQgJmNwbyA9IHM6Y3BvX3NhdmUKK3VubGV0IHM6Y3BvX3NhdmUKKworIiB2aW06c2V0IHN3PTIgc3RzPTI6CmRpZmYgLS1naXQgYS9ydW50aW1lL2RvYy9NYWtlZmlsZSBiL3J1bnRpbWUvZG9jL01ha2VmaWxlCmluZGV4IGZjYmNkYzUuLmU1ZmYxNjQgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvZG9jL01ha2VmaWxlCisrKyBiL3J1bnRpbWUvZG9jL01ha2VmaWxlCkBAIC0zMCw2ICszMCw3IEBACiAJZmlsZXR5cGUudHh0IFwKIAlmb2xkLnR4dCBcCiAJZnRfYWRhLnR4dCBcCisJZnRfcHMxLnR4dCBcCiAJZnRfcnVzdC50eHQgXAogCWZ0X3NxbC50eHQgXAogCWd1aS50eHQgXApAQCAtMTczLDYgKzE3NCw3IEBACiAJZmlsZXR5cGUuaHRtbCBcCiAJZm9sZC5odG1sIFwKIAlmdF9hZGEuaHRtbCBcCisJZnRfcHMxLmh0bWwgXAogCWZ0X3J1c3QuaHRtbCBcCiAJZnRfc3FsLmh0bWwgXAogCWd1aS5odG1sIFwKZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL2NtZGxpbmUudHh0IGIvcnVudGltZS9kb2MvY21kbGluZS50eHQKaW5kZXggOTI1NjAyMS4uNjhjYjA0MCAxMDA2NDQKLS0tIGEvcnVudGltZS9kb2MvY21kbGluZS50eHQKKysrIGIvcnVudGltZS9kb2MvY21kbGluZS50eHQKQEAgLTEsNCArMSw0IEBACi0qY21kbGluZS50eHQqICAgRm9yIFZpbSB2ZXJzaW9uIDguMi4gIExhc3QgY2hhbmdlOiAyMDIxIEphbiAyNgorKmNtZGxpbmUudHh0KiAgIEZvciBWaW0gdmVyc2lvbiA4LjIuICBMYXN0IGNoYW5nZTogMjAyMSBBcHIgMDUKIAogCiAJCSAgVklNIFJFRkVSRU5DRSBNQU5VQUwgICAgYnkgQnJhbSBNb29sZW5hYXIKQEAgLTU5Nyw5ICs1OTcsMTEgQEAKICAgICA6Z2xvYmFsCiAgICAgOmhlbHAKICAgICA6aGVscGZpbmQKKyAgICA6aGVscGdyZXAKICAgICA6bGNzY29wZQogICAgIDpsZG8KICAgICA6bGZkbworICAgIDpsaGVscGdyZXAKICAgICA6bWFrZQogICAgIDpub3JtYWwKICAgICA6cGVybApkaWZmIC0tZ2l0IGEvcnVudGltZS9kb2MvZWRpdGluZy50eHQgYi9ydW50aW1lL2RvYy9lZGl0aW5nLnR4dAppbmRleCA0YzRkZTc5Li4xMzUxZDRlIDEwMDY0NAotLS0gYS9ydW50aW1lL2RvYy9lZGl0aW5nLnR4dAorKysgYi9ydW50aW1lL2RvYy9lZGl0aW5nLnR4dApAQCAtMSw0ICsxLDQgQEAKLSplZGl0aW5nLnR4dCogICBGb3IgVmltIHZlcnNpb24gOC4yLiAgTGFzdCBjaGFuZ2U6IDIwMjEgSmFuIDA4CisqZWRpdGluZy50eHQqICAgRm9yIFZpbSB2ZXJzaW9uIDguMi4gIExhc3QgY2hhbmdlOiAyMDIxIEFwciAwNQogCiAKIAkJICBWSU0gUkVGRVJFTkNFIE1BTlVBTCAgICBieSBCcmFtIE1vb2xlbmFhcgpAQCAtMTI1Myw3ICsxMjUzLDcgQEAKIHVubW9kaWZpZWQuCiAKIAkJCQkJCQkqYnJvd3NlZmlsdGVyKgotRm9yIE1TIFdpbmRvd3MgYW5kIEdUSywgeW91IGNhbiBtb2RpZnkgdGhlIGZpbHRlcnMgdGhhdCBhcmUgdXNlZCBpbiB0aGUgYnJvd3NlCitGb3IgTVMtV2luZG93cyBhbmQgR1RLLCB5b3UgY2FuIG1vZGlmeSB0aGUgZmlsdGVycyB0aGF0IGFyZSB1c2VkIGluIHRoZSBicm93c2UKIGRpYWxvZy4gIEJ5IHNldHRpbmcgdGhlIGc6YnJvd3NlZmlsdGVyIG9yIGI6YnJvd3NlZmlsdGVyIHZhcmlhYmxlcywgeW91IGNhbgogY2hhbmdlIHRoZSBmaWx0ZXJzIGdsb2JhbGx5IG9yIGxvY2FsbHkgdG8gdGhlIGJ1ZmZlci4gIFRoZSB2YXJpYWJsZSBpcyBzZXQgdG8KIGEgc3RyaW5nIGluIHRoZSBmb3JtYXQgIntmaWx0ZXIgbGFiZWx9XHR7cGF0dGVybn07e3BhdHRlcm59XG4iIHdoZXJlIHtmaWx0ZXIKZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL2V2YWwudHh0IGIvcnVudGltZS9kb2MvZXZhbC50eHQKaW5kZXggOTdjOTY4Yy4uNzk4ZjU4ZCAxMDA2NDQKLS0tIGEvcnVudGltZS9kb2MvZXZhbC50eHQKKysrIGIvcnVudGltZS9kb2MvZXZhbC50eHQKQEAgLTEsNCArMSw0IEBACi0qZXZhbC50eHQqCUZvciBWaW0gdmVyc2lvbiA4LjIuICBMYXN0IGNoYW5nZTogMjAyMSBNYXIgMjgKKypldmFsLnR4dCoJRm9yIFZpbSB2ZXJzaW9uIDguMi4gIExhc3QgY2hhbmdlOiAyMDIxIEFwciAwNwogCiAKIAkJICBWSU0gUkVGRVJFTkNFIE1BTlVBTAkgIGJ5IEJyYW0gTW9vbGVuYWFyCkBAIC0xNTUwLDggKzE1NTAsMTEgQEAKIAogVGhlIGFyZ3VtZW50cyBhcmUgb3B0aW9uYWwuICBFeGFtcGxlOiA+CiAJOmxldCBGID0gey0+ICdlcnJvciBmdW5jdGlvbid9Ci0JOmVjaG8gRigpCisJOmVjaG8gRignaWdub3JlZCcpCiA8CWVycm9yIGZ1bmN0aW9uCisKK05vdGUgdGhhdCBpbiBWaW05IHNjcmlwdCBhbm90aGVyIGtpbmQgb2YgbGFtYmRhIGNhbiBiZSB1c2VkOiB8dmltOS1sYW1iZGF8LgorCiAJCQkJCQkJKmNsb3N1cmUqCiBMYW1iZGEgZXhwcmVzc2lvbnMgY2FuIGFjY2VzcyBvdXRlciBzY29wZSB2YXJpYWJsZXMgYW5kIGFyZ3VtZW50cy4gIFRoaXMgaXMKIG9mdGVuIGNhbGxlZCBhIGNsb3N1cmUuICBFeGFtcGxlIHdoZXJlICJpIiBhbmQgImE6YXJnIiBhcmUgdXNlZCBpbiBhIGxhbWJkYQpAQCAtMTU4Niw3ICsxNTg5LDcgQEAKIAlIYW5kbGVyIGNhbGxlZAogCiBOb3RlIGhvdyBleGVjdXRlKCkgaXMgdXNlZCB0byBleGVjdXRlIGFuIEV4IGNvbW1hbmQuICBUaGF0J3MgdWdseSB0aG91Z2guCi0KK0luIFZpbTkgc2NyaXB0IHlvdSBjYW4gdXNlIGEgY29tbWFuZCBibG9jaywgc2VlIHxpbmxpbmUtZnVuY3Rpb258LgogCiBMYW1iZGEgZXhwcmVzc2lvbnMgaGF2ZSBpbnRlcm5hbCBuYW1lcyBsaWtlICc8bGFtYmRhPjQyJy4gIElmIHlvdSBnZXQgYW4gZXJyb3IKIGZvciBhIGxhbWJkYSBleHByZXNzaW9uLCB5b3UgY2FuIGZpbmQgd2hhdCBpdCBpcyB3aXRoIHRoZSBmb2xsb3dpbmcgY29tbWFuZDogPgpAQCAtNjA4Nyw3ICs2MDkwLDcgQEAKIAkJdGFiIHBhZ2VzIGlzIHJldHVybmVkLgogCiAJCUVhY2ggTGlzdCBpdGVtIGlzIGEgfERpY3Rpb25hcnl8IHdpdGggdGhlIGZvbGxvd2luZyBlbnRyaWVzOgotCQkJYm90bGluZQkJbGFzdCBkaXNwbGF5ZWQgYnVmZmVyIGxpbmUKKwkJCWJvdGxpbmUJCWxhc3QgY29tcGxldGUgZGlzcGxheWVkIGJ1ZmZlciBsaW5lCiAJCQlidWZucgkJbnVtYmVyIG9mIGJ1ZmZlciBpbiB0aGUgd2luZG93CiAJCQloZWlnaHQJCXdpbmRvdyBoZWlnaHQgKGV4Y2x1ZGluZyB3aW5iYXIpCiAJCQlsb2NsaXN0CQkxIGlmIHNob3dpbmcgYSBsb2NhdGlvbiBsaXN0CkBAIC0xMTg2Niw3ICsxMTg2OSw3IEBACiBndWlfbW90aWYJCUNvbXBpbGVkIHdpdGggTW90aWYgR1VJLgogZ3VpX3Bob3RvbgkJQ29tcGlsZWQgd2l0aCBQaG90b24gR1VJLgogZ3VpX3J1bm5pbmcJCVZpbSBpcyBydW5uaW5nIGluIHRoZSBHVUksIG9yIGl0IHdpbGwgc3RhcnQgc29vbi4KLWd1aV93aW4zMgkJQ29tcGlsZWQgd2l0aCBNUyBXaW5kb3dzIFdpbjMyIEdVSS4KK2d1aV93aW4zMgkJQ29tcGlsZWQgd2l0aCBNUy1XaW5kb3dzIFdpbjMyIEdVSS4KIGd1aV93aW4zMnMJCWlkZW0sIGFuZCBXaW4zMnMgc3lzdGVtIGJlaW5nIHVzZWQgKFdpbmRvd3MgMy4xKQogaGFpa3UJCQlIYWlrdSB2ZXJzaW9uIG9mIFZpbS4KIGhhbmd1bF9pbnB1dAkJQ29tcGlsZWQgd2l0aCBIYW5ndWwgaW5wdXQgc3VwcG9ydC4gfGhhbmd1bHwKZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL2Z0X3BzMS50eHQgYi9ydW50aW1lL2RvYy9mdF9wczEudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRmMTQ4MGIKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL2RvYy9mdF9wczEudHh0CkBAIC0wLDAgKzEsNjQgQEAKKypwczEudHh0KiAgQSBXaW5kb3dzIFBvd2VyU2hlbGwgc3ludGF4IHBsdWdpbiBmb3IgVmltCisKK0F1dGhvcjogIFBldGVyIFByb3Zvc3QgPGh0dHBzOi8vd3d3LmdpdGh1Yi5jb20vUFByb3Zvc3Q+CitMaWNlbnNlOiBBcGFjaGUgMi4wCitVUkw6ICAgICBodHRwczovL2dpdGh1Yi5jb20vUFByb3Zvc3QvdmltLXBzMQorCitJTlRST0RVQ1RJT04gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKnBzMS1zeW50YXgqCisKK1RoaXMgcGx1Z2luIHByb3ZpZGVzIFZpbSBzeW50YXgsIGluZGVudCBhbmQgZmlsZXR5cGUgZGV0ZWN0aW9uIGZvciBXaW5kb3dzCitQb3dlclNoZWxsIHNjcmlwdHMsIG1vZHVsZXMsIGFuZCBYTUwgY29uZmlndXJhdGlvbiBmaWxlcy4KKworCitBQk9VVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKnBzMS1hYm91dCoKKworR3JhYiB0aGUgbGF0ZXN0IHZlcnNpb24gb3IgcmVwb3J0IGEgYnVnIG9uIEdpdEh1YjoKKworaHR0cHM6Ly9naXRodWIuY29tL1BQcm92b3N0L3ZpbS1wczEKKworCitGT0xESU5HICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKnBzMS1mb2xkaW5nKgorCitUaGUgcHMxIHN5bnRheCBmaWxlIHByb3ZpZGVzIHN5bnRheCBmb2xkaW5nIChzZWUgfDpzeW4tZm9sZHwpIGZvciBzY3JpcHQgYmxvY2tzCithbmQgZGlnaXRhbCBzaWduYXR1cmVzIGluIHNjcmlwdHMuCisKK1doZW4gJ2ZvbGRtZXRob2QnIGlzIHNldCB0byAic3ludGF4IiB0aGVuIGZ1bmN0aW9uIHNjcmlwdCBibG9ja3Mgd2lsbCBiZQorZm9sZGVkIHVubGVzcyB5b3UgdXNlIHRoZSBmb2xsb3dpbmcgaW4geW91ciAudmltcmMgb3IgYmVmb3JlIG9wZW5pbmcgYSBzY3JpcHQ6ID4KKworICAgIDpsZXQgZzpwczFfbm9mb2xkX2Jsb2NrcyA9IDEKKzwKK0RpZ2l0YWwgc2lnbmF0dXJlcyBpbiBzY3JpcHRzIHdpbGwgYWxzbyBiZSBmb2xkZWQgdW5sZXNzIHlvdSB1c2U6ID4KKworICAgIDpsZXQgZzpwczFfbm9mb2xkX3NpZyA9IDEKKzwKK05vdGU6IHN5bnRheCBmb2xkaW5nIG1pZ2h0IHNsb3cgZG93biBzeW50YXggaGlnaGxpZ2h0aW5nIHNpZ25pZmljYW50bHksCitlc3BlY2lhbGx5IGZvciBsYXJnZSBmaWxlcy4KKworCitDT01QSUxFUiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKnBzMS1jb21waWxlcioKKworVGhlIHBvd2Vyc2hlbGwgYDpjb21waWxlcmAgc2NyaXB0IGNvbmZpZ3VyZXMgfDptYWtlfCB0byBleGVjdXRlIHRoZSBzY3JpcHQgaW4KK1Bvd2VyU2hlbGwuCisKK0l0IHRyaWVzIHRvIHBpY2sgYSBzbWFydCBkZWZhdWx0IFBvd2VyU2hlbGwgY29tbWFuZDogYHB3c2hgIGlmIGF2YWlsYWJsZSBhbmQKK2Bwb3dlcnNoZWxsYCBvdGhlcndpc2UsIGJ1dCB5b3UgY2FuIGN1c3RvbWl6ZSB0aGUgY29tbWFuZDogPgorCisgICAgOmxldCBnOnBzMV9tYWtlcHJnX2NtZCA9ICcvcGF0aC90by9wd3NoJworPAorVG8gY29uZmlndXJlIHdoZXRoZXIgdG8gc2hvdyB0aGUgZXhjZXB0aW9uIHR5cGUgaW5mb3JtYXRpb246ID4KKworICAgIDpsZXQgZzpwczFfZWZtX3Nob3dfZXJyb3JfY2F0ZWdvcmllcyA9IDEKKzwKKworS0VZV09SRCBMT09LVVAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKnBzMS1rZXl3b3JkKgorCitUbyBsb29rIHVwIGtleXdvcmRzIHVzaW5nIFBvd2VyU2hlbGwncyBHZXQtSGVscCwgcHJlc3MgdGhlIHxLfCBrZXkuIEZvciBtb3JlCitjb252ZW5pZW50IHBhZ2luZywgdGhlIHBhZ2VyIGBsZXNzYCBzaG91bGQgYmUgaW5zdGFsbGVkLCB3aGljaCBpcyBpbmNsdWRlZCBpbgorbWFueSBMaW51eCBkaXN0cmlidXRpb25zIGFuZCBpbiBtYWNPUy4KKworTWFueSBvdGhlciBkaXN0cmlidXRpb25zIGFyZSBhdmFpbGFibGUgZm9yIFdpbmRvd3MgbGlrZQoraHR0cHM6Ly9jaG9jb2xhdGV5Lm9yZy9wYWNrYWdlcy9sZXNzLy4gTWFrZSBzdXJlIGBsZXNzYCBpcyBpbiBhIGRpcmVjdG9yeQorbGlzdGVkIGluIHRoZSBgUEFUSGAgZW52aXJvbm1lbnQgdmFyaWFibGUsIHdoaWNoIGNob2NvbGF0ZXkgYWJvdmUgZG9lcy4KKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgdmltOmZ0PWhlbHA6CmRpZmYgLS1naXQgYS9ydW50aW1lL2RvYy9ndWlfdzMyLnR4dCBiL3J1bnRpbWUvZG9jL2d1aV93MzIudHh0CmluZGV4IGMwZjg4NjcuLmI4M2RmMWIgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvZG9jL2d1aV93MzIudHh0CisrKyBiL3J1bnRpbWUvZG9jL2d1aV93MzIudHh0CkBAIC0xLDQgKzEsNCBAQAotKmd1aV93MzIudHh0KiAgIEZvciBWaW0gdmVyc2lvbiA4LjIuICBMYXN0IGNoYW5nZTogMjAyMCBNYXIgMjUKKypndWlfdzMyLnR4dCogICBGb3IgVmltIHZlcnNpb24gOC4yLiAgTGFzdCBjaGFuZ2U6IDIwMjEgQXByIDA1CiAKIAogCQkgIFZJTSBSRUZFUkVOQ0UgTUFOVUFMICAgIGJ5IEJyYW0gTW9vbGVuYWFyCkBAIC00MDMsNyArNDAzLDcgQEAKIHByaW50ZXIgaW5zdGFsbGVkIHRoaXMgc2hvdWxkIGFsc28gd29yazogPgogCTp3ID4+cHJuCiAKLVZpbSBzdXBwb3J0cyBhIG51bWJlciBvZiBzdGFuZGFyZCBNUyBXaW5kb3dzIGZlYXR1cmVzLiAgU29tZSBvZiB0aGVzZSBhcmUKK1ZpbSBzdXBwb3J0cyBhIG51bWJlciBvZiBzdGFuZGFyZCBNUy1XaW5kb3dzIGZlYXR1cmVzLiAgU29tZSBvZiB0aGVzZSBhcmUKIGRldGFpbGVkIGVsc2V3aGVyZTogc2VlIHwnbW91c2UnfCwgfHdpbjMyLWhpZGRlbi1tZW51c3wuCiAKIAkJCQkJCQkqZHJhZy1uLWRyb3Atd2luMzIqCmRpZmYgLS1naXQgYS9ydW50aW1lL2RvYy9pZl9sdWEudHh0IGIvcnVudGltZS9kb2MvaWZfbHVhLnR4dAppbmRleCBiN2NjYjA0Li40OGI0MmU2IDEwMDY0NAotLS0gYS9ydW50aW1lL2RvYy9pZl9sdWEudHh0CisrKyBiL3J1bnRpbWUvZG9jL2lmX2x1YS50eHQKQEAgLTEsNCArMSw0IEBACi0qaWZfbHVhLnR4dCogICAgRm9yIFZpbSB2ZXJzaW9uIDguMi4gIExhc3QgY2hhbmdlOiAyMDIwIEp1biAyOAorKmlmX2x1YS50eHQqICAgIEZvciBWaW0gdmVyc2lvbiA4LjIuICBMYXN0IGNoYW5nZTogMjAyMSBBcHIgMDcKIAogCiAJCSAgVklNIFJFRkVSRU5DRSBNQU5VQUwgICAgYnkgTHVpcyBDYXJ2YWxobwpkaWZmIC0tZ2l0IGEvcnVudGltZS9kb2MvbWJ5dGUudHh0IGIvcnVudGltZS9kb2MvbWJ5dGUudHh0CmluZGV4IDQxZTQyYTIuLjdhNWNjYTMgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvZG9jL21ieXRlLnR4dAorKysgYi9ydW50aW1lL2RvYy9tYnl0ZS50eHQKQEAgLTEsNCArMSw0IEBACi0qbWJ5dGUudHh0KiAgICAgRm9yIFZpbSB2ZXJzaW9uIDguMi4gIExhc3QgY2hhbmdlOiAyMDIwIEF1ZyAxNQorKm1ieXRlLnR4dCogICAgIEZvciBWaW0gdmVyc2lvbiA4LjIuICBMYXN0IGNoYW5nZTogMjAyMSBBcHIgMDUKIAogCiAJCSAgVklNIFJFRkVSRU5DRSBNQU5VQUwJICBieSBCcmFtIE1vb2xlbmFhciBldCBhbC4KQEAgLTc3MCw3ICs3NzAsNyBAQAogICBvZiB0aGUgdHdvIHdheXM6IEZyb250RW5kIHN5c3RlbSBhbmQgQmFja0VuZCBzeXN0ZW0uICBJbiB0aGUgRnJvbnRFbmQKICAgc3lzdGVtLCBpbnB1dCBldmVudHMgYXJlIHNuYXRjaGVkIGJ5IHRoZSB8SU0tc2VydmVyfCBmaXJzdCwgdGhlbiB8SU0tc2VydmVyfAogICBnaXZlIHRoZSBhcHBsaWNhdGlvbiB0aGUgcmVzdWx0IG9mIGlucHV0LiAgT24gdGhlIG90aGVyIGhhbmQsIHRoZSBCYWNrRW5kCi0gIHN5c3RlbSB3b3JrcyByZXZlcnNlIG9yZGVyLiAgTVMgV2luZG93cyBhZG9wdCBCYWNrRW5kIHN5c3RlbS4gIEluIFgsIG1vc3Qgb2YKKyAgc3lzdGVtIHdvcmtzIHJldmVyc2Ugb3JkZXIuICBNUy1XaW5kb3dzIGFkb3B0IEJhY2tFbmQgc3lzdGVtLiAgSW4gWCwgbW9zdCBvZgogICB8SU0tc2VydmVyfHMgYWRvcHQgRnJvbnRFbmQgc3lzdGVtLiAgVGhlIGRlbWVyaXQgb2YgQmFja0VuZCBzeXN0ZW0gaXMgdGhlCiAgIGxhcmdlIG92ZXJoZWFkIGluIGNvbW11bmljYXRpb24sIGJ1dCBpdCBwcm92aWRlcyBzYWZlIHN5bmNocm9uaXphdGlvbiB3aXRoCiAgIG5vIHJlc3RyaWN0aW9ucyBvbiBhcHBsaWNhdGlvbnMuCmRpZmYgLS1naXQgYS9ydW50aW1lL2RvYy9vcHRpb25zLnR4dCBiL3J1bnRpbWUvZG9jL29wdGlvbnMudHh0CmluZGV4IDBmNjI4YzAuLmViNjA3ZDkgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvZG9jL29wdGlvbnMudHh0CisrKyBiL3J1bnRpbWUvZG9jL29wdGlvbnMudHh0CkBAIC0xLDQgKzEsNCBAQAotKm9wdGlvbnMudHh0KglGb3IgVmltIHZlcnNpb24gOC4yLiAgTGFzdCBjaGFuZ2U6IDIwMjEgTWFyIDI5Cisqb3B0aW9ucy50eHQqCUZvciBWaW0gdmVyc2lvbiA4LjIuICBMYXN0IGNoYW5nZTogMjAyMSBBcHIgMDcKIAogCiAJCSAgVklNIFJFRkVSRU5DRSBNQU5VQUwJICBieSBCcmFtIE1vb2xlbmFhcgpAQCAtNDE0OCw3ICs0MTQ4LDcgQEAKIAl0aGUgd2luZG93LiAgVGhpcyBoYXBwZW5zIG9ubHkgd2hlbiB0aGUgJ2ljb24nIG9wdGlvbiBpcyBvbi4KIAlPbmx5IHdvcmtzIGlmIHRoZSB0ZXJtaW5hbCBzdXBwb3J0cyBzZXR0aW5nIHdpbmRvdyBpY29uIHRleHQKIAkoY3VycmVudGx5IG9ubHkgWDExIEdVSSBhbmQgdGVybWluYWxzIHdpdGggYSBub24tZW1wdHkgJ3RfSVMnIG9wdGlvbikuCi0JRG9lcyBub3Qgd29yayBmb3IgTVMgV2luZG93cy4KKwlEb2VzIG5vdCB3b3JrIGZvciBNUy1XaW5kb3dzLgogCVdoZW4gVmltIHdhcyBjb21waWxlZCB3aXRoIEhBVkVfWDExIGRlZmluZWQsIHRoZSBvcmlnaW5hbCBpY29uIHdpbGwgYmUKIAlyZXN0b3JlZCBpZiBwb3NzaWJsZSB8WDExfC4KIAlXaGVuIHRoaXMgb3B0aW9uIGNvbnRhaW5zIHByaW50Zi1zdHlsZSAnJScgaXRlbXMsIHRoZXkgd2lsbCBiZQpAQCAtNTAzNiw3ICs1MDM2LDcgQEAKIAlqdW1wIGJldHdlZW4gdHdvIGRvdWJsZSBxdW90ZXMuCiAJVGhlIGNoYXJhY3RlcnMgbXVzdCBiZSBzZXBhcmF0ZWQgYnkgYSBjb2xvbi4KIAlUaGUgcGFpcnMgbXVzdCBiZSBzZXBhcmF0ZWQgYnkgYSBjb21tYS4gIEV4YW1wbGUgZm9yIGluY2x1ZGluZyAnPCcgYW5kCi0JJz4nIChIVE1MKTogPgorCSc+JyAoZm9yIEhUTUwpOiA+CiAJCTpzZXQgbXBzKz08Oj4KIAogPAlBIG1vcmUgZXhvdGljIGV4YW1wbGUsIHRvIGp1bXAgYmV0d2VlbiB0aGUgJz0nIGFuZCAnOycgaW4gYW4KQEAgLTg3OTAsMjMgKzg3OTAsMzEgQEAKIAlwYXJ0IHNwZWNpZmllcyB3aGF0IHRvIGRvIGZvciBlYWNoIGNvbnNlY3V0aXZlIHVzZSBvZiAnd2lsZGNoYXInLiAgVGhlCiAJZmlyc3QgcGFydCBzcGVjaWZpZXMgdGhlIGJlaGF2aW9yIGZvciB0aGUgZmlyc3QgdXNlIG9mICd3aWxkY2hhcicsCiAJVGhlIHNlY29uZCBwYXJ0IGZvciB0aGUgc2Vjb25kIHVzZSwgZXRjLgotCVRoZXNlIGFyZSB0aGUgcG9zc2libGUgdmFsdWVzIGZvciBlYWNoIHBhcnQ6CisKKwlFYWNoIHBhcnQgY29uc2lzdHMgb2YgYSBjb2xvbiBzZXBhcmF0ZWQgbGlzdCBjb25zaXN0aW5nIG9mIHRoZQorCWZvbGxvd2luZyBwb3NzaWJsZSB2YWx1ZXM6CiAJIiIJCUNvbXBsZXRlIG9ubHkgdGhlIGZpcnN0IG1hdGNoLgogCSJmdWxsIgkJQ29tcGxldGUgdGhlIG5leHQgZnVsbCBtYXRjaC4gIEFmdGVyIHRoZSBsYXN0IG1hdGNoLAogCQkJdGhlIG9yaWdpbmFsIHN0cmluZyBpcyB1c2VkIGFuZCB0aGVuIHRoZSBmaXJzdCBtYXRjaAotCQkJYWdhaW4uCisJCQlhZ2Fpbi4gIFdpbGwgYWxzbyBzdGFydCAnd2lsZG1lbnUnIGlmIGl0IGlzIGVuYWJsZWQuCiAJImxvbmdlc3QiCUNvbXBsZXRlIHRpbGwgbG9uZ2VzdCBjb21tb24gc3RyaW5nLiAgSWYgdGhpcyBkb2Vzbid0CiAJCQlyZXN1bHQgaW4gYSBsb25nZXIgc3RyaW5nLCB1c2UgdGhlIG5leHQgcGFydC4KLQkibG9uZ2VzdDpmdWxsIglMaWtlICJsb25nZXN0IiwgYnV0IGFsc28gc3RhcnQgJ3dpbGRtZW51JyBpZiBpdCBpcwotCQkJZW5hYmxlZC4KIAkibGlzdCIJCVdoZW4gbW9yZSB0aGFuIG9uZSBtYXRjaCwgbGlzdCBhbGwgbWF0Y2hlcy4KKwkibGFzdHVzZWQiCVdoZW4gY29tcGxldGluZyBidWZmZXIgbmFtZXMgYW5kIG1vcmUgdGhhbiBvbmUgYnVmZmVyCisJCQltYXRjaGVzLCBzb3J0IGJ1ZmZlcnMgYnkgdGltZSBsYXN0IHVzZWQgKG90aGVyIHRoYW4KKwkJCXRoZSBjdXJyZW50IGJ1ZmZlcikuCisJV2hlbiB0aGVyZSBpcyBvbmx5IGEgc2luZ2xlIG1hdGNoLCBpdCBpcyBmdWxseSBjb21wbGV0ZWQgaW4gYWxsIGNhc2VzLgorCisJRXhhbXBsZXMgb2YgdXNlZnVsIGNvbG9uLXNlcGFyYXRlZCB2YWx1ZXM6CisJImxvbmdlc3Q6ZnVsbCIJTGlrZSAibG9uZ2VzdCIsIGJ1dCBhbHNvIHN0YXJ0ICd3aWxkbWVudScgaWYgaXQgaXMKKwkJCWVuYWJsZWQuICBXaWxsIG5vdCBjb21wbGV0ZSB0byB0aGUgbmV4dCBmdWxsIG1hdGNoLgogCSJsaXN0OmZ1bGwiCVdoZW4gbW9yZSB0aGFuIG9uZSBtYXRjaCwgbGlzdCBhbGwgbWF0Y2hlcyBhbmQKIAkJCWNvbXBsZXRlIGZpcnN0IG1hdGNoLgogCSJsaXN0Omxvbmdlc3QiCVdoZW4gbW9yZSB0aGFuIG9uZSBtYXRjaCwgbGlzdCBhbGwgbWF0Y2hlcyBhbmQKIAkJCWNvbXBsZXRlIHRpbGwgbG9uZ2VzdCBjb21tb24gc3RyaW5nLgotCSJsaXN0Omxhc3R1c2VkIiBXaGVuIG1vcmUgdGhhbiBvbmUgYnVmZmVyIG1hdGNoZXMsIHNvcnQgYnVmZmVycwotCQkJYnkgdGltZSBsYXN0IHVzZWQgKG90aGVyIHRoYW4gdGhlIGN1cnJlbnQgYnVmZmVyKS4KLQlXaGVuIHRoZXJlIGlzIG9ubHkgYSBzaW5nbGUgbWF0Y2gsIGl0IGlzIGZ1bGx5IGNvbXBsZXRlZCBpbiBhbGwgY2FzZXMuCisJImxpc3Q6bGFzdHVzZWQiIFdoZW4gbW9yZSB0aGFuIG9uZSBidWZmZXIgbWF0Y2hlcywgbGlzdCBhbGwgbWF0Y2hlcworCQkJYW5kIHNvcnQgYnVmZmVycyBieSB0aW1lIGxhc3QgdXNlZCAob3RoZXIgdGhhbiB0aGUKKwkJCWN1cnJlbnQgYnVmZmVyKS4KIAogCUV4YW1wbGVzOiA+CiAJCTpzZXQgd2lsZG1vZGU9ZnVsbApkaWZmIC0tZ2l0IGEvcnVudGltZS9kb2Mvb3Nfd2luMzIudHh0IGIvcnVudGltZS9kb2Mvb3Nfd2luMzIudHh0CmluZGV4IDEwMTdkNGQuLjZjMzY2MDggMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvZG9jL29zX3dpbjMyLnR4dAorKysgYi9ydW50aW1lL2RvYy9vc193aW4zMi50eHQKQEAgLTEsNCArMSw0IEBACi0qb3Nfd2luMzIudHh0KiAgRm9yIFZpbSB2ZXJzaW9uIDguMi4gIExhc3QgY2hhbmdlOiAyMDE3IE1hciAyMQorKm9zX3dpbjMyLnR4dCogIEZvciBWaW0gdmVyc2lvbiA4LjIuICBMYXN0IGNoYW5nZTogMjAyMSBBcHIgMDUKIAogCiAJCSAgVklNIFJFRkVSRU5DRSBNQU5VQUwgICAgYnkgR2VvcmdlIFJlaWxseQpAQCAtODMsNyArODMsNyBAQAogCiBDb21tYW5kIGxpbmUgYXJndW1lbnRzCQkJCQkqd2luMzItY21kYXJncyoKIAotQW5hbHlzaXMgb2YgYSBjb21tYW5kIGxpbmUgaW50byBwYXJhbWV0ZXJzIGlzIG5vdCBzdGFuZGFyZGlzZWQgaW4gTVMgV2luZG93cy4KK0FuYWx5c2lzIG9mIGEgY29tbWFuZCBsaW5lIGludG8gcGFyYW1ldGVycyBpcyBub3Qgc3RhbmRhcmRpc2VkIGluIE1TLVdpbmRvd3MuCiBWaW0gYW5kIGd2aW0gdXNlZCB0byB1c2UgZGlmZmVyZW50IGxvZ2ljIHRvIHBhcnNlIGl0IChiZWZvcmUgNy40LjQzMiksIGFuZCB0aGUKIGxvZ2ljIHdhcyBhbHNvIGRlcGVuZGVkIG9uIHdoYXQgaXQgd2FzIGNvbXBpbGVkIHdpdGguICBOb3cgVmltIGFuZCBndmltIGJvdGgKIHVzZSB0aGUgQ29tbWFuZExpbmVUb0FyZ3ZXKCkgV2luMzIgQVBJLCBzbyB0aGV5IGJlaGF2ZSBpbiB0aGUgc2FtZSB3YXkuCmRpZmYgLS1naXQgYS9ydW50aW1lL2RvYy9zeW50YXgudHh0IGIvcnVudGltZS9kb2Mvc3ludGF4LnR4dAppbmRleCBhMTY1ZTgzLi42ODU0ODVkIDEwMDY0NAotLS0gYS9ydW50aW1lL2RvYy9zeW50YXgudHh0CisrKyBiL3J1bnRpbWUvZG9jL3N5bnRheC50eHQKQEAgLTEsNCArMSw0IEBACi0qc3ludGF4LnR4dCoJRm9yIFZpbSB2ZXJzaW9uIDguMi4gIExhc3QgY2hhbmdlOiAyMDIxIE1hciAwNgorKnN5bnRheC50eHQqCUZvciBWaW0gdmVyc2lvbiA4LjIuICBMYXN0IGNoYW5nZTogMjAyMSBBcHIgMDIKIAogCiAJCSAgVklNIFJFRkVSRU5DRSBNQU5VQUwJICBieSBCcmFtIE1vb2xlbmFhcgpkaWZmIC0tZ2l0IGEvcnVudGltZS9kb2MvdGFncyBiL3J1bnRpbWUvZG9jL3RhZ3MKaW5kZXggYzA3MGExMi4uYjI4ZjY0NCAxMDA2NDQKLS0tIGEvcnVudGltZS9kb2MvdGFncworKysgYi9ydW50aW1lL2RvYy90YWdzCkBAIC01NDM0LDYgKzU0MzQsNyBAQAogYXNzZXJ0X2ZhbHNlKCkJdGVzdGluZy50eHQJLyphc3NlcnRfZmFsc2UoKSoKIGFzc2VydF9pbnJhbmdlKCkJdGVzdGluZy50eHQJLyphc3NlcnRfaW5yYW5nZSgpKgogYXNzZXJ0X21hdGNoKCkJdGVzdGluZy50eHQJLyphc3NlcnRfbWF0Y2goKSoKK2Fzc2VydF9ub2JlZXAoKQl0ZXN0aW5nLnR4dAkvKmFzc2VydF9ub2JlZXAoKSoKIGFzc2VydF9ub3RlcXVhbCgpCXRlc3RpbmcudHh0CS8qYXNzZXJ0X25vdGVxdWFsKCkqCiBhc3NlcnRfbm90bWF0Y2goKQl0ZXN0aW5nLnR4dAkvKmFzc2VydF9ub3RtYXRjaCgpKgogYXNzZXJ0X3JlcG9ydCgpCXRlc3RpbmcudHh0CS8qYXNzZXJ0X3JlcG9ydCgpKgpAQCAtNzUwNyw2ICs3NTA4LDcgQEAKIGluZm9ybS52aW0Jc3ludGF4LnR4dAkvKmluZm9ybS52aW0qCiBpbmZvcm1peAlmdF9zcWwudHh0CS8qaW5mb3JtaXgqCiBpbml0aWFsaXphdGlvbglzdGFydGluZy50eHQJLyppbml0aWFsaXphdGlvbioKK2lubGluZS1mdW5jdGlvbgl2aW05LnR4dAkvKmlubGluZS1mdW5jdGlvbioKIGlucHV0KCkJZXZhbC50eHQJLyppbnB1dCgpKgogaW5wdXRkaWFsb2coKQlldmFsLnR4dAkvKmlucHV0ZGlhbG9nKCkqCiBpbnB1dGxpc3QoKQlldmFsLnR4dAkvKmlucHV0bGlzdCgpKgpAQCAtODU4Miw2ICs4NTg0LDEyIEBACiBwcm9wX3R5cGVfZGVsZXRlKCkJdGV4dHByb3AudHh0CS8qcHJvcF90eXBlX2RlbGV0ZSgpKgogcHJvcF90eXBlX2dldCgpCXRleHRwcm9wLnR4dAkvKnByb3BfdHlwZV9nZXQoKSoKIHByb3BfdHlwZV9saXN0KCkJdGV4dHByb3AudHh0CS8qcHJvcF90eXBlX2xpc3QoKSoKK3BzMS1hYm91dAlmdF9wczEudHh0CS8qcHMxLWFib3V0KgorcHMxLWNvbXBpbGVyCWZ0X3BzMS50eHQJLypwczEtY29tcGlsZXIqCitwczEtZm9sZGluZwlmdF9wczEudHh0CS8qcHMxLWZvbGRpbmcqCitwczEta2V5d29yZAlmdF9wczEudHh0CS8qcHMxLWtleXdvcmQqCitwczEtc3ludGF4CWZ0X3BzMS50eHQJLypwczEtc3ludGF4KgorcHMxLnR4dAlmdF9wczEudHh0CS8qcHMxLnR4dCoKIHBzcWwJZnRfc3FsLnR4dAkvKnBzcWwqCiBwdGNhcC52aW0Jc3ludGF4LnR4dAkvKnB0Y2FwLnZpbSoKIHB0ZXJtLW1vdXNlCW9wdGlvbnMudHh0CS8qcHRlcm0tbW91c2UqCkBAIC0xMDEzNyw2ICsxMDE0NSw3IEBACiB2aW05LWZpbmFsCXZpbTkudHh0CS8qdmltOS1maW5hbCoKIHZpbTktZ290Y2hhcwl2aW05LnR4dAkvKnZpbTktZ290Y2hhcyoKIHZpbTktaW1wb3J0CXZpbTkudHh0CS8qdmltOS1pbXBvcnQqCit2aW05LWxhbWJkYQl2aW05LnR4dAkvKnZpbTktbGFtYmRhKgogdmltOS1taXgJdmltOS50eHQJLyp2aW05LW1peCoKIHZpbTktbmFtZXNwYWNlCXZpbTkudHh0CS8qdmltOS1uYW1lc3BhY2UqCiB2aW05LXJhdGlvbmFsZQl2aW05LnR4dAkvKnZpbTktcmF0aW9uYWxlKgpkaWZmIC0tZ2l0IGEvcnVudGltZS9kb2MvdGVzdGluZy50eHQgYi9ydW50aW1lL2RvYy90ZXN0aW5nLnR4dAppbmRleCA1ZDg1MzU4Li42ZmQyZDQ1IDEwMDY0NAotLS0gYS9ydW50aW1lL2RvYy90ZXN0aW5nLnR4dAorKysgYi9ydW50aW1lL2RvYy90ZXN0aW5nLnR4dApAQCAtMSw0ICsxLDQgQEAKLSp0ZXN0aW5nLnR4dCoJRm9yIFZpbSB2ZXJzaW9uIDguMi4gIExhc3QgY2hhbmdlOiAyMDIxIE1hciAxMAorKnRlc3RpbmcudHh0KglGb3IgVmltIHZlcnNpb24gOC4yLiAgTGFzdCBjaGFuZ2U6IDIwMjEgQXByIDAyCiAKIAogCQkgIFZJTSBSRUZFUkVOQ0UgTUFOVUFMCSAgYnkgQnJhbSBNb29sZW5hYXIKZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL3RvZG8udHh0IGIvcnVudGltZS9kb2MvdG9kby50eHQKaW5kZXggOGU3MGYzNi4uMWEzZjRjYyAxMDA2NDQKLS0tIGEvcnVudGltZS9kb2MvdG9kby50eHQKKysrIGIvcnVudGltZS9kb2MvdG9kby50eHQKQEAgLTEsNCArMSw0IEBACi0qdG9kby50eHQqICAgICAgRm9yIFZpbSB2ZXJzaW9uIDguMi4gIExhc3QgY2hhbmdlOiAyMDIxIE1hciAyOQorKnRvZG8udHh0KiAgICAgIEZvciBWaW0gdmVyc2lvbiA4LjIuICBMYXN0IGNoYW5nZTogMjAyMSBBcHIgMDUKIAogCiAJCSAgVklNIFJFRkVSRU5DRSBNQU5VQUwJICBieSBCcmFtIE1vb2xlbmFhcgpAQCAtNDIsMTcgKzQyLDEyIEBACiAtIEZvciBidWlsdGluIGZ1bmN0aW9ucyB1c2luZyB0dl9nZXRfc3RyaW5nKigpIHVzZSBjaGVja19mb3Jfc3RyaW5nKCkgdG8gYmUKICAgbW9yZSBzdHJpY3QgYWJvdXQgdGhlIGFyZ3VtZW50IHR5cGUgKG5vdCBhIGJvb2wpLgogICAgIGRvbmU6IGJhbGxvb25fKCkKLS0gUnVuIHRoZSBzYW1lIHRlc3RzIGluIDpkZWYgYW5kIFZpbTkgc2NyaXB0LCBsaWtlIGluIFRlc3RfZXhwcjdfbm90KCkKIC0gQ2hlY2sgbWFueSBtb3JlIGJ1aWx0aW4gZnVuY3Rpb24gYXJndW1lbnRzIGF0IGNvbXBpbGUgdGltZS4KLS0gbWFrZSAwID09ICdzdHJpbmcnIGZhaWwgb24gdGhlIHNjcmlwdCBsZXZlbCwgbGlrZSBpbnNpZGUgOmRlZi4KLS0gQ2hlY2sgdGhhdCB3aGVuIHVzaW5nIGEgdXNlciBmdW5jdGlvbiBuYW1lIHdpdGhvdXQgcHJlZml4LCBpdCBkb2VzIG5vdCBmaW5kCi0gIGEgZ2xvYmFsIGZ1bmN0aW9uLiAgUHJlZml4aW5nIGc6IGlzIHJlcXVpcmVkLgotLSBBcHBlbmRpbmcgdG8gZGljdCBpdGVtIGRvZXNuJ3Qgd29yayBpbiBhIDpkZWYgZnVuY3Rpb246Ci0gICAgICB2YXIgZDogZGljdDxzdHJpbmc+ID0ge2E6ICd4J30KLSAgICAgIGRbJ2EnXSAuLj0gJ3knCi0gICAgICBkLmEgLi49ICd5JwotICAgVGVzdCB0byBiZSBleHRlbmRlZDogVGVzdF9hc3NpZ25fZGljdF93aXRoX29wKCkKIC0gVXNpbmcgIi4uIiBhdCBzY3JpcHQgbGV2ZWwgZG9lc24ndCBjb252ZXJ0IGFyZ3VtZW50cyB0byBhIHN0cmluZy4KKy0gVGhpcyBmYWlscyBpbiBhIDpkZWYgZnVuY3Rpb24gYnV0IG5vdCBhdCB0aGUgc2NyaXB0IGxldmVsOgorCSAgdmFyIHMgPSAnYXNkZictPigoYSkgPT4gYSkoJ3gnKQorICBEaXNhbGxvdyBwYXNzaW5nIG1vcmUgYXJndW1lbnRzIHRvIGxhbWJkYSB0aGFuIGV4cGVjdGVkPworLSBJbXBsZW1lbnQgYmxvYiBpbmRleCBhbmQgc2xpY2UsIGFsc28gd2l0aCBhc3NpZ25tZW50PwogLSBDb21waWxlIHJlcGxhY2VtZW50IG9mIDpzIGNvbW1hbmQ6IHMvcGF0L1w9ZXhwci8KIC0gQ29tcGlsZSByZWRpciB0byBsb2NhbCB2YXJpYWJsZTogdmFyX3JlZGlyX3N0YXJ0KCkuCiAtIEltcGxlbWVudCB0eXBlIGNhc3QgYXQgdGhlIHNjcmlwdCBsZXZlbC4KZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL3Vzcl8wMi50eHQgYi9ydW50aW1lL2RvYy91c3JfMDIudHh0CmluZGV4IGE4NjZiN2EuLjUzZDZjYjUgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvZG9jL3Vzcl8wMi50eHQKKysrIGIvcnVudGltZS9kb2MvdXNyXzAyLnR4dApAQCAtNDMsNyArNDMsNyBAQAogCXx+CQkJCQl8CiAJfCJmaWxlLnR4dCIgW05ldyBmaWxlXQkJCXwKIAkrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwotCQkoJyMiIGlzIHRoZSBjdXJzb3IgcG9zaXRpb24uKQorCQkoJyMnIGlzIHRoZSBjdXJzb3IgcG9zaXRpb24uKQogCiBUaGUgdGlsZGUgKH4pIGxpbmVzIGluZGljYXRlIGxpbmVzIG5vdCBpbiB0aGUgZmlsZS4gIEluIG90aGVyIHdvcmRzLCB3aGVuIFZpbQogcnVucyBvdXQgb2YgZmlsZSB0byBkaXNwbGF5LCBpdCBkaXNwbGF5cyB0aWxkZSBsaW5lcy4gIEF0IHRoZSBib3R0b20gb2YgdGhlCmRpZmYgLS1naXQgYS9ydW50aW1lL2RvYy92ZXJzaW9uNS50eHQgYi9ydW50aW1lL2RvYy92ZXJzaW9uNS50eHQKaW5kZXggMmI0NGNiZC4uZDc0ZjVhNyAxMDA2NDQKLS0tIGEvcnVudGltZS9kb2MvdmVyc2lvbjUudHh0CisrKyBiL3J1bnRpbWUvZG9jL3ZlcnNpb241LnR4dApAQCAtMSw0ICsxLDQgQEAKLSp2ZXJzaW9uNS50eHQqICBGb3IgVmltIHZlcnNpb24gOC4yLiAgTGFzdCBjaGFuZ2U6IDIwMjAgRGVjIDE5CisqdmVyc2lvbjUudHh0KiAgRm9yIFZpbSB2ZXJzaW9uIDguMi4gIExhc3QgY2hhbmdlOiAyMDIxIEFwciAwNQogCiAKIAkJICBWSU0gUkVGRVJFTkNFIE1BTlVBTCAgICBieSBCcmFtIE1vb2xlbmFhcgpAQCAtNDA1LDcgKzQwNSw3IEBACiBXaW4zMiBHVUkgdmVyc2lvbgkJCQkJKmFkZGVkLXdpbjMyLUdVSSoKIC0tLS0tLS0tLS0tLS0tLS0tCiAKLVRoZSBHVUkgaGFzIGJlZW4gcG9ydGVkIHRvIE1TIFdpbmRvd3MgOTUgYW5kIE5ULiAgQWxsIHRoZSBmZWF0dXJlcyBvZiB0aGUgWDExCitUaGUgR1VJIGhhcyBiZWVuIHBvcnRlZCB0byBNUy1XaW5kb3dzIDk1IGFuZCBOVC4gIEFsbCB0aGUgZmVhdHVyZXMgb2YgdGhlIFgxMQogR1VJIGFyZSBhdmFpbGFibGUgdG8gV2luZG93cyB1c2VycyBub3cuICB8Z3VpLXczMnwKIFRoaXMgYWxzbyBmaXhlcyBwcm9ibGVtcyB3aXRoIHJ1bm5pbmcgdGhlIFdpbjMyIGNvbnNvbGUgdmVyc2lvbiB1bmRlciBXaW5kb3dzCiA5NSwgd2hlcmUgY29uc29sZSBzdXBwb3J0IGhhcyBhbHdheXMgYmVlbiBiYWQuCkBAIC00NDAzLDcgKzQ0MDMsNyBAQAogdGhhdCBhbHdheXMgd29yayBvbiBsaW5lcy4KIAogbGluay5zaCBjaGFuZ2VkICItbG5zbF9zIiB0byAiX3MiIHdoZW4gbG9va2luZyBmb3IgIm5zbCIgdG8gYmUgcmVtb3ZlZC4KLU5vdyBpdCBvbmx5IHJlbW92ZSB3aG9sZSB3b3Jkcy4KK05vdyBpdCBvbmx5IHJlbW92ZXMgd2hvbGUgd29yZHMuCiAKIFdoZW4ganVtcGVkIHRvIGEgbWFyayBvciB1c2luZyAiZnoiLCBhbmQgdGhlcmUgaXMgYW4gZXJyb3IsIHRoZSBjdXJyZW50IGNvbHVtbgogd2FzIGxvc3QuICBFLmcuIHdoZW4gdXNpbmcgIiRmemoiLgpkaWZmIC0tZ2l0IGEvcnVudGltZS9kb2MvdmVyc2lvbjYudHh0IGIvcnVudGltZS9kb2MvdmVyc2lvbjYudHh0CmluZGV4IGNhMTgwMGYuLmRlMzY0ZDYgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvZG9jL3ZlcnNpb242LnR4dAorKysgYi9ydW50aW1lL2RvYy92ZXJzaW9uNi50eHQKQEAgLTEsNCArMSw0IEBACi0qdmVyc2lvbjYudHh0KiAgRm9yIFZpbSB2ZXJzaW9uIDguMi4gIExhc3QgY2hhbmdlOiAyMDIxIEphbiAxNworKnZlcnNpb242LnR4dCogIEZvciBWaW0gdmVyc2lvbiA4LjIuICBMYXN0IGNoYW5nZTogMjAyMSBBcHIgMDUKIAogCiAJCSAgVklNIFJFRkVSRU5DRSBNQU5VQUwgICAgYnkgQnJhbSBNb29sZW5hYXIKQEAgLTEwMjUsNyArMTAyNSw3IEBACiBJbmNsdWRlZCBqc2Jtb3VzZSBzdXBwb3J0LiAoRGFycmVuIEdhcnRoKQogU3VwcG9ydCBmb3IgZGVjIG1vdXNlIGluIFVuaXguIChTdGV2ZSBXYWxsKQogCi1Qb3J0IHRvIDE2LWJpdCBNUyBXaW5kb3dzIChXaW5kb3dzIDMuMXgpIChWaW5jZSBOZWdyaSkKK1BvcnQgdG8gMTYtYml0IE1TLVdpbmRvd3MgKFdpbmRvd3MgMy4xeCkgKFZpbmNlIE5lZ3JpKQogCiBQb3J0IHRvIFFOWC4gIFN1cHBvcnRzIHRoZSBQaG90b24gR1VJLCBtb3VzZSwgZXRjLiAoSnVsaWFuIEtpbnJhaWQpCiAKZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL3ZpbTkudHh0IGIvcnVudGltZS9kb2MvdmltOS50eHQKaW5kZXggOTc0ZWU2YS4uZTY5M2NiYSAxMDA2NDQKLS0tIGEvcnVudGltZS9kb2MvdmltOS50eHQKKysrIGIvcnVudGltZS9kb2MvdmltOS50eHQKQEAgLTEsNCArMSw0IEBACi0qdmltOS50eHQqCUZvciBWaW0gdmVyc2lvbiA4LjIuICBMYXN0IGNoYW5nZTogMjAyMSBNYXIgMzAKKyp2aW05LnR4dCoJRm9yIFZpbSB2ZXJzaW9uIDguMi4gIExhc3QgY2hhbmdlOiAyMDIxIEFwciAwNgogCiAKIAkJICBWSU0gUkVGRVJFTkNFIE1BTlVBTAkgIGJ5IEJyYW0gTW9vbGVuYWFyCkBAIC0zMDUsMTMgKzMwNSwyMSBAQAogb3IgaW1wb3J0ZWQgdmFyaWFibGVzIGFuZCBmdW5jdGlvbnMgaW4gdGhlIHNhbWUgc2NyaXB0IGZpbGUuCiBWYXJpYWJsZXMgbWF5IHNoYWRvdyBFeCBjb21tYW5kcywgcmVuYW1lIHRoZSB2YXJpYWJsZSBpZiBuZWVkZWQuCiAKLUdsb2JhbCB2YXJpYWJsZXMgYW5kIHVzZXIgZGVmaW5lZCBmdW5jdGlvbnMgbXVzdCBiZSBwcmVmaXhlZCB3aXRoICJnOiIsIGFsc28KLWF0IHRoZSBzY3JpcHQgbGV2ZWwuID4KK0dsb2JhbCB2YXJpYWJsZXMgbXVzdCBiZSBwcmVmaXhlZCB3aXRoICJnOiIsIGFsc28gYXQgdGhlIHNjcmlwdCBsZXZlbC4gPgogCXZpbTlzY3JpcHQKIAl2YXIgc2NyaXB0X2xvY2FsID0gJ3RleHQnCiAJZzpnbG9iYWwgPSAndmFsdWUnCiAJdmFyIEZ1bmNyZWYgPSBnOlRoYXRGdW5jdGlvbgogCitHbG9iYWwgZnVuY3Rpb25zIG11c3QgYmUgcHJlZml4ZWQgd2l0aCAiZzoiIHdoZW4gZGVmaW5pbmcgdGhlbSwgYnV0IGNhbiBiZQorY2FsbGVkIHdpdGhvdXQgImc6Ii4gPgorCXZpbTlzY3JpcHQKKwlkZWYgZzpHbG9iYWxGdW5jKCk6IHN0cmluZworCSAgcmV0dXJuICd0ZXh0JworCWVuZGRlZgorCWVjaG8gR2xvYmFsRnVuYygpCitUaGUgImc6IiBwcmVmaXggaXMgbm90IG5lZWRlZCBmb3IgYXV0by1sb2FkIGZ1bmN0aW9ucy4KKwogU2luY2UgYCZvcHQgPSB2YWx1ZWAgaXMgbm93IGFzc2lnbmluZyBhIHZhbHVlIHRvIG9wdGlvbiAib3B0IiwgIjomIiBjYW5ub3QgYmUKIHVzZWQgdG8gcmVwZWF0IGEgYDpzdWJzdGl0dXRlYCBjb21tYW5kLgogCkBAIC00MDEsNyArNDA5LDcgQEAKIAogCiBMYW1iZGEgdXNpbmcgPT4gaW5zdGVhZCBvZiAtPiB+Ci0KKwkJCQkJCQkqdmltOS1sYW1iZGEqCiBJbiBsZWdhY3kgc2NyaXB0IHRoZXJlIGNhbiBiZSBjb25mdXNpb24gYmV0d2VlbiB1c2luZyAiLT4iIGZvciBhIG1ldGhvZCBjYWxsCiBhbmQgZm9yIGEgbGFtYmRhLiAgQWxzbywgd2hlbiBhICJ7IiBpcyBmb3VuZCB0aGUgcGFyc2VyIG5lZWRzIHRvIGZpZ3VyZSBvdXQgaWYKIGl0IGlzIHRoZSBzdGFydCBvZiBhIGxhbWJkYSBvciBhIGRpY3Rpb25hcnksIHdoaWNoIGlzIG5vdyBtb3JlIGNvbXBsaWNhdGVkCkBAIC00MjUsMTIgKzQzMywxOSBAQAogCWZpbHRlcihsaXN0LCAoaywKIAkJXAl2KQogCQlcCT0+IHYgPiAwKQotCis8CQkJCQkJCSppbmxpbmUtZnVuY3Rpb24qCiBBZGRpdGlvbmFsbHksIGEgbGFtYmRhIGNhbiBjb250YWluIHN0YXRlbWVudHMgaW4ge306ID4KIAl2YXIgTGFtYmRhID0gKGFyZykgPT4gewogCQlnOndhc19jYWxsZWQgPSAneWVzJwogCQlyZXR1cm4gZXhwcmVzc2lvbgogCSAgICB9CitUaGlzIGNhbiBiZSB1c2VmdWwgZm9yIGEgdGltZXIsIGZvciBleGFtcGxlOiA+CisJdmFyIGNvdW50ID0gMAorIAl2YXIgdGltZXIgPSB0aW1lcl9zdGFydCg1MDAsIChfKSA9PiB7CisJCSBjb3VudCArPSAxCisJCSBlY2hvbSAnSGFuZGxlciBjYWxsZWQgJyAuLiBjb3VudAorCSAgICAgfSwge3JlcGVhdDogM30pCisKIAogVGhlIGVuZGluZyAifSIgbXVzdCBiZSBhdCB0aGUgc3RhcnQgb2YgYSBsaW5lLiAgSXQgY2FuIGJlIGZvbGxvd2VkIGJ5IG90aGVyCiBjaGFyYWN0ZXJzLCBlLmcuOiA+CkBAIC04MzYsNyArODUxLDcgQEAKIFRoZSAnZWRjb21wYXRpYmxlJyBvcHRpb24gdmFsdWUgaXMgbm90IHVzZWQuCiBUaGUgJ2dkZWZhdWx0JyBvcHRpb24gdmFsdWUgaXMgbm90IHVzZWQuCiAKLVlvdSBtYXkgYWxzbyBmaW5kIHRoaXMgd2lraSB1c2VmdWwuICBJdCB3YXMgd3JpdHRlbiBieSBhbiBlYXJseSBhZG9wdG9yIG9mCitZb3UgbWF5IGFsc28gZmluZCB0aGlzIHdpa2kgdXNlZnVsLiAgSXQgd2FzIHdyaXR0ZW4gYnkgYW4gZWFybHkgYWRvcHRlciBvZgogVmltOSBzY3JpcHQ6IGh0dHBzOi8vZ2l0aHViLmNvbS9sYWN5Z29pbGwvd2lraS9ibG9iL21hc3Rlci92aW0vdmltOS5tZAogCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KQEAgLTg4MSwxNCArODk2LDE0IEBACiA6ZW5kZGVmCQkJRW5kIG9mIGEgZnVuY3Rpb24gZGVmaW5lZCB3aXRoIGA6ZGVmYC4gSXQgc2hvdWxkIGJlIG9uCiAJCQlhIGxpbmUgYnkgaXRzIG93bi4KIAotWW91IG1heSBhbHNvIGZpbmQgdGhpcyB3aWtpIHVzZWZ1bC4gIEl0IHdhcyB3cml0dGVuIGJ5IGFuIGVhcmx5IGFkb3B0b3Igb2YKK1lvdSBtYXkgYWxzbyBmaW5kIHRoaXMgd2lraSB1c2VmdWwuICBJdCB3YXMgd3JpdHRlbiBieSBhbiBlYXJseSBhZG9wdGVyIG9mCiBWaW05IHNjcmlwdDogaHR0cHM6Ly9naXRodWIuY29tL2xhY3lnb2lsbC93aWtpL2Jsb2IvbWFzdGVyL3ZpbS92aW05Lm1kCiAKIElmIHRoZSBzY3JpcHQgdGhlIGZ1bmN0aW9uIGlzIGRlZmluZWQgaW4gaXMgVmltOSBzY3JpcHQsIHRoZW4gc2NyaXB0LWxvY2FsCiB2YXJpYWJsZXMgY2FuIGJlIGFjY2Vzc2VkIHdpdGhvdXQgdGhlICJzOiIgcHJlZml4LiAgVGhleSBtdXN0IGJlIGRlZmluZWQKIGJlZm9yZSB0aGUgZnVuY3Rpb24gaXMgY29tcGlsZWQuICBJZiB0aGUgc2NyaXB0IHRoZSBmdW5jdGlvbiBpcyBkZWZpbmVkIGluIGlzCiBsZWdhY3kgc2NyaXB0LCB0aGVuIHNjcmlwdC1sb2NhbCB2YXJpYWJsZXMgbXVzdCBiZSBhY2Nlc3NlZCB3aXRoIHRoZSAiczoiCi1wcmVmaXggYW5kIHRoZXkgZG8gbm90IG5lZWQgdG8gZXhpc3QgKHRoZXkgY2FuIGJlIGRlbGV0ZWQgYW55IHRpbWUpLgorcHJlZml4IGlmIHRoZXkgZG8gbm90IGV4aXN0IGF0IHRoZSB0aW1lIG9mIGNvbXBpbGluZy4KIAogCQkJCQkJKjpkZWZjKiAqOmRlZmNvbXBpbGUqCiA6ZGVmY1tvbXBpbGVdCQlDb21waWxlIGZ1bmN0aW9ucyBkZWZpbmVkIGluIHRoZSBjdXJyZW50IHNjcmlwdCB0aGF0CkBAIC0xMDczLDEyICsxMDg4LDE1IEBACiAJWydhJywgJ2InLCAnYyddCWxpc3Q8c3RyaW5nPgogCVsxLCAneCcsIDNdCWxpc3Q8YW55PgogCitGb3Igc2NyaXB0LWxvY2FsIHZhcmlhYmxlcyBpbiBWaW05IHNjcmlwdCB0aGUgdHlwZSBpcyBjaGVja2VkLCBhbHNvIHdoZW4gdGhlCit2YXJpYWJsZSB3YXMgZGVjbGFyZWQgaW4gYSBsZWdhY3kgZnVuY3Rpb24uCisKIAogU3RyaWN0ZXIgdHlwZSBjaGVja2luZyB+CiAJCQkJCQkJKnR5cGUtY2hlY2tpbmcqCiBJbiBsZWdhY3kgVmltIHNjcmlwdCwgd2hlcmUgYSBudW1iZXIgd2FzIGV4cGVjdGVkLCBhIHN0cmluZyB3b3VsZCBiZQogYXV0b21hdGljYWxseSBjb252ZXJ0ZWQgdG8gYSBudW1iZXIuICBUaGlzIHdhcyBjb252ZW5pZW50IGZvciBhbiBhY3R1YWwgbnVtYmVyCi1zdWNoIGFzICIxMjMiLCBidXQgbGVhZHMgdG8gdW5leHBlY3RlZCBwcm9ibGVtcyAoYnV0IG5vIGVycm9yIG1lc3NhZ2UpIGlmIHRoZQorc3VjaCBhcyAiMTIzIiwgYnV0IGxlYWRzIHRvIHVuZXhwZWN0ZWQgcHJvYmxlbXMgKGFuZCBubyBlcnJvciBtZXNzYWdlKSBpZiB0aGUKIHN0cmluZyBkb2Vzbid0IHN0YXJ0IHdpdGggYSBudW1iZXIuICBRdWl0ZSBvZnRlbiB0aGlzIGxlYWRzIHRvIGhhcmQtdG8tZmluZAogYnVncy4KIApkaWZmIC0tZ2l0IGEvcnVudGltZS9mdHBsdWdpbi9mb3J0cmFuLnZpbSBiL3J1bnRpbWUvZnRwbHVnaW4vZm9ydHJhbi52aW0KaW5kZXggYjliYTNjNC4uMjZkYzkwYSAxMDA2NDQKLS0tIGEvcnVudGltZS9mdHBsdWdpbi9mb3J0cmFuLnZpbQorKysgYi9ydW50aW1lL2Z0cGx1Z2luL2ZvcnRyYW4udmltCkBAIC0xLDEzICsxLDEzIEBACiAiIFZpbSBzZXR0aW5ncyBmaWxlCiAiIExhbmd1YWdlOglGb3J0cmFuIDIwMDggKGFuZCBvbGRlcjogRm9ydHJhbiAyMDAzLCA5NSwgOTAsIDc3LCA2NikKLSIgVmVyc2lvbjoJKHY1MikgMjAyMCBPY3RvYmVyIDA3CisiIFZlcnNpb246CSh2NTMpIDIwMjEgQXByaWwgMDYKICIgTWFpbnRhaW5lcjoJQWppdCBKLiBUaGFra2FyIDxhaml0QHVuYi5jYT47IDxodHRwOi8vd3d3Mi51bmIuY2EvfmFqaXQvPgogIiBVc2FnZToJRm9yIGluc3RydWN0aW9ucywgZG8gOmhlbHAgZm9ydHJhbi1wbHVnaW4gZnJvbSBWaW0KICIgQ3JlZGl0czoKICIgIFZlcnNpb24gMC4xIHdhcyBjcmVhdGVkIGluIFNlcHRlbWJlciAyMDAwIGJ5IEFqaXQgVGhha2thci4KICIgIFNpbmNlIHRoZW4sIHVzZWZ1bCBzdWdnZXN0aW9ucyBhbmQgY29udHJpYnV0aW9ucyBoYXZlIGJlZW4gbWFkZSwgaW4gb3JkZXIsIGJ5OgogIiAgU3RlZmFubyBaYWNjaGlyb2xpLCBIZW5kcmlrIE1lcngsIEJlbiBGcml0eiwgRGF2aWQgQmFybmV0dCwgRWlzdWtlIEthd2FzaGltYSwKLSIgIGFuZCBEb3VnIEtlYXJucy4KKyIgIERvdWcgS2Vhcm5zLCBhbmQgRnJpdHogUmVlc2UuCiAKICIgT25seSBkbyB0aGVzZSBzZXR0aW5ncyB3aGVuIG5vdCBkb25lIHlldCBmb3IgdGhpcyBidWZmZXIKIGlmIGV4aXN0cygiYjpkaWRfZnRwbHVnaW4iKQpAQCAtNjYsMTIgKzY2LDE5IEBACiAiIFNldCBjb21tZW50cyBhbmQgdGV4dHdpZHRoIGFjY29yZGluZyB0byBzb3VyY2UgdHlwZQogaWYgKGI6Zm9ydHJhbl9maXhlZF9zb3VyY2UgPT0gMSkKICAgc2V0bG9jYWwgY29tbWVudHM9OiEsOiosOkMKLSAgIiBGaXhlZCBmb3JtYXQgcmVxdWlyZXMgYSB0ZXh0d2lkdGggb2YgNzIgZm9yIGNvZGUKLSAgc2V0bG9jYWwgdHc9NzIKKyAgIiBGaXhlZCBmb3JtYXQgcmVxdWlyZXMgYSB0ZXh0d2lkdGggb2YgNzIgZm9yIGNvZGUsCisgICIgYnV0IHNvbWUgdmVuZG9yIGV4dGVuc2lvbnMgYWxsb3cgbG9uZ2VyIGxpbmVzCisgIGlmIGV4aXN0cygiZm9ydHJhbl9leHRlbmRlZF9saW5lX2xlbmd0aCIpCisgICAgc2V0bG9jYWwgdHc9MTMyCisgIGVsc2VpZiBleGlzdHMoImZvcnRyYW5fY2FyZGltYWdlX2xpbmVfbGVuZ3RoIikKKyAgICBzZXRsb2NhbCB0dz04MAorICBlbHNlCisgICAgc2V0bG9jYWwgdHc9NzIKICAgIiBJZiB5b3UgbmVlZCB0byBhZGQgIiYiIG9uIGNvbnRpbnVlZCBsaW5lcyBzbyB0aGF0IHRoZSBjb2RlIGlzCiAgICIgY29tcGF0aWJsZSB3aXRoIGJvdGggZnJlZSBhbmQgZml4ZWQgZm9ybWF0LCB0aGVuIHlvdSBzaG91bGQgZG8gc28KICAgIiBpbiBjb2x1bW4gNzMgYW5kIHVuY29tbWVudCB0aGUgbmV4dCBsaW5lCiAgICIgc2V0bG9jYWwgdHc9NzMKKyAgZW5kaWYKIGVsc2UKICAgc2V0bG9jYWwgY29tbWVudHM9OiEKICAgIiBGcmVlIGZvcm1hdCBhbGxvd3MgYSB0ZXh0d2lkdGggb2YgMTMyCmRpZmYgLS1naXQgYS9ydW50aW1lL2Z0cGx1Z2luL3BzMS52aW0gYi9ydW50aW1lL2Z0cGx1Z2luL3BzMS52aW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWFjM2JjOQotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvZnRwbHVnaW4vcHMxLnZpbQpAQCAtMCwwICsxLDU5IEBACisiIFZpbSBmaWxldHlwZSBwbHVnaW4gZmlsZQorIiBMYW5ndWFnZTogICAgV2luZG93cyBQb3dlclNoZWxsCisiIFVSTDogICAgICAgICBodHRwczovL2dpdGh1Yi5jb20vUFByb3Zvc3QvdmltLXBzMQorIiBMYXN0IENoYW5nZTogMjAyMSBBcHIgMDIKKworIiBPbmx5IGRvIHRoaXMgd2hlbiBub3QgZG9uZSB5ZXQgZm9yIHRoaXMgYnVmZmVyCitpZiBleGlzdHMoImI6ZGlkX2Z0cGx1Z2luIikgfCBmaW5pc2ggfCBlbmRpZgorCisiIERvbid0IGxvYWQgYW5vdGhlciBwbHVnLWluIGZvciB0aGlzIGJ1ZmZlcgorbGV0IGI6ZGlkX2Z0cGx1Z2luID0gMQorCitsZXQgczpjcG9fc2F2ZSA9ICZjcG8KK3NldCBjcG8mdmltCisKK3NldGxvY2FsIHR3PTAKK3NldGxvY2FsIGNvbW1lbnRzdHJpbmc9IyVzCitzZXRsb2NhbCBmb3JtYXRvcHRpb25zPXRjcXJvCisiIEVuYWJsZSBhdXRvY29tcGxldGlvbiBvZiBoeXBoZW5hdGVkIFBvd2VyU2hlbGwgY29tbWFuZHMsCisiIGUuZy4gR2V0LUNvbnRlbnQgb3IgR2V0LUFEVXNlcgorc2V0bG9jYWwgaXNrZXl3b3JkKz0tCisKKyIgQ2hhbmdlIHRoZSBicm93c2UgZGlhbG9nIG9uIFdpbjMyIHRvIHNob3cgbWFpbmx5IFBvd2VyU2hlbGwtcmVsYXRlZCBmaWxlcworaWYgaGFzKCJndWlfd2luMzIiKQorCWxldCBiOmJyb3dzZWZpbHRlciA9CisJCQkJXCAiQWxsIFBvd2VyU2hlbGwgRmlsZXMgKCoucHMxLCAqLnBzZDEsICoucHNtMSwgKi5wczF4bWwpXHQqLnBzMTsqLnBzZDE7Ki5wc20xOyoucHMxeG1sXG4iIC4KKwkJCQlcICJQb3dlclNoZWxsIFNjcmlwdCBGaWxlcyAoKi5wczEpXHQqLnBzMVxuIiAuCisJCQkJXCAiUG93ZXJTaGVsbCBNb2R1bGUgRmlsZXMgKCoucHNkMSwgKi5wc20xKVx0Ki5wc2QxOyoucHNtMVxuIiAuCisJCQkJXCAiUG93ZXJTaGVsbCBYTUwgRmlsZXMgKCoucHMxeG1sKVx0Ki5wczF4bWxcbiIgLgorCQkJCVwgIkFsbCBGaWxlcyAoKi4qKVx0Ki4qXG4iCitlbmRpZgorCisiIExvb2sgdXAga2V5d29yZHMgYnkgR2V0LUhlbHA6CisiIGNoZWNrIGZvciBQb3dlclNoZWxsIENvcmUgaW4gV2luZG93cywgTGludXggb3IgTWFjT1MKK2lmIGV4ZWN1dGFibGUoJ3B3c2gnKSB8IGxldCBzOnB3c2hfY21kID0gJ3B3c2gnCisgICIgb24gV2luZG93cyBTdWJzeXN0ZW0gZm9yIExpbnV4LCBjaGVjayBmb3IgUG93ZXJTaGVsbCBDb3JlIGluIFdpbmRvd3MKK2Vsc2VpZiBleGlzdHMoJyRXU0xFTlYnKSAmJiBleGVjdXRhYmxlKCdwd3NoLmV4ZScpIHwgbGV0IHM6cHdzaF9jbWQgPSAncHdzaC5leGUnCisgICIgY2hlY2sgZm9yIFBvd2VyU2hlbGwgPD0gNS4xIGluIFdpbmRvd3MKK2Vsc2VpZiBleGVjdXRhYmxlKCdwb3dlcnNoZWxsLmV4ZScpIHwgbGV0IHM6cHdzaF9jbWQgPSAncG93ZXJzaGVsbC5leGUnCitlbmRpZgorCitpZiBleGlzdHMoJ3M6cHdzaF9jbWQnKQorICBpZiAhaGFzKCdndWlfcnVubmluZycpICYmIGV4ZWN1dGFibGUoJ2xlc3MnKSAmJgorICAgICAgICBcICEoZXhpc3RzKCckQ29uRW11QnVpbGQnKSAmJiAmdGVybSA9fj8gJ154dGVybScpCisgICAgIiBGb3IgZXhjbHVzaW9uIG9mIENvbkVtdSwgc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9NYXhpbXVzNS9Db25FbXUvaXNzdWVzLzIwNDgKKyAgICBjb21tYW5kISAtYnVmZmVyIC1uYXJncz0xIEdldEhlbHAgc2lsZW50IGV4ZSAnIScgLiBzOnB3c2hfY21kIC4gJyAtTm9Mb2dvIC1Ob1Byb2ZpbGUgLU5vbkludGVyYWN0aXZlIC1FeGVjdXRpb25Qb2xpY3kgUmVtb3RlU2lnbmVkIC1Db21tYW5kIEdldC1IZWxwIC1GdWxsICI8YXJncz4iIHwgJyAuIChoYXMoJ3VuaXgnKSA/ICdMRVNTPSBsZXNzJyA6ICdsZXNzJykgfCByZWRyYXchCisgIGVsc2VpZiBoYXMoJ3Rlcm1pbmFsJykKKyAgICBjb21tYW5kISAtYnVmZmVyIC1uYXJncz0xIEdldEhlbHAgc2lsZW50IGV4ZSAndGVybSAnIC4gczpwd3NoX2NtZCAuICcgLU5vTG9nbyAtTm9Qcm9maWxlIC1Ob25JbnRlcmFjdGl2ZSAtRXhlY3V0aW9uUG9saWN5IFJlbW90ZVNpZ25lZCAtQ29tbWFuZCBHZXQtSGVscCAtRnVsbCAiPGFyZ3M+IicgLiAoZXhlY3V0YWJsZSgnbGVzcycpID8gJyB8IGxlc3MnIDogJycpCisgIGVsc2UKKyAgICBjb21tYW5kISAtYnVmZmVyIC1uYXJncz0xIEdldEhlbHAgZWNobyBzeXN0ZW0oczpwd3NoX2NtZCAuICcgLU5vTG9nbyAtTm9Qcm9maWxlIC1Ob25JbnRlcmFjdGl2ZSAtRXhlY3V0aW9uUG9saWN5IFJlbW90ZVNpZ25lZCAtQ29tbWFuZCBHZXQtSGVscCAtRnVsbCA8YXJncz4nKQorICBlbmRpZgorZW5kaWYKK3NldGxvY2FsIGtleXdvcmRwcmc9OkdldEhlbHAKKworIiBVbmRvIHRoZSBzdHVmZiB3ZSBjaGFuZ2VkCitsZXQgYjp1bmRvX2Z0cGx1Z2luID0gInNldGxvY2FsIHR3PCBjbXM8IGZvPCBpc2tleXdvcmQ8IGtleXdvcmRwcmc8IiAuCisJCQlcICIgfCB1bmxldCEgYjpicm93c2VmaWx0ZXIiCisKK2xldCAmY3BvID0gczpjcG9fc2F2ZQordW5sZXQgczpjcG9fc2F2ZQpkaWZmIC0tZ2l0IGEvcnVudGltZS9mdHBsdWdpbi9wczF4bWwudmltIGIvcnVudGltZS9mdHBsdWdpbi9wczF4bWwudmltCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjgzN2EzMzAKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL2Z0cGx1Z2luL3BzMXhtbC52aW0KQEAgLTAsMCArMSwzNCBAQAorIiBWaW0gZmlsZXR5cGUgcGx1Z2luIGZpbGUKKyIgTGFuZ3VhZ2U6ICAgIFdpbmRvd3MgUG93ZXJTaGVsbAorIiBVUkw6ICAgICAgICAgaHR0cHM6Ly9naXRodWIuY29tL1BQcm92b3N0L3ZpbS1wczEKKyIgTGFzdCBDaGFuZ2U6IDIwMjEgQXByIDAyCisKKyIgT25seSBkbyB0aGlzIHdoZW4gbm90IGRvbmUgeWV0IGZvciB0aGlzIGJ1ZmZlcgoraWYgZXhpc3RzKCJiOmRpZF9mdHBsdWdpbiIpIHwgZmluaXNoIHwgZW5kaWYKKworIiBEb24ndCBsb2FkIGFub3RoZXIgcGx1Zy1pbiBmb3IgdGhpcyBidWZmZXIKK2xldCBiOmRpZF9mdHBsdWdpbiA9IDEKKworbGV0IHM6Y3BvX3NhdmUgPSAmY3BvCitzZXQgY3BvJnZpbQorCitzZXRsb2NhbCB0dz0wCitzZXRsb2NhbCBjb21tZW50c3RyaW5nPSMlcworc2V0bG9jYWwgZm9ybWF0b3B0aW9ucz10Y3FybworCisiIENoYW5nZSB0aGUgYnJvd3NlIGRpYWxvZyBvbiBXaW4zMiB0byBzaG93IG1haW5seSBQb3dlclNoZWxsLXJlbGF0ZWQgZmlsZXMKK2lmIGhhcygiZ3VpX3dpbjMyIikKKyAgbGV0IGI6YnJvd3NlZmlsdGVyID0gCisgICAgICAgIFwgIkFsbCBQb3dlclNoZWxsIEZpbGVzICgqLnBzMSwgKi5wc2QxLCAqLnBzbTEsICoucHMxeG1sKVx0Ki5wczE7Ki5wc2QxOyoucHNtMTsqLnBzMXhtbFxuIiAuCisgICAgICAgIFwgIlBvd2VyU2hlbGwgU2NyaXB0IEZpbGVzICgqLnBzMSlcdCoucHMxXG4iIC4KKyAgICAgICAgXCAiUG93ZXJTaGVsbCBNb2R1bGUgRmlsZXMgKCoucHNkMSwgKi5wc20xKVx0Ki5wc2QxOyoucHNtMVxuIiAuCisgICAgICAgIFwgIlBvd2VyU2hlbGwgWE1MIEZpbGVzICgqLnBzMXhtbClcdCoucHMxeG1sXG4iIC4KKyAgICAgICAgXCAiQWxsIEZpbGVzICgqLiopXHQqLipcbiIKK2VuZGlmCisKKyIgVW5kbyB0aGUgc3R1ZmYgd2UgY2hhbmdlZAorbGV0IGI6dW5kb19mdHBsdWdpbiA9ICJzZXRsb2NhbCB0dzwgY21zPCBmbzwiIC4KKyAgICAgIFwgIiB8IHVubGV0ISBiOmJyb3dzZWZpbHRlciIKKworbGV0ICZjcG8gPSBzOmNwb19zYXZlCit1bmxldCBzOmNwb19zYXZlCmRpZmYgLS1naXQgYS9ydW50aW1lL2luZGVudC9wczEudmltIGIvcnVudGltZS9pbmRlbnQvcHMxLnZpbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wZjc5NGRiCi0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS9pbmRlbnQvcHMxLnZpbQpAQCAtMCwwICsxLDE3IEBACisiIFZpbSBpbmRlbnQgZmlsZQorIiBMYW5ndWFnZTogICAgV2luZG93cyBQb3dlclNoZWxsCisiIFVSTDogICAgICAgICBodHRwczovL2dpdGh1Yi5jb20vUFByb3Zvc3QvdmltLXBzMQorIiBMYXN0IENoYW5nZTogMjAxNyBPY3QgMTkKKworIiBPbmx5IGxvYWQgdGhpcyBpbmRlbnQgZmlsZSB3aGVuIG5vIG90aGVyIHdhcyBsb2FkZWQuCitpZiBleGlzdHMoImI6ZGlkX2luZGVudCIpCisJZmluaXNoCitlbmRpZgorbGV0IGI6ZGlkX2luZGVudCA9IDEKKworIiBzbWFydGluZGVudCBpcyBnb29kIGVub3VnaCBmb3IgcG93ZXJzaGVsbAorc2V0bG9jYWwgc21hcnRpbmRlbnQKKyIgZGlzYWJsZSB0aGUgaW5kZW50IHJlbW92YWwgZm9yICMgbWFya3MKK2lub3JlbWFwIDxidWZmZXI+ICMgWAgjCisKK2xldCBiOnVuZG9faW5kZW50ID0gInNldGwgc2k8IgpkaWZmIC0tZ2l0IGEvcnVudGltZS9wbHVnaW4vbWF0Y2hwYXJlbi52aW0gYi9ydW50aW1lL3BsdWdpbi9tYXRjaHBhcmVuLnZpbQppbmRleCAxNjI0MzBlLi4wZGFkMGFjIDEwMDY0NAotLS0gYS9ydW50aW1lL3BsdWdpbi9tYXRjaHBhcmVuLnZpbQorKysgYi9ydW50aW1lL3BsdWdpbi9tYXRjaHBhcmVuLnZpbQpAQCAtMSw2ICsxLDYgQEAKICIgVmltIHBsdWdpbiBmb3Igc2hvd2luZyBtYXRjaGluZyBwYXJlbnMKICIgTWFpbnRhaW5lcjogIEJyYW0gTW9vbGVuYWFyIDxCcmFtQHZpbS5vcmc+Ci0iIExhc3QgQ2hhbmdlOiAyMDIwIEp1biAxOAorIiBMYXN0IENoYW5nZTogMjAyMSBBcHIgMDcKIAogIiBFeGl0IHF1aWNrbHkgd2hlbjoKICIgLSB0aGlzIHBsdWdpbiB3YXMgYWxyZWFkeSBsb2FkZWQgKG9yIGRpc2FibGVkKQpAQCAtMTA3LDkgKzEwNywxMCBAQAogICAgICIgQnVpbGQgYW4gZXhwcmVzc2lvbiB0aGF0IGRldGVjdHMgd2hldGhlciB0aGUgY3VycmVudCBjdXJzb3IgcG9zaXRpb24gaXMKICAgICAiIGluIGNlcnRhaW4gc3ludGF4IHR5cGVzIChzdHJpbmcsIGNvbW1lbnQsIGV0Yy4pLCBmb3IgdXNlIGFzCiAgICAgIiBzZWFyY2hwYWlycG9zKCkncyBza2lwIGFyZ3VtZW50LgotICAgICIgV2UgbWF0Y2ggImVzY2FwZSIgZm9yIHNwZWNpYWwgaXRlbXMsIHN1Y2ggYXMgbGlzcEVzY2FwZVNwZWNpYWwuCisgICAgIiBXZSBtYXRjaCAiZXNjYXBlIiBmb3Igc3BlY2lhbCBpdGVtcywgc3VjaCBhcyBsaXNwRXNjYXBlU3BlY2lhbCwgYW5kCisgICAgIiBtYXRjaCAic3ltYm9sIiBmb3IgbGlzcEJhclN5bWJvbC4KICAgICBsZXQgc19za2lwID0gJyFlbXB0eShmaWx0ZXIobWFwKHN5bnN0YWNrKGxpbmUoIi4iKSwgY29sKCIuIikpLCAnJ3N5bklEYXR0cih2OnZhbCwgIm5hbWUiKScnKSwgJyAuCi0JXCAnJyd2OnZhbCA9fj8gInN0cmluZ1xcfGNoYXJhY3RlclxcfHNpbmdsZXF1b3RlXFx8ZXNjYXBlXFx8Y29tbWVudCInJykpJworCVwgJycndjp2YWwgPX4/ICJzdHJpbmdcXHxjaGFyYWN0ZXJcXHxzaW5nbGVxdW90ZVxcfGVzY2FwZVxcc3ltYm9sXFx8Y29tbWVudCInJykpJwogICAgICIgSWYgZXhlY3V0aW5nIHRoZSBleHByZXNzaW9uIGRldGVybWluZXMgdGhhdCB0aGUgY3Vyc29yIGlzIGN1cnJlbnRseSBpbgogICAgICIgb25lIG9mIHRoZSBzeW50YXggdHlwZXMsIHRoZW4gd2Ugd2FudCBzZWFyY2hwYWlycG9zKCkgdG8gZmluZCB0aGUgcGFpcgogICAgICIgd2l0aGluIHRob3NlIHN5bnRheCB0eXBlcyAoaS5lLiwgbm90IHNraXApLiAgT3RoZXJ3aXNlLCB0aGUgY3Vyc29yIGlzCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9mb3J0cmFuLnZpbSBiL3J1bnRpbWUvc3ludGF4L2ZvcnRyYW4udmltCmluZGV4IDhlYmQxMjAuLmI1YzliMWUgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvc3ludGF4L2ZvcnRyYW4udmltCisrKyBiL3J1bnRpbWUvc3ludGF4L2ZvcnRyYW4udmltCkBAIC0xLDYgKzEsNiBAQAogIiBWaW0gc3ludGF4IGZpbGUKICIgTGFuZ3VhZ2U6CUZvcnRyYW4gMjAwOCAoYW5kIG9sZGVyOiBGb3J0cmFuIDIwMDMsIDk1LCA5MCwgYW5kIDc3KQotIiBWZXJzaW9uOgkodjEwMykgMjAyMCBPY3RvYmVyIDA3CisiIFZlcnNpb246CSh2MTA0KSAyMDIxIEFwcmlsIDA2CiAiIE1haW50YWluZXI6CUFqaXQgSi4gVGhha2thciA8YWppdEB1bmIuY2E+OyA8aHR0cDovL3d3dzIudW5iLmNhL35haml0Lz4KICIgVXNhZ2U6CUZvciBpbnN0cnVjdGlvbnMsIGRvIDpoZWxwIGZvcnRyYW4tc3ludGF4IGZyb20gVmltCiAiIENyZWRpdHM6CkBAIC04LDEwICs4LDEwIEBACiAiICBvbGRlciBGb3J0cmFuIDc3IHN5bnRheCBmaWxlIGJ5IE1hcmlvIEV1c2ViaW8gYW5kIFByZWJlbiBHdWxkYmVyZy4KICIgIFNpbmNlIHRoZW4sIHVzZWZ1bCBzdWdnZXN0aW9ucyBhbmQgY29udHJpYnV0aW9ucyBoYXZlIGJlZW4gbWFkZSwgaW4gb3JkZXIsIGJ5OgogIiAgQW5kcmVqIFBhbmprb3YsIEJyYW0gTW9vbGVuYWFyLCBUaG9tYXMgT2xzZW4sIE1pY2hhZWwgU3Rlcm5iZXJnLCBDaHJpc3RpYW4gUmVpbGUsCi0iICBXYWx0ZXIgRGlldWRvbm7DqSwgQWxleGFuZGVyIFdhZ25lciwgUm9tYW4gQmVydGxlLCBDaGFybGVzIFJlbmRsZW1hbiwKKyIgIFdhbHRlciBEaWV1ZG9ubmUsIEFsZXhhbmRlciBXYWduZXIsIFJvbWFuIEJlcnRsZSwgQ2hhcmxlcyBSZW5kbGVtYW4sCiAiICBBbmRyZXcgR3JpZmZpdGhzLCBKb2UgS3JhaG4sIEhlbmRyaWsgTWVyeCwgTWF0dCBUaG9tcHNvbiwgSmFuIEhlcm1hbm4sCi0iICBTdGVmYW5vIFphZ2hpLCBWaXNobnUgVi4gS3Jpc2huYW4sIEp1ZGljYcOrbCBHcmFzc2V0LCBUYWt1bWEgWW9zaGlkYSwKLSIgIEVpc3VrZSBLYXdhc2hpbWEsIGFuZCBBbmRyw6kgQ2hhbGVsbGEuYAorIiAgU3RlZmFubyBaYWdoaSwgVmlzaG51IFYuIEtyaXNobmFuLCBKdWRpY2FlbCBHcmFzc2V0LCBUYWt1bWEgWW9zaGlkYSwKKyIgIEVpc3VrZSBLYXdhc2hpbWEsIEFuZHJlIENoYWxlbGxhLCBhbmQgRnJpdHogUmVlc2UuCiAKIGlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCiAgIGZpbmlzaApAQCAtMzYwLDggKzM2MCwxNSBAQAogCiBpZiAoYjpmb3J0cmFuX2ZpeGVkX3NvdXJjZSA9PSAxKQogICBpZiAhZXhpc3RzKCJmb3J0cmFuX2hhdmVfdGFicyIpCi0gICAgIkZsYWcgaXRlbXMgYmV5b25kIGNvbHVtbiA3MgotICAgIHN5biBtYXRjaCBmb3J0cmFuU2VyaWFsTnVtYmVyCWV4Y2x1ZGVubCAiXi5cezczLH0kImxjPTcyCisgICAgIiBGaXhlZCBmb3JtYXQgcmVxdWlyZXMgYSB0ZXh0d2lkdGggb2YgNzIgZm9yIGNvZGUsCisgICAgIiBidXQgc29tZSB2ZW5kb3IgZXh0ZW5zaW9ucyBhbGxvdyBsb25nZXIgbGluZXMKKyAgICBpZiBleGlzdHMoImZvcnRyYW5fZXh0ZW5kZWRfbGluZV9sZW5ndGgiKQorICAgICAgc3luIG1hdGNoIGZvcnRyYW5TZXJpYWxOdW1iZXIJZXhjbHVkZW5sICJeLlx7MTMzLH0kImxjPTEzMgorICAgIGVsc2VpZiBleGlzdHMoImZvcnRyYW5fY2FyZGltYWdlX2xpbmVfbGVuZ3RoIikKKyAgICAgIHN5biBtYXRjaCBmb3J0cmFuU2VyaWFsTnVtYmVyCWV4Y2x1ZGVubCAiXi5cezgxLH0kImxjPTgwCisgICAgZWxzZQorICAgICAgc3luIG1hdGNoIGZvcnRyYW5TZXJpYWxOdW1iZXIJZXhjbHVkZW5sICJeLlx7NzMsfSQibGM9NzIKKyAgICBlbmRpZgogICAgICJGbGFnIGxlZnQgbWFyZ2luIGVycm9ycwogICAgIHN5biBtYXRjaCBmb3J0cmFuTGFiZWxFcnJvcgkiXi5cey0sNH1bXjAtOSBdIiBjb250YWlucz1mb3J0cmFuVGFiCiAgICAgc3luIG1hdGNoIGZvcnRyYW5MYWJlbEVycm9yCSJeLlx7NH1cZFxTIgpkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvbmFzbS52aW0gYi9ydW50aW1lL3N5bnRheC9uYXNtLnZpbQppbmRleCA0ZjcwYTBmLi5kNzYzMDMzIDEwMDY0NAotLS0gYS9ydW50aW1lL3N5bnRheC9uYXNtLnZpbQorKysgYi9ydW50aW1lL3N5bnRheC9uYXNtLnZpbQpAQCAtMyw3ICszLDcgQEAKICIgTWFpbnRhaW5lcjoJQW5kcmlpIFNva29sb3YJPGFuZHJpeTE0NUBnbWFpbC5jb20+CiAiIE9yaWdpbmFsIEF1dGhvcjoJTWFudWVsIE0uSC4gU3RvbAk8TWFudWVsLlN0b2xAYWxsaWVkZGF0YS5ubD4KICIgRm9ybWVyIE1haW50YWluZXI6CU1hbnVlbCBNLkguIFN0b2wJPE1hbnVlbC5TdG9sQGFsbGllZGRhdGEubmw+Ci0iIENvbnRyaWJ1dG9yczogTGVvbmFyZCBLw7ZuaWcgPGxlb25hcmQuci5rb2VuaWdAZ21haWwuY29tPiAoQyBzdHJpbmcgaGlnaGxpZ2h0aW5nKQorIiBDb250cmlidXRvcnM6IExlb25hcmQgS8O2bmlnIDxsZW9uYXJkLnIua29lbmlnQGdtYWlsLmNvbT4gKEMgc3RyaW5nIGhpZ2hsaWdodGluZyksIFBldGVyIFN0YW5ob3BlIDxkZXYucnB0ckBnbWFpbC5jb20+IChBZGQgbWlzc2luZyA2NC1iaXQgbW9kZSByZWdpc3RlcnMpCiAiIExhc3QgQ2hhbmdlOgkyMDE3IEphbiAyMwogIiBOQVNNIEhvbWU6CWh0dHA6Ly93d3cubmFzbS51cy8KIApAQCAtMjQwLDcgKzI0MCw4IEBACiBzeW4gbWF0Y2ggICBuYXNtR2VuMDhSZWdpc3RlcgkiXDxbQS1EXVtITF1cPiIKIHN5biBtYXRjaCAgIG5hc21HZW4xNlJlZ2lzdGVyCSJcPFwoW0EtRF1YXHxbRFNdSVx8W0JTXVBcKVw+Igogc3luIG1hdGNoICAgbmFzbUdlbjMyUmVnaXN0ZXIJIlw8RVwoW0EtRF1YXHxbRFNdSVx8W0JTXVBcKVw+Igotc3luIG1hdGNoICAgbmFzbUdlbjY0UmVnaXN0ZXIJIlw8UlwoW0EtRF1YXHxbRFNdSVx8W0JTXVBcfFs4OV1cfDFbMC01XVx8Wzg5XVtXRF1cfDFbMC01XVtXRF1cKVw+Igorc3luIG1hdGNoICAgbmFzbUdlbjY0UmVnaXN0ZXIJIlw8UlwoW0EtRF1YXHxbRFNdSVx8W0JTXVBcfFs4OV1cfDFbMC01XVx8Wzg5XVtXREJdXHwxWzAtNV1bV0RCXVwpXD4iCitzeW4gbWF0Y2ggICBuYXNtRXh0UmVnaXN0ZXIgICAgICJcPFwoW1NCXVBMXHxbU0RdSUxcKVw+Igogc3luIG1hdGNoICAgbmFzbVNlZ1JlZ2lzdGVyCSJcPFtDLUdTXVNcPiIKIHN5biBtYXRjaCAgIG5hc21TcGNSZWdpc3RlcgkiXDxFXD1JUFw+Igogc3luIG1hdGNoICAgbmFzbUZwdVJlZ2lzdGVyCSJcPFNUXG9cPiIKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L3BzMS52aW0gYi9ydW50aW1lL3N5bnRheC9wczEudmltCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU4ZjZiMmYKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL3N5bnRheC9wczEudmltCkBAIC0wLDAgKzEsMTgyIEBACisiIFZpbSBzeW50YXggZmlsZQorIiBMYW5ndWFnZTogICAgV2luZG93cyBQb3dlclNoZWxsCisiIFVSTDogICAgICAgICBodHRwczovL2dpdGh1Yi5jb20vUFByb3Zvc3QvdmltLXBzMQorIiBMYXN0IENoYW5nZTogMjAyMCBOb3YgMjQKKyIKKyIgVGhlIGZvbGxvd2luZyBzZXR0aW5ncyBhcmUgYXZhaWxhYmxlIGZvciB0dW5pbmcgc3ludGF4IGhpZ2hsaWdodGluZzoKKyIgICAgbGV0IHBzMV9ub2ZvbGRfYmxvY2tzID0gMQorIiAgICBsZXQgcHMxX25vZm9sZF9zaWcgPSAxCisiICAgIGxldCBwczFfbm9mb2xkX3JlZ2lvbiA9IDEKKworaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKwlmaW5pc2gKK2VuZGlmCisKKyIgT3BlcmF0b3JzIGNvbnRhaW4gZGFzaGVzCitzZXRsb2NhbCBpc2tleXdvcmQrPS0KKworIiBQb3dlclNoZWxsIGRvZXNuJ3QgY2FyZSBhYm91dCBjYXNlCitzeW4gY2FzZSBpZ25vcmUKKworIiBTeW5jLWluZyBtZXRob2QKK3N5biBzeW5jIG1pbmxpbmVzPTEwMAorCisiIENlcnRhaW4gdG9rZW5zIGNhbid0IGFwcGVhciBhdCB0aGUgdG9wIGxldmVsIG9mIHRoZSBkb2N1bWVudAorc3luIGNsdXN0ZXIgcHMxTm90VG9wIGNvbnRhaW5zPUBwczFDb21tZW50LHBzMUNEb2NQYXJhbSxwczFGdW5jdGlvbkRlY2xhcmF0aW9uCisKKyIgQ29tbWVudHMgYW5kIHNwZWNpYWwgY29tbWVudCB3b3Jkcworc3luIGtleXdvcmQgcHMxQ29tbWVudFRvZG8gVE9ETyBGSVhNRSBYWFggVEJEIEhBQ0sgTk9URSBjb250YWluZWQKK3N5biBtYXRjaCBwczFDRG9jUGFyYW0gLy4qLyBjb250YWluZWQKK3N5biBtYXRjaCBwczFDb21tZW50RG9jIC9eXHMqXHpzXC5cd1wrXD4vIG5leHRncm91cD1wczFDRG9jUGFyYW0gY29udGFpbmVkCitzeW4gbWF0Y2ggcHMxQ29tbWVudERvYyAvI1xzKlx6c1wuXHdcK1w+LyBuZXh0Z3JvdXA9cHMxQ0RvY1BhcmFtIGNvbnRhaW5lZAorc3luIG1hdGNoIHBzMUNvbW1lbnQgLyMuKi8gY29udGFpbnM9cHMxQ29tbWVudFRvZG8scHMxQ29tbWVudERvYyxAU3BlbGwKK3N5biByZWdpb24gcHMxQ29tbWVudCBzdGFydD0iPCMiIGVuZD0iIz4iIGNvbnRhaW5zPXBzMUNvbW1lbnRUb2RvLHBzMUNvbW1lbnREb2MsQFNwZWxsCisKKyIgTGFuZ3VhZ2Uga2V5d29yZHMgYW5kIGVsZW1lbnRzCitzeW4ga2V5d29yZCBwczFDb25kaXRpb25hbCBpZiBlbHNlIGVsc2VpZiBzd2l0Y2ggZGVmYXVsdAorc3luIGtleXdvcmQgcHMxUmVwZWF0IHdoaWxlIGZvciBkbyB1bnRpbCBicmVhayBjb250aW51ZSBmb3JlYWNoIGluCitzeW4gbWF0Y2ggcHMxUmVwZWF0IC9cPGZvcmVhY2hcPi8gbmV4dGdyb3VwPXBzMUJsb2NrIHNraXB3aGl0ZQorc3luIG1hdGNoIHBzMUtleXdvcmQgL1w8d2hpbGVcPi8gbmV4dGdyb3VwPXBzMUJsb2NrIHNraXB3aGl0ZQorc3luIG1hdGNoIHBzMUtleXdvcmQgL1w8d2hlcmVcPi8gbmV4dGdyb3VwPXBzMUJsb2NrIHNraXB3aGl0ZQorCitzeW4ga2V5d29yZCBwczFFeGNlcHRpb24gYmVnaW4gcHJvY2VzcyBlbmQgZXhpdCBpbmxpbmVzY3JpcHQgcGFyYWxsZWwgc2VxdWVuY2UKK3N5biBrZXl3b3JkIHBzMUtleXdvcmQgdHJ5IGNhdGNoIGZpbmFsbHkgdGhyb3cKK3N5biBrZXl3b3JkIHBzMUtleXdvcmQgcmV0dXJuIGZpbHRlciBpbiB0cmFwIHBhcmFtIGRhdGEgZHluYW1pY3BhcmFtIAorc3luIGtleXdvcmQgcHMxQ29uc3RhbnQgJHRydWUgJGZhbHNlICRudWxsCitzeW4gbWF0Y2ggcHMxQ29uc3RhbnQgK1wkPysKK3N5biBtYXRjaCBwczFDb25zdGFudCArXCRfKworc3luIG1hdGNoIHBzMUNvbnN0YW50ICtcJFwkKworc3luIG1hdGNoIHBzMUNvbnN0YW50ICtcJF4rCisKKyIgS2V5d29yZHMgcmVzZXJ2ZWQgZm9yIGZ1dHVyZSB1c2UKK3N5biBrZXl3b3JkIHBzMUtleXdvcmQgY2xhc3MgZGVmaW5lIGZyb20gdXNpbmcgdmFyCisKKyIgRnVuY3Rpb24gZGVjbGFyYXRpb25zCitzeW4ga2V5d29yZCBwczFLZXl3b3JkIGZ1bmN0aW9uIG5leHRncm91cD1wczFGdW5jdGlvbiBza2lwd2hpdGUKK3N5biBrZXl3b3JkIHBzMUtleXdvcmQgZmlsdGVyIG5leHRncm91cD1wczFGdW5jdGlvbiBza2lwd2hpdGUKK3N5biBrZXl3b3JkIHBzMUtleXdvcmQgd29ya2Zsb3cgbmV4dGdyb3VwPXBzMUZ1bmN0aW9uIHNraXB3aGl0ZQorc3luIGtleXdvcmQgcHMxS2V5d29yZCBjb25maWd1cmF0aW9uIG5leHRncm91cD1wczFGdW5jdGlvbiBza2lwd2hpdGUKK3N5biBrZXl3b3JkIHBzMUtleXdvcmQgY2xhc3MgbmV4dGdyb3VwPXBzMUZ1bmN0aW9uIHNraXB3aGl0ZQorc3luIGtleXdvcmQgcHMxS2V5d29yZCBlbnVtIG5leHRncm91cD1wczFGdW5jdGlvbiBza2lwd2hpdGUKKworIiBGdW5jdGlvbiBkZWNsYXJhdGlvbnMgYW5kIGludm9jYXRpb25zCitzeW4gbWF0Y2ggcHMxQ21kbGV0IC9cdihhZGR8Y2xlYXJ8Y2xvc2V8Y29weXxlbnRlcnxleGl0fGZpbmR8Zm9ybWF0fGdldHxoaWRlfGpvaW58bG9ja3xtb3ZlfG5ld3xvcGVufG9wdGltaXplfHBvcHxwdXNofHJlZG98cmVtb3ZlfHJlbmFtZXxyZXNldHxzZWFyY2h8c2VsZWN0fFNldHxzaG93fHNraXB8c3BsaXR8c3RlcHxzd2l0Y2h8dW5kb3x1bmxvY2t8d2F0Y2gpKC1cdyspKy8gY29udGFpbmVkCitzeW4gbWF0Y2ggcHMxQ21kbGV0IC9cdihjb25uZWN0fGRpc2Nvbm5lY3R8cmVhZHxyZWNlaXZlfHNlbmR8d3JpdGUpKC1cdyspKy8gY29udGFpbmVkCitzeW4gbWF0Y2ggcHMxQ21kbGV0IC9cdihiYWNrdXB8Y2hlY2twb2ludHxjb21wYXJlfGNvbXByZXNzfGNvbnZlcnR8Y29udmVydGZyb218Y29udmVydHRvfGRpc21vdW50fGVkaXR8ZXhwYW5kfGV4cG9ydHxncm91cHxpbXBvcnR8aW5pdGlhbGl6ZXxsaW1pdHxtZXJnZXxtb3VudHxvdXR8cHVibGlzaHxyZXN0b3JlfHNhdmV8c3luY3x1bnB1Ymxpc2h8dXBkYXRlKSgtXHcrKSsvIGNvbnRhaW5lZAorc3luIG1hdGNoIHBzMUNtZGxldCAvXHYoZGVidWd8bWVhc3VyZXxwaW5nfHJlcGFpcnxyZXNvbHZlfHRlc3R8dHJhY2UpKC1cdyspKy8gY29udGFpbmVkCitzeW4gbWF0Y2ggcHMxQ21kbGV0IC9cdihhcHByb3ZlfGFzc2VydHxidWlsZHxjb21wbGV0ZXxjb25maXJtfGRlbnl8ZGVwbG95fGRpc2FibGV8ZW5hYmxlfGluc3RhbGx8aW52b2tlfHJlZ2lzdGVyfHJlcXVlc3R8cmVzdGFydHxyZXN1bWV8c3RhcnR8c3RvcHxzdWJtaXR8c3VzcGVuZHx1bmluc3RhbGx8dW5yZWdpc3Rlcnx3YWl0KSgtXHcrKSsvIGNvbnRhaW5lZAorc3luIG1hdGNoIHBzMUNtZGxldCAvXHYoYmxvY2t8Z3JhbnR8cHJvdGVjdHxyZXZva2V8dW5ibG9ja3x1bnByb3RlY3QpKC1cdyspKy8gY29udGFpbmVkCitzeW4gbWF0Y2ggcHMxQ21kbGV0IC9cdih1c2UpKC1cdyspKy8gY29udGFpbmVkCisKKyIgT3RoZXIgZnVuY3Rpb25zCitzeW4gbWF0Y2ggcHMxRnVuY3Rpb24gL1x3XCtcKC1cd1wrXClcKy8gY29udGFpbnM9cHMxQ21kbGV0CisKKyIgVHlwZSBkZWNsYXJhdGlvbnMKK3N5biBtYXRjaCBwczFUeXBlIC9cW1thLXpfXVthLXowLTlfLixcW1xdXVwrXF0vCisKKyIgVmFyaWFibGUgcmVmZXJlbmNlcworc3luIG1hdGNoIHBzMVNjb3BlTW9kaWZpZXIgL1woZ2xvYmFsOlx8bG9jYWw6XHxwcml2YXRlOlx8c2NyaXB0OlwpLyBjb250YWluZWQKK3N5biBtYXRjaCBwczFWYXJpYWJsZSAvXCRcd1wrXCg6XHdcK1wpXD8vIGNvbnRhaW5zPXBzMVNjb3BlTW9kaWZpZXIKK3N5biBtYXRjaCBwczFWYXJpYWJsZSAvXCR7XHdcK1woOlw/W1s6YWxudW06XV8oKV1cK1wpXD99LyBjb250YWlucz1wczFTY29wZU1vZGlmaWVyCisKKyIgT3BlcmF0b3JzCitzeW4ga2V5d29yZCBwczFPcGVyYXRvciAtZXEgLW5lIC1nZSAtZ3QgLWx0IC1sZSAtbGlrZSAtbm90bGlrZSAtbWF0Y2ggLW5vdG1hdGNoIC1yZXBsYWNlIC1zcGxpdCAtY29udGFpbnMgLW5vdGNvbnRhaW5zCitzeW4ga2V5d29yZCBwczFPcGVyYXRvciAtaWVxIC1pbmUgLWlnZSAtaWd0IC1pbGUgLWlsdCAtaWxpa2UgLWlub3RsaWtlIC1pbWF0Y2ggLWlub3RtYXRjaCAtaXJlcGxhY2UgLWlzcGxpdCAtaWNvbnRhaW5zIC1pbm90Y29udGFpbnMKK3N5biBrZXl3b3JkIHBzMU9wZXJhdG9yIC1jZXEgLWNuZSAtY2dlIC1jZ3QgLWNsdCAtY2xlIC1jbGlrZSAtY25vdGxpa2UgLWNtYXRjaCAtY25vdG1hdGNoIC1jcmVwbGFjZSAtY3NwbGl0IC1jY29udGFpbnMgLWNub3Rjb250YWlucworc3luIGtleXdvcmQgcHMxT3BlcmF0b3IgLWluIC1ub3Rpbgorc3luIGtleXdvcmQgcHMxT3BlcmF0b3IgLWlzIC1pc25vdCAtYXMgLWpvaW4KK3N5biBrZXl3b3JkIHBzMU9wZXJhdG9yIC1hbmQgLW9yIC1ub3QgLXhvciAtYmFuZCAtYm9yIC1ibm90IC1ieG9yCitzeW4ga2V5d29yZCBwczFPcGVyYXRvciAtZgorc3luIG1hdGNoIHBzMU9wZXJhdG9yIC8hLworc3luIG1hdGNoIHBzMU9wZXJhdG9yIC89Lworc3luIG1hdGNoIHBzMU9wZXJhdG9yIC8rPS8KK3N5biBtYXRjaCBwczFPcGVyYXRvciAvLT0vCitzeW4gbWF0Y2ggcHMxT3BlcmF0b3IgL1wqPS8KK3N5biBtYXRjaCBwczFPcGVyYXRvciAvXC89Lworc3luIG1hdGNoIHBzMU9wZXJhdG9yIC8lPS8KK3N5biBtYXRjaCBwczFPcGVyYXRvciAvKy8KK3N5biBtYXRjaCBwczFPcGVyYXRvciAvLVwoXHNcfFxkXHxcLlx8XCRcfChcKVxAPS8KK3N5biBtYXRjaCBwczFPcGVyYXRvciAvXCovCitzeW4gbWF0Y2ggcHMxT3BlcmF0b3IgL1wvLworc3luIG1hdGNoIHBzMU9wZXJhdG9yIC98Lworc3luIG1hdGNoIHBzMU9wZXJhdG9yIC8lLworc3luIG1hdGNoIHBzMU9wZXJhdG9yIC8mLworc3luIG1hdGNoIHBzMU9wZXJhdG9yIC86Oi8KK3N5biBtYXRjaCBwczFPcGVyYXRvciAvLC8KK3N5biBtYXRjaCBwczFPcGVyYXRvciAvXCheXHxcc1wpXEA8PVwuIFxAPS8KKworIiBSZWd1bGFyIFN0cmluZ3MKKyIgVGhlc2UgYXJlbid0IHByZWNpc2VseSBjb3JyZWN0IGFuZCBjb3VsZCB1c2Ugc29tZSB3b3JrCitzeW4gcmVnaW9uIHBzMVN0cmluZyBzdGFydD0vIi8gc2tpcD0vYCIvIGVuZD0vIi8gY29udGFpbnM9QHBzMVN0cmluZ1NwZWNpYWwsQFNwZWxsCitzeW4gcmVnaW9uIHBzMVN0cmluZyBzdGFydD0vJy8gc2tpcD0vJycvIGVuZD0vJy8KKworIiBIZXJlLVN0cmluZ3MKK3N5biByZWdpb24gcHMxU3RyaW5nIHN0YXJ0PS9AIiQvIGVuZD0vXiJALyBjb250YWlucz1AcHMxU3RyaW5nU3BlY2lhbCxAU3BlbGwKK3N5biByZWdpb24gcHMxU3RyaW5nIHN0YXJ0PS9AJyQvIGVuZD0vXidALworCisiIEludGVycG9sYXRpb24KK3N5biBtYXRjaCBwczFFc2NhcGUgL2AuLworc3luIHJlZ2lvbiBwczFJbnRlcnBvbGF0aW9uIG1hdGNoZ3JvdXA9cHMxSW50ZXJwb2xhdGlvbkRlbGltaXRlciBzdGFydD0iJCgiIGVuZD0iKSIgY29udGFpbmVkIGNvbnRhaW5zPUFMTEJVVCxAcHMxTm90VG9wCitzeW4gcmVnaW9uIHBzMU5lc3RlZFBhcmVudGhlc2VzIHN0YXJ0PSIoIiBza2lwPSJcXFxcXHxcXCkiIG1hdGNoZ3JvdXA9cHMxSW50ZXJwb2xhdGlvbiBlbmQ9IikiIHRyYW5zcGFyZW50IGNvbnRhaW5lZAorc3luIGNsdXN0ZXIgcHMxU3RyaW5nU3BlY2lhbCBjb250YWlucz1wczFFc2NhcGUscHMxSW50ZXJwb2xhdGlvbixwczFWYXJpYWJsZSxwczFCb29sZWFuLHBzMUNvbnN0YW50LHBzMUJ1aWx0SW4sQFNwZWxsCisKKyIgTnVtYmVycworc3luIG1hdGNoICAgcHMxTnVtYmVyCQkiXChcPFx8LVwpXEA8PVwoMFt4WF1ceFwrXHxcZFwrXClcKFtLTUdUUF1bQl1cKVw9XChcPlx8LVwpXEA9Igorc3luIG1hdGNoICAgcHMxTnVtYmVyCQkiXChcKFw8XHwtXClcQDw9XGRcK1wuXGQqXHxcLlxkXCtcKVwoW2VFXVstK11cPVxkXCtcKVw9W2REXVw9Igorc3luIG1hdGNoICAgcHMxTnVtYmVyCQkiXDxcZFwrW2VFXVstK11cPVxkXCtbZERdXD1cPiIKK3N5biBtYXRjaCAgIHBzMU51bWJlcgkJIlw8XGRcK1woW2VFXVstK11cPVxkXCtcKVw9W2REXVw+IgorCisiIENvbnN0YW50cworc3luIG1hdGNoIHBzMUJvb2xlYW4gIiRcJSh0cnVlXHxmYWxzZVwpXD4iCitzeW4gbWF0Y2ggcHMxQ29uc3RhbnQgL1wkbnVsbFw+Lworc3luIG1hdGNoIHBzMUJ1aWx0SW4gIiReXHwkP1x8JF9cfCRcJCIKK3N5biBtYXRjaCBwczFCdWlsdEluICIkXCUoYXJnc1x8ZXJyb3JcfGZvcmVhY2hcfGhvbWVcfGlucHV0XClcPiIKK3N5biBtYXRjaCBwczFCdWlsdEluICIkXCUobWF0Y2hcKGVzXClcP1x8bXlpbnZvY2F0aW9uXHxob3N0XHxsYXN0ZXhpdGNvZGVcKVw+Igorc3luIG1hdGNoIHBzMUJ1aWx0SW4gIiRcJShvZnNcfHNoZWxsaWRcfHN0YWNrdHJhY2VcKVw+IgorCisiIE5hbWVkIFN3aXRjaAorc3luIG1hdGNoIHBzMUxhYmVsIC9ccy1cd1wrLworCisiIEZvbGRpbmcgYmxvY2tzCitpZiAhZXhpc3RzKCdnOnBzMV9ub2ZvbGRfYmxvY2tzJykKKwlzeW4gcmVnaW9uIHBzMUJsb2NrIHN0YXJ0PS97LyBlbmQ9L30vIHRyYW5zcGFyZW50IGZvbGQKK2VuZGlmCisKK2lmICFleGlzdHMoJ2c6cHMxX25vZm9sZF9yZWdpb24nKQorCXN5biByZWdpb24gcHMxUmVnaW9uIHN0YXJ0PS8jcmVnaW9uLyBlbmQ9LyNlbmRyZWdpb24vIHRyYW5zcGFyZW50IGZvbGQga2VlcGVuZCBleHRlbmQKK2VuZGlmCisKK2lmICFleGlzdHMoJ2c6cHMxX25vZm9sZF9zaWcnKQorCXN5biByZWdpb24gcHMxU2lnbmF0dXJlIHN0YXJ0PS8jIFNJRyAjIEJlZ2luIHNpZ25hdHVyZSBibG9jay8gZW5kPS8jIFNJRyAjIEVuZCBzaWduYXR1cmUgYmxvY2svIHRyYW5zcGFyZW50IGZvbGQKK2VuZGlmCisKKyIgU2V0dXAgZGVmYXVsdCBjb2xvciBoaWdobGlnaHRpbmcKK2hpIGRlZiBsaW5rIHBzMU51bWJlciBOdW1iZXIKK2hpIGRlZiBsaW5rIHBzMUJsb2NrIEJsb2NrCitoaSBkZWYgbGluayBwczFSZWdpb24gUmVnaW9uCitoaSBkZWYgbGluayBwczFFeGNlcHRpb24gRXhjZXB0aW9uCitoaSBkZWYgbGluayBwczFDb25zdGFudCBDb25zdGFudAoraGkgZGVmIGxpbmsgcHMxU3RyaW5nIFN0cmluZworaGkgZGVmIGxpbmsgcHMxRXNjYXBlIFNwZWNpYWxDaGFyCitoaSBkZWYgbGluayBwczFJbnRlcnBvbGF0aW9uRGVsaW1pdGVyIERlbGltaXRlcgoraGkgZGVmIGxpbmsgcHMxQ29uZGl0aW9uYWwgQ29uZGl0aW9uYWwKK2hpIGRlZiBsaW5rIHBzMUNtZGxldCBGdW5jdGlvbgoraGkgZGVmIGxpbmsgcHMxRnVuY3Rpb24gSWRlbnRpZmllcgoraGkgZGVmIGxpbmsgcHMxVmFyaWFibGUgSWRlbnRpZmllcgoraGkgZGVmIGxpbmsgcHMxQm9vbGVhbiBCb29sZWFuCitoaSBkZWYgbGluayBwczFDb25zdGFudCBDb25zdGFudAoraGkgZGVmIGxpbmsgcHMxQnVpbHRJbiBTdG9yYWdlQ2xhc3MKK2hpIGRlZiBsaW5rIHBzMVR5cGUgVHlwZQoraGkgZGVmIGxpbmsgcHMxU2NvcGVNb2RpZmllciBTdG9yYWdlQ2xhc3MKK2hpIGRlZiBsaW5rIHBzMUNvbW1lbnQgQ29tbWVudAoraGkgZGVmIGxpbmsgcHMxQ29tbWVudFRvZG8gVG9kbworaGkgZGVmIGxpbmsgcHMxQ29tbWVudERvYyBUYWcKK2hpIGRlZiBsaW5rIHBzMUNEb2NQYXJhbSBJZGVudGlmaWVyCitoaSBkZWYgbGluayBwczFPcGVyYXRvciBPcGVyYXRvcgoraGkgZGVmIGxpbmsgcHMxUmVwZWF0IFJlcGVhdAoraGkgZGVmIGxpbmsgcHMxUmVwZWF0QW5kQ21kbGV0IFJlcGVhdAoraGkgZGVmIGxpbmsgcHMxS2V5d29yZCBLZXl3b3JkCitoaSBkZWYgbGluayBwczFLZXl3b3JkQW5kQ21kbGV0IEtleXdvcmQKK2hpIGRlZiBsaW5rIHBzMUxhYmVsIExhYmVsCisKK2xldCBiOmN1cnJlbnRfc3ludGF4ID0gInBzMSIKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L3BzMXhtbC52aW0gYi9ydW50aW1lL3N5bnRheC9wczF4bWwudmltCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZjYTllZDAKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL3N5bnRheC9wczF4bWwudmltCkBAIC0wLDAgKzEsNTEgQEAKKyIgVmltIHN5bnRheCBmaWxlCisiIExhbmd1YWdlOiAgICBXaW5kb3dzIFBvd2VyU2hlbGwKKyIgVVJMOiAgICAgICAgIGh0dHBzOi8vZ2l0aHViLmNvbS9QUHJvdm9zdC92aW0tcHMxCisiIExhc3QgQ2hhbmdlOiAyMDEzIEp1biAyNAorCitpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorCWZpbmlzaAorZW5kaWYKKworbGV0IHM6cHMxeG1sX2Nwb19zYXZlID0gJmNwbworc2V0IGNwbyZ2aW0KKworZG9hdSBzeW50YXggeG1sCit1bmxldCBiOmN1cnJlbnRfc3ludGF4CisKK3N5biBjYXNlIGlnbm9yZQorc3luIGluY2x1ZGUgQHBzMXhtbFNjcmlwdEJsb2NrIDxzZmlsZT46cDpoL3BzMS52aW0KK3VubGV0IGI6Y3VycmVudF9zeW50YXgKKworc3luIHJlZ2lvbiBwczF4bWxTY3JpcHRCbG9jaworICAgICAgXCBtYXRjaGdyb3VwPXhtbFRhZyAgICAgc3RhcnQ9IjxTY3JpcHQ+IgorICAgICAgXCBtYXRjaGdyb3VwPXhtbEVuZFRhZyAgZW5kPSI8L1NjcmlwdD4iCisgICAgICBcIGZvbGQKKyAgICAgIFwgY29udGFpbnM9QHBzMXhtbFNjcmlwdEJsb2NrCisgICAgICBcIGtlZXBlbmQKK3N5biByZWdpb24gcHMxeG1sU2NyaXB0QmxvY2sKKyAgICAgIFwgbWF0Y2hncm91cD14bWxUYWcgICAgIHN0YXJ0PSI8U2NyaXB0QmxvY2s+IgorICAgICAgXCBtYXRjaGdyb3VwPXhtbEVuZFRhZyAgZW5kPSI8L1NjcmlwdEJsb2NrPiIKKyAgICAgIFwgZm9sZAorICAgICAgXCBjb250YWlucz1AcHMxeG1sU2NyaXB0QmxvY2sKKyAgICAgIFwga2VlcGVuZAorc3luIHJlZ2lvbiBwczF4bWxTY3JpcHRCbG9jaworICAgICAgXCBtYXRjaGdyb3VwPXhtbFRhZyAgICAgc3RhcnQ9IjxHZXRTY3JpcHRCbG9jaz4iCisgICAgICBcIG1hdGNoZ3JvdXA9eG1sRW5kVGFnICBlbmQ9IjwvR2V0U2NyaXB0QmxvY2s+IgorICAgICAgXCBmb2xkCisgICAgICBcIGNvbnRhaW5zPUBwczF4bWxTY3JpcHRCbG9jaworICAgICAgXCBrZWVwZW5kCitzeW4gcmVnaW9uIHBzMXhtbFNjcmlwdEJsb2NrCisgICAgICBcIG1hdGNoZ3JvdXA9eG1sVGFnICAgICBzdGFydD0iPFNldFNjcmlwdEJsb2NrPiIKKyAgICAgIFwgbWF0Y2hncm91cD14bWxFbmRUYWcgIGVuZD0iPC9TZXRTY3JpcHRCbG9jaz4iCisgICAgICBcIGZvbGQKKyAgICAgIFwgY29udGFpbnM9QHBzMXhtbFNjcmlwdEJsb2NrCisgICAgICBcIGtlZXBlbmQKKworc3luIGNsdXN0ZXIgeG1sUmVnaW9uSG9vayBhZGQ9cHMxeG1sU2NyaXB0QmxvY2sKKworbGV0IGI6Y3VycmVudF9zeW50YXggPSAicHMxeG1sIgorCitsZXQgJmNwbyA9IHM6cHMxeG1sX2Nwb19zYXZlCit1bmxldCBzOnBzMXhtbF9jcG9fc2F2ZQorCmRpZmYgLS1naXQgYS9zcmMvcG8vZnIucG8gYi9zcmMvcG8vZnIucG8KaW5kZXggYTVlN2M0OC4uYTY1MGViYyAxMDA2NDQKLS0tIGEvc3JjL3BvL2ZyLnBvCisrKyBiL3NyYy9wby9mci5wbwpAQCAtMzA0OSw3ICszMDQ5LDcgQEAKIAogbXNnaWQgIi0tbm90LWEtdGVybVx0XHRTa2lwIHdhcm5pbmcgZm9yIGlucHV0L291dHB1dCBub3QgYmVpbmcgYSB0ZXJtaW5hbCIKIG1zZ3N0ciAiIgotIi0tbm8tYS10ZXJtXHRcdEF1Y3VuIGF2ZXJ0aXNzZW1lbnQgc2kgbCdlbnRy6WUvc29ydGllIG4nZXN0IHBhcyB1biB0ZXJtaW5hbCIKKyItLW5vdC1hLXRlcm1cdFx0QXVjdW4gYXZlcnRpc3NlbWVudCBzaSBsJ2VudHLpZS9zb3J0aWUgbidlc3QgcGFzIHVuIHRlcm1pbmFsIgogCiBtc2dpZCAiLS10dHlmYWlsXHRcdEV4aXQgaWYgaW5wdXQgb3Igb3V0cHV0IGlzIG5vdCBhIHRlcm1pbmFsIgogbXNnc3RyICItLXR0eWZhaWxcdFx0UXVpdHRlIHNpIGwnZW50cullIG91IGxhIHNvcnRpZSBuZSBzb250IHBhcyB1biB0ZXJtaW5hbCIK