From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from shards.monkeyblade.net ([184.105.139.130]:49562 "EHLO shards.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750727AbdAaVvv (ORCPT ); Tue, 31 Jan 2017 16:51:51 -0500 Received: from localhost (unknown [38.140.131.194]) (Authenticated sender: davem-davemloft) by shards.monkeyblade.net (Postfix) with ESMTPSA id D2C571238678C for ; Tue, 31 Jan 2017 12:51:52 -0800 (PST) Date: Tue, 31 Jan 2017 16:50:51 -0500 (EST) Message-Id: <20170131.165051.664839346500980411.davem@davemloft.net> To: stable@vger.kernel.org Subject: [PATCHES] networking From: David Miller Mime-Version: 1.0 Content-Type: Multipart/Mixed; boundary="--Next_Part(Tue_Jan_31_16_50_51_2017_093)--" Content-Transfer-Encoding: 7bit Sender: stable-owner@vger.kernel.org List-ID: ----Next_Part(Tue_Jan_31_16_50_51_2017_093)-- Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit Please queue up the following networking bug fixes for 4.4.x and 4.9.x -stable, respectively. Thanks! ----Next_Part(Tue_Jan_31_16_50_51_2017_093)-- Content-Type: Application/Octet-Stream Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="net_44.mbox" RnJvbSBjMzQ3MDA1ZDlhMzRhODQzNmQxMWRmMDdjNTAwNGM3OGUxMDVhNDY3IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBoYXllc3dhbmcgPGhheWVzd2FuZ0ByZWFsdGVrLmNvbT4KRGF0 ZTogV2VkLCAxMSBKYW4gMjAxNyAxNjoyNTozNCArMDgwMApTdWJqZWN0OiBbUEFUQ0ggMDEvMjBd IHI4MTUyOiBmaXggdGhlIHN3IHJ4IGNoZWNrc3VtIGlzIHVuYXZhaWxhYmxlCgpbIFVwc3RyZWFt IGNvbW1pdCAxOWMwZjQwZDRmY2EzYTQ3YjhmNzg0YTYyN2YwNDY3ZjAxMzhjY2M4IF0KCkZpeCB0 aGUgaHcgcnggY2hlY2tzdW0gaXMgYWx3YXlzIGVuYWJsZWQsIGFuZCB0aGUgdXNlciBjb3VsZG4n dCBzd2l0Y2gKaXQgdG8gc3cgcnggY2hlY2tzdW0uCgpOb3RlIHRoYXQgdGhlIFJUTF9WRVJfMDEg b25seSBzdXBwb3J0IHN3IHJ4IGNoZWNrc3VtIG9ubHkuIEJlc2lkZXMsCnRoZSBodyByeCBjaGVj a3N1bSBmb3IgUlRMX1ZFUl8wMiBpcyBkaXNhYmxlZCBhZnRlcgpjb21taXQgYjlhMzIxYjQ4YWY0 ICgicjgxNTI6IEZpeCBicm9rZW4gUlggY2hlY2tzdW1zLiIpLiBSZS1lbmFibGUgaXQuCgpTaWdu ZWQtb2ZmLWJ5OiBIYXllcyBXYW5nIDxoYXllc3dhbmdAcmVhbHRlay5jb20+ClNpZ25lZC1vZmYt Ynk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBkcml2ZXJzL25l dC91c2IvcjgxNTIuYyB8IDcgKysrKysrLQogMSBmaWxlIGNoYW5nZWQsIDYgaW5zZXJ0aW9ucygr KSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3VzYi9yODE1Mi5jIGIv ZHJpdmVycy9uZXQvdXNiL3I4MTUyLmMKaW5kZXggMzJiN2VjOS4uZWQ1MTJhNCAxMDA2NDQKLS0t IGEvZHJpdmVycy9uZXQvdXNiL3I4MTUyLmMKKysrIGIvZHJpdmVycy9uZXQvdXNiL3I4MTUyLmMK QEAgLTE2NDUsNyArMTY0NSw3IEBAIHN0YXRpYyB1OCByODE1Ml9yeF9jc3VtKHN0cnVjdCByODE1 MiAqdHAsIHN0cnVjdCByeF9kZXNjICpyeF9kZXNjKQogCXU4IGNoZWNrc3VtID0gQ0hFQ0tTVU1f Tk9ORTsKIAl1MzIgb3B0czIsIG9wdHMzOwogCi0JaWYgKHRwLT52ZXJzaW9uID09IFJUTF9WRVJf MDEpCisJaWYgKCEodHAtPm5ldGRldi0+ZmVhdHVyZXMgJiBORVRJRl9GX1JYQ1NVTSkpCiAJCWdv dG8gcmV0dXJuX3Jlc3VsdDsKIAogCW9wdHMyID0gbGUzMl90b19jcHUocnhfZGVzYy0+b3B0czIp OwpAQCAtNDIyMSw2ICs0MjIxLDExIEBAIHN0YXRpYyBpbnQgcnRsODE1Ml9wcm9iZShzdHJ1Y3Qg dXNiX2ludGVyZmFjZSAqaW50ZiwKIAkJCQlORVRJRl9GX0hJR0hETUEgfCBORVRJRl9GX0ZSQUdM SVNUIHwKIAkJCQlORVRJRl9GX0lQVjZfQ1NVTSB8IE5FVElGX0ZfVFNPNjsKIAorCWlmICh0cC0+ dmVyc2lvbiA9PSBSVExfVkVSXzAxKSB7CisJCW5ldGRldi0+ZmVhdHVyZXMgJj0gfk5FVElGX0Zf UlhDU1VNOworCQluZXRkZXYtPmh3X2ZlYXR1cmVzICY9IH5ORVRJRl9GX1JYQ1NVTTsKKwl9CisK IAluZXRkZXYtPmV0aHRvb2xfb3BzID0gJm9wczsKIAluZXRpZl9zZXRfZ3NvX21heF9zaXplKG5l dGRldiwgUlRMX0xJTUlURURfVFNPX1NJWkUpOwogCi0tIAoyLjQuMTEKCgpGcm9tIDE3YzdlYTRh MzE3YmMzMjlhZGEyYTY3NDBlYTg2ZjRlYjEzOGIxM2IgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAx CkZyb206IEFya2FkaSBTaGFyc2hldnNreSA8YXJrYWRpc0BtZWxsYW5veC5jb20+CkRhdGU6IFRo dSwgMTIgSmFuIDIwMTcgMDk6MTA6MzcgKzAxMDAKU3ViamVjdDogW1BBVENIIDAyLzIwXSBtbHhz dzogc3BlY3RydW06IEZpeCBtZW1vcnkgbGVhayBhdCBza2IgcmVhbGxvY2F0aW9uCgpbIFVwc3Ry ZWFtIGNvbW1pdCAzNmJmMzhkMTU4ZDM0ODIxMTliM2UxNTljMDYxOWIzYzE1MzliNTA4IF0KCkR1 cmluZyB0cmFuc21pc3Npb24gdGhlIHNrYiBpcyBjaGVja2VkIGZvciBoZWFkcm9vbSBpbiBvcmRl ciB0bwphZGQgdmVuZG9yIHNwZWNpZmljIGhlYWRlci4gSW4gY2FzZSB0aGUgc2tiIG5lZWRzIHRv IGJlIHJlLWFsbG9jYXRlZCwKc2tiX3JlYWxsb2NfaGVhZHJvb20oKSBpcyBjYWxsZWQgdG8gbWFr ZSBhIHByaXZhdGUgY29weSBvZiB0aGUgb3JpZ2luYWwsCmJ1dCBkb2Vzbid0IHJlbGVhc2UgaXQu IEN1cnJlbnQgY29kZSBhc3N1bWVzIHRoYXQgdGhlIG9yaWdpbmFsIHNrYiBpcwpyZWxlYXNlZCBk dXJpbmcgcmVhbGxvY2F0aW9uIGFuZCBvbmx5IHJlbGVhc2VzIGl0IGF0IHRoZSBlcnJvciBwYXRo CndoaWNoIGNhdXNlcyBhIG1lbW9yeSBsZWFrLgoKRml4IHRoaXMgYnkgYWRkaW5nIHRoZSBvcmln aW5hbCBza2IgcmVsZWFzZSB0byB0aGUgbWFpbiBwYXRoLgoKRml4ZXM6IDU2YWRlOGZlM2ZlMSAo Im1seHN3OiBzcGVjdHJ1bTogQWRkIGluaXRpYWwgc3VwcG9ydCBmb3IgU3BlY3RydW0gQVNJQyIp ClNpZ25lZC1vZmYtYnk6IEFya2FkaSBTaGFyc2hldnNreSA8YXJrYWRpc0BtZWxsYW5veC5jb20+ ClJldmlld2VkLWJ5OiBJZG8gU2NoaW1tZWwgPGlkb3NjaEBtZWxsYW5veC5jb20+ClNpZ25lZC1v ZmYtYnk6IEppcmkgUGlya28gPGppcmlAbWVsbGFub3guY29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZp ZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogZHJpdmVycy9uZXQvZXRoZXJu ZXQvbWVsbGFub3gvbWx4c3cvc3BlY3RydW0uYyB8IDEgKwogMSBmaWxlIGNoYW5nZWQsIDEgaW5z ZXJ0aW9uKCspCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4 c3cvc3BlY3RydW0uYyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21seHN3L3NwZWN0 cnVtLmMKaW5kZXggM2JlNGEyMy4uY2IxNjVjMiAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvZXRo ZXJuZXQvbWVsbGFub3gvbWx4c3cvc3BlY3RydW0uYworKysgYi9kcml2ZXJzL25ldC9ldGhlcm5l dC9tZWxsYW5veC9tbHhzdy9zcGVjdHJ1bS5jCkBAIC0zOTAsNiArMzkwLDcgQEAgc3RhdGljIG5l dGRldl90eF90IG1seHN3X3NwX3BvcnRfeG1pdChzdHJ1Y3Qgc2tfYnVmZiAqc2tiLAogCQkJZGV2 X2tmcmVlX3NrYl9hbnkoc2tiX29yaWcpOwogCQkJcmV0dXJuIE5FVERFVl9UWF9PSzsKIAkJfQor CQlkZXZfY29uc3VtZV9za2JfYW55KHNrYl9vcmlnKTsKIAl9CiAKIAlpZiAoZXRoX3NrYl9wYWQo c2tiKSkgewotLSAKMi40LjExCgoKRnJvbSAwZDk1MDQxMDYwNDJmMDk4NGI2YjllZDBjYzUyNmE4 OTg3ZjVmZjU4IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBBcmthZGkgU2hhcnNoZXZz a3kgPGFya2FkaXNAbWVsbGFub3guY29tPgpEYXRlOiBUaHUsIDEyIEphbiAyMDE3IDA5OjEwOjM4 ICswMTAwClN1YmplY3Q6IFtQQVRDSCAwMy8yMF0gbWx4c3c6IHN3aXRjaHgyOiBGaXggbWVtb3J5 IGxlYWsgYXQgc2tiIHJlYWxsb2NhdGlvbgoKWyBVcHN0cmVhbSBjb21taXQgNDAwZmMwMTA2ZGQ4 YzI3ZWQ4NDc4MWM5MjljMWExODQ3ODViOWM3OSBdCgpEdXJpbmcgdHJhbnNtaXNzaW9uIHRoZSBz a2IgaXMgY2hlY2tlZCBmb3IgaGVhZHJvb20gaW4gb3JkZXIgdG8KYWRkIHZlbmRvciBzcGVjaWZp YyBoZWFkZXIuIEluIGNhc2UgdGhlIHNrYiBuZWVkcyB0byBiZSByZS1hbGxvY2F0ZWQsCnNrYl9y ZWFsbG9jX2hlYWRyb29tKCkgaXMgY2FsbGVkIHRvIG1ha2UgYSBwcml2YXRlIGNvcHkgb2YgdGhl IG9yaWdpbmFsLApidXQgZG9lc24ndCByZWxlYXNlIGl0LiBDdXJyZW50IGNvZGUgYXNzdW1lcyB0 aGF0IHRoZSBvcmlnaW5hbCBza2IgaXMKcmVsZWFzZWQgZHVyaW5nIHJlYWxsb2NhdGlvbiBhbmQg b25seSByZWxlYXNlcyBpdCBhdCB0aGUgZXJyb3IgcGF0aAp3aGljaCBjYXVzZXMgYSBtZW1vcnkg bGVhay4KCkZpeCB0aGlzIGJ5IGFkZGluZyB0aGUgb3JpZ2luYWwgc2tiIHJlbGVhc2UgdG8gdGhl IG1haW4gcGF0aC4KCkZpeGVzOiBkMDAzNDYyYTUwZGUgKCJtbHhzdzogU2ltcGxpZnkgbWx4c3df c3hfcG9ydF94bWl0IGZ1bmN0aW9uIikKU2lnbmVkLW9mZi1ieTogQXJrYWRpIFNoYXJzaGV2c2t5 IDxhcmthZGlzQG1lbGxhbm94LmNvbT4KU2lnbmVkLW9mZi1ieTogSmlyaSBQaXJrbyA8amlyaUBt ZWxsYW5veC5jb20+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1s b2Z0Lm5ldD4KLS0tCiBkcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHhzdy9zd2l0Y2h4 Mi5jIHwgMSArCiAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKykKCmRpZmYgLS1naXQgYS9k cml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHhzdy9zd2l0Y2h4Mi5jIGIvZHJpdmVycy9u ZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4c3cvc3dpdGNoeDIuYwppbmRleCBkODU5NjBjLi5mYjJk OWE4IDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHhzdy9zd2l0 Y2h4Mi5jCisrKyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21seHN3L3N3aXRjaHgy LmMKQEAgLTMxMyw2ICszMTMsNyBAQCBzdGF0aWMgbmV0ZGV2X3R4X3QgbWx4c3dfc3hfcG9ydF94 bWl0KHN0cnVjdCBza19idWZmICpza2IsCiAJCQlkZXZfa2ZyZWVfc2tiX2FueShza2Jfb3JpZyk7 CiAJCQlyZXR1cm4gTkVUREVWX1RYX09LOwogCQl9CisJCWRldl9jb25zdW1lX3NrYl9hbnkoc2ti X29yaWcpOwogCX0KIAltbHhzd19zeF90eGhkcl9jb25zdHJ1Y3Qoc2tiLCAmdHhfaW5mbyk7CiAJ bGVuID0gc2tiLT5sZW47Ci0tIAoyLjQuMTEKCgpGcm9tIDRiMGRjMDM5NTg1MDg3ZjM4MmQ0NDlh ODhlZDQ4NDUxZWIxODJiNTMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IEVsYWQgUmF6 IDxlbGFkckBtZWxsYW5veC5jb20+CkRhdGU6IFRodSwgMTIgSmFuIDIwMTcgMDk6MTA6MzkgKzAx MDAKU3ViamVjdDogW1BBVENIIDA0LzIwXSBtbHhzdzogcGNpOiBGaXggRVFFIHN0cnVjdHVyZSBk ZWZpbml0aW9uCgpbIFVwc3RyZWFtIGNvbW1pdCAyOGU0NmEwZjJlMDNhYjRlZDBlMjNjYWNlMWVh ODlhNjhjOGMxMTViIF0KClRoZSBldmVudF9kYXRhIHN0YXJ0cyBmcm9tIGFkZHJlc3MgMHgwMC0w eDBDIGFuZCBub3QgZnJvbSAweDA4LTB4MDE0LiBUaGlzCmxlYWRzIHRvIGR1cGxpY2F0aW9uIHdp dGggb3RoZXIgZmllbGRzIGluIHRoZSBFdmVudCBRdWV1ZSBFbGVtZW50IHN1Y2ggYXMKc3ViLXR5 cGUsIGNxbiBhbmQgb3duZXIuCgpGaXhlczogZWRhNjUwMGE5ODdhMCAoIm1seHN3OiBBZGQgUENJ IGJ1cyBpbXBsZW1lbnRhdGlvbiIpClNpZ25lZC1vZmYtYnk6IEVsYWQgUmF6IDxlbGFkckBtZWxs YW5veC5jb20+ClNpZ25lZC1vZmYtYnk6IEppcmkgUGlya28gPGppcmlAbWVsbGFub3guY29tPgpT aWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQog ZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4c3cvcGNpLmggfCA4ICsrKystLS0tCiAx IGZpbGUgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdp dCBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21seHN3L3BjaS5oIGIvZHJpdmVycy9u ZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4c3cvcGNpLmgKaW5kZXggMTQyZjMzZC4uYTBmYmUwMCAx MDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4c3cvcGNpLmgKKysr IGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4c3cvcGNpLmgKQEAgLTIwNiwyMSAr MjA2LDIxIEBAIE1MWFNXX0lURU0zMihwY2ksIGVxZSwgb3duZXIsIDB4MEMsIDAsIDEpOwogLyog cGNpX2VxZV9jbWRfdG9rZW4KICAqIENvbW1hbmQgY29tcGxldGlvbiBldmVudCAtIHRva2VuCiAg Ki8KLU1MWFNXX0lURU0zMihwY2ksIGVxZSwgY21kX3Rva2VuLCAweDA4LCAxNiwgMTYpOworTUxY U1dfSVRFTTMyKHBjaSwgZXFlLCBjbWRfdG9rZW4sIDB4MDAsIDE2LCAxNik7CiAKIC8qIHBjaV9l cWVfY21kX3N0YXR1cwogICogQ29tbWFuZCBjb21wbGV0aW9uIGV2ZW50IC0gc3RhdHVzCiAgKi8K LU1MWFNXX0lURU0zMihwY2ksIGVxZSwgY21kX3N0YXR1cywgMHgwOCwgMCwgOCk7CitNTFhTV19J VEVNMzIocGNpLCBlcWUsIGNtZF9zdGF0dXMsIDB4MDAsIDAsIDgpOwogCiAvKiBwY2lfZXFlX2Nt ZF9vdXRfcGFyYW1faAogICogQ29tbWFuZCBjb21wbGV0aW9uIGV2ZW50IC0gb3V0cHV0IHBhcmFt ZXRlciAtIGhpZ2hlciBwYXJ0CiAgKi8KLU1MWFNXX0lURU0zMihwY2ksIGVxZSwgY21kX291dF9w YXJhbV9oLCAweDBDLCAwLCAzMik7CitNTFhTV19JVEVNMzIocGNpLCBlcWUsIGNtZF9vdXRfcGFy YW1faCwgMHgwNCwgMCwgMzIpOwogCiAvKiBwY2lfZXFlX2NtZF9vdXRfcGFyYW1fbAogICogQ29t bWFuZCBjb21wbGV0aW9uIGV2ZW50IC0gb3V0cHV0IHBhcmFtZXRlciAtIGxvd2VyIHBhcnQKICAq LwotTUxYU1dfSVRFTTMyKHBjaSwgZXFlLCBjbWRfb3V0X3BhcmFtX2wsIDB4MTAsIDAsIDMyKTsK K01MWFNXX0lURU0zMihwY2ksIGVxZSwgY21kX291dF9wYXJhbV9sLCAweDA4LCAwLCAzMik7CiAK ICNlbmRpZgotLSAKMi40LjExCgoKRnJvbSA0ZWU0ZDdmZDljYjMwN2U1YjA4ZWQzYjkzZjFkMmIy Y2Y4OGQyMzNiIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBEYXZpZCBBaGVybiA8ZHNh QGN1bXVsdXNuZXR3b3Jrcy5jb20+CkRhdGU6IFdlZCwgMTEgSmFuIDIwMTcgMTQ6Mjk6NTQgLTA4 MDAKU3ViamVjdDogW1BBVENIIDA1LzIwXSBuZXQ6IGx3dHVubmVsOiBIYW5kbGUgbHd0dW5uZWxf ZmlsbF9lbmNhcCBmYWlsdXJlCgpbIFVwc3RyZWFtIGNvbW1pdCBlYTdhODA4NThmNTdkODg3OGIx NDk5ZWEwZjFiOGE2MzVjYzQ4ZGU3IF0KCkhhbmRsZSBmYWlsdXJlIGluIGx3dHVubmVsX2ZpbGxf ZW5jYXAgYWRkaW5nIGF0dHJpYnV0ZXMgdG8gc2tiLgoKRml4ZXM6IDU3MWU3MjI2NzZmZSAoImlw djQ6IHN1cHBvcnQgZm9yIGZpYiByb3V0ZSBsd3R1bm5lbCBlbmNhcCBhdHRyaWJ1dGVzIikKRml4 ZXM6IDE5ZTQyZTQ1MTUwNiAoImlwdjY6IHN1cHBvcnQgZm9yIGZpYiByb3V0ZSBsd3R1bm5lbCBl bmNhcCBhdHRyaWJ1dGVzIikKU2lnbmVkLW9mZi1ieTogRGF2aWQgQWhlcm4gPGRzYUBjdW11bHVz bmV0d29ya3MuY29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVt bG9mdC5uZXQ+Ci0tLQogbmV0L2lwdjQvZmliX3NlbWFudGljcy5jIHwgMTEgKysrKysrKy0tLS0K IG5ldC9pcHY2L3JvdXRlLmMgICAgICAgICB8ICAzICsrLQogMiBmaWxlcyBjaGFuZ2VkLCA5IGlu c2VydGlvbnMoKyksIDUgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvbmV0L2lwdjQvZmliX3Nl bWFudGljcy5jIGIvbmV0L2lwdjQvZmliX3NlbWFudGljcy5jCmluZGV4IDg0MGI0NTAuLjY3ZDQ0 YWEgMTAwNjQ0Ci0tLSBhL25ldC9pcHY0L2ZpYl9zZW1hbnRpY3MuYworKysgYi9uZXQvaXB2NC9m aWJfc2VtYW50aWNzLmMKQEAgLTEyNzcsOCArMTI3Nyw5IEBAIGludCBmaWJfZHVtcF9pbmZvKHN0 cnVjdCBza19idWZmICpza2IsIHUzMiBwb3J0aWQsIHUzMiBzZXEsIGludCBldmVudCwKIAkJICAg IG5sYV9wdXRfdTMyKHNrYiwgUlRBX0ZMT1csIGZpLT5maWJfbmhbMF0ubmhfdGNsYXNzaWQpKQog CQkJZ290byBubGFfcHV0X2ZhaWx1cmU7CiAjZW5kaWYKLQkJaWYgKGZpLT5maWJfbmgtPm5oX2x3 dHN0YXRlKQotCQkJbHd0dW5uZWxfZmlsbF9lbmNhcChza2IsIGZpLT5maWJfbmgtPm5oX2x3dHN0 YXRlKTsKKwkJaWYgKGZpLT5maWJfbmgtPm5oX2x3dHN0YXRlICYmCisJCSAgICBsd3R1bm5lbF9m aWxsX2VuY2FwKHNrYiwgZmktPmZpYl9uaC0+bmhfbHd0c3RhdGUpIDwgMCkKKwkJCWdvdG8gbmxh X3B1dF9mYWlsdXJlOwogCX0KICNpZmRlZiBDT05GSUdfSVBfUk9VVEVfTVVMVElQQVRICiAJaWYg KGZpLT5maWJfbmhzID4gMSkgewpAQCAtMTMxNCw4ICsxMzE1LDEwIEBAIGludCBmaWJfZHVtcF9p bmZvKHN0cnVjdCBza19idWZmICpza2IsIHUzMiBwb3J0aWQsIHUzMiBzZXEsIGludCBldmVudCwK IAkJCSAgICBubGFfcHV0X3UzMihza2IsIFJUQV9GTE9XLCBuaC0+bmhfdGNsYXNzaWQpKQogCQkJ CWdvdG8gbmxhX3B1dF9mYWlsdXJlOwogI2VuZGlmCi0JCQlpZiAobmgtPm5oX2x3dHN0YXRlKQot CQkJCWx3dHVubmVsX2ZpbGxfZW5jYXAoc2tiLCBuaC0+bmhfbHd0c3RhdGUpOworCQkJaWYgKG5o LT5uaF9sd3RzdGF0ZSAmJgorCQkJICAgIGx3dHVubmVsX2ZpbGxfZW5jYXAoc2tiLCBuaC0+bmhf bHd0c3RhdGUpIDwgMCkKKwkJCQlnb3RvIG5sYV9wdXRfZmFpbHVyZTsKKwogCQkJLyogbGVuZ3Ro IG9mIHJ0bmV0bGluayBoZWFkZXIgKyBhdHRyaWJ1dGVzICovCiAJCQlydG5oLT5ydG5oX2xlbiA9 IG5sbXNnX2dldF9wb3Moc2tiKSAtICh2b2lkICopIHJ0bmg7CiAJCX0gZW5kZm9yX25leHRob3Bz KGZpKTsKZGlmZiAtLWdpdCBhL25ldC9pcHY2L3JvdXRlLmMgYi9uZXQvaXB2Ni9yb3V0ZS5jCmlu ZGV4IGRiZmZjOWQuLjM2YmY0YzMgMTAwNjQ0Ci0tLSBhL25ldC9pcHY2L3JvdXRlLmMKKysrIGIv bmV0L2lwdjYvcm91dGUuYwpAQCAtMzE5Niw3ICszMTk2LDggQEAgc3RhdGljIGludCBydDZfZmls bF9ub2RlKHN0cnVjdCBuZXQgKm5ldCwKIAlpZiAobmxhX3B1dF91OChza2IsIFJUQV9QUkVGLCBJ UFY2X0VYVFJBQ1RfUFJFRihydC0+cnQ2aV9mbGFncykpKQogCQlnb3RvIG5sYV9wdXRfZmFpbHVy ZTsKIAotCWx3dHVubmVsX2ZpbGxfZW5jYXAoc2tiLCBydC0+ZHN0Lmx3dHN0YXRlKTsKKwlpZiAo bHd0dW5uZWxfZmlsbF9lbmNhcChza2IsIHJ0LT5kc3QubHd0c3RhdGUpIDwgMCkKKwkJZ290byBu bGFfcHV0X2ZhaWx1cmU7CiAKIAlubG1zZ19lbmQoc2tiLCBubGgpOwogCXJldHVybiAwOwotLSAK Mi40LjExCgoKRnJvbSA1ODBkNGFkNDVhNjNhMWVjNjdjODIzODE5NmI5OWZmOGFkMjcwMTU1IE1v biBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBEYXZpZCBBaGVybiA8ZHNhQGN1bXVsdXNuZXR3 b3Jrcy5jb20+CkRhdGU6IFdlZCwgMTEgSmFuIDIwMTcgMTU6NDI6MTcgLTA4MDAKU3ViamVjdDog W1BBVENIIDA2LzIwXSBuZXQ6IGlwdjQ6IGZpeCB0YWJsZSBpZCBpbiBnZXRyb3V0ZSByZXNwb25z ZQoKWyBVcHN0cmVhbSBjb21taXQgOGE0MzBlZDUwYmIxYjE5Y2ExNGE0NjY2MWYzYjFiMzVmMmZi NWMzOSBdCgpydG1fdGFibGUgaXMgYW4gOC1iaXQgZmllbGQgd2hpbGUgdGFibGUgaWRzIGFyZSBh bGxvd2VkIHVwIHRvIHUzMi4gQ29tbWl0CjcwOTc3MmU2ZTA2NSAoIm5ldDogRml4IHJvdXRpbmcg dGFibGVzIHdpdGggaWQgPiAyNTUgZm9yIGxlZ2FjeSBzb2Z0d2FyZSIpCmFkZGVkIHRoZSBwcmVm ZXJlbmNlIHRvIHNldCBydG1fdGFibGUgaW4gZHVtcHMgdG8gUlRfVEFCTEVfQ09NUEFUIGlmIHRo ZQp0YWJsZSBpZCBpcyA+IDI1NS4gVGhlIHRhYmxlIGlkIHJldHVybmVkIG9uIGdldCByb3V0ZSBy ZXF1ZXN0cyBzaG91bGQgZG8KdGhlIHNhbWUuCgpGaXhlczogYzM2YmE2NjAzYTExICgibmV0OiBB bGxvdyB1c2VyIHRvIGdldCB0YWJsZSBpZCBmcm9tIHJvdXRlIGxvb2t1cCIpClNpZ25lZC1vZmYt Ynk6IERhdmlkIEFoZXJuIDxkc2FAY3VtdWx1c25ldHdvcmtzLmNvbT4KU2lnbmVkLW9mZi1ieTog RGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIG5ldC9pcHY0L3JvdXRl LmMgfCAyICstCiAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkK CmRpZmYgLS1naXQgYS9uZXQvaXB2NC9yb3V0ZS5jIGIvbmV0L2lwdjQvcm91dGUuYwppbmRleCA3 Y2ViOGE1Li5lZjJmNTI3IDEwMDY0NAotLS0gYS9uZXQvaXB2NC9yb3V0ZS5jCisrKyBiL25ldC9p cHY0L3JvdXRlLmMKQEAgLTI0MzAsNyArMjQzMCw3IEBAIHN0YXRpYyBpbnQgcnRfZmlsbF9pbmZv KHN0cnVjdCBuZXQgKm5ldCwgIF9fYmUzMiBkc3QsIF9fYmUzMiBzcmMsIHUzMiB0YWJsZV9pZCwK IAlyLT5ydG1fZHN0X2xlbgk9IDMyOwogCXItPnJ0bV9zcmNfbGVuCT0gMDsKIAlyLT5ydG1fdG9z CT0gZmw0LT5mbG93aTRfdG9zOwotCXItPnJ0bV90YWJsZQk9IHRhYmxlX2lkOworCXItPnJ0bV90 YWJsZQk9IHRhYmxlX2lkIDwgMjU2ID8gdGFibGVfaWQgOiBSVF9UQUJMRV9DT01QQVQ7CiAJaWYg KG5sYV9wdXRfdTMyKHNrYiwgUlRBX1RBQkxFLCB0YWJsZV9pZCkpCiAJCWdvdG8gbmxhX3B1dF9m YWlsdXJlOwogCXItPnJ0bV90eXBlCT0gcnQtPnJ0X3R5cGU7Ci0tIAoyLjQuMTEKCgpGcm9tIGI1 ZjA5ZDRmYzNkOWQ4ZjVlODBhZjBhMGU3MDAzNzZlMDFjNDFlNzMgTW9uIFNlcCAxNyAwMDowMDow MCAyMDAxCkZyb206IEZsb3JpYW4gRmFpbmVsbGkgPGYuZmFpbmVsbGlAZ21haWwuY29tPgpEYXRl OiBUaHUsIDEyIEphbiAyMDE3IDEyOjA5OjA5IC0wODAwClN1YmplY3Q6IFtQQVRDSCAwNy8yMF0g bmV0OiBzeXN0ZW1wb3J0OiBEZWNvdXBsZSBmbG93IGNvbnRyb2wgZnJvbQogX19iY21fc3lzcG9y dF90eF9yZWNsYWltCgpbIFVwc3RyZWFtIGNvbW1pdCAxNDhkM2QwMjFjZjk3MjRmY2YxODljZTRl NTI1YTA5NGJiZjVjZTg5IF0KClRoZSBfX2JjbV9zeXNwb3J0X3R4X3JlY2xhaW0oKSBmdW5jdGlv biBpcyB1c2VkIHRvIHJlY2xhaW0gdHJhbnNtaXQKcmVzb3VyY2VzIGluIGRpZmZlcmVudCBwbGFj ZXMgd2l0aGluIHRoZSBkcml2ZXIuIE1vc3Qgb2YgdGhlbSBzaG91bGQKbm90IGFmZmVjdCB0aGUg c3RhdGUgb2YgdGhlIHRyYW5zaXQgZmxvdyBjb250cm9sLgoKSW50cm9kdWNlIGJjbV9zeXNwb3J0 X3R4X2NsZWFuKCkgd2hpY2ggY2xlYW5zIHRoZSByaW5nLCBidXQgZG9lcyBub3QKcmUtZW5hYmxl IGZsb3cgY29udHJvbCB0b3dhcmRzIHRoZSBuZXR3b3JraW5nIHN0YWNrLCBhbmQgbWFrZQpiY21f c3lzcG9ydF90eF9yZWNsYWltKCkgZG8gdGhlIGFjdHVhbCB0cmFuc21pdCBxdWV1ZSBmbG93IGNv bnRyb2wuCgpGaXhlczogODAxMDViZWZkYjRiICgibmV0OiBzeXN0ZW1wb3J0OiBhZGQgQnJvYWRj b20gU1lTVEVNUE9SVCBFdGhlcm5ldCBNQUMgZHJpdmVyIikKU2lnbmVkLW9mZi1ieTogRmxvcmlh biBGYWluZWxsaSA8Zi5mYWluZWxsaUBnbWFpbC5jb20+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMu IE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBkcml2ZXJzL25ldC9ldGhlcm5ldC9i cm9hZGNvbS9iY21zeXNwb3J0LmMgfCAyNSArKysrKysrKysrKysrKysrKystLS0tLS0tCiAxIGZp bGUgY2hhbmdlZCwgMTggaW5zZXJ0aW9ucygrKSwgNyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQg YS9kcml2ZXJzL25ldC9ldGhlcm5ldC9icm9hZGNvbS9iY21zeXNwb3J0LmMgYi9kcml2ZXJzL25l dC9ldGhlcm5ldC9icm9hZGNvbS9iY21zeXNwb3J0LmMKaW5kZXggODU4MTA2My4uODg2MGU3NCAx MDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvYnJvYWRjb20vYmNtc3lzcG9ydC5jCisr KyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L2Jyb2FkY29tL2JjbXN5c3BvcnQuYwpAQCAtNzMyLDEx ICs3MzIsOCBAQCBzdGF0aWMgdW5zaWduZWQgaW50IF9fYmNtX3N5c3BvcnRfdHhfcmVjbGFpbShz dHJ1Y3QgYmNtX3N5c3BvcnRfcHJpdiAqcHJpdiwKIAl1bnNpZ25lZCBpbnQgY19pbmRleCwgbGFz dF9jX2luZGV4LCBsYXN0X3R4X2NuLCBudW1fdHhfY2JzOwogCXVuc2lnbmVkIGludCBwa3RzX2Nv bXBsID0gMCwgYnl0ZXNfY29tcGwgPSAwOwogCXN0cnVjdCBiY21fc3lzcG9ydF9jYiAqY2I7Ci0J c3RydWN0IG5ldGRldl9xdWV1ZSAqdHhxOwogCXUzMiBod19pbmQ7CiAKLQl0eHEgPSBuZXRkZXZf Z2V0X3R4X3F1ZXVlKG5kZXYsIHJpbmctPmluZGV4KTsKLQogCS8qIENvbXB1dGUgaG93IG1hbnkg ZGVzY3JpcHRvcnMgaGF2ZSBiZWVuIHByb2Nlc3NlZCBzaW5jZSBsYXN0IGNhbGwgKi8KIAlod19p bmQgPSB0ZG1hX3JlYWRsKHByaXYsIFRETUFfREVTQ19SSU5HX1BST0RfQ09OU19JTkRFWChyaW5n LT5pbmRleCkpOwogCWNfaW5kZXggPSAoaHdfaW5kID4+IFJJTkdfQ09OU19JTkRFWF9TSElGVCkg JiBSSU5HX0NPTlNfSU5ERVhfTUFTSzsKQEAgLTc2Nyw5ICs3NjQsNiBAQCBzdGF0aWMgdW5zaWdu ZWQgaW50IF9fYmNtX3N5c3BvcnRfdHhfcmVjbGFpbShzdHJ1Y3QgYmNtX3N5c3BvcnRfcHJpdiAq cHJpdiwKIAogCXJpbmctPmNfaW5kZXggPSBjX2luZGV4OwogCi0JaWYgKG5ldGlmX3R4X3F1ZXVl X3N0b3BwZWQodHhxKSAmJiBwa3RzX2NvbXBsKQotCQluZXRpZl90eF93YWtlX3F1ZXVlKHR4cSk7 Ci0KIAluZXRpZl9kYmcocHJpdiwgdHhfZG9uZSwgbmRldiwKIAkJICAicmluZz0lZCBjX2luZGV4 PSVkIHBrdHNfY29tcGw9JWQsIGJ5dGVzX2NvbXBsPSVkXG4iLAogCQkgIHJpbmctPmluZGV4LCBy aW5nLT5jX2luZGV4LCBwa3RzX2NvbXBsLCBieXRlc19jb21wbCk7CkBAIC03ODEsMTYgKzc3NSwz MyBAQCBzdGF0aWMgdW5zaWduZWQgaW50IF9fYmNtX3N5c3BvcnRfdHhfcmVjbGFpbShzdHJ1Y3Qg YmNtX3N5c3BvcnRfcHJpdiAqcHJpdiwKIHN0YXRpYyB1bnNpZ25lZCBpbnQgYmNtX3N5c3BvcnRf dHhfcmVjbGFpbShzdHJ1Y3QgYmNtX3N5c3BvcnRfcHJpdiAqcHJpdiwKIAkJCQkJICAgc3RydWN0 IGJjbV9zeXNwb3J0X3R4X3JpbmcgKnJpbmcpCiB7CisJc3RydWN0IG5ldGRldl9xdWV1ZSAqdHhx OwogCXVuc2lnbmVkIGludCByZWxlYXNlZDsKIAl1bnNpZ25lZCBsb25nIGZsYWdzOwogCisJdHhx ID0gbmV0ZGV2X2dldF90eF9xdWV1ZShwcml2LT5uZXRkZXYsIHJpbmctPmluZGV4KTsKKwogCXNw aW5fbG9ja19pcnFzYXZlKCZyaW5nLT5sb2NrLCBmbGFncyk7CiAJcmVsZWFzZWQgPSBfX2JjbV9z eXNwb3J0X3R4X3JlY2xhaW0ocHJpdiwgcmluZyk7CisJaWYgKHJlbGVhc2VkKQorCQluZXRpZl90 eF93YWtlX3F1ZXVlKHR4cSk7CisKIAlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZyaW5nLT5sb2Nr LCBmbGFncyk7CiAKIAlyZXR1cm4gcmVsZWFzZWQ7CiB9CiAKKy8qIExvY2tlZCB2ZXJzaW9uIG9m IHRoZSBwZXItcmluZyBUWCByZWNsYWltLCBidXQgZG9lcyBub3Qgd2FrZSB0aGUgcXVldWUgKi8K K3N0YXRpYyB2b2lkIGJjbV9zeXNwb3J0X3R4X2NsZWFuKHN0cnVjdCBiY21fc3lzcG9ydF9wcml2 ICpwcml2LAorCQkJCSBzdHJ1Y3QgYmNtX3N5c3BvcnRfdHhfcmluZyAqcmluZykKK3sKKwl1bnNp Z25lZCBsb25nIGZsYWdzOworCisJc3Bpbl9sb2NrX2lycXNhdmUoJnJpbmctPmxvY2ssIGZsYWdz KTsKKwlfX2JjbV9zeXNwb3J0X3R4X3JlY2xhaW0ocHJpdiwgcmluZyk7CisJc3Bpbl91bmxvY2tf aXJxcmVzdG9yZSgmcmluZy0+bG9jaywgZmxhZ3MpOworfQorCiBzdGF0aWMgaW50IGJjbV9zeXNw b3J0X3R4X3BvbGwoc3RydWN0IG5hcGlfc3RydWN0ICpuYXBpLCBpbnQgYnVkZ2V0KQogewogCXN0 cnVjdCBiY21fc3lzcG9ydF90eF9yaW5nICpyaW5nID0KQEAgLTEyNzUsNyArMTI4Niw3IEBAIHN0 YXRpYyB2b2lkIGJjbV9zeXNwb3J0X2ZpbmlfdHhfcmluZyhzdHJ1Y3QgYmNtX3N5c3BvcnRfcHJp diAqcHJpdiwKIAluYXBpX2Rpc2FibGUoJnJpbmctPm5hcGkpOwogCW5ldGlmX25hcGlfZGVsKCZy aW5nLT5uYXBpKTsKIAotCWJjbV9zeXNwb3J0X3R4X3JlY2xhaW0ocHJpdiwgcmluZyk7CisJYmNt X3N5c3BvcnRfdHhfY2xlYW4ocHJpdiwgcmluZyk7CiAKIAlrZnJlZShyaW5nLT5jYnMpOwogCXJp bmctPmNicyA9IE5VTEw7Ci0tIAoyLjQuMTEKCgpGcm9tIGQzOWNmZDQ4YjZjYjRmZGNmOTc0OTc5 NGU5Mjc2OWM5M2U2Y2M1YjIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IFNoYW5ub24g TmVsc29uIDxzaGFubm9uLm5lbHNvbkBvcmFjbGUuY29tPgpEYXRlOiBUaHUsIDEyIEphbiAyMDE3 IDE0OjI0OjU4IC0wODAwClN1YmplY3Q6IFtQQVRDSCAwOC8yMF0gdGNwOiBmaXggdGNwX2Zhc3Rv cGVuIHVuYWxpZ25lZCBhY2Nlc3MgY29tcGxhaW50cyBvbgogc3BhcmMKClsgVXBzdHJlYW0gY29t bWl0IDAwM2M5NDEwNTdlYWE4NjhjYTZmZWRkMjlhMjc0Yzg2MzE2NzIzMGQgXQoKRml4IHVwIGEg ZGF0YSBhbGlnbm1lbnQgaXNzdWUgb24gc3BhcmMgYnkgc3dhcHBpbmcgdGhlIG9yZGVyCm9mIHRo ZSBjb29raWUgYnl0ZSBhcnJheSBmaWVsZCB3aXRoIHRoZSBsZW5ndGggZmllbGQgaW4Kc3RydWN0 IHRjcF9mYXN0b3Blbl9jb29raWUsIGFuZCBtYWtpbmcgaXQgYSBwcm9wZXIgdW5pb24KdG8gY2xl YW4gdXAgdGhlIHR5cGVjYXN0aW5nLgoKVGhpcyBhZGRyZXNzZXMgbG9nIGNvbXBsYWludHMgbGlr ZSB0aGVzZToKICAgIGxvZ191bmFsaWduZWQ6IDExMyBjYWxsYmFja3Mgc3VwcHJlc3NlZAogICAg S2VybmVsIHVuYWxpZ25lZCBhY2Nlc3MgYXQgVFBDWzk3NjQ5MF0gdGNwX3RyeV9mYXN0b3Blbisw eDJkMC8weDM2MAogICAgS2VybmVsIHVuYWxpZ25lZCBhY2Nlc3MgYXQgVFBDWzk3NjRhY10gdGNw X3RyeV9mYXN0b3BlbisweDJlYy8weDM2MAogICAgS2VybmVsIHVuYWxpZ25lZCBhY2Nlc3MgYXQg VFBDWzk3NjRjOF0gdGNwX3RyeV9mYXN0b3BlbisweDMwOC8weDM2MAogICAgS2VybmVsIHVuYWxp Z25lZCBhY2Nlc3MgYXQgVFBDWzk3NjRlNF0gdGNwX3RyeV9mYXN0b3BlbisweDMyNC8weDM2MAog ICAgS2VybmVsIHVuYWxpZ25lZCBhY2Nlc3MgYXQgVFBDWzk3NjQ5MF0gdGNwX3RyeV9mYXN0b3Bl bisweDJkMC8weDM2MAoKQ2M6IEVyaWMgRHVtYXpldCA8ZXJpYy5kdW1hemV0QGdtYWlsLmNvbT4K U2lnbmVkLW9mZi1ieTogU2hhbm5vbiBOZWxzb24gPHNoYW5ub24ubmVsc29uQG9yYWNsZS5jb20+ CkFja2VkLWJ5OiBFcmljIER1bWF6ZXQgPGVkdW1hemV0QGdvb2dsZS5jb20+ClNpZ25lZC1vZmYt Ynk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBpbmNsdWRlL2xp bnV4L3RjcC5oICAgICB8IDcgKysrKysrLQogbmV0L2lwdjQvdGNwX2Zhc3RvcGVuLmMgfCAyICst CiAyIGZpbGVzIGNoYW5nZWQsIDcgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKCmRpZmYg LS1naXQgYS9pbmNsdWRlL2xpbnV4L3RjcC5oIGIvaW5jbHVkZS9saW51eC90Y3AuaAppbmRleCBi Mzg2MzYxLi4zMThjMjQ2IDEwMDY0NAotLS0gYS9pbmNsdWRlL2xpbnV4L3RjcC5oCisrKyBiL2lu Y2x1ZGUvbGludXgvdGNwLmgKQEAgLTU2LDggKzU2LDEzIEBAIHN0YXRpYyBpbmxpbmUgdW5zaWdu ZWQgaW50IHRjcF9vcHRsZW4oY29uc3Qgc3RydWN0IHNrX2J1ZmYgKnNrYikKIAogLyogVENQIEZh c3QgT3BlbiBDb29raWUgYXMgc3RvcmVkIGluIG1lbW9yeSAqLwogc3RydWN0IHRjcF9mYXN0b3Bl bl9jb29raWUgeworCXVuaW9uIHsKKwkJdTgJdmFsW1RDUF9GQVNUT1BFTl9DT09LSUVfTUFYXTsK KyNpZiBJU19FTkFCTEVEKENPTkZJR19JUFY2KQorCQlzdHJ1Y3QgaW42X2FkZHIgYWRkcjsKKyNl bmRpZgorCX07CiAJczgJbGVuOwotCXU4CXZhbFtUQ1BfRkFTVE9QRU5fQ09PS0lFX01BWF07CiAJ Ym9vbAlleHA7CS8qIEluIFJGQzY5OTQgZXhwZXJpbWVudGFsIG9wdGlvbiBmb3JtYXQgKi8KIH07 CiAKZGlmZiAtLWdpdCBhL25ldC9pcHY0L3RjcF9mYXN0b3Blbi5jIGIvbmV0L2lwdjQvdGNwX2Zh c3RvcGVuLmMKaW5kZXggNTViZTZhYy4uMzI0ODllNCAxMDA2NDQKLS0tIGEvbmV0L2lwdjQvdGNw X2Zhc3RvcGVuLmMKKysrIGIvbmV0L2lwdjQvdGNwX2Zhc3RvcGVuLmMKQEAgLTExMiw3ICsxMTIs NyBAQCBzdGF0aWMgYm9vbCB0Y3BfZmFzdG9wZW5fY29va2llX2dlbihzdHJ1Y3QgcmVxdWVzdF9z b2NrICpyZXEsCiAJCXN0cnVjdCB0Y3BfZmFzdG9wZW5fY29va2llIHRtcDsKIAogCQlpZiAoX190 Y3BfZmFzdG9wZW5fY29va2llX2dlbigmaXA2aC0+c2FkZHIsICZ0bXApKSB7Ci0JCQlzdHJ1Y3Qg aW42X2FkZHIgKmJ1ZiA9IChzdHJ1Y3QgaW42X2FkZHIgKikgdG1wLnZhbDsKKwkJCXN0cnVjdCBp bjZfYWRkciAqYnVmID0gJnRtcC5hZGRyOwogCQkJaW50IGk7CiAKIAkJCWZvciAoaSA9IDA7IGkg PCA0OyBpKyspCi0tIAoyLjQuMTEKCgpGcm9tIDRiNWQwMzhjMTZjOTU5ZWU2M2JjNTk3Zjc0OWM5 MmZiYzg2YWJiNTUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IExhbmNlIFJpY2hhcmRz b24gPGxyaWNoYXJkQHJlZGhhdC5jb20+CkRhdGU6IFRodSwgMTIgSmFuIDIwMTcgMTk6MzM6MTgg LTA1MDAKU3ViamVjdDogW1BBVENIIDA5LzIwXSBvcGVudnN3aXRjaDogbWFpbnRhaW4gY29ycmVj dCBjaGVja3N1bSBzdGF0ZSBpbgogY29ubnRyYWNrIGFjdGlvbnMKClsgVXBzdHJlYW0gY29tbWl0 IDc1ZjAxYTRjOWNjMjkxZmY1Y2IyOGNhMTIxNmFkYjE2M2I3YTIwZWUgXQoKV2hlbiBleGVjdXRp bmcgY29ubnRyYWNrIGFjdGlvbnMgb24gc2tidWZmcyB3aXRoIGNoZWNrc3VtIG1vZGUKQ0hFQ0tT VU1fQ09NUExFVEUsIHRoZSBjaGVja3N1bSBtdXN0IGJlIHVwZGF0ZWQgdG8gYWNjb3VudCBmb3IK aGVhZGVyIHB1c2hlcyBhbmQgcHVsbHMuIE90aGVyd2lzZSB3ZSBnZXQgImh3IGNzdW0gZmFpbHVy ZSIKbG9ncyBzaW1pbGFyIHRvIHRoaXMgKElDTVAgcGFja2V0IHJlY2VpdmVkIG9uIGdlbmV2ZSB0 dW5uZWwKdmlhIGl4Z2JlIE5JQyk6CgpbICA0MDUuNzQwMDY1XSBnZW5ldl9zeXNfNjA4MTogaHcg Y3N1bSBmYWlsdXJlClsgIDQwNS43NDAxMDZdIENQVTogMyBQSUQ6IDAgQ29tbTogc3dhcHBlci8z IFRhaW50ZWQ6IEcgICAgICAgICAgSSAgICAgNC4xMC4wLXJjMysgIzEKWyAgNDA1Ljc0MDEwOF0g Q2FsbCBUcmFjZToKWyAgNDA1Ljc0MDExMF0gIDxJUlE+ClsgIDQwNS43NDAxMTNdICBkdW1wX3N0 YWNrKzB4NjMvMHg4NwpbICA0MDUuNzQwMTE2XSAgbmV0ZGV2X3J4X2NzdW1fZmF1bHQrMHgzYS8w eDQwClsgIDQwNS43NDAxMThdICBfX3NrYl9jaGVja3N1bV9jb21wbGV0ZSsweGNmLzB4ZTAKWyAg NDA1Ljc0MDEyMF0gIG5mX2lwX2NoZWNrc3VtKzB4YzgvMHhmMApbICA0MDUuNzQwMTI0XSAgaWNt cF9lcnJvcisweDFkZS8weDM1MSBbbmZfY29ubnRyYWNrX2lwdjRdClsgIDQwNS43NDAxMzJdICBu Zl9jb25udHJhY2tfaW4rMHhlMS8weDU1MCBbbmZfY29ubnRyYWNrXQpbICA0MDUuNzQwMTM3XSAg PyBmaW5kX2J1Y2tldC5pc3JhLjIrMHg2Mi8weDcwIFtvcGVudnN3aXRjaF0KWyAgNDA1Ljc0MDE0 M10gIF9fb3ZzX2N0X2xvb2t1cCsweDk1LzB4OTgwIFtvcGVudnN3aXRjaF0KWyAgNDA1Ljc0MDE0 NV0gID8gbmV0aWZfcnhfaW50ZXJuYWwrMHg0NC8weDExMApbICA0MDUuNzQwMTQ5XSAgb3ZzX2N0 X2V4ZWN1dGUrMHgxNDcvMHg0YjAgW29wZW52c3dpdGNoXQpbICA0MDUuNzQwMTUzXSAgZG9fZXhl Y3V0ZV9hY3Rpb25zKzB4MjJlLzB4YTcwIFtvcGVudnN3aXRjaF0KWyAgNDA1Ljc0MDE1N10gIG92 c19leGVjdXRlX2FjdGlvbnMrMHg0MC8weDEyMCBbb3BlbnZzd2l0Y2hdClsgIDQwNS43NDAxNjFd ICBvdnNfZHBfcHJvY2Vzc19wYWNrZXQrMHg4NC8weDEyMCBbb3BlbnZzd2l0Y2hdClsgIDQwNS43 NDAxNjZdICBvdnNfdnBvcnRfcmVjZWl2ZSsweDczLzB4ZDAgW29wZW52c3dpdGNoXQpbICA0MDUu NzQwMTY4XSAgPyB1ZHBfcmN2KzB4MWEvMHgyMApbICA0MDUuNzQwMTcwXSAgPyBpcF9sb2NhbF9k ZWxpdmVyX2ZpbmlzaCsweDkzLzB4MWUwClsgIDQwNS43NDAxNzJdICA/IGlwX2xvY2FsX2RlbGl2 ZXIrMHg2Zi8weGUwClsgIDQwNS43NDAxNzRdICA/IGlwX3Jjdl9maW5pc2grMHgzYTAvMHgzYTAK WyAgNDA1Ljc0MDE3Nl0gID8gaXBfcmN2X2ZpbmlzaCsweGRiLzB4M2EwClsgIDQwNS43NDAxNzdd ICA/IGlwX3JjdisweDJhNy8weDQwMApbICA0MDUuNzQwMTgwXSAgPyBfX25ldGlmX3JlY2VpdmVf c2tiX2NvcmUrMHg5NzAvMHhhMDAKWyAgNDA1Ljc0MDE4NV0gIG5ldGRldl9mcmFtZV9ob29rKzB4 ZDMvMHgxNjAgW29wZW52c3dpdGNoXQpbICA0MDUuNzQwMTg3XSAgX19uZXRpZl9yZWNlaXZlX3Nr Yl9jb3JlKzB4MWRjLzB4YTAwClsgIDQwNS43NDAxOTRdICA/IGl4Z2JlX2NsZWFuX3J4X2lycSsw eDQ2ZC8weGEyMCBbaXhnYmVdClsgIDQwNS43NDAxOTddICBfX25ldGlmX3JlY2VpdmVfc2tiKzB4 MTgvMHg2MApbICA0MDUuNzQwMTk5XSAgbmV0aWZfcmVjZWl2ZV9za2JfaW50ZXJuYWwrMHg0MC8w eGIwClsgIDQwNS43NDAyMDFdICBuYXBpX2dyb19yZWNlaXZlKzB4Y2QvMHgxMjAKWyAgNDA1Ljc0 MDIwNF0gIGdyb19jZWxsX3BvbGwrMHg1Ny8weDgwIFtnZW5ldmVdClsgIDQwNS43NDAyMDZdICBu ZXRfcnhfYWN0aW9uKzB4MjYwLzB4M2MwClsgIDQwNS43NDAyMDldICBfX2RvX3NvZnRpcnErMHhj OS8weDI4YwpbICA0MDUuNzQwMjExXSAgaXJxX2V4aXQrMHhkOS8weGYwClsgIDQwNS43NDAyMTNd ICBkb19JUlErMHg1MS8weGQwClsgIDQwNS43NDAyMTVdICBjb21tb25faW50ZXJydXB0KzB4OTMv MHg5MwoKRml4ZXM6IDdmOGE0MzZlYWEyYyAoIm9wZW52c3dpdGNoOiBBZGQgY29ubnRyYWNrIGFj dGlvbiIpClNpZ25lZC1vZmYtYnk6IExhbmNlIFJpY2hhcmRzb24gPGxyaWNoYXJkQHJlZGhhdC5j b20+CkFja2VkLWJ5OiBQcmF2aW4gQiBTaGVsYXIgPHBzaGVsYXJAb3ZuLm9yZz4KU2lnbmVkLW9m Zi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIG5ldC9vcGVu dnN3aXRjaC9jb25udHJhY2suYyB8IDMgKystCiAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25z KCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvbmV0L29wZW52c3dpdGNoL2Nvbm50cmFj ay5jIGIvbmV0L29wZW52c3dpdGNoL2Nvbm50cmFjay5jCmluZGV4IGUwMDQwNjcuLmFkNThkMmEg MTAwNjQ0Ci0tLSBhL25ldC9vcGVudnN3aXRjaC9jb25udHJhY2suYworKysgYi9uZXQvb3BlbnZz d2l0Y2gvY29ubnRyYWNrLmMKQEAgLTUwMSw3ICs1MDEsNyBAQCBpbnQgb3ZzX2N0X2V4ZWN1dGUo c3RydWN0IG5ldCAqbmV0LCBzdHJ1Y3Qgc2tfYnVmZiAqc2tiLAogCiAJLyogVGhlIGNvbm50cmFj ayBtb2R1bGUgZXhwZWN0cyB0byBiZSB3b3JraW5nIGF0IEwzLiAqLwogCW5oX29mcyA9IHNrYl9u ZXR3b3JrX29mZnNldChza2IpOwotCXNrYl9wdWxsKHNrYiwgbmhfb2ZzKTsKKwlza2JfcHVsbF9y Y3N1bShza2IsIG5oX29mcyk7CiAKIAlpZiAoa2V5LT5pcC5mcmFnICE9IE9WU19GUkFHX1RZUEVf Tk9ORSkgewogCQllcnIgPSBoYW5kbGVfZnJhZ21lbnRzKG5ldCwga2V5LCBpbmZvLT56b25lLmlk LCBza2IpOwpAQCAtNTI3LDYgKzUyNyw3IEBAIGludCBvdnNfY3RfZXhlY3V0ZShzdHJ1Y3QgbmV0 ICpuZXQsIHN0cnVjdCBza19idWZmICpza2IsCiAJCQkJCSZpbmZvLT5sYWJlbHMubWFzayk7CiBl cnI6CiAJc2tiX3B1c2goc2tiLCBuaF9vZnMpOworCXNrYl9wb3N0cHVzaF9yY3N1bShza2IsIHNr Yi0+ZGF0YSwgbmhfb2ZzKTsKIAlpZiAoZXJyKQogCQlrZnJlZV9za2Ioc2tiKTsKIAlyZXR1cm4g ZXJyOwotLSAKMi40LjExCgoKRnJvbSBiZmM1YWU0MzU4YWIwODRkODdlNDg5MmI0YzA2OTU0Y2Mw ZjI2ZTdiIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBNYXNhcnUgTmFnYWkgPG1hc2Fy dS5uYWdhaS52eEByZW5lc2FzLmNvbT4KRGF0ZTogTW9uLCAxNiBKYW4gMjAxNyAxMTo0NToyMSAr MDEwMApTdWJqZWN0OiBbUEFUQ0ggMTAvMjBdIHJhdmI6IGRvIG5vdCB1c2UgemVyby1sZW5ndGgg YWxpZ25tZW50IERNQSBkZXNjcmlwdG9yCgpbIFVwc3RyZWFtIGNvbW1pdCA4ZWMzZThhMTkyYmE2 ZjEzYmU0NTIyZWU4MTIyN2M3OTJjODZmYjFhIF0KCkR1ZSB0byBhbGlnbm1lbnQgcmVxdWlyZW1l bnRzIG9mIHRoZSBoYXJkd2FyZSB0cmFuc21pc3Npb25zIGFyZSBzcGxpdCBpbnRvCnR3byBETUEg ZGVzY3JpcHRvcnMsIGEgc21hbGwgcGFkZGluZyBkZXNjcmlwdG9yIG9mIDAgLSAzIGJ5dGVzIGlu IGxlbmd0aApmb2xsb3dlZCBieSBhIGRlc2NyaXB0b3IgZm9yIHJlc3Qgb2YgdGhlIHBhY2tldC4K CkluIHRoZSBjYXNlIG9mIElQIHBhY2tldHMgdGhlIGZpcnN0IGRlc2NyaXB0b3Igd2lsbCBuZXZl ciBiZSB6ZXJvIGR1ZSB0bwp0aGUgd2F5IHRoYXQgdGhlIHN0YWNrIGFsaWducyBidWZmZXJzIGZv ciBJUCBwYWNrZXRzLiBIb3dldmVyLCBmb3Igbm9uLUlQCnBhY2tldHMgaXQgbWF5IGJlIHplcm8u CgpJbiB0aGF0IGNhc2UgaXQgaGFzIGJlZW4gcmVwb3J0ZWQgdGhhdCB0aW1lb3V0cyBvY2N1ciwg cHJlc3VtYWJseSBiZWNhdXNlCnRyYW5zbWlzc2lvbiBzdG9wcyBhdCB0aGUgZmlyc3QgemVyby1s ZW5ndGggRE1BIGRlc2NyaXB0b3IgYW5kIHRodXMgdGhlCnBhY2tldCBpcyBub3QgdHJhbnNtaXR0 ZWQuIEhvd2V2ZXIsIGluIG15IGVudmlyb25tZW50IGEgQlVHIGlzIHRyaWdnZXJlZCBhcwpmb2xs b3dzOgoKWyAgIDIwLjM4MTQxN10gLS0tLS0tLS0tLS0tWyBjdXQgaGVyZSBdLS0tLS0tLS0tLS0t ClsgICAyMC4zODYwNTRdIGtlcm5lbCBCVUcgYXQgbGliL3N3aW90bGIuYzo0OTUhClsgICAyMC4z OTAzMjRdIEludGVybmFsIGVycm9yOiBPb3BzIC0gQlVHOiAwIFsjMV0gUFJFRU1QVCBTTVAKWyAg IDIwLjM5NTgwNV0gTW9kdWxlcyBsaW5rZWQgaW46ClsgICAyMC4zOTg4NjJdIENQVTogMCBQSUQ6 IDIwODkgQ29tbTogbXogTm90IHRhaW50ZWQgNC4xMC4wLXJjMy0wMDAwMS1nZjEzYWQyZGIxOTNm ICMxNjIKWyAgIDIwLjQwNjY4OV0gSGFyZHdhcmUgbmFtZTogUmVuZXNhcyBTYWx2YXRvci1YIGJv YXJkIGJhc2VkIG9uIHI4YTc3OTYgKERUKQpbICAgMjAuNDEzNDc0XSB0YXNrOiBmZmZmODAwNjNi MWYxOTAwIHRhc2suc3RhY2s6IGZmZmY4MDA2M2E3MWMwMDAKWyAgIDIwLjQxOTQwNF0gUEMgaXMg YXQgc3dpb3RsYl90YmxfbWFwX3NpbmdsZSsweDE3OC8weDJlYwpbICAgMjAuNDI0NjI1XSBMUiBp cyBhdCBtYXBfc2luZ2xlKzB4NGMvMHg5OApbICAgMjAuNDI4NjI5XSBwYyA6IFs8ZmZmZjAwMDAw ODM5YzRjMD5dIGxyIDogWzxmZmZmMDAwMDA4MzljNjgwPl0gcHN0YXRlOiA4MDAwMDFjNQpbICAg MjAuNDM2MDE5XSBzcCA6IGZmZmY4MDA2M2E3MWY5YjAKWyAgIDIwLjQzOTMyN10geDI5OiBmZmZm ODAwNjNhNzFmOWIwIHgyODogZmZmZjgwMDYzYTIwZDUwMApbICAgMjAuNDQ0NjM2XSB4Mjc6IGZm ZmYwMDAwMDhlZDUwMDAgeDI2OiAwMDAwMDAwMDAwMDAwMDAwClsgICAyMC40NDk5NDRdIHgyNTog MDAwMDAwMDY3YWJlMmFkYyB4MjQ6IDAwMDAwMDAwMDAwMDAwMDAKWyAgIDIwLjQ1NTI1Ml0geDIz OiAwMDAwMDAwMDAwMjAwMDAwIHgyMjogMDAwMDAwMDAwMDAwMDAwMQpbICAgMjAuNDYwNTU5XSB4 MjE6IDAwMDAwMDAwMDAxNzVmZmUgeDIwOiBmZmZmODAwNjNiMmEwMDEwClsgICAyMC40NjU4NjZd IHgxOTogMDAwMDAwMDAwMDAwMDAwMCB4MTg6IDAwMDBmZmZmY2FlNmZiMjAKWyAgIDIwLjQ3MTE3 M10geDE3OiAwMDAwZmZmZmEwOWJhMDE4IHgxNjogZmZmZjAwMDAwODdjOGI3MApbICAgMjAuNDc2 NDgwXSB4MTU6IDAwMDBmZmZmYTA4NGY1ODggeDE0OiAwMDAwZmZmZmEwOWNmYTE0ClsgICAyMC40 ODE3ODddIHgxMzogMDAwMGZmZmZjYWU4N2ZmMCB4MTI6IDAwMDAwMDAwMDA2M2FiZTIKWyAgIDIw LjQ4NzA5OF0geDExOiBmZmZmMDAwMDA4MDk2MzYwIHgxMDogZmZmZjgwMDYzYWJlMmFkYwpbICAg MjAuNDkyNDA3XSB4OSA6IDAwMDAwMDAwMDAwMDAwMDAgeDggOiAwMDAwMDAwMDAwMDAwMDAwClsg ICAyMC40OTc3MThdIHg3IDogMDAwMDAwMDAwMDAwMDAwMCB4NiA6IGZmZmYwMDAwMDhlZDUwZDAK WyAgIDIwLjUwMzAyOF0geDUgOiAwMDAwMDAwMDAwMDAwMDAwIHg0IDogMDAwMDAwMDAwMDAwMDAw MQpbICAgMjAuNTA4MzM4XSB4MyA6IDAwMDAwMDAwMDAwMDAwMDAgeDIgOiAwMDAwMDAwNjdhYmUy YWRjClsgICAyMC41MTM2NDhdIHgxIDogMDAwMDAwMDBiYWZmZjAwMCB4MCA6IDAwMDAwMDAwMDAw MDAwMDAKWyAgIDIwLjUxODk1OF0KWyAgIDIwLjUyMDQ0Nl0gUHJvY2VzcyBteiAocGlkOiAyMDg5 LCBzdGFjayBsaW1pdCA9IDB4ZmZmZjgwMDYzYTcxYzAwMCkKWyAgIDIwLjUyNjc5OF0gU3RhY2s6 ICgweGZmZmY4MDA2M2E3MWY5YjAgdG8gMHhmZmZmODAwNjNhNzIwMDAwKQpbICAgMjAuNTMyNTQz XSBmOWEwOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmZmZjgwMDYzYTcxZmEz MCBmZmZmMDAwMDA4MzljNjgwClsgICAyMC41NDAzNzRdIGY5YzA6IGZmZmY4MDA2M2IyYTAwMTAg ZmZmZjgwMDYzYjJhMDAxMCAwMDAwMDAwMDAwMDAwMDAxIDAwMDAwMDAwMDAwMDAwMDAKWyAgIDIw LjU0ODIwNF0gZjllMDogMDAwMDAwMDAwMDAwMDA2ZSBmZmZmODAwNjNiMjNjMDAwIGZmZmY4MDA2 M2IyM2MwMDAgMDAwMDAwMDAwMDAwMDAwMApbICAgMjAuNTU2MDM0XSBmYTAwOiBmZmZmODAwNjNi MjNjMDAwIGZmZmY4MDA2M2EyMGQ1MDAgMDAwMDAwMDEzYjFmMTkwMCAwMDAwMDAwMDAwMDAwMDAw ClsgICAyMC41NjM4NjRdIGZhMjA6IGZmZmY4MDA2M2ZmZDE4ZTAgZmZmZjgwMDYzYjJhMDAxMCBm ZmZmODAwNjNhNzFmYTYwIGZmZmYwMDAwMDgzOWNkMTAKWyAgIDIwLjU3MTY5NF0gZmE0MDogZmZm ZjgwMDYzYjJhMDAxMCAwMDAwMDAwMDAwMDAwMDAwIGZmZmY4MDA2M2ZmZDE4ZTAgMDAwMDAwMDY3 YWJlMmFkYwpbICAgMjAuNTc5NTI0XSBmYTYwOiBmZmZmODAwNjNhNzFmYTkwIGZmZmYwMDAwMDgw OTYzODAgZmZmZjgwMDYzYjJhMDAxMCAwMDAwMDAwMDAwMDAwMDAwClsgICAyMC41ODczNTNdIGZh ODA6IDAwMDAwMDAwMDAwMDAwMDAgMDAwMDAwMDAwMDAwMDAwMSBmZmZmODAwNjNhNzFmYWMwIGZm ZmYwMDAwMDg2NGY3NzAKWyAgIDIwLjU5NTE4NF0gZmFhMDogZmZmZjgwMDYzYjIzY2FmMCAwMDAw MDAwMDAwMDAwMDAwIDAwMDAwMDAwMDAwMDAwMDAgMDAwMDAwMDAwMDAwMDE0MApbICAgMjAuNjAz MDE0XSBmYWMwOiBmZmZmODAwNjNhNzFmYjYwIGZmZmYwMDAwMDg3ZTY0OTggZmZmZjgwMDYzYTIw ZDUwMCBmZmZmODAwNjNiMjNjMDAwClsgICAyMC42MTA4NDNdIGZhZTA6IDAwMDAwMDAwMDAwMDAw MDAgZmZmZjAwMDAwOGRhZWFmMCAwMDAwMDAwMDAwMDAwMDAwIGZmZmYwMDAwMDhkYWViMDAKWyAg IDIwLjYxODY3M10gZmIwMDogZmZmZjgwMDYzYTcxZmMwYyBmZmZmMDAwMDA4ZGE3MDAwIGZmZmY4 MDA2M2IyM2MwOTAgZmZmZjgwMDYzYTQ0ZjAwMApbICAgMjAuNjI2NTAzXSBmYjIwOiAwMDAwMDAw MDAwMDAwMDAwIGZmZmYwMDAwMDhkYWViMDAgZmZmZjgwMDYzYTcxZmMwYyBmZmZmMDAwMDA4ZGE3 MDAwClsgICAyMC42MzQzMzNdIGZiNDA6IGZmZmY4MDA2M2IyM2MwOTAgMDAwMDAwMDAwMDAwMDAw MCBmZmZmODAwNjAwMDAwMDM3IGZmZmYwMDAwMDg3ZTYzZDgKWyAgIDIwLjY0MjE2M10gZmI2MDog ZmZmZjgwMDYzYTcxZmJjMCBmZmZmMDAwMDA4ODA3NTEwIGZmZmY4MDA2M2E2OTI0MDAgZmZmZjgw MDYzYTIwZDUwMApbICAgMjAuNjQ5OTkzXSBmYjgwOiBmZmZmODAwNjNhNDRmMDAwIGZmZmY4MDA2 M2IyM2MwMDAgZmZmZjgwMDYzYTY5MjQ5YyAwMDAwMDAwMDAwMDAwMDAwClsgICAyMC42NTc4MjNd IGZiYTA6IDAwMDAwMDAwMDAwMDAwMDAgZmZmZjgwMDYzYTA4NzgwMCBmZmZmODAwNjNiMjNjMDAw IGZmZmY4MDA2M2EyMGQ1MDAKWyAgIDIwLjY2NTY1M10gZmJjMDogZmZmZjgwMDYzYTcxZmMxMCBm ZmZmMDAwMDA4N2U2N2RjIGZmZmY4MDA2M2EyMGQ1MDAgZmZmZjgwMDYzYTY5MjQwMApbICAgMjAu NjczNDgzXSBmYmUwOiBmZmZmODAwNjNiMjNjMDAwIDAwMDAwMDAwMDAwMDAwMDAgZmZmZjgwMDYz YTQ0ZjAwMCBmZmZmODAwNjNhNjkyNDljClsgICAyMC42ODEzMTJdIGZjMDA6IGZmZmY4MDA2M2E1 ZjFhMTAgMDAwMDAwMTAzYTA4NzgwMCBmZmZmODAwNjNhNzFmYzcwIGZmZmYwMDAwMDg3ZTZiMjQK WyAgIDIwLjY4OTE0Ml0gZmMyMDogZmZmZjgwMDYzYTVmMWE4MCBmZmZmODAwNjNhNzFmZGU4IDAw MDAwMDAwMDAwMDAwMGYgMDAwMDAwMDAwMDAwMDVlYQpbICAgMjAuNjk2OTcyXSBmYzQwOiBmZmZm ODAwNjNhNWYxYTEwIDAwMDAwMDAwMDAwMDAwMDAgMDAwMDAwMDAwMDAwMDAwZiBmZmZmMDAwMDA4 ODdmYmQwClsgICAyMC43MDQ4MDJdIGZjNjA6IGZmZmZmZmY0M2E1ZjFhODAgMDAwMDAwMDAwMDAw MDAwMCBmZmZmODAwNjNhNzFmYzgwIGZmZmYwMDAwMDg4ODAyNDAKWyAgIDIwLjcxMjYzMl0gZmM4 MDogZmZmZjgwMDYzYTcxZmQ5MCBmZmZmMDAwMDA4N2M3YTM0IGZmZmY4MDA2M2FmYzcxODAgMDAw MDAwMDAwMDAwMDAwMApbICAgMjAuNzIwNDYyXSBmY2EwOiAwMDAwZmZmZmNhZTZmZTE4IDAwMDAw MDAwMDAwMDAwMTQgMDAwMDAwMDA2MDAwMDAwMCAwMDAwMDAwMDAwMDAwMDE1ClsgICAyMC43Mjgy OTJdIGZjYzA6IDAwMDAwMDAwMDAwMDAxMjMgMDAwMDAwMDAwMDAwMDBjZSBmZmZmMDAwMDA4OGQy MDAwIGZmZmY4MDA2M2IxZjE5MDAKWyAgIDIwLjczNjEyMl0gZmNlMDogMDAwMDAwMDAwMDAwODkz MyBmZmZmMDAwMDA4ZTdjYjgwIGZmZmY4MDA2M2E3MWZkODAgZmZmZjAwMDAwODdjNTBhNApbICAg MjAuNzQzOTUxXSBmZDAwOiAwMDAwMDAwMDAwMDA4OTMzIGZmZmYwMDAwMDhlN2NiODAgZmZmZjAw MDAwOGU3Y2I4MCAwMDAwMDAxMDAwMDAwMDBlClsgICAyMC43NTE3ODFdIGZkMjA6IGZmZmY4MDA2 M2E3MWZlNGMgMDAwMGZmZmYwMDAwMDMwMCAwMDAwMDAwMDAwMDAwMTIzIDAwMDAwMDAwMDAwMDAw MDAKWyAgIDIwLjc1OTYxMV0gZmQ0MDogMDAwMDAwMDAwMDAwMDAwMCBmZmZmODAwNjNiMWYwMDAw IDAwMDAwMDAwMDAwMDAwMGUgMDAwMDAwMDAwMDAwMDMwMApbICAgMjAuNzY3NDQxXSBmZDYwOiAw MDAwMDAwMDAwMDAwMDAwIDAwMDAwMDAwMDAwMDAwMDAgMDAwMDAwMDAwMDAwMDAwMCAwMDAwMDAw MDAwMDAwMDAwClsgICAyMC43NzUyNzFdIGZkODA6IDAwMDAwMDAwMDAwMDAwMDAgMDAwMDAwMDAw MDAwMDAwMCBmZmZmODAwNjNhNzFmZGEwIGZmZmYwMDAwMDg3YzhjMjAKWyAgIDIwLjc4MzEwMF0g ZmRhMDogMDAwMDAwMDAwMDAwMDAwMCBmZmZmMDAwMDA4MDgyZjMwIDAwMDAwMDAwMDAwMDAwMDAg MDAwMDgwMDYzNzI2MDAwMApbICAgMjAuNzkwOTMwXSBmZGMwOiBmZmZmZmZmZmZmZmZmZmZmIDAw MDBmZmZmYTA5MDMwNzggMDAwMDAwMDAwMDAwMDAwMCAwMDAwMDAwMDFlYTg3MjMyClsgICAyMC43 OTg3NjBdIGZkZTA6IDAwMDAwMDAwMDAwMDAwMGYgZmZmZjgwMDYzYTcxZmU0MCBmZmZmODAwNjAw MDAwMDE0IGZmZmYwMDAwMDAwMDAwMDEKWyAgIDIwLjgwNjU5MF0gZmUwMDogMDAwMDAwMDAwMDAw MDAwMCAwMDAwMDAwMDAwMDAwMDAwIGZmZmY4MDA2M2E3MWZkZTggMDAwMDAwMDAwMDAwMDAwMApb ICAgMjAuODE0NDIwXSBmZTIwOiAwMDAwMDAwMDAwMDAwMDAwIDAwMDAwMDAwMDAwMDAwMDAgMDAw MDAwMDAwMDAwMDAwMCAwMDAwMDAwMDAwMDAwMDAxClsgICAyMC44MjIyNDldIGZlNDA6IDAwMDAw MDAyMDMwMDAwMTEgMDAwMDAwMDAwMDAwMDAwMCAwMDAwMDAwMDAwMDAwMDAwIGZmZmY4MDA2M2E2 OGFhMDAKWyAgIDIwLjgzMDA3OV0gZmU2MDogZmZmZjgwMDYzYTY4YWEwMCAwMDAwMDAwMDAwMDAw MDAzIDAwMDAwMDAwMDAwMDg5MzMgZmZmZjAwMDAwODFmMWI5YwpbICAgMjAuODM3OTA5XSBmZTgw OiAwMDAwMDAwMDAwMDAwMDAwIGZmZmYwMDAwMDgwODJmMzAgMDAwMDAwMDAwMDAwMDAwMCAwMDAw ODAwNjM3MjYwMDAwClsgICAyMC44NDU3MzldIGZlYTA6IGZmZmZmZmZmZmZmZmZmZmYgMDAwMGZm ZmZhMDdjYTgxYyAwMDAwMDAwMDYwMDAwMDAwIDAwMDAwMDAwMDAwMDAwMTUKWyAgIDIwLjg1MzU2 OV0gZmVjMDogMDAwMDAwMDAwMDAwMDAwMyAwMDAwMDAwMDFlYTg3MjMyIDAwMDAwMDAwMDAwMDAw MGYgMDAwMDAwMDAwMDAwMDAwMApbICAgMjAuODYxMzk5XSBmZWUwOiAwMDAwZmZmZmNhZTZmZTE4 IDAwMDAwMDAwMDAwMDAwMTQgMDAwMDAwMDAwMDAwMDMwMCAwMDAwMDAwMDAwMDAwMDAwClsgICAy MC44NjkyMjhdIGZmMDA6IDAwMDAwMDAwMDAwMDAwY2UgMDAwMDAwMDAwMDAwMDAwMCAwMDAwMDAw MGZmZmZmZmZmIDAwMDAwMDAwMDAwMDAwMDAKWyAgIDIwLjg3NzA1OV0gZmYyMDogMDAwMDAwMDAw MDAwMDAwMiAwMDAwZmZmZmNhZTg3ZmYwIDAwMDBmZmZmYTA5Y2ZhMTQgMDAwMGZmZmZhMDg0ZjU4 OApbICAgMjAuODg0ODg4XSBmZjQwOiAwMDAwMDAwMDAwMDAwMDAwIDAwMDBmZmZmYTA5YmEwMTgg MDAwMGZmZmZjYWU2ZmIyMCAwMDAwMDAwMDFlYTg3MDEwClsgICAyMC44OTI3MThdIGZmNjA6IDAw MDBmZmZmYTA5YjkwMDAgMDAwMGZmZmZjYWU2ZmUzMCAwMDAwZmZmZmNhZTZmZTE4IDAwMDAwMDAw MDAwMDAwMGYKWyAgIDIwLjkwMDU0OF0gZmY4MDogMDAwMDAwMDAwMDAwMDAwMyAwMDAwMDAwMDFl YTg3MjMyIDAwMDAwMDAwMDAwMDAwMDAgMDAwMDAwMDAwMDAwMDAwMApbICAgMjAuOTA4Mzc4XSBm ZmEwOiAwMDAwMDAwMDAwMDAwMDAwIDAwMDBmZmZmY2FlNmZkYzAgMDAwMGZmZmZhMDlhNzgyNCAw MDAwZmZmZmNhZTZmZGMwClsgICAyMC45MTYyMDhdIGZmYzA6IDAwMDBmZmZmYTA5MDMwNzggMDAw MDAwMDA2MDAwMDAwMCAwMDAwMDAwMDAwMDAwMDAzIDAwMDAwMDAwMDAwMDAwY2UKWyAgIDIwLjky NDAzOF0gZmZlMDogMDAwMDAwMDAwMDAwMDAwMCAwMDAwMDAwMDAwMDAwMDAwIGZmZmZmZmZmZmZm ZmZmZmYgZmZmZmZmZmZmZmZmZmZmZgpbICAgMjAuOTMxODY3XSBDYWxsIHRyYWNlOgpbICAgMjAu OTM0MzEyXSBFeGNlcHRpb24gc3RhY2soMHhmZmZmODAwNjNhNzFmN2UwIHRvIDB4ZmZmZjgwMDYz YTcxZjkxMCkKWyAgIDIwLjk0MDc1MF0gZjdlMDogMDAwMDAwMDAwMDAwMDAwMCAwMDAxMDAwMDAw MDAwMDAwIGZmZmY4MDA2M2E3MWY5YjAgZmZmZjAwMDAwODM5YzRjMApbICAgMjAuOTQ4NTgwXSBm ODAwOiBmZmZmODAwNjNhNzFmODQwIGZmZmYwMDAwMDg4OGE2ZTQgZmZmZjgwMDYzYTI0YzQxOCBm ZmZmODAwNjNhMjRjNDQ4ClsgICAyMC45NTY0MTBdIGY4MjA6IDAwMDAwMDAwMDAwMDAwMDAgZmZm ZjAwMDAwODExY2Q1NCBmZmZmODAwNjNhNzFmODYwIGZmZmY4MDA2M2EyNGM0NTgKWyAgIDIwLjk2 NDI0MF0gZjg0MDogZmZmZjgwMDYzYTcxZjg3MCBmZmZmMDAwMDA4ODhiMjU4IGZmZmY4MDA2M2Ey NGM0MTggMDAwMDAwMDAwMDAwMDAwMQpbICAgMjAuOTcyMDcwXSBmODYwOiBmZmZmODAwNjNhNzFm OTEwIGZmZmY4MDA2M2E3YjcwMjggZmZmZjgwMDYzYTcxZjg5MCBmZmZmMDAwMDA4ODgyNWU0Clsg ICAyMC45Nzk4OTldIGY4ODA6IDAwMDAwMDAwMDAwMDAwMDAgMDAwMDAwMDBiYWZmZjAwMCAwMDAw MDAwNjdhYmUyYWRjIDAwMDAwMDAwMDAwMDAwMDAKWyAgIDIwLjk4NzcyOV0gZjhhMDogMDAwMDAw MDAwMDAwMDAwMSAwMDAwMDAwMDAwMDAwMDAwIGZmZmYwMDAwMDhlZDUwZDAgMDAwMDAwMDAwMDAw MDAwMApbICAgMjAuOTk1NTYwXSBmOGMwOiAwMDAwMDAwMDAwMDAwMDAwIDAwMDAwMDAwMDAwMDAw MDAgZmZmZjgwMDYzYWJlMmFkYyBmZmZmMDAwMDA4MDk2MzYwClsgICAyMS4wMDMzOTBdIGY4ZTA6 IDAwMDAwMDAwMDA2M2FiZTIgMDAwMGZmZmZjYWU4N2ZmMCAwMDAwZmZmZmEwOWNmYTE0IDAwMDBm ZmZmYTA4NGY1ODgKWyAgIDIxLjAxMTIxOV0gZjkwMDogZmZmZjAwMDAwODdjOGI3MCAwMDAwZmZm ZmEwOWJhMDE4ClsgICAyMS4wMTYwOTddIFs8ZmZmZjAwMDAwODM5YzRjMD5dIHN3aW90bGJfdGJs X21hcF9zaW5nbGUrMHgxNzgvMHgyZWMKWyAgIDIxLjAyMjM2Ml0gWzxmZmZmMDAwMDA4MzljNjgw Pl0gbWFwX3NpbmdsZSsweDRjLzB4OTgKWyAgIDIxLjAyNzQxMV0gWzxmZmZmMDAwMDA4MzljZDEw Pl0gc3dpb3RsYl9tYXBfcGFnZSsweGE0LzB4MTM4ClsgICAyMS4wMzMwNzJdIFs8ZmZmZjAwMDAw ODA5NjM4MD5dIF9fc3dpb3RsYl9tYXBfcGFnZSsweDIwLzB4N2MKWyAgIDIxLjAzODgyMV0gWzxm ZmZmMDAwMDA4NjRmNzcwPl0gcmF2Yl9zdGFydF94bWl0KzB4MTc0LzB4NjY4ClsgICAyMS4wNDQ0 ODRdIFs8ZmZmZjAwMDAwODdlNjQ5OD5dIGRldl9oYXJkX3N0YXJ0X3htaXQrMHg4Yy8weDEyMApb ICAgMjEuMDUwNDA3XSBbPGZmZmYwMDAwMDg4MDc1MTA+XSBzY2hfZGlyZWN0X3htaXQrMHgxMDgv MHgxYTAKWyAgIDIxLjA1NjA2NF0gWzxmZmZmMDAwMDA4N2U2N2RjPl0gX19kZXZfcXVldWVfeG1p dCsweDE5NC8weDRjYwpbICAgMjEuMDYxODA3XSBbPGZmZmYwMDAwMDg3ZTZiMjQ+XSBkZXZfcXVl dWVfeG1pdCsweDEwLzB4MTgKWyAgIDIxLjA2NzIxNF0gWzxmZmZmMDAwMDA4ODgwMjQwPl0gcGFj a2V0X3NlbmRtc2crMHhmNDAvMHgxMjIwClsgICAyMS4wNzI4NzNdIFs8ZmZmZjAwMDAwODdjN2Ez ND5dIHNvY2tfc2VuZG1zZysweDE4LzB4MmMKWyAgIDIxLjA3ODA5N10gWzxmZmZmMDAwMDA4N2M4 YzIwPl0gU3lTX3NlbmR0bysweGIwLzB4ZjAKWyAgIDIxLjA4MzE1MF0gWzxmZmZmMDAwMDA4MDgy ZjMwPl0gZWwwX3N2Y19uYWtlZCsweDI0LzB4MjgKWyAgIDIxLjA4ODQ2Ml0gQ29kZTogZDM0YmZl ZjcgMmExODAzZjMgMWE5Zjg2ZDYgMzVmZmY4NzggKGQ0MjEwMDAwKQpbICAgMjEuMDk0NjExXSAt LS1bIGVuZCB0cmFjZSA1YmM1NDRhZDQ5MWYzODE0IF0tLS0KWyAgIDIxLjA5OTIzNF0gS2VybmVs IHBhbmljIC0gbm90IHN5bmNpbmc6IEZhdGFsIGV4Y2VwdGlvbiBpbiBpbnRlcnJ1cHQKWyAgIDIx LjEwNTU4N10gS2VybmVsIE9mZnNldDogZGlzYWJsZWQKWyAgIDIxLjEwOTA3M10gTWVtb3J5IExp bWl0OiBub25lClsgICAyMS4xMTIxMjZdIC0tLVsgZW5kIEtlcm5lbCBwYW5pYyAtIG5vdCBzeW5j aW5nOiBGYXRhbCBleGNlcHRpb24gaW4gaW50ZXJydXB0CgpGaXhlczogMmY0NWQxOTAyYWNmICgi cmF2YjogbWluaW1pemUgVFggZGF0YSBjb3B5aW5nIikKU2lnbmVkLW9mZi1ieTogTWFzYXJ1IE5h Z2FpIDxtYXNhcnUubmFnYWkudnhAcmVuZXNhcy5jb20KU2lnbmVkLW9mZi1ieTogU2ltb24gSG9y bWFuIDxob3JtcytyZW5lc2FzQHZlcmdlLm5ldC5hdT4KQWNrZWQtYnk6IFNlcmdlaSBTaHR5bHlv diA8c2VyZ2VpLnNodHlseW92QGNvZ2VudGVtYmVkZGVkLmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2 aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIGRyaXZlcnMvbmV0L2V0aGVy bmV0L3JlbmVzYXMvcmF2Yl9tYWluLmMgfCAxMyArKysrKysrKysrKysrCiAxIGZpbGUgY2hhbmdl ZCwgMTMgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L3Jl bmVzYXMvcmF2Yl9tYWluLmMgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9yZW5lc2FzL3JhdmJfbWFp bi5jCmluZGV4IDQ2N2Q0MTYuLjU0OWFkMjAgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L2V0aGVy bmV0L3JlbmVzYXMvcmF2Yl9tYWluLmMKKysrIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvcmVuZXNh cy9yYXZiX21haW4uYwpAQCAtMTMzMCw2ICsxMzMwLDE5IEBAIHN0YXRpYyBuZXRkZXZfdHhfdCBy YXZiX3N0YXJ0X3htaXQoc3RydWN0IHNrX2J1ZmYgKnNrYiwgc3RydWN0IG5ldF9kZXZpY2UgKm5k ZXYpCiAJYnVmZmVyID0gUFRSX0FMSUdOKHByaXYtPnR4X2FsaWduW3FdLCBEUFRSX0FMSUdOKSAr CiAJCSBlbnRyeSAvIE5VTV9UWF9ERVNDICogRFBUUl9BTElHTjsKIAlsZW4gPSBQVFJfQUxJR04o c2tiLT5kYXRhLCBEUFRSX0FMSUdOKSAtIHNrYi0+ZGF0YTsKKwkvKiBaZXJvIGxlbmd0aCBETUEg ZGVzY3JpcHRvcnMgYXJlIHByb2JsZW1hdGljIGFzIHRoZXkgc2VlbSB0bworCSAqIHRlcm1pbmF0 ZSBETUEgdHJhbnNmZXJzLiBBdm9pZCB0aGVtIGJ5IHNpbXBseSB1c2luZyBhIGxlbmd0aCBvZgor CSAqIERQVFJfQUxJR04gKDQpIHdoZW4gc2tiIGRhdGEgaXMgYWxpZ25lZCB0byBEUFRSX0FMSUdO LgorCSAqCisJICogQXMgc2tiIGlzIGd1YXJhbnRlZWQgdG8gaGF2ZSBhdCBsZWFzdCBFVEhfWkxF TiAoNjApIGJ5dGVzIG9mCisJICogZGF0YSBieSB0aGUgY2FsbCB0byBza2JfcHV0X3BhZHRvKCkg YWJvdmUgdGhpcyBpcyBzYWZlIHdpdGgKKwkgKiByZXNwZWN0IHRvIGJvdGggdGhlIGxlbmd0aCBv ZiB0aGUgZmlyc3QgRE1BIGRlc2NyaXB0b3IgKGxlbikKKwkgKiBvdmVyZmxvd2luZyB0aGUgYXZh aWxhYmxlIGRhdGEgYW5kIHRoZSBsZW5ndGggb2YgdGhlIHNlY29uZCBETUEKKwkgKiBkZXNjcmlw dG9yIChza2ItPmxlbiAtIGxlbikgYmVpbmcgbmVnYXRpdmUuCisJICovCisJaWYgKGxlbiA9PSAw KQorCQlsZW4gPSBEUFRSX0FMSUdOOworCiAJbWVtY3B5KGJ1ZmZlciwgc2tiLT5kYXRhLCBsZW4p OwogCWRtYV9hZGRyID0gZG1hX21hcF9zaW5nbGUobmRldi0+ZGV2LnBhcmVudCwgYnVmZmVyLCBs ZW4sIERNQV9UT19ERVZJQ0UpOwogCWlmIChkbWFfbWFwcGluZ19lcnJvcihuZGV2LT5kZXYucGFy ZW50LCBkbWFfYWRkcikpCi0tIAoyLjQuMTEKCgpGcm9tIDk4ZWNiNzE4NGQzZDcxZDcwYmFmY2Uy NzUyMmI2MzVjYzk5ZDY1MjEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IEJhc2lsIEd1 bm4gPGJhc2lsQHBhY2FidW5nYS5jb20+CkRhdGU6IFNhdCwgMTQgSmFuIDIwMTcgMTI6MTg6NTUg LTA4MDAKU3ViamVjdDogW1BBVENIIDExLzIwXSBheDI1OiBGaXggc2VnZmF1bHQgYWZ0ZXIgc29j ayBjb25uZWN0aW9uIHRpbWVvdXQKClsgVXBzdHJlYW0gY29tbWl0IDhhMzY3ZTc0YzAxMjBlZjY4 YzhjNzBkNWEwMjU2NDhjOTY2MjZkZmYgXQoKVGhlIGF4LjI1IHNvY2tldCBjb25uZWN0aW9uIHRp bWVkIG91dCAmIHRoZSBzb2NrIHN0cnVjdCBoYXMgYmVlbgpwcmV2aW91c2x5IHRha2VuIGRvd24g aWUuIHNvY2sgc3RydWN0IGlzIG5vdyBhIE5VTEwgcG9pbnRlci4gQ2hlY2tpbmcKdGhlIHNvY2tf ZmxhZyBjYXVzZXMgdGhlIHNlZ2ZhdWx0LiAgQ2hlY2sgaWYgdGhlIHNvY2tldCBzdHJ1Y3QgcG9p bnRlcgppcyBOVUxMIGJlZm9yZSBjaGVja2luZyBzb2NrX2ZsYWcuIFRoaXMgc2VnZmF1bHQgaXMg c2VlbiBpbgp0aW1lZCBvdXQgbmV0cm9tIGNvbm5lY3Rpb25zLgoKUGxlYXNlIHN1Ym1pdCB0byAt c3RhYmxlLgoKU2lnbmVkLW9mZi1ieTogQmFzaWwgR3VubiA8YmFzaWxAcGFjYWJ1bmdhLmNvbT4K U2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0K IG5ldC9heDI1L2F4MjVfc3Vici5jIHwgMiArLQogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9u KCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvbmV0L2F4MjUvYXgyNV9zdWJyLmMgYi9u ZXQvYXgyNS9heDI1X3N1YnIuYwppbmRleCA2NTVhN2Q0Li45ODNmMGI1IDEwMDY0NAotLS0gYS9u ZXQvYXgyNS9heDI1X3N1YnIuYworKysgYi9uZXQvYXgyNS9heDI1X3N1YnIuYwpAQCAtMjY0LDcg KzI2NCw3IEBAIHZvaWQgYXgyNV9kaXNjb25uZWN0KGF4MjVfY2IgKmF4MjUsIGludCByZWFzb24p CiB7CiAJYXgyNV9jbGVhcl9xdWV1ZXMoYXgyNSk7CiAKLQlpZiAoIXNvY2tfZmxhZyhheDI1LT5z aywgU09DS19ERVNUUk9ZKSkKKwlpZiAoIWF4MjUtPnNrIHx8ICFzb2NrX2ZsYWcoYXgyNS0+c2ss IFNPQ0tfREVTVFJPWSkpCiAJCWF4MjVfc3RvcF9oZWFydGJlYXQoYXgyNSk7CiAJYXgyNV9zdG9w X3QxdGltZXIoYXgyNSk7CiAJYXgyNV9zdG9wX3QydGltZXIoYXgyNSk7Ci0tIAoyLjQuMTEKCgpG cm9tIDAyMjA1ODljOTViYTVjYmRlNTVjZDUxYzI1NjY4ODJkZjM5YTYyYTUgTW9uIFNlcCAxNyAw MDowMDowMCAyMDAxCkZyb206IEVyaWMgRHVtYXpldCA8ZWR1bWF6ZXRAZ29vZ2xlLmNvbT4KRGF0 ZTogV2VkLCAxOCBKYW4gMjAxNyAxMjoxMjoxNyAtMDgwMApTdWJqZWN0OiBbUEFUQ0ggMTIvMjBd IG5ldDogZml4IGhhcm1vbml6ZV9mZWF0dXJlcygpIHZzIE5FVElGX0ZfSElHSERNQQoKWyBVcHN0 cmVhbSBjb21taXQgN2JlMmM4MmNmZDVkMjhkN2FkYjY2ODIxYTk5MjYwNGViNmRkMTEyZSBdCgpB c2hpenVrYSByZXBvcnRlZCBhIGhpZ2htZW0gb2RkaXR5IGFuZCBzZW50IGEgcGF0Y2ggZm9yIGZy ZWVzY2FsZQpmZWMgZHJpdmVyLgoKQnV0IHRoZSBwcm9ibGVtIHJvb3QgY2F1c2UgaXMgdGhhdCBj b3JlIG5ldHdvcmtpbmcgc3RhY2sKbXVzdCBlbnN1cmUgbm8gc2tiIHdpdGggaGlnaG1lbSBmcmFn bWVudCBpcyBldmVyIHNlbnQgdGhyb3VnaAphIGRldmljZSB0aGF0IGRvZXMgbm90IGFzc2VydCBO RVRJRl9GX0hJR0hETUEgaW4gaXRzIGZlYXR1cmVzLgoKV2UgbmVlZCB0byBjYWxsIGlsbGVnYWxf aGlnaGRtYSgpIGZyb20gaGFybW9uaXplX2ZlYXR1cmVzKCkKcmVnYXJkbGVzcyBvZiBDU1VNIGNo ZWNrcy4KCkZpeGVzOiBlYzVmMDYxNTY0MjMgKCJuZXQ6IEtpbGwgbGluayBiZXR3ZWVuIENTVU0g YW5kIFNHIGZlYXR1cmVzLiIpClNpZ25lZC1vZmYtYnk6IEVyaWMgRHVtYXpldCA8ZWR1bWF6ZXRA Z29vZ2xlLmNvbT4KQ2M6IFByYXZpbiBTaGVsYXIgPHBzaGVsYXJAb3ZuLm9yZz4KUmVwb3J0ZWQt Ynk6ICJBc2hpenVrYSwgWXV1c3VrZSIgPGFzaGlkdWthQGpwLmZ1aml0c3UuY29tPgpTaWduZWQt b2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogbmV0L2Nv cmUvZGV2LmMgfCA0ICsrLS0KIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDIgZGVs ZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvbmV0L2NvcmUvZGV2LmMgYi9uZXQvY29yZS9kZXYuYwpp bmRleCA2ZjIwM2M3Li4wNzk4YTBmIDEwMDY0NAotLS0gYS9uZXQvY29yZS9kZXYuYworKysgYi9u ZXQvY29yZS9kZXYuYwpAQCAtMjY1MCw5ICsyNjUwLDkgQEAgc3RhdGljIG5ldGRldl9mZWF0dXJl c190IGhhcm1vbml6ZV9mZWF0dXJlcyhzdHJ1Y3Qgc2tfYnVmZiAqc2tiLAogCWlmIChza2ItPmlw X3N1bW1lZCAhPSBDSEVDS1NVTV9OT05FICYmCiAJICAgICFjYW5fY2hlY2tzdW1fcHJvdG9jb2wo ZmVhdHVyZXMsIHR5cGUpKSB7CiAJCWZlYXR1cmVzICY9IH5ORVRJRl9GX0FMTF9DU1VNOwotCX0g ZWxzZSBpZiAoaWxsZWdhbF9oaWdoZG1hKHNrYi0+ZGV2LCBza2IpKSB7Ci0JCWZlYXR1cmVzICY9 IH5ORVRJRl9GX1NHOwogCX0KKwlpZiAoaWxsZWdhbF9oaWdoZG1hKHNrYi0+ZGV2LCBza2IpKQor CQlmZWF0dXJlcyAmPSB+TkVUSUZfRl9TRzsKIAogCXJldHVybiBmZWF0dXJlczsKIH0KLS0gCjIu NC4xMQoKCkZyb20gMzQyN2E4YzFkNjMxYzg3YTVjMDAzZWU5MTIyM2Q3OGViODIwMjBjZSBNb24g U2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogRGFuaWVsIEdvbnphbGV6IENhYmFuZWxhcyA8ZGdj YnVldUBnbWFpbC5jb20+CkRhdGU6IFR1ZSwgMTcgSmFuIDIwMTcgMTY6MjY6NTUgLTA4MDAKU3Vi amVjdDogW1BBVENIIDEzLzIwXSBuZXQ6IHBoeTogYmNtNjN4eDogVXRpbGl6ZSBjb3JyZWN0IGNv bmZpZ19pbnRyIGZ1bmN0aW9uCgpbIFVwc3RyZWFtIGNvbW1pdCBjZDMzYjNlMGRhNDM1MjJmZjhl OGYyYjJiNzFkM2QwODI5ODUxMmIwIF0KCkNvbW1pdCBhMWNiYTU2MTNlZGYgKCJuZXQ6IHBoeTog QWRkIEJyb2FkY29tIHBoeSBsaWJyYXJ5IGZvciBjb21tb24KaW50ZXJmYWNlcyIpIG1ha2UgdGhl IEJDTTYzeHggUEhZIGRyaXZlciB1dGlsaXplIGJjbV9waHlfY29uZmlnX2ludHIoKQp3aGljaCB3 b3VsZCBhcHBlYXIgdG8gZG8gdGhlIHJpZ2h0IHRoaW5nLCBleGNlcHQgdGhhdCBpdCBkb2VzIG5v dCB3cml0ZQp0byB0aGUgTUlJX0JDTTYzWFhfSVIgcmVnaXN0ZXIgYnV0IHRvIE1JSV9CQ001NFhY X0VDUiB3aGljaCBpcwpkaWZmZXJlbnQuCgpUaGlzIHdvdWxkIGJlIGNhdXNpbmcgaW52YWxpZCBs aW5rIHBhcmFtZXRlcnMgYW5kIGV2ZW50cyBmcm9tIGJlaW5nCmdlbmVyYXRlZCBieSB0aGUgUEhZ IGludGVycnVwdC4KCkZpeGVzOiBhMWNiYTU2MTNlZGYgKCJuZXQ6IHBoeTogQWRkIEJyb2FkY29t IHBoeSBsaWJyYXJ5IGZvciBjb21tb24gaW50ZXJmYWNlcyIpClNpZ25lZC1vZmYtYnk6IERhbmll bCBHb256YWxleiBDYWJhbmVsYXMgPGRnY2J1ZXVAZ21haWwuY29tPgpTaWduZWQtb2ZmLWJ5OiBG bG9yaWFuIEZhaW5lbGxpIDxmLmZhaW5lbGxpQGdtYWlsLmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2 aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIGRyaXZlcnMvbmV0L3BoeS9i Y202M3h4LmMgfCAyMSArKysrKysrKysrKysrKysrKysrLS0KIDEgZmlsZSBjaGFuZ2VkLCAxOSBp bnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3Bo eS9iY202M3h4LmMgYi9kcml2ZXJzL25ldC9waHkvYmNtNjN4eC5jCmluZGV4IDg2YjI4MDUuLjli NzA5ZjcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L3BoeS9iY202M3h4LmMKKysrIGIvZHJpdmVy cy9uZXQvcGh5L2JjbTYzeHguYwpAQCAtMjEsNiArMjEsMjMgQEAgTU9EVUxFX0RFU0NSSVBUSU9O KCJCcm9hZGNvbSA2M3h4IGludGVybmFsIFBIWSBkcml2ZXIiKTsKIE1PRFVMRV9BVVRIT1IoIk1h eGltZSBCaXpvbiA8bWJpem9uQGZyZWVib3guZnI+Iik7CiBNT0RVTEVfTElDRU5TRSgiR1BMIik7 CiAKK3N0YXRpYyBpbnQgYmNtNjN4eF9jb25maWdfaW50cihzdHJ1Y3QgcGh5X2RldmljZSAqcGh5 ZGV2KQoreworCWludCByZWcsIGVycjsKKworCXJlZyA9IHBoeV9yZWFkKHBoeWRldiwgTUlJX0JD TTYzWFhfSVIpOworCWlmIChyZWcgPCAwKQorCQlyZXR1cm4gcmVnOworCisJaWYgKHBoeWRldi0+ aW50ZXJydXB0cyA9PSBQSFlfSU5URVJSVVBUX0VOQUJMRUQpCisJCXJlZyAmPSB+TUlJX0JDTTYz WFhfSVJfR01BU0s7CisJZWxzZQorCQlyZWcgfD0gTUlJX0JDTTYzWFhfSVJfR01BU0s7CisKKwll cnIgPSBwaHlfd3JpdGUocGh5ZGV2LCBNSUlfQkNNNjNYWF9JUiwgcmVnKTsKKwlyZXR1cm4gZXJy OworfQorCiBzdGF0aWMgaW50IGJjbTYzeHhfY29uZmlnX2luaXQoc3RydWN0IHBoeV9kZXZpY2Ug KnBoeWRldikKIHsKIAlpbnQgcmVnLCBlcnI7CkBAIC01NSw3ICs3Miw3IEBAIHN0YXRpYyBzdHJ1 Y3QgcGh5X2RyaXZlciBiY202M3h4X2RyaXZlcltdID0gewogCS5jb25maWdfYW5lZwk9IGdlbnBo eV9jb25maWdfYW5lZywKIAkucmVhZF9zdGF0dXMJPSBnZW5waHlfcmVhZF9zdGF0dXMsCiAJLmFj a19pbnRlcnJ1cHQJPSBiY21fcGh5X2Fja19pbnRyLAotCS5jb25maWdfaW50cgk9IGJjbV9waHlf Y29uZmlnX2ludHIsCisJLmNvbmZpZ19pbnRyCT0gYmNtNjN4eF9jb25maWdfaW50ciwKIAkuZHJp dmVyCQk9IHsgLm93bmVyID0gVEhJU19NT0RVTEUgfSwKIH0sIHsKIAkvKiBzYW1lIHBoeSBhcyBh Ym92ZSwgd2l0aCBqdXN0IGEgZGlmZmVyZW50IE9VSSAqLwpAQCAtNjgsNyArODUsNyBAQCBzdGF0 aWMgc3RydWN0IHBoeV9kcml2ZXIgYmNtNjN4eF9kcml2ZXJbXSA9IHsKIAkuY29uZmlnX2FuZWcJ PSBnZW5waHlfY29uZmlnX2FuZWcsCiAJLnJlYWRfc3RhdHVzCT0gZ2VucGh5X3JlYWRfc3RhdHVz LAogCS5hY2tfaW50ZXJydXB0CT0gYmNtX3BoeV9hY2tfaW50ciwKLQkuY29uZmlnX2ludHIJPSBi Y21fcGh5X2NvbmZpZ19pbnRyLAorCS5jb25maWdfaW50cgk9IGJjbTYzeHhfY29uZmlnX2ludHIs CiAJLmRyaXZlcgkJPSB7IC5vd25lciA9IFRISVNfTU9EVUxFIH0sCiB9IH07CiAKLS0gCjIuNC4x MQoKCkZyb20gOWExOGI3YTgzYTQ1N2YxMzk4N2QzZDVlOWM1ODExOGFjYmJiYzZkYSBNb24gU2Vw IDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogS2VmZW5nIFdhbmcgPHdhbmdrZWZlbmcud2FuZ0BodWF3 ZWkuY29tPgpEYXRlOiBUaHUsIDE5IEphbiAyMDE3IDE2OjI2OjIxICswODAwClN1YmplY3Q6IFtQ QVRDSCAxNC8yMF0gaXB2NjogYWRkcmNvbmY6IEF2b2lkIGFkZHJjb25mX2Rpc2FibGVfY2hhbmdl KCkgdXNpbmcKIFJDVSByZWFkLXNpZGUgbG9jawoKWyBVcHN0cmVhbSBjb21taXQgMDNlNGRlZmY0 OTg3Zjc5YzM0MTEyYzViYTRlYjE5NWQ0ZjkzODJiMCBdCgpKdXN0IGxpa2UgY29tbWl0IDRhY2Q0 OTQ1Y2QxZSAoImlwdjY6IGFkZHJjb25mOiBBdm9pZCBjYWxsaW5nCm5ldGRldmljZSBub3RpZmll cnMgd2l0aCBSQ1UgcmVhZC1zaWRlIGxvY2siKSwgaXQgaXMgdW5uZWNlc3NhcnkKdG8gbWFrZSBh ZGRyY29uZl9kaXNhYmxlX2NoYW5nZSgpIHVzZSBSQ1UgaXRlcmF0aW9uIG92ZXIgdGhlCm5ldGRl diBsaXN0LCBzaW5jZSBpdCBhbHJlYWR5IGhvbGRzIHRoZSBSVE5MIGxvY2ssIG9yIHdlIG1heSBt ZWV0CklsbGVnYWwgY29udGV4dCBzd2l0Y2ggaW4gUkNVIHJlYWQtc2lkZSBjcml0aWNhbCBzZWN0 aW9uLgoKU2lnbmVkLW9mZi1ieTogS2VmZW5nIFdhbmcgPHdhbmdrZWZlbmcud2FuZ0BodWF3ZWku Y29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+ Ci0tLQogbmV0L2lwdjYvYWRkcmNvbmYuYyB8IDQgKy0tLQogMSBmaWxlIGNoYW5nZWQsIDEgaW5z ZXJ0aW9uKCspLCAzIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL25ldC9pcHY2L2FkZHJjb25m LmMgYi9uZXQvaXB2Ni9hZGRyY29uZi5jCmluZGV4IGNiOGJiNTkuLjI1MzE4NmEgMTAwNjQ0Ci0t LSBhL25ldC9pcHY2L2FkZHJjb25mLmMKKysrIGIvbmV0L2lwdjYvYWRkcmNvbmYuYwpAQCAtNTI0 NCw4ICs1MjQ0LDcgQEAgc3RhdGljIHZvaWQgYWRkcmNvbmZfZGlzYWJsZV9jaGFuZ2Uoc3RydWN0 IG5ldCAqbmV0LCBfX3MzMiBuZXdmKQogCXN0cnVjdCBuZXRfZGV2aWNlICpkZXY7CiAJc3RydWN0 IGluZXQ2X2RldiAqaWRldjsKIAotCXJjdV9yZWFkX2xvY2soKTsKLQlmb3JfZWFjaF9uZXRkZXZf cmN1KG5ldCwgZGV2KSB7CisJZm9yX2VhY2hfbmV0ZGV2KG5ldCwgZGV2KSB7CiAJCWlkZXYgPSBf X2luNl9kZXZfZ2V0KGRldik7CiAJCWlmIChpZGV2KSB7CiAJCQlpbnQgY2hhbmdlZCA9ICghaWRl di0+Y25mLmRpc2FibGVfaXB2NikgXiAoIW5ld2YpOwpAQCAtNTI1NCw3ICs1MjUzLDYgQEAgc3Rh dGljIHZvaWQgYWRkcmNvbmZfZGlzYWJsZV9jaGFuZ2Uoc3RydWN0IG5ldCAqbmV0LCBfX3MzMiBu ZXdmKQogCQkJCWRldl9kaXNhYmxlX2NoYW5nZShpZGV2KTsKIAkJfQogCX0KLQlyY3VfcmVhZF91 bmxvY2soKTsKIH0KIAogc3RhdGljIGludCBhZGRyY29uZl9kaXNhYmxlX2lwdjYoc3RydWN0IGN0 bF90YWJsZSAqdGFibGUsIGludCAqcCwgaW50IG5ld2YpCi0tIAoyLjQuMTEKCgpGcm9tIDdlMjFm ZDk5NjRjNDg1OTdhMTFhYjJmNDEzMjQ0ZGI5MWIxNmRmMTAgTW9uIFNlcCAxNyAwMDowMDowMCAy MDAxCkZyb206IEFsZXhleSBLb2RhbmV2IDxhbGV4ZXkua29kYW5ldkBvcmFjbGUuY29tPgpEYXRl OiBUaHUsIDE5IEphbiAyMDE3IDE2OjM2OjM5ICswMzAwClN1YmplY3Q6IFtQQVRDSCAxNS8yMF0g dGNwOiBpbml0aWFsaXplIG1heCB3aW5kb3cgZm9yIGEgbmV3IGZhc3RvcGVuIHNvY2tldAoKWyBV cHN0cmVhbSBjb21taXQgMGRiZDdmZjNhYzUwMTdhNDYwMzNhOWQwYTg3YTgyNjdkNjkxMTlkOSBd CgpGb3VuZCB0aGF0IGlmIHdlIHJ1biBMVFAgbmV0c3RyZXNzIHRlc3Qgd2l0aCBsYXJnZSBNU1Mg KDY1SyksCnRoZSBmaXJzdCBhdHRlbXB0IGZyb20gc2VydmVyIHRvIHNlbmQgZGF0YSBjb21wYXJh YmxlIHRvIHRoaXMKTVNTIG9uIGZhc3RvcGVuIGNvbm5lY3Rpb24gd2lsbCBiZSBkZWxheWVkIGJ5 IHRoZSBwcm9iZSB0aW1lci4KCkhlcmUgaXMgYW4gZXhhbXBsZToKCiAgICAgPCBTICBzZXEgMDow IHdpbiA0MzY5MCBvcHRpb25zIFttc3MgNjU0OTUgd3NjYWxlIDcgdGZvIGNvb2tpZV0gbGVuZ3Ro IDMyCiAgICAgPiBTLiBzZXEgMDowIGFjayAxIHdpbiA0MzY5MCBvcHRpb25zIFttc3MgNjU0OTUg d3NjYWxlIDddIGxlbmd0aCAwCiAgICAgPCAuICBhY2sgMSB3aW4gMzQyIGxlbmd0aCAwCgpJbnNp ZGUgdGNwX3NlbmRtc2coKSwgdGNwX3NlbmRfbXNzKCkgcmV0dXJucyBtYXggTVNTIGluICdtc3Nf bm93JywKYXMgd2VsbCBhcyBpbiAnc2l6ZV9nb2FsJy4gVGhpcyByZXN1bHRzIHRoZSBzZWdtZW50 IG5vdCBxdWV1ZWQgZm9yCnRyYW5zbWl0aW9uIHVudGlsIGFsbCB0aGUgZGF0YSBjb3BpZWQgZnJv bSB1c2VyIGJ1ZmZlci4gVGhlbiwgaW5zaWRlCl9fdGNwX3B1c2hfcGVuZGluZ19mcmFtZXMoKSwg aXQgYnJlYWtzIG9uIHNlbmQgd2luZG93IHRlc3QgYW5kCmNvbnRpbnVlcyB3aXRoIHRoZSBjaGVj ayBwcm9iZSB0aW1lci4KCkZyYWdtZW50YXRpb24gb2NjdXJzIGluIHRjcF93cml0ZV93YWtldXAo KS4uLgoKKzAuMiA+IFAuIHNlcSAxOjQzNzc3IGFjayAxIHdpbiAzNDIgbGVuZ3RoIDQzNzc2CiAg ICAgPCAuICBhY2sgNDM3NzcsIHdpbiAxMzY1IGxlbmd0aCAwCiAgICAgPiBQLiBzZXEgNDM3Nzc6 NjUwMDEgYWNrIDEgd2luIDM0MiBvcHRpb25zIFsuLi5dIGxlbmd0aCAyMTIyNAogICAgIC4uLgoK VGhpcyBhbHNvIGNvbnRyYWRpY3RzIHdpdGggdGhlIGZhY3QgdGhhdCB3ZSBzaG91bGQgYm91bmQg dG8gdGhlIGhhbGYKb2YgdGhlIHdpbmRvdyBpZiBpdCBpcyBsYXJnZS4KCkZpeCB0aGlzIGZsYXcg YnkgY29ycmVjdGx5IGluaXRpYWxpemluZyBtYXhfd2luZG93LiBCZWZvcmUgdGhhdCwgaXQKY291 bGQgaGF2ZSBsYXJnZSB2YWx1ZXMgdGhhdCBhZmZlY3QgZnVydGhlciBjYWxjdWxhdGlvbnMgb2Yg J3NpemVfZ29hbCcuCgpGaXhlczogMTY4YThmNTgwNTlhICgidGNwOiBUQ1AgRmFzdCBPcGVuIFNl cnZlciAtIG1haW4gY29kZSBwYXRoIikKU2lnbmVkLW9mZi1ieTogQWxleGV5IEtvZGFuZXYgPGFs ZXhleS5rb2RhbmV2QG9yYWNsZS5jb20+CkFja2VkLWJ5OiBFcmljIER1bWF6ZXQgPGVkdW1hemV0 QGdvb2dsZS5jb20+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1s b2Z0Lm5ldD4KLS0tCiBuZXQvaXB2NC90Y3BfZmFzdG9wZW4uYyB8IDEgKwogMSBmaWxlIGNoYW5n ZWQsIDEgaW5zZXJ0aW9uKCspCgpkaWZmIC0tZ2l0IGEvbmV0L2lwdjQvdGNwX2Zhc3RvcGVuLmMg Yi9uZXQvaXB2NC90Y3BfZmFzdG9wZW4uYwppbmRleCAzMjQ4OWU0Li5mY2E2MTgyIDEwMDY0NAot LS0gYS9uZXQvaXB2NC90Y3BfZmFzdG9wZW4uYworKysgYi9uZXQvaXB2NC90Y3BfZmFzdG9wZW4u YwpAQCAtMTYxLDYgKzE2MSw3IEBAIHN0YXRpYyBzdHJ1Y3Qgc29jayAqdGNwX2Zhc3RvcGVuX2Ny ZWF0ZV9jaGlsZChzdHJ1Y3Qgc29jayAqc2ssCiAJICogc2NhbGVkLiBTbyBjb3JyZWN0IGl0IGFw cHJvcHJpYXRlbHkuCiAJICovCiAJdHAtPnNuZF93bmQgPSBudG9ocyh0Y3BfaGRyKHNrYiktPndp bmRvdyk7CisJdHAtPm1heF93aW5kb3cgPSB0cC0+c25kX3duZDsKIAogCS8qIEFjdGl2YXRlIHRo ZSByZXRyYW5zIHRpbWVyIHNvIHRoYXQgU1lOQUNLIGNhbiBiZSByZXRyYW5zbWl0dGVkLgogCSAq IFRoZSByZXF1ZXN0IHNvY2tldCBpcyBub3QgYWRkZWQgdG8gdGhlIGVoYXNoCi0tIAoyLjQuMTEK CgpGcm9tIDkzZTliYTA3ZDFhMTFlMGQzMDBlNDc1ZDFhNDM3YTE2NTFjOWUxODAgTW9uIFNlcCAx NyAwMDowMDowMCAyMDAxCkZyb206IEl2YW4gVmVjZXJhIDxjZXJhQGNlcmEuY3o+CkRhdGU6IEZy aSwgMjAgSmFuIDIwMTcgMTg6MTI6MTcgKzAxMDAKU3ViamVjdDogW1BBVENIIDE2LzIwXSBicmlk Z2U6IG5ldGxpbms6IGNhbGwgYnJfY2hhbmdlbGluaygpIGR1cmluZwogYnJfZGV2X25ld2xpbmso KQoKWyBVcHN0cmVhbSBjb21taXQgYjY2Nzc0NDlkZmY2NzRjZjViODE0MjliMTFkNWM3ZjM1ODg1 MmVmOSBdCgpBbnkgYnJpZGdlIG9wdGlvbnMgc3BlY2lmaWVkIGR1cmluZyBsaW5rIGNyZWF0aW9u IChlLmcuIGlwIGxpbmsgYWRkKQphcmUgaWdub3JlZCBhcyBicl9kZXZfbmV3bGluaygpIGRvZXMg bm90IHByb2Nlc3MgdGhlbS4KVXNlIGJyX2NoYW5nZWxpbmsoKSB0byBkbyBpdC4KCkZpeGVzOiAx MzMyMzUxNjE3MjEgKCJicmlkZ2U6IGltcGxlbWVudCBydG5sX2xpbmtfb3BzLT5jaGFuZ2VsaW5r IikKU2lnbmVkLW9mZi1ieTogSXZhbiBWZWNlcmEgPGNlcmFAY2VyYS5jej4KUmV2aWV3ZWQtYnk6 IEppcmkgUGlya28gPGppcmlAbWVsbGFub3guY29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBN aWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogbmV0L2JyaWRnZS9icl9uZXRsaW5rLmMg fCAzMyArKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCAx OSBpbnNlcnRpb25zKCspLCAxNCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9uZXQvYnJpZGdl L2JyX25ldGxpbmsuYyBiL25ldC9icmlkZ2UvYnJfbmV0bGluay5jCmluZGV4IDQwMTk3ZmYuLjQx M2QxOGUgMTAwNjQ0Ci0tLSBhL25ldC9icmlkZ2UvYnJfbmV0bGluay5jCisrKyBiL25ldC9icmlk Z2UvYnJfbmV0bGluay5jCkBAIC03NzMsMjAgKzc3Myw2IEBAIHN0YXRpYyBpbnQgYnJfdmFsaWRh dGUoc3RydWN0IG5sYXR0ciAqdGJbXSwgc3RydWN0IG5sYXR0ciAqZGF0YVtdKQogCXJldHVybiAw OwogfQogCi1zdGF0aWMgaW50IGJyX2Rldl9uZXdsaW5rKHN0cnVjdCBuZXQgKnNyY19uZXQsIHN0 cnVjdCBuZXRfZGV2aWNlICpkZXYsCi0JCQkgIHN0cnVjdCBubGF0dHIgKnRiW10sIHN0cnVjdCBu bGF0dHIgKmRhdGFbXSkKLXsKLQlzdHJ1Y3QgbmV0X2JyaWRnZSAqYnIgPSBuZXRkZXZfcHJpdihk ZXYpOwotCi0JaWYgKHRiW0lGTEFfQUREUkVTU10pIHsKLQkJc3Bpbl9sb2NrX2JoKCZici0+bG9j ayk7Ci0JCWJyX3N0cF9jaGFuZ2VfYnJpZGdlX2lkKGJyLCBubGFfZGF0YSh0YltJRkxBX0FERFJF U1NdKSk7Ci0JCXNwaW5fdW5sb2NrX2JoKCZici0+bG9jayk7Ci0JfQotCi0JcmV0dXJuIHJlZ2lz dGVyX25ldGRldmljZShkZXYpOwotfQotCiBzdGF0aWMgaW50IGJyX3BvcnRfc2xhdmVfY2hhbmdl bGluayhzdHJ1Y3QgbmV0X2RldmljZSAqYnJkZXYsCiAJCQkJICAgIHN0cnVjdCBuZXRfZGV2aWNl ICpkZXYsCiAJCQkJICAgIHN0cnVjdCBubGF0dHIgKnRiW10sCkBAIC0xMDY4LDYgKzEwNTQsMjUg QEAgc3RhdGljIGludCBicl9jaGFuZ2VsaW5rKHN0cnVjdCBuZXRfZGV2aWNlICpicmRldiwgc3Ry dWN0IG5sYXR0ciAqdGJbXSwKIAlyZXR1cm4gMDsKIH0KIAorc3RhdGljIGludCBicl9kZXZfbmV3 bGluayhzdHJ1Y3QgbmV0ICpzcmNfbmV0LCBzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LAorCQkJICBz dHJ1Y3QgbmxhdHRyICp0YltdLCBzdHJ1Y3QgbmxhdHRyICpkYXRhW10pCit7CisJc3RydWN0IG5l dF9icmlkZ2UgKmJyID0gbmV0ZGV2X3ByaXYoZGV2KTsKKwlpbnQgZXJyOworCisJaWYgKHRiW0lG TEFfQUREUkVTU10pIHsKKwkJc3Bpbl9sb2NrX2JoKCZici0+bG9jayk7CisJCWJyX3N0cF9jaGFu Z2VfYnJpZGdlX2lkKGJyLCBubGFfZGF0YSh0YltJRkxBX0FERFJFU1NdKSk7CisJCXNwaW5fdW5s b2NrX2JoKCZici0+bG9jayk7CisJfQorCisJZXJyID0gYnJfY2hhbmdlbGluayhkZXYsIHRiLCBk YXRhKTsKKwlpZiAoZXJyKQorCQlyZXR1cm4gZXJyOworCisJcmV0dXJuIHJlZ2lzdGVyX25ldGRl dmljZShkZXYpOworfQorCiBzdGF0aWMgc2l6ZV90IGJyX2dldF9zaXplKGNvbnN0IHN0cnVjdCBu ZXRfZGV2aWNlICpicmRldikKIHsKIAlyZXR1cm4gbmxhX3RvdGFsX3NpemUoc2l6ZW9mKHUzMikp ICsJLyogSUZMQV9CUl9GT1JXQVJEX0RFTEFZICAqLwotLSAKMi40LjExCgoKRnJvbSA2YWE5ODFk NjliYmQ1OGUzMDAxOWJlMmNlZTQwNmM3OWRkZDNhM2U3IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAw MQpGcm9tOiBoYXllc3dhbmcgPGhheWVzd2FuZ0ByZWFsdGVrLmNvbT4KRGF0ZTogTW9uLCAyMyBK YW4gMjAxNyAxNDoxODo0MyArMDgwMApTdWJqZWN0OiBbUEFUQ0ggMTcvMjBdIHI4MTUyOiBkb24n dCBleGVjdXRlIHJ1bnRpbWUgc3VzcGVuZCBpZiB0aGUgdHggaXMgbm90CiBlbXB0eQoKWyBVcHN0 cmVhbSBjb21taXQgNmEwYjc2YzA0ZWMxNTdjODhjYTk0M2RlYmY3OGE4ZWU1ODQ2OWYyZCBdCgpS dW50aW1lIHN1c3BlbmQgc2hvdWxkbid0IGJlIGV4ZWN1dGVkIGlmIHRoZSB0eCBxdWV1ZSBpcyBu b3QgZW1wdHksCmJlY2F1c2UgdGhlIGRldmljZSBpcyBub3QgaWRsZS4KClNpZ25lZC1vZmYtYnk6 IEhheWVzIFdhbmcgPGhheWVzd2FuZ0ByZWFsdGVrLmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2aWQg Uy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIGRyaXZlcnMvbmV0L3VzYi9yODE1 Mi5jIHwgMiArKwogMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBh L2RyaXZlcnMvbmV0L3VzYi9yODE1Mi5jIGIvZHJpdmVycy9uZXQvdXNiL3I4MTUyLmMKaW5kZXgg ZWQ1MTJhNC4uZmJiMTg2NyAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvdXNiL3I4MTUyLmMKKysr IGIvZHJpdmVycy9uZXQvdXNiL3I4MTUyLmMKQEAgLTM0NDIsNiArMzQ0Miw4IEBAIHN0YXRpYyBi b29sIGRlbGF5X2F1dG9zdXNwZW5kKHN0cnVjdCByODE1MiAqdHApCiAJICovCiAJaWYgKCFzd19s aW5raW5nICYmIHRwLT5ydGxfb3BzLmluX253YXkodHApKQogCQlyZXR1cm4gdHJ1ZTsKKwllbHNl IGlmICghc2tiX3F1ZXVlX2VtcHR5KCZ0cC0+dHhfcXVldWUpKQorCQlyZXR1cm4gdHJ1ZTsKIAll bHNlCiAJCXJldHVybiBmYWxzZTsKIH0KLS0gCjIuNC4xMQoKCkZyb20gYTdlN2M2YWRjZmVkYjNm MGI1Nzg5NTQ5MTE3ZWNlZWNhNmIwMDU2ZCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTog V0FORyBDb25nIDx4aXlvdS53YW5nY29uZ0BnbWFpbC5jb20+CkRhdGU6IE1vbiwgMjMgSmFuIDIw MTcgMTE6MTc6MzUgLTA4MDAKU3ViamVjdDogW1BBVENIIDE4LzIwXSBhZl91bml4OiBtb3ZlIHVu aXhfbWtub2QoKSBvdXQgb2YgYmluZGxvY2sKClsgVXBzdHJlYW0gY29tbWl0IDBmYjQ0NTU5ZmZk NjdkZTg1MTcwOThiODFmNjc1ZmEwMjEwZjEzZjAgXQoKRG1pdHJ5IHJlcG9ydGVkIGEgZGVhZGxv Y2sgc2NlbmFyaW86Cgp1bml4X2JpbmQoKSBwYXRoOgp1LT5iaW5kbG9jayA9PT4gc2Jfd3JpdGVy Cgpkb19zcGxpY2UoKSBwYXRoOgpzYl93cml0ZXIgPT0+IHBpcGUtPm11dGV4ID09PiB1LT5iaW5k bG9jawoKSW4gdGhlIHVuaXhfYmluZCgpIGNvZGUgcGF0aCwgdW5peF9ta25vZCgpIGRvZXMgbm90 IGhhdmUgdG8KYmUgZG9uZSB3aXRoIHUtPmJpbmRsb2NrIGhlbGQsIHNpbmNlIGl0IGlzIGEgcHVy ZSBmcyBvcGVyYXRpb24sCnNvIHdlIGNhbiBqdXN0IG1vdmUgdW5peF9ta25vZCgpIG91dC4KClJl cG9ydGVkLWJ5OiBEbWl0cnkgVnl1a292IDxkdnl1a292QGdvb2dsZS5jb20+ClRlc3RlZC1ieTog RG1pdHJ5IFZ5dWtvdiA8ZHZ5dWtvdkBnb29nbGUuY29tPgpDYzogUmFpbmVyIFdlaWt1c2F0IDxy d2Vpa3VzYXRAbW9iaWxlYWN0aXZlZGVmZW5zZS5jb20+CkNjOiBBbCBWaXJvIDx2aXJvQHplbml2 LmxpbnV4Lm9yZy51az4KU2lnbmVkLW9mZi1ieTogQ29uZyBXYW5nIDx4aXlvdS53YW5nY29uZ0Bn bWFpbC5jb20+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0 Lm5ldD4KLS0tCiBuZXQvdW5peC9hZl91bml4LmMgfCAyNyArKysrKysrKysrKysrKysrLS0tLS0t LS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCAxNiBpbnNlcnRpb25zKCspLCAxMSBkZWxldGlvbnMoLSkK CmRpZmYgLS1naXQgYS9uZXQvdW5peC9hZl91bml4LmMgYi9uZXQvdW5peC9hZl91bml4LmMKaW5k ZXggNzNmNzUyNS4uYjJlOTM0ZiAxMDA2NDQKLS0tIGEvbmV0L3VuaXgvYWZfdW5peC5jCisrKyBi L25ldC91bml4L2FmX3VuaXguYwpAQCAtOTk0LDYgKzk5NCw3IEBAIHN0YXRpYyBpbnQgdW5peF9i aW5kKHN0cnVjdCBzb2NrZXQgKnNvY2ssIHN0cnVjdCBzb2NrYWRkciAqdWFkZHIsIGludCBhZGRy X2xlbikKIAl1bnNpZ25lZCBpbnQgaGFzaDsKIAlzdHJ1Y3QgdW5peF9hZGRyZXNzICphZGRyOwog CXN0cnVjdCBobGlzdF9oZWFkICpsaXN0OworCXN0cnVjdCBwYXRoIHBhdGggPSB7IE5VTEwsIE5V TEwgfTsKIAogCWVyciA9IC1FSU5WQUw7CiAJaWYgKHN1bmFkZHItPnN1bl9mYW1pbHkgIT0gQUZf VU5JWCkKQEAgLTEwMDksOSArMTAxMCwyMCBAQCBzdGF0aWMgaW50IHVuaXhfYmluZChzdHJ1Y3Qg c29ja2V0ICpzb2NrLCBzdHJ1Y3Qgc29ja2FkZHIgKnVhZGRyLCBpbnQgYWRkcl9sZW4pCiAJCWdv dG8gb3V0OwogCWFkZHJfbGVuID0gZXJyOwogCisJaWYgKHN1bl9wYXRoWzBdKSB7CisJCXVtb2Rl X3QgbW9kZSA9IFNfSUZTT0NLIHwKKwkJICAgICAgIChTT0NLX0lOT0RFKHNvY2spLT5pX21vZGUg JiB+Y3VycmVudF91bWFzaygpKTsKKwkJZXJyID0gdW5peF9ta25vZChzdW5fcGF0aCwgbW9kZSwg JnBhdGgpOworCQlpZiAoZXJyKSB7CisJCQlpZiAoZXJyID09IC1FRVhJU1QpCisJCQkJZXJyID0g LUVBRERSSU5VU0U7CisJCQlnb3RvIG91dDsKKwkJfQorCX0KKwogCWVyciA9IG11dGV4X2xvY2tf aW50ZXJydXB0aWJsZSgmdS0+YmluZGxvY2spOwogCWlmIChlcnIpCi0JCWdvdG8gb3V0OworCQln b3RvIG91dF9wdXQ7CiAKIAllcnIgPSAtRUlOVkFMOwogCWlmICh1LT5hZGRyKQpAQCAtMTAyOCwx NiArMTA0MCw2IEBAIHN0YXRpYyBpbnQgdW5peF9iaW5kKHN0cnVjdCBzb2NrZXQgKnNvY2ssIHN0 cnVjdCBzb2NrYWRkciAqdWFkZHIsIGludCBhZGRyX2xlbikKIAlhdG9taWNfc2V0KCZhZGRyLT5y ZWZjbnQsIDEpOwogCiAJaWYgKHN1bl9wYXRoWzBdKSB7Ci0JCXN0cnVjdCBwYXRoIHBhdGg7Ci0J CXVtb2RlX3QgbW9kZSA9IFNfSUZTT0NLIHwKLQkJICAgICAgIChTT0NLX0lOT0RFKHNvY2spLT5p X21vZGUgJiB+Y3VycmVudF91bWFzaygpKTsKLQkJZXJyID0gdW5peF9ta25vZChzdW5fcGF0aCwg bW9kZSwgJnBhdGgpOwotCQlpZiAoZXJyKSB7Ci0JCQlpZiAoZXJyID09IC1FRVhJU1QpCi0JCQkJ ZXJyID0gLUVBRERSSU5VU0U7Ci0JCQl1bml4X3JlbGVhc2VfYWRkcihhZGRyKTsKLQkJCWdvdG8g b3V0X3VwOwotCQl9CiAJCWFkZHItPmhhc2ggPSBVTklYX0hBU0hfU0laRTsKIAkJaGFzaCA9IGRf cmVhbF9pbm9kZShwYXRoLmRlbnRyeSktPmlfaW5vICYgKFVOSVhfSEFTSF9TSVpFIC0gMSk7CiAJ CXNwaW5fbG9jaygmdW5peF90YWJsZV9sb2NrKTsKQEAgLTEwNjQsNiArMTA2Niw5IEBAIG91dF91 bmxvY2s6CiAJc3Bpbl91bmxvY2soJnVuaXhfdGFibGVfbG9jayk7CiBvdXRfdXA6CiAJbXV0ZXhf dW5sb2NrKCZ1LT5iaW5kbG9jayk7CitvdXRfcHV0OgorCWlmIChlcnIpCisJCXBhdGhfcHV0KCZw YXRoKTsKIG91dDoKIAlyZXR1cm4gZXJyOwogfQotLSAKMi40LjExCgoKRnJvbSBmNjg5ZDY4MDA2 MWVjM2JkYTA3NTg4NmU2ODIwYzZmYWYzMjgzYzlmIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpG cm9tOiA9P1VURi04P3E/Qmo9QzM9Qjhybj0yME1vcms/PSA8Ympvcm5AbW9yay5ubz4KRGF0ZTog VHVlLCAyNCBKYW4gMjAxNyAxMDo0NTozOCArMDEwMApTdWJqZWN0OiBbUEFUQ0ggMTkvMjBdIHFt aV93d2FuL2NkY19ldGhlcjogYWRkIGRldmljZSBJRCBmb3IgSFAgbHQyNTIzCiAoTm92YXRlbCBF MzcxKSBXV0FOIGNhcmQKTUlNRS1WZXJzaW9uOiAxLjAKQ29udGVudC1UeXBlOiB0ZXh0L3BsYWlu OyBjaGFyc2V0PVVURi04CkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKClsgVXBzdHJl YW0gY29tbWl0IDViOWY1NzUxNjMzN2I1MjNmNzQ2NmE1MzkzOWFhYWVhN2I3ODE0MWIgXQoKQW5v dGhlciByZWJyYW5kZWQgTm92YXRlbCBFMzcxLiAgcW1pX3d3YW4gc2hvdWxkIGRyaXZlIHRoaXMg ZGV2aWNlLCB3aGlsZQpjZGNfZXRoZXIgc2hvdWxkIGlnbm9yZSBpdC4gIEV2ZW4gdGhvdWdoIHRo ZSBVU0IgZGVzY3JpcHRvcnMgYXJlIHBsYWluCkNEQy1FVEhFUiB0aGF0IFVTQiBpbnRlcmZhY2Ug aXMgYSBRTUkgaW50ZXJmYWNlLiAgUmVmIGNvbW1pdCA3ZmRiNzg0NmM5Y2EKKCJxbWlfd3dhbi9j ZGNfZXRoZXI6IGFkZCBkZXZpY2UgSURzIGZvciBEZWxsIDU4MDQgKE5vdmF0ZWwgRTM3MSkgV1dB TgpjYXJkIikKCkNjOiBEYW4gV2lsbGlhbXMgPGRjYndAcmVkaGF0LmNvbT4KU2lnbmVkLW9mZi1i eTogQmrDuHJuIE1vcmsgPGJqb3JuQG1vcmsubm8+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1p bGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBkcml2ZXJzL25ldC91c2IvY2RjX2V0aGVy LmMgfCA4ICsrKysrKysrCiBkcml2ZXJzL25ldC91c2IvcW1pX3d3YW4uYyAgfCA3ICsrKysrKysK IDIgZmlsZXMgY2hhbmdlZCwgMTUgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMv bmV0L3VzYi9jZGNfZXRoZXIuYyBiL2RyaXZlcnMvbmV0L3VzYi9jZGNfZXRoZXIuYwppbmRleCA3 Y2JhMmMzLi44YzQwOGFhIDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC91c2IvY2RjX2V0aGVyLmMK KysrIGIvZHJpdmVycy9uZXQvdXNiL2NkY19ldGhlci5jCkBAIC00NjIsNiArNDYyLDcgQEAgc3Rh dGljIGNvbnN0IHN0cnVjdCBkcml2ZXJfaW5mbyB3d2FuX2luZm8gPSB7CiAjZGVmaW5lIFNBTVNV TkdfVkVORE9SX0lECTB4MDRlOAogI2RlZmluZSBMRU5PVk9fVkVORE9SX0lECTB4MTdlZgogI2Rl ZmluZSBOVklESUFfVkVORE9SX0lECTB4MDk1NQorI2RlZmluZSBIUF9WRU5ET1JfSUQJCTB4MDNm MAogCiBzdGF0aWMgY29uc3Qgc3RydWN0IHVzYl9kZXZpY2VfaWQJcHJvZHVjdHNbXSA9IHsKIC8q IEJMQUNLTElTVCAhIQpAQCAtNjA4LDYgKzYwOSwxMyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IHVz Yl9kZXZpY2VfaWQJcHJvZHVjdHNbXSA9IHsKIAkuZHJpdmVyX2luZm8gPSAwLAogfSwKIAorLyog SFAgbHQyNTIzIChOb3ZhdGVsIEUzNzEpIC0gaGFuZGxlZCBieSBxbWlfd3dhbiAqLworeworCVVT Ql9ERVZJQ0VfQU5EX0lOVEVSRkFDRV9JTkZPKEhQX1ZFTkRPUl9JRCwgMHg0MjFkLCBVU0JfQ0xB U1NfQ09NTSwKKwkJCQkgICAgICBVU0JfQ0RDX1NVQkNMQVNTX0VUSEVSTkVULCBVU0JfQ0RDX1BS T1RPX05PTkUpLAorCS5kcml2ZXJfaW5mbyA9IDAsCit9LAorCiAvKiBBbnlEQVRBIEFEVTk2MFMg LSBoYW5kbGVkIGJ5IHFtaV93d2FuICovCiB7CiAJVVNCX0RFVklDRV9BTkRfSU5URVJGQUNFX0lO Rk8oMHgxNmQ1LCAweDY1MGEsIFVTQl9DTEFTU19DT01NLApkaWZmIC0tZ2l0IGEvZHJpdmVycy9u ZXQvdXNiL3FtaV93d2FuLmMgYi9kcml2ZXJzL25ldC91c2IvcW1pX3d3YW4uYwppbmRleCBhMzRm NDkxLi4wOTA1MmY5IDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC91c2IvcW1pX3d3YW4uYworKysg Yi9kcml2ZXJzL25ldC91c2IvcW1pX3d3YW4uYwpAQCAtNDg1LDYgKzQ4NSwxMyBAQCBzdGF0aWMg Y29uc3Qgc3RydWN0IHVzYl9kZXZpY2VfaWQgcHJvZHVjdHNbXSA9IHsKIAkJCQkJICAgICAgVVNC X0NEQ19QUk9UT19OT05FKSwKIAkJLmRyaXZlcl9pbmZvICAgICAgICA9ICh1bnNpZ25lZCBsb25n KSZxbWlfd3dhbl9pbmZvLAogCX0sCisJewkvKiBIUCBsdDI1MjMgKE5vdmF0ZWwgRTM3MSkgKi8K KwkJVVNCX0RFVklDRV9BTkRfSU5URVJGQUNFX0lORk8oMHgwM2YwLCAweDQyMWQsCisJCQkJCSAg ICAgIFVTQl9DTEFTU19DT01NLAorCQkJCQkgICAgICBVU0JfQ0RDX1NVQkNMQVNTX0VUSEVSTkVU LAorCQkJCQkgICAgICBVU0JfQ0RDX1BST1RPX05PTkUpLAorCQkuZHJpdmVyX2luZm8gICAgICAg ID0gKHVuc2lnbmVkIGxvbmcpJnFtaV93d2FuX2luZm8sCisJfSwKIAl7CS8qIEhQIGx0NDExMiBM VEUvSFNQQSsgR29iaSA0RyBNb2R1bGUgKEh1YXdlaSBtZTkwNmUpICovCiAJCVVTQl9ERVZJQ0Vf QU5EX0lOVEVSRkFDRV9JTkZPKDB4MDNmMCwgMHg1ODFkLCBVU0JfQ0xBU1NfVkVORE9SX1NQRUMs IDEsIDcpLAogCQkuZHJpdmVyX2luZm8gPSAodW5zaWduZWQgbG9uZykmcW1pX3d3YW5faW5mbywK LS0gCjIuNC4xMQoKCkZyb20gYTI0NjU3YTVjNTY4OTY0ZTlmZDhhYTgzZmYzZDkxNWZlZDNhNDcz MCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogRmxvcmlhbiBGYWluZWxsaSA8Zi5mYWlu ZWxsaUBnbWFpbC5jb20+CkRhdGU6IFdlZCwgMjUgSmFuIDIwMTcgMDk6MTA6NDEgLTA4MDAKU3Vi amVjdDogW1BBVENIIDIwLzIwXSBuZXQ6IGRzYTogQnJpbmcgYmFjayBkZXZpY2UgZGV0YWNoaW5n IGluCiBkc2Ffc2xhdmVfc3VzcGVuZCgpCgpbIFVwc3RyZWFtIGNvbW1pdCBmMTU0YmUyNDFkMjIy OThkMmI2M2M5YjYxM2Y2MTlmYTEwODZlYTc1IF0KCkNvbW1pdCA0NDhiNDQ4MmM2NzEgKCJuZXQ6 IGRzYTogQWRkIGxvY2tkZXAgY2xhc3MgdG8gdHggcXVldWVzIHRvIGF2b2lkCmxvY2tkZXAgc3Bs YXQiKSByZW1vdmVkIHRoZSBuZXRpZl9kZXZpY2VfZGV0YWNoKCkgY2FsbCBkb25lIGluCmRzYV9z bGF2ZV9zdXNwZW5kKCkgd2hpY2ggaXMgbmVjZXNzYXJ5LCBhbmQgcGFpcmVkIHdpdGggYSBjb3Jy ZXNwb25kaW5nCm5ldGlmX2RldmljZV9hdHRhY2goKSwgYnJpbmcgaXQgYmFjay4KCkZpeGVzOiA0 NDhiNDQ4MmM2NzEgKCJuZXQ6IGRzYTogQWRkIGxvY2tkZXAgY2xhc3MgdG8gdHggcXVldWVzIHRv IGF2b2lkIGxvY2tkZXAgc3BsYXQiKQpTaWduZWQtb2ZmLWJ5OiBGbG9yaWFuIEZhaW5lbGxpIDxm LmZhaW5lbGxpQGdtYWlsLmNvbT4KUmV2aWV3ZWQtYnk6IEFuZHJldyBMdW5uIDxhbmRyZXdAbHVu bi5jaD4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0 PgotLS0KIG5ldC9kc2Evc2xhdmUuYyB8IDIgKysKIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlv bnMoKykKCmRpZmYgLS1naXQgYS9uZXQvZHNhL3NsYXZlLmMgYi9uZXQvZHNhL3NsYXZlLmMKaW5k ZXggN2JjNzg3Yi4uOGRmZTlmYiAxMDA2NDQKLS0tIGEvbmV0L2RzYS9zbGF2ZS5jCisrKyBiL25l dC9kc2Evc2xhdmUuYwpAQCAtMTEwMSw2ICsxMTAxLDggQEAgaW50IGRzYV9zbGF2ZV9zdXNwZW5k KHN0cnVjdCBuZXRfZGV2aWNlICpzbGF2ZV9kZXYpCiB7CiAJc3RydWN0IGRzYV9zbGF2ZV9wcml2 ICpwID0gbmV0ZGV2X3ByaXYoc2xhdmVfZGV2KTsKIAorCW5ldGlmX2RldmljZV9kZXRhY2goc2xh dmVfZGV2KTsKKwogCWlmIChwLT5waHkpIHsKIAkJcGh5X3N0b3AocC0+cGh5KTsKIAkJcC0+b2xk X3BhdXNlID0gLTE7Ci0tIAoyLjQuMTEKCg== ----Next_Part(Tue_Jan_31_16_50_51_2017_093)-- Content-Type: Application/Octet-Stream Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="net_49.mbox" RnJvbSBmZDJiZWU2MjM0ZDYzNjBlZmY0ZjA4MTllZTcyNjBjM2YwODllZTBiIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBoYXllc3dhbmcgPGhheWVzd2FuZ0ByZWFsdGVrLmNvbT4KRGF0 ZTogV2VkLCAxMSBKYW4gMjAxNyAxNjoyNTozNCArMDgwMApTdWJqZWN0OiBbUEFUQ0ggMDEvMzJd IHI4MTUyOiBmaXggdGhlIHN3IHJ4IGNoZWNrc3VtIGlzIHVuYXZhaWxhYmxlCgpbIFVwc3RyZWFt IGNvbW1pdCAxOWMwZjQwZDRmY2EzYTQ3YjhmNzg0YTYyN2YwNDY3ZjAxMzhjY2M4IF0KCkZpeCB0 aGUgaHcgcnggY2hlY2tzdW0gaXMgYWx3YXlzIGVuYWJsZWQsIGFuZCB0aGUgdXNlciBjb3VsZG4n dCBzd2l0Y2gKaXQgdG8gc3cgcnggY2hlY2tzdW0uCgpOb3RlIHRoYXQgdGhlIFJUTF9WRVJfMDEg b25seSBzdXBwb3J0IHN3IHJ4IGNoZWNrc3VtIG9ubHkuIEJlc2lkZXMsCnRoZSBodyByeCBjaGVj a3N1bSBmb3IgUlRMX1ZFUl8wMiBpcyBkaXNhYmxlZCBhZnRlcgpjb21taXQgYjlhMzIxYjQ4YWY0 ICgicjgxNTI6IEZpeCBicm9rZW4gUlggY2hlY2tzdW1zLiIpLiBSZS1lbmFibGUgaXQuCgpTaWdu ZWQtb2ZmLWJ5OiBIYXllcyBXYW5nIDxoYXllc3dhbmdAcmVhbHRlay5jb20+ClNpZ25lZC1vZmYt Ynk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBkcml2ZXJzL25l dC91c2IvcjgxNTIuYyB8IDcgKysrKysrLQogMSBmaWxlIGNoYW5nZWQsIDYgaW5zZXJ0aW9ucygr KSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3VzYi9yODE1Mi5jIGIv ZHJpdmVycy9uZXQvdXNiL3I4MTUyLmMKaW5kZXggNGI1Y2IxNi4uYmU0Yzg2ZiAxMDA2NDQKLS0t IGEvZHJpdmVycy9uZXQvdXNiL3I4MTUyLmMKKysrIGIvZHJpdmVycy9uZXQvdXNiL3I4MTUyLmMK QEAgLTE3MzAsNyArMTczMCw3IEBAIHN0YXRpYyB1OCByODE1Ml9yeF9jc3VtKHN0cnVjdCByODE1 MiAqdHAsIHN0cnVjdCByeF9kZXNjICpyeF9kZXNjKQogCXU4IGNoZWNrc3VtID0gQ0hFQ0tTVU1f Tk9ORTsKIAl1MzIgb3B0czIsIG9wdHMzOwogCi0JaWYgKHRwLT52ZXJzaW9uID09IFJUTF9WRVJf MDEgfHwgdHAtPnZlcnNpb24gPT0gUlRMX1ZFUl8wMikKKwlpZiAoISh0cC0+bmV0ZGV2LT5mZWF0 dXJlcyAmIE5FVElGX0ZfUlhDU1VNKSkKIAkJZ290byByZXR1cm5fcmVzdWx0OwogCiAJb3B0czIg PSBsZTMyX3RvX2NwdShyeF9kZXNjLT5vcHRzMik7CkBAIC00MzU4LDYgKzQzNTgsMTEgQEAgc3Rh dGljIGludCBydGw4MTUyX3Byb2JlKHN0cnVjdCB1c2JfaW50ZXJmYWNlICppbnRmLAogCQkJCU5F VElGX0ZfSElHSERNQSB8IE5FVElGX0ZfRlJBR0xJU1QgfAogCQkJCU5FVElGX0ZfSVBWNl9DU1VN IHwgTkVUSUZfRl9UU082OwogCisJaWYgKHRwLT52ZXJzaW9uID09IFJUTF9WRVJfMDEpIHsKKwkJ bmV0ZGV2LT5mZWF0dXJlcyAmPSB+TkVUSUZfRl9SWENTVU07CisJCW5ldGRldi0+aHdfZmVhdHVy ZXMgJj0gfk5FVElGX0ZfUlhDU1VNOworCX0KKwogCW5ldGRldi0+ZXRodG9vbF9vcHMgPSAmb3Bz OwogCW5ldGlmX3NldF9nc29fbWF4X3NpemUobmV0ZGV2LCBSVExfTElNSVRFRF9UU09fU0laRSk7 CiAKLS0gCjIuNC4xMQoKCkZyb20gYTFiNDQ2NmQyNmFiOWY0NGRhMGIxZjEyOTliYjViMzMwYmMw MzQ5OCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogc3RlcGhlbiBoZW1taW5nZXIgPHN0 ZXBoZW5AbmV0d29ya3BsdW1iZXIub3JnPgpEYXRlOiBXZWQsIDExIEphbiAyMDE3IDA5OjE2OjMy IC0wODAwClN1YmplY3Q6IFtQQVRDSCAwMi8zMl0gbmV0dnNjOiBhZGQgcmN1X3JlYWQgbG9ja2lu ZyB0byBuZXR2c2MgY2FsbGJhY2sKClsgVXBzdHJlYW0gY29tbWl0IDA3MTllNzJjY2I4MDE4Mjlh M2Q3MzVkMTg3Y2E4NDE3ZjA5MzA0NTkgXQoKVGhlIHJlY2VpdmUgY2FsbGJhY2sgKGluIHRhc2ts ZXQgY29udGV4dCkgaXMgdXNpbmcgUkNVIHRvIGdldCByZWZlcmVuY2UKdG8gYXNzb2NpYXRlZCBW RiBuZXR3b3JrIGRldmljZSBidXQgdGhpcyBpcyBub3Qgc2FmZS4gUkNVIHJlYWQgbG9jawpuZWVk cyB0byBiZSBoZWxkLiBGb3VuZCBieSBydW5uaW5nIHdpdGggZnVsbCBsb2NrZGVwIGRlYnVnZ2lu ZwplbmFibGVkLgoKRml4ZXM6IGYyMDdjMTBkOTgyMyAoImh2X25ldHZzYzogdXNlIFJDVSB0byBw cm90ZWN0IHZmX25ldGRldiIpClNpZ25lZC1vZmYtYnk6IFN0ZXBoZW4gSGVtbWluZ2VyIDxzdGhl bW1pbkBtaWNyb3NvZnQuY29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVt QGRhdmVtbG9mdC5uZXQ+Ci0tLQogZHJpdmVycy9uZXQvaHlwZXJ2L25ldHZzY19kcnYuYyB8IDMg KysrCiAxIGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvZHJpdmVy cy9uZXQvaHlwZXJ2L25ldHZzY19kcnYuYyBiL2RyaXZlcnMvbmV0L2h5cGVydi9uZXR2c2NfZHJ2 LmMKaW5kZXggYzkxNDBjMy4uZmYwMzhlNSAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvaHlwZXJ2 L25ldHZzY19kcnYuYworKysgYi9kcml2ZXJzL25ldC9oeXBlcnYvbmV0dnNjX2Rydi5jCkBAIC02 NTksNiArNjU5LDcgQEAgaW50IG5ldHZzY19yZWN2X2NhbGxiYWNrKHN0cnVjdCBodl9kZXZpY2Ug KmRldmljZV9vYmosCiAJICogcG9saWN5IGZpbHRlcnMgb24gdGhlIGhvc3QpLiBEZWxpdmVyIHRo ZXNlIHZpYSB0aGUgVkYKIAkgKiBpbnRlcmZhY2UgaW4gdGhlIGd1ZXN0LgogCSAqLworCXJjdV9y ZWFkX2xvY2soKTsKIAl2Zl9uZXRkZXYgPSByY3VfZGVyZWZlcmVuY2UobmV0X2RldmljZV9jdHgt PnZmX25ldGRldik7CiAJaWYgKHZmX25ldGRldiAmJiAodmZfbmV0ZGV2LT5mbGFncyAmIElGRl9V UCkpCiAJCW5ldCA9IHZmX25ldGRldjsKQEAgLTY2Nyw2ICs2NjgsNyBAQCBpbnQgbmV0dnNjX3Jl Y3ZfY2FsbGJhY2soc3RydWN0IGh2X2RldmljZSAqZGV2aWNlX29iaiwKIAlza2IgPSBuZXR2c2Nf YWxsb2NfcmVjdl9za2IobmV0LCBwYWNrZXQsIGNzdW1faW5mbywgKmRhdGEsIHZsYW5fdGNpKTsK IAlpZiAodW5saWtlbHkoIXNrYikpIHsKIAkJKytuZXQtPnN0YXRzLnJ4X2Ryb3BwZWQ7CisJCXJj dV9yZWFkX3VubG9jaygpOwogCQlyZXR1cm4gTlZTUF9TVEFUX0ZBSUw7CiAJfQogCkBAIC02OTYs NiArNjk4LDcgQEAgaW50IG5ldHZzY19yZWN2X2NhbGxiYWNrKHN0cnVjdCBodl9kZXZpY2UgKmRl dmljZV9vYmosCiAJICogVE9ETyAtIHVzZSBOQVBJPwogCSAqLwogCW5ldGlmX3J4KHNrYik7CisJ cmN1X3JlYWRfdW5sb2NrKCk7CiAKIAlyZXR1cm4gMDsKIH0KLS0gCjIuNC4xMQoKCkZyb20gOTky NGRiNjk5M2E2YzRkOGRlMTA1MTE0MjEzYTMwZTQ2MmY4OWI0OCBNb24gU2VwIDE3IDAwOjAwOjAw IDIwMDEKRnJvbTogQXJrYWRpIFNoYXJzaGV2c2t5IDxhcmthZGlzQG1lbGxhbm94LmNvbT4KRGF0 ZTogVGh1LCAxMiBKYW4gMjAxNyAwOToxMDozNyArMDEwMApTdWJqZWN0OiBbUEFUQ0ggMDMvMzJd IG1seHN3OiBzcGVjdHJ1bTogRml4IG1lbW9yeSBsZWFrIGF0IHNrYiByZWFsbG9jYXRpb24KClsg VXBzdHJlYW0gY29tbWl0IDM2YmYzOGQxNThkMzQ4MjExOWIzZTE1OWMwNjE5YjNjMTUzOWI1MDgg XQoKRHVyaW5nIHRyYW5zbWlzc2lvbiB0aGUgc2tiIGlzIGNoZWNrZWQgZm9yIGhlYWRyb29tIGlu IG9yZGVyIHRvCmFkZCB2ZW5kb3Igc3BlY2lmaWMgaGVhZGVyLiBJbiBjYXNlIHRoZSBza2IgbmVl ZHMgdG8gYmUgcmUtYWxsb2NhdGVkLApza2JfcmVhbGxvY19oZWFkcm9vbSgpIGlzIGNhbGxlZCB0 byBtYWtlIGEgcHJpdmF0ZSBjb3B5IG9mIHRoZSBvcmlnaW5hbCwKYnV0IGRvZXNuJ3QgcmVsZWFz ZSBpdC4gQ3VycmVudCBjb2RlIGFzc3VtZXMgdGhhdCB0aGUgb3JpZ2luYWwgc2tiIGlzCnJlbGVh c2VkIGR1cmluZyByZWFsbG9jYXRpb24gYW5kIG9ubHkgcmVsZWFzZXMgaXQgYXQgdGhlIGVycm9y IHBhdGgKd2hpY2ggY2F1c2VzIGEgbWVtb3J5IGxlYWsuCgpGaXggdGhpcyBieSBhZGRpbmcgdGhl IG9yaWdpbmFsIHNrYiByZWxlYXNlIHRvIHRoZSBtYWluIHBhdGguCgpGaXhlczogNTZhZGU4ZmUz ZmUxICgibWx4c3c6IHNwZWN0cnVtOiBBZGQgaW5pdGlhbCBzdXBwb3J0IGZvciBTcGVjdHJ1bSBB U0lDIikKU2lnbmVkLW9mZi1ieTogQXJrYWRpIFNoYXJzaGV2c2t5IDxhcmthZGlzQG1lbGxhbm94 LmNvbT4KUmV2aWV3ZWQtYnk6IElkbyBTY2hpbW1lbCA8aWRvc2NoQG1lbGxhbm94LmNvbT4KU2ln bmVkLW9mZi1ieTogSmlyaSBQaXJrbyA8amlyaUBtZWxsYW5veC5jb20+ClNpZ25lZC1vZmYtYnk6 IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBkcml2ZXJzL25ldC9l dGhlcm5ldC9tZWxsYW5veC9tbHhzdy9zcGVjdHJ1bS5jIHwgMSArCiAxIGZpbGUgY2hhbmdlZCwg MSBpbnNlcnRpb24oKykKCmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5v eC9tbHhzdy9zcGVjdHJ1bS5jIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4c3cv c3BlY3RydW0uYwppbmRleCBkZGE1NzYxLi5mOTAyYzRkIDEwMDY0NAotLS0gYS9kcml2ZXJzL25l dC9ldGhlcm5ldC9tZWxsYW5veC9tbHhzdy9zcGVjdHJ1bS5jCisrKyBiL2RyaXZlcnMvbmV0L2V0 aGVybmV0L21lbGxhbm94L21seHN3L3NwZWN0cnVtLmMKQEAgLTY4NCw2ICs2ODQsNyBAQCBzdGF0 aWMgbmV0ZGV2X3R4X3QgbWx4c3dfc3BfcG9ydF94bWl0KHN0cnVjdCBza19idWZmICpza2IsCiAJ CQlkZXZfa2ZyZWVfc2tiX2FueShza2Jfb3JpZyk7CiAJCQlyZXR1cm4gTkVUREVWX1RYX09LOwog CQl9CisJCWRldl9jb25zdW1lX3NrYl9hbnkoc2tiX29yaWcpOwogCX0KIAogCWlmIChldGhfc2ti X3BhZChza2IpKSB7Ci0tIAoyLjQuMTEKCgpGcm9tIGM0YWVkNDg4MzdmNTNjNDJhYmFhZTMwZWM3 MjJmZGZiNGQwYzUxOTAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IEFya2FkaSBTaGFy c2hldnNreSA8YXJrYWRpc0BtZWxsYW5veC5jb20+CkRhdGU6IFRodSwgMTIgSmFuIDIwMTcgMDk6 MTA6MzggKzAxMDAKU3ViamVjdDogW1BBVENIIDA0LzMyXSBtbHhzdzogc3dpdGNoeDI6IEZpeCBt ZW1vcnkgbGVhayBhdCBza2IgcmVhbGxvY2F0aW9uCgpbIFVwc3RyZWFtIGNvbW1pdCA0MDBmYzAx MDZkZDhjMjdlZDg0NzgxYzkyOWMxYTE4NDc4NWI5Yzc5IF0KCkR1cmluZyB0cmFuc21pc3Npb24g dGhlIHNrYiBpcyBjaGVja2VkIGZvciBoZWFkcm9vbSBpbiBvcmRlciB0bwphZGQgdmVuZG9yIHNw ZWNpZmljIGhlYWRlci4gSW4gY2FzZSB0aGUgc2tiIG5lZWRzIHRvIGJlIHJlLWFsbG9jYXRlZCwK c2tiX3JlYWxsb2NfaGVhZHJvb20oKSBpcyBjYWxsZWQgdG8gbWFrZSBhIHByaXZhdGUgY29weSBv ZiB0aGUgb3JpZ2luYWwsCmJ1dCBkb2Vzbid0IHJlbGVhc2UgaXQuIEN1cnJlbnQgY29kZSBhc3N1 bWVzIHRoYXQgdGhlIG9yaWdpbmFsIHNrYiBpcwpyZWxlYXNlZCBkdXJpbmcgcmVhbGxvY2F0aW9u IGFuZCBvbmx5IHJlbGVhc2VzIGl0IGF0IHRoZSBlcnJvciBwYXRoCndoaWNoIGNhdXNlcyBhIG1l bW9yeSBsZWFrLgoKRml4IHRoaXMgYnkgYWRkaW5nIHRoZSBvcmlnaW5hbCBza2IgcmVsZWFzZSB0 byB0aGUgbWFpbiBwYXRoLgoKRml4ZXM6IGQwMDM0NjJhNTBkZSAoIm1seHN3OiBTaW1wbGlmeSBt bHhzd19zeF9wb3J0X3htaXQgZnVuY3Rpb24iKQpTaWduZWQtb2ZmLWJ5OiBBcmthZGkgU2hhcnNo ZXZza3kgPGFya2FkaXNAbWVsbGFub3guY29tPgpTaWduZWQtb2ZmLWJ5OiBKaXJpIFBpcmtvIDxq aXJpQG1lbGxhbm94LmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBk YXZlbWxvZnQubmV0PgotLS0KIGRyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21seHN3L3N3 aXRjaHgyLmMgfCAxICsKIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKQoKZGlmZiAtLWdp dCBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21seHN3L3N3aXRjaHgyLmMgYi9kcml2 ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHhzdy9zd2l0Y2h4Mi5jCmluZGV4IDkyYmRhODcu LmQ1NDhmMGEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21seHN3 L3N3aXRjaHgyLmMKKysrIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4c3cvc3dp dGNoeDIuYwpAQCAtMzE0LDYgKzMxNCw3IEBAIHN0YXRpYyBuZXRkZXZfdHhfdCBtbHhzd19zeF9w b3J0X3htaXQoc3RydWN0IHNrX2J1ZmYgKnNrYiwKIAkJCWRldl9rZnJlZV9za2JfYW55KHNrYl9v cmlnKTsKIAkJCXJldHVybiBORVRERVZfVFhfT0s7CiAJCX0KKwkJZGV2X2NvbnN1bWVfc2tiX2Fu eShza2Jfb3JpZyk7CiAJfQogCW1seHN3X3N4X3R4aGRyX2NvbnN0cnVjdChza2IsICZ0eF9pbmZv KTsKIAkvKiBUWCBoZWFkZXIgaXMgY29uc3VtZWQgYnkgSFcgb24gdGhlIHdheSBzbyB3ZSBzaG91 bGRuJ3QgY291bnQgaXRzCi0tIAoyLjQuMTEKCgpGcm9tIDI3YmJjZTg2MDNhYTRjMDUzNjZjNThk MjcwMjUzYTI4MzY5YzE5OGEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IEVsYWQgUmF6 IDxlbGFkckBtZWxsYW5veC5jb20+CkRhdGU6IFRodSwgMTIgSmFuIDIwMTcgMDk6MTA6MzkgKzAx MDAKU3ViamVjdDogW1BBVENIIDA1LzMyXSBtbHhzdzogcGNpOiBGaXggRVFFIHN0cnVjdHVyZSBk ZWZpbml0aW9uCgpbIFVwc3RyZWFtIGNvbW1pdCAyOGU0NmEwZjJlMDNhYjRlZDBlMjNjYWNlMWVh ODlhNjhjOGMxMTViIF0KClRoZSBldmVudF9kYXRhIHN0YXJ0cyBmcm9tIGFkZHJlc3MgMHgwMC0w eDBDIGFuZCBub3QgZnJvbSAweDA4LTB4MDE0LiBUaGlzCmxlYWRzIHRvIGR1cGxpY2F0aW9uIHdp dGggb3RoZXIgZmllbGRzIGluIHRoZSBFdmVudCBRdWV1ZSBFbGVtZW50IHN1Y2ggYXMKc3ViLXR5 cGUsIGNxbiBhbmQgb3duZXIuCgpGaXhlczogZWRhNjUwMGE5ODdhMCAoIm1seHN3OiBBZGQgUENJ IGJ1cyBpbXBsZW1lbnRhdGlvbiIpClNpZ25lZC1vZmYtYnk6IEVsYWQgUmF6IDxlbGFkckBtZWxs YW5veC5jb20+ClNpZ25lZC1vZmYtYnk6IEppcmkgUGlya28gPGppcmlAbWVsbGFub3guY29tPgpT aWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQog ZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4c3cvcGNpLmggfCA4ICsrKystLS0tCiAx IGZpbGUgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdp dCBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21seHN3L3BjaS5oIGIvZHJpdmVycy9u ZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4c3cvcGNpLmgKaW5kZXggZDk0MmEzZS4uODQ2ZmQ0ZCAx MDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4c3cvcGNpLmgKKysr IGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4c3cvcGNpLmgKQEAgLTIxMSwyMSAr MjExLDIxIEBAIE1MWFNXX0lURU0zMihwY2ksIGVxZSwgb3duZXIsIDB4MEMsIDAsIDEpOwogLyog cGNpX2VxZV9jbWRfdG9rZW4KICAqIENvbW1hbmQgY29tcGxldGlvbiBldmVudCAtIHRva2VuCiAg Ki8KLU1MWFNXX0lURU0zMihwY2ksIGVxZSwgY21kX3Rva2VuLCAweDA4LCAxNiwgMTYpOworTUxY U1dfSVRFTTMyKHBjaSwgZXFlLCBjbWRfdG9rZW4sIDB4MDAsIDE2LCAxNik7CiAKIC8qIHBjaV9l cWVfY21kX3N0YXR1cwogICogQ29tbWFuZCBjb21wbGV0aW9uIGV2ZW50IC0gc3RhdHVzCiAgKi8K LU1MWFNXX0lURU0zMihwY2ksIGVxZSwgY21kX3N0YXR1cywgMHgwOCwgMCwgOCk7CitNTFhTV19J VEVNMzIocGNpLCBlcWUsIGNtZF9zdGF0dXMsIDB4MDAsIDAsIDgpOwogCiAvKiBwY2lfZXFlX2Nt ZF9vdXRfcGFyYW1faAogICogQ29tbWFuZCBjb21wbGV0aW9uIGV2ZW50IC0gb3V0cHV0IHBhcmFt ZXRlciAtIGhpZ2hlciBwYXJ0CiAgKi8KLU1MWFNXX0lURU0zMihwY2ksIGVxZSwgY21kX291dF9w YXJhbV9oLCAweDBDLCAwLCAzMik7CitNTFhTV19JVEVNMzIocGNpLCBlcWUsIGNtZF9vdXRfcGFy YW1faCwgMHgwNCwgMCwgMzIpOwogCiAvKiBwY2lfZXFlX2NtZF9vdXRfcGFyYW1fbAogICogQ29t bWFuZCBjb21wbGV0aW9uIGV2ZW50IC0gb3V0cHV0IHBhcmFtZXRlciAtIGxvd2VyIHBhcnQKICAq LwotTUxYU1dfSVRFTTMyKHBjaSwgZXFlLCBjbWRfb3V0X3BhcmFtX2wsIDB4MTAsIDAsIDMyKTsK K01MWFNXX0lURU0zMihwY2ksIGVxZSwgY21kX291dF9wYXJhbV9sLCAweDA4LCAwLCAzMik7CiAK ICNlbmRpZgotLSAKMi40LjExCgoKRnJvbSA0M2UwY2UyNmY3Yjc0M2M4ZmE1NmE1ZTU2N2YxNDgy NzI0NGZkOWJkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBEYXZpZCBBaGVybiA8ZHNh QGN1bXVsdXNuZXR3b3Jrcy5jb20+CkRhdGU6IFdlZCwgMTEgSmFuIDIwMTcgMTQ6Mjk6NTQgLTA4 MDAKU3ViamVjdDogW1BBVENIIDA2LzMyXSBuZXQ6IGx3dHVubmVsOiBIYW5kbGUgbHd0dW5uZWxf ZmlsbF9lbmNhcCBmYWlsdXJlCgpbIFVwc3RyZWFtIGNvbW1pdCBlYTdhODA4NThmNTdkODg3OGIx NDk5ZWEwZjFiOGE2MzVjYzQ4ZGU3IF0KCkhhbmRsZSBmYWlsdXJlIGluIGx3dHVubmVsX2ZpbGxf ZW5jYXAgYWRkaW5nIGF0dHJpYnV0ZXMgdG8gc2tiLgoKRml4ZXM6IDU3MWU3MjI2NzZmZSAoImlw djQ6IHN1cHBvcnQgZm9yIGZpYiByb3V0ZSBsd3R1bm5lbCBlbmNhcCBhdHRyaWJ1dGVzIikKRml4 ZXM6IDE5ZTQyZTQ1MTUwNiAoImlwdjY6IHN1cHBvcnQgZm9yIGZpYiByb3V0ZSBsd3R1bm5lbCBl bmNhcCBhdHRyaWJ1dGVzIikKU2lnbmVkLW9mZi1ieTogRGF2aWQgQWhlcm4gPGRzYUBjdW11bHVz bmV0d29ya3MuY29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVt bG9mdC5uZXQ+Ci0tLQogbmV0L2lwdjQvZmliX3NlbWFudGljcy5jIHwgMTEgKysrKysrKy0tLS0K IG5ldC9pcHY2L3JvdXRlLmMgICAgICAgICB8ICAzICsrLQogMiBmaWxlcyBjaGFuZ2VkLCA5IGlu c2VydGlvbnMoKyksIDUgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvbmV0L2lwdjQvZmliX3Nl bWFudGljcy5jIGIvbmV0L2lwdjQvZmliX3NlbWFudGljcy5jCmluZGV4IGE4NTA4YjcuLjZhNDA2 ODAgMTAwNjQ0Ci0tLSBhL25ldC9pcHY0L2ZpYl9zZW1hbnRpY3MuYworKysgYi9uZXQvaXB2NC9m aWJfc2VtYW50aWNzLmMKQEAgLTEyNzgsOCArMTI3OCw5IEBAIGludCBmaWJfZHVtcF9pbmZvKHN0 cnVjdCBza19idWZmICpza2IsIHUzMiBwb3J0aWQsIHUzMiBzZXEsIGludCBldmVudCwKIAkJICAg IG5sYV9wdXRfdTMyKHNrYiwgUlRBX0ZMT1csIGZpLT5maWJfbmhbMF0ubmhfdGNsYXNzaWQpKQog CQkJZ290byBubGFfcHV0X2ZhaWx1cmU7CiAjZW5kaWYKLQkJaWYgKGZpLT5maWJfbmgtPm5oX2x3 dHN0YXRlKQotCQkJbHd0dW5uZWxfZmlsbF9lbmNhcChza2IsIGZpLT5maWJfbmgtPm5oX2x3dHN0 YXRlKTsKKwkJaWYgKGZpLT5maWJfbmgtPm5oX2x3dHN0YXRlICYmCisJCSAgICBsd3R1bm5lbF9m aWxsX2VuY2FwKHNrYiwgZmktPmZpYl9uaC0+bmhfbHd0c3RhdGUpIDwgMCkKKwkJCWdvdG8gbmxh X3B1dF9mYWlsdXJlOwogCX0KICNpZmRlZiBDT05GSUdfSVBfUk9VVEVfTVVMVElQQVRICiAJaWYg KGZpLT5maWJfbmhzID4gMSkgewpAQCAtMTMxNSw4ICsxMzE2LDEwIEBAIGludCBmaWJfZHVtcF9p bmZvKHN0cnVjdCBza19idWZmICpza2IsIHUzMiBwb3J0aWQsIHUzMiBzZXEsIGludCBldmVudCwK IAkJCSAgICBubGFfcHV0X3UzMihza2IsIFJUQV9GTE9XLCBuaC0+bmhfdGNsYXNzaWQpKQogCQkJ CWdvdG8gbmxhX3B1dF9mYWlsdXJlOwogI2VuZGlmCi0JCQlpZiAobmgtPm5oX2x3dHN0YXRlKQot CQkJCWx3dHVubmVsX2ZpbGxfZW5jYXAoc2tiLCBuaC0+bmhfbHd0c3RhdGUpOworCQkJaWYgKG5o LT5uaF9sd3RzdGF0ZSAmJgorCQkJICAgIGx3dHVubmVsX2ZpbGxfZW5jYXAoc2tiLCBuaC0+bmhf bHd0c3RhdGUpIDwgMCkKKwkJCQlnb3RvIG5sYV9wdXRfZmFpbHVyZTsKKwogCQkJLyogbGVuZ3Ro IG9mIHJ0bmV0bGluayBoZWFkZXIgKyBhdHRyaWJ1dGVzICovCiAJCQlydG5oLT5ydG5oX2xlbiA9 IG5sbXNnX2dldF9wb3Moc2tiKSAtICh2b2lkICopIHJ0bmg7CiAJCX0gZW5kZm9yX25leHRob3Bz KGZpKTsKZGlmZiAtLWdpdCBhL25ldC9pcHY2L3JvdXRlLmMgYi9uZXQvaXB2Ni9yb3V0ZS5jCmlu ZGV4IDFiNTdlMTEuLmFjZDgwMjM3IDEwMDY0NAotLS0gYS9uZXQvaXB2Ni9yb3V0ZS5jCisrKyBi L25ldC9pcHY2L3JvdXRlLmMKQEAgLTMzMDYsNyArMzMwNiw4IEBAIHN0YXRpYyBpbnQgcnQ2X2Zp bGxfbm9kZShzdHJ1Y3QgbmV0ICpuZXQsCiAJaWYgKG5sYV9wdXRfdTgoc2tiLCBSVEFfUFJFRiwg SVBWNl9FWFRSQUNUX1BSRUYocnQtPnJ0NmlfZmxhZ3MpKSkKIAkJZ290byBubGFfcHV0X2ZhaWx1 cmU7CiAKLQlsd3R1bm5lbF9maWxsX2VuY2FwKHNrYiwgcnQtPmRzdC5sd3RzdGF0ZSk7CisJaWYg KGx3dHVubmVsX2ZpbGxfZW5jYXAoc2tiLCBydC0+ZHN0Lmx3dHN0YXRlKSA8IDApCisJCWdvdG8g bmxhX3B1dF9mYWlsdXJlOwogCiAJbmxtc2dfZW5kKHNrYiwgbmxoKTsKIAlyZXR1cm4gMDsKLS0g CjIuNC4xMQoKCkZyb20gYzk5NDAxYTMxNGFmYzE2NTY4MDczYmFjM2EzMjg2Zjc3M2JmZTVhMiBN b24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogRGF2aWQgQWhlcm4gPGRzYUBjdW11bHVzbmV0 d29ya3MuY29tPgpEYXRlOiBXZWQsIDExIEphbiAyMDE3IDE1OjQyOjE3IC0wODAwClN1YmplY3Q6 IFtQQVRDSCAwNy8zMl0gbmV0OiBpcHY0OiBmaXggdGFibGUgaWQgaW4gZ2V0cm91dGUgcmVzcG9u c2UKClsgVXBzdHJlYW0gY29tbWl0IDhhNDMwZWQ1MGJiMWIxOWNhMTRhNDY2NjFmM2IxYjM1ZjJm YjVjMzkgXQoKcnRtX3RhYmxlIGlzIGFuIDgtYml0IGZpZWxkIHdoaWxlIHRhYmxlIGlkcyBhcmUg YWxsb3dlZCB1cCB0byB1MzIuIENvbW1pdAo3MDk3NzJlNmUwNjUgKCJuZXQ6IEZpeCByb3V0aW5n IHRhYmxlcyB3aXRoIGlkID4gMjU1IGZvciBsZWdhY3kgc29mdHdhcmUiKQphZGRlZCB0aGUgcHJl ZmVyZW5jZSB0byBzZXQgcnRtX3RhYmxlIGluIGR1bXBzIHRvIFJUX1RBQkxFX0NPTVBBVCBpZiB0 aGUKdGFibGUgaWQgaXMgPiAyNTUuIFRoZSB0YWJsZSBpZCByZXR1cm5lZCBvbiBnZXQgcm91dGUg cmVxdWVzdHMgc2hvdWxkIGRvCnRoZSBzYW1lLgoKRml4ZXM6IGMzNmJhNjYwM2ExMSAoIm5ldDog QWxsb3cgdXNlciB0byBnZXQgdGFibGUgaWQgZnJvbSByb3V0ZSBsb29rdXAiKQpTaWduZWQtb2Zm LWJ5OiBEYXZpZCBBaGVybiA8ZHNhQGN1bXVsdXNuZXR3b3Jrcy5jb20+ClNpZ25lZC1vZmYtYnk6 IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBuZXQvaXB2NC9yb3V0 ZS5jIHwgMiArLQogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0p CgpkaWZmIC0tZ2l0IGEvbmV0L2lwdjQvcm91dGUuYyBiL25ldC9pcHY0L3JvdXRlLmMKaW5kZXgg ODE5N2IwNi4uZDg1MWNhZSAxMDA2NDQKLS0tIGEvbmV0L2lwdjQvcm91dGUuYworKysgYi9uZXQv aXB2NC9yb3V0ZS5jCkBAIC0yNDQwLDcgKzI0NDAsNyBAQCBzdGF0aWMgaW50IHJ0X2ZpbGxfaW5m byhzdHJ1Y3QgbmV0ICpuZXQsICBfX2JlMzIgZHN0LCBfX2JlMzIgc3JjLCB1MzIgdGFibGVfaWQs CiAJci0+cnRtX2RzdF9sZW4JPSAzMjsKIAlyLT5ydG1fc3JjX2xlbgk9IDA7CiAJci0+cnRtX3Rv cwk9IGZsNC0+Zmxvd2k0X3RvczsKLQlyLT5ydG1fdGFibGUJPSB0YWJsZV9pZDsKKwlyLT5ydG1f dGFibGUJPSB0YWJsZV9pZCA8IDI1NiA/IHRhYmxlX2lkIDogUlRfVEFCTEVfQ09NUEFUOwogCWlm IChubGFfcHV0X3UzMihza2IsIFJUQV9UQUJMRSwgdGFibGVfaWQpKQogCQlnb3RvIG5sYV9wdXRf ZmFpbHVyZTsKIAlyLT5ydG1fdHlwZQk9IHJ0LT5ydF90eXBlOwotLSAKMi40LjExCgoKRnJvbSBl Njc5YTI2YzQ0Y2UyZGNlNWM5NzUwYTY4MDQyODBlZjVmNzFlMzdiIE1vbiBTZXAgMTcgMDA6MDA6 MDAgMjAwMQpGcm9tOiBGbG9yaWFuIEZhaW5lbGxpIDxmLmZhaW5lbGxpQGdtYWlsLmNvbT4KRGF0 ZTogVGh1LCAxMiBKYW4gMjAxNyAxMjowOTowOSAtMDgwMApTdWJqZWN0OiBbUEFUQ0ggMDgvMzJd IG5ldDogc3lzdGVtcG9ydDogRGVjb3VwbGUgZmxvdyBjb250cm9sIGZyb20KIF9fYmNtX3N5c3Bv cnRfdHhfcmVjbGFpbQoKWyBVcHN0cmVhbSBjb21taXQgMTQ4ZDNkMDIxY2Y5NzI0ZmNmMTg5Y2U0 ZTUyNWEwOTRiYmY1Y2U4OSBdCgpUaGUgX19iY21fc3lzcG9ydF90eF9yZWNsYWltKCkgZnVuY3Rp b24gaXMgdXNlZCB0byByZWNsYWltIHRyYW5zbWl0CnJlc291cmNlcyBpbiBkaWZmZXJlbnQgcGxh Y2VzIHdpdGhpbiB0aGUgZHJpdmVyLiBNb3N0IG9mIHRoZW0gc2hvdWxkCm5vdCBhZmZlY3QgdGhl IHN0YXRlIG9mIHRoZSB0cmFuc2l0IGZsb3cgY29udHJvbC4KCkludHJvZHVjZSBiY21fc3lzcG9y dF90eF9jbGVhbigpIHdoaWNoIGNsZWFucyB0aGUgcmluZywgYnV0IGRvZXMgbm90CnJlLWVuYWJs ZSBmbG93IGNvbnRyb2wgdG93YXJkcyB0aGUgbmV0d29ya2luZyBzdGFjaywgYW5kIG1ha2UKYmNt X3N5c3BvcnRfdHhfcmVjbGFpbSgpIGRvIHRoZSBhY3R1YWwgdHJhbnNtaXQgcXVldWUgZmxvdyBj b250cm9sLgoKRml4ZXM6IDgwMTA1YmVmZGI0YiAoIm5ldDogc3lzdGVtcG9ydDogYWRkIEJyb2Fk Y29tIFNZU1RFTVBPUlQgRXRoZXJuZXQgTUFDIGRyaXZlciIpClNpZ25lZC1vZmYtYnk6IEZsb3Jp YW4gRmFpbmVsbGkgPGYuZmFpbmVsbGlAZ21haWwuY29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBT LiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogZHJpdmVycy9uZXQvZXRoZXJuZXQv YnJvYWRjb20vYmNtc3lzcG9ydC5jIHwgMjUgKysrKysrKysrKysrKysrKysrLS0tLS0tLQogMSBm aWxlIGNoYW5nZWQsIDE4IGluc2VydGlvbnMoKyksIDcgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0 IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvYnJvYWRjb20vYmNtc3lzcG9ydC5jIGIvZHJpdmVycy9u ZXQvZXRoZXJuZXQvYnJvYWRjb20vYmNtc3lzcG9ydC5jCmluZGV4IDI1ZDFlYjQuLmJlN2VjNWEg MTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L2Jyb2FkY29tL2JjbXN5c3BvcnQuYwor KysgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9icm9hZGNvbS9iY21zeXNwb3J0LmMKQEAgLTcxMCwx MSArNzEwLDggQEAgc3RhdGljIHVuc2lnbmVkIGludCBfX2JjbV9zeXNwb3J0X3R4X3JlY2xhaW0o c3RydWN0IGJjbV9zeXNwb3J0X3ByaXYgKnByaXYsCiAJdW5zaWduZWQgaW50IGNfaW5kZXgsIGxh c3RfY19pbmRleCwgbGFzdF90eF9jbiwgbnVtX3R4X2NiczsKIAl1bnNpZ25lZCBpbnQgcGt0c19j b21wbCA9IDAsIGJ5dGVzX2NvbXBsID0gMDsKIAlzdHJ1Y3QgYmNtX3N5c3BvcnRfY2IgKmNiOwot CXN0cnVjdCBuZXRkZXZfcXVldWUgKnR4cTsKIAl1MzIgaHdfaW5kOwogCi0JdHhxID0gbmV0ZGV2 X2dldF90eF9xdWV1ZShuZGV2LCByaW5nLT5pbmRleCk7Ci0KIAkvKiBDb21wdXRlIGhvdyBtYW55 IGRlc2NyaXB0b3JzIGhhdmUgYmVlbiBwcm9jZXNzZWQgc2luY2UgbGFzdCBjYWxsICovCiAJaHdf aW5kID0gdGRtYV9yZWFkbChwcml2LCBURE1BX0RFU0NfUklOR19QUk9EX0NPTlNfSU5ERVgocmlu Zy0+aW5kZXgpKTsKIAljX2luZGV4ID0gKGh3X2luZCA+PiBSSU5HX0NPTlNfSU5ERVhfU0hJRlQp ICYgUklOR19DT05TX0lOREVYX01BU0s7CkBAIC03NDUsOSArNzQyLDYgQEAgc3RhdGljIHVuc2ln bmVkIGludCBfX2JjbV9zeXNwb3J0X3R4X3JlY2xhaW0oc3RydWN0IGJjbV9zeXNwb3J0X3ByaXYg KnByaXYsCiAKIAlyaW5nLT5jX2luZGV4ID0gY19pbmRleDsKIAotCWlmIChuZXRpZl90eF9xdWV1 ZV9zdG9wcGVkKHR4cSkgJiYgcGt0c19jb21wbCkKLQkJbmV0aWZfdHhfd2FrZV9xdWV1ZSh0eHEp OwotCiAJbmV0aWZfZGJnKHByaXYsIHR4X2RvbmUsIG5kZXYsCiAJCSAgInJpbmc9JWQgY19pbmRl eD0lZCBwa3RzX2NvbXBsPSVkLCBieXRlc19jb21wbD0lZFxuIiwKIAkJICByaW5nLT5pbmRleCwg cmluZy0+Y19pbmRleCwgcGt0c19jb21wbCwgYnl0ZXNfY29tcGwpOwpAQCAtNzU5LDE2ICs3NTMs MzMgQEAgc3RhdGljIHVuc2lnbmVkIGludCBfX2JjbV9zeXNwb3J0X3R4X3JlY2xhaW0oc3RydWN0 IGJjbV9zeXNwb3J0X3ByaXYgKnByaXYsCiBzdGF0aWMgdW5zaWduZWQgaW50IGJjbV9zeXNwb3J0 X3R4X3JlY2xhaW0oc3RydWN0IGJjbV9zeXNwb3J0X3ByaXYgKnByaXYsCiAJCQkJCSAgIHN0cnVj dCBiY21fc3lzcG9ydF90eF9yaW5nICpyaW5nKQogeworCXN0cnVjdCBuZXRkZXZfcXVldWUgKnR4 cTsKIAl1bnNpZ25lZCBpbnQgcmVsZWFzZWQ7CiAJdW5zaWduZWQgbG9uZyBmbGFnczsKIAorCXR4 cSA9IG5ldGRldl9nZXRfdHhfcXVldWUocHJpdi0+bmV0ZGV2LCByaW5nLT5pbmRleCk7CisKIAlz cGluX2xvY2tfaXJxc2F2ZSgmcmluZy0+bG9jaywgZmxhZ3MpOwogCXJlbGVhc2VkID0gX19iY21f c3lzcG9ydF90eF9yZWNsYWltKHByaXYsIHJpbmcpOworCWlmIChyZWxlYXNlZCkKKwkJbmV0aWZf dHhfd2FrZV9xdWV1ZSh0eHEpOworCiAJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmcmluZy0+bG9j aywgZmxhZ3MpOwogCiAJcmV0dXJuIHJlbGVhc2VkOwogfQogCisvKiBMb2NrZWQgdmVyc2lvbiBv ZiB0aGUgcGVyLXJpbmcgVFggcmVjbGFpbSwgYnV0IGRvZXMgbm90IHdha2UgdGhlIHF1ZXVlICov CitzdGF0aWMgdm9pZCBiY21fc3lzcG9ydF90eF9jbGVhbihzdHJ1Y3QgYmNtX3N5c3BvcnRfcHJp diAqcHJpdiwKKwkJCQkgc3RydWN0IGJjbV9zeXNwb3J0X3R4X3JpbmcgKnJpbmcpCit7CisJdW5z aWduZWQgbG9uZyBmbGFnczsKKworCXNwaW5fbG9ja19pcnFzYXZlKCZyaW5nLT5sb2NrLCBmbGFn cyk7CisJX19iY21fc3lzcG9ydF90eF9yZWNsYWltKHByaXYsIHJpbmcpOworCXNwaW5fdW5sb2Nr X2lycXJlc3RvcmUoJnJpbmctPmxvY2ssIGZsYWdzKTsKK30KKwogc3RhdGljIGludCBiY21fc3lz cG9ydF90eF9wb2xsKHN0cnVjdCBuYXBpX3N0cnVjdCAqbmFwaSwgaW50IGJ1ZGdldCkKIHsKIAlz dHJ1Y3QgYmNtX3N5c3BvcnRfdHhfcmluZyAqcmluZyA9CkBAIC0xMjUzLDcgKzEyNjQsNyBAQCBz dGF0aWMgdm9pZCBiY21fc3lzcG9ydF9maW5pX3R4X3Jpbmcoc3RydWN0IGJjbV9zeXNwb3J0X3By aXYgKnByaXYsCiAJbmFwaV9kaXNhYmxlKCZyaW5nLT5uYXBpKTsKIAluZXRpZl9uYXBpX2RlbCgm cmluZy0+bmFwaSk7CiAKLQliY21fc3lzcG9ydF90eF9yZWNsYWltKHByaXYsIHJpbmcpOworCWJj bV9zeXNwb3J0X3R4X2NsZWFuKHByaXYsIHJpbmcpOwogCiAJa2ZyZWUocmluZy0+Y2JzKTsKIAly aW5nLT5jYnMgPSBOVUxMOwotLSAKMi40LjExCgoKRnJvbSBjMmYxOWM2ZmJhMWQ3NzIzMzgwYWQ3 ZWQ1MTBlMmRjZGQwMGJiZDdhIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBTaGFubm9u IE5lbHNvbiA8c2hhbm5vbi5uZWxzb25Ab3JhY2xlLmNvbT4KRGF0ZTogVGh1LCAxMiBKYW4gMjAx NyAxNDoyNDo1OCAtMDgwMApTdWJqZWN0OiBbUEFUQ0ggMDkvMzJdIHRjcDogZml4IHRjcF9mYXN0 b3BlbiB1bmFsaWduZWQgYWNjZXNzIGNvbXBsYWludHMgb24KIHNwYXJjCgpbIFVwc3RyZWFtIGNv bW1pdCAwMDNjOTQxMDU3ZWFhODY4Y2E2ZmVkZDI5YTI3NGM4NjMxNjcyMzBkIF0KCkZpeCB1cCBh IGRhdGEgYWxpZ25tZW50IGlzc3VlIG9uIHNwYXJjIGJ5IHN3YXBwaW5nIHRoZSBvcmRlcgpvZiB0 aGUgY29va2llIGJ5dGUgYXJyYXkgZmllbGQgd2l0aCB0aGUgbGVuZ3RoIGZpZWxkIGluCnN0cnVj dCB0Y3BfZmFzdG9wZW5fY29va2llLCBhbmQgbWFraW5nIGl0IGEgcHJvcGVyIHVuaW9uCnRvIGNs ZWFuIHVwIHRoZSB0eXBlY2FzdGluZy4KClRoaXMgYWRkcmVzc2VzIGxvZyBjb21wbGFpbnRzIGxp a2UgdGhlc2U6CiAgICBsb2dfdW5hbGlnbmVkOiAxMTMgY2FsbGJhY2tzIHN1cHByZXNzZWQKICAg IEtlcm5lbCB1bmFsaWduZWQgYWNjZXNzIGF0IFRQQ1s5NzY0OTBdIHRjcF90cnlfZmFzdG9wZW4r MHgyZDAvMHgzNjAKICAgIEtlcm5lbCB1bmFsaWduZWQgYWNjZXNzIGF0IFRQQ1s5NzY0YWNdIHRj cF90cnlfZmFzdG9wZW4rMHgyZWMvMHgzNjAKICAgIEtlcm5lbCB1bmFsaWduZWQgYWNjZXNzIGF0 IFRQQ1s5NzY0YzhdIHRjcF90cnlfZmFzdG9wZW4rMHgzMDgvMHgzNjAKICAgIEtlcm5lbCB1bmFs aWduZWQgYWNjZXNzIGF0IFRQQ1s5NzY0ZTRdIHRjcF90cnlfZmFzdG9wZW4rMHgzMjQvMHgzNjAK ICAgIEtlcm5lbCB1bmFsaWduZWQgYWNjZXNzIGF0IFRQQ1s5NzY0OTBdIHRjcF90cnlfZmFzdG9w ZW4rMHgyZDAvMHgzNjAKCkNjOiBFcmljIER1bWF6ZXQgPGVyaWMuZHVtYXpldEBnbWFpbC5jb20+ ClNpZ25lZC1vZmYtYnk6IFNoYW5ub24gTmVsc29uIDxzaGFubm9uLm5lbHNvbkBvcmFjbGUuY29t PgpBY2tlZC1ieTogRXJpYyBEdW1hemV0IDxlZHVtYXpldEBnb29nbGUuY29tPgpTaWduZWQtb2Zm LWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogaW5jbHVkZS9s aW51eC90Y3AuaCAgICAgfCA3ICsrKysrKy0KIG5ldC9pcHY0L3RjcF9mYXN0b3Blbi5jIHwgMiAr LQogMiBmaWxlcyBjaGFuZ2VkLCA3IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCgpkaWZm IC0tZ2l0IGEvaW5jbHVkZS9saW51eC90Y3AuaCBiL2luY2x1ZGUvbGludXgvdGNwLmgKaW5kZXgg YTE3YWU3Yi4uNjQ3NTMyYiAxMDA2NDQKLS0tIGEvaW5jbHVkZS9saW51eC90Y3AuaAorKysgYi9p bmNsdWRlL2xpbnV4L3RjcC5oCkBAIC02Miw4ICs2MiwxMyBAQCBzdGF0aWMgaW5saW5lIHVuc2ln bmVkIGludCB0Y3Bfb3B0bGVuKGNvbnN0IHN0cnVjdCBza19idWZmICpza2IpCiAKIC8qIFRDUCBG YXN0IE9wZW4gQ29va2llIGFzIHN0b3JlZCBpbiBtZW1vcnkgKi8KIHN0cnVjdCB0Y3BfZmFzdG9w ZW5fY29va2llIHsKKwl1bmlvbiB7CisJCXU4CXZhbFtUQ1BfRkFTVE9QRU5fQ09PS0lFX01BWF07 CisjaWYgSVNfRU5BQkxFRChDT05GSUdfSVBWNikKKwkJc3RydWN0IGluNl9hZGRyIGFkZHI7Cisj ZW5kaWYKKwl9OwogCXM4CWxlbjsKLQl1OAl2YWxbVENQX0ZBU1RPUEVOX0NPT0tJRV9NQVhdOwog CWJvb2wJZXhwOwkvKiBJbiBSRkM2OTk0IGV4cGVyaW1lbnRhbCBvcHRpb24gZm9ybWF0ICovCiB9 OwogCmRpZmYgLS1naXQgYS9uZXQvaXB2NC90Y3BfZmFzdG9wZW4uYyBiL25ldC9pcHY0L3RjcF9m YXN0b3Blbi5jCmluZGV4IDRlNzc3YTMuLmY1MTkxOTUgMTAwNjQ0Ci0tLSBhL25ldC9pcHY0L3Rj cF9mYXN0b3Blbi5jCisrKyBiL25ldC9pcHY0L3RjcF9mYXN0b3Blbi5jCkBAIC0xMTMsNyArMTEz LDcgQEAgc3RhdGljIGJvb2wgdGNwX2Zhc3RvcGVuX2Nvb2tpZV9nZW4oc3RydWN0IHJlcXVlc3Rf c29jayAqcmVxLAogCQlzdHJ1Y3QgdGNwX2Zhc3RvcGVuX2Nvb2tpZSB0bXA7CiAKIAkJaWYgKF9f dGNwX2Zhc3RvcGVuX2Nvb2tpZV9nZW4oJmlwNmgtPnNhZGRyLCAmdG1wKSkgewotCQkJc3RydWN0 IGluNl9hZGRyICpidWYgPSAoc3RydWN0IGluNl9hZGRyICopIHRtcC52YWw7CisJCQlzdHJ1Y3Qg aW42X2FkZHIgKmJ1ZiA9ICZ0bXAuYWRkcjsKIAkJCWludCBpOwogCiAJCQlmb3IgKGkgPSAwOyBp IDwgNDsgaSsrKQotLSAKMi40LjExCgoKRnJvbSA4N2I5ZTAxYmNlZjlkOTM4ZTcyNjMyYzZlNDEz NjdiMjQ2NzIzMWRiIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBMYW5jZSBSaWNoYXJk c29uIDxscmljaGFyZEByZWRoYXQuY29tPgpEYXRlOiBUaHUsIDEyIEphbiAyMDE3IDE5OjMzOjE4 IC0wNTAwClN1YmplY3Q6IFtQQVRDSCAxMC8zMl0gb3BlbnZzd2l0Y2g6IG1haW50YWluIGNvcnJl Y3QgY2hlY2tzdW0gc3RhdGUgaW4KIGNvbm50cmFjayBhY3Rpb25zCgpbIFVwc3RyZWFtIGNvbW1p dCA3NWYwMWE0YzljYzI5MWZmNWNiMjhjYTEyMTZhZGIxNjNiN2EyMGVlIF0KCldoZW4gZXhlY3V0 aW5nIGNvbm50cmFjayBhY3Rpb25zIG9uIHNrYnVmZnMgd2l0aCBjaGVja3N1bSBtb2RlCkNIRUNL U1VNX0NPTVBMRVRFLCB0aGUgY2hlY2tzdW0gbXVzdCBiZSB1cGRhdGVkIHRvIGFjY291bnQgZm9y CmhlYWRlciBwdXNoZXMgYW5kIHB1bGxzLiBPdGhlcndpc2Ugd2UgZ2V0ICJodyBjc3VtIGZhaWx1 cmUiCmxvZ3Mgc2ltaWxhciB0byB0aGlzIChJQ01QIHBhY2tldCByZWNlaXZlZCBvbiBnZW5ldmUg dHVubmVsCnZpYSBpeGdiZSBOSUMpOgoKWyAgNDA1Ljc0MDA2NV0gZ2VuZXZfc3lzXzYwODE6IGh3 IGNzdW0gZmFpbHVyZQpbICA0MDUuNzQwMTA2XSBDUFU6IDMgUElEOiAwIENvbW06IHN3YXBwZXIv MyBUYWludGVkOiBHICAgICAgICAgIEkgICAgIDQuMTAuMC1yYzMrICMxClsgIDQwNS43NDAxMDhd IENhbGwgVHJhY2U6ClsgIDQwNS43NDAxMTBdICA8SVJRPgpbICA0MDUuNzQwMTEzXSAgZHVtcF9z dGFjaysweDYzLzB4ODcKWyAgNDA1Ljc0MDExNl0gIG5ldGRldl9yeF9jc3VtX2ZhdWx0KzB4M2Ev MHg0MApbICA0MDUuNzQwMTE4XSAgX19za2JfY2hlY2tzdW1fY29tcGxldGUrMHhjZi8weGUwClsg IDQwNS43NDAxMjBdICBuZl9pcF9jaGVja3N1bSsweGM4LzB4ZjAKWyAgNDA1Ljc0MDEyNF0gIGlj bXBfZXJyb3IrMHgxZGUvMHgzNTEgW25mX2Nvbm50cmFja19pcHY0XQpbICA0MDUuNzQwMTMyXSAg bmZfY29ubnRyYWNrX2luKzB4ZTEvMHg1NTAgW25mX2Nvbm50cmFja10KWyAgNDA1Ljc0MDEzN10g ID8gZmluZF9idWNrZXQuaXNyYS4yKzB4NjIvMHg3MCBbb3BlbnZzd2l0Y2hdClsgIDQwNS43NDAx NDNdICBfX292c19jdF9sb29rdXArMHg5NS8weDk4MCBbb3BlbnZzd2l0Y2hdClsgIDQwNS43NDAx NDVdICA/IG5ldGlmX3J4X2ludGVybmFsKzB4NDQvMHgxMTAKWyAgNDA1Ljc0MDE0OV0gIG92c19j dF9leGVjdXRlKzB4MTQ3LzB4NGIwIFtvcGVudnN3aXRjaF0KWyAgNDA1Ljc0MDE1M10gIGRvX2V4 ZWN1dGVfYWN0aW9ucysweDIyZS8weGE3MCBbb3BlbnZzd2l0Y2hdClsgIDQwNS43NDAxNTddICBv dnNfZXhlY3V0ZV9hY3Rpb25zKzB4NDAvMHgxMjAgW29wZW52c3dpdGNoXQpbICA0MDUuNzQwMTYx XSAgb3ZzX2RwX3Byb2Nlc3NfcGFja2V0KzB4ODQvMHgxMjAgW29wZW52c3dpdGNoXQpbICA0MDUu NzQwMTY2XSAgb3ZzX3Zwb3J0X3JlY2VpdmUrMHg3My8weGQwIFtvcGVudnN3aXRjaF0KWyAgNDA1 Ljc0MDE2OF0gID8gdWRwX3JjdisweDFhLzB4MjAKWyAgNDA1Ljc0MDE3MF0gID8gaXBfbG9jYWxf ZGVsaXZlcl9maW5pc2grMHg5My8weDFlMApbICA0MDUuNzQwMTcyXSAgPyBpcF9sb2NhbF9kZWxp dmVyKzB4NmYvMHhlMApbICA0MDUuNzQwMTc0XSAgPyBpcF9yY3ZfZmluaXNoKzB4M2EwLzB4M2Ew ClsgIDQwNS43NDAxNzZdICA/IGlwX3Jjdl9maW5pc2grMHhkYi8weDNhMApbICA0MDUuNzQwMTc3 XSAgPyBpcF9yY3YrMHgyYTcvMHg0MDAKWyAgNDA1Ljc0MDE4MF0gID8gX19uZXRpZl9yZWNlaXZl X3NrYl9jb3JlKzB4OTcwLzB4YTAwClsgIDQwNS43NDAxODVdICBuZXRkZXZfZnJhbWVfaG9vaysw eGQzLzB4MTYwIFtvcGVudnN3aXRjaF0KWyAgNDA1Ljc0MDE4N10gIF9fbmV0aWZfcmVjZWl2ZV9z a2JfY29yZSsweDFkYy8weGEwMApbICA0MDUuNzQwMTk0XSAgPyBpeGdiZV9jbGVhbl9yeF9pcnEr MHg0NmQvMHhhMjAgW2l4Z2JlXQpbICA0MDUuNzQwMTk3XSAgX19uZXRpZl9yZWNlaXZlX3NrYisw eDE4LzB4NjAKWyAgNDA1Ljc0MDE5OV0gIG5ldGlmX3JlY2VpdmVfc2tiX2ludGVybmFsKzB4NDAv MHhiMApbICA0MDUuNzQwMjAxXSAgbmFwaV9ncm9fcmVjZWl2ZSsweGNkLzB4MTIwClsgIDQwNS43 NDAyMDRdICBncm9fY2VsbF9wb2xsKzB4NTcvMHg4MCBbZ2VuZXZlXQpbICA0MDUuNzQwMjA2XSAg bmV0X3J4X2FjdGlvbisweDI2MC8weDNjMApbICA0MDUuNzQwMjA5XSAgX19kb19zb2Z0aXJxKzB4 YzkvMHgyOGMKWyAgNDA1Ljc0MDIxMV0gIGlycV9leGl0KzB4ZDkvMHhmMApbICA0MDUuNzQwMjEz XSAgZG9fSVJRKzB4NTEvMHhkMApbICA0MDUuNzQwMjE1XSAgY29tbW9uX2ludGVycnVwdCsweDkz LzB4OTMKCkZpeGVzOiA3ZjhhNDM2ZWFhMmMgKCJvcGVudnN3aXRjaDogQWRkIGNvbm50cmFjayBh Y3Rpb24iKQpTaWduZWQtb2ZmLWJ5OiBMYW5jZSBSaWNoYXJkc29uIDxscmljaGFyZEByZWRoYXQu Y29tPgpBY2tlZC1ieTogUHJhdmluIEIgU2hlbGFyIDxwc2hlbGFyQG92bi5vcmc+ClNpZ25lZC1v ZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBuZXQvb3Bl bnZzd2l0Y2gvY29ubnRyYWNrLmMgfCA2ICsrKystLQogMSBmaWxlIGNoYW5nZWQsIDQgaW5zZXJ0 aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9uZXQvb3BlbnZzd2l0Y2gvY29u bnRyYWNrLmMgYi9uZXQvb3BlbnZzd2l0Y2gvY29ubnRyYWNrLmMKaW5kZXggZmVjZWZhMi4uZWFi MjEwYiAxMDA2NDQKLS0tIGEvbmV0L29wZW52c3dpdGNoL2Nvbm50cmFjay5jCisrKyBiL25ldC9v cGVudnN3aXRjaC9jb25udHJhY2suYwpAQCAtNTE0LDcgKzUxNCw3IEBAIHN0YXRpYyBpbnQgb3Zz X2N0X25hdF9leGVjdXRlKHN0cnVjdCBza19idWZmICpza2IsIHN0cnVjdCBuZl9jb25uICpjdCwK IAlpbnQgaG9va251bSwgbmhfb2ZmLCBlcnIgPSBORl9BQ0NFUFQ7CiAKIAluaF9vZmYgPSBza2Jf bmV0d29ya19vZmZzZXQoc2tiKTsKLQlza2JfcHVsbChza2IsIG5oX29mZik7CisJc2tiX3B1bGxf cmNzdW0oc2tiLCBuaF9vZmYpOwogCiAJLyogU2VlIEhPT0syTUFOSVAoKS4gKi8KIAlpZiAobWFu aXB0eXBlID09IE5GX05BVF9NQU5JUF9TUkMpCkBAIC01NzksNiArNTc5LDcgQEAgc3RhdGljIGlu dCBvdnNfY3RfbmF0X2V4ZWN1dGUoc3RydWN0IHNrX2J1ZmYgKnNrYiwgc3RydWN0IG5mX2Nvbm4g KmN0LAogCWVyciA9IG5mX25hdF9wYWNrZXQoY3QsIGN0aW5mbywgaG9va251bSwgc2tiKTsKIHB1 c2g6CiAJc2tiX3B1c2goc2tiLCBuaF9vZmYpOworCXNrYl9wb3N0cHVzaF9yY3N1bShza2IsIHNr Yi0+ZGF0YSwgbmhfb2ZmKTsKIAogCXJldHVybiBlcnI7CiB9CkBAIC04OTAsNyArODkxLDcgQEAg aW50IG92c19jdF9leGVjdXRlKHN0cnVjdCBuZXQgKm5ldCwgc3RydWN0IHNrX2J1ZmYgKnNrYiwK IAogCS8qIFRoZSBjb25udHJhY2sgbW9kdWxlIGV4cGVjdHMgdG8gYmUgd29ya2luZyBhdCBMMy4g Ki8KIAluaF9vZnMgPSBza2JfbmV0d29ya19vZmZzZXQoc2tiKTsKLQlza2JfcHVsbChza2IsIG5o X29mcyk7CisJc2tiX3B1bGxfcmNzdW0oc2tiLCBuaF9vZnMpOwogCiAJaWYgKGtleS0+aXAuZnJh ZyAhPSBPVlNfRlJBR19UWVBFX05PTkUpIHsKIAkJZXJyID0gaGFuZGxlX2ZyYWdtZW50cyhuZXQs IGtleSwgaW5mby0+em9uZS5pZCwgc2tiKTsKQEAgLTkwNCw2ICs5MDUsNyBAQCBpbnQgb3ZzX2N0 X2V4ZWN1dGUoc3RydWN0IG5ldCAqbmV0LCBzdHJ1Y3Qgc2tfYnVmZiAqc2tiLAogCQllcnIgPSBv dnNfY3RfbG9va3VwKG5ldCwga2V5LCBpbmZvLCBza2IpOwogCiAJc2tiX3B1c2goc2tiLCBuaF9v ZnMpOworCXNrYl9wb3N0cHVzaF9yY3N1bShza2IsIHNrYi0+ZGF0YSwgbmhfb2ZzKTsKIAlpZiAo ZXJyKQogCQlrZnJlZV9za2Ioc2tiKTsKIAlyZXR1cm4gZXJyOwotLSAKMi40LjExCgoKRnJvbSBk ZWY2YmNmNjEwN2M3YmViYWE0MDQwNGI2MmM0ZDFmNGEyODcwYmRlIE1vbiBTZXAgMTcgMDA6MDA6 MDAgMjAwMQpGcm9tOiBFcmljIER1bWF6ZXQgPGVkdW1hemV0QGdvb2dsZS5jb20+CkRhdGU6IEZy aSwgMTMgSmFuIDIwMTcgMDg6Mzk6MjQgLTA4MDAKU3ViamVjdDogW1BBVENIIDExLzMyXSBtbHg0 OiBkbyBub3QgY2FsbCBuYXBpX3NjaGVkdWxlKCkgd2l0aG91dCBjYXJlCgpbIFVwc3RyZWFtIGNv bW1pdCA4Y2Y2OTllYzg0OWY0Y2ExNDEzY2VhMDEyODliZDdkMzdkYmNjNjI2IF0KCkRpc2FibGUg QkggYXJvdW5kIHRoZSBjYWxsIHRvIG5hcGlfc2NoZWR1bGUoKSB0byBhdm9pZCBmb2xsb3dpbmcg d2FybmluZwoKWyAgIDUyLjA5NTQ5OV0gTk9IWjogbG9jYWxfc29mdGlycV9wZW5kaW5nIDA4Clsg ICA1Mi40MjEyOTFdIE5PSFo6IGxvY2FsX3NvZnRpcnFfcGVuZGluZyAwOApbICAgNTIuNjA4MzEz XSBOT0haOiBsb2NhbF9zb2Z0aXJxX3BlbmRpbmcgMDgKCkZpeGVzOiA4ZDU5ZGU4ZjdiYjMgKCJu ZXQvbWx4NF9lbjogUHJvY2VzcyBhbGwgY29tcGxldGlvbnMgaW4gUlggcmluZ3MgYWZ0ZXIgcG9y dCBnb2VzIHVwIikKU2lnbmVkLW9mZi1ieTogRXJpYyBEdW1hemV0IDxlZHVtYXpldEBnb29nbGUu Y29tPgpDYzogRXJleiBTaGl0cml0IDxlcmV6c2hAbWVsbGFub3guY29tPgpDYzogRXVnZW5pYSBF bWFudGF5ZXYgPGV1Z2VuaWFAbWVsbGFub3guY29tPgpDYzogVGFyaXEgVG91a2FuIDx0YXJpcXRA bWVsbGFub3guY29tPgpBY2tlZC1ieTogVGFyaXEgVG91a2FuIDx0YXJpcXRAbWVsbGFub3guY29t PgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0t LQogZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4NC9lbl9uZXRkZXYuYyB8IDUgKysr Ky0KIDEgZmlsZSBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKCmRpZmYg LS1naXQgYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg0L2VuX25ldGRldi5jIGIv ZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4NC9lbl9uZXRkZXYuYwppbmRleCBmYjhi YjAyLi5kMjIzZTdjIDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9t bHg0L2VuX25ldGRldi5jCisrKyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21seDQv ZW5fbmV0ZGV2LmMKQEAgLTE3NDAsOCArMTc0MCwxMSBAQCBpbnQgbWx4NF9lbl9zdGFydF9wb3J0 KHN0cnVjdCBuZXRfZGV2aWNlICpkZXYpCiAJLyogUHJvY2VzcyBhbGwgY29tcGxldGlvbnMgaWYg ZXhpc3QgdG8gcHJldmVudAogCSAqIHRoZSBxdWV1ZXMgZnJlZXppbmcgaWYgdGhleSBhcmUgZnVs bAogCSAqLwotCWZvciAoaSA9IDA7IGkgPCBwcml2LT5yeF9yaW5nX251bTsgaSsrKQorCWZvciAo aSA9IDA7IGkgPCBwcml2LT5yeF9yaW5nX251bTsgaSsrKSB7CisJCWxvY2FsX2JoX2Rpc2FibGUo KTsKIAkJbmFwaV9zY2hlZHVsZSgmcHJpdi0+cnhfY3FbaV0tPm5hcGkpOworCQlsb2NhbF9iaF9l bmFibGUoKTsKKwl9CiAKIAluZXRpZl90eF9zdGFydF9hbGxfcXVldWVzKGRldik7CiAJbmV0aWZf ZGV2aWNlX2F0dGFjaChkZXYpOwotLSAKMi40LjExCgoKRnJvbSA4NmVkZTM2YzI5OTgzOTAzZTg1 ZjFjNjI3MWU4ODA2OTIyZDU4ZGExIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBNYXNh cnUgTmFnYWkgPG1hc2FydS5uYWdhaS52eEByZW5lc2FzLmNvbT4KRGF0ZTogTW9uLCAxNiBKYW4g MjAxNyAxMTo0NToyMSArMDEwMApTdWJqZWN0OiBbUEFUQ0ggMTIvMzJdIHJhdmI6IGRvIG5vdCB1 c2UgemVyby1sZW5ndGggYWxpZ25tZW50IERNQSBkZXNjcmlwdG9yCgpbIFVwc3RyZWFtIGNvbW1p dCA4ZWMzZThhMTkyYmE2ZjEzYmU0NTIyZWU4MTIyN2M3OTJjODZmYjFhIF0KCkR1ZSB0byBhbGln bm1lbnQgcmVxdWlyZW1lbnRzIG9mIHRoZSBoYXJkd2FyZSB0cmFuc21pc3Npb25zIGFyZSBzcGxp dCBpbnRvCnR3byBETUEgZGVzY3JpcHRvcnMsIGEgc21hbGwgcGFkZGluZyBkZXNjcmlwdG9yIG9m IDAgLSAzIGJ5dGVzIGluIGxlbmd0aApmb2xsb3dlZCBieSBhIGRlc2NyaXB0b3IgZm9yIHJlc3Qg b2YgdGhlIHBhY2tldC4KCkluIHRoZSBjYXNlIG9mIElQIHBhY2tldHMgdGhlIGZpcnN0IGRlc2Ny aXB0b3Igd2lsbCBuZXZlciBiZSB6ZXJvIGR1ZSB0bwp0aGUgd2F5IHRoYXQgdGhlIHN0YWNrIGFs aWducyBidWZmZXJzIGZvciBJUCBwYWNrZXRzLiBIb3dldmVyLCBmb3Igbm9uLUlQCnBhY2tldHMg aXQgbWF5IGJlIHplcm8uCgpJbiB0aGF0IGNhc2UgaXQgaGFzIGJlZW4gcmVwb3J0ZWQgdGhhdCB0 aW1lb3V0cyBvY2N1ciwgcHJlc3VtYWJseSBiZWNhdXNlCnRyYW5zbWlzc2lvbiBzdG9wcyBhdCB0 aGUgZmlyc3QgemVyby1sZW5ndGggRE1BIGRlc2NyaXB0b3IgYW5kIHRodXMgdGhlCnBhY2tldCBp cyBub3QgdHJhbnNtaXR0ZWQuIEhvd2V2ZXIsIGluIG15IGVudmlyb25tZW50IGEgQlVHIGlzIHRy aWdnZXJlZCBhcwpmb2xsb3dzOgoKWyAgIDIwLjM4MTQxN10gLS0tLS0tLS0tLS0tWyBjdXQgaGVy ZSBdLS0tLS0tLS0tLS0tClsgICAyMC4zODYwNTRdIGtlcm5lbCBCVUcgYXQgbGliL3N3aW90bGIu Yzo0OTUhClsgICAyMC4zOTAzMjRdIEludGVybmFsIGVycm9yOiBPb3BzIC0gQlVHOiAwIFsjMV0g UFJFRU1QVCBTTVAKWyAgIDIwLjM5NTgwNV0gTW9kdWxlcyBsaW5rZWQgaW46ClsgICAyMC4zOTg4 NjJdIENQVTogMCBQSUQ6IDIwODkgQ29tbTogbXogTm90IHRhaW50ZWQgNC4xMC4wLXJjMy0wMDAw MS1nZjEzYWQyZGIxOTNmICMxNjIKWyAgIDIwLjQwNjY4OV0gSGFyZHdhcmUgbmFtZTogUmVuZXNh cyBTYWx2YXRvci1YIGJvYXJkIGJhc2VkIG9uIHI4YTc3OTYgKERUKQpbICAgMjAuNDEzNDc0XSB0 YXNrOiBmZmZmODAwNjNiMWYxOTAwIHRhc2suc3RhY2s6IGZmZmY4MDA2M2E3MWMwMDAKWyAgIDIw LjQxOTQwNF0gUEMgaXMgYXQgc3dpb3RsYl90YmxfbWFwX3NpbmdsZSsweDE3OC8weDJlYwpbICAg MjAuNDI0NjI1XSBMUiBpcyBhdCBtYXBfc2luZ2xlKzB4NGMvMHg5OApbICAgMjAuNDI4NjI5XSBw YyA6IFs8ZmZmZjAwMDAwODM5YzRjMD5dIGxyIDogWzxmZmZmMDAwMDA4MzljNjgwPl0gcHN0YXRl OiA4MDAwMDFjNQpbICAgMjAuNDM2MDE5XSBzcCA6IGZmZmY4MDA2M2E3MWY5YjAKWyAgIDIwLjQz OTMyN10geDI5OiBmZmZmODAwNjNhNzFmOWIwIHgyODogZmZmZjgwMDYzYTIwZDUwMApbICAgMjAu NDQ0NjM2XSB4Mjc6IGZmZmYwMDAwMDhlZDUwMDAgeDI2OiAwMDAwMDAwMDAwMDAwMDAwClsgICAy MC40NDk5NDRdIHgyNTogMDAwMDAwMDY3YWJlMmFkYyB4MjQ6IDAwMDAwMDAwMDAwMDAwMDAKWyAg IDIwLjQ1NTI1Ml0geDIzOiAwMDAwMDAwMDAwMjAwMDAwIHgyMjogMDAwMDAwMDAwMDAwMDAwMQpb ICAgMjAuNDYwNTU5XSB4MjE6IDAwMDAwMDAwMDAxNzVmZmUgeDIwOiBmZmZmODAwNjNiMmEwMDEw ClsgICAyMC40NjU4NjZdIHgxOTogMDAwMDAwMDAwMDAwMDAwMCB4MTg6IDAwMDBmZmZmY2FlNmZi MjAKWyAgIDIwLjQ3MTE3M10geDE3OiAwMDAwZmZmZmEwOWJhMDE4IHgxNjogZmZmZjAwMDAwODdj OGI3MApbICAgMjAuNDc2NDgwXSB4MTU6IDAwMDBmZmZmYTA4NGY1ODggeDE0OiAwMDAwZmZmZmEw OWNmYTE0ClsgICAyMC40ODE3ODddIHgxMzogMDAwMGZmZmZjYWU4N2ZmMCB4MTI6IDAwMDAwMDAw MDA2M2FiZTIKWyAgIDIwLjQ4NzA5OF0geDExOiBmZmZmMDAwMDA4MDk2MzYwIHgxMDogZmZmZjgw MDYzYWJlMmFkYwpbICAgMjAuNDkyNDA3XSB4OSA6IDAwMDAwMDAwMDAwMDAwMDAgeDggOiAwMDAw MDAwMDAwMDAwMDAwClsgICAyMC40OTc3MThdIHg3IDogMDAwMDAwMDAwMDAwMDAwMCB4NiA6IGZm ZmYwMDAwMDhlZDUwZDAKWyAgIDIwLjUwMzAyOF0geDUgOiAwMDAwMDAwMDAwMDAwMDAwIHg0IDog MDAwMDAwMDAwMDAwMDAwMQpbICAgMjAuNTA4MzM4XSB4MyA6IDAwMDAwMDAwMDAwMDAwMDAgeDIg OiAwMDAwMDAwNjdhYmUyYWRjClsgICAyMC41MTM2NDhdIHgxIDogMDAwMDAwMDBiYWZmZjAwMCB4 MCA6IDAwMDAwMDAwMDAwMDAwMDAKWyAgIDIwLjUxODk1OF0KWyAgIDIwLjUyMDQ0Nl0gUHJvY2Vz cyBteiAocGlkOiAyMDg5LCBzdGFjayBsaW1pdCA9IDB4ZmZmZjgwMDYzYTcxYzAwMCkKWyAgIDIw LjUyNjc5OF0gU3RhY2s6ICgweGZmZmY4MDA2M2E3MWY5YjAgdG8gMHhmZmZmODAwNjNhNzIwMDAw KQpbICAgMjAuNTMyNTQzXSBmOWEwOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ZmZmZjgwMDYzYTcxZmEzMCBmZmZmMDAwMDA4MzljNjgwClsgICAyMC41NDAzNzRdIGY5YzA6IGZm ZmY4MDA2M2IyYTAwMTAgZmZmZjgwMDYzYjJhMDAxMCAwMDAwMDAwMDAwMDAwMDAxIDAwMDAwMDAw MDAwMDAwMDAKWyAgIDIwLjU0ODIwNF0gZjllMDogMDAwMDAwMDAwMDAwMDA2ZSBmZmZmODAwNjNi MjNjMDAwIGZmZmY4MDA2M2IyM2MwMDAgMDAwMDAwMDAwMDAwMDAwMApbICAgMjAuNTU2MDM0XSBm YTAwOiBmZmZmODAwNjNiMjNjMDAwIGZmZmY4MDA2M2EyMGQ1MDAgMDAwMDAwMDEzYjFmMTkwMCAw MDAwMDAwMDAwMDAwMDAwClsgICAyMC41NjM4NjRdIGZhMjA6IGZmZmY4MDA2M2ZmZDE4ZTAgZmZm ZjgwMDYzYjJhMDAxMCBmZmZmODAwNjNhNzFmYTYwIGZmZmYwMDAwMDgzOWNkMTAKWyAgIDIwLjU3 MTY5NF0gZmE0MDogZmZmZjgwMDYzYjJhMDAxMCAwMDAwMDAwMDAwMDAwMDAwIGZmZmY4MDA2M2Zm ZDE4ZTAgMDAwMDAwMDY3YWJlMmFkYwpbICAgMjAuNTc5NTI0XSBmYTYwOiBmZmZmODAwNjNhNzFm YTkwIGZmZmYwMDAwMDgwOTYzODAgZmZmZjgwMDYzYjJhMDAxMCAwMDAwMDAwMDAwMDAwMDAwClsg ICAyMC41ODczNTNdIGZhODA6IDAwMDAwMDAwMDAwMDAwMDAgMDAwMDAwMDAwMDAwMDAwMSBmZmZm ODAwNjNhNzFmYWMwIGZmZmYwMDAwMDg2NGY3NzAKWyAgIDIwLjU5NTE4NF0gZmFhMDogZmZmZjgw MDYzYjIzY2FmMCAwMDAwMDAwMDAwMDAwMDAwIDAwMDAwMDAwMDAwMDAwMDAgMDAwMDAwMDAwMDAw MDE0MApbICAgMjAuNjAzMDE0XSBmYWMwOiBmZmZmODAwNjNhNzFmYjYwIGZmZmYwMDAwMDg3ZTY0 OTggZmZmZjgwMDYzYTIwZDUwMCBmZmZmODAwNjNiMjNjMDAwClsgICAyMC42MTA4NDNdIGZhZTA6 IDAwMDAwMDAwMDAwMDAwMDAgZmZmZjAwMDAwOGRhZWFmMCAwMDAwMDAwMDAwMDAwMDAwIGZmZmYw MDAwMDhkYWViMDAKWyAgIDIwLjYxODY3M10gZmIwMDogZmZmZjgwMDYzYTcxZmMwYyBmZmZmMDAw MDA4ZGE3MDAwIGZmZmY4MDA2M2IyM2MwOTAgZmZmZjgwMDYzYTQ0ZjAwMApbICAgMjAuNjI2NTAz XSBmYjIwOiAwMDAwMDAwMDAwMDAwMDAwIGZmZmYwMDAwMDhkYWViMDAgZmZmZjgwMDYzYTcxZmMw YyBmZmZmMDAwMDA4ZGE3MDAwClsgICAyMC42MzQzMzNdIGZiNDA6IGZmZmY4MDA2M2IyM2MwOTAg MDAwMDAwMDAwMDAwMDAwMCBmZmZmODAwNjAwMDAwMDM3IGZmZmYwMDAwMDg3ZTYzZDgKWyAgIDIw LjY0MjE2M10gZmI2MDogZmZmZjgwMDYzYTcxZmJjMCBmZmZmMDAwMDA4ODA3NTEwIGZmZmY4MDA2 M2E2OTI0MDAgZmZmZjgwMDYzYTIwZDUwMApbICAgMjAuNjQ5OTkzXSBmYjgwOiBmZmZmODAwNjNh NDRmMDAwIGZmZmY4MDA2M2IyM2MwMDAgZmZmZjgwMDYzYTY5MjQ5YyAwMDAwMDAwMDAwMDAwMDAw ClsgICAyMC42NTc4MjNdIGZiYTA6IDAwMDAwMDAwMDAwMDAwMDAgZmZmZjgwMDYzYTA4NzgwMCBm ZmZmODAwNjNiMjNjMDAwIGZmZmY4MDA2M2EyMGQ1MDAKWyAgIDIwLjY2NTY1M10gZmJjMDogZmZm ZjgwMDYzYTcxZmMxMCBmZmZmMDAwMDA4N2U2N2RjIGZmZmY4MDA2M2EyMGQ1MDAgZmZmZjgwMDYz YTY5MjQwMApbICAgMjAuNjczNDgzXSBmYmUwOiBmZmZmODAwNjNiMjNjMDAwIDAwMDAwMDAwMDAw MDAwMDAgZmZmZjgwMDYzYTQ0ZjAwMCBmZmZmODAwNjNhNjkyNDljClsgICAyMC42ODEzMTJdIGZj MDA6IGZmZmY4MDA2M2E1ZjFhMTAgMDAwMDAwMTAzYTA4NzgwMCBmZmZmODAwNjNhNzFmYzcwIGZm ZmYwMDAwMDg3ZTZiMjQKWyAgIDIwLjY4OTE0Ml0gZmMyMDogZmZmZjgwMDYzYTVmMWE4MCBmZmZm ODAwNjNhNzFmZGU4IDAwMDAwMDAwMDAwMDAwMGYgMDAwMDAwMDAwMDAwMDVlYQpbICAgMjAuNjk2 OTcyXSBmYzQwOiBmZmZmODAwNjNhNWYxYTEwIDAwMDAwMDAwMDAwMDAwMDAgMDAwMDAwMDAwMDAw MDAwZiBmZmZmMDAwMDA4ODdmYmQwClsgICAyMC43MDQ4MDJdIGZjNjA6IGZmZmZmZmY0M2E1ZjFh ODAgMDAwMDAwMDAwMDAwMDAwMCBmZmZmODAwNjNhNzFmYzgwIGZmZmYwMDAwMDg4ODAyNDAKWyAg IDIwLjcxMjYzMl0gZmM4MDogZmZmZjgwMDYzYTcxZmQ5MCBmZmZmMDAwMDA4N2M3YTM0IGZmZmY4 MDA2M2FmYzcxODAgMDAwMDAwMDAwMDAwMDAwMApbICAgMjAuNzIwNDYyXSBmY2EwOiAwMDAwZmZm ZmNhZTZmZTE4IDAwMDAwMDAwMDAwMDAwMTQgMDAwMDAwMDA2MDAwMDAwMCAwMDAwMDAwMDAwMDAw MDE1ClsgICAyMC43MjgyOTJdIGZjYzA6IDAwMDAwMDAwMDAwMDAxMjMgMDAwMDAwMDAwMDAwMDBj ZSBmZmZmMDAwMDA4OGQyMDAwIGZmZmY4MDA2M2IxZjE5MDAKWyAgIDIwLjczNjEyMl0gZmNlMDog MDAwMDAwMDAwMDAwODkzMyBmZmZmMDAwMDA4ZTdjYjgwIGZmZmY4MDA2M2E3MWZkODAgZmZmZjAw MDAwODdjNTBhNApbICAgMjAuNzQzOTUxXSBmZDAwOiAwMDAwMDAwMDAwMDA4OTMzIGZmZmYwMDAw MDhlN2NiODAgZmZmZjAwMDAwOGU3Y2I4MCAwMDAwMDAxMDAwMDAwMDBlClsgICAyMC43NTE3ODFd IGZkMjA6IGZmZmY4MDA2M2E3MWZlNGMgMDAwMGZmZmYwMDAwMDMwMCAwMDAwMDAwMDAwMDAwMTIz IDAwMDAwMDAwMDAwMDAwMDAKWyAgIDIwLjc1OTYxMV0gZmQ0MDogMDAwMDAwMDAwMDAwMDAwMCBm ZmZmODAwNjNiMWYwMDAwIDAwMDAwMDAwMDAwMDAwMGUgMDAwMDAwMDAwMDAwMDMwMApbICAgMjAu NzY3NDQxXSBmZDYwOiAwMDAwMDAwMDAwMDAwMDAwIDAwMDAwMDAwMDAwMDAwMDAgMDAwMDAwMDAw MDAwMDAwMCAwMDAwMDAwMDAwMDAwMDAwClsgICAyMC43NzUyNzFdIGZkODA6IDAwMDAwMDAwMDAw MDAwMDAgMDAwMDAwMDAwMDAwMDAwMCBmZmZmODAwNjNhNzFmZGEwIGZmZmYwMDAwMDg3YzhjMjAK WyAgIDIwLjc4MzEwMF0gZmRhMDogMDAwMDAwMDAwMDAwMDAwMCBmZmZmMDAwMDA4MDgyZjMwIDAw MDAwMDAwMDAwMDAwMDAgMDAwMDgwMDYzNzI2MDAwMApbICAgMjAuNzkwOTMwXSBmZGMwOiBmZmZm ZmZmZmZmZmZmZmZmIDAwMDBmZmZmYTA5MDMwNzggMDAwMDAwMDAwMDAwMDAwMCAwMDAwMDAwMDFl YTg3MjMyClsgICAyMC43OTg3NjBdIGZkZTA6IDAwMDAwMDAwMDAwMDAwMGYgZmZmZjgwMDYzYTcx ZmU0MCBmZmZmODAwNjAwMDAwMDE0IGZmZmYwMDAwMDAwMDAwMDEKWyAgIDIwLjgwNjU5MF0gZmUw MDogMDAwMDAwMDAwMDAwMDAwMCAwMDAwMDAwMDAwMDAwMDAwIGZmZmY4MDA2M2E3MWZkZTggMDAw MDAwMDAwMDAwMDAwMApbICAgMjAuODE0NDIwXSBmZTIwOiAwMDAwMDAwMDAwMDAwMDAwIDAwMDAw MDAwMDAwMDAwMDAgMDAwMDAwMDAwMDAwMDAwMCAwMDAwMDAwMDAwMDAwMDAxClsgICAyMC44MjIy NDldIGZlNDA6IDAwMDAwMDAyMDMwMDAwMTEgMDAwMDAwMDAwMDAwMDAwMCAwMDAwMDAwMDAwMDAw MDAwIGZmZmY4MDA2M2E2OGFhMDAKWyAgIDIwLjgzMDA3OV0gZmU2MDogZmZmZjgwMDYzYTY4YWEw MCAwMDAwMDAwMDAwMDAwMDAzIDAwMDAwMDAwMDAwMDg5MzMgZmZmZjAwMDAwODFmMWI5YwpbICAg MjAuODM3OTA5XSBmZTgwOiAwMDAwMDAwMDAwMDAwMDAwIGZmZmYwMDAwMDgwODJmMzAgMDAwMDAw MDAwMDAwMDAwMCAwMDAwODAwNjM3MjYwMDAwClsgICAyMC44NDU3MzldIGZlYTA6IGZmZmZmZmZm ZmZmZmZmZmYgMDAwMGZmZmZhMDdjYTgxYyAwMDAwMDAwMDYwMDAwMDAwIDAwMDAwMDAwMDAwMDAw MTUKWyAgIDIwLjg1MzU2OV0gZmVjMDogMDAwMDAwMDAwMDAwMDAwMyAwMDAwMDAwMDFlYTg3MjMy IDAwMDAwMDAwMDAwMDAwMGYgMDAwMDAwMDAwMDAwMDAwMApbICAgMjAuODYxMzk5XSBmZWUwOiAw MDAwZmZmZmNhZTZmZTE4IDAwMDAwMDAwMDAwMDAwMTQgMDAwMDAwMDAwMDAwMDMwMCAwMDAwMDAw MDAwMDAwMDAwClsgICAyMC44NjkyMjhdIGZmMDA6IDAwMDAwMDAwMDAwMDAwY2UgMDAwMDAwMDAw MDAwMDAwMCAwMDAwMDAwMGZmZmZmZmZmIDAwMDAwMDAwMDAwMDAwMDAKWyAgIDIwLjg3NzA1OV0g ZmYyMDogMDAwMDAwMDAwMDAwMDAwMiAwMDAwZmZmZmNhZTg3ZmYwIDAwMDBmZmZmYTA5Y2ZhMTQg MDAwMGZmZmZhMDg0ZjU4OApbICAgMjAuODg0ODg4XSBmZjQwOiAwMDAwMDAwMDAwMDAwMDAwIDAw MDBmZmZmYTA5YmEwMTggMDAwMGZmZmZjYWU2ZmIyMCAwMDAwMDAwMDFlYTg3MDEwClsgICAyMC44 OTI3MThdIGZmNjA6IDAwMDBmZmZmYTA5YjkwMDAgMDAwMGZmZmZjYWU2ZmUzMCAwMDAwZmZmZmNh ZTZmZTE4IDAwMDAwMDAwMDAwMDAwMGYKWyAgIDIwLjkwMDU0OF0gZmY4MDogMDAwMDAwMDAwMDAw MDAwMyAwMDAwMDAwMDFlYTg3MjMyIDAwMDAwMDAwMDAwMDAwMDAgMDAwMDAwMDAwMDAwMDAwMApb ICAgMjAuOTA4Mzc4XSBmZmEwOiAwMDAwMDAwMDAwMDAwMDAwIDAwMDBmZmZmY2FlNmZkYzAgMDAw MGZmZmZhMDlhNzgyNCAwMDAwZmZmZmNhZTZmZGMwClsgICAyMC45MTYyMDhdIGZmYzA6IDAwMDBm ZmZmYTA5MDMwNzggMDAwMDAwMDA2MDAwMDAwMCAwMDAwMDAwMDAwMDAwMDAzIDAwMDAwMDAwMDAw MDAwY2UKWyAgIDIwLjkyNDAzOF0gZmZlMDogMDAwMDAwMDAwMDAwMDAwMCAwMDAwMDAwMDAwMDAw MDAwIGZmZmZmZmZmZmZmZmZmZmYgZmZmZmZmZmZmZmZmZmZmZgpbICAgMjAuOTMxODY3XSBDYWxs IHRyYWNlOgpbICAgMjAuOTM0MzEyXSBFeGNlcHRpb24gc3RhY2soMHhmZmZmODAwNjNhNzFmN2Uw IHRvIDB4ZmZmZjgwMDYzYTcxZjkxMCkKWyAgIDIwLjk0MDc1MF0gZjdlMDogMDAwMDAwMDAwMDAw MDAwMCAwMDAxMDAwMDAwMDAwMDAwIGZmZmY4MDA2M2E3MWY5YjAgZmZmZjAwMDAwODM5YzRjMApb ICAgMjAuOTQ4NTgwXSBmODAwOiBmZmZmODAwNjNhNzFmODQwIGZmZmYwMDAwMDg4OGE2ZTQgZmZm ZjgwMDYzYTI0YzQxOCBmZmZmODAwNjNhMjRjNDQ4ClsgICAyMC45NTY0MTBdIGY4MjA6IDAwMDAw MDAwMDAwMDAwMDAgZmZmZjAwMDAwODExY2Q1NCBmZmZmODAwNjNhNzFmODYwIGZmZmY4MDA2M2Ey NGM0NTgKWyAgIDIwLjk2NDI0MF0gZjg0MDogZmZmZjgwMDYzYTcxZjg3MCBmZmZmMDAwMDA4ODhi MjU4IGZmZmY4MDA2M2EyNGM0MTggMDAwMDAwMDAwMDAwMDAwMQpbICAgMjAuOTcyMDcwXSBmODYw OiBmZmZmODAwNjNhNzFmOTEwIGZmZmY4MDA2M2E3YjcwMjggZmZmZjgwMDYzYTcxZjg5MCBmZmZm MDAwMDA4ODgyNWU0ClsgICAyMC45Nzk4OTldIGY4ODA6IDAwMDAwMDAwMDAwMDAwMDAgMDAwMDAw MDBiYWZmZjAwMCAwMDAwMDAwNjdhYmUyYWRjIDAwMDAwMDAwMDAwMDAwMDAKWyAgIDIwLjk4Nzcy OV0gZjhhMDogMDAwMDAwMDAwMDAwMDAwMSAwMDAwMDAwMDAwMDAwMDAwIGZmZmYwMDAwMDhlZDUw ZDAgMDAwMDAwMDAwMDAwMDAwMApbICAgMjAuOTk1NTYwXSBmOGMwOiAwMDAwMDAwMDAwMDAwMDAw IDAwMDAwMDAwMDAwMDAwMDAgZmZmZjgwMDYzYWJlMmFkYyBmZmZmMDAwMDA4MDk2MzYwClsgICAy MS4wMDMzOTBdIGY4ZTA6IDAwMDAwMDAwMDA2M2FiZTIgMDAwMGZmZmZjYWU4N2ZmMCAwMDAwZmZm ZmEwOWNmYTE0IDAwMDBmZmZmYTA4NGY1ODgKWyAgIDIxLjAxMTIxOV0gZjkwMDogZmZmZjAwMDAw ODdjOGI3MCAwMDAwZmZmZmEwOWJhMDE4ClsgICAyMS4wMTYwOTddIFs8ZmZmZjAwMDAwODM5YzRj MD5dIHN3aW90bGJfdGJsX21hcF9zaW5nbGUrMHgxNzgvMHgyZWMKWyAgIDIxLjAyMjM2Ml0gWzxm ZmZmMDAwMDA4MzljNjgwPl0gbWFwX3NpbmdsZSsweDRjLzB4OTgKWyAgIDIxLjAyNzQxMV0gWzxm ZmZmMDAwMDA4MzljZDEwPl0gc3dpb3RsYl9tYXBfcGFnZSsweGE0LzB4MTM4ClsgICAyMS4wMzMw NzJdIFs8ZmZmZjAwMDAwODA5NjM4MD5dIF9fc3dpb3RsYl9tYXBfcGFnZSsweDIwLzB4N2MKWyAg IDIxLjAzODgyMV0gWzxmZmZmMDAwMDA4NjRmNzcwPl0gcmF2Yl9zdGFydF94bWl0KzB4MTc0LzB4 NjY4ClsgICAyMS4wNDQ0ODRdIFs8ZmZmZjAwMDAwODdlNjQ5OD5dIGRldl9oYXJkX3N0YXJ0X3ht aXQrMHg4Yy8weDEyMApbICAgMjEuMDUwNDA3XSBbPGZmZmYwMDAwMDg4MDc1MTA+XSBzY2hfZGly ZWN0X3htaXQrMHgxMDgvMHgxYTAKWyAgIDIxLjA1NjA2NF0gWzxmZmZmMDAwMDA4N2U2N2RjPl0g X19kZXZfcXVldWVfeG1pdCsweDE5NC8weDRjYwpbICAgMjEuMDYxODA3XSBbPGZmZmYwMDAwMDg3 ZTZiMjQ+XSBkZXZfcXVldWVfeG1pdCsweDEwLzB4MTgKWyAgIDIxLjA2NzIxNF0gWzxmZmZmMDAw MDA4ODgwMjQwPl0gcGFja2V0X3NlbmRtc2crMHhmNDAvMHgxMjIwClsgICAyMS4wNzI4NzNdIFs8 ZmZmZjAwMDAwODdjN2EzND5dIHNvY2tfc2VuZG1zZysweDE4LzB4MmMKWyAgIDIxLjA3ODA5N10g WzxmZmZmMDAwMDA4N2M4YzIwPl0gU3lTX3NlbmR0bysweGIwLzB4ZjAKWyAgIDIxLjA4MzE1MF0g WzxmZmZmMDAwMDA4MDgyZjMwPl0gZWwwX3N2Y19uYWtlZCsweDI0LzB4MjgKWyAgIDIxLjA4ODQ2 Ml0gQ29kZTogZDM0YmZlZjcgMmExODAzZjMgMWE5Zjg2ZDYgMzVmZmY4NzggKGQ0MjEwMDAwKQpb ICAgMjEuMDk0NjExXSAtLS1bIGVuZCB0cmFjZSA1YmM1NDRhZDQ5MWYzODE0IF0tLS0KWyAgIDIx LjA5OTIzNF0gS2VybmVsIHBhbmljIC0gbm90IHN5bmNpbmc6IEZhdGFsIGV4Y2VwdGlvbiBpbiBp bnRlcnJ1cHQKWyAgIDIxLjEwNTU4N10gS2VybmVsIE9mZnNldDogZGlzYWJsZWQKWyAgIDIxLjEw OTA3M10gTWVtb3J5IExpbWl0OiBub25lClsgICAyMS4xMTIxMjZdIC0tLVsgZW5kIEtlcm5lbCBw YW5pYyAtIG5vdCBzeW5jaW5nOiBGYXRhbCBleGNlcHRpb24gaW4gaW50ZXJydXB0CgpGaXhlczog MmY0NWQxOTAyYWNmICgicmF2YjogbWluaW1pemUgVFggZGF0YSBjb3B5aW5nIikKU2lnbmVkLW9m Zi1ieTogTWFzYXJ1IE5hZ2FpIDxtYXNhcnUubmFnYWkudnhAcmVuZXNhcy5jb20KU2lnbmVkLW9m Zi1ieTogU2ltb24gSG9ybWFuIDxob3JtcytyZW5lc2FzQHZlcmdlLm5ldC5hdT4KQWNrZWQtYnk6 IFNlcmdlaSBTaHR5bHlvdiA8c2VyZ2VpLnNodHlseW92QGNvZ2VudGVtYmVkZGVkLmNvbT4KU2ln bmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIGRy aXZlcnMvbmV0L2V0aGVybmV0L3JlbmVzYXMvcmF2Yl9tYWluLmMgfCAxMyArKysrKysrKysrKysr CiAxIGZpbGUgY2hhbmdlZCwgMTMgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMv bmV0L2V0aGVybmV0L3JlbmVzYXMvcmF2Yl9tYWluLmMgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9y ZW5lc2FzL3JhdmJfbWFpbi5jCmluZGV4IGQ2YTIxNzguLjg2MmYxOGUgMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvbmV0L2V0aGVybmV0L3JlbmVzYXMvcmF2Yl9tYWluLmMKKysrIGIvZHJpdmVycy9uZXQv ZXRoZXJuZXQvcmVuZXNhcy9yYXZiX21haW4uYwpAQCAtMTUwOCw2ICsxNTA4LDE5IEBAIHN0YXRp YyBuZXRkZXZfdHhfdCByYXZiX3N0YXJ0X3htaXQoc3RydWN0IHNrX2J1ZmYgKnNrYiwgc3RydWN0 IG5ldF9kZXZpY2UgKm5kZXYpCiAJYnVmZmVyID0gUFRSX0FMSUdOKHByaXYtPnR4X2FsaWduW3Fd LCBEUFRSX0FMSUdOKSArCiAJCSBlbnRyeSAvIE5VTV9UWF9ERVNDICogRFBUUl9BTElHTjsKIAls ZW4gPSBQVFJfQUxJR04oc2tiLT5kYXRhLCBEUFRSX0FMSUdOKSAtIHNrYi0+ZGF0YTsKKwkvKiBa ZXJvIGxlbmd0aCBETUEgZGVzY3JpcHRvcnMgYXJlIHByb2JsZW1hdGljIGFzIHRoZXkgc2VlbSB0 bworCSAqIHRlcm1pbmF0ZSBETUEgdHJhbnNmZXJzLiBBdm9pZCB0aGVtIGJ5IHNpbXBseSB1c2lu ZyBhIGxlbmd0aCBvZgorCSAqIERQVFJfQUxJR04gKDQpIHdoZW4gc2tiIGRhdGEgaXMgYWxpZ25l ZCB0byBEUFRSX0FMSUdOLgorCSAqCisJICogQXMgc2tiIGlzIGd1YXJhbnRlZWQgdG8gaGF2ZSBh dCBsZWFzdCBFVEhfWkxFTiAoNjApIGJ5dGVzIG9mCisJICogZGF0YSBieSB0aGUgY2FsbCB0byBz a2JfcHV0X3BhZHRvKCkgYWJvdmUgdGhpcyBpcyBzYWZlIHdpdGgKKwkgKiByZXNwZWN0IHRvIGJv dGggdGhlIGxlbmd0aCBvZiB0aGUgZmlyc3QgRE1BIGRlc2NyaXB0b3IgKGxlbikKKwkgKiBvdmVy Zmxvd2luZyB0aGUgYXZhaWxhYmxlIGRhdGEgYW5kIHRoZSBsZW5ndGggb2YgdGhlIHNlY29uZCBE TUEKKwkgKiBkZXNjcmlwdG9yIChza2ItPmxlbiAtIGxlbikgYmVpbmcgbmVnYXRpdmUuCisJICov CisJaWYgKGxlbiA9PSAwKQorCQlsZW4gPSBEUFRSX0FMSUdOOworCiAJbWVtY3B5KGJ1ZmZlciwg c2tiLT5kYXRhLCBsZW4pOwogCWRtYV9hZGRyID0gZG1hX21hcF9zaW5nbGUobmRldi0+ZGV2LnBh cmVudCwgYnVmZmVyLCBsZW4sIERNQV9UT19ERVZJQ0UpOwogCWlmIChkbWFfbWFwcGluZ19lcnJv cihuZGV2LT5kZXYucGFyZW50LCBkbWFfYWRkcikpCi0tIAoyLjQuMTEKCgpGcm9tIDJmMDEwZWIw ZjMzMmYzMDA0ZWZmNWE5YjQ4MGFhNDEwN2JlY2Y1NGYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAx CkZyb206IEpha3ViIFNpdG5pY2tpIDxqa2JzQHJlZGhhdC5jb20+CkRhdGU6IEZyaSwgMTMgSmFu IDIwMTcgMTA6MTI6MjAgKzAxMDAKU3ViamVjdDogW1BBVENIIDEzLzMyXSBpcDZfdHVubmVsOiBB Y2NvdW50IGZvciB0dW5uZWwgaGVhZGVyIGluIHR1bm5lbCBNVFUKClsgVXBzdHJlYW0gY29tbWl0 IDAyY2EwNDIzZmQ2NWEwYTljNGQ3MGRhMGRiYjhmNGI4NTAzZjA4YzcgXQoKV2l0aCBpcDZncmUg d2UgaGF2ZSBhIHR1bm5lbCBoZWFkZXIgd2hpY2ggYWxzbyBtYWtlcyB0aGUgdHVubmVsIE1UVQpz bWFsbGVyLiBXZSBuZWVkIHRvIHJlc2VydmUgcm9vbSBmb3IgaXQuIFByZXZpb3VzbHkgd2Ugd2Vy ZSB1c2luZyB1cApzcGFjZSByZXNlcnZlZCBmb3IgdGhlIFR1bm5lbCBFbmNhcHN1bGF0aW9uIExp bWl0IG9wdGlvbgpoZWFkZXIgKFJGQyAyNDczKS4KCkFsc28sIGFmdGVyIGNvbW1pdCBiMDUyMjlm NDQyMjggKCJncmU2OiBDbGVhbnVwIEdSRXY2IHRyYW5zbWl0IHBhdGgsCmNhbGwgY29tbW9uIEdS RSBmdW5jdGlvbnMiKSBvdXIgY29udHJhY3Qgd2l0aCB0aGUgY2FsbGVyIGhhcwpjaGFuZ2VkLiBO b3cgd2UgY2hlY2sgaWYgdGhlIHBhY2tldCBsZW5ndGggZXhjZWVkcyB0aGUgdHVubmVsIE1UVSBh ZnRlcgp0aGUgdHVubmVsIGhlYWRlciBoYXMgYmVlbiBwdXNoZWQsIHVubGlrZSBiZWZvcmUuCgpU aGlzIGlzIHJlZmxlY3RlZCBpbiB0aGUgY2hlY2sgd2hlcmUgd2UgbG9vayBhdCB0aGUgcGFja2V0 IGxlbmd0aCBtaW51cwp0aGUgc2l6ZSBvZiB0aGUgdHVubmVsIGhlYWRlciwgd2hpY2ggaXMgYWxy ZWFkeSBhY2NvdW50ZWQgZm9yIGluIHR1bm5lbApNVFUuCgpGaXhlczogYjA1MjI5ZjQ0MjI4ICgi Z3JlNjogQ2xlYW51cCBHUkV2NiB0cmFuc21pdCBwYXRoLCBjYWxsIGNvbW1vbiBHUkUgZnVuY3Rp b25zIikKU2lnbmVkLW9mZi1ieTogSmFrdWIgU2l0bmlja2kgPGprYnNAcmVkaGF0LmNvbT4KU2ln bmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIG5l dC9pcHY2L2lwNl90dW5uZWwuYyB8IDQgKystLQogMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9u cygrKSwgMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9uZXQvaXB2Ni9pcDZfdHVubmVsLmMg Yi9uZXQvaXB2Ni9pcDZfdHVubmVsLmMKaW5kZXggZDc2Njc0ZS4uZjk1NDM3ZiAxMDA2NDQKLS0t IGEvbmV0L2lwdjYvaXA2X3R1bm5lbC5jCisrKyBiL25ldC9pcHY2L2lwNl90dW5uZWwuYwpAQCAt MTEwOCw3ICsxMTA4LDcgQEAgaW50IGlwNl90bmxfeG1pdChzdHJ1Y3Qgc2tfYnVmZiAqc2tiLCBz dHJ1Y3QgbmV0X2RldmljZSAqZGV2LCBfX3U4IGRzZmllbGQsCiAJCQkJICAgICB0LT5wYXJtcy5u YW1lKTsKIAkJZ290byB0eF9lcnJfZHN0X3JlbGVhc2U7CiAJfQotCW10dSA9IGRzdF9tdHUoZHN0 KSAtIHBzaF9obGVuOworCW10dSA9IGRzdF9tdHUoZHN0KSAtIHBzaF9obGVuIC0gdC0+dHVuX2hs ZW47CiAJaWYgKGVuY2FwX2xpbWl0ID49IDApIHsKIAkJbWF4X2hlYWRyb29tICs9IDg7CiAJCW10 dSAtPSA4OwpAQCAtMTExNyw3ICsxMTE3LDcgQEAgaW50IGlwNl90bmxfeG1pdChzdHJ1Y3Qgc2tf YnVmZiAqc2tiLCBzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LCBfX3U4IGRzZmllbGQsCiAJCW10dSA9 IElQVjZfTUlOX01UVTsKIAlpZiAoc2tiX2RzdChza2IpICYmICF0LT5wYXJtcy5jb2xsZWN0X21k KQogCQlza2JfZHN0KHNrYiktPm9wcy0+dXBkYXRlX3BtdHUoc2tiX2RzdChza2IpLCBOVUxMLCBz a2IsIG10dSk7Ci0JaWYgKHNrYi0+bGVuID4gbXR1ICYmICFza2JfaXNfZ3NvKHNrYikpIHsKKwlp ZiAoc2tiLT5sZW4gLSB0LT50dW5faGxlbiA+IG10dSAmJiAhc2tiX2lzX2dzbyhza2IpKSB7CiAJ CSpwbXR1ID0gbXR1OwogCQllcnIgPSAtRU1TR1NJWkU7CiAJCWdvdG8gdHhfZXJyX2RzdF9yZWxl YXNlOwotLSAKMi40LjExCgoKRnJvbSAxNzUyZjc3ODEwMzdkMGNkMzg0NjQzZjViNGQyM2YwZWQ0 ZWU1YmM3IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBCYXNpbCBHdW5uIDxiYXNpbEBw YWNhYnVuZ2EuY29tPgpEYXRlOiBTYXQsIDE0IEphbiAyMDE3IDEyOjE4OjU1IC0wODAwClN1Ympl Y3Q6IFtQQVRDSCAxNC8zMl0gYXgyNTogRml4IHNlZ2ZhdWx0IGFmdGVyIHNvY2sgY29ubmVjdGlv biB0aW1lb3V0CgpbIFVwc3RyZWFtIGNvbW1pdCA4YTM2N2U3NGMwMTIwZWY2OGM4YzcwZDVhMDI1 NjQ4Yzk2NjI2ZGZmIF0KClRoZSBheC4yNSBzb2NrZXQgY29ubmVjdGlvbiB0aW1lZCBvdXQgJiB0 aGUgc29jayBzdHJ1Y3QgaGFzIGJlZW4KcHJldmlvdXNseSB0YWtlbiBkb3duIGllLiBzb2NrIHN0 cnVjdCBpcyBub3cgYSBOVUxMIHBvaW50ZXIuIENoZWNraW5nCnRoZSBzb2NrX2ZsYWcgY2F1c2Vz IHRoZSBzZWdmYXVsdC4gIENoZWNrIGlmIHRoZSBzb2NrZXQgc3RydWN0IHBvaW50ZXIKaXMgTlVM TCBiZWZvcmUgY2hlY2tpbmcgc29ja19mbGFnLiBUaGlzIHNlZ2ZhdWx0IGlzIHNlZW4gaW4KdGlt ZWQgb3V0IG5ldHJvbSBjb25uZWN0aW9ucy4KClBsZWFzZSBzdWJtaXQgdG8gLXN0YWJsZS4KClNp Z25lZC1vZmYtYnk6IEJhc2lsIEd1bm4gPGJhc2lsQHBhY2FidW5nYS5jb20+ClNpZ25lZC1vZmYt Ynk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBuZXQvYXgyNS9h eDI1X3N1YnIuYyB8IDIgKy0KIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxl dGlvbigtKQoKZGlmZiAtLWdpdCBhL25ldC9heDI1L2F4MjVfc3Vici5jIGIvbmV0L2F4MjUvYXgy NV9zdWJyLmMKaW5kZXggNjU1YTdkNC4uOTgzZjBiNSAxMDA2NDQKLS0tIGEvbmV0L2F4MjUvYXgy NV9zdWJyLmMKKysrIGIvbmV0L2F4MjUvYXgyNV9zdWJyLmMKQEAgLTI2NCw3ICsyNjQsNyBAQCB2 b2lkIGF4MjVfZGlzY29ubmVjdChheDI1X2NiICpheDI1LCBpbnQgcmVhc29uKQogewogCWF4MjVf Y2xlYXJfcXVldWVzKGF4MjUpOwogCi0JaWYgKCFzb2NrX2ZsYWcoYXgyNS0+c2ssIFNPQ0tfREVT VFJPWSkpCisJaWYgKCFheDI1LT5zayB8fCAhc29ja19mbGFnKGF4MjUtPnNrLCBTT0NLX0RFU1RS T1kpKQogCQlheDI1X3N0b3BfaGVhcnRiZWF0KGF4MjUpOwogCWF4MjVfc3RvcF90MXRpbWVyKGF4 MjUpOwogCWF4MjVfc3RvcF90MnRpbWVyKGF4MjUpOwotLSAKMi40LjExCgoKRnJvbSBkYjYwNjAw OGJiZDJjZTNkZGYwYzI1MDI5MmUzMmU3MzkxYTFlNDNhIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAw MQpGcm9tOiBKYW1hbCBIYWRpIFNhbGltIDxqaHNAbW9qYXRhdHUuY29tPgpEYXRlOiBTdW4sIDE1 IEphbiAyMDE3IDEwOjE0OjA2IC0wNTAwClN1YmplY3Q6IFtQQVRDSCAxNS8zMl0gbmV0IHNjaGVk IGFjdGlvbnM6IGZpeCByZWZjbnQgd2hlbiBHRVRpbmcgb2YgYWN0aW9uCiBhZnRlciBiaW5kCgpb IFVwc3RyZWFtIGNvbW1pdCAwZmFhOWNiNWIzODM2YTk3OTg2NGE2MzU3ZTAxZDIwNDY4ODRhZDUy IF0KCkRlbW9uc3RyYXRpbmcgdGhlIGlzc3VlOgoKLi4gYWRkIGEgZHJvcCBhY3Rpb24KJHN1ZG8g JFRDIGFjdGlvbnMgYWRkIGFjdGlvbiBkcm9wIGluZGV4IDEwCgouLiByZXRyaWV2ZSBpdAokIHN1 ZG8gJFRDIC1zIGFjdGlvbnMgZ2V0IGFjdGlvbiBnYWN0IGluZGV4IDEwCgoJYWN0aW9uIG9yZGVy IDE6IGdhY3QgYWN0aW9uIGRyb3AKCSByYW5kb20gdHlwZSBub25lIHBhc3MgdmFsIDAKCSBpbmRl eCAxMCByZWYgMiBiaW5kIDAgaW5zdGFsbGVkIDI5IHNlYyB1c2VkIDI5IHNlYwogCUFjdGlvbiBz dGF0aXN0aWNzOgoJU2VudCAwIGJ5dGVzIDAgcGt0IChkcm9wcGVkIDAsIG92ZXJsaW1pdHMgMCBy ZXF1ZXVlcyAwKQoJYmFja2xvZyAwYiAwcCByZXF1ZXVlcyAwCgouLi4gYnVnIDEgYWJvdmU6IHJl ZmVyZW5jZSBpcyB0d28uCiAgICBSZWZlcmVuY2UgaXMgYWN0dWFsbHkgMSBidXQgd2UgZm9yZ2V0 IHRvIHN1YnRyYWN0IDEuCgouLi4gZG8gYSBHRVQgYWdhaW4gYW5kIHdlIHNlZSB0aGUgc2FtZSBp c3N1ZQogICAgdHJ5IGEgZmV3IHRpbWVzIGFuZCBub3RoaW5nIGNoYW5nZXMKfiQgc3VkbyAkVEMg LXMgYWN0aW9ucyBnZXQgYWN0aW9uIGdhY3QgaW5kZXggMTAKCglhY3Rpb24gb3JkZXIgMTogZ2Fj dCBhY3Rpb24gZHJvcAoJIHJhbmRvbSB0eXBlIG5vbmUgcGFzcyB2YWwgMAoJIGluZGV4IDEwIHJl ZiAyIGJpbmQgMCBpbnN0YWxsZWQgMzEgc2VjIHVzZWQgMzEgc2VjCiAJQWN0aW9uIHN0YXRpc3Rp Y3M6CglTZW50IDAgYnl0ZXMgMCBwa3QgKGRyb3BwZWQgMCwgb3ZlcmxpbWl0cyAwIHJlcXVldWVz IDApCgliYWNrbG9nIDBiIDBwIHJlcXVldWVzIDAKCi4uLiBsZXRzIHRyeSB0byBiaW5kIHRoZSBh Y3Rpb24gdG8gYSBmaWx0ZXIuLgokIHN1ZG8gJFRDIHFkaXNjIGFkZCBkZXYgbG8gaW5ncmVzcwok IHN1ZG8gJFRDIGZpbHRlciBhZGQgZGV2IGxvIHBhcmVudCBmZmZmOiBwcm90b2NvbCBpcCBwcmlv IDEgXAogIHUzMiBtYXRjaCBpcCBkc3QgMTI3LjAuMC4xLzMyIGZsb3dpZCAxOjEgYWN0aW9uIGdh Y3QgaW5kZXggMTAKCi4uLiBhbmQgbm93IGEgZmV3IEdFVHM6CiQgc3VkbyAkVEMgLXMgYWN0aW9u cyBnZXQgYWN0aW9uIGdhY3QgaW5kZXggMTAKCglhY3Rpb24gb3JkZXIgMTogZ2FjdCBhY3Rpb24g ZHJvcAoJIHJhbmRvbSB0eXBlIG5vbmUgcGFzcyB2YWwgMAoJIGluZGV4IDEwIHJlZiAzIGJpbmQg MSBpbnN0YWxsZWQgMjA0IHNlYyB1c2VkIDIwNCBzZWMKIAlBY3Rpb24gc3RhdGlzdGljczoKCVNl bnQgMCBieXRlcyAwIHBrdCAoZHJvcHBlZCAwLCBvdmVybGltaXRzIDAgcmVxdWV1ZXMgMCkKCWJh Y2tsb2cgMGIgMHAgcmVxdWV1ZXMgMAoKJCBzdWRvICRUQyAtcyBhY3Rpb25zIGdldCBhY3Rpb24g Z2FjdCBpbmRleCAxMAoKCWFjdGlvbiBvcmRlciAxOiBnYWN0IGFjdGlvbiBkcm9wCgkgcmFuZG9t IHR5cGUgbm9uZSBwYXNzIHZhbCAwCgkgaW5kZXggMTAgcmVmIDQgYmluZCAxIGluc3RhbGxlZCAy MDYgc2VjIHVzZWQgMjA2IHNlYwogCUFjdGlvbiBzdGF0aXN0aWNzOgoJU2VudCAwIGJ5dGVzIDAg cGt0IChkcm9wcGVkIDAsIG92ZXJsaW1pdHMgMCByZXF1ZXVlcyAwKQoJYmFja2xvZyAwYiAwcCBy ZXF1ZXVlcyAwCgokIHN1ZG8gJFRDIC1zIGFjdGlvbnMgZ2V0IGFjdGlvbiBnYWN0IGluZGV4IDEw CgoJYWN0aW9uIG9yZGVyIDE6IGdhY3QgYWN0aW9uIGRyb3AKCSByYW5kb20gdHlwZSBub25lIHBh c3MgdmFsIDAKCSBpbmRleCAxMCByZWYgNSBiaW5kIDEgaW5zdGFsbGVkIDIzNSBzZWMgdXNlZCAy MzUgc2VjCiAJQWN0aW9uIHN0YXRpc3RpY3M6CglTZW50IDAgYnl0ZXMgMCBwa3QgKGRyb3BwZWQg MCwgb3ZlcmxpbWl0cyAwIHJlcXVldWVzIDApCgliYWNrbG9nIDBiIDBwIHJlcXVldWVzIDAKCi4u Li4gYXMgY2FuIGJlIG9ic2VydmVkIHRoZSByZWZlcmVuY2UgY291bnQga2VlcHMgZ29pbmcgdXAu CgpBZnRlciB0aGUgZml4CgokIHN1ZG8gJFRDIGFjdGlvbnMgYWRkIGFjdGlvbiBkcm9wIGluZGV4 IDEwCiQgc3VkbyAkVEMgLXMgYWN0aW9ucyBnZXQgYWN0aW9uIGdhY3QgaW5kZXggMTAKCglhY3Rp b24gb3JkZXIgMTogZ2FjdCBhY3Rpb24gZHJvcAoJIHJhbmRvbSB0eXBlIG5vbmUgcGFzcyB2YWwg MAoJIGluZGV4IDEwIHJlZiAxIGJpbmQgMCBpbnN0YWxsZWQgNCBzZWMgdXNlZCA0IHNlYwogCUFj dGlvbiBzdGF0aXN0aWNzOgoJU2VudCAwIGJ5dGVzIDAgcGt0IChkcm9wcGVkIDAsIG92ZXJsaW1p dHMgMCByZXF1ZXVlcyAwKQoJYmFja2xvZyAwYiAwcCByZXF1ZXVlcyAwCgokIHN1ZG8gJFRDIC1z IGFjdGlvbnMgZ2V0IGFjdGlvbiBnYWN0IGluZGV4IDEwCgoJYWN0aW9uIG9yZGVyIDE6IGdhY3Qg YWN0aW9uIGRyb3AKCSByYW5kb20gdHlwZSBub25lIHBhc3MgdmFsIDAKCSBpbmRleCAxMCByZWYg MSBiaW5kIDAgaW5zdGFsbGVkIDYgc2VjIHVzZWQgNiBzZWMKIAlBY3Rpb24gc3RhdGlzdGljczoK CVNlbnQgMCBieXRlcyAwIHBrdCAoZHJvcHBlZCAwLCBvdmVybGltaXRzIDAgcmVxdWV1ZXMgMCkK CWJhY2tsb2cgMGIgMHAgcmVxdWV1ZXMgMAoKJCBzdWRvICRUQyBxZGlzYyBhZGQgZGV2IGxvIGlu Z3Jlc3MKJCBzdWRvICRUQyBmaWx0ZXIgYWRkIGRldiBsbyBwYXJlbnQgZmZmZjogcHJvdG9jb2wg aXAgcHJpbyAxIFwKICB1MzIgbWF0Y2ggaXAgZHN0IDEyNy4wLjAuMS8zMiBmbG93aWQgMToxIGFj dGlvbiBnYWN0IGluZGV4IDEwCgokIHN1ZG8gJFRDIC1zIGFjdGlvbnMgZ2V0IGFjdGlvbiBnYWN0 IGluZGV4IDEwCgoJYWN0aW9uIG9yZGVyIDE6IGdhY3QgYWN0aW9uIGRyb3AKCSByYW5kb20gdHlw ZSBub25lIHBhc3MgdmFsIDAKCSBpbmRleCAxMCByZWYgMiBiaW5kIDEgaW5zdGFsbGVkIDMyIHNl YyB1c2VkIDMyIHNlYwogCUFjdGlvbiBzdGF0aXN0aWNzOgoJU2VudCAwIGJ5dGVzIDAgcGt0IChk cm9wcGVkIDAsIG92ZXJsaW1pdHMgMCByZXF1ZXVlcyAwKQoJYmFja2xvZyAwYiAwcCByZXF1ZXVl cyAwCgokIHN1ZG8gJFRDIC1zIGFjdGlvbnMgZ2V0IGFjdGlvbiBnYWN0IGluZGV4IDEwCgoJYWN0 aW9uIG9yZGVyIDE6IGdhY3QgYWN0aW9uIGRyb3AKCSByYW5kb20gdHlwZSBub25lIHBhc3MgdmFs IDAKCSBpbmRleCAxMCByZWYgMiBiaW5kIDEgaW5zdGFsbGVkIDMzIHNlYyB1c2VkIDMzIHNlYwog CUFjdGlvbiBzdGF0aXN0aWNzOgoJU2VudCAwIGJ5dGVzIDAgcGt0IChkcm9wcGVkIDAsIG92ZXJs aW1pdHMgMCByZXF1ZXVlcyAwKQoJYmFja2xvZyAwYiAwcCByZXF1ZXVlcyAwCgpGaXhlczogYWVj YzVjZWZjMzg5ICgibmV0IHNjaGVkIGFjdGlvbnM6IGZpeCBHRVRpbmcgYWN0aW9ucyIpClNpZ25l ZC1vZmYtYnk6IEphbWFsIEhhZGkgU2FsaW0gPGpoc0Btb2phdGF0dS5jb20+ClNpZ25lZC1vZmYt Ynk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBuZXQvc2NoZWQv YWN0X2FwaS5jIHwgNSArKy0tLQogMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMyBk ZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9uZXQvc2NoZWQvYWN0X2FwaS5jIGIvbmV0L3NjaGVk L2FjdF9hcGkuYwppbmRleCBmODkzZDE4Li5jNmMyYTkzIDEwMDY0NAotLS0gYS9uZXQvc2NoZWQv YWN0X2FwaS5jCisrKyBiL25ldC9zY2hlZC9hY3RfYXBpLmMKQEAgLTkwMyw4ICs5MDMsNiBAQCB0 Y2FfYWN0aW9uX2dkKHN0cnVjdCBuZXQgKm5ldCwgc3RydWN0IG5sYXR0ciAqbmxhLCBzdHJ1Y3Qg bmxtc2doZHIgKm4sCiAJCQlnb3RvIGVycjsKIAkJfQogCQlhY3QtPm9yZGVyID0gaTsKLQkJaWYg KGV2ZW50ID09IFJUTV9HRVRBQ1RJT04pCi0JCQlhY3QtPnRjZmFfcmVmY250Kys7CiAJCWxpc3Rf YWRkX3RhaWwoJmFjdC0+bGlzdCwgJmFjdGlvbnMpOwogCX0KIApAQCAtOTE3LDcgKzkxNSw4IEBA IHRjYV9hY3Rpb25fZ2Qoc3RydWN0IG5ldCAqbmV0LCBzdHJ1Y3QgbmxhdHRyICpubGEsIHN0cnVj dCBubG1zZ2hkciAqbiwKIAkJcmV0dXJuIHJldDsKIAl9CiBlcnI6Ci0JdGNmX2FjdGlvbl9kZXN0 cm95KCZhY3Rpb25zLCAwKTsKKwlpZiAoZXZlbnQgIT0gUlRNX0dFVEFDVElPTikKKwkJdGNmX2Fj dGlvbl9kZXN0cm95KCZhY3Rpb25zLCAwKTsKIAlyZXR1cm4gcmV0OwogfQogCi0tIAoyLjQuMTEK CgpGcm9tIGMxNWNkMGViNDA3MmM5OTIyNGY3N2M3MzA2ZDExY2U3ODExNzEyYzYgTW9uIFNlcCAx NyAwMDowMDowMCAyMDAxCkZyb206IFJvbGYgTmV1Z2ViYXVlciA8cm9sZi5uZXVnZWJhdWVyQGRv Y2tlci5jb20+CkRhdGU6IFR1ZSwgMTcgSmFuIDIwMTcgMTg6MTM6NTEgKzAwMDAKU3ViamVjdDog W1BBVENIIDE2LzMyXSB2aXJ0aW86IGRvbid0IHNldCBWSVJUSU9fTkVUX0hEUl9GX0RBVEFfVkFM SUQgb24geG1pdAoKWyBVcHN0cmVhbSBjb21taXQgNTAxZGI1MTEzOTdmZDZlZmZmM2FhNWI0ZThk ZTQxNWI1NTU1OTU1MCBdCgpUaGlzIHBhdGNoIHBhcnQgcmV2ZXJ0cyBmZDJhMDQzN2RjMzMgYW5k IGU4NThmYWUyYjBiOCB3aGljaCBpbnRyb2R1Y2VkIGEKc3VidGxlIGNoYW5nZSBpbiBob3cgdGhl IHZpcnRpb19uZXQgZmxhZ3MgYXJlIGRlcml2ZWQgZnJvbSB0aGUgU0tCcwppcF9zdW1tZWQgZmll bGQuCgpXaXRoIHRoZSBhYm92ZSBjb21taXRzLCB0aGUgZmxhZ3MgYXJlIHNldCB0byBWSVJUSU9f TkVUX0hEUl9GX0RBVEFfVkFMSUQKd2hlbiBpcF9zdW1tZWQgPT0gQ0hFQ0tTVU1fVU5ORUNFU1NB UlksIHRodXMgdHJlYXRpbmcgaXQgZGlmZmVyZW50bHkgdG8KaXBfc3VtbWVkID09IENIRUNLU1VN X05PTkUsIHdoaWNoIHNob3VsZCBiZSB0aGUgc2FtZS4KCkZ1cnRoZXIsIHRoZSB2aXJ0aW8gc3Bl YyAxLjAgLyBDUzA0IGV4cGxpY2l0bHkgc2F5cyB0aGF0ClZJUlRJT19ORVRfSERSX0ZfREFUQV9W QUxJRCBtdXN0IG5vdCBiZSBzZXQgYnkgdGhlIGRyaXZlci4KCkZpeGVzOiBmZDJhMDQzN2RjMzMg KCJ2aXJ0aW9fbmV0OiBpbnRyb2R1Y2UgdmlydGlvX25ldF9oZHJfe2Zyb20sdG99X3NrYiIpCkZp eGVzOiBlODU4ZmFlMmIwYjggKCIgdmlydGlvX25ldDogdXNlIGNvbW1vbiBjb2RlIGZvciB2aXJ0 aW9fbmV0X2hkciBhbmQgc2tiIEdTTyBjb252ZXJzaW9uIikKU2lnbmVkLW9mZi1ieTogUm9sZiBO ZXVnZWJhdWVyIDxyb2xmLm5ldWdlYmF1ZXJAZG9ja2VyLmNvbT4KQWNrZWQtYnk6IE1pY2hhZWwg Uy4gVHNpcmtpbiA8bXN0QHJlZGhhdC5jb20+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxl ciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBpbmNsdWRlL2xpbnV4L3ZpcnRpb19uZXQuaCB8 IDIgLS0KIDEgZmlsZSBjaGFuZ2VkLCAyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2luY2x1 ZGUvbGludXgvdmlydGlvX25ldC5oIGIvaW5jbHVkZS9saW51eC92aXJ0aW9fbmV0LmgKaW5kZXgg MWM5MTJmOC4uNDA5MTRiYiAxMDA2NDQKLS0tIGEvaW5jbHVkZS9saW51eC92aXJ0aW9fbmV0LmgK KysrIGIvaW5jbHVkZS9saW51eC92aXJ0aW9fbmV0LmgKQEAgLTkxLDggKzkxLDYgQEAgc3RhdGlj IGlubGluZSBpbnQgdmlydGlvX25ldF9oZHJfZnJvbV9za2IoY29uc3Qgc3RydWN0IHNrX2J1ZmYg KnNrYiwKIAkJCQlza2JfY2hlY2tzdW1fc3RhcnRfb2Zmc2V0KHNrYikpOwogCQloZHItPmNzdW1f b2Zmc2V0ID0gX19jcHVfdG9fdmlydGlvMTYobGl0dGxlX2VuZGlhbiwKIAkJCQlza2ItPmNzdW1f b2Zmc2V0KTsKLQl9IGVsc2UgaWYgKHNrYi0+aXBfc3VtbWVkID09IENIRUNLU1VNX1VOTkVDRVNT QVJZKSB7Ci0JCWhkci0+ZmxhZ3MgPSBWSVJUSU9fTkVUX0hEUl9GX0RBVEFfVkFMSUQ7CiAJfSAv KiBlbHNlIGV2ZXJ5dGhpbmcgaXMgemVybyAqLwogCiAJcmV0dXJuIDA7Ci0tIAoyLjQuMTEKCgpG cm9tIDFlMzdlODhhM2EzODQ4YjI1ZDVlY2M4NjEzNzk3MjU0MjcwN2ZhMjIgTW9uIFNlcCAxNyAw MDowMDowMCAyMDAxCkZyb206IEphc29uIFdhbmcgPGphc293YW5nQHJlZGhhdC5jb20+CkRhdGU6 IEZyaSwgMjAgSmFuIDIwMTcgMTQ6MzI6NDIgKzA4MDAKU3ViamVjdDogW1BBVENIIDE3LzMyXSB2 aXJ0aW8tbmV0OiByZXN0b3JlIFZJUlRJT19IRFJfRl9EQVRBX1ZBTElEIG9uCiByZWNlaXZpbmcK ClsgVXBzdHJlYW0gY29tbWl0IDYzOTFhNDQ4MWJhMDc5NjgwNWQ2NTgxZTQyZjlmMDQxOGMwOTll MzQgXQoKQ29tbWl0IDUwMWRiNTExMzk3ZiAoInZpcnRpbzogZG9uJ3Qgc2V0IFZJUlRJT19ORVRf SERSX0ZfREFUQV9WQUxJRCBvbgp4bWl0IikgaW4gZmFjdCBkaXNhYmxlcyBWSVJUSU9fSERSX0Zf REFUQV9WQUxJRCBvbiByZWNlaXZpbmcgcGF0aCB0b28sCmZpeGluZyB0aGlzIGJ5IGFkZGluZyBh IGhpbnQgKGhhc19kYXRhX3ZhbGlkKSBhbmQgc2V0IGl0IG9ubHkgb24gdGhlCnJlY2VpdmluZyBw YXRoLgoKQ2M6IFJvbGYgTmV1Z2ViYXVlciA8cm9sZi5uZXVnZWJhdWVyQGRvY2tlci5jb20+ClNp Z25lZC1vZmYtYnk6IEphc29uIFdhbmcgPGphc293YW5nQHJlZGhhdC5jb20+CkFja2VkLWJ5OiBS b2xmIE5ldWdlYmF1ZXIgPHJvbGYubmV1Z2ViYXVlckBkb2NrZXIuY29tPgpTaWduZWQtb2ZmLWJ5 OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogZHJpdmVycy9uZXQv bWFjdnRhcC5jICAgICAgfCAyICstCiBkcml2ZXJzL25ldC90dW4uYyAgICAgICAgICB8IDIgKy0K IGRyaXZlcnMvbmV0L3ZpcnRpb19uZXQuYyAgIHwgMiArLQogaW5jbHVkZS9saW51eC92aXJ0aW9f bmV0LmggfCA2ICsrKysrLQogbmV0L3BhY2tldC9hZl9wYWNrZXQuYyAgICAgfCAyICstCiA1IGZp bGVzIGNoYW5nZWQsIDkgaW5zZXJ0aW9ucygrKSwgNSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQg YS9kcml2ZXJzL25ldC9tYWN2dGFwLmMgYi9kcml2ZXJzL25ldC9tYWN2dGFwLmMKaW5kZXggNzg2 OWIwNi4uNmYzOGRhZiAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvbWFjdnRhcC5jCisrKyBiL2Ry aXZlcnMvbmV0L21hY3Z0YXAuYwpAQCAtODI3LDcgKzgyNyw3IEBAIHN0YXRpYyBzc2l6ZV90IG1h Y3Z0YXBfcHV0X3VzZXIoc3RydWN0IG1hY3Z0YXBfcXVldWUgKnEsCiAJCQlyZXR1cm4gLUVJTlZB TDsKIAogCQlyZXQgPSB2aXJ0aW9fbmV0X2hkcl9mcm9tX3NrYihza2IsICZ2bmV0X2hkciwKLQkJ CQkJICAgICAgbWFjdnRhcF9pc19saXR0bGVfZW5kaWFuKHEpKTsKKwkJCQkJICAgICAgbWFjdnRh cF9pc19saXR0bGVfZW5kaWFuKHEpLCB0cnVlKTsKIAkJaWYgKHJldCkKIAkJCUJVRygpOwogCmRp ZmYgLS1naXQgYS9kcml2ZXJzL25ldC90dW4uYyBiL2RyaXZlcnMvbmV0L3R1bi5jCmluZGV4IGRi NmFjZWMuLjE4NDAyZDcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L3R1bi5jCisrKyBiL2RyaXZl cnMvbmV0L3R1bi5jCkBAIC0xMzc0LDcgKzEzNzQsNyBAQCBzdGF0aWMgc3NpemVfdCB0dW5fcHV0 X3VzZXIoc3RydWN0IHR1bl9zdHJ1Y3QgKnR1biwKIAkJCXJldHVybiAtRUlOVkFMOwogCiAJCXJl dCA9IHZpcnRpb19uZXRfaGRyX2Zyb21fc2tiKHNrYiwgJmdzbywKLQkJCQkJICAgICAgdHVuX2lz X2xpdHRsZV9lbmRpYW4odHVuKSk7CisJCQkJCSAgICAgIHR1bl9pc19saXR0bGVfZW5kaWFuKHR1 biksIHRydWUpOwogCQlpZiAocmV0KSB7CiAJCQlzdHJ1Y3Qgc2tiX3NoYXJlZF9pbmZvICpzaW5m byA9IHNrYl9zaGluZm8oc2tiKTsKIAkJCXByX2VycigidW5leHBlY3RlZCBHU08gdHlwZTogIgpk aWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvdmlydGlvX25ldC5jIGIvZHJpdmVycy9uZXQvdmlydGlv X25ldC5jCmluZGV4IGNiZjFjNjEuLjUxZmMwYzMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L3Zp cnRpb19uZXQuYworKysgYi9kcml2ZXJzL25ldC92aXJ0aW9fbmV0LmMKQEAgLTg0MCw3ICs4NDAs NyBAQCBzdGF0aWMgaW50IHhtaXRfc2tiKHN0cnVjdCBzZW5kX3F1ZXVlICpzcSwgc3RydWN0IHNr X2J1ZmYgKnNrYikKIAkJaGRyID0gc2tiX3ZuZXRfaGRyKHNrYik7CiAKIAlpZiAodmlydGlvX25l dF9oZHJfZnJvbV9za2Ioc2tiLCAmaGRyLT5oZHIsCi0JCQkJICAgIHZpcnRpb19pc19saXR0bGVf ZW5kaWFuKHZpLT52ZGV2KSkpCisJCQkJICAgIHZpcnRpb19pc19saXR0bGVfZW5kaWFuKHZpLT52 ZGV2KSwgZmFsc2UpKQogCQlCVUcoKTsKIAogCWlmICh2aS0+bWVyZ2VhYmxlX3J4X2J1ZnMpCmRp ZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L3ZpcnRpb19uZXQuaCBiL2luY2x1ZGUvbGludXgvdmly dGlvX25ldC5oCmluZGV4IDQwOTE0YmIuLmYyMTFjMzQgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvbGlu dXgvdmlydGlvX25ldC5oCisrKyBiL2luY2x1ZGUvbGludXgvdmlydGlvX25ldC5oCkBAIC01Niw3 ICs1Niw4IEBAIHN0YXRpYyBpbmxpbmUgaW50IHZpcnRpb19uZXRfaGRyX3RvX3NrYihzdHJ1Y3Qg c2tfYnVmZiAqc2tiLAogCiBzdGF0aWMgaW5saW5lIGludCB2aXJ0aW9fbmV0X2hkcl9mcm9tX3Nr Yihjb25zdCBzdHJ1Y3Qgc2tfYnVmZiAqc2tiLAogCQkJCQkgIHN0cnVjdCB2aXJ0aW9fbmV0X2hk ciAqaGRyLAotCQkJCQkgIGJvb2wgbGl0dGxlX2VuZGlhbikKKwkJCQkJICBib29sIGxpdHRsZV9l bmRpYW4sCisJCQkJCSAgYm9vbCBoYXNfZGF0YV92YWxpZCkKIHsKIAltZW1zZXQoaGRyLCAwLCBz aXplb2YoKmhkcikpOwogCkBAIC05MSw2ICs5Miw5IEBAIHN0YXRpYyBpbmxpbmUgaW50IHZpcnRp b19uZXRfaGRyX2Zyb21fc2tiKGNvbnN0IHN0cnVjdCBza19idWZmICpza2IsCiAJCQkJc2tiX2No ZWNrc3VtX3N0YXJ0X29mZnNldChza2IpKTsKIAkJaGRyLT5jc3VtX29mZnNldCA9IF9fY3B1X3Rv X3ZpcnRpbzE2KGxpdHRsZV9lbmRpYW4sCiAJCQkJc2tiLT5jc3VtX29mZnNldCk7CisJfSBlbHNl IGlmIChoYXNfZGF0YV92YWxpZCAmJgorCQkgICBza2ItPmlwX3N1bW1lZCA9PSBDSEVDS1NVTV9V Tk5FQ0VTU0FSWSkgeworCQloZHItPmZsYWdzID0gVklSVElPX05FVF9IRFJfRl9EQVRBX1ZBTElE OwogCX0gLyogZWxzZSBldmVyeXRoaW5nIGlzIHplcm8gKi8KIAogCXJldHVybiAwOwpkaWZmIC0t Z2l0IGEvbmV0L3BhY2tldC9hZl9wYWNrZXQuYyBiL25ldC9wYWNrZXQvYWZfcGFja2V0LmMKaW5k ZXggZGQyMzMyMy4uOTRlNGE1OSAxMDA2NDQKLS0tIGEvbmV0L3BhY2tldC9hZl9wYWNrZXQuYwor KysgYi9uZXQvcGFja2V0L2FmX3BhY2tldC5jCkBAIC0xOTcyLDcgKzE5NzIsNyBAQCBzdGF0aWMg aW50IF9fcGFja2V0X3Jjdl92bmV0KGNvbnN0IHN0cnVjdCBza19idWZmICpza2IsCiB7CiAJKnZu ZXRfaGRyID0gKGNvbnN0IHN0cnVjdCB2aXJ0aW9fbmV0X2hkcikgeyAwIH07CiAKLQlpZiAodmly dGlvX25ldF9oZHJfZnJvbV9za2Ioc2tiLCB2bmV0X2hkciwgdmlvX2xlKCkpKQorCWlmICh2aXJ0 aW9fbmV0X2hkcl9mcm9tX3NrYihza2IsIHZuZXRfaGRyLCB2aW9fbGUoKSwgdHJ1ZSkpCiAJCUJV RygpOwogCiAJcmV0dXJuIDA7Ci0tIAoyLjQuMTEKCgpGcm9tIDM4MDAzOGRjN2ZjYzkyYmE2NjU3 MWYyOTk0Y2E2NzE1MTNmYmRhZjcgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IExhbmNl IFJpY2hhcmRzb24gPGxyaWNoYXJkQHJlZGhhdC5jb20+CkRhdGU6IE1vbiwgMTYgSmFuIDIwMTcg MTg6Mzc6NTggLTA1MDAKU3ViamVjdDogW1BBVENIIDE4LzMyXSB2eGxhbjogZml4IGJ5dGUgb3Jk ZXIgb2YgdnhsYW4tZ3BlIHBvcnQgbnVtYmVyCgpbIFVwc3RyZWFtIGNvbW1pdCBkNWZmNzJkOWFm NzNiYzNjYmFhM2VkYjU0MTMzM2E4NTFmOGM3Mjk1IF0KCnZ4bGFuLT5jZmcuZHN0X3BvcnQgaXMg aW4gbmV0d29yayBieXRlIG9yZGVyLCBzbyBhbiBodG9ucygpCmlzIG5lZWRlZCBoZXJlLiBBbHNv IHJlZHVjZWQgY29tbWVudCBsZW5ndGggdG8gc3RheSBjbG9zZXIKdG8gODAgY29sdW1uIHdpZHRo IChzdGlsbCBzbGlnaHRseSBvdmVyLCBob3dldmVyKS4KCkZpeGVzOiBlMWU1MzE0ZGUwOGIgKCJ2 eGxhbjogaW1wbGVtZW50IEdQRSIpClNpZ25lZC1vZmYtYnk6IExhbmNlIFJpY2hhcmRzb24gPGxy aWNoYXJkQHJlZGhhdC5jb20+CkFja2VkLWJ5OiBKaXJpIEJlbmMgPGpiZW5jQHJlZGhhdC5jb20+ ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0t CiBkcml2ZXJzL25ldC92eGxhbi5jIHwgMiArLQogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9u KCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvdnhsYW4uYyBiL2Ry aXZlcnMvbmV0L3Z4bGFuLmMKaW5kZXggMmJhMDFjYS4uMGZhZmFhOSAxMDA2NDQKLS0tIGEvZHJp dmVycy9uZXQvdnhsYW4uYworKysgYi9kcml2ZXJzL25ldC92eGxhbi5jCkBAIC0yODg3LDcgKzI4 ODcsNyBAQCBzdGF0aWMgaW50IHZ4bGFuX2Rldl9jb25maWd1cmUoc3RydWN0IG5ldCAqc3JjX25l dCwgc3RydWN0IG5ldF9kZXZpY2UgKmRldiwKIAltZW1jcHkoJnZ4bGFuLT5jZmcsIGNvbmYsIHNp emVvZigqY29uZikpOwogCWlmICghdnhsYW4tPmNmZy5kc3RfcG9ydCkgewogCQlpZiAoY29uZi0+ ZmxhZ3MgJiBWWExBTl9GX0dQRSkKLQkJCXZ4bGFuLT5jZmcuZHN0X3BvcnQgPSA0NzkwOyAvKiBJ QU5BIGFzc2lnbmVkIFZYTEFOLUdQRSBwb3J0ICovCisJCQl2eGxhbi0+Y2ZnLmRzdF9wb3J0ID0g aHRvbnMoNDc5MCk7IC8qIElBTkEgVlhMQU4tR1BFIHBvcnQgKi8KIAkJZWxzZQogCQkJdnhsYW4t PmNmZy5kc3RfcG9ydCA9IGRlZmF1bHRfcG9ydDsKIAl9Ci0tIAoyLjQuMTEKCgpGcm9tIGYyYWZi Mzg1NzhhMzc3NWI5ZjIxYWNkNzMwNWY3YmQyNjEzYTE0MDkgTW9uIFNlcCAxNyAwMDowMDowMCAy MDAxCkZyb206IEVyaWMgRHVtYXpldCA8ZWR1bWF6ZXRAZ29vZ2xlLmNvbT4KRGF0ZTogV2VkLCAx OCBKYW4gMjAxNyAxMjoxMjoxNyAtMDgwMApTdWJqZWN0OiBbUEFUQ0ggMTkvMzJdIG5ldDogZml4 IGhhcm1vbml6ZV9mZWF0dXJlcygpIHZzIE5FVElGX0ZfSElHSERNQQoKWyBVcHN0cmVhbSBjb21t aXQgN2JlMmM4MmNmZDVkMjhkN2FkYjY2ODIxYTk5MjYwNGViNmRkMTEyZSBdCgpBc2hpenVrYSBy ZXBvcnRlZCBhIGhpZ2htZW0gb2RkaXR5IGFuZCBzZW50IGEgcGF0Y2ggZm9yIGZyZWVzY2FsZQpm ZWMgZHJpdmVyLgoKQnV0IHRoZSBwcm9ibGVtIHJvb3QgY2F1c2UgaXMgdGhhdCBjb3JlIG5ldHdv cmtpbmcgc3RhY2sKbXVzdCBlbnN1cmUgbm8gc2tiIHdpdGggaGlnaG1lbSBmcmFnbWVudCBpcyBl dmVyIHNlbnQgdGhyb3VnaAphIGRldmljZSB0aGF0IGRvZXMgbm90IGFzc2VydCBORVRJRl9GX0hJ R0hETUEgaW4gaXRzIGZlYXR1cmVzLgoKV2UgbmVlZCB0byBjYWxsIGlsbGVnYWxfaGlnaGRtYSgp IGZyb20gaGFybW9uaXplX2ZlYXR1cmVzKCkKcmVnYXJkbGVzcyBvZiBDU1VNIGNoZWNrcy4KCkZp eGVzOiBlYzVmMDYxNTY0MjMgKCJuZXQ6IEtpbGwgbGluayBiZXR3ZWVuIENTVU0gYW5kIFNHIGZl YXR1cmVzLiIpClNpZ25lZC1vZmYtYnk6IEVyaWMgRHVtYXpldCA8ZWR1bWF6ZXRAZ29vZ2xlLmNv bT4KQ2M6IFByYXZpbiBTaGVsYXIgPHBzaGVsYXJAb3ZuLm9yZz4KUmVwb3J0ZWQtYnk6ICJBc2hp enVrYSwgWXV1c3VrZSIgPGFzaGlkdWthQGpwLmZ1aml0c3UuY29tPgpTaWduZWQtb2ZmLWJ5OiBE YXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogbmV0L2NvcmUvZGV2LmMg fCA0ICsrLS0KIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0p CgpkaWZmIC0tZ2l0IGEvbmV0L2NvcmUvZGV2LmMgYi9uZXQvY29yZS9kZXYuYwppbmRleCBlMWQ3 MzFmLi5kZjUxYzUwIDEwMDY0NAotLS0gYS9uZXQvY29yZS9kZXYuYworKysgYi9uZXQvY29yZS9k ZXYuYwpAQCAtMjgxNSw5ICsyODE1LDkgQEAgc3RhdGljIG5ldGRldl9mZWF0dXJlc190IGhhcm1v bml6ZV9mZWF0dXJlcyhzdHJ1Y3Qgc2tfYnVmZiAqc2tiLAogCWlmIChza2ItPmlwX3N1bW1lZCAh PSBDSEVDS1NVTV9OT05FICYmCiAJICAgICFjYW5fY2hlY2tzdW1fcHJvdG9jb2woZmVhdHVyZXMs IHR5cGUpKSB7CiAJCWZlYXR1cmVzICY9IH4oTkVUSUZfRl9DU1VNX01BU0sgfCBORVRJRl9GX0dT T19NQVNLKTsKLQl9IGVsc2UgaWYgKGlsbGVnYWxfaGlnaGRtYShza2ItPmRldiwgc2tiKSkgewot CQlmZWF0dXJlcyAmPSB+TkVUSUZfRl9TRzsKIAl9CisJaWYgKGlsbGVnYWxfaGlnaGRtYShza2It PmRldiwgc2tiKSkKKwkJZmVhdHVyZXMgJj0gfk5FVElGX0ZfU0c7CiAKIAlyZXR1cm4gZmVhdHVy ZXM7CiB9Ci0tIAoyLjQuMTEKCgpGcm9tIDE2NzY0MjhhYzNhOWYzOTA3YmZkNmU2Mzc3YTYwMzlk YzdhYTMwMjQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IERhbmllbCBHb256YWxleiBD YWJhbmVsYXMgPGRnY2J1ZXVAZ21haWwuY29tPgpEYXRlOiBUdWUsIDE3IEphbiAyMDE3IDE2OjI2 OjU1IC0wODAwClN1YmplY3Q6IFtQQVRDSCAyMC8zMl0gbmV0OiBwaHk6IGJjbTYzeHg6IFV0aWxp emUgY29ycmVjdCBjb25maWdfaW50ciBmdW5jdGlvbgoKWyBVcHN0cmVhbSBjb21taXQgY2QzM2Iz ZTBkYTQzNTIyZmY4ZThmMmIyYjcxZDNkMDgyOTg1MTJiMCBdCgpDb21taXQgYTFjYmE1NjEzZWRm ICgibmV0OiBwaHk6IEFkZCBCcm9hZGNvbSBwaHkgbGlicmFyeSBmb3IgY29tbW9uCmludGVyZmFj ZXMiKSBtYWtlIHRoZSBCQ002M3h4IFBIWSBkcml2ZXIgdXRpbGl6ZSBiY21fcGh5X2NvbmZpZ19p bnRyKCkKd2hpY2ggd291bGQgYXBwZWFyIHRvIGRvIHRoZSByaWdodCB0aGluZywgZXhjZXB0IHRo YXQgaXQgZG9lcyBub3Qgd3JpdGUKdG8gdGhlIE1JSV9CQ002M1hYX0lSIHJlZ2lzdGVyIGJ1dCB0 byBNSUlfQkNNNTRYWF9FQ1Igd2hpY2ggaXMKZGlmZmVyZW50LgoKVGhpcyB3b3VsZCBiZSBjYXVz aW5nIGludmFsaWQgbGluayBwYXJhbWV0ZXJzIGFuZCBldmVudHMgZnJvbSBiZWluZwpnZW5lcmF0 ZWQgYnkgdGhlIFBIWSBpbnRlcnJ1cHQuCgpGaXhlczogYTFjYmE1NjEzZWRmICgibmV0OiBwaHk6 IEFkZCBCcm9hZGNvbSBwaHkgbGlicmFyeSBmb3IgY29tbW9uIGludGVyZmFjZXMiKQpTaWduZWQt b2ZmLWJ5OiBEYW5pZWwgR29uemFsZXogQ2FiYW5lbGFzIDxkZ2NidWV1QGdtYWlsLmNvbT4KU2ln bmVkLW9mZi1ieTogRmxvcmlhbiBGYWluZWxsaSA8Zi5mYWluZWxsaUBnbWFpbC5jb20+ClNpZ25l ZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBkcml2 ZXJzL25ldC9waHkvYmNtNjN4eC5jIHwgMjEgKysrKysrKysrKysrKysrKysrKy0tCiAxIGZpbGUg Y2hhbmdlZCwgMTkgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9k cml2ZXJzL25ldC9waHkvYmNtNjN4eC5jIGIvZHJpdmVycy9uZXQvcGh5L2JjbTYzeHguYwppbmRl eCBlNzQxYmY2Li5iMDQ5MmVmIDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC9waHkvYmNtNjN4eC5j CisrKyBiL2RyaXZlcnMvbmV0L3BoeS9iY202M3h4LmMKQEAgLTIxLDYgKzIxLDIzIEBAIE1PRFVM RV9ERVNDUklQVElPTigiQnJvYWRjb20gNjN4eCBpbnRlcm5hbCBQSFkgZHJpdmVyIik7CiBNT0RV TEVfQVVUSE9SKCJNYXhpbWUgQml6b24gPG1iaXpvbkBmcmVlYm94LmZyPiIpOwogTU9EVUxFX0xJ Q0VOU0UoIkdQTCIpOwogCitzdGF0aWMgaW50IGJjbTYzeHhfY29uZmlnX2ludHIoc3RydWN0IHBo eV9kZXZpY2UgKnBoeWRldikKK3sKKwlpbnQgcmVnLCBlcnI7CisKKwlyZWcgPSBwaHlfcmVhZChw aHlkZXYsIE1JSV9CQ002M1hYX0lSKTsKKwlpZiAocmVnIDwgMCkKKwkJcmV0dXJuIHJlZzsKKwor CWlmIChwaHlkZXYtPmludGVycnVwdHMgPT0gUEhZX0lOVEVSUlVQVF9FTkFCTEVEKQorCQlyZWcg Jj0gfk1JSV9CQ002M1hYX0lSX0dNQVNLOworCWVsc2UKKwkJcmVnIHw9IE1JSV9CQ002M1hYX0lS X0dNQVNLOworCisJZXJyID0gcGh5X3dyaXRlKHBoeWRldiwgTUlJX0JDTTYzWFhfSVIsIHJlZyk7 CisJcmV0dXJuIGVycjsKK30KKwogc3RhdGljIGludCBiY202M3h4X2NvbmZpZ19pbml0KHN0cnVj dCBwaHlfZGV2aWNlICpwaHlkZXYpCiB7CiAJaW50IHJlZywgZXJyOwpAQCAtNTUsNyArNzIsNyBA QCBzdGF0aWMgc3RydWN0IHBoeV9kcml2ZXIgYmNtNjN4eF9kcml2ZXJbXSA9IHsKIAkuY29uZmln X2FuZWcJPSBnZW5waHlfY29uZmlnX2FuZWcsCiAJLnJlYWRfc3RhdHVzCT0gZ2VucGh5X3JlYWRf c3RhdHVzLAogCS5hY2tfaW50ZXJydXB0CT0gYmNtX3BoeV9hY2tfaW50ciwKLQkuY29uZmlnX2lu dHIJPSBiY21fcGh5X2NvbmZpZ19pbnRyLAorCS5jb25maWdfaW50cgk9IGJjbTYzeHhfY29uZmln X2ludHIsCiB9LCB7CiAJLyogc2FtZSBwaHkgYXMgYWJvdmUsIHdpdGgganVzdCBhIGRpZmZlcmVu dCBPVUkgKi8KIAkucGh5X2lkCQk9IDB4MDAyYmRjMDAsCkBAIC02Nyw3ICs4NCw3IEBAIHN0YXRp YyBzdHJ1Y3QgcGh5X2RyaXZlciBiY202M3h4X2RyaXZlcltdID0gewogCS5jb25maWdfYW5lZwk9 IGdlbnBoeV9jb25maWdfYW5lZywKIAkucmVhZF9zdGF0dXMJPSBnZW5waHlfcmVhZF9zdGF0dXMs CiAJLmFja19pbnRlcnJ1cHQJPSBiY21fcGh5X2Fja19pbnRyLAotCS5jb25maWdfaW50cgk9IGJj bV9waHlfY29uZmlnX2ludHIsCisJLmNvbmZpZ19pbnRyCT0gYmNtNjN4eF9jb25maWdfaW50ciwK IH0gfTsKIAogbW9kdWxlX3BoeV9kcml2ZXIoYmNtNjN4eF9kcml2ZXIpOwotLSAKMi40LjExCgoK RnJvbSA3MjZhYzZhYWYyNzQ2Y2I4ZmJlZDE4MTlhNjUzZTFlNDUyOTJlZmJkIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBEYXZpZCBBaGVybiA8ZHNhQGN1bXVsdXNuZXR3b3Jrcy5jb20+ CkRhdGU6IFR1ZSwgMTcgSmFuIDIwMTcgMTQ6NTc6MzYgLTA4MDAKU3ViamVjdDogW1BBVENIIDIx LzMyXSBsd3R1bm5lbDogZml4IGF1dG9sb2FkIG9mIGx3dCBtb2R1bGVzCgpbIFVwc3RyZWFtIGNv bW1pdCA5ZWQ1OTU5MmUzZTM3OWIyZTk1NTdkYzFkOWU5ZWM4ZmNiYjMzZjE2XQoKVHJ5aW5nIHRv IGFkZCBhbiBtcGxzIGVuY2FwIHJvdXRlIHdoZW4gdGhlIE1QTFMgbW9kdWxlcyBhcmUgbm90IGxv YWRlZApoYW5ncy4gRm9yIGV4YW1wbGU6CgogICAgQ09ORklHX01QTFM9eQogICAgQ09ORklHX05F VF9NUExTX0dTTz1tCiAgICBDT05GSUdfTVBMU19ST1VUSU5HPW0KICAgIENPTkZJR19NUExTX0lQ VFVOTkVMPW0KCiAgICAkIGlwIHJvdXRlIGFkZCAxMC4xMC4xMC4xMC8zMiBlbmNhcCBtcGxzIDEw MCB2aWEgaW5ldCAxMC4xMDAuMS4yCgpUaGUgaXAgY29tbWFuZCBoYW5nczoKcm9vdCAgICAgICA4 ODAgICA4MjYgIDAgMjE6MjUgcHRzLzAgICAgMDA6MDA6MDAgaXAgcm91dGUgYWRkIDEwLjEwLjEw LjEwLzMyIGVuY2FwIG1wbHMgMTAwIHZpYSBpbmV0IDEwLjEwMC4xLjIKCiAgICAkIGNhdCAvcHJv Yy84ODAvc3RhY2sKICAgIFs8ZmZmZmZmZmY4MTA2NWE5Yj5dIGNhbGxfdXNlcm1vZGVoZWxwZXJf ZXhlYysweGQ2LzB4MTM0CiAgICBbPGZmZmZmZmZmODEwNjVlZmM+XSBfX3JlcXVlc3RfbW9kdWxl KzB4MjdiLzB4MzBhCiAgICBbPGZmZmZmZmZmODE0NTQyZjY+XSBsd3R1bm5lbF9idWlsZF9zdGF0 ZSsweGU0LzB4MTc4CiAgICBbPGZmZmZmZmZmODE0YWExZTQ+XSBmaWJfY3JlYXRlX2luZm8rMHg0 N2YvMHhkZDQKICAgIFs8ZmZmZmZmZmY4MTRhZTQ1MT5dIGZpYl90YWJsZV9pbnNlcnQrMHg5MC8w eDQxZgogICAgWzxmZmZmZmZmZjgxNGE4MDEwPl0gaW5ldF9ydG1fbmV3cm91dGUrMHg0Yi8weDUy CiAgICAuLi4KCm1vZHByb2JlIGlzIHRyeWluZyB0byBsb2FkIHJ0bmwtbHd0LU1QTFM6Cgpyb290 ICAgICAgIDg4MSAgICAgNSAgMCAyMToyNSA/ICAgICAgICAwMDowMDowMCAvc2Jpbi9tb2Rwcm9i ZSAtcSAtLSBydG5sLWx3dC1NUExTCgphbmQgaXQgaGFuZ3MgYWZ0ZXIgbG9hZGluZyBtcGxzX3Jv dXRlcjoKCiAgICAkIGNhdCAvcHJvYy84ODEvc3RhY2sKICAgIFs8ZmZmZmZmZmY4MTQ0MTUzNz5d IHJ0bmxfbG9jaysweDEyLzB4MTQKICAgIFs8ZmZmZmZmZmY4MTQyY2EyYT5dIHJlZ2lzdGVyX25l dGRldmljZV9ub3RpZmllcisweDE2LzB4MTc5CiAgICBbPGZmZmZmZmZmYTAwMzMwMjU+XSBtcGxz X2luaXQrMHgyNS8weDEwMDAgW21wbHNfcm91dGVyXQogICAgWzxmZmZmZmZmZjgxMDAwNDcxPl0g ZG9fb25lX2luaXRjYWxsKzB4OGUvMHgxM2YKICAgIFs8ZmZmZmZmZmY4MTExOTk2MT5dIGRvX2lu aXRfbW9kdWxlKzB4NWEvMHgxZTUKICAgIFs8ZmZmZmZmZmY4MTBiZDA3MD5dIGxvYWRfbW9kdWxl KzB4MTNiZC8weDE3ZDYKICAgIC4uLgoKVGhlIHByb2JsZW0gaXMgdGhhdCBsd3R1bm5lbF9idWls ZF9zdGF0ZSBpcyBjYWxsZWQgd2l0aCBydG5sIGxvY2sKaGVsZCBwcmV2ZW50aW5nIG1wbHNfaW5p dCBmcm9tIHJlZ2lzdGVyaW5nLgoKR2l2ZW4gdGhlIHBvdGVudGlhbCByZWZlcmVuY2VzIGhlbGQg YnkgdGhlIHRpbWUgbHd0dW5uZWxfYnVpbGRfc3RhdGUgaXQKY2FuIG5vdCBkcm9wIHRoZSBydG5s IGxvY2sgdG8gdGhlIGxvYWQgbW9kdWxlLiBTbywgZXh0cmFjdCB0aGUgbW9kdWxlCmxvYWRpbmcg Y29kZSBmcm9tIGx3dHVubmVsX2J1aWxkX3N0YXRlIGludG8gYSBuZXcgZnVuY3Rpb24gdG8gdmFs aWRhdGUKdGhlIGVuY2FwIHR5cGUuIFRoZSBuZXcgZnVuY3Rpb24gaXMgY2FsbGVkIHdoaWxlIGNv bnZlcnRpbmcgdGhlIHVzZXIKcmVxdWVzdCBpbnRvIGEgZmliX2NvbmZpZyB3aGljaCBpcyB3ZWxs IGJlZm9yZSBhbnkgdGFibGUsIGRldmljZSBvcgpmaWIgZW50cmllcyBhcmUgZXhhbWluZWQuCgpG aXhlczogNzQ1MDQxZTJhYWYxICgibHd0dW5uZWw6IGF1dG9sb2FkIG9mIGx3dCBtb2R1bGVzIikK U2lnbmVkLW9mZi1ieTogRGF2aWQgQWhlcm4gPGRzYUBjdW11bHVzbmV0d29ya3MuY29tPgpTaWdu ZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogaW5j bHVkZS9uZXQvbHd0dW5uZWwuaCAgfCAxMSArKysrKysrKysKIG5ldC9jb3JlL2x3dHVubmVsLmMg ICAgIHwgNjIgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0t LQogbmV0L2lwdjQvZmliX2Zyb250ZW5kLmMgfCAgOCArKysrKysrCiBuZXQvaXB2Ni9yb3V0ZS5j ICAgICAgICB8IDEyICsrKysrKysrKy0KIDQgZmlsZXMgY2hhbmdlZCwgODYgaW5zZXJ0aW9ucygr KSwgNyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9pbmNsdWRlL25ldC9sd3R1bm5lbC5oIGIv aW5jbHVkZS9uZXQvbHd0dW5uZWwuaAppbmRleCBlYTNmODBmLi45NTU4MWNhIDEwMDY0NAotLS0g YS9pbmNsdWRlL25ldC9sd3R1bm5lbC5oCisrKyBiL2luY2x1ZGUvbmV0L2x3dHVubmVsLmgKQEAg LTEwNiw2ICsxMDYsOCBAQCBpbnQgbHd0dW5uZWxfZW5jYXBfYWRkX29wcyhjb25zdCBzdHJ1Y3Qg bHd0dW5uZWxfZW5jYXBfb3BzICpvcCwKIAkJCSAgIHVuc2lnbmVkIGludCBudW0pOwogaW50IGx3 dHVubmVsX2VuY2FwX2RlbF9vcHMoY29uc3Qgc3RydWN0IGx3dHVubmVsX2VuY2FwX29wcyAqb3As CiAJCQkgICB1bnNpZ25lZCBpbnQgbnVtKTsKK2ludCBsd3R1bm5lbF92YWxpZF9lbmNhcF90eXBl KHUxNiBlbmNhcF90eXBlKTsKK2ludCBsd3R1bm5lbF92YWxpZF9lbmNhcF90eXBlX2F0dHIoc3Ry dWN0IG5sYXR0ciAqYXR0ciwgaW50IGxlbik7CiBpbnQgbHd0dW5uZWxfYnVpbGRfc3RhdGUoc3Ry dWN0IG5ldF9kZXZpY2UgKmRldiwgdTE2IGVuY2FwX3R5cGUsCiAJCQkgc3RydWN0IG5sYXR0ciAq ZW5jYXAsCiAJCQkgdW5zaWduZWQgaW50IGZhbWlseSwgY29uc3Qgdm9pZCAqY2ZnLApAQCAtMTY5 LDYgKzE3MSwxNSBAQCBzdGF0aWMgaW5saW5lIGludCBsd3R1bm5lbF9lbmNhcF9kZWxfb3BzKGNv bnN0IHN0cnVjdCBsd3R1bm5lbF9lbmNhcF9vcHMgKm9wLAogCXJldHVybiAtRU9QTk9UU1VQUDsK IH0KIAorc3RhdGljIGlubGluZSBpbnQgbHd0dW5uZWxfdmFsaWRfZW5jYXBfdHlwZSh1MTYgZW5j YXBfdHlwZSkKK3sKKwlyZXR1cm4gLUVPUE5PVFNVUFA7Cit9CitzdGF0aWMgaW5saW5lIGludCBs d3R1bm5lbF92YWxpZF9lbmNhcF90eXBlX2F0dHIoc3RydWN0IG5sYXR0ciAqYXR0ciwgaW50IGxl bikKK3sKKwlyZXR1cm4gLUVPUE5PVFNVUFA7Cit9CisKIHN0YXRpYyBpbmxpbmUgaW50IGx3dHVu bmVsX2J1aWxkX3N0YXRlKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsIHUxNiBlbmNhcF90eXBlLAog CQkJCSAgICAgICBzdHJ1Y3QgbmxhdHRyICplbmNhcCwKIAkJCQkgICAgICAgdW5zaWduZWQgaW50 IGZhbWlseSwgY29uc3Qgdm9pZCAqY2ZnLApkaWZmIC0tZ2l0IGEvbmV0L2NvcmUvbHd0dW5uZWwu YyBiL25ldC9jb3JlL2x3dHVubmVsLmMKaW5kZXggZTVmODRjMi4uMmY2ZGIzOCAxMDA2NDQKLS0t IGEvbmV0L2NvcmUvbHd0dW5uZWwuYworKysgYi9uZXQvY29yZS9sd3R1bm5lbC5jCkBAIC0yNiw2 ICsyNiw3IEBACiAjaW5jbHVkZSA8bmV0L2x3dHVubmVsLmg+CiAjaW5jbHVkZSA8bmV0L3J0bmV0 bGluay5oPgogI2luY2x1ZGUgPG5ldC9pcDZfZmliLmg+CisjaW5jbHVkZSA8bmV0L25leHRob3Au aD4KIAogI2lmZGVmIENPTkZJR19NT0RVTEVTCiAKQEAgLTExMCwyNSArMTExLDc0IEBAIGludCBs d3R1bm5lbF9idWlsZF9zdGF0ZShzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LCB1MTYgZW5jYXBfdHlw ZSwKIAlyZXQgPSAtRU9QTk9UU1VQUDsKIAlyY3VfcmVhZF9sb2NrKCk7CiAJb3BzID0gcmN1X2Rl cmVmZXJlbmNlKGx3dHVuX2VuY2Fwc1tlbmNhcF90eXBlXSk7CisJaWYgKGxpa2VseShvcHMgJiYg b3BzLT5idWlsZF9zdGF0ZSkpCisJCXJldCA9IG9wcy0+YnVpbGRfc3RhdGUoZGV2LCBlbmNhcCwg ZmFtaWx5LCBjZmcsIGx3cyk7CisJcmN1X3JlYWRfdW5sb2NrKCk7CisKKwlyZXR1cm4gcmV0Owor fQorRVhQT1JUX1NZTUJPTChsd3R1bm5lbF9idWlsZF9zdGF0ZSk7CisKK2ludCBsd3R1bm5lbF92 YWxpZF9lbmNhcF90eXBlKHUxNiBlbmNhcF90eXBlKQoreworCWNvbnN0IHN0cnVjdCBsd3R1bm5l bF9lbmNhcF9vcHMgKm9wczsKKwlpbnQgcmV0ID0gLUVJTlZBTDsKKworCWlmIChlbmNhcF90eXBl ID09IExXVFVOTkVMX0VOQ0FQX05PTkUgfHwKKwkgICAgZW5jYXBfdHlwZSA+IExXVFVOTkVMX0VO Q0FQX01BWCkKKwkJcmV0dXJuIHJldDsKKworCXJjdV9yZWFkX2xvY2soKTsKKwlvcHMgPSByY3Vf ZGVyZWZlcmVuY2UobHd0dW5fZW5jYXBzW2VuY2FwX3R5cGVdKTsKKwlyY3VfcmVhZF91bmxvY2so KTsKICNpZmRlZiBDT05GSUdfTU9EVUxFUwogCWlmICghb3BzKSB7CiAJCWNvbnN0IGNoYXIgKmVu Y2FwX3R5cGVfc3RyID0gbHd0dW5uZWxfZW5jYXBfc3RyKGVuY2FwX3R5cGUpOwogCiAJCWlmIChl bmNhcF90eXBlX3N0cikgewotCQkJcmN1X3JlYWRfdW5sb2NrKCk7CisJCQlfX3J0bmxfdW5sb2Nr KCk7CiAJCQlyZXF1ZXN0X21vZHVsZSgicnRubC1sd3QtJXMiLCBlbmNhcF90eXBlX3N0cik7CisJ CQlydG5sX2xvY2soKTsKKwogCQkJcmN1X3JlYWRfbG9jaygpOwogCQkJb3BzID0gcmN1X2RlcmVm ZXJlbmNlKGx3dHVuX2VuY2Fwc1tlbmNhcF90eXBlXSk7CisJCQlyY3VfcmVhZF91bmxvY2soKTsK IAkJfQogCX0KICNlbmRpZgotCWlmIChsaWtlbHkob3BzICYmIG9wcy0+YnVpbGRfc3RhdGUpKQot CQlyZXQgPSBvcHMtPmJ1aWxkX3N0YXRlKGRldiwgZW5jYXAsIGZhbWlseSwgY2ZnLCBsd3MpOwot CXJjdV9yZWFkX3VubG9jaygpOworCXJldHVybiBvcHMgPyAwIDogLUVPUE5PVFNVUFA7Cit9CitF WFBPUlRfU1lNQk9MKGx3dHVubmVsX3ZhbGlkX2VuY2FwX3R5cGUpOwogCi0JcmV0dXJuIHJldDsK K2ludCBsd3R1bm5lbF92YWxpZF9lbmNhcF90eXBlX2F0dHIoc3RydWN0IG5sYXR0ciAqYXR0ciwg aW50IHJlbWFpbmluZykKK3sKKwlzdHJ1Y3QgcnRuZXh0aG9wICpydG5oID0gKHN0cnVjdCBydG5l eHRob3AgKilhdHRyOworCXN0cnVjdCBubGF0dHIgKm5sYV9lbnR5cGU7CisJc3RydWN0IG5sYXR0 ciAqYXR0cnM7CisJc3RydWN0IG5sYXR0ciAqbmxhOworCXUxNiBlbmNhcF90eXBlOworCWludCBh dHRybGVuOworCisJd2hpbGUgKHJ0bmhfb2socnRuaCwgcmVtYWluaW5nKSkgeworCQlhdHRybGVu ID0gcnRuaF9hdHRybGVuKHJ0bmgpOworCQlpZiAoYXR0cmxlbiA+IDApIHsKKwkJCWF0dHJzID0g cnRuaF9hdHRycyhydG5oKTsKKwkJCW5sYSA9IG5sYV9maW5kKGF0dHJzLCBhdHRybGVuLCBSVEFf RU5DQVApOworCQkJbmxhX2VudHlwZSA9IG5sYV9maW5kKGF0dHJzLCBhdHRybGVuLCBSVEFfRU5D QVBfVFlQRSk7CisKKwkJCWlmIChubGFfZW50eXBlKSB7CisJCQkJZW5jYXBfdHlwZSA9IG5sYV9n ZXRfdTE2KG5sYV9lbnR5cGUpOworCisJCQkJaWYgKGx3dHVubmVsX3ZhbGlkX2VuY2FwX3R5cGUo ZW5jYXBfdHlwZSkgIT0gMCkKKwkJCQkJcmV0dXJuIC1FT1BOT1RTVVBQOworCQkJfQorCQl9CisJ CXJ0bmggPSBydG5oX25leHQocnRuaCwgJnJlbWFpbmluZyk7CisJfQorCisJcmV0dXJuIDA7CiB9 Ci1FWFBPUlRfU1lNQk9MKGx3dHVubmVsX2J1aWxkX3N0YXRlKTsKK0VYUE9SVF9TWU1CT0wobHd0 dW5uZWxfdmFsaWRfZW5jYXBfdHlwZV9hdHRyKTsKIAogaW50IGx3dHVubmVsX2ZpbGxfZW5jYXAo c3RydWN0IHNrX2J1ZmYgKnNrYiwgc3RydWN0IGx3dHVubmVsX3N0YXRlICpsd3RzdGF0ZSkKIHsK ZGlmZiAtLWdpdCBhL25ldC9pcHY0L2ZpYl9mcm9udGVuZC5jIGIvbmV0L2lwdjQvZmliX2Zyb250 ZW5kLmMKaW5kZXggM2U0ZjE4My4uNWIwM2Q3ZiAxMDA2NDQKLS0tIGEvbmV0L2lwdjQvZmliX2Zy b250ZW5kLmMKKysrIGIvbmV0L2lwdjQvZmliX2Zyb250ZW5kLmMKQEAgLTQ2LDYgKzQ2LDcgQEAK ICNpbmNsdWRlIDxuZXQvcnRuZXRsaW5rLmg+CiAjaW5jbHVkZSA8bmV0L3hmcm0uaD4KICNpbmNs dWRlIDxuZXQvbDNtZGV2Lmg+CisjaW5jbHVkZSA8bmV0L2x3dHVubmVsLmg+CiAjaW5jbHVkZSA8 dHJhY2UvZXZlbnRzL2ZpYi5oPgogCiAjaWZuZGVmIENPTkZJR19JUF9NVUxUSVBMRV9UQUJMRVMK QEAgLTY3Niw2ICs2NzcsMTAgQEAgc3RhdGljIGludCBydG1fdG9fZmliX2NvbmZpZyhzdHJ1Y3Qg bmV0ICpuZXQsIHN0cnVjdCBza19idWZmICpza2IsCiAJCQljZmctPmZjX214X2xlbiA9IG5sYV9s ZW4oYXR0cik7CiAJCQlicmVhazsKIAkJY2FzZSBSVEFfTVVMVElQQVRIOgorCQkJZXJyID0gbHd0 dW5uZWxfdmFsaWRfZW5jYXBfdHlwZV9hdHRyKG5sYV9kYXRhKGF0dHIpLAorCQkJCQkJCSAgICAg bmxhX2xlbihhdHRyKSk7CisJCQlpZiAoZXJyIDwgMCkKKwkJCQlnb3RvIGVycm91dDsKIAkJCWNm Zy0+ZmNfbXAgPSBubGFfZGF0YShhdHRyKTsKIAkJCWNmZy0+ZmNfbXBfbGVuID0gbmxhX2xlbihh dHRyKTsKIAkJCWJyZWFrOwpAQCAtNjkwLDYgKzY5NSw5IEBAIHN0YXRpYyBpbnQgcnRtX3RvX2Zp Yl9jb25maWcoc3RydWN0IG5ldCAqbmV0LCBzdHJ1Y3Qgc2tfYnVmZiAqc2tiLAogCQkJYnJlYWs7 CiAJCWNhc2UgUlRBX0VOQ0FQX1RZUEU6CiAJCQljZmctPmZjX2VuY2FwX3R5cGUgPSBubGFfZ2V0 X3UxNihhdHRyKTsKKwkJCWVyciA9IGx3dHVubmVsX3ZhbGlkX2VuY2FwX3R5cGUoY2ZnLT5mY19l bmNhcF90eXBlKTsKKwkJCWlmIChlcnIgPCAwKQorCQkJCWdvdG8gZXJyb3V0OwogCQkJYnJlYWs7 CiAJCX0KIAl9CmRpZmYgLS1naXQgYS9uZXQvaXB2Ni9yb3V0ZS5jIGIvbmV0L2lwdjYvcm91dGUu YwppbmRleCBhY2Q4MDIzNy4uYmZmNDQ2MCAxMDA2NDQKLS0tIGEvbmV0L2lwdjYvcm91dGUuYwor KysgYi9uZXQvaXB2Ni9yb3V0ZS5jCkBAIC0yODg1LDYgKzI4ODUsMTEgQEAgc3RhdGljIGludCBy dG1fdG9fZmliNl9jb25maWcoc3RydWN0IHNrX2J1ZmYgKnNrYiwgc3RydWN0IG5sbXNnaGRyICpu bGgsCiAJaWYgKHRiW1JUQV9NVUxUSVBBVEhdKSB7CiAJCWNmZy0+ZmNfbXAgPSBubGFfZGF0YSh0 YltSVEFfTVVMVElQQVRIXSk7CiAJCWNmZy0+ZmNfbXBfbGVuID0gbmxhX2xlbih0YltSVEFfTVVM VElQQVRIXSk7CisKKwkJZXJyID0gbHd0dW5uZWxfdmFsaWRfZW5jYXBfdHlwZV9hdHRyKGNmZy0+ ZmNfbXAsCisJCQkJCQkgICAgIGNmZy0+ZmNfbXBfbGVuKTsKKwkJaWYgKGVyciA8IDApCisJCQln b3RvIGVycm91dDsKIAl9CiAKIAlpZiAodGJbUlRBX1BSRUZdKSB7CkBAIC0yODk4LDkgKzI5MDMs MTQgQEAgc3RhdGljIGludCBydG1fdG9fZmliNl9jb25maWcoc3RydWN0IHNrX2J1ZmYgKnNrYiwg c3RydWN0IG5sbXNnaGRyICpubGgsCiAJaWYgKHRiW1JUQV9FTkNBUF0pCiAJCWNmZy0+ZmNfZW5j YXAgPSB0YltSVEFfRU5DQVBdOwogCi0JaWYgKHRiW1JUQV9FTkNBUF9UWVBFXSkKKwlpZiAodGJb UlRBX0VOQ0FQX1RZUEVdKSB7CiAJCWNmZy0+ZmNfZW5jYXBfdHlwZSA9IG5sYV9nZXRfdTE2KHRi W1JUQV9FTkNBUF9UWVBFXSk7CiAKKwkJZXJyID0gbHd0dW5uZWxfdmFsaWRfZW5jYXBfdHlwZShj ZmctPmZjX2VuY2FwX3R5cGUpOworCQlpZiAoZXJyIDwgMCkKKwkJCWdvdG8gZXJyb3V0OworCX0K KwogCWlmICh0YltSVEFfRVhQSVJFU10pIHsKIAkJdW5zaWduZWQgbG9uZyB0aW1lb3V0ID0gYWRk cmNvbmZfdGltZW91dF9maXh1cChubGFfZ2V0X3UzMih0YltSVEFfRVhQSVJFU10pLCBIWik7CiAK LS0gCjIuNC4xMQoKCkZyb20gYWJkMzQ4MzcxMWZmZTVhMjhhZTA0MTFlMzEyZWU0YTU3MTQyNjE1 NSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogS2VmZW5nIFdhbmcgPHdhbmdrZWZlbmcu d2FuZ0BodWF3ZWkuY29tPgpEYXRlOiBUaHUsIDE5IEphbiAyMDE3IDE2OjI2OjIxICswODAwClN1 YmplY3Q6IFtQQVRDSCAyMi8zMl0gaXB2NjogYWRkcmNvbmY6IEF2b2lkIGFkZHJjb25mX2Rpc2Fi bGVfY2hhbmdlKCkgdXNpbmcKIFJDVSByZWFkLXNpZGUgbG9jawoKWyBVcHN0cmVhbSBjb21taXQg MDNlNGRlZmY0OTg3Zjc5YzM0MTEyYzViYTRlYjE5NWQ0ZjkzODJiMCBdCgpKdXN0IGxpa2UgY29t bWl0IDRhY2Q0OTQ1Y2QxZSAoImlwdjY6IGFkZHJjb25mOiBBdm9pZCBjYWxsaW5nCm5ldGRldmlj ZSBub3RpZmllcnMgd2l0aCBSQ1UgcmVhZC1zaWRlIGxvY2siKSwgaXQgaXMgdW5uZWNlc3NhcnkK dG8gbWFrZSBhZGRyY29uZl9kaXNhYmxlX2NoYW5nZSgpIHVzZSBSQ1UgaXRlcmF0aW9uIG92ZXIg dGhlCm5ldGRldiBsaXN0LCBzaW5jZSBpdCBhbHJlYWR5IGhvbGRzIHRoZSBSVE5MIGxvY2ssIG9y IHdlIG1heSBtZWV0CklsbGVnYWwgY29udGV4dCBzd2l0Y2ggaW4gUkNVIHJlYWQtc2lkZSBjcml0 aWNhbCBzZWN0aW9uLgoKU2lnbmVkLW9mZi1ieTogS2VmZW5nIFdhbmcgPHdhbmdrZWZlbmcud2Fu Z0BodWF3ZWkuY29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVt bG9mdC5uZXQ+Ci0tLQogbmV0L2lwdjYvYWRkcmNvbmYuYyB8IDQgKy0tLQogMSBmaWxlIGNoYW5n ZWQsIDEgaW5zZXJ0aW9uKCspLCAzIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL25ldC9pcHY2 L2FkZHJjb25mLmMgYi9uZXQvaXB2Ni9hZGRyY29uZi5jCmluZGV4IDRiYzViYTMuLjk1ZGZjYmEg MTAwNjQ0Ci0tLSBhL25ldC9pcHY2L2FkZHJjb25mLmMKKysrIGIvbmV0L2lwdjYvYWRkcmNvbmYu YwpAQCAtNTUxNSw4ICs1NTE1LDcgQEAgc3RhdGljIHZvaWQgYWRkcmNvbmZfZGlzYWJsZV9jaGFu Z2Uoc3RydWN0IG5ldCAqbmV0LCBfX3MzMiBuZXdmKQogCXN0cnVjdCBuZXRfZGV2aWNlICpkZXY7 CiAJc3RydWN0IGluZXQ2X2RldiAqaWRldjsKIAotCXJjdV9yZWFkX2xvY2soKTsKLQlmb3JfZWFj aF9uZXRkZXZfcmN1KG5ldCwgZGV2KSB7CisJZm9yX2VhY2hfbmV0ZGV2KG5ldCwgZGV2KSB7CiAJ CWlkZXYgPSBfX2luNl9kZXZfZ2V0KGRldik7CiAJCWlmIChpZGV2KSB7CiAJCQlpbnQgY2hhbmdl ZCA9ICghaWRldi0+Y25mLmRpc2FibGVfaXB2NikgXiAoIW5ld2YpOwpAQCAtNTUyNSw3ICs1NTI0 LDYgQEAgc3RhdGljIHZvaWQgYWRkcmNvbmZfZGlzYWJsZV9jaGFuZ2Uoc3RydWN0IG5ldCAqbmV0 LCBfX3MzMiBuZXdmKQogCQkJCWRldl9kaXNhYmxlX2NoYW5nZShpZGV2KTsKIAkJfQogCX0KLQly Y3VfcmVhZF91bmxvY2soKTsKIH0KIAogc3RhdGljIGludCBhZGRyY29uZl9kaXNhYmxlX2lwdjYo c3RydWN0IGN0bF90YWJsZSAqdGFibGUsIGludCAqcCwgaW50IG5ld2YpCi0tIAoyLjQuMTEKCgpG cm9tIGJjZTJkZDY5MmJmMDkzOWJkMzA1MWY0Mzg2NDNjNjUxMzMzMzkzMTIgTW9uIFNlcCAxNyAw MDowMDowMCAyMDAxCkZyb206IEFsZXhleSBLb2RhbmV2IDxhbGV4ZXkua29kYW5ldkBvcmFjbGUu Y29tPgpEYXRlOiBUaHUsIDE5IEphbiAyMDE3IDE2OjM2OjM5ICswMzAwClN1YmplY3Q6IFtQQVRD SCAyMy8zMl0gdGNwOiBpbml0aWFsaXplIG1heCB3aW5kb3cgZm9yIGEgbmV3IGZhc3RvcGVuIHNv Y2tldAoKWyBVcHN0cmVhbSBjb21taXQgMGRiZDdmZjNhYzUwMTdhNDYwMzNhOWQwYTg3YTgyNjdk NjkxMTlkOSBdCgpGb3VuZCB0aGF0IGlmIHdlIHJ1biBMVFAgbmV0c3RyZXNzIHRlc3Qgd2l0aCBs YXJnZSBNU1MgKDY1SyksCnRoZSBmaXJzdCBhdHRlbXB0IGZyb20gc2VydmVyIHRvIHNlbmQgZGF0 YSBjb21wYXJhYmxlIHRvIHRoaXMKTVNTIG9uIGZhc3RvcGVuIGNvbm5lY3Rpb24gd2lsbCBiZSBk ZWxheWVkIGJ5IHRoZSBwcm9iZSB0aW1lci4KCkhlcmUgaXMgYW4gZXhhbXBsZToKCiAgICAgPCBT ICBzZXEgMDowIHdpbiA0MzY5MCBvcHRpb25zIFttc3MgNjU0OTUgd3NjYWxlIDcgdGZvIGNvb2tp ZV0gbGVuZ3RoIDMyCiAgICAgPiBTLiBzZXEgMDowIGFjayAxIHdpbiA0MzY5MCBvcHRpb25zIFtt c3MgNjU0OTUgd3NjYWxlIDddIGxlbmd0aCAwCiAgICAgPCAuICBhY2sgMSB3aW4gMzQyIGxlbmd0 aCAwCgpJbnNpZGUgdGNwX3NlbmRtc2coKSwgdGNwX3NlbmRfbXNzKCkgcmV0dXJucyBtYXggTVNT IGluICdtc3Nfbm93JywKYXMgd2VsbCBhcyBpbiAnc2l6ZV9nb2FsJy4gVGhpcyByZXN1bHRzIHRo ZSBzZWdtZW50IG5vdCBxdWV1ZWQgZm9yCnRyYW5zbWl0aW9uIHVudGlsIGFsbCB0aGUgZGF0YSBj b3BpZWQgZnJvbSB1c2VyIGJ1ZmZlci4gVGhlbiwgaW5zaWRlCl9fdGNwX3B1c2hfcGVuZGluZ19m cmFtZXMoKSwgaXQgYnJlYWtzIG9uIHNlbmQgd2luZG93IHRlc3QgYW5kCmNvbnRpbnVlcyB3aXRo IHRoZSBjaGVjayBwcm9iZSB0aW1lci4KCkZyYWdtZW50YXRpb24gb2NjdXJzIGluIHRjcF93cml0 ZV93YWtldXAoKS4uLgoKKzAuMiA+IFAuIHNlcSAxOjQzNzc3IGFjayAxIHdpbiAzNDIgbGVuZ3Ro IDQzNzc2CiAgICAgPCAuICBhY2sgNDM3NzcsIHdpbiAxMzY1IGxlbmd0aCAwCiAgICAgPiBQLiBz ZXEgNDM3Nzc6NjUwMDEgYWNrIDEgd2luIDM0MiBvcHRpb25zIFsuLi5dIGxlbmd0aCAyMTIyNAog ICAgIC4uLgoKVGhpcyBhbHNvIGNvbnRyYWRpY3RzIHdpdGggdGhlIGZhY3QgdGhhdCB3ZSBzaG91 bGQgYm91bmQgdG8gdGhlIGhhbGYKb2YgdGhlIHdpbmRvdyBpZiBpdCBpcyBsYXJnZS4KCkZpeCB0 aGlzIGZsYXcgYnkgY29ycmVjdGx5IGluaXRpYWxpemluZyBtYXhfd2luZG93LiBCZWZvcmUgdGhh dCwgaXQKY291bGQgaGF2ZSBsYXJnZSB2YWx1ZXMgdGhhdCBhZmZlY3QgZnVydGhlciBjYWxjdWxh dGlvbnMgb2YgJ3NpemVfZ29hbCcuCgpGaXhlczogMTY4YThmNTgwNTlhICgidGNwOiBUQ1AgRmFz dCBPcGVuIFNlcnZlciAtIG1haW4gY29kZSBwYXRoIikKU2lnbmVkLW9mZi1ieTogQWxleGV5IEtv ZGFuZXYgPGFsZXhleS5rb2RhbmV2QG9yYWNsZS5jb20+CkFja2VkLWJ5OiBFcmljIER1bWF6ZXQg PGVkdW1hemV0QGdvb2dsZS5jb20+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2 ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBuZXQvaXB2NC90Y3BfZmFzdG9wZW4uYyB8IDEgKwogMSBm aWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspCgpkaWZmIC0tZ2l0IGEvbmV0L2lwdjQvdGNwX2Zh c3RvcGVuLmMgYi9uZXQvaXB2NC90Y3BfZmFzdG9wZW4uYwppbmRleCBmNTE5MTk1Li5kZDI1NjBj IDEwMDY0NAotLS0gYS9uZXQvaXB2NC90Y3BfZmFzdG9wZW4uYworKysgYi9uZXQvaXB2NC90Y3Bf ZmFzdG9wZW4uYwpAQCAtMjA1LDYgKzIwNSw3IEBAIHN0YXRpYyBzdHJ1Y3Qgc29jayAqdGNwX2Zh c3RvcGVuX2NyZWF0ZV9jaGlsZChzdHJ1Y3Qgc29jayAqc2ssCiAJICogc2NhbGVkLiBTbyBjb3Jy ZWN0IGl0IGFwcHJvcHJpYXRlbHkuCiAJICovCiAJdHAtPnNuZF93bmQgPSBudG9ocyh0Y3BfaGRy KHNrYiktPndpbmRvdyk7CisJdHAtPm1heF93aW5kb3cgPSB0cC0+c25kX3duZDsKIAogCS8qIEFj dGl2YXRlIHRoZSByZXRyYW5zIHRpbWVyIHNvIHRoYXQgU1lOQUNLIGNhbiBiZSByZXRyYW5zbWl0 dGVkLgogCSAqIFRoZSByZXF1ZXN0IHNvY2tldCBpcyBub3QgYWRkZWQgdG8gdGhlIGVoYXNoCi0t IAoyLjQuMTEKCgpGcm9tIGJiYjYyN2FmNGFlNjM4MjkyZjQxMjU4ZmY5ZWMyODM3Y2Q4OTkxNWMg TW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IEVyaWMgRHVtYXpldCA8ZWR1bWF6ZXRAZ29v Z2xlLmNvbT4KRGF0ZTogV2VkLCAxOCBKYW4gMjAxNyAyMzowMzowOCAtMDgwMApTdWJqZWN0OiBb UEFUQ0ggMjQvMzJdIG5ldC9tbHg1ZTogRG8gbm90IHJlY3ljbGUgcGFnZXMgZnJvbSBlbWVyZ2Vu Y3kgcmVzZXJ2ZQoKWyBVcHN0cmVhbSBjb21taXQgZTA0OGZjNTBkN2JkZTIzMTM2ZTA5OGUwNGEz MjRkN2UzNDA0NDA4ZCBdCgpBIGRyaXZlciB1c2luZyBkZXZfYWxsb2NfcGFnZSgpIG11c3Qgbm90 IHJldXNlIGEgcGFnZSBhbGxvY2F0ZWQgZnJvbQplbWVyZ2VuY3kgbWVtb3J5IHJlc2VydmUuCgpP dGhlcndpc2UgYWxsIHBhY2tldHMgdXNpbmcgdGhpcyBwYWdlIHdpbGwgYmUgaW1tZWRpYXRlbHkg ZHJvcHBlZCwKdW5sZXNzIGZvciB2ZXJ5IHNwZWNpZmljIHNvY2tldHMgaGF2aW5nIFNPQ0tfTUVN QUxMT0MgYml0IHNldC4KClRoaXMgaXNzdWUgbWlnaHQgYmUgaGFyZCB0byBkZWJ1ZywgYmVjYXVz ZSBvbmx5IGEgZnJhY3Rpb24gb2YgcmVjZWl2ZWQKcGFja2V0cyB3b3VsZCBiZSBkcm9wcGVkLgoK Rml4ZXM6IDQ0MTVhMDMxOWY5MiAoIm5ldC9tbHg1ZTogSW1wbGVtZW50IFJYIG1hcHBlZCBwYWdl IGNhY2hlIGZvciBwYWdlIHJlY3ljbGUiKQpTaWduZWQtb2ZmLWJ5OiBFcmljIER1bWF6ZXQgPGVk dW1hemV0QGdvb2dsZS5jb20+CkNjOiBUYXJpcSBUb3VrYW4gPHRhcmlxdEBtZWxsYW5veC5jb20+ CkNjOiBTYWVlZCBNYWhhbWVlZCA8c2FlZWRtQG1lbGxhbm94LmNvbT4KQWNrZWQtYnk6IFNhZWVk IE1haGFtZWVkIDxzYWVlZG1AbWVsbGFub3guY29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBN aWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVs bGFub3gvbWx4NS9jb3JlL2VuX3J4LmMgfCAzICsrKwogMSBmaWxlIGNoYW5nZWQsIDMgaW5zZXJ0 aW9ucygrKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21seDUv Y29yZS9lbl9yeC5jIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4NS9jb3JlL2Vu X3J4LmMKaW5kZXggMzM0OTVkOC4uZTdiMjE1OCAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvZXRo ZXJuZXQvbWVsbGFub3gvbWx4NS9jb3JlL2VuX3J4LmMKKysrIGIvZHJpdmVycy9uZXQvZXRoZXJu ZXQvbWVsbGFub3gvbWx4NS9jb3JlL2VuX3J4LmMKQEAgLTE5Myw2ICsxOTMsOSBAQCBzdGF0aWMg aW5saW5lIGJvb2wgbWx4NWVfcnhfY2FjaGVfcHV0KHN0cnVjdCBtbHg1ZV9ycSAqcnEsCiAJCXJl dHVybiBmYWxzZTsKIAl9CiAKKwlpZiAodW5saWtlbHkocGFnZV9pc19wZm1lbWFsbG9jKGRtYV9p bmZvLT5wYWdlKSkpCisJCXJldHVybiBmYWxzZTsKKwogCWNhY2hlLT5wYWdlX2NhY2hlW2NhY2hl LT50YWlsXSA9ICpkbWFfaW5mbzsKIAljYWNoZS0+dGFpbCA9IHRhaWxfbmV4dDsKIAlyZXR1cm4g dHJ1ZTsKLS0gCjIuNC4xMQoKCkZyb20gNmM5NTkxNDBhOTFmNjk0ZjczNDhlNGY3MjJjOTY1MmFj M2YzZDNkYiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogSXZhbiBWZWNlcmEgPGNlcmFA Y2VyYS5jej4KRGF0ZTogRnJpLCAyMCBKYW4gMjAxNyAxODoxMjoxNyArMDEwMApTdWJqZWN0OiBb UEFUQ0ggMjUvMzJdIGJyaWRnZTogbmV0bGluazogY2FsbCBicl9jaGFuZ2VsaW5rKCkgZHVyaW5n CiBicl9kZXZfbmV3bGluaygpCgpbIFVwc3RyZWFtIGNvbW1pdCBiNjY3NzQ0OWRmZjY3NGNmNWI4 MTQyOWIxMWQ1YzdmMzU4ODUyZWY5IF0KCkFueSBicmlkZ2Ugb3B0aW9ucyBzcGVjaWZpZWQgZHVy aW5nIGxpbmsgY3JlYXRpb24gKGUuZy4gaXAgbGluayBhZGQpCmFyZSBpZ25vcmVkIGFzIGJyX2Rl dl9uZXdsaW5rKCkgZG9lcyBub3QgcHJvY2VzcyB0aGVtLgpVc2UgYnJfY2hhbmdlbGluaygpIHRv IGRvIGl0LgoKRml4ZXM6IDEzMzIzNTE2MTcyMSAoImJyaWRnZTogaW1wbGVtZW50IHJ0bmxfbGlu a19vcHMtPmNoYW5nZWxpbmsiKQpTaWduZWQtb2ZmLWJ5OiBJdmFuIFZlY2VyYSA8Y2VyYUBjZXJh LmN6PgpSZXZpZXdlZC1ieTogSmlyaSBQaXJrbyA8amlyaUBtZWxsYW5veC5jb20+ClNpZ25lZC1v ZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBuZXQvYnJp ZGdlL2JyX25ldGxpbmsuYyB8IDMzICsrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLQog MSBmaWxlIGNoYW5nZWQsIDE5IGluc2VydGlvbnMoKyksIDE0IGRlbGV0aW9ucygtKQoKZGlmZiAt LWdpdCBhL25ldC9icmlkZ2UvYnJfbmV0bGluay5jIGIvbmV0L2JyaWRnZS9icl9uZXRsaW5rLmMK aW5kZXggZTk5MDM3Yy4uMDQ3NDEwNiAxMDA2NDQKLS0tIGEvbmV0L2JyaWRnZS9icl9uZXRsaW5r LmMKKysrIGIvbmV0L2JyaWRnZS9icl9uZXRsaW5rLmMKQEAgLTc4MSwyMCArNzgxLDYgQEAgc3Rh dGljIGludCBicl92YWxpZGF0ZShzdHJ1Y3QgbmxhdHRyICp0YltdLCBzdHJ1Y3QgbmxhdHRyICpk YXRhW10pCiAJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyBpbnQgYnJfZGV2X25ld2xpbmsoc3RydWN0 IG5ldCAqc3JjX25ldCwgc3RydWN0IG5ldF9kZXZpY2UgKmRldiwKLQkJCSAgc3RydWN0IG5sYXR0 ciAqdGJbXSwgc3RydWN0IG5sYXR0ciAqZGF0YVtdKQotewotCXN0cnVjdCBuZXRfYnJpZGdlICpi ciA9IG5ldGRldl9wcml2KGRldik7Ci0KLQlpZiAodGJbSUZMQV9BRERSRVNTXSkgewotCQlzcGlu X2xvY2tfYmgoJmJyLT5sb2NrKTsKLQkJYnJfc3RwX2NoYW5nZV9icmlkZ2VfaWQoYnIsIG5sYV9k YXRhKHRiW0lGTEFfQUREUkVTU10pKTsKLQkJc3Bpbl91bmxvY2tfYmgoJmJyLT5sb2NrKTsKLQl9 Ci0KLQlyZXR1cm4gcmVnaXN0ZXJfbmV0ZGV2aWNlKGRldik7Ci19Ci0KIHN0YXRpYyBpbnQgYnJf cG9ydF9zbGF2ZV9jaGFuZ2VsaW5rKHN0cnVjdCBuZXRfZGV2aWNlICpicmRldiwKIAkJCQkgICAg c3RydWN0IG5ldF9kZXZpY2UgKmRldiwKIAkJCQkgICAgc3RydWN0IG5sYXR0ciAqdGJbXSwKQEAg LTEwOTMsNiArMTA3OSwyNSBAQCBzdGF0aWMgaW50IGJyX2NoYW5nZWxpbmsoc3RydWN0IG5ldF9k ZXZpY2UgKmJyZGV2LCBzdHJ1Y3QgbmxhdHRyICp0YltdLAogCXJldHVybiAwOwogfQogCitzdGF0 aWMgaW50IGJyX2Rldl9uZXdsaW5rKHN0cnVjdCBuZXQgKnNyY19uZXQsIHN0cnVjdCBuZXRfZGV2 aWNlICpkZXYsCisJCQkgIHN0cnVjdCBubGF0dHIgKnRiW10sIHN0cnVjdCBubGF0dHIgKmRhdGFb XSkKK3sKKwlzdHJ1Y3QgbmV0X2JyaWRnZSAqYnIgPSBuZXRkZXZfcHJpdihkZXYpOworCWludCBl cnI7CisKKwlpZiAodGJbSUZMQV9BRERSRVNTXSkgeworCQlzcGluX2xvY2tfYmgoJmJyLT5sb2Nr KTsKKwkJYnJfc3RwX2NoYW5nZV9icmlkZ2VfaWQoYnIsIG5sYV9kYXRhKHRiW0lGTEFfQUREUkVT U10pKTsKKwkJc3Bpbl91bmxvY2tfYmgoJmJyLT5sb2NrKTsKKwl9CisKKwllcnIgPSBicl9jaGFu Z2VsaW5rKGRldiwgdGIsIGRhdGEpOworCWlmIChlcnIpCisJCXJldHVybiBlcnI7CisKKwlyZXR1 cm4gcmVnaXN0ZXJfbmV0ZGV2aWNlKGRldik7Cit9CisKIHN0YXRpYyBzaXplX3QgYnJfZ2V0X3Np emUoY29uc3Qgc3RydWN0IG5ldF9kZXZpY2UgKmJyZGV2KQogewogCXJldHVybiBubGFfdG90YWxf c2l6ZShzaXplb2YodTMyKSkgKwkvKiBJRkxBX0JSX0ZPUldBUkRfREVMQVkgICovCi0tIAoyLjQu MTEKCgpGcm9tIDAyZDhiNDRjNzlkMDAwYjJlNDZlMzZiMjI4NDQxZjBjZmU4Y2Y4OTEgTW9uIFNl cCAxNyAwMDowMDowMCAyMDAxCkZyb206IERhdmlkIEFoZXJuIDxkc2FAY3VtdWx1c25ldHdvcmtz LmNvbT4KRGF0ZTogRnJpLCAyMCBKYW4gMjAxNyAxMjo1ODozNCAtMDgwMApTdWJqZWN0OiBbUEFU Q0ggMjYvMzJdIG5ldDogbXBsczogRml4IG11bHRpcGF0aCBzZWxlY3Rpb24gZm9yIExTUiB1c2Ug Y2FzZQoKWyBVcHN0cmVhbSBjb21taXQgOWY0MjdhMGU0NzRhNjdiNDU0NDIwYzEzMTcwOTYwMGQ0 NDg1MDQ4NiBdCgpNUExTIG11bHRpcGF0aCBmb3IgTFNSIGlzIGJyb2tlbiAtLSBhbHdheXMgc2Vs ZWN0aW5nIHRoZSBmaXJzdCBuZXh0aG9wCmluIHRoZSBvbmUgbGFiZWwgY2FzZS4gRm9yIGV4YW1w bGU6CgogICAgJCBpcCAtZiBtcGxzIHJvIGxzCiAgICAxMDAKICAgICAgICAgICAgbmV4dGhvcCBh cyB0byAyMDAgdmlhIGluZXQgMTcyLjE2LjIuMiAgZGV2IHZpcnQxMgogICAgICAgICAgICBuZXh0 aG9wIGFzIHRvIDMwMCB2aWEgaW5ldCAxNzIuMTYuMy4yICBkZXYgdmlydDEzCiAgICAxMDEKICAg ICAgICAgICAgbmV4dGhvcCBhcyB0byAyMDEgdmlhIGluZXQ2IDIwMDA6Mjo6MiAgZGV2IHZpcnQx MgogICAgICAgICAgICBuZXh0aG9wIGFzIHRvIDMwMSB2aWEgaW5ldDYgMjAwMDozOjoyICBkZXYg dmlydDEzCgpJbiB0aGlzIGV4YW1wbGUgaW5jb21pbmcgcGFja2V0cyBoYXZlIGEgc2luZ2xlIE1Q TFMgbGFiZWxzIHdoaWNoIG1lYW5zCkJPUyBiaXQgaXMgc2V0LiBUaGUgQk9TIGJpdCBpcyBwYXNz ZWQgZnJvbSBtcGxzX2ZvcndhcmQgZG93biB0bwptcGxzX211bHRpcGF0aF9oYXNoIHdoaWNoIG5l dmVyIHByb2Nlc3NlcyB0aGUgaGFzaCBsb29wIGJlY2F1c2UgQk9TIGlzIDEuCgpVcGRhdGUgbXBs c19tdWx0aXBhdGhfaGFzaCB0byBwcm9jZXNzIHRoZSBlbnRpcmUgbGFiZWwgc3RhY2suIG1wbHNf aGRyX2xlbgp0cmFja3MgdGhlIHRvdGFsIG1wbHMgaGVhZGVyIGxlbmd0aCBvbiBlYWNoIHBhc3Mg KG9uIHBhc3MgTiBtcGxzX2hkcl9sZW4KaXMgTiAqIHNpemVvZihtcGxzX3NoaW1faGRyKSkuIFdo ZW4gdGhlIGxhYmVsIGlzIGZvdW5kIHdpdGggdGhlIEJPUyBzZXQKaXQgdmVyaWZpZXMgdGhlIHNr YiBoYXMgc3VmZmljaWVudCBoZWFkZXIgZm9yIGlwdjQgb3IgaXB2NiwgYW5kIGZpbmQgdGhlCklQ djQgYW5kIElQdjYgaGVhZGVyIGJ5IHVzaW5nIHRoZSBsYXN0IG1wbHNfaGRyIHBvaW50ZXIgYW5k IGFkZGluZyAxIHRvCmFkdmFuY2UgcGFzdCBpdC4KCldpdGggdGhlc2UgY2hhbmdlcyBJIGhhdmUg dmVyaWZpZWQgdGhlIGNvZGUgY29ycmVjdGx5IHNlZXMgdGhlIGxhYmVsLApCT1MsIElQdjQgYW5k IElQdjYgYWRkcmVzc2VzIGluIHRoZSBuZXR3b3JrIGhlYWRlciBhbmQgaWNtcC90Y3AvdWRwCnRy YWZmaWMgZm9yIGlwdjQgYW5kIGlwdjYgYXJlIGRpc3RyaWJ1dGVkIGFjcm9zcyB0aGUgbmV4dGhv cHMuCgpGaXhlczogMWM3OGVmYTgzMTljYSAoIm1wbHM6IGZsb3ctYmFzZWQgbXVsdGlwYXRoIHNl bGVjdGlvbiIpCkFja2VkLWJ5OiBSb2JlcnQgU2hlYXJtYW4gPHJzaGVhcm1hQGJyb2NhZGUuY29t PgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBBaGVybiA8ZHNhQGN1bXVsdXNuZXR3b3Jrcy5jb20+ClNp Z25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBu ZXQvbXBscy9hZl9tcGxzLmMgfCA0OCArKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCAyNSBpbnNlcnRpb25zKCspLCAyMyBkZWxl dGlvbnMoLSkKCmRpZmYgLS1naXQgYS9uZXQvbXBscy9hZl9tcGxzLmMgYi9uZXQvbXBscy9hZl9t cGxzLmMKaW5kZXggMTVmZTk3Ni4uNWI3NzM3NyAxMDA2NDQKLS0tIGEvbmV0L21wbHMvYWZfbXBs cy5jCisrKyBiL25ldC9tcGxzL2FmX21wbHMuYwpAQCAtOTgsMTggKzk4LDE5IEBAIGJvb2wgbXBs c19wa3RfdG9vX2JpZyhjb25zdCBzdHJ1Y3Qgc2tfYnVmZiAqc2tiLCB1bnNpZ25lZCBpbnQgbXR1 KQogfQogRVhQT1JUX1NZTUJPTF9HUEwobXBsc19wa3RfdG9vX2JpZyk7CiAKLXN0YXRpYyB1MzIg bXBsc19tdWx0aXBhdGhfaGFzaChzdHJ1Y3QgbXBsc19yb3V0ZSAqcnQsCi0JCQkgICAgICAgc3Ry dWN0IHNrX2J1ZmYgKnNrYiwgYm9vbCBib3MpCitzdGF0aWMgdTMyIG1wbHNfbXVsdGlwYXRoX2hh c2goc3RydWN0IG1wbHNfcm91dGUgKnJ0LCBzdHJ1Y3Qgc2tfYnVmZiAqc2tiKQogewogCXN0cnVj dCBtcGxzX2VudHJ5X2RlY29kZWQgZGVjOworCXVuc2lnbmVkIGludCBtcGxzX2hkcl9sZW4gPSAw OwogCXN0cnVjdCBtcGxzX3NoaW1faGRyICpoZHI7CiAJYm9vbCBlbGlfc2VlbiA9IGZhbHNlOwog CWludCBsYWJlbF9pbmRleDsKIAl1MzIgaGFzaCA9IDA7CiAKLQlmb3IgKGxhYmVsX2luZGV4ID0g MDsgbGFiZWxfaW5kZXggPCBNQVhfTVBfU0VMRUNUX0xBQkVMUyAmJiAhYm9zOworCWZvciAobGFi ZWxfaW5kZXggPSAwOyBsYWJlbF9pbmRleCA8IE1BWF9NUF9TRUxFQ1RfTEFCRUxTOwogCSAgICAg bGFiZWxfaW5kZXgrKykgewotCQlpZiAoIXBza2JfbWF5X3B1bGwoc2tiLCBzaXplb2YoKmhkcikg KiBsYWJlbF9pbmRleCkpCisJCW1wbHNfaGRyX2xlbiArPSBzaXplb2YoKmhkcik7CisJCWlmICgh cHNrYl9tYXlfcHVsbChza2IsIG1wbHNfaGRyX2xlbikpCiAJCQlicmVhazsKIAogCQkvKiBSZWFk IGFuZCBkZWNvZGUgdGhlIGN1cnJlbnQgbGFiZWwgKi8KQEAgLTEzNCwzNyArMTM1LDM4IEBAIHN0 YXRpYyB1MzIgbXBsc19tdWx0aXBhdGhfaGFzaChzdHJ1Y3QgbXBsc19yb3V0ZSAqcnQsCiAJCQll bGlfc2VlbiA9IHRydWU7CiAJCX0KIAotCQlib3MgPSBkZWMuYm9zOwotCQlpZiAoYm9zICYmIHBz a2JfbWF5X3B1bGwoc2tiLCBzaXplb2YoKmhkcikgKiBsYWJlbF9pbmRleCArCi0JCQkJCSBzaXpl b2Yoc3RydWN0IGlwaGRyKSkpIHsKKwkJaWYgKCFkZWMuYm9zKQorCQkJY29udGludWU7CisKKwkJ LyogZm91bmQgYm90dG9tIGxhYmVsOyBkb2VzIHNrYiBoYXZlIHJvb20gZm9yIGEgaGVhZGVyPyAq LworCQlpZiAocHNrYl9tYXlfcHVsbChza2IsIG1wbHNfaGRyX2xlbiArIHNpemVvZihzdHJ1Y3Qg aXBoZHIpKSkgewogCQkJY29uc3Qgc3RydWN0IGlwaGRyICp2NGhkcjsKIAotCQkJdjRoZHIgPSAo Y29uc3Qgc3RydWN0IGlwaGRyICopKG1wbHNfaGRyKHNrYikgKwotCQkJCQkJICAgICAgIGxhYmVs X2luZGV4KTsKKwkJCXY0aGRyID0gKGNvbnN0IHN0cnVjdCBpcGhkciAqKShoZHIgKyAxKTsKIAkJ CWlmICh2NGhkci0+dmVyc2lvbiA9PSA0KSB7CiAJCQkJaGFzaCA9IGpoYXNoXzN3b3JkcyhudG9o bCh2NGhkci0+c2FkZHIpLAogCQkJCQkJICAgIG50b2hsKHY0aGRyLT5kYWRkciksCiAJCQkJCQkg ICAgdjRoZHItPnByb3RvY29sLCBoYXNoKTsKIAkJCX0gZWxzZSBpZiAodjRoZHItPnZlcnNpb24g PT0gNiAmJgotCQkJCXBza2JfbWF5X3B1bGwoc2tiLCBzaXplb2YoKmhkcikgKiBsYWJlbF9pbmRl eCArCi0JCQkJCSAgICAgIHNpemVvZihzdHJ1Y3QgaXB2NmhkcikpKSB7CisJCQkJICAgcHNrYl9t YXlfcHVsbChza2IsIG1wbHNfaGRyX2xlbiArCisJCQkJCQkgc2l6ZW9mKHN0cnVjdCBpcHY2aGRy KSkpIHsKIAkJCQljb25zdCBzdHJ1Y3QgaXB2NmhkciAqdjZoZHI7CiAKLQkJCQl2NmhkciA9IChj b25zdCBzdHJ1Y3QgaXB2NmhkciAqKShtcGxzX2hkcihza2IpICsKLQkJCQkJCQkJbGFiZWxfaW5k ZXgpOwotCisJCQkJdjZoZHIgPSAoY29uc3Qgc3RydWN0IGlwdjZoZHIgKikoaGRyICsgMSk7CiAJ CQkJaGFzaCA9IF9faXB2Nl9hZGRyX2poYXNoKCZ2Nmhkci0+c2FkZHIsIGhhc2gpOwogCQkJCWhh c2ggPSBfX2lwdjZfYWRkcl9qaGFzaCgmdjZoZHItPmRhZGRyLCBoYXNoKTsKIAkJCQloYXNoID0g amhhc2hfMXdvcmQodjZoZHItPm5leHRoZHIsIGhhc2gpOwogCQkJfQogCQl9CisKKwkJYnJlYWs7 CiAJfQogCiAJcmV0dXJuIGhhc2g7CiB9CiAKIHN0YXRpYyBzdHJ1Y3QgbXBsc19uaCAqbXBsc19z ZWxlY3RfbXVsdGlwYXRoKHN0cnVjdCBtcGxzX3JvdXRlICpydCwKLQkJCQkJICAgICBzdHJ1Y3Qg c2tfYnVmZiAqc2tiLCBib29sIGJvcykKKwkJCQkJICAgICBzdHJ1Y3Qgc2tfYnVmZiAqc2tiKQog ewogCWludCBhbGl2ZSA9IEFDQ0VTU19PTkNFKHJ0LT5ydF9uaG5fYWxpdmUpOwogCXUzMiBoYXNo ID0gMDsKQEAgLTE4MCw3ICsxODIsNyBAQCBzdGF0aWMgc3RydWN0IG1wbHNfbmggKm1wbHNfc2Vs ZWN0X211bHRpcGF0aChzdHJ1Y3QgbXBsc19yb3V0ZSAqcnQsCiAJaWYgKGFsaXZlIDw9IDApCiAJ CXJldHVybiBOVUxMOwogCi0JaGFzaCA9IG1wbHNfbXVsdGlwYXRoX2hhc2gocnQsIHNrYiwgYm9z KTsKKwloYXNoID0gbXBsc19tdWx0aXBhdGhfaGFzaChydCwgc2tiKTsKIAluaF9pbmRleCA9IGhh c2ggJSBhbGl2ZTsKIAlpZiAoYWxpdmUgPT0gcnQtPnJ0X25obikKIAkJZ290byBvdXQ7CkBAIC0y NzgsMTcgKzI4MCwxMSBAQCBzdGF0aWMgaW50IG1wbHNfZm9yd2FyZChzdHJ1Y3Qgc2tfYnVmZiAq c2tiLCBzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LAogCWhkciA9IG1wbHNfaGRyKHNrYik7CiAJZGVj ID0gbXBsc19lbnRyeV9kZWNvZGUoaGRyKTsKIAotCS8qIFBvcCB0aGUgbGFiZWwgKi8KLQlza2Jf cHVsbChza2IsIHNpemVvZigqaGRyKSk7Ci0Jc2tiX3Jlc2V0X25ldHdvcmtfaGVhZGVyKHNrYik7 Ci0KLQlza2Jfb3JwaGFuKHNrYik7Ci0KIAlydCA9IG1wbHNfcm91dGVfaW5wdXRfcmN1KG5ldCwg ZGVjLmxhYmVsKTsKIAlpZiAoIXJ0KQogCQlnb3RvIGRyb3A7CiAKLQluaCA9IG1wbHNfc2VsZWN0 X211bHRpcGF0aChydCwgc2tiLCBkZWMuYm9zKTsKKwluaCA9IG1wbHNfc2VsZWN0X211bHRpcGF0 aChydCwgc2tiKTsKIAlpZiAoIW5oKQogCQlnb3RvIGRyb3A7CiAKQEAgLTI5Nyw2ICsyOTMsMTIg QEAgc3RhdGljIGludCBtcGxzX2ZvcndhcmQoc3RydWN0IHNrX2J1ZmYgKnNrYiwgc3RydWN0IG5l dF9kZXZpY2UgKmRldiwKIAlpZiAoIW1wbHNfb3V0cHV0X3Bvc3NpYmxlKG91dF9kZXYpKQogCQln b3RvIGRyb3A7CiAKKwkvKiBQb3AgdGhlIGxhYmVsICovCisJc2tiX3B1bGwoc2tiLCBzaXplb2Yo KmhkcikpOworCXNrYl9yZXNldF9uZXR3b3JrX2hlYWRlcihza2IpOworCisJc2tiX29ycGhhbihz a2IpOworCiAJaWYgKHNrYl93YXJuX2lmX2xybyhza2IpKQogCQlnb3RvIGRyb3A7CiAKLS0gCjIu NC4xMQoKCkZyb20gMDI4MTdiM2ZmYmQxZDM0ZTM5MGUzMWEwNWQzNDM1NmU5N2M1YmU2ZiBNb24g U2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogaGF5ZXN3YW5nIDxoYXllc3dhbmdAcmVhbHRlay5j b20+CkRhdGU6IE1vbiwgMjMgSmFuIDIwMTcgMTQ6MTg6NDMgKzA4MDAKU3ViamVjdDogW1BBVENI IDI3LzMyXSByODE1MjogZG9uJ3QgZXhlY3V0ZSBydW50aW1lIHN1c3BlbmQgaWYgdGhlIHR4IGlz IG5vdAogZW1wdHkKClsgVXBzdHJlYW0gY29tbWl0IDZhMGI3NmMwNGVjMTU3Yzg4Y2E5NDNkZWJm NzhhOGVlNTg0NjlmMmQgXQoKUnVudGltZSBzdXNwZW5kIHNob3VsZG4ndCBiZSBleGVjdXRlZCBp ZiB0aGUgdHggcXVldWUgaXMgbm90IGVtcHR5LApiZWNhdXNlIHRoZSBkZXZpY2UgaXMgbm90IGlk bGUuCgpTaWduZWQtb2ZmLWJ5OiBIYXllcyBXYW5nIDxoYXllc3dhbmdAcmVhbHRlay5jb20+ClNp Z25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBk cml2ZXJzL25ldC91c2IvcjgxNTIuYyB8IDQgKysrLQogMSBmaWxlIGNoYW5nZWQsIDMgaW5zZXJ0 aW9ucygrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3VzYi9yODE1 Mi5jIGIvZHJpdmVycy9uZXQvdXNiL3I4MTUyLmMKaW5kZXggYmU0Yzg2Zi4uOTBiNDI2YyAxMDA2 NDQKLS0tIGEvZHJpdmVycy9uZXQvdXNiL3I4MTUyLmMKKysrIGIvZHJpdmVycy9uZXQvdXNiL3I4 MTUyLmMKQEAgLTMyLDcgKzMyLDcgQEAKICNkZWZpbmUgTkVUTkVYVF9WRVJTSU9OCQkiMDgiCiAK IC8qIEluZm9ybWF0aW9uIGZvciBuZXQgKi8KLSNkZWZpbmUgTkVUX1ZFUlNJT04JCSI2IgorI2Rl ZmluZSBORVRfVkVSU0lPTgkJIjciCiAKICNkZWZpbmUgRFJJVkVSX1ZFUlNJT04JCSJ2MS4iIE5F VE5FWFRfVkVSU0lPTiAiLiIgTkVUX1ZFUlNJT04KICNkZWZpbmUgRFJJVkVSX0FVVEhPUiAiUmVh bHRlayBsaW51eCBuaWMgbWFpbnRhaW5lcnMgPG5pY19zd3NkQHJlYWx0ZWsuY29tPiIKQEAgLTM1 NzIsNiArMzU3Miw4IEBAIHN0YXRpYyBib29sIGRlbGF5X2F1dG9zdXNwZW5kKHN0cnVjdCByODE1 MiAqdHApCiAJICovCiAJaWYgKCFzd19saW5raW5nICYmIHRwLT5ydGxfb3BzLmluX253YXkodHAp KQogCQlyZXR1cm4gdHJ1ZTsKKwllbHNlIGlmICghc2tiX3F1ZXVlX2VtcHR5KCZ0cC0+dHhfcXVl dWUpKQorCQlyZXR1cm4gdHJ1ZTsKIAllbHNlCiAJCXJldHVybiBmYWxzZTsKIH0KLS0gCjIuNC4x MQoKCkZyb20gZWRlY2RiZjc2MGI2MWY3NGMyYjk0MDkxNjZhYmYwZmNhOGRhZmU3ZSBNb24gU2Vw IDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogV0FORyBDb25nIDx4aXlvdS53YW5nY29uZ0BnbWFpbC5j b20+CkRhdGU6IE1vbiwgMjMgSmFuIDIwMTcgMTE6MTc6MzUgLTA4MDAKU3ViamVjdDogW1BBVENI IDI4LzMyXSBhZl91bml4OiBtb3ZlIHVuaXhfbWtub2QoKSBvdXQgb2YgYmluZGxvY2sKClsgVXBz dHJlYW0gY29tbWl0IDBmYjQ0NTU5ZmZkNjdkZTg1MTcwOThiODFmNjc1ZmEwMjEwZjEzZjAgXQoK RG1pdHJ5IHJlcG9ydGVkIGEgZGVhZGxvY2sgc2NlbmFyaW86Cgp1bml4X2JpbmQoKSBwYXRoOgp1 LT5iaW5kbG9jayA9PT4gc2Jfd3JpdGVyCgpkb19zcGxpY2UoKSBwYXRoOgpzYl93cml0ZXIgPT0+ IHBpcGUtPm11dGV4ID09PiB1LT5iaW5kbG9jawoKSW4gdGhlIHVuaXhfYmluZCgpIGNvZGUgcGF0 aCwgdW5peF9ta25vZCgpIGRvZXMgbm90IGhhdmUgdG8KYmUgZG9uZSB3aXRoIHUtPmJpbmRsb2Nr IGhlbGQsIHNpbmNlIGl0IGlzIGEgcHVyZSBmcyBvcGVyYXRpb24sCnNvIHdlIGNhbiBqdXN0IG1v dmUgdW5peF9ta25vZCgpIG91dC4KClJlcG9ydGVkLWJ5OiBEbWl0cnkgVnl1a292IDxkdnl1a292 QGdvb2dsZS5jb20+ClRlc3RlZC1ieTogRG1pdHJ5IFZ5dWtvdiA8ZHZ5dWtvdkBnb29nbGUuY29t PgpDYzogUmFpbmVyIFdlaWt1c2F0IDxyd2Vpa3VzYXRAbW9iaWxlYWN0aXZlZGVmZW5zZS5jb20+ CkNjOiBBbCBWaXJvIDx2aXJvQHplbml2LmxpbnV4Lm9yZy51az4KU2lnbmVkLW9mZi1ieTogQ29u ZyBXYW5nIDx4aXlvdS53YW5nY29uZ0BnbWFpbC5jb20+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMu IE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBuZXQvdW5peC9hZl91bml4LmMgfCAy NyArKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCAxNiBpbnNlcnRp b25zKCspLCAxMSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9uZXQvdW5peC9hZl91bml4LmMg Yi9uZXQvdW5peC9hZl91bml4LmMKaW5kZXggMjM1OGYyNi4uMmQwM2Q1YiAxMDA2NDQKLS0tIGEv bmV0L3VuaXgvYWZfdW5peC5jCisrKyBiL25ldC91bml4L2FmX3VuaXguYwpAQCAtOTk1LDYgKzk5 NSw3IEBAIHN0YXRpYyBpbnQgdW5peF9iaW5kKHN0cnVjdCBzb2NrZXQgKnNvY2ssIHN0cnVjdCBz b2NrYWRkciAqdWFkZHIsIGludCBhZGRyX2xlbikKIAl1bnNpZ25lZCBpbnQgaGFzaDsKIAlzdHJ1 Y3QgdW5peF9hZGRyZXNzICphZGRyOwogCXN0cnVjdCBobGlzdF9oZWFkICpsaXN0OworCXN0cnVj dCBwYXRoIHBhdGggPSB7IE5VTEwsIE5VTEwgfTsKIAogCWVyciA9IC1FSU5WQUw7CiAJaWYgKHN1 bmFkZHItPnN1bl9mYW1pbHkgIT0gQUZfVU5JWCkKQEAgLTEwMTAsOSArMTAxMSwyMCBAQCBzdGF0 aWMgaW50IHVuaXhfYmluZChzdHJ1Y3Qgc29ja2V0ICpzb2NrLCBzdHJ1Y3Qgc29ja2FkZHIgKnVh ZGRyLCBpbnQgYWRkcl9sZW4pCiAJCWdvdG8gb3V0OwogCWFkZHJfbGVuID0gZXJyOwogCisJaWYg KHN1bl9wYXRoWzBdKSB7CisJCXVtb2RlX3QgbW9kZSA9IFNfSUZTT0NLIHwKKwkJICAgICAgIChT T0NLX0lOT0RFKHNvY2spLT5pX21vZGUgJiB+Y3VycmVudF91bWFzaygpKTsKKwkJZXJyID0gdW5p eF9ta25vZChzdW5fcGF0aCwgbW9kZSwgJnBhdGgpOworCQlpZiAoZXJyKSB7CisJCQlpZiAoZXJy ID09IC1FRVhJU1QpCisJCQkJZXJyID0gLUVBRERSSU5VU0U7CisJCQlnb3RvIG91dDsKKwkJfQor CX0KKwogCWVyciA9IG11dGV4X2xvY2tfaW50ZXJydXB0aWJsZSgmdS0+YmluZGxvY2spOwogCWlm IChlcnIpCi0JCWdvdG8gb3V0OworCQlnb3RvIG91dF9wdXQ7CiAKIAllcnIgPSAtRUlOVkFMOwog CWlmICh1LT5hZGRyKQpAQCAtMTAyOSwxNiArMTA0MSw2IEBAIHN0YXRpYyBpbnQgdW5peF9iaW5k KHN0cnVjdCBzb2NrZXQgKnNvY2ssIHN0cnVjdCBzb2NrYWRkciAqdWFkZHIsIGludCBhZGRyX2xl bikKIAlhdG9taWNfc2V0KCZhZGRyLT5yZWZjbnQsIDEpOwogCiAJaWYgKHN1bl9wYXRoWzBdKSB7 Ci0JCXN0cnVjdCBwYXRoIHBhdGg7Ci0JCXVtb2RlX3QgbW9kZSA9IFNfSUZTT0NLIHwKLQkJICAg ICAgIChTT0NLX0lOT0RFKHNvY2spLT5pX21vZGUgJiB+Y3VycmVudF91bWFzaygpKTsKLQkJZXJy ID0gdW5peF9ta25vZChzdW5fcGF0aCwgbW9kZSwgJnBhdGgpOwotCQlpZiAoZXJyKSB7Ci0JCQlp ZiAoZXJyID09IC1FRVhJU1QpCi0JCQkJZXJyID0gLUVBRERSSU5VU0U7Ci0JCQl1bml4X3JlbGVh c2VfYWRkcihhZGRyKTsKLQkJCWdvdG8gb3V0X3VwOwotCQl9CiAJCWFkZHItPmhhc2ggPSBVTklY X0hBU0hfU0laRTsKIAkJaGFzaCA9IGRfcmVhbF9pbm9kZShwYXRoLmRlbnRyeSktPmlfaW5vICYg KFVOSVhfSEFTSF9TSVpFIC0gMSk7CiAJCXNwaW5fbG9jaygmdW5peF90YWJsZV9sb2NrKTsKQEAg LTEwNjUsNiArMTA2Nyw5IEBAIHN0YXRpYyBpbnQgdW5peF9iaW5kKHN0cnVjdCBzb2NrZXQgKnNv Y2ssIHN0cnVjdCBzb2NrYWRkciAqdWFkZHIsIGludCBhZGRyX2xlbikKIAlzcGluX3VubG9jaygm dW5peF90YWJsZV9sb2NrKTsKIG91dF91cDoKIAltdXRleF91bmxvY2soJnUtPmJpbmRsb2NrKTsK K291dF9wdXQ6CisJaWYgKGVycikKKwkJcGF0aF9wdXQoJnBhdGgpOwogb3V0OgogCXJldHVybiBl cnI7CiB9Ci0tIAoyLjQuMTEKCgpGcm9tIDUyOWQ1YmQ3ZTRmZWE3Y2IxZjlkMDI0YjhhNDcwYjdj NmVmNWMxNzUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206ID0/VVRGLTg/cT9Caj1DMz1C OHJuPTIwTW9yaz89IDxiam9ybkBtb3JrLm5vPgpEYXRlOiBUdWUsIDI0IEphbiAyMDE3IDEwOjQ1 OjM4ICswMTAwClN1YmplY3Q6IFtQQVRDSCAyOS8zMl0gcW1pX3d3YW4vY2RjX2V0aGVyOiBhZGQg ZGV2aWNlIElEIGZvciBIUCBsdDI1MjMKIChOb3ZhdGVsIEUzNzEpIFdXQU4gY2FyZApNSU1FLVZl cnNpb246IDEuMApDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKQ29udGVu dC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAoKWyBVcHN0cmVhbSBjb21taXQgNWI5ZjU3NTE2MzM3 YjUyM2Y3NDY2YTUzOTM5YWFhZWE3Yjc4MTQxYiBdCgpBbm90aGVyIHJlYnJhbmRlZCBOb3ZhdGVs IEUzNzEuICBxbWlfd3dhbiBzaG91bGQgZHJpdmUgdGhpcyBkZXZpY2UsIHdoaWxlCmNkY19ldGhl ciBzaG91bGQgaWdub3JlIGl0LiAgRXZlbiB0aG91Z2ggdGhlIFVTQiBkZXNjcmlwdG9ycyBhcmUg cGxhaW4KQ0RDLUVUSEVSIHRoYXQgVVNCIGludGVyZmFjZSBpcyBhIFFNSSBpbnRlcmZhY2UuICBS ZWYgY29tbWl0IDdmZGI3ODQ2YzljYQooInFtaV93d2FuL2NkY19ldGhlcjogYWRkIGRldmljZSBJ RHMgZm9yIERlbGwgNTgwNCAoTm92YXRlbCBFMzcxKSBXV0FOCmNhcmQiKQoKQ2M6IERhbiBXaWxs aWFtcyA8ZGNid0ByZWRoYXQuY29tPgpTaWduZWQtb2ZmLWJ5OiBCasO4cm4gTW9yayA8Ympvcm5A bW9yay5ubz4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQu bmV0PgotLS0KIGRyaXZlcnMvbmV0L3VzYi9jZGNfZXRoZXIuYyB8IDggKysrKysrKysKIGRyaXZl cnMvbmV0L3VzYi9xbWlfd3dhbi5jICB8IDcgKysrKysrKwogMiBmaWxlcyBjaGFuZ2VkLCAxNSBp bnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvdXNiL2NkY19ldGhlci5jIGIv ZHJpdmVycy9uZXQvdXNiL2NkY19ldGhlci5jCmluZGV4IGRkNjIzZjYuLmI4MmJlODEgMTAwNjQ0 Ci0tLSBhL2RyaXZlcnMvbmV0L3VzYi9jZGNfZXRoZXIuYworKysgYi9kcml2ZXJzL25ldC91c2Iv Y2RjX2V0aGVyLmMKQEAgLTUzMSw2ICs1MzEsNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGRyaXZl cl9pbmZvIHd3YW5faW5mbyA9IHsKICNkZWZpbmUgU0FNU1VOR19WRU5ET1JfSUQJMHgwNGU4CiAj ZGVmaW5lIExFTk9WT19WRU5ET1JfSUQJMHgxN2VmCiAjZGVmaW5lIE5WSURJQV9WRU5ET1JfSUQJ MHgwOTU1CisjZGVmaW5lIEhQX1ZFTkRPUl9JRAkJMHgwM2YwCiAKIHN0YXRpYyBjb25zdCBzdHJ1 Y3QgdXNiX2RldmljZV9pZAlwcm9kdWN0c1tdID0gewogLyogQkxBQ0tMSVNUICEhCkBAIC02Nzcs NiArNjc4LDEzIEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgdXNiX2RldmljZV9pZAlwcm9kdWN0c1td ID0gewogCS5kcml2ZXJfaW5mbyA9IDAsCiB9LAogCisvKiBIUCBsdDI1MjMgKE5vdmF0ZWwgRTM3 MSkgLSBoYW5kbGVkIGJ5IHFtaV93d2FuICovCit7CisJVVNCX0RFVklDRV9BTkRfSU5URVJGQUNF X0lORk8oSFBfVkVORE9SX0lELCAweDQyMWQsIFVTQl9DTEFTU19DT01NLAorCQkJCSAgICAgIFVT Ql9DRENfU1VCQ0xBU1NfRVRIRVJORVQsIFVTQl9DRENfUFJPVE9fTk9ORSksCisJLmRyaXZlcl9p bmZvID0gMCwKK30sCisKIC8qIEFueURBVEEgQURVOTYwUyAtIGhhbmRsZWQgYnkgcW1pX3d3YW4g Ki8KIHsKIAlVU0JfREVWSUNFX0FORF9JTlRFUkZBQ0VfSU5GTygweDE2ZDUsIDB4NjUwYSwgVVNC X0NMQVNTX0NPTU0sCmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC91c2IvcW1pX3d3YW4uYyBiL2Ry aXZlcnMvbmV0L3VzYi9xbWlfd3dhbi5jCmluZGV4IDZmZTFjZGIuLjI0ZDUyNzIgMTAwNjQ0Ci0t LSBhL2RyaXZlcnMvbmV0L3VzYi9xbWlfd3dhbi5jCisrKyBiL2RyaXZlcnMvbmV0L3VzYi9xbWlf d3dhbi5jCkBAIC02NTQsNiArNjU0LDEzIEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgdXNiX2Rldmlj ZV9pZCBwcm9kdWN0c1tdID0gewogCQkJCQkgICAgICBVU0JfQ0RDX1BST1RPX05PTkUpLAogCQku ZHJpdmVyX2luZm8gICAgICAgID0gKHVuc2lnbmVkIGxvbmcpJnFtaV93d2FuX2luZm8sCiAJfSwK Kwl7CS8qIEhQIGx0MjUyMyAoTm92YXRlbCBFMzcxKSAqLworCQlVU0JfREVWSUNFX0FORF9JTlRF UkZBQ0VfSU5GTygweDAzZjAsIDB4NDIxZCwKKwkJCQkJICAgICAgVVNCX0NMQVNTX0NPTU0sCisJ CQkJCSAgICAgIFVTQl9DRENfU1VCQ0xBU1NfRVRIRVJORVQsCisJCQkJCSAgICAgIFVTQl9DRENf UFJPVE9fTk9ORSksCisJCS5kcml2ZXJfaW5mbyAgICAgICAgPSAodW5zaWduZWQgbG9uZykmcW1p X3d3YW5faW5mbywKKwl9LAogCXsJLyogSFAgbHQ0MTEyIExURS9IU1BBKyBHb2JpIDRHIE1vZHVs ZSAoSHVhd2VpIG1lOTA2ZSkgKi8KIAkJVVNCX0RFVklDRV9BTkRfSU5URVJGQUNFX0lORk8oMHgw M2YwLCAweDU4MWQsIFVTQl9DTEFTU19WRU5ET1JfU1BFQywgMSwgNyksCiAJCS5kcml2ZXJfaW5m byA9ICh1bnNpZ25lZCBsb25nKSZxbWlfd3dhbl9pbmZvLAotLSAKMi40LjExCgoKRnJvbSAzN2Vh YTIzOWQ5ZmNkYzQzN2UxYWEzNDI3Yjc5Mjg2NWIwNGI4YWJlIE1vbiBTZXAgMTcgMDA6MDA6MDAg MjAwMQpGcm9tOiBSb2JlcnQgU2hlYXJtYW4gPHJzaGVhcm1hQGJyb2NhZGUuY29tPgpEYXRlOiBU dWUsIDI0IEphbiAyMDE3IDE2OjI2OjQ3ICswMDAwClN1YmplY3Q6IFtQQVRDSCAzMC8zMl0gbmV0 OiBTcGVjaWZ5IHRoZSBvd25pbmcgbW9kdWxlIGZvciBsd3R1bm5lbCBvcHMKClsgVXBzdHJlYW0g Y29tbWl0IDg4ZmY3MzM0ZjI1OTA5ODAyMTQwZTY5MGMwZTE2NDMzZTQ4NWIwYTAgXQoKTW9kdWxl cyBpbXBsZW1lbnRpbmcgbHd0dW5uZWwgb3BzIHNob3VsZCBub3QgYmUgYWxsb3dlZCB0byB1bmxv YWQKd2hpbGUgdGhlcmUgaXMgc3RhdGUgYWxpdmUgdXNpbmcgdGhvc2Ugb3BzLCBzbyBzcGVjaWZ5 IHRoZSBvd25pbmcKbW9kdWxlIGZvciBhbGwgbHd0dW5uZWwgb3BzLgoKU2lnbmVkLW9mZi1ieTog Um9iZXJ0IFNoZWFybWFuIDxyc2hlYXJtYUBicm9jYWRlLmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2 aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIGluY2x1ZGUvbmV0L2x3dHVu bmVsLmggICAgfCAyICsrCiBuZXQvaXB2NC9pcF90dW5uZWxfY29yZS5jIHwgMiArKwogbmV0L2lw djYvaWxhL2lsYV9sd3QuYyAgICB8IDEgKwogbmV0L21wbHMvbXBsc19pcHR1bm5lbC5jICB8IDEg KwogNCBmaWxlcyBjaGFuZ2VkLCA2IGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS9pbmNsdWRl L25ldC9sd3R1bm5lbC5oIGIvaW5jbHVkZS9uZXQvbHd0dW5uZWwuaAppbmRleCA5NTU4MWNhLi4z ZTBhN2E5IDEwMDY0NAotLS0gYS9pbmNsdWRlL25ldC9sd3R1bm5lbC5oCisrKyBiL2luY2x1ZGUv bmV0L2x3dHVubmVsLmgKQEAgLTQzLDYgKzQzLDggQEAgc3RydWN0IGx3dHVubmVsX2VuY2FwX29w cyB7CiAJaW50ICgqZ2V0X2VuY2FwX3NpemUpKHN0cnVjdCBsd3R1bm5lbF9zdGF0ZSAqbHd0c3Rh dGUpOwogCWludCAoKmNtcF9lbmNhcCkoc3RydWN0IGx3dHVubmVsX3N0YXRlICphLCBzdHJ1Y3Qg bHd0dW5uZWxfc3RhdGUgKmIpOwogCWludCAoKnhtaXQpKHN0cnVjdCBza19idWZmICpza2IpOwor CisJc3RydWN0IG1vZHVsZSAqb3duZXI7CiB9OwogCiAjaWZkZWYgQ09ORklHX0xXVFVOTkVMCmRp ZmYgLS1naXQgYS9uZXQvaXB2NC9pcF90dW5uZWxfY29yZS5jIGIvbmV0L2lwdjQvaXBfdHVubmVs X2NvcmUuYwppbmRleCBmZWQzZDI5Li4wZmQxOTc2IDEwMDY0NAotLS0gYS9uZXQvaXB2NC9pcF90 dW5uZWxfY29yZS5jCisrKyBiL25ldC9pcHY0L2lwX3R1bm5lbF9jb3JlLmMKQEAgLTMxMyw2ICsz MTMsNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGx3dHVubmVsX2VuY2FwX29wcyBpcF90dW5fbHd0 X29wcyA9IHsKIAkuZmlsbF9lbmNhcCA9IGlwX3R1bl9maWxsX2VuY2FwX2luZm8sCiAJLmdldF9l bmNhcF9zaXplID0gaXBfdHVuX2VuY2FwX25sc2l6ZSwKIAkuY21wX2VuY2FwID0gaXBfdHVuX2Nt cF9lbmNhcCwKKwkub3duZXIgPSBUSElTX01PRFVMRSwKIH07CiAKIHN0YXRpYyBjb25zdCBzdHJ1 Y3QgbmxhX3BvbGljeSBpcDZfdHVuX3BvbGljeVtMV1RVTk5FTF9JUDZfTUFYICsgMV0gPSB7CkBA IC00MDMsNiArNDA0LDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBsd3R1bm5lbF9lbmNhcF9vcHMg aXA2X3R1bl9sd3Rfb3BzID0gewogCS5maWxsX2VuY2FwID0gaXA2X3R1bl9maWxsX2VuY2FwX2lu Zm8sCiAJLmdldF9lbmNhcF9zaXplID0gaXA2X3R1bl9lbmNhcF9ubHNpemUsCiAJLmNtcF9lbmNh cCA9IGlwX3R1bl9jbXBfZW5jYXAsCisJLm93bmVyID0gVEhJU19NT0RVTEUsCiB9OwogCiB2b2lk IF9faW5pdCBpcF90dW5uZWxfY29yZV9pbml0KHZvaWQpCmRpZmYgLS1naXQgYS9uZXQvaXB2Ni9p bGEvaWxhX2x3dC5jIGIvbmV0L2lwdjYvaWxhL2lsYV9sd3QuYwppbmRleCBlNTBjMjdhLi5mM2Ri MzY0IDEwMDY0NAotLS0gYS9uZXQvaXB2Ni9pbGEvaWxhX2x3dC5jCisrKyBiL25ldC9pcHY2L2ls YS9pbGFfbHd0LmMKQEAgLTE2NCw2ICsxNjQsNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGx3dHVu bmVsX2VuY2FwX29wcyBpbGFfZW5jYXBfb3BzID0gewogCS5maWxsX2VuY2FwID0gaWxhX2ZpbGxf ZW5jYXBfaW5mbywKIAkuZ2V0X2VuY2FwX3NpemUgPSBpbGFfZW5jYXBfbmxzaXplLAogCS5jbXBf ZW5jYXAgPSBpbGFfZW5jYXBfY21wLAorCS5vd25lciA9IFRISVNfTU9EVUxFLAogfTsKIAogaW50 IGlsYV9sd3RfaW5pdCh2b2lkKQpkaWZmIC0tZ2l0IGEvbmV0L21wbHMvbXBsc19pcHR1bm5lbC5j IGIvbmV0L21wbHMvbXBsc19pcHR1bm5lbC5jCmluZGV4IGNmNTJjZjMuLmJjOWFhZjUgMTAwNjQ0 Ci0tLSBhL25ldC9tcGxzL21wbHNfaXB0dW5uZWwuYworKysgYi9uZXQvbXBscy9tcGxzX2lwdHVu bmVsLmMKQEAgLTIxOCw2ICsyMTgsNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGx3dHVubmVsX2Vu Y2FwX29wcyBtcGxzX2lwdHVuX29wcyA9IHsKIAkuZmlsbF9lbmNhcCA9IG1wbHNfZmlsbF9lbmNh cF9pbmZvLAogCS5nZXRfZW5jYXBfc2l6ZSA9IG1wbHNfZW5jYXBfbmxzaXplLAogCS5jbXBfZW5j YXAgPSBtcGxzX2VuY2FwX2NtcCwKKwkub3duZXIgPSBUSElTX01PRFVMRSwKIH07CiAKIHN0YXRp YyBpbnQgX19pbml0IG1wbHNfaXB0dW5uZWxfaW5pdCh2b2lkKQotLSAKMi40LjExCgoKRnJvbSA2 YmJkMDBmZjQ3M2FjYzhhZjc1NmU4NGU5YTYyYzNhMDI1OGIxNDU4IE1vbiBTZXAgMTcgMDA6MDA6 MDAgMjAwMQpGcm9tOiBSb2JlcnQgU2hlYXJtYW4gPHJzaGVhcm1hQGJyb2NhZGUuY29tPgpEYXRl OiBUdWUsIDI0IEphbiAyMDE3IDE2OjI2OjQ4ICswMDAwClN1YmplY3Q6IFtQQVRDSCAzMS8zMl0g bHd0dW5uZWw6IEZpeCBvb3BzIG9uIHN0YXRlIGZyZWUgYWZ0ZXIgZW5jYXAgbW9kdWxlCiB1bmxv YWQKClsgVXBzdHJlYW0gY29tbWl0IDg1YzgxNDAxNmNlM2IzNzEwMTZjMmMwNTRhOTA1ZmEyNDky ZjVhNjUgXQoKV2hlbiBhdHRlbXB0aW5nIHRvIGZyZWUgbHd0dW5uZWwgc3RhdGUgYWZ0ZXIgdGhl IG1vZHVsZSBmb3IgdGhlIGVuY2FwCmhhcyBiZWVuIHVubG9hZGVkIGFuIG9vcHMgb2NjdXJzOgoK QlVHOiB1bmFibGUgdG8gaGFuZGxlIGtlcm5lbCBOVUxMIHBvaW50ZXIgZGVyZWZlcmVuY2UgYXQg MDAwMDAwMDAwMDAwMDAwOApJUDogbHd0c3RhdGVfZnJlZSsweDE4LzB4NDAKWy4uXQp0YXNrOiBm ZmZmODgwMDNlMzcyMzgwIHRhc2suc3RhY2s6IGZmZmZjOTAwMDAxZmMwMDAKUklQOiAwMDEwOmx3 dHN0YXRlX2ZyZWUrMHgxOC8weDQwClJTUDogMDAxODpmZmZmODgwMDNmZDgzZTg4IEVGTEFHUzog MDAwMTAyNDYKUkFYOiAwMDAwMDAwMDAwMDAwMDAwIFJCWDogZmZmZjg4MDAyYmJiMzM4MCBSQ1g6 IGZmZmY4ODAwMGM5MWEzMDAKWy4uXQpDYWxsIFRyYWNlOgogPElSUT4KIGZyZWVfZmliX2luZm9f cmN1KzB4MTk1LzB4MWEwCiA/IHJ0X2ZpYmluZm9fZnJlZSsweDUwLzB4NTAKIHJjdV9wcm9jZXNz X2NhbGxiYWNrcysweDJkMy8weDg1MAogPyByY3VfcHJvY2Vzc19jYWxsYmFja3MrMHgyOTYvMHg4 NTAKIF9fZG9fc29mdGlycSsweGU0LzB4NGNiCiBpcnFfZXhpdCsweGIwLzB4YzAKIHNtcF9hcGlj X3RpbWVyX2ludGVycnVwdCsweDNkLzB4NTAKIGFwaWNfdGltZXJfaW50ZXJydXB0KzB4OTMvMHhh MApbLi5dCkNvZGU6IGU4IDZlIGM2IGZjIGZmIDg5IGQ4IDViIDVkIGMzIGJiIGRlIGZmIGZmIGZm IGViIGY0IDY2IDkwIDY2IDY2IDY2IDY2IDkwIDU1IDQ4IDg5IGU1IDUzIDBmIGI3IDA3IDQ4IDg5 IGZiIDQ4IDhiIDA0IGM1IDAwIDgxIGQ1IDgxIDw0OD4gOGIgNDAgMDggNDggODUgYzAgNzQgMTMg ZmYgZDAgNDggOGQgN2IgMjAgYmUgMjAgMDAgMDAgMDAgZTgKClRoZSBwcm9ibGVtIGlzIGFmdGVy IHRoZSBtb2R1bGUgZm9yIHRoZSBlbmNhcCBjYW4gYmUgdW5sb2FkZWQgdGhlCmNvcnJlc3BvbmRp bmcgb3BzIGlzIHJlbW92ZWQgYW5kIGlzIHRodXMgTlVMTCBoZXJlLgoKTW9kdWxlcyBpbXBsZW1l bnRpbmcgbHd0dW5uZWwgb3BzIHNob3VsZCBub3QgYmUgYWxsb3dlZCB0byB1bmxvYWQKd2hpbGUg dGhlcmUgaXMgc3RhdGUgYWxpdmUgdXNpbmcgdGhvc2Ugb3BzLCBzbyBncmFiIHRoZSBtb2R1bGUK cmVmZXJlbmNlIGZvciB0aGUgb3BzIG9uIGNyZWF0aW5nIGx3dHVubmVsIHN0YXRlIGFuZCBvZiBj b3Vyc2UgcmVsZWFzZQp0aGUgcmVmZXJlbmNlIHdoZW4gZnJlZWluZyB0aGUgc3RhdGUuCgpGaXhl czogMTEwNGQ5YmE0NDNhICgibHd0dW5uZWw6IEFkZCBkZXN0cm95IHN0YXRlIG9wZXJhdGlvbiIp ClNpZ25lZC1vZmYtYnk6IFJvYmVydCBTaGVhcm1hbiA8cnNoZWFybWFAYnJvY2FkZS5jb20+ClNp Z25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBp bmNsdWRlL25ldC9sd3R1bm5lbC5oIHwgIDUgKy0tLS0KIG5ldC9jb3JlL2x3dHVubmVsLmMgICAg fCAxNCArKysrKysrKysrKysrLQogMiBmaWxlcyBjaGFuZ2VkLCAxNCBpbnNlcnRpb25zKCspLCA1 IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2luY2x1ZGUvbmV0L2x3dHVubmVsLmggYi9pbmNs dWRlL25ldC9sd3R1bm5lbC5oCmluZGV4IDNlMGE3YTkuLmZjN2MwZGIgMTAwNjQ0Ci0tLSBhL2lu Y2x1ZGUvbmV0L2x3dHVubmVsLmgKKysrIGIvaW5jbHVkZS9uZXQvbHd0dW5uZWwuaApAQCAtNDgs MTAgKzQ4LDcgQEAgc3RydWN0IGx3dHVubmVsX2VuY2FwX29wcyB7CiB9OwogCiAjaWZkZWYgQ09O RklHX0xXVFVOTkVMCi1zdGF0aWMgaW5saW5lIHZvaWQgbHd0c3RhdGVfZnJlZShzdHJ1Y3QgbHd0 dW5uZWxfc3RhdGUgKmx3cykKLXsKLQlrZnJlZShsd3MpOwotfQordm9pZCBsd3RzdGF0ZV9mcmVl KHN0cnVjdCBsd3R1bm5lbF9zdGF0ZSAqbHdzKTsKIAogc3RhdGljIGlubGluZSBzdHJ1Y3QgbHd0 dW5uZWxfc3RhdGUgKgogbHd0c3RhdGVfZ2V0KHN0cnVjdCBsd3R1bm5lbF9zdGF0ZSAqbHdzKQpk aWZmIC0tZ2l0IGEvbmV0L2NvcmUvbHd0dW5uZWwuYyBiL25ldC9jb3JlL2x3dHVubmVsLmMKaW5k ZXggMmY2ZGIzOC4uYWZhNjRmMCAxMDA2NDQKLS0tIGEvbmV0L2NvcmUvbHd0dW5uZWwuYworKysg Yi9uZXQvY29yZS9sd3R1bm5lbC5jCkBAIC02Niw2ICs2NiwxNSBAQCBFWFBPUlRfU1lNQk9MKGx3 dHVubmVsX3N0YXRlX2FsbG9jKTsKIHN0YXRpYyBjb25zdCBzdHJ1Y3QgbHd0dW5uZWxfZW5jYXBf b3BzIF9fcmN1ICoKIAkJbHd0dW5fZW5jYXBzW0xXVFVOTkVMX0VOQ0FQX01BWCArIDFdIF9fcmVh ZF9tb3N0bHk7CiAKK3ZvaWQgbHd0c3RhdGVfZnJlZShzdHJ1Y3QgbHd0dW5uZWxfc3RhdGUgKmx3 cykKK3sKKwljb25zdCBzdHJ1Y3QgbHd0dW5uZWxfZW5jYXBfb3BzICpvcHMgPSBsd3R1bl9lbmNh cHNbbHdzLT50eXBlXTsKKworCWtmcmVlKGx3cyk7CisJbW9kdWxlX3B1dChvcHMtPm93bmVyKTsK K30KK0VYUE9SVF9TWU1CT0wobHd0c3RhdGVfZnJlZSk7CisKIGludCBsd3R1bm5lbF9lbmNhcF9h ZGRfb3BzKGNvbnN0IHN0cnVjdCBsd3R1bm5lbF9lbmNhcF9vcHMgKm9wcywKIAkJCSAgIHVuc2ln bmVkIGludCBudW0pCiB7CkBAIC0xMTEsOCArMTIwLDExIEBAIGludCBsd3R1bm5lbF9idWlsZF9z dGF0ZShzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LCB1MTYgZW5jYXBfdHlwZSwKIAlyZXQgPSAtRU9Q Tk9UU1VQUDsKIAlyY3VfcmVhZF9sb2NrKCk7CiAJb3BzID0gcmN1X2RlcmVmZXJlbmNlKGx3dHVu X2VuY2Fwc1tlbmNhcF90eXBlXSk7Ci0JaWYgKGxpa2VseShvcHMgJiYgb3BzLT5idWlsZF9zdGF0 ZSkpCisJaWYgKGxpa2VseShvcHMgJiYgb3BzLT5idWlsZF9zdGF0ZSAmJiB0cnlfbW9kdWxlX2dl dChvcHMtPm93bmVyKSkpIHsKIAkJcmV0ID0gb3BzLT5idWlsZF9zdGF0ZShkZXYsIGVuY2FwLCBm YW1pbHksIGNmZywgbHdzKTsKKwkJaWYgKHJldCkKKwkJCW1vZHVsZV9wdXQob3BzLT5vd25lcik7 CisJfQogCXJjdV9yZWFkX3VubG9jaygpOwogCiAJcmV0dXJuIHJldDsKLS0gCjIuNC4xMQoKCkZy b20gZTM0MWQ4ZGI5ZTQ0OWY2MjY4YTZkZmQ5OWVhYmM1NWJiZjRjMTkwOCBNb24gU2VwIDE3IDAw OjAwOjAwIDIwMDEKRnJvbTogRmxvcmlhbiBGYWluZWxsaSA8Zi5mYWluZWxsaUBnbWFpbC5jb20+ CkRhdGU6IFdlZCwgMjUgSmFuIDIwMTcgMDk6MTA6NDEgLTA4MDAKU3ViamVjdDogW1BBVENIIDMy LzMyXSBuZXQ6IGRzYTogQnJpbmcgYmFjayBkZXZpY2UgZGV0YWNoaW5nIGluCiBkc2Ffc2xhdmVf c3VzcGVuZCgpCgpbIFVwc3RyZWFtIGNvbW1pdCBmMTU0YmUyNDFkMjIyOThkMmI2M2M5YjYxM2Y2 MTlmYTEwODZlYTc1IF0KCkNvbW1pdCA0NDhiNDQ4MmM2NzEgKCJuZXQ6IGRzYTogQWRkIGxvY2tk ZXAgY2xhc3MgdG8gdHggcXVldWVzIHRvIGF2b2lkCmxvY2tkZXAgc3BsYXQiKSByZW1vdmVkIHRo ZSBuZXRpZl9kZXZpY2VfZGV0YWNoKCkgY2FsbCBkb25lIGluCmRzYV9zbGF2ZV9zdXNwZW5kKCkg d2hpY2ggaXMgbmVjZXNzYXJ5LCBhbmQgcGFpcmVkIHdpdGggYSBjb3JyZXNwb25kaW5nCm5ldGlm X2RldmljZV9hdHRhY2goKSwgYnJpbmcgaXQgYmFjay4KCkZpeGVzOiA0NDhiNDQ4MmM2NzEgKCJu ZXQ6IGRzYTogQWRkIGxvY2tkZXAgY2xhc3MgdG8gdHggcXVldWVzIHRvIGF2b2lkIGxvY2tkZXAg c3BsYXQiKQpTaWduZWQtb2ZmLWJ5OiBGbG9yaWFuIEZhaW5lbGxpIDxmLmZhaW5lbGxpQGdtYWls LmNvbT4KUmV2aWV3ZWQtYnk6IEFuZHJldyBMdW5uIDxhbmRyZXdAbHVubi5jaD4KU2lnbmVkLW9m Zi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIG5ldC9kc2Ev c2xhdmUuYyB8IDIgKysKIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKykKCmRpZmYgLS1n aXQgYS9uZXQvZHNhL3NsYXZlLmMgYi9uZXQvZHNhL3NsYXZlLmMKaW5kZXggMzBlMmUyMS4uM2Zm OWQ5NyAxMDA2NDQKLS0tIGEvbmV0L2RzYS9zbGF2ZS5jCisrKyBiL25ldC9kc2Evc2xhdmUuYwpA QCAtMTIwMSw2ICsxMjAxLDggQEAgaW50IGRzYV9zbGF2ZV9zdXNwZW5kKHN0cnVjdCBuZXRfZGV2 aWNlICpzbGF2ZV9kZXYpCiB7CiAJc3RydWN0IGRzYV9zbGF2ZV9wcml2ICpwID0gbmV0ZGV2X3By aXYoc2xhdmVfZGV2KTsKIAorCW5ldGlmX2RldmljZV9kZXRhY2goc2xhdmVfZGV2KTsKKwogCWlm IChwLT5waHkpIHsKIAkJcGh5X3N0b3AocC0+cGh5KTsKIAkJcC0+b2xkX3BhdXNlID0gLTE7Ci0t IAoyLjQuMTEKCg== ----Next_Part(Tue_Jan_31_16_50_51_2017_093)----