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 5AA104327D for ; Tue, 22 Nov 2022 23:50:01 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 1F9BB68BB59; Wed, 23 Nov 2022 01:49:59 +0200 (EET) Received: from NAM12-DM6-obe.outbound.protection.outlook.com (mail-dm6nam12olkn2102.outbound.protection.outlook.com [40.92.22.102]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 507FE68B8FD for ; Wed, 23 Nov 2022 01:49:53 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=IYNaUrPHfnK7MQegnf+EphrtERMWRoQVLDbXqhNwSG9MWL9niSG/bGWcX8DcfJmHeDSGFb56mYkf6G5+llfs+zerqmuxzzIhSuKzWkD0nEBGi5z1r6iUTIaLkWfkk2zABL3765uRmGldYB7myqBuBWZt3TLQyLo5VpDmRiJRZQ/Bn5V1/cmNleFnXHVKudvvsJxmCbIkUiomovIHV4ljGC4+qQexk07jn3YbXlTpgyzM6BiZL85sM+G5wCUj/mGMi3SIvGTOw8RNhfwpLRth1+u2SQU/ujWavi39HE0/jLWjEVFyqo7prNZLuiwDdWQs1HWpkigEEpHYYJ+JUYXI+w== 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=K2qsRlXd/FPwgxs1Tn0/NEgcvumihL+u4w8XZGH6NtE=; b=R8GQTDWogfnHkkGBT7ZqiBTSSm4tpsvF838/YtyEM/EYJrmoWwOxD53zKi8CE3puBvYvcvxbUIgpiT9K1y6MrmUqcLhWsoiizjdXk2Bxmw02+bW+NzadQG+TdZ93FON5sazBHBkEEdvzAFHZAEds8TLfrgtCf5fbwIUBnpuLr2pXjL1/ED/dfKbnchelSIyANLIKbYvQt/0kg1w6MKA3Svgx3erNtdy7Z1p3hrWEZEco+lzCMHQVWQkM19gZBgaMJQsS2gik5OaAzRiccwmnjWqlJJw3FDgVBgZoJmJ1Moz1IqiwfxtwQk7zEbOWXZHUaT+QhVRbRhDsUbYzniTnGQ== 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=hotmail.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=K2qsRlXd/FPwgxs1Tn0/NEgcvumihL+u4w8XZGH6NtE=; b=XtKj816WwSjvT3Lflk+k7TgG7xnoxkO9r4S0CmTP9ApeM18KqZhfDZ+xdtWAuaafqb6iXcBWsL4B/QbcqzNRMzMKDkmzu5qpZbPzSt5l9EmDZ3quhkGYlj11FP4HhO3EmvMQwGCbppUhzrWvMxZtG+oqD8Jk6dNDgZgFYyjcm0w6NZV0z0TXniluAj1HqxfJ1M2DG6EgHkuwiKS/ynq7Hzs5ZX6BuFK6ZNoBVnMdglejsiRAu1tGtbqYIok8WKxNnK54gqNE3hgunsYopIbkIEHsuxwZBqJ7WX91DFGhtPQPbqjkg29KQC7pg5zBTyN0kqONT0F0odszQ0LlncjgvQ== Received: from DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM (2603:10b6:8:b::20) by SA1P223MB0607.NAMP223.PROD.OUTLOOK.COM (2603:10b6:806:25a::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5834.15; Tue, 22 Nov 2022 23:49:50 +0000 Received: from DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM ([fe80::45ea:be80:31df:38c0]) by DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM ([fe80::45ea:be80:31df:38c0%9]) with mapi id 15.20.5834.015; Tue, 22 Nov 2022 23:49:50 +0000 From: Soft Works To: FFmpeg development discussions and patches Thread-Topic: [FFmpeg-devel] [PATCH 3/4] avutil/cuda_check: propagate AVERROR_UNRECOVERABLE when needed Thread-Index: AQHY/nOipTVlaFTFHU+vkye4949a1a5K7c4AgAACqACAAB0sgIAAA8owgAB9zwCAAAnCgA== Date: Tue, 22 Nov 2022 23:49:50 +0000 Message-ID: References: <20221122130732.403-1-jamrial@gmail.com> <20221122130732.403-3-jamrial@gmail.com> <23e2a4bb-c527-565c-8ec5-dcd3d4753c02@rothenpieler.org> <793422a7-ffe1-3f12-046e-f0ef88f34ae5@gmail.com> <6831590f-5040-6a89-c69c-529a93e5eed7@rothenpieler.org> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-tmn: [CfIlpzZ5/wF61WHb6Uh6VLvc/GhNKSX2] x-ms-publictraffictype: Email x-ms-traffictypediagnostic: DM8P223MB0365:EE_|SA1P223MB0607:EE_ x-ms-office365-filtering-correlation-id: 8d6f2df7-b6da-4160-239c-08dacce43ea8 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: oJW35epig2s/0NipB6hMpsT48AoH0OA7N8HHxnb+SCiROkGp7GeAFj3KXszC8yWYoqRWhsfB7E7vdH0SmAooA0oU05IoUv2YBOVT/uMIqthTqjOew1MqpCM90knkmixJPwwfsZVo3wKcp5Ogyo7IE/9Yw1KlmhNXTLwK5Q7sXky98v2yKH8YTRlm+pPWSNpcPhL72ihCHDvZEi0QtUIWkc7qKwOc3wohj9ZPNr0lAf5FD42ACLZ1tQgEKlhPl1rkhh9q7vcTSl7140OnpcId0xbmm204U5QWKDHoVMPVV8oDueHal+2gKim64au5R9j9C/jq/FC7qnfdMp5gGUVGgpBckpATuVoGSxXfyLsfk8h9O0aeluJ2z4jAXRbxdo61ojOaxxdYPTgeB1rXWJq/9vGFP9Cn6zGPoCgFviKY2wTopSYMtipXq3ztGIJXG1A5Y7JGqsWlqTwr4i9wVZz9modmAOjlr6TlsH1bpWYrVb921rFGPxU73B3a7fmfQA07+URocHa0Ir/H4ux4k6HM6WBNAtzu4p9dtVlvpCghB9Q1VcbJpp/bR+c0jmB+3iyc6exQVfCtySP4OseadBtyxfU943lTp5xYMXg2dV1QmLheXN0j4QKXo5BCSUY7xM1fXmA+KRViiXpVFdg9xkQL3w== x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?MTNVaDFyRUZPSUF1TDdRcllJNWZENmlVU0t4Nnp0R0crZytPa08wQkM1MXpQ?= =?utf-8?B?YTVVUzBPcGVYckhyVTVrRXVyeWFtUmtEbjNXb2xnQnp2YUIveEdWTGgyTWsx?= =?utf-8?B?YVczZjhGK1VydkVtQnkrOURIdWdWeHlCaUVHN2E5bDF0N1BtYmltc0RPWnFM?= =?utf-8?B?cXlFQUZZd1BnaWYrRGNLVUw2NFQzWFFDSUVpZ1prMVNvSmR6dTduT1VwRDlo?= =?utf-8?B?WnVFNnpsbUFOeVpYMURxSGtZRzVOblRtZ2dWbmt5WjR1OVh4YjNEU04zUStn?= =?utf-8?B?QUd3eWJ5aXhoeFdnTC9qOHE5MWFkWFF1dk90SXJhWGlXKy96OXFuYk82ZWk2?= =?utf-8?B?RWpoSkVaRHVpTW9hMjh4WGFtQVB4NkNJQkIyYnkvaFhVdk5zMWIzd3JZM2pW?= =?utf-8?B?WkpJbzl1RW0xa1Z0aGR3QXNmNDhnN1JvckYzc3B2VjJOajZWdFgybEd6SUp3?= =?utf-8?B?cDBZcHd3R0M0NXhYcXJ2WStvSHhOVzA5dVlZOVZrOHB2R1VDYytPTUFwQzBQ?= =?utf-8?B?SmEvY2ZLbXBTTG95TTM5K2M1WW5qVmx5WVNua2c1aHFMNUFuZlZZRlVvNnVo?= =?utf-8?B?N2c5UlMweFUzaU5PYjdXZGNBZzFUdTV5SHdtWG5nRk43cVgxak55N0VBNTds?= =?utf-8?B?MTJFaU1NTkN0ZFRaQ0h2cjNVNENRZEpCN0YrM29EOE5vWklhSzVwc0JiY3Zj?= =?utf-8?B?RlBuSkpkTDhTaTFFSmNOaFJ1YTZZMEdpZG5Xbm9ia2hlOGZYU2wxdmhZNWJN?= =?utf-8?B?a3JLcXBWNUFKcEJoTFJROUoyRmczY1hpNHVEb0NUMlNDTVJCRHZTUFNDb082?= =?utf-8?B?bnZFTEJiMUhhb25PZHJFOURPTWlMMVRhMngxMlhmeHJSN1BzNWs4emZKdk5n?= =?utf-8?B?eE5UbE83b01jM2czbmUzc0VSZkZkdjA1MXVpVDE5d3h4ckdOeVJ2NTBOcFBL?= =?utf-8?B?VFY4bUZOVEVPM2Q3bTRNbUpSNGJjUmh1Mk1lazFZS3NkYlcxdkh4QW8vZ2NX?= =?utf-8?B?TXpLYThjVnlXb1YvUzVxdm4ra0pIcng1amZseUlOUUo1UndTMFdBTXVXTGFm?= =?utf-8?B?Rlc4c1p0MVhybnJ3b0Z3cWpPeEF3ZnVrOVNuWFFjTkk5dDQyQXZuZXdWSVZn?= =?utf-8?B?SUJPUExoaTJPelJjd1Y1TW8ySFY4Nzc5QWl0SVJ4MDRlam8zZGhVV2FBSzJS?= =?utf-8?B?RWlVS2RIOTJxYjBuWW85Rnc5ajBsNk9pczhTU00wNUthd1lsL2xmeGZtb2FD?= =?utf-8?B?bW9ta3Zyck52NUNwbWlYVkFhWEFHRU1rSVRhaUJQa2lGVHlqZUlmalFQRG1l?= =?utf-8?B?c3hhZkYrRkZDczEvVVZWQmpIUTQ0clpNM1JIbnVaWUczSG9rR1Rldnk2NHZp?= =?utf-8?B?d3R4ejJueGllNEF2OU5PRkwzK1lVam5iUDN1QzR5a2c1T2QxZXV1MEppVDJ5?= =?utf-8?B?NEsxNWFlYmhhdW5WcXY2bWF5MmRDbHVzK2NVYUFSbGFvdEVXQjdZdDlicUFw?= =?utf-8?B?b2VDbjZsam9MazI3U3ZIVlhEUVdlM1BHM01iU3orTDRoNDBaRjFKUWtKbmw5?= =?utf-8?B?T0ZydEZPNXhEMWJkTzlDc1h2elB6eVZJZjN0TlE2SmpPT050YnJqNEVCZWNq?= =?utf-8?B?TGhqQmozUU9LK3NnOVJXSHFlSUpjY1NCVmw3THpSVHFHMTlvN2tsOWNiSE9m?= =?utf-8?B?ZEZaTzZCZmpPTkpFUy9HUDFXcklQWlkyOTlWUERhL2FzSTRLZHk0RmRnPT0=?= MIME-Version: 1.0 X-OriginatorOrg: sct-15-20-4755-11-msonline-outlook-1ff67.templateTenant X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-CrossTenant-Network-Message-Id: 8d6f2df7-b6da-4160-239c-08dacce43ea8 X-MS-Exchange-CrossTenant-originalarrivaltime: 22 Nov 2022 23:49:50.1537 (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: SA1P223MB0607 Subject: Re: [FFmpeg-devel] [PATCH 3/4] avutil/cuda_check: propagate AVERROR_UNRECOVERABLE when needed 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: DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogZmZtcGVnLWRldmVsIDxm Zm1wZWctZGV2ZWwtYm91bmNlc0BmZm1wZWcub3JnPiBPbiBCZWhhbGYgT2YNCj4gVGltbyBSb3Ro ZW5waWVsZXINCj4gU2VudDogVHVlc2RheSwgTm92ZW1iZXIgMjIsIDIwMjIgMTE6NTkgUE0NCj4g VG86IGZmbXBlZy1kZXZlbEBmZm1wZWcub3JnDQo+IFN1YmplY3Q6IFJlOiBbRkZtcGVnLWRldmVs XSBbUEFUQ0ggMy80XSBhdnV0aWwvY3VkYV9jaGVjazogcHJvcGFnYXRlDQo+IEFWRVJST1JfVU5S RUNPVkVSQUJMRSB3aGVuIG5lZWRlZA0KPiANCj4gT24gMjIuMTEuMjAyMiAxNzowMiwgU29mdCBX b3JrcyB3cm90ZToNCj4gPg0KPiA+DQo+ID4+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ ID4+IEZyb206IGZmbXBlZy1kZXZlbCA8ZmZtcGVnLWRldmVsLWJvdW5jZXNAZmZtcGVnLm9yZz4g T24gQmVoYWxmIE9mDQo+ID4+IFRpbW8gUm90aGVucGllbGVyDQo+ID4+IFNlbnQ6IFR1ZXNkYXks IE5vdmVtYmVyIDIyLCAyMDIyIDQ6MTYgUE0NCj4gPj4gVG86IGZmbXBlZy1kZXZlbEBmZm1wZWcu b3JnDQo+ID4+IFN1YmplY3Q6IFJlOiBbRkZtcGVnLWRldmVsXSBbUEFUQ0ggMy80XSBhdnV0aWwv Y3VkYV9jaGVjazoNCj4gcHJvcGFnYXRlDQo+ID4+IEFWRVJST1JfVU5SRUNPVkVSQUJMRSB3aGVu IG5lZWRlZA0KPiA+Pg0KPiA+Pg0KPiA+Pg0KPiA+PiBPbiAyMi8xMS8yMDIyIDE0OjMxLCBKYW1l cyBBbG1lciB3cm90ZToNCj4gPj4+IE9uIDExLzIyLzIwMjIgMTA6MjEgQU0sIFRpbW8gUm90aGVu cGllbGVyIHdyb3RlOg0KPiA+Pj4+IE9uIDIyLzExLzIwMjIgMTQ6MDcsIEphbWVzIEFsbWVyIHdy b3RlOg0KPiA+Pj4+PiBCYXNlZCBvbiBhIHBhdGNoIGJ5IFNvZnQgV29ya3MuDQo+ID4+Pj4+DQo+ ID4+Pj4+IFNpZ25lZC1vZmYtYnk6IEphbWVzIEFsbWVyIDxqYW1yaWFsQGdtYWlsLmNvbT4NCj4g Pj4+Pj4gLS0tDQo+ID4+Pj4+ICDCoCBsaWJhdnV0aWwvY3VkYV9jaGVjay5oIHwgNCArKysrDQo+ ID4+Pj4+ICDCoCAxIGZpbGUgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspDQo+ID4+Pj4+DQo+ID4+ Pj4+IGRpZmYgLS1naXQgYS9saWJhdnV0aWwvY3VkYV9jaGVjay5oIGIvbGliYXZ1dGlsL2N1ZGFf Y2hlY2suaA0KPiA+Pj4+PiBpbmRleCBmNWE5MjM0ZWFmLi4zM2FhZjljMDk4IDEwMDY0NA0KPiA+ Pj4+PiAtLS0gYS9saWJhdnV0aWwvY3VkYV9jaGVjay5oDQo+ID4+Pj4+ICsrKyBiL2xpYmF2dXRp bC9jdWRhX2NoZWNrLmgNCj4gPj4+Pj4gQEAgLTQ5LDYgKzQ5LDEwIEBAIHN0YXRpYyBpbmxpbmUg aW50IGZmX2N1ZGFfY2hlY2sodm9pZCAqYXZjdHgsDQo+ID4+Pj4+ICDCoMKgwqDCoMKgwqDCoMKg wqAgYXZfbG9nKGF2Y3R4LCBBVl9MT0dfRVJST1IsICIgLT4gJXM6ICVzIiwgZXJyX25hbWUsDQo+ ID4+Pj4+IGVycl9zdHJpbmcpOw0KPiA+Pj4+PiAgwqDCoMKgwqDCoCBhdl9sb2coYXZjdHgsIEFW X0xPR19FUlJPUiwgIlxuIik7DQo+ID4+Pj4+ICvCoMKgwqAgLy8gTm90IHJlY292ZXJhYmxlDQo+ ID4+Pj4+ICvCoMKgwqAgaWYgKGVyciA9PSBDVURBX0VSUk9SX1VOS05PV04pDQo+ID4+Pj4+ICvC oMKgwqDCoMKgwqDCoCByZXR1cm4gQVZFUlJPUl9VTlJFQ09WRVJBQkxFOw0KPiA+Pj4+DQo+ID4+ Pj4gV2h5IGRvZXMgc3BlY2lmaWNhbGx5IENVREFfRVJST1JfVU5LTk9XTiBnZXQgbWFwcGVkIHRv DQo+ID4+IHVucmVjb3ZlcmFibGU/DQo+ID4+Pg0KPiA+Pj4gSXQncyB0aGUgY29kZSB0aGF0IFNv ZnQgV29ya3MgZm91bmQgb3V0IHdhcyByZXR1cm5lZCByZXBlYXRlZGx5DQo+IG5vDQo+ID4+PiBt YXR0ZXIgaG93IG1hbnkgcGFja2V0cyB5b3UgZmVkIHRvIHRoZSBlbmNvZGVyLCB3aGljaCBtZWFu dCBpdA0KPiB3YXMNCj4gPj4gc3R1Y2sNCj4gPj4+IGluIGFuIHVucmVjb3ZlcmFibGUgc3RhdGUu IFNlZQ0KPiA+Pj4gaHR0cDovL2ZmbXBlZy5vcmcvcGlwZXJtYWlsL2ZmbXBlZy1kZXZlbC8yMDIx LU9jdG9iZXIvMjg3MTUzLmh0bWwNCj4gPj4+DQo+ID4+PiBJZiB5b3Uga25vdyBvZiBjYXNlcyB3 aGVyZSB0aGlzIGVycm9yIGNvdWxkIGJlIHJldHVybmVkIGluIHZhbGlkDQo+ID4+PiByZWNvdmVy YWJsZSBzY2VuYXJpb3MgdGhhdCBhcmUgbm90IGFscmVhZHkgaGFuZGxlZCBpbiBzb21lIG90aGVy DQo+ID4+IHdheSwNCj4gPj4+IHdoYXQgZG8geW91IHN1Z2dlc3QgY291bGQgYmUgZG9uZT8NCj4g Pj4NCj4gPj4gSXQncyBtb3JlIHRoYXQgdGhhdCB2ZXJ5IG11Y2ggZGVwZW5kcyBvbiB0aGUgY29u dGV4dCB0aGUgZnVuY3Rpb24NCj4gaXMNCj4gPj4gdXNlZCBpbi4NCj4gPj4gSW4gdGhlIGNvbnRl eHQgb2YgYW4gYWN0aXZlIGRlL2VuY29kaW5nIGxvb3AsIGV2ZXJ5IG5vbi1zdWNjZXNzDQo+ID4+ IHJldHVybg0KPiA+PiB3b3VsZCBiZSB1bnJlY292ZXJhYmxlLiBPciBldmVuIGR1cmluZyBpbml0 Lg0KPiA+Pg0KPiA+PiBXaGlsZSBpbiBvdGhlciBwbGFjZXMgYSBmYWlsdXJlIGp1c3QgYnJlYWtz IGEgc2luZ2xlIGZyYW1lIGFuZCBpZg0KPiBpdA0KPiA+PiBzb21laG93IHJlY292ZXJ5LCBpdCBj YW4gY29udGludWUgb24uIFRob3VnaCB0aGF0J3MgdXN1YWxseSB0aGUNCj4gPj4gZXhjZXB0aW9u Lg0KPiA+DQo+ID4gQ2FuIHlvdSBnaXZlIGFuIGV4YW1wbGUgZm9yIHRoaXMgaW4gZmZtcGVnIHdo ZXJlIENVREEgcmV0dXJucyBhbg0KPiA+IGVycm9yIGFuZCBmZm1wZWcgY29udGludWVzPw0KPiAN Cj4gQWxtb3N0IGFsbCB0aGUgZmlsdGVycyB3aWxsIGNvbnRpbnVlIHdoZW4gb25lIGZpbHRlcmlu ZyBzdGVwIGZhaWxzLg0KDQpXaGVuIGxvb2tpbmcgYXQgdmZfc2NhbGVfY3VkYSwgYWxsIGNhbGxz IGFyZSBjaGVja2VkIGFuZCByZXR1cm4NCkFWRVJST1JfRVhURVJOQUwgYmFjayBpbiBjYXNlIG9m IGVycm9yLiBXaGVyZSBpcyB0aGUgIm9uZSBlcnJvcg0KaXMgZm9yZ2l2ZW4iIGhhbmRsaW5nPw0K DQoNCj4gPiBBdCB0aGUgdGltZSB3aGVuIEkgaGFkIHN1Ym1pdHRlZCB0aGUgcGF0Y2gsIEkgaGFk IHJlcGxpZWQgdGhpcyB0bw0KPiBKYW1lcw0KPiA+IGFmdGVyIGhlIGhhZCBhcmd1ZWQgdGhhdCB0 aGUgYmVoYXZpb3Igd291bGQgYmUgY29ycmVjdCBhcyBpcyBhbmQNCj4gPiBhIHVzZXIgd2hvIHdv dWxkIHdhbnQgZmZtcGVnIHRvIGV4aXQgaW4gc3VjaCBjYXNlLCBtdXN0IHNwZWNpZnkNCj4gPiB0 aGUgLXhlcnJvciBwYXJhbWV0ZXIuDQo+ID4NCj4gPg0KPiA+IHNvZnR3b3JrejoNCj4gPj4gV2hl biB0aGVyZSdzIGFuIGVycm9yIGluIGEgZmlsdGVyID0+IGZmbXBlZyBleGl0cw0KPiA+PiBXaGVu IHRoZXJlJ3MgYW4gZXJyb3IgaW4gYW4gZW5jb2RlciA9PiBmZm1wZWcgZXhpdHMNCj4gPj4gV2hl biB0aGVyZSdzIGFuIGVycm9yIGluaXRpYWxpemluZyBhIGRlY29kZXIgb3IgYW4gZW5jb2Rlcg0K PiA+PiA9PiBmZm1wZWcgZXhpdHMNCj4gPj4NCj4gPj4gU28gd2h5IHNob3VsZG4ndCBmZm1wZWcg ZXhpdCB3aGVuIHRoZXJlJ3MgYW4gdW5yZWNvdmVyYWJsZSBlcnJvcg0KPiA+PiBpbiBhIGRlY29k ZXI/DQo+ID4NCj4gPg0KPiA+IEFGQUlSLCBpbiBjYXNlIG9mIGZpbHRlcmluZyBhbmQgZW5jb2Rp bmcsIGFueSAibm9ybWFsIiBDVURBDQo+ID4gZXJyb3IgaXMgYWxyZWFkeSBzdWZmaWNpZW50IHRv IGNhdXNlIGZmbXBlZyB0byBleGl0Lg0KPiA+DQo+ID4NCj4gPj4gSW4gYW55IGNhc2UsIHRoaXMg ZnVuY3Rpb24gZG9lcyBub3Qgc2VlbSB0aGUgcmlnaHQgcGxhY2UgdG8gbWFwIGFuDQo+ID4+IGFy Yml0cmFyeSByZXR1cm4gY29kZSB0byBzdWNoIGEgcmVzdWx0Lg0KPiA+DQo+ID4gVGhhdCBkZXBl bmRzIG9uIHdoZXRoZXIgeW91IGNvbnNpZGVyIENVREFfRVJST1JfVU5LTk9XTiBhcw0KPiA+IGdl bmVyYWxseSB1bnJlY292ZXJhYmxlLiBXaGVuIHlvdSBkbyAtIGxpa2UgSSBkaWQgLSB0aGVuDQo+ ID4gaXQncyB0aGUgcmlnaHQgcGxhY2UgSU1PLg0KPiA+DQo+ID4gSWYgeW91IGRvdWJ0IGl0LCB0 aGVuIHllcyAtIGl0IHdvdWxkbid0IGJlIHRoZSByaWdodCBwbGFjZS4NCj4gDQo+IFdoeSBpcyB0 aGUgZnVuY3Rpb24gbm90IHVuY29uZGl0aW9uYWxseSByZXR1cm5pbmcgYW4gdW5yZWNvdmVyYWJs ZQ0KPiBlcnJvcg0KPiB0aGVuPw0KPiBMaWtlLCA5MCUgb2YgY3VycmVudCBlcnJvciByZXR1cm5z LCBpbmRlcGVuZGVudCBvZiBDVURBLCBpbg0KPiBmaWx0ZXJzL2NvZGVjcyBjYW4gYmUgY29uc2lk ZXJlZCBVTlJFQ09WRVJBQkxFIHRoZW4uIA0KDQpXaHkgInRoZW4iPyBJJ20gb25seSBjb25zaWRl cmluZyBDVURBX0VSUk9SX1VOS05PV04gYXMgdW5yZWNvdmVyYWJsZQ0KSSBoYXZlIG5vIGtub3ds ZWRnZSBhYm91dCB0aGUgb3RoZXIgZXJyb3JzLiBUaGF0J3Mgd2h5IEkgDQp3b3VsZCBtYWtlIHRo ZSBjaGFuZ2Ugb25seSBhZmZlY3QgQ1VEQV9FUlJPUl9VTktOT1dOLg0KDQoNCj4gV2hpY2ggZG9l cyBtYWtlDQo+IHNlbnNlIHRoYXQgeW91IHdhbnQgdGhlbSB0byBhYm91dC4NCj4gQnV0IHlvdSBp biB0dXJuIGdpdmUgdXAgdGhlIGluZm9ybWF0aW9uYWwgY2hhcmFjdGVyIG9mIGVycm9yIGNvZGVz Lg0KDQpUaGF0J3Mgd2h5IEkgd291bGRuJ3QgdG8gdGhhdC4NCg0KPiBNYWtlcyBtZSB0aGluayB0 aGlzIHNob3VsZCBiZSBzb21lIGtpbmQgb2YgYWRkaXRpb25hbCBmbGFnIGluc3RlYWQuDQoNCkFu ZCB1cGRhdGUgYWxsIHRoZSBodW5kcmVkcyBvZiB1c2FnZXM/DQoNCkkgaGF2ZSBubyBiaWFzIGlu IHRoaXMgcmVnYXJkIChJIGNhbiBlYXNpbHkgc2F5IHRoYXQgYmVjYXVzZSBKYW1lcw0KaGFzIHN1 Ym1pdHRlZCA6LSkNCg0KQmVzdCB3aXNoZXMsDQpzb2Z0d29ya3oNCg0KX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZmZtcGVnLWRldmVsIG1haWxpbmcgbGlz dApmZm1wZWctZGV2ZWxAZmZtcGVnLm9yZwpodHRwczovL2ZmbXBlZy5vcmcvbWFpbG1hbi9saXN0 aW5mby9mZm1wZWctZGV2ZWwKClRvIHVuc3Vic2NyaWJlLCB2aXNpdCBsaW5rIGFib3ZlLCBvciBl bWFpbApmZm1wZWctZGV2ZWwtcmVxdWVzdEBmZm1wZWcub3JnIHdpdGggc3ViamVjdCAidW5zdWJz Y3JpYmUiLgo=