Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1vi9j1-00GhyP-0u for pgsql-hackers@arkaria.postgresql.org; Tue, 20 Jan 2026 11:16:44 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1vi9j0-000iMU-1P for pgsql-hackers@arkaria.postgresql.org; Tue, 20 Jan 2026 11:16:42 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1vi9iy-000iMK-38 for pgsql-hackers@lists.postgresql.org; Tue, 20 Jan 2026 11:16:42 +0000 Received: from fout-a5-smtp.messagingengine.com ([103.168.172.148]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1vi9it-001PTB-0D for pgsql-hackers@postgresql.org; Tue, 20 Jan 2026 11:16:40 +0000 Received: from phl-compute-03.internal (phl-compute-03.internal [10.202.2.43]) by mailfout.phl.internal (Postfix) with ESMTP id 89544EC00BD for ; Tue, 20 Jan 2026 06:16:34 -0500 (EST) Received: from phl-frontend-04 ([10.202.2.163]) by phl-compute-03.internal (MEProxy); Tue, 20 Jan 2026 06:16:34 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=eisentraut.org; h=cc:content-type:content-type:date:date:from:from:in-reply-to :message-id:mime-version:reply-to:subject:subject:to:to; s=fm1; t=1768907794; x=1768994194; bh=g3q5w5ymja9qFHImlAgKu3SfAkGydTtj f8i5YxPSL9c=; b=QUL2zjv+TFxUt5bgUMqxTWlrXhd/yTQgqb5legnwYvRTBYLS tbPukaiWbKVXgVQuShe9GRkacf7l9+LvM55inh8Cj8ktIAirWE6GTV9FiTM7zYp4 hzP1xd/SJWFVeD9fTKThNPovGXzOCzMKY3jaQjqVvVSQEvdz3t+VYD1s22Qy2gL9 nD0P6yLIQayet/Zz9AcOFHlt5rNPV9/9PMo6dc3ZdB3w0jesQaE3i88PUGnUlO8I aX8fT7jkY8FrSzwvD2GwAoe+9jGL9WyGHKUHlmzg8U0/6eHNKkxvZ0sItQ+kdm7T xZ1MwpoNU+w5j7tAYkAuqJKb3rOTo/1T8iZ8wg== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-type:content-type:date:date :feedback-id:feedback-id:from:from:in-reply-to:message-id :mime-version:reply-to:subject:subject:to:to:x-me-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm2; t=1768907794; x= 1768994194; bh=g3q5w5ymja9qFHImlAgKu3SfAkGydTtjf8i5YxPSL9c=; b=O lafbZmTrTSLV/nYiR0Q+v6GHa/SllImIrFDfazYdR3LkVYelv3+N7gEkbezjKFzR UvAJieJgL0zSgHCbta8S3Eqz6oGX26dWLp0jYHytYzFTq3z2fAvnNySN0m/mWuXX kQz1KBZJVPjtAeQPhmP9R6Fqqvjm+rDxXhml7tu4lYH4dEyX/XYaLIXKP5I3Ap8q xxuo2vvilk6eKkrmWRRKglO2EEMbskFxzPzNJJyq3mA6XMa/OJFOEbkPmLAVutNF FZg7ZWnewNKMgrBchRGnAlGGwKvAFkSIZ3YpyHhJTzBgbQWADG0qYuWpJJW0EfXQ XroLPeoyMTexXrfDAch4Q== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeefgedrtddtgddugedtvdejucetufdoteggodetrf dotffvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfurfetoffkrfgpnffqhgenuceu rghilhhouhhtmecufedttdenucenucfjughrpegtkfffgggfhffuvfesmhdtreertddvje enucfhrhhomheprfgvthgvrhcugfhishgvnhhtrhgruhhtuceophgvthgvrhesvghishgv nhhtrhgruhhtrdhorhhgqeenucggtffrrghtthgvrhhnpeehteekudegtdehtedttefhud ekjefgudeiheeiteffuedtteffkeekgfelvdffleenucevlhhushhtvghrufhiiigvpedt necurfgrrhgrmhepmhgrihhlfhhrohhmpehpvghtvghrsegvihhsvghnthhrrghuthdroh hrghdpnhgspghrtghpthhtohepuddpmhhouggvpehsmhhtphhouhhtpdhrtghpthhtohep phhgshhqlhdqhhgrtghkvghrshesphhoshhtghhrvghsqhhlrdhorhhg X-ME-Proxy: Feedback-ID: ie0a040ee:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA for ; Tue, 20 Jan 2026 06:16:33 -0500 (EST) Content-Type: multipart/mixed; boundary="------------1EPsrrAej0Whktj7gp5KeTEG" Message-ID: <76a8efcd-925a-4eaf-bdd1-d972cd1a32ff@eisentraut.org> Date: Tue, 20 Jan 2026 12:16:31 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Content-Language: en-US From: Peter Eisentraut Subject: enable fallthrough warnings on clang 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. --------------1EPsrrAej0Whktj7gp5KeTEG Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit The warnings about fallthrough in switch statements currently only work on gcc. It would be nice if they also worked on clang, and in the long run other compilers. gcc has a convention of annotation with comments, like /*fallthrough*/, but that is not available in other compilers. The standard for this is using attributes, like [[fallthrough]] in C23 and C++, and __attribute__((fallthrough)) as extensions in gcc and clang. (MSVC doesn't have anything like this in C mode, but it supports [[fallthrough]] in C++, so there is a plausible path to get this into C sometime as well.) So my proposal is that we wrap the appropriate attribute into a pg_fallthrough macro, and replace the current comments with that. There is a bit of fiddliness in setting the right compiler warning option. You need -Wimplicit-fallthrough=5 with gcc, but -Wimplicit-fallthrough with clang, but you don't want the latter with gcc, because that doesn't enforce the use of the attribute. Also, I found some places where clang warns but gcc does not, so there are patches to also fix those. (These appear to be bugs in gcc.) --------------1EPsrrAej0Whktj7gp5KeTEG Content-Type: text/plain; charset=UTF-8; name="0001-Remove-useless-fallthrough-annotation.patch" Content-Disposition: attachment; filename="0001-Remove-useless-fallthrough-annotation.patch" Content-Transfer-Encoding: base64 RnJvbSBhODhiMTM3YTFiMWE1ZmY0ODhmOTg0MTRkNTQzMDk3NmUzMTI4YWE5IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQZXRlciBFaXNlbnRyYXV0IDxwZXRlckBlaXNlbnRy YXV0Lm9yZz4KRGF0ZTogVHVlLCAyMCBKYW4gMjAyNiAxMTozNToxNiArMDEwMApTdWJqZWN0 OiBbUEFUQ0ggMS81XSBSZW1vdmUgdXNlbGVzcyBmYWxsdGhyb3VnaCBhbm5vdGF0aW9uCgpB IGZhbGx0aHJvdWdoIGF0dHJpYnV0ZSBhZnRlciB0aGUgbGFzdCBjYXNlIGlzIGEgY29uc3Ry YWludCB2aW9sYXRpb24KaW4gQzIzLCBhbmQgY2xhbmcgd2FybnMgYWJvdXQgaXQgKG5vdCBh Ym91dCB0aGlzIGNvbW1lbnQsIGJ1dCBpZiB3ZQpjaGFuZ2VkIGl0IHRvIGFuIGF0dHJpYnV0 ZSkuICBSZW1vdmUgaXQuICAoVGhlcmUgd2FzIGFwcGFyZW50bHkgbmV2ZXIKYW55dGhpbmcg YWZ0ZXIgdGhpcyB0byBmYWxsIHRocm91Z2ggdG8sIGV2ZW4gaW4gdGhlIGZpcnN0IGNvbW1p dApkYTA3YTFlODU2NS4pCi0tLQogc3JjL2JhY2tlbmQvcG9zdG1hc3Rlci9wb3N0bWFzdGVy LmMgfCAxIC0KIDEgZmlsZSBjaGFuZ2VkLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEv c3JjL2JhY2tlbmQvcG9zdG1hc3Rlci9wb3N0bWFzdGVyLmMgYi9zcmMvYmFja2VuZC9wb3N0 bWFzdGVyL3Bvc3RtYXN0ZXIuYwppbmRleCBkNjEzM2JmZWJjNi4uNzBjNzY0NTU4MmUgMTAw NjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3Bvc3RtYXN0ZXIvcG9zdG1hc3Rlci5jCisrKyBiL3Ny Yy9iYWNrZW5kL3Bvc3RtYXN0ZXIvcG9zdG1hc3Rlci5jCkBAIC00MjI5LDcgKzQyMjksNiBA QCBiZ3dvcmtlcl9zaG91bGRfc3RhcnRfbm93KEJnV29ya2VyU3RhcnRUaW1lIHN0YXJ0X3Rp bWUpCiAJCWNhc2UgUE1fSU5JVDoKIAkJCWlmIChzdGFydF90aW1lID09IEJnV29ya2VyU3Rh cnRfUG9zdG1hc3RlclN0YXJ0KQogCQkJCXJldHVybiB0cnVlOwotCQkJLyogZmFsbCB0aHJv dWdoICovCiAJfQogCiAJcmV0dXJuIGZhbHNlOwoKYmFzZS1jb21taXQ6IDdlYmI2NGM1NTc1 NzA2NDdlM2ZjZjZmNWYxNTQ5ZTg4MmVkMjY0ODkKLS0gCjIuNTIuMAoK --------------1EPsrrAej0Whktj7gp5KeTEG Content-Type: text/plain; charset=UTF-8; name="0002-Use-fallthrough-attribute-instead-of-comment.patch" Content-Disposition: attachment; filename="0002-Use-fallthrough-attribute-instead-of-comment.patch" Content-Transfer-Encoding: base64 RnJvbSBlNGUxYTAxNjA5NzdiZTVkYzEzMjgxZjgwM2YxYzlhMjEzMmIxOTdiIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQZXRlciBFaXNlbnRyYXV0IDxwZXRlckBlaXNlbnRy YXV0Lm9yZz4KRGF0ZTogVHVlLCAyMCBKYW4gMjAyNiAxMTozNToxNiArMDEwMApTdWJqZWN0 OiBbUEFUQ0ggMi81XSBVc2UgZmFsbHRocm91Z2ggYXR0cmlidXRlIGluc3RlYWQgb2YgY29t bWVudAoKSW5zdGVhZCBvZiB1c2luZyBjb21tZW50cyB0byBtYXJrIGZhbGx0aHJvdWdoIHN3 aXRjaCBjYXNlcywgdXNlIHRoZQpmYWxsdGhyb3VnaCBhdHRyaWJ1dGUuICBUaGlzIHdpbGwg KGluIHRoZSBmdXR1cmUsIG5vdCBoZXJlKSBhbGxvdwpzdXBwb3J0aW5nIG90aGVyIGNvbXBp bGVycyBiZXNpZGVzIGdjYy4gIFRoZSBjb21tZW50aW5nIGNvbnZlbnRpb24gaXMKb25seSBz dXBwb3J0ZWQgYnkgZ2NjLCB0aGUgYXR0cmlidXRlIGlzIHN1cHBvcnRlZCBieSBjbGFuZywg YW5kIGluIHRoZQpmdWxsbmVzcyBvZiB0aW1lIHRoZSBDMjMgc3RhbmRhcmQgYXR0cmlidXRl IHdvdWxkIGFsbG93IHN1cHBvcnRpbmcKb3RoZXIgY29tcGlsZXJzIGFzIHdlbGwuCgpSaWdo dCBub3csIHdlIHBhY2thZ2UgdGhlIGF0dHJpYnV0ZSBpbnRvIGEgbWFjcm8gY2FsbGVkCnBn X2ZhbGx0aHJvdWdoLiAgVGhpcyBjb21taXQgZGVmaW5lcyB0aGF0IG1hY3JvIGFuZCByZXBs YWNlcyB0aGUKZXhpc3RpbmcgY29tbWVudHMgd2l0aCB0aGF0IG1hY3JvIGludm9jYXRpb24u CgpXZSBhbHNvIHJhaXNlIHRoZSBsZXZlbCBvZiB0aGUgZ2NjIC1XaW1wbGljaXQtZmFsbHRo cm91Z2g9IG9wdGlvbiBmcm9tCjMgdG8gNSB0byBlbmZvcmNlIHRoZSB1c2Ugb2YgdGhlIGF0 dHJpYnV0ZS4KLS0tCiBjb25maWd1cmUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgfCAgNDAgKystLS0KIGNvbmZpZ3VyZS5hYyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB8ICAgNCArLQogY29udHJpYi9idHJlZV9naW4vYnRyZWVfZ2luLmMgICAg ICAgICAgICAgICAgIHwgICAyICstCiBjb250cmliL2x0cmVlL2x0eHRxdWVyeV9pby5jICAg ICAgICAgICAgICAgICAgfCAgIDIgKy0KIGNvbnRyaWIvcGdfdHJnbS90cmdtX2dpbi5jICAg ICAgICAgICAgICAgICAgICB8ICAxMiArLQogY29udHJpYi9wZ190cmdtL3RyZ21fZ2lzdC5j ICAgICAgICAgICAgICAgICAgIHwgICA4ICstCiBjb250cmliL3BnY3J5cHRvL3BncC1pbmZv LmMgICAgICAgICAgICAgICAgICAgfCAgIDIgKy0KIG1lc29uLmJ1aWxkICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICB8ICAgMiArLQogc3JjL2JhY2tlbmQvYWNjZXNzL2hl YXAvaGVhcGFtX2hhbmRsZXIuYyAgICAgIHwgICAyICstCiBzcmMvYmFja2VuZC9hY2Nlc3Mv bmJ0cmVlL25idHByZXByb2Nlc3NrZXlzLmMgfCAgIDQgKy0KIHNyYy9iYWNrZW5kL2Jvb3Rz dHJhcC9ib290c3RyYXAuYyAgICAgICAgICAgICB8ICAgMiArLQogc3JjL2JhY2tlbmQvY2F0 YWxvZy9kZXBlbmRlbmN5LmMgICAgICAgICAgICAgIHwgICAyICstCiBzcmMvYmFja2VuZC9j YXRhbG9nL29iamVjdGFkZHJlc3MuYyAgICAgICAgICAgfCAgIDQgKy0KIHNyYy9iYWNrZW5k L2NhdGFsb2cvcGdfc2hkZXBlbmQuYyAgICAgICAgICAgICB8ICAgMiArLQogc3JjL2JhY2tl bmQvY29tbWFuZHMvZXhwbGFpbi5jICAgICAgICAgICAgICAgIHwgICAyICstCiBzcmMvYmFj a2VuZC9jb21tYW5kcy90YWJsZWNtZHMuYyAgICAgICAgICAgICAgfCAgIDIgKy0KIHNyYy9i YWNrZW5kL2NvbW1hbmRzL3RyaWdnZXIuYyAgICAgICAgICAgICAgICB8ICAgMiArLQogc3Jj L2JhY2tlbmQvZXhlY3V0b3Ivbm9kZUFnZy5jICAgICAgICAgICAgICAgIHwgICAyICstCiBz cmMvYmFja2VuZC9leGVjdXRvci9ub2RlSGFzaC5jICAgICAgICAgICAgICAgfCAgMTQgKy0K IHNyYy9iYWNrZW5kL2V4ZWN1dG9yL25vZGVIYXNoam9pbi5jICAgICAgICAgICB8ICAxMCAr LQogc3JjL2JhY2tlbmQvZXhlY3V0b3Ivbm9kZUxpbWl0LmMgICAgICAgICAgICAgIHwgICA0 ICstCiBzcmMvYmFja2VuZC9leGVjdXRvci9ub2RlVGlkcmFuZ2VzY2FuLmMgICAgICAgfCAg IDQgKy0KIHNyYy9iYWNrZW5kL2xpYnBxL2F1dGguYyAgICAgICAgICAgICAgICAgICAgICB8 ICAgMiArLQogc3JjL2JhY2tlbmQvb3B0aW1pemVyL3BsYW4vcGxhbm5lci5jICAgICAgICAg IHwgICA0ICstCiBzcmMvYmFja2VuZC9vcHRpbWl6ZXIvdXRpbC9jbGF1c2VzLmMgICAgICAg ICAgfCAgIDQgKy0KIHNyYy9iYWNrZW5kL3BhcnNlci9wYXJzZV9qc29udGFibGUuYyAgICAg ICAgICB8ICAgMiArLQogc3JjL2JhY2tlbmQvcGFyc2VyL3BhcnNlX3V0aWxjbWQuYyAgICAg ICAgICAgIHwgICAyICstCiBzcmMvYmFja2VuZC9wYXJ0aXRpb25pbmcvcGFydHBydW5lLmMg ICAgICAgICAgfCAgMTQgKy0KIHNyYy9iYWNrZW5kL3Bvc3RtYXN0ZXIvcG9zdG1hc3Rlci5j ICAgICAgICAgICB8ICAgNiArLQogc3JjL2JhY2tlbmQvcmVnZXgvcmVnY19sZXguYyAgICAg ICAgICAgICAgICAgIHwgICAyICstCiBzcmMvYmFja2VuZC9yZWdleC9yZWdjb21wLmMgICAg ICAgICAgICAgICAgICAgfCAgIDIgKy0KIC4uLi9yZXBsaWNhdGlvbi9sb2dpY2FsL3Jlb3Jk ZXJidWZmZXIuYyAgICAgICB8ICAgMSArCiBzcmMvYmFja2VuZC9yZXBsaWNhdGlvbi9sb2dp Y2FsL3dvcmtlci5jICAgICAgfCAgMTIgKy0KIHNyYy9iYWNrZW5kL3JlcGxpY2F0aW9uL3dh bHJlY2VpdmVyLmMgICAgICAgICB8ICAgMiArLQogc3JjL2JhY2tlbmQvcmVwbGljYXRpb24v d2FscmVjZWl2ZXJmdW5jcy5jICAgIHwgICAyICstCiBzcmMvYmFja2VuZC9zdG9yYWdlL2Fp by9haW8uYyAgICAgICAgICAgICAgICAgfCAgIDIgKy0KIHNyYy9iYWNrZW5kL3Rjb3AvcG9z dGdyZXMuYyAgICAgICAgICAgICAgICAgICB8ICAxMiArLQogc3JjL2JhY2tlbmQvdGNvcC91 dGlsaXR5LmMgICAgICAgICAgICAgICAgICAgIHwgICAyICstCiBzcmMvYmFja2VuZC91dGls cy9hZHQvZGF0ZXRpbWUuYyAgICAgICAgICAgICAgfCAgIDYgKy0KIHNyYy9iYWNrZW5kL3V0 aWxzL2FkdC9mb3JtYXR0aW5nLmMgICAgICAgICAgICB8ICAgOCArLQogc3JjL2JhY2tlbmQv dXRpbHMvYWR0L2pzb25iLmMgICAgICAgICAgICAgICAgIHwgICAyICstCiBzcmMvYmFja2Vu ZC91dGlscy9hZHQvanNvbmJfdXRpbC5jICAgICAgICAgICAgfCAgIDIgKy0KIHNyYy9iYWNr ZW5kL3V0aWxzL2FkdC9qc29ucGF0aC5jICAgICAgICAgICAgICB8ICAxMiArLQogc3JjL2Jh Y2tlbmQvdXRpbHMvYWR0L251bWVyaWMuYyAgICAgICAgICAgICAgIHwgIDE0ICstCiBzcmMv YmFja2VuZC91dGlscy9hZHQvcnVsZXV0aWxzLmMgICAgICAgICAgICAgfCAgIDIgKy0KIHNy Yy9iYWNrZW5kL3V0aWxzL2FkdC90aW1lc3RhbXAuYyAgICAgICAgICAgICB8ICA1NCArKyst LS0tCiBzcmMvYmFja2VuZC91dGlscy9hZHQveG1sLmMgICAgICAgICAgICAgICAgICAgfCAg IDIgKy0KIHNyYy9iYWNrZW5kL3V0aWxzL2NhY2hlL2NhdGNhY2hlLmMgICAgICAgICAgICB8 ICAxMiArLQogc3JjL2JhY2tlbmQvdXRpbHMvbWIvbWJ1dGlscy5jICAgICAgICAgICAgICAg IHwgICA2ICstCiBzcmMvYmFja2VuZC91dGlscy9taXNjL2d1Yy5jICAgICAgICAgICAgICAg ICAgfCAgIDIgKy0KIHNyYy9iYWNrZW5kL3V0aWxzL21pc2MvZ3VjX2Z1bmNzLmMgICAgICAg ICAgICB8ICAgMiArLQogc3JjL2JhY2tlbmQvdXRpbHMvc29ydC90dXBsZXN0b3JlLmMgICAg ICAgICAgIHwgICAyICstCiBzcmMvYmluL3BnYmVuY2gvcGdiZW5jaC5jICAgICAgICAgICAg ICAgICAgICAgfCAgIDYgKy0KIHNyYy9jb21tb24vaGFzaGZuLmMgICAgICAgICAgICAgICAg ICAgICAgICAgICB8IDE0NCArKysrKysrKystLS0tLS0tLS0KIHNyYy9jb21tb24vd2NoYXIu YyAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgNiArLQogc3JjL2luY2x1ZGUvYy5o ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDEyICsrCiBzcmMvaW5jbHVkZS9j b21tb24vaGFzaGZuX3Vuc3RhYmxlLmggICAgICAgICAgfCAgMjAgKy0tCiBzcmMvaW50ZXJm YWNlcy9lY3BnL3BndHlwZXNsaWIvaW50ZXJ2YWwuYyAgICAgfCAgIDYgKy0KIHNyYy9pbnRl cmZhY2VzL2xpYnBxL2ZlLXNlY3VyZS5jICAgICAgICAgICAgICB8ICAgMiArLQogc3JjL3Bs L3BscGdzcWwvc3JjL3BsX2V4ZWMuYyAgICAgICAgICAgICAgICAgIHwgICA2ICstCiBzcmMv cGwvdGNsL3BsdGNsLmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDIgKy0KIHNy Yy9wb3J0L3NucHJpbnRmLmMgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMiArLQog Li4uL3Rlc3RfanNvbl9wYXJzZXJfaW5jcmVtZW50YWwuYyAgICAgICAgICAgIHwgICAyICst CiBzcmMvdGltZXpvbmUvemljLmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDgg Ky0KIHNyYy90b29scy9wZ19ic2RfaW5kZW50L2luZGVudC5jICAgICAgICAgICAgICB8ICAg NCArLQogc3JjL3Rvb2xzL3BnX2JzZF9pbmRlbnQvcGFyc2UuYyAgICAgICAgICAgICAgIHwg ICA0ICstCiA2NiBmaWxlcyBjaGFuZ2VkLCAyODEgaW5zZXJ0aW9ucygrKSwgMjY4IGRlbGV0 aW9ucygtKQoKZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZSBiL2NvbmZpZ3VyZQppbmRleCBmYjZh NDkxNGIwNi4uNGY0MWIxYmEwMDcgMTAwNzU1Ci0tLSBhL2NvbmZpZ3VyZQorKysgYi9jb25m aWd1cmUKQEAgLTU1MjQsMTUgKzU1MjQsMTUgQEAgZmkKIAogCiAKLXsgJGFzX2VjaG8gIiRh c19tZToke2FzX2xpbmVuby0kTElORU5PfTogY2hlY2tpbmcgd2hldGhlciAke0NDfSBzdXBw b3J0cyAtV2ltcGxpY2l0LWZhbGx0aHJvdWdoPTMsIGZvciBDRkxBR1MiID4mNQotJGFzX2Vj aG9fbiAiY2hlY2tpbmcgd2hldGhlciAke0NDfSBzdXBwb3J0cyAtV2ltcGxpY2l0LWZhbGx0 aHJvdWdoPTMsIGZvciBDRkxBR1MuLi4gIiA+JjY7IH0KLWlmICR7cGdhY19jdl9wcm9nX0ND X2NmbGFnc19fV2ltcGxpY2l0X2ZhbGx0aHJvdWdoXzMrOn0gZmFsc2U7IHRoZW4gOgoreyAk YXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2luZyB3aGV0aGVy ICR7Q0N9IHN1cHBvcnRzIC1XaW1wbGljaXQtZmFsbHRocm91Z2g9NSwgZm9yIENGTEFHUyIg PiY1CiskYXNfZWNob19uICJjaGVja2luZyB3aGV0aGVyICR7Q0N9IHN1cHBvcnRzIC1XaW1w bGljaXQtZmFsbHRocm91Z2g9NSwgZm9yIENGTEFHUy4uLiAiID4mNjsgfQoraWYgJHtwZ2Fj X2N2X3Byb2dfQ0NfY2ZsYWdzX19XaW1wbGljaXRfZmFsbHRocm91Z2hfNSs6fSBmYWxzZTsg dGhlbiA6CiAgICRhc19lY2hvX24gIihjYWNoZWQpICIgPiY2CiBlbHNlCiAgIHBnYWNfc2F2 ZV9DRkxBR1M9JENGTEFHUwogcGdhY19zYXZlX0NDPSRDQwogQ0M9JHtDQ30KLUNGTEFHUz0i JHtDRkxBR1N9IC1XaW1wbGljaXQtZmFsbHRocm91Z2g9MyIKK0NGTEFHUz0iJHtDRkxBR1N9 IC1XaW1wbGljaXQtZmFsbHRocm91Z2g9NSIKIGFjX3NhdmVfY193ZXJyb3JfZmxhZz0kYWNf Y193ZXJyb3JfZmxhZwogYWNfY193ZXJyb3JfZmxhZz15ZXMKIGNhdCBjb25mZGVmcy5oIC0g PDxfQUNFT0YgPmNvbmZ0ZXN0LiRhY19leHQKQEAgLTU1NDcsMzEgKzU1NDcsMzEgQEAgbWFp biAoKQogfQogX0FDRU9GCiBpZiBhY19mbl9jX3RyeV9jb21waWxlICIkTElORU5PIjsgdGhl biA6Ci0gIHBnYWNfY3ZfcHJvZ19DQ19jZmxhZ3NfX1dpbXBsaWNpdF9mYWxsdGhyb3VnaF8z PXllcworICBwZ2FjX2N2X3Byb2dfQ0NfY2ZsYWdzX19XaW1wbGljaXRfZmFsbHRocm91Z2hf NT15ZXMKIGVsc2UKLSAgcGdhY19jdl9wcm9nX0NDX2NmbGFnc19fV2ltcGxpY2l0X2ZhbGx0 aHJvdWdoXzM9bm8KKyAgcGdhY19jdl9wcm9nX0NDX2NmbGFnc19fV2ltcGxpY2l0X2ZhbGx0 aHJvdWdoXzU9bm8KIGZpCiBybSAtZiBjb3JlIGNvbmZ0ZXN0LmVyciBjb25mdGVzdC4kYWNf b2JqZXh0IGNvbmZ0ZXN0LiRhY19leHQKIGFjX2Nfd2Vycm9yX2ZsYWc9JGFjX3NhdmVfY193 ZXJyb3JfZmxhZwogQ0ZMQUdTPSIkcGdhY19zYXZlX0NGTEFHUyIKIENDPSIkcGdhY19zYXZl X0NDIgogZmkKLXsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogcmVz dWx0OiAkcGdhY19jdl9wcm9nX0NDX2NmbGFnc19fV2ltcGxpY2l0X2ZhbGx0aHJvdWdoXzMi ID4mNQotJGFzX2VjaG8gIiRwZ2FjX2N2X3Byb2dfQ0NfY2ZsYWdzX19XaW1wbGljaXRfZmFs bHRocm91Z2hfMyIgPiY2OyB9Ci1pZiB0ZXN0IHgiJHBnYWNfY3ZfcHJvZ19DQ19jZmxhZ3Nf X1dpbXBsaWNpdF9mYWxsdGhyb3VnaF8zIiA9IHgieWVzIjsgdGhlbgotICBDRkxBR1M9IiR7 Q0ZMQUdTfSAtV2ltcGxpY2l0LWZhbGx0aHJvdWdoPTMiCit7ICRhc19lY2hvICIkYXNfbWU6 JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogJHBnYWNfY3ZfcHJvZ19DQ19jZmxhZ3Nf X1dpbXBsaWNpdF9mYWxsdGhyb3VnaF81IiA+JjUKKyRhc19lY2hvICIkcGdhY19jdl9wcm9n X0NDX2NmbGFnc19fV2ltcGxpY2l0X2ZhbGx0aHJvdWdoXzUiID4mNjsgfQoraWYgdGVzdCB4 IiRwZ2FjX2N2X3Byb2dfQ0NfY2ZsYWdzX19XaW1wbGljaXRfZmFsbHRocm91Z2hfNSIgPSB4 InllcyI7IHRoZW4KKyAgQ0ZMQUdTPSIke0NGTEFHU30gLVdpbXBsaWNpdC1mYWxsdGhyb3Vn aD01IgogZmkKIAogCi0gIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5P fTogY2hlY2tpbmcgd2hldGhlciAke0NYWH0gc3VwcG9ydHMgLVdpbXBsaWNpdC1mYWxsdGhy b3VnaD0zLCBmb3IgQ1hYRkxBR1MiID4mNQotJGFzX2VjaG9fbiAiY2hlY2tpbmcgd2hldGhl ciAke0NYWH0gc3VwcG9ydHMgLVdpbXBsaWNpdC1mYWxsdGhyb3VnaD0zLCBmb3IgQ1hYRkxB R1MuLi4gIiA+JjY7IH0KLWlmICR7cGdhY19jdl9wcm9nX0NYWF9jeHhmbGFnc19fV2ltcGxp Y2l0X2ZhbGx0aHJvdWdoXzMrOn0gZmFsc2U7IHRoZW4gOgorICB7ICRhc19lY2hvICIkYXNf bWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5nIHdoZXRoZXIgJHtDWFh9IHN1cHBv cnRzIC1XaW1wbGljaXQtZmFsbHRocm91Z2g9NSwgZm9yIENYWEZMQUdTIiA+JjUKKyRhc19l Y2hvX24gImNoZWNraW5nIHdoZXRoZXIgJHtDWFh9IHN1cHBvcnRzIC1XaW1wbGljaXQtZmFs bHRocm91Z2g9NSwgZm9yIENYWEZMQUdTLi4uICIgPiY2OyB9CitpZiAke3BnYWNfY3ZfcHJv Z19DWFhfY3h4ZmxhZ3NfX1dpbXBsaWNpdF9mYWxsdGhyb3VnaF81Kzp9IGZhbHNlOyB0aGVu IDoKICAgJGFzX2VjaG9fbiAiKGNhY2hlZCkgIiA+JjYKIGVsc2UKICAgcGdhY19zYXZlX0NY WEZMQUdTPSRDWFhGTEFHUwogcGdhY19zYXZlX0NYWD0kQ1hYCiBDWFg9JHtDWFh9Ci1DWFhG TEFHUz0iJHtDWFhGTEFHU30gLVdpbXBsaWNpdC1mYWxsdGhyb3VnaD0zIgorQ1hYRkxBR1M9 IiR7Q1hYRkxBR1N9IC1XaW1wbGljaXQtZmFsbHRocm91Z2g9NSIKIGFjX3NhdmVfY3h4X3dl cnJvcl9mbGFnPSRhY19jeHhfd2Vycm9yX2ZsYWcKIGFjX2N4eF93ZXJyb3JfZmxhZz15ZXMK IGFjX2V4dD1jcHAKQEAgLTU1OTIsOSArNTU5Miw5IEBAIG1haW4gKCkKIH0KIF9BQ0VPRgog aWYgYWNfZm5fY3h4X3RyeV9jb21waWxlICIkTElORU5PIjsgdGhlbiA6Ci0gIHBnYWNfY3Zf cHJvZ19DWFhfY3h4ZmxhZ3NfX1dpbXBsaWNpdF9mYWxsdGhyb3VnaF8zPXllcworICBwZ2Fj X2N2X3Byb2dfQ1hYX2N4eGZsYWdzX19XaW1wbGljaXRfZmFsbHRocm91Z2hfNT15ZXMKIGVs c2UKLSAgcGdhY19jdl9wcm9nX0NYWF9jeHhmbGFnc19fV2ltcGxpY2l0X2ZhbGx0aHJvdWdo XzM9bm8KKyAgcGdhY19jdl9wcm9nX0NYWF9jeHhmbGFnc19fV2ltcGxpY2l0X2ZhbGx0aHJv dWdoXzU9bm8KIGZpCiBybSAtZiBjb3JlIGNvbmZ0ZXN0LmVyciBjb25mdGVzdC4kYWNfb2Jq ZXh0IGNvbmZ0ZXN0LiRhY19leHQKIGFjX2V4dD1jCkBAIC01NjA3LDEwICs1NjA3LDEwIEBA IGFjX2N4eF93ZXJyb3JfZmxhZz0kYWNfc2F2ZV9jeHhfd2Vycm9yX2ZsYWcKIENYWEZMQUdT PSIkcGdhY19zYXZlX0NYWEZMQUdTIgogQ1hYPSIkcGdhY19zYXZlX0NYWCIKIGZpCi17ICRh c19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogJHBnYWNfY3Zf cHJvZ19DWFhfY3h4ZmxhZ3NfX1dpbXBsaWNpdF9mYWxsdGhyb3VnaF8zIiA+JjUKLSRhc19l Y2hvICIkcGdhY19jdl9wcm9nX0NYWF9jeHhmbGFnc19fV2ltcGxpY2l0X2ZhbGx0aHJvdWdo XzMiID4mNjsgfQotaWYgdGVzdCB4IiRwZ2FjX2N2X3Byb2dfQ1hYX2N4eGZsYWdzX19XaW1w bGljaXRfZmFsbHRocm91Z2hfMyIgPSB4InllcyI7IHRoZW4KLSAgQ1hYRkxBR1M9IiR7Q1hY RkxBR1N9IC1XaW1wbGljaXQtZmFsbHRocm91Z2g9MyIKK3sgJGFzX2VjaG8gIiRhc19tZTok e2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiAkcGdhY19jdl9wcm9nX0NYWF9jeHhmbGFn c19fV2ltcGxpY2l0X2ZhbGx0aHJvdWdoXzUiID4mNQorJGFzX2VjaG8gIiRwZ2FjX2N2X3By b2dfQ1hYX2N4eGZsYWdzX19XaW1wbGljaXRfZmFsbHRocm91Z2hfNSIgPiY2OyB9CitpZiB0 ZXN0IHgiJHBnYWNfY3ZfcHJvZ19DWFhfY3h4ZmxhZ3NfX1dpbXBsaWNpdF9mYWxsdGhyb3Vn aF81IiA9IHgieWVzIjsgdGhlbgorICBDWFhGTEFHUz0iJHtDWFhGTEFHU30gLVdpbXBsaWNp dC1mYWxsdGhyb3VnaD01IgogZmkKIAogCmRpZmYgLS1naXQgYS9jb25maWd1cmUuYWMgYi9j b25maWd1cmUuYWMKaW5kZXggZDNmZWJmZTU4ZjEuLjkzNTAzNzUzOTcxIDEwMDY0NAotLS0g YS9jb25maWd1cmUuYWMKKysrIGIvY29uZmlndXJlLmFjCkBAIC01MTYsOCArNTE2LDggQEAg aWYgdGVzdCAiJEdDQyIgPSB5ZXMgLWEgIiRJQ0MiID0gbm87IHRoZW4KICAgUEdBQ19QUk9H X0NYWF9DRkxBR1NfT1BUKFstV2VuZGlmLWxhYmVsc10pCiAgIFBHQUNfUFJPR19DQ19DRkxB R1NfT1BUKFstV21pc3NpbmctZm9ybWF0LWF0dHJpYnV0ZV0pCiAgIFBHQUNfUFJPR19DWFhf Q0ZMQUdTX09QVChbLVdtaXNzaW5nLWZvcm1hdC1hdHRyaWJ1dGVdKQotICBQR0FDX1BST0df Q0NfQ0ZMQUdTX09QVChbLVdpbXBsaWNpdC1mYWxsdGhyb3VnaD0zXSkKLSAgUEdBQ19QUk9H X0NYWF9DRkxBR1NfT1BUKFstV2ltcGxpY2l0LWZhbGx0aHJvdWdoPTNdKQorICBQR0FDX1BS T0dfQ0NfQ0ZMQUdTX09QVChbLVdpbXBsaWNpdC1mYWxsdGhyb3VnaD01XSkKKyAgUEdBQ19Q Uk9HX0NYWF9DRkxBR1NfT1BUKFstV2ltcGxpY2l0LWZhbGx0aHJvdWdoPTVdKQogICBQR0FD X1BST0dfQ0NfQ0ZMQUdTX09QVChbLVdjYXN0LWZ1bmN0aW9uLXR5cGVdKQogICBQR0FDX1BS T0dfQ1hYX0NGTEFHU19PUFQoWy1XY2FzdC1mdW5jdGlvbi10eXBlXSkKICAgUEdBQ19QUk9H X0NDX0NGTEFHU19PUFQoWy1Xc2hhZG93PWNvbXBhdGlibGUtbG9jYWxdKQpkaWZmIC0tZ2l0 IGEvY29udHJpYi9idHJlZV9naW4vYnRyZWVfZ2luLmMgYi9jb250cmliL2J0cmVlX2dpbi9i dHJlZV9naW4uYwppbmRleCBhZmI4YjM4MjBhZi4uOGRmYmFhNDc4MWQgMTAwNjQ0Ci0tLSBh L2NvbnRyaWIvYnRyZWVfZ2luL2J0cmVlX2dpbi5jCisrKyBiL2NvbnRyaWIvYnRyZWVfZ2lu L2J0cmVlX2dpbi5jCkBAIC0xMjAsNyArMTIwLDcgQEAgZ2luX2J0cmVlX2V4dHJhY3RfcXVl cnkoRnVuY3Rpb25DYWxsSW5mbyBmY2luZm8sCiAJCWNhc2UgQlRHcmVhdGVyRXF1YWxTdHJh dGVneU51bWJlcjoKIAkJY2FzZSBCVEdyZWF0ZXJTdHJhdGVneU51bWJlcjoKIAkJCSpwdHJf cGFydGlhbG1hdGNoID0gdHJ1ZTsKLQkJCS8qIEZBTExUSFJPVUdIICovCisJCQlwZ19mYWxs dGhyb3VnaDsKIAkJY2FzZSBCVEVxdWFsU3RyYXRlZ3lOdW1iZXI6CiAJCQkvKiBJZiB3ZSBo YXZlIGEgY29udmVyc2lvbiBmdW5jdGlvbiwgYXBwbHkgaXQgKi8KIAkJCWlmIChjdnRfZm5z ICYmIGN2dF9mbnNbcmhzX2NvZGVdKQpkaWZmIC0tZ2l0IGEvY29udHJpYi9sdHJlZS9sdHh0 cXVlcnlfaW8uYyBiL2NvbnRyaWIvbHRyZWUvbHR4dHF1ZXJ5X2lvLmMKaW5kZXggOTFhMjIy MmVhYTkuLmM4YTBiNjczZjFjIDEwMDY0NAotLS0gYS9jb250cmliL2x0cmVlL2x0eHRxdWVy eV9pby5jCisrKyBiL2NvbnRyaWIvbHRyZWUvbHR4dHF1ZXJ5X2lvLmMKQEAgLTI3Nyw3ICsy NzcsNyBAQCBtYWtlcG9sKFFQUlNfU1RBVEUgKnN0YXRlKQogCQkJY2FzZSBFUlI6CiAJCQkJ aWYgKFNPRlRfRVJST1JfT0NDVVJSRUQoc3RhdGUtPmVzY29udGV4dCkpCiAJCQkJCXJldHVy biBFUlI7Ci0JCQkJLyogZmFsbCB0aHJvdWdoICovCisJCQkJcGdfZmFsbHRocm91Z2g7CiAJ CQlkZWZhdWx0OgogCQkJCWVyZXR1cm4oc3RhdGUtPmVzY29udGV4dCwgRVJSLAogCQkJCQkJ KGVycmNvZGUoRVJSQ09ERV9TWU5UQVhfRVJST1IpLApkaWZmIC0tZ2l0IGEvY29udHJpYi9w Z190cmdtL3RyZ21fZ2luLmMgYi9jb250cmliL3BnX3RyZ20vdHJnbV9naW4uYwppbmRleCA2 NmZmNmFkZGU5OS4uOTFkZTkxYjdjN2YgMTAwNjQ0Ci0tLSBhL2NvbnRyaWIvcGdfdHJnbS90 cmdtX2dpbi5jCisrKyBiL2NvbnRyaWIvcGdfdHJnbS90cmdtX2dpbi5jCkBAIC05Nyw3ICs5 Nyw3IEBAIGdpbl9leHRyYWN0X3F1ZXJ5X3RyZ20oUEdfRlVOQ1RJT05fQVJHUykKICNpZm5k ZWYgSUdOT1JFQ0FTRQogCQkJZWxvZyhFUlJPUiwgImNhbm5vdCBoYW5kbGUgfn4qIHdpdGgg Y2FzZS1zZW5zaXRpdmUgdHJpZ3JhbXMiKTsKICNlbmRpZgotCQkJLyogRkFMTCBUSFJVICov CisJCQlwZ19mYWxsdGhyb3VnaDsKIAkJY2FzZSBMaWtlU3RyYXRlZ3lOdW1iZXI6CiAKIAkJ CS8qCkBAIC0xMTEsNyArMTExLDcgQEAgZ2luX2V4dHJhY3RfcXVlcnlfdHJnbShQR19GVU5D VElPTl9BUkdTKQogI2lmbmRlZiBJR05PUkVDQVNFCiAJCQllbG9nKEVSUk9SLCAiY2Fubm90 IGhhbmRsZSB+KiB3aXRoIGNhc2Utc2Vuc2l0aXZlIHRyaWdyYW1zIik7CiAjZW5kaWYKLQkJ CS8qIEZBTEwgVEhSVSAqLworCQkJcGdfZmFsbHRocm91Z2g7CiAJCWNhc2UgUmVnRXhwU3Ry YXRlZ3lOdW1iZXI6CiAJCQl0cmcgPSBjcmVhdGVUcmdtTkZBKHZhbCwgUEdfR0VUX0NPTExB VElPTigpLAogCQkJCQkJCQkmZ3JhcGgsIEN1cnJlbnRNZW1vcnlDb250ZXh0KTsKQEAgLTIy MSw3ICsyMjEsNyBAQCBnaW5fdHJnbV9jb25zaXN0ZW50KFBHX0ZVTkNUSU9OX0FSR1MpCiAj aWZuZGVmIElHTk9SRUNBU0UKIAkJCWVsb2coRVJST1IsICJjYW5ub3QgaGFuZGxlIH5+KiB3 aXRoIGNhc2Utc2Vuc2l0aXZlIHRyaWdyYW1zIik7CiAjZW5kaWYKLQkJCS8qIEZBTEwgVEhS VSAqLworCQkJcGdfZmFsbHRocm91Z2g7CiAJCWNhc2UgTGlrZVN0cmF0ZWd5TnVtYmVyOgog CQljYXNlIEVxdWFsU3RyYXRlZ3lOdW1iZXI6CiAJCQkvKiBDaGVjayBpZiBhbGwgZXh0cmFj dGVkIHRyaWdyYW1zIGFyZSBwcmVzZW50ZWQuICovCkBAIC0yMzksNyArMjM5LDcgQEAgZ2lu X3RyZ21fY29uc2lzdGVudChQR19GVU5DVElPTl9BUkdTKQogI2lmbmRlZiBJR05PUkVDQVNF CiAJCQllbG9nKEVSUk9SLCAiY2Fubm90IGhhbmRsZSB+KiB3aXRoIGNhc2Utc2Vuc2l0aXZl IHRyaWdyYW1zIik7CiAjZW5kaWYKLQkJCS8qIEZBTEwgVEhSVSAqLworCQkJcGdfZmFsbHRo cm91Z2g7CiAJCWNhc2UgUmVnRXhwU3RyYXRlZ3lOdW1iZXI6CiAJCQlpZiAobmtleXMgPCAx KQogCQkJewpAQCAtMzA2LDcgKzMwNiw3IEBAIGdpbl90cmdtX3RyaWNvbnNpc3RlbnQoUEdf RlVOQ1RJT05fQVJHUykKICNpZm5kZWYgSUdOT1JFQ0FTRQogCQkJZWxvZyhFUlJPUiwgImNh bm5vdCBoYW5kbGUgfn4qIHdpdGggY2FzZS1zZW5zaXRpdmUgdHJpZ3JhbXMiKTsKICNlbmRp ZgotCQkJLyogRkFMTCBUSFJVICovCisJCQlwZ19mYWxsdGhyb3VnaDsKIAkJY2FzZSBMaWtl U3RyYXRlZ3lOdW1iZXI6CiAJCWNhc2UgRXF1YWxTdHJhdGVneU51bWJlcjoKIAkJCS8qIENo ZWNrIGlmIGFsbCBleHRyYWN0ZWQgdHJpZ3JhbXMgYXJlIHByZXNlbnRlZC4gKi8KQEAgLTMy NCw3ICszMjQsNyBAQCBnaW5fdHJnbV90cmljb25zaXN0ZW50KFBHX0ZVTkNUSU9OX0FSR1Mp CiAjaWZuZGVmIElHTk9SRUNBU0UKIAkJCWVsb2coRVJST1IsICJjYW5ub3QgaGFuZGxlIH4q IHdpdGggY2FzZS1zZW5zaXRpdmUgdHJpZ3JhbXMiKTsKICNlbmRpZgotCQkJLyogRkFMTCBU SFJVICovCisJCQlwZ19mYWxsdGhyb3VnaDsKIAkJY2FzZSBSZWdFeHBTdHJhdGVneU51bWJl cjoKIAkJCWlmIChua2V5cyA8IDEpCiAJCQl7CmRpZmYgLS1naXQgYS9jb250cmliL3BnX3Ry Z20vdHJnbV9naXN0LmMgYi9jb250cmliL3BnX3RyZ20vdHJnbV9naXN0LmMKaW5kZXggNWM3 ZGViMTAzYTYuLmM1MTRlNDA1NzM5IDEwMDY0NAotLS0gYS9jb250cmliL3BnX3RyZ20vdHJn bV9naXN0LmMKKysrIGIvY29udHJpYi9wZ190cmdtL3RyZ21fZ2lzdC5jCkBAIC0yNDcsNyAr MjQ3LDcgQEAgZ3RyZ21fY29uc2lzdGVudChQR19GVU5DVElPTl9BUkdTKQogI2lmbmRlZiBJ R05PUkVDQVNFCiAJCQkJZWxvZyhFUlJPUiwgImNhbm5vdCBoYW5kbGUgfn4qIHdpdGggY2Fz ZS1zZW5zaXRpdmUgdHJpZ3JhbXMiKTsKICNlbmRpZgotCQkJCS8qIEZBTEwgVEhSVSAqLwor CQkJCXBnX2ZhbGx0aHJvdWdoOwogCQkJY2FzZSBMaWtlU3RyYXRlZ3lOdW1iZXI6CiAJCQkJ cXRyZyA9IGdlbmVyYXRlX3dpbGRjYXJkX3RyZ20oVkFSREFUQShxdWVyeSksCiAJCQkJCQkJ CQkJCSAgcXVlcnlzaXplIC0gVkFSSERSU1opOwpAQCAtMjU2LDcgKzI1Niw3IEBAIGd0cmdt X2NvbnNpc3RlbnQoUEdfRlVOQ1RJT05fQVJHUykKICNpZm5kZWYgSUdOT1JFQ0FTRQogCQkJ CWVsb2coRVJST1IsICJjYW5ub3QgaGFuZGxlIH4qIHdpdGggY2FzZS1zZW5zaXRpdmUgdHJp Z3JhbXMiKTsKICNlbmRpZgotCQkJCS8qIEZBTEwgVEhSVSAqLworCQkJCXBnX2ZhbGx0aHJv dWdoOwogCQkJY2FzZSBSZWdFeHBTdHJhdGVneU51bWJlcjoKIAkJCQlxdHJnID0gY3JlYXRl VHJnbU5GQShxdWVyeSwgUEdfR0VUX0NPTExBVElPTigpLAogCQkJCQkJCQkJICZncmFwaCwg ZmNpbmZvLT5mbGluZm8tPmZuX21jeHQpOwpAQCAtMzQ0LDcgKzM0NCw3IEBAIGd0cmdtX2Nv bnNpc3RlbnQoUEdfRlVOQ1RJT05fQVJHUykKICNpZm5kZWYgSUdOT1JFQ0FTRQogCQkJZWxv ZyhFUlJPUiwgImNhbm5vdCBoYW5kbGUgfn4qIHdpdGggY2FzZS1zZW5zaXRpdmUgdHJpZ3Jh bXMiKTsKICNlbmRpZgotCQkJLyogRkFMTCBUSFJVICovCisJCQlwZ19mYWxsdGhyb3VnaDsK IAkJY2FzZSBMaWtlU3RyYXRlZ3lOdW1iZXI6CiAJCWNhc2UgRXF1YWxTdHJhdGVneU51bWJl cjoKIAkJCS8qIFdpbGRjYXJkIGFuZCBlcXVhbCBzZWFyY2ggYXJlIGluZXhhY3QgKi8KQEAg LTM4Niw3ICszODYsNyBAQCBndHJnbV9jb25zaXN0ZW50KFBHX0ZVTkNUSU9OX0FSR1MpCiAj aWZuZGVmIElHTk9SRUNBU0UKIAkJCWVsb2coRVJST1IsICJjYW5ub3QgaGFuZGxlIH4qIHdp dGggY2FzZS1zZW5zaXRpdmUgdHJpZ3JhbXMiKTsKICNlbmRpZgotCQkJLyogRkFMTCBUSFJV ICovCisJCQlwZ19mYWxsdGhyb3VnaDsKIAkJY2FzZSBSZWdFeHBTdHJhdGVneU51bWJlcjoK IAkJCS8qIFJlZ2V4cCBzZWFyY2ggaXMgaW5leGFjdCAqLwogCQkJKnJlY2hlY2sgPSB0cnVl OwpkaWZmIC0tZ2l0IGEvY29udHJpYi9wZ2NyeXB0by9wZ3AtaW5mby5jIGIvY29udHJpYi9w Z2NyeXB0by9wZ3AtaW5mby5jCmluZGV4IDgzZGM2MDQ4NmJkLi42YzJiZTQ3MTNhYiAxMDA2 NDQKLS0tIGEvY29udHJpYi9wZ2NyeXB0by9wZ3AtaW5mby5jCisrKyBiL2NvbnRyaWIvcGdj cnlwdG8vcGdwLWluZm8uYwpAQCAtMTY5LDcgKzE2OSw3IEBAIHBncF9nZXRfa2V5aWQoTUJ1 ZiAqcGdwX2RhdGEsIGNoYXIgKmRzdCkKIAkJCQlicmVhazsKIAkJCWNhc2UgUEdQX1BLVF9T WU1FTkNSWVBURURfU0VTU0tFWToKIAkJCQlnb3Rfc3ltZW5jX2tleSsrOwotCQkJCS8qIGZh bGwgdGhyb3VnaCAqLworCQkJCXBnX2ZhbGx0aHJvdWdoOwogCQkJY2FzZSBQR1BfUEtUX1NJ R05BVFVSRToKIAkJCWNhc2UgUEdQX1BLVF9NQVJLRVI6CiAJCQljYXNlIFBHUF9QS1RfVFJV U1Q6CmRpZmYgLS1naXQgYS9tZXNvbi5idWlsZCBiL21lc29uLmJ1aWxkCmluZGV4IDZkMzA0 ZjMyZmIwLi5mNDI4MzcxYTRjNCAxMDA2NDQKLS0tIGEvbWVzb24uYnVpbGQKKysrIGIvbWVz b24uYnVpbGQKQEAgLTIxMjUsNyArMjEyNSw3IEBAIGNvbW1vbl93YXJuaW5nX2ZsYWdzID0g WwogICAnLVdlcnJvcj11bmd1YXJkZWQtYXZhaWxhYmlsaXR5LW5ldycsCiAgICctV2VuZGlm LWxhYmVscycsCiAgICctV21pc3NpbmctZm9ybWF0LWF0dHJpYnV0ZScsCi0gICctV2ltcGxp Y2l0LWZhbGx0aHJvdWdoPTMnLAorICAnLVdpbXBsaWNpdC1mYWxsdGhyb3VnaD01JywKICAg Jy1XY2FzdC1mdW5jdGlvbi10eXBlJywKICAgJy1Xc2hhZG93PWNvbXBhdGlibGUtbG9jYWwn LAogICAjIFRoaXMgd2FzIGluY2x1ZGVkIGluIC1XYWxsLy1XZm9ybWF0IGluIG9sZGVyIEdD QyB2ZXJzaW9ucwpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvYWNjZXNzL2hlYXAvaGVhcGFt X2hhbmRsZXIuYyBiL3NyYy9iYWNrZW5kL2FjY2Vzcy9oZWFwL2hlYXBhbV9oYW5kbGVyLmMK aW5kZXggY2JlZjczZTVkNGIuLmI4M2UyMDEzZDUwIDEwMDY0NAotLS0gYS9zcmMvYmFja2Vu ZC9hY2Nlc3MvaGVhcC9oZWFwYW1faGFuZGxlci5jCisrKyBiL3NyYy9iYWNrZW5kL2FjY2Vz cy9oZWFwL2hlYXBhbV9oYW5kbGVyLmMKQEAgLTg2MSw3ICs4NjEsNyBAQCBoZWFwYW1fcmVs YXRpb25fY29weV9mb3JfY2x1c3RlcihSZWxhdGlvbiBPbGRIZWFwLCBSZWxhdGlvbiBOZXdI ZWFwLAogCQkJCWJyZWFrOwogCQkJY2FzZSBIRUFQVFVQTEVfUkVDRU5UTFlfREVBRDoKIAkJ CQkqdHVwc19yZWNlbnRseV9kZWFkICs9IDE7Ci0JCQkJLyogZmFsbCB0aHJvdWdoICovCisJ CQkJcGdfZmFsbHRocm91Z2g7CiAJCQljYXNlIEhFQVBUVVBMRV9MSVZFOgogCQkJCS8qIExp dmUgb3IgcmVjZW50bHkgZGVhZCwgbXVzdCBjb3B5IGl0ICovCiAJCQkJaXNkZWFkID0gZmFs c2U7CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9hY2Nlc3MvbmJ0cmVlL25idHByZXByb2Nl c3NrZXlzLmMgYi9zcmMvYmFja2VuZC9hY2Nlc3MvbmJ0cmVlL25idHByZXByb2Nlc3NrZXlz LmMKaW5kZXggYjAyOGIwYzNlODguLjM5YzBhNWQ2MTBmIDEwMDY0NAotLS0gYS9zcmMvYmFj a2VuZC9hY2Nlc3MvbmJ0cmVlL25idHByZXByb2Nlc3NrZXlzLmMKKysrIGIvc3JjL2JhY2tl bmQvYWNjZXNzL25idHJlZS9uYnRwcmVwcm9jZXNza2V5cy5jCkBAIC0xMTk4LDcgKzExOTgs NyBAQCBfYnRfc2FvcGFycmF5X3NocmluayhJbmRleFNjYW5EZXNjIHNjYW4sIFNjYW5LZXkg YXJyYXlzaywgU2NhbktleSBza2V5LAogCXsKIAkJY2FzZSBCVExlc3NTdHJhdGVneU51bWJl cjoKIAkJCWNtcGV4YWN0ID0gMTsJCS8qIGV4Y2x1ZGUgZXhhY3QgbWF0Y2gsIGlmIGFueSAq LwotCQkJLyogRkFMTCBUSFJVICovCisJCQlwZ19mYWxsdGhyb3VnaDsKIAkJY2FzZSBCVExl c3NFcXVhbFN0cmF0ZWd5TnVtYmVyOgogCQkJaWYgKGNtcHJlc3VsdCA+PSBjbXBleGFjdCkK IAkJCQltYXRjaGVsZW0rKzsKQEAgLTEyMjAsNyArMTIyMCw3IEBAIF9idF9zYW9wYXJyYXlf c2hyaW5rKEluZGV4U2NhbkRlc2Mgc2NhbiwgU2NhbktleSBhcnJheXNrLCBTY2FuS2V5IHNr ZXksCiAJCQlicmVhazsKIAkJY2FzZSBCVEdyZWF0ZXJFcXVhbFN0cmF0ZWd5TnVtYmVyOgog CQkJY21wZXhhY3QgPSAxOwkJLyogaW5jbHVkZSBleGFjdCBtYXRjaCwgaWYgYW55ICovCi0J CQkvKiBGQUxMIFRIUlUgKi8KKwkJCXBnX2ZhbGx0aHJvdWdoOwogCQljYXNlIEJUR3JlYXRl clN0cmF0ZWd5TnVtYmVyOgogCQkJaWYgKGNtcHJlc3VsdCA+PSBjbXBleGFjdCkKIAkJCQlt YXRjaGVsZW0rKzsKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2Jvb3RzdHJhcC9ib290c3Ry YXAuYyBiL3NyYy9iYWNrZW5kL2Jvb3RzdHJhcC9ib290c3RyYXAuYwppbmRleCBkZDU3NjI0 YjRmOS4uMWM1MjM4NDE0YjEgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2Jvb3RzdHJhcC9i b290c3RyYXAuYworKysgYi9zcmMvYmFja2VuZC9ib290c3RyYXAvYm9vdHN0cmFwLmMKQEAg LTI0Miw3ICsyNDIsNyBAQCBCb290c3RyYXBNb2RlTWFpbihpbnQgYXJnYywgY2hhciAqYXJn dltdLCBib29sIGNoZWNrX29ubHkpCiAJCQkJCQkJKGVycmNvZGUoRVJSQ09ERV9TWU5UQVhf RVJST1IpLAogCQkJCQkJCSBlcnJtc2coIi0tJXMgbXVzdCBiZSBmaXJzdCBhcmd1bWVudCIs IG9wdGFyZykpKTsKIAotCQkJCS8qIEZBTExUSFJPVUdIICovCisJCQkJcGdfZmFsbHRocm91 Z2g7CiAJCQljYXNlICdjJzoKIAkJCQl7CiAJCQkJCWNoYXIJICAgKm5hbWUsCmRpZmYgLS1n aXQgYS9zcmMvYmFja2VuZC9jYXRhbG9nL2RlcGVuZGVuY3kuYyBiL3NyYy9iYWNrZW5kL2Nh dGFsb2cvZGVwZW5kZW5jeS5jCmluZGV4IGY4OTI2N2YwMzQyLi43ZDg4MDRiNmZiOSAxMDA2 NDQKLS0tIGEvc3JjL2JhY2tlbmQvY2F0YWxvZy9kZXBlbmRlbmN5LmMKKysrIGIvc3JjL2Jh Y2tlbmQvY2F0YWxvZy9kZXBlbmRlbmN5LmMKQEAgLTY0MSw3ICs2NDEsNyBAQCBmaW5kRGVw ZW5kZW50T2JqZWN0cyhjb25zdCBPYmplY3RBZGRyZXNzICpvYmplY3QsCiAJCQkJCWJyZWFr OwogCiAJCQkJLyogT3RoZXJ3aXNlLCB0cmVhdCB0aGlzIGxpa2UgYW4gaW50ZXJuYWwgZGVw ZW5kZW5jeSAqLwotCQkJCS8qIEZBTEwgVEhSVSAqLworCQkJCXBnX2ZhbGx0aHJvdWdoOwog CiAJCQljYXNlIERFUEVOREVOQ1lfSU5URVJOQUw6CiAKZGlmZiAtLWdpdCBhL3NyYy9iYWNr ZW5kL2NhdGFsb2cvb2JqZWN0YWRkcmVzcy5jIGIvc3JjL2JhY2tlbmQvY2F0YWxvZy9vYmpl Y3RhZGRyZXNzLmMKaW5kZXggMDJhZjY0YjgyYzYuLjU0Mjc2N2QyZGE4IDEwMDY0NAotLS0g YS9zcmMvYmFja2VuZC9jYXRhbG9nL29iamVjdGFkZHJlc3MuYworKysgYi9zcmMvYmFja2Vu ZC9jYXRhbG9nL29iamVjdGFkZHJlc3MuYwpAQCAtMjIzMSw3ICsyMjMxLDcgQEAgcGdfZ2V0 X29iamVjdF9hZGRyZXNzKFBHX0ZVTkNUSU9OX0FSR1MpCiAJCQkJCQkoZXJyY29kZShFUlJD T0RFX0lOVkFMSURfUEFSQU1FVEVSX1ZBTFVFKSwKIAkJCQkJCSBlcnJtc2coIm5hbWUgbGlz dCBsZW5ndGggbXVzdCBiZSBleGFjdGx5ICVkIiwgMSkpKTsKIAkJCS8qIGZhbGwgdGhyb3Vn aCB0byBjaGVjayBhcmdzIGxlbmd0aCAqLwotCQkJLyogRkFMTFRIUk9VR0ggKi8KKwkJCXBn X2ZhbGx0aHJvdWdoOwogCQljYXNlIE9CSkVDVF9ET01DT05TVFJBSU5UOgogCQljYXNlIE9C SkVDVF9DQVNUOgogCQljYXNlIE9CSkVDVF9QVUJMSUNBVElPTl9SRUw6CkBAIC0yMjU2LDcg KzIyNTYsNyBAQCBwZ19nZXRfb2JqZWN0X2FkZHJlc3MoUEdfRlVOQ1RJT05fQVJHUykKIAkJ CQkJCShlcnJjb2RlKEVSUkNPREVfSU5WQUxJRF9QQVJBTUVURVJfVkFMVUUpLAogCQkJCQkJ IGVycm1zZygibmFtZSBsaXN0IGxlbmd0aCBtdXN0IGJlIGF0IGxlYXN0ICVkIiwgMykpKTsK IAkJCS8qIGZhbGwgdGhyb3VnaCB0byBjaGVjayBhcmdzIGxlbmd0aCAqLwotCQkJLyogRkFM TFRIUk9VR0ggKi8KKwkJCXBnX2ZhbGx0aHJvdWdoOwogCQljYXNlIE9CSkVDVF9PUEVSQVRP UjoKIAkJCWlmIChsaXN0X2xlbmd0aChhcmdzKSAhPSAyKQogCQkJCWVyZXBvcnQoRVJST1Is CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9jYXRhbG9nL3BnX3NoZGVwZW5kLmMgYi9zcmMv YmFja2VuZC9jYXRhbG9nL3BnX3NoZGVwZW5kLmMKaW5kZXggM2RiNDFlY2Q3NGYuLmM5OTk4 NTMxYjJmIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9jYXRhbG9nL3BnX3NoZGVwZW5kLmMK KysrIGIvc3JjL2JhY2tlbmQvY2F0YWxvZy9wZ19zaGRlcGVuZC5jCkBAIC0xNDU4LDcgKzE0 NTgsNyBAQCBzaGRlcERyb3BPd25lZChMaXN0ICpyb2xlaWRzLCBEcm9wQmVoYXZpb3IgYmVo YXZpb3IpCiAJCQkJCQkJCQkJCQlzZGVwRm9ybS0+b2JqaWQpOwogCQkJCQkJYnJlYWs7CiAJ CQkJCX0KLQkJCQkJLyogRkFMTFRIUk9VR0ggKi8KKwkJCQkJcGdfZmFsbHRocm91Z2g7CiAK IAkJCQljYXNlIFNIQVJFRF9ERVBFTkRFTkNZX09XTkVSOgogCmRpZmYgLS1naXQgYS9zcmMv YmFja2VuZC9jb21tYW5kcy9leHBsYWluLmMgYi9zcmMvYmFja2VuZC9jb21tYW5kcy9leHBs YWluLmMKaW5kZXggYjdiYjExMTY4OGMuLjJlMDNkMWEzYzY2IDEwMDY0NAotLS0gYS9zcmMv YmFja2VuZC9jb21tYW5kcy9leHBsYWluLmMKKysrIGIvc3JjL2JhY2tlbmQvY29tbWFuZHMv ZXhwbGFpbi5jCkBAIC0yMDEyLDcgKzIwMTIsNyBAQCBFeHBsYWluTm9kZShQbGFuU3RhdGUg KnBsYW5zdGF0ZSwgTGlzdCAqYW5jZXN0b3JzLAogCQkJc2hvd190YWJsZXNhbXBsZSgoKFNh bXBsZVNjYW4gKikgcGxhbiktPnRhYmxlc2FtcGxlLAogCQkJCQkJCSBwbGFuc3RhdGUsIGFu Y2VzdG9ycywgZXMpOwogCQkJLyogZmFsbCB0aHJvdWdoIHRvIHByaW50IGFkZGl0aW9uYWwg ZmllbGRzIHRoZSBzYW1lIGFzIFNlcVNjYW4gKi8KLQkJCS8qIEZBTExUSFJPVUdIICovCisJ CQlwZ19mYWxsdGhyb3VnaDsKIAkJY2FzZSBUX1NlcVNjYW46CiAJCWNhc2UgVF9WYWx1ZXNT Y2FuOgogCQljYXNlIFRfQ3RlU2NhbjoKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2NvbW1h bmRzL3RhYmxlY21kcy5jIGIvc3JjL2JhY2tlbmQvY29tbWFuZHMvdGFibGVjbWRzLmMKaW5k ZXggZjk3NmMwZTVjN2UuLjJmNWI3MDA3ZmY5IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9j b21tYW5kcy90YWJsZWNtZHMuYworKysgYi9zcmMvYmFja2VuZC9jb21tYW5kcy90YWJsZWNt ZHMuYwpAQCAtMTYxOTIsNyArMTYxOTIsNyBAQCBBVEV4ZWNDaGFuZ2VPd25lcihPaWQgcmVs YXRpb25PaWQsIE9pZCBuZXdPd25lcklkLCBib29sIHJlY3Vyc2luZywgTE9DS01PREUgbG9j awogCQljYXNlIFJFTEtJTkRfVE9BU1RWQUxVRToKIAkJCWlmIChyZWN1cnNpbmcpCiAJCQkJ YnJlYWs7Ci0JCQkvKiBGQUxMIFRIUlUgKi8KKwkJCXBnX2ZhbGx0aHJvdWdoOwogCQlkZWZh dWx0OgogCQkJZXJlcG9ydChFUlJPUiwKIAkJCQkJKGVycmNvZGUoRVJSQ09ERV9XUk9OR19P QkpFQ1RfVFlQRSksCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9jb21tYW5kcy90cmlnZ2Vy LmMgYi9zcmMvYmFja2VuZC9jb21tYW5kcy90cmlnZ2VyLmMKaW5kZXggZDMwZmRhNjYwZWIu LjVlNjkzOTFiMzQzIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9jb21tYW5kcy90cmlnZ2Vy LmMKKysrIGIvc3JjL2JhY2tlbmQvY29tbWFuZHMvdHJpZ2dlci5jCkBAIC00NDAyLDcgKzQ0 MDIsNyBAQCBBZnRlclRyaWdnZXJFeGVjdXRlKEVTdGF0ZSAqZXN0YXRlLAogCQkJCQkJCQkJ CQkgdHJpZ190dXBsZV9zbG90MikpCiAJCQkJCWVsb2coRVJST1IsICJmYWlsZWQgdG8gZmV0 Y2ggdHVwbGUyIGZvciBBRlRFUiB0cmlnZ2VyIik7CiAJCQl9Ci0JCQkvKiBmYWxsIHRocm91 Z2ggKi8KKwkJCXBnX2ZhbGx0aHJvdWdoOwogCQljYXNlIEFGVEVSX1RSSUdHRVJfRkRXX1JF VVNFOgogCiAJCQkvKgpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvZXhlY3V0b3Ivbm9kZUFn Zy5jIGIvc3JjL2JhY2tlbmQvZXhlY3V0b3Ivbm9kZUFnZy5jCmluZGV4IGJhYTc2NTk2YWMy Li43ZDQ4N2ExNjVmYSAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvZXhlY3V0b3Ivbm9kZUFn Zy5jCisrKyBiL3NyYy9iYWNrZW5kL2V4ZWN1dG9yL25vZGVBZ2cuYwpAQCAtMjI1Nyw3ICsy MjU3LDcgQEAgRXhlY0FnZyhQbGFuU3RhdGUgKnBzdGF0ZSkKIAkJCWNhc2UgQUdHX0hBU0hF RDoKIAkJCQlpZiAoIW5vZGUtPnRhYmxlX2ZpbGxlZCkKIAkJCQkJYWdnX2ZpbGxfaGFzaF90 YWJsZShub2RlKTsKLQkJCQkvKiBGQUxMVEhST1VHSCAqLworCQkJCXBnX2ZhbGx0aHJvdWdo OwogCQkJY2FzZSBBR0dfTUlYRUQ6CiAJCQkJcmVzdWx0ID0gYWdnX3JldHJpZXZlX2hhc2hf dGFibGUobm9kZSk7CiAJCQkJYnJlYWs7CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9leGVj dXRvci9ub2RlSGFzaC5jIGIvc3JjL2JhY2tlbmQvZXhlY3V0b3Ivbm9kZUhhc2guYwppbmRl eCBmNWQzZWRiOTBlMi4uYzBlYjVhMWYwYzUgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2V4 ZWN1dG9yL25vZGVIYXNoLmMKKysrIGIvc3JjL2JhY2tlbmQvZXhlY3V0b3Ivbm9kZUhhc2gu YwpAQCAtMjU4LDcgKzI1OCw3IEBAIE11bHRpRXhlY1BhcmFsbGVsSGFzaChIYXNoU3RhdGUg Km5vZGUpCiAJCQkgKiB3YXksIHdhaXQgZm9yIGV2ZXJ5b25lIHRvIGFycml2ZSBoZXJlIHNv IHdlIGNhbiBwcm9jZWVkLgogCQkJICovCiAJCQlCYXJyaWVyQXJyaXZlQW5kV2FpdChidWls ZF9iYXJyaWVyLCBXQUlUX0VWRU5UX0hBU0hfQlVJTERfQUxMT0NBVEUpOwotCQkJLyogRmFs bCB0aHJvdWdoLiAqLworCQkJcGdfZmFsbHRocm91Z2g7CiAKIAkJY2FzZSBQSEpfQlVJTERf SEFTSF9JTk5FUjoKIApAQCAtMTMzMCwxMyArMTMzMCwxMyBAQCBFeGVjUGFyYWxsZWxIYXNo SW5jcmVhc2VOdW1CYXRjaGVzKEhhc2hKb2luVGFibGUgaGFzaHRhYmxlKQogCQkJCS8qIEFs bCBvdGhlciBwYXJ0aWNpcGFudHMganVzdCBmbHVzaCB0aGVpciB0dXBsZXMgdG8gZGlzay4g Ki8KIAkJCQlFeGVjUGFyYWxsZWxIYXNoQ2xvc2VCYXRjaEFjY2Vzc29ycyhoYXNodGFibGUp OwogCQkJfQotCQkJLyogRmFsbCB0aHJvdWdoLiAqLworCQkJcGdfZmFsbHRocm91Z2g7CiAK IAkJY2FzZSBQSEpfR1JPV19CQVRDSEVTX1JFQUxMT0NBVEU6CiAJCQkvKiBXYWl0IGZvciB0 aGUgYWJvdmUgdG8gYmUgZmluaXNoZWQuICovCiAJCQlCYXJyaWVyQXJyaXZlQW5kV2FpdCgm cHN0YXRlLT5ncm93X2JhdGNoZXNfYmFycmllciwKIAkJCQkJCQkJIFdBSVRfRVZFTlRfSEFT SF9HUk9XX0JBVENIRVNfUkVBTExPQ0FURSk7Ci0JCQkvKiBGYWxsIHRocm91Z2guICovCisJ CQlwZ19mYWxsdGhyb3VnaDsKIAogCQljYXNlIFBISl9HUk9XX0JBVENIRVNfUkVQQVJUSVRJ T046CiAJCQkvKiBNYWtlIHN1cmUgdGhhdCB3ZSBoYXZlIHRoZSBjdXJyZW50IGRpbWVuc2lv bnMgYW5kIGJ1Y2tldHMuICovCkBAIC0xMzQ5LDcgKzEzNDksNyBAQCBFeGVjUGFyYWxsZWxI YXNoSW5jcmVhc2VOdW1CYXRjaGVzKEhhc2hKb2luVGFibGUgaGFzaHRhYmxlKQogCQkJLyog V2FpdCBmb3IgdGhlIGFib3ZlIHRvIGJlIGZpbmlzaGVkLiAqLwogCQkJQmFycmllckFycml2 ZUFuZFdhaXQoJnBzdGF0ZS0+Z3Jvd19iYXRjaGVzX2JhcnJpZXIsCiAJCQkJCQkJCSBXQUlU X0VWRU5UX0hBU0hfR1JPV19CQVRDSEVTX1JFUEFSVElUSU9OKTsKLQkJCS8qIEZhbGwgdGhy b3VnaC4gKi8KKwkJCXBnX2ZhbGx0aHJvdWdoOwogCiAJCWNhc2UgUEhKX0dST1dfQkFUQ0hF U19ERUNJREU6CiAKQEAgLTE0MTEsNyArMTQxMSw3IEBAIEV4ZWNQYXJhbGxlbEhhc2hJbmNy ZWFzZU51bUJhdGNoZXMoSGFzaEpvaW5UYWJsZSBoYXNodGFibGUpCiAJCQkJZHNhX2ZyZWUo aGFzaHRhYmxlLT5hcmVhLCBwc3RhdGUtPm9sZF9iYXRjaGVzKTsKIAkJCQlwc3RhdGUtPm9s ZF9iYXRjaGVzID0gSW52YWxpZERzYVBvaW50ZXI7CiAJCQl9Ci0JCQkvKiBGYWxsIHRocm91 Z2guICovCisJCQlwZ19mYWxsdGhyb3VnaDsKIAogCQljYXNlIFBISl9HUk9XX0JBVENIRVNf RklOSVNIOgogCQkJLyogV2FpdCBmb3IgdGhlIGFib3ZlIHRvIGNvbXBsZXRlLiAqLwpAQCAt MTY4OSwxMyArMTY4OSwxMyBAQCBFeGVjUGFyYWxsZWxIYXNoSW5jcmVhc2VOdW1CdWNrZXRz KEhhc2hKb2luVGFibGUgaGFzaHRhYmxlKQogCQkJCS8qIENsZWFyIHRoZSBmbGFnLiAqLwog CQkJCXBzdGF0ZS0+Z3Jvd3RoID0gUEhKX0dST1dUSF9PSzsKIAkJCX0KLQkJCS8qIEZhbGwg dGhyb3VnaC4gKi8KKwkJCXBnX2ZhbGx0aHJvdWdoOwogCiAJCWNhc2UgUEhKX0dST1dfQlVD S0VUU19SRUFMTE9DQVRFOgogCQkJLyogV2FpdCBmb3IgdGhlIGFib3ZlIHRvIGNvbXBsZXRl LiAqLwogCQkJQmFycmllckFycml2ZUFuZFdhaXQoJnBzdGF0ZS0+Z3Jvd19idWNrZXRzX2Jh cnJpZXIsCiAJCQkJCQkJCSBXQUlUX0VWRU5UX0hBU0hfR1JPV19CVUNLRVRTX1JFQUxMT0NB VEUpOwotCQkJLyogRmFsbCB0aHJvdWdoLiAqLworCQkJcGdfZmFsbHRocm91Z2g7CiAKIAkJ Y2FzZSBQSEpfR1JPV19CVUNLRVRTX1JFSU5TRVJUOgogCQkJLyogUmVpbnNlcnQgYWxsIHR1 cGxlcyBpbnRvIHRoZSBoYXNoIHRhYmxlLiAqLwpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQv ZXhlY3V0b3Ivbm9kZUhhc2hqb2luLmMgYi9zcmMvYmFja2VuZC9leGVjdXRvci9ub2RlSGFz aGpvaW4uYwppbmRleCAxMTQ2MjBhODEzNy4uNWFhOGEwOWIyNjUgMTAwNjQ0Ci0tLSBhL3Ny Yy9iYWNrZW5kL2V4ZWN1dG9yL25vZGVIYXNoam9pbi5jCisrKyBiL3NyYy9iYWNrZW5kL2V4 ZWN1dG9yL25vZGVIYXNoam9pbi5jCkBAIC00MTYsNyArNDE2LDcgQEAgRXhlY0hhc2hKb2lu SW1wbChQbGFuU3RhdGUgKnBzdGF0ZSwgYm9vbCBwYXJhbGxlbCkKIAkJCQllbHNlCiAJCQkJ CW5vZGUtPmhqX0pvaW5TdGF0ZSA9IEhKX05FRURfTkVXX09VVEVSOwogCi0JCQkJLyogRkFM TCBUSFJVICovCisJCQkJcGdfZmFsbHRocm91Z2g7CiAKIAkJCWNhc2UgSEpfTkVFRF9ORVdf T1VURVI6CiAKQEAgLTUwNSw3ICs1MDUsNyBAQCBFeGVjSGFzaEpvaW5JbXBsKFBsYW5TdGF0 ZSAqcHN0YXRlLCBib29sIHBhcmFsbGVsKQogCQkJCS8qIE9LLCBsZXQncyBzY2FuIHRoZSBi dWNrZXQgZm9yIG1hdGNoZXMgKi8KIAkJCQlub2RlLT5oal9Kb2luU3RhdGUgPSBISl9TQ0FO X0JVQ0tFVDsKIAotCQkJCS8qIEZBTEwgVEhSVSAqLworCQkJCXBnX2ZhbGx0aHJvdWdoOwog CiAJCQljYXNlIEhKX1NDQU5fQlVDS0VUOgogCkBAIC0xMzEzLDEzICsxMzEzLDEzIEBAIEV4 ZWNQYXJhbGxlbEhhc2hKb2luTmV3QmF0Y2goSGFzaEpvaW5TdGF0ZSAqaGpzdGF0ZSkKIAkJ CQkJaWYgKEJhcnJpZXJBcnJpdmVBbmRXYWl0KGJhdGNoX2JhcnJpZXIsCiAJCQkJCQkJCQkJ CSBXQUlUX0VWRU5UX0hBU0hfQkFUQ0hfRUxFQ1QpKQogCQkJCQkJRXhlY1BhcmFsbGVsSGFz aFRhYmxlQWxsb2MoaGFzaHRhYmxlLCBiYXRjaG5vKTsKLQkJCQkJLyogRmFsbCB0aHJvdWdo LiAqLworCQkJCQlwZ19mYWxsdGhyb3VnaDsKIAogCQkJCWNhc2UgUEhKX0JBVENIX0FMTE9D QVRFOgogCQkJCQkvKiBXYWl0IGZvciBhbGxvY2F0aW9uIHRvIGNvbXBsZXRlLiAqLwogCQkJ CQlCYXJyaWVyQXJyaXZlQW5kV2FpdChiYXRjaF9iYXJyaWVyLAogCQkJCQkJCQkJCSBXQUlU X0VWRU5UX0hBU0hfQkFUQ0hfQUxMT0NBVEUpOwotCQkJCQkvKiBGYWxsIHRocm91Z2guICov CisJCQkJCXBnX2ZhbGx0aHJvdWdoOwogCiAJCQkJY2FzZSBQSEpfQkFUQ0hfTE9BRDoKIAkJ CQkJLyogU3RhcnQgKG9yIGpvaW4gaW4pIGxvYWRpbmcgdHVwbGVzLiAqLwpAQCAtMTMzOSw3 ICsxMzM5LDcgQEAgRXhlY1BhcmFsbGVsSGFzaEpvaW5OZXdCYXRjaChIYXNoSm9pblN0YXRl ICpoanN0YXRlKQogCQkJCQlzdHNfZW5kX3BhcmFsbGVsX3NjYW4oaW5uZXJfdHVwbGVzKTsK IAkJCQkJQmFycmllckFycml2ZUFuZFdhaXQoYmF0Y2hfYmFycmllciwKIAkJCQkJCQkJCQkg V0FJVF9FVkVOVF9IQVNIX0JBVENIX0xPQUQpOwotCQkJCQkvKiBGYWxsIHRocm91Z2guICov CisJCQkJCXBnX2ZhbGx0aHJvdWdoOwogCiAJCQkJY2FzZSBQSEpfQkFUQ0hfUFJPQkU6CiAK ZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2V4ZWN1dG9yL25vZGVMaW1pdC5jIGIvc3JjL2Jh Y2tlbmQvZXhlY3V0b3Ivbm9kZUxpbWl0LmMKaW5kZXggYzQwYTczZGNmMTcuLjhmNzVjYmJl YWQyIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9leGVjdXRvci9ub2RlTGltaXQuYworKysg Yi9zcmMvYmFja2VuZC9leGVjdXRvci9ub2RlTGltaXQuYwpAQCAtNjgsNyArNjgsNyBAQCBF eGVjTGltaXQoUGxhblN0YXRlICpwc3RhdGUpCiAJCQkgKi8KIAkJCXJlY29tcHV0ZV9saW1p dHMobm9kZSk7CiAKLQkJCS8qIEZBTEwgVEhSVSAqLworCQkJcGdfZmFsbHRocm91Z2g7CiAK IAkJY2FzZSBMSU1JVF9SRVNDQU46CiAKQEAgLTIxNSw3ICsyMTUsNyBAQCBFeGVjTGltaXQo UGxhblN0YXRlICpwc3RhdGUpCiAJCQl9CiAKIAkJCUFzc2VydChub2RlLT5sc3RhdGUgPT0g TElNSVRfV0lORE9XRU5EX1RJRVMpOwotCQkJLyogRkFMTCBUSFJVICovCisJCQlwZ19mYWxs dGhyb3VnaDsKIAogCQljYXNlIExJTUlUX1dJTkRPV0VORF9USUVTOgogCQkJaWYgKFNjYW5E aXJlY3Rpb25Jc0ZvcndhcmQoZGlyZWN0aW9uKSkKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5k L2V4ZWN1dG9yL25vZGVUaWRyYW5nZXNjYW4uYyBiL3NyYy9iYWNrZW5kL2V4ZWN1dG9yL25v ZGVUaWRyYW5nZXNjYW4uYwppbmRleCA0YWEyODkxOGU5MC4uNTAzODE3ZGE2NWIgMTAwNjQ0 Ci0tLSBhL3NyYy9iYWNrZW5kL2V4ZWN1dG9yL25vZGVUaWRyYW5nZXNjYW4uYworKysgYi9z cmMvYmFja2VuZC9leGVjdXRvci9ub2RlVGlkcmFuZ2VzY2FuLmMKQEAgLTc5LDEzICs3OSwx MyBAQCBNYWtlVGlkT3BFeHByKE9wRXhwciAqZXhwciwgVGlkUmFuZ2VTY2FuU3RhdGUgKnRp ZHN0YXRlKQogCXsKIAkJY2FzZSBUSURMZXNzRXFPcGVyYXRvcjoKIAkJCXRpZG9wZXhwci0+ aW5jbHVzaXZlID0gdHJ1ZTsKLQkJCS8qIGZhbGwgdGhyb3VnaCAqLworCQkJcGdfZmFsbHRo cm91Z2g7CiAJCWNhc2UgVElETGVzc09wZXJhdG9yOgogCQkJdGlkb3BleHByLT5leHBydHlw ZSA9IGludmVydCA/IFRJREVYUFJfTE9XRVJfQk9VTkQgOiBUSURFWFBSX1VQUEVSX0JPVU5E OwogCQkJYnJlYWs7CiAJCWNhc2UgVElER3JlYXRlckVxT3BlcmF0b3I6CiAJCQl0aWRvcGV4 cHItPmluY2x1c2l2ZSA9IHRydWU7Ci0JCQkvKiBmYWxsIHRocm91Z2ggKi8KKwkJCXBnX2Zh bGx0aHJvdWdoOwogCQljYXNlIFRJREdyZWF0ZXJPcGVyYXRvcjoKIAkJCXRpZG9wZXhwci0+ ZXhwcnR5cGUgPSBpbnZlcnQgPyBUSURFWFBSX1VQUEVSX0JPVU5EIDogVElERVhQUl9MT1dF Ul9CT1VORDsKIAkJCWJyZWFrOwpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvbGlicHEvYXV0 aC5jIGIvc3JjL2JhY2tlbmQvbGlicHEvYXV0aC5jCmluZGV4IDc5NWJmZWQ4ZDE5Li5lMDRh YTJlNjhlZCAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvbGlicHEvYXV0aC5jCisrKyBiL3Ny Yy9iYWNrZW5kL2xpYnBxL2F1dGguYwpAQCAtMjAwMiw3ICsyMDAyLDcgQEAgcGFtX3Bhc3N3 ZF9jb252X3Byb2MoaW50IG51bV9tc2csIFBHX1BBTV9DT05TVCBzdHJ1Y3QgcGFtX21lc3Nh Z2UgKiptc2csCiAJCQkJZXJlcG9ydChMT0csCiAJCQkJCQkoZXJybXNnKCJlcnJvciBmcm9t IHVuZGVybHlpbmcgUEFNIGxheWVyOiAlcyIsCiAJCQkJCQkJCW1zZ1tpXS0+bXNnKSkpOwot CQkJCS8qIEZBTEwgVEhST1VHSCAqLworCQkJCXBnX2ZhbGx0aHJvdWdoOwogCQkJY2FzZSBQ QU1fVEVYVF9JTkZPOgogCQkJCS8qIHdlIGRvbid0IGJvdGhlciB0byBsb2cgVEVYVF9JTkZP IG1lc3NhZ2VzICovCiAJCQkJaWYgKChyZXBseVtpXS5yZXNwID0gc3RyZHVwKCIiKSkgPT0g TlVMTCkKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL29wdGltaXplci9wbGFuL3BsYW5uZXIu YyBiL3NyYy9iYWNrZW5kL29wdGltaXplci9wbGFuL3BsYW5uZXIuYwppbmRleCA3YTZiOGI3 NDlmMi4uMzljMjA3ZjRkODQgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL29wdGltaXplci9w bGFuL3BsYW5uZXIuYworKysgYi9zcmMvYmFja2VuZC9vcHRpbWl6ZXIvcGxhbi9wbGFubmVy LmMKQEAgLTM0MTQsMTEgKzM0MTQsMTEgQEAgYWRqdXN0X2dyb3VwX3BhdGhrZXlzX2Zvcl9n cm91cGFnZyhQbGFubmVySW5mbyAqcm9vdCkKIAkJCQkJY2FzZSBQQVRIS0VZU19CRVRURVIy OgogCQkJCQkJLyogJ3BhdGhrZXlzJyBhcmUgc3Ryb25nZXIsIHVzZSB0aGVzZSBvbmVzIGlu c3RlYWQgKi8KIAkJCQkJCWN1cnJwYXRoa2V5cyA9IHBhdGhrZXlzOwotCQkJCQkJLyogRkFM TFRIUk9VR0ggKi8KKwkJCQkJCXBnX2ZhbGx0aHJvdWdoOwogCiAJCQkJCWNhc2UgUEFUSEtF WVNfQkVUVEVSMToKIAkJCQkJCS8qICdwYXRoa2V5cycgYXJlIGxlc3Mgc3RyaWN0ICovCi0J CQkJCQkvKiBGQUxMVEhST1VHSCAqLworCQkJCQkJcGdfZmFsbHRocm91Z2g7CiAKIAkJCQkJ Y2FzZSBQQVRIS0VZU19FUVVBTDoKIAkJCQkJCS8qIG1hcmsgdGhpcyBhZ2dyZWdhdGUgYXMg Y292ZXJlZCBieSAnY3VycnBhdGhrZXlzJyAqLwpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQv b3B0aW1pemVyL3V0aWwvY2xhdXNlcy5jIGIvc3JjL2JhY2tlbmQvb3B0aW1pemVyL3V0aWwv Y2xhdXNlcy5jCmluZGV4IDM5ZDM1ODI3YzM1Li4zNTgyMjUwMTU2YSAxMDA2NDQKLS0tIGEv c3JjL2JhY2tlbmQvb3B0aW1pemVyL3V0aWwvY2xhdXNlcy5jCisrKyBiL3NyYy9iYWNrZW5k L29wdGltaXplci91dGlsL2NsYXVzZXMuYwpAQCAtMTU1MCw3ICsxNTUwLDcgQEAgZmluZF9u b25udWxsYWJsZV9yZWxzX3dhbGtlcihOb2RlICpub2RlLCBib29sIHRvcF9sZXZlbCkKIAkJ CQkgKiB0aGUgaW50ZXJzZWN0aW9uIG9mIHRoZSBzZXRzIG9mIG5vbm51bGxhYmxlIHJlbHMs IGp1c3QgYXMKIAkJCQkgKiBmb3IgT1IuICBGYWxsIHRocm91Z2ggdG8gc2hhcmUgY29kZS4K IAkJCQkgKi8KLQkJCQkvKiBGQUxMIFRIUlUgKi8KKwkJCQlwZ19mYWxsdGhyb3VnaDsKIAkJ CWNhc2UgT1JfRVhQUjoKIAogCQkJCS8qCkBAIC0xODA4LDcgKzE4MDgsNyBAQCBmaW5kX25v bm51bGxhYmxlX3ZhcnNfd2Fsa2VyKE5vZGUgKm5vZGUsIGJvb2wgdG9wX2xldmVsKQogCQkJ CSAqIHRoZSBpbnRlcnNlY3Rpb24gb2YgdGhlIHNldHMgb2Ygbm9ubnVsbGFibGUgdmFycywg anVzdCBhcwogCQkJCSAqIGZvciBPUi4gIEZhbGwgdGhyb3VnaCB0byBzaGFyZSBjb2RlLgog CQkJCSAqLwotCQkJCS8qIEZBTEwgVEhSVSAqLworCQkJCXBnX2ZhbGx0aHJvdWdoOwogCQkJ Y2FzZSBPUl9FWFBSOgogCiAJCQkJLyoKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3BhcnNl ci9wYXJzZV9qc29udGFibGUuYyBiL3NyYy9iYWNrZW5kL3BhcnNlci9wYXJzZV9qc29udGFi bGUuYwppbmRleCBjMjhhZTk5ZGVlOC4uMzJhMWU4NjI5YjIgMTAwNjQ0Ci0tLSBhL3NyYy9i YWNrZW5kL3BhcnNlci9wYXJzZV9qc29udGFibGUuYworKysgYi9zcmMvYmFja2VuZC9wYXJz ZXIvcGFyc2VfanNvbnRhYmxlLmMKQEAgLTMxMiw3ICszMTIsNyBAQCB0cmFuc2Zvcm1Kc29u VGFibGVDb2x1bW5zKEpzb25UYWJsZVBhcnNlQ29udGV4dCAqY3h0LCBMaXN0ICpjb2x1bW5z LAogCQkJCQlyYXdjLT53cmFwcGVyICE9IEpTV19VTlNQRUMpCiAJCQkJCXJhd2MtPmNvbHR5 cGUgPSBKVENfRk9STUFUVEVEOwogCi0JCQkJLyogRkFMTFRIUk9VR0ggKi8KKwkJCQlwZ19m YWxsdGhyb3VnaDsKIAkJCWNhc2UgSlRDX0ZPUk1BVFRFRDoKIAkJCWNhc2UgSlRDX0VYSVNU UzoKIAkJCQl7CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9wYXJzZXIvcGFyc2VfdXRpbGNt ZC5jIGIvc3JjL2JhY2tlbmQvcGFyc2VyL3BhcnNlX3V0aWxjbWQuYwppbmRleCBiNWY0Yzcy NDU5ZC4uY2MyNDRjNDllOWUgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3BhcnNlci9wYXJz ZV91dGlsY21kLmMKKysrIGIvc3JjL2JhY2tlbmQvcGFyc2VyL3BhcnNlX3V0aWxjbWQuYwpA QCAtOTE4LDcgKzkxOCw3IEBAIHRyYW5zZm9ybUNvbHVtbkRlZmluaXRpb24oQ3JlYXRlU3Rt dENvbnRleHQgKmN4dCwgQ29sdW1uRGVmICpjb2x1bW4pCiAJCQkJCQkJIGVycm1zZygicHJp bWFyeSBrZXkgY29uc3RyYWludHMgYXJlIG5vdCBzdXBwb3J0ZWQgb24gZm9yZWlnbiB0YWJs ZXMiKSwKIAkJCQkJCQkgcGFyc2VyX2VycnBvc2l0aW9uKGN4dC0+cHN0YXRlLAogCQkJCQkJ CQkJCQkJY29uc3RyYWludC0+bG9jYXRpb24pKSk7Ci0JCQkJLyogRkFMTCBUSFJVICovCisJ CQkJcGdfZmFsbHRocm91Z2g7CiAKIAkJCWNhc2UgQ09OU1RSX1VOSVFVRToKIAkJCQlpZiAo Y3h0LT5pc2ZvcmVpZ24pCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9wYXJ0aXRpb25pbmcv cGFydHBydW5lLmMgYi9zcmMvYmFja2VuZC9wYXJ0aXRpb25pbmcvcGFydHBydW5lLmMKaW5k ZXggYTRiYmIxMGEzYjcuLjZkOTc5YTA4ZmQzIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9w YXJ0aXRpb25pbmcvcGFydHBydW5lLmMKKysrIGIvc3JjL2JhY2tlbmQvcGFydGl0aW9uaW5n L3BhcnRwcnVuZS5jCkBAIC0yODgwLDcgKzI4ODAsNyBAQCBnZXRfbWF0Y2hpbmdfbGlzdF9i b3VuZHMoUGFydGl0aW9uUHJ1bmVDb250ZXh0ICpjb250ZXh0LAogCiAJCWNhc2UgQlRHcmVh dGVyRXF1YWxTdHJhdGVneU51bWJlcjoKIAkJCWluY2x1c2l2ZSA9IHRydWU7Ci0JCQkvKiBm YWxsIHRocm91Z2ggKi8KKwkJCXBnX2ZhbGx0aHJvdWdoOwogCQljYXNlIEJUR3JlYXRlclN0 cmF0ZWd5TnVtYmVyOgogCQkJb2ZmID0gcGFydGl0aW9uX2xpc3RfYnNlYXJjaChwYXJ0c3Vw ZnVuYywKIAkJCQkJCQkJCQkgcGFydGNvbGxhdGlvbiwKQEAgLTI5MTUsNyArMjkxNSw3IEBA IGdldF9tYXRjaGluZ19saXN0X2JvdW5kcyhQYXJ0aXRpb25QcnVuZUNvbnRleHQgKmNvbnRl eHQsCiAKIAkJY2FzZSBCVExlc3NFcXVhbFN0cmF0ZWd5TnVtYmVyOgogCQkJaW5jbHVzaXZl ID0gdHJ1ZTsKLQkJCS8qIGZhbGwgdGhyb3VnaCAqLworCQkJcGdfZmFsbHRocm91Z2g7CiAJ CWNhc2UgQlRMZXNzU3RyYXRlZ3lOdW1iZXI6CiAJCQlvZmYgPSBwYXJ0aXRpb25fbGlzdF9i c2VhcmNoKHBhcnRzdXBmdW5jLAogCQkJCQkJCQkJCSBwYXJ0Y29sbGF0aW9uLApAQCAtMzE2 Miw3ICszMTYyLDcgQEAgZ2V0X21hdGNoaW5nX3JhbmdlX2JvdW5kcyhQYXJ0aXRpb25QcnVu ZUNvbnRleHQgKmNvbnRleHQsCiAKIAkJY2FzZSBCVEdyZWF0ZXJFcXVhbFN0cmF0ZWd5TnVt YmVyOgogCQkJaW5jbHVzaXZlID0gdHJ1ZTsKLQkJCS8qIGZhbGwgdGhyb3VnaCAqLworCQkJ cGdfZmFsbHRocm91Z2g7CiAJCWNhc2UgQlRHcmVhdGVyU3RyYXRlZ3lOdW1iZXI6CiAKIAkJ CS8qCkBAIC0zMjQzLDcgKzMyNDMsNyBAQCBnZXRfbWF0Y2hpbmdfcmFuZ2VfYm91bmRzKFBh cnRpdGlvblBydW5lQ29udGV4dCAqY29udGV4dCwKIAogCQljYXNlIEJUTGVzc0VxdWFsU3Ry YXRlZ3lOdW1iZXI6CiAJCQlpbmNsdXNpdmUgPSB0cnVlOwotCQkJLyogZmFsbCB0aHJvdWdo ICovCisJCQlwZ19mYWxsdGhyb3VnaDsKIAkJY2FzZSBCVExlc3NTdHJhdGVneU51bWJlcjoK IAogCQkJLyoKQEAgLTM3MjYsMTkgKzM3MjYsMTkgQEAgbWF0Y2hfYm9vbGVhbl9wYXJ0aXRp b25fY2xhdXNlKE9pZCBwYXJ0b3BmYW1pbHksIEV4cHIgKmNsYXVzZSwgRXhwciAqcGFydGtl eSwKIAkJCXsKIAkJCQljYXNlIElTX05PVF9UUlVFOgogCQkJCQkqbm90Y2xhdXNlID0gdHJ1 ZTsKLQkJCQkJLyogZmFsbCB0aHJvdWdoICovCisJCQkJCXBnX2ZhbGx0aHJvdWdoOwogCQkJ CWNhc2UgSVNfVFJVRToKIAkJCQkJKm91dGNvbnN0ID0gKEV4cHIgKikgbWFrZUJvb2xDb25z dCh0cnVlLCBmYWxzZSk7CiAJCQkJCXJldHVybiBQQVJUQ0xBVVNFX01BVENIX0NMQVVTRTsK IAkJCQljYXNlIElTX05PVF9GQUxTRToKIAkJCQkJKm5vdGNsYXVzZSA9IHRydWU7Ci0JCQkJ CS8qIGZhbGwgdGhyb3VnaCAqLworCQkJCQlwZ19mYWxsdGhyb3VnaDsKIAkJCQljYXNlIElT X0ZBTFNFOgogCQkJCQkqb3V0Y29uc3QgPSAoRXhwciAqKSBtYWtlQm9vbENvbnN0KGZhbHNl LCBmYWxzZSk7CiAJCQkJCXJldHVybiBQQVJUQ0xBVVNFX01BVENIX0NMQVVTRTsKIAkJCQlj YXNlIElTX05PVF9VTktOT1dOOgogCQkJCQkqbm90Y2xhdXNlID0gdHJ1ZTsKLQkJCQkJLyog ZmFsbCB0aHJvdWdoICovCisJCQkJCXBnX2ZhbGx0aHJvdWdoOwogCQkJCWNhc2UgSVNfVU5L Tk9XTjoKIAkJCQkJcmV0dXJuIFBBUlRDTEFVU0VfTUFUQ0hfTlVMTE5FU1M7CiAJCQkJZGVm YXVsdDoKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3Bvc3RtYXN0ZXIvcG9zdG1hc3Rlci5j IGIvc3JjL2JhY2tlbmQvcG9zdG1hc3Rlci9wb3N0bWFzdGVyLmMKaW5kZXggNzBjNzY0NTU4 MmUuLjNmYWM0NmM0MDJiIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9wb3N0bWFzdGVyL3Bv c3RtYXN0ZXIuYworKysgYi9zcmMvYmFja2VuZC9wb3N0bWFzdGVyL3Bvc3RtYXN0ZXIuYwpA QCAtNjI1LDcgKzYyNSw3IEBAIFBvc3RtYXN0ZXJNYWluKGludCBhcmdjLCBjaGFyICphcmd2 W10pCiAJCQkJCQkJKGVycmNvZGUoRVJSQ09ERV9TWU5UQVhfRVJST1IpLAogCQkJCQkJCSBl cnJtc2coIi0tJXMgbXVzdCBiZSBmaXJzdCBhcmd1bWVudCIsIG9wdGFyZykpKTsKIAotCQkJ CS8qIEZBTExUSFJPVUdIICovCisJCQkJcGdfZmFsbHRocm91Z2g7CiAJCQljYXNlICdjJzoK IAkJCQl7CiAJCQkJCWNoYXIJICAgKm5hbWUsCkBAIC00MjE3LDEyICs0MjE3LDEyIEBAIGJn d29ya2VyX3Nob3VsZF9zdGFydF9ub3coQmdXb3JrZXJTdGFydFRpbWUgc3RhcnRfdGltZSkK IAkJY2FzZSBQTV9SVU46CiAJCQlpZiAoc3RhcnRfdGltZSA9PSBCZ1dvcmtlclN0YXJ0X1Jl Y292ZXJ5RmluaXNoZWQpCiAJCQkJcmV0dXJuIHRydWU7Ci0JCQkvKiBmYWxsIHRocm91Z2gg Ki8KKwkJCXBnX2ZhbGx0aHJvdWdoOwogCiAJCWNhc2UgUE1fSE9UX1NUQU5EQlk6CiAJCQlp ZiAoc3RhcnRfdGltZSA9PSBCZ1dvcmtlclN0YXJ0X0NvbnNpc3RlbnRTdGF0ZSkKIAkJCQly ZXR1cm4gdHJ1ZTsKLQkJCS8qIGZhbGwgdGhyb3VnaCAqLworCQkJcGdfZmFsbHRocm91Z2g7 CiAKIAkJY2FzZSBQTV9SRUNPVkVSWToKIAkJY2FzZSBQTV9TVEFSVFVQOgpkaWZmIC0tZ2l0 IGEvc3JjL2JhY2tlbmQvcmVnZXgvcmVnY19sZXguYyBiL3NyYy9iYWNrZW5kL3JlZ2V4L3Jl Z2NfbGV4LmMKaW5kZXggOTA4N2VmOTVhZjMuLjU1ZGY2NGY5YWRlIDEwMDY0NAotLS0gYS9z cmMvYmFja2VuZC9yZWdleC9yZWdjX2xleC5jCisrKyBiL3NyYy9iYWNrZW5kL3JlZ2V4L3Jl Z2NfbGV4LmMKQEAgLTc0Myw3ICs3NDMsNyBAQCBsZXhlc2NhcGUoc3RydWN0IHZhcnMgKnYp CiAJCQkvKiBvb3BzLCBkb2Vzbid0IGxvb2sgbGlrZSBpdCdzIGEgYmFja3JlZiBhZnRlciBh bGwuLi4gKi8KIAkJCXYtPm5vdyA9IHNhdmU7CiAJCQkvKiBhbmQgZmFsbCB0aHJvdWdoIGlu dG8gb2N0YWwgbnVtYmVyICovCi0JCQkvKiBGQUxMVEhST1VHSCAqLworCQkJcGdfZmFsbHRo cm91Z2g7CiAJCWNhc2UgQ0hSKCcwJyk6CiAJCQlOT1RFKFJFR19VVU5QT1JUKTsKIAkJCXYt Pm5vdy0tOwkJCS8qIHB1dCBmaXJzdCBkaWdpdCBiYWNrICovCmRpZmYgLS1naXQgYS9zcmMv YmFja2VuZC9yZWdleC9yZWdjb21wLmMgYi9zcmMvYmFja2VuZC9yZWdleC9yZWdjb21wLmMK aW5kZXggM2UxOGU0YTc4YTIuLjgyMDk5NTMzMmJhIDEwMDY0NAotLS0gYS9zcmMvYmFja2Vu ZC9yZWdleC9yZWdjb21wLmMKKysrIGIvc3JjL2JhY2tlbmQvcmVnZXgvcmVnY29tcC5jCkBA IC05NzUsNyArOTc1LDcgQEAgcGFyc2VxYXRvbShzdHJ1Y3QgdmFycyAqdiwKIAkJCS8qIGxl Z2FsIGluIEVSRXMgZHVlIHRvIHNwZWNpZmljYXRpb24gYm90Y2ggKi8KIAkJCU5PVEUoUkVH X1VQQk9UQ0gpOwogCQkJLyogZmFsbCB0aHJvdWdoIGludG8gY2FzZSBQTEFJTiAqLwotCQkJ LyogRkFMTFRIUk9VR0ggKi8KKwkJCXBnX2ZhbGx0aHJvdWdoOwogCQljYXNlIFBMQUlOOgog CQkJb25lY2hyKHYsIHYtPm5leHR2YWx1ZSwgbHAsIHJwKTsKIAkJCW9rY29sb3JzKHYtPm5m YSwgdi0+Y20pOwpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvcmVwbGljYXRpb24vbG9naWNh bC9yZW9yZGVyYnVmZmVyLmMgYi9zcmMvYmFja2VuZC9yZXBsaWNhdGlvbi9sb2dpY2FsL3Jl b3JkZXJidWZmZXIuYwppbmRleCBhMDI5M2Y2ZWM3Yy4uMWQyZmJiYjAwMGUgMTAwNjQ0Ci0t LSBhL3NyYy9iYWNrZW5kL3JlcGxpY2F0aW9uL2xvZ2ljYWwvcmVvcmRlcmJ1ZmZlci5jCisr KyBiL3NyYy9iYWNrZW5kL3JlcGxpY2F0aW9uL2xvZ2ljYWwvcmVvcmRlcmJ1ZmZlci5jCkBA IC0yMzIyLDYgKzIzMjIsNyBAQCBSZW9yZGVyQnVmZmVyUHJvY2Vzc1RYTihSZW9yZGVyQnVm ZmVyICpyYiwgUmVvcmRlckJ1ZmZlclRYTiAqdHhuLAogCQkJCQljaGFuZ2UtPmFjdGlvbiA9 IFJFT1JERVJfQlVGRkVSX0NIQU5HRV9JTlNFUlQ7CiAKIAkJCQkJLyogaW50ZW50aW9uYWxs eSBmYWxsIHRocm91Z2ggKi8KKwkJCQkJcGdfZmFsbHRocm91Z2g7CiAJCQkJY2FzZSBSRU9S REVSX0JVRkZFUl9DSEFOR0VfSU5TRVJUOgogCQkJCWNhc2UgUkVPUkRFUl9CVUZGRVJfQ0hB TkdFX1VQREFURToKIAkJCQljYXNlIFJFT1JERVJfQlVGRkVSX0NIQU5HRV9ERUxFVEU6CmRp ZmYgLS1naXQgYS9zcmMvYmFja2VuZC9yZXBsaWNhdGlvbi9sb2dpY2FsL3dvcmtlci5jIGIv c3JjL2JhY2tlbmQvcmVwbGljYXRpb24vbG9naWNhbC93b3JrZXIuYwppbmRleCBhZDI4MWU3 MDY5Yi4uZGNmODAwNGMxYzEgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3JlcGxpY2F0aW9u L2xvZ2ljYWwvd29ya2VyLmMKKysrIGIvc3JjL2JhY2tlbmQvcmVwbGljYXRpb24vbG9naWNh bC93b3JrZXIuYwpAQCAtODM5LDcgKzgzOSw3IEBAIGhhbmRsZV9zdHJlYW1lZF90cmFuc2Fj dGlvbihMb2dpY2FsUmVwTXNnVHlwZSBhY3Rpb24sIFN0cmluZ0luZm8gcykKIAkJCSAqLwog CQkJcGFfc3dpdGNoX3RvX3BhcnRpYWxfc2VyaWFsaXplKHdpbmZvLCBmYWxzZSk7CiAKLQkJ CS8qIGZhbGwgdGhyb3VnaCAqLworCQkJcGdfZmFsbHRocm91Z2g7CiAJCWNhc2UgVFJBTlNf TEVBREVSX1BBUlRJQUxfU0VSSUFMSVpFOgogCQkJc3RyZWFtX3dyaXRlX2NoYW5nZShhY3Rp b24sICZvcmlnaW5hbF9tc2cpOwogCkBAIC0xNTg2LDcgKzE1ODYsNyBAQCBhcHBseV9oYW5k bGVfc3RyZWFtX3ByZXBhcmUoU3RyaW5nSW5mbyBzKQogCQkJICovCiAJCQlwYV9zd2l0Y2hf dG9fcGFydGlhbF9zZXJpYWxpemUod2luZm8sIHRydWUpOwogCi0JCQkvKiBmYWxsIHRocm91 Z2ggKi8KKwkJCXBnX2ZhbGx0aHJvdWdoOwogCQljYXNlIFRSQU5TX0xFQURFUl9QQVJUSUFM X1NFUklBTElaRToKIAkJCUFzc2VydCh3aW5mbyk7CiAKQEAgLTE4MDgsNyArMTgwOCw3IEBA IGFwcGx5X2hhbmRsZV9zdHJlYW1fc3RhcnQoU3RyaW5nSW5mbyBzKQogCQkJICovCiAJCQlw YV9zd2l0Y2hfdG9fcGFydGlhbF9zZXJpYWxpemUod2luZm8sICFmaXJzdF9zZWdtZW50KTsK IAotCQkJLyogZmFsbCB0aHJvdWdoICovCisJCQlwZ19mYWxsdGhyb3VnaDsKIAkJY2FzZSBU UkFOU19MRUFERVJfUEFSVElBTF9TRVJJQUxJWkU6CiAJCQlBc3NlcnQod2luZm8pOwogCkBA IC0xOTIzLDcgKzE5MjMsNyBAQCBhcHBseV9oYW5kbGVfc3RyZWFtX3N0b3AoU3RyaW5nSW5m byBzKQogCQkJICovCiAJCQlwYV9zd2l0Y2hfdG9fcGFydGlhbF9zZXJpYWxpemUod2luZm8s IHRydWUpOwogCi0JCQkvKiBmYWxsIHRocm91Z2ggKi8KKwkJCXBnX2ZhbGx0aHJvdWdoOwog CQljYXNlIFRSQU5TX0xFQURFUl9QQVJUSUFMX1NFUklBTElaRToKIAkJCXN0cmVhbV93cml0 ZV9jaGFuZ2UoTE9HSUNBTF9SRVBfTVNHX1NUUkVBTV9TVE9QLCBzKTsKIAkJCXN0cmVhbV9z dG9wX2ludGVybmFsKHN0cmVhbV94aWQpOwpAQCAtMjE2OSw3ICsyMTY5LDcgQEAgYXBwbHlf aGFuZGxlX3N0cmVhbV9hYm9ydChTdHJpbmdJbmZvIHMpCiAJCQkgKi8KIAkJCXBhX3N3aXRj aF90b19wYXJ0aWFsX3NlcmlhbGl6ZSh3aW5mbywgdHJ1ZSk7CiAKLQkJCS8qIGZhbGwgdGhy b3VnaCAqLworCQkJcGdfZmFsbHRocm91Z2g7CiAJCWNhc2UgVFJBTlNfTEVBREVSX1BBUlRJ QUxfU0VSSUFMSVpFOgogCQkJQXNzZXJ0KHdpbmZvKTsKIApAQCAtMjQ0Miw3ICsyNDQyLDcg QEAgYXBwbHlfaGFuZGxlX3N0cmVhbV9jb21taXQoU3RyaW5nSW5mbyBzKQogCQkJICovCiAJ CQlwYV9zd2l0Y2hfdG9fcGFydGlhbF9zZXJpYWxpemUod2luZm8sIHRydWUpOwogCi0JCQkv KiBmYWxsIHRocm91Z2ggKi8KKwkJCXBnX2ZhbGx0aHJvdWdoOwogCQljYXNlIFRSQU5TX0xF QURFUl9QQVJUSUFMX1NFUklBTElaRToKIAkJCUFzc2VydCh3aW5mbyk7CiAKZGlmZiAtLWdp dCBhL3NyYy9iYWNrZW5kL3JlcGxpY2F0aW9uL3dhbHJlY2VpdmVyLmMgYi9zcmMvYmFja2Vu ZC9yZXBsaWNhdGlvbi93YWxyZWNlaXZlci5jCmluZGV4IGE0MTQ1MzUzMGExLi5kY2JiYjc2 OTFhZiAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvcmVwbGljYXRpb24vd2FscmVjZWl2ZXIu YworKysgYi9zcmMvYmFja2VuZC9yZXBsaWNhdGlvbi93YWxyZWNlaXZlci5jCkBAIC0xOTMs NyArMTkzLDcgQEAgV2FsUmVjZWl2ZXJNYWluKGNvbnN0IHZvaWQgKnN0YXJ0dXBfZGF0YSwg c2l6ZV90IHN0YXJ0dXBfZGF0YV9sZW4pCiAJCWNhc2UgV0FMUkNWX1NUT1BQSU5HOgogCQkJ LyogSWYgd2UndmUgYWxyZWFkeSBiZWVuIHJlcXVlc3RlZCB0byBzdG9wLCBkb24ndCBzdGFy dCB1cC4gKi8KIAkJCXdhbHJjdi0+d2FsUmN2U3RhdGUgPSBXQUxSQ1ZfU1RPUFBFRDsKLQkJ CS8qIGZhbGwgdGhyb3VnaCAqLworCQkJcGdfZmFsbHRocm91Z2g7CiAKIAkJY2FzZSBXQUxS Q1ZfU1RPUFBFRDoKIAkJCVNwaW5Mb2NrUmVsZWFzZSgmd2FscmN2LT5tdXRleCk7CmRpZmYg LS1naXQgYS9zcmMvYmFja2VuZC9yZXBsaWNhdGlvbi93YWxyZWNlaXZlcmZ1bmNzLmMgYi9z cmMvYmFja2VuZC9yZXBsaWNhdGlvbi93YWxyZWNlaXZlcmZ1bmNzLmMKaW5kZXggZGE4Nzk0 Y2JhN2MuLjY5MGE3YjQ5YzViIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9yZXBsaWNhdGlv bi93YWxyZWNlaXZlcmZ1bmNzLmMKKysrIGIvc3JjL2JhY2tlbmQvcmVwbGljYXRpb24vd2Fs cmVjZWl2ZXJmdW5jcy5jCkBAIC0yMTUsNyArMjE1LDcgQEAgU2h1dGRvd25XYWxSY3Yodm9p ZCkKIAkJY2FzZSBXQUxSQ1ZfV0FJVElORzoKIAkJY2FzZSBXQUxSQ1ZfUkVTVEFSVElORzoK IAkJCXdhbHJjdi0+d2FsUmN2U3RhdGUgPSBXQUxSQ1ZfU1RPUFBJTkc7Ci0JCQkvKiBmYWxs IHRocm91Z2ggKi8KKwkJCXBnX2ZhbGx0aHJvdWdoOwogCQljYXNlIFdBTFJDVl9TVE9QUElO RzoKIAkJCXdhbHJjdnBpZCA9IHdhbHJjdi0+cGlkOwogCQkJYnJlYWs7CmRpZmYgLS1naXQg YS9zcmMvYmFja2VuZC9zdG9yYWdlL2Fpby9haW8uYyBiL3NyYy9iYWNrZW5kL3N0b3JhZ2Uv YWlvL2Fpby5jCmluZGV4IGQyYzljZDZmMjBhLi5lNGFlMzAzMWZlZiAxMDA2NDQKLS0tIGEv c3JjL2JhY2tlbmQvc3RvcmFnZS9haW8vYWlvLmMKKysrIGIvc3JjL2JhY2tlbmQvc3RvcmFn ZS9haW8vYWlvLmMKQEAgLTYyMiw3ICs2MjIsNyBAQCBwZ2Fpb19pb193YWl0KFBnQWlvSGFu ZGxlICppb2gsIHVpbnQ2NCByZWZfZ2VuZXJhdGlvbikKIAkJCQkJcGdhaW9fbWV0aG9kX29w cy0+d2FpdF9vbmUoaW9oLCByZWZfZ2VuZXJhdGlvbik7CiAJCQkJCWNvbnRpbnVlOwogCQkJ CX0KLQkJCQkvKiBmYWxsdGhyb3VnaCAqLworCQkJCXBnX2ZhbGx0aHJvdWdoOwogCiAJCQkJ Lyogd2FpdGluZyBmb3Igb3duZXIgdG8gc3VibWl0ICovCiAJCQljYXNlIFBHQUlPX0hTX0RF RklORUQ6CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC90Y29wL3Bvc3RncmVzLmMgYi9zcmMv YmFja2VuZC90Y29wL3Bvc3RncmVzLmMKaW5kZXggZTU0YmYxZTc2MGYuLjAxY2Y3NmQ1NmFi IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC90Y29wL3Bvc3RncmVzLmMKKysrIGIvc3JjL2Jh Y2tlbmQvdGNvcC9wb3N0Z3Jlcy5jCkBAIC0zMTE3LDcgKzMxMTcsNyBAQCBQcm9jZXNzUmVj b3ZlcnlDb25mbGljdEludGVycnVwdChQcm9jU2lnbmFsUmVhc29uIHJlYXNvbikKIAkJCQly ZXR1cm47CiAKIAkJCS8qIEludGVudGlvbmFsIGZhbGwgdGhyb3VnaCB0byBjaGVjayB3YWl0 IGZvciBwaW4gKi8KLQkJCS8qIEZBTExUSFJPVUdIICovCisJCQlwZ19mYWxsdGhyb3VnaDsK IAogCQljYXNlIFBST0NTSUdfUkVDT1ZFUllfQ09ORkxJQ1RfQlVGRkVSUElOOgogCkBAIC0z MTQyLDcgKzMxNDIsNyBAQCBQcm9jZXNzUmVjb3ZlcnlDb25mbGljdEludGVycnVwdChQcm9j U2lnbmFsUmVhc29uIHJlYXNvbikKIAkJCU15UHJvYy0+cmVjb3ZlcnlDb25mbGljdFBlbmRp bmcgPSB0cnVlOwogCiAJCQkvKiBJbnRlbnRpb25hbCBmYWxsIHRocm91Z2ggdG8gZXJyb3Ig aGFuZGxpbmcgKi8KLQkJCS8qIEZBTExUSFJPVUdIICovCisJCQlwZ19mYWxsdGhyb3VnaDsK IAogCQljYXNlIFBST0NTSUdfUkVDT1ZFUllfQ09ORkxJQ1RfTE9DSzoKIAkJY2FzZSBQUk9D U0lHX1JFQ09WRVJZX0NPTkZMSUNUX1RBQkxFU1BBQ0U6CkBAIC0zMTU0LDcgKzMxNTQsNyBA QCBQcm9jZXNzUmVjb3ZlcnlDb25mbGljdEludGVycnVwdChQcm9jU2lnbmFsUmVhc29uIHJl YXNvbikKIAkJCWlmICghSXNUcmFuc2FjdGlvbk9yVHJhbnNhY3Rpb25CbG9jaygpKQogCQkJ CXJldHVybjsKIAotCQkJLyogRkFMTFRIUk9VR0ggKi8KKwkJCXBnX2ZhbGx0aHJvdWdoOwog CiAJCWNhc2UgUFJPQ1NJR19SRUNPVkVSWV9DT05GTElDVF9MT0dJQ0FMU0xPVDoKIApAQCAt MzIzMyw3ICszMjMzLDcgQEAgUHJvY2Vzc1JlY292ZXJ5Q29uZmxpY3RJbnRlcnJ1cHQoUHJv Y1NpZ25hbFJlYXNvbiByZWFzb24pCiAJCQl9CiAKIAkJCS8qIEludGVudGlvbmFsIGZhbGwg dGhyb3VnaCB0byBzZXNzaW9uIGNhbmNlbCAqLwotCQkJLyogRkFMTFRIUk9VR0ggKi8KKwkJ CXBnX2ZhbGx0aHJvdWdoOwogCiAJCWNhc2UgUFJPQ1NJR19SRUNPVkVSWV9DT05GTElDVF9E QVRBQkFTRToKIApAQCAtMzg2Niw3ICszODY2LDcgQEAgcHJvY2Vzc19wb3N0Z3Jlc19zd2l0 Y2hlcyhpbnQgYXJnYywgY2hhciAqYXJndltdLCBHdWNDb250ZXh0IGN0eCwKIAkJCQkJCQko ZXJyY29kZShFUlJDT0RFX1NZTlRBWF9FUlJPUiksCiAJCQkJCQkJIGVycm1zZygiLS0lcyBt dXN0IGJlIGZpcnN0IGFyZ3VtZW50Iiwgb3B0YXJnKSkpOwogCi0JCQkJLyogRkFMTFRIUk9V R0ggKi8KKwkJCQlwZ19mYWxsdGhyb3VnaDsKIAkJCWNhc2UgJ2MnOgogCQkJCXsKIAkJCQkJ Y2hhcgkgICAqbmFtZSwKQEAgLTQ5OTAsNyArNDk5MCw3IEBAIFBvc3RncmVzTWFpbihjb25z dCBjaGFyICpkYm5hbWUsIGNvbnN0IGNoYXIgKnVzZXJuYW1lKQogCQkJCS8qIGZvciB0aGUg Y3VtdWxhdGl2ZSBzdGF0aXN0aWNzIHN5c3RlbSAqLwogCQkJCXBnU3RhdFNlc3Npb25FbmRD YXVzZSA9IERJU0NPTk5FQ1RfQ0xJRU5UX0VPRjsKIAotCQkJCS8qIEZBTExUSFJPVUdIICov CisJCQkJcGdfZmFsbHRocm91Z2g7CiAKIAkJCWNhc2UgUHFNc2dfVGVybWluYXRlOgogCmRp ZmYgLS1naXQgYS9zcmMvYmFja2VuZC90Y29wL3V0aWxpdHkuYyBiL3NyYy9iYWNrZW5kL3Rj b3AvdXRpbGl0eS5jCmluZGV4IDM0ZGQ2ZTE4ZGY1Li5iZjcwN2YyZDU3ZiAxMDA2NDQKLS0t IGEvc3JjL2JhY2tlbmQvdGNvcC91dGlsaXR5LmMKKysrIGIvc3JjL2JhY2tlbmQvdGNvcC91 dGlsaXR5LmMKQEAgLTIwMDEsNyArMjAwMSw3IEBAIEV4ZWNEcm9wU3RtdChEcm9wU3RtdCAq c3RtdCwgYm9vbCBpc1RvcExldmVsKQogCQkJaWYgKHN0bXQtPmNvbmN1cnJlbnQpCiAJCQkJ UHJldmVudEluVHJhbnNhY3Rpb25CbG9jayhpc1RvcExldmVsLAogCQkJCQkJCQkJCSAgIkRS T1AgSU5ERVggQ09OQ1VSUkVOVExZIik7Ci0JCQkvKiBmYWxsIHRocm91Z2ggKi8KKwkJCXBn X2ZhbGx0aHJvdWdoOwogCiAJCWNhc2UgT0JKRUNUX1RBQkxFOgogCQljYXNlIE9CSkVDVF9T RVFVRU5DRToKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3V0aWxzL2FkdC9kYXRldGltZS5j IGIvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L2RhdGV0aW1lLmMKaW5kZXggOGRjMGFjNTA2MjUu LjkwOTQ2ZGI3MmZmIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC91dGlscy9hZHQvZGF0ZXRp bWUuYworKysgYi9zcmMvYmFja2VuZC91dGlscy9hZHQvZGF0ZXRpbWUuYwpAQCAtMzU5NCw3 ICszNTk0LDcgQEAgRGVjb2RlSW50ZXJ2YWwoY2hhciAqKmZpZWxkLCBpbnQgKmZ0eXBlLCBp bnQgbmYsIGludCByYW5nZSwKIAkJCQkgKiBoYW5kbGUgc2lnbmVkIGZsb2F0IG51bWJlcnMg YW5kIHNpZ25lZCB5ZWFyLW1vbnRoIHZhbHVlcy4KIAkJCQkgKi8KIAotCQkJCS8qIEZBTExU SFJPVUdIICovCisJCQkJcGdfZmFsbHRocm91Z2g7CiAKIAkJCWNhc2UgRFRLX0RBVEU6CiAJ CQljYXNlIERUS19OVU1CRVI6CkBAIC00MDI4LDcgKzQwMjgsNyBAQCBEZWNvZGVJU084NjAx SW50ZXJ2YWwoY2hhciAqc3RyLAogCQkJCQkJY29udGludWU7CiAJCQkJCX0KIAkJCQkJLyog RWxzZSBmYWxsIHRocm91Z2ggdG8gZXh0ZW5kZWQgYWx0ZXJuYXRpdmUgZm9ybWF0ICovCi0J CQkJCS8qIEZBTExUSFJPVUdIICovCisJCQkJCXBnX2ZhbGx0aHJvdWdoOwogCQkJCWNhc2Ug Jy0nOgkJLyogSVNPIDg2MDEgNC40LjMuMyBBbHRlcm5hdGl2ZSBGb3JtYXQsCiAJCQkJCQkJ CSAqIEV4dGVuZGVkICovCiAJCQkJCWlmIChoYXZlZmllbGQpCkBAIC00MTExLDcgKzQxMTEs NyBAQCBEZWNvZGVJU084NjAxSW50ZXJ2YWwoY2hhciAqc3RyLAogCQkJCQkJcmV0dXJuIDA7 CiAJCQkJCX0KIAkJCQkJLyogRWxzZSBmYWxsIHRocm91Z2ggdG8gZXh0ZW5kZWQgYWx0ZXJu YXRpdmUgZm9ybWF0ICovCi0JCQkJCS8qIEZBTExUSFJPVUdIICovCisJCQkJCXBnX2ZhbGx0 aHJvdWdoOwogCQkJCWNhc2UgJzonOgkJLyogSVNPIDg2MDEgNC40LjMuMyBBbHRlcm5hdGl2 ZSBGb3JtYXQsCiAJCQkJCQkJCSAqIEV4dGVuZGVkICovCiAJCQkJCWlmIChoYXZlZmllbGQp CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC91dGlscy9hZHQvZm9ybWF0dGluZy5jIGIvc3Jj L2JhY2tlbmQvdXRpbHMvYWR0L2Zvcm1hdHRpbmcuYwppbmRleCBjZjU4MGM2M2M3OC4uYTVh ODBhMGJjYmYgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3V0aWxzL2FkdC9mb3JtYXR0aW5n LmMKKysrIGIvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L2Zvcm1hdHRpbmcuYwpAQCAtMTIzNiw3 ICsxMjM2LDcgQEAgTlVNRGVzY19wcmVwYXJlKE5VTURlc2MgKm51bSwgRm9ybWF0Tm9kZSAq bikKIAkJY2FzZSBOVU1fRDoKIAkJCW51bS0+ZmxhZyB8PSBOVU1fRl9MREVDSU1BTDsKIAkJ CW51bS0+bmVlZF9sb2NhbGUgPSB0cnVlOwotCQkJLyogRkFMTFRIUk9VR0ggKi8KKwkJCXBn X2ZhbGx0aHJvdWdoOwogCQljYXNlIE5VTV9ERUM6CiAJCQlpZiAoSVNfREVDSU1BTChudW0p KQogCQkJCWVyZXBvcnQoRVJST1IsCkBAIC0zMDIyLDcgKzMwMjIsNyBAQCBEQ0hfdG9fY2hh cihGb3JtYXROb2RlICpub2RlLCBib29sIGlzX2ludGVydmFsLCBUbVRvQ2hhciAqaW4sIGNo YXIgKm91dCwgT2lkIGNvbAogCQkJCXMgKz0gc3RybGVuKHMpOwogCQkJCWJyZWFrOwogCQkJ Y2FzZSBEQ0hfUk06Ci0JCQkJLyogRkFMTFRIUk9VR0ggKi8KKwkJCQlwZ19mYWxsdGhyb3Vn aDsKIAkJCWNhc2UgRENIX3JtOgogCiAJCQkJLyoKQEAgLTMzMDAsNyArMzMwMCw3IEBAIERD SF9mcm9tX2NoYXIoRm9ybWF0Tm9kZSAqbm9kZSwgY29uc3QgY2hhciAqaW4sIFRtRnJvbUNo YXIgKm91dCwKIAkJCWNhc2UgRENIX0ZGNToKIAkJCWNhc2UgRENIX0ZGNjoKIAkJCQlvdXQt PmZmID0gbi0+a2V5LT5pZCAtIERDSF9GRjEgKyAxOwotCQkJCS8qIEZBTExUSFJPVUdIICov CisJCQkJcGdfZmFsbHRocm91Z2g7CiAJCQljYXNlIERDSF9VUzoJCS8qIG1pY3Jvc2Vjb25k ICovCiAJCQkJbGVuID0gZnJvbV9jaGFyX3BhcnNlX2ludF9sZW4oJm91dC0+dXMsICZzLAog CQkJCQkJCQkJCQkgIG4tPmtleS0+aWQgPT0gRENIX1VTID8gNiA6CkBAIC0zMzU0LDcgKzMz NTQsNyBAQCBEQ0hfZnJvbV9jaGFyKEZvcm1hdE5vZGUgKm5vZGUsIGNvbnN0IGNoYXIgKmlu LCBUbUZyb21DaGFyICpvdXQsCiAJCQkJCX0KIAkJCQkJLyogb3RoZXJ3aXNlIHBhcnNlIGl0 IGxpa2UgT0YgKi8KIAkJCQl9Ci0JCQkJLyogRkFMTFRIUk9VR0ggKi8KKwkJCQlwZ19mYWxs dGhyb3VnaDsKIAkJCWNhc2UgRENIX09GOgogCQkJCS8qIE9GIGlzIGVxdWl2YWxlbnQgdG8g VFpIIG9yIFRaSDpUWk0gKi8KIAkJCQkvKiBzZWUgVFpIIGNvbW1lbnRzIGJlbG93ICovCmRp ZmYgLS1naXQgYS9zcmMvYmFja2VuZC91dGlscy9hZHQvanNvbmIuYyBiL3NyYy9iYWNrZW5k L3V0aWxzL2FkdC9qc29uYi5jCmluZGV4IDI4ZTdmODBkNzdmLi4wYTNhNzdlZTc4NiAxMDA2 NDQKLS0tIGEvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L2pzb25iLmMKKysrIGIvc3JjL2JhY2tl bmQvdXRpbHMvYWR0L2pzb25iLmMKQEAgLTc3Miw3ICs3NzIsNyBAQCBkYXR1bV90b19qc29u Yl9pbnRlcm5hbChEYXR1bSB2YWwsIGJvb2wgaXNfbnVsbCwgSnNvbmJJblN0YXRlICpyZXN1 bHQsCiAJCQljYXNlIEpTT05UWVBFX0NBU1Q6CiAJCQkJLyogY2FzdCB0byBKU09OLCBhbmQg dGhlbiBwcm9jZXNzIGFzIEpTT04gKi8KIAkJCQl2YWwgPSBPaWRGdW5jdGlvbkNhbGwxKG91 dGZ1bmNvaWQsIHZhbCk7Ci0JCQkJLyogRkFMTCBUSFJPVUdIICovCisJCQkJcGdfZmFsbHRo cm91Z2g7CiAJCQljYXNlIEpTT05UWVBFX0pTT046CiAJCQkJewogCQkJCQkvKiBwYXJzZSB0 aGUganNvbiByaWdodCBpbnRvIHRoZSBleGlzdGluZyByZXN1bHQgb2JqZWN0ICovCmRpZmYg LS1naXQgYS9zcmMvYmFja2VuZC91dGlscy9hZHQvanNvbmJfdXRpbC5jIGIvc3JjL2JhY2tl bmQvdXRpbHMvYWR0L2pzb25iX3V0aWwuYwppbmRleCBlMDg1MDQyZjkxMi4uOTFmYjllYTA5 YmYgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3V0aWxzL2FkdC9qc29uYl91dGlsLmMKKysr IGIvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L2pzb25iX3V0aWwuYwpAQCAtNzIxLDcgKzcyMSw3 IEBAIHB1c2hKc29uYlZhbHVlU2NhbGFyKEpzb25iSW5TdGF0ZSAqcHN0YXRlLCBKc29uYkl0 ZXJhdG9yVG9rZW4gc2VxLAogCQkJdW5pcXVlaWZ5SnNvbmJPYmplY3QoJnBwc3RhdGUtPmNv bnRWYWwsCiAJCQkJCQkJCSBwcHN0YXRlLT51bmlxdWVfa2V5cywKIAkJCQkJCQkJIHBwc3Rh dGUtPnNraXBfbnVsbHMpOwotCQkJLyogZmFsbCB0aHJvdWdoISAqLworCQkJcGdfZmFsbHRo cm91Z2g7CiAJCWNhc2UgV0pCX0VORF9BUlJBWToKIAkJCS8qIFN0ZXBzIGhlcmUgY29tbW9u IHRvIFdKQl9FTkRfT0JKRUNUIGNhc2UgKi8KIAkJCUFzc2VydCghc2NhbGFyVmFsKTsKZGlm ZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3V0aWxzL2FkdC9qc29ucGF0aC5jIGIvc3JjL2JhY2tl bmQvdXRpbHMvYWR0L2pzb25wYXRoLmMKaW5kZXggMThhODA0NmQ2Y2YuLmQ3MGZmMWVhYTU0 IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC91dGlscy9hZHQvanNvbnBhdGguYworKysgYi9z cmMvYmFja2VuZC91dGlscy9hZHQvanNvbnBhdGguYwpAQCAtMzUxLDcgKzM1MSw3IEBAIGZs YXR0ZW5Kc29uUGF0aFBhcnNlSXRlbShTdHJpbmdJbmZvIGJ1ZiwgaW50ICpyZXN1bHQsIHN0 cnVjdCBOb2RlICplc2NvbnRleHQsCiAJCQlicmVhazsKIAkJY2FzZSBqcGlGaWx0ZXI6CiAJ CQlhcmdOZXN0aW5nTGV2ZWwrKzsKLQkJCS8qIEZBTExUSFJPVUdIICovCisJCQlwZ19mYWxs dGhyb3VnaDsKIAkJY2FzZSBqcGlJc1Vua25vd246CiAJCWNhc2UganBpTm90OgogCQljYXNl IGpwaVBsdXM6CkBAIC00ODcsMTMgKzQ4NywxMyBAQCBhbGlnblN0cmluZ0luZm9JbnQoU3Ry aW5nSW5mbyBidWYpCiAJewogCQljYXNlIDM6CiAJCQlhcHBlbmRTdHJpbmdJbmZvQ2hhck1h Y3JvKGJ1ZiwgMCk7Ci0JCQkvKiBGQUxMVEhST1VHSCAqLworCQkJcGdfZmFsbHRocm91Z2g7 CiAJCWNhc2UgMjoKIAkJCWFwcGVuZFN0cmluZ0luZm9DaGFyTWFjcm8oYnVmLCAwKTsKLQkJ CS8qIEZBTExUSFJPVUdIICovCisJCQlwZ19mYWxsdGhyb3VnaDsKIAkJY2FzZSAxOgogCQkJ YXBwZW5kU3RyaW5nSW5mb0NoYXJNYWNybyhidWYsIDApOwotCQkJLyogRkFMTFRIUk9VR0gg Ki8KKwkJCXBnX2ZhbGx0aHJvdWdoOwogCQlkZWZhdWx0OgogCQkJYnJlYWs7CiAJfQpAQCAt MTAyMSw3ICsxMDIxLDcgQEAganNwSW5pdEJ5QnVmZmVyKEpzb25QYXRoSXRlbSAqdiwgY2hh ciAqYmFzZSwgaW50MzIgcG9zKQogCQljYXNlIGpwaUtleToKIAkJY2FzZSBqcGlWYXJpYWJs ZToKIAkJCXJlYWRfaW50MzIodi0+Y29udGVudC52YWx1ZS5kYXRhbGVuLCBiYXNlLCBwb3Mp OwotCQkJLyogRkFMTFRIUk9VR0ggKi8KKwkJCXBnX2ZhbGx0aHJvdWdoOwogCQljYXNlIGpw aU51bWVyaWM6CiAJCWNhc2UganBpQm9vbDoKIAkJCXYtPmNvbnRlbnQudmFsdWUuZGF0YSA9 IGJhc2UgKyBwb3M7CkBAIC0xNDMzLDcgKzE0MzMsNyBAQCBqc3BJc011dGFibGVXYWxrZXIo SnNvblBhdGhJdGVtICpqcGksIHN0cnVjdCBKc29uUGF0aE11dGFibGVDb250ZXh0ICpjeHQp CiAKIAkJCQkJanNwSXNNdXRhYmxlV2Fsa2VyKCZmcm9tLCBjeHQpOwogCQkJCX0KLQkJCQkv KiBGQUxMVEhST1VHSCAqLworCQkJCXBnX2ZhbGx0aHJvdWdoOwogCiAJCQljYXNlIGpwaUFu eUFycmF5OgogCQkJCWlmICghY3h0LT5sYXgpCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC91 dGlscy9hZHQvbnVtZXJpYy5jIGIvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L251bWVyaWMuYwpp bmRleCA4OTFhZTZiYTdmZS4uMDY4YWUzZGIxNWQgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5k L3V0aWxzL2FkdC9udW1lcmljLmMKKysrIGIvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L251bWVy aWMuYwpAQCAtMjM3OCwxMyArMjM3OCwxMyBAQCBudW1lcmljX2FiYnJldl9jb252ZXJ0X3Zh cihjb25zdCBOdW1lcmljVmFyICp2YXIsIE51bWVyaWNTb3J0U3VwcG9ydCAqbnNzKQogCQl7 CiAJCQlkZWZhdWx0OgogCQkJCXJlc3VsdCB8PSAoKGludDY0KSB2YXItPmRpZ2l0c1szXSk7 Ci0JCQkJLyogRkFMTFRIUk9VR0ggKi8KKwkJCQlwZ19mYWxsdGhyb3VnaDsKIAkJCWNhc2Ug MzoKIAkJCQlyZXN1bHQgfD0gKChpbnQ2NCkgdmFyLT5kaWdpdHNbMl0pIDw8IDE0OwotCQkJ CS8qIEZBTExUSFJPVUdIICovCisJCQkJcGdfZmFsbHRocm91Z2g7CiAJCQljYXNlIDI6CiAJ CQkJcmVzdWx0IHw9ICgoaW50NjQpIHZhci0+ZGlnaXRzWzFdKSA8PCAyODsKLQkJCQkvKiBG QUxMVEhST1VHSCAqLworCQkJCXBnX2ZhbGx0aHJvdWdoOwogCQkJY2FzZSAxOgogCQkJCXJl c3VsdCB8PSAoKGludDY0KSB2YXItPmRpZ2l0c1swXSkgPDwgNDI7CiAJCQkJYnJlYWs7CkBA IC04ODE4LDIyICs4ODE4LDIyIEBAIG11bF92YXJfc2hvcnQoY29uc3QgTnVtZXJpY1ZhciAq dmFyMSwgY29uc3QgTnVtZXJpY1ZhciAqdmFyMiwKIAkJCXRlcm0gPSBQUk9EU1VNNSh2YXIx ZGlnaXRzLCAwLCB2YXIyZGlnaXRzLCA0KSArIGNhcnJ5OwogCQkJcmVzX2RpZ2l0c1s1XSA9 IChOdW1lcmljRGlnaXQpICh0ZXJtICUgTkJBU0UpOwogCQkJY2FycnkgPSB0ZXJtIC8gTkJB U0U7Ci0JCQkvKiBGQUxMVEhST1VHSCAqLworCQkJcGdfZmFsbHRocm91Z2g7CiAJCWNhc2Ug NToKIAkJCXRlcm0gPSBQUk9EU1VNNCh2YXIxZGlnaXRzLCAwLCB2YXIyZGlnaXRzLCAzKSAr IGNhcnJ5OwogCQkJcmVzX2RpZ2l0c1s0XSA9IChOdW1lcmljRGlnaXQpICh0ZXJtICUgTkJB U0UpOwogCQkJY2FycnkgPSB0ZXJtIC8gTkJBU0U7Ci0JCQkvKiBGQUxMVEhST1VHSCAqLwor CQkJcGdfZmFsbHRocm91Z2g7CiAJCWNhc2UgNDoKIAkJCXRlcm0gPSBQUk9EU1VNMyh2YXIx ZGlnaXRzLCAwLCB2YXIyZGlnaXRzLCAyKSArIGNhcnJ5OwogCQkJcmVzX2RpZ2l0c1szXSA9 IChOdW1lcmljRGlnaXQpICh0ZXJtICUgTkJBU0UpOwogCQkJY2FycnkgPSB0ZXJtIC8gTkJB U0U7Ci0JCQkvKiBGQUxMVEhST1VHSCAqLworCQkJcGdfZmFsbHRocm91Z2g7CiAJCWNhc2Ug MzoKIAkJCXRlcm0gPSBQUk9EU1VNMih2YXIxZGlnaXRzLCAwLCB2YXIyZGlnaXRzLCAxKSAr IGNhcnJ5OwogCQkJcmVzX2RpZ2l0c1syXSA9IChOdW1lcmljRGlnaXQpICh0ZXJtICUgTkJB U0UpOwogCQkJY2FycnkgPSB0ZXJtIC8gTkJBU0U7Ci0JCQkvKiBGQUxMVEhST1VHSCAqLwor CQkJcGdfZmFsbHRocm91Z2g7CiAJCWNhc2UgMjoKIAkJCXRlcm0gPSBQUk9EU1VNMSh2YXIx ZGlnaXRzLCAwLCB2YXIyZGlnaXRzLCAwKSArIGNhcnJ5OwogCQkJcmVzX2RpZ2l0c1sxXSA9 IChOdW1lcmljRGlnaXQpICh0ZXJtICUgTkJBU0UpOwpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tl bmQvdXRpbHMvYWR0L3J1bGV1dGlscy5jIGIvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L3J1bGV1 dGlscy5jCmluZGV4IDAzM2I2MjVmM2ZjLi45OTYzMzA0ZTAxMyAxMDA2NDQKLS0tIGEvc3Jj L2JhY2tlbmQvdXRpbHMvYWR0L3J1bGV1dGlscy5jCisrKyBiL3NyYy9iYWNrZW5kL3V0aWxz L2FkdC9ydWxldXRpbHMuYwpAQCAtODk4Miw3ICs4OTgyLDcgQEAgaXNTaW1wbGVOb2RlKE5v ZGUgKm5vZGUsIE5vZGUgKnBhcmVudE5vZGUsIGludCBwcmV0dHlGbGFncykKIAkJCQl9CiAJ CQkJLyogZWxzZSBkbyB0aGUgc2FtZSBzdHVmZiBhcyBmb3IgVF9TdWJMaW5rIGV0IGFsLiAq LwogCQkJfQotCQkJLyogRkFMTFRIUk9VR0ggKi8KKwkJCXBnX2ZhbGx0aHJvdWdoOwogCiAJ CWNhc2UgVF9TdWJMaW5rOgogCQljYXNlIFRfTnVsbFRlc3Q6CmRpZmYgLS1naXQgYS9zcmMv YmFja2VuZC91dGlscy9hZHQvdGltZXN0YW1wLmMgYi9zcmMvYmFja2VuZC91dGlscy9hZHQv dGltZXN0YW1wLmMKaW5kZXggOGRlYjIzNjk0NzEuLmUyNjAzMTgzZjFjIDEwMDY0NAotLS0g YS9zcmMvYmFja2VuZC91dGlscy9hZHQvdGltZXN0YW1wLmMKKysrIGIvc3JjL2JhY2tlbmQv dXRpbHMvYWR0L3RpbWVzdGFtcC5jCkBAIC00NzQ0LDE0ICs0NzQ0LDE0IEBAIHRpbWVzdGFt cF90cnVuYyhQR19GVU5DVElPTl9BUkdTKQogCQkJCQl0bS0+dG1feWVhciA9ICgodG0tPnRt X3llYXIgKyA5OTkpIC8gMTAwMCkgKiAxMDAwIC0gOTk5OwogCQkJCWVsc2UKIAkJCQkJdG0t PnRtX3llYXIgPSAtKCg5OTkgLSAodG0tPnRtX3llYXIgLSAxKSkgLyAxMDAwKSAqIDEwMDAg KyAxOwotCQkJCS8qIEZBTEwgVEhSVSAqLworCQkJCXBnX2ZhbGx0aHJvdWdoOwogCQkJY2Fz ZSBEVEtfQ0VOVFVSWToKIAkJCQkvKiBzZWUgY29tbWVudHMgaW4gdGltZXN0YW1wdHpfdHJ1 bmMgKi8KIAkJCQlpZiAodG0tPnRtX3llYXIgPiAwKQogCQkJCQl0bS0+dG1feWVhciA9ICgo dG0tPnRtX3llYXIgKyA5OSkgLyAxMDApICogMTAwIC0gOTk7CiAJCQkJZWxzZQogCQkJCQl0 bS0+dG1feWVhciA9IC0oKDk5IC0gKHRtLT50bV95ZWFyIC0gMSkpIC8gMTAwKSAqIDEwMCAr IDE7Ci0JCQkJLyogRkFMTCBUSFJVICovCisJCQkJcGdfZmFsbHRocm91Z2g7CiAJCQljYXNl IERUS19ERUNBREU6CiAJCQkJLyogc2VlIGNvbW1lbnRzIGluIHRpbWVzdGFtcHR6X3RydW5j ICovCiAJCQkJaWYgKHZhbCAhPSBEVEtfTUlMTEVOTklVTSAmJiB2YWwgIT0gRFRLX0NFTlRV UlkpCkBAIC00NzYxLDI1ICs0NzYxLDI1IEBAIHRpbWVzdGFtcF90cnVuYyhQR19GVU5DVElP Tl9BUkdTKQogCQkJCQllbHNlCiAJCQkJCQl0bS0+dG1feWVhciA9IC0oKDggLSAodG0tPnRt X3llYXIgLSAxKSkgLyAxMCkgKiAxMDsKIAkJCQl9Ci0JCQkJLyogRkFMTCBUSFJVICovCisJ CQkJcGdfZmFsbHRocm91Z2g7CiAJCQljYXNlIERUS19ZRUFSOgogCQkJCXRtLT50bV9tb24g PSAxOwotCQkJCS8qIEZBTEwgVEhSVSAqLworCQkJCXBnX2ZhbGx0aHJvdWdoOwogCQkJY2Fz ZSBEVEtfUVVBUlRFUjoKIAkJCQl0bS0+dG1fbW9uID0gKDMgKiAoKHRtLT50bV9tb24gLSAx KSAvIDMpKSArIDE7Ci0JCQkJLyogRkFMTCBUSFJVICovCisJCQkJcGdfZmFsbHRocm91Z2g7 CiAJCQljYXNlIERUS19NT05USDoKIAkJCQl0bS0+dG1fbWRheSA9IDE7Ci0JCQkJLyogRkFM TCBUSFJVICovCisJCQkJcGdfZmFsbHRocm91Z2g7CiAJCQljYXNlIERUS19EQVk6CiAJCQkJ dG0tPnRtX2hvdXIgPSAwOwotCQkJCS8qIEZBTEwgVEhSVSAqLworCQkJCXBnX2ZhbGx0aHJv dWdoOwogCQkJY2FzZSBEVEtfSE9VUjoKIAkJCQl0bS0+dG1fbWluID0gMDsKLQkJCQkvKiBG QUxMIFRIUlUgKi8KKwkJCQlwZ19mYWxsdGhyb3VnaDsKIAkJCWNhc2UgRFRLX01JTlVURToK IAkJCQl0bS0+dG1fc2VjID0gMDsKLQkJCQkvKiBGQUxMIFRIUlUgKi8KKwkJCQlwZ19mYWxs dGhyb3VnaDsKIAkJCWNhc2UgRFRLX1NFQ09ORDoKIAkJCQlmc2VjID0gMDsKIAkJCQlicmVh azsKQEAgLTQ5OTAsMTQgKzQ5OTAsMTQgQEAgdGltZXN0YW1wdHpfdHJ1bmNfaW50ZXJuYWwo dGV4dCAqdW5pdHMsIFRpbWVzdGFtcFR6IHRpbWVzdGFtcCwgcGdfdHogKnR6cCkKIAkJCQkJ dG0tPnRtX3llYXIgPSAoKHRtLT50bV95ZWFyICsgOTk5KSAvIDEwMDApICogMTAwMCAtIDk5 OTsKIAkJCQllbHNlCiAJCQkJCXRtLT50bV95ZWFyID0gLSgoOTk5IC0gKHRtLT50bV95ZWFy IC0gMSkpIC8gMTAwMCkgKiAxMDAwICsgMTsKLQkJCQkvKiBGQUxMIFRIUlUgKi8KKwkJCQlw Z19mYWxsdGhyb3VnaDsKIAkJCWNhc2UgRFRLX0NFTlRVUlk6CiAJCQkJLyogdHJ1bmNhdGlu ZyB0byB0aGUgY2VudHVyeT8gYXMgYWJvdmU6IC0xMDAsIDEsIDEwMS4uLiAqLwogCQkJCWlm ICh0bS0+dG1feWVhciA+IDApCiAJCQkJCXRtLT50bV95ZWFyID0gKCh0bS0+dG1feWVhciAr IDk5KSAvIDEwMCkgKiAxMDAgLSA5OTsKIAkJCQllbHNlCiAJCQkJCXRtLT50bV95ZWFyID0g LSgoOTkgLSAodG0tPnRtX3llYXIgLSAxKSkgLyAxMDApICogMTAwICsgMTsKLQkJCQkvKiBG QUxMIFRIUlUgKi8KKwkJCQlwZ19mYWxsdGhyb3VnaDsKIAkJCWNhc2UgRFRLX0RFQ0FERToK IAogCQkJCS8qCkBAIC01MDExLDI2ICs1MDExLDI2IEBAIHRpbWVzdGFtcHR6X3RydW5jX2lu dGVybmFsKHRleHQgKnVuaXRzLCBUaW1lc3RhbXBUeiB0aW1lc3RhbXAsIHBnX3R6ICp0enAp CiAJCQkJCWVsc2UKIAkJCQkJCXRtLT50bV95ZWFyID0gLSgoOCAtICh0bS0+dG1feWVhciAt IDEpKSAvIDEwKSAqIDEwOwogCQkJCX0KLQkJCQkvKiBGQUxMIFRIUlUgKi8KKwkJCQlwZ19m YWxsdGhyb3VnaDsKIAkJCWNhc2UgRFRLX1lFQVI6CiAJCQkJdG0tPnRtX21vbiA9IDE7Ci0J CQkJLyogRkFMTCBUSFJVICovCisJCQkJcGdfZmFsbHRocm91Z2g7CiAJCQljYXNlIERUS19R VUFSVEVSOgogCQkJCXRtLT50bV9tb24gPSAoMyAqICgodG0tPnRtX21vbiAtIDEpIC8gMykp ICsgMTsKLQkJCQkvKiBGQUxMIFRIUlUgKi8KKwkJCQlwZ19mYWxsdGhyb3VnaDsKIAkJCWNh c2UgRFRLX01PTlRIOgogCQkJCXRtLT50bV9tZGF5ID0gMTsKLQkJCQkvKiBGQUxMIFRIUlUg Ki8KKwkJCQlwZ19mYWxsdGhyb3VnaDsKIAkJCWNhc2UgRFRLX0RBWToKIAkJCQl0bS0+dG1f aG91ciA9IDA7CiAJCQkJcmVkb3R6ID0gdHJ1ZTsJLyogZm9yIGFsbCBjYXNlcyA+PSBEQVkg Ki8KLQkJCQkvKiBGQUxMIFRIUlUgKi8KKwkJCQlwZ19mYWxsdGhyb3VnaDsKIAkJCWNhc2Ug RFRLX0hPVVI6CiAJCQkJdG0tPnRtX21pbiA9IDA7Ci0JCQkJLyogRkFMTCBUSFJVICovCisJ CQkJcGdfZmFsbHRocm91Z2g7CiAJCQljYXNlIERUS19NSU5VVEU6CiAJCQkJdG0tPnRtX3Nl YyA9IDA7Ci0JCQkJLyogRkFMTCBUSFJVICovCisJCQkJcGdfZmFsbHRocm91Z2g7CiAJCQlj YXNlIERUS19TRUNPTkQ6CiAJCQkJZnNlYyA9IDA7CiAJCQkJYnJlYWs7CkBAIC01MTcxLDMz ICs1MTcxLDMzIEBAIGludGVydmFsX3RydW5jKFBHX0ZVTkNUSU9OX0FSR1MpCiAJCQljYXNl IERUS19NSUxMRU5OSVVNOgogCQkJCS8qIGNhdXRpb246IEMgZGl2aXNpb24gbWF5IGhhdmUg bmVnYXRpdmUgcmVtYWluZGVyICovCiAJCQkJdG0tPnRtX3llYXIgPSAodG0tPnRtX3llYXIg LyAxMDAwKSAqIDEwMDA7Ci0JCQkJLyogRkFMTCBUSFJVICovCisJCQkJcGdfZmFsbHRocm91 Z2g7CiAJCQljYXNlIERUS19DRU5UVVJZOgogCQkJCS8qIGNhdXRpb246IEMgZGl2aXNpb24g bWF5IGhhdmUgbmVnYXRpdmUgcmVtYWluZGVyICovCiAJCQkJdG0tPnRtX3llYXIgPSAodG0t PnRtX3llYXIgLyAxMDApICogMTAwOwotCQkJCS8qIEZBTEwgVEhSVSAqLworCQkJCXBnX2Zh bGx0aHJvdWdoOwogCQkJY2FzZSBEVEtfREVDQURFOgogCQkJCS8qIGNhdXRpb246IEMgZGl2 aXNpb24gbWF5IGhhdmUgbmVnYXRpdmUgcmVtYWluZGVyICovCiAJCQkJdG0tPnRtX3llYXIg PSAodG0tPnRtX3llYXIgLyAxMCkgKiAxMDsKLQkJCQkvKiBGQUxMIFRIUlUgKi8KKwkJCQlw Z19mYWxsdGhyb3VnaDsKIAkJCWNhc2UgRFRLX1lFQVI6CiAJCQkJdG0tPnRtX21vbiA9IDA7 Ci0JCQkJLyogRkFMTCBUSFJVICovCisJCQkJcGdfZmFsbHRocm91Z2g7CiAJCQljYXNlIERU S19RVUFSVEVSOgogCQkJCXRtLT50bV9tb24gPSAzICogKHRtLT50bV9tb24gLyAzKTsKLQkJ CQkvKiBGQUxMIFRIUlUgKi8KKwkJCQlwZ19mYWxsdGhyb3VnaDsKIAkJCWNhc2UgRFRLX01P TlRIOgogCQkJCXRtLT50bV9tZGF5ID0gMDsKLQkJCQkvKiBGQUxMIFRIUlUgKi8KKwkJCQlw Z19mYWxsdGhyb3VnaDsKIAkJCWNhc2UgRFRLX0RBWToKIAkJCQl0bS0+dG1faG91ciA9IDA7 Ci0JCQkJLyogRkFMTCBUSFJVICovCisJCQkJcGdfZmFsbHRocm91Z2g7CiAJCQljYXNlIERU S19IT1VSOgogCQkJCXRtLT50bV9taW4gPSAwOwotCQkJCS8qIEZBTEwgVEhSVSAqLworCQkJ CXBnX2ZhbGx0aHJvdWdoOwogCQkJY2FzZSBEVEtfTUlOVVRFOgogCQkJCXRtLT50bV9zZWMg PSAwOwotCQkJCS8qIEZBTEwgVEhSVSAqLworCQkJCXBnX2ZhbGx0aHJvdWdoOwogCQkJY2Fz ZSBEVEtfU0VDT05EOgogCQkJCXRtLT50bV91c2VjID0gMDsKIAkJCQlicmVhazsKZGlmZiAt LWdpdCBhL3NyYy9iYWNrZW5kL3V0aWxzL2FkdC94bWwuYyBiL3NyYy9iYWNrZW5kL3V0aWxz L2FkdC94bWwuYwppbmRleCBmNjlkYzY4Mjg2Yy4uZDY0MWFiZGUyNjggMTAwNjQ0Ci0tLSBh L3NyYy9iYWNrZW5kL3V0aWxzL2FkdC94bWwuYworKysgYi9zcmMvYmFja2VuZC91dGlscy9h ZHQveG1sLmMKQEAgLTIxODYsNyArMjE4Niw3IEBAIHhtbF9lcnJvckhhbmRsZXIodm9pZCAq ZGF0YSwgUGdYbWxFcnJvclB0ciBlcnJvcikKIAkJCWlmIChlcnJvci0+Y29kZSA9PSBYTUxf RVJSX05PVF9XRUxMX0JBTEFOQ0VEICYmCiAJCQkJeG1sZXJyY3h0LT5lcnJfb2NjdXJyZWQp CiAJCQkJcmV0dXJuOwotCQkJLyogZmFsbCB0aHJvdWdoICovCisJCQlwZ19mYWxsdGhyb3Vn aDsKIAogCQljYXNlIFhNTF9GUk9NX05PTkU6CiAJCWNhc2UgWE1MX0ZST01fTUVNT1JZOgpk aWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvdXRpbHMvY2FjaGUvY2F0Y2FjaGUuYyBiL3NyYy9i YWNrZW5kL3V0aWxzL2NhY2hlL2NhdGNhY2hlLmMKaW5kZXggNjgxYWE5MjM0MDMuLjUxOTA4 OTMyMmY0IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC91dGlscy9jYWNoZS9jYXRjYWNoZS5j CisrKyBiL3NyYy9iYWNrZW5kL3V0aWxzL2NhY2hlL2NhdGNhY2hlLmMKQEAgLTM1NywxNSAr MzU3LDE1IEBAIENhdGFsb2dDYWNoZUNvbXB1dGVIYXNoVmFsdWUoQ2F0Q2FjaGUgKmNhY2hl LCBpbnQgbmtleXMsCiAJCWNhc2UgNDoKIAkJCW9uZUhhc2ggPSAoY2NfaGFzaGZ1bmNbM10p ICh2NCk7CiAJCQloYXNoVmFsdWUgXj0gcGdfcm90YXRlX2xlZnQzMihvbmVIYXNoLCAyNCk7 Ci0JCQkvKiBGQUxMVEhST1VHSCAqLworCQkJcGdfZmFsbHRocm91Z2g7CiAJCWNhc2UgMzoK IAkJCW9uZUhhc2ggPSAoY2NfaGFzaGZ1bmNbMl0pICh2Myk7CiAJCQloYXNoVmFsdWUgXj0g cGdfcm90YXRlX2xlZnQzMihvbmVIYXNoLCAxNik7Ci0JCQkvKiBGQUxMVEhST1VHSCAqLwor CQkJcGdfZmFsbHRocm91Z2g7CiAJCWNhc2UgMjoKIAkJCW9uZUhhc2ggPSAoY2NfaGFzaGZ1 bmNbMV0pICh2Mik7CiAJCQloYXNoVmFsdWUgXj0gcGdfcm90YXRlX2xlZnQzMihvbmVIYXNo LCA4KTsKLQkJCS8qIEZBTExUSFJPVUdIICovCisJCQlwZ19mYWxsdGhyb3VnaDsKIAkJY2Fz ZSAxOgogCQkJb25lSGFzaCA9IChjY19oYXNoZnVuY1swXSkgKHYxKTsKIAkJCWhhc2hWYWx1 ZSBePSBvbmVIYXNoOwpAQCAtNDAzLDIxICs0MDMsMjEgQEAgQ2F0YWxvZ0NhY2hlQ29tcHV0 ZVR1cGxlSGFzaFZhbHVlKENhdENhY2hlICpjYWNoZSwgaW50IG5rZXlzLCBIZWFwVHVwbGUg dHVwbGUpCiAJCQkJCQkJIGNjX3R1cGRlc2MsCiAJCQkJCQkJICZpc051bGwpOwogCQkJQXNz ZXJ0KCFpc051bGwpOwotCQkJLyogRkFMTFRIUk9VR0ggKi8KKwkJCXBnX2ZhbGx0aHJvdWdo OwogCQljYXNlIDM6CiAJCQl2MyA9IGZhc3RnZXRhdHRyKHR1cGxlLAogCQkJCQkJCSBjY19r ZXlub1syXSwKIAkJCQkJCQkgY2NfdHVwZGVzYywKIAkJCQkJCQkgJmlzTnVsbCk7CiAJCQlB c3NlcnQoIWlzTnVsbCk7Ci0JCQkvKiBGQUxMVEhST1VHSCAqLworCQkJcGdfZmFsbHRocm91 Z2g7CiAJCWNhc2UgMjoKIAkJCXYyID0gZmFzdGdldGF0dHIodHVwbGUsCiAJCQkJCQkJIGNj X2tleW5vWzFdLAogCQkJCQkJCSBjY190dXBkZXNjLAogCQkJCQkJCSAmaXNOdWxsKTsKIAkJ CUFzc2VydCghaXNOdWxsKTsKLQkJCS8qIEZBTExUSFJPVUdIICovCisJCQlwZ19mYWxsdGhy b3VnaDsKIAkJY2FzZSAxOgogCQkJdjEgPSBmYXN0Z2V0YXR0cih0dXBsZSwKIAkJCQkJCQkg Y2Nfa2V5bm9bMF0sCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC91dGlscy9tYi9tYnV0aWxz LmMgYi9zcmMvYmFja2VuZC91dGlscy9tYi9tYnV0aWxzLmMKaW5kZXggNjk1MGU3NDNkMDMu LjFhM2ExMDcyMjI1IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC91dGlscy9tYi9tYnV0aWxz LmMKKysrIGIvc3JjL2JhY2tlbmQvdXRpbHMvbWIvbWJ1dGlscy5jCkBAIC0xMzc2LDcgKzEz NzYsNyBAQCBwZ191dGY4X2luY3JlbWVudCh1bnNpZ25lZCBjaGFyICpjaGFycHRyLCBpbnQg bGVuZ3RoKQogCQkJCWNoYXJwdHJbM10rKzsKIAkJCQlicmVhazsKIAkJCX0KLQkJCS8qIEZB TEwgVEhSVSAqLworCQkJcGdfZmFsbHRocm91Z2g7CiAJCWNhc2UgMzoKIAkJCWEgPSBjaGFy cHRyWzJdOwogCQkJaWYgKGEgPCAweEJGKQpAQCAtMTM4NCw3ICsxMzg0LDcgQEAgcGdfdXRm OF9pbmNyZW1lbnQodW5zaWduZWQgY2hhciAqY2hhcnB0ciwgaW50IGxlbmd0aCkKIAkJCQlj aGFycHRyWzJdKys7CiAJCQkJYnJlYWs7CiAJCQl9Ci0JCQkvKiBGQUxMIFRIUlUgKi8KKwkJ CXBnX2ZhbGx0aHJvdWdoOwogCQljYXNlIDI6CiAJCQlhID0gY2hhcnB0clsxXTsKIAkJCXN3 aXRjaCAoKmNoYXJwdHIpCkBAIC0xNDA0LDcgKzE0MDQsNyBAQCBwZ191dGY4X2luY3JlbWVu dCh1bnNpZ25lZCBjaGFyICpjaGFycHRyLCBpbnQgbGVuZ3RoKQogCQkJCWNoYXJwdHJbMV0r KzsKIAkJCQlicmVhazsKIAkJCX0KLQkJCS8qIEZBTEwgVEhSVSAqLworCQkJcGdfZmFsbHRo cm91Z2g7CiAJCWNhc2UgMToKIAkJCWEgPSAqY2hhcnB0cjsKIAkJCWlmIChhID09IDB4N0Yg fHwgYSA9PSAweERGIHx8IGEgPT0gMHhFRiB8fCBhID09IDB4RjQpCmRpZmYgLS1naXQgYS9z cmMvYmFja2VuZC91dGlscy9taXNjL2d1Yy5jIGIvc3JjL2JhY2tlbmQvdXRpbHMvbWlzYy9n dWMuYwppbmRleCBhZTlkNWYzZmI3MC4uZDc3NTAyODM4YzQgMTAwNjQ0Ci0tLSBhL3NyYy9i YWNrZW5kL3V0aWxzL21pc2MvZ3VjLmMKKysrIGIvc3JjL2JhY2tlbmQvdXRpbHMvbWlzYy9n dWMuYwpAQCAtMzQxNSw3ICszNDE1LDcgQEAgc2V0X2NvbmZpZ193aXRoX2hhbmRsZShjb25z dCBjaGFyICpuYW1lLCBjb25maWdfaGFuZGxlICpoYW5kbGUsCiAJCQkJfQogCQkJfQogCQkJ LyogZmFsbCB0aHJvdWdoIHRvIHByb2Nlc3MgdGhlIHNhbWUgYXMgUEdDX0JBQ0tFTkQgKi8K LQkJCS8qIEZBTExUSFJPVUdIICovCisJCQlwZ19mYWxsdGhyb3VnaDsKIAkJY2FzZSBQR0Nf QkFDS0VORDoKIAkJCWlmIChjb250ZXh0ID09IFBHQ19TSUdIVVApCiAJCQl7CmRpZmYgLS1n aXQgYS9zcmMvYmFja2VuZC91dGlscy9taXNjL2d1Y19mdW5jcy5jIGIvc3JjL2JhY2tlbmQv dXRpbHMvbWlzYy9ndWNfZnVuY3MuYwppbmRleCA0ZjNlNDBiZjQ3MC4uODUyNGRkM2E5ODEg MTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3V0aWxzL21pc2MvZ3VjX2Z1bmNzLmMKKysrIGIv c3JjL2JhY2tlbmQvdXRpbHMvbWlzYy9ndWNfZnVuY3MuYwpAQCAtMTM5LDcgKzEzOSw3IEBA IEV4ZWNTZXRWYXJpYWJsZVN0bXQoVmFyaWFibGVTZXRTdG10ICpzdG10LCBib29sIGlzVG9w TGV2ZWwpCiAJCWNhc2UgVkFSX1NFVF9ERUZBVUxUOgogCQkJaWYgKHN0bXQtPmlzX2xvY2Fs KQogCQkJCVdhcm5Ob1RyYW5zYWN0aW9uQmxvY2soaXNUb3BMZXZlbCwgIlNFVCBMT0NBTCIp OwotCQkJLyogZmFsbCB0aHJvdWdoICovCisJCQlwZ19mYWxsdGhyb3VnaDsKIAkJY2FzZSBW QVJfUkVTRVQ6CiAJCQkodm9pZCkgc2V0X2NvbmZpZ19vcHRpb24oc3RtdC0+bmFtZSwKIAkJ CQkJCQkJCSBOVUxMLApkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvdXRpbHMvc29ydC90dXBs ZXN0b3JlLmMgYi9zcmMvYmFja2VuZC91dGlscy9zb3J0L3R1cGxlc3RvcmUuYwppbmRleCBl NTdmYTViY2E2NC4uYWZiYTgyZjI4YTIgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3V0aWxz L3NvcnQvdHVwbGVzdG9yZS5jCisrKyBiL3NyYy9iYWNrZW5kL3V0aWxzL3NvcnQvdHVwbGVz dG9yZS5jCkBAIC0xMDI0LDcgKzEwMjQsNyBAQCB0dXBsZXN0b3JlX2dldHR1cGxlKFR1cGxl c3RvcmVzdGF0ZSAqc3RhdGUsIGJvb2wgZm9yd2FyZCwKIAkJCQkJCQkoZXJyY29kZV9mb3Jf ZmlsZV9hY2Nlc3MoKSwKIAkJCQkJCQkgZXJybXNnKCJjb3VsZCBub3Qgc2VlayBpbiB0dXBs ZXN0b3JlIHRlbXBvcmFyeSBmaWxlIikpKTsKIAkJCXN0YXRlLT5zdGF0dXMgPSBUU1NfUkVB REZJTEU7Ci0JCQkvKiBGQUxMVEhST1VHSCAqLworCQkJcGdfZmFsbHRocm91Z2g7CiAKIAkJ Y2FzZSBUU1NfUkVBREZJTEU6CiAJCQkqc2hvdWxkX2ZyZWUgPSB0cnVlOwpkaWZmIC0tZ2l0 IGEvc3JjL2Jpbi9wZ2JlbmNoL3BnYmVuY2guYyBiL3NyYy9iaW4vcGdiZW5jaC9wZ2JlbmNo LmMKaW5kZXggNTg3MzU4NzFjMTcuLmNiNGU5ODYwOTJlIDEwMDY0NAotLS0gYS9zcmMvYmlu L3BnYmVuY2gvcGdiZW5jaC5jCisrKyBiL3NyYy9iaW4vcGdiZW5jaC9wZ2JlbmNoLmMKQEAg LTMzOTQsNyArMzM5NCw3IEBAIHJlYWRDb21tYW5kUmVzcG9uc2UoQ1N0YXRlICpzdCwgTWV0 YUNvbW1hbmQgbWV0YSwgY2hhciAqdmFycHJlZml4KQogCQkJCQkJY29tbWFuZEVycm9yKHN0 LCBQUXJlc3VsdEVycm9yTWVzc2FnZShyZXMpKTsKIAkJCQkJZ290byBlcnJvcjsKIAkJCQl9 Ci0JCQkJLyogZmFsbCB0aHJvdWdoICovCisJCQkJcGdfZmFsbHRocm91Z2g7CiAKIAkJCWRl ZmF1bHQ6CiAJCQkJLyogYW55dGhpbmcgZWxzZSBpcyB1bmV4cGVjdGVkICovCkBAIC0zNjA3 LDcgKzM2MDcsNyBAQCBnZXRUcmFuc2FjdGlvblN0YXR1cyhQR2Nvbm4gKmNvbikKIAkJCS8q IFBRVFJBTlNfVU5LTk9XTiBpcyBleHBlY3RlZCBnaXZlbiBhIGJyb2tlbiBjb25uZWN0aW9u ICovCiAJCQlpZiAoUFFzdGF0dXMoY29uKSA9PSBDT05ORUNUSU9OX0JBRCkKIAkJCQlyZXR1 cm4gVFNUQVRVU19DT05OX0VSUk9SOwotCQkJLyogZmFsbCB0aHJvdWdoICovCisJCQlwZ19m YWxsdGhyb3VnaDsKIAkJY2FzZSBQUVRSQU5TX0FDVElWRToKIAkJZGVmYXVsdDoKIApAQCAt NTcyMCw3ICs1NzIwLDcgQEAgcG9zdHByb2Nlc3Nfc3FsX2NvbW1hbmQoQ29tbWFuZCAqbXlf Y29tbWFuZCkKIAkJCWJyZWFrOwogCQljYXNlIFFVRVJZX1BSRVBBUkVEOgogCQkJbXlfY29t bWFuZC0+cHJlcG5hbWUgPSBwc3ByaW50ZigiUF8lZCIsIHByZXBudW0rKyk7Ci0JCQkvKiBm YWxsIHRocm91Z2ggKi8KKwkJCXBnX2ZhbGx0aHJvdWdoOwogCQljYXNlIFFVRVJZX0VYVEVO REVEOgogCQkJaWYgKCFwYXJzZVF1ZXJ5KG15X2NvbW1hbmQpKQogCQkJCWV4aXQoMSk7CmRp ZmYgLS1naXQgYS9zcmMvY29tbW9uL2hhc2hmbi5jIGIvc3JjL2NvbW1vbi9oYXNoZm4uYwpp bmRleCAwZWZlOTU1NjhjMC4uYzdhMDYyNmY5NmYgMTAwNjQ0Ci0tLSBhL3NyYy9jb21tb24v aGFzaGZuLmMKKysrIGIvc3JjL2NvbW1vbi9oYXNoZm4uYwpAQCAtMTc4LDEzICsxNzgsMTMg QEAgaGFzaF9ieXRlcyhjb25zdCB1bnNpZ25lZCBjaGFyICprLCBpbnQga2V5bGVuKQogCQl7 CiAJCQljYXNlIDExOgogCQkJCWMgKz0gKCh1aW50MzIpIGtbMTBdIDw8IDgpOwotCQkJCS8q IGZhbGwgdGhyb3VnaCAqLworCQkJCXBnX2ZhbGx0aHJvdWdoOwogCQkJY2FzZSAxMDoKIAkJ CQljICs9ICgodWludDMyKSBrWzldIDw8IDE2KTsKLQkJCQkvKiBmYWxsIHRocm91Z2ggKi8K KwkJCQlwZ19mYWxsdGhyb3VnaDsKIAkJCWNhc2UgOToKIAkJCQljICs9ICgodWludDMyKSBr WzhdIDw8IDI0KTsKLQkJCQkvKiBmYWxsIHRocm91Z2ggKi8KKwkJCQlwZ19mYWxsdGhyb3Vn aDsKIAkJCWNhc2UgODoKIAkJCQkvKiB0aGUgbG93ZXN0IGJ5dGUgb2YgYyBpcyByZXNlcnZl ZCBmb3IgdGhlIGxlbmd0aCAqLwogCQkJCWIgKz0ga2FbMV07CkBAIC0xOTIsMjIgKzE5Miwy MiBAQCBoYXNoX2J5dGVzKGNvbnN0IHVuc2lnbmVkIGNoYXIgKmssIGludCBrZXlsZW4pCiAJ CQkJYnJlYWs7CiAJCQljYXNlIDc6CiAJCQkJYiArPSAoKHVpbnQzMikga1s2XSA8PCA4KTsK LQkJCQkvKiBmYWxsIHRocm91Z2ggKi8KKwkJCQlwZ19mYWxsdGhyb3VnaDsKIAkJCWNhc2Ug NjoKIAkJCQliICs9ICgodWludDMyKSBrWzVdIDw8IDE2KTsKLQkJCQkvKiBmYWxsIHRocm91 Z2ggKi8KKwkJCQlwZ19mYWxsdGhyb3VnaDsKIAkJCWNhc2UgNToKIAkJCQliICs9ICgodWlu dDMyKSBrWzRdIDw8IDI0KTsKLQkJCQkvKiBmYWxsIHRocm91Z2ggKi8KKwkJCQlwZ19mYWxs dGhyb3VnaDsKIAkJCWNhc2UgNDoKIAkJCQlhICs9IGthWzBdOwogCQkJCWJyZWFrOwogCQkJ Y2FzZSAzOgogCQkJCWEgKz0gKCh1aW50MzIpIGtbMl0gPDwgOCk7Ci0JCQkJLyogZmFsbCB0 aHJvdWdoICovCisJCQkJcGdfZmFsbHRocm91Z2g7CiAJCQljYXNlIDI6CiAJCQkJYSArPSAo KHVpbnQzMikga1sxXSA8PCAxNik7Ci0JCQkJLyogZmFsbCB0aHJvdWdoICovCisJCQkJcGdf ZmFsbHRocm91Z2g7CiAJCQljYXNlIDE6CiAJCQkJYSArPSAoKHVpbnQzMikga1swXSA8PCAy NCk7CiAJCQkJLyogY2FzZSAwOiBub3RoaW5nIGxlZnQgdG8gYWRkICovCkBAIC0yMTcsMTMg KzIxNywxMyBAQCBoYXNoX2J5dGVzKGNvbnN0IHVuc2lnbmVkIGNoYXIgKmssIGludCBrZXls ZW4pCiAJCXsKIAkJCWNhc2UgMTE6CiAJCQkJYyArPSAoKHVpbnQzMikga1sxMF0gPDwgMjQp OwotCQkJCS8qIGZhbGwgdGhyb3VnaCAqLworCQkJCXBnX2ZhbGx0aHJvdWdoOwogCQkJY2Fz ZSAxMDoKIAkJCQljICs9ICgodWludDMyKSBrWzldIDw8IDE2KTsKLQkJCQkvKiBmYWxsIHRo cm91Z2ggKi8KKwkJCQlwZ19mYWxsdGhyb3VnaDsKIAkJCWNhc2UgOToKIAkJCQljICs9ICgo dWludDMyKSBrWzhdIDw8IDgpOwotCQkJCS8qIGZhbGwgdGhyb3VnaCAqLworCQkJCXBnX2Zh bGx0aHJvdWdoOwogCQkJY2FzZSA4OgogCQkJCS8qIHRoZSBsb3dlc3QgYnl0ZSBvZiBjIGlz IHJlc2VydmVkIGZvciB0aGUgbGVuZ3RoICovCiAJCQkJYiArPSBrYVsxXTsKQEAgLTIzMSwy MiArMjMxLDIyIEBAIGhhc2hfYnl0ZXMoY29uc3QgdW5zaWduZWQgY2hhciAqaywgaW50IGtl eWxlbikKIAkJCQlicmVhazsKIAkJCWNhc2UgNzoKIAkJCQliICs9ICgodWludDMyKSBrWzZd IDw8IDE2KTsKLQkJCQkvKiBmYWxsIHRocm91Z2ggKi8KKwkJCQlwZ19mYWxsdGhyb3VnaDsK IAkJCWNhc2UgNjoKIAkJCQliICs9ICgodWludDMyKSBrWzVdIDw8IDgpOwotCQkJCS8qIGZh bGwgdGhyb3VnaCAqLworCQkJCXBnX2ZhbGx0aHJvdWdoOwogCQkJY2FzZSA1OgogCQkJCWIg Kz0ga1s0XTsKLQkJCQkvKiBmYWxsIHRocm91Z2ggKi8KKwkJCQlwZ19mYWxsdGhyb3VnaDsK IAkJCWNhc2UgNDoKIAkJCQlhICs9IGthWzBdOwogCQkJCWJyZWFrOwogCQkJY2FzZSAzOgog CQkJCWEgKz0gKCh1aW50MzIpIGtbMl0gPDwgMTYpOwotCQkJCS8qIGZhbGwgdGhyb3VnaCAq LworCQkJCXBnX2ZhbGx0aHJvdWdoOwogCQkJY2FzZSAyOgogCQkJCWEgKz0gKCh1aW50MzIp IGtbMV0gPDwgOCk7Ci0JCQkJLyogZmFsbCB0aHJvdWdoICovCisJCQkJcGdfZmFsbHRocm91 Z2g7CiAJCQljYXNlIDE6CiAJCQkJYSArPSBrWzBdOwogCQkJCS8qIGNhc2UgMDogbm90aGlu ZyBsZWZ0IHRvIGFkZCAqLwpAQCAtMjgwLDM1ICsyODAsMzUgQEAgaGFzaF9ieXRlcyhjb25z dCB1bnNpZ25lZCBjaGFyICprLCBpbnQga2V5bGVuKQogCQl7CiAJCQljYXNlIDExOgogCQkJ CWMgKz0gKCh1aW50MzIpIGtbMTBdIDw8IDgpOwotCQkJCS8qIGZhbGwgdGhyb3VnaCAqLwor CQkJCXBnX2ZhbGx0aHJvdWdoOwogCQkJY2FzZSAxMDoKIAkJCQljICs9ICgodWludDMyKSBr WzldIDw8IDE2KTsKLQkJCQkvKiBmYWxsIHRocm91Z2ggKi8KKwkJCQlwZ19mYWxsdGhyb3Vn aDsKIAkJCWNhc2UgOToKIAkJCQljICs9ICgodWludDMyKSBrWzhdIDw8IDI0KTsKLQkJCQkv KiBmYWxsIHRocm91Z2ggKi8KKwkJCQlwZ19mYWxsdGhyb3VnaDsKIAkJCWNhc2UgODoKIAkJ CQkvKiB0aGUgbG93ZXN0IGJ5dGUgb2YgYyBpcyByZXNlcnZlZCBmb3IgdGhlIGxlbmd0aCAq LwogCQkJCWIgKz0ga1s3XTsKLQkJCQkvKiBmYWxsIHRocm91Z2ggKi8KKwkJCQlwZ19mYWxs dGhyb3VnaDsKIAkJCWNhc2UgNzoKIAkJCQliICs9ICgodWludDMyKSBrWzZdIDw8IDgpOwot CQkJCS8qIGZhbGwgdGhyb3VnaCAqLworCQkJCXBnX2ZhbGx0aHJvdWdoOwogCQkJY2FzZSA2 OgogCQkJCWIgKz0gKCh1aW50MzIpIGtbNV0gPDwgMTYpOwotCQkJCS8qIGZhbGwgdGhyb3Vn aCAqLworCQkJCXBnX2ZhbGx0aHJvdWdoOwogCQkJY2FzZSA1OgogCQkJCWIgKz0gKCh1aW50 MzIpIGtbNF0gPDwgMjQpOwotCQkJCS8qIGZhbGwgdGhyb3VnaCAqLworCQkJCXBnX2ZhbGx0 aHJvdWdoOwogCQkJY2FzZSA0OgogCQkJCWEgKz0ga1szXTsKLQkJCQkvKiBmYWxsIHRocm91 Z2ggKi8KKwkJCQlwZ19mYWxsdGhyb3VnaDsKIAkJCWNhc2UgMzoKIAkJCQlhICs9ICgodWlu dDMyKSBrWzJdIDw8IDgpOwotCQkJCS8qIGZhbGwgdGhyb3VnaCAqLworCQkJCXBnX2ZhbGx0 aHJvdWdoOwogCQkJY2FzZSAyOgogCQkJCWEgKz0gKCh1aW50MzIpIGtbMV0gPDwgMTYpOwot CQkJCS8qIGZhbGwgdGhyb3VnaCAqLworCQkJCXBnX2ZhbGx0aHJvdWdoOwogCQkJY2FzZSAx OgogCQkJCWEgKz0gKCh1aW50MzIpIGtbMF0gPDwgMjQpOwogCQkJCS8qIGNhc2UgMDogbm90 aGluZyBsZWZ0IHRvIGFkZCAqLwpAQCAtMzE4LDM1ICszMTgsMzUgQEAgaGFzaF9ieXRlcyhj b25zdCB1bnNpZ25lZCBjaGFyICprLCBpbnQga2V5bGVuKQogCQl7CiAJCQljYXNlIDExOgog CQkJCWMgKz0gKCh1aW50MzIpIGtbMTBdIDw8IDI0KTsKLQkJCQkvKiBmYWxsIHRocm91Z2gg Ki8KKwkJCQlwZ19mYWxsdGhyb3VnaDsKIAkJCWNhc2UgMTA6CiAJCQkJYyArPSAoKHVpbnQz Mikga1s5XSA8PCAxNik7Ci0JCQkJLyogZmFsbCB0aHJvdWdoICovCisJCQkJcGdfZmFsbHRo cm91Z2g7CiAJCQljYXNlIDk6CiAJCQkJYyArPSAoKHVpbnQzMikga1s4XSA8PCA4KTsKLQkJ CQkvKiBmYWxsIHRocm91Z2ggKi8KKwkJCQlwZ19mYWxsdGhyb3VnaDsKIAkJCWNhc2UgODoK IAkJCQkvKiB0aGUgbG93ZXN0IGJ5dGUgb2YgYyBpcyByZXNlcnZlZCBmb3IgdGhlIGxlbmd0 aCAqLwogCQkJCWIgKz0gKCh1aW50MzIpIGtbN10gPDwgMjQpOwotCQkJCS8qIGZhbGwgdGhy b3VnaCAqLworCQkJCXBnX2ZhbGx0aHJvdWdoOwogCQkJY2FzZSA3OgogCQkJCWIgKz0gKCh1 aW50MzIpIGtbNl0gPDwgMTYpOwotCQkJCS8qIGZhbGwgdGhyb3VnaCAqLworCQkJCXBnX2Zh bGx0aHJvdWdoOwogCQkJY2FzZSA2OgogCQkJCWIgKz0gKCh1aW50MzIpIGtbNV0gPDwgOCk7 Ci0JCQkJLyogZmFsbCB0aHJvdWdoICovCisJCQkJcGdfZmFsbHRocm91Z2g7CiAJCQljYXNl IDU6CiAJCQkJYiArPSBrWzRdOwotCQkJCS8qIGZhbGwgdGhyb3VnaCAqLworCQkJCXBnX2Zh bGx0aHJvdWdoOwogCQkJY2FzZSA0OgogCQkJCWEgKz0gKCh1aW50MzIpIGtbM10gPDwgMjQp OwotCQkJCS8qIGZhbGwgdGhyb3VnaCAqLworCQkJCXBnX2ZhbGx0aHJvdWdoOwogCQkJY2Fz ZSAzOgogCQkJCWEgKz0gKCh1aW50MzIpIGtbMl0gPDwgMTYpOwotCQkJCS8qIGZhbGwgdGhy b3VnaCAqLworCQkJCXBnX2ZhbGx0aHJvdWdoOwogCQkJY2FzZSAyOgogCQkJCWEgKz0gKCh1 aW50MzIpIGtbMV0gPDwgOCk7Ci0JCQkJLyogZmFsbCB0aHJvdWdoICovCisJCQkJcGdfZmFs bHRocm91Z2g7CiAJCQljYXNlIDE6CiAJCQkJYSArPSBrWzBdOwogCQkJCS8qIGNhc2UgMDog bm90aGluZyBsZWZ0IHRvIGFkZCAqLwpAQCAtNDE3LDEzICs0MTcsMTMgQEAgaGFzaF9ieXRl c19leHRlbmRlZChjb25zdCB1bnNpZ25lZCBjaGFyICprLCBpbnQga2V5bGVuLCB1aW50NjQg c2VlZCkKIAkJewogCQkJY2FzZSAxMToKIAkJCQljICs9ICgodWludDMyKSBrWzEwXSA8PCA4 KTsKLQkJCQkvKiBmYWxsIHRocm91Z2ggKi8KKwkJCQlwZ19mYWxsdGhyb3VnaDsKIAkJCWNh c2UgMTA6CiAJCQkJYyArPSAoKHVpbnQzMikga1s5XSA8PCAxNik7Ci0JCQkJLyogZmFsbCB0 aHJvdWdoICovCisJCQkJcGdfZmFsbHRocm91Z2g7CiAJCQljYXNlIDk6CiAJCQkJYyArPSAo KHVpbnQzMikga1s4XSA8PCAyNCk7Ci0JCQkJLyogZmFsbCB0aHJvdWdoICovCisJCQkJcGdf ZmFsbHRocm91Z2g7CiAJCQljYXNlIDg6CiAJCQkJLyogdGhlIGxvd2VzdCBieXRlIG9mIGMg aXMgcmVzZXJ2ZWQgZm9yIHRoZSBsZW5ndGggKi8KIAkJCQliICs9IGthWzFdOwpAQCAtNDMx LDIyICs0MzEsMjIgQEAgaGFzaF9ieXRlc19leHRlbmRlZChjb25zdCB1bnNpZ25lZCBjaGFy ICprLCBpbnQga2V5bGVuLCB1aW50NjQgc2VlZCkKIAkJCQlicmVhazsKIAkJCWNhc2UgNzoK IAkJCQliICs9ICgodWludDMyKSBrWzZdIDw8IDgpOwotCQkJCS8qIGZhbGwgdGhyb3VnaCAq LworCQkJCXBnX2ZhbGx0aHJvdWdoOwogCQkJY2FzZSA2OgogCQkJCWIgKz0gKCh1aW50MzIp IGtbNV0gPDwgMTYpOwotCQkJCS8qIGZhbGwgdGhyb3VnaCAqLworCQkJCXBnX2ZhbGx0aHJv dWdoOwogCQkJY2FzZSA1OgogCQkJCWIgKz0gKCh1aW50MzIpIGtbNF0gPDwgMjQpOwotCQkJ CS8qIGZhbGwgdGhyb3VnaCAqLworCQkJCXBnX2ZhbGx0aHJvdWdoOwogCQkJY2FzZSA0Ogog CQkJCWEgKz0ga2FbMF07CiAJCQkJYnJlYWs7CiAJCQljYXNlIDM6CiAJCQkJYSArPSAoKHVp bnQzMikga1syXSA8PCA4KTsKLQkJCQkvKiBmYWxsIHRocm91Z2ggKi8KKwkJCQlwZ19mYWxs dGhyb3VnaDsKIAkJCWNhc2UgMjoKIAkJCQlhICs9ICgodWludDMyKSBrWzFdIDw8IDE2KTsK LQkJCQkvKiBmYWxsIHRocm91Z2ggKi8KKwkJCQlwZ19mYWxsdGhyb3VnaDsKIAkJCWNhc2Ug MToKIAkJCQlhICs9ICgodWludDMyKSBrWzBdIDw8IDI0KTsKIAkJCQkvKiBjYXNlIDA6IG5v dGhpbmcgbGVmdCB0byBhZGQgKi8KQEAgLTQ1NiwxMyArNDU2LDEzIEBAIGhhc2hfYnl0ZXNf ZXh0ZW5kZWQoY29uc3QgdW5zaWduZWQgY2hhciAqaywgaW50IGtleWxlbiwgdWludDY0IHNl ZWQpCiAJCXsKIAkJCWNhc2UgMTE6CiAJCQkJYyArPSAoKHVpbnQzMikga1sxMF0gPDwgMjQp OwotCQkJCS8qIGZhbGwgdGhyb3VnaCAqLworCQkJCXBnX2ZhbGx0aHJvdWdoOwogCQkJY2Fz ZSAxMDoKIAkJCQljICs9ICgodWludDMyKSBrWzldIDw8IDE2KTsKLQkJCQkvKiBmYWxsIHRo cm91Z2ggKi8KKwkJCQlwZ19mYWxsdGhyb3VnaDsKIAkJCWNhc2UgOToKIAkJCQljICs9ICgo dWludDMyKSBrWzhdIDw8IDgpOwotCQkJCS8qIGZhbGwgdGhyb3VnaCAqLworCQkJCXBnX2Zh bGx0aHJvdWdoOwogCQkJY2FzZSA4OgogCQkJCS8qIHRoZSBsb3dlc3QgYnl0ZSBvZiBjIGlz IHJlc2VydmVkIGZvciB0aGUgbGVuZ3RoICovCiAJCQkJYiArPSBrYVsxXTsKQEAgLTQ3MCwy MiArNDcwLDIyIEBAIGhhc2hfYnl0ZXNfZXh0ZW5kZWQoY29uc3QgdW5zaWduZWQgY2hhciAq aywgaW50IGtleWxlbiwgdWludDY0IHNlZWQpCiAJCQkJYnJlYWs7CiAJCQljYXNlIDc6CiAJ CQkJYiArPSAoKHVpbnQzMikga1s2XSA8PCAxNik7Ci0JCQkJLyogZmFsbCB0aHJvdWdoICov CisJCQkJcGdfZmFsbHRocm91Z2g7CiAJCQljYXNlIDY6CiAJCQkJYiArPSAoKHVpbnQzMikg a1s1XSA8PCA4KTsKLQkJCQkvKiBmYWxsIHRocm91Z2ggKi8KKwkJCQlwZ19mYWxsdGhyb3Vn aDsKIAkJCWNhc2UgNToKIAkJCQliICs9IGtbNF07Ci0JCQkJLyogZmFsbCB0aHJvdWdoICov CisJCQkJcGdfZmFsbHRocm91Z2g7CiAJCQljYXNlIDQ6CiAJCQkJYSArPSBrYVswXTsKIAkJ CQlicmVhazsKIAkJCWNhc2UgMzoKIAkJCQlhICs9ICgodWludDMyKSBrWzJdIDw8IDE2KTsK LQkJCQkvKiBmYWxsIHRocm91Z2ggKi8KKwkJCQlwZ19mYWxsdGhyb3VnaDsKIAkJCWNhc2Ug MjoKIAkJCQlhICs9ICgodWludDMyKSBrWzFdIDw8IDgpOwotCQkJCS8qIGZhbGwgdGhyb3Vn aCAqLworCQkJCXBnX2ZhbGx0aHJvdWdoOwogCQkJY2FzZSAxOgogCQkJCWEgKz0ga1swXTsK IAkJCQkvKiBjYXNlIDA6IG5vdGhpbmcgbGVmdCB0byBhZGQgKi8KQEAgLTUxOSwzNSArNTE5 LDM1IEBAIGhhc2hfYnl0ZXNfZXh0ZW5kZWQoY29uc3QgdW5zaWduZWQgY2hhciAqaywgaW50 IGtleWxlbiwgdWludDY0IHNlZWQpCiAJCXsKIAkJCWNhc2UgMTE6CiAJCQkJYyArPSAoKHVp bnQzMikga1sxMF0gPDwgOCk7Ci0JCQkJLyogZmFsbCB0aHJvdWdoICovCisJCQkJcGdfZmFs bHRocm91Z2g7CiAJCQljYXNlIDEwOgogCQkJCWMgKz0gKCh1aW50MzIpIGtbOV0gPDwgMTYp OwotCQkJCS8qIGZhbGwgdGhyb3VnaCAqLworCQkJCXBnX2ZhbGx0aHJvdWdoOwogCQkJY2Fz ZSA5OgogCQkJCWMgKz0gKCh1aW50MzIpIGtbOF0gPDwgMjQpOwotCQkJCS8qIGZhbGwgdGhy b3VnaCAqLworCQkJCXBnX2ZhbGx0aHJvdWdoOwogCQkJY2FzZSA4OgogCQkJCS8qIHRoZSBs b3dlc3QgYnl0ZSBvZiBjIGlzIHJlc2VydmVkIGZvciB0aGUgbGVuZ3RoICovCiAJCQkJYiAr PSBrWzddOwotCQkJCS8qIGZhbGwgdGhyb3VnaCAqLworCQkJCXBnX2ZhbGx0aHJvdWdoOwog CQkJY2FzZSA3OgogCQkJCWIgKz0gKCh1aW50MzIpIGtbNl0gPDwgOCk7Ci0JCQkJLyogZmFs bCB0aHJvdWdoICovCisJCQkJcGdfZmFsbHRocm91Z2g7CiAJCQljYXNlIDY6CiAJCQkJYiAr PSAoKHVpbnQzMikga1s1XSA8PCAxNik7Ci0JCQkJLyogZmFsbCB0aHJvdWdoICovCisJCQkJ cGdfZmFsbHRocm91Z2g7CiAJCQljYXNlIDU6CiAJCQkJYiArPSAoKHVpbnQzMikga1s0XSA8 PCAyNCk7Ci0JCQkJLyogZmFsbCB0aHJvdWdoICovCisJCQkJcGdfZmFsbHRocm91Z2g7CiAJ CQljYXNlIDQ6CiAJCQkJYSArPSBrWzNdOwotCQkJCS8qIGZhbGwgdGhyb3VnaCAqLworCQkJ CXBnX2ZhbGx0aHJvdWdoOwogCQkJY2FzZSAzOgogCQkJCWEgKz0gKCh1aW50MzIpIGtbMl0g PDwgOCk7Ci0JCQkJLyogZmFsbCB0aHJvdWdoICovCisJCQkJcGdfZmFsbHRocm91Z2g7CiAJ CQljYXNlIDI6CiAJCQkJYSArPSAoKHVpbnQzMikga1sxXSA8PCAxNik7Ci0JCQkJLyogZmFs bCB0aHJvdWdoICovCisJCQkJcGdfZmFsbHRocm91Z2g7CiAJCQljYXNlIDE6CiAJCQkJYSAr PSAoKHVpbnQzMikga1swXSA8PCAyNCk7CiAJCQkJLyogY2FzZSAwOiBub3RoaW5nIGxlZnQg dG8gYWRkICovCkBAIC01NTcsMzUgKzU1NywzNSBAQCBoYXNoX2J5dGVzX2V4dGVuZGVkKGNv bnN0IHVuc2lnbmVkIGNoYXIgKmssIGludCBrZXlsZW4sIHVpbnQ2NCBzZWVkKQogCQl7CiAJ CQljYXNlIDExOgogCQkJCWMgKz0gKCh1aW50MzIpIGtbMTBdIDw8IDI0KTsKLQkJCQkvKiBm YWxsIHRocm91Z2ggKi8KKwkJCQlwZ19mYWxsdGhyb3VnaDsKIAkJCWNhc2UgMTA6CiAJCQkJ YyArPSAoKHVpbnQzMikga1s5XSA8PCAxNik7Ci0JCQkJLyogZmFsbCB0aHJvdWdoICovCisJ CQkJcGdfZmFsbHRocm91Z2g7CiAJCQljYXNlIDk6CiAJCQkJYyArPSAoKHVpbnQzMikga1s4 XSA8PCA4KTsKLQkJCQkvKiBmYWxsIHRocm91Z2ggKi8KKwkJCQlwZ19mYWxsdGhyb3VnaDsK IAkJCWNhc2UgODoKIAkJCQkvKiB0aGUgbG93ZXN0IGJ5dGUgb2YgYyBpcyByZXNlcnZlZCBm b3IgdGhlIGxlbmd0aCAqLwogCQkJCWIgKz0gKCh1aW50MzIpIGtbN10gPDwgMjQpOwotCQkJ CS8qIGZhbGwgdGhyb3VnaCAqLworCQkJCXBnX2ZhbGx0aHJvdWdoOwogCQkJY2FzZSA3Ogog CQkJCWIgKz0gKCh1aW50MzIpIGtbNl0gPDwgMTYpOwotCQkJCS8qIGZhbGwgdGhyb3VnaCAq LworCQkJCXBnX2ZhbGx0aHJvdWdoOwogCQkJY2FzZSA2OgogCQkJCWIgKz0gKCh1aW50MzIp IGtbNV0gPDwgOCk7Ci0JCQkJLyogZmFsbCB0aHJvdWdoICovCisJCQkJcGdfZmFsbHRocm91 Z2g7CiAJCQljYXNlIDU6CiAJCQkJYiArPSBrWzRdOwotCQkJCS8qIGZhbGwgdGhyb3VnaCAq LworCQkJCXBnX2ZhbGx0aHJvdWdoOwogCQkJY2FzZSA0OgogCQkJCWEgKz0gKCh1aW50MzIp IGtbM10gPDwgMjQpOwotCQkJCS8qIGZhbGwgdGhyb3VnaCAqLworCQkJCXBnX2ZhbGx0aHJv dWdoOwogCQkJY2FzZSAzOgogCQkJCWEgKz0gKCh1aW50MzIpIGtbMl0gPDwgMTYpOwotCQkJ CS8qIGZhbGwgdGhyb3VnaCAqLworCQkJCXBnX2ZhbGx0aHJvdWdoOwogCQkJY2FzZSAyOgog CQkJCWEgKz0gKCh1aW50MzIpIGtbMV0gPDwgOCk7Ci0JCQkJLyogZmFsbCB0aHJvdWdoICov CisJCQkJcGdfZmFsbHRocm91Z2g7CiAJCQljYXNlIDE6CiAJCQkJYSArPSBrWzBdOwogCQkJ CS8qIGNhc2UgMDogbm90aGluZyBsZWZ0IHRvIGFkZCAqLwpkaWZmIC0tZ2l0IGEvc3JjL2Nv bW1vbi93Y2hhci5jIGIvc3JjL2NvbW1vbi93Y2hhci5jCmluZGV4IDU2MzFlMmM5MzYzLi44 YjQ3ZGNkNjc0YSAxMDA2NDQKLS0tIGEvc3JjL2NvbW1vbi93Y2hhci5jCisrKyBiL3NyYy9j b21tb24vd2NoYXIuYwpAQCAtMTk5OSwxMiArMTk5OSwxMiBAQCBwZ191dGY4X2lzbGVnYWwo Y29uc3QgdW5zaWduZWQgY2hhciAqc291cmNlLCBpbnQgbGVuZ3RoKQogCQkJYSA9IHNvdXJj ZVszXTsKIAkJCWlmIChhIDwgMHg4MCB8fCBhID4gMHhCRikKIAkJCQlyZXR1cm4gZmFsc2U7 Ci0JCQkvKiBGQUxMIFRIUlUgKi8KKwkJCXBnX2ZhbGx0aHJvdWdoOwogCQljYXNlIDM6CiAJ CQlhID0gc291cmNlWzJdOwogCQkJaWYgKGEgPCAweDgwIHx8IGEgPiAweEJGKQogCQkJCXJl dHVybiBmYWxzZTsKLQkJCS8qIEZBTEwgVEhSVSAqLworCQkJcGdfZmFsbHRocm91Z2g7CiAJ CWNhc2UgMjoKIAkJCWEgPSBzb3VyY2VbMV07CiAJCQlzd2l0Y2ggKCpzb3VyY2UpCkBAIC0y MDMwLDcgKzIwMzAsNyBAQCBwZ191dGY4X2lzbGVnYWwoY29uc3QgdW5zaWduZWQgY2hhciAq c291cmNlLCBpbnQgbGVuZ3RoKQogCQkJCQkJcmV0dXJuIGZhbHNlOwogCQkJCQlicmVhazsK IAkJCX0KLQkJCS8qIEZBTEwgVEhSVSAqLworCQkJcGdfZmFsbHRocm91Z2g7CiAJCWNhc2Ug MToKIAkJCWEgPSAqc291cmNlOwogCQkJaWYgKGEgPj0gMHg4MCAmJiBhIDwgMHhDMikKZGlm ZiAtLWdpdCBhL3NyYy9pbmNsdWRlL2MuaCBiL3NyYy9pbmNsdWRlL2MuaAppbmRleCA3MTM2 MTAyZTVmZi4uMTFlZjcxZTBiMjcgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL2MuaAorKysg Yi9zcmMvaW5jbHVkZS9jLmgKQEAgLTEzMiw2ICsxMzIsMTggQEAKICNkZWZpbmUgcGdfYXR0 cmlidXRlX3VudXNlZCgpCiAjZW5kaWYKIAorLyoKKyAqIHBnX2ZhbGx0aHJvdWdoIGluZGlj YXRlcyB0aGF0IHRoZSBmYWxsIHRocm91Z2ggZnJvbSB0aGUgcHJldmlvdXMgY2FzZSBpcwor ICogaW50ZW50aW9uYWwuCisgKi8KKyNpZiAoZGVmaW5lZChfX1NURENfVkVSU0lPTl9fKSAm JiBfX1NURENfVkVSU0lPTl9fID49IDIwMjMxMUwpIHx8IGRlZmluZWQoX19jcHBfYXR0cmli dXRlcykKKyNkZWZpbmUgcGdfZmFsbHRocm91Z2ggW1tmYWxsdGhyb3VnaF1dCisjZWxpZiBf X2hhc19hdHRyaWJ1dGUoZmFsbHRocm91Z2gpCisjZGVmaW5lIHBnX2ZhbGx0aHJvdWdoIF9f YXR0cmlidXRlX18oKGZhbGx0aHJvdWdoKSkKKyNlbHNlCisjZGVmaW5lIHBnX2ZhbGx0aHJv dWdoCisjZW5kaWYKKwogLyoKICAqIHBnX25vZGlzY2FyZCBtZWFucyB0aGUgY29tcGlsZXIg c2hvdWxkIHdhcm4gaWYgdGhlIHJlc3VsdCBvZiBhIGZ1bmN0aW9uCiAgKiBjYWxsIGlzIGln bm9yZWQuICBUaGUgbmFtZSAibm9kaXNjYXJkIiBpcyBjaG9zZW4gaW4gYWxpZ25tZW50IHdp dGggdGhlIEMyMwpkaWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvY29tbW9uL2hhc2hmbl91bnN0 YWJsZS5oIGIvc3JjL2luY2x1ZGUvY29tbW9uL2hhc2hmbl91bnN0YWJsZS5oCmluZGV4IDQy ODkzNmI4YjY0Li40NjMxYWRlNzI2MCAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvY29tbW9u L2hhc2hmbl91bnN0YWJsZS5oCisrKyBiL3NyYy9pbmNsdWRlL2NvbW1vbi9oYXNoZm5fdW5z dGFibGUuaApAQCAtMTUxLDIzICsxNTEsMjMgQEAgZmFzdGhhc2hfYWNjdW0oZmFzdGhhc2hf c3RhdGUgKmhzLCBjb25zdCBjaGFyICprLCBzaXplX3QgbGVuKQogCQkJYnJlYWs7CiAJCWNh c2UgNzoKIAkJCWhzLT5hY2N1bSB8PSAodWludDY0KSBrWzZdIDw8IDg7Ci0JCQkvKiBGQUxM VEhST1VHSCAqLworCQkJcGdfZmFsbHRocm91Z2g7CiAJCWNhc2UgNjoKIAkJCWhzLT5hY2N1 bSB8PSAodWludDY0KSBrWzVdIDw8IDE2OwotCQkJLyogRkFMTFRIUk9VR0ggKi8KKwkJCXBn X2ZhbGx0aHJvdWdoOwogCQljYXNlIDU6CiAJCQlocy0+YWNjdW0gfD0gKHVpbnQ2NCkga1s0 XSA8PCAyNDsKLQkJCS8qIEZBTExUSFJPVUdIICovCisJCQlwZ19mYWxsdGhyb3VnaDsKIAkJ Y2FzZSA0OgogCQkJbWVtY3B5KCZsb3dlcl9mb3VyLCBrLCBzaXplb2YobG93ZXJfZm91cikp OwogCQkJaHMtPmFjY3VtIHw9ICh1aW50NjQpIGxvd2VyX2ZvdXIgPDwgMzI7CiAJCQlicmVh azsKIAkJY2FzZSAzOgogCQkJaHMtPmFjY3VtIHw9ICh1aW50NjQpIGtbMl0gPDwgNDA7Ci0J CQkvKiBGQUxMVEhST1VHSCAqLworCQkJcGdfZmFsbHRocm91Z2g7CiAJCWNhc2UgMjoKIAkJ CWhzLT5hY2N1bSB8PSAodWludDY0KSBrWzFdIDw8IDQ4OwotCQkJLyogRkFMTFRIUk9VR0gg Ki8KKwkJCXBnX2ZhbGx0aHJvdWdoOwogCQljYXNlIDE6CiAJCQlocy0+YWNjdW0gfD0gKHVp bnQ2NCkga1swXSA8PCA1NjsKIAkJCWJyZWFrOwpAQCAtMTgyLDIzICsxODIsMjMgQEAgZmFz dGhhc2hfYWNjdW0oZmFzdGhhc2hfc3RhdGUgKmhzLCBjb25zdCBjaGFyICprLCBzaXplX3Qg bGVuKQogCQkJYnJlYWs7CiAJCWNhc2UgNzoKIAkJCWhzLT5hY2N1bSB8PSAodWludDY0KSBr WzZdIDw8IDQ4OwotCQkJLyogRkFMTFRIUk9VR0ggKi8KKwkJCXBnX2ZhbGx0aHJvdWdoOwog CQljYXNlIDY6CiAJCQlocy0+YWNjdW0gfD0gKHVpbnQ2NCkga1s1XSA8PCA0MDsKLQkJCS8q IEZBTExUSFJPVUdIICovCisJCQlwZ19mYWxsdGhyb3VnaDsKIAkJY2FzZSA1OgogCQkJaHMt PmFjY3VtIHw9ICh1aW50NjQpIGtbNF0gPDwgMzI7Ci0JCQkvKiBGQUxMVEhST1VHSCAqLwor CQkJcGdfZmFsbHRocm91Z2g7CiAJCWNhc2UgNDoKIAkJCW1lbWNweSgmbG93ZXJfZm91ciwg aywgc2l6ZW9mKGxvd2VyX2ZvdXIpKTsKIAkJCWhzLT5hY2N1bSB8PSBsb3dlcl9mb3VyOwog CQkJYnJlYWs7CiAJCWNhc2UgMzoKIAkJCWhzLT5hY2N1bSB8PSAodWludDY0KSBrWzJdIDw8 IDE2OwotCQkJLyogRkFMTFRIUk9VR0ggKi8KKwkJCXBnX2ZhbGx0aHJvdWdoOwogCQljYXNl IDI6CiAJCQlocy0+YWNjdW0gfD0gKHVpbnQ2NCkga1sxXSA8PCA4OwotCQkJLyogRkFMTFRI Uk9VR0ggKi8KKwkJCXBnX2ZhbGx0aHJvdWdoOwogCQljYXNlIDE6CiAJCQlocy0+YWNjdW0g fD0gKHVpbnQ2NCkga1swXTsKIAkJCWJyZWFrOwpkaWZmIC0tZ2l0IGEvc3JjL2ludGVyZmFj ZXMvZWNwZy9wZ3R5cGVzbGliL2ludGVydmFsLmMgYi9zcmMvaW50ZXJmYWNlcy9lY3BnL3Bn dHlwZXNsaWIvaW50ZXJ2YWwuYwppbmRleCA5MzZhNjg4MzgxNi4uZTQ1MmEwODhmOWUgMTAw NjQ0Ci0tLSBhL3NyYy9pbnRlcmZhY2VzL2VjcGcvcGd0eXBlc2xpYi9pbnRlcnZhbC5jCisr KyBiL3NyYy9pbnRlcmZhY2VzL2VjcGcvcGd0eXBlc2xpYi9pbnRlcnZhbC5jCkBAIC0xODQs NyArMTg0LDcgQEAgRGVjb2RlSVNPODYwMUludGVydmFsKGNoYXIgKnN0ciwKIAkJCQkJCWNv bnRpbnVlOwogCQkJCQl9CiAJCQkJCS8qIEVsc2UgZmFsbCB0aHJvdWdoIHRvIGV4dGVuZGVk IGFsdGVybmF0aXZlIGZvcm1hdCAqLwotCQkJCQkvKiBGQUxMVEhST1VHSCAqLworCQkJCQlw Z19mYWxsdGhyb3VnaDsKIAkJCQljYXNlICctJzoJCS8qIElTTyA4NjAxIDQuNC4zLjMgQWx0 ZXJuYXRpdmUgRm9ybWF0LAogCQkJCQkJCQkgKiBFeHRlbmRlZCAqLwogCQkJCQlpZiAoaGF2 ZWZpZWxkKQpAQCAtMjYzLDcgKzI2Myw3IEBAIERlY29kZUlTTzg2MDFJbnRlcnZhbChjaGFy ICpzdHIsCiAJCQkJCQlyZXR1cm4gMDsKIAkJCQkJfQogCQkJCQkvKiBFbHNlIGZhbGwgdGhy b3VnaCB0byBleHRlbmRlZCBhbHRlcm5hdGl2ZSBmb3JtYXQgKi8KLQkJCQkJLyogRkFMTFRI Uk9VR0ggKi8KKwkJCQkJcGdfZmFsbHRocm91Z2g7CiAJCQkJY2FzZSAnOic6CQkvKiBJU08g ODYwMSA0LjQuMy4zIEFsdGVybmF0aXZlIEZvcm1hdCwKIAkJCQkJCQkJICogRXh0ZW5kZWQg Ki8KIAkJCQkJaWYgKGhhdmVmaWVsZCkKQEAgLTM5MSw3ICszOTEsNyBAQCBEZWNvZGVJbnRl cnZhbChjaGFyICoqZmllbGQsIGludCAqZnR5cGUsIGludCBuZiwJLyogaW50IHJhbmdlLCAq LwogCQkJCQl0bWFzayA9IERUS19NKFRaKTsKIAkJCQkJYnJlYWs7CiAJCQkJfQotCQkJCS8q IEZBTEwgVEhST1VHSCAqLworCQkJCXBnX2ZhbGx0aHJvdWdoOwogCiAJCQljYXNlIERUS19E QVRFOgogCQkJY2FzZSBEVEtfTlVNQkVSOgpkaWZmIC0tZ2l0IGEvc3JjL2ludGVyZmFjZXMv bGlicHEvZmUtc2VjdXJlLmMgYi9zcmMvaW50ZXJmYWNlcy9saWJwcS9mZS1zZWN1cmUuYwpp bmRleCAzOTlmZTdhZGY2Mi4uMzFkNWI0OGQzZjkgMTAwNjQ0Ci0tLSBhL3NyYy9pbnRlcmZh Y2VzL2xpYnBxL2ZlLXNlY3VyZS5jCisrKyBiL3NyYy9pbnRlcmZhY2VzL2xpYnBxL2ZlLXNl Y3VyZS5jCkBAIC0zNzksNyArMzc5LDcgQEAgcHFzZWN1cmVfcmF3X3dyaXRlKFBHY29ubiAq Y29ubiwgY29uc3Qgdm9pZCAqcHRyLCBzaXplX3QgbGVuKQogCQkJCS8qIFNldCBmbGFnIGZv ciBFUElQRSAqLwogCQkJCVJFTUVNQkVSX0VQSVBFKHNwaW5mbywgdHJ1ZSk7CiAKLQkJCQkv KiBGQUxMIFRIUlUgKi8KKwkJCQlwZ19mYWxsdGhyb3VnaDsKIAogCQkJY2FzZSBFQ09OTlJF U0VUOgogCQkJCWNvbm4tPndyaXRlX2ZhaWxlZCA9IHRydWU7CmRpZmYgLS1naXQgYS9zcmMv cGwvcGxwZ3NxbC9zcmMvcGxfZXhlYy5jIGIvc3JjL3BsL3BscGdzcWwvc3JjL3BsX2V4ZWMu YwppbmRleCA3NTMyNTExN2VjOS4uZWM3YzM0N2Q2MjYgMTAwNjQ0Ci0tLSBhL3NyYy9wbC9w bHBnc3FsL3NyYy9wbF9leGVjLmMKKysrIGIvc3JjL3BsL3BscGdzcWwvc3JjL3BsX2V4ZWMu YwpAQCAtMzIzMCw3ICszMjMwLDcgQEAgZXhlY19zdG10X3JldHVybihQTHBnU1FMX2V4ZWNz dGF0ZSAqZXN0YXRlLCBQTHBnU1FMX3N0bXRfcmV0dXJuICpzdG10KQogCQkJCS8qIGZ1bGZp bGwgcHJvbWlzZSBpZiBuZWVkZWQsIHRoZW4gaGFuZGxlIGxpa2UgcmVndWxhciB2YXIgKi8K IAkJCQlwbHBnc3FsX2Z1bGZpbGxfcHJvbWlzZShlc3RhdGUsIChQTHBnU1FMX3ZhciAqKSBy ZXR2YXIpOwogCi0JCQkJLyogRkFMTCBUSFJVICovCisJCQkJcGdfZmFsbHRocm91Z2g7CiAK IAkJCWNhc2UgUExQR1NRTF9EVFlQRV9WQVI6CiAJCQkJewpAQCAtMzM3Niw3ICszMzc2LDcg QEAgZXhlY19zdG10X3JldHVybl9uZXh0KFBMcGdTUUxfZXhlY3N0YXRlICplc3RhdGUsCiAJ CQkJLyogZnVsZmlsbCBwcm9taXNlIGlmIG5lZWRlZCwgdGhlbiBoYW5kbGUgbGlrZSByZWd1 bGFyIHZhciAqLwogCQkJCXBscGdzcWxfZnVsZmlsbF9wcm9taXNlKGVzdGF0ZSwgKFBMcGdT UUxfdmFyICopIHJldHZhcik7CiAKLQkJCQkvKiBGQUxMIFRIUlUgKi8KKwkJCQlwZ19mYWxs dGhyb3VnaDsKIAogCQkJY2FzZSBQTFBHU1FMX0RUWVBFX1ZBUjoKIAkJCQl7CkBAIC01MzEz LDcgKzUzMTMsNyBAQCBleGVjX2V2YWxfZGF0dW0oUExwZ1NRTF9leGVjc3RhdGUgKmVzdGF0 ZSwKIAkJCS8qIGZ1bGZpbGwgcHJvbWlzZSBpZiBuZWVkZWQsIHRoZW4gaGFuZGxlIGxpa2Ug cmVndWxhciB2YXIgKi8KIAkJCXBscGdzcWxfZnVsZmlsbF9wcm9taXNlKGVzdGF0ZSwgKFBM cGdTUUxfdmFyICopIGRhdHVtKTsKIAotCQkJLyogRkFMTCBUSFJVICovCisJCQlwZ19mYWxs dGhyb3VnaDsKIAogCQljYXNlIFBMUEdTUUxfRFRZUEVfVkFSOgogCQkJewpkaWZmIC0tZ2l0 IGEvc3JjL3BsL3RjbC9wbHRjbC5jIGIvc3JjL3BsL3RjbC9wbHRjbC5jCmluZGV4IDE4NzY5 OGNjZGQyLi5iNzMxOGY3MjYxZSAxMDA2NDQKLS0tIGEvc3JjL3BsL3RjbC9wbHRjbC5jCisr KyBiL3NyYy9wbC90Y2wvcGx0Y2wuYwpAQCAtMjU0NSw3ICsyNTQ1LDcgQEAgcGx0Y2xfcHJv Y2Vzc19TUElfcmVzdWx0KFRjbF9JbnRlcnAgKmludGVycCwKIAkJCQlicmVhazsKIAkJCX0K IAkJCS8qIGZhbGwgdGhyb3VnaCBmb3IgdXRpbGl0eSByZXR1cm5pbmcgdHVwbGVzICovCi0J CQkvKiBGQUxMVEhST1VHSCAqLworCQkJcGdfZmFsbHRocm91Z2g7CiAKIAkJY2FzZSBTUElf T0tfU0VMRUNUOgogCQljYXNlIFNQSV9PS19JTlNFUlRfUkVUVVJOSU5HOgpkaWZmIC0tZ2l0 IGEvc3JjL3BvcnQvc25wcmludGYuYyBiL3NyYy9wb3J0L3NucHJpbnRmLmMKaW5kZXggNTZj NzAzNjc1M2MuLjVkZWVlNDRkM2EyIDEwMDY0NAotLS0gYS9zcmMvcG9ydC9zbnByaW50Zi5j CisrKyBiL3NyYy9wb3J0L3NucHJpbnRmLmMKQEAgLTQ2Miw3ICs0NjIsNyBAQCBkb3ByKFBy aW50ZlRhcmdldCAqdGFyZ2V0LCBjb25zdCBjaGFyICpmb3JtYXQsIHZhX2xpc3QgYXJncykK IAkJCQkvKiBzZXQgemVybyBwYWRkaW5nIGlmIG5vIG5vbnplcm8gZGlnaXRzIHlldCAqLwog CQkJCWlmIChhY2N1bSA9PSAwICYmICFwb2ludGZsYWcpCiAJCQkJCXpwYWQgPSAnMCc7Ci0J CQkJLyogRkFMTCBUSFJVICovCisJCQkJcGdfZmFsbHRocm91Z2g7CiAJCQljYXNlICcxJzoK IAkJCWNhc2UgJzInOgogCQkJY2FzZSAnMyc6CmRpZmYgLS1naXQgYS9zcmMvdGVzdC9tb2R1 bGVzL3Rlc3RfanNvbl9wYXJzZXIvdGVzdF9qc29uX3BhcnNlcl9pbmNyZW1lbnRhbC5jIGIv c3JjL3Rlc3QvbW9kdWxlcy90ZXN0X2pzb25fcGFyc2VyL3Rlc3RfanNvbl9wYXJzZXJfaW5j cmVtZW50YWwuYwppbmRleCA2YmM1NTlmN2JmOC4uOGZiZDE4MGM4NjEgMTAwNjQ0Ci0tLSBh L3NyYy90ZXN0L21vZHVsZXMvdGVzdF9qc29uX3BhcnNlci90ZXN0X2pzb25fcGFyc2VyX2lu Y3JlbWVudGFsLmMKKysrIGIvc3JjL3Rlc3QvbW9kdWxlcy90ZXN0X2pzb25fcGFyc2VyL3Rl c3RfanNvbl9wYXJzZXJfaW5jcmVtZW50YWwuYwpAQCAtMTEzLDcgKzExMyw3IEBAIG1haW4o aW50IGFyZ2MsIGNoYXIgKiphcmd2KQogCQl7CiAJCQljYXNlICdyJzoJCQkvKiBjaHVuayBy YW5nZSAqLwogCQkJCXJ1bl9jaHVua19yYW5nZXMgPSB0cnVlOwotCQkJCS8qIGZhbGwgdGhy b3VnaCAqLworCQkJCXBnX2ZhbGx0aHJvdWdoOwogCQkJY2FzZSAnYyc6CQkJLyogY2h1bmsg c2l6ZSAqLwogCQkJCWNodW5rX3NpemUgPSBzdHJ0b3U2NChvcHRhcmcsIE5VTEwsIDEwKTsK IAkJCQlpZiAoY2h1bmtfc2l6ZSA+IEJVRlNJWkUpCmRpZmYgLS1naXQgYS9zcmMvdGltZXpv bmUvemljLmMgYi9zcmMvdGltZXpvbmUvemljLmMKaW5kZXggOGRjYzdiMzM3YTcuLjJmMzY0 ODZhMzUwIDEwMDY0NAotLS0gYS9zcmMvdGltZXpvbmUvemljLmMKKysrIGIvc3JjL3RpbWV6 b25lL3ppYy5jCkBAIC0xMzk1LDE5ICsxMzk1LDE5IEBAIGdldGhtcyhjaGFyIGNvbnN0ICpz dHJpbmcsIGNoYXIgY29uc3QgKmVycnN0cmluZykKIAkJCWJyZWFrOwogCQljYXNlIDg6CiAJ CQlvayA9ICcwJyA8PSB4ciAmJiB4ciA8PSAnOSc7Ci0JCQkvKiBmYWxsdGhyb3VnaCAqLwor CQkJcGdfZmFsbHRocm91Z2g7CiAJCWNhc2UgNzoKIAkJCW9rICY9IHNzeCA9PSAnLic7CiAJ CQlpZiAob2sgJiYgbm9pc2UpCiAJCQkJd2FybmluZyhfKCJmcmFjdGlvbmFsIHNlY29uZHMg cmVqZWN0ZWQgYnkiCiAJCQkJCQkgICIgcHJlLTIwMTggdmVyc2lvbnMgb2YgemljIikpOwot CQkJLyogZmFsbHRocm91Z2ggKi8KKwkJCXBnX2ZhbGx0aHJvdWdoOwogCQljYXNlIDU6CiAJ CQlvayAmPSBtbXggPT0gJzonOwotCQkJLyogZmFsbHRocm91Z2ggKi8KKwkJCXBnX2ZhbGx0 aHJvdWdoOwogCQljYXNlIDM6CiAJCQlvayAmPSBoaHggPT0gJzonOwotCQkJLyogZmFsbHRo cm91Z2ggKi8KKwkJCXBnX2ZhbGx0aHJvdWdoOwogCQljYXNlIDE6CiAJCQlicmVhazsKIAl9 CmRpZmYgLS1naXQgYS9zcmMvdG9vbHMvcGdfYnNkX2luZGVudC9pbmRlbnQuYyBiL3NyYy90 b29scy9wZ19ic2RfaW5kZW50L2luZGVudC5jCmluZGV4IDI2MjJjYzYyMjdhLi42ZTU1MGZm MzEwZiAxMDA2NDQKLS0tIGEvc3JjL3Rvb2xzL3BnX2JzZF9pbmRlbnQvaW5kZW50LmMKKysr IGIvc3JjL3Rvb2xzL3BnX2JzZF9pbmRlbnQvaW5kZW50LmMKQEAgLTM1Miw3ICszNTIsNyBA QCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikKIAkJICAgIH0KIAkJICAgIGdvdG8gc3df YnVmZmVyOwogCQl9Ci0JCS8qIEZBTExUSFJPVUdIICovCisJCXBnX2ZhbGx0aHJvdWdoOwog CSAgICBkZWZhdWx0OgkJLyogaXQgaXMgdGhlIHN0YXJ0IG9mIGEgbm9ybWFsIHN0YXRlbWVu dCAqLwogCQl7CiAJCSAgICBpbnQgcmVtb3ZlX25ld2xpbmVzOwpAQCAtOTIyLDcgKzkyMiw3 IEBAIG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQogCWNhc2Ugc3RydWN0dXJlOgogCSAg ICBpZiAocHMucF9sX2ZvbGxvdyA+IDApCiAJCWdvdG8gY29weV9pZDsKLQkJLyogRkFMTFRI Uk9VR0ggKi8KKwkgICAgcGdfZmFsbHRocm91Z2g7CiAJY2FzZSBkZWNsOgkJLyogd2UgaGF2 ZSBhIGRlY2xhcmF0aW9uIHR5cGUgKGludCwgZXRjLikgKi8KIAkgICAgcGFyc2UoZGVjbCk7 CS8qIGxldCBwYXJzZXIgd29ycnkgYWJvdXQgaW5kZW50YXRpb24gKi8KIAkgICAgaWYgKHBz Lmxhc3RfdG9rZW4gPT0gcnBhcmVuICYmIHBzLnRvcyA8PSAxKSB7CmRpZmYgLS1naXQgYS9z cmMvdG9vbHMvcGdfYnNkX2luZGVudC9wYXJzZS5jIGIvc3JjL3Rvb2xzL3BnX2JzZF9pbmRl bnQvcGFyc2UuYwppbmRleCBlNzA3ZGE2MzljNy4uOTRjZWE3MjQzOTMgMTAwNjQ0Ci0tLSBh L3NyYy90b29scy9wZ19ic2RfaW5kZW50L3BhcnNlLmMKKysrIGIvc3JjL3Rvb2xzL3BnX2Jz ZF9pbmRlbnQvcGFyc2UuYwpAQCAtOTYsNyArOTYsNyBAQCBwYXJzZShpbnQgdGspIC8qIHRr OiB0aGUgY29kZSBmb3IgdGhlIGNvbnN0cnVjdCBzY2FubmVkICovCiAJCSAqLwogCQlwcy5p X2xfZm9sbG93ID0gcHMuaWxbcHMudG9zLS1dOwogCS8qIHRoZSByZXN0IGlzIHRoZSBzYW1l IGFzIGZvciBkb2xpdCBhbmQgZm9yc3RtdCAqLwotCS8qIEZBTExUSFJPVUdIICovCisJcGdf ZmFsbHRocm91Z2g7CiAgICAgY2FzZSBkb2xpdDoJCS8qICdkbycgKi8KICAgICBjYXNlIGZv cnN0bXQ6CQkvKiBmb3IgKC4uLikgKi8KIAlwcy5wX3N0YWNrWysrcHMudG9zXSA9IHRrOwpA QCAtMzAzLDcgKzMwMyw3IEBAIHJlZHVjZSh2b2lkKQogCSAgICBjYXNlIHN3c3RtdDoKIAkJ LyogPHN3aXRjaD4gPHN0bXQ+ICovCiAJCWNhc2VfaW5kID0gcHMuY3N0a1twcy50b3MgLSAx XTsKLQkJLyogRkFMTFRIUk9VR0ggKi8KKwkJcGdfZmFsbHRocm91Z2g7CiAJICAgIGNhc2Ug ZGVjbDoJCS8qIGZpbmlzaCBvZiBhIGRlY2xhcmF0aW9uICovCiAJICAgIGNhc2UgZWxzZWhl YWQ6CiAJCS8qIDw8aWY+IDxzdG10PiBlbHNlPiA8c3RtdD4gKi8KLS0gCjIuNTIuMAoK --------------1EPsrrAej0Whktj7gp5KeTEG Content-Type: text/plain; charset=UTF-8; name="0003-Enable-Wimplicit-fallthrough-option-for-clang.patch" Content-Disposition: attachment; filename="0003-Enable-Wimplicit-fallthrough-option-for-clang.patch" Content-Transfer-Encoding: base64 RnJvbSA2YTQwNjJiM2E3N2Y5M2E3NWI0YmUzNjNjMDk1OGVhNzA4ZDMwYjIzIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQZXRlciBFaXNlbnRyYXV0IDxwZXRlckBlaXNlbnRy YXV0Lm9yZz4KRGF0ZTogVHVlLCAyMCBKYW4gMjAyNiAxMTozNToxNiArMDEwMApTdWJqZWN0 OiBbUEFUQ0ggMy81XSBFbmFibGUgLVdpbXBsaWNpdC1mYWxsdGhyb3VnaCBvcHRpb24gZm9y IGNsYW5nCgpPbiBjbGFuZywgLVdpbXBsaWNpdC1mYWxsdGhyb3VnaCByZXF1aXJlcyBhbm5v dGF0aW9ucyB3aXRoIGF0dHJpYnV0ZXMsCmJ1dCBvbiBnY2MsIC1XaW1wbGljaXQtZmFsbHRo cm91Z2ggaXMgdGhlIHNhbWUgYXMKLVdpbXBsaWNpdC1mYWxsdGhyb3VnaD0zLCB3aGljaCBh bGxvd3MgYW5ub3RhdGlvbnMgd2l0aCBjb21tZW50cy4gIEluCm9yZGVyIHRvIGVuZm9yY2Ug Y29uc2lzdGVudCBhbm5vdGF0aW9ucyB3aXRoIGF0dHJpYnV0ZXMgb24gYm90aApjb21waWxl cnMsIHdlIHRlc3QgZmlyc3QgZm9yIC1XaW1wbGljaXQtZmFsbHRocm91Z2g9NSwgd2hpY2gg d2lsbApzdWNjZWVkIG9uIGdjYywgYW5kIGlmIHRoYXQgaXMgbm90IGZvdW5kIHdlIHRlc3Qg Zm9yCi1XaW1wbGljaXQtZmFsbHRocm91Z2guCi0tLQogY29uZmlndXJlICAgIHwgMTAzICsr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogY29u ZmlndXJlLmFjIHwgIDE0ICsrKysrKysKIG1lc29uLmJ1aWxkICB8ICAxOCArKysrKysrKy0K IDMgZmlsZXMgY2hhbmdlZCwgMTM0IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKCmRp ZmYgLS1naXQgYS9jb25maWd1cmUgYi9jb25maWd1cmUKaW5kZXggNGY0MWIxYmEwMDcuLjVl YzQwNDg3NTFmIDEwMDc1NQotLS0gYS9jb25maWd1cmUKKysrIGIvY29uZmlndXJlCkBAIC01 NTI0LDYgKzU1MjQsMTIgQEAgZmkKIAogCiAKKyAgIyBUbyByZXF1aXJlIGZhbGx0aHJvdWdo IGF0dHJpYnV0ZSBhbm5vdGF0aW9ucywgdXNlCisgICMgLVdpbXBsaWNpdC1mYWxsdGhyb3Vn aD01IHdpdGggZ2NjIGFuZCAtV2ltcGxpY2l0LWZhbGx0aHJvdWdoIHdpdGgKKyAgIyBjbGFu Zy4gIFRoZSBsYXR0ZXIgaXMgYWxzbyBhY2NlcHRlZCBvbiBnY2MgYnV0IGRvZXMgbm90IGVu Zm9yY2UKKyAgIyBhdHRyaWJ1dGUgYW5ub3RhdGlvbnMsIHNvIHRlc3QgdGhlIGZvcm1lciBm aXJzdC4KKyAgc2F2ZV9DRkxBR1M9JENGTEFHUworCiB7ICRhc19lY2hvICIkYXNfbWU6JHth c19saW5lbm8tJExJTkVOT306IGNoZWNraW5nIHdoZXRoZXIgJHtDQ30gc3VwcG9ydHMgLVdp bXBsaWNpdC1mYWxsdGhyb3VnaD01LCBmb3IgQ0ZMQUdTIiA+JjUKICRhc19lY2hvX24gImNo ZWNraW5nIHdoZXRoZXIgJHtDQ30gc3VwcG9ydHMgLVdpbXBsaWNpdC1mYWxsdGhyb3VnaD01 LCBmb3IgQ0ZMQUdTLi4uICIgPiY2OyB9CiBpZiAke3BnYWNfY3ZfcHJvZ19DQ19jZmxhZ3Nf X1dpbXBsaWNpdF9mYWxsdGhyb3VnaF81Kzp9IGZhbHNlOyB0aGVuIDoKQEAgLTU1NjMsNiAr NTU2OSw0OSBAQCBpZiB0ZXN0IHgiJHBnYWNfY3ZfcHJvZ19DQ19jZmxhZ3NfX1dpbXBsaWNp dF9mYWxsdGhyb3VnaF81IiA9IHgieWVzIjsgdGhlbgogZmkKIAogCisgIGlmIHRlc3QgeCIk c2F2ZV9DRkxBR1MiID0geCIkQ0ZMQUdTIjsgdGhlbgorCit7ICRhc19lY2hvICIkYXNfbWU6 JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5nIHdoZXRoZXIgJHtDQ30gc3VwcG9ydHMg LVdpbXBsaWNpdC1mYWxsdGhyb3VnaCwgZm9yIENGTEFHUyIgPiY1CiskYXNfZWNob19uICJj aGVja2luZyB3aGV0aGVyICR7Q0N9IHN1cHBvcnRzIC1XaW1wbGljaXQtZmFsbHRocm91Z2gs IGZvciBDRkxBR1MuLi4gIiA+JjY7IH0KK2lmICR7cGdhY19jdl9wcm9nX0NDX2NmbGFnc19f V2ltcGxpY2l0X2ZhbGx0aHJvdWdoKzp9IGZhbHNlOyB0aGVuIDoKKyAgJGFzX2VjaG9fbiAi KGNhY2hlZCkgIiA+JjYKK2Vsc2UKKyAgcGdhY19zYXZlX0NGTEFHUz0kQ0ZMQUdTCitwZ2Fj X3NhdmVfQ0M9JENDCitDQz0ke0NDfQorQ0ZMQUdTPSIke0NGTEFHU30gLVdpbXBsaWNpdC1m YWxsdGhyb3VnaCIKK2FjX3NhdmVfY193ZXJyb3JfZmxhZz0kYWNfY193ZXJyb3JfZmxhZwor YWNfY193ZXJyb3JfZmxhZz15ZXMKK2NhdCBjb25mZGVmcy5oIC0gPDxfQUNFT0YgPmNvbmZ0 ZXN0LiRhY19leHQKKy8qIGVuZCBjb25mZGVmcy5oLiAgKi8KKworaW50CittYWluICgpCit7 CisKKyAgOworICByZXR1cm4gMDsKK30KK19BQ0VPRgoraWYgYWNfZm5fY190cnlfY29tcGls ZSAiJExJTkVOTyI7IHRoZW4gOgorICBwZ2FjX2N2X3Byb2dfQ0NfY2ZsYWdzX19XaW1wbGlj aXRfZmFsbHRocm91Z2g9eWVzCitlbHNlCisgIHBnYWNfY3ZfcHJvZ19DQ19jZmxhZ3NfX1dp bXBsaWNpdF9mYWxsdGhyb3VnaD1ubworZmkKK3JtIC1mIGNvcmUgY29uZnRlc3QuZXJyIGNv bmZ0ZXN0LiRhY19vYmpleHQgY29uZnRlc3QuJGFjX2V4dAorYWNfY193ZXJyb3JfZmxhZz0k YWNfc2F2ZV9jX3dlcnJvcl9mbGFnCitDRkxBR1M9IiRwZ2FjX3NhdmVfQ0ZMQUdTIgorQ0M9 IiRwZ2FjX3NhdmVfQ0MiCitmaQoreyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRM SU5FTk99OiByZXN1bHQ6ICRwZ2FjX2N2X3Byb2dfQ0NfY2ZsYWdzX19XaW1wbGljaXRfZmFs bHRocm91Z2giID4mNQorJGFzX2VjaG8gIiRwZ2FjX2N2X3Byb2dfQ0NfY2ZsYWdzX19XaW1w bGljaXRfZmFsbHRocm91Z2giID4mNjsgfQoraWYgdGVzdCB4IiRwZ2FjX2N2X3Byb2dfQ0Nf Y2ZsYWdzX19XaW1wbGljaXRfZmFsbHRocm91Z2giID0geCJ5ZXMiOyB0aGVuCisgIENGTEFH Uz0iJHtDRkxBR1N9IC1XaW1wbGljaXQtZmFsbHRocm91Z2giCitmaQorCisKKyAgZmkKKyAg c2F2ZV9DWFhGTEFHUz0kQ1hYRkxBR1MKICAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGlu ZW5vLSRMSU5FTk99OiBjaGVja2luZyB3aGV0aGVyICR7Q1hYfSBzdXBwb3J0cyAtV2ltcGxp Y2l0LWZhbGx0aHJvdWdoPTUsIGZvciBDWFhGTEFHUyIgPiY1CiAkYXNfZWNob19uICJjaGVj a2luZyB3aGV0aGVyICR7Q1hYfSBzdXBwb3J0cyAtV2ltcGxpY2l0LWZhbGx0aHJvdWdoPTUs IGZvciBDWFhGTEFHUy4uLiAiID4mNjsgfQogaWYgJHtwZ2FjX2N2X3Byb2dfQ1hYX2N4eGZs YWdzX19XaW1wbGljaXRfZmFsbHRocm91Z2hfNSs6fSBmYWxzZTsgdGhlbiA6CkBAIC01NjE0 LDYgKzU2NjMsNjAgQEAgaWYgdGVzdCB4IiRwZ2FjX2N2X3Byb2dfQ1hYX2N4eGZsYWdzX19X aW1wbGljaXRfZmFsbHRocm91Z2hfNSIgPSB4InllcyI7IHRoZW4KIGZpCiAKIAorICBpZiB0 ZXN0IHgiJHNhdmVfQ1hYRkxBR1MiID0geCIkQ1hYRkxBR1MiOyB0aGVuCisgICAgeyAkYXNf ZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2luZyB3aGV0aGVyICR7 Q1hYfSBzdXBwb3J0cyAtV2ltcGxpY2l0LWZhbGx0aHJvdWdoLCBmb3IgQ1hYRkxBR1MiID4m NQorJGFzX2VjaG9fbiAiY2hlY2tpbmcgd2hldGhlciAke0NYWH0gc3VwcG9ydHMgLVdpbXBs aWNpdC1mYWxsdGhyb3VnaCwgZm9yIENYWEZMQUdTLi4uICIgPiY2OyB9CitpZiAke3BnYWNf Y3ZfcHJvZ19DWFhfY3h4ZmxhZ3NfX1dpbXBsaWNpdF9mYWxsdGhyb3VnaCs6fSBmYWxzZTsg dGhlbiA6CisgICRhc19lY2hvX24gIihjYWNoZWQpICIgPiY2CitlbHNlCisgIHBnYWNfc2F2 ZV9DWFhGTEFHUz0kQ1hYRkxBR1MKK3BnYWNfc2F2ZV9DWFg9JENYWAorQ1hYPSR7Q1hYfQor Q1hYRkxBR1M9IiR7Q1hYRkxBR1N9IC1XaW1wbGljaXQtZmFsbHRocm91Z2giCithY19zYXZl X2N4eF93ZXJyb3JfZmxhZz0kYWNfY3h4X3dlcnJvcl9mbGFnCithY19jeHhfd2Vycm9yX2Zs YWc9eWVzCithY19leHQ9Y3BwCithY19jcHA9JyRDWFhDUFAgJENQUEZMQUdTJworYWNfY29t cGlsZT0nJENYWCAtYyAkQ1hYRkxBR1MgJENQUEZMQUdTIGNvbmZ0ZXN0LiRhY19leHQgPiY1 JworYWNfbGluaz0nJENYWCAtbyBjb25mdGVzdCRhY19leGVleHQgJENYWEZMQUdTICRDUFBG TEFHUyAkTERGTEFHUyBjb25mdGVzdC4kYWNfZXh0ICRMSUJTID4mNScKK2FjX2NvbXBpbGVy X2dudT0kYWNfY3ZfY3h4X2NvbXBpbGVyX2dudQorCitjYXQgY29uZmRlZnMuaCAtIDw8X0FD RU9GID5jb25mdGVzdC4kYWNfZXh0CisvKiBlbmQgY29uZmRlZnMuaC4gICovCisKK2ludAor bWFpbiAoKQoreworCisgIDsKKyAgcmV0dXJuIDA7Cit9CitfQUNFT0YKK2lmIGFjX2ZuX2N4 eF90cnlfY29tcGlsZSAiJExJTkVOTyI7IHRoZW4gOgorICBwZ2FjX2N2X3Byb2dfQ1hYX2N4 eGZsYWdzX19XaW1wbGljaXRfZmFsbHRocm91Z2g9eWVzCitlbHNlCisgIHBnYWNfY3ZfcHJv Z19DWFhfY3h4ZmxhZ3NfX1dpbXBsaWNpdF9mYWxsdGhyb3VnaD1ubworZmkKK3JtIC1mIGNv cmUgY29uZnRlc3QuZXJyIGNvbmZ0ZXN0LiRhY19vYmpleHQgY29uZnRlc3QuJGFjX2V4dAor YWNfZXh0PWMKK2FjX2NwcD0nJENQUCAkQ1BQRkxBR1MnCithY19jb21waWxlPSckQ0MgLWMg JENGTEFHUyAkQ1BQRkxBR1MgY29uZnRlc3QuJGFjX2V4dCA+JjUnCithY19saW5rPSckQ0Mg LW8gY29uZnRlc3QkYWNfZXhlZXh0ICRDRkxBR1MgJENQUEZMQUdTICRMREZMQUdTIGNvbmZ0 ZXN0LiRhY19leHQgJExJQlMgPiY1JworYWNfY29tcGlsZXJfZ251PSRhY19jdl9jX2NvbXBp bGVyX2dudQorCithY19jeHhfd2Vycm9yX2ZsYWc9JGFjX3NhdmVfY3h4X3dlcnJvcl9mbGFn CitDWFhGTEFHUz0iJHBnYWNfc2F2ZV9DWFhGTEFHUyIKK0NYWD0iJHBnYWNfc2F2ZV9DWFgi CitmaQoreyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6 ICRwZ2FjX2N2X3Byb2dfQ1hYX2N4eGZsYWdzX19XaW1wbGljaXRfZmFsbHRocm91Z2giID4m NQorJGFzX2VjaG8gIiRwZ2FjX2N2X3Byb2dfQ1hYX2N4eGZsYWdzX19XaW1wbGljaXRfZmFs bHRocm91Z2giID4mNjsgfQoraWYgdGVzdCB4IiRwZ2FjX2N2X3Byb2dfQ1hYX2N4eGZsYWdz X19XaW1wbGljaXRfZmFsbHRocm91Z2giID0geCJ5ZXMiOyB0aGVuCisgIENYWEZMQUdTPSIk e0NYWEZMQUdTfSAtV2ltcGxpY2l0LWZhbGx0aHJvdWdoIgorZmkKKworCisgIGZpCisKIAog eyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2luZyB3aGV0 aGVyICR7Q0N9IHN1cHBvcnRzIC1XY2FzdC1mdW5jdGlvbi10eXBlLCBmb3IgQ0ZMQUdTIiA+ JjUKICRhc19lY2hvX24gImNoZWNraW5nIHdoZXRoZXIgJHtDQ30gc3VwcG9ydHMgLVdjYXN0 LWZ1bmN0aW9uLXR5cGUsIGZvciBDRkxBR1MuLi4gIiA+JjY7IH0KZGlmZiAtLWdpdCBhL2Nv bmZpZ3VyZS5hYyBiL2NvbmZpZ3VyZS5hYwppbmRleCA5MzUwMzc1Mzk3MS4uMWQyMGI1MjZi ODQgMTAwNjQ0Ci0tLSBhL2NvbmZpZ3VyZS5hYworKysgYi9jb25maWd1cmUuYWMKQEAgLTUx Niw4ICs1MTYsMjIgQEAgaWYgdGVzdCAiJEdDQyIgPSB5ZXMgLWEgIiRJQ0MiID0gbm87IHRo ZW4KICAgUEdBQ19QUk9HX0NYWF9DRkxBR1NfT1BUKFstV2VuZGlmLWxhYmVsc10pCiAgIFBH QUNfUFJPR19DQ19DRkxBR1NfT1BUKFstV21pc3NpbmctZm9ybWF0LWF0dHJpYnV0ZV0pCiAg IFBHQUNfUFJPR19DWFhfQ0ZMQUdTX09QVChbLVdtaXNzaW5nLWZvcm1hdC1hdHRyaWJ1dGVd KQorCisgICMgVG8gcmVxdWlyZSBmYWxsdGhyb3VnaCBhdHRyaWJ1dGUgYW5ub3RhdGlvbnMs IHVzZQorICAjIC1XaW1wbGljaXQtZmFsbHRocm91Z2g9NSB3aXRoIGdjYyBhbmQgLVdpbXBs aWNpdC1mYWxsdGhyb3VnaCB3aXRoCisgICMgY2xhbmcuICBUaGUgbGF0dGVyIGlzIGFsc28g YWNjZXB0ZWQgb24gZ2NjIGJ1dCBkb2VzIG5vdCBlbmZvcmNlCisgICMgYXR0cmlidXRlIGFu bm90YXRpb25zLCBzbyB0ZXN0IHRoZSBmb3JtZXIgZmlyc3QuCisgIHNhdmVfQ0ZMQUdTPSRD RkxBR1MKICAgUEdBQ19QUk9HX0NDX0NGTEFHU19PUFQoWy1XaW1wbGljaXQtZmFsbHRocm91 Z2g9NV0pCisgIGlmIHRlc3QgeCIkc2F2ZV9DRkxBR1MiID0geCIkQ0ZMQUdTIjsgdGhlbgor ICAgIFBHQUNfUFJPR19DQ19DRkxBR1NfT1BUKFstV2ltcGxpY2l0LWZhbGx0aHJvdWdoXSkK KyAgZmkKKyAgc2F2ZV9DWFhGTEFHUz0kQ1hYRkxBR1MKICAgUEdBQ19QUk9HX0NYWF9DRkxB R1NfT1BUKFstV2ltcGxpY2l0LWZhbGx0aHJvdWdoPTVdKQorICBpZiB0ZXN0IHgiJHNhdmVf Q1hYRkxBR1MiID0geCIkQ1hYRkxBR1MiOyB0aGVuCisgICAgUEdBQ19QUk9HX0NYWF9DRkxB R1NfT1BUKFstV2ltcGxpY2l0LWZhbGx0aHJvdWdoXSkKKyAgZmkKKwogICBQR0FDX1BST0df Q0NfQ0ZMQUdTX09QVChbLVdjYXN0LWZ1bmN0aW9uLXR5cGVdKQogICBQR0FDX1BST0dfQ1hY X0NGTEFHU19PUFQoWy1XY2FzdC1mdW5jdGlvbi10eXBlXSkKICAgUEdBQ19QUk9HX0NDX0NG TEFHU19PUFQoWy1Xc2hhZG93PWNvbXBhdGlibGUtbG9jYWxdKQpkaWZmIC0tZ2l0IGEvbWVz b24uYnVpbGQgYi9tZXNvbi5idWlsZAppbmRleCBmNDI4MzcxYTRjNC4uOWM0ZGYxZjEwMzEg MTAwNjQ0Ci0tLSBhL21lc29uLmJ1aWxkCisrKyBiL21lc29uLmJ1aWxkCkBAIC0yMTI1LDcg KzIxMjUsNiBAQCBjb21tb25fd2FybmluZ19mbGFncyA9IFsKICAgJy1XZXJyb3I9dW5ndWFy ZGVkLWF2YWlsYWJpbGl0eS1uZXcnLAogICAnLVdlbmRpZi1sYWJlbHMnLAogICAnLVdtaXNz aW5nLWZvcm1hdC1hdHRyaWJ1dGUnLAotICAnLVdpbXBsaWNpdC1mYWxsdGhyb3VnaD01JywK ICAgJy1XY2FzdC1mdW5jdGlvbi10eXBlJywKICAgJy1Xc2hhZG93PWNvbXBhdGlibGUtbG9j YWwnLAogICAjIFRoaXMgd2FzIGluY2x1ZGVkIGluIC1XYWxsLy1XZm9ybWF0IGluIG9sZGVy IEdDQyB2ZXJzaW9ucwpAQCAtMjEzNyw2ICsyMTM2LDIzIEBAIGlmIGhhdmVfY3h4CiAgIGN4 eGZsYWdzX3dhcm4gKz0gY3h4LmdldF9zdXBwb3J0ZWRfYXJndW1lbnRzKGNvbW1vbl93YXJu aW5nX2ZsYWdzKQogZW5kaWYKIAorIyBUbyByZXF1aXJlIGZhbGx0aHJvdWdoIGF0dHJpYnV0 ZSBhbm5vdGF0aW9ucywgdXNlCisjIC1XaW1wbGljaXQtZmFsbHRocm91Z2g9NSB3aXRoIGdj YyBhbmQgLVdpbXBsaWNpdC1mYWxsdGhyb3VnaCB3aXRoCisjIGNsYW5nLiAgVGhlIGxhdHRl ciBpcyBhbHNvIGFjY2VwdGVkIG9uIGdjYyBidXQgZG9lcyBub3QgZW5mb3JjZQorIyBhdHRy aWJ1dGUgYW5ub3RhdGlvbnMsIHNvIHRlc3QgdGhlIGZvcm1lciBmaXJzdC4KK2ZhbGx0aHJv dWdoX3dhcm5pbmdfZmxhZ3MgPSBbJy1XaW1wbGljaXQtZmFsbHRocm91Z2g9NScsICctV2lt cGxpY2l0LWZhbGx0aHJvdWdoJ10KK2ZvcmVhY2ggdyA6IGZhbGx0aHJvdWdoX3dhcm5pbmdf ZmxhZ3MKKyAgaWYgY2MuaGFzX2FyZ3VtZW50KHcpCisgICAgY2ZsYWdzX3dhcm4gKz0gdwor ICAgIGJyZWFrCisgIGVuZGlmCitlbmRmb3JlYWNoCitmb3JlYWNoIHcgOiBmYWxsdGhyb3Vn aF93YXJuaW5nX2ZsYWdzCisgIGlmIGhhdmVfY3h4IGFuZCBjeHguaGFzX2FyZ3VtZW50KHcp CisgICAgY3h4ZmxhZ3Nfd2FybiArPSB3CisgIGVuZGlmCitlbmRmb3JlYWNoCisKICMgQSBm ZXcgcGxhY2VzIHdpdGggaW1wb3J0ZWQgY29kZSBnZXQgYSBwYXNzIG9uIC1XZGVjbGFyYXRp b24tYWZ0ZXItc3RhdGVtZW50LCByZW1lbWJlcgogIyB0aGUgcmVzdWx0IGZvciB0aGVtCiBj ZmxhZ3Nfbm9fZGVjbF9hZnRlcl9zdGF0ZW1lbnQgPSBbXQotLSAKMi41Mi4wCgo= --------------1EPsrrAej0Whktj7gp5KeTEG Content-Type: text/plain; charset=UTF-8; name="0004-Fix-additional-fallthrough-warnings-from-clang.patch" Content-Disposition: attachment; filename*0="0004-Fix-additional-fallthrough-warnings-from-clang.patch" Content-Transfer-Encoding: base64 RnJvbSA5YWIxMzQ1M2VmZmU3NzQ3MjgwYmE2NTBhNjFkOTdjZWZiMTU5OWU4IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQZXRlciBFaXNlbnRyYXV0IDxwZXRlckBlaXNlbnRy YXV0Lm9yZz4KRGF0ZTogVHVlLCAyMCBKYW4gMjAyNiAxMTozNToxNiArMDEwMApTdWJqZWN0 OiBbUEFUQ0ggNC81XSBGaXggYWRkaXRpb25hbCBmYWxsdGhyb3VnaCB3YXJuaW5ncyBmcm9t IGNsYW5nCgpDbGFuZyB3YXJucyBpZiBmYWxsaW5nIHRocm91Z2ggdG8gYSBjYXNlIG9yIGRl ZmF1bHQgbGFiZWwgdGhhdCBpcwppbW1lZGlhdGVseSBmb2xsb3dlZCBieSBicmVhaywgYnV0 IEdDQyBkb2VzCm5vdCAoaHR0cHM6Ly9nY2MuZ251Lm9yZy9idWd6aWxsYS9zaG93X2J1Zy5j Z2k/aWQ9OTE0MzIpLiAgKE1TVkMgYWxzbwp3YXJucyBhYm91dCB0aGUgZXF1aXZhbGVudCBj b2RlIGluIEMrKy4pCi0tLQogY29udHJpYi9pc24vaXNuLmMgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHwgMSArCiBjb250cmliL3BnX292ZXJleHBsYWlu L3BnX292ZXJleHBsYWluLmMgICAgICAgICAgICAgICAgICAgICAgfCAxICsKIHNyYy9iYWNr ZW5kL2FjY2Vzcy90cmFuc2FtL3hsb2dyZWNvdmVyeS5jICAgICAgICAgICAgICAgICAgICB8 IDEgKwogc3JjL2JhY2tlbmQvcmVwbGljYXRpb24vbG9naWNhbC9kZWNvZGUuYyAgICAgICAg ICAgICAgICAgICAgIHwgMyArLS0KIHNyYy9iYWNrZW5kL3Rjb3AvZGVzdC5jICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IDEgKwogc3JjL2JhY2tlbmQvdXRpbHMv bWIvY29udmVyc2lvbl9wcm9jcy9ldWNfdHdfYW5kX2JpZzUvYmlnNS5jIHwgMSArCiBzcmMv cGwvcGxwZ3NxbC9zcmMvcGxfY29tcC5jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgfCAxICsKIHNyYy90b29scy9wZ19ic2RfaW5kZW50L2luZGVudC5jICAgICAgICAgICAg ICAgICAgICAgICAgICAgICB8IDEgKwogOCBmaWxlcyBjaGFuZ2VkLCA4IGluc2VydGlvbnMo KyksIDIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvY29udHJpYi9pc24vaXNuLmMgYi9j b250cmliL2lzbi9pc24uYwppbmRleCAwMGJiODE0YzUyNi4uYmJlNDM0NGU2YWQgMTAwNjQ0 Ci0tLSBhL2NvbnRyaWIvaXNuL2lzbi5jCisrKyBiL2NvbnRyaWIvaXNuL2lzbi5jCkBAIC04 MzcsNiArODM3LDcgQEAgc3RyaW5nMmVhbihjb25zdCBjaGFyICpzdHIsIHN0cnVjdCBOb2Rl ICplc2NvbnRleHQsIGVhbjEzICpyZXN1bHQsCiAJCWNhc2UgVVBDOgogCQkJYnVmWzJdID0g JzAnOwogCQkJdmFsaWQgPSAodmFsaWQgJiYgKChyY2hlY2sgPSBjaGVja2RpZyhidWYgKyAy LCAxMykpID09IGNoZWNrIHx8IG1hZ2ljKSk7CisJCQlicmVhazsKIAkJZGVmYXVsdDoKIAkJ CWJyZWFrOwogCX0KZGlmZiAtLWdpdCBhL2NvbnRyaWIvcGdfb3ZlcmV4cGxhaW4vcGdfb3Zl cmV4cGxhaW4uYyBiL2NvbnRyaWIvcGdfb3ZlcmV4cGxhaW4vcGdfb3ZlcmV4cGxhaW4uYwpp bmRleCAzMTZmZmQxYzg3Zi4uMGJiMzg5ODJjZWQgMTAwNjQ0Ci0tLSBhL2NvbnRyaWIvcGdf b3ZlcmV4cGxhaW4vcGdfb3ZlcmV4cGxhaW4uYworKysgYi9jb250cmliL3BnX292ZXJleHBs YWluL3BnX292ZXJleHBsYWluLmMKQEAgLTI0OCw2ICsyNDgsNyBAQCBvdmVyZXhwbGFpbl9w ZXJfbm9kZV9ob29rKFBsYW5TdGF0ZSAqcGxhbnN0YXRlLCBMaXN0ICphbmNlc3RvcnMsCiAJ CQkJCW92ZXJleHBsYWluX2JpdG1hcHNldCgiUlRJcyIsCiAJCQkJCQkJCQkJICAoKFJlc3Vs dCAqKSBwbGFuKS0+cmVsaWRzLAogCQkJCQkJCQkJCSAgZXMpOworCQkJCWJyZWFrOwogCQkJ ZGVmYXVsdDoKIAkJCQlicmVhazsKIAkJfQpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvYWNj ZXNzL3RyYW5zYW0veGxvZ3JlY292ZXJ5LmMgYi9zcmMvYmFja2VuZC9hY2Nlc3MvdHJhbnNh bS94bG9ncmVjb3ZlcnkuYwppbmRleCAxMTdkOGQ4YmI2Yi4uNDFjNTVhZWY1NzYgMTAwNjQ0 Ci0tLSBhL3NyYy9iYWNrZW5kL2FjY2Vzcy90cmFuc2FtL3hsb2dyZWNvdmVyeS5jCisrKyBi L3NyYy9iYWNrZW5kL2FjY2Vzcy90cmFuc2FtL3hsb2dyZWNvdmVyeS5jCkBAIC0xODkzLDYg KzE4OTMsNyBAQCBQZXJmb3JtV2FsUmVjb3Zlcnkodm9pZCkKIAkJCQkJcmVjb3ZlcnlQYXVz ZXNIZXJlKHRydWUpOwogCiAJCQkJCS8qIGRyb3AgaW50byBwcm9tb3RlICovCisJCQkJCXBn X2ZhbGx0aHJvdWdoOwogCiAJCQkJY2FzZSBSRUNPVkVSWV9UQVJHRVRfQUNUSU9OX1BST01P VEU6CiAJCQkJCWJyZWFrOwpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvcmVwbGljYXRpb24v bG9naWNhbC9kZWNvZGUuYyBiL3NyYy9iYWNrZW5kL3JlcGxpY2F0aW9uL2xvZ2ljYWwvZGVj b2RlLmMKaW5kZXggZTI1ZGQ2YmMzNjYuLjMyZmI1MjI2OWM1IDEwMDY0NAotLS0gYS9zcmMv YmFja2VuZC9yZXBsaWNhdGlvbi9sb2dpY2FsL2RlY29kZS5jCisrKyBiL3NyYy9iYWNrZW5k L3JlcGxpY2F0aW9uL2xvZ2ljYWwvZGVjb2RlLmMKQEAgLTQzMCw5ICs0MzAsOCBAQCBoZWFw Ml9kZWNvZGUoTG9naWNhbERlY29kaW5nQ29udGV4dCAqY3R4LCBYTG9nUmVjb3JkQnVmZmVy ICpidWYpCiAKIAkJCQl4bHJlYyA9ICh4bF9oZWFwX25ld19jaWQgKikgWExvZ1JlY0dldERh dGEoYnVmLT5yZWNvcmQpOwogCQkJCVNuYXBCdWlsZFByb2Nlc3NOZXdDaWQoYnVpbGRlciwg eGlkLCBidWYtPm9yaWdwdHIsIHhscmVjKTsKLQotCQkJCWJyZWFrOwogCQkJfQorCQkJYnJl YWs7CiAJCWNhc2UgWExPR19IRUFQMl9SRVdSSVRFOgogCiAJCQkvKgpkaWZmIC0tZ2l0IGEv c3JjL2JhY2tlbmQvdGNvcC9kZXN0LmMgYi9zcmMvYmFja2VuZC90Y29wL2Rlc3QuYwppbmRl eCA5MzFjYzU2M2JhNi4uZmIxNjM5MzBjODkgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3Rj b3AvZGVzdC5jCisrKyBiL3NyYy9iYWNrZW5kL3Rjb3AvZGVzdC5jCkBAIC0xODAsNiArMTgw LDcgQEAgRW5kQ29tbWFuZChjb25zdCBRdWVyeUNvbXBsZXRpb24gKnFjLCBDb21tYW5kRGVz dCBkZXN0LCBib29sIGZvcmNlX3VuZGVjb3JhdGVkX28KIAkJCWxlbiA9IEJ1aWxkUXVlcnlD b21wbGV0aW9uU3RyaW5nKGNvbXBsZXRpb25UYWcsIHFjLAogCQkJCQkJCQkJCQkgZm9yY2Vf dW5kZWNvcmF0ZWRfb3V0cHV0KTsKIAkJCXBxX3B1dG1lc3NhZ2UoUHFNc2dfQ29tbWFuZENv bXBsZXRlLCBjb21wbGV0aW9uVGFnLCBsZW4gKyAxKTsKKwkJCWJyZWFrOwogCiAJCWNhc2Ug RGVzdE5vbmU6CiAJCWNhc2UgRGVzdERlYnVnOgpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQv dXRpbHMvbWIvY29udmVyc2lvbl9wcm9jcy9ldWNfdHdfYW5kX2JpZzUvYmlnNS5jIGIvc3Jj L2JhY2tlbmQvdXRpbHMvbWIvY29udmVyc2lvbl9wcm9jcy9ldWNfdHdfYW5kX2JpZzUvYmln NS5jCmluZGV4IDY4Zjc2YWE4Y2I4Li4yMWQ1NTUyM2FjZSAxMDA2NDQKLS0tIGEvc3JjL2Jh Y2tlbmQvdXRpbHMvbWIvY29udmVyc2lvbl9wcm9jcy9ldWNfdHdfYW5kX2JpZzUvYmlnNS5j CisrKyBiL3NyYy9iYWNrZW5kL3V0aWxzL21iL2NvbnZlcnNpb25fcHJvY3MvZXVjX3R3X2Fu ZF9iaWc1L2JpZzUuYwpAQCAtMzcwLDYgKzM3MCw3IEBAIENOU3RvQklHNSh1bnNpZ25lZCBz aG9ydCBjbnMsIHVuc2lnbmVkIGNoYXIgbGMpCiAJCQkJaWYgKGIxYzRbaV1bMV0gPT0gY25z KQogCQkJCQlyZXR1cm4gYjFjNFtpXVswXTsKIAkJCX0KKwkJCWJyZWFrOwogCQlkZWZhdWx0 OgogCQkJYnJlYWs7CiAJfQpkaWZmIC0tZ2l0IGEvc3JjL3BsL3BscGdzcWwvc3JjL3BsX2Nv bXAuYyBiL3NyYy9wbC9wbHBnc3FsL3NyYy9wbF9jb21wLmMKaW5kZXggN2Q2NDhjOTQxYzAu LjVlY2M3NzY2NzU3IDEwMDY0NAotLS0gYS9zcmMvcGwvcGxwZ3NxbC9zcmMvcGxfY29tcC5j CisrKyBiL3NyYy9wbC9wbHBnc3FsL3NyYy9wbF9jb21wLmMKQEAgLTIzMzMsNiArMjMzMyw3 IEBAIHBscGdzcWxfYWRkX2luaXRkYXR1bXMoaW50ICoqdmFybm9zKQogCQkJCQljYXNlIFBM UEdTUUxfRFRZUEVfVkFSOgogCQkJCQljYXNlIFBMUEdTUUxfRFRZUEVfUkVDOgogCQkJCQkJ KCp2YXJub3MpW24rK10gPSBwbHBnc3FsX0RhdHVtc1tpXS0+ZG5vOworCQkJCQkJYnJlYWs7 CiAKIAkJCQkJZGVmYXVsdDoKIAkJCQkJCWJyZWFrOwpkaWZmIC0tZ2l0IGEvc3JjL3Rvb2xz L3BnX2JzZF9pbmRlbnQvaW5kZW50LmMgYi9zcmMvdG9vbHMvcGdfYnNkX2luZGVudC9pbmRl bnQuYwppbmRleCA2ZTU1MGZmMzEwZi4uNDIxNTkyZGI5MjggMTAwNjQ0Ci0tLSBhL3NyYy90 b29scy9wZ19ic2RfaW5kZW50L2luZGVudC5jCisrKyBiL3NyYy90b29scy9wZ19ic2RfaW5k ZW50L2luZGVudC5jCkBAIC0yOTYsNiArMjk2LDcgQEAgbWFpbihpbnQgYXJnYywgY2hhciAq KmFyZ3YpCiAJCSAqIGRvbmUgZWFybGllci4KIAkJICovCiAJCWZvcmNlX25sID0gZmFsc2U7 CisJCWJyZWFrOwogCSAgICBjYXNlIGZvcm1fZmVlZDoKIAkJYnJlYWs7CiAJICAgIGNhc2Ug Y29tbWVudDoKLS0gCjIuNTIuMAoK --------------1EPsrrAej0Whktj7gp5KeTEG Content-Type: text/plain; charset=UTF-8; name="0005-Fix-additional-fallthrough-warning.patch" Content-Disposition: attachment; filename="0005-Fix-additional-fallthrough-warning.patch" Content-Transfer-Encoding: base64 RnJvbSBjNDI2MjUxOTI3NDEwZTgwZWVjNGM0MmZmNjBiODAyYjYxNmIxNWEzIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQZXRlciBFaXNlbnRyYXV0IDxwZXRlckBlaXNlbnRy YXV0Lm9yZz4KRGF0ZTogVHVlLCAyMCBKYW4gMjAyNiAxMTozNToxNiArMDEwMApTdWJqZWN0 OiBbUEFUQ0ggNS81XSBGaXggYWRkaXRpb25hbCBmYWxsdGhyb3VnaCB3YXJuaW5nCgpDbGFu ZyB3YXJucyBhYm91dCB0aGlzIG9uZSwgYnV0IEdDQyBkaWQgbm90LiAgKEFwcGFyZW50bHkg YSBidWcgaW4KR0NDOiBodHRwczovL2djYy5nbnUub3JnL2J1Z3ppbGxhL3Nob3dfYnVnLmNn aT9pZD0xMjI3OTYpCgpBcHBhcmVudGx5LCB0aGUgcHJldmlvdXMgImZhbGwgdGhyb3VnaCIg Y29tbWVudCB3YXMgaW50cm9kdWNlZAptYW51YWxseSBpbiBjb21taXQgZjc2ODkyYzlmZjdl IHdpdGhvdXQgdGhlIGNvbXBpbGVyIGFjdHVhbGx5IGFza2luZwpmb3IgaXQuCi0tLQogc3Jj L2Jpbi9zY3JpcHRzL3JlaW5kZXhkYi5jIHwgMiArLQogMSBmaWxlIGNoYW5nZWQsIDEgaW5z ZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvc3JjL2Jpbi9zY3JpcHRz L3JlaW5kZXhkYi5jIGIvc3JjL2Jpbi9zY3JpcHRzL3JlaW5kZXhkYi5jCmluZGV4IGIxNTc0 NTI1NmZmLi44YmFiNzRiNTkxNyAxMDA2NDQKLS0tIGEvc3JjL2Jpbi9zY3JpcHRzL3JlaW5k ZXhkYi5jCisrKyBiL3NyYy9iaW4vc2NyaXB0cy9yZWluZGV4ZGIuYwpAQCAtMzQwLDcgKzM0 MCw3IEBAIHJlaW5kZXhfb25lX2RhdGFiYXNlKENvbm5QYXJhbXMgKmNwYXJhbXMsIFJlaW5k ZXhUeXBlIHR5cGUsCiAJCXsKIAkJCWNhc2UgUkVJTkRFWF9TQ0hFTUE6CiAJCQkJQXNzZXJ0 KHVzZXJfbGlzdCAhPSBOVUxMKTsKLQkJCQkvKiBmYWxsIHRocm91Z2ggKi8KKwkJCQlwZ19m YWxsdGhyb3VnaDsKIAogCQkJY2FzZSBSRUlOREVYX0RBVEFCQVNFOgogCi0tIAoyLjUyLjAK Cg== --------------1EPsrrAej0Whktj7gp5KeTEG--