From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <ffmpeg-devel-bounces@ffmpeg.org>
Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100])
	by master.gitmailbox.com (Postfix) with ESMTPS id C57604CE9C
	for <ffmpegdev@gitmailbox.com>; Tue, 15 Apr 2025 00:52:49 +0000 (UTC)
Received: from [127.0.1.1] (localhost [127.0.0.1])
	by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id A0643687AA5;
	Tue, 15 Apr 2025 03:52:45 +0300 (EEST)
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05olkn2036.outbound.protection.outlook.com [40.92.91.36])
 by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 645A9687C6E
 for <ffmpeg-devel@ffmpeg.org>; Tue, 15 Apr 2025 03:52:38 +0300 (EEST)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=sd7N2hOZNmwopqY5fU1K4//QsE7+Fs/OmP07W49LvNijTFxSjkGLmXWHWEgUqFw4N+LjezgHVJsFjcGRo8T+4SM/Os0KrfcrLeyCpLeXxK9UGpvrsv6GI7nulv76k+4/SUHXdfu4Hbi5FkxdEo34JxeHhOrZwEo8MqUYm29S7VtjdxY2hs0mI6ttWe1lTsCpnQ5a4rBKlI0noYdMvH81c+mzj9+j657CXbpDdUsllOwUUknldGwrvD8O8+F+pHb7ozaMoHDDOa3zs20M/fXArUxQlA5aj77F74KgjAD8Kt7IeHS4TdI1EOrf2lqt6pomCI3kBHWqJy197LHxcNisCw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; 
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=2gkZfvvG21j683f3pD2KjSN1aznk8Z6+o9arAirJ0ug=;
 b=NiHuwFY2SulIchkiu8R/HwVJpYHgJ9W9NsjO8Omso2HhYqMBCg7fwyYHHf0oN69ShshLdvPVyeHQlSBaw5cm/ybT2SAs6/jIlT7F+NpwXskzgm2O2tKGqNhjWnUelKMsOQ6B4HNGkk8AZfi1oF3p1GOR31VXtKU+PXWYsCVWaGzRJJGYEe5yZ/rYCtKUpKZWoX7j1mfMMMF/7tTMO47p0Aeda/37INr6/+tlekzBxREt/snk+Gy5EI0So7z3gb0sc5LCTQUESWxcEDjm3AIid/NxwgEGmevpjkSzHP+HPWbLma1C5KU0qLNNX5ZMzFkIzJZe/SVbXHgwpsyzyU+CUg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=outlook.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=2gkZfvvG21j683f3pD2KjSN1aznk8Z6+o9arAirJ0ug=;
 b=jLzE29L3PicwuXbEaTZ9i+cJBYBW3Ryc6oZZRHX+pjg1FP3+ot7/rhaUFfVIJ2oHcjT6piuTx2XJklroSio1xVa1We4iVgWyYrxjbgZwFjEYmtEsyRPGtJhanA3H5xfhm1n+WVaARYvTv58kB4pFcXeLrxu9W8Y9dTfiUdZjqz4OoRNd27ODXSmq56yqLHb2yNIWf/utx1H//ssp610wpSKCMon9xkZxp4NBUvzrB5JeKOaYZ2BFJdRkWewQxIMJ0szcQRT35Eq0VcdtIEXZ06YBX8VYHz4JyR7kSMQJ0A0Ejmvjj8CgC77IzMqB87A1AV+x/JW1f5FIaPgR4QVv2g==
Received: from GV1P250MB0737.EURP250.PROD.OUTLOOK.COM (2603:10a6:150:8e::17)
 by PA2P250MB1081.EURP250.PROD.OUTLOOK.COM (2603:10a6:102:40a::20) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8655.19; Tue, 15 Apr
 2025 00:52:36 +0000
Received: from GV1P250MB0737.EURP250.PROD.OUTLOOK.COM
 ([fe80::d6a1:e3af:a5f1:b614]) by GV1P250MB0737.EURP250.PROD.OUTLOOK.COM
 ([fe80::d6a1:e3af:a5f1:b614%5]) with mapi id 15.20.8655.012; Tue, 15 Apr 2025
 00:52:36 +0000
Content-Type: multipart/mixed; boundary="------------qfImUvf2oYPvB8ybeaNIg8kP"
Message-ID: <GV1P250MB07375ABB2BB05DDD01488B598FB22@GV1P250MB0737.EURP250.PROD.OUTLOOK.COM>
Date: Tue, 15 Apr 2025 02:52:34 +0200
User-Agent: Mozilla Thunderbird
Content-Language: en-US
To: FFmpeg development discussions and patches <ffmpeg-devel@ffmpeg.org>
From: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
X-ClientProxiedBy: FR2P281CA0086.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9b::14) To GV1P250MB0737.EURP250.PROD.OUTLOOK.COM
 (2603:10a6:150:8e::17)
X-Microsoft-Original-Message-ID: <d929da57-1245-4be8-88be-043bb2010068@outlook.com>
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: GV1P250MB0737:EE_|PA2P250MB1081:EE_
X-MS-Office365-Filtering-Correlation-Id: 13e50796-14b4-4744-dab7-08dd7bb7d040
X-Microsoft-Antispam: BCL:0;
 ARA:14566002|7092599003|6092099012|12121999004|461199028|19110799003|15080799006|8060799006|5072599009|1602099012|20055399003|3412199025|4302099013|440099028;
X-Microsoft-Antispam-Message-Info: =?utf-8?B?OUNzOFU1K3N3L1NhU1QzM2dlMGN1VFNKNWdiWVk1NGJETG9QV1phY1daaHFy?=
 =?utf-8?B?ZHN1eHY5bjdIVkxWSEFjSE92UjBPSXNCVS9jSS9NQWtldmpLNmtiTjdhRHZT?=
 =?utf-8?B?Vng2SFBFMTgxMjk4SUNyUTh0UDZwV3lqNEJVcjd4M1RvMjltZGxWT3Ezby9m?=
 =?utf-8?B?NUZCcld1Qm9QdDNXY2Y2dGoyVGZzWGhXNkRlVTVPY2lnK1ZsY1Z5SWFFN0hE?=
 =?utf-8?B?Zk9vSnhRMUVJSjZDRmh5MUFaeW5Hb09kcWJ5VGxLbWFwMkJqUFdVdVlFL0c4?=
 =?utf-8?B?MUIybUJHQ3k2M2pjaE9SRnFDTEZ5OWJWSzBaaWo4bVVIVE1yR2J1Qzdwa3RM?=
 =?utf-8?B?TERUMytLS1FFN3d6VlNFZ1ZWZDFEQkNvY3NrYmNVTVNYdndqbmJFTXd4eGo3?=
 =?utf-8?B?UE9QbmRIMy95YkRjUHduQ0Zqc09ycGkwWUZ1c0Fkc29iVk9BMlBqZGIxWEtO?=
 =?utf-8?B?bUdoSW1KVWJYbElxNmkvZkxWVTlobTcwTHZoSXlOSVhvcDE3cFFhSUFxTkRq?=
 =?utf-8?B?bWYxOWJQUUZUWTdxL0tiOFpiZ3JJYXdFa2FDMDZsV1pVbnBPZDhaRi9GSmsy?=
 =?utf-8?B?aEhSc2oxdmtqK05FU1hSdmExblU0UUEySGY4alJQcVZrdVFoa0thZkVxQUlw?=
 =?utf-8?B?MHQvREE2UWRNaWJiWkdKZVVHR2xFMmd2L2FrZnBGVG5hdTVBdW5CTjRTNkNX?=
 =?utf-8?B?Nnh4MEtTa1M0NmF1ZkZ3TllCMWE3bUYzM00wcjBGOEw5b2JWeEw3bnFwbnlP?=
 =?utf-8?B?YTRZU0tBUm1yUy80VjhqNTVyMDlHcEUwellPWW45WGx5UzMzd3lZQlZISHdR?=
 =?utf-8?B?M3V4ZFNjZXB0N3JpVHJ6MFJYUEVPdFZGdmpUR0t0NXdKM29DTFJ3NkdrdTJY?=
 =?utf-8?B?Zk9qQTJ1QWdGQ0xocVVtN2N2b0tTSjVabEdiQ294dStiYUtFWVBKSk1Qc3o2?=
 =?utf-8?B?UEdDVXNBdHYzYURTRGJIVEIxdk4vNlRFTCszWlUvcjVPZWZNQ3FRbHNQWVlS?=
 =?utf-8?B?ZUFKYm8zTm12aTBzdVE4THNITERmRnZMUjJoKzdHR0c2MXBROE1hMm9tcjJU?=
 =?utf-8?B?b01uUVVZbkdtWWlmQTJ5cXJTTnFzbnFBWFIvSWFqYnNiVFkwYTFVcTlwekYw?=
 =?utf-8?B?d1NhSmNpNmJ4MkpnMjU0dTNnWktnRE0xRHk5NnVMZndKcWlyYUZPaHVzNC9W?=
 =?utf-8?B?QnV6QTlhalQ4K29wWVVWQWIwNlhVZVRSczNhYUJVNCtqVjcvRGR6NjNqVHk0?=
 =?utf-8?B?aUlMekVlZEYzZDI0RU9PaTZnQVVqSU1xMW05aXRuTWd3ZkNhMnJOdk1Vdzlu?=
 =?utf-8?B?S0FFSDhKWlpKRlpsWFJJVStVM3JvUzNTUHNZdWxrcExXcFVMNUJWSGNLcTdG?=
 =?utf-8?B?VEgxRyt0aVR5elFheVVaR2hTZVc2dEhlZU5Hb3E5WDhONFpSSmpmV1lwMU4y?=
 =?utf-8?B?bk9JWDhXWHhUM3hNVGhYMDFSYmdYUThYYjlydk40SUE0MzN1S2MxWkl2YUlm?=
 =?utf-8?B?VGJTVmk4UTVaZUI1MFFMSEkxaVFTazlxYVVIRnVjV0RRWlpydUNQRzlNS2o2?=
 =?utf-8?B?M3BVL0RHZ3hpL3Y4QU9YUXIvMmlBdytaYmxkOVczZVM0NlpqbGk2YXFVbWxP?=
 =?utf-8?B?SkFQdG1OWTlTY0RwbHhON241NXRNYzJCbFgrbmtIS3VUT0tBMy9xM0NkWGg4?=
 =?utf-8?B?U0lHL1l2RWZxdW93UW1ka2NxOUhNWXk5RjJtaEc3dUlQUzJ5dnRsL0c5YVI4?=
 =?utf-8?Q?gNbS0oTwHg4JtMnJko=3D?=
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?dFNmdTBpVzdJaWdKUnp3UmgxcU1ZK0o5MnFnZFVvUW9HdVdPM0h6eEVoc2JV?=
 =?utf-8?B?U0h0dStKUGZQU201SWhwOUV6blBuak04ZUJER3o1cGEwRmxPM2RaeWZ1R0JC?=
 =?utf-8?B?TDdFZUw3RU1DMU41b1ZQeVo4OWtVci9tdWtacEtERi84YXNRaWZmWFI0THYv?=
 =?utf-8?B?aG1xVEhDakNTS2ZCbE54R20rUkhOUFpLdmFvQ3hzc3o3R1U4L01GRkdNUUdq?=
 =?utf-8?B?T1lUR2dnTGJrMWNXU0xXRXc2WE9hOE1UWTgwMUlnVG01Ym40NTBsazhuYnNo?=
 =?utf-8?B?YjhyQ1A5Wk5qUzNrZmJxdE1SNXBXM1EvaVVPaUswTlhQb0d3TFBwTXM3SGE0?=
 =?utf-8?B?ZEtGUE1nL2RCQnZjbjd5SlF1Rm5paW5oMXY5eGQxNi9nUE41Skh4REZQc2ZX?=
 =?utf-8?B?NmczT2FGS2NVaThzaFFQL21GQjV3QllDQyswSU82VGxDdEIwZytUZnkyWlV6?=
 =?utf-8?B?UG1DNmZldU1telVKMFhkbjEwdkV6MDluYWZWM3FXbkY3TlAzbEdXdTUyRXVO?=
 =?utf-8?B?K21iNUtvV0xZSytzbEVFS3ZGOGVsbTM5M2x2NUtLbFhmTzFJZVBWRkdsMzlL?=
 =?utf-8?B?b2I4YTJGcWxkMlQwdVRIQnEwZ0YvQWZiMi9JSmExTnFJSUZRNEVpV1cxTkQw?=
 =?utf-8?B?ZEJVYWU4bWFIN2c4MzFiM3lKRVdZZFpKcFo3QWNIWGxFcE81ZGxKTHZNQlIx?=
 =?utf-8?B?aXZ6VS9nQStJQTgrV296U2x5VThKZUVFNGt2TjNXV3FudG8vN3hLeG5lQ002?=
 =?utf-8?B?MmkwemcySk9lS242VG9meUJ1YzBJL2kyOFd5TXlpbVlkRG1JQzYyM3dmVkxz?=
 =?utf-8?B?RnBLNVQyV2FhZDc1VGdXVXY4NXRUYUp2eC9sbFc5dEhkbTQxdUhjaUpMbTBl?=
 =?utf-8?B?Y3ZhdWNSS0F6TTIycTJZalJQejkwRzdNVDEvaGF1U0lNd0tNWlFuOUJDa3lj?=
 =?utf-8?B?QWY1blI0MHFzTlJXWFdmRmg1NkczdjVjMU4rZndheHBqS0FwSy9nYkg5bS8w?=
 =?utf-8?B?N3B2SFJYWVFjTXVTbjJhTUkxMUNwWlROYW1NcG04U2ZMbXphT3J5TUlwSUZv?=
 =?utf-8?B?anUwcGJPWEhZd1Q0Mk1OUkFlV2daUCs4Nm1zV2d3dnlqUC9VcjUvajNNcTk0?=
 =?utf-8?B?RmhXZnBLMlhkbUgybWRYVnZaVEVXdjRqRFlBTkNpcHVJWTJ6d0gzSk1YYy9T?=
 =?utf-8?B?SnIvVkppNG9USnJGZzF2K2x4YjBPSWV4a0JtcUpYNkQzT25EMTRsR1dyNWQy?=
 =?utf-8?B?cGx0QUovbkRZZUlzeEpqNXJYUHBDWFRXZXdhcFpEbmQ5bWlaTGYwbGZZNWhi?=
 =?utf-8?B?eWcvMGswaTRvRHdIY2FZY1FmZUN5UU8vVGM4dkovbi9QL0R2cjlFdFBJOFRz?=
 =?utf-8?B?dHh3bUNCenhMNmlMZ1dEMFZOZU53aHZ0NjIwbTlwaVVmNnI3RFVnOExvZTU5?=
 =?utf-8?B?QXhOZVJnSGJ5VkVSTGluQkNNaGhJOUtaNyswZm01VnFaR3hKL0Z1N2dkQXFE?=
 =?utf-8?B?TjVqQnQ2ODZyZTB1S2JjNXM3aUFUSHNBWGRHWmNpenBNQ0NGZkJBQ0MyWEQy?=
 =?utf-8?B?SnRLOUgxTENQamgxSm5LQWVjUnBwbFhDczgrNlZZVXRpMGtDUGpwRFVoc0tJ?=
 =?utf-8?B?TWxqNysrc3ZReTkxRitRZUZ6Z2IvQmppTkd6bGtNeGhJV3hwRUhHWG9Famw3?=
 =?utf-8?B?QmszUnAwOGkyYW5nY01oa2VuWVN6bmNwKzFhOUl2Q1pYM2xOOHdJV0pNVzNP?=
 =?utf-8?Q?n67yFN53gQ4jIXxlZ5m4xSyFyU3pFyHdpnVRBB0?=
X-OriginatorOrg: outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 13e50796-14b4-4744-dab7-08dd7bb7d040
X-MS-Exchange-CrossTenant-AuthSource: GV1P250MB0737.EURP250.PROD.OUTLOOK.COM
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Apr 2025 00:52:36.2343 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa
X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA2P250MB1081
Subject: [FFmpeg-devel] [PATCH 1/3] avcodec/tests/mjpegenc_huffman: Also
 test length counts
X-BeenThere: ffmpeg-devel@ffmpeg.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: FFmpeg development discussions and patches <ffmpeg-devel.ffmpeg.org>
List-Unsubscribe: <https://ffmpeg.org/mailman/options/ffmpeg-devel>,
 <mailto:ffmpeg-devel-request@ffmpeg.org?subject=unsubscribe>
List-Archive: <https://ffmpeg.org/pipermail/ffmpeg-devel>
List-Post: <mailto:ffmpeg-devel@ffmpeg.org>
List-Help: <mailto:ffmpeg-devel-request@ffmpeg.org?subject=help>
List-Subscribe: <https://ffmpeg.org/mailman/listinfo/ffmpeg-devel>,
 <mailto:ffmpeg-devel-request@ffmpeg.org?subject=subscribe>
Reply-To: FFmpeg development discussions and patches <ffmpeg-devel@ffmpeg.org>
Errors-To: ffmpeg-devel-bounces@ffmpeg.org
Sender: "ffmpeg-devel" <ffmpeg-devel-bounces@ffmpeg.org>
Archived-At: <https://master.gitmailbox.com/ffmpegdev/GV1P250MB07375ABB2BB05DDD01488B598FB22@GV1P250MB0737.EURP250.PROD.OUTLOOK.COM/>
List-Archive: <https://master.gitmailbox.com/ffmpegdev/>
List-Post: <mailto:ffmpegdev@gitmailbox.com>

--------------qfImUvf2oYPvB8ybeaNIg8kP
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

Patches attached.
I also tried to sort equal length codes in such a way that codes that
start and end with 1 bits are paired with values that occur less
frequently as suggested by Michael in
https://ffmpeg.org/pipermail/ffmpeg-devel/2025-April/341917.html. Yet
strangely this worsened compression (for the majority of the fate tests
affected by it). The patch can be found here:
https://github.com/mkver/FFmpeg/commits/mjpegenc_huffman/

- Andreas

--------------qfImUvf2oYPvB8ybeaNIg8kP
Content-Type: text/x-patch; charset=UTF-8;
 name="0001-avcodec-tests-mjpegenc_huffman-Also-test-length-coun.patch"
Content-Disposition: attachment;
 filename*0="0001-avcodec-tests-mjpegenc_huffman-Also-test-length-coun.pa";
 filename*1="tch"
Content-Transfer-Encoding: base64

RnJvbSBmM2I0ZWJkYzBlZDIxOThlNjhmOTJhNzliYjU1MDlmYWM0YzQyYzAxIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBBbmRyZWFzIFJoZWluaGFyZHQgPGFuZHJlYXMucmhlaW5oYXJk
dEBvdXRsb29rLmNvbT4KRGF0ZTogTW9uLCAxNCBBcHIgMjAyNSAyMDozOTo1MyArMDIwMApTdWJq
ZWN0OiBbUEFUQ0ggMS8zXSBhdmNvZGVjL3Rlc3RzL21qcGVnZW5jX2h1ZmZtYW46IEFsc28gdGVz
dCBsZW5ndGggY291bnRzCgpUaGlzIGlzIGJldHRlciB0aGFuIGp1c3QgdGVzdGluZyB0aGF0IHRo
ZSB0cmVlIGlzIG5vdCBvdmVyZGV0ZXJtaW5lZC4KClNpZ25lZC1vZmYtYnk6IEFuZHJlYXMgUmhl
aW5oYXJkdCA8YW5kcmVhcy5yaGVpbmhhcmR0QG91dGxvb2suY29tPgotLS0KIGxpYmF2Y29kZWMv
dGVzdHMvbWpwZWdlbmNfaHVmZm1hbi5jIHwgNDggKysrKysrKysrKysrKysrKysrKysrKy0tLS0t
LS0KIDEgZmlsZSBjaGFuZ2VkLCAzNyBpbnNlcnRpb25zKCspLCAxMSBkZWxldGlvbnMoLSkKCmRp
ZmYgLS1naXQgYS9saWJhdmNvZGVjL3Rlc3RzL21qcGVnZW5jX2h1ZmZtYW4uYyBiL2xpYmF2Y29k
ZWMvdGVzdHMvbWpwZWdlbmNfaHVmZm1hbi5jCmluZGV4IDM5YWQxMGM0NTQuLjRmOTRkZDk5ZGMg
MTAwNjQ0Ci0tLSBhL2xpYmF2Y29kZWMvdGVzdHMvbWpwZWdlbmNfaHVmZm1hbi5jCisrKyBiL2xp
YmF2Y29kZWMvdGVzdHMvbWpwZWdlbmNfaHVmZm1hbi5jCkBAIC0zMSwxNSArMzEsMTYgQEAKICNp
bmNsdWRlICJsaWJhdmNvZGVjL21qcGVnZW5jX2h1ZmZtYW4uYyIKIAogLy8gVmFsaWRhdGUgdGhl
IGNvbXB1dGVkIGxlbmd0aHMgc2F0aXNmeSB0aGUgSlBFRyByZXN0cmljdGlvbnMgYW5kIGlzIG9w
dGltYWwuCi1zdGF0aWMgaW50IGNoZWNrX2xlbmd0aHMoaW50IEwsIGludCBleHBlY3RlZF9sZW5n
dGgsCi0gICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50ICpwcm9icywgaW50IG5wcm9i
cykKK3N0YXRpYyBpbnQgY2hlY2tfbGVuZ3RocyhpbnQgTCwgY29uc3QgaW50ICpwcm9icywgaW50
IG5wcm9icywKKyAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgZXhwZWN0ZWRfbGVuZ3RoLCBj
b25zdCB1aW50OF90IGV4cGVjdGVkX2xlbl9jb3VudHNbLyogTCArIDEgKi9dKQogewogICAgIEh1
ZmZUYWJsZSBsZW5ndGhzWzI1Nl07CiAgICAgUFRhYmxlIHZhbF9jb3VudHNbMjU2XTsKKyAgICB1
aW50OF90IGxlbl9jb3VudHNbMTddID0geyAwIH07CiAgICAgaW50IGFjdHVhbF9sZW5ndGggPSAw
LCBpLCBqLCBrLCBwcm9iLCBsZW5ndGg7CiAgICAgaW50IHJldCA9IDA7Ci0gICAgZG91YmxlIGNh
bnRvcl9tZWFzdXJlID0gMDsKICAgICBhdl9hc3NlcnQwKG5wcm9icyA8PSAyNTYpOworICAgIGF2
X2Fzc2VydDAoTCA8IEZGX0FSUkFZX0VMRU1TKGxlbl9jb3VudHMpKTsKIAogICAgIGZvciAoaSA9
IDA7IGkgPCBucHJvYnM7IGkrKykgewogICAgICAgICB2YWxfY291bnRzW2ldID0gKFBUYWJsZSl7
LnZhbHVlID0gaSwgLnByb2IgPSBwcm9ic1tpXX07CkBAIC00Nyw2ICs0OCwyNiBAQCBzdGF0aWMg
aW50IGNoZWNrX2xlbmd0aHMoaW50IEwsIGludCBleHBlY3RlZF9sZW5ndGgsCiAKICAgICBtanBl
Z2VuY19odWZmbWFuX2NvbXB1dGVfYml0cyh2YWxfY291bnRzLCBsZW5ndGhzLCBucHJvYnMsIEwp
OwogCisgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBucHJvYnM7ICsraSkgeworICAgICAgICBpZiAo
bGVuZ3Roc1tpXS5sZW5ndGggPiBMKSB7CisgICAgICAgICAgICBmcHJpbnRmKHN0ZGVyciwKKyAg
ICAgICAgICAgICAgICAgICAgIkxlbiAlZCBvZiBlbGVtZW50ICVkIG9mIEh1ZmZtYW4gdGFibGUg
d2l0aCAlZCBlbGVtZW50cyBleGNlZWRzIG1heCBsZW5ndGggJWRcbiIsCisgICAgICAgICAgICAg
ICAgICAgIGxlbmd0aHNbaV0ubGVuZ3RoLCBpLCBucHJvYnMsIEwpOworICAgICAgICAgICAgcmV0
dXJuIDE7CisgICAgICAgIH0KKyAgICAgICAgbGVuX2NvdW50c1tsZW5ndGhzW2ldLmxlbmd0aF0r
KzsKKyAgICB9CisgICAgLy8gVGVzdCB0aGF0IHRoZSBsZW5ndGhzIGNhbiBiZSBtYWRlIHBhcnQg
b2YgYSBjb21wbGV0ZSwgcHJlZml4LWZyZWUgdHJlZToKKyAgICB1bnNpZ25lZCBjb2RlID0gMDsK
KyAgICBmb3IgKGludCBpID0gMTsgaSA8PSBMOyArK2kpIHsKKyAgICAgICAgY29kZSA8PD0gMTsK
KyAgICAgICAgY29kZSArPSBsZW5fY291bnRzW2ldOworICAgIH0KKyAgICBpZiAoY29kZSA+IDFV
IDw8IEwpIHsKKyAgICAgICAgZnByaW50ZihzdGRlcnIsICJIdWZmbWFuIHRyZWUgb3ZlcmRldGVy
bWluZWQvaW52YWxpZFxuIik7CisgICAgICAgIHJldCA9IDE7CisgICAgfQorCiAgICAgZm9yIChp
ID0gMDsgaSA8IG5wcm9iczsgaSsrKSB7CiAgICAgICAgIC8vIEZpbmQgdGhlIHZhbHVlJ3MgcHJv
YiBhbmQgbGVuZ3RoCiAgICAgICAgIGZvciAoaiA9IDA7IGogPCBucHJvYnM7IGorKykKQEAgLTU5
LDIyICs4MCwxOCBAQCBzdGF0aWMgaW50IGNoZWNrX2xlbmd0aHMoaW50IEwsIGludCBleHBlY3Rl
ZF9sZW5ndGgsCiAKICAgICAgICAgaWYgKHByb2IpIHsKICAgICAgICAgICAgIGFjdHVhbF9sZW5n
dGggKz0gcHJvYiAqIGxlbmd0aDsKLSAgICAgICAgICAgIGNhbnRvcl9tZWFzdXJlICs9IDEuIC8g
KDEgPDwgbGVuZ3RoKTsKICAgICAgICAgfQogCiAgICAgICAgIGlmIChsZW5ndGggPiBMIHx8IGxl
bmd0aCA8IDEpIHJldHVybiAxOwogICAgIH0KLSAgICAvLyBDaGVjayB0aGF0IHRoZSBjb2RlcyBj
YW4gYmUgcHJlZml4LWZyZWUuCi0gICAgaWYgKGNhbnRvcl9tZWFzdXJlID4gMSkgcmV0ID0gMTsK
ICAgICAvLyBDaGVjayB0aGF0IHRoZSB0b3RhbCBsZW5ndGggaXMgb3B0aW1hbAogICAgIGlmIChh
Y3R1YWxfbGVuZ3RoICE9IGV4cGVjdGVkX2xlbmd0aCkgcmV0ID0gMTsKIAogICAgIGlmIChyZXQg
PT0gMSkgewogICAgICAgZnByaW50ZihzdGRlcnIsCi0gICAgICAgICAgICAgICJDYW50b3IgbWVh
c3VyZTogJWZcbiIKICAgICAgICAgICAgICAgIkFjdHVhbCBsZW5ndGg6ICVkXG4iCiAgICAgICAg
ICAgICAgICJFeHBlY3RlZCBsZW5ndGg6ICVkXG4iLAotICAgICAgICAgICAgICBjYW50b3JfbWVh
c3VyZSwgYWN0dWFsX2xlbmd0aCwgZXhwZWN0ZWRfbGVuZ3RoKTsKKyAgICAgICAgICAgICAgYWN0
dWFsX2xlbmd0aCwgZXhwZWN0ZWRfbGVuZ3RoKTsKICAgICB9CiAKICAgICByZXR1cm4gcmV0OwpA
QCAtODMsNiArMTAwLDkgQEAgc3RhdGljIGludCBjaGVja19sZW5ndGhzKGludCBMLCBpbnQgZXhw
ZWN0ZWRfbGVuZ3RoLAogc3RhdGljIGNvbnN0IGludCBwcm9ic196ZXJvZXNbXSA9IHsKICAgICA2
LCA2LCAwLCAwLCAwCiB9Oworc3RhdGljIGNvbnN0IHVpbnQ4X3QgbGVuX2NvdW50c196ZXJvZXNb
XSA9IHsKKyAgICAwLCAxLCAxLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAx
LCAyLAorfTsKIAogc3RhdGljIGNvbnN0IGludCBwcm9ic19za2V3ZWRbXSA9IHsKICAgICAyLCAw
LCAwLCAwLCAwLCAxLCAwLCAwLCAyMCwgMCwgMiwgMCwgMTAsIDUsIDEsIDEsIDksIDEsIDEsIDYs
IDAsIDUsIDAsIDEsIDAsIDcsIDYsCkBAIC05Niw2ICsxMTYsOSBAQCBzdGF0aWMgY29uc3QgaW50
IHByb2JzX3NrZXdlZFtdID0gewogICAgIDAsIDMsIDAsIDAsIDI4LCAwLCAyLCAwLCAwLCAwLCAw
LCAxLCAwLCAwLCAwLCAwLCAxLCAxLCAwLCAwLCAwLCAwLCAyMywgMCwgMCwgMCwgMCwKICAgICAw
LCAyMSwgMSwgMCwgMywgMjQsIDIsIDAsIDAsIDcsIDAsIDAsIDEsIDUsIDEsIDIsIDAsIDUKIH07
CitzdGF0aWMgY29uc3QgdWludDhfdCBsZW5fY291bnRzX3NrZXdlZFtdID0geworICAgIDAsIDEs
IDAsIDAsIDEsIDIsIDcsIDExLCAxOCwgMzEsIDI4LCA0MCwgMCwgMSwgMCwgMCwgMTE2LAorfTsK
IAogc3RhdGljIGNvbnN0IGludCBwcm9ic19zYXRbXSA9IHsKICAgICA3NCwgOCwgMTQsIDcsIDkz
NDUsIDQwLCAwLCAyMDE0LCAyLCAxLCAxMTUsIDAsIDIsIDEsIDE5NCwgMzg4LCAyMCwgMCwgMCwg
MiwgMSwgMTIxLApAQCAtMTEwLDYgKzEzMyw5IEBAIHN0YXRpYyBjb25zdCBpbnQgcHJvYnNfc2F0
W10gPSB7CiAgICAgMCwgMTA4NSwgMCwgMCwgMCwgMywgNDg5LCAzNiwgMSwgMCwgMSwgOTQyMCwg
Mjk0LCAyOCwgMCwgNTcsIDUsIDAsIDksIDIsIDAsIDEsIDIsCiAgICAgMiwgMCwgMCwgOSwgMiwg
MjksIDIsIDIsIDcsIDAsIDUsIDQ5MCwgMCwgNywgNSwgMCwgMSwgOCwgMCwgMCwgMjMyNTUsIDAs
IDEKIH07CitzdGF0aWMgY29uc3QgdWludDhfdCBsZW5fY291bnRzX3NhdFtdID0geworICAgIDAs
IDEsIDAsIDIsIDEsIDIsIDIsIDUsIDUsIDcsIDcsIDgsIDE3LCAyMywgMTYsIDI0LCAxMzYsCit9
OwogCiAvLyBUZXN0IHRoZSBleGFtcGxlIGdpdmVuIG9uIEBzZWUKIC8vIGh0dHA6Ly9ndXJ1Lm11
bHRpbWVkaWEuY3gvc21hbGwtdGFza3MtZm9yLWZmbXBlZy8KQEAgLTE1NCwxMyArMTgwLDEzIEBA
IGludCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikKICAgICB9CiAKICAgICAvLyBDaGVjayBo
YW5kbGluZyBvZiB6ZXJvIHByb2JhYmlsaXRpZXMKLSAgICBpZiAoY2hlY2tfbGVuZ3RocygxNiwg
MTgsIHByb2JzX3plcm9lcywgRkZfQVJSQVlfRUxFTVMocHJvYnNfemVyb2VzKSkpCisgICAgaWYg
KGNoZWNrX2xlbmd0aHMoMTYsIHByb2JzX3plcm9lcywgRkZfQVJSQVlfRUxFTVMocHJvYnNfemVy
b2VzKSwgMTgsIGxlbl9jb3VudHNfemVyb2VzKSkKICAgICAgICAgcmV0ID0gMTsKICAgICAvLyBD
aGVjayBza2V3ZWQgZGlzdHJpYnV0aW9uIG92ZXIgMjU2IHdpdGhvdXQgc2F0dXJhdGVkIGxlbmd0
aHMKLSAgICBpZiAoY2hlY2tfbGVuZ3RocygxNiwgNDEyODIsIHByb2JzX3NrZXdlZCwgRkZfQVJS
QVlfRUxFTVMocHJvYnNfc2tld2VkKSkpCisgICAgaWYgKGNoZWNrX2xlbmd0aHMoMTYsIHByb2Jz
X3NrZXdlZCwgRkZfQVJSQVlfRUxFTVMocHJvYnNfc2tld2VkKSwgNDEyODIsIGxlbl9jb3VudHNf
c2tld2VkKSkKICAgICAgICAgcmV0ID0gMTsKICAgICAvLyBDaGVjayBza2V3ZWQgZGlzdHJpYnV0
aW9uIG92ZXIgMjU2IHdpdGggc2F0dXJhdGVkIGxlbmd0aHMKLSAgICBpZiAoY2hlY2tfbGVuZ3Ro
cygxNiwgNjY5OTA0LCBwcm9ic19zYXQsIEZGX0FSUkFZX0VMRU1TKHByb2JzX3NhdCkpKQorICAg
IGlmIChjaGVja19sZW5ndGhzKDE2LCBwcm9ic19zYXQsIEZGX0FSUkFZX0VMRU1TKHByb2JzX3Nh
dCksIDY2OTkwNCwgbGVuX2NvdW50c19zYXQpKQogICAgICAgICByZXQgPSAxOwogCiAgICAgcmV0
dXJuIHJldDsKLS0gCjIuNDUuMgoK

--------------qfImUvf2oYPvB8ybeaNIg8kP
Content-Type: text/x-patch; charset=UTF-8;
 name="0002-avcodec-mjpegenc_huffman-Avoid-AV_QSORT-to-sort-entr.patch"
Content-Disposition: attachment;
 filename*0="0002-avcodec-mjpegenc_huffman-Avoid-AV_QSORT-to-sort-entr.pa";
 filename*1="tch"
Content-Transfer-Encoding: base64

RnJvbSA3NTBkOTAwYWRhNTlmYzcxNjQ1ZGYyYjFkZGI4ZTdjMmVmMDJiYjZlIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBBbmRyZWFzIFJoZWluaGFyZHQgPGFuZHJlYXMucmhlaW5oYXJk
dEBvdXRsb29rLmNvbT4KRGF0ZTogV2VkLCAyIEFwciAyMDI1IDE1OjA2OjQzICswMjAwClN1Ympl
Y3Q6IFtQQVRDSCAyLzNdIGF2Y29kZWMvbWpwZWdlbmNfaHVmZm1hbjogQXZvaWQgQVZfUVNPUlQg
dG8gc29ydCBlbnRyaWVzCiBieSBsZW5ndGgKCkl0IGlzIHVubmVjZXNzYXJ5LCBhcyB3ZSBhbHJl
YWR5IGhhdmUgdGhlIGVudHJpZXMgc29ydGVkIGJ5CnByb2JhYmlsaXR5IGFuZCB0aGVyZWZvcmUg
aW1wbGljaXRseSBieSBsZW5ndGguIEFsbCB3ZSBuZWVkCm9uIHRvcCBvZiB0aGF0IHRvIGJ1aWxk
IHRoZSB0cmVlIGlzIHRoZSBudW1iZXIgb2YgZW50cmllcwpvZiBhIGdpdmVuIGxlbmd0aC4KRG9p
bmcgc28gZ2l2ZXMgYSAzLjYlIHNwZWVkdXAgb2YgZmZfbWpwZWdfZW5jb2RlX2h1ZmZtYW5fY2xv
c2UoKQpoZXJlOyBpdCBhbHNvIHNhdmVzIGFib3V0IDY0MEIgb2YgLnRleHQgaGVyZS4KClRoZSBu
ZXcgY29kZSBwdXRzIHZhbHVlcyB3aXRoIGhpZ2hlciBwcm9iYWJpbGl0eSB0byB0aGUgbGVmdApv
ZiB0aGUgdHJlZS4gVGhlIG9sZCBjb2RlIGRpZCBub3QgYW5kIHRoZXJlZm9yZQp0aGUgRkFURSBj
aGVja3N1bXMgbmVlZGVkIHRvIGJlIHVwZGF0ZWQuIER1ZSB0byBNSlBFRydzCjB4RkYgdW5lc2Nh
cGluZyBmaWxlIHNpemVzIGFzIHdlbGwgYXMgZmlsZSBjaGVja3N1bXMKbmVlZGVkIHRvIGJlIHVw
ZGF0ZWQ7IHRoZSBkZWNvZGVkIHBpY3R1cmUgaGFzaGVzIHN0YXllZAp0aGUgc2FtZS4gR2l2ZW4g
dGhhdCBjb2RlcyBvbiB0aGUgbGVmdCBvZiB0aGUgdHJlZSBoYXZlCm9uIGF2ZXJhZ2UgZmV3ZXIg
Yml0cyBzZXQgdGhhbiBjb2RlcyBvbiB0aGUgcmlnaHQsIHRoZQpmaWxlIHNpemVzIG1vc3RseSBp
bXByb3ZlIChhbGwgZXhjZXB0IHZzeW50aDMtbWpwZWctNDQ0KS4KClNpZ25lZC1vZmYtYnk6IEFu
ZHJlYXMgUmhlaW5oYXJkdCA8YW5kcmVhcy5yaGVpbmhhcmR0QG91dGxvb2suY29tPgotLS0KIGxp
YmF2Y29kZWMvbWpwZWdlbmNfaHVmZm1hbi5jICAgICAgICAgICAgICAgICB8ICA2NCArKysrLS0t
LS0tLQogbGliYXZjb2RlYy90ZXN0cy9tanBlZ2VuY19odWZmbWFuLmMgICAgICAgICAgIHwgMTAz
ICsrKysrKysrKystLS0tLS0tLQogdGVzdHMvcmVmL2ZhdGUvanBnLWljYyAgICAgICAgICAgICAg
ICAgICAgICAgIHwgICA2ICstCiB0ZXN0cy9yZWYvbGF2Zi9qcGcgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgfCAgIDQgKy0KIHRlc3RzL3JlZi9sYXZmL3NtanBlZyAgICAgICAgICAgICAgICAg
ICAgICAgICB8ICAgNCArLQogdGVzdHMvcmVmL3NlZWsvbGF2Zi1qcGcgICAgICAgICAgICAgICAg
ICAgICAgIHwgICA4ICstCiB0ZXN0cy9yZWYvdnN5bnRoL3ZzeW50aDEtbWpwZWctNDIyICAgICAg
ICAgICAgfCAgIDQgKy0KIHRlc3RzL3JlZi92c3ludGgvdnN5bnRoMS1tanBlZy00NDQgICAgICAg
ICAgICB8ICAgNCArLQogdGVzdHMvcmVmL3ZzeW50aC92c3ludGgxLW1qcGVnLWh1ZmZtYW4gICAg
ICAgIHwgICA0ICstCiB0ZXN0cy9yZWYvdnN5bnRoL3ZzeW50aDEtbWpwZWctdHJlbGwtaHVmZm1h
biAgfCAgIDQgKy0KIHRlc3RzL3JlZi92c3ludGgvdnN5bnRoMi1tanBlZy00MjIgICAgICAgICAg
ICB8ICAgNCArLQogdGVzdHMvcmVmL3ZzeW50aC92c3ludGgyLW1qcGVnLTQ0NCAgICAgICAgICAg
IHwgICA0ICstCiB0ZXN0cy9yZWYvdnN5bnRoL3ZzeW50aDItbWpwZWctaHVmZm1hbiAgICAgICAg
fCAgIDQgKy0KIHRlc3RzL3JlZi92c3ludGgvdnN5bnRoMi1tanBlZy10cmVsbC1odWZmbWFuICB8
ICAgNCArLQogdGVzdHMvcmVmL3ZzeW50aC92c3ludGgzLW1qcGVnLTQyMiAgICAgICAgICAgIHwg
ICA0ICstCiB0ZXN0cy9yZWYvdnN5bnRoL3ZzeW50aDMtbWpwZWctNDQ0ICAgICAgICAgICAgfCAg
IDQgKy0KIHRlc3RzL3JlZi92c3ludGgvdnN5bnRoMy1tanBlZy1odWZmbWFuICAgICAgICB8ICAg
NCArLQogdGVzdHMvcmVmL3ZzeW50aC92c3ludGgzLW1qcGVnLXRyZWxsLWh1ZmZtYW4gIHwgICAy
ICstCiB0ZXN0cy9yZWYvdnN5bnRoL3ZzeW50aF9sZW5hLW1qcGVnLTQyMiAgICAgICAgfCAgIDQg
Ky0KIHRlc3RzL3JlZi92c3ludGgvdnN5bnRoX2xlbmEtbWpwZWctNDQ0ICAgICAgICB8ICAgNCAr
LQogdGVzdHMvcmVmL3ZzeW50aC92c3ludGhfbGVuYS1tanBlZy1odWZmbWFuICAgIHwgICA0ICst
CiAuLi4vdnN5bnRoL3ZzeW50aF9sZW5hLW1qcGVnLXRyZWxsLWh1ZmZtYW4gICAgfCAgIDQgKy0K
IDIyIGZpbGVzIGNoYW5nZWQsIDExOCBpbnNlcnRpb25zKCspLCAxMzMgZGVsZXRpb25zKC0pCgpk
aWZmIC0tZ2l0IGEvbGliYXZjb2RlYy9tanBlZ2VuY19odWZmbWFuLmMgYi9saWJhdmNvZGVjL21q
cGVnZW5jX2h1ZmZtYW4uYwppbmRleCAyNTU2OTU5MTMyLi43ZmQ2M2EyNTY5IDEwMDY0NAotLS0g
YS9saWJhdmNvZGVjL21qcGVnZW5jX2h1ZmZtYW4uYworKysgYi9saWJhdmNvZGVjL21qcGVnZW5j
X2h1ZmZtYW4uYwpAQCAtNDMsMTQgKzQzLDYgQEAgdHlwZWRlZiBzdHJ1Y3QgUGFja2FnZU1lcmdl
ckxpc3QgewogICAgIGludCBpdGVtc1syNTcgKiAxNl07ICAgIC8vLzwgY2hhaW4gb2YgYWxsIGlu
ZGl2aWR1YWwgdmFsdWVzIHRoYXQgbWFrZSB1cCBpdGVtcyAgICBBLCBCLCBBLCBCLCBDLCBBLCBC
LCBDLCBELCBDLCBELCBELCBFCiB9IFBhY2thZ2VNZXJnZXJMaXN0OwogCi0vKioKLSAqIFVzZWQg
dG8gc3RvcmUgb3B0aW1hbCBodWZmbWFuIGVuY29kaW5nIHJlc3VsdHMKLSAqLwotdHlwZWRlZiBz
dHJ1Y3QgSHVmZlRhYmxlIHsKLSAgICBpbnQgY29kZTsgICAgICAgLy8vPCBjb2RlIGlzIHRoZSBp
bnB1dCB2YWx1ZQotICAgIGludCBsZW5ndGg7ICAgICAvLy88IGxlbmd0aCBvZiB0aGUgZW5jb2Rp
bmcKLX0gSHVmZlRhYmxlOwotCiAvKioKICAqIENvbXBhcmlzb24gZnVuY3Rpb24gZm9yIHR3byBQ
VGFibGVzIGJ5IHByb2IKICAqCkBAIC02NSwyMCArNTcsNiBAQCBzdGF0aWMgaW50IGNvbXBhcmVf
YnlfcHJvYihjb25zdCB2b2lkICphLCBjb25zdCB2b2lkICpiKQogICAgIHJldHVybiBhX3ZhbC5w
cm9iIC0gYl92YWwucHJvYjsKIH0KIAotLyoqCi0gKiBDb21wYXJpc29uIGZ1bmN0aW9uIGZvciB0
d28gSHVmZlRhYmxlcyBieSBsZW5ndGgKLSAqCi0gKiBAcGFyYW0gYSBGaXJzdCBIdWZmVGFibGUg
dG8gY29tcGFyZQotICogQHBhcmFtIGIgU2Vjb25kIEh1ZmZUYWJsZSB0byBjb21wYXJlCi0gKiBA
cmV0dXJuIDwgMCBmb3IgbGVzcyB0aGFuLCAwIGZvciBlcXVhbHMsID4gMCBmb3IgZ3JlYXRlciB0
aGFuCi0gKi8KLXN0YXRpYyBpbnQgY29tcGFyZV9ieV9sZW5ndGgoY29uc3Qgdm9pZCAqYSwgY29u
c3Qgdm9pZCAqYikKLXsKLSAgICBIdWZmVGFibGUgYV92YWwgPSAqKEh1ZmZUYWJsZSAqKSBhOwot
ICAgIEh1ZmZUYWJsZSBiX3ZhbCA9ICooSHVmZlRhYmxlICopIGI7Ci0gICAgcmV0dXJuIGFfdmFs
Lmxlbmd0aCAtIGJfdmFsLmxlbmd0aDsKLX0KLQogLyoqCiAgKiBDb21wdXRlcyB0aGUgbGVuZ3Ro
IG9mIHRoZSBIdWZmbWFuIGVuY29kaW5nIGZvciBlYWNoIGRpc3RpbmN0IGlucHV0IHZhbHVlLgog
ICogVXNlcyBwYWNrYWdlIG1lcmdlIGFsZ29yaXRobSBhcyBmb2xsb3dzOgpAQCAtOTIsMTUgKzcw
LDE2IEBAIHN0YXRpYyBpbnQgY29tcGFyZV9ieV9sZW5ndGgoY29uc3Qgdm9pZCAqYSwgY29uc3Qg
dm9pZCAqYikKICAqIDguIHRoZSBsZW5ndGggb2YgdGhlIGh1ZmZtYW4gY29kZSBmb3Igc3ltYm9s
IHMgd2lsbCBiZSBlcXVhbCB0byB0aGUgbnVtYmVyIG9mIHRpbWVzIHRoZSBzeW1ib2wgb2NjdXJz
IGluIHRoZSBzZWxlY3QgZWxlbWVudHMKICAqIEdvIHRvIGd1cnUubXVsdGltZWRpYS5jeC9zbWFs
bC10YXNrcy1mb3ItZmZtcGVnLyBmb3IgbW9yZSBkZXRhaWxzCiAgKgotICogQWxsIHByb2JhYmls
aXRpZXMgc2hvdWxkIGJlIHBvc2l0aXZlIGludGVnZXJzLiBUaGUgb3V0cHV0IGlzIHNvcnRlZCBi
eSBjb2RlLAotICogbm90IGJ5IGxlbmd0aC4KKyAqIEFsbCBwcm9iYWJpbGl0aWVzIHNob3VsZCBi
ZSBub25uZWdhdGl2ZSBpbnRlZ2Vycy4KICAqCi0gKiBAcGFyYW0gcHJvYl90YWJsZSBpbnB1dCBh
cnJheSBvZiBhIFBUYWJsZSBmb3IgZWFjaCBkaXN0aW5jdCBpbnB1dCB2YWx1ZQotICogQHBhcmFt
IGRpc3RpbmN0cyAgb3V0cHV0IGFycmF5IG9mIGEgSHVmZlRhYmxlIHRoYXQgd2lsbCBiZSBwb3B1
bGF0ZWQgYnkgdGhpcyBmdW5jdGlvbgotICogQHBhcmFtIHNpemUgICAgICAgc2l6ZSBvZiB0aGUg
cHJvYl90YWJsZSBhcnJheQotICogQHBhcmFtIG1heF9sZW5ndGggbWF4IGxlbmd0aCBvZiBhbiBl
bmNvZGluZworICogQHBhcmFtIHByb2JfdGFibGVbaW4sb3V0XSBhcnJheSBvZiBhIFBUYWJsZSBm
b3IgZWFjaCBkaXN0aW5jdCBpbnB1dCB2YWx1ZSwKKyAqICAgICAgICAgICAgICAgICAgICAgICAg
ICAgd2lsbCBiZSBzb3J0ZWQgYWNjb3JkaW5nIHRvIGFzY2VuZGluZyBwcm9iYWJpbGl0eQorICog
QHBhcmFtIGNvdW50c1tvdXRdICAgICAgICB0aGUgbnVtYmVyIG9mIHZhbHVlcyBvZiBhIGdpdmVu
IGxlbmd0aAorICogQHBhcmFtIHNpemUgICAgICAgICAgICAgICBudW1iZXIgb2YgZWxlbWVudHMg
b2YgdGhlIHByb2JfdGFibGUgYXJyYXkKKyAqIEBwYXJhbSBtYXhfbGVuZ3RoICAgICAgICAgbWF4
IGxlbmd0aCBvZiBhIGNvZGUKICAqLwotc3RhdGljIHZvaWQgbWpwZWdlbmNfaHVmZm1hbl9jb21w
dXRlX2JpdHMoUFRhYmxlICpwcm9iX3RhYmxlLCBIdWZmVGFibGUgKmRpc3RpbmN0cywKK3N0YXRp
YyB2b2lkIG1qcGVnZW5jX2h1ZmZtYW5fY29tcHV0ZV9iaXRzKFBUYWJsZSAqcHJvYl90YWJsZSwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4X3QgY291bnRz
Wy8qIG1heF9sZW5ndGggKyAxICovXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCBzaXplLCBpbnQgbWF4X2xlbmd0aCkKIHsKICAgICBQYWNrYWdlTWVyZ2Vy
TGlzdCBsaXN0X2EsIGxpc3RfYiwgKnRvID0gJmxpc3RfYSwgKmZyb20gPSAmbGlzdF9iLCAqdGVt
cDsKQEAgLTE1OSwxNCArMTM4LDkgQEAgc3RhdGljIHZvaWQgbWpwZWdlbmNfaHVmZm1hbl9jb21w
dXRlX2JpdHMoUFRhYmxlICpwcm9iX3RhYmxlLCBIdWZmVGFibGUgKmRpc3RpbmMKICAgICB9CiAg
ICAgLy8gd2UgZG9uJ3Qgd2FudCB0byByZXR1cm4gdGhlIDI1NiBiaXQgY291bnQgKGl0IHdhcyBq
dXN0IGluIGhlcmUgdG8gcHJldmVudAogICAgIC8vIGFsbCAxcyBlbmNvZGluZykKLSAgICBqID0g
MDsKLSAgICBmb3IgKGkgPSAwOyBpIDwgMjU2OyBpKyspIHsKLSAgICAgICAgaWYgKG5iaXRzW2ld
ID4gMCkgewotICAgICAgICAgICAgZGlzdGluY3RzW2pdLmNvZGUgPSBpOwotICAgICAgICAgICAg
ZGlzdGluY3RzW2pdLmxlbmd0aCA9IG5iaXRzW2ldOwotICAgICAgICAgICAgaisrOwotICAgICAg
ICB9Ci0gICAgfQorICAgIG1lbXNldChjb3VudHMsIDAsIHNpemVvZihjb3VudHNbMF0pICogKG1h
eF9sZW5ndGggKyAxKSk7CisgICAgZm9yIChpbnQgaSA9IDA7IGkgPCAyNTY7ICsraSkKKyAgICAg
ICAgY291bnRzW25iaXRzW2ldXSsrOwogfQogCiB2b2lkIGZmX21qcGVnX2VuY29kZV9odWZmbWFu
X2luaXQoTUpwZWdFbmNIdWZmbWFuQ29udGV4dCAqcykKQEAgLTE4Niw3ICsxNjAsNiBAQCB2b2lk
IGZmX21qcGVnX2VuY29kZV9odWZmbWFuX2Nsb3NlKE1KcGVnRW5jSHVmZm1hbkNvbnRleHQgKnMs
IHVpbnQ4X3QgYml0c1sxN10sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVp
bnQ4X3QgdmFsW10sIGludCBtYXhfbnZhbCkKIHsKICAgICBQVGFibGUgdmFsX2NvdW50c1syNTdd
OwotICAgIEh1ZmZUYWJsZSBkaXN0aW5jdHNbMjU2XTsKIAogICAgIGF2X2Fzc2VydDEobWF4X252
YWwgPD0gRkZfQVJSQVlfRUxFTVModmFsX2NvdW50cykgLSAxKTsKIApAQCAtMjAxLDEyICsxNzQs
MTMgQEAgdm9pZCBmZl9tanBlZ19lbmNvZGVfaHVmZm1hbl9jbG9zZShNSnBlZ0VuY0h1ZmZtYW5D
b250ZXh0ICpzLCB1aW50OF90IGJpdHNbMTddLAogICAgIH0KICAgICB2YWxfY291bnRzW252YWxd
LnZhbHVlID0gMjU2OwogICAgIHZhbF9jb3VudHNbbnZhbF0ucHJvYiAgPSAwOwotICAgIG1qcGVn
ZW5jX2h1ZmZtYW5fY29tcHV0ZV9iaXRzKHZhbF9jb3VudHMsIGRpc3RpbmN0cywgbnZhbCArIDEs
IDE2KTsKLSAgICBBVl9RU09SVChkaXN0aW5jdHMsIG52YWwsIEh1ZmZUYWJsZSwgY29tcGFyZV9i
eV9sZW5ndGgpOwogCi0gICAgbWVtc2V0KGJpdHMsIDAsIHNpemVvZihiaXRzWzBdKSAqIDE3KTsK
LSAgICBmb3IgKGludCBpID0gMDsgaSA8IG52YWw7IGkrKykgewotICAgICAgICB2YWxbaV0gPSBk
aXN0aW5jdHNbaV0uY29kZTsKLSAgICAgICAgYml0c1tkaXN0aW5jdHNbaV0ubGVuZ3RoXSsrOwot
ICAgIH0KKyAgICBtanBlZ2VuY19odWZmbWFuX2NvbXB1dGVfYml0cyh2YWxfY291bnRzLCBiaXRz
LCBudmFsICsgMSwgMTYpOworCisgICAgLy8gdmFsX2NvdW50c1swXSBpcyB0aGUgZmFrZSBlbGVt
ZW50IHdlIGFkZGVkIGVhcmxpZXIuCisgICAgYXZfYXNzZXJ0MSh2YWxfY291bnRzWzBdLnByb2Ig
PT0gMCAmJiB2YWxfY291bnRzWzBdLnZhbHVlID09IDI1Nik7CisgICAgLy8gVGhlIGZvbGxvd2lu
ZyBsb29wIHB1dHMgdGhlIHZhbHVlcyB3aXRoIGhpZ2hlciBvY2N1cmVuY2UgZmlyc3QsCisgICAg
Ly8gZW5zdXJpbmcgdGhhdCB0aGV5IGdldCB0aGUgc2hvcnRlciBjb2Rlcy4KKyAgICBmb3IgKGlu
dCBpID0gMDsgaSA8IG52YWw7ICsraSkKKyAgICAgICAgdmFsW2ldID0gdmFsX2NvdW50c1tudmFs
IC0gaV0udmFsdWU7CiB9CmRpZmYgLS1naXQgYS9saWJhdmNvZGVjL3Rlc3RzL21qcGVnZW5jX2h1
ZmZtYW4uYyBiL2xpYmF2Y29kZWMvdGVzdHMvbWpwZWdlbmNfaHVmZm1hbi5jCmluZGV4IDRmOTRk
ZDk5ZGMuLjljYzVkOWI1MDYgMTAwNjQ0Ci0tLSBhL2xpYmF2Y29kZWMvdGVzdHMvbWpwZWdlbmNf
aHVmZm1hbi5jCisrKyBiL2xpYmF2Y29kZWMvdGVzdHMvbWpwZWdlbmNfaHVmZm1hbi5jCkBAIC0z
NCwxMCArMzQsOSBAQAogc3RhdGljIGludCBjaGVja19sZW5ndGhzKGludCBMLCBjb25zdCBpbnQg
KnByb2JzLCBpbnQgbnByb2JzLAogICAgICAgICAgICAgICAgICAgICAgICAgIGludCBleHBlY3Rl
ZF9sZW5ndGgsIGNvbnN0IHVpbnQ4X3QgZXhwZWN0ZWRfbGVuX2NvdW50c1svKiBMICsgMSAqL10p
CiB7Ci0gICAgSHVmZlRhYmxlIGxlbmd0aHNbMjU2XTsKICAgICBQVGFibGUgdmFsX2NvdW50c1sy
NTZdOwotICAgIHVpbnQ4X3QgbGVuX2NvdW50c1sxN10gPSB7IDAgfTsKLSAgICBpbnQgYWN0dWFs
X2xlbmd0aCA9IDAsIGksIGosIGssIHByb2IsIGxlbmd0aDsKKyAgICB1aW50OF90IGxlbl9jb3Vu
dHNbMTddOworICAgIGludCBhY3R1YWxfbGVuZ3RoID0gMCwgaTsKICAgICBpbnQgcmV0ID0gMDsK
ICAgICBhdl9hc3NlcnQwKG5wcm9icyA8PSAyNTYpOwogICAgIGF2X2Fzc2VydDAoTCA8IEZGX0FS
UkFZX0VMRU1TKGxlbl9jb3VudHMpKTsKQEAgLTQ2LDIwICs0NSwxMiBAQCBzdGF0aWMgaW50IGNo
ZWNrX2xlbmd0aHMoaW50IEwsIGNvbnN0IGludCAqcHJvYnMsIGludCBucHJvYnMsCiAgICAgICAg
IHZhbF9jb3VudHNbaV0gPSAoUFRhYmxlKXsudmFsdWUgPSBpLCAucHJvYiA9IHByb2JzW2ldfTsK
ICAgICB9CiAKLSAgICBtanBlZ2VuY19odWZmbWFuX2NvbXB1dGVfYml0cyh2YWxfY291bnRzLCBs
ZW5ndGhzLCBucHJvYnMsIEwpOworICAgIG1qcGVnZW5jX2h1ZmZtYW5fY29tcHV0ZV9iaXRzKHZh
bF9jb3VudHMsIGxlbl9jb3VudHMsIG5wcm9icywgTCk7CiAKLSAgICBmb3IgKGludCBpID0gMDsg
aSA8IG5wcm9iczsgKytpKSB7Ci0gICAgICAgIGlmIChsZW5ndGhzW2ldLmxlbmd0aCA+IEwpIHsK
LSAgICAgICAgICAgIGZwcmludGYoc3RkZXJyLAotICAgICAgICAgICAgICAgICAgICAiTGVuICVk
IG9mIGVsZW1lbnQgJWQgb2YgSHVmZm1hbiB0YWJsZSB3aXRoICVkIGVsZW1lbnRzIGV4Y2VlZHMg
bWF4IGxlbmd0aCAlZFxuIiwKLSAgICAgICAgICAgICAgICAgICAgbGVuZ3Roc1tpXS5sZW5ndGgs
IGksIG5wcm9icywgTCk7Ci0gICAgICAgICAgICByZXR1cm4gMTsKLSAgICAgICAgfQotICAgICAg
ICBsZW5fY291bnRzW2xlbmd0aHNbaV0ubGVuZ3RoXSsrOwotICAgIH0KICAgICAvLyBUZXN0IHRo
YXQgdGhlIGxlbmd0aHMgY2FuIGJlIG1hZGUgcGFydCBvZiBhIGNvbXBsZXRlLCBwcmVmaXgtZnJl
ZSB0cmVlOgotICAgIHVuc2lnbmVkIGNvZGUgPSAwOworICAgIHVuc2lnbmVkIGNvZGUgPSAwLCBj
b3VudCA9IDA7CiAgICAgZm9yIChpbnQgaSA9IDE7IGkgPD0gTDsgKytpKSB7CisgICAgICAgIGNv
dW50ICs9IGxlbl9jb3VudHNbaV07CiAgICAgICAgIGNvZGUgPDw9IDE7CiAgICAgICAgIGNvZGUg
Kz0gbGVuX2NvdW50c1tpXTsKICAgICB9CkBAIC02NywyMiArNTgsMzYgQEAgc3RhdGljIGludCBj
aGVja19sZW5ndGhzKGludCBMLCBjb25zdCBpbnQgKnByb2JzLCBpbnQgbnByb2JzLAogICAgICAg
ICBmcHJpbnRmKHN0ZGVyciwgIkh1ZmZtYW4gdHJlZSBvdmVyZGV0ZXJtaW5lZC9pbnZhbGlkXG4i
KTsKICAgICAgICAgcmV0ID0gMTsKICAgICB9Ci0KLSAgICBmb3IgKGkgPSAwOyBpIDwgbnByb2Jz
OyBpKyspIHsKLSAgICAgICAgLy8gRmluZCB0aGUgdmFsdWUncyBwcm9iIGFuZCBsZW5ndGgKLSAg
ICAgICAgZm9yIChqID0gMDsgaiA8IG5wcm9iczsgaisrKQotICAgICAgICAgICAgaWYgKHZhbF9j
b3VudHNbal0udmFsdWUgPT0gaSkgYnJlYWs7Ci0gICAgICAgIGZvciAoayA9IDA7IGsgPCBucHJv
YnM7IGsrKykKLSAgICAgICAgICAgIGlmIChsZW5ndGhzW2tdLmNvZGUgPT0gaSkgYnJlYWs7Ci0g
ICAgICAgIGlmICghKGogPCBucHJvYnMgJiYgayA8IG5wcm9icykpIHJldHVybiAxOwotICAgICAg
ICBwcm9iID0gdmFsX2NvdW50c1tqXS5wcm9iOwotICAgICAgICBsZW5ndGggPSBsZW5ndGhzW2td
Lmxlbmd0aDsKLQotICAgICAgICBpZiAocHJvYikgewotICAgICAgICAgICAgYWN0dWFsX2xlbmd0
aCArPSBwcm9iICogbGVuZ3RoOworICAgIGlmIChjb3VudCAhPSBucHJvYnMpIHsKKyAgICAgICAg
ZnByaW50ZihzdGRlcnIsICJUb3RhbCBjb3VudCAldSBkb2VzIG5vdCBtYXRjaCBleHBlY3RlZCB2
YWx1ZSAlZFxuIiwKKyAgICAgICAgICAgICAgICBjb3VudCwgbnByb2JzKTsKKyAgICAgICAgcmV0
ID0gMTsKKyAgICB9CisgICAgLy8gVGVzdCB0aGF0IHRoZSBpbnB1dCB2YWx1ZXMgaGF2ZSBiZWVu
IHByb3Blcmx5IG9yZGVyZWQuCisgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IGNvdW50OyAr
K2kpIHsKKyAgICAgICAgaWYgKHZhbF9jb3VudHNbaV0ucHJvYiAhPSBwcm9ic1t2YWxfY291bnRz
W2ldLnZhbHVlXSkgeworICAgICAgICAgICAgZnByaW50ZihzdGRlcnIsICJQVGFibGUgbm90IHBy
b3Blcmx5IHJlb3JkZXJlZFxuIik7CisgICAgICAgICAgICByZXQgPSAxOworICAgICAgICB9Cisg
ICAgICAgIGlmIChpICYmIHZhbF9jb3VudHNbaSAtIDFdLnByb2IgPiB2YWxfY291bnRzW2ldLnBy
b2IpIHsKKyAgICAgICAgICAgIGZwcmludGYoc3RkZXJyLCAiUFRhYmxlIG5vdCBvcmRlciBhc2Nl
bmRpbmdseTogWyV1XSA9ICVkID4gWyV1XSA9ICVkXG4iLAorICAgICAgICAgICAgICAgICAgICBp
IC0gMSwgdmFsX2NvdW50c1tpIC0gMV0ucHJvYiwgaSwgdmFsX2NvdW50c1tpXS5wcm9iKTsKKyAg
ICAgICAgICAgIHJldCA9IDE7CisgICAgICAgIH0KKyAgICAgICAgdW5zaWduZWQgajsKKyAgICAg
ICAgZm9yIChqID0gMDsgaiA8IGNvdW50OyArK2opCisgICAgICAgICAgICBpZiAodmFsX2NvdW50
c1tqXS52YWx1ZSA9PSBpKQorICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICBpZiAoaiA+
PSBjb3VudCkgeworICAgICAgICAgICAgZnByaW50ZihzdGRlcnIsICJFbGVtZW50ICV1IG1pc3Np
bmcgYWZ0ZXIgc29ydGluZ1xuIiwgaSk7CisgICAgICAgICAgICByZXQgPSAxOwogICAgICAgICB9
Ci0KLSAgICAgICAgaWYgKGxlbmd0aCA+IEwgfHwgbGVuZ3RoIDwgMSkgcmV0dXJuIDE7CisgICAg
fQorICAgIGZvciAoaW50IGxlbiA9IEwsIGogPSAwOyBsZW47IC0tbGVuKSB7CisgICAgICAgIGlu
dCBwcm9iID0gMDsKKyAgICAgICAgZm9yIChpbnQgZW5kID0gaiArIGxlbl9jb3VudHNbbGVuXTsg
aiA8IGVuZDsgKytqKQorICAgICAgICAgICAgcHJvYiArPSB2YWxfY291bnRzW2pdLnByb2I7Cisg
ICAgICAgIGFjdHVhbF9sZW5ndGggKz0gcHJvYiAqIGxlbjsKICAgICB9CiAgICAgLy8gQ2hlY2sg
dGhhdCB0aGUgdG90YWwgbGVuZ3RoIGlzIG9wdGltYWwKICAgICBpZiAoYWN0dWFsX2xlbmd0aCAh
PSBleHBlY3RlZF9sZW5ndGgpIHJldCA9IDE7CkBAIC0xNDEsNyArMTQ2LDEwIEBAIHN0YXRpYyBj
b25zdCB1aW50OF90IGxlbl9jb3VudHNfc2F0W10gPSB7CiAvLyBodHRwOi8vZ3VydS5tdWx0aW1l
ZGlhLmN4L3NtYWxsLXRhc2tzLWZvci1mZm1wZWcvCiBpbnQgbWFpbihpbnQgYXJnYywgY2hhciAq
KmFyZ3YpCiB7Ci0gICAgaW50IGksIHJldCA9IDA7CisgICAgZW51bSB7CisgICAgICAgIE1BWF9M
RU4gPSAzLAorICAgIH07CisgICAgaW50IHJldCA9IDA7CiAgICAgLy8gUHJvYmFiaWxpdGllcyBv
ZiBzeW1ib2xzIDAuLjQKICAgICBQVGFibGUgdmFsX2NvdW50c1tdID0gewogICAgICAgICB7LnZh
bHVlID0gMCwgLnByb2IgPSAxfSwKQEAgLTE1MSwzMCArMTU5LDMzIEBAIGludCBtYWluKGludCBh
cmdjLCBjaGFyICoqYXJndikKICAgICAgICAgey52YWx1ZSA9IDQsIC5wcm9iID0gMjF9LAogICAg
IH07CiAgICAgLy8gRXhwZWN0ZWQgY29kZSBsZW5ndGhzIGZvciBlYWNoIHN5bWJvbAotICAgIHN0
YXRpYyBjb25zdCBIdWZmVGFibGUgZXhwZWN0ZWRbXSA9IHsKLSAgICAgICAgey5jb2RlID0gMCwg
Lmxlbmd0aCA9IDN9LAotICAgICAgICB7LmNvZGUgPSAxLCAubGVuZ3RoID0gM30sCi0gICAgICAg
IHsuY29kZSA9IDIsIC5sZW5ndGggPSAzfSwKLSAgICAgICAgey5jb2RlID0gMywgLmxlbmd0aCA9
IDN9LAotICAgICAgICB7LmNvZGUgPSA0LCAubGVuZ3RoID0gMX0sCisgICAgc3RhdGljIGNvbnN0
IHVpbnQ4X3QgZXhwZWN0ZWRbTUFYX0xFTiArIDFdID0geworICAgICAgICBbMV0gPSAxLCBbM10g
PSA0LAogICAgIH07CiAgICAgLy8gQWN0dWFsIGNvZGUgbGVuZ3RocwotICAgIEh1ZmZUYWJsZSBk
aXN0aW5jdHNbNV07CisgICAgdWludDhfdCBsZW5fY291bnRzW01BWF9MRU4gKyAxXTsKIAogICAg
IC8vIEJ1aWxkIG9wdGltYWwgaHVmZm1hbiB0cmVlIHVzaW5nIGFuIGludGVybmFsIGZ1bmN0aW9u
LCB0byBhbGxvdyBmb3IKICAgICAvLyBzbWFsbGVyLXRoYW4tbm9ybWFsIHRlc3QgY2FzZXMuIFRo
aXMgbXV0YXRlcyB2YWxfY291bnRzIGJ5IHNvcnRpbmcuCi0gICAgbWpwZWdlbmNfaHVmZm1hbl9j
b21wdXRlX2JpdHModmFsX2NvdW50cywgZGlzdGluY3RzLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIEZGX0FSUkFZX0VMRU1TKGRpc3RpbmN0cyksIDMpOworICAgIG1qcGVnZW5j
X2h1ZmZtYW5fY29tcHV0ZV9iaXRzKHZhbF9jb3VudHMsIGxlbl9jb3VudHMsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgRkZfQVJSQVlfRUxFTVModmFsX2NvdW50cyksIE1BWF9M
RU4pOwogCi0gICAgZm9yIChpID0gMDsgaSA8IEZGX0FSUkFZX0VMRU1TKGRpc3RpbmN0cyk7IGkr
KykgewotICAgICAgICBpZiAoZGlzdGluY3RzW2ldLmNvZGUgIT0gZXhwZWN0ZWRbaV0uY29kZSB8
fAotICAgICAgICAgICAgZGlzdGluY3RzW2ldLmxlbmd0aCAhPSBleHBlY3RlZFtpXS5sZW5ndGgp
IHsKKyAgICBmb3IgKHVuc2lnbmVkIGkgPSAxOyBpIDwgRkZfQVJSQVlfRUxFTVMobGVuX2NvdW50
cyk7IGkrKykgeworICAgICAgICBpZiAobGVuX2NvdW50c1tpXSAhPSBleHBlY3RlZFtpXSkgewog
ICAgICAgICAgICAgZnByaW50ZihzdGRlcnIsCiAgICAgICAgICAgICAgICAgICAgICJCdWlsdCBo
dWZmbWFuIGRvZXMgbm90IGVxdWFsIGV4cGVjdGF0aW9ucy4gIgotICAgICAgICAgICAgICAgICAg
ICAiRXhwZWN0ZWQ6IGNvZGUgJWQgcHJvYmFiaWxpdHkgJWQsICIKLSAgICAgICAgICAgICAgICAg
ICAgIkFjdHVhbDogY29kZSAlZCBwcm9iYWJpbGl0eSAlZFxuIiwKLSAgICAgICAgICAgICAgICAg
ICAgZXhwZWN0ZWRbaV0uY29kZSwgZXhwZWN0ZWRbaV0ubGVuZ3RoLAotICAgICAgICAgICAgICAg
ICAgICBkaXN0aW5jdHNbaV0uY29kZSwgZGlzdGluY3RzW2ldLmxlbmd0aCk7CisgICAgICAgICAg
ICAgICAgICAgICJFeHBlY3RlZDogJWQgY29kZXMgb2YgbGVuZ3RoICV1LCAiCisgICAgICAgICAg
ICAgICAgICAgICJBY3R1YWw6ICVkIGNvZGVzIG9mIGxlbmd0aCAldVxuIiwKKyAgICAgICAgICAg
ICAgICAgICAgKGludClleHBlY3RlZFtpXSwgaSwKKyAgICAgICAgICAgICAgICAgICAgKGludCls
ZW5fY291bnRzW2ldLCBpKTsKKyAgICAgICAgICAgIHJldCA9IDE7CisgICAgICAgIH0KKyAgICB9
CisgICAgZm9yICh1bnNpZ25lZCBpID0gMTsgaSA8IEZGX0FSUkFZX0VMRU1TKHZhbF9jb3VudHMp
OyArK2kpIHsKKyAgICAgICAgaWYgKHZhbF9jb3VudHNbaSAtIDFdLnByb2IgPiB2YWxfY291bnRz
W2ldLnByb2IpIHsKKyAgICAgICAgICAgIGZwcmludGYoc3RkZXJyLCAiUHJvYmFiaWxpdHkgdGFi
bGUgbm90IG9yZGVyZWQgYXNjZW5kaW5nbHkuICIKKyAgICAgICAgICAgICAgICAgICAgInZhbF9j
b3VudHNbJXVdID09ICVkLCB2YWxfY291bnRzWyV1XSA9PSAlZFxuIiwKKyAgICAgICAgICAgICAg
ICAgICAgaSAtIDEsIHZhbF9jb3VudHNbaSAtIDFdLnByb2IsIGksIHZhbF9jb3VudHNbaV0ucHJv
Yik7CiAgICAgICAgICAgICByZXQgPSAxOwogICAgICAgICB9CiAgICAgfQpkaWZmIC0tZ2l0IGEv
dGVzdHMvcmVmL2ZhdGUvanBnLWljYyBiL3Rlc3RzL3JlZi9mYXRlL2pwZy1pY2MKaW5kZXggZWUx
YWNhNGRmMS4uZTEyMzczZTk1MyAxMDA2NDQKLS0tIGEvdGVzdHMvcmVmL2ZhdGUvanBnLWljYwor
KysgYi90ZXN0cy9yZWYvZmF0ZS9qcGctaWNjCkBAIC0xLDUgKzEsNSBAQAotNWM4M2QyMmE2Mjhk
MDFjMDk1NzA0ZjU4MzI4ZjYzYzkgKnRlc3RzL2RhdGEvZmF0ZS9qcGctaWNjLm1qcGVnCi0xMTAx
NiB0ZXN0cy9kYXRhL2ZhdGUvanBnLWljYy5tanBlZworNGQ4ZjNkOTNmNTUyNjdjYzkwYmQxZDJh
OTRjZmE4NGYgKnRlc3RzL2RhdGEvZmF0ZS9qcGctaWNjLm1qcGVnCisxMTAxMSB0ZXN0cy9kYXRh
L2ZhdGUvanBnLWljYy5tanBlZwogI3RiIDA6IDEvMjUKICNtZWRpYV90eXBlIDA6IHZpZGVvCiAj
Y29kZWNfaWQgMDogcmF3dmlkZW8KQEAgLTE5LDcgKzE5LDcgQEAgYmVzdF9lZmZvcnRfdGltZXN0
YW1wX3RpbWU9MC4wMDAwMDAKIGR1cmF0aW9uPTEKIGR1cmF0aW9uX3RpbWU9MC4wNDAwMDAKIHBr
dF9wb3M9MAotcGt0X3NpemU9MTEwMTYKK3BrdF9zaXplPTExMDExCiB3aWR0aD0xMjgKIGhlaWdo
dD0xMjgKIGNyb3BfdG9wPTAKZGlmZiAtLWdpdCBhL3Rlc3RzL3JlZi9sYXZmL2pwZyBiL3Rlc3Rz
L3JlZi9sYXZmL2pwZwppbmRleCAxNDIwZDQ2YzZjLi43MjNkY2UwMTE4IDEwMDY0NAotLS0gYS90
ZXN0cy9yZWYvbGF2Zi9qcGcKKysrIGIvdGVzdHMvcmVmL2xhdmYvanBnCkBAIC0xLDMgKzEsMyBA
QAotNjQ4ODVhZTcwYzM0NTBiNTAxOTZjZTY4N2E2NzJkYmUgKnRlc3RzL2RhdGEvaW1hZ2VzL2pw
Zy8wMi5qcGcKLTI2MDYyIHRlc3RzL2RhdGEvaW1hZ2VzL2pwZy8wMi5qcGcKK2M3YjkzODI4ODNk
MDIxYjY1MzUwOTZmNThkODNjNzJjICp0ZXN0cy9kYXRhL2ltYWdlcy9qcGcvMDIuanBnCisyNjA1
NyB0ZXN0cy9kYXRhL2ltYWdlcy9qcGcvMDIuanBnCiB0ZXN0cy9kYXRhL2ltYWdlcy9qcGcvJTAy
ZC5qcGcgQ1JDPTB4MWMzNTdhM2UKZGlmZiAtLWdpdCBhL3Rlc3RzL3JlZi9sYXZmL3NtanBlZyBi
L3Rlc3RzL3JlZi9sYXZmL3NtanBlZwppbmRleCA4MzJiOGU5OWE2Li5jMzA1Y2VmYWM4IDEwMDY0
NAotLS0gYS90ZXN0cy9yZWYvbGF2Zi9zbWpwZWcKKysrIGIvdGVzdHMvcmVmL2xhdmYvc21qcGVn
CkBAIC0xLDMgKzEsMyBAQAotNjU5NzU3MzQ1Y2UwMWY4YTVjNGMxMzczYmQwNzNkNDEgKnRlc3Rz
L2RhdGEvbGF2Zi9sYXZmLnNtanBlZwotNzI4MjY4IHRlc3RzL2RhdGEvbGF2Zi9sYXZmLnNtanBl
ZworOTI3OGFhNGIyZWFmYTZiODYzZmM2MDg1YjQzYWJkOGQgKnRlc3RzL2RhdGEvbGF2Zi9sYXZm
LnNtanBlZworNzI4MTc3IHRlc3RzL2RhdGEvbGF2Zi9sYXZmLnNtanBlZwogdGVzdHMvZGF0YS9s
YXZmL2xhdmYuc21qcGVnIENSQz0weDI5ZDU4ZmI4CmRpZmYgLS1naXQgYS90ZXN0cy9yZWYvc2Vl
ay9sYXZmLWpwZyBiL3Rlc3RzL3JlZi9zZWVrL2xhdmYtanBnCmluZGV4IDc4ZTgyNTVmYWMuLmUw
NjliODUxMzkgMTAwNjQ0Ci0tLSBhL3Rlc3RzL3JlZi9zZWVrL2xhdmYtanBnCisrKyBiL3Rlc3Rz
L3JlZi9zZWVrL2xhdmYtanBnCkBAIC0xLDQgKzEsNCBAQAotcmV0OiAwICAgICAgICAgc3Q6IDAg
ZmxhZ3M6MSBkdHM6IDAuMDAwMDAwIHB0czogMC4wMDAwMDAgcG9zOiAgICAgLTEgc2l6ZTogMjU2
MzMKK3JldDogMCAgICAgICAgIHN0OiAwIGZsYWdzOjEgZHRzOiAwLjAwMDAwMCBwdHM6IDAuMDAw
MDAwIHBvczogICAgIC0xIHNpemU6IDI1NjI5CiByZXQ6LUVJTlZBTCAgICBzdDotMSBmbGFnczow
ICB0czotMS4wMDAwMDAKIHJldDotRUlOVkFMICAgIHN0Oi0xIGZsYWdzOjEgIHRzOiAxLjg5NDE2
NwogcmV0Oi1FSU5WQUwgICAgc3Q6IDAgZmxhZ3M6MCAgdHM6IDAuODAwMDAwCkBAIC02LDcgKzYs
NyBAQCByZXQ6LUVJTlZBTCAgICBzdDogMCBmbGFnczoxICB0czotMC4zMjAwMDAKIHJldDotRUlO
VkFMICAgIHN0Oi0xIGZsYWdzOjAgIHRzOiAyLjU3NjY2OAogcmV0Oi1FSU5WQUwgICAgc3Q6LTEg
ZmxhZ3M6MSAgdHM6IDEuNDcwODM1CiByZXQ6IDAgICAgICAgICBzdDogMCBmbGFnczowICB0czog
MC4zNjAwMDAKLXJldDogMCAgICAgICAgIHN0OiAwIGZsYWdzOjEgZHRzOiAwLjM2MDAwMCBwdHM6
IDAuMzYwMDAwIHBvczogICAgIC0xIHNpemU6IDI1MzEyCityZXQ6IDAgICAgICAgICBzdDogMCBm
bGFnczoxIGR0czogMC4zNjAwMDAgcHRzOiAwLjM2MDAwMCBwb3M6ICAgICAtMSBzaXplOiAyNTMw
NAogcmV0Oi1FSU5WQUwgICAgc3Q6IDAgZmxhZ3M6MSAgdHM6LTAuNzYwMDAwCiByZXQ6LUVJTlZB
TCAgICBzdDotMSBmbGFnczowICB0czogMi4xNTMzMzYKIHJldDotRUlOVkFMICAgIHN0Oi0xIGZs
YWdzOjEgIHRzOiAxLjA0NzUwMwpAQCAtMTgsNyArMTgsNyBAQCByZXQ6LUVJTlZBTCAgICBzdDog
MCBmbGFnczowICB0czotMC40ODAwMDAKIHJldDotRUlOVkFMICAgIHN0OiAwIGZsYWdzOjEgIHRz
OiAyLjQwMDAwMAogcmV0Oi1FSU5WQUwgICAgc3Q6LTEgZmxhZ3M6MCAgdHM6IDEuMzA2NjcyCiBy
ZXQ6IDAgICAgICAgICBzdDotMSBmbGFnczoxICB0czogMC4yMDA4MzkKLXJldDogMCAgICAgICAg
IHN0OiAwIGZsYWdzOjEgZHRzOiAwLjIwMDAwMCBwdHM6IDAuMjAwMDAwIHBvczogICAgIC0xIHNp
emU6IDI1Nzk5CityZXQ6IDAgICAgICAgICBzdDogMCBmbGFnczoxIGR0czogMC4yMDAwMDAgcHRz
OiAwLjIwMDAwMCBwb3M6ICAgICAtMSBzaXplOiAyNTc5OAogcmV0Oi1FSU5WQUwgICAgc3Q6IDAg
ZmxhZ3M6MCAgdHM6LTAuOTIwMDAwCiByZXQ6LUVJTlZBTCAgICBzdDogMCBmbGFnczoxICB0czog
Mi4wMDAwMDAKIHJldDotRUlOVkFMICAgIHN0Oi0xIGZsYWdzOjAgIHRzOiAwLjg4MzM0MApAQCAt
MjYsNSArMjYsNSBAQCByZXQ6LUVJTlZBTCAgICBzdDotMSBmbGFnczoxICB0czotMC4yMjI0OTMK
IHJldDotRUlOVkFMICAgIHN0OiAwIGZsYWdzOjAgIHRzOiAyLjY4MDAwMAogcmV0Oi1FSU5WQUwg
ICAgc3Q6IDAgZmxhZ3M6MSAgdHM6IDEuNTYwMDAwCiByZXQ6IDAgICAgICAgICBzdDotMSBmbGFn
czowICB0czogMC40NjAwMDgKLXJldDogMCAgICAgICAgIHN0OiAwIGZsYWdzOjEgZHRzOiAwLjQ4
MDAwMCBwdHM6IDAuNDgwMDAwIHBvczogICAgIC0xIHNpemU6IDI1NDg5CityZXQ6IDAgICAgICAg
ICBzdDogMCBmbGFnczoxIGR0czogMC40ODAwMDAgcHRzOiAwLjQ4MDAwMCBwb3M6ICAgICAtMSBz
aXplOiAyNTQ4OAogcmV0Oi1FSU5WQUwgICAgc3Q6LTEgZmxhZ3M6MSAgdHM6LTAuNjQ1ODI1CmRp
ZmYgLS1naXQgYS90ZXN0cy9yZWYvdnN5bnRoL3ZzeW50aDEtbWpwZWctNDIyIGIvdGVzdHMvcmVm
L3ZzeW50aC92c3ludGgxLW1qcGVnLTQyMgppbmRleCAwOTVmMmIyNDk3Li44M2U4NjQwZDVhIDEw
MDY0NAotLS0gYS90ZXN0cy9yZWYvdnN5bnRoL3ZzeW50aDEtbWpwZWctNDIyCisrKyBiL3Rlc3Rz
L3JlZi92c3ludGgvdnN5bnRoMS1tanBlZy00MjIKQEAgLTEsNCArMSw0IEBACi1lYjBmN2RjMDJl
ZmQ1ZjRhYjdlYTNjNzM2MTc4MDFhMyAqdGVzdHMvZGF0YS9mYXRlL3ZzeW50aDEtbWpwZWctNDIy
LmF2aQotMTYxMTY3NCB0ZXN0cy9kYXRhL2ZhdGUvdnN5bnRoMS1tanBlZy00MjIuYXZpCitjM2Yy
ODkxYmYzNDBkYzViYWZkZTUwZmViMjM2YTU1ZCAqdGVzdHMvZGF0YS9mYXRlL3ZzeW50aDEtbWpw
ZWctNDIyLmF2aQorMTYxMTQ0MiB0ZXN0cy9kYXRhL2ZhdGUvdnN5bnRoMS1tanBlZy00MjIuYXZp
CiBiYzYyZDUzY2NlMzJhNTk1YTBjNmU5YzMxOGU0Y2UzZSAqdGVzdHMvZGF0YS9mYXRlL3ZzeW50
aDEtbWpwZWctNDIyLm91dC5yYXd2aWRlbwogc3RkZGV2OiAgICA3LjQ1IFBTTlI6IDMwLjY5IE1B
WERJRkY6ICAgNjMgYnl0ZXM6ICA3NjAzMjAwLyAgNzYwMzIwMApkaWZmIC0tZ2l0IGEvdGVzdHMv
cmVmL3ZzeW50aC92c3ludGgxLW1qcGVnLTQ0NCBiL3Rlc3RzL3JlZi92c3ludGgvdnN5bnRoMS1t
anBlZy00NDQKaW5kZXggNzc2MDljNWE0NS4uNmY1OTE1ZTMwOCAxMDA2NDQKLS0tIGEvdGVzdHMv
cmVmL3ZzeW50aC92c3ludGgxLW1qcGVnLTQ0NAorKysgYi90ZXN0cy9yZWYvdnN5bnRoL3ZzeW50
aDEtbWpwZWctNDQ0CkBAIC0xLDQgKzEsNCBAQAotYmZkZTY3NmRhZDM1NjIyOGY3N2FhMzE5ZjA0
NmRiOGEgKnRlc3RzL2RhdGEvZmF0ZS92c3ludGgxLW1qcGVnLTQ0NC5hdmkKLTE4MzE2MDYgdGVz
dHMvZGF0YS9mYXRlL3ZzeW50aDEtbWpwZWctNDQ0LmF2aQorNmRmMWVmM2M3Mjg0NmI0M2I3YmJh
YWVkNjI3MmU0MzMgKnRlc3RzL2RhdGEvZmF0ZS92c3ludGgxLW1qcGVnLTQ0NC5hdmkKKzE4MzEw
NDYgdGVzdHMvZGF0YS9mYXRlL3ZzeW50aDEtbWpwZWctNDQ0LmF2aQogYzUxZWU0NjdkMDMyNDJk
ZmMxZTQ1MzZiMDQ4NWQwMGYgKnRlc3RzL2RhdGEvZmF0ZS92c3ludGgxLW1qcGVnLTQ0NC5vdXQu
cmF3dmlkZW8KIHN0ZGRldjogICAgNy4zNyBQU05SOiAzMC43NyBNQVhESUZGOiAgIDYzIGJ5dGVz
OiAgNzYwMzIwMC8gIDc2MDMyMDAKZGlmZiAtLWdpdCBhL3Rlc3RzL3JlZi92c3ludGgvdnN5bnRo
MS1tanBlZy1odWZmbWFuIGIvdGVzdHMvcmVmL3ZzeW50aC92c3ludGgxLW1qcGVnLWh1ZmZtYW4K
aW5kZXggNzU5MWM1YjM5My4uMTE1NGFjMDM1MyAxMDA2NDQKLS0tIGEvdGVzdHMvcmVmL3ZzeW50
aC92c3ludGgxLW1qcGVnLWh1ZmZtYW4KKysrIGIvdGVzdHMvcmVmL3ZzeW50aC92c3ludGgxLW1q
cGVnLWh1ZmZtYW4KQEAgLTEsNCArMSw0IEBACi04MjdmNGRhNjc0ZGU5NWI0MjI3YWFkZGE4ZGJk
YWE3NyAqdGVzdHMvZGF0YS9mYXRlL3ZzeW50aDEtbWpwZWctaHVmZm1hbi5hdmkKLTEzOTE0MzYg
dGVzdHMvZGF0YS9mYXRlL3ZzeW50aDEtbWpwZWctaHVmZm1hbi5hdmkKK2Y0MmNkOTU1NTk3YWRl
MDViODFjN2U0YjBmYzM1ZTVhICp0ZXN0cy9kYXRhL2ZhdGUvdnN5bnRoMS1tanBlZy1odWZmbWFu
LmF2aQorMTM5MTExNiB0ZXN0cy9kYXRhL2ZhdGUvdnN5bnRoMS1tanBlZy1odWZmbWFuLmF2aQog
ZjQ2ZTU4NDU4ZWE1NzQ5NWE0OTQ2NTBmNzE1MzgyOWQgKnRlc3RzL2RhdGEvZmF0ZS92c3ludGgx
LW1qcGVnLWh1ZmZtYW4ub3V0LnJhd3ZpZGVvCiBzdGRkZXY6ICAgIDcuODcgUFNOUjogMzAuMjEg
TUFYRElGRjogICA2MyBieXRlczogIDc2MDMyMDAvICA3NjAzMjAwCmRpZmYgLS1naXQgYS90ZXN0
cy9yZWYvdnN5bnRoL3ZzeW50aDEtbWpwZWctdHJlbGwtaHVmZm1hbiBiL3Rlc3RzL3JlZi92c3lu
dGgvdnN5bnRoMS1tanBlZy10cmVsbC1odWZmbWFuCmluZGV4IGY1NGIzNjYzZjEuLmQxNjYwZmY0
ZmUgMTAwNjQ0Ci0tLSBhL3Rlc3RzL3JlZi92c3ludGgvdnN5bnRoMS1tanBlZy10cmVsbC1odWZm
bWFuCisrKyBiL3Rlc3RzL3JlZi92c3ludGgvdnN5bnRoMS1tanBlZy10cmVsbC1odWZmbWFuCkBA
IC0xLDQgKzEsNCBAQAotZTA5N2ExMThkZDM3YjNhYjU2MDcyNzhkN2I2NzVlYTMgKnRlc3RzL2Rh
dGEvZmF0ZS92c3ludGgxLW1qcGVnLXRyZWxsLWh1ZmZtYW4uYXZpCi0xMzYxMTEyIHRlc3RzL2Rh
dGEvZmF0ZS92c3ludGgxLW1qcGVnLXRyZWxsLWh1ZmZtYW4uYXZpCithZjFlZDdhNzUzNmIyYTg0
ZThiOTFiMmJiYmZhNGY5YyAqdGVzdHMvZGF0YS9mYXRlL3ZzeW50aDEtbWpwZWctdHJlbGwtaHVm
Zm1hbi5hdmkKKzEzNjA4MjggdGVzdHMvZGF0YS9mYXRlL3ZzeW50aDEtbWpwZWctdHJlbGwtaHVm
Zm1hbi5hdmkKIDU0OGRlNGY2MDk4Y2JjM2Q4YjY1NTc0YmI5M2ZhZjA5ICp0ZXN0cy9kYXRhL2Zh
dGUvdnN5bnRoMS1tanBlZy10cmVsbC1odWZmbWFuLm91dC5yYXd2aWRlbwogc3RkZGV2OiAgICA3
LjY3IFBTTlI6IDMwLjQyIE1BWERJRkY6ICAgNjIgYnl0ZXM6ICA3NjAzMjAwLyAgNzYwMzIwMApk
aWZmIC0tZ2l0IGEvdGVzdHMvcmVmL3ZzeW50aC92c3ludGgyLW1qcGVnLTQyMiBiL3Rlc3RzL3Jl
Zi92c3ludGgvdnN5bnRoMi1tanBlZy00MjIKaW5kZXggNDk3ODUwMWYzNS4uM2RmMGY3OWU1ZCAx
MDA2NDQKLS0tIGEvdGVzdHMvcmVmL3ZzeW50aC92c3ludGgyLW1qcGVnLTQyMgorKysgYi90ZXN0
cy9yZWYvdnN5bnRoL3ZzeW50aDItbWpwZWctNDIyCkBAIC0xLDQgKzEsNCBAQAotNjdhMzVkZjhl
ZjcxNDU2OGRiMDM2MmY0ZGNlNDAwZmIgKnRlc3RzL2RhdGEvZmF0ZS92c3ludGgyLW1qcGVnLTQy
Mi5hdmkKLTg3NzcxOCB0ZXN0cy9kYXRhL2ZhdGUvdnN5bnRoMi1tanBlZy00MjIuYXZpCitkMWU2
ODJhMzQ2ODA5M2M1NWI5NTc5YjVjMjQ5OWIxNCAqdGVzdHMvZGF0YS9mYXRlL3ZzeW50aDItbWpw
ZWctNDIyLmF2aQorODc3MTk0IHRlc3RzL2RhdGEvZmF0ZS92c3ludGgyLW1qcGVnLTQyMi5hdmkK
IDdmYWUyOTZiYjQyOTBkMDk5NzFhNjI5MDQwZWFjMDcyICp0ZXN0cy9kYXRhL2ZhdGUvdnN5bnRo
Mi1tanBlZy00MjIub3V0LnJhd3ZpZGVvCiBzdGRkZXY6ICAgIDQuNjkgUFNOUjogMzQuNjkgTUFY
RElGRjogICA1NSBieXRlczogIDc2MDMyMDAvICA3NjAzMjAwCmRpZmYgLS1naXQgYS90ZXN0cy9y
ZWYvdnN5bnRoL3ZzeW50aDItbWpwZWctNDQ0IGIvdGVzdHMvcmVmL3ZzeW50aC92c3ludGgyLW1q
cGVnLTQ0NAppbmRleCA2MzIxMzAxNTcxLi44NTJiMjYxMjMyIDEwMDY0NAotLS0gYS90ZXN0cy9y
ZWYvdnN5bnRoL3ZzeW50aDItbWpwZWctNDQ0CisrKyBiL3Rlc3RzL3JlZi92c3ludGgvdnN5bnRo
Mi1tanBlZy00NDQKQEAgLTEsNCArMSw0IEBACi0yNGUwNGE2ZTNiNjQ1YjMzMTRlNTIyY2M2YjRk
M2ZiNyAqdGVzdHMvZGF0YS9mYXRlL3ZzeW50aDItbWpwZWctNDQ0LmF2aQotMTAwNTIxNCB0ZXN0
cy9kYXRhL2ZhdGUvdnN5bnRoMi1tanBlZy00NDQuYXZpCitiOGQyNzZjOTAxN2EzMDE4MjY2ZGIz
ZTM1ZTg1OTJkZiAqdGVzdHMvZGF0YS9mYXRlL3ZzeW50aDItbWpwZWctNDQ0LmF2aQorMTAwNDc2
NiB0ZXN0cy9kYXRhL2ZhdGUvdnN5bnRoMi1tanBlZy00NDQuYXZpCiBmYmVjYTU5NzU1ZGZiMmI1
ZTJmMmM5NzgxNzU2ZDYzNCAqdGVzdHMvZGF0YS9mYXRlL3ZzeW50aDItbWpwZWctNDQ0Lm91dC5y
YXd2aWRlbwogc3RkZGV2OiAgICA0LjU3IFBTTlI6IDM0LjkzIE1BWERJRkY6ICAgNTUgYnl0ZXM6
ICA3NjAzMjAwLyAgNzYwMzIwMApkaWZmIC0tZ2l0IGEvdGVzdHMvcmVmL3ZzeW50aC92c3ludGgy
LW1qcGVnLWh1ZmZtYW4gYi90ZXN0cy9yZWYvdnN5bnRoL3ZzeW50aDItbWpwZWctaHVmZm1hbgpp
bmRleCAxNzYwMWUyMGY4Li5iNDQ3ODIwZjExIDEwMDY0NAotLS0gYS90ZXN0cy9yZWYvdnN5bnRo
L3ZzeW50aDItbWpwZWctaHVmZm1hbgorKysgYi90ZXN0cy9yZWYvdnN5bnRoL3ZzeW50aDItbWpw
ZWctaHVmZm1hbgpAQCAtMSw0ICsxLDQgQEAKLTJhOTU5YWQ4OTQ2OWQ4ODg5NGQwM2RjOWNlODNl
OGI5ICp0ZXN0cy9kYXRhL2ZhdGUvdnN5bnRoMi1tanBlZy1odWZmbWFuLmF2aQotNzkyOTUwIHRl
c3RzL2RhdGEvZmF0ZS92c3ludGgyLW1qcGVnLWh1ZmZtYW4uYXZpCithYmNhNTliZDI3NTE5ODc3
YTQ0OGM1MDhjMDQ2ZGY0NiAqdGVzdHMvZGF0YS9mYXRlL3ZzeW50aDItbWpwZWctaHVmZm1hbi5h
dmkKKzc5MjQ0NCB0ZXN0cy9kYXRhL2ZhdGUvdnN5bnRoMi1tanBlZy1odWZmbWFuLmF2aQogZmU0
OThkOWVkYWE5NDdlNDM1ZTRmMzUzYzE5NGVmM2QgKnRlc3RzL2RhdGEvZmF0ZS92c3ludGgyLW1q
cGVnLWh1ZmZtYW4ub3V0LnJhd3ZpZGVvCiBzdGRkZXY6ICAgIDQuODcgUFNOUjogMzQuMzcgTUFY
RElGRjogICA1NSBieXRlczogIDc2MDMyMDAvICA3NjAzMjAwCmRpZmYgLS1naXQgYS90ZXN0cy9y
ZWYvdnN5bnRoL3ZzeW50aDItbWpwZWctdHJlbGwtaHVmZm1hbiBiL3Rlc3RzL3JlZi92c3ludGgv
dnN5bnRoMi1tanBlZy10cmVsbC1odWZmbWFuCmluZGV4IGRlN2EwMjkzMTUuLmI1MjFjNWE2MTUg
MTAwNjQ0Ci0tLSBhL3Rlc3RzL3JlZi92c3ludGgvdnN5bnRoMi1tanBlZy10cmVsbC1odWZmbWFu
CisrKyBiL3Rlc3RzL3JlZi92c3ludGgvdnN5bnRoMi1tanBlZy10cmVsbC1odWZmbWFuCkBAIC0x
LDQgKzEsNCBAQAotZDZhMDlmZjhhNDZjMjk3OTM0NDk2ZDgwODljZGQyYTIgKnRlc3RzL2RhdGEv
ZmF0ZS92c3ludGgyLW1qcGVnLXRyZWxsLWh1ZmZtYW4uYXZpCi03MzQ4OTYgdGVzdHMvZGF0YS9m
YXRlL3ZzeW50aDItbWpwZWctdHJlbGwtaHVmZm1hbi5hdmkKK2QxNmVhYTZlY2UyN2JjMTA3MTVm
MjQ1MDkzMzRjNDAyICp0ZXN0cy9kYXRhL2ZhdGUvdnN5bnRoMi1tanBlZy10cmVsbC1odWZmbWFu
LmF2aQorNzM0NzM2IHRlc3RzL2RhdGEvZmF0ZS92c3ludGgyLW1qcGVnLXRyZWxsLWh1ZmZtYW4u
YXZpCiA4NjEyZGZlZTg3ZTMyMjY4ZjZmNTMzMTg4YTA5Nzc4NSAqdGVzdHMvZGF0YS9mYXRlL3Zz
eW50aDItbWpwZWctdHJlbGwtaHVmZm1hbi5vdXQucmF3dmlkZW8KIHN0ZGRldjogICAgNS4wMyBQ
U05SOiAzNC4xMCBNQVhESUZGOiAgIDY3IGJ5dGVzOiAgNzYwMzIwMC8gIDc2MDMyMDAKZGlmZiAt
LWdpdCBhL3Rlc3RzL3JlZi92c3ludGgvdnN5bnRoMy1tanBlZy00MjIgYi90ZXN0cy9yZWYvdnN5
bnRoL3ZzeW50aDMtbWpwZWctNDIyCmluZGV4IGNjMmJiZTIyMjQuLjc5YTNjNmIwYWUgMTAwNjQ0
Ci0tLSBhL3Rlc3RzL3JlZi92c3ludGgvdnN5bnRoMy1tanBlZy00MjIKKysrIGIvdGVzdHMvcmVm
L3ZzeW50aC92c3ludGgzLW1qcGVnLTQyMgpAQCAtMSw0ICsxLDQgQEAKLTlhYTBmOTBkYWM3ZWY5
MjNhMGJlMGQ5M2NhN2RjMDM5ICp0ZXN0cy9kYXRhL2ZhdGUvdnN5bnRoMy1tanBlZy00MjIuYXZp
Ci01MjYyMCB0ZXN0cy9kYXRhL2ZhdGUvdnN5bnRoMy1tanBlZy00MjIuYXZpCis5Mzc3MTY3ZjE1
OTdiOWIyZDBlM2E4YWJiNTI0NGViYSAqdGVzdHMvZGF0YS9mYXRlL3ZzeW50aDMtbWpwZWctNDIy
LmF2aQorNTI2MTQgdGVzdHMvZGF0YS9mYXRlL3ZzeW50aDMtbWpwZWctNDIyLmF2aQogN2M2NGFi
ODY2YWRkMWU1OWZlN2MzNGZlZWQwMDZkZjEgKnRlc3RzL2RhdGEvZmF0ZS92c3ludGgzLW1qcGVn
LTQyMi5vdXQucmF3dmlkZW8KIHN0ZGRldjogICAgOC4yMiBQU05SOiAyOS44MiBNQVhESUZGOiAg
IDU4IGJ5dGVzOiAgICA4NjcwMC8gICAgODY3MDAKZGlmZiAtLWdpdCBhL3Rlc3RzL3JlZi92c3lu
dGgvdnN5bnRoMy1tanBlZy00NDQgYi90ZXN0cy9yZWYvdnN5bnRoL3ZzeW50aDMtbWpwZWctNDQ0
CmluZGV4IDExNDk5NTNiNjIuLmI0NWYxNDc1ODcgMTAwNjQ0Ci0tLSBhL3Rlc3RzL3JlZi92c3lu
dGgvdnN5bnRoMy1tanBlZy00NDQKKysrIGIvdGVzdHMvcmVmL3ZzeW50aC92c3ludGgzLW1qcGVn
LTQ0NApAQCAtMSw0ICsxLDQgQEAKLWMwNjNlYTFjZGRmYzJhMzYwYjkyZjA1ZDE4MTFlYTkzICp0
ZXN0cy9kYXRhL2ZhdGUvdnN5bnRoMy1tanBlZy00NDQuYXZpCi01Mzk1NCB0ZXN0cy9kYXRhL2Zh
dGUvdnN5bnRoMy1tanBlZy00NDQuYXZpCitmZjIxNWViMDM5YzRkMmVmMzRiODkxYzI1ZmZlMGZi
ZCAqdGVzdHMvZGF0YS9mYXRlL3ZzeW50aDMtbWpwZWctNDQ0LmF2aQorNTM5NTggdGVzdHMvZGF0
YS9mYXRlL3ZzeW50aDMtbWpwZWctNDQ0LmF2aQogOGJiYmZlYWI4YjNmNjc4ODcxOWUxZjBmNzdj
ZTg2MTIgKnRlc3RzL2RhdGEvZmF0ZS92c3ludGgzLW1qcGVnLTQ0NC5vdXQucmF3dmlkZW8KIHN0
ZGRldjogICAgOC4yMSBQU05SOiAyOS44NCBNQVhESUZGOiAgIDU4IGJ5dGVzOiAgICA4NjcwMC8g
ICAgODY3MDAKZGlmZiAtLWdpdCBhL3Rlc3RzL3JlZi92c3ludGgvdnN5bnRoMy1tanBlZy1odWZm
bWFuIGIvdGVzdHMvcmVmL3ZzeW50aC92c3ludGgzLW1qcGVnLWh1ZmZtYW4KaW5kZXggMDBhNGNl
ZjZmMC4uNjU1NzM3NTExNSAxMDA2NDQKLS0tIGEvdGVzdHMvcmVmL3ZzeW50aC92c3ludGgzLW1q
cGVnLWh1ZmZtYW4KKysrIGIvdGVzdHMvcmVmL3ZzeW50aC92c3ludGgzLW1qcGVnLWh1ZmZtYW4K
QEAgLTEsNCArMSw0IEBACi02MmE3NzMyZmNiOTI4OGE3MjIzNjcxYjIzY2UwNmZhMCAqdGVzdHMv
ZGF0YS9mYXRlL3ZzeW50aDMtbWpwZWctaHVmZm1hbi5hdmkKLTQ4MTcwIHRlc3RzL2RhdGEvZmF0
ZS92c3ludGgzLW1qcGVnLWh1ZmZtYW4uYXZpCis1MmI3YzM4ODQ5NTdhYzgxZmUxYjhlMWVjZjQw
ODI3YiAqdGVzdHMvZGF0YS9mYXRlL3ZzeW50aDMtbWpwZWctaHVmZm1hbi5hdmkKKzQ4MTUyIHRl
c3RzL2RhdGEvZmF0ZS92c3ludGgzLW1qcGVnLWh1ZmZtYW4uYXZpCiBhNmRhYmE2MDc4OThlYjZl
MWExNzJjMjM2ODA4NGE2NyAqdGVzdHMvZGF0YS9mYXRlL3ZzeW50aDMtbWpwZWctaHVmZm1hbi5v
dXQucmF3dmlkZW8KIHN0ZGRldjogICAgOC42MSBQU05SOiAyOS40MyBNQVhESUZGOiAgIDU4IGJ5
dGVzOiAgICA4NjcwMC8gICAgODY3MDAKZGlmZiAtLWdpdCBhL3Rlc3RzL3JlZi92c3ludGgvdnN5
bnRoMy1tanBlZy10cmVsbC1odWZmbWFuIGIvdGVzdHMvcmVmL3ZzeW50aC92c3ludGgzLW1qcGVn
LXRyZWxsLWh1ZmZtYW4KaW5kZXggOTY1YTllNzc5Mi4uZGM3YjhjOTg2NiAxMDA2NDQKLS0tIGEv
dGVzdHMvcmVmL3ZzeW50aC92c3ludGgzLW1qcGVnLXRyZWxsLWh1ZmZtYW4KKysrIGIvdGVzdHMv
cmVmL3ZzeW50aC92c3ludGgzLW1qcGVnLXRyZWxsLWh1ZmZtYW4KQEAgLTEsNCArMSw0IEBACi03
Y2JjMDJkODVhNTcyYjVlYTg3MWMwMTRjZTI3YWI0YyAqdGVzdHMvZGF0YS9mYXRlL3ZzeW50aDMt
bWpwZWctdHJlbGwtaHVmZm1hbi5hdmkKK2ZjZmEwNmRmMTAxZjkxYWMxOTc5M2RjOTBjNGM5MThj
ICp0ZXN0cy9kYXRhL2ZhdGUvdnN5bnRoMy1tanBlZy10cmVsbC1odWZmbWFuLmF2aQogNDc4MzQg
dGVzdHMvZGF0YS9mYXRlL3ZzeW50aDMtbWpwZWctdHJlbGwtaHVmZm1hbi5hdmkKIDA3ODIyNTE3
NjI4YjIwZDU0NjIxZGY2NjZlYTc5YWYzICp0ZXN0cy9kYXRhL2ZhdGUvdnN5bnRoMy1tanBlZy10
cmVsbC1odWZmbWFuLm91dC5yYXd2aWRlbwogc3RkZGV2OiAgICA4LjI3IFBTTlI6IDI5Ljc4IE1B
WERJRkY6ICAgNTUgYnl0ZXM6ICAgIDg2NzAwLyAgICA4NjcwMApkaWZmIC0tZ2l0IGEvdGVzdHMv
cmVmL3ZzeW50aC92c3ludGhfbGVuYS1tanBlZy00MjIgYi90ZXN0cy9yZWYvdnN5bnRoL3ZzeW50
aF9sZW5hLW1qcGVnLTQyMgppbmRleCBiYjg2MmRhMDA2Li40YmM4MTVlNWQ3IDEwMDY0NAotLS0g
YS90ZXN0cy9yZWYvdnN5bnRoL3ZzeW50aF9sZW5hLW1qcGVnLTQyMgorKysgYi90ZXN0cy9yZWYv
dnN5bnRoL3ZzeW50aF9sZW5hLW1qcGVnLTQyMgpAQCAtMSw0ICsxLDQgQEAKLTQ5NDgxMmNjMDBj
MmQ1MWRmMmQ5Y2JjMDNkYzllZWNkICp0ZXN0cy9kYXRhL2ZhdGUvdnN5bnRoX2xlbmEtbWpwZWct
NDIyLmF2aQotNzA3NDY2IHRlc3RzL2RhdGEvZmF0ZS92c3ludGhfbGVuYS1tanBlZy00MjIuYXZp
Cis3NzhiZTBjOGVlOWMwMzBhYTI4MzhiZjI0OTg3NDA4MiAqdGVzdHMvZGF0YS9mYXRlL3ZzeW50
aF9sZW5hLW1qcGVnLTQyMi5hdmkKKzcwNzE3MCB0ZXN0cy9kYXRhL2ZhdGUvdnN5bnRoX2xlbmEt
bWpwZWctNDIyLmF2aQogMTZkMmJlMzUyNjZkMzAzZGZmMzM2MWU0NTM1ZThkZDggKnRlc3RzL2Rh
dGEvZmF0ZS92c3ludGhfbGVuYS1tanBlZy00MjIub3V0LnJhd3ZpZGVvCiBzdGRkZXY6ICAgIDQu
MTggUFNOUjogMzUuNzAgTUFYRElGRjogICA0OSBieXRlczogIDc2MDMyMDAvICA3NjAzMjAwCmRp
ZmYgLS1naXQgYS90ZXN0cy9yZWYvdnN5bnRoL3ZzeW50aF9sZW5hLW1qcGVnLTQ0NCBiL3Rlc3Rz
L3JlZi92c3ludGgvdnN5bnRoX2xlbmEtbWpwZWctNDQ0CmluZGV4IGNlZjZkZDllZWMuLmEwNDUz
N2EwOTQgMTAwNjQ0Ci0tLSBhL3Rlc3RzL3JlZi92c3ludGgvdnN5bnRoX2xlbmEtbWpwZWctNDQ0
CisrKyBiL3Rlc3RzL3JlZi92c3ludGgvdnN5bnRoX2xlbmEtbWpwZWctNDQ0CkBAIC0xLDQgKzEs
NCBAQAotNTI5OTZlNjA2ZDIwZmUzNGMzMjdhMjA2YmUwNjYwOTEgKnRlc3RzL2RhdGEvZmF0ZS92
c3ludGhfbGVuYS1tanBlZy00NDQuYXZpCi04MDc0NzIgdGVzdHMvZGF0YS9mYXRlL3ZzeW50aF9s
ZW5hLW1qcGVnLTQ0NC5hdmkKK2E0OGIxZjJkMTcyNjRiY2U1NTJjZmNkOTIwZGYxZWE5ICp0ZXN0
cy9kYXRhL2ZhdGUvdnN5bnRoX2xlbmEtbWpwZWctNDQ0LmF2aQorODA3MTkwIHRlc3RzL2RhdGEv
ZmF0ZS92c3ludGhfbGVuYS1tanBlZy00NDQuYXZpCiAwZGIxYzE5NDJkNzUwYjEwN2FjZjJhY2Zi
ZTA4ZWFjYiAqdGVzdHMvZGF0YS9mYXRlL3ZzeW50aF9sZW5hLW1qcGVnLTQ0NC5vdXQucmF3dmlk
ZW8KIHN0ZGRldjogICAgNC4wNSBQU05SOiAzNS45NiBNQVhESUZGOiAgIDQ5IGJ5dGVzOiAgNzYw
MzIwMC8gIDc2MDMyMDAKZGlmZiAtLWdpdCBhL3Rlc3RzL3JlZi92c3ludGgvdnN5bnRoX2xlbmEt
bWpwZWctaHVmZm1hbiBiL3Rlc3RzL3JlZi92c3ludGgvdnN5bnRoX2xlbmEtbWpwZWctaHVmZm1h
bgppbmRleCA1ZjVlMTliYjY3Li42NDQ1ZjIyY2E0IDEwMDY0NAotLS0gYS90ZXN0cy9yZWYvdnN5
bnRoL3ZzeW50aF9sZW5hLW1qcGVnLWh1ZmZtYW4KKysrIGIvdGVzdHMvcmVmL3ZzeW50aC92c3lu
dGhfbGVuYS1tanBlZy1odWZmbWFuCkBAIC0xLDQgKzEsNCBAQAotZDhiOTY4ZDZlY2FhODNiYjEy
MGViMGRkMDhjM2Y2ZGYgKnRlc3RzL2RhdGEvZmF0ZS92c3ludGhfbGVuYS1tanBlZy1odWZmbWFu
LmF2aQotNjM1NjQyIHRlc3RzL2RhdGEvZmF0ZS92c3ludGhfbGVuYS1tanBlZy1odWZmbWFuLmF2
aQorODBiZjQ3MTcyYjk2YWQ2OGJlODI5YzRmNDYwNzMyOTkgKnRlc3RzL2RhdGEvZmF0ZS92c3lu
dGhfbGVuYS1tanBlZy1odWZmbWFuLmF2aQorNjM1MjU2IHRlc3RzL2RhdGEvZmF0ZS92c3ludGhf
bGVuYS1tanBlZy1odWZmbWFuLmF2aQogMDk1Zjg4YTcyMTgxM2MyYTFjMzRiMjYzMDNjMTEzOWEg
KnRlc3RzL2RhdGEvZmF0ZS92c3ludGhfbGVuYS1tanBlZy1odWZmbWFuLm91dC5yYXd2aWRlbwog
c3RkZGV2OiAgICA0LjMzIFBTTlI6IDM1LjQwIE1BWERJRkY6ICAgNDkgYnl0ZXM6ICA3NjAzMjAw
LyAgNzYwMzIwMApkaWZmIC0tZ2l0IGEvdGVzdHMvcmVmL3ZzeW50aC92c3ludGhfbGVuYS1tanBl
Zy10cmVsbC1odWZmbWFuIGIvdGVzdHMvcmVmL3ZzeW50aC92c3ludGhfbGVuYS1tanBlZy10cmVs
bC1odWZmbWFuCmluZGV4IDJlYjE2NTgzNjMuLjliZmI3YmU3NTEgMTAwNjQ0Ci0tLSBhL3Rlc3Rz
L3JlZi92c3ludGgvdnN5bnRoX2xlbmEtbWpwZWctdHJlbGwtaHVmZm1hbgorKysgYi90ZXN0cy9y
ZWYvdnN5bnRoL3ZzeW50aF9sZW5hLW1qcGVnLXRyZWxsLWh1ZmZtYW4KQEAgLTEsNCArMSw0IEBA
Ci04MjE3YWVmN2VlMTY3MDliMmMwNTkxYTlhMjhkOWJiOCAqdGVzdHMvZGF0YS9mYXRlL3ZzeW50
aF9sZW5hLW1qcGVnLXRyZWxsLWh1ZmZtYW4uYXZpCi01ODI2NDggdGVzdHMvZGF0YS9mYXRlL3Zz
eW50aF9sZW5hLW1qcGVnLXRyZWxsLWh1ZmZtYW4uYXZpCitkYzY2YzA3MDBkNTAyMzU5NjVmZDNm
YWJkY2I5YTIxNCAqdGVzdHMvZGF0YS9mYXRlL3ZzeW50aF9sZW5hLW1qcGVnLXRyZWxsLWh1ZmZt
YW4uYXZpCis1ODI1NTIgdGVzdHMvZGF0YS9mYXRlL3ZzeW50aF9sZW5hLW1qcGVnLXRyZWxsLWh1
ZmZtYW4uYXZpCiA4YzVjMDVlODJhOTU5Y2NjOGIzYzRiYThlNDEyM2JiZSAqdGVzdHMvZGF0YS9m
YXRlL3ZzeW50aF9sZW5hLW1qcGVnLXRyZWxsLWh1ZmZtYW4ub3V0LnJhd3ZpZGVvCiBzdGRkZXY6
ICAgIDQuNTEgUFNOUjogMzUuMDQgTUFYRElGRjogICA2MCBieXRlczogIDc2MDMyMDAvICA3NjAz
MjAwCi0tIAoyLjQ1LjIKCg==

--------------qfImUvf2oYPvB8ybeaNIg8kP
Content-Type: text/x-patch; charset=UTF-8;
 name="0003-avcodec-mjpegenc_huffman-Already-build-codes.patch"
Content-Disposition: attachment;
 filename="0003-avcodec-mjpegenc_huffman-Already-build-codes.patch"
Content-Transfer-Encoding: base64

RnJvbSBkMjYzZjFjZTIwNTE4OTMzZmI3OGYyMzdmYTcxNWU3OGFlYzA0MTgxIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBBbmRyZWFzIFJoZWluaGFyZHQgPGFuZHJlYXMucmhlaW5oYXJk
dEBvdXRsb29rLmNvbT4KRGF0ZTogTW9uLCAxNCBBcHIgMjAyNSAxNDo0MzozOSArMDIwMApTdWJq
ZWN0OiBbUEFUQ0ggMy8zXSBhdmNvZGVjL21qcGVnZW5jX2h1ZmZtYW46IEFscmVhZHkgYnVpbGQg
Y29kZXMKCkkuZS4gZG8gd2hhdCBmZl9tanBlZ19idWlsZF9odWZmbWFuX2NvZGVzKCkgZG9lcyBh
bHJlYWR5CmluIGZmX21qcGVnX2VuY29kZV9odWZmbWFuX2Nsb3NlKCkuIFRoaXMgaXMgbW9yZSBu
YXR1cmFsCmFuZCB0cmF2ZXJzZXMgdGhlIGFycmF5IG9mIHZhbHVlcyBvbmUgbGVzcyB0aW1lLgoK
U2lnbmVkLW9mZi1ieTogQW5kcmVhcyBSaGVpbmhhcmR0IDxhbmRyZWFzLnJoZWluaGFyZHRAb3V0
bG9vay5jb20+Ci0tLQogbGliYXZjb2RlYy9tanBlZ2VuYy5jICAgICAgICAgfCAzMyArKysrKysr
KysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0KIGxpYmF2Y29kZWMvbWpwZWdlbmNfaHVmZm1hbi5j
IHwgMjQgKysrKysrKysrKysrLS0tLS0tLS0tLS0tCiBsaWJhdmNvZGVjL21qcGVnZW5jX2h1ZmZt
YW4uaCB8IDE3ICsrKysrKysrKysrKysrKy0tCiAzIGZpbGVzIGNoYW5nZWQsIDM5IGluc2VydGlv
bnMoKyksIDM1IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2xpYmF2Y29kZWMvbWpwZWdlbmMu
YyBiL2xpYmF2Y29kZWMvbWpwZWdlbmMuYwppbmRleCAyMTRlMmIwZWMxLi5mMDViNGY4OGE1IDEw
MDY0NAotLS0gYS9saWJhdmNvZGVjL21qcGVnZW5jLmMKKysrIGIvbGliYXZjb2RlYy9tanBlZ2Vu
Yy5jCkBAIC0xOTYsMzMgKzE5NiwyNCBAQCBzdGF0aWMgdm9pZCBtanBlZ19idWlsZF9vcHRpbWFs
X2h1ZmZtYW4oTUpwZWdDb250ZXh0ICptKQogCiAgICAgZmZfbWpwZWdfZW5jb2RlX2h1ZmZtYW5f
Y2xvc2UoJmRjX2x1bWluYW5jZV9jdHgsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgbS0+Yml0c19kY19sdW1pbmFuY2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgbS0+dmFsX2RjX2x1bWluYW5jZSwgMTIpOworICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIG0tPnZhbF9kY19sdW1pbmFuY2UsIDEyLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIG0tPmh1ZmZfc2l6ZV9kY19sdW1pbmFuY2UsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgbS0+aHVmZl9jb2RlX2RjX2x1bWluYW5jZSk7CiAgICAgZmZfbWpwZWdf
ZW5jb2RlX2h1ZmZtYW5fY2xvc2UoJmRjX2Nocm9taW5hbmNlX2N0eCwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBtLT5iaXRzX2RjX2Nocm9taW5hbmNlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIG0tPnZhbF9kY19jaHJvbWluYW5jZSwgMTIpOworICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIG0tPnZhbF9kY19jaHJvbWluYW5jZSwgMTIsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbS0+aHVmZl9zaXplX2RjX2Nocm9taW5h
bmNlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG0tPmh1ZmZfY29kZV9kY19j
aHJvbWluYW5jZSk7CiAgICAgZmZfbWpwZWdfZW5jb2RlX2h1ZmZtYW5fY2xvc2UoJmFjX2x1bWlu
YW5jZV9jdHgsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbS0+Yml0c19hY19s
dW1pbmFuY2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbS0+dmFsX2FjX2x1
bWluYW5jZSwgMjU2KTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtLT52YWxf
YWNfbHVtaW5hbmNlLCAyNTYsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbS0+
aHVmZl9zaXplX2FjX2x1bWluYW5jZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBtLT5odWZmX2NvZGVfYWNfbHVtaW5hbmNlKTsKICAgICBmZl9tanBlZ19lbmNvZGVfaHVmZm1h
bl9jbG9zZSgmYWNfY2hyb21pbmFuY2VfY3R4LAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIG0tPmJpdHNfYWNfY2hyb21pbmFuY2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgbS0+dmFsX2FjX2Nocm9taW5hbmNlLCAyNTYpOwotCi0gICAgZmZfbWpwZWdfYnVp
bGRfaHVmZm1hbl9jb2RlcyhtLT5odWZmX3NpemVfZGNfbHVtaW5hbmNlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgbS0+aHVmZl9jb2RlX2RjX2x1bWluYW5jZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIG0tPmJpdHNfZGNfbHVtaW5hbmNlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgbS0+dmFsX2RjX2x1bWluYW5jZSk7Ci0gICAgZmZfbWpw
ZWdfYnVpbGRfaHVmZm1hbl9jb2RlcyhtLT5odWZmX3NpemVfZGNfY2hyb21pbmFuY2UsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtLT5odWZmX2NvZGVfZGNfY2hyb21pbmFuY2Us
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtLT5iaXRzX2RjX2Nocm9taW5hbmNl
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbS0+dmFsX2RjX2Nocm9taW5hbmNl
KTsKLSAgICBmZl9tanBlZ19idWlsZF9odWZmbWFuX2NvZGVzKG0tPmh1ZmZfc2l6ZV9hY19sdW1p
bmFuY2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtLT5odWZmX2NvZGVfYWNf
bHVtaW5hbmNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbS0+Yml0c19hY19s
dW1pbmFuY2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtLT52YWxfYWNfbHVt
aW5hbmNlKTsKLSAgICBmZl9tanBlZ19idWlsZF9odWZmbWFuX2NvZGVzKG0tPmh1ZmZfc2l6ZV9h
Y19jaHJvbWluYW5jZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG0tPmh1ZmZf
Y29kZV9hY19jaHJvbWluYW5jZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG0t
PmJpdHNfYWNfY2hyb21pbmFuY2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBt
LT52YWxfYWNfY2hyb21pbmFuY2UpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IG0tPnZhbF9hY19jaHJvbWluYW5jZSwgMjU2LAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIG0tPmh1ZmZfc2l6ZV9hY19jaHJvbWluYW5jZSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBtLT5odWZmX2NvZGVfYWNfY2hyb21pbmFuY2UpOwogfQogI2VuZGlmCiAK
ZGlmZiAtLWdpdCBhL2xpYmF2Y29kZWMvbWpwZWdlbmNfaHVmZm1hbi5jIGIvbGliYXZjb2RlYy9t
anBlZ2VuY19odWZmbWFuLmMKaW5kZXggN2ZkNjNhMjU2OS4uNzMyYWU4OGIzOSAxMDA2NDQKLS0t
IGEvbGliYXZjb2RlYy9tanBlZ2VuY19odWZmbWFuLmMKKysrIGIvbGliYXZjb2RlYy9tanBlZ2Vu
Y19odWZmbWFuLmMKQEAgLTE0OCwxNiArMTQ4LDkgQEAgdm9pZCBmZl9tanBlZ19lbmNvZGVfaHVm
Zm1hbl9pbml0KE1KcGVnRW5jSHVmZm1hbkNvbnRleHQgKnMpCiAgICAgbWVtc2V0KHMtPnZhbF9j
b3VudCwgMCwgc2l6ZW9mKHMtPnZhbF9jb3VudCkpOwogfQogCi0vKioKLSAqIFByb2R1Y2VzIGEg
SHVmZm1hbiBlbmNvZGluZyB3aXRoIGEgZ2l2ZW4gaW5wdXQKLSAqCi0gKiBAcGFyYW0gcyAgICAg
ICAgIGlucHV0IHRvIGVuY29kZQotICogQHBhcmFtIGJpdHMgICAgICBvdXRwdXQgYXJyYXkgd2hl
cmUgdGhlIGl0aCBjaGFyYWN0ZXIgcmVwcmVzZW50cyBob3cgbWFueSBpbnB1dCB2YWx1ZXMgaGF2
ZSBpIGxlbmd0aCBlbmNvZGluZwotICogQHBhcmFtIHZhbCAgICAgICBvdXRwdXQgYXJyYXkgb2Yg
aW5wdXQgdmFsdWVzIHNvcnRlZCBieSB0aGVpciBlbmNvZGVkIGxlbmd0aAotICogQHBhcmFtIG1h
eF9udmFsICBtYXhpbXVtIG51bWJlciBvZiBkaXN0aW5jdCBpbnB1dCB2YWx1ZXMKLSAqLwotdm9p
ZCBmZl9tanBlZ19lbmNvZGVfaHVmZm1hbl9jbG9zZShNSnBlZ0VuY0h1ZmZtYW5Db250ZXh0ICpz
LCB1aW50OF90IGJpdHNbMTddLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1
aW50OF90IHZhbFtdLCBpbnQgbWF4X252YWwpCit2b2lkIGZmX21qcGVnX2VuY29kZV9odWZmbWFu
X2Nsb3NlKGNvbnN0IE1KcGVnRW5jSHVmZm1hbkNvbnRleHQgKnMsIHVpbnQ4X3QgYml0c1sxN10s
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4X3QgdmFsW10sIGludCBt
YXhfbnZhbCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDhfdCBodWZm
X2xlbltdLCB1aW50MTZfdCBodWZmX2NvZGVbXSkKIHsKICAgICBQVGFibGUgdmFsX2NvdW50c1sy
NTddOwogCkBAIC0xODEsNiArMTc0LDEzIEBAIHZvaWQgZmZfbWpwZWdfZW5jb2RlX2h1ZmZtYW5f
Y2xvc2UoTUpwZWdFbmNIdWZmbWFuQ29udGV4dCAqcywgdWludDhfdCBiaXRzWzE3XSwKICAgICBh
dl9hc3NlcnQxKHZhbF9jb3VudHNbMF0ucHJvYiA9PSAwICYmIHZhbF9jb3VudHNbMF0udmFsdWUg
PT0gMjU2KTsKICAgICAvLyBUaGUgZm9sbG93aW5nIGxvb3AgcHV0cyB0aGUgdmFsdWVzIHdpdGgg
aGlnaGVyIG9jY3VyZW5jZSBmaXJzdCwKICAgICAvLyBlbnN1cmluZyB0aGF0IHRoZXkgZ2V0IHRo
ZSBzaG9ydGVyIGNvZGVzLgotICAgIGZvciAoaW50IGkgPSAwOyBpIDwgbnZhbDsgKytpKQotICAg
ICAgICB2YWxbaV0gPSB2YWxfY291bnRzW252YWwgLSBpXS52YWx1ZTsKKyAgICB1bnNpZ25lZCBj
b2RlID0gMDsKKyAgICBmb3IgKGludCBsZW4gPSAxLCBpID0gMDsgbGVuIDw9IDE2OyArK2xlbikg
eworICAgICAgICBmb3IgKGNvbnN0IGludCBlbmQgPSBpICsgYml0c1tsZW5dOyBpIDwgZW5kOyAr
K2kpIHsKKyAgICAgICAgICAgIHVuc2lnbmVkIHN5bSA9IHZhbFtpXSA9IHZhbF9jb3VudHNbbnZh
bCAtIGldLnZhbHVlOworICAgICAgICAgICAgaHVmZl9sZW5bc3ltXSAgPSBsZW47CisgICAgICAg
ICAgICBodWZmX2NvZGVbc3ltXSA9IGNvZGUrKzsKKyAgICAgICAgfQorICAgICAgICBjb2RlIDw8
PSAxOworICAgIH0KIH0KZGlmZiAtLWdpdCBhL2xpYmF2Y29kZWMvbWpwZWdlbmNfaHVmZm1hbi5o
IGIvbGliYXZjb2RlYy9tanBlZ2VuY19odWZmbWFuLmgKaW5kZXggODgyMmU0NjhhYS4uYjQzZjFh
NjAxNyAxMDA2NDQKLS0tIGEvbGliYXZjb2RlYy9tanBlZ2VuY19odWZmbWFuLmgKKysrIGIvbGli
YXZjb2RlYy9tanBlZ2VuY19odWZmbWFuLmgKQEAgLTQwLDggKzQwLDIxIEBAIHN0YXRpYyBpbmxp
bmUgdm9pZCBmZl9tanBlZ19lbmNvZGVfaHVmZm1hbl9pbmNyZW1lbnQoTUpwZWdFbmNIdWZmbWFu
Q29udGV4dCAqcywKIHsKICAgICBzLT52YWxfY291bnRbdmFsXSsrOwogfQotdm9pZCBmZl9tanBl
Z19lbmNvZGVfaHVmZm1hbl9jbG9zZShNSnBlZ0VuY0h1ZmZtYW5Db250ZXh0ICpzLAorCisvKioK
KyAqIFByb2R1Y2VzIGEgSHVmZm1hbiBlbmNvZGluZyB3aXRoIGEgZ2l2ZW4gaW5wdXQKKyAqCisg
KiBAcGFyYW0gcyAgICAgICAgICAgICAgTUpwZWdFbmNIdWZmbWFuQ29udGV4dCB3aXRoIHRoZSBp
bnB1dCB0byBlbmNvZGUKKyAqIEBwYXJhbSBiaXRzW291dF0gICAgICBhcnJheSB3aGVyZSB0aGUg
aXRoIGNoYXJhY3RlciByZXByZXNlbnRzIGhvdyBtYW55CisgKiAgICAgICAgICAgICAgICAgICAg
ICAgaW5wdXQgdmFsdWVzIGhhdmUgaSBsZW5ndGggZW5jb2RpbmcKKyAqIEBwYXJhbSB2YWxbb3V0
XSAgICAgICBhcnJheSBvZiBpbnB1dCB2YWx1ZXMgc29ydGVkIGJ5IHRoZWlyIGVuY29kZWQgbGVu
Z3RoCisgKiBAcGFyYW0gbWF4X252YWwgICAgICAgbWF4aW11bSBudW1iZXIgb2YgZGlzdGluY3Qg
aW5wdXQgdmFsdWVzCisgKiBAcGFyYW0gaHVmZl9sZW5bb3V0XSAgTFVUIG9mIGNvZGUgbGVucyBh
cyBmZl9tanBlZ19idWlsZF9odWZmbWFuX2NvZGVzKCkgcHJvZHVjZXMgdGhlbQorICogQHBhcmFt
IGh1ZmZfY29kZVtvdXRdIExVVCBvZiBjb2RlcyBhcyBmZl9tanBlZ19idWlsZF9odWZmbWFuX2Nv
ZGVzKCkgcHJvZHVjZXMgdGhlbQorICovCit2b2lkIGZmX21qcGVnX2VuY29kZV9odWZmbWFuX2Ns
b3NlKGNvbnN0IE1KcGVnRW5jSHVmZm1hbkNvbnRleHQgKnMsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHVpbnQ4X3QgYml0c1sxN10sIHVpbnQ4X3QgdmFsW10sCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBtYXhfbnZhbCk7CisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCBtYXhfbnZhbCwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdWludDhfdCBodWZmX2xlbltdLCB1aW50MTZfdCBodWZmX2NvZGVbXSk7
CiAKICNlbmRpZiAvKiBBVkNPREVDX01KUEVHRU5DX0hVRkZNQU5fSCAqLwotLSAKMi40NS4yCgo=

--------------qfImUvf2oYPvB8ybeaNIg8kP
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".

--------------qfImUvf2oYPvB8ybeaNIg8kP--