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: =?utf-8?q?Marc-Andr=C3=A9_Lureau_=3Cmarcandre=2Elureau=40redhat=2Ecom=3E?= To: git-commits@fedoraproject.org Subject: [rpms/spice] f44: Backport keyboad & mouse state leak fix Date: Tue, 21 Jul 2026 13:50:29 GMT Message-ID: <178464182913.1.12364526697103947110.rpms-spice-a18e5e1b7748@fedoraproject.org> List-ID: X-Git-Repo: rpms/spice X-Git-Branch: f44 X-Git-Rev: a18e5e1b77486ff2235a2f32293b00942a5b4b4b QSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KClJlcG8gICA6IHJwbXMvc3BpY2UKQnJhbmNo IDogZjQ0CkNvbW1pdCA6IGExOGU1ZTFiNzc0ODZmZjIyMzVhMmYzMjI5M2IwMDk0MmE1YjRiNGIK QXV0aG9yIDogTWFyYy1BbmRyw6kgTHVyZWF1IDxtYXJjYW5kcmUubHVyZWF1QHJlZGhhdC5jb20+ CkRhdGUgICA6IDIwMjYtMDctMjFUMTc6NTA6MTUrMDQ6MDAKU3RhdHMgIDogKzE3My8tMSBpbiAy IGZpbGUocykKVVJMICAgIDogaHR0cHM6Ly9zcmMuZmVkb3JhcHJvamVjdC5vcmcvcnBtcy9zcGlj ZS9jL2ExOGU1ZTFiNzc0ODZmZjIyMzVhMmYzMjI5M2IwMDk0MmE1YjRiNGI/YnJhbmNoPWY0NAoK TG9nOgpCYWNrcG9ydCBrZXlib2FkICYgbW91c2Ugc3RhdGUgbGVhayBmaXgKCi0tLQpkaWZmIC0t Z2l0IGEvMDAwMS1pbnB1dHMtRml4LWtleWJvYXJkLWFuZC1tb3VzZS1zdGF0ZS1sZWFrcy1vbi1p bnRlcmZhLnBhdGNoIGIvMDAwMS1pbnB1dHMtRml4LWtleWJvYXJkLWFuZC1tb3VzZS1zdGF0ZS1s ZWFrcy1vbi1pbnRlcmZhLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAu LmFjM2ZhMGUKLS0tIC9kZXYvbnVsbAorKysgYi8wMDAxLWlucHV0cy1GaXgta2V5Ym9hcmQtYW5k LW1vdXNlLXN0YXRlLWxlYWtzLW9uLWludGVyZmEucGF0Y2gKQEAgLTAsMCArMSwxNjggQEAKK0Zy b20gYzNlZmU2OWVjZGNiNmMxYjlkNzM1NjBkMGNmZGY4OGYxMDlmMjM5NSBNb24gU2VwIDE3IDAw OjAwOjAwIDIwMDEKK0Zyb206ID0/VVRGLTg/cT9NYXJjLUFuZHI9QzM9QTk9MjBMdXJlYXU/PSA8 bWFyY2FuZHJlLmx1cmVhdUByZWRoYXQuY29tPgorRGF0ZTogRnJpLCAyMiBNYXkgMjAyNiAyMTo0 NzoxNyArMDQwMAorU3ViamVjdDogW1BBVENIXSBpbnB1dHM6IEZpeCBrZXlib2FyZCBhbmQgbW91 c2Ugc3RhdGUgbGVha3Mgb24gaW50ZXJmYWNlCisgcmVtb3ZhbAorTUlNRS1WZXJzaW9uOiAxLjAK K0NvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOAorQ29udGVudC1UcmFuc2Zl ci1FbmNvZGluZzogOGJpdAorCitTcGljZUtiZFN0YXRlIGFuZCBTcGljZU1vdXNlU3RhdGUgYWxs b2NhdGVkIGJ5IHNldF9rZXlib2FyZCgpL3NldF9tb3VzZSgpCit3ZXJlIG5ldmVyIGZyZWVkIOKA lCByZW1vdmVfaW50ZXJmYWNlKCkgaGFkIG5vIGhhbmRsZXIgZm9yIEtFWUJPQVJEIG9yIE1PVVNF Cit0eXBlcywgYW5kIHRoZSBJbnB1dHNDaGFubmVsIGRlc3RydWN0b3Igb25seSBjbGVhbmVkIHVw IHRoZSB0YWJsZXQuCisKK0FkZCBkZXRhY2hfa2V5Ym9hcmQoKS9kZXRhY2hfbW91c2UoKSBmb2xs b3dpbmcgdGhlIGV4aXN0aW5nIGRldGFjaF90YWJsZXQoKQorcGF0dGVybiwgY2FsbCB0aGVtIGZy b20gdGhlIGRlc3RydWN0b3IgYW5kIGZyb20gcmVtb3ZlX2ludGVyZmFjZSgpLgorCitBbHNvIGdp dmUgU3BpY2VNb3VzZVN0YXRlIGEgUmVkc1N0YXRlIGJhY2stcG9pbnRlciAocmVwbGFjaW5nIHRo ZSBkdW1teQorZmllbGQpIHNvIHJlbW92ZV9pbnRlcmZhY2UoKSBjYW4gbG9jYXRlIHRoZSBzZXJ2 ZXIsIG1hdGNoaW5nIHRoZSB0YWJsZXQKK3N0YXRlIGRlc2lnbi4KKworQ28tQXV0aG9yZWQtQnk6 IENsYXVkZSBPcHVzIDQuNiA8bm9yZXBseUBhbnRocm9waWMuY29tPgorLS0tCisgc2VydmVyL2lu cHV0cy1jaGFubmVsLmNwcCB8IDQwICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr LS0tLQorIHNlcnZlci9pbnB1dHMtY2hhbm5lbC5oICAgfCAgNCArKysrCisgc2VydmVyL3JlZHMu Y3BwICAgICAgICAgICB8IDE2ICsrKysrKysrKysrKysrLS0KKyAzIGZpbGVzIGNoYW5nZWQsIDU0 IGluc2VydGlvbnMoKyksIDYgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9zZXJ2ZXIvaW5w dXRzLWNoYW5uZWwuY3BwIGIvc2VydmVyL2lucHV0cy1jaGFubmVsLmNwcAoraW5kZXggMDI5ZGFk NGEuLjM3ZGUxMDUxIDEwMDY0NAorLS0tIGEvc2VydmVyL2lucHV0cy1jaGFubmVsLmNwcAorKysr IGIvc2VydmVyL2lucHV0cy1jaGFubmVsLmNwcAorQEAgLTU2LDEyICs1NiwxNCBAQCBzdGF0aWMg U3BpY2VLYmRTdGF0ZSogc3BpY2Vfa2JkX3N0YXRlX25ldyhJbnB1dHNDaGFubmVsICppbnB1dHMp CisgfQorIAorIHN0cnVjdCBTcGljZU1vdXNlU3RhdGUgeworLSAgICBpbnQgZHVtbXk7CisrICAg IFJlZHNTdGF0ZSAqcmVkczsKKyB9OworIAorLXN0YXRpYyBTcGljZU1vdXNlU3RhdGUqIHNwaWNl X21vdXNlX3N0YXRlX25ldygpCisrc3RhdGljIFNwaWNlTW91c2VTdGF0ZSogc3BpY2VfbW91c2Vf c3RhdGVfbmV3KFJlZHNTdGF0ZSAqcmVkcykKKyB7CistICAgIHJldHVybiBnX25ldzAoU3BpY2VN b3VzZVN0YXRlLCAxKTsKKysgICAgYXV0byBzdCA9IGdfbmV3MChTcGljZU1vdXNlU3RhdGUsIDEp OworKyAgICBzdC0+cmVkcyA9IHJlZHM7CisrICAgIHJldHVybiBzdDsKKyB9CisgCisgc3RydWN0 IFNwaWNlVGFibGV0U3RhdGUgeworQEAgLTg1LDYgKzg3LDE2IEBAIFJlZHNTdGF0ZSogc3BpY2Vf dGFibGV0X3N0YXRlX2dldF9zZXJ2ZXIoU3BpY2VUYWJsZXRTdGF0ZSAqc3QpCisgICAgIHJldHVy biBzdC0+cmVkczsKKyB9CisgCisrUmVkc1N0YXRlKiBzcGljZV9rYmRfc3RhdGVfZ2V0X3NlcnZl cihTcGljZUtiZFN0YXRlICpzdCkKKyt7CisrICAgIHJldHVybiBzdC0+aW5wdXRzLT5nZXRfc2Vy dmVyKCk7CisrfQorKworK1JlZHNTdGF0ZSogc3BpY2VfbW91c2Vfc3RhdGVfZ2V0X3NlcnZlcihT cGljZU1vdXNlU3RhdGUgKnN0KQorK3sKKysgICAgcmV0dXJuIHN0LT5yZWRzOworK30KKysKKyBz dHJ1Y3QgUmVkS2V5TW9kaWZpZXJzUGlwZUl0ZW06IHB1YmxpYyBSZWRQaXBlSXRlbU51bTxSRURf UElQRV9JVEVNX0tFWV9NT0RJRklFUlM+IHsKKyAgICAgZXhwbGljaXQgUmVkS2V5TW9kaWZpZXJz UGlwZUl0ZW0odWludDhfdCBtb2RpZmllcnMpOworICAgICB1aW50OF90IG1vZGlmaWVyczsKK0BA IC01MzAsNiArNTQyLDggQEAgSW5wdXRzQ2hhbm5lbDo6SW5wdXRzQ2hhbm5lbChSZWRzU3RhdGUg KnJlZHMpOgorIAorIElucHV0c0NoYW5uZWw6On5JbnB1dHNDaGFubmVsKCkKKyB7CisrICAgIGRl dGFjaF9rZXlib2FyZChrZXlib2FyZCk7CisrICAgIGRldGFjaF9tb3VzZShtb3VzZSk7CisgICAg IGRldGFjaF90YWJsZXQodGFibGV0KTsKKyAgICAgcmVkX3RpbWVyX3JlbW92ZShrZXlfbW9kaWZp ZXJzX3RpbWVyKTsKKyB9CitAQCAtNTUyLDcgKzU2Niw3IEBAIGludCBJbnB1dHNDaGFubmVsOjpz ZXRfbW91c2UoU3BpY2VNb3VzZUluc3RhbmNlICpuZXdfbW91c2UpCisgICAgICAgICByZXR1cm4g LTE7CisgICAgIH0KKyAgICAgbW91c2UgPSBuZXdfbW91c2U7CistICAgIG1vdXNlLT5zdCA9IHNw aWNlX21vdXNlX3N0YXRlX25ldygpOworKyAgICBtb3VzZS0+c3QgPSBzcGljZV9tb3VzZV9zdGF0 ZV9uZXcoZ2V0X3NlcnZlcigpKTsKKyAgICAgcmV0dXJuIDA7CisgfQorIAorQEAgLTU4MSw2ICs1 OTUsMjQgQEAgdm9pZCBJbnB1dHNDaGFubmVsOjpkZXRhY2hfdGFibGV0KFNwaWNlVGFibGV0SW5z dGFuY2UgKm9sZF90YWJsZXQpCisgICAgIHRhYmxldCA9IG51bGxwdHI7CisgfQorIAorK3ZvaWQg SW5wdXRzQ2hhbm5lbDo6ZGV0YWNoX2tleWJvYXJkKFNwaWNlS2JkSW5zdGFuY2UgKm9sZF9rZXli b2FyZCkKKyt7CisrICAgIGlmIChvbGRfa2V5Ym9hcmQgIT0gbnVsbHB0ciAmJiBvbGRfa2V5Ym9h cmQgPT0ga2V5Ym9hcmQpIHsKKysgICAgICAgIGdfZnJlZShvbGRfa2V5Ym9hcmQtPnN0KTsKKysg ICAgICAgIG9sZF9rZXlib2FyZC0+c3QgPSBudWxscHRyOworKyAgICB9CisrICAgIGtleWJvYXJk ID0gbnVsbHB0cjsKKyt9CisrCisrdm9pZCBJbnB1dHNDaGFubmVsOjpkZXRhY2hfbW91c2UoU3Bp Y2VNb3VzZUluc3RhbmNlICpvbGRfbW91c2UpCisreworKyAgICBpZiAob2xkX21vdXNlICE9IG51 bGxwdHIgJiYgb2xkX21vdXNlID09IG1vdXNlKSB7CisrICAgICAgICBnX2ZyZWUob2xkX21vdXNl LT5zdCk7CisrICAgICAgICBvbGRfbW91c2UtPnN0ID0gbnVsbHB0cjsKKysgICAgfQorKyAgICBt b3VzZSA9IG51bGxwdHI7CisrfQorKworIGJvb2wgSW5wdXRzQ2hhbm5lbDo6aXNfc3JjX2R1cmlu Z19taWdyYXRlKCkgY29uc3QKKyB7CisgICAgIHJldHVybiBzcmNfZHVyaW5nX21pZ3JhdGU7Citk aWZmIC0tZ2l0IGEvc2VydmVyL2lucHV0cy1jaGFubmVsLmggYi9zZXJ2ZXIvaW5wdXRzLWNoYW5u ZWwuaAoraW5kZXggZDgwOTNlZjkuLjg2NmM1NzE0IDEwMDY0NAorLS0tIGEvc2VydmVyL2lucHV0 cy1jaGFubmVsLmgKKysrKyBiL3NlcnZlci9pbnB1dHMtY2hhbm5lbC5oCitAQCAtNDYsNiArNDYs OCBAQCBwdWJsaWM6CisgICAgIGludCBzZXRfdGFibGV0KFNwaWNlVGFibGV0SW5zdGFuY2UgKnRh YmxldCk7CisgICAgIGJvb2wgaGFzX3RhYmxldCgpIGNvbnN0OworICAgICB2b2lkIGRldGFjaF90 YWJsZXQoU3BpY2VUYWJsZXRJbnN0YW5jZSAqdGFibGV0KTsKKysgICAgdm9pZCBkZXRhY2hfa2V5 Ym9hcmQoU3BpY2VLYmRJbnN0YW5jZSAqa2V5Ym9hcmQpOworKyAgICB2b2lkIGRldGFjaF9tb3Vz ZShTcGljZU1vdXNlSW5zdGFuY2UgKm1vdXNlKTsKKyAKKyBwcml2YXRlOgorICAgICBWREFnZW50 TW91c2VTdGF0ZSBtb3VzZV9zdGF0ZTsKK0BAIC03Nyw2ICs3OSw4IEBAIHByaXZhdGU6CisgcmVk OjpzaGFyZWRfcHRyPElucHV0c0NoYW5uZWw+IGlucHV0c19jaGFubmVsX25ldyhSZWRzU3RhdGUg KnJlZHMpOworIAorIFJlZHNTdGF0ZSAqc3BpY2VfdGFibGV0X3N0YXRlX2dldF9zZXJ2ZXIoU3Bp Y2VUYWJsZXRTdGF0ZSAqc3QpOworK1JlZHNTdGF0ZSAqc3BpY2Vfa2JkX3N0YXRlX2dldF9zZXJ2 ZXIoU3BpY2VLYmRTdGF0ZSAqc3QpOworK1JlZHNTdGF0ZSAqc3BpY2VfbW91c2Vfc3RhdGVfZ2V0 X3NlcnZlcihTcGljZU1vdXNlU3RhdGUgKnN0KTsKKyAKKyAjaW5jbHVkZSAicG9wLXZpc2liaWxp dHkuaCIKKyAKK2RpZmYgLS1naXQgYS9zZXJ2ZXIvcmVkcy5jcHAgYi9zZXJ2ZXIvcmVkcy5jcHAK K2luZGV4IDIzODM3YjQwLi40YmViNmU2YyAxMDA2NDQKKy0tLSBhL3NlcnZlci9yZWRzLmNwcAor KysrIGIvc2VydmVyL3JlZHMuY3BwCitAQCAtMzM2MCw3ICszMzYwLDE5IEBAIFNQSUNFX0dOVUNf VklTSUJMRSBpbnQgc3BpY2Vfc2VydmVyX3JlbW92ZV9pbnRlcmZhY2UoU3BpY2VCYXNlSW5zdGFu Y2UgKnNpbikKKyAgICAgZ19yZXR1cm5fdmFsX2lmX2ZhaWwoc2luICE9IG51bGxwdHIsIC0xKTsK KyAKKyAgICAgYmFzZV9pbnRlcmZhY2UgPSBzaW4tPnNpZjsKKy0gICAgaWYgKHN0cmNtcChiYXNl X2ludGVyZmFjZS0+dHlwZSwgU1BJQ0VfSU5URVJGQUNFX1RBQkxFVCkgPT0gMCkgeworKyAgICBp ZiAoc3RyY21wKGJhc2VfaW50ZXJmYWNlLT50eXBlLCBTUElDRV9JTlRFUkZBQ0VfS0VZQk9BUkQp ID09IDApIHsKKysgICAgICAgIFNwaWNlS2JkSW5zdGFuY2UgKmtiZCA9IFNQSUNFX1VQQ0FTVChT cGljZUtiZEluc3RhbmNlLCBzaW4pOworKyAgICAgICAgZ19yZXR1cm5fdmFsX2lmX2ZhaWwoa2Jk LT5zdCAhPSBudWxscHRyLCAtMSk7CisrICAgICAgICByZWRzID0gc3BpY2Vfa2JkX3N0YXRlX2dl dF9zZXJ2ZXIoa2JkLT5zdCk7CisrICAgICAgICBzcGljZV9kZWJ1ZygicmVtb3ZlIFNQSUNFX0lO VEVSRkFDRV9LRVlCT0FSRCIpOworKyAgICAgICAgcmVkcy0+aW5wdXRzX2NoYW5uZWwtPmRldGFj aF9rZXlib2FyZChrYmQpOworKyAgICB9IGVsc2UgaWYgKHN0cmNtcChiYXNlX2ludGVyZmFjZS0+ dHlwZSwgU1BJQ0VfSU5URVJGQUNFX01PVVNFKSA9PSAwKSB7CisrICAgICAgICBTcGljZU1vdXNl SW5zdGFuY2UgKm1vdXNlID0gU1BJQ0VfVVBDQVNUKFNwaWNlTW91c2VJbnN0YW5jZSwgc2luKTsK KysgICAgICAgIGdfcmV0dXJuX3ZhbF9pZl9mYWlsKG1vdXNlLT5zdCAhPSBudWxscHRyLCAtMSk7 CisrICAgICAgICByZWRzID0gc3BpY2VfbW91c2Vfc3RhdGVfZ2V0X3NlcnZlcihtb3VzZS0+c3Qp OworKyAgICAgICAgc3BpY2VfZGVidWcoInJlbW92ZSBTUElDRV9JTlRFUkZBQ0VfTU9VU0UiKTsK KysgICAgICAgIHJlZHMtPmlucHV0c19jaGFubmVsLT5kZXRhY2hfbW91c2UobW91c2UpOworKyAg ICB9IGVsc2UgaWYgKHN0cmNtcChiYXNlX2ludGVyZmFjZS0+dHlwZSwgU1BJQ0VfSU5URVJGQUNF X1RBQkxFVCkgPT0gMCkgeworICAgICAgICAgU3BpY2VUYWJsZXRJbnN0YW5jZSAqdGFibGV0ID0g U1BJQ0VfVVBDQVNUKFNwaWNlVGFibGV0SW5zdGFuY2UsIHNpbik7CisgICAgICAgICBnX3JldHVy bl92YWxfaWZfZmFpbCh0YWJsZXQtPnN0ICE9IG51bGxwdHIsIC0xKTsKKyAgICAgICAgIHJlZHMg PSBzcGljZV90YWJsZXRfc3RhdGVfZ2V0X3NlcnZlcih0YWJsZXQtPnN0KTsKK0BAIC0zMzg3LDcg KzMzOTksNyBAQCBTUElDRV9HTlVDX1ZJU0lCTEUgaW50IHNwaWNlX3NlcnZlcl9yZW1vdmVfaW50 ZXJmYWNlKFNwaWNlQmFzZUluc3RhbmNlICpzaW4pCisgICAgICAgICByZWRzLT5xeGxfaW5zdGFu Y2VzLnJlbW92ZShxeGwpOyAvLyBYWFggb3duaW5nCisgICAgICAgICByZWRfcXhsX2Rlc3Ryb3ko cXhsKTsKKyAgICAgfSBlbHNlIHsKKy0gICAgICAgIHNwaWNlX3dhcm5pbmcoIlZEX0lOVEVSRkFD RV9SRU1PVklORyB1bnN1cHBvcnRlZCIpOworKyAgICAgICAgc3BpY2Vfd2FybmluZygiJXMgaW50 ZXJmYWNlIHJlbW92aW5nIGlzIHVuc3VwcG9ydGVkIiwgYmFzZV9pbnRlcmZhY2UtPnR5cGUpOwor ICAgICAgICAgcmV0dXJuIC0xOworICAgICB9CisgCistLSAKKzIuNTUuMAorCgpkaWZmIC0tZ2l0 IGEvc3BpY2Uuc3BlYyBiL3NwaWNlLnNwZWMKaW5kZXggMDExNmM2Yi4uNzNjOWJlYiAxMDA2NDQK LS0tIGEvc3BpY2Uuc3BlYworKysgYi9zcGljZS5zcGVjCkBAIC0xLDYgKzEsNiBAQAogTmFtZTog ICAgICAgICAgIHNwaWNlCiBWZXJzaW9uOiAgICAgICAgMC4xNi4wCi1SZWxlYXNlOiAgICAgICAg NCV7P2Rpc3R9CitSZWxlYXNlOiAgICAgICAgNSV7P2Rpc3R9CiBTdW1tYXJ5OiAgICAgICAgSW1w bGVtZW50cyB0aGUgU1BJQ0UgcHJvdG9jb2wKICMgQXV0b21hdGljYWxseSBjb252ZXJ0ZWQgZnJv bSBvbGQgZm9ybWF0OiBMR1BMdjIrIC0gcmV2aWV3IGlzIGhpZ2hseSByZWNvbW1lbmRlZC4KIExp Y2Vuc2U6ICAgICAgICBMaWNlbnNlUmVmLUNhbGxhd2F5LUxHUEx2MisKQEAgLTgsNiArOCw3IEBA IFVSTDogICAgICAgICAgICBodHRwOi8vd3d3LnNwaWNlLXNwYWNlLm9yZy8KIFNvdXJjZTA6ICAg ICAgICBodHRwOi8vd3d3LnNwaWNlLXNwYWNlLm9yZy9kb3dubG9hZC9yZWxlYXNlcy8le25hbWV9 LSV7dmVyc2lvbn0udGFyLmJ6MgogUGF0Y2gwMDAwOiAgICAgIDAwMDEtdGVzdC1nc3QtRml4LWNv bXBpbGF0aW9uLWVycm9yLnBhdGNoCiBQYXRjaDAwMDE6ICAgICAgMDAwMS10ZXN0LWRpc3BsYXkt YmFzZS1GaXgtQy1kZXNpZ25hdGVkLWluaXRpYWxpemVyLWZvci1hLnBhdGNoCitQYXRjaDAwMDI6 ICAgICAgMDAwMS1pbnB1dHMtRml4LWtleWJvYXJkLWFuZC1tb3VzZS1zdGF0ZS1sZWFrcy1vbi1p bnRlcmZhLnBhdGNoCiAKICMgaHR0cHM6Ly9idWd6aWxsYS5yZWRoYXQuY29tL3Nob3dfYnVnLmNn aT9pZD02MTM1MjkKICVpZiAwJXs/cmhlbH0gJiYgMCV7P3JoZWx9IDw9IDcKQEAgLTk5LDYgKzEw MCw5IEBAIHVzaW5nIHNwaWNlLXNlcnZlciwgeW91IHdpbGwgbmVlZCB0byBpbnN0YWxsIHNwaWNl LXNlcnZlci1kZXZlbC4KIAogCiAlY2hhbmdlbG9nCisqIFR1ZSBKdWwgMjEgMjAyNiBNYXJjLUFu ZHLDqSBMdXJlYXUgPG1hcmNhbmRyZS5sdXJlYXVAcmVkaGF0LmNvbT4gLSAwLjE2LjAtNQorLSBC YWNrcG9ydCBrZXlib2FkICYgbW91c2Ugc3RhdGUgbGVhayBmaXguCisKICogVGh1IEphbiAyOSAy MDI2IE1hcmMtQW5kcsOpIEx1cmVhdSA8bWFyY2FuZHJlLmx1cmVhdUByZWRoYXQuY29tPiAtIDAu MTYuMC00CiAtIEZpeCBGVEJGUyBpbiByYXdoaWRlLiByaGJ6IzI0MzUxMTkKIAo=