From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.ffmpeg.org (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTPS id 1ED284B91E for ; Thu, 25 Sep 2025 18:07:22 +0000 (UTC) Authentication-Results: ffbox; dkim=fail (body hash mismatch (got b'ffTDcCGoherVxChOQ5V1aaLXiSOn2ZI4dFkPvYtdIqU=', expected b'OCvj6aeDJ09MO4OAU/7a3gi4QwGVVjtmSHYkNMva0aM=')) header.d=ffmpeg.org header.i=@ffmpeg.org header.a=rsa-sha256 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ffmpeg.org; i=@ffmpeg.org; q=dns/txt; s=mail; t=1758823628; h=content-type : mime-version : to : date : message-id : reply-to : subject : list-id : list-archive : list-archive : list-help : list-owner : list-post : list-subscribe : list-unsubscribe : from : cc : content-transfer-encoding : from; bh=ffTDcCGoherVxChOQ5V1aaLXiSOn2ZI4dFkPvYtdIqU=; b=khK8mpfmabfpbye1tps4o1AM4Gqm6kXN1siXSWHVFXZNKdyrc3N4RaCw6F4uDbByc8Sob 30yMzbQ0WAKsQQeFJJ/u91/cnPZVTWn60rkzEDpQRM2E9YRWyEp7UQ4Q7WUPdLB7UzZSv7H 54apeJiT8RLjlwvLSf4DKZSnQwvOYkEiAkFILvx8A8IXAyKdrRyq4wCY0wpBm2HUm0ogSEV 24ez7AkCiHkPtpT17lMD8Q7LxreZXsEOiPR1g6bnl2V0eXP1/mrVYbGtB6QEyI6jkbj4APU x/uEkJrSHC7znka3pD9ZDYNR2BUirmu3IzctoBHLQTyTByAC2xaGfPUEH3YA== Received: from [172.19.0.4] (unknown [172.19.0.4]) by ffbox0-bg.ffmpeg.org (Postfix) with ESMTP id C37A668EC4E; Thu, 25 Sep 2025 21:07:08 +0300 (EEST) ARC-Seal: i=1; cv=none; a=rsa-sha256; d=ffmpeg.org; s=arc; t=1758823624; b=cGNOI5MQ9w3l/rlbSAS/jANOw7zivcsEeu+zeUsUxx7PZe7J7BuhfT2sOu2llDahC+5fc ZxmK5vQEO7Xqo6A+TJq7cOqpTTn6zxbDR6xdvHyjKDxn9s/DN2RDVZOBkPKyGj6r6+CPKtV I7RcgYty0ZbPuDwDtq6CrULvjDlpHEh6KnjDFGWLIf62j8qdnp1+qYw1qIzte8eHllkmE7t jzNuKpTRIDmSM0Q3nmTREe+v6Z+QzoqqAoZaRSdU7jh2N6DEHj0Mt8HDYJ+UbHczxXKrluZ w+D/viRwOHkBugCgsIwyod0lUiLIJSEvGCmkL0xUqIpMmXZBBvWmfrw6KWUA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=ffmpeg.org; s=arc; t=1758823624; h=from : sender : reply-to : subject : date : message-id : to : cc : mime-version : content-type : content-transfer-encoding : content-id : content-description : resent-date : resent-from : resent-sender : resent-to : resent-cc : resent-message-id : in-reply-to : references : list-id : list-help : list-unsubscribe : list-subscribe : list-post : list-owner : list-archive; bh=ffTDcCGoherVxChOQ5V1aaLXiSOn2ZI4dFkPvYtdIqU=; b=X74f0Ne9HLBBcJ4NLrk8pcCkD1laYj9lEWkpkBHIMlOAVV9IZQ/ZNPzNTfpBCvtbmuf1c k8ScNqnZdnMOudyOYBbS1msLtiIE9bGn9V6ZLrTBgk05AWESqf5wYGB4GQzpWTUaMvSUYE4 MgzcXuOLjvuOhOLI6bV9KyeHDztvfZ0bL/u+uaU90XEyhArhVnhZoz8fVJyVsGDrf99okHB JCnXNQB+XaQZli3pAM9Z9/yDNWkwK2orJHIihwKAfcJg17U6RI/boJYI2AQOITqvJwzhjD3 XJVCjp5U/yc6SKO8pg9RlNTSVweFRf6s/62AG1ps1n1WE3G1Q0zW4QPYWqzQ== ARC-Authentication-Results: i=1; ffmpeg.org; dkim=pass header.d=ffmpeg.org header.i=@ffmpeg.org; arc=none; dmarc=pass header.from=ffmpeg.org policy.dmarc=quarantine Authentication-Results: ffmpeg.org; dkim=pass header.d=ffmpeg.org header.i=@ffmpeg.org; arc=none (Message is not ARC signed); dmarc=pass (Used From Domain Record) header.from=ffmpeg.org policy.dmarc=quarantine DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ffmpeg.org; i=@ffmpeg.org; q=dns/txt; s=mail; t=1758823615; h=content-type : mime-version : content-transfer-encoding : from : to : reply-to : subject : date : from; bh=OCvj6aeDJ09MO4OAU/7a3gi4QwGVVjtmSHYkNMva0aM=; b=ohnkzbzj165E78DmQd3MzA68XAtOLy5f8XJByAZYYYGz8c0zPA4p2/YW4pQe/wPkR10oc 9yOM4xDZK5e+qsXx6ANNzlkFjq3VD3Z6m/v753bUSYnufOSiT/KkVkKAODms8BlZJa3Jju7 o+/JhrL5kbsPTJTi4rn5woVmHH6NzDYUDEjmBtEKpK3Pdu58XXZ76ivk9aHMwNWgbeZzEh6 b1oghWWZOfZ+V1+fmzW7p2cWecmj+rEqSoDQjaxHNT7hjRMOZMAJj6r+5xHQbQ8mPrezi0A gmyap41d+beQRvpkql0FDUhY/nAg8cgGeqGLUAA6RlnG2ljbLP51fLxkzcJw== Received: from ed19c606a818 (code.ffmpeg.org [188.245.149.3]) by ffbox0-bg.ffmpeg.org (Postfix) with ESMTPS id 7990268EA32 for ; Thu, 25 Sep 2025 21:06:55 +0300 (EEST) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 To: ffmpeg-devel@ffmpeg.org Date: Thu, 25 Sep 2025 18:06:55 -0000 Message-ID: <175882361574.25.11728420476799738670@bf249f23a2c8> Message-ID-Hash: ZKHCLVKH2OYHXCWBOBVWHADZBTIYEBDB X-Message-ID-Hash: ZKHCLVKH2OYHXCWBOBVWHADZBTIYEBDB X-MailFrom: code@ffmpeg.org X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; header-match-ffmpeg-devel.ffmpeg.org-0; header-match-ffmpeg-devel.ffmpeg.org-1; header-match-ffmpeg-devel.ffmpeg.org-2; header-match-ffmpeg-devel.ffmpeg.org-3; emergency; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header X-Mailman-Version: 3.3.10 Precedence: list Reply-To: FFmpeg development discussions and patches Subject: [FFmpeg-devel] [PATCH] avutil/attributes: use standard attributes when they are available (PR #20608) List-Id: FFmpeg development discussions and patches Archived-At: Archived-At: List-Archive: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: From: =?utf-8?q?Kacper_Michaj=C5=82ow_via_ffmpeg-devel?= Cc: =?utf-8?q?Kacper_Michaj=C5=82ow?= Content-Transfer-Encoding: base64 Archived-At: List-Archive: List-Post: UFIgIzIwNjA4IG9wZW5lZCBieSBLYWNwZXIgTWljaGFqxYJvdyAoa2FzcGVyOTMpClVSTDogaHR0 cHM6Ly9jb2RlLmZmbXBlZy5vcmcvRkZtcGVnL0ZGbXBlZy9wdWxscy8yMDYwOApQYXRjaCBVUkw6 IGh0dHBzOi8vY29kZS5mZm1wZWcub3JnL0ZGbXBlZy9GRm1wZWcvcHVsbHMvMjA2MDgucGF0Y2gK CgpGcm9tIDA4Yjc5OGRkNTJiNzQzMjIxYmMzMDIzZmJmZjNkYjRmYzg5MjUxNTYgTW9uIFNlcCAx NyAwMDowMDowMCAyMDAxCkZyb206ID0/VVRGLTg/cT9LYWNwZXI9MjBNaWNoYWo9QzU9ODJvdz89 IDxrYXNwZXI5M0BnbWFpbC5jb20+CkRhdGU6IFRodSwgMjUgU2VwIDIwMjUgMTk6MzE6MTcgKzAy MDAKU3ViamVjdDogW1BBVENIIDEvNF0gQUxMOiBtb3ZlIGF2X3VudXNlZCB0byBjb25mb3JtIHdp dGggc3RhbmRhcmQgcmVxdWlyZW1lbnQKTUlNRS1WZXJzaW9uOiAxLjAKQ29udGVudC1UeXBlOiB0 ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04CkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQK ClRoaXMgaXMgcmVxdWlyZWQgcGxhY2VtZW50IGJ5IHN0YW5kYXJkIFtbbWF5YmVfdW51c2VkXV0g YXR0cmlidXRlLCB3b3Jrcwp0aGUgc2FtZSBmb3IgX19hdHRyaWJ1dGVfXygodW51c2VkKSkuCgpT aWduZWQtb2ZmLWJ5OiBLYWNwZXIgTWljaGFqxYJvdyA8a2FzcGVyOTNAZ21haWwuY29tPgotLS0K IGNvbXBhdC93MzJwdGhyZWFkcy5oICAgICAgICAgICAgICAgICAgfCAgOCArKy0tCiBmZnRvb2xz L29wdF9jb21tb24uYyAgICAgICAgICAgICAgICAgIHwgIDIgKy0KIGxpYmF2Y29kZWMvYWFjcHN5 LmMgICAgICAgICAgICAgICAgICAgfCAgMiArLQogbGliYXZjb2RlYy9jYWJhY19mdW5jdGlvbnMu aCAgICAgICAgICB8IDEwICsrLS0tCiBsaWJhdmNvZGVjL2Nic19hdjEuYyAgICAgICAgICAgICAg ICAgIHwgIDIgKy0KIGxpYmF2Y29kZWMvZHZic3ViZGVjLmMgICAgICAgICAgICAgICAgfCAgMiAr LQogbGliYXZjb2RlYy9mbGFjZW5jLmMgICAgICAgICAgICAgICAgICB8ICAyICstCiBsaWJhdmNv ZGVjL2dldF9iaXRzLmggICAgICAgICAgICAgICAgIHwgIDIgKy0KIGxpYmF2Y29kZWMvaDI2NF9t dnByZWQuaCAgICAgICAgICAgICAgfCAgMiArLQogbGliYXZjb2RlYy9oMjY0cHJlZF90ZW1wbGF0 ZS5jICAgICAgICB8IDM2ICsrKysrKysrLS0tLS0tLS0KIGxpYmF2Y29kZWMvaDI2NHFwZWxfdGVt cGxhdGUuYyAgICAgICAgfCAgNiArLS0KIGxpYmF2Y29kZWMvaHF4dmxjLmggICAgICAgICAgICAg ICAgICAgfCAgMiArLQogbGliYXZjb2RlYy9qcGVnMjAwMGRlYy5jICAgICAgICAgICAgICB8ICAy ICstCiBsaWJhdmNvZGVjL2xpYmFvbWVuYy5jICAgICAgICAgICAgICAgIHwgIDQgKy0KIGxpYmF2 Y29kZWMvbGlic3Z0YXYxLmMgICAgICAgICAgICAgICAgfCAgMiArLQogbGliYXZjb2RlYy9taXBz L3ZwOGRzcF9tbWkuYyAgICAgICAgICB8IDYwICsrKysrKysrKysrKystLS0tLS0tLS0tLS0tLQog bGliYXZjb2RlYy9tb3Rpb25fZXN0X3RlbXBsYXRlLmMgICAgICB8IDEwICsrLS0tCiBsaWJhdmNv ZGVjL3BjbS5jICAgICAgICAgICAgICAgICAgICAgIHwgMTAgKystLS0KIGxpYmF2Y29kZWMvcHV0 X2JpdHMuaCAgICAgICAgICAgICAgICAgfCAgMiArLQogbGliYXZjb2RlYy92MjEwZGVjX2luaXQu aCAgICAgICAgICAgICB8ICAyICstCiBsaWJhdmNvZGVjL3YyMTBlbmNfaW5pdC5oICAgICAgICAg ICAgIHwgIDIgKy0KIGxpYmF2Y29kZWMvdnA1Ni5oICAgICAgICAgICAgICAgICAgICAgfCAgMiAr LQogbGliYXZjb2RlYy92cDg5X3JhYy5oICAgICAgICAgICAgICAgICB8ICAyICstCiBsaWJhdmNv ZGVjL3ZwOGRzcC5jICAgICAgICAgICAgICAgICAgIHwgMTYgKysrLS0tLQogbGliYXZjb2RlYy93 bWFsb3NzbGVzc2RlYy5jICAgICAgICAgICB8ICAyICstCiBsaWJhdmNvZGVjL3g4Ni9oMjY0X3Fw ZWwuYyAgICAgICAgICAgIHwgIDIgKy0KIGxpYmF2ZmlsdGVyL2FmX2FmaXJkc3AuaCAgICAgICAg ICAgICAgfCAgMiArLQogbGliYXZmaWx0ZXIvdmZfYmxlbmRfaW5pdC5oICAgICAgICAgICB8ICAy ICstCiBsaWJhdmZpbHRlci92Zl9jdXJ2ZXMuYyAgICAgICAgICAgICAgIHwgIDIgKy0KIGxpYmF2 ZmlsdGVyL3ZmX2Rubl9kZXRlY3QuYyAgICAgICAgICAgfCAgMiArLQogbGliYXZmaWx0ZXIvdmZf ZXEuaCAgICAgICAgICAgICAgICAgICB8ICAyICstCiBsaWJhdmZpbHRlci92Zl9nYmx1cl9pbml0 LmggICAgICAgICAgIHwgIDIgKy0KIGxpYmF2ZmlsdGVyL3ZmX2hmbGlwX2luaXQuaCAgICAgICAg ICAgfCAgMiArLQogbGliYXZmaWx0ZXIvdmZfbmxtZWFuc19pbml0LmggICAgICAgICB8ICAyICst CiBsaWJhdmZpbHRlci92Zl90aHJlc2hvbGRfaW5pdC5oICAgICAgIHwgIDIgKy0KIGxpYmF2Zmls dGVyL3ZzcmNfdGVzdHNyYy5jICAgICAgICAgICAgfCAgMiArLQogbGliYXZmb3JtYXQvYXNmZGVj X2YuYyAgICAgICAgICAgICAgICB8ICAyICstCiBsaWJhdmZvcm1hdC9hc2ZkZWNfby5jICAgICAg ICAgICAgICAgIHwgIDIgKy0KIGxpYmF2Zm9ybWF0L2ZsYWNkZWMuYyAgICAgICAgICAgICAgICAg fCAgMiArLQogbGliYXZmb3JtYXQvZmx2ZGVjLmMgICAgICAgICAgICAgICAgICB8ICAyICstCiBs aWJhdmZvcm1hdC9mcmFtZWNyY2VuYy5jICAgICAgICAgICAgIHwgIDIgKy0KIGxpYmF2Zm9ybWF0 L2lkM3YyLmMgICAgICAgICAgICAgICAgICAgfCAgMiArLQogbGliYXZmb3JtYXQvbWF0cm9za2Fk ZWMuYyAgICAgICAgICAgICB8ICAyICstCiBsaWJhdmZvcm1hdC9tYXRyb3NrYWVuYy5jICAgICAg ICAgICAgIHwgIDIgKy0KIGxpYmF2Zm9ybWF0L21wM2VuYy5jICAgICAgICAgICAgICAgICAgfCAg MiArLQogbGliYXZmb3JtYXQvbXBlZ3RzLmMgICAgICAgICAgICAgICAgICB8ICAyICstCiBsaWJh dmZvcm1hdC9uc3ZkZWMuYyAgICAgICAgICAgICAgICAgIHwgIDQgKy0KIGxpYmF2Zm9ybWF0L3Iz ZC5jICAgICAgICAgICAgICAgICAgICAgfCAgOCArKy0tCiBsaWJhdmZvcm1hdC9ydHBkZWMuYyAg ICAgICAgICAgICAgICAgIHwgIDIgKy0KIGxpYmF2Zm9ybWF0L3J0c3Bjb2Rlcy5oICAgICAgICAg ICAgICAgfCAgMiArLQogbGliYXZ1dGlsL2V2YWwuYyAgICAgICAgICAgICAgICAgICAgICB8ICAy ICstCiBsaWJhdnV0aWwvaHdjb250ZXh0X29wZW5jbC5jICAgICAgICAgIHwgIDIgKy0KIGxpYmF2 dXRpbC9yaXBlbWQuYyAgICAgICAgICAgICAgICAgICAgfCAgOCArKy0tCiBsaWJhdnV0aWwvc29m dGZsb2F0LmggICAgICAgICAgICAgICAgIHwgIDIgKy0KIGxpYnN3cmVzYW1wbGUvc3dyZXNhbXBs ZS5jICAgICAgICAgICAgfCAgMiArLQogbGlic3dyZXNhbXBsZS94ODYvcmVzYW1wbGVfaW5pdC5j ICAgICB8ICAyICstCiBsaWJzd3NjYWxlL2xvb25nYXJjaC95dXYycmdiX2xhc3guYyAgIHwgIDIg Ky0KIGxpYnN3c2NhbGUvbG9vbmdhcmNoL3l1djJyZ2JfbHN4LmMgICAgfCAgOCArKy0tCiBsaWJz d3NjYWxlL3BwYy9zd3NjYWxlX3BwY190ZW1wbGF0ZS5jIHwgIDIgKy0KIGxpYnN3c2NhbGUveDg2 L3N3c2NhbGUuYyAgICAgICAgICAgICAgfCAgMiArLQogbGlic3dzY2FsZS95dXYycmdiLmMgICAg ICAgICAgICAgICAgICB8IDE4ICsrKystLS0tCiB0ZXN0cy9jaGVja2FzbS9jaGVja2FzbS5oICAg ICAgICAgICAgIHwgIDIgKy0KIDYyIGZpbGVzIGNoYW5nZWQsIDE1MSBpbnNlcnRpb25zKCspLCAx NTEgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvY29tcGF0L3czMnB0aHJlYWRzLmggYi9jb21w YXQvdzMycHRocmVhZHMuaAppbmRleCA2MWYzZGZjZGQ5Li5mNjg5ZDA0ZDUxIDEwMDY0NAotLS0g YS9jb21wYXQvdzMycHRocmVhZHMuaAorKysgYi9jb21wYXQvdzMycHRocmVhZHMuaApAQCAtNzIs NyArNzIsNyBAQCB0eXBlZGVmIENPTkRJVElPTl9WQVJJQUJMRSBwdGhyZWFkX2NvbmRfdDsKICNk ZWZpbmUgVEhSRUFERlVOQ19SRVRUWVBFIHVuc2lnbmVkCiAjZW5kaWYKIAotc3RhdGljIGF2X3Vu dXNlZCBUSFJFQURGVU5DX1JFVFRZUEUKK2F2X3VudXNlZCBzdGF0aWMgVEhSRUFERlVOQ19SRVRU WVBFCiBfX3N0ZGNhbGwgYXR0cmlidXRlX2FsaWduX2FyZyB3aW4zMnRocmVhZF93b3JrZXIodm9p ZCAqYXJnKQogewogICAgIHB0aHJlYWRfdCBoID0gKHB0aHJlYWRfdClhcmc7CkBAIC04MCw3ICs4 MCw3IEBAIF9fc3RkY2FsbCBhdHRyaWJ1dGVfYWxpZ25fYXJnIHdpbjMydGhyZWFkX3dvcmtlcih2 b2lkICphcmcpCiAgICAgcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyBhdl91bnVzZWQgaW50IHB0aHJl YWRfY3JlYXRlKHB0aHJlYWRfdCAqdGhyZWFkLCBjb25zdCB2b2lkICp1bnVzZWRfYXR0ciwKK2F2 X3VudXNlZCBzdGF0aWMgaW50IHB0aHJlYWRfY3JlYXRlKHB0aHJlYWRfdCAqdGhyZWFkLCBjb25z dCB2b2lkICp1bnVzZWRfYXR0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHZvaWQgKigqc3RhcnRfcm91dGluZSkodm9pZCopLCB2b2lkICphcmcpCiB7CiAgICAgcHRocmVh ZF90IHJldDsKQEAgLTEwOSw3ICsxMDksNyBAQCBzdGF0aWMgYXZfdW51c2VkIGludCBwdGhyZWFk X2NyZWF0ZShwdGhyZWFkX3QgKnRocmVhZCwgY29uc3Qgdm9pZCAqdW51c2VkX2F0dHIsCiAgICAg cmV0dXJuIDA7CiB9CiAKLXN0YXRpYyBhdl91bnVzZWQgaW50IHB0aHJlYWRfam9pbihwdGhyZWFk X3QgdGhyZWFkLCB2b2lkICoqdmFsdWVfcHRyKQorYXZfdW51c2VkIHN0YXRpYyBpbnQgcHRocmVh ZF9qb2luKHB0aHJlYWRfdCB0aHJlYWQsIHZvaWQgKip2YWx1ZV9wdHIpCiB7CiAgICAgRFdPUkQg cmV0ID0gV2FpdEZvclNpbmdsZU9iamVjdCh0aHJlYWQtPmhhbmRsZSwgSU5GSU5JVEUpOwogICAg IGlmIChyZXQgIT0gV0FJVF9PQkpFQ1RfMCkgewpAQCAtMTQ5LDcgKzE0OSw3IEBAIHN0YXRpYyBp bmxpbmUgaW50IHB0aHJlYWRfbXV0ZXhfdW5sb2NrKHB0aHJlYWRfbXV0ZXhfdCAqbSkKIHR5cGVk ZWYgSU5JVF9PTkNFIHB0aHJlYWRfb25jZV90OwogI2RlZmluZSBQVEhSRUFEX09OQ0VfSU5JVCBJ TklUX09OQ0VfU1RBVElDX0lOSVQKIAotc3RhdGljIGF2X3VudXNlZCBpbnQgcHRocmVhZF9vbmNl KHB0aHJlYWRfb25jZV90ICpvbmNlX2NvbnRyb2wsIHZvaWQgKCppbml0X3JvdXRpbmUpKHZvaWQp KQorYXZfdW51c2VkIHN0YXRpYyBpbnQgcHRocmVhZF9vbmNlKHB0aHJlYWRfb25jZV90ICpvbmNl X2NvbnRyb2wsIHZvaWQgKCppbml0X3JvdXRpbmUpKHZvaWQpKQogewogICAgIEJPT0wgcGVuZGlu ZyA9IEZBTFNFOwogICAgIEluaXRPbmNlQmVnaW5Jbml0aWFsaXplKG9uY2VfY29udHJvbCwgMCwg JnBlbmRpbmcsIE5VTEwpOwpkaWZmIC0tZ2l0IGEvZmZ0b29scy9vcHRfY29tbW9uLmMgYi9mZnRv b2xzL29wdF9jb21tb24uYwppbmRleCBlMjE3NDU2YmU3Li4yYzFmOTU2NTUxIDEwMDY0NAotLS0g YS9mZnRvb2xzL29wdF9jb21tb24uYworKysgYi9mZnRvb2xzL29wdF9jb21tb24uYwpAQCAtOTky LDcgKzk5Miw3IEBAIGludCBzaG93X3BpeF9mbXRzKHZvaWQgKm9wdGN0eCwgY29uc3QgY2hhciAq b3B0LCBjb25zdCBjaGFyICphcmcpCiAjZW5kaWYKIAogICAgIHdoaWxlICgocGl4X2Rlc2MgPSBh dl9waXhfZm10X2Rlc2NfbmV4dChwaXhfZGVzYykpKSB7Ci0gICAgICAgIGVudW0gQVZQaXhlbEZv cm1hdCBhdl91bnVzZWQgcGl4X2ZtdCA9IGF2X3BpeF9mbXRfZGVzY19nZXRfaWQocGl4X2Rlc2Mp OworICAgICAgICBhdl91bnVzZWQgZW51bSBBVlBpeGVsRm9ybWF0IHBpeF9mbXQgPSBhdl9waXhf Zm10X2Rlc2NfZ2V0X2lkKHBpeF9kZXNjKTsKICAgICAgICAgcHJpbnRmKCIlYyVjJWMlYyVjICUt MTZzICAgICAgICVkICAgICAgICAgICAgJTNkICAgICAgJWQiLAogICAgICAgICAgICAgICAgc3dz X2lzU3VwcG9ydGVkSW5wdXQgKHBpeF9mbXQpICAgICAgICAgICAgICA/ICdJJyA6ICcuJywKICAg ICAgICAgICAgICAgIHN3c19pc1N1cHBvcnRlZE91dHB1dChwaXhfZm10KSAgICAgICAgICAgICAg PyAnTycgOiAnLicsCmRpZmYgLS1naXQgYS9saWJhdmNvZGVjL2FhY3BzeS5jIGIvbGliYXZjb2Rl Yy9hYWNwc3kuYwppbmRleCBlZDAzY2I2OGFjLi43YTljMmNlNmFkIDEwMDY0NAotLS0gYS9saWJh dmNvZGVjL2FhY3BzeS5jCisrKyBiL2xpYmF2Y29kZWMvYWFjcHN5LmMKQEAgLTQwMiw3ICs0MDIs NyBAQCBzdGF0aWMgY29uc3QgdWludDhfdCB3aW5kb3dfZ3JvdXBpbmdbOV0gPSB7CiAgKiBUZWxs IGVuY29kZXIgd2hpY2ggd2luZG93IHR5cGVzIHRvIHVzZS4KICAqIEBzZWUgM0dQUCBUUzI2LjQw MyA1LjQuMSAiQmxvY2tzd2l0Y2hpbmciCiAgKi8KLXN0YXRpYyBhdl91bnVzZWQgRkZQc3lXaW5k b3dJbmZvIHBzeV8zZ3BwX3dpbmRvdyhGRlBzeUNvbnRleHQgKmN0eCwKK2F2X3VudXNlZCBzdGF0 aWMgRkZQc3lXaW5kb3dJbmZvIHBzeV8zZ3BwX3dpbmRvdyhGRlBzeUNvbnRleHQgKmN0eCwKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQx Nl90ICphdWRpbywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBjb25zdCBpbnQxNl90ICpsYSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBpbnQgY2hhbm5lbCwgaW50IHByZXZfdHlwZSkKZGlmZiAtLWdpdCBh L2xpYmF2Y29kZWMvY2FiYWNfZnVuY3Rpb25zLmggYi9saWJhdmNvZGVjL2NhYmFjX2Z1bmN0aW9u cy5oCmluZGV4IGMzZjA4ZDM0MTAuLjZhMmU5Y2VjYTUgMTAwNjQ0Ci0tLSBhL2xpYmF2Y29kZWMv Y2FiYWNfZnVuY3Rpb25zLmgKKysrIGIvbGliYXZjb2RlYy9jYWJhY19mdW5jdGlvbnMuaApAQCAt MTM3LDE2ICsxMzcsMTYgQEAgc3RhdGljIGF2X2Fsd2F5c19pbmxpbmUgaW50IGdldF9jYWJhY19p bmxpbmUoQ0FCQUNDb250ZXh0ICpjLCB1aW50OF90ICogY29uc3Qgc3QKIH0KICNlbmRpZgogCi1z dGF0aWMgaW50IGF2X25vaW5saW5lIGF2X3VudXNlZCBnZXRfY2FiYWNfbm9pbmxpbmUoQ0FCQUND b250ZXh0ICpjLCB1aW50OF90ICogY29uc3Qgc3RhdGUpeworYXZfdW51c2VkIGF2X25vaW5saW5l IHN0YXRpYyBpbnQgZ2V0X2NhYmFjX25vaW5saW5lKENBQkFDQ29udGV4dCAqYywgdWludDhfdCAq IGNvbnN0IHN0YXRlKXsKICAgICByZXR1cm4gZ2V0X2NhYmFjX2lubGluZShjLHN0YXRlKTsKIH0K IAotc3RhdGljIGludCBhdl91bnVzZWQgZ2V0X2NhYmFjKENBQkFDQ29udGV4dCAqYywgdWludDhf dCAqIGNvbnN0IHN0YXRlKXsKK2F2X3VudXNlZCBzdGF0aWMgaW50IGdldF9jYWJhYyhDQUJBQ0Nv bnRleHQgKmMsIHVpbnQ4X3QgKiBjb25zdCBzdGF0ZSl7CiAgICAgcmV0dXJuIGdldF9jYWJhY19p bmxpbmUoYyxzdGF0ZSk7CiB9CiAKICNpZm5kZWYgZ2V0X2NhYmFjX2J5cGFzcwotc3RhdGljIGlu dCBhdl91bnVzZWQgZ2V0X2NhYmFjX2J5cGFzcyhDQUJBQ0NvbnRleHQgKmMpeworYXZfdW51c2Vk IHN0YXRpYyBpbnQgZ2V0X2NhYmFjX2J5cGFzcyhDQUJBQ0NvbnRleHQgKmMpewogICAgIGludCBy YW5nZTsKICAgICBjLT5sb3cgKz0gYy0+bG93OwogCkBAIC0xODQsNyArMTg0LDcgQEAgc3RhdGlj IGF2X2Fsd2F5c19pbmxpbmUgaW50IGdldF9jYWJhY19ieXBhc3Nfc2lnbihDQUJBQ0NvbnRleHQg KmMsIGludCB2YWwpewogICogQHJldHVybiB0aGUgbnVtYmVyIG9mIGJ5dGVzIHJlYWQgb3IgMCBp ZiBubyBlbmQKICAqLwogI2lmbmRlZiBnZXRfY2FiYWNfdGVybWluYXRlCi1zdGF0aWMgaW50IGF2 X3VudXNlZCBnZXRfY2FiYWNfdGVybWluYXRlKENBQkFDQ29udGV4dCAqYyl7Cithdl91bnVzZWQg c3RhdGljIGludCBnZXRfY2FiYWNfdGVybWluYXRlKENBQkFDQ29udGV4dCAqYyl7CiAgICAgYy0+ cmFuZ2UgLT0gMjsKICAgICBpZihjLT5sb3cgPCBjLT5yYW5nZTw8KENBQkFDX0JJVFMrMSkpewog ICAgICAgICByZW5vcm1fY2FiYWNfZGVjb2Rlcl9vbmNlKGMpOwpAQCAtMjAwLDcgKzIwMCw3IEBA IHN0YXRpYyBpbnQgYXZfdW51c2VkIGdldF9jYWJhY190ZXJtaW5hdGUoQ0FCQUNDb250ZXh0ICpj KXsKICAqIEByZXR1cm4gdGhlIGFkZHJlc3Mgb2YgdGhlIGZpcnN0IHNraXBwZWQgYnl0ZSBvciBO VUxMIGlmIHRoZXJlJ3MgbGVzcyB0aGFuIEBwIG4gYnl0ZXMgbGVmdAogICovCiAjaWZuZGVmIHNr aXBfYnl0ZXMKLXN0YXRpYyBhdl91bnVzZWQgY29uc3QgdWludDhfdCogc2tpcF9ieXRlcyhDQUJB Q0NvbnRleHQgKmMsIGludCBuKSB7Cithdl91bnVzZWQgc3RhdGljIGNvbnN0IHVpbnQ4X3QqIHNr aXBfYnl0ZXMoQ0FCQUNDb250ZXh0ICpjLCBpbnQgbikgewogICAgIGNvbnN0IHVpbnQ4X3QgKnB0 ciA9IGMtPmJ5dGVzdHJlYW07CiAKICAgICBpZiAoYy0+bG93ICYgMHgxKQpkaWZmIC0tZ2l0IGEv bGliYXZjb2RlYy9jYnNfYXYxLmMgYi9saWJhdmNvZGVjL2Nic19hdjEuYwppbmRleCBmMDAyMWVm ZjYxLi45MGUyOWVkMGQ4IDEwMDY0NAotLS0gYS9saWJhdmNvZGVjL2Nic19hdjEuYworKysgYi9s aWJhdmNvZGVjL2Nic19hdjEuYwpAQCAtNDYyLDcgKzQ2Miw3IEBAIHN0YXRpYyBpbnQgY2JzX2F2 MV9nZXRfcmVsYXRpdmVfZGlzdChjb25zdCBBVjFSYXdTZXF1ZW5jZUhlYWRlciAqc2VxLAogICAg IHJldHVybiBkaWZmOwogfQogCi1zdGF0aWMgYXZfdW51c2VkIHNpemVfdCBjYnNfYXYxX2dldF9w YXlsb2FkX2J5dGVzX2xlZnQoR2V0Qml0Q29udGV4dCAqZ2JjKQorYXZfdW51c2VkIHN0YXRpYyBz aXplX3QgY2JzX2F2MV9nZXRfcGF5bG9hZF9ieXRlc19sZWZ0KEdldEJpdENvbnRleHQgKmdiYykK IHsKICAgICBHZXRCaXRDb250ZXh0IHRtcCA9ICpnYmM7CiAgICAgc2l6ZV90IHNpemUgPSAwOwpk aWZmIC0tZ2l0IGEvbGliYXZjb2RlYy9kdmJzdWJkZWMuYyBiL2xpYmF2Y29kZWMvZHZic3ViZGVj LmMKaW5kZXggOWVjZDk2ZGY4Ni4uZGI4YTlkMWViMSAxMDA2NDQKLS0tIGEvbGliYXZjb2RlYy9k dmJzdWJkZWMuYworKysgYi9saWJhdmNvZGVjL2R2YnN1YmRlYy5jCkBAIC0xMTU0LDcgKzExNTQs NyBAQCBzdGF0aWMgaW50IGR2YnN1Yl9wYXJzZV9yZWdpb25fc2VnbWVudChBVkNvZGVjQ29udGV4 dCAqYXZjdHgsCiAKICAgICBjb25zdCB1aW50OF90ICpidWZfZW5kID0gYnVmICsgYnVmX3NpemU7 CiAgICAgaW50IHJlZ2lvbl9pZCwgb2JqZWN0X2lkOwotICAgIGludCBhdl91bnVzZWQgdmVyc2lv bjsKKyAgICBhdl91bnVzZWQgaW50IHZlcnNpb247CiAgICAgRFZCU3ViUmVnaW9uICpyZWdpb247 CiAgICAgRFZCU3ViT2JqZWN0ICpvYmplY3Q7CiAgICAgRFZCU3ViT2JqZWN0RGlzcGxheSAqZGlz cGxheTsKZGlmZiAtLWdpdCBhL2xpYmF2Y29kZWMvZmxhY2VuYy5jIGIvbGliYXZjb2RlYy9mbGFj ZW5jLmMKaW5kZXggYzZiOWViNDM3YS4uNDg0Nzg3NDlkOSAxMDA2NDQKLS0tIGEvbGliYXZjb2Rl Yy9mbGFjZW5jLmMKKysrIGIvbGliYXZjb2RlYy9mbGFjZW5jLmMKQEAgLTExNzIsNyArMTE3Miw3 IEBAIHN0YXRpYyBpbnQgZW5jb2RlX3Jlc2lkdWFsX2NoKEZsYWNFbmNvZGVDb250ZXh0ICpzLCBp bnQgY2gpCiAKIHN0YXRpYyBpbnQgY291bnRfZnJhbWVfaGVhZGVyKEZsYWNFbmNvZGVDb250ZXh0 ICpzKQogewotICAgIHVpbnQ4X3QgYXZfdW51c2VkIHRtcDsKKyAgICBhdl91bnVzZWQgdWludDhf dCB0bXA7CiAgICAgaW50IGNvdW50OwogCiAgICAgLyoKZGlmZiAtLWdpdCBhL2xpYmF2Y29kZWMv Z2V0X2JpdHMuaCBiL2xpYmF2Y29kZWMvZ2V0X2JpdHMuaAppbmRleCA4MGE3N2YwYWUzLi44NWM4 N2M2NWIxIDEwMDY0NAotLS0gYS9saWJhdmNvZGVjL2dldF9iaXRzLmgKKysrIGIvbGliYXZjb2Rl Yy9nZXRfYml0cy5oCkBAIC0xNjgsNyArMTY4LDcgQEAgc3RhdGljIGlubGluZSB1bnNpZ25lZCBp bnQgc2hvd19iaXRzKEdldEJpdENvbnRleHQgKnMsIGludCBuKTsKIAogI2RlZmluZSBPUEVOX1JF QURFUl9OT1NJWkUobmFtZSwgZ2IpICAgICAgICAgICAgXAogICAgIHVuc2lnbmVkIGludCBuYW1l ICMjIF9pbmRleCA9IChnYiktPmluZGV4OyAgXAotICAgIHVuc2lnbmVkIGludCBhdl91bnVzZWQg bmFtZSAjIyBfY2FjaGUKKyAgICBhdl91bnVzZWQgdW5zaWduZWQgaW50IG5hbWUgIyMgX2NhY2hl CiAKICNpZiBVTkNIRUNLRURfQklUU1RSRUFNX1JFQURFUgogI2RlZmluZSBPUEVOX1JFQURFUihu YW1lLCBnYikgT1BFTl9SRUFERVJfTk9TSVpFKG5hbWUsIGdiKQpkaWZmIC0tZ2l0IGEvbGliYXZj b2RlYy9oMjY0X212cHJlZC5oIGIvbGliYXZjb2RlYy9oMjY0X212cHJlZC5oCmluZGV4IGJjOWZl ZjUwZTQuLjFmYTU0ODczMjIgMTAwNjQ0Ci0tLSBhL2xpYmF2Y29kZWMvaDI2NF9tdnByZWQuaAor KysgYi9saWJhdmNvZGVjL2gyNjRfbXZwcmVkLmgKQEAgLTkzMSw3ICs5MzEsNyBAQCBzdGF0aWMg dm9pZCBmaWxsX2RlY29kZV9jYWNoZXMoY29uc3QgSDI2NENvbnRleHQgKmgsIEgyNjRTbGljZUNv bnRleHQgKnNsLCBpbnQgbQogLyoqCiAgKiBkZWNvZGVzIGEgUF9TS0lQIG9yIEJfU0tJUCBtYWNy b2Jsb2NrCiAgKi8KLXN0YXRpYyB2b2lkIGF2X3VudXNlZCBkZWNvZGVfbWJfc2tpcChjb25zdCBI MjY0Q29udGV4dCAqaCwgSDI2NFNsaWNlQ29udGV4dCAqc2wpCithdl91bnVzZWQgc3RhdGljIHZv aWQgZGVjb2RlX21iX3NraXAoY29uc3QgSDI2NENvbnRleHQgKmgsIEgyNjRTbGljZUNvbnRleHQg KnNsKQogewogICAgIGNvbnN0IGludCBtYl94eSA9IHNsLT5tYl94eTsKICAgICBpbnQgbWJfdHlw ZSAgICAgPSAwOwpkaWZmIC0tZ2l0IGEvbGliYXZjb2RlYy9oMjY0cHJlZF90ZW1wbGF0ZS5jIGIv bGliYXZjb2RlYy9oMjY0cHJlZF90ZW1wbGF0ZS5jCmluZGV4IDk4YjI4ZDBhZmIuLmZhY2UxM2Y3 YzcgMTAwNjQ0Ci0tLSBhL2xpYmF2Y29kZWMvaDI2NHByZWRfdGVtcGxhdGUuYworKysgYi9saWJh dmNvZGVjL2gyNjRwcmVkX3RlbXBsYXRlLmMKQEAgLTExMywyOCArMTEzLDI4IEBAIHN0YXRpYyB2 b2lkIEZVTkNDKHByZWQ0eDRfMTI4X2RjKSh1aW50OF90ICpfc3JjLCBjb25zdCB1aW50OF90ICp0 b3ByaWdodCwKIAogCiAjZGVmaW5lIExPQURfVE9QX1JJR0hUX0VER0VcCi0gICAgY29uc3QgdW5z aWduZWQgYXZfdW51c2VkIHQ0ID0gdG9wcmlnaHRbMF07XAotICAgIGNvbnN0IHVuc2lnbmVkIGF2 X3VudXNlZCB0NSA9IHRvcHJpZ2h0WzFdO1wKLSAgICBjb25zdCB1bnNpZ25lZCBhdl91bnVzZWQg dDYgPSB0b3ByaWdodFsyXTtcCi0gICAgY29uc3QgdW5zaWduZWQgYXZfdW51c2VkIHQ3ID0gdG9w cmlnaHRbM107XAorICAgIGF2X3VudXNlZCBjb25zdCB1bnNpZ25lZCB0NCA9IHRvcHJpZ2h0WzBd O1wKKyAgICBhdl91bnVzZWQgY29uc3QgdW5zaWduZWQgdDUgPSB0b3ByaWdodFsxXTtcCisgICAg YXZfdW51c2VkIGNvbnN0IHVuc2lnbmVkIHQ2ID0gdG9wcmlnaHRbMl07XAorICAgIGF2X3VudXNl ZCBjb25zdCB1bnNpZ25lZCB0NyA9IHRvcHJpZ2h0WzNdO1wKIAogI2RlZmluZSBMT0FEX0RPV05f TEVGVF9FREdFXAotICAgIGNvbnN0IHVuc2lnbmVkIGF2X3VudXNlZCBsNCA9IHNyY1stMSs0KnN0 cmlkZV07XAotICAgIGNvbnN0IHVuc2lnbmVkIGF2X3VudXNlZCBsNSA9IHNyY1stMSs1KnN0cmlk ZV07XAotICAgIGNvbnN0IHVuc2lnbmVkIGF2X3VudXNlZCBsNiA9IHNyY1stMSs2KnN0cmlkZV07 XAotICAgIGNvbnN0IHVuc2lnbmVkIGF2X3VudXNlZCBsNyA9IHNyY1stMSs3KnN0cmlkZV07XAor ICAgIGF2X3VudXNlZCBjb25zdCB1bnNpZ25lZCBsNCA9IHNyY1stMSs0KnN0cmlkZV07XAorICAg IGF2X3VudXNlZCBjb25zdCB1bnNpZ25lZCBsNSA9IHNyY1stMSs1KnN0cmlkZV07XAorICAgIGF2 X3VudXNlZCBjb25zdCB1bnNpZ25lZCBsNiA9IHNyY1stMSs2KnN0cmlkZV07XAorICAgIGF2X3Vu dXNlZCBjb25zdCB1bnNpZ25lZCBsNyA9IHNyY1stMSs3KnN0cmlkZV07XAogCiAjZGVmaW5lIExP QURfTEVGVF9FREdFXAotICAgIGNvbnN0IHVuc2lnbmVkIGF2X3VudXNlZCBsMCA9IHNyY1stMSsw KnN0cmlkZV07XAotICAgIGNvbnN0IHVuc2lnbmVkIGF2X3VudXNlZCBsMSA9IHNyY1stMSsxKnN0 cmlkZV07XAotICAgIGNvbnN0IHVuc2lnbmVkIGF2X3VudXNlZCBsMiA9IHNyY1stMSsyKnN0cmlk ZV07XAotICAgIGNvbnN0IHVuc2lnbmVkIGF2X3VudXNlZCBsMyA9IHNyY1stMSszKnN0cmlkZV07 XAorICAgIGF2X3VudXNlZCBjb25zdCB1bnNpZ25lZCBsMCA9IHNyY1stMSswKnN0cmlkZV07XAor ICAgIGF2X3VudXNlZCBjb25zdCB1bnNpZ25lZCBsMSA9IHNyY1stMSsxKnN0cmlkZV07XAorICAg IGF2X3VudXNlZCBjb25zdCB1bnNpZ25lZCBsMiA9IHNyY1stMSsyKnN0cmlkZV07XAorICAgIGF2 X3VudXNlZCBjb25zdCB1bnNpZ25lZCBsMyA9IHNyY1stMSszKnN0cmlkZV07XAogCiAjZGVmaW5l IExPQURfVE9QX0VER0VcCi0gICAgY29uc3QgdW5zaWduZWQgYXZfdW51c2VkIHQwID0gc3JjWyAw LTEqc3RyaWRlXTtcCi0gICAgY29uc3QgdW5zaWduZWQgYXZfdW51c2VkIHQxID0gc3JjWyAxLTEq c3RyaWRlXTtcCi0gICAgY29uc3QgdW5zaWduZWQgYXZfdW51c2VkIHQyID0gc3JjWyAyLTEqc3Ry aWRlXTtcCi0gICAgY29uc3QgdW5zaWduZWQgYXZfdW51c2VkIHQzID0gc3JjWyAzLTEqc3RyaWRl XTtcCisgICAgYXZfdW51c2VkIGNvbnN0IHVuc2lnbmVkIHQwID0gc3JjWyAwLTEqc3RyaWRlXTtc CisgICAgYXZfdW51c2VkIGNvbnN0IHVuc2lnbmVkIHQxID0gc3JjWyAxLTEqc3RyaWRlXTtcCisg ICAgYXZfdW51c2VkIGNvbnN0IHVuc2lnbmVkIHQyID0gc3JjWyAyLTEqc3RyaWRlXTtcCisgICAg YXZfdW51c2VkIGNvbnN0IHVuc2lnbmVkIHQzID0gc3JjWyAzLTEqc3RyaWRlXTtcCiAKIHN0YXRp YyB2b2lkIEZVTkNDKHByZWQ0eDRfZG93bl9yaWdodCkodWludDhfdCAqX3NyYywgY29uc3QgdWlu dDhfdCAqdG9wcmlnaHQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0 cmRpZmZfdCBfc3RyaWRlKQpAQCAtODI2LDcgKzgyNiw3IEBAIHN0YXRpYyB2b2lkIEZVTkNDKHBy ZWQ4eDE2X3BsYW5lKSh1aW50OF90ICpfc3JjLCBwdHJkaWZmX3QgX3N0cmlkZSkKICAgICBjb25z dCBpbnQgbDAgPSAoKGhhc190b3BsZWZ0ID8gU1JDKC0xLC0xKSA6IFNSQygtMSwwKSkgXAogICAg ICAgICAgICAgICAgICAgICAgKyAyKlNSQygtMSwwKSArIFNSQygtMSwxKSArIDIpID4+IDI7IFwK ICAgICBQTCgxKSBQTCgyKSBQTCgzKSBQTCg0KSBQTCg1KSBQTCg2KSBcCi0gICAgY29uc3QgaW50 IGw3IGF2X3VudXNlZCA9IChTUkMoLTEsNikgKyAzKlNSQygtMSw3KSArIDIpID4+IDIKKyAgICBh dl91bnVzZWQgY29uc3QgaW50IGw3ID0gKFNSQygtMSw2KSArIDMqU1JDKC0xLDcpICsgMikgPj4g MgogCiAjZGVmaW5lIFBUKHgpIFwKICAgICBjb25zdCBpbnQgdCMjeCA9IChTUkMoeC0xLC0xKSAr IDIqU1JDKHgsLTEpICsgU1JDKHgrMSwtMSkgKyAyKSA+PiAyOwpAQCAtODM0LDcgKzgzNCw3IEBA IHN0YXRpYyB2b2lkIEZVTkNDKHByZWQ4eDE2X3BsYW5lKSh1aW50OF90ICpfc3JjLCBwdHJkaWZm X3QgX3N0cmlkZSkKICAgICBjb25zdCBpbnQgdDAgPSAoKGhhc190b3BsZWZ0ID8gU1JDKC0xLC0x KSA6IFNSQygwLC0xKSkgXAogICAgICAgICAgICAgICAgICAgICAgKyAyKlNSQygwLC0xKSArIFNS QygxLC0xKSArIDIpID4+IDI7IFwKICAgICBQVCgxKSBQVCgyKSBQVCgzKSBQVCg0KSBQVCg1KSBQ VCg2KSBcCi0gICAgY29uc3QgaW50IHQ3IGF2X3VudXNlZCA9ICgoaGFzX3RvcHJpZ2h0ID8gU1JD KDgsLTEpIDogU1JDKDcsLTEpKSBcCisgICAgYXZfdW51c2VkIGNvbnN0IGludCB0NyA9ICgoaGFz X3RvcHJpZ2h0ID8gU1JDKDgsLTEpIDogU1JDKDcsLTEpKSBcCiAgICAgICAgICAgICAgICAgICAg ICArIDIqU1JDKDcsLTEpICsgU1JDKDYsLTEpICsgMikgPj4gMgogCiAjZGVmaW5lIFBUUih4KSBc CmRpZmYgLS1naXQgYS9saWJhdmNvZGVjL2gyNjRxcGVsX3RlbXBsYXRlLmMgYi9saWJhdmNvZGVj L2gyNjRxcGVsX3RlbXBsYXRlLmMKaW5kZXggMzI0YTA4ODllOS4uYjcxNzEwZTZkYiAxMDA2NDQK LS0tIGEvbGliYXZjb2RlYy9oMjY0cXBlbF90ZW1wbGF0ZS5jCisrKyBiL2xpYmF2Y29kZWMvaDI2 NHFwZWxfdGVtcGxhdGUuYwpAQCAtNzUsNyArNzUsNyBAQCBzdGF0aWMgaW5saW5lIHZvaWQgRlVO Qyhjb3B5X2Jsb2NrMTYpKHVpbnQ4X3QgKmRzdCwgY29uc3QgdWludDhfdCAqcmVzdHJpY3Qgc3Jj LAogfQogCiAjZGVmaW5lIEgyNjRfTE9XUEFTUyhPUE5BTUUsIE9QLCBPUDIpIFwKLXN0YXRpYyBh dl91bnVzZWQgdm9pZCBGVU5DKE9QTkFNRSAjIyBoMjY0X3FwZWwyX2hfbG93cGFzcykodWludDhf dCAqcF9kc3QsIGNvbnN0IHVpbnQ4X3QgKnJlc3RyaWN0IHBfc3JjLCBpbnQgZHN0U3RyaWRlLCBp bnQgc3JjU3RyaWRlKVwKK2F2X3VudXNlZCBzdGF0aWMgdm9pZCBGVU5DKE9QTkFNRSAjIyBoMjY0 X3FwZWwyX2hfbG93cGFzcykodWludDhfdCAqcF9kc3QsIGNvbnN0IHVpbnQ4X3QgKnJlc3RyaWN0 IHBfc3JjLCBpbnQgZHN0U3RyaWRlLCBpbnQgc3JjU3RyaWRlKVwKIHtcCiAgICAgY29uc3QgaW50 IGg9MjtcCiAgICAgaW50IGk7XApAQCAtOTIsNyArOTIsNyBAQCBzdGF0aWMgYXZfdW51c2VkIHZv aWQgRlVOQyhPUE5BTUUgIyMgaDI2NF9xcGVsMl9oX2xvd3Bhc3MpKHVpbnQ4X3QgKnBfZHN0LCBj b25zdAogICAgIH1cCiB9XAogXAotc3RhdGljIGF2X3VudXNlZCB2b2lkIEZVTkMoT1BOQU1FICMj IGgyNjRfcXBlbDJfdl9sb3dwYXNzKSh1aW50OF90ICpfZHN0LCBjb25zdCB1aW50OF90ICpyZXN0 cmljdCBfc3JjLCBpbnQgZHN0U3RyaWRlLCBpbnQgc3JjU3RyaWRlKVwKK2F2X3VudXNlZCBzdGF0 aWMgdm9pZCBGVU5DKE9QTkFNRSAjIyBoMjY0X3FwZWwyX3ZfbG93cGFzcykodWludDhfdCAqX2Rz dCwgY29uc3QgdWludDhfdCAqcmVzdHJpY3QgX3NyYywgaW50IGRzdFN0cmlkZSwgaW50IHNyY1N0 cmlkZSlcCiB7XAogICAgIGNvbnN0IGludCB3PTI7XAogICAgIGludCBpO1wKQEAgLTExNiw3ICsx MTYsNyBAQCBzdGF0aWMgYXZfdW51c2VkIHZvaWQgRlVOQyhPUE5BTUUgIyMgaDI2NF9xcGVsMl92 X2xvd3Bhc3MpKHVpbnQ4X3QgKl9kc3QsIGNvbnN0CiAgICAgfVwKIH1cCiBcCi1zdGF0aWMgYXZf dW51c2VkIHZvaWQgRlVOQyhPUE5BTUUgIyMgaDI2NF9xcGVsMl9odl9sb3dwYXNzKSh1aW50OF90 ICpfZHN0LCBwaXhlbHRtcCAqdG1wLCBjb25zdCB1aW50OF90ICpyZXN0cmljdCBfc3JjLCBpbnQg ZHN0U3RyaWRlLCBpbnQgdG1wU3RyaWRlLCBpbnQgc3JjU3RyaWRlKVwKK2F2X3VudXNlZCBzdGF0 aWMgdm9pZCBGVU5DKE9QTkFNRSAjIyBoMjY0X3FwZWwyX2h2X2xvd3Bhc3MpKHVpbnQ4X3QgKl9k c3QsIHBpeGVsdG1wICp0bXAsIGNvbnN0IHVpbnQ4X3QgKnJlc3RyaWN0IF9zcmMsIGludCBkc3RT dHJpZGUsIGludCB0bXBTdHJpZGUsIGludCBzcmNTdHJpZGUpXAoge1wKICAgICBjb25zdCBpbnQg aD0yO1wKICAgICBjb25zdCBpbnQgdz0yO1wKZGlmZiAtLWdpdCBhL2xpYmF2Y29kZWMvaHF4dmxj LmggYi9saWJhdmNvZGVjL2hxeHZsYy5oCmluZGV4IGFiZjgxZjYwYWQuLjg2NGE0YjJkYmQgMTAw NjQ0Ci0tLSBhL2xpYmF2Y29kZWMvaHF4dmxjLmgKKysrIGIvbGliYXZjb2RlYy9ocXh2bGMuaApA QCAtMTUzMSw3ICsxNTMxLDcgQEAgc3RhdGljIGNvbnN0IFZMQ0VsZW0gKmRjX3ZsY1syXTsKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWUgIyMgX3ZsY19iaXRz LCAyLCAyLCAwKTsgICAgICAgIFwKICAgICB9IHdoaWxlICgwKQogCi1zdGF0aWMgYXZfY29sZCBh dl91bnVzZWQgdm9pZCBocXhfaW5pdF9zdGF0aWModm9pZCkKK2F2X3VudXNlZCBhdl9jb2xkIHN0 YXRpYyB2b2lkIGhxeF9pbml0X3N0YXRpYyh2b2lkKQogewogICAgIFZMQ0luaXRTdGF0ZSBzdGF0 ZSA9IFZMQ19JTklUX1NUQVRFKGNicF92bGMpOwogICAgIGNvbnN0IHVpbnQ4X3QgKmxlbnMgPSBo cXhfYWNfbGVuczsKZGlmZiAtLWdpdCBhL2xpYmF2Y29kZWMvanBlZzIwMDBkZWMuYyBiL2xpYmF2 Y29kZWMvanBlZzIwMDBkZWMuYwppbmRleCAyMjFiYTg3MzA1Li41ZDE1MDJmYWJiIDEwMDY0NAot LS0gYS9saWJhdmNvZGVjL2pwZWcyMDAwZGVjLmMKKysrIGIvbGliYXZjb2RlYy9qcGVnMjAwMGRl Yy5jCkBAIC0yNzgxLDcgKzI3ODEsNyBAQCBzdGF0aWMgaW50IGpwMl9maW5kX2NvZGVzdHJlYW0o SnBlZzIwMDBEZWNvZGVyQ29udGV4dCAqcykKICAgICAgICAgICAgICAgICAgICAgaW50IG4gPSBi eXRlc3RyZWFtMl9nZXRfYmUxNnUoJnMtPmcpOwogICAgICAgICAgICAgICAgICAgICBmb3IgKDsg bj4wOyBuLS0pIHsKICAgICAgICAgICAgICAgICAgICAgICAgIGludCBjbiAgID0gYnl0ZXN0cmVh bTJfZ2V0X2JlMTYoJnMtPmcpOwotICAgICAgICAgICAgICAgICAgICAgICAgaW50IGF2X3VudXNl ZCB0eXAgID0gYnl0ZXN0cmVhbTJfZ2V0X2JlMTYoJnMtPmcpOworICAgICAgICAgICAgICAgICAg ICAgICAgYXZfdW51c2VkIGludCB0eXAgID0gYnl0ZXN0cmVhbTJfZ2V0X2JlMTYoJnMtPmcpOwog ICAgICAgICAgICAgICAgICAgICAgICAgaW50IGFzb2MgPSBieXRlc3RyZWFtMl9nZXRfYmUxNigm cy0+Zyk7CiAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoY24gPCA0ICYmIGFzb2MgPCA0KQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHMtPmNkZWZbY25dID0gYXNvYzsKZGlmZiAtLWdp dCBhL2xpYmF2Y29kZWMvbGliYW9tZW5jLmMgYi9saWJhdmNvZGVjL2xpYmFvbWVuYy5jCmluZGV4 IDVkMjY1YTU0ZDEuLmU5YjE1ZmQ3YmQgMTAwNjQ0Ci0tLSBhL2xpYmF2Y29kZWMvbGliYW9tZW5j LmMKKysrIGIvbGliYXZjb2RlYy9saWJhb21lbmMuYwpAQCAtNDg0LDcgKzQ4NCw3IEBAIHN0YXRp YyBpbnQgc2V0X3BpeF9mbXQoQVZDb2RlY0NvbnRleHQgKmF2Y3R4LCBhb21fY29kZWNfY2Fwc190 IGNvZGVjX2NhcHMsCiAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBhb21fY29kZWNfZW5j X2NmZyAqZW5jY2ZnLCBhb21fY29kZWNfZmxhZ3NfdCAqZmxhZ3MsCiAgICAgICAgICAgICAgICAg ICAgICAgIGFvbV9pbWdfZm10X3QgKmltZ19mbXQpCiB7Ci0gICAgQU9NQ29udGV4dCBhdl91bnVz ZWQgKmN0eCA9IGF2Y3R4LT5wcml2X2RhdGE7CisgICAgYXZfdW51c2VkIEFPTUNvbnRleHQgKmN0 eCA9IGF2Y3R4LT5wcml2X2RhdGE7CiAgICAgY29uc3QgQVZQaXhGbXREZXNjcmlwdG9yICpkZXNj ID0gYXZfcGl4X2ZtdF9kZXNjX2dldChhdmN0eC0+cGl4X2ZtdCk7CiAgICAgZW5jY2ZnLT5nX2Jp dF9kZXB0aCA9IGVuY2NmZy0+Z19pbnB1dF9iaXRfZGVwdGggPSBkZXNjLT5jb21wWzBdLmRlcHRo OwogICAgIHN3aXRjaCAoYXZjdHgtPnBpeF9mbXQpIHsKQEAgLTEwOTAsNyArMTA5MCw3IEBAIHN0 YXRpYyBpbnQgc3RvcmVmcmFtZShBVkNvZGVjQ29udGV4dCAqYXZjdHgsIHN0cnVjdCBGcmFtZUxp c3REYXRhICpjeF9mcmFtZSwKICAgICAgICAgICAgICAgICAgICAgICBBVlBhY2tldCAqcGt0KQog ewogICAgIEFPTUNvbnRleHQgKmN0eCA9IGF2Y3R4LT5wcml2X2RhdGE7Ci0gICAgaW50IGF2X3Vu dXNlZCBwaWN0X3R5cGU7CisgICAgYXZfdW51c2VkIGludCBwaWN0X3R5cGU7CiAgICAgaW50IHJl dCA9IGZmX2dldF9lbmNvZGVfYnVmZmVyKGF2Y3R4LCBwa3QsIGN4X2ZyYW1lLT5zeiwgMCk7CiAg ICAgaWYgKHJldCA8IDApIHsKICAgICAgICAgYXZfbG9nKGF2Y3R4LCBBVl9MT0dfRVJST1IsCmRp ZmYgLS1naXQgYS9saWJhdmNvZGVjL2xpYnN2dGF2MS5jIGIvbGliYXZjb2RlYy9saWJzdnRhdjEu YwppbmRleCBjNmEwZmY5MGJjLi40YTI0OWEwMDMyIDEwMDY0NAotLS0gYS9saWJhdmNvZGVjL2xp YnN2dGF2MS5jCisrKyBiL2xpYmF2Y29kZWMvbGlic3Z0YXYxLmMKQEAgLTIxMCw3ICsyMTAsNyBA QCBzdGF0aWMgaW50IGNvbmZpZ19lbmNfcGFyYW1zKEViU3Z0QXYxRW5jQ29uZmlndXJhdGlvbiAq cGFyYW0sCiB7CiAgICAgU3Z0Q29udGV4dCAqc3Z0X2VuYyA9IGF2Y3R4LT5wcml2X2RhdGE7CiAg ICAgY29uc3QgQVZQaXhGbXREZXNjcmlwdG9yICpkZXNjOwotICAgIGNvbnN0IEFWRGljdGlvbmFy eUVudHJ5IGF2X3VudXNlZCAqZW4gPSBOVUxMOworICAgIGF2X3VudXNlZCBjb25zdCBBVkRpY3Rp b25hcnlFbnRyeSAqZW4gPSBOVUxMOwogCiAgICAgLy8gVXBkYXRlIHBhcmFtIGZyb20gb3B0aW9u cwogICAgIGlmIChzdnRfZW5jLT5lbmNfbW9kZSA+PSAtMSkKZGlmZiAtLWdpdCBhL2xpYmF2Y29k ZWMvbWlwcy92cDhkc3BfbW1pLmMgYi9saWJhdmNvZGVjL21pcHMvdnA4ZHNwX21taS5jCmluZGV4 IDhiNTE4ZTljNDkuLjZkZTQwNWJmYjUgMTAwNjQ0Ci0tLSBhL2xpYmF2Y29kZWMvbWlwcy92cDhk c3BfbW1pLmMKKysrIGIvbGliYXZjb2RlYy9taXBzL3ZwOGRzcF9tbWkuYwpAQCAtNjY5LDEwICs2 NjksMTAgQEAgc3RhdGljIGNvbnN0IHVpbnQ4X3Qgc3VicGVsX2ZpbHRlcnNbN11bNl0gPSB7CiBz dGF0aWMgYXZfYWx3YXlzX2lubGluZSB2b2lkIHZwOF9maWx0ZXJfY29tbW9uX2lzNHRhcCh1aW50 OF90ICpwLAogICAgICAgICBwdHJkaWZmX3Qgc3RyaWRlKQogewotICAgIGludCBhdl91bnVzZWQg cDEgPSBwWy0yICogc3RyaWRlXTsKLSAgICBpbnQgYXZfdW51c2VkIHAwID0gcFstMSAqIHN0cmlk ZV07Ci0gICAgaW50IGF2X3VudXNlZCBxMCA9IHBbIDAgKiBzdHJpZGVdOwotICAgIGludCBhdl91 bnVzZWQgcTEgPSBwWyAxICogc3RyaWRlXTsKKyAgICBhdl91bnVzZWQgaW50IHAxID0gcFstMiAq IHN0cmlkZV07CisgICAgYXZfdW51c2VkIGludCBwMCA9IHBbLTEgKiBzdHJpZGVdOworICAgIGF2 X3VudXNlZCBpbnQgcTAgPSBwWyAwICogc3RyaWRlXTsKKyAgICBhdl91bnVzZWQgaW50IHExID0g cFsgMSAqIHN0cmlkZV07CiAgICAgaW50IGEsIGYxLCBmMjsKICAgICBjb25zdCB1aW50OF90ICpj bSA9IGZmX2Nyb3BfdGFiICsgTUFYX05FR19DUk9QOwogCkBAIC02OTQsMTAgKzY5NCwxMCBAQCBz dGF0aWMgYXZfYWx3YXlzX2lubGluZSB2b2lkIHZwOF9maWx0ZXJfY29tbW9uX2lzNHRhcCh1aW50 OF90ICpwLAogc3RhdGljIGF2X2Fsd2F5c19pbmxpbmUgdm9pZCB2cDhfZmlsdGVyX2NvbW1vbl9p c25vdDR0YXAodWludDhfdCAqcCwKICAgICAgICAgcHRyZGlmZl90IHN0cmlkZSkKIHsKLSAgICBp bnQgYXZfdW51c2VkIHAxID0gcFstMiAqIHN0cmlkZV07Ci0gICAgaW50IGF2X3VudXNlZCBwMCA9 IHBbLTEgKiBzdHJpZGVdOwotICAgIGludCBhdl91bnVzZWQgcTAgPSBwWyAwICogc3RyaWRlXTsK LSAgICBpbnQgYXZfdW51c2VkIHExID0gcFsgMSAqIHN0cmlkZV07CisgICAgYXZfdW51c2VkIGlu dCBwMSA9IHBbLTIgKiBzdHJpZGVdOworICAgIGF2X3VudXNlZCBpbnQgcDAgPSBwWy0xICogc3Ry aWRlXTsKKyAgICBhdl91bnVzZWQgaW50IHEwID0gcFsgMCAqIHN0cmlkZV07CisgICAgYXZfdW51 c2VkIGludCBxMSA9IHBbIDEgKiBzdHJpZGVdOwogICAgIGludCBhLCBmMSwgZjI7CiAgICAgY29u c3QgdWludDhfdCAqY20gPSBmZl9jcm9wX3RhYiArIE1BWF9ORUdfQ1JPUDsKIApAQCAtNzIxLDIw ICs3MjEsMjAgQEAgc3RhdGljIGF2X2Fsd2F5c19pbmxpbmUgdm9pZCB2cDhfZmlsdGVyX2NvbW1v bl9pc25vdDR0YXAodWludDhfdCAqcCwKIHN0YXRpYyBhdl9hbHdheXNfaW5saW5lIGludCB2cDhf c2ltcGxlX2xpbWl0KHVpbnQ4X3QgKnAsIHB0cmRpZmZfdCBzdHJpZGUsCiAgICAgICAgIGludCBm bGltKQogewotICAgIGludCBhdl91bnVzZWQgcDEgPSBwWy0yICogc3RyaWRlXTsKLSAgICBpbnQg YXZfdW51c2VkIHAwID0gcFstMSAqIHN0cmlkZV07Ci0gICAgaW50IGF2X3VudXNlZCBxMCA9IHBb IDAgKiBzdHJpZGVdOwotICAgIGludCBhdl91bnVzZWQgcTEgPSBwWyAxICogc3RyaWRlXTsKKyAg ICBhdl91bnVzZWQgaW50IHAxID0gcFstMiAqIHN0cmlkZV07CisgICAgYXZfdW51c2VkIGludCBw MCA9IHBbLTEgKiBzdHJpZGVdOworICAgIGF2X3VudXNlZCBpbnQgcTAgPSBwWyAwICogc3RyaWRl XTsKKyAgICBhdl91bnVzZWQgaW50IHExID0gcFsgMSAqIHN0cmlkZV07CiAKICAgICByZXR1cm4g MiAqIEZGQUJTKHAwIC0gcTApICsgKEZGQUJTKHAxIC0gcTEpID4+IDEpIDw9IGZsaW07CiB9CiAK IHN0YXRpYyBhdl9hbHdheXNfaW5saW5lIGludCBoZXYodWludDhfdCAqcCwgcHRyZGlmZl90IHN0 cmlkZSwgaW50IHRocmVzaCkKIHsKLSAgICBpbnQgYXZfdW51c2VkIHAxID0gcFstMiAqIHN0cmlk ZV07Ci0gICAgaW50IGF2X3VudXNlZCBwMCA9IHBbLTEgKiBzdHJpZGVdOwotICAgIGludCBhdl91 bnVzZWQgcTAgPSBwWyAwICogc3RyaWRlXTsKLSAgICBpbnQgYXZfdW51c2VkIHExID0gcFsgMSAq IHN0cmlkZV07CisgICAgYXZfdW51c2VkIGludCBwMSA9IHBbLTIgKiBzdHJpZGVdOworICAgIGF2 X3VudXNlZCBpbnQgcDAgPSBwWy0xICogc3RyaWRlXTsKKyAgICBhdl91bnVzZWQgaW50IHEwID0g cFsgMCAqIHN0cmlkZV07CisgICAgYXZfdW51c2VkIGludCBxMSA9IHBbIDEgKiBzdHJpZGVdOwog CiAgICAgcmV0dXJuIEZGQUJTKHAxIC0gcDApID4gdGhyZXNoIHx8IEZGQUJTKHExIC0gcTApID4g dGhyZXNoOwogfQpAQCAtNzQ0LDEyICs3NDQsMTIgQEAgc3RhdGljIGF2X2Fsd2F5c19pbmxpbmUg dm9pZCBmaWx0ZXJfbWJlZGdlKHVpbnQ4X3QgKnAsIHB0cmRpZmZfdCBzdHJpZGUpCiAgICAgaW50 IGEwLCBhMSwgYTIsIHc7CiAgICAgY29uc3QgdWludDhfdCAqY20gPSBmZl9jcm9wX3RhYiArIE1B WF9ORUdfQ1JPUDsKIAotICAgIGludCBhdl91bnVzZWQgcDIgPSBwWy0zICogc3RyaWRlXTsKLSAg ICBpbnQgYXZfdW51c2VkIHAxID0gcFstMiAqIHN0cmlkZV07Ci0gICAgaW50IGF2X3VudXNlZCBw MCA9IHBbLTEgKiBzdHJpZGVdOwotICAgIGludCBhdl91bnVzZWQgcTAgPSBwWyAwICogc3RyaWRl XTsKLSAgICBpbnQgYXZfdW51c2VkIHExID0gcFsgMSAqIHN0cmlkZV07Ci0gICAgaW50IGF2X3Vu dXNlZCBxMiA9IHBbIDIgKiBzdHJpZGVdOworICAgIGF2X3VudXNlZCBpbnQgcDIgPSBwWy0zICog c3RyaWRlXTsKKyAgICBhdl91bnVzZWQgaW50IHAxID0gcFstMiAqIHN0cmlkZV07CisgICAgYXZf dW51c2VkIGludCBwMCA9IHBbLTEgKiBzdHJpZGVdOworICAgIGF2X3VudXNlZCBpbnQgcTAgPSBw WyAwICogc3RyaWRlXTsKKyAgICBhdl91bnVzZWQgaW50IHExID0gcFsgMSAqIHN0cmlkZV07Cisg ICAgYXZfdW51c2VkIGludCBxMiA9IHBbIDIgKiBzdHJpZGVdOwogCiAgICAgdyA9IGNsaXBfaW50 OChwMSAtIHExKTsKICAgICB3ID0gY2xpcF9pbnQ4KHcgKyAzICogKHEwIC0gcDApKTsKQEAgLTc2 OSwxNCArNzY5LDE0IEBAIHN0YXRpYyBhdl9hbHdheXNfaW5saW5lIHZvaWQgZmlsdGVyX21iZWRn ZSh1aW50OF90ICpwLCBwdHJkaWZmX3Qgc3RyaWRlKQogc3RhdGljIGF2X2Fsd2F5c19pbmxpbmUg aW50IHZwOF9ub3JtYWxfbGltaXQodWludDhfdCAqcCwgcHRyZGlmZl90IHN0cmlkZSwKICAgICAg ICAgaW50IEUsIGludCBJKQogewotICAgIGludCBhdl91bnVzZWQgcDMgPSBwWy00ICogc3RyaWRl XTsKLSAgICBpbnQgYXZfdW51c2VkIHAyID0gcFstMyAqIHN0cmlkZV07Ci0gICAgaW50IGF2X3Vu dXNlZCBwMSA9IHBbLTIgKiBzdHJpZGVdOwotICAgIGludCBhdl91bnVzZWQgcDAgPSBwWy0xICog c3RyaWRlXTsKLSAgICBpbnQgYXZfdW51c2VkIHEwID0gcFsgMCAqIHN0cmlkZV07Ci0gICAgaW50 IGF2X3VudXNlZCBxMSA9IHBbIDEgKiBzdHJpZGVdOwotICAgIGludCBhdl91bnVzZWQgcTIgPSBw WyAyICogc3RyaWRlXTsKLSAgICBpbnQgYXZfdW51c2VkIHEzID0gcFsgMyAqIHN0cmlkZV07Cisg ICAgYXZfdW51c2VkIGludCBwMyA9IHBbLTQgKiBzdHJpZGVdOworICAgIGF2X3VudXNlZCBpbnQg cDIgPSBwWy0zICogc3RyaWRlXTsKKyAgICBhdl91bnVzZWQgaW50IHAxID0gcFstMiAqIHN0cmlk ZV07CisgICAgYXZfdW51c2VkIGludCBwMCA9IHBbLTEgKiBzdHJpZGVdOworICAgIGF2X3VudXNl ZCBpbnQgcTAgPSBwWyAwICogc3RyaWRlXTsKKyAgICBhdl91bnVzZWQgaW50IHExID0gcFsgMSAq IHN0cmlkZV07CisgICAgYXZfdW51c2VkIGludCBxMiA9IHBbIDIgKiBzdHJpZGVdOworICAgIGF2 X3VudXNlZCBpbnQgcTMgPSBwWyAzICogc3RyaWRlXTsKIAogICAgIHJldHVybiB2cDhfc2ltcGxl X2xpbWl0KHAsIHN0cmlkZSwgRSkgJiYKICAgICAgICAgICAgRkZBQlMocDMgLSBwMikgPD0gSSAm JiBGRkFCUyhwMiAtIHAxKSA8PSBJICYmCmRpZmYgLS1naXQgYS9saWJhdmNvZGVjL21vdGlvbl9l c3RfdGVtcGxhdGUuYyBiL2xpYmF2Y29kZWMvbW90aW9uX2VzdF90ZW1wbGF0ZS5jCmluZGV4IGFh NjY5ZTBlZTcuLmNmNDgxZTJjNmYgMTAwNjQ0Ci0tLSBhL2xpYmF2Y29kZWMvbW90aW9uX2VzdF90 ZW1wbGF0ZS5jCisrKyBiL2xpYmF2Y29kZWMvbW90aW9uX2VzdF90ZW1wbGF0ZS5jCkBAIC0yOSwx MSArMjksMTEgQEAKIAogLy9MZXQgdXMgaG9wZSBnY2Mgd2lsbCByZW1vdmUgdGhlIHVudXNlZCB2 YXJzIC4uLihnY2MgMy4yLjIgc2VlbXMgdG8gZG8gaXQgLi4uKQogI2RlZmluZSBMT0FEX0NPTU1P TlwKLSAgICB1aW50MzJfdCBhdl91bnVzZWQgKiBjb25zdCBzY29yZV9tYXA9IGMtPnNjb3JlX21h cDtcCi0gICAgY29uc3QgaW50IGF2X3VudXNlZCB4bWluPSBjLT54bWluO1wKLSAgICBjb25zdCBp bnQgYXZfdW51c2VkIHltaW49IGMtPnltaW47XAotICAgIGNvbnN0IGludCBhdl91bnVzZWQgeG1h eD0gYy0+eG1heDtcCi0gICAgY29uc3QgaW50IGF2X3VudXNlZCB5bWF4PSBjLT55bWF4O1wKKyAg ICBhdl91bnVzZWQgdWludDMyX3QgKiBjb25zdCBzY29yZV9tYXA9IGMtPnNjb3JlX21hcDtcCisg ICAgYXZfdW51c2VkIGNvbnN0IGludCB4bWluPSBjLT54bWluO1wKKyAgICBhdl91bnVzZWQgY29u c3QgaW50IHltaW49IGMtPnltaW47XAorICAgIGF2X3VudXNlZCBjb25zdCBpbnQgeG1heD0gYy0+ eG1heDtcCisgICAgYXZfdW51c2VkIGNvbnN0IGludCB5bWF4PSBjLT55bWF4O1wKICAgICBjb25z dCB1aW50OF90ICptdl9wZW5hbHR5ID0gYy0+Y3VycmVudF9tdl9wZW5hbHR5OyBcCiAgICAgY29u c3QgaW50IHByZWRfeD0gYy0+cHJlZF94O1wKICAgICBjb25zdCBpbnQgcHJlZF95PSBjLT5wcmVk X3k7XApkaWZmIC0tZ2l0IGEvbGliYXZjb2RlYy9wY20uYyBiL2xpYmF2Y29kZWMvcGNtLmMKaW5k ZXggZWEzZTY2ODY4ZC4uMTU3YWRjOTJkNyAxMDA2NDQKLS0tIGEvbGliYXZjb2RlYy9wY20uYwor KysgYi9saWJhdmNvZGVjL3BjbS5jCkBAIC0zOCw3ICszOCw3IEBACiAjaW5jbHVkZSAiZW5jb2Rl LmgiCiAjaW5jbHVkZSAicGNtX3RhYmxlZ2VuLmgiCiAKLXN0YXRpYyBhdl9jb2xkIGF2X3VudXNl ZCBpbnQgcGNtX2VuY29kZV9pbml0KEFWQ29kZWNDb250ZXh0ICphdmN0eCkKK2F2X3VudXNlZCBh dl9jb2xkIHN0YXRpYyBpbnQgcGNtX2VuY29kZV9pbml0KEFWQ29kZWNDb250ZXh0ICphdmN0eCkK IHsKICAgICBhdmN0eC0+ZnJhbWVfc2l6ZSA9IDA7CiAjaWYgIUNPTkZJR19IQVJEQ09ERURfVEFC TEVTCkBAIC0xMDQsNyArMTA0LDcgQEAgc3RhdGljIGF2X2NvbGQgYXZfdW51c2VkIGludCBwY21f ZW5jb2RlX2luaXQoQVZDb2RlY0NvbnRleHQgKmF2Y3R4KQogICAgICAgICB9ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAg IH0KIAotc3RhdGljIGF2X3VudXNlZCBpbnQgcGNtX2VuY29kZV9mcmFtZShBVkNvZGVjQ29udGV4 dCAqYXZjdHgsIEFWUGFja2V0ICphdnBrdCwKK2F2X3VudXNlZCBzdGF0aWMgaW50IHBjbV9lbmNv ZGVfZnJhbWUoQVZDb2RlY0NvbnRleHQgKmF2Y3R4LCBBVlBhY2tldCAqYXZwa3QsCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IEFWRnJhbWUgKmZyYW1lLCBpbnQg KmdvdF9wYWNrZXRfcHRyKQogewogICAgIGludCBuLCBjLCBzYW1wbGVfc2l6ZSwgcmV0OwpAQCAt MjYzLDcgKzI2Myw3IEBAIHR5cGVkZWYgc3RydWN0IFBDTURlY29kZSB7CiAgICAgaW50IHNhbXBs ZV9zaXplOwogfSBQQ01EZWNvZGU7CiAKLXN0YXRpYyBhdl9jb2xkIGF2X3VudXNlZCBpbnQgcGNt X2RlY29kZV9pbml0KEFWQ29kZWNDb250ZXh0ICphdmN0eCkKK2F2X3VudXNlZCBhdl9jb2xkIHN0 YXRpYyBpbnQgcGNtX2RlY29kZV9pbml0KEFWQ29kZWNDb250ZXh0ICphdmN0eCkKIHsKICAgICBQ Q01EZWNvZGUgKnMgPSBhdmN0eC0+cHJpdl9kYXRhOwogICAgIHN0YXRpYyBjb25zdCBzdHJ1Y3Qg ewpAQCAtMzEzLDcgKzMxMyw3IEBAIHR5cGVkZWYgc3RydWN0IFBDTVNjYWxlRGVjb2RlIHsKICAg ICBmbG9hdCAgIHNjYWxlOwogfSBQQ01TY2FsZURlY29kZTsKIAotc3RhdGljIGF2X2NvbGQgYXZf dW51c2VkIGludCBwY21fc2NhbGVfZGVjb2RlX2luaXQoQVZDb2RlY0NvbnRleHQgKmF2Y3R4KQor YXZfdW51c2VkIGF2X2NvbGQgc3RhdGljIGludCBwY21fc2NhbGVfZGVjb2RlX2luaXQoQVZDb2Rl Y0NvbnRleHQgKmF2Y3R4KQogewogICAgIFBDTVNjYWxlRGVjb2RlICpzID0gYXZjdHgtPnByaXZf ZGF0YTsKICAgICBBVkZsb2F0RFNQQ29udGV4dCAqZmRzcDsKQEAgLTMzOSw3ICszMzksNyBAQCB0 eXBlZGVmIHN0cnVjdCBQQ01MVVREZWNvZGUgewogICAgIGludDE2X3QgICB0YWJsZVsyNTZdOwog fSBQQ01MVVREZWNvZGU7CiAKLXN0YXRpYyBhdl9jb2xkIGF2X3VudXNlZCBpbnQgcGNtX2x1dF9k ZWNvZGVfaW5pdChBVkNvZGVjQ29udGV4dCAqYXZjdHgpCithdl91bnVzZWQgYXZfY29sZCBzdGF0 aWMgaW50IHBjbV9sdXRfZGVjb2RlX2luaXQoQVZDb2RlY0NvbnRleHQgKmF2Y3R4KQogewogICAg IFBDTUxVVERlY29kZSAqcyA9IGF2Y3R4LT5wcml2X2RhdGE7CiAKZGlmZiAtLWdpdCBhL2xpYmF2 Y29kZWMvcHV0X2JpdHMuaCBiL2xpYmF2Y29kZWMvcHV0X2JpdHMuaAppbmRleCBjM2VlZTYyMmQ0 Li43ZWIyZjJmZWQ0IDEwMDY0NAotLS0gYS9saWJhdmNvZGVjL3B1dF9iaXRzLmgKKysrIGIvbGli YXZjb2RlYy9wdXRfYml0cy5oCkBAIC0yOTgsNyArMjk4LDcgQEAgc3RhdGljIGlubGluZSB2b2lk IHB1dF9zYml0cyhQdXRCaXRDb250ZXh0ICpwYiwgaW50IG4sIGludDMyX3QgdmFsdWUpCiAvKioK ICAqIFdyaXRlIGV4YWN0bHkgMzIgYml0cyBpbnRvIGEgYml0c3RyZWFtLgogICovCi1zdGF0aWMg dm9pZCBhdl91bnVzZWQgcHV0X2JpdHMzMihQdXRCaXRDb250ZXh0ICpzLCB1aW50MzJfdCB2YWx1 ZSkKK2F2X3VudXNlZCBzdGF0aWMgdm9pZCBwdXRfYml0czMyKFB1dEJpdENvbnRleHQgKnMsIHVp bnQzMl90IHZhbHVlKQogewogICAgIEJpdEJ1ZiBiaXRfYnVmOwogICAgIGludCBiaXRfbGVmdDsK ZGlmZiAtLWdpdCBhL2xpYmF2Y29kZWMvdjIxMGRlY19pbml0LmggYi9saWJhdmNvZGVjL3YyMTBk ZWNfaW5pdC5oCmluZGV4IGM3YTIzMmZlOGUuLmEwYzk3YmY0MjYgMTAwNjQ0Ci0tLSBhL2xpYmF2 Y29kZWMvdjIxMGRlY19pbml0LmgKKysrIGIvbGliYXZjb2RlYy92MjEwZGVjX2luaXQuaApAQCAt NTEsNyArNTEsNyBAQCBzdGF0aWMgdm9pZCB2MjEwX3BsYW5hcl91bnBhY2tfYyhjb25zdCB1aW50 MzJfdCAqc3JjLCB1aW50MTZfdCAqeSwgdWludDE2X3QgKnUsCiAgICAgfQogfQogCi1zdGF0aWMg YXZfdW51c2VkIGF2X2NvbGQgdm9pZCBmZl92MjEwZGVjX2luaXQoVjIxMERlY0NvbnRleHQgKnMp Cithdl91bnVzZWQgc3RhdGljIGF2X2NvbGQgdm9pZCBmZl92MjEwZGVjX2luaXQoVjIxMERlY0Nv bnRleHQgKnMpCiB7CiAgICAgcy0+dW5wYWNrX2ZyYW1lID0gdjIxMF9wbGFuYXJfdW5wYWNrX2M7 CiAjaWYgQVJDSF9YODYKZGlmZiAtLWdpdCBhL2xpYmF2Y29kZWMvdjIxMGVuY19pbml0LmggYi9s aWJhdmNvZGVjL3YyMTBlbmNfaW5pdC5oCmluZGV4IGEwZTU2MjJmNGYuLjAxYjY5ODFiNTAgMTAw NjQ0Ci0tLSBhL2xpYmF2Y29kZWMvdjIxMGVuY19pbml0LmgKKysrIGIvbGliYXZjb2RlYy92MjEw ZW5jX2luaXQuaApAQCAtNzYsNyArNzYsNyBAQCBzdGF0aWMgdm9pZCB2MjEwX3BsYW5hcl9wYWNr XzEwX2MoY29uc3QgdWludDE2X3QgKnksIGNvbnN0IHVpbnQxNl90ICp1LAogICAgIH0KIH0KIAot c3RhdGljIGF2X2NvbGQgYXZfdW51c2VkIHZvaWQgZmZfdjIxMGVuY19pbml0KFYyMTBFbmNDb250 ZXh0ICpzKQorYXZfdW51c2VkIGF2X2NvbGQgc3RhdGljIHZvaWQgZmZfdjIxMGVuY19pbml0KFYy MTBFbmNDb250ZXh0ICpzKQogewogICAgIHMtPnBhY2tfbGluZV84ICA9IHYyMTBfcGxhbmFyX3Bh Y2tfOF9jOwogICAgIHMtPnBhY2tfbGluZV8xMCA9IHYyMTBfcGxhbmFyX3BhY2tfMTBfYzsKZGlm ZiAtLWdpdCBhL2xpYmF2Y29kZWMvdnA1Ni5oIGIvbGliYXZjb2RlYy92cDU2LmgKaW5kZXggZTky MmExM2M1ZS4uYWY0NmUyZjE4OCAxMDA2NDQKLS0tIGEvbGliYXZjb2RlYy92cDU2LmgKKysrIGIv bGliYXZjb2RlYy92cDU2LmgKQEAgLTIzOSw3ICsyMzksNyBAQCBzdGF0aWMgaW50IHZwNTZfcmFj X2dldHMoVlBYUmFuZ2VDb2RlciAqYywgaW50IGJpdHMpCiB9CiAKIC8vIFAoNykKLXN0YXRpYyBh dl91bnVzZWQgaW50IHZwNTZfcmFjX2dldHNfbm4oVlBYUmFuZ2VDb2RlciAqYywgaW50IGJpdHMp Cithdl91bnVzZWQgc3RhdGljIGludCB2cDU2X3JhY19nZXRzX25uKFZQWFJhbmdlQ29kZXIgKmMs IGludCBiaXRzKQogewogICAgIGludCB2ID0gdnA1Nl9yYWNfZ2V0cyhjLCA3KSA8PCAxOwogICAg IHJldHVybiB2ICsgIXY7CmRpZmYgLS1naXQgYS9saWJhdmNvZGVjL3ZwODlfcmFjLmggYi9saWJh dmNvZGVjL3ZwODlfcmFjLmgKaW5kZXggYmMwOTI0YzM4Ny4uZmY2Y2JhNWJhNiAxMDA2NDQKLS0t IGEvbGliYXZjb2RlYy92cDg5X3JhYy5oCisrKyBiL2xpYmF2Y29kZWMvdnA4OV9yYWMuaApAQCAt MzgsNyArMzgsNyBAQCBzdGF0aWMgYXZfYWx3YXlzX2lubGluZSBpbnQgdnA4OV9yYWNfZ2V0KFZQ WFJhbmdlQ29kZXIgKmMpCiAgICAgcmV0dXJuIHZweF9yYWNfZ2V0X3Byb2IoYywgMTI4KTsKIH0K IAotc3RhdGljIGF2X3VudXNlZCBpbnQgdnA4OV9yYWNfZ2V0X3VpbnQoVlBYUmFuZ2VDb2RlciAq YywgaW50IGJpdHMpCithdl91bnVzZWQgc3RhdGljIGludCB2cDg5X3JhY19nZXRfdWludChWUFhS YW5nZUNvZGVyICpjLCBpbnQgYml0cykKIHsKICAgICBpbnQgdmFsdWUgPSAwOwogCmRpZmYgLS1n aXQgYS9saWJhdmNvZGVjL3ZwOGRzcC5jIGIvbGliYXZjb2RlYy92cDhkc3AuYwppbmRleCA4OGJi NjdmNzhkLi4xNDZjYjBhN2M3IDEwMDY0NAotLS0gYS9saWJhdmNvZGVjL3ZwOGRzcC5jCisrKyBi L2xpYmF2Y29kZWMvdnA4ZHNwLmMKQEAgLTI0OSwxNCArMjQ5LDE0IEBAIE1LX0lEQ1RfRENfQURE NF9DKHZwOCkKIAogLy8gYmVjYXVzZSBJIGxpa2Ugb25seSBoYXZpbmcgdHdvIHBhcmFtZXRlcnMg dG8gcGFzcyBmdW5jdGlvbnMuLi4KICNkZWZpbmUgTE9BRF9QSVhFTFMgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBpbnQgYXZf dW51c2VkIHAzID0gcFstNCAqIHN0cmlkZV07ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIFwKLSAgICBpbnQgYXZfdW51c2VkIHAyID0gcFstMyAqIHN0cmlkZV07ICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBpbnQgYXZfdW51c2VkIHAx ID0gcFstMiAqIHN0cmlkZV07ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IFwKLSAgICBpbnQgYXZfdW51c2VkIHAwID0gcFstMSAqIHN0cmlkZV07ICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBpbnQgYXZfdW51c2VkIHEwID0gcFsgMCAq IHN0cmlkZV07ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBp bnQgYXZfdW51c2VkIHExID0gcFsgMSAqIHN0cmlkZV07ICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIFwKLSAgICBpbnQgYXZfdW51c2VkIHEyID0gcFsgMiAqIHN0cmlkZV07 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBpbnQgYXZfdW51 c2VkIHEzID0gcFsgMyAqIHN0cmlkZV07CisgICAgYXZfdW51c2VkIGludCBwMyA9IHBbLTQgKiBz dHJpZGVdOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgYXZf dW51c2VkIGludCBwMiA9IHBbLTMgKiBzdHJpZGVdOyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBcCisgICAgYXZfdW51c2VkIGludCBwMSA9IHBbLTIgKiBzdHJpZGVdOyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgYXZfdW51c2VkIGlu dCBwMCA9IHBbLTEgKiBzdHJpZGVdOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBcCisgICAgYXZfdW51c2VkIGludCBxMCA9IHBbIDAgKiBzdHJpZGVdOyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgYXZfdW51c2VkIGludCBxMSA9IHBb IDEgKiBzdHJpZGVdOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisg ICAgYXZfdW51c2VkIGludCBxMiA9IHBbIDIgKiBzdHJpZGVdOyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBcCisgICAgYXZfdW51c2VkIGludCBxMyA9IHBbIDMgKiBzdHJp ZGVdOwogCiAjZGVmaW5lIGNsaXBfaW50OChuKSAoY21bKG4pICsgMHg4MF0gLSAweDgwKQogCmRp ZmYgLS1naXQgYS9saWJhdmNvZGVjL3dtYWxvc3NsZXNzZGVjLmMgYi9saWJhdmNvZGVjL3dtYWxv c3NsZXNzZGVjLmMKaW5kZXggMjQzMzg4YTY1Yi4uYTMzODVmOWIyNSAxMDA2NDQKLS0tIGEvbGli YXZjb2RlYy93bWFsb3NzbGVzc2RlYy5jCisrKyBiL2xpYmF2Y29kZWMvd21hbG9zc2xlc3NkZWMu YwpAQCAtMTA1Nyw3ICsxMDU3LDcgQEAgc3RhdGljIGludCBkZWNvZGVfZnJhbWUoV21hbGxEZWNv ZGVDdHggKnMpCiAgICAgLyogbm8gaWRlYSB3aGF0IHRoZXNlIGFyZSBmb3IsIG1pZ2h0IGJlIHRo ZSBudW1iZXIgb2Ygc2FtcGxlcwogICAgICAgIHRoYXQgbmVlZCB0byBiZSBza2lwcGVkIGF0IHRo ZSBiZWdpbm5pbmcgb3IgZW5kIG9mIGEgc3RyZWFtICovCiAgICAgaWYgKGdldF9iaXRzMShnYikp IHsKLSAgICAgICAgaW50IGF2X3VudXNlZCBza2lwOworICAgICAgICBhdl91bnVzZWQgaW50IHNr aXA7CiAKICAgICAgICAgLyogdXN1YWxseSB0cnVlIGZvciB0aGUgZmlyc3QgZnJhbWUgKi8KICAg ICAgICAgaWYgKGdldF9iaXRzMShnYikpIHsKZGlmZiAtLWdpdCBhL2xpYmF2Y29kZWMveDg2L2gy NjRfcXBlbC5jIGIvbGliYXZjb2RlYy94ODYvaDI2NF9xcGVsLmMKaW5kZXggZDY5Y2NkYTg5Yy4u YTM0NWY2NDkwMCAxMDA2NDQKLS0tIGEvbGliYXZjb2RlYy94ODYvaDI2NF9xcGVsLmMKKysrIGIv bGliYXZjb2RlYy94ODYvaDI2NF9xcGVsLmMKQEAgLTIyMCw3ICsyMjAsNyBAQCBzdGF0aWMgdm9p ZCBhdmdfaDI2NF9xcGVsMTZfbWMwMF9zc2UyICh1aW50OF90ICpkc3QsIGNvbnN0IHVpbnQ4X3Qg KnNyYywKICNkZWZpbmUgYXZnX2gyNjRfcXBlbDhfbWMwMF9zc2UyIGF2Z19oMjY0X3FwZWw4X21j MDBfbW14ZXh0CiAKICNkZWZpbmUgSDI2NF9NQ19DKE9QTkFNRSwgU0laRSwgTU1YLCBBTElHTikg XAotc3RhdGljIHZvaWQgYXZfdW51c2VkIE9QTkFNRSAjIyBoMjY0X3FwZWwgIyMgU0laRSAjIyBf bWMwMF8gIyMgTU1YICh1aW50OF90ICpkc3QsIGNvbnN0IHVpbnQ4X3QgKnNyYywgcHRyZGlmZl90 IHN0cmlkZSlcCithdl91bnVzZWQgc3RhdGljIHZvaWQgT1BOQU1FICMjIGgyNjRfcXBlbCAjIyBT SVpFICMjIF9tYzAwXyAjIyBNTVggKHVpbnQ4X3QgKmRzdCwgY29uc3QgdWludDhfdCAqc3JjLCBw dHJkaWZmX3Qgc3RyaWRlKVwKIHtcCiAgICAgZmZfICMjIE9QTkFNRSAjIyBwaXhlbHMgIyMgU0la RSAjIyBfICMjIE1NWChkc3QsIHNyYywgc3RyaWRlLCBTSVpFKTtcCiB9XApkaWZmIC0tZ2l0IGEv bGliYXZmaWx0ZXIvYWZfYWZpcmRzcC5oIGIvbGliYXZmaWx0ZXIvYWZfYWZpcmRzcC5oCmluZGV4 IDgyN2UwNjdhOWIuLmFjNjg0NDczMjMgMTAwNjQ0Ci0tLSBhL2xpYmF2ZmlsdGVyL2FmX2FmaXJk c3AuaAorKysgYi9saWJhdmZpbHRlci9hZl9hZmlyZHNwLmgKQEAgLTcwLDcgKzcwLDcgQEAgc3Rh dGljIHZvaWQgZGNtdWxfYWRkX2MoZG91YmxlICpzdW0sIGNvbnN0IGRvdWJsZSAqdCwgY29uc3Qg ZG91YmxlICpjLCBwdHJkaWZmX3QKICAgICBzdW1bMiAqIG5dICs9IHRbMiAqIG5dICogY1syICog bl07CiB9CiAKLXN0YXRpYyBhdl91bnVzZWQgdm9pZCBmZl9hZmlyX2luaXQoQXVkaW9GSVJEU1BD b250ZXh0ICpkc3ApCithdl91bnVzZWQgc3RhdGljIHZvaWQgZmZfYWZpcl9pbml0KEF1ZGlvRklS RFNQQ29udGV4dCAqZHNwKQogewogICAgIGRzcC0+ZmNtdWxfYWRkID0gZmNtdWxfYWRkX2M7CiAg ICAgZHNwLT5kY211bF9hZGQgPSBkY211bF9hZGRfYzsKZGlmZiAtLWdpdCBhL2xpYmF2ZmlsdGVy L3ZmX2JsZW5kX2luaXQuaCBiL2xpYmF2ZmlsdGVyL3ZmX2JsZW5kX2luaXQuaAppbmRleCA5NTZl MWNiOWZjLi45OGQ0NDBmZTY3IDEwMDY0NAotLS0gYS9saWJhdmZpbHRlci92Zl9ibGVuZF9pbml0 LmgKKysrIGIvbGliYXZmaWx0ZXIvdmZfYmxlbmRfaW5pdC5oCkBAIC0xNTksNyArMTU5LDcgQEAg REVGSU5FX0lOSVRfQkxFTkRfRlVOQygxNCwgMTYpCiBERUZJTkVfSU5JVF9CTEVORF9GVU5DKDE2 LCAxNikKIERFRklORV9JTklUX0JMRU5EX0ZVTkMoMzIsIDMyKQogCi1zdGF0aWMgYXZfdW51c2Vk IHZvaWQgZmZfYmxlbmRfaW5pdChGaWx0ZXJQYXJhbXMgKnBhcmFtLCBpbnQgZGVwdGgpCithdl91 bnVzZWQgc3RhdGljIHZvaWQgZmZfYmxlbmRfaW5pdChGaWx0ZXJQYXJhbXMgKnBhcmFtLCBpbnQg ZGVwdGgpCiB7CiAgICAgc3dpdGNoIChkZXB0aCkgewogICAgIGNhc2UgODoKZGlmZiAtLWdpdCBh L2xpYmF2ZmlsdGVyL3ZmX2N1cnZlcy5jIGIvbGliYXZmaWx0ZXIvdmZfY3VydmVzLmMKaW5kZXgg ZDhkZmQzMjg1OC4uMWQ0YjJkM2I2ZSAxMDA2NDQKLS0tIGEvbGliYXZmaWx0ZXIvdmZfY3VydmVz LmMKKysrIGIvbGliYXZmaWx0ZXIvdmZfY3VydmVzLmMKQEAgLTU4OCw3ICs1ODgsNyBAQCBzdGF0 aWMgaW50IHBhcnNlX3BzZmlsZShBVkZpbHRlckNvbnRleHQgKmN0eCwgY29uc3QgY2hhciAqZm5h bWUpCiAgICAgQ3VydmVzQ29udGV4dCAqY3VydmVzID0gY3R4LT5wcml2OwogICAgIHVpbnQ4X3Qg KmJ1ZjsKICAgICBzaXplX3Qgc2l6ZTsKLSAgICBpbnQgaSwgcmV0LCBhdl91bnVzZWQodmVyc2lv biksIG5iX2N1cnZlczsKKyAgICBpbnQgaSwgcmV0LCB2ZXJzaW9uIGF2X3VudXNlZCwgbmJfY3Vy dmVzOwogICAgIEFWQlByaW50IHB0c3RyOwogICAgIHN0YXRpYyBjb25zdCBpbnQgY29tcF9pZHNb XSA9IHszLCAwLCAxLCAyfTsKIApkaWZmIC0tZ2l0IGEvbGliYXZmaWx0ZXIvdmZfZG5uX2RldGVj dC5jIGIvbGliYXZmaWx0ZXIvdmZfZG5uX2RldGVjdC5jCmluZGV4IDY0NzI1OWExNDEuLjgxNDg3 YmExNGIgMTAwNjQ0Ci0tLSBhL2xpYmF2ZmlsdGVyL3ZmX2Rubl9kZXRlY3QuYworKysgYi9saWJh dmZpbHRlci92Zl9kbm5fZGV0ZWN0LmMKQEAgLTM4OSw3ICszODksNyBAQCBzdGF0aWMgaW50IGRu bl9kZXRlY3RfcG9zdF9wcm9jX3NzZChBVkZyYW1lICpmcmFtZSwgRE5ORGF0YSAqb3V0cHV0LCBp bnQgbmJfb3V0cAogICAgIGF2X3N0cmxjcHkoaGVhZGVyLT5zb3VyY2UsIGN0eC0+ZG5uY3R4Lm1v ZGVsX2ZpbGVuYW1lLCBzaXplb2YoaGVhZGVyLT5zb3VyY2UpKTsKIAogICAgIGZvciAoaW50IGkg PSAwOyBpIDwgcHJvcG9zYWxfY291bnQ7ICsraSkgewotICAgICAgICBpbnQgYXZfdW51c2VkIGlt YWdlX2lkID0gKGludClkZXRlY3Rpb25zW2kgKiBkZXRlY3Rfc2l6ZSArIDBdOworICAgICAgICBh dl91bnVzZWQgaW50IGltYWdlX2lkID0gKGludClkZXRlY3Rpb25zW2kgKiBkZXRlY3Rfc2l6ZSAr IDBdOwogICAgICAgICBpbnQgbGFiZWxfaWQ7CiAgICAgICAgIGZsb2F0IGNvbmYsIHgwLCB5MCwg eDEsIHkxOwogCmRpZmYgLS1naXQgYS9saWJhdmZpbHRlci92Zl9lcS5oIGIvbGliYXZmaWx0ZXIv dmZfZXEuaAppbmRleCBjYmNhM2JjMjdjLi4xNTZmNmM2MWZlIDEwMDY0NAotLS0gYS9saWJhdmZp bHRlci92Zl9lcS5oCisrKyBiL2xpYmF2ZmlsdGVyL3ZmX2VxLmgKQEAgLTExOCw3ICsxMTgsNyBA QCBzdGF0aWMgdm9pZCBwcm9jZXNzX2MoRVFQYXJhbWV0ZXJzICpwYXJhbSwgdWludDhfdCAqZHN0 LCBpbnQgZHN0X3N0cmlkZSwKIAogdm9pZCBmZl9lcV9pbml0X3g4NihFUUNvbnRleHQgKmVxKTsK IAotc3RhdGljIGF2X3VudXNlZCB2b2lkIGZmX2VxX2luaXQoRVFDb250ZXh0ICplcSkKK2F2X3Vu dXNlZCBzdGF0aWMgdm9pZCBmZl9lcV9pbml0KEVRQ29udGV4dCAqZXEpCiB7CiAgICAgZXEtPnBy b2Nlc3MgPSBwcm9jZXNzX2M7CiAjaWYgQVJDSF9YODYKZGlmZiAtLWdpdCBhL2xpYmF2ZmlsdGVy L3ZmX2dibHVyX2luaXQuaCBiL2xpYmF2ZmlsdGVyL3ZmX2dibHVyX2luaXQuaAppbmRleCAyMTJk YjlmN2EwLi42N2NhNDZmOTVlIDEwMDY0NAotLS0gYS9saWJhdmZpbHRlci92Zl9nYmx1cl9pbml0 LmgKKysrIGIvbGliYXZmaWx0ZXIvdmZfZ2JsdXJfaW5pdC5oCkBAIC0xMDksNyArMTA5LDcgQEAg c3RhdGljIHZvaWQgdmVydGlfc2xpY2VfYyhmbG9hdCAqYnVmZmVyLCBpbnQgd2lkdGgsIGludCBo ZWlnaHQsCiAgICAgICAgICAgICAgICAgICAgICAgICBzdGVwcywgbnUsIGJvdW5kYXJ5c2NhbGUs IDEpOwogfQogCi1zdGF0aWMgYXZfdW51c2VkIHZvaWQgZmZfZ2JsdXJfaW5pdChHQmx1ckNvbnRl eHQgKnMpCithdl91bnVzZWQgc3RhdGljIHZvaWQgZmZfZ2JsdXJfaW5pdChHQmx1ckNvbnRleHQg KnMpCiB7CiAgICAgcy0+bG9jYWxidWYgPSBOVUxMOwogICAgIHMtPmhvcml6X3NsaWNlID0gaG9y aXpfc2xpY2VfYzsKZGlmZiAtLWdpdCBhL2xpYmF2ZmlsdGVyL3ZmX2hmbGlwX2luaXQuaCBiL2xp YmF2ZmlsdGVyL3ZmX2hmbGlwX2luaXQuaAppbmRleCA1YzFkNjliMmI2Li4wZjViMDYwN2MyIDEw MDY0NAotLS0gYS9saWJhdmZpbHRlci92Zl9oZmxpcF9pbml0LmgKKysrIGIvbGliYXZmaWx0ZXIv dmZfaGZsaXBfaW5pdC5oCkBAIC04Nyw3ICs4Nyw3IEBAIHN0YXRpYyB2b2lkIGhmbGlwX3F3b3Jk X2MoY29uc3QgdWludDhfdCAqc3NyYywgdWludDhfdCAqZGRzdCwgaW50IHcpCiAgICAgICAgIGRz dFtqXSA9IHNyY1stal07CiB9CiAKLXN0YXRpYyBhdl91bnVzZWQgaW50IGZmX2hmbGlwX2luaXQo RmxpcENvbnRleHQgKnMsIGludCBzdGVwWzRdLCBpbnQgbmJfcGxhbmVzKQorYXZfdW51c2VkIHN0 YXRpYyBpbnQgZmZfaGZsaXBfaW5pdChGbGlwQ29udGV4dCAqcywgaW50IHN0ZXBbNF0sIGludCBu Yl9wbGFuZXMpCiB7CiAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBuYl9wbGFuZXM7IGkrKykgewog ICAgICAgICBzdGVwW2ldICo9IHMtPmJheWVyX3BsdXMxOwpkaWZmIC0tZ2l0IGEvbGliYXZmaWx0 ZXIvdmZfbmxtZWFuc19pbml0LmggYi9saWJhdmZpbHRlci92Zl9ubG1lYW5zX2luaXQuaAppbmRl eCAwNmU5MzI5MzZiLi4zYTUzM2EwNzhhIDEwMDY0NAotLS0gYS9saWJhdmZpbHRlci92Zl9ubG1l YW5zX2luaXQuaAorKysgYi9saWJhdmZpbHRlci92Zl9ubG1lYW5zX2luaXQuaApAQCAtMTI0LDcg KzEyNCw3IEBAIHN0YXRpYyB2b2lkIGNvbXB1dGVfd2VpZ2h0c19saW5lX2MoY29uc3QgdWludDMy X3QgKmNvbnN0IGlpYSwKICAgICB9CiB9CiAKLXN0YXRpYyBhdl91bnVzZWQgdm9pZCBmZl9ubG1l YW5zX2luaXQoTkxNZWFuc0RTUENvbnRleHQgKmRzcCkKK2F2X3VudXNlZCBzdGF0aWMgdm9pZCBm Zl9ubG1lYW5zX2luaXQoTkxNZWFuc0RTUENvbnRleHQgKmRzcCkKIHsKICAgICBkc3AtPmNvbXB1 dGVfc2FmZV9zc2RfaW50ZWdyYWxfaW1hZ2UgPSBjb21wdXRlX3NhZmVfc3NkX2ludGVncmFsX2lt YWdlX2M7CiAgICAgZHNwLT5jb21wdXRlX3dlaWdodHNfbGluZSA9IGNvbXB1dGVfd2VpZ2h0c19s aW5lX2M7CmRpZmYgLS1naXQgYS9saWJhdmZpbHRlci92Zl90aHJlc2hvbGRfaW5pdC5oIGIvbGli YXZmaWx0ZXIvdmZfdGhyZXNob2xkX2luaXQuaAppbmRleCA2NGEwYTg2MWJhLi4zYWRkN2I0OTVl IDEwMDY0NAotLS0gYS9saWJhdmZpbHRlci92Zl90aHJlc2hvbGRfaW5pdC5oCisrKyBiL2xpYmF2 ZmlsdGVyL3ZmX3RocmVzaG9sZF9pbml0LmgKQEAgLTc0LDcgKzc0LDcgQEAgc3RhdGljIHZvaWQg dGhyZXNob2xkMTYoY29uc3QgdWludDhfdCAqaWluLCBjb25zdCB1aW50OF90ICp0dGhyZXNob2xk LAogICAgIH0KIH0KIAotc3RhdGljIGF2X3VudXNlZCB2b2lkIGZmX3RocmVzaG9sZF9pbml0KFRo cmVzaG9sZENvbnRleHQgKnMpCithdl91bnVzZWQgc3RhdGljIHZvaWQgZmZfdGhyZXNob2xkX2lu aXQoVGhyZXNob2xkQ29udGV4dCAqcykKIHsKICAgICBpZiAocy0+ZGVwdGggPT0gOCkgewogICAg ICAgICBzLT50aHJlc2hvbGQgPSB0aHJlc2hvbGQ4OwpkaWZmIC0tZ2l0IGEvbGliYXZmaWx0ZXIv dnNyY190ZXN0c3JjLmMgYi9saWJhdmZpbHRlci92c3JjX3Rlc3RzcmMuYwppbmRleCAyM2VjYjVi ZGIyLi5jYmUzOTY5OWEyIDEwMDY0NAotLS0gYS9saWJhdmZpbHRlci92c3JjX3Rlc3RzcmMuYwor KysgYi9saWJhdmZpbHRlci92c3JjX3Rlc3RzcmMuYwpAQCAtNjk2LDcgKzY5Niw3IEBAIGNvbnN0 IEZGRmlsdGVyIGZmX3ZzcmNfdGVzdHNyYyA9IHsKIAogI2VuZGlmIC8qIENPTkZJR19URVNUU1JD X0ZJTFRFUiAqLwogCi1zdGF0aWMgdm9pZCBhdl91bnVzZWQgc2V0X2NvbG9yKFRlc3RTb3VyY2VD b250ZXh0ICpzLCBGRkRyYXdDb2xvciAqY29sb3IsIHVpbnQzMl90IGFyZ2IpCithdl91bnVzZWQg c3RhdGljIHZvaWQgc2V0X2NvbG9yKFRlc3RTb3VyY2VDb250ZXh0ICpzLCBGRkRyYXdDb2xvciAq Y29sb3IsIHVpbnQzMl90IGFyZ2IpCiB7CiAgICAgdWludDhfdCByZ2JhWzRdID0geyAoYXJnYiA+ PiAxNikgJiAweEZGLAogICAgICAgICAgICAgICAgICAgICAgICAgKGFyZ2IgPj4gIDgpICYgMHhG RiwKZGlmZiAtLWdpdCBhL2xpYmF2Zm9ybWF0L2FzZmRlY19mLmMgYi9saWJhdmZvcm1hdC9hc2Zk ZWNfZi5jCmluZGV4IGM5MDEwMTc5YjguLjNiNDZmZTAxZjYgMTAwNjQ0Ci0tLSBhL2xpYmF2Zm9y bWF0L2FzZmRlY19mLmMKKysrIGIvbGliYXZmb3JtYXQvYXNmZGVjX2YuYwpAQCAtMTUyNyw3ICsx NTI3LDcgQEAgc3RhdGljIGludCBhc2ZfYnVpbGRfc2ltcGxlX2luZGV4KEFWRm9ybWF0Q29udGV4 dCAqcywgaW50IHN0cmVhbV9pbmRleCkKICAgICAgICAgaW50NjRfdCBpdGltZSwgbGFzdF9wb3Mg PSAtMTsKICAgICAgICAgaW50IHBjdCwgaWN0OwogICAgICAgICBpbnQgaTsKLSAgICAgICAgaW50 NjRfdCBhdl91bnVzZWQgZ3NpemUgPSBhdmlvX3JsNjQocy0+cGIpOworICAgICAgICBhdl91bnVz ZWQgaW50NjRfdCBnc2l6ZSA9IGF2aW9fcmw2NChzLT5wYik7CiAgICAgICAgIGlmICgocmV0ID0g ZmZfZ2V0X2d1aWQocy0+cGIsICZnKSkgPCAwKQogICAgICAgICAgICAgZ290byBlbmQ7CiAgICAg ICAgIGl0aW1lID0gYXZpb19ybDY0KHMtPnBiKTsKZGlmZiAtLWdpdCBhL2xpYmF2Zm9ybWF0L2Fz ZmRlY19vLmMgYi9saWJhdmZvcm1hdC9hc2ZkZWNfby5jCmluZGV4IGRkMTg3ZTYwMGQuLmNjOWM1 ZWMzOTYgMTAwNjQ0Ci0tLSBhL2xpYmF2Zm9ybWF0L2FzZmRlY19vLmMKKysrIGIvbGliYXZmb3Jt YXQvYXNmZGVjX28uYwpAQCAtMTI0Niw3ICsxMjQ2LDcgQEAgc3RhdGljIGludCBhc2ZfcmVhZF9w YWNrZXRfaGVhZGVyKEFWRm9ybWF0Q29udGV4dCAqcykKICAgICBBU0ZDb250ZXh0ICphc2YgPSBz LT5wcml2X2RhdGE7CiAgICAgQVZJT0NvbnRleHQgKnBiID0gcy0+cGI7CiAgICAgdWludDY0X3Qg c2l6ZTsKLSAgICB1aW50MzJfdCBhdl91bnVzZWQgc2VxOworICAgIGF2X3VudXNlZCB1aW50MzJf dCBzZXE7CiAgICAgdW5zaWduZWQgY2hhciBlcnJvcl9mbGFncywgbGVuX2ZsYWdzLCBwYXlfZmxh Z3M7CiAKICAgICBhc2YtPnBhY2tldF9vZmZzZXQgPSBhdmlvX3RlbGwocGIpOwpkaWZmIC0tZ2l0 IGEvbGliYXZmb3JtYXQvZmxhY2RlYy5jIGIvbGliYXZmb3JtYXQvZmxhY2RlYy5jCmluZGV4IDM0 N2I2NmQ2ZDcuLmMyYmE5MzdiMTUgMTAwNjQ0Ci0tLSBhL2xpYmF2Zm9ybWF0L2ZsYWNkZWMuYwor KysgYi9saWJhdmZvcm1hdC9mbGFjZGVjLmMKQEAgLTI3Niw3ICsyNzYsNyBAQCBzdGF0aWMgaW50 IGZsYWNfcHJvYmUoY29uc3QgQVZQcm9iZURhdGEgKnApCiAgICAgcmV0dXJuIDA7CiB9CiAKLXN0 YXRpYyBhdl91bnVzZWQgaW50NjRfdCBmbGFjX3JlYWRfdGltZXN0YW1wKEFWRm9ybWF0Q29udGV4 dCAqcywgaW50IHN0cmVhbV9pbmRleCwKK2F2X3VudXNlZCBzdGF0aWMgaW50NjRfdCBmbGFjX3Jl YWRfdGltZXN0YW1wKEFWRm9ybWF0Q29udGV4dCAqcywgaW50IHN0cmVhbV9pbmRleCwKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludDY0X3QgKnBwb3MsIGlu dDY0X3QgcG9zX2xpbWl0KQogewogICAgIEZMQUNEZWNDb250ZXh0ICpmbGFjID0gcy0+cHJpdl9k YXRhOwpkaWZmIC0tZ2l0IGEvbGliYXZmb3JtYXQvZmx2ZGVjLmMgYi9saWJhdmZvcm1hdC9mbHZk ZWMuYwppbmRleCBkZTVlNjg4ODIyLi4yOTZkNjAwY2VjIDEwMDY0NAotLS0gYS9saWJhdmZvcm1h dC9mbHZkZWMuYworKysgYi9saWJhdmZvcm1hdC9mbHZkZWMuYwpAQCAtODQyLDcgKzg0Miw3IEBA IHN0YXRpYyBpbnQgZmx2X3JlYWRfbWV0YWJvZHkoQVZGb3JtYXRDb250ZXh0ICpzLCBpbnQ2NF90 IG5leHRfcG9zKQogICAgIEZMVkNvbnRleHQgKmZsdiA9IHMtPnByaXZfZGF0YTsKICAgICBBTUZE YXRhVHlwZSB0eXBlOwogICAgIEFWU3RyZWFtICpzdHJlYW0sICphc3RyZWFtLCAqdnN0cmVhbTsK LSAgICBBVlN0cmVhbSBhdl91bnVzZWQgKmRzdHJlYW07CisgICAgYXZfdW51c2VkIEFWU3RyZWFt ICpkc3RyZWFtOwogICAgIEFWSU9Db250ZXh0ICppb2M7CiAgICAgaW50IGk7CiAgICAgY2hhciBi dWZmZXJbMzJdOwpkaWZmIC0tZ2l0IGEvbGliYXZmb3JtYXQvZnJhbWVjcmNlbmMuYyBiL2xpYmF2 Zm9ybWF0L2ZyYW1lY3JjZW5jLmMKaW5kZXggYTVlNTFhYTMxMC4uOGMzNWEyMTIyYyAxMDA2NDQK LS0tIGEvbGliYXZmb3JtYXQvZnJhbWVjcmNlbmMuYworKysgYi9saWJhdmZvcm1hdC9mcmFtZWNy Y2VuYy5jCkBAIC01MSw3ICs1MSw3IEBAIHN0YXRpYyBpbnQgZnJhbWVjcmNfd3JpdGVfaGVhZGVy KHN0cnVjdCBBVkZvcm1hdENvbnRleHQgKnMpCiAgICAgcmV0dXJuIGZmX2ZyYW1laGFzaF93cml0 ZV9oZWFkZXIocyk7CiB9CiAKLXN0YXRpYyBhdl91bnVzZWQgdm9pZCBpbmxpbmUgYnN3YXAoY2hh ciAqYnVmLCBpbnQgb2Zmc2V0LCBpbnQgc2l6ZSkKK2F2X3VudXNlZCBzdGF0aWMgdm9pZCBpbmxp bmUgYnN3YXAoY2hhciAqYnVmLCBpbnQgb2Zmc2V0LCBpbnQgc2l6ZSkKIHsKICAgICBpZiAoc2l6 ZSA9PSA4KSB7CiAgICAgICAgIHVpbnQ2NF90IHZhbCA9IEFWX1JONjQoYnVmICsgb2Zmc2V0KTsK ZGlmZiAtLWdpdCBhL2xpYmF2Zm9ybWF0L2lkM3YyLmMgYi9saWJhdmZvcm1hdC9pZDN2Mi5jCmlu ZGV4IDg0OWYyMmM2MGQuLjIxYTVkMmZiZjYgMTAwNjQ0Ci0tLSBhL2xpYmF2Zm9ybWF0L2lkM3Yy LmMKKysrIGIvbGliYXZmb3JtYXQvaWQzdjIuYwpAQCAtODk4LDcgKzg5OCw3IEBAIHN0YXRpYyB2 b2lkIGlkM3YyX3BhcnNlKEFWSU9Db250ZXh0ICpwYiwgQVZEaWN0aW9uYXJ5ICoqbWV0YWRhdGEs CiAgICAgICAgIGludCB0dW5zeW5jICAgICAgICAgPSAwOwogICAgICAgICBpbnQgdGNvbXAgICAg ICAgICAgID0gMDsKICAgICAgICAgaW50IHRlbmNyICAgICAgICAgICA9IDA7Ci0gICAgICAgIHVu c2lnbmVkIGxvbmcgYXZfdW51c2VkIGRsZW47CisgICAgICAgIGF2X3VudXNlZCB1bnNpZ25lZCBs b25nIGRsZW47CiAKICAgICAgICAgaWYgKGlzdjM0KSB7CiAgICAgICAgICAgICBpZiAoYXZpb19y ZWFkKHBiLCB0YWcsIDQpIDwgNCkKZGlmZiAtLWdpdCBhL2xpYmF2Zm9ybWF0L21hdHJvc2thZGVj LmMgYi9saWJhdmZvcm1hdC9tYXRyb3NrYWRlYy5jCmluZGV4IDFlMGM3NWM1MWIuLjZjMTJlMTU5 NGMgMTAwNjQ0Ci0tLSBhL2xpYmF2Zm9ybWF0L21hdHJvc2thZGVjLmMKKysrIGIvbGliYXZmb3Jt YXQvbWF0cm9za2FkZWMuYwpAQCAtMTY3OSw3ICsxNjc5LDcgQEAgc3RhdGljIGludCBtYXRyb3Nr YV9kZWNvZGVfYnVmZmVyKHVpbnQ4X3QgKipidWYsIGludCAqYnVmX3NpemUsCiAgICAgdWludDhf dCAqZGF0YSA9ICpidWY7CiAgICAgaW50IGlzaXplID0gKmJ1Zl9zaXplOwogICAgIHVpbnQ4X3Qg KnBrdF9kYXRhID0gTlVMTDsKLSAgICB1aW50OF90IGF2X3VudXNlZCAqbmV3cGt0ZGF0YTsKKyAg ICBhdl91bnVzZWQgdWludDhfdCAqbmV3cGt0ZGF0YTsKICAgICBpbnQgcGt0X3NpemUgPSBpc2l6 ZTsKICAgICBpbnQgcmVzdWx0ID0gMDsKICAgICBpbnQgb2xlbjsKZGlmZiAtLWdpdCBhL2xpYmF2 Zm9ybWF0L21hdHJvc2thZW5jLmMgYi9saWJhdmZvcm1hdC9tYXRyb3NrYWVuYy5jCmluZGV4IDgx NDJkOTEyNWUuLjE4ZjE3ZjQzMjkgMTAwNjQ0Ci0tLSBhL2xpYmF2Zm9ybWF0L21hdHJvc2thZW5j LmMKKysrIGIvbGliYXZmb3JtYXQvbWF0cm9za2FlbmMuYwpAQCAtMTIwMSw3ICsxMjAxLDcgQEAg c3RhdGljIGludCBta3ZfYXNzZW1ibGVfY29kZWNwcml2YXRlKEFWRm9ybWF0Q29udGV4dCAqcywg QVZJT0NvbnRleHQgKmR5bl9jcCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB1aW50OF90ICoqY29kZWNwcml2LCBpbnQgKmNvZGVjcHJpdl9zaXplLAogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkICptYXhfcGF5bG9hZF9zaXplKQogewot ICAgIE1hdHJvc2thTXV4Q29udGV4dCBhdl91bnVzZWQgKmNvbnN0IG1rdiA9IHMtPnByaXZfZGF0 YTsKKyAgICBhdl91bnVzZWQgTWF0cm9za2FNdXhDb250ZXh0ICpjb25zdCBta3YgPSBzLT5wcml2 X2RhdGE7CiAgICAgdW5zaWduZWQgc2l6ZV90b19yZXNlcnZlID0gMDsKICAgICBpbnQgcmV0Owog CmRpZmYgLS1naXQgYS9saWJhdmZvcm1hdC9tcDNlbmMuYyBiL2xpYmF2Zm9ybWF0L21wM2VuYy5j CmluZGV4IDU2OTVlZWVjOWUuLjBlYmQ0ODBkM2YgMTAwNjQ0Ci0tLSBhL2xpYmF2Zm9ybWF0L21w M2VuYy5jCisrKyBiL2xpYmF2Zm9ybWF0L21wM2VuYy5jCkBAIC0zMjIsNyArMzIyLDcgQEAgc3Rh dGljIGludCBtcDNfd3JpdGVfYXVkaW9fcGFja2V0KEFWRm9ybWF0Q29udGV4dCAqcywgQVZQYWNr ZXQgKnBrdCkKICAgICBpZiAocGt0LT5kYXRhICYmIHBrdC0+c2l6ZSA+PSA0KSB7CiAgICAgICAg IE1QQURlY29kZUhlYWRlciBtcGFoOwogICAgICAgICBpbnQgcmV0OwotICAgICAgICBpbnQgYXZf dW51c2VkIGJhc2U7CisgICAgICAgIGF2X3VudXNlZCBpbnQgYmFzZTsKICAgICAgICAgdWludDMy X3QgaDsKIAogICAgICAgICBoID0gQVZfUkIzMihwa3QtPmRhdGEpOwpkaWZmIC0tZ2l0IGEvbGli YXZmb3JtYXQvbXBlZ3RzLmMgYi9saWJhdmZvcm1hdC9tcGVndHMuYwppbmRleCA5ODFkZDhjZjBk Li4zM2YyOTE0MTA0IDEwMDY0NAotLS0gYS9saWJhdmZvcm1hdC9tcGVndHMuYworKysgYi9saWJh dmZvcm1hdC9tcGVndHMuYwpAQCAtMzMzMSw3ICszMzMxLDcgQEAgc3RhdGljIGludCBtcGVndHNf cmVhZF9jbG9zZShBVkZvcm1hdENvbnRleHQgKnMpCiAgICAgcmV0dXJuIDA7CiB9CiAKLXN0YXRp YyBhdl91bnVzZWQgaW50NjRfdCBtcGVndHNfZ2V0X3BjcihBVkZvcm1hdENvbnRleHQgKnMsIGlu dCBzdHJlYW1faW5kZXgsCithdl91bnVzZWQgc3RhdGljIGludDY0X3QgbXBlZ3RzX2dldF9wY3Io QVZGb3JtYXRDb250ZXh0ICpzLCBpbnQgc3RyZWFtX2luZGV4LAogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgaW50NjRfdCAqcHBvcywgaW50NjRfdCBwb3NfbGltaXQpCiB7CiAgICAgTXBl Z1RTQ29udGV4dCAqdHMgPSBzLT5wcml2X2RhdGE7CmRpZmYgLS1naXQgYS9saWJhdmZvcm1hdC9u c3ZkZWMuYyBiL2xpYmF2Zm9ybWF0L25zdmRlYy5jCmluZGV4IDllYzkxM2ViYmUuLjliOTQ1YTdj MTIgMTAwNjQ0Ci0tLSBhL2xpYmF2Zm9ybWF0L25zdmRlYy5jCisrKyBiL2xpYmF2Zm9ybWF0L25z dmRlYy5jCkBAIC0yNjIsNyArMjYyLDcgQEAgc3RhdGljIGludCBuc3ZfcGFyc2VfTlNWZl9oZWFk ZXIoQVZGb3JtYXRDb250ZXh0ICpzKQogewogICAgIE5TVkNvbnRleHQgKm5zdiA9IHMtPnByaXZf ZGF0YTsKICAgICBBVklPQ29udGV4dCAqcGIgPSBzLT5wYjsKLSAgICB1bnNpZ25lZCBpbnQgYXZf dW51c2VkIGZpbGVfc2l6ZTsKKyAgICBhdl91bnVzZWQgdW5zaWduZWQgaW50IGZpbGVfc2l6ZTsK ICAgICB1bnNpZ25lZCBpbnQgc2l6ZTsKICAgICBpbnQ2NF90IGR1cmF0aW9uOwogICAgIGludCBz dHJpbmdzX3NpemU7CkBAIC01NzgsNyArNTc4LDcgQEAgbnVsbF9jaHVua19yZXRyeToKICAgICBh dl9sb2cocywgQVZfTE9HX1RSQUNFLCAiTlNWIENIVU5LICVkIGF1eCwgJSJQUkl1MzIiIGJ5dGVz IHZpZGVvLCAlZCBieXRlcyBhdWRpb1xuIiwgYXV4Y291bnQsIHZzaXplLCBhc2l6ZSk7CiAgICAg Lyogc2tpcCBhdXggc3R1ZmYgKi8KICAgICBmb3IgKGkgPSAwOyBpIDwgYXV4Y291bnQ7IGkrKykg ewotICAgICAgICB1aW50MzJfdCBhdl91bnVzZWQgYXV4dGFnOworICAgICAgICBhdl91bnVzZWQg dWludDMyX3QgYXV4dGFnOwogICAgICAgICBhdXhzaXplID0gYXZpb19ybDE2KHBiKTsKICAgICAg ICAgYXV4dGFnID0gYXZpb19ybDMyKHBiKTsKICAgICAgICAgYXZpb19za2lwKHBiLCBhdXhzaXpl KTsKZGlmZiAtLWdpdCBhL2xpYmF2Zm9ybWF0L3IzZC5jIGIvbGliYXZmb3JtYXQvcjNkLmMKaW5k ZXggYzgzMzk5YjhmYy4uN2FiYmVhM2M0MSAxMDA2NDQKLS0tIGEvbGliYXZmb3JtYXQvcjNkLmMK KysrIGIvbGliYXZmb3JtYXQvcjNkLmMKQEAgLTU4LDcgKzU4LDcgQEAgc3RhdGljIGludCByM2Rf cmVhZF9yZWQxKEFWRm9ybWF0Q29udGV4dCAqcykKICAgICBjaGFyIGZpbGVuYW1lWzI1OF07CiAg ICAgaW50IHRtcDsKICAgICBpbnQgcmV0OwotICAgIGludCBhdl91bnVzZWQgdG1wMjsKKyAgICBh dl91bnVzZWQgaW50IHRtcDI7CiAgICAgQVZSYXRpb25hbCBmcmFtZXJhdGU7CiAKICAgICBpZiAo IXN0KQpAQCAtMTQzLDcgKzE0Myw3IEBAIHN0YXRpYyBpbnQgcjNkX3JlYWRfcmR2byhBVkZvcm1h dENvbnRleHQgKnMsIEF0b20gKmF0b20pCiBzdGF0aWMgdm9pZCByM2RfcmVhZF9yZW9zKEFWRm9y bWF0Q29udGV4dCAqcykKIHsKICAgICBSM0RDb250ZXh0ICpyM2QgPSBzLT5wcml2X2RhdGE7Ci0g ICAgaW50IGF2X3VudXNlZCB0bXA7CisgICAgYXZfdW51c2VkIGludCB0bXA7CiAKICAgICByM2Qt PnJkdm9fb2Zmc2V0ID0gYXZpb19yYjMyKHMtPnBiKTsKICAgICBhdmlvX3JiMzIocy0+cGIpOyAv LyByZHZzIG9mZnNldApAQCAtMjIwLDcgKzIyMCw3IEBAIHN0YXRpYyBpbnQgcjNkX3JlYWRfcmVk dihBVkZvcm1hdENvbnRleHQgKnMsIEFWUGFja2V0ICpwa3QsIEF0b20gKmF0b20pCiB7CiAgICAg QVZTdHJlYW0gKnN0ID0gcy0+c3RyZWFtc1swXTsKICAgICBpbnQgdG1wOwotICAgIGludCBhdl91 bnVzZWQgdG1wMjsKKyAgICBhdl91bnVzZWQgaW50IHRtcDI7CiAgICAgaW50NjRfdCBwb3MgPSBh dmlvX3RlbGwocy0+cGIpOwogICAgIHVuc2lnbmVkIGR0czsKICAgICBpbnQgcmV0OwpAQCAtMjc1 LDcgKzI3NSw3IEBAIHN0YXRpYyBpbnQgcjNkX3JlYWRfcmVkYShBVkZvcm1hdENvbnRleHQgKnMs IEFWUGFja2V0ICpwa3QsIEF0b20gKmF0b20pCiB7CiAgICAgUjNEQ29udGV4dCAqcjNkID0gcy0+ cHJpdl9kYXRhOwogICAgIEFWU3RyZWFtICpzdDsKLSAgICBpbnQgYXZfdW51c2VkIHRtcCwgdG1w MjsKKyAgICBhdl91bnVzZWQgaW50IHRtcCwgdG1wMjsKICAgICBpbnQgc2FtcGxlcywgc2l6ZTsK ICAgICBpbnQ2NF90IHBvcyA9IGF2aW9fdGVsbChzLT5wYik7CiAgICAgdW5zaWduZWQgZHRzOwpk aWZmIC0tZ2l0IGEvbGliYXZmb3JtYXQvcnRwZGVjLmMgYi9saWJhdmZvcm1hdC9ydHBkZWMuYwpp bmRleCA0MDVhOTAwY2UwLi41ODcyYzBmNTljIDEwMDY0NAotLS0gYS9saWJhdmZvcm1hdC9ydHBk ZWMuYworKysgYi9saWJhdmZvcm1hdC9ydHBkZWMuYwpAQCAtNDA0LDcgKzQwNCw3IEBAIGludCBm Zl9ydHBfY2hlY2tfYW5kX3NlbmRfYmFja19ycihSVFBEZW11eENvbnRleHQgKnMsIFVSTENvbnRl eHQgKmZkLAogICAgICAgICByZXR1cm4gMDsKICAgICBsZW4gPSBhdmlvX2Nsb3NlX2R5bl9idWYo cGIsICZidWYpOwogICAgIGlmICgobGVuID4gMCkgJiYgYnVmKSB7Ci0gICAgICAgIGludCBhdl91 bnVzZWQgcmVzdWx0OworICAgICAgICBhdl91bnVzZWQgaW50IHJlc3VsdDsKICAgICAgICAgYXZf bG9nKHMtPmljLCBBVl9MT0dfVFJBQ0UsICJzZW5kaW5nICVkIGJ5dGVzIG9mIFJSXG4iLCBsZW4p OwogICAgICAgICByZXN1bHQgPSBmZnVybF93cml0ZShmZCwgYnVmLCBsZW4pOwogICAgICAgICBh dl9sb2cocy0+aWMsIEFWX0xPR19UUkFDRSwgInJlc3VsdCBmcm9tIGZmdXJsX3dyaXRlOiAlZFxu IiwgcmVzdWx0KTsKZGlmZiAtLWdpdCBhL2xpYmF2Zm9ybWF0L3J0c3Bjb2Rlcy5oIGIvbGliYXZm b3JtYXQvcnRzcGNvZGVzLmgKaW5kZXggMGFlNDkwYTQyZS4uNjQzNzAyOTZkZCAxMDA2NDQKLS0t IGEvbGliYXZmb3JtYXQvcnRzcGNvZGVzLmgKKysrIGIvbGliYXZmb3JtYXQvcnRzcGNvZGVzLmgK QEAgLTc1LDcgKzc1LDcgQEAgUlRTUF9TVEFUVVNfVkVSU0lPTiAgICAgICAgICAgICAgPTUwNSwK IFJUU1BfU1RBVFVTX1VOU1VQUE9SVEVEX09QVElPTiAgID01NTEsCiB9OwogCi1zdGF0aWMgY29u c3QgYXZfdW51c2VkIGNoYXIgKiBjb25zdCBydHNwX3N0YXR1c19zdHJpbmdzW10gPSB7Cithdl91 bnVzZWQgc3RhdGljIGNvbnN0IGNoYXIgKiBjb25zdCBydHNwX3N0YXR1c19zdHJpbmdzW10gPSB7 CiBbUlRTUF9TVEFUVVNfQ09OVElOVUVdICAgICAgICAgICAgICAgPSJDb250aW51ZSIsCiBbUlRT UF9TVEFUVVNfT0tdICAgICAgICAgICAgICAgICAgICAgPSJPSyIsCiBbUlRTUF9TVEFUVVNfQ1JF QVRFRF0gICAgICAgICAgICAgICAgPSJDcmVhdGVkIiwKZGlmZiAtLWdpdCBhL2xpYmF2dXRpbC9l dmFsLmMgYi9saWJhdnV0aWwvZXZhbC5jCmluZGV4IDdmYTVkNWQ5ZDUuLjgwNjllZDg4YTIgMTAw NjQ0Ci0tLSBhL2xpYmF2dXRpbC9ldmFsLmMKKysrIGIvbGliYXZ1dGlsL2V2YWwuYwpAQCAtNTUy LDcgKzU1Miw3IEBAIHN0YXRpYyBpbnQgcGFyc2VfZEIoQVZFeHByICoqZSwgUGFyc2VyICpwLCBp bnQgKnNpZ24pCiAgICAgICAgZm9yIGV4YW1wbGUsIC0zZEIgaXMgbm90IHRoZSBzYW1lIGFzIC0o M2RCKSAqLwogICAgIGlmICgqcC0+cyA9PSAnLScpIHsKICAgICAgICAgY2hhciAqbmV4dDsKLSAg ICAgICAgZG91YmxlIGF2X3VudXNlZCBpZ25vcmVkID0gc3RydG9kKHAtPnMsICZuZXh0KTsKKyAg ICAgICAgYXZfdW51c2VkIGRvdWJsZSBpZ25vcmVkID0gc3RydG9kKHAtPnMsICZuZXh0KTsKICAg ICAgICAgaWYgKG5leHQgIT0gcC0+cyAmJiBuZXh0WzBdID09ICdkJyAmJiBuZXh0WzFdID09ICdC JykgewogICAgICAgICAgICAgKnNpZ24gPSAwOwogICAgICAgICAgICAgcmV0dXJuIHBhcnNlX3By aW1hcnkoZSwgcCk7CmRpZmYgLS1naXQgYS9saWJhdnV0aWwvaHdjb250ZXh0X29wZW5jbC5jIGIv bGliYXZ1dGlsL2h3Y29udGV4dF9vcGVuY2wuYwppbmRleCAwMzE4ODRhZjhlLi40NjQyNGViNTJh IDEwMDY0NAotLS0gYS9saWJhdnV0aWwvaHdjb250ZXh0X29wZW5jbC5jCisrKyBiL2xpYmF2dXRp bC9od2NvbnRleHRfb3BlbmNsLmMKQEAgLTI4OCw3ICsyODgsNyBAQCBzdGF0aWMgaW50IG9wZW5j bF9jaGVja19kZXZpY2VfZXh0ZW5zaW9uKGNsX2RldmljZV9pZCBkZXZpY2VfaWQsCiAgICAgcmV0 dXJuIGZvdW5kOwogfQogCi1zdGF0aWMgYXZfdW51c2VkIGludCBvcGVuY2xfY2hlY2tfZXh0ZW5z aW9uKEFWSFdEZXZpY2VDb250ZXh0ICpod2RldiwKK2F2X3VudXNlZCBzdGF0aWMgaW50IG9wZW5j bF9jaGVja19leHRlbnNpb24oQVZIV0RldmljZUNvbnRleHQgKmh3ZGV2LAogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICpuYW1lKQogewogICAg IE9wZW5DTERldmljZUNvbnRleHQgICAgKnByaXYgPSBod2Rldi0+aHdjdHg7CmRpZmYgLS1naXQg YS9saWJhdnV0aWwvcmlwZW1kLmMgYi9saWJhdnV0aWwvcmlwZW1kLmMKaW5kZXggZTE3MGM2OWY0 Mi4uZTMxMDRlZmM5ZiAxMDA2NDQKLS0tIGEvbGliYXZ1dGlsL3JpcGVtZC5jCisrKyBiL2xpYmF2 dXRpbC9yaXBlbWQuYwpAQCAtMTM2LDcgKzEzNiw3IEBAIHN0YXRpYyBjb25zdCBpbnQgV0JbODBd ID0gewogCiBzdGF0aWMgdm9pZCByaXBlbWQxMjhfdHJhbnNmb3JtKHVpbnQzMl90ICpzdGF0ZSwg Y29uc3QgdWludDhfdCBidWZmZXJbNjRdKQogewotICAgIHVpbnQzMl90IGEsIGIsIGMsIGQsIGUs IGYsIGcsIGgsIGF2X3VudXNlZCB0OworICAgIHVpbnQzMl90IGEsIGIsIGMsIGQsIGUsIGYsIGcs IGgsIHQgYXZfdW51c2VkOwogICAgIHVpbnQzMl90IGJsb2NrWzE2XTsKICAgICBpbnQgbjsKIApA QCAtMTkzLDcgKzE5Myw3IEBAIHN0YXRpYyB2b2lkIHJpcGVtZDEyOF90cmFuc2Zvcm0odWludDMy X3QgKnN0YXRlLCBjb25zdCB1aW50OF90IGJ1ZmZlcls2NF0pCiAKIHN0YXRpYyB2b2lkIHJpcGVt ZDI1Nl90cmFuc2Zvcm0odWludDMyX3QgKnN0YXRlLCBjb25zdCB1aW50OF90IGJ1ZmZlcls2NF0p CiB7Ci0gICAgdWludDMyX3QgYSwgYiwgYywgZCwgZSwgZiwgZywgaCwgYXZfdW51c2VkIHQ7Cisg ICAgdWludDMyX3QgYSwgYiwgYywgZCwgZSwgZiwgZywgaCwgdCBhdl91bnVzZWQ7CiAgICAgdWlu dDMyX3QgYmxvY2tbMTZdOwogICAgIGludCBuOwogCkBAIC0zMTgsNyArMzE4LDcgQEAgc3RhdGlj IHZvaWQgcmlwZW1kMjU2X3RyYW5zZm9ybSh1aW50MzJfdCAqc3RhdGUsIGNvbnN0IHVpbnQ4X3Qg YnVmZmVyWzY0XSkKIAogc3RhdGljIHZvaWQgcmlwZW1kMTYwX3RyYW5zZm9ybSh1aW50MzJfdCAq c3RhdGUsIGNvbnN0IHVpbnQ4X3QgYnVmZmVyWzY0XSkKIHsKLSAgICB1aW50MzJfdCBhLCBiLCBj LCBkLCBlLCBmLCBnLCBoLCBpLCBqLCBhdl91bnVzZWQgdDsKKyAgICB1aW50MzJfdCBhLCBiLCBj LCBkLCBlLCBmLCBnLCBoLCBpLCBqLCB0IGF2X3VudXNlZDsKICAgICB1aW50MzJfdCBibG9ja1sx Nl07CiAgICAgaW50IG47CiAKQEAgLTM5MCw3ICszOTAsNyBAQCBzdGF0aWMgdm9pZCByaXBlbWQx NjBfdHJhbnNmb3JtKHVpbnQzMl90ICpzdGF0ZSwgY29uc3QgdWludDhfdCBidWZmZXJbNjRdKQog CiBzdGF0aWMgdm9pZCByaXBlbWQzMjBfdHJhbnNmb3JtKHVpbnQzMl90ICpzdGF0ZSwgY29uc3Qg dWludDhfdCBidWZmZXJbNjRdKQogewotICAgIHVpbnQzMl90IGEsIGIsIGMsIGQsIGUsIGYsIGcs IGgsIGksIGosIGF2X3VudXNlZCB0OworICAgIHVpbnQzMl90IGEsIGIsIGMsIGQsIGUsIGYsIGcs IGgsIGksIGosIHQgYXZfdW51c2VkOwogICAgIHVpbnQzMl90IGJsb2NrWzE2XTsKICAgICBpbnQg bjsKIApkaWZmIC0tZ2l0IGEvbGliYXZ1dGlsL3NvZnRmbG9hdC5oIGIvbGliYXZ1dGlsL3NvZnRm bG9hdC5oCmluZGV4IDM5OWNhNmQ2ODIuLmUyNzQ5OTc1YWMgMTAwNjQ0Ci0tLSBhL2xpYmF2dXRp bC9zb2Z0ZmxvYXQuaAorKysgYi9saWJhdnV0aWwvc29mdGZsb2F0LmgKQEAgLTI0MSw3ICsyNDEs NyBAQCBzdGF0aWMgYXZfYWx3YXlzX2lubGluZSBTb2Z0RmxvYXQgYXZfc3FydF9zZihTb2Z0Rmxv YXQgdmFsKQogICogQHBhcmFtIHMgcG9pbnRlciB0byB3aGVyZSAgIHNpbmUgaW4gdW5pdHMgb2Yg KDE8PDMwKSBpcyByZXR1cm5lZAogICogQHBhcmFtIGMgcG9pbnRlciB0byB3aGVyZSBjb3NpbmUg aW4gdW5pdHMgb2YgKDE8PDMwKSBpcyByZXR1cm5lZAogICovCi1zdGF0aWMgYXZfdW51c2VkIHZv aWQgYXZfc2luY29zX3NmKGludCBhLCBpbnQgKnMsIGludCAqYykKK2F2X3VudXNlZCBzdGF0aWMg dm9pZCBhdl9zaW5jb3Nfc2YoaW50IGEsIGludCAqcywgaW50ICpjKQogewogICAgIGludCBpZHgs IHNpZ247CiAgICAgaW50IHN2LCBjdjsKZGlmZiAtLWdpdCBhL2xpYnN3cmVzYW1wbGUvc3dyZXNh bXBsZS5jIGIvbGlic3dyZXNhbXBsZS9zd3Jlc2FtcGxlLmMKaW5kZXggODA0Zjk3ODU5My4uNDA0 ODVhMDE5YyAxMDA2NDQKLS0tIGEvbGlic3dyZXNhbXBsZS9zd3Jlc2FtcGxlLmMKKysrIGIvbGli c3dyZXNhbXBsZS9zd3Jlc2FtcGxlLmMKQEAgLTcyMCw3ICs3MjAsNyBAQCBpbnQgYXR0cmlidXRl X2FsaWduX2FyZyBzd3JfY29udmVydChzdHJ1Y3QgU3dyQ29udGV4dCAqcywKIHsKICAgICBBdWRp b0RhdGEgKiBpbj0gJnMtPmluOwogICAgIEF1ZGlvRGF0YSAqb3V0PSAmcy0+b3V0OwotICAgIGlu dCBhdl91bnVzZWQgbWF4X291dHB1dDsKKyAgICBhdl91bnVzZWQgaW50IG1heF9vdXRwdXQ7CiAK ICAgICBpZiAoIXN3cl9pc19pbml0aWFsaXplZChzKSkgewogICAgICAgICBhdl9sb2cocywgQVZf TE9HX0VSUk9SLCAiQ29udGV4dCBoYXMgbm90IGJlZW4gaW5pdGlhbGl6ZWRcbiIpOwpkaWZmIC0t Z2l0IGEvbGlic3dyZXNhbXBsZS94ODYvcmVzYW1wbGVfaW5pdC5jIGIvbGlic3dyZXNhbXBsZS94 ODYvcmVzYW1wbGVfaW5pdC5jCmluZGV4IGQxM2NjZDQ4MzMuLjVlMTJmMmJkZGYgMTAwNjQ0Ci0t LSBhL2xpYnN3cmVzYW1wbGUveDg2L3Jlc2FtcGxlX2luaXQuYworKysgYi9saWJzd3Jlc2FtcGxl L3g4Ni9yZXNhbXBsZV9pbml0LmMKQEAgLTQ3LDcgKzQ3LDcgQEAgUkVTQU1QTEVfRlVOQ1MoZG91 YmxlLCBmbWEzKTsKIAogYXZfY29sZCB2b2lkIHN3cmlfcmVzYW1wbGVfZHNwX3g4Nl9pbml0KFJl c2FtcGxlQ29udGV4dCAqYykKIHsKLSAgICBpbnQgYXZfdW51c2VkIG1tX2ZsYWdzID0gYXZfZ2V0 X2NwdV9mbGFncygpOworICAgIGF2X3VudXNlZCBpbnQgbW1fZmxhZ3MgPSBhdl9nZXRfY3B1X2Zs YWdzKCk7CiAKICAgICBzd2l0Y2goYy0+Zm9ybWF0KXsKICAgICBjYXNlIEFWX1NBTVBMRV9GTVRf UzE2UDoKZGlmZiAtLWdpdCBhL2xpYnN3c2NhbGUvbG9vbmdhcmNoL3l1djJyZ2JfbGFzeC5jIGIv bGlic3dzY2FsZS9sb29uZ2FyY2gveXV2MnJnYl9sYXN4LmMKaW5kZXggZTllNGE2M2EwYS4uZDgz ZTVkNzBmZSAxMDA2NDQKLS0tIGEvbGlic3dzY2FsZS9sb29uZ2FyY2gveXV2MnJnYl9sYXN4LmMK KysrIGIvbGlic3dzY2FsZS9sb29uZ2FyY2gveXV2MnJnYl9sYXN4LmMKQEAgLTIwNiw3ICsyMDYs NyBAQAogICAgIHZzaGlmdCA9IGMtPm9wdHMuc3JjX2Zvcm1hdCAhPSBBVl9QSVhfRk1UX1lVVjQy MlA7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgIGZvciAoeSA9IDA7IHkgPCBz cmNTbGljZUg7IHkgKz0gMikgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgXAogICAgICAgICBpbnQgeWQgPSB5ICsgc3JjU2xpY2VZOyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICBkc3RfdHlwZSBh dl91bnVzZWQgKnIsICpnLCAqYjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgXAorICAgICAgICBhdl91bnVzZWQgZHN0X3R5cGUgKnIsICpnLCAqYjsgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgICAgICBkc3RfdHlw ZSAqaW1hZ2UxICAgID0gKGRzdF90eXBlICopKGRzdFswXSArICh5ZCkgICAgICogZHN0U3RyaWRl WzBdKTsgICAgICAgXAogICAgICAgICBkc3RfdHlwZSAqaW1hZ2UyICAgID0gKGRzdF90eXBlICop KGRzdFswXSArICh5ZCArIDEpICogZHN0U3RyaWRlWzBdKTsgICAgICAgXAogICAgICAgICBjb25z dCB1aW50OF90ICpweV8xID0gc3JjWzBdICsgICAgICAgICAgICAgICB5ICogc3JjU3RyaWRlWzBd OyAgICAgICAgICAgICAgXApkaWZmIC0tZ2l0IGEvbGlic3dzY2FsZS9sb29uZ2FyY2gveXV2MnJn Yl9sc3guYyBiL2xpYnN3c2NhbGUvbG9vbmdhcmNoL3l1djJyZ2JfbHN4LmMKaW5kZXggNjMzOWQw N2Q2Yy4uOTE5ZmQwMDIzNCAxMDA2NDQKLS0tIGEvbGlic3dzY2FsZS9sb29uZ2FyY2gveXV2MnJn Yl9sc3guYworKysgYi9saWJzd3NjYWxlL2xvb25nYXJjaC95dXYycmdiX2xzeC5jCkBAIC0xMzIs NyArMTMyLDcgQEAKICAgICByZXMgPSAoYy0+b3B0cy5kc3RfdyAmIDE1KSA+PiAxOyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgICB2c2hpZnQgPSBj LT5vcHRzLnNyY19mb3JtYXQgIT0gQVZfUElYX0ZNVF9ZVVY0MjJQOyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIFwKICAgICBmb3IgKHkgPSAwOyB5IDwgc3JjU2xpY2VIOyB5ICs9IDIpIHsg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgZHN0 X3R5cGUgYXZfdW51c2VkICpyLCAqZywgKmI7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIFwKKyAgICAgICAgYXZfdW51c2VkIGRzdF90eXBlICpyLCAqZywgKmI7 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgICAgICAg ZHN0X3R5cGUgKmltYWdlMSAgICA9IChkc3RfdHlwZSAqKShkc3RbMF0gKyAoeSArIHNyY1NsaWNl WSkgKiBkc3RTdHJpZGVbMF0pO1wKICAgICAgICAgZHN0X3R5cGUgKmltYWdlMiAgICA9IChkc3Rf dHlwZSAqKShpbWFnZTEgKyAgICAgICAgICAgICAgICAgICBkc3RTdHJpZGVbMF0pO1wKICAgICAg ICAgY29uc3QgdWludDhfdCAqcHlfMSA9IHNyY1swXSArICAgICAgICAgICAgICAgeSAqIHNyY1N0 cmlkZVswXTsgICAgICAgICAgICAgIFwKQEAgLTE2MSw3ICsxNjEsNyBAQAogICAgIHZzaGlmdCA9 IGMtPm9wdHMuc3JjX2Zvcm1hdCAhPSBBVl9QSVhfRk1UX1lVVjQyMlA7ICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgXAogICAgIGZvciAoeSA9IDA7IHkgPCBzcmNTbGljZUg7IHkgKz0gMikg eyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgICAgICBp bnQgeWQgPSB5ICsgc3JjU2xpY2VZOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgXAotICAgICAgICBkc3RfdHlwZSBhdl91bnVzZWQgKnIsICpnLCAq YjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAg ICBhdl91bnVzZWQgZHN0X3R5cGUgKnIsICpnLCAqYjsgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgXAogICAgICAgICBkc3RfdHlwZSAqaW1hZ2UxICAgID0gKGRz dF90eXBlICopKGRzdFswXSArICh5ZCkgICAgICogZHN0U3RyaWRlWzBdKTsgICAgICAgXAogICAg ICAgICBkc3RfdHlwZSAqaW1hZ2UyICAgID0gKGRzdF90eXBlICopKGRzdFswXSArICh5ZCArIDEp ICogZHN0U3RyaWRlWzBdKTsgICAgICAgXAogICAgICAgICBjb25zdCB1aW50OF90ICpweV8xID0g c3JjWzBdICsgICAgICAgICAgICAgICB5ICogc3JjU3RyaWRlWzBdOyAgICAgICAgICAgICAgXApA QCAtMTc5LDcgKzE3OSw3IEBACiAgICAgICAgICAgICBpbWFnZTIgKz0gNDg7ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgICAg IH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBcCiAgICAgICAgIGZvciAoeCA9IDA7IHggPCByZXM7IHgrKykg eyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAg ICAgICAgICBpbnQgYXZfdW51c2VkIFUsIFYsIFk7ICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICBhdl91bnVzZWQgaW50IFUsIFYs IFk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAg ICAgICAgICAgICBVID0gcHVbMF07ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgICAgICAgICBWID0gcHZbMF07ICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc CiAgICAgICAgICAgICByID0gKHZvaWQgKiljLT50YWJsZV9yVltWK1lVVlJHQl9UQUJMRV9IRUFE Uk9PTV07ICAgICAgICAgICAgICAgICAgICAgICBcCkBAIC0xOTYsNyArMTk2LDcgQEAKICAgICAg ICAgICAgIGltYWdlMiArPSAxNjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIFwKICAgICAgICAgfSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAg ICAgICAgZm9yICh4ID0gMDsgeCA8IHJlczsgeCsrKSB7ICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgIGludCBhdl91bnVzZWQgVSwg ViwgWTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwK KyAgICAgICAgICAgIGF2X3VudXNlZCBpbnQgVSwgViwgWTsgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgICAgICAgICAgIFUgPSBwdVswXTsgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IFwKICAgICAgICAgICAgIFYgPSBwdlswXTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgICAgICAgICAgIHIgPSAodm9pZCAq KWMtPnRhYmxlX3JWW1YrWVVWUkdCX1RBQkxFX0hFQURST09NXTsgICAgICAgICAgICAgICAgICAg ICAgIFwKZGlmZiAtLWdpdCBhL2xpYnN3c2NhbGUvcHBjL3N3c2NhbGVfcHBjX3RlbXBsYXRlLmMg Yi9saWJzd3NjYWxlL3BwYy9zd3NjYWxlX3BwY190ZW1wbGF0ZS5jCmluZGV4IDQ2ZmQyYmVlNjIu LjdlNTAyZDUwNjkgMTAwNjQ0Ci0tLSBhL2xpYnN3c2NhbGUvcHBjL3N3c2NhbGVfcHBjX3RlbXBs YXRlLmMKKysrIGIvbGlic3dzY2FsZS9wcGMvc3dzY2FsZV9wcGNfdGVtcGxhdGUuYwpAQCAtNDcs NyArNDcsNyBAQCBzdGF0aWMgdm9pZCBGVU5DKHl1djJwbGFuZVhfOF8xNikoY29uc3QgaW50MTZf dCAqZmlsdGVyLCBpbnQgZmlsdGVyU2l6ZSwKICAgICBmb3IgKGogPSAwOyBqIDwgZmlsdGVyU2l6 ZTsgaisrKSB7CiAgICAgICAgIHVuc2lnbmVkIGludCBqb2Zmc2V0PWo8PDE7CiAgICAgICAgIHVu c2lnbmVkIGludCB4b2Zmc2V0PXg8PDE7Ci0gICAgICAgIHZlY3RvciB1bnNpZ25lZCBjaGFyIGF2 X3VudXNlZCBwZXJtOworICAgICAgICBhdl91bnVzZWQgdmVjdG9yIHVuc2lnbmVkIGNoYXIgcGVy bTsKICAgICAgICAgdmVjdG9yIHNpZ25lZCBzaG9ydCBsMSx2THVtRmlsdGVyOwogICAgICAgICBM T0FEX0ZJTFRFUih2THVtRmlsdGVyLGZpbHRlcik7CiAgICAgICAgIHZMdW1GaWx0ZXIgPSB2ZWNf c3BsYXQodkx1bUZpbHRlciwgMCk7CmRpZmYgLS1naXQgYS9saWJzd3NjYWxlL3g4Ni9zd3NjYWxl LmMgYi9saWJzd3NjYWxlL3g4Ni9zd3NjYWxlLmMKaW5kZXggOGI2ZjliZDU4YS4uODVmYWY5MmM1 NiAxMDA2NDQKLS0tIGEvbGlic3dzY2FsZS94ODYvc3dzY2FsZS5jCisrKyBiL2xpYnN3c2NhbGUv eDg2L3N3c2NhbGUuYwpAQCAtNzIsNyArNzIsNyBAQCB2b2lkIGZmX3VwZGF0ZU1NWERpdGhlclRh YmxlcyhTd3NJbnRlcm5hbCAqYywgaW50IGRzdFkpCiAgICAgaW50MTZfdCAqdkNockZpbHRlcj0g Yy0+dkNockZpbHRlcjsKICAgICBpbnQzMl90ICpsdW1NbXhGaWx0ZXI9IGMtPmx1bU1teEZpbHRl cjsKICAgICBpbnQzMl90ICpjaHJNbXhGaWx0ZXI9IGMtPmNock1teEZpbHRlcjsKLSAgICBpbnQz Ml90IGF2X3VudXNlZCAqYWxwTW14RmlsdGVyPSBjLT5hbHBNbXhGaWx0ZXI7CisgICAgYXZfdW51 c2VkIGludDMyX3QgKmFscE1teEZpbHRlcj0gYy0+YWxwTW14RmlsdGVyOwogICAgIGNvbnN0IGlu dCB2THVtRmlsdGVyU2l6ZT0gYy0+dkx1bUZpbHRlclNpemU7CiAgICAgY29uc3QgaW50IHZDaHJG aWx0ZXJTaXplPSBjLT52Q2hyRmlsdGVyU2l6ZTsKICAgICBjb25zdCBpbnQgY2hyRHN0WT0gZHN0 WT4+Yy0+Y2hyRHN0VlN1YlNhbXBsZTsKZGlmZiAtLWdpdCBhL2xpYnN3c2NhbGUveXV2MnJnYi5j IGIvbGlic3dzY2FsZS95dXYycmdiLmMKaW5kZXggZmY4ZTAxM2RhNC4uNDgwODk3NjBmNSAxMDA2 NDQKLS0tIGEvbGlic3dzY2FsZS95dXYycmdiLmMKKysrIGIvbGlic3dzY2FsZS95dXYycmdiLmMK QEAgLTE0NywxNCArMTQ3LDE0IEBAIGNvbnN0IGludCAqc3dzX2dldENvZWZmaWNpZW50cyhpbnQg Y29sb3JzcGFjZSkKICAgICAgICAgICAgICAgICAoZHN0X3R5cGUgKikoZHN0WzBdICsgKHlkKSAg ICAgKiBkc3RTdHJpZGVbMF0pOyAgICAgICAgICAgICBcCiAgICAgICAgICAgICBkc3RfdHlwZSAq ZHN0XzIgPSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAog ICAgICAgICAgICAgICAgIChkc3RfdHlwZSAqKShkc3RbMF0gKyAoeWQgKyAxKSAqIGRzdFN0cmlk ZVswXSk7ICAgICAgICAgICAgIFwKLSAgICAgICAgICAgIGRzdF90eXBlIGF2X3VudXNlZCAqZHN0 MV8xLCAqZHN0MV8yLCAqZHN0Ml8xLCAqZHN0Ml8yOyAgICAgICAgICBcCi0gICAgICAgICAgICBk c3RfdHlwZSBhdl91bnVzZWQgKnIsICpnLCAqYjsgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgXAorICAgICAgICAgICAgYXZfdW51c2VkIGRzdF90eXBlICpkc3QxXzEsICpkc3QxXzIs ICpkc3QyXzEsICpkc3QyXzI7ICAgICAgICAgIFwKKyAgICAgICAgICAgIGF2X3VudXNlZCBkc3Rf dHlwZSAqciwgKmcsICpiOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAg ICAgICAgICBjb25zdCB1aW50OF90ICpweV8xID0gc3JjWzBdICsgIHkgICAgICAgKiBzcmNTdHJp ZGVbMF07ICAgICAgICAgXAogICAgICAgICAgICAgY29uc3QgdWludDhfdCAqcHlfMiA9IHB5XzEg ICArICAgICAgICAgICAgc3JjU3RyaWRlWzBdOyAgICAgICAgIFwKLSAgICAgICAgICAgIGNvbnN0 IHVpbnQ4X3QgYXZfdW51c2VkICpwdV8xID0gc3JjWzFdICsgKHkgPj4gIXl1djQyMikgKiBzcmNT dHJpZGVbMV07IFwKLSAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QgYXZfdW51c2VkICpwdl8xID0g c3JjWzJdICsgKHkgPj4gIXl1djQyMikgKiBzcmNTdHJpZGVbMl07IFwKLSAgICAgICAgICAgIGNv bnN0IHVpbnQ4X3QgYXZfdW51c2VkICpwdV8yLCAqcHZfMjsgICAgICAgICAgICAgICAgICAgICAg ICAgICBcCi0gICAgICAgICAgICBjb25zdCB1aW50OF90IGF2X3VudXNlZCAqcGFfMSwgKnBhXzI7 ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICAgICAgYXZfdW51c2VkIGNvbnN0 IHVpbnQ4X3QgKnB1XzEgPSBzcmNbMV0gKyAoeSA+PiAheXV2NDIyKSAqIHNyY1N0cmlkZVsxXTsg XAorICAgICAgICAgICAgYXZfdW51c2VkIGNvbnN0IHVpbnQ4X3QgKnB2XzEgPSBzcmNbMl0gKyAo eSA+PiAheXV2NDIyKSAqIHNyY1N0cmlkZVsyXTsgXAorICAgICAgICAgICAgYXZfdW51c2VkIGNv bnN0IHVpbnQ4X3QgKnB1XzIsICpwdl8yOyAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAg ICAgICAgICAgIGF2X3VudXNlZCBjb25zdCB1aW50OF90ICpwYV8xLCAqcGFfMjsgICAgICAgICAg ICAgICAgICAgICAgICAgICBcCiAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgaF9zaXplID0gYy0+ b3B0cy5kc3RfdyA+PiAzOyAgICAgICAgICAgICAgICAgICAgICAgXAogICAgICAgICAgICAgaWYg KG5iX2RzdF9wbGFuZXMgPiAxKSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIFwKICAgICAgICAgICAgICAgICBkc3QxXzEgPSAoZHN0X3R5cGUgKikoZHN0WzFdICsgKHlk KSAgICAgKiBkc3RTdHJpZGVbMV0pOyAgICBcCkBAIC0xNzEsNyArMTcxLDcgQEAgY29uc3QgaW50 ICpzd3NfZ2V0Q29lZmZpY2llbnRzKGludCBjb2xvcnNwYWNlKQogICAgICAgICAgICAgICAgIHBh XzIgPSBwYV8xICAgKyAgICAgc3JjU3RyaWRlWzNdOyAgICAgICAgICAgICAgICAgICAgICAgICAg IFwKICAgICAgICAgICAgIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgICAgICAgICB3aGlsZSAoaF9zaXplLS0pIHsg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICAg ICAgICAgIGludCBhdl91bnVzZWQgVSwgViwgWTsgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICBhdl91bnVzZWQgaW50IFUsIFYsIFk7ICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAKICNkZWZpbmUgRU5EWVVWMlJHQkxJ TkUoZHN0X2RlbHRhLCBzcywgYWxwaGEsIHl1djQyMiwgbmJfZHN0X3BsYW5lcykgXAogICAgIHB1 XzEgICs9IDQgPj4gc3M7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKQEAgLTE5Niw3 ICsxOTYsNyBAQCBjb25zdCBpbnQgKnN3c19nZXRDb2VmZmljaWVudHMoaW50IGNvbG9yc3BhY2Up CiAgICAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAog ICAgIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAg ICBpZiAoYy0+b3B0cy5kc3RfdyAmICg0ID4+IHNzKSkgeyAgICAgICAgICAgICAgICBcCi0gICAg ICAgIGludCBhdl91bnVzZWQgWSwgVSwgVjsgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAg ICBhdl91bnVzZWQgaW50IFksIFUsIFY7ICAgICAgICAgICAgICAgICAgICAgIFwKIAogI2RlZmlu ZSBFTkRZVVYyUkdCRlVOQygpICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgICAgICAg ICAgIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCkBAIC00ODYsNyAr NDg2LDcgQEAgWVVWMlJHQkZVTkMoeXV2MnJnYl9jXzFfb3JkZXJlZF9kaXRoZXIsIHVpbnQ4X3Qs IDAsIDAsIDEpCiAgICAgZHN0XzIgKz0gMTsKICAgICB9CiAgICAgaWYgKGMtPm9wdHMuZHN0X3cg JiA3KSB7Ci0gICAgICAgIGludCBhdl91bnVzZWQgWSwgVSwgVjsKKyAgICAgICAgYXZfdW51c2Vk IGludCBZLCBVLCBWOwogICAgICAgICBpbnQgcGl4ZWxzX2xlZnQgPSBjLT5vcHRzLmRzdF93ICYg NzsKICAgICBjb25zdCB1aW50OF90ICpkMTI4ID0gZmZfZGl0aGVyXzh4OF8yMjBbeWQgJiA3XTsK ICAgICBjaGFyIG91dF8xID0gMCwgb3V0XzIgPSAwOwpkaWZmIC0tZ2l0IGEvdGVzdHMvY2hlY2th c20vY2hlY2thc20uaCBiL3Rlc3RzL2NoZWNrYXNtL2NoZWNrYXNtLmgKaW5kZXggMTY4NGM0Mjdk Ni4uNGY3MzA3NjQxZiAxMDA2NDQKLS0tIGEvdGVzdHMvY2hlY2thc20vY2hlY2thc20uaAorKysg Yi90ZXN0cy9jaGVja2FzbS9jaGVja2FzbS5oCkBAIC0xODQsNyArMTg0LDcgQEAgaW50IGRvdWJs ZV9uZWFyX2Fic19lcHNfYXJyYXkoY29uc3QgZG91YmxlICphLCBjb25zdCBkb3VibGUgKmIsIGRv dWJsZSBlcHMsCiBleHRlcm4gQVZMRkcgY2hlY2thc21fbGZnOwogI2RlZmluZSBybmQoKSBhdl9s ZmdfZ2V0KCZjaGVja2FzbV9sZmcpCiAKLXN0YXRpYyBhdl91bnVzZWQgdm9pZCAqZnVuY19yZWYs ICpmdW5jX25ldzsKK2F2X3VudXNlZCBzdGF0aWMgdm9pZCAqZnVuY19yZWYsICpmdW5jX25ldzsK IAogZXh0ZXJuIHVpbnQ2NF90IGJlbmNoX3J1bnM7CiAKLS0gCjIuNDkuMQoKCkZyb20gNzQxOWRm ZmZhZjU3ODRmYTM1OGI2MzU3NDg1OGNkODMzOTg5YzUyNyBNb24gU2VwIDE3IDAwOjAwOjAwIDIw MDEKRnJvbTogPT9VVEYtOD9xP0thY3Blcj0yME1pY2hhaj1DNT04Mm93Pz0gPGthc3BlcjkzQGdt YWlsLmNvbT4KRGF0ZTogVGh1LCAyNSBTZXAgMjAyNSAxOToxMDowMSArMDIwMApTdWJqZWN0OiBb UEFUQ0ggMi80XSBhdnV0aWwvYXR0cmlidXRlczogYWRkIEFWX0hBU19TVERfQVRUUklCVVRFCk1J TUUtVmVyc2lvbjogMS4wCkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOApD b250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0CgpGb3IgdGVzdGluZyBsYW5ndWFnZSBzdGFu ZGFyZCBhdHRyaWJ1dGVzLCBmb3IgYm90aCBDKysgYW5kIEMuCgpTaWduZWQtb2ZmLWJ5OiBLYWNw ZXIgTWljaGFqxYJvdyA8a2FzcGVyOTNAZ21haWwuY29tPgotLS0KIGxpYmF2dXRpbC9hdHRyaWJ1 dGVzLmggfCA4ICsrKysrKysrCiAxIGZpbGUgY2hhbmdlZCwgOCBpbnNlcnRpb25zKCspCgpkaWZm IC0tZ2l0IGEvbGliYXZ1dGlsL2F0dHJpYnV0ZXMuaCBiL2xpYmF2dXRpbC9hdHRyaWJ1dGVzLmgK aW5kZXggZDE1ZWRlMTI4Ni4uMmMwOGVhMzFiZCAxMDA2NDQKLS0tIGEvbGliYXZ1dGlsL2F0dHJp YnV0ZXMuaAorKysgYi9saWJhdnV0aWwvYXR0cmlidXRlcy5oCkBAIC00MCw2ICs0MCwxNCBAQAog IyAgICBkZWZpbmUgQVZfSEFTX0JVSUxUSU4oeCkgMAogI2VuZGlmCiAKKyNpZiBkZWZpbmVkKF9f Y3BsdXNwbHVzKSAmJiBkZWZpbmVkKF9faGFzX2NwcF9hdHRyaWJ1dGUpCisjICAgIGRlZmluZSBB Vl9IQVNfU1REX0FUVFJJQlVURSh4KSBfX2hhc19jcHBfYXR0cmlidXRlKHgpCisjZWxpZiAhZGVm aW5lZChfX2NwbHVzcGx1cykgJiYgZGVmaW5lZChfX2hhc19jX2F0dHJpYnV0ZSkKKyMgICAgZGVm aW5lIEFWX0hBU19TVERfQVRUUklCVVRFKHgpIF9faGFzX2NfYXR0cmlidXRlKHgpCisjZWxzZQor IyAgICBkZWZpbmUgQVZfSEFTX1NURF9BVFRSSUJVVEUoeCkgMAorI2VuZGlmCisKICNpZm5kZWYg YXZfYWx3YXlzX2lubGluZQogI2lmIEFWX0dDQ19WRVJTSU9OX0FUX0xFQVNUKDMsMSkKICMgICAg ZGVmaW5lIGF2X2Fsd2F5c19pbmxpbmUgX19hdHRyaWJ1dGVfXygoYWx3YXlzX2lubGluZSkpIGlu bGluZQotLSAKMi40OS4xCgoKRnJvbSBlNTA3MWJmNGMxNzQ2YTA4ZjkxNmE2NDQ1ZDZiYTdiNTFh NWNiZDAxIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiA9P1VURi04P3E/S2FjcGVyPTIw TWljaGFqPUM1PTgyb3c/PSA8a2FzcGVyOTNAZ21haWwuY29tPgpEYXRlOiBUaHUsIDI1IFNlcCAy MDI1IDE5OjIyOjM5ICswMjAwClN1YmplY3Q6IFtQQVRDSCAzLzRdIGF2dXRpbC9hdHRyaWJ1dGVz OiB1c2Ugc3RhbmRhcmQgYXR0cmlidXRlcyB3aGVuIHRoZXkgYXJlCiBhdmFpbGFibGUKTUlNRS1W ZXJzaW9uOiAxLjAKQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04CkNvbnRl bnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKClNpZ25lZC1vZmYtYnk6IEthY3BlciBNaWNoYWrF gm93IDxrYXNwZXI5M0BnbWFpbC5jb20+Ci0tLQogbGliYXZ1dGlsL2F0dHJpYnV0ZXMuaCB8IDE2 ICsrKysrKysrKysrKy0tLS0KIDEgZmlsZSBjaGFuZ2VkLCAxMiBpbnNlcnRpb25zKCspLCA0IGRl bGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2xpYmF2dXRpbC9hdHRyaWJ1dGVzLmggYi9saWJhdnV0 aWwvYXR0cmlidXRlcy5oCmluZGV4IDJjMDhlYTMxYmQuLjk5M2VjNmUxZGEgMTAwNjQ0Ci0tLSBh L2xpYmF2dXRpbC9hdHRyaWJ1dGVzLmgKKysrIGIvbGliYXZ1dGlsL2F0dHJpYnV0ZXMuaApAQCAt NjYsNyArNjYsOSBAQAogI2VuZGlmCiAjZW5kaWYKIAotI2lmIEFWX0dDQ19WRVJTSU9OX0FUX0xF QVNUKDMsNCkKKyNpZiBBVl9IQVNfU1REX0FUVFJJQlVURShub2Rpc2NhcmQpCisjICAgIGRlZmlu ZSBhdl93YXJuX3VudXNlZF9yZXN1bHQgW1tub2Rpc2NhcmRdXQorI2VsaWYgQVZfR0NDX1ZFUlNJ T05fQVRfTEVBU1QoMyw0KQogIyAgICBkZWZpbmUgYXZfd2Fybl91bnVzZWRfcmVzdWx0IF9fYXR0 cmlidXRlX18oKHdhcm5fdW51c2VkX3Jlc3VsdCkpCiAjZWxzZQogIyAgICBkZWZpbmUgYXZfd2Fy bl91bnVzZWRfcmVzdWx0CkBAIC0xMDQsNyArMTA2LDkgQEAKICMgICAgZGVmaW5lIGF2X2ZsYXR0 ZW4KICNlbmRpZgogCi0jaWYgQVZfR0NDX1ZFUlNJT05fQVRfTEVBU1QoMywxKQorI2lmIEFWX0hB U19TVERfQVRUUklCVVRFKGRlcHJlY2F0ZWQpCisjICAgIGRlZmluZSBhdHRyaWJ1dGVfZGVwcmVj YXRlZCBbW2RlcHJlY2F0ZWRdXQorI2VsaWYgQVZfR0NDX1ZFUlNJT05fQVRfTEVBU1QoMywxKQog IyAgICBkZWZpbmUgYXR0cmlidXRlX2RlcHJlY2F0ZWQgX19hdHRyaWJ1dGVfXygoZGVwcmVjYXRl ZCkpCiAjZWxpZiBkZWZpbmVkKF9NU0NfVkVSKQogIyAgICBkZWZpbmUgYXR0cmlidXRlX2RlcHJl Y2F0ZWQgX19kZWNsc3BlYyhkZXByZWNhdGVkKQpAQCAtMTM1LDcgKzEzOSw5IEBACiAjZW5kaWYK ICNlbmRpZgogCi0jaWYgZGVmaW5lZChfX0dOVUNfXykgfHwgZGVmaW5lZChfX2NsYW5nX18pCisj aWYgQVZfSEFTX1NURF9BVFRSSUJVVEUobWF5YmVfdW51c2VkKQorIyAgICBkZWZpbmUgYXZfdW51 c2VkIFtbbWF5YmVfdW51c2VkXV0KKyNlbGlmIGRlZmluZWQoX19HTlVDX18pIHx8IGRlZmluZWQo X19jbGFuZ19fKQogIyAgICBkZWZpbmUgYXZfdW51c2VkIF9fYXR0cmlidXRlX18oKHVudXNlZCkp CiAjZWxzZQogIyAgICBkZWZpbmUgYXZfdW51c2VkCkBAIC0xNzQsNyArMTgwLDkgQEAKICMgICAg ZGVmaW5lIGF2X3NjYW5mX2Zvcm1hdChmbXRwb3MsIGF0dHJwb3MpCiAjZW5kaWYKIAotI2lmIEFW X0dDQ19WRVJTSU9OX0FUX0xFQVNUKDIsNSkgfHwgZGVmaW5lZChfX2NsYW5nX18pCisjaWYgQVZf SEFTX1NURF9BVFRSSUJVVEUobm9yZXR1cm4pCisjICAgIGRlZmluZSBhdl9ub3JldHVybiBbW25v cmV0dXJuXV0KKyNlbGlmIEFWX0dDQ19WRVJTSU9OX0FUX0xFQVNUKDIsNSkgfHwgZGVmaW5lZChf X2NsYW5nX18pCiAjICAgIGRlZmluZSBhdl9ub3JldHVybiBfX2F0dHJpYnV0ZV9fKChub3JldHVy bikpCiAjZWxzZQogIyAgICBkZWZpbmUgYXZfbm9yZXR1cm4KLS0gCjIuNDkuMQoKCkZyb20gZDgx ZWU3N2Y2YzkyMzdmZjIxMjlhZDM2ZjZmMDViMjNmMGVmZDc3NiBNb24gU2VwIDE3IDAwOjAwOjAw IDIwMDEKRnJvbTogPT9VVEYtOD9xP0thY3Blcj0yME1pY2hhaj1DNT04Mm93Pz0gPGthc3Blcjkz QGdtYWlsLmNvbT4KRGF0ZTogVGh1LCAyNSBTZXAgMjAyNSAxOToyNDoxOSArMDIwMApTdWJqZWN0 OiBbUEFUQ0ggNC80XSBhdnV0aWwvYXR0cmlidXRlczogcHJlZmVyIGNsYW5nIGF0dHJpYnV0ZXMg ZXZlbiBpbgogbm9uLWdudSBidWlsZHMKTUlNRS1WZXJzaW9uOiAxLjAKQ29udGVudC1UeXBlOiB0 ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04CkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQK CkluIE1TVkMgbW9kZSBDbGFuZyBkb2Vzbid0IGRlZmluZSBfX0dOVUNfXywgYnV0IHdlIGNhbiBz dGlsbCBhdHRyaWJ1dGVzLgoKU2lnbmVkLW9mZi1ieTogS2FjcGVyIE1pY2hhasWCb3cgPGthc3Bl cjkzQGdtYWlsLmNvbT4KLS0tCiBsaWJhdnV0aWwvYXR0cmlidXRlcy5oIHwgOCArKysrLS0tLQog MSBmaWxlIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKCmRpZmYgLS1n aXQgYS9saWJhdnV0aWwvYXR0cmlidXRlcy5oIGIvbGliYXZ1dGlsL2F0dHJpYnV0ZXMuaAppbmRl eCA5OTNlYzZlMWRhLi43NzJlMzI3ZmE0IDEwMDY0NAotLS0gYS9saWJhdnV0aWwvYXR0cmlidXRl cy5oCisrKyBiL2xpYmF2dXRpbC9hdHRyaWJ1dGVzLmgKQEAgLTQ5LDcgKzQ5LDcgQEAKICNlbmRp ZgogCiAjaWZuZGVmIGF2X2Fsd2F5c19pbmxpbmUKLSNpZiBBVl9HQ0NfVkVSU0lPTl9BVF9MRUFT VCgzLDEpCisjaWYgQVZfR0NDX1ZFUlNJT05fQVRfTEVBU1QoMywxKSB8fCBkZWZpbmVkKF9fY2xh bmdfXykKICMgICAgZGVmaW5lIGF2X2Fsd2F5c19pbmxpbmUgX19hdHRyaWJ1dGVfXygoYWx3YXlz X2lubGluZSkpIGlubGluZQogI2VsaWYgZGVmaW5lZChfTVNDX1ZFUikKICMgICAgZGVmaW5lIGF2 X2Fsd2F5c19pbmxpbmUgX19mb3JjZWlubGluZQpAQCAtNjgsMTMgKzY4LDEzIEBACiAKICNpZiBB Vl9IQVNfU1REX0FUVFJJQlVURShub2Rpc2NhcmQpCiAjICAgIGRlZmluZSBhdl93YXJuX3VudXNl ZF9yZXN1bHQgW1tub2Rpc2NhcmRdXQotI2VsaWYgQVZfR0NDX1ZFUlNJT05fQVRfTEVBU1QoMyw0 KQorI2VsaWYgQVZfR0NDX1ZFUlNJT05fQVRfTEVBU1QoMyw0KSB8fCBkZWZpbmVkKF9fY2xhbmdf XykKICMgICAgZGVmaW5lIGF2X3dhcm5fdW51c2VkX3Jlc3VsdCBfX2F0dHJpYnV0ZV9fKCh3YXJu X3VudXNlZF9yZXN1bHQpKQogI2Vsc2UKICMgICAgZGVmaW5lIGF2X3dhcm5fdW51c2VkX3Jlc3Vs dAogI2VuZGlmCiAKLSNpZiBBVl9HQ0NfVkVSU0lPTl9BVF9MRUFTVCgzLDEpCisjaWYgQVZfR0ND X1ZFUlNJT05fQVRfTEVBU1QoMywxKSB8fCBkZWZpbmVkKF9fY2xhbmdfXykKICMgICAgZGVmaW5l IGF2X25vaW5saW5lIF9fYXR0cmlidXRlX18oKG5vaW5saW5lKSkKICNlbGlmIGRlZmluZWQoX01T Q19WRVIpCiAjICAgIGRlZmluZSBhdl9ub2lubGluZSBfX2RlY2xzcGVjKG5vaW5saW5lKQpAQCAt MTA4LDcgKzEwOCw3IEBACiAKICNpZiBBVl9IQVNfU1REX0FUVFJJQlVURShkZXByZWNhdGVkKQog IyAgICBkZWZpbmUgYXR0cmlidXRlX2RlcHJlY2F0ZWQgW1tkZXByZWNhdGVkXV0KLSNlbGlmIEFW X0dDQ19WRVJTSU9OX0FUX0xFQVNUKDMsMSkKKyNlbGlmIEFWX0dDQ19WRVJTSU9OX0FUX0xFQVNU KDMsMSkgfHwgZGVmaW5lZChfX2NsYW5nX18pCiAjICAgIGRlZmluZSBhdHRyaWJ1dGVfZGVwcmVj YXRlZCBfX2F0dHJpYnV0ZV9fKChkZXByZWNhdGVkKSkKICNlbGlmIGRlZmluZWQoX01TQ19WRVIp CiAjICAgIGRlZmluZSBhdHRyaWJ1dGVfZGVwcmVjYXRlZCBfX2RlY2xzcGVjKGRlcHJlY2F0ZWQp Ci0tIAoyLjQ5LjEKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fCmZmbXBlZy1kZXZlbCBtYWlsaW5nIGxpc3QgLS0gZmZtcGVnLWRldmVsQGZmbXBlZy5vcmcK VG8gdW5zdWJzY3JpYmUgc2VuZCBhbiBlbWFpbCB0byBmZm1wZWctZGV2ZWwtbGVhdmVAZmZtcGVn Lm9yZwo=