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 CBF5140D47 for ; Sat, 24 Feb 2024 15:17:04 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id D0E8168C64C; Sat, 24 Feb 2024 17:17:01 +0200 (EET) Received: from EUR03-DBA-obe.outbound.protection.outlook.com (mail-dbaeur03olkn2063.outbound.protection.outlook.com [40.92.58.63]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 4F7A368BA42 for ; Sat, 24 Feb 2024 17:16:55 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=X58qA1h2Acwyac5waF1AW56ZzRDobsDYJ+BjNAQP4f1/AhJ1PUMCkIoAI9gpExqs7ymonmrnWqIgDOfPJ38hkUKzLZ1ntPTHgn6C8BgZOtgmB2G7HbQeSz9LmD2f+tjF7F1F9v+xW5iUZlrDzYLLB2iEAPoambA4vgjltMTlmpu8bitpBZnmSIjLo1Q9VoaumPDXeLQoJa/DywdEoiiIm7cjiu5frzYAHltmNZjU1ESlcsdy6w8JZTuNIPYed7r0jI/6iJKAwHvgtnfd4gBAMh2giVsUsMFAl3SS10bxnIDPMHnW7tFxKxwiW5dj5ZNNA8snHgRyXGQnDBx+eROLXw== 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=XtaRsaVUUEmpNHvXMkjP6ye0ysTBKK0w8d9cFmzUqaI=; b=N3AJnTuXj3S1Y0t26e3C0OIP+CYiKMNVQUnY0bV3vjEC+EEkQg1HuemSpkJab8tdpZIfrMQCtY5FqK38OuwLEA+0gmDpJUufIh41C5JmkSBu4LP/awKE+upA5GC+14wYWwCzvVml15kdVQGtEEr0UvZEhRHbXTayD+p4qfkG16zM6h8LY/3FqEfUgR2lBeM/bDqNT94G0e3Aus1K81P6sZ0OLVeXOnWuHajXOE1EWiUgzjVV64qTqbFBdkUW7I12Rv5Hw5kJeGTjHJ0jA87rGUe4pLz4pDcK8L5InjbSq3Mhu5JKi5WM+DGhQbpcbpoWGYeit7FedEf4EXfu7f64sw== 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=XtaRsaVUUEmpNHvXMkjP6ye0ysTBKK0w8d9cFmzUqaI=; b=RaZAZpW3DoyfQnfukbAR+L6J64LodCI1D0ZcW5s5zQuta8k5mcyp10uphQuQvYkJ24GFPXuyqQqJFBvkoqkOkPcPlWuCtgyJDVZH5n9Saeeogu61GsTTtU5TkKgj9a75b4NJAeHRDG8ofEuQhgtyhd/Si3bd3VUt8dOAlx5b1YOoOd1TJJqWlPZ5UMYUkLjrbFWoeXDZvvjD+01ou+fNsWHl9N7bH8IjhfJIpIa/MqW8L7iBWXugv7kfZlcj5z6MpwgdPVZOD3UFH922ZFp70zC+mAYHQmFmQlFjFYfR3GU0UTnE7gxQxbaqQHY3RkdcJQb/lKXgY+bUaNauyJcP2A== Received: from AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) by DU2P250MB0128.EURP250.PROD.OUTLOOK.COM (2603:10a6:10:271::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7316.27; Sat, 24 Feb 2024 14:44:10 +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; Sat, 24 Feb 2024 14:44:10 +0000 Message-ID: Date: Sat, 24 Feb 2024 15:46:08 +0100 User-Agent: Mozilla Thunderbird Content-Language: en-US To: ffmpeg-devel@ffmpeg.org References: From: Andreas Rheinhardt In-Reply-To: X-TMN: [iqvYKlUU9ew/CNaHyfRaMqvQJw0YiufUNY7PSxwK8qk=] X-ClientProxiedBy: ZR0P278CA0097.CHEP278.PROD.OUTLOOK.COM (2603:10a6:910:23::12) To AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) X-Microsoft-Original-Message-ID: <455aab43-51fb-4ceb-a36d-b23291eab6d6@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AS8P250MB0744:EE_|DU2P250MB0128:EE_ X-MS-Office365-Filtering-Correlation-Id: d0f8383e-c67a-495a-49d9-08dc35470fc8 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 0Al/7n7WKHUrif2nTXPsnxKv7UhyjjBB5evs0yfOwwURXLo4ZCQZxzM5HnJYw4L9UTo8YPIeEhMWzf7je5N90zIZvP36bzAcHWeGagN19aqJY9aWobUfrThzDBinBtN0mLfNOAXiwgUxuNroTf7wV3twC3KSf+rGwZNylFyNj1sTz1Sq2pt4/4Fav1XMOjMiWJi0tISVUg2FcOcuW/FqFhU8oy/uL+IX8kApu84W0Pjr6WPXYoq5l46KVZzRB4AfQ8B/BH/UkYtSaTJ1Au7Mjy9dcridQp/2nurL02RRHMMqDgtLRxGtd+0dwxIVXfgJtzBs3uEhTVv9ZklgJo+xm8/dKMI7F6vmKdYb6TtGNSUjxCORlikgXuFluREeJM9ymi6xtz8JOXF3Uir2MgHhotOxUvwkFjYsGyHyUxicrSniMu/3bcoUEA+tSF5sImmztl6eK0Yc8ud9sqV4FEVO90mP/IKP/dJbE3sYOUTHD0g0aZzpKqn+CrsrFXHnYH0x9r9jG/kdWgv2ZeYcjJJgKRb/5NxE8Dn2ean2nQLMfDUIyrdvVZ4E7DWPAB8PTBFb X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?SzdKYzRnN1VVQzlZcFUxV1loc1RPVzhvODVBaXRLT05SdTEyeXhsMFkzVUxE?= =?utf-8?B?ejJFU2oxSDRwUXdMUVE5TXNIQzdnMS9xaDJmVlQrRStlMXJOMHE4OFB4amF6?= =?utf-8?B?Vk9TcjAxUzNHS1RPYWhvcmErakJuRGxzWDFpZVVhdUtnMVkvak1pYVVLdEpV?= =?utf-8?B?QllRb0IwTDR1MmFmWU1tMVpMOTQ4RXY2c2xvZGRESDFLcVVHZk55SlAvZmFV?= =?utf-8?B?NXJVdm9vdndEQXo1d2pPWGcyT1V6bDcvS1gyZVRRNnp4VnZUYlVnbFJEU2w3?= =?utf-8?B?WGFxWS9EeUdLN1A5YVdVTldUcGRpaUpCck9JenV5eC9NWnBXYW9CVXBzcFI0?= =?utf-8?B?YlFmREJpTGt6VW56YWpOcFR3VnhKSTFIdCtPNUQ0bG5MSlNWRDFtclVwZm1y?= =?utf-8?B?aE0yL2dpRExZNFU1b2V6TjRpOEUyaC82aktNMi9RalpNV2VGejZ3TG5NZ3hN?= =?utf-8?B?MW1aVkRRQlhCb2pSMTlqL2oxNmZwamVXQjI2NEh4Q0hTNWpaRElVRE1yWTkz?= =?utf-8?B?MWtYdGhzWGFGQUovWms3T29RcDZuWjFVajlaM2ltcVAyTGljemZFcTY1cTRN?= =?utf-8?B?NFZPY212eE84TFpheG9ETGcrT21WSHhBOVAzbnZ6RDczQUFUVEZ5c2Mybzcz?= =?utf-8?B?T3ZHN1RWNHFlVnhVYW81OVBOODdSZkRudzBtWW1WYjMwTElGcWFyYjk0TzFQ?= =?utf-8?B?NENqdXR3dEg5ZTBTbVBxaGNBQ21mNW1hWFNLT0phQ05IREZLSW42YlBoNEpD?= =?utf-8?B?WmlkWGkwZ2NLWGRTdXB1VytuSnhsT3N5OVJvYTBBMHd0QmNIcmNXTDhtTWNY?= =?utf-8?B?L2ZkendseE56MjMvTjZIRXN6WEhSMEg5WExTS0drcWlyNkphYm5vcnlONDBt?= =?utf-8?B?ejhpRkFzT3ZqckxTcWVHSmtLN1dCOWQ0SzBsYVJRd2ZPMFFSeXQydmJ6K2NN?= =?utf-8?B?U3Q1SzBYZUE4cTFLMU5wQm9oRzJXU2V3UUtuQkFiZ0Q0ZkZwWnQzNVZaRDEw?= =?utf-8?B?L1UwUEJnSHdRc1U0OGhmNjRCc0FQTlhUZCthcHg0MXRQdE1SaURyM2d4M29G?= =?utf-8?B?dnhSN3RVLy9yQy9mR1pzZ3UxMWprQUxOQVNxd3liMXh4TEc4M0ZOdXNKdU9v?= =?utf-8?B?Ym43aWI0emc5a0p3bTdRRHB5K2lFdkp0M0Z0U1ZZVlpEQjRFNnVHTmttOWJz?= =?utf-8?B?M2t6WjEzYXZqSjNzd1dSWmtmM1lUVVZ1QmR5dHRaaU9Ib2pJV2FOOEpFb2V2?= =?utf-8?B?Vnk2UE4wOXJxTWtObCtlSm9oVWgrenhlYWZqMis1OFllNElPY0tMWXBjTHBI?= =?utf-8?B?d1dyUVVFVVNKNzZCTUx4V28yTVhmUFFBQ2R3emljelljc2haam5wZlNBS1pw?= =?utf-8?B?aUloN0owUjNIM2Z1QnpoRTdYSjM2UXRiSGFSREJqL1ExczZWaDZSMG1wZWVx?= =?utf-8?B?Njl3M1Y0VU5CUm1xL2liMFZFS21XbXF6YkVhSjdKbzl5UFlQcWxjM0xpVXI5?= =?utf-8?B?VkhwbmoyTFlnNzM3OVN3TWRBSUhveHd0Q1M5cGJzOUpwaGV6eVk4WEZobEsz?= =?utf-8?B?ZVpXb1VFdFlpam12WXU4U2pvbUhxS0ZoeU55Z1NXRkZQLzhkeXdSMTBmRFAr?= =?utf-8?B?aTlOSGNOdVN0U3V0TmNIREx3Yjd1RDBoSW5YUDhWUkgvaUVPcC9zcnQyZ3d2?= =?utf-8?B?ZkltQTRRNytyNFJPUTE0RW1vS0hpckh3TkpjemNKWmZWTGlRemNaK2pnPT0=?= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: d0f8383e-c67a-495a-49d9-08dc35470fc8 X-MS-Exchange-CrossTenant-AuthSource: AS8P250MB0744.EURP250.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Feb 2024 14:44:10.5533 (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: DU2P250MB0128 Subject: Re: [FFmpeg-devel] [PATCH 3/3] avcodec/cbs_h2645: Avoid function pointer casts, fix UB 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: TWFyayBUaG9tcHNvbjoKPiBPbiAyMS8wMi8yMDI0IDIzOjMyLCBBbmRyZWFzIFJoZWluaGFyZHQg d3JvdGU6Cj4+IFRoZSBTRUkgbWVzc2FnZSByZWFkL3dyaXRlIGZ1bmN0aW9ucyBhcmUgY2FsbGVk Cj4+IHZpYSBmdW5jdGlvbiBwb2ludGVycyB3aGVyZSB0aGUgU0VJIG1lc3NhZ2Utc3BlY2lmaWMK Pj4gY29udGV4dCBpcyBwYXNzZWQgYXMgdm9pZCouIEJ1dCB0aGUgYWN0dWFsIGZ1bmN0aW9uCj4+ IGRlZmluaXRpb25zIHVzZSBhIHBvaW50ZXIgdG8gdGhlaXIgcHJvcGVyIGNvbnRleHQKPj4gaW4g cGxhY2Ugb2Ygdm9pZCosIG1ha2luZyB0aGUgY2FsbHMgdW5kZWZpbmVkIGJlaGF2aW91ci4KPj4g Q2xhbmcgVUJTYW4gMTcgd2FybnMgYWJvdXQgdGhpcy4KPj4KPj4gVGhpcyBjb21taXQgZml4ZXMg dGhpcyBieSBtYWtpbmcgdGhlIGZ1bmN0aW9ucyBtYXRjaAo+PiB0aGUgdHlwZSBvZiB0aGUgY2Fs bC4gVGhpcyByZWR1Y2VkIHRoZSBudW1iZXIgb2YgZmFpbGluZwo+PiBGQVRFIHRlc3RzIHdpdGgg VUJTYW4gZnJvbSAxNjQgdG8gODUgaGVyZS4KPj4KPj4gU2lnbmVkLW9mZi1ieTogQW5kcmVhcyBS aGVpbmhhcmR0IDxhbmRyZWFzLnJoZWluaGFyZHRAb3V0bG9vay5jb20+Cj4+IC0tLQo+PiDCoCBs aWJhdmNvZGVjL2Nic19oMjY0X3N5bnRheF90ZW1wbGF0ZS5jIHwgMjQgKysrKysrKysrKy0tLS0t LS0tLS0tCj4+IMKgIGxpYmF2Y29kZWMvY2JzX2gyNjVfc3ludGF4X3RlbXBsYXRlLmMgfCAzMSAr KysrKysrKysrKysrKysrKy0tLS0tLS0tLS0KPj4gwqAgbGliYXZjb2RlYy9jYnNfaDI2Nl9zeW50 YXhfdGVtcGxhdGUuYyB8wqAgNiArKystLS0KPj4gwqAgbGliYXZjb2RlYy9jYnNfc2VpLmjCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHzCoCA4ICsrKy0tLS0KPj4gwqAgbGliYXZj b2RlYy9jYnNfc2VpX3N5bnRheF90ZW1wbGF0ZS5jwqAgfCAyMyArKysrKysrKysrKystLS0tLS0t LQo+PiDCoCA1IGZpbGVzIGNoYW5nZWQsIDUyIGluc2VydGlvbnMoKyksIDQwIGRlbGV0aW9ucygt KQo+Pgo+PiBkaWZmIC0tZ2l0IGEvbGliYXZjb2RlYy9jYnNfaDI2NF9zeW50YXhfdGVtcGxhdGUu Ywo+PiBiL2xpYmF2Y29kZWMvY2JzX2gyNjRfc3ludGF4X3RlbXBsYXRlLmMKPj4gaW5kZXggMGY4 YmJhNGEwZC4uMjgyY2QyNDI5MiAxMDA2NDQKPj4gLS0tIGEvbGliYXZjb2RlYy9jYnNfaDI2NF9z eW50YXhfdGVtcGxhdGUuYwo+PiArKysgYi9saWJhdmNvZGVjL2Nic19oMjY0X3N5bnRheF90ZW1w bGF0ZS5jCj4+IEBAIC01MTEsOSArNTExLDkgQEAgc3RhdGljIGludCBGVU5DKHBwcykoQ29kZWRC aXRzdHJlYW1Db250ZXh0ICpjdHgsCj4+IFJXQ29udGV4dCAqcncsCj4+IMKgIH0KPj4gwqAgwqAg c3RhdGljIGludCBGVU5DKHNlaV9idWZmZXJpbmdfcGVyaW9kKShDb2RlZEJpdHN0cmVhbUNvbnRl eHQgKmN0eCwKPj4gUldDb250ZXh0ICpydywKPj4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIEgyNjRSYXdT RUlCdWZmZXJpbmdQZXJpb2QKPj4gKmN1cnJlbnQsCj4+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBTRUlN ZXNzYWdlU3RhdGUgKnNlaSkKPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHZvaWQgKmN1cnJlbnRfLCBT RUlNZXNzYWdlU3RhdGUKPj4gKnNlaSkKPj4gwqAgewo+PiArwqDCoMKgIEgyNjRSYXdTRUlCdWZm ZXJpbmdQZXJpb2QgKmN1cnJlbnQgPSBjdXJyZW50XzsKPj4gwqDCoMKgwqDCoCBDb2RlZEJpdHN0 cmVhbUgyNjRDb250ZXh0ICpoMjY0ID0gY3R4LT5wcml2X2RhdGE7Cj4+IMKgwqDCoMKgwqAgY29u c3QgSDI2NFJhd1NQUyAqc3BzOwo+PiDCoMKgwqDCoMKgIGludCBlcnIsIGksIGxlbmd0aDsKPj4g QEAgLTYwNSw5ICs2MDUsOSBAQCBzdGF0aWMgaW50Cj4+IEZVTkMoc2VpX3BpY190aW1lc3RhbXAp KENvZGVkQml0c3RyZWFtQ29udGV4dCAqY3R4LCBSV0NvbnRleHQgKnJ3LAo+PiDCoCB9Cj4+IMKg IMKgIHN0YXRpYyBpbnQgRlVOQyhzZWlfcGljX3RpbWluZykoQ29kZWRCaXRzdHJlYW1Db250ZXh0 ICpjdHgsCj4+IFJXQ29udGV4dCAqcncsCj4+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBIMjY0UmF3U0VJUGljVGltaW5nICpj dXJyZW50LAo+PiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqAgU0VJTWVzc2FnZVN0YXRlICpzZWkpCj4+ICvCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB2b2lkICpj dXJyZW50XywgU0VJTWVzc2FnZVN0YXRlICpzZWkpCj4+IMKgIHsKPj4gK8KgwqDCoCBIMjY0UmF3 U0VJUGljVGltaW5nICpjdXJyZW50ID0gY3VycmVudF87Cj4+IMKgwqDCoMKgwqAgQ29kZWRCaXRz dHJlYW1IMjY0Q29udGV4dCAqaDI2NCA9IGN0eC0+cHJpdl9kYXRhOwo+PiDCoMKgwqDCoMKgIGNv bnN0IEgyNjRSYXdTUFMgKnNwczsKPj4gwqDCoMKgwqDCoCBpbnQgZXJyOwo+PiBAQCAtNjc3LDkg KzY3Nyw5IEBAIHN0YXRpYyBpbnQKPj4gRlVOQyhzZWlfcGljX3RpbWluZykoQ29kZWRCaXRzdHJl YW1Db250ZXh0ICpjdHgsIFJXQ29udGV4dCAqcncsCj4+IMKgIH0KPj4gwqAgwqAgc3RhdGljIGlu dCBGVU5DKHNlaV9wYW5fc2Nhbl9yZWN0KShDb2RlZEJpdHN0cmVhbUNvbnRleHQgKmN0eCwKPj4g UldDb250ZXh0ICpydywKPj4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIEgyNjRSYXdTRUlQYW5TY2FuUmVjdCAqY3Vy cmVudCwKPj4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgIFNFSU1lc3NhZ2VTdGF0ZSAqc2VpKQo+PiArwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqAgdm9pZCAqY3VycmVudF8sIFNFSU1lc3NhZ2VTdGF0ZSAqc2VpKQo+PiDCoCB7Cj4+ICvCoMKg wqAgSDI2NFJhd1NFSVBhblNjYW5SZWN0ICpjdXJyZW50ID0gY3VycmVudF87Cj4+IMKgwqDCoMKg wqAgaW50IGVyciwgaTsKPj4gwqAgwqDCoMKgwqDCoCBIRUFERVIoIlBhbi1TY2FuIFJlY3Rhbmds ZSIpOwo+PiBAQCAtNzA0LDkgKzcwNCw5IEBAIHN0YXRpYyBpbnQKPj4gRlVOQyhzZWlfcGFuX3Nj YW5fcmVjdCkoQ29kZWRCaXRzdHJlYW1Db250ZXh0ICpjdHgsIFJXQ29udGV4dCAqcncsCj4+IMKg IH0KPj4gwqAgwqAgc3RhdGljIGludCBGVU5DKHNlaV9yZWNvdmVyeV9wb2ludCkoQ29kZWRCaXRz dHJlYW1Db250ZXh0ICpjdHgsCj4+IFJXQ29udGV4dCAqcncsCj4+IC3CoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIEgy NjRSYXdTRUlSZWNvdmVyeVBvaW50ICpjdXJyZW50LAo+PiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBTRUlNZXNz YWdlU3RhdGUgKnNlaSkKPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgdm9pZCAqY3VycmVudF8sIFNFSU1lc3Nh Z2VTdGF0ZQo+PiAqc2VpKQo+PiDCoCB7Cj4+ICvCoMKgwqAgSDI2NFJhd1NFSVJlY292ZXJ5UG9p bnQgKmN1cnJlbnQgPSBjdXJyZW50XzsKPj4gwqDCoMKgwqDCoCBpbnQgZXJyOwo+PiDCoCDCoMKg wqDCoMKgIEhFQURFUigiUmVjb3ZlcnkgUG9pbnQiKTsKPj4gQEAgLTcyMCw5ICs3MjAsOSBAQCBz dGF0aWMgaW50Cj4+IEZVTkMoc2VpX3JlY292ZXJ5X3BvaW50KShDb2RlZEJpdHN0cmVhbUNvbnRl eHQgKmN0eCwgUldDb250ZXh0ICpydywKPj4gwqAgfQo+PiDCoCDCoCBzdGF0aWMgaW50IEZVTkMo ZmlsbV9ncmFpbl9jaGFyYWN0ZXJpc3RpY3MpKENvZGVkQml0c3RyZWFtQ29udGV4dAo+PiAqY3R4 LCBSV0NvbnRleHQgKnJ3LAo+PiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAKPj4gSDI2 NFJhd0ZpbG1HcmFpbkNoYXJhY3RlcmlzdGljcyAqY3VycmVudCwKPj4gLcKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgIFNFSU1lc3NhZ2VTdGF0ZSAqc3RhdGUpCj4+ICvCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoCB2b2lkICpjdXJyZW50XywKPj4gU0VJTWVzc2FnZVN0YXRlICpzdGF0 ZSkKPj4gwqAgewo+PiArwqDCoMKgIEgyNjRSYXdGaWxtR3JhaW5DaGFyYWN0ZXJpc3RpY3MgKmN1 cnJlbnQgPSBjdXJyZW50XzsKPj4gwqDCoMKgwqDCoCBDb2RlZEJpdHN0cmVhbUgyNjRDb250ZXh0 ICpoMjY0ID0gY3R4LT5wcml2X2RhdGE7Cj4+IMKgwqDCoMKgwqAgY29uc3QgSDI2NFJhd1NQUyAq c3BzOwo+PiDCoMKgwqDCoMKgIGludCBlcnIsIGMsIGksIGo7Cj4+IEBAIC04MDMsOSArODAzLDkg QEAgc3RhdGljIGludAo+PiBGVU5DKGZpbG1fZ3JhaW5fY2hhcmFjdGVyaXN0aWNzKShDb2RlZEJp dHN0cmVhbUNvbnRleHQgKmN0eCwgUldDb250ZXgKPj4gwqAgfQo+PiDCoCDCoCBzdGF0aWMgaW50 IEZVTkMoc2VpX2Rpc3BsYXlfb3JpZW50YXRpb24pKENvZGVkQml0c3RyZWFtQ29udGV4dAo+PiAq Y3R4LCBSV0NvbnRleHQgKnJ3LAo+PiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgSDI2NFJhd1NF SURpc3BsYXlPcmllbnRhdGlvbgo+PiAqY3VycmVudCwKPj4gLcKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgIFNFSU1lc3NhZ2VTdGF0ZSAqc2VpKQo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgdm9p ZCAqY3VycmVudF8sCj4+IFNFSU1lc3NhZ2VTdGF0ZSAqc2VpKQo+PiDCoCB7Cj4+ICvCoMKgwqAg SDI2NFJhd1NFSURpc3BsYXlPcmllbnRhdGlvbiAqY3VycmVudCA9IGN1cnJlbnRfOwo+PiDCoMKg wqDCoMKgIGludCBlcnI7Cj4+IMKgIMKgwqDCoMKgwqAgSEVBREVSKCJEaXNwbGF5IE9yaWVudGF0 aW9uIik7Cj4+IGRpZmYgLS1naXQgYS9saWJhdmNvZGVjL2Nic19oMjY1X3N5bnRheF90ZW1wbGF0 ZS5jCj4+IGIvbGliYXZjb2RlYy9jYnNfaDI2NV9zeW50YXhfdGVtcGxhdGUuYwo+PiBpbmRleCAy ZDRiOTU0NzE4Li41M2FlMGNhYmZmIDEwMDY0NAo+PiAtLS0gYS9saWJhdmNvZGVjL2Nic19oMjY1 X3N5bnRheF90ZW1wbGF0ZS5jCj4+ICsrKyBiL2xpYmF2Y29kZWMvY2JzX2gyNjVfc3ludGF4X3Rl bXBsYXRlLmMKPj4gQEAgLTE2MjAsOCArMTYyMCw5IEBAIHN0YXRpYyBpbnQKPj4gRlVOQyhzbGlj ZV9zZWdtZW50X2hlYWRlcikoQ29kZWRCaXRzdHJlYW1Db250ZXh0ICpjdHgsIFJXQ29udGV4dCAq cncsCj4+IMKgIMKgIHN0YXRpYyBpbnQgRlVOQyhzZWlfYnVmZmVyaW5nX3BlcmlvZCkKPj4gwqDC oMKgwqDCoCAoQ29kZWRCaXRzdHJlYW1Db250ZXh0ICpjdHgsIFJXQ29udGV4dCAqcncsCj4+IC3C oMKgwqDCoCBIMjY1UmF3U0VJQnVmZmVyaW5nUGVyaW9kICpjdXJyZW50LCBTRUlNZXNzYWdlU3Rh dGUgKnNlaSkKPj4gK8KgwqDCoMKgIHZvaWQgKmN1cnJlbnRfLCBTRUlNZXNzYWdlU3RhdGUgKnNl aSkKPj4gwqAgewo+PiArwqDCoMKgIEgyNjVSYXdTRUlCdWZmZXJpbmdQZXJpb2QgKmN1cnJlbnQg PSBjdXJyZW50XzsKPj4gwqDCoMKgwqDCoCBDb2RlZEJpdHN0cmVhbUgyNjVDb250ZXh0ICpoMjY1 ID0gY3R4LT5wcml2X2RhdGE7Cj4+IMKgwqDCoMKgwqAgY29uc3QgSDI2NVJhd1NQUyAqc3BzOwo+ PiDCoMKgwqDCoMKgIGNvbnN0IEgyNjVSYXdIUkRQYXJhbWV0ZXJzICpocmQ7Cj4+IEBAIC0xNzMw LDggKzE3MzEsOSBAQCBzdGF0aWMgaW50IEZVTkMoc2VpX2J1ZmZlcmluZ19wZXJpb2QpCj4+IMKg IMKgIHN0YXRpYyBpbnQgRlVOQyhzZWlfcGljX3RpbWluZykKPj4gwqDCoMKgwqDCoCAoQ29kZWRC aXRzdHJlYW1Db250ZXh0ICpjdHgsIFJXQ29udGV4dCAqcncsCj4+IC3CoMKgwqDCoCBIMjY1UmF3 U0VJUGljVGltaW5nICpjdXJyZW50LCBTRUlNZXNzYWdlU3RhdGUgKnNlaSkKPj4gK8KgwqDCoMKg IHZvaWQgKmN1cnJlbnRfLCBTRUlNZXNzYWdlU3RhdGUgKnNlaSkKPj4gwqAgewo+PiArwqDCoMKg IEgyNjVSYXdTRUlQaWNUaW1pbmcgKmN1cnJlbnQgPSBjdXJyZW50XzsKPj4gwqDCoMKgwqDCoCBD b2RlZEJpdHN0cmVhbUgyNjVDb250ZXh0ICpoMjY1ID0gY3R4LT5wcml2X2RhdGE7Cj4+IMKgwqDC oMKgwqAgY29uc3QgSDI2NVJhd1NQUyAqc3BzOwo+PiDCoMKgwqDCoMKgIGNvbnN0IEgyNjVSYXdI UkRQYXJhbWV0ZXJzICpocmQ7Cj4+IEBAIC0xODA2LDggKzE4MDgsOSBAQCBzdGF0aWMgaW50IEZV TkMoc2VpX3BpY190aW1pbmcpCj4+IMKgIMKgIHN0YXRpYyBpbnQgRlVOQyhzZWlfcGFuX3NjYW5f cmVjdCkKPj4gwqDCoMKgwqDCoCAoQ29kZWRCaXRzdHJlYW1Db250ZXh0ICpjdHgsIFJXQ29udGV4 dCAqcncsCj4+IC3CoMKgwqDCoCBIMjY1UmF3U0VJUGFuU2NhblJlY3QgKmN1cnJlbnQsIFNFSU1l c3NhZ2VTdGF0ZSAqc2VpKQo+PiArwqDCoMKgwqAgdm9pZCAqY3VycmVudF8sIFNFSU1lc3NhZ2VT dGF0ZSAqc2VpKQo+PiDCoCB7Cj4+ICvCoMKgwqAgSDI2NVJhd1NFSVBhblNjYW5SZWN0ICpjdXJy ZW50ID0gY3VycmVudF87Cj4+IMKgwqDCoMKgwqAgaW50IGVyciwgaTsKPj4gwqAgwqDCoMKgwqDC oCBIRUFERVIoIlBhbi1TY2FuIFJlY3RhbmdsZSIpOwo+PiBAQCAtMTgzMyw4ICsxODM2LDkgQEAg c3RhdGljIGludCBGVU5DKHNlaV9wYW5fc2Nhbl9yZWN0KQo+PiDCoCDCoCBzdGF0aWMgaW50IEZV TkMoc2VpX3JlY292ZXJ5X3BvaW50KQo+PiDCoMKgwqDCoMKgIChDb2RlZEJpdHN0cmVhbUNvbnRl eHQgKmN0eCwgUldDb250ZXh0ICpydywKPj4gLcKgwqDCoMKgIEgyNjVSYXdTRUlSZWNvdmVyeVBv aW50ICpjdXJyZW50LCBTRUlNZXNzYWdlU3RhdGUgKnNlaSkKPj4gK8KgwqDCoMKgIHZvaWQgKmN1 cnJlbnRfLCBTRUlNZXNzYWdlU3RhdGUgKnNlaSkKPj4gwqAgewo+PiArwqDCoMKgIEgyNjVSYXdT RUlSZWNvdmVyeVBvaW50ICpjdXJyZW50ID0gY3VycmVudF87Cj4+IMKgwqDCoMKgwqAgaW50IGVy cjsKPj4gwqAgwqDCoMKgwqDCoCBIRUFERVIoIlJlY292ZXJ5IFBvaW50Iik7Cj4+IEBAIC0xODQ4 LDkgKzE4NTIsOSBAQCBzdGF0aWMgaW50IEZVTkMoc2VpX3JlY292ZXJ5X3BvaW50KQo+PiDCoCB9 Cj4+IMKgIMKgIHN0YXRpYyBpbnQgRlVOQyhmaWxtX2dyYWluX2NoYXJhY3RlcmlzdGljcykoQ29k ZWRCaXRzdHJlYW1Db250ZXh0Cj4+ICpjdHgsIFJXQ29udGV4dCAqcncsCj4+IC3CoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoAo+PiBIMjY1UmF3RmlsbUdyYWluQ2hhcmFjdGVyaXN0aWNzICpj dXJyZW50LAo+PiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgU0VJTWVzc2FnZVN0YXRl ICpzdGF0ZSkKPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHZvaWQgKmN1cnJlbnRf LAo+PiBTRUlNZXNzYWdlU3RhdGUgKnN0YXRlKQo+PiDCoCB7Cj4+ICvCoMKgwqAgSDI2NVJhd0Zp bG1HcmFpbkNoYXJhY3RlcmlzdGljcyAqY3VycmVudCA9IGN1cnJlbnRfOwo+PiDCoMKgwqDCoMKg IENvZGVkQml0c3RyZWFtSDI2NUNvbnRleHQgKmgyNjUgPSBjdHgtPnByaXZfZGF0YTsKPj4gwqDC oMKgwqDCoCBjb25zdCBIMjY1UmF3U1BTICpzcHMgPSBoMjY1LT5hY3RpdmVfc3BzOwo+PiDCoMKg wqDCoMKgIGludCBlcnIsIGMsIGksIGo7Cj4+IEBAIC0xOTE0LDggKzE5MTgsOSBAQCBzdGF0aWMg aW50Cj4+IEZVTkMoZmlsbV9ncmFpbl9jaGFyYWN0ZXJpc3RpY3MpKENvZGVkQml0c3RyZWFtQ29u dGV4dCAqY3R4LCBSV0NvbnRleAo+PiDCoCDCoCBzdGF0aWMgaW50IEZVTkMoc2VpX2Rpc3BsYXlf b3JpZW50YXRpb24pCj4+IMKgwqDCoMKgwqAgKENvZGVkQml0c3RyZWFtQ29udGV4dCAqY3R4LCBS V0NvbnRleHQgKnJ3LAo+PiAtwqDCoMKgwqAgSDI2NVJhd1NFSURpc3BsYXlPcmllbnRhdGlvbiAq Y3VycmVudCwgU0VJTWVzc2FnZVN0YXRlICpzZWkpCj4+ICvCoMKgwqDCoCB2b2lkICpjdXJyZW50 XywgU0VJTWVzc2FnZVN0YXRlICpzZWkpCj4+IMKgIHsKPj4gK8KgwqDCoCBIMjY1UmF3U0VJRGlz cGxheU9yaWVudGF0aW9uICpjdXJyZW50ID0gY3VycmVudF87Cj4+IMKgwqDCoMKgwqAgaW50IGVy cjsKPj4gwqAgwqDCoMKgwqDCoCBIRUFERVIoIkRpc3BsYXkgT3JpZW50YXRpb24iKTsKPj4gQEAg LTE5MzMsOCArMTkzOCw5IEBAIHN0YXRpYyBpbnQgRlVOQyhzZWlfZGlzcGxheV9vcmllbnRhdGlv bikKPj4gwqAgwqAgc3RhdGljIGludCBGVU5DKHNlaV9hY3RpdmVfcGFyYW1ldGVyX3NldHMpCj4+ IMKgwqDCoMKgwqAgKENvZGVkQml0c3RyZWFtQ29udGV4dCAqY3R4LCBSV0NvbnRleHQgKnJ3LAo+ PiAtwqDCoMKgwqAgSDI2NVJhd1NFSUFjdGl2ZVBhcmFtZXRlclNldHMgKmN1cnJlbnQsIFNFSU1l c3NhZ2VTdGF0ZSAqc2VpKQo+PiArwqDCoMKgwqAgdm9pZCAqY3VycmVudF8sIFNFSU1lc3NhZ2VT dGF0ZSAqc2VpKQo+PiDCoCB7Cj4+ICvCoMKgwqAgSDI2NVJhd1NFSUFjdGl2ZVBhcmFtZXRlclNl dHMgKmN1cnJlbnQgPSBjdXJyZW50XzsKPj4gwqDCoMKgwqDCoCBDb2RlZEJpdHN0cmVhbUgyNjVD b250ZXh0ICpoMjY1ID0gY3R4LT5wcml2X2RhdGE7Cj4+IMKgwqDCoMKgwqAgY29uc3QgSDI2NVJh d1ZQUyAqdnBzOwo+PiDCoMKgwqDCoMKgIGludCBlcnIsIGk7Cj4+IEBAIC0xOTcwLDggKzE5NzYs OSBAQCBzdGF0aWMgaW50IEZVTkMoc2VpX2FjdGl2ZV9wYXJhbWV0ZXJfc2V0cykKPj4gwqAgwqAg c3RhdGljIGludCBGVU5DKHNlaV9kZWNvZGVkX3BpY3R1cmVfaGFzaCkKPj4gwqDCoMKgwqDCoCAo Q29kZWRCaXRzdHJlYW1Db250ZXh0ICpjdHgsIFJXQ29udGV4dCAqcncsCj4+IC3CoMKgwqDCoCBI MjY1UmF3U0VJRGVjb2RlZFBpY3R1cmVIYXNoICpjdXJyZW50LCBTRUlNZXNzYWdlU3RhdGUgKnNl aSkKPj4gK8KgwqDCoMKgIHZvaWQgKmN1cnJlbnRfLCBTRUlNZXNzYWdlU3RhdGUgKnNlaSkKPj4g wqAgewo+PiArwqDCoMKgIEgyNjVSYXdTRUlEZWNvZGVkUGljdHVyZUhhc2ggKmN1cnJlbnQgPSBj dXJyZW50XzsKPj4gwqDCoMKgwqDCoCBDb2RlZEJpdHN0cmVhbUgyNjVDb250ZXh0ICpoMjY1ID0g Y3R4LT5wcml2X2RhdGE7Cj4+IMKgwqDCoMKgwqAgY29uc3QgSDI2NVJhd1NQUyAqc3BzID0gaDI2 NS0+YWN0aXZlX3NwczsKPj4gwqDCoMKgwqDCoCBpbnQgZXJyLCBjLCBpOwo+PiBAQCAtMjAwMiw4 ICsyMDA5LDkgQEAgc3RhdGljIGludCBGVU5DKHNlaV9kZWNvZGVkX3BpY3R1cmVfaGFzaCkKPj4g wqAgwqAgc3RhdGljIGludCBGVU5DKHNlaV90aW1lX2NvZGUpCj4+IMKgwqDCoMKgwqAgKENvZGVk Qml0c3RyZWFtQ29udGV4dCAqY3R4LCBSV0NvbnRleHQgKnJ3LAo+PiAtwqDCoMKgwqAgSDI2NVJh d1NFSVRpbWVDb2RlICpjdXJyZW50LCBTRUlNZXNzYWdlU3RhdGUgKnNlaSkKPj4gK8KgwqDCoMKg IHZvaWQgKmN1cnJlbnRfLCBTRUlNZXNzYWdlU3RhdGUgKnNlaSkKPj4gwqAgewo+PiArwqDCoMKg IEgyNjVSYXdTRUlUaW1lQ29kZSAqY3VycmVudCA9IGN1cnJlbnRfOwo+PiDCoMKgwqDCoMKgIGlu dCBlcnIsIGk7Cj4+IMKgIMKgwqDCoMKgwqAgSEVBREVSKCJUaW1lIENvZGUiKTsKPj4gQEAgLTIw NTMsOCArMjA2MSw5IEBAIHN0YXRpYyBpbnQgRlVOQyhzZWlfdGltZV9jb2RlKQo+PiDCoCDCoCBz dGF0aWMgaW50IEZVTkMoc2VpX2FscGhhX2NoYW5uZWxfaW5mbykKPj4gwqDCoMKgwqDCoCAoQ29k ZWRCaXRzdHJlYW1Db250ZXh0ICpjdHgsIFJXQ29udGV4dCAqcncsCj4+IC3CoMKgwqDCoCBIMjY1 UmF3U0VJQWxwaGFDaGFubmVsSW5mbyAqY3VycmVudCwgU0VJTWVzc2FnZVN0YXRlICpzZWkpCj4+ ICvCoMKgwqDCoCB2b2lkICpjdXJyZW50XywgU0VJTWVzc2FnZVN0YXRlICpzZWkpCj4+IMKgIHsK Pj4gK8KgwqDCoCBIMjY1UmF3U0VJQWxwaGFDaGFubmVsSW5mbyAqY3VycmVudCA9IGN1cnJlbnRf Owo+PiDCoMKgwqDCoMKgIGludCBlcnIsIGxlbmd0aDsKPj4gwqAgwqDCoMKgwqDCoCBIRUFERVIo IkFscGhhIENoYW5uZWwgSW5mb3JtYXRpb24iKTsKPj4gZGlmZiAtLWdpdCBhL2xpYmF2Y29kZWMv Y2JzX2gyNjZfc3ludGF4X3RlbXBsYXRlLmMKPj4gYi9saWJhdmNvZGVjL2Nic19oMjY2X3N5bnRh eF90ZW1wbGF0ZS5jCj4+IGluZGV4IGU3NWYyZjY5NzEuLjhhMmFkZWI5ZTQgMTAwNjQ0Cj4+IC0t LSBhL2xpYmF2Y29kZWMvY2JzX2gyNjZfc3ludGF4X3RlbXBsYXRlLmMKPj4gKysrIGIvbGliYXZj b2RlYy9jYnNfaDI2Nl9zeW50YXhfdGVtcGxhdGUuYwo+PiBAQCAtMzQyOCwxMCArMzQyOCwxMCBA QCBzdGF0aWMgaW50IEZVTkMoc2xpY2VfaGVhZGVyKQo+PiAoQ29kZWRCaXRzdHJlYW1Db250ZXh0 ICpjdHgsIFJXQ29udGV4dCAqcncsCj4+IMKgIH0KPj4gwqAgwqAgc3RhdGljIGludCBGVU5DKHNl aV9kZWNvZGVkX3BpY3R1cmVfaGFzaCkgKENvZGVkQml0c3RyZWFtQ29udGV4dAo+PiAqY3R4LAo+ PiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIFJXQ29udGV4dCAqcncsCj4+IC3CoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqAKPj4gSDI2NlJhd1NFSURlY29kZWRQaWN0dXJlSGFzaCAqCj4+ IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgY3VycmVudCwgU0VJTWVzc2FnZVN0YXRlCj4+ ICp1bnVzZWQpCj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgUldDb250ZXh0ICpydywg dm9pZAo+PiAqY3VycmVudF8sCj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgU0VJTWVz c2FnZVN0YXRlICp1bnVzZWQpCj4+IMKgIHsKPj4gK8KgwqDCoCBIMjY2UmF3U0VJRGVjb2RlZFBp Y3R1cmVIYXNoICpjdXJyZW50ID0gY3VycmVudF87Cj4+IMKgwqDCoMKgwqAgaW50IGVyciwgY19p ZHgsIGk7Cj4+IMKgIMKgwqDCoMKgwqAgSEVBREVSKCJEZWNvZGVkIFBpY3R1cmUgSGFzaCIpOwo+ PiBkaWZmIC0tZ2l0IGEvbGliYXZjb2RlYy9jYnNfc2VpLmggYi9saWJhdmNvZGVjL2Nic19zZWku aAo+PiBpbmRleCA0NTExYzUwNmNjLi42ZDFiZWQ0MTcxIDEwMDY0NAo+PiAtLS0gYS9saWJhdmNv ZGVjL2Nic19zZWkuaAo+PiArKysgYi9saWJhdmNvZGVjL2Nic19zZWkuaAo+PiBAQCAtMTI2LDEy ICsxMjYsMTAgQEAgdHlwZWRlZiBzdHJ1Y3QgU0VJTWVzc2FnZVR5cGVEZXNjcmlwdG9yIHsKPj4g wqDCoMKgwqDCoCBTRUlNZXNzYWdlV3JpdGVGdW5jdGlvbiB3cml0ZTsKPj4gwqAgfSBTRUlNZXNz YWdlVHlwZURlc2NyaXB0b3I7Cj4+IMKgIC0vLyBNYWNybyBmb3IgdGhlIHJlYWQvd3JpdGUgcGFp ci7CoCBUaGUgY2x1bXN5IGNhc3QgaXMgbmVlZGVkCj4+IGJlY2F1c2UgdGhlCj4+IC0vLyBjdXJy ZW50IHBvaW50ZXIgaXMgdHlwZWQgaW4gYWxsIG9mIHRoZSByZWFkL3dyaXRlIGZ1bmN0aW9ucyBi dXQKPj4gaGFzIHRvCj4+IC0vLyBiZSB2b2lkIGhlcmUgdG8gZml0IGFsbCBjYXNlcy4KPj4gKy8v IE1hY3JvIGZvciB0aGUgcmVhZC93cml0ZSBwYWlyLgo+PiDCoCAjZGVmaW5lIFNFSV9NRVNTQUdF X1JXKGNvZGVjLCBuYW1lKSBcCj4+IC3CoMKgwqAgLnJlYWTCoCA9IChTRUlNZXNzYWdlUmVhZEZ1 bmN0aW9uKSBjYnNfICMjIGNvZGVjICMjIF9yZWFkX8KgICMjCj4+IG5hbWUsIFwKPj4gLcKgwqDC oCAud3JpdGUgPSAoU0VJTWVzc2FnZVdyaXRlRnVuY3Rpb24pY2JzXyAjIyBjb2RlYyAjIyBfd3Jp dGVfICMjIG5hbWUKPj4gK8KgwqDCoCAucmVhZMKgID0gY2JzXyAjIyBjb2RlYyAjIyBfcmVhZF/C oCAjIyBuYW1lLCBcCj4+ICvCoMKgwqAgLndyaXRlID0gY2JzXyAjIyBjb2RlYyAjIyBfd3JpdGVf ICMjIG5hbWUKPj4gwqAgwqAgLy8gRW5kLW9mLWxpc3Qgc2VudGluZWwgZWxlbWVudC4KPj4gwqAg I2RlZmluZSBTRUlfTUVTU0FHRV9UWVBFX0VORCB7IC50eXBlID0gLTEgfQo+PiBkaWZmIC0tZ2l0 IGEvbGliYXZjb2RlYy9jYnNfc2VpX3N5bnRheF90ZW1wbGF0ZS5jCj4+IGIvbGliYXZjb2RlYy9j YnNfc2VpX3N5bnRheF90ZW1wbGF0ZS5jCj4+IGluZGV4IDYyZGQxZGFiYWEuLjE2ZDJjYmM0MDYg MTAwNjQ0Cj4+IC0tLSBhL2xpYmF2Y29kZWMvY2JzX3NlaV9zeW50YXhfdGVtcGxhdGUuYwo+PiAr KysgYi9saWJhdmNvZGVjL2Nic19zZWlfc3ludGF4X3RlbXBsYXRlLmMKPj4gQEAgLTE4LDggKzE4 LDkgQEAKPj4gwqAgwqAgc3RhdGljIGludCBGVU5DKGZpbGxlcl9wYXlsb2FkKQo+PiDCoMKgwqDC oMKgIChDb2RlZEJpdHN0cmVhbUNvbnRleHQgKmN0eCwgUldDb250ZXh0ICpydywKPj4gLcKgwqDC oMKgIFNFSVJhd0ZpbGxlclBheWxvYWQgKmN1cnJlbnQsIFNFSU1lc3NhZ2VTdGF0ZSAqc3RhdGUp Cj4+ICvCoMKgwqDCoCB2b2lkICpjdXJyZW50XywgU0VJTWVzc2FnZVN0YXRlICpzdGF0ZSkKPj4g wqAgewo+PiArwqDCoMKgIFNFSVJhd0ZpbGxlclBheWxvYWQgKmN1cnJlbnQgPSBjdXJyZW50XzsK Pj4gwqDCoMKgwqDCoCBpbnQgZXJyLCBpOwo+PiDCoCDCoMKgwqDCoMKgIEhFQURFUigiRmlsbGVy IFBheWxvYWQiKTsKPj4gQEAgLTM2LDggKzM3LDkgQEAgc3RhdGljIGludCBGVU5DKGZpbGxlcl9w YXlsb2FkKQo+PiDCoCDCoCBzdGF0aWMgaW50IEZVTkModXNlcl9kYXRhX3JlZ2lzdGVyZWQpCj4+ IMKgwqDCoMKgwqAgKENvZGVkQml0c3RyZWFtQ29udGV4dCAqY3R4LCBSV0NvbnRleHQgKnJ3LAo+ PiAtwqDCoMKgwqAgU0VJUmF3VXNlckRhdGFSZWdpc3RlcmVkICpjdXJyZW50LCBTRUlNZXNzYWdl U3RhdGUgKnN0YXRlKQo+PiArwqDCoMKgwqAgdm9pZCAqY3VycmVudF8sIFNFSU1lc3NhZ2VTdGF0 ZSAqc3RhdGUpCj4+IMKgIHsKPj4gK8KgwqDCoCBTRUlSYXdVc2VyRGF0YVJlZ2lzdGVyZWQgKmN1 cnJlbnQgPSBjdXJyZW50XzsKPj4gwqDCoMKgwqDCoCBpbnQgZXJyLCBpLCBqOwo+PiDCoCDCoMKg wqDCoMKgIEhFQURFUigiVXNlciBEYXRhIFJlZ2lzdGVyZWQgSVRVLVQgVC4zNSIpOwo+PiBAQCAt NjgsOCArNzAsOSBAQCBzdGF0aWMgaW50IEZVTkModXNlcl9kYXRhX3JlZ2lzdGVyZWQpCj4+IMKg IMKgIHN0YXRpYyBpbnQgRlVOQyh1c2VyX2RhdGFfdW5yZWdpc3RlcmVkKQo+PiDCoMKgwqDCoMKg IChDb2RlZEJpdHN0cmVhbUNvbnRleHQgKmN0eCwgUldDb250ZXh0ICpydywKPj4gLcKgwqDCoMKg IFNFSVJhd1VzZXJEYXRhVW5yZWdpc3RlcmVkICpjdXJyZW50LCBTRUlNZXNzYWdlU3RhdGUgKnN0 YXRlKQo+PiArwqDCoMKgwqAgdm9pZCAqY3VycmVudF8sIFNFSU1lc3NhZ2VTdGF0ZSAqc3RhdGUp Cj4+IMKgIHsKPj4gK8KgwqDCoCBTRUlSYXdVc2VyRGF0YVVucmVnaXN0ZXJlZCAqY3VycmVudCA9 IGN1cnJlbnRfOwo+PiDCoMKgwqDCoMKgIGludCBlcnIsIGk7Cj4+IMKgIMKgwqDCoMKgwqAgSEVB REVSKCJVc2VyIERhdGEgVW5yZWdpc3RlcmVkIik7Cj4+IEBAIC05Niw4ICs5OSw5IEBAIHN0YXRp YyBpbnQgRlVOQyh1c2VyX2RhdGFfdW5yZWdpc3RlcmVkKQo+PiDCoCDCoCBzdGF0aWMgaW50IEZV TkMobWFzdGVyaW5nX2Rpc3BsYXlfY29sb3VyX3ZvbHVtZSkKPj4gwqDCoMKgwqDCoCAoQ29kZWRC aXRzdHJlYW1Db250ZXh0ICpjdHgsIFJXQ29udGV4dCAqcncsCj4+IC3CoMKgwqDCoCBTRUlSYXdN YXN0ZXJpbmdEaXNwbGF5Q29sb3VyVm9sdW1lICpjdXJyZW50LCBTRUlNZXNzYWdlU3RhdGUKPj4g KnN0YXRlKQo+PiArwqDCoMKgwqAgdm9pZCAqY3VycmVudF8sIFNFSU1lc3NhZ2VTdGF0ZSAqc3Rh dGUpCj4+IMKgIHsKPj4gK8KgwqDCoCBTRUlSYXdNYXN0ZXJpbmdEaXNwbGF5Q29sb3VyVm9sdW1l ICpjdXJyZW50ID0gY3VycmVudF87Cj4+IMKgwqDCoMKgwqAgaW50IGVyciwgYzsKPj4gwqAgwqDC oMKgwqDCoCBIRUFERVIoIk1hc3RlcmluZyBEaXNwbGF5IENvbG91ciBWb2x1bWUiKTsKPj4gQEAg LTExOCw4ICsxMjIsOSBAQCBzdGF0aWMgaW50IEZVTkMobWFzdGVyaW5nX2Rpc3BsYXlfY29sb3Vy X3ZvbHVtZSkKPj4gwqAgwqAgc3RhdGljIGludCBGVU5DKGNvbnRlbnRfbGlnaHRfbGV2ZWxfaW5m bykKPj4gwqDCoMKgwqDCoCAoQ29kZWRCaXRzdHJlYW1Db250ZXh0ICpjdHgsIFJXQ29udGV4dCAq cncsCj4+IC3CoMKgwqDCoCBTRUlSYXdDb250ZW50TGlnaHRMZXZlbEluZm8gKmN1cnJlbnQsIFNF SU1lc3NhZ2VTdGF0ZSAqc3RhdGUpCj4+ICvCoMKgwqDCoCB2b2lkICpjdXJyZW50XywgU0VJTWVz c2FnZVN0YXRlICpzdGF0ZSkKPj4gwqAgewo+PiArwqDCoMKgIFNFSVJhd0NvbnRlbnRMaWdodExl dmVsSW5mbyAqY3VycmVudCA9IGN1cnJlbnRfOwo+PiDCoMKgwqDCoMKgIGludCBlcnI7Cj4+IMKg IMKgwqDCoMKgwqAgSEVBREVSKCJDb250ZW50IExpZ2h0IExldmVsIEluZm9ybWF0aW9uIik7Cj4+ IEBAIC0xMzIsOSArMTM3LDkgQEAgc3RhdGljIGludCBGVU5DKGNvbnRlbnRfbGlnaHRfbGV2ZWxf aW5mbykKPj4gwqAgwqAgc3RhdGljIGludCBGVU5DKGFsdGVybmF0aXZlX3RyYW5zZmVyX2NoYXJh Y3RlcmlzdGljcykKPj4gwqDCoMKgwqDCoCAoQ29kZWRCaXRzdHJlYW1Db250ZXh0ICpjdHgsIFJX Q29udGV4dCAqcncsCj4+IC3CoMKgwqDCoCBTRUlSYXdBbHRlcm5hdGl2ZVRyYW5zZmVyQ2hhcmFj dGVyaXN0aWNzICpjdXJyZW50LAo+PiAtwqDCoMKgwqAgU0VJTWVzc2FnZVN0YXRlICpzdGF0ZSkK Pj4gK8KgwqDCoMKgIHZvaWQgKmN1cnJlbnRfLCBTRUlNZXNzYWdlU3RhdGUgKnN0YXRlKQo+PiDC oCB7Cj4+ICvCoMKgwqAgU0VJUmF3QWx0ZXJuYXRpdmVUcmFuc2ZlckNoYXJhY3RlcmlzdGljcyAq Y3VycmVudCA9IGN1cnJlbnRfOwo+PiDCoMKgwqDCoMKgIGludCBlcnI7Cj4+IMKgIMKgwqDCoMKg wqAgSEVBREVSKCJBbHRlcm5hdGl2ZSBUcmFuc2ZlciBDaGFyYWN0ZXJpc3RpY3MiKTsKPj4gQEAg LTE0Niw5ICsxNTEsOSBAQCBzdGF0aWMgaW50IEZVTkMoYWx0ZXJuYXRpdmVfdHJhbnNmZXJfY2hh cmFjdGVyaXN0aWNzKQo+PiDCoCDCoCBzdGF0aWMgaW50IEZVTkMoYW1iaWVudF92aWV3aW5nX2Vu dmlyb25tZW50KQo+PiDCoMKgwqDCoMKgIChDb2RlZEJpdHN0cmVhbUNvbnRleHQgKmN0eCwgUldD b250ZXh0ICpydywKPj4gLcKgwqDCoMKgIFNFSVJhd0FtYmllbnRWaWV3aW5nRW52aXJvbm1lbnQg KmN1cnJlbnQsCj4+IC3CoMKgwqDCoCBTRUlNZXNzYWdlU3RhdGUgKnN0YXRlKQo+PiArwqDCoMKg wqAgdm9pZCAqY3VycmVudF8sIFNFSU1lc3NhZ2VTdGF0ZSAqc3RhdGUpCj4+IMKgIHsKPj4gK8Kg wqDCoCBTRUlSYXdBbWJpZW50Vmlld2luZ0Vudmlyb25tZW50ICpjdXJyZW50ID0gY3VycmVudF87 Cj4+IMKgwqDCoMKgwqAgc3RhdGljIGNvbnN0IHVpbnQxNl90IG1heF9hbWJpZW50X2xpZ2h0X3Zh bHVlID0gNTAwMDA7Cj4+IMKgwqDCoMKgwqAgaW50IGVycjsKPj4gwqAgCj4gCj4gSSBhZ3JlZSB0 aGF0IHdlIHNob3VsZCBmaXggdGhlIFVCLCBidXQgcHVzaGluZyB0aGUgdWdsaW5lc3MgaW50byB0 aGUKPiBjbGVhbiBwYXJ0cyBvZiB0aGUgdGVtcGxhdGUgY29kZSBkb2VzIG5vdCBzZWVtIGxpa2Ug dGhlIHJpZ2h0IHdheSB0byBkbyBpdC4KPiAKPiBTaW5jZSB0aGVyZSBpcyBleGFjdGx5IG9uZSBj YWxsc2l0ZSAoaW4gY29kZSwgY29tcGlsZWQgdG8gdHdvKSwgY2FuIHdlCj4gcmVzdHJpY3QgdGhl IG5hc3RpbmVzcyBvZiBpdCB0byBvbmx5IGFwcGVhciB0aGVyZT8KPiAKPiAoSXQgd291bGQgYmUg c3RyYWlnaHRmb3J3YXJkIHRvIGhhdmUgYWxsIHBvc3NpYmxlIGNhbGxlZXMgdmlzaWJsZSBhdAo+ IHRoYXQgbW9tZW50IGJ5IG1vdmluZyB0aGUgU0VJIHRlbXBsYXRlIGluY2x1ZGUgYWZ0ZXIgdGhl IHBlci1jb2RlYwo+IG9uZXMuwqAgVGhlbiBtYWtlIHRoZSBmdW5jdGlvbiBwb2ludGVycyB2b2lk KiBhbmQgaGF2ZSBhIHN3aXRjaCBvdmVyIHRoZW0KPiB0byBjYWxsIGl0IHdpdGggdGhlIHJpZ2h0 IHR5cGUsIHBlcmhhcHM/KQo+IAoKMS4gQ29udmVyc2lvbnMgYmV0d2VlbiBmdW5jdGlvbiBwb2lu dGVycyBhbmQgcG9pbnRlcnMgdG8gb2JqZWN0IHR5cGVzIG9yCnBvaW50ZXJzIHRvIHZvaWQgYXJl IFVCIGluIGl0c2VsZiAoYnV0IGFyZSBzdXBwb3J0ZWQgYnkgYWxsIHBsYXRmb3JtcyB3ZQpjYXJl IGFib3V0KS4gQnV0IHRoaXMgaXMgbm90IGFuIGltcG9ydGFudCBwb2ludCAoaXQgY2FuIGJlIGF2 b2lkZWQgYnkKdXNpbmcgdGhlIGN1cnJlbnQgdHlwZXMgb2YgU0VJTWVzc2FnZVJlYWQvV3JpdGVG dW5jdGlvbiBhcyBpbnRlcm1lZGlhdGUKdHlwZXMpLgoyLiBJIGRvIG5vdCByZWFsbHkgc2VlIHVn bHluZXNzIGluIHRoaXMgYXBwcm9hY2guIFdoYXQgeW91IGFyZSBwcm9wb3NpbmcKaXMgSU1PIHZl cnkgdWdseTsgaWYgd2UgYWxyZWFkeSBoYXZlIGEgZ2lnYW50aWMgc3dpdGNoLCB3ZSBjb3VsZCBq dXN0IGFzCndlbGwgdW5kbyB1c2luZyBmdW5jdGlvbiBwb2ludGVycyBhdCBhbGwgYW5kIGNhbGwg dGhlIGZ1bmN0aW9ucyBzaW1pbGFyCnRvIGhvdyBpdCB3YXMgYmVmb3JlIDg4NDM2MDdmNDk1Yzk1 YzFlNjdhM2NlM2Q2ZjE1ZGNhNmUyNTI0MzkuIEkgY2FuCnNlbmQgYSBwYXRjaCBkb2luZyB0aGF0 IGlmIHlvdSB3YW50LiBXb3VsZCBhbHNvIGhhdmUgdGhlIGFkdmFudGFnZSBvZgptb3ZpbmcgU0VJ TWVzc2FnZVR5cGVEZXNjcmlwdG9yIHRvIC5yb2RhdGEuCjMuIEkgc2VlIHR3byBtb3JlIGFwcHJv YWNoZXMgdG8gZml4IHRoaXMuIEJvdGggaW52b2x2ZSB1c2luZyBhIHNwZWNpYWwKU0VJX0ZVTkMg bWFjcm8gaW5zdGVhZCBvZiB0aGUgY29tbW9uIEZVTkMgbWFjcm8uIFRoaXMgbWFjcm8gd291bGQg dGFrZQpib3RoIHRoZSBmdW5jdGlvbiBuYW1lIGFzIHdlbGwgYXMgdGhlIGZ1bmN0aW9uIGFyZ3Vt ZW50cyBhcyBwYXJhbWV0ZXJzLgphKSBJbiB0aGUgZmlyc3QgYXBwcm9hY2gKClNFSV9GVU5DKG5h bWUsIENvZGVkQml0c3RyZWFtQ29udGV4dCAqY3R4LCBSV0NvbnRleHQgKnJ3LAogICAgICAgICBU eXBlICpjdXJyZW50LAogICAgICAgICBTRUlNZXNzYWdlU3RhdGUgKnN0YXRlKQoKd291bGQgZXhw YW5kIHRvCgpGVU5DKG5hbWUpKENvZGVkQml0c3RyZWFtQ29udGV4dCAqY3R4LCBSV0NvbnRleHQg KnJ3LAogICAgICAgICAgIHZvaWQgKmN1ciwgU0VJTWVzc2FnZVN0YXRlICpzdGF0ZSkKewogICAg VHlwZSAqY3VycmVudCA9IGN1cjsKCihGVU5DIHdvdWxkIG9mIGNvdXJzZSBhbHNvIGV4cGFuZC4p ClRoZSB1Z2x5bmVzcyBvZiB0aGlzIGFwcHJvYWNoIGlzIG9idmlvdXM6IFRoZXJlIHdvdWxkIGJl IG5vIG9wZW5pbmcgewphZnRlciBTRUlfRlVOQygpLgpiKSBJbiB0aGUgc2Vjb25kIGFwcHJvYWNo IGl0IHdvdWxkIGV4cGFuZCB0bwoKc3RhdGljIGludCBGVU5DKG5hbWUjI19pbnRlcm5hbCkoQ29k ZWRCaXRzdHJlYW1Db250ZXh0ICpjdHgsIFJXQ29udGV4dCAqcncsCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIFR5cGUgKmN1cnJlbnQsIFNFSU1lc3NhZ2VTdGF0ZSAqc3RhdGUpOwpz dGF0aWMgaW50IEZVTkMobmFtZSkoQ29kZWRCaXRzdHJlYW1Db250ZXh0ICpjdHgsIFJXQ29udGV4 dCAqcncsCiAgICAgICAgICAgICAgICAgICAgICB2b2lkICpjdXJyZW50LCBTRUlNZXNzYWdlU3Rh dGUgKnN0YXRlKQp7CiAgICByZXR1cm4gRlVOQyhuYW1lIyNfaW50ZXJuYWwpKGN0eCwgcncsIGN1 cnJlbnQsIHN0YXRlKTsKfQpzdGF0aWMgaW50IEZVTkMobmFtZSMjX2ludGVybmFsKShDb2RlZEJp dHN0cmVhbUNvbnRleHQgKmN0eCwgUldDb250ZXh0ICpydywKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgVHlwZSAqY3VycmVudCwgU0VJTWVzc2FnZVN0YXRlICpzdGF0ZSkKCk9uZSBk b3duc2lkZSBvZiBhcHByb2FjaCBiKSBpcyB0aGF0IHRoZSBfX2Z1bmNfXyBtYWNybyB3b3VsZCBu b3Qgd29yayBhcwpleHBlY3RlZDsgYnV0IHdlIGRvbid0IHVzZSBpdCBhbnl3YXkgcmlnaHQgbm93 LgoKT25lIGNvdWxkIG9mIGNvdXJzZSBpbXBsZW1lbnQgdGhlc2UgU0VJX0ZVTkMgbWFjcm9zIGFz IFNFSV9GVU5DKG5hbWUsCnR5cGUpIG9ubHk7IHRoZW4gdGhlIHR5cGUgd291bGQgYmUgZHVwbGlj YXRlZCBpbiB0aGUgYWN0dWFsIHBhcmFtZXRlciBsaXN0LgoKUGxlYXNlIHRlbGwgbWUgd2hpY2gg YXBwcm9hY2ggeW91IHByZWZlci4KCi0gQW5kcmVhcwoKX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX18KZmZtcGVnLWRldmVsIG1haWxpbmcgbGlzdApmZm1wZWct ZGV2ZWxAZmZtcGVnLm9yZwpodHRwczovL2ZmbXBlZy5vcmcvbWFpbG1hbi9saXN0aW5mby9mZm1w ZWctZGV2ZWwKClRvIHVuc3Vic2NyaWJlLCB2aXNpdCBsaW5rIGFib3ZlLCBvciBlbWFpbApmZm1w ZWctZGV2ZWwtcmVxdWVzdEBmZm1wZWcub3JnIHdpdGggc3ViamVjdCAidW5zdWJzY3JpYmUiLgo=