ZGlmZiAtLWdpdCBhL0RldGFpbGVkX1Rlc3RpbmdfTWV0aG9kb2xvZ3kudHh0IGIvRGV0YWlsZWRfVGVzdGluZ19NZXRob2RvbG9neS50eHQKaW5kZXggY2ViNzIzYS4uYTJjOTRlMiAxMDA2NDQKLS0tIGEvRGV0YWlsZWRfVGVzdGluZ19NZXRob2RvbG9neS50eHQKKysrIGIvRGV0YWlsZWRfVGVzdGluZ19NZXRob2RvbG9neS50eHQKQEAgLTEsNjEgKzEsODMgQEAKLSoqKioqKkNvbmZvcm1hbmNlIFRlc3Qtc3VpdGUqKioqKioqKioqKioqKioqKioqKioqKioqKgotT0YtU3dpdGNoLTEuMC4wLVRlc3RDYXNlcyBkZXRhaWxlZCB0ZXN0aW5nIG1ldGhvZG9sb2d5CisJCQkJCQkqKioqKioqKioqKiAgQ29uZm9ybWFuY2UgVGVzdC1zdWl0ZSAgICoqKioqKioqKioqKioqKioKKwkJCQkJCU9GLVN3aXRjaC0xLjAuMC1UZXN0Q2FzZXMgZGV0YWlsZWQgdGVzdGluZyBtZXRob2RvbG9neQogCiAKLSMjIyMjIE9wZW5mbG93IHByb3RvY29sIG1lc3NhZ2VzICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKworCisKKyoqKiogICAgIE9wZW5mbG93IHByb3RvY29sIG1lc3NhZ2VzICAgICAqKioqCisKKwogCiAxLiBGZWF0dXJlcyBSZXF1ZXN0CiAKIFRlc3QgRGVzY3JpcHRpb246IENoZWNrIGZlYXR1cmVzIHJlcXVlc3QgaXMgaW1wbGVtZW50ZWQKKwogVGVzdCBtb2RlOiBBdXRvbWF0ZWQKLVRlc3QgVGl0bGU6IGZlYXR1cmVzX3JlcXVlc3QKK1Rlc3QgVGl0bGU6IEZlYXR1cmVzUmVxdWVzdAogUG9ydHM6IEkgKENvbnRyb2wgUGxhbmUpCiBJbml0aWFsIFN0YXRlOiBEZWZhdWx0IChDbGVhciBzd2l0Y2ggc3RhdGUpLCBDb25uZWN0aW9uIFNldHVwCiBUZXN0LUZpZWxkOiBNYW5kYXRvcnkKIAorCiBUZXN0IE5vdGVzOiAKKwogYSkgU2VuZCBPRlBUX0ZFQVRVUkVTX1JFUVVFU1QgZnJvbSBjb250cm9sbGVyLgotYykgVmVyaWZ5IE9GUFRfRkVBVFVSRVNfUkVQTFkgaXMgcmVjZWl2ZWQgd2l0aG91dCBlcnJvcnMKK2IpIFZlcmlmeSBPRlBUX0ZFQVRVUkVTX1JFUExZIGlzIHJlY2VpdmVkIHdpdGhvdXQgZXJyb3JzCisKIAogCiAyLiBDb25maWd1cmF0aW9uIHJlcXVlc3QKIAogVGVzdCBEZXNjcmlwdGlvbjogQ2hlY2sgYmFzaWMgZ2V0IGNvbmZpZ3VyYXRpb24gcmVxdWVzdCBpcyBpbXBsZW1lbnRlZAorCiBUZXN0IG1vZGU6IEF1dG9tYXRlZAotVGVzdCBUaXRsZTogY29uZmlndXJhdGlvbl9yZXF1ZXN0CitUZXN0IFRpdGxlOiBDb25maWd1cmF0aW9uUmVxdWVzdAogUG9ydHM6IEkgKENvbnRyb2wgUGxhbmUpCiBJbml0aWFsIFN0YXRlOiBEZWZhdWx0IChDbGVhciBzd2l0Y2ggc3RhdGUpLCBDb25uZWN0aW9uIFNldHVwCiBUZXN0LUZpZWxkOiBNYW5kYXRvcnkKIAorCiBUZXN0IE5vdGVzOgorCiBhKSBTZW5kIE9GUFRfR0VUX0NPTkZJR19SRVFVRVNUCi1jKSBWZXJpZnkgT0ZQVF9HRVRfQ09ORklHX1JFUExZIGlzIHJlY2VpdmVkIHdpdGhvdXQgZXJyb3JzLgorYikgVmVyaWZ5IE9GUFRfR0VUX0NPTkZJR19SRVBMWSBpcyByZWNlaXZlZCB3aXRob3V0IGVycm9ycy4KKwogCiAKIDMuIE1vZGlmeSBTdGF0ZSAoQUREKQogCiBUZXN0IERlc2NyaXB0aW9uOiBDaGVjayBiYXNpYyBGbG93IEFERCByZXF1ZXN0IGlzIGltcGxlbWVudGVkCisKIFRlc3QgbW9kZTogQXV0b21hdGVkCi1UZXN0IFRpdGxlOiBtb2RpZnlfc3RhdGVfYWRkCitUZXN0IFRpdGxlOiBNb2RpZnlTdGF0ZUFkZAogUG9ydHM6IDMgKDEgQ29udHJvbCBQbGFuZSAyIGRhdGFwbGFuZSkKIEluaXRpYWwgU3RhdGU6IERlZmF1bHQgKENsZWFyIHN3aXRjaCBzdGF0ZSksIENvbm5lY3Rpb24gU2V0dXAKIFRlc3QtRmllbGQ6IE1hbmRhdG9yeQogCisKIFRlc3QgTm90ZXM6CisKIGEpIFNlbmQgT0ZQVF9GTE9XX01PRCwgY29tbWFuZCA9IE9GUEZDX0FERCAKIGIpIFNlbmQgb2ZwX3RhYmxlX3N0YXRzIHJlcXVlc3QgCiBjKSBWZXJpZnkgdGhhdCBhY3RpdmVfY291bnQ9MSBpbiB0aGUgcmVwbHkKIAorCisKKwogNC4gTW9kaWZ5IFN0YXRlIChERUxFVEUpCiAKIFRlc3QgRGVzY3JpcHRpb246IENoZWNrIGJhc2ljIEZsb3cgRGVsZXRlIHJlcXVlc3QgaXMgaW1wbGVtZW50ZWQKKwogVGVzdCBtb2RlOiBBdXRvbWF0ZWQKLVRlc3QgVGl0bGU6IG1vZGlmeV9zdGF0ZV9kZWxldGUKK1Rlc3QgVGl0bGU6IE1vZGlmeVN0YXRlRGVsZXRlCiBQb3J0czogMyAoMSBDb250cm9sIFBsYW5lIDIgZGF0YXBsYW5lKQogSW5pdGlhbCBTdGF0ZTogRGVmYXVsdCAoQ2xlYXIgc3dpdGNoIHN0YXRlKSwgQ29ubmVjdGlvbiBTZXR1cAogVGVzdC1GaWVsZDogTWFuZGF0b3J5CiAKKwogVGVzdCBOb3RlczoKKwogYSkgU2VuZCBPRlBUX0ZMT1dfTU9ELCBjb21tYW5kID0gT0ZQRkNfQUREIAogYikgU2VuZCBvZnBfdGFibGVfc3RhdHMgcmVxdWVzdAogYykgVmVyaWZ5IHRoYXQgYWN0aXZlX2NvdW50PTEgaW4gdGhlIHJlcGx5CkBAIC02MywxNiArODUsMjEgQEAKIGUpIFNlbmQgb2ZwX3RhYmxlX3N0YXRzIHJlcXVlc3QKIGYpICBWZXJpZnkgYWN0aXZlIF9jb3VudD0wIGluIHRoZSByZXBseQogCisKKwogNS4gTW9kaWZ5IFN0YXRlIChNT0RJRlkpCiAKIFRlc3QgRGVzY3JpcHRpb246IENoZWNrIGJhc2ljIEZsb3cgTW9kaWZ5IHJlcXVlc3QgaXMgaW1wbGVtZW50ZWQKKwogVGVzdCBtb2RlOiBBdXRvbWF0ZWQKLVRlc3QgVGl0bGU6IG1vZGlmeV9zdGF0ZV9tb2RpZnkKK1Rlc3QgVGl0bGU6IE1vZGlmeVN0YXRlTW9kaWZ5CiBQb3J0czogMyAoMSBDb250cm9sIFBsYW5lIGFuZCAyIERhdGFwbGFuZSkKIEluaXRpYWwgU3RhdGU6IERlZmF1bHQgKENsZWFyIHN3aXRjaCBzdGF0ZSksIENvbm5lY3Rpb24gU2V0dXAKIFRlc3QtRmllbGQ6IE1hbmRhdG9yeQogCisKIFRlc3QgTm90ZXM6CisKIGEpIFNlbmQgIE9GUFRfRkxPV19NT0QgLCBjb21tYW5kID0gT0ZQRkNfQURELCBhY3Rpb24gQQogYikgU2VuZCBvZnBfdGFibGVfc3RhdHMgcmVxdWVzdCwgVmVyaWZ5ICBhY3RpdmVfY291bnQ9MQogYykgU2VuZCBPRlBUX0ZMT1dfTU9EICwgY29tbWFuZCA9IE9GUEZDX01PRElGWSwgYWN0aW9uIEGSCkBAIC04NCwxMjAgKzExMSwxNTcgQEAKIDYuIFJlYWQgU3RhdGUKIAogVGVzdCBEZXNjcmlwdGlvbjogQ2hlY2sgYmFzaWMgUmVhZCBTdGF0ZSBpcyBpbXBsZW1lbnRlZAorCiBUZXN0IG1vZGU6IEF1dG9tYXRlZAotVGVzdCBUaXRsZTogcmVhZF9zdGF0ZQorVGVzdCBUaXRsZTogUmVhZFN0YXRlCiBQb3J0czogMyAoMSBDb250cm9sIFBsYW5lLCAyIGRhdGFwbGFuZSkKIEluaXRpYWwgU3RhdGU6IERlZmF1bHQgKENsZWFyIHN3aXRjaCBzdGF0ZSksIENvbm5lY3Rpb24gU2V0dXAKIFRlc3QtRmllbGQ6IE1hbmRhdG9yeQogCisKIFRlc3QgTm90ZXM6CisKIGEpIFNlbmQgIE9GUFRfRkxPV19NT0QsIGNvbW1hbmQgPSBPRlBGQ19BREQKIGIpIENyZWF0ZSBhIE9GUENfRkxPV19TVEFUUyBtZXNzYWdlIGFuZCBzZW5kIGl0CiBjKSBWZXJpZnkgc3dpdGNoIHJlcGxpZXMgd2l0aG91dCBlcnJvcnMKIAorCisKIDcuIFNlbmQgcGFja2V0CiAKIFRlc3QgRGVzY3JpcHRpb246IENoZWNrIGJhc2ljIFNlbmQtUGFja2V0IGlzIGltcGxlbWVudGVkLiAKLVNlbmQtUGFja2V0OiBUaGVzZSBhcmUgdXNlZCBieSB0aGUgY29udHJvbGxlciB0byBzZW5kIHBhY2tldHMgb3V0IG9mIGEgc3BlY2lmaWVkIHBvcnQgb24gdGhlIHN3aXRjaC4KKwkJICBTZW5kLVBhY2tldDogVGhlc2UgYXJlIHVzZWQgYnkgdGhlIGNvbnRyb2xsZXIgdG8gc2VuZCBwYWNrZXRzIG91dCBvZiBhIHNwZWNpZmllZCBwb3J0IG9uIHRoZSBzd2l0Y2guCisKIFRlc3QgbW9kZTogQXV0b21hdGVkCi1UZXN0IFRpdGxlOiAgc2VuZF9wYWNrZXQKK1Rlc3QgVGl0bGU6ICBTZW5kUGFja2V0CiBQb3J0czogNSAoMSBDb250cm9sIFBsYW5lLCA0IERhdGFwbGFuZSkgCiBJbml0aWFsIFN0YXRlOiBEZWZhdWx0IChDbGVhciBzd2l0Y2ggc3RhdGUpLCBDb25uZWN0aW9uIFNldHVwCiBUZXN0LUZpZWxkOiBNYW5kYXRvcnkKIAogCiBUZXN0IE5vdGVzOgorCiBhKSBTZW5kIE9GUFRfUEFDS0VUX09VVCBvdXQgbWVzc2FnZSBmcm9tIGNvbnRyb2xsZXIgdG8gc3dpdGNoIGZvciBldmVyeSBkYXRhcGxhbmUgcG9ydC4KIGIpIFZlcmlmeSB0aGUgcGFja2V0IGFwcGVhcnMgb24gdGhlIGVhY2ggZGF0YXBsYW5lIHBvcnQKIGMpIFZlcmlmeSBzZW50IHBhY2tldCBtYXRjaGVzIHRoZSByZWNlaXZlZCBwYWNrZXQKLSAgICAKKworCisKIDguIEJhcnJpZXIgUmVxdWVzdCAKIAogVGVzdCBEZXNjcmlwdGlvbjogVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGEgYmFzaWMgYmFycmllciByZXF1ZXN0IGRvZXMgbm90IGdlbmVyYXRlIGFuIGVycm9yLgorCiBUZXN0IG1vZGU6IEF1dG9tYXRlZAotVGVzdCBUaXRsZTogYmFycmllcl9yZXF1ZXN0X3JlcGx5CitUZXN0IFRpdGxlOiBCYXJyaWVyUmVxdWVzdFJlcGx5CiBQb3J0czogSSAoQ29udHJvbCBQbGFuZSkKIEluaXRpYWwgU3RhdGU6IERlZmF1bHQgKENsZWFyIHN3aXRjaCBzdGF0ZSksIENvbm5lY3Rpb24gU2V0dXAKIFRlc3QtRmllbGQ6IE1hbmRhdG9yeQogCisKIFRlc3QgTm90ZXM6CiAKIGEpIFNlbmQgT0ZQVF9CQVJSSUVSX1JFUVVFU1QKIGMpIFZlcmlmeSBPRlBUX0JBUlJJRVJfUkVQTFkgaXMgcmVjZWl2ZWQgb24gdGhlIGNvbnRyb2wgcGxhbmUuCiAKIAorCiA5LiBQYWNrZXQgSW4KIAotVGVzdCBEZXNjcmlwdGlvbjogQ2hlY2sgcGFja2V0X2luIGlzIGltcGxlbWVudGVkLiBUaGlzIHRlc3QganVzdCBjaGVja3MgdGhhdCBub24gbWF0Y2hlZCBkYXRhcGxhbmUgcGFja2V0cyBnZW5lcmF0ZSBhIHBhY2tldF9pbgorVGVzdCBEZXNjcmlwdGlvbjogQ2hlY2sgcGFja2V0X2luIGlzIGltcGxlbWVudGVkLiBUaGlzIHRlc3QganVzdCBjaGVja3MgdGhhdCBub24gbWF0Y2hlZCBkYXRhcGxhbmUgcGFja2V0cyAKKwkJICBnZW5lcmF0ZSBhIHBhY2tldF9pbgorCiBUZXN0IG1vZGU6IEF1dG9tYXRlZAotVGVzdCBUaXRsZTogcGFja2V0X0luCitUZXN0IFRpdGxlOiBQYWNrZXRJbgogUG9ydHM6IDIgKDEgQ29udHJvbCBQbGFuZSBhbmQgMSBEYXRhcGxhbmUpCiBJbml0aWFsIFN0YXRlOiBEZWZhdWx0IChDbGVhciBzd2l0Y2ggc3RhdGUpLCBDb25uZWN0aW9uIFNldHVwCiBUZXN0LUZpZWxkOiBNYW5kYXRvcnkKIAorCiBUZXN0IE5vdGVzOgorCiBhKSBTZW5kIGEgcGFja2V0IHRvIGRhdGFwbGFuZSBwb3J0ICwgd2l0aG91dCBpbnNlcnRpbmcgYSBmbG93IGVudHJ5CiBiKSBWZXJpZnkgYSBPRlBUX1BBQ0tFVF9JTiBpcyBnZW5lcmF0ZWQgb24gdGhlIGNvbnRyb2wgcGxhbmUKIAogCisKIDEwLiBIZWxsbwogCiBUZXN0IERlc2NyaXB0aW9uOiBUaGlzIHRlc3QgY2hlY2tzIGZvciBiYXNpYyBIZWxsbyBtZXNzYWdlIGdlbmVyYXRpb24gd2l0aCBjb3JyZWN0IHZlcnNpb24gZmllbGQuCisKIFRlc3QgbW9kZTogQXV0b21hdGVkCi1UZXN0IFRpdGxlOiAgaGVsbG8KK1Rlc3QgVGl0bGU6ICBIZWxsbwogUG9ydHM6IDEgKENvbnRyb2wgUGxhbmUpCiBJbml0aWFsIFN0YXRlOiBEZWZhdWx0IChDbGVhciBzd2l0Y2ggc3RhdGUpLCBDb25uZWN0aW9uIFNldHVwCiBUZXN0LUZpZWxkOiBNYW5kYXRvcnkKIAorCiBUZXN0IE5vdGVzOgorCiBhKSBTZW5kICBPRlBUX0hFTExPIGZyb20gY29udHJvbGxlciB0byBzd2l0Y2gKIGIpIFZlcmlmeSBzd2l0Y2ggYWxzbyBzZW5kcyBPRlBUX0hFTExPIG1lc3NhZ2UgaW4gcmVzcG9uc2UgCiBjKSBWZXJpZnkgdmVyc2lvbiBmaWVsZCBpbiB0aGUgaGVsbG8gbWVzc2FnZSBpcyBzZXQgdG8gT3BlbmZsb3cgdmVyc2lvbiAxLjAuMAogCisKKwogMTEuIEVjaG8KIAotVGVzdCBEZXNjcmlwdGlvbjogVGhpcyB0ZXN0IGNoZWNrcyBmb3IgYmFzaWMgRWNobyBSZXBseSBtZXNzYWdlIGdlbmVyYXRpb24gd2l0aCBjb3JyZWN0IHZlcnNpb24gZmllbGQgd2l0aCBzYW1lIHRyYW5zYWN0aW9uIGlkLgorVGVzdCBEZXNjcmlwdGlvbjogVGhpcyB0ZXN0IGNoZWNrcyBmb3IgYmFzaWMgRWNobyBSZXBseSBtZXNzYWdlIGdlbmVyYXRpb24gd2l0aCBjb3JyZWN0IHZlcnNpb24gZmllbGQgd2l0aCAKKwkJICBzYW1lIHRyYW5zYWN0aW9uIGlkLgorCiBUZXN0IG1vZGU6IEF1dG9tYXRlZAotVGVzdCBUaXRsZTogIGVjaG9fd2l0aG91dF9ib2R5CitUZXN0IFRpdGxlOiAgRWNob1dpdGhvdXRCb2R5CiBQb3J0czogMSAoQ29udHJvbCBQbGFuZSkKIEluaXRpYWwgU3RhdGU6IERlZmF1bHQgKENsZWFyIHN3aXRjaCBzdGF0ZSksIENvbm5lY3Rpb24gc2V0dXAKIFRlc3QtRmllbGQ6IE1hbmRhdG9yeQogCisKIFRlc3QgTm90ZXM6CisKIGEpIFNlbmQgT0ZQVF9FQ0hPX1JFUVVFU1QgZnJvbSB0aGUgY29udHJvbGxlciBzaWRlLgogYikgVmVyaWZ5IHN3aXRjaCByZXNwb25kcyBiYWNrIHdpdGggT0ZQVF9FQ0hPX1JFUExZIHdpdGggc2FtZSB4aWQuCiBjKSBWZXJpZnkgT3BlbmZsb3cgdmVyc2lvbiBpbiBoZWFkZXIgaXMgc2V0IHRvIE9wZW5mbG93IHZlcnNpb24gMS4wLjAuCiAKIAogCi0jIyMjIyMjIyMjIyMjICBEZXRhaWxlZCBjb250cm9sbGVyIHRvIHN3aXRjaCBtZXNzYWdlcyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisKKworKioqKiAgICAgRGV0YWlsZWQgY29udHJvbGxlciB0byBzd2l0Y2ggbWVzc2FnZXMgICAgICoqKioKKworCiAKIDEuIE92ZXJsYXAgY2hlY2tpbmcKIAotVGVzdCBEZXNjcmlwdGlvbjogVmVyaWZ5IHRoYXQgaWYgb3ZlcmxhcCBjaGVjayBmbGFnIGlzIHNldCBpbiB0aGUgZmxvdyBlbnRyeSBhbmQgYW4gb3ZlcmxhcHBpbmcgZmxvdyBpcyBpbnNlcnRlZCB0aGVuIGFuIGVycm9yIGlzIGdlbmVyYXRlZCBhbmQgc3dpdGNoIHJlZnVzZXMgZmxvdyBlbnRyeQorVGVzdCBEZXNjcmlwdGlvbjogVmVyaWZ5IHRoYXQgaWYgb3ZlcmxhcCBjaGVjayBmbGFnIGlzIHNldCBpbiB0aGUgZmxvdyBlbnRyeSBhbmQgYW4gb3ZlcmxhcHBpbmcgZmxvdyBpcyAKKwkJICBpbnNlcnRlZCB0aGVuIGFuIGVycm9yIGlzIGdlbmVyYXRlZCBhbmQgc3dpdGNoIHJlZnVzZXMgZmxvdyBlbnRyeQorCiBUZXN0IG1vZGU6IEF1dG9tYXRlZAotVGVzdCBUaXRsZTogIG92ZXJsYXBfY2hlY2tpbmcKK1Rlc3QgVGl0bGU6ICBPdmVybGFwQ2hlY2tpbmcKIFBvcnRzOiAzICgxIENvbnRyb2wgUGxhbmUgMiBkYXRhcGxhbmUpCiBJbml0aWFsIFN0YXRlOiBEZWZhdWx0IChDbGVhciBzd2l0Y2ggc3RhdGUpLCBDb25uZWN0aW9uIHNldHVwCiBUZXN0LUZpZWxkOiBNYW5kYXRvcnkKIAorCiBUZXN0LU5vdGVzOgogCiBhKSBHZW5lcmF0ZSBGbG93IEYxLS0+IFdpbGRjYXJkIEFsbCAKIGIpIFNlbmQgb2ZwX3RhYmxlX3N0YXRzIHJlcXVlc3QgLCB2ZXJpZnkgYWN0aXZlX2NvdW50PTEKIGMpIEdlbmVyYXRlIG92ZXJsYXBwaW5nIGZsb3cgRjIgLS0+IFdpbGRjYXJkIEFsbCBFeGNlcHQgSW5ncmVzcyBQb3J0ICggd2l0aCBmbGFnIE9GUEZGX0NIRUNLX09WRVJMQVAgc2V0KQogZCkgVmVyaWZ5IHRoYXQgc3dpdGNoIGdlbmVyYXRlcyBPRlBUX0VSUk9SIG1zZy4gIAotVHlwZTogT0ZQRVRfRkxPV19NT0RfRkFJTEVEIGNvZGUgOiBPRlBGTUZDX09WRVJMQVAgCisgICBUeXBlOiBPRlBFVF9GTE9XX01PRF9GQUlMRUQgY29kZSA6IE9GUEZNRkNfT1ZFUkxBUCAKKworCiAKIDIuIE5vIG92ZXJsYXAgY2hlY2tpbmcKIAogVGVzdCBEZXNjcmlwdGlvbjogVmVyaWZ5IHRoYXQgd2l0aG91dCBvdmVybGFwIGNoZWNrIGZsYWcgc2V0LCBvdmVybGFwcGluZyBmbG93cyBjYW4gYmUgY3JlYXRlZC4KKwogVGVzdCBtb2RlOiBBdXRvbWF0ZWQKLVRlc3QgVGl0bGU6ICBub19vdmVybGFwX2NoZWNraW5nCitUZXN0IFRpdGxlOiAgTm9PdmVybGFwY2hlY2tpbmcKIFBvcnRzOiAzICgxIENvbnRyb2wgUGxhbmUsIDIgRGF0YXBsYW5lKQogSW5pdGlhbCBTdGF0ZTogRGVmYXVsdCAoQ2xlYXIgc3dpdGNoIHN0YXRlKSwgQ29ubmVjdGlvbiBzZXR1cAogVGVzdC1GaWVsZDogTWFuZGF0b3J5CiAKKwogVGVzdCBOb3RlczoKIAogYSkgR2VuZXJhdGUgRmxvdyBGMS0tPiBXaWxkY2FyZCBBbGwuCkBAIC0yMDUsOTMgKzI2OSwxMTggQEAKIGUpIEdlbmVyYXRlIG92ZXJsYXBwaW5nIGZsb3cgRjIgLS0+IFdpbGRjYXJkIEFsbCBFeGNlcHQgSW5ncmVzcyBQb3J0ICggd2l0aG91dCBmbGFnIE9GUEZGX0NIRUNLX09WRVJMQVAgc2V0KQogYykgU2VuZCBhIG9mcF90YWJsZV9zdGF0cyByZXF1ZXN0LCB2ZXJpZnkgYWN0aXZlX2NvdW50PTIKIAorCisKIDMuIElkZW50aWNhbCBmbG93cyAKIAogVGVzdCBEZXNjcmlwdGlvbjogVmVyaWZ5IHRoYXQgYWRkaW5nIHR3byBpZGVudGljYWwgZmxvd3Mgb3ZlcndyaXRlcyB0aGUgZXhpc3Rpbmcgb25lIGFuZCBjbGVhcnMgY291bnRlcnMKKwogVGVzdCBtb2RlOiBBdXRvbWF0ZWQKLVRlc3QgVGl0bGU6ICBpZGVudGljYWxfZmxvd3MKK1Rlc3QgVGl0bGU6ICBJZGVudGljYWxGbG93cwogUG9ydHM6IDMgKDEgQ29udHJvbCBQbGFuZSksICgyIGRhdGFwbGFuZSkKIEluaXRpYWwgU3RhdGU6IERlZmF1bHQgKENsZWFyIHN3aXRjaCBzdGF0ZSksIENvbm5lY3Rpb24gc2V0dXAKIFRlc3QtRmllbGQ6IE1hbmRhdG9yeQogCisKIFRlc3QgTm90ZXM6CiAKIGEpIEdlbmVyYXRlIEZsb3cgRjEuCiBiKSBTZW5kIG9mcF90YWJsZV9zdGF0cyByZXF1ZXN0ICwgdmVyaWZ5IGFjdGl2ZV9jb3VudD0xCi1iKSAgIEluY3JlbWVudCBjb3VudGVycyAocGFja2V0X2NvdW50LCBieXRlX2NvdW50KSBieSBzZW5kaW5nIGEgcGFja2V0IG1hdGNoaW5nIGZsb3cgRjEuCi1DKSAgIFNlbmQgb2ZwX2Zsb3dfc3RhdHMgcmVxdWVzdC4gVmVyaWZ5IGZsb3cgY291bnRlcnM6IGJ5dGVfY291bnQgYW5kIHBhY2tldF9jb3VudCAKLWMpICAgQ3JlYXRlIGlkZW50aWNhbCBmbG93IEYyCi1kKSAgIFNlbmQgYSBvZnBfdGFibGVfc3RhdHMgcmVxdWVzdCwgdmVyaWZ5IGFjdGl2ZV9jb3VudD0xCi1lKSAgIFNlbmQgb2ZwX2Zsb3dfc3RhdHMgcmVxdWVzdC4gVmVyaWZ5IGZsb3cgY291bnRlcnM6IGJ5dGVfY291bnQgYW5kIHBhY2tldF9jb3VudCBhcmUgcmVzZXQKK2IpIEluY3JlbWVudCBjb3VudGVycyAocGFja2V0X2NvdW50LCBieXRlX2NvdW50KSBieSBzZW5kaW5nIGEgcGFja2V0IG1hdGNoaW5nIGZsb3cgRjEuCitDKSBTZW5kIG9mcF9mbG93X3N0YXRzIHJlcXVlc3QuIFZlcmlmeSBmbG93IGNvdW50ZXJzOiBieXRlX2NvdW50IGFuZCBwYWNrZXRfY291bnQgCitjKSBDcmVhdGUgaWRlbnRpY2FsIGZsb3cgRjIKK2QpIFNlbmQgYSBvZnBfdGFibGVfc3RhdHMgcmVxdWVzdCwgdmVyaWZ5IGFjdGl2ZV9jb3VudD0xCitlKSBTZW5kIG9mcF9mbG93X3N0YXRzIHJlcXVlc3QuIFZlcmlmeSBmbG93IGNvdW50ZXJzOiBieXRlX2NvdW50IGFuZCBwYWNrZXRfY291bnQgYXJlIHJlc2V0CiAKIAogCiA0LiBObyB0YWJsZSB0byBhZGQgKFdyaXR0ZW4gaW4gb2Z0ZXN0l05lZWQgdG8gYWRkIHRvIGNvbmZvcm1hbmNlIFRlc3QtU3VpdGVzKQogCisKKwogNS4gTmV2ZXIgdmFsaWQgcG9ydCAoVEJEKQogCisKKworCiA2LiBDdXJyZW50bHkgbm90IGV4aXN0aW5nIHBvcnQgVmVyc2lvbiBBIGFuZCBCIChUQkQpCiAKKworCisKIDcuIEVtZXJnZW5jeSBmbG93IHdpdGggdGltZW91dCB2YWx1ZXMgCiAKIFRlc3QgRGVzY3JpcHRpb246IFRpbWVvdXQgdmFsdWVzIGFyZSBub3QgYWxsb3dlZCBmb3IgZW1lcmdlbmN5IGZsb3dzCi1UZXN0IFRpdGxlOiBlbWVyX2Zsb3dfd2l0aF90aW1lb3V0CisKK1Rlc3QgVGl0bGU6IEVtZXJGbG93VGltZW91dAogVGVzdCBtb2RlOiBBdXRvbWF0ZWQKIFBvcnRzOiAzICgxIGNvbnRyb2wgcGxhbmUsIDIgRGF0YXBsYW5lKQogSW5pdGlhbCBTdGF0ZTogRGVmYXVsdCAoQ2xlYXIgc3dpdGNoIHN0YXRlKSwgQ29ubmVjdGlvbiBzZXR1cCAKIAorCiBUZXN0IE5vdGVzOgogCiBhKSAgR2VuZXJhdGUgYSBmbG93IEYgd2l0aCBPRlBGRl9FTUVSRyBzZXQgaW4gZmxhZyBhbmQgdGltZW91dCB2YWx1ZXMgYXNzaWduZWQuCiBiKSAgVmVyaWZ5IHN3aXRjaCBnZW5lcmF0ZXMgYW4gT0ZQVF9FUlJPUiBtc2csIFR5cGU6IE9GUEVUX0ZMT1dfTU9EX0ZBSUxFRCwgQ29kZSBPRlBGTUZDX0JBRF9FTUVSR19USU1FT1VUCiAKIAorCiA4LiBNaXNzaW5nIG1vZGlmeSBhZGRzCiAKIFRlc3QgRGVzY3JpcHRpb246IElmIGEgbW9kaWZ5IGRvZXMgbm90IG1hdGNoIGFuIGV4aXN0aW5nIGZsb3csIHRoZSBmbG93IGdldHMgYWRkZWQuCi1UaXRsZTogbWlzc2luZ19tb2RpZnlfYWRkCisKK1RpdGxlOiBNaXNzaW5nTW9kaWZ5QWRkCiBUZXN0IG1vZGU6IEF1dG9tYXRlZAogUG9ydHM6MyAoMSBjb250cm9sIHBsYW5lLDIgRGF0YSBQbGFuZSkKIEluaXRpYWwgU3RhdGU6IENvbm5lY3Rpb24gc2V0dXAsIENsZWFyIFN3aXRjaCBTdGF0ZQogVGVzdC1GaWVsZDogTWFuZGF0b3J5CiAKKwogVGVzdCBOb3RlczoKIAogYSkgR2VuZXJhdGUgYSBmbG93LW1vZCAsIGNvbW1hbmQgT0ZQQ19NT0RJRlkgKE5vdGU6IFRoZXJlIHNob3VsZCBiZSBubyBmbG93cyBtYXRjaGluZyB0aGlzIGZsb3dfbW9kIG1vZGlmeSBjb21tYW5kKQogYikgU2VuZCBhIG9mcF90YWJsZV9zdGF0cyByZXF1ZXN0LCB2ZXJpZnkgYWN0aXZlX2NvdW50PTEKIAorCisKKwogOS4gTW9kaWZ5IGNoYW5nZXMgYWN0aW9uLCBwcmVzZXJ2ZXMgY291bnRlcnMKIAogVGVzdCBEZXNjcmlwdGlvbjogQSBtb2RpZmllZCBmbG93IHByZXNlcnZlcyBjb3VudGVycwotVGl0bGU6IG1vZGlmeV9hY3Rpb24KKworVGl0bGU6IE1vZGlmeUFjdGlvbgogVGVzdCBtb2RlOiBBdXRvbWF0ZWQKIFBvcnRzOiA0KDEgY29udHJvbCBwbGFuZSwgMyBEYXRhcGxhbmUpCiBJbml0aWFsIFN0YXRlOiBDb25uZWN0aW9uIHNldHVwLCBDbGVhciBTd2l0Y2ggU3RhdGUKIFRlc3QtRmllbGQ6IE1hbmRhdG9yeQogCisKIFRlc3QgTm90ZXM6CiAKIGEpIENyZWF0ZSBhIGZsb3dfbW9kIEYtMSB3aXRoIGNvbW1hbmQgT0ZQQ19BREQsIGFjdGlvbiBBCiBiKSBTZW5kIGEgdGVzdCBQYWNrZXQgbWF0Y2hpbmcgdGhlIGZsb3cKIGMpIFNlbmQgYW4gb2ZwX2Zsb3dfc3RhdHMgcmVxdWVzdCwgdmVyaWZ5IGJ5dGVfY291bnQgYW5kIHBhY2tldF9jb3VudAogZSkgQ3JlYXRlIGZsb3dfbW9kIHdpdGggY29tbWFuZCBPRlBDX01PRElGWSAsYWN0aW9uIEGSIGFuZCBtb2RpZnkgYWN0aW9uIG9mIGZsb3cgRi0xCi1mKSAgU2VuZCBhIG9mcF9mbG93X3N0YXRzIHJlcXVlc3QsIHZlcmlmeSBmbG93IGNvdW50ZXJzIGFyZSBwcmVzZXJ2ZWQKK2YpIFNlbmQgYSBvZnBfZmxvd19zdGF0cyByZXF1ZXN0LCB2ZXJpZnkgZmxvdyBjb3VudGVycyBhcmUgcHJlc2VydmVkCiBnKSBTZW5kIHRlc3QgcGFja2V0LCB2ZXJpZnkgaXQgaW1wbGVtZW50cyBhY3Rpb24gQZIKIAotIAorCisKIDEwLiBTdHJpY3QgTW9kaWZ5IGNoYW5nZXMgYWN0aW9uLCBwcmVzZXJ2ZXMgY291bnRlcnMKIAogVGVzdCBEZXNjcmlwdGlvbjogU3RyaWN0IE1vZGlmeSBGbG93IGFsc28gY2hhbmdlcyBhY3Rpb24gcHJlc2VydmVzIGNvdW50ZXJzCi1UaXRsZTogc3RyaWN0X21vZGlmeV9hY3Rpb24KKworVGl0bGU6IFN0cmljdE1vZGlmeUFjdGlvbgogVGVzdCBtb2RlOiBBdXRvbWF0ZWQKIFBvcnRzOiA0KDEgY29udHJvbCBwbGFuZSwgMyBEYXRhcGxhbmUpCiBJbml0aWFsIFN0YXRlOiBDb25uZWN0aW9uIHNldHVwLCBDbGVhciBTd2l0Y2ggU3RhdGUKIFRlc3QtRmllbGQ6IE1hbmRhdG9yeQogCisKIFRlc3QgTm90ZXM6CiAKLWEpIENyZWF0ZSB0d28gb3ZlcmxhcHBpbmcgZmxvd3M6IEYgLS0+IE1hdGNoIG9uIGFsbCwgZXhjZXB0IG9uZSB3aWxkY2FyZGVkIChzcmMgYWRkcmVzcykuICBBY3Rpb24gQS4gUHJpb3JpdHk9MTAwIAotRpIgLS0+IE1hdGNoIG9uIGluZ3Jlc3NfcG9ydCA9IHBvcnQgWzBdLCB3aWxkY2FyZGVkIHJlc3QuIEFjdGlvbiBBLiBQcmlvcml0eT0xMAorYSkgQ3JlYXRlIHR3byBvdmVybGFwcGluZyBmbG93czogRiAtLT4gTWF0Y2ggb24gYWxsLCBleGNlcHQgb25lIHdpbGRjYXJkZWQgKHNyYyBhZGRyZXNzKS4gQWN0aW9uIEEuIFByaW9yaXR5PTEwMCAKKyAgIEaSIC0tPiBNYXRjaCBvbiBpbmdyZXNzX3BvcnQgPSBwb3J0IFswXSwgd2lsZGNhcmRlZCByZXN0LiBBY3Rpb24gQS4gUHJpb3JpdHk9MTAKIGIpIFNlbmQgYSBvZnBfdGFibGVfc3RhdHMgcmVxdWVzdCwgdmVyaWZ5IGFjdGl2ZV9jb3VudD0yCiBjKSBTZW5kIFBhY2tldCAoaXQgd291bGQgaGF2ZSBtYXRjaGVkIGJvdGggdGhlIGZsb3dzLCBzaW5jZSB0aGV5IGFyZSBvdmVybGFwcGluZyBmbG93cyBidXQgaXQgd291bGQgbWF0Y2ggRmxvdy1GMSBhcyBpdCBoYXMgaGlnaGVyIHByaW9yaXR5LikKIGQpIFNlbmQgb2ZwX2Zsb3dfc3RhdHMgcmVxdWVzdCBmb3IgRmxvdy0xIGFuZCB2ZXJpZnkgY291bnRlcnMgcGFja2V0X2NvdW50IGFuZCBieXRlX2NvdW50IApAQCAtMjk5LDMwICszODgsNDAgQEAKIGYpIFNlbmQgdGVzdCBwYWNrZXQgLCB2ZXJpZnkgYWN0aW9uIGlzIG1vZGlmaWVkCiBnKSBTZW5kIG9mcF9mbG93X3N0YXRzIHJlcXVlc3QsIHZlcmlmeSBjb3VudGVycyBhcmUgcHJlc2VydmVkLgogCisKKworCiAxMS4gRGVsZXRlIG5vbiBleGlzdGluZyBmbG93IAogCiBUZXN0IERlc2NyaXB0aW9uOiBSZXF1ZXN0IGRlbGV0aW9uIG9mIG5vbi1leGlzdGluZyBmbG93Ci1UaXRsZTogZGVsZXRlX25vbmV4aXN0aW5nX2Zsb3cKKworVGl0bGU6IERlbGV0ZU5vbmV4aXN0aW5nRmxvdwogVGVzdCBtb2RlOiBBdXRvbWF0ZWQKIFBvcnRzOiAxKDEgY29udHJvbCBwbGFuZSkKIEluaXRpYWwgU3RhdGU6IENvbm5lY3Rpb24gc2V0dXAsIENsZWFyIFN3aXRjaCBTdGF0ZQogVGVzdC1GaWVsZDogTWFuZGF0b3J5CiAKKwogVGVzdCBOb3RlczoKIAogYSkgSXNzdWUgYSBkZWxldGUgY29tbWFuZCwgd2l0aCBubyBmbG93cyBpbnNlcnRlZAogYikgTWFrZSBzdXJlIG5vIGVycm9yIGlzIGdlbmVyYXRlZCBvbiB0aGUgY29udHJvbCBwbGFuZQogCisKKwogMTIuIERlbGV0ZSBmbG93cyB3aXRoIGFuZCB3aXRob3V0IHJlbW92ZWQgbWVzc2FnZQogCi1UZXN0IERlc2NyaXB0aW9uOiBDaGVjayBkZWxldGlvbiBvZiBmbG93cyBoYXBwZW5zIGFuZCBnZW5lcmF0ZXMgbWVzc2FnZXMgYXMgY29uZmlndXJlZC4KLUkuZS4gaWYgkVNlbmQgRmxvdyByZW1vdmVkIG1lc3NhZ2WSIEZsYWcgaXMgc2V0IGluIHRoZSBmbG93IGVudHJ5LCB0aGUgZmxvdyBkZWxldGlvbiBvZiB0aGF0IHJlc3BlY3RpdmUgZmxvdyBzaG91bGQgZ2VuZXJhdGUgdGhlIGZsb3cgcmVtb3ZlZCBtZXNzYWdlLCB2aWNlIHZlcnNhIGFsc28gZXhpc3RzIAotVGVzdCBUaXRsZTogU2VuZF9GbG93X1JlbQorVGVzdCBEZXNjcmlwdGlvbjogQ2hlY2sgZGVsZXRpb24gb2YgZmxvd3MgaGFwcGVucyBhbmQgZ2VuZXJhdGVzIG1lc3NhZ2VzIGFzIGNvbmZpZ3VyZWQuIGkuZS4gaWYgkVNlbmQgRmxvdyByZW1vdmVkIG1lc3NhZ2WSRmxhZyAKKwkgICAgICAgICAgaXMgc2V0IGluIHRoZSBmbG93IGVudHJ5LCB0aGUgZmxvdyBkZWxldGlvbiBvZiB0aGF0IHJlc3BlY3RpdmUgZmxvdyBzaG91bGQgZ2VuZXJhdGUgdGhlIGZsb3cgcmVtb3ZlZCBtZXNzYWdlLCAKKwkJICB2aWNlIHZlcnNhIGFsc28gZXhpc3RzIAorCitUZXN0IFRpdGxlOiBTZW5kRmxvd1JlbQogVGVzdCBtb2RlOiBBdXRvbWF0ZWQKIFBvcnRzOiAzICgxIGNvbnRyb2wgcGxhbmUsIDIgRGF0YXBsYW5lKQogSW5pdGlhbCBTdGF0ZTogQ29ubmVjdGlvbiBzZXR1cCwgRGVmYXVsdCAoY2xlYXIgc3dpdGNoIHN0YXRlKQogVGVzdC1GaWVsZDogTWFuZGF0b3J5CiAKKwogVGVzdCBOb3RlczoKIAogYSkgR2VuZXJhdGUgYSBmbG93IEYgd2l0aG91dCBPRlBGRl9TRU5EX0ZMT1dfUkVNIGZsYWcgc2V0CkBAIC0zMzYsNTcgKzQzNSw2NiBAQAogCiAxMy4gRGVsZXRlIGVtZXJnZW5jeSBmbG93IAogCi1UZXN0IERlc2NyaXB0aW9uOiBEZWxldGUgZW1lcmdlbmN5IGZsb3cgYW5kIHZlcmlmeSBubyBtZXNzYWdlIGlzIGdlbmVyYXRlZC4KLUFuIGVtZXJnZW5jeSBmbG93IGRlbGV0aW9uIHdpbGwgbm90IGdlbmVyYXRlIGZsb3ctcmVtb3ZlZCBtZXNzYWdlcyBldmVuIGlmIJFTZW5kIEZsb3cgcmVtb3ZlZCBtZXNzYWdlkiBmbGFnIHdhcyBzZXQgZHVyaW5nIHRoZSBlbWVyZ2VuY3kgZmxvdyBlbnRyeS4KLVRpdGxlOiBkZWxldGVfZW1lcl9mbG93CitUZXN0IERlc2NyaXB0aW9uOiBEZWxldGUgZW1lcmdlbmN5IGZsb3cgYW5kIHZlcmlmeSBubyBtZXNzYWdlIGlzIGdlbmVyYXRlZC5BbiBlbWVyZ2VuY3kgZmxvdyBkZWxldGlvbiB3aWxsIG5vdCBnZW5lcmF0ZSAKKwkJICBmbG93LXJlbW92ZWQgbWVzc2FnZXMgZXZlbiBpZiCRU2VuZCBGbG93IHJlbW92ZWQgbWVzc2FnZZIgZmxhZyB3YXMgc2V0IGR1cmluZyB0aGUgZW1lcmdlbmN5IGZsb3cgZW50cnkuCisJCSAgCisKK1RpdGxlOiBEZWxldGVFbWVyRmxvdwogVGVzdCBtb2RlOiBBdXRvbWF0ZWQKIFBvcnRzOiAzICgxIGNvbnRyb2wgcGxhbmUsIDIgRGF0YXBsYW5lKQogSW5pdGlhbCBTdGF0ZTogQ29ubmVjdGlvbiBzZXR1cCwgQ2xlYXIgU3dpdGNoIFN0YXRlIChkZWZhdWx0KSAKIAorCiBUZXN0LU5vdGVzOgogCiBhKSBJbnNlcnQgYSBmbG93IHdpdGggT0ZQRkZfRU1FUkcgZmxhZyBzZXQuCiBiKSBEZWxldGUgdGhlIGFkZGVkIGZsb3cgd2l0aCBPRlBGRl9TRU5EX0ZMT1dfUkVNIGZsYWcgc2V0CiBjKSBUZXN0IHN1Y2Nlc3NmdWwgaWYgbm8gZmxvdyByZW1vdmVkIG1lc3NhZ2UgaXMgZ2VuZXJhdGVkLgotICAgIAorCisKIAogMTQuIERlbGV0ZSBhbmQgdmVyaWZ5IHN0cmljdCBhbmQgbm9uLXN0cmljdCAKIAogVGVzdCBEZXNjcmlwdGlvbjogRGVsZXRlIGFuZCB2ZXJpZnkgc3RyaWN0IGFuZCBub24tc3RyaWN0IGJlaGF2aW9ycworCiBUaGlzIHRlc3QgY29tcGFyZXMgdGhlIGJlaGF2aW9yIG9mIGRlbGV0ZSBzdHJpY3QgYW5kIG5vbi1zdHJpY3QuCi1UaXRsZTogZGVsZXRlX3N0cmljdF9ub25zdHJpY3QKK1RpdGxlOiBTdHJpY3RWc05vbnN0cmljdAogVGVzdCBtb2RlOiBBdXRvbWF0ZWQKIFBvcnRzOiAzICgxIGNvbnRyb2wgcGxhbmUsIDIgZGF0YXBsYW5lKQogSW5pdGlhbCBTdGF0ZTogQ29ubmVjdGlvbiBzZXR1cCwgQ2xlYXIgU3dpdGNoIFN0YXRlCiAKKwogVGVzdC1Ob3RlczoKIAogYSkgSW5zZXJ0IEZsb3cgRiB3aXRoIGFuIGV4YWN0IG1hdGNoLiAKLWIpICBJc3N1ZSBOb24tc3RyaWN0IERlbGV0ZSBjb21tYW5kLCB2ZXJpZnkgRiBnZXRzIGRlbGV0ZWQuIAotYykgIEluc2VydCBGIHdpdGggYW4gZXhhY3QgTWF0Y2ggCi1kKSAgSXNzdWUgU3RyaWN0IERlbGV0ZSBDb21tYW5kLCB2ZXJpZnkgRiBnZXRzIGRlbGV0ZWQuCi1lKSAgSW5zZXJ0IEZsb3cgVCB3aXRoIG1hdGNoIG9uIGFsbCwgZXhjZXB0IG9uZSB3aWxkY2FyZGVkIChzYXkgc3JjIGFkZHJlc3MpLiAgCi1mKSAgSW5zZXJ0IGFub3RoZXIgZmxvdyBUJyB3aXRoIG1hdGNoIG9uIGluZ3Jlc3NfcG9ydCwgd2lsZGNhcmRlZCByZXN0LiAgCi1nKSAgSXNzdWUgTm9uLXN0cmljdCBEZWxldGUgKCBtYXRjaCBvbiBpbmdyZXNzX3BvcnQpLiBWZXJpZnkgVCtUJyBnZXRzIGRlbGV0ZWQuIAotaCkgIEluc2VydCBUIGFuZCBUJyBhZ2Fpbi4gSXNzdWUgU3RyaWN0IERlbGV0ZSAobWF0Y2ggb24gaW5ncmVzcyBwb3J0KSwgdmVyaWZ5IG9ubHkgVCcgZ2V0cyBkZWxldGVkCi1pKSAgIEluc2VydCBULCBhZGQgUHJpb3JpdHkgUCAoc2F5IDEwMCkgCi1qKSAgSW5zZXJ0IFQnIGFkZCBwcmlvcml0eSAoMjAwKS4gCitiKSBJc3N1ZSBOb24tc3RyaWN0IERlbGV0ZSBjb21tYW5kLCB2ZXJpZnkgRiBnZXRzIGRlbGV0ZWQuIAorYykgSW5zZXJ0IEYgd2l0aCBhbiBleGFjdCBNYXRjaCAKK2QpIElzc3VlIFN0cmljdCBEZWxldGUgQ29tbWFuZCwgdmVyaWZ5IEYgZ2V0cyBkZWxldGVkLgorZSkgSW5zZXJ0IEZsb3cgVCB3aXRoIG1hdGNoIG9uIGFsbCwgZXhjZXB0IG9uZSB3aWxkY2FyZGVkIChzYXkgc3JjIGFkZHJlc3MpLiAgCitmKSBJbnNlcnQgYW5vdGhlciBmbG93IFQnIHdpdGggbWF0Y2ggb24gaW5ncmVzc19wb3J0LCB3aWxkY2FyZGVkIHJlc3QuICAKK2cpIElzc3VlIE5vbi1zdHJpY3QgRGVsZXRlICggbWF0Y2ggb24gaW5ncmVzc19wb3J0KS4gVmVyaWZ5IFQrVCcgZ2V0cyBkZWxldGVkLiAKK2gpIEluc2VydCBUIGFuZCBUJyBhZ2Fpbi4gSXNzdWUgU3RyaWN0IERlbGV0ZSAobWF0Y2ggb24gaW5ncmVzcyBwb3J0KSwgdmVyaWZ5IG9ubHkgVCcgZ2V0cyBkZWxldGVkCitpKSBJbnNlcnQgVCwgYWRkIFByaW9yaXR5IFAgKHNheSAxMDApIAoraikgSW5zZXJ0IFQnIGFkZCBwcmlvcml0eSAoMjAwKS4gCiBrKSBJbnNlcnQgVCcgYWdhaW4gYWRkIHByaW9yaXR5IDMwMCAtLT4gVJQKLWwpICBJc3N1ZSBOb24tU3RyaWN0IERlbGV0ZSAobWF0Y2ggb24gaW5ncmVzcyBwb3J0KS4gVmVyaWZ5IFQrVJIrVJKSIGdldHMgZGVsZXRlZC4gCitsKSBJc3N1ZSBOb24tU3RyaWN0IERlbGV0ZSAobWF0Y2ggb24gaW5ncmVzcyBwb3J0KS4gVmVyaWZ5IFQrVJIrVJKSIGdldHMgZGVsZXRlZC4gCiBtKSBJbnNlcnQgVCwgVJIsIFSSkiBhZ2FpbiwgSXNzdWUgU3RyaWN0IERlbGV0ZSAobWF0Y2ggb24gaW5ncmVzc19wb3J0KSB3aXRoIHByaW9yaXR5ID0gMjAwLiBWZXJpZnkgb25seSBUkiBnZXRzIGRlbGV0ZWQKIAogCisKIDE1LiBEZWxldGUgZmxvd3Mgd2l0aCBjb25zdHJhaW50IG91dF9wb3J0CiAKLVRlc3QgRGVzY3JpcHRpb246IERlbGV0ZSBmbG93cyBmaWx0ZXJlZCBieSBhY3Rpb24gb3V0cHV0Ci1ERUxFVEUgYW5kIERFTEVURSBTVFJJQ1QgY29tbWFuZHMgY2FuIGJlIG9wdGlvbmFsbHkgZmlsdGVyZWQgYnkgb3V0cHV0IHBvcnQuIElmIHRoZSBvdXRfcG9ydCBmaWVsZCBjb250YWlucyBhIHZhbHVlIG90aGVyIHRoYW4gT0ZQUF9OT05FLCBpdCBpbnRyb2R1Y2VzIGEgY29uc3RyYWludCB3aGVuIG1hdGNoaW5nLiBUaGlzIGNvbnN0cmFpbnQgaXMgdGhhdCB0aGUgcnVsZSBtdXN0IGNvbnRhaW4gYW4gb3V0cHV0IGFjdGlvbiBkaXJlY3RlZCBhdCB0aGF0IHBvcnQuCitUZXN0IERlc2NyaXB0aW9uOiBEZWxldGUgZmxvd3MgZmlsdGVyZWQgYnkgYWN0aW9uIG91dHB1dC5ERUxFVEUgYW5kIERFTEVURSBTVFJJQ1QgY29tbWFuZHMgY2FuIGJlIG9wdGlvbmFsbHkgZmlsdGVyZWQgYnkgb3V0cHV0IHBvcnQuCisJCSAgSWYgdGhlIG91dF9wb3J0IGZpZWxkIGNvbnRhaW5zIGEgdmFsdWUgb3RoZXIgdGhhbiBPRlBQX05PTkUsIGl0IGludHJvZHVjZXMgYSBjb25zdHJhaW50IHdoZW4gbWF0Y2hpbmcuIAorCQkgIFRoaXMgY29uc3RyYWludCBpcyB0aGF0IHRoZSBydWxlIG11c3QgY29udGFpbiBhbiBvdXRwdXQgYWN0aW9uIGRpcmVjdGVkIGF0IHRoYXQgcG9ydC4KIAotVGl0bGU6IGRlbGV0ZV93aXRoX291dHBvcnQKK1RpdGxlOiBPdXRwb3J0MQogVGVzdCBtb2RlOiBBdXRvbWF0ZWQKIFBvcnRzOiAzICgxIGNvbnRyb2wgcGxhbmUsIDIgRGF0YXBsYW5lcykKIEluaXRpYWwgU3RhdGU6IENvbm5lY3Rpb24gc2V0dXAsIENsZWFyIFN3aXRjaCBTdGF0ZQogVGVzdC1GaWVsZDogTWFuZGF0b3J5CiAKKwogVGVzdC1Ob3RlczoKIAogYSkgSW5zZXJ0IGEgZmxvdyBGICB3aXRoIG91dHB1dCBhY3Rpb24gPSBwb3J0IHggCkBAIC0zOTYsMTAgKzUwNCwxMiBAQAogZSkgU2VuZCBhIHRhYmxlX3N0YXRzIHJlcXVlc3QsIHZlcmlmeSBmbG93IEYgZ2V0cyBkZWxldGVkLgogCiAKKwogMTYuIEFkZCwgbW9kaWZ5IGZsb3dzIHdpdGggY29uc3RyYWludCBvdXRwdXQKIAogVGVzdCBEZXNjcmlwdGlvbjogQWRkLCBtb2RpZnkgZmxvd3Mgd2l0aCBvdXRwb3J0IHNldC4gVGhpcyBmaWVsZCBpcyBpZ25vcmVkIGJ5IEFERCwgTU9ESUZZLCBhbmQgTU9ESUZZIFNUUklDVCBtZXNzYWdlcy4KLVRpdGxlOiBhZGRfbW9kaWZ5X3dpdGhfb3V0cG9ydAorCitUaXRsZTogT3V0cG9ydDIKIFRlc3QgbW9kZTogQXV0b21hdGVkCiBQb3J0czogNCAoMSBjb250cm9sIHBsYW5lLCAzIERhdGEgcGxhbmVzKQogSW5pdGlhbCBTdGF0ZTogQ29ubmVjdGlvbiBzZXR1cCwgQ2xlYXIgU3dpdGNoIFN0YXRlCkBAIC00MTMsMTYgKzUyMywxOSBAQAogZCkgU2VuZCB0ZXN0IHBhY2tldCBtYXRjaGluZyB0aGUgZmxvdyBGIAogZSkgVmVyaWZ5IHBhY2tldCBpbXBsZW1lbnRzIGFjdGlvbiBBkiAoZmxvdyBtb2RpZnkgaWdub3JlcyBvdXRfcG9ydCBmaWVsZCkKIAorCisKIDE3LiBWZXJpZnkgdGhhdCBpZGxlIHRpbWVvdXQgaXMgaW1wbGVtZW50ZWQKIAotCiBUZXN0IERlc2NyaXB0aW9uOiBWZXJpZnkgdGhhdCBpZGxlIHRpbWVvdXQgaXMgaW1wbGVtZW50ZWQKLVRpdGxlOiBpZGxlX3RpbWVvdXQKKworVGl0bGU6IElkbGVUaW1lb3V0CiBUZXN0IG1vZGU6IEF1dG9tYXRlZAogUG9ydHM6IDMgKDEgY29udHJvbCBwbGFuZSwgMiBEYXRhcGxhbmVzKQogSW5pdGlhbCBTdGF0ZTogQ29ubmVjdGlvbiBzZXR1cCwgQ2xlYXIgU3dpdGNoIFN0YXRlCiBUZXN0LUZpZWxkOiBNYW5kYXRvcnkKIAorCiBUZXN0LU5vdGVzOgogCiBhKSBBZGQgYSBmbG93IHdpdGggaWRsZSB0aW1lb3V0IHNldCBhbmQgd2l0aCBPRlBQX1NFTkRfRkxPV19SRU0gYml0IHNldApAQCAtNDMxLDE1ICs1NDQsMTggQEAKIGQpIFZlcmlmeSB0aGUgZHVyYXRpb25fc2VjIGZpZWxkIGlzIDEgc2VjIAogCiAKKwogMTguIFZlcmlmeSB0aGF0IGhhcmQgdGltZW91dCBpcyBpbXBsZW1lbnRlZAogCiBUZXN0IERlc2NyaXB0aW9uOiBWZXJpZnkgdGhhdCBoYXJkIHRpbWVvdXQgaXMgaW1wbGVtZW50ZWQKLVRpdGxlOiBoYXJkX3RpbWVvdXQKKworVGl0bGU6IEhhcmRUaW1lb3V0CiBUZXN0IG1vZGU6IEF1dG9tYXRlZAogUG9ydHM6IDMgKDEgY29udHJvbCBwbGFuZSwgMiBEYXRhcGxhbmVzKQogSW5pdGlhbCBTdGF0ZTogQ29ubmVjdGlvbiBzZXR1cCwgQ2xlYXIgU3dpdGNoIFN0YXRlIAogVGVzdC1GaWVsZDogTWFuZGF0b3J5CiAKKwogVGVzdC1Ob3RlczoKIAogYSkgQWRkIGEgZmxvdyB3aXRoIGhhcmQgdGltZW91dCA9MSBzZXQgYW5kIHdpdGggT0ZQUF9TRU5EX0ZMT1dfUkVNIGJpdCBzZXQKQEAgLTQ0NywxNyArNTYzLDIxIEBACiBjKSBWZXJpZnkgZmxvdyByZW1vdmVkIHJlYXNvbiB3YXMgaGFyZF90aW1lb3V0CiBkKSBWZXJpZnkgdGhlIGR1cmF0aW9uX3NlYyBmaWVsZCBpcyAxIHNlYyAKIAorCisKIDE5LiBWZXJpZnkgdGhhdCBtZXNzYWdlcyBhcmUgZ2VuZXJhdGVkIGFzIGV4cGVjdGVkCiAKIFRlc3QgRGVzY3JpcHRpb246IFZlcmlmeSB0aGF0IEZsb3cgcmVtb3ZlZCBtZXNzYWdlcyBhcmUgZ2VuZXJhdGVkIGFzIGV4cGVjdGVkCi1TaW5jZSCTZmxvdyByZW1vdmVkIG1lc3NhZ2VzIGJlaW5nIGdlbmVyYXRlZCB3aGVuIGZsYWcgaXMgc2V0lCBpcyBhbHJlYWR5IHRlc3RlZCBpbiB0aGUgYWJvdmUgdGVzdHMgCi1TbyBoZXJlLCB3ZSB0ZXN0IHRoZSB2aWNlLXZlcnNhIGNvbmRpdGlvbi4KLVRpdGxlOiBmbG93X3RpbWVvdXQKKwkgICAgICAgICAgLyogU2luY2Ugk2Zsb3cgcmVtb3ZlZCBtZXNzYWdlcyBiZWluZyBnZW5lcmF0ZWQgd2hlbiBmbGFnIGlzIHNldJQgaXMgYWxyZWFkeSB0ZXN0ZWQgaW4gdGhlIGFib3ZlIHRlc3RzIAorICAgICAgICAgICAgICAgICAgU28gaGVyZSwgd2UgdGVzdCB0aGUgdmljZS12ZXJzYSBjb25kaXRpb24uKi8KKworVGl0bGU6IEZsb3dUaW1lb3V0CiBUZXN0IG1vZGU6IEF1dG9tYXRlZAogUG9ydHM6IDMgKDFjb250cm9sIHBsYW5lLCAxZGF0YXBsYW5lKQogSW5pdGlhbCBTdGF0ZTogQ29ubmVjdGlvbiBzZXR1cCwgQ2xlYXIgU3dpdGNoIFN0YXRlIAogVGVzdC1GaWVsZDogTWFuZGF0b3J5CiAKKwogVGVzdC1Ob3RlczoKIAogYSkgIEdlbmVyYXRlIGFuZCBpbnN0YWxsIGEgZmxvdyB3aXRoIGlkbGVfdGltZW91dCA9IDEgc2V0IG5vIE9GUEZGX1NFTkRfRkxPV19SRU0gZmxhZyBzZXQuCkBAIC00NjcsMzYgKzU4Nyw0NyBAQAogCiAKIAotIyMjIyMjIyMjIyMjIyMjIyMgIEFjdGlvbnMgICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworCisqKiogICBBY3Rpb25zICAgKioqCisKKwogCiAxLiBObyBBY3Rpb24gZHJvcHMgcGFja2V0IAogCiBUZXN0IERlc2NyaXB0aW9uOiBJZiBubyBmb3J3YXJkIGFjdGlvbnMgYXJlIHByZXNlbnQsIHRoZSBwYWNrZXQgaXMgZHJvcHBlZC4gCisJCQogUmVxdWlyZWQgQWN0aW9uOiBEcm9wLiAKIEEgZmxvdy1lbnRyeSB3aXRoIG5vIHNwZWNpZmllZCBhY3Rpb24gaW5kaWNhdGVzIHRoYXQgYWxsIG1hdGNoaW5nIHBhY2tldHMgc2hvdWxkIGJlIGRyb3BwZWQuIAogVGVzdCBtb2RlOiBBdXRvbWF0ZWQKLVRlc3QgVGl0bGU6ICBub19hY3Rpb25fZHJvcAorVGVzdCBUaXRsZTogIE5vQWN0aW9uCiBQb3J0czogMyAoMSBDb250cm9sIFBsYW5lIDIgRGF0YXBsYW5lKQogSW5pdGlhbCBTdGF0ZTogRGVmYXVsdCAoQ2xlYXIgc3dpdGNoIHN0YXRlKSwgQ29ubmVjdGlvbiBzZXR1cAogVGVzdC1GaWVsZDogTWFuZGF0b3J5CiAKKwogVGVzdCBOb3RlczoKKwogYSkgU2VuZCBGbG93IG1vZCBtZXNzYWdlIHdpdGhvdXQgYW55IGFjdGlvbiBzcGVjaWZpZWQKIGIpIFNlbmQgTiBwYWNrZXRzIG1hdGNoaW5nIHRoZSBmbG93IAogYykgVmVyaWZ5IHBhY2tldHMgYXJlIG5vdCByZWNlaXZlZCBvbiBhbnkgb2YgdGhlIGRhdGFwbGFuZSBwb3J0cyAKIGQpIFZlcmlmeSBwYWNrZXRzIGFyZSBub3QgZXZlbiBzZW50IHRvIHRoZSBjb250cm9sbGVyCiAKKworCiAyLiAgR2V0IHN1cHBvcnRlZCBhY3Rpb25zIGZyb20gc3dpdGNoCiAKIFRlc3QgRGVzY3JpcHRpb246IEdldCB0aGUgc3VwcG9ydGVkIGFjdGlvbnMgZnJvbSBzd2l0Y2ggYW5kIG1ha2Ugc2FuaXR5IGNoZWNrcy4KLVdoZW4gY29ubmVjdGluZyB0byB0aGUgY29udHJvbGxlciwgYSBzd2l0Y2ggaW5kaWNhdGUgd2hpY2ggb2YgdGhlIJNPcHRpb25hbCBBY3Rpb25zlCBpdCBzdXBwb3J0cworCQkgIC8qV2hlbiBjb25uZWN0aW5nIHRvIHRoZSBjb250cm9sbGVyLCBhIHN3aXRjaCBpbmRpY2F0ZSB3aGljaCBvZiB0aGUgk09wdGlvbmFsIEFjdGlvbnOUIGl0IHN1cHBvcnRzKi8KKwogVGVzdCBtb2RlOiBBdXRvbWF0ZWQKLVRlc3QgVGl0bGU6ICBhbm5vdW5jZW1lbnQKK1Rlc3QgVGl0bGU6ICBBbm5vdW5jZW1lbnQKIFBvcnRzOiAxIChDb250cm9sIFBsYW5lKQogSW5pdGlhbCBTdGF0ZTogRGVmYXVsdCAoQ2xlYXIgc3dpdGNoIHN0YXRlKSwgQ29ubmVjdGlvbiBzZXR1cAogVGVzdC1GaWVsZDogTWFuZGF0b3J5CiAgICAgICAgCisKIFRlc3QgTm90ZXM6IAorCiBhKSBTZW5kIGZlYXR1cmVzX3JlcXVlc3QgLgogYikgVmVyaWZ5IHJlc3BvbnNlIGlzIE9GUFRfRkVBVFVSRVNfUkVQTFkKIGMpIFZlcmlmeSByZXBseSBoYXMgc3VwcG9ydGVkIGFjdGlvbiBsaXN0IHNwZWNpZmllZApAQCAtNTA2LDggKzYzNyw5IEBACiAzLiBGb3J3YXJkIEFsbAogCiBUZXN0IERlc2NyaXB0aW9uOiBQYWNrZXQgaXMgc2VudCB0byBhbGwgZGF0YXBsYW5lIHBvcnRzIGV4Y2VwdCBpbmdyZXNzIHBvcnQgd2hlbiBvdXRwdXQgYWN0aW9uLnBvcnQgPSBPRlBQX0FMTAorCiBUZXN0IG1vZGU6IEF1dG9tYXRlZAotVGVzdCBUaXRsZTogIGZvcndhcmRfYWxsCitUZXN0IFRpdGxlOiAgRm9yd2FyZEFsbAogUG9ydHM6IDMgKDEgQ29udHJvbCBQbGFuZSAyIERhdGFwbGFuZSkKIEluaXRpYWwgU3RhdGU6IERlZmF1bHQgKENsZWFyIHN3aXRjaCBzdGF0ZSksIENvbm5lY3Rpb24gc2V0dXAKIFRlc3QtRmllbGQ6IE1hbmRhdG9yeQpAQCAtNTE1LDE0ICs2NDcsMTcgQEAKICAgICAgICAKIFRlc3QgTm90ZXM6IAogCi0gICBhKSBJbnN0YWxsIGEgZmxvdyB3aXRoIG91dHB1dCBhY3Rpb24ucG9ydCA9IE9GUFBfQUxMLgotICAgYikgVmVyaWZ5IHBhY2tldHMgYXJlIGZvcndhcmRlZCB0byBhbGwgcG9ydHMgZXhjZXB0IGluZ3Jlc3MgcG9ydC4KK2EpIEluc3RhbGwgYSBmbG93IHdpdGggb3V0cHV0IGFjdGlvbi5wb3J0ID0gT0ZQUF9BTEwuCitiKSBWZXJpZnkgcGFja2V0cyBhcmUgZm9yd2FyZGVkIHRvIGFsbCBwb3J0cyBleGNlcHQgaW5ncmVzcyBwb3J0LgorCiAKIAogNC4gRm9yd2FyZCBDb250cm9sbGVyIAorCiBUZXN0IERlc2NyaXB0aW9uOiBQYWNrZXQgaXMgc2VudCB0byBjb250cm9sbGVyIG91dHB1dC5wb3J0ID0gT0ZQUF9DT05UUk9MTEVSCisKIFRlc3QgbW9kZTogQXV0b21hdGVkCi1UZXN0IFRpdGxlOiAgZm9yd2FyZF9jb250cm9sbGVyCitUZXN0IFRpdGxlOiAgRm9yd2FyZENvbnRyb2xsZXIKIFBvcnRzOiAzICgxIENvbnRyb2wgUGxhbmUgMiBEYXRhcGxhbmUpCiBJbml0aWFsIFN0YXRlOiBEZWZhdWx0IChDbGVhciBzd2l0Y2ggc3RhdGUpLCBDb25uZWN0aW9uIHNldHVwCiBUZXN0LUZpZWxkOiBNYW5kYXRvcnkKQEAgLTUzNSwxMSArNjcwLDEzIEBACiBjKSBWZXJpZnkgcGFja2V0IHJlY2VpdmVkIG9uIHRoZSBjb250cm9sIHBsYW5lIGFzIGEgcGFja2V0X2luIG1lc3NhZ2UKIAogCisKIDUuIEZvcndhcmQgTG9jYWwgKFRCRCCWIFZlcmlmaWNhdGlvbiBvZiBwYWNrZXQgYmVpbmcgcmVjZWl2ZWQgYXQgbG9jYWwgbmV0d29ya2luZyBzdGFjaykKIAogVGVzdCBEZXNjcmlwdGlvbjogUGFja2V0IGlzIHNlbnQgdG8gc3dpdGNoknMgbG9jYWwgbmV0d29ya2luZyBzdGFjayBpZiBvdXRwdXQucG9ydCA9IE9GUFBfTE9DQUwKKwogVGVzdCBtb2RlOiBBdXRvbWF0ZWQKLVRlc3QgVGl0bGU6ICBmb3J3YXJkX2xvY2FsCitUZXN0IFRpdGxlOiAgRm9yd2FyZExvY2FsCiBQb3J0czogMyAoMSBDb250cm9sIFBsYW5lIDIgRGF0YXBsYW5lKQogSW5pdGlhbCBTdGF0ZTogRGVmYXVsdCAoQ2xlYXIgc3dpdGNoIHN0YXRlKSwgQ29ubmVjdGlvbiBzZXR1cAogVGVzdC1GaWVsZDogTWFuZGF0b3J5CkBAIC01NTEsMTIgKzY4OCwxNiBAQAogYikgU2VuZCBwYWNrZXRzIG1hdGNoaW5nIHRoZSBmbG93CiBjKSBWZXJpZnkgcGFja2V0IHJlY2VpdmVkIGluIHRoZSBzd2l0Y2iScyBsb2NhbCBuZXR3b3JraW5nIHN0YWNrLgogCisKKwogNi4gRm9yd2FyZCBUYWJsZQogCiBUZXN0IERlc2NyaXB0aW9uOiBQZXJmb3JtIGFjdGlvbnMgaW4gZmxvdyB0YWJsZS4gT25seSBmb3IgcGFja2V0LW91dCBtZXNzYWdlcy4KLUlmIHRoZSBvdXRwdXQgYWN0aW9uLnBvcnQgaW4gdGhlIHBhY2tldG91dCBtZXNzYWdlID0gT0ZQLlRBQkxFLCB0aGVuIHRoZSBwYWNrZXQgaW1wbGVtZW50cyB0aGUgYWN0aW9uIHNwZWNpZmllZCBpbiB0aGUgbWF0Y2hpbmcgZmxvdyBvZiB0aGUgRkxPVy1UQUJMRQorCQkgIC8qSWYgdGhlIG91dHB1dCBhY3Rpb24ucG9ydCBpbiB0aGUgcGFja2V0b3V0IG1lc3NhZ2UgPSBPRlAuVEFCTEUsIHRoZW4gdGhlIHBhY2tldCBpbXBsZW1lbnRzIHRoZSBhY3Rpb24gCisJCSAgc3BlY2lmaWVkIGluIHRoZSBtYXRjaGluZyBmbG93IG9mIHRoZSBGTE9XLVRBQkxFKi8KKwogVGVzdCBtb2RlOiBBdXRvbWF0ZWQKLVRlc3QgVGl0bGU6ICBmb3J3YXJkX3RhYmxlCitUZXN0IFRpdGxlOiAgRm9yd2FyZFRhYmxlCiBQb3J0czogMyAoMSBDb250cm9sIFBsYW5lIDIgRGF0YXBsYW5lKQogSW5pdGlhbCBTdGF0ZTogRGVmYXVsdCAoQ2xlYXIgc3dpdGNoIHN0YXRlKSwgQ29ubmVjdGlvbiBzZXR1cAogVGVzdC1GaWVsZDogTWFuZGF0b3J5CkBAIC01NjgsMTEgKzcwOSwxMyBAQAogYykgVmVyaWZ5IHBhY2tldCByZWNlaXZlZCBvbiBlZ3Jlc3NfcG9ydCAoaS5lIHBhY2tldG91dCBtZXNzYWdlIGltcGxlbWVudGVkIHRoZSBhY3Rpb24gc3BlY2lmaWVkIGluIHRoZSBtYXRjaGluZyBmbG93IG9mIHRoZSBUYWJsZSkKIAogCisKIDcuIEZvcndhcmQgSW4gUG9ydAogCiBUZXN0IERlc2NyaXB0aW9uOiBQYWNrZXQgaXMgc2VudCB0byBpbnB1dCBwb3J0IGlmIG91dHB1dC5wb3J0ID0gT0ZQUF9JTlBPUlQKKwogVGVzdCBtb2RlOiBBdXRvbWF0ZWQKLVRlc3QgVGl0bGU6ICBmb3J3YXJkX2lucG9ydAorVGVzdCBUaXRsZTogIEZvcndhcmRJbnBvcnQKIFBvcnRzOiAzICgxIENvbnRyb2wgUGxhbmUgMiBEYXRhcGxhbmUpCiBJbml0aWFsIFN0YXRlOiBEZWZhdWx0IChDbGVhciBzd2l0Y2ggc3RhdGUpLCBDb25uZWN0aW9uIHNldHVwCiBUZXN0LUZpZWxkOiBNYW5kYXRvcnkKQEAgLTU4NCwxMiArNzI3LDE0IEBACiBjKSBWZXJpZnkgcGFja2V0IHJlY2VpdmVkIG9uIGFsbCBkYXRhcGxhbmUgcG9ydHMgZXhjZXB0IGZvciBpbnB1dCBwb3J0CiAKIAorCiA4LiBGb3J3YXJkIEZsb29kCiAKLVRlc3QgRGVzY3JpcHRpb246IEZMT09EOiBGbG9vZCB0aGUgcGFja2V0IGFsb25nIHRoZSBtaW5pbXVtIHNwYW5uaW5nIHRyZWUsIG5vdCBpbmNsdWRpbmcgdGhlIGluY29taW5nIGludGVyZmFjZS4gCi1QYWNrZXQgaXMgc2VudCBhbGwgdGhlIGRhdGFwbGFuZSBwb3J0cyBleGNlcHQgdGhlIGlucHV0IHBvcnQgaWYgb3V0cHV0LnBvcnQgPSBPRlBQX0ZMT09ECitUZXN0IERlc2NyaXB0aW9uOkZsb29kIHRoZSBwYWNrZXQgYWxvbmcgdGhlIG1pbmltdW0gc3Bhbm5pbmcgdHJlZSwgbm90IGluY2x1ZGluZyB0aGUgaW5jb21pbmcgaW50ZXJmYWNlLiAKKwkJIFBhY2tldCBpcyBzZW50IGFsbCB0aGUgZGF0YXBsYW5lIHBvcnRzIGV4Y2VwdCB0aGUgaW5wdXQgcG9ydCBpZiBvdXRwdXQucG9ydCA9IE9GUFBfRkxPT0QKKwogVGVzdCBtb2RlOiBBdXRvbWF0ZWQKLVRlc3QgVGl0bGU6ICBmb3J3YXJkX2Zsb29kCitUZXN0IFRpdGxlOiAgRm9yd2FyZF9GbG9vZAogUG9ydHM6IDMgKDEgQ29udHJvbCBQbGFuZSAyIERhdGFwbGFuZSkKIEluaXRpYWwgU3RhdGU6IERlZmF1bHQgKENsZWFyIHN3aXRjaCBzdGF0ZSksIENvbm5lY3Rpb24gc2V0dXAKIFRlc3QtRmllbGQ6IE9wdGlvbmFsCkBAIC02MDAsMTcgKzc0NSwyNSBAQAogYikgU2VuZCBwYWNrZXRzIG1hdGNoaW5nIHRoZSBmbG93CiBjKSBWZXJpZnkgcGFja2V0IHJlY2VpdmVkIG9uIGFsbCBkYXRhcGxhbmUgcG9ydHMgZXhjZXB0IGZvciBpbnB1dCBwb3J0CiAKKworCiA5LiBNdWx0aXBsZSBQb3J0cyAtLSBUQkQKIAorCisKKwogMTAuIEZvcndhcmQgRW5xdWV1ZSAtLS0gVEJECiAKIAorCisKIDExLiBTZXQgVkxBTiBJZAogCi1UZXN0IERlc2NyaXB0aW9uOiBBdHRhY2ggVkxBTiBJRCB0byB1bnRhZ2dlZCBwYWNrZXQKLUlmIG5vIFZMQU4gaXMgcHJlc2VudCwgYSBuZXcgaGVhZGVyIGlzIGFkZGVkIHdpdGggdGhlIHNwZWNpZmllZCBWTEFOIElEIGFuZCBwcmlvcml0eSBvZiB6ZXJvLgorVGVzdCBEZXNjcmlwdGlvbjogQXR0YWNoIFZMQU4gSUQgdG8gdW50YWdnZWQgcGFja2V0LgorICAgICAgICAgICAgICAgICAgSWYgbm8gVkxBTiBpcyBwcmVzZW50LCBhIG5ldyBoZWFkZXIgaXMgYWRkZWQgd2l0aCB0aGUgc3BlY2lmaWVkIFZMQU4gSUQgYW5kIHByaW9yaXR5IG9mIHplcm8uCisKIFRlc3QgbW9kZTogQXV0b21hdGVkCi1UZXN0IFRpdGxlOiAgYWRkX3ZsYW5faWQKK1Rlc3QgVGl0bGU6ICBBZGRWbGFuSWQKIFBvcnRzOiAzICgxIENvbnRyb2wgUGxhbmUgMiBEYXRhcGxhbmUpCiBJbml0aWFsIFN0YXRlOiBEZWZhdWx0IChDbGVhciBzd2l0Y2ggc3RhdGUpLCBDb25uZWN0aW9uIHNldHVwCiBUZXN0LUZpZWxkOiBPcHRpb25hbApAQCAtNjIyLDI5ICs3NzUsMzQgQEAKIGIpIFNlbmQgcGFja2V0IChsZW5ndGggPSAxMDAgYnl0ZXMpIG1hdGNoaW5nIHRoZSBmbG93CiBiKSAgIFZlcmlmeSBwYWNrZXQgcmVjZWl2ZWQgaGFzIHZsYW4gaWQgYWRkZWQgdG8gaXQuIChJLmUgbGVuZ3RoIG9mIHBhY2tldCB3aXRoIHZpZCBpcyAxMDQgYnl0ZXMsIGRsX3ZsYW5fZW5hYmxlID0gVHJ1ZSwgZGxfdmxhbj0geCwgZGxfdmxhbl9wY3A9MCkgIAogICAgCisKKwogMTIuIE1vZGlmeSBWTEFOIElkCiAKIFRlc3QgRGVzY3JpcHRpb246IE1vZGlmaWVzIFZsYW4gVGFnIGZvciBhIHRhZ2dlZCBwYWNrZXQKLUlmIGEgVkxBTiBoZWFkZXIgYWxyZWFkeSBleGlzdHMsIHRoZSBWTEFOIElEIGlzIHJlcGxhY2VkIHdpdGggdGhlIHNwZWNpZmllZCB2YWx1ZQorCQkgIElmIGEgVkxBTiBoZWFkZXIgYWxyZWFkeSBleGlzdHMsIHRoZSBWTEFOIElEIGlzIHJlcGxhY2VkIHdpdGggdGhlIHNwZWNpZmllZCB2YWx1ZQorCiBUZXN0IG1vZGU6IEF1dG9tYXRlZAotVGVzdCBUaXRsZTogIG1vZGlmeV92bGFuX2lkCitUZXN0IFRpdGxlOiAgTW9kaWZ5VmxhbklkCiBQb3J0czogMyAoMSBDb250cm9sIFBsYW5lIDIgRGF0YXBsYW5lKQogSW5pdGlhbCBTdGF0ZTogRGVmYXVsdCAoQ2xlYXIgc3dpdGNoIHN0YXRlKSwgQ29ubmVjdGlvbiBzZXR1cAogVGVzdC1GaWVsZDogT3B0aW9uYWwKIAotICAgICAgIAorCiBUZXN0IE5vdGVzOiAKIGEpIEluc2VydCBhIGZsb3cgd2l0aCBhY3Rpb24gPSBPRlBBVF9TRVRfVkxBTl9WSUQgLCB2bGFuX3ZpZCA9IHggCiBiKSAgIFNlbmQgcGFja2V0IChsZW5ndGggPSAxMDAgYnl0ZXMpIG1hdGNoaW5nIHRoZSBmbG93CiBjKSAgIFZlcmlmeSBwYWNrZXQgcmVjZWl2ZWQgaGFzIHZsYW4gaWQgcmV3cml0dGVuLiAoSS5lIGxlbmd0aCBvZiAxMDQgYnl0ZXMsIGRsX3ZsYW5fZW5hYmxlID0gVHJ1ZSwgZGxfdmxhbj14KSAgCiAKIAorCiAxMy4gQWRkIFZMQU4gUHJpb3JpdHkgdG8gYW4gdW50YWdnZWQgcGFja2V0CiAKIFRlc3QgRGVzY3JpcHRpb246IEF0dGFjaCBWTEFOIHByaW9yaXR5IHRvIGFuIHVudGFnZ2VkIHBhY2tldC4KLVNpbmNlLCBubyBWTEFOIElEIGlzIHByZXNlbnQ7IGEgbmV3IGhlYWRlciBpcyBhZGRlZCB3aXRoIHRoZSBzcGVjaWZpZWQgcHJpb3JpdHkgYW5kIGEgVkxBTiBJRCBvZiB6ZXJvLgorCQkgIFNpbmNlLCBubyBWTEFOIElEIGlzIHByZXNlbnQ7IGEgbmV3IGhlYWRlciBpcyBhZGRlZCB3aXRoIHRoZSBzcGVjaWZpZWQgcHJpb3JpdHkgYW5kIGEgVkxBTiBJRCBvZiB6ZXJvLlwKKwogVGVzdCBtb2RlOiBBdXRvbWF0ZWQKLVRlc3QgVGl0bGU6ICB2bGFuX3ByaW9fdW50YWdnZWQKK1Rlc3QgVGl0bGU6ICBWbGFuUHJpbzEKIFBvcnRzOiAzICgxIENvbnRyb2wgUGxhbmUgMiBEYXRhcGxhbmUpCiBJbml0aWFsIFN0YXRlOiBEZWZhdWx0IChDbGVhciBzd2l0Y2ggc3RhdGUpLCBDb25uZWN0aW9uIHNldHVwCiBUZXN0LUZpZWxkOiBPcHRpb25hbApAQCAtNjU2LDExICs4MTQsMTQgQEAKIGIpIFNlbmQgdW50YWdnZWQgcGFja2V0IG1hdGNoaW5nIHRoZSBmbG93ICAKIGMpIFZlcmlmeSBwYWNrZXQgcmVjZWl2ZWQgaGFzIHZsYW4gcHJpb3JpdHkgYWRkZWQgdG8gaXQgYWxvbmcgd2l0aCBhIHZpZCB2YWx1ZSBvZiB6ZXJvIGFkZGVkIGJ5IGRlZmF1bHQgICAoZGxfdmxhbl9lbmFibGUgLCBkbF92bGFuID0gMCAsIGRsX3ZsYW5fcGNwID14ICkKIAorCisKIDE0LiBSZXdyaXRlIGV4aXN0aW5nIFZMQU4gcHJpb3JpdHkKIAogVGVzdCBEZXNjcmlwdGlvbjogTW9kaWZ5IFZMQU4gcHJpb3JpdHkgZm9yIGEgdGFnZ2VkIHBhY2tldC4KKwogVGVzdCBtb2RlOiBBdXRvbWF0ZWQKLVRlc3QgVGl0bGU6ICBtb2RpZnlfdmxhbl9wcmlvCitUZXN0IFRpdGxlOiAgVmxhblByaW8yCiBQb3J0czogMyAoMSBDb250cm9sIFBsYW5lIDIgRGF0YXBsYW5lKQogSW5pdGlhbCBTdGF0ZTogRGVmYXVsdCAoQ2xlYXIgc3dpdGNoIHN0YXRlKSwgQ29ubmVjdGlvbiBzZXR1cAogVGVzdC1GaWVsZDogT3B0aW9uYWwKQEAgLTY3OCwxNCArODM5LDE2IEBACiAxNS4gTW9kaWZ5IEwyIFNyYyBBZGRyZXNzCiAKIFRlc3QgRGVzY3JpcHRpb246IE1vZGlmeSBFdGhlcm5ldCBTcmMgQWRkcmVzcyBvZiBhIHBhY2tldAorCiBUZXN0IG1vZGU6IEF1dG9tYXRlZAotVGVzdCBUaXRsZTogIG1vZGlmeV9sMl9zcmMKK1Rlc3QgVGl0bGU6ICBNb2RpZnlMMlNyYwogUG9ydHM6IDMgKDEgQ29udHJvbCBQbGFuZSAyIERhdGFwbGFuZSkKIEluaXRpYWwgU3RhdGU6IERlZmF1bHQgKENsZWFyIHN3aXRjaCBzdGF0ZSksIENvbm5lY3Rpb24gc2V0dXAKIFRlc3QtRmllbGQ6IE9wdGlvbmFsCiAKICAgICAgICAKIFRlc3QgTm90ZXM6IAorCiBhKSBJbnNlcnQgYSBmbG93IHdpdGggYWN0aW9uID0gT0ZQQVRfU0VUX0RMX1NSQyAsIGRsX3NyYyA9bmV3X2RsX3NyYwogYikgU2VuZCBwYWNrZXQgbWF0Y2hpbmcgdGhlIGZsb3cgIChkbF9kc3QgPSBvbGRfZGxfc3JjICkKIGMpIFZlcmlmeSBwYWNrZXQgcmVjZWl2ZWQgaGFzIHNyYyBhZGRyZXNzIHJld3JpdHRlbi4gKGRsX3NyYz0gbmV3X2RsX3NyYykKQEAgLTY5NSw3MSArODU4LDc3IEBACiAxNi4gTW9kaWZ5IEwyIERlc3RpbmF0aW9uIEFkZHJlc3MKIAogVGVzdCBEZXNjcmlwdGlvbjogTW9kaWZ5IEV0aGVybmV0IERlc3RpbmF0aW9uIEFkZHJlc3Mgb2YgYSBwYWNrZXQKKwogVGVzdCBtb2RlOiBBdXRvbWF0ZWQKLVRlc3QgVGl0bGU6ICBtb2RpZnlfbDJfZHN0CitUZXN0IFRpdGxlOiAgTW9kaWZ5TDJEc3QKIFBvcnRzOiAzICgxIENvbnRyb2wgUGxhbmUgMiBEYXRhcGxhbmUpCiBJbml0aWFsIFN0YXRlOiBEZWZhdWx0IChDbGVhciBzd2l0Y2ggc3RhdGUpLCBDb25uZWN0aW9uIHNldHVwCiBUZXN0LUZpZWxkOiBPcHRpb25hbAogCiAgICAgICAgCiBUZXN0IE5vdGVzOiAKKwogYSkgSW5zZXJ0IGEgZmxvdyB3aXRoIGFjdGlvbiA9IE9GUEFUX1NFVF9ETF9EU1QgLCBkbF9kc3QgPW5ld19kbF9kc3QKIGIpIFNlbmQgcGFja2V0IG1hdGNoaW5nIHRoZSBmbG93ICAoZGxfZHN0ID0gb2xkX2RsX3NyYyApCiBjKSBWZXJpZnkgcGFja2V0IHJlY2VpdmVkIGhhcyBkZXN0aW5hdGlvbiBhZGRyZXNzIHJld3JpdHRlbi4gKGRsX3NyYz0gbmV3X2RsX3NyYykKIAorCisKIDE3LiBTdHJpcCBWTEFOIGhlYWRlciCWIChJbiBvZnRlc3QsICBuZWVkIHRvIGFkZCBpbiBjb25mb3JtYW5jZSB0ZXN0LXN1aXRlICkKIAogCisKIDE4LiBNb2RpZnkgTDMgU3JjIEFkZHJlc3MKIAogVGVzdCBEZXNjcmlwdGlvbjogTW9kaWZ5IE5ldHdvcmsgU3JjIEFkZHJlc3Mgb2YgYSBwYWNrZXQKKwogVGVzdCBtb2RlOiBBdXRvbWF0ZWQKLVRlc3QgVGl0bGU6ICBtb2RpZnlfbDNfc3JjCitUZXN0IFRpdGxlOiAgTW9kaWZ5TDNTcmMKIFBvcnRzOiAzICgxIENvbnRyb2wgUGxhbmUgMiBEYXRhcGxhbmUpCiBJbml0aWFsIFN0YXRlOiBEZWZhdWx0IChDbGVhciBzd2l0Y2ggc3RhdGUpLCBDb25uZWN0aW9uIHNldHVwCiBUZXN0LUZpZWxkOiBPcHRpb25hbAogCiAgICAgICAgCiBUZXN0IE5vdGVzOiAKKwogYSkgSW5zZXJ0IGEgZmxvdyB3aXRoIGFjdGlvbiA9IE9GUEFUX1NFVF9OV19TUkMgLCBud19zcmMgPW5ld19ud19zcmMKIGIpIFNlbmQgcGFja2V0IG1hdGNoaW5nIHRoZSBmbG93ICAobndfc3JjID0gb2xkX253X3NyYyApCiBjKSBWZXJpZnkgcGFja2V0IHJlY2VpdmVkIGhhcyBudyBhZGRyZXNzIHJld3JpdHRlbi4gKG53X3NyYz0gbmV3X253X3NyYykKIAogCiAKLQotCi0KLQogMTkuIE1vZGlmeSBMMyBEc3QgQWRkcmVzcwogCiBUZXN0IERlc2NyaXB0aW9uOiBNb2RpZnkgTmV0d29yayBEc3QgQWRkcmVzcyBvZiBhIHBhY2tldAorCiBUZXN0IG1vZGU6IEF1dG9tYXRlZAotVGVzdCBUaXRsZTogIG1vZGlmeV9sM19kc3QKK1Rlc3QgVGl0bGU6ICBNb2RpZnlMM0RzdAogUG9ydHM6IDMgKDEgQ29udHJvbCBQbGFuZSAyIERhdGFwbGFuZSkKIEluaXRpYWwgU3RhdGU6IERlZmF1bHQgKENsZWFyIHN3aXRjaCBzdGF0ZSksIENvbm5lY3Rpb24gc2V0dXAKIFRlc3QtRmllbGQ6IE9wdGlvbmFsCiAKICAgICAgICAKIFRlc3QgTm90ZXM6IAorCiBhKSBJbnNlcnQgYSBmbG93IHdpdGggYWN0aW9uID0gT0ZQQVRfU0VUX05XX0RTVCAsIG53X2RzdCA9bmV3X253X2RzdAogYikgU2VuZCBwYWNrZXQgbWF0Y2hpbmcgdGhlIGZsb3cgIChud19kc3QgPSBvbGRfbndfZHN0ICkKIGMpIFZlcmlmeSBwYWNrZXQgcmVjZWl2ZWQgaGFzIG53IGRlc3RpbmF0aW9uIGFkZHJlc3MgcmV3cml0dGVuLiAobndfZHN0PSBuZXdfbndfZHN0KQogCiAKIAotCiAyMC4gTW9kaWZ5IEw0IFNyYyBBZGRyZXNzCiAKIFRlc3QgRGVzY3JpcHRpb246IE1vZGlmeSBUQ1AgU291cmNlIFBvcnQgb2YgYSBwYWNrZXQKKwogVGVzdCBtb2RlOiBBdXRvbWF0ZWQKLVRlc3QgVGl0bGU6ICBtb2RpZnlfbDRfc3JjCitUZXN0IFRpdGxlOiAgTW9kaWZ5TDRTcmMKIFBvcnRzOiAzICgxIENvbnRyb2wgUGxhbmUgMiBEYXRhcGxhbmUpCiBJbml0aWFsIFN0YXRlOiBEZWZhdWx0IChDbGVhciBzd2l0Y2ggc3RhdGUpLCBDb25uZWN0aW9uIHNldHVwCiBUZXN0LUZpZWxkOiBPcHRpb25hbAogCiAgICAgICAgCiBUZXN0IE5vdGVzOiAKKwogYSkgSW5zZXJ0IGEgZmxvdyB3aXRoIGFjdGlvbiA9IE9GUEFUX1NFVF9UUF9TUkMgLCB0Y3Bfc3BvcnQgPW5ld190Y3Bfc3BvcnQKIGIpIFNlbmQgcGFja2V0IG1hdGNoaW5nIHRoZSBmbG93ICAodGNwX3Nwb3J0ID0gb2xkX3RjcF9zcG9ydCApCiBjKSBWZXJpZnkgcGFja2V0IHJlY2VpdmVkIGhhcyB0Y3Agc291cmNlIHBvcnQgcmV3cml0dGVuLiAodGNwX3Nwb3J0ID0gbmV3X3RjcF9zcG9ydCkKQEAgLTc2OCwxNCArOTM3LDE2IEBACiAyMS4gTW9kaWZ5IEw0IERzdCBBZGRyZXNzCiAKIFRlc3QgRGVzY3JpcHRpb246IE1vZGlmeSBUQ1AgRGVzdGluYXRpb24gUG9ydCBvZiBhIHBhY2tldAorCiBUZXN0IG1vZGU6IEF1dG9tYXRlZAotVGVzdCBUaXRsZTogIG1vZGlmeV9sNF9kc3QKK1Rlc3QgVGl0bGU6ICBNb2RpZnlMNERzdAogUG9ydHM6IDMgKDEgQ29udHJvbCBQbGFuZSAyIERhdGFwbGFuZSkKIEluaXRpYWwgU3RhdGU6IERlZmF1bHQgKENsZWFyIHN3aXRjaCBzdGF0ZSksIENvbm5lY3Rpb24gc2V0dXAKIFRlc3QtRmllbGQ6IE9wdGlvbmFsCiAKICAgICAgICAKIFRlc3QgTm90ZXM6IAorCiBhKSBJbnNlcnQgYSBmbG93IHdpdGggYWN0aW9uID0gT0ZQQVRfU0VUX1RQX0RTVCAsIHRjcF9kcG9ydCA9bmV3X3RjcF9kcG9ydAogYikgU2VuZCBwYWNrZXQgbWF0Y2hpbmcgdGhlIGZsb3cgICh0Y3BfZHBvcnQgPSBvbGRfdGNwX2Rwb3J0ICkKIGMpIFZlcmlmeSBwYWNrZXQgcmVjZWl2ZWQgaGFzIHRjcCBkZXN0aW5hdGlvbiBwb3J0IHJld3JpdHRlbi4gKHRjcF9zcG9ydCA9IG5ld190Y3Bfc3BvcnQpCkBAIC03ODUsMjAgKzk1NiwyNiBAQAogMjIuIE1vZGlmeSBUT1MKIAogVGVzdCBEZXNjcmlwdGlvbjogTW9kaWZ5IE5ldHdvcmsgVHlwZSBvZiBzZXJ2aWNlCisKIFRlc3QgbW9kZTogQXV0b21hdGVkCi1UZXN0IFRpdGxlOiAgbW9kaWZ5X3RvcworVGVzdCBUaXRsZTogIE1vZGlmeVRvcwogUG9ydHM6IDMgKDEgQ29udHJvbCBQbGFuZSAyIERhdGFwbGFuZSkKIEluaXRpYWwgU3RhdGU6IERlZmF1bHQgKENsZWFyIHN3aXRjaCBzdGF0ZSksIENvbm5lY3Rpb24gc2V0dXAKIFRlc3QtRmllbGQ6IE9wdGlvbmFsCiAKICAgICAgICAKIFRlc3QgTm90ZXM6IAorCiBhKSBJbnNlcnQgYSBmbG93IHdpdGggYWN0aW9uID0gT0ZQQVRfU0VUX05XX1RPUywgaXBfdG9zID1uZXdfaXBfdG9zCiBiKSBTZW5kIHBhY2tldCBtYXRjaGluZyB0aGUgZmxvdyAgKGlwX3Rvcz0gb2xkX2lwX3RvcykKIGMpIFZlcmlmeSBwYWNrZXQgcmVjZWl2ZWQgaGFzIHRjcCBkZXN0aW5hdGlvbiBwb3J0IHJld3JpdHRlbi4gKGlwX3Rvcz0gbmV3X2lwX3RvcykKIAogCisKIDIzLiBPcmRlciBOb3QgcG9zc2libGUgIC0tIFRCRAogCisKKworCiAyNC4gU2VxdWVudGlhbCBleGVjdXRpb24gIC0tIFRCRCAKIAo=