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 ESMTPS id B81BC4CAEA for ; Tue, 11 Feb 2025 10:41:53 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 2A47268BD0A; Tue, 11 Feb 2025 12:41:51 +0200 (EET) Received: from out162-62-57-137.mail.qq.com (out162-62-57-137.mail.qq.com [162.62.57.137]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id C3EE168B981 for ; Tue, 11 Feb 2025 12:41:44 +0200 (EET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=foxmail.com; s=s201512; t=1739270502; bh=a70Lu0b1cHjY0WhJYBFiqchW0sbXRR1gx3IaBusl8j8=; h=From:Subject:Date:References:To:In-Reply-To; b=SlWaRcH5Dvjt48MwposBqszzwo4J9Lq+c5r6YFMi7DsEgNuAYY9pIeK798luTJfjx 2FqOE3RlHdupptftQfRicGQQmNR0IED4akFBQFQKhrqKAtvxkppy9/wwN0rDExXJa7 EDYyMWT48qRVqxDvSTMjsuR+uydpy7usfdMTpeCc= Received: from smtpclient.apple ([113.108.77.57]) by newxmesmtplogicsvrszb21-0.qq.com (NewEsmtp) with SMTP id A68AC4F8; Tue, 11 Feb 2025 18:41:40 +0800 X-QQ-mid: xmsmtpt1739270500tfsynq21m Message-ID: X-QQ-XMAILINFO: N/WmRbclY25GQ02QpzE1tPf2oazi025JHkiIHj4Mfbke/sAFsnlucy+YeG4TSz ix8JGRmIDfEzno8CJliz+fDiWiEsAM5W6S19uWx5kKZ1c0V4P4oYj1cjThehj30HTgrcvBUDboQn 5n5jPk4BYX3LjB92Rk3eaAMK8uZlvn1eaV3/HVxdkxXi/eFjTpBP+o4xIvMF46IKDagHHkTIpYRu XUlM3iu32w8ly9Mdw/KM0PGDSwLHttZv+Eav61ETshC1r20/YKD9hXkqdV6RM5yHsFzAtu1/P56x eSjgyNDGtEqNjXBBD2g5x8ES3vonMW+4lw38MbuVv06dh3LySiNYETtAYgfXMJAr74xrE252VYEu zIgdEkqitAOW5R5z65YZv5Ek59HfjoQvh6hQFYMrw8Q2JB7Y/BVV4RH7d1Ss52CYrbGtCNNvcufz /M2WUhrz6USFeGETU+Q3UkcQp1vdr9KKoDXt+TZYVhZzv7LDv7xOiTeX35WbvHGWlGM3FJjQtBkT TN0PtAZlTZIeaq0jEF40whM9PTzPvSzcXJsg188+G0lkA0AfTaduc9pPm0Ltqj4MNCLaeeBRpdZn AMMDn5TJGDu91NRWJzDWzvkvcNl4tfzwokwNxxDfggz6xBoSxuJhEP0yuN+ilw+B868DNVGC1bwA umRqU8ycGiL3cGZ/Ky8L7qlS0VEyVBzmAxZdLhgU2CZKLxSWeTQvBuw0nhsEQyV9Jshf9vYQ2vTH n+qe9LmJc81+LM50G2ShXRT2KeU6YkW+VLaTYRucq609sEG0KSvSMa7izaXIbEwXFWPA+8YTKC40 IYYzPExkp48b7w4YVfVS/hSa3gnjH0gJc7fbq+RCbAbzx9TsBfZFE+YcK/mOY3m3RYHSGzv1ivr9 rLMadtosi0Q0PogXd6jw1aUaey2LsBjGnL9E3ewz7evnl9d89dKkRqZzmeHZ31IEE0IX/yz70AEg H4bHfJTHnhoRIUtGjCPNBPdrSo6weg5+n6pCV4cTl65NdiymRo/hlIzZ0Pi3WKRYg5y15K872jNj kPlrcNJw== X-QQ-XMRINFO: NS+P29fieYNw95Bth2bWPxk= From: Zhao Zhili Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3818.100.11.1.3\)) Date: Tue, 11 Feb 2025 18:41:30 +0800 References: To: FFmpeg development discussions and patches In-Reply-To: X-OQ-MSGID: X-Mailer: Apple Mail (2.3818.100.11.1.3) Subject: Re: [FFmpeg-devel] [PATCH v5 3/3] avcodec/hevc: Add alpha layer support 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: Cgo+IE9uIEZlYiAxMSwgMjAyNSwgYXQgMTY6MTYsIEFuZHJlYXMgUmhlaW5oYXJkdCA8YW5kcmVh cy5yaGVpbmhhcmR0QG91dGxvb2suY29tPiB3cm90ZToKPiAKPiBaaGFvIFpoaWxpOgo+PiBGcm9t OiBaaGFvIFpoaWxpIDx6aGlsaXpoYW9AdGVuY2VudC5jb20+Cj4+IAo+PiBTaWduZWQtb2ZmLWJ5 OiBaaGFvIFpoaWxpIDx6aGlsaXpoYW9AdGVuY2VudC5jb20+Cj4+IC0tLQo+PiBsaWJhdmNvZGVj L2hldmMvaGV2Y2RlYy5jIHwgNzIgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KystCj4+IGxpYmF2Y29kZWMvaGV2Yy9oZXZjZGVjLmggfCAgMiArKwo+PiBsaWJhdmNvZGVjL2hl dmMvcmVmcy5jICAgIHwgMTEgKysrKystCj4+IDMgZmlsZXMgY2hhbmdlZCwgODMgaW5zZXJ0aW9u cygrKSwgMiBkZWxldGlvbnMoLSkKPj4gCj4+IGRpZmYgLS1naXQgYS9saWJhdmNvZGVjL2hldmMv aGV2Y2RlYy5jIGIvbGliYXZjb2RlYy9oZXZjL2hldmNkZWMuYwo+PiBpbmRleCBlOWMwNDVmN2Ex Li4xY2RjMjhkZTUwIDEwMDY0NAo+PiAtLS0gYS9saWJhdmNvZGVjL2hldmMvaGV2Y2RlYy5jCj4+ ICsrKyBiL2xpYmF2Y29kZWMvaGV2Yy9oZXZjZGVjLmMKPj4gQEAgLTQ2Niw2ICs0NjYsMjQgQEAg c3RhdGljIGludCBleHBvcnRfbXVsdGlsYXllcihIRVZDQ29udGV4dCAqcywgY29uc3QgSEVWQ1ZQ UyAqdnBzKQo+PiAgICAgcmV0dXJuIDA7Cj4+IH0KPj4gCj4+ICtpbnQgZmZfaGV2Y19pc19hbHBo YV92aWRlbyhjb25zdCBIRVZDQ29udGV4dCAqcykgewo+IAo+ICd74oCZIHNob3VsZCBiZSBvbiBp dHMgb3duIGxpbmUuCgpGaXhlZCBpbiB2Ni4KCj4gCj4+ICsgICAgY29uc3QgSEVWQ1ZQUyAqdnBz ID0gcy0+dnBzOwo+PiArICAgIGludCByZXQgPSAwOwo+PiArCj4+ICsgICAgaWYgKHZwcy0+bmJf bGF5ZXJzICE9IDIgfHwgIXZwcy0+bGF5ZXJfaWRfaW5fbnVoWzFdKQo+PiArICAgICAgICByZXR1 cm4gMDsKPj4gKwo+PiArICAgIC8qIGRlY29kZV92cHNfZXh0KCkgZ3VhcmFudGVlcyB0aGF0IFND QUxBQklMSVRZX0FVWElMSUFSWSB3aXRoIEF1eElkIG90aGVyCj4+ICsgICAgICogdGhhbiBhbHBo YSBjYW5ub3QgcmVhY2ggaGVyZS4KPj4gKyAgICAgKi8KPj4gKyAgICByZXQgPSAocy0+dnBzLT5z Y2FsYWJpbGl0eV9tYXNrX2ZsYWcgJiBIRVZDX1NDQUxBQklMSVRZX0FVWElMSUFSWSk7Cj4+ICsK Pj4gKyAgICBhdl9sb2cocy0+YXZjdHgsIEFWX0xPR19ERUJVRywgIk11bHRpIGxheWVyIHZpZGVv LCAlcyBhbHBoYSB2aWRlb1xuIiwKPj4gKyAgICAgICAgICAgcmV0ID8gImlzIiA6ICJub3QiKTsK Pj4gKwo+PiArICAgIHJldHVybiByZXQ7Cj4+ICt9Cj4+ICsKPj4gc3RhdGljIGludCBzZXR1cF9t dWx0aWxheWVyKEhFVkNDb250ZXh0ICpzLCBjb25zdCBIRVZDVlBTICp2cHMpCj4+IHsKPj4gICAg IHVuc2lnbmVkIGxheWVyc19hY3RpdmVfb3V0cHV0ID0gMCwgaGlnaGVzdF9sYXllcjsKPj4gQEAg LTQ3Myw2ICs0OTEsMTggQEAgc3RhdGljIGludCBzZXR1cF9tdWx0aWxheWVyKEhFVkNDb250ZXh0 ICpzLCBjb25zdCBIRVZDVlBTICp2cHMpCj4+ICAgICBzLT5sYXllcnNfYWN0aXZlX291dHB1dCA9 IDE7Cj4+ICAgICBzLT5sYXllcnNfYWN0aXZlX2RlY29kZSA9IDE7Cj4+IAo+PiArICAgIGlmIChm Zl9oZXZjX2lzX2FscGhhX3ZpZGVvKHMpKSB7Cj4+ICsgICAgICAgIGNvbnN0IEFWUGl4Rm10RGVz Y3JpcHRvciAqZGVzYyA9IGF2X3BpeF9mbXRfZGVzY19nZXQocy0+YXZjdHgtPnBpeF9mbXQpOwo+ PiArCj4+ICsgICAgICAgIGlmICghKGRlc2MtPmZsYWdzICYgQVZfUElYX0ZNVF9GTEFHX0FMUEhB KSkKPj4gKyAgICAgICAgICAgIHJldHVybiAwOwo+PiArCj4+ICsgICAgICAgIHMtPmxheWVyc19h Y3RpdmVfZGVjb2RlID0gKDEgPDwgdnBzLT5uYl9sYXllcnMpIC0gMTsKPj4gKyAgICAgICAgcy0+ bGF5ZXJzX2FjdGl2ZV9vdXRwdXQgPSAxOwo+PiArCj4+ICsgICAgICAgIHJldHVybiAwOwo+PiAr ICAgIH0KPj4gKwo+PiAgICAgLy8gbm90aGluZyByZXF1ZXN0ZWQgLSBkZWNvZGUgYmFzZSBsYXll ciBvbmx5Cj4+ICAgICBpZiAoIXMtPm5iX3ZpZXdfaWRzKQo+PiAgICAgICAgIHJldHVybiAwOwo+ PiBAQCAtNTMwLDYgKzU2MCwzNCBAQCBzdGF0aWMgaW50IHNldHVwX211bHRpbGF5ZXIoSEVWQ0Nv bnRleHQgKnMsIGNvbnN0IEhFVkNWUFMgKnZwcykKPj4gICAgIHJldHVybiAwOwo+PiB9Cj4+IAo+ PiArc3RhdGljIGVudW0gQVZQaXhlbEZvcm1hdCBtYXBfdG9fYWxwaGFfZm9ybWF0KEhFVkNDb250 ZXh0ICpzLAo+PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGVudW0gQVZQaXhlbEZvcm1hdCBwaXhfZm10KQo+PiArewo+PiArICAgIHN3aXRjaCAocGl4X2Zt dCkgewo+PiArICAgIGNhc2UgQVZfUElYX0ZNVF9ZVVY0MjBQOgo+PiArICAgIGNhc2UgQVZfUElY X0ZNVF9ZVVZKNDIwUDoKPj4gKyAgICAgICAgcmV0dXJuIEFWX1BJWF9GTVRfWVVWQTQyMFA7Cj4+ ICsgICAgY2FzZSBBVl9QSVhfRk1UX1lVVjQyMFAxMDoKPj4gKyAgICAgICAgcmV0dXJuIEFWX1BJ WF9GTVRfWVVWQTQyMFAxMDsKPj4gKyAgICBjYXNlIEFWX1BJWF9GTVRfWVVWNDQ0UDoKPj4gKyAg ICAgICAgcmV0dXJuIEFWX1BJWF9GTVRfWVVWQTQ0NFA7Cj4+ICsgICAgY2FzZSBBVl9QSVhfRk1U X1lVVjQyMlA6Cj4+ICsgICAgICAgIHJldHVybiBBVl9QSVhfRk1UX1lVVkE0MjJQOwo+PiArICAg IGNhc2UgQVZfUElYX0ZNVF9ZVVY0MjJQMTBMRToKPj4gKyAgICAgICAgcmV0dXJuIEFWX1BJWF9G TVRfWVVWQTQyMlAxMExFOwo+PiArICAgIGNhc2UgQVZfUElYX0ZNVF9ZVVY0NDRQMTA6Cj4+ICsg ICAgICAgIHJldHVybiBBVl9QSVhfRk1UX1lVVkE0NDRQMTA7Cj4+ICsgICAgY2FzZSBBVl9QSVhf Rk1UX1lVVjQ0NFAxMjoKPj4gKyAgICAgICAgcmV0dXJuIEFWX1BJWF9GTVRfWVVWQTQ0NFAxMjsK Pj4gKyAgICBjYXNlIEFWX1BJWF9GTVRfWVVWNDIyUDEyOgo+PiArICAgICAgICByZXR1cm4gQVZf UElYX0ZNVF9ZVVZBNDIyUDEyOwo+PiArICAgIGRlZmF1bHQ6Cj4+ICsgICAgICAgIGF2X2xvZyhz LT5hdmN0eCwgQVZfTE9HX1dBUk5JTkcsICJObyBhbHBoYSBwaXhlbCBmb3JtYXQgbWFwIGZvciAl c1xuIiwKPj4gKyAgICAgICAgICAgICAgIGF2X2dldF9waXhfZm10X25hbWUocGl4X2ZtdCkpOwo+ PiArICAgICAgICByZXR1cm4gQVZfUElYX0ZNVF9OT05FOwo+PiArICAgIH0KPj4gK30KPj4gKwo+ PiBzdGF0aWMgZW51bSBBVlBpeGVsRm9ybWF0IGdldF9mb3JtYXQoSEVWQ0NvbnRleHQgKnMsIGNv bnN0IEhFVkNTUFMgKnNwcykKPj4gewo+PiAjZGVmaW5lIEhXQUNDRUxfTUFYIChDT05GSUdfSEVW Q19EWFZBMl9IV0FDQ0VMICsgXAo+PiBAQCAtNTQwLDkgKzU5OCwxMyBAQCBzdGF0aWMgZW51bSBB VlBpeGVsRm9ybWF0IGdldF9mb3JtYXQoSEVWQ0NvbnRleHQgKnMsIGNvbnN0IEhFVkNTUFMgKnNw cykKPj4gICAgICAgICAgICAgICAgICAgICAgQ09ORklHX0hFVkNfVklERU9UT09MQk9YX0hXQUND RUwgKyBcCj4+ICAgICAgICAgICAgICAgICAgICAgIENPTkZJR19IRVZDX1ZEUEFVX0hXQUNDRUwg KyBcCj4+ICAgICAgICAgICAgICAgICAgICAgIENPTkZJR19IRVZDX1ZVTEtBTl9IV0FDQ0VMKQo+ PiAtICAgIGVudW0gQVZQaXhlbEZvcm1hdCBwaXhfZm10c1tIV0FDQ0VMX01BWCArIDJdLCAqZm10 ID0gcGl4X2ZtdHM7Cj4+ICsgICAgZW51bSBBVlBpeGVsRm9ybWF0IHBpeF9mbXRzW0hXQUNDRUxf TUFYICsgM10sICpmbXQgPSBwaXhfZm10czsKPj4gKyAgICBlbnVtIEFWUGl4ZWxGb3JtYXQgYWxw aGFfZm10ID0gQVZfUElYX0ZNVF9OT05FOwo+PiAgICAgaW50IHJldDsKPj4gCj4+ICsgICAgaWYg KGZmX2hldmNfaXNfYWxwaGFfdmlkZW8ocykpCj4+ICsgICAgICAgIGFscGhhX2ZtdCA9IG1hcF90 b19hbHBoYV9mb3JtYXQocywgc3BzLT5waXhfZm10KTsKPj4gKwo+PiAgICAgc3dpdGNoIChzcHMt PnBpeF9mbXQpIHsKPj4gICAgIGNhc2UgQVZfUElYX0ZNVF9ZVVY0MjBQOgo+PiAgICAgY2FzZSBB Vl9QSVhfRk1UX1lVVko0MjBQOgo+PiBAQCAtNjY0LDYgKzcyNiw4IEBAIHN0YXRpYyBlbnVtIEFW UGl4ZWxGb3JtYXQgZ2V0X2Zvcm1hdChIRVZDQ29udGV4dCAqcywgY29uc3QgSEVWQ1NQUyAqc3Bz KQo+PiAgICAgICAgIGJyZWFrOwo+PiAgICAgfQo+PiAKPj4gKyAgICBpZiAoYWxwaGFfZm10ICE9 IEFWX1BJWF9GTVRfTk9ORSkKPj4gKyAgICAgICAgKmZtdCsrID0gYWxwaGFfZm10Owo+PiAgICAg KmZtdCsrID0gc3BzLT5waXhfZm10Owo+PiAgICAgKmZtdCA9IEFWX1BJWF9GTVRfTk9ORTsKPj4g Cj4+IEBAIC0zMTk0LDYgKzMyNTgsMTIgQEAgc3RhdGljIGludCBoZXZjX2ZyYW1lX3N0YXJ0KEhF VkNDb250ZXh0ICpzLCBIRVZDTGF5ZXJDb250ZXh0ICpsLAo+PiAgICAgICAgICAgICAgICAgIXNw cy0+dnVpLmNvbW1vbi52aWRlb19zaWduYWxfdHlwZV9wcmVzZW50X2ZsYWcpCj4+ICAgICAgICAg ICAgICAgICBwaXhfZm10ID0gc3BzX2Jhc2UtPnBpeF9mbXQ7Cj4+IAo+PiArICAgICAgICAgICAg Ly8gSWdub3JlIHJhbmdlIG1pc21hdGNoIGJldHdlZW4gYmFzZSBsYXllciBhbmQgYWxwaGEgbGF5 ZXIKPj4gKyAgICAgICAgICAgIGlmIChmZl9oZXZjX2lzX2FscGhhX3ZpZGVvKHMpICYmCj4+ICsg ICAgICAgICAgICAgICAgc3BzX2Jhc2UtPnBpeF9mbXQgPT0gQVZfUElYX0ZNVF9ZVVY0MjBQICYm Cj4+ICsgICAgICAgICAgICAgICAgcGl4X2ZtdCA9PSBBVl9QSVhfRk1UX1lVVko0MjBQKQo+PiAr ICAgICAgICAgICAgICAgIHBpeF9mbXQgPSBzcHNfYmFzZS0+cGl4X2ZtdDsKPj4gKwo+PiAgICAg ICAgICAgICBpZiAocGl4X2ZtdCAgICAgIT0gc3BzX2Jhc2UtPnBpeF9mbXQgfHwKPj4gICAgICAg ICAgICAgICAgIHNwcy0+d2lkdGggICE9IHNwc19iYXNlLT53aWR0aCAgIHx8Cj4+ICAgICAgICAg ICAgICAgICBzcHMtPmhlaWdodCAhPSBzcHNfYmFzZS0+aGVpZ2h0KSB7Cj4+IGRpZmYgLS1naXQg YS9saWJhdmNvZGVjL2hldmMvaGV2Y2RlYy5oIGIvbGliYXZjb2RlYy9oZXZjL2hldmNkZWMuaAo+ PiBpbmRleCA0ZTk1MDM1Njg4Li5iMmI3MjViNWNkIDEwMDY0NAo+PiAtLS0gYS9saWJhdmNvZGVj L2hldmMvaGV2Y2RlYy5oCj4+ICsrKyBiL2xpYmF2Y29kZWMvaGV2Yy9oZXZjZGVjLmgKPj4gQEAg LTcxNCw2ICs3MTQsOCBAQCB2b2lkIGZmX2hldmNfaGxzX3Jlc2lkdWFsX2NvZGluZyhIRVZDTG9j YWxDb250ZXh0ICpsYywgY29uc3QgSEVWQ1BQUyAqcHBzLAo+PiAKPj4gdm9pZCBmZl9oZXZjX2hs c19tdmRfY29kaW5nKEhFVkNMb2NhbENvbnRleHQgKmxjLCBpbnQgeDAsIGludCB5MCwgaW50IGxv ZzJfY2Jfc2l6ZSk7Cj4+IAo+PiAraW50IGZmX2hldmNfaXNfYWxwaGFfdmlkZW8oY29uc3QgSEVW Q0NvbnRleHQgKnMpOwo+PiArCj4+IGV4dGVybiBjb25zdCB1aW50OF90IGZmX2hldmNfcXBlbF9l eHRyYV9iZWZvcmVbNF07Cj4+IGV4dGVybiBjb25zdCB1aW50OF90IGZmX2hldmNfcXBlbF9leHRy YV9hZnRlcls0XTsKPj4gZXh0ZXJuIGNvbnN0IHVpbnQ4X3QgZmZfaGV2Y19xcGVsX2V4dHJhWzRd Owo+PiBkaWZmIC0tZ2l0IGEvbGliYXZjb2RlYy9oZXZjL3JlZnMuYyBiL2xpYmF2Y29kZWMvaGV2 Yy9yZWZzLmMKPj4gaW5kZXggZGQ3ZjdmOTVhOC4uZGE5OWY3OTc0MiAxMDA2NDQKPj4gLS0tIGEv bGliYXZjb2RlYy9oZXZjL3JlZnMuYwo+PiArKysgYi9saWJhdmNvZGVjL2hldmMvcmVmcy5jCj4+ IEBAIC0xMDMsNyArMTAzLDcgQEAgc3RhdGljIEhFVkNGcmFtZSAqYWxsb2NfZnJhbWUoSEVWQ0Nv bnRleHQgKnMsIEhFVkNMYXllckNvbnRleHQgKmwpCj4+ICAgICAgICAgfQo+PiAKPj4gICAgICAg ICAvLyBhZGQgdmlldyBJRCBzaWRlIGRhdGEgaWYgaXQncyBub250cml2aWFsCj4+IC0gICAgICAg IGlmICh2cHMtPm5iX2xheWVycyA+IDEgfHwgdmlld19pZCkgewo+PiArICAgICAgICBpZiAoIWZm X2hldmNfaXNfYWxwaGFfdmlkZW8ocykgJiYgKHZwcy0+bmJfbGF5ZXJzID4gMSB8fCB2aWV3X2lk KSkgewo+PiAgICAgICAgICAgICBIRVZDU0VJVERSREkgKnRkcmRpID0gJnMtPnNlaS50ZHJkaTsK Pj4gICAgICAgICAgICAgQVZGcmFtZVNpZGVEYXRhICpzZCA9IGF2X2ZyYW1lX3NpZGVfZGF0YV9u ZXcoJmZyYW1lLT5mLT5zaWRlX2RhdGEsCj4+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICZmcmFtZS0+Zi0+bmJfc2lkZV9kYXRhLAo+PiBA QCAtMTYxLDcgKzE2MSwxNiBAQCBzdGF0aWMgSEVWQ0ZyYW1lICphbGxvY19mcmFtZShIRVZDQ29u dGV4dCAqcywgSEVWQ0xheWVyQ29udGV4dCAqbCkKPj4gICAgICAgICBpZiAocmV0IDwgMCkKPj4g ICAgICAgICAgICAgZ290byBmYWlsOwo+PiAKPj4gKwo+PiAgICAgICAgIGZyYW1lLT5wcHMgPSBh dl9yZWZzdHJ1Y3RfcmVmX2Mocy0+cHBzKTsKPj4gKyAgICAgICAgaWYgKGwgIT0gJnMtPmxheWVy c1swXSAmJiBmZl9oZXZjX2lzX2FscGhhX3ZpZGVvKHMpKSB7Cj4+ICsgICAgICAgICAgICBBVkZy YW1lICphbHBoYSA9IGZyYW1lLT5mOwo+PiArICAgICAgICAgICAgQVZGcmFtZSAqYmFzZSA9IHMt PmxheWVyc1swXS5jdXJfZnJhbWUtPmY7Cj4+ICsKPj4gKyAgICAgICAgICAgIGF2X2J1ZmZlcl9y ZXBsYWNlKCZhbHBoYS0+YnVmWzBdLCBiYXNlLT5idWZbM10pOwo+PiArICAgICAgICAgICAgYWxw aGEtPmxpbmVzaXplWzBdID0gYmFzZS0+bGluZXNpemVbM107Cj4+ICsgICAgICAgICAgICBhbHBo YS0+ZGF0YVswXSA9IGJhc2UtPmRhdGFbM107Cj4+ICsgICAgICAgIH0KPiAKPiBUaGlzIGNvZGUg c2VlbXMgdG8gcHJlc3VtZSB0aGF0IHRoZSBBVkJ1ZmZlclJlZiBiYWNraW5nIGRhdGFbaV0gaXMK PiBidWZbaV0uIEJ1dCB0aGVyZSBpcyBubyBzdWNoIHJlcXVpcmVtZW50ICh0aGUgZG9jdW1lbnRh dGlvbiBtZXJlbHkKPiBzdGF0ZXMgIkFsbCBwb2ludGVycyBpbiBkYXRhIGFuZCBleHRlbmRlZF9k YXRhIG11c3QgcG9pbnQgaW50byBvbmUgb2YKPiB0aGUgQVZCdWZmZXJSZWYgaW4gYnVmIG9yIGV4 dGVuZGVkX2J1ZiIpLgo+IEFwYXJ0IGZyb20gdGhhdDogTWlzc2luZyBjaGVjayBmb3IgYXZfYnVm ZmVyX3JlcGxhY2UoKS4KCkZpeGVkIGluIHY2LgoKPiAKPj4gCj4+ICAgICAgICAgcmV0dXJuIGZy YW1lOwo+PiBmYWlsOgo+IAo+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fCj4gZmZtcGVnLWRldmVsIG1haWxpbmcgbGlzdAo+IGZmbXBlZy1kZXZlbEBmZm1w ZWcub3JnCj4gaHR0cHM6Ly9mZm1wZWcub3JnL21haWxtYW4vbGlzdGluZm8vZmZtcGVnLWRldmVs Cj4gCj4gVG8gdW5zdWJzY3JpYmUsIHZpc2l0IGxpbmsgYWJvdmUsIG9yIGVtYWlsCj4gZmZtcGVn LWRldmVsLXJlcXVlc3RAZmZtcGVnLm9yZyB3aXRoIHN1YmplY3QgInVuc3Vic2NyaWJlIi4KCl9f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmZmbXBlZy1kZXZl bCBtYWlsaW5nIGxpc3QKZmZtcGVnLWRldmVsQGZmbXBlZy5vcmcKaHR0cHM6Ly9mZm1wZWcub3Jn L21haWxtYW4vbGlzdGluZm8vZmZtcGVnLWRldmVsCgpUbyB1bnN1YnNjcmliZSwgdmlzaXQgbGlu ayBhYm92ZSwgb3IgZW1haWwKZmZtcGVnLWRldmVsLXJlcXVlc3RAZmZtcGVnLm9yZyB3aXRoIHN1 YmplY3QgInVuc3Vic2NyaWJlIi4K