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 E8E4B42E12 for ; Mon, 9 May 2022 10:59:57 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 8C6B268B3BD; Mon, 9 May 2022 13:59:55 +0300 (EEST) Received: from NAM11-BN8-obe.outbound.protection.outlook.com (mail-bn8nam11olkn2032.outbound.protection.outlook.com [40.92.20.32]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 4FD4468A8CD for ; Mon, 9 May 2022 13:59:49 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=hEvcBg5aZUYFa+7t6Ntqfyzp0SPaSbvtc2s92DZGhMjFiC+0fMnQ5ZmlZwuv5lPBZVKpYJZYutaZiqnS0OdI2qeN3MKrV2NLdXYhXgXZq5+HYL+5AYqZe8maDwxh6bjFs1gydWOUUmVf75ylNFsY2zVXeov742jHNNmaS2laGwAXca1KVixP9BEZSOnu/j5P8fD+jJwHxM4fPnc7ZLabNM4vi9YhTsR2CxRpM+I/1gewEpvd+ieMf1/WTZOCWFJEywmTFzjFk7p5r+GB/XgImynkvTxib3CnHTvIDcOPD1n71Ff4dS7j9nnwI/o0PF4YAqe3Pa0yj9g0a+LzIjlhQw== 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=/vT/p+MaOQScWe2UhkKhU/cbrvrInoKRX5l/xUM8pcI=; b=Kllw7XC2Z9yCfIolY5e/g0oCfE9za1g9fy3ZeXn6I7mxxTADLEp4x4Q4B9aC7Df8Cuii/YKy3KNgm8c8Rp7DI7n12/8klR1eFjaAa1T3kchYdJa9WdxBm5H6DN2ZY+a3zTIrgOqpqhMLcfUUDm3DIhRsMXORw89sVX3zBnvQB6KDi8Fim4BJDAlFRMMc2Cu5Yb6DRFyDwgOw+uLlGG5eHngLaZ7O1uVAUi8bv1oggGhH8mPAkAvkIdPHTQ3BSmv/MJmL+aXsjrWxAj7m9kqsLVOC3JtIINO89AAPZ9KOQ1oylvhXuyvsVba7wuatTaThe5VHmR0FNUUoX3TWbdcCHg== 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=/vT/p+MaOQScWe2UhkKhU/cbrvrInoKRX5l/xUM8pcI=; b=CnbVNFHy4OB/IaODmR1uQwi7U9+6WmmNcZrwJu7F2dntmOUfiKHmTluw0Gohb5FD0OCki93b/uHKch11TrcoqRrVmzMU7Wc2hJ0GofMfjLAs0cQMQq9CqT/caNw9vi2NEYGS7yY7F1/3htYYO1CATVZoNgOPz0DYxmMGNleVYM3HQ3aBtEvesBCI+El/Sd9Q1pizdm0/Tqlm/bUqFBFBxeL0WLU/SyPaokva8hfSLId9KduvBj4SgYij7zcR51pnPswmnhws6KnrHLLOwktS2Pd4bpfPv8S1Mxg19Xggqkp2OKioxzLI45LUDDcAkhlK/39yElZYY/96xt/StgkJmw== Received: from DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM (2603:10b6:8:b::20) by MN0P223MB0439.NAMP223.PROD.OUTLOOK.COM (2603:10b6:208:3c9::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5227.21; Mon, 9 May 2022 10:59:46 +0000 Received: from DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM ([fe80::7472:6f83:eeb:45e3]) by DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM ([fe80::7472:6f83:eeb:45e3%9]) with mapi id 15.20.5227.023; Mon, 9 May 2022 10:59:46 +0000 From: Soft Works To: FFmpeg development discussions and patches Thread-Topic: [FFmpeg-devel] av_fopen_utf8 and cross-DLL CRT object sharing issue on Windows Thread-Index: AQHYVLToR1KJUGuNukO2WH1LPKjFMK0S36QQgAKj0oCAAER+IIAAnwqAgAAHOQA= Date: Mon, 9 May 2022 10:59:46 +0000 Message-ID: References: <3174427a-8eb7-b2c-eca4-242d8c9d32c@martin.st> <13ecb0d2-c07e-9245-8bcf-af263beb597@martin.st> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-tmn: [3Rx5a9XTAjK4w97KvIiCjNJfnGShuMpf] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: aeeb1d98-220a-47f9-8f8c-08da31ab07f0 x-ms-traffictypediagnostic: MN0P223MB0439:EE_ x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 8wnd8FjgAi0MYbFZrFH5uliydvTOOsDXwj4k+x6CNGWYbsJaU4XvDQ9rZHJKYe3rxtMFr2AtQ5IBITM+5G1r0iuVV6ZbrBMDHdfu+gcVwUsRAtNCbEWKDwJIX3t+q7mTFGFWM07xqqHShmDxRRokEKhZkEv7j3VzWnruRTEqqLih2sfczx/i7YRxNxB02mYV4///4jS4Ov2kWDNZx4mieNVxQanAQF5LNuD4eY7O4ivFI5aryZt+YWadxrIMHS6Cxjt2RI6sCMcE1J7vi4MDZr6DpDCv1p9+xeBW0DuOvPIPa22rWLvl3FTASGae3jk2Z44Q8GGE808tGc0VBrw0As0nh4z+Z2kVa/n2M6SHZmb8owlACqf4QzEGkKCE72dS46F2ydx3QSQqzp+FMTBymgkMRKCSJD5Uau7L0PRR+I5xuIBSe4OMvgrXaqwFay2dUVZ1QIWq2EKd+8SLeXnViu4NdvXbxHJuuD8iV7DdvX3dsDYsOPRRPmY+hZIjkBN6YJQOlQ67fdyq2Hud9fVBEJSvI4t7FubzyRsjaZjHjnY/XE1nPizh/5yrMze5XEgp602eyDjBdzwuK9QOFTkJICtubMEjtT4WPeEQT+w/lDUmLQgk07Myhj3f5KC00eBy5D2JFCaIokjxC8uWAhcOrA== x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?SnBSRW5tZHRQTllBZXNlUm9UdWhuc2d5cUZSTDduaFE2cThLRnZ5dEFKNUpo?= =?utf-8?B?SE9mUU9MbWdvUmttanBTT0ZPZndGaW41VlVUZGdSclNrL2xyQVZlL2JkWXJC?= =?utf-8?B?b21HSGsvMmh4QTZXMDBzSHN1QlpiQ2Vib2tBbFozSkliNmc5bjBvcDMrdXE0?= =?utf-8?B?K1BSOE8rUmZZV0FsZmF1T2IzTGt5UlFseDlybVUvcS9lU0dmTEtadm5JbjFy?= =?utf-8?B?MlFpYVFTR1MxZUkvTTNoQkJMR29kM2V5M0p4NnpjeUxYNmVvZFVmb0txNjli?= =?utf-8?B?Wld6cksvOGxMWmxLSUNnRnE1QWRlS1JsWHRacDJOMkNkM0VtQ1VpVitzYk40?= =?utf-8?B?alJGaTd5d2Jzc1BQV3Y5a3hta3QvR3ZhbmNQYmNUZWh5YUN1bXJvWnU4Smov?= =?utf-8?B?cW1vQXA1b1dHcXhKWUNpZS9WM3lCWG92QTRLV3pNWnJLYUJpMnYvSGM5cEx0?= =?utf-8?B?U0t4MkxsK1lKRTR5UkxBOGN1Q2dxci9xaTNQTWErb1NyR2tOclpURjg4Mi9u?= =?utf-8?B?eUIwMTNXb0VnMUNzdExnKzk4a3NVOW9TdVQ4ZjB2M0ZUUng1ZUhsaVZEVWFW?= =?utf-8?B?TGlYdHUvMzBGK0VFMHpVZDVmaVZnQllVa1l1ZWUrWm55SERnZ3ppa0MybjN5?= =?utf-8?B?Y1lBTlFhUjNYQnYxdjVZZWJwbDR4M0Z1aXhGNHA2cE0yREpKK1pMYjl6MjRD?= =?utf-8?B?MXp5UVdaTFQ0TDlJaVRWUW9RZ2NhWlpuaEhoSXAyV2orT2FrR09mMy9yLzNs?= =?utf-8?B?UjNxcTIvY2ZTeTFXbVpEbHJpRTVsSDVZRDE1M0hMK1kzVGE2MVR0NTNwRUpy?= =?utf-8?B?TXZlb0hCQWw4dEd5dVFTanJDVG5EenBnSmpaMTVXOEhrZFRPM0lVU3lqcnhO?= =?utf-8?B?WWx4VzRpS25JNnkxcVBMZFgvOURSdkRwRmlvNE1sK2F3M2RDWjhyOUNXSXFF?= =?utf-8?B?RFp0NldIbzdLREpYN1BPU2V2ZytwQ0RQWWxxWUt1WC9PeGl5YmE4RU12dnlY?= =?utf-8?B?dXhLVVZFZEhHZWpiVkplRUlBeHBHY3hxTEZURm9mdEpHdGlvUmNvbWphbFpM?= =?utf-8?B?NjQzaUJOK2NQOUJWWERFT3I3QlFZc0xoR2Yxd1V1QUI1b0NRak5LNEszODRC?= =?utf-8?B?RUVDVzhXRndrbm1QY1BnS1FTRzk3OS9kQkFHbE1EZk9nZ1RGbGQ3eHhiUXNV?= =?utf-8?B?akZ5cUxTeUsyY2Npc1pCUDRvRmtyK0xhazM0eVU3czRnd0pxMUZBRnpwQVNI?= =?utf-8?B?Mjg1VW9ZSmYxWWtrT3d0aHFMejJucU9jVmVqaW4wVjkwUXhsbWQyQTVhTHdH?= =?utf-8?B?MHFYeWRpOUlGMEZWWUJIVDhhdDhDUnZVM3BxY2FreUUxNXJjMUVJMEtvMm9F?= =?utf-8?B?YXVQTUpHajBOSXVaN0JNZXFoczc2L3BBR1B0Uk9vMzFHYWx6b1hsbG9qTHlZ?= =?utf-8?B?UlRIb0hRV3cxN3RVUHY0U1BMck56ajZIWE5xM0V2TnAxRTVWT3FpUlBMaEd4?= =?utf-8?B?dkYxaEo5SnJaMFRFK09PRFMyd3pIK3ZzNXBPZVd1d1AzR0w3Q2ZxZk5UOXVD?= =?utf-8?B?aitYS0tyQXJBd29ySUVrN2hReC9DdGN3bDhtaStTUnhESWExMVhoR3cvNFV6?= =?utf-8?B?ZnUxMlJCU1QxeXVnU0V5UUF6TU45SUx6bjhUZkNzZldwNnhGWDVKTG1hQkNV?= =?utf-8?B?L21hR3VNYW1RQWdGRHQvN3BZNkMwbmdrNGJkd0kyek1VQ3lNQ21SQ0Y4K1p5?= =?utf-8?B?VXNsNUhxRHU4aWswZHlxOEhpN2hRRU5BWS9oQUc0enduWm91Nk82WmhmQzRE?= =?utf-8?B?YVI4UzlBbURoWlp0YVpBdFJIb2UzS2RwTDk3T01DdHBDdWVQZ0diWnlMMXJP?= =?utf-8?B?MUttbURDRWFPU25jTnpxSHhWSzA4N2FUeThYRlhZOFhlOWgyS2tkTEw0R09F?= =?utf-8?Q?hNSDFHp5BTE=3D?= 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: aeeb1d98-220a-47f9-8f8c-08da31ab07f0 X-MS-Exchange-CrossTenant-originalarrivaltime: 09 May 2022 10:59:46.8096 (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: MN0P223MB0439 Subject: Re: [FFmpeg-devel] av_fopen_utf8 and cross-DLL CRT object sharing issue on Windows 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 Zm1wZWctZGV2ZWwtYm91bmNlc0BmZm1wZWcub3JnPiBPbiBCZWhhbGYgT2YNCj4gTWFydGluIFN0 b3JzasO2DQo+IFNlbnQ6IE1vbmRheSwgTWF5IDksIDIwMjIgMTE6MzYgQU0NCj4gVG86IEZGbXBl ZyBkZXZlbG9wbWVudCBkaXNjdXNzaW9ucyBhbmQgcGF0Y2hlcyA8ZmZtcGVnLQ0KPiBkZXZlbEBm Zm1wZWcub3JnPg0KPiBTdWJqZWN0OiBSZTogW0ZGbXBlZy1kZXZlbF0gYXZfZm9wZW5fdXRmOCBh bmQgY3Jvc3MtRExMIENSVCBvYmplY3QNCj4gc2hhcmluZyBpc3N1ZSBvbiBXaW5kb3dzDQo+IA0K PiBPbiBNb24sIDkgTWF5IDIwMjIsIFNvZnQgV29ya3Mgd3JvdGU6DQo+IA0KPiA+PiAtLS0tLU9y aWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+PiBGcm9tOiBmZm1wZWctZGV2ZWwgPGZmbXBlZy1kZXZl bC1ib3VuY2VzQGZmbXBlZy5vcmc+IE9uIEJlaGFsZiBPZg0KPiA+PiBNYXJ0aW4gU3RvcnNqw7YN Cj4gPj4gU2VudDogU3VuZGF5LCBNYXkgOCwgMjAyMiAxMDowMiBQTQ0KPiA+PiBUbzogRkZtcGVn IGRldmVsb3BtZW50IGRpc2N1c3Npb25zIGFuZCBwYXRjaGVzIDxmZm1wZWctDQo+ID4+IGRldmVs QGZmbXBlZy5vcmc+DQo+ID4+IFN1YmplY3Q6IFJlOiBbRkZtcGVnLWRldmVsXSBhdl9mb3Blbl91 dGY4IGFuZCBjcm9zcy1ETEwgQ1JUIG9iamVjdA0KPiA+PiBzaGFyaW5nIGlzc3VlIG9uIFdpbmRv d3MNCj4gPj4NCj4gPj4gT24gU2F0LCA3IE1heSAyMDIyLCBTb2Z0IFdvcmtzIHdyb3RlOg0KPiA+ Pg0KPiA+Pj4+IFRoaXMgbWVhbnMgdGhhdCBDUlQgb2JqZWN0cyAoZmlsZSBkZXNjcmlwdG9ycyBm cm9tIG9wZW4oKSwgRklMRSoNCj4gPj4+PiBvcGVuZWQNCj4gPj4+PiB3aXRoIGZvcGVuL2Zkb3Bl bikgbXVzdG4ndCBiZSBzaGFyZWQgYWNyb3NzIERMTHM7IHN1Y2ggYW4gb2JqZWN0DQo+ID4+IG11 c3QNCj4gPj4+PiBiZQ0KPiA+Pj4+IG9wZW5lZCwgYWNjZXNzZWQgYW5kIGNsb3NlZCB3aXRoaW4g dGhlIHNhbWUgRExMLg0KPiA+Pj4NCj4gPj4+IFRoaXMgb25seSBoYXBwZW5zIHdoZW4geW91IGV4 cGxpY2l0bHkgbW9kaWZ5IHRoZSBidWlsZA0KPiBjb25maWd1cmF0aW9uDQo+ID4+PiB0byBzdGF0 aWNhbGx5IGxpbmsgdG8gdGhlIENSVC4NCj4gPj4NCj4gPj4gTm8sIHRoaXMgaXMgbm90IGEgY3Vz dG9tIGJ1aWxkIGNvbmZpZ3VyYXRpb24uIFRoaXMgaXMgdGhlIGJ1aWxkDQo+ID4+IGNvbmZpZ3Vy YXRpb24geW91IGdldCBpZiB5b3UgY29uZmlndXJlIHdpdGggImNvbmZpZ3VyZSAtLWVuYWJsZS0N Cj4gc2hhcmVkDQo+ID4+IC0tdG9vbGNoYWluPW1zdmMiLg0KPiA+DQo+ID4gT2ssIHRoZW4gdGhp cyBpcyB3aGF0IG5lZWRzIHRvIGJlIGZpeGVkLiBXaGVuIHlvdSBjb25maWd1cmUgZm9yDQo+ICJz aGFyZWQiLA0KPiA+IHRoZSBleGUgYW5kIGRsbCBiaW5hcmllcyBuZWVkIHRvIGJlIGFsbCBjb21w aWxlZCB3aXRoIC9NRC4NCj4gDQo+IEkgZGlzYWdyZWUuIEJvdGggKHN0YXRpY2FsbHkgbGlua2Vk IG9yIGR5bmFtaWNhbGx5IGxpbmtlZCBDUlQpIGFyZQ0KPiBlbnRpcmVseSB2YWxpZCBjb25maWd1 cmF0aW9ucywgYW5kIGZmbXBlZyB3b3JrcyBmaW5lIChleGNlcHQgZm9yIHRoaXMNCj4gcGFydGlj dWxhciwgc28gZmFyIG1hcmdpbmFsbHkgdXNlZCwgZnVuY3Rpb24pIGluIGJvdGggdGhvc2UgYnVp bGQNCj4gY29uZmlndXJhdGlvbnMuDQoNCkkgZG9uJ3QgbWVhbiB0byBjaGFuZ2UgdGhpcyBhcyBh IG1lYXN1cmUgZm9yIGRlYWxpbmcgd2l0aCB0aGlzIGlzc3VlIA0KYW5kIGNvbnNpZGVyaW5nIGl0 IGZpeGVkIGJ5IHRoYXQuIE1peGVkIENSVCB1c2FnZSBpcyBub3QgcmVhbGx5IHRoZQ0KdHlwaWNh bCBhbmQgZGVmaW5pdGVseSBub3QgdGhlIHJlY29tbWVuZGVkIHdheSB0byBidWlsZCBhIGJ1bmNo IG9mIA0KYXBwbGljYXRpb25zIGFsb25nc2lkZSBhIGJ1bmNoIG9mIGR5bmFtaWMgbGlicmFyaWVz Lg0KVGhhdCdzIHdoeSBJIHRoaW5rIHRoYXQgdGhpcyBtaWdodCBiZSBzb21ldGhpbmcgdG8gY29u c2lkZXIgY2hhbmdpbmcuDQoNCkJlc2lkZXMgdGhhdCwgaGF2aW5nIG1peGVkIHJ1bnRpbWVzIGFu ZCBpbiBnZW5lcmFsIG11bHRpcGxlIHZlcnNpb25zDQpvZiBkeW5hbWljIGxpYnJhcmllcyBsb2Fk ZWQgaW4gdGhlIHNhbWUgcHJvY2VzcyBpcyBub3Qgb25seSBwZXJmZWN0bHkNCnZhbGlkLCBpdCdz IGFsc28gb25lIG9mIHRoZSBrZXkgcmVhc29ucyBmb3IgdGhlIHVucGFyYWxsZWxlZCBiYWNrd2Fy ZHMNCmNvbXBhdGliaWxpdHkgdGhhdCBXaW5kb3dzIHByb3ZpZGVzIGluIGNvbnRyYXN0IHRvIFVu aXggYmFzZWQgc3lzdGVtcy4NCih3aGF0IEkgbWVhbiBpcyB0aGF0IGEgZGxsIG9yIGFwcGxpY2F0 aW9uIHRoYXQgd2FzIGNvbXBpbGVkIDIwIHllYXJzDQphZ28gY2FuIHN0aWxsIHJ1biBvciBpbiBj YXNlIG9mIGEgZGxsIGJlIGxvYWRlZCBieSBhIGN1cnJlbnQgYXBwbGljYXRpb24pLg0KDQoNCj4g Pj4gQWxzbywgYW5vdGhlciBmYWlybHkgY29tbW9uIHNpdHVhdGlvbiB3aGVyZSB0aGUgImRpZmZl cmVudCBDUlRzIg0KPiA+PiBzY2VuYXJpbw0KPiA+PiBoYXBwZW5zIGlmIHlvdSdkIGUuZy4gYnVp bGQgdGhlIGZmbXBlZyBsaWJyYXJpZXMgYXMgRExMcyB3aXRoDQo+IG1pbmd3LA0KPiA+PiBidXQN Cj4gPj4gdGhlbiBsaW5rIGFnYWluc3QgdGhvc2UgRExMcyB3aXRoIGEgdXNlciBhcHBsaWNhdGlv biBidWlsdCB3aXRoDQo+IE1TVkMuDQo+ID4NCj4gPiBBRkFJSywgaXQgaXMgcG9zc2libGUgdG8g Y3JlYXRlIERMTHMgd2l0aCBtaW5ndy9NU1lTMiBpbiBhIHdheSB0aGF0DQo+ID4gdGhlc2UgY2Fu IGxpbmsgdG8gYSBzcGVjaWZpYyB2ZXJzaW9uIG9mIHRoZSBNUyBDUlQsIGJ1dCB0aGF0J3MganVz dA0KPiA+IGEgc2lkZSBub3RlLg0KPiANCj4gWWVzLCB0aGF0J3MgdHJ1ZS4gKEFzIGEgc2lkZSBu b3RlIHRvIHRoaXMgc2lkZSBub3RlLCBJJ20gdGhlIG9uZSB3aG8NCj4gYWRkZWQNCj4gc3VwcG9y dCBmb3IgVUNSVCBpbiBtaW5ndy13NjQgaW4gdGhlIGZpcnN0IHBsYWNlLCBzbyBJIGRvIGtub3cg YSB0aGluZw0KPiBvcg0KPiB0d28gYWJvdXQgdGhhdC4pDQoNCkNvb2wgOi0pDQoNCg0KPiBCdXQg aW4gc2hvcnQsIHllcyBpdCdzIHBvc3NpYmxlIHRvIHNwZW5kIGVmZm9ydCBhdCBtYWtpbmcgdGhl bSB1c2UgdGhlDQo+IHNhbWUgc2hhcmVkIENSVCwgYnV0IGl0J3MgYWxzbyBmYWlybHkgY29tbW9u IHRvIHVzZSBkaWZmZXJlbnQgQ1JUcy4NCg0KWWVzLCB3aGVuIHlvdSdyZSBtaXhpbmcgc3R1ZmYg ZnJvbSBkaWZmZXJlbnQgc291cmNlcywgb3IganVzdCB0byBuYW1lDQpvbmUgZXhhbXBsZTogc29t ZXRoaW5nIGxpa2UgcGx1Z2lucy4NCkJ1dCB3aGVuIHlvdSBidWlsZCBhbiBhcHBsaWNhdGlvbiBh bG9uZ3NpZGUgYSBzZXQgb2YgbGlicmFyaWVzIC0gdGhhdA0KaXMgc3RpbGwgYSBiaXQgdW51c3Vh bCwgaXNuJ3QgaXQuLg0KDQpJIGRvbid0IGFjdHVhbGx5IGNhcmUgYXMgSSdtIHVzaW5nIHRoZSBT TVAgcHJvamVjdCBnZW5lcmF0b3IsIGl0IGp1c3QNCmRvZXNuJ3Qgc2VlbSB0byBiZSBhIGdvb2Qg ZGVmYXVsdCBJTU8uDQoNCktpbmQgcmVnYXJkcywNCnNvZnR3b3Jreg0KDQoNCl9fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmZmbXBlZy1kZXZlbCBtYWlsaW5n IGxpc3QKZmZtcGVnLWRldmVsQGZmbXBlZy5vcmcKaHR0cHM6Ly9mZm1wZWcub3JnL21haWxtYW4v bGlzdGluZm8vZmZtcGVnLWRldmVsCgpUbyB1bnN1YnNjcmliZSwgdmlzaXQgbGluayBhYm92ZSwg b3IgZW1haWwKZmZtcGVnLWRldmVsLXJlcXVlc3RAZmZtcGVnLm9yZyB3aXRoIHN1YmplY3QgInVu c3Vic2NyaWJlIi4K