From mboxrd@z Thu Jan 1 00:00:00 1970 From: Oleksandr Andrushchenko Subject: [PATCH v2 1/2] xen/kbdif: update protocol documentation Date: Thu, 26 Jan 2017 09:46:46 +0200 Message-ID: <1485416807-30535-2-git-send-email-andr2000@gmail.com> References: <1485416807-30535-1-git-send-email-andr2000@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta6.messagelabs.com ([193.109.254.103]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cWell-0004Kk-RJ for xen-devel@lists.xenproject.org; Thu, 26 Jan 2017 07:46:58 +0000 Received: by mail-wm0-f67.google.com with SMTP id r126so48385566wmr.3 for ; Wed, 25 Jan 2017 23:46:56 -0800 (PST) In-Reply-To: <1485416807-30535-1-git-send-email-andr2000@gmail.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: xen-devel@lists.xenproject.org Cc: sstabellini@kernel.org, vlad.babchuk@gmail.com, Oleksandr Andrushchenko , andrii.anisov@gmail.com, olekstysh@gmail.com, andr2000@gmail.com, al1img@gmail.com, joculator@gmail.com List-Id: xen-devel@lists.xenproject.org RnJvbTogT2xla3NhbmRyIEFuZHJ1c2hjaGVua28gPG9sZWtzYW5kcl9hbmRydXNoY2hlbmtvQGVw YW0uY29tPgoKUmV2aWV3ZWQtYnk6IFN0ZWZhbm8gU3RhYmVsbGluaSA8c3N0YWJlbGxpbmlAa2Vy bmVsLm9yZz4KU2lnbmVkLW9mZi1ieTogT2xla3NhbmRyIEFuZHJ1c2hjaGVua28gPG9sZWtzYW5k cl9hbmRydXNoY2hlbmtvQGVwYW0uY29tPgotLS0KIHhlbi9pbmNsdWRlL3B1YmxpYy9pby9rYmRp Zi5oIHwgMjQ4ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLQogMSBm aWxlIGNoYW5nZWQsIDIyMSBpbnNlcnRpb25zKCspLCAyNyBkZWxldGlvbnMoLSkKCmRpZmYgLS1n aXQgYS94ZW4vaW5jbHVkZS9wdWJsaWMvaW8va2JkaWYuaCBiL3hlbi9pbmNsdWRlL3B1YmxpYy9p by9rYmRpZi5oCmluZGV4IDJkMmFlYmRkM2YyOC4uNDQ2YWVkMjQ3OGI1IDEwMDY0NAotLS0gYS94 ZW4vaW5jbHVkZS9wdWJsaWMvaW8va2JkaWYuaAorKysgYi94ZW4vaW5jbHVkZS9wdWJsaWMvaW8v a2JkaWYuaApAQCAtMjYsNDYgKzI2LDIyNiBAQAogI2lmbmRlZiBfX1hFTl9QVUJMSUNfSU9fS0JE SUZfSF9fCiAjZGVmaW5lIF9fWEVOX1BVQkxJQ19JT19LQkRJRl9IX18KIAotLyogSW4gZXZlbnRz IChiYWNrZW5kIC0+IGZyb250ZW5kKSAqLworLyoKKyAqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICog ICAgICAgICAgICAgICAgICAgICBGZWF0dXJlIGFuZCBQYXJhbWV0ZXIgTmVnb3RpYXRpb24KKyAq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKgorICoKKyAqIFRoZSB0d28gaGFsdmVzIG9mIGEgcGFyYS12aXJ0 dWFsIGRyaXZlciB1dGlsaXplIG5vZGVzIHdpdGhpbgorICogWGVuU3RvcmUgdG8gY29tbXVuaWNh dGUgY2FwYWJpbGl0aWVzIGFuZCB0byBuZWdvdGlhdGUgb3BlcmF0aW5nIHBhcmFtZXRlcnMuCisg KiBUaGlzIHNlY3Rpb24gZW51bWVyYXRlcyB0aGVzZSBub2RlcyB3aGljaCByZXNpZGUgaW4gdGhl IHJlc3BlY3RpdmUgZnJvbnQgYW5kCisgKiBiYWNrZW5kIHBvcnRpb25zIG9mIFhlblN0b3JlLCBm b2xsb3dpbmcgWGVuQnVzIGNvbnZlbnRpb24uCisgKgorICogQWxsIGRhdGEgaW4gWGVuU3RvcmUg aXMgc3RvcmVkIGFzIHN0cmluZ3MuICBOb2RlcyBzcGVjaWZ5aW5nIG51bWVyaWMKKyAqIHZhbHVl cyBhcmUgZW5jb2RlZCBpbiBkZWNpbWFsLiBJbnRlZ2VyIHZhbHVlIHJhbmdlcyBsaXN0ZWQgYmVs b3cgYXJlCisgKiBleHByZXNzZWQgYXMgZml4ZWQgc2l6ZWQgaW50ZWdlciB0eXBlcyBjYXBhYmxl IG9mIHN0b3JpbmcgdGhlIGNvbnZlcnNpb24KKyAqIG9mIGEgcHJvcGVybHkgZm9ybWF0ZWQgbm9k ZSBzdHJpbmcsIHdpdGhvdXQgbG9zcyBvZiBpbmZvcm1hdGlvbi4KKyAqCisgKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioKKyAqICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJhY2tlbmQgWGVuQnVzIE5v ZGVzCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCisgKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0gRmVhdHVyZXMgc3VwcG9ydGVkIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAq CisgKiBDYXBhYmxlIGJhY2tlbmQgYWR2ZXJ0aXNlcyBzdXBwb3J0ZWQgZmVhdHVyZXMgYnkgcHVi bGlzaGluZworICogY29ycmVzcG9uZGluZyBlbnRyaWVzIGluIFhlblN0b3JlIGFuZCBwdXRzIDEg YXMgdGhlIHZhbHVlIG9mIHRoZSBlbnRyeS4KKyAqIElmIGEgZmVhdHVyZSBpcyBub3Qgc3VwcG9y dGVkIHRoZW4gMCBtdXN0IGJlIHNldCBvciBmZWF0dXJlIGVudHJ5IG9taXR0ZWQuCisgKgorICog ZmVhdHVyZS1hYnMtcG9pbnRlcgorICogICAgICBWYWx1ZXM6ICAgICAgICAgPHVpbnQ+CisgKgor ICogICAgICBCYWNrZW5kcywgd2hpY2ggc3VwcG9ydCByZXBvcnRpbmcgb2YgYWJzb2x1dGUgY29v cmRpbmF0ZXMgZm9yIHBvaW50ZXIKKyAqICAgICAgZGV2aWNlIHNob3VsZCBzZXQgdGhpcyB0byAx LgorICoKKyAqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBQb2ludGVyIERldmljZSBQYXJhbWV0 ZXJzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICoKKyAqIHdpZHRoCisgKiAgICAgIFZhbHVl czogICAgICAgICA8dWludD4KKyAqCisgKiAgICAgIE1heGltdW0gWCBjb29yZGluYXRlICh3aWR0 aCkgdG8gYmUgdXNlZCBieSB0aGUgZnJvbnRlbmQKKyAqICAgICAgd2hpbGUgcmVwb3J0aW5nIGlu cHV0IGV2ZW50cywgcGl4ZWxzLCBbMDsgVUlOVDMyX01BWF0uCisgKgorICogaGVpZ2h0CisgKiAg ICAgIFZhbHVlczogICAgICAgICA8dWludD4KKyAqCisgKiAgICAgIE1heGltdW0gWSBjb29yZGlu YXRlIChoZWlnaHQpIHRvIGJlIHVzZWQgYnkgdGhlIGZyb250ZW5kCisgKiAgICAgIHdoaWxlIHJl cG9ydGluZyBpbnB1dCBldmVudHMsIHBpeGVscywgWzA7IFVJTlQzMl9NQVhdLgorICoKKyAqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKgorICogICAgICAgICAgICAgICAgICAgICAgICAgICAgRnJvbnRlbmQg WGVuQnVzIE5vZGVzCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCisgKi0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLSBGZWF0dXJlIHJlcXVlc3QgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0KKyAqCisgKiBDYXBhYmxlIGZyb250ZW5kIHJlcXVlc3RzIGZlYXR1cmVzIGZyb20gYmFj a2VuZCB2aWEgc2V0dGluZyBjb3JyZXNwb25kaW5nCisgKiBlbnRyaWVzIHRvIDEgaW4gWGVuU3Rv cmUuIFJlcXVlc3RzIGZvciBmZWF0dXJlcyBub3QgYWR2ZXJ0aXNlZCBhcyBzdXBwb3J0ZWQKKyAq IGJ5IHRoZSBiYWNrZW5kIGhhdmUgbm8gZWZmZWN0LgorICoKKyAqIHJlcXVlc3QtYWJzLXBvaW50 ZXIKKyAqICAgICAgVmFsdWVzOiAgICAgICAgIDx1aW50PgorICoKKyAqICAgICAgUmVxdWVzdCBi YWNrZW5kIHRvIHJlcG9ydCBhYnNvbHV0ZSBwb2ludGVyIGNvb3JkaW5hdGVzCisgKiAgICAgIChY RU5LQkRfVFlQRV9QT1MpIGluc3RlYWQgb2YgcmVsYXRpdmUgb25lcyAoWEVOS0JEX1RZUEVfTU9U SU9OKS4KKyAqCisgKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIFJlcXVlc3QgVHJhbnNwb3J0IFBh cmFtZXRlcnMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAqCisgKiBldmVudC1jaGFubmVsCisg KiAgICAgIFZhbHVlczogICAgICAgICA8dWludD4KKyAqCisgKiAgICAgIFRoZSBpZGVudGlmaWVy IG9mIHRoZSBYZW4gZXZlbnQgY2hhbm5lbCB1c2VkIHRvIHNpZ25hbCBhY3Rpdml0eQorICogICAg ICBpbiB0aGUgcmluZyBidWZmZXIuCisgKgorICogcGFnZS1ncmVmCisgKiAgICAgIFZhbHVlczog ICAgICAgICA8dWludD4KKyAqCisgKiAgICAgIFRoZSBYZW4gZ3JhbnQgcmVmZXJlbmNlIGdyYW50 aW5nIHBlcm1pc3Npb24gZm9yIHRoZSBiYWNrZW5kIHRvIG1hcAorICogICAgICBhIHNvbGUgcGFn ZSBpbiBhIHNpbmdsZSBwYWdlIHNpemVkIGV2ZW50IHJpbmcgYnVmZmVyLgorICoKKyAqIHBhZ2Ut cmVmCisgKiAgICAgIFZhbHVlczogICAgICAgICA8dWludD4KKyAqCisgKiAgICAgIE9CU09MRVRF LCBub3QgcmVjb21tZW5kZWQgZm9yIHVzZS4KKyAqICAgICAgUEZOIG9mIHRoZSBzaGFyZWQgcGFn ZS4KKyAqLwogCiAvKgotICogRnJvbnRlbmRzIHNob3VsZCBpZ25vcmUgdW5rbm93biBpbiBldmVu dHMuCisgKiBFVkVOVCBDT0RFUy4KICAqLwogCi0vKiBQb2ludGVyIG1vdmVtZW50IGV2ZW50ICov Ci0jZGVmaW5lIFhFTktCRF9UWVBFX01PVElPTiAgMQotLyogRXZlbnQgdHlwZSAyIGN1cnJlbnRs eSBub3QgdXNlZCAqLwotLyogS2V5IGV2ZW50IChpbmNsdWRlcyBwb2ludGVyIGJ1dHRvbnMpICov Ci0jZGVmaW5lIFhFTktCRF9UWVBFX0tFWSAgICAgMworI2RlZmluZSBYRU5LQkRfVFlQRV9NT1RJ T04gICAgICAgICAgICAgMQorI2RlZmluZSBYRU5LQkRfVFlQRV9SRVNFUlZFRCAgICAgICAgICAg MgorI2RlZmluZSBYRU5LQkRfVFlQRV9LRVkgICAgICAgICAgICAgICAgMworI2RlZmluZSBYRU5L QkRfVFlQRV9QT1MgICAgICAgICAgICAgICAgNAorCiAvKgotICogUG9pbnRlciBwb3NpdGlvbiBl dmVudAotICogQ2FwYWJsZSBiYWNrZW5kIHNldHMgZmVhdHVyZS1hYnMtcG9pbnRlciBpbiB4ZW5z dG9yZS4KLSAqIEZyb250ZW5kIHJlcXVlc3RzIG90IGluc3RlYWQgb2YgWEVOS0JEX1RZUEVfTU9U SU9OIGJ5IHNldHRpbmcKLSAqIHJlcXVlc3QtYWJzLXVwZGF0ZSBpbiB4ZW5zdG9yZS4KKyAqIENP TlNUQU5UUywgWEVOU1RPUkUgRklFTEQgQU5EIFBBVEggTkFNRSBTVFJJTkdTLCBIRUxQRVJTLgor ICovCisKKyNkZWZpbmUgWEVOS0JEX0RSSVZFUl9OQU1FICAgICAgICAgICAgICJ2a2JkIgorCisj ZGVmaW5lIFhFTktCRF9GSUVMRF9GRUFUX0FCU19QT0lOVEVSICAiZmVhdHVyZS1hYnMtcG9pbnRl ciIKKyNkZWZpbmUgWEVOS0JEX0ZJRUxEX1JFUV9BQlNfUE9JTlRFUiAgICJyZXF1ZXN0LWFicy1w b2ludGVyIgorI2RlZmluZSBYRU5LQkRfRklFTERfUklOR19HUkVGICAgICAgICAgInBhZ2UtZ3Jl ZiIKKyNkZWZpbmUgWEVOS0JEX0ZJRUxEX0VWVF9DSEFOTkVMICAgICAgICJldmVudC1jaGFubmVs IgorI2RlZmluZSBYRU5LQkRfRklFTERfV0lEVEggICAgICAgICAgICAgIndpZHRoIgorI2RlZmlu ZSBYRU5LQkRfRklFTERfSEVJR0hUICAgICAgICAgICAgImhlaWdodCIKKworLyogT0JTT0xFVEUs IG5vdCByZWNvbW1lbmRlZCBmb3IgdXNlICovCisjZGVmaW5lIFhFTktCRF9GSUVMRF9SSU5HX1JF RiAgICAgICAgICAicGFnZS1yZWYiCisKKy8qCisgKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIERl c2NyaXB0aW9uIG9mIHRoZSBwcm90b2NvbCBiZXR3ZWVuIGZyb250ZW5kIGFuZCBiYWNrZW5kIGRy aXZlci4KKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoKKyAqIFRoZSB0d28gaGFsdmVzIG9mIGEg UGFyYS12aXJ0dWFsIGRyaXZlciBjb21tdW5pY2F0ZSB3aXRoCisgKiBlYWNoIG90aGVyIHVzaW5n IGEgc2hhcmVkIHBhZ2UgYW5kIGFuIGV2ZW50IGNoYW5uZWwuCisgKiBTaGFyZWQgcGFnZSBjb250 YWlucyBhIHJpbmcgd2l0aCBldmVudCBzdHJ1Y3R1cmVzLgorICoKKyAqIEFsbCByZXNlcnZlZCBm aWVsZHMgaW4gdGhlIHN0cnVjdHVyZXMgYmVsb3cgbXVzdCBiZSAwLgorICoKKyAqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKgorICogICAgICAgICAgICAgICAgICAgICAgICAgICBCYWNrZW5kIHRvIGZyb250 ZW5kIGV2ZW50cworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgorICogRnJvbnRlbmRzIHNob3Vs ZCBpZ25vcmUgdW5rbm93biBpbiBldmVudHMuCisgKiBBbGwgZXZlbnQgcGFja2V0cyBoYXZlIHRo ZSBzYW1lIGxlbmd0aCAoNDAgb2N0ZXRzKQorICogQWxsIGV2ZW50IHBhY2tldHMgaGF2ZSBjb21t b24gaGVhZGVyOgorICoKKyAqICAgICAgICAgIDAgICAgICAgICBvY3RldAorICogKy0tLS0tLS0t LS0tLS0tLS0tKworICogfCAgICAgICB0eXBlICAgICAgfAorICogKy0tLS0tLS0tLS0tLS0tLS0t KworICogdHlwZSAtIHVpbnQ4X3QsIGV2ZW50IGNvZGUsIFhFTktCRF9UWVBFXz8/PworICoKKyAq CisgKiBQb2ludGVyIHJlbGF0aXZlIG1vdmVtZW50IGV2ZW50CisgKiAgICAgICAgIDAgICAgICAg ICAgICAgICAgMSAgICAgICAgICAgICAgICAgMiAgICAgICAgICAgICAgIDMgICAgICAgIG9jdGV0 CisgKiArLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tLS0tLSsKKyAqIHwgIF9UWVBFX01PVElPTiAgfCAgICAgICAgICAgICAgICAg ICAgIHJlc2VydmVkICAgICAgICAgICAgICAgICAgICAgfCA0CisgKiArLS0tLS0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLSsKKyAq IHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVsX3ggICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgfCA4CisgKiArLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLSsKKyAqIHwgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgcmVsX3kgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAxMgorICog Ky0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0tLS0rCisgKiB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlbF96ICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgMTYKKyAqICstLS0tLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tKworICogfCAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzZXJ2ZWQgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB8IDIwCisgKiArLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLSsKKyAqIHwvXC9cL1wvXC9cL1wvXC9cL1wvXC9c L1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvfAorICogKy0tLS0t LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LS0tLS0rCisgKiB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNlcnZlZCAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHwgNDAKKyAqICstLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tKworICoKKyAqIHJlbF94 IC0gaW50MzJfdCwgcmVsYXRpdmUgWCBtb3Rpb24KKyAqIHJlbF95IC0gaW50MzJfdCwgcmVsYXRp dmUgWSBtb3Rpb24KKyAqIHJlbF96IC0gaW50MzJfdCwgcmVsYXRpdmUgWiBtb3Rpb24gKHdoZWVs KQogICovCi0jZGVmaW5lIFhFTktCRF9UWVBFX1BPUyAgICAgNAogCiBzdHJ1Y3QgeGVua2JkX21v dGlvbgogewotICAgIHVpbnQ4X3QgdHlwZTsgICAgICAgIC8qIFhFTktCRF9UWVBFX01PVElPTiAq LwotICAgIGludDMyX3QgcmVsX3g7ICAgICAgIC8qIHJlbGF0aXZlIFggbW90aW9uICovCi0gICAg aW50MzJfdCByZWxfeTsgICAgICAgLyogcmVsYXRpdmUgWSBtb3Rpb24gKi8KLSAgICBpbnQzMl90 IHJlbF96OyAgICAgICAvKiByZWxhdGl2ZSBaIG1vdGlvbiAod2hlZWwpICovCisgICAgdWludDhf dCB0eXBlOworICAgIGludDMyX3QgcmVsX3g7CisgICAgaW50MzJfdCByZWxfeTsKKyAgICBpbnQz Ml90IHJlbF96OwogfTsKIAorLyoKKyAqIEtleSBldmVudCAoaW5jbHVkZXMgcG9pbnRlciBidXR0 b25zKQorICogICAgICAgICAwICAgICAgICAgICAgICAgIDEgICAgICAgICAgICAgICAgIDIgICAg ICAgICAgICAgICAzICAgICAgICBvY3RldAorICogKy0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0rCisgKiB8ICBfVFlQRV9L RVkgICAgIHwgICAgIHByZXNzZWQgICAgfCAgICAgICAgICAgIHJlc2VydmVkICAgICAgICAgICAg IHwgNAorICogKy0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLS0tLS0rCisgKiB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg a2V5Y29kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgOAorICogKy0tLS0tLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0r CisgKiB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNlcnZlZCAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHwgMTIKKyAqICstLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tKworICogfC9cL1wvXC9cL1wvXC9c L1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC98Cisg KiArLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tLS0tLSsKKyAqIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc2VydmVk ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCA0MAorICogKy0tLS0tLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0rCisgKgor ICogcHJlc3NlZCAtIHVpbnQ4X3QsIDEgaWYgcHJlc3NlZDsgMCBvdGhlcndpc2UKKyAqIGtleWNv ZGUgLSB1aW50MzJfdCwgS0VZXyogZnJvbSBsaW51eC9pbnB1dC5oCisgKi8KKwogc3RydWN0IHhl bmtiZF9rZXkKIHsKLSAgICB1aW50OF90IHR5cGU7ICAgICAgICAgLyogWEVOS0JEX1RZUEVfS0VZ ICovCi0gICAgdWludDhfdCBwcmVzc2VkOyAgICAgIC8qIDEgaWYgcHJlc3NlZDsgMCBvdGhlcndp c2UgKi8KLSAgICB1aW50MzJfdCBrZXljb2RlOyAgICAgLyogS0VZXyogZnJvbSBsaW51eC9pbnB1 dC5oICovCisgICAgdWludDhfdCB0eXBlOworICAgIHVpbnQ4X3QgcHJlc3NlZDsKKyAgICB1aW50 MzJfdCBrZXljb2RlOwogfTsKIAorLyoKKyAqIFBvaW50ZXIgYWJzb2x1dGUgcG9zaXRpb24gZXZl bnQKKyAqICAgICAgICAgMCAgICAgICAgICAgICAgICAxICAgICAgICAgICAgICAgICAyICAgICAg ICAgICAgICAgMyAgICAgICAgb2N0ZXQKKyAqICstLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tKworICogfCAgX1RZUEVfUE9T ICAgICB8ICAgICAgICAgICAgICAgICAgICAgcmVzZXJ2ZWQgICAgICAgICAgICAgICAgICAgICB8 IDQKKyAqICstLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0tLS0tKworICogfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBh YnNfeCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IDgKKyAqICstLS0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tKwor ICogfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhYnNfeSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB8IDEyCisgKiArLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLSsKKyAqIHwgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgcmVsX3ogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAxNgor ICogKy0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLS0tLS0rCisgKiB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNlcnZl ZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgMjAKKyAqICstLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tKworICog fC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9c L1wvXC9cL1wvXC98CisgKiArLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLSsKKyAqIHwgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHJlc2VydmVkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCA0MAorICogKy0t LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tLS0tLS0rCisgKgorICogYWJzX3ggLSBpbnQzMl90LCBhYnNvbHV0ZSBYIHBvc2l0aW9uIChp biBGQiBwaXhlbHMpCisgKiBhYnNfeSAtIGludDMyX3QsIGFic29sdXRlIFkgcG9zaXRpb24gKGlu IEZCIHBpeGVscykKKyAqIHJlbF96IC0gaW50MzJfdCwgcmVsYXRpdmUgWiBtb3Rpb24gKHdoZWVs KQorICovCisKIHN0cnVjdCB4ZW5rYmRfcG9zaXRpb24KIHsKLSAgICB1aW50OF90IHR5cGU7ICAg ICAgICAvKiBYRU5LQkRfVFlQRV9QT1MgKi8KLSAgICBpbnQzMl90IGFic194OyAgICAgICAvKiBh YnNvbHV0ZSBYIHBvc2l0aW9uIChpbiBGQiBwaXhlbHMpICovCi0gICAgaW50MzJfdCBhYnNfeTsg ICAgICAgLyogYWJzb2x1dGUgWSBwb3NpdGlvbiAoaW4gRkIgcGl4ZWxzKSAqLwotICAgIGludDMy X3QgcmVsX3o7ICAgICAgIC8qIHJlbGF0aXZlIFogbW90aW9uICh3aGVlbCkgKi8KKyAgICB1aW50 OF90IHR5cGU7CisgICAgaW50MzJfdCBhYnNfeDsKKyAgICBpbnQzMl90IGFic195OworICAgIGlu dDMyX3QgcmVsX3o7CiB9OwogCiAjZGVmaW5lIFhFTktCRF9JTl9FVkVOVF9TSVpFIDQwCkBAIC03 OSwxMiArMjU5LDIyIEBAIHVuaW9uIHhlbmtiZF9pbl9ldmVudAogICAgIGNoYXIgcGFkW1hFTktC RF9JTl9FVkVOVF9TSVpFXTsKIH07CiAKLS8qIE91dCBldmVudHMgKGZyb250ZW5kIC0+IGJhY2tl bmQpICovCi0KIC8qCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqICAgICAgICAgICAgICAgICAg ICAgICAgICAgIEZyb250ZW5kIHRvIGJhY2tlbmQgZXZlbnRzCisgKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioKKyAqCiAgKiBPdXQgZXZlbnRzIG1heSBiZSBzZW50IG9ubHkgd2hlbiByZXF1ZXN0ZWQgYnkg YmFja2VuZCwgYW5kIHJlY2VpcHQKICAqIG9mIGFuIHVua25vd24gb3V0IGV2ZW50IGlzIGFuIGVy cm9yLgogICogTm8gb3V0IGV2ZW50cyBjdXJyZW50bHkgZGVmaW5lZC4KKworICogQWxsIGV2ZW50 IHBhY2tldHMgaGF2ZSB0aGUgc2FtZSBsZW5ndGggKDQwIG9jdGV0cykKKyAqIEFsbCBldmVudCBw YWNrZXRzIGhhdmUgY29tbW9uIGhlYWRlcjoKKyAqICAgICAgICAgIDAgICAgICAgICBvY3RldAor ICogKy0tLS0tLS0tLS0tLS0tLS0tKworICogfCAgICAgICB0eXBlICAgICAgfAorICogKy0tLS0t LS0tLS0tLS0tLS0tKworICogdHlwZSAtIHVpbnQ4X3QsIGV2ZW50IGNvZGUKICAqLwogCiAjZGVm aW5lIFhFTktCRF9PVVRfRVZFTlRfU0laRSA0MApAQCAtOTUsNyArMjg1LDExIEBAIHVuaW9uIHhl bmtiZF9vdXRfZXZlbnQKICAgICBjaGFyIHBhZFtYRU5LQkRfT1VUX0VWRU5UX1NJWkVdOwogfTsK IAotLyogc2hhcmVkIHBhZ2UgKi8KKy8qCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqICAgICAg ICAgICAgICAgICAgICAgICAgICAgIFNoYXJlZCBwYWdlCisgKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioK KyAqLwogCiAjZGVmaW5lIFhFTktCRF9JTl9SSU5HX1NJWkUgMjA0OAogI2RlZmluZSBYRU5LQkRf SU5fUklOR19MRU4gKFhFTktCRF9JTl9SSU5HX1NJWkUgLyBYRU5LQkRfSU5fRVZFTlRfU0laRSkK QEAgLTExOSw3ICszMTMsNyBAQCBzdHJ1Y3QgeGVua2JkX3BhZ2UKICAgICB1aW50MzJfdCBvdXRf Y29ucywgb3V0X3Byb2Q7CiB9OwogCi0jZW5kaWYKKyNlbmRpZiAvKiBfX1hFTl9QVUJMSUNfSU9f S0JESUZfSF9fICovCiAKIC8qCiAgKiBMb2NhbCB2YXJpYWJsZXM6Ci0tIAoyLjcuNAoKCl9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWls aW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cHM6Ly9saXN0cy54ZW4ub3JnL3hl bi1kZXZlbAo=