From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 From: Jakub Jelinek To: git-commits@fedoraproject.org Subject: [rpms/gcc] rhel-f41-base: Fix up RHEL/ELN Fortran patches. Date: Mon, 29 Jun 2026 12:29:51 GMT Message-ID: <178273619187.1.2951293320009148846.rpms-gcc-91b35405493f@fedoraproject.org> List-ID: X-Git-Repo: rpms/gcc X-Git-Branch: rhel-f41-base X-Git-Rev: 91b35405493f90d5d176b3e237e2f3e1c3ff4746 QSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KClJlcG8gICA6IHJwbXMvZ2NjCkJyYW5jaCA6 IHJoZWwtZjQxLWJhc2UKQ29tbWl0IDogOTFiMzU0MDU0OTNmOTBkNWQxNzZiM2UyMzdlMmYzZTFj M2ZmNDc0NgpBdXRob3IgOiBKYWt1YiBKZWxpbmVrIDxqYWt1YkByZWRoYXQuY29tPgpEYXRlICAg OiAyMDIyLTA3LTA0VDE1OjM3OjE1KzAyOjAwClN0YXRzICA6ICs5Ly0yOTY2IGluIDcgZmlsZShz KQpVUkwgICAgOiBodHRwczovL3NyYy5mZWRvcmFwcm9qZWN0Lm9yZy9ycG1zL2djYy9jLzkxYjM1 NDA1NDkzZjkwZDVkMTc2YjNlMjM3ZTJmM2UxYzNmZjQ3NDY/YnJhbmNoPXJoZWwtZjQxLWJhc2UK CkxvZzoKRml4IHVwIFJIRUwvRUxOIEZvcnRyYW4gcGF0Y2hlcy4KCi0tLQpkaWZmIC0tZ2l0IGEv Z2NjMTItZm9ydHJhbi1mZGVjLWFkZC1taXNzaW5nLWluZGV4ZXMucGF0Y2ggYi9nY2MxMi1mb3J0 cmFuLWZkZWMtYWRkLW1pc3NpbmctaW5kZXhlcy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2 NDQKaW5kZXggNTI5ODY4Zi4uMDAwMDAwMAotLS0gYS9nY2MxMi1mb3J0cmFuLWZkZWMtYWRkLW1p c3NpbmctaW5kZXhlcy5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDE4MSArMCwwIEBACi1Gcm9t IDcwMDFkNTIyZDAyNzM2NThkOWUxZmIxMmNhMTA0ZDU2YmZjYWUzNGQgTW9uIFNlcCAxNyAwMDow MDowMCAyMDAxCi1Gcm9tOiBNYXJrIEVnZ2xlc3RvbiA8bWFya2VnZ2xlc3RvbkBnY2MuZ251Lm9y Zz4KLURhdGU6IEZyaSwgMjIgSmFuIDIwMjEgMTU6MDY6MDggKzAwMDAKLVN1YmplY3Q6IFtQQVRD SCAxMC8xMF0gRmlsbCBpbiBtaXNzaW5nIGFycmF5IGRpbWVuc2lvbnMgdXNpbmcgdGhlIGxvd2Vy IGJvdW5kCi0KLVVzZSAtZmRlYy1hZGQtbWlzc2luZy1pbmRleGVzIHRvIGVuYWJsZSBmZWF0dXJl LiBBbHNvIGVuYWJsZWQgYnkgZmRlYy4KLS0tLQotIGdjYy9mb3J0cmFuL2xhbmcub3B0ICAgICAg ICAgICAgICAgICAgfCAgOCArKysrKysrKwotIGdjYy9mb3J0cmFuL29wdGlvbnMuY2MgICAgICAg ICAgICAgICAgfCAgMSArCi0gZ2NjL2ZvcnRyYW4vcmVzb2x2ZS5jYyAgICAgICAgICAgICAgICB8 IDI0ICsrKysrKysrKysrKysrKysrKysrKysrKwotIGdjYy90ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcv YXJyYXlfNi5mOTAgfCAyMyArKysrKysrKysrKysrKysrKysrKysrKwotIGdjYy90ZXN0c3VpdGUv Z2ZvcnRyYW4uZGcvYXJyYXlfNy5mOTAgfCAyMyArKysrKysrKysrKysrKysrKysrKysrKwotIGdj Yy90ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcvYXJyYXlfOC5mOTAgfCAyMyArKysrKysrKysrKysrKysr KysrKysrKwotIDYgZmlsZXMgY2hhbmdlZCwgMTAyIGluc2VydGlvbnMoKykKLSBjcmVhdGUgbW9k ZSAxMDA2NDQgZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9hcnJheV82LmY5MAotIGNyZWF0ZSBt b2RlIDEwMDY0NCBnY2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL2FycmF5XzcuZjkwCi0gY3JlYXRl IG1vZGUgMTAwNjQ0IGdjYy90ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcvYXJyYXlfOC5mOTAKLQotZGlm ZiAtLWdpdCBhL2djYy9mb3J0cmFuL2xhbmcub3B0IGIvZ2NjL2ZvcnRyYW4vbGFuZy5vcHQKLWlu ZGV4IDAxOWM3OThjZjA5Li5mMjdkZTg4ZWEzZiAxMDA2NDQKLS0tLSBhL2djYy9mb3J0cmFuL2xh bmcub3B0Ci0rKysgYi9nY2MvZm9ydHJhbi9sYW5nLm9wdAotQEAgLTI4MSw2ICsyODEsMTAgQEAg V21pc3NpbmctaW5jbHVkZS1kaXJzCi0gRm9ydHJhbgotIDsgRG9jdW1lbnRlZCBpbiBDL0MrKwot IAotK1dtaXNzaW5nLWluZGV4Ci0rRm9ydHJhbiBWYXIod2Fybl9taXNzaW5nX2luZGV4KSBXYXJu aW5nIExhbmdFbmFibGVkQnkoRm9ydHJhbixXYWxsKQotK1dhcm4gdGhhdCB0aGUgbG93ZXIgYm91 bmQgb2YgYSBtaXNzaW5nIGluZGV4IHdpbGwgYmUgdXNlZC4KLSsKLSBXdXNlLXdpdGhvdXQtb25s eQotIEZvcnRyYW4gVmFyKHdhcm5fdXNlX3dpdGhvdXRfb25seSkgV2FybmluZwotIFdhcm4gYWJv dXQgVVNFIHN0YXRlbWVudHMgdGhhdCBoYXZlIG5vIE9OTFkgcXVhbGlmaWVyLgotQEAgLTQ2MCw2 ICs0NjQsMTAgQEAgZmRlYwotIEZvcnRyYW4gVmFyKGZsYWdfZGVjKQotIEVuYWJsZSBhbGwgREVD IGxhbmd1YWdlIGV4dGVuc2lvbnMuCi0gCi0rZmRlYy1hZGQtbWlzc2luZy1pbmRleGVzCi0rRm9y dHJhbiBWYXIoZmxhZ19kZWNfYWRkX21pc3NpbmdfaW5kZXhlcykKLStFbmFibGUgdGhlIGFkZGl0 aW9uIG9mIG1pc3NpbmcgaW5kZXhlcyB1c2luZyB0aGVpciBsb3dlciBib3VuZHMuCi0rCi0gZmRl Yy1ibGFuay1mb3JtYXQtaXRlbQotIEZvcnRyYW4gVmFyKGZsYWdfZGVjX2JsYW5rX2Zvcm1hdF9p dGVtKQotIEVuYWJsZSB0aGUgdXNlIG9mIGJsYW5rIGZvcm1hdCBpdGVtcyBpbiBmb3JtYXQgc3Ry aW5ncy4KLWRpZmYgLS1naXQgYS9nY2MvZm9ydHJhbi9vcHRpb25zLmNjIGIvZ2NjL2ZvcnRyYW4v b3B0aW9ucy5jYwotaW5kZXggMDUwZjU2ZmRjMjUuLmMzYjI4MjI2ODVkIDEwMDY0NAotLS0tIGEv Z2NjL2ZvcnRyYW4vb3B0aW9ucy5jYwotKysrIGIvZ2NjL2ZvcnRyYW4vb3B0aW9ucy5jYwotQEAg LTg0LDYgKzg0LDcgQEAgc2V0X2RlY19mbGFncyAoaW50IHZhbHVlKQotICAgU0VUX0JJVEZMQUcg KGZsYWdfZGVjX25vbl9sb2dpY2FsX2lmLCB2YWx1ZSwgdmFsdWUpOwotICAgU0VUX0JJVEZMQUcg KGZsYWdfZGVjX3Byb21vdGlvbiwgdmFsdWUsIHZhbHVlKTsKLSAgIFNFVF9CSVRGTEFHIChmbGFn X2RlY19zZXF1ZW5jZSwgdmFsdWUsIHZhbHVlKTsKLSsgIFNFVF9CSVRGTEFHIChmbGFnX2RlY19h ZGRfbWlzc2luZ19pbmRleGVzLCB2YWx1ZSwgdmFsdWUpOwotIH0KLSAKLSAvKiBGaW5hbGl6ZSBE RUMgZmxhZ3MuICAqLwotZGlmZiAtLWdpdCBhL2djYy9mb3J0cmFuL3Jlc29sdmUuY2MgYi9nY2Mv Zm9ydHJhbi9yZXNvbHZlLmNjCi1pbmRleCBmZTdkMGNjNTk0NC4uMGVmZWVkYWI0NmUgMTAwNjQ0 Ci0tLS0gYS9nY2MvZm9ydHJhbi9yZXNvbHZlLmNjCi0rKysgYi9nY2MvZm9ydHJhbi9yZXNvbHZl LmNjCi1AQCAtNDgwNiw2ICs0ODA2LDMwIEBAIGNvbXBhcmVfc3BlY190b19yZWYgKGdmY19hcnJh eV9yZWYgKmFyKQotICAgaWYgKGFyLT50eXBlID09IEFSX0ZVTEwpCi0gICAgIHJldHVybiB0cnVl OwotIAotKyAgaWYgKGZsYWdfZGVjX2FkZF9taXNzaW5nX2luZGV4ZXMgJiYgYXMtPnJhbmsgPiBh ci0+ZGltZW4pCi0rICAgIHsKLSsgICAgICAvKiBBZGQgaW4gdGhlIG1pc3NpbmcgZGltZW5zaW9u cywgYXNzdW1pbmcgdGhleSBhcmUgdGhlIGxvd2VyIGJvdW5kCi0rCSBvZiB0aGF0IGRpbWVuc2lv biBpZiBub3Qgc3BlY2lmaWVkLiAgKi8KLSsgICAgICBpbnQgajsKLSsgICAgICBpZiAod2Fybl9t aXNzaW5nX2luZGV4KQotKwl7Ci0rCSAgZ2ZjX3dhcm5pbmcgKE9QVF9XbWlzc2luZ19pbmRleCwg IlVzaW5nIHRoZSBsb3dlciBib3VuZCBmb3IgIgotKwkJICAgICAgICJ1bnNwZWNpZmllZCBkaW1l bnNpb25zIGluIGFycmF5IHJlZmVyZW5jZSBhdCAlTCIsCi0rCQkgICAgICAgJmFyLT53aGVyZSk7 Ci0rCX0KLSsgICAgICAvKiBPdGhlciBwYXJ0cyBvZiB0aGUgY29kZSBpdGVyYXRlIGFyLT5zdGFy dCBhbmQgYXItPmVuZCBmcm9tIDAgdG8KLSsJIGFyLT5kaW1lbiwgc28gaXQgaXMgc2FmZSB0byBh c3N1bWUgc2xvdHMgZnJvbSBhci0+ZGltZW4gdXB3YXJkcwotKwkgYXJlIHVudXNlZCAoaS5lLiB0 aGVyZSBhcmUgbm8gZ2FwczsgdGhlIHNwZWNpZmllZCBpbmRleGVzIGFyZQotKwkgY29udGlndW91 cyBhbmQgc3RhcnQgYXQgemVyby4gICovCi0rICAgICAgZm9yKGogPSBhci0+ZGltZW47IGogPD0g YXMtPnJhbms7IGorKykKLSsJewotKwkgIGFyLT5zdGFydFtqXSA9IGdmY19jb3B5X2V4cHIgKGFz LT5sb3dlcltqXSk7Ci0rCSAgYXItPmVuZFtqXSAgID0gZ2ZjX2NvcHlfZXhwciAoYXMtPmxvd2Vy W2pdKTsKLSsJICBhci0+ZGltZW5fdHlwZVtqXSA9IERJTUVOX0VMRU1FTlQ7Ci0rCX0KLSsgICAg ICBhci0+ZGltZW4gPSBhcy0+cmFuazsKLSsgICAgfQotKwotICAgaWYgKGFzLT5yYW5rICE9IGFy LT5kaW1lbikKLSAgICAgewotICAgICAgIGdmY19lcnJvciAoIlJhbmsgbWlzbWF0Y2ggaW4gYXJy YXkgcmVmZXJlbmNlIGF0ICVMICglZC8lZCkiLAotZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUv Z2ZvcnRyYW4uZGcvYXJyYXlfNi5mOTAgYi9nY2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL2FycmF5 XzYuZjkwCi1uZXcgZmlsZSBtb2RlIDEwMDY0NAotaW5kZXggMDAwMDAwMDAwMDAuLjVjMjZlMThh YjNlCi0tLS0gL2Rldi9udWxsCi0rKysgYi9nY2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL2FycmF5 XzYuZjkwCi1AQCAtMCwwICsxLDIzIEBACi0rISB7IGRnLWRvIHJ1biB9Ci0rISB7IGRnLW9wdGlv bnMgIi1mZGVjIC1XbWlzc2luZy1pbmRleCIgfSEKLSshIENoZWNrcyB0aGF0IHVuZGVyLXNwZWNp ZmllZCBhcnJheXMgKHJlZmVyZW5jaW5nIGFycmF5cyB3aXRoIGZld2VyCi0rISBkaW1lbnNpb25z IHRoYW4gdGhlIGFycmF5IHNwZWMpIGdlbmVyYXRlcyBhIHdhcm5pbmcuCi0rIQotKyEgQ29udHJp YnV0ZWQgYnkgSmltIE1hY0FydGh1ciA8amltLm1hY2FydGh1ckBjb2RldGhpbmsuY28udWs+Ci0r ISBVcGRhdGVkIGJ5IE1hcmsgRWdnbGVzdG9uIDxtYXJrLmVnZ2xlc3RvbkBjb2RldGhpbmsuY28u dWs+Ci0rIQotKwotK3Byb2dyYW0gdW5kZXJfc3BlY2lmaWVkX2FycmF5Ci0rICAgIGludGVnZXIg Y2hlc3Nib2FyZCg4LDgpCi0rICAgIGludGVnZXIgY2hlc3Nib2FyZDNkKDgsOCwzOjUpCi0rICAg IGNoZXNzYm9hcmQoMywxKSA9IDUKLSsgICAgY2hlc3Nib2FyZCgzLDIpID0gNTUKLSsgICAgY2hl c3Nib2FyZDNkKDQsMSwzKSA9IDYKLSsgICAgY2hlc3Nib2FyZDNkKDQsMSw0KSA9IDY2Ci0rICAg IGNoZXNzYm9hcmQzZCg0LDQsMykgPSA3Ci0rICAgIGNoZXNzYm9hcmQzZCg0LDQsNCkgPSA3Nwot KyAgCi0rICAgIGlmIChjaGVzc2JvYXJkKDMpLm5lLjUpIHN0b3AgMSAgISB7IGRnLXdhcm5pbmcg IlVzaW5nIHRoZSBsb3dlciBib3VuZCBmb3IgdW5zcGVjaWZpZWQgZGltZW5zaW9ucyBpbiBhcnJh eSByZWZlcmVuY2UiIH0KLSsgICAgaWYgKGNoZXNzYm9hcmQzZCg0KS5uZS42KSBzdG9wIDIgICEg eyBkZy13YXJuaW5nICJVc2luZyB0aGUgbG93ZXIgYm91bmQgZm9yIHVuc3BlY2lmaWVkIGRpbWVu c2lvbnMgaW4gYXJyYXkgcmVmZXJlbmNlIiB9Ci0rICAgIGlmIChjaGVzc2JvYXJkM2QoNCw0KS5u ZS43KSBzdG9wIDMgICEgeyBkZy13YXJuaW5nICJVc2luZyB0aGUgbG93ZXIgYm91bmQgZm9yIHVu c3BlY2lmaWVkIGRpbWVuc2lvbnMgaW4gYXJyYXkgcmVmZXJlbmNlIiB9Ci0rZW5kIHByb2dyYW0K LWRpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL2FycmF5XzcuZjkwIGIvZ2Nj L3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9hcnJheV83LmY5MAotbmV3IGZpbGUgbW9kZSAxMDA2NDQK LWluZGV4IDAwMDAwMDAwMDAwLi41NTg4YTViZDAyZAotLS0tIC9kZXYvbnVsbAotKysrIGIvZ2Nj L3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9hcnJheV83LmY5MAotQEAgLTAsMCArMSwyMyBAQAotKyEg eyBkZy1kbyBydW4gfQotKyEgeyBkZy1vcHRpb25zICItZmRlYy1hZGQtbWlzc2luZy1pbmRleGVz IC1XbWlzc2luZy1pbmRleCIgfSEKLSshIENoZWNrcyB0aGF0IHVuZGVyLXNwZWNpZmllZCBhcnJh eXMgKHJlZmVyZW5jaW5nIGFycmF5cyB3aXRoIGZld2VyCi0rISBkaW1lbnNpb25zIHRoYW4gdGhl IGFycmF5IHNwZWMpIGdlbmVyYXRlcyBhIHdhcm5pbmcuCi0rIQotKyEgQ29udHJpYnV0ZWQgYnkg SmltIE1hY0FydGh1ciA8amltLm1hY2FydGh1ckBjb2RldGhpbmsuY28udWs+Ci0rISBVcGRhdGVk IGJ5IE1hcmsgRWdnbGVzdG9uIDxtYXJrLmVnZ2xlc3RvbkBjb2RldGhpbmsuY28udWs+Ci0rIQot KwotK3Byb2dyYW0gdW5kZXJfc3BlY2lmaWVkX2FycmF5Ci0rICAgIGludGVnZXIgY2hlc3Nib2Fy ZCg4LDgpCi0rICAgIGludGVnZXIgY2hlc3Nib2FyZDNkKDgsOCwzOjUpCi0rICAgIGNoZXNzYm9h cmQoMywxKSA9IDUKLSsgICAgY2hlc3Nib2FyZCgzLDIpID0gNTUKLSsgICAgY2hlc3Nib2FyZDNk KDQsMSwzKSA9IDYKLSsgICAgY2hlc3Nib2FyZDNkKDQsMSw0KSA9IDY2Ci0rICAgIGNoZXNzYm9h cmQzZCg0LDQsMykgPSA3Ci0rICAgIGNoZXNzYm9hcmQzZCg0LDQsNCkgPSA3NwotKyAgCi0rICAg IGlmIChjaGVzc2JvYXJkKDMpLm5lLjUpIHN0b3AgMSAgISB7IGRnLXdhcm5pbmcgIlVzaW5nIHRo ZSBsb3dlciBib3VuZCBmb3IgdW5zcGVjaWZpZWQgZGltZW5zaW9ucyBpbiBhcnJheSByZWZlcmVu Y2UiIH0KLSsgICAgaWYgKGNoZXNzYm9hcmQzZCg0KS5uZS42KSBzdG9wIDIgICEgeyBkZy13YXJu aW5nICJVc2luZyB0aGUgbG93ZXIgYm91bmQgZm9yIHVuc3BlY2lmaWVkIGRpbWVuc2lvbnMgaW4g YXJyYXkgcmVmZXJlbmNlIiB9Ci0rICAgIGlmIChjaGVzc2JvYXJkM2QoNCw0KS5uZS43KSBzdG9w IDMgICEgeyBkZy13YXJuaW5nICJVc2luZyB0aGUgbG93ZXIgYm91bmQgZm9yIHVuc3BlY2lmaWVk IGRpbWVuc2lvbnMgaW4gYXJyYXkgcmVmZXJlbmNlIiB9Ci0rZW5kIHByb2dyYW0KLWRpZmYgLS1n aXQgYS9nY2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL2FycmF5XzguZjkwIGIvZ2NjL3Rlc3RzdWl0 ZS9nZm9ydHJhbi5kZy9hcnJheV84LmY5MAotbmV3IGZpbGUgbW9kZSAxMDA2NDQKLWluZGV4IDAw MDAwMDAwMDAwLi5mMGQyZWY1ZTM3ZAotLS0tIC9kZXYvbnVsbAotKysrIGIvZ2NjL3Rlc3RzdWl0 ZS9nZm9ydHJhbi5kZy9hcnJheV84LmY5MAotQEAgLTAsMCArMSwyMyBAQAotKyEgeyBkZy1kbyBj b21waWxlIH0KLSshIHsgZGctb3B0aW9ucyAiLWZkZWMgLWZuby1kZWMtYWRkLW1pc3NpbmctaW5k ZXhlcyIgfSEKLSshIENoZWNrcyB0aGF0IHVuZGVyLXNwZWNpZmllZCBhcnJheXMgKHJlZmVyZW5j aW5nIGFycmF5cyB3aXRoIGZld2VyCi0rISBkaW1lbnNpb25zIHRoYW4gdGhlIGFycmF5IHNwZWMp IGdlbmVyYXRlcyBhIHdhcm5pbmcuCi0rIQotKyEgQ29udHJpYnV0ZWQgYnkgSmltIE1hY0FydGh1 ciA8amltLm1hY2FydGh1ckBjb2RldGhpbmsuY28udWs+Ci0rISBVcGRhdGVkIGJ5IE1hcmsgRWdn bGVzdG9uIDxtYXJrLmVnZ2xlc3RvbkBjb2RldGhpbmsuY28udWs+Ci0rIQotKwotK3Byb2dyYW0g dW5kZXJfc3BlY2lmaWVkX2FycmF5Ci0rICAgIGludGVnZXIgY2hlc3Nib2FyZCg4LDgpCi0rICAg IGludGVnZXIgY2hlc3Nib2FyZDNkKDgsOCwzOjUpCi0rICAgIGNoZXNzYm9hcmQoMywxKSA9IDUK LSsgICAgY2hlc3Nib2FyZCgzLDIpID0gNTUKLSsgICAgY2hlc3Nib2FyZDNkKDQsMSwzKSA9IDYK LSsgICAgY2hlc3Nib2FyZDNkKDQsMSw0KSA9IDY2Ci0rICAgIGNoZXNzYm9hcmQzZCg0LDQsMykg PSA3Ci0rICAgIGNoZXNzYm9hcmQzZCg0LDQsNCkgPSA3NwotKyAgCi0rICAgIGlmIChjaGVzc2Jv YXJkKDMpLm5lLjUpIHN0b3AgMSAgISB7IGRnLWVycm9yICJSYW5rIG1pc21hdGNoIiB9Ci0rICAg IGlmIChjaGVzc2JvYXJkM2QoNCkubmUuNikgc3RvcCAyICAhIHsgZGctZXJyb3IgIlJhbmsgbWlz bWF0Y2giIH0KLSsgICAgaWYgKGNoZXNzYm9hcmQzZCg0LDQpLm5lLjcpIHN0b3AgMyAgISB7IGRn LWVycm9yICJSYW5rIG1pc21hdGNoIiB9Ci0rZW5kIHByb2dyYW0KLS0tIAotMi4yNy4wCi0KCmRp ZmYgLS1naXQgYS9nY2MxMi1mb3J0cmFuLWZkZWMtaWNoYXIucGF0Y2ggYi9nY2MxMi1mb3J0cmFu LWZkZWMtaWNoYXIucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDkwMGIwNTQu LjAwMDAwMDAKLS0tIGEvZ2NjMTItZm9ydHJhbi1mZGVjLWljaGFyLnBhdGNoCisrKyAvZGV2L251 bGwKQEAgLTEsNzggKzAsMCBAQAotRnJvbSBmODgzYWMyMDliMGZlZWE4NjAzNTRjYjRlZjdmZjA2 ZGM4MDYzZmFiIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogTWFyayBFZ2dsZXN0b24g PG1hcmtlZ2dsZXN0b25AZ2NjLmdudS5vcmc+Ci1EYXRlOiBGcmksIDIyIEphbiAyMDIxIDEyOjUz OjM1ICswMDAwCi1TdWJqZWN0OiBbUEFUQ0ggMDMvMTBdIEFsbG93IG1vcmUgdGhhbiBvbmUgY2hh cmFjdGVyIGFzIGFyZ3VtZW50IHRvIElDSEFSCi0KLVVzZSAtZmRlYyB0byBlbmFibGUuCi0tLS0K LSBnY2MvZm9ydHJhbi9jaGVjay5jYyAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgMiArLQot IGdjYy9mb3J0cmFuL3NpbXBsaWZ5LmNjICAgICAgICAgICAgICAgICAgICAgICB8ICA0ICsrLS0K LSAuLi4vZ2ZvcnRyYW4uZGcvZGVjX2ljaGFyX3dpdGhfc3RyaW5nXzEuZiAgICAgfCAyMSArKysr KysrKysrKysrKysrKysrCi0gMyBmaWxlcyBjaGFuZ2VkLCAyNCBpbnNlcnRpb25zKCspLCAzIGRl bGV0aW9ucygtKQotIGNyZWF0ZSBtb2RlIDEwMDY0NCBnY2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRn L2RlY19pY2hhcl93aXRoX3N0cmluZ18xLmYKLQotZGlmZiAtLWdpdCBhL2djYy9mb3J0cmFuL2No ZWNrLmNjIGIvZ2NjL2ZvcnRyYW4vY2hlY2suY2MKLWluZGV4IDgyZGI4ZTRlMWIyLi42MjNjMWNj NDcwZSAxMDA2NDQKLS0tLSBhL2djYy9mb3J0cmFuL2NoZWNrLmNjCi0rKysgYi9nY2MvZm9ydHJh bi9jaGVjay5jYwotQEAgLTMxNTcsNyArMzE1Nyw3IEBAIGdmY19jaGVja19pY2hhcl9pYWNoYXIg KGdmY19leHByICpjLCBnZmNfZXhwciAqa2luZCkKLSAgIGVsc2UKLSAgICAgcmV0dXJuIHRydWU7 Ci0gCi0tICBpZiAoaSAhPSAxKQotKyAgaWYgKGkgIT0gMSAmJiAhZmxhZ19kZWMpCi0gICAgIHsK LSAgICAgICBnZmNfZXJyb3IgKCJBcmd1bWVudCBvZiAlcyBhdCAlTCBtdXN0IGJlIG9mIGxlbmd0 aCBvbmUiLAotIAkJIGdmY19jdXJyZW50X2ludHJpbnNpYywgJmMtPndoZXJlKTsKLWRpZmYgLS1n aXQgYS9nY2MvZm9ydHJhbi9zaW1wbGlmeS5jYyBiL2djYy9mb3J0cmFuL3NpbXBsaWZ5LmNjCi1p bmRleCAyMzMxN2EyZTJkOS4uOTkwMDU3MjQyNGYgMTAwNjQ0Ci0tLS0gYS9nY2MvZm9ydHJhbi9z aW1wbGlmeS5jYwotKysrIGIvZ2NjL2ZvcnRyYW4vc2ltcGxpZnkuY2MKLUBAIC0zMjYxLDcgKzMy NjEsNyBAQCBnZmNfc2ltcGxpZnlfaWFjaGFyIChnZmNfZXhwciAqZSwgZ2ZjX2V4cHIgKmtpbmQp Ci0gICBpZiAoZS0+ZXhwcl90eXBlICE9IEVYUFJfQ09OU1RBTlQpCi0gICAgIHJldHVybiBOVUxM OwotIAotLSAgaWYgKGUtPnZhbHVlLmNoYXJhY3Rlci5sZW5ndGggIT0gMSkKLSsgIGlmIChlLT52 YWx1ZS5jaGFyYWN0ZXIubGVuZ3RoICE9IDEgJiYgIWZsYWdfZGVjKQotICAgICB7Ci0gICAgICAg Z2ZjX2Vycm9yICgiQXJndW1lbnQgb2YgSUFDSEFSIGF0ICVMIG11c3QgYmUgb2YgbGVuZ3RoIG9u ZSIsICZlLT53aGVyZSk7Ci0gICAgICAgcmV0dXJuICZnZmNfYmFkX2V4cHI7Ci1AQCAtMzQ1OSw3 ICszNDU5LDcgQEAgZ2ZjX3NpbXBsaWZ5X2ljaGFyIChnZmNfZXhwciAqZSwgZ2ZjX2V4cHIgKmtp bmQpCi0gICBpZiAoZS0+ZXhwcl90eXBlICE9IEVYUFJfQ09OU1RBTlQpCi0gICAgIHJldHVybiBO VUxMOwotIAotLSAgaWYgKGUtPnZhbHVlLmNoYXJhY3Rlci5sZW5ndGggIT0gMSkKLSsgIGlmIChl LT52YWx1ZS5jaGFyYWN0ZXIubGVuZ3RoICE9IDEgJiYgIWZsYWdfZGVjKQotICAgICB7Ci0gICAg ICAgZ2ZjX2Vycm9yICgiQXJndW1lbnQgb2YgSUNIQVIgYXQgJUwgbXVzdCBiZSBvZiBsZW5ndGgg b25lIiwgJmUtPndoZXJlKTsKLSAgICAgICByZXR1cm4gJmdmY19iYWRfZXhwcjsKLWRpZmYgLS1n aXQgYS9nY2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL2RlY19pY2hhcl93aXRoX3N0cmluZ18xLmYg Yi9nY2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL2RlY19pY2hhcl93aXRoX3N0cmluZ18xLmYKLW5l dyBmaWxlIG1vZGUgMTAwNjQ0Ci1pbmRleCAwMDAwMDAwMDAwMC4uODVlZmNjZWNjMGYKLS0tLSAv ZGV2L251bGwKLSsrKyBiL2djYy90ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcvZGVjX2ljaGFyX3dpdGhf c3RyaW5nXzEuZgotQEAgLTAsMCArMSwyMSBAQAotKyEgeyBkZy1kbyBydW4gfQotKyEgeyBkZy1v cHRpb25zICItZmRlYyIgfQotKyEKLSshIFRlc3QgSUNIQVIgYW5kIElBQ0hBUiB3aXRoIG1vcmUg dGhhbiBvbmUgY2hhcmFjdGVyIGFzIGFyZ3VtZW50Ci0rIQotKyEgVGVzdCBjYXNlIGNvbnRyaWJ1 dGVkIGJ5IEppbSBNYWNBcnRodXIgPGppbS5tYWNhcnRodXJAY29kZXRoaW5rLmNvLnVrPgotKyEg TW9kaWZpZWQgYnkgTWFyayBFZ2dsZXN0b24gPG1hcmsuZWdnbGVzdG9uQGNvZGV0aGluay5jb20+ Ci0rIQotKyAgICAgICAgUFJPR1JBTSBpY2hhcl9tb3JlX3RoYW5fb25lX2NoYXJhY3RlcgotKyAg ICAgICAgICBDSEFSQUNURVIqNCBzdC8nVGVzdCcvCi0rICAgICAgICAgIElOVEVHRVIgaQotKwot KyAgICAgICAgICBpID0gSUNIQVIoc3QpCi0rICAgICAgICAgIGlmIChpLk5FLjg0KSBTVE9QIDEK LSsgICAgICAgICAgaSA9IElBQ0hBUihzdCkKLSsgICAgICAgICAgaWYgKGkuTkUuODQpIFNUT1Ag MgotKyAgICAgICAgICBpID0gSUNIQVIoJ1Rlc3QnKQotKyAgICAgICAgICBpZiAoaS5ORS44NCkg U1RPUCAzCi0rICAgICAgICAgIGkgPSBJQUNIQVIoJ1Rlc3QnKQotKyAgICAgICAgICBpZiAoaS5O RS44NCkgU1RPUCA0Ci0rICAgICAgICBFTkQKLS0tIAotMi4yNy4wCi0KCmRpZmYgLS1naXQgYS9n Y2MxMi1mb3J0cmFuLWZkZWMtbm9uLWludGVnZXItaW5kZXgucGF0Y2ggYi9nY2MxMi1mb3J0cmFu LWZkZWMtbm9uLWludGVnZXItaW5kZXgucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu ZGV4IDJjMTY4ZmUuLjAwMDAwMDAKLS0tIGEvZ2NjMTItZm9ydHJhbi1mZGVjLW5vbi1pbnRlZ2Vy LWluZGV4LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTU4ICswLDAgQEAKLUZyb20gNjdhZWYy NjIzMTFkNmE3NDY3ODZlZTBmNTk3NDhjY2FhN2UxZTcxMSBNb24gU2VwIDE3IDAwOjAwOjAwIDIw MDEKLUZyb206IE1hcmsgRWdnbGVzdG9uIDxtYXJrZWdnbGVzdG9uQGdjYy5nbnUub3JnPgotRGF0 ZTogRnJpLCAyMiBKYW4gMjAyMSAxMzowOTo1NCArMDAwMAotU3ViamVjdDogW1BBVENIIDA0LzEw XSBBbGxvdyBub24taW50ZWdlciBzdWJzdHJpbmcgaW5kZXhlcwotCi1Vc2UgLWZkZWMtbm9uLWlu dGVnZXItaW5kZXggY29tcGlsZXIgZmxhZyB0byBlbmFibGUuIEFsc28gZW5hYmxlZCBieSAtZmRl Yy4KLS0tLQotIGdjYy9mb3J0cmFuL2xhbmcub3B0ICAgICAgICAgICAgICAgICAgICAgICAgICB8 ICA0ICsrKysKLSBnY2MvZm9ydHJhbi9vcHRpb25zLmNjICAgICAgICAgICAgICAgICAgICAgICAg fCAgMSArCi0gZ2NjL2ZvcnRyYW4vcmVzb2x2ZS5jYyAgICAgICAgICAgICAgICAgICAgICAgIHwg MjAgKysrKysrKysrKysrKysrKysrKwotIC4uLi9kZWNfbm90X2ludGVnZXJfc3Vic3RyaW5nX2lu ZGV4ZXNfMS5mICAgICB8IDE4ICsrKysrKysrKysrKysrKysrCi0gLi4uL2RlY19ub3RfaW50ZWdl cl9zdWJzdHJpbmdfaW5kZXhlc18yLmYgICAgIHwgMTggKysrKysrKysrKysrKysrKysKLSAuLi4v ZGVjX25vdF9pbnRlZ2VyX3N1YnN0cmluZ19pbmRleGVzXzMuZiAgICAgfCAxOCArKysrKysrKysr KysrKysrKwotIDYgZmlsZXMgY2hhbmdlZCwgNzkgaW5zZXJ0aW9ucygrKQotIGNyZWF0ZSBtb2Rl IDEwMDY0NCBnY2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL2RlY19ub3RfaW50ZWdlcl9zdWJzdHJp bmdfaW5kZXhlc18xLmYKLSBjcmVhdGUgbW9kZSAxMDA2NDQgZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJh bi5kZy9kZWNfbm90X2ludGVnZXJfc3Vic3RyaW5nX2luZGV4ZXNfMi5mCi0gY3JlYXRlIG1vZGUg MTAwNjQ0IGdjYy90ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcvZGVjX25vdF9pbnRlZ2VyX3N1YnN0cmlu Z19pbmRleGVzXzMuZgotCi1kaWZmIC0tZ2l0IGEvZ2NjL2ZvcnRyYW4vbGFuZy5vcHQgYi9nY2Mv Zm9ydHJhbi9sYW5nLm9wdAotaW5kZXggYzRkYTI0OGYwN2MuLmQ1MjdjMTA2YmQ2IDEwMDY0NAot LS0tIGEvZ2NjL2ZvcnRyYW4vbGFuZy5vcHQKLSsrKyBiL2djYy9mb3J0cmFuL2xhbmcub3B0Ci1A QCAtNDg5LDYgKzQ4OSwxMCBAQCBmZGVjLW1hdGgKLSBGb3J0cmFuIFZhcihmbGFnX2RlY19tYXRo KQotIEVuYWJsZSBsZWdhY3kgbWF0aCBpbnRyaW5zaWNzIGZvciBjb21wYXRpYmlsaXR5LgotIAot K2ZkZWMtbm9uLWludGVnZXItaW5kZXgKLStGb3J0cmFuIFZhcihmbGFnX2RlY19ub25faW50ZWdl cl9pbmRleCkKLStFbmFibGUgc3VwcG9ydCBmb3Igbm9uLWludGVnZXIgc3Vic3RyaW5nIGluZGV4 ZXMuCi0rCi0gZmRlYy1zdHJ1Y3R1cmUKLSBGb3J0cmFuIFZhcihmbGFnX2RlY19zdHJ1Y3R1cmUp Ci0gRW5hYmxlIHN1cHBvcnQgZm9yIERFQyBTVFJVQ1RVUkUvUkVDT1JELgotZGlmZiAtLWdpdCBh L2djYy9mb3J0cmFuL29wdGlvbnMuY2MgYi9nY2MvZm9ydHJhbi9vcHRpb25zLmNjCi1pbmRleCBm MTliYTg3ZjhhMC4uOWEwNDJmNjQ4ODEgMTAwNjQ0Ci0tLS0gYS9nY2MvZm9ydHJhbi9vcHRpb25z LmNjCi0rKysgYi9nY2MvZm9ydHJhbi9vcHRpb25zLmNjCi1AQCAtNzgsNiArNzgsNyBAQCBzZXRf ZGVjX2ZsYWdzIChpbnQgdmFsdWUpCi0gICBTRVRfQklURkxBRyAoZmxhZ19kZWNfYmxhbmtfZm9y bWF0X2l0ZW0sIHZhbHVlLCB2YWx1ZSk7Ci0gICBTRVRfQklURkxBRyAoZmxhZ19kZWNfY2hhcl9j b252ZXJzaW9ucywgdmFsdWUsIHZhbHVlKTsKLSAgIFNFVF9CSVRGTEFHIChmbGFnX2RlY19kdXBs aWNhdGVzLCB2YWx1ZSwgdmFsdWUpOwotKyAgU0VUX0JJVEZMQUcgKGZsYWdfZGVjX25vbl9pbnRl Z2VyX2luZGV4LCB2YWx1ZSwgdmFsdWUpOwotIH0KLSAKLSAvKiBGaW5hbGl6ZSBERUMgZmxhZ3Mu ICAqLwotZGlmZiAtLWdpdCBhL2djYy9mb3J0cmFuL3Jlc29sdmUuY2MgYi9nY2MvZm9ydHJhbi9y ZXNvbHZlLmNjCi1pbmRleCA0YjkwY2I1OTkwMi4uYmMwZGYwZmRiOTkgMTAwNjQ0Ci0tLS0gYS9n Y2MvZm9ydHJhbi9yZXNvbHZlLmNjCi0rKysgYi9nY2MvZm9ydHJhbi9yZXNvbHZlLmNjCi1AQCAt NTEzMSw2ICs1MTMxLDE2IEBAIGdmY19yZXNvbHZlX3N1YnN0cmluZyAoZ2ZjX3JlZiAqcmVmLCBi b29sICplcXVhbF9sZW5ndGgpCi0gICAgICAgaWYgKCFnZmNfcmVzb2x2ZV9leHByIChyZWYtPnUu c3Muc3RhcnQpKQotIAlyZXR1cm4gZmFsc2U7Ci0gCi0rICAgICAgLyogSW4gbGVnYWN5IG1vZGUs IGFsbG93IG5vbi1pbnRlZ2VyIHN0cmluZyBpbmRleGVzIGJ5IGNvbnZlcnRpbmcgKi8KLSsgICAg ICBpZiAoZmxhZ19kZWNfbm9uX2ludGVnZXJfaW5kZXggJiYgcmVmLT51LnNzLnN0YXJ0LT50cy50 eXBlICE9IEJUX0lOVEVHRVIKLSsJICAmJiBnZmNfbnVtZXJpY190cyAoJnJlZi0+dS5zcy5zdGFy dC0+dHMpKQotKwl7Ci0rCSAgZ2ZjX3R5cGVzcGVjIHQ7Ci0rCSAgdC50eXBlID0gQlRfSU5URUdF UjsKLSsJICB0LmtpbmQgPSByZWYtPnUuc3Muc3RhcnQtPnRzLmtpbmQ7Ci0rCSAgZ2ZjX2NvbnZl cnRfdHlwZV93YXJuIChyZWYtPnUuc3Muc3RhcnQsICZ0LCAyLCAxKTsKLSsJfQotKwotICAgICAg IGlmIChyZWYtPnUuc3Muc3RhcnQtPnRzLnR5cGUgIT0gQlRfSU5URUdFUikKLSAJewotIAkgIGdm Y19lcnJvciAoIlN1YnN0cmluZyBzdGFydCBpbmRleCBhdCAlTCBtdXN0IGJlIG9mIHR5cGUgSU5U RUdFUiIsCi1AQCAtNTE2MCw2ICs1MTcwLDE2IEBAIGdmY19yZXNvbHZlX3N1YnN0cmluZyAoZ2Zj X3JlZiAqcmVmLCBib29sICplcXVhbF9sZW5ndGgpCi0gICAgICAgaWYgKCFnZmNfcmVzb2x2ZV9l eHByIChyZWYtPnUuc3MuZW5kKSkKLSAJcmV0dXJuIGZhbHNlOwotIAotKyAgICAgIC8qIE5vbi1p bnRlZ2VyIHN0cmluZyBpbmRleCBlbmRpbmdzLCBhcyBmb3Igc3RhcnQgKi8KLSsgICAgICBpZiAo ZmxhZ19kZWNfbm9uX2ludGVnZXJfaW5kZXggJiYgcmVmLT51LnNzLmVuZC0+dHMudHlwZSAhPSBC VF9JTlRFR0VSCi0rCSAgJiYgZ2ZjX251bWVyaWNfdHMgKCZyZWYtPnUuc3MuZW5kLT50cykpCi0r CXsKLSsJICBnZmNfdHlwZXNwZWMgdDsKLSsJICB0LnR5cGUgPSBCVF9JTlRFR0VSOwotKwkgIHQu a2luZCA9IHJlZi0+dS5zcy5lbmQtPnRzLmtpbmQ7Ci0rCSAgZ2ZjX2NvbnZlcnRfdHlwZV93YXJu IChyZWYtPnUuc3MuZW5kLCAmdCwgMiwgMSk7Ci0rCX0KLSsKLSAgICAgICBpZiAocmVmLT51LnNz LmVuZC0+dHMudHlwZSAhPSBCVF9JTlRFR0VSKQotIAl7Ci0gCSAgZ2ZjX2Vycm9yICgiU3Vic3Ry aW5nIGVuZCBpbmRleCBhdCAlTCBtdXN0IGJlIG9mIHR5cGUgSU5URUdFUiIsCi1kaWZmIC0tZ2l0 IGEvZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9kZWNfbm90X2ludGVnZXJfc3Vic3RyaW5nX2lu ZGV4ZXNfMS5mIGIvZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9kZWNfbm90X2ludGVnZXJfc3Vi c3RyaW5nX2luZGV4ZXNfMS5mCi1uZXcgZmlsZSBtb2RlIDEwMDY0NAotaW5kZXggMDAwMDAwMDAw MDAuLjBiZTI4YWJhYTRiCi0tLS0gL2Rldi9udWxsCi0rKysgYi9nY2MvdGVzdHN1aXRlL2dmb3J0 cmFuLmRnL2RlY19ub3RfaW50ZWdlcl9zdWJzdHJpbmdfaW5kZXhlc18xLmYKLUBAIC0wLDAgKzEs MTggQEAKLSshIHsgZGctZG8gcnVuIH0KLSshIHsgZGctb3B0aW9ucyAiLWZkZWMiIH0KLSshCi0r ISBUZXN0IG5vdCBpbnRlZ2VyIHN1YnN0cmluZyBpbmRleGVzCi0rIQotKyEgVGVzdCBjYXNlIGNv bnRyaWJ1dGVkIGJ5IE1hcmsgRWdnbGVzdG9uIDxtYXJrLmVnZ2xlc3RvbkBjb2RldGhpbmsuY29t PgotKyEKLSsgICAgICAgIFBST0dSQU0gbm90X2ludGVnZXJfc3Vic3RyaW5nX2luZGV4ZXMKLSsg ICAgICAgICAgQ0hBUkFDVEVSKjUgc3QvJ1Rlc3RzJy8KLSsgICAgICAgICAgUkVBTCBpci8xLjAv Ci0rICAgICAgICAgIFJFQUwgaXIyLzQuMC8KLSsKLSsgICAgICAgICAgaWYgKHN0KGlyOjQpLm5l LidUZXN0Jykgc3RvcCAxCi0rICAgICAgICAgIGlmIChzdCgxOmlyMikubmUuJ1Rlc3QnKSBzdG9w IDIKLSsgICAgICAgICAgaWYgKHN0KDEuMDo0KS5uZS4nVGVzdCcpIHN0b3AgMwotKyAgICAgICAg ICBpZiAoc3QoMTo0LjApLm5lLidUZXN0Jykgc3RvcCA0Ci0rICAgICAgICAgIGlmIChzdCgyLjU6 NCkubmUuJ2VzdCcpIHN0b3AgNQotKyAgICAgICAgRU5ECi1kaWZmIC0tZ2l0IGEvZ2NjL3Rlc3Rz dWl0ZS9nZm9ydHJhbi5kZy9kZWNfbm90X2ludGVnZXJfc3Vic3RyaW5nX2luZGV4ZXNfMi5mIGIv Z2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9kZWNfbm90X2ludGVnZXJfc3Vic3RyaW5nX2luZGV4 ZXNfMi5mCi1uZXcgZmlsZSBtb2RlIDEwMDY0NAotaW5kZXggMDAwMDAwMDAwMDAuLjNjZjA1Mjk2 ZDBjCi0tLS0gL2Rldi9udWxsCi0rKysgYi9nY2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL2RlY19u b3RfaW50ZWdlcl9zdWJzdHJpbmdfaW5kZXhlc18yLmYKLUBAIC0wLDAgKzEsMTggQEAKLSshIHsg ZGctZG8gcnVuIH0KLSshIHsgZGctb3B0aW9ucyAiLWZkZWMtbm9uLWludGVnZXItaW5kZXgiIH0K LSshCi0rISBUZXN0IG5vdCBpbnRlZ2VyIHN1YnN0cmluZyBpbmRleGVzCi0rIQotKyEgVGVzdCBj YXNlIGNvbnRyaWJ1dGVkIGJ5IE1hcmsgRWdnbGVzdG9uIDxtYXJrLmVnZ2xlc3RvbkBjb2RldGhp bmsuY29tPgotKyEKLSsgICAgICAgIFBST0dSQU0gbm90X2ludGVnZXJfc3Vic3RyaW5nX2luZGV4 ZXMKLSsgICAgICAgICAgQ0hBUkFDVEVSKjUgc3QvJ1Rlc3RzJy8KLSsgICAgICAgICAgUkVBTCBp ci8xLjAvCi0rICAgICAgICAgIFJFQUwgaXIyLzQuMC8KLSsKLSsgICAgICAgICAgaWYgKHN0KGly OjQpLm5lLidUZXN0Jykgc3RvcCAxCi0rICAgICAgICAgIGlmIChzdCgxOmlyMikubmUuJ1Rlc3Qn KSBzdG9wIDIKLSsgICAgICAgICAgaWYgKHN0KDEuMDo0KS5uZS4nVGVzdCcpIHN0b3AgMwotKyAg ICAgICAgICBpZiAoc3QoMTo0LjApLm5lLidUZXN0Jykgc3RvcCA0Ci0rICAgICAgICAgIGlmIChz dCgyLjU6NCkubmUuJ2VzdCcpIHN0b3AgNQotKyAgICAgICAgRU5ECi1kaWZmIC0tZ2l0IGEvZ2Nj L3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9kZWNfbm90X2ludGVnZXJfc3Vic3RyaW5nX2luZGV4ZXNf My5mIGIvZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9kZWNfbm90X2ludGVnZXJfc3Vic3RyaW5n X2luZGV4ZXNfMy5mCi1uZXcgZmlsZSBtb2RlIDEwMDY0NAotaW5kZXggMDAwMDAwMDAwMDAuLjcw M2RlOTk1ODk3Ci0tLS0gL2Rldi9udWxsCi0rKysgYi9nY2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRn L2RlY19ub3RfaW50ZWdlcl9zdWJzdHJpbmdfaW5kZXhlc18zLmYKLUBAIC0wLDAgKzEsMTggQEAK LSshIHsgZGctZG8gY29tcGlsZSB9Ci0rISB7IGRnLW9wdGlvbnMgIi1mZGVjIC1mbm8tZGVjLW5v bi1pbnRlZ2VyLWluZGV4IiB9Ci0rIQotKyEgVGVzdCBub3QgaW50ZWdlciBzdWJzdHJpbmcgaW5k ZXhlcwotKyEKLSshIFRlc3QgY2FzZSBjb250cmlidXRlZCBieSBNYXJrIEVnZ2xlc3RvbiA8bWFy ay5lZ2dsZXN0b25AY29kZXRoaW5rLmNvbT4KLSshCi0rICAgICAgICBQUk9HUkFNIG5vdF9pbnRl Z2VyX3N1YnN0cmluZ19pbmRleGVzCi0rICAgICAgICAgIENIQVJBQ1RFUio1IHN0LydUZXN0cycv Ci0rICAgICAgICAgIFJFQUwgaXIvMS4wLwotKyAgICAgICAgICBSRUFMIGlyMi80LjAvCi0rCi0r ICAgICAgICAgIGlmIChzdChpcjo0KS5uZS4nVGVzdCcpIHN0b3AgMSAhIHsgZGctZXJyb3IgIlN1 YnN0cmluZyBzdGFydCBpbmRleCIgfQotKyAgICAgICAgICBpZiAoc3QoMTppcjIpLm5lLidUZXN0 Jykgc3RvcCAyICEgeyBkZy1lcnJvciAiU3Vic3RyaW5nIGVuZCBpbmRleCIgfQotKyAgICAgICAg ICBpZiAoc3QoMS4wOjQpLm5lLidUZXN0Jykgc3RvcCAzICEgeyBkZy1lcnJvciAiU3Vic3RyaW5n IHN0YXJ0IGluZGV4IiB9Ci0rICAgICAgICAgIGlmIChzdCgxOjQuMCkubmUuJ1Rlc3QnKSBzdG9w IDQgISB7IGRnLWVycm9yICJTdWJzdHJpbmcgZW5kIGluZGV4IiB9Ci0rICAgICAgICAgIGlmIChz dCgyLjU6NCkubmUuJ2VzdCcpIHN0b3AgNSAhIHsgZGctZXJyb3IgIlN1YnN0cmluZyBzdGFydCBp bmRleCIgfQotKyAgICAgICAgRU5ECi0tLSAKLTIuMjcuMAotCgpkaWZmIC0tZ2l0IGEvZ2NjMTIt Zm9ydHJhbi1mZGVjLW9sZC1pbml0LnBhdGNoIGIvZ2NjMTItZm9ydHJhbi1mZGVjLW9sZC1pbml0 LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkNTY2MWM4Li4wMDAwMDAwCi0t LSBhL2djYzEyLWZvcnRyYW4tZmRlYy1vbGQtaW5pdC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0x LDE4NSArMCwwIEBACi1Gcm9tIDhiY2MwZjg1ZWQxNzE4YzBkZDkwMzNhZDRhMzRkZjE4MWFhYmFm ZmUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBNYXJrIEVnZ2xlc3RvbiA8bWFya2Vn Z2xlc3RvbkBnY2MuZ251Lm9yZz4KLURhdGU6IEZyaSwgMjIgSmFuIDIwMjEgMTM6MTE6MDYgKzAw MDAKLVN1YmplY3Q6IFtQQVRDSCAwNS8xMF0gQWxsb3cgb2xkLXN0eWxlIGluaXRpYWxpemVycyBp biBkZXJpdmVkIHR5cGVzCi0KLVRoaXMgYWxsb3dzIHNpbXBsZSBkZWNsYXJhdGlvbnMgaW4gZGVy aXZlZCB0eXBlcyBhbmQgc3RydWN0dXJlcywgc3VjaCBhczoKLSAgICBMT0dJQ0FMKjEgICAgICBO SUwgICAgICAvMC8KLU9ubHkgc2luZ2xlIHZhbHVlIGV4cHJlc3Npb25zIGFyZSBhbGxvd2VkIGF0 IHRoZSBtb21lbnQuCi0KLVVzZSAtZmRlYy1vbGQtaW5pdCB0byBlbmFibGUuIEFsc28gZW5hYmxl ZCBieSAtZmRlYy4KLS0tLQotIGdjYy9mb3J0cmFuL2RlY2wuY2MgICAgICAgICAgICAgICAgICAg ICAgICAgICB8IDI3ICsrKysrKysrKysrKysrKy0tLS0KLSBnY2MvZm9ydHJhbi9sYW5nLm9wdCAg ICAgICAgICAgICAgICAgICAgICAgICAgfCAgNCArKysKLSBnY2MvZm9ydHJhbi9vcHRpb25zLmNj ICAgICAgICAgICAgICAgICAgICAgICAgfCAgMSArCi0gLi4uZWNfZGVyaXZlZF90eXBlc19pbml0 aWFsaXNlZF9vbGRfc3R5bGVfMS5mIHwgMjUgKysrKysrKysrKysrKysrKysKLSAuLi5lY19kZXJp dmVkX3R5cGVzX2luaXRpYWxpc2VkX29sZF9zdHlsZV8yLmYgfCAyNSArKysrKysrKysrKysrKysr KwotIC4uLmVjX2Rlcml2ZWRfdHlwZXNfaW5pdGlhbGlzZWRfb2xkX3N0eWxlXzMuZiB8IDI2ICsr KysrKysrKysrKysrKysrKwotIDYgZmlsZXMgY2hhbmdlZCwgMTAzIGluc2VydGlvbnMoKyksIDUg ZGVsZXRpb25zKC0pCi0gY3JlYXRlIG1vZGUgMTAwNjQ0IGdjYy90ZXN0c3VpdGUvZ2ZvcnRyYW4u ZGcvZGVjX2Rlcml2ZWRfdHlwZXNfaW5pdGlhbGlzZWRfb2xkX3N0eWxlXzEuZgotIGNyZWF0ZSBt b2RlIDEwMDY0NCBnY2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL2RlY19kZXJpdmVkX3R5cGVzX2lu aXRpYWxpc2VkX29sZF9zdHlsZV8yLmYKLSBjcmVhdGUgbW9kZSAxMDA2NDQgZ2NjL3Rlc3RzdWl0 ZS9nZm9ydHJhbi5kZy9kZWNfZGVyaXZlZF90eXBlc19pbml0aWFsaXNlZF9vbGRfc3R5bGVfMy5m Ci0KLWRpZmYgLS1naXQgYS9nY2MvZm9ydHJhbi9kZWNsLmNjIGIvZ2NjL2ZvcnRyYW4vZGVjbC5j YwotaW5kZXggNzIzOTE1ODIyZjMuLjVjOGMxYjc5ODFiIDEwMDY0NAotLS0tIGEvZ2NjL2ZvcnRy YW4vZGVjbC5jYwotKysrIGIvZ2NjL2ZvcnRyYW4vZGVjbC5jYwotQEAgLTI4MjcsMTIgKzI4Mjcs MjkgQEAgdmFyaWFibGVfZGVjbCAoaW50IGVsZW0pCi0gICAgICAgICAgYnV0IG5vdCBjb21wb25l bnRzIG9mIGRlcml2ZWQgdHlwZXMuICAqLwotICAgICAgIGVsc2UgaWYgKGdmY19jdXJyZW50X3N0 YXRlICgpID09IENPTVBfREVSSVZFRCkKLSAJewotLQkgIGdmY19lcnJvciAoIkludmFsaWQgb2xk IHN0eWxlIGluaXRpYWxpemF0aW9uIGZvciBkZXJpdmVkIHR5cGUgIgotLQkJICAgICAiY29tcG9u ZW50IGF0ICVDIik7Ci0tCSAgbSA9IE1BVENIX0VSUk9SOwotLQkgIGdvdG8gY2xlYW51cDsKLSsJ ICBpZiAoZmxhZ19kZWNfb2xkX2luaXQpCi0rCSAgICB7Ci0rCSAgICAgIC8qIEF0dGVtcHQgdG8g bWF0Y2ggYW4gb2xkLXN0eWxlIGluaXRpYWxpemVyIHdoaWNoIGlzIGEgc2ltcGxlCi0rCQkgaW50 ZWdlciBvciBjaGFyYWN0ZXIgZXhwcmVzc2lvbjsgdGhpcyB3aWxsIG5vdCB3b3JrIHdpdGgKLSsJ CSBtdWx0aXBsZSB2YWx1ZXMuICovCi0rCSAgICAgIG0gPSBnZmNfbWF0Y2hfaW5pdF9leHByICgm aW5pdGlhbGl6ZXIpOwotKwkgICAgICBpZiAobSA9PSBNQVRDSF9FUlJPUikKLSsJCWdvdG8gY2xl YW51cDsKLSsJICAgICAgZWxzZSBpZiAobSA9PSBNQVRDSF9ZRVMpCi0rCQl7Ci0rCQkgIG0gPSBn ZmNfbWF0Y2ggKCIvIik7Ci0rCQkgIGlmIChtICE9IE1BVENIX1lFUykKLSsJCSAgICBnb3RvIGNs ZWFudXA7Ci0rCQl9Ci0rCSAgICB9Ci0rCSAgZWxzZQotKwkgICAgewotKwkgICAgICBnZmNfZXJy b3IgKCJJbnZhbGlkIG9sZCBzdHlsZSBpbml0aWFsaXphdGlvbiBmb3IgZGVyaXZlZCB0eXBlICIK LSsJCQkgImNvbXBvbmVudCBhdCAlQyIpOwotKwkgICAgICBtID0gTUFUQ0hfRVJST1I7Ci0rCSAg ICAgIGdvdG8gY2xlYW51cDsKLSsJICAgIH0KLSAJfQotLQotICAgICAgIC8qIEZvciBzdHJ1Y3R1 cmUgY29tcG9uZW50cywgcmVhZCB0aGUgaW5pdGlhbGl6ZXIgYXMgYSBzcGVjaWFsCi0gICAgICAg ICAgZXhwcmVzc2lvbiBhbmQgbGV0IHRoZSByZXN0IG9mIHRoaXMgZnVuY3Rpb24gYXBwbHkgdGhl IGluaXRpYWxpemVyCi0gICAgICAgICAgYXMgdXN1YWwuICAqLwotZGlmZiAtLWdpdCBhL2djYy9m b3J0cmFuL2xhbmcub3B0IGIvZ2NjL2ZvcnRyYW4vbGFuZy5vcHQKLWluZGV4IGQ1MjdjMTA2YmQ2 Li4yNWNjOTQ4Njk5YiAxMDA2NDQKLS0tLSBhL2djYy9mb3J0cmFuL2xhbmcub3B0Ci0rKysgYi9n Y2MvZm9ydHJhbi9sYW5nLm9wdAotQEAgLTQ5Myw2ICs0OTMsMTAgQEAgZmRlYy1ub24taW50ZWdl ci1pbmRleAotIEZvcnRyYW4gVmFyKGZsYWdfZGVjX25vbl9pbnRlZ2VyX2luZGV4KQotIEVuYWJs ZSBzdXBwb3J0IGZvciBub24taW50ZWdlciBzdWJzdHJpbmcgaW5kZXhlcy4KLSAKLStmZGVjLW9s ZC1pbml0Ci0rRm9ydHJhbiBWYXIoZmxhZ19kZWNfb2xkX2luaXQpCi0rRW5hYmxlIHN1cHBvcnQg Zm9yIG9sZCBzdHlsZSBpbml0aWFsaXplcnMgaW4gZGVyaXZlZCB0eXBlcy4KLSsKLSBmZGVjLXN0 cnVjdHVyZQotIEZvcnRyYW4gVmFyKGZsYWdfZGVjX3N0cnVjdHVyZSkKLSBFbmFibGUgc3VwcG9y dCBmb3IgREVDIFNUUlVDVFVSRS9SRUNPUkQuCi1kaWZmIC0tZ2l0IGEvZ2NjL2ZvcnRyYW4vb3B0 aW9ucy5jYyBiL2djYy9mb3J0cmFuL29wdGlvbnMuY2MKLWluZGV4IDlhMDQyZjY0ODgxLi5kNmJk MzZjM2E4YSAxMDA2NDQKLS0tLSBhL2djYy9mb3J0cmFuL29wdGlvbnMuY2MKLSsrKyBiL2djYy9m b3J0cmFuL29wdGlvbnMuY2MKLUBAIC03OSw2ICs3OSw3IEBAIHNldF9kZWNfZmxhZ3MgKGludCB2 YWx1ZSkKLSAgIFNFVF9CSVRGTEFHIChmbGFnX2RlY19jaGFyX2NvbnZlcnNpb25zLCB2YWx1ZSwg dmFsdWUpOwotICAgU0VUX0JJVEZMQUcgKGZsYWdfZGVjX2R1cGxpY2F0ZXMsIHZhbHVlLCB2YWx1 ZSk7Ci0gICBTRVRfQklURkxBRyAoZmxhZ19kZWNfbm9uX2ludGVnZXJfaW5kZXgsIHZhbHVlLCB2 YWx1ZSk7Ci0rICBTRVRfQklURkxBRyAoZmxhZ19kZWNfb2xkX2luaXQsIHZhbHVlLCB2YWx1ZSk7 Ci0gfQotIAotIC8qIEZpbmFsaXplIERFQyBmbGFncy4gICovCi1kaWZmIC0tZ2l0IGEvZ2NjL3Rl c3RzdWl0ZS9nZm9ydHJhbi5kZy9kZWNfZGVyaXZlZF90eXBlc19pbml0aWFsaXNlZF9vbGRfc3R5 bGVfMS5mIGIvZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9kZWNfZGVyaXZlZF90eXBlc19pbml0 aWFsaXNlZF9vbGRfc3R5bGVfMS5mCi1uZXcgZmlsZSBtb2RlIDEwMDY0NAotaW5kZXggMDAwMDAw MDAwMDAuLmVhYzRmOWJmY2YxCi0tLS0gL2Rldi9udWxsCi0rKysgYi9nY2MvdGVzdHN1aXRlL2dm b3J0cmFuLmRnL2RlY19kZXJpdmVkX3R5cGVzX2luaXRpYWxpc2VkX29sZF9zdHlsZV8xLmYKLUBA IC0wLDAgKzEsMjUgQEAKLSshIHsgZGctZG8gcnVuIH0KLSshIHsgZGctb3B0aW9ucyAiLWZkZWMi IH0KLSshCi0rISBUZXN0IG9sZCBzdHlsZSBpbml0aWFsaXplcnMgaW4gZGVyaXZlZCB0eXBlcwot KyEKLSshIENvbnRyaWJ1dGVkIGJ5IEppbSBNYWNBcnRodXIgPGppbS5tYWNhcnRodXJAY29kZXRo aW5rLmNvLnVrPgotKyEgTW9kaWZpZWQgYnkgTWFyayBFZ2dsZXN0b24gPG1hcmsuZWdnbGVzdG9u QGNvZGV0aGluay5jb20+Ci0rIQotKyAgICAgICAgUFJPR1JBTSBzcGVjX2luX3ZhcgotKyAgICAg ICAgICBUWVBFIFNUUlVDVDEKLSsgICAgICAgICAgICBJTlRFR0VSKjQgICAgICBJRCAgICAgICAv OC8KLSsgICAgICAgICAgICBJTlRFR0VSKjQgICAgICBUWVBFICAgICAvNS8KLSsgICAgICAgICAg ICBJTlRFR0VSKjggICAgICBERUZWQUwgICAvMC8KLSsgICAgICAgICAgICBDSEFSQUNURVIqKDUp ICBOQU1FICAgICAvJ3Rlc3RzJy8KLSsgICAgICAgICAgICBMT0dJQ0FMKjEgICAgICBOSUwgICAg ICAvMC8KLSsgICAgICAgICAgRU5EIFRZUEUgU1RSVUNUMQotKwotKyAgICAgICAgICBUWVBFIChT VFJVQ1QxKSBTSU5TVAotKwotKyAgICAgICAgICBJRihTSU5TVCVJRC5ORS44KSBTVE9QIDEKLSsg ICAgICAgICAgSUYoU0lOU1QlVFlQRS5ORS41KSBTVE9QIDIKLSsgICAgICAgICAgSUYoU0lOU1Ql REVGVkFMLk5FLjApIFNUT1AgMwotKyAgICAgICAgICBJRihTSU5TVCVOQU1FLk5FLid0ZXN0cycp IFNUT1AgNAotKyAgICAgICAgICBJRihTSU5TVCVOSUwpIFNUT1AgNQotKyAgICAgICAgRU5ECi1k aWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9kZWNfZGVyaXZlZF90eXBlc19p bml0aWFsaXNlZF9vbGRfc3R5bGVfMi5mIGIvZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9kZWNf ZGVyaXZlZF90eXBlc19pbml0aWFsaXNlZF9vbGRfc3R5bGVfMi5mCi1uZXcgZmlsZSBtb2RlIDEw MDY0NAotaW5kZXggMDAwMDAwMDAwMDAuLmQ5MDRjOGIyOTc0Ci0tLS0gL2Rldi9udWxsCi0rKysg Yi9nY2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL2RlY19kZXJpdmVkX3R5cGVzX2luaXRpYWxpc2Vk X29sZF9zdHlsZV8yLmYKLUBAIC0wLDAgKzEsMjUgQEAKLSshIHsgZGctZG8gcnVuIH0KLSshIHsg ZGctb3B0aW9ucyAiLXN0ZD1sZWdhY3kgLWZkZWMtb2xkLWluaXQiIH0KLSshCi0rISBUZXN0IG9s ZCBzdHlsZSBpbml0aWFsaXplcnMgaW4gZGVyaXZlZCB0eXBlcwotKyEKLSshIENvbnRyaWJ1dGVk IGJ5IEppbSBNYWNBcnRodXIgPGppbS5tYWNhcnRodXJAY29kZXRoaW5rLmNvLnVrPgotKyEgTW9k aWZpZWQgYnkgTWFyayBFZ2dsZXN0b24gPG1hcmsuZWdnbGVzdG9uQGNvZGV0aGluay5jb20+Ci0r IQotKyAgICAgICAgUFJPR1JBTSBzcGVjX2luX3ZhcgotKyAgICAgICAgICBUWVBFIFNUUlVDVDEK LSsgICAgICAgICAgICBJTlRFR0VSKjQgICAgICBJRCAgICAgICAvOC8KLSsgICAgICAgICAgICBJ TlRFR0VSKjQgICAgICBUWVBFICAgICAvNS8KLSsgICAgICAgICAgICBJTlRFR0VSKjggICAgICBE RUZWQUwgICAvMC8KLSsgICAgICAgICAgICBDSEFSQUNURVIqKDUpICBOQU1FICAgICAvJ3Rlc3Rz Jy8KLSsgICAgICAgICAgICBMT0dJQ0FMKjEgICAgICBOSUwgICAgICAvMC8KLSsgICAgICAgICAg RU5EIFRZUEUgU1RSVUNUMQotKwotKyAgICAgICAgICBUWVBFIChTVFJVQ1QxKSBTSU5TVAotKwot KyAgICAgICAgICBJRihTSU5TVCVJRC5ORS44KSBTVE9QIDEKLSsgICAgICAgICAgSUYoU0lOU1Ql VFlQRS5ORS41KSBTVE9QIDIKLSsgICAgICAgICAgSUYoU0lOU1QlREVGVkFMLk5FLjApIFNUT1Ag MwotKyAgICAgICAgICBJRihTSU5TVCVOQU1FLk5FLid0ZXN0cycpIFNUT1AgNAotKyAgICAgICAg ICBJRihTSU5TVCVOSUwpIFNUT1AgNQotKyAgICAgICAgRU5ECi1kaWZmIC0tZ2l0IGEvZ2NjL3Rl c3RzdWl0ZS9nZm9ydHJhbi5kZy9kZWNfZGVyaXZlZF90eXBlc19pbml0aWFsaXNlZF9vbGRfc3R5 bGVfMy5mIGIvZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9kZWNfZGVyaXZlZF90eXBlc19pbml0 aWFsaXNlZF9vbGRfc3R5bGVfMy5mCi1uZXcgZmlsZSBtb2RlIDEwMDY0NAotaW5kZXggMDAwMDAw MDAwMDAuLjU4YzJiNGI2NmNmCi0tLS0gL2Rldi9udWxsCi0rKysgYi9nY2MvdGVzdHN1aXRlL2dm b3J0cmFuLmRnL2RlY19kZXJpdmVkX3R5cGVzX2luaXRpYWxpc2VkX29sZF9zdHlsZV8zLmYKLUBA IC0wLDAgKzEsMjYgQEAKLSshIHsgZGctZG8gY29tcGlsZSB9Ci0rISB7IGRnLW9wdGlvbnMgIi1z dGQ9bGVnYWN5IC1mZGVjIC1mbm8tZGVjLW9sZC1pbml0IiB9Ci0rIQotKyEgVGVzdCBvbGQgc3R5 bGUgaW5pdGlhbGl6ZXJzIGluIGRlcml2ZWQgdHlwZXMKLSshCi0rISBDb250cmlidXRlZCBieSBK aW0gTWFjQXJ0aHVyIDxqaW0ubWFjYXJ0aHVyQGNvZGV0aGluay5jby51az4KLSshIE1vZGlmaWVk IGJ5IE1hcmsgRWdnbGVzdG9uIDxtYXJrLmVnZ2xlc3RvbkBjb2RldGhpbmsuY29tPgotKyEKLSsK LSsgICAgICAgIFBST0dSQU0gc3BlY19pbl92YXIKLSsgICAgICAgICAgVFlQRSBTVFJVQ1QxCi0r ICAgICAgICAgICAgSU5URUdFUio0ICAgICAgSUQgICAgICAgLzgvICEgeyBkZy1lcnJvciAiSW52 YWxpZCBvbGQgc3R5bGUgaW5pdGlhbGl6YXRpb24iIH0KLSsgICAgICAgICAgICBJTlRFR0VSKjQg ICAgICBUWVBFICAgICAvNS8gISB7IGRnLWVycm9yICJJbnZhbGlkIG9sZCBzdHlsZSBpbml0aWFs aXphdGlvbiIgfQotKyAgICAgICAgICAgIElOVEVHRVIqOCAgICAgIERFRlZBTCAgIC8wLyAhIHsg ZGctZXJyb3IgIkludmFsaWQgb2xkIHN0eWxlIGluaXRpYWxpemF0aW9uIiB9Ci0rICAgICAgICAg ICAgQ0hBUkFDVEVSKig1KSAgTkFNRSAgICAgLyd0ZXN0cycvICEgeyBkZy1lcnJvciAiSW52YWxp ZCBvbGQgc3R5bGUgaW5pdGlhbGl6YXRpb24iIH0KLSsgICAgICAgICAgICBMT0dJQ0FMKjEgICAg ICBOSUwgICAgICAvMC8gISB7IGRnLWVycm9yICJJbnZhbGlkIG9sZCBzdHlsZSBpbml0aWFsaXph dGlvbiIgfQotKyAgICAgICAgICBFTkQgVFlQRSBTVFJVQ1QxCi0rCi0rICAgICAgICAgIFRZUEUg KFNUUlVDVDEpIFNJTlNUCi0rCi0rICAgICAgICAgIElGKFNJTlNUJUlELk5FLjgpIFNUT1AgMSAh IHsgZGctZXJyb3IgIidpZCcgYXQgXFwoMVxcKSBpcyBub3QgYSBtZW1iZXIiIH0KLSsgICAgICAg ICAgSUYoU0lOU1QlVFlQRS5ORS41KSBTVE9QIDIgISB7IGRnLWVycm9yICIndHlwZScgYXQgXFwo MVxcKSBpcyBub3QgYSBtZW1iZXIiIH0KLSsgICAgICAgICAgSUYoU0lOU1QlREVGVkFMLk5FLjAp IFNUT1AgMyAgISB7IGRnLWVycm9yICInZGVmdmFsJyBhdCBcXCgxXFwpIGlzIG5vdCBhIG1lbWJl ciIgfQotKyAgICAgICAgICBJRihTSU5TVCVOQU1FLk5FLid0ZXN0cycpIFNUT1AgNCAhIHsgZGct ZXJyb3IgIiduYW1lJyBhdCBcXCgxXFwpIGlzIG5vdCBhIG1lbWJlciIgfQotKyAgICAgICAgICBJ RihTSU5TVCVOSUwpIFNUT1AgNSAhIHsgZGctZXJyb3IgIiduaWwnIGF0IFxcKDFcXCkgaXMgbm90 IGEgbWVtYmVyIiB9Ci0rICAgICAgICBFTkQKLS0tIAotMi4yNy4wCi0KCmRpZmYgLS1naXQgYS9n Y2MxMi1mb3J0cmFuLWZkZWMtb3ZlcnJpZGUta2luZC5wYXRjaCBiL2djYzEyLWZvcnRyYW4tZmRl Yy1vdmVycmlkZS1raW5kLnBhdGNoCmluZGV4IDRkZjZlYWQuLjM3MGZhNTYgMTAwNjQ0Ci0tLSBh L2djYzEyLWZvcnRyYW4tZmRlYy1vdmVycmlkZS1raW5kLnBhdGNoCisrKyBiL2djYzEyLWZvcnRy YW4tZmRlYy1vdmVycmlkZS1raW5kLnBhdGNoCkBAIC0yODEsMjUgKzI4MSwyNSBAQCBkaWZmIC0t Z2l0IGEvZ2NjL2ZvcnRyYW4vbGFuZy5vcHQgYi9nY2MvZm9ydHJhbi9sYW5nLm9wdAogaW5kZXgg MjVjYzk0ODY5OWIuLjRhMjY5ZWJiMjJkIDEwMDY0NAogLS0tIGEvZ2NjL2ZvcnRyYW4vbGFuZy5v cHQKICsrKyBiL2djYy9mb3J0cmFuL2xhbmcub3B0Ci1AQCAtNDkzLDYgKzQ5MywxMCBAQCBmZGVj LW5vbi1pbnRlZ2VyLWluZGV4Ci0gRm9ydHJhbiBWYXIoZmxhZ19kZWNfbm9uX2ludGVnZXJfaW5k ZXgpCi0gRW5hYmxlIHN1cHBvcnQgZm9yIG5vbi1pbnRlZ2VyIHN1YnN0cmluZyBpbmRleGVzLgor QEAgLTUwMiw2ICs1MDIsMTAgQEAgZmRlYy1tYXRoCisgRm9ydHJhbiBWYXIoZmxhZ19kZWNfbWF0 aCkKKyBFbmFibGUgbGVnYWN5IG1hdGggaW50cmluc2ljcyBmb3IgY29tcGF0aWJpbGl0eS4KICAK ICtmZGVjLW92ZXJyaWRlLWtpbmQKICtGb3J0cmFuIFZhcihmbGFnX2RlY19vdmVycmlkZV9raW5k KQogK0VuYWJsZSBzdXBwb3J0IGZvciBwZXIgdmFyaWFibGUga2luZCBzcGVjaWZpY2F0aW9uLgog KwotIGZkZWMtb2xkLWluaXQKLSBGb3J0cmFuIFZhcihmbGFnX2RlY19vbGRfaW5pdCkKLSBFbmFi bGUgc3VwcG9ydCBmb3Igb2xkIHN0eWxlIGluaXRpYWxpemVycyBpbiBkZXJpdmVkIHR5cGVzLgor IGZkZWMtc3RydWN0dXJlCisgRm9ydHJhbiBWYXIoZmxhZ19kZWNfc3RydWN0dXJlKQorIEVuYWJs ZSBzdXBwb3J0IGZvciBERUMgU1RSVUNUVVJFL1JFQ09SRC4KIGRpZmYgLS1naXQgYS9nY2MvZm9y dHJhbi9vcHRpb25zLmNjIGIvZ2NjL2ZvcnRyYW4vb3B0aW9ucy5jYwogaW5kZXggZDZiZDM2YzNh OGEuLmVkYmFiNDgzYjM2IDEwMDY0NAogLS0tIGEvZ2NjL2ZvcnRyYW4vb3B0aW9ucy5jYwogKysr IGIvZ2NjL2ZvcnRyYW4vb3B0aW9ucy5jYwotQEAgLTgwLDYgKzgwLDcgQEAgc2V0X2RlY19mbGFn cyAoaW50IHZhbHVlKQorQEAgLTc4LDYgKzc4LDcgQEAgc2V0X2RlY19mbGFncyAoaW50IHZhbHVl KQorICAgU0VUX0JJVEZMQUcgKGZsYWdfZGVjX2JsYW5rX2Zvcm1hdF9pdGVtLCB2YWx1ZSwgdmFs dWUpOworICAgU0VUX0JJVEZMQUcgKGZsYWdfZGVjX2NoYXJfY29udmVyc2lvbnMsIHZhbHVlLCB2 YWx1ZSk7CiAgICBTRVRfQklURkxBRyAoZmxhZ19kZWNfZHVwbGljYXRlcywgdmFsdWUsIHZhbHVl KTsKLSAgIFNFVF9CSVRGTEFHIChmbGFnX2RlY19ub25faW50ZWdlcl9pbmRleCwgdmFsdWUsIHZh bHVlKTsKLSAgIFNFVF9CSVRGTEFHIChmbGFnX2RlY19vbGRfaW5pdCwgdmFsdWUsIHZhbHVlKTsK ICsgIFNFVF9CSVRGTEFHIChmbGFnX2RlY19vdmVycmlkZV9raW5kLCB2YWx1ZSwgdmFsdWUpOwog IH0KICAKCmRpZmYgLS1naXQgYS9nY2MxMi1mb3J0cmFuLWZkZWMtcHJvbW90aW9uLnBhdGNoIGIv Z2NjMTItZm9ydHJhbi1mZGVjLXByb21vdGlvbi5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2 NDQKaW5kZXggODcwZDYyYS4uMDAwMDAwMAotLS0gYS9nY2MxMi1mb3J0cmFuLWZkZWMtcHJvbW90 aW9uLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMjA5MyArMCwwIEBACi1Gcm9tIDdhMjczMTg4 MThlMzU5YTI3N2YyZmE1ZjdkYzM5MzJkMGZiOTUwZjUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAx Ci1Gcm9tOiBNYXJrIEVnZ2xlc3RvbiA8bWFya2VnZ2xlc3RvbkBnY2MuZ251Lm9yZz4KLURhdGU6 IEZyaSwgMjIgSmFuIDIwMjEgMTQ6NTg6MDcgKzAwMDAKLVN1YmplY3Q6IFtQQVRDSCAwOC8xMF0g U3VwcG9ydCB0eXBlIHByb21vdGlvbiBpbiBjYWxscyB0byBpbnRyaW5zaWNzCi0KLVVzZSAtZmRl Yy1wcm9tb3Rpb24gb3IgLWZkZWMgdG8gZW5hYmxlIHRoaXMgZmVhdHVyZS4KLQotTWVyZ2VkIDIg Y29tbWl0czogd29ya2VkIG9uIGJ5IEJlbiBCcmV3ZXIgPGJlbi5icmV3ZXJAY29kZXRoaW5rLmNv LnVrPiwKLUZyYW5jaXNjbyBSZWRvbmRvIE1hcmNoZW5hIDxmcmFuY2lzY28ubWFyY2hlbmFAY29k ZXRoaW5rLmNvLnVrPiBhbmQKLUplZmYgTGF3IDxsYXdAcmVkaGF0LmNvbT4KLQotUmUtd29ya2Vk IGJ5IE1hcmsgRWdnbGVzdG9uIDxtYXJrLmVnZ2xlc3RvbkBjb2RldGhpbmsuY29tPgotLS0tCi0g Z2NjL2ZvcnRyYW4vY2hlY2suY2MgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDcxICsrKysr LQotIGdjYy9mb3J0cmFuL2ludHJpbnNpYy5jYyAgICAgICAgICAgICAgICAgICAgICB8ICAgNSAr Ci0gZ2NjL2ZvcnRyYW4vaXJlc29sdmUuY2MgICAgICAgICAgICAgICAgICAgICAgIHwgIDkxICsr KystLS0KLSBnY2MvZm9ydHJhbi9sYW5nLm9wdCAgICAgICAgICAgICAgICAgICAgICAgICAgfCAg IDQgKwotIGdjYy9mb3J0cmFuL29wdGlvbnMuY2MgICAgICAgICAgICAgICAgICAgICAgICB8ICAg MSArCi0gZ2NjL2ZvcnRyYW4vc2ltcGxpZnkuY2MgICAgICAgICAgICAgICAgICAgICAgIHwgMjQw ICsrKysrKysrKysrKysrLS0tLQotIC4uLnRyaW5zaWNfaW50X3JlYWxfYXJyYXlfY29uc3RfcHJv bW90aW9uXzEuZiB8ICAxOCArKwotIC4uLnRyaW5zaWNfaW50X3JlYWxfYXJyYXlfY29uc3RfcHJv bW90aW9uXzIuZiB8ICAxOCArKwotIC4uLnRyaW5zaWNfaW50X3JlYWxfYXJyYXlfY29uc3RfcHJv bW90aW9uXzMuZiB8ICAxOCArKwotIC4uLmRlY19pbnRyaW5zaWNfaW50X3JlYWxfY29uc3RfcHJv bW90aW9uXzEuZiB8ICA5MCArKysrKysrCi0gLi4uZGVjX2ludHJpbnNpY19pbnRfcmVhbF9jb25z dF9wcm9tb3Rpb25fMi5mIHwgIDkwICsrKysrKysKLSAuLi5kZWNfaW50cmluc2ljX2ludF9yZWFs X2NvbnN0X3Byb21vdGlvbl8zLmYgfCAgOTIgKysrKysrKwotIC4uLi9kZWNfaW50cmluc2ljX2lu dF9yZWFsX3Byb21vdGlvbl8xLmYgICAgICB8IDEzMCArKysrKysrKysrCi0gLi4uL2RlY19pbnRy aW5zaWNfaW50X3JlYWxfcHJvbW90aW9uXzIuZiAgICAgIHwgMTMwICsrKysrKysrKysKLSAuLi4v ZGVjX2ludHJpbnNpY19pbnRfcmVhbF9wcm9tb3Rpb25fMy5mICAgICAgfCAxMzAgKysrKysrKysr KwotIC4uLi9kZWNfaW50cmluc2ljX2ludF9yZWFsX3Byb21vdGlvbl80LmYgICAgICB8IDExOCAr KysrKysrKysKLSAuLi4vZGVjX2ludHJpbnNpY19pbnRfcmVhbF9wcm9tb3Rpb25fNS5mICAgICAg fCAxMTggKysrKysrKysrCi0gLi4uL2RlY19pbnRyaW5zaWNfaW50X3JlYWxfcHJvbW90aW9uXzYu ZiAgICAgIHwgMTE4ICsrKysrKysrKwotIC4uLi9kZWNfaW50cmluc2ljX2ludF9yZWFsX3Byb21v dGlvbl83LmYgICAgICB8IDExOCArKysrKysrKysKLSAuLi4vZ2ZvcnRyYW4uZGcvZGVjX2tpbmRf cHJvbW90aW9uLTEuZiAgICAgICAgfCAgNDAgKysrCi0gLi4uL2dmb3J0cmFuLmRnL2RlY19raW5k X3Byb21vdGlvbi0yLmYgICAgICAgIHwgIDQwICsrKwotIC4uLi9nZm9ydHJhbi5kZy9kZWNfa2lu ZF9wcm9tb3Rpb24tMy5mICAgICAgICB8ICAzOSArKysKLSAyMiBmaWxlcyBjaGFuZ2VkLCAxNjM5 IGluc2VydGlvbnMoKyksIDgwIGRlbGV0aW9ucygtKQotIGNyZWF0ZSBtb2RlIDEwMDY0NCBnY2Mv dGVzdHN1aXRlL2dmb3J0cmFuLmRnL2RlY19pbnRyaW5zaWNfaW50X3JlYWxfYXJyYXlfY29uc3Rf cHJvbW90aW9uXzEuZgotIGNyZWF0ZSBtb2RlIDEwMDY0NCBnY2MvdGVzdHN1aXRlL2dmb3J0cmFu LmRnL2RlY19pbnRyaW5zaWNfaW50X3JlYWxfYXJyYXlfY29uc3RfcHJvbW90aW9uXzIuZgotIGNy ZWF0ZSBtb2RlIDEwMDY0NCBnY2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL2RlY19pbnRyaW5zaWNf aW50X3JlYWxfYXJyYXlfY29uc3RfcHJvbW90aW9uXzMuZgotIGNyZWF0ZSBtb2RlIDEwMDY0NCBn Y2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL2RlY19pbnRyaW5zaWNfaW50X3JlYWxfY29uc3RfcHJv bW90aW9uXzEuZgotIGNyZWF0ZSBtb2RlIDEwMDY0NCBnY2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRn L2RlY19pbnRyaW5zaWNfaW50X3JlYWxfY29uc3RfcHJvbW90aW9uXzIuZgotIGNyZWF0ZSBtb2Rl IDEwMDY0NCBnY2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL2RlY19pbnRyaW5zaWNfaW50X3JlYWxf Y29uc3RfcHJvbW90aW9uXzMuZgotIGNyZWF0ZSBtb2RlIDEwMDY0NCBnY2MvdGVzdHN1aXRlL2dm b3J0cmFuLmRnL2RlY19pbnRyaW5zaWNfaW50X3JlYWxfcHJvbW90aW9uXzEuZgotIGNyZWF0ZSBt b2RlIDEwMDY0NCBnY2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL2RlY19pbnRyaW5zaWNfaW50X3Jl YWxfcHJvbW90aW9uXzIuZgotIGNyZWF0ZSBtb2RlIDEwMDY0NCBnY2MvdGVzdHN1aXRlL2dmb3J0 cmFuLmRnL2RlY19pbnRyaW5zaWNfaW50X3JlYWxfcHJvbW90aW9uXzMuZgotIGNyZWF0ZSBtb2Rl IDEwMDY0NCBnY2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL2RlY19pbnRyaW5zaWNfaW50X3JlYWxf cHJvbW90aW9uXzQuZgotIGNyZWF0ZSBtb2RlIDEwMDY0NCBnY2MvdGVzdHN1aXRlL2dmb3J0cmFu LmRnL2RlY19pbnRyaW5zaWNfaW50X3JlYWxfcHJvbW90aW9uXzUuZgotIGNyZWF0ZSBtb2RlIDEw MDY0NCBnY2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL2RlY19pbnRyaW5zaWNfaW50X3JlYWxfcHJv bW90aW9uXzYuZgotIGNyZWF0ZSBtb2RlIDEwMDY0NCBnY2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRn L2RlY19pbnRyaW5zaWNfaW50X3JlYWxfcHJvbW90aW9uXzcuZgotIGNyZWF0ZSBtb2RlIDEwMDY0 NCBnY2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL2RlY19raW5kX3Byb21vdGlvbi0xLmYKLSBjcmVh dGUgbW9kZSAxMDA2NDQgZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9kZWNfa2luZF9wcm9tb3Rp b24tMi5mCi0gY3JlYXRlIG1vZGUgMTAwNjQ0IGdjYy90ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcvZGVj X2tpbmRfcHJvbW90aW9uLTMuZgotCi1kaWZmIC0tZ2l0IGEvZ2NjL2ZvcnRyYW4vY2hlY2suY2Mg Yi9nY2MvZm9ydHJhbi9jaGVjay5jYwotaW5kZXggNjIzYzFjYzQ3MGUuLmUyMGE4MzRhODYwIDEw MDY0NAotLS0tIGEvZ2NjL2ZvcnRyYW4vY2hlY2suY2MKLSsrKyBiL2djYy9mb3J0cmFuL2NoZWNr LmNjCi1AQCAtMTM5NiwxMiArMTM5Niw0MCBAQCBnZmNfY2hlY2tfYWxsb2NhdGVkIChnZmNfZXhw ciAqYXJyYXkpCi0gfQotIAotIAotKy8qIENoZWNrIGZ1bmN0aW9uIHdoZXJlIGJvdGggYXJndW1l bnRzIG11c3QgYmUgcmVhbCBvciBpbnRlZ2VyCi0rICAgYW5kIHdhcm4gaWYgdGhleSBhcmUgZGlm ZmVyZW50IHR5cGVzLiAgKi8KLSsKLStib29sCi0rY2hlY2tfaW50X3JlYWxfcHJvbW90aW9uIChn ZmNfZXhwciAqYSwgZ2ZjX2V4cHIgKmIpCi0rewotKyAgZ2ZjX2V4cHIgKmk7Ci0rCi0rICBpZiAo IWludF9vcl9yZWFsX2NoZWNrIChhLCAwKSkKLSsgICAgcmV0dXJuIGZhbHNlOwotKwotKyAgaWYg KCFpbnRfb3JfcmVhbF9jaGVjayAoYiwgMSkpCi0rICAgIHJldHVybiBmYWxzZTsKLSsKLSsgIGlm IChhLT50cy50eXBlICE9IGItPnRzLnR5cGUpCi0rICAgIHsKLSsgICAgICBpID0gKGEtPnRzLnR5 cGUgIT0gQlRfUkVBTCA/IGEgOiBiKTsKLSsgICAgICBnZmNfd2FybmluZ19ub3cgKE9QVF9XY29u dmVyc2lvbiwgIkNvbnZlcnNpb24gZnJvbSBJTlRFR0VSIHRvIFJFQUwgIgotKwkJICAgICAgICJh dCAlTCBtaWdodCBsb3NlIHByZWNpc2lvbiIsICZpLT53aGVyZSk7Ci0rICAgIH0KLSsKLSsgIHJl dHVybiB0cnVlOwotK30KLSsKLSsKLSAvKiBDb21tb24gY2hlY2sgZnVuY3Rpb24gd2hlcmUgdGhl IGZpcnN0IGFyZ3VtZW50IG11c3QgYmUgcmVhbCBvcgotICAgIGludGVnZXIgYW5kIHRoZSBzZWNv bmQgYXJndW1lbnQgbXVzdCBiZSB0aGUgc2FtZSBhcyB0aGUgZmlyc3QuICAqLwotIAotIGJvb2wK LSBnZmNfY2hlY2tfYV9wIChnZmNfZXhwciAqYSwgZ2ZjX2V4cHIgKnApCi0gewotKyAgaWYgKGZs YWdfZGVjX3Byb21vdGlvbikKLSsgICAgcmV0dXJuIGNoZWNrX2ludF9yZWFsX3Byb21vdGlvbiAo YSwgcCk7Ci0rCi0gICBpZiAoIWludF9vcl9yZWFsX2NoZWNrIChhLCAwKSkKLSAgICAgcmV0dXJu IGZhbHNlOwotIAotQEAgLTM3MjQsNiArMzc1Miw0MSBAQCBjaGVja19yZXN0IChidCB0eXBlLCBp bnQga2luZCwgZ2ZjX2FjdHVhbF9hcmdsaXN0ICphcmdsaXN0KQotIH0KLSAKLSAKLSsvKiBDaGVj ayBmdW5jdGlvbiB3aGVyZSBhbGwgYXJndW1lbnRzIG9mIGFuIGFyZ3VtZW50IGxpc3QgbXVzdCBi ZSByZWFsCi0rICAgb3IgaW50ZWdlci4gICovCi0rCi0rc3RhdGljIGJvb2wKLStjaGVja19yZXN0 X2ludF9yZWFsIChnZmNfYWN0dWFsX2FyZ2xpc3QgKmFyZ2xpc3QpCi0rewotKyAgZ2ZjX2FjdHVh bF9hcmdsaXN0ICphcmcsICp0bXA7Ci0rICBnZmNfZXhwciAqeDsKLSsgIGludCBtLCBuOwotKwot KyAgaWYgKCFtaW5fbWF4X2FyZ3MgKGFyZ2xpc3QpKQotKyAgICByZXR1cm4gZmFsc2U7Ci0rCi0r ICBmb3IgKGFyZyA9IGFyZ2xpc3QsIG49MTsgYXJnOyBhcmcgPSBhcmctPm5leHQsIG4rKykKLSsg ICAgewotKyAgICAgIHggPSBhcmctPmV4cHI7Ci0rICAgICAgaWYgKHgtPnRzLnR5cGUgIT0gQlRf SU5URUdFUiAmJiB4LT50cy50eXBlICE9IEJUX1JFQUwpCi0rCXsKLSsJICBnZmNfZXJyb3IgKCIl PGElZCU+IGFyZ3VtZW50IG9mICVxcyBpbnRyaW5zaWMgYXQgJUwgbXVzdCBiZSAiCi0rCQkgICAg ICJJTlRFR0VSIG9yIFJFQUwiLCBuLCBnZmNfY3VycmVudF9pbnRyaW5zaWMsICZ4LT53aGVyZSk7 Ci0rCSAgcmV0dXJuIGZhbHNlOwotKwl9Ci0rCi0rICAgICAgZm9yICh0bXAgPSBhcmdsaXN0LCBt PTE7IHRtcCAhPSBhcmc7IHRtcCA9IHRtcC0+bmV4dCwgbSsrKQotKwlpZiAoIWdmY19jaGVja19j b25mb3JtYW5jZSAodG1wLT5leHByLCB4LAotKwkJCQkgICAgImFyZ3VtZW50cyAnYSVkJyBhbmQg J2ElZCcgZm9yICIKLSsJCQkJICAgICJpbnRyaW5zaWMgJyVzJyIsIG0sIG4sCi0rCQkJCSAgICBn ZmNfY3VycmVudF9pbnRyaW5zaWMpKQotKwkgIHJldHVybiBmYWxzZTsKLSsgICAgfQotKwotKyAg cmV0dXJuIHRydWU7Ci0rfQotKwotKwotIGJvb2wKLSBnZmNfY2hlY2tfbWluX21heCAoZ2ZjX2Fj dHVhbF9hcmdsaXN0ICphcmcpCi0gewotQEAgLTM3NDgsNyArMzgxMSwxMCBAQCBnZmNfY2hlY2tf bWluX21heCAoZ2ZjX2FjdHVhbF9hcmdsaXN0ICphcmcpCi0gICAgICAgcmV0dXJuIGZhbHNlOwot ICAgICB9Ci0gCi0tICByZXR1cm4gY2hlY2tfcmVzdCAoeC0+dHMudHlwZSwgeC0+dHMua2luZCwg YXJnKTsKLSsgIGlmIChmbGFnX2RlY19wcm9tb3Rpb24gJiYgeC0+dHMudHlwZSAhPSBCVF9DSEFS QUNURVIpCi0rICAgIHJldHVybiBjaGVja19yZXN0X2ludF9yZWFsIChhcmcpOwotKyAgZWxzZQot KyAgICByZXR1cm4gY2hlY2tfcmVzdCAoeC0+dHMudHlwZSwgeC0+dHMua2luZCwgYXJnKTsKLSB9 Ci0gCi0gCi1AQCAtNTEyMSw2ICs1MTg3LDkgQEAgZ2ZjX2NoZWNrX3NoaWZ0IChnZmNfZXhwciAq aSwgZ2ZjX2V4cHIgKnNoaWZ0KQotIGJvb2wKLSBnZmNfY2hlY2tfc2lnbiAoZ2ZjX2V4cHIgKmEs IGdmY19leHByICpiKQotIHsKLSsgIGlmIChmbGFnX2RlY19wcm9tb3Rpb24pCi0rICAgIHJldHVy biBjaGVja19pbnRfcmVhbF9wcm9tb3Rpb24gKGEsIGIpOwotKwotICAgaWYgKCFpbnRfb3JfcmVh bF9jaGVjayAoYSwgMCkpCi0gICAgIHJldHVybiBmYWxzZTsKLSAKLWRpZmYgLS1naXQgYS9nY2Mv Zm9ydHJhbi9pbnRyaW5zaWMuY2MgYi9nY2MvZm9ydHJhbi9pbnRyaW5zaWMuY2MKLWluZGV4IGU2 OGVmZjhiZGJiLi44MWIzYTI0YzJiZSAxMDA2NDQKLS0tLSBhL2djYy9mb3J0cmFuL2ludHJpbnNp Yy5jYwotKysrIGIvZ2NjL2ZvcnRyYW4vaW50cmluc2ljLmNjCi1AQCAtNDQ2Nyw2ICs0NDY3LDEx IEBAIGNoZWNrX2FyZ2xpc3QgKGdmY19hY3R1YWxfYXJnbGlzdCAqKmFwLCBnZmNfaW50cmluc2lj X3N5bSAqc3ltLAotICAgICAgIGlmICh0cy5raW5kID09IDApCi0gCXRzLmtpbmQgPSBhY3R1YWwt PmV4cHItPnRzLmtpbmQ7Ci0gCi0rICAgICAgLyogSWYga2luZCBwcm9tb3Rpb24gaXMgYWxsb3dl ZCBkb24ndCBjaGVjayBmb3Iga2luZCBpZiBpdCBpcyBzbWFsbGVyICovCi0rICAgICAgaWYgKGZs YWdfZGVjX3Byb21vdGlvbiAmJiB0cy50eXBlID09IEJUX0lOVEVHRVIpCi0rCWlmIChhY3R1YWwt PmV4cHItPnRzLmtpbmQgPCB0cy5raW5kKQotKwkgIHRzLmtpbmQgPSBhY3R1YWwtPmV4cHItPnRz LmtpbmQ7Ci0rCi0gICAgICAgaWYgKCFnZmNfY29tcGFyZV90eXBlcyAoJnRzLCAmYWN0dWFsLT5l eHByLT50cykpCi0gCXsKLSAJICBpZiAoZXJyb3JfZmxhZykKLWRpZmYgLS1naXQgYS9nY2MvZm9y dHJhbi9pcmVzb2x2ZS5jYyBiL2djYy9mb3J0cmFuL2lyZXNvbHZlLmNjCi1pbmRleCBlMTdmZTQ1 ZjA4MC4uYjljZGFmZjI0OTkgMTAwNjQ0Ci0tLS0gYS9nY2MvZm9ydHJhbi9pcmVzb2x2ZS5jYwot KysrIGIvZ2NjL2ZvcnRyYW4vaXJlc29sdmUuY2MKLUBAIC04MzQsMTkgKzgzNCwyMiBAQCBnZmNf cmVzb2x2ZV9kYmxlIChnZmNfZXhwciAqZiwgZ2ZjX2V4cHIKLSB2b2lkCi0gZ2ZjX3Jlc29sdmVf ZGltIChnZmNfZXhwciAqZiwgZ2ZjX2V4cHIgKmEsIGdmY19leHByICpwKQotIHsKLS0gIGYtPnRz LnR5cGUgPSBhLT50cy50eXBlOwotICAgaWYgKHAgIT0gTlVMTCkKLS0gICAgZi0+dHMua2luZCA9 IGdmY19raW5kX21heCAoYSxwKTsKLS0gIGVsc2UKLS0gICAgZi0+dHMua2luZCA9IGEtPnRzLmtp bmQ7Ci0tCi0tICBpZiAocCAhPSBOVUxMICYmIGEtPnRzLmtpbmQgIT0gcC0+dHMua2luZCkKLSAg ICAgewotLSAgICAgIGlmIChhLT50cy5raW5kID09IGdmY19raW5kX21heCAoYSxwKSkKLS0JZ2Zj X2NvbnZlcnRfdHlwZSAocCwgJmEtPnRzLCAyKTsKLSsgICAgICBmLT50cy5raW5kID0gZ2ZjX2tp bmRfbWF4IChhLHApOwotKyAgICAgIGlmIChhLT50cy50eXBlID09IEJUX1JFQUwgfHwgcC0+dHMu dHlwZSA9PSBCVF9SRUFMKQotKwlmLT50cy50eXBlID0gQlRfUkVBTDsKLSAgICAgICBlbHNlCi0t CWdmY19jb252ZXJ0X3R5cGUgKGEsICZwLT50cywgMik7Ci0rCWYtPnRzLnR5cGUgPSBCVF9JTlRF R0VSOwotKwotKyAgICAgIGlmIChhLT50cy5raW5kICE9IGYtPnRzLmtpbmQgfHwgYS0+dHMudHlw ZSAhPSBmLT50cy50eXBlKQotKwlnZmNfY29udmVydF90eXBlIChhLCAmZi0+dHMsIDIpOwotKwot KyAgICAgIGlmIChwLT50cy5raW5kICE9IGYtPnRzLmtpbmQgfHwgcC0+dHMudHlwZSAhPSBmLT50 cy50eXBlKQotKwlnZmNfY29udmVydF90eXBlIChwLCAmZi0+dHMsIDIpOwotICAgICB9Ci0rICBl bHNlCi0rICAgIGYtPnRzID0gYS0+dHM7Ci0gCi0gICBmLT52YWx1ZS5mdW5jdGlvbi5uYW1lCi0g ICAgID0gZ2ZjX2dldF9zdHJpbmcgKCJfX2RpbV8lYyVkIiwgZ2ZjX3R5cGVfbGV0dGVyIChmLT50 cy50eXBlKSwKLUBAIC0xNjIyLDE0ICsxNjI1LDE3IEBAIGdmY19yZXNvbHZlX21pbm1heCAoY29u c3QgY2hhciAqbmFtZSwgZ2YKLSAgIC8qIEZpbmQgdGhlIGxhcmdlc3QgdHlwZSBraW5kLiAgKi8K LSAgIGZvciAoYSA9IGFyZ3MtPm5leHQ7IGE7IGEgPSBhLT5uZXh0KQotICAgICB7Ci0rICAgICAg aWYgKGEtPmV4cHItPiB0cy50eXBlID09IEJUX1JFQUwpCi0rCWYtPnRzLnR5cGUgPSBCVF9SRUFM OwotKwotICAgICAgIGlmIChhLT5leHByLT50cy5raW5kID4gZi0+dHMua2luZCkKLSAJZi0+dHMu a2luZCA9IGEtPmV4cHItPnRzLmtpbmQ7Ci0gICAgIH0KLSAKLS0gIC8qIENvbnZlcnQgYWxsIHBh cmFtZXRlcnMgdG8gdGhlIHJlcXVpcmVkIGtpbmQuICAqLwotKyAgLyogQ29udmVydCBhbGwgcGFy YW1ldGVycyB0byB0aGUgcmVxdWlyZWQgdHlwZSBhbmQvb3Iga2luZC4gICovCi0gICBmb3IgKGEg PSBhcmdzOyBhOyBhID0gYS0+bmV4dCkKLSAgICAgewotLSAgICAgIGlmIChhLT5leHByLT50cy5r aW5kICE9IGYtPnRzLmtpbmQpCi0rICAgICAgaWYgKGEtPmV4cHItPnRzLnR5cGUgIT0gZi0+dHMu dHlwZSB8fCBhLT5leHByLT50cy5raW5kICE9IGYtPnRzLmtpbmQpCi0gCWdmY19jb252ZXJ0X3R5 cGUgKGEtPmV4cHIsICZmLT50cywgMik7Ci0gICAgIH0KLSAKLUBAIC0yMTMwLDE5ICsyMTM2LDIy IEBAIGdmY19yZXNvbHZlX21pbnZhbCAoZ2ZjX2V4cHIgKmYsIGdmY19leHAKLSB2b2lkCi0gZ2Zj X3Jlc29sdmVfbW9kIChnZmNfZXhwciAqZiwgZ2ZjX2V4cHIgKmEsIGdmY19leHByICpwKQotIHsK LS0gIGYtPnRzLnR5cGUgPSBhLT50cy50eXBlOwotICAgaWYgKHAgIT0gTlVMTCkKLS0gICAgZi0+ dHMua2luZCA9IGdmY19raW5kX21heCAoYSxwKTsKLS0gIGVsc2UKLS0gICAgZi0+dHMua2luZCA9 IGEtPnRzLmtpbmQ7Ci0tCi0tICBpZiAocCAhPSBOVUxMICYmIGEtPnRzLmtpbmQgIT0gcC0+dHMu a2luZCkKLSAgICAgewotLSAgICAgIGlmIChhLT50cy5raW5kID09IGdmY19raW5kX21heCAoYSxw KSkKLS0JZ2ZjX2NvbnZlcnRfdHlwZSAocCwgJmEtPnRzLCAyKTsKLSsgICAgICBmLT50cy5raW5k ID0gZ2ZjX2tpbmRfbWF4IChhLHApOwotKyAgICAgIGlmIChhLT50cy50eXBlID09IEJUX1JFQUwg fHwgcC0+dHMudHlwZSA9PSBCVF9SRUFMKQotKwlmLT50cy50eXBlID0gQlRfUkVBTDsKLSAgICAg ICBlbHNlCi0tCWdmY19jb252ZXJ0X3R5cGUgKGEsICZwLT50cywgMik7Ci0rCWYtPnRzLnR5cGUg PSBCVF9JTlRFR0VSOwotKwotKyAgICAgIGlmIChhLT50cy5raW5kICE9IGYtPnRzLmtpbmQgfHwg YS0+dHMudHlwZSAhPSBmLT50cy50eXBlKQotKwlnZmNfY29udmVydF90eXBlIChhLCAmZi0+dHMs IDIpOwotKwotKyAgICAgIGlmIChwLT50cy5raW5kICE9IGYtPnRzLmtpbmQgfHwgcC0+dHMudHlw ZSAhPSBmLT50cy50eXBlKQotKwlnZmNfY29udmVydF90eXBlIChwLCAmZi0+dHMsIDIpOwotICAg ICB9Ci0rICBlbHNlCi0rICAgIGYtPnRzID0gYS0+dHM7Ci0gCi0gICBmLT52YWx1ZS5mdW5jdGlv bi5uYW1lCi0gICAgID0gZ2ZjX2dldF9zdHJpbmcgKCJfX21vZF8lYyVkIiwgZ2ZjX3R5cGVfbGV0 dGVyIChmLT50cy50eXBlKSwKLUBAIC0yMTUzLDE5ICsyMTYyLDIyIEBAIGdmY19yZXNvbHZlX21v ZCAoZ2ZjX2V4cHIgKmYsIGdmY19leHByICoKLSB2b2lkCi0gZ2ZjX3Jlc29sdmVfbW9kdWxvIChn ZmNfZXhwciAqZiwgZ2ZjX2V4cHIgKmEsIGdmY19leHByICpwKQotIHsKLS0gIGYtPnRzLnR5cGUg PSBhLT50cy50eXBlOwotICAgaWYgKHAgIT0gTlVMTCkKLS0gICAgZi0+dHMua2luZCA9IGdmY19r aW5kX21heCAoYSxwKTsKLS0gIGVsc2UKLS0gICAgZi0+dHMua2luZCA9IGEtPnRzLmtpbmQ7Ci0t Ci0tICBpZiAocCAhPSBOVUxMICYmIGEtPnRzLmtpbmQgIT0gcC0+dHMua2luZCkKLSAgICAgewot LSAgICAgIGlmIChhLT50cy5raW5kID09IGdmY19raW5kX21heCAoYSxwKSkKLS0JZ2ZjX2NvbnZl cnRfdHlwZSAocCwgJmEtPnRzLCAyKTsKLSsgICAgICBmLT50cy5raW5kID0gZ2ZjX2tpbmRfbWF4 IChhLHApOwotKyAgICAgIGlmIChhLT50cy50eXBlID09IEJUX1JFQUwgfHwgcC0+dHMudHlwZSA9 PSBCVF9SRUFMKQotKwlmLT50cy50eXBlID0gQlRfUkVBTDsKLSAgICAgICBlbHNlCi0tCWdmY19j b252ZXJ0X3R5cGUgKGEsICZwLT50cywgMik7Ci0rCWYtPnRzLnR5cGUgPSBCVF9JTlRFR0VSOwot KwotKyAgICAgIGlmIChhLT50cy5raW5kICE9IGYtPnRzLmtpbmQgfHwgYS0+dHMudHlwZSAhPSBm LT50cy50eXBlKQotKwlnZmNfY29udmVydF90eXBlIChhLCAmZi0+dHMsIDIpOwotKwotKyAgICAg IGlmIChwLT50cy5raW5kICE9IGYtPnRzLmtpbmQgfHwgcC0+dHMudHlwZSAhPSBmLT50cy50eXBl KQotKwlnZmNfY29udmVydF90eXBlIChwLCAmZi0+dHMsIDIpOwotICAgICB9Ci0rICBlbHNlCi0r ICAgIGYtPnRzID0gYS0+dHM7Ci0gCi0gICBmLT52YWx1ZS5mdW5jdGlvbi5uYW1lCi0gICAgID0g Z2ZjX2dldF9zdHJpbmcgKCJfX21vZHVsb18lYyVkIiwgZ2ZjX3R5cGVfbGV0dGVyIChmLT50cy50 eXBlKSwKLUBAIC0yNTQzLDkgKzI1NTUsMjYgQEAgZ2ZjX3Jlc29sdmVfc2hpZnQgKGdmY19leHBy ICpmLCBnZmNfZXhwcgotIAotIAotIHZvaWQKLS1nZmNfcmVzb2x2ZV9zaWduIChnZmNfZXhwciAq ZiwgZ2ZjX2V4cHIgKmEsIGdmY19leHByICpiIEFUVFJJQlVURV9VTlVTRUQpCi0rZ2ZjX3Jlc29s dmVfc2lnbiAoZ2ZjX2V4cHIgKmYsIGdmY19leHByICphLCBnZmNfZXhwciAqYikKLSB7Ci0tICBm LT50cyA9IGEtPnRzOwotKyAgaWYgKGIgIT0gTlVMTCkKLSsgICAgewotKyAgICAgIGYtPnRzLmtp bmQgPSBnZmNfa2luZF9tYXggKGEsIGIpOwotKyAgICAgIGlmIChhLT50cy50eXBlID09IEJUX1JF QUwgfHwgYi0+dHMudHlwZSA9PSBCVF9SRUFMKQotKwlmLT50cy50eXBlID0gQlRfUkVBTDsKLSsg ICAgICBlbHNlCi0rCWYtPnRzLnR5cGUgPSBCVF9JTlRFR0VSOwotKwotKyAgICAgIGlmIChhLT50 cy5raW5kICE9IGYtPnRzLmtpbmQgfHwgYS0+dHMudHlwZSAhPSBmLT50cy50eXBlKQotKwlnZmNf Y29udmVydF90eXBlIChhLCAmZi0+dHMsIDIpOwotKwotKyAgICAgIGlmIChiLT50cy5raW5kICE9 IGYtPnRzLmtpbmQgfHwgYi0+dHMudHlwZSAhPSBmLT50cy50eXBlKQotKwlnZmNfY29udmVydF90 eXBlIChiLCAmZi0+dHMsIDIpOwotKyAgICB9Ci0rICBlbHNlCi0rICAgIHsKLSsgICAgICBmLT50 cyA9IGEtPnRzOwotKyAgICB9Ci0gICBmLT52YWx1ZS5mdW5jdGlvbi5uYW1lCi0gICAgID0gZ2Zj X2dldF9zdHJpbmcgKCJfX3NpZ25fJWMlZCIsIGdmY190eXBlX2xldHRlciAoYS0+dHMudHlwZSks Ci0gCQkgICAgICBnZmNfdHlwZV9hYmlfa2luZCAoJmEtPnRzKSk7Ci1kaWZmIC0tZ2l0IGEvZ2Nj L2ZvcnRyYW4vbGFuZy5vcHQgYi9nY2MvZm9ydHJhbi9sYW5nLm9wdAotaW5kZXggZDg4NmMyZjMz ZWQuLjRjYTJmOTNmMmRmIDEwMDY0NAotLS0tIGEvZ2NjL2ZvcnRyYW4vbGFuZy5vcHQKLSsrKyBi L2djYy9mb3J0cmFuL2xhbmcub3B0Ci1AQCAtNTA1LDYgKzUwNSwxMCBAQCBmZGVjLW9sZC1pbml0 Ci0gRm9ydHJhbiBWYXIoZmxhZ19kZWNfb2xkX2luaXQpCi0gRW5hYmxlIHN1cHBvcnQgZm9yIG9s ZCBzdHlsZSBpbml0aWFsaXplcnMgaW4gZGVyaXZlZCB0eXBlcy4KLSAKLStmZGVjLXByb21vdGlv bgotK0ZvcnRyYW4gVmFyKGZsYWdfZGVjX3Byb21vdGlvbikKLStBZGQgc3VwcG9ydCBmb3IgdHlw ZSBwcm9tb3Rpb24gaW4gaW50cmluc2ljIGFyZ3VtZW50cy4KLSsKLSBmZGVjLXN0cnVjdHVyZQot IEZvcnRyYW4gVmFyKGZsYWdfZGVjX3N0cnVjdHVyZSkKLSBFbmFibGUgc3VwcG9ydCBmb3IgREVD IFNUUlVDVFVSRS9SRUNPUkQuCi1kaWZmIC0tZ2l0IGEvZ2NjL2ZvcnRyYW4vb3B0aW9ucy5jYyBi L2djYy9mb3J0cmFuL29wdGlvbnMuY2MKLWluZGV4IGE5NDZjODY3OTBhLi4xNTA3OWM3ZTk1YSAx MDA2NDQKLS0tLSBhL2djYy9mb3J0cmFuL29wdGlvbnMuY2MKLSsrKyBiL2djYy9mb3J0cmFuL29w dGlvbnMuY2MKLUBAIC04Miw2ICs4Miw3IEBAIHNldF9kZWNfZmxhZ3MgKGludCB2YWx1ZSkKLSAg IFNFVF9CSVRGTEFHIChmbGFnX2RlY19vbGRfaW5pdCwgdmFsdWUsIHZhbHVlKTsKLSAgIFNFVF9C SVRGTEFHIChmbGFnX2RlY19vdmVycmlkZV9raW5kLCB2YWx1ZSwgdmFsdWUpOwotICAgU0VUX0JJ VEZMQUcgKGZsYWdfZGVjX25vbl9sb2dpY2FsX2lmLCB2YWx1ZSwgdmFsdWUpOwotKyAgU0VUX0JJ VEZMQUcgKGZsYWdfZGVjX3Byb21vdGlvbiwgdmFsdWUsIHZhbHVlKTsKLSB9Ci0gCi0gLyogRmlu YWxpemUgREVDIGZsYWdzLiAgKi8KLWRpZmYgLS1naXQgYS9nY2MvZm9ydHJhbi9zaW1wbGlmeS5j YyBiL2djYy9mb3J0cmFuL3NpbXBsaWZ5LmNjCi1pbmRleCA5OTAwNTcyNDI0Zi4uMzQxOWUwNmZl YzIgMTAwNjQ0Ci0tLS0gYS9nY2MvZm9ydHJhbi9zaW1wbGlmeS5jYwotKysrIGIvZ2NjL2ZvcnRy YW4vc2ltcGxpZnkuY2MKLUBAIC0yMzMzLDM5ICsyMzMzLDc5IEBAIGdmY19zaW1wbGlmeV9kaWdp dHMgKGdmY19leHByICp4KQotIH0KLSAKLSAKLSsvKiBTaW1wbGlmeSBmdW5jdGlvbiB3aGljaCBz ZXRzIHRoZSBmbG9hdGluZy1wb2ludCB2YWx1ZSBvZiBhciBmcm9tCi0rICAgdGhlIHZhbHVlIG9m IGEgaW5kZXBlbmRlbnRseSBpZiBhIGlzIGludGVnZXIgb2YgcmVhbC4gICovCi0rCi0rc3RhdGlj IHZvaWQKLStzaW1wbGlmeV9pbnRfcmVhbF9wcm9tb3Rpb24gKGNvbnN0IGdmY19leHByICphLCBj b25zdCBnZmNfZXhwciAqYiwgbXBmcl90ICphcikKLSt7Ci0rICBpZiAoYS0+dHMudHlwZSA9PSBC VF9SRUFMKQotKyAgICB7Ci0rICAgICAgbXBmcl9pbml0MiAoKmFyLCAoYS0+dHMua2luZCAqIDgp KTsKLSsgICAgICBtcGZyX3NldCAoKmFyLCBhLT52YWx1ZS5yZWFsLCBHRkNfUk5EX01PREUpOwot KyAgICB9Ci0rICBlbHNlCi0rICAgIHsKLSsgICAgICBtcGZyX2luaXQyICgqYXIsIChiLT50cy5r aW5kICogOCkpOwotKyAgICAgIG1wZnJfc2V0X3ogKCphciwgYS0+dmFsdWUuaW50ZWdlciwgR0ZD X1JORF9NT0RFKTsKLSsgICAgfQotK30KLSsKLSsKLSsvKiBTaW1wbGlmeSBmdW5jdGlvbiB3aGlj aCBwcm9tb3RlcyBhIGFuZCBiIGFyZ3VtZW50cyBmcm9tIGludGVnZXIgdG8gcmVhbCBpZgotKyAg IHJlcXVpcmVkIGluIGFyIGFuZCBiciBmbG9hdGluZy1wb2ludCB2YWx1ZXMuIFRoaXMgZnVuY3Rp b24gcmV0dXJucyB0cnVlIGlmCi0rICAgYSBvciBiIGFyZSByZWFscyBhbmQgZmFsc2Ugb3RoZXJ3 aXNlLiAqLwotKwotK3N0YXRpYyBib29sCi0rc2ltcGxpZnlfaW50X3JlYWxfcHJvbW90aW9uMiAo Y29uc3QgZ2ZjX2V4cHIgKmEsIGNvbnN0IGdmY19leHByICpiLCBtcGZyX3QgKmFyLAotKwkJCSAg ICAgIG1wZnJfdCAqYnIpCi0rewotKyAgaWYgKGEtPnRzLnR5cGUgIT0gQlRfUkVBTCAmJiBiLT50 cy50eXBlICE9IEJUX1JFQUwpCi0rICAgIHJldHVybiBmYWxzZTsKLSsKLSsgIHNpbXBsaWZ5X2lu dF9yZWFsX3Byb21vdGlvbiAoYSwgYiwgYXIpOwotKyAgc2ltcGxpZnlfaW50X3JlYWxfcHJvbW90 aW9uIChiLCBhLCBicik7Ci0rCi0rICByZXR1cm4gdHJ1ZTsKLSt9Ci0rCi0rCi0gZ2ZjX2V4cHIg KgotIGdmY19zaW1wbGlmeV9kaW0gKGdmY19leHByICp4LCBnZmNfZXhwciAqeSkKLSB7Ci0gICBn ZmNfZXhwciAqcmVzdWx0OwotICAgaW50IGtpbmQ7Ci0gCi0rICBtcGZyX3QgeHI7Ci0rICBtcGZy X3QgeXI7Ci0rCi0gICBpZiAoeC0+ZXhwcl90eXBlICE9IEVYUFJfQ09OU1RBTlQgfHwgeS0+ZXhw cl90eXBlICE9IEVYUFJfQ09OU1RBTlQpCi0gICAgIHJldHVybiBOVUxMOwotIAotLSAga2luZCA9 IHgtPnRzLmtpbmQgPiB5LT50cy5raW5kID8geC0+dHMua2luZCA6IHktPnRzLmtpbmQ7Ci0tICBy ZXN1bHQgPSBnZmNfZ2V0X2NvbnN0YW50X2V4cHIgKHgtPnRzLnR5cGUsIGtpbmQsICZ4LT53aGVy ZSk7Ci0tCi0tICBzd2l0Y2ggKHgtPnRzLnR5cGUpCi0rICBpZiAoKHgtPnRzLnR5cGUgIT0gQlRf UkVBTCAmJiB4LT50cy50eXBlICE9IEJUX0lOVEVHRVIpCi0rICAgICAgfHwgKHktPnRzLnR5cGUg IT0gQlRfUkVBTCAmJiB5LT50cy50eXBlICE9IEJUX0lOVEVHRVIpKQotICAgICB7Ci0tICAgICAg Y2FzZSBCVF9JTlRFR0VSOgotLQlpZiAobXB6X2NtcCAoeC0+dmFsdWUuaW50ZWdlciwgeS0+dmFs dWUuaW50ZWdlcikgPiAwKQotLQkgIG1wel9zdWIgKHJlc3VsdC0+dmFsdWUuaW50ZWdlciwgeC0+ dmFsdWUuaW50ZWdlciwgeS0+dmFsdWUuaW50ZWdlcik7Ci0tCWVsc2UKLS0JICBtcHpfc2V0X3Vp IChyZXN1bHQtPnZhbHVlLmludGVnZXIsIDApOwotLQotLQlicmVhazsKLS0KLS0gICAgICBjYXNl IEJUX1JFQUw6Ci0tCWlmIChtcGZyX2NtcCAoeC0+dmFsdWUucmVhbCwgeS0+dmFsdWUucmVhbCkg PiAwKQotLQkgIG1wZnJfc3ViIChyZXN1bHQtPnZhbHVlLnJlYWwsIHgtPnZhbHVlLnJlYWwsIHkt PnZhbHVlLnJlYWwsCi0tCQkgICAgR0ZDX1JORF9NT0RFKTsKLS0JZWxzZQotLQkgIG1wZnJfc2V0 X3VpIChyZXN1bHQtPnZhbHVlLnJlYWwsIDAsIEdGQ19STkRfTU9ERSk7Ci0rICAgICAgZ2ZjX2lu dGVybmFsX2Vycm9yICgiZ2ZjX3NpbXBsaWZ5X2RpbSgpOiBCYWQgYXJndW1lbnRzIik7Ci0rICAg ICAgcmV0dXJuIE5VTEw7Ci0rICAgIH0KLSAKLS0JYnJlYWs7Ci0rICBraW5kID0geC0+dHMua2lu ZCA+IHktPnRzLmtpbmQgPyB4LT50cy5raW5kIDogeS0+dHMua2luZDsKLSAKLS0gICAgICBkZWZh dWx0OgotLQlnZmNfaW50ZXJuYWxfZXJyb3IgKCJnZmNfc2ltcGxpZnlfZGltKCk6IEJhZCB0eXBl Iik7Ci0rICBpZiAoc2ltcGxpZnlfaW50X3JlYWxfcHJvbW90aW9uMiAoeCwgeSwgJnhyLCAmeXIp KQotKyAgICB7Ci0rICAgICAgcmVzdWx0ID0gZ2ZjX2dldF9jb25zdGFudF9leHByIChCVF9SRUFM LCBraW5kLCAmeC0+d2hlcmUpOwotKyAgICAgIGlmIChtcGZyX2NtcCAoeHIsIHlyKSA+IDApCi0r CW1wZnJfc3ViIChyZXN1bHQtPnZhbHVlLnJlYWwsIHhyLCB5ciwgR0ZDX1JORF9NT0RFKTsKLSsg ICAgICBlbHNlCi0rCW1wZnJfc2V0X3VpIChyZXN1bHQtPnZhbHVlLnJlYWwsIDAsIEdGQ19STkRf TU9ERSk7Ci0rICAgIH0KLSsgIGVsc2UKLSsgICAgewotKyAgICAgIHJlc3VsdCA9IGdmY19nZXRf Y29uc3RhbnRfZXhwciAoQlRfSU5URUdFUiwga2luZCwgJngtPndoZXJlKTsKLSsgICAgICBpZiAo bXB6X2NtcCAoeC0+dmFsdWUuaW50ZWdlciwgeS0+dmFsdWUuaW50ZWdlcikgPiAwKQotKwltcHpf c3ViIChyZXN1bHQtPnZhbHVlLmludGVnZXIsIHgtPnZhbHVlLmludGVnZXIsIHktPnZhbHVlLmlu dGVnZXIpOwotKyAgICAgIGVsc2UKLSsJbXB6X3NldF91aSAocmVzdWx0LT52YWx1ZS5pbnRlZ2Vy LCAwKTsKLSAgICAgfQotIAotICAgcmV0dXJuIHJhbmdlX2NoZWNrIChyZXN1bHQsICJESU0iKTsK LUBAIC00OTUzLDYgKzQ5OTMsNzYgQEAgbWluX21heF9jaG9vc2UgKGdmY19leHByICphcmcsIGdm Y19leHByICpleHRyZW11bSwgaW50IHNpZ24sIGJvb2wgYmFja192YWwpCi0gewotICAgaW50IHJl dDsKLSAKLSsgIG1wZnJfdCAqYXJwOwotKyAgbXBmcl90ICplcnA7Ci0rICBtcGZyX3QgYXI7Ci0r ICBtcGZyX3QgZXI7Ci0rCi0rICBpZiAoYXJnLT50cy50eXBlICE9IGV4dHJlbXVtLT50cy50eXBl KQotKyAgICB7Ci0rICAgICAgaWYgKGFyZy0+dHMudHlwZSA9PSBCVF9SRUFMKQotKwl7Ci0rCSAg YXJwID0gJmFyZy0+dmFsdWUucmVhbDsKLSsJfQotKyAgICAgIGVsc2UKLSsJewotKwkgIG1wZnJf aW5pdDIgKGFyLCAoYXJnLT50cy5raW5kICogOCkpOwotKwkgIG1wZnJfc2V0X3ogKGFyLCBhcmct PnZhbHVlLmludGVnZXIsIEdGQ19STkRfTU9ERSk7Ci0rCSAgYXJwID0gJmFyOwotKwl9Ci0rCi0r ICAgICAgaWYgKGV4dHJlbXVtLT50cy50eXBlID09IEJUX1JFQUwpCi0rCXsKLSsJICBlcnAgPSAm ZXh0cmVtdW0tPnZhbHVlLnJlYWw7Ci0rCX0KLSsgICAgICBlbHNlCi0rCXsKLSsJICBtcGZyX2lu aXQyIChlciwgKGV4dHJlbXVtLT50cy5raW5kICogOCkpOwotKwkgIG1wZnJfc2V0X3ogKGVyLCBl eHRyZW11bS0+dmFsdWUuaW50ZWdlciwgR0ZDX1JORF9NT0RFKTsKLSsJICBlcnAgPSAmZXI7Ci0r CX0KLSsKLSsgICAgICBpZiAobXBmcl9uYW5fcCAoKmVycCkpCi0rCXsKLSsJICByZXQgPSAxOwot KwkgIGV4dHJlbXVtLT50cy50eXBlID0gYXJnLT50cy50eXBlOwotKwkgIGV4dHJlbXVtLT50cy5r aW5kID0gYXJnLT50cy5raW5kOwotKwkgIGlmIChhcmctPnRzLnR5cGUgPT0gQlRfSU5URUdFUikK LSsJICAgIHsKLSsJICAgICAgbXB6X2luaXQyIChleHRyZW11bS0+dmFsdWUuaW50ZWdlciwgKGFy Zy0+dHMua2luZCAqIDgpKTsKLSsJICAgICAgbXB6X3NldCAoZXh0cmVtdW0tPnZhbHVlLmludGVn ZXIsIGFyZy0+dmFsdWUuaW50ZWdlcik7Ci0rCSAgICB9Ci0rCSAgZWxzZQotKwkgICAgewotKwkg ICAgICBtcGZyX2luaXQyIChleHRyZW11bS0+dmFsdWUucmVhbCwgKGFyZy0+dHMua2luZCAqIDgp KTsKLSsJICAgICAgbXBmcl9zZXQgKGV4dHJlbXVtLT52YWx1ZS5yZWFsLCAqYXJwLCBHRkNfUk5E X01PREUpOwotKwkgICAgfQotKwl9Ci0rICAgICAgZWxzZSBpZiAobXBmcl9uYW5fcCAoKmFycCkp Ci0rCXJldCA9IC0xOwotKyAgICAgIGVsc2UKLSsJewotKwkgIHJldCA9IG1wZnJfY21wICgqYXJw LCAqZXJwKSAqIHNpZ247Ci0rCSAgaWYgKHJldCA+IDApCi0rCSAgICB7Ci0rCSAgICAgIGV4dHJl bXVtLT50cy50eXBlID0gYXJnLT50cy50eXBlOwotKwkgICAgICBleHRyZW11bS0+dHMua2luZCA9 IGFyZy0+dHMua2luZDsKLSsJICAgICAgaWYgKGFyZy0+dHMudHlwZSA9PSBCVF9JTlRFR0VSKQot KwkJewotKwkJICBtcHpfaW5pdDIgKGV4dHJlbXVtLT52YWx1ZS5pbnRlZ2VyLCAoYXJnLT50cy5r aW5kICogOCkpOwotKwkJICBtcHpfc2V0IChleHRyZW11bS0+dmFsdWUuaW50ZWdlciwgYXJnLT52 YWx1ZS5pbnRlZ2VyKTsKLSsJCX0KLSsJICAgICAgZWxzZQotKwkJewotKwkJICBtcGZyX2luaXQy IChleHRyZW11bS0+dmFsdWUucmVhbCwgKGFyZy0+dHMua2luZCAqIDgpKTsKLSsJCSAgbXBmcl9z ZXQgKGV4dHJlbXVtLT52YWx1ZS5yZWFsLCAqYXJwLCBHRkNfUk5EX01PREUpOwotKwkJfQotKwkg ICAgfQotKwl9Ci0rCi0rICAgICAgcmV0dXJuIHJldDsKLSsgICAgfQotKwotICAgc3dpdGNoIChh cmctPnRzLnR5cGUpCi0gICAgIHsKLSAgICAgICBjYXNlIEJUX0lOVEVHRVI6Ci1AQCAtNTkxMiw3 ICs2MDIyLDkgQEAgZ2ZjX3NpbXBsaWZ5X21vZCAoZ2ZjX2V4cHIgKmEsIGdmY19leHByICpwKQot ICAgZ2ZjX2V4cHIgKnJlc3VsdDsKLSAgIGludCBraW5kOwotIAotLSAgLyogRmlyc3QgY2hlY2sg cC4gICovCi0rICBtcGZyX3QgYXI7Ci0rICBtcGZyX3QgcHI7Ci0rCi0gICBpZiAocC0+ZXhwcl90 eXBlICE9IEVYUFJfQ09OU1RBTlQpCi0gICAgIHJldHVybiBOVUxMOwotIAotQEAgLTU5NDIsMTYg KzYwNTQsMjQgQEAgZ2ZjX3NpbXBsaWZ5X21vZCAoZ2ZjX2V4cHIgKmEsIGdmY19leHByICpwKQot ICAgaWYgKGEtPmV4cHJfdHlwZSAhPSBFWFBSX0NPTlNUQU5UKQotICAgICByZXR1cm4gTlVMTDsK LSAKLSsgIGlmIChhLT50cy50eXBlICE9IEJUX1JFQUwgJiYgYS0+dHMudHlwZSAhPSBCVF9JTlRF R0VSKQotKyAgICB7Ci0rICAgICAgZ2ZjX2ludGVybmFsX2Vycm9yICgiZ2ZjX3NpbXBsaWZ5X21v ZCgpOiBCYWQgYXJndW1lbnRzIik7Ci0rICAgICAgcmV0dXJuIE5VTEw7Ci0rICAgIH0KLSsKLSAg IGtpbmQgPSBhLT50cy5raW5kID4gcC0+dHMua2luZCA/IGEtPnRzLmtpbmQgOiBwLT50cy5raW5k OwotLSAgcmVzdWx0ID0gZ2ZjX2dldF9jb25zdGFudF9leHByIChhLT50cy50eXBlLCBraW5kLCAm YS0+d2hlcmUpOwotIAotLSAgaWYgKGEtPnRzLnR5cGUgPT0gQlRfSU5URUdFUikKLS0gICAgbXB6 X3RkaXZfciAocmVzdWx0LT52YWx1ZS5pbnRlZ2VyLCBhLT52YWx1ZS5pbnRlZ2VyLCBwLT52YWx1 ZS5pbnRlZ2VyKTsKLS0gIGVsc2UKLSsgIGlmIChzaW1wbGlmeV9pbnRfcmVhbF9wcm9tb3Rpb24y IChhLCBwLCAmYXIsICZwcikpCi0gICAgIHsKLSsgICAgICByZXN1bHQgPSBnZmNfZ2V0X2NvbnN0 YW50X2V4cHIgKEJUX1JFQUwsIGtpbmQsICZhLT53aGVyZSk7Ci0gICAgICAgZ2ZjX3NldF9tb2Rl bF9raW5kIChraW5kKTsKLS0gICAgICBtcGZyX2Ztb2QgKHJlc3VsdC0+dmFsdWUucmVhbCwgYS0+ dmFsdWUucmVhbCwgcC0+dmFsdWUucmVhbCwKLS0JCSBHRkNfUk5EX01PREUpOwotKyAgICAgIG1w ZnJfZm1vZCAocmVzdWx0LT52YWx1ZS5yZWFsLCBhciwgcHIsIEdGQ19STkRfTU9ERSk7Ci0rICAg IH0KLSsgIGVsc2UKLSsgICAgewotKyAgICAgIHJlc3VsdCA9IGdmY19nZXRfY29uc3RhbnRfZXhw ciAoQlRfSU5URUdFUiwga2luZCwgJmEtPndoZXJlKTsKLSsgICAgICBtcHpfdGRpdl9yIChyZXN1 bHQtPnZhbHVlLmludGVnZXIsIGEtPnZhbHVlLmludGVnZXIsIHAtPnZhbHVlLmludGVnZXIpOwot ICAgICB9Ci0gCi0gICByZXR1cm4gcmFuZ2VfY2hlY2sgKHJlc3VsdCwgIk1PRCIpOwotQEAgLTU5 NjQsNyArNjA4NCw5IEBAIGdmY19zaW1wbGlmeV9tb2R1bG8gKGdmY19leHByICphLCBnZmNfZXhw ciAqcCkKLSAgIGdmY19leHByICpyZXN1bHQ7Ci0gICBpbnQga2luZDsKLSAKLS0gIC8qIEZpcnN0 IGNoZWNrIHAuICAqLwotKyAgbXBmcl90IGFyOwotKyAgbXBmcl90IHByOwotKwotICAgaWYgKHAt PmV4cHJfdHlwZSAhPSBFWFBSX0NPTlNUQU5UKQotICAgICByZXR1cm4gTlVMTDsKLSAKLUBAIC01 OTkxLDI4ICs2MTEzLDM2IEBAIGdmY19zaW1wbGlmeV9tb2R1bG8gKGdmY19leHByICphLCBnZmNf ZXhwciAqcCkKLSAJZ2ZjX2ludGVybmFsX2Vycm9yICgiZ2ZjX3NpbXBsaWZ5X21vZHVsbygpOiBC YWQgYXJndW1lbnRzIik7Ci0gICAgIH0KLSAKLSsgIGlmIChhLT50cy50eXBlICE9IEJUX1JFQUwg JiYgYS0+dHMudHlwZSAhPSBCVF9JTlRFR0VSKQotKyAgICB7Ci0rICAgICAgZ2ZjX2ludGVybmFs X2Vycm9yICgiZ2ZjX3NpbXBsaWZ5X21vZHVsbygpOiBCYWQgYXJndW1lbnRzIik7Ci0rICAgICAg cmV0dXJuIE5VTEw7Ci0rICAgIH0KLSsKLSAgIGlmIChhLT5leHByX3R5cGUgIT0gRVhQUl9DT05T VEFOVCkKLSAgICAgcmV0dXJuIE5VTEw7Ci0gCi0gICBraW5kID0gYS0+dHMua2luZCA+IHAtPnRz LmtpbmQgPyBhLT50cy5raW5kIDogcC0+dHMua2luZDsKLS0gIHJlc3VsdCA9IGdmY19nZXRfY29u c3RhbnRfZXhwciAoYS0+dHMudHlwZSwga2luZCwgJmEtPndoZXJlKTsKLSAKLS0gIGlmIChhLT50 cy50eXBlID09IEJUX0lOVEVHRVIpCi0tCW1wel9mZGl2X3IgKHJlc3VsdC0+dmFsdWUuaW50ZWdl ciwgYS0+dmFsdWUuaW50ZWdlciwgcC0+dmFsdWUuaW50ZWdlcik7Ci0tICBlbHNlCi0rICBpZiAo c2ltcGxpZnlfaW50X3JlYWxfcHJvbW90aW9uMiAoYSwgcCwgJmFyLCAmcHIpKQotICAgICB7Ci0r ICAgICAgcmVzdWx0ID0gZ2ZjX2dldF9jb25zdGFudF9leHByIChCVF9SRUFMLCBraW5kLCAmYS0+ d2hlcmUpOwotICAgICAgIGdmY19zZXRfbW9kZWxfa2luZCAoa2luZCk7Ci0tICAgICAgbXBmcl9m bW9kIChyZXN1bHQtPnZhbHVlLnJlYWwsIGEtPnZhbHVlLnJlYWwsIHAtPnZhbHVlLnJlYWwsCi0t ICAgICAgICAgICAgICAgICBHRkNfUk5EX01PREUpOwotKyAgICAgIG1wZnJfZm1vZCAocmVzdWx0 LT52YWx1ZS5yZWFsLCBhciwgcHIsIEdGQ19STkRfTU9ERSk7Ci0gICAgICAgaWYgKG1wZnJfY21w X3VpIChyZXN1bHQtPnZhbHVlLnJlYWwsIDApICE9IDApCi0tICAgICAgICB7Ci0tICAgICAgICAg IGlmIChtcGZyX3NpZ25iaXQgKGEtPnZhbHVlLnJlYWwpICE9IG1wZnJfc2lnbmJpdCAocC0+dmFs dWUucmVhbCkpCi0tICAgICAgICAgICAgbXBmcl9hZGQgKHJlc3VsdC0+dmFsdWUucmVhbCwgcmVz dWx0LT52YWx1ZS5yZWFsLCBwLT52YWx1ZS5yZWFsLAotLSAgICAgICAgICAgICAgICAgICAgICBH RkNfUk5EX01PREUpOwotLQkgICAgfQotLQkgIGVsc2UKLS0gICAgICAgIG1wZnJfY29weXNpZ24g KHJlc3VsdC0+dmFsdWUucmVhbCwgcmVzdWx0LT52YWx1ZS5yZWFsLAotLSAgICAgICAgICAgICAg ICAgICAgICAgcC0+dmFsdWUucmVhbCwgR0ZDX1JORF9NT0RFKTsKLSsJewotKwkgIGlmIChtcGZy X3NpZ25iaXQgKGFyKSAhPSBtcGZyX3NpZ25iaXQgKHByKSkKLSsJICAgIG1wZnJfYWRkIChyZXN1 bHQtPnZhbHVlLnJlYWwsIHJlc3VsdC0+dmFsdWUucmVhbCwgcHIsCi0rCQkgICAgICBHRkNfUk5E X01PREUpOwotKwl9Ci0rICAgICAgZWxzZQotKwltcGZyX2NvcHlzaWduIChyZXN1bHQtPnZhbHVl LnJlYWwsIHJlc3VsdC0+dmFsdWUucmVhbCwgcHIsCi0rCQkgICAgICAgR0ZDX1JORF9NT0RFKTsK LSsgICAgfQotKyAgZWxzZQotKyAgICB7Ci0rICAgICAgcmVzdWx0ID0gZ2ZjX2dldF9jb25zdGFu dF9leHByIChCVF9JTlRFR0VSLCBraW5kLCAmYS0+d2hlcmUpOwotKyAgICAgIG1wel9mZGl2X3Ig KHJlc3VsdC0+dmFsdWUuaW50ZWdlciwgYS0+dmFsdWUuaW50ZWdlciwgcC0+dmFsdWUuaW50ZWdl cik7Ci0gICAgIH0KLSAKLSAgIHJldHVybiByYW5nZV9jaGVjayAocmVzdWx0LCAiTU9EVUxPIik7 Ci1AQCAtNzU3OCwyNyArNzcwOCw0MSBAQCBnZmNfZXhwciAqCi0gZ2ZjX3NpbXBsaWZ5X3NpZ24g KGdmY19leHByICp4LCBnZmNfZXhwciAqeSkKLSB7Ci0gICBnZmNfZXhwciAqcmVzdWx0OwotKyAg Ym9vbCBuZWc7Ci0gCi0gICBpZiAoeC0+ZXhwcl90eXBlICE9IEVYUFJfQ09OU1RBTlQgfHwgeS0+ ZXhwcl90eXBlICE9IEVYUFJfQ09OU1RBTlQpCi0gICAgIHJldHVybiBOVUxMOwotIAotICAgcmVz dWx0ID0gZ2ZjX2dldF9jb25zdGFudF9leHByICh4LT50cy50eXBlLCB4LT50cy5raW5kLCAmeC0+ d2hlcmUpOwotIAotKyAgc3dpdGNoICh5LT50cy50eXBlKQotKyAgICB7Ci0rICAgICAgY2FzZSBC VF9JTlRFR0VSOgotKwluZWcgPSAobXB6X3NnbiAoeS0+dmFsdWUuaW50ZWdlcikgPCAwKTsKLSsJ YnJlYWs7Ci0rCi0rICAgICAgY2FzZSBCVF9SRUFMOgotKwluZWcgPSAobXBmcl9zZ24gKHktPnZh bHVlLnJlYWwpIDwgMCk7Ci0rCWJyZWFrOwotKwotKyAgICAgIGRlZmF1bHQ6Ci0rCWdmY19pbnRl cm5hbF9lcnJvciAoIkJhZCB0eXBlIGluIGdmY19zaW1wbGlmeV9zaWduIik7Ci0rICAgIH0KLSsK LSAgIHN3aXRjaCAoeC0+dHMudHlwZSkKLSAgICAgewotICAgICAgIGNhc2UgQlRfSU5URUdFUjoK LSAJbXB6X2FicyAocmVzdWx0LT52YWx1ZS5pbnRlZ2VyLCB4LT52YWx1ZS5pbnRlZ2VyKTsKLS0J aWYgKG1wel9zZ24gKHktPnZhbHVlLmludGVnZXIpIDwgMCkKLSsJaWYgKG5lZykKLSAJICBtcHpf bmVnIChyZXN1bHQtPnZhbHVlLmludGVnZXIsIHJlc3VsdC0+dmFsdWUuaW50ZWdlcik7Ci0gCWJy ZWFrOwotIAotICAgICAgIGNhc2UgQlRfUkVBTDoKLS0JaWYgKGZsYWdfc2lnbl96ZXJvKQotKwlp ZiAoZmxhZ19zaWduX3plcm8gJiYgeS0+dHMudHlwZSA9PSBCVF9SRUFMKQotIAkgIG1wZnJfY29w eXNpZ24gKHJlc3VsdC0+dmFsdWUucmVhbCwgeC0+dmFsdWUucmVhbCwgeS0+dmFsdWUucmVhbCwK LS0JCQlHRkNfUk5EX01PREUpOwotKwkJCSBHRkNfUk5EX01PREUpOwotIAllbHNlCi0tCSAgbXBm cl9zZXRzaWduIChyZXN1bHQtPnZhbHVlLnJlYWwsIHgtPnZhbHVlLnJlYWwsCi0tCQkJbXBmcl9z Z24gKHktPnZhbHVlLnJlYWwpIDwgMCA/IDEgOiAwLCBHRkNfUk5EX01PREUpOwotKwkgIG1wZnJf c2V0c2lnbiAocmVzdWx0LT52YWx1ZS5yZWFsLCB4LT52YWx1ZS5yZWFsLCBuZWcsIEdGQ19STkRf TU9ERSk7Ci0gCWJyZWFrOwotIAotICAgICAgIGRlZmF1bHQ6Ci1kaWZmIC0tZ2l0IGEvZ2NjL3Rl c3RzdWl0ZS9nZm9ydHJhbi5kZy9kZWNfaW50cmluc2ljX2ludF9yZWFsX2FycmF5X2NvbnN0X3By b21vdGlvbl8xLmYgYi9nY2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL2RlY19pbnRyaW5zaWNfaW50 X3JlYWxfYXJyYXlfY29uc3RfcHJvbW90aW9uXzEuZgotbmV3IGZpbGUgbW9kZSAxMDA2NDQKLWlu ZGV4IDAwMDAwMDAwMDAwLi4yNTc2Mzg1MjEzOQotLS0tIC9kZXYvbnVsbAotKysrIGIvZ2NjL3Rl c3RzdWl0ZS9nZm9ydHJhbi5kZy9kZWNfaW50cmluc2ljX2ludF9yZWFsX2FycmF5X2NvbnN0X3By b21vdGlvbl8xLmYKLUBAIC0wLDAgKzEsMTggQEAKLSshIHsgZGctZG8gY29tcGlsZSB9Ci0rISB7 IGRnLW9wdGlvbnMgIi1mZGVjIiB9Ci0rIQotKyEgVGVzdCBwcm9tb3Rpb24gYmV0d2VlbiBpbnRl Z2VycyBhbmQgcmVhbHMgZm9yIG1vZCBhbmQgbW9kdWxvIHdoZXJlCi0rISBBIGlzIGEgY29uc3Rh bnQgYXJyYXkgYW5kIFAgaXMgemVyby4KLSshCi0rISBDb21waWxhdGlvbiBlcnJvcnMgYXJlIGV4 cGVjdGVkCi0rIQotKyEgQ29udHJpYnV0ZWQgYnkgRnJhbmNpc2NvIFJlZG9uZG8gTWFyY2hlbmEg PGZyYW5jaXNjby5tYXJjaGVuYUBjb2RldGhpbmsuY28udWs+Ci0rISAgICAgICAgICAgICBhbmQg SmVmZiBMYXcgPGxhd0ByZWRoYXQuY29tPgotKyEgTW9kaWZpZWQgYnkgTWFyayBFZ2dsZXN0b24g PG1hcmsuZWdnbGVzdG9uQGNvZGV0aGluay5jb20+Ci0rIQotKyAgICAgIHByb2dyYW0gcHJvbW90 aW9uX2ludF9yZWFsX2FycmF5X2NvbnN0Ci0rICAgICAgICAgIHJlYWwgYSgyKSA9IG1vZChbMTIs IDM0XSwgMC4wKSo0ICAgICEgeyBkZy1lcnJvciAic2hhbGwgbm90IGJlIHplcm8iIH0KLSsgICAg ICAgICAgYSA9IG1vZChbMTIuMCwgMzQuMF0sIDApKjQgICAgICAgICAgISB7IGRnLWVycm9yICJz aGFsbCBub3QgYmUgemVybyIgfQotKyAgICAgICAgICByZWFsIGIoMikgPSBtb2R1bG8oWzEyLCAz NF0sIDAuMCkqNCAhIHsgZGctZXJyb3IgInNoYWxsIG5vdCBiZSB6ZXJvIiB9Ci0rICAgICAgICAg IGIgPSBtb2R1bG8oWzEyLjAsIDM0LjBdLCAwKSo0ICAgICAgICEgeyBkZy1lcnJvciAic2hhbGwg bm90IGJlIHplcm8iIH0KLSsgICAgICBlbmQgcHJvZ3JhbQotZGlmZiAtLWdpdCBhL2djYy90ZXN0 c3VpdGUvZ2ZvcnRyYW4uZGcvZGVjX2ludHJpbnNpY19pbnRfcmVhbF9hcnJheV9jb25zdF9wcm9t b3Rpb25fMi5mIGIvZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9kZWNfaW50cmluc2ljX2ludF9y ZWFsX2FycmF5X2NvbnN0X3Byb21vdGlvbl8yLmYKLW5ldyBmaWxlIG1vZGUgMTAwNjQ0Ci1pbmRl eCAwMDAwMDAwMDAwMC4uYjc4YTQ2MDU0ZjQKLS0tLSAvZGV2L251bGwKLSsrKyBiL2djYy90ZXN0 c3VpdGUvZ2ZvcnRyYW4uZGcvZGVjX2ludHJpbnNpY19pbnRfcmVhbF9hcnJheV9jb25zdF9wcm9t b3Rpb25fMi5mCi1AQCAtMCwwICsxLDE4IEBACi0rISB7IGRnLWRvIGNvbXBpbGUgfQotKyEgeyBk Zy1vcHRpb25zICItZmRlYy1wcm9tb3Rpb24iIH0KLSshCi0rISBUZXN0IHByb21vdGlvbiBiZXR3 ZWVuIGludGVnZXJzIGFuZCByZWFscyBmb3IgbW9kIGFuZCBtb2R1bG8gd2hlcmUKLSshIEEgaXMg YSBjb25zdGFudCBhcnJheSBhbmQgUCBpcyB6ZXJvLgotKyEKLSshIENvbXBpbGF0aW9uIGVycm9y cyBhcmUgZXhwZWN0ZWQKLSshCi0rISBDb250cmlidXRlZCBieSBGcmFuY2lzY28gUmVkb25kbyBN YXJjaGVuYSA8ZnJhbmNpc2NvLm1hcmNoZW5hQGNvZGV0aGluay5jby51az4KLSshICAgICAgICAg ICAgIGFuZCBKZWZmIExhdyA8bGF3QHJlZGhhdC5jb20+Ci0rISBNb2RpZmllZCBieSBNYXJrIEVn Z2xlc3RvbiA8bWFyay5lZ2dsZXN0b25AY29kZXRoaW5rLmNvbT4KLSshCi0rICAgICAgcHJvZ3Jh bSBwcm9tb3Rpb25faW50X3JlYWxfYXJyYXlfY29uc3QKLSsgICAgICAgICAgcmVhbCBhKDIpID0g bW9kKFsxMiwgMzRdLCAwLjApKjQgICAgISB7IGRnLWVycm9yICJzaGFsbCBub3QgYmUgemVybyIg fQotKyAgICAgICAgICBhID0gbW9kKFsxMi4wLCAzNC4wXSwgMCkqNCAgICAgICAgICAhIHsgZGct ZXJyb3IgInNoYWxsIG5vdCBiZSB6ZXJvIiB9Ci0rICAgICAgICAgIHJlYWwgYigyKSA9IG1vZHVs byhbMTIsIDM0XSwgMC4wKSo0ICEgeyBkZy1lcnJvciAic2hhbGwgbm90IGJlIHplcm8iIH0KLSsg ICAgICAgICAgYiA9IG1vZHVsbyhbMTIuMCwgMzQuMF0sIDApKjQgICAgICAgISB7IGRnLWVycm9y ICJzaGFsbCBub3QgYmUgemVybyIgfQotKyAgICAgIGVuZCBwcm9ncmFtCi1kaWZmIC0tZ2l0IGEv Z2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9kZWNfaW50cmluc2ljX2ludF9yZWFsX2FycmF5X2Nv bnN0X3Byb21vdGlvbl8zLmYgYi9nY2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL2RlY19pbnRyaW5z aWNfaW50X3JlYWxfYXJyYXlfY29uc3RfcHJvbW90aW9uXzMuZgotbmV3IGZpbGUgbW9kZSAxMDA2 NDQKLWluZGV4IDAwMDAwMDAwMDAwLi4zMThhYjVkYjk3ZQotLS0tIC9kZXYvbnVsbAotKysrIGIv Z2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9kZWNfaW50cmluc2ljX2ludF9yZWFsX2FycmF5X2Nv bnN0X3Byb21vdGlvbl8zLmYKLUBAIC0wLDAgKzEsMTggQEAKLSshIHsgZGctZG8gY29tcGlsZSB9 Ci0rISB7IGRnLW9wdGlvbnMgIi1mZGVjIC1mbm8tZGVjLXByb21vdGlvbiIgfQotKyEKLSshIFRl c3QgcHJvbW90aW9uIGJldHdlZW4gaW50ZWdlcnMgYW5kIHJlYWxzIGZvciBtb2QgYW5kIG1vZHVs byB3aGVyZQotKyEgQSBpcyBhIGNvbnN0YW50IGFycmF5IGFuZCBQIGlzIHplcm8uCi0rIQotKyEg Q29tcGlsYXRpb24gZXJyb3JzIGFyZSBleHBlY3RlZAotKyEKLSshIENvbnRyaWJ1dGVkIGJ5IEZy YW5jaXNjbyBSZWRvbmRvIE1hcmNoZW5hIDxmcmFuY2lzY28ubWFyY2hlbmFAY29kZXRoaW5rLmNv LnVrPgotKyEgICAgICAgICAgICAgYW5kIEplZmYgTGF3IDxsYXdAcmVkaGF0LmNvbT4KLSshIE1v ZGlmaWVkIGJ5IE1hcmsgRWdnbGVzdG9uIDxtYXJrLmVnZ2xlc3RvbkBjb2RldGhpbmsuY29tPgot KyEKLSsgICAgICBwcm9ncmFtIHByb21vdGlvbl9pbnRfcmVhbF9hcnJheV9jb25zdAotKyAgICAg ICAgICByZWFsIGEoMikgPSBtb2QoWzEyLCAzNF0sIDAuMCkqNCAgICAhIHsgZGctZXJyb3IgIidh JyBhbmQgJ3AnIGFyZ3VtZW50cyBvZiAnbW9kJyIgfQotKyAgICAgICAgICBhID0gbW9kKFsxMi4w LCAzNC4wXSwgMCkqNCAgICAgICAgICAhIHsgZGctZXJyb3IgIidhJyBhbmQgJ3AnIGFyZ3VtZW50 cyBvZiAnbW9kJyIgfQotKyAgICAgICAgICByZWFsIGIoMikgPSBtb2R1bG8oWzEyLCAzNF0sIDAu MCkqNCAhIHsgZGctZXJyb3IgIidhJyBhbmQgJ3AnIGFyZ3VtZW50cyBvZiAnbW9kdWxvJyIgfQot KyAgICAgICAgICBiID0gbW9kdWxvKFsxMi4wLCAzNC4wXSwgMCkqNCAgICAgICAhIHsgZGctZXJy b3IgIidhJyBhbmQgJ3AnIGFyZ3VtZW50cyBvZiAnbW9kdWxvJyIgfQotKyAgICAgIGVuZCBwcm9n cmFtCi1kaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9kZWNfaW50cmluc2lj X2ludF9yZWFsX2NvbnN0X3Byb21vdGlvbl8xLmYgYi9nY2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRn L2RlY19pbnRyaW5zaWNfaW50X3JlYWxfY29uc3RfcHJvbW90aW9uXzEuZgotbmV3IGZpbGUgbW9k ZSAxMDA2NDQKLWluZGV4IDAwMDAwMDAwMDAwLi4yN2ViMjU4MmJiMgotLS0tIC9kZXYvbnVsbAot KysrIGIvZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9kZWNfaW50cmluc2ljX2ludF9yZWFsX2Nv bnN0X3Byb21vdGlvbl8xLmYKLUBAIC0wLDAgKzEsOTAgQEAKLSshIHsgZGctZG8gcnVuIH0KLSsh IHsgZGctb3B0aW9ucyAiLWZkZWMgLWZpbml0LXJlYWw9c25hbiIgfQotKyEKLSshIFRlc3QgcHJv bW90aW9uIGJldHdlZW4gaW50ZWdlcnMgYW5kIHJlYWxzIGluIGludHJpbnNpYyBvcGVyYXRpb25z LgotKyEgVGhlc2Ugb3BlcmF0aW9ucyBhcmU6IG1vZCwgbW9kdWxvLCBkaW0sIHNpZ24sIG1pbiwg bWF4LCBtaW5sb2MgYW5kCi0rISBtYXhsb2MuCi0rIQotKyEgQ29udHJpYnV0ZWQgYnkgRnJhbmNp c2NvIFJlZG9uZG8gTWFyY2hlbmEgPGZyYW5jaXNjby5tYXJjaGVuYUBjb2RldGhpbmsuY28udWs+ Ci0rISAgICAgICAgICAgICBhbmQgSmVmZiBMYXcgPGxhd0ByZWRoYXQuY29tPgotKyEgTW9kaWZp ZWQgYnkgTWFyayBFZ2dsZXN0b24gPG1hcmsuZWdnbGVzdG9uQGNvZGV0aGluay5jb20+Ci0rIQot KyAgICAgIFBST0dSQU0gcHJvbW90aW9uX2ludF9yZWFsX2NvbnN0Ci0rICAgICAgICAhIGFycmF5 X25hbiA0dGggcG9zaXRpb24gdmFsdWUgaXMgTkFOCi0rICAgICAgICBSRUFMIGFycmF5X25hbig0 KQotKyAgICAgICAgREFUQSBhcnJheV9uYW4oMSkvLTQuMC8KLSsgICAgICAgIERBVEEgYXJyYXlf bmFuKDIpLzMuMC8KLSsgICAgICAgIERBVEEgYXJyYXlfbmFuKDMpLy0yLwotKwotKyAgICAgICAg SU5URUdFUiBtX2kvMC8KLSsgICAgICAgIFJFQUwgbV9yLzAuMC8KLSsKLSsgICAgICAgIElOVEVH RVIgbWRfaS8wLwotKyAgICAgICAgUkVBTCBtZF9yLzAuMC8KLSsKLSsgICAgICAgIElOVEVHRVIg ZF9pLzAvCi0rICAgICAgICBSRUFMIGRfci8wLjAvCi0rCi0rICAgICAgICBJTlRFR0VSIHNfaS8w LwotKyAgICAgICAgUkVBTCBzX3IvMC4wLwotKwotKyAgICAgICAgSU5URUdFUiBtbl9pLzAvCi0r ICAgICAgICBSRUFMIG1uX3IvMC4wLwotKwotKyAgICAgICAgSU5URUdFUiBteF9pLzAvCi0rICAg ICAgICBSRUFMIG14X3IvMC4wLwotKwotKyAgICAgICAgbV9pID0gTU9EKDQsIDMpCi0rICAgICAg ICBpZiAobV9pIC5uZS4gMSkgU1RPUCAxCi0rICAgICAgICBtX3IgPSBNT0QoNC4wLCAzLjApCi0r ICAgICAgICBpZiAoYWJzKG1fciAtIDEuMCkgPiAxLjBELTYpIFNUT1AgMgotKyAgICAgICAgbV9y ID0gTU9EKDQsIDMuMCkKLSsgICAgICAgIGlmIChhYnMobV9yIC0gMS4wKSA+IDEuMEQtNikgU1RP UCAzCi0rICAgICAgICBtX3IgPSBNT0QoNC4wLCAzKQotKyAgICAgICAgaWYgKGFicyhtX3IgLSAx LjApID4gMS4wRC02KSBTVE9QIDQKLSsKLSsgICAgICAgIG1kX2kgPSBNT0RVTE8oNCwgMykKLSsg ICAgICAgIGlmIChtZF9pIC5uZS4gMSkgU1RPUCA1Ci0rICAgICAgICBtZF9yID0gTU9EVUxPKDQu MCwgMy4wKQotKyAgICAgICAgaWYgKGFicyhtZF9yIC0gMS4wKSA+IDEuMEQtNikgU1RPUCA2Ci0r ICAgICAgICBtZF9yID0gTU9EVUxPKDQsIDMuMCkKLSsgICAgICAgIGlmIChhYnMobWRfciAtIDEu MCkgPiAxLjBELTYpIFNUT1AgNwotKyAgICAgICAgbWRfciA9IE1PRFVMTyg0LjAsIDMpCi0rICAg ICAgICBpZiAoYWJzKG1kX3IgLSAxLjApID4gMS4wRC02KSBTVE9QIDgKLSsKLSsgICAgICAgIGRf aSA9IERJTSg0LCAzKQotKyAgICAgICAgaWYgKGRfaSAubmUuIDEpIFNUT1AgOQotKyAgICAgICAg ZF9yID0gRElNKDQuMCwgMy4wKQotKyAgICAgICAgaWYgKGFicyhkX3IgLSAxLjApID4gMS4wRC02 KSBTVE9QIDEwCi0rICAgICAgICBkX3IgPSBESU0oNC4wLCAzKQotKyAgICAgICAgaWYgKGFicyhk X3IgLSAxLjApID4gMS4wRC02KSBTVE9QIDExCi0rICAgICAgICBkX3IgPSBESU0oMywgNC4wKQot KyAgICAgICAgaWYgKGFicyhkX3IpID4gMS4wRC02KSBTVE9QIDEyCi0rCi0rICAgICAgICBzX2kg PSBTSUdOKC00LCAzKQotKyAgICAgICAgaWYgKHNfaSAubmUuIDQpIFNUT1AgMTMKLSsgICAgICAg IHNfciA9IFNJR04oNC4wLCAtMy4wKQotKyAgICAgICAgaWYgKGFicyhzX3IgLSAoLTQuMCkpID4g MS4wRC02KSBTVE9QIDE0Ci0rICAgICAgICBzX3IgPSBTSUdOKDQuMCwgLTMpCi0rICAgICAgICBp ZiAoYWJzKHNfciAtICgtNC4wKSkgPiAxLjBELTYpIFNUT1AgMTUKLSsgICAgICAgIHNfciA9IFNJ R04oLTQsIDMuMCkKLSsgICAgICAgIGlmIChhYnMoc19yIC0gNC4wKSA+IDEuMEQtNikgU1RPUCAx NgotKwotKyAgICAgICAgbXhfaSA9IE1BWCgtNCwgLTMsIDIsIDEpCi0rICAgICAgICBpZiAobXhf aSAubmUuIDIpIFNUT1AgMTcKLSsgICAgICAgIG14X3IgPSBNQVgoLTQuMCwgLTMuMCwgMi4wLCAx LjApCi0rICAgICAgICBpZiAoYWJzKG14X3IgLSAyLjApID4gMS4wRC02KSBTVE9QIDE4Ci0rICAg ICAgICBteF9yID0gTUFYKC00LCAtMy4wLCAyLjAsIDEpCi0rICAgICAgICBpZiAoYWJzKG14X3Ig LSAyLjApID4gMS4wRC02KSBTVE9QIDE5Ci0rICAgICAgICBteF9pID0gTUFYTE9DKGFycmF5X25h biwgMSkKLSsgICAgICAgIGlmIChteF9pIC5uZS4gMikgU1RPUCAyMAotKwotKyAgICAgICAgbW5f aSA9IE1JTigtNCwgLTMsIDIsIDEpCi0rICAgICAgICBpZiAobW5faSAubmUuIC00KSBTVE9QIDIx Ci0rICAgICAgICBtbl9yID0gTUlOKC00LjAsIC0zLjAsIDIuMCwgMS4wKQotKyAgICAgICAgaWYg KGFicyhtbl9yIC0gKC00LjApKSA+IDEuMEQtNikgU1RPUCAyMgotKyAgICAgICAgbW5fciA9IE1J TigtNCwgLTMuMCwgMi4wLCAxKQotKyAgICAgICAgaWYgKGFicyhtbl9yIC0gKC00LjApKSA+IDEu MEQtNikgU1RPUCAyMwotKyAgICAgICAgbW5faSA9IE1JTkxPQyhhcnJheV9uYW4sIDEpCi0rICAg ICAgICBpZiAobW5faSAubmUuIDEpIFNUT1AgMjQKLSsgICAgICBFTkQgUFJPR1JBTQotZGlmZiAt LWdpdCBhL2djYy90ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcvZGVjX2ludHJpbnNpY19pbnRfcmVhbF9j b25zdF9wcm9tb3Rpb25fMi5mIGIvZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9kZWNfaW50cmlu c2ljX2ludF9yZWFsX2NvbnN0X3Byb21vdGlvbl8yLmYKLW5ldyBmaWxlIG1vZGUgMTAwNjQ0Ci1p bmRleCAwMDAwMDAwMDAwMC4uYmRkMDE3YjcyODAKLS0tLSAvZGV2L251bGwKLSsrKyBiL2djYy90 ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcvZGVjX2ludHJpbnNpY19pbnRfcmVhbF9jb25zdF9wcm9tb3Rp b25fMi5mCi1AQCAtMCwwICsxLDkwIEBACi0rISB7IGRnLWRvIHJ1biB9Ci0rISB7IGRnLW9wdGlv bnMgIi1mZGVjLXByb21vdGlvbiAtZmluaXQtcmVhbD1zbmFuIiB9Ci0rIQotKyEgVGVzdCBwcm9t b3Rpb24gYmV0d2VlbiBpbnRlZ2VycyBhbmQgcmVhbHMgaW4gaW50cmluc2ljIG9wZXJhdGlvbnMu Ci0rISBUaGVzZSBvcGVyYXRpb25zIGFyZTogbW9kLCBtb2R1bG8sIGRpbSwgc2lnbiwgbWluLCBt YXgsIG1pbmxvYyBhbmQKLSshIG1heGxvYy4KLSshCi0rISBDb250cmlidXRlZCBieSBGcmFuY2lz Y28gUmVkb25kbyBNYXJjaGVuYSA8ZnJhbmNpc2NvLm1hcmNoZW5hQGNvZGV0aGluay5jby51az4K LSshICAgICAgICAgICAgIGFuZCBKZWZmIExhdyA8bGF3QHJlZGhhdC5jb20+Ci0rISBNb2RpZmll ZCBieSBNYXJrIEVnZ2xlc3RvbiA8bWFyay5lZ2dsZXN0b25AY29kZXRoaW5rLmNvbT4KLSshCi0r ICAgICAgUFJPR1JBTSBwcm9tb3Rpb25faW50X3JlYWxfY29uc3QKLSsgICAgICAgICEgYXJyYXlf bmFuIDR0aCBwb3NpdGlvbiB2YWx1ZSBpcyBOQU4KLSsgICAgICAgIFJFQUwgYXJyYXlfbmFuKDQp Ci0rICAgICAgICBEQVRBIGFycmF5X25hbigxKS8tNC4wLwotKyAgICAgICAgREFUQSBhcnJheV9u YW4oMikvMy4wLwotKyAgICAgICAgREFUQSBhcnJheV9uYW4oMykvLTIvCi0rCi0rICAgICAgICBJ TlRFR0VSIG1faS8wLwotKyAgICAgICAgUkVBTCBtX3IvMC4wLwotKwotKyAgICAgICAgSU5URUdF UiBtZF9pLzAvCi0rICAgICAgICBSRUFMIG1kX3IvMC4wLwotKwotKyAgICAgICAgSU5URUdFUiBk X2kvMC8KLSsgICAgICAgIFJFQUwgZF9yLzAuMC8KLSsKLSsgICAgICAgIElOVEVHRVIgc19pLzAv Ci0rICAgICAgICBSRUFMIHNfci8wLjAvCi0rCi0rICAgICAgICBJTlRFR0VSIG1uX2kvMC8KLSsg ICAgICAgIFJFQUwgbW5fci8wLjAvCi0rCi0rICAgICAgICBJTlRFR0VSIG14X2kvMC8KLSsgICAg ICAgIFJFQUwgbXhfci8wLjAvCi0rCi0rICAgICAgICBtX2kgPSBNT0QoNCwgMykKLSsgICAgICAg IGlmIChtX2kgLm5lLiAxKSBTVE9QIDEKLSsgICAgICAgIG1fciA9IE1PRCg0LjAsIDMuMCkKLSsg ICAgICAgIGlmIChhYnMobV9yIC0gMS4wKSA+IDEuMEQtNikgU1RPUCAyCi0rICAgICAgICBtX3Ig PSBNT0QoNCwgMy4wKQotKyAgICAgICAgaWYgKGFicyhtX3IgLSAxLjApID4gMS4wRC02KSBTVE9Q IDMKLSsgICAgICAgIG1fciA9IE1PRCg0LjAsIDMpCi0rICAgICAgICBpZiAoYWJzKG1fciAtIDEu MCkgPiAxLjBELTYpIFNUT1AgNAotKwotKyAgICAgICAgbWRfaSA9IE1PRFVMTyg0LCAzKQotKyAg ICAgICAgaWYgKG1kX2kgLm5lLiAxKSBTVE9QIDUKLSsgICAgICAgIG1kX3IgPSBNT0RVTE8oNC4w LCAzLjApCi0rICAgICAgICBpZiAoYWJzKG1kX3IgLSAxLjApID4gMS4wRC02KSBTVE9QIDYKLSsg ICAgICAgIG1kX3IgPSBNT0RVTE8oNCwgMy4wKQotKyAgICAgICAgaWYgKGFicyhtZF9yIC0gMS4w KSA+IDEuMEQtNikgU1RPUCA3Ci0rICAgICAgICBtZF9yID0gTU9EVUxPKDQuMCwgMykKLSsgICAg ICAgIGlmIChhYnMobWRfciAtIDEuMCkgPiAxLjBELTYpIFNUT1AgOAotKwotKyAgICAgICAgZF9p ID0gRElNKDQsIDMpCi0rICAgICAgICBpZiAoZF9pIC5uZS4gMSkgU1RPUCA5Ci0rICAgICAgICBk X3IgPSBESU0oNC4wLCAzLjApCi0rICAgICAgICBpZiAoYWJzKGRfciAtIDEuMCkgPiAxLjBELTYp IFNUT1AgMTAKLSsgICAgICAgIGRfciA9IERJTSg0LjAsIDMpCi0rICAgICAgICBpZiAoYWJzKGRf ciAtIDEuMCkgPiAxLjBELTYpIFNUT1AgMTEKLSsgICAgICAgIGRfciA9IERJTSgzLCA0LjApCi0r ICAgICAgICBpZiAoYWJzKGRfcikgPiAxLjBELTYpIFNUT1AgMTIKLSsKLSsgICAgICAgIHNfaSA9 IFNJR04oLTQsIDMpCi0rICAgICAgICBpZiAoc19pIC5uZS4gNCkgU1RPUCAxMwotKyAgICAgICAg c19yID0gU0lHTig0LjAsIC0zLjApCi0rICAgICAgICBpZiAoYWJzKHNfciAtICgtNC4wKSkgPiAx LjBELTYpIFNUT1AgMTQKLSsgICAgICAgIHNfciA9IFNJR04oNC4wLCAtMykKLSsgICAgICAgIGlm IChhYnMoc19yIC0gKC00LjApKSA+IDEuMEQtNikgU1RPUCAxNQotKyAgICAgICAgc19yID0gU0lH TigtNCwgMy4wKQotKyAgICAgICAgaWYgKGFicyhzX3IgLSA0LjApID4gMS4wRC02KSBTVE9QIDE2 Ci0rCi0rICAgICAgICBteF9pID0gTUFYKC00LCAtMywgMiwgMSkKLSsgICAgICAgIGlmIChteF9p IC5uZS4gMikgU1RPUCAxNwotKyAgICAgICAgbXhfciA9IE1BWCgtNC4wLCAtMy4wLCAyLjAsIDEu MCkKLSsgICAgICAgIGlmIChhYnMobXhfciAtIDIuMCkgPiAxLjBELTYpIFNUT1AgMTgKLSsgICAg ICAgIG14X3IgPSBNQVgoLTQsIC0zLjAsIDIuMCwgMSkKLSsgICAgICAgIGlmIChhYnMobXhfciAt IDIuMCkgPiAxLjBELTYpIFNUT1AgMTkKLSsgICAgICAgIG14X2kgPSBNQVhMT0MoYXJyYXlfbmFu LCAxKQotKyAgICAgICAgaWYgKG14X2kgLm5lLiAyKSBTVE9QIDIwCi0rCi0rICAgICAgICBtbl9p ID0gTUlOKC00LCAtMywgMiwgMSkKLSsgICAgICAgIGlmIChtbl9pIC5uZS4gLTQpIFNUT1AgMjEK LSsgICAgICAgIG1uX3IgPSBNSU4oLTQuMCwgLTMuMCwgMi4wLCAxLjApCi0rICAgICAgICBpZiAo YWJzKG1uX3IgLSAoLTQuMCkpID4gMS4wRC02KSBTVE9QIDIyCi0rICAgICAgICBtbl9yID0gTUlO KC00LCAtMy4wLCAyLjAsIDEpCi0rICAgICAgICBpZiAoYWJzKG1uX3IgLSAoLTQuMCkpID4gMS4w RC02KSBTVE9QIDIzCi0rICAgICAgICBtbl9pID0gTUlOTE9DKGFycmF5X25hbiwgMSkKLSsgICAg ICAgIGlmIChtbl9pIC5uZS4gMSkgU1RPUCAyNAotKyAgICAgIEVORCBQUk9HUkFNCi1kaWZmIC0t Z2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9kZWNfaW50cmluc2ljX2ludF9yZWFsX2Nv bnN0X3Byb21vdGlvbl8zLmYgYi9nY2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL2RlY19pbnRyaW5z aWNfaW50X3JlYWxfY29uc3RfcHJvbW90aW9uXzMuZgotbmV3IGZpbGUgbW9kZSAxMDA2NDQKLWlu ZGV4IDAwMDAwMDAwMDAwLi5jZTkwYTU2NjdkNgotLS0tIC9kZXYvbnVsbAotKysrIGIvZ2NjL3Rl c3RzdWl0ZS9nZm9ydHJhbi5kZy9kZWNfaW50cmluc2ljX2ludF9yZWFsX2NvbnN0X3Byb21vdGlv bl8zLmYKLUBAIC0wLDAgKzEsOTIgQEAKLSshIHsgZGctZG8gY29tcGlsZSB9Ci0rISB7IGRnLW9w dGlvbnMgIi1mZGVjIC1mbm8tZGVjLXByb21vdGlvbiAtZmluaXQtcmVhbD1zbmFuIiB9Ci0rIQot KyEgVGVzdCB0aGF0IHRoZXJlIGlzIG5vIHByb21vdGlvbiBiZXR3ZWVuIGludGVnZXJzIGFuZCBy ZWFscyBpbgotKyEgaW50cmluc2ljIG9wZXJhdGlvbnMuCi0rIQotKyEgVGhlc2Ugb3BlcmF0aW9u cyBhcmU6IG1vZCwgbW9kdWxvLCBkaW0sIHNpZ24sIG1pbiwgbWF4LCBtaW5sb2MgYW5kCi0rISBt YXhsb2MuCi0rIQotKyEgQ29udHJpYnV0ZWQgYnkgRnJhbmNpc2NvIFJlZG9uZG8gTWFyY2hlbmEg PGZyYW5jaXNjby5tYXJjaGVuYUBjb2RldGhpbmsuY28udWs+Ci0rISAgICAgICAgICAgICBhbmQg SmVmZiBMYXcgPGxhd0ByZWRoYXQuY29tPgotKyEgTW9kaWZpZWQgYnkgTWFyayBFZ2dsZXN0b24g PG1hcmsuZWdnbGVzdG9uQGNvZGV0aGluay5jb20+Ci0rIQotKyAgICAgIFBST0dSQU0gcHJvbW90 aW9uX2ludF9yZWFsX2NvbnN0Ci0rICAgICAgICAhIGFycmF5X25hbiA0dGggcG9zaXRpb24gdmFs dWUgaXMgTkFOCi0rICAgICAgICBSRUFMIGFycmF5X25hbig0KQotKyAgICAgICAgREFUQSBhcnJh eV9uYW4oMSkvLTQuMC8KLSsgICAgICAgIERBVEEgYXJyYXlfbmFuKDIpLzMuMC8KLSsgICAgICAg IERBVEEgYXJyYXlfbmFuKDMpLy0yLwotKwotKyAgICAgICAgSU5URUdFUiBtX2kvMC8KLSsgICAg ICAgIFJFQUwgbV9yLzAuMC8KLSsKLSsgICAgICAgIElOVEVHRVIgbWRfaS8wLwotKyAgICAgICAg UkVBTCBtZF9yLzAuMC8KLSsKLSsgICAgICAgIElOVEVHRVIgZF9pLzAvCi0rICAgICAgICBSRUFM IGRfci8wLjAvCi0rCi0rICAgICAgICBJTlRFR0VSIHNfaS8wLwotKyAgICAgICAgUkVBTCBzX3Iv MC4wLwotKwotKyAgICAgICAgSU5URUdFUiBtbl9pLzAvCi0rICAgICAgICBSRUFMIG1uX3IvMC4w LwotKwotKyAgICAgICAgSU5URUdFUiBteF9pLzAvCi0rICAgICAgICBSRUFMIG14X3IvMC4wLwot KwotKyAgICAgICAgbV9pID0gTU9EKDQsIDMpCi0rICAgICAgICBpZiAobV9pIC5uZS4gMSkgU1RP UCAxCi0rICAgICAgICBtX3IgPSBNT0QoNC4wLCAzLjApCi0rICAgICAgICBpZiAoYWJzKG1fciAt IDEuMCkgPiAxLjBELTYpIFNUT1AgMgotKyAgICAgICAgbV9yID0gTU9EKDQsIDMuMCkgISB7IGRn LWVycm9yICInYScgYW5kICdwJyBhcmd1bWVudHMiIH0KLSsgICAgICAgIGlmIChhYnMobV9yIC0g MS4wKSA+IDEuMEQtNikgU1RPUCAzCi0rICAgICAgICBtX3IgPSBNT0QoNC4wLCAzKSAhIHsgZGct ZXJyb3IgIidhJyBhbmQgJ3AnIGFyZ3VtZW50cyIgfQotKyAgICAgICAgaWYgKGFicyhtX3IgLSAx LjApID4gMS4wRC02KSBTVE9QIDQKLSsKLSsgICAgICAgIG1kX2kgPSBNT0RVTE8oNCwgMykKLSsg ICAgICAgIGlmIChtZF9pIC5uZS4gMSkgU1RPUCA1Ci0rICAgICAgICBtZF9yID0gTU9EVUxPKDQu MCwgMy4wKQotKyAgICAgICAgaWYgKGFicyhtZF9yIC0gMS4wKSA+IDEuMEQtNikgU1RPUCA2Ci0r ICAgICAgICBtZF9yID0gTU9EVUxPKDQsIDMuMCkgISB7IGRnLWVycm9yICInYScgYW5kICdwJyBh cmd1bWVudHMiIH0KLSsgICAgICAgIGlmIChhYnMobWRfciAtIDEuMCkgPiAxLjBELTYpIFNUT1Ag NwotKyAgICAgICAgbWRfciA9IE1PRFVMTyg0LjAsIDMpICEgeyBkZy1lcnJvciAiJ2EnIGFuZCAn cCcgYXJndW1lbnRzIiB9Ci0rICAgICAgICBpZiAoYWJzKG1kX3IgLSAxLjApID4gMS4wRC02KSBT VE9QIDgKLSsKLSsgICAgICAgIGRfaSA9IERJTSg0LCAzKQotKyAgICAgICAgaWYgKGRfaSAubmUu IDEpIFNUT1AgOQotKyAgICAgICAgZF9yID0gRElNKDQuMCwgMy4wKQotKyAgICAgICAgaWYgKGFi cyhkX3IgLSAxLjApID4gMS4wRC02KSBTVE9QIDEwCi0rICAgICAgICBkX3IgPSBESU0oNC4wLCAz KSAhIHsgZGctZXJyb3IgIid4JyBhbmQgJ3knIGFyZ3VtZW50cyIgfQotKyAgICAgICAgaWYgKGFi cyhkX3IgLSAxLjApID4gMS4wRC02KSBTVE9QIDExCi0rICAgICAgICBkX3IgPSBESU0oMywgNC4w KSAhIHsgZGctZXJyb3IgIid4JyBhbmQgJ3knIGFyZ3VtZW50cyIgfQotKyAgICAgICAgaWYgKGFi cyhkX3IpID4gMS4wRC02KSBTVE9QIDEyCi0rCi0rICAgICAgICBzX2kgPSBTSUdOKC00LCAzKQot KyAgICAgICAgaWYgKHNfaSAubmUuIDQpIFNUT1AgMTMKLSsgICAgICAgIHNfciA9IFNJR04oNC4w LCAtMy4wKQotKyAgICAgICAgaWYgKGFicyhzX3IgLSAoLTQuMCkpID4gMS4wRC02KSBTVE9QIDE0 Ci0rICAgICAgICBzX3IgPSBTSUdOKDQuMCwgLTMpICEgeyBkZy1lcnJvciAiJ2InIGFyZ3VtZW50 IiB9Ci0rICAgICAgICBpZiAoYWJzKHNfciAtICgtNC4wKSkgPiAxLjBELTYpIFNUT1AgMTUKLSsg ICAgICAgIHNfciA9IFNJR04oLTQsIDMuMCkgISB7IGRnLWVycm9yICInYicgYXJndW1lbnQiIH0K LSsgICAgICAgIGlmIChhYnMoc19yIC0gNC4wKSA+IDEuMEQtNikgU1RPUCAxNgotKwotKyAgICAg ICAgbXhfaSA9IE1BWCgtNCwgLTMsIDIsIDEpCi0rICAgICAgICBpZiAobXhfaSAubmUuIDIpIFNU T1AgMTcKLSsgICAgICAgIG14X3IgPSBNQVgoLTQuMCwgLTMuMCwgMi4wLCAxLjApCi0rICAgICAg ICBpZiAoYWJzKG14X3IgLSAyLjApID4gMS4wRC02KSBTVE9QIDE4Ci0rICAgICAgICBteF9yID0g TUFYKC00LCAtMy4wLCAyLjAsIDEpICEgeyBkZy1lcnJvciAiJ2EyJyBhcmd1bWVudCIgfQotKyAg ICAgICAgaWYgKGFicyhteF9yIC0gMi4wKSA+IDEuMEQtNikgU1RPUCAxOQotKyAgICAgICAgbXhf aSA9IE1BWExPQyhhcnJheV9uYW4sIDEpCi0rICAgICAgICBpZiAobXhfaSAubmUuIDIpIFNUT1Ag MjAKLSsKLSsgICAgICAgIG1uX2kgPSBNSU4oLTQsIC0zLCAyLCAxKQotKyAgICAgICAgaWYgKG1u X2kgLm5lLiAtNCkgU1RPUCAyMQotKyAgICAgICAgbW5fciA9IE1JTigtNC4wLCAtMy4wLCAyLjAs IDEuMCkKLSsgICAgICAgIGlmIChhYnMobW5fciAtICgtNC4wKSkgPiAxLjBELTYpIFNUT1AgMjIK LSsgICAgICAgIG1uX3IgPSBNSU4oLTQsIC0zLjAsIDIuMCwgMSkgISB7IGRnLWVycm9yICInYTIn IGFyZ3VtZW50IiB9Ci0rICAgICAgICBpZiAoYWJzKG1uX3IgLSAoLTQuMCkpID4gMS4wRC02KSBT VE9QIDIzCi0rICAgICAgICBtbl9pID0gTUlOTE9DKGFycmF5X25hbiwgMSkKLSsgICAgICAgIGlm IChtbl9pIC5uZS4gMSkgU1RPUCAyNAotKyAgICAgIEVORCBQUk9HUkFNCi1kaWZmIC0tZ2l0IGEv Z2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9kZWNfaW50cmluc2ljX2ludF9yZWFsX3Byb21vdGlv bl8xLmYgYi9nY2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL2RlY19pbnRyaW5zaWNfaW50X3JlYWxf cHJvbW90aW9uXzEuZgotbmV3IGZpbGUgbW9kZSAxMDA2NDQKLWluZGV4IDAwMDAwMDAwMDAwLi41 YzJjZDkzMWE0YgotLS0tIC9kZXYvbnVsbAotKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5k Zy9kZWNfaW50cmluc2ljX2ludF9yZWFsX3Byb21vdGlvbl8xLmYKLUBAIC0wLDAgKzEsMTMwIEBA Ci0rISB7IGRnLWRvIHJ1biB9Ci0rISB7IGRnLW9wdGlvbnMgIi1mZGVjIiB9Ci0rIQotKyEgVGVz dCBwcm9tb3Rpb24gYmV0d2VlbiBpbnRlZ2VycyBhbmQgcmVhbHMgaW4gaW50cmluc2ljIG9wZXJh dGlvbnMuCi0rISBUaGVzZSBvcGVyYXRpb25zIGFyZTogbW9kLCBtb2R1bG8sIGRpbSwgc2lnbiwg bWluLCBtYXgsIG1pbmxvYyBhbmQKLSshIG1heGxvYy4KLSshCi0rISBDb250cmlidXRlZCBieSBG cmFuY2lzY28gUmVkb25kbyBNYXJjaGVuYSA8ZnJhbmNpc2NvLm1hcmNoZW5hQGNvZGV0aGluay5j by51az4KLSshICAgICAgICAgICAgIGFuZCBKZWZmIExhdyA8bGF3QHJlZGhhdC5jb20+Ci0rISBN b2RpZmllZCBieSBNYXJrIEVnZ2xlc3RvbiA8bWFyay5lZ2dsZXN0b25AY29kZXRoaW5rLmNvbT4K LSshCi0rICAgICAgUFJPR1JBTSBwcm9tb3Rpb25faW50X3JlYWwKLSsgICAgICAgIFJFQUwgbC8w LjAvCi0rICAgICAgICBJTlRFR0VSIGFfaS80LwotKyAgICAgICAgSU5URUdFUio0IGEyX2kvNC8K LSsgICAgICAgIElOVEVHRVIgYl9pLzMvCi0rICAgICAgICBJTlRFR0VSKjggYjJfaS8zLwotKyAg ICAgICAgSU5URUdFUiB4X2kvMi8KLSsgICAgICAgIElOVEVHRVIgeV9pLzEvCi0rICAgICAgICBS RUFMIGFfci80LjAvCi0rICAgICAgICBSRUFMKjQgYTJfci80LjAvCi0rICAgICAgICBSRUFMIGJf ci8zLjAvCi0rICAgICAgICBSRUFMKjggYjJfci8zLjAvCi0rICAgICAgICBSRUFMIHhfci8yLjAv Ci0rICAgICAgICBSRUFMIHlfci8xLjAvCi0rCi0rICAgICAgICBSRUFMIGFycmF5X25hbig0KQot KyAgICAgICAgREFUQSBhcnJheV9uYW4oMSkvLTQuMC8KLSsgICAgICAgIERBVEEgYXJyYXlfbmFu KDIpLzMuMC8KLSsgICAgICAgIERBVEEgYXJyYXlfbmFuKDMpLy0yLwotKwotKyAgICAgICAgSU5U RUdFUiBtX2kvMC8KLSsgICAgICAgIFJFQUwgbV9yLzAuMC8KLSsKLSsgICAgICAgIElOVEVHRVIg bWRfaS8wLwotKyAgICAgICAgUkVBTCBtZF9yLzAuMC8KLSsKLSsgICAgICAgIElOVEVHRVIgZF9p LzAvCi0rICAgICAgICBSRUFMIGRfci8wLjAvCi0rCi0rICAgICAgICBJTlRFR0VSIHNfaS8wLwot KyAgICAgICAgUkVBTCBzX3IvMC4wLwotKwotKyAgICAgICAgSU5URUdFUiBtbl9pLzAvCi0rICAg ICAgICBSRUFMIG1uX3IvMC4wLwotKwotKyAgICAgICAgSU5URUdFUiBteF9pLzAvCi0rICAgICAg ICBSRUFMIG14X3IvMC4wLwotKwotKyAgICAgICAgISBhcnJheV9uYW4gNHRoIHBvc2l0aW9uIHZh bHVlIGlzIE5BTgotKyAgICAgICAgYXJyYXlfbmFuKDQpID0gMC9sCi0rCi0rICAgICAgICBtX2kg PSBNT0QoYV9pLCBiX2kpCi0rICAgICAgICBpZiAobV9pIC5uZS4gMSkgU1RPUCAxCi0rICAgICAg ICBtX2kgPSBNT0QoYTJfaSwgYjJfaSkKLSsgICAgICAgIGlmIChtX2kgLm5lLiAxKSBTVE9QIDIK LSsgICAgICAgIG1fciA9IE1PRChhX3IsIGJfcikKLSsgICAgICAgIGlmIChhYnMobV9yIC0gMS4w KSA+IDEuMEQtNikgU1RPUCAzCi0rICAgICAgICBtX3IgPSBNT0QoYTJfciwgYjJfcikKLSsgICAg ICAgIGlmIChhYnMobV9yIC0gMS4wKSA+IDEuMEQtNikgU1RPUCA0Ci0rICAgICAgICBtX3IgPSBN T0QoYV9pLCBiX3IpCi0rICAgICAgICBpZiAoYWJzKG1fciAtIDEuMCkgPiAxLjBELTYpIFNUT1Ag NQotKyAgICAgICAgbV9yID0gTU9EKGFfciwgYl9pKQotKyAgICAgICAgaWYgKGFicyhtX3IgLSAx LjApID4gMS4wRC02KSBTVE9QIDYKLSsKLSsgICAgICAgIG1kX2kgPSBNT0RVTE8oYV9pLCBiX2kp Ci0rICAgICAgICBpZiAobWRfaSAubmUuIDEpIFNUT1AgNwotKyAgICAgICAgbWRfaSA9IE1PRFVM TyhhMl9pLCBiMl9pKQotKyAgICAgICAgaWYgKG1kX2kgLm5lLiAxKSBTVE9QIDgKLSsgICAgICAg IG1kX3IgPSBNT0RVTE8oYV9yLCBiX3IpCi0rICAgICAgICBpZiAoYWJzKG1kX3IgLSAxLjApID4g MS4wRC02KSBTVE9QIDkKLSsgICAgICAgIG1kX3IgPSBNT0RVTE8oYTJfciwgYjJfcikKLSsgICAg ICAgIGlmIChhYnMobWRfciAtIDEuMCkgPiAxLjBELTYpIFNUT1AgMTAKLSsgICAgICAgIG1kX3Ig PSBNT0RVTE8oYV9pLCBiX3IpCi0rICAgICAgICBpZiAoYWJzKG1kX3IgLSAxLjApID4gMS4wRC02 KSBTVE9QIDExCi0rICAgICAgICBtZF9yID0gTU9EVUxPKGFfciwgYl9pKQotKyAgICAgICAgaWYg KGFicyhtZF9yIC0gMS4wKSA+IDEuMEQtNikgU1RPUCAxMgotKwotKyAgICAgICAgZF9pID0gRElN KGFfaSwgYl9pKQotKyAgICAgICAgaWYgKGRfaSAubmUuIDEpIFNUT1AgMTMKLSsgICAgICAgIGRf aSA9IERJTShhMl9pLCBiMl9pKQotKyAgICAgICAgaWYgKGRfaSAubmUuIDEpIFNUT1AgMTQKLSsg ICAgICAgIGRfciA9IERJTShhX3IsIGJfcikKLSsgICAgICAgIGlmIChhYnMoZF9yIC0gMS4wKSA+ IDEuMEQtNikgU1RPUCAxNQotKyAgICAgICAgZF9yID0gRElNKGEyX3IsIGIyX3IpCi0rICAgICAg ICBpZiAoYWJzKGRfciAtIDEuMCkgPiAxLjBELTYpIFNUT1AgMTYKLSsgICAgICAgIGRfciA9IERJ TShhX3IsIGJfaSkKLSsgICAgICAgIGlmIChhYnMoZF9yIC0gMS4wKSA+IDEuMEQtNikgU1RPUCAx NwotKyAgICAgICAgZF9yID0gRElNKGJfaSwgYV9yKQotKyAgICAgICAgaWYgKGFicyhkX3IpID4g MS4wRC02KSBTVE9QIDE4Ci0rCi0rICAgICAgICBzX2kgPSBTSUdOKC1hX2ksIGJfaSkKLSsgICAg ICAgIGlmIChzX2kgLm5lLiA0KSBTVE9QIDE5Ci0rICAgICAgICBzX2kgPSBTSUdOKC1hMl9pLCBi Ml9pKQotKyAgICAgICAgaWYgKHNfaSAubmUuIDQpIFNUT1AgMjAKLSsgICAgICAgIHNfciA9IFNJ R04oYV9yLCAtYl9yKQotKyAgICAgICAgaWYgKGFicyhzX3IgLSAoLWFfcikpID4gMS4wRC02KSBT VE9QIDIxCi0rICAgICAgICBzX3IgPSBTSUdOKGEyX3IsIC1iMl9yKQotKyAgICAgICAgaWYgKGFi cyhzX3IgLSAoLWEyX3IpKSA+IDEuMEQtNikgU1RPUCAyMgotKyAgICAgICAgc19yID0gU0lHTihh X3IsIC1iX2kpCi0rICAgICAgICBpZiAoYWJzKHNfciAtICgtYV9yKSkgPiAxLjBELTYpIFNUT1Ag MjMKLSsgICAgICAgIHNfciA9IFNJR04oLWFfaSwgYl9yKQotKyAgICAgICAgaWYgKGFicyhzX3Ig LSBhX3IpID4gMS4wRC02KSBTVE9QIDI0Ci0rCi0rICAgICAgICBteF9pID0gTUFYKC1hX2ksIC1i X2ksIHhfaSwgeV9pKQotKyAgICAgICAgaWYgKG14X2kgLm5lLiB4X2kpIFNUT1AgMjUKLSsgICAg ICAgIG14X2kgPSBNQVgoLWEyX2ksIC1iMl9pLCB4X2ksIHlfaSkKLSsgICAgICAgIGlmIChteF9p IC5uZS4geF9pKSBTVE9QIDI2Ci0rICAgICAgICBteF9yID0gTUFYKC1hX3IsIC1iX3IsIHhfciwg eV9yKQotKyAgICAgICAgaWYgKGFicyhteF9yIC0geF9yKSA+IDEuMEQtNikgU1RPUCAyNwotKyAg ICAgICAgbXhfciA9IE1BWCgtYV9yLCAtYl9yLCB4X3IsIHlfcikKLSsgICAgICAgIGlmIChhYnMo bXhfciAtIHhfcikgPiAxLjBELTYpIFNUT1AgMjgKLSsgICAgICAgIG14X3IgPSBNQVgoLWFfaSwg LWJfciwgeF9yLCB5X2kpCi0rICAgICAgICBpZiAoYWJzKG14X3IgLSB4X3IpID4gMS4wRC02KSBT VE9QIDI5Ci0rICAgICAgICBteF9pID0gTUFYTE9DKGFycmF5X25hbiwgMSkKLSsgICAgICAgIGlm IChteF9pIC5uZS4gMikgU1RPUCAzMAotKwotKyAgICAgICAgbW5faSA9IE1JTigtYV9pLCAtYl9p LCB4X2ksIHlfaSkKLSsgICAgICAgIGlmIChtbl9pIC5uZS4gLWFfaSkgU1RPUCAzMQotKyAgICAg ICAgbW5faSA9IE1JTigtYTJfaSwgLWIyX2ksIHhfaSwgeV9pKQotKyAgICAgICAgaWYgKG1uX2kg Lm5lLiAtYTJfaSkgU1RPUCAzMgotKyAgICAgICAgbW5fciA9IE1JTigtYV9yLCAtYl9yLCB4X3Is IHlfcikKLSsgICAgICAgIGlmIChhYnMobW5fciAtICgtYV9yKSkgPiAxLjBELTYpIFNUT1AgMzMK LSsgICAgICAgIG1uX3IgPSBNSU4oLWEyX3IsIC1iMl9yLCB4X3IsIHlfcikKLSsgICAgICAgIGlm IChhYnMobW5fciAtICgtYTJfcikpID4gMS4wRC02KSBTVE9QIDM0Ci0rICAgICAgICBtbl9yID0g TUlOKC1hX2ksIC1iX3IsIHhfciwgeV9pKQotKyAgICAgICAgaWYgKGFicyhtbl9yIC0gKC1hX3Ip KSA+IDEuMEQtNikgU1RPUCAzNQotKyAgICAgICAgbW5faSA9IE1JTkxPQyhhcnJheV9uYW4sIDEp Ci0rICAgICAgICBpZiAobW5faSAubmUuIDEpIFNUT1AgMzYKLSsgICAgICBFTkQgUFJPR1JBTQot ZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcvZGVjX2ludHJpbnNpY19pbnRf cmVhbF9wcm9tb3Rpb25fMi5mIGIvZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9kZWNfaW50cmlu c2ljX2ludF9yZWFsX3Byb21vdGlvbl8yLmYKLW5ldyBmaWxlIG1vZGUgMTAwNjQ0Ci1pbmRleCAw MDAwMDAwMDAwMC4uZDY0ZDQ2OGY3ZDEKLS0tLSAvZGV2L251bGwKLSsrKyBiL2djYy90ZXN0c3Vp dGUvZ2ZvcnRyYW4uZGcvZGVjX2ludHJpbnNpY19pbnRfcmVhbF9wcm9tb3Rpb25fMi5mCi1AQCAt MCwwICsxLDEzMCBAQAotKyEgeyBkZy1kbyBydW4gfQotKyEgeyBkZy1vcHRpb25zICItZmRlYy1w cm9tb3Rpb24iIH0KLSshCi0rISBUZXN0IHByb21vdGlvbiBiZXR3ZWVuIGludGVnZXJzIGFuZCBy ZWFscyBpbiBpbnRyaW5zaWMgb3BlcmF0aW9ucy4KLSshIFRoZXNlIG9wZXJhdGlvbnMgYXJlOiBt b2QsIG1vZHVsbywgZGltLCBzaWduLCBtaW4sIG1heCwgbWlubG9jIGFuZAotKyEgbWF4bG9jLgot KyEKLSshIENvbnRyaWJ1dGVkIGJ5IEZyYW5jaXNjbyBSZWRvbmRvIE1hcmNoZW5hIDxmcmFuY2lz Y28ubWFyY2hlbmFAY29kZXRoaW5rLmNvLnVrPgotKyEgICAgICAgICAgICAgYW5kIEplZmYgTGF3 IDxsYXdAcmVkaGF0LmNvbT4KLSshIE1vZGlmaWVkIGJ5IE1hcmsgRWdnbGVzdG9uIDxtYXJrLmVn Z2xlc3RvbkBjb2RldGhpbmsuY29tPgotKyEKLSsgICAgICBQUk9HUkFNIHByb21vdGlvbl9pbnRf cmVhbAotKyAgICAgICAgUkVBTCBsLzAuMC8KLSsgICAgICAgIElOVEVHRVIgYV9pLzQvCi0rICAg ICAgICBJTlRFR0VSKjQgYTJfaS80LwotKyAgICAgICAgSU5URUdFUiBiX2kvMy8KLSsgICAgICAg IElOVEVHRVIqOCBiMl9pLzMvCi0rICAgICAgICBJTlRFR0VSIHhfaS8yLwotKyAgICAgICAgSU5U RUdFUiB5X2kvMS8KLSsgICAgICAgIFJFQUwgYV9yLzQuMC8KLSsgICAgICAgIFJFQUwqNCBhMl9y LzQuMC8KLSsgICAgICAgIFJFQUwgYl9yLzMuMC8KLSsgICAgICAgIFJFQUwqOCBiMl9yLzMuMC8K LSsgICAgICAgIFJFQUwgeF9yLzIuMC8KLSsgICAgICAgIFJFQUwgeV9yLzEuMC8KLSsKLSsgICAg ICAgIFJFQUwgYXJyYXlfbmFuKDQpCi0rICAgICAgICBEQVRBIGFycmF5X25hbigxKS8tNC4wLwot KyAgICAgICAgREFUQSBhcnJheV9uYW4oMikvMy4wLwotKyAgICAgICAgREFUQSBhcnJheV9uYW4o MykvLTIvCi0rCi0rICAgICAgICBJTlRFR0VSIG1faS8wLwotKyAgICAgICAgUkVBTCBtX3IvMC4w LwotKwotKyAgICAgICAgSU5URUdFUiBtZF9pLzAvCi0rICAgICAgICBSRUFMIG1kX3IvMC4wLwot KwotKyAgICAgICAgSU5URUdFUiBkX2kvMC8KLSsgICAgICAgIFJFQUwgZF9yLzAuMC8KLSsKLSsg ICAgICAgIElOVEVHRVIgc19pLzAvCi0rICAgICAgICBSRUFMIHNfci8wLjAvCi0rCi0rICAgICAg ICBJTlRFR0VSIG1uX2kvMC8KLSsgICAgICAgIFJFQUwgbW5fci8wLjAvCi0rCi0rICAgICAgICBJ TlRFR0VSIG14X2kvMC8KLSsgICAgICAgIFJFQUwgbXhfci8wLjAvCi0rCi0rICAgICAgICAhIGFy cmF5X25hbiA0dGggcG9zaXRpb24gdmFsdWUgaXMgTkFOCi0rICAgICAgICBhcnJheV9uYW4oNCkg PSAwL2wKLSsKLSsgICAgICAgIG1faSA9IE1PRChhX2ksIGJfaSkKLSsgICAgICAgIGlmIChtX2kg Lm5lLiAxKSBTVE9QIDEKLSsgICAgICAgIG1faSA9IE1PRChhMl9pLCBiMl9pKQotKyAgICAgICAg aWYgKG1faSAubmUuIDEpIFNUT1AgMgotKyAgICAgICAgbV9yID0gTU9EKGFfciwgYl9yKQotKyAg ICAgICAgaWYgKGFicyhtX3IgLSAxLjApID4gMS4wRC02KSBTVE9QIDMKLSsgICAgICAgIG1fciA9 IE1PRChhMl9yLCBiMl9yKQotKyAgICAgICAgaWYgKGFicyhtX3IgLSAxLjApID4gMS4wRC02KSBT VE9QIDQKLSsgICAgICAgIG1fciA9IE1PRChhX2ksIGJfcikKLSsgICAgICAgIGlmIChhYnMobV9y IC0gMS4wKSA+IDEuMEQtNikgU1RPUCA1Ci0rICAgICAgICBtX3IgPSBNT0QoYV9yLCBiX2kpCi0r ICAgICAgICBpZiAoYWJzKG1fciAtIDEuMCkgPiAxLjBELTYpIFNUT1AgNgotKwotKyAgICAgICAg bWRfaSA9IE1PRFVMTyhhX2ksIGJfaSkKLSsgICAgICAgIGlmIChtZF9pIC5uZS4gMSkgU1RPUCA3 Ci0rICAgICAgICBtZF9pID0gTU9EVUxPKGEyX2ksIGIyX2kpCi0rICAgICAgICBpZiAobWRfaSAu bmUuIDEpIFNUT1AgOAotKyAgICAgICAgbWRfciA9IE1PRFVMTyhhX3IsIGJfcikKLSsgICAgICAg IGlmIChhYnMobWRfciAtIDEuMCkgPiAxLjBELTYpIFNUT1AgOQotKyAgICAgICAgbWRfciA9IE1P RFVMTyhhMl9yLCBiMl9yKQotKyAgICAgICAgaWYgKGFicyhtZF9yIC0gMS4wKSA+IDEuMEQtNikg U1RPUCAxMAotKyAgICAgICAgbWRfciA9IE1PRFVMTyhhX2ksIGJfcikKLSsgICAgICAgIGlmIChh YnMobWRfciAtIDEuMCkgPiAxLjBELTYpIFNUT1AgMTEKLSsgICAgICAgIG1kX3IgPSBNT0RVTE8o YV9yLCBiX2kpCi0rICAgICAgICBpZiAoYWJzKG1kX3IgLSAxLjApID4gMS4wRC02KSBTVE9QIDEy Ci0rCi0rICAgICAgICBkX2kgPSBESU0oYV9pLCBiX2kpCi0rICAgICAgICBpZiAoZF9pIC5uZS4g MSkgU1RPUCAxMwotKyAgICAgICAgZF9pID0gRElNKGEyX2ksIGIyX2kpCi0rICAgICAgICBpZiAo ZF9pIC5uZS4gMSkgU1RPUCAxNAotKyAgICAgICAgZF9yID0gRElNKGFfciwgYl9yKQotKyAgICAg ICAgaWYgKGFicyhkX3IgLSAxLjApID4gMS4wRC02KSBTVE9QIDE1Ci0rICAgICAgICBkX3IgPSBE SU0oYTJfciwgYjJfcikKLSsgICAgICAgIGlmIChhYnMoZF9yIC0gMS4wKSA+IDEuMEQtNikgU1RP UCAxNgotKyAgICAgICAgZF9yID0gRElNKGFfciwgYl9pKQotKyAgICAgICAgaWYgKGFicyhkX3Ig LSAxLjApID4gMS4wRC02KSBTVE9QIDE3Ci0rICAgICAgICBkX3IgPSBESU0oYl9pLCBhX3IpCi0r ICAgICAgICBpZiAoYWJzKGRfcikgPiAxLjBELTYpIFNUT1AgMTgKLSsKLSsgICAgICAgIHNfaSA9 IFNJR04oLWFfaSwgYl9pKQotKyAgICAgICAgaWYgKHNfaSAubmUuIDQpIFNUT1AgMTkKLSsgICAg ICAgIHNfaSA9IFNJR04oLWEyX2ksIGIyX2kpCi0rICAgICAgICBpZiAoc19pIC5uZS4gNCkgU1RP UCAyMAotKyAgICAgICAgc19yID0gU0lHTihhX3IsIC1iX3IpCi0rICAgICAgICBpZiAoYWJzKHNf ciAtICgtYV9yKSkgPiAxLjBELTYpIFNUT1AgMjEKLSsgICAgICAgIHNfciA9IFNJR04oYTJfciwg LWIyX3IpCi0rICAgICAgICBpZiAoYWJzKHNfciAtICgtYTJfcikpID4gMS4wRC02KSBTVE9QIDIy Ci0rICAgICAgICBzX3IgPSBTSUdOKGFfciwgLWJfaSkKLSsgICAgICAgIGlmIChhYnMoc19yIC0g KC1hX3IpKSA+IDEuMEQtNikgU1RPUCAyMwotKyAgICAgICAgc19yID0gU0lHTigtYV9pLCBiX3Ip Ci0rICAgICAgICBpZiAoYWJzKHNfciAtIGFfcikgPiAxLjBELTYpIFNUT1AgMjQKLSsKLSsgICAg ICAgIG14X2kgPSBNQVgoLWFfaSwgLWJfaSwgeF9pLCB5X2kpCi0rICAgICAgICBpZiAobXhfaSAu bmUuIHhfaSkgU1RPUCAyNQotKyAgICAgICAgbXhfaSA9IE1BWCgtYTJfaSwgLWIyX2ksIHhfaSwg eV9pKQotKyAgICAgICAgaWYgKG14X2kgLm5lLiB4X2kpIFNUT1AgMjYKLSsgICAgICAgIG14X3Ig PSBNQVgoLWFfciwgLWJfciwgeF9yLCB5X3IpCi0rICAgICAgICBpZiAoYWJzKG14X3IgLSB4X3Ip ID4gMS4wRC02KSBTVE9QIDI3Ci0rICAgICAgICBteF9yID0gTUFYKC1hX3IsIC1iX3IsIHhfciwg eV9yKQotKyAgICAgICAgaWYgKGFicyhteF9yIC0geF9yKSA+IDEuMEQtNikgU1RPUCAyOAotKyAg ICAgICAgbXhfciA9IE1BWCgtYV9pLCAtYl9yLCB4X3IsIHlfaSkKLSsgICAgICAgIGlmIChhYnMo bXhfciAtIHhfcikgPiAxLjBELTYpIFNUT1AgMjkKLSsgICAgICAgIG14X2kgPSBNQVhMT0MoYXJy YXlfbmFuLCAxKQotKyAgICAgICAgaWYgKG14X2kgLm5lLiAyKSBTVE9QIDMwCi0rCi0rICAgICAg ICBtbl9pID0gTUlOKC1hX2ksIC1iX2ksIHhfaSwgeV9pKQotKyAgICAgICAgaWYgKG1uX2kgLm5l LiAtYV9pKSBTVE9QIDMxCi0rICAgICAgICBtbl9pID0gTUlOKC1hMl9pLCAtYjJfaSwgeF9pLCB5 X2kpCi0rICAgICAgICBpZiAobW5faSAubmUuIC1hMl9pKSBTVE9QIDMyCi0rICAgICAgICBtbl9y ID0gTUlOKC1hX3IsIC1iX3IsIHhfciwgeV9yKQotKyAgICAgICAgaWYgKGFicyhtbl9yIC0gKC1h X3IpKSA+IDEuMEQtNikgU1RPUCAzMwotKyAgICAgICAgbW5fciA9IE1JTigtYTJfciwgLWIyX3Is IHhfciwgeV9yKQotKyAgICAgICAgaWYgKGFicyhtbl9yIC0gKC1hMl9yKSkgPiAxLjBELTYpIFNU T1AgMzQKLSsgICAgICAgIG1uX3IgPSBNSU4oLWFfaSwgLWJfciwgeF9yLCB5X2kpCi0rICAgICAg ICBpZiAoYWJzKG1uX3IgLSAoLWFfcikpID4gMS4wRC02KSBTVE9QIDM1Ci0rICAgICAgICBtbl9p ID0gTUlOTE9DKGFycmF5X25hbiwgMSkKLSsgICAgICAgIGlmIChtbl9pIC5uZS4gMSkgU1RPUCAz NgotKyAgICAgIEVORCBQUk9HUkFNCi1kaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJh bi5kZy9kZWNfaW50cmluc2ljX2ludF9yZWFsX3Byb21vdGlvbl8zLmYgYi9nY2MvdGVzdHN1aXRl L2dmb3J0cmFuLmRnL2RlY19pbnRyaW5zaWNfaW50X3JlYWxfcHJvbW90aW9uXzMuZgotbmV3IGZp bGUgbW9kZSAxMDA2NDQKLWluZGV4IDAwMDAwMDAwMDAwLi4wNzA4YjY2NjYzMwotLS0tIC9kZXYv bnVsbAotKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9kZWNfaW50cmluc2ljX2ludF9y ZWFsX3Byb21vdGlvbl8zLmYKLUBAIC0wLDAgKzEsMTMwIEBACi0rISB7IGRnLWRvIGNvbXBpbGUg fQotKyEgeyBkZy1vcHRpb25zICItZmRlYyAtZm5vLWRlYy1wcm9tb3Rpb24iIH0KLSshCi0rISBU ZXN0IHByb21vdGlvbiBiZXR3ZWVuIGludGVnZXJzIGFuZCByZWFscyBpbiBpbnRyaW5zaWMgb3Bl cmF0aW9ucy4KLSshIFRoZXNlIG9wZXJhdGlvbnMgYXJlOiBtb2QsIG1vZHVsbywgZGltLCBzaWdu LCBtaW4sIG1heCwgbWlubG9jIGFuZAotKyEgbWF4bG9jLgotKyEKLSshIENvbnRyaWJ1dGVkIGJ5 IEZyYW5jaXNjbyBSZWRvbmRvIE1hcmNoZW5hIDxmcmFuY2lzY28ubWFyY2hlbmFAY29kZXRoaW5r LmNvLnVrPgotKyEgICAgICAgICAgICAgYW5kIEplZmYgTGF3IDxsYXdAcmVkaGF0LmNvbT4KLSsh IE1vZGlmaWVkIGJ5IE1hcmsgRWdnbGVzdG9uIDxtYXJrLmVnZ2xlc3RvbkBjb2RldGhpbmsuY29t PgotKyEKLSsgICAgICBQUk9HUkFNIHByb21vdGlvbl9pbnRfcmVhbAotKyAgICAgICAgUkVBTCBs LzAuMC8KLSsgICAgICAgIElOVEVHRVIgYV9pLzQvCi0rICAgICAgICBJTlRFR0VSKjQgYTJfaS80 LwotKyAgICAgICAgSU5URUdFUiBiX2kvMy8KLSsgICAgICAgIElOVEVHRVIqOCBiMl9pLzMvCi0r ICAgICAgICBJTlRFR0VSIHhfaS8yLwotKyAgICAgICAgSU5URUdFUiB5X2kvMS8KLSsgICAgICAg IFJFQUwgYV9yLzQuMC8KLSsgICAgICAgIFJFQUwqNCBhMl9yLzQuMC8KLSsgICAgICAgIFJFQUwg Yl9yLzMuMC8KLSsgICAgICAgIFJFQUwqOCBiMl9yLzMuMC8KLSsgICAgICAgIFJFQUwgeF9yLzIu MC8KLSsgICAgICAgIFJFQUwgeV9yLzEuMC8KLSsKLSsgICAgICAgIFJFQUwgYXJyYXlfbmFuKDQp Ci0rICAgICAgICBEQVRBIGFycmF5X25hbigxKS8tNC4wLwotKyAgICAgICAgREFUQSBhcnJheV9u YW4oMikvMy4wLwotKyAgICAgICAgREFUQSBhcnJheV9uYW4oMykvLTIvCi0rCi0rICAgICAgICBJ TlRFR0VSIG1faS8wLwotKyAgICAgICAgUkVBTCBtX3IvMC4wLwotKwotKyAgICAgICAgSU5URUdF UiBtZF9pLzAvCi0rICAgICAgICBSRUFMIG1kX3IvMC4wLwotKwotKyAgICAgICAgSU5URUdFUiBk X2kvMC8KLSsgICAgICAgIFJFQUwgZF9yLzAuMC8KLSsKLSsgICAgICAgIElOVEVHRVIgc19pLzAv Ci0rICAgICAgICBSRUFMIHNfci8wLjAvCi0rCi0rICAgICAgICBJTlRFR0VSIG1uX2kvMC8KLSsg ICAgICAgIFJFQUwgbW5fci8wLjAvCi0rCi0rICAgICAgICBJTlRFR0VSIG14X2kvMC8KLSsgICAg ICAgIFJFQUwgbXhfci8wLjAvCi0rCi0rICAgICAgICAhIGFycmF5X25hbiA0dGggcG9zaXRpb24g dmFsdWUgaXMgTkFOCi0rICAgICAgICBhcnJheV9uYW4oNCkgPSAwL2wKLSsKLSsgICAgICAgIG1f aSA9IE1PRChhX2ksIGJfaSkKLSsgICAgICAgIGlmIChtX2kgLm5lLiAxKSBTVE9QIDEKLSsgICAg ICAgIG1faSA9IE1PRChhMl9pLCBiMl9pKQotKyAgICAgICAgaWYgKG1faSAubmUuIDEpIFNUT1Ag MgotKyAgICAgICAgbV9yID0gTU9EKGFfciwgYl9yKQotKyAgICAgICAgaWYgKGFicyhtX3IgLSAx LjApID4gMS4wRC02KSBTVE9QIDMKLSsgICAgICAgIG1fciA9IE1PRChhMl9yLCBiMl9yKQotKyAg ICAgICAgaWYgKGFicyhtX3IgLSAxLjApID4gMS4wRC02KSBTVE9QIDQKLSsgICAgICAgIG1fciA9 IE1PRChhX2ksIGJfcikgISB7IGRnLWVycm9yICInYScgYW5kICdwJyBhcmd1bWVudHMiIH0KLSsg ICAgICAgIGlmIChhYnMobV9yIC0gMS4wKSA+IDEuMEQtNikgU1RPUCA1Ci0rICAgICAgICBtX3Ig PSBNT0QoYV9yLCBiX2kpICEgeyBkZy1lcnJvciAiJ2EnIGFuZCAncCcgYXJndW1lbnRzIiB9Ci0r ICAgICAgICBpZiAoYWJzKG1fciAtIDEuMCkgPiAxLjBELTYpIFNUT1AgNgotKwotKyAgICAgICAg bWRfaSA9IE1PRFVMTyhhX2ksIGJfaSkKLSsgICAgICAgIGlmIChtZF9pIC5uZS4gMSkgU1RPUCA3 Ci0rICAgICAgICBtZF9pID0gTU9EVUxPKGEyX2ksIGIyX2kpCi0rICAgICAgICBpZiAobWRfaSAu bmUuIDEpIFNUT1AgOAotKyAgICAgICAgbWRfciA9IE1PRFVMTyhhX3IsIGJfcikKLSsgICAgICAg IGlmIChhYnMobWRfciAtIDEuMCkgPiAxLjBELTYpIFNUT1AgOQotKyAgICAgICAgbWRfciA9IE1P RFVMTyhhMl9yLCBiMl9yKQotKyAgICAgICAgaWYgKGFicyhtZF9yIC0gMS4wKSA+IDEuMEQtNikg U1RPUCAxMAotKyAgICAgICAgbWRfciA9IE1PRFVMTyhhX2ksIGJfcikgISB7IGRnLWVycm9yICIn YScgYW5kICdwJyBhcmd1bWVudHMiIH0KLSsgICAgICAgIGlmIChhYnMobWRfciAtIDEuMCkgPiAx LjBELTYpIFNUT1AgMTEKLSsgICAgICAgIG1kX3IgPSBNT0RVTE8oYV9yLCBiX2kpICEgeyBkZy1l cnJvciAiJ2EnIGFuZCAncCcgYXJndW1lbnRzIiB9Ci0rICAgICAgICBpZiAoYWJzKG1kX3IgLSAx LjApID4gMS4wRC02KSBTVE9QIDEyCi0rCi0rICAgICAgICBkX2kgPSBESU0oYV9pLCBiX2kpCi0r ICAgICAgICBpZiAoZF9pIC5uZS4gMSkgU1RPUCAxMwotKyAgICAgICAgZF9pID0gRElNKGEyX2ks IGIyX2kpCi0rICAgICAgICBpZiAoZF9pIC5uZS4gMSkgU1RPUCAxNAotKyAgICAgICAgZF9yID0g RElNKGFfciwgYl9yKQotKyAgICAgICAgaWYgKGFicyhkX3IgLSAxLjApID4gMS4wRC02KSBTVE9Q IDE1Ci0rICAgICAgICBkX3IgPSBESU0oYTJfciwgYjJfcikKLSsgICAgICAgIGlmIChhYnMoZF9y IC0gMS4wKSA+IDEuMEQtNikgU1RPUCAxNgotKyAgICAgICAgZF9yID0gRElNKGFfciwgYl9pKSAh IHsgZGctZXJyb3IgIid4JyBhbmQgJ3knIGFyZ3VtZW50cyIgfQotKyAgICAgICAgaWYgKGFicyhk X3IgLSAxLjApID4gMS4wRC02KSBTVE9QIDE3Ci0rICAgICAgICBkX3IgPSBESU0oYl9pLCBhX3Ip ICEgeyBkZy1lcnJvciAiJ3gnIGFuZCAneScgYXJndW1lbnRzIiB9Ci0rICAgICAgICBpZiAoYWJz KGRfcikgPiAxLjBELTYpIFNUT1AgMTgKLSsKLSsgICAgICAgIHNfaSA9IFNJR04oLWFfaSwgYl9p KQotKyAgICAgICAgaWYgKHNfaSAubmUuIDQpIFNUT1AgMTkKLSsgICAgICAgIHNfaSA9IFNJR04o LWEyX2ksIGIyX2kpICEgeyBkZy1lcnJvciAiJ2InIGFyZ3VtZW50IiB9Ci0rICAgICAgICBpZiAo c19pIC5uZS4gNCkgU1RPUCAyMAotKyAgICAgICAgc19yID0gU0lHTihhX3IsIC1iX3IpCi0rICAg ICAgICBpZiAoYWJzKHNfciAtICgtYV9yKSkgPiAxLjBELTYpIFNUT1AgMjEKLSsgICAgICAgIHNf ciA9IFNJR04oYTJfciwgLWIyX3IpICEgeyBkZy1lcnJvciAiJ2InIGFyZ3VtZW50IiB9Ci0rICAg ICAgICBpZiAoYWJzKHNfciAtICgtYTJfcikpID4gMS4wRC02KSBTVE9QIDIyCi0rICAgICAgICBz X3IgPSBTSUdOKGFfciwgLWJfaSkgISB7IGRnLWVycm9yICInYicgYXJndW1lbnQiIH0KLSsgICAg ICAgIGlmIChhYnMoc19yIC0gKC1hX3IpKSA+IDEuMEQtNikgU1RPUCAyMwotKyAgICAgICAgc19y ID0gU0lHTigtYV9pLCBiX3IpICEgeyBkZy1lcnJvciAiJ2InIGFyZ3VtZW50IiB9Ci0rICAgICAg ICBpZiAoYWJzKHNfciAtIGFfcikgPiAxLjBELTYpIFNUT1AgMjQKLSsKLSsgICAgICAgIG14X2kg PSBNQVgoLWFfaSwgLWJfaSwgeF9pLCB5X2kpCi0rICAgICAgICBpZiAobXhfaSAubmUuIHhfaSkg U1RPUCAyNQotKyAgICAgICAgbXhfaSA9IE1BWCgtYTJfaSwgLWIyX2ksIHhfaSwgeV9pKQotKyAg ICAgICAgaWYgKG14X2kgLm5lLiB4X2kpIFNUT1AgMjYKLSsgICAgICAgIG14X3IgPSBNQVgoLWFf ciwgLWJfciwgeF9yLCB5X3IpCi0rICAgICAgICBpZiAoYWJzKG14X3IgLSB4X3IpID4gMS4wRC02 KSBTVE9QIDI3Ci0rICAgICAgICBteF9yID0gTUFYKC1hX3IsIC1iX3IsIHhfciwgeV9yKQotKyAg ICAgICAgaWYgKGFicyhteF9yIC0geF9yKSA+IDEuMEQtNikgU1RPUCAyOAotKyAgICAgICAgbXhf ciA9IE1BWCgtYV9pLCAtYl9yLCB4X3IsIHlfaSkgISB7IGRnLWVycm9yICInYTInIGFyZ3VtZW50 IiB9Ci0rICAgICAgICBpZiAoYWJzKG14X3IgLSB4X3IpID4gMS4wRC02KSBTVE9QIDI5Ci0rICAg ICAgICBteF9pID0gTUFYTE9DKGFycmF5X25hbiwgMSkKLSsgICAgICAgIGlmIChteF9pIC5uZS4g MikgU1RPUCAzMAotKwotKyAgICAgICAgbW5faSA9IE1JTigtYV9pLCAtYl9pLCB4X2ksIHlfaSkK LSsgICAgICAgIGlmIChtbl9pIC5uZS4gLWFfaSkgU1RPUCAzMQotKyAgICAgICAgbW5faSA9IE1J TigtYTJfaSwgLWIyX2ksIHhfaSwgeV9pKQotKyAgICAgICAgaWYgKG1uX2kgLm5lLiAtYTJfaSkg U1RPUCAzMgotKyAgICAgICAgbW5fciA9IE1JTigtYV9yLCAtYl9yLCB4X3IsIHlfcikKLSsgICAg ICAgIGlmIChhYnMobW5fciAtICgtYV9yKSkgPiAxLjBELTYpIFNUT1AgMzMKLSsgICAgICAgIG1u X3IgPSBNSU4oLWEyX3IsIC1iMl9yLCB4X3IsIHlfcikKLSsgICAgICAgIGlmIChhYnMobW5fciAt ICgtYTJfcikpID4gMS4wRC02KSBTVE9QIDM0Ci0rICAgICAgICBtbl9yID0gTUlOKC1hX2ksIC1i X3IsIHhfciwgeV9pKSAhIHsgZGctZXJyb3IgIidhMicgYXJndW1lbnQiIH0KLSsgICAgICAgIGlm IChhYnMobW5fciAtICgtYV9yKSkgPiAxLjBELTYpIFNUT1AgMzUKLSsgICAgICAgIG1uX2kgPSBN SU5MT0MoYXJyYXlfbmFuLCAxKQotKyAgICAgICAgaWYgKG1uX2kgLm5lLiAxKSBTVE9QIDM2Ci0r ICAgICAgRU5EIFBST0dSQU0KLWRpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRn L2RlY19pbnRyaW5zaWNfaW50X3JlYWxfcHJvbW90aW9uXzQuZiBiL2djYy90ZXN0c3VpdGUvZ2Zv cnRyYW4uZGcvZGVjX2ludHJpbnNpY19pbnRfcmVhbF9wcm9tb3Rpb25fNC5mCi1uZXcgZmlsZSBt b2RlIDEwMDY0NAotaW5kZXggMDAwMDAwMDAwMDAuLmVmYTRmMjM2NDEwCi0tLS0gL2Rldi9udWxs Ci0rKysgYi9nY2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL2RlY19pbnRyaW5zaWNfaW50X3JlYWxf cHJvbW90aW9uXzQuZgotQEAgLTAsMCArMSwxMTggQEAKLSshIHsgZGctZG8gY29tcGlsZSB9Ci0r ISB7IGRnLW9wdGlvbnMgIi1mZGVjIiB9Ci0rIQotKyEgVGVzdCBwcm9tb3Rpb24gYmV0d2VlbiBp bnRlZ2VycyBhbmQgcmVhbHMgaW4gaW50cmluc2ljIG9wZXJhdGlvbnMuCi0rISBUaGVzZSBvcGVy YXRpb25zIGFyZTogbW9kLCBtb2R1bG8sIGRpbSwgc2lnbiwgbWluLCBtYXgsIG1pbmxvYyBhbmQK LSshIG1heGxvYy4KLSshCi0rISBDb250cmlidXRlZCBieSBGcmFuY2lzY28gUmVkb25kbyBNYXJj aGVuYSA8ZnJhbmNpc2NvLm1hcmNoZW5hQGNvZGV0aGluay5jby51az4KLSshICAgICAgICAgICAg IGFuZCBKZWZmIExhdyA8bGF3QHJlZGhhdC5jb20+Ci0rISBNb2RpZmllZCBieSBNYXJrIEVnZ2xl c3RvbiA8bWFyay5lZ2dsZXN0b25AY29kZXRoaW5rLmNvbT4KLSshCi0rICAgICAgUFJPR1JBTSBw cm9tb3Rpb25faW50X3JlYWwKLSsgICAgICAgIFJFQUwgbC8wLjAvCi0rICAgICAgICBMT0dJQ0FM IGFfbAotKyAgICAgICAgTE9HSUNBTCo0IGEyX2wKLSsgICAgICAgIExPR0lDQUwgYl9sCi0rICAg ICAgICBMT0dJQ0FMKjggYjJfbAotKyAgICAgICAgTE9HSUNBTCB4X2wKLSsgICAgICAgIExPR0lD QUwgeV9sCi0rICAgICAgICBDSEFSQUNURVIgYV9jCi0rICAgICAgICBDSEFSQUNURVIqNCBhMl9j Ci0rICAgICAgICBDSEFSQUNURVIgYl9jCi0rICAgICAgICBDSEFSQUNURVIqOCBiMl9jCi0rICAg ICAgICBDSEFSQUNURVIgeF9jCi0rICAgICAgICBDSEFSQUNURVIgeV9jCi0rCi0rICAgICAgICBJ TlRFR0VSIG1faS8wLwotKyAgICAgICAgUkVBTCBtX3IvMC4wLwotKwotKyAgICAgICAgSU5URUdF UiBtZF9pLzAvCi0rICAgICAgICBSRUFMIG1kX3IvMC4wLwotKwotKyAgICAgICAgSU5URUdFUiBk X2kvMC8KLSsgICAgICAgIFJFQUwgZF9yLzAuMC8KLSsKLSsgICAgICAgIElOVEVHRVIgc19pLzAv Ci0rICAgICAgICBSRUFMIHNfci8wLjAvCi0rCi0rICAgICAgICBJTlRFR0VSIG1uX2kvMC8KLSsg ICAgICAgIFJFQUwgbW5fci8wLjAvCi0rCi0rICAgICAgICBJTlRFR0VSIG14X2kvMC8KLSsgICAg ICAgIFJFQUwgbXhfci8wLjAvCi0rCi0rICAgICAgICBtX2kgPSBNT0QoYV9sLCBiX2wpICAgICAg ICAgICAgICAgICAgICAgISB7IGRnLWVycm9yICIiIH0KLSsgICAgICAgIGlmIChtX2kgLm5lLiAx KSBTVE9QIDEKLSsgICAgICAgIG1faSA9IE1PRChhMl9sLCBiMl9sKSAgICAgICAgICAgICAgICAg ICAhIHsgZGctZXJyb3IgIiIgfQotKyAgICAgICAgaWYgKG1faSAubmUuIDEpIFNUT1AgMgotKyAg ICAgICAgbV9yID0gTU9EKGFfYywgYl9jKSAgICAgICAgICAgICAgICAgICAgICEgeyBkZy1lcnJv ciAiIiB9Ci0rICAgICAgICBpZiAoYWJzKG1fciAtIDEuMCkgPiAxLjBELTYpIFNUT1AgMwotKyAg ICAgICAgbV9yID0gTU9EKGEyX2MsIGIyX2MpICAgICAgICAgICAgICAgICAgICEgeyBkZy1lcnJv ciAiIiB9Ci0rICAgICAgICBpZiAoYWJzKG1fciAtIDEuMCkgPiAxLjBELTYpIFNUT1AgNAotKyAg ICAgICAgbV9yID0gTU9EKGFfbCwgYl9jKSAgICAgICAgICAgICAgICAgICAgICEgeyBkZy1lcnJv ciAiIiB9Ci0rICAgICAgICBpZiAoYWJzKG1fciAtIDEuMCkgPiAxLjBELTYpIFNUT1AgNQotKyAg ICAgICAgbV9yID0gTU9EKGFfYywgYl9sKSAgICAgICAgICAgICAgICAgICAgICEgeyBkZy1lcnJv ciAiIiB9Ci0rICAgICAgICBpZiAoYWJzKG1fciAtIDEuMCkgPiAxLjBELTYpIFNUT1AgNgotKwot KyAgICAgICAgbWRfaSA9IE1PRFVMTyhhX2wsIGJfbCkgICAgICAgICAgICAgICAgICEgeyBkZy1l cnJvciAiIiB9Ci0rICAgICAgICBpZiAobWRfaSAubmUuIDEpIFNUT1AgNwotKyAgICAgICAgbWRf aSA9IE1PRFVMTyhhMl9sLCBiMl9sKSAgICAgICAgICAgICAgICEgeyBkZy1lcnJvciAiIiB9Ci0r ICAgICAgICBpZiAobWRfaSAubmUuIDEpIFNUT1AgOAotKyAgICAgICAgbWRfciA9IE1PRFVMTyhh X2MsIGJfYykgICAgICAgICAgICAgICAgICEgeyBkZy1lcnJvciAiIiB9Ci0rICAgICAgICBpZiAo YWJzKG1kX3IgLSAxLjApID4gMS4wRC02KSBTVE9QIDkKLSsgICAgICAgIG1kX3IgPSBNT0RVTE8o YTJfYywgYjJfYykgICAgICAgICAgICAgICAhIHsgZGctZXJyb3IgIiIgfQotKyAgICAgICAgaWYg KGFicyhtZF9yIC0gMS4wKSA+IDEuMEQtNikgU1RPUCAxMAotKyAgICAgICAgbWRfciA9IE1PRFVM TyhhX2wsIGJfYykgICAgICAgICAgICAgICAgICEgeyBkZy1lcnJvciAiIiB9Ci0rICAgICAgICBp ZiAoYWJzKG1kX3IgLSAxLjApID4gMS4wRC02KSBTVE9QIDExCi0rICAgICAgICBtZF9yID0gTU9E VUxPKGFfYywgYl9sKSAgICAgICAgICAgICAgICAgISB7IGRnLWVycm9yICIiIH0KLSsgICAgICAg IGlmIChhYnMobWRfciAtIDEuMCkgPiAxLjBELTYpIFNUT1AgMTIKLSsKLSsgICAgICAgIGRfaSA9 IERJTShhX2wsIGJfbCkgICAgICAgICAgICAgICAgICAgICAhIHsgZGctZXJyb3IgIiIgfQotKyAg ICAgICAgaWYgKGRfaSAubmUuIDEpIFNUT1AgMTMKLSsgICAgICAgIGRfaSA9IERJTShhMl9sLCBi Ml9sKSAgICAgICAgICAgICAgICAgICAhIHsgZGctZXJyb3IgIiIgfQotKyAgICAgICAgaWYgKGRf aSAubmUuIDEpIFNUT1AgMTQKLSsgICAgICAgIGRfciA9IERJTShhX2MsIGJfYykgICAgICAgICAg ICAgICAgICAgICAhIHsgZGctZXJyb3IgIiIgfQotKyAgICAgICAgaWYgKGFicyhkX3IgLSAxLjAp ID4gMS4wRC02KSBTVE9QIDE1Ci0rICAgICAgICBkX3IgPSBESU0oYTJfYywgYjJfYykgICAgICAg ICAgICAgICAgICAgISB7IGRnLWVycm9yICIiIH0KLSsgICAgICAgIGlmIChhYnMoZF9yIC0gMS4w KSA+IDEuMEQtNikgU1RPUCAxNgotKyAgICAgICAgZF9yID0gRElNKGFfYywgYl9sKSAgICAgICAg ICAgICAgICAgICAgICEgeyBkZy1lcnJvciAiIiB9Ci0rICAgICAgICBpZiAoYWJzKGRfciAtIDEu MCkgPiAxLjBELTYpIFNUT1AgMTcKLSsgICAgICAgIGRfciA9IERJTShiX2wsIGFfYykgICAgICAg ICAgICAgICAgICAgICAhIHsgZGctZXJyb3IgIiIgfQotKyAgICAgICAgaWYgKGFicyhkX3IpID4g MS4wRC02KSBTVE9QIDE4Ci0rCi0rICAgICAgICBzX2kgPSBTSUdOKC1hX2wsIGJfbCkgICAgICAg ICAgICAgICAgICAgISB7IGRnLWVycm9yICIiIH0KLSsgICAgICAgIGlmIChzX2kgLm5lLiA0KSBT VE9QIDE5Ci0rICAgICAgICBzX2kgPSBTSUdOKC1hMl9sLCBiMl9sKSAgICAgICAgICAgICAgICAg ISB7IGRnLWVycm9yICIiIH0KLSsgICAgICAgIGlmIChzX2kgLm5lLiA0KSBTVE9QIDIwCi0rICAg ICAgICBzX3IgPSBTSUdOKGFfYywgLWJfYykgICAgICAgICAgICAgICAgICAgISB7IGRnLWVycm9y ICIiIH0KLSsgICAgICAgIGlmIChhYnMoc19yIC0gKC1hX2MpKSA+IDEuMEQtNikgU1RPUCAyMSAh IHsgZGctZXJyb3IgIiIgfQotKyAgICAgICAgc19yID0gU0lHTihhMl9jLCAtYjJfYykgICAgICAg ICAgICAgICAgICEgeyBkZy1lcnJvciAiIiB9Ci0rICAgICAgICBpZiAoYWJzKHNfciAtICgtYTJf YykpID4gMS4wRC02KSBTVE9QIDIyICEgeyBkZy1lcnJvciAiIiB9Ci0rICAgICAgICBzX3IgPSBT SUdOKGFfYywgLWJfbCkgICAgICAgICAgICAgICAgICAgISB7IGRnLWVycm9yICIiIH0KLSsgICAg ICAgIGlmIChhYnMoc19yIC0gKC1hX2MpKSA+IDEuMEQtNikgU1RPUCAyMyAhIHsgZGctZXJyb3Ig IiIgfQotKyAgICAgICAgc19yID0gU0lHTigtYV9sLCBiX2MpICAgICAgICAgICAgICAgICAgICEg eyBkZy1lcnJvciAiIiB9Ci0rICAgICAgICBpZiAoYWJzKHNfciAtIGFfYykgPiAxLjBELTYpIFNU T1AgMjQgICAgISB7IGRnLWVycm9yICIiIH0KLSsKLSsgICAgICAgIG14X2kgPSBNQVgoLWFfbCwg LWJfbCwgeF9sLCB5X2wpICAgICAgICAhIHsgZGctZXJyb3IgIiIgfQotKyAgICAgICAgaWYgKG14 X2kgLm5lLiB4X2wpIFNUT1AgMjUgICAgICAgICAgICAgICEgeyBkZy1lcnJvciAiIiB9Ci0rICAg ICAgICBteF9pID0gTUFYKC1hMl9sLCAtYjJfbCwgeF9sLCB5X2wpICAgICAgISB7IGRnLWVycm9y ICIiIH0KLSsgICAgICAgIGlmIChteF9pIC5uZS4geF9sKSBTVE9QIDI2ICAgICAgICAgICAgICAh IHsgZGctZXJyb3IgIiIgfQotKyAgICAgICAgbXhfciA9IE1BWCgtYV9jLCAtYl9jLCB4X2MsIHlf YykgICAgICAgICEgeyBkZy1lcnJvciAiIiB9Ci0rICAgICAgICBpZiAoYWJzKG14X3IgLSB4X2Mp ID4gMS4wRC02KSBTVE9QIDI3ICAgISB7IGRnLWVycm9yICIiIH0KLSsgICAgICAgIG14X3IgPSBN QVgoLWFfYywgLWJfYywgeF9jLCB5X2MpICAgICAgICAhIHsgZGctZXJyb3IgIiIgfQotKyAgICAg ICAgaWYgKGFicyhteF9yIC0geF9jKSA+IDEuMEQtNikgU1RPUCAyOCAgICEgeyBkZy1lcnJvciAi IiB9Ci0rICAgICAgICBteF9yID0gTUFYKC1hX2wsIC1iX2MsIHhfYywgeV9sKSAgICAgICAgISB7 IGRnLWVycm9yICIiIH0KLSsgICAgICAgIGlmIChhYnMobXhfciAtIHhfYykgPiAxLjBELTYpIFNU T1AgMjkgICAhIHsgZGctZXJyb3IgIiIgfQotKwotKyAgICAgICAgbW5faSA9IE1JTigtYV9sLCAt Yl9sLCB4X2wsIHlfbCkgICAgICAgICEgeyBkZy1lcnJvciAiIiB9Ci0rICAgICAgICBpZiAobW5f aSAubmUuIC1hX2wpIFNUT1AgMzEgICAgICAgICAgICAgISB7IGRnLWVycm9yICIiIH0KLSsgICAg ICAgIG1uX2kgPSBNSU4oLWEyX2wsIC1iMl9sLCB4X2wsIHlfbCkgICAgICAhIHsgZGctZXJyb3Ig IiIgfQotKyAgICAgICAgaWYgKG1uX2kgLm5lLiAtYTJfbCkgU1RPUCAzMiAgICAgICAgICAgICEg eyBkZy1lcnJvciAiIiB9Ci0rICAgICAgICBtbl9yID0gTUlOKC1hX2MsIC1iX2MsIHhfYywgeV9j KSAgICAgICAgISB7IGRnLWVycm9yICIiIH0KLSsgICAgICAgIGlmIChhYnMobW5fciAtICgtYV9j KSkgPiAxLjBELTYpIFNUT1AgMzMgISB7IGRnLWVycm9yICIiIH0KLSsgICAgICAgIG1uX3IgPSBN SU4oLWEyX2MsIC1iMl9jLCB4X2MsIHlfYykgICAgICAhIHsgZGctZXJyb3IgIiIgfQotKyAgICAg ICAgaWYgKGFicyhtbl9yIC0gKC1hMl9jKSkgPiAxLjBELTYpIFNUT1AgMzQgISB7IGRnLWVycm9y ICIiIH0KLSsgICAgICAgIG1uX3IgPSBNSU4oLWFfbCwgLWJfYywgeF9jLCB5X2wpICAgICAgICAh IHsgZGctZXJyb3IgIiIgfQotKyAgICAgICAgaWYgKGFicyhtbl9yIC0gKC1hX2MpKSA+IDEuMEQt NikgU1RPUCAzNSAhIHsgZGctZXJyb3IgIiIgfQotKyAgICAgIEVORCBQUk9HUkFNCi1kaWZmIC0t Z2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9kZWNfaW50cmluc2ljX2ludF9yZWFsX3By b21vdGlvbl81LmYgYi9nY2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL2RlY19pbnRyaW5zaWNfaW50 X3JlYWxfcHJvbW90aW9uXzUuZgotbmV3IGZpbGUgbW9kZSAxMDA2NDQKLWluZGV4IDAwMDAwMDAw MDAwLi5kMDIzYWY1MDg2ZAotLS0tIC9kZXYvbnVsbAotKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nZm9y dHJhbi5kZy9kZWNfaW50cmluc2ljX2ludF9yZWFsX3Byb21vdGlvbl81LmYKLUBAIC0wLDAgKzEs MTE4IEBACi0rISB7IGRnLWRvIGNvbXBpbGUgfQotKyEgeyBkZy1vcHRpb25zICItZmRlYy1wcm9t b3Rpb24iIH0KLSshCi0rISBUZXN0IHByb21vdGlvbiBiZXR3ZWVuIGludGVnZXJzIGFuZCByZWFs cyBpbiBpbnRyaW5zaWMgb3BlcmF0aW9ucy4KLSshIFRoZXNlIG9wZXJhdGlvbnMgYXJlOiBtb2Qs IG1vZHVsbywgZGltLCBzaWduLCBtaW4sIG1heCwgbWlubG9jIGFuZAotKyEgbWF4bG9jLgotKyEK LSshIENvbnRyaWJ1dGVkIGJ5IEZyYW5jaXNjbyBSZWRvbmRvIE1hcmNoZW5hIDxmcmFuY2lzY28u bWFyY2hlbmFAY29kZXRoaW5rLmNvLnVrPgotKyEgICAgICAgICAgICAgYW5kIEplZmYgTGF3IDxs YXdAcmVkaGF0LmNvbT4KLSshIE1vZGlmaWVkIGJ5IE1hcmsgRWdnbGVzdG9uIDxtYXJrLmVnZ2xl c3RvbkBjb2RldGhpbmsuY29tPgotKyEKLSsgICAgICBQUk9HUkFNIHByb21vdGlvbl9pbnRfcmVh bAotKyAgICAgICAgUkVBTCBsLzAuMC8KLSsgICAgICAgIExPR0lDQUwgYV9sCi0rICAgICAgICBM T0dJQ0FMKjQgYTJfbAotKyAgICAgICAgTE9HSUNBTCBiX2wKLSsgICAgICAgIExPR0lDQUwqOCBi Ml9sCi0rICAgICAgICBMT0dJQ0FMIHhfbAotKyAgICAgICAgTE9HSUNBTCB5X2wKLSsgICAgICAg IENIQVJBQ1RFUiBhX2MKLSsgICAgICAgIENIQVJBQ1RFUio0IGEyX2MKLSsgICAgICAgIENIQVJB Q1RFUiBiX2MKLSsgICAgICAgIENIQVJBQ1RFUio4IGIyX2MKLSsgICAgICAgIENIQVJBQ1RFUiB4 X2MKLSsgICAgICAgIENIQVJBQ1RFUiB5X2MKLSsKLSsgICAgICAgIElOVEVHRVIgbV9pLzAvCi0r ICAgICAgICBSRUFMIG1fci8wLjAvCi0rCi0rICAgICAgICBJTlRFR0VSIG1kX2kvMC8KLSsgICAg ICAgIFJFQUwgbWRfci8wLjAvCi0rCi0rICAgICAgICBJTlRFR0VSIGRfaS8wLwotKyAgICAgICAg UkVBTCBkX3IvMC4wLwotKwotKyAgICAgICAgSU5URUdFUiBzX2kvMC8KLSsgICAgICAgIFJFQUwg c19yLzAuMC8KLSsKLSsgICAgICAgIElOVEVHRVIgbW5faS8wLwotKyAgICAgICAgUkVBTCBtbl9y LzAuMC8KLSsKLSsgICAgICAgIElOVEVHRVIgbXhfaS8wLwotKyAgICAgICAgUkVBTCBteF9yLzAu MC8KLSsKLSsgICAgICAgIG1faSA9IE1PRChhX2wsIGJfbCkgICAgICAgICAgICAgICAgICAgICAh IHsgZGctZXJyb3IgIiIgfQotKyAgICAgICAgaWYgKG1faSAubmUuIDEpIFNUT1AgMQotKyAgICAg ICAgbV9pID0gTU9EKGEyX2wsIGIyX2wpICAgICAgICAgICAgICAgICAgICEgeyBkZy1lcnJvciAi IiB9Ci0rICAgICAgICBpZiAobV9pIC5uZS4gMSkgU1RPUCAyCi0rICAgICAgICBtX3IgPSBNT0Qo YV9jLCBiX2MpICAgICAgICAgICAgICAgICAgICAgISB7IGRnLWVycm9yICIiIH0KLSsgICAgICAg IGlmIChhYnMobV9yIC0gMS4wKSA+IDEuMEQtNikgU1RPUCAzCi0rICAgICAgICBtX3IgPSBNT0Qo YTJfYywgYjJfYykgICAgICAgICAgICAgICAgICAgISB7IGRnLWVycm9yICIiIH0KLSsgICAgICAg IGlmIChhYnMobV9yIC0gMS4wKSA+IDEuMEQtNikgU1RPUCA0Ci0rICAgICAgICBtX3IgPSBNT0Qo YV9sLCBiX2MpICAgICAgICAgICAgICAgICAgICAgISB7IGRnLWVycm9yICIiIH0KLSsgICAgICAg IGlmIChhYnMobV9yIC0gMS4wKSA+IDEuMEQtNikgU1RPUCA1Ci0rICAgICAgICBtX3IgPSBNT0Qo YV9jLCBiX2wpICAgICAgICAgICAgICAgICAgICAgISB7IGRnLWVycm9yICIiIH0KLSsgICAgICAg IGlmIChhYnMobV9yIC0gMS4wKSA+IDEuMEQtNikgU1RPUCA2Ci0rCi0rICAgICAgICBtZF9pID0g TU9EVUxPKGFfbCwgYl9sKSAgICAgICAgICAgICAgICAgISB7IGRnLWVycm9yICIiIH0KLSsgICAg ICAgIGlmIChtZF9pIC5uZS4gMSkgU1RPUCA3Ci0rICAgICAgICBtZF9pID0gTU9EVUxPKGEyX2ws IGIyX2wpICAgICAgICAgICAgICAgISB7IGRnLWVycm9yICIiIH0KLSsgICAgICAgIGlmIChtZF9p IC5uZS4gMSkgU1RPUCA4Ci0rICAgICAgICBtZF9yID0gTU9EVUxPKGFfYywgYl9jKSAgICAgICAg ICAgICAgICAgISB7IGRnLWVycm9yICIiIH0KLSsgICAgICAgIGlmIChhYnMobWRfciAtIDEuMCkg PiAxLjBELTYpIFNUT1AgOQotKyAgICAgICAgbWRfciA9IE1PRFVMTyhhMl9jLCBiMl9jKSAgICAg ICAgICAgICAgICEgeyBkZy1lcnJvciAiIiB9Ci0rICAgICAgICBpZiAoYWJzKG1kX3IgLSAxLjAp ID4gMS4wRC02KSBTVE9QIDEwCi0rICAgICAgICBtZF9yID0gTU9EVUxPKGFfbCwgYl9jKSAgICAg ICAgICAgICAgICAgISB7IGRnLWVycm9yICIiIH0KLSsgICAgICAgIGlmIChhYnMobWRfciAtIDEu MCkgPiAxLjBELTYpIFNUT1AgMTEKLSsgICAgICAgIG1kX3IgPSBNT0RVTE8oYV9jLCBiX2wpICAg ICAgICAgICAgICAgICAhIHsgZGctZXJyb3IgIiIgfQotKyAgICAgICAgaWYgKGFicyhtZF9yIC0g MS4wKSA+IDEuMEQtNikgU1RPUCAxMgotKwotKyAgICAgICAgZF9pID0gRElNKGFfbCwgYl9sKSAg ICAgICAgICAgICAgICAgICAgICEgeyBkZy1lcnJvciAiIiB9Ci0rICAgICAgICBpZiAoZF9pIC5u ZS4gMSkgU1RPUCAxMwotKyAgICAgICAgZF9pID0gRElNKGEyX2wsIGIyX2wpICAgICAgICAgICAg ICAgICAgICEgeyBkZy1lcnJvciAiIiB9Ci0rICAgICAgICBpZiAoZF9pIC5uZS4gMSkgU1RPUCAx NAotKyAgICAgICAgZF9yID0gRElNKGFfYywgYl9jKSAgICAgICAgICAgICAgICAgICAgICEgeyBk Zy1lcnJvciAiIiB9Ci0rICAgICAgICBpZiAoYWJzKGRfciAtIDEuMCkgPiAxLjBELTYpIFNUT1Ag MTUKLSsgICAgICAgIGRfciA9IERJTShhMl9jLCBiMl9jKSAgICAgICAgICAgICAgICAgICAhIHsg ZGctZXJyb3IgIiIgfQotKyAgICAgICAgaWYgKGFicyhkX3IgLSAxLjApID4gMS4wRC02KSBTVE9Q IDE2Ci0rICAgICAgICBkX3IgPSBESU0oYV9jLCBiX2wpICAgICAgICAgICAgICAgICAgICAgISB7 IGRnLWVycm9yICIiIH0KLSsgICAgICAgIGlmIChhYnMoZF9yIC0gMS4wKSA+IDEuMEQtNikgU1RP UCAxNwotKyAgICAgICAgZF9yID0gRElNKGJfbCwgYV9jKSAgICAgICAgICAgICAgICAgICAgICEg eyBkZy1lcnJvciAiIiB9Ci0rICAgICAgICBpZiAoYWJzKGRfcikgPiAxLjBELTYpIFNUT1AgMTgK LSsKLSsgICAgICAgIHNfaSA9IFNJR04oLWFfbCwgYl9sKSAgICAgICAgICAgICAgICAgICAhIHsg ZGctZXJyb3IgIiIgfQotKyAgICAgICAgaWYgKHNfaSAubmUuIDQpIFNUT1AgMTkKLSsgICAgICAg IHNfaSA9IFNJR04oLWEyX2wsIGIyX2wpICAgICAgICAgICAgICAgICAhIHsgZGctZXJyb3IgIiIg fQotKyAgICAgICAgaWYgKHNfaSAubmUuIDQpIFNUT1AgMjAKLSsgICAgICAgIHNfciA9IFNJR04o YV9jLCAtYl9jKSAgICAgICAgICAgICAgICAgICAhIHsgZGctZXJyb3IgIiIgfQotKyAgICAgICAg aWYgKGFicyhzX3IgLSAoLWFfYykpID4gMS4wRC02KSBTVE9QIDIxICEgeyBkZy1lcnJvciAiIiB9 Ci0rICAgICAgICBzX3IgPSBTSUdOKGEyX2MsIC1iMl9jKSAgICAgICAgICAgICAgICAgISB7IGRn LWVycm9yICIiIH0KLSsgICAgICAgIGlmIChhYnMoc19yIC0gKC1hMl9jKSkgPiAxLjBELTYpIFNU T1AgMjIgISB7IGRnLWVycm9yICIiIH0KLSsgICAgICAgIHNfciA9IFNJR04oYV9jLCAtYl9sKSAg ICAgICAgICAgICAgICAgICAhIHsgZGctZXJyb3IgIiIgfQotKyAgICAgICAgaWYgKGFicyhzX3Ig LSAoLWFfYykpID4gMS4wRC02KSBTVE9QIDIzICEgeyBkZy1lcnJvciAiIiB9Ci0rICAgICAgICBz X3IgPSBTSUdOKC1hX2wsIGJfYykgICAgICAgICAgICAgICAgICAgISB7IGRnLWVycm9yICIiIH0K LSsgICAgICAgIGlmIChhYnMoc19yIC0gYV9jKSA+IDEuMEQtNikgU1RPUCAyNCAgICAhIHsgZGct ZXJyb3IgIiIgfQotKwotKyAgICAgICAgbXhfaSA9IE1BWCgtYV9sLCAtYl9sLCB4X2wsIHlfbCkg ICAgICAgICEgeyBkZy1lcnJvciAiIiB9Ci0rICAgICAgICBpZiAobXhfaSAubmUuIHhfbCkgU1RP UCAyNSAgICAgICAgICAgICAgISB7IGRnLWVycm9yICIiIH0KLSsgICAgICAgIG14X2kgPSBNQVgo LWEyX2wsIC1iMl9sLCB4X2wsIHlfbCkgICAgICAhIHsgZGctZXJyb3IgIiIgfQotKyAgICAgICAg aWYgKG14X2kgLm5lLiB4X2wpIFNUT1AgMjYgICAgICAgICAgICAgICEgeyBkZy1lcnJvciAiIiB9 Ci0rICAgICAgICBteF9yID0gTUFYKC1hX2MsIC1iX2MsIHhfYywgeV9jKSAgICAgICAgISB7IGRn LWVycm9yICIiIH0KLSsgICAgICAgIGlmIChhYnMobXhfciAtIHhfYykgPiAxLjBELTYpIFNUT1Ag MjcgICAhIHsgZGctZXJyb3IgIiIgfQotKyAgICAgICAgbXhfciA9IE1BWCgtYV9jLCAtYl9jLCB4 X2MsIHlfYykgICAgICAgICEgeyBkZy1lcnJvciAiIiB9Ci0rICAgICAgICBpZiAoYWJzKG14X3Ig LSB4X2MpID4gMS4wRC02KSBTVE9QIDI4ICAgISB7IGRnLWVycm9yICIiIH0KLSsgICAgICAgIG14 X3IgPSBNQVgoLWFfbCwgLWJfYywgeF9jLCB5X2wpICAgICAgICAhIHsgZGctZXJyb3IgIiIgfQot KyAgICAgICAgaWYgKGFicyhteF9yIC0geF9jKSA+IDEuMEQtNikgU1RPUCAyOSAgICEgeyBkZy1l cnJvciAiIiB9Ci0rCi0rICAgICAgICBtbl9pID0gTUlOKC1hX2wsIC1iX2wsIHhfbCwgeV9sKSAg ICAgICAgISB7IGRnLWVycm9yICIiIH0KLSsgICAgICAgIGlmIChtbl9pIC5uZS4gLWFfbCkgU1RP UCAzMSAgICAgICAgICAgICAhIHsgZGctZXJyb3IgIiIgfQotKyAgICAgICAgbW5faSA9IE1JTigt YTJfbCwgLWIyX2wsIHhfbCwgeV9sKSAgICAgICEgeyBkZy1lcnJvciAiIiB9Ci0rICAgICAgICBp ZiAobW5faSAubmUuIC1hMl9sKSBTVE9QIDMyICAgICAgICAgICAgISB7IGRnLWVycm9yICIiIH0K LSsgICAgICAgIG1uX3IgPSBNSU4oLWFfYywgLWJfYywgeF9jLCB5X2MpICAgICAgICAhIHsgZGct ZXJyb3IgIiIgfQotKyAgICAgICAgaWYgKGFicyhtbl9yIC0gKC1hX2MpKSA+IDEuMEQtNikgU1RP UCAzMyAhIHsgZGctZXJyb3IgIiIgfQotKyAgICAgICAgbW5fciA9IE1JTigtYTJfYywgLWIyX2Ms IHhfYywgeV9jKSAgICAgICEgeyBkZy1lcnJvciAiIiB9Ci0rICAgICAgICBpZiAoYWJzKG1uX3Ig LSAoLWEyX2MpKSA+IDEuMEQtNikgU1RPUCAzNCAhIHsgZGctZXJyb3IgIiIgfQotKyAgICAgICAg bW5fciA9IE1JTigtYV9sLCAtYl9jLCB4X2MsIHlfbCkgICAgICAgICEgeyBkZy1lcnJvciAiIiB9 Ci0rICAgICAgICBpZiAoYWJzKG1uX3IgLSAoLWFfYykpID4gMS4wRC02KSBTVE9QIDM1ICEgeyBk Zy1lcnJvciAiIiB9Ci0rICAgICAgRU5EIFBST0dSQU0KLWRpZmYgLS1naXQgYS9nY2MvdGVzdHN1 aXRlL2dmb3J0cmFuLmRnL2RlY19pbnRyaW5zaWNfaW50X3JlYWxfcHJvbW90aW9uXzYuZiBiL2dj Yy90ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcvZGVjX2ludHJpbnNpY19pbnRfcmVhbF9wcm9tb3Rpb25f Ni5mCi1uZXcgZmlsZSBtb2RlIDEwMDY0NAotaW5kZXggMDAwMDAwMDAwMDAuLjAwZjhmYjg4ZjFi Ci0tLS0gL2Rldi9udWxsCi0rKysgYi9nY2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL2RlY19pbnRy aW5zaWNfaW50X3JlYWxfcHJvbW90aW9uXzYuZgotQEAgLTAsMCArMSwxMTggQEAKLSshIHsgZGct ZG8gY29tcGlsZSB9Ci0rISB7IGRnLW9wdGlvbnMgIi1mZGVjIiB9Ci0rIQotKyEgVGVzdCBwcm9t b3Rpb24gYmV0d2VlbiBpbnRlZ2VycyBhbmQgcmVhbHMgaW4gaW50cmluc2ljIG9wZXJhdGlvbnMu Ci0rISBUaGVzZSBvcGVyYXRpb25zIGFyZTogbW9kLCBtb2R1bG8sIGRpbSwgc2lnbiwgbWluLCBt YXgsIG1pbmxvYyBhbmQKLSshIG1heGxvYy4KLSshCi0rISBDb250cmlidXRlZCBieSBGcmFuY2lz Y28gUmVkb25kbyBNYXJjaGVuYSA8ZnJhbmNpc2NvLm1hcmNoZW5hQGNvZGV0aGluay5jby51az4K LSshICAgICAgICAgICAgIGFuZCBKZWZmIExhdyA8bGF3QHJlZGhhdC5jb20+Ci0rISBNb2RpZmll ZCBieSBNYXJrIEVnZ2xlc3RvbiA8bWFyay5lZ2dsZXN0b25AY29kZXRoaW5rLmNvbT4KLSshCi0r ICAgICAgUFJPR1JBTSBwcm9tb3Rpb25faW50X3JlYWwKLSsgICAgICAgIFJFQUwgbC8wLjAvCi0r ICAgICAgICBJTlRFR0VSIGFfaS80LwotKyAgICAgICAgSU5URUdFUio0IGEyX2kvNC8KLSsgICAg ICAgIENIQVJBQ1RFUiBiX2MKLSsgICAgICAgIENIQVJBQ1RFUio4IGIyX2MKLSsgICAgICAgIElO VEVHRVIgeF9pLzIvCi0rICAgICAgICBDSEFSQUNURVIgeV9jCi0rICAgICAgICBSRUFMIGFfci80 LjAvCi0rICAgICAgICBSRUFMKjQgYTJfci80LjAvCi0rICAgICAgICBMT0dJQ0FMIGJfbAotKyAg ICAgICAgTE9HSUNBTCo4IGIyX2wKLSsgICAgICAgIFJFQUwgeF9yLzIuMC8KLSsgICAgICAgIExP R0lDQUwgeV9sCi0rCi0rICAgICAgICBJTlRFR0VSIG1faS8wLwotKyAgICAgICAgUkVBTCBtX3Iv MC4wLwotKwotKyAgICAgICAgSU5URUdFUiBtZF9pLzAvCi0rICAgICAgICBSRUFMIG1kX3IvMC4w LwotKwotKyAgICAgICAgSU5URUdFUiBkX2kvMC8KLSsgICAgICAgIFJFQUwgZF9yLzAuMC8KLSsK LSsgICAgICAgIElOVEVHRVIgc19pLzAvCi0rICAgICAgICBSRUFMIHNfci8wLjAvCi0rCi0rICAg ICAgICBJTlRFR0VSIG1uX2kvMC8KLSsgICAgICAgIFJFQUwgbW5fci8wLjAvCi0rCi0rICAgICAg ICBJTlRFR0VSIG14X2kvMC8KLSsgICAgICAgIFJFQUwgbXhfci8wLjAvCi0rCi0rICAgICAgICBt X2kgPSBNT0QoYV9pLCBiX2MpICAgICAgICAgICAgICAgICAgICAgISB7IGRnLWVycm9yICIiIH0K LSsgICAgICAgIGlmIChtX2kgLm5lLiAxKSBTVE9QIDEKLSsgICAgICAgIG1faSA9IE1PRChhMl9p LCBiMl9jKSAgICAgICAgICAgICAgICAgICAhIHsgZGctZXJyb3IgIiIgfQotKyAgICAgICAgaWYg KG1faSAubmUuIDEpIFNUT1AgMgotKyAgICAgICAgbV9yID0gTU9EKGFfciwgYl9sKSAgICAgICAg ICAgICAgICAgICAgICEgeyBkZy1lcnJvciAiIiB9Ci0rICAgICAgICBpZiAoYWJzKG1fciAtIDEu MCkgPiAxLjBELTYpIFNUT1AgMwotKyAgICAgICAgbV9yID0gTU9EKGEyX3IsIGIyX2wpICAgICAg ICAgICAgICAgICAgICEgeyBkZy1lcnJvciAiIiB9Ci0rICAgICAgICBpZiAoYWJzKG1fciAtIDEu MCkgPiAxLjBELTYpIFNUT1AgNAotKyAgICAgICAgbV9yID0gTU9EKGFfaSwgYl9sKSAgICAgICAg ICAgICAgICAgICAgICEgeyBkZy1lcnJvciAiIiB9Ci0rICAgICAgICBpZiAoYWJzKG1fciAtIDEu MCkgPiAxLjBELTYpIFNUT1AgNQotKyAgICAgICAgbV9yID0gTU9EKGFfciwgYl9jKSAgICAgICAg ICAgICAgICAgICAgICEgeyBkZy1lcnJvciAiIiB9Ci0rICAgICAgICBpZiAoYWJzKG1fciAtIDEu MCkgPiAxLjBELTYpIFNUT1AgNgotKwotKyAgICAgICAgbWRfaSA9IE1PRFVMTyhhX2ksIGJfYykg ICAgICAgICAgICAgICAgICEgeyBkZy1lcnJvciAiIiB9Ci0rICAgICAgICBpZiAobWRfaSAubmUu IDEpIFNUT1AgNwotKyAgICAgICAgbWRfaSA9IE1PRFVMTyhhMl9pLCBiMl9jKSAgICAgICAgICAg ICAgICEgeyBkZy1lcnJvciAiIiB9Ci0rICAgICAgICBpZiAobWRfaSAubmUuIDEpIFNUT1AgOAot KyAgICAgICAgbWRfciA9IE1PRFVMTyhhX3IsIGJfbCkgICAgICAgICAgICAgICAgICEgeyBkZy1l cnJvciAiIiB9Ci0rICAgICAgICBpZiAoYWJzKG1kX3IgLSAxLjApID4gMS4wRC02KSBTVE9QIDkK LSsgICAgICAgIG1kX3IgPSBNT0RVTE8oYTJfciwgYjJfbCkgICAgICAgICAgICAgICAhIHsgZGct ZXJyb3IgIiIgfQotKyAgICAgICAgaWYgKGFicyhtZF9yIC0gMS4wKSA+IDEuMEQtNikgU1RPUCAx MAotKyAgICAgICAgbWRfciA9IE1PRFVMTyhhX2ksIGJfbCkgICAgICAgICAgICAgICAgICEgeyBk Zy1lcnJvciAiIiB9Ci0rICAgICAgICBpZiAoYWJzKG1kX3IgLSAxLjApID4gMS4wRC02KSBTVE9Q IDExCi0rICAgICAgICBtZF9yID0gTU9EVUxPKGFfciwgYl9jKSAgICAgICAgICAgICAgICAgISB7 IGRnLWVycm9yICIiIH0KLSsgICAgICAgIGlmIChhYnMobWRfciAtIDEuMCkgPiAxLjBELTYpIFNU T1AgMTIKLSsKLSsgICAgICAgIGRfaSA9IERJTShhX2ksIGJfYykgICAgICAgICAgICAgICAgICAg ICAhIHsgZGctZXJyb3IgIiIgfQotKyAgICAgICAgaWYgKGRfaSAubmUuIDEpIFNUT1AgMTMKLSsg ICAgICAgIGRfaSA9IERJTShhMl9pLCBiMl9jKSAgICAgICAgICAgICAgICAgICAhIHsgZGctZXJy b3IgIiIgfQotKyAgICAgICAgaWYgKGRfaSAubmUuIDEpIFNUT1AgMTQKLSsgICAgICAgIGRfciA9 IERJTShhX3IsIGJfbCkgICAgICAgICAgICAgICAgICAgICAhIHsgZGctZXJyb3IgIiIgfQotKyAg ICAgICAgaWYgKGFicyhkX3IgLSAxLjApID4gMS4wRC02KSBTVE9QIDE1Ci0rICAgICAgICBkX3Ig PSBESU0oYTJfciwgYjJfbCkgICAgICAgICAgICAgICAgICAgISB7IGRnLWVycm9yICIiIH0KLSsg ICAgICAgIGlmIChhYnMoZF9yIC0gMS4wKSA+IDEuMEQtNikgU1RPUCAxNgotKyAgICAgICAgZF9y ID0gRElNKGFfciwgYl9jKSAgICAgICAgICAgICAgICAgICAgICEgeyBkZy1lcnJvciAiIiB9Ci0r ICAgICAgICBpZiAoYWJzKGRfciAtIDEuMCkgPiAxLjBELTYpIFNUT1AgMTcKLSsgICAgICAgIGRf ciA9IERJTShiX2MsIGFfcikgICAgICAgICAgICAgICAgICAgICAhIHsgZGctZXJyb3IgIiIgfQot KyAgICAgICAgaWYgKGFicyhkX3IpID4gMS4wRC02KSBTVE9QIDE4Ci0rCi0rICAgICAgICBzX2kg PSBTSUdOKC1hX2ksIGJfYykgICAgICAgICAgICAgICAgICAgISB7IGRnLWVycm9yICIiIH0KLSsg ICAgICAgIGlmIChzX2kgLm5lLiA0KSBTVE9QIDE5Ci0rICAgICAgICBzX2kgPSBTSUdOKC1hMl9p LCBiMl9jKSAgICAgICAgICAgICAgICAgISB7IGRnLWVycm9yICIiIH0KLSsgICAgICAgIGlmIChz X2kgLm5lLiA0KSBTVE9QIDIwCi0rICAgICAgICBzX3IgPSBTSUdOKGFfciwgLWJfbCkgICAgICAg ICAgICAgICAgICAgISB7IGRnLWVycm9yICIiIH0KLSsgICAgICAgIGlmIChhYnMoc19yIC0gKC1h X3IpKSA+IDEuMEQtNikgU1RPUCAyMQotKyAgICAgICAgc19yID0gU0lHTihhMl9yLCAtYjJfbCkg ICAgICAgICAgICAgICAgICEgeyBkZy1lcnJvciAiIiB9Ci0rICAgICAgICBpZiAoYWJzKHNfciAt ICgtYTJfcikpID4gMS4wRC02KSBTVE9QIDIyCi0rICAgICAgICBzX3IgPSBTSUdOKGFfciwgLWJf YykgICAgICAgICAgICAgICAgICAgISB7IGRnLWVycm9yICIiIH0KLSsgICAgICAgIGlmIChhYnMo c19yIC0gKC1hX3IpKSA+IDEuMEQtNikgU1RPUCAyMwotKyAgICAgICAgc19yID0gU0lHTigtYV9p LCBiX2wpICAgICAgICAgICAgICAgICAgICEgeyBkZy1lcnJvciAiIiB9Ci0rICAgICAgICBpZiAo YWJzKHNfciAtIGFfcikgPiAxLjBELTYpIFNUT1AgMjQKLSsKLSsgICAgICAgIG14X2kgPSBNQVgo LWFfaSwgLWJfYywgeF9pLCB5X2MpICAgICAgICAhIHsgZGctZXJyb3IgIiIgfQotKyAgICAgICAg aWYgKG14X2kgLm5lLiB4X2kpIFNUT1AgMjUKLSsgICAgICAgIG14X2kgPSBNQVgoLWEyX2ksIC1i Ml9jLCB4X2ksIHlfYykgICAgICAhIHsgZGctZXJyb3IgIiIgfQotKyAgICAgICAgaWYgKG14X2kg Lm5lLiB4X2kpIFNUT1AgMjYKLSsgICAgICAgIG14X3IgPSBNQVgoLWFfciwgLWJfbCwgeF9yLCB5 X2wpICAgICAgICAhIHsgZGctZXJyb3IgIiIgfQotKyAgICAgICAgaWYgKGFicyhteF9yIC0geF9y KSA+IDEuMEQtNikgU1RPUCAyNwotKyAgICAgICAgbXhfciA9IE1BWCgtYV9yLCAtYl9sLCB4X3Is IHlfbCkgICAgICAgICEgeyBkZy1lcnJvciAiIiB9Ci0rICAgICAgICBpZiAoYWJzKG14X3IgLSB4 X3IpID4gMS4wRC02KSBTVE9QIDI4Ci0rICAgICAgICBteF9yID0gTUFYKC1hX2ksIC1iX2wsIHhf ciwgeV9jKSAgICAgICAgISB7IGRnLWVycm9yICIiIH0KLSsgICAgICAgIGlmIChhYnMobXhfciAt IHhfcikgPiAxLjBELTYpIFNUT1AgMjkKLSsKLSsgICAgICAgIG1uX2kgPSBNSU4oLWFfaSwgLWJf YywgeF9pLCB5X2MpICAgICAgICAhIHsgZGctZXJyb3IgIiIgfQotKyAgICAgICAgaWYgKG1uX2kg Lm5lLiAtYV9pKSBTVE9QIDMxCi0rICAgICAgICBtbl9pID0gTUlOKC1hMl9pLCAtYjJfYywgeF9p LCB5X2MpICAgICAgISB7IGRnLWVycm9yICIiIH0KLSsgICAgICAgIGlmIChtbl9pIC5uZS4gLWEy X2kpIFNUT1AgMzIKLSsgICAgICAgIG1uX3IgPSBNSU4oLWFfciwgLWJfbCwgeF9yLCB5X2wpICAg ICAgICAhIHsgZGctZXJyb3IgIiIgfQotKyAgICAgICAgaWYgKGFicyhtbl9yIC0gKC1hX3IpKSA+ IDEuMEQtNikgU1RPUCAzMwotKyAgICAgICAgbW5fciA9IE1JTigtYTJfciwgLWIyX2wsIHhfciwg eV9sKSAgICAgICEgeyBkZy1lcnJvciAiIiB9Ci0rICAgICAgICBpZiAoYWJzKG1uX3IgLSAoLWEy X3IpKSA+IDEuMEQtNikgU1RPUCAzNAotKyAgICAgICAgbW5fciA9IE1JTigtYV9pLCAtYl9sLCB4 X3IsIHlfYykgICAgICAgICEgeyBkZy1lcnJvciAiIiB9Ci0rICAgICAgICBpZiAoYWJzKG1uX3Ig LSAoLWFfcikpID4gMS4wRC02KSBTVE9QIDM1Ci0rICAgICAgRU5EIFBST0dSQU0KLWRpZmYgLS1n aXQgYS9nY2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL2RlY19pbnRyaW5zaWNfaW50X3JlYWxfcHJv bW90aW9uXzcuZiBiL2djYy90ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcvZGVjX2ludHJpbnNpY19pbnRf cmVhbF9wcm9tb3Rpb25fNy5mCi1uZXcgZmlsZSBtb2RlIDEwMDY0NAotaW5kZXggMDAwMDAwMDAw MDAuLjFkNDE1MGQ4MWMwCi0tLS0gL2Rldi9udWxsCi0rKysgYi9nY2MvdGVzdHN1aXRlL2dmb3J0 cmFuLmRnL2RlY19pbnRyaW5zaWNfaW50X3JlYWxfcHJvbW90aW9uXzcuZgotQEAgLTAsMCArMSwx MTggQEAKLSshIHsgZGctZG8gY29tcGlsZSB9Ci0rISB7IGRnLW9wdGlvbnMgIi1mZGVjLXByb21v dGlvbiIgfQotKyEKLSshIFRlc3QgcHJvbW90aW9uIGJldHdlZW4gaW50ZWdlcnMgYW5kIHJlYWxz IGluIGludHJpbnNpYyBvcGVyYXRpb25zLgotKyEgVGhlc2Ugb3BlcmF0aW9ucyBhcmU6IG1vZCwg bW9kdWxvLCBkaW0sIHNpZ24sIG1pbiwgbWF4LCBtaW5sb2MgYW5kCi0rISBtYXhsb2MuCi0rIQot KyEgQ29udHJpYnV0ZWQgYnkgRnJhbmNpc2NvIFJlZG9uZG8gTWFyY2hlbmEgPGZyYW5jaXNjby5t YXJjaGVuYUBjb2RldGhpbmsuY28udWs+Ci0rISAgICAgICAgICAgICBhbmQgSmVmZiBMYXcgPGxh d0ByZWRoYXQuY29tPgotKyEgTW9kaWZpZWQgYnkgTWFyayBFZ2dsZXN0b24gPG1hcmsuZWdnbGVz dG9uQGNvZGV0aGluay5jb20+Ci0rIQotKyAgICAgIFBST0dSQU0gcHJvbW90aW9uX2ludF9yZWFs Ci0rICAgICAgICBSRUFMIGwvMC4wLwotKyAgICAgICAgSU5URUdFUiBhX2kvNC8KLSsgICAgICAg IElOVEVHRVIqNCBhMl9pLzQvCi0rICAgICAgICBDSEFSQUNURVIgYl9jCi0rICAgICAgICBDSEFS QUNURVIqOCBiMl9jCi0rICAgICAgICBJTlRFR0VSIHhfaS8yLwotKyAgICAgICAgQ0hBUkFDVEVS IHlfYwotKyAgICAgICAgUkVBTCBhX3IvNC4wLwotKyAgICAgICAgUkVBTCo0IGEyX3IvNC4wLwot KyAgICAgICAgTE9HSUNBTCBiX2wKLSsgICAgICAgIExPR0lDQUwqOCBiMl9sCi0rICAgICAgICBS RUFMIHhfci8yLjAvCi0rICAgICAgICBMT0dJQ0FMIHlfbAotKwotKyAgICAgICAgSU5URUdFUiBt X2kvMC8KLSsgICAgICAgIFJFQUwgbV9yLzAuMC8KLSsKLSsgICAgICAgIElOVEVHRVIgbWRfaS8w LwotKyAgICAgICAgUkVBTCBtZF9yLzAuMC8KLSsKLSsgICAgICAgIElOVEVHRVIgZF9pLzAvCi0r ICAgICAgICBSRUFMIGRfci8wLjAvCi0rCi0rICAgICAgICBJTlRFR0VSIHNfaS8wLwotKyAgICAg ICAgUkVBTCBzX3IvMC4wLwotKwotKyAgICAgICAgSU5URUdFUiBtbl9pLzAvCi0rICAgICAgICBS RUFMIG1uX3IvMC4wLwotKwotKyAgICAgICAgSU5URUdFUiBteF9pLzAvCi0rICAgICAgICBSRUFM IG14X3IvMC4wLwotKwotKyAgICAgICAgbV9pID0gTU9EKGFfaSwgYl9jKSAgICAgICAgICAgICAg ICAgICAgICEgeyBkZy1lcnJvciAiIiB9Ci0rICAgICAgICBpZiAobV9pIC5uZS4gMSkgU1RPUCAx Ci0rICAgICAgICBtX2kgPSBNT0QoYTJfaSwgYjJfYykgICAgICAgICAgICAgICAgICAgISB7IGRn LWVycm9yICIiIH0KLSsgICAgICAgIGlmIChtX2kgLm5lLiAxKSBTVE9QIDIKLSsgICAgICAgIG1f ciA9IE1PRChhX3IsIGJfbCkgICAgICAgICAgICAgICAgICAgICAhIHsgZGctZXJyb3IgIiIgfQot KyAgICAgICAgaWYgKGFicyhtX3IgLSAxLjApID4gMS4wRC02KSBTVE9QIDMKLSsgICAgICAgIG1f ciA9IE1PRChhMl9yLCBiMl9sKSAgICAgICAgICAgICAgICAgICAhIHsgZGctZXJyb3IgIiIgfQot KyAgICAgICAgaWYgKGFicyhtX3IgLSAxLjApID4gMS4wRC02KSBTVE9QIDQKLSsgICAgICAgIG1f ciA9IE1PRChhX2ksIGJfbCkgICAgICAgICAgICAgICAgICAgICAhIHsgZGctZXJyb3IgIiIgfQot KyAgICAgICAgaWYgKGFicyhtX3IgLSAxLjApID4gMS4wRC02KSBTVE9QIDUKLSsgICAgICAgIG1f ciA9IE1PRChhX3IsIGJfYykgICAgICAgICAgICAgICAgICAgICAhIHsgZGctZXJyb3IgIiIgfQot KyAgICAgICAgaWYgKGFicyhtX3IgLSAxLjApID4gMS4wRC02KSBTVE9QIDYKLSsKLSsgICAgICAg IG1kX2kgPSBNT0RVTE8oYV9pLCBiX2MpICAgICAgICAgICAgICAgICAhIHsgZGctZXJyb3IgIiIg fQotKyAgICAgICAgaWYgKG1kX2kgLm5lLiAxKSBTVE9QIDcKLSsgICAgICAgIG1kX2kgPSBNT0RV TE8oYTJfaSwgYjJfYykgICAgICAgICAgICAgICAhIHsgZGctZXJyb3IgIiIgfQotKyAgICAgICAg aWYgKG1kX2kgLm5lLiAxKSBTVE9QIDgKLSsgICAgICAgIG1kX3IgPSBNT0RVTE8oYV9yLCBiX2wp ICAgICAgICAgICAgICAgICAhIHsgZGctZXJyb3IgIiIgfQotKyAgICAgICAgaWYgKGFicyhtZF9y IC0gMS4wKSA+IDEuMEQtNikgU1RPUCA5Ci0rICAgICAgICBtZF9yID0gTU9EVUxPKGEyX3IsIGIy X2wpICAgICAgICAgICAgICAgISB7IGRnLWVycm9yICIiIH0KLSsgICAgICAgIGlmIChhYnMobWRf ciAtIDEuMCkgPiAxLjBELTYpIFNUT1AgMTAKLSsgICAgICAgIG1kX3IgPSBNT0RVTE8oYV9pLCBi X2wpICAgICAgICAgICAgICAgICAhIHsgZGctZXJyb3IgIiIgfQotKyAgICAgICAgaWYgKGFicyht ZF9yIC0gMS4wKSA+IDEuMEQtNikgU1RPUCAxMQotKyAgICAgICAgbWRfciA9IE1PRFVMTyhhX3Is IGJfYykgICAgICAgICAgICAgICAgICEgeyBkZy1lcnJvciAiIiB9Ci0rICAgICAgICBpZiAoYWJz KG1kX3IgLSAxLjApID4gMS4wRC02KSBTVE9QIDEyCi0rCi0rICAgICAgICBkX2kgPSBESU0oYV9p LCBiX2MpICAgICAgICAgICAgICAgICAgICAgISB7IGRnLWVycm9yICIiIH0KLSsgICAgICAgIGlm IChkX2kgLm5lLiAxKSBTVE9QIDEzCi0rICAgICAgICBkX2kgPSBESU0oYTJfaSwgYjJfYykgICAg ICAgICAgICAgICAgICAgISB7IGRnLWVycm9yICIiIH0KLSsgICAgICAgIGlmIChkX2kgLm5lLiAx KSBTVE9QIDE0Ci0rICAgICAgICBkX3IgPSBESU0oYV9yLCBiX2wpICAgICAgICAgICAgICAgICAg ICAgISB7IGRnLWVycm9yICIiIH0KLSsgICAgICAgIGlmIChhYnMoZF9yIC0gMS4wKSA+IDEuMEQt NikgU1RPUCAxNQotKyAgICAgICAgZF9yID0gRElNKGEyX3IsIGIyX2wpICAgICAgICAgICAgICAg ICAgICEgeyBkZy1lcnJvciAiIiB9Ci0rICAgICAgICBpZiAoYWJzKGRfciAtIDEuMCkgPiAxLjBE LTYpIFNUT1AgMTYKLSsgICAgICAgIGRfciA9IERJTShhX3IsIGJfYykgICAgICAgICAgICAgICAg ICAgICAhIHsgZGctZXJyb3IgIiIgfQotKyAgICAgICAgaWYgKGFicyhkX3IgLSAxLjApID4gMS4w RC02KSBTVE9QIDE3Ci0rICAgICAgICBkX3IgPSBESU0oYl9jLCBhX3IpICAgICAgICAgICAgICAg ICAgICAgISB7IGRnLWVycm9yICIiIH0KLSsgICAgICAgIGlmIChhYnMoZF9yKSA+IDEuMEQtNikg U1RPUCAxOAotKwotKyAgICAgICAgc19pID0gU0lHTigtYV9pLCBiX2MpICAgICAgICAgICAgICAg ICAgICEgeyBkZy1lcnJvciAiIiB9Ci0rICAgICAgICBpZiAoc19pIC5uZS4gNCkgU1RPUCAxOQot KyAgICAgICAgc19pID0gU0lHTigtYTJfaSwgYjJfYykgICAgICAgICAgICAgICAgICEgeyBkZy1l cnJvciAiIiB9Ci0rICAgICAgICBpZiAoc19pIC5uZS4gNCkgU1RPUCAyMAotKyAgICAgICAgc19y ID0gU0lHTihhX3IsIC1iX2wpICAgICAgICAgICAgICAgICAgICEgeyBkZy1lcnJvciAiIiB9Ci0r ICAgICAgICBpZiAoYWJzKHNfciAtICgtYV9yKSkgPiAxLjBELTYpIFNUT1AgMjEKLSsgICAgICAg IHNfciA9IFNJR04oYTJfciwgLWIyX2wpICAgICAgICAgICAgICAgICAhIHsgZGctZXJyb3IgIiIg fQotKyAgICAgICAgaWYgKGFicyhzX3IgLSAoLWEyX3IpKSA+IDEuMEQtNikgU1RPUCAyMgotKyAg ICAgICAgc19yID0gU0lHTihhX3IsIC1iX2MpICAgICAgICAgICAgICAgICAgICEgeyBkZy1lcnJv ciAiIiB9Ci0rICAgICAgICBpZiAoYWJzKHNfciAtICgtYV9yKSkgPiAxLjBELTYpIFNUT1AgMjMK LSsgICAgICAgIHNfciA9IFNJR04oLWFfaSwgYl9sKSAgICAgICAgICAgICAgICAgICAhIHsgZGct ZXJyb3IgIiIgfQotKyAgICAgICAgaWYgKGFicyhzX3IgLSBhX3IpID4gMS4wRC02KSBTVE9QIDI0 Ci0rCi0rICAgICAgICBteF9pID0gTUFYKC1hX2ksIC1iX2MsIHhfaSwgeV9jKSAgICAgICAgISB7 IGRnLWVycm9yICIiIH0KLSsgICAgICAgIGlmIChteF9pIC5uZS4geF9pKSBTVE9QIDI1Ci0rICAg ICAgICBteF9pID0gTUFYKC1hMl9pLCAtYjJfYywgeF9pLCB5X2MpICAgICAgISB7IGRnLWVycm9y ICIiIH0KLSsgICAgICAgIGlmIChteF9pIC5uZS4geF9pKSBTVE9QIDI2Ci0rICAgICAgICBteF9y ID0gTUFYKC1hX3IsIC1iX2wsIHhfciwgeV9sKSAgICAgICAgISB7IGRnLWVycm9yICIiIH0KLSsg ICAgICAgIGlmIChhYnMobXhfciAtIHhfcikgPiAxLjBELTYpIFNUT1AgMjcKLSsgICAgICAgIG14 X3IgPSBNQVgoLWFfciwgLWJfbCwgeF9yLCB5X2wpICAgICAgICAhIHsgZGctZXJyb3IgIiIgfQot KyAgICAgICAgaWYgKGFicyhteF9yIC0geF9yKSA+IDEuMEQtNikgU1RPUCAyOAotKyAgICAgICAg bXhfciA9IE1BWCgtYV9pLCAtYl9sLCB4X3IsIHlfYykgICAgICAgICEgeyBkZy1lcnJvciAiIiB9 Ci0rICAgICAgICBpZiAoYWJzKG14X3IgLSB4X3IpID4gMS4wRC02KSBTVE9QIDI5Ci0rCi0rICAg ICAgICBtbl9pID0gTUlOKC1hX2ksIC1iX2MsIHhfaSwgeV9jKSAgICAgICAgISB7IGRnLWVycm9y ICIiIH0KLSsgICAgICAgIGlmIChtbl9pIC5uZS4gLWFfaSkgU1RPUCAzMQotKyAgICAgICAgbW5f aSA9IE1JTigtYTJfaSwgLWIyX2MsIHhfaSwgeV9jKSAgICAgICEgeyBkZy1lcnJvciAiIiB9Ci0r ICAgICAgICBpZiAobW5faSAubmUuIC1hMl9pKSBTVE9QIDMyCi0rICAgICAgICBtbl9yID0gTUlO KC1hX3IsIC1iX2wsIHhfciwgeV9sKSAgICAgICAgISB7IGRnLWVycm9yICIiIH0KLSsgICAgICAg IGlmIChhYnMobW5fciAtICgtYV9yKSkgPiAxLjBELTYpIFNUT1AgMzMKLSsgICAgICAgIG1uX3Ig PSBNSU4oLWEyX3IsIC1iMl9sLCB4X3IsIHlfbCkgICAgICAhIHsgZGctZXJyb3IgIiIgfQotKyAg ICAgICAgaWYgKGFicyhtbl9yIC0gKC1hMl9yKSkgPiAxLjBELTYpIFNUT1AgMzQKLSsgICAgICAg IG1uX3IgPSBNSU4oLWFfaSwgLWJfbCwgeF9yLCB5X2MpICAgICAgICAhIHsgZGctZXJyb3IgIiIg fQotKyAgICAgICAgaWYgKGFicyhtbl9yIC0gKC1hX3IpKSA+IDEuMEQtNikgU1RPUCAzNQotKyAg ICAgIEVORCBQUk9HUkFNCi1kaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9k ZWNfa2luZF9wcm9tb3Rpb24tMS5mIGIvZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9kZWNfa2lu ZF9wcm9tb3Rpb24tMS5mCi1uZXcgZmlsZSBtb2RlIDEwMDY0NAotaW5kZXggMDAwMDAwMDAwMDAu LjQzNWJmOTgzNTBjCi0tLS0gL2Rldi9udWxsCi0rKysgYi9nY2MvdGVzdHN1aXRlL2dmb3J0cmFu LmRnL2RlY19raW5kX3Byb21vdGlvbi0xLmYKLUBAIC0wLDAgKzEsNDAgQEAKLSsheyBkZy1kbyBy dW4gfQotKyF7IGRnLW9wdGlvbnMgIi1mZGVjIiB9Ci0rIQotKyEgaW50ZWdlciB0eXBlcyBvZiBh IHNtYWxsZXIga2luZCB0aGFuIGV4cGVjdGVkIHNob3VsZCBiZQotKyEgYWNjZXB0ZWQgYnkgdHlw ZSBzcGVjaWZpYyBpbnRyaW5zaWMgZnVuY3Rpb25zCi0rIQotKyEgQ29udHJpYnV0ZWQgYnkgTWFy ayBFZ2dsZXN0b24gPG1hcmsuZWdnbGVzdG9uQGNvZGV0aGluay5jb20+Ci0rIQotKyAgICAgIHBy b2dyYW0gdGVzdF9zbWFsbF90eXBlX3Byb210aW9uCi0rICAgICAgICBpbXBsaWNpdCBub25lCi0r ICAgICAgICBpbnRlZ2VyKDEpIDo6IGEgPSAxCi0rICAgICAgICBpbnRlZ2VyIDo6IGkKLSsgICAg ICAgIGlmIChpaWFicygtOV8xKS5uZS45KSBzdG9wIDEKLSsgICAgICAgIGlmIChpYWJzKC05XzEp Lm5lLjkpIHN0b3AgMgotKyAgICAgICAgaWYgKGlhYnMoLTlfMikubmUuOSkgc3RvcCAzCi0rICAg ICAgICBpZiAoamlhYnMoLTlfMSkubmUuOSkgc3RvcCA0Ci0rICAgICAgICBpZiAoamlhYnMoLTlf MikubmUuOSkgc3RvcCA1Ci0rICAgICAgICBpZiAoaWlzaGZ0KDFfMSwgMikubmUuNCkgc3RvcCA2 Ci0rICAgICAgICBpZiAoamlzaGZ0KDFfMSwgMikubmUuNCkgc3RvcCA3Ci0rICAgICAgICBpZiAo amlzaGZ0KDFfMiwgMikubmUuNCkgc3RvcCA4Ci0rICAgICAgICBpZiAoa2lzaGZ0KDFfMSwgMiku bmUuNCkgc3RvcCA5Ci0rICAgICAgICBpZiAoa2lzaGZ0KDFfMiwgMikubmUuNCkgc3RvcCAxMAot KyAgICAgICAgaWYgKGtpc2hmdCgxXzQsIDIpLm5lLjQpIHN0b3AgMTEKLSsgICAgICAgIGlmIChp bW9kKDE3XzEsIDMpLm5lLjIpIHN0b3AgMTIKLSsgICAgICAgIGlmIChqbW9kKDE3XzEsIDMpLm5l LjIpIHN0b3AgMTMKLSsgICAgICAgIGlmIChqbW9kKDE3XzIsIDMpLm5lLjIpIHN0b3AgMTQKLSsg ICAgICAgIGlmIChrbW9kKDE3XzEsIDMpLm5lLjIpIHN0b3AgMTUKLSsgICAgICAgIGlmIChrbW9k KDE3XzIsIDMpLm5lLjIpIHN0b3AgMTYKLSsgICAgICAgIGlmIChrbW9kKDE3XzQsIDMpLm5lLjIp IHN0b3AgMTcKLSsgICAgICAgIGlmIChpbm90KDVfMSkubmUuLTYpIHN0b3AgMTgKLSsgICAgICAg IGlmIChqbm90KDVfMSkubmUuLTYpIHN0b3AgMTkKLSsgICAgICAgIGlmIChqbm90KDVfMikubmUu LTYpIHN0b3AgMjAKLSsgICAgICAgIGlmIChrbm90KDVfMSkubmUuLTYpIHN0b3AgMjEKLSsgICAg ICAgIGlmIChrbm90KDVfMikubmUuLTYpIHN0b3AgMjIKLSsgICAgICAgIGlmIChrbm90KDVfNCku bmUuLTYpIHN0b3AgMjMKLSsgICAgICAgIGlmIChpc2lnbigtNzdfMSwgMSkubmUuNzcpIHN0b3Ag MjQKLSsgICAgICAgIGlmIChpc2lnbigtNzdfMSwgLTEpLm5lLi03Nykgc3RvcCAyNQotKyAgICAg ICAgaWYgKGlzaWduKC03N18yLCAxKS5uZS43Nykgc3RvcCAyNgotKyAgICAgICAgaWYgKGlzaWdu KC03N18yLCAtMSkubmUuLTc3KSBzdG9wIDI3Ci0rICAgICAgZW5kIHByb2dyYW0KLWRpZmYgLS1n aXQgYS9nY2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL2RlY19raW5kX3Byb21vdGlvbi0yLmYgYi9n Y2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL2RlY19raW5kX3Byb21vdGlvbi0yLmYKLW5ldyBmaWxl IG1vZGUgMTAwNjQ0Ci1pbmRleCAwMDAwMDAwMDAwMC4uN2IxNjk3Y2E2NjUKLS0tLSAvZGV2L251 bGwKLSsrKyBiL2djYy90ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcvZGVjX2tpbmRfcHJvbW90aW9uLTIu ZgotQEAgLTAsMCArMSw0MCBAQAotKyF7IGRnLWRvIHJ1biB9Ci0rIXsgZGctb3B0aW9ucyAiLWZk ZWMtaW50cmluc2ljLWludHMgLWZkZWMtcHJvbW90aW9uIiB9Ci0rIQotKyEgaW50ZWdlciB0eXBl cyBvZiBhIHNtYWxsZXIga2luZCB0aGFuIGV4cGVjdGVkIHNob3VsZCBiZQotKyEgYWNjZXB0ZWQg YnkgdHlwZSBzcGVjaWZpYyBpbnRyaW5zaWMgZnVuY3Rpb25zCi0rIQotKyEgQ29udHJpYnV0ZWQg YnkgTWFyayBFZ2dsZXN0b24gPG1hcmsuZWdnbGVzdG9uQGNvZGV0aGluay5jb20+Ci0rIQotKyAg ICAgIHByb2dyYW0gdGVzdF9zbWFsbF90eXBlX3Byb210aW9uCi0rICAgICAgICBpbXBsaWNpdCBu b25lCi0rICAgICAgICBpbnRlZ2VyKDEpIDo6IGEgPSAxCi0rICAgICAgICBpbnRlZ2VyIDo6IGkK LSsgICAgICAgIGlmIChpaWFicygtOV8xKS5uZS45KSBzdG9wIDEKLSsgICAgICAgIGlmIChpYWJz KC05XzEpLm5lLjkpIHN0b3AgMgotKyAgICAgICAgaWYgKGlhYnMoLTlfMikubmUuOSkgc3RvcCAz Ci0rICAgICAgICBpZiAoamlhYnMoLTlfMSkubmUuOSkgc3RvcCA0Ci0rICAgICAgICBpZiAoamlh YnMoLTlfMikubmUuOSkgc3RvcCA1Ci0rICAgICAgICBpZiAoaWlzaGZ0KDFfMSwgMikubmUuNCkg c3RvcCA2Ci0rICAgICAgICBpZiAoamlzaGZ0KDFfMSwgMikubmUuNCkgc3RvcCA3Ci0rICAgICAg ICBpZiAoamlzaGZ0KDFfMiwgMikubmUuNCkgc3RvcCA4Ci0rICAgICAgICBpZiAoa2lzaGZ0KDFf MSwgMikubmUuNCkgc3RvcCA5Ci0rICAgICAgICBpZiAoa2lzaGZ0KDFfMiwgMikubmUuNCkgc3Rv cCAxMAotKyAgICAgICAgaWYgKGtpc2hmdCgxXzQsIDIpLm5lLjQpIHN0b3AgMTEKLSsgICAgICAg IGlmIChpbW9kKDE3XzEsIDMpLm5lLjIpIHN0b3AgMTIKLSsgICAgICAgIGlmIChqbW9kKDE3XzEs IDMpLm5lLjIpIHN0b3AgMTMKLSsgICAgICAgIGlmIChqbW9kKDE3XzIsIDMpLm5lLjIpIHN0b3Ag MTQKLSsgICAgICAgIGlmIChrbW9kKDE3XzEsIDMpLm5lLjIpIHN0b3AgMTUKLSsgICAgICAgIGlm IChrbW9kKDE3XzIsIDMpLm5lLjIpIHN0b3AgMTYKLSsgICAgICAgIGlmIChrbW9kKDE3XzQsIDMp Lm5lLjIpIHN0b3AgMTcKLSsgICAgICAgIGlmIChpbm90KDVfMSkubmUuLTYpIHN0b3AgMTgKLSsg ICAgICAgIGlmIChqbm90KDVfMSkubmUuLTYpIHN0b3AgMTkKLSsgICAgICAgIGlmIChqbm90KDVf MikubmUuLTYpIHN0b3AgMjAKLSsgICAgICAgIGlmIChrbm90KDVfMSkubmUuLTYpIHN0b3AgMjEK LSsgICAgICAgIGlmIChrbm90KDVfMikubmUuLTYpIHN0b3AgMjIKLSsgICAgICAgIGlmIChrbm90 KDVfNCkubmUuLTYpIHN0b3AgMjMKLSsgICAgICAgIGlmIChpc2lnbigtNzdfMSwgMSkubmUuNzcp IHN0b3AgMjQKLSsgICAgICAgIGlmIChpc2lnbigtNzdfMSwgLTEpLm5lLi03Nykgc3RvcCAyNQot KyAgICAgICAgaWYgKGlzaWduKC03N18yLCAxKS5uZS43Nykgc3RvcCAyNgotKyAgICAgICAgaWYg KGlzaWduKC03N18yLCAtMSkubmUuLTc3KSBzdG9wIDI3Ci0rICAgICAgZW5kIHByb2dyYW0KLWRp ZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL2RlY19raW5kX3Byb21vdGlvbi0z LmYgYi9nY2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL2RlY19raW5kX3Byb21vdGlvbi0zLmYKLW5l dyBmaWxlIG1vZGUgMTAwNjQ0Ci1pbmRleCAwMDAwMDAwMDAwMC4uZGI4ZGZmNmM1NWQKLS0tLSAv ZGV2L251bGwKLSsrKyBiL2djYy90ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcvZGVjX2tpbmRfcHJvbW90 aW9uLTMuZgotQEAgLTAsMCArMSwzOSBAQAotKyF7IGRnLWRvIGNvbXBpbGUgfQotKyF7IGRnLW9w dGlvbnMgIi1mZGVjIC1mbm8tZGVjLXByb21vdGlvbiIgfQotKyEKLSshIGludGVnZXIgdHlwZXMg b2YgYSBzbWFsbGVyIGtpbmQgdGhhbiBleHBlY3RlZCBzaG91bGQgYmUKLSshIGFjY2VwdGVkIGJ5 IHR5cGUgc3BlY2lmaWMgaW50cmluc2ljIGZ1bmN0aW9ucwotKyEKLSshIENvbnRyaWJ1dGVkIGJ5 IE1hcmsgRWdnbGVzdG9uIDxtYXJrLmVnZ2xlc3RvbkBjb2RldGhpbmsuY29tPgotKyEKLSsgICAg ICBwcm9ncmFtIHRlc3Rfc21hbGxfdHlwZV9wcm9tdGlvbgotKyAgICAgICAgaW50ZWdlcigxKSA6 OiBhID0gMQotKyAgICAgICAgaW50ZWdlciA6OiBpCi0rICAgICAgICBpZiAoaWlhYnMoLTlfMSku bmUuOSkgc3RvcCAxCi0rICAgICAgICBpZiAoaWFicygtOV8xKS5uZS45KSBzdG9wIDIgISB7IGRn LWVycm9yICJ0eXBlIG1pc21hdGNoIGluIGFyZ3VtZW50IiB9Ci0rICAgICAgICBpZiAoaWFicygt OV8yKS5uZS45KSBzdG9wIDMgISB7IGRnLWVycm9yICJ0eXBlIG1pc21hdGNoIGluIGFyZ3VtZW50 IiB9Ci0rICAgICAgICBpZiAoamlhYnMoLTlfMSkubmUuOSkgc3RvcCA0Ci0rICAgICAgICBpZiAo amlhYnMoLTlfMikubmUuOSkgc3RvcCA1Ci0rICAgICAgICBpZiAoaWlzaGZ0KDFfMSwgMikubmUu NCkgc3RvcCA2Ci0rICAgICAgICBpZiAoamlzaGZ0KDFfMSwgMikubmUuNCkgc3RvcCA3Ci0rICAg ICAgICBpZiAoamlzaGZ0KDFfMiwgMikubmUuNCkgc3RvcCA4Ci0rICAgICAgICBpZiAoa2lzaGZ0 KDFfMSwgMikubmUuNCkgc3RvcCA5Ci0rICAgICAgICBpZiAoa2lzaGZ0KDFfMiwgMikubmUuNCkg c3RvcCAxMAotKyAgICAgICAgaWYgKGtpc2hmdCgxXzQsIDIpLm5lLjQpIHN0b3AgMTEKLSsgICAg ICAgIGlmIChpbW9kKDE3XzEsIDMpLm5lLjIpIHN0b3AgMTIKLSsgICAgICAgIGlmIChqbW9kKDE3 XzEsIDMpLm5lLjIpIHN0b3AgMTMKLSsgICAgICAgIGlmIChqbW9kKDE3XzIsIDMpLm5lLjIpIHN0 b3AgMTQKLSsgICAgICAgIGlmIChrbW9kKDE3XzEsIDMpLm5lLjIpIHN0b3AgMTUKLSsgICAgICAg IGlmIChrbW9kKDE3XzIsIDMpLm5lLjIpIHN0b3AgMTYKLSsgICAgICAgIGlmIChrbW9kKDE3XzQs IDMpLm5lLjIpIHN0b3AgMTcKLSsgICAgICAgIGlmIChpbm90KDVfMSkubmUuLTYpIHN0b3AgMTgK LSsgICAgICAgIGlmIChqbm90KDVfMSkubmUuLTYpIHN0b3AgMTkKLSsgICAgICAgIGlmIChqbm90 KDVfMikubmUuLTYpIHN0b3AgMjAKLSsgICAgICAgIGlmIChrbm90KDVfMSkubmUuLTYpIHN0b3Ag MjEKLSsgICAgICAgIGlmIChrbm90KDVfMikubmUuLTYpIHN0b3AgMjIKLSsgICAgICAgIGlmIChr bm90KDVfNCkubmUuLTYpIHN0b3AgMjMKLSsgICAgICAgIGlmIChpc2lnbigtNzdfMSwgMSkubmUu NzcpIHN0b3AgMjQgISB7IGRnLWVycm9yICJ0eXBlIG1pc21hdGNoIGluIGFyZ3VtZW50IiB9Ci0r ICAgICAgICBpZiAoaXNpZ24oLTc3XzEsIC0xKS5uZS4tNzcpIHN0b3AgMjUgISB7IGRnLWVycm9y ICJ0eXBlIG1pc21hdGNoIGluIGFyZ3VtZW50IiB9Ci0rICAgICAgICBpZiAoaXNpZ24oLTc3XzIs IDEpLm5lLjc3KSBzdG9wIDI2ICEgeyBkZy1lcnJvciAidHlwZSBtaXNtYXRjaCBpbiBhcmd1bWVu dCIgfQotKyAgICAgICAgaWYgKGlzaWduKC03N18yLCAtMSkubmUuLTc3KSBzdG9wIDI3ICEgeyBk Zy1lcnJvciAidHlwZSBtaXNtYXRjaCBpbiBhcmd1bWVudCIgfQotKyAgICAgIGVuZCBwcm9ncmFt Ci0tLSAKLTIuMjcuMAotCgpkaWZmIC0tZ2l0IGEvZ2NjMTItZm9ydHJhbi1mZGVjLXNlcXVlbmNl LnBhdGNoIGIvZ2NjMTItZm9ydHJhbi1mZGVjLXNlcXVlbmNlLnBhdGNoCmRlbGV0ZWQgZmlsZSBt b2RlIDEwMDY0NAppbmRleCBkNzkzNDhlLi4wMDAwMDAwCi0tLSBhL2djYzEyLWZvcnRyYW4tZmRl Yy1zZXF1ZW5jZS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDI2MiArMCwwIEBACi1Gcm9tIGJi NzY0NDZkYjEwYzIxODYwYTRlMTk1NjljZTNlMzUwZDhhMmI1OWYgTW9uIFNlcCAxNyAwMDowMDow MCAyMDAxCi1Gcm9tOiBNYXJrIEVnZ2xlc3RvbiA8bWFya2VnZ2xlc3RvbkBnY2MuZ251Lm9yZz4K LURhdGU6IEZyaSwgMjIgSmFuIDIwMjEgMTU6MDA6NDQgKzAwMDAKLVN1YmplY3Q6IFtQQVRDSCAw OS8xMF0gQWRkIHRoZSBTRVFVRU5DRSBhdHRyaWJ1dGUgYnkgZGVmYXVsdCBpZiBpdCdzIG5vdAot IHByZXNlbnQuCi0KLVVzZSAtZmRlYy1zZXF1ZW5jZSB0byBlbmFibGUgdGhpcyBmZWF0dXJlLiBB bHNvIGVuYWJsZWQgYnkgLWZkZWMuCi0tLS0KLSBnY2MvZm9ydHJhbi9sYW5nLm9wdCAgICAgICAg ICAgICAgICAgICAgICAgICAgfCAgNCArKwotIGdjYy9mb3J0cmFuL29wdGlvbnMuY2MgICAgICAg ICAgICAgICAgICAgICAgICB8ICAxICsKLSBnY2MvZm9ydHJhbi9yZXNvbHZlLmNjICAgICAgICAg ICAgICAgICAgICAgICAgfCAxMyArKysrLQotIC4uLmRkX1NFUVVFTkNFX3RvX0NPTU1PTl9ibG9j a19ieV9kZWZhdWx0XzEuZiB8IDU3ICsrKysrKysrKysrKysrKysrKysKLSAuLi5kZF9TRVFVRU5D RV90b19DT01NT05fYmxvY2tfYnlfZGVmYXVsdF8yLmYgfCA1NyArKysrKysrKysrKysrKysrKysr Ci0gLi4uZGRfU0VRVUVOQ0VfdG9fQ09NTU9OX2Jsb2NrX2J5X2RlZmF1bHRfMy5mIHwgNTcgKysr KysrKysrKysrKysrKysrKwotIDYgZmlsZXMgY2hhbmdlZCwgMTg2IGluc2VydGlvbnMoKyksIDMg ZGVsZXRpb25zKC0pCi0gY3JlYXRlIG1vZGUgMTAwNjQ0IGdjYy90ZXN0c3VpdGUvZ2ZvcnRyYW4u ZGcvZGVjX2FkZF9TRVFVRU5DRV90b19DT01NT05fYmxvY2tfYnlfZGVmYXVsdF8xLmYKLSBjcmVh dGUgbW9kZSAxMDA2NDQgZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9kZWNfYWRkX1NFUVVFTkNF X3RvX0NPTU1PTl9ibG9ja19ieV9kZWZhdWx0XzIuZgotIGNyZWF0ZSBtb2RlIDEwMDY0NCBnY2Mv dGVzdHN1aXRlL2dmb3J0cmFuLmRnL2RlY19hZGRfU0VRVUVOQ0VfdG9fQ09NTU9OX2Jsb2NrX2J5 X2RlZmF1bHRfMy5mCi0KLWRpZmYgLS1naXQgYS9nY2MvZm9ydHJhbi9sYW5nLm9wdCBiL2djYy9m b3J0cmFuL2xhbmcub3B0Ci1pbmRleCA0Y2EyZjkzZjJkZi4uMDE5Yzc5OGNmMDkgMTAwNjQ0Ci0t LS0gYS9nY2MvZm9ydHJhbi9sYW5nLm9wdAotKysrIGIvZ2NjL2ZvcnRyYW4vbGFuZy5vcHQKLUBA IC01MDksNiArNTA5LDEwIEBAIGZkZWMtcHJvbW90aW9uCi0gRm9ydHJhbiBWYXIoZmxhZ19kZWNf cHJvbW90aW9uKQotIEFkZCBzdXBwb3J0IGZvciB0eXBlIHByb21vdGlvbiBpbiBpbnRyaW5zaWMg YXJndW1lbnRzLgotIAotK2ZkZWMtc2VxdWVuY2UKLStGb3J0cmFuIFZhcihmbGFnX2RlY19zZXF1 ZW5jZSkKLStBZGQgdGhlIFNFUVVFTkNFIGF0dHJpYnV0ZSBieSBkZWZhdWx0IGlmIGl0J3Mgbm90 IHByZXNlbnQuCi0rCi0gZmRlYy1zdHJ1Y3R1cmUKLSBGb3J0cmFuIFZhcihmbGFnX2RlY19zdHJ1 Y3R1cmUpCi0gRW5hYmxlIHN1cHBvcnQgZm9yIERFQyBTVFJVQ1RVUkUvUkVDT1JELgotZGlmZiAt LWdpdCBhL2djYy9mb3J0cmFuL29wdGlvbnMuY2MgYi9nY2MvZm9ydHJhbi9vcHRpb25zLmNjCi1p bmRleCAxNTA3OWM3ZTk1YS4uMDUwZjU2ZmRjMjUgMTAwNjQ0Ci0tLS0gYS9nY2MvZm9ydHJhbi9v cHRpb25zLmNjCi0rKysgYi9nY2MvZm9ydHJhbi9vcHRpb25zLmNjCi1AQCAtODMsNiArODMsNyBA QCBzZXRfZGVjX2ZsYWdzIChpbnQgdmFsdWUpCi0gICBTRVRfQklURkxBRyAoZmxhZ19kZWNfb3Zl cnJpZGVfa2luZCwgdmFsdWUsIHZhbHVlKTsKLSAgIFNFVF9CSVRGTEFHIChmbGFnX2RlY19ub25f bG9naWNhbF9pZiwgdmFsdWUsIHZhbHVlKTsKLSAgIFNFVF9CSVRGTEFHIChmbGFnX2RlY19wcm9t b3Rpb24sIHZhbHVlLCB2YWx1ZSk7Ci0rICBTRVRfQklURkxBRyAoZmxhZ19kZWNfc2VxdWVuY2Us IHZhbHVlLCB2YWx1ZSk7Ci0gfQotIAotIC8qIEZpbmFsaXplIERFQyBmbGFncy4gICovCi1kaWZm IC0tZ2l0IGEvZ2NjL2ZvcnRyYW4vcmVzb2x2ZS5jYyBiL2djYy9mb3J0cmFuL3Jlc29sdmUuY2MK LWluZGV4IDA3ZGQwMzlmM2JmLi5mZTdkMGNjNTk0NCAxMDA2NDQKLS0tLSBhL2djYy9mb3J0cmFu L3Jlc29sdmUuY2MKLSsrKyBiL2djYy9mb3J0cmFuL3Jlc29sdmUuY2MKLUBAIC05NzgsOSArOTc4 LDE2IEBAIHJlc29sdmVfY29tbW9uX3ZhcnMgKGdmY19jb21tb25faGVhZCAqY29tbW9uX2Jsb2Nr LCBib29sIG5hbWVkX2NvbW1vbikKLSAKLSAgICAgICBpZiAoIShjc3ltLT50cy51LmRlcml2ZWQt PmF0dHIuc2VxdWVuY2UKLSAJICAgIHx8IGNzeW0tPnRzLnUuZGVyaXZlZC0+YXR0ci5pc19iaW5k X2MpKQotLQlnZmNfZXJyb3Jfbm93ICgiRGVyaXZlZCB0eXBlIHZhcmlhYmxlICVxcyBpbiBDT01N T04gYXQgJUwgIgotLQkJICAgICAgICJoYXMgbmVpdGhlciB0aGUgU0VRVUVOQ0Ugbm9yIHRoZSBC SU5EKEMpICIKLS0JCSAgICAgICAiYXR0cmlidXRlIiwgY3N5bS0+bmFtZSwgJmNzeW0tPmRlY2xh cmVkX2F0KTsKLSsJewotKwkgIGlmIChmbGFnX2RlY19zZXF1ZW5jZSkKLSsJICAgIC8qIEFzc3Vt ZSBzZXF1ZW5jZS4gKi8KLSsJICAgIGNzeW0tPnRzLnUuZGVyaXZlZC0+YXR0ci5zZXF1ZW5jZSA9 IDE7Ci0rCSAgZWxzZQotKwkgICAgZ2ZjX2Vycm9yX25vdyAoIkRlcml2ZWQgdHlwZSB2YXJpYWJs ZSAnJXMnIGluIENPTU1PTiBhdCAlTCAiCi0rCQkJICAgImhhcyBuZWl0aGVyIHRoZSBTRVFVRU5D RSBub3IgdGhlIEJJTkQoQykgIgotKwkJCSAgICJhdHRyaWJ1dGUiLCBjc3ltLT5uYW1lLCAmY3N5 bS0+ZGVjbGFyZWRfYXQpOwotKwl9Ci0rCi0gICAgICAgaWYgKGNzeW0tPnRzLnUuZGVyaXZlZC0+ YXR0ci5hbGxvY19jb21wKQotIAlnZmNfZXJyb3Jfbm93ICgiRGVyaXZlZCB0eXBlIHZhcmlhYmxl ICVxcyBpbiBDT01NT04gYXQgJUwgIgotIAkJICAgICAgICJoYXMgYW4gdWx0aW1hdGUgY29tcG9u ZW50IHRoYXQgaXMgIgotZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcvZGVj X2FkZF9TRVFVRU5DRV90b19DT01NT05fYmxvY2tfYnlfZGVmYXVsdF8xLmYgYi9nY2MvdGVzdHN1 aXRlL2dmb3J0cmFuLmRnL2RlY19hZGRfU0VRVUVOQ0VfdG9fQ09NTU9OX2Jsb2NrX2J5X2RlZmF1 bHRfMS5mCi1uZXcgZmlsZSBtb2RlIDEwMDY0NAotaW5kZXggMDAwMDAwMDAwMDAuLmZlN2IzOTYy NWViCi0tLS0gL2Rldi9udWxsCi0rKysgYi9nY2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL2RlY19h ZGRfU0VRVUVOQ0VfdG9fQ09NTU9OX2Jsb2NrX2J5X2RlZmF1bHRfMS5mCi1AQCAtMCwwICsxLDU3 IEBACi0rISB7IGRnLWRvIHJ1biB9Ci0rISB7IGRnLW9wdGlvbnMgIi1mZGVjIiB9Ci0rIQotKyEg VGVzdCBhZGQgZGVmYXVsdCBTRVFVRU5DRSBhdHRyaWJ1dGUgZGVyaXZlZCB0eXBlcyBhcHBlYXJp bmcgaW4KLSshIENPTU1PTiBibG9ja3MgYW5kIEVRVUlWQUxFTkNFIHN0YXRlbWVudHMuCi0rIQot KyEgQ29udHJpYnV0ZWQgYnkgRnJhbmNpc2NvIFJlZG9uZG8gTWFyY2hlbmEgPGZyYW5jaXNjby5t YXJjaGVuYUBjb2RldGhpbmsuY28udWs+Ci0rISBNb2RpZmllZCBieSBNYXJrIEVnZ2xlc3RvbiA8 bWFyay5lZ2dsZXN0b25AY29kZXRoaW5rLmNvbT4KLSshCi0rICAgICAgICBNT0RVTEUgU0VRCi0r ICAgICAgICAgIFRZUEUgU1RSVUNUMQotKyAgICAgICAgICAgIElOVEVHRVIqNCAgICAgSUQKLSsg ICAgICAgICAgICBJTlRFR0VSKjQgICAgIFRZUEUKLSsgICAgICAgICAgICBJTlRFR0VSKjggICAg IERFRlZBTAotKyAgICAgICAgICAgIENIQVJBQ1RFUiooNCkgTkFNRQotKyAgICAgICAgICAgIExP R0lDQUwqMSAgICAgTklMCi0rICAgICAgICAgIEVORCBUWVBFIFNUUlVDVDEKLSsgICAgICAgIEVO RCBNT0RVTEUKLSsKLSsgICAgICAgIFNVQlJPVVRJTkUgQQotKyAgICAgICAgICBVU0UgU0VRCi0r ICAgICAgICAgIFRZUEUgKFNUUlVDVDEpIFMKLSsgICAgICAgICAgQ09NTU9OIC9CTE9DSzEvIFMK LSsgICAgICAgICAgSUYgKFMlSUQuTkUuNSkgU1RPUCAxCi0rICAgICAgICAgIElGIChTJVRZUEUu TkUuMTAwMCkgU1RPUCAyCi0rICAgICAgICAgIElGIChTJURFRlZBTC5ORS4tOTkpIFNUT1AgMwot KyAgICAgICAgICBJRiAoUyVOQU1FLk5FLiJKQU5FIikgU1RPUCA0Ci0rICAgICAgICAgIElGIChT JU5JTC5ORVFWLi5GQUxTRS4pIFNUT1AgNQotKyAgICAgICAgRU5EIFNVQlJPVVRJTkUKLSsKLSsg ICAgICAgIFBST0dSQU0gc2VxdWVuY2VfYXR0X2NvbW1vbgotKyAgICAgICAgICBVU0UgU0VRCi0r ICAgICAgICAgIElNUExJQ0lUIE5PTkUKLSsgICAgICAgICAgVFlQRSAoU1RSVUNUMSkgUzEKLSsg ICAgICAgICAgVFlQRSAoU1RSVUNUMSkgUzIKLSsgICAgICAgICAgVFlQRSAoU1RSVUNUMSkgUzMK LSsKLSsgICAgICAgICAgRVFVSVZBTEVOQ0UgKFMxLFMyKQotKyAgICAgICAgICBDT01NT04gL0JM T0NLMS8gUzMKLSsKLSsgICAgICAgICAgUzElSUQgPSA1Ci0rICAgICAgICAgIFMxJVRZUEUgPSAx MDAwCi0rICAgICAgICAgIFMxJURFRlZBTCA9IC05OQotKyAgICAgICAgICBTMSVOQU1FID0gIkpB TkUiCi0rICAgICAgICAgIFMxJU5JTCA9IC5GQUxTRS4KLSsKLSsgICAgICAgICAgSUYgKFMyJUlE Lk5FLjUpIFNUT1AgMQotKyAgICAgICAgICBJRiAoUzIlVFlQRS5ORS4xMDAwKSBTVE9QIDIKLSsg ICAgICAgICAgSUYgKFMyJURFRlZBTC5ORS4tOTkpIFNUT1AgMwotKyAgICAgICAgICBJRiAoUzIl TkFNRS5ORS4iSkFORSIpIFNUT1AgNAotKyAgICAgICAgICBJRiAoUzIlTklMLk5FUVYuLkZBTFNF LikgU1RPUCA1Ci0rCi0rICAgICAgICAgIFMzID0gUzEKLSsKLSsgICAgICAgICAgQ0FMTCBBCi0r ICAgICAgICAgIAotKyAgICAgICAgRU5ECi1kaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nZm9y dHJhbi5kZy9kZWNfYWRkX1NFUVVFTkNFX3RvX0NPTU1PTl9ibG9ja19ieV9kZWZhdWx0XzIuZiBi L2djYy90ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcvZGVjX2FkZF9TRVFVRU5DRV90b19DT01NT05fYmxv Y2tfYnlfZGVmYXVsdF8yLmYKLW5ldyBmaWxlIG1vZGUgMTAwNjQ0Ci1pbmRleCAwMDAwMDAwMDAw MC4uODM1MTJmMGYzYTIKLS0tLSAvZGV2L251bGwKLSsrKyBiL2djYy90ZXN0c3VpdGUvZ2ZvcnRy YW4uZGcvZGVjX2FkZF9TRVFVRU5DRV90b19DT01NT05fYmxvY2tfYnlfZGVmYXVsdF8yLmYKLUBA IC0wLDAgKzEsNTcgQEAKLSshIHsgZGctZG8gcnVuIH0KLSshIHsgZGctb3B0aW9ucyAiLWZkZWMt c2VxdWVuY2UiIH0KLSshCi0rISBUZXN0IGFkZCBkZWZhdWx0IFNFUVVFTkNFIGF0dHJpYnV0ZSBk ZXJpdmVkIHR5cGVzIGFwcGVhcmluZyBpbgotKyEgQ09NTU9OIGJsb2NrcyBhbmQgRVFVSVZBTEVO Q0Ugc3RhdGVtZW50cy4KLSshCi0rISBDb250cmlidXRlZCBieSBGcmFuY2lzY28gUmVkb25kbyBN YXJjaGVuYSA8ZnJhbmNpc2NvLm1hcmNoZW5hQGNvZGV0aGluay5jby51az4KLSshIE1vZGlmaWVk IGJ5IE1hcmsgRWdnbGVzdG9uIDxtYXJrLmVnZ2xlc3RvbkBjb2RldGhpbmsuY29tPgotKyEKLSsg ICAgICAgIE1PRFVMRSBTRVEKLSsgICAgICAgICAgVFlQRSBTVFJVQ1QxCi0rICAgICAgICAgICAg SU5URUdFUio0ICAgICBJRAotKyAgICAgICAgICAgIElOVEVHRVIqNCAgICAgVFlQRQotKyAgICAg ICAgICAgIElOVEVHRVIqOCAgICAgREVGVkFMCi0rICAgICAgICAgICAgQ0hBUkFDVEVSKig0KSBO QU1FCi0rICAgICAgICAgICAgTE9HSUNBTCoxICAgICBOSUwKLSsgICAgICAgICAgRU5EIFRZUEUg U1RSVUNUMQotKyAgICAgICAgRU5EIE1PRFVMRQotKwotKyAgICAgICAgU1VCUk9VVElORSBBCi0r ICAgICAgICAgIFVTRSBTRVEKLSsgICAgICAgICAgVFlQRSAoU1RSVUNUMSkgUwotKyAgICAgICAg ICBDT01NT04gL0JMT0NLMS8gUwotKyAgICAgICAgICBJRiAoUyVJRC5ORS41KSBTVE9QIDEKLSsg ICAgICAgICAgSUYgKFMlVFlQRS5ORS4xMDAwKSBTVE9QIDIKLSsgICAgICAgICAgSUYgKFMlREVG VkFMLk5FLi05OSkgU1RPUCAzCi0rICAgICAgICAgIElGIChTJU5BTUUuTkUuIkpBTkUiKSBTVE9Q IDQKLSsgICAgICAgICAgSUYgKFMlTklMLk5FUVYuLkZBTFNFLikgU1RPUCA1Ci0rICAgICAgICBF TkQgU1VCUk9VVElORQotKwotKyAgICAgICAgUFJPR1JBTSBzZXF1ZW5jZV9hdHRfY29tbW9uCi0r ICAgICAgICAgIFVTRSBTRVEKLSsgICAgICAgICAgSU1QTElDSVQgTk9ORQotKyAgICAgICAgICBU WVBFIChTVFJVQ1QxKSBTMQotKyAgICAgICAgICBUWVBFIChTVFJVQ1QxKSBTMgotKyAgICAgICAg ICBUWVBFIChTVFJVQ1QxKSBTMwotKwotKyAgICAgICAgICBFUVVJVkFMRU5DRSAoUzEsUzIpCi0r ICAgICAgICAgIENPTU1PTiAvQkxPQ0sxLyBTMwotKwotKyAgICAgICAgICBTMSVJRCA9IDUKLSsg ICAgICAgICAgUzElVFlQRSA9IDEwMDAKLSsgICAgICAgICAgUzElREVGVkFMID0gLTk5Ci0rICAg ICAgICAgIFMxJU5BTUUgPSAiSkFORSIKLSsgICAgICAgICAgUzElTklMID0gLkZBTFNFLgotKwot KyAgICAgICAgICBJRiAoUzIlSUQuTkUuNSkgU1RPUCAxCi0rICAgICAgICAgIElGIChTMiVUWVBF Lk5FLjEwMDApIFNUT1AgMgotKyAgICAgICAgICBJRiAoUzIlREVGVkFMLk5FLi05OSkgU1RPUCAz Ci0rICAgICAgICAgIElGIChTMiVOQU1FLk5FLiJKQU5FIikgU1RPUCA0Ci0rICAgICAgICAgIElG IChTMiVOSUwuTkVRVi4uRkFMU0UuKSBTVE9QIDUKLSsKLSsgICAgICAgICAgUzMgPSBTMQotKwot KyAgICAgICAgICBDQUxMIEEKLSsgICAgICAgICAgCi0rICAgICAgICBFTkQKLWRpZmYgLS1naXQg YS9nY2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL2RlY19hZGRfU0VRVUVOQ0VfdG9fQ09NTU9OX2Js b2NrX2J5X2RlZmF1bHRfMy5mIGIvZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9kZWNfYWRkX1NF UVVFTkNFX3RvX0NPTU1PTl9ibG9ja19ieV9kZWZhdWx0XzMuZgotbmV3IGZpbGUgbW9kZSAxMDA2 NDQKLWluZGV4IDAwMDAwMDAwMDAwLi4yNmNkNTlmOTA5MAotLS0tIC9kZXYvbnVsbAotKysrIGIv Z2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9kZWNfYWRkX1NFUVVFTkNFX3RvX0NPTU1PTl9ibG9j a19ieV9kZWZhdWx0XzMuZgotQEAgLTAsMCArMSw1NyBAQAotKyEgeyBkZy1kbyBjb21waWxlIH0K LSshIHsgZGctb3B0aW9ucyAiLWZkZWMgLWZuby1kZWMtc2VxdWVuY2UiIH0KLSshCi0rISBUZXN0 IGFkZCBkZWZhdWx0IFNFUVVFTkNFIGF0dHJpYnV0ZSBkZXJpdmVkIHR5cGVzIGFwcGVhcmluZyBp bgotKyEgQ09NTU9OIGJsb2NrcyBhbmQgRVFVSVZBTEVOQ0Ugc3RhdGVtZW50cy4KLSshCi0rISBD b250cmlidXRlZCBieSBGcmFuY2lzY28gUmVkb25kbyBNYXJjaGVuYSA8ZnJhbmNpc2NvLm1hcmNo ZW5hQGNvZGV0aGluay5jby51az4KLSshIE1vZGlmaWVkIGJ5IE1hcmsgRWdnbGVzdG9uIDxtYXJr LmVnZ2xlc3RvbkBjb2RldGhpbmsuY29tPgotKyEKLSsgICAgICAgIE1PRFVMRSBTRVEKLSsgICAg ICAgICAgVFlQRSBTVFJVQ1QxCi0rICAgICAgICAgICAgSU5URUdFUio0ICAgICBJRAotKyAgICAg ICAgICAgIElOVEVHRVIqNCAgICAgVFlQRQotKyAgICAgICAgICAgIElOVEVHRVIqOCAgICAgREVG VkFMCi0rICAgICAgICAgICAgQ0hBUkFDVEVSKig0KSBOQU1FCi0rICAgICAgICAgICAgTE9HSUNB TCoxICAgICBOSUwKLSsgICAgICAgICAgRU5EIFRZUEUgU1RSVUNUMQotKyAgICAgICAgRU5EIE1P RFVMRQotKwotKyAgICAgICAgU1VCUk9VVElORSBBCi0rICAgICAgICAgIFVTRSBTRVEKLSsgICAg ICAgICAgVFlQRSAoU1RSVUNUMSkgUyAhIHsgZGctZXJyb3IgIkRlcml2ZWQgdHlwZSB2YXJpYWJs ZSIgfQotKyAgICAgICAgICBDT01NT04gL0JMT0NLMS8gUwotKyAgICAgICAgICBJRiAoUyVJRC5O RS41KSBTVE9QIDEKLSsgICAgICAgICAgSUYgKFMlVFlQRS5ORS4xMDAwKSBTVE9QIDIKLSsgICAg ICAgICAgSUYgKFMlREVGVkFMLk5FLi05OSkgU1RPUCAzCi0rICAgICAgICAgIElGIChTJU5BTUUu TkUuIkpBTkUiKSBTVE9QIDQKLSsgICAgICAgICAgSUYgKFMlTklMLk5FUVYuLkZBTFNFLikgU1RP UCA1Ci0rICAgICAgICBFTkQgU1VCUk9VVElORQotKwotKyAgICAgICAgUFJPR1JBTSBzZXF1ZW5j ZV9hdHRfY29tbW9uCi0rICAgICAgICAgIFVTRSBTRVEKLSsgICAgICAgICAgSU1QTElDSVQgTk9O RQotKyAgICAgICAgICBUWVBFIChTVFJVQ1QxKSBTMQotKyAgICAgICAgICBUWVBFIChTVFJVQ1Qx KSBTMgotKyAgICAgICAgICBUWVBFIChTVFJVQ1QxKSBTMyAhIHsgZGctZXJyb3IgIkRlcml2ZWQg dHlwZSB2YXJpYWJsZSIgfQotKwotKyAgICAgICAgICBFUVVJVkFMRU5DRSAoUzEsUzIpICEgeyBk Zy1lcnJvciAiRGVyaXZlZCB0eXBlIHZhcmlhYmxlIiB9Ci0rICAgICAgICAgIENPTU1PTiAvQkxP Q0sxLyBTMwotKwotKyAgICAgICAgICBTMSVJRCA9IDUKLSsgICAgICAgICAgUzElVFlQRSA9IDEw MDAKLSsgICAgICAgICAgUzElREVGVkFMID0gLTk5Ci0rICAgICAgICAgIFMxJU5BTUUgPSAiSkFO RSIKLSsgICAgICAgICAgUzElTklMID0gLkZBTFNFLgotKwotKyAgICAgICAgICBJRiAoUzIlSUQu TkUuNSkgU1RPUCAxCi0rICAgICAgICAgIElGIChTMiVUWVBFLk5FLjEwMDApIFNUT1AgMgotKyAg ICAgICAgICBJRiAoUzIlREVGVkFMLk5FLi05OSkgU1RPUCAzCi0rICAgICAgICAgIElGIChTMiVO QU1FLk5FLiJKQU5FIikgU1RPUCA0Ci0rICAgICAgICAgIElGIChTMiVOSUwuTkVRVi4uRkFMU0Uu KSBTVE9QIDUKLSsKLSsgICAgICAgICAgUzMgPSBTMQotKwotKyAgICAgICAgICBDQUxMIEEKLSsg ICAgICAgICAgCi0rICAgICAgICBFTkQKLS0tIAotMi4yNy4wCi0K