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 23F2746E3F for ; Fri, 18 Aug 2023 04:51:15 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id D72B068C5DD; Fri, 18 Aug 2023 07:51:12 +0300 (EEST) Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05olkn2073.outbound.protection.outlook.com [40.92.91.73]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 77B49680BEC for ; Fri, 18 Aug 2023 07:51:06 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Zwf97RvJ0zj0vmShvUxB+wyg1t7Y1g5I/kBsC3ATTa+eUwMRx0T6+SP3wsWxEJSea4dbjt+yIW6IlZHjnWTT4rU1HJjRxxAxQ2ti/uMjFixxTUteriG9x/5r/0k2YALh4TPB11rB/lPTXAFIbvVCgDvSfihWncuqwCNdQyF3M8nF9LnykEkyve9dtD3zKMPQarP3iD2tjQuFLqXPYllmUJv7yGrCOUUp0d7imx0O+vTtvZsx0Kk06lPuIyIdh2f4qfBTH4n7xVtZOfT5JTaj+Bcc+X1TVROzIh8u/q+lkQCEmbH55iJiubXgZ5No2SlTWf+v2Fm+pllzbaZjocBueg== 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=Tb4iHYs0cr5wLzJtMBoIrhbuipyjrDRoSkzkE76nrSM=; b=fay4fFgDyGongKerIqpJbh/QaD06B6CFHyg4vrTVIy+YY2HgjOmaUrISQZVoly8/iycHx7OgoW34YKu6nEbPXaOj2Q3Vv5U+X9A6UBqGVMroZ/p8iFt2GN/fBl59UEqiUnFFc/OkGaBEK/cOOC72v0TeWx7G0qbbrKJ8mc2HsKKcdyxwjSt/8Qp0OGu0Pn13XxBuTk1ndlK98pQSp8aw9LQb9TSEGj9v1JVOqgdHK5VafTPAKagvuv2FOxG9MLa2QWTZfADzB5ut/GRDILgfst8uoiOZSkYUNVZx6cM8/g8d8lUhEb8F2/1lIm6eoERmufv11L0yr/eBaa2wEGNIag== 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=Tb4iHYs0cr5wLzJtMBoIrhbuipyjrDRoSkzkE76nrSM=; b=ZIVloFouKtG0JtxTCRLKCyTuFGoE2qxUSlHFtlVzdjIn2s8rZFKygEV2/SwQK1+1BLH4bTNRVyDr6zDjFdAZoTM7ZD/NmFmz1KA9YDBghjfdIrkGTlY707F0/aGb+u6Psa9Otp0v66va5HBHe4VxYowdryVpye9329VXXLG4Vv6ub7CuRK/a1jg8jQK4Ib3j75LEqfrKmLYKTVrVX0XUTTv1MVraso8X6mw0B9tz2AECxFbws8ly6Zpeod5XdG5tEU4iXZ0tBIvsqyDc+zveVq+Hemm8Sff4Kyxs8vsBAva6a2rwhT0owqQcEeALM7TSZQyWOnTka6mQ2rkvg3XBuw== Received: from GV1P250MB0737.EURP250.PROD.OUTLOOK.COM (2603:10a6:150:8e::17) by PR3P250MB0242.EURP250.PROD.OUTLOOK.COM (2603:10a6:102:17d::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6678.31; Fri, 18 Aug 2023 04:51:04 +0000 Received: from GV1P250MB0737.EURP250.PROD.OUTLOOK.COM ([fe80::31b9:e47d:e931:f0c8]) by GV1P250MB0737.EURP250.PROD.OUTLOOK.COM ([fe80::31b9:e47d:e931:f0c8%7]) with mapi id 15.20.6678.031; Fri, 18 Aug 2023 04:51:04 +0000 Message-ID: Date: Fri, 18 Aug 2023 06:52:19 +0200 To: ffmpeg-devel@ffmpeg.org References: <20230817214858.184010-1-jeebjp@gmail.com> <20230817214858.184010-6-jeebjp@gmail.com> Content-Language: en-US From: Andreas Rheinhardt In-Reply-To: <20230817214858.184010-6-jeebjp@gmail.com> X-TMN: [EWagKgg9bOZ+tAIGnOp39CVe5auvoi3YhuJPili/0tU=] X-ClientProxiedBy: ZR0P278CA0218.CHEP278.PROD.OUTLOOK.COM (2603:10a6:910:6a::8) To GV1P250MB0737.EURP250.PROD.OUTLOOK.COM (2603:10a6:150:8e::17) X-Microsoft-Original-Message-ID: MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: GV1P250MB0737:EE_|PR3P250MB0242:EE_ X-MS-Office365-Filtering-Correlation-Id: 8ad5c59b-420f-4e47-1a67-08db9fa6ba20 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: KOsZZlDIeskBazEVsNo6kQUoYLjyFt25ajhrTwrOBAF3BKN/A3vTOMJBo3liMtE5gNW452L4NgbA4Qh2hPr0jY0cGZSWJ2dVgySWhJqUDfiG5AFX+r/JnNogDb7MP9NgqfKpRrSmfN2HrdhAFrB9t+I4u0bNB5sG9j4Var1PQ4s9yDiitr4d1LkIWf44CdYPMFtMp+mymlbA7A9XjlLUJI6EV9PRiUQlQpP5EIsdOkuZ43GFUxpMzXW0mYUbM5YJJqlFzokdAdPZWGQF2/Cm0e6KGVPQP6MOv2EnR9oaTwn/RR0EI3nE29zmPS0sz+0nHvUzmmuO08qEijx9ON0xogZasgSs2fYeu51xcMO1MAoojz/FfLkPYmpc6YIobR1GQV6se9fQDCrR2O43uxMT2nkyL1BeeDxCkamJ7QljOTcbePPOBJWvZqU9rY3SjMw+m3IrGuyQgWtzzzJlUMsEdXN6+9dIYyawYygO68dje25jz96eL/qxL1u2n7WDT8m/hb7FuhCWdxClDG9sXERZARWbol9aKpFgOa4MCugaQJ3eumhskqjarCOteYCylRL0 X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?NGhrZ0NRS0hkVmFIMGNCUTk2c2lTN3N2blhHZ1hxdVdJaTlJUmVaU3AzKytG?= =?utf-8?B?aFNHaWhzU0JqdmVHaEx1VXk5ZmxUY3V3Q0R5b2QvZEE3RGptUnZRaXYvMCtI?= =?utf-8?B?VlNjQjJCWWwvWGFhNDFUdVBhU1VmTmJzQkNSaUlkVnlzOFdMdlZPVDZXdUxl?= =?utf-8?B?ZTFTSzE2NzFtcTBwZEJTRVg3c3N4empzNThLUFdNUmI0dFlOcXkxVmJXRnk2?= =?utf-8?B?bCs3QWwrZGFkeUVxL0ZZc05GZXNianE4eEEwYVZNV1lPMkVHa0hxd2xpaEVP?= =?utf-8?B?SnUxT29vUHJaSVJDaFFqZ21kSkRvWlhHTzBNdW9qdWtWVzhtc1UxRzBGM082?= =?utf-8?B?cy9FSmZjVC9Ua29HRUIrZkE5bzNsWTEydVJVUXlpb3ZxRUd4TDFBL2FxWU9y?= =?utf-8?B?WnREMkxvdGJGc1Jja1c5bjVYWjVsTnFpZmw5MGcwVXJJTERzZHZCM2tQeFRB?= =?utf-8?B?VllEWWw3VTZURlBKbDVsNHl4UGZvdW5TNVFVa0ROdmhsYjZQMGp3UHU0dnNa?= =?utf-8?B?czdROElvVVVZRzhGdDZyb0Y3d0x0MmdtY2R4T09sRXlzT3VFamRRTjI4Q1ZE?= =?utf-8?B?bnpoUXlQYU43eVRkWDZudWV3WUtUbE94TC82WFU1dFFoVFpWMGFFSENGR0dV?= =?utf-8?B?SWI5cjhMU1hGK2JmYjVzSC9Qd1kveEFzdkR3cjZvMDBCUFFkaXErT28vSVM0?= =?utf-8?B?bUdlVlUwd2hFUnJDaTFsMERPWC9jMHZGSlZqYXNVenRaMzdaL0k3c0hWTGFM?= =?utf-8?B?R1BCL2x3c0lMTjhKZG9mcHhkRHhnSlhRWHBadDB5Z1hHbnBBaXVhUjNsMzI1?= =?utf-8?B?ZWJXb2Z5ZmZ3MGhkWGRMdDlPcUI0NTR3OXN2QTUwK1NHcFZrbEg2WlJERXdD?= =?utf-8?B?ZGxFY01nL29CRjlTd1Jsd3MrTEplK2xYdkxTcU9ndDV2dTl1OGd4cTRZaTF2?= =?utf-8?B?L1BJSmh0b1JwVER1VXIvZi84R3JDWEE3Uk9adEs5dDNhMTE0VnowNk5RQWRO?= =?utf-8?B?RVRkVG5vTzBjOStlMVFBeDlZcjlaYTB0aFlpeW80YXk2cXRLcXkrVHhmQklh?= =?utf-8?B?MXVzTGNDTUQ1bE9yb1RtT3ExOWh0cFNISUM0OGFuQjl4SnVkODN4RkhMc2ZM?= =?utf-8?B?UGFlVWY5YVh3OTNVZlJLZ0pNVG0welo4MWZDNVRzZ1BLVm1RNDNhOW03aElB?= =?utf-8?B?UmxIR2tRckIrZWI0d0FhSzBhSXh0OVBZYzYwTGVFMVh6U0ZQWE9hNGlIZndN?= =?utf-8?B?eHpoQzhLTThUWUFYdVR0Zy8rRExhcmNTODA3ejJ4eEZscHF6ZFN6WExZK21P?= =?utf-8?B?QW1lazZndVBrY1Q4aUpHbVRYdmgybUd5UFBDamlITlMyNzFpOWNDWU1KSElu?= =?utf-8?B?S2NrZEVic09McUpkODQxaE85aHJmaWEwa1B6Nk5RYTlmZjhuYk5mMURqaEZa?= =?utf-8?B?RnV5K0VPN1lVdmYyMk5hNzhUZXYxVitQclBuTHZRblBoWXNpMkRQNGxnTGdP?= =?utf-8?B?VG1tUlkzbXptN2t6RGhaWjUwelRXWTV4U3o3a056VGRmWlkrRkUzZ3FsRW1T?= =?utf-8?B?V0tGVFdTYlZBQlBlQWdBS1VFK0s1ZWpkOEJhcFRhK2UyVzBhSW5KT09FV2Fh?= =?utf-8?B?U0tPTko0MDFXOXhsWTNHNW1HYTJkNGwvZGRzcTBZL1IreDBHaEFjRnExT0k3?= =?utf-8?Q?BQHMmE0/Hf25g83zdGoa?= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 8ad5c59b-420f-4e47-1a67-08db9fa6ba20 X-MS-Exchange-CrossTenant-AuthSource: GV1P250MB0737.EURP250.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Aug 2023 04:51:04.2460 (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: PR3P250MB0242 Subject: Re: [FFmpeg-devel] [PATCH v3 05/12] avutil/frame: add helper for adding side data to set 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: SmFuIEVrc3Ryw7ZtOgo+IEFkZGl0aW9uYWxseSwgYWRkIGFuIEFQSSB0ZXN0IHRvIGNoZWNrIHRo YXQgdGhlIG5vLWR1cGxpY2F0ZXMKPiBhZGRpdGlvbiB3b3JrcyBhZnRlciBkdXBsaWNhdGVzIGhh dmUgYmVlbiBpbnNlcnRlZC4KPiAtLS0KPiAgbGliYXZ1dGlsL01ha2VmaWxlICAgICAgICAgICAg ICB8ICAxICsKPiAgbGliYXZ1dGlsL2ZyYW1lLmMgICAgICAgICAgICAgICB8IDM0ICsrKysrKysr KysrKysrKysKPiAgbGliYXZ1dGlsL2ZyYW1lLmggICAgICAgICAgICAgICB8IDE4ICsrKysrKysr Kwo+ICBsaWJhdnV0aWwvdGVzdHMvc2lkZV9kYXRhX3NldC5jIHwgNzEgKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrCj4gIHRlc3RzL2ZhdGUvbGliYXZ1dGlsLm1hayAgICAgICAgfCAg NCArKwo+ICB0ZXN0cy9yZWYvZmF0ZS9zaWRlX2RhdGFfc2V0ICAgIHwgIDcgKysrKwo+ICA2IGZp bGVzIGNoYW5nZWQsIDEzNSBpbnNlcnRpb25zKCspCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBsaWJh dnV0aWwvdGVzdHMvc2lkZV9kYXRhX3NldC5jCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NCB0ZXN0cy9y ZWYvZmF0ZS9zaWRlX2RhdGFfc2V0Cj4gCj4gZGlmZiAtLWdpdCBhL2xpYmF2dXRpbC9NYWtlZmls ZSBiL2xpYmF2dXRpbC9NYWtlZmlsZQo+IGluZGV4IDc4MjhjOTRkYzUuLjMzOWVhZjM1MzkgMTAw NjQ0Cj4gLS0tIGEvbGliYXZ1dGlsL01ha2VmaWxlCj4gKysrIGIvbGliYXZ1dGlsL01ha2VmaWxl Cj4gQEAgLTI2NCw2ICsyNjQsNyBAQCBURVNUUFJPR1MgPSBhZGxlcjMyICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCj4gICAgICAgICAgICAgIHJp cGVtZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IFwKPiAgICAgICAgICAgICAgc2hhICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgXAo+ICAgICAgICAgICAgICBzaGE1MTIgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCj4gKyAgICAgICAgICAg IHNpZGVfZGF0YV9zZXQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIFwKPiAgICAgICAgICAgICAgc29mdGZsb2F0ICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgXAo+ICAgICAgICAgICAgICB0cmVlICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCj4gICAgICAgICAg ICAgIHR3b2Zpc2ggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFwKPiBkaWZmIC0tZ2l0IGEvbGliYXZ1dGlsL2ZyYW1lLmMgYi9saWJhdnV0aWwvZnJh bWUuYwo+IGluZGV4IDQ2ZWE2MDM1MTEuLjI3Y2NiYzUyYzcgMTAwNjQ0Cj4gLS0tIGEvbGliYXZ1 dGlsL2ZyYW1lLmMKPiArKysgYi9saWJhdnV0aWwvZnJhbWUuYwo+IEBAIC04NDYsNiArODQ2LDQw IEBAIEFWRnJhbWVTaWRlRGF0YSAqYXZfZnJhbWVfbmV3X3NpZGVfZGF0YShBVkZyYW1lICpmcmFt ZSwKPiAgICAgIHJldHVybiByZXQ7Cj4gIH0KPiAgCj4gKwo+ICtBVkZyYW1lU2lkZURhdGEgKmF2 X3NpZGVfZGF0YV9zZXRfbmV3X2l0ZW0oQVZGcmFtZVNpZGVEYXRhU2V0ICpzZXQsCj4gKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbnVtIEFWRnJhbWVTaWRlRGF0 YVR5cGUgdHlwZSwKPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHNpemVfdCBzaXplLAo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgdW5zaWduZWQgaW50IGFsbG93X2R1cGxpY2F0ZXMpCj4gK3sKPiArICAgIEFWQnVmZmVyUmVm ICAgICAqYnVmID0gYXZfYnVmZmVyX2FsbG9jKHNpemUpOwo+ICsgICAgQVZGcmFtZVNpZGVEYXRh ICpyZXQgPSBOVUxMOwo+ICsKPiArICAgIGlmICghYWxsb3dfZHVwbGljYXRlcykgewo+ICsgICAg ICAgIGZvciAoaW50IGkgPSAwOyBpIDwgc2V0LT5uYl9zZDsgaSsrKSB7Cj4gKyAgICAgICAgICAg IGlmIChzZXQtPnNkW2ldLT50eXBlICE9IHR5cGUpCj4gKyAgICAgICAgICAgICAgICBjb250aW51 ZTsKPiArCj4gKyAgICAgICAgICAgIGZyZWVfc2lkZV9kYXRhKCZzZXQtPnNkW2ldKTsKPiArCj4g KyAgICAgICAgICAgIGZvciAoaW50IGogPSBpICsgMTsgaiA8IHNldC0+bmJfc2Q7IGorKykgewo+ ICsgICAgICAgICAgICAgICAgc2V0LT5zZFtqIC0gMV0gPSBzZXQtPnNkW2pdOwoKRXZlciBoZWFy ZCBvZiBtZW1tb3ZlPwooQWx0ZXJuYXRpdmVseSwgaWYgdGhlIG9yZGVyIGlzIG5vdCB0byBiZSBw cmVzZXJ2ZWQsIG9uZSBjb3VsZCBzaW1wbHkKbW92ZSB0aGUgbGFzdCBzaWRlIGRhdGEgdG8gdGhl IGp1c3QgZnJlZWQgc2xvdCwgc2ltaWxhcmx5IGhvdwphdl9mcmFtZV9yZW1vdmVfc2lkZV9kYXRh KCkgZG9lcyBpdC4pCgo+ICsgICAgICAgICAgICB9Cj4gKwo+ICsgICAgICAgICAgICAvLyBmaW5h bGx5LCBjYXVzZSBhIHJldHJ5IG9mIHRoZSBzYW1lIGluZGV4IGFuZCB1cGRhdGUgc3RhdGUKPiAr ICAgICAgICAgICAgLy8gcmVnYXJkaW5nIHRoZXJlIGJlaW5nIG9uZSBsZXNzIHNpZGUgZGF0YSBp dGVtIGluIHRoZSBzZXQuCj4gKyAgICAgICAgICAgIGktLTsKCkluIGNvZGUgbGlrZSB0aGlzLCBp dCBpcyBlYXNpZXIgdG8gY291bnQgZG93biBpbnN0ZWFkIG9mIHVwLiBUaGlzIGFsc28KaGFzIHRo ZSBhZHZhbnRhZ2UgdGhhdCBlbnRyaWVzIHRoYXQgYXJlIHJlbW92ZWQgbGF0ZXIgYXJlIG5vdAp1 bm5lY2Vzc2FyaWx5IG1vdmVkLgoKPiArICAgICAgICAgICAgc2V0LT5uYl9zZC0tOwo+ICsgICAg ICAgIH0KPiArICAgIH0KPiArCj4gKyAgICByZXQgPSBhZGRfc2lkZV9kYXRhX3RvX3NldF9mcm9t X2J1ZihzZXQsIHR5cGUsIGJ1Zik7Cj4gKyAgICBpZiAoIXJldCkKPiArICAgICAgICBhdl9idWZm ZXJfdW5yZWYoJmJ1Zik7Cj4gKwo+ICsgICAgcmV0dXJuIHJldDsKPiArfQo+ICsKPiAgQVZGcmFt ZVNpZGVEYXRhICphdl9mcmFtZV9nZXRfc2lkZV9kYXRhKGNvbnN0IEFWRnJhbWUgKmZyYW1lLAo+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW51bSBBVkZyYW1lU2lk ZURhdGFUeXBlIHR5cGUpCj4gIHsKPiBkaWZmIC0tZ2l0IGEvbGliYXZ1dGlsL2ZyYW1lLmggYi9s aWJhdnV0aWwvZnJhbWUuaAo+IGluZGV4IGU1Y2E3YWY2NTEuLmI5ZDdjNzY0NjEgMTAwNjQ0Cj4g LS0tIGEvbGliYXZ1dGlsL2ZyYW1lLmgKPiArKysgYi9saWJhdnV0aWwvZnJhbWUuaAo+IEBAIC0x MDY1LDYgKzEwNjUsMjQgQEAgY29uc3QgY2hhciAqYXZfZnJhbWVfc2lkZV9kYXRhX25hbWUoZW51 bSBBVkZyYW1lU2lkZURhdGFUeXBlIHR5cGUpOwo+ICAgKi8KPiAgdm9pZCBhdl9zaWRlX2RhdGFf c2V0X3VuaW5pdChBVkZyYW1lU2lkZURhdGFTZXQgKnNldCk7Cj4gIAo+ICsvKioKPiArICogQWRk IGEgbmV3IHNpZGUgZGF0YSBlbnRyeSB0byBhIHNldC4KPiArICoKPiArICogQHBhcmFtIHNldCBh IHNldCB0byB3aGljaCB0aGUgc2lkZSBkYXRhIHNob3VsZCBiZSBhZGRlZAo+ICsgKiBAcGFyYW0g dHlwZSB0eXBlIG9mIHRoZSBhZGRlZCBzaWRlIGRhdGEKPiArICogQHBhcmFtIHNpemUgc2l6ZSBv ZiB0aGUgc2lkZSBkYXRhCj4gKyAqIEBwYXJhbSBhbGxvd19kdXBsaWNhdGVzIGFuIHVuc2lnbmVk IGludGVnZXIgbm90aW5nIHdoZXRoZXIgZHVwbGljYXRlcyBhcmUKPiArICogICAgICAgICAgICAg ICAgICAgICAgICAgYWxsb3dlZCBvciBub3QuIElmIGR1cGxpY2F0ZXMgYXJlIG5vdCBhbGxvd2Vk LCBhbGwKPiArICogICAgICAgICAgICAgICAgICAgICAgICAgZW50cmllcyBvZiB0aGUgc2FtZSBz aWRlIGRhdGEgdHlwZSBhcmUgZmlyc3QgcmVtb3ZlZAo+ICsgKiAgICAgICAgICAgICAgICAgICAg ICAgICBhbmQgZnJlZWQgYmVmb3JlIHRoZSBuZXcgZW50cnkgaXMgYWRkZWQuCgpXaHkgbm90IGZs YWdzPwoKPiArICoKPiArICogQHJldHVybiBuZXdseSBhZGRlZCBzaWRlIGRhdGEgb24gc3VjY2Vz cywgTlVMTCBvbiBlcnJvcgoKVGhpcyBkb2VzIG5vdCBtZW50aW9uIHdoZXRoZXIgZHVwbGljYXRl cyBoYXZlIGJlZW4gcmVtb3ZlZCBvbiBlcnJvciAoaWYKYWxsb3dfZHVwbGljYXRlcyA9PSAwKS4K Cj4gKyAqLwo+ICtBVkZyYW1lU2lkZURhdGEgKmF2X3NpZGVfZGF0YV9zZXRfbmV3X2l0ZW0oQVZG cmFtZVNpZGVEYXRhU2V0ICpzZXQsCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBlbnVtIEFWRnJhbWVTaWRlRGF0YVR5cGUgdHlwZSwKPiArICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVfdCBzaXplLAo+ICsgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50IGFsbG93X2R1cGxp Y2F0ZXMpOwo+ICsKPiAgLyoqCj4gICAqIEB9Cj4gICAqLwo+IGRpZmYgLS1naXQgYS9saWJhdnV0 aWwvdGVzdHMvc2lkZV9kYXRhX3NldC5jIGIvbGliYXZ1dGlsL3Rlc3RzL3NpZGVfZGF0YV9zZXQu Ywo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0Cj4gaW5kZXggMDAwMDAwMDAwMC4uYWQ0MjA0NDBkNQo+ IC0tLSAvZGV2L251bGwKPiArKysgYi9saWJhdnV0aWwvdGVzdHMvc2lkZV9kYXRhX3NldC5jCj4g QEAgLTAsMCArMSw3MSBAQAo+ICsvKgo+ICsgKiBDb3B5cmlnaHQgKGMpIDIwMjMgSmFuIEVrc3Ry w7ZtIDxqZWVianBAZ21haWwuY29tPgo+ICsgKgo+ICsgKiBUaGlzIGZpbGUgaXMgcGFydCBvZiBG Rm1wZWcuCj4gKyAqCj4gKyAqIEZGbXBlZyBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlz dHJpYnV0ZSBpdCBhbmQvb3IKPiArICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUg R05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwo+ICsgKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0 aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKPiArICogdmVyc2lvbiAyLjEgb2Yg dGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCj4gKyAq Cj4gKyAqIEZGbXBlZyBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUg dXNlZnVsLAo+ICsgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUg aW1wbGllZCB3YXJyYW50eSBvZgo+ICsgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1Ig QSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQo+ICsgKiBMZXNzZXIgR2VuZXJhbCBQ dWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgo+ICsgKgo+ICsgKiBZb3Ugc2hvdWxkIGhh dmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCj4gKyAq IExpY2Vuc2UgYWxvbmcgd2l0aCBGRm1wZWc7IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29m dHdhcmUKPiArICogRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBG bG9vciwgQm9zdG9uLCBNQSAwMjExMC0xMzAxIFVTQQo+ICsgKi8KPiArCj4gKyNpbmNsdWRlIDxz dGRpby5oPgo+ICsjaW5jbHVkZSAibGliYXZ1dGlsL2ZyYW1lLmMiCj4gKyNpbmNsdWRlICJsaWJh dnV0aWwvbWFzdGVyaW5nX2Rpc3BsYXlfbWV0YWRhdGEuaCIKPiArCj4gK3N0YXRpYyB2b2lkIHBy aW50X2NsbHMoY29uc3QgQVZGcmFtZVNpZGVEYXRhU2V0IHNldCkKPiArewo+ICsgICAgZm9yIChp bnQgaSA9IDA7IGkgPCBzZXQubmJfc2Q7IGkrKykgewo+ICsgICAgICAgIEFWRnJhbWVTaWRlRGF0 YSAqc2QgPSBzZXQuc2RbaV07Cj4gKwo+ICsgICAgICAgIGlmIChzZC0+dHlwZSAhPSBBVl9GUkFN RV9EQVRBX0NPTlRFTlRfTElHSFRfTEVWRUwpCj4gKyAgICAgICAgICAgIGNvbnRpbnVlOwo+ICsK PiArICAgICAgICBwcmludGYoInNkICVkLCBNYXhDTEw6ICV1XG4iLAo+ICsgICAgICAgICAgICAg ICBpLCAoKEFWQ29udGVudExpZ2h0TWV0YWRhdGEgKilzZC0+ZGF0YSktPk1heENMTCk7Cj4gKyAg ICB9Cj4gK30KPiArCj4gK2ludCBtYWluKHZvaWQpCj4gK3sKPiArICAgIEFWRnJhbWVTaWRlRGF0 YVNldCBzZXQgPSB7IDAgfTsKPiArCj4gKyAgICBmb3IgKGludCB2YWx1ZSA9IDE7IHZhbHVlIDwg NDsgdmFsdWUrKykgewo+ICsgICAgICAgIEFWRnJhbWVTaWRlRGF0YSAqc2QgPSBhdl9zaWRlX2Rh dGFfc2V0X25ld19pdGVtKAo+ICsgICAgICAgICAgICAmc2V0LCBBVl9GUkFNRV9EQVRBX0NPTlRF TlRfTElHSFRfTEVWRUwsCj4gKyAgICAgICAgICAgIHNpemVvZihBVkNvbnRlbnRMaWdodE1ldGFk YXRhKSwgMSk7Cj4gKwo+ICsgICAgICAgIGF2X2Fzc2VydDAoc2QpOwo+ICsKPiArICAgICAgICAo KEFWQ29udGVudExpZ2h0TWV0YWRhdGEgKilzZC0+ZGF0YSktPk1heENMTCA9IHZhbHVlOwo+ICsg ICAgfQo+ICsKPiArICAgIHB1dHMoIkluaXRpYWwgYWRkaXRpb24gcmVzdWx0cyB3aXRoIGR1cGxp Y2F0ZXM6Iik7Cj4gKyAgICBwcmludF9jbGxzKHNldCk7Cj4gKwo+ICsgICAgewo+ICsgICAgICAg IEFWRnJhbWVTaWRlRGF0YSAqc2QgPSBhdl9zaWRlX2RhdGFfc2V0X25ld19pdGVtKAo+ICsgICAg ICAgICAgICAmc2V0LCBBVl9GUkFNRV9EQVRBX0NPTlRFTlRfTElHSFRfTEVWRUwsCj4gKyAgICAg ICAgICAgIHNpemVvZihBVkNvbnRlbnRMaWdodE1ldGFkYXRhKSwgMCk7Cj4gKwo+ICsgICAgICAg IGF2X2Fzc2VydDAoc2QpOwo+ICsKPiArICAgICAgICAoKEFWQ29udGVudExpZ2h0TWV0YWRhdGEg KilzZC0+ZGF0YSktPk1heENMTCA9IDEzMzc7Cj4gKyAgICB9Cj4gKwo+ICsgICAgcHV0cygiXG5G aW5hbCBzdGF0ZSBhZnRlciBhIHNpbmdsZSAnbm8tZHVwbGljYXRlcycgYWRkaXRpb246Iik7Cj4g KyAgICBwcmludF9jbGxzKHNldCk7Cj4gKwo+ICsgICAgYXZfc2lkZV9kYXRhX3NldF91bmluaXQo JnNldCk7Cj4gKwo+ICsgICAgcmV0dXJuIDA7Cj4gK30KPiBkaWZmIC0tZ2l0IGEvdGVzdHMvZmF0 ZS9saWJhdnV0aWwubWFrIGIvdGVzdHMvZmF0ZS9saWJhdnV0aWwubWFrCj4gaW5kZXggODAxNTNm NDM5NS4uNjg2NGVhOWMwMyAxMDA2NDQKPiAtLS0gYS90ZXN0cy9mYXRlL2xpYmF2dXRpbC5tYWsK PiArKysgYi90ZXN0cy9mYXRlL2xpYmF2dXRpbC5tYWsKPiBAQCAtMTQ4LDYgKzE0OCwxMCBAQCBG QVRFX0xJQkFWVVRJTCArPSBmYXRlLXNoYTUxMgo+ICBmYXRlLXNoYTUxMjogbGliYXZ1dGlsL3Rl c3RzL3NoYTUxMiQoRVhFU1VGKQo+ICBmYXRlLXNoYTUxMjogQ01EID0gcnVuIGxpYmF2dXRpbC90 ZXN0cy9zaGE1MTIkKEVYRVNVRikKPiAgCj4gK0ZBVEVfTElCQVZVVElMICs9IGZhdGUtc2lkZV9k YXRhX3NldAo+ICtmYXRlLXNpZGVfZGF0YV9zZXQ6IGxpYmF2dXRpbC90ZXN0cy9zaWRlX2RhdGFf c2V0JChFWEVTVUYpCj4gK2ZhdGUtc2lkZV9kYXRhX3NldDogQ01EID0gcnVuIGxpYmF2dXRpbC90 ZXN0cy9zaWRlX2RhdGFfc2V0JChFWEVTVUYpCj4gKwo+ICBGQVRFX0xJQkFWVVRJTCArPSBmYXRl LXRyZWUKPiAgZmF0ZS10cmVlOiBsaWJhdnV0aWwvdGVzdHMvdHJlZSQoRVhFU1VGKQo+ICBmYXRl LXRyZWU6IENNRCA9IHJ1biBsaWJhdnV0aWwvdGVzdHMvdHJlZSQoRVhFU1VGKQo+IGRpZmYgLS1n aXQgYS90ZXN0cy9yZWYvZmF0ZS9zaWRlX2RhdGFfc2V0IGIvdGVzdHMvcmVmL2ZhdGUvc2lkZV9k YXRhX3NldAo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0Cj4gaW5kZXggMDAwMDAwMDAwMC4uNmZiOTVk M2Y3Ywo+IC0tLSAvZGV2L251bGwKPiArKysgYi90ZXN0cy9yZWYvZmF0ZS9zaWRlX2RhdGFfc2V0 Cj4gQEAgLTAsMCArMSw3IEBACj4gK0luaXRpYWwgYWRkaXRpb24gcmVzdWx0cyB3aXRoIGR1cGxp Y2F0ZXM6Cj4gK3NkIDAsIE1heENMTDogMQo+ICtzZCAxLCBNYXhDTEw6IDIKPiArc2QgMiwgTWF4 Q0xMOiAzCj4gKwo+ICtGaW5hbCBzdGF0ZSBhZnRlciBhIHNpbmdsZSAnbm8tZHVwbGljYXRlcycg YWRkaXRpb246Cj4gK3NkIDAsIE1heENMTDogMTMzNwoKX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX18KZmZtcGVnLWRldmVsIG1haWxpbmcgbGlzdApmZm1wZWct ZGV2ZWxAZmZtcGVnLm9yZwpodHRwczovL2ZmbXBlZy5vcmcvbWFpbG1hbi9saXN0aW5mby9mZm1w ZWctZGV2ZWwKClRvIHVuc3Vic2NyaWJlLCB2aXNpdCBsaW5rIGFib3ZlLCBvciBlbWFpbApmZm1w ZWctZGV2ZWwtcmVxdWVzdEBmZm1wZWcub3JnIHdpdGggc3ViamVjdCAidW5zdWJzY3JpYmUiLgo=