Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1pNhya-00076S-AJ for pgsql-hackers@arkaria.postgresql.org; Thu, 02 Feb 2023 22:22:40 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1pNhyZ-0005bf-5g for pgsql-hackers@arkaria.postgresql.org; Thu, 02 Feb 2023 22:22:39 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1pNhyY-0005bQ-AE for pgsql-hackers@lists.postgresql.org; Thu, 02 Feb 2023 22:22:38 +0000 Received: from wnew1-smtp.messagingengine.com ([64.147.123.26]) by makus.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1pNhyR-0003kZ-M2 for pgsql-hackers@postgresql.org; Thu, 02 Feb 2023 22:22:37 +0000 Received: from compute3.internal (compute3.nyi.internal [10.202.2.43]) by mailnew.west.internal (Postfix) with ESMTP id 1EFE52B06A22 for ; Thu, 2 Feb 2023 17:22:30 -0500 (EST) Received: from mailfrontend2 ([10.202.2.163]) by compute3.internal (MEProxy); Thu, 02 Feb 2023 17:22:30 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-type:date:date:feedback-id :feedback-id:from:from:in-reply-to:message-id:mime-version :reply-to:sender:subject:subject:to:to:x-me-proxy:x-me-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm3; t=1675376549; x= 1675383749; bh=+rNZwYAVEY+6dcYF6DdcFRKcnE23GaEcMuXbqhs5aFU=; b=p NpfTxQ/ggbcJM4t/BhQ5sn1NsuFJyiKB47wx/fIu2Xy3ODhTvVrv9eYY4WQgj/z5 uyYh3UY8bKkIcFF/AHrAyFRI7mQ5CnmZuLXZ4318VdsCGh6pktMTH2YoqYo+FnG0 M6h7uume3BfZn2rV5+fb0+g1iCoYH+FdVP6fIfiIrHnysV3Lf1JgOJbeQVcS4AIJ EKTreSebkPpFBynQvDOXhvP97emxH0ofndzagWSoAQSjQ2iduXwiI26mBGR71xoh 6tQwHOzWtyuZbaKH/NnX+PeuEmerGCZTQ3W18sa+Z9SvQBmedJ1GuOGkE8tzLj11 pmPio5Eb/S87clgDpHqnw== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrudefkedgudehjecutefuodetggdotefrod ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfgh necuuegrihhlohhuthemuceftddtnecunecujfgurheptgfkffggfgfhuffvsehmtderre dtfeejnecuhfhrohhmpefrvghtvghrucfgihhsvghnthhrrghuthcuoehpvghtvghrrdgv ihhsvghnthhrrghuthesvghnthgvrhhprhhishgvuggsrdgtohhmqeenucggtffrrghtth gvrhhnpeetveeuvdeikeeigefhveffhffhvdejveelleefieekieekvdffgeetkedutdef leenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpehpvg htvghrrdgvihhsvghnthhrrghuthesvghnthgvrhhprhhishgvuggsrdgtohhm X-ME-Proxy: Feedback-ID: i131946ab:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA for ; Thu, 2 Feb 2023 17:22:28 -0500 (EST) Content-Type: multipart/mixed; boundary="------------jM0jQQl2n2T7n2hVBs6V0gOs" Message-ID: Date: Thu, 2 Feb 2023 23:22:27 +0100 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0) Gecko/20100101 Thunderbird/102.6.1 Content-Language: en-US From: Peter Eisentraut Subject: Remove some useless casts to (void *) To: pgsql-hackers List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk This is a multi-part message in MIME format. --------------jM0jQQl2n2T7n2hVBs6V0gOs Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit I have found that in some corners of the code some calls to standard C functions are decorated with casts to (void *) for no reason, and this code pattern then gets copied around. I have gone through and cleaned this up a bit, in the attached patches. The involved functions are: repalloc, memcpy, memset, memmove, memcmp, qsort, bsearch Also hash_search(), for which there was a historical reason (the argument used to be char *), but not anymore. --------------jM0jQQl2n2T7n2hVBs6V0gOs Content-Type: text/plain; charset=UTF-8; name="0001-Remove-useless-casts-to-void-hash_search.patch" Content-Disposition: attachment; filename="0001-Remove-useless-casts-to-void-hash_search.patch" Content-Transfer-Encoding: base64 RnJvbSBiNGYwNTBkMjM3NjExODdlMDU1NzZjZmJlODI3N2I1OTNkOWMxOWZiIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQZXRlciBFaXNlbnRyYXV0IDxwZXRlckBlaXNlbnRy YXV0Lm9yZz4KRGF0ZTogVGh1LCAyIEZlYiAyMDIzIDIzOjAyOjM0ICswMTAwClN1YmplY3Q6 IFtQQVRDSCAxLzhdIFJlbW92ZSB1c2VsZXNzIGNhc3RzIHRvICh2b2lkICopIChoYXNoX3Nl YXJjaCkKClNvbWUgb2YgdGhlc2UgYXBwZWFyIHRvIGJlIGxlZnRvdmVycyBmcm9tIHdoZW4g aGFzaF9zZWFyY2ggdG9vayBhIGNoYXIKKiBhcmd1bWVudCAoY2hhbmdlZCBpbiA1OTk5ZTc4 ZmM0NWRjYjkxNzg0YjY0YjZlOWFlNDNmNGU0ZjY4Y2EyKS4KLS0tCiBjb250cmliL3Bvc3Rn cmVzX2Zkdy9zaGlwcGFibGUuYyAgICAgICAgICAgICAgfCAgNiArLS0KIHNyYy9iYWNrZW5k L2FjY2Vzcy9naXN0L2dpc3RidWlsZC5jICAgICAgICAgICB8ICA0ICstCiBzcmMvYmFja2Vu ZC9hY2Nlc3MvZ2lzdC9naXN0YnVpbGRidWZmZXJzLmMgICAgfCAgMiArLQogc3JjL2JhY2tl bmQvYWNjZXNzL3RyYW5zYW0veGxvZ3V0aWxzLmMgICAgICAgIHwgIDYgKy0tCiBzcmMvYmFj a2VuZC9jYXRhbG9nL3N0b3JhZ2UuYyAgICAgICAgICAgICAgICAgfCAgNCArLQogc3JjL2Jh Y2tlbmQvb3B0aW1pemVyL3V0aWwvcHJlZHRlc3QuYyAgICAgICAgIHwgIDIgKy0KIHNyYy9i YWNrZW5kL3BhcnNlci9wYXJzZV9vcGVyLmMgICAgICAgICAgICAgICB8ICA2ICstLQogc3Jj L2JhY2tlbmQvcmVwbGljYXRpb24vbG9naWNhbC9yZWxhdGlvbi5jICAgIHwgIDYgKy0tCiAu Li4vcmVwbGljYXRpb24vbG9naWNhbC9yZW9yZGVyYnVmZmVyLmMgICAgICAgfCAxNiArKyst LS0KIHNyYy9iYWNrZW5kL3JlcGxpY2F0aW9uL3Bnb3V0cHV0L3Bnb3V0cHV0LmMgICB8ICAy ICstCiBzcmMvYmFja2VuZC9zdG9yYWdlL2J1ZmZlci9idWZfdGFibGUuYyAgICAgICAgfCAg NiArLS0KIHNyYy9iYWNrZW5kL3N0b3JhZ2UvYnVmZmVyL2J1Zm1nci5jICAgICAgICAgICB8 ICA4ICstLQogc3JjL2JhY2tlbmQvc3RvcmFnZS9idWZmZXIvbG9jYWxidWYuYyAgICAgICAg IHwgMTIgKystLS0KIHNyYy9iYWNrZW5kL3N0b3JhZ2UvbG1nci9sb2NrLmMgICAgICAgICAg ICAgICB8IDUwICsrKysrKysrKy0tLS0tLS0tLS0KIHNyYy9iYWNrZW5kL3N0b3JhZ2Uvc21n ci9zbWdyLmMgICAgICAgICAgICAgICB8ICA2ICstLQogc3JjL2JhY2tlbmQvc3RvcmFnZS9z eW5jL3N5bmMuYyAgICAgICAgICAgICAgIHwgIDQgKy0KIHNyYy9iYWNrZW5kL3RzZWFyY2gv dHNfdHlwYW5hbHl6ZS5jICAgICAgICAgICB8ICA0ICstCiBzcmMvYmFja2VuZC91dGlscy9h ZHQvYXJyYXlfdHlwYW5hbHl6ZS5jICAgICAgfCAgNCArLQogc3JjL2JhY2tlbmQvdXRpbHMv YWR0L3JpX3RyaWdnZXJzLmMgICAgICAgICAgIHwgIDggKy0tCiBzcmMvYmFja2VuZC91dGls cy9jYWNoZS9hdHRvcHRjYWNoZS5jICAgICAgICAgfCAgNiArLS0KIHNyYy9iYWNrZW5kL3V0 aWxzL2NhY2hlL3JlbGNhY2hlLmMgICAgICAgICAgICB8IDEyICsrLS0tCiBzcmMvYmFja2Vu ZC91dGlscy9jYWNoZS9yZWxmaWxlbnVtYmVybWFwLmMgICAgfCAgNiArLS0KIHNyYy9iYWNr ZW5kL3V0aWxzL2NhY2hlL3NwY2NhY2hlLmMgICAgICAgICAgICB8ICA2ICstLQogc3JjL2Jh Y2tlbmQvdXRpbHMvY2FjaGUvdHNfY2FjaGUuYyAgICAgICAgICAgIHwgMTIgKystLS0KIHNy Yy9iYWNrZW5kL3V0aWxzL2NhY2hlL3R5cGNhY2hlLmMgICAgICAgICAgICB8ICA4ICstLQog c3JjL2JhY2tlbmQvdXRpbHMvdGltZS9jb21ib2NpZC5jICAgICAgICAgICAgIHwgIDIgKy0K IHNyYy9wbC9wbHBnc3FsL3NyYy9wbF9jb21wLmMgICAgICAgICAgICAgICAgICB8ICA2ICst LQogc3JjL3BsL3BscGdzcWwvc3JjL3BsX2V4ZWMuYyAgICAgICAgICAgICAgICAgIHwgIDIg Ky0KIDI4IGZpbGVzIGNoYW5nZWQsIDEwOCBpbnNlcnRpb25zKCspLCAxMDggZGVsZXRpb25z KC0pCgpkaWZmIC0tZ2l0IGEvY29udHJpYi9wb3N0Z3Jlc19mZHcvc2hpcHBhYmxlLmMgYi9j b250cmliL3Bvc3RncmVzX2Zkdy9zaGlwcGFibGUuYwppbmRleCAxYjQ3YTMwZGJmLi5hNTAw YjkwMzkwIDEwMDY0NAotLS0gYS9jb250cmliL3Bvc3RncmVzX2Zkdy9zaGlwcGFibGUuYwor KysgYi9jb250cmliL3Bvc3RncmVzX2Zkdy9zaGlwcGFibGUuYwpAQCAtNzcsNyArNzcsNyBA QCBJbnZhbGlkYXRlU2hpcHBhYmxlQ2FjaGVDYWxsYmFjayhEYXR1bSBhcmcsIGludCBjYWNo ZWlkLCB1aW50MzIgaGFzaHZhbHVlKQogCXdoaWxlICgoZW50cnkgPSAoU2hpcHBhYmxlQ2Fj aGVFbnRyeSAqKSBoYXNoX3NlcV9zZWFyY2goJnN0YXR1cykpICE9IE5VTEwpCiAJewogCQlp ZiAoaGFzaF9zZWFyY2goU2hpcHBhYmxlQ2FjaGVIYXNoLAotCQkJCQkJKHZvaWQgKikgJmVu dHJ5LT5rZXksCisJCQkJCQkmZW50cnktPmtleSwKIAkJCQkJCUhBU0hfUkVNT1ZFLAogCQkJ CQkJTlVMTCkgPT0gTlVMTCkKIAkJCWVsb2coRVJST1IsICJoYXNoIHRhYmxlIGNvcnJ1cHRl ZCIpOwpAQCAtMTg0LDcgKzE4NCw3IEBAIGlzX3NoaXBwYWJsZShPaWQgb2JqZWN0SWQsIE9p ZCBjbGFzc0lkLCBQZ0Zkd1JlbGF0aW9uSW5mbyAqZnBpbmZvKQogCS8qIFNlZSBpZiB3ZSBh bHJlYWR5IGNhY2hlZCB0aGUgcmVzdWx0LiAqLwogCWVudHJ5ID0gKFNoaXBwYWJsZUNhY2hl RW50cnkgKikKIAkJaGFzaF9zZWFyY2goU2hpcHBhYmxlQ2FjaGVIYXNoLAotCQkJCQkodm9p ZCAqKSAma2V5LAorCQkJCQkma2V5LAogCQkJCQlIQVNIX0ZJTkQsCiAJCQkJCU5VTEwpOwog CkBAIC0yMDAsNyArMjAwLDcgQEAgaXNfc2hpcHBhYmxlKE9pZCBvYmplY3RJZCwgT2lkIGNs YXNzSWQsIFBnRmR3UmVsYXRpb25JbmZvICpmcGluZm8pCiAJCSAqLwogCQllbnRyeSA9IChT aGlwcGFibGVDYWNoZUVudHJ5ICopCiAJCQloYXNoX3NlYXJjaChTaGlwcGFibGVDYWNoZUhh c2gsCi0JCQkJCQkodm9pZCAqKSAma2V5LAorCQkJCQkJJmtleSwKIAkJCQkJCUhBU0hfRU5U RVIsCiAJCQkJCQlOVUxMKTsKIApkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvYWNjZXNzL2dp c3QvZ2lzdGJ1aWxkLmMgYi9zcmMvYmFja2VuZC9hY2Nlc3MvZ2lzdC9naXN0YnVpbGQuYwpp bmRleCBkMjFhMzA4ZDQxLi43YTZkOTNiYjg3IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9h Y2Nlc3MvZ2lzdC9naXN0YnVpbGQuYworKysgYi9zcmMvYmFja2VuZC9hY2Nlc3MvZ2lzdC9n aXN0YnVpbGQuYwpAQCAtMTU4Nyw3ICsxNTg3LDcgQEAgZ2lzdE1lbW9yaXplUGFyZW50KEdJ U1RCdWlsZFN0YXRlICpidWlsZHN0YXRlLCBCbG9ja051bWJlciBjaGlsZCwgQmxvY2tOdW1i ZXIgcGEKIAlib29sCQlmb3VuZDsKIAogCWVudHJ5ID0gKFBhcmVudE1hcEVudHJ5ICopIGhh c2hfc2VhcmNoKGJ1aWxkc3RhdGUtPnBhcmVudE1hcCwKLQkJCQkJCQkJCQkgICAoY29uc3Qg dm9pZCAqKSAmY2hpbGQsCisJCQkJCQkJCQkJICAgJmNoaWxkLAogCQkJCQkJCQkJCSAgIEhB U0hfRU5URVIsCiAJCQkJCQkJCQkJICAgJmZvdW5kKTsKIAllbnRyeS0+cGFyZW50Ymxrbm8g PSBwYXJlbnQ7CkBAIC0xNjI1LDcgKzE2MjUsNyBAQCBnaXN0R2V0UGFyZW50KEdJU1RCdWls ZFN0YXRlICpidWlsZHN0YXRlLCBCbG9ja051bWJlciBjaGlsZCkKIAogCS8qIEZpbmQgbm9k ZSBidWZmZXIgaW4gaGFzaCB0YWJsZSAqLwogCWVudHJ5ID0gKFBhcmVudE1hcEVudHJ5ICop IGhhc2hfc2VhcmNoKGJ1aWxkc3RhdGUtPnBhcmVudE1hcCwKLQkJCQkJCQkJCQkgICAoY29u c3Qgdm9pZCAqKSAmY2hpbGQsCisJCQkJCQkJCQkJICAgJmNoaWxkLAogCQkJCQkJCQkJCSAg IEhBU0hfRklORCwKIAkJCQkJCQkJCQkgICAmZm91bmQpOwogCWlmICghZm91bmQpCmRpZmYg LS1naXQgYS9zcmMvYmFja2VuZC9hY2Nlc3MvZ2lzdC9naXN0YnVpbGRidWZmZXJzLmMgYi9z cmMvYmFja2VuZC9hY2Nlc3MvZ2lzdC9naXN0YnVpbGRidWZmZXJzLmMKaW5kZXggMzM5OWE2 YWU2OC4uOTVjYmVkNDMzNyAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvYWNjZXNzL2dpc3Qv Z2lzdGJ1aWxkYnVmZmVycy5jCisrKyBiL3NyYy9iYWNrZW5kL2FjY2Vzcy9naXN0L2dpc3Ri dWlsZGJ1ZmZlcnMuYwpAQCAtMTIyLDcgKzEyMiw3IEBAIGdpc3RHZXROb2RlQnVmZmVyKEdJ U1RCdWlsZEJ1ZmZlcnMgKmdmYmIsIEdJU1RTVEFURSAqZ2lzdHN0YXRlLAogCiAJLyogRmlu ZCBub2RlIGJ1ZmZlciBpbiBoYXNoIHRhYmxlICovCiAJbm9kZUJ1ZmZlciA9IChHSVNUTm9k ZUJ1ZmZlciAqKSBoYXNoX3NlYXJjaChnZmJiLT5ub2RlQnVmZmVyc1RhYiwKLQkJCQkJCQkJ CQkJCShjb25zdCB2b2lkICopICZub2RlQmxvY2tudW0sCisJCQkJCQkJCQkJCQkmbm9kZUJs b2NrbnVtLAogCQkJCQkJCQkJCQkJSEFTSF9FTlRFUiwKIAkJCQkJCQkJCQkJCSZmb3VuZCk7 CiAJaWYgKCFmb3VuZCkKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2FjY2Vzcy90cmFuc2Ft L3hsb2d1dGlscy5jIGIvc3JjL2JhY2tlbmQvYWNjZXNzL3RyYW5zYW0veGxvZ3V0aWxzLmMK aW5kZXggODdjYTlkZmVmMS4uMmMyODk1NmIxYSAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQv YWNjZXNzL3RyYW5zYW0veGxvZ3V0aWxzLmMKKysrIGIvc3JjL2JhY2tlbmQvYWNjZXNzL3Ry YW5zYW0veGxvZ3V0aWxzLmMKQEAgLTE1MSw3ICsxNTEsNyBAQCBsb2dfaW52YWxpZF9wYWdl KFJlbEZpbGVMb2NhdG9yIGxvY2F0b3IsIEZvcmtOdW1iZXIgZm9ya25vLCBCbG9ja051bWJl ciBibGtubywKIAlrZXkuZm9ya25vID0gZm9ya25vOwogCWtleS5ibGtubyA9IGJsa25vOwog CWhlbnRyeSA9ICh4bF9pbnZhbGlkX3BhZ2UgKikKLQkJaGFzaF9zZWFyY2goaW52YWxpZF9w YWdlX3RhYiwgKHZvaWQgKikgJmtleSwgSEFTSF9FTlRFUiwgJmZvdW5kKTsKKwkJaGFzaF9z ZWFyY2goaW52YWxpZF9wYWdlX3RhYiwgJmtleSwgSEFTSF9FTlRFUiwgJmZvdW5kKTsKIAog CWlmICghZm91bmQpCiAJewpAQCAtMTkzLDcgKzE5Myw3IEBAIGZvcmdldF9pbnZhbGlkX3Bh Z2VzKFJlbEZpbGVMb2NhdG9yIGxvY2F0b3IsIEZvcmtOdW1iZXIgZm9ya25vLAogCQkJfQog CiAJCQlpZiAoaGFzaF9zZWFyY2goaW52YWxpZF9wYWdlX3RhYiwKLQkJCQkJCQkodm9pZCAq KSAmaGVudHJ5LT5rZXksCisJCQkJCQkJJmhlbnRyeS0+a2V5LAogCQkJCQkJCUhBU0hfUkVN T1ZFLCBOVUxMKSA9PSBOVUxMKQogCQkJCWVsb2coRVJST1IsICJoYXNoIHRhYmxlIGNvcnJ1 cHRlZCIpOwogCQl9CkBAIC0yMjYsNyArMjI2LDcgQEAgZm9yZ2V0X2ludmFsaWRfcGFnZXNf ZGIoT2lkIGRiaWQpCiAJCQl9CiAKIAkJCWlmIChoYXNoX3NlYXJjaChpbnZhbGlkX3BhZ2Vf dGFiLAotCQkJCQkJCSh2b2lkICopICZoZW50cnktPmtleSwKKwkJCQkJCQkmaGVudHJ5LT5r ZXksCiAJCQkJCQkJSEFTSF9SRU1PVkUsIE5VTEwpID09IE5VTEwpCiAJCQkJZWxvZyhFUlJP UiwgImhhc2ggdGFibGUgY29ycnVwdGVkIik7CiAJCX0KZGlmZiAtLWdpdCBhL3NyYy9iYWNr ZW5kL2NhdGFsb2cvc3RvcmFnZS5jIGIvc3JjL2JhY2tlbmQvY2F0YWxvZy9zdG9yYWdlLmMK aW5kZXggMDM5YWRhOTRjNC4uYWYxNDkxYWExZCAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQv Y2F0YWxvZy9zdG9yYWdlLmMKKysrIGIvc3JjL2JhY2tlbmQvY2F0YWxvZy9zdG9yYWdlLmMK QEAgLTYwMyw3ICs2MDMsNyBAQCBTZXJpYWxpemVQZW5kaW5nU3luY3MoU2l6ZSBtYXhTaXpl LCBjaGFyICpzdGFydEFkZHJlc3MpCiAJLyogcmVtb3ZlIGRlbGV0ZWQgcm5vZGVzICovCiAJ Zm9yIChkZWxldGUgPSBwZW5kaW5nRGVsZXRlczsgZGVsZXRlICE9IE5VTEw7IGRlbGV0ZSA9 IGRlbGV0ZS0+bmV4dCkKIAkJaWYgKGRlbGV0ZS0+YXRDb21taXQpCi0JCQkodm9pZCkgaGFz aF9zZWFyY2godG1waGFzaCwgKHZvaWQgKikgJmRlbGV0ZS0+cmxvY2F0b3IsCisJCQkodm9p ZCkgaGFzaF9zZWFyY2godG1waGFzaCwgJmRlbGV0ZS0+cmxvY2F0b3IsCiAJCQkJCQkJICAg SEFTSF9SRU1PVkUsIE5VTEwpOwogCiAJaGFzaF9zZXFfaW5pdCgmc2NhbiwgdG1waGFzaCk7 CkBAIC03NDgsNyArNzQ4LDcgQEAgc21nckRvUGVuZGluZ1N5bmNzKGJvb2wgaXNDb21taXQs IGJvb2wgaXNQYXJhbGxlbFdvcmtlcikKIAkvKiBTa2lwIHN5bmNpbmcgbm9kZXMgdGhhdCBz bWdyRG9QZW5kaW5nRGVsZXRlcygpIHdpbGwgZGVsZXRlLiAqLwogCWZvciAocGVuZGluZyA9 IHBlbmRpbmdEZWxldGVzOyBwZW5kaW5nICE9IE5VTEw7IHBlbmRpbmcgPSBwZW5kaW5nLT5u ZXh0KQogCQlpZiAocGVuZGluZy0+YXRDb21taXQpCi0JCQkodm9pZCkgaGFzaF9zZWFyY2go cGVuZGluZ1N5bmNIYXNoLCAodm9pZCAqKSAmcGVuZGluZy0+cmxvY2F0b3IsCisJCQkodm9p ZCkgaGFzaF9zZWFyY2gocGVuZGluZ1N5bmNIYXNoLCAmcGVuZGluZy0+cmxvY2F0b3IsCiAJ CQkJCQkJICAgSEFTSF9SRU1PVkUsIE5VTEwpOwogCiAJaGFzaF9zZXFfaW5pdCgmc2Nhbiwg cGVuZGluZ1N5bmNIYXNoKTsKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL29wdGltaXplci91 dGlsL3ByZWR0ZXN0LmMgYi9zcmMvYmFja2VuZC9vcHRpbWl6ZXIvdXRpbC9wcmVkdGVzdC5j CmluZGV4IGY2ZTEyODU2ZGQuLjIzN2M4ODM4NzQgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5k L29wdGltaXplci91dGlsL3ByZWR0ZXN0LmMKKysrIGIvc3JjL2JhY2tlbmQvb3B0aW1pemVy L3V0aWwvcHJlZHRlc3QuYwpAQCAtMjA0MCw3ICsyMDQwLDcgQEAgbG9va3VwX3Byb29mX2Nh Y2hlKE9pZCBwcmVkX29wLCBPaWQgY2xhdXNlX29wLCBib29sIHJlZnV0ZV9pdCkKIAlrZXku cHJlZF9vcCA9IHByZWRfb3A7CiAJa2V5LmNsYXVzZV9vcCA9IGNsYXVzZV9vcDsKIAljYWNo ZV9lbnRyeSA9IChPcHJQcm9vZkNhY2hlRW50cnkgKikgaGFzaF9zZWFyY2goT3ByUHJvb2ZD YWNoZUhhc2gsCi0JCQkJCQkJCQkJCQkJICh2b2lkICopICZrZXksCisJCQkJCQkJCQkJCQkJ ICZrZXksCiAJCQkJCQkJCQkJCQkJIEhBU0hfRU5URVIsICZjZm91bmQpOwogCWlmICghY2Zv dW5kKQogCXsKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3BhcnNlci9wYXJzZV9vcGVyLmMg Yi9zcmMvYmFja2VuZC9wYXJzZXIvcGFyc2Vfb3Blci5jCmluZGV4IDg4MDFmMzA4OTguLmJk YzhmOGUyNmEgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3BhcnNlci9wYXJzZV9vcGVyLmMK KysrIGIvc3JjL2JhY2tlbmQvcGFyc2VyL3BhcnNlX29wZXIuYwpAQCAtMTAxNyw3ICsxMDE3 LDcgQEAgZmluZF9vcGVyX2NhY2hlX2VudHJ5KE9wckNhY2hlS2V5ICprZXkpCiAKIAkvKiBM b29rIGZvciBhbiBleGlzdGluZyBlbnRyeSAqLwogCW9wcmVudHJ5ID0gKE9wckNhY2hlRW50 cnkgKikgaGFzaF9zZWFyY2goT3ByQ2FjaGVIYXNoLAotCQkJCQkJCQkJCQkgKHZvaWQgKikg a2V5LAorCQkJCQkJCQkJCQkga2V5LAogCQkJCQkJCQkJCQkgSEFTSF9GSU5ELCBOVUxMKTsK IAlpZiAob3ByZW50cnkgPT0gTlVMTCkKIAkJcmV0dXJuIEludmFsaWRPaWQ7CkBAIC0xMDM4 LDcgKzEwMzgsNyBAQCBtYWtlX29wZXJfY2FjaGVfZW50cnkoT3ByQ2FjaGVLZXkgKmtleSwg T2lkIG9wcl9vaWQpCiAJQXNzZXJ0KE9wckNhY2hlSGFzaCAhPSBOVUxMKTsKIAogCW9wcmVu dHJ5ID0gKE9wckNhY2hlRW50cnkgKikgaGFzaF9zZWFyY2goT3ByQ2FjaGVIYXNoLAotCQkJ CQkJCQkJCQkgKHZvaWQgKikga2V5LAorCQkJCQkJCQkJCQkga2V5LAogCQkJCQkJCQkJCQkg SEFTSF9FTlRFUiwgTlVMTCk7CiAJb3ByZW50cnktPm9wcl9vaWQgPSBvcHJfb2lkOwogfQpA QCAtMTA2MCw3ICsxMDYwLDcgQEAgSW52YWxpZGF0ZU9wckNhY2hlQ2FsbEJhY2soRGF0dW0g YXJnLCBpbnQgY2FjaGVpZCwgdWludDMyIGhhc2h2YWx1ZSkKIAl3aGlsZSAoKGhlbnRyeSA9 IChPcHJDYWNoZUVudHJ5ICopIGhhc2hfc2VxX3NlYXJjaCgmc3RhdHVzKSkgIT0gTlVMTCkK IAl7CiAJCWlmIChoYXNoX3NlYXJjaChPcHJDYWNoZUhhc2gsCi0JCQkJCQkodm9pZCAqKSAm aGVudHJ5LT5rZXksCisJCQkJCQkmaGVudHJ5LT5rZXksCiAJCQkJCQlIQVNIX1JFTU9WRSwg TlVMTCkgPT0gTlVMTCkKIAkJCWVsb2coRVJST1IsICJoYXNoIHRhYmxlIGNvcnJ1cHRlZCIp OwogCX0KZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3JlcGxpY2F0aW9uL2xvZ2ljYWwvcmVs YXRpb24uYyBiL3NyYy9iYWNrZW5kL3JlcGxpY2F0aW9uL2xvZ2ljYWwvcmVsYXRpb24uYwpp bmRleCBjYTg4YWUxNzFjLi45ZjEzOWM2NGRiIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9y ZXBsaWNhdGlvbi9sb2dpY2FsL3JlbGF0aW9uLmMKKysrIGIvc3JjL2JhY2tlbmQvcmVwbGlj YXRpb24vbG9naWNhbC9yZWxhdGlvbi5jCkBAIC0xNjcsNyArMTY3LDcgQEAgbG9naWNhbHJl cF9yZWxtYXBfdXBkYXRlKExvZ2ljYWxSZXBSZWxhdGlvbiAqcmVtb3RlcmVsKQogCS8qCiAJ ICogSEFTSF9FTlRFUiByZXR1cm5zIHRoZSBleGlzdGluZyBlbnRyeSBpZiBwcmVzZW50IG9y IGNyZWF0ZXMgYSBuZXcgb25lLgogCSAqLwotCWVudHJ5ID0gaGFzaF9zZWFyY2goTG9naWNh bFJlcFJlbE1hcCwgKHZvaWQgKikgJnJlbW90ZXJlbC0+cmVtb3RlaWQsCisJZW50cnkgPSBo YXNoX3NlYXJjaChMb2dpY2FsUmVwUmVsTWFwLCAmcmVtb3RlcmVsLT5yZW1vdGVpZCwKIAkJ CQkJCUhBU0hfRU5URVIsICZmb3VuZCk7CiAKIAlpZiAoZm91bmQpCkBAIC0zMjYsNyArMzI2 LDcgQEAgbG9naWNhbHJlcF9yZWxfb3BlbihMb2dpY2FsUmVwUmVsSWQgcmVtb3RlaWQsIExP Q0tNT0RFIGxvY2ttb2RlKQogCQlsb2dpY2FscmVwX3JlbG1hcF9pbml0KCk7CiAKIAkvKiBT ZWFyY2ggZm9yIGV4aXN0aW5nIGVudHJ5LiAqLwotCWVudHJ5ID0gaGFzaF9zZWFyY2goTG9n aWNhbFJlcFJlbE1hcCwgKHZvaWQgKikgJnJlbW90ZWlkLAorCWVudHJ5ID0gaGFzaF9zZWFy Y2goTG9naWNhbFJlcFJlbE1hcCwgJnJlbW90ZWlkLAogCQkJCQkJSEFTSF9GSU5ELCAmZm91 bmQpOwogCiAJaWYgKCFmb3VuZCkKQEAgLTU5OCw3ICs1OTgsNyBAQCBsb2dpY2FscmVwX3Bh cnRpdGlvbl9vcGVuKExvZ2ljYWxSZXBSZWxNYXBFbnRyeSAqcm9vdCwKIAogCS8qIFNlYXJj aCBmb3IgZXhpc3RpbmcgZW50cnkuICovCiAJcGFydF9lbnRyeSA9IChMb2dpY2FsUmVwUGFy dE1hcEVudHJ5ICopIGhhc2hfc2VhcmNoKExvZ2ljYWxSZXBQYXJ0TWFwLAotCQkJCQkJCQkJ CQkJCQkodm9pZCAqKSAmcGFydE9pZCwKKwkJCQkJCQkJCQkJCQkJJnBhcnRPaWQsCiAJCQkJ CQkJCQkJCQkJCUhBU0hfRU5URVIsICZmb3VuZCk7CiAKIAllbnRyeSA9ICZwYXJ0X2VudHJ5 LT5yZWxtYXBlbnRyeTsKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3JlcGxpY2F0aW9uL2xv Z2ljYWwvcmVvcmRlcmJ1ZmZlci5jIGIvc3JjL2JhY2tlbmQvcmVwbGljYXRpb24vbG9naWNh bC9yZW9yZGVyYnVmZmVyLmMKaW5kZXggZWZlMDU3YjRkZS4uMDIzMTlkNWMyZiAxMDA2NDQK LS0tIGEvc3JjL2JhY2tlbmQvcmVwbGljYXRpb24vbG9naWNhbC9yZW9yZGVyYnVmZmVyLmMK KysrIGIvc3JjL2JhY2tlbmQvcmVwbGljYXRpb24vbG9naWNhbC9yZW9yZGVyYnVmZmVyLmMK QEAgLTY1Nyw3ICs2NTcsNyBAQCBSZW9yZGVyQnVmZmVyVFhOQnlYaWQoUmVvcmRlckJ1ZmZl ciAqcmIsIFRyYW5zYWN0aW9uSWQgeGlkLCBib29sIGNyZWF0ZSwKIAkvKiBzZWFyY2ggdGhl IGxvb2t1cCB0YWJsZSAqLwogCWVudCA9IChSZW9yZGVyQnVmZmVyVFhOQnlJZEVudCAqKQog CQloYXNoX3NlYXJjaChyYi0+YnlfdHhuLAotCQkJCQkodm9pZCAqKSAmeGlkLAorCQkJCQkm eGlkLAogCQkJCQljcmVhdGUgPyBIQVNIX0VOVEVSIDogSEFTSF9GSU5ELAogCQkJCQkmZm91 bmQpOwogCWlmIChmb3VuZCkKQEAgLTE1ODIsNyArMTU4Miw3IEBAIFJlb3JkZXJCdWZmZXJD bGVhbnVwVFhOKFJlb3JkZXJCdWZmZXIgKnJiLCBSZW9yZGVyQnVmZmVyVFhOICp0eG4pCiAK IAkvKiBub3cgcmVtb3ZlIHJlZmVyZW5jZSBmcm9tIGJ1ZmZlciAqLwogCWhhc2hfc2VhcmNo KHJiLT5ieV90eG4sCi0JCQkJKHZvaWQgKikgJnR4bi0+eGlkLAorCQkJCSZ0eG4tPnhpZCwK IAkJCQlIQVNIX1JFTU9WRSwKIAkJCQkmZm91bmQpOwogCUFzc2VydChmb3VuZCk7CkBAIC0x NzYzLDcgKzE3NjMsNyBAQCBSZW9yZGVyQnVmZmVyQnVpbGRUdXBsZUNpZEhhc2goUmVvcmRl ckJ1ZmZlciAqcmIsIFJlb3JkZXJCdWZmZXJUWE4gKnR4bikKIAogCQllbnQgPSAoUmVvcmRl ckJ1ZmZlclR1cGxlQ2lkRW50ICopCiAJCQloYXNoX3NlYXJjaCh0eG4tPnR1cGxlY2lkX2hh c2gsCi0JCQkJCQkodm9pZCAqKSAma2V5LAorCQkJCQkJJmtleSwKIAkJCQkJCUhBU0hfRU5U RVIsCiAJCQkJCQkmZm91bmQpOwogCQlpZiAoIWZvdW5kKQpAQCAtNDY1NCw3ICs0NjU0LDcg QEAgUmVvcmRlckJ1ZmZlclRvYXN0QXBwZW5kQ2h1bmsoUmVvcmRlckJ1ZmZlciAqcmIsIFJl b3JkZXJCdWZmZXJUWE4gKnR4biwKIAogCWVudCA9IChSZW9yZGVyQnVmZmVyVG9hc3RFbnQg KikKIAkJaGFzaF9zZWFyY2godHhuLT50b2FzdF9oYXNoLAotCQkJCQkodm9pZCAqKSAmY2h1 bmtfaWQsCisJCQkJCSZjaHVua19pZCwKIAkJCQkJSEFTSF9FTlRFUiwKIAkJCQkJJmZvdW5k KTsKIApAQCAtNDgxMSw3ICs0ODExLDcgQEAgUmVvcmRlckJ1ZmZlclRvYXN0UmVwbGFjZShS ZW9yZGVyQnVmZmVyICpyYiwgUmVvcmRlckJ1ZmZlclRYTiAqdHhuLAogCQkgKi8KIAkJZW50 ID0gKFJlb3JkZXJCdWZmZXJUb2FzdEVudCAqKQogCQkJaGFzaF9zZWFyY2godHhuLT50b2Fz dF9oYXNoLAotCQkJCQkJKHZvaWQgKikgJnRvYXN0X3BvaW50ZXIudmFfdmFsdWVpZCwKKwkJ CQkJCSZ0b2FzdF9wb2ludGVyLnZhX3ZhbHVlaWQsCiAJCQkJCQlIQVNIX0ZJTkQsCiAJCQkJ CQlOVUxMKTsKIAkJaWYgKGVudCA9PSBOVUxMKQpAQCAtNTA1NCw3ICs1MDU0LDcgQEAgQXBw bHlMb2dpY2FsTWFwcGluZ0ZpbGUoSFRBQiAqdHVwbGVjaWRfZGF0YSwgT2lkIHJlbGlkLCBj b25zdCBjaGFyICpmbmFtZSkKIAogCQllbnQgPSAoUmVvcmRlckJ1ZmZlclR1cGxlQ2lkRW50 ICopCiAJCQloYXNoX3NlYXJjaCh0dXBsZWNpZF9kYXRhLAotCQkJCQkJKHZvaWQgKikgJmtl eSwKKwkJCQkJCSZrZXksCiAJCQkJCQlIQVNIX0ZJTkQsCiAJCQkJCQlOVUxMKTsKIApAQCAt NTA2OCw3ICs1MDY4LDcgQEAgQXBwbHlMb2dpY2FsTWFwcGluZ0ZpbGUoSFRBQiAqdHVwbGVj aWRfZGF0YSwgT2lkIHJlbGlkLCBjb25zdCBjaGFyICpmbmFtZSkKIAogCQluZXdfZW50ID0g KFJlb3JkZXJCdWZmZXJUdXBsZUNpZEVudCAqKQogCQkJaGFzaF9zZWFyY2godHVwbGVjaWRf ZGF0YSwKLQkJCQkJCSh2b2lkICopICZrZXksCisJCQkJCQkma2V5LAogCQkJCQkJSEFTSF9F TlRFUiwKIAkJCQkJCSZmb3VuZCk7CiAKQEAgLTUyNTAsNyArNTI1MCw3IEBAIFJlc29sdmVD bWluQ21heER1cmluZ0RlY29kaW5nKEhUQUIgKnR1cGxlY2lkX2RhdGEsCiByZXN0YXJ0Ogog CWVudCA9IChSZW9yZGVyQnVmZmVyVHVwbGVDaWRFbnQgKikKIAkJaGFzaF9zZWFyY2godHVw bGVjaWRfZGF0YSwKLQkJCQkJKHZvaWQgKikgJmtleSwKKwkJCQkJJmtleSwKIAkJCQkJSEFT SF9GSU5ELAogCQkJCQlOVUxMKTsKIApkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvcmVwbGlj YXRpb24vcGdvdXRwdXQvcGdvdXRwdXQuYyBiL3NyYy9iYWNrZW5kL3JlcGxpY2F0aW9uL3Bn b3V0cHV0L3Bnb3V0cHV0LmMKaW5kZXggMWE4MGQ2N2JiOS4uZTQ5MzhkODg4OCAxMDA2NDQK LS0tIGEvc3JjL2JhY2tlbmQvcmVwbGljYXRpb24vcGdvdXRwdXQvcGdvdXRwdXQuYworKysg Yi9zcmMvYmFja2VuZC9yZXBsaWNhdGlvbi9wZ291dHB1dC9wZ291dHB1dC5jCkBAIC0yMDI2 LDcgKzIwMjYsNyBAQCBnZXRfcmVsX3N5bmNfZW50cnkoUEdPdXRwdXREYXRhICpkYXRhLCBS ZWxhdGlvbiByZWxhdGlvbikKIAogCS8qIEZpbmQgY2FjaGVkIHJlbGF0aW9uIGluZm8sIGNy ZWF0aW5nIGlmIG5vdCBmb3VuZCAqLwogCWVudHJ5ID0gKFJlbGF0aW9uU3luY0VudHJ5ICop IGhhc2hfc2VhcmNoKFJlbGF0aW9uU3luY0NhY2hlLAotCQkJCQkJCQkJCQkgICh2b2lkICop ICZyZWxpZCwKKwkJCQkJCQkJCQkJICAmcmVsaWQsCiAJCQkJCQkJCQkJCSAgSEFTSF9FTlRF UiwgJmZvdW5kKTsKIAlBc3NlcnQoZW50cnkgIT0gTlVMTCk7CiAKZGlmZiAtLWdpdCBhL3Ny Yy9iYWNrZW5kL3N0b3JhZ2UvYnVmZmVyL2J1Zl90YWJsZS5jIGIvc3JjL2JhY2tlbmQvc3Rv cmFnZS9idWZmZXIvYnVmX3RhYmxlLmMKaW5kZXggZTYxNTQ2YTVmZi4uMmI5NjYzOWE1YSAx MDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvc3RvcmFnZS9idWZmZXIvYnVmX3RhYmxlLmMKKysr IGIvc3JjL2JhY2tlbmQvc3RvcmFnZS9idWZmZXIvYnVmX3RhYmxlLmMKQEAgLTk0LDcgKzk0 LDcgQEAgQnVmVGFibGVMb29rdXAoQnVmZmVyVGFnICp0YWdQdHIsIHVpbnQzMiBoYXNoY29k ZSkKIAogCXJlc3VsdCA9IChCdWZmZXJMb29rdXBFbnQgKikKIAkJaGFzaF9zZWFyY2hfd2l0 aF9oYXNoX3ZhbHVlKFNoYXJlZEJ1Zkhhc2gsCi0JCQkJCQkJCQkodm9pZCAqKSB0YWdQdHIs CisJCQkJCQkJCQl0YWdQdHIsCiAJCQkJCQkJCQloYXNoY29kZSwKIAkJCQkJCQkJCUhBU0hf RklORCwKIAkJCQkJCQkJCU5VTEwpOwpAQCAtMTI2LDcgKzEyNiw3IEBAIEJ1ZlRhYmxlSW5z ZXJ0KEJ1ZmZlclRhZyAqdGFnUHRyLCB1aW50MzIgaGFzaGNvZGUsIGludCBidWZfaWQpCiAK IAlyZXN1bHQgPSAoQnVmZmVyTG9va3VwRW50ICopCiAJCWhhc2hfc2VhcmNoX3dpdGhfaGFz aF92YWx1ZShTaGFyZWRCdWZIYXNoLAotCQkJCQkJCQkJKHZvaWQgKikgdGFnUHRyLAorCQkJ CQkJCQkJdGFnUHRyLAogCQkJCQkJCQkJaGFzaGNvZGUsCiAJCQkJCQkJCQlIQVNIX0VOVEVS LAogCQkJCQkJCQkJJmZvdW5kKTsKQEAgLTE1Miw3ICsxNTIsNyBAQCBCdWZUYWJsZURlbGV0 ZShCdWZmZXJUYWcgKnRhZ1B0ciwgdWludDMyIGhhc2hjb2RlKQogCiAJcmVzdWx0ID0gKEJ1 ZmZlckxvb2t1cEVudCAqKQogCQloYXNoX3NlYXJjaF93aXRoX2hhc2hfdmFsdWUoU2hhcmVk QnVmSGFzaCwKLQkJCQkJCQkJCSh2b2lkICopIHRhZ1B0ciwKKwkJCQkJCQkJCXRhZ1B0ciwK IAkJCQkJCQkJCWhhc2hjb2RlLAogCQkJCQkJCQkJSEFTSF9SRU1PVkUsCiAJCQkJCQkJCQlO VUxMKTsKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3N0b3JhZ2UvYnVmZmVyL2J1Zm1nci5j IGIvc3JjL2JhY2tlbmQvc3RvcmFnZS9idWZmZXIvYnVmbWdyLmMKaW5kZXggODAwYTQyNDhj OS4uY2JkZTg2MTc4OSAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvc3RvcmFnZS9idWZmZXIv YnVmbWdyLmMKKysrIGIvc3JjL2JhY2tlbmQvc3RvcmFnZS9idWZmZXIvYnVmbWdyLmMKQEAg LTI2Miw3ICsyNjIsNyBAQCBSZXNlcnZlUHJpdmF0ZVJlZkNvdW50RW50cnkodm9pZCkKIAog CQkvKiBlbnRlciB2aWN0aW0gYXJyYXkgZW50cnkgaW50byBoYXNodGFibGUgKi8KIAkJaGFz aGVudCA9IGhhc2hfc2VhcmNoKFByaXZhdGVSZWZDb3VudEhhc2gsCi0JCQkJCQkJICAodm9p ZCAqKSAmKFJlc2VydmVkUmVmQ291bnRFbnRyeS0+YnVmZmVyKSwKKwkJCQkJCQkgICYoUmVz ZXJ2ZWRSZWZDb3VudEVudHJ5LT5idWZmZXIpLAogCQkJCQkJCSAgSEFTSF9FTlRFUiwKIAkJ CQkJCQkgICZmb3VuZCk7CiAJCUFzc2VydCghZm91bmQpOwpAQCAtMzM3LDcgKzMzNyw3IEBA IEdldFByaXZhdGVSZWZDb3VudEVudHJ5KEJ1ZmZlciBidWZmZXIsIGJvb2wgZG9fbW92ZSkK IAkJcmV0dXJuIE5VTEw7CiAKIAlyZXMgPSBoYXNoX3NlYXJjaChQcml2YXRlUmVmQ291bnRI YXNoLAotCQkJCQkgICh2b2lkICopICZidWZmZXIsCisJCQkJCSAgJmJ1ZmZlciwKIAkJCQkJ ICBIQVNIX0ZJTkQsCiAJCQkJCSAgTlVMTCk7CiAKQEAgLTM2OSw3ICszNjksNyBAQCBHZXRQ cml2YXRlUmVmQ291bnRFbnRyeShCdWZmZXIgYnVmZmVyLCBib29sIGRvX21vdmUpCiAKIAkJ LyogZGVsZXRlIGZyb20gaGFzaHRhYmxlICovCiAJCWhhc2hfc2VhcmNoKFByaXZhdGVSZWZD b3VudEhhc2gsCi0JCQkJCSh2b2lkICopICZidWZmZXIsCisJCQkJCSZidWZmZXIsCiAJCQkJ CUhBU0hfUkVNT1ZFLAogCQkJCQkmZm91bmQpOwogCQlBc3NlcnQoZm91bmQpOwpAQCAtNDMx LDcgKzQzMSw3IEBAIEZvcmdldFByaXZhdGVSZWZDb3VudEVudHJ5KFByaXZhdGVSZWZDb3Vu dEVudHJ5ICpyZWYpCiAJCUJ1ZmZlcgkJYnVmZmVyID0gcmVmLT5idWZmZXI7CiAKIAkJaGFz aF9zZWFyY2goUHJpdmF0ZVJlZkNvdW50SGFzaCwKLQkJCQkJKHZvaWQgKikgJmJ1ZmZlciwK KwkJCQkJJmJ1ZmZlciwKIAkJCQkJSEFTSF9SRU1PVkUsCiAJCQkJCSZmb3VuZCk7CiAJCUFz c2VydChmb3VuZCk7CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9zdG9yYWdlL2J1ZmZlci9s b2NhbGJ1Zi5jIGIvc3JjL2JhY2tlbmQvc3RvcmFnZS9idWZmZXIvbG9jYWxidWYuYwppbmRl eCA4MzcyYWNjMzgzLi4wMjI5YTJlY2ExIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9zdG9y YWdlL2J1ZmZlci9sb2NhbGJ1Zi5jCisrKyBiL3NyYy9iYWNrZW5kL3N0b3JhZ2UvYnVmZmVy L2xvY2FsYnVmLmMKQEAgLTc2LDcgKzc2LDcgQEAgUHJlZmV0Y2hMb2NhbEJ1ZmZlcihTTWdy UmVsYXRpb24gc21nciwgRm9ya051bWJlciBmb3JrTnVtLAogCiAJLyogU2VlIGlmIHRoZSBk ZXNpcmVkIGJ1ZmZlciBhbHJlYWR5IGV4aXN0cyAqLwogCWhyZXN1bHQgPSAoTG9jYWxCdWZm ZXJMb29rdXBFbnQgKikKLQkJaGFzaF9zZWFyY2goTG9jYWxCdWZIYXNoLCAodm9pZCAqKSAm bmV3VGFnLCBIQVNIX0ZJTkQsIE5VTEwpOworCQloYXNoX3NlYXJjaChMb2NhbEJ1Zkhhc2gs ICZuZXdUYWcsIEhBU0hfRklORCwgTlVMTCk7CiAKIAlpZiAoaHJlc3VsdCkKIAl7CkBAIC0x MjUsNyArMTI1LDcgQEAgTG9jYWxCdWZmZXJBbGxvYyhTTWdyUmVsYXRpb24gc21nciwgRm9y a051bWJlciBmb3JrTnVtLCBCbG9ja051bWJlciBibG9ja051bSwKIAogCS8qIFNlZSBpZiB0 aGUgZGVzaXJlZCBidWZmZXIgYWxyZWFkeSBleGlzdHMgKi8KIAlocmVzdWx0ID0gKExvY2Fs QnVmZmVyTG9va3VwRW50ICopCi0JCWhhc2hfc2VhcmNoKExvY2FsQnVmSGFzaCwgKHZvaWQg KikgJm5ld1RhZywgSEFTSF9GSU5ELCBOVUxMKTsKKwkJaGFzaF9zZWFyY2goTG9jYWxCdWZI YXNoLCAmbmV3VGFnLCBIQVNIX0ZJTkQsIE5VTEwpOwogCiAJaWYgKGhyZXN1bHQpCiAJewpA QCAtMjQ4LDcgKzI0OCw3IEBAIExvY2FsQnVmZmVyQWxsb2MoU01nclJlbGF0aW9uIHNtZ3Is IEZvcmtOdW1iZXIgZm9ya051bSwgQmxvY2tOdW1iZXIgYmxvY2tOdW0sCiAJaWYgKGJ1Zl9z dGF0ZSAmIEJNX1RBR19WQUxJRCkKIAl7CiAJCWhyZXN1bHQgPSAoTG9jYWxCdWZmZXJMb29r dXBFbnQgKikKLQkJCWhhc2hfc2VhcmNoKExvY2FsQnVmSGFzaCwgKHZvaWQgKikgJmJ1Zkhk ci0+dGFnLAorCQkJaGFzaF9zZWFyY2goTG9jYWxCdWZIYXNoLCAmYnVmSGRyLT50YWcsCiAJ CQkJCQlIQVNIX1JFTU9WRSwgTlVMTCk7CiAJCWlmICghaHJlc3VsdCkJCQkvKiBzaG91bGRu J3QgaGFwcGVuICovCiAJCQllbG9nKEVSUk9SLCAibG9jYWwgYnVmZmVyIGhhc2ggdGFibGUg Y29ycnVwdGVkIik7CkBAIC0yNTksNyArMjU5LDcgQEAgTG9jYWxCdWZmZXJBbGxvYyhTTWdy UmVsYXRpb24gc21nciwgRm9ya051bWJlciBmb3JrTnVtLCBCbG9ja051bWJlciBibG9ja051 bSwKIAl9CiAKIAlocmVzdWx0ID0gKExvY2FsQnVmZmVyTG9va3VwRW50ICopCi0JCWhhc2hf c2VhcmNoKExvY2FsQnVmSGFzaCwgKHZvaWQgKikgJm5ld1RhZywgSEFTSF9FTlRFUiwgJmZv dW5kKTsKKwkJaGFzaF9zZWFyY2goTG9jYWxCdWZIYXNoLCAmbmV3VGFnLCBIQVNIX0VOVEVS LCAmZm91bmQpOwogCWlmIChmb3VuZCkJCQkJCS8qIHNob3VsZG4ndCBoYXBwZW4gKi8KIAkJ ZWxvZyhFUlJPUiwgImxvY2FsIGJ1ZmZlciBoYXNoIHRhYmxlIGNvcnJ1cHRlZCIpOwogCWhy ZXN1bHQtPmlkID0gYjsKQEAgLTM1MSw3ICszNTEsNyBAQCBEcm9wUmVsYXRpb25Mb2NhbEJ1 ZmZlcnMoUmVsRmlsZUxvY2F0b3IgcmxvY2F0b3IsIEZvcmtOdW1iZXIgZm9ya051bSwKIAog CQkJLyogUmVtb3ZlIGVudHJ5IGZyb20gaGFzaHRhYmxlICovCiAJCQlocmVzdWx0ID0gKExv Y2FsQnVmZmVyTG9va3VwRW50ICopCi0JCQkJaGFzaF9zZWFyY2goTG9jYWxCdWZIYXNoLCAo dm9pZCAqKSAmYnVmSGRyLT50YWcsCisJCQkJaGFzaF9zZWFyY2goTG9jYWxCdWZIYXNoLCAm YnVmSGRyLT50YWcsCiAJCQkJCQkJSEFTSF9SRU1PVkUsIE5VTEwpOwogCQkJaWYgKCFocmVz dWx0KQkJLyogc2hvdWxkbid0IGhhcHBlbiAqLwogCQkJCWVsb2coRVJST1IsICJsb2NhbCBi dWZmZXIgaGFzaCB0YWJsZSBjb3JydXB0ZWQiKTsKQEAgLTM5Niw3ICszOTYsNyBAQCBEcm9w UmVsYXRpb25BbGxMb2NhbEJ1ZmZlcnMoUmVsRmlsZUxvY2F0b3IgcmxvY2F0b3IpCiAJCQkJ CSBMb2NhbFJlZkNvdW50W2ldKTsKIAkJCS8qIFJlbW92ZSBlbnRyeSBmcm9tIGhhc2h0YWJs ZSAqLwogCQkJaHJlc3VsdCA9IChMb2NhbEJ1ZmZlckxvb2t1cEVudCAqKQotCQkJCWhhc2hf c2VhcmNoKExvY2FsQnVmSGFzaCwgKHZvaWQgKikgJmJ1Zkhkci0+dGFnLAorCQkJCWhhc2hf c2VhcmNoKExvY2FsQnVmSGFzaCwgJmJ1Zkhkci0+dGFnLAogCQkJCQkJCUhBU0hfUkVNT1ZF LCBOVUxMKTsKIAkJCWlmICghaHJlc3VsdCkJCS8qIHNob3VsZG4ndCBoYXBwZW4gKi8KIAkJ CQllbG9nKEVSUk9SLCAibG9jYWwgYnVmZmVyIGhhc2ggdGFibGUgY29ycnVwdGVkIik7CmRp ZmYgLS1naXQgYS9zcmMvYmFja2VuZC9zdG9yYWdlL2xtZ3IvbG9jay5jIGIvc3JjL2JhY2tl bmQvc3RvcmFnZS9sbWdyL2xvY2suYwppbmRleCA0OWQ2MmEwZGM3Li5hODczNzJmMzNmIDEw MDY0NAotLS0gYS9zcmMvYmFja2VuZC9zdG9yYWdlL2xtZ3IvbG9jay5jCisrKyBiL3NyYy9i YWNrZW5kL3N0b3JhZ2UvbG1nci9sb2NrLmMKQEAgLTYwOCw3ICs2MDgsNyBAQCBMb2NrSGVs ZEJ5TWUoY29uc3QgTE9DS1RBRyAqbG9ja3RhZywgTE9DS01PREUgbG9ja21vZGUpCiAJbG9j YWx0YWcubW9kZSA9IGxvY2ttb2RlOwogCiAJbG9jYWxsb2NrID0gKExPQ0FMTE9DSyAqKSBo YXNoX3NlYXJjaChMb2NrTWV0aG9kTG9jYWxIYXNoLAotCQkJCQkJCQkJCSAgKHZvaWQgKikg JmxvY2FsdGFnLAorCQkJCQkJCQkJCSAgJmxvY2FsdGFnLAogCQkJCQkJCQkJCSAgSEFTSF9G SU5ELCBOVUxMKTsKIAogCXJldHVybiAobG9jYWxsb2NrICYmIGxvY2FsbG9jay0+bkxvY2tz ID4gMCk7CkBAIC02NjMsNyArNjYzLDcgQEAgTG9ja0hhc1dhaXRlcnMoY29uc3QgTE9DS1RB RyAqbG9ja3RhZywgTE9DS01PREUgbG9ja21vZGUsIGJvb2wgc2Vzc2lvbkxvY2spCiAJbG9j YWx0YWcubW9kZSA9IGxvY2ttb2RlOwogCiAJbG9jYWxsb2NrID0gKExPQ0FMTE9DSyAqKSBo YXNoX3NlYXJjaChMb2NrTWV0aG9kTG9jYWxIYXNoLAotCQkJCQkJCQkJCSAgKHZvaWQgKikg JmxvY2FsdGFnLAorCQkJCQkJCQkJCSAgJmxvY2FsdGFnLAogCQkJCQkJCQkJCSAgSEFTSF9G SU5ELCBOVUxMKTsKIAogCS8qCkBAIC04MjUsNyArODI1LDcgQEAgTG9ja0FjcXVpcmVFeHRl bmRlZChjb25zdCBMT0NLVEFHICpsb2NrdGFnLAogCWxvY2FsdGFnLm1vZGUgPSBsb2NrbW9k ZTsKIAogCWxvY2FsbG9jayA9IChMT0NBTExPQ0sgKikgaGFzaF9zZWFyY2goTG9ja01ldGhv ZExvY2FsSGFzaCwKLQkJCQkJCQkJCQkgICh2b2lkICopICZsb2NhbHRhZywKKwkJCQkJCQkJ CQkgICZsb2NhbHRhZywKIAkJCQkJCQkJCQkgIEhBU0hfRU5URVIsICZmb3VuZCk7CiAKIAkv KgpAQCAtMTA2MSw3ICsxMDYxLDcgQEAgTG9ja0FjcXVpcmVFeHRlbmRlZChjb25zdCBMT0NL VEFHICpsb2NrdGFnLAogCQkJCWRsaXN0X2RlbGV0ZSgmcHJvY2xvY2stPmxvY2tMaW5rKTsK IAkJCQlkbGlzdF9kZWxldGUoJnByb2Nsb2NrLT5wcm9jTGluayk7CiAJCQkJaWYgKCFoYXNo X3NlYXJjaF93aXRoX2hhc2hfdmFsdWUoTG9ja01ldGhvZFByb2NMb2NrSGFzaCwKLQkJCQkJ CQkJCQkJCSAodm9pZCAqKSAmKHByb2Nsb2NrLT50YWcpLAorCQkJCQkJCQkJCQkJICYocHJv Y2xvY2stPnRhZyksCiAJCQkJCQkJCQkJCQkgcHJvY2xvY2tfaGFzaGNvZGUsCiAJCQkJCQkJ CQkJCQkgSEFTSF9SRU1PVkUsCiAJCQkJCQkJCQkJCQkgTlVMTCkpCkBAIC0xMTgwLDcgKzEx ODAsNyBAQCBTZXR1cExvY2tJblRhYmxlKExvY2tNZXRob2QgbG9ja01ldGhvZFRhYmxlLCBQ R1BST0MgKnByb2MsCiAJICogRmluZCBvciBjcmVhdGUgYSBsb2NrIHdpdGggdGhpcyB0YWcu CiAJICovCiAJbG9jayA9IChMT0NLICopIGhhc2hfc2VhcmNoX3dpdGhfaGFzaF92YWx1ZShM b2NrTWV0aG9kTG9ja0hhc2gsCi0JCQkJCQkJCQkJCQkoY29uc3Qgdm9pZCAqKSBsb2NrdGFn LAorCQkJCQkJCQkJCQkJbG9ja3RhZywKIAkJCQkJCQkJCQkJCWhhc2hjb2RlLAogCQkJCQkJ CQkJCQkJSEFTSF9FTlRFUl9OVUxMLAogCQkJCQkJCQkJCQkJJmZvdW5kKTsKQEAgLTEyMjIs NyArMTIyMiw3IEBAIFNldHVwTG9ja0luVGFibGUoTG9ja01ldGhvZCBsb2NrTWV0aG9kVGFi bGUsIFBHUFJPQyAqcHJvYywKIAkgKiBGaW5kIG9yIGNyZWF0ZSBhIHByb2Nsb2NrIGVudHJ5 IHdpdGggdGhpcyB0YWcKIAkgKi8KIAlwcm9jbG9jayA9IChQUk9DTE9DSyAqKSBoYXNoX3Nl YXJjaF93aXRoX2hhc2hfdmFsdWUoTG9ja01ldGhvZFByb2NMb2NrSGFzaCwKLQkJCQkJCQkJ CQkJCQkJKHZvaWQgKikgJnByb2Nsb2NrdGFnLAorCQkJCQkJCQkJCQkJCQkmcHJvY2xvY2t0 YWcsCiAJCQkJCQkJCQkJCQkJCXByb2Nsb2NrX2hhc2hjb2RlLAogCQkJCQkJCQkJCQkJCQlI QVNIX0VOVEVSX05VTEwsCiAJCQkJCQkJCQkJCQkJCSZmb3VuZCk7CkBAIC0xMjM5LDcgKzEy MzksNyBAQCBTZXR1cExvY2tJblRhYmxlKExvY2tNZXRob2QgbG9ja01ldGhvZFRhYmxlLCBQ R1BST0MgKnByb2MsCiAJCQkgKi8KIAkJCUFzc2VydChkbGlzdF9pc19lbXB0eSgmKGxvY2st PnByb2NMb2NrcykpKTsKIAkJCWlmICghaGFzaF9zZWFyY2hfd2l0aF9oYXNoX3ZhbHVlKExv Y2tNZXRob2RMb2NrSGFzaCwKLQkJCQkJCQkJCQkJICh2b2lkICopICYobG9jay0+dGFnKSwK KwkJCQkJCQkJCQkJICYobG9jay0+dGFnKSwKIAkJCQkJCQkJCQkJIGhhc2hjb2RlLAogCQkJ CQkJCQkJCQkgSEFTSF9SRU1PVkUsCiAJCQkJCQkJCQkJCSBOVUxMKSkKQEAgLTEzOTEsNyAr MTM5MSw3IEBAIFJlbW92ZUxvY2FsTG9jayhMT0NBTExPQ0sgKmxvY2FsbG9jaykKIAl9CiAK IAlpZiAoIWhhc2hfc2VhcmNoKExvY2tNZXRob2RMb2NhbEhhc2gsCi0JCQkJCSAodm9pZCAq KSAmKGxvY2FsbG9jay0+dGFnKSwKKwkJCQkJICYobG9jYWxsb2NrLT50YWcpLAogCQkJCQkg SEFTSF9SRU1PVkUsIE5VTEwpKQogCQllbG9nKFdBUk5JTkcsICJsb2NhbGxvY2sgdGFibGUg Y29ycnVwdGVkIik7CiAKQEAgLTE2NDQsNyArMTY0NCw3IEBAIENsZWFuVXBMb2NrKExPQ0sg KmxvY2ssIFBST0NMT0NLICpwcm9jbG9jaywKIAkJZGxpc3RfZGVsZXRlKCZwcm9jbG9jay0+ cHJvY0xpbmspOwogCQlwcm9jbG9ja19oYXNoY29kZSA9IFByb2NMb2NrSGFzaENvZGUoJnBy b2Nsb2NrLT50YWcsIGhhc2hjb2RlKTsKIAkJaWYgKCFoYXNoX3NlYXJjaF93aXRoX2hhc2hf dmFsdWUoTG9ja01ldGhvZFByb2NMb2NrSGFzaCwKLQkJCQkJCQkJCQkgKHZvaWQgKikgJihw cm9jbG9jay0+dGFnKSwKKwkJCQkJCQkJCQkgJihwcm9jbG9jay0+dGFnKSwKIAkJCQkJCQkJ CQkgcHJvY2xvY2tfaGFzaGNvZGUsCiAJCQkJCQkJCQkJIEhBU0hfUkVNT1ZFLAogCQkJCQkJ CQkJCSBOVUxMKSkKQEAgLTE2NjAsNyArMTY2MCw3IEBAIENsZWFuVXBMb2NrKExPQ0sgKmxv Y2ssIFBST0NMT0NLICpwcm9jbG9jaywKIAkJTE9DS19QUklOVCgiQ2xlYW5VcExvY2s6IGRl bGV0aW5nIiwgbG9jaywgMCk7CiAJCUFzc2VydChkbGlzdF9pc19lbXB0eSgmbG9jay0+cHJv Y0xvY2tzKSk7CiAJCWlmICghaGFzaF9zZWFyY2hfd2l0aF9oYXNoX3ZhbHVlKExvY2tNZXRo b2RMb2NrSGFzaCwKLQkJCQkJCQkJCQkgKHZvaWQgKikgJihsb2NrLT50YWcpLAorCQkJCQkJ CQkJCSAmKGxvY2stPnRhZyksCiAJCQkJCQkJCQkJIGhhc2hjb2RlLAogCQkJCQkJCQkJCSBI QVNIX1JFTU9WRSwKIAkJCQkJCQkJCQkgTlVMTCkpCkBAIC0xOTk4LDcgKzE5OTgsNyBAQCBM b2NrUmVsZWFzZShjb25zdCBMT0NLVEFHICpsb2NrdGFnLCBMT0NLTU9ERSBsb2NrbW9kZSwg Ym9vbCBzZXNzaW9uTG9jaykKIAlsb2NhbHRhZy5tb2RlID0gbG9ja21vZGU7CiAKIAlsb2Nh bGxvY2sgPSAoTE9DQUxMT0NLICopIGhhc2hfc2VhcmNoKExvY2tNZXRob2RMb2NhbEhhc2gs Ci0JCQkJCQkJCQkJICAodm9pZCAqKSAmbG9jYWx0YWcsCisJCQkJCQkJCQkJICAmbG9jYWx0 YWcsCiAJCQkJCQkJCQkJICBIQVNIX0ZJTkQsIE5VTEwpOwogCiAJLyoKQEAgLTIxMTIsNyAr MjExMiw3IEBAIExvY2tSZWxlYXNlKGNvbnN0IExPQ0tUQUcgKmxvY2t0YWcsIExPQ0tNT0RF IGxvY2ttb2RlLCBib29sIHNlc3Npb25Mb2NrKQogCiAJCUFzc2VydChFbGlnaWJsZUZvclJl bGF0aW9uRmFzdFBhdGgobG9ja3RhZywgbG9ja21vZGUpKTsKIAkJbG9jayA9IChMT0NLICop IGhhc2hfc2VhcmNoX3dpdGhfaGFzaF92YWx1ZShMb2NrTWV0aG9kTG9ja0hhc2gsCi0JCQkJ CQkJCQkJCQkJKGNvbnN0IHZvaWQgKikgbG9ja3RhZywKKwkJCQkJCQkJCQkJCQlsb2NrdGFn LAogCQkJCQkJCQkJCQkJCWxvY2FsbG9jay0+aGFzaGNvZGUsCiAJCQkJCQkJCQkJCQkJSEFT SF9GSU5ELAogCQkJCQkJCQkJCQkJCU5VTEwpOwpAQCAtMjEyMyw3ICsyMTIzLDcgQEAgTG9j a1JlbGVhc2UoY29uc3QgTE9DS1RBRyAqbG9ja3RhZywgTE9DS01PREUgbG9ja21vZGUsIGJv b2wgc2Vzc2lvbkxvY2spCiAJCXByb2Nsb2NrdGFnLm15TG9jayA9IGxvY2s7CiAJCXByb2Ns b2NrdGFnLm15UHJvYyA9IE15UHJvYzsKIAkJbG9jYWxsb2NrLT5wcm9jbG9jayA9IChQUk9D TE9DSyAqKSBoYXNoX3NlYXJjaChMb2NrTWV0aG9kUHJvY0xvY2tIYXNoLAotCQkJCQkJCQkJ CQkJCSAgICh2b2lkICopICZwcm9jbG9ja3RhZywKKwkJCQkJCQkJCQkJCQkgICAmcHJvY2xv Y2t0YWcsCiAJCQkJCQkJCQkJCQkJICAgSEFTSF9GSU5ELAogCQkJCQkJCQkJCQkJCSAgIE5V TEwpOwogCQlpZiAoIWxvY2FsbG9jay0+cHJvY2xvY2spCkBAIC0yODUxLDcgKzI4NTEsNyBA QCBGYXN0UGF0aEdldFJlbGF0aW9uTG9ja0VudHJ5KExPQ0FMTE9DSyAqbG9jYWxsb2NrKQog CQlMV0xvY2tBY3F1aXJlKHBhcnRpdGlvbkxvY2ssIExXX1NIQVJFRCk7CiAKIAkJbG9jayA9 IChMT0NLICopIGhhc2hfc2VhcmNoX3dpdGhfaGFzaF92YWx1ZShMb2NrTWV0aG9kTG9ja0hh c2gsCi0JCQkJCQkJCQkJCQkJKHZvaWQgKikgbG9ja3RhZywKKwkJCQkJCQkJCQkJCQlsb2Nr dGFnLAogCQkJCQkJCQkJCQkJCWxvY2FsbG9jay0+aGFzaGNvZGUsCiAJCQkJCQkJCQkJCQkJ SEFTSF9GSU5ELAogCQkJCQkJCQkJCQkJCU5VTEwpOwpAQCAtMjg2NCw3ICsyODY0LDcgQEAg RmFzdFBhdGhHZXRSZWxhdGlvbkxvY2tFbnRyeShMT0NBTExPQ0sgKmxvY2FsbG9jaykKIAkJ cHJvY2xvY2tfaGFzaGNvZGUgPSBQcm9jTG9ja0hhc2hDb2RlKCZwcm9jbG9ja3RhZywgbG9j YWxsb2NrLT5oYXNoY29kZSk7CiAJCXByb2Nsb2NrID0gKFBST0NMT0NLICopCiAJCQloYXNo X3NlYXJjaF93aXRoX2hhc2hfdmFsdWUoTG9ja01ldGhvZFByb2NMb2NrSGFzaCwKLQkJCQkJ CQkJCQkodm9pZCAqKSAmcHJvY2xvY2t0YWcsCisJCQkJCQkJCQkJJnByb2Nsb2NrdGFnLAog CQkJCQkJCQkJCXByb2Nsb2NrX2hhc2hjb2RlLAogCQkJCQkJCQkJCUhBU0hfRklORCwKIAkJ CQkJCQkJCQlOVUxMKTsKQEAgLTMwMjgsNyArMzAyOCw3IEBAIEdldExvY2tDb25mbGljdHMo Y29uc3QgTE9DS1RBRyAqbG9ja3RhZywgTE9DS01PREUgbG9ja21vZGUsIGludCAqY291bnRw KQogCUxXTG9ja0FjcXVpcmUocGFydGl0aW9uTG9jaywgTFdfU0hBUkVEKTsKIAogCWxvY2sg PSAoTE9DSyAqKSBoYXNoX3NlYXJjaF93aXRoX2hhc2hfdmFsdWUoTG9ja01ldGhvZExvY2tI YXNoLAotCQkJCQkJCQkJCQkJKGNvbnN0IHZvaWQgKikgbG9ja3RhZywKKwkJCQkJCQkJCQkJ CWxvY2t0YWcsCiAJCQkJCQkJCQkJCQloYXNoY29kZSwKIAkJCQkJCQkJCQkJCUhBU0hfRklO RCwKIAkJCQkJCQkJCQkJCU5VTEwpOwpAQCAtMzEyNSw3ICszMTI1LDcgQEAgTG9ja1JlZmlu ZEFuZFJlbGVhc2UoTG9ja01ldGhvZCBsb2NrTWV0aG9kVGFibGUsIFBHUFJPQyAqcHJvYywK IAkgKiBSZS1maW5kIHRoZSBsb2NrIG9iamVjdCAoaXQgaGFkIGJldHRlciBiZSB0aGVyZSku CiAJICovCiAJbG9jayA9IChMT0NLICopIGhhc2hfc2VhcmNoX3dpdGhfaGFzaF92YWx1ZShM b2NrTWV0aG9kTG9ja0hhc2gsCi0JCQkJCQkJCQkJCQkodm9pZCAqKSBsb2NrdGFnLAorCQkJ CQkJCQkJCQkJbG9ja3RhZywKIAkJCQkJCQkJCQkJCWhhc2hjb2RlLAogCQkJCQkJCQkJCQkJ SEFTSF9GSU5ELAogCQkJCQkJCQkJCQkJTlVMTCk7CkBAIC0zMTQxLDcgKzMxNDEsNyBAQCBM b2NrUmVmaW5kQW5kUmVsZWFzZShMb2NrTWV0aG9kIGxvY2tNZXRob2RUYWJsZSwgUEdQUk9D ICpwcm9jLAogCXByb2Nsb2NrX2hhc2hjb2RlID0gUHJvY0xvY2tIYXNoQ29kZSgmcHJvY2xv Y2t0YWcsIGhhc2hjb2RlKTsKIAogCXByb2Nsb2NrID0gKFBST0NMT0NLICopIGhhc2hfc2Vh cmNoX3dpdGhfaGFzaF92YWx1ZShMb2NrTWV0aG9kUHJvY0xvY2tIYXNoLAotCQkJCQkJCQkJ CQkJCQkodm9pZCAqKSAmcHJvY2xvY2t0YWcsCisJCQkJCQkJCQkJCQkJCSZwcm9jbG9ja3Rh ZywKIAkJCQkJCQkJCQkJCQkJcHJvY2xvY2tfaGFzaGNvZGUsCiAJCQkJCQkJCQkJCQkJCUhB U0hfRklORCwKIAkJCQkJCQkJCQkJCQkJTlVMTCk7CkBAIC0zMjU1LDcgKzMyNTUsNyBAQCBD aGVja0ZvclNlc3Npb25BbmRYYWN0TG9ja3Modm9pZCkKIAogCQkvKiBPdGhlcndpc2UsIGZp bmQgb3IgbWFrZSBhbiBlbnRyeSBpbiBsb2NraHRhYiAqLwogCQloZW50cnkgPSAoUGVyTG9j a1RhZ0VudHJ5ICopIGhhc2hfc2VhcmNoKGxvY2todGFiLAotCQkJCQkJCQkJCQkJICh2b2lk ICopICZsb2NhbGxvY2stPnRhZy5sb2NrLAorCQkJCQkJCQkJCQkJICZsb2NhbGxvY2stPnRh Zy5sb2NrLAogCQkJCQkJCQkJCQkJIEhBU0hfRU5URVIsICZmb3VuZCk7CiAJCWlmICghZm91 bmQpCQkJCS8qIGluaXRpYWxpemUsIGlmIG5ld2x5IGNyZWF0ZWQgKi8KIAkJCWhlbnRyeS0+ c2Vzc0xvY2sgPSBoZW50cnktPnhhY3RMb2NrID0gZmFsc2U7CkBAIC0zNTU1LDggKzM1NTUs OCBAQCBQb3N0UHJlcGFyZV9Mb2NrcyhUcmFuc2FjdGlvbklkIHhpZCkKIAkJCSAqIGdpdmVu IGxvY2sgd2l0aCBteSBvd24gcHJvYy4KIAkJCSAqLwogCQkJaWYgKCFoYXNoX3VwZGF0ZV9o YXNoX2tleShMb2NrTWV0aG9kUHJvY0xvY2tIYXNoLAotCQkJCQkJCQkJICAodm9pZCAqKSBw cm9jbG9jaywKLQkJCQkJCQkJCSAgKHZvaWQgKikgJnByb2Nsb2NrdGFnKSkKKwkJCQkJCQkJ CSAgcHJvY2xvY2ssCisJCQkJCQkJCQkgICZwcm9jbG9ja3RhZykpCiAJCQkJZWxvZyhQQU5J QywgImR1cGxpY2F0ZSBlbnRyeSBmb3VuZCB3aGlsZSByZWFzc2lnbmluZyBhIHByZXBhcmVk IHRyYW5zYWN0aW9uJ3MgbG9ja3MiKTsKIAogCQkJLyogUmUtbGluayBpbnRvIHRoZSBuZXcg cHJvYydzIHByb2Nsb2NrIGxpc3QgKi8KQEAgLTQyMDIsNyArNDIwMiw3IEBAIGxvY2tfdHdv cGhhc2VfcmVjb3ZlcihUcmFuc2FjdGlvbklkIHhpZCwgdWludDE2IGluZm8sCiAJICogRmlu ZCBvciBjcmVhdGUgYSBsb2NrIHdpdGggdGhpcyB0YWcuCiAJICovCiAJbG9jayA9IChMT0NL ICopIGhhc2hfc2VhcmNoX3dpdGhfaGFzaF92YWx1ZShMb2NrTWV0aG9kTG9ja0hhc2gsCi0J CQkJCQkJCQkJCQkodm9pZCAqKSBsb2NrdGFnLAorCQkJCQkJCQkJCQkJbG9ja3RhZywKIAkJ CQkJCQkJCQkJCWhhc2hjb2RlLAogCQkJCQkJCQkJCQkJSEFTSF9FTlRFUl9OVUxMLAogCQkJ CQkJCQkJCQkJJmZvdW5kKTsKQEAgLTQyNTAsNyArNDI1MCw3IEBAIGxvY2tfdHdvcGhhc2Vf cmVjb3ZlcihUcmFuc2FjdGlvbklkIHhpZCwgdWludDE2IGluZm8sCiAJICogRmluZCBvciBj cmVhdGUgYSBwcm9jbG9jayBlbnRyeSB3aXRoIHRoaXMgdGFnCiAJICovCiAJcHJvY2xvY2sg PSAoUFJPQ0xPQ0sgKikgaGFzaF9zZWFyY2hfd2l0aF9oYXNoX3ZhbHVlKExvY2tNZXRob2RQ cm9jTG9ja0hhc2gsCi0JCQkJCQkJCQkJCQkJCSh2b2lkICopICZwcm9jbG9ja3RhZywKKwkJ CQkJCQkJCQkJCQkJJnByb2Nsb2NrdGFnLAogCQkJCQkJCQkJCQkJCQlwcm9jbG9ja19oYXNo Y29kZSwKIAkJCQkJCQkJCQkJCQkJSEFTSF9FTlRFUl9OVUxMLAogCQkJCQkJCQkJCQkJCQkm Zm91bmQpOwpAQCAtNDI2Nyw3ICs0MjY3LDcgQEAgbG9ja190d29waGFzZV9yZWNvdmVyKFRy YW5zYWN0aW9uSWQgeGlkLCB1aW50MTYgaW5mbywKIAkJCSAqLwogCQkJQXNzZXJ0KGRsaXN0 X2lzX2VtcHR5KCZsb2NrLT5wcm9jTG9ja3MpKTsKIAkJCWlmICghaGFzaF9zZWFyY2hfd2l0 aF9oYXNoX3ZhbHVlKExvY2tNZXRob2RMb2NrSGFzaCwKLQkJCQkJCQkJCQkJICh2b2lkICop ICYobG9jay0+dGFnKSwKKwkJCQkJCQkJCQkJICYobG9jay0+dGFnKSwKIAkJCQkJCQkJCQkJ IGhhc2hjb2RlLAogCQkJCQkJCQkJCQkgSEFTSF9SRU1PVkUsCiAJCQkJCQkJCQkJCSBOVUxM KSkKQEAgLTQ2NzksNyArNDY3OSw3IEBAIExvY2tXYWl0ZXJDb3VudChjb25zdCBMT0NLVEFH ICpsb2NrdGFnKQogCUxXTG9ja0FjcXVpcmUocGFydGl0aW9uTG9jaywgTFdfRVhDTFVTSVZF KTsKIAogCWxvY2sgPSAoTE9DSyAqKSBoYXNoX3NlYXJjaF93aXRoX2hhc2hfdmFsdWUoTG9j a01ldGhvZExvY2tIYXNoLAotCQkJCQkJCQkJCQkJKGNvbnN0IHZvaWQgKikgbG9ja3RhZywK KwkJCQkJCQkJCQkJCWxvY2t0YWcsCiAJCQkJCQkJCQkJCQloYXNoY29kZSwKIAkJCQkJCQkJ CQkJCUhBU0hfRklORCwKIAkJCQkJCQkJCQkJCSZmb3VuZCk7CmRpZmYgLS1naXQgYS9zcmMv YmFja2VuZC9zdG9yYWdlL3NtZ3Ivc21nci5jIGIvc3JjL2JhY2tlbmQvc3RvcmFnZS9zbWdy L3NtZ3IuYwppbmRleCA4MGViNjMxMWU3Li5iMmJkNzQ5ZDc3IDEwMDY0NAotLS0gYS9zcmMv YmFja2VuZC9zdG9yYWdlL3NtZ3Ivc21nci5jCisrKyBiL3NyYy9iYWNrZW5kL3N0b3JhZ2Uv c21nci9zbWdyLmMKQEAgLTE2NSw3ICsxNjUsNyBAQCBzbWdyb3BlbihSZWxGaWxlTG9jYXRv ciBybG9jYXRvciwgQmFja2VuZElkIGJhY2tlbmQpCiAJYnJsb2NhdG9yLmxvY2F0b3IgPSBy bG9jYXRvcjsKIAlicmxvY2F0b3IuYmFja2VuZCA9IGJhY2tlbmQ7CiAJcmVsbiA9IChTTWdy UmVsYXRpb24pIGhhc2hfc2VhcmNoKFNNZ3JSZWxhdGlvbkhhc2gsCi0JCQkJCQkJCQkgICh2 b2lkICopICZicmxvY2F0b3IsCisJCQkJCQkJCQkgICZicmxvY2F0b3IsCiAJCQkJCQkJCQkg IEhBU0hfRU5URVIsICZmb3VuZCk7CiAKIAkvKiBJbml0aWFsaXplIGl0IGlmIG5vdCBwcmVz ZW50IGJlZm9yZSAqLwpAQCAtMjY3LDcgKzI2Nyw3IEBAIHNtZ3JjbG9zZShTTWdyUmVsYXRp b24gcmVsbikKIAkJZGxpc3RfZGVsZXRlKCZyZWxuLT5ub2RlKTsKIAogCWlmIChoYXNoX3Nl YXJjaChTTWdyUmVsYXRpb25IYXNoLAotCQkJCQkodm9pZCAqKSAmKHJlbG4tPnNtZ3Jfcmxv Y2F0b3IpLAorCQkJCQkmKHJlbG4tPnNtZ3JfcmxvY2F0b3IpLAogCQkJCQlIQVNIX1JFTU9W RSwgTlVMTCkgPT0gTlVMTCkKIAkJZWxvZyhFUlJPUiwgIlNNZ3JSZWxhdGlvbiBoYXNodGFi bGUgY29ycnVwdGVkIik7CiAKQEAgLTM1Miw3ICszNTIsNyBAQCBzbWdyY2xvc2VyZWxsb2Nh dG9yKFJlbEZpbGVMb2NhdG9yQmFja2VuZCBybG9jYXRvcikKIAkJcmV0dXJuOwogCiAJcmVs biA9IChTTWdyUmVsYXRpb24pIGhhc2hfc2VhcmNoKFNNZ3JSZWxhdGlvbkhhc2gsCi0JCQkJ CQkJCQkgICh2b2lkICopICZybG9jYXRvciwKKwkJCQkJCQkJCSAgJnJsb2NhdG9yLAogCQkJ CQkJCQkJICBIQVNIX0ZJTkQsIE5VTEwpOwogCWlmIChyZWxuICE9IE5VTEwpCiAJCXNtZ3Jj bG9zZShyZWxuKTsKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3N0b3JhZ2Uvc3luYy9zeW5j LmMgYi9zcmMvYmFja2VuZC9zdG9yYWdlL3N5bmMvc3luYy5jCmluZGV4IDcxMzUxNTBiMTYu Ljc2OGQxZGJmYzQgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3N0b3JhZ2Uvc3luYy9zeW5j LmMKKysrIGIvc3JjL2JhY2tlbmQvc3RvcmFnZS9zeW5jL3N5bmMuYwpAQCAtNTAxLDcgKzUw MSw3IEBAIFJlbWVtYmVyU3luY1JlcXVlc3QoY29uc3QgRmlsZVRhZyAqZnRhZywgU3luY1Jl cXVlc3RUeXBlIHR5cGUpCiAKIAkJLyogQ2FuY2VsIHByZXZpb3VzbHkgZW50ZXJlZCByZXF1 ZXN0ICovCiAJCWVudHJ5ID0gKFBlbmRpbmdGc3luY0VudHJ5ICopIGhhc2hfc2VhcmNoKHBl bmRpbmdPcHMsCi0JCQkJCQkJCQkJCQkgICh2b2lkICopIGZ0YWcsCisJCQkJCQkJCQkJCQkg IGZ0YWcsCiAJCQkJCQkJCQkJCQkgIEhBU0hfRklORCwKIAkJCQkJCQkJCQkJCSAgTlVMTCk7 CiAJCWlmIChlbnRyeSAhPSBOVUxMKQpAQCAtNTU3LDcgKzU1Nyw3IEBAIFJlbWVtYmVyU3lu Y1JlcXVlc3QoY29uc3QgRmlsZVRhZyAqZnRhZywgU3luY1JlcXVlc3RUeXBlIHR5cGUpCiAJ CUFzc2VydCh0eXBlID09IFNZTkNfUkVRVUVTVCk7CiAKIAkJZW50cnkgPSAoUGVuZGluZ0Zz eW5jRW50cnkgKikgaGFzaF9zZWFyY2gocGVuZGluZ09wcywKLQkJCQkJCQkJCQkJCSAgKHZv aWQgKikgZnRhZywKKwkJCQkJCQkJCQkJCSAgZnRhZywKIAkJCQkJCQkJCQkJCSAgSEFTSF9F TlRFUiwKIAkJCQkJCQkJCQkJCSAgJmZvdW5kKTsKIAkJLyogaWYgbmV3IGVudHJ5LCBvciB3 YXMgcHJldmlvdXNseSBjYW5jZWxlZCwgaW5pdGlhbGl6ZSBpdCAqLwpkaWZmIC0tZ2l0IGEv c3JjL2JhY2tlbmQvdHNlYXJjaC90c190eXBhbmFseXplLmMgYi9zcmMvYmFja2VuZC90c2Vh cmNoL3RzX3R5cGFuYWx5emUuYwppbmRleCBhZTRiNWQxMGYyLi43NWVjZDcyZWZlIDEwMDY0 NAotLS0gYS9zcmMvYmFja2VuZC90c2VhcmNoL3RzX3R5cGFuYWx5emUuYworKysgYi9zcmMv YmFja2VuZC90c2VhcmNoL3RzX3R5cGFuYWx5emUuYwpAQCAtMjU0LDcgKzI1NCw3IEBAIGNv bXB1dGVfdHN2ZWN0b3Jfc3RhdHMoVmFjQXR0clN0YXRzICpzdGF0cywKIAogCQkJLyogTG9v a3VwIGN1cnJlbnQgbGV4ZW1lIGluIGhhc2h0YWJsZSwgYWRkaW5nIGl0IGlmIG5ldyAqLwog CQkJaXRlbSA9IChUcmFja0l0ZW0gKikgaGFzaF9zZWFyY2gobGV4ZW1lc190YWIsCi0JCQkJ CQkJCQkJCSAoY29uc3Qgdm9pZCAqKSAmaGFzaF9rZXksCisJCQkJCQkJCQkJCSAmaGFzaF9r ZXksCiAJCQkJCQkJCQkJCSBIQVNIX0VOVEVSLCAmZm91bmQpOwogCiAJCQlpZiAoZm91bmQp CkBAIC00NjQsNyArNDY0LDcgQEAgcHJ1bmVfbGV4ZW1lc19oYXNodGFibGUoSFRBQiAqbGV4 ZW1lc190YWIsIGludCBiX2N1cnJlbnQpCiAJCXsKIAkJCWNoYXIJICAgKmxleGVtZSA9IGl0 ZW0tPmtleS5sZXhlbWU7CiAKLQkJCWlmIChoYXNoX3NlYXJjaChsZXhlbWVzX3RhYiwgKGNv bnN0IHZvaWQgKikgJml0ZW0tPmtleSwKKwkJCWlmIChoYXNoX3NlYXJjaChsZXhlbWVzX3Rh YiwgJml0ZW0tPmtleSwKIAkJCQkJCQlIQVNIX1JFTU9WRSwgTlVMTCkgPT0gTlVMTCkKIAkJ CQllbG9nKEVSUk9SLCAiaGFzaCB0YWJsZSBjb3JydXB0ZWQiKTsKIAkJCXBmcmVlKGxleGVt ZSk7CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC91dGlscy9hZHQvYXJyYXlfdHlwYW5hbHl6 ZS5jIGIvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L2FycmF5X3R5cGFuYWx5emUuYwppbmRleCA1 ODQxZDdkNmZjLi41MmUxNjBkNmJiIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC91dGlscy9h ZHQvYXJyYXlfdHlwYW5hbHl6ZS5jCisrKyBiL3NyYy9iYWNrZW5kL3V0aWxzL2FkdC9hcnJh eV90eXBhbmFseXplLmMKQEAgLTM2Miw3ICszNjIsNyBAQCBjb21wdXRlX2FycmF5X3N0YXRz KFZhY0F0dHJTdGF0cyAqc3RhdHMsIEFuYWx5emVBdHRyRmV0Y2hGdW5jIGZldGNoZnVuYywK IAkJCS8qIExvb2t1cCBjdXJyZW50IGVsZW1lbnQgaW4gaGFzaHRhYmxlLCBhZGRpbmcgaXQg aWYgbmV3ICovCiAJCQllbGVtX3ZhbHVlID0gZWxlbV92YWx1ZXNbal07CiAJCQlpdGVtID0g KFRyYWNrSXRlbSAqKSBoYXNoX3NlYXJjaChlbGVtZW50c190YWIsCi0JCQkJCQkJCQkJCSAo Y29uc3Qgdm9pZCAqKSAmZWxlbV92YWx1ZSwKKwkJCQkJCQkJCQkJICZlbGVtX3ZhbHVlLAog CQkJCQkJCQkJCQkgSEFTSF9FTlRFUiwgJmZvdW5kKTsKIAogCQkJaWYgKGZvdW5kKQpAQCAt NjkwLDcgKzY5MCw3IEBAIHBydW5lX2VsZW1lbnRfaGFzaHRhYmxlKEhUQUIgKmVsZW1lbnRz X3RhYiwgaW50IGJfY3VycmVudCkKIAkJewogCQkJRGF0dW0JCXZhbHVlID0gaXRlbS0+a2V5 OwogCi0JCQlpZiAoaGFzaF9zZWFyY2goZWxlbWVudHNfdGFiLCAoY29uc3Qgdm9pZCAqKSAm aXRlbS0+a2V5LAorCQkJaWYgKGhhc2hfc2VhcmNoKGVsZW1lbnRzX3RhYiwgJml0ZW0tPmtl eSwKIAkJCQkJCQlIQVNIX1JFTU9WRSwgTlVMTCkgPT0gTlVMTCkKIAkJCQllbG9nKEVSUk9S LCAiaGFzaCB0YWJsZSBjb3JydXB0ZWQiKTsKIAkJCS8qIFdlIHNob3VsZCBmcmVlIG1lbW9y eSBpZiBlbGVtZW50IGlzIG5vdCBwYXNzZWQgYnkgdmFsdWUgKi8KZGlmZiAtLWdpdCBhL3Ny Yy9iYWNrZW5kL3V0aWxzL2FkdC9yaV90cmlnZ2Vycy5jIGIvc3JjL2JhY2tlbmQvdXRpbHMv YWR0L3JpX3RyaWdnZXJzLmMKaW5kZXggOTk1NTcxYWUwNC4uMzc1YjE3YjlmMyAxMDA2NDQK LS0tIGEvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L3JpX3RyaWdnZXJzLmMKKysrIGIvc3JjL2Jh Y2tlbmQvdXRpbHMvYWR0L3JpX3RyaWdnZXJzLmMKQEAgLTIxMjksNyArMjEyOSw3IEBAIHJp X0xvYWRDb25zdHJhaW50SW5mbyhPaWQgY29uc3RyYWludE9pZCkKIAkgKiBGaW5kIG9yIGNy ZWF0ZSBhIGhhc2ggZW50cnkuICBJZiB3ZSBmaW5kIGEgdmFsaWQgb25lLCBqdXN0IHJldHVy biBpdC4KIAkgKi8KIAlyaWluZm8gPSAoUklfQ29uc3RyYWludEluZm8gKikgaGFzaF9zZWFy Y2gocmlfY29uc3RyYWludF9jYWNoZSwKLQkJCQkJCQkJCQkJICAgKHZvaWQgKikgJmNvbnN0 cmFpbnRPaWQsCisJCQkJCQkJCQkJCSAgICZjb25zdHJhaW50T2lkLAogCQkJCQkJCQkJCQkg ICBIQVNIX0VOVEVSLCAmZm91bmQpOwogCWlmICghZm91bmQpCiAJCXJpaW5mby0+dmFsaWQg PSBmYWxzZTsKQEAgLTI3MjQsNyArMjcyNCw3IEBAIHJpX0ZldGNoUHJlcGFyZWRQbGFuKFJJ X1F1ZXJ5S2V5ICprZXkpCiAJICogTG9va3VwIGZvciB0aGUga2V5CiAJICovCiAJZW50cnkg PSAoUklfUXVlcnlIYXNoRW50cnkgKikgaGFzaF9zZWFyY2gocmlfcXVlcnlfY2FjaGUsCi0J CQkJCQkJCQkJCSAgKHZvaWQgKikga2V5LAorCQkJCQkJCQkJCQkgIGtleSwKIAkJCQkJCQkJ CQkJICBIQVNIX0ZJTkQsIE5VTEwpOwogCWlmIChlbnRyeSA9PSBOVUxMKQogCQlyZXR1cm4g TlVMTDsKQEAgLTI3NzcsNyArMjc3Nyw3IEBAIHJpX0hhc2hQcmVwYXJlZFBsYW4oUklfUXVl cnlLZXkgKmtleSwgU1BJUGxhblB0ciBwbGFuKQogCSAqIGludmFsaWQgYnkgcmlfRmV0Y2hQ cmVwYXJlZFBsYW4uCiAJICovCiAJZW50cnkgPSAoUklfUXVlcnlIYXNoRW50cnkgKikgaGFz aF9zZWFyY2gocmlfcXVlcnlfY2FjaGUsCi0JCQkJCQkJCQkJCSAgKHZvaWQgKikga2V5LAor CQkJCQkJCQkJCQkgIGtleSwKIAkJCQkJCQkJCQkJICBIQVNIX0VOVEVSLCAmZm91bmQpOwog CUFzc2VydCghZm91bmQgfHwgZW50cnktPnBsYW4gPT0gTlVMTCk7CiAJZW50cnktPnBsYW4g PSBwbGFuOwpAQCAtMjkyNyw3ICsyOTI3LDcgQEAgcmlfSGFzaENvbXBhcmVPcChPaWQgZXFf b3ByLCBPaWQgdHlwZWlkKQogCWtleS5lcV9vcHIgPSBlcV9vcHI7CiAJa2V5LnR5cGVpZCA9 IHR5cGVpZDsKIAllbnRyeSA9IChSSV9Db21wYXJlSGFzaEVudHJ5ICopIGhhc2hfc2VhcmNo KHJpX2NvbXBhcmVfY2FjaGUsCi0JCQkJCQkJCQkJCQkodm9pZCAqKSAma2V5LAorCQkJCQkJ CQkJCQkJJmtleSwKIAkJCQkJCQkJCQkJCUhBU0hfRU5URVIsICZmb3VuZCk7CiAJaWYgKCFm b3VuZCkKIAkJZW50cnktPnZhbGlkID0gZmFsc2U7CmRpZmYgLS1naXQgYS9zcmMvYmFja2Vu ZC91dGlscy9jYWNoZS9hdHRvcHRjYWNoZS5jIGIvc3JjL2JhY2tlbmQvdXRpbHMvY2FjaGUv YXR0b3B0Y2FjaGUuYwppbmRleCAyOGE5OWYwZmM0Li42NzY5ZDQ3NjViIDEwMDY0NAotLS0g YS9zcmMvYmFja2VuZC91dGlscy9jYWNoZS9hdHRvcHRjYWNoZS5jCisrKyBiL3NyYy9iYWNr ZW5kL3V0aWxzL2NhY2hlL2F0dG9wdGNhY2hlLmMKQEAgLTYzLDcgKzYzLDcgQEAgSW52YWxp ZGF0ZUF0dG9wdENhY2hlQ2FsbGJhY2soRGF0dW0gYXJnLCBpbnQgY2FjaGVpZCwgdWludDMy IGhhc2h2YWx1ZSkKIAkJaWYgKGF0dG9wdC0+b3B0cykKIAkJCXBmcmVlKGF0dG9wdC0+b3B0 cyk7CiAJCWlmIChoYXNoX3NlYXJjaChBdHRvcHRDYWNoZUhhc2gsCi0JCQkJCQkodm9pZCAq KSAmYXR0b3B0LT5rZXksCisJCQkJCQkmYXR0b3B0LT5rZXksCiAJCQkJCQlIQVNIX1JFTU9W RSwKIAkJCQkJCU5VTEwpID09IE5VTEwpCiAJCQllbG9nKEVSUk9SLCAiaGFzaCB0YWJsZSBj b3JydXB0ZWQiKTsKQEAgLTExNiw3ICsxMTYsNyBAQCBnZXRfYXR0cmlidXRlX29wdGlvbnMo T2lkIGF0dHJlbGlkLCBpbnQgYXR0bnVtKQogCWtleS5hdHRudW0gPSBhdHRudW07CiAJYXR0 b3B0ID0KIAkJKEF0dG9wdENhY2hlRW50cnkgKikgaGFzaF9zZWFyY2goQXR0b3B0Q2FjaGVI YXNoLAotCQkJCQkJCQkJCSAodm9pZCAqKSAma2V5LAorCQkJCQkJCQkJCSAma2V5LAogCQkJ CQkJCQkJCSBIQVNIX0ZJTkQsCiAJCQkJCQkJCQkJIE5VTEwpOwogCkBAIC0xNjMsNyArMTYz LDcgQEAgZ2V0X2F0dHJpYnV0ZV9vcHRpb25zKE9pZCBhdHRyZWxpZCwgaW50IGF0dG51bSkK IAkJICogcGdfYXR0cmlidXRlLCBzaW5jZSB0aGUgcmVhZCBjb3VsZCBjYXVzZSBhIGNhY2hl IGZsdXNoLgogCQkgKi8KIAkJYXR0b3B0ID0gKEF0dG9wdENhY2hlRW50cnkgKikgaGFzaF9z ZWFyY2goQXR0b3B0Q2FjaGVIYXNoLAotCQkJCQkJCQkJCQkJICAodm9pZCAqKSAma2V5LAor CQkJCQkJCQkJCQkJICAma2V5LAogCQkJCQkJCQkJCQkJICBIQVNIX0VOVEVSLAogCQkJCQkJ CQkJCQkJICBOVUxMKTsKIAkJYXR0b3B0LT5vcHRzID0gb3B0czsKZGlmZiAtLWdpdCBhL3Ny Yy9iYWNrZW5kL3V0aWxzL2NhY2hlL3JlbGNhY2hlLmMgYi9zcmMvYmFja2VuZC91dGlscy9j YWNoZS9yZWxjYWNoZS5jCmluZGV4IGQxNzFjZmNmMmYuLmRmZGEwYWI3ZDYgMTAwNjQ0Ci0t LSBhL3NyYy9iYWNrZW5kL3V0aWxzL2NhY2hlL3JlbGNhY2hlLmMKKysrIGIvc3JjL2JhY2tl bmQvdXRpbHMvY2FjaGUvcmVsY2FjaGUuYwpAQCAtMjEwLDcgKzIxMCw3IEBAIHN0YXRpYyBp bnQJRU9YYWN0VHVwbGVEZXNjQXJyYXlMZW4gPSAwOwogZG8geyBcCiAJUmVsSWRDYWNoZUVu dCAqaGVudHJ5OyBib29sIGZvdW5kOyBcCiAJaGVudHJ5ID0gKFJlbElkQ2FjaGVFbnQgKikg aGFzaF9zZWFyY2goUmVsYXRpb25JZENhY2hlLCBcCi0JCQkJCQkJCQkJICAgKHZvaWQgKikg JigoUkVMQVRJT04pLT5yZF9pZCksIFwKKwkJCQkJCQkJCQkgICAmKChSRUxBVElPTiktPnJk X2lkKSwgXAogCQkJCQkJCQkJCSAgIEhBU0hfRU5URVIsICZmb3VuZCk7IFwKIAlpZiAoZm91 bmQpIFwKIAl7IFwKQEAgLTIzMiw3ICsyMzIsNyBAQCBkbyB7IFwKIGRvIHsgXAogCVJlbElk Q2FjaGVFbnQgKmhlbnRyeTsgXAogCWhlbnRyeSA9IChSZWxJZENhY2hlRW50ICopIGhhc2hf c2VhcmNoKFJlbGF0aW9uSWRDYWNoZSwgXAotCQkJCQkJCQkJCSAgICh2b2lkICopICYoSUQp LCBcCisJCQkJCQkJCQkJICAgJihJRCksIFwKIAkJCQkJCQkJCQkgICBIQVNIX0ZJTkQsIE5V TEwpOyBcCiAJaWYgKGhlbnRyeSkgXAogCQlSRUxBVElPTiA9IGhlbnRyeS0+cmVsZGVzYzsg XApAQCAtMjQ0LDcgKzI0NCw3IEBAIGRvIHsgXAogZG8geyBcCiAJUmVsSWRDYWNoZUVudCAq aGVudHJ5OyBcCiAJaGVudHJ5ID0gKFJlbElkQ2FjaGVFbnQgKikgaGFzaF9zZWFyY2goUmVs YXRpb25JZENhY2hlLCBcCi0JCQkJCQkJCQkJICAgKHZvaWQgKikgJigoUkVMQVRJT04pLT5y ZF9pZCksIFwKKwkJCQkJCQkJCQkgICAmKChSRUxBVElPTiktPnJkX2lkKSwgXAogCQkJCQkJ CQkJCSAgIEhBU0hfUkVNT1ZFLCBOVUxMKTsgXAogCWlmIChoZW50cnkgPT0gTlVMTCkgXAog CQllbG9nKFdBUk5JTkcsICJmYWlsZWQgdG8gZGVsZXRlIHJlbGNhY2hlIGVudHJ5IGZvciBP SUQgJXUiLCBcCkBAIC0xNjYzLDcgKzE2NjMsNyBAQCBMb29rdXBPcGNsYXNzSW5mbyhPaWQg b3BlcmF0b3JDbGFzc09pZCwKIAl9CiAKIAlvcGNlbnRyeSA9IChPcENsYXNzQ2FjaGVFbnQg KikgaGFzaF9zZWFyY2goT3BDbGFzc0NhY2hlLAotCQkJCQkJCQkJCQkgICAodm9pZCAqKSAm b3BlcmF0b3JDbGFzc09pZCwKKwkJCQkJCQkJCQkJICAgJm9wZXJhdG9yQ2xhc3NPaWQsCiAJ CQkJCQkJCQkJCSAgIEhBU0hfRU5URVIsICZmb3VuZCk7CiAKIAlpZiAoIWZvdW5kKQpAQCAt MzIxMCw3ICszMjEwLDcgQEAgQXRFT1hhY3RfUmVsYXRpb25DYWNoZShib29sIGlzQ29tbWl0 KQogCQlmb3IgKGkgPSAwOyBpIDwgZW94YWN0X2xpc3RfbGVuOyBpKyspCiAJCXsKIAkJCWlk aGVudHJ5ID0gKFJlbElkQ2FjaGVFbnQgKikgaGFzaF9zZWFyY2goUmVsYXRpb25JZENhY2hl LAotCQkJCQkJCQkJCQkJCSAodm9pZCAqKSAmZW94YWN0X2xpc3RbaV0sCisJCQkJCQkJCQkJ CQkJICZlb3hhY3RfbGlzdFtpXSwKIAkJCQkJCQkJCQkJCQkgSEFTSF9GSU5ELAogCQkJCQkJ CQkJCQkJCSBOVUxMKTsKIAkJCWlmIChpZGhlbnRyeSAhPSBOVUxMKQpAQCAtMzM1OSw3ICsz MzU5LDcgQEAgQXRFT1N1YlhhY3RfUmVsYXRpb25DYWNoZShib29sIGlzQ29tbWl0LCBTdWJU cmFuc2FjdGlvbklkIG15U3ViaWQsCiAJCWZvciAoaSA9IDA7IGkgPCBlb3hhY3RfbGlzdF9s ZW47IGkrKykKIAkJewogCQkJaWRoZW50cnkgPSAoUmVsSWRDYWNoZUVudCAqKSBoYXNoX3Nl YXJjaChSZWxhdGlvbklkQ2FjaGUsCi0JCQkJCQkJCQkJCQkJICh2b2lkICopICZlb3hhY3Rf bGlzdFtpXSwKKwkJCQkJCQkJCQkJCQkgJmVveGFjdF9saXN0W2ldLAogCQkJCQkJCQkJCQkJ CSBIQVNIX0ZJTkQsCiAJCQkJCQkJCQkJCQkJIE5VTEwpOwogCQkJaWYgKGlkaGVudHJ5ICE9 IE5VTEwpCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC91dGlscy9jYWNoZS9yZWxmaWxlbnVt YmVybWFwLmMgYi9zcmMvYmFja2VuZC91dGlscy9jYWNoZS9yZWxmaWxlbnVtYmVybWFwLmMK aW5kZXggNTdjMzI1NDc5NS4uMjIwZjMzZDQzZiAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQv dXRpbHMvY2FjaGUvcmVsZmlsZW51bWJlcm1hcC5jCisrKyBiL3NyYy9iYWNrZW5kL3V0aWxz L2NhY2hlL3JlbGZpbGVudW1iZXJtYXAuYwpAQCAtNzIsNyArNzIsNyBAQCBSZWxmaWxlbnVt YmVyTWFwSW52YWxpZGF0ZUNhbGxiYWNrKERhdHVtIGFyZywgT2lkIHJlbGlkKQogCQkJZW50 cnktPnJlbGlkID09IHJlbGlkKQkvKiBpbmRpdmlkdWFsIGZsdXNoZWQgcmVsYXRpb24gKi8K IAkJewogCQkJaWYgKGhhc2hfc2VhcmNoKFJlbGZpbGVudW1iZXJNYXBIYXNoLAotCQkJCQkJ CSh2b2lkICopICZlbnRyeS0+a2V5LAorCQkJCQkJCSZlbnRyeS0+a2V5LAogCQkJCQkJCUhB U0hfUkVNT1ZFLAogCQkJCQkJCU5VTEwpID09IE5VTEwpCiAJCQkJZWxvZyhFUlJPUiwgImhh c2ggdGFibGUgY29ycnVwdGVkIik7CkBAIC0xNjQsNyArMTY0LDcgQEAgUmVsaWRCeVJlbGZp bGVudW1iZXIoT2lkIHJlbHRhYmxlc3BhY2UsIFJlbEZpbGVOdW1iZXIgcmVsZmlsZW51bWJl cikKIAkgKiBzaW5jZSBxdWVyeWluZyBpbnZhbGlkIHZhbHVlcyBpc24ndCBzdXBwb3NlZCB0 byBiZSBhIGZyZXF1ZW50IHRoaW5nLAogCSAqIGJ1dCBpdCdzIGJhc2ljYWxseSBmcmVlLgog CSAqLwotCWVudHJ5ID0gaGFzaF9zZWFyY2goUmVsZmlsZW51bWJlck1hcEhhc2gsICh2b2lk ICopICZrZXksIEhBU0hfRklORCwgJmZvdW5kKTsKKwllbnRyeSA9IGhhc2hfc2VhcmNoKFJl bGZpbGVudW1iZXJNYXBIYXNoLCAma2V5LCBIQVNIX0ZJTkQsICZmb3VuZCk7CiAKIAlpZiAo Zm91bmQpCiAJCXJldHVybiBlbnRyeS0+cmVsaWQ7CkBAIC0yMzUsNyArMjM1LDcgQEAgUmVs aWRCeVJlbGZpbGVudW1iZXIoT2lkIHJlbHRhYmxlc3BhY2UsIFJlbEZpbGVOdW1iZXIgcmVs ZmlsZW51bWJlcikKIAkgKiBjYXVzZWQgY2FjaGUgaW52YWxpZGF0aW9ucyB0byBiZSBleGVj dXRlZCB3aGljaCB3b3VsZCBoYXZlIGRlbGV0ZWQgYQogCSAqIG5ldyBlbnRyeSBpZiB3ZSBo YWQgZW50ZXJlZCBpdCBhYm92ZS4KIAkgKi8KLQllbnRyeSA9IGhhc2hfc2VhcmNoKFJlbGZp bGVudW1iZXJNYXBIYXNoLCAodm9pZCAqKSAma2V5LCBIQVNIX0VOVEVSLCAmZm91bmQpOwor CWVudHJ5ID0gaGFzaF9zZWFyY2goUmVsZmlsZW51bWJlck1hcEhhc2gsICZrZXksIEhBU0hf RU5URVIsICZmb3VuZCk7CiAJaWYgKGZvdW5kKQogCQllbG9nKEVSUk9SLCAiY29ycnVwdGVk IGhhc2h0YWJsZSIpOwogCWVudHJ5LT5yZWxpZCA9IHJlbGlkOwpkaWZmIC0tZ2l0IGEvc3Jj L2JhY2tlbmQvdXRpbHMvY2FjaGUvc3BjY2FjaGUuYyBiL3NyYy9iYWNrZW5kL3V0aWxzL2Nh Y2hlL3NwY2NhY2hlLmMKaW5kZXggYWFiZTZiYTY0Yi4uMTM2ZmQ3MzdkMyAxMDA2NDQKLS0t IGEvc3JjL2JhY2tlbmQvdXRpbHMvY2FjaGUvc3BjY2FjaGUuYworKysgYi9zcmMvYmFja2Vu ZC91dGlscy9jYWNoZS9zcGNjYWNoZS5jCkBAIC02Myw3ICs2Myw3IEBAIEludmFsaWRhdGVU YWJsZVNwYWNlQ2FjaGVDYWxsYmFjayhEYXR1bSBhcmcsIGludCBjYWNoZWlkLCB1aW50MzIg aGFzaHZhbHVlKQogCQlpZiAoc3BjLT5vcHRzKQogCQkJcGZyZWUoc3BjLT5vcHRzKTsKIAkJ aWYgKGhhc2hfc2VhcmNoKFRhYmxlU3BhY2VDYWNoZUhhc2gsCi0JCQkJCQkodm9pZCAqKSAm c3BjLT5vaWQsCisJCQkJCQkmc3BjLT5vaWQsCiAJCQkJCQlIQVNIX1JFTU9WRSwKIAkJCQkJ CU5VTEwpID09IE5VTEwpCiAJCQllbG9nKEVSUk9SLCAiaGFzaCB0YWJsZSBjb3JydXB0ZWQi KTsKQEAgLTEyMSw3ICsxMjEsNyBAQCBnZXRfdGFibGVzcGFjZShPaWQgc3BjaWQpCiAJaWYg KCFUYWJsZVNwYWNlQ2FjaGVIYXNoKQogCQlJbml0aWFsaXplVGFibGVTcGFjZUNhY2hlKCk7 CiAJc3BjID0gKFRhYmxlU3BhY2VDYWNoZUVudHJ5ICopIGhhc2hfc2VhcmNoKFRhYmxlU3Bh Y2VDYWNoZUhhc2gsCi0JCQkJCQkJCQkJCSAgICh2b2lkICopICZzcGNpZCwKKwkJCQkJCQkJ CQkJICAgJnNwY2lkLAogCQkJCQkJCQkJCQkgICBIQVNIX0ZJTkQsCiAJCQkJCQkJCQkJCSAg IE5VTEwpOwogCWlmIChzcGMpCkBAIC0xNjMsNyArMTYzLDcgQEAgZ2V0X3RhYmxlc3BhY2Uo T2lkIHNwY2lkKQogCSAqIGZsdXNoLgogCSAqLwogCXNwYyA9IChUYWJsZVNwYWNlQ2FjaGVF bnRyeSAqKSBoYXNoX3NlYXJjaChUYWJsZVNwYWNlQ2FjaGVIYXNoLAotCQkJCQkJCQkJCQkg ICAodm9pZCAqKSAmc3BjaWQsCisJCQkJCQkJCQkJCSAgICZzcGNpZCwKIAkJCQkJCQkJCQkJ ICAgSEFTSF9FTlRFUiwKIAkJCQkJCQkJCQkJICAgTlVMTCk7CiAJc3BjLT5vcHRzID0gb3B0 czsKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3V0aWxzL2NhY2hlL3RzX2NhY2hlLmMgYi9z cmMvYmFja2VuZC91dGlscy9jYWNoZS90c19jYWNoZS5jCmluZGV4IDUxOWZhOWZhNzMuLjNm MjU2ZjliZjkgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3V0aWxzL2NhY2hlL3RzX2NhY2hl LmMKKysrIGIvc3JjL2JhY2tlbmQvdXRpbHMvY2FjaGUvdHNfY2FjaGUuYwpAQCAtMTM5LDcg KzEzOSw3IEBAIGxvb2t1cF90c19wYXJzZXJfY2FjaGUoT2lkIHByc0lkKQogCiAJLyogVHJ5 IHRvIGxvb2sgdXAgYW4gZXhpc3RpbmcgZW50cnkgKi8KIAllbnRyeSA9IChUU1BhcnNlckNh Y2hlRW50cnkgKikgaGFzaF9zZWFyY2goVFNQYXJzZXJDYWNoZUhhc2gsCi0JCQkJCQkJCQkJ CSAgICh2b2lkICopICZwcnNJZCwKKwkJCQkJCQkJCQkJICAgJnByc0lkLAogCQkJCQkJCQkJ CQkgICBIQVNIX0ZJTkQsIE5VTEwpOwogCWlmIChlbnRyeSA9PSBOVUxMIHx8ICFlbnRyeS0+ aXN2YWxpZCkKIAl7CkBAIC0xNzMsNyArMTczLDcgQEAgbG9va3VwX3RzX3BhcnNlcl9jYWNo ZShPaWQgcHJzSWQpCiAJCQkvKiBOb3cgbWFrZSB0aGUgY2FjaGUgZW50cnkgKi8KIAkJCWVu dHJ5ID0gKFRTUGFyc2VyQ2FjaGVFbnRyeSAqKQogCQkJCWhhc2hfc2VhcmNoKFRTUGFyc2Vy Q2FjaGVIYXNoLAotCQkJCQkJCSh2b2lkICopICZwcnNJZCwKKwkJCQkJCQkmcHJzSWQsCiAJ CQkJCQkJSEFTSF9FTlRFUiwgJmZvdW5kKTsKIAkJCUFzc2VydCghZm91bmQpOwkJLyogaXQg d2Fzbid0IHRoZXJlIGEgbW9tZW50IGFnbyAqLwogCQl9CkBAIC0yMzgsNyArMjM4LDcgQEAg bG9va3VwX3RzX2RpY3Rpb25hcnlfY2FjaGUoT2lkIGRpY3RJZCkKIAogCS8qIFRyeSB0byBs b29rIHVwIGFuIGV4aXN0aW5nIGVudHJ5ICovCiAJZW50cnkgPSAoVFNEaWN0aW9uYXJ5Q2Fj aGVFbnRyeSAqKSBoYXNoX3NlYXJjaChUU0RpY3Rpb25hcnlDYWNoZUhhc2gsCi0JCQkJCQkJ CQkJCQkgICAodm9pZCAqKSAmZGljdElkLAorCQkJCQkJCQkJCQkJICAgJmRpY3RJZCwKIAkJ CQkJCQkJCQkJCSAgIEhBU0hfRklORCwgTlVMTCk7CiAJaWYgKGVudHJ5ID09IE5VTEwgfHwg IWVudHJ5LT5pc3ZhbGlkKQogCXsKQEAgLTI4OCw3ICsyODgsNyBAQCBsb29rdXBfdHNfZGlj dGlvbmFyeV9jYWNoZShPaWQgZGljdElkKQogCQkJLyogTm93IG1ha2UgdGhlIGNhY2hlIGVu dHJ5ICovCiAJCQllbnRyeSA9IChUU0RpY3Rpb25hcnlDYWNoZUVudHJ5ICopCiAJCQkJaGFz aF9zZWFyY2goVFNEaWN0aW9uYXJ5Q2FjaGVIYXNoLAotCQkJCQkJCSh2b2lkICopICZkaWN0 SWQsCisJCQkJCQkJJmRpY3RJZCwKIAkJCQkJCQlIQVNIX0VOVEVSLCAmZm91bmQpOwogCQkJ QXNzZXJ0KCFmb3VuZCk7CQkvKiBpdCB3YXNuJ3QgdGhlcmUgYSBtb21lbnQgYWdvICovCiAK QEAgLTQwMSw3ICs0MDEsNyBAQCBsb29rdXBfdHNfY29uZmlnX2NhY2hlKE9pZCBjZmdJZCkK IAogCS8qIFRyeSB0byBsb29rIHVwIGFuIGV4aXN0aW5nIGVudHJ5ICovCiAJZW50cnkgPSAo VFNDb25maWdDYWNoZUVudHJ5ICopIGhhc2hfc2VhcmNoKFRTQ29uZmlnQ2FjaGVIYXNoLAot CQkJCQkJCQkJCQkgICAodm9pZCAqKSAmY2ZnSWQsCisJCQkJCQkJCQkJCSAgICZjZmdJZCwK IAkJCQkJCQkJCQkJICAgSEFTSF9GSU5ELCBOVUxMKTsKIAlpZiAoZW50cnkgPT0gTlVMTCB8 fCAhZW50cnktPmlzdmFsaWQpCiAJewpAQCAtNDQxLDcgKzQ0MSw3IEBAIGxvb2t1cF90c19j b25maWdfY2FjaGUoT2lkIGNmZ0lkKQogCQkJLyogTm93IG1ha2UgdGhlIGNhY2hlIGVudHJ5 ICovCiAJCQllbnRyeSA9IChUU0NvbmZpZ0NhY2hlRW50cnkgKikKIAkJCQloYXNoX3NlYXJj aChUU0NvbmZpZ0NhY2hlSGFzaCwKLQkJCQkJCQkodm9pZCAqKSAmY2ZnSWQsCisJCQkJCQkJ JmNmZ0lkLAogCQkJCQkJCUhBU0hfRU5URVIsICZmb3VuZCk7CiAJCQlBc3NlcnQoIWZvdW5k KTsJCS8qIGl0IHdhc24ndCB0aGVyZSBhIG1vbWVudCBhZ28gKi8KIAkJfQpkaWZmIC0tZ2l0 IGEvc3JjL2JhY2tlbmQvdXRpbHMvY2FjaGUvdHlwY2FjaGUuYyBiL3NyYy9iYWNrZW5kL3V0 aWxzL2NhY2hlL3R5cGNhY2hlLmMKaW5kZXggNGEzZTBmZGI3Zi4uZWQ2MzYwY2UyYiAxMDA2 NDQKLS0tIGEvc3JjL2JhY2tlbmQvdXRpbHMvY2FjaGUvdHlwY2FjaGUuYworKysgYi9zcmMv YmFja2VuZC91dGlscy9jYWNoZS90eXBjYWNoZS5jCkBAIC0zNjQsNyArMzY0LDcgQEAgbG9v a3VwX3R5cGVfY2FjaGUoT2lkIHR5cGVfaWQsIGludCBmbGFncykKIAogCS8qIFRyeSB0byBs b29rIHVwIGFuIGV4aXN0aW5nIGVudHJ5ICovCiAJdHlwZW50cnkgPSAoVHlwZUNhY2hlRW50 cnkgKikgaGFzaF9zZWFyY2goVHlwZUNhY2hlSGFzaCwKLQkJCQkJCQkJCQkJICAodm9pZCAq KSAmdHlwZV9pZCwKKwkJCQkJCQkJCQkJICAmdHlwZV9pZCwKIAkJCQkJCQkJCQkJICBIQVNI X0ZJTkQsIE5VTEwpOwogCWlmICh0eXBlbnRyeSA9PSBOVUxMKQogCXsKQEAgLTM5Miw3ICsz OTIsNyBAQCBsb29rdXBfdHlwZV9jYWNoZShPaWQgdHlwZV9pZCwgaW50IGZsYWdzKQogCiAJ CS8qIE5vdyBtYWtlIHRoZSB0eXBjYWNoZSBlbnRyeSAqLwogCQl0eXBlbnRyeSA9IChUeXBl Q2FjaGVFbnRyeSAqKSBoYXNoX3NlYXJjaChUeXBlQ2FjaGVIYXNoLAotCQkJCQkJCQkJCQkJ ICAodm9pZCAqKSAmdHlwZV9pZCwKKwkJCQkJCQkJCQkJCSAgJnR5cGVfaWQsCiAJCQkJCQkJ CQkJCQkgIEhBU0hfRU5URVIsICZmb3VuZCk7CiAJCUFzc2VydCghZm91bmQpOwkJCS8qIGl0 IHdhc24ndCB0aGVyZSBhIG1vbWVudCBhZ28gKi8KIApAQCAtMTk3NCw3ICsxOTc0LDcgQEAg YXNzaWduX3JlY29yZF90eXBlX3R5cG1vZChUdXBsZURlc2MgdHVwRGVzYykKIAkgKiB0aGUg YWxsb2NhdGlvbnMgc3VjY2VlZCBiZWZvcmUgd2UgY3JlYXRlIHRoZSBuZXcgZW50cnkuCiAJ ICovCiAJcmVjZW50cnkgPSAoUmVjb3JkQ2FjaGVFbnRyeSAqKSBoYXNoX3NlYXJjaChSZWNv cmRDYWNoZUhhc2gsCi0JCQkJCQkJCQkJCQkodm9pZCAqKSAmdHVwRGVzYywKKwkJCQkJCQkJ CQkJCSZ0dXBEZXNjLAogCQkJCQkJCQkJCQkJSEFTSF9GSU5ELCAmZm91bmQpOwogCWlmIChm b3VuZCAmJiByZWNlbnRyeS0+dHVwZGVzYyAhPSBOVUxMKQogCXsKQEAgLTIwMTIsNyArMjAx Miw3IEBAIGFzc2lnbl9yZWNvcmRfdHlwZV90eXBtb2QoVHVwbGVEZXNjIHR1cERlc2MpCiAK IAkvKiBGdWxseSBpbml0aWFsaXplZDsgY3JlYXRlIHRoZSBoYXNoIHRhYmxlIGVudHJ5ICov CiAJcmVjZW50cnkgPSAoUmVjb3JkQ2FjaGVFbnRyeSAqKSBoYXNoX3NlYXJjaChSZWNvcmRD YWNoZUhhc2gsCi0JCQkJCQkJCQkJCQkodm9pZCAqKSAmdHVwRGVzYywKKwkJCQkJCQkJCQkJ CSZ0dXBEZXNjLAogCQkJCQkJCQkJCQkJSEFTSF9FTlRFUiwgTlVMTCk7CiAJcmVjZW50cnkt PnR1cGRlc2MgPSBlbnREZXNjOwogCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC91dGlscy90 aW1lL2NvbWJvY2lkLmMgYi9zcmMvYmFja2VuZC91dGlscy90aW1lL2NvbWJvY2lkLmMKaW5k ZXggYzcxMjRkMjg0Zi4uMGU5NGJjOTNmNyAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvdXRp bHMvdGltZS9jb21ib2NpZC5jCisrKyBiL3NyYy9iYWNrZW5kL3V0aWxzL3RpbWUvY29tYm9j aWQuYwpAQCAtMjUzLDcgKzI1Myw3IEBAIEdldENvbWJvQ29tbWFuZElkKENvbW1hbmRJZCBj bWluLCBDb21tYW5kSWQgY21heCkKIAlrZXkuY21pbiA9IGNtaW47CiAJa2V5LmNtYXggPSBj bWF4OwogCWVudHJ5ID0gKENvbWJvQ2lkRW50cnkpIGhhc2hfc2VhcmNoKGNvbWJvSGFzaCwK LQkJCQkJCQkJCQkodm9pZCAqKSAma2V5LAorCQkJCQkJCQkJCSZrZXksCiAJCQkJCQkJCQkJ SEFTSF9FTlRFUiwKIAkJCQkJCQkJCQkmZm91bmQpOwogCmRpZmYgLS1naXQgYS9zcmMvcGwv cGxwZ3NxbC9zcmMvcGxfY29tcC5jIGIvc3JjL3BsL3BscGdzcWwvc3JjL3BsX2NvbXAuYwpp bmRleCA4Y2U0MTg2MjQwLi43ZGI5MTJmZDE4IDEwMDY0NAotLS0gYS9zcmMvcGwvcGxwZ3Nx bC9zcmMvcGxfY29tcC5jCisrKyBiL3NyYy9wbC9wbHBnc3FsL3NyYy9wbF9jb21wLmMKQEAg LTI2MjcsNyArMjYyNyw3IEBAIHBscGdzcWxfSGFzaFRhYmxlTG9va3VwKFBMcGdTUUxfZnVu Y19oYXNoa2V5ICpmdW5jX2tleSkKIAlwbHBnc3FsX0hhc2hFbnQgKmhlbnRyeTsKIAogCWhl bnRyeSA9IChwbHBnc3FsX0hhc2hFbnQgKikgaGFzaF9zZWFyY2gocGxwZ3NxbF9IYXNoVGFi bGUsCi0JCQkJCQkJCQkJCSAodm9pZCAqKSBmdW5jX2tleSwKKwkJCQkJCQkJCQkJIGZ1bmNf a2V5LAogCQkJCQkJCQkJCQkgSEFTSF9GSU5ELAogCQkJCQkJCQkJCQkgTlVMTCk7CiAJaWYg KGhlbnRyeSkKQEAgLTI2NDQsNyArMjY0NCw3IEBAIHBscGdzcWxfSGFzaFRhYmxlSW5zZXJ0 KFBMcGdTUUxfZnVuY3Rpb24gKmZ1bmN0aW9uLAogCWJvb2wJCWZvdW5kOwogCiAJaGVudHJ5 ID0gKHBscGdzcWxfSGFzaEVudCAqKSBoYXNoX3NlYXJjaChwbHBnc3FsX0hhc2hUYWJsZSwK LQkJCQkJCQkJCQkJICh2b2lkICopIGZ1bmNfa2V5LAorCQkJCQkJCQkJCQkgZnVuY19rZXks CiAJCQkJCQkJCQkJCSBIQVNIX0VOVEVSLAogCQkJCQkJCQkJCQkgJmZvdW5kKTsKIAlpZiAo Zm91bmQpCkBAIC0yNjY1LDcgKzI2NjUsNyBAQCBwbHBnc3FsX0hhc2hUYWJsZURlbGV0ZShQ THBnU1FMX2Z1bmN0aW9uICpmdW5jdGlvbikKIAkJcmV0dXJuOwogCiAJaGVudHJ5ID0gKHBs cGdzcWxfSGFzaEVudCAqKSBoYXNoX3NlYXJjaChwbHBnc3FsX0hhc2hUYWJsZSwKLQkJCQkJ CQkJCQkJICh2b2lkICopIGZ1bmN0aW9uLT5mbl9oYXNoa2V5LAorCQkJCQkJCQkJCQkgZnVu Y3Rpb24tPmZuX2hhc2hrZXksCiAJCQkJCQkJCQkJCSBIQVNIX1JFTU9WRSwKIAkJCQkJCQkJ CQkJIE5VTEwpOwogCWlmIChoZW50cnkgPT0gTlVMTCkKZGlmZiAtLWdpdCBhL3NyYy9wbC9w bHBnc3FsL3NyYy9wbF9leGVjLmMgYi9zcmMvcGwvcGxwZ3NxbC9zcmMvcGxfZXhlYy5jCmlu ZGV4IDM3ZGE2MjQzODguLjcwYTAwMmEwZjYgMTAwNjQ0Ci0tLSBhL3NyYy9wbC9wbHBnc3Fs L3NyYy9wbF9leGVjLmMKKysrIGIvc3JjL3BsL3BscGdzcWwvc3JjL3BsX2V4ZWMuYwpAQCAt Nzc3NSw3ICs3Nzc1LDcgQEAgZ2V0X2Nhc3RfaGFzaGVudHJ5KFBMcGdTUUxfZXhlY3N0YXRl ICplc3RhdGUsCiAJY2FzdF9rZXkuc3JjdHlwbW9kID0gc3JjdHlwbW9kOwogCWNhc3Rfa2V5 LmRzdHR5cG1vZCA9IGRzdHR5cG1vZDsKIAljYXN0X2VudHJ5ID0gKHBscGdzcWxfQ2FzdEhh c2hFbnRyeSAqKSBoYXNoX3NlYXJjaChlc3RhdGUtPmNhc3RfaGFzaCwKLQkJCQkJCQkJCQkJ CQkgICAodm9pZCAqKSAmY2FzdF9rZXksCisJCQkJCQkJCQkJCQkJICAgJmNhc3Rfa2V5LAog CQkJCQkJCQkJCQkJCSAgIEhBU0hfRU5URVIsICZmb3VuZCk7CiAJaWYgKCFmb3VuZCkJCQkJ CS8qIGluaXRpYWxpemUgaWYgbmV3IGVudHJ5ICovCiAJCWNhc3RfZW50cnktPmNhc3RfY2V4 cHIgPSBOVUxMOwotLSAKMi4zOS4xCgo= --------------jM0jQQl2n2T7n2hVBs6V0gOs Content-Type: text/plain; charset=UTF-8; name="0002-Remove-useless-casts-to-void-repalloc.patch" Content-Disposition: attachment; filename="0002-Remove-useless-casts-to-void-repalloc.patch" Content-Transfer-Encoding: base64 RnJvbSA1OTdkNDE0OTBkOGVkYThlM2Q5MzYxYWUzOTc4ODgxMzgyODcxMmZjIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQZXRlciBFaXNlbnRyYXV0IDxwZXRlckBlaXNlbnRy YXV0Lm9yZz4KRGF0ZTogVGh1LCAyIEZlYiAyMDIzIDIzOjAyOjM1ICswMTAwClN1YmplY3Q6 IFtQQVRDSCAyLzhdIFJlbW92ZSB1c2VsZXNzIGNhc3RzIHRvICh2b2lkICopIChyZXBhbGxv YykKCi0tLQogY29udHJpYi9sdHJlZS9sdHh0cXVlcnlfaW8uYyAgICAgICAgICAgIHwgMiAr LQogc3JjL2JhY2tlbmQvYWNjZXNzL2dpc3QvZ2lzdHV0aWwuYyAgICAgIHwgMiArLQogc3Jj L2JhY2tlbmQvdHNlYXJjaC9zcGVsbC5jICAgICAgICAgICAgIHwgNCArKy0tCiBzcmMvYmFj a2VuZC90c2VhcmNoL3RzX3BhcnNlLmMgICAgICAgICAgfCA2ICsrKy0tLQogc3JjL2JhY2tl bmQvdHNlYXJjaC90c191dGlscy5jICAgICAgICAgIHwgMiArLQogc3JjL2JhY2tlbmQvdXRp bHMvYWR0L3RzZ2lzdGlkeC5jICAgICAgIHwgMiArLQogc3JjL2JhY2tlbmQvdXRpbHMvYWR0 L3RzcXVlcnkuYyAgICAgICAgIHwgMiArLQogc3JjL2JhY2tlbmQvdXRpbHMvYWR0L3RzcXVl cnlfY2xlYW51cC5jIHwgMiArLQogc3JjL2JhY2tlbmQvdXRpbHMvYWR0L3RzdmVjdG9yLmMg ICAgICAgIHwgNCArKy0tCiA5IGZpbGVzIGNoYW5nZWQsIDEzIGluc2VydGlvbnMoKyksIDEz IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2NvbnRyaWIvbHRyZWUvbHR4dHF1ZXJ5X2lv LmMgYi9jb250cmliL2x0cmVlL2x0eHRxdWVyeV9pby5jCmluZGV4IGQ5OTEwZTZjOTkuLjgy ZDYxN2YxYWUgMTAwNjQ0Ci0tLSBhL2NvbnRyaWIvbHRyZWUvbHR4dHF1ZXJ5X2lvLmMKKysr IGIvY29udHJpYi9sdHJlZS9sdHh0cXVlcnlfaW8uYwpAQCAtMTk1LDcgKzE5NSw3IEBAIHB1 c2h2YWxfYXNpcyhRUFJTX1NUQVRFICpzdGF0ZSwgaW50IHR5cGUsIGNoYXIgKnN0cnZhbCwg aW50IGxlbnZhbCwgdWludDE2IGZsYWcpCiAJCWludDMyCQl0bXAgPSBzdGF0ZS0+Y3Vyb3Ag LSBzdGF0ZS0+b3A7CiAKIAkJc3RhdGUtPmxlbm9wICo9IDI7Ci0JCXN0YXRlLT5vcCA9IChj aGFyICopIHJlcGFsbG9jKCh2b2lkICopIHN0YXRlLT5vcCwgc3RhdGUtPmxlbm9wKTsKKwkJ c3RhdGUtPm9wID0gKGNoYXIgKikgcmVwYWxsb2Moc3RhdGUtPm9wLCBzdGF0ZS0+bGVub3Ap OwogCQlzdGF0ZS0+Y3Vyb3AgPSBzdGF0ZS0+b3AgKyB0bXA7CiAJfQogCW1lbWNweSgodm9p ZCAqKSBzdGF0ZS0+Y3Vyb3AsICh2b2lkICopIHN0cnZhbCwgbGVudmFsKTsKZGlmZiAtLWdp dCBhL3NyYy9iYWNrZW5kL2FjY2Vzcy9naXN0L2dpc3R1dGlsLmMgYi9zcmMvYmFja2VuZC9h Y2Nlc3MvZ2lzdC9naXN0dXRpbC5jCmluZGV4IDU2NDUxZmVkZTEuLmI0ZDg0M2EwZmYgMTAw NjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2FjY2Vzcy9naXN0L2dpc3R1dGlsLmMKKysrIGIvc3Jj L2JhY2tlbmQvYWNjZXNzL2dpc3QvZ2lzdHV0aWwuYwpAQCAtMTEzLDcgKzExMyw3IEBAIGdp c3RleHRyYWN0cGFnZShQYWdlIHBhZ2UsIGludCAqbGVuIC8qIG91dCAqLyApCiBJbmRleFR1 cGxlICoKIGdpc3Rqb2ludmVjdG9yKEluZGV4VHVwbGUgKml0dmVjLCBpbnQgKmxlbiwgSW5k ZXhUdXBsZSAqYWRkaXR2ZWMsIGludCBhZGRsZW4pCiB7Ci0JaXR2ZWMgPSAoSW5kZXhUdXBs ZSAqKSByZXBhbGxvYygodm9pZCAqKSBpdHZlYywgc2l6ZW9mKEluZGV4VHVwbGUpICogKCgq bGVuKSArIGFkZGxlbikpOworCWl0dmVjID0gKEluZGV4VHVwbGUgKikgcmVwYWxsb2MoaXR2 ZWMsIHNpemVvZihJbmRleFR1cGxlKSAqICgoKmxlbikgKyBhZGRsZW4pKTsKIAltZW1tb3Zl KCZpdHZlY1sqbGVuXSwgYWRkaXR2ZWMsIHNpemVvZihJbmRleFR1cGxlKSAqIGFkZGxlbik7 CiAJKmxlbiArPSBhZGRsZW47CiAJcmV0dXJuIGl0dmVjOwpkaWZmIC0tZ2l0IGEvc3JjL2Jh Y2tlbmQvdHNlYXJjaC9zcGVsbC5jIGIvc3JjL2JhY2tlbmQvdHNlYXJjaC9zcGVsbC5jCmlu ZGV4IDgzODM4YWI0MzguLmM4ZGZlZDYxNzggMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3Rz ZWFyY2gvc3BlbGwuYworKysgYi9zcmMvYmFja2VuZC90c2VhcmNoL3NwZWxsLmMKQEAgLTY5 NSw3ICs2OTUsNyBAQCBOSUFkZEFmZml4KElzcGVsbERpY3QgKkNvbmYsIGNvbnN0IGNoYXIg KmZsYWcsIGNoYXIgZmxhZ2ZsYWdzLCBjb25zdCBjaGFyICptYXNrLAogCQlpZiAoQ29uZi0+ bWFmZml4ZXMpCiAJCXsKIAkJCUNvbmYtPm1hZmZpeGVzICo9IDI7Ci0JCQlDb25mLT5BZmZp eCA9IChBRkZJWCAqKSByZXBhbGxvYygodm9pZCAqKSBDb25mLT5BZmZpeCwgQ29uZi0+bWFm Zml4ZXMgKiBzaXplb2YoQUZGSVgpKTsKKwkJCUNvbmYtPkFmZml4ID0gKEFGRklYICopIHJl cGFsbG9jKENvbmYtPkFmZml4LCBDb25mLT5tYWZmaXhlcyAqIHNpemVvZihBRkZJWCkpOwog CQl9CiAJCWVsc2UKIAkJewpAQCAtMTExNiw3ICsxMTE2LDcgQEAgYWRkQ29tcG91bmRBZmZp eEZsYWdWYWx1ZShJc3BlbGxEaWN0ICpDb25mLCBjaGFyICpzLCB1aW50MzIgdmFsKQogCQl7 CiAJCQlDb25mLT5tQ29tcG91bmRBZmZpeEZsYWcgKj0gMjsKIAkJCUNvbmYtPkNvbXBvdW5k QWZmaXhGbGFncyA9IChDb21wb3VuZEFmZml4RmxhZyAqKQotCQkJCXJlcGFsbG9jKCh2b2lk ICopIENvbmYtPkNvbXBvdW5kQWZmaXhGbGFncywKKwkJCQlyZXBhbGxvYyhDb25mLT5Db21w b3VuZEFmZml4RmxhZ3MsCiAJCQkJCQkgQ29uZi0+bUNvbXBvdW5kQWZmaXhGbGFnICogc2l6 ZW9mKENvbXBvdW5kQWZmaXhGbGFnKSk7CiAJCX0KIAkJZWxzZQpkaWZmIC0tZ2l0IGEvc3Jj L2JhY2tlbmQvdHNlYXJjaC90c19wYXJzZS5jIGIvc3JjL2JhY2tlbmQvdHNlYXJjaC90c19w YXJzZS5jCmluZGV4IDliNmQ5MzQ5NTguLjI1ZDk4NTI3NzggMTAwNjQ0Ci0tLSBhL3NyYy9i YWNrZW5kL3RzZWFyY2gvdHNfcGFyc2UuYworKysgYi9zcmMvYmFja2VuZC90c2VhcmNoL3Rz X3BhcnNlLmMKQEAgLTQxMCw3ICs0MTAsNyBAQCBwYXJzZXRleHQoT2lkIGNmZ0lkLCBQYXJz ZWRUZXh0ICpwcnMsIGNoYXIgKmJ1ZiwgaW50IGJ1ZmxlbikKIAkJCQlpZiAocHJzLT5jdXJ3 b3JkcyA9PSBwcnMtPmxlbndvcmRzKQogCQkJCXsKIAkJCQkJcHJzLT5sZW53b3JkcyAqPSAy OwotCQkJCQlwcnMtPndvcmRzID0gKFBhcnNlZFdvcmQgKikgcmVwYWxsb2MoKHZvaWQgKikg cHJzLT53b3JkcywgcHJzLT5sZW53b3JkcyAqIHNpemVvZihQYXJzZWRXb3JkKSk7CisJCQkJ CXBycy0+d29yZHMgPSAoUGFyc2VkV29yZCAqKSByZXBhbGxvYyhwcnMtPndvcmRzLCBwcnMt PmxlbndvcmRzICogc2l6ZW9mKFBhcnNlZFdvcmQpKTsKIAkJCQl9CiAKIAkJCQlpZiAocHRy LT5mbGFncyAmIFRTTF9BRERQT1MpCkBAIC00NDIsNyArNDQyLDcgQEAgaGxhZGR3b3JkKEhl YWRsaW5lUGFyc2VkVGV4dCAqcHJzLCBjaGFyICpidWYsIGludCBidWZsZW4sIGludCB0eXBl KQogCWlmIChwcnMtPmN1cndvcmRzID49IHBycy0+bGVud29yZHMpCiAJewogCQlwcnMtPmxl bndvcmRzICo9IDI7Ci0JCXBycy0+d29yZHMgPSAoSGVhZGxpbmVXb3JkRW50cnkgKikgcmVw YWxsb2MoKHZvaWQgKikgcHJzLT53b3JkcywgcHJzLT5sZW53b3JkcyAqIHNpemVvZihIZWFk bGluZVdvcmRFbnRyeSkpOworCQlwcnMtPndvcmRzID0gKEhlYWRsaW5lV29yZEVudHJ5ICop IHJlcGFsbG9jKHBycy0+d29yZHMsIHBycy0+bGVud29yZHMgKiBzaXplb2YoSGVhZGxpbmVX b3JkRW50cnkpKTsKIAl9CiAJbWVtc2V0KCYocHJzLT53b3Jkc1twcnMtPmN1cndvcmRzXSks IDAsIHNpemVvZihIZWFkbGluZVdvcmRFbnRyeSkpOwogCXBycy0+d29yZHNbcHJzLT5jdXJ3 b3Jkc10udHlwZSA9ICh1aW50OCkgdHlwZTsKQEAgLTQ3MCw3ICs0NzAsNyBAQCBobGZpbmRp dGVtKEhlYWRsaW5lUGFyc2VkVGV4dCAqcHJzLCBUU1F1ZXJ5IHF1ZXJ5LCBpbnQzMiBwb3Ms IGNoYXIgKmJ1ZiwgaW50IGJ1ZgogCXdoaWxlIChwcnMtPmN1cndvcmRzICsgcXVlcnktPnNp emUgPj0gcHJzLT5sZW53b3JkcykKIAl7CiAJCXBycy0+bGVud29yZHMgKj0gMjsKLQkJcHJz LT53b3JkcyA9IChIZWFkbGluZVdvcmRFbnRyeSAqKSByZXBhbGxvYygodm9pZCAqKSBwcnMt PndvcmRzLCBwcnMtPmxlbndvcmRzICogc2l6ZW9mKEhlYWRsaW5lV29yZEVudHJ5KSk7CisJ CXBycy0+d29yZHMgPSAoSGVhZGxpbmVXb3JkRW50cnkgKikgcmVwYWxsb2MocHJzLT53b3Jk cywgcHJzLT5sZW53b3JkcyAqIHNpemVvZihIZWFkbGluZVdvcmRFbnRyeSkpOwogCX0KIAog CXdvcmQgPSAmKHBycy0+d29yZHNbcHJzLT5jdXJ3b3JkcyAtIDFdKTsKZGlmZiAtLWdpdCBh L3NyYy9iYWNrZW5kL3RzZWFyY2gvdHNfdXRpbHMuYyBiL3NyYy9iYWNrZW5kL3RzZWFyY2gv dHNfdXRpbHMuYwppbmRleCBiYjk1NDE4NGQzLi5jNDY4NjdkMDc0IDEwMDY0NAotLS0gYS9z cmMvYmFja2VuZC90c2VhcmNoL3RzX3V0aWxzLmMKKysrIGIvc3JjL2JhY2tlbmQvdHNlYXJj aC90c191dGlscy5jCkBAIC0xMDksNyArMTA5LDcgQEAgcmVhZHN0b3BsaXN0KGNvbnN0IGNo YXIgKmZuYW1lLCBTdG9wTGlzdCAqcywgY2hhciAqKCp3b3Jkb3ApIChjb25zdCBjaGFyICop KQogCQkJCWVsc2UKIAkJCQl7CiAJCQkJCXJlYWxsZW4gKj0gMjsKLQkJCQkJc3RvcCA9IChj aGFyICoqKSByZXBhbGxvYygodm9pZCAqKSBzdG9wLAorCQkJCQlzdG9wID0gKGNoYXIgKiop IHJlcGFsbG9jKHN0b3AsCiAJCQkJCQkJCQkJCSAgc2l6ZW9mKGNoYXIgKikgKiByZWFsbGVu KTsKIAkJCQl9CiAJCQl9CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC91dGlscy9hZHQvdHNn aXN0aWR4LmMgYi9zcmMvYmFja2VuZC91dGlscy9hZHQvdHNnaXN0aWR4LmMKaW5kZXggZjA0 MTFiZjQ4Zi4uYTM2MGIyNmVlMiAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvdXRpbHMvYWR0 L3RzZ2lzdGlkeC5jCisrKyBiL3NyYy9iYWNrZW5kL3V0aWxzL2FkdC90c2dpc3RpZHguYwpA QCAtMjA0LDcgKzIwNCw3IEBAIGd0c3ZlY3Rvcl9jb21wcmVzcyhQR19GVU5DVElPTl9BUkdT KQogCQkJICogdmFsLT5zaXplCiAJCQkgKi8KIAkJCWxlbiA9IENBTENHVFNJWkUoQVJSS0VZ LCBsZW4pOwotCQkJcmVzID0gKFNpZ25UU1ZlY3RvciAqKSByZXBhbGxvYygodm9pZCAqKSBy ZXMsIGxlbik7CisJCQlyZXMgPSAoU2lnblRTVmVjdG9yICopIHJlcGFsbG9jKHJlcywgbGVu KTsKIAkJCVNFVF9WQVJTSVpFKHJlcywgbGVuKTsKIAkJfQogCmRpZmYgLS1naXQgYS9zcmMv YmFja2VuZC91dGlscy9hZHQvdHNxdWVyeS5jIGIvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L3Rz cXVlcnkuYwppbmRleCAyNTE1MGM2ZDE2Li5lMjJhMmMyMGEwIDEwMDY0NAotLS0gYS9zcmMv YmFja2VuZC91dGlscy9hZHQvdHNxdWVyeS5jCisrKyBiL3NyYy9iYWNrZW5kL3V0aWxzL2Fk dC90c3F1ZXJ5LmMKQEAgLTYwMiw3ICs2MDIsNyBAQCBwdXNoVmFsdWUoVFNRdWVyeVBhcnNl clN0YXRlIHN0YXRlLCBjaGFyICpzdHJ2YWwsIGludCBsZW52YWwsIGludDE2IHdlaWdodCwg Ym9vbAogCQlpbnQJCQl1c2VkID0gc3RhdGUtPmN1cm9wIC0gc3RhdGUtPm9wOwogCiAJCXN0 YXRlLT5sZW5vcCAqPSAyOwotCQlzdGF0ZS0+b3AgPSAoY2hhciAqKSByZXBhbGxvYygodm9p ZCAqKSBzdGF0ZS0+b3AsIHN0YXRlLT5sZW5vcCk7CisJCXN0YXRlLT5vcCA9IChjaGFyICop IHJlcGFsbG9jKHN0YXRlLT5vcCwgc3RhdGUtPmxlbm9wKTsKIAkJc3RhdGUtPmN1cm9wID0g c3RhdGUtPm9wICsgdXNlZDsKIAl9CiAJbWVtY3B5KCh2b2lkICopIHN0YXRlLT5jdXJvcCwg KHZvaWQgKikgc3RydmFsLCBsZW52YWwpOwpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvdXRp bHMvYWR0L3RzcXVlcnlfY2xlYW51cC5jIGIvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L3RzcXVl cnlfY2xlYW51cC5jCmluZGV4IDU5YjNlODU5YzMuLjdiOTIxMGMzMjEgMTAwNjQ0Ci0tLSBh L3NyYy9iYWNrZW5kL3V0aWxzL2FkdC90c3F1ZXJ5X2NsZWFudXAuYworKysgYi9zcmMvYmFj a2VuZC91dGlscy9hZHQvdHNxdWVyeV9jbGVhbnVwLmMKQEAgLTY3LDcgKzY3LDcgQEAgcGxh aW5ub2RlKFBMQUlOVFJFRSAqc3RhdGUsIE5PREUgKm5vZGUpCiAJaWYgKHN0YXRlLT5jdXIg PT0gc3RhdGUtPmxlbikKIAl7CiAJCXN0YXRlLT5sZW4gKj0gMjsKLQkJc3RhdGUtPnB0ciA9 IChRdWVyeUl0ZW0gKikgcmVwYWxsb2MoKHZvaWQgKikgc3RhdGUtPnB0ciwgc3RhdGUtPmxl biAqIHNpemVvZihRdWVyeUl0ZW0pKTsKKwkJc3RhdGUtPnB0ciA9IChRdWVyeUl0ZW0gKikg cmVwYWxsb2Moc3RhdGUtPnB0ciwgc3RhdGUtPmxlbiAqIHNpemVvZihRdWVyeUl0ZW0pKTsK IAl9CiAJbWVtY3B5KCh2b2lkICopICYoc3RhdGUtPnB0cltzdGF0ZS0+Y3VyXSksICh2b2lk ICopIG5vZGUtPnZhbG5vZGUsIHNpemVvZihRdWVyeUl0ZW0pKTsKIAlpZiAobm9kZS0+dmFs bm9kZS0+dHlwZSA9PSBRSV9WQUwpCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC91dGlscy9h ZHQvdHN2ZWN0b3IuYyBiL3NyYy9iYWNrZW5kL3V0aWxzL2FkdC90c3ZlY3Rvci5jCmluZGV4 IGM3ZTIwY2U0ZWMuLjc3NjczODY0YTIgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3V0aWxz L2FkdC90c3ZlY3Rvci5jCisrKyBiL3NyYy9iYWNrZW5kL3V0aWxzL2FkdC90c3ZlY3Rvci5j CkBAIC0yMzIsMTQgKzIzMiwxNCBAQCB0c3ZlY3RvcmluKFBHX0ZVTkNUSU9OX0FSR1MpCiAJ CXsKIAkJCWFycmxlbiAqPSAyOwogCQkJYXJyID0gKFdvcmRFbnRyeUlOICopCi0JCQkJcmVw YWxsb2MoKHZvaWQgKikgYXJyLCBzaXplb2YoV29yZEVudHJ5SU4pICogYXJybGVuKTsKKwkJ CQlyZXBhbGxvYyhhcnIsIHNpemVvZihXb3JkRW50cnlJTikgKiBhcnJsZW4pOwogCQl9CiAJ CXdoaWxlICgoY3VyIC0gdG1wYnVmKSArIHRva2xlbiA+PSBidWZsZW4pCiAJCXsKIAkJCWlu dAkJCWRpc3QgPSBjdXIgLSB0bXBidWY7CiAKIAkJCWJ1ZmxlbiAqPSAyOwotCQkJdG1wYnVm ID0gKGNoYXIgKikgcmVwYWxsb2MoKHZvaWQgKikgdG1wYnVmLCBidWZsZW4pOworCQkJdG1w YnVmID0gKGNoYXIgKikgcmVwYWxsb2ModG1wYnVmLCBidWZsZW4pOwogCQkJY3VyID0gdG1w YnVmICsgZGlzdDsKIAkJfQogCQlhcnJbbGVuXS5lbnRyeS5sZW4gPSB0b2tsZW47Ci0tIAoy LjM5LjEKCg== --------------jM0jQQl2n2T7n2hVBs6V0gOs Content-Type: text/plain; charset=UTF-8; name="0003-Remove-useless-casts-to-void-memcpy.patch" Content-Disposition: attachment; filename="0003-Remove-useless-casts-to-void-memcpy.patch" Content-Transfer-Encoding: base64 RnJvbSA1MTA0ZmU4ZDNjMjU2OWQ3NGVmNzc2MjY2ODRkOWEzODM3MmQzNmY4IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQZXRlciBFaXNlbnRyYXV0IDxwZXRlckBlaXNlbnRy YXV0Lm9yZz4KRGF0ZTogVGh1LCAyIEZlYiAyMDIzIDIzOjAyOjM0ICswMTAwClN1YmplY3Q6 IFtQQVRDSCAzLzhdIFJlbW92ZSB1c2VsZXNzIGNhc3RzIHRvICh2b2lkICopIChtZW1jcHkp CgotLS0KIGNvbnRyaWIvYnRyZWVfZ2lzdC9idHJlZV9iaXQuYyAgICAgICAgICB8IDIgKy0K IGNvbnRyaWIvYnRyZWVfZ2lzdC9idHJlZV9pbnRlcnZhbC5jICAgICB8IDQgKystLQogY29u dHJpYi9idHJlZV9naXN0L2J0cmVlX3V0aWxzX251bS5jICAgIHwgNiArKystLS0KIGNvbnRy aWIvYnRyZWVfZ2lzdC9idHJlZV91dWlkLmMgICAgICAgICB8IDQgKystLQogY29udHJpYi9s dHJlZS9sdHh0cXVlcnlfaW8uYyAgICAgICAgICAgIHwgNCArKy0tCiBjb250cmliL3BnX3Ry Z20vdHJnbV9naXN0LmMgICAgICAgICAgICAgfCAyICstCiBkb2Mvc3JjL3NnbWwveGZ1bmMu c2dtbCAgICAgICAgICAgICAgICAgfCA0ICsrLS0KIHNyYy9iYWNrZW5kL2FjY2Vzcy9naXN0 L2dpc3Rwcm9jLmMgICAgICB8IDQgKystLQogc3JjL2JhY2tlbmQvc3RvcmFnZS9pcGMvcHJv Y2FycmF5LmMgICAgIHwgNCArKy0tCiBzcmMvYmFja2VuZC91dGlscy9hZHQvdHNnaXN0aWR4 LmMgICAgICAgfCAyICstCiBzcmMvYmFja2VuZC91dGlscy9hZHQvdHNxdWVyeS5jICAgICAg ICAgfCA0ICsrLS0KIHNyYy9iYWNrZW5kL3V0aWxzL2FkdC90c3F1ZXJ5X2NsZWFudXAuYyB8 IDIgKy0KIHNyYy9iYWNrZW5kL3V0aWxzL2FkdC90c3ZlY3Rvci5jICAgICAgICB8IDIgKy0K IHNyYy90dXRvcmlhbC9mdW5jcy5jICAgICAgICAgICAgICAgICAgICB8IDQgKystLQogMTQg ZmlsZXMgY2hhbmdlZCwgMjQgaW5zZXJ0aW9ucygrKSwgMjQgZGVsZXRpb25zKC0pCgpkaWZm IC0tZ2l0IGEvY29udHJpYi9idHJlZV9naXN0L2J0cmVlX2JpdC5jIGIvY29udHJpYi9idHJl ZV9naXN0L2J0cmVlX2JpdC5jCmluZGV4IDViMjQ2YmNkZTQuLjY3OTBmMjJiNGIgMTAwNjQ0 Ci0tLSBhL2NvbnRyaWIvYnRyZWVfZ2lzdC9idHJlZV9iaXQuYworKysgYi9jb250cmliL2J0 cmVlX2dpc3QvYnRyZWVfYml0LmMKQEAgLTg0LDcgKzg0LDcgQEAgZ2J0X2JpdF94ZnJtKGJ5 dGVhICpsZWFmKQogCXdoaWxlIChzeiA8IHBhZGRlZF9zeikKIAkJKChjaGFyICopIG91dClb c3orK10gPSAwOwogCVNFVF9WQVJTSVpFKG91dCwgcGFkZGVkX3N6KTsKLQltZW1jcHkoKHZv aWQgKikgVkFSREFUQShvdXQpLCAodm9pZCAqKSBWQVJCSVRTKGxlYWYpLCBWQVJCSVRCWVRF UyhsZWFmKSk7CisJbWVtY3B5KFZBUkRBVEEob3V0KSwgVkFSQklUUyhsZWFmKSwgVkFSQklU QllURVMobGVhZikpOwogCXJldHVybiBvdXQ7CiB9CiAKZGlmZiAtLWdpdCBhL2NvbnRyaWIv YnRyZWVfZ2lzdC9idHJlZV9pbnRlcnZhbC5jIGIvY29udHJpYi9idHJlZV9naXN0L2J0cmVl X2ludGVydmFsLmMKaW5kZXggMmM5OGIzMzBjZC4uYjBhZmRmMDJiYiAxMDA2NDQKLS0tIGEv Y29udHJpYi9idHJlZV9naXN0L2J0cmVlX2ludGVydmFsLmMKKysrIGIvY29udHJpYi9idHJl ZV9naXN0L2J0cmVlX2ludGVydmFsLmMKQEAgLTE1Nyw4ICsxNTcsOCBAQCBnYnRfaW50dl9j b21wcmVzcyhQR19GVU5DVElPTl9BUkdTKQogCQl7CiAJCQlJbnRlcnZhbCAgICprZXkgPSBE YXR1bUdldEludGVydmFsUChlbnRyeS0+a2V5KTsKIAotCQkJbWVtY3B5KCh2b2lkICopIHIs ICh2b2lkICopIGtleSwgSU5URVJWQUxTSVpFKTsKLQkJCW1lbWNweSgodm9pZCAqKSAociAr IElOVEVSVkFMU0laRSksICh2b2lkICopIGtleSwgSU5URVJWQUxTSVpFKTsKKwkJCW1lbWNw eShyLCBrZXksIElOVEVSVkFMU0laRSk7CisJCQltZW1jcHkociArIElOVEVSVkFMU0laRSwg a2V5LCBJTlRFUlZBTFNJWkUpOwogCQl9CiAJCWVsc2UKIAkJewpkaWZmIC0tZ2l0IGEvY29u dHJpYi9idHJlZV9naXN0L2J0cmVlX3V0aWxzX251bS5jIGIvY29udHJpYi9idHJlZV9naXN0 L2J0cmVlX3V0aWxzX251bS5jCmluZGV4IDA1YzE1NGFmYTMuLmNmYmVjYmVhNjUgMTAwNjQ0 Ci0tLSBhL2NvbnRyaWIvYnRyZWVfZ2lzdC9idHJlZV91dGlsc19udW0uYworKysgYi9jb250 cmliL2J0cmVlX2dpc3QvYnRyZWVfdXRpbHNfbnVtLmMKQEAgLTg3LDggKzg3LDggQEAgZ2J0 X251bV9jb21wcmVzcyhHSVNURU5UUlkgKmVudHJ5LCBjb25zdCBnYnRyZWVfbmluZm8gKnRp bmZvKQogCiAJCUFzc2VydCh0aW5mby0+aW5kZXhzaXplID49IDIgKiB0aW5mby0+c2l6ZSk7 CiAKLQkJbWVtY3B5KCh2b2lkICopICZyWzBdLCBsZWFmLCB0aW5mby0+c2l6ZSk7Ci0JCW1l bWNweSgodm9pZCAqKSAmclt0aW5mby0+c2l6ZV0sIGxlYWYsIHRpbmZvLT5zaXplKTsKKwkJ bWVtY3B5KCZyWzBdLCBsZWFmLCB0aW5mby0+c2l6ZSk7CisJCW1lbWNweSgmclt0aW5mby0+ c2l6ZV0sIGxlYWYsIHRpbmZvLT5zaXplKTsKIAkJcmV0dmFsID0gcGFsbG9jKHNpemVvZihH SVNURU5UUlkpKTsKIAkJZ2lzdGVudHJ5aW5pdCgqcmV0dmFsLCBQb2ludGVyR2V0RGF0dW0o ciksIGVudHJ5LT5yZWwsIGVudHJ5LT5wYWdlLAogCQkJCQkgIGVudHJ5LT5vZmZzZXQsIGZh bHNlKTsKQEAgLTE4NCw3ICsxODQsNyBAQCBnYnRfbnVtX3VuaW9uKEdCVF9OVU1LRVkgKm91 dCwgY29uc3QgR2lzdEVudHJ5VmVjdG9yICplbnRyeXZlYywgY29uc3QgZ2J0cmVlX25pbgog CW8ubG93ZXIgPSAmKChHQlRfTlVNS0VZICopIG91dClbMF07CiAJby51cHBlciA9ICYoKEdC VF9OVU1LRVkgKikgb3V0KVt0aW5mby0+c2l6ZV07CiAKLQltZW1jcHkoKHZvaWQgKikgb3V0 LCAodm9pZCAqKSBjdXIsIDIgKiB0aW5mby0+c2l6ZSk7CisJbWVtY3B5KG91dCwgY3VyLCAy ICogdGluZm8tPnNpemUpOwogCiAJZm9yIChpID0gMTsgaSA8IG51bXJhbmdlczsgaSsrKQog CXsKZGlmZiAtLWdpdCBhL2NvbnRyaWIvYnRyZWVfZ2lzdC9idHJlZV91dWlkLmMgYi9jb250 cmliL2J0cmVlX2dpc3QvYnRyZWVfdXVpZC5jCmluZGV4IGI4MTg3NTk3OWEuLmZlOGM2Nzlj YmUgMTAwNjQ0Ci0tLSBhL2NvbnRyaWIvYnRyZWVfZ2lzdC9idHJlZV91dWlkLmMKKysrIGIv Y29udHJpYi9idHJlZV9naXN0L2J0cmVlX3V1aWQuYwpAQCAtMTEwLDggKzExMCw4IEBAIGdi dF91dWlkX2NvbXByZXNzKFBHX0ZVTkNUSU9OX0FSR1MpCiAKIAkJcmV0dmFsID0gcGFsbG9j KHNpemVvZihHSVNURU5UUlkpKTsKIAotCQltZW1jcHkoKHZvaWQgKikgciwgKHZvaWQgKikg a2V5LCBVVUlEX0xFTik7Ci0JCW1lbWNweSgodm9pZCAqKSAociArIFVVSURfTEVOKSwgKHZv aWQgKikga2V5LCBVVUlEX0xFTik7CisJCW1lbWNweShyLCBrZXksIFVVSURfTEVOKTsKKwkJ bWVtY3B5KHIgKyBVVUlEX0xFTiwga2V5LCBVVUlEX0xFTik7CiAJCWdpc3RlbnRyeWluaXQo KnJldHZhbCwgUG9pbnRlckdldERhdHVtKHIpLAogCQkJCQkgIGVudHJ5LT5yZWwsIGVudHJ5 LT5wYWdlLAogCQkJCQkgIGVudHJ5LT5vZmZzZXQsIGZhbHNlKTsKZGlmZiAtLWdpdCBhL2Nv bnRyaWIvbHRyZWUvbHR4dHF1ZXJ5X2lvLmMgYi9jb250cmliL2x0cmVlL2x0eHRxdWVyeV9p by5jCmluZGV4IDgyZDYxN2YxYWUuLjBkMjllMTU2MzAgMTAwNjQ0Ci0tLSBhL2NvbnRyaWIv bHRyZWUvbHR4dHF1ZXJ5X2lvLmMKKysrIGIvY29udHJpYi9sdHJlZS9sdHh0cXVlcnlfaW8u YwpAQCAtMTk4LDcgKzE5OCw3IEBAIHB1c2h2YWxfYXNpcyhRUFJTX1NUQVRFICpzdGF0ZSwg aW50IHR5cGUsIGNoYXIgKnN0cnZhbCwgaW50IGxlbnZhbCwgdWludDE2IGZsYWcpCiAJCXN0 YXRlLT5vcCA9IChjaGFyICopIHJlcGFsbG9jKHN0YXRlLT5vcCwgc3RhdGUtPmxlbm9wKTsK IAkJc3RhdGUtPmN1cm9wID0gc3RhdGUtPm9wICsgdG1wOwogCX0KLQltZW1jcHkoKHZvaWQg Kikgc3RhdGUtPmN1cm9wLCAodm9pZCAqKSBzdHJ2YWwsIGxlbnZhbCk7CisJbWVtY3B5KHN0 YXRlLT5jdXJvcCwgc3RydmFsLCBsZW52YWwpOwogCXN0YXRlLT5jdXJvcCArPSBsZW52YWw7 CiAJKihzdGF0ZS0+Y3Vyb3ApID0gJ1wwJzsKIAlzdGF0ZS0+Y3Vyb3ArKzsKQEAgLTM5MSw3 ICszOTEsNyBAQCBxdWVyeWluKGNoYXIgKmJ1Ziwgc3RydWN0IE5vZGUgKmVzY29udGV4dCkK IAl9CiAKIAkvKiBzZXQgdXNlci1mcmllbmRseSBvcGVyYW5kIHZpZXcgKi8KLQltZW1jcHko KHZvaWQgKikgR0VUT1BFUkFORChxdWVyeSksICh2b2lkICopIHN0YXRlLm9wLCBzdGF0ZS5z dW1sZW4pOworCW1lbWNweShHRVRPUEVSQU5EKHF1ZXJ5KSwgc3RhdGUub3AsIHN0YXRlLnN1 bWxlbik7CiAJcGZyZWUoc3RhdGUub3ApOwogCiAJLyogc2V0IGxlZnQgb3BlcmFuZCdzIHBv c2l0aW9uIGZvciBldmVyeSBvcGVyYXRvciAqLwpkaWZmIC0tZ2l0IGEvY29udHJpYi9wZ190 cmdtL3RyZ21fZ2lzdC5jIGIvY29udHJpYi9wZ190cmdtL3RyZ21fZ2lzdC5jCmluZGV4IGVm NWQ4Y2NhNzguLjY4ZWJmMTc2N2IgMTAwNjQ0Ci0tLSBhL2NvbnRyaWIvcGdfdHJnbS90cmdt X2dpc3QuYworKysgYi9jb250cmliL3BnX3RyZ20vdHJnbV9naXN0LmMKQEAgLTc1NSw3ICs3 NTUsNyBAQCBmaWxsY2FjaGUoQ0FDSEVTSUdOICppdGVtLCBUUkdNICprZXksIEJJVFZFQ1Ag c2lnbiwgaW50IHNpZ2xlbikKIAllbHNlIGlmIChJU0FMTFRSVUUoa2V5KSkKIAkJaXRlbS0+ YWxsaXN0cnVlID0gdHJ1ZTsKIAllbHNlCi0JCW1lbWNweSgodm9pZCAqKSBpdGVtLT5zaWdu LCAodm9pZCAqKSBHRVRTSUdOKGtleSksIHNpZ2xlbik7CisJCW1lbWNweShpdGVtLT5zaWdu LCBHRVRTSUdOKGtleSksIHNpZ2xlbik7CiB9CiAKICNkZWZpbmUgV0lTSF9GKGEsYixjKSAo ZG91YmxlKSggLShkb3VibGUpKCgoYSktKGIpKSooKGEpLShiKSkqKChhKS0oYikpKSooYykg KQpkaWZmIC0tZ2l0IGEvZG9jL3NyYy9zZ21sL3hmdW5jLnNnbWwgYi9kb2Mvc3JjL3NnbWwv eGZ1bmMuc2dtbAppbmRleCA1MmU1YWExN2JmLi5lMmE1NDk2YzM0IDEwMDY0NAotLS0gYS9k b2Mvc3JjL3NnbWwveGZ1bmMuc2dtbAorKysgYi9kb2Mvc3JjL3NnbWwveGZ1bmMuc2dtbApA QCAtMjQ1Niw4ICsyNDU2LDggQEAgPHRpdGxlPlZlcnNpb24gMSBDYWxsaW5nIENvbnZlbnRp b25zPC90aXRsZT4KICAgICAgKiBWQVJEQVRBIGlzIGEgcG9pbnRlciB0byB0aGUgZGF0YSBy ZWdpb24gb2YgdGhlIG5ldyBzdHJ1Y3QuICBUaGUgc291cmNlCiAgICAgICogY291bGQgYmUg YSBzaG9ydCBkYXR1bSwgc28gcmV0cmlldmUgaXRzIGRhdGEgdGhyb3VnaCBWQVJEQVRBX0FO WS4KICAgICAgKi8KLSAgICBtZW1jcHkoKHZvaWQgKikgVkFSREFUQShuZXdfdCksIC8qIGRl c3RpbmF0aW9uICovCi0gICAgICAgICAgICh2b2lkICopIFZBUkRBVEFfQU5ZKHQpLCAvKiBz b3VyY2UgKi8KKyAgICBtZW1jcHkoVkFSREFUQShuZXdfdCksICAgICAgICAgIC8qIGRlc3Rp bmF0aW9uICovCisgICAgICAgICAgIFZBUkRBVEFfQU5ZKHQpLCAgICAgICAgICAvKiBzb3Vy Y2UgKi8KICAgICAgICAgICAgVkFSU0laRV9BTllfRVhIRFIodCkpOyAgIC8qIGhvdyBtYW55 IGJ5dGVzICovCiAgICAgUEdfUkVUVVJOX1RFWFRfUChuZXdfdCk7CiB9CmRpZmYgLS1naXQg YS9zcmMvYmFja2VuZC9hY2Nlc3MvZ2lzdC9naXN0cHJvYy5jIGIvc3JjL2JhY2tlbmQvYWNj ZXNzL2dpc3QvZ2lzdHByb2MuYwppbmRleCBlYjkxNzhkNDU2Li40ODgxMDM0MDY5IDEwMDY0 NAotLS0gYS9zcmMvYmFja2VuZC9hY2Nlc3MvZ2lzdC9naXN0cHJvYy5jCisrKyBiL3NyYy9i YWNrZW5kL2FjY2Vzcy9naXN0L2dpc3Rwcm9jLmMKQEAgLTE3Myw3ICsxNzMsNyBAQCBnaXN0 X2JveF91bmlvbihQR19GVU5DVElPTl9BUkdTKQogCW51bXJhbmdlcyA9IGVudHJ5dmVjLT5u OwogCXBhZ2V1bmlvbiA9IChCT1ggKikgcGFsbG9jKHNpemVvZihCT1gpKTsKIAljdXIgPSBE YXR1bUdldEJveFAoZW50cnl2ZWMtPnZlY3RvclswXS5rZXkpOwotCW1lbWNweSgodm9pZCAq KSBwYWdldW5pb24sICh2b2lkICopIGN1ciwgc2l6ZW9mKEJPWCkpOworCW1lbWNweShwYWdl dW5pb24sIGN1ciwgc2l6ZW9mKEJPWCkpOwogCiAJZm9yIChpID0gMTsgaSA8IG51bXJhbmdl czsgaSsrKQogCXsKQEAgLTEwNDMsNyArMTA0Myw3IEBAIGdpc3RfcG9seV9jb21wcmVzcyhQ R19GVU5DVElPTl9BUkdTKQogCQlCT1gJCSAgICpyOwogCiAJCXIgPSAoQk9YICopIHBhbGxv YyhzaXplb2YoQk9YKSk7Ci0JCW1lbWNweSgodm9pZCAqKSByLCAodm9pZCAqKSAmKGluLT5i b3VuZGJveCksIHNpemVvZihCT1gpKTsKKwkJbWVtY3B5KHIsICYoaW4tPmJvdW5kYm94KSwg c2l6ZW9mKEJPWCkpOwogCiAJCXJldHZhbCA9IChHSVNURU5UUlkgKikgcGFsbG9jKHNpemVv ZihHSVNURU5UUlkpKTsKIAkJZ2lzdGVudHJ5aW5pdCgqcmV0dmFsLCBQb2ludGVyR2V0RGF0 dW0ociksCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9zdG9yYWdlL2lwYy9wcm9jYXJyYXku YyBiL3NyYy9iYWNrZW5kL3N0b3JhZ2UvaXBjL3Byb2NhcnJheS5jCmluZGV4IDQzNDBiZjk2 NDEuLmE3MDcxYjJmY2UgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3N0b3JhZ2UvaXBjL3By b2NhcnJheS5jCisrKyBiL3NyYy9iYWNrZW5kL3N0b3JhZ2UvaXBjL3Byb2NhcnJheS5jCkBA IC0yMzk0LDcgKzIzOTQsNyBAQCBHZXRTbmFwc2hvdERhdGEoU25hcHNob3Qgc25hcHNob3Qp CiAJCQkJCQlwZ19yZWFkX2JhcnJpZXIoKTsJLyogcGFpcnMgd2l0aCBHZXROZXdUcmFuc2Fj dGlvbklkICovCiAKIAkJCQkJCW1lbWNweShzbmFwc2hvdC0+c3VieGlwICsgc3ViY291bnQs Ci0JCQkJCQkJICAgKHZvaWQgKikgcHJvYy0+c3VieGlkcy54aWRzLAorCQkJCQkJCSAgIHBy b2MtPnN1YnhpZHMueGlkcywKIAkJCQkJCQkgICBuc3VieGlkcyAqIHNpemVvZihUcmFuc2Fj dGlvbklkKSk7CiAJCQkJCQlzdWJjb3VudCArPSBuc3VieGlkczsKIAkJCQkJfQpAQCAtMjg0 Niw3ICsyODQ2LDcgQEAgR2V0UnVubmluZ1RyYW5zYWN0aW9uRGF0YSh2b2lkKQogCQkJCS8q IGJhcnJpZXIgbm90IHJlYWxseSByZXF1aXJlZCwgYXMgWGlkR2VuTG9jayBpcyBoZWxkLCBi dXQgLi4uICovCiAJCQkJcGdfcmVhZF9iYXJyaWVyKCk7CS8qIHBhaXJzIHdpdGggR2V0TmV3 VHJhbnNhY3Rpb25JZCAqLwogCi0JCQkJbWVtY3B5KCZ4aWRzW2NvdW50XSwgKHZvaWQgKikg cHJvYy0+c3VieGlkcy54aWRzLAorCQkJCW1lbWNweSgmeGlkc1tjb3VudF0sIHByb2MtPnN1 YnhpZHMueGlkcywKIAkJCQkJICAgbnN1YnhpZHMgKiBzaXplb2YoVHJhbnNhY3Rpb25JZCkp OwogCQkJCWNvdW50ICs9IG5zdWJ4aWRzOwogCQkJCXN1YmNvdW50ICs9IG5zdWJ4aWRzOwpk aWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L3RzZ2lzdGlkeC5jIGIvc3JjL2Jh Y2tlbmQvdXRpbHMvYWR0L3RzZ2lzdGlkeC5jCmluZGV4IGEzNjBiMjZlZTIuLmUyN2UwOGQ5 OTYgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3V0aWxzL2FkdC90c2dpc3RpZHguYworKysg Yi9zcmMvYmFja2VuZC91dGlscy9hZHQvdHNnaXN0aWR4LmMKQEAgLTU3Nyw3ICs1NzcsNyBA QCBmaWxsY2FjaGUoQ0FDSEVTSUdOICppdGVtLCBTaWduVFNWZWN0b3IgKmtleSwgaW50IHNp Z2xlbikKIAllbHNlIGlmIChJU0FMTFRSVUUoa2V5KSkKIAkJaXRlbS0+YWxsaXN0cnVlID0g dHJ1ZTsKIAllbHNlCi0JCW1lbWNweSgodm9pZCAqKSBpdGVtLT5zaWduLCAodm9pZCAqKSBH RVRTSUdOKGtleSksIHNpZ2xlbik7CisJCW1lbWNweShpdGVtLT5zaWduLCBHRVRTSUdOKGtl eSksIHNpZ2xlbik7CiB9CiAKICNkZWZpbmUgV0lTSF9GKGEsYixjKSAoZG91YmxlKSggLShk b3VibGUpKCgoYSktKGIpKSooKGEpLShiKSkqKChhKS0oYikpKSooYykgKQpkaWZmIC0tZ2l0 IGEvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L3RzcXVlcnkuYyBiL3NyYy9iYWNrZW5kL3V0aWxz L2FkdC90c3F1ZXJ5LmMKaW5kZXggZTIyYTJjMjBhMC4uNjdhZDg3NmEyNyAxMDA2NDQKLS0t IGEvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L3RzcXVlcnkuYworKysgYi9zcmMvYmFja2VuZC91 dGlscy9hZHQvdHNxdWVyeS5jCkBAIC02MDUsNyArNjA1LDcgQEAgcHVzaFZhbHVlKFRTUXVl cnlQYXJzZXJTdGF0ZSBzdGF0ZSwgY2hhciAqc3RydmFsLCBpbnQgbGVudmFsLCBpbnQxNiB3 ZWlnaHQsIGJvb2wKIAkJc3RhdGUtPm9wID0gKGNoYXIgKikgcmVwYWxsb2Moc3RhdGUtPm9w LCBzdGF0ZS0+bGVub3ApOwogCQlzdGF0ZS0+Y3Vyb3AgPSBzdGF0ZS0+b3AgKyB1c2VkOwog CX0KLQltZW1jcHkoKHZvaWQgKikgc3RhdGUtPmN1cm9wLCAodm9pZCAqKSBzdHJ2YWwsIGxl bnZhbCk7CisJbWVtY3B5KHN0YXRlLT5jdXJvcCwgc3RydmFsLCBsZW52YWwpOwogCXN0YXRl LT5jdXJvcCArPSBsZW52YWw7CiAJKihzdGF0ZS0+Y3Vyb3ApID0gJ1wwJzsKIAlzdGF0ZS0+ Y3Vyb3ArKzsKQEAgLTkyNCw3ICs5MjQsNyBAQCBwYXJzZV90c3F1ZXJ5KGNoYXIgKmJ1ZiwK IAl9CiAKIAkvKiBDb3B5IGFsbCB0aGUgb3BlcmFuZCBzdHJpbmdzIHRvIFRTUXVlcnkgKi8K LQltZW1jcHkoKHZvaWQgKikgR0VUT1BFUkFORChxdWVyeSksICh2b2lkICopIHN0YXRlLm9w LCBzdGF0ZS5zdW1sZW4pOworCW1lbWNweShHRVRPUEVSQU5EKHF1ZXJ5KSwgc3RhdGUub3As IHN0YXRlLnN1bWxlbik7CiAJcGZyZWUoc3RhdGUub3ApOwogCiAJLyoKZGlmZiAtLWdpdCBh L3NyYy9iYWNrZW5kL3V0aWxzL2FkdC90c3F1ZXJ5X2NsZWFudXAuYyBiL3NyYy9iYWNrZW5k L3V0aWxzL2FkdC90c3F1ZXJ5X2NsZWFudXAuYwppbmRleCA3YjkyMTBjMzIxLi5kYzMxNjY1 NzcwIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC91dGlscy9hZHQvdHNxdWVyeV9jbGVhbnVw LmMKKysrIGIvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L3RzcXVlcnlfY2xlYW51cC5jCkBAIC02 OSw3ICs2OSw3IEBAIHBsYWlubm9kZShQTEFJTlRSRUUgKnN0YXRlLCBOT0RFICpub2RlKQog CQlzdGF0ZS0+bGVuICo9IDI7CiAJCXN0YXRlLT5wdHIgPSAoUXVlcnlJdGVtICopIHJlcGFs bG9jKHN0YXRlLT5wdHIsIHN0YXRlLT5sZW4gKiBzaXplb2YoUXVlcnlJdGVtKSk7CiAJfQot CW1lbWNweSgodm9pZCAqKSAmKHN0YXRlLT5wdHJbc3RhdGUtPmN1cl0pLCAodm9pZCAqKSBu b2RlLT52YWxub2RlLCBzaXplb2YoUXVlcnlJdGVtKSk7CisJbWVtY3B5KCYoc3RhdGUtPnB0 cltzdGF0ZS0+Y3VyXSksIG5vZGUtPnZhbG5vZGUsIHNpemVvZihRdWVyeUl0ZW0pKTsKIAlp ZiAobm9kZS0+dmFsbm9kZS0+dHlwZSA9PSBRSV9WQUwpCiAJCXN0YXRlLT5jdXIrKzsKIAll bHNlIGlmIChub2RlLT52YWxub2RlLT5xb3BlcmF0b3Iub3BlciA9PSBPUF9OT1QpCmRpZmYg LS1naXQgYS9zcmMvYmFja2VuZC91dGlscy9hZHQvdHN2ZWN0b3IuYyBiL3NyYy9iYWNrZW5k L3V0aWxzL2FkdC90c3ZlY3Rvci5jCmluZGV4IDc3NjczODY0YTIuLmU1YjA1OTYwZTMgMTAw NjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3V0aWxzL2FkdC90c3ZlY3Rvci5jCisrKyBiL3NyYy9i YWNrZW5kL3V0aWxzL2FkdC90c3ZlY3Rvci5jCkBAIC0yNDQsNyArMjQ0LDcgQEAgdHN2ZWN0 b3JpbihQR19GVU5DVElPTl9BUkdTKQogCQl9CiAJCWFycltsZW5dLmVudHJ5LmxlbiA9IHRv a2xlbjsKIAkJYXJyW2xlbl0uZW50cnkucG9zID0gY3VyIC0gdG1wYnVmOwotCQltZW1jcHko KHZvaWQgKikgY3VyLCAodm9pZCAqKSB0b2tlbiwgdG9rbGVuKTsKKwkJbWVtY3B5KGN1ciwg dG9rZW4sIHRva2xlbik7CiAJCWN1ciArPSB0b2tsZW47CiAKIAkJaWYgKHBvc2xlbiAhPSAw KQpkaWZmIC0tZ2l0IGEvc3JjL3R1dG9yaWFsL2Z1bmNzLmMgYi9zcmMvdHV0b3JpYWwvZnVu Y3MuYwppbmRleCBjZGQxNTVlYmJkLi5jZWZmYjU2ODM1IDEwMDY0NAotLS0gYS9zcmMvdHV0 b3JpYWwvZnVuY3MuYworKysgYi9zcmMvdHV0b3JpYWwvZnVuY3MuYwpAQCAtNzgsOCArNzgs OCBAQCBjb3B5dGV4dChQR19GVU5DVElPTl9BUkdTKQogCSAqIFZBUkRBVEEgaXMgYSBwb2lu dGVyIHRvIHRoZSBkYXRhIHJlZ2lvbiBvZiB0aGUgbmV3IHN0cnVjdC4gIFRoZSBzb3VyY2UK IAkgKiBjb3VsZCBiZSBhIHNob3J0IGRhdHVtLCBzbyByZXRyaWV2ZSBpdHMgZGF0YSB0aHJv dWdoIFZBUkRBVEFfQU5ZLgogCSAqLwotCW1lbWNweSgodm9pZCAqKSBWQVJEQVRBKG5ld190 KSwgLyogZGVzdGluYXRpb24gKi8KLQkJICAgKHZvaWQgKikgVkFSREFUQV9BTlkodCksIC8q IHNvdXJjZSAqLworCW1lbWNweShWQVJEQVRBKG5ld190KSwgICAgICAgICAgLyogZGVzdGlu YXRpb24gKi8KKwkJICAgVkFSREFUQV9BTlkodCksICAgICAgICAgIC8qIHNvdXJjZSAqLwog CQkgICBWQVJTSVpFX0FOWV9FWEhEUih0KSk7CS8qIGhvdyBtYW55IGJ5dGVzICovCiAJUEdf UkVUVVJOX1RFWFRfUChuZXdfdCk7CiB9Ci0tIAoyLjM5LjEKCg== --------------jM0jQQl2n2T7n2hVBs6V0gOs Content-Type: text/plain; charset=UTF-8; name="0004-Remove-useless-casts-to-void-memset.patch" Content-Disposition: attachment; filename="0004-Remove-useless-casts-to-void-memset.patch" Content-Transfer-Encoding: base64 RnJvbSBhYzA4MzNmOGE5OGQ0NTYxYzAzNzhmYmY5ODM0NTMwN2I1NzhiY2JmIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQZXRlciBFaXNlbnRyYXV0IDxwZXRlckBlaXNlbnRy YXV0Lm9yZz4KRGF0ZTogVGh1LCAyIEZlYiAyMDIzIDIzOjAyOjM0ICswMTAwClN1YmplY3Q6 IFtQQVRDSCA0LzhdIFJlbW92ZSB1c2VsZXNzIGNhc3RzIHRvICh2b2lkICopIChtZW1zZXQp CgotLS0KIGNvbnRyaWIvaHN0b3JlL2hzdG9yZV9naXN0LmMgICAgICB8IDQgKystLQogY29u dHJpYi9pbnRhcnJheS9faW50YmlnX2dpc3QuYyAgIHwgNCArKy0tCiBjb250cmliL2x0cmVl L19sdHJlZV9naXN0LmMgICAgICAgfCA0ICsrLS0KIGNvbnRyaWIvcGdfdHJnbS90cmdtX2dp c3QuYyAgICAgICB8IDYgKysrLS0tCiBzcmMvYmFja2VuZC90c2VhcmNoL3RzX3V0aWxzLmMg ICAgfCAzICstLQogc3JjL2JhY2tlbmQvdXRpbHMvYWR0L3RzZ2lzdGlkeC5jIHwgNiArKyst LS0KIHNyYy9iaW4vcGdfZHVtcC9wYXJhbGxlbC5jICAgICAgICB8IDIgKy0KIDcgZmlsZXMg Y2hhbmdlZCwgMTQgaW5zZXJ0aW9ucygrKSwgMTUgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0 IGEvY29udHJpYi9oc3RvcmUvaHN0b3JlX2dpc3QuYyBiL2NvbnRyaWIvaHN0b3JlL2hzdG9y ZV9naXN0LmMKaW5kZXggNWQ4YjgwNmQzMC4uZDMxZGE1NjRmZSAxMDA2NDQKLS0tIGEvY29u dHJpYi9oc3RvcmUvaHN0b3JlX2dpc3QuYworKysgYi9jb250cmliL2hzdG9yZS9oc3RvcmVf Z2lzdC5jCkBAIC00NjUsNyArNDY1LDcgQEAgZ2hzdG9yZV9waWNrc3BsaXQoUEdfRlVOQ1RJ T05fQVJHUykKIAkJCWlmIChJU0FMTFRSVUUoZGF0dW1fbCkgfHwgSVNBTExUUlVFKF9qKSkK IAkJCXsKIAkJCQlpZiAoIUlTQUxMVFJVRShkYXR1bV9sKSkKLQkJCQkJbWVtc2V0KCh2b2lk ICopIHVuaW9uX2wsIDB4ZmYsIHNpZ2xlbik7CisJCQkJCW1lbXNldCh1bmlvbl9sLCAweGZm LCBzaWdsZW4pOwogCQkJfQogCQkJZWxzZQogCQkJewpAQCAtNDgxLDcgKzQ4MSw3IEBAIGdo c3RvcmVfcGlja3NwbGl0KFBHX0ZVTkNUSU9OX0FSR1MpCiAJCQlpZiAoSVNBTExUUlVFKGRh dHVtX3IpIHx8IElTQUxMVFJVRShfaikpCiAJCQl7CiAJCQkJaWYgKCFJU0FMTFRSVUUoZGF0 dW1fcikpCi0JCQkJCW1lbXNldCgodm9pZCAqKSB1bmlvbl9yLCAweGZmLCBzaWdsZW4pOwor CQkJCQltZW1zZXQodW5pb25fciwgMHhmZiwgc2lnbGVuKTsKIAkJCX0KIAkJCWVsc2UKIAkJ CXsKZGlmZiAtLWdpdCBhL2NvbnRyaWIvaW50YXJyYXkvX2ludGJpZ19naXN0LmMgYi9jb250 cmliL2ludGFycmF5L19pbnRiaWdfZ2lzdC5jCmluZGV4IGRhZGMxODY0NmEuLmY4ZmNhNDRl YTUgMTAwNjQ0Ci0tLSBhL2NvbnRyaWIvaW50YXJyYXkvX2ludGJpZ19naXN0LmMKKysrIGIv Y29udHJpYi9pbnRhcnJheS9faW50YmlnX2dpc3QuYwpAQCAtNDI0LDcgKzQyNCw3IEBAIGdf aW50YmlnX3BpY2tzcGxpdChQR19GVU5DVElPTl9BUkdTKQogCQkJaWYgKElTQUxMVFJVRShk YXR1bV9sKSB8fCBJU0FMTFRSVUUoX2opKQogCQkJewogCQkJCWlmICghSVNBTExUUlVFKGRh dHVtX2wpKQotCQkJCQltZW1zZXQoKHZvaWQgKikgdW5pb25fbCwgMHhmZiwgc2lnbGVuKTsK KwkJCQkJbWVtc2V0KHVuaW9uX2wsIDB4ZmYsIHNpZ2xlbik7CiAJCQl9CiAJCQllbHNlCiAJ CQl7CkBAIC00NDAsNyArNDQwLDcgQEAgZ19pbnRiaWdfcGlja3NwbGl0KFBHX0ZVTkNUSU9O X0FSR1MpCiAJCQlpZiAoSVNBTExUUlVFKGRhdHVtX3IpIHx8IElTQUxMVFJVRShfaikpCiAJ CQl7CiAJCQkJaWYgKCFJU0FMTFRSVUUoZGF0dW1fcikpCi0JCQkJCW1lbXNldCgodm9pZCAq KSB1bmlvbl9yLCAweGZmLCBzaWdsZW4pOworCQkJCQltZW1zZXQodW5pb25fciwgMHhmZiwg c2lnbGVuKTsKIAkJCX0KIAkJCWVsc2UKIAkJCXsKZGlmZiAtLWdpdCBhL2NvbnRyaWIvbHRy ZWUvX2x0cmVlX2dpc3QuYyBiL2NvbnRyaWIvbHRyZWUvX2x0cmVlX2dpc3QuYwppbmRleCAz ODVhMTAyODNiLi40ZDllZTUzZjA4IDEwMDY0NAotLS0gYS9jb250cmliL2x0cmVlL19sdHJl ZV9naXN0LmMKKysrIGIvY29udHJpYi9sdHJlZS9fbHRyZWVfZ2lzdC5jCkBAIC0zNDgsNyAr MzQ4LDcgQEAgX2x0cmVlX3BpY2tzcGxpdChQR19GVU5DVElPTl9BUkdTKQogCQkJaWYgKExU R19JU0FMTFRSVUUoZGF0dW1fbCkgfHwgTFRHX0lTQUxMVFJVRShfaikpCiAJCQl7CiAJCQkJ aWYgKCFMVEdfSVNBTExUUlVFKGRhdHVtX2wpKQotCQkJCQltZW1zZXQoKHZvaWQgKikgdW5p b25fbCwgMHhmZiwgc2lnbGVuKTsKKwkJCQkJbWVtc2V0KHVuaW9uX2wsIDB4ZmYsIHNpZ2xl bik7CiAJCQl9CiAJCQllbHNlCiAJCQl7CkBAIC0zNjQsNyArMzY0LDcgQEAgX2x0cmVlX3Bp Y2tzcGxpdChQR19GVU5DVElPTl9BUkdTKQogCQkJaWYgKExUR19JU0FMTFRSVUUoZGF0dW1f cikgfHwgTFRHX0lTQUxMVFJVRShfaikpCiAJCQl7CiAJCQkJaWYgKCFMVEdfSVNBTExUUlVF KGRhdHVtX3IpKQotCQkJCQltZW1zZXQoKHZvaWQgKikgdW5pb25fciwgMHhmZiwgc2lnbGVu KTsKKwkJCQkJbWVtc2V0KHVuaW9uX3IsIDB4ZmYsIHNpZ2xlbik7CiAJCQl9CiAJCQllbHNl CiAJCQl7CmRpZmYgLS1naXQgYS9jb250cmliL3BnX3RyZ20vdHJnbV9naXN0LmMgYi9jb250 cmliL3BnX3RyZ20vdHJnbV9naXN0LmMKaW5kZXggNjhlYmYxNzY3Yi4uZWQyYjAxMGI5MyAx MDA2NDQKLS0tIGEvY29udHJpYi9wZ190cmdtL3RyZ21fZ2lzdC5jCisrKyBiL2NvbnRyaWIv cGdfdHJnbS90cmdtX2dpc3QuYwpAQCAtMTAyLDcgKzEwMiw3IEBAIG1ha2VzaWduKEJJVFZF Q1Agc2lnbiwgVFJHTSAqYSwgaW50IHNpZ2xlbikKIAl0cmdtCSAgICpwdHIgPSBHRVRBUlIo YSk7CiAJaW50MzIJCXRtcCA9IDA7CiAKLQlNZW1TZXQoKHZvaWQgKikgc2lnbiwgMCwgc2ln bGVuKTsKKwlNZW1TZXQoc2lnbiwgMCwgc2lnbGVuKTsKIAlTRVRCSVQoc2lnbiwgU0lHTEVO QklUKHNpZ2xlbikpOwkvKiBzZXQgbGFzdCB1bnVzZWQgYml0ICovCiAJZm9yIChrID0gMDsg ayA8IGxlbjsgaysrKQogCXsKQEAgLTkyMSw3ICs5MjEsNyBAQCBndHJnbV9waWNrc3BsaXQo UEdfRlVOQ1RJT05fQVJHUykKIAkJCWlmIChJU0FMTFRSVUUoZGF0dW1fbCkgfHwgY2FjaGVb al0uYWxsaXN0cnVlKQogCQkJewogCQkJCWlmICghSVNBTExUUlVFKGRhdHVtX2wpKQotCQkJ CQltZW1zZXQoKHZvaWQgKikgR0VUU0lHTihkYXR1bV9sKSwgMHhmZiwgc2lnbGVuKTsKKwkJ CQkJbWVtc2V0KEdFVFNJR04oZGF0dW1fbCksIDB4ZmYsIHNpZ2xlbik7CiAJCQl9CiAJCQll bHNlCiAJCQl7CkBAIC05MzcsNyArOTM3LDcgQEAgZ3RyZ21fcGlja3NwbGl0KFBHX0ZVTkNU SU9OX0FSR1MpCiAJCQlpZiAoSVNBTExUUlVFKGRhdHVtX3IpIHx8IGNhY2hlW2pdLmFsbGlz dHJ1ZSkKIAkJCXsKIAkJCQlpZiAoIUlTQUxMVFJVRShkYXR1bV9yKSkKLQkJCQkJbWVtc2V0 KCh2b2lkICopIEdFVFNJR04oZGF0dW1fciksIDB4ZmYsIHNpZ2xlbik7CisJCQkJCW1lbXNl dChHRVRTSUdOKGRhdHVtX3IpLCAweGZmLCBzaWdsZW4pOwogCQkJfQogCQkJZWxzZQogCQkJ ewpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvdHNlYXJjaC90c191dGlscy5jIGIvc3JjL2Jh Y2tlbmQvdHNlYXJjaC90c191dGlscy5jCmluZGV4IGM0Njg2N2QwNzQuLjdjNGMyYTkxMTIg MTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3RzZWFyY2gvdHNfdXRpbHMuYworKysgYi9zcmMv YmFja2VuZC90c2VhcmNoL3RzX3V0aWxzLmMKQEAgLTEwOSw4ICsxMDksNyBAQCByZWFkc3Rv cGxpc3QoY29uc3QgY2hhciAqZm5hbWUsIFN0b3BMaXN0ICpzLCBjaGFyICooKndvcmRvcCkg KGNvbnN0IGNoYXIgKikpCiAJCQkJZWxzZQogCQkJCXsKIAkJCQkJcmVhbGxlbiAqPSAyOwot CQkJCQlzdG9wID0gKGNoYXIgKiopIHJlcGFsbG9jKHN0b3AsCi0JCQkJCQkJCQkJCSAgc2l6 ZW9mKGNoYXIgKikgKiByZWFsbGVuKTsKKwkJCQkJc3RvcCA9IChjaGFyICoqKSByZXBhbGxv YyhzdG9wLCBzaXplb2YoY2hhciAqKSAqIHJlYWxsZW4pOwogCQkJCX0KIAkJCX0KIApkaWZm IC0tZ2l0IGEvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L3RzZ2lzdGlkeC5jIGIvc3JjL2JhY2tl bmQvdXRpbHMvYWR0L3RzZ2lzdGlkeC5jCmluZGV4IGUyN2UwOGQ5OTYuLmNhNDU2MzI5MGYg MTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3V0aWxzL2FkdC90c2dpc3RpZHguYworKysgYi9z cmMvYmFja2VuZC91dGlscy9hZHQvdHNnaXN0aWR4LmMKQEAgLTE0Myw3ICsxNDMsNyBAQCBt YWtlc2lnbihCSVRWRUNQIHNpZ24sIFNpZ25UU1ZlY3RvciAqYSwgaW50IHNpZ2xlbikKIAkJ CQlsZW4gPSBBUlJORUxFTShhKTsKIAlpbnQzMgkgICAqcHRyID0gR0VUQVJSKGEpOwogCi0J TWVtU2V0KCh2b2lkICopIHNpZ24sIDAsIHNpZ2xlbik7CisJTWVtU2V0KHNpZ24sIDAsIHNp Z2xlbik7CiAJZm9yIChrID0gMDsgayA8IGxlbjsgaysrKQogCQlIQVNIKHNpZ24sIHB0cltr XSwgc2lnbGVuKTsKIH0KQEAgLTc1NSw3ICs3NTUsNyBAQCBndHN2ZWN0b3JfcGlja3NwbGl0 KFBHX0ZVTkNUSU9OX0FSR1MpCiAJCQlpZiAoSVNBTExUUlVFKGRhdHVtX2wpIHx8IGNhY2hl W2pdLmFsbGlzdHJ1ZSkKIAkJCXsKIAkJCQlpZiAoIUlTQUxMVFJVRShkYXR1bV9sKSkKLQkJ CQkJbWVtc2V0KCh2b2lkICopIEdFVFNJR04oZGF0dW1fbCksIDB4ZmYsIHNpZ2xlbik7CisJ CQkJCW1lbXNldChHRVRTSUdOKGRhdHVtX2wpLCAweGZmLCBzaWdsZW4pOwogCQkJfQogCQkJ ZWxzZQogCQkJewpAQCAtNzcxLDcgKzc3MSw3IEBAIGd0c3ZlY3Rvcl9waWNrc3BsaXQoUEdf RlVOQ1RJT05fQVJHUykKIAkJCWlmIChJU0FMTFRSVUUoZGF0dW1fcikgfHwgY2FjaGVbal0u YWxsaXN0cnVlKQogCQkJewogCQkJCWlmICghSVNBTExUUlVFKGRhdHVtX3IpKQotCQkJCQlt ZW1zZXQoKHZvaWQgKikgR0VUU0lHTihkYXR1bV9yKSwgMHhmZiwgc2lnbGVuKTsKKwkJCQkJ bWVtc2V0KEdFVFNJR04oZGF0dW1fciksIDB4ZmYsIHNpZ2xlbik7CiAJCQl9CiAJCQllbHNl CiAJCQl7CmRpZmYgLS1naXQgYS9zcmMvYmluL3BnX2R1bXAvcGFyYWxsZWwuYyBiL3NyYy9i aW4vcGdfZHVtcC9wYXJhbGxlbC5jCmluZGV4IDliZmI5NTU1N2EuLmRhMDcyM2FkMzggMTAw NjQ0Ci0tLSBhL3NyYy9iaW4vcGdfZHVtcC9wYXJhbGxlbC5jCisrKyBiL3NyYy9iaW4vcGdf ZHVtcC9wYXJhbGxlbC5jCkBAIC0xNzM2LDcgKzE3MzYsNyBAQCBwZ3BpcGUoaW50IGhhbmRs ZXNbMl0pCiAJCXJldHVybiAtMTsKIAl9CiAKLQltZW1zZXQoKHZvaWQgKikgJnNlcnZfYWRk ciwgMCwgc2l6ZW9mKHNlcnZfYWRkcikpOworCW1lbXNldCgmc2Vydl9hZGRyLCAwLCBzaXpl b2Yoc2Vydl9hZGRyKSk7CiAJc2Vydl9hZGRyLnNpbl9mYW1pbHkgPSBBRl9JTkVUOwogCXNl cnZfYWRkci5zaW5fcG9ydCA9IHBnX2h0b24xNigwKTsKIAlzZXJ2X2FkZHIuc2luX2FkZHIu c19hZGRyID0gcGdfaHRvbjMyKElOQUREUl9MT09QQkFDSyk7Ci0tIAoyLjM5LjEKCg== --------------jM0jQQl2n2T7n2hVBs6V0gOs Content-Type: text/plain; charset=UTF-8; name="0005-Remove-useless-casts-to-void-memmove.patch" Content-Disposition: attachment; filename="0005-Remove-useless-casts-to-void-memmove.patch" Content-Transfer-Encoding: base64 RnJvbSA3ZGE1YjU0NzRhNjVkNWE1YTNmZDEwNGE2MjRmM2U5MDQ4Zjk3M2RkIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQZXRlciBFaXNlbnRyYXV0IDxwZXRlckBlaXNlbnRy YXV0Lm9yZz4KRGF0ZTogVGh1LCAyIEZlYiAyMDIzIDIzOjAyOjM1ICswMTAwClN1YmplY3Q6 IFtQQVRDSCA1LzhdIFJlbW92ZSB1c2VsZXNzIGNhc3RzIHRvICh2b2lkICopIChtZW1tb3Zl KQoKLS0tCiBjb250cmliL2ludGFycmF5L19pbnRfZ2lzdC5jIHwgNCArKy0tCiAxIGZpbGUg Y2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBh L2NvbnRyaWIvaW50YXJyYXkvX2ludF9naXN0LmMgYi9jb250cmliL2ludGFycmF5L19pbnRf Z2lzdC5jCmluZGV4IDMzMWZhMjVmY2YuLjJkNzJlN2RhZmIgMTAwNjQ0Ci0tLSBhL2NvbnRy aWIvaW50YXJyYXkvX2ludF9naXN0LmMKKysrIGIvY29udHJpYi9pbnRhcnJheS9faW50X2dp c3QuYwpAQCAtMjQzLDcgKzI0Myw3IEBAIGdfaW50X2NvbXByZXNzKFBHX0ZVTkNUSU9OX0FS R1MpCiAJCQkvKgogCQkJICogc2h1bnQgZXZlcnl0aGluZyBkb3duIHRvIHN0YXJ0IGF0IHRo ZSByaWdodCBwbGFjZQogCQkJICovCi0JCQltZW1tb3ZlKCh2b2lkICopICZkclswXSwgKHZv aWQgKikgJmRyWzIgKiBqXSwgMiAqIChsZW4gLSBqKSAqIHNpemVvZihpbnQzMikpOworCQkJ bWVtbW92ZSgmZHJbMF0sICZkclsyICogal0sIDIgKiAobGVuIC0gaikgKiBzaXplb2YoaW50 MzIpKTsKIAkJfQogCiAJCS8qCkBAIC0yNjAsNyArMjYwLDcgQEAgZ19pbnRfY29tcHJlc3Mo UEdfRlVOQ1RJT05fQVJHUykKIAkJCQkJbWluID0gKChpbnQ2NCkgZHJbaV0gLSAoaW50NjQp IGRyW2kgLSAxXSk7CiAJCQkJCWNhbmQgPSBpOwogCQkJCX0KLQkJCW1lbW1vdmUoKHZvaWQg KikgJmRyW2NhbmQgLSAxXSwgKHZvaWQgKikgJmRyW2NhbmQgKyAxXSwgKGxlbiAtIGNhbmQg LSAxKSAqIHNpemVvZihpbnQzMikpOworCQkJbWVtbW92ZSgmZHJbY2FuZCAtIDFdLCAmZHJb Y2FuZCArIDFdLCAobGVuIC0gY2FuZCAtIDEpICogc2l6ZW9mKGludDMyKSk7CiAJCQlsZW4g LT0gMjsKIAkJfQogCi0tIAoyLjM5LjEKCg== --------------jM0jQQl2n2T7n2hVBs6V0gOs Content-Type: text/plain; charset=UTF-8; name="0006-Remove-useless-casts-to-void-memcmp.patch" Content-Disposition: attachment; filename="0006-Remove-useless-casts-to-void-memcmp.patch" Content-Transfer-Encoding: base64 RnJvbSAxMjJhOWJjMzdiYjllMDk1NjY1ZTNiNDQwOTVmMDM5NDk4M2E2NDdhIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQZXRlciBFaXNlbnRyYXV0IDxwZXRlckBlaXNlbnRy YXV0Lm9yZz4KRGF0ZTogVGh1LCAyIEZlYiAyMDIzIDIzOjAyOjM1ICswMTAwClN1YmplY3Q6 IFtQQVRDSCA2LzhdIFJlbW92ZSB1c2VsZXNzIGNhc3RzIHRvICh2b2lkICopIChtZW1jbXAp CgotLS0KIGNvbnRyaWIvY2l0ZXh0L2NpdGV4dC5jIHwgMiArLQogMSBmaWxlIGNoYW5nZWQs IDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvY29udHJpYi9j aXRleHQvY2l0ZXh0LmMgYi9jb250cmliL2NpdGV4dC9jaXRleHQuYwppbmRleCA5NzZjNTc4 ZTFjLi4yNmFmOTM1YTcwIDEwMDY0NAotLS0gYS9jb250cmliL2NpdGV4dC9jaXRleHQuYwor KysgYi9jb250cmliL2NpdGV4dC9jaXRleHQuYwpAQCAtODAsNyArODAsNyBAQCBpbnRlcm5h bF9jaXRleHRfcGF0dGVybl9jbXAodGV4dCAqbGVmdCwgdGV4dCAqcmlnaHQsIE9pZCBjb2xs aWQpCiAJbGxlbiA9IHN0cmxlbihsY3N0cik7CiAJcmxlbiA9IHN0cmxlbihyY3N0cik7CiAK LQlyZXN1bHQgPSBtZW1jbXAoKHZvaWQgKikgbGNzdHIsICh2b2lkICopIHJjc3RyLCBNaW4o bGxlbiwgcmxlbikpOworCXJlc3VsdCA9IG1lbWNtcChsY3N0ciwgcmNzdHIsIE1pbihsbGVu LCBybGVuKSk7CiAJaWYgKHJlc3VsdCA9PSAwKQogCXsKIAkJaWYgKGxsZW4gPCBybGVuKQot LSAKMi4zOS4xCgo= --------------jM0jQQl2n2T7n2hVBs6V0gOs Content-Type: text/plain; charset=UTF-8; name="0007-Remove-useless-casts-to-void-qsort.patch" Content-Disposition: attachment; filename="0007-Remove-useless-casts-to-void-qsort.patch" Content-Transfer-Encoding: base64 RnJvbSAyYjdkNjY0ZjJmN2Q0NzVmODRlYWQ0N2VhZmRlMjgxNTdmY2FmMDYxIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQZXRlciBFaXNlbnRyYXV0IDxwZXRlckBlaXNlbnRy YXV0Lm9yZz4KRGF0ZTogVGh1LCAyIEZlYiAyMDIzIDIzOjAyOjM1ICswMTAwClN1YmplY3Q6 IFtQQVRDSCA3LzhdIFJlbW92ZSB1c2VsZXNzIGNhc3RzIHRvICh2b2lkICopIChxc29ydCkK Ci0tLQogY29udHJpYi9idHJlZV9naXN0L2J0cmVlX3V0aWxzX251bS5jICAgICAgICB8ICAy ICstCiBjb250cmliL2J0cmVlX2dpc3QvYnRyZWVfdXRpbHNfdmFyLmMgICAgICAgIHwgIDQg KystLQogY29udHJpYi9oc3RvcmUvaHN0b3JlX2dpc3QuYyAgICAgICAgICAgICAgICB8ICAy ICstCiBjb250cmliL2hzdG9yZS9oc3RvcmVfaW8uYyAgICAgICAgICAgICAgICAgIHwgIDIg Ky0KIGNvbnRyaWIvaW50YXJyYXkvX2ludF9naXN0LmMgICAgICAgICAgICAgICAgfCAgMiAr LQogY29udHJpYi9pbnRhcnJheS9faW50X3Rvb2wuYyAgICAgICAgICAgICAgICB8ICAyICst CiBjb250cmliL2ludGFycmF5L19pbnRiaWdfZ2lzdC5jICAgICAgICAgICAgIHwgIDIgKy0K IGNvbnRyaWIvbHRyZWUvX2x0cmVlX2dpc3QuYyAgICAgICAgICAgICAgICAgfCAgMiArLQog Y29udHJpYi9sdHJlZS9sdHJlZV9naXN0LmMgICAgICAgICAgICAgICAgICB8ICAyICstCiBj b250cmliL3BnX3N1cmdlcnkvaGVhcF9zdXJnZXJ5LmMgICAgICAgICAgIHwgIDIgKy0KIGNv bnRyaWIvcGdfdHJnbS90cmdtX2dpc3QuYyAgICAgICAgICAgICAgICAgfCAgMiArLQogY29u dHJpYi9wZ190cmdtL3RyZ21fb3AuYyAgICAgICAgICAgICAgICAgICB8ICA0ICsrLS0KIHNy Yy9iYWNrZW5kL2FjY2Vzcy9icmluL2JyaW5fbWlubWF4X211bHRpLmMgfCAgNiArKystLS0K IHNyYy9iYWNrZW5kL2FjY2Vzcy9naW4vZ2ludXRpbC5jICAgICAgICAgICAgfCAgMiArLQog c3JjL2JhY2tlbmQvYWNjZXNzL25idHJlZS9uYnR1dGlscy5jICAgICAgICB8ICA0ICsrLS0K IHNyYy9iYWNrZW5kL2NhdGFsb2cvZGVwZW5kZW5jeS5jICAgICAgICAgICAgfCAgNiArKyst LS0KIHNyYy9iYWNrZW5kL2NhdGFsb2cvcGdfc2hkZXBlbmQuYyAgICAgICAgICAgfCAgMiAr LQogc3JjL2JhY2tlbmQvY29tbWFuZHMvYW5hbHl6ZS5jICAgICAgICAgICAgICB8ICA4ICsr KystLS0tCiBzcmMvYmFja2VuZC9jb21tYW5kcy9jb2xsYXRpb25jbWRzLmMgICAgICAgIHwg IDIgKy0KIHNyYy9iYWNrZW5kL2V4ZWN1dG9yL25vZGVUaWRzY2FuLmMgICAgICAgICAgfCAg MiArLQogc3JjL2JhY2tlbmQvbm9kZXMvdGlkYml0bWFwLmMgICAgICAgICAgICAgICB8ICA4 ICsrKystLS0tCiBzcmMvYmFja2VuZC9wYXJ0aXRpb25pbmcvcGFydGJvdW5kcy5jICAgICAg IHwgIDQgKystLQogc3JjL2JhY2tlbmQvc3RhdGlzdGljcy9leHRlbmRlZF9zdGF0cy5jICAg ICB8ICAyICstCiBzcmMvYmFja2VuZC9zdGF0aXN0aWNzL21jdi5jICAgICAgICAgICAgICAg IHwgIDQgKystLQogc3JjL2JhY2tlbmQvc3RhdGlzdGljcy9tdmRpc3RpbmN0LmMgICAgICAg ICB8ICAyICstCiBzcmMvYmFja2VuZC90c2VhcmNoL3NwZWxsLmMgICAgICAgICAgICAgICAg IHwgIDggKysrKy0tLS0KIHNyYy9iYWNrZW5kL3RzZWFyY2gvdG9fdHNhbnkuYyAgICAgICAg ICAgICAgfCAgMiArLQogc3JjL2JhY2tlbmQvdXRpbHMvYWR0L3RzZ2lzdGlkeC5jICAgICAg ICAgICB8ICAyICstCiBzcmMvYmFja2VuZC91dGlscy9hZHQvdHNxdWVyeV9naXN0LmMgICAg ICAgIHwgIDIgKy0KIHNyYy9iYWNrZW5kL3V0aWxzL2FkdC90c3F1ZXJ5X3V0aWwuYyAgICAg ICAgfCAgMiArLQogc3JjL2JhY2tlbmQvdXRpbHMvYWR0L3RzcmFuay5jICAgICAgICAgICAg ICB8ICA0ICsrLS0KIHNyYy9iYWNrZW5kL3V0aWxzL2FkdC90c3ZlY3Rvci5jICAgICAgICAg ICAgfCAxMCArKysrKy0tLS0tCiBzcmMvYmluL3BnX2R1bXAvcGdfYmFja3VwX2FyY2hpdmVy LmMgICAgICAgIHwgIDIgKy0KIHNyYy9iaW4vcGdfZHVtcC9wZ19kdW1wX3NvcnQuYyAgICAg ICAgICAgICAgfCAgMiArLQogc3JjL2Jpbi9wZ191cGdyYWRlL2Z1bmN0aW9uLmMgICAgICAg ICAgICAgICB8ICAyICstCiBzcmMvYmluL3BnYmVuY2gvcGdiZW5jaC5jICAgICAgICAgICAg ICAgICAgIHwgIDIgKy0KIDM2IGZpbGVzIGNoYW5nZWQsIDU5IGluc2VydGlvbnMoKyksIDU5 IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2NvbnRyaWIvYnRyZWVfZ2lzdC9idHJlZV91 dGlsc19udW0uYyBiL2NvbnRyaWIvYnRyZWVfZ2lzdC9idHJlZV91dGlsc19udW0uYwppbmRl eCBjZmJlY2JlYTY1Li4zNDZlZTgzN2Q3IDEwMDY0NAotLS0gYS9jb250cmliL2J0cmVlX2dp c3QvYnRyZWVfdXRpbHNfbnVtLmMKKysrIGIvY29udHJpYi9idHJlZV9naXN0L2J0cmVlX3V0 aWxzX251bS5jCkBAIC0zNjAsNyArMzYwLDcgQEAgZ2J0X251bV9waWNrc3BsaXQoY29uc3Qg R2lzdEVudHJ5VmVjdG9yICplbnRyeXZlYywgR0lTVF9TUExJVFZFQyAqdiwKIAkJYXJyW2ld LnQgPSAoR0JUX05VTUtFWSAqKSBEYXR1bUdldFBvaW50ZXIoKGVudHJ5dmVjLT52ZWN0b3Jb aV0ua2V5KSk7CiAJCWFycltpXS5pID0gaTsKIAl9Ci0JcXNvcnRfYXJnKCh2b2lkICopICZh cnJbRmlyc3RPZmZzZXROdW1iZXJdLCBtYXhvZmYgLSBGaXJzdE9mZnNldE51bWJlciArIDEs IHNpemVvZihOc3J0KSwgKHFzb3J0X2FyZ19jb21wYXJhdG9yKSB0aW5mby0+Zl9jbXAsICh2 b2lkICopIGZsaW5mbyk7CisJcXNvcnRfYXJnKCZhcnJbRmlyc3RPZmZzZXROdW1iZXJdLCBt YXhvZmYgLSBGaXJzdE9mZnNldE51bWJlciArIDEsIHNpemVvZihOc3J0KSwgKHFzb3J0X2Fy Z19jb21wYXJhdG9yKSB0aW5mby0+Zl9jbXAsIGZsaW5mbyk7CiAKIAkvKiBXZSBkbyBzaW1w bHkgY3JlYXRlIHR3byBwYXJ0cyAqLwogCmRpZmYgLS1naXQgYS9jb250cmliL2J0cmVlX2dp c3QvYnRyZWVfdXRpbHNfdmFyLmMgYi9jb250cmliL2J0cmVlX2dpc3QvYnRyZWVfdXRpbHNf dmFyLmMKaW5kZXggM2VmODJkMGUyMC4uMGMwZTk1MmY3MyAxMDA2NDQKLS0tIGEvY29udHJp Yi9idHJlZV9naXN0L2J0cmVlX3V0aWxzX3Zhci5jCisrKyBiL2NvbnRyaWIvYnRyZWVfZ2lz dC9idHJlZV91dGlsc192YXIuYwpAQCAtNTAyLDExICs1MDIsMTEgQEAgZ2J0X3Zhcl9waWNr c3BsaXQoY29uc3QgR2lzdEVudHJ5VmVjdG9yICplbnRyeXZlYywgR0lTVF9TUExJVFZFQyAq diwKIAl2YXJnLnRpbmZvID0gdGluZm87CiAJdmFyZy5jb2xsYXRpb24gPSBjb2xsYXRpb247 CiAJdmFyZy5mbGluZm8gPSBmbGluZm87Ci0JcXNvcnRfYXJnKCh2b2lkICopICZhcnJbRmly c3RPZmZzZXROdW1iZXJdLAorCXFzb3J0X2FyZygmYXJyW0ZpcnN0T2Zmc2V0TnVtYmVyXSwK IAkJCSAgbWF4b2ZmIC0gRmlyc3RPZmZzZXROdW1iZXIgKyAxLAogCQkJICBzaXplb2YoVnNy dCksCiAJCQkgIGdidF92c3J0X2NtcCwKLQkJCSAgKHZvaWQgKikgJnZhcmcpOworCQkJICAm dmFyZyk7CiAKIAkvKiBXZSBkbyBzaW1wbHkgY3JlYXRlIHR3byBwYXJ0cyAqLwogCmRpZmYg LS1naXQgYS9jb250cmliL2hzdG9yZS9oc3RvcmVfZ2lzdC5jIGIvY29udHJpYi9oc3RvcmUv aHN0b3JlX2dpc3QuYwppbmRleCBkMzFkYTU2NGZlLi4zZGYwMDQ5M2U4IDEwMDY0NAotLS0g YS9jb250cmliL2hzdG9yZS9oc3RvcmVfZ2lzdC5jCisrKyBiL2NvbnRyaWIvaHN0b3JlL2hz dG9yZV9naXN0LmMKQEAgLTQzNiw3ICs0MzYsNyBAQCBnaHN0b3JlX3BpY2tzcGxpdChQR19G VU5DVElPTl9BUkdTKQogCQlzaXplX2JldGEgPSBoZW1kaXN0KGRhdHVtX3IsIF9qLCBzaWds ZW4pOwogCQljb3N0dmVjdG9yW2ogLSAxXS5jb3N0ID0gYWJzKHNpemVfYWxwaGEgLSBzaXpl X2JldGEpOwogCX0KLQlxc29ydCgodm9pZCAqKSBjb3N0dmVjdG9yLCBtYXhvZmYsIHNpemVv ZihTUExJVENPU1QpLCBjb21wYXJlY29zdCk7CisJcXNvcnQoY29zdHZlY3RvciwgbWF4b2Zm LCBzaXplb2YoU1BMSVRDT1NUKSwgY29tcGFyZWNvc3QpOwogCiAJdW5pb25fbCA9IEdFVFNJ R04oZGF0dW1fbCk7CiAJdW5pb25fciA9IEdFVFNJR04oZGF0dW1fcik7CmRpZmYgLS1naXQg YS9jb250cmliL2hzdG9yZS9oc3RvcmVfaW8uYyBiL2NvbnRyaWIvaHN0b3JlL2hzdG9yZV9p by5jCmluZGV4IGFlMDljZWRlOGMuLmNlYzdkZjcxYTIgMTAwNjQ0Ci0tLSBhL2NvbnRyaWIv aHN0b3JlL2hzdG9yZV9pby5jCisrKyBiL2NvbnRyaWIvaHN0b3JlL2hzdG9yZV9pby5jCkBA IC0zNjUsNyArMzY1LDcgQEAgaHN0b3JlVW5pcXVlUGFpcnMoUGFpcnMgKmEsIGludDMyIGws IGludDMyICpidWZsZW4pCiAJCXJldHVybiBsOwogCX0KIAotCXFzb3J0KCh2b2lkICopIGEs IGwsIHNpemVvZihQYWlycyksIGNvbXBhcmVQYWlycyk7CisJcXNvcnQoYSwgbCwgc2l6ZW9m KFBhaXJzKSwgY29tcGFyZVBhaXJzKTsKIAogCS8qCiAJICogV2UgY2FuJ3QgdXNlIHF1bmlx dWUgaGVyZSBiZWNhdXNlIHdlIGhhdmUgc29tZSBjbGVhbi11cCBjb2RlIHRvIHJ1biBvbgpk aWZmIC0tZ2l0IGEvY29udHJpYi9pbnRhcnJheS9faW50X2dpc3QuYyBiL2NvbnRyaWIvaW50 YXJyYXkvX2ludF9naXN0LmMKaW5kZXggMmQ3MmU3ZGFmYi4uN2E0OGNlNjI0ZCAxMDA2NDQK LS0tIGEvY29udHJpYi9pbnRhcnJheS9faW50X2dpc3QuYworKysgYi9jb250cmliL2ludGFy cmF5L19pbnRfZ2lzdC5jCkBAIC01NDIsNyArNTQyLDcgQEAgZ19pbnRfcGlja3NwbGl0KFBH X0ZVTkNUSU9OX0FSR1MpCiAJCXBmcmVlKHVuaW9uX2QpOwogCQljb3N0dmVjdG9yW2kgLSAx XS5jb3N0ID0gZmFic2YoKHNpemVfYWxwaGEgLSBzaXplX2wpIC0gKHNpemVfYmV0YSAtIHNp emVfcikpOwogCX0KLQlxc29ydCgodm9pZCAqKSBjb3N0dmVjdG9yLCBtYXhvZmYsIHNpemVv ZihTUExJVENPU1QpLCBjb21wYXJlY29zdCk7CisJcXNvcnQoY29zdHZlY3RvciwgbWF4b2Zm LCBzaXplb2YoU1BMSVRDT1NUKSwgY29tcGFyZWNvc3QpOwogCiAJLyoKIAkgKiBOb3cgc3Bs aXQgdXAgdGhlIHJlZ2lvbnMgYmV0d2VlbiB0aGUgdHdvIHNlZWRzLiAgQW4gaW1wb3J0YW50 IHByb3BlcnR5CmRpZmYgLS1naXQgYS9jb250cmliL2ludGFycmF5L19pbnRfdG9vbC5jIGIv Y29udHJpYi9pbnRhcnJheS9faW50X3Rvb2wuYwppbmRleCA1YWI2ZWI4MWU4Li42OGY2MjRl MDg1IDEwMDY0NAotLS0gYS9jb250cmliL2ludGFycmF5L19pbnRfdG9vbC5jCisrKyBiL2Nv bnRyaWIvaW50YXJyYXkvX2ludF90b29sLmMKQEAgLTIxMiw3ICsyMTIsNyBAQCBpc29ydChp bnQzMiAqYSwgaW50IGxlbikKIHsKIAlib29sCQlyID0gZmFsc2U7CiAKLQlxc29ydF9hcmco YSwgbGVuLCBzaXplb2YoaW50MzIpLCBpc29ydF9jbXAsICh2b2lkICopICZyKTsKKwlxc29y dF9hcmcoYSwgbGVuLCBzaXplb2YoaW50MzIpLCBpc29ydF9jbXAsICZyKTsKIAlyZXR1cm4g cjsKIH0KIApkaWZmIC0tZ2l0IGEvY29udHJpYi9pbnRhcnJheS9faW50YmlnX2dpc3QuYyBi L2NvbnRyaWIvaW50YXJyYXkvX2ludGJpZ19naXN0LmMKaW5kZXggZjhmY2E0NGVhNS4uYmZi YTVlZWYxZCAxMDA2NDQKLS0tIGEvY29udHJpYi9pbnRhcnJheS9faW50YmlnX2dpc3QuYwor KysgYi9jb250cmliL2ludGFycmF5L19pbnRiaWdfZ2lzdC5jCkBAIC0zOTUsNyArMzk1LDcg QEAgZ19pbnRiaWdfcGlja3NwbGl0KFBHX0ZVTkNUSU9OX0FSR1MpCiAJCXNpemVfYmV0YSA9 IGhlbWRpc3QoZGF0dW1fciwgX2osIHNpZ2xlbik7CiAJCWNvc3R2ZWN0b3JbaiAtIDFdLmNv c3QgPSBhYnMoc2l6ZV9hbHBoYSAtIHNpemVfYmV0YSk7CiAJfQotCXFzb3J0KCh2b2lkICop IGNvc3R2ZWN0b3IsIG1heG9mZiwgc2l6ZW9mKFNQTElUQ09TVCksIGNvbXBhcmVjb3N0KTsK Kwlxc29ydChjb3N0dmVjdG9yLCBtYXhvZmYsIHNpemVvZihTUExJVENPU1QpLCBjb21wYXJl Y29zdCk7CiAKIAl1bmlvbl9sID0gR0VUU0lHTihkYXR1bV9sKTsKIAl1bmlvbl9yID0gR0VU U0lHTihkYXR1bV9yKTsKZGlmZiAtLWdpdCBhL2NvbnRyaWIvbHRyZWUvX2x0cmVlX2dpc3Qu YyBiL2NvbnRyaWIvbHRyZWUvX2x0cmVlX2dpc3QuYwppbmRleCA0ZDllZTUzZjA4Li5lODlh MzlhNWI1IDEwMDY0NAotLS0gYS9jb250cmliL2x0cmVlL19sdHJlZV9naXN0LmMKKysrIGIv Y29udHJpYi9sdHJlZS9fbHRyZWVfZ2lzdC5jCkBAIC0zMTksNyArMzE5LDcgQEAgX2x0cmVl X3BpY2tzcGxpdChQR19GVU5DVElPTl9BUkdTKQogCQlzaXplX2JldGEgPSBoZW1kaXN0KGRh dHVtX3IsIF9qLCBzaWdsZW4pOwogCQljb3N0dmVjdG9yW2ogLSAxXS5jb3N0ID0gYWJzKHNp emVfYWxwaGEgLSBzaXplX2JldGEpOwogCX0KLQlxc29ydCgodm9pZCAqKSBjb3N0dmVjdG9y LCBtYXhvZmYsIHNpemVvZihTUExJVENPU1QpLCBjb21wYXJlY29zdCk7CisJcXNvcnQoY29z dHZlY3RvciwgbWF4b2ZmLCBzaXplb2YoU1BMSVRDT1NUKSwgY29tcGFyZWNvc3QpOwogCiAJ dW5pb25fbCA9IExUR19TSUdOKGRhdHVtX2wpOwogCXVuaW9uX3IgPSBMVEdfU0lHTihkYXR1 bV9yKTsKZGlmZiAtLWdpdCBhL2NvbnRyaWIvbHRyZWUvbHRyZWVfZ2lzdC5jIGIvY29udHJp Yi9sdHJlZS9sdHJlZV9naXN0LmMKaW5kZXggNWQyZGI2YzYyYi4uM2NiYTIyNjlkOCAxMDA2 NDQKLS0tIGEvY29udHJpYi9sdHJlZS9sdHJlZV9naXN0LmMKKysrIGIvY29udHJpYi9sdHJl ZS9sdHJlZV9naXN0LmMKQEAgLTMyOCw3ICszMjgsNyBAQCBsdHJlZV9waWNrc3BsaXQoUEdf RlVOQ1RJT05fQVJHUykKIAkJYXJyYXlbal0uciA9IExUR19HRVRMTk9ERShsdSwgc2lnbGVu KTsKIAl9CiAKLQlxc29ydCgodm9pZCAqKSAmYXJyYXlbRmlyc3RPZmZzZXROdW1iZXJdLCBt YXhvZmYgLSBGaXJzdE9mZnNldE51bWJlciArIDEsCisJcXNvcnQoJmFycmF5W0ZpcnN0T2Zm c2V0TnVtYmVyXSwgbWF4b2ZmIC0gRmlyc3RPZmZzZXROdW1iZXIgKyAxLAogCQkgIHNpemVv ZihSSVgpLCB0cmVla2V5X2NtcCk7CiAKIAlsdV9sID0gbHVfciA9IHJ1X2wgPSBydV9yID0g TlVMTDsKZGlmZiAtLWdpdCBhL2NvbnRyaWIvcGdfc3VyZ2VyeS9oZWFwX3N1cmdlcnkuYyBi L2NvbnRyaWIvcGdfc3VyZ2VyeS9oZWFwX3N1cmdlcnkuYwppbmRleCA2MWIxODQ1OTdhLi44 OGE0MGFiN2QzIDEwMDY0NAotLS0gYS9jb250cmliL3BnX3N1cmdlcnkvaGVhcF9zdXJnZXJ5 LmMKKysrIGIvY29udHJpYi9wZ19zdXJnZXJ5L2hlYXBfc3VyZ2VyeS5jCkBAIC0xMzEsNyAr MTMxLDcgQEAgaGVhcF9mb3JjZV9jb21tb24oRnVuY3Rpb25DYWxsSW5mbyBmY2luZm8sIEhl YXBUdXBsZUZvcmNlT3B0aW9uIGhlYXBfZm9yY2Vfb3B0KQogCSAqIGFycmF5LgogCSAqLwog CWlmIChudGlkcyA+IDEpCi0JCXFzb3J0KCh2b2lkICopIHRpZHMsIG50aWRzLCBzaXplb2Yo SXRlbVBvaW50ZXJEYXRhKSwgdGlkY21wKTsKKwkJcXNvcnQodGlkcywgbnRpZHMsIHNpemVv ZihJdGVtUG9pbnRlckRhdGEpLCB0aWRjbXApOwogCiAJY3Vycl9zdGFydF9wdHIgPSBuZXh0 X3N0YXJ0X3B0ciA9IDA7CiAJbmJsb2NrcyA9IFJlbGF0aW9uR2V0TnVtYmVyT2ZCbG9ja3Mo cmVsKTsKZGlmZiAtLWdpdCBhL2NvbnRyaWIvcGdfdHJnbS90cmdtX2dpc3QuYyBiL2NvbnRy aWIvcGdfdHJnbS90cmdtX2dpc3QuYwppbmRleCBlZDJiMDEwYjkzLi45ZWYyZTM4NTYwIDEw MDY0NAotLS0gYS9jb250cmliL3BnX3RyZ20vdHJnbV9naXN0LmMKKysrIGIvY29udHJpYi9w Z190cmdtL3RyZ21fZ2lzdC5jCkBAIC04NzIsNyArODcyLDcgQEAgZ3RyZ21fcGlja3NwbGl0 KFBHX0ZVTkNUSU9OX0FSR1MpCiAJCXNpemVfYmV0YSA9IGhlbWRpc3RjYWNoZSgmKGNhY2hl W3NlZWRfMl0pLCAmKGNhY2hlW2pdKSwgc2lnbGVuKTsKIAkJY29zdHZlY3RvcltqIC0gMV0u Y29zdCA9IGFicyhzaXplX2FscGhhIC0gc2l6ZV9iZXRhKTsKIAl9Ci0JcXNvcnQoKHZvaWQg KikgY29zdHZlY3RvciwgbWF4b2ZmLCBzaXplb2YoU1BMSVRDT1NUKSwgY29tcGFyZWNvc3Qp OworCXFzb3J0KGNvc3R2ZWN0b3IsIG1heG9mZiwgc2l6ZW9mKFNQTElUQ09TVCksIGNvbXBh cmVjb3N0KTsKIAogCWZvciAoayA9IDA7IGsgPCBtYXhvZmY7IGsrKykKIAl7CmRpZmYgLS1n aXQgYS9jb250cmliL3BnX3RyZ20vdHJnbV9vcC5jIGIvY29udHJpYi9wZ190cmdtL3RyZ21f b3AuYwppbmRleCAyYzY0NGJjMTQ4Li40OWQ0NDk3YjRmIDEwMDY0NAotLS0gYS9jb250cmli L3BnX3RyZ20vdHJnbV9vcC5jCisrKyBiL2NvbnRyaWIvcGdfdHJnbS90cmdtX29wLmMKQEAg LTM3Niw3ICszNzYsNyBAQCBnZW5lcmF0ZV90cmdtKGNoYXIgKnN0ciwgaW50IHNsZW4pCiAJ ICovCiAJaWYgKGxlbiA+IDEpCiAJewotCQlxc29ydCgodm9pZCAqKSBHRVRBUlIodHJnKSwg bGVuLCBzaXplb2YodHJnbSksIGNvbXBfdHJnbSk7CisJCXFzb3J0KEdFVEFSUih0cmcpLCBs ZW4sIHNpemVvZih0cmdtKSwgY29tcF90cmdtKTsKIAkJbGVuID0gcXVuaXF1ZShHRVRBUlIo dHJnKSwgbGVuLCBzaXplb2YodHJnbSksIGNvbXBfdHJnbSk7CiAJfQogCkBAIC05MjksNyAr OTI5LDcgQEAgZ2VuZXJhdGVfd2lsZGNhcmRfdHJnbShjb25zdCBjaGFyICpzdHIsIGludCBz bGVuKQogCSAqLwogCWlmIChsZW4gPiAxKQogCXsKLQkJcXNvcnQoKHZvaWQgKikgR0VUQVJS KHRyZyksIGxlbiwgc2l6ZW9mKHRyZ20pLCBjb21wX3RyZ20pOworCQlxc29ydChHRVRBUlIo dHJnKSwgbGVuLCBzaXplb2YodHJnbSksIGNvbXBfdHJnbSk7CiAJCWxlbiA9IHF1bmlxdWUo R0VUQVJSKHRyZyksIGxlbiwgc2l6ZW9mKHRyZ20pLCBjb21wX3RyZ20pOwogCX0KIApkaWZm IC0tZ2l0IGEvc3JjL2JhY2tlbmQvYWNjZXNzL2JyaW4vYnJpbl9taW5tYXhfbXVsdGkuYyBi L3NyYy9iYWNrZW5kL2FjY2Vzcy9icmluL2JyaW5fbWlubWF4X211bHRpLmMKaW5kZXggYWM2 NzBmZDAyZC4uMGFjZTYwMzViZSAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvYWNjZXNzL2Jy aW4vYnJpbl9taW5tYXhfbXVsdGkuYworKysgYi9zcmMvYmFja2VuZC9hY2Nlc3MvYnJpbi9i cmluX21pbm1heF9tdWx0aS5jCkBAIC01NDMsNyArNTQzLDcgQEAgcmFuZ2VfZGVkdXBsaWNh dGVfdmFsdWVzKFJhbmdlcyAqcmFuZ2UpCiAJICovCiAJcXNvcnRfYXJnKCZyYW5nZS0+dmFs dWVzW3N0YXJ0XSwKIAkJCSAgcmFuZ2UtPm52YWx1ZXMsIHNpemVvZihEYXR1bSksCi0JCQkg IGNvbXBhcmVfdmFsdWVzLCAodm9pZCAqKSAmY3h0KTsKKwkJCSAgY29tcGFyZV92YWx1ZXMs ICZjeHQpOwogCiAJbiA9IDE7CiAJZm9yIChpID0gMTsgaSA8IHJhbmdlLT5udmFsdWVzOyBp KyspCkBAIC0xMTk3LDcgKzExOTcsNyBAQCBzb3J0X2V4cGFuZGVkX3JhbmdlcyhGbWdySW5m byAqY21wLCBPaWQgY29sbG9pZCwKIAkgKiBzb21lIG9mIHRoZSBwb2ludHMpIGFuZCBkbyBt ZXJnZSBzb3J0LgogCSAqLwogCXFzb3J0X2FyZyhlcmFuZ2VzLCBuZXJhbmdlcywgc2l6ZW9m KEV4cGFuZGVkUmFuZ2UpLAotCQkJICBjb21wYXJlX2V4cGFuZGVkX3JhbmdlcywgKHZvaWQg KikgJmN4dCk7CisJCQkgIGNvbXBhcmVfZXhwYW5kZWRfcmFuZ2VzLCAmY3h0KTsKIAogCS8q CiAJICogRGVkdXBsaWNhdGUgdGhlIHJhbmdlcyAtIHNpbXBseSBjb21wYXJlIGVhY2ggcmFu Z2UgdG8gdGhlIHByZWNlZGluZwpAQCAtMTUzNSw3ICsxNTM1LDcgQEAgcmVkdWNlX2V4cGFu ZGVkX3JhbmdlcyhFeHBhbmRlZFJhbmdlICplcmFuZ2VzLCBpbnQgbmVyYW5nZXMsCiAJICog c29ydGVkIHJlc3VsdC4KIAkgKi8KIAlxc29ydF9hcmcodmFsdWVzLCBudmFsdWVzLCBzaXpl b2YoRGF0dW0pLAotCQkJICBjb21wYXJlX3ZhbHVlcywgKHZvaWQgKikgJmN4dCk7CisJCQkg IGNvbXBhcmVfdmFsdWVzLCAmY3h0KTsKIAogCS8qIFdlIGhhdmUgbnZhbHVlcyBib3VuZGFy eSB2YWx1ZXMsIHdoaWNoIG1lYW5zIG52YWx1ZXMvMiByYW5nZXMuICovCiAJZm9yIChpID0g MDsgaSA8IChudmFsdWVzIC8gMik7IGkrKykKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2Fj Y2Vzcy9naW4vZ2ludXRpbC5jIGIvc3JjL2JhY2tlbmQvYWNjZXNzL2dpbi9naW51dGlsLmMK aW5kZXggZTdjYzQ1MmE4YS4uZjA1MTI4ZWNmNSAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQv YWNjZXNzL2dpbi9naW51dGlsLmMKKysrIGIvc3JjL2JhY2tlbmQvYWNjZXNzL2dpbi9naW51 dGlsLmMKQEAgLTU2MCw3ICs1NjAsNyBAQCBnaW5FeHRyYWN0RW50cmllcyhHaW5TdGF0ZSAq Z2luc3RhdGUsIE9mZnNldE51bWJlciBhdHRudW0sCiAJCWFyZy5jb2xsYXRpb24gPSBnaW5z dGF0ZS0+c3VwcG9ydENvbGxhdGlvblthdHRudW0gLSAxXTsKIAkJYXJnLmhhdmVEdXBzID0g ZmFsc2U7CiAJCXFzb3J0X2FyZyhrZXlkYXRhLCAqbmVudHJpZXMsIHNpemVvZihrZXlFbnRy eURhdGEpLAotCQkJCSAgY21wRW50cmllcywgKHZvaWQgKikgJmFyZyk7CisJCQkJICBjbXBF bnRyaWVzLCAmYXJnKTsKIAogCQlpZiAoYXJnLmhhdmVEdXBzKQogCQl7CmRpZmYgLS1naXQg YS9zcmMvYmFja2VuZC9hY2Nlc3MvbmJ0cmVlL25idHV0aWxzLmMgYi9zcmMvYmFja2VuZC9h Y2Nlc3MvbmJ0cmVlL25idHV0aWxzLmMKaW5kZXggODAwMzU4M2MwYS4uN2RhNDk5YzRkZCAx MDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvYWNjZXNzL25idHJlZS9uYnR1dGlscy5jCisrKyBi L3NyYy9iYWNrZW5kL2FjY2Vzcy9uYnRyZWUvbmJ0dXRpbHMuYwpAQCAtNDg4LDggKzQ4OCw4 IEBAIF9idF9zb3J0X2FycmF5X2VsZW1lbnRzKEluZGV4U2NhbkRlc2Mgc2NhbiwgU2Nhbktl eSBza2V5LAogCWZtZ3JfaW5mbyhjbXBfcHJvYywgJmN4dC5mbGluZm8pOwogCWN4dC5jb2xs YXRpb24gPSBza2V5LT5za19jb2xsYXRpb247CiAJY3h0LnJldmVyc2UgPSByZXZlcnNlOwot CXFzb3J0X2FyZygodm9pZCAqKSBlbGVtcywgbmVsZW1zLCBzaXplb2YoRGF0dW0pLAotCQkJ ICBfYnRfY29tcGFyZV9hcnJheV9lbGVtZW50cywgKHZvaWQgKikgJmN4dCk7CisJcXNvcnRf YXJnKGVsZW1zLCBuZWxlbXMsIHNpemVvZihEYXR1bSksCisJCQkgIF9idF9jb21wYXJlX2Fy cmF5X2VsZW1lbnRzLCAmY3h0KTsKIAogCS8qIE5vdyBzY2FuIHRoZSBzb3J0ZWQgZWxlbWVu dHMgYW5kIHJlbW92ZSBkdXBsaWNhdGVzICovCiAJcmV0dXJuIHF1bmlxdWVfYXJnKGVsZW1z LCBuZWxlbXMsIHNpemVvZihEYXR1bSksCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9jYXRh bG9nL2RlcGVuZGVuY3kuYyBiL3NyYy9iYWNrZW5kL2NhdGFsb2cvZGVwZW5kZW5jeS5jCmlu ZGV4IDdhY2Y2NTRiZjguLmY4YTEzNmJhMGEgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2Nh dGFsb2cvZGVwZW5kZW5jeS5jCisrKyBiL3NyYy9iYWNrZW5kL2NhdGFsb2cvZGVwZW5kZW5j eS5jCkBAIC05NjcsNyArOTY3LDcgQEAgZmluZERlcGVuZGVudE9iamVjdHMoY29uc3QgT2Jq ZWN0QWRkcmVzcyAqb2JqZWN0LAogCSAqIGZpcnN0IHdpdGhpbiBPYmplY3RBZGRyZXNzQW5k RmxhZ3MuCiAJICovCiAJaWYgKG51bURlcGVuZGVudE9iamVjdHMgPiAxKQotCQlxc29ydCgo dm9pZCAqKSBkZXBlbmRlbnRPYmplY3RzLCBudW1EZXBlbmRlbnRPYmplY3RzLAorCQlxc29y dChkZXBlbmRlbnRPYmplY3RzLCBudW1EZXBlbmRlbnRPYmplY3RzLAogCQkJICBzaXplb2Yo T2JqZWN0QWRkcmVzc0FuZEZsYWdzKSwKIAkJCSAgb2JqZWN0X2FkZHJlc3NfY29tcGFyYXRv cik7CiAKQEAgLTI0NDIsNyArMjQ0Miw3IEBAIGVsaW1pbmF0ZV9kdXBsaWNhdGVfZGVwZW5k ZW5jaWVzKE9iamVjdEFkZHJlc3NlcyAqYWRkcnMpCiAJCXJldHVybjsJCQkJCS8qIG5vdGhp bmcgdG8gZG8gKi8KIAogCS8qIFNvcnQgdGhlIHJlZnMgc28gdGhhdCBkdXBsaWNhdGVzIGFy ZSBhZGphY2VudCAqLwotCXFzb3J0KCh2b2lkICopIGFkZHJzLT5yZWZzLCBhZGRycy0+bnVt cmVmcywgc2l6ZW9mKE9iamVjdEFkZHJlc3MpLAorCXFzb3J0KGFkZHJzLT5yZWZzLCBhZGRy cy0+bnVtcmVmcywgc2l6ZW9mKE9iamVjdEFkZHJlc3MpLAogCQkgIG9iamVjdF9hZGRyZXNz X2NvbXBhcmF0b3IpOwogCiAJLyogUmVtb3ZlIGR1cHMgKi8KQEAgLTI4MDksNyArMjgwOSw3 IEBAIHZvaWQKIHNvcnRfb2JqZWN0X2FkZHJlc3NlcyhPYmplY3RBZGRyZXNzZXMgKmFkZHJz KQogewogCWlmIChhZGRycy0+bnVtcmVmcyA+IDEpCi0JCXFzb3J0KCh2b2lkICopIGFkZHJz LT5yZWZzLCBhZGRycy0+bnVtcmVmcywKKwkJcXNvcnQoYWRkcnMtPnJlZnMsIGFkZHJzLT5u dW1yZWZzLAogCQkJICBzaXplb2YoT2JqZWN0QWRkcmVzcyksCiAJCQkgIG9iamVjdF9hZGRy ZXNzX2NvbXBhcmF0b3IpOwogfQpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvY2F0YWxvZy9w Z19zaGRlcGVuZC5jIGIvc3JjL2JhY2tlbmQvY2F0YWxvZy9wZ19zaGRlcGVuZC5jCmluZGV4 IDFjZTBiYTk0ZTMuLjY0ZDMyNmYwNzMgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2NhdGFs b2cvcGdfc2hkZXBlbmQuYworKysgYi9zcmMvYmFja2VuZC9jYXRhbG9nL3BnX3NoZGVwZW5k LmMKQEAgLTc2Miw3ICs3NjIsNyBAQCBjaGVja1NoYXJlZERlcGVuZGVuY2llcyhPaWQgY2xh c3NJZCwgT2lkIG9iamVjdElkLAogCSAqIFNvcnQgYW5kIHJlcG9ydCBsb2NhbCBhbmQgc2hh cmVkIG9iamVjdHMuCiAJICovCiAJaWYgKG51bW9iamVjdHMgPiAxKQotCQlxc29ydCgodm9p ZCAqKSBvYmplY3RzLCBudW1vYmplY3RzLAorCQlxc29ydChvYmplY3RzLCBudW1vYmplY3Rz LAogCQkJICBzaXplb2YoU2hEZXBlbmRPYmplY3RJbmZvKSwgc2hhcmVkX2RlcGVuZGVuY3lf Y29tcGFyYXRvcik7CiAKIAlmb3IgKGludCBpID0gMDsgaSA8IG51bW9iamVjdHM7IGkrKykK ZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2NvbW1hbmRzL2FuYWx5emUuYyBiL3NyYy9iYWNr ZW5kL2NvbW1hbmRzL2FuYWx5emUuYwppbmRleCBjODZlNjkwOTgwLi42NTc1MDk1OGJiIDEw MDY0NAotLS0gYS9zcmMvYmFja2VuZC9jb21tYW5kcy9hbmFseXplLmMKKysrIGIvc3JjL2Jh Y2tlbmQvY29tbWFuZHMvYW5hbHl6ZS5jCkBAIC0xMzA0LDcgKzEzMDQsNyBAQCBhY3F1aXJl X3NhbXBsZV9yb3dzKFJlbGF0aW9uIG9uZXJlbCwgaW50IGVsZXZlbCwKIAkgKiB0dXBsZXMg YXJlIGFscmVhZHkgc29ydGVkLgogCSAqLwogCWlmIChudW1yb3dzID09IHRhcmdyb3dzKQot CQlxc29ydF9pbnRlcnJ1cHRpYmxlKCh2b2lkICopIHJvd3MsIG51bXJvd3MsIHNpemVvZihI ZWFwVHVwbGUpLAorCQlxc29ydF9pbnRlcnJ1cHRpYmxlKHJvd3MsIG51bXJvd3MsIHNpemVv ZihIZWFwVHVwbGUpLAogCQkJCQkJCWNvbXBhcmVfcm93cywgTlVMTCk7CiAKIAkvKgpAQCAt MjQ3OSw4ICsyNDc5LDggQEAgY29tcHV0ZV9zY2FsYXJfc3RhdHMoVmFjQXR0clN0YXRzUCBz dGF0cywKIAkJLyogU29ydCB0aGUgY29sbGVjdGVkIHZhbHVlcyAqLwogCQljeHQuc3N1cCA9 ICZzc3VwOwogCQljeHQudHVwbm9MaW5rID0gdHVwbm9MaW5rOwotCQlxc29ydF9pbnRlcnJ1 cHRpYmxlKCh2b2lkICopIHZhbHVlcywgdmFsdWVzX2NudCwgc2l6ZW9mKFNjYWxhckl0ZW0p LAotCQkJCQkJCWNvbXBhcmVfc2NhbGFycywgKHZvaWQgKikgJmN4dCk7CisJCXFzb3J0X2lu dGVycnVwdGlibGUodmFsdWVzLCB2YWx1ZXNfY250LCBzaXplb2YoU2NhbGFySXRlbSksCisJ CQkJCQkJY29tcGFyZV9zY2FsYXJzLCAmY3h0KTsKIAogCQkvKgogCQkgKiBOb3cgc2NhbiB0 aGUgdmFsdWVzIGluIG9yZGVyLCBmaW5kIHRoZSBtb3N0IGNvbW1vbiBvbmVzLCBhbmQgYWxz bwpAQCAtMjcyNCw3ICsyNzI0LDcgQEAgY29tcHV0ZV9zY2FsYXJfc3RhdHMoVmFjQXR0clN0 YXRzUCBzdGF0cywKIAkJCQkJCWRlbHRhZnJhYzsKIAogCQkJLyogU29ydCB0aGUgTUNWIGl0 ZW1zIGludG8gcG9zaXRpb24gb3JkZXIgdG8gc3BlZWQgbmV4dCBsb29wICovCi0JCQlxc29y dF9pbnRlcnJ1cHRpYmxlKCh2b2lkICopIHRyYWNrLCBudW1fbWN2LCBzaXplb2YoU2NhbGFy TUNWSXRlbSksCisJCQlxc29ydF9pbnRlcnJ1cHRpYmxlKHRyYWNrLCBudW1fbWN2LCBzaXpl b2YoU2NhbGFyTUNWSXRlbSksCiAJCQkJCQkJCWNvbXBhcmVfbWN2cywgTlVMTCk7CiAKIAkJ CS8qCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9jb21tYW5kcy9jb2xsYXRpb25jbWRzLmMg Yi9zcmMvYmFja2VuZC9jb21tYW5kcy9jb2xsYXRpb25jbWRzLmMKaW5kZXggNmE0MzExY2M2 My4uZWI2MmQyODVlYSAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvY29tbWFuZHMvY29sbGF0 aW9uY21kcy5jCisrKyBiL3NyYy9iYWNrZW5kL2NvbW1hbmRzL2NvbGxhdGlvbmNtZHMuYwpA QCAtODc4LDcgKzg3OCw3IEBAIHBnX2ltcG9ydF9zeXN0ZW1fY29sbGF0aW9ucyhQR19GVU5D VElPTl9BUkdTKQogCQkgKiBjcmVhdGVkIHN1Y2ggYSBwZ19jb2xsYXRpb24gZW50cnkgYWJv dmUsIGFuZCB0aGF0IG9uZSB3aWxsIHdpbi4pCiAJCSAqLwogCQlpZiAobmFsaWFzZXMgPiAx KQotCQkJcXNvcnQoKHZvaWQgKikgYWxpYXNlcywgbmFsaWFzZXMsIHNpemVvZihDb2xsQWxp YXNEYXRhKSwgY21wYWxpYXNlcyk7CisJCQlxc29ydChhbGlhc2VzLCBuYWxpYXNlcywgc2l6 ZW9mKENvbGxBbGlhc0RhdGEpLCBjbXBhbGlhc2VzKTsKIAogCQkvKiBOb3cgYWRkIGFsaWFz ZXMsIGlnbm9yaW5nIGFueSB0aGF0IG1hdGNoIHByZS1leGlzdGluZyBlbnRyaWVzICovCiAJ CWZvciAoaSA9IDA7IGkgPCBuYWxpYXNlczsgaSsrKQpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tl bmQvZXhlY3V0b3Ivbm9kZVRpZHNjYW4uYyBiL3NyYy9iYWNrZW5kL2V4ZWN1dG9yL25vZGVU aWRzY2FuLmMKaW5kZXggZmU2YTk2NGVlMS4uODYyYmQwMzMwYiAxMDA2NDQKLS0tIGEvc3Jj L2JhY2tlbmQvZXhlY3V0b3Ivbm9kZVRpZHNjYW4uYworKysgYi9zcmMvYmFja2VuZC9leGVj dXRvci9ub2RlVGlkc2Nhbi5jCkBAIC0yNjYsNyArMjY2LDcgQEAgVGlkTGlzdEV2YWwoVGlk U2NhblN0YXRlICp0aWRzdGF0ZSkKIAkJLyogQ3VycmVudE9mRXhwciBjb3VsZCBuZXZlciBh cHBlYXIgT1InZCB3aXRoIHNvbWV0aGluZyBlbHNlICovCiAJCUFzc2VydCghdGlkc3RhdGUt PnRzc19pc0N1cnJlbnRPZik7CiAKLQkJcXNvcnQoKHZvaWQgKikgdGlkTGlzdCwgbnVtVGlk cywgc2l6ZW9mKEl0ZW1Qb2ludGVyRGF0YSksCisJCXFzb3J0KHRpZExpc3QsIG51bVRpZHMs IHNpemVvZihJdGVtUG9pbnRlckRhdGEpLAogCQkJICBpdGVtcHRyX2NvbXBhcmF0b3IpOwog CQludW1UaWRzID0gcXVuaXF1ZSh0aWRMaXN0LCBudW1UaWRzLCBzaXplb2YoSXRlbVBvaW50 ZXJEYXRhKSwKIAkJCQkJCSAgaXRlbXB0cl9jb21wYXJhdG9yKTsKZGlmZiAtLWdpdCBhL3Ny Yy9iYWNrZW5kL25vZGVzL3RpZGJpdG1hcC5jIGIvc3JjL2JhY2tlbmQvbm9kZXMvdGlkYml0 bWFwLmMKaW5kZXggOGM2NDBjZTE2YS4uMjlhMTg1ODQ0MSAxMDA2NDQKLS0tIGEvc3JjL2Jh Y2tlbmQvbm9kZXMvdGlkYml0bWFwLmMKKysrIGIvc3JjL2JhY2tlbmQvbm9kZXMvdGlkYml0 bWFwLmMKQEAgLTg1MywxMSArODUzLDExIEBAIHRibV9wcmVwYXJlX3NoYXJlZF9pdGVyYXRl KFRJREJpdG1hcCAqdGJtKQogCQlpZiAocHRiYXNlICE9IE5VTEwpCiAJCQlwZ19hdG9taWNf aW5pdF91MzIoJnB0YmFzZS0+cmVmY291bnQsIDApOwogCQlpZiAobnBhZ2VzID4gMSkKLQkJ CXFzb3J0X2FyZygodm9pZCAqKSAocHRwYWdlcy0+aW5kZXgpLCBucGFnZXMsIHNpemVvZihp bnQpLAotCQkJCQkgIHRibV9zaGFyZWRfY29tcGFyYXRvciwgKHZvaWQgKikgcHRiYXNlLT5w dGVudHJ5KTsKKwkJCXFzb3J0X2FyZyhwdHBhZ2VzLT5pbmRleCwgbnBhZ2VzLCBzaXplb2Yo aW50KSwKKwkJCQkJICB0Ym1fc2hhcmVkX2NvbXBhcmF0b3IsIHB0YmFzZS0+cHRlbnRyeSk7 CiAJCWlmIChuY2h1bmtzID4gMSkKLQkJCXFzb3J0X2FyZygodm9pZCAqKSAocHRjaHVua3Mt PmluZGV4KSwgbmNodW5rcywgc2l6ZW9mKGludCksCi0JCQkJCSAgdGJtX3NoYXJlZF9jb21w YXJhdG9yLCAodm9pZCAqKSBwdGJhc2UtPnB0ZW50cnkpOworCQkJcXNvcnRfYXJnKHB0Y2h1 bmtzLT5pbmRleCwgbmNodW5rcywgc2l6ZW9mKGludCksCisJCQkJCSAgdGJtX3NoYXJlZF9j b21wYXJhdG9yLCBwdGJhc2UtPnB0ZW50cnkpOwogCX0KIAogCS8qCmRpZmYgLS1naXQgYS9z cmMvYmFja2VuZC9wYXJ0aXRpb25pbmcvcGFydGJvdW5kcy5jIGIvc3JjL2JhY2tlbmQvcGFy dGl0aW9uaW5nL3BhcnRib3VuZHMuYwppbmRleCBlZDg4MGM0OTZhLi5hNjljMWQxZTc3IDEw MDY0NAotLS0gYS9zcmMvYmFja2VuZC9wYXJ0aXRpb25pbmcvcGFydGJvdW5kcy5jCisrKyBi L3NyYy9iYWNrZW5kL3BhcnRpdGlvbmluZy9wYXJ0Ym91bmRzLmMKQEAgLTUzMSw3ICs1MzEs NyBAQCBjcmVhdGVfbGlzdF9ib3VuZHMoUGFydGl0aW9uQm91bmRTcGVjICoqYm91bmRzcGVj cywgaW50IG5wYXJ0cywKIAlBc3NlcnQoaiA9PSBuZGF0dW1zKTsKIAogCXFzb3J0X2FyZyhh bGxfdmFsdWVzLCBuZGF0dW1zLCBzaXplb2YoUGFydGl0aW9uTGlzdFZhbHVlKSwKLQkJCSAg cXNvcnRfcGFydGl0aW9uX2xpc3RfdmFsdWVfY21wLCAodm9pZCAqKSBrZXkpOworCQkJICBx c29ydF9wYXJ0aXRpb25fbGlzdF92YWx1ZV9jbXAsIGtleSk7CiAKIAlib3VuZGluZm8tPm5k YXR1bXMgPSBuZGF0dW1zOwogCWJvdW5kaW5mby0+ZGF0dW1zID0gKERhdHVtICoqKSBwYWxs b2MwKG5kYXR1bXMgKiBzaXplb2YoRGF0dW0gKikpOwpAQCAtNzM3LDcgKzczNyw3IEBAIGNy ZWF0ZV9yYW5nZV9ib3VuZHMoUGFydGl0aW9uQm91bmRTcGVjICoqYm91bmRzcGVjcywgaW50 IG5wYXJ0cywKIAlxc29ydF9hcmcoYWxsX2JvdW5kcywgbmRhdHVtcywKIAkJCSAgc2l6ZW9m KFBhcnRpdGlvblJhbmdlQm91bmQgKiksCiAJCQkgIHFzb3J0X3BhcnRpdGlvbl9yYm91bmRf Y21wLAotCQkJICAodm9pZCAqKSBrZXkpOworCQkJICBrZXkpOwogCiAJLyogU2F2ZSBkaXN0 aW5jdCBib3VuZHMgZnJvbSBhbGxfYm91bmRzIGludG8gcmJvdW5kcy4gKi8KIAlyYm91bmRz ID0gKFBhcnRpdGlvblJhbmdlQm91bmQgKiopCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9z dGF0aXN0aWNzL2V4dGVuZGVkX3N0YXRzLmMgYi9zcmMvYmFja2VuZC9zdGF0aXN0aWNzL2V4 dGVuZGVkX3N0YXRzLmMKaW5kZXggYmRjMjFiYjQ1Ny4uNTcyZDliNDQ2NCAxMDA2NDQKLS0t IGEvc3JjL2JhY2tlbmQvc3RhdGlzdGljcy9leHRlbmRlZF9zdGF0cy5jCisrKyBiL3NyYy9i YWNrZW5kL3N0YXRpc3RpY3MvZXh0ZW5kZWRfc3RhdHMuYwpAQCAtMTEyOSw3ICsxMTI5LDcg QEAgYnVpbGRfc29ydGVkX2l0ZW1zKFN0YXRzQnVpbGREYXRhICpkYXRhLCBpbnQgKm5pdGVt cywKIAl9CiAKIAkvKiBkbyB0aGUgc29ydCwgdXNpbmcgdGhlIG11bHRpLXNvcnQgKi8KLQlx c29ydF9pbnRlcnJ1cHRpYmxlKCh2b2lkICopIGl0ZW1zLCBucm93cywgc2l6ZW9mKFNvcnRJ dGVtKSwKKwlxc29ydF9pbnRlcnJ1cHRpYmxlKGl0ZW1zLCBucm93cywgc2l6ZW9mKFNvcnRJ dGVtKSwKIAkJCQkJCW11bHRpX3NvcnRfY29tcGFyZSwgbXNzKTsKIAogCXJldHVybiBpdGVt czsKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3N0YXRpc3RpY3MvbWN2LmMgYi9zcmMvYmFj a2VuZC9zdGF0aXN0aWNzL21jdi5jCmluZGV4IDJkMmE4N2QzYTYuLmUyMWUwZTg3ZTQgMTAw NjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3N0YXRpc3RpY3MvbWN2LmMKKysrIGIvc3JjL2JhY2tl bmQvc3RhdGlzdGljcy9tY3YuYwpAQCAtNDU3LDcgKzQ1Nyw3IEBAIGJ1aWxkX2Rpc3RpbmN0 X2dyb3VwcyhpbnQgbnVtcm93cywgU29ydEl0ZW0gKml0ZW1zLCBNdWx0aVNvcnRTdXBwb3J0 IG1zcywKIAlBc3NlcnQoaiArIDEgPT0gbmdyb3Vwcyk7CiAKIAkvKiBTb3J0IHRoZSBkaXN0 aW5jdCBncm91cHMgYnkgZnJlcXVlbmN5IChpbiBkZXNjZW5kaW5nIG9yZGVyKS4gKi8KLQlx c29ydF9pbnRlcnJ1cHRpYmxlKCh2b2lkICopIGdyb3Vwcywgbmdyb3Vwcywgc2l6ZW9mKFNv cnRJdGVtKSwKKwlxc29ydF9pbnRlcnJ1cHRpYmxlKGdyb3Vwcywgbmdyb3Vwcywgc2l6ZW9m KFNvcnRJdGVtKSwKIAkJCQkJCWNvbXBhcmVfc29ydF9pdGVtX2NvdW50LCBOVUxMKTsKIAog CSpuZGlzdGluY3QgPSBuZ3JvdXBzOwpAQCAtNTI4LDcgKzUyOCw3IEBAIGJ1aWxkX2NvbHVt bl9mcmVxdWVuY2llcyhTb3J0SXRlbSAqZ3JvdXBzLCBpbnQgbmdyb3VwcywKIAkJfQogCiAJ CS8qIHNvcnQgdGhlIHZhbHVlcywgZGVkdXBsaWNhdGUgKi8KLQkJcXNvcnRfaW50ZXJydXB0 aWJsZSgodm9pZCAqKSByZXN1bHRbZGltXSwgbmdyb3Vwcywgc2l6ZW9mKFNvcnRJdGVtKSwK KwkJcXNvcnRfaW50ZXJydXB0aWJsZShyZXN1bHRbZGltXSwgbmdyb3Vwcywgc2l6ZW9mKFNv cnRJdGVtKSwKIAkJCQkJCQlzb3J0X2l0ZW1fY29tcGFyZSwgc3N1cCk7CiAKIAkJLyoKZGlm ZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3N0YXRpc3RpY3MvbXZkaXN0aW5jdC5jIGIvc3JjL2Jh Y2tlbmQvc3RhdGlzdGljcy9tdmRpc3RpbmN0LmMKaW5kZXggMTMzMDFhMzE1Ny4uZGY1Y2Mz ZTEzYSAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvc3RhdGlzdGljcy9tdmRpc3RpbmN0LmMK KysrIGIvc3JjL2JhY2tlbmQvc3RhdGlzdGljcy9tdmRpc3RpbmN0LmMKQEAgLTQ4OSw3ICs0 ODksNyBAQCBuZGlzdGluY3RfZm9yX2NvbWJpbmF0aW9uKGRvdWJsZSB0b3RhbHJvd3MsIFN0 YXRzQnVpbGREYXRhICpkYXRhLAogCX0KIAogCS8qIFdlIGNhbiBzb3J0IHRoZSBhcnJheSBu b3cgLi4uICovCi0JcXNvcnRfaW50ZXJydXB0aWJsZSgodm9pZCAqKSBpdGVtcywgbnVtcm93 cywgc2l6ZW9mKFNvcnRJdGVtKSwKKwlxc29ydF9pbnRlcnJ1cHRpYmxlKGl0ZW1zLCBudW1y b3dzLCBzaXplb2YoU29ydEl0ZW0pLAogCQkJCQkJbXVsdGlfc29ydF9jb21wYXJlLCBtc3Mp OwogCiAJLyogLi4uIGFuZCBjb3VudCB0aGUgbnVtYmVyIG9mIGRpc3RpbmN0IGNvbWJpbmF0 aW9ucyAqLwpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvdHNlYXJjaC9zcGVsbC5jIGIvc3Jj L2JhY2tlbmQvdHNlYXJjaC9zcGVsbC5jCmluZGV4IGM4ZGZlZDYxNzguLmNjMDRiODcxNjQg MTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3RzZWFyY2gvc3BlbGwuYworKysgYi9zcmMvYmFj a2VuZC90c2VhcmNoL3NwZWxsLmMKQEAgLTEzMDUsNyArMTMwNSw3IEBAIE5JSW1wb3J0T09B ZmZpeGVzKElzcGVsbERpY3QgKkNvbmYsIGNvbnN0IGNoYXIgKmZpbGVuYW1lKQogCXRzZWFy Y2hfcmVhZGxpbmVfZW5kKCZ0cnN0KTsKIAogCWlmIChDb25mLT5uQ29tcG91bmRBZmZpeEZs YWcgPiAxKQotCQlxc29ydCgodm9pZCAqKSBDb25mLT5Db21wb3VuZEFmZml4RmxhZ3MsIENv bmYtPm5Db21wb3VuZEFmZml4RmxhZywKKwkJcXNvcnQoQ29uZi0+Q29tcG91bmRBZmZpeEZs YWdzLCBDb25mLT5uQ29tcG91bmRBZmZpeEZsYWcsCiAJCQkgIHNpemVvZihDb21wb3VuZEFm Zml4RmxhZyksIGNtcGNtZGZsYWcpOwogCiAJaWYgKCF0c2VhcmNoX3JlYWRsaW5lX2JlZ2lu KCZ0cnN0LCBmaWxlbmFtZSkpCkBAIC0xNzg5LDcgKzE3ODksNyBAQCBOSVNvcnREaWN0aW9u YXJ5KElzcGVsbERpY3QgKkNvbmYpCiAJZWxzZQogCXsKIAkJLyogQ291bnQgdGhlIG51bWJl ciBvZiBkaWZmZXJlbnQgZmxhZ3MgdXNlZCBpbiB0aGUgZGljdGlvbmFyeSAqLwotCQlxc29y dCgodm9pZCAqKSBDb25mLT5TcGVsbCwgQ29uZi0+bnNwZWxsLCBzaXplb2YoU1BFTEwgKiks CisJCXFzb3J0KENvbmYtPlNwZWxsLCBDb25mLT5uc3BlbGwsIHNpemVvZihTUEVMTCAqKSwK IAkJCSAgY21wc3BlbGxhZmZpeCk7CiAKIAkJbmFmZml4ID0gMDsKQEAgLTE4MjcsNyArMTgy Nyw3IEBAIE5JU29ydERpY3Rpb25hcnkoSXNwZWxsRGljdCAqQ29uZikKIAl9CiAKIAkvKiBT dGFydCBidWlsZCBhIHByZWZpeCB0cmVlICovCi0JcXNvcnQoKHZvaWQgKikgQ29uZi0+U3Bl bGwsIENvbmYtPm5zcGVsbCwgc2l6ZW9mKFNQRUxMICopLCBjbXBzcGVsbCk7CisJcXNvcnQo Q29uZi0+U3BlbGwsIENvbmYtPm5zcGVsbCwgc2l6ZW9mKFNQRUxMICopLCBjbXBzcGVsbCk7 CiAJQ29uZi0+RGljdGlvbmFyeSA9IG1rU1BOb2RlKENvbmYsIDAsIENvbmYtPm5zcGVsbCwg MCk7CiB9CiAKQEAgLTIwMDEsNyArMjAwMSw3IEBAIE5JU29ydEFmZml4ZXMoSXNwZWxsRGlj dCAqQ29uZikKIAogCS8qIFN0b3JlIGNvbXBvdW5kIGFmZml4ZXMgaW4gdGhlIENvbmYtPkNv bXBvdW5kQWZmaXggYXJyYXkgKi8KIAlpZiAoQ29uZi0+bmFmZml4ZXMgPiAxKQotCQlxc29y dCgodm9pZCAqKSBDb25mLT5BZmZpeCwgQ29uZi0+bmFmZml4ZXMsIHNpemVvZihBRkZJWCks IGNtcGFmZml4KTsKKwkJcXNvcnQoQ29uZi0+QWZmaXgsIENvbmYtPm5hZmZpeGVzLCBzaXpl b2YoQUZGSVgpLCBjbXBhZmZpeCk7CiAJQ29uZi0+Q29tcG91bmRBZmZpeCA9IHB0ciA9IChD TVBEQWZmaXggKikgcGFsbG9jKHNpemVvZihDTVBEQWZmaXgpICogQ29uZi0+bmFmZml4ZXMp OwogCXB0ci0+YWZmaXggPSBOVUxMOwogCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC90c2Vh cmNoL3RvX3RzYW55LmMgYi9zcmMvYmFja2VuZC90c2VhcmNoL3RvX3RzYW55LmMKaW5kZXgg ZjlhODdlNDNhYi4uM2I2ZDQxZjllOCAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvdHNlYXJj aC90b190c2FueS5jCisrKyBiL3NyYy9iYWNrZW5kL3RzZWFyY2gvdG9fdHNhbnkuYwpAQCAt OTcsNyArOTcsNyBAQCB1bmlxdWVXT1JEKFBhcnNlZFdvcmQgKmEsIGludDMyIGwpCiAJLyoK IAkgKiBTb3J0IHdvcmRzIHdpdGggaXRzIHBvc2l0aW9ucwogCSAqLwotCXFzb3J0KCh2b2lk ICopIGEsIGwsIHNpemVvZihQYXJzZWRXb3JkKSwgY29tcGFyZVdPUkQpOworCXFzb3J0KGEs IGwsIHNpemVvZihQYXJzZWRXb3JkKSwgY29tcGFyZVdPUkQpOwogCiAJLyoKIAkgKiBJbml0 aWFsaXplIGZpcnN0IHdvcmQgYW5kIGl0cyBmaXJzdCBwb3NpdGlvbgpkaWZmIC0tZ2l0IGEv c3JjL2JhY2tlbmQvdXRpbHMvYWR0L3RzZ2lzdGlkeC5jIGIvc3JjL2JhY2tlbmQvdXRpbHMv YWR0L3RzZ2lzdGlkeC5jCmluZGV4IGNhNDU2MzI5MGYuLmYwY2QyODY2ZmYgMTAwNjQ0Ci0t LSBhL3NyYy9iYWNrZW5kL3V0aWxzL2FkdC90c2dpc3RpZHguYworKysgYi9zcmMvYmFja2Vu ZC91dGlscy9hZHQvdHNnaXN0aWR4LmMKQEAgLTcwNCw3ICs3MDQsNyBAQCBndHN2ZWN0b3Jf cGlja3NwbGl0KFBHX0ZVTkNUSU9OX0FSR1MpCiAJCXNpemVfYmV0YSA9IGhlbWRpc3RjYWNo ZSgmKGNhY2hlW3NlZWRfMl0pLCAmKGNhY2hlW2pdKSwgc2lnbGVuKTsKIAkJY29zdHZlY3Rv cltqIC0gMV0uY29zdCA9IGFicyhzaXplX2FscGhhIC0gc2l6ZV9iZXRhKTsKIAl9Ci0JcXNv cnQoKHZvaWQgKikgY29zdHZlY3RvciwgbWF4b2ZmLCBzaXplb2YoU1BMSVRDT1NUKSwgY29t cGFyZWNvc3QpOworCXFzb3J0KGNvc3R2ZWN0b3IsIG1heG9mZiwgc2l6ZW9mKFNQTElUQ09T VCksIGNvbXBhcmVjb3N0KTsKIAogCWZvciAoayA9IDA7IGsgPCBtYXhvZmY7IGsrKykKIAl7 CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC91dGlscy9hZHQvdHNxdWVyeV9naXN0LmMgYi9z cmMvYmFja2VuZC91dGlscy9hZHQvdHNxdWVyeV9naXN0LmMKaW5kZXggYjc5NDFmZmFjYS4u N2M5OTM0OGQ0NCAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L3RzcXVlcnlf Z2lzdC5jCisrKyBiL3NyYy9iYWNrZW5kL3V0aWxzL2FkdC90c3F1ZXJ5X2dpc3QuYwpAQCAt MjIyLDcgKzIyMiw3IEBAIGd0c3F1ZXJ5X3BpY2tzcGxpdChQR19GVU5DVElPTl9BUkdTKQog CQlzaXplX2JldGEgPSBoZW1kaXN0KEdFVEVOVFJZKGVudHJ5dmVjLCBzZWVkXzIpLCBHRVRF TlRSWShlbnRyeXZlYywgaikpOwogCQljb3N0dmVjdG9yW2ogLSAxXS5jb3N0ID0gYWJzKHNp emVfYWxwaGEgLSBzaXplX2JldGEpOwogCX0KLQlxc29ydCgodm9pZCAqKSBjb3N0dmVjdG9y LCBtYXhvZmYsIHNpemVvZihTUExJVENPU1QpLCBjb21wYXJlY29zdCk7CisJcXNvcnQoY29z dHZlY3RvciwgbWF4b2ZmLCBzaXplb2YoU1BMSVRDT1NUKSwgY29tcGFyZWNvc3QpOwogCiAJ Zm9yIChrID0gMDsgayA8IG1heG9mZjsgaysrKQogCXsKZGlmZiAtLWdpdCBhL3NyYy9iYWNr ZW5kL3V0aWxzL2FkdC90c3F1ZXJ5X3V0aWwuYyBiL3NyYy9iYWNrZW5kL3V0aWxzL2FkdC90 c3F1ZXJ5X3V0aWwuYwppbmRleCBmMjY2YjlmMDY3Li43YjY5NzBhNmY4IDEwMDY0NAotLS0g YS9zcmMvYmFja2VuZC91dGlscy9hZHQvdHNxdWVyeV91dGlsLmMKKysrIGIvc3JjL2JhY2tl bmQvdXRpbHMvYWR0L3RzcXVlcnlfdXRpbC5jCkBAIC0xNzMsNyArMTczLDcgQEAgUVROU29y dChRVE5vZGUgKmluKQogCWZvciAoaSA9IDA7IGkgPCBpbi0+bmNoaWxkOyBpKyspCiAJCVFU TlNvcnQoaW4tPmNoaWxkW2ldKTsKIAlpZiAoaW4tPm5jaGlsZCA+IDEgJiYgaW4tPnZhbG5v ZGUtPnFvcGVyYXRvci5vcGVyICE9IE9QX1BIUkFTRSkKLQkJcXNvcnQoKHZvaWQgKikgaW4t PmNoaWxkLCBpbi0+bmNoaWxkLCBzaXplb2YoUVROb2RlICopLCBjbXBRVE4pOworCQlxc29y dChpbi0+Y2hpbGQsIGluLT5uY2hpbGQsIHNpemVvZihRVE5vZGUgKiksIGNtcFFUTik7CiB9 CiAKIC8qCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC91dGlscy9hZHQvdHNyYW5rLmMgYi9z cmMvYmFja2VuZC91dGlscy9hZHQvdHNyYW5rLmMKaW5kZXggMWFlNTU1ZjdmNy4uZTViODUw ZWE4ZSAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L3RzcmFuay5jCisrKyBi L3NyYy9iYWNrZW5kL3V0aWxzL2FkdC90c3JhbmsuYwpAQCAtMTc2LDcgKzE3Niw3IEBAIFNv cnRBbmRVbmlxSXRlbXMoVFNRdWVyeSBxLCBpbnQgKnNpemUpCiAJaWYgKCpzaXplIDwgMikK IAkJcmV0dXJuIHJlczsKIAotCXFzb3J0X2FyZyhyZXMsICpzaXplLCBzaXplb2YoUXVlcnlP cGVyYW5kICopLCBjb21wYXJlUXVlcnlPcGVyYW5kLCAodm9pZCAqKSBvcGVyYW5kKTsKKwlx c29ydF9hcmcocmVzLCAqc2l6ZSwgc2l6ZW9mKFF1ZXJ5T3BlcmFuZCAqKSwgY29tcGFyZVF1 ZXJ5T3BlcmFuZCwgb3BlcmFuZCk7CiAKIAlwdHIgPSByZXMgKyAxOwogCXByZXZwdHIgPSBy ZXM7CkBAIC04MDQsNyArODA0LDcgQEAgZ2V0X2RvY3JlcChUU1ZlY3RvciB0eHQsIFF1ZXJ5 UmVwcmVzZW50YXRpb24gKnFyLCBpbnQgKmRvY2xlbikKIAkJLyoKIAkJICogU29ydCByZXBy ZXNlbnRhdGlvbiBpbiBhc2NlbmRpbmcgb3JkZXIgYnkgcG9zIGFuZCBlbnRyeQogCQkgKi8K LQkJcXNvcnQoKHZvaWQgKikgZG9jLCBjdXIsIHNpemVvZihEb2NSZXByZXNlbnRhdGlvbiks IGNvbXBhcmVEb2NSKTsKKwkJcXNvcnQoZG9jLCBjdXIsIHNpemVvZihEb2NSZXByZXNlbnRh dGlvbiksIGNvbXBhcmVEb2NSKTsKIAogCQkvKgogCQkgKiBKb2luIFF1ZXJ5SXRlbSBwZXIg V29yZEVudHJ5IGFuZCBpdCdzIHBvc2l0aW9uCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC91 dGlscy9hZHQvdHN2ZWN0b3IuYyBiL3NyYy9iYWNrZW5kL3V0aWxzL2FkdC90c3ZlY3Rvci5j CmluZGV4IGU1YjA1OTYwZTMuLjAzZGIyNzE5NGEgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5k L3V0aWxzL2FkdC90c3ZlY3Rvci5jCisrKyBiL3NyYy9iYWNrZW5kL3V0aWxzL2FkdC90c3Zl Y3Rvci5jCkBAIC01OCw3ICs1OCw3IEBAIHVuaXF1ZVBvcyhXb3JkRW50cnlQb3MgKmEsIGlu dCBsKQogCWlmIChsIDw9IDEpCiAJCXJldHVybiBsOwogCi0JcXNvcnQoKHZvaWQgKikgYSwg bCwgc2l6ZW9mKFdvcmRFbnRyeVBvcyksIGNvbXBhcmVXb3JkRW50cnlQb3MpOworCXFzb3J0 KGEsIGwsIHNpemVvZihXb3JkRW50cnlQb3MpLCBjb21wYXJlV29yZEVudHJ5UG9zKTsKIAog CXJlcyA9IGE7CiAJcHRyID0gYSArIDE7CkBAIC0xMDcsOCArMTA3LDggQEAgdW5pcXVlZW50 cnkoV29yZEVudHJ5SU4gKmEsIGludCBsLCBjaGFyICpidWYsIGludCAqb3V0YnVmbGVuKQog CUFzc2VydChsID49IDEpOwogCiAJaWYgKGwgPiAxKQotCQlxc29ydF9hcmcoKHZvaWQgKikg YSwgbCwgc2l6ZW9mKFdvcmRFbnRyeUlOKSwgY29tcGFyZWVudHJ5LAotCQkJCSAgKHZvaWQg KikgYnVmKTsKKwkJcXNvcnRfYXJnKGEsIGwsIHNpemVvZihXb3JkRW50cnlJTiksIGNvbXBh cmVlbnRyeSwKKwkJCQkgIGJ1Zik7CiAKIAlidWZsZW4gPSAwOwogCXJlcyA9IGE7CkBAIC01 NTIsOCArNTUyLDggQEAgdHN2ZWN0b3JyZWN2KFBHX0ZVTkNUSU9OX0FSR1MpCiAJU0VUX1ZB UlNJWkUodmVjLCBoZHJsZW4gKyBkYXRhbGVuKTsKIAogCWlmIChuZWVkU29ydCkKLQkJcXNv cnRfYXJnKCh2b2lkICopIEFSUlBUUih2ZWMpLCB2ZWMtPnNpemUsIHNpemVvZihXb3JkRW50 cnkpLAotCQkJCSAgY29tcGFyZWVudHJ5LCAodm9pZCAqKSBTVFJQVFIodmVjKSk7CisJCXFz b3J0X2FyZyhBUlJQVFIodmVjKSwgdmVjLT5zaXplLCBzaXplb2YoV29yZEVudHJ5KSwKKwkJ CQkgIGNvbXBhcmVlbnRyeSwgU1RSUFRSKHZlYykpOwogCiAJUEdfUkVUVVJOX1RTVkVDVE9S KHZlYyk7CiB9CmRpZmYgLS1naXQgYS9zcmMvYmluL3BnX2R1bXAvcGdfYmFja3VwX2FyY2hp dmVyLmMgYi9zcmMvYmluL3BnX2R1bXAvcGdfYmFja3VwX2FyY2hpdmVyLmMKaW5kZXggY2I0 Mzg2Zjg3MS4uNzFkM2JjMjVmYiAxMDA2NDQKLS0tIGEvc3JjL2Jpbi9wZ19kdW1wL3BnX2Jh Y2t1cF9hcmNoaXZlci5jCisrKyBiL3NyYy9iaW4vcGdfZHVtcC9wZ19iYWNrdXBfYXJjaGl2 ZXIuYwpAQCAtMjM2Myw3ICsyMzYzLDcgQEAgV3JpdGVEYXRhQ2h1bmtzKEFyY2hpdmVIYW5k bGUgKkFILCBQYXJhbGxlbFN0YXRlICpwc3RhdGUpCiAJCX0KIAogCQlpZiAobnRlcyA+IDEp Ci0JCQlxc29ydCgodm9pZCAqKSB0ZXMsIG50ZXMsIHNpemVvZihUb2NFbnRyeSAqKSwKKwkJ CXFzb3J0KHRlcywgbnRlcywgc2l6ZW9mKFRvY0VudHJ5ICopLAogCQkJCSAgVG9jRW50cnlT aXplQ29tcGFyZSk7CiAKIAkJZm9yIChpbnQgaSA9IDA7IGkgPCBudGVzOyBpKyspCmRpZmYg LS1naXQgYS9zcmMvYmluL3BnX2R1bXAvcGdfZHVtcF9zb3J0LmMgYi9zcmMvYmluL3BnX2R1 bXAvcGdfZHVtcF9zb3J0LmMKaW5kZXggZjk2M2I5YTQ0OS4uODI2NmMxMTdhMyAxMDA2NDQK LS0tIGEvc3JjL2Jpbi9wZ19kdW1wL3BnX2R1bXBfc29ydC5jCisrKyBiL3NyYy9iaW4vcGdf ZHVtcC9wZ19kdW1wX3NvcnQuYwpAQCAtMTg2LDcgKzE4Niw3IEBAIHZvaWQKIHNvcnREdW1w YWJsZU9iamVjdHNCeVR5cGVOYW1lKER1bXBhYmxlT2JqZWN0ICoqb2JqcywgaW50IG51bU9i anMpCiB7CiAJaWYgKG51bU9ianMgPiAxKQotCQlxc29ydCgodm9pZCAqKSBvYmpzLCBudW1P YmpzLCBzaXplb2YoRHVtcGFibGVPYmplY3QgKiksCisJCXFzb3J0KG9ianMsIG51bU9ianMs IHNpemVvZihEdW1wYWJsZU9iamVjdCAqKSwKIAkJCSAgRE9UeXBlTmFtZUNvbXBhcmUpOwog fQogCmRpZmYgLS1naXQgYS9zcmMvYmluL3BnX3VwZ3JhZGUvZnVuY3Rpb24uYyBiL3NyYy9i aW4vcGdfdXBncmFkZS9mdW5jdGlvbi5jCmluZGV4IDlhZDc1NDQ2ZWUuLmRjODgwMGM3Y2Qg MTAwNjQ0Ci0tLSBhL3NyYy9iaW4vcGdfdXBncmFkZS9mdW5jdGlvbi5jCisrKyBiL3NyYy9i aW4vcGdfdXBncmFkZS9mdW5jdGlvbi5jCkBAIC0xMzYsNyArMTM2LDcgQEAgY2hlY2tfbG9h ZGFibGVfbGlicmFyaWVzKHZvaWQpCiAJICogY29uc2lzdGVudCBvcmRlciwgd2hpY2ggaXMg aW1wb3J0YW50IGZvciByZXByb2R1Y2libGUgYmVoYXZpb3IgaWYgb25lCiAJICogbGlicmFy eSBkZXBlbmRzIG9uIGFub3RoZXIuCiAJICovCi0JcXNvcnQoKHZvaWQgKikgb3NfaW5mby5s aWJyYXJpZXMsIG9zX2luZm8ubnVtX2xpYnJhcmllcywKKwlxc29ydChvc19pbmZvLmxpYnJh cmllcywgb3NfaW5mby5udW1fbGlicmFyaWVzLAogCQkgIHNpemVvZihMaWJyYXJ5SW5mbyks IGxpYnJhcnlfbmFtZV9jb21wYXJlKTsKIAogCWZvciAobGlibnVtID0gMDsgbGlibnVtIDwg b3NfaW5mby5udW1fbGlicmFyaWVzOyBsaWJudW0rKykKZGlmZiAtLWdpdCBhL3NyYy9iaW4v cGdiZW5jaC9wZ2JlbmNoLmMgYi9zcmMvYmluL3BnYmVuY2gvcGdiZW5jaC5jCmluZGV4IDlj MTJmZmFlYTkuLmQyZDY0MzFhMjggMTAwNjQ0Ci0tLSBhL3NyYy9iaW4vcGdiZW5jaC9wZ2Jl bmNoLmMKKysrIGIvc3JjL2Jpbi9wZ2JlbmNoL3BnYmVuY2guYwpAQCAtMTYwNCw3ICsxNjA0 LDcgQEAgbG9va3VwVmFyaWFibGUoVmFyaWFibGVzICp2YXJpYWJsZXMsIGNoYXIgKm5hbWUp CiAJLyogU29ydCBpZiB3ZSBoYXZlIHRvICovCiAJaWYgKCF2YXJpYWJsZXMtPnZhcnNfc29y dGVkKQogCXsKLQkJcXNvcnQoKHZvaWQgKikgdmFyaWFibGVzLT52YXJzLCB2YXJpYWJsZXMt Pm52YXJzLCBzaXplb2YoVmFyaWFibGUpLAorCQlxc29ydCh2YXJpYWJsZXMtPnZhcnMsIHZh cmlhYmxlcy0+bnZhcnMsIHNpemVvZihWYXJpYWJsZSksCiAJCQkgIGNvbXBhcmVWYXJpYWJs ZU5hbWVzKTsKIAkJdmFyaWFibGVzLT52YXJzX3NvcnRlZCA9IHRydWU7CiAJfQotLSAKMi4z OS4xCgo= --------------jM0jQQl2n2T7n2hVBs6V0gOs Content-Type: text/plain; charset=UTF-8; name="0008-Remove-useless-casts-to-void-bsearch.patch" Content-Disposition: attachment; filename="0008-Remove-useless-casts-to-void-bsearch.patch" Content-Transfer-Encoding: base64 RnJvbSA1Y2NkMjA5YzBmZDI2NjI1NTk3NzU3Y2VjYzVjN2FjYzBmMmI3YjE4IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQZXRlciBFaXNlbnRyYXV0IDxwZXRlckBlaXNlbnRy YXV0Lm9yZz4KRGF0ZTogVGh1LCAyIEZlYiAyMDIzIDIzOjAyOjM1ICswMTAwClN1YmplY3Q6 IFtQQVRDSCA4LzhdIFJlbW92ZSB1c2VsZXNzIGNhc3RzIHRvICh2b2lkICopIChic2VhcmNo KQoKLS0tCiBzcmMvYmFja2VuZC9jb21tYW5kcy92YWN1dW0uYyB8IDQgKystLQogc3JjL2Jh Y2tlbmQvdHNlYXJjaC9zcGVsbC5jICAgfCAyICstCiBzcmMvYmluL3BnYmVuY2gvcGdiZW5j aC5jICAgICB8IDQgKystLQogMyBmaWxlcyBjaGFuZ2VkLCA1IGluc2VydGlvbnMoKyksIDUg ZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvY29tbWFuZHMvdmFjdXVt LmMgYi9zcmMvYmFja2VuZC9jb21tYW5kcy92YWN1dW0uYwppbmRleCA3YjFhNGIxMjdlLi5h YTc5ZDlkZTRkIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9jb21tYW5kcy92YWN1dW0uYwor KysgYi9zcmMvYmFja2VuZC9jb21tYW5kcy92YWN1dW0uYwpAQCAtMjM4NCw4ICsyMzg0LDgg QEAgdmFjX3RpZF9yZWFwZWQoSXRlbVBvaW50ZXIgaXRlbXB0ciwgdm9pZCAqc3RhdGUpCiAJ aWYgKGl0ZW0gPCBsaXRlbSB8fCBpdGVtID4gcml0ZW0pCiAJCXJldHVybiBmYWxzZTsKIAot CXJlcyA9IChJdGVtUG9pbnRlcikgYnNlYXJjaCgodm9pZCAqKSBpdGVtcHRyLAotCQkJCQkJ CQkodm9pZCAqKSBkZWFkX2l0ZW1zLT5pdGVtcywKKwlyZXMgPSAoSXRlbVBvaW50ZXIpIGJz ZWFyY2goaXRlbXB0ciwKKwkJCQkJCQkJZGVhZF9pdGVtcy0+aXRlbXMsCiAJCQkJCQkJCWRl YWRfaXRlbXMtPm51bV9pdGVtcywKIAkJCQkJCQkJc2l6ZW9mKEl0ZW1Qb2ludGVyRGF0YSks CiAJCQkJCQkJCXZhY19jbXBfaXRlbXB0cik7CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC90 c2VhcmNoL3NwZWxsLmMgYi9zcmMvYmFja2VuZC90c2VhcmNoL3NwZWxsLmMKaW5kZXggY2Mw NGI4NzE2NC4uOGQ0OGNhZDI1MSAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvdHNlYXJjaC9z cGVsbC5jCisrKyBiL3NyYy9iYWNrZW5kL3RzZWFyY2gvc3BlbGwuYwpAQCAtMTE1OCw3ICsx MTU4LDcgQEAgZ2V0Q29tcG91bmRBZmZpeEZsYWdWYWx1ZShJc3BlbGxEaWN0ICpDb25mLCBj aGFyICpzKQogCQlzZXRDb21wb3VuZEFmZml4RmxhZ1ZhbHVlKENvbmYsICZrZXksIHNmbGFn LCAwKTsKIAogCQlmb3VuZCA9IChDb21wb3VuZEFmZml4RmxhZyAqKQotCQkJYnNlYXJjaCgm a2V5LCAodm9pZCAqKSBDb25mLT5Db21wb3VuZEFmZml4RmxhZ3MsCisJCQlic2VhcmNoKCZr ZXksIENvbmYtPkNvbXBvdW5kQWZmaXhGbGFncywKIAkJCQkJQ29uZi0+bkNvbXBvdW5kQWZm aXhGbGFnLCBzaXplb2YoQ29tcG91bmRBZmZpeEZsYWcpLAogCQkJCQljbXBjbWRmbGFnKTsK IAkJaWYgKGZvdW5kICE9IE5VTEwpCmRpZmYgLS1naXQgYS9zcmMvYmluL3BnYmVuY2gvcGdi ZW5jaC5jIGIvc3JjL2Jpbi9wZ2JlbmNoL3BnYmVuY2guYwppbmRleCBkMmQ2NDMxYTI4Li41 MDhlZDIxOGU4IDEwMDY0NAotLS0gYS9zcmMvYmluL3BnYmVuY2gvcGdiZW5jaC5jCisrKyBi L3NyYy9iaW4vcGdiZW5jaC9wZ2JlbmNoLmMKQEAgLTE2MTEsOCArMTYxMSw4IEBAIGxvb2t1 cFZhcmlhYmxlKFZhcmlhYmxlcyAqdmFyaWFibGVzLCBjaGFyICpuYW1lKQogCiAJLyogTm93 IHdlIGNhbiBzZWFyY2ggKi8KIAlrZXkubmFtZSA9IG5hbWU7Ci0JcmV0dXJuIChWYXJpYWJs ZSAqKSBic2VhcmNoKCh2b2lkICopICZrZXksCi0JCQkJCQkJCSh2b2lkICopIHZhcmlhYmxl cy0+dmFycywKKwlyZXR1cm4gKFZhcmlhYmxlICopIGJzZWFyY2goJmtleSwKKwkJCQkJCQkJ dmFyaWFibGVzLT52YXJzLAogCQkJCQkJCQl2YXJpYWJsZXMtPm52YXJzLAogCQkJCQkJCQlz aXplb2YoVmFyaWFibGUpLAogCQkJCQkJCQljb21wYXJlVmFyaWFibGVOYW1lcyk7Ci0tIAoy LjM5LjEKCg== --------------jM0jQQl2n2T7n2hVBs6V0gOs--