From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTP id 5B9D6491DB for ; Wed, 6 Mar 2024 16:23:50 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 9DD3A68CBCB; Wed, 6 Mar 2024 18:23:47 +0200 (EET) Received: from EUR05-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05olkn2042.outbound.protection.outlook.com [40.92.90.42]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 7912768C66E for ; Wed, 6 Mar 2024 18:23:41 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=X66iZcsspOavVtrU7HvTrOVPmYKOPv1vqnLnfNAXu7zOa6ilp4CVOEumFTkQqItjQ1/iyXjjWXdOgG6ILI/WXd4/f7QiVG0YAwL2tmMxcm6bGgtkcV0ff5n1lLeZDD3z5+DVerp5AK2Wtg6vbg0au+OEfKQNjBTGHAwyBJ7VS8doOMRj3evZOgqllJvUOEvG23II7o7O46J7JyxNeaD+G8GDcOFoF/aXfeF79Wz8WmFTVrqmquV5odtyxj4yf3SIuFkOfOnkRR6TA1LK18crR5d6tQ8Y3gzw8fLm/mkcY7dHjRBlo0N/XQxdJqNjV7ZDTri3UpC+447kI4dWLSiv3A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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=x/AbnnfgySSVY1z64py+sVU8sjlK8xDUe164v49DbKw=; b=SxIcLKooGgEqCCmgf3pfYcQWQGIaGpCq9JYlIavh0gLSxrIIdJsbXLh61r/0qjX0OH7YxbRjz3XzYTuz+UsfBD6UErA3iIfI36HsnvVkykLTqqU0Cfw5pX3uqovyIk96jCum8EVH7YxkBqJxkjU/ejpq0dYAEtckxVRIwf8Tn0X/zfzTZDoA+C70GkTnqOPKHXs7iE+4JN+T1WkWlQPi7ch5a9fz/lKVcU9TWDI9/okjPW+DyWdDJp4rz+4muLvxrdLz/SfU5Jb4hzbx2xGH1G2i/I7PUCMqUCon6lO2o0H0/GTJXxOs5GfIzNa6JXwyiasPV8OYFctz17RshuJTrg== 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=x/AbnnfgySSVY1z64py+sVU8sjlK8xDUe164v49DbKw=; b=Ds/L0CFP3qHzSyWTh1YcMh1NIB7jLUvVEdCX/hzHtNOR0NdkLGDceGajWQGYRIdtz2wC5OUnejoxkT0uyyz3hXMshyfQieFXDeM5zxsAgTybLp972afR0kjHiNN4E57kSJA7r2/I1F2oTUzO+jCjxEXid9sOufp8Nr0/vwo3xT22HGtNLUr9DYAVszWWvsmL4iho8eQH3UKXtqaTRSv4CcIIsR7hEcqSwZYdGYJ0p+qiQq+/xsWJfENX6+6zVC3R9JH34B5DcMAb9y+/jldFhhTmf9Wli6jyPVdPeV5NbmFemspH1v1rvh55JRBvgq1GpwrkBDCnOe+0IdBKcg938A== Received: from AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) by AM8P250MB0262.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:329::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7362.24; Wed, 6 Mar 2024 16:23:39 +0000 Received: from AS8P250MB0744.EURP250.PROD.OUTLOOK.COM ([fe80::65aa:deb0:a18e:d48d]) by AS8P250MB0744.EURP250.PROD.OUTLOOK.COM ([fe80::65aa:deb0:a18e:d48d%5]) with mapi id 15.20.7316.023; Wed, 6 Mar 2024 16:23:39 +0000 Message-ID: Date: Wed, 6 Mar 2024 17:23:38 +0100 User-Agent: Mozilla Thunderbird Content-Language: en-US To: ffmpeg-devel@ffmpeg.org References: From: Andreas Rheinhardt In-Reply-To: X-TMN: [UwlOylOqZPhLLWUkFqDWhmEQFzJl/n6Ke/43jZtv2X4=] X-ClientProxiedBy: FR4P281CA0283.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:e6::12) To AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) X-Microsoft-Original-Message-ID: MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AS8P250MB0744:EE_|AM8P250MB0262:EE_ X-MS-Office365-Filtering-Correlation-Id: 3676bc06-ffec-4cb7-8bd4-08dc3df9c820 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: Umff2rMOPzBTrkf7FniCPBCIt3eH6JQqzC7yTea+OP6ynWdi0AITKqa3XIdCumBRkks4kuLfzFnl5ffPQIpr5+kcNPfyy5iQHD8JGWLAJ9fuKulEmMg2rrvhwbMBhRHqufascZl5Sc84bWtZCS1BhLgnJQyPOrzYNkhV4G+XFSkrn20rnPIlBodf6ur90XPxgOw+inCqUaQzfc+N3ZP+owVZj5b8NaiuMA2K10A2oqYqQJL7YIbG3CtJvlGJv9XV23owCeUoB3y9S6N4yv0o1nkctPamjla+qlhSNh1dl7dyIBKVfmlm+QFbyiL6ykdHjAk84NAqe9VlXQztJeZi1tNmx4p9vWIcuERLeqI24RcmhoyBVThij/ArEjRbtJJIgKtgO0Nd7Fi69GIDCRBr46g1ovt2YcRrJrdEZo4pWEoSprxt3f0vbuelx1mA6imG1ajpTKZOM4ROqgvoU8qwno4/odA+bIl5KXI2nCn4/E7pLGVXKhUIBNr1EFGSQRUk4F068Kr9CUjwEgDyCRdpNnSOKMy7FjVRA+qO1KIqz3Mky+/WAlsIpn3yB0xxHLEs X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?ckVKWjJVY0wxeDE5OVlzbzU2UTF0ZTFPSVlBNW42REN6VFBGMWRLaDJpTURl?= =?utf-8?B?d3l2S0pCYjB4by9YeVFqN01xUjhPWm5RQjB4UGpESzdmV0xCWXRzeEp2Qm5E?= =?utf-8?B?T0RBblk1dytDMjRZTFBMY2o5WUpEdnNTaUZ0K29NKzVzM04vNHFvT0RsY1hl?= =?utf-8?B?TFluQU9aWVdjdFZkTDErTEtkeXhjb1Avc1pMK1ZHcHJYMXd2MEViVFkvM0pn?= =?utf-8?B?S1MwQ0ZqeTRvZGJXc1FOYUQyVmlFcEpDS1hiVU9NUFJ3Mjgxa1pweEZUUWsz?= =?utf-8?B?R3FEdlVza2ZwNmpWOGFvZjZ5V0ROZ01ieHdseXBsMTdUVEpQY2hKQkhHSWF2?= =?utf-8?B?T2l5MGhwd3NzOWpMT3BOTDlacnVaU25USWRHSzNjRGw0cTg3Q3FROWFQOWJE?= =?utf-8?B?aVNZaitENHFTNnNnWmpWcXlNNXhwaVRtRGJ4UDZ3Vkw4NW1mekNVTUdkRE9Z?= =?utf-8?B?c3J4ZjdUalV0UzNTdkdzSU9Fdy9VN3B3OWVrQ09aWXc4bkZ0TmoyOW9ic0pN?= =?utf-8?B?UTVOZkFQSU44Z0g3MmkrUEYyeG1DSS9OUVlkRGNtMC9lYWpEaFg1Z01qY0Ez?= =?utf-8?B?SFZOOGhPemxWdWE3R3RrWWpqT3lHS3hYZE5jNWc3eFNZaGpuNm1Ba0RwRGph?= =?utf-8?B?TU5KSmZJVUVJRTVIVWpEOUpPeWdzVTEvSEVBd1g2aFlyZVBscnlia2FBcC9q?= =?utf-8?B?UDhVWFZHaTNPb0I1bThVcno1b25aT2FLaWJzWVZ2ejA3NUZ0Ym14NHdiQ1dp?= =?utf-8?B?dmtFTWdSVjVoMEIrbUJOcEE2YzNJL2tLcFFiTTYzR2hIakFpckdaQ082M1Ur?= =?utf-8?B?LzhvbFRSQjA3Z2RGeTZVNEdOdkhjTUNJVjdicStyaUN1SVZCZjZFREh4UFA1?= =?utf-8?B?cnhSNGFHc2x4MnJCZ2tWeG1tME9SVlhRK1BhUEQ5K0IrcU9LcE5MYTFyQzNU?= =?utf-8?B?dTMyenhYeWNSbUU5SVhDanJoT0tFQzNhK2FKTGZXU01nUC9TK2dTRlJOcWU3?= =?utf-8?B?cDA4d2dyRi9mV28vTCtoUktCM3gxbnNoWWU5THM5NmFNb05hckRoMUdzSDFS?= =?utf-8?B?ckJhR0pna3VPYnlSK09IWHhiQ1dDOWN3QUhVTHRhbDRkSEYyRGNLemdQUnRq?= =?utf-8?B?Nnk4U1h0THJyNHo4TDQyYnlXdFVrdVRyZ3l4cUorTmVEcjF6d3FIeDRCOGpK?= =?utf-8?B?bE9XMmhuU2l5M2h2Q2J2UUxXRldYZDNYUXducVJCUE9QMmc0SExMOWR5blpS?= =?utf-8?B?ZGt0OFVqZzFlcm8vTFppWjdJbGhoSUs4WVRMb2VtbFNnT1l5aDE1NkZDWUZX?= =?utf-8?B?eDUxNGo4TWhNam5rWVdRNGFlOW9KaW44eko3NldtVm8yT1UzV0pqcFFLT090?= =?utf-8?B?TkF3enFYd1QvUXRTQ3hkQ3ZrZWlQVFQxTHExeUxpY2k3Vm1mYzhDUE8rT0JO?= =?utf-8?B?c01Dd01DbGM1RWVtZDljSlRMVHZicUhZSUdOS1VVWmtlMlBPSUJVWmhXY1Jq?= =?utf-8?B?aGU4S091V0FEbUdmRERVakM3UlgvNVF6citjN200ajlFaFBSc1creXd6OUdj?= =?utf-8?B?MlQwQWJrN2JEckhqbnp2Q010MG44TXdjOU5VTmVhVmdFNG8rcWM2WG9uVm8w?= =?utf-8?B?RG1DNHdQeWNHM0wvSll6OWJSZEh4b1c0YzViZ0p0ZFJlbW9Fa2ZSVncvVjUw?= =?utf-8?B?L1k2YmczbEd4VXQxMThnb0tDS2VwV0haVHIrLzhVSjNGREw2L3BMOW93PT0=?= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 3676bc06-ffec-4cb7-8bd4-08dc3df9c820 X-MS-Exchange-CrossTenant-AuthSource: AS8P250MB0744.EURP250.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Mar 2024 16:23:39.5577 (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: AM8P250MB0262 Subject: Re: [FFmpeg-devel] [PATCH] avcodec/libx264: fix extradata when config annexb=0 X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: WmhhbyBaaGlsaToKPiAKPiAKPj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0KPj4gRnJvbTog ZmZtcGVnLWRldmVsIDxmZm1wZWctZGV2ZWwtYm91bmNlc0BmZm1wZWcub3JnPiBPbiBCZWhhbGYg T2YgQW5kcmVhcyBSaGVpbmhhcmR0Cj4+IFNlbnQ6IDIwMjTlubQz5pyINuaXpSAyMjoxOQo+PiBU bzogZmZtcGVnLWRldmVsQGZmbXBlZy5vcmcKPj4gU3ViamVjdDogUmU6IFtGRm1wZWctZGV2ZWxd IFtQQVRDSF0gYXZjb2RlYy9saWJ4MjY0OiBmaXggZXh0cmFkYXRhIHdoZW4gY29uZmlnIGFubmV4 Yj0wCj4+Cj4+IFpoYW8gWmhpbGk6Cj4+PiBGcm9tOiBaaGFvIFpoaWxpIDx6aGlsaXpoYW9AdGVu Y2VudC5jb20+Cj4+Pgo+Pj4gLS0tCj4+PiAgY29uZmlndXJlICAgICAgICAgICAgfCAgIDIgKy0K Pj4+ICBsaWJhdmNvZGVjL2xpYngyNjQuYyB8IDE0OCArKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKystLS0tLS0tCj4+PiAgMiBmaWxlcyBjaGFuZ2VkLCAxMjUgaW5zZXJ0aW9ucygr KSwgMjUgZGVsZXRpb25zKC0pCj4+Pgo+Pj4gZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZSBiL2NvbmZp Z3VyZQo+Pj4gaW5kZXggYmJmMWE3MDczMS4uZWY1OGMzZmU5NyAxMDA3NTUKPj4+IC0tLSBhL2Nv bmZpZ3VyZQo+Pj4gKysrIGIvY29uZmlndXJlCj4+PiBAQCAtMzQ5MSw3ICszNDkxLDcgQEAgbGli d2VicF9lbmNvZGVyX2RlcHM9ImxpYndlYnAiCj4+PiAgbGlid2VicF9hbmltX2VuY29kZXJfZGVw cz0ibGlid2VicCIKPj4+ICBsaWJ4MjYyX2VuY29kZXJfZGVwcz0ibGlieDI2MiIKPj4+ICBsaWJ4 MjY0X2VuY29kZXJfZGVwcz0ibGlieDI2NCIKPj4+IC1saWJ4MjY0X2VuY29kZXJfc2VsZWN0PSJh dHNjX2E1MyIKPj4+ICtsaWJ4MjY0X2VuY29kZXJfc2VsZWN0PSJhdHNjX2E1MyBoMjY0cGFyc2Ui Cj4+PiAgbGlieDI2NHJnYl9lbmNvZGVyX2RlcHM9ImxpYngyNjQiCj4+PiAgbGlieDI2NHJnYl9l bmNvZGVyX3NlbGVjdD0ibGlieDI2NF9lbmNvZGVyIgo+Pj4gIGxpYngyNjVfZW5jb2Rlcl9kZXBz PSJsaWJ4MjY1Igo+Pj4gZGlmZiAtLWdpdCBhL2xpYmF2Y29kZWMvbGlieDI2NC5jIGIvbGliYXZj b2RlYy9saWJ4MjY0LmMKPj4+IGluZGV4IDEwZDY0NmJkNzYuLjEwZGZkYTEyNWQgMTAwNjQ0Cj4+ PiAtLS0gYS9saWJhdmNvZGVjL2xpYngyNjQuYwo+Pj4gKysrIGIvbGliYXZjb2RlYy9saWJ4MjY0 LmMKPj4+IEBAIC0zNCw5ICszNCwxMiBAQAo+Pj4gICNpbmNsdWRlICJhdmNvZGVjLmgiCj4+PiAg I2luY2x1ZGUgImNvZGVjX2ludGVybmFsLmgiCj4+PiAgI2luY2x1ZGUgImVuY29kZS5oIgo+Pj4g KyNpbmNsdWRlICJnZXRfYml0cy5oIgo+Pj4gKyNpbmNsdWRlICJoMjY0X3BzLmgiCj4+PiAgI2lu Y2x1ZGUgImludGVybmFsLmgiCj4+PiAgI2luY2x1ZGUgInBhY2tldF9pbnRlcm5hbC5oIgo+Pj4g ICNpbmNsdWRlICJhdHNjX2E1My5oIgo+Pj4gKyNpbmNsdWRlICJwdXRfYml0cy5oIgo+Pj4gICNp bmNsdWRlICJzZWkuaCIKPj4+Cj4+PiAgI2luY2x1ZGUgPHgyNjQuaD4KPj4+IEBAIC04NjUsNiAr ODY4LDEyNCBAQCBzdGF0aWMgaW50IGNvbnZlcnRfcGl4X2ZtdChlbnVtIEFWUGl4ZWxGb3JtYXQg cGl4X2ZtdCkKPj4+ICAgICAgcmV0dXJuIDA7Cj4+PiAgfQo+Pj4KPj4+ICtzdGF0aWMgaW50IHNl dF9hdmNjX2V4dHJhZGF0YShBVkNvZGVjQ29udGV4dCAqYXZjdHgsIHgyNjRfbmFsX3QgKm5hbCwg aW50IG5uYWwpCj4+PiArewo+Pj4gKyAgICB4MjY0X25hbF90ICpzcHNfbmFsID0gTlVMTDsKPj4+ ICsgICAgeDI2NF9uYWxfdCAqcHBzX25hbCA9IE5VTEw7Cj4+PiArICAgIEdldEJpdENvbnRleHQg Z2JjOwo+Pj4gKyAgICBQdXRCaXRDb250ZXh0IHBiYzsKPj4+ICsgICAgSDI2NFBhcmFtU2V0cyBw cyA9IHsgMCB9Owo+Pj4gKyAgICB1aW50OF90ICpwOwo+Pj4gKyAgICBpbnQgcmV0LCBwcm9maWxl Owo+Pj4gKwo+Pj4gKyAgICAvKiBXZSBrbm93IGl0J3MgaW4gdGhlIG9yZGVyIG9mIFNQUy9QUFMv U0VJLCBidXQgaXQncyBub3QgZG9jdW1lbnRlZCBpbiB4MjY0IEFQSS4KPj4+ICsgICAgICogVGhl IHgyNjQgcGFyYW0gaV9zcHNfaWQgaW1wbGllcyB0aGVyZSBpcyBhIHNpbmdsZSBwYWlyIG9mIFNQ Uy9QUFMuCj4+PiArICAgICAqLwo+Pj4gKyAgICBmb3IgKGludCBpID0gMDsgaSA8IG5uYWw7IGkr Kykgewo+Pj4gKyAgICAgICAgaWYgKG5hbFtpXS5pX3R5cGUgPT0gTkFMX1NQUykKPj4+ICsgICAg ICAgICAgICBzcHNfbmFsID0gJm5hbFtpXTsKPj4+ICsgICAgICAgIGVsc2UgaWYgKG5hbFtpXS5p X3R5cGUgPT0gTkFMX1BQUykKPj4+ICsgICAgICAgICAgICBwcHNfbmFsID0gJm5hbFtpXTsKPj4+ ICsgICAgfQo+Pj4gKyAgICBhdl9hc3NlcnQwKHNwc19uYWwpOwo+Pj4gKyAgICBhdl9hc3NlcnQw KHBwc19uYWwpOwo+Pgo+PiBXZSBzaG91bGQgbmV2ZXIgYXNzZXJ0IG9uIHRoZSBvdXRwdXQgb2Yg ZXh0ZXJuYWwgbGlicmFyaWVzLgo+IAo+IE9rLCB3aWxsIGp1c3QgcmVtb3ZlIHRoZSBhc3NlcnQu IEkgZG9uJ3QgdGhpbmsgYSBjaGVjayBpcyBuZWVkZWQuCj4gCj4+Cj4+PiArCj4+PiArICAgIC8v ICsxMSBmb3IgQVZDRGVjb2RlckNvbmZpZ3VyYXRpb25SZWNvcmQsIHdpbGwgc2hyaW5rIHRvIHRo ZSByZWFsIHNpemUgZmluYWxseQo+Pj4gKyAgICBhdmN0eC0+ZXh0cmFkYXRhX3NpemUgPSBzcHNf bmFsLT5pX3BheWxvYWQgKyBwcHNfbmFsLT5pX3BheWxvYWQgKyAxMTsKPj4+ICsgICAgYXZjdHgt PmV4dHJhZGF0YSA9IGF2X21hbGxvY3ooYXZjdHgtPmV4dHJhZGF0YV9zaXplICsgQVZfSU5QVVRf QlVGRkVSX01JTl9TSVpFKTsKPj4KPj4gQVZfSU5QVVRfQlVGRkVSX1BBRERJTkdfU0laRQo+IAo+ IE9vcHMuCj4gCj4+Cj4+PiArICAgIGlmICghYXZjdHgtPmV4dHJhZGF0YSkKPj4+ICsgICAgICAg IHJldHVybiBBVkVSUk9SKEVOT01FTSk7Cj4+PiArCj4+PiArICAgIC8vIFNraXAgc2l6ZSBwYXJ0 Cj4+PiArICAgIHAgPSBzcHNfbmFsLT5wX3BheWxvYWQgKyA0Owo+Pj4gKyAgICBpbml0X2dldF9i aXRzOCgmZ2JjLCBwLCBzcHNfbmFsLT5pX3BheWxvYWQgLSA0KTsKPj4+ICsgICAgc2tpcF9iaXRz KCZnYmMsIDgpOwo+Pj4gKyAgICByZXQgPSBmZl9oMjY0X2RlY29kZV9zZXFfcGFyYW1ldGVyX3Nl dCgmZ2JjLCBhdmN0eCwgJnBzLCAwKTsKPj4KPj4gVGhpcyBpcyBjb21wbGV0ZWx5IG92ZXJibG93 bi4gWW91IG9ubHkgcmVhZCB0aHJlZSBmaWVsZHM6IHByb2ZpbGVfaWRjLAo+PiB0aGUgY29uc3Ry YWludCBmaWVsZHMgYW5kIGxldmVsX2lkYy4gQWxsIHRocmVlIGFyZSBhdCB0aGUgc3RhcnQgb2Yg dGhlCj4+IFNQUyBhbmQgb2NjdXB5IGEgd2hvbGUgYnl0ZSwgc28gdGhlcmUgaXMgbm8gbmVlZCBm b3IgYSBHZXRCaXRDb250ZXh0IGF0IGFsbC4KPj4gKFllcywgSSBhbSBhd2FyZSBvZiB0aGUgaHlw b3RoZXRpY2FsIHNjZW5hcmlvIGluIHdoaWNoIHdlIGNvdWxkIGhhdmUgYQo+PiAweDAzIGVzY2Fw ZSBieXRlIGJlZm9yZSBsZXZlbF9pZGMgKGluIGNhc2Ugb2YgYSBoeXBvdGhldGljYWwgZnV0dXJl Cj4+IHByb2ZpbGUgemVybyksIGJ1dCBldmVuIHRoZW4gdXNpbmcgZmZfaDI2NF9kZWNvZGVfc2Vx X3BhcmFtZXRlcl9zZXQoKSBpcwo+PiBvdmVyYmxvd24uKQo+IAo+IFlvdSBtaXNzZWQgY2hyb21h X2Zvcm1hdF9pZGMsIGJpdF9kZXB0aF9sdW1hL2JpdF9kZXB0aF9jaHJvbWEuCj4gSSBjYW4gZ2V0 IHRoYXQgZnJvbSBwaXhlbCBmb3JtYXQsIGJ1dCB0aGVyZSBhcmUgYSBsb3Qgb2YgdGhlbS4KPiAK Ck9rLCBidXQgZXZlbiB0aGVuIEkgZmFpbCB0byBzZWUgYSBjb252ZW5pZW5jZSBhZHZhbnRhZ2Ug aGVyZS4gQWZ0ZXIgYWxsLAp1c2luZyBpdCBlLmcuIGZvcmNlcyB0aGUgZm9sbG93aW5nIGxvb3Ag b250byB5b3UuIEFuZCBpdCBmb3JjZXMgY2xlYW51cApjb2RlIGhlcmUuIEFsc28sIHRoZXJlIGlz IGEgZ290Y2hhIGhlcmUuIFNlZSBiZWxvdy4KCj4+Cj4+PiArICAgIGlmIChyZXQgPCAwKQo+Pj4g KyAgICAgICAgcmV0dXJuIHJldDsKPj4+ICsKPj4+ICsgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBG Rl9BUlJBWV9FTEVNUyhwcy5zcHNfbGlzdCk7IGkrKykgewo+Pj4gKyAgICAgICAgaWYgKHBzLnNw c19saXN0W2ldKSB7Cj4+PiArICAgICAgICAgICAgcHMuc3BzID0gcHMuc3BzX2xpc3RbaV07Cj4+ PiArICAgICAgICAgICAgYnJlYWs7Cj4+PiArICAgICAgICB9Cj4+PiArICAgIH0KPj4+ICsKPj4+ ICsgICAgLy8gTm93IGNyZWF0ZSBBVkNEZWNvZGVyQ29uZmlndXJhdGlvblJlY29yZAo+Pj4gKyAg ICBpbml0X3B1dF9iaXRzKCZwYmMsIGF2Y3R4LT5leHRyYWRhdGEsIGF2Y3R4LT5leHRyYWRhdGFf c2l6ZSk7Cj4+PiArICAgIHB1dF9iaXRzKCZwYmMsIDgsIDEpOyAvLyB2ZXJzaW9uCj4+PiArICAg IHB1dF9iaXRzKCZwYmMsIDgsIHBzLnNwcy0+cHJvZmlsZV9pZGMpOyAvLyBBVkNQcm9maWxlSW5k aWNhdGlvbgo+Pj4gKyAgICBwdXRfYml0cygmcGJjLCA4LCBwcy5zcHMtPmNvbnN0cmFpbnRfc2V0 X2ZsYWdzKTsgLy8gcHJvZmlsZV9jb21wYXRpYmlsaXR5CgpTdXJlIHRoaXMgaXMgY29ycmVjdCBh dCBhbGw/IEl0IHNlZW1zIHRvIG1lIHRoYXQgaDI2NF9wcy5jIHJldmVyc2VzIHRoZQpvcmRlciBv ZiB0aGUgY29uc3RyYWludF9zZXRfZmxhZ3MgKGNvbnN0cmFpbnRfc2V0MF9mbGFnICh3aGljaCBp cyB0aGUKMHg4MCBiaXQgaW4gYSBmaWxlKSB3aWxsIGJlIG1hcHBlZCB0byAweDAxIGV0Yy4pIGFu ZCBpdCBkaXNjYXJkcwpyZXNlcnZlZF96ZXJvXzJiaXRzLiBZb3Ugc2hvdWxkIGluc3RlYWQgc2lt cGx5IGNvcHkgdGhlIHJlbGV2YW50IGJ5dGUKZnJvbSB0aGUgU1BTLgoKPj4+ICsgICAgcHV0X2Jp dHMoJnBiYywgOCwgcHMuc3BzLT5sZXZlbF9pZGMpOyAvLyBBVkNMZXZlbEluZGljYXRpb24KPj4+ ICsgICAgcHV0X2JpdHMoJnBiYywgMTEsIDB4N0ZGKTsKPj4+ICsKPj4+ICsgICAgcCA9IHNwc19u YWwtPnBfcGF5bG9hZCArIDQ7Cj4+PiArICAgIHB1dF9iaXRzKCZwYmMsIDUsIDEpOyAvLyBudW1P ZlNlcXVlbmNlUGFyYW1ldGVyU2V0cwo+Pj4gKyAgICBwdXRfYml0cygmcGJjLCAxNiwgc3BzX25h bC0+aV9wYXlsb2FkIC0gNCk7IC8vIHNlcXVlbmNlUGFyYW1ldGVyU2V0TGVuZ3RoCj4+Cj4+IEkg YWxzbyB0aGluayB0aGF0IHVzaW5nIGEgUHV0Qml0Q29udGV4dCBpcyBvdmVyYmxvd24gaGVyZSAo bW9zdCBmaWVsZHMKPj4gZG9uJ3QgY3Jvc3MgYSBieXRlLWJvdW5kYXJ5LCB0aGUgYml0LWFsaWdu bWVudCBvZiBldmVyeSBmaWVsZCBpcyBmaXhlZCksCj4+IGluIHBhcnRpY3VsYXIgaWYgeW91IGNv cHkgdGhlIE5BTFVzIGVpZ2h0IGJpdHMgYXQgYSB0aW1lOgo+IAo+IEl0J3MgcmVhZGFibGUsIGNs b3NlIHJlbGF0ZWQgdG8gdGhlIHNwZWMsIGFuZCBpdCBjb3VudHMgaG93IG1hbnkgYnl0ZXMgYWN0 dWFsbHkgdXNlZAo+IGF1dG9tYXRpY2FsbHkuIEkgY2hvb3NlIGl0IGZvciB0aGVzZSBjb252ZW5p ZW5jZSBvdmVyIHBlcmZvcm1hbmNlLgo+IAoKSSByZWdhcmQgYSBzaW1wbGUgbWVtY3B5KCkgYXMg bW9yZSBjb252ZW5pZW50IHRoYW4gdGhlIGZvbGxvd2luZyBsb29wOgoKPj4KPj4+ICsgICAgZm9y IChpbnQgaSA9IDA7IGkgPCBzcHNfbmFsLT5pX3BheWxvYWQgLSA0OyBpKyspCj4+PiArICAgICAg ICBwdXRfYml0cygmcGJjLCA4LCBwW2ldKTsKPj4+ICsKPj4+ICsgICAgcCA9IHBwc19uYWwtPnBf cGF5bG9hZCArIDQ7Cj4+PiArICAgIHB1dF9iaXRzKCZwYmMsIDgsIDEpOyAvLyBudW1PZlBpY3R1 cmVQYXJhbWV0ZXJTZXRzCj4+PiArICAgIHB1dF9iaXRzKCZwYmMsIDE2LCBwcHNfbmFsLT5pX3Bh eWxvYWQgLSA0KTsgLy8gcGljdHVyZVBhcmFtZXRlclNldExlbmd0aAo+Pj4gKyAgICBmb3IgKGlu dCBpID0gMDsgaSA8IHBwc19uYWwtPmlfcGF5bG9hZCAtIDQ7IGkrKykKPj4+ICsgICAgICAgIHB1 dF9iaXRzKCZwYmMsIDgsIHBbaV0pOwo+Pj4gKwo+Pj4gKyAgICBwcm9maWxlID0gcHMuc3BzLT5w cm9maWxlX2lkYzsKPj4+ICsgICAgaWYgKHByb2ZpbGUgIT0gNjYgJiYgcHJvZmlsZSAhPSA3NyAm JiBwcm9maWxlICE9IDg4KSB7Cj4+PiArICAgICAgICBwdXRfYml0cygmcGJjLCA2LCAweDNGKTsK Pj4+ICsgICAgICAgIHB1dF9iaXRzKCZwYmMsIDIsIHBzLnNwcy0+Y2hyb21hX2Zvcm1hdF9pZGMp Owo+Pj4gKyAgICAgICAgcHV0X2JpdHMoJnBiYywgNSwgMHgxRik7Cj4+PiArICAgICAgICBwdXRf Yml0cygmcGJjLCAzLCBwcy5zcHMtPmJpdF9kZXB0aF9sdW1hIC0gOCk7Cj4+PiArICAgICAgICBw dXRfYml0cygmcGJjLCA1LCAweDFGKTsKPj4+ICsgICAgICAgIHB1dF9iaXRzKCZwYmMsIDMsIHBz LnNwcy0+Yml0X2RlcHRoX2Nocm9tYSAtIDgpOwo+Pj4gKyAgICAgICAgcHV0X2JpdHMoJnBiYywg OCwgMCk7Cj4+PiArICAgIH0KPj4+ICsgICAgZmx1c2hfcHV0X2JpdHMoJnBiYyk7Cj4+PiArICAg IGF2Y3R4LT5leHRyYWRhdGFfc2l6ZSA9IHB1dF9ieXRlc19vdXRwdXQoJnBiYyk7Cj4+PiArCj4+ PiArICAgIGZmX2gyNjRfcHNfdW5pbml0KCZwcyk7Cj4+PiArCj4+PiArICAgIHJldHVybiAwOwo+ Pj4gK30KPj4+ICsKPj4+ICtzdGF0aWMgaW50IHNldF9leHRyYWRhdGEoQVZDb2RlY0NvbnRleHQg KmF2Y3R4KQo+Pj4gK3sKPj4+ICsgICAgWDI2NENvbnRleHQgKng0ID0gYXZjdHgtPnByaXZfZGF0 YTsKPj4+ICsgICAgeDI2NF9uYWxfdCAqbmFsOwo+Pj4gKyAgICB1aW50OF90ICpwOwo+Pj4gKyAg ICBpbnQgbm5hbCwgczsKPj4+ICsKPj4+ICsgICAgcyA9IHgyNjRfZW5jb2Rlcl9oZWFkZXJzKHg0 LT5lbmMsICZuYWwsICZubmFsKTsKPj4+ICsgICAgaWYgKHMgPCAwKQo+Pj4gKyAgICAgICAgcmV0 dXJuIEFWRVJST1JfRVhURVJOQUw7Cj4+PiArCj4+PiArICAgIGlmICgheDQtPnBhcmFtcy5iX2Fu bmV4YikKPj4+ICsgICAgICAgIHJldHVybiBzZXRfYXZjY19leHRyYWRhdGEoYXZjdHgsIG5hbCwg bm5hbCk7Cj4+PiArCj4+PiArICAgIGF2Y3R4LT5leHRyYWRhdGEgPSBwID0gYXZfbWFsbG9jeihz ICsgQVZfSU5QVVRfQlVGRkVSX1BBRERJTkdfU0laRSk7Cj4+PiArICAgIGlmICghcCkKPj4+ICsg ICAgICAgIHJldHVybiBBVkVSUk9SKEVOT01FTSk7Cj4+PiArCj4+PiArICAgIGZvciAoaW50IGkg PSAwOyBpIDwgbm5hbDsgaSsrKSB7Cj4+PiArICAgICAgICAvKiBEb24ndCBwdXQgdGhlIFNFSSBp biBleHRyYWRhdGEuICovCj4+PiArICAgICAgICBpZiAobmFsW2ldLmlfdHlwZSA9PSBOQUxfU0VJ KSB7Cj4+PiArICAgICAgICAgICAgYXZfbG9nKGF2Y3R4LCBBVl9MT0dfSU5GTywgIiVzXG4iLCBu YWxbaV0ucF9wYXlsb2FkICsgMjUpOwo+Pj4gKyAgICAgICAgICAgIHg0LT5zZWlfc2l6ZSA9IG5h bFtpXS5pX3BheWxvYWQ7Cj4+PiArICAgICAgICAgICAgeDQtPnNlaSA9IGF2X21hbGxvYyh4NC0+ c2VpX3NpemUpOwo+Pj4gKyAgICAgICAgICAgIGlmICgheDQtPnNlaSkKPj4+ICsgICAgICAgICAg ICAgICAgcmV0dXJuIEFWRVJST1IoRU5PTUVNKTsKPj4+ICsgICAgICAgICAgICBtZW1jcHkoeDQt PnNlaSwgbmFsW2ldLnBfcGF5bG9hZCwgbmFsW2ldLmlfcGF5bG9hZCk7Cj4+PiArICAgICAgICAg ICAgY29udGludWU7Cj4+PiArICAgICAgICB9Cj4+PiArICAgICAgICBtZW1jcHkocCwgbmFsW2ld LnBfcGF5bG9hZCwgbmFsW2ldLmlfcGF5bG9hZCk7Cj4+PiArICAgICAgICBwICs9IG5hbFtpXS5p X3BheWxvYWQ7Cj4+PiArICAgIH0KPj4+ICsgICAgYXZjdHgtPmV4dHJhZGF0YV9zaXplID0gcCAt IGF2Y3R4LT5leHRyYWRhdGE7Cj4+PiArCj4+PiArICAgIHJldHVybiAwOwo+Pj4gK30KPj4+ICsK Pj4+ICAjZGVmaW5lIFBBUlNFX1gyNjRfT1BUKG5hbWUsIHZhcilcCj4+PiAgICAgIGlmICh4NC0+ dmFyICYmIHgyNjRfcGFyYW1fcGFyc2UoJng0LT5wYXJhbXMsIG5hbWUsIHg0LT52YXIpIDwgMCkg e1wKPj4+ICAgICAgICAgIGF2X2xvZyhhdmN0eCwgQVZfTE9HX0VSUk9SLCAiRXJyb3IgcGFyc2lu ZyBvcHRpb24gJyVzJyB3aXRoIHZhbHVlICclcycuXG4iLCBuYW1lLCB4NC0+dmFyKTtcCj4+PiBA QCAtMTIzMywzMCArMTM1NCw5IEBAIEZGX0VOQUJMRV9ERVBSRUNBVElPTl9XQVJOSU5HUwo+Pj4g ICAgICAgICAgcmV0dXJuIEFWRVJST1JfRVhURVJOQUw7Cj4+Pgo+Pj4gICAgICBpZiAoYXZjdHgt PmZsYWdzICYgQVZfQ09ERUNfRkxBR19HTE9CQUxfSEVBREVSKSB7Cj4+PiAtICAgICAgICB4MjY0 X25hbF90ICpuYWw7Cj4+PiAtICAgICAgICB1aW50OF90ICpwOwo+Pj4gLSAgICAgICAgaW50IG5u YWwsIHMsIGk7Cj4+PiAtCj4+PiAtICAgICAgICBzID0geDI2NF9lbmNvZGVyX2hlYWRlcnMoeDQt PmVuYywgJm5hbCwgJm5uYWwpOwo+Pj4gLSAgICAgICAgYXZjdHgtPmV4dHJhZGF0YSA9IHAgPSBh dl9tYWxsb2N6KHMgKyBBVl9JTlBVVF9CVUZGRVJfUEFERElOR19TSVpFKTsKPj4+IC0gICAgICAg IGlmICghcCkKPj4+IC0gICAgICAgICAgICByZXR1cm4gQVZFUlJPUihFTk9NRU0pOwo+Pj4gLQo+ Pj4gLSAgICAgICAgZm9yIChpID0gMDsgaSA8IG5uYWw7IGkrKykgewo+Pj4gLSAgICAgICAgICAg IC8qIERvbid0IHB1dCB0aGUgU0VJIGluIGV4dHJhZGF0YS4gKi8KPj4+IC0gICAgICAgICAgICBp ZiAobmFsW2ldLmlfdHlwZSA9PSBOQUxfU0VJKSB7Cj4+PiAtICAgICAgICAgICAgICAgIGF2X2xv ZyhhdmN0eCwgQVZfTE9HX0lORk8sICIlc1xuIiwgbmFsW2ldLnBfcGF5bG9hZCsyNSk7Cj4+PiAt ICAgICAgICAgICAgICAgIHg0LT5zZWlfc2l6ZSA9IG5hbFtpXS5pX3BheWxvYWQ7Cj4+PiAtICAg ICAgICAgICAgICAgIHg0LT5zZWkgICAgICA9IGF2X21hbGxvYyh4NC0+c2VpX3NpemUpOwo+Pj4g LSAgICAgICAgICAgICAgICBpZiAoIXg0LT5zZWkpCj4+PiAtICAgICAgICAgICAgICAgICAgICBy ZXR1cm4gQVZFUlJPUihFTk9NRU0pOwo+Pj4gLSAgICAgICAgICAgICAgICBtZW1jcHkoeDQtPnNl aSwgbmFsW2ldLnBfcGF5bG9hZCwgbmFsW2ldLmlfcGF5bG9hZCk7Cj4+PiAtICAgICAgICAgICAg ICAgIGNvbnRpbnVlOwo+Pj4gLSAgICAgICAgICAgIH0KPj4+IC0gICAgICAgICAgICBtZW1jcHko cCwgbmFsW2ldLnBfcGF5bG9hZCwgbmFsW2ldLmlfcGF5bG9hZCk7Cj4+PiAtICAgICAgICAgICAg cCArPSBuYWxbaV0uaV9wYXlsb2FkOwo+Pj4gLSAgICAgICAgfQo+Pj4gLSAgICAgICAgYXZjdHgt PmV4dHJhZGF0YV9zaXplID0gcCAtIGF2Y3R4LT5leHRyYWRhdGE7Cj4+PiArICAgICAgICByZXQg PSBzZXRfZXh0cmFkYXRhKGF2Y3R4KTsKPj4+ICsgICAgICAgIGlmIChyZXQgPCAwKQo+Pj4gKyAg ICAgICAgICAgIHJldHVybiByZXQ7Cj4+PiAgICAgIH0KPj4+Cj4+PiAgICAgIGNwYl9wcm9wcyA9 IGZmX2VuY29kZV9hZGRfY3BiX3NpZGVfZGF0YShhdmN0eCk7Cj4+CgpfX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpmZm1wZWctZGV2ZWwgbWFpbGluZyBsaXN0 CmZmbXBlZy1kZXZlbEBmZm1wZWcub3JnCmh0dHBzOi8vZmZtcGVnLm9yZy9tYWlsbWFuL2xpc3Rp bmZvL2ZmbXBlZy1kZXZlbAoKVG8gdW5zdWJzY3JpYmUsIHZpc2l0IGxpbmsgYWJvdmUsIG9yIGVt YWlsCmZmbXBlZy1kZXZlbC1yZXF1ZXN0QGZmbXBlZy5vcmcgd2l0aCBzdWJqZWN0ICJ1bnN1YnNj cmliZSIuCg==