From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Andrushchenko, Oleksandr" Subject: [PATCH v8] This is ABI for the two halves of a Para-virtual sound driver to communicate with each to other. Date: Fri, 4 Nov 2016 22:51:33 +0200 Message-ID: <1478292693-4107-2-git-send-email-andr2000@gmail.com> References: <1478292693-4107-1-git-send-email-andr2000@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1478292693-4107-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: embedded-pv-devel@lists.xenproject.org Cc: lars.kurth@citrix.com, iurii.konovalenko@globallogic.com, xen-devel@lists.xensource.com, ian.campbell@citrix.com, vlad.babchuk@gmail.com, tim@xen.org, oleksandr.dmytryshyn@globallogic.com, ian.jackson@eu.citrix.com, andrii.anisov@gmail.com, olekstysh@gmail.com, andr2000@gmail.com, al1img@gmail.com, jbeulich@suse.com, keir.fraser@citrix.com, dario.faggioli@citrix.com, joculator@gmail.com List-Id: xen-devel@lists.xenproject.org U2lnbmVkLW9mZi1ieTogT2xla3NhbmRyIERteXRyeXNoeW4gPG9sZWtzYW5kci5kbXl0cnlzaHlu QGdsb2JhbGxvZ2ljLmNvbT4KU2lnbmVkLW9mZi1ieTogSXVyaWkgS29ub3ZhbGVua28gPGl1cmlp Lmtvbm92YWxlbmtvQGdsb2JhbGxvZ2ljLmNvbT4KU2lnbmVkLW9mZi1ieTogQW5kcnVzaGNoZW5r bywgT2xla3NhbmRyIDxhbmRyMjAwMEBnbWFpbC5jb20+ClNpZ25lZC1vZmYtYnk6IE9sZWtzYW5k ciBHcnl0c292IDxhbDFpbWdAZ21haWwuY29tPgotLS0KQ2hhbmdlcyBzaW5jZSB2MToKICogcmVt b3ZlZCBfX2F0dHJpYnV0ZV9fKChfX3BhY2tlZF9fKSkgZnJvbSBhbGwgc3RydWN0dXJlcyBkZWZp bml0aW9ucwoKQ2hhbmdlcyBzaW5jZSB2MjoKICogcmVtb3ZlZCBhbGwgQyBzdHJ1Y3R1cmVzCiAq IGFkZGVkIHByb3RvY29sIGRlc2NyaXB0aW9uIGJldHdlZW4gZnJvbnRlbmQgYW5kIGJhY2tlbmQg ZHJpdmVycwoKQ2hhbmdlcyBzaW5jZSB2MzoKICogZml4ZWQgc29tZSB0eXBvcwogKiByZW5hbWVk IFhFTlNORF9QQ01fRk9STUFUX0ZMT0FUXyoqIHRvIFhFTlNORF9QQ01fRk9STUFUX0YzMl8qKgog KiByZW5hbWVkIFhFTlNORF9QQ01fRk9STUFUX0ZMT0FUNjRfKiogdG8gWEVOU05EX1BDTV9GT1JN QVRfRjY0XyoqCiAqIGFkZGVkICdpZCcgZmllbGQgdG8gdGhlIHJlcXVlc3QgYW5kIHJlc3BvbnNl IHBhY2tldHMKICogcmVuYW1lZCAnc3RyZWFtX2lkJyB0byAnc3RyZWFtJyBpbiB0aGUgcGFja2V0 cyBkZXNjcmlwdGlvbgogKiByZW5hbWVkICdwY21fZGF0YV9yYXRlJyB0byAncGNtX3JhdGUnIGlu IHRoZSBwYWNrZXRzIGRlc2NyaXB0aW9uCiAqIHJlbmFtZWQgJ3BjbV9zdHJlYW1fdHlwZScgdG8g J3BjbV90eXBlJyBpbiB0aGUgcGFja2V0cyBkZXNjcmlwdGlvbgogKiByZW1vdmVkICdzdHJlYW1f aWQnIGZpZWxkIGZyb20gdGhlIHJlc3BvbnNlIHBhY2tldHMKCkNoYW5nZXMgc2luY2UgdjQ6CiAq IHJlbmFtZWQgJ3N0cmVhbV9pZCcgYmFjayB0byB0aGUgdG8gJ3N0cmVhbScgaW4gdGhlIHBhY2tl dHMgZGVzY3JpcHRpb24KICogbW92ZWQgJ2lkJyBmaWVsZCB0byB0aGUgdXBwZXIgcG9zaXRpb24g aW4gdGhlIHJlc3BvbnNlIHBhY2tldHMKCkNoYW5nZXMgc2luY2UgdjU6CiAqIFNsaWdodGx5IHJl d29ya2VkIHJlcXVlc3QvcmVzcG9uc2UgcGFja2V0cwogKiBTaXplIG9mIHRoZSByZXF1ZXN0L3Jl c3BvbnNlIHBhY2tldCBpcyBjaGFuZ2VkIHRvIHRoZSA2NCBieXRlcwogKiBOb3cgcGFyYW1ldGVy cyBmb3IgdGhlIFhFTlNORF9PUF9TRVRfVk9MVU1FL1hFTlNORF9PUF9HRVRfVk9MVU1FIGFyZQog ICBwYXNzZWQgdmlhIHNoYXJlZCBwYWdlCiAqIEFkZGVkIHBhcmFtZXRlcnMgZm9yIHRoZSBYZW5C dXMgbm9kZXMgKG5vdyBlYWNoIHN0cmVhbSBjYW4gYmUgbWFwcGVkCiAgIHRvIHRoZSBkZWZpbmVk IHNvdW5kIGRldmljZSBpbiB0aGUgYmFja2VuZCB1c2luZyB0aG9zZSBwYXJhbWV0ZXJzKQogKiBB ZGRlZCBYZW5CdXMgc3RhdGUgZGlhZ3JhbXMgZGVzY3JpcHRpb24KCkNoYW5nZXMgc2luY2UgdjY6 CiAqIFJld29ya2VkIHN0cmVhbXMgZGVzY3JpcHRpb24gIGluIHRoZSBCYWNrZW5kIFhlbkJ1cyBO b2RlcwoKQ2hhbmdlcyBzaW5jZSB2NzoKICogcmUtd29ya2VkIGJhY2tlbmQgZGV2aWNlIHBhcmFt ZXRlcnMgdG8gYmUgbW9yZSBnZW5lcmljIGFuZCBmbGV4aWJsZQogKiBleHRlbmRlZCBmcm9udGVu ZCBkZXZpY2UgcGFyYW1ldGVycwogKiBzbGlnaHRseSB1cGRhdGVkIHN0YXRlIG1hY2hpbmUgZGVz Y3JpcHRpb24gYWRkZWQgbXV0ZS91bm11dGUgY29tbWFuZHMKICogYWRkZWQgY29uc3RhbnRzIGZv ciBYZW5TdG9yZSBjb25maWd1cmF0aW9uIHN0cmluZ3MKICAgKGZpZWxkcywgUENNIGZvcm1hdHMg ZXRjLikKICogY2hhbmdlZCByZXF1ZXN0L3Jlc3BvbnNlIHN0cnVjdHVyZSBzaXplIGZyb20gNjQg b2N0ZXRzIHRvIDE2CiAqIGludHJvZHVjZWQgZHluYW1pYyBidWZmZXIgYWxsb2NhdGlvbiBpbnN0 ZWFkIG9mCiAgIHN0YXRpYyBYRU5TTkRfTUFYX1BBR0VTX1BFUl9SRVFVRVNUCiAqIHJlLXdvcmtl ZCBvcGVuIHJlcXVlc3QgdG8gYWxsb3cgZHluYW1pYyBidWZmZXIgYWxsb2NhdGlvbgogKiByZS13 b3JrZWQgcmVhZC93cml0ZS92b2x1bWUgcmVxdWVzdHMsIHNvIHRoZXkgZG9uJ3QgcGFzcyBncmVm czoKICAgYnVmZmVyIGZyb20gdGhlIG9wZW4gcmVxdWVzdCBpcyB1c2VkIGZvciB0aGVzZSBvcGVy YXRpb25zIHRvIHBhc3MgZGF0YQogKiBzcGVjaWZpZWQgdHlwZSBvZiB0aGUgdm9sdW1lIHZhbHVl IHRvIGJlIGEgc2lnbmVkIHZhbHVlIGluIHN0ZXBzCiAgIG9mIDAuMDAxIGRCbSwgd2hpbGUgMCBi ZWluZyAwZEJtLgogKiBhZGRlZCBMaW51eCBpbmNsdWRlIGZpbGUgd2l0aCBzdHJ1Y3R1cmUgZGVm aW5pdGlvbnMKLS0tCi0tLQogeGVuL2luY2x1ZGUvcHVibGljL2lvL3NuZGlmLmggICAgICAgfCA1 ODMgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiB4ZW4vaW5jbHVkZS9wdWJs aWMvaW8vc25kaWZfbGludXguaCB8IDExNCArKysrKysrCiAyIGZpbGVzIGNoYW5nZWQsIDY5NyBp bnNlcnRpb25zKCspCiBjcmVhdGUgbW9kZSAxMDA2NDQgeGVuL2luY2x1ZGUvcHVibGljL2lvL3Nu ZGlmLmgKIGNyZWF0ZSBtb2RlIDEwMDY0NCB4ZW4vaW5jbHVkZS9wdWJsaWMvaW8vc25kaWZfbGlu dXguaAoKZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL3B1YmxpYy9pby9zbmRpZi5oIGIveGVuL2lu Y2x1ZGUvcHVibGljL2lvL3NuZGlmLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw MC4uZGY3MDVhNgotLS0gL2Rldi9udWxsCisrKyBiL3hlbi9pbmNsdWRlL3B1YmxpYy9pby9zbmRp Zi5oCkBAIC0wLDAgKzEsNTgzIEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBzbmRpZi5o CisgKgorICogVW5pZmllZCBzb3VuZC1kZXZpY2UgSS9PIGludGVyZmFjZSBmb3IgWGVuIGd1ZXN0 IE9TZXMuCisgKgorICogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFy Z2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weQorICogb2YgdGhpcyBzb2Z0d2FyZSBh bmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgIlNvZnR3YXJlIiksIHRvCisg KiBkZWFsIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0 aG91dCBsaW1pdGF0aW9uIHRoZQorICogcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJn ZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yCisgKiBzZWxsIGNvcGll cyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0 d2FyZSBpcworICogZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcg Y29uZGl0aW9uczoKKyAqCisgKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBw ZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpbgorICogYWxsIGNvcGllcyBvciBz dWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuCisgKgorICogVEhFIFNPRlRXQVJF IElTIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJF U1MgT1IKKyAqIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJB TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLAorICogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBV UlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFCisgKiBBVVRI T1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VT IE9SIE9USEVSCisgKiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNU LCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORworICogRlJPTSwgT1VUIE9GIE9SIElOIENPTk5F Q1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUgorICogREVBTElOR1Mg SU4gVEhFIFNPRlRXQVJFLgorICoKKyAqIENvcHlyaWdodCAoQykgMjAxMy0yMDE1IEdsb2JhbExv Z2ljIEluYy4KKyAqIENvcHlyaWdodCAoQykgMjAxNiBFUEFNIFN5c3RlbXMgSW5jLgorICovCisK KyNpZm5kZWYgX19YRU5fUFVCTElDX0lPX1hFTlNORF9IX18KKyNkZWZpbmUgX19YRU5fUFVCTElD X0lPX1hFTlNORF9IX18KKworLyoKKyAqIEZyb250LT5iYWNrIG5vdGlmaWNhdGlvbnM6IFdoZW4g ZW5xdWV1aW5nIGEgbmV3IHJlcXVlc3QsIHNlbmRpbmcgYQorICogbm90aWZpY2F0aW9uIGNhbiBi ZSBtYWRlIGNvbmRpdGlvbmFsIG9uIHJlcV9ldmVudCAoaS5lLiwgdGhlIGdlbmVyaWMKKyAqIGhv bGQtb2ZmIG1lY2hhbmlzbSBwcm92aWRlZCBieSB0aGUgcmluZyBtYWNyb3MpLiBCYWNrZW5kcyBt dXN0IHNldAorICogcmVxX2V2ZW50IGFwcHJvcHJpYXRlbHkgKGUuZy4sIHVzaW5nIFJJTkdfRklO QUxfQ0hFQ0tfRk9SX1JFUVVFU1RTKCkpLgorICoKKyAqIEJhY2stPmZyb250IG5vdGlmaWNhdGlv bnM6IFdoZW4gZW5xdWV1aW5nIGEgbmV3IHJlc3BvbnNlLCBzZW5kaW5nIGEKKyAqIG5vdGlmaWNh dGlvbiBjYW4gYmUgbWFkZSBjb25kaXRpb25hbCBvbiByc3BfZXZlbnQgKGkuZS4sIHRoZSBnZW5l cmljCisgKiBob2xkLW9mZiBtZWNoYW5pc20gcHJvdmlkZWQgYnkgdGhlIHJpbmcgbWFjcm9zKS4g RnJvbnRlbmRzIG11c3Qgc2V0CisgKiByc3BfZXZlbnQgYXBwcm9wcmlhdGVseSAoZS5nLiwgdXNp bmcgUklOR19GSU5BTF9DSEVDS19GT1JfUkVTUE9OU0VTKCkpLgorICovCisKKy8qCisgKiBGZWF0 dXJlIGFuZCBQYXJhbWV0ZXIgTmVnb3RpYXRpb24KKyAqID09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PQorICogVGhlIHR3byBoYWx2ZXMgb2YgYSBQYXJhLXZpcnR1YWwgc291bmQgY2Fy ZCBkcml2ZXIgdXRpbGl6ZSBub2RlcyB3aXRoaW4gdGhlCisgKiBYZW5TdG9yZSB0byBjb21tdW5p Y2F0ZSBjYXBhYmlsaXRpZXMgYW5kIHRvIG5lZ290aWF0ZSBvcGVyYXRpbmcgcGFyYW1ldGVycy4K KyAqIFRoaXMgc2VjdGlvbiBlbnVtZXJhdGVzIHRoZXNlIG5vZGVzIHdoaWNoIHJlc2lkZSBpbiB0 aGUgcmVzcGVjdGl2ZSBmcm9udCBhbmQKKyAqIGJhY2tlbmQgcG9ydGlvbnMgb2YgdGhlIFhlblN0 b3JlLCBmb2xsb3dpbmcgdGhlIFhlbkJ1cyBjb252ZW50aW9uLgorICoKKyAqIEFsbCBkYXRhIGlu IHRoZSBYZW5TdG9yZSBpcyBzdG9yZWQgYXMgc3RyaW5ncy4gIE5vZGVzIHNwZWNpZnlpbmcgbnVt ZXJpYworICogdmFsdWVzIGFyZSBlbmNvZGVkIGluIGRlY2ltYWwuICBJbnRlZ2VyIHZhbHVlIHJh bmdlcyBsaXN0ZWQgYmVsb3cgYXJlCisgKiBleHByZXNzZWQgYXMgZml4ZWQgc2l6ZWQgaW50ZWdl ciB0eXBlcyBjYXBhYmxlIG9mIHN0b3JpbmcgdGhlIGNvbnZlcnNpb24KKyAqIG9mIGEgcHJvcGVy bHkgZm9ybWF0ZWQgbm9kZSBzdHJpbmcsIHdpdGhvdXQgbG9zcyBvZiBpbmZvcm1hdGlvbi4KKyAq CisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioKKyAqICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJh Y2tlbmQgWGVuQnVzIE5vZGVzCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCisgKi0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIEFkZHJlc3NpbmcgLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tCisgKgorICogSW5kaWNlcyB1c2VkIHRvIGFkZHJlc3MgZnJvbnRlbmRzLCBk cml2ZXIgaW5zdGFuY2VzLCBjYXJkcywKKyAqIGRldmljZXMgYW5kIHN0cmVhbXMuCisgKgorICog ZnJvbnRlbmQtaWQKKyAqICAgICAgVmFsdWVzOiAgICAgICAgIDx1aW50PgorICoKKyAqICAgICAg RG9tYWluIElEIG9mIHRoZSBzb3VuZCBmcm9udGVuZC4KKyAqCisgKiBkcnZfaWR4CisgKiAgICAg IFZhbHVlczogICAgICAgICA8dWludD4KKyAqCisgKiAgICAgIFplcm8gYmFzZWQgaW5kZXggb2Yg dGhlIHZpcnR1YWxpemVkIHNvdW5kIGRyaXZlciBpbnN0YW5jZSBpbiB0aGlzIGRvbWFpbi4KKyAq ICAgICAgTXVsdGlwbGUgUFYgZHJpdmVycyBhcmUgYWxsb3dlZCBpbiB0aGUgZG9tYWluIGF0IHRo ZSBzYW1lIHRpbWUuCisgKgorICogY2FyZF9pZHgKKyAqICAgICAgVmFsdWVzOiAgICAgICAgIDx1 aW50PgorICoKKyAqICAgICAgWmVybyBiYXNlZCBpbmRleCBvZiB0aGUgY2FyZCB3aXRoaW4gdGhl IGRyaXZlci4KKyAqCisgKiBkZXZfaWQKKyAqICAgICAgVmFsdWVzOiAgICAgICAgIDx1aW50Pgor ICoKKyAqICAgICAgVW5pcXVlICh3aXRoaW4gZ2l2ZW4gY2FyZCBpbnN0YW5jZSkgZGV2aWNlIElE LgorICogICAgICBEb2Vzbid0IGhhdmUgdG8gYmUgemVybyBiYXNlZCBhbmQvb3IgYmUgY29udGln dW91cy4KKyAqCisgKiBzdHJlYW1faWR4CisgKiAgICAgIFZhbHVlczogICAgICAgICA8dWludD4K KyAqCisgKiAgICAgIFplcm8gYmFzZWQgaW5kZXggb2YgdGhlIHN0cmVhbSBvZiB0aGUgZGV2aWNl LgorICoKKyAqIEV4YW1wbGUgZm9yIHRoZSBmcm9udGVuZCBydW5uaW5nIGluIGRvbWFpbiA1LCBp bnN0YW5jZSBvZiB0aGUgZHJpdmVyCisgKiBpbiB0aGUgZnJvbnQgaXMgMCAoc2luZ2xlIG9yIGZp cnN0IFBWIGRyaXZlciksIHNvdW5kIGNhcmQgMCwgZGV2aWNlIGlkIDIsCisgKiBmaXJzdCBzdHJl YW0gKDApOgorICogL2xvY2FsL2RvbWFpbi88ZnJvbnRlbmQtaWQ+L2RldmljZS92c25kLzxkcnZf aWR4Pi9jYXJkLzxjYXJkX2lkeD4vCisgKiAJZGV2aWNlLzxkZXZfaWQ+L3N0cmVhbS88c3RyZWFt X2lkeD4vdHlwZSA9ICJwIgorICogL2xvY2FsL2RvbWFpbi81L2RldmljZS92c25kLzAvY2FyZC8w L2RldmljZS8yL3N0cmVhbS8wL3R5cGUgPSAicCIKKyAqCisgKi0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0gUENNIHNldHRpbmdzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t CisgKgorICogRXZlcnkgdmlydHVhbGl6ZWQgc291bmQgZnJvbnRlbmQgaGFzIHNldCBvZiBjYXJk cywgZGV2aWNlcyBhbmQgc3RyZWFtcywgZWFjaAorICogaXMgaW5kaXZpZHVhbGx5IGNvbmZpZ3Vy ZWQuIFBhcnQgb2YgdGhlIFBDTSBjb25maWd1cmF0aW9uIGNhbiBiZSBkZWZpbmVkIGF0CisgKiBo aWdoZXIgbGV2ZWwgYW5kIGJlIGZ1bGx5IG9yIHBhcnRpYWxseSByZS11c2VkIGJ5IHRoZSB1bmRl cmx5aW5nIGxheWVycy4KKyAqIFRoZXNlIGNvbmZpZ3VyYXRpb24gdmFsdWVzIGFyZToKKyAqICBv IG51bWJlciBvZiBjaGFubmVscyAobWluL21heCkKKyAqICBvIHN1cHBvcnRlZCBzYW1wbGUgcmF0 ZXMKKyAqICBvIHN1cHBvcnRlZCBzYW1wbGUgZm9ybWF0cy4KKyAqIEUuZy4gb25lIGNhbiBkZWZp bmUgdGhlc2UgdmFsdWVzIGZvciB0aGUgd2hvbGUgY2FyZCwgd2hvbGUgZGV2aWNlIG9yIHN0cmVh bS4KKyAqIEV2ZXJ5IHVuZGVybHlpbmcgbGF5ZXIgaW4gdHVybiBjYW4gcmUtZGVmaW5lIHNvbWUg b3IgYWxsIG9mIHRoZW0gdG8gYmV0dGVyCisgKiBmaXQgaXRzIG5lZWRzLiBGb3IgZXhhbXBsZSwg Y2FyZCBtYXkgZGVmaW5lIG51bWJlciBvZiBjaGFubmVscyB0byBiZQorICogaW4gWzE7IDhdIHJh bmdlLCBhbmQgc29tZSBwYXJ0aWN1bGFyIHN0cmVhbSBtYXkgYmUgbGltaXRlZCB0byBbMTsgMl0g b25seS4KKyAqIFRoZSBydWxlIGlzIHRoYXQgdGhlIHVuZGVybHlpbmcgbGF5ZXIgbXVzdCBiZSBh IHN1YnNldCBvZiB0aGUgdXBwZXIgbGF5ZXIKKyAqIHJhbmdlLgorICoKKyAqIGNoYW5uZWxzLW1p bgorICogICAgICBWYWx1ZXM6ICAgICAgICAgPHN0cmluZyByZXByZXNlbnRpbmcgYSBwb3NpdGl2 ZSBpbnRlZ2VyPgorICoKKyAqICAgICAgVGhlIG1pbmltdW0gYW1vdW50IG9mIGNoYW5uZWxzIHRo YXQgaXMgc3VwcG9ydGVkLgorICogICAgICBNdXN0IGJlIGF0IGxlYXN0IDEuIElmIG5vdCBkZWZp bmVkIHRoZW4gdXNlIGZyb250ZW5kJ3MgZGVmYXVsdC4KKyAqCisgKiBjaGFubmVscy1tYXgKKyAq ICAgICAgVmFsdWVzOiAgICAgICAgIDxzdHJpbmcgcmVwcmVzZW50aW5nIGEgcG9zaXRpdmUgaW50 ZWdlcj4KKyAqCisgKiAgICAgIFRoZSBtYXhpbXVtIGFtb3VudCBvZiBjaGFubmVscyB0aGF0IGlz IHN1cHBvcnRlZC4KKyAqICAgICAgTXVzdCBiZSBhdCBsZWFzdCA8Y2hhbm5lbHMtbWluPi4gSWYg bm90IGRlZmluZWQgdGhlbiB1c2UgZnJvbnRlbmQncworICogICAgICBkZWZhdWx0LgorICoKKyAq IHNhbXBsZS1yYXRlcworICogICAgICBWYWx1ZXM6ICAgICAgICAgPGxpc3Qgb2YgdWludHM+Cisg KgorICogICAgICBMaXN0IG9mIHN1cHBvcnRlZCBzYW1wbGUgcmF0ZXMgc2VwYXJhdGVkIGJ5IFhF TlNORF9MSVNUX1NFUEFSQVRPUi4KKyAqICAgICAgSWYgbm90IGRlZmluZWQgdGhlbiB1c2UgZnJv bnRlbmQncyBkZWZhdWx0LgorICoKKyAqIHNhbXBsZS1mb3JtYXRzCisgKiAgICAgIFZhbHVlczog ICAgICAgICA8bGlzdCBvZiBYRU5TTkRfUENNX0ZPUk1BVF9YWFhfU1RSPgorICoKKyAqICAgICAg TGlzdCBvZiBzdXBwb3J0ZWQgc2FtcGxlIGZvcm1hdHMgc2VwYXJhdGVkIGJ5IFhFTlNORF9MSVNU X1NFUEFSQVRPUi4KKyAqICAgICAgSWYgbm90IGRlZmluZWQgdGhlbiB1c2UgZnJvbnRlbmQncyBk ZWZhdWx0LgorICoKKyAqIGJ1ZmZlci1zaXplCisgKiAgICAgIFZhbHVlczogICAgICAgICA8c3Ry aW5nIHJlcHJlc2VudGluZyBhIHBvc2l0aXZlIGludGVnZXI+CisgKgorICogICAgICBUaGUgbWF4 aW11bSBzaXplIGluIG9jdGV0cyBvZiB0aGUgYnVmZmVyIHRvIGFsbG9jYXRlIHBlciBzdHJlYW0u CisgKgorICogRXhhbXBsZSBjb25maWd1cmF0aW9uOgorICoKKyAqIENhcmQgY29uZmlndXJhdGlv biB1c2VkIGJ5IGFsbCBzdHJlYW1zOgorICogL2xvY2FsL2RvbWFpbi81L2RldmljZS92c25kLzAv Y2FyZC8wL3NhbXBsZS1mb3JtYXRzID0gInM4O3U4O3MxNl9sZTtzMTZfYmUiCisgKiBTdHJlYW0g b3ZlcnJpZGVzIHNhbXBsZSByYXRlcyBzdXBwb3J0ZWQ6CisgKiAvbG9jYWwvZG9tYWluLzUvZGV2 aWNlL3ZzbmQvMC9jYXJkLzEvZGV2aWNlLzIvc3RyZWFtLzAvc2FtcGxlLXJhdGVzID0gIjgwMDA7 MjIwNTA7NDQxMDA7NDgwMDAiCisgKgorICotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0g Q2FyZCBzZXR0aW5ncyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICogc2hvcnQt bmFtZQorICogICAgICBWYWx1ZXM6ICAgICAgICAgPGNoYXJbMzJdPgorICoKKyAqICAgICAgU2hv cnQgbmFtZSBvZiB0aGUgY2FyZC4KKyAqCisgKiBsb25nLW5hbWUKKyAqICAgICAgVmFsdWVzOiAg ICAgICAgIDxjaGFyWzgwXT4KKyAqCisgKiAgICAgIExvbmcgbmFtZSBvZiB0aGUgY2FyZC4KKyAq CisgKiBGb3IgZXhhbXBsZSwKKyAqIC9sb2NhbC9kb21haW4vNS9kZXZpY2UvdnNuZC8wL2NhcmQv MC9zaG9ydC1uYW1lID0gIlZpcnR1YWwgYXVkaW8iCisgKiAvbG9jYWwvZG9tYWluLzUvZGV2aWNl L3ZzbmQvMC9jYXJkLzAvbG9uZy1uYW1lID0gIlZpcnR1YWwgYXVkaW8gYXQgY2VudGVyIHN0YWNr IgorICoKKyAqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gRGV2aWNlIHNldHRpbmdzIC0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgKiBuYW1lCisgKiAgICAgIFZhbHVlczog ICAgICAgICA8Y2hhcls4MF0+CisgKgorICogICAgICBOYW1lIG9mIHRoZSBzb3VuZCBkZXZpY2Ug b2YgdGhlIGNhcmQgZ2l2ZW4uCisgKgorICogRm9yIGV4YW1wbGUsCisgKiAvbG9jYWwvZG9tYWlu LzUvZGV2aWNlL3ZzbmQvMC9jYXJkLzAvZGV2aWNlLzAvbmFtZSA9ICJHZW5lcmFsIGFuYWxvZyIK KyAqCisgKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIFN0cmVhbSBzZXR0aW5ncyAtLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgKgorICogdHlwZQorICogICAgICBWYWx1ZXM6 ICAgICAgICAgInAiLCAiYyIKKyAqCisgKiAgICAgIFN0cmVhbSB0eXBlOiAicCIgLSBwbGF5YmFj ayBzdHJlYW0sICJjIiAtIGNhcHR1cmUgc3RyZWFtCisgKgorICogICAgICBJZiBib3RoIGNhcHR1 cmUgYW5kIHBsYXliYWNrIGFyZSBuZWVkZWQgdGhlbiB0d28gc3RyZWFtcyBuZWVkIHRvIGJlCisg KiAgICAgIGRlZmluZWQgdW5kZXIgdGhlIHNhbWUgZGV2aWNlLiBGb3IgZXhhbXBsZSwKKyAqICAg ICAgL2xvY2FsL2RvbWFpbi81L2RldmljZS92c25kLzAvY2FyZC8wL2RldmljZS8wL3N0cmVhbS8w L3R5cGUgPSAicCIKKyAqICAgICAgL2xvY2FsL2RvbWFpbi81L2RldmljZS92c25kLzAvY2FyZC8w L2RldmljZS8wL3N0cmVhbS8xL3R5cGUgPSAiYyIKKyAqCisgKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioK KyAqICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZyb250ZW5kIFhlbkJ1cyBOb2RlcworICoq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqCisgKgorICotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBSZXF1ZXN0 IFRyYW5zcG9ydCBQYXJhbWV0ZXJzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgKgorICogVGhl c2UgYXJlIHBlciBzdHJlYW0uCisgKgorICogZXZlbnQtY2hhbm5lbAorICogICAgICBWYWx1ZXM6 ICAgICAgICAgPHN0cmluZyByZXByZXNlbnRpbmcgYSBwb3NpdGl2ZSBpbnRlZ2VyPgorICoKKyAq ICAgICAgVGhlIGlkZW50aWZpZXIgb2YgdGhlIFhlbiBldmVudCBjaGFubmVsIHVzZWQgdG8gc2ln bmFsIGFjdGl2aXR5CisgKiAgICAgIGluIHRoZSByaW5nIGJ1ZmZlci4KKyAqCisgKiByaW5nLXJl ZgorICogICAgICBWYWx1ZXM6ICAgICAgICAgPHN0cmluZyByZXByZXNlbnRpbmcgYSBwb3NpdGl2 ZSBpbnRlZ2VyPgorICoKKyAqICAgICAgVGhlIFhlbiBncmFudCByZWZlcmVuY2UgZ3JhbnRpbmcg cGVybWlzc2lvbiBmb3IgdGhlIGJhY2tlbmQgdG8gbWFwCisgKiAgICAgIGEgc29sZSBwYWdlIGlu IGEgc2luZ2xlIHBhZ2Ugc2l6ZWQgcmluZyBidWZmZXIuCisgKgorICogaW5kZXgKKyAqICAgICAg VmFsdWVzOiAgICAgICAgIDxzdHJpbmcgcmVwcmVzZW50aW5nIGEgcG9zaXRpdmUgaW50ZWdlcj4K KyAqCisgKiAgICAgIEFmdGVyIHN0cmVhbSBpbml0aWFsaXphdGlvbiBpdCBpcyBhc3NpZ25lZCBh IHVuaXF1ZSBJRCAod2l0aGluIHRoZSBmcm9udAorICogICAgICBkcml2ZXIpLCBzbyBldmVyeSBz dHJlYW0gb2YgdGhlIGZyb250ZW5kIGNhbiBiZSBpZGVudGlmaWVkIGJ5IHRoZQorICogICAgICBi YWNrZW5kIGJ5IHRoaXMgSUQuCisgKi8KKworLyoKKyAqIFNUQVRFIERJQUdSQU1TCisgKgorICoq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqCisgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg U3RhcnR1cCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICoKKyAqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKgorICoKKyAqIFRvb2wgc3RhY2sgY3JlYXRlcyBmcm9udCBhbmQgYmFjayBzdGF0ZSBu b2RlcyB3aXRoIGluaXRpYWwgc3RhdGUKKyAqIFhlbmJ1c1N0YXRlSW5pdGlhbGlzaW5nLgorICog VG9vbCBzdGFjayBjcmVhdGVzIGFuZCBzZXRzIHVwIGZyb250ZW5kIHNvdW5kIGNvbmZpZ3VyYXRp b24gbm9kZXMgcGVyIGRvbWFpbi4KKyAqCisgKiBGcm9udCAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgQmFjaworICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICAgID09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKyAqIFhlbmJ1c1N0YXRlSW5pdGlh bGlzaW5nICAgICAgICAgICAgICBYZW5idXNTdGF0ZUluaXRpYWxpc2luZworICogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvIFF1ZXJ5IGJhY2tlbmQgZGV2aWNlIGlkZW50 aWZpY2F0aW9uCisgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0 YS4KKyAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbyBPcGVuIGFuZCB2 YWxpZGF0ZSBiYWNrZW5kIGRldmljZS4KKyAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgfAorICogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICB8CisgKiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFYKKyAqICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBYZW5idXNTdGF0ZUluaXRXYWl0CisgKgorICogbyBRdWVyeSBmcm9udGVu ZCBjb25maWd1cmF0aW9uCisgKiBvIEFsbG9jYXRlIGFuZCBpbml0aWFsaXplCisgKiAgIGV2ZW50 IGNoYW5uZWxzIHBlciBjb25maWd1cmVkCisgKiAgIHBsYXliYWNrL2NhcHR1cmUgc3RyZWFtLgor ICogbyBQdWJsaXNoIHRyYW5zcG9ydCBwYXJhbWV0ZXJzCisgKiAgIHRoYXQgd2lsbCBiZSBpbiBl ZmZlY3QgZHVyaW5nCisgKiAgIHRoaXMgY29ubmVjdGlvbi4KKyAqICAgICAgICAgICAgICB8Cisg KiAgICAgICAgICAgICAgfAorICogICAgICAgICAgICAgIFYKKyAqIFhlbmJ1c1N0YXRlSW5pdGlh bGlzZWQKKyAqCisgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG8gUXVl cnkgZnJvbnRlbmQgdHJhbnNwb3J0IHBhcmFtZXRlcnMuCisgKiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIG8gQ29ubmVjdCB0byB0aGUgZXZlbnQgY2hhbm5lbHMuCisgKiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKKyAq ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAor ICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBW CisgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWGVuYnVzU3RhdGVDb25u ZWN0ZWQKKyAqCisgKiAgbyBDcmVhdGUgYW5kIGluaXRpYWxpemUgT1MKKyAqICB2aXJ0dWFsIHNv dW5kIGRldmljZSBpbnN0YW5jZXMKKyAqICBhcyBwZXIgY29uZmlndXJhdGlvbi4KKyAqICAgICAg ICAgICAgICB8CisgKiAgICAgICAgICAgICAgfAorICogICAgICAgICAgICAgIFYKKyAqIFhlbmJ1 c1N0YXRlQ29ubmVjdGVkCisgKgorICovCisKKy8qCisgKiBQQ00gRk9STUFUUworICoKKyAqIFhF TlNORF9QQ01fRk9STUFUXzxmb3JtYXQ+W188ZW5kaWFuPl0KKyAqCisgKiBmb3JtYXQ6IDxTL1Uv Rj48Yml0cz4gb3IgPG5hbWU+CisgKiAgICAgUyAtIHNpZ25lZCwgVSAtIHVuc2lnbmVkLCBGIC0g ZmxvYXQKKyAqICAgICBiaXRzIC0gOCwgMTYsIDI0LCAzMgorICogICAgIG5hbWUgLSBNVV9MQVcs IEdTTSwgZXRjLgorICoKKyAqIGVuZGlhbjogPExFL0JFPiwgbWF5IGJlIGFic2VudAorICogICAg IExFIC0gTGl0dGxlIGVuZGlhbiwgQkUgLSBCaWcgZW5kaWFuCisgKi8KKyNkZWZpbmUgWEVOU05E X1BDTV9GT1JNQVRfUzggICAgICAgICAgICAwCisjZGVmaW5lIFhFTlNORF9QQ01fRk9STUFUX1U4 ICAgICAgICAgICAgMQorI2RlZmluZSBYRU5TTkRfUENNX0ZPUk1BVF9TMTZfTEUgICAgICAgIDIK KyNkZWZpbmUgWEVOU05EX1BDTV9GT1JNQVRfUzE2X0JFICAgICAgICAzCisjZGVmaW5lIFhFTlNO RF9QQ01fRk9STUFUX1UxNl9MRSAgICAgICAgNAorI2RlZmluZSBYRU5TTkRfUENNX0ZPUk1BVF9V MTZfQkUgICAgICAgIDUKKyNkZWZpbmUgWEVOU05EX1BDTV9GT1JNQVRfUzI0X0xFICAgICAgICA2 CisjZGVmaW5lIFhFTlNORF9QQ01fRk9STUFUX1MyNF9CRSAgICAgICAgNworI2RlZmluZSBYRU5T TkRfUENNX0ZPUk1BVF9VMjRfTEUgICAgICAgIDgKKyNkZWZpbmUgWEVOU05EX1BDTV9GT1JNQVRf VTI0X0JFICAgICAgICA5CisjZGVmaW5lIFhFTlNORF9QQ01fRk9STUFUX1MzMl9MRSAgICAgICAg MTAKKyNkZWZpbmUgWEVOU05EX1BDTV9GT1JNQVRfUzMyX0JFICAgICAgICAxMQorI2RlZmluZSBY RU5TTkRfUENNX0ZPUk1BVF9VMzJfTEUgICAgICAgIDEyCisjZGVmaW5lIFhFTlNORF9QQ01fRk9S TUFUX1UzMl9CRSAgICAgICAgMTMKKyNkZWZpbmUgWEVOU05EX1BDTV9GT1JNQVRfRjMyX0xFICAg ICAgICAxNCAvKiA0LWJ5dGUgZmxvYXQsIElFRUUtNzU0IDMyLWJpdCwgKi8KKyNkZWZpbmUgWEVO U05EX1BDTV9GT1JNQVRfRjMyX0JFICAgICAgICAxNSAvKiByYW5nZSAtMS4wIHRvIDEuMCAgICAg ICAgICAgICAgKi8KKyNkZWZpbmUgWEVOU05EX1BDTV9GT1JNQVRfRjY0X0xFICAgICAgICAxNiAv KiA4LWJ5dGUgZmxvYXQsIElFRUUtNzU0IDY0LWJpdCwgKi8KKyNkZWZpbmUgWEVOU05EX1BDTV9G T1JNQVRfRjY0X0JFICAgICAgICAxNyAvKiByYW5nZSAtMS4wIHRvIDEuMCAgICAgICAgICAgICAg Ki8KKyNkZWZpbmUgWEVOU05EX1BDTV9GT1JNQVRfSUVDOTU4X1NVQkZSQU1FX0xFIDE4CisjZGVm aW5lIFhFTlNORF9QQ01fRk9STUFUX0lFQzk1OF9TVUJGUkFNRV9CRSAxOQorI2RlZmluZSBYRU5T TkRfUENNX0ZPUk1BVF9NVV9MQVcgICAgICAgIDIwCisjZGVmaW5lIFhFTlNORF9QQ01fRk9STUFU X0FfTEFXICAgICAgICAgMjEKKyNkZWZpbmUgWEVOU05EX1BDTV9GT1JNQVRfSU1BX0FEUENNICAg ICAyMgorI2RlZmluZSBYRU5TTkRfUENNX0ZPUk1BVF9NUEVHICAgICAgICAgIDIzCisjZGVmaW5l IFhFTlNORF9QQ01fRk9STUFUX0dTTSAgICAgICAgICAgMjQKKyNkZWZpbmUgWEVOU05EX1BDTV9G T1JNQVRfU1BFQ0lBTCAgICAgICAzMSAvKiBBbnkgb3RoZXIgdW5zcGVjaWZpZWQgZm9ybWF0ICov CisKKy8qCisgKiBSRVFVRVNUIENPREVTLgorICovCisjZGVmaW5lIFhFTlNORF9PUF9PUEVOICAg ICAgICAgICAgICAgICAgMAorI2RlZmluZSBYRU5TTkRfT1BfQ0xPU0UgICAgICAgICAgICAgICAg IDEKKyNkZWZpbmUgWEVOU05EX09QX1JFQUQgICAgICAgICAgICAgICAgICAyCisjZGVmaW5lIFhF TlNORF9PUF9XUklURSAgICAgICAgICAgICAgICAgMworI2RlZmluZSBYRU5TTkRfT1BfU0VUX1ZP TFVNRSAgICAgICAgICAgIDQKKyNkZWZpbmUgWEVOU05EX09QX0dFVF9WT0xVTUUgICAgICAgICAg ICA1CisjZGVmaW5lIFhFTlNORF9PUF9NVVRFICAgICAgICAgICAgICAgICAgNgorI2RlZmluZSBY RU5TTkRfT1BfVU5NVVRFICAgICAgICAgICAgICAgIDcKKworLyoKKyAqIFhFTlNUT1JFIEZJRUxE IEFORCBQQVRIIE5BTUUgU1RSSU5HUywgSEVMUEVSUy4KKyAqLworI2RlZmluZSBYRU5TTkRfRFJJ VkVSX05BTUUgICAgICAgICAgICAgICAgICAgInZzbmQiCisKKyNkZWZpbmUgWEVOU05EX0xJU1Rf U0VQQVJBVE9SICAgICAgICAgICAgICAgICI7IgorLyogUGF0aCBlbnRyaWVzICovCisjZGVmaW5l IFhFTlNORF9QQVRIX0NBUkQgICAgICAgICAgICAgICAgICAgICAiY2FyZCIKKyNkZWZpbmUgWEVO U05EX1BBVEhfREVWSUNFICAgICAgICAgICAgICAgICAgICJkZXZpY2UiCisjZGVmaW5lIFhFTlNO RF9QQVRIX1NUUkVBTSAgICAgICAgICAgICAgICAgICAic3RyZWFtIgorLyogRmllbGQgbmFtZXMg Ki8KKyNkZWZpbmUgWEVOU05EX0ZJRUxEX0NBUkRfU0hPUlRfTkFNRSAgICAgICAgICJzaG9ydC1u YW1lIgorI2RlZmluZSBYRU5TTkRfRklFTERfQ0FSRF9MT05HX05BTUUgICAgICAgICAgImxvbmct bmFtZSIKKyNkZWZpbmUgWEVOU05EX0ZJRUxEX1JJTkdfUkVGICAgICAgICAgICAgICAgICJyaW5n LXJlZiIKKyNkZWZpbmUgWEVOU05EX0ZJRUxEX0VWVF9DSE5MICAgICAgICAgICAgICAgICJldmVu dC1jaGFubmVsIgorI2RlZmluZSBYRU5TTkRfRklFTERfREVWSUNFX05BTUUgICAgICAgICAgICAg Im5hbWUiCisjZGVmaW5lIFhFTlNORF9GSUVMRF9UWVBFICAgICAgICAgICAgICAgICAgICAidHlw ZSIKKyNkZWZpbmUgWEVOU05EX0ZJRUxEX1NUUkVBTV9JTkRFWCAgICAgICAgICAgICJpbmRleCIK KyNkZWZpbmUgWEVOU05EX0ZJRUxEX0NIQU5ORUxTX01JTiAgICAgICAgICAgICJjaGFubmVscy1t aW4iCisjZGVmaW5lIFhFTlNORF9GSUVMRF9DSEFOTkVMU19NQVggICAgICAgICAgICAiY2hhbm5l bHMtbWF4IgorI2RlZmluZSBYRU5TTkRfRklFTERfU0FNUExFX1JBVEVTICAgICAgICAgICAgInNh bXBsZS1yYXRlcyIKKyNkZWZpbmUgWEVOU05EX0ZJRUxEX1NBTVBMRV9GT1JNQVRTICAgICAgICAg ICJzYW1wbGUtZm9ybWF0cyIKKyNkZWZpbmUgWEVOU05EX0ZJRUxEX0JVRkZFUl9TSVpFICAgICAg ICAgICAgICJidWZmZXItc2l6ZSIKKworLyogU3RyZWFtIHR5cGUgZmllbGQgdmFsdWVzLiAqLwor I2RlZmluZSBYRU5TTkRfU1RSRUFNX1RZUEVfUExBWUJBQ0sgICAgICAgICAgInAiCisjZGVmaW5l IFhFTlNORF9TVFJFQU1fVFlQRV9DQVBUVVJFICAgICAgICAgICAiYyIKKy8qIFNhbXBsZSByYXRl IG1heCBzdHJpbmcgbGVuZ3RoICovCisjZGVmaW5lIFhFTlNORF9TQU1QTEVfUkFURV9NQVhfTEVO ICAgICAgICAgICAgNgorLyogU2FtcGxlIGZvcm1hdCBmaWVsZCB2YWx1ZXMgKi8KKyNkZWZpbmUg WEVOU05EX1NBTVBMRV9GT1JNQVRfTUFYX0xFTiAgICAgICAgIDI0CisKKyNkZWZpbmUgWEVOU05E X1BDTV9GT1JNQVRfUzhfU1RSICAgICAgICAgICAgICAgICAiczgiCisjZGVmaW5lIFhFTlNORF9Q Q01fRk9STUFUX1U4X1NUUiAgICAgICAgICAgICAgICAgInU4IgorI2RlZmluZSBYRU5TTkRfUENN X0ZPUk1BVF9TMTZfTEVfU1RSICAgICAgICAgICAgICJzMTZfbGUiCisjZGVmaW5lIFhFTlNORF9Q Q01fRk9STUFUX1MxNl9CRV9TVFIgICAgICAgICAgICAgInMxNl9iZSIKKyNkZWZpbmUgWEVOU05E X1BDTV9GT1JNQVRfVTE2X0xFX1NUUiAgICAgICAgICAgICAidTE2X2xlIgorI2RlZmluZSBYRU5T TkRfUENNX0ZPUk1BVF9VMTZfQkVfU1RSICAgICAgICAgICAgICJ1MTZfYmUiCisjZGVmaW5lIFhF TlNORF9QQ01fRk9STUFUX1MyNF9MRV9TVFIgICAgICAgICAgICAgInMyNF9sZSIKKyNkZWZpbmUg WEVOU05EX1BDTV9GT1JNQVRfUzI0X0JFX1NUUiAgICAgICAgICAgICAiczI0X2JlIgorI2RlZmlu ZSBYRU5TTkRfUENNX0ZPUk1BVF9VMjRfTEVfU1RSICAgICAgICAgICAgICJ1MjRfbGUiCisjZGVm aW5lIFhFTlNORF9QQ01fRk9STUFUX1UyNF9CRV9TVFIgICAgICAgICAgICAgInUyNF9iZSIKKyNk ZWZpbmUgWEVOU05EX1BDTV9GT1JNQVRfUzMyX0xFX1NUUiAgICAgICAgICAgICAiczMyX2xlIgor I2RlZmluZSBYRU5TTkRfUENNX0ZPUk1BVF9TMzJfQkVfU1RSICAgICAgICAgICAgICJzMzJfYmUi CisjZGVmaW5lIFhFTlNORF9QQ01fRk9STUFUX1UzMl9MRV9TVFIgICAgICAgICAgICAgInUzMl9s ZSIKKyNkZWZpbmUgWEVOU05EX1BDTV9GT1JNQVRfVTMyX0JFX1NUUiAgICAgICAgICAgICAidTMy X2JlIgorI2RlZmluZSBYRU5TTkRfUENNX0ZPUk1BVF9GMzJfTEVfU1RSICAgICAgICAgICAgICJm bG9hdF9sZSIKKyNkZWZpbmUgWEVOU05EX1BDTV9GT1JNQVRfRjMyX0JFX1NUUiAgICAgICAgICAg ICAiZmxvYXRfYmUiCisjZGVmaW5lIFhFTlNORF9QQ01fRk9STUFUX0Y2NF9MRV9TVFIgICAgICAg ICAgICAgImZsb2F0NjRfbGUiCisjZGVmaW5lIFhFTlNORF9QQ01fRk9STUFUX0Y2NF9CRV9TVFIg ICAgICAgICAgICAgImZsb2F0NjRfYmUiCisjZGVmaW5lIFhFTlNORF9QQ01fRk9STUFUX0lFQzk1 OF9TVUJGUkFNRV9MRV9TVFIgImllYzk1OF9zdWJmcmFtZV9sZSIKKyNkZWZpbmUgWEVOU05EX1BD TV9GT1JNQVRfSUVDOTU4X1NVQkZSQU1FX0JFX1NUUiAiaWVjOTU4X3N1YmZyYW1lX2JlIgorI2Rl ZmluZSBYRU5TTkRfUENNX0ZPUk1BVF9NVV9MQVdfU1RSICAgICAgICAgICAgICJtdV9sYXciCisj ZGVmaW5lIFhFTlNORF9QQ01fRk9STUFUX0FfTEFXX1NUUiAgICAgICAgICAgICAgImFfbGF3Igor I2RlZmluZSBYRU5TTkRfUENNX0ZPUk1BVF9JTUFfQURQQ01fU1RSICAgICAgICAgICJpbWFfYWRw Y20iCisjZGVmaW5lIFhFTlNORF9QQ01fRk9STUFUX01QRUdfU1RSICAgICAgICAgICAgICAgIm1w ZWciCisjZGVmaW5lIFhFTlNORF9QQ01fRk9STUFUX0dTTV9TVFIgICAgICAgICAgICAgICAgImdz bSIKKyNkZWZpbmUgWEVOU05EX1BDTV9GT1JNQVRfU1BFQ0lBTF9TVFIgICAgICAgICAgICAic3Bl Y2lhbCIKKworLyoKKyAqIFNUQVRVUyBSRVRVUk4gQ09ERVMuCisgKi8KKyAvKiBPcGVyYXRpb24g ZmFpbGVkIGZvciBzb21lIHVuc3BlY2lmaWVkIHJlYXNvbiAoZS4gZy4gLUVJTykuICovCisjZGVm aW5lIFhFTlNORF9SU1BfRVJST1IgICAgICAgICAgICAgICAgICgtMSkKKyAvKiBPcGVyYXRpb24g Y29tcGxldGVkIHN1Y2Nlc3NmdWxseS4gKi8KKyNkZWZpbmUgWEVOU05EX1JTUF9PS0FZICAgICAg ICAgICAgICAgICAgMAorCisvKgorICogRGVzY3JpcHRpb24gb2YgdGhlIHByb3RvY29sIGJldHdl ZW4gZnJvbnRlbmQgYW5kIGJhY2tlbmQgZHJpdmVyLgorICoKKyAqIFRoZSB0d28gaGFsdmVzIG9m IGEgUGFyYS12aXJ0dWFsIHNvdW5kIGRyaXZlciBjb21tdW5pY2F0ZXMgd2l0aAorICogZWFjaCBv dGhlciB1c2luZyBhIHNoYXJlZCBwYWdlIGFuZCBhbiBldmVudCBjaGFubmVsLgorICogU2hhcmVk IHBhZ2UgY29udGFpbnMgYSByaW5nIHdpdGggcmVxdWVzdC9yZXNwb25zZSBwYWNrZXRzLgorICoK KyAqCisgKiBBbGwgcmVxdWVzdCBwYWNrZXRzIGhhdmUgdGhlIHNhbWUgbGVuZ3RoICgxNiBvY3Rl dHMpCisgKgorICoKKyAqIFJlcXVlc3Qgb3BlbiAtIG9wZW4gYSBQQ00gc3RyZWFtIGZvciBwbGF5 YmFjayBvciBjYXB0dXJlOgorICogICAgICAgICAgMCAgICAgICAgICAgICAgICAgMSAgICAgICAg ICAgICAgICAgIDIgICAgICAgICAgICAgICAgMyAgICAgICAgb2N0ZXQKKyAqICstLS0tLS0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0t LS0tLSsKKyAqIHwgICAgICAgICAgICAgICAgIGlkICAgICAgICAgICAgICAgIHwgICAgb3BlcmF0 aW9uICAgIHwgICAgIHN0cmVhbV9pZHggIHwKKyAqICstLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLSsKKyAqIHwgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBjbV9yYXRlICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHwKKyAqICstLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLSsKKyAqIHwgIHBjbV9mb3JtYXQgICAgIHwg IHBjbV9jaGFubmVscyAgIHwgICAgICAgICAgICAgcmVzZXJ2ZWQgICAgICAgICAgICAgIHwKKyAq ICstLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0tLS0tLSsKKyAqIHwgICAgICAgICAgICAgICAgICAgICAgICAgZ3JlZl9kaXJl Y3Rvcnlfc3RhcnQgICAgICAgICAgICAgICAgICAgICAgICAgIHwKKyAqICstLS0tLS0tLS0tLS0t LS0tLSstLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0t LSsKKworICogaWQgLSB1aW50MTZfdCwgcHJpdmF0ZSBndWVzdCB2YWx1ZSwgZWNob2VkIGluIHJl c3BvbnNlCisgKiBvcGVyYXRpb24gLSB1aW50OF90LCBYRU5TTkRfT1BfT1BFTgorICogc3RyZWFt X2lkeCAtIHVpbnQ4X3QsIGluZGV4IG9mIHRoZSBzdHJlYW0gKCJzdHJlYW1zX2lkeCIgWGVuU3Rv cmUgZW50cnkKKyAqICAgb2YgdGhlIHN0cmVhbSkKKyAqIHBjbV9yYXRlIC0gdWludDMyX3QsIHN0 cmVhbSBkYXRhIHJhdGUsIEh6CisgKiBwY21fZm9ybWF0IC0gdWludDhfdCwgWEVOU05EX1BDTV9G T1JNQVRfWFhYIHZhbHVlCisgKiBwY21fY2hhbm5lbHMgLSB1aW50OF90LCBudW1iZXIgb2YgY2hh bm5lbHMgb2YgdGhpcyBzdHJlYW0KKyAqIGdyZWZfZGlyZWN0b3J5X3N0YXJ0IC0gZ3JhbnRfcmVm X3QsIGEgcmVmZXJlbmNlIHRvIHRoZSBmaXJzdCBzaGFyZWQgcGFnZQorICogICBkZXNjcmliaW5n IHNoYXJlZCBidWZmZXIgcmVmZXJlbmNlcy4gQXQgbGVhc3Qgb25lIHBhZ2UgZXhpc3RzLiBJZiBz aGFyZWQKKyAqICAgYnVmZmVyIHNpemUgZXhjZWVkcyB3aGF0IGNhbiBiZSBhZGRyZXNzZWQgYnkg dGhpcyBzaW5nbGUgcGFnZSwgdGhlbgorICogICByZWZlcmVuY2UgdG8gdGhlIG5leHQgcGFnZSBt dXN0IGJlIHN1cHBsaWVkIChncmVmX2Rpcl9uZXh0X3BhZ2UgYmVsb3cKKyAqICAgaXMgbm90IE5V TEwpCisgKgorICogU2hhcmVkIHBhZ2UgZm9yIFhFTlNORF9PUF9PUEVOIGJ1ZmZlciBkZXNjcmlw dG9yIChncmVmX2RpcmVjdG9yeSBpbiB0aGUKKyAqICAgcmVxdWVzdCkgZW1wbG95cyBhIGxpc3Qg b2YgcGFnZXMsIGRlc2NyaWJpbmcgYWxsIHBhZ2VzIG9mIHRoZSBzaGFyZWQgZGF0YQorICogICBi dWZmZXI6CisgKiAgICAgICAgICAwICAgICAgICAgICAgICAgICAxICAgICAgICAgICAgICAgICAg MiAgICAgICAgICAgICAgICAzICAgICAgICBvY3RldAorICogKy0tLS0tLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tKworICog fCAgICAgICAgICAgICAgICAgICAgICAgICAgZ3JlZl9kaXJfbmV4dF9wYWdlICAgICAgICAgICAg ICAgICAgICAgICAgICAgfAorICogKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tKworICogfCAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgbnVtX2dyZWZzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg fAorICogKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLS0tLS0tKworICogfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgZ3JlZlswXSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAorICogKy0tLS0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LS0tLS0tKworICogfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3JlZlsxXSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgfAorICogKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tKworICogKy9c L1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wv XC9cL1wvXC9cL1wvfAorICogKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tKworICogfCAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgZ3JlZltOIC0xXSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAor ICogKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLS0tLS0tKworICoKKyAqIGdyZWZfZGlyX25leHRfcGFnZSAtIGdyYW50X3Jl Zl90LCByZWZlcmVuY2UgdG8gdGhlIG5leHQgcGFnZSBkZXNjcmliaW5nCisgKiAgIHBhZ2UgZGly ZWN0b3J5CisgKiBudW1fZ3JlZnMgLSBudW1iZXIgb2YgZ3JlZnMgaW4gdGhpcyBwYWdlCisgKiBn cmVmW2ldIC0gZ3JhbnRfcmVmX3QsIHJlZmVyZW5jZSB0byBhIHNoYXJlZCBwYWdlIG9mIHRoZSBi dWZmZXIKKyAqICAgYWxsb2NhdGVkIGF0IFhFTlNORF9PUF9PUEVOCisgKgorICogUmVxdWVzdCBj bG9zZSAtIGNsb3NlIGFuIG9wZW5lZCBwY20gc3RyZWFtOgorICogICAgICAgICAgMCAgICAgICAg ICAgICAgICAgMSAgICAgICAgICAgICAgICAgIDIgICAgICAgICAgICAgICAgMyAgICAgICAgb2N0 ZXQKKyAqICstLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0t LS0tLSstLS0tLS0tLS0tLS0tLS0tLSsKKyAqIHwgICAgICAgICAgICAgICAgIGlkICAgICAgICAg ICAgICAgIHwgICAgb3BlcmF0aW9uICAgIHwgICAgIHN0cmVhbV9pZHggIHwKKyAqICstLS0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0tLS0tLSsKKyAqIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzZXJ2ZWQgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKKyAqICstLS0tLS0tLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLSsKKyAqIHwg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzZXJ2ZWQgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHwKKyAqICstLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLSsKKyAqIHwgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgcmVzZXJ2ZWQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwK KyAqICstLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0tLS0tLSsKKyAqCisgKiBpZCAtIHVpbnQxNl90LCBwcml2YXRlIGd1ZXN0 IHZhbHVlLCBlY2hvZWQgaW4gcmVzcG9uc2UKKyAqIG9wZXJhdGlvbiAtIHVpbnQ4X3QsIFhFTlNO RF9PUF9DTE9TRQorICogc3RyZWFtX2lkeCAtIHVpbnQ4X3QsIGluZGV4IG9mIHRoZSBzdHJlYW0g KCJzdHJlYW1zX2lkeCIgWGVuU3RvcmUgZW50cnkKKyAqICAgb2YgdGhlIHN0cmVhbSkKKyAqCisg KgorICogUmVxdWVzdCByZWFkL3dyaXRlIC0gdXNlZCBmb3IgcmVhZCAoZm9yIGNhcHR1cmUpIG9y IHdyaXRlIChmb3IgcGxheWJhY2spOgorICogICAgICAgICAgMCAgICAgICAgICAgICAgICAgMSAg ICAgICAgICAgICAgICAgIDIgICAgICAgICAgICAgICAgMyAgICAgICAgb2N0ZXQKKyAqICstLS0t LS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0tLS0tLSsKKyAqIHwgICAgICAgICAgICAgICAgIGlkICAgICAgICAgICAgICAgIHwgICAg b3BlcmF0aW9uICAgIHwgICAgIHN0cmVhbV9pZHggIHwKKyAqICstLS0tLS0tLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLSsKKyAq IHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9mZnNldCAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHwKKyAqICstLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLSsKKyAqIHwgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGxlbmd0aCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHwKKyAqICstLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0t LS0tLSstLS0tLS0tLS0tLS0tLS0tLSsKKyAqIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgcmVzZXJ2ZWQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKKyAqICstLS0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0tLS0tLSsKKyAqCisgKiBpZCAtIHVpbnQxNl90LCBwcml2YXRlIGd1ZXN0IHZhbHVlLCBlY2hv ZWQgaW4gcmVzcG9uc2UKKyAqIG9wZXJhdGlvbiAtIHVpbnQ4X3QsIFhFTlNORF9PUF9SRUFEL1hF TlNORF9PUF9XUklURQorICogc3RyZWFtX2lkeCAtIHVpbnQ4X3QsIGluZGV4IG9mIHRoZSBzdHJl YW0gKCJzdHJlYW1zX2lkeCIgWGVuU3RvcmUgZW50cnkKKyAqICAgb2YgdGhlIHN0cmVhbSkKKyAq IG9mZnNldCAtIHVpbnQzMl90LCByZWFkIG9yIHdyaXRlIGRhdGEgb2Zmc2V0IHdpdGhpbiB0aGUg c2hhcmVkIGJ1ZmZlcgorICogICBwYXNzZWQgd2l0aCBYRU5TTkRfT1BfT1BFTiByZXF1ZXN0Cisg KiBsZW5ndGggLSB1aW50MzJfdCwgcmVhZCBvciB3cml0ZSBkYXRhIGxlbmd0aAorICoKKyAqCisg KiBSZXF1ZXN0IHNldC9nZXQgdm9sdW1lIC0gc2V0L2dldCBjaGFubmVscycgdm9sdW1lIG9mIHRo ZSBzdHJlYW0gZ2l2ZW46CisgKiAgICAgICAgICAwICAgICAgICAgICAgICAgICAxICAgICAgICAg ICAgICAgICAgMiAgICAgICAgICAgICAgICAzICAgICAgICBvY3RldAorICogKy0tLS0tLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0t LS0tKworICogfCAgICAgICAgICAgICAgICAgaWQgICAgICAgICAgICAgICAgfCAgICBvcGVyYXRp b24gICAgfCAgICAgc3RyZWFtX2lkeCAgfAorICogKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tKworICogfCAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICByZXNlcnZlZCAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgfAorICogKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tKworICogfCAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICByZXNlcnZlZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAorICog Ky0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLS0tLS0tKworICogfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNl cnZlZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAorICogKy0tLS0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0t KworICoKKyAqIGlkIC0gdWludDE2X3QsIHByaXZhdGUgZ3Vlc3QgdmFsdWUsIGVjaG9lZCBpbiBy ZXNwb25zZQorICogb3BlcmF0aW9uIC0gdWludDhfdCwgWEVOU05EX09QX1NFVF9WT0xVTUUgb3Ig WEVOU05EX09QX0dFVF9WT0xVTUUKKyAqIHN0cmVhbV9pZHggLSB1aW50OF90LCBpbmRleCBvZiB0 aGUgc3RyZWFtICgic3RyZWFtc19pZHgiIFhlblN0b3JlIGVudHJ5CisgKiAgIG9mIHRoZSBzdHJl YW0pCisgKiBCdWZmZXIgcGFzc2VkIHdpdGggWEVOU05EX09QX09QRU4gaXMgdXNlZCB0byBleGNo YW5nZSB2b2x1bWUKKyAqIHZhbHVlczoKKyAqCisgKiAgICAgICAgICAwICAgICAgICAgICAgICAg ICAxICAgICAgICAgICAgICAgICAgMiAgICAgICAgICAgICAgICAzICAgICAgICBvY3RldAorICog Ky0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLS0tLS0tKworICogfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGFu bmVsWzBdICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAorICogKy0tLS0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0t KworICogfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGFubmVsWzFdICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgfAorICogKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tKworICogKy9cL1wvXC9c L1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wv XC9cL1wvfAorICogKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tKworICogICAgICAgICAgICAgICAgICBjaGFubmVs W1hFTlNORF9PUF9PUEVOLnBjbV9jaGFubmVscyAtIDFdICAgICAgICAgICAgICAgfAorICogKy0t LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0tLS0tKworICoKKyAqIGNoYW5uZWxbaV0gLSBzaW50MzJfdCwgdm9sdW1lIG9mIGkt dGggY2hhbm5lbAorICogVm9sdW1lIGlzIGV4cHJlc3NlZCBhcyBhIHNpZ25lZCB2YWx1ZSBpbiBz dGVwcyBvZiAwLjAwMSBkQm0sCisgKiB3aGlsZSAwIGJlaW5nIDBkQm0uCisgKgorICoKKyAqIFJl cXVlc3QgbXV0ZS91bm11dGUgLSBtdXRlL3VubXV0ZSBzdHJlYW06CisgKiAgICAgICAgICAwICAg ICAgICAgICAgICAgICAxICAgICAgICAgICAgICAgICAgMiAgICAgICAgICAgICAgICAzICAgICAg ICBvY3RldAorICogKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tKworICogfCAgICAgICAgICAgICAgICAgaWQgICAg ICAgICAgICAgICAgfCAgICBvcGVyYXRpb24gICAgfCAgICAgc3RyZWFtX2lkeCAgfAorICogKy0t LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0tLS0tKworICogfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNlcnZl ZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAorICogKy0tLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tKwor ICogfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNlcnZlZCAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgfAorICogKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tKworICogfCAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICByZXNlcnZlZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgfAorICogKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tKworICoKKyAqIGlkIC0gdWludDE2X3QsIHByaXZhdGUg Z3Vlc3QgdmFsdWUsIGVjaG9lZCBpbiByZXNwb25zZQorICogb3BlcmF0aW9uIC0gdWludDhfdCwg WEVOU05EX09QX01VVEUvWEVOU05EX09QX1VOTVVURQorICogc3RyZWFtX2lkeCAtIHVpbnQ4X3Qs IGluZGV4IG9mIHRoZSBzdHJlYW0gKCJzdHJlYW1zX2lkeCIgWGVuU3RvcmUgZW50cnkKKyAqICAg b2YgdGhlIHN0cmVhbSkKKyAqIEJ1ZmZlciBwYXNzZWQgd2l0aCBYRU5TTkRfT1BfT1BFTiBpcyB1 c2VkIHRvIGV4Y2hhbmdlIG11dGUvdW5tdXRlCisgKiB2YWx1ZXM6CisgKgorICogICAgICAgICAg MCAgICAgICAgICAgICAgICAgMSAgICAgICAgICAgICAgICAgIDIgICAgICAgICAgICAgICAgMyAg ICAgICAgb2N0ZXQKKyAqICstLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLSsKKyAqIHwgICBjaGFubmVsWzBdICAgIHwg ICBjaGFubmVsWzFdICAgIHwgICBjaGFubmVsWzJdICAgIHwgICBjaGFubmVsWzNdICAgIHwKKyAq ICstLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0tLS0tLSsKKyAqICsvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9c L1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL3wKKyAqICstLS0tLS0tLS0tLS0t LS0tLSstLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0t LSsKKyAqIHwgICBjaGFubmVsW2ldICAgIHwgICBjaGFubmVsW2krMV0gIHwgICBjaGFubmVsW2kr Ml0gIHwgICBjaGFubmVsW2krM10gIHwKKyAqICstLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLSsKKyAqICsvXC9cL1wv XC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9c L1wvXC9cL3wKKyAqICstLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLSsKKyAqCisgKiBjaGFubmVsW2ldIC0gdWludDhf dCwgbm9uLXplcm8gaWYgaS10aCBjaGFubmVsIG5lZWRzIHRvIGJlIG11dGVkL3VubXV0ZWQKKyAq IE51bWJlciBvZiBjaGFubmVscyBwYXNzZWQgaXMgZXF1YWwgdG8gWEVOU05EX09QX09QRU4gcmVx dWVzdCBwY21fY2hhbm5lbHMKKyAqIGZpZWxkCisgKgorICoKKyAqIEFsbCByZXNwb25zZSBwYWNr ZXRzIGhhdmUgdGhlIHNhbWUgbGVuZ3RoICg2NCBieXRlcykKKyAqCisgKiBSZXNwb25zZSBmb3Ig YWxsIHJlcXVlc3RzOgorICogICAgICAgICAgMCAgICAgICAgICAgICAgICAgMSAgICAgICAgICAg ICAgICAgIDIgICAgICAgICAgICAgICAgMyAgICAgICAgb2N0ZXQKKyAqICstLS0tLS0tLS0tLS0t LS0tLSstLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0t LSsKKyAqIHwgICAgICAgICAgICAgICAgIGlkICAgICAgICAgICAgICAgIHwgICAgb3BlcmF0aW9u ICAgIHwgICAgIHN0cmVhbV9pZHggIHwKKyAqICstLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLSsKKyAqIHwgICAgICBz dGF0dXMgICAgIHwgICAgICAgICAgICAgICAgICAgICAgcmVzZXJ2ZWQgICAgICAgICAgICAgICAg ICAgICAgIHwKKyAqICstLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLSsKKyAqIHwgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICByZXNlcnZlZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKKyAqICst LS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0tLS0tLSsKKyAqIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNlcnZl ZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKKyAqICstLS0tLS0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLSsK KyAqCisgKiBpZCAtIHVpbnQxNl90LCBjb3BpZWQgZnJvbSB0aGUgcmVxdWVzdAorICogc3RyZWFt X2lkeCAtIHVpbnQ4X3QsIGNvcGllZCBmcm9tIHJlcXVlc3QKKyAqIG9wZXJhdGlvbiAtIHVpbnQ4 X3QsIFhFTlNORF9PUF9YWFggLSBjb3BpZWQgZnJvbSByZXF1ZXN0CisgKiBzdGF0dXMgLSBpbnQ4 X3QsIHJlc3BvbnNlIHN0YXR1cyAoWEVOU05EX1JTUF8/Pz8pCisgKi8KKworc3RydWN0IHhlbnNu ZF9yZXF1ZXN0IHsKKyAgICB1aW50OF90IHJhd1sxNl07Cit9OworCitzdHJ1Y3QgeGVuc25kX3Jl c3BvbnNlIHsKKyAgICB1aW50OF90IHJhd1sxNl07Cit9OworCisjZW5kaWYgLyogX19YRU5fUFVC TElDX0lPX1hFTlNORF9IX18gKi8KZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL3B1YmxpYy9pby9z bmRpZl9saW51eC5oIGIveGVuL2luY2x1ZGUvcHVibGljL2lvL3NuZGlmX2xpbnV4LmgKbmV3IGZp bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNThlYzk2YwotLS0gL2Rldi9udWxsCisrKyBi L3hlbi9pbmNsdWRlL3B1YmxpYy9pby9zbmRpZl9saW51eC5oCkBAIC0wLDAgKzEsMTE0IEBACisv KgorICogIFVuaWZpZWQgc291bmQtZGV2aWNlIEkvTyBpbnRlcmZhY2UgZm9yIFhlbiBndWVzdCBP U2VzCisgKgorICogICBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRp c3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorICogICBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhl IEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorICogICB0aGUgRnJl ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBv cgorICogICAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqICAgVGhp cyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2Vm dWwsCisgKiAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBs aWVkIHdhcnJhbnR5IG9mCisgKiAgIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBB UlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyAqICAgR05VIEdlbmVyYWwgUHVibGljIExpY2Vu c2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBh IGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiAgIGFsb25nIHdpdGgg dGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCisgKiAgIEZv dW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BICAw MjExMS0xMzA3IFVTQQorICoKKyAqIENvcHlyaWdodCAoQykgMjAxNiBFUEFNIFN5c3RlbXMgSW5j LgorICovCisKKyNpZm5kZWYgX19YRU5fUFVCTElDX0lPX1hFTlNORF9MSU5VWF9IX18KKyNkZWZp bmUgX19YRU5fUFVCTElDX0lPX1hFTlNORF9MSU5VWF9IX18KKworI2lmZGVmIF9fS0VSTkVMX18K KyNpbmNsdWRlIDx4ZW4vaW50ZXJmYWNlL2lvL3JpbmcuaD4KKyNpbmNsdWRlIDx4ZW4vaW50ZXJm YWNlL2dyYW50X3RhYmxlLmg+CisjZWxzZQorI2luY2x1ZGUgPHhlbi9pby9yaW5nLmg+CisjaW5j bHVkZSA8eGVuL2dyYW50X3RhYmxlLmg+CisjZW5kaWYKKyNpZiAwCisjaW5jbHVkZSA8eGVuL2lu Y2x1ZGUvcHVibGljL2lvL3NuZGlmLmg+CisjZWxzZQorI3dhcm5pbmcgIlRPRE86IHByb3Blcmx5 IGluY2x1ZGUgYmFzZSBwcm90b2NvbCBoZWFkZXIiCisjaW5jbHVkZSAic25kaWYuaCIKKyNlbmRp ZgorCitzdHJ1Y3QgeGVuc25kX29wZW5fcmVxIHsKKwl1aW50MzJfdCBwY21fcmF0ZTsKKwl1aW50 OF90IHBjbV9mb3JtYXQ7CisJdWludDhfdCBwY21fY2hhbm5lbHM7CisJLyogaW4gSHogKi8KKwl1 aW50MTZfdCBfX3Jlc2VydmVkMDsKKwlncmFudF9yZWZfdCBncmVmX2RpcmVjdG9yeV9zdGFydDsK K30gX19hdHRyaWJ1dGVfXygocGFja2VkKSk7CisKK3N0cnVjdCB4ZW5zbmRfcGFnZV9kaXJlY3Rv cnkgeworCWdyYW50X3JlZl90IGdyZWZfZGlyX25leHRfcGFnZTsKKwl1aW50MzJfdCBudW1fZ3Jl ZnM7CisJZ3JhbnRfcmVmX3QgZ3JlZlswXTsKK30gX19hdHRyaWJ1dGVfXygocGFja2VkKSk7CisK K3N0cnVjdCB4ZW5zbmRfY2xvc2VfcmVxIHsKK30gX19hdHRyaWJ1dGVfXygocGFja2VkKSk7CisK K3N0cnVjdCB4ZW5zbmRfd3JpdGVfcmVxIHsKKwl1aW50MzJfdCBvZmZzZXQ7CisJdWludDMyX3Qg bGVuOworfSBfX2F0dHJpYnV0ZV9fKChwYWNrZWQpKTsKKworc3RydWN0IHhlbnNuZF9yZWFkX3Jl cSB7CisJdWludDMyX3Qgb2Zmc2V0OworCXVpbnQzMl90IGxlbjsKK30gX19hdHRyaWJ1dGVfXygo cGFja2VkKSk7CisKK3N0cnVjdCB4ZW5zbmRfZ2V0X3ZvbF9yZXEgeworfSBfX2F0dHJpYnV0ZV9f KChwYWNrZWQpKTsKKworc3RydWN0IHhlbnNuZF9zZXRfdm9sX3JlcSB7Cit9IF9fYXR0cmlidXRl X18oKHBhY2tlZCkpOworCitzdHJ1Y3QgeGVuc25kX211dGVfcmVxIHsKK30gX19hdHRyaWJ1dGVf XygocGFja2VkKSk7CisKK3N0cnVjdCB4ZW5zbmRfdW5tdXRlX3JlcSB7Cit9IF9fYXR0cmlidXRl X18oKHBhY2tlZCkpOworCitzdHJ1Y3QgeGVuc25kX3JlcSB7CisJdW5pb24geworCQlzdHJ1Y3Qg eGVuc25kX3JlcXVlc3QgcmF3OworCQlzdHJ1Y3QgeworCQkJdWludDE2X3QgaWQ7CisJCQl1aW50 OF90IG9wZXJhdGlvbjsKKwkJCXVpbnQ4X3Qgc3RyZWFtX2lkeDsKKwkJCXVuaW9uIHsKKwkJCQlz dHJ1Y3QgeGVuc25kX29wZW5fcmVxIG9wZW47CisJCQkJc3RydWN0IHhlbnNuZF9jbG9zZV9yZXEg Y2xvc2U7CisJCQkJc3RydWN0IHhlbnNuZF93cml0ZV9yZXEgd3JpdGU7CisJCQkJc3RydWN0IHhl bnNuZF9yZWFkX3JlcSByZWFkOworCQkJCXN0cnVjdCB4ZW5zbmRfZ2V0X3ZvbF9yZXEgZ2V0X3Zv bDsKKwkJCQlzdHJ1Y3QgeGVuc25kX3NldF92b2xfcmVxIHNldF92b2w7CisJCQkJc3RydWN0IHhl bnNuZF9tdXRlX3JlcSBtdXRlOworCQkJCXN0cnVjdCB4ZW5zbmRfdW5tdXRlX3JlcSB1bm11dGU7 CisJCQl9IG9wOworCQl9IGRhdGE7CisJfSB1OworfTsKKworc3RydWN0IHhlbnNuZF9yZXNwIHsK Kwl1bmlvbiB7CisJCXN0cnVjdCB4ZW5zbmRfcmVzcG9uc2UgcmF3OworCQlzdHJ1Y3QgeworCQkJ dWludDE2X3QgaWQ7CisJCQl1aW50OF90IG9wZXJhdGlvbjsKKwkJCXVpbnQ4X3Qgc3RyZWFtX2lk eDsKKwkJCWludDhfdCBzdGF0dXM7CisJCX0gZGF0YTsKKwl9IHU7Cit9OworCitERUZJTkVfUklO R19UWVBFUyh4ZW5fc25kaWYsIHN0cnVjdCB4ZW5zbmRfcmVxLAorCQlzdHJ1Y3QgeGVuc25kX3Jl c3ApOworCisjZW5kaWYgLyogX19YRU5fUFVCTElDX0lPX1hFTlNORF9MSU5VWF9IX18gKi8KLS0g CjIuNy40CgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K WGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwczovL2xp c3RzLnhlbi5vcmcveGVuLWRldmVsCg==