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: Yaakov Selkowitz To: git-commits@fedoraproject.org Subject: [rpms/vlc] epel9-next: Update ffmpeg-7 patches, enable VA-API Date: Mon, 20 Jul 2026 18:06:02 GMT Message-ID: <178457076239.1.7458405098002160103.rpms-vlc-db2b332ca103@fedoraproject.org> List-ID: X-Git-Repo: rpms/vlc X-Git-Branch: epel9-next X-Git-Rev: db2b332ca10337bc43c692afc9e3de0f93db4902 ICAgICAgICAgICAgQSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KCiAgICAgICAgICAgIFJl cG8gICA6IHJwbXMvdmxjCiAgICAgICAgICAgIEJyYW5jaCA6IGVwZWw5LW5leHQKICAgICAgICAg ICAgQ29tbWl0IDogZGIyYjMzMmNhMTAzMzdiYzQzYzY5MmFmYzllM2RlMGY5M2RiNDkwMgogICAg ICAgICAgICBBdXRob3IgOiBZYWFrb3YgU2Vsa293aXR6IDx5c2Vsa293aUByZWRoYXQuY29tPgog ICAgICAgICAgICBEYXRlICAgOiAyMDI1LTAxLTEwVDAwOjUwOjM1LTA1OjAwCiAgICAgICAgICAg IFN0YXRzICA6ICsxNjk3Ly0xMjYgaW4gNiBmaWxlKHMpCiAgICAgICAgICAgIFVSTCAgICA6IGh0 dHBzOi8vc3JjLmZlZG9yYXByb2plY3Qub3JnL3JwbXMvdmxjL2MvZGIyYjMzMmNhMTAzMzdiYzQz YzY5MmFmYzllM2RlMGY5M2RiNDkwMj9icmFuY2g9ZXBlbDktbmV4dAoKICAgICAgICAgICAgTG9n OgogICAgICAgICAgICBVcGRhdGUgZmZtcGVnLTcgcGF0Y2hlcywgZW5hYmxlIFZBLUFQSQoKaHR0 cHM6Ly9jb2RlLnZpZGVvbGFuLm9yZy92aWRlb2xhbi92bGMvLS9tZXJnZV9yZXF1ZXN0cy82MTY4 Cmh0dHBzOi8vY29kZS52aWRlb2xhbi5vcmcvdmlkZW9sYW4vdmxjLy0vbWVyZ2VfcmVxdWVzdHMv NjYwNgoKLS0tCmRpZmYgLS1naXQgYS81NTc0LnBhdGNoIGIvNTU3NC5wYXRjaAppbmRleCBhYjBj Mzk1Li43ZGFjNzRhIDEwMDY0NAotLS0gYS81NTc0LnBhdGNoCisrKyBiLzU1NzQucGF0Y2gKQEAg LTEsNCArMSw0IEBACi1Gcm9tIGE0NjQ1YjU3N2M3MWU1OGRiMDllZTY4ODhmMjcwZmIzZDBjZmQ2 MWUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tIDgxZDZkNTZkZjZlNWE2NmVkOTk5NzBl MmM1NTk1Mzk4NThmNGEwYjcgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiA9P1VURi04 P3E/Uj1DMz1BOW1pPTIwRGVuaXMtQ291cm1vbnQ/PSA8cmVtaUByZW1sYWIubmV0PgogRGF0ZTog U2F0LCA1IE1heSAyMDE4IDE1OjI4OjE1ICswMzAwCiBTdWJqZWN0OiBbUEFUQ0ggMDEvMTFdIGF2 Y29kZWM6IGF2b2lkIHNpZ25lZG5lc3MgbWlzbWF0Y2ggd2FybmluZwpAQCAtMTEsNyArMTEsNyBA QCBCaXRtYXNrIHNob3VsZCBiZSB1bnNpZ25lZCwgYnV0IGZmbXBlZyBzZWVtcyBjb25mdXNlZCB3 aXRoIGl0c2VsZi4KICAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9u cygtKQogCiBkaWZmIC0tZ2l0IGEvbW9kdWxlcy9jb2RlYy9hdmNvZGVjL2F1ZGlvLmMgYi9tb2R1 bGVzL2NvZGVjL2F2Y29kZWMvYXVkaW8uYwotaW5kZXggNTBhNzZjN2ExOGUxLi5lNWFmMGNhNWYy ZjggMTAwNjQ0CitpbmRleCA1MGE3NmM3YTE4ZS4uZTVhZjBjYTVmMmYgMTAwNjQ0CiAtLS0gYS9t b2R1bGVzL2NvZGVjL2F2Y29kZWMvYXVkaW8uYwogKysrIGIvbW9kdWxlcy9jb2RlYy9hdmNvZGVj L2F1ZGlvLmMKIEBAIC01OTMsOSArNTkzLDkgQEAgc3RhdGljIHZvaWQgU2V0dXBPdXRwdXRGb3Jt YXQoIGRlY29kZXJfdCAqcF9kZWMsIGJvb2wgYl90cnVzdCApCkBAIC0zMCw3ICszMCw3IEBAIGlu ZGV4IDUwYTc2YzdhMThlMS4uZTVhZjBjYTVmMmY4IDEwMDY0NAogR2l0TGFiCiAKIAotRnJvbSAy ZDUxMjkzYzNmOGUwYmZhMmI3MzExMmFjZjRkYWNiNjJiNDBhYzU3IE1vbiBTZXAgMTcgMDA6MDA6 MDAgMjAwMQorRnJvbSBjNzcwOWU3YTA0OGViNjliNjU2ZDdmOTY2M2RlYmJjMWRkZTFmNTkxIE1v biBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogSWxra2EgT2xsYWtrYSA8aWxlb29AdmlkZW9s YW4ub3JnPgogRGF0ZTogV2VkLCA1IEp1bCAyMDIzIDEyOjUxOjM0ICswMzAwCiBTdWJqZWN0OiBb UEFUQ0ggMDIvMTFdIGF2Y29kZWM6IHVzZSBwX2RlYy0+Zm10X291dCBpbnN0ZWFkIG9mIGNvbnRl eHQgY2hhbm5lbHMKQEAgLTQ0LDcgKzQ0LDcgQEAgcmVkdWNlcyB0aGUgbmVlZCBvZiBpZmRlZnMg d2hlbiBhZGRpbmcgY2hfbGF5b3V0IHN1cHBvcnQKICAxIGZpbGUgY2hhbmdlZCwgNyBpbnNlcnRp b25zKCspLCA3IGRlbGV0aW9ucygtKQogCiBkaWZmIC0tZ2l0IGEvbW9kdWxlcy9jb2RlYy9hdmNv ZGVjL2F1ZGlvLmMgYi9tb2R1bGVzL2NvZGVjL2F2Y29kZWMvYXVkaW8uYwotaW5kZXggZTVhZjBj YTVmMmY4Li4yNjE2NmMwODRlNTEgMTAwNjQ0CitpbmRleCBlNWFmMGNhNWYyZi4uMjYxNjZjMDg0 ZTUgMTAwNjQ0CiAtLS0gYS9tb2R1bGVzL2NvZGVjL2F2Y29kZWMvYXVkaW8uYwogKysrIGIvbW9k dWxlcy9jb2RlYy9hdmNvZGVjL2F1ZGlvLmMKIEBAIC00ODQsMTUgKzQ4NCwxNSBAQCBzdGF0aWMg YmxvY2tfdCAqIENvbnZlcnRBVkZyYW1lKCBkZWNvZGVyX3QgKnBfZGVjLCBBVkZyYW1lICpmcmFt ZSApCkBAIC05Niw3ICs5Niw3IEBAIGluZGV4IGU1YWYwY2E1ZjJmOC4uMjYxNjZjMDg0ZTUxIDEw MDY0NAogR2l0TGFiCiAKIAotRnJvbSAxZTViZDhhNmY1ZmJmMmMwNzA3MWNlZmIxYjI0YWNlZmYw NTg3NjBkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSA5OWIxNDk2NjE4Mjk5NTMxNGY1 YjI5ZmQ5NzJkNmE5MDAwZWEzZTAwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogSWxr a2EgT2xsYWtrYSA8aWxlb29AdmlkZW9sYW4ub3JnPgogRGF0ZTogV2VkLCA1IEp1bCAyMDIzIDEz OjMzOjA5ICswMzAwCiBTdWJqZWN0OiBbUEFUQ0ggMDMvMTFdIGF2Y29kZWM6IGF1ZGlvIGRlY29k ZXIgdG8gdXNlIGNoX2xheW91dApAQCAtMTA3LDcgKzEwNyw3IEBAIFN1YmplY3Q6IFtQQVRDSCAw My8xMV0gYXZjb2RlYzogYXVkaW8gZGVjb2RlciB0byB1c2UgY2hfbGF5b3V0CiAgMSBmaWxlIGNo YW5nZWQsIDM0IGluc2VydGlvbnMoKyksIDggZGVsZXRpb25zKC0pCiAKIGRpZmYgLS1naXQgYS9t b2R1bGVzL2NvZGVjL2F2Y29kZWMvYXVkaW8uYyBiL21vZHVsZXMvY29kZWMvYXZjb2RlYy9hdWRp by5jCi1pbmRleCAyNjE2NmMwODRlNTEuLmFkOGE0MGFiNGVkNiAxMDA2NDQKK2luZGV4IDI2MTY2 YzA4NGU1Li5hZDhhNDBhYjRlZCAxMDA2NDQKIC0tLSBhL21vZHVsZXMvY29kZWMvYXZjb2RlYy9h dWRpby5jCiArKysgYi9tb2R1bGVzL2NvZGVjL2F2Y29kZWMvYXVkaW8uYwogQEAgLTEzOSw3ICsx MzksMTEgQEAgc3RhdGljIGludCBPcGVuQXVkaW9Db2RlYyggZGVjb2Rlcl90ICpwX2RlYyApCkBA IC0yMTAsNyArMjEwLDcgQEAgaW5kZXggMjYxNjZjMDg0ZTUxLi5hZDhhNDBhYjRlZDYgMTAwNjQ0 CiBHaXRMYWIKIAogCi1Gcm9tIDFmYmYzZjAyOGNmZmVkODdjYjI1N2E0NTY2ODc2MDM3MGRiMjY3 Y2YgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tIGM0NGVkYjg1ZTRmMjVjYmM3YTg0ODIx MWQyZDNjYTlmMDNiZDQ2ZTYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBJbGtrYSBP bGxha2thIDxpbGVvb0B2aWRlb2xhbi5vcmc+CiBEYXRlOiBUdWUsIDQgSnVsIDIwMjMgMTY6NTI6 MzggKzAzMDAKIFN1YmplY3Q6IFtQQVRDSCAwNC8xMV0gYXZjb2RlYzogdXNlIHBfZW5jIGF1ZGlv IGNoYW5uZWxzIGluc3RlYWQgb2YgY29udGV4dApAQCAtMjI0LDcgKzIyNCw3IEBAIEFsbG93cyB0 byBoYXZlIGxlc3MgY29uZGl0aW9ucyBpbiBjb2RlIHdoZW4gYWRkaW5nIG5ldyBjaF9sYXlvdXQg dXNlCiAgMSBmaWxlIGNoYW5nZWQsIDEyIGluc2VydGlvbnMoKyksIDEyIGRlbGV0aW9ucygtKQog CiBkaWZmIC0tZ2l0IGEvbW9kdWxlcy9jb2RlYy9hdmNvZGVjL2VuY29kZXIuYyBiL21vZHVsZXMv Y29kZWMvYXZjb2RlYy9lbmNvZGVyLmMKLWluZGV4IDQ5MTljY2YwZTBlNC4uNTI4NDhkZTA2NTg3 IDEwMDY0NAoraW5kZXggNDkxOWNjZjBlMGUuLjUyODQ4ZGUwNjU4IDEwMDY0NAogLS0tIGEvbW9k dWxlcy9jb2RlYy9hdmNvZGVjL2VuY29kZXIuYwogKysrIGIvbW9kdWxlcy9jb2RlYy9hdmNvZGVj L2VuY29kZXIuYwogQEAgLTc5MCw3ICs3OTAsNyBAQCBpbnQgSW5pdFZpZGVvRW5jKCB2bGNfb2Jq ZWN0X3QgKnBfdGhpcyApCkBAIC0zMzYsNyArMzM2LDcgQEAgaW5kZXggNDkxOWNjZjBlMGU0Li41 Mjg0OGRlMDY1ODcgMTAwNjQ0CiBHaXRMYWIKIAogCi1Gcm9tIGExYTNlZGQ0ZWFjYzgxM2U1YjRj M2E2ZjM1M2I5MmY0MDY5ZmJjMWEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tIGI4YWQ4 MGEyMGU5ZTg0MDgyZGFjMjg0ODA3MGQyNTFmYTY4NDEyYzcgTW9uIFNlcCAxNyAwMDowMDowMCAy MDAxCiBGcm9tOiA9P1VURi04P3E/RnJhbj1DMz1BN29pcz0yMENhcnRlZ25pZT89IDxmY3ZsY2Rl dkBmcmVlLmZyPgogRGF0ZTogVHVlLCAyMyBBcHIgMjAyNCAxMzoxMzozMCArMDcwMAogU3ViamVj dDogW1BBVENIIDA1LzExXSBjb2RlYzogYXZjb2RlYzogbWFwIEFZVVYgYXMgUkFXVklERU8gd2l0 aCBmZm1wZWcgNi4wCkBAIC0zNDcsNyArMzQ3LDcgQEAgU3ViamVjdDogW1BBVENIIDA1LzExXSBj b2RlYzogYXZjb2RlYzogbWFwIEFZVVYgYXMgUkFXVklERU8gd2l0aCBmZm1wZWcgNi4wCiAgMSBm aWxlIGNoYW5nZWQsIDUgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQogCiBkaWZmIC0tZ2l0 IGEvbW9kdWxlcy9jb2RlYy9hdmNvZGVjL2ZvdXJjYy5jIGIvbW9kdWxlcy9jb2RlYy9hdmNvZGVj L2ZvdXJjYy5jCi1pbmRleCAzM2M2Y2FlMDlhYmMuLjk3ZjMxODgyMTFkMyAxMDA2NDQKK2luZGV4 IDMzYzZjYWUwOWFiLi45N2YzMTg4MjExZCAxMDA2NDQKIC0tLSBhL21vZHVsZXMvY29kZWMvYXZj b2RlYy9mb3VyY2MuYwogKysrIGIvbW9kdWxlcy9jb2RlYy9hdmNvZGVjL2ZvdXJjYy5jCiBAQCAt MTgyLDggKzE4MiwxMiBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IHZsY19hdmNvZGVjX2ZvdXJjYyB2 aWRlb19jb2RlY3NbXSA9CkBAIC0zNjgsOCArMzY4LDggQEAgaW5kZXggMzNjNmNhZTA5YWJjLi45 N2YzMTg4MjExZDMgMTAwNjQ0CiBHaXRMYWIKIAogCi1Gcm9tIGRhNmY2NzU4OGRhY2Y2MGM3NTYz ZmQ3MjBjYzc1ZTE5MTIyMTVhNDUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBGcmFu Y29pcyBDYXJ0ZWduaWUgPGZjdmxjZGV2QGZyZWUuZnI+CitGcm9tIDU4YzA1MjQwYzI2YjZlZWY1 NmU3YzVhYjM1YjE0Y2NkODM3NzY2N2YgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiA9 P1VURi04P3E/RnJhbj1DMz1BN29pcz0yMENhcnRlZ25pZT89IDxmY3ZsY2RldkBmcmVlLmZyPgog RGF0ZTogVGh1LCAxMyBKdW4gMjAyNCAxMjoyMTo1OCArMDcwMAogU3ViamVjdDogW1BBVENIIDA2 LzExXSBhdmNvZGVjOiBlbmNvZGVyOiBmaXggY2hhbm5lbF9sYXlvdXQgY29uZGl0aW9uYWxzCiAK QEAgLTM3OCw3ICszNzgsNyBAQCBTdWJqZWN0OiBbUEFUQ0ggMDYvMTFdIGF2Y29kZWM6IGVuY29k ZXI6IGZpeCBjaGFubmVsX2xheW91dCBjb25kaXRpb25hbHMKICAxIGZpbGUgY2hhbmdlZCwgOCBp bnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQogCiBkaWZmIC0tZ2l0IGEvbW9kdWxlcy9jb2Rl Yy9hdmNvZGVjL2VuY29kZXIuYyBiL21vZHVsZXMvY29kZWMvYXZjb2RlYy9lbmNvZGVyLmMKLWlu ZGV4IDUyODQ4ZGUwNjU4Ny4uNmJkNThmNTA3MWQyIDEwMDY0NAoraW5kZXggNTI4NDhkZTA2NTgu LjZiZDU4ZjUwNzFkIDEwMDY0NAogLS0tIGEvbW9kdWxlcy9jb2RlYy9hdmNvZGVjL2VuY29kZXIu YwogKysrIGIvbW9kdWxlcy9jb2RlYy9hdmNvZGVjL2VuY29kZXIuYwogQEAgLTQzLDEyICs0Mywx MyBAQApAQCAtNDM2LDggKzQzNiw4IEBAIGluZGV4IDUyODQ4ZGUwNjU4Ny4uNmJkNThmNTA3MWQy IDEwMDY0NAogR2l0TGFiCiAKIAotRnJvbSA4ZTJkMjA5ZDA4OTcxMzhiYTEzMzcyYWI0OWMwZWU3 Y2VmN2MzMTZjIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogRnJhbmNvaXMgQ2FydGVn bmllIDxmY3ZsY2RldkBmcmVlLmZyPgorRnJvbSAzZGI2ZTY3NzY4MGExYTk0ZTQ3M2ZlOWQ5ZmMx MjFhZjM0Y2RjZjJiIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogPT9VVEYtOD9xP0Zy YW49QzM9QTdvaXM9MjBDYXJ0ZWduaWU/PSA8ZmN2bGNkZXZAZnJlZS5mcj4KIERhdGU6IFNhdCwg MTcgQXVnIDIwMjQgMTE6MjI6MzMgKzA3MDAKIFN1YmplY3Q6IFtQQVRDSCAwNy8xMV0gY29kZWM6 IGF2Y29kZWM6IGZpeCBhdWRpbyBjaGFubmVsX2xheW91dCBjb25kaXRpb25hbHMKIApAQCAtNDQ2 LDcgKzQ0Niw3IEBAIFN1YmplY3Q6IFtQQVRDSCAwNy8xMV0gY29kZWM6IGF2Y29kZWM6IGZpeCBh dWRpbyBjaGFubmVsX2xheW91dCBjb25kaXRpb25hbHMKICAxIGZpbGUgY2hhbmdlZCwgMTUgaW5z ZXJ0aW9ucygrKSwgOCBkZWxldGlvbnMoLSkKIAogZGlmZiAtLWdpdCBhL21vZHVsZXMvY29kZWMv YXZjb2RlYy9hdWRpby5jIGIvbW9kdWxlcy9jb2RlYy9hdmNvZGVjL2F1ZGlvLmMKLWluZGV4IGFk OGE0MGFiNGVkNi4uYzc0NzU3Yzc2YWU1IDEwMDY0NAoraW5kZXggYWQ4YTQwYWI0ZWQuLmM3NDc1 N2M3NmFlIDEwMDY0NAogLS0tIGEvbW9kdWxlcy9jb2RlYy9hdmNvZGVjL2F1ZGlvLmMKICsrKyBi L21vZHVsZXMvY29kZWMvYXZjb2RlYy9hdWRpby5jCiBAQCAtNDEsOCArNDEsMTEgQEAKQEAgLTUw MSw3ICs1MDEsNyBAQCBpbmRleCBhZDhhNDBhYjRlZDYuLmM3NDc1N2M3NmFlNSAxMDA2NDQKIEdp dExhYgogCiAKLUZyb20gY2M1MzA2ZjliNGVhYWMxYjY4NDc0N2Q2NWMwNDkwMTAwODQyM2Y2MSBN b24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gYjViYjliZGEwM2EwNmZjMWNmZDY4MmRhY2I1 NzFiNjg4YjU1NThkOSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206ID0/VVRGLTg/cT9G cmFuPUMzPUE3b2lzPTIwQ2FydGVnbmllPz0gPGZjdmxjZGV2QGZyZWUuZnI+CiBEYXRlOiBUdWUs IDIzIEFwciAyMDI0IDEzOjE0OjUzICswNzAwCiBTdWJqZWN0OiBbUEFUQ0ggMDgvMTFdIGRlbXV4 L211eDogYXZmb3JtYXQ6IHVzZSBjaF9sYXlvdXQgZnJvbSBmZm1wZWcgNS4xCkBAIC01MTQsNyAr NTE0LDcgQEAgYW5kIGZpeHVwIDE5NWYwYzk4NTk5YjU1OTUwYzQ5YTYyZjk4ZDlkMzQ5NWJlMzEw ZGYKICAyIGZpbGVzIGNoYW5nZWQsIDggaW5zZXJ0aW9ucygrKQogCiBkaWZmIC0tZ2l0IGEvbW9k dWxlcy9kZW11eC9hdmZvcm1hdC9kZW11eC5jIGIvbW9kdWxlcy9kZW11eC9hdmZvcm1hdC9kZW11 eC5jCi1pbmRleCAzYjM1NWJiM2ZhZWMuLjgzMGRjMDE1N2UyYiAxMDA2NDQKK2luZGV4IDNiMzU1 YmIzZmFlLi44MzBkYzAxNTdlMiAxMDA2NDQKIC0tLSBhL21vZHVsZXMvZGVtdXgvYXZmb3JtYXQv ZGVtdXguYwogKysrIGIvbW9kdWxlcy9kZW11eC9hdmZvcm1hdC9kZW11eC5jCiBAQCAtNDAxLDcg KzQwMSwxMSBAQCBpbnQgYXZmb3JtYXRfT3BlbkRlbXV4KCB2bGNfb2JqZWN0X3QgKnBfdGhpcyAp CkBAIC01MzAsNyArNTMwLDcgQEAgaW5kZXggM2IzNTViYjNmYWVjLi44MzBkYzAxNTdlMmIgMTAw NjQ0CiAgICAgICAgICAgICAgZXNfZm10LmF1ZGlvLmlfYml0c3BlcnNhbXBsZSA9IGNwLT5iaXRz X3Blcl9jb2RlZF9zYW1wbGU7CiAgICAgICAgICAgICAgZXNfZm10LmF1ZGlvLmlfYmxvY2thbGln biA9IGNwLT5ibG9ja19hbGlnbjsKIGRpZmYgLS1naXQgYS9tb2R1bGVzL2RlbXV4L2F2Zm9ybWF0 L211eC5jIGIvbW9kdWxlcy9kZW11eC9hdmZvcm1hdC9tdXguYwotaW5kZXggYzcwODI3Njk1NGNl Li44YmY4NzM1ODg1ZjUgMTAwNjQ0CitpbmRleCBjNzA4Mjc2OTU0Yy4uOGJmODczNTg4NWYgMTAw NjQ0CiAtLS0gYS9tb2R1bGVzL2RlbXV4L2F2Zm9ybWF0L211eC5jCiArKysgYi9tb2R1bGVzL2Rl bXV4L2F2Zm9ybWF0L211eC5jCiBAQCAtMjY3LDcgKzI2NywxMSBAQCBzdGF0aWMgaW50IEFkZFN0 cmVhbSggc291dF9tdXhfdCAqcF9tdXgsIHNvdXRfaW5wdXRfdCAqcF9pbnB1dCApCkBAIC01NDks NyArNTQ5LDcgQEAgaW5kZXggYzcwODI3Njk1NGNlLi44YmY4NzM1ODg1ZjUgMTAwNjQ0CiBHaXRM YWIKIAogCi1Gcm9tIGFkNDEzYWI5YzBkODUyMmNiNzlmN2RmMzY0MDI0OTk5ODkwMmI2Y2EgTW9u IFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tIGZhMDAxY2RhN2Y2YjIyODQzNDM4YzM5ZGZjMDc4 MDUwYmI1NGM3MmEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBJbGtrYSBPbGxha2th IDxpbGVvb0B2aWRlb2xhbi5vcmc+CiBEYXRlOiBUdWUsIDQgSnVsIDIwMjMgMTY6NTM6NDMgKzAz MDAKIFN1YmplY3Q6IFtQQVRDSCAwOS8xMV0gYXZjb2RlYzogYWRkIGhhbmRsaW5nIG9mIG5ldyBj aF9sYXlvdXQgaW4gYXVkaW8gZW5jb2RlcgpAQCAtNTYyLDcgKzU2Miw3IEBAIGNvbmRpdGlvbmVk IHRvIGF2Y29kZWMgdmVyc2lvbiB3aGVyZSBpcyBpdCBhZGRlZAogIDEgZmlsZSBjaGFuZ2VkLCAx MyBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQogCiBkaWZmIC0tZ2l0IGEvbW9kdWxlcy9j b2RlYy9hdmNvZGVjL2VuY29kZXIuYyBiL21vZHVsZXMvY29kZWMvYXZjb2RlYy9lbmNvZGVyLmMK LWluZGV4IDZiZDU4ZjUwNzFkMi4uNzU3ZjkzYjQ2ODQ1IDEwMDY0NAoraW5kZXggNmJkNThmNTA3 MWQuLjc1N2Y5M2I0Njg0IDEwMDY0NAogLS0tIGEvbW9kdWxlcy9jb2RlYy9hdmNvZGVjL2VuY29k ZXIuYwogKysrIGIvbW9kdWxlcy9jb2RlYy9hdmNvZGVjL2VuY29kZXIuYwogQEAgLTkyNywxMSAr OTI3LDE0IEBAIGVycm1zZzoKQEAgLTYxMiw3ICs2MTIsNyBAQCBpbmRleCA2YmQ1OGY1MDcxZDIu Ljc1N2Y5M2I0Njg0NSAxMDA2NDQKIEdpdExhYgogCiAKLUZyb20gNDE2ZWVjYTY4YmZiNjdiMjQ0 ODI3YTQ1YTQzOTJiZGRiOGNjMGNlOCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gYmI2 Mjk4OWNjYzEyODY2ZDMwOGU2ZjM4ZGMxNTEzZGU5Y2IxYzZkYSBNb24gU2VwIDE3IDAwOjAwOjAw IDIwMDEKIEZyb206IElsa2thIE9sbGFra2EgPGlsZW9vQHZpZGVvbGFuLm9yZz4KIERhdGU6IFR1 ZSwgNCBKdWwgMjAyMyAxNjo1NToyOCArMDMwMAogU3ViamVjdDogW1BBVENIIDEwLzExXSBhdmNv ZGVjOiB1c2UgY2hfbGF5b3V0IGZvciBjaGFubmVsIGxheW91dCBpbiBhdWRpbwpAQCAtNjI4LDcg KzYyOCw3IEBAIGFsc28gYWx3YXlzIGNyZWF0ZSB0aGUgbWFwcGluZywgYXMgY2hfbGF5b3V0IGlz IGFsd2F5cyB0aGVyZQogIDEgZmlsZSBjaGFuZ2VkLCAyMiBpbnNlcnRpb25zKCspLCAzMSBkZWxl dGlvbnMoLSkKIAogZGlmZiAtLWdpdCBhL21vZHVsZXMvY29kZWMvYXZjb2RlYy9lbmNvZGVyLmMg Yi9tb2R1bGVzL2NvZGVjL2F2Y29kZWMvZW5jb2Rlci5jCi1pbmRleCA3NTdmOTNiNDY4NDUuLmFl NzQ2Yzk5ZmM4OSAxMDA2NDQKK2luZGV4IDc1N2Y5M2I0Njg0Li5hZTc0NmM5OWZjOCAxMDA2NDQK IC0tLSBhL21vZHVsZXMvY29kZWMvYXZjb2RlYy9lbmNvZGVyLmMKICsrKyBiL21vZHVsZXMvY29k ZWMvYXZjb2RlYy9lbmNvZGVyLmMKIEBAIC0xODMsNiArMTgzLDcgQEAgc3RhdGljIGNvbnN0IHVp bnQ2NF90IHBpX2NoYW5uZWxzX21hcFtdWzJdID0KQEAgLTcyOCw3ICs3MjgsNyBAQCBpbmRleCA3 NTdmOTNiNDY4NDUuLmFlNzQ2Yzk5ZmM4OSAxMDA2NDQKIEdpdExhYgogCiAKLUZyb20gYzQ5M2Vj MThjNWYzZDEwYmE1YTk2N2U4MWI4MGQwM2U3OWYyZDhiNyBNb24gU2VwIDE3IDAwOjAwOjAwIDIw MDEKK0Zyb20gZTAyMGY5YWJiMzE4MDk1ODRlMzNkNzQwNTkzZDZhZTVhMTkwNzcxZCBNb24gU2Vw IDE3IDAwOjAwOjAwIDIwMDEKIEZyb206ID0/VVRGLTg/cT9GcmFuPUMzPUE3b2lzPTIwQ2FydGVn bmllPz0gPGZjdmxjZGV2QGZyZWUuZnI+CiBEYXRlOiBNb24sIDEyIEF1ZyAyMDI0IDE5OjMyOjQy ICswNzAwCiBTdWJqZWN0OiBbUEFUQ0ggMTEvMTFdIGNvZGVjOiBhdmNvZGVjOiBieXBhc3MgcmVt b3ZlZCBkZWZpbmUgZm9yIEludGVsCkBAIC03NDEsNyArNzQxLDcgQEAgYWRhcHRlZCBmcm9tIGNo ZXJyeSBwaWNrZWQgY29tbWl0IDEyODA3MjhhZDMwNWYwMGNlYmEzNDkxY2UxMWJmNjYxMDcwMTdh NmMKICAyIGZpbGVzIGNoYW5nZWQsIDggaW5zZXJ0aW9ucygrKQogCiBkaWZmIC0tZ2l0IGEvbW9k dWxlcy9jb2RlYy9hdmNvZGVjL2QzZDExdmEuYyBiL21vZHVsZXMvY29kZWMvYXZjb2RlYy9kM2Qx MXZhLmMKLWluZGV4IGUxNTYwYTkzMTJjYy4uNTI2MDYyODM2NGYwIDEwMDY0NAoraW5kZXggZTE1 NjBhOTMxMmMuLjUyNjA2MjgzNjRmIDEwMDY0NAogLS0tIGEvbW9kdWxlcy9jb2RlYy9hdmNvZGVj L2QzZDExdmEuYwogKysrIGIvbW9kdWxlcy9jb2RlYy9hdmNvZGVjL2QzZDExdmEuYwogQEAgLTU1 LDYgKzU1LDEwIEBACkBAIC03NTYsNyArNzU2LDcgQEAgaW5kZXggZTE1NjBhOTMxMmNjLi41MjYw NjI4MzY0ZjAgMTAwNjQ0CiAgICAgICAgICAgICAgICAgIGNvbnN0IGVzX2Zvcm1hdF90ICosIHBp Y3R1cmVfc3lzX3QgKnBfc3lzKTsKICBzdGF0aWMgdm9pZCBDbG9zZSh2bGNfdmFfdCAqLCB2b2lk ICoqKTsKIGRpZmYgLS1naXQgYS9tb2R1bGVzL2NvZGVjL2F2Y29kZWMvZHh2YTIuYyBiL21vZHVs ZXMvY29kZWMvYXZjb2RlYy9keHZhMi5jCi1pbmRleCAyZTY4MDlhMDU0MTAuLjAzN2FkN2Q0NDg4 NyAxMDA2NDQKK2luZGV4IDJlNjgwOWEwNTQxLi4wMzdhZDdkNDQ4OCAxMDA2NDQKIC0tLSBhL21v ZHVsZXMvY29kZWMvYXZjb2RlYy9keHZhMi5jCiArKysgYi9tb2R1bGVzL2NvZGVjL2F2Y29kZWMv ZHh2YTIuYwogQEAgLTQzLDYgKzQzLDEwIEBACkBAIC03NzMsODEgKzc3MywzIEBAIGluZGV4IDJl NjgwOWEwNTQxMC4uMDM3YWQ3ZDQ0ODg3IDEwMDY0NAogLS0gCiBHaXRMYWIKIAotCi1Gcm9tOiA9 P3V0Zi04P3E/RnJhbj1DMz1BN29pc19DYXJ0ZWduaWU/PSA8ZmN2bGNkZXZAZnJlZS5mcj4KLURh dGU6IFRodSwgMTUgQXVnIDIwMjQgMTI6MDk6NTYgKzAyMDAKLVN1YmplY3Q6IG11eDogYXZmb3Jt YXQ6IGZpeCBhdmlvIGNhbGxiYWNrcyBzaWduYXR1cmUgd2l0aCBmZm1wZWcgNi4xCi0KLUFQSSBz aWduYXR1cmUgY2hhbmdlcyBpbnRyb2R1Y2VkIGRlcGVuZGluZyBvbiBhIHBvc2l0aXZlIGRlZmlu ZSwKLXRoZW4gcmVtb3ZlZCBsYXRlciwgbWFraW5nIGl0IGJyZWFrIHByaW9yIG9yIHBvc3QgcmVt b3ZhbC4uLgotLS0tCi0gbW9kdWxlcy9jb2RlYy9hdmNvZGVjL2F2Y29tbW9uX2NvbXBhdC5oIHwg IDMgKysrCi0gbW9kdWxlcy9kZW11eC9hdmZvcm1hdC9tdXguYyAgICAgICAgICAgIHwgMTkgKysr KysrKysrKysrKysrKystLQotIDIgZmlsZXMgY2hhbmdlZCwgMjAgaW5zZXJ0aW9ucygrKSwgMiBk ZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL21vZHVsZXMvY29kZWMvYXZjb2RlYy9hdmNvbW1v bl9jb21wYXQuaCBiL21vZHVsZXMvY29kZWMvYXZjb2RlYy9hdmNvbW1vbl9jb21wYXQuaAotaW5k ZXggOWQxNmIzZC4uNTYxYWQ4MyAxMDA2NDQKLS0tLSBhL21vZHVsZXMvY29kZWMvYXZjb2RlYy9h dmNvbW1vbl9jb21wYXQuaAotKysrIGIvbW9kdWxlcy9jb2RlYy9hdmNvZGVjL2F2Y29tbW9uX2Nv bXBhdC5oCi1AQCAtNzcsNiArNzcsOSBAQAotICNpZm5kZWYgIEZGX01BWF9CX0ZSQU1FUwotICMg ZGVmaW5lICBGRl9NQVhfQl9GUkFNRVMgMTYgLy8gRklYTUU6IHJlbW92ZSB0aGlzCi0gI2VuZGlm Ci0rI2lmbmRlZiBGRl9BUElfQVZJT19XUklURV9OT05DT05TVCAvLyByZW1vdmVkIGluIGZmbXBl ZyA3Ci0rIyBkZWZpbmUgRkZfQVBJX0FWSU9fV1JJVEVfTk9OQ09OU1QgKExJQkFWRk9STUFUX1ZF UlNJT05fTUFKT1IgPCA2MSkKLSsjZW5kaWYKLSAKLSAjZW5kaWYgLyogSEFWRV9MSUJBVkNPREVD X0FWQ09ERUNfSCAqLwotIAotZGlmZiAtLWdpdCBhL21vZHVsZXMvZGVtdXgvYXZmb3JtYXQvbXV4 LmMgYi9tb2R1bGVzL2RlbXV4L2F2Zm9ybWF0L211eC5jCi1pbmRleCA4YmY4NzM1Li40OTk0NjQ3 IDEwMDY0NAotLS0tIGEvbW9kdWxlcy9kZW11eC9hdmZvcm1hdC9tdXguYwotKysrIGIvbW9kdWxl cy9kZW11eC9hdmZvcm1hdC9tdXguYwotQEAgLTc0LDEyICs3NCwxOCBAQCBzdGF0aWMgaW50IEFk ZFN0cmVhbSggc291dF9tdXhfdCAqLCBzb3V0X2lucHV0X3QgKiApOwotIHN0YXRpYyB2b2lkIERl bFN0cmVhbSggc291dF9tdXhfdCAqLCBzb3V0X2lucHV0X3QgKiApOwotIHN0YXRpYyBpbnQgTXV4 ICAgICAgKCBzb3V0X211eF90ICogKTsKLSAKLSsjaWYgRkZfQVBJX0FWSU9fV1JJVEVfTk9OQ09O U1QKLSBzdGF0aWMgaW50IElPV3JpdGUoIHZvaWQgKm9wYXF1ZSwgdWludDhfdCAqYnVmLCBpbnQg YnVmX3NpemUgKTsKLS1zdGF0aWMgaW50NjRfdCBJT1NlZWsoIHZvaWQgKm9wYXF1ZSwgaW50NjRf dCBvZmZzZXQsIGludCB3aGVuY2UgKTsKLSAjaWYgTElCQVZGT1JNQVRfVkVSU0lPTl9DSEVDSygg NTcsIDcsIDAsIDQwLCAxMDAgKQotIHN0YXRpYyBpbnQgSU9Xcml0ZVR5cGVkKHZvaWQgKm9wYXF1 ZSwgdWludDhfdCAqYnVmLCBpbnQgYnVmX3NpemUsCi0tICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgZW51bSBBVklPRGF0YU1hcmtlclR5cGUgdHlwZSwgaW50NjRfdCB0aW1lKTsKLSsgICAg ICAgICAgICAgICAgICAgICAgICBlbnVtIEFWSU9EYXRhTWFya2VyVHlwZSB0eXBlLCBpbnQ2NF90 IHRpbWUpOwotKyNlbmRpZgotKyNlbHNlCi0rc3RhdGljIGludCBJT1dyaXRlKCB2b2lkICpvcGFx dWUsIGNvbnN0IHVpbnQ4X3QgKmJ1ZiwgaW50IGJ1Zl9zaXplICk7Ci0raW50IElPV3JpdGVUeXBl ZCh2b2lkICpvcGFxdWUsIGNvbnN0IHVpbnQ4X3QgKmJ1ZiwgaW50IGJ1Zl9zaXplLAotKyAgICAg ICAgICAgICAgICAgZW51bSBBVklPRGF0YU1hcmtlclR5cGUgdHlwZSwgaW50NjRfdCB0aW1lKTsK LSAjZW5kaWYKLStzdGF0aWMgaW50NjRfdCBJT1NlZWsoIHZvaWQgKm9wYXF1ZSwgaW50NjRfdCBv ZmZzZXQsIGludCB3aGVuY2UgKTsKLSAKLSAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAgKiBPcGVu Ci1AQCAtNDExLDggKzQxNywxMyBAQCBzdGF0aWMgaW50IE11eEJsb2NrKCBzb3V0X211eF90ICpw X211eCwgc291dF9pbnB1dF90ICpwX2lucHV0ICkKLSB9Ci0gCi0gI2lmIExJQkFWRk9STUFUX1ZF UlNJT05fQ0hFQ0soIDU3LCA3LCAwLCA0MCwgMTAwICkKLSsjaWYgRkZfQVBJX0FWSU9fV1JJVEVf Tk9OQ09OU1QKLSBpbnQgSU9Xcml0ZVR5cGVkKHZvaWQgKm9wYXF1ZSwgdWludDhfdCAqYnVmLCBp bnQgYnVmX3NpemUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW51bSBBVklPRGF0 YU1hcmtlclR5cGUgdHlwZSwgaW50NjRfdCB0aW1lKQotKyNlbHNlCi0raW50IElPV3JpdGVUeXBl ZCh2b2lkICpvcGFxdWUsIGNvbnN0IHVpbnQ4X3QgKmJ1ZiwgaW50IGJ1Zl9zaXplLAotKyAgICAg ICAgICAgICAgICAgZW51bSBBVklPRGF0YU1hcmtlclR5cGUgdHlwZSwgaW50NjRfdCB0aW1lKQot KyNlbmRpZgotIHsKLSAgICAgVkxDX1VOVVNFRCh0aW1lKTsKLSAKLUBAIC01MTIsNyArNTIzLDEx IEBAIHN0YXRpYyBpbnQgQ29udHJvbCggc291dF9tdXhfdCAqcF9tdXgsIGludCBpX3F1ZXJ5LCB2 YV9saXN0IGFyZ3MgKQotIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICAqIEkvTyB3cmFwcGVycyBm b3IgbGliYXZmb3JtYXQKLSAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCi0rI2lmIEZGX0FQSV9BVklP X1dSSVRFX05PTkNPTlNUCi0gc3RhdGljIGludCBJT1dyaXRlKCB2b2lkICpvcGFxdWUsIHVpbnQ4 X3QgKmJ1ZiwgaW50IGJ1Zl9zaXplICkKLSsjZWxzZQotK3N0YXRpYyBpbnQgSU9Xcml0ZSggdm9p ZCAqb3BhcXVlLCBjb25zdCB1aW50OF90ICpidWYsIGludCBidWZfc2l6ZSApCi0rI2VuZGlmCi0g ewotICAgICBzb3V0X211eF90ICpwX211eCA9IG9wYXF1ZTsKLSAgICAgc291dF9tdXhfc3lzX3Qg KnBfc3lzID0gcF9tdXgtPnBfc3lzOwotCgpkaWZmIC0tZ2l0IGEvNjE2OC5wYXRjaCBiLzYxNjgu cGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmRjYzhjMQotLS0gL2Rl di9udWxsCisrKyBiLzYxNjgucGF0Y2gKQEAgLTAsMCArMSw4MiBAQAorRnJvbSBhNjE4ZTMxY2Yy MDkxNjhhZTQyMGU5NTc1MDczNGEzNzM1OTk2OWUxIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQor RnJvbTogPT9VVEYtOD9xP0ZyYW49QzM9QTdvaXM9MjBDYXJ0ZWduaWU/PSA8ZmN2bGNkZXZAZnJl ZS5mcj4KK0RhdGU6IFN1biwgNyBKdWwgMjAyNCAxMToxNDowNSArMDIwMAorU3ViamVjdDogW1BB VENIXSBtdXg6IGF2Zm9ybWF0OiBmaXggYXZpbyBjYWxsYmFja3Mgc2lnbmF0dXJlIHdpdGggZmZt cGVnIDYuMQorCitBUEkgc2lnbmF0dXJlIGNoYW5nZXMgaW50cm9kdWNlZCBkZXBlbmRpbmcgb24g YSBwb3NpdGl2ZSBkZWZpbmUsCit0aGVuIHJlbW92ZWQgbGF0ZXIsIG1ha2luZyBpdCBicmVhayBw cmlvciBvciBwb3N0IHJlbW92YWwuLi4KKworKGFkYXB0ZWQgZnJvbSBjb21taXQgNTAzYzA0ZmFk OTIzOTQyMGJlMjZkNjdhYWI0ZDVmNjNjNTNlYjRmNykKKy0tLQorIG1vZHVsZXMvY29kZWMvYXZj b2RlYy9hdmNvbW1vbl9jb21wYXQuaCB8ICAzICsrKworIG1vZHVsZXMvZGVtdXgvYXZmb3JtYXQv bXV4LmMgICAgICAgICAgICB8IDE4ICsrKysrKysrKysrKysrKysrKworIDIgZmlsZXMgY2hhbmdl ZCwgMjEgaW5zZXJ0aW9ucygrKQorCitkaWZmIC0tZ2l0IGEvbW9kdWxlcy9jb2RlYy9hdmNvZGVj L2F2Y29tbW9uX2NvbXBhdC5oIGIvbW9kdWxlcy9jb2RlYy9hdmNvZGVjL2F2Y29tbW9uX2NvbXBh dC5oCitpbmRleCA5ZDE2YjNkYzQ3ZDkuLjU2MWFkODNmOTlmOSAxMDA2NDQKKy0tLSBhL21vZHVs ZXMvY29kZWMvYXZjb2RlYy9hdmNvbW1vbl9jb21wYXQuaAorKysrIGIvbW9kdWxlcy9jb2RlYy9h dmNvZGVjL2F2Y29tbW9uX2NvbXBhdC5oCitAQCAtNzcsNiArNzcsOSBAQAorICNpZm5kZWYgIEZG X01BWF9CX0ZSQU1FUworICMgZGVmaW5lICBGRl9NQVhfQl9GUkFNRVMgMTYgLy8gRklYTUU6IHJl bW92ZSB0aGlzCisgI2VuZGlmCisrI2lmbmRlZiBGRl9BUElfQVZJT19XUklURV9OT05DT05TVCAv LyByZW1vdmVkIGluIGZmbXBlZyA3CisrIyBkZWZpbmUgRkZfQVBJX0FWSU9fV1JJVEVfTk9OQ09O U1QgKExJQkFWRk9STUFUX1ZFUlNJT05fTUFKT1IgPCA2MSkKKysjZW5kaWYKKyAKKyAjZW5kaWYg LyogSEFWRV9MSUJBVkNPREVDX0FWQ09ERUNfSCAqLworIAorZGlmZiAtLWdpdCBhL21vZHVsZXMv ZGVtdXgvYXZmb3JtYXQvbXV4LmMgYi9tb2R1bGVzL2RlbXV4L2F2Zm9ybWF0L211eC5jCitpbmRl eCA4YmY4NzM1ODg1ZjUuLjAzM2E4N2JkYWFhZCAxMDA2NDQKKy0tLSBhL21vZHVsZXMvZGVtdXgv YXZmb3JtYXQvbXV4LmMKKysrKyBiL21vZHVsZXMvZGVtdXgvYXZmb3JtYXQvbXV4LmMKK0BAIC03 NCwxMSArNzQsMjAgQEAgc3RhdGljIGludCBBZGRTdHJlYW0oIHNvdXRfbXV4X3QgKiwgc291dF9p bnB1dF90ICogKTsKKyBzdGF0aWMgdm9pZCBEZWxTdHJlYW0oIHNvdXRfbXV4X3QgKiwgc291dF9p bnB1dF90ICogKTsKKyBzdGF0aWMgaW50IE11eCAgICAgICggc291dF9tdXhfdCAqICk7CisgCisr I2lmIEZGX0FQSV9BVklPX1dSSVRFX05PTkNPTlNUCisgc3RhdGljIGludCBJT1dyaXRlKCB2b2lk ICpvcGFxdWUsIHVpbnQ4X3QgKmJ1ZiwgaW50IGJ1Zl9zaXplICk7CisrI2Vsc2UKKytzdGF0aWMg aW50IElPV3JpdGUoIHZvaWQgKm9wYXF1ZSwgY29uc3QgdWludDhfdCAqYnVmLCBpbnQgYnVmX3Np emUgKTsKKysjZW5kaWYKKyBzdGF0aWMgaW50NjRfdCBJT1NlZWsoIHZvaWQgKm9wYXF1ZSwgaW50 NjRfdCBvZmZzZXQsIGludCB3aGVuY2UgKTsKKyAjaWYgTElCQVZGT1JNQVRfVkVSU0lPTl9DSEVD SyggNTcsIDcsIDAsIDQwLCAxMDAgKQorKyMgaWYgRkZfQVBJX0FWSU9fV1JJVEVfTk9OQ09OU1QK KyBzdGF0aWMgaW50IElPV3JpdGVUeXBlZCh2b2lkICpvcGFxdWUsIHVpbnQ4X3QgKmJ1ZiwgaW50 IGJ1Zl9zaXplLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVudW0gQVZJT0RhdGFN YXJrZXJUeXBlIHR5cGUsIGludDY0X3QgdGltZSk7CisrIyBlbHNlCisraW50IElPV3JpdGVUeXBl ZCh2b2lkICpvcGFxdWUsIGNvbnN0IHVpbnQ4X3QgKmJ1ZiwgaW50IGJ1Zl9zaXplLAorKyAgICAg ICAgICAgICAgICAgZW51bSBBVklPRGF0YU1hcmtlclR5cGUgdHlwZSwgaW50NjRfdCB0aW1lKTsK KysjIGVuZGlmCisgI2VuZGlmCisgCisgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCitAQCAtNDExLDgg KzQyMCwxMyBAQCBzdGF0aWMgaW50IE11eEJsb2NrKCBzb3V0X211eF90ICpwX211eCwgc291dF9p bnB1dF90ICpwX2lucHV0ICkKKyB9CisgCisgI2lmIExJQkFWRk9STUFUX1ZFUlNJT05fQ0hFQ0so IDU3LCA3LCAwLCA0MCwgMTAwICkKKysjIGlmIEZGX0FQSV9BVklPX1dSSVRFX05PTkNPTlNUCisg aW50IElPV3JpdGVUeXBlZCh2b2lkICpvcGFxdWUsIHVpbnQ4X3QgKmJ1ZiwgaW50IGJ1Zl9zaXpl LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVudW0gQVZJT0RhdGFNYXJrZXJUeXBl IHR5cGUsIGludDY0X3QgdGltZSkKKysjIGVsc2UKKytpbnQgSU9Xcml0ZVR5cGVkKHZvaWQgKm9w YXF1ZSwgY29uc3QgdWludDhfdCAqYnVmLCBpbnQgYnVmX3NpemUsCisrICAgICAgICAgICAgICAg ICBlbnVtIEFWSU9EYXRhTWFya2VyVHlwZSB0eXBlLCBpbnQ2NF90IHRpbWUpCisrIyBlbmRpZgor IHsKKyAgICAgVkxDX1VOVVNFRCh0aW1lKTsKKyAKK0BAIC01MTIsNyArNTI2LDExIEBAIHN0YXRp YyBpbnQgQ29udHJvbCggc291dF9tdXhfdCAqcF9tdXgsIGludCBpX3F1ZXJ5LCB2YV9saXN0IGFy Z3MgKQorIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICAqIEkvTyB3cmFwcGVycyBmb3IgbGliYXZm b3JtYXQKKyAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisrI2lmIEZGX0FQSV9BVklPX1dSSVRFX05P TkNPTlNUCisgc3RhdGljIGludCBJT1dyaXRlKCB2b2lkICpvcGFxdWUsIHVpbnQ4X3QgKmJ1Ziwg aW50IGJ1Zl9zaXplICkKKysjZWxzZQorK3N0YXRpYyBpbnQgSU9Xcml0ZSggdm9pZCAqb3BhcXVl LCBjb25zdCB1aW50OF90ICpidWYsIGludCBidWZfc2l6ZSApCisrI2VuZGlmCisgeworICAgICBz b3V0X211eF90ICpwX211eCA9IG9wYXF1ZTsKKyAgICAgc291dF9tdXhfc3lzX3QgKnBfc3lzID0g cF9tdXgtPnBfc3lzOworLS0gCitHaXRMYWIKKwoKZGlmZiAtLWdpdCBhLzYyNzMucGF0Y2ggYi82 MjczLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA0OWVlNTAKLS0t IC9kZXYvbnVsbAorKysgYi82MjczLnBhdGNoCkBAIC0wLDAgKzEsMTQzMCBAQAorRnJvbSA4ZmVm ODM3MzFhNmI3MzI0ZmZkMDM5MzMyNzJmY2ZkOWIwOGEyY2IwIE1vbiBTZXAgMTcgMDA6MDA6MDAg MjAwMQorRnJvbTogU3RldmUgTGhvbW1lIDxyb2J1eDRAeWNiY3IueHl6PgorRGF0ZTogVGh1LCA3 IE5vdiAyMDI0IDA3OjIwOjU3ICswMTAwCitTdWJqZWN0OiBbUEFUQ0ggMDEvMTVdIGF2Y29tbW9u OiByZW5hbWUgTElCQVZVVElMX1ZFUlNJT05fQ0hFQ0sgdG8KKyBMSUJBVl9VVElMX1ZFUlNJT05f Q0hFQ0sKKworVGhlIExJQkFWVVRJTF9WRVJTSU9OX0NIRUNLIGZvcm0gd2lsbCBiZSBmb3IgY2hl Y2tzIGFsc28gZG9uZSBpbiA0LjAuCisKK05vIGZ1bmN0aW9uYWwgY2hhbmdlcy4KKy0tLQorIG1v ZHVsZXMvY29kZWMvYXZjb2RlYy9hdWRpby5jICAgICAgICAgICB8IDIgKy0KKyBtb2R1bGVzL2Nv ZGVjL2F2Y29kZWMvYXZjb21tb25fY29tcGF0LmggfCA2ICsrKy0tLQorIG1vZHVsZXMvY29kZWMv YXZjb2RlYy9jaHJvbWEuYyAgICAgICAgICB8IDIgKy0KKyBtb2R1bGVzL2NvZGVjL2F2Y29kZWMv ZW5jb2Rlci5jICAgICAgICAgfCAyICstCisgbW9kdWxlcy9jb2RlYy9hdmNvZGVjL3ZhLmMgICAg ICAgICAgICAgIHwgMiArLQorIG1vZHVsZXMvY29kZWMvYXZjb2RlYy92aWRlby5jICAgICAgICAg ICB8IDYgKysrLS0tCisgNiBmaWxlcyBjaGFuZ2VkLCAxMCBpbnNlcnRpb25zKCspLCAxMCBkZWxl dGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL21vZHVsZXMvY29kZWMvYXZjb2RlYy9hdWRpby5jIGIv bW9kdWxlcy9jb2RlYy9hdmNvZGVjL2F1ZGlvLmMKK2luZGV4IGM3NDc1N2M3NmFlLi40NDMzNWVj M2NjZSAxMDA2NDQKKy0tLSBhL21vZHVsZXMvY29kZWMvYXZjb2RlYy9hdWRpby5jCisrKysgYi9t b2R1bGVzL2NvZGVjL2F2Y29kZWMvYXVkaW8uYworQEAgLTQxLDcgKzQxLDcgQEAKKyAjaW5jbHVk ZSA8bGliYXZjb2RlYy9hdmNvZGVjLmg+CisgI2luY2x1ZGUgPGxpYmF2dXRpbC9tZW0uaD4KKyAK Ky0jZGVmaW5lIEFQSV9DSEFOTkVMX0xBWU9VVCAoTElCQVZVVElMX1ZFUlNJT05fQ0hFQ0soIDUy LCAyLCA2LCAwLCAxMDApKQorKyNkZWZpbmUgQVBJX0NIQU5ORUxfTEFZT1VUIChMSUJBVl9VVElM X1ZFUlNJT05fQ0hFQ0soIDUyLCAyLCA2LCAwLCAxMDApKQorIAorICNpZiBBUElfQ0hBTk5FTF9M QVlPVVQKKyAjIGluY2x1ZGUgPGxpYmF2dXRpbC9jaGFubmVsX2xheW91dC5oPgorZGlmZiAtLWdp dCBhL21vZHVsZXMvY29kZWMvYXZjb2RlYy9hdmNvbW1vbl9jb21wYXQuaCBiL21vZHVsZXMvY29k ZWMvYXZjb2RlYy9hdmNvbW1vbl9jb21wYXQuaAoraW5kZXggNTYxYWQ4M2Y5OWYuLmJiMmI5YWUw M2U1IDEwMDY0NAorLS0tIGEvbW9kdWxlcy9jb2RlYy9hdmNvZGVjL2F2Y29tbW9uX2NvbXBhdC5o CisrKysgYi9tb2R1bGVzL2NvZGVjL2F2Y29kZWMvYXZjb21tb25fY29tcGF0LmgKK0BAIC04Niwx NSArODYsMTUgQEAKKyAjaWZkZWYgSEFWRV9MSUJBVlVUSUxfQVZVVElMX0gKKyAjIGluY2x1ZGUg PGxpYmF2dXRpbC9hdnV0aWwuaD4KKyAKKy0vKiBMSUJBVlVUSUxfVkVSU0lPTl9DSEVDSyBjaGVj a3MgZm9yIHRoZSByaWdodCB2ZXJzaW9uIG9mIGxpYmF2IGFuZCBGRm1wZWcKKysvKiBMSUJBVl9V VElMX1ZFUlNJT05fQ0hFQ0sgY2hlY2tzIGZvciB0aGUgcmlnaHQgdmVyc2lvbiBvZiBsaWJhdiBh bmQgRkZtcGVnCisgICogYSBpcyB0aGUgbWFqb3IgdmVyc2lvbgorICAqIGIgYW5kIGMgdGhlIG1p bm9yIGFuZCBtaWNybyB2ZXJzaW9ucyBvZiBsaWJhdgorICAqIGQgYW5kIGUgdGhlIG1pbm9yIGFu ZCBtaWNybyB2ZXJzaW9ucyBvZiBGRm1wZWcgKi8KKy0jZGVmaW5lIExJQkFWVVRJTF9WRVJTSU9O X0NIRUNLKCBhLCBiLCBjLCBkLCBlICkgXAorKyNkZWZpbmUgTElCQVZfVVRJTF9WRVJTSU9OX0NI RUNLKCBhLCBiLCBjLCBkLCBlICkgXAorICAgICAoIChMSUJBVlVUSUxfVkVSU0lPTl9NSUNSTyA8 ICAxMDAgJiYgTElCQVZVVElMX1ZFUlNJT05fSU5UID49IEFWX1ZFUlNJT05fSU5UKCBhLCBiLCBj ICkgKSB8fCBcCisgICAgICAgKExJQkFWVVRJTF9WRVJTSU9OX01JQ1JPID49IDEwMCAmJiBMSUJB VlVUSUxfVkVSU0lPTl9JTlQgPj0gQVZfVkVSU0lPTl9JTlQoIGEsIGQsIGUgKSApICkKKyAKKy0j aWYgIUxJQkFWVVRJTF9WRVJTSU9OX0NIRUNLKCA1MiwgMTEsIDAsIDMyLCAxMDAgKQorKyNpZiAh TElCQVZfVVRJTF9WRVJTSU9OX0NIRUNLKCA1MiwgMTEsIDAsIDMyLCAxMDAgKQorICMgICBkZWZp bmUgQVZfUElYX0ZNVF9GTEFHX0hXQUNDRUwgIFBJWF9GTVRfSFdBQ0NFTAorICNlbmRpZgorIAor ZGlmZiAtLWdpdCBhL21vZHVsZXMvY29kZWMvYXZjb2RlYy9jaHJvbWEuYyBiL21vZHVsZXMvY29k ZWMvYXZjb2RlYy9jaHJvbWEuYworaW5kZXggY2I5NjM0ZGI1OTcuLmRhMjBiY2IxMGIzIDEwMDY0 NAorLS0tIGEvbW9kdWxlcy9jb2RlYy9hdmNvZGVjL2Nocm9tYS5jCisrKysgYi9tb2R1bGVzL2Nv ZGVjL2F2Y29kZWMvY2hyb21hLmMKK0BAIC0xODAsNyArMTgwLDcgQEAgc3RhdGljIGNvbnN0IHN0 cnVjdAorICAgICB7VkxDX0NPREVDX0dCUl9QTEFOQVJfMTZCLCBBVl9QSVhfRk1UX0dCUlAxNkJF LCAwLCAwLCAwIH0sCisgCisgICAgIC8qIFhZWiAqLworLSNpZiBMSUJBVlVUSUxfVkVSU0lPTl9D SEVDSyg1MiwgMTAsIDAsIDI1LCAxMDApCisrI2lmIExJQkFWX1VUSUxfVkVSU0lPTl9DSEVDSyg1 MiwgMTAsIDAsIDI1LCAxMDApCisgICAgIHtWTENfQ09ERUNfWFlaMTIsIEFWX1BJWF9GTVRfWFla MTIsIDB4ZmZmMCwgMHhmZmYwLCAweGZmZjB9LAorICNlbmRpZgorICAgICB7IDAsIDAsIDAsIDAs IDAgfQorZGlmZiAtLWdpdCBhL21vZHVsZXMvY29kZWMvYXZjb2RlYy9lbmNvZGVyLmMgYi9tb2R1 bGVzL2NvZGVjL2F2Y29kZWMvZW5jb2Rlci5jCitpbmRleCBhZTc0NmM5OWZjOC4uYzlhMzRkOGYw ZGEgMTAwNjQ0CistLS0gYS9tb2R1bGVzL2NvZGVjL2F2Y29kZWMvZW5jb2Rlci5jCisrKysgYi9t b2R1bGVzL2NvZGVjL2F2Y29kZWMvZW5jb2Rlci5jCitAQCAtNDcsNyArNDcsNyBAQAorICNpbmNs dWRlICJhdmNvZGVjLmgiCisgI2luY2x1ZGUgImF2Y29tbW9uLmgiCisgCistI2RlZmluZSBBUElf Q0hBTk5FTF9MQVlPVVQgKExJQkFWVVRJTF9WRVJTSU9OX0NIRUNLKCA1MiwgMiwgNiwgMCwgMTAw KSkKKysjZGVmaW5lIEFQSV9DSEFOTkVMX0xBWU9VVCAoTElCQVZfVVRJTF9WRVJTSU9OX0NIRUNL KCA1MiwgMiwgNiwgMCwgMTAwKSkKKyAKKyAjaWYgQVBJX0NIQU5ORUxfTEFZT1VUCisgIyBpbmNs dWRlIDxsaWJhdnV0aWwvY2hhbm5lbF9sYXlvdXQuaD4KK2RpZmYgLS1naXQgYS9tb2R1bGVzL2Nv ZGVjL2F2Y29kZWMvdmEuYyBiL21vZHVsZXMvY29kZWMvYXZjb2RlYy92YS5jCitpbmRleCAwZmVi MDNiOTc0Zi4uMDZkZTU0ZGRjZjAgMTAwNjQ0CistLS0gYS9tb2R1bGVzL2NvZGVjL2F2Y29kZWMv dmEuYworKysrIGIvbW9kdWxlcy9jb2RlYy9hdmNvZGVjL3ZhLmMKK0BAIC01OCw3ICs1OCw3IEBA IHZsY19mb3VyY2NfdCB2bGNfdmFfR2V0Q2hyb21hKGVudW0gUGl4ZWxGb3JtYXQgaHdmbXQsIGVu dW0gUGl4ZWxGb3JtYXQgc3dmbXQpCisgICAgICAgICAgICAgfQorICAgICAgICAgICAgIGJyZWFr OworIAorLSNpZiBMSUJBVlVUSUxfVkVSU0lPTl9DSEVDSyg1NCwgMTMsIDEsIDI0LCAxMDApCisr I2lmIExJQkFWX1VUSUxfVkVSU0lPTl9DSEVDSyg1NCwgMTMsIDEsIDI0LCAxMDApCisgICAgICAg ICBjYXNlIEFWX1BJWF9GTVRfRDNEMTFWQV9WTEQ6CisgICAgICAgICAgICAgc3dpdGNoIChzd2Zt dCkKKyAgICAgICAgICAgICB7CitkaWZmIC0tZ2l0IGEvbW9kdWxlcy9jb2RlYy9hdmNvZGVjL3Zp ZGVvLmMgYi9tb2R1bGVzL2NvZGVjL2F2Y29kZWMvdmlkZW8uYworaW5kZXggOGM4OTJkZDNmNDgu LmRlZWZkMzA3NmE5IDEwMDY0NAorLS0tIGEvbW9kdWxlcy9jb2RlYy9hdmNvZGVjL3ZpZGVvLmMK KysrKyBiL21vZHVsZXMvY29kZWMvYXZjb2RlYy92aWRlby5jCitAQCAtMjU3LDEyICsyNTcsMTIg QEAgc3RhdGljIGludCBsYXZjX0dldFZpZGVvRm9ybWF0KGRlY29kZXJfdCAqZGVjLCB2aWRlb19m b3JtYXRfdCAqcmVzdHJpY3QgZm10LAorICAgICAgICAgY2FzZSBBVkNPTF9UUkNfQlQyMDIwXzEy OgorICAgICAgICAgICAgIGZtdC0+dHJhbnNmZXIgPSBUUkFOU0ZFUl9GVU5DX0JUMjAyMDsKKyAg ICAgICAgICAgICBicmVhazsKKy0jaWYgTElCQVZVVElMX1ZFUlNJT05fQ0hFQ0soIDU1LCAxNCwg MCwgMzEsIDEwMCkKKysjaWYgTElCQVZfVVRJTF9WRVJTSU9OX0NIRUNLKCA1NSwgMTQsIDAsIDMx LCAxMDApCisgICAgICAgICBjYXNlIEFWQ09MX1RSQ19BUklCX1NURF9CNjc6CisgICAgICAgICAg ICAgZm10LT50cmFuc2ZlciA9IFRSQU5TRkVSX0ZVTkNfQVJJQl9CNjc7CisgICAgICAgICAgICAg YnJlYWs7CisgI2VuZGlmCistI2lmIExJQkFWVVRJTF9WRVJTSU9OX0NIRUNLKCA1NSwgMTcsIDAs IDM3LCAxMDApCisrI2lmIExJQkFWX1VUSUxfVkVSU0lPTl9DSEVDSyggNTUsIDE3LCAwLCAzNywg MTAwKQorICAgICAgICAgY2FzZSBBVkNPTF9UUkNfU01QVEUyMDg0OgorICAgICAgICAgICAgIGZt dC0+dHJhbnNmZXIgPSBUUkFOU0ZFUl9GVU5DX1NNUFRFX1NUMjA4NDsKKyAgICAgICAgICAgICBi cmVhazsKK0BAIC02ODcsNyArNjg3LDcgQEAgc3RhdGljIGludCBmZm1wZWdfT3BlblZhKGRlY29k ZXJfdCAqcF9kZWMsIEFWQ29kZWNDb250ZXh0ICpwX2NvbnRleHQsCisgc3RhdGljIGNvbnN0IGVu dW0gUGl4ZWxGb3JtYXQgaHdmbXRzW10gPQorIHsKKyAjaWZkZWYgX1dJTjMyCistI2lmIExJQkFW VVRJTF9WRVJTSU9OX0NIRUNLKDU0LCAxMywgMSwgMjQsIDEwMCkKKysjaWYgTElCQVZfVVRJTF9W RVJTSU9OX0NIRUNLKDU0LCAxMywgMSwgMjQsIDEwMCkKKyAgICAgQVZfUElYX0ZNVF9EM0QxMVZB X1ZMRCwKKyAjZW5kaWYKKyAgICAgQVZfUElYX0ZNVF9EWFZBMl9WTEQsCistLSAKK0dpdExhYgor CisKK0Zyb20gNWVmYWNhMzkzYjczODhkNjI5YmJhOTIwMTI3ZWI1NDY1MzI1YzQzNiBNb24gU2Vw IDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IFN0ZXZlIExob21tZSA8cm9idXg0QHljYmNyLnh5ej4K K0RhdGU6IFdlZCwgMTkgSnVuIDIwMjQgMTM6NTY6MzEgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSCAw Mi8xNV0gYXZjb21tb246IHVzZSBhIHNwZWNpZmljIG1hY3JvIHRvIGNoZWNrIHRoZSBGRm1wZWcK KyBsaWJhdnV0aWwgdmVyc2lvbgorCitUaGlzIG1hY3JvIGRvZXNuJ3QgY2hlY2sgZm9yIGxpYmF2 IHdoaWNoIGlzIGFzc3VtZWQgdG8gbm90IGhhdmUgdG8gcmVsZXZhbnQKK2NvZGUuIFRoaXMgaXMg dGhlIHNhbWUgbWFjcm8gbmFtZSB1c2VkIGluIFZMQyA0LjAuCistLS0KKyBtb2R1bGVzL2NvZGVj L2F2Y29kZWMvYXZjb21tb25fY29tcGF0LmggfCA2ICsrKysrLQorIG1vZHVsZXMvY29kZWMvYXZj b2RlYy9jaHJvbWEuYyAgICAgICAgICB8IDggKysrKy0tLS0KKyBtb2R1bGVzL2NvZGVjL2F2Y29k ZWMvdmlkZW8uYyAgICAgICAgICAgfCA3ICsrKystLS0KKyAzIGZpbGVzIGNoYW5nZWQsIDEzIGlu c2VydGlvbnMoKyksIDggZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9tb2R1bGVzL2NvZGVj L2F2Y29kZWMvYXZjb21tb25fY29tcGF0LmggYi9tb2R1bGVzL2NvZGVjL2F2Y29kZWMvYXZjb21t b25fY29tcGF0LmgKK2luZGV4IGJiMmI5YWUwM2U1Li41YmFkZTkzYjNjNSAxMDA2NDQKKy0tLSBh L21vZHVsZXMvY29kZWMvYXZjb2RlYy9hdmNvbW1vbl9jb21wYXQuaAorKysrIGIvbW9kdWxlcy9j b2RlYy9hdmNvZGVjL2F2Y29tbW9uX2NvbXBhdC5oCitAQCAtODYsNyArODYsMTEgQEAKKyAjaWZk ZWYgSEFWRV9MSUJBVlVUSUxfQVZVVElMX0gKKyAjIGluY2x1ZGUgPGxpYmF2dXRpbC9hdnV0aWwu aD4KKyAKKy0vKiBMSUJBVl9VVElMX1ZFUlNJT05fQ0hFQ0sgY2hlY2tzIGZvciB0aGUgcmlnaHQg dmVyc2lvbiBvZiBsaWJhdiBhbmQgRkZtcGVnCisrLyogY2hlY2sgdGhlIEZGbXBlZyBsaWJhdnV0 aWwgdmVyc2lvbiAqLworKyNkZWZpbmUgTElCQVZVVElMX1ZFUlNJT05fQ0hFQ0soIGEsIGQsIGUg KSBcCisrICAgIChMSUJBVlVUSUxfVkVSU0lPTl9NSUNSTyA+PSAxMDAgJiYgTElCQVZVVElMX1ZF UlNJT05fSU5UID49IEFWX1ZFUlNJT05fSU5UKCBhLCBkLCBlICkgKQorKworKy8qIExJQkFWX1VU SUxfVkVSU0lPTl9DSEVDSyBjaGVja3MgZm9yIHRoZSByaWdodCBsaWJhdnV0aWwgdmVyc2lvbiBv ZiBsaWJhdiBhbmQgRkZtcGVnCisgICogYSBpcyB0aGUgbWFqb3IgdmVyc2lvbgorICAqIGIgYW5k IGMgdGhlIG1pbm9yIGFuZCBtaWNybyB2ZXJzaW9ucyBvZiBsaWJhdgorICAqIGQgYW5kIGUgdGhl IG1pbm9yIGFuZCBtaWNybyB2ZXJzaW9ucyBvZiBGRm1wZWcgKi8KK2RpZmYgLS1naXQgYS9tb2R1 bGVzL2NvZGVjL2F2Y29kZWMvY2hyb21hLmMgYi9tb2R1bGVzL2NvZGVjL2F2Y29kZWMvY2hyb21h LmMKK2luZGV4IGRhMjBiY2IxMGIzLi4xNTZmYjBiZWVjOCAxMDA2NDQKKy0tLSBhL21vZHVsZXMv Y29kZWMvYXZjb2RlYy9jaHJvbWEuYworKysrIGIvbW9kdWxlcy9jb2RlYy9hdmNvZGVjL2Nocm9t YS5jCitAQCAtODYsNyArODYsNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0CisgICAgIHtWTENfQ09E RUNfSTQyMF85QiwgQVZfUElYX0ZNVF9ZVVY0MjBQOUJFLCAwLCAwLCAwIH0sCisgICAgIHtWTENf Q09ERUNfSTQyMF8xMEwsIEFWX1BJWF9GTVRfWVVWNDIwUDEwTEUsIDAsIDAsIDAgfSwKKyAgICAg e1ZMQ19DT0RFQ19JNDIwXzEwQiwgQVZfUElYX0ZNVF9ZVVY0MjBQMTBCRSwgMCwgMCwgMCB9LAor LSNpZiAoTElCQVZVVElMX1ZFUlNJT05fTUlDUk8gPj0gMTAwICYmIExJQkFWVVRJTF9WRVJTSU9O X0lOVCA+PSBBVl9WRVJTSU9OX0lOVCggNTQsIDE3LCAxMDAgKSApCisrI2lmIExJQkFWVVRJTF9W RVJTSU9OX0NIRUNLKCA1NCwgMTcsIDEwMCApCisgICAgIHtWTENfQ09ERUNfSTQyMF8xMkwsIEFW X1BJWF9GTVRfWVVWNDIwUDEyTEUsIDAsIDAsIDAgfSwKKyAgICAge1ZMQ19DT0RFQ19JNDIwXzEy QiwgQVZfUElYX0ZNVF9ZVVY0MjBQMTJCRSwgMCwgMCwgMCB9LAorICNlbmRpZgorQEAgLTEwMCw3 ICsxMDAsNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0CisgICAgIHtWTENfQ09ERUNfSTQyMl85Qiwg QVZfUElYX0ZNVF9ZVVY0MjJQOUJFLCAwLCAwLCAwIH0sCisgICAgIHtWTENfQ09ERUNfSTQyMl8x MEwsIEFWX1BJWF9GTVRfWVVWNDIyUDEwTEUsIDAsIDAsIDAgfSwKKyAgICAge1ZMQ19DT0RFQ19J NDIyXzEwQiwgQVZfUElYX0ZNVF9ZVVY0MjJQMTBCRSwgMCwgMCwgMCB9LAorLSNpZiAoTElCQVZV VElMX1ZFUlNJT05fTUlDUk8gPj0gMTAwICYmIExJQkFWVVRJTF9WRVJTSU9OX0lOVCA+PSBBVl9W RVJTSU9OX0lOVCggNTQsIDE3LCAxMDAgKSApCisrI2lmIExJQkFWVVRJTF9WRVJTSU9OX0NIRUNL KCA1NCwgMTcsIDEwMCApCisgICAgIHtWTENfQ09ERUNfSTQyMl8xMkwsIEFWX1BJWF9GTVRfWVVW NDIyUDEyTEUsIDAsIDAsIDAgfSwKKyAgICAge1ZMQ19DT0RFQ19JNDIyXzEyQiwgQVZfUElYX0ZN VF9ZVVY0MjJQMTJCRSwgMCwgMCwgMCB9LAorICNlbmRpZgorQEAgLTExNiw3ICsxMTYsNyBAQCBz dGF0aWMgY29uc3Qgc3RydWN0CisgICAgIHtWTENfQ09ERUNfSTQ0NF85QiwgQVZfUElYX0ZNVF9Z VVY0NDRQOUJFLCAwLCAwLCAwIH0sCisgICAgIHtWTENfQ09ERUNfSTQ0NF8xMEwsIEFWX1BJWF9G TVRfWVVWNDQ0UDEwTEUsIDAsIDAsIDAgfSwKKyAgICAge1ZMQ19DT0RFQ19JNDQ0XzEwQiwgQVZf UElYX0ZNVF9ZVVY0NDRQMTBCRSwgMCwgMCwgMCB9LAorLSNpZiAoTElCQVZVVElMX1ZFUlNJT05f TUlDUk8gPj0gMTAwICYmIExJQkFWVVRJTF9WRVJTSU9OX0lOVCA+PSBBVl9WRVJTSU9OX0lOVCgg NTQsIDE3LCAxMDAgKSApCisrI2lmIExJQkFWVVRJTF9WRVJTSU9OX0NIRUNLKCA1NCwgMTcsIDEw MCApCisgICAgIHtWTENfQ09ERUNfSTQ0NF8xMkwsIEFWX1BJWF9GTVRfWVVWNDQ0UDEyTEUsIDAs IDAsIDAgfSwKKyAgICAge1ZMQ19DT0RFQ19JNDQ0XzEyQiwgQVZfUElYX0ZNVF9ZVVY0NDRQMTJC RSwgMCwgMCwgMCB9LAorICNlbmRpZgorQEAgLTE0NSw3ICsxNDUsNyBAQCBzdGF0aWMgY29uc3Qg c3RydWN0CisgICAgIFZMQ19SR0IoIFZMQ19DT0RFQ19SR0IzMiwgQVZfUElYX0ZNVF8wQkdSMzIs IEFWX1BJWF9GTVRfMFJHQjMyLCAweDAwMDAwMGZmLCAweDAwMDBmZjAwLCAweDAwZmYwMDAwICkK KyAjZW5kaWYKKyAKKy0jaWYgKExJQkFWVVRJTF9WRVJTSU9OX01JQ1JPID09IDAgfHwgTElCQVZV VElMX1ZFUlNJT05fSU5UID49IEFWX1ZFUlNJT05fSU5UKCA1NSwgMCwgMTAwICkgKQorKyNpZiAo TElCQVZVVElMX1ZFUlNJT05fTUlDUk8gPT0gMCB8fCBMSUJBVlVUSUxfVkVSU0lPTl9DSEVDSygg NTUsIDAsIDEwMCApICkKKyAjaWZkZWYgV09SRFNfQklHRU5ESUFOCisgICAgIHtWTENfQ09ERUNf UkdCQTY0LCBBVl9QSVhfRk1UX1JHQkE2NEJFLCAwLCAwLCAwIH0sCisgI2Vsc2UgLyogIVdPUkRT X0JJR0VORElBTiAqLworZGlmZiAtLWdpdCBhL21vZHVsZXMvY29kZWMvYXZjb2RlYy92aWRlby5j IGIvbW9kdWxlcy9jb2RlYy9hdmNvZGVjL3ZpZGVvLmMKK2luZGV4IGRlZWZkMzA3NmE5Li5kMzI4 NGRhOGFlZCAxMDA2NDQKKy0tLSBhL21vZHVsZXMvY29kZWMvYXZjb2RlYy92aWRlby5jCisrKysg Yi9tb2R1bGVzL2NvZGVjL2F2Y29kZWMvdmlkZW8uYworQEAgLTM5LDcgKzM5LDggQEAKKyAjaW5j bHVkZSA8bGliYXZjb2RlYy9hdmNvZGVjLmg+CisgI2luY2x1ZGUgPGxpYmF2dXRpbC9tZW0uaD4K KyAjaW5jbHVkZSA8bGliYXZ1dGlsL3BpeGRlc2MuaD4KKy0jaWYgKExJQkFWVVRJTF9WRVJTSU9O X01JQ1JPID49IDEwMCAmJiBMSUJBVlVUSUxfVkVSU0lPTl9JTlQgPj0gQVZfVkVSU0lPTl9JTlQo IDU1LCAxNiwgMTAxICkgKQorKyNpbmNsdWRlICJhdmNvbW1vbl9jb21wYXQuaCIKKysjaWYgTElC QVZVVElMX1ZFUlNJT05fQ0hFQ0soIDU1LCAxNiwgMTAxICkKKyAjaW5jbHVkZSA8bGliYXZ1dGls L21hc3RlcmluZ19kaXNwbGF5X21ldGFkYXRhLmg+CisgI2VuZGlmCisgCitAQCAtOTk1LDcgKzk5 Niw3IEBAIHN0YXRpYyBpbnQgRGVjb2RlU2lkZWRhdGEoIGRlY29kZXJfdCAqcF9kZWMsIGNvbnN0 IEFWRnJhbWUgKmZyYW1lLCBwaWN0dXJlX3QgKnBfCisgICAgIGRlY29kZXJfc3lzX3QgKnBfc3lz ID0gcF9kZWMtPnBfc3lzOworICAgICBib29sIGZvcm1hdF9jaGFuZ2VkID0gZmFsc2U7CisgCist I2lmIChMSUJBVlVUSUxfVkVSU0lPTl9NSUNSTyA+PSAxMDAgJiYgTElCQVZVVElMX1ZFUlNJT05f SU5UID49IEFWX1ZFUlNJT05fSU5UKCA1NSwgMTYsIDEwMSApICkKKysjaWYgTElCQVZVVElMX1ZF UlNJT05fQ0hFQ0soIDU1LCAxNiwgMTAxICkKKyAjZGVmaW5lIEZST01fQVZSQVQoZGVmYXVsdF9m YWN0b3IsIGF2cmF0KSBcCisgKHVpbnQ2NF90KShkZWZhdWx0X2ZhY3RvcikgKiAoYXZyYXQpLm51 bSAvIChhdnJhdCkuZGVuCisgICAgIGNvbnN0IEFWRnJhbWVTaWRlRGF0YSAqbWV0YWRhdGEgPQor QEAgLTEwNTAsNyArMTA1MSw3IEBAIHN0YXRpYyBpbnQgRGVjb2RlU2lkZWRhdGEoIGRlY29kZXJf dCAqcF9kZWMsIGNvbnN0IEFWRnJhbWUgKmZyYW1lLCBwaWN0dXJlX3QgKnBfCisgI3VuZGVmIEZS T01fQVZSQVQKKyAgICAgfQorICNlbmRpZgorLSNpZiAoTElCQVZVVElMX1ZFUlNJT05fTUlDUk8g Pj0gMTAwICYmIExJQkFWVVRJTF9WRVJTSU9OX0lOVCA+PSBBVl9WRVJTSU9OX0lOVCggNTUsIDYw LCAxMDAgKSApCisrI2lmIExJQkFWVVRJTF9WRVJTSU9OX0NIRUNLKCA1NSwgNjAsIDEwMCApCisg ICAgIGNvbnN0IEFWRnJhbWVTaWRlRGF0YSAqbWV0YWRhdGFfbHQgPQorICAgICAgICAgICAgIGF2 X2ZyYW1lX2dldF9zaWRlX2RhdGEoIGZyYW1lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIEFWX0ZSQU1FX0RBVEFfQ09OVEVOVF9MSUdIVF9MRVZFTCApOworLS0gCitHaXRM YWIKKworCitGcm9tIDU1NGE5N2FiMzNjZDY4MGI2MDczMWVjODVmZDkxMjIzMjkyOTE3MjUgTW9u IFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBTdGV2ZSBMaG9tbWUgPHJvYnV4NEB5Y2Jjci54 eXo+CitEYXRlOiBUaHUsIDcgTm92IDIwMjQgMDc6MjI6MjYgKzAxMDAKK1N1YmplY3Q6IFtQQVRD SCAwMy8xNV0gYXZjb21tb246IHJlbmFtZSBMSUJBVkZPUk1BVF9WRVJTSU9OX0NIRUNLIHRvCisg TElCQVZfRk9STUFUX1ZFUlNJT05fQ0hFQ0sKKworVGhlIExJQkFWRk9STUFUX1ZFUlNJT05fQ0hF Q0sgZm9ybSB3aWxsIGJlIGZvciBjaGVja3MgYWxzbyBkb25lIGluIDQuMC4KKworTm8gZnVuY3Rp b25hbCBjaGFuZ2VzLgorLS0tCisgbW9kdWxlcy9jb2RlYy9hdmNvZGVjL2F2Y29tbW9uX2NvbXBh dC5oIHwgIDIgKy0KKyBtb2R1bGVzL2RlbXV4L2F2Zm9ybWF0L211eC5jICAgICAgICAgICAgfCAx MCArKysrKy0tLS0tCisgMiBmaWxlcyBjaGFuZ2VkLCA2IGluc2VydGlvbnMoKyksIDYgZGVsZXRp b25zKC0pCisKK2RpZmYgLS1naXQgYS9tb2R1bGVzL2NvZGVjL2F2Y29kZWMvYXZjb21tb25fY29t cGF0LmggYi9tb2R1bGVzL2NvZGVjL2F2Y29kZWMvYXZjb21tb25fY29tcGF0LmgKK2luZGV4IDVi YWRlOTNiM2M1Li5kMDA5NmJjMWJiYiAxMDA2NDQKKy0tLSBhL21vZHVsZXMvY29kZWMvYXZjb2Rl Yy9hdmNvbW1vbl9jb21wYXQuaAorKysrIGIvbW9kdWxlcy9jb2RlYy9hdmNvZGVjL2F2Y29tbW9u X2NvbXBhdC5oCitAQCAtMTI2LDcgKzEyNiw3IEBACisgI2lmZGVmIEhBVkVfTElCQVZGT1JNQVRf QVZGT1JNQVRfSAorICMgaW5jbHVkZSA8bGliYXZmb3JtYXQvYXZmb3JtYXQuaD4KKyAKKy0jZGVm aW5lIExJQkFWRk9STUFUX1ZFUlNJT05fQ0hFQ0soIGEsIGIsIGMsIGQsIGUgKSBcCisrI2RlZmlu ZSBMSUJBVl9GT1JNQVRfVkVSU0lPTl9DSEVDSyggYSwgYiwgYywgZCwgZSApIFwKKyAgICAgKCAo TElCQVZGT1JNQVRfVkVSU0lPTl9NSUNSTyA8ICAxMDAgJiYgTElCQVZGT1JNQVRfVkVSU0lPTl9J TlQgPj0gQVZfVkVSU0lPTl9JTlQoIGEsIGIsIGMgKSApIHx8IFwKKyAgICAgICAoTElCQVZGT1JN QVRfVkVSU0lPTl9NSUNSTyA+PSAxMDAgJiYgTElCQVZGT1JNQVRfVkVSU0lPTl9JTlQgPj0gQVZf VkVSU0lPTl9JTlQoIGEsIGQsIGUgKSApICkKKyAKK2RpZmYgLS1naXQgYS9tb2R1bGVzL2RlbXV4 L2F2Zm9ybWF0L211eC5jIGIvbW9kdWxlcy9kZW11eC9hdmZvcm1hdC9tdXguYworaW5kZXggMDMz YTg3YmRhYWEuLjE4MmU5NDU4N2FkIDEwMDY0NAorLS0tIGEvbW9kdWxlcy9kZW11eC9hdmZvcm1h dC9tdXguYworKysrIGIvbW9kdWxlcy9kZW11eC9hdmZvcm1hdC9tdXguYworQEAgLTYxLDcgKzYx LDcgQEAgc3RydWN0IHNvdXRfbXV4X3N5c190CisgICAgIGJvb2wgICAgIGJfd3JpdGVfaGVhZGVy OworICAgICBib29sICAgICBiX3dyaXRlX2tleWZyYW1lOworICAgICBib29sICAgICBiX2Vycm9y OworLSNpZiBMSUJBVkZPUk1BVF9WRVJTSU9OX0NIRUNLKCA1NywgNywgMCwgNDAsIDEwMCApCisr I2lmIExJQkFWX0ZPUk1BVF9WRVJTSU9OX0NIRUNLKCA1NywgNywgMCwgNDAsIDEwMCApCisgICAg IGJvb2wgICAgIGJfaGVhZGVyX2RvbmU7CisgI2VuZGlmCisgfTsKK0BAIC04MCw3ICs4MCw3IEBA IHN0YXRpYyBpbnQgSU9Xcml0ZSggdm9pZCAqb3BhcXVlLCB1aW50OF90ICpidWYsIGludCBidWZf c2l6ZSApOworIHN0YXRpYyBpbnQgSU9Xcml0ZSggdm9pZCAqb3BhcXVlLCBjb25zdCB1aW50OF90 ICpidWYsIGludCBidWZfc2l6ZSApOworICNlbmRpZgorIHN0YXRpYyBpbnQ2NF90IElPU2Vlaygg dm9pZCAqb3BhcXVlLCBpbnQ2NF90IG9mZnNldCwgaW50IHdoZW5jZSApOworLSNpZiBMSUJBVkZP Uk1BVF9WRVJTSU9OX0NIRUNLKCA1NywgNywgMCwgNDAsIDEwMCApCisrI2lmIExJQkFWX0ZPUk1B VF9WRVJTSU9OX0NIRUNLKCA1NywgNywgMCwgNDAsIDEwMCApCisgIyBpZiBGRl9BUElfQVZJT19X UklURV9OT05DT05TVAorIHN0YXRpYyBpbnQgSU9Xcml0ZVR5cGVkKHZvaWQgKm9wYXF1ZSwgdWlu dDhfdCAqYnVmLCBpbnQgYnVmX3NpemUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ZW51bSBBVklPRGF0YU1hcmtlclR5cGUgdHlwZSwgaW50NjRfdCB0aW1lKTsKK0BAIC0xNjgsNyAr MTY4LDcgQEAgaW50IGF2Zm9ybWF0X09wZW5NdXgoIHZsY19vYmplY3RfdCAqcF90aGlzICkKKyAg ICAgcF9zeXMtPmJfd3JpdGVfaGVhZGVyID0gdHJ1ZTsKKyAgICAgcF9zeXMtPmJfd3JpdGVfa2V5 ZnJhbWUgPSBmYWxzZTsKKyAgICAgcF9zeXMtPmJfZXJyb3IgPSBmYWxzZTsKKy0jaWYgTElCQVZG T1JNQVRfVkVSU0lPTl9DSEVDSyggNTcsIDcsIDAsIDQwLCAxMDAgKQorKyNpZiBMSUJBVl9GT1JN QVRfVkVSU0lPTl9DSEVDSyggNTcsIDcsIDAsIDQwLCAxMDAgKQorICAgICBwX3N5cy0+aW8tPndy aXRlX2RhdGFfdHlwZSA9IElPV3JpdGVUeXBlZDsKKyAgICAgcF9zeXMtPmJfaGVhZGVyX2RvbmUg PSBmYWxzZTsKKyAjZW5kaWYKK0BAIC00MTksNyArNDE5LDcgQEAgc3RhdGljIGludCBNdXhCbG9j ayggc291dF9tdXhfdCAqcF9tdXgsIHNvdXRfaW5wdXRfdCAqcF9pbnB1dCApCisgICAgIHJldHVy biBWTENfU1VDQ0VTUzsKKyB9CisgCistI2lmIExJQkFWRk9STUFUX1ZFUlNJT05fQ0hFQ0soIDU3 LCA3LCAwLCA0MCwgMTAwICkKKysjaWYgTElCQVZfRk9STUFUX1ZFUlNJT05fQ0hFQ0soIDU3LCA3 LCAwLCA0MCwgMTAwICkKKyAjIGlmIEZGX0FQSV9BVklPX1dSSVRFX05PTkNPTlNUCisgaW50IElP V3JpdGVUeXBlZCh2b2lkICpvcGFxdWUsIHVpbnQ4X3QgKmJ1ZiwgaW50IGJ1Zl9zaXplLAorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVudW0gQVZJT0RhdGFNYXJrZXJUeXBlIHR5cGUs IGludDY0X3QgdGltZSkKK0BAIC01NDUsNyArNTQ1LDcgQEAgc3RhdGljIGludCBJT1dyaXRlKCB2 b2lkICpvcGFxdWUsIGNvbnN0IHVpbnQ4X3QgKmJ1ZiwgaW50IGJ1Zl9zaXplICkKKyAKKyAgICAg aWYoIHBfc3lzLT5iX3dyaXRlX2hlYWRlciApCisgICAgICAgICBwX2J1Zi0+aV9mbGFncyB8PSBC TE9DS19GTEFHX0hFQURFUjsKKy0jaWYgTElCQVZGT1JNQVRfVkVSU0lPTl9DSEVDSyggNTcsIDcs IDAsIDQwLCAxMDAgKQorKyNpZiBMSUJBVl9GT1JNQVRfVkVSU0lPTl9DSEVDSyggNTcsIDcsIDAs IDQwLCAxMDAgKQorICAgICBpZiggIXBfc3lzLT5iX2hlYWRlcl9kb25lICkKKyAgICAgICAgIHBf YnVmLT5pX2ZsYWdzIHw9IEJMT0NLX0ZMQUdfSEVBREVSOworICNlbmRpZgorLS0gCitHaXRMYWIK KworCitGcm9tIGQ0MDZhMzEyNzYzNWFmY2JhMjQzNmNiYzljYmIzZWZiZGM4MjYzMzEgTW9uIFNl cCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBTdGV2ZSBMaG9tbWUgPHJvYnV4NEB5Y2Jjci54eXo+ CitEYXRlOiBXZWQsIDE5IEp1biAyMDI0IDEzOjU3OjI0ICswMjAwCitTdWJqZWN0OiBbUEFUQ0gg MDQvMTVdIGF2Y29tbW9uOiB1c2UgYSBzcGVjaWZpYyBtYWNybyB0byBjaGVjayB0aGUgRkZtcGVn CisgbGliYXZmb3JtYXQgdmVyc2lvbgorCitUaGlzIG1hY3JvIGRvZXNuJ3QgY2hlY2sgZm9yIGxp YmF2IHdoaWNoIGlzIGFzc3VtZWQgdG8gbm90IGhhdmUgdG8gcmVsZXZhbnQKK2NvZGUuIFRoaXMg aXMgdGhlIHNhbWUgbWFjcm8gbmFtZSB1c2VkIGluIFZMQyA0LjAuCistLS0KKyBtb2R1bGVzL2Nv ZGVjL2F2Y29kZWMvYXZjb21tb24uaCAgICAgICAgfCAgMiArLQorIG1vZHVsZXMvY29kZWMvYXZj b2RlYy9hdmNvbW1vbl9jb21wYXQuaCB8ICA4ICsrKysrKysrCisgbW9kdWxlcy9kZW11eC9hdmZv cm1hdC9kZW11eC5jICAgICAgICAgIHwgIDMgKy0tCisgbW9kdWxlcy9kZW11eC9hdmZvcm1hdC9t dXguYyAgICAgICAgICAgIHwgMTEgKysrKy0tLS0tLS0KKyA0IGZpbGVzIGNoYW5nZWQsIDE0IGlu c2VydGlvbnMoKyksIDEwIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvbW9kdWxlcy9jb2Rl Yy9hdmNvZGVjL2F2Y29tbW9uLmggYi9tb2R1bGVzL2NvZGVjL2F2Y29kZWMvYXZjb21tb24uaAor aW5kZXggZmY1ZGJhMDZjOTIuLmFhMGMwYjg4Yjg1IDEwMDY0NAorLS0tIGEvbW9kdWxlcy9jb2Rl Yy9hdmNvZGVjL2F2Y29tbW9uLmgKKysrKyBiL21vZHVsZXMvY29kZWMvYXZjb2RlYy9hdmNvbW1v bi5oCitAQCAtMTA2LDcgKzEwNiw3IEBAIHN0YXRpYyBpbmxpbmUgdm9pZCB2bGNfaW5pdF9hdmZv cm1hdCh2bGNfb2JqZWN0X3QgKm9iaikKKyAKKyAgICAgYXZmb3JtYXRfbmV0d29ya19pbml0KCk7 CisgCistI2lmIChMSUJBVkZPUk1BVF9WRVJTSU9OX01JQ1JPIDwgMTAwKSB8fCAoTElCQVZGT1JN QVRfVkVSU0lPTl9JTlQgPCBBVl9WRVJTSU9OX0lOVCg1OCwgOSwgMTAwKSkKKysjaWYgKExJQkFW Rk9STUFUX1ZFUlNJT05fTUlDUk8gPCAxMDApIHx8ICEoTElCQVZGT1JNQVRfVkVSU0lPTl9DSEVD Syg1OCwgOSwgMTAwKSkKKyAgICAgYXZfcmVnaXN0ZXJfYWxsKCk7CisgI2VuZGlmCisgCitkaWZm IC0tZ2l0IGEvbW9kdWxlcy9jb2RlYy9hdmNvZGVjL2F2Y29tbW9uX2NvbXBhdC5oIGIvbW9kdWxl cy9jb2RlYy9hdmNvZGVjL2F2Y29tbW9uX2NvbXBhdC5oCitpbmRleCBkMDA5NmJjMWJiYi4uM2Zl YWIzYTY1N2UgMTAwNjQ0CistLS0gYS9tb2R1bGVzL2NvZGVjL2F2Y29kZWMvYXZjb21tb25fY29t cGF0LmgKKysrKyBiL21vZHVsZXMvY29kZWMvYXZjb2RlYy9hdmNvbW1vbl9jb21wYXQuaAorQEAg LTEyNiw2ICsxMjYsMTQgQEAKKyAjaWZkZWYgSEFWRV9MSUJBVkZPUk1BVF9BVkZPUk1BVF9ICisg IyBpbmNsdWRlIDxsaWJhdmZvcm1hdC9hdmZvcm1hdC5oPgorIAorKy8qIGNoZWNrIHRoZSBGRm1w ZWcgbGliYXZmb3JtYXQgdmVyc2lvbiAqLworKyNkZWZpbmUgTElCQVZGT1JNQVRfVkVSU0lPTl9D SEVDSyggYSwgZCwgZSApIFwKKysgICAgKExJQkFWRk9STUFUX1ZFUlNJT05fTUlDUk8gPj0gMTAw ICYmIExJQkFWRk9STUFUX1ZFUlNJT05fSU5UID49IEFWX1ZFUlNJT05fSU5UKCBhLCBkLCBlICkg KQorKworKy8qIExJQkFWX0ZPUk1BVF9WRVJTSU9OX0NIRUNLIGNoZWNrcyBmb3IgdGhlIHJpZ2h0 IGxpYmF2Zm9ybWF0IHZlcnNpb24gb2YgbGliYXYgYW5kIEZGbXBlZworKyAqIGEgaXMgdGhlIG1h am9yIHZlcnNpb24KKysgKiBiIGFuZCBjIHRoZSBtaW5vciBhbmQgbWljcm8gdmVyc2lvbnMgb2Yg bGliYXYKKysgKiBkIGFuZCBlIHRoZSBtaW5vciBhbmQgbWljcm8gdmVyc2lvbnMgb2YgRkZtcGVn ICovCisgI2RlZmluZSBMSUJBVl9GT1JNQVRfVkVSU0lPTl9DSEVDSyggYSwgYiwgYywgZCwgZSAp IFwKKyAgICAgKCAoTElCQVZGT1JNQVRfVkVSU0lPTl9NSUNSTyA8ICAxMDAgJiYgTElCQVZGT1JN QVRfVkVSU0lPTl9JTlQgPj0gQVZfVkVSU0lPTl9JTlQoIGEsIGIsIGMgKSApIHx8IFwKKyAgICAg ICAoTElCQVZGT1JNQVRfVkVSU0lPTl9NSUNSTyA+PSAxMDAgJiYgTElCQVZGT1JNQVRfVkVSU0lP Tl9JTlQgPj0gQVZfVkVSU0lPTl9JTlQoIGEsIGQsIGUgKSApICkKK2RpZmYgLS1naXQgYS9tb2R1 bGVzL2RlbXV4L2F2Zm9ybWF0L2RlbXV4LmMgYi9tb2R1bGVzL2RlbXV4L2F2Zm9ybWF0L2RlbXV4 LmMKK2luZGV4IDgzMGRjMDE1N2UyLi4zOWQyMzY2Y2VmMiAxMDA2NDQKKy0tLSBhL21vZHVsZXMv ZGVtdXgvYXZmb3JtYXQvZGVtdXguYworKysrIGIvbW9kdWxlcy9kZW11eC9hdmZvcm1hdC9kZW11 eC5jCitAQCAtNTIsOCArNTIsNyBAQAorIAorICMgZGVmaW5lIEhBVkVfQVZVVElMX0NPREVDX0FU VEFDSE1FTlQgMQorIAorLSNpZiBMSUJBVkZPUk1BVF9WRVJTSU9OX01JQ1JPID49IDEwMCAmJiBc CistICAgIExJQkFWRk9STUFUX1ZFUlNJT05fSU5UID49IEFWX1ZFUlNJT05fSU5UKDU5LCAwLCAx MDApCisrI2lmIExJQkFWRk9STUFUX1ZFUlNJT05fQ0hFQ0soNTksIDAsIDEwMCkKKyAjIGRlZmlu ZSBBVkZfTUFZQkVfQ09OU1QgY29uc3QKKyAjZWxzZQorICMgZGVmaW5lIEFWRl9NQVlCRV9DT05T VAorZGlmZiAtLWdpdCBhL21vZHVsZXMvZGVtdXgvYXZmb3JtYXQvbXV4LmMgYi9tb2R1bGVzL2Rl bXV4L2F2Zm9ybWF0L211eC5jCitpbmRleCAxODJlOTQ1ODdhZC4uNjY0YTY0NjczNGMgMTAwNjQ0 CistLS0gYS9tb2R1bGVzL2RlbXV4L2F2Zm9ybWF0L211eC5jCisrKysgYi9tb2R1bGVzL2RlbXV4 L2F2Zm9ybWF0L211eC5jCitAQCAtOTUsOCArOTUsNyBAQCBpbnQgSU9Xcml0ZVR5cGVkKHZvaWQg Km9wYXF1ZSwgY29uc3QgdWludDhfdCAqYnVmLCBpbnQgYnVmX3NpemUsCisgICoqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqLworIGludCBhdmZvcm1hdF9PcGVuTXV4KCB2bGNfb2JqZWN0X3QgKnBfdGhpcyAp CisgeworLSNpZiBMSUJBVkZPUk1BVF9WRVJTSU9OX01JQ1JPID49IDEwMCAmJiBcCistICAgIExJ QkFWRk9STUFUX1ZFUlNJT05fSU5UID49IEFWX1ZFUlNJT05fSU5UKDU5LCAwLCAxMDApCisrI2lm IExJQkFWRk9STUFUX1ZFUlNJT05fQ0hFQ0soNTksIDAsIDEwMCkKKyAgICAgY29uc3QgQVZPdXRw dXRGb3JtYXQgKmZpbGVfb2Zvcm1hdDsKKyAjZWxzZQorICAgICBBVk91dHB1dEZvcm1hdCAqZmls ZV9vZm9ybWF0OworQEAgLTEwNCw4ICsxMDMsNyBAQCBpbnQgYXZmb3JtYXRfT3Blbk11eCggdmxj X29iamVjdF90ICpwX3RoaXMgKQorICAgICBzb3V0X211eF90ICpwX211eCA9IChzb3V0X211eF90 KilwX3RoaXM7CisgICAgIGJvb2wgZHVtbXkgPSAhc3RyY21wKCBwX211eC0+cF9hY2Nlc3MtPnBz el9hY2Nlc3MsICJkdW1teSIpOworIAorLSNpZiAoIChMSUJBVkZPUk1BVF9WRVJTSU9OX01JQ1JP ID49IDEwMCkgXAorLSAgICAgICYmIChMSUJBVkZPUk1BVF9WRVJTSU9OX0lOVCA8IEFWX1ZFUlNJ T05fSU5UKDU4LCA3LCAxMDApKSApCisrI2lmIExJQkFWRk9STUFUX1ZFUlNJT05fTUlDUk8gPj0g MTAwICYmICEoTElCQVZGT1JNQVRfVkVSU0lPTl9DSEVDSyg1OCwgNywgMTAwKSkKKyAgICAgaWYo IGR1bW15ICYmIHN0cmxlbihwX211eC0+cF9hY2Nlc3MtPnBzel9wYXRoKQorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgID49IHNpemVvZiAoKChBVkZvcm1hdENvbnRleHQgKilOVUxMKS0+ ZmlsZW5hbWUpICkKKyAgICAgICAgIHJldHVybiBWTENfRUdFTkVSSUM7CitAQCAtMTQ0LDggKzE0 Miw3IEBAIGludCBhdmZvcm1hdF9PcGVuTXV4KCB2bGNfb2JqZWN0X3QgKnBfdGhpcyApCisgICAg IHBfc3lzLT5vYy0+b2Zvcm1hdCA9IGZpbGVfb2Zvcm1hdDsKKyAgICAgLyogSWYgd2UgdXNlIGR1 bW15IGFjY2VzcywgbGV0IGF2Zm9ybWF0IHdyaXRlIG91dHB1dCAqLworICAgICBpZiggZHVtbXkg KQorLSNpZiAoIChMSUJBVkZPUk1BVF9WRVJTSU9OX01JQ1JPID49IDEwMCkgXAorLSAgICAgICYm IChMSUJBVkZPUk1BVF9WRVJTSU9OX0lOVCA+PSBBVl9WRVJTSU9OX0lOVCg1OCwgNywgMTAwKSkg KQorKyNpZiBMSUJBVkZPUk1BVF9WRVJTSU9OX0NIRUNLKDU4LCA3LCAxMDApCisgICAgICAgICBw X3N5cy0+b2MtPnVybCA9IGF2X3N0cmR1cChwX211eC0+cF9hY2Nlc3MtPnBzel9wYXRoKTsKKyAj ZWxzZQorICAgICAgICAgc3RyY3B5KCBwX3N5cy0+b2MtPmZpbGVuYW1lLCBwX211eC0+cF9hY2Nl c3MtPnBzel9wYXRoICk7CitAQCAtMzk3LDcgKzM5NCw3IEBAIHN0YXRpYyBpbnQgTXV4QmxvY2so IHNvdXRfbXV4X3QgKnBfbXV4LCBzb3V0X2lucHV0X3QgKnBfaW5wdXQgKQorICAgICAgICAgcGt0 LT5kdHMgPSBwX2RhdGEtPmlfZHRzICogcF9zdHJlYW0tPnRpbWVfYmFzZS5kZW4gLworICAgICAg ICAgICAgIENMT0NLX0ZSRVEgLyBwX3N0cmVhbS0+dGltZV9iYXNlLm51bTsKKyAKKy0jaWYgTElC QVZGT1JNQVRfVkVSU0lPTl9NSUNSTyA+PSAxMDAgJiYgTElCQVZGT1JNQVRfVkVSU0lPTl9JTlQg PCBBVl9WRVJTSU9OX0lOVCg1OSwgMiwgMTAzKQorKyNpZiBMSUJBVkZPUk1BVF9WRVJTSU9OX01J Q1JPID49IDEwMCAmJiAhKExJQkFWRk9STUFUX1ZFUlNJT05fQ0hFQ0soNTksIDIsIDEwMykpCisg ICAgIC8qIHRoaXMgaXMgYW5vdGhlciBoYWNrIHRvIHByZXZlbnQgbGliYXZmb3JtYXQgZnJvbSB0 cmlnZ2VyaW5nIHRoZSAibm9uIG1vbm90b25lIHRpbWVzdGFtcHMiIGNoZWNrIGluIGF2Zm9ybWF0 L3V0aWxzLmMgKi8KKyAgICAgcF9zdHJlYW0tPmN1cl9kdHMgPSAoIHBfZGF0YS0+aV9kdHMgKiBw X3N0cmVhbS0+dGltZV9iYXNlLmRlbiAvCisgICAgICAgICAgICAgQ0xPQ0tfRlJFUSAvIHBfc3Ry ZWFtLT50aW1lX2Jhc2UubnVtICkgLSAxOworLS0gCitHaXRMYWIKKworCitGcm9tIDkzMGRkYzBk MGZlYzU1ZmZmNmMyZWQwZmZjYzkwNDc3M2JhZTY2MjIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAx CitGcm9tOiBTdGV2ZSBMaG9tbWUgPHJvYnV4NEB5Y2Jjci54eXo+CitEYXRlOiBUaHUsIDcgTm92 IDIwMjQgMDc6MjM6MjcgKzAxMDAKK1N1YmplY3Q6IFtQQVRDSCAwNS8xNV0gYXZjb21tb246IHJl bmFtZSBMSUJBVkNPREVDX1ZFUlNJT05fQ0hFQ0sgdG8KKyBMSUJBVl9DT0RFQ19WRVJTSU9OX0NI RUNLCisKK1RoZSBMSUJBVkNPREVDX1ZFUlNJT05fQ0hFQ0sgZm9ybSB3aWxsIGJlIGZvciBjaGVj a3MgYWxzbyBkb25lIGluIDQuMC4KKworTm8gZnVuY3Rpb25hbCBjaGFuZ2VzLgorLS0tCisgbW9k dWxlcy9jb2RlYy9hdmNvZGVjL2F1ZGlvLmMgICAgICAgICAgIHwgIDggKysrKy0tLS0KKyBtb2R1 bGVzL2NvZGVjL2F2Y29kZWMvYXZjb21tb25fY29tcGF0LmggfCAgNCArKy0tCisgbW9kdWxlcy9j b2RlYy9hdmNvZGVjL2QzZDExdmEuYyAgICAgICAgIHwgIDQgKystLQorIG1vZHVsZXMvY29kZWMv YXZjb2RlYy9lbmNvZGVyLmMgICAgICAgICB8IDEwICsrKysrLS0tLS0KKyBtb2R1bGVzL2NvZGVj L2F2Y29kZWMvZm91cmNjLmMgICAgICAgICAgfCAxNCArKysrKysrLS0tLS0tLQorIG1vZHVsZXMv Y29kZWMvYXZjb2RlYy92aWRlby5jICAgICAgICAgICB8ICAyICstCisgNiBmaWxlcyBjaGFuZ2Vk LCAyMSBpbnNlcnRpb25zKCspLCAyMSBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL21vZHVs ZXMvY29kZWMvYXZjb2RlYy9hdWRpby5jIGIvbW9kdWxlcy9jb2RlYy9hdmNvZGVjL2F1ZGlvLmMK K2luZGV4IDQ0MzM1ZWMzY2NlLi43YTk3OWU5NmUxOSAxMDA2NDQKKy0tLSBhL21vZHVsZXMvY29k ZWMvYXZjb2RlYy9hdWRpby5jCisrKysgYi9tb2R1bGVzL2NvZGVjL2F2Y29kZWMvYXVkaW8uYwor QEAgLTE0Miw3ICsxNDIsNyBAQCBzdGF0aWMgaW50IE9wZW5BdWRpb0NvZGVjKCBkZWNvZGVyX3Qg KnBfZGVjICkKKyAgICAgfQorIAorICAgICBjdHgtPnNhbXBsZV9yYXRlID0gcF9kZWMtPmZtdF9p bi5hdWRpby5pX3JhdGU7CistI2lmIExJQkFWQ09ERUNfVkVSU0lPTl9DSEVDSyg1OSwgOTk5LCA5 OTksIDI0LCAxMDApCisrI2lmIExJQkFWX0NPREVDX1ZFUlNJT05fQ0hFQ0soNTksIDk5OSwgOTk5 LCAyNCwgMTAwKQorICAgICBhdl9jaGFubmVsX2xheW91dF9kZWZhdWx0KCAmY3R4LT5jaF9sYXlv dXQsIHBfZGVjLT5mbXRfaW4uYXVkaW8uaV9jaGFubmVscyApOworICNlbHNlCisgICAgIGN0eC0+ Y2hhbm5lbHMgPSBwX2RlYy0+Zm10X2luLmF1ZGlvLmlfY2hhbm5lbHM7CitAQCAtNDAyLDcgKzQw Miw3IEBAIHN0YXRpYyBpbnQgRGVjb2RlQmxvY2soIGRlY29kZXJfdCAqcF9kZWMsIGJsb2NrX3Qg KipwcF9ibG9jayApCisgICAgICAgICByZXQgPSBhdmNvZGVjX3JlY2VpdmVfZnJhbWUoIGN0eCwg ZnJhbWUgKTsKKyAgICAgICAgIGlmKCByZXQgPT0gMCApCisgICAgICAgICB7CistI2lmIExJQkFW Q09ERUNfVkVSU0lPTl9DSEVDSyg1OSwgOTk5LCA5OTksIDI0LCAxMDApCisrI2lmIExJQkFWX0NP REVDX1ZFUlNJT05fQ0hFQ0soNTksIDk5OSwgOTk5LCAyNCwgMTAwKQorICAgICAgICAgICAgIGlu dCBjaGFubmVscyA9IGZyYW1lLT5jaF9sYXlvdXQubmJfY2hhbm5lbHM7CisgI2Vsc2UKKyAgICAg ICAgICAgICBpbnQgY2hhbm5lbHMgPSBjdHgtPmNoYW5uZWxzOworQEAgLTU5Miw3ICs1OTIsNyBA QCBzdGF0aWMgdm9pZCBTZXR1cE91dHB1dEZvcm1hdCggZGVjb2Rlcl90ICpwX2RlYywgYm9vbCBi X3RydXN0ICkKKyAgICAgcF9kZWMtPmZtdF9vdXQuYXVkaW8uaV9yYXRlID0gcF9zeXMtPnBfY29u dGV4dC0+c2FtcGxlX3JhdGU7CisgCisgICAgIC8qICovCistI2lmIExJQkFWQ09ERUNfVkVSU0lP Tl9DSEVDSyg1OSwgOTk5LCA5OTksIDI0LCAxMDApCisrI2lmIExJQkFWX0NPREVDX1ZFUlNJT05f Q0hFQ0soNTksIDk5OSwgOTk5LCAyNCwgMTAwKQorICAgICBpZiggcF9zeXMtPmlfcHJldmlvdXNf Y2hhbm5lbHMgPT0gcF9zeXMtPnBfY29udGV4dC0+Y2hfbGF5b3V0Lm5iX2NoYW5uZWxzICYmCisg ICAgICAgICBwX3N5cy0+aV9wcmV2aW91c19sYXlvdXQgPT0gcF9zeXMtPnBfY29udGV4dC0+Y2hf bGF5b3V0LnUubWFzayApCisgICAgICAgICByZXR1cm47CitAQCAtNjE3LDcgKzYxNyw3IEBAIHN0 YXRpYyB2b2lkIFNldHVwT3V0cHV0Rm9ybWF0KCBkZWNvZGVyX3QgKnBfZGVjLCBib29sIGJfdHJ1 c3QgKQorIAorICAgICBpbnQgaV9jaGFubmVsc19zcmMgPSAwLCBjaGFubmVsX2NvdW50OworICAg ICB1aW50NjRfdCBjaGFubmVsX2xheW91dF9tYXNrOworLSNpZiBMSUJBVkNPREVDX1ZFUlNJT05f Q0hFQ0soNTksIDk5OSwgOTk5LCAyNCwgMTAwKQorKyNpZiBMSUJBVl9DT0RFQ19WRVJTSU9OX0NI RUNLKDU5LCA5OTksIDk5OSwgMjQsIDEwMCkKKyAgICAgY2hhbm5lbF9sYXlvdXRfbWFzayA9IHBf c3lzLT5wX2NvbnRleHQtPmNoX2xheW91dC51Lm1hc2s7CisgICAgIGNoYW5uZWxfY291bnQgPSBw X3N5cy0+cF9jb250ZXh0LT5jaF9sYXlvdXQubmJfY2hhbm5lbHM7CisgI2VsaWYgQVBJX0NIQU5O RUxfTEFZT1VUCitkaWZmIC0tZ2l0IGEvbW9kdWxlcy9jb2RlYy9hdmNvZGVjL2F2Y29tbW9uX2Nv bXBhdC5oIGIvbW9kdWxlcy9jb2RlYy9hdmNvZGVjL2F2Y29tbW9uX2NvbXBhdC5oCitpbmRleCAz ZmVhYjNhNjU3ZS4uYjUwNGZjZDgyMTggMTAwNjQ0CistLS0gYS9tb2R1bGVzL2NvZGVjL2F2Y29k ZWMvYXZjb21tb25fY29tcGF0LmgKKysrKyBiL21vZHVsZXMvY29kZWMvYXZjb2RlYy9hdmNvbW1v bl9jb21wYXQuaAorQEAgLTMwLDExICszMCwxMSBAQAorICNpZmRlZiBIQVZFX0xJQkFWQ09ERUNf QVZDT0RFQ19ICisgI2luY2x1ZGUgPGxpYmF2Y29kZWMvYXZjb2RlYy5oPgorIAorLS8qIExJQkFW Q09ERUNfVkVSU0lPTl9DSEVDSyBjaGVja3MgZm9yIHRoZSByaWdodCB2ZXJzaW9uIG9mIGxpYmF2 IGFuZCBGRm1wZWcKKysvKiBMSUJBVl9DT0RFQ19WRVJTSU9OX0NIRUNLIGNoZWNrcyBmb3IgdGhl IHJpZ2h0IHZlcnNpb24gb2YgbGliYXYgYW5kIEZGbXBlZworICAqIGEgaXMgdGhlIG1ham9yIHZl cnNpb24KKyAgKiBiIGFuZCBjIHRoZSBtaW5vciBhbmQgbWljcm8gdmVyc2lvbnMgb2YgbGliYXYK KyAgKiBkIGFuZCBlIHRoZSBtaW5vciBhbmQgbWljcm8gdmVyc2lvbnMgb2YgRkZtcGVnICovCist I2RlZmluZSBMSUJBVkNPREVDX1ZFUlNJT05fQ0hFQ0soIGEsIGIsIGMsIGQsIGUgKSBcCisrI2Rl ZmluZSBMSUJBVl9DT0RFQ19WRVJTSU9OX0NIRUNLKCBhLCBiLCBjLCBkLCBlICkgXAorICAgICAo IChMSUJBVkNPREVDX1ZFUlNJT05fTUlDUk8gPCAgMTAwICYmIExJQkFWQ09ERUNfVkVSU0lPTl9J TlQgPj0gQVZfVkVSU0lPTl9JTlQoIGEsIGIsIGMgKSApIHx8IFwKKyAgICAgICAoTElCQVZDT0RF Q19WRVJTSU9OX01JQ1JPID49IDEwMCAmJiBMSUJBVkNPREVDX1ZFUlNJT05fSU5UID49IEFWX1ZF UlNJT05fSU5UKCBhLCBkLCBlICkgKSApCisgCitkaWZmIC0tZ2l0IGEvbW9kdWxlcy9jb2RlYy9h dmNvZGVjL2QzZDExdmEuYyBiL21vZHVsZXMvY29kZWMvYXZjb2RlYy9kM2QxMXZhLmMKK2luZGV4 IDUyNjA2MjgzNjRmLi5lMWMxMGQzMTE4OCAxMDA2NDQKKy0tLSBhL21vZHVsZXMvY29kZWMvYXZj b2RlYy9kM2QxMXZhLmMKKysrKyBiL21vZHVsZXMvY29kZWMvYXZjb2RlYy9kM2QxMXZhLmMKK0BA IC03Niw3ICs3Niw3IEBAIHZsY19tb2R1bGVfZW5kKCkKKyAgKiBTbyB3ZSBnZXQgdGhlIHN1cmZh Y2VzIGZyb20gdGhlIGRlY29kZXIgcG9vbCB3aGVuIG5lZWRlZC4gV2UgZG9uJ3QgbmVlZCB0bwor ICAqIGV4dHJhY3QgdGhlIGRlY29kZWQgc3VyZmFjZSBpbnRvIHRoZSBkZWNvZGVyIHBpY3R1cmUg YW55bW9yZS4KKyAgKi8KKy0jZGVmaW5lIEQzRDExX0RJUkVDVF9ERUNPREUgIExJQkFWQ09ERUNf VkVSU0lPTl9DSEVDSyggNTcsIDMwLCAzLCA3MiwgMTAxICkKKysjZGVmaW5lIEQzRDExX0RJUkVD VF9ERUNPREUgIExJQkFWX0NPREVDX1ZFUlNJT05fQ0hFQ0soIDU3LCAzMCwgMywgNzIsIDEwMSAp CisgCisgI2luY2x1ZGUgPGluaXRndWlkLmg+IC8qIG11c3QgYmUgbGFzdCBpbmNsdWRlZCB0byBu b3QgcmVkZWZpbmUgZXhpc3RpbmcgR1VJRHMgKi8KKyAKK0BAIC03NjQsNyArNzY0LDcgQEAgc3Rh dGljIGludCBEeENyZWF0ZURlY29kZXJTdXJmYWNlcyh2bGNfdmFfdCAqdmEsIGludCBjb2RlY19p ZCwKKyAgICAgICAgICAgICBhc3NlcnQodGV4RGVzYy5Gb3JtYXQgPT0gc3lzLT5yZW5kZXIpOwor ICAgICAgICAgICAgIGFzc2VydCh0ZXhEZXNjLkJpbmRGbGFncyAmIEQzRDExX0JJTkRfREVDT0RF Uik7CisgCistI2lmICFMSUJBVkNPREVDX1ZFUlNJT05fQ0hFQ0soIDU3LCAyNywgMiwgNjEsIDEw MiApCisrI2lmICFMSUJBVl9DT0RFQ19WRVJTSU9OX0NIRUNLKCA1NywgMjcsIDIsIDYxLCAxMDIg KQorICAgICAgICAgICAgIGlmIChwaWMtPnBfc3lzLT5zbGljZV9pbmRleCAhPSBzdXJmYWNlX2lk eCkKKyAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgIG1zZ19XYXJuKHZhLCAiZDNkMTF2 YSByZXF1aXJlcyBkZWNvZGluZyBzbGljZXMgdG8gYmUgdGhlIGZpcnN0IGluIHRoZSB0ZXh0dXJl ICglZC8lZCkiLAorZGlmZiAtLWdpdCBhL21vZHVsZXMvY29kZWMvYXZjb2RlYy9lbmNvZGVyLmMg Yi9tb2R1bGVzL2NvZGVjL2F2Y29kZWMvZW5jb2Rlci5jCitpbmRleCBjOWEzNGQ4ZjBkYS4uOWNm OWE3ZDA2MDcgMTAwNjQ0CistLS0gYS9tb2R1bGVzL2NvZGVjL2F2Y29kZWMvZW5jb2Rlci5jCisr KysgYi9tb2R1bGVzL2NvZGVjL2F2Y29kZWMvZW5jb2Rlci5jCitAQCAtMTgzLDcgKzE4Myw3IEBA IHN0YXRpYyBjb25zdCB1aW50NjRfdCBwaV9jaGFubmVsc19tYXBbXVsyXSA9CisgICAgIHsgQVZf Q0hfU1RFUkVPX1JJR0hULCAgICAgIDAgfSwKKyB9OworIAorLSMgaWYgIUxJQkFWQ09ERUNfVkVS U0lPTl9DSEVDSyg1OSwgOTk5LCA5OTksIDI0LCAxMDApCisrIyBpZiAhTElCQVZfQ09ERUNfVkVS U0lPTl9DSEVDSyg1OSwgOTk5LCA5OTksIDI0LCAxMDApCisgc3RhdGljIGNvbnN0IHVpbnQzMl90 IGNoYW5uZWxfbWFza1tdWzJdID0geworICAgICB7MCwwfSwKKyAgICAge0FPVVRfQ0hBTl9DRU5U RVIsIEFWX0NIX0xBWU9VVF9NT05PfSwKK0BAIC03NjUsNyArNzY1LDcgQEAgaW50IEluaXRWaWRl b0VuYyggdmxjX29iamVjdF90ICpwX3RoaXMgKQorICAgICAgICAgdWludDMyX3Qgb3JkZXJfbWFz ayA9IDA7CisgICAgICAgICBpbnQgaV9jaGFubmVsc19zcmMgPSAwOworICAgICAgICAgbXNnX0Ri ZyggcF9lbmMsICJDcmVhdGluZyBjaGFubmVsIG9yZGVyIGZvciByZW9yZGVyaW5nIik7CistIyBp ZiBMSUJBVkNPREVDX1ZFUlNJT05fQ0hFQ0soNTksIDk5OSwgOTk5LCAyNCwgMTAwKQorKyMgaWYg TElCQVZfQ09ERUNfVkVSU0lPTl9DSEVDSyg1OSwgOTk5LCA5OTksIDI0LCAxMDApCisgICAgICAg ICBhdl9jaGFubmVsX2xheW91dF9kZWZhdWx0KCAmcF9jb250ZXh0LT5jaF9sYXlvdXQsIHBfZW5j LT5mbXRfb3V0LmF1ZGlvLmlfY2hhbm5lbHMgKTsKKyAgICAgICAgIHVpbnQ2NF90IGNoYW5uZWxf bWFzayA9IHBfY29udGV4dC0+Y2hfbGF5b3V0LnUubWFzazsKKyAjIGVsc2UKK0BAIC05MTgsNyAr OTE4LDcgQEAgZXJybXNnOgorIAorICAgICAgICAgaWYoIHBfZW5jLT5mbXRfb3V0LmF1ZGlvLmlf Y2hhbm5lbHMgPiAyICkKKyAgICAgICAgIHsKKy0jaWYgTElCQVZDT0RFQ19WRVJTSU9OX0NIRUNL KDU5LCA5OTksIDk5OSwgMjQsIDEwMCkKKysjaWYgTElCQVZfQ09ERUNfVkVSU0lPTl9DSEVDSyg1 OSwgOTk5LCA5OTksIDI0LCAxMDApCisgICAgICAgICAgICAgYXZfY2hhbm5lbF9sYXlvdXRfZGVm YXVsdCggJnBfY29udGV4dC0+Y2hfbGF5b3V0LCAyICk7CisgI2Vsc2UKKyAgICAgICAgICAgICBw X2NvbnRleHQtPmNoYW5uZWxzID0gMjsKK0BAIC0xMjgyLDcgKzEyODIsNyBAQCBzdGF0aWMgYmxv Y2tfdCAqaGFuZGxlX2RlbGF5X2J1ZmZlciggZW5jb2Rlcl90ICpwX2VuYywgZW5jb2Rlcl9zeXNf dCAqcF9zeXMsIHVucworICAgICBhdl9mcmFtZV91bnJlZiggcF9zeXMtPmZyYW1lICk7CisgICAg IHBfc3lzLT5mcmFtZS0+Zm9ybWF0ICAgICA9IHBfc3lzLT5wX2NvbnRleHQtPnNhbXBsZV9mbXQ7 CisgICAgIHBfc3lzLT5mcmFtZS0+bmJfc2FtcGxlcyA9IGxlZnRvdmVyX3NhbXBsZXMgKyBwX3N5 cy0+aV9zYW1wbGVzX2RlbGF5OworLSNpZiBMSUJBVkNPREVDX1ZFUlNJT05fQ0hFQ0soNTksIDk5 OSwgOTk5LCAyNCwgMTAwKQorKyNpZiBMSUJBVl9DT0RFQ19WRVJTSU9OX0NIRUNLKDU5LCA5OTks IDk5OSwgMjQsIDEwMCkKKyAgICAgYXZfY2hhbm5lbF9sYXlvdXRfY29weSgmcF9zeXMtPmZyYW1l LT5jaF9sYXlvdXQsICZwX3N5cy0+cF9jb250ZXh0LT5jaF9sYXlvdXQpOworICNlbHNlCisgICAg IHBfc3lzLT5mcmFtZS0+Y2hhbm5lbF9sYXlvdXQgPSBwX3N5cy0+cF9jb250ZXh0LT5jaGFubmVs X2xheW91dDsKK0BAIC0xNDE3LDcgKzE0MTcsNyBAQCBzdGF0aWMgYmxvY2tfdCAqRW5jb2RlQXVk aW8oIGVuY29kZXJfdCAqcF9lbmMsIGJsb2NrX3QgKnBfYW91dF9idWYgKQorICAgICAgICAgcF9z eXMtPmZyYW1lLT5wdHMgICAgICAgID0gZGF0ZV9HZXQoICZwX3N5cy0+YnVmZmVyX2RhdGUgKSAq IHBfc3lzLT5wX2NvbnRleHQtPnRpbWVfYmFzZS5kZW4gLworICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIENMT0NLX0ZSRVEgLyBwX3N5cy0+cF9jb250ZXh0LT50aW1lX2Jhc2Uu bnVtOworIAorLSNpZiBMSUJBVkNPREVDX1ZFUlNJT05fQ0hFQ0soNTksIDk5OSwgOTk5LCAyNCwg MTAwKQorKyNpZiBMSUJBVl9DT0RFQ19WRVJTSU9OX0NIRUNLKDU5LCA5OTksIDk5OSwgMjQsIDEw MCkKKyAgICAgICAgIGF2X2NoYW5uZWxfbGF5b3V0X2NvcHkoJnBfc3lzLT5mcmFtZS0+Y2hfbGF5 b3V0LCAmcF9zeXMtPnBfY29udGV4dC0+Y2hfbGF5b3V0KTsKKyAjZWxzZQorICAgICAgICAgcF9z eXMtPmZyYW1lLT5jaGFubmVsX2xheW91dCA9IHBfc3lzLT5wX2NvbnRleHQtPmNoYW5uZWxfbGF5 b3V0OworZGlmZiAtLWdpdCBhL21vZHVsZXMvY29kZWMvYXZjb2RlYy9mb3VyY2MuYyBiL21vZHVs ZXMvY29kZWMvYXZjb2RlYy9mb3VyY2MuYworaW5kZXggOTdmMzE4ODIxMWQuLjNhZWE2YjU4ZmYw IDEwMDY0NAorLS0tIGEvbW9kdWxlcy9jb2RlYy9hdmNvZGVjL2ZvdXJjYy5jCisrKysgYi9tb2R1 bGVzL2NvZGVjL2F2Y29kZWMvZm91cmNjLmMKK0BAIC0yMzAsNyArMjMwLDcgQEAgc3RhdGljIGNv bnN0IHN0cnVjdCB2bGNfYXZjb2RlY19mb3VyY2MgdmlkZW9fY29kZWNzW10gPQorICAgICB7IFZM Q19DT0RFQ19DTExDLCBBVl9DT0RFQ19JRF9DTExDIH0sCisgICAgIHsgVkxDX0NPREVDX01TUzIs IEFWX0NPREVDX0lEX01TUzIgfSwKKyAgICAgeyBWTENfQ09ERUNfVlA5LCBBVl9DT0RFQ19JRF9W UDkgfSwKKy0jaWYgTElCQVZDT0RFQ19WRVJTSU9OX0NIRUNLKCA1NywgMjYsIDAsIDgzLCAxMDEg KQorKyNpZiBMSUJBVl9DT0RFQ19WRVJTSU9OX0NIRUNLKCA1NywgMjYsIDAsIDgzLCAxMDEgKQor ICAgICB7IFZMQ19DT0RFQ19BVjEsIEFWX0NPREVDX0lEX0FWMSB9LAorICNlbmRpZgorICAgICB7 IFZMQ19DT0RFQ19JQ09ELCBBVl9DT0RFQ19JRF9BSUMgfSwKK0BAIC0yODUsMTkgKzI4NSwxOSBA QCBzdGF0aWMgY29uc3Qgc3RydWN0IHZsY19hdmNvZGVjX2ZvdXJjYyB2aWRlb19jb2RlY3NbXSA9 CisgICAgIC8qIGZmbXBlZyBvbmx5OiBBVl9DT0RFQ19JRF9TTk9XICovCisgICAgIC8qIGZmbXBl ZyBvbmx5OiBBVl9DT0RFQ19JRF9TTVZKUEVHICovCisgCistI2lmIExJQkFWQ09ERUNfVkVSU0lP Tl9DSEVDSyggNTcsIDk5OSwgOTk5LCAyNCwgMTAyICkKKysjaWYgTElCQVZfQ09ERUNfVkVSU0lP Tl9DSEVDSyggNTcsIDk5OSwgOTk5LCAyNCwgMTAyICkKKyAgICAgeyBWTENfQ09ERUNfQ0lORUZP Uk0sIEFWX0NPREVDX0lEX0NGSEQgfSwKKyAjZW5kaWYKKyAKKy0jaWYgTElCQVZDT0RFQ19WRVJT SU9OX0NIRUNLKCA1NywgOTk5LCA5OTksIDcwLCAxMDAgKQorKyNpZiBMSUJBVl9DT0RFQ19WRVJT SU9OX0NIRUNLKCA1NywgOTk5LCA5OTksIDcwLCAxMDAgKQorICAgICB7IFZMQ19DT0RFQ19QSVhM RVQsIEFWX0NPREVDX0lEX1BJWExFVCB9LAorICNlbmRpZgorIAorLSNpZiBMSUJBVkNPREVDX1ZF UlNJT05fQ0hFQ0soIDU3LCA5OTksIDk5OSwgNzEsIDEwMSApCisrI2lmIExJQkFWX0NPREVDX1ZF UlNJT05fQ0hFQ0soIDU3LCA5OTksIDk5OSwgNzEsIDEwMSApCisgICAgIHsgVkxDX0NPREVDX1NQ RUVESFEsIEFWX0NPREVDX0lEX1NQRUVESFEgfSwKKyAjZW5kaWYKKyAKKy0jaWYgTElCQVZDT0RF Q19WRVJTSU9OX0NIRUNLKCA1NywgOTk5LCA5OTksIDc5LCAxMDAgKQorKyNpZiBMSUJBVl9DT0RF Q19WRVJTSU9OX0NIRUNLKCA1NywgOTk5LCA5OTksIDc5LCAxMDAgKQorICAgICB7IFZMQ19DT0RF Q19GTVZDLCBBVl9DT0RFQ19JRF9GTVZDIH0sCisgI2VuZGlmCisgfTsKK0BAIC00MTQsNyArNDE0 LDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCB2bGNfYXZjb2RlY19mb3VyY2MgYXVkaW9fY29kZWNz W10gPQorICAgICAvKiBBVl9DT0RFQ19JRF9XRVNUV09PRF9TTkQxICovCisgICAgIHsgVkxDX0NP REVDX0dTTSwgQVZfQ09ERUNfSURfR1NNIH0sCisgICAgIHsgVkxDX0NPREVDX1FETTIsIEFWX0NP REVDX0lEX1FETTIgfSwKKy0jaWYgTElCQVZDT0RFQ19WRVJTSU9OX0NIRUNLKCA1NywgOTk5LCA5 OTksIDcxLCAxMDAgKQorKyNpZiBMSUJBVl9DT0RFQ19WRVJTSU9OX0NIRUNLKCA1NywgOTk5LCA5 OTksIDcxLCAxMDAgKQorICAgICB7IFZMQ19DT0RFQ19RRE1DLCBBVl9DT0RFQ19JRF9RRE1DIH0s CisgI2VuZGlmCisgICAgIHsgVkxDX0NPREVDX0NPT0ssIEFWX0NPREVDX0lEX0NPT0sgfSwKK0BA IC00ODIsNyArNDgyLDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCB2bGNfYXZjb2RlY19mb3VyY2Mg c3B1X2NvZGVjc1tdID0KKyAgICAgeyBWTENfQ09ERUNfU1NBLCBBVl9DT0RFQ19JRF9TU0EgfSwK KyAgICAgLyogQVZfQ09ERUNfSURfTU9WX1RFWFQgKi8KKyAgICAgeyBWTENfQ09ERUNfQkRfUEcs IEFWX0NPREVDX0lEX0hETVZfUEdTX1NVQlRJVExFIH0sCistI2lmIExJQkFWQ09ERUNfVkVSU0lP Tl9DSEVDSyggNTcsIDk5OSwgOTk5LCA3MSwgMTAwICkKKysjaWYgTElCQVZfQ09ERUNfVkVSU0lP Tl9DSEVDSyggNTcsIDk5OSwgOTk5LCA3MSwgMTAwICkKKyAgICAgeyBWTENfQ09ERUNfQkRfVEVY VCwgQVZfQ09ERUNfSURfSERNVl9URVhUX1NVQlRJVExFIH0sCisgI2VuZGlmCisgICAgIHsgVkxD X0NPREVDX1RFTEVURVhULCBBVl9DT0RFQ19JRF9EVkJfVEVMRVRFWFQgfSwKK2RpZmYgLS1naXQg YS9tb2R1bGVzL2NvZGVjL2F2Y29kZWMvdmlkZW8uYyBiL21vZHVsZXMvY29kZWMvYXZjb2RlYy92 aWRlby5jCitpbmRleCBkMzI4NGRhOGFlZC4uNTUyYzYwMmVkZjYgMTAwNjQ0CistLS0gYS9tb2R1 bGVzL2NvZGVjL2F2Y29kZWMvdmlkZW8uYworKysrIGIvbW9kdWxlcy9jb2RlYy9hdmNvZGVjL3Zp ZGVvLmMKK0BAIC0xMzA3LDcgKzEzMDcsNyBAQCBzdGF0aWMgcGljdHVyZV90ICpEZWNvZGVCbG9j ayggZGVjb2Rlcl90ICpwX2RlYywgYmxvY2tfdCAqKnBwX2Jsb2NrLCBib29sICplcnJvcgorICAg ICAgICAgfQorIAorICAgICAgICAgLyogQ29tcHV0ZSB0aGUgUFRTICovCistI2lmIExJQkFWQ09E RUNfVkVSU0lPTl9DSEVDSyg1NywgMjQsIDAsIDYxLCAxMDApCisrI2lmIExJQkFWX0NPREVDX1ZF UlNJT05fQ0hFQ0soNTcsIDI0LCAwLCA2MSwgMTAwKQorICMgaWYgTElCQVZDT0RFQ19WRVJTSU9O X01JQ1JPID49IDEwMAorICAgICAgICAgdmxjX3RpY2tfdCBpX3B0cyA9IGZyYW1lLT5iZXN0X2Vm Zm9ydF90aW1lc3RhbXA7CisgIyBlbHNlCistLSAKK0dpdExhYgorCisKK0Zyb20gY2UwODQxNTJj OWJhZGUwNDFjYTE4ZTE5YzNiMjY0ZTRlMTM0YzZjMyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEK K0Zyb206IFN0ZXZlIExob21tZSA8cm9idXg0QHljYmNyLnh5ej4KK0RhdGU6IFdlZCwgMTkgSnVu IDIwMjQgMTM6NTk6MTUgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSCAwNi8xNV0gYXZjb21tb246IHVz ZSBhIHNwZWNpZmljIG1hY3JvIHRvIGNoZWNrIHRoZSBGRm1wZWcKKyBsaWJhdmNvZGVjIHZlcnNp b24KKworVGhpcyBtYWNybyBkb2Vzbid0IGNoZWNrIGZvciBsaWJhdiB3aGljaCBpcyBhc3N1bWVk IHRvIG5vdCBoYXZlIHRvIHJlbGV2YW50Citjb2RlLiBUaGlzIGlzIHRoZSBzYW1lIG1hY3JvIG5h bWUgdXNlZCBpbiBWTEMgNC4wLgorLS0tCisgbW9kdWxlcy9jb2RlYy9hdmNvZGVjL2F1ZGlvLmMg ICAgICAgICAgIHwgIDggKysrKy0tLS0KKyBtb2R1bGVzL2NvZGVjL2F2Y29kZWMvYXZjb21tb24u aCAgICAgICAgfCAgMiArLQorIG1vZHVsZXMvY29kZWMvYXZjb2RlYy9hdmNvbW1vbl9jb21wYXQu aCB8ICA0ICsrKysKKyBtb2R1bGVzL2NvZGVjL2F2Y29kZWMvZGlyZWN0eF92YS5jICAgICAgfCAg NCArKy0tCisgbW9kdWxlcy9jb2RlYy9hdmNvZGVjL2VuY29kZXIuYyAgICAgICAgIHwgMTMgKysr KysrLS0tLS0tLQorIG1vZHVsZXMvY29kZWMvYXZjb2RlYy9mb3VyY2MuYyAgICAgICAgICB8IDE4 ICsrKysrKysrLS0tLS0tLS0tLQorIG1vZHVsZXMvY29kZWMvYXZjb2RlYy92aWRlby5jICAgICAg ICAgICB8ICAzICstLQorIG1vZHVsZXMvZGVtdXgvYXZmb3JtYXQvZGVtdXguYyAgICAgICAgICB8 ICAyICstCisgbW9kdWxlcy9kZW11eC9hdmZvcm1hdC9tdXguYyAgICAgICAgICAgIHwgIDIgKy0K KyA5IGZpbGVzIGNoYW5nZWQsIDI4IGluc2VydGlvbnMoKyksIDI4IGRlbGV0aW9ucygtKQorCitk aWZmIC0tZ2l0IGEvbW9kdWxlcy9jb2RlYy9hdmNvZGVjL2F1ZGlvLmMgYi9tb2R1bGVzL2NvZGVj L2F2Y29kZWMvYXVkaW8uYworaW5kZXggN2E5NzllOTZlMTkuLmEzZjY3ZjdiZDkzIDEwMDY0NAor LS0tIGEvbW9kdWxlcy9jb2RlYy9hdmNvZGVjL2F1ZGlvLmMKKysrKyBiL21vZHVsZXMvY29kZWMv YXZjb2RlYy9hdWRpby5jCitAQCAtMTQyLDcgKzE0Miw3IEBAIHN0YXRpYyBpbnQgT3BlbkF1ZGlv Q29kZWMoIGRlY29kZXJfdCAqcF9kZWMgKQorICAgICB9CisgCisgICAgIGN0eC0+c2FtcGxlX3Jh dGUgPSBwX2RlYy0+Zm10X2luLmF1ZGlvLmlfcmF0ZTsKKy0jaWYgTElCQVZfQ09ERUNfVkVSU0lP Tl9DSEVDSyg1OSwgOTk5LCA5OTksIDI0LCAxMDApCisrI2lmIExJQkFWQ09ERUNfVkVSU0lPTl9D SEVDSyg1OSwgMjQsIDEwMCkKKyAgICAgYXZfY2hhbm5lbF9sYXlvdXRfZGVmYXVsdCggJmN0eC0+ Y2hfbGF5b3V0LCBwX2RlYy0+Zm10X2luLmF1ZGlvLmlfY2hhbm5lbHMgKTsKKyAjZWxzZQorICAg ICBjdHgtPmNoYW5uZWxzID0gcF9kZWMtPmZtdF9pbi5hdWRpby5pX2NoYW5uZWxzOworQEAgLTQw Miw3ICs0MDIsNyBAQCBzdGF0aWMgaW50IERlY29kZUJsb2NrKCBkZWNvZGVyX3QgKnBfZGVjLCBi bG9ja190ICoqcHBfYmxvY2sgKQorICAgICAgICAgcmV0ID0gYXZjb2RlY19yZWNlaXZlX2ZyYW1l KCBjdHgsIGZyYW1lICk7CisgICAgICAgICBpZiggcmV0ID09IDAgKQorICAgICAgICAgeworLSNp ZiBMSUJBVl9DT0RFQ19WRVJTSU9OX0NIRUNLKDU5LCA5OTksIDk5OSwgMjQsIDEwMCkKKysjaWYg TElCQVZDT0RFQ19WRVJTSU9OX0NIRUNLKDU5LCAyNCwgMTAwKQorICAgICAgICAgICAgIGludCBj aGFubmVscyA9IGZyYW1lLT5jaF9sYXlvdXQubmJfY2hhbm5lbHM7CisgI2Vsc2UKKyAgICAgICAg ICAgICBpbnQgY2hhbm5lbHMgPSBjdHgtPmNoYW5uZWxzOworQEAgLTU5Miw3ICs1OTIsNyBAQCBz dGF0aWMgdm9pZCBTZXR1cE91dHB1dEZvcm1hdCggZGVjb2Rlcl90ICpwX2RlYywgYm9vbCBiX3Ry dXN0ICkKKyAgICAgcF9kZWMtPmZtdF9vdXQuYXVkaW8uaV9yYXRlID0gcF9zeXMtPnBfY29udGV4 dC0+c2FtcGxlX3JhdGU7CisgCisgICAgIC8qICovCistI2lmIExJQkFWX0NPREVDX1ZFUlNJT05f Q0hFQ0soNTksIDk5OSwgOTk5LCAyNCwgMTAwKQorKyNpZiBMSUJBVkNPREVDX1ZFUlNJT05fQ0hF Q0soNTksIDI0LCAxMDApCisgICAgIGlmKCBwX3N5cy0+aV9wcmV2aW91c19jaGFubmVscyA9PSBw X3N5cy0+cF9jb250ZXh0LT5jaF9sYXlvdXQubmJfY2hhbm5lbHMgJiYKKyAgICAgICAgIHBfc3lz LT5pX3ByZXZpb3VzX2xheW91dCA9PSBwX3N5cy0+cF9jb250ZXh0LT5jaF9sYXlvdXQudS5tYXNr ICkKKyAgICAgICAgIHJldHVybjsKK0BAIC02MTcsNyArNjE3LDcgQEAgc3RhdGljIHZvaWQgU2V0 dXBPdXRwdXRGb3JtYXQoIGRlY29kZXJfdCAqcF9kZWMsIGJvb2wgYl90cnVzdCApCisgCisgICAg IGludCBpX2NoYW5uZWxzX3NyYyA9IDAsIGNoYW5uZWxfY291bnQ7CisgICAgIHVpbnQ2NF90IGNo YW5uZWxfbGF5b3V0X21hc2s7CistI2lmIExJQkFWX0NPREVDX1ZFUlNJT05fQ0hFQ0soNTksIDk5 OSwgOTk5LCAyNCwgMTAwKQorKyNpZiBMSUJBVkNPREVDX1ZFUlNJT05fQ0hFQ0soNTksIDI0LCAx MDApCisgICAgIGNoYW5uZWxfbGF5b3V0X21hc2sgPSBwX3N5cy0+cF9jb250ZXh0LT5jaF9sYXlv dXQudS5tYXNrOworICAgICBjaGFubmVsX2NvdW50ID0gcF9zeXMtPnBfY29udGV4dC0+Y2hfbGF5 b3V0Lm5iX2NoYW5uZWxzOworICNlbGlmIEFQSV9DSEFOTkVMX0xBWU9VVAorZGlmZiAtLWdpdCBh L21vZHVsZXMvY29kZWMvYXZjb2RlYy9hdmNvbW1vbi5oIGIvbW9kdWxlcy9jb2RlYy9hdmNvZGVj L2F2Y29tbW9uLmgKK2luZGV4IGFhMGMwYjg4Yjg1Li4xMGFkMTNkYzVmOCAxMDA2NDQKKy0tLSBh L21vZHVsZXMvY29kZWMvYXZjb2RlYy9hdmNvbW1vbi5oCisrKysgYi9tb2R1bGVzL2NvZGVjL2F2 Y29kZWMvYXZjb21tb24uaAorQEAgLTEyMyw3ICsxMjMsNyBAQCBzdGF0aWMgaW5saW5lIHZvaWQg dmxjX2luaXRfYXZjb2RlYyh2bGNfb2JqZWN0X3QgKm9iaikKKyAKKyAgICAgdmxjX2luaXRfYXZ1 dGlsKG9iaik7CisgCistI2lmIChMSUJBVkZPUk1BVF9WRVJTSU9OX01JQ1JPIDwgMTAwKSB8fCAo TElCQVZDT0RFQ19WRVJTSU9OX0lOVCA8IEFWX1ZFUlNJT05fSU5UKDU4LCAxMCwgMTAwKSkKKysj aWYgKExJQkFWRk9STUFUX1ZFUlNJT05fTUlDUk8gPCAxMDApIHx8ICEoTElCQVZDT0RFQ19WRVJT SU9OX0NIRUNLKDU4LCAxMCwgMTAwKSkKKyAgICAgYXZjb2RlY19yZWdpc3Rlcl9hbGwoKTsKKyAj ZW5kaWYKKyAKK2RpZmYgLS1naXQgYS9tb2R1bGVzL2NvZGVjL2F2Y29kZWMvYXZjb21tb25fY29t cGF0LmggYi9tb2R1bGVzL2NvZGVjL2F2Y29kZWMvYXZjb21tb25fY29tcGF0LmgKK2luZGV4IGI1 MDRmY2Q4MjE4Li5hYzAyYzA2ZDIzMyAxMDA2NDQKKy0tLSBhL21vZHVsZXMvY29kZWMvYXZjb2Rl Yy9hdmNvbW1vbl9jb21wYXQuaAorKysrIGIvbW9kdWxlcy9jb2RlYy9hdmNvZGVjL2F2Y29tbW9u X2NvbXBhdC5oCitAQCAtMzAsNiArMzAsMTAgQEAKKyAjaWZkZWYgSEFWRV9MSUJBVkNPREVDX0FW Q09ERUNfSAorICNpbmNsdWRlIDxsaWJhdmNvZGVjL2F2Y29kZWMuaD4KKyAKKysvKiBjaGVjayB0 aGUgRkZtcGVnIGxpYmF2dXRpbCB2ZXJzaW9uICovCisrI2RlZmluZSBMSUJBVkNPREVDX1ZFUlNJ T05fQ0hFQ0soIGEsIGQsIGUgKSBcCisrICAgIChMSUJBVkNPREVDX1ZFUlNJT05fTUlDUk8gPj0g MTAwICYmIExJQkFWQ09ERUNfVkVSU0lPTl9JTlQgPj0gQVZfVkVSU0lPTl9JTlQoIGEsIGQsIGUg KSApCisrCisgLyogTElCQVZfQ09ERUNfVkVSU0lPTl9DSEVDSyBjaGVja3MgZm9yIHRoZSByaWdo dCB2ZXJzaW9uIG9mIGxpYmF2IGFuZCBGRm1wZWcKKyAgKiBhIGlzIHRoZSBtYWpvciB2ZXJzaW9u CisgICogYiBhbmQgYyB0aGUgbWlub3IgYW5kIG1pY3JvIHZlcnNpb25zIG9mIGxpYmF2CitkaWZm IC0tZ2l0IGEvbW9kdWxlcy9jb2RlYy9hdmNvZGVjL2RpcmVjdHhfdmEuYyBiL21vZHVsZXMvY29k ZWMvYXZjb2RlYy9kaXJlY3R4X3ZhLmMKK2luZGV4IDViNzk4MGZkOTdkLi4zNmE1ZDYxYTU1OSAx MDA2NDQKKy0tLSBhL21vZHVsZXMvY29kZWMvYXZjb2RlYy9kaXJlY3R4X3ZhLmMKKysrKyBiL21v ZHVsZXMvY29kZWMvYXZjb2RlYy9kaXJlY3R4X3ZhLmMKK0BAIC0yODQsNyArMjg0LDcgQEAgc3Rh dGljIGNvbnN0IGRpcmVjdHhfdmFfbW9kZV90IERYVkFfTU9ERVNbXSA9IHsKKyAKKyAgICAgLyog VlB4ICovCisgICAgIHsgIlZQOCIsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmRFhWQV9Nb2RlVlA4X1ZMRCwg ICAgICAgICAgICAgICAgICAgICAgOCwgMCwgTlVMTCB9LAorLSNpZiBMSUJBVkNPREVDX1ZFUlNJ T05fSU5UID49IEFWX1ZFUlNJT05fSU5UKCA1NywgMTcsIDEwMCApICYmIExJQkFWQ09ERUNfVkVS U0lPTl9NSUNSTyA+PSAxMDAKKysjaWYgTElCQVZDT0RFQ19WRVJTSU9OX0NIRUNLKCA1NywgMTcs IDEwMCApCisgICAgIHsgIlZQOSBwcm9maWxlIDAiLCAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmRFhWQV9Nb2RlVlA5X1ZMRF9Q cm9maWxlMCwgICAgICAgICAgICAgOCwgQVZfQ09ERUNfSURfVlA5LCBQUk9GX1ZQOV9NQUlOIH0s CisgICAgIHsgIlZQOSBwcm9maWxlIDIiLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmRFhWQV9Nb2RlVlA5X1ZMRF8xMGJpdF9Q cm9maWxlMiwgICAgICAgMTAsIEFWX0NPREVDX0lEX1ZQOSwgUFJPRl9WUDlfMTAgfSwKKyAjZWxz ZQorQEAgLTI5NCw3ICsyOTQsNyBAQCBzdGF0aWMgY29uc3QgZGlyZWN0eF92YV9tb2RlX3QgRFhW QV9NT0RFU1tdID0geworICAgICB7ICJWUDkgcHJvZmlsZSBJbnRlbCIsICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJkRYVkFfTW9kZVZQ OV9WTERfSW50ZWwsICAgICAgICAgICAgICAgIDgsIDAsIE5VTEwgfSwKKyAKKyAgICAgLyogQVYx ICovCistI2lmIExJQkFWQ09ERUNfVkVSU0lPTl9JTlQgPj0gQVZfVkVSU0lPTl9JTlQoIDU4LCAx MTIsIDEwMyApICYmIExJQkFWQ09ERUNfVkVSU0lPTl9NSUNSTyA+PSAxMDAKKysjaWYgTElCQVZD T0RFQ19WRVJTSU9OX0NIRUNLKCA1OCwgMTEyLCAxMDMgKQorICAgICB7ICJBVjEgTWFpbiBwcm9m aWxlIDgiLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgJkRYVkFfTW9kZUFWMV9WTERfUHJvZmlsZTAsICAgICAgICAgICAgIDgsIEFWX0NP REVDX0lEX0FWMSwgUFJPRl9BVjFfTUFJTiB9LAorICAgICB7ICJBVjEgTWFpbiBwcm9maWxlIDEw IiwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgJkRYVkFfTW9kZUFWMV9WTERfUHJvZmlsZTAsICAgICAgICAgICAgIDEwLCBBVl9DT0RFQ19J RF9BVjEsIFBST0ZfQVYxX01BSU4gfSwKKyAgICAgeyAiQVYxIEhpZ2ggcHJvZmlsZSA4IiwgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZE WFZBX01vZGVBVjFfVkxEX1Byb2ZpbGUxLCAgICAgICAgICAgICA4LCBBVl9DT0RFQ19JRF9BVjEs IFBST0ZfQVYxX0hJR0ggfSwKK2RpZmYgLS1naXQgYS9tb2R1bGVzL2NvZGVjL2F2Y29kZWMvZW5j b2Rlci5jIGIvbW9kdWxlcy9jb2RlYy9hdmNvZGVjL2VuY29kZXIuYworaW5kZXggOWNmOWE3ZDA2 MDcuLjIwMTRiOGFmYWY1IDEwMDY0NAorLS0tIGEvbW9kdWxlcy9jb2RlYy9hdmNvZGVjL2VuY29k ZXIuYworKysrIGIvbW9kdWxlcy9jb2RlYy9hdmNvZGVjL2VuY29kZXIuYworQEAgLTYxLDggKzYx LDcgQEAKKyAKKyAjZGVmaW5lIFJBV19BVURJT19GUkFNRV9TSVpFICgyMDQ4KQorIAorLSNpZiBM SUJBVkNPREVDX1ZFUlNJT05fTUlDUk8gPj0gMTAwICYmIFwKKy0gICAgTElCQVZDT0RFQ19WRVJT SU9OX0lOVCA+PSBBVl9WRVJTSU9OX0lOVCg1OSwgMCwgMTAwKQorKyNpZiBMSUJBVkNPREVDX1ZF UlNJT05fQ0hFQ0soNTksIDAsIDEwMCkKKyAjIGRlZmluZSBBVkNfTUFZQkVfQ09OU1QgY29uc3QK KyAjZWxzZQorICMgZGVmaW5lIEFWQ19NQVlCRV9DT05TVAorQEAgLTE4Myw3ICsxODIsNyBAQCBz dGF0aWMgY29uc3QgdWludDY0X3QgcGlfY2hhbm5lbHNfbWFwW11bMl0gPQorICAgICB7IEFWX0NI X1NURVJFT19SSUdIVCwgICAgICAwIH0sCisgfTsKKyAKKy0jIGlmICFMSUJBVl9DT0RFQ19WRVJT SU9OX0NIRUNLKDU5LCA5OTksIDk5OSwgMjQsIDEwMCkKKysjIGlmICFMSUJBVkNPREVDX1ZFUlNJ T05fQ0hFQ0soNTksIDI0LCAxMDApCisgc3RhdGljIGNvbnN0IHVpbnQzMl90IGNoYW5uZWxfbWFz a1tdWzJdID0geworICAgICB7MCwwfSwKKyAgICAge0FPVVRfQ0hBTl9DRU5URVIsIEFWX0NIX0xB WU9VVF9NT05PfSwKK0BAIC03NjUsNyArNzY0LDcgQEAgaW50IEluaXRWaWRlb0VuYyggdmxjX29i amVjdF90ICpwX3RoaXMgKQorICAgICAgICAgdWludDMyX3Qgb3JkZXJfbWFzayA9IDA7CisgICAg ICAgICBpbnQgaV9jaGFubmVsc19zcmMgPSAwOworICAgICAgICAgbXNnX0RiZyggcF9lbmMsICJD cmVhdGluZyBjaGFubmVsIG9yZGVyIGZvciByZW9yZGVyaW5nIik7CistIyBpZiBMSUJBVl9DT0RF Q19WRVJTSU9OX0NIRUNLKDU5LCA5OTksIDk5OSwgMjQsIDEwMCkKKysjIGlmIExJQkFWQ09ERUNf VkVSU0lPTl9DSEVDSyg1OSwgMjQsIDEwMCkKKyAgICAgICAgIGF2X2NoYW5uZWxfbGF5b3V0X2Rl ZmF1bHQoICZwX2NvbnRleHQtPmNoX2xheW91dCwgcF9lbmMtPmZtdF9vdXQuYXVkaW8uaV9jaGFu bmVscyApOworICAgICAgICAgdWludDY0X3QgY2hhbm5lbF9tYXNrID0gcF9jb250ZXh0LT5jaF9s YXlvdXQudS5tYXNrOworICMgZWxzZQorQEAgLTkxOCw3ICs5MTcsNyBAQCBlcnJtc2c6CisgCisg ICAgICAgICBpZiggcF9lbmMtPmZtdF9vdXQuYXVkaW8uaV9jaGFubmVscyA+IDIgKQorICAgICAg ICAgeworLSNpZiBMSUJBVl9DT0RFQ19WRVJTSU9OX0NIRUNLKDU5LCA5OTksIDk5OSwgMjQsIDEw MCkKKysjaWYgTElCQVZDT0RFQ19WRVJTSU9OX0NIRUNLKDU5LCAyNCwgMTAwKQorICAgICAgICAg ICAgIGF2X2NoYW5uZWxfbGF5b3V0X2RlZmF1bHQoICZwX2NvbnRleHQtPmNoX2xheW91dCwgMiAp OworICNlbHNlCisgICAgICAgICAgICAgcF9jb250ZXh0LT5jaGFubmVscyA9IDI7CitAQCAtMTI4 Miw3ICsxMjgxLDcgQEAgc3RhdGljIGJsb2NrX3QgKmhhbmRsZV9kZWxheV9idWZmZXIoIGVuY29k ZXJfdCAqcF9lbmMsIGVuY29kZXJfc3lzX3QgKnBfc3lzLCB1bnMKKyAgICAgYXZfZnJhbWVfdW5y ZWYoIHBfc3lzLT5mcmFtZSApOworICAgICBwX3N5cy0+ZnJhbWUtPmZvcm1hdCAgICAgPSBwX3N5 cy0+cF9jb250ZXh0LT5zYW1wbGVfZm10OworICAgICBwX3N5cy0+ZnJhbWUtPm5iX3NhbXBsZXMg PSBsZWZ0b3Zlcl9zYW1wbGVzICsgcF9zeXMtPmlfc2FtcGxlc19kZWxheTsKKy0jaWYgTElCQVZf Q09ERUNfVkVSU0lPTl9DSEVDSyg1OSwgOTk5LCA5OTksIDI0LCAxMDApCisrI2lmIExJQkFWQ09E RUNfVkVSU0lPTl9DSEVDSyg1OSwgMjQsIDEwMCkKKyAgICAgYXZfY2hhbm5lbF9sYXlvdXRfY29w eSgmcF9zeXMtPmZyYW1lLT5jaF9sYXlvdXQsICZwX3N5cy0+cF9jb250ZXh0LT5jaF9sYXlvdXQp OworICNlbHNlCisgICAgIHBfc3lzLT5mcmFtZS0+Y2hhbm5lbF9sYXlvdXQgPSBwX3N5cy0+cF9j b250ZXh0LT5jaGFubmVsX2xheW91dDsKK0BAIC0xNDE3LDcgKzE0MTYsNyBAQCBzdGF0aWMgYmxv Y2tfdCAqRW5jb2RlQXVkaW8oIGVuY29kZXJfdCAqcF9lbmMsIGJsb2NrX3QgKnBfYW91dF9idWYg KQorICAgICAgICAgcF9zeXMtPmZyYW1lLT5wdHMgICAgICAgID0gZGF0ZV9HZXQoICZwX3N5cy0+ YnVmZmVyX2RhdGUgKSAqIHBfc3lzLT5wX2NvbnRleHQtPnRpbWVfYmFzZS5kZW4gLworICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENMT0NLX0ZSRVEgLyBwX3N5cy0+cF9jb250 ZXh0LT50aW1lX2Jhc2UubnVtOworIAorLSNpZiBMSUJBVl9DT0RFQ19WRVJTSU9OX0NIRUNLKDU5 LCA5OTksIDk5OSwgMjQsIDEwMCkKKysjaWYgTElCQVZDT0RFQ19WRVJTSU9OX0NIRUNLKDU5LCAy NCwgMTAwKQorICAgICAgICAgYXZfY2hhbm5lbF9sYXlvdXRfY29weSgmcF9zeXMtPmZyYW1lLT5j aF9sYXlvdXQsICZwX3N5cy0+cF9jb250ZXh0LT5jaF9sYXlvdXQpOworICNlbHNlCisgICAgICAg ICBwX3N5cy0+ZnJhbWUtPmNoYW5uZWxfbGF5b3V0ID0gcF9zeXMtPnBfY29udGV4dC0+Y2hhbm5l bF9sYXlvdXQ7CitkaWZmIC0tZ2l0IGEvbW9kdWxlcy9jb2RlYy9hdmNvZGVjL2ZvdXJjYy5jIGIv bW9kdWxlcy9jb2RlYy9hdmNvZGVjL2ZvdXJjYy5jCitpbmRleCAzYWVhNmI1OGZmMC4uZDc1YzIx ZmZhNDkgMTAwNjQ0CistLS0gYS9tb2R1bGVzL2NvZGVjL2F2Y29kZWMvZm91cmNjLmMKKysrKyBi L21vZHVsZXMvY29kZWMvYXZjb2RlYy9mb3VyY2MuYworQEAgLTE4MiwxMiArMTgyLDEwIEBAIHN0 YXRpYyBjb25zdCBzdHJ1Y3QgdmxjX2F2Y29kZWNfZm91cmNjIHZpZGVvX2NvZGVjc1tdID0KKyAg ICAgLyogQVZfQ09ERUNfSURfVjIxMFggKi8KKyAgICAgeyBWTENfQ09ERUNfVE1WLCBBVl9DT0RF Q19JRF9UTVYgfSwKKyAgICAgeyBWTENfQ09ERUNfVjIxMCwgQVZfQ09ERUNfSURfVjIxMCB9LAor LSNpZiBMSUJBVkNPREVDX1ZFUlNJT05fTUlDUk8gPj0gMTAwCistIyBpZiBMSUJBVkNPREVDX1ZF UlNJT05fSU5UID49IEFWX1ZFUlNJT05fSU5UKCA1OSwgNDIsIDEwMiApCisrI2lmIExJQkFWQ09E RUNfVkVSU0lPTl9DSEVDSyggNTksIDQyLCAxMDIgKQorICAgICB7IFZMQ19DT0RFQ19WVVlBLCBB Vl9DT0RFQ19JRF9SQVdWSURFTyB9LAorLSMgZWxpZiBMSUJBVkNPREVDX1ZFUlNJT05fSU5UID49 IEFWX1ZFUlNJT05fSU5UKCA1NCwgNTAsIDEwMCApCisrI2VsaWYgTElCQVZDT0RFQ19WRVJTSU9O X0NIRUNLKCA1NCwgNTAsIDEwMCApCisgICAgIHsgVkxDX0NPREVDX1ZVWUEsIEFWX0NPREVDX0lE X0FZVVYgfSwKKy0jIGVuZGlmCisgI2VuZGlmCisgICAgIC8qIEFWX0NPREVDX0lEX0RQWCAqLwor ICAgICB7IFZMQ19DT0RFQ19NQUQsIEFWX0NPREVDX0lEX01BRCB9LAorQEAgLTI4NSwxOSArMjgz LDE5IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgdmxjX2F2Y29kZWNfZm91cmNjIHZpZGVvX2NvZGVj c1tdID0KKyAgICAgLyogZmZtcGVnIG9ubHk6IEFWX0NPREVDX0lEX1NOT1cgKi8KKyAgICAgLyog ZmZtcGVnIG9ubHk6IEFWX0NPREVDX0lEX1NNVkpQRUcgKi8KKyAKKy0jaWYgTElCQVZfQ09ERUNf VkVSU0lPTl9DSEVDSyggNTcsIDk5OSwgOTk5LCAyNCwgMTAyICkKKysjaWYgTElCQVZDT0RFQ19W RVJTSU9OX0NIRUNLKCA1NywgMjQsIDEwMiApCisgICAgIHsgVkxDX0NPREVDX0NJTkVGT1JNLCBB Vl9DT0RFQ19JRF9DRkhEIH0sCisgI2VuZGlmCisgCistI2lmIExJQkFWX0NPREVDX1ZFUlNJT05f Q0hFQ0soIDU3LCA5OTksIDk5OSwgNzAsIDEwMCApCisrI2lmIExJQkFWQ09ERUNfVkVSU0lPTl9D SEVDSyggNTcsIDcwLCAxMDAgKQorICAgICB7IFZMQ19DT0RFQ19QSVhMRVQsIEFWX0NPREVDX0lE X1BJWExFVCB9LAorICNlbmRpZgorIAorLSNpZiBMSUJBVl9DT0RFQ19WRVJTSU9OX0NIRUNLKCA1 NywgOTk5LCA5OTksIDcxLCAxMDEgKQorKyNpZiBMSUJBVkNPREVDX1ZFUlNJT05fQ0hFQ0soIDU3 LCA3MSwgMTAxICkKKyAgICAgeyBWTENfQ09ERUNfU1BFRURIUSwgQVZfQ09ERUNfSURfU1BFRURI USB9LAorICNlbmRpZgorIAorLSNpZiBMSUJBVl9DT0RFQ19WRVJTSU9OX0NIRUNLKCA1NywgOTk5 LCA5OTksIDc5LCAxMDAgKQorKyNpZiBMSUJBVkNPREVDX1ZFUlNJT05fQ0hFQ0soIDU3LCA3OSwg MTAwICkKKyAgICAgeyBWTENfQ09ERUNfRk1WQywgQVZfQ09ERUNfSURfRk1WQyB9LAorICNlbmRp ZgorIH07CitAQCAtNDE0LDcgKzQxMiw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgdmxjX2F2Y29k ZWNfZm91cmNjIGF1ZGlvX2NvZGVjc1tdID0KKyAgICAgLyogQVZfQ09ERUNfSURfV0VTVFdPT0Rf U05EMSAqLworICAgICB7IFZMQ19DT0RFQ19HU00sIEFWX0NPREVDX0lEX0dTTSB9LAorICAgICB7 IFZMQ19DT0RFQ19RRE0yLCBBVl9DT0RFQ19JRF9RRE0yIH0sCistI2lmIExJQkFWX0NPREVDX1ZF UlNJT05fQ0hFQ0soIDU3LCA5OTksIDk5OSwgNzEsIDEwMCApCisrI2lmIExJQkFWQ09ERUNfVkVS U0lPTl9DSEVDSyggNTcsIDcxLCAxMDAgKQorICAgICB7IFZMQ19DT0RFQ19RRE1DLCBBVl9DT0RF Q19JRF9RRE1DIH0sCisgI2VuZGlmCisgICAgIHsgVkxDX0NPREVDX0NPT0ssIEFWX0NPREVDX0lE X0NPT0sgfSwKK0BAIC00ODIsNyArNDgwLDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCB2bGNfYXZj b2RlY19mb3VyY2Mgc3B1X2NvZGVjc1tdID0KKyAgICAgeyBWTENfQ09ERUNfU1NBLCBBVl9DT0RF Q19JRF9TU0EgfSwKKyAgICAgLyogQVZfQ09ERUNfSURfTU9WX1RFWFQgKi8KKyAgICAgeyBWTENf Q09ERUNfQkRfUEcsIEFWX0NPREVDX0lEX0hETVZfUEdTX1NVQlRJVExFIH0sCistI2lmIExJQkFW X0NPREVDX1ZFUlNJT05fQ0hFQ0soIDU3LCA5OTksIDk5OSwgNzEsIDEwMCApCisrI2lmIExJQkFW Q09ERUNfVkVSU0lPTl9DSEVDSyggNTcsIDcxLCAxMDAgKQorICAgICB7IFZMQ19DT0RFQ19CRF9U RVhULCBBVl9DT0RFQ19JRF9IRE1WX1RFWFRfU1VCVElUTEUgfSwKKyAjZW5kaWYKKyAgICAgeyBW TENfQ09ERUNfVEVMRVRFWFQsIEFWX0NPREVDX0lEX0RWQl9URUxFVEVYVCB9LAorZGlmZiAtLWdp dCBhL21vZHVsZXMvY29kZWMvYXZjb2RlYy92aWRlby5jIGIvbW9kdWxlcy9jb2RlYy9hdmNvZGVj L3ZpZGVvLmMKK2luZGV4IDU1MmM2MDJlZGY2Li5jMzA2ZTkxNmM3ZCAxMDA2NDQKKy0tLSBhL21v ZHVsZXMvY29kZWMvYXZjb2RlYy92aWRlby5jCisrKysgYi9tb2R1bGVzL2NvZGVjL2F2Y29kZWMv dmlkZW8uYworQEAgLTE4MjQsOCArMTgyNCw3IEBAIG5vX3JldXNlOgorICAgICBpZiAoIWNhbl9o d2FjY2VsKQorICAgICAgICAgcmV0dXJuIHN3Zm10OworIAorLSNpZiAoTElCQVZDT0RFQ19WRVJT SU9OX01JQ1JPID49IDEwMCkgXAorLSAgJiYgKExJQkFWQ09ERUNfVkVSU0lPTl9JTlQgPCBBVl9W RVJTSU9OX0lOVCg1NywgODMsIDEwMSkpCisrI2lmIChMSUJBVkNPREVDX1ZFUlNJT05fTUlDUk8g Pj0gMTAwKSAmJiAhKExJQkFWQ09ERUNfVkVSU0lPTl9DSEVDSyg1NywgODMsIDEwMSkpCisgICAg IGlmIChwX2NvbnRleHQtPmFjdGl2ZV90aHJlYWRfdHlwZSkKKyAgICAgeworICAgICAgICAgbXNn X1dhcm4ocF9kZWMsICJ0aHJlYWQgdHlwZSAlZDogZGlzYWJsaW5nIGhhcmR3YXJlIGFjY2VsZXJh dGlvbiIsCitkaWZmIC0tZ2l0IGEvbW9kdWxlcy9kZW11eC9hdmZvcm1hdC9kZW11eC5jIGIvbW9k dWxlcy9kZW11eC9hdmZvcm1hdC9kZW11eC5jCitpbmRleCAzOWQyMzY2Y2VmMi4uOTk3NWIwZjQ3 YjYgMTAwNjQ0CistLS0gYS9tb2R1bGVzL2RlbXV4L2F2Zm9ybWF0L2RlbXV4LmMKKysrKyBiL21v ZHVsZXMvZGVtdXgvYXZmb3JtYXQvZGVtdXguYworQEAgLTQwMCw3ICs0MDAsNyBAQCBpbnQgYXZm b3JtYXRfT3BlbkRlbXV4KCB2bGNfb2JqZWN0X3QgKnBfdGhpcyApCisgICAgICAgICAgICAgZXNf Zm9ybWF0X0luaXQoICZlc19mbXQsIEFVRElPX0VTLCBmY2MgKTsKKyAgICAgICAgICAgICBlc19m bXQuaV9vcmlnaW5hbF9mb3VyY2MgPSBDb2RlY1RhZ1RvRm91cmNjKCBjcC0+Y29kZWNfdGFnICk7 CisgICAgICAgICAgICAgZXNfZm10LmlfYml0cmF0ZSA9IGNwLT5iaXRfcmF0ZTsKKy0jaWYgTElC QVZDT0RFQ19WRVJTSU9OX0lOVCA+PSBBVl9WRVJTSU9OX0lOVCggNTksIDI0LCAxMDAgKSAmJiBM SUJBVkNPREVDX1ZFUlNJT05fTUlDUk8gPj0gMTAwCisrI2lmIExJQkFWQ09ERUNfVkVSU0lPTl9D SEVDSyggNTksIDI0LCAxMDAgKQorICAgICAgICAgICAgIGVzX2ZtdC5hdWRpby5pX2NoYW5uZWxz ID0gY3AtPmNoX2xheW91dC5uYl9jaGFubmVsczsKKyAjZWxzZQorICAgICAgICAgICAgIGVzX2Zt dC5hdWRpby5pX2NoYW5uZWxzID0gY3AtPmNoYW5uZWxzOworZGlmZiAtLWdpdCBhL21vZHVsZXMv ZGVtdXgvYXZmb3JtYXQvbXV4LmMgYi9tb2R1bGVzL2RlbXV4L2F2Zm9ybWF0L211eC5jCitpbmRl eCA2NjRhNjQ2NzM0Yy4uYTQ4MTkwYzkzY2EgMTAwNjQ0CistLS0gYS9tb2R1bGVzL2RlbXV4L2F2 Zm9ybWF0L211eC5jCisrKysgYi9tb2R1bGVzL2RlbXV4L2F2Zm9ybWF0L211eC5jCitAQCAtMjcz LDcgKzI3Myw3IEBAIHN0YXRpYyBpbnQgQWRkU3RyZWFtKCBzb3V0X211eF90ICpwX211eCwgc291 dF9pbnB1dF90ICpwX2lucHV0ICkKKyAgICAgeworICAgICBjYXNlIEFVRElPX0VTOgorICAgICAg ICAgY29kZWNwYXItPmNvZGVjX3R5cGUgPSBBVk1FRElBX1RZUEVfQVVESU87CistI2lmIExJQkFW Q09ERUNfVkVSU0lPTl9JTlQgPj0gQVZfVkVSU0lPTl9JTlQoIDU5LCAyNCwgMTAwICkgJiYgTElC QVZDT0RFQ19WRVJTSU9OX01JQ1JPID49IDEwMAorKyNpZiBMSUJBVkNPREVDX1ZFUlNJT05fQ0hF Q0soIDU5LCAyNCwgMTAwICkKKyAgICAgICAgIGF2X2NoYW5uZWxfbGF5b3V0X2RlZmF1bHQoICZj b2RlY3Bhci0+Y2hfbGF5b3V0LCBmbXQtPmF1ZGlvLmlfY2hhbm5lbHMgKTsKKyAjZWxzZQorICAg ICAgICAgY29kZWNwYXItPmNoYW5uZWxzID0gZm10LT5hdWRpby5pX2NoYW5uZWxzOworLS0gCitH aXRMYWIKKworCitGcm9tIDUzNDU2NGIyODlkYjdlZTk2NmFiZjg4ODIwNzI1OGMzZTY4MjhjOTgg TW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBaaGFvIFpoaWxpIDxxdWlua2JsYWNrQGZv eG1haWwuY29tPgorRGF0ZTogRnJpLCAxMSBKdW4gMjAyMSAxODowMjozNCArMDgwMAorU3ViamVj dDogW1BBVENIIDA3LzE1XSBjb2RlYzogYXZjb2RlYzogY2hlY2sgb3BlbiBjb2RlYyByZXR1cm4g dmFsdWUKKworKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgMjFhYjZiZTIyZTdjMTgzMWNlYmYw MjNmZDUzYmQ3ZmZiZmFkMjJmNikgKGVkaXRlZCkKK2VkaXRlZDoKKy0gb24gMy4wIERlY29kZUJs b2NrIHJldHVybnMgYSBwaWN0dXJlX3QsIG5vdCBhbiBlcnJvciBjb2RlCistLS0KKyBtb2R1bGVz L2NvZGVjL2F2Y29kZWMvYXVkaW8uYyB8ICA3ICsrKysrKy0KKyBtb2R1bGVzL2NvZGVjL2F2Y29k ZWMvdmlkZW8uYyB8IDExICsrKysrKystLS0tCisgMiBmaWxlcyBjaGFuZ2VkLCAxMyBpbnNlcnRp b25zKCspLCA1IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvbW9kdWxlcy9jb2RlYy9hdmNv ZGVjL2F1ZGlvLmMgYi9tb2R1bGVzL2NvZGVjL2F2Y29kZWMvYXVkaW8uYworaW5kZXggYTNmNjdm N2JkOTMuLmU4NDM2NzU0ZjRhIDEwMDY0NAorLS0tIGEvbW9kdWxlcy9jb2RlYy9hdmNvZGVjL2F1 ZGlvLmMKKysrKyBiL21vZHVsZXMvY29kZWMvYXZjb2RlYy9hdWRpby5jCitAQCAtMzA5LDcgKzMw OSwxMiBAQCBzdGF0aWMgaW50IERlY29kZUJsb2NrKCBkZWNvZGVyX3QgKnBfZGVjLCBibG9ja190 ICoqcHBfYmxvY2sgKQorICAgICAgJiYgIWF2Y29kZWNfaXNfb3BlbiggY3R4ICkgKQorICAgICB7 CisgICAgICAgICBJbml0RGVjb2RlckNvbmZpZyggcF9kZWMsIGN0eCApOworLSAgICAgICAgT3Bl bkF1ZGlvQ29kZWMoIHBfZGVjICk7CisrICAgICAgICBpZiggT3BlbkF1ZGlvQ29kZWMoIHBfZGVj ICkgPCAwICkKKysgICAgICAgIHsKKysgICAgICAgICAgICBpZiggcHBfYmxvY2sgIT0gTlVMTCAm JiAqcHBfYmxvY2sgIT0gTlVMTCApCisrICAgICAgICAgICAgICAgIGJsb2NrX1JlbGVhc2UoICpw cF9ibG9jayApOworKyAgICAgICAgICAgIHJldHVybiBWTENERUNfRUNSSVRJQ0FMOworKyAgICAg ICAgfQorICAgICB9CisgCisgICAgIGlmKCAhYXZjb2RlY19pc19vcGVuKCBjdHggKSApCitkaWZm IC0tZ2l0IGEvbW9kdWxlcy9jb2RlYy9hdmNvZGVjL3ZpZGVvLmMgYi9tb2R1bGVzL2NvZGVjL2F2 Y29kZWMvdmlkZW8uYworaW5kZXggYzMwNmU5MTZjN2QuLjA5NmEwYjc5NDBlIDEwMDY0NAorLS0t IGEvbW9kdWxlcy9jb2RlYy9hdmNvZGVjL3ZpZGVvLmMKKysrKyBiL21vZHVsZXMvY29kZWMvYXZj b2RlYy92aWRlby5jCitAQCAtMTExNCwxNyArMTExNCwyMCBAQCBzdGF0aWMgcGljdHVyZV90ICpE ZWNvZGVCbG9jayggZGVjb2Rlcl90ICpwX2RlYywgYmxvY2tfdCAqKnBwX2Jsb2NrLCBib29sICpl cnJvcgorICAgICBib29sIGVvc19zcG90dGVkID0gZmFsc2U7CisgCisgCistICAgIGJsb2NrX3Qg KnBfYmxvY2s7CisrICAgIGJsb2NrX3QgKnBfYmxvY2sgPSBwcF9ibG9jayA/ICpwcF9ibG9jayA6 IE5VTEw7CisgICAgIHZsY190aWNrX3QgY3VycmVudF90aW1lOworIAorICAgICBpZiggIXBfY29u dGV4dC0+ZXh0cmFkYXRhX3NpemUgJiYgcF9kZWMtPmZtdF9pbi5pX2V4dHJhICkKKyAgICAgewor ICAgICAgICAgZmZtcGVnX0luaXRDb2RlYyggcF9kZWMgKTsKKy0gICAgICAgIGlmKCAhYXZjb2Rl Y19pc19vcGVuKCBwX2NvbnRleHQgKSApCistICAgICAgICAgICAgT3BlblZpZGVvQ29kZWMoIHBf ZGVjICk7CisrICAgICAgICBpZiggIWF2Y29kZWNfaXNfb3BlbiggcF9jb250ZXh0ICkgJiYgT3Bl blZpZGVvQ29kZWMocF9kZWMpIDwgMCApCisrICAgICAgICB7CisrICAgICAgICAgICAgaWYoIHBf YmxvY2sgIT0gTlVMTCApCisrICAgICAgICAgICAgICAgIGJsb2NrX1JlbGVhc2UoIHBfYmxvY2sg KTsKKysgICAgICAgICAgICByZXR1cm4gTlVMTDsKKysgICAgICAgIH0KKyAgICAgfQorIAorLSAg ICBwX2Jsb2NrID0gcHBfYmxvY2sgPyAqcHBfYmxvY2sgOiBOVUxMOworICAgICBpZighcF9ibG9j ayAmJiAhKHBfc3lzLT5wX2NvZGVjLT5jYXBhYmlsaXRpZXMgJiBBVl9DT0RFQ19DQVBfREVMQVkp ICkKKyAgICAgICAgIHJldHVybiBOVUxMOworIAorLS0gCitHaXRMYWIKKworCitGcm9tIGIyYjU0 ZWIxZWZhM2VjYzcyYTRhNjRkMGQ5NjJjYWIwNjc2ZmJjZTEgTW9uIFNlcCAxNyAwMDowMDowMCAy MDAxCitGcm9tOiBTdGV2ZSBMaG9tbWUgPHJvYnV4NEB5Y2Jjci54eXo+CitEYXRlOiBGcmksIDYg SmFuIDIwMjMgMTA6MTY6MDkgKzAxMDAKK1N1YmplY3Q6IFtQQVRDSCAwOC8xNV0gYXZjb2RlYzog dXNlIEFSUkFZX1NJWkUgaW5zdGVhZCBvZiBjdXN0b20gY29kZQorCisoY2hlcnJ5IHBpY2tlZCBm cm9tIGNvbW1pdCAyOGM4MGVlNDdlNmNkZjk2MWY1MDFlZWQ5ZDQ4Mzc5NTZiMzhhZmQxKQorLS0t CisgbW9kdWxlcy9jb2RlYy9hdmNvZGVjL2F1ZGlvLmMgfCAyICstCisgMSBmaWxlIGNoYW5nZWQs IDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9tb2R1bGVzL2Nv ZGVjL2F2Y29kZWMvYXVkaW8uYyBiL21vZHVsZXMvY29kZWMvYXZjb2RlYy9hdWRpby5jCitpbmRl eCBlODQzNjc1NGY0YS4uMjA3NDQwMTA0MzMgMTAwNjQ0CistLS0gYS9tb2R1bGVzL2NvZGVjL2F2 Y29kZWMvYXVkaW8uYworKysrIGIvbW9kdWxlcy9jb2RlYy9hdmNvZGVjL2F1ZGlvLmMKK0BAIC01 NTgsNyArNTU4LDcgQEAgdmxjX2ZvdXJjY190IEdldFZsY0F1ZGlvRm9ybWF0KCBpbnQgZm10ICkK KyAgICAgICAgIFtBVl9TQU1QTEVfRk1UX0ZMVFBdICA9IFZMQ19DT0RFQ19GTDMyLAorICAgICAg ICAgW0FWX1NBTVBMRV9GTVRfREJMUF0gID0gVkxDX0NPREVDX0ZMNjQsCisgICAgIH07CistICAg IGlmKCAoc2l6ZW9mKGZjYykgLyBzaXplb2YoZmNjWzBdKSkgPiAodW5zaWduZWQpZm10ICkKKysg ICAgaWYoIEFSUkFZX1NJWkUoZmNjKSA+ICh1bnNpZ25lZClmbXQgKQorICAgICAgICAgcmV0dXJu IGZjY1tmbXRdOworICAgICByZXR1cm4gVkxDX0NPREVDX1MxNk47CisgfQorLS0gCitHaXRMYWIK KworCitGcm9tIDc2M2RjM2ViYTUyY2I3NjMzYTg0ZjQ0ZGNkZTE5NjAyZmNhNWVhYzcgTW9uIFNl cCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBJbGtrYSBPbGxha2thIDxpbGVvb0B2aWRlb2xhbi5v cmc+CitEYXRlOiBXZWQsIDUgSnVsIDIwMjMgMTU6MDk6NTcgKzAzMDAKK1N1YmplY3Q6IFtQQVRD SCAwOS8xNV0gYXZjb2RlYy9hdWRpbzogbWFrZSBjaGFubmVsIG1hcHBpbmcgYXJyYXkgMCB0ZXJt aW5hdGVkCisKK0Fsc28gY2hhbmdlIHBpX2NoYW5uZWxzX3NyYyB0byBiZSBvbmx5IEFPVVRfQ0hB Tl9NQVggaW5zdGVhZCBvZiBzYW1lCitzaXplIGFzIG1hcHBpbmcgYXJyYXkuCisKKyhjaGVycnkg cGlja2VkIGZyb20gY29tbWl0IDBmZjg2YmY4YTI4YTA4MDM0MGY2MDBjYjg1NjE4MTVmYzQzZTNi NGEpIChyZWJhc2VkKQorcmViYXNlZDoKKy0gdGhlIGNvZGUgYXJvdW5kIGlzIHNsaWdodGx5IGRp ZmZlcmVudAorLS0tCisgbW9kdWxlcy9jb2RlYy9hdmNvZGVjL2F1ZGlvLmMgfCA2ICsrKy0tLQor IDEgZmlsZSBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCisKK2RpZmYg LS1naXQgYS9tb2R1bGVzL2NvZGVjL2F2Y29kZWMvYXVkaW8uYyBiL21vZHVsZXMvY29kZWMvYXZj b2RlYy9hdWRpby5jCitpbmRleCAyMDc0NDAxMDQzMy4uMDRjNTQwMTczYmYgMTAwNjQ0CistLS0g YS9tb2R1bGVzL2NvZGVjL2F2Y29kZWMvYXVkaW8uYworKysrIGIvbW9kdWxlcy9jb2RlYy9hdmNv ZGVjL2F1ZGlvLmMKK0BAIC01ODUsNiArNTg1LDcgQEAgc3RhdGljIGNvbnN0IHVpbnQ2NF90IHBp X2NoYW5uZWxzX21hcFtdWzJdID0KKyAgICAgeyBBVl9DSF9UT1BfQkFDS19SSUdIVCwgICAgMCB9 LAorICAgICB7IEFWX0NIX1NURVJFT19MRUZULCAgICAgICAwIH0sCisgICAgIHsgQVZfQ0hfU1RF UkVPX1JJR0hULCAgICAgIDAgfSwKKysgICAgeyAwLCAwIH0sCisgfTsKKyAKKyBzdGF0aWMgdm9p ZCBTZXR1cE91dHB1dEZvcm1hdCggZGVjb2Rlcl90ICpwX2RlYywgYm9vbCBiX3RydXN0ICkKK0BA IC02MTcsOCArNjE4LDcgQEAgc3RhdGljIHZvaWQgU2V0dXBPdXRwdXRGb3JtYXQoIGRlY29kZXJf dCAqcF9kZWMsIGJvb2wgYl90cnVzdCApCisgICAgIH0KKyAjZW5kaWYKKyAKKy0gICAgY29uc3Qg dW5zaWduZWQgaV9vcmRlcl9tYXggPSBzaXplb2YocGlfY2hhbm5lbHNfbWFwKS9zaXplb2YoKnBp X2NoYW5uZWxzX21hcCk7CistICAgIHVpbnQzMl90IHBpX29yZGVyX3NyY1tpX29yZGVyX21heF07 CisrICAgIHVpbnQzMl90IHBpX29yZGVyX3NyY1tBT1VUX0NIQU5fTUFYXSA9IHsgMCB9OworIAor ICAgICBpbnQgaV9jaGFubmVsc19zcmMgPSAwLCBjaGFubmVsX2NvdW50OworICAgICB1aW50NjRf dCBjaGFubmVsX2xheW91dF9tYXNrOworQEAgLTYzNyw3ICs2MzcsNyBAQCBzdGF0aWMgdm9pZCBT ZXR1cE91dHB1dEZvcm1hdCggZGVjb2Rlcl90ICpwX2RlYywgYm9vbCBiX3RydXN0ICkKKyAKKyAg ICAgaWYoIGNoYW5uZWxfbGF5b3V0X21hc2sgKQorICAgICB7CistICAgICAgICBmb3IoIHVuc2ln bmVkIGkgPSAwOyBpIDwgaV9vcmRlcl9tYXgKKysgICAgICAgIGZvciggdW5zaWduZWQgaSA9IDA7 IHBpX2NoYW5uZWxzX21hcFtpXVswXQorICAgICAgICAgICYmIGlfY2hhbm5lbHNfc3JjIDwgY2hh bm5lbF9jb3VudDsgaSsrICkKKyAgICAgICAgIHsKKyAgICAgICAgICAgICBpZiggY2hhbm5lbF9s YXlvdXRfbWFzayAmIHBpX2NoYW5uZWxzX21hcFtpXVswXSApCistLSAKK0dpdExhYgorCisKK0Zy b20gZDFmYjVjNmNiMzcyZDIyMzMwNDYwNjRkYjE3NGRhZjE5ODdjMTIxMSBNb24gU2VwIDE3IDAw OjAwOjAwIDIwMDEKK0Zyb206ID0/VVRGLTg/cT9GcmFuPUMzPUE3b2lzPTIwQ2FydGVnbmllPz0g PGZjdmxjZGV2QGZyZWUuZnI+CitEYXRlOiBNb24sIDEwIEp1biAyMDI0IDExOjEwOjM3ICswNzAw CitTdWJqZWN0OiBbUEFUQ0ggMTAvMTVdIGNvZGVjOiBhdmNvZGVjOiBmaXggY2hfbGF5b3V0IHJl cXVpcmVtZW50CisKK3JlZnMgIzI4NjY3CisKKyhjaGVycnkgcGlja2VkIGZyb20gY29tbWl0IDQx Nzc4NTM1ZGNhZThiMTQ1ZWJmYWEwMzkyZGUyODFlNDcwYTkxYmYpIChlZGl0ZWQpCitlZGl0ZWQ6 CistIG9uIDMuMCB0aGUgYXVkaW8gY2hlY2sgd2FzIHN0aWxsIHVzaW5nIGEgTElCQVZDT0RFQ19W RVJTSU9OX0NIRUNLIGNoZWNrCistIHRoZSBtdXgvZGVtdXggY2hlY2tzIHdlcmUgYWxyZWFkeSB0 aGVyZSB3aXRoIGRpZmZlcmVudCBzcGFjZXMKKy0tLQorIG1vZHVsZXMvY29kZWMvYXZjb2RlYy9h dWRpby5jICB8IDIgKy0KKyBtb2R1bGVzL2RlbXV4L2F2Zm9ybWF0L2RlbXV4LmMgfCAyICstCisg bW9kdWxlcy9kZW11eC9hdmZvcm1hdC9tdXguYyAgIHwgMiArLQorIDMgZmlsZXMgY2hhbmdlZCwg MyBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvbW9kdWxlcy9j b2RlYy9hdmNvZGVjL2F1ZGlvLmMgYi9tb2R1bGVzL2NvZGVjL2F2Y29kZWMvYXVkaW8uYworaW5k ZXggMDRjNTQwMTczYmYuLjk3OTI1NmM0MDBhIDEwMDY0NAorLS0tIGEvbW9kdWxlcy9jb2RlYy9h dmNvZGVjL2F1ZGlvLmMKKysrKyBiL21vZHVsZXMvY29kZWMvYXZjb2RlYy9hdWRpby5jCitAQCAt MTQyLDcgKzE0Miw3IEBAIHN0YXRpYyBpbnQgT3BlbkF1ZGlvQ29kZWMoIGRlY29kZXJfdCAqcF9k ZWMgKQorICAgICB9CisgCisgICAgIGN0eC0+c2FtcGxlX3JhdGUgPSBwX2RlYy0+Zm10X2luLmF1 ZGlvLmlfcmF0ZTsKKy0jaWYgTElCQVZDT0RFQ19WRVJTSU9OX0NIRUNLKDU5LCAyNCwgMTAwKQor KyNpZiBMSUJBVlVUSUxfVkVSU0lPTl9DSEVDSyg1NywgMjQsIDEwMCkKKyAgICAgYXZfY2hhbm5l bF9sYXlvdXRfZGVmYXVsdCggJmN0eC0+Y2hfbGF5b3V0LCBwX2RlYy0+Zm10X2luLmF1ZGlvLmlf Y2hhbm5lbHMgKTsKKyAjZWxzZQorICAgICBjdHgtPmNoYW5uZWxzID0gcF9kZWMtPmZtdF9pbi5h dWRpby5pX2NoYW5uZWxzOworZGlmZiAtLWdpdCBhL21vZHVsZXMvZGVtdXgvYXZmb3JtYXQvZGVt dXguYyBiL21vZHVsZXMvZGVtdXgvYXZmb3JtYXQvZGVtdXguYworaW5kZXggOTk3NWIwZjQ3YjYu LmM0OWY3ZWI0ZmMwIDEwMDY0NAorLS0tIGEvbW9kdWxlcy9kZW11eC9hdmZvcm1hdC9kZW11eC5j CisrKysgYi9tb2R1bGVzL2RlbXV4L2F2Zm9ybWF0L2RlbXV4LmMKK0BAIC00MDAsNyArNDAwLDcg QEAgaW50IGF2Zm9ybWF0X09wZW5EZW11eCggdmxjX29iamVjdF90ICpwX3RoaXMgKQorICAgICAg ICAgICAgIGVzX2Zvcm1hdF9Jbml0KCAmZXNfZm10LCBBVURJT19FUywgZmNjICk7CisgICAgICAg ICAgICAgZXNfZm10Lmlfb3JpZ2luYWxfZm91cmNjID0gQ29kZWNUYWdUb0ZvdXJjYyggY3AtPmNv ZGVjX3RhZyApOworICAgICAgICAgICAgIGVzX2ZtdC5pX2JpdHJhdGUgPSBjcC0+Yml0X3JhdGU7 CistI2lmIExJQkFWQ09ERUNfVkVSU0lPTl9DSEVDSyggNTksIDI0LCAxMDAgKQorKyNpZiBMSUJB VkNPREVDX1ZFUlNJT05fQ0hFQ0soNTksIDI0LCAxMDApCisgICAgICAgICAgICAgZXNfZm10LmF1 ZGlvLmlfY2hhbm5lbHMgPSBjcC0+Y2hfbGF5b3V0Lm5iX2NoYW5uZWxzOworICNlbHNlCisgICAg ICAgICAgICAgZXNfZm10LmF1ZGlvLmlfY2hhbm5lbHMgPSBjcC0+Y2hhbm5lbHM7CitkaWZmIC0t Z2l0IGEvbW9kdWxlcy9kZW11eC9hdmZvcm1hdC9tdXguYyBiL21vZHVsZXMvZGVtdXgvYXZmb3Jt YXQvbXV4LmMKK2luZGV4IGE0ODE5MGM5M2NhLi4wOTBlZDlmNWJmYSAxMDA2NDQKKy0tLSBhL21v ZHVsZXMvZGVtdXgvYXZmb3JtYXQvbXV4LmMKKysrKyBiL21vZHVsZXMvZGVtdXgvYXZmb3JtYXQv bXV4LmMKK0BAIC0yNzMsNyArMjczLDcgQEAgc3RhdGljIGludCBBZGRTdHJlYW0oIHNvdXRfbXV4 X3QgKnBfbXV4LCBzb3V0X2lucHV0X3QgKnBfaW5wdXQgKQorICAgICB7CisgICAgIGNhc2UgQVVE SU9fRVM6CisgICAgICAgICBjb2RlY3Bhci0+Y29kZWNfdHlwZSA9IEFWTUVESUFfVFlQRV9BVURJ TzsKKy0jaWYgTElCQVZDT0RFQ19WRVJTSU9OX0NIRUNLKCA1OSwgMjQsIDEwMCApCisrI2lmIExJ QkFWQ09ERUNfVkVSU0lPTl9DSEVDSyg1OSwgMjQsIDEwMCkKKyAgICAgICAgIGF2X2NoYW5uZWxf bGF5b3V0X2RlZmF1bHQoICZjb2RlY3Bhci0+Y2hfbGF5b3V0LCBmbXQtPmF1ZGlvLmlfY2hhbm5l bHMgKTsKKyAjZWxzZQorICAgICAgICAgY29kZWNwYXItPmNoYW5uZWxzID0gZm10LT5hdWRpby5p X2NoYW5uZWxzOworLS0gCitHaXRMYWIKKworCitGcm9tIDBiY2IzMDZiN2MwNTU0OWE3OTViOTAx YWUzM2Q2YzcyMDQ0NTY3MTYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBTdGV2ZSBM aG9tbWUgPHJvYnV4NEB5Y2Jjci54eXo+CitEYXRlOiBUdWUsIDE4IEp1biAyMDI0IDE1OjM0OjEw ICswMjAwCitTdWJqZWN0OiBbUEFUQ0ggMTEvMTVdIGZmbXBlZzogZml4IGxpYmF2dXRpbCB2ZXJz aW9uIGNoZWNrIGZvcgorIGF2X2NoYW5uZWxfbGF5b3V0X2RlZmF1bHQoKQorCitJdCB3YXMgYWRk ZWQgaW4gYzQxODk5YTM3NzBjYjQ1MTBlMTViMjIzZmEzNGQxMjkzMDViMTU4OSB3aGljaAord2Fz IGxpYmF2dXRpbCA1Ny4yMy4xMDAgYXQgdGhlIHRpbWUgYnV0IHRoZSBtaW5vciB2ZXJzaW9uIHdh cyBub3QgdXBkYXRlZCBpbgordGhhdCBjb21taXQgc28gd2UgY2hlY2sgNTcuMjQuMTAwLgorCitU aGUgc2FtZSBjaGVjayBhcHBsaWVzIGZvciBhdl9jaGFubmVsX2xheW91dF9jb3B5KCkgYWRkZWQg aW4gdGhlIHNhbWUgY29tbWl0LgorCitUaGlzIGlzIHBhcnQgb2YgRkZtcGVnIDUuMS4KKworaHR0 cHM6Ly9naXRodWIuY29tL0ZGbXBlZy9GRm1wZWcvY29tbWl0LzA4NmE4MDQ4MDYxYmY5ZmI0YzYz OTQzZjY5NjJkYjQ4MTc1ZjY1NWMKKyhjaGVycnkgcGlja2VkIGZyb20gY29tbWl0IDE5NWYwYzk4 NTk5YjU1OTUwYzQ5YTYyZjk4ZDlkMzQ5NWJlMzEwZGYpIChyZWJhc2VkKQorcmViYXNlZDoKKy0g dGhlIGNvZGUgYXJvdW5kIGlzIHNsaWdodGx5IGRpZmZlcmVudAorLS0tCisgbW9kdWxlcy9jb2Rl Yy9hdmNvZGVjL2VuY29kZXIuYyB8IDggKysrKy0tLS0KKyBtb2R1bGVzL2RlbXV4L2F2Zm9ybWF0 L211eC5jICAgIHwgMiArLQorIDIgZmlsZXMgY2hhbmdlZCwgNSBpbnNlcnRpb25zKCspLCA1IGRl bGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvbW9kdWxlcy9jb2RlYy9hdmNvZGVjL2VuY29kZXIu YyBiL21vZHVsZXMvY29kZWMvYXZjb2RlYy9lbmNvZGVyLmMKK2luZGV4IDIwMTRiOGFmYWY1Li5l YzYzYzljNTQzOSAxMDA2NDQKKy0tLSBhL21vZHVsZXMvY29kZWMvYXZjb2RlYy9lbmNvZGVyLmMK KysrKyBiL21vZHVsZXMvY29kZWMvYXZjb2RlYy9lbmNvZGVyLmMKK0BAIC03NjQsNyArNzY0LDcg QEAgaW50IEluaXRWaWRlb0VuYyggdmxjX29iamVjdF90ICpwX3RoaXMgKQorICAgICAgICAgdWlu dDMyX3Qgb3JkZXJfbWFzayA9IDA7CisgICAgICAgICBpbnQgaV9jaGFubmVsc19zcmMgPSAwOwor ICAgICAgICAgbXNnX0RiZyggcF9lbmMsICJDcmVhdGluZyBjaGFubmVsIG9yZGVyIGZvciByZW9y ZGVyaW5nIik7CistIyBpZiBMSUJBVkNPREVDX1ZFUlNJT05fQ0hFQ0soNTksIDI0LCAxMDApCisr IyBpZiBMSUJBVkNPREVDX1ZFUlNJT05fQ0hFQ0soNTksIDI0LCAxMDApICYmIExJQkFWVVRJTF9W RVJTSU9OX0NIRUNLKDU3LCAyNCwgMTAwKQorICAgICAgICAgYXZfY2hhbm5lbF9sYXlvdXRfZGVm YXVsdCggJnBfY29udGV4dC0+Y2hfbGF5b3V0LCBwX2VuYy0+Zm10X291dC5hdWRpby5pX2NoYW5u ZWxzICk7CisgICAgICAgICB1aW50NjRfdCBjaGFubmVsX21hc2sgPSBwX2NvbnRleHQtPmNoX2xh eW91dC51Lm1hc2s7CisgIyBlbHNlCitAQCAtOTE3LDcgKzkxNyw3IEBAIGVycm1zZzoKKyAKKyAg ICAgICAgIGlmKCBwX2VuYy0+Zm10X291dC5hdWRpby5pX2NoYW5uZWxzID4gMiApCisgICAgICAg ICB7CistI2lmIExJQkFWQ09ERUNfVkVSU0lPTl9DSEVDSyg1OSwgMjQsIDEwMCkKKysjaWYgTElC QVZDT0RFQ19WRVJTSU9OX0NIRUNLKDU5LCAyNCwgMTAwKSAmJiBMSUJBVlVUSUxfVkVSU0lPTl9D SEVDSyg1NywgMjQsIDEwMCkKKyAgICAgICAgICAgICBhdl9jaGFubmVsX2xheW91dF9kZWZhdWx0 KCAmcF9jb250ZXh0LT5jaF9sYXlvdXQsIDIgKTsKKyAjZWxzZQorICAgICAgICAgICAgIHBfY29u dGV4dC0+Y2hhbm5lbHMgPSAyOworQEAgLTEyODEsNyArMTI4MSw3IEBAIHN0YXRpYyBibG9ja190 ICpoYW5kbGVfZGVsYXlfYnVmZmVyKCBlbmNvZGVyX3QgKnBfZW5jLCBlbmNvZGVyX3N5c190ICpw X3N5cywgdW5zCisgICAgIGF2X2ZyYW1lX3VucmVmKCBwX3N5cy0+ZnJhbWUgKTsKKyAgICAgcF9z eXMtPmZyYW1lLT5mb3JtYXQgICAgID0gcF9zeXMtPnBfY29udGV4dC0+c2FtcGxlX2ZtdDsKKyAg ICAgcF9zeXMtPmZyYW1lLT5uYl9zYW1wbGVzID0gbGVmdG92ZXJfc2FtcGxlcyArIHBfc3lzLT5p X3NhbXBsZXNfZGVsYXk7CistI2lmIExJQkFWQ09ERUNfVkVSU0lPTl9DSEVDSyg1OSwgMjQsIDEw MCkKKysjaWYgTElCQVZDT0RFQ19WRVJTSU9OX0NIRUNLKDU5LCAyNCwgMTAwKSAmJiBMSUJBVlVU SUxfVkVSU0lPTl9DSEVDSyg1NywgMjQsIDEwMCkKKyAgICAgYXZfY2hhbm5lbF9sYXlvdXRfY29w eSgmcF9zeXMtPmZyYW1lLT5jaF9sYXlvdXQsICZwX3N5cy0+cF9jb250ZXh0LT5jaF9sYXlvdXQp OworICNlbHNlCisgICAgIHBfc3lzLT5mcmFtZS0+Y2hhbm5lbF9sYXlvdXQgPSBwX3N5cy0+cF9j b250ZXh0LT5jaGFubmVsX2xheW91dDsKK0BAIC0xNDE2LDcgKzE0MTYsNyBAQCBzdGF0aWMgYmxv Y2tfdCAqRW5jb2RlQXVkaW8oIGVuY29kZXJfdCAqcF9lbmMsIGJsb2NrX3QgKnBfYW91dF9idWYg KQorICAgICAgICAgcF9zeXMtPmZyYW1lLT5wdHMgICAgICAgID0gZGF0ZV9HZXQoICZwX3N5cy0+ YnVmZmVyX2RhdGUgKSAqIHBfc3lzLT5wX2NvbnRleHQtPnRpbWVfYmFzZS5kZW4gLworICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENMT0NLX0ZSRVEgLyBwX3N5cy0+cF9jb250 ZXh0LT50aW1lX2Jhc2UubnVtOworIAorLSNpZiBMSUJBVkNPREVDX1ZFUlNJT05fQ0hFQ0soNTks IDI0LCAxMDApCisrI2lmIExJQkFWQ09ERUNfVkVSU0lPTl9DSEVDSyg1OSwgMjQsIDEwMCkgJiYg TElCQVZVVElMX1ZFUlNJT05fQ0hFQ0soNTcsIDI0LCAxMDApCisgICAgICAgICBhdl9jaGFubmVs X2xheW91dF9jb3B5KCZwX3N5cy0+ZnJhbWUtPmNoX2xheW91dCwgJnBfc3lzLT5wX2NvbnRleHQt PmNoX2xheW91dCk7CisgI2Vsc2UKKyAgICAgICAgIHBfc3lzLT5mcmFtZS0+Y2hhbm5lbF9sYXlv dXQgPSBwX3N5cy0+cF9jb250ZXh0LT5jaGFubmVsX2xheW91dDsKK2RpZmYgLS1naXQgYS9tb2R1 bGVzL2RlbXV4L2F2Zm9ybWF0L211eC5jIGIvbW9kdWxlcy9kZW11eC9hdmZvcm1hdC9tdXguYwor aW5kZXggMDkwZWQ5ZjViZmEuLmJmNjVjYTM2NzE2IDEwMDY0NAorLS0tIGEvbW9kdWxlcy9kZW11 eC9hdmZvcm1hdC9tdXguYworKysrIGIvbW9kdWxlcy9kZW11eC9hdmZvcm1hdC9tdXguYworQEAg LTI3Myw3ICsyNzMsNyBAQCBzdGF0aWMgaW50IEFkZFN0cmVhbSggc291dF9tdXhfdCAqcF9tdXgs IHNvdXRfaW5wdXRfdCAqcF9pbnB1dCApCisgICAgIHsKKyAgICAgY2FzZSBBVURJT19FUzoKKyAg ICAgICAgIGNvZGVjcGFyLT5jb2RlY190eXBlID0gQVZNRURJQV9UWVBFX0FVRElPOworLSNpZiBM SUJBVkNPREVDX1ZFUlNJT05fQ0hFQ0soNTksIDI0LCAxMDApCisrI2lmIExJQkFWVVRJTF9WRVJT SU9OX0NIRUNLKDU3LCAyNCwgMTAwKQorICAgICAgICAgYXZfY2hhbm5lbF9sYXlvdXRfZGVmYXVs dCggJmNvZGVjcGFyLT5jaF9sYXlvdXQsIGZtdC0+YXVkaW8uaV9jaGFubmVscyApOworICNlbHNl CisgICAgICAgICBjb2RlY3Bhci0+Y2hhbm5lbHMgPSBmbXQtPmF1ZGlvLmlfY2hhbm5lbHM7Cist LSAKK0dpdExhYgorCisKK0Zyb20gMzhmOTYzOGVjNzFjMmZlOTE3ZGZkOTlhYzJlMTc5NWIzMzU3 Y2ZjMyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IFN0ZXZlIExob21tZSA8cm9idXg0 QHljYmNyLnh5ej4KK0RhdGU6IFR1ZSwgMTggSnVuIDIwMjQgMTY6MDQ6NDEgKzAyMDAKK1N1Ympl Y3Q6IFtQQVRDSCAxMi8xNV0gZmZtcGVnOiBmaXggbGliYXZjb2RlYyB2ZXJzaW9uIGNoZWNrIGZv cgorIEFWQ29kZWNQYXJhbWV0ZXJzLmNoX2xheW91dAorTUlNRS1WZXJzaW9uOiAxLjAKK0NvbnRl bnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOAorQ29udGVudC1UcmFuc2Zlci1FbmNv ZGluZzogOGJpdAorCitJdCB3YXMgYWRkZWQgaW4gMjc2YzA2NzI2ZmJkMmY3ODRkNTExODk4NzBi ZDgzNGU5Mjg0ODEyZiB3aGljaAord2FzIGxpYmF2Y29kZWMgNTkuMjMuMTAwIGF0IHRoZSB0aW1l IGJ1dCB0aGUgbWlub3IgdmVyc2lvbiB3YXMgbm90IHVwZGF0ZWQgaW4KK3RoYXQgY29tbWl0IHNv IHdlIGNoZWNrIDU5LjI0LjEwMC4KKworVGhpcyBpcyBwYXJ0IG9mIEZGbXBlZyA1LjEuCisKK0l0 IHdhcyBlcnJvbmVvdXNseSByZW1vdmVkIGluIGE1NWVjMzJhYjM3NjBkOWVkYjZmMDU0ODFjZDNh OTgxYWE0Mjg3OGQuCisKK2h0dHBzOi8vZ2l0aHViLmNvbS9GRm1wZWcvRkZtcGVnL2NvbW1pdC8y NzZjMDY3MjZmYmQyZjc4NGQ1MTE4OTg3MGJkODM0ZTkyODQ4MTJmCisKK0NvLWF1dGhvcmVkLWJ5 OiBGcmFuw6dvaXMgQ2FydGVnbmllIDxmY3ZsY2RldkBmcmVlLmZyPgorKGNoZXJyeSBwaWNrZWQg ZnJvbSBjb21taXQgNTk3YmRiOGUwNzg0MTAxYjVmNDEyZmViYTMzMDk1NThhZDViODg2MikKKy0t LQorIG1vZHVsZXMvZGVtdXgvYXZmb3JtYXQvbXV4LmMgfCAyICstCisgMSBmaWxlIGNoYW5nZWQs IDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9tb2R1bGVzL2Rl bXV4L2F2Zm9ybWF0L211eC5jIGIvbW9kdWxlcy9kZW11eC9hdmZvcm1hdC9tdXguYworaW5kZXgg YmY2NWNhMzY3MTYuLmQ4YmU1ZDFkOWY1IDEwMDY0NAorLS0tIGEvbW9kdWxlcy9kZW11eC9hdmZv cm1hdC9tdXguYworKysrIGIvbW9kdWxlcy9kZW11eC9hdmZvcm1hdC9tdXguYworQEAgLTI3Myw3 ICsyNzMsNyBAQCBzdGF0aWMgaW50IEFkZFN0cmVhbSggc291dF9tdXhfdCAqcF9tdXgsIHNvdXRf aW5wdXRfdCAqcF9pbnB1dCApCisgICAgIHsKKyAgICAgY2FzZSBBVURJT19FUzoKKyAgICAgICAg IGNvZGVjcGFyLT5jb2RlY190eXBlID0gQVZNRURJQV9UWVBFX0FVRElPOworLSNpZiBMSUJBVlVU SUxfVkVSU0lPTl9DSEVDSyg1NywgMjQsIDEwMCkKKysjaWYgTElCQVZDT0RFQ19WRVJTSU9OX0NI RUNLKDU5LCAyNCwgMTAwKSAmJiBMSUJBVlVUSUxfVkVSU0lPTl9DSEVDSyg1NywgMjQsIDEwMCkK KyAgICAgICAgIGF2X2NoYW5uZWxfbGF5b3V0X2RlZmF1bHQoICZjb2RlY3Bhci0+Y2hfbGF5b3V0 LCBmbXQtPmF1ZGlvLmlfY2hhbm5lbHMgKTsKKyAjZWxzZQorICAgICAgICAgY29kZWNwYXItPmNo YW5uZWxzID0gZm10LT5hdWRpby5pX2NoYW5uZWxzOworLS0gCitHaXRMYWIKKworCitGcm9tIDA5 MzlkNTViODFlOTE2ZmYzMDNmOTJmMzAxMjU3YzJlMDg4NWZkYjkgTW9uIFNlcCAxNyAwMDowMDow MCAyMDAxCitGcm9tOiBTdGV2ZSBMaG9tbWUgPHJvYnV4NEB5Y2Jjci54eXo+CitEYXRlOiBXZWQs IDE5IEp1biAyMDI0IDEzOjQxOjA0ICswMjAwCitTdWJqZWN0OiBbUEFUQ0ggMTMvMTVdIGF2Y29k ZWM6IGZpeCBsaWJhdmNvZGVjIHZlcnNpb24gY2hlY2sgZm9yCisgQVZDb2RlY0NvbnRleHQuY2hf bGF5b3V0CitNSU1FLVZlcnNpb246IDEuMAorQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFy c2V0PVVURi04CitDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0CisKK0l0IHdhcyBhZGRl ZCBpbiA1NDhhZWI5MzgzNGI4NDI1Yzg2ZDFjZTYwZmRkYzFkNDE4MDU3MjRkIHdoaWNoCit3YXMg bGliYXZjb2RlYyA1OS4yMy4xMDAgYXQgdGhlIHRpbWUgYnV0IHRoZSBtaW5vciB2ZXJzaW9uIHdh cyBub3QgdXBkYXRlZCBpbgordGhhdCBjb21taXQgc28gd2UgY2hlY2sgNTkuMjQuMTAwLgorCitU aGlzIGlzIHBhcnQgb2YgRkZtcGVnIDUuMS4KKworaHR0cHM6Ly9naXRodWIuY29tL0ZGbXBlZy9G Rm1wZWcvY29tbWl0LzU0OGFlYjkzODM0Yjg0MjVjODZkMWNlNjBmZGRjMWQ0MTgwNTcyNGQKKwor Q28tYXV0aG9yZWQtYnk6IEZyYW7Dp29pcyBDYXJ0ZWduaWUgPGZjdmxjZGV2QGZyZWUuZnI+Ciso Y2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCA4ZmQ5MThiODc4N2I4ZDA3N2RlY2YxYTJiOTU1YWIw YzdiOTY0YmYzKSAocmViYXNlZCkKK3JlYmFzZWQ6CistIG9uIDMuMCBmbXRfaW4gaXMgbm90IGEg cG9pbnRlcgorLS0tCisgbW9kdWxlcy9jb2RlYy9hdmNvZGVjL2F1ZGlvLmMgfCAyICstCisgMSBm aWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQg YS9tb2R1bGVzL2NvZGVjL2F2Y29kZWMvYXVkaW8uYyBiL21vZHVsZXMvY29kZWMvYXZjb2RlYy9h dWRpby5jCitpbmRleCA5NzkyNTZjNDAwYS4uZmIyMmYwMzMwMDUgMTAwNjQ0CistLS0gYS9tb2R1 bGVzL2NvZGVjL2F2Y29kZWMvYXVkaW8uYworKysrIGIvbW9kdWxlcy9jb2RlYy9hdmNvZGVjL2F1 ZGlvLmMKK0BAIC0xNDIsNyArMTQyLDcgQEAgc3RhdGljIGludCBPcGVuQXVkaW9Db2RlYyggZGVj b2Rlcl90ICpwX2RlYyApCisgICAgIH0KKyAKKyAgICAgY3R4LT5zYW1wbGVfcmF0ZSA9IHBfZGVj LT5mbXRfaW4uYXVkaW8uaV9yYXRlOworLSNpZiBMSUJBVlVUSUxfVkVSU0lPTl9DSEVDSyg1Nywg MjQsIDEwMCkKKysjaWYgTElCQVZDT0RFQ19WRVJTSU9OX0NIRUNLKDU5LCAyNCwgMTAwKSAmJiBM SUJBVlVUSUxfVkVSU0lPTl9DSEVDSyg1NywgMjQsIDEwMCkKKyAgICAgYXZfY2hhbm5lbF9sYXlv dXRfZGVmYXVsdCggJmN0eC0+Y2hfbGF5b3V0LCBwX2RlYy0+Zm10X2luLmF1ZGlvLmlfY2hhbm5l bHMgKTsKKyAjZWxzZQorICAgICBjdHgtPmNoYW5uZWxzID0gcF9kZWMtPmZtdF9pbi5hdWRpby5p X2NoYW5uZWxzOworLS0gCitHaXRMYWIKKworCitGcm9tIGU1MDcyYjM0MDQyNWU3ODZiOWUzNzZj ZGY0YmZmNDk2MmM2ZTMyZjIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBTdGV2ZSBM aG9tbWUgPHJvYnV4NEB5Y2Jjci54eXo+CitEYXRlOiBXZWQsIDE5IEp1biAyMDI0IDA4OjM2OjQw ICswMjAwCitTdWJqZWN0OiBbUEFUQ0ggMTQvMTVdIGZmbXBlZzogZml4IGxpYmF2dXRpbCB2ZXJz aW9uIGNoZWNrIGZvcgorIEFWRnJhbWUuY2hfbGF5b3V0CisKK0l0IHdhcyBhZGRlZCBpbiBkYjZl ZmExODE1ZTIxN2VkNzZmMzlhZWU4YjE1ZWU1YzY0Njk4NTM3IHdoaWNoCit3YXMgbGliYXZ1dGls IDU3LjIzLjEwMCBhdCB0aGUgdGltZSBidXQgdGhlIG1pbm9yIHZlcnNpb24gd2FzIG5vdCB1cGRh dGVkIGluCit0aGF0IGNvbW1pdCBzbyB3ZSBjaGVjayA1Ny4yNC4xMDAuCisKK1RoaXMgaXMgcGFy dCBvZiBGRm1wZWcgNS4xLgorCitodHRwczovL2dpdGh1Yi5jb20vRkZtcGVnL0ZGbXBlZy9jb21t aXQvZGI2ZWZhMTgxNWUyMTdlZDc2ZjM5YWVlOGIxNWVlNWM2NDY5ODUzNworKGNoZXJyeSBwaWNr ZWQgZnJvbSBjb21taXQgZjIzNzE1NTg4N2YwNDlmOGJlZmVmMmZkZmFkYWU3YjYwZjY5N2IwZCkK Ky0tLQorIG1vZHVsZXMvY29kZWMvYXZjb2RlYy9hdWRpby5jIHwgMiArLQorIDEgZmlsZSBjaGFu Z2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvbW9kdWxl cy9jb2RlYy9hdmNvZGVjL2F1ZGlvLmMgYi9tb2R1bGVzL2NvZGVjL2F2Y29kZWMvYXVkaW8uYwor aW5kZXggZmIyMmYwMzMwMDUuLmMyNzc3MWFlYjJlIDEwMDY0NAorLS0tIGEvbW9kdWxlcy9jb2Rl Yy9hdmNvZGVjL2F1ZGlvLmMKKysrKyBiL21vZHVsZXMvY29kZWMvYXZjb2RlYy9hdWRpby5jCitA QCAtNDA3LDcgKzQwNyw3IEBAIHN0YXRpYyBpbnQgRGVjb2RlQmxvY2soIGRlY29kZXJfdCAqcF9k ZWMsIGJsb2NrX3QgKipwcF9ibG9jayApCisgICAgICAgICByZXQgPSBhdmNvZGVjX3JlY2VpdmVf ZnJhbWUoIGN0eCwgZnJhbWUgKTsKKyAgICAgICAgIGlmKCByZXQgPT0gMCApCisgICAgICAgICB7 CistI2lmIExJQkFWQ09ERUNfVkVSU0lPTl9DSEVDSyg1OSwgMjQsIDEwMCkKKysjaWYgTElCQVZV VElMX1ZFUlNJT05fQ0hFQ0soNTcsIDI0LCAxMDApCisgICAgICAgICAgICAgaW50IGNoYW5uZWxz ID0gZnJhbWUtPmNoX2xheW91dC5uYl9jaGFubmVsczsKKyAjZWxzZQorICAgICAgICAgICAgIGlu dCBjaGFubmVscyA9IGN0eC0+Y2hhbm5lbHM7CistLSAKK0dpdExhYgorCisKK0Zyb20gMTcxM2Jl NTUyZjllMjYyNjBhM2FjMzNjZTA0YWI4OWY2NjA3ODBjYyBNb24gU2VwIDE3IDAwOjAwOjAwIDIw MDEKK0Zyb206ID0/VVRGLTg/cT9GcmFuPUMzPUE3b2lzPTIwQ2FydGVnbmllPz0gPGZjdmxjZGV2 QGZyZWUuZnI+CitEYXRlOiBUaHUsIDIwIEp1biAyMDI0IDEzOjEyOjM3ICswMjAwCitTdWJqZWN0 OiBbUEFUQ0ggMTUvMTVdIGF2Y29kZWM6IGFkZCBhIGRlZmluZSB0byB0ZXN0IGZvcgorIEFWQ29k ZWNDb250ZXh0LmNoX2xheW91dCBhdmFpbGFiaWxpdHkKKworQ28tYXV0aG9yZWQtYnk6IFN0ZXZl IExob21tZSA8cm9idXg0QHljYmNyLnh5ej4KKyhjaGVycnkgcGlja2VkIGZyb20gY29tbWl0IDNh YmY5MzczNWRmOTdjYzJjOTZlMTEwMjhiNzYwNjc1NDdjMjdlYjcpIChyZWJhc2VkKQorcmViYXNl ZDoKKy0gb24gMy4wIHRoZSBmbXRfaW4gaXMgbm90IGEgcG9pbnRlcgorLSB0aGUgY29kZSBhcm91 bmQgaXMgc2xpZ2h0bHkgZGlmZmVyZW50IGR1ZSB0byB0aGUgdXNlIG9mIEFQSV9DSEFOTkVMX0xB WU9VVAorLS0tCisgbW9kdWxlcy9jb2RlYy9hdmNvZGVjL2F1ZGlvLmMgICB8ICA4ICsrKysrLS0t CisgbW9kdWxlcy9jb2RlYy9hdmNvZGVjL2VuY29kZXIuYyB8IDEyICsrKysrKystLS0tLQorIDIg ZmlsZXMgY2hhbmdlZCwgMTIgaW5zZXJ0aW9ucygrKSwgOCBkZWxldGlvbnMoLSkKKworZGlmZiAt LWdpdCBhL21vZHVsZXMvY29kZWMvYXZjb2RlYy9hdWRpby5jIGIvbW9kdWxlcy9jb2RlYy9hdmNv ZGVjL2F1ZGlvLmMKK2luZGV4IGMyNzc3MWFlYjJlLi5iNjE4NmQ2ZWM1NiAxMDA2NDQKKy0tLSBh L21vZHVsZXMvY29kZWMvYXZjb2RlYy9hdWRpby5jCisrKysgYi9tb2R1bGVzL2NvZGVjL2F2Y29k ZWMvYXVkaW8uYworQEAgLTQxLDYgKzQxLDggQEAKKyAjaW5jbHVkZSA8bGliYXZjb2RlYy9hdmNv ZGVjLmg+CisgI2luY2x1ZGUgPGxpYmF2dXRpbC9tZW0uaD4KKyAKKysjZGVmaW5lIEFQSV9DSEFO TkVMX0xBWU9VVF9TVFJVQ1QgKExJQkFWQ09ERUNfVkVSU0lPTl9DSEVDSyg1OSwgMjQsIDEwMCkp IC8vIEFWQ29kZWNDb250ZXh0LmNoX2xheW91dAorKworICNkZWZpbmUgQVBJX0NIQU5ORUxfTEFZ T1VUIChMSUJBVl9VVElMX1ZFUlNJT05fQ0hFQ0soIDUyLCAyLCA2LCAwLCAxMDApKQorIAorICNp ZiBBUElfQ0hBTk5FTF9MQVlPVVQKK0BAIC0xNDIsNyArMTQ0LDcgQEAgc3RhdGljIGludCBPcGVu QXVkaW9Db2RlYyggZGVjb2Rlcl90ICpwX2RlYyApCisgICAgIH0KKyAKKyAgICAgY3R4LT5zYW1w bGVfcmF0ZSA9IHBfZGVjLT5mbXRfaW4uYXVkaW8uaV9yYXRlOworLSNpZiBMSUJBVkNPREVDX1ZF UlNJT05fQ0hFQ0soNTksIDI0LCAxMDApICYmIExJQkFWVVRJTF9WRVJTSU9OX0NIRUNLKDU3LCAy NCwgMTAwKQorKyNpZiBBUElfQ0hBTk5FTF9MQVlPVVRfU1RSVUNUICYmIExJQkFWVVRJTF9WRVJT SU9OX0NIRUNLKDU3LCAyNCwgMTAwKQorICAgICBhdl9jaGFubmVsX2xheW91dF9kZWZhdWx0KCAm Y3R4LT5jaF9sYXlvdXQsIHBfZGVjLT5mbXRfaW4uYXVkaW8uaV9jaGFubmVscyApOworICNlbHNl CisgICAgIGN0eC0+Y2hhbm5lbHMgPSBwX2RlYy0+Zm10X2luLmF1ZGlvLmlfY2hhbm5lbHM7CitA QCAtNTk4LDcgKzYwMCw3IEBAIHN0YXRpYyB2b2lkIFNldHVwT3V0cHV0Rm9ybWF0KCBkZWNvZGVy X3QgKnBfZGVjLCBib29sIGJfdHJ1c3QgKQorICAgICBwX2RlYy0+Zm10X291dC5hdWRpby5pX3Jh dGUgPSBwX3N5cy0+cF9jb250ZXh0LT5zYW1wbGVfcmF0ZTsKKyAKKyAgICAgLyogKi8KKy0jaWYg TElCQVZDT0RFQ19WRVJTSU9OX0NIRUNLKDU5LCAyNCwgMTAwKQorKyNpZiBBUElfQ0hBTk5FTF9M QVlPVVRfU1RSVUNUCisgICAgIGlmKCBwX3N5cy0+aV9wcmV2aW91c19jaGFubmVscyA9PSBwX3N5 cy0+cF9jb250ZXh0LT5jaF9sYXlvdXQubmJfY2hhbm5lbHMgJiYKKyAgICAgICAgIHBfc3lzLT5p X3ByZXZpb3VzX2xheW91dCA9PSBwX3N5cy0+cF9jb250ZXh0LT5jaF9sYXlvdXQudS5tYXNrICkK KyAgICAgICAgIHJldHVybjsKK0BAIC02MjIsNyArNjI0LDcgQEAgc3RhdGljIHZvaWQgU2V0dXBP dXRwdXRGb3JtYXQoIGRlY29kZXJfdCAqcF9kZWMsIGJvb2wgYl90cnVzdCApCisgCisgICAgIGlu dCBpX2NoYW5uZWxzX3NyYyA9IDAsIGNoYW5uZWxfY291bnQ7CisgICAgIHVpbnQ2NF90IGNoYW5u ZWxfbGF5b3V0X21hc2s7CistI2lmIExJQkFWQ09ERUNfVkVSU0lPTl9DSEVDSyg1OSwgMjQsIDEw MCkKKysjaWYgQVBJX0NIQU5ORUxfTEFZT1VUX1NUUlVDVAorICAgICBjaGFubmVsX2xheW91dF9t YXNrID0gcF9zeXMtPnBfY29udGV4dC0+Y2hfbGF5b3V0LnUubWFzazsKKyAgICAgY2hhbm5lbF9j b3VudCA9IHBfc3lzLT5wX2NvbnRleHQtPmNoX2xheW91dC5uYl9jaGFubmVsczsKKyAjZWxpZiBB UElfQ0hBTk5FTF9MQVlPVVQKK2RpZmYgLS1naXQgYS9tb2R1bGVzL2NvZGVjL2F2Y29kZWMvZW5j b2Rlci5jIGIvbW9kdWxlcy9jb2RlYy9hdmNvZGVjL2VuY29kZXIuYworaW5kZXggZWM2M2M5YzU0 MzkuLmIwZDMxMjY5MjQ0IDEwMDY0NAorLS0tIGEvbW9kdWxlcy9jb2RlYy9hdmNvZGVjL2VuY29k ZXIuYworKysrIGIvbW9kdWxlcy9jb2RlYy9hdmNvZGVjL2VuY29kZXIuYworQEAgLTQ3LDYgKzQ3 LDggQEAKKyAjaW5jbHVkZSAiYXZjb2RlYy5oIgorICNpbmNsdWRlICJhdmNvbW1vbi5oIgorIAor KyNkZWZpbmUgQVBJX0NIQU5ORUxfTEFZT1VUX1NUUlVDVCAoTElCQVZDT0RFQ19WRVJTSU9OX0NI RUNLKDU5LCAyNCwgMTAwKSkgLy8gQVZDb2RlY0NvbnRleHQuY2hfbGF5b3V0CisrCisgI2RlZmlu ZSBBUElfQ0hBTk5FTF9MQVlPVVQgKExJQkFWX1VUSUxfVkVSU0lPTl9DSEVDSyggNTIsIDIsIDYs IDAsIDEwMCkpCisgCisgI2lmIEFQSV9DSEFOTkVMX0xBWU9VVAorQEAgLTE4Miw3ICsxODQsNyBA QCBzdGF0aWMgY29uc3QgdWludDY0X3QgcGlfY2hhbm5lbHNfbWFwW11bMl0gPQorICAgICB7IEFW X0NIX1NURVJFT19SSUdIVCwgICAgICAwIH0sCisgfTsKKyAKKy0jIGlmICFMSUJBVkNPREVDX1ZF UlNJT05fQ0hFQ0soNTksIDI0LCAxMDApCisrIyBpZiAhQVBJX0NIQU5ORUxfTEFZT1VUX1NUUlVD VAorIHN0YXRpYyBjb25zdCB1aW50MzJfdCBjaGFubmVsX21hc2tbXVsyXSA9IHsKKyAgICAgezAs MH0sCisgICAgIHtBT1VUX0NIQU5fQ0VOVEVSLCBBVl9DSF9MQVlPVVRfTU9OT30sCitAQCAtNzY0 LDcgKzc2Niw3IEBAIGludCBJbml0VmlkZW9FbmMoIHZsY19vYmplY3RfdCAqcF90aGlzICkKKyAg ICAgICAgIHVpbnQzMl90IG9yZGVyX21hc2sgPSAwOworICAgICAgICAgaW50IGlfY2hhbm5lbHNf c3JjID0gMDsKKyAgICAgICAgIG1zZ19EYmcoIHBfZW5jLCAiQ3JlYXRpbmcgY2hhbm5lbCBvcmRl ciBmb3IgcmVvcmRlcmluZyIpOworLSMgaWYgTElCQVZDT0RFQ19WRVJTSU9OX0NIRUNLKDU5LCAy NCwgMTAwKSAmJiBMSUJBVlVUSUxfVkVSU0lPTl9DSEVDSyg1NywgMjQsIDEwMCkKKysjIGlmIEFQ SV9DSEFOTkVMX0xBWU9VVF9TVFJVQ1QgJiYgTElCQVZVVElMX1ZFUlNJT05fQ0hFQ0soNTcsIDI0 LCAxMDApCisgICAgICAgICBhdl9jaGFubmVsX2xheW91dF9kZWZhdWx0KCAmcF9jb250ZXh0LT5j aF9sYXlvdXQsIHBfZW5jLT5mbXRfb3V0LmF1ZGlvLmlfY2hhbm5lbHMgKTsKKyAgICAgICAgIHVp bnQ2NF90IGNoYW5uZWxfbWFzayA9IHBfY29udGV4dC0+Y2hfbGF5b3V0LnUubWFzazsKKyAjIGVs c2UKK0BAIC05MTcsNyArOTE5LDcgQEAgZXJybXNnOgorIAorICAgICAgICAgaWYoIHBfZW5jLT5m bXRfb3V0LmF1ZGlvLmlfY2hhbm5lbHMgPiAyICkKKyAgICAgICAgIHsKKy0jaWYgTElCQVZDT0RF Q19WRVJTSU9OX0NIRUNLKDU5LCAyNCwgMTAwKSAmJiBMSUJBVlVUSUxfVkVSU0lPTl9DSEVDSyg1 NywgMjQsIDEwMCkKKysjaWYgQVBJX0NIQU5ORUxfTEFZT1VUX1NUUlVDVCAmJiBMSUJBVlVUSUxf VkVSU0lPTl9DSEVDSyg1NywgMjQsIDEwMCkKKyAgICAgICAgICAgICBhdl9jaGFubmVsX2xheW91 dF9kZWZhdWx0KCAmcF9jb250ZXh0LT5jaF9sYXlvdXQsIDIgKTsKKyAjZWxzZQorICAgICAgICAg ICAgIHBfY29udGV4dC0+Y2hhbm5lbHMgPSAyOworQEAgLTEyODEsNyArMTI4Myw3IEBAIHN0YXRp YyBibG9ja190ICpoYW5kbGVfZGVsYXlfYnVmZmVyKCBlbmNvZGVyX3QgKnBfZW5jLCBlbmNvZGVy X3N5c190ICpwX3N5cywgdW5zCisgICAgIGF2X2ZyYW1lX3VucmVmKCBwX3N5cy0+ZnJhbWUgKTsK KyAgICAgcF9zeXMtPmZyYW1lLT5mb3JtYXQgICAgID0gcF9zeXMtPnBfY29udGV4dC0+c2FtcGxl X2ZtdDsKKyAgICAgcF9zeXMtPmZyYW1lLT5uYl9zYW1wbGVzID0gbGVmdG92ZXJfc2FtcGxlcyAr IHBfc3lzLT5pX3NhbXBsZXNfZGVsYXk7CistI2lmIExJQkFWQ09ERUNfVkVSU0lPTl9DSEVDSyg1 OSwgMjQsIDEwMCkgJiYgTElCQVZVVElMX1ZFUlNJT05fQ0hFQ0soNTcsIDI0LCAxMDApCisrI2lm IEFQSV9DSEFOTkVMX0xBWU9VVF9TVFJVQ1QgJiYgTElCQVZVVElMX1ZFUlNJT05fQ0hFQ0soNTcs IDI0LCAxMDApCisgICAgIGF2X2NoYW5uZWxfbGF5b3V0X2NvcHkoJnBfc3lzLT5mcmFtZS0+Y2hf bGF5b3V0LCAmcF9zeXMtPnBfY29udGV4dC0+Y2hfbGF5b3V0KTsKKyAjZWxzZQorICAgICBwX3N5 cy0+ZnJhbWUtPmNoYW5uZWxfbGF5b3V0ID0gcF9zeXMtPnBfY29udGV4dC0+Y2hhbm5lbF9sYXlv dXQ7CitAQCAtMTQxNiw3ICsxNDE4LDcgQEAgc3RhdGljIGJsb2NrX3QgKkVuY29kZUF1ZGlvKCBl bmNvZGVyX3QgKnBfZW5jLCBibG9ja190ICpwX2FvdXRfYnVmICkKKyAgICAgICAgIHBfc3lzLT5m cmFtZS0+cHRzICAgICAgICA9IGRhdGVfR2V0KCAmcF9zeXMtPmJ1ZmZlcl9kYXRlICkgKiBwX3N5 cy0+cF9jb250ZXh0LT50aW1lX2Jhc2UuZGVuIC8KKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBDTE9DS19GUkVRIC8gcF9zeXMtPnBfY29udGV4dC0+dGltZV9iYXNlLm51bTsK KyAKKy0jaWYgTElCQVZDT0RFQ19WRVJTSU9OX0NIRUNLKDU5LCAyNCwgMTAwKSAmJiBMSUJBVlVU SUxfVkVSU0lPTl9DSEVDSyg1NywgMjQsIDEwMCkKKysjaWYgQVBJX0NIQU5ORUxfTEFZT1VUX1NU UlVDVCAmJiBMSUJBVlVUSUxfVkVSU0lPTl9DSEVDSyg1NywgMjQsIDEwMCkKKyAgICAgICAgIGF2 X2NoYW5uZWxfbGF5b3V0X2NvcHkoJnBfc3lzLT5mcmFtZS0+Y2hfbGF5b3V0LCAmcF9zeXMtPnBf Y29udGV4dC0+Y2hfbGF5b3V0KTsKKyAjZWxzZQorICAgICAgICAgcF9zeXMtPmZyYW1lLT5jaGFu bmVsX2xheW91dCA9IHBfc3lzLT5wX2NvbnRleHQtPmNoYW5uZWxfbGF5b3V0OworLS0gCitHaXRM YWIKKwoKZGlmZiAtLWdpdCBhLzY2MDYucGF0Y2ggYi82NjA2LnBhdGNoCm5ldyBmaWxlIG1vZGUg MTAwNjQ0CmluZGV4IDAwMDAwMDAuLjMyMjgxOGIKLS0tIC9kZXYvbnVsbAorKysgYi82NjA2LnBh dGNoCkBAIC0wLDAgKzEsMTQ5IEBACitGcm9tIGJhNWRjMDNhZWNjMWQ5NmY4MWI3NjgzOGY4NDVl YmRlNzM0OGNmNjIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBEYXZpZCBSb3NjYSA8 bm93cmVwQGdtYWlsLmNvbT4KK0RhdGU6IEZyaSwgMjAgRGVjIDIwMjQgMjA6MjQ6MzYgKzAxMDAK K1N1YmplY3Q6IFtQQVRDSF0gYXZjb2RlYzogdmFhcGk6IFN1cHBvcnQgVkFBUEkgd2l0aCBsYXRl c3QgRkZtcGVnCisKKy0tLQorIGNvbmZpZ3VyZS5hYyAgICAgICAgICAgICAgICAgICAgICAgICAg ICB8IDIwICstLS0tLS0tLS0tLS0KKyBtb2R1bGVzL2NvZGVjL01ha2VmaWxlLmFtICAgICAgICAg ICAgICAgfCAgMiArLQorIG1vZHVsZXMvY29kZWMvYXZjb2RlYy9hdmNvbW1vbl9jb21wYXQuaCB8 ICAzICsrCisgbW9kdWxlcy9jb2RlYy9hdmNvZGVjL3ZhYXBpLmMgICAgICAgICAgIHwgMzggKysr KysrKysrKysrKysrKysrKysrKystLQorIDQgZmlsZXMgY2hhbmdlZCwgNDEgaW5zZXJ0aW9ucygr KSwgMjIgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9jb25maWd1cmUuYWMgYi9jb25maWd1 cmUuYWMKK2luZGV4IDAwYWZiMDYzYzQ1NS4uMDg5MzM5ZTEwZTBiIDEwMDY0NAorLS0tIGEvY29u ZmlndXJlLmFjCisrKysgYi9jb25maWd1cmUuYWMKK0BAIC0yNTUwLDI1ICsyNTUwLDcgQEAgQU1f Q09ORElUSU9OQUwoW0hBVkVfVkFBUEldLCBbdGVzdCAiJHtoYXZlX3ZhYXBpfSIgPSAieWVzIl0p CisgQU1fQ09ORElUSU9OQUwoW0hBVkVfVkFBUElfRFJNXSwgW3Rlc3QgIiR7aGF2ZV92YWFwaV9k cm19IiA9ICJ5ZXMiXSkKKyBBTV9DT05ESVRJT05BTChbSEFWRV9WQUFQSV9YMTFdLCBbdGVzdCAi JHtoYXZlX3ZhYXBpX3gxMX0iID0gInllcyJdKQorIEFNX0NPTkRJVElPTkFMKFtIQVZFX1ZBQVBJ X1dMXSwgW3Rlc3QgIiR7aGF2ZV92YWFwaV93bH0iID0gInllcyJdKQorLQorLWhhdmVfYXZjb2Rl Y192YWFwaT0ibm8iCistQVNfSUYoW3Rlc3QgIiR7aGF2ZV92YWFwaX0iID0gInllcyIgLWEgIiR7 aGF2ZV9hdmNvZGVjfSIgPSAieWVzIl0sIFsKKy0gIFZMQ19TQVZFX0ZMQUdTCistICBDUFBGTEFH Uz0iJHtDUFBGTEFHU30gJHtBVkNPREVDX0NGTEFHU30iCistICBDRkxBR1M9IiR7Q0ZMQUdTfSAk e0FWQ09ERUNfQ0ZMQUdTfSIKKy0gIEFDX0NIRUNLX0hFQURFUlMoW2xpYmF2Y29kZWMvdmFhcGku aF0sIFsKKy0gICAgQUNfTVNHX05PVElDRShbVkEgQVBJIGFjY2VsZXJhdGlvbiBhY3RpdmF0ZWRd KQorLSAgICBoYXZlX2F2Y29kZWNfdmFhcGk9InllcyIKKy0gIF0sWworLSAgICBBU19JRihbdGVz dCAtbiAiJHtlbmFibGVfbGlidmF9Il0sIFsKKy0gICAgICBBQ19NU0dfRVJST1IoW2xpYnZhIGlz IHByZXNlbnQgYnV0IGxpYmF2Y29kZWMvdmFhcGkuaCBpcyBtaXNzaW5nXSkKKy0gICAgXSwgWwor LSAgICAgIEFDX01TR19XQVJOKFtsaWJ2YSBpcyBwcmVzZW50IGJ1dCBsaWJhdmNvZGVjL3ZhYXBp LmggaXMgbWlzc2luZyBdKQorLSAgICBdKQorLSAgXSkKKy0gIFZMQ19SRVNUT1JFX0ZMQUdTCist XSkKKy1BTV9DT05ESVRJT05BTChbSEFWRV9BVkNPREVDX1ZBQVBJXSwgW3Rlc3QgIiR7aGF2ZV9h dmNvZGVjX3ZhYXBpfSIgPSAieWVzIl0pCisrQU1fQ09ORElUSU9OQUwoW0hBVkVfQVZDT0RFQ19W QUFQSV0sIFt0ZXN0ICIke2hhdmVfdmFhcGl9IiA9ICJ5ZXMiIC1hICIke2hhdmVfYXZjb2RlY30i ID0gInllcyJdKQorIAorIGRubAorIGRubCBkeHZhMiBuZWVkcyBhdmNvZGVjCitkaWZmIC0tZ2l0 IGEvbW9kdWxlcy9jb2RlYy9NYWtlZmlsZS5hbSBiL21vZHVsZXMvY29kZWMvTWFrZWZpbGUuYW0K K2luZGV4IDZkOTQ2NWZkYWVmOS4uZGQwNDM5MWMxYmY3IDEwMDY0NAorLS0tIGEvbW9kdWxlcy9j b2RlYy9NYWtlZmlsZS5hbQorKysrIGIvbW9kdWxlcy9jb2RlYy9NYWtlZmlsZS5hbQorQEAgLTQx Niw3ICs0MTYsNyBAQCBsaWJ2YWFwaV9wbHVnaW5fbGFfU09VUkNFUyA9IFwKKyAJY29kZWMvYXZj b2RlYy92YWFwaS5jIGh3L3ZhYXBpL3ZsY192YWFwaS5jIGh3L3ZhYXBpL3ZsY192YWFwaS5oCisg bGlidmFhcGlfcGx1Z2luX2xhX0NQUEZMQUdTID0gJChBTV9DUFBGTEFHUykKKyBsaWJ2YWFwaV9w bHVnaW5fbGFfQ0ZMQUdTID0gJChBTV9DRkxBR1MpICQoQVZDT0RFQ19DRkxBR1MpCistbGlidmFh cGlfcGx1Z2luX2xhX0xJQkFERCA9ICQoTElCVkFfTElCUykKKytsaWJ2YWFwaV9wbHVnaW5fbGFf TElCQUREID0gJChMSUJWQV9MSUJTKSAkKEFWQ09ERUNfTElCUykKKyBpZiBIQVZFX0FWQ09ERUNf VkFBUEkKKyBpZiBIQVZFX1ZBQVBJX0RSTQorIGNvZGVjX0xUTElCUkFSSUVTICs9IGxpYnZhYXBp X2RybV9wbHVnaW4ubGEKK2RpZmYgLS1naXQgYS9tb2R1bGVzL2NvZGVjL2F2Y29kZWMvYXZjb21t b25fY29tcGF0LmggYi9tb2R1bGVzL2NvZGVjL2F2Y29kZWMvYXZjb21tb25fY29tcGF0LmgKK2lu ZGV4IGFjMDJjMDZkMjMzOS4uOGFiNjkxMGYzMjUwIDEwMDY0NAorLS0tIGEvbW9kdWxlcy9jb2Rl Yy9hdmNvZGVjL2F2Y29tbW9uX2NvbXBhdC5oCisrKysgYi9tb2R1bGVzL2NvZGVjL2F2Y29kZWMv YXZjb21tb25fY29tcGF0LmgKK0BAIC04NCw2ICs4NCw5IEBACisgI2lmbmRlZiBGRl9BUElfQVZJ T19XUklURV9OT05DT05TVCAvLyByZW1vdmVkIGluIGZmbXBlZyA3CisgIyBkZWZpbmUgRkZfQVBJ X0FWSU9fV1JJVEVfTk9OQ09OU1QgKExJQkFWRk9STUFUX1ZFUlNJT05fTUFKT1IgPCA2MSkKKyAj ZW5kaWYKKysjaWZuZGVmIEZGX0FQSV9TVFJVQ1RfVkFBUElfQ09OVEVYVAorKyMgZGVmaW5lIEZG X0FQSV9TVFJVQ1RfVkFBUElfQ09OVEVYVCAoTElCQVZDT0RFQ19WRVJTSU9OX01BSk9SIDwgNTkp CisrI2VuZGlmCisgCisgI2VuZGlmIC8qIEhBVkVfTElCQVZDT0RFQ19BVkNPREVDX0ggKi8KKyAK K2RpZmYgLS1naXQgYS9tb2R1bGVzL2NvZGVjL2F2Y29kZWMvdmFhcGkuYyBiL21vZHVsZXMvY29k ZWMvYXZjb2RlYy92YWFwaS5jCitpbmRleCBjODMyNjllNDNmMzAuLmUyMDNiYWFmOWVlMiAxMDA2 NDQKKy0tLSBhL21vZHVsZXMvY29kZWMvYXZjb2RlYy92YWFwaS5jCisrKysgYi9tb2R1bGVzL2Nv ZGVjL2F2Y29kZWMvdmFhcGkuYworQEAgLTQyLDEyICs0MiwyNSBAQAorICMgaW5jbHVkZSA8dmEv dmFfZHJtLmg+CisgI2VuZGlmCisgI2luY2x1ZGUgPGxpYmF2Y29kZWMvYXZjb2RlYy5oPgorKyNp ZiBGRl9BUElfU1RSVUNUX1ZBQVBJX0NPTlRFWFQKKyAjaW5jbHVkZSA8bGliYXZjb2RlYy92YWFw aS5oPgorKyNlbHNlCisrI2luY2x1ZGUgPGxpYmF2dXRpbC9od2NvbnRleHRfdmFhcGkuaD4KKysj ZW5kaWYKKyAKKyAjaW5jbHVkZSAiYXZjb2RlYy5oIgorICNpbmNsdWRlICJ2YS5oIgorICNpbmNs dWRlICIuLi8uLi9ody92YWFwaS92bGNfdmFhcGkuaCIKKyAKKysjaWYgIUZGX0FQSV9TVFJVQ1Rf VkFBUElfQ09OVEVYVAorK3N0cnVjdCB2YWFwaV9jb250ZXh0CisreworKyAgICBWQURpc3BsYXkg ZGlzcGxheTsKKysgICAgVkFDb25maWdJRCBjb25maWdfaWQ7CisrICAgIFZBQ29udGV4dElEIGNv bnRleHRfaWQ7CisrfTsKKysjZW5kaWYKKysKKyBzdHJ1Y3QgdmxjX3ZhX3N5c190CisgeworICAg ICBzdHJ1Y3QgdmxjX3ZhYXBpX2luc3RhbmNlICp2YV9pbnN0OworQEAgLTE0NSw4ICsxNTgsMTAg QEAgc3RhdGljIHZvaWQgRGVsZXRlKHZsY192YV90ICp2YSwgdm9pZCAqKmh3Y3R4KQorIAorICAg ICAodm9pZCkgaHdjdHg7CisgCistICAgIHZsY192YWFwaV9EZXN0cm95Q29udGV4dChvLCBzeXMt Pmh3X2N0eC5kaXNwbGF5LCBzeXMtPmh3X2N0eC5jb250ZXh0X2lkKTsKKy0gICAgdmxjX3ZhYXBp X0Rlc3Ryb3lDb25maWcobywgc3lzLT5od19jdHguZGlzcGxheSwgc3lzLT5od19jdHguY29uZmln X2lkKTsKKysgICAgaWYgKHN5cy0+aHdfY3R4LmNvbnRleHRfaWQgIT0gVkFfSU5WQUxJRF9JRCkK KysgICAgICAgIHZsY192YWFwaV9EZXN0cm95Q29udGV4dChvLCBzeXMtPmh3X2N0eC5kaXNwbGF5 LCBzeXMtPmh3X2N0eC5jb250ZXh0X2lkKTsKKysgICAgaWYgKHN5cy0+aHdfY3R4LmNvbmZpZ19p ZCAhPSBWQV9JTlZBTElEX0lEKQorKyAgICAgICAgdmxjX3ZhYXBpX0Rlc3Ryb3lDb25maWcobywg c3lzLT5od19jdHguZGlzcGxheSwgc3lzLT5od19jdHguY29uZmlnX2lkKTsKKyAgICAgdmxjX3Zh YXBpX1JlbGVhc2VJbnN0YW5jZShzeXMtPnZhX2luc3QpOworICAgICBmcmVlKHN5cyk7CisgfQor QEAgLTE5Niw2ICsyMTEsNyBAQCBzdGF0aWMgaW50IENyZWF0ZSh2bGNfdmFfdCAqdmEsIEFWQ29k ZWNDb250ZXh0ICpjdHgsIGNvbnN0IEFWUGl4Rm10RGVzY3JpcHRvciAqZAorICAgICBzeXMtPmh3 X2N0eC5jb25maWdfaWQgPSBWQV9JTlZBTElEX0lEOworICAgICBzeXMtPmh3X2N0eC5jb250ZXh0 X2lkID0gVkFfSU5WQUxJRF9JRDsKKyAKKysjaWYgRkZfQVBJX1NUUlVDVF9WQUFQSV9DT05URVhU CisgICAgIHN5cy0+aHdfY3R4LmNvbmZpZ19pZCA9CisgICAgICAgICB2bGNfdmFhcGlfQ3JlYXRl Q29uZmlnQ2hlY2tlZChvLCBzeXMtPmh3X2N0eC5kaXNwbGF5LCBpX3Byb2ZpbGUsCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBWQUVudHJ5cG9pbnRWTEQsIGlfdmxjX2No cm9tYSk7CitAQCAtMjExLDYgKzIyNywyNCBAQCBzdGF0aWMgaW50IENyZWF0ZSh2bGNfdmFfdCAq dmEsIEFWQ29kZWNDb250ZXh0ICpjdHgsIGNvbnN0IEFWUGl4Rm10RGVzY3JpcHRvciAqZAorICAg ICAgICAgZ290byBlcnJvcjsKKyAKKyAgICAgY3R4LT5od2FjY2VsX2NvbnRleHQgPSAmc3lzLT5o d19jdHg7CisrI2Vsc2UKKysgICAgQVZCdWZmZXJSZWYgKmh3ZGV2X3JlZiA9IGF2X2h3ZGV2aWNl X2N0eF9hbGxvYyhBVl9IV0RFVklDRV9UWVBFX1ZBQVBJKTsKKysgICAgaWYgKGh3ZGV2X3JlZiA9 PSBOVUxMKQorKyAgICAgICAgZ290byBlcnJvcjsKKysKKysgICAgQVZIV0RldmljZUNvbnRleHQg Kmh3ZGV2X2N0eCA9ICh2b2lkICopIGh3ZGV2X3JlZi0+ZGF0YTsKKysgICAgQVZWQUFQSURldmlj ZUNvbnRleHQgKnZhZGV2X2N0eCA9IGh3ZGV2X2N0eC0+aHdjdHg7CisrICAgIHZhZGV2X2N0eC0+ ZGlzcGxheSA9IHZhX2RweTsKKysKKysgICAgaWYgKGF2X2h3ZGV2aWNlX2N0eF9pbml0KGh3ZGV2 X3JlZikgPCAwKQorKyAgICB7CisrICAgICAgICBhdl9idWZmZXJfdW5yZWYoJmh3ZGV2X3JlZik7 CisrICAgICAgICBnb3RvIGVycm9yOworKyAgICB9CisrCisrICAgIGN0eC0+aHdfZGV2aWNlX2N0 eCA9IGh3ZGV2X3JlZjsKKysjZW5kaWYKKysKKyAgICAgdmEtPnN5cyA9IHN5czsKKyAgICAgdmEt PmRlc2NyaXB0aW9uID0gdmFRdWVyeVZlbmRvclN0cmluZyhzeXMtPmh3X2N0eC5kaXNwbGF5KTsK KyAgICAgdmEtPmdldCA9IEdldDsKKy0tIAorR2l0TGFiCisKCmRpZmYgLS1naXQgYS92YWFwaS13 aXRob3V0LWZmbWVwZzQucGF0Y2ggYi92YWFwaS13aXRob3V0LWZmbWVwZzQucGF0Y2gKZGVsZXRl ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGM3MWEzOTkuLjAwMDAwMDAKLS0tIGEvdmFhcGktd2l0 aG91dC1mZm1lcGc0LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTggKzAsMCBAQAotYXZjb2Rl Y192YWFwaSByZXF1aXJlcyBmZm1wZWctNCwgYnV0IG90aGVyIHZhYXBpIG1vZHVsZXMgY2FuIGJl IGJ1aWx0Ci0KLWRpZmYgLS1naXQgYS9jb25maWd1cmUuYWMgYi9jb25maWd1cmUuYWMKLWluZGV4 IDY5YmViNzcuLmM3ZjcxNDIgMTAwNjQ0Ci0tLS0gYS9jb25maWd1cmUuYWMKLSsrKyBiL2NvbmZp Z3VyZS5hYwotQEAgLTI0NTQsOSArMjQ1NCw5IEBAIEFTX0lGKFt0ZXN0ICIke2hhdmVfdmFhcGl9 IiA9ICJ5ZXMiIC1hICIke2hhdmVfYXZjb2RlY30iID0gInllcyJdLCBbCi0gICAgIGhhdmVfYXZj b2RlY192YWFwaT0ieWVzIgotICAgXSxbCi0gICAgIEFTX0lGKFt0ZXN0IC1uICIke2VuYWJsZV9s aWJ2YX0iXSwgWwotLSAgICAgIEFDX01TR19FUlJPUihbbGlidmEgaXMgcHJlc2VudCBidXQgbGli YXZjb2RlYy92YWFwaS5oIGlzIG1pc3NpbmddKQotKyAgICAgIEFDX01TR19XQVJOKFtsaWJ2YSBp cyBwcmVzZW50IGJ1dCBsaWJhdmNvZGVjL3ZhYXBpLmggaXMgbWlzc2luZ10pCi0gICAgIF0sIFsK LS0gICAgICBBQ19NU0dfV0FSTihbbGlidmEgaXMgcHJlc2VudCBidXQgbGliYXZjb2RlYy92YWFw aS5oIGlzIG1pc3NpbmcgXSkKLSsgICAgICBBQ19NU0dfTk9USUNFKFtsaWJ2YSBpcyBwcmVzZW50 IGJ1dCBsaWJhdmNvZGVjL3ZhYXBpLmggaXMgbWlzc2luZyBdKQotICAgICBdKQotICAgXSkKLSAg IFZMQ19SRVNUT1JFX0ZMQUdTCgpkaWZmIC0tZ2l0IGEvdmxjLnNwZWMgYi92bGMuc3BlYwppbmRl eCAxZDYyYWU5Li4yZGNmMDE3IDEwMDY0NAotLS0gYS92bGMuc3BlYworKysgYi92bGMuc3BlYwpA QCAtMzcsMTggKzM3LDIyIEBAIFNvdXJjZToJCW1hY3Jvcy52bGMKICMjIHVwc3RyZWFtIHBhdGNo ZXMKICMgb3B1c19oZWFkZXI6IGZpeCBjaGFubmVsIG1hcHBpbmcgZmFtaWx5IDEgcGFyc2luZyAo cmhieiMyMzA3OTE5KQogUGF0Y2g6CQlodHRwczovL2NvZGUudmlkZW9sYW4ub3JnL3ZpZGVvbGFu L3ZsYy8tL21lcmdlX3JlcXVlc3RzLzU1OTAucGF0Y2gKKyMgYWRkIHN1cHBvcnQgZm9yIGZmbXBl ZyA3LjAgKHdpdGhvdXQgVkFBUEkpCitQYXRjaDoJCWh0dHBzOi8vY29kZS52aWRlb2xhbi5vcmcv dmlkZW9sYW4vdmxjLy0vbWVyZ2VfcmVxdWVzdHMvNTU3NC5wYXRjaAorIyBtdXg6IGF2Zm9ybWF0 OiBmaXggYXZpbyBjYWxsYmFja3Mgc2lnbmF0dXJlIHdpdGggZmZtcGVnIDYuMQorUGF0Y2g6CQlo dHRwczovL2NvZGUudmlkZW9sYW4ub3JnL3ZpZGVvbGFuL3ZsYy8tL21lcmdlX3JlcXVlc3RzLzYx NjgucGF0Y2gKKyMgZmZtcGVnOiBiYWNrcG9ydCBtb3JlIGNoYW5uZWwgY2hlY2tzCitQYXRjaDoJ CWh0dHBzOi8vY29kZS52aWRlb2xhbi5vcmcvdmlkZW9sYW4vdmxjLy0vbWVyZ2VfcmVxdWVzdHMv NjI3My5wYXRjaAorIyBhdmNvZGVjOiB2YWFwaTogc3VwcG9ydCBWQUFQSSB3aXRoIGxhdGVzdCBG Rm1wZWcKK1BhdGNoOgkJaHR0cHM6Ly9jb2RlLnZpZGVvbGFuLm9yZy92aWRlb2xhbi92bGMvLS9t ZXJnZV9yZXF1ZXN0cy82NjA2LnBhdGNoCiAKICMjIHVwc3RyZWFtYWJsZSBwYXRjaGVzCi0jIGFk ZCBzdXBwb3J0IGZvciBmZm1wZWcgNy4wCi1QYXRjaDoJCWh0dHBzOi8vY29kZS52aWRlb2xhbi5v cmcvdmlkZW9sYW4vdmxjLy0vbWVyZ2VfcmVxdWVzdHMvNTU3NC5wYXRjaAogCiAjIyBkb3duc3Ry ZWFtIHBhdGNoZXMKICMgaHR0cHM6Ly9mZWRvcmFwcm9qZWN0Lm9yZy93aWtpL0NoYW5nZXMvQ3J5 cHRvUG9saWN5CiBQYXRjaDoJCTAwMDEtVXNlLVNZU1RFTS13aWRlLWNpcGhlcnMtZm9yLWdudXRs cy5wYXRjaAogIyBGaXggYnVpbGRpbmcgd2l0aCBmZGstYWFjLTIuMDsgYmFja3BvcnQgZm9yIDMu MCBmcm9tIGZsYXRodWIKIFBhdGNoOgkJZmRrLWFhYzIucGF0Y2gKLSMgc2VwYXJhdGUgYXZjb2Rl Yy12YWFwaSBjb25kaXRpb25hbCBmcm9tIG90aGVyIHZhYXBpIG1vZHVsZXMKLVBhdGNoOgkJdmFh cGktd2l0aG91dC1mZm1lcGc0LnBhdGNoCiAjIHBvcnQgZnJvbSBpbnRlbC1tZWRpYXNkayB0byBv bmVWUEwKIFBhdGNoOgkJb25lVlBMLnBhdGNoCiAjIGZpeCBhcHBzdHJlYW1jbGkgdmFsaWRhdGUg dG8gc2hvdyBpbiBTb2Z0d2FyZSAocmhieiMyMjU4NjExKQpAQCAtMTE0OCw2ICsxMTUyLDggQEAg bWFrZSBjaGVjawogJWZpbGVzIHBsdWdpbi1mZm1wZWcKICV7dmxjX3BsdWdpbmRpcn0vYWNjZXNz L2xpYmF2aW9fcGx1Z2luLnNvCiAle3ZsY19wbHVnaW5kaXJ9L2NvZGVjL2xpYmF2Y29kZWNfcGx1 Z2luLnNvCisle3ZsY19wbHVnaW5kaXJ9L2NvZGVjL2xpYnZhYXBpX2RybV9wbHVnaW4uc28KKyV7 dmxjX3BsdWdpbmRpcn0vY29kZWMvbGlidmFhcGlfcGx1Z2luLnNvCiAle3ZsY19wbHVnaW5kaXJ9 L2RlbXV4L2xpYmF2Zm9ybWF0X3BsdWdpbi5zbwogJXt2bGNfcGx1Z2luZGlyfS9wYWNrZXRpemVy L2xpYnBhY2tldGl6ZXJfYXZwYXJzZXJfcGx1Z2luLnNvCiAle3ZsY19wbHVnaW5kaXJ9L3N0cmVh bV9vdXQvbGlic3RyZWFtX291dF9jaHJvbWFwcmludF9wbHVnaW4uc28K