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 36FB040BE9 for ; Sat, 5 Feb 2022 06:10:17 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 4383968B2DD; Sat, 5 Feb 2022 08:10:16 +0200 (EET) Received: from EUR03-VE1-obe.outbound.protection.outlook.com (mail-oln040092072053.outbound.protection.outlook.com [40.92.72.53]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 11C0368B216 for ; Sat, 5 Feb 2022 08:10:10 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Wc07fc3Dn7aZwpY3DiA2q+4WnDFJnMtJMRTs2Nf8ffCABY5K1gp/2e3DtG8N/2yLIUmsP/Y6BV4vP1+poq6pttlLqtZpde86hvxr16aK+HAB0DjbtZjEF+9zC7UIMLAGzP+Of/5XXK7/B1oJtXCFQ2pj2FHxJFUnd2z59+SyB4irAMx0YZp3BzpGcQISpReILqz44l2DuxcCW03AzWlbyBKkWuy7p9GfhIP1H+NBuHtiwPjv9uuCUlyTeiYrJNTBfGNJ/h7Mb+53RzIqmLOag+HQZ1+KVmB7wivLceUGCfVBQBmXDzfoWZ3s8yUKDAvIH9X8hvP+dQ5rvKSNYK2Fdw== 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=gkY51ioOqArdMxl1I2BETPUezze/PMCQHd1yO+lYSo8=; b=ihmIId4Xa1+q1ETfVjkHZZxNaQfbq+XwRelKWuVs/c7OBd+w32YTQuyJSeWR6M/tXFVoK7ti7HdFx1SqazEJ1KxGwMBPizxwDfuklHATtMSh/JKn1RjIzSxE6AP6FLkqqtJp1yu+kHOBbxjeRHtsrvLvi/GB97PFmbEP9d0hT/CqETtqi5pO134VOrwGoXvivhCgm1GGykWlF7YWsgsQ0/KhTnb4k6rjXgDbqDY5zKrhahy0kJv+sviQsWVLYAHz6iOBXKwTcYJqb/H7wyAN3a8zfd/wmHydnRRQxyuWe6gVMujDLZt9CDf6BRcaxtgsd2ednyLws3XuBORUYPQ+xQ== 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=gkY51ioOqArdMxl1I2BETPUezze/PMCQHd1yO+lYSo8=; b=s/F0fkK21jzvcQlzBcUo3Uo0hAwaZIvkpie+6mWFo1GxttIiMqEFL89fzztyPZk6U54I6cEGafIzMP/yFWd2OSSoSgOabCrMl2ZHZSqzVeDKVpTwX6ZQzCtPiu2sq8AlpR+5RQuRn9k84EF4hQsXKJ3sEqpNocTLxpziJ7mUubZE+AxEs/kNAX6hC+V9ehmB6YlLsGQ589fvkI9BrwP+n/wxz1cuJ6pTMLA1BeZ/Uto8pZJIvxfTZmoGUo6/2oT4r/ctz7UsImeoSD6SzsK6O6nM/sV4mjHSz3EbNUARdxZvWlxfH6praTdS6FS3OqDTi5zRyG5PGR48OA8d4v6kog== Received: from AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) by AM0PR03MB6049.eurprd03.prod.outlook.com (2603:10a6:208:15c::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4951.14; Sat, 5 Feb 2022 06:10:08 +0000 Received: from AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::ac56:2ff4:d304:ab22]) by AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::ac56:2ff4:d304:ab22%5]) with mapi id 15.20.4951.014; Sat, 5 Feb 2022 06:10:08 +0000 Message-ID: Date: Sat, 5 Feb 2022 07:10:06 +0100 Content-Language: en-US To: ffmpeg-devel@ffmpeg.org References: <20220201212056.29712-1-scott.the.elm@gmail.com> <20220203184450.5491-1-scott.the.elm@gmail.com> <20220203184450.5491-9-scott.the.elm@gmail.com> From: Andreas Rheinhardt In-Reply-To: <20220203184450.5491-9-scott.the.elm@gmail.com> X-TMN: [rltVv8sZzqWNrt4nOBxO7LwAM/pXhgEy] X-ClientProxiedBy: AM7PR02CA0019.eurprd02.prod.outlook.com (2603:10a6:20b:100::29) To AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) X-Microsoft-Original-Message-ID: MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: f788180a-2260-4fab-5deb-08d9e86e28cf X-MS-TrafficTypeDiagnostic: AM0PR03MB6049:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: WX4kG3fDkqGWFTAGatQecbwhYmSjscMQ1Zy+7cyKLVE8oyDxChtbmNB09KnZT93Gfe2oVA75ec2PZjP+B56KcjEMgmiAfYNlpdWCNDO1YUpwxgmzOUro5ZKgRCmUw6wiJeQCh5PfMFKA6stXMsGUjQwKO72+Jyq7i9wpTltSQRKKJs2Y/QdonyLleiK1Ht5+edcSum1N+Wmpd5bM1xy4dOv6jQFPcBllcaV79h6mQ0xoxdk5LV2hS1MzSQpwUADN3sL2WLIpSOvQfg6Vu77jPEn9EBqnINVx3q1SL38lKzmkeLwJGF/93GlYAt0X2B+nuR0XsUazctC/IB9bvI/cwnTihrHgxopPZjRwLLjr3ZjxQN6R+L30TA0ta6k6wWd9kotKrWnzNOJ6EtzhWhrnm03t6CgfTnqSjD0wCuj14ZQX0R0XlT7ZNYukL4zZxkbFBmv7iq+NrGOUTbe8Q267zITKXG1zYES0hJjELPGQa+jTcIkvtXp2HaREHOVML+J1IWtJS1W5LzafsM2mFmQdlZFCk72R5IC3IY13x06As4392MVjVFwJ8FomrTQvLnFiWcZ0gb4xh2PGzi+V4NHOCg== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?M1VYcE91RmUyQjg3cHZHYXdScGpiZnJ3bUltUlFUTjJ6eCt6bWlqRGEydDlE?= =?utf-8?B?Y0t5NVRzK0RBVEdhdFBQYndRdlYraXl0ZEpXS3JSNi9nLzcvUnVBdVB5WjU2?= =?utf-8?B?M2p0czdpVTh4TzYwbWM4VTN0Wlh5WklRMzFDS1AvYkR3Q3hIUmJONS9MYmQr?= =?utf-8?B?MDYrOVlKdDVqb3BWMmk0UXE2ODZFMDJ0RkIvZkRaQ250Y1NCdFJJS3huS3I5?= =?utf-8?B?dUs4NlAxNzNQRzV4U0xUZms0TmxpTFRhck9LVGFnSFpYV2RXaHV1eEFCclp0?= =?utf-8?B?ejFueWdrSVU1azVkOEpWeVc2RVlSdE9CcCtvTitSMWtXVnk4ekE3S1F0YUha?= =?utf-8?B?TU10VzN5cVNrcldOVmhFeHFmTWdheUlNMlZuR0VYTmNVbGgwUGhMOHpLdnBD?= =?utf-8?B?RVE4emtTbWRaN3BQSlJRNXY2bEZxYzZOQjU0dUFkTEFoWFJlWTlYZjZFeWRt?= =?utf-8?B?MWJhQW5wY0pSeDN6WmFVcE1CcWxMUU1TeXNtdUdNakwraG85QXJoTWcyTmpm?= =?utf-8?B?WWdSaUdmT01ZVDVZSmhvYUpLZzRJeGFHK0t6SmJ4eVFyWDlrUUFLR3FjY2ZQ?= =?utf-8?B?blV5N2ZvQjZ0ZUk1UVlrL05ONEZGTC96ZU5hZUdMYzZVSjY5ODNXWFN0SVdh?= =?utf-8?B?WjBvdzhpMXJtbU5FM1ovSlRJelNCNEgxMEJEdzdhKzQ3eDJYQnpjMFFnQnk5?= =?utf-8?B?anFNeWhPOEJURlJmVHpKdWZIVnE4YU5MUm9BcXRCb3dieDB5UGJZR0luNnBM?= =?utf-8?B?Y25SaFNZcEY4UXNTQUpPb0g3SVZaTlhUMmI4dGhjVXRTK3VwSDlKVnhwcDdJ?= =?utf-8?B?SjQ1S253cVplUExrSDlEY2phS01rVDRYQ3BoaGk2UzVtQzdNNFVWSlF0ejV5?= =?utf-8?B?WGpNMld3cWUwSW9mMnpNeWt2cVBVRlV1VzB3MUxBODRMYlc4MktINFNPaHZR?= =?utf-8?B?SGFxS2ZRSkhNeVpSaHJ2U2ttYkVDZ2tVQUhXWDE1eFhFZ28rREhBNWlMdTFu?= =?utf-8?B?NWEvOWtVZzNIT01SWm13Tm5zcFdrTmVHS2xwdWVKU0c1eDFQL2xCWlNMQTY4?= =?utf-8?B?QXBZTzJLL3Aza1pqaUNYdGFaOG5OMHBWWlRTeTBPWXk0aFdLb2svbThZcjZv?= =?utf-8?B?QTlxU1Ztd2F1clFXWDRHMGdOam1CNE1BMkdSYjRhYVNzc0h1Y0czaGpxL3FV?= =?utf-8?B?S2tyWldiYnFjeitWU3ExVDVmQWdJeHYxR2RMZUJEd0FpVmduQm9MOTU1YjFY?= =?utf-8?B?aThYZm5ZbXZVQmxmc2IvYlBKYzhpQTU4M3hYOUV5aDVMSkNoUT09?= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: f788180a-2260-4fab-5deb-08d9e86e28cf X-MS-Exchange-CrossTenant-AuthSource: AM7PR03MB6660.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Feb 2022 06:10:07.9922 (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: AM0PR03MB6049 Subject: Re: [FFmpeg-devel] [PATCH v2 08/13] avpriv_find_start_code(): add parameter for ignoring history 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: U2NvdHQgVGhlaXNlbjoKPiBJZiB0cnVlLCB0aGlzIHNraXBzIHRoZSBmb3IgbG9vcCBhdCB0aGUg YmVnaW5uaW5nIG9mIGF2cHJpdl9maW5kX3N0YXJ0X2NvZGUoKS4KPiAKPiBJZiB0aGUgc3RhdGUv c3RhcnRfY29kZSBpbnB1dCBpcyBhIGxvY2FsIHZhcmlhYmxlIGFuZCBvbmx5IG9uZSBidWZmZXIg aXMgdXNlZCwKPiB0aGVuIG5vIGhpc3RvcnkgaXMgbmVlZGVkLgo+IAo+IEluIGxvb3BzIGFuZCBp bmxpbmUgZnVuY3Rpb25zOiBpZiBpZ25vcmluZyBoaXN0b3J5LCBkb24ndCBpbml0aWFsaXplIHN0 YXJ0X2NvZGUsCj4gc28gaXQgaXNuJ3QgcmVzZXQgdHdpY2UgZWFjaCB0aW1lLgo+IAo+IGNic19t cGVnMi5jIG5lZWRzIGZ1cnRoZXIgY2hhbmdlcyB0byB1c2Ugb3V0cHV0X29ubHkgPSB0cnVlLgo+ IAo+IFVzZSBvdXRwdXRfb25seSA9IDAgZm9yIG5vIGZ1bmN0aW9uYWwgY2hhbmdlLiAgRm9yIGV4 YW1wbGUsIGlmIHRoZSBzdGF0ZS9zdGFydF9jb2RlCj4gaXMgcGFzc2VkIGludG8gdGhlIGZ1bmN0 aW9uIGNhbGxpbmcgYXZwcml2X2ZpbmRfc3RhcnRfY29kZSgpLgo+IC0tLQo+ICBsaWJhdmNvZGVj L2NhdnNkZWMuYyAgICAgICAgICAgICAgICAgIHwgIDIgKy0KPiAgbGliYXZjb2RlYy9jYnNfbXBl ZzIuYyAgICAgICAgICAgICAgICB8ICA0ICsrLS0KPiAgbGliYXZjb2RlYy9leHRyYWN0X2V4dHJh ZGF0YV9ic2YuYyAgICB8ICA0ICsrLS0KPiAgbGliYXZjb2RlYy9oMjY0X3BhcnNlci5jICAgICAg ICAgICAgICB8ICAyICstCj4gIGxpYmF2Y29kZWMvaW50ZXJuYWwuaCAgICAgICAgICAgICAgICAg fCAgOSArKysrKysrKy0KPiAgbGliYXZjb2RlYy9tcGVnMTIuYyAgICAgICAgICAgICAgICAgICB8 ICAyICstCj4gIGxpYmF2Y29kZWMvbXBlZzEyZGVjLmMgICAgICAgICAgICAgICAgfCAgOSArKysr LS0tLS0KPiAgbGliYXZjb2RlYy9tcGVnNF91bnBhY2tfYmZyYW1lc19ic2YuYyB8ICAzICstLQo+ ICBsaWJhdmNvZGVjL21wZWd2aWRlb19wYXJzZXIuYyAgICAgICAgIHwgIDUgKystLS0KPiAgbGli YXZjb2RlYy9yZW1vdmVfZXh0cmFkYXRhX2JzZi5jICAgICB8ICA4ICsrKystLS0tCj4gIGxpYmF2 Y29kZWMvdXRpbHMuYyAgICAgICAgICAgICAgICAgICAgfCAxNCArKysrKysrKysrKysrLQo+ICBs aWJhdmNvZGVjL3ZjMV9jb21tb24uaCAgICAgICAgICAgICAgIHwgIDQgKystLQo+ICBsaWJhdmZv cm1hdC9hdmlkZWMuYyAgICAgICAgICAgICAgICAgIHwgIDYgKysrLS0tCj4gIGxpYmF2Zm9ybWF0 L2F2czJkZWMuYyAgICAgICAgICAgICAgICAgfCAgMiArLQo+ICBsaWJhdmZvcm1hdC9hdnMzZGVj LmMgICAgICAgICAgICAgICAgIHwgIDIgKy0KPiAgbGliYXZmb3JtYXQvY2F2c3ZpZGVvZGVjLmMg ICAgICAgICAgICB8ICAyICstCj4gIGxpYmF2Zm9ybWF0L21wZWd0c2VuYy5jICAgICAgICAgICAg ICAgfCAgNCArKy0tCj4gIGxpYmF2Zm9ybWF0L21wZWd2aWRlb2RlYy5jICAgICAgICAgICAgfCAg MiArLQo+ICBsaWJhdmZvcm1hdC9teGZlbmMuYyAgICAgICAgICAgICAgICAgIHwgIDIgKy0KPiAg bGliYXZmb3JtYXQvcnRwZW5jX21wdi5jICAgICAgICAgICAgICB8ICA0ICsrLS0KPiAgMjAgZmls ZXMgY2hhbmdlZCwgNTMgaW5zZXJ0aW9ucygrKSwgMzcgZGVsZXRpb25zKC0pCj4gCj4gZGlmZiAt LWdpdCBhL2xpYmF2Y29kZWMvY2F2c2RlYy5jIGIvbGliYXZjb2RlYy9jYXZzZGVjLmMKPiBpbmRl eCBhNjIxNzdkNTIwLi5jNGM3OGNkNTM0IDEwMDY0NAo+IC0tLSBhL2xpYmF2Y29kZWMvY2F2c2Rl Yy5jCj4gKysrIGIvbGliYXZjb2RlYy9jYXZzZGVjLmMKPiBAQCAtMTI0OCw3ICsxMjQ4LDcgQEAg c3RhdGljIGludCBjYXZzX2RlY29kZV9mcmFtZShBVkNvZGVjQ29udGV4dCAqYXZjdHgsIHZvaWQg KmRhdGEsIGludCAqZ290X2ZyYW1lLAo+ICAgICAgYnVmX3B0ciA9IGJ1ZjsKPiAgICAgIGJ1Zl9l bmQgPSBidWYgKyBidWZfc2l6ZTsKPiAgICAgIGZvcig7Oykgewo+IC0gICAgICAgIGJ1Zl9wdHIg PSBhdnByaXZfZmluZF9zdGFydF9jb2RlKGJ1Zl9wdHIsIGJ1Zl9lbmQsICZzdGMpOwo+ICsgICAg ICAgIGJ1Zl9wdHIgPSBhdnByaXZfZmluZF9zdGFydF9jb2RlKGJ1Zl9wdHIsIGJ1Zl9lbmQsICZz dGMsIDEpOwo+ICAgICAgICAgIGlmICghYXZwcml2X3N0YXJ0X2NvZGVfaXNfdmFsaWQoc3RjKSB8 fCBidWZfcHRyID09IGJ1Zl9lbmQpIHsKPiAgICAgICAgICAgICAgaWYgKCFoLT5zdGMpCj4gICAg ICAgICAgICAgICAgICBhdl9sb2coaC0+YXZjdHgsIEFWX0xPR19XQVJOSU5HLCAibm8gZnJhbWUg ZGVjb2RlZFxuIik7Cj4gZGlmZiAtLWdpdCBhL2xpYmF2Y29kZWMvY2JzX21wZWcyLmMgYi9saWJh dmNvZGVjL2Nic19tcGVnMi5jCj4gaW5kZXggZWI0NTkyOTEzMi4uZDQxNDc3NjIwZSAxMDA2NDQK PiAtLS0gYS9saWJhdmNvZGVjL2Nic19tcGVnMi5jCj4gKysrIGIvbGliYXZjb2RlYy9jYnNfbXBl ZzIuYwo+IEBAIC0xNTEsNyArMTUxLDcgQEAgc3RhdGljIGludCBjYnNfbXBlZzJfc3BsaXRfZnJh Z21lbnQoQ29kZWRCaXRzdHJlYW1Db250ZXh0ICpjdHgsCj4gICAgICBpbnQgZXJyLCBpLCBmaW5h bCA9IDA7Cj4gIAo+ICAgICAgc3RhcnQgPSBhdnByaXZfZmluZF9zdGFydF9jb2RlKGZyYWctPmRh dGEsIGZyYWctPmRhdGEgKyBmcmFnLT5kYXRhX3NpemUsCj4gLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgJnN0YXJ0X2NvZGUpOwo+ICsgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICZzdGFydF9jb2RlLCAxKTsKPiAgICAgIGlmICghYXZwcml2X3N0YXJ0X2NvZGVf aXNfdmFsaWQoc3RhcnRfY29kZSkpIHsKPiAgICAgICAgICAvLyBObyBzdGFydCBjb2RlIGZvdW5k Lgo+ICAgICAgICAgIHJldHVybiBBVkVSUk9SX0lOVkFMSUREQVRBOwo+IEBAIC0xNjksNyArMTY5 LDcgQEAgc3RhdGljIGludCBjYnNfbXBlZzJfc3BsaXRfZnJhZ21lbnQoQ29kZWRCaXRzdHJlYW1D b250ZXh0ICpjdHgsCj4gICAgICAgICAgfQo+ICAKPiAgICAgICAgICBlbmQgPSBhdnByaXZfZmlu ZF9zdGFydF9jb2RlKHN0YXJ0LS0sIGZyYWctPmRhdGEgKyBmcmFnLT5kYXRhX3NpemUsCj4gLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmc3RhcnRfY29kZSk7Cj4gKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmc3RhcnRfY29kZSwgMCk7Cj4gIAo+ICAg ICAgICAgIC8vIHN0YXJ0IHBvaW50cyB0byB0aGUgYnl0ZSBjb250YWluaW5nIHRoZSBzdGFydF9j b2RlX2lkZW50aWZpZXIKPiAgICAgICAgICAvLyAobWF5IGJlIHRoZSBsYXN0IGJ5dGUgb2YgZnJh Z21lbnQtPmRhdGEpOyBlbmQgcG9pbnRzIHRvIHRoZSBieXRlCj4gZGlmZiAtLWdpdCBhL2xpYmF2 Y29kZWMvZXh0cmFjdF9leHRyYWRhdGFfYnNmLmMgYi9saWJhdmNvZGVjL2V4dHJhY3RfZXh0cmFk YXRhX2JzZi5jCj4gaW5kZXggNGRmMWM5NzEzOS4uMWEzZGRjZWZmMiAxMDA2NDQKPiAtLS0gYS9s aWJhdmNvZGVjL2V4dHJhY3RfZXh0cmFkYXRhX2JzZi5jCj4gKysrIGIvbGliYXZjb2RlYy9leHRy YWN0X2V4dHJhZGF0YV9ic2YuYwo+IEBAIC0yMzcsNyArMjM3LDcgQEAgc3RhdGljIGludCBleHRy YWN0X2V4dHJhZGF0YV92YzEoQVZCU0ZDb250ZXh0ICpjdHgsIEFWUGFja2V0ICpwa3QsCj4gICAg ICBpbnQgaGFzX2V4dHJhZGF0YSA9IDAsIGV4dHJhZGF0YV9zaXplID0gMDsKPiAgCj4gICAgICB3 aGlsZSAocHRyIDwgZW5kKSB7Cj4gLSAgICAgICAgcHRyID0gYXZwcml2X2ZpbmRfc3RhcnRfY29k ZShwdHIsIGVuZCwgJnN0YXRlKTsKPiArICAgICAgICBwdHIgPSBhdnByaXZfZmluZF9zdGFydF9j b2RlKHB0ciwgZW5kLCAmc3RhdGUsIDEpOwo+ICAgICAgICAgIGlmIChzdGF0ZSA9PSBWQzFfQ09E RV9TRVFIRFIgfHwgc3RhdGUgPT0gVkMxX0NPREVfRU5UUllQT0lOVCkgewo+ICAgICAgICAgICAg ICBoYXNfZXh0cmFkYXRhID0gMTsKPiAgICAgICAgICB9IGVsc2UgaWYgKGhhc19leHRyYWRhdGEg JiYgYXZwcml2X3N0YXJ0X2NvZGVfaXNfdmFsaWQoc3RhdGUpKSB7Cj4gQEAgLTMwMCw3ICszMDAs NyBAQCBzdGF0aWMgaW50IGV4dHJhY3RfZXh0cmFkYXRhX21wZWc0KEFWQlNGQ29udGV4dCAqY3R4 LCBBVlBhY2tldCAqcGt0LAo+ICAgICAgdWludDMyX3Qgc3RhdGUgPSBVSU5UMzJfTUFYOwo+ICAK PiAgICAgIHdoaWxlIChwdHIgPCBlbmQpIHsKPiAtICAgICAgICBwdHIgPSBhdnByaXZfZmluZF9z dGFydF9jb2RlKHB0ciwgZW5kLCAmc3RhdGUpOwo+ICsgICAgICAgIHB0ciA9IGF2cHJpdl9maW5k X3N0YXJ0X2NvZGUocHRyLCBlbmQsICZzdGF0ZSwgMSk7Cj4gICAgICAgICAgaWYgKHN0YXRlID09 IDB4MUIzIHx8IHN0YXRlID09IDB4MUI2KSB7Cj4gICAgICAgICAgICAgIGlmIChwdHIgLSBwa3Qt PmRhdGEgPiA0KSB7Cj4gICAgICAgICAgICAgICAgICAqc2l6ZSA9IHB0ciAtIDQgLSBwa3QtPmRh dGE7Cj4gZGlmZiAtLWdpdCBhL2xpYmF2Y29kZWMvaDI2NF9wYXJzZXIuYyBiL2xpYmF2Y29kZWMv aDI2NF9wYXJzZXIuYwo+IGluZGV4IDQwMDJiY2FkNzcuLjBjYTQxMWM1OTIgMTAwNjQ0Cj4gLS0t IGEvbGliYXZjb2RlYy9oMjY0X3BhcnNlci5jCj4gKysrIGIvbGliYXZjb2RlYy9oMjY0X3BhcnNl ci5jCj4gQEAgLTcyLDcgKzcyLDcgQEAgc3RhdGljIGludCBmaW5kX3N0YXJ0X2NvZGUoY29uc3Qg dWludDhfdCAqYnVmLCBpbnQgYnVmX3NpemUsCj4gIHsKPiAgICAgIHVpbnQzMl90IHN0YXRlID0g LTE7Cj4gIAo+IC0gICAgYnVmX2luZGV4ID0gYXZwcml2X2ZpbmRfc3RhcnRfY29kZShidWYgKyBi dWZfaW5kZXgsIGJ1ZiArIG5leHRfYXZjICsgMSwgJnN0YXRlKSAtIGJ1ZiAtIDE7Cj4gKyAgICBi dWZfaW5kZXggPSBhdnByaXZfZmluZF9zdGFydF9jb2RlKGJ1ZiArIGJ1Zl9pbmRleCwgYnVmICsg bmV4dF9hdmMgKyAxLCAmc3RhdGUsIDEpIC0gYnVmIC0gMTsKPiAgCj4gICAgICByZXR1cm4gRkZN SU4oYnVmX2luZGV4LCBidWZfc2l6ZSk7Cj4gIH0KPiBkaWZmIC0tZ2l0IGEvbGliYXZjb2RlYy9p bnRlcm5hbC5oIGIvbGliYXZjb2RlYy9pbnRlcm5hbC5oCj4gaW5kZXggZGFkZDhkNGExMC4uNTdl MjgxNmE5NSAxMDA2NDQKPiAtLS0gYS9saWJhdmNvZGVjL2ludGVybmFsLmgKPiArKysgYi9saWJh dmNvZGVjL2ludGVybmFsLmgKPiBAQCAtMzA5LDYgKzMwOSw5IEBAIHN0YXRpYyBhdl9hbHdheXNf aW5saW5lIGludCBhdnByaXZfc3RhcnRfY29kZV9pc192YWxpZCh1aW50MzJfdCBzdGFydF9jb2Rl KSB7Cj4gICAqIEJ5IHByZXNlcnZpbmcgdGhlIDxiPkBwIHN0YXJ0X2NvZGU8L2I+IHZhbHVlIGJl dHdlZW4gc3Vic2VxdWVudCBjYWxscywgdGhlIGNhbGxlciBjYW4KPiAgICogZGV0ZWN0IHN0YXJ0 IGNvZGVzIGFjcm9zcyBidWZmZXIgYm91bmRhcmllcy4KPiAgICoKPiArICogSWYgPGI+QHAgb3V0 cHV0X29ubHk8L2I+IGlzIHRydWUsIDxiPkBwIHN0YXJ0X2NvZGU8L2I+IGlzIHJlc2V0IHRvIDxi PkBjIH4wIDwvYj4KPiArICogaWYgQGYkIHAgLSBlbmQgPCA0IEBmJC4KPiArICoKPiAgICogQHBh cmFtW2luXSBwICAgICBBIHBvaW50ZXIgdG8gdGhlIHN0YXJ0IG9mIHRoZSBtZW1vcnkgYnVmZmVy IHRvIHNjYW4uCj4gICAqIEBwYXJhbVtpbl0gZW5kICAgQSBwb2ludGVyIHRvIHRoZSBwYXN0LXRo ZS1lbmQgbWVtb3J5IGFkZHJlc3MgZm9yIHRoZSBidWZmZXIKPiAgICogICAgICAgICAgICAgICAg ICBnaXZlbiBieSBAcCBwLiAgPGI+QHAgcDwvYj4gbXVzdCBiZSDiiaQgPGI+QHAgZW5kPC9iPi4K PiBAQCAtMzIxLDEyICszMjQsMTYgQEAgc3RhdGljIGF2X2Fsd2F5c19pbmxpbmUgaW50IGF2cHJp dl9zdGFydF9jb2RlX2lzX3ZhbGlkKHVpbnQzMl90IHN0YXJ0X2NvZGUpIHsKPiAgICogICAgICAg ICAgICAgICAgICAgICBzdGFydCBjb2RlICh0aGUgNCBieXRlcyBwcmlvciB0byB0aGUgcmV0dXJu ZWQgdmFsdWUsCj4gICAqICAgICAgICAgICAgICAgICAgICAgdXNpbmcgdGhlIGlucHV0IGhpc3Rv cnkgaWYgQGYkIHAgLSBlbmQgPCA0IEBmJCkuCj4gICAqCj4gKyAqIEBwYXJhbVtpbl0gb3V0cHV0 X29ubHkgICBCb29sZWFuIHRoYXQgaWYgdHJ1ZSBtYWtlcyA8Yj5AcCBzdGFydF9jb2RlPC9iPiBh bgo+ICsgKiAgICAgICAgICAgICAgICAgICAgICAgICAgb3V0cHV0IG9ubHkgcGFyYW1ldGVyLgo+ ICsgKgo+ICAgKiBAcmV0dXJuIEEgcG9pbnRlciB0byB0aGUgbWVtb3J5IGFkZHJlc3MgZm9sbG93 aW5nIHRoZSBmb3VuZCBzdGFydCBjb2RlLCBvciA8Yj5AcCBlbmQ8L2I+Cj4gICAqICAgICAgICAg aWYgbm8gc3RhcnQgY29kZSB3YXMgZm91bmQuCj4gICAqLwo+ICBjb25zdCB1aW50OF90ICphdnBy aXZfZmluZF9zdGFydF9jb2RlKGNvbnN0IHVpbnQ4X3QgKnAsCj4gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCAqIGNvbnN0IGVuZCwKPiAtICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCAqIGNvbnN0IHN0YXJ0X2Nv ZGUpOwo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90ICog Y29uc3Qgc3RhcnRfY29kZSwKPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBpbnQgb3V0cHV0X29ubHkpOwo+ICAKPiAgaW50IGF2cHJpdl9jb2RlY19nZXRfY2FwX3NraXBf ZnJhbWVfZmlsbF9wYXJhbShjb25zdCBBVkNvZGVjICpjb2RlYyk7Cj4gIAo+IGRpZmYgLS1naXQg YS9saWJhdmNvZGVjL21wZWcxMi5jIGIvbGliYXZjb2RlYy9tcGVnMTIuYwo+IGluZGV4IGU0NWJj NzQ0NzkuLmQ3ODhhZWI5ZTIgMTAwNjQ0Cj4gLS0tIGEvbGliYXZjb2RlYy9tcGVnMTIuYwo+ICsr KyBiL2xpYmF2Y29kZWMvbXBlZzEyLmMKPiBAQCAtMjAzLDcgKzIwMyw3IEBAIGludCBmZl9tcGVn MV9maW5kX2ZyYW1lX2VuZChQYXJzZUNvbnRleHQgKnBjLCBjb25zdCB1aW50OF90ICpidWYsIGlu dCBidWZfc2l6ZSwKPiAgICAgICAgICAgICAgfQo+ICAgICAgICAgICAgICBzdGF0ZSsrOwo+ICAg ICAgICAgIH0gZWxzZSB7Cj4gLSAgICAgICAgICAgIGkgPSBhdnByaXZfZmluZF9zdGFydF9jb2Rl KGJ1ZiArIGksIGJ1ZiArIGJ1Zl9zaXplLCAmc3RhdGUpIC0gYnVmIC0gMTsKPiArICAgICAgICAg ICAgaSA9IGF2cHJpdl9maW5kX3N0YXJ0X2NvZGUoYnVmICsgaSwgYnVmICsgYnVmX3NpemUsICZz dGF0ZSwgMCkgLSBidWYgLSAxOwo+ICAgICAgICAgICAgICBpZiAocGMtPmZyYW1lX3N0YXJ0X2Zv dW5kID09IDAgJiYgc3RhdGUgPj0gU0xJQ0VfTUlOX1NUQVJUX0NPREUgJiYgc3RhdGUgPD0gU0xJ Q0VfTUFYX1NUQVJUX0NPREUpIHsKPiAgICAgICAgICAgICAgICAgIGkrKzsKPiAgICAgICAgICAg ICAgICAgIHBjLT5mcmFtZV9zdGFydF9mb3VuZCA9IDQ7Cj4gZGlmZiAtLWdpdCBhL2xpYmF2Y29k ZWMvbXBlZzEyZGVjLmMgYi9saWJhdmNvZGVjL21wZWcxMmRlYy5jCj4gaW5kZXggNmIwYjg0YWU2 NC4uY2FkMTdkMWIxYSAxMDA2NDQKPiAtLS0gYS9saWJhdmNvZGVjL21wZWcxMmRlYy5jCj4gKysr IGIvbGliYXZjb2RlYy9tcGVnMTJkZWMuYwo+IEBAIC0xNzcxLDcgKzE3NzEsNyBAQCBzdGF0aWMg aW50IG1wZWdfZGVjb2RlX3NsaWNlKE1wZWdFbmNDb250ZXh0ICpzLCBpbnQgbWJfeSwKPiAgICAg IGlmIChhdmN0eC0+aHdhY2NlbCAmJiBhdmN0eC0+aHdhY2NlbC0+ZGVjb2RlX3NsaWNlKSB7Cj4g ICAgICAgICAgY29uc3QgdWludDhfdCAqYnVmX2VuZCwgKmJ1Zl9zdGFydCA9ICpidWYgLSA0OyAv KiBpbmNsdWRlIHN0YXJ0X2NvZGUgKi8KPiAgICAgICAgICB1aW50MzJfdCBzdGFydF9jb2RlID0g fjA7Cj4gLSAgICAgICAgYnVmX2VuZCA9IGF2cHJpdl9maW5kX3N0YXJ0X2NvZGUoYnVmX3N0YXJ0 ICsgMiwgKmJ1ZiArIGJ1Zl9zaXplLCAmc3RhcnRfY29kZSk7Cj4gKyAgICAgICAgYnVmX2VuZCA9 IGF2cHJpdl9maW5kX3N0YXJ0X2NvZGUoYnVmX3N0YXJ0ICsgMiwgKmJ1ZiArIGJ1Zl9zaXplLCAm c3RhcnRfY29kZSwgMSk7Cj4gICAgICAgICAgaWYgKGJ1Zl9lbmQgPCAqYnVmICsgYnVmX3NpemUp Cj4gICAgICAgICAgICAgIGJ1Zl9lbmQgLT0gNDsKPiAgICAgICAgICBzLT5tYl95ID0gbWJfeTsK PiBAQCAtMjAyMCw4ICsyMDIwLDcgQEAgc3RhdGljIGludCBzbGljZV9kZWNvZGVfdGhyZWFkKEFW Q29kZWNDb250ZXh0ICpjLCB2b2lkICphcmcpCj4gICAgICAgICAgaWYgKHMtPm1iX3kgPT0gcy0+ ZW5kX21iX3kpCj4gICAgICAgICAgICAgIHJldHVybiAwOwo+ICAKPiAtICAgICAgICBzdGFydF9j b2RlID0gLTE7Cj4gLSAgICAgICAgYnVmICAgICAgICA9IGF2cHJpdl9maW5kX3N0YXJ0X2NvZGUo YnVmLCBzLT5nYi5idWZmZXJfZW5kLCAmc3RhcnRfY29kZSk7Cj4gKyAgICAgICAgYnVmICAgICAg ICA9IGF2cHJpdl9maW5kX3N0YXJ0X2NvZGUoYnVmLCBzLT5nYi5idWZmZXJfZW5kLCAmc3RhcnRf Y29kZSwgMSk7Cj4gICAgICAgICAgaWYgKHN0YXJ0X2NvZGUgPCBTTElDRV9NSU5fU1RBUlRfQ09E RSB8fCBzdGFydF9jb2RlID4gU0xJQ0VfTUFYX1NUQVJUX0NPREUpCj4gICAgICAgICAgICAgIHJl dHVybiBBVkVSUk9SX0lOVkFMSUREQVRBOwo+ICAgICAgICAgIG1iX3kgICAgICAgPSBzdGFydF9j b2RlIC0gU0xJQ0VfTUlOX1NUQVJUX0NPREU7Cj4gQEAgLTI0NzUsOCArMjQ3NCw4IEBAIHN0YXRp YyBpbnQgZGVjb2RlX2NodW5rcyhBVkNvZGVjQ29udGV4dCAqYXZjdHgsIEFWRnJhbWUgKnBpY3R1 cmUsCj4gIAo+ICAgICAgZm9yICg7Oykgewo+ICAgICAgICAgIC8qIGZpbmQgbmV4dCBzdGFydCBj b2RlICovCj4gLSAgICAgICAgdWludDMyX3Qgc3RhcnRfY29kZSA9IC0xOwo+IC0gICAgICAgIGJ1 Zl9wdHIgPSBhdnByaXZfZmluZF9zdGFydF9jb2RlKGJ1Zl9wdHIsIGJ1Zl9lbmQsICZzdGFydF9j b2RlKTsKPiArICAgICAgICB1aW50MzJfdCBzdGFydF9jb2RlOwo+ICsgICAgICAgIGJ1Zl9wdHIg PSBhdnByaXZfZmluZF9zdGFydF9jb2RlKGJ1Zl9wdHIsIGJ1Zl9lbmQsICZzdGFydF9jb2RlLCAx KTsKPiAgICAgICAgICBpZiAoIWF2cHJpdl9zdGFydF9jb2RlX2lzX3ZhbGlkKHN0YXJ0X2NvZGUp KSB7Cj4gICAgICAgICAgICAgIGlmICghc2tpcF9mcmFtZSkgewo+ICAgICAgICAgICAgICAgICAg aWYgKEhBVkVfVEhSRUFEUyAmJgo+IGRpZmYgLS1naXQgYS9saWJhdmNvZGVjL21wZWc0X3VucGFj a19iZnJhbWVzX2JzZi5jIGIvbGliYXZjb2RlYy9tcGVnNF91bnBhY2tfYmZyYW1lc19ic2YuYwo+ IGluZGV4IDZmODU5NTcxM2QuLjM3ZmIwZTRiNjYgMTAwNjQ0Cj4gLS0tIGEvbGliYXZjb2RlYy9t cGVnNF91bnBhY2tfYmZyYW1lc19ic2YuYwo+ICsrKyBiL2xpYmF2Y29kZWMvbXBlZzRfdW5wYWNr X2JmcmFtZXNfYnNmLmMKPiBAQCAtMzYsOCArMzYsNyBAQCBzdGF0aWMgdm9pZCBzY2FuX2J1ZmZl cihjb25zdCB1aW50OF90ICpidWYsIGludCBidWZfc2l6ZSwKPiAgICAgIGNvbnN0IHVpbnQ4X3Qg KmVuZCA9IGJ1ZiArIGJ1Zl9zaXplLCAqcG9zID0gYnVmOwo+ICAKPiAgICAgIHdoaWxlIChwb3Mg PCBlbmQpIHsKPiAtICAgICAgICBzdGFydGNvZGUgPSAtMTsKPiAtICAgICAgICBwb3MgPSBhdnBy aXZfZmluZF9zdGFydF9jb2RlKHBvcywgZW5kLCAmc3RhcnRjb2RlKTsKPiArICAgICAgICBwb3Mg PSBhdnByaXZfZmluZF9zdGFydF9jb2RlKHBvcywgZW5kLCAmc3RhcnRjb2RlLCAxKTsKPiAgCj4g ICAgICAgICAgaWYgKHN0YXJ0Y29kZSA9PSBVU0VSX0RBVEFfU1RBUlRDT0RFICYmIHBvc19wKSB7 Cj4gICAgICAgICAgICAgIC8qIGNoZWNrIGlmIHRoZSAoRGl2WCkgdXNlcmRhdGEgc3RyaW5nIGVu ZHMgd2l0aCAncCcgKHBhY2tlZCkgKi8KPiBkaWZmIC0tZ2l0IGEvbGliYXZjb2RlYy9tcGVndmlk ZW9fcGFyc2VyLmMgYi9saWJhdmNvZGVjL21wZWd2aWRlb19wYXJzZXIuYwo+IGluZGV4IGYwODk3 ZTdlMmMuLjE0ZTM1MGVhZWEgMTAwNjQ0Cj4gLS0tIGEvbGliYXZjb2RlYy9tcGVndmlkZW9fcGFy c2VyLmMKPiArKysgYi9saWJhdmNvZGVjL21wZWd2aWRlb19wYXJzZXIuYwo+IEBAIC02OCw3ICs2 OCw3IEBAIHN0YXRpYyBpbnQgbXBlZzFfZmluZF9mcmFtZV9lbmQoUGFyc2VDb250ZXh0ICpwYywg Y29uc3QgdWludDhfdCAqYnVmLAo+ICAgICAgICAgICAgICB9Cj4gICAgICAgICAgICAgIHN0YXRl Kys7Cj4gICAgICAgICAgfSBlbHNlIHsKPiAtICAgICAgICAgICAgaSA9IGF2cHJpdl9maW5kX3N0 YXJ0X2NvZGUoYnVmICsgaSwgYnVmICsgYnVmX3NpemUsICZzdGF0ZSkgLSBidWYgLSAxOwo+ICsg ICAgICAgICAgICBpID0gYXZwcml2X2ZpbmRfc3RhcnRfY29kZShidWYgKyBpLCBidWYgKyBidWZf c2l6ZSwgJnN0YXRlLCAwKSAtIGJ1ZiAtIDE7Cj4gICAgICAgICAgICAgIGlmIChwYy0+ZnJhbWVf c3RhcnRfZm91bmQgPT0gMCAmJiBzdGF0ZSA+PSBTTElDRV9NSU5fU1RBUlRfQ09ERSAmJiBzdGF0 ZSA8PSBTTElDRV9NQVhfU1RBUlRfQ09ERSkgewo+ICAgICAgICAgICAgICAgICAgaSsrOwo+ICAg ICAgICAgICAgICAgICAgcGMtPmZyYW1lX3N0YXJ0X2ZvdW5kID0gNDsKPiBAQCAtMTIwLDggKzEy MCw3IEBAIHN0YXRpYyB2b2lkIG1wZWd2aWRlb19leHRyYWN0X2hlYWRlcnMoQVZDb2RlY1BhcnNl ckNvbnRleHQgKnMsCj4gICAgICBzLT5yZXBlYXRfcGljdCA9IDA7Cj4gIAo+ICAgICAgd2hpbGUg KGJ1ZiA8IGJ1Zl9lbmQpIHsKPiAtICAgICAgICBzdGFydF9jb2RlPSAtMTsKPiAtICAgICAgICBi dWY9IGF2cHJpdl9maW5kX3N0YXJ0X2NvZGUoYnVmLCBidWZfZW5kLCAmc3RhcnRfY29kZSk7Cj4g KyAgICAgICAgYnVmID0gYXZwcml2X2ZpbmRfc3RhcnRfY29kZShidWYsIGJ1Zl9lbmQsICZzdGFy dF9jb2RlLCAxKTsKPiAgICAgICAgICBieXRlc19sZWZ0ID0gYnVmX2VuZCAtIGJ1ZjsKPiAgICAg ICAgICBzd2l0Y2goc3RhcnRfY29kZSkgewo+ICAgICAgICAgIGNhc2UgUElDVFVSRV9TVEFSVF9D T0RFOgo+IGRpZmYgLS1naXQgYS9saWJhdmNvZGVjL3JlbW92ZV9leHRyYWRhdGFfYnNmLmMgYi9s aWJhdmNvZGVjL3JlbW92ZV9leHRyYWRhdGFfYnNmLmMKPiBpbmRleCAwZTQyMTc0OTEyLi40NmU5 MTQwNTNkIDEwMDY0NAo+IC0tLSBhL2xpYmF2Y29kZWMvcmVtb3ZlX2V4dHJhZGF0YV9ic2YuYwo+ ICsrKyBiL2xpYmF2Y29kZWMvcmVtb3ZlX2V4dHJhZGF0YV9ic2YuYwo+IEBAIC03MCw3ICs3MCw3 IEBAIHN0YXRpYyBpbnQgaDI2NF9zcGxpdChjb25zdCB1aW50OF90ICpidWYsIGludCBidWZfc2l6 ZSkKPiAgICAgIGludCBuYWx1X3R5cGU7Cj4gIAo+ICAgICAgd2hpbGUgKHB0ciA8IGVuZCkgewo+ IC0gICAgICAgIHB0ciA9IGF2cHJpdl9maW5kX3N0YXJ0X2NvZGUocHRyLCBlbmQsICZzdGF0ZSk7 Cj4gKyAgICAgICAgcHRyID0gYXZwcml2X2ZpbmRfc3RhcnRfY29kZShwdHIsIGVuZCwgJnN0YXRl LCAxKTsKPiAgICAgICAgICBpZiAoIWF2cHJpdl9zdGFydF9jb2RlX2lzX3ZhbGlkKHN0YXRlKSkK PiAgICAgICAgICAgICAgYnJlYWs7Cj4gICAgICAgICAgbmFsdV90eXBlID0gc3RhdGUgJiAweDFG Owo+IEBAIC0xMDgsNyArMTA4LDcgQEAgc3RhdGljIGludCBoZXZjX3NwbGl0KGNvbnN0IHVpbnQ4 X3QgKmJ1ZiwgaW50IGJ1Zl9zaXplKQo+ICAgICAgaW50IG51dDsKPiAgCj4gICAgICB3aGlsZSAo cHRyIDwgZW5kKSB7Cj4gLSAgICAgICAgcHRyID0gYXZwcml2X2ZpbmRfc3RhcnRfY29kZShwdHIs IGVuZCwgJnN0YXRlKTsKPiArICAgICAgICBwdHIgPSBhdnByaXZfZmluZF9zdGFydF9jb2RlKHB0 ciwgZW5kLCAmc3RhdGUsIDEpOwo+ICAgICAgICAgIGlmICghYXZwcml2X3N0YXJ0X2NvZGVfaXNf dmFsaWQoc3RhdGUpKQo+ICAgICAgICAgICAgICBicmVhazsKPiAgICAgICAgICBudXQgPSAoc3Rh dGUgPj4gMSkgJiAweDNGOwo+IEBAIC0xNTEsNyArMTUxLDcgQEAgc3RhdGljIGludCBtcGVnNHZp ZGVvX3NwbGl0KGNvbnN0IHVpbnQ4X3QgKmJ1ZiwgaW50IGJ1Zl9zaXplKQo+ICAgICAgdWludDMy X3Qgc3RhdGUgPSAtMTsKPiAgCj4gICAgICB3aGlsZSAocHRyIDwgZW5kKSB7Cj4gLSAgICAgICAg cHRyID0gYXZwcml2X2ZpbmRfc3RhcnRfY29kZShwdHIsIGVuZCwgJnN0YXRlKTsKPiArICAgICAg ICBwdHIgPSBhdnByaXZfZmluZF9zdGFydF9jb2RlKHB0ciwgZW5kLCAmc3RhdGUsIDEpOwo+ICAg ICAgICAgIGlmIChzdGF0ZSA9PSAweDFCMyB8fCBzdGF0ZSA9PSAweDFCNikKPiAgICAgICAgICAg ICAgcmV0dXJuIHB0ciAtIDQgLSBidWY7Cj4gICAgICB9Cj4gQEAgLTE2Niw3ICsxNjYsNyBAQCBz dGF0aWMgaW50IHZjMV9zcGxpdChjb25zdCB1aW50OF90ICpidWYsIGludCBidWZfc2l6ZSkKPiAg ICAgIGludCBjaGFyZ2VkID0gMDsKPiAgCj4gICAgICB3aGlsZSAocHRyIDwgZW5kKSB7Cj4gLSAg ICAgICAgcHRyID0gYXZwcml2X2ZpbmRfc3RhcnRfY29kZShwdHIsIGVuZCwgJnN0YXRlKTsKPiAr ICAgICAgICBwdHIgPSBhdnByaXZfZmluZF9zdGFydF9jb2RlKHB0ciwgZW5kLCAmc3RhdGUsIDEp Owo+ICAgICAgICAgIGlmIChzdGF0ZSA9PSBWQzFfQ09ERV9TRVFIRFIgfHwgc3RhdGUgPT0gVkMx X0NPREVfRU5UUllQT0lOVCkgewo+ICAgICAgICAgICAgICBjaGFyZ2VkID0gMTsKPiAgICAgICAg ICB9IGVsc2UgaWYgKGNoYXJnZWQgJiYgYXZwcml2X3N0YXJ0X2NvZGVfaXNfdmFsaWQoc3RhdGUp KQo+IGRpZmYgLS1naXQgYS9saWJhdmNvZGVjL3V0aWxzLmMgYi9saWJhdmNvZGVjL3V0aWxzLmMK PiBpbmRleCBjZjkyZDI5ZjY3Li5kYTA1N2JhZDNlIDEwMDY0NAo+IC0tLSBhL2xpYmF2Y29kZWMv dXRpbHMuYwo+ICsrKyBiL2xpYmF2Y29kZWMvdXRpbHMuYwo+IEBAIC05NDIsOSArOTQyLDIwIEBA IHZvaWQgZmZfdGhyZWFkX3JlcG9ydF9wcm9ncmVzczIoQVZDb2RlY0NvbnRleHQgKmF2Y3R4LCBp bnQgZmllbGQsIGludCB0aHJlYWQsIGluCj4gIAo+ICBjb25zdCB1aW50OF90ICphdnByaXZfZmlu ZF9zdGFydF9jb2RlKGNvbnN0IHVpbnQ4X3QgKmF2X3Jlc3RyaWN0IHAsCj4gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCAqIGNvbnN0IGVuZCwKPiAt ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCAqIGNvbnN0IGF2 X3Jlc3RyaWN0IHN0YXJ0X2NvZGUpCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgdWludDMyX3QgKiBjb25zdCBhdl9yZXN0cmljdCBzdGFydF9jb2RlLAo+ICsgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludCBvdXRwdXRfb25seSkKPiAg ewo+ICAgICAgYXZfYXNzZXJ0MChwIDw9IGVuZCk7Cj4gKyAgICBpZiAob3V0cHV0X29ubHkpIHsK PiArICAgICAgICAvLyBtaW5pbXVtIGxlbmd0aCBmb3IgYSBzdGFydCBjb2RlCj4gKyAgICAgICAg aWYgKHAgKyA0ID4gZW5kKSB7Cj4gKyAgICAgICAgICAgICpzdGFydF9jb2RlID0gfjA7IC8vIHNl dCB0byBhbiBpbnZhbGlkIHN0YXJ0IGNvZGUKPiArICAgICAgICAgICAgcmV0dXJuIGVuZDsKPiAr ICAgICAgICB9Cj4gKwo+ICsgICAgICAgIHAgKz0gMzsgLy8gb2Zmc2V0IGZvciBuZWdhdGl2ZSBp bmRpY2VzIGluIHdoaWxlIGxvb3AKPiArICAgIH0KPiArICAgIGVsc2Ugewo+ICAgICAgaWYgKHAg Pj0gZW5kKQo+ICAgICAgICAgIHJldHVybiBlbmQ7Cj4gIAo+IEBAIC05NTgsNiArOTY5LDcgQEAg Y29uc3QgdWludDhfdCAqYXZwcml2X2ZpbmRfc3RhcnRfY29kZShjb25zdCB1aW50OF90ICphdl9y ZXN0cmljdCBwLAo+ICAgICAgICAgICAgICByZXR1cm4gcDsKPiAgICAgIH0KPiAgICAgIC8vIHAg aXMgbm93IHByb3Blcmx5IGluY3JlbWVudGVkIGZvciB0aGUgbmVnYXRpdmUgaW5kaWNlcyBpbiB0 aGUgd2hpbGUgbG9vcAo+ICsgICAgfQo+ICAKPiAgICAgIC8qIHdpdGggbWVtb3J5IGFkZHJlc3Mg aW5jcmVhc2luZyBsZWZ0IHRvIHJpZ2h0LCB3ZSBhcmUgbG9va2luZyBmb3IgKGluIGhleGFkZWNp bWFsKToKPiAgICAgICAqIDAwIDAwIDAxIFhYCj4gZGlmZiAtLWdpdCBhL2xpYmF2Y29kZWMvdmMx X2NvbW1vbi5oIGIvbGliYXZjb2RlYy92YzFfY29tbW9uLmgKPiBpbmRleCA0ODNmODZhNGVlLi40 NTNkZWMzNGM2IDEwMDY0NAo+IC0tLSBhL2xpYmF2Y29kZWMvdmMxX2NvbW1vbi5oCj4gKysrIGIv bGliYXZjb2RlYy92YzFfY29tbW9uLmgKPiBAQCAtNTcsOCArNTcsOCBAQCBlbnVtIFByb2ZpbGUg ewo+ICBzdGF0aWMgYXZfYWx3YXlzX2lubGluZSBjb25zdCB1aW50OF90KiBmaW5kX25leHRfbWFy a2VyKGNvbnN0IHVpbnQ4X3QgKnNyYywgY29uc3QgdWludDhfdCAqZW5kKQo+ICB7Cj4gICAgICBp ZiAoZW5kIC0gc3JjID49IDQpIHsKPiAtICAgICAgICB1aW50MzJfdCBtcmsgPSAweEZGRkZGRkZG Owo+IC0gICAgICAgIHNyYyA9IGF2cHJpdl9maW5kX3N0YXJ0X2NvZGUoc3JjLCBlbmQsICZtcmsp Owo+ICsgICAgICAgIHVpbnQzMl90IG1yazsKPiArICAgICAgICBzcmMgPSBhdnByaXZfZmluZF9z dGFydF9jb2RlKHNyYywgZW5kLCAmbXJrLCAxKTsKPiAgICAgICAgICBpZiAoYXZwcml2X3N0YXJ0 X2NvZGVfaXNfdmFsaWQobXJrKSkKPiAgICAgICAgICAgICAgcmV0dXJuIHNyYyAtIDQ7Cj4gICAg ICB9Cj4gZGlmZiAtLWdpdCBhL2xpYmF2Zm9ybWF0L2F2aWRlYy5jIGIvbGliYXZmb3JtYXQvYXZp ZGVjLmMKPiBpbmRleCA4NmY4NTdiMWUzLi42NzRmMzEzZTg0IDEwMDY0NAo+IC0tLSBhL2xpYmF2 Zm9ybWF0L2F2aWRlYy5jCj4gKysrIGIvbGliYXZmb3JtYXQvYXZpZGVjLmMKPiBAQCAtMTUzMCwx MiArMTUzMCwxMiBAQCByZXN5bmM6Cj4gICAgICAgICAgICAgICAgICBpZiAoaW5kZXggPj0gMCAm JiBlLT50aW1lc3RhbXAgPT0gYXN0LT5mcmFtZV9vZmZzZXQpIHsKPiAgICAgICAgICAgICAgICAg ICAgICBpZiAoaW5kZXggPT0gc3RpLT5uYl9pbmRleF9lbnRyaWVzLTEpIHsKPiAgICAgICAgICAg ICAgICAgICAgICAgICAgaW50IGtleT0xOwo+IC0gICAgICAgICAgICAgICAgICAgICAgICB1aW50 MzJfdCBzdGF0ZT0tMTsKPiAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHN0LT5jb2RlY3Bh ci0+Y29kZWNfaWQgPT0gQVZfQ09ERUNfSURfTVBFRzQpIHsKPiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGNvbnN0IHVpbnQ4X3QgKnB0ciA9IHBrdC0+ZGF0YSwgKmVuZCA9IHB0ciArIEZG TUlOKHNpemUsIDI1Nik7Cj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aGlsZSAocHRy IDwgZW5kKSB7Cj4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyID0gYXZwcml2 X2ZpbmRfc3RhcnRfY29kZShwdHIsIGVuZCwgJnN0YXRlKTsKPiAtICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBpZiAoc3RhdGUgPT0gMHgxQjYgJiYgcHRyIDwgZW5kKSB7Cj4gKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc3RhcnRfY29kZTsKPiArICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBwdHIgPSBhdnByaXZfZmluZF9zdGFydF9jb2RlKHB0 ciwgZW5kLCAmc3RhcnRfY29kZSwgMSk7Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgaWYgKHN0YXJ0X2NvZGUgPT0gMHgxQjYgJiYgcHRyIDwgZW5kKSB7Cj4gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGtleSA9ICEoKnB0ciAmIDB4QzApOwo+ICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKPiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB9Cj4gZGlmZiAtLWdpdCBhL2xpYmF2Zm9ybWF0L2F2czJkZWMuYyBiL2xp YmF2Zm9ybWF0L2F2czJkZWMuYwo+IGluZGV4IGJkZWI3NDZmYzcuLmYyMzQ5ZGRlNDUgMTAwNjQ0 Cj4gLS0tIGEvbGliYXZmb3JtYXQvYXZzMmRlYy5jCj4gKysrIGIvbGliYXZmb3JtYXQvYXZzMmRl Yy5jCj4gQEAgLTQxLDcgKzQxLDcgQEAgc3RhdGljIGludCBhdnMyX3Byb2JlKGNvbnN0IEFWUHJv YmVEYXRhICpwKQo+ICAgICAgfQo+ICAKPiAgICAgIHdoaWxlIChwdHIgPCBlbmQpIHsKPiAtICAg ICAgICBwdHIgPSBhdnByaXZfZmluZF9zdGFydF9jb2RlKHB0ciwgZW5kLCAmY29kZSk7Cj4gKyAg ICAgICAgcHRyID0gYXZwcml2X2ZpbmRfc3RhcnRfY29kZShwdHIsIGVuZCwgJmNvZGUsIDEpOwo+ ICAgICAgICAgIGlmIChhdnByaXZfc3RhcnRfY29kZV9pc192YWxpZChjb2RlKSkgewo+ICAgICAg ICAgICAgICBzdGF0ZSA9IGNvZGUgJiAweEZGOwo+ICAgICAgICAgICAgICBpZiAoQVZTMl9JU1VO SVQoc3RhdGUpKSB7Cj4gZGlmZiAtLWdpdCBhL2xpYmF2Zm9ybWF0L2F2czNkZWMuYyBiL2xpYmF2 Zm9ybWF0L2F2czNkZWMuYwo+IGluZGV4IDJkYWNjZDNkMTUuLjIyMzgxOTNmZjQgMTAwNjQ0Cj4g LS0tIGEvbGliYXZmb3JtYXQvYXZzM2RlYy5jCj4gKysrIGIvbGliYXZmb3JtYXQvYXZzM2RlYy5j Cj4gQEAgLTM1LDcgKzM1LDcgQEAgc3RhdGljIGludCBhdnMzdmlkZW9fcHJvYmUoY29uc3QgQVZQ cm9iZURhdGEgKnApCj4gICAgICBpbnQgcmV0ID0gMDsKPiAgCj4gICAgICB3aGlsZSAocHRyIDwg ZW5kKSB7Cj4gLSAgICAgICAgcHRyID0gYXZwcml2X2ZpbmRfc3RhcnRfY29kZShwdHIsIGVuZCwg JmNvZGUpOwo+ICsgICAgICAgIHB0ciA9IGF2cHJpdl9maW5kX3N0YXJ0X2NvZGUocHRyLCBlbmQs ICZjb2RlLCAxKTsKPiAgICAgICAgICBpZiAoYXZwcml2X3N0YXJ0X2NvZGVfaXNfdmFsaWQoY29k ZSkpIHsKPiAgICAgICAgICAgICAgc3RhdGUgPSBjb2RlICYgMHhGRjsKPiAgICAgICAgICAgICAg aWYgKHN0YXRlIDwgQVZTM19TRVFfU1RBUlRfQ09ERSkgewo+IGRpZmYgLS1naXQgYS9saWJhdmZv cm1hdC9jYXZzdmlkZW9kZWMuYyBiL2xpYmF2Zm9ybWF0L2NhdnN2aWRlb2RlYy5jCj4gaW5kZXgg MWQwMDc3MDhjYy4uOGY0MDA0YWNlYSAxMDA2NDQKPiAtLS0gYS9saWJhdmZvcm1hdC9jYXZzdmlk ZW9kZWMuYwo+ICsrKyBiL2xpYmF2Zm9ybWF0L2NhdnN2aWRlb2RlYy5jCj4gQEAgLTM3LDcgKzM3 LDcgQEAgc3RhdGljIGludCBjYXZzdmlkZW9fcHJvYmUoY29uc3QgQVZQcm9iZURhdGEgKnApCj4g ICAgICBjb25zdCB1aW50OF90ICpwdHIgPSBwLT5idWYsICplbmQgPSBwLT5idWYgKyBwLT5idWZf c2l6ZTsKPiAgCj4gICAgICB3aGlsZSAocHRyIDwgZW5kKSB7Cj4gLSAgICAgICAgcHRyID0gYXZw cml2X2ZpbmRfc3RhcnRfY29kZShwdHIsIGVuZCwgJmNvZGUpOwo+ICsgICAgICAgIHB0ciA9IGF2 cHJpdl9maW5kX3N0YXJ0X2NvZGUocHRyLCBlbmQsICZjb2RlLCAxKTsKPiAgICAgICAgICBpZiAo YXZwcml2X3N0YXJ0X2NvZGVfaXNfdmFsaWQoY29kZSkpIHsKPiAgICAgICAgICAgICAgaWYoY29k ZSA8IENBVlNfU0VRX1NUQVJUX0NPREUpIHsKPiAgICAgICAgICAgICAgICAgIC8qIHNsaWNlcyBo YXZlIHRvIGJlIGNvbnNlY3V0aXZlICovCj4gZGlmZiAtLWdpdCBhL2xpYmF2Zm9ybWF0L21wZWd0 c2VuYy5jIGIvbGliYXZmb3JtYXQvbXBlZ3RzZW5jLmMKPiBpbmRleCA5MmI0Y2M4MDg3Li40ODNj NjViZTE3IDEwMDY0NAo+IC0tLSBhL2xpYmF2Zm9ybWF0L21wZWd0c2VuYy5jCj4gKysrIGIvbGli YXZmb3JtYXQvbXBlZ3RzZW5jLmMKPiBAQCAtMTg4MSw3ICsxODgxLDcgQEAgc3RhdGljIGludCBt cGVndHNfd3JpdGVfcGFja2V0X2ludGVybmFsKEFWRm9ybWF0Q29udGV4dCAqcywgQVZQYWNrZXQg KnBrdCkKPiAgICAgICAgICAgICAgZXh0cmFkZCA9IDA7Cj4gIAo+ICAgICAgICAgIGRvIHsKPiAt ICAgICAgICAgICAgcCA9IGF2cHJpdl9maW5kX3N0YXJ0X2NvZGUocCwgYnVmX2VuZCwgJnN0YXRl KTsKPiArICAgICAgICAgICAgcCA9IGF2cHJpdl9maW5kX3N0YXJ0X2NvZGUocCwgYnVmX2VuZCwg JnN0YXRlLCAxKTsKPiAgICAgICAgICAgICAgYXZfbG9nKHMsIEFWX0xPR19UUkFDRSwgIm5hbCAl IlBSSWQzMiJcbiIsIHN0YXRlICYgMHgxZik7Cj4gICAgICAgICAgICAgIGlmICgoc3RhdGUgJiAw eDFmKSA9PSA3KQo+ICAgICAgICAgICAgICAgICAgZXh0cmFkZCA9IDA7Cj4gQEAgLTE5NDcsNyAr MTk0Nyw3IEBAIHN0YXRpYyBpbnQgbXBlZ3RzX3dyaXRlX3BhY2tldF9pbnRlcm5hbChBVkZvcm1h dENvbnRleHQgKnMsIEFWUGFja2V0ICpwa3QpCj4gICAgICAgICAgICAgIGV4dHJhZGQgPSAwOwo+ ICAKPiAgICAgICAgICBkbyB7Cj4gLSAgICAgICAgICAgIHAgPSBhdnByaXZfZmluZF9zdGFydF9j b2RlKHAsIGJ1Zl9lbmQsICZzdGF0ZSk7Cj4gKyAgICAgICAgICAgIHAgPSBhdnByaXZfZmluZF9z dGFydF9jb2RlKHAsIGJ1Zl9lbmQsICZzdGF0ZSwgMSk7Cj4gICAgICAgICAgICAgIGF2X2xvZyhz LCBBVl9MT0dfVFJBQ0UsICJuYWwgJSJQUklkMzIiXG4iLCAoc3RhdGUgJiAweDdlKT4+MSk7Cj4g ICAgICAgICAgICAgIGlmICgoc3RhdGUgJiAweDdlKSA9PSAyKjMyKQo+ICAgICAgICAgICAgICAg ICAgZXh0cmFkZCA9IDA7Cj4gZGlmZiAtLWdpdCBhL2xpYmF2Zm9ybWF0L21wZWd2aWRlb2RlYy5j IGIvbGliYXZmb3JtYXQvbXBlZ3ZpZGVvZGVjLmMKPiBpbmRleCBhOTgyOWRjMWRmLi44NDBkMzU2 NWFmIDEwMDY0NAo+IC0tLSBhL2xpYmF2Zm9ybWF0L21wZWd2aWRlb2RlYy5jCj4gKysrIGIvbGli YXZmb3JtYXQvbXBlZ3ZpZGVvZGVjLmMKPiBAQCAtNDMsNyArNDMsNyBAQCBzdGF0aWMgaW50IG1w ZWd2aWRlb19wcm9iZShjb25zdCBBVlByb2JlRGF0YSAqcCkKPiAgICAgIGludCBqOwo+ICAKPiAg ICAgIHdoaWxlIChwdHIgPCBlbmQpIHsKPiAtICAgICAgICBwdHIgPSBhdnByaXZfZmluZF9zdGFy dF9jb2RlKHB0ciwgZW5kLCAmY29kZSk7Cj4gKyAgICAgICAgcHRyID0gYXZwcml2X2ZpbmRfc3Rh cnRfY29kZShwdHIsIGVuZCwgJmNvZGUsIDEpOwo+ICAgICAgICAgIGlmIChhdnByaXZfc3RhcnRf Y29kZV9pc192YWxpZChjb2RlKSkgewo+ICAgICAgICAgICAgICBzd2l0Y2goY29kZSl7Cj4gICAg ICAgICAgICAgIGNhc2UgICAgIFNFUV9TVEFSVF9DT0RFOgo+IGRpZmYgLS1naXQgYS9saWJhdmZv cm1hdC9teGZlbmMuYyBiL2xpYmF2Zm9ybWF0L214ZmVuYy5jCj4gaW5kZXggNWUwNjhjODIyMC4u OGNlYzQ0ZTg5YyAxMDA2NDQKPiAtLS0gYS9saWJhdmZvcm1hdC9teGZlbmMuYwo+ICsrKyBiL2xp YmF2Zm9ybWF0L214ZmVuYy5jCj4gQEAgLTIyNDIsNyArMjI0Miw3IEBAIHN0YXRpYyBpbnQgbXhm X3BhcnNlX2gyNjRfZnJhbWUoQVZGb3JtYXRDb250ZXh0ICpzLCBBVlN0cmVhbSAqc3QsCj4gICAg ICBpbnQgaSwgZnJhbWVfc2l6ZSwgc2xpY2VfdHlwZSwgaGFzX3NwcyA9IDAsIGludHJhX29ubHkg PSAwLCByZXQ7Cj4gIAo+ICAgICAgZm9yICg7Oykgewo+IC0gICAgICAgIGJ1ZiA9IGF2cHJpdl9m aW5kX3N0YXJ0X2NvZGUoYnVmLCBidWZfZW5kLCAmc3RhdGUpOwo+ICsgICAgICAgIGJ1ZiA9IGF2 cHJpdl9maW5kX3N0YXJ0X2NvZGUoYnVmLCBidWZfZW5kLCAmc3RhdGUsIDEpOwo+ICAgICAgICAg IGlmIChidWYgPj0gYnVmX2VuZCkKPiAgICAgICAgICAgICAgYnJlYWs7Cj4gIAo+IGRpZmYgLS1n aXQgYS9saWJhdmZvcm1hdC9ydHBlbmNfbXB2LmMgYi9saWJhdmZvcm1hdC9ydHBlbmNfbXB2LmMK PiBpbmRleCA5MWMwNzU3NGJiLi4zYzcxNjhjNDgyIDEwMDY0NAo+IC0tLSBhL2xpYmF2Zm9ybWF0 L3J0cGVuY19tcHYuYwo+ICsrKyBiL2xpYmF2Zm9ybWF0L3J0cGVuY19tcHYuYwo+IEBAIC01NCw4 ICs1NCw4IEBAIHZvaWQgZmZfcnRwX3NlbmRfbXBlZ3ZpZGVvKEFWRm9ybWF0Q29udGV4dCAqczEs IGNvbnN0IHVpbnQ4X3QgKmJ1ZjEsIGludCBzaXplKQo+ICAKPiAgICAgICAgICAgICAgcjEgPSBi dWYxOwo+ICAgICAgICAgICAgICB3aGlsZSAoMSkgewo+IC0gICAgICAgICAgICAgICAgdWludDMy X3Qgc3RhcnRfY29kZSA9IH4wOwo+IC0gICAgICAgICAgICAgICAgciA9IGF2cHJpdl9maW5kX3N0 YXJ0X2NvZGUocjEsIGVuZCwgJnN0YXJ0X2NvZGUpOwo+ICsgICAgICAgICAgICAgICAgdWludDMy X3Qgc3RhcnRfY29kZTsKPiArICAgICAgICAgICAgICAgIHIgPSBhdnByaXZfZmluZF9zdGFydF9j b2RlKHIxLCBlbmQsICZzdGFydF9jb2RlLCAxKTsKPiAgICAgICAgICAgICAgICAgIGlmIChhdnBy aXZfc3RhcnRfY29kZV9pc192YWxpZChzdGFydF9jb2RlKSkgewo+ICAgICAgICAgICAgICAgICAg ICAgIC8qIE5ldyBzdGFydCBjb2RlIGZvdW5kICovCj4gICAgICAgICAgICAgICAgICAgICAgaWYg KHN0YXJ0X2NvZGUgPT0gMHgxMDApIHsKCjEuIFRoaXMgcGF0Y2ggaXMgYWJzb2x1dGVseSB1bmFj Y2VwdGFibGU6IEl0IGJyZWFrcyBBQkkuCjIuIEkgYW0gc3VycHJpc2VkIHRoYXQgdGhlcmUgaXMg YXBwYXJlbnRseSBvbmx5IG9uZSB1c2VyIHRoYXQgYWN0dWFsbHkKd2FudHMgdGhpcyBmZWF0dXJl IG9mIHN0YXRlIGJlaW5nIGFuIGlucHV0IHBhcmFtZXRlciwgbmFtZWx5CihmZl8pbXBlZzFfZmlu ZF9mcmFtZV9lbmQoKS4gVGhpcyBtZWFucyB0aGF0IHRoaXMgbG9vcCBkb25lIGJlZm9yZSB0aGUK bmV3IGNoZWNrIHNob3VsZCBhY3R1YWxseSBiZSBtYWRlIGJ5IHRoaXMgY2FsbGVyIGFsb25lLCBv YnZpYXRpbmcgdGhlCm5lZWQgdG8gY2hhbmdlIHRoZSBzaWduYXR1cmUuCjMuIEdpdmVuIHRoYXQg bm8gdXNlciBvZiB0aGlzIGluIGxpYmF2Zm9ybWF0IHdhbnRzIHRoaXMgZmVhdHVyZSwKY2hhbmdp bmcgaXQgaXMgSU1PIGFjY2VwdGFibGUgZnJvbSBhbiBBQkktcG9pbnQgb2Ygdmlldy4KNC4gVGhl cmUgbWlnaHQgYmUgc29tZSBzbGlnaHQgY2hhbmdlcyBpbnRyb2R1Y2VkIGJ5IHRoaXMgdGhvdWdo OgpDb25zaWRlciAwMCAwMCAwMSAwMCAwMCAwMSB4eS4gSWYgdGhlIGluaXRpYWwgc3RhdGUgaXMg LTEsIGEgY2FsbCB0bwphdnByaXZfZmluZF9zdGFydF9jb2RlKCkgd2lsbCB0cmVhdCB0aGUgaW5p dGlhbCBmb3VyIGJ5dGVzIGFzIHN0YXJ0IGNvZGUKYW5kIHJldHVybiBhIHBvaW50ZXIgdG8gdGhl IGJ5dGUgcHJlY2VkaW5nIHRoZSBzZWNvbmQgMHgwMS4gSWYgdGhlIHVzZXIKZG9lcyBub3QgcmVz ZXQgdGhlIHN0YXJ0IGNvZGUgYmV0d2VlbiBjYWxscyB0byBhdnByaXZfZmluZF9zdGFydF9jb2Rl KCksCnRoZSBzZWNvbmQgY2FsbCB3aWxsIGNvbWJpbmUgdGhlIGxhc3QgemVybyBieXRlIG9mIHRo ZSBzdGFydCBjb2RlIHdpdGgKdGhlIHJlc3QgdG8gZm9ybSBhbm90aGVyIHN0YXJ0IGNvZGUgdGhh dCBwYXJ0aWFsbHkgb3ZlcmxhcHMgd2l0aCB0aGUKZWFybGllciBvbmUuIFRoaXMgaXMgKHByb2Jh Ymx5KSBpbnZhbGlkIGRhdGEgKGRlZmluaXRlbHkgZm9yIEguMjYyLApILjI2NCBhbmQgSEVWQyku CgotIEFuZHJlYXMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X18KZmZtcGVnLWRldmVsIG1haWxpbmcgbGlzdApmZm1wZWctZGV2ZWxAZmZtcGVnLm9yZwpodHRw czovL2ZmbXBlZy5vcmcvbWFpbG1hbi9saXN0aW5mby9mZm1wZWctZGV2ZWwKClRvIHVuc3Vic2Ny aWJlLCB2aXNpdCBsaW5rIGFib3ZlLCBvciBlbWFpbApmZm1wZWctZGV2ZWwtcmVxdWVzdEBmZm1w ZWcub3JnIHdpdGggc3ViamVjdCAidW5zdWJzY3JpYmUiLgo=