From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-15.1 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,NICE_REPLY_A,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED, USER_AGENT_SANE_1 autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 0CED2C433B4 for ; Wed, 19 May 2021 07:58:45 +0000 (UTC) Received: from lists.sourceforge.net (lists.sourceforge.net [216.105.38.7]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id A478861363 for ; Wed, 19 May 2021 07:58:44 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org A478861363 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=huawei.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=linux-f2fs-devel-bounces@lists.sourceforge.net Received: from [127.0.0.1] (helo=sfs-ml-1.v29.lw.sourceforge.com) by sfs-ml-1.v29.lw.sourceforge.com with esmtp (Exim 4.90_1) (envelope-from ) id 1ljH6I-0000VG-TP; Wed, 19 May 2021 07:58:42 +0000 Received: from [172.30.20.202] (helo=mx.sourceforge.net) by sfs-ml-1.v29.lw.sourceforge.com with esmtps (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ljH6H-0000Uv-U2 for linux-f2fs-devel@lists.sourceforge.net; Wed, 19 May 2021 07:58:41 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=sourceforge.net; s=x; h=Content-Transfer-Encoding:Content-Type:In-Reply-To: MIME-Version:Date:Message-ID:From:References:To:Subject:Sender:Reply-To:Cc: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=KRF5i+XB4QUDYDBYyiIzGGgnlsfBVSuKgs1gOAVLjqA=; b=Ta45EzvRrXeSWpIZl+EfPNH377 2pmhKYZjfbvgddhGn9+Qq17nEaepSEmaHBMlIpZpYpZc8ddBhs43cLO0iXidqa2AwngjjeX3odJkH I+5IZsrm+XVJbse+mGzOVubffMuBlsxAGdU3GY3MlLNT8wFer0mGbtn8gYPBk1cdtsT4=; DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=sf.net; s=x ; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:MIME-Version:Date: Message-ID:From:References:To:Subject:Sender:Reply-To:Cc:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:List-Id:List-Help:List-Unsubscribe:List-Subscribe: List-Post:List-Owner:List-Archive; bh=KRF5i+XB4QUDYDBYyiIzGGgnlsfBVSuKgs1gOAVLjqA=; b=S5TxHBFu8yg6qxE1IQJnBLFbM7 5VS+x7eaYKmodX34i61shwfM/BmKUTWyqyuPmXD2Bw5auOYpK3PDW0QRRfWd3J43buHPB3r0rHgW/ lafC1rZ3SQRwL8EYMeI9ysdea7O8IgC2ECYLfr2Fgp0cYa3McUN1Y91nEsGQzQ7Rj6D8=; Received: from szxga04-in.huawei.com ([45.249.212.190]) by sfi-mx-1.v28.lw.sourceforge.com with esmtps (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256) (Exim 4.92.2) id 1ljH63-00EbZy-Ru for linux-f2fs-devel@lists.sourceforge.net; Wed, 19 May 2021 07:58:41 +0000 Received: from dggems702-chm.china.huawei.com (unknown [172.30.72.59]) by szxga04-in.huawei.com (SkyGuard) with ESMTP id 4FlQBb75W9zpfLd; Wed, 19 May 2021 15:54:47 +0800 (CST) Received: from dggemx753-chm.china.huawei.com (10.0.44.37) by dggems702-chm.china.huawei.com (10.3.19.179) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256) id 15.1.2176.2; Wed, 19 May 2021 15:58:17 +0800 Received: from [10.136.110.154] (10.136.110.154) by dggemx753-chm.china.huawei.com (10.0.44.37) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.2176.2; Wed, 19 May 2021 15:58:16 +0800 To: , , , References: <20210518120738.677-1-changfengnan@vivo.com> <002801d74c83$28bcd650$7a3682f0$@vivo.com> From: Chao Yu Message-ID: Date: Wed, 19 May 2021 15:58:16 +0800 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.9.1 MIME-Version: 1.0 In-Reply-To: <002801d74c83$28bcd650$7a3682f0$@vivo.com> Content-Language: en-US X-Originating-IP: [10.136.110.154] X-ClientProxiedBy: dggemx702-chm.china.huawei.com (10.1.199.49) To dggemx753-chm.china.huawei.com (10.0.44.37) X-CFilter-Loop: Reflected X-Headers-End: 1ljH63-00EbZy-Ru Subject: Re: [f2fs-dev] =?utf-8?b?562U5aSNOiAgW1BBVENIIHY0XSBmMmZzOiBjb21w?= =?utf-8?q?ress=3A_add_nocompress_extensions_support?= X-BeenThere: linux-f2fs-devel@lists.sourceforge.net X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="gbk"; Format="flowed" Errors-To: linux-f2fs-devel-bounces@lists.sourceforge.net T24gMjAyMS81LzE5IDE1OjQ3LCBjaGFuZ2ZlbmduYW5Adml2by5jb20gd3JvdGU6Cj4gRG8geW91 IG1lYW4gdGhlIGNhc2Ugb2YgZG9uJ3QgYWxsb3cgdXNlICcqJyB0byBzcGVjaWZpZSBhbGwgZmls ZSBpbgo+IG5vY29tcHJlc3MgZXh0ZW5zaW9uPyBJdCdzIGhhbmRsZWQgYnkgZjJmc190ZXN0X2Nv bXByZXNzX2V4dGVuc2lvbi4KPiBPciBvdGhlciBjYXNlPwoKSSd2ZSBwb2ludGVkIG91dCBpbiBi ZWxvdyB0aHJlYWQ6CgpodHRwczovL2xvcmUua2VybmVsLm9yZy9saW51eC1mMmZzLWRldmVsL2M3 ZWU3OTlkLWE4ZGUtNDY3MS1iYWI3LTJjODcxNDZhZDUzMEBodWF3ZWkuY29tL1QvI20yZWU5OTcy MjFhMDk1ODQ1YzA3YWE4YmNhNDEyY2QzNGQzYzZjMDJjXAoKUXVvdGVkOgoiCiA+ICtzdGF0aWMg aW50IGYyZnNfdGVzdF9jb21wcmVzc19leHRlbnNpb24oc3RydWN0IGYyZnNfc2JfaW5mbyAqc2Jp KQogPiArewogPiArCXVuc2lnbmVkIGNoYXIgKCpleHQpW0YyRlNfRVhURU5TSU9OX0xFTl07CiA+ ICsJdW5zaWduZWQgY2hhciAoKm5vZXh0KVtGMkZTX0VYVEVOU0lPTl9MRU5dOwogPiArCWludCBl eHRfY250LCBub2V4dF9jbnQsIGluZGV4ID0gMCwgbm9faW5kZXggPSAwOwogPiArCiA+ICsJZXh0 ID0gRjJGU19PUFRJT04oc2JpKS5leHRlbnNpb25zOwogPiArCWV4dF9jbnQgPSBGMkZTX09QVElP TihzYmkpLmNvbXByZXNzX2V4dF9jbnQ7CiA+ICsJbm9leHQgPSBGMkZTX09QVElPTihzYmkpLm5v ZXh0ZW5zaW9uczsKID4gKwlub2V4dF9jbnQgPSBGMkZTX09QVElPTihzYmkpLm5vY29tcHJlc3Nf ZXh0X2NudDsKID4gKwogPiArCWlmICghZXh0X2NudCB8fCAhbm9leHRfY250KQoKSXQgZG9lc24n dCBjb3ZlciB0aGUgY2FzZTogZXh0X2NudCA9IDAsIGFuZCB0aGVyZSBpcyAiKiIgaW4gbm9leHRb XS4KIgoKVGhhbmtzLAoKPiAKPiAtLS0tLdPKvP7Urbz+LS0tLS0KPiC3orz+yMs6IENoYW8gWXUg PHl1Y2hhbzBAaHVhd2VpLmNvbT4KPiC3osvNyrG85DogMjAyMcTqNdTCMTnI1SAxNTowMQo+IMrV vP7IyzogRmVuZ25hbiBDaGFuZyA8Y2hhbmdmZW5nbmFuQHZpdm8uY29tPjsgamFlZ2V1a0BrZXJu ZWwub3JnOwo+IGNoYW9Aa2VybmVsLm9yZzsgbGludXgtZjJmcy1kZXZlbEBsaXN0cy5zb3VyY2Vm b3JnZS5uZXQKPiDW98ziOiBSZTogW2YyZnMtZGV2XSBbUEFUQ0ggdjRdIGYyZnM6IGNvbXByZXNz OiBhZGQgbm9jb21wcmVzcyBleHRlbnNpb25zCj4gc3VwcG9ydAo+IAo+IE9uIDIwMjEvNS8xOCAy MDowNywgRmVuZ25hbiBDaGFuZyB3cm90ZToKPj4gV2hlbiB3ZSBjcmVhdGUgYSBkaXJlY3Rvcnkg d2l0aCBlbmFibGUgY29tcHJlc3Npb24sIGFsbCBmaWxlIHdyaXRlCj4+IGludG8gZGlyZWN0b3J5 IHdpbGwgdHJ5IHRvIGNvbXByZXNzLkJ1dCBzb21ldGltZXMgd2UgbWF5IGtub3csIG5ldwo+PiBm aWxlIGNhbm5vdCBtZWV0IGNvbXByZXNzaW9uIHJhdGlvIHJlcXVpcmVtZW50cy4KPj4gV2UgbmVl ZCBhIG5vY29tcHJlc3MgZXh0ZW5zaW9uIHRvIHNraXAgdGhvc2UgZmlsZXMgdG8gYXZvaWQKPj4g dW5uZWNlc3NhcnkgY29tcHJlc3MgcGFnZSB0ZXN0Lgo+Pgo+PiBBZnRlciBhZGQgbm9jb21wcmVz c19leHRlbnNpb24sIHRoZSBwcmlvcml0eSBzaG91bGQgYmU6Cj4+IGRpcl9mbGFnIDwgY29tcF9l eHRlbnRpb24sbm9jb21wcmVzc19leHRlbnNpb24gPCBjb21wX2ZpbGVfZmxhZywKPj4gbm9fY29t cF9maWxlX2ZsYWcuCj4+Cj4+IEZvciBleGFtcGxlOgo+PiAxLklmIGRpciBpcyBzZXQgY29tcHJl c3MsIHRoZSBkZWZhdWx0IGZpbGUgYW5kIGNvbXByZXNzX2V4dGVuc2lvbgo+PiBzcGVjaWZpZWQg ZmlsZSB3aWxsIGNvbXByZXNzLCBhbmQgbm9jb21wcmVzc19leHRlbnNpb24gc3BlY2lmaWVkIGZp bGUKPj4gd2lsbCBub2NvbXByZXNzLgo+PiAyLklmIGRpciBpcyBzZXQgbm90IGNvbXByZXNzLCB0 aGUgZGVmYXVsdCBmaWxlIGFuZAo+PiBub2NvbXByZXNzX2V4dGVuc2lvbiBzcGVjaWZpZWQgZmls ZSB3aWxsIG5vdCBjb21wcmVzcywgYnV0Cj4+IGNvbXByZXNzX2V4dGVuc2lvbiBzcGVjaWZpZWQg ZmlsZSB3aWxsIGNvbXByZXNzLgo+PiAzLldlIGNhbiBjaGFuZ2UgY29tcHJlc3MgYXR0cmlidXRl IHJlZ2FyZGxlc3Mgb2YgdGhlIGZpbGUgaW4gd2hpY2gKPj4gdHlwZSBvZiBkaXIgYW5kICBzcGVj aWZpZWQgb3Igbm90Lgo+Pgo+PiBTaWduZWQtb2ZmLWJ5OiBGZW5nbmFuIENoYW5nIDxjaGFuZ2Zl bmduYW5Adml2by5jb20+Cj4+IC0tLQo+PiAgICBEb2N1bWVudGF0aW9uL2ZpbGVzeXN0ZW1zL2Yy ZnMucnN0IHwgMTggKysrKysrKwo+PiAgICBmcy9mMmZzL2YyZnMuaCAgICAgICAgICAgICAgICAg ICAgIHwgIDIgKwo+PiAgICBmcy9mMmZzL25hbWVpLmMgICAgICAgICAgICAgICAgICAgIHwgMTgg KysrKystLQo+PiAgICBmcy9mMmZzL3N1cGVyLmMgICAgICAgICAgICAgICAgICAgIHwgNzkgKysr KysrKysrKysrKysrKysrKysrKysrKysrKystCj4+ICAgIDQgZmlsZXMgY2hhbmdlZCwgMTEzIGlu c2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCj4+Cj4+IGRpZmYgLS1naXQgYS9Eb2N1bWVudGF0 aW9uL2ZpbGVzeXN0ZW1zL2YyZnMucnN0Cj4+IGIvRG9jdW1lbnRhdGlvbi9maWxlc3lzdGVtcy9m MmZzLnJzdAo+PiBpbmRleCA5OTJiZjkxZWVlYzguLmNmMTYyNDA5ZmMwMSAxMDA2NDQKPj4gLS0t IGEvRG9jdW1lbnRhdGlvbi9maWxlc3lzdGVtcy9mMmZzLnJzdAo+PiArKysgYi9Eb2N1bWVudGF0 aW9uL2ZpbGVzeXN0ZW1zL2YyZnMucnN0Cj4+IEBAIC0yODEsNiArMjgxLDI0IEBAIGNvbXByZXNz X2V4dGVuc2lvbj0lcwkgU3VwcG9ydCBhZGRpbmcgc3BlY2lmaWVkCj4gZXh0ZW5zaW9uLCBzbyB0 aGF0IGYyZnMgY2FuIGVuYWIKPj4gICAgCQkJIEZvciBvdGhlciBmaWxlcywgd2UgY2FuIHN0aWxs IGVuYWJsZSBjb21wcmVzc2lvbgo+IHZpYSBpb2N0bC4KPj4gICAgCQkJIE5vdGUgdGhhdCwgdGhl cmUgaXMgb25lIHJlc2VydmVkIHNwZWNpYWwgZXh0ZW5zaW9uCj4gJyonLCBpdAo+PiAgICAJCQkg Y2FuIGJlIHNldCB0byBlbmFibGUgY29tcHJlc3Npb24gZm9yIGFsbCBmaWxlcy4KPj4gK25vY29t cHJlc3NfZXh0ZW5zaW9uPSVzCSAgIFN1cHBvcnQgYWRkaW5nIHNwZWNpZmllZCBleHRlbnNpb24s IHNvCj4gdGhhdCBmMmZzIGNhbiBkaXNhYmxlCj4+ICsJCQkgY29tcHJlc3Npb24gb24gdGhvc2Ug Y29ycmVzcG9uZGluZyBmaWxlcywganVzdAo+IGNvbnRyYXJ5IHRvIGNvbXByZXNzaW9uIGV4dGVu c2lvbi4KPj4gKwkJCSBJZiB5b3Uga25vdyBleGFjdGx5IHdoaWNoIGZpbGVzIGNhbm5vdCBiZQo+ IGNvbXByZXNzZWQsIHlvdSBjYW4gdXNlIHRoaXMuCj4+ICsJCQkgVGhlIHNhbWUgZXh0ZW5zaW9u IG5hbWUgY2FuJ3QgYXBwZWFyIGluIGJvdGgKPiBjb21wcmVzcyBhbmQgbm9jb21wcmVzcwo+PiAr CQkJIGV4dGVuc2lvbiBhdCB0aGUgc2FtZSB0aW1lLgo+PiArCQkJIElmIHRoZSBjb21wcmVzcyBl eHRlbnNpb24gc3BlY2lmaWVzIGFsbCBmaWxlcywgdGhlCj4gdHlwZXMgc3BlY2lmaWVkIGJ5IHRo ZQo+PiArCQkJIG5vY29tcHJlc3MgZXh0ZW5zaW9uIHdpbGwgYmUgdHJlYXRlZCBhcyBzcGVjaWFs Cj4gY2FzZXMgYW5kIHdpbGwgbm90IGJlIGNvbXByZXNzZWQuCj4+ICsJCQkgRG9uJ3QgYWxsb3cg dXNlICcqJyB0byBzcGVjaWZpZSBhbGwgZmlsZSBpbgo+IG5vY29tcHJlc3MgZXh0ZW5zaW9uLgo+ IAo+IElJVUMsIGl0IHNlZW1zIHRoZSBjb2RlIGRvZXNuJ3QgY292ZXIgdGhpcyBjYXNlPwo+IAo+ IFRoYW5rcywKPiAKPj4gKwkJCSBBZnRlciBhZGQgbm9jb21wcmVzc19leHRlbnNpb24sIHRoZSBw cmlvcml0eSBzaG91bGQKPiBiZToKPj4gKwkJCSBkaXJfZmxhZyA8IGNvbXBfZXh0ZW50aW9uLG5v Y29tcHJlc3NfZXh0ZW5zaW9uIDwKPiBjb21wX2ZpbGVfZmxhZyxub19jb21wX2ZpbGVfZmxhZy4K Pj4gKwkJCSBGb3IgZXhhbXBsZToKPj4gKwkJCSAxLklmIGRpciBpcyBzZXQgY29tcHJlc3MsIHRo ZSBkZWZhdWx0IGZpbGUgYW5kCj4gY29tcHJlc3NfZXh0ZW5zaW9uIHNwZWNpZmllZCBmaWxlCj4+ ICsJCQkgd2lsbCBjb21wcmVzcywgYW5kIG5vY29tcHJlc3NfZXh0ZW5zaW9uIHNwZWNpZmllZAo+ IGZpbGUgd2lsbCBub2NvbXByZXNzLgo+PiArCQkJIDIuSWYgZGlyIGlzIHNldCBub3QgY29tcHJl c3MsIHRoZSBkZWZhdWx0IGZpbGUgYW5kCj4gbm9jb21wcmVzc19leHRlbnNpb24gc3BlY2lmaWVk Cj4+ICsJCQkgZmlsZSB3aWxsIG5vdCBjb21wcmVzcywgYnV0IGNvbXByZXNzX2V4dGVuc2lvbgo+ IHNwZWNpZmllZCBmaWxlIHdpbGwgY29tcHJlc3MuCj4+ICsJCQkgMy5XZSBjYW4gY2hhbmdlIGNv bXByZXNzIGF0dHJpYnV0ZSByZWdhcmRsZXNzIG9mCj4gdGhlIGZpbGUgaW4gd2hpY2ggdHlwZSBv ZiBkaXIKPj4gKwkJCSBhbmQgc3BlY2lmaWVkIG9yIG5vdC4KPj4gKwo+PiAgICBjb21wcmVzc19j aGtzdW0JCSBTdXBwb3J0IHZlcmlmeWluZyBjaGtzdW0gb2YgcmF3IGRhdGEgaW4KPiBjb21wcmVz c2VkIGNsdXN0ZXIuCj4+ICAgIGNvbXByZXNzX21vZGU9JXMJIENvbnRyb2wgZmlsZSBjb21wcmVz c2lvbiBtb2RlLiBUaGlzIHN1cHBvcnRzICJmcyIKPiBhbmQgInVzZXIiCj4+ICAgIAkJCSBtb2Rl cy4gSW4gImZzIiBtb2RlIChkZWZhdWx0KSwgZjJmcyBkb2VzIGF1dG9tYXRpYwo+IGNvbXByZXNz aW9uCj4+IGRpZmYgLS1naXQgYS9mcy9mMmZzL2YyZnMuaCBiL2ZzL2YyZnMvZjJmcy5oIGluZGV4 Cj4+IGM4M2Q5MDEyNWViZC4uMWMxMjE1ZjA2ZjY4IDEwMDY0NAo+PiAtLS0gYS9mcy9mMmZzL2Yy ZnMuaAo+PiArKysgYi9mcy9mMmZzL2YyZnMuaAo+PiBAQCAtMTUwLDggKzE1MCwxMCBAQCBzdHJ1 Y3QgZjJmc19tb3VudF9pbmZvIHsKPj4gICAgCXVuc2lnbmVkIGNoYXIgY29tcHJlc3NfbGV2ZWw7 CQkvKiBjb21wcmVzcyBsZXZlbCAqLwo+PiAgICAJYm9vbCBjb21wcmVzc19jaGtzdW07CQkJLyog Y29tcHJlc3NlZCBkYXRhIGNoa3N1bSAqLwo+PiAgICAJdW5zaWduZWQgY2hhciBjb21wcmVzc19l eHRfY250OwkJLyogZXh0ZW5zaW9uIGNvdW50ICovCj4+ICsJdW5zaWduZWQgY2hhciBub2NvbXBy ZXNzX2V4dF9jbnQ7CQkvKiBub2NvbXByZXNzCj4gZXh0ZW5zaW9uIGNvdW50ICovCj4+ICAgIAlp bnQgY29tcHJlc3NfbW9kZTsJCQkvKiBjb21wcmVzc2lvbiBtb2RlICovCj4+ICAgIAl1bnNpZ25l ZCBjaGFyIGV4dGVuc2lvbnNbQ09NUFJFU1NfRVhUX05VTV1bRjJGU19FWFRFTlNJT05fTEVOXTsJ LyoKPiBleHRlbnNpb25zICovCj4+ICsJdW5zaWduZWQgY2hhciBub2V4dGVuc2lvbnNbQ09NUFJF U1NfRVhUX05VTV1bRjJGU19FWFRFTlNJT05fTEVOXTsgLyoKPiAKPj4gK2V4dGVuc2lvbnMgKi8K Pj4gICAgfTsKPj4gICAgCj4+ICAgICNkZWZpbmUgRjJGU19GRUFUVVJFX0VOQ1JZUFQJCTB4MDAw MQo+PiBkaWZmIC0tZ2l0IGEvZnMvZjJmcy9uYW1laS5jIGIvZnMvZjJmcy9uYW1laS5jIGluZGV4 Cj4+IGE5Y2Q5Y2Y5NzIyOS4uYjU3YjQxZDc3OTllIDEwMDY0NAo+PiAtLS0gYS9mcy9mMmZzL25h bWVpLmMKPj4gKysrIGIvZnMvZjJmcy9uYW1laS5jCj4+IEBAIC0yNzksMTQgKzI3OSwxNiBAQCBz dGF0aWMgdm9pZCBzZXRfY29tcHJlc3NfaW5vZGUoc3RydWN0IGYyZnNfc2JfaW5mbwo+ICpzYmks IHN0cnVjdCBpbm9kZSAqaW5vZGUsCj4+ICAgIAkJCQkJCWNvbnN0IHVuc2lnbmVkIGNoYXIgKm5h bWUpCj4+ICAgIHsKPj4gICAgCV9fdTggKCpleHRsaXN0KVtGMkZTX0VYVEVOU0lPTl9MRU5dID0K Pj4gc2JpLT5yYXdfc3VwZXItPmV4dGVuc2lvbl9saXN0Owo+PiArCXVuc2lnbmVkIGNoYXIgKCpu b2V4dClbRjJGU19FWFRFTlNJT05fTEVOXSA9Cj4+ICtGMkZTX09QVElPTihzYmkpLm5vZXh0ZW5z aW9uczsKPj4gICAgCXVuc2lnbmVkIGNoYXIgKCpleHQpW0YyRlNfRVhURU5TSU9OX0xFTl07Cj4+ IC0JdW5zaWduZWQgaW50IGV4dF9jbnQgPSBGMkZTX09QVElPTihzYmkpLmNvbXByZXNzX2V4dF9j bnQ7Cj4+ICsJdW5zaWduZWQgY2hhciBleHRfY250ID0gRjJGU19PUFRJT04oc2JpKS5jb21wcmVz c19leHRfY250Owo+PiArCXVuc2lnbmVkIGNoYXIgbm9leHRfY250ID0gRjJGU19PUFRJT04oc2Jp KS5ub2NvbXByZXNzX2V4dF9jbnQ7Cj4+ICAgIAlpbnQgaSwgY29sZF9jb3VudCwgaG90X2NvdW50 Owo+PiAgICAKPj4gICAgCWlmICghZjJmc19zYl9oYXNfY29tcHJlc3Npb24oc2JpKSB8fAo+PiAt CQkJaXNfaW5vZGVfZmxhZ19zZXQoaW5vZGUsIEZJX0NPTVBSRVNTRURfRklMRSkgfHwKPj4gICAg CQkJRjJGU19JKGlub2RlKS0+aV9mbGFncyAmIEYyRlNfTk9DT01QX0ZMIHx8Cj4+IC0JCQkhZjJm c19tYXlfY29tcHJlc3MoaW5vZGUpKQo+PiArCQkJIWYyZnNfbWF5X2NvbXByZXNzKGlub2RlKSB8 fAo+PiArCQkJKCFleHRfY250ICYmICFub2V4dF9jbnQpKQo+PiAgICAJCXJldHVybjsKPj4gICAg Cj4+ICAgIAlkb3duX3JlYWQoJnNiaS0+c2JfbG9jayk7Cj4+IEBAIC0zMDMsNiArMzA1LDE2IEBA IHN0YXRpYyB2b2lkIHNldF9jb21wcmVzc19pbm9kZShzdHJ1Y3QKPj4gZjJmc19zYl9pbmZvICpz YmksIHN0cnVjdCBpbm9kZSAqaW5vZGUsCj4+ICAgIAo+PiAgICAJdXBfcmVhZCgmc2JpLT5zYl9s b2NrKTsKPj4gICAgCj4+ICsJZm9yIChpID0gMDsgaSA8IG5vZXh0X2NudDsgaSsrKSB7Cj4+ICsJ CWlmIChpc19leHRlbnNpb25fZXhpc3QobmFtZSwgbm9leHRbaV0pKSB7Cj4+ICsJCQlmMmZzX2Rp c2FibGVfY29tcHJlc3NlZF9maWxlKGlub2RlKTsKPj4gKwkJCXJldHVybjsKPj4gKwkJfQo+PiAr CX0KPj4gKwo+PiArCWlmIChpc19pbm9kZV9mbGFnX3NldChpbm9kZSwgRklfQ09NUFJFU1NFRF9G SUxFKSkKPj4gKwkJcmV0dXJuOwo+PiArCj4+ICAgIAlleHQgPSBGMkZTX09QVElPTihzYmkpLmV4 dGVuc2lvbnM7Cj4+ICAgIAo+PiAgICAJZm9yIChpID0gMDsgaSA8IGV4dF9jbnQ7IGkrKykgewo+ PiBkaWZmIC0tZ2l0IGEvZnMvZjJmcy9zdXBlci5jIGIvZnMvZjJmcy9zdXBlci5jIGluZGV4Cj4+ IDdkMzI1YmZhZjY1YS4uZDM4ZTJlNGQ3ZGEzIDEwMDY0NAo+PiAtLS0gYS9mcy9mMmZzL3N1cGVy LmMKPj4gKysrIGIvZnMvZjJmcy9zdXBlci5jCj4+IEBAIC0xNDgsNiArMTQ4LDcgQEAgZW51bSB7 Cj4+ICAgIAlPcHRfY29tcHJlc3NfYWxnb3JpdGhtLAo+PiAgICAJT3B0X2NvbXByZXNzX2xvZ19z aXplLAo+PiAgICAJT3B0X2NvbXByZXNzX2V4dGVuc2lvbiwKPj4gKwlPcHRfbm9jb21wcmVzc19l eHRlbnNpb24sCj4+ICAgIAlPcHRfY29tcHJlc3NfY2hrc3VtLAo+PiAgICAJT3B0X2NvbXByZXNz X21vZGUsCj4+ICAgIAlPcHRfYXRnYywKPj4gQEAgLTIyMiw2ICsyMjMsNyBAQCBzdGF0aWMgbWF0 Y2hfdGFibGVfdCBmMmZzX3Rva2VucyA9IHsKPj4gICAgCXtPcHRfY29tcHJlc3NfYWxnb3JpdGht LCAiY29tcHJlc3NfYWxnb3JpdGhtPSVzIn0sCj4+ICAgIAl7T3B0X2NvbXByZXNzX2xvZ19zaXpl LCAiY29tcHJlc3NfbG9nX3NpemU9JXUifSwKPj4gICAgCXtPcHRfY29tcHJlc3NfZXh0ZW5zaW9u LCAiY29tcHJlc3NfZXh0ZW5zaW9uPSVzIn0sCj4+ICsJe09wdF9ub2NvbXByZXNzX2V4dGVuc2lv biwgIm5vY29tcHJlc3NfZXh0ZW5zaW9uPSVzIn0sCj4+ICAgIAl7T3B0X2NvbXByZXNzX2Noa3N1 bSwgImNvbXByZXNzX2Noa3N1bSJ9LAo+PiAgICAJe09wdF9jb21wcmVzc19tb2RlLCAiY29tcHJl c3NfbW9kZT0lcyJ9LAo+PiAgICAJe09wdF9hdGdjLCAiYXRnYyJ9LAo+PiBAQCAtNDczLDYgKzQ3 NSw0MyBAQCBzdGF0aWMgaW50IGYyZnNfc2V0X3Rlc3RfZHVtbXlfZW5jcnlwdGlvbihzdHJ1Y3QK PiBzdXBlcl9ibG9jayAqc2IsCj4+ICAgIH0KPj4gICAgCj4+ICAgICNpZmRlZiBDT05GSUdfRjJG U19GU19DT01QUkVTU0lPTgo+PiArLyoKPj4gKyAqIDEuIFRoZSBzYW1lIGV4dGVuc2lvbiBuYW1l IGNhbm5vdCBub3QgYXBwZWFyIGluIGJvdGggY29tcHJlc3MgYW5kCj4+ICtub24tY29tcHJlc3Mg ZXh0ZW5zaW9uCj4+ICsgKiBhdCB0aGUgc2FtZSB0aW1lLgo+PiArICogMi4gSWYgdGhlIGNvbXBy ZXNzIGV4dGVuc2lvbiBzcGVjaWZpZXMgYWxsIGZpbGVzLCB0aGUgdHlwZXMKPj4gK3NwZWNpZmll ZCBieSB0aGUgbm9uLWNvbXByZXNzCj4+ICsgKiBleHRlbnNpb24gd2lsbCBiZSB0cmVhdGVkIGFz IHNwZWNpYWwgY2FzZXMgYW5kIHdpbGwgbm90IGJlIGNvbXByZXNzZWQuCj4+ICsgKiAzLiBEb24n dCBhbGxvdyB0aGUgbm9uLWNvbXByZXNzIGV4dGVuc2lvbiBzcGVjaWZpZXMgYWxsIGZpbGVzLgo+ PiArICovCj4+ICtzdGF0aWMgaW50IGYyZnNfdGVzdF9jb21wcmVzc19leHRlbnNpb24oc3RydWN0 IGYyZnNfc2JfaW5mbyAqc2JpKSB7Cj4+ICsJdW5zaWduZWQgY2hhciAoKmV4dClbRjJGU19FWFRF TlNJT05fTEVOXTsKPj4gKwl1bnNpZ25lZCBjaGFyICgqbm9leHQpW0YyRlNfRVhURU5TSU9OX0xF Tl07Cj4+ICsJaW50IGV4dF9jbnQsIG5vZXh0X2NudCwgaW5kZXggPSAwLCBub19pbmRleCA9IDA7 Cj4+ICsKPj4gKwlleHQgPSBGMkZTX09QVElPTihzYmkpLmV4dGVuc2lvbnM7Cj4+ICsJZXh0X2Nu dCA9IEYyRlNfT1BUSU9OKHNiaSkuY29tcHJlc3NfZXh0X2NudDsKPj4gKwlub2V4dCA9IEYyRlNf T1BUSU9OKHNiaSkubm9leHRlbnNpb25zOwo+PiArCW5vZXh0X2NudCA9IEYyRlNfT1BUSU9OKHNi aSkubm9jb21wcmVzc19leHRfY250Owo+PiArCj4+ICsJaWYgKCFleHRfY250IHx8ICFub2V4dF9j bnQpCj4+ICsJCXJldHVybiAwOwo+PiArCj4+ICsJZm9yIChub19pbmRleCA9IDA7IG5vX2luZGV4 IDwgbm9leHRfY250OyBub19pbmRleCsrKSB7Cj4+ICsJCWlmICghc3RyY2FzZWNtcCgiKiIsIG5v ZXh0W25vX2luZGV4XSkpIHsKPj4gKwkJCWYyZnNfaW5mbyhzYmksICJEb24ndCBhbGxvdyB0aGUg bm9uLWNvbXByZXNzCj4gZXh0ZW5zaW9uIHNwZWNpZmllcyBhbGwgZmlsZXMiKTsKPj4gKwkJCXJl dHVybiAtRUlOVkFMOwo+PiArCQl9Cj4+ICsJCWZvciAoaW5kZXggPSAwOyBpbmRleCA8IGV4dF9j bnQ7IGluZGV4KyspIHsKPj4gKwkJCWlmICghc3RyY2FzZWNtcChleHRbaW5kZXhdLCBub2V4dFtu b19pbmRleF0pKSB7Cj4+ICsJCQkJZjJmc19pbmZvKHNiaSwgIkRvbid0IGFsbG93IHRoZSBzYW1l Cj4gZXh0ZW5zaW9uICVzIGFwcGVhciBpbiBib3RoIGNvbXByZXNzIGFuZCBub24tY29tcHJlc3Mg ZXh0ZW5zaW9uIiwKPj4gKwkJCQkJCWV4dFtpbmRleF0pOwo+PiArCQkJCXJldHVybiAtRUlOVkFM Owo+PiArCQkJfQo+PiArCQl9Cj4+ICsJfQo+PiArCXJldHVybiAwOwo+PiArfQo+PiArCj4+ICAg ICNpZmRlZiBDT05GSUdfRjJGU19GU19MWjQKPj4gICAgc3RhdGljIGludCBmMmZzX3NldF9sejRo Y19sZXZlbChzdHJ1Y3QgZjJmc19zYl9pbmZvICpzYmksIGNvbnN0IGNoYXIKPiAqc3RyKQo+PiAg ICB7Cj4+IEBAIC01NDYsNyArNTg1LDggQEAgc3RhdGljIGludCBwYXJzZV9vcHRpb25zKHN0cnVj dCBzdXBlcl9ibG9jayAqc2IsIGNoYXIKPiAqb3B0aW9ucywgYm9vbCBpc19yZW1vdW50KQo+PiAg ICAJc3Vic3RyaW5nX3QgYXJnc1tNQVhfT1BUX0FSR1NdOwo+PiAgICAjaWZkZWYgQ09ORklHX0Yy RlNfRlNfQ09NUFJFU1NJT04KPj4gICAgCXVuc2lnbmVkIGNoYXIgKCpleHQpW0YyRlNfRVhURU5T SU9OX0xFTl07Cj4+IC0JaW50IGV4dF9jbnQ7Cj4+ICsJdW5zaWduZWQgY2hhciAoKm5vZXh0KVtG MkZTX0VYVEVOU0lPTl9MRU5dOwo+PiArCWludCBleHRfY250LCBub2V4dF9jbnQ7Cj4+ICAgICNl bmRpZgo+PiAgICAJY2hhciAqcCwgKm5hbWU7Cj4+ICAgIAlpbnQgYXJnID0gMDsKPj4gQEAgLTEw NDksNiArMTA4OSwzMCBAQCBzdGF0aWMgaW50IHBhcnNlX29wdGlvbnMoc3RydWN0IHN1cGVyX2Js b2NrICpzYiwKPiBjaGFyICpvcHRpb25zLCBib29sIGlzX3JlbW91bnQpCj4+ICAgIAkJCUYyRlNf T1BUSU9OKHNiaSkuY29tcHJlc3NfZXh0X2NudCsrOwo+PiAgICAJCQlrZnJlZShuYW1lKTsKPj4g ICAgCQkJYnJlYWs7Cj4+ICsJCWNhc2UgT3B0X25vY29tcHJlc3NfZXh0ZW5zaW9uOgo+PiArCQkJ aWYgKCFmMmZzX3NiX2hhc19jb21wcmVzc2lvbihzYmkpKSB7Cj4+ICsJCQkJZjJmc19pbmZvKHNi aSwgIkltYWdlIGRvZXNuJ3Qgc3VwcG9ydAo+IGNvbXByZXNzaW9uIik7Cj4+ICsJCQkJYnJlYWs7 Cj4+ICsJCQl9Cj4+ICsJCQluYW1lID0gbWF0Y2hfc3RyZHVwKCZhcmdzWzBdKTsKPj4gKwkJCWlm ICghbmFtZSkKPj4gKwkJCQlyZXR1cm4gLUVOT01FTTsKPj4gKwo+PiArCQkJbm9leHQgPSBGMkZT X09QVElPTihzYmkpLm5vZXh0ZW5zaW9uczsKPj4gKwkJCW5vZXh0X2NudCA9IEYyRlNfT1BUSU9O KHNiaSkubm9jb21wcmVzc19leHRfY250Owo+PiArCj4+ICsJCQlpZiAoc3RybGVuKG5hbWUpID49 IEYyRlNfRVhURU5TSU9OX0xFTiB8fAo+PiArCQkJCW5vZXh0X2NudCA+PSBDT01QUkVTU19FWFRf TlVNKSB7Cj4+ICsJCQkJZjJmc19lcnIoc2JpLAo+PiArCQkJCQkiaW52YWxpZCBleHRlbnNpb24g bGVuZ3RoL251bWJlciIpOwo+PiArCQkJCWtmcmVlKG5hbWUpOwo+PiArCQkJCXJldHVybiAtRUlO VkFMOwo+PiArCQkJfQo+PiArCj4+ICsJCQlzdHJjcHkobm9leHRbbm9leHRfY250XSwgbmFtZSk7 Cj4+ICsJCQlGMkZTX09QVElPTihzYmkpLm5vY29tcHJlc3NfZXh0X2NudCsrOwo+PiArCQkJa2Zy ZWUobmFtZSk7Cj4+ICsJCQlicmVhazsKPj4gICAgCQljYXNlIE9wdF9jb21wcmVzc19jaGtzdW06 Cj4+ICAgIAkJCUYyRlNfT1BUSU9OKHNiaSkuY29tcHJlc3NfY2hrc3VtID0gdHJ1ZTsKPj4gICAg CQkJYnJlYWs7Cj4+IEBAIC0xMDcwLDYgKzExMzQsNyBAQCBzdGF0aWMgaW50IHBhcnNlX29wdGlv bnMoc3RydWN0IHN1cGVyX2Jsb2NrICpzYiwKPiBjaGFyICpvcHRpb25zLCBib29sIGlzX3JlbW91 bnQpCj4+ICAgIAkJY2FzZSBPcHRfY29tcHJlc3NfYWxnb3JpdGhtOgo+PiAgICAJCWNhc2UgT3B0 X2NvbXByZXNzX2xvZ19zaXplOgo+PiAgICAJCWNhc2UgT3B0X2NvbXByZXNzX2V4dGVuc2lvbjoK Pj4gKwkJY2FzZSBPcHRfbm9jb21wcmVzc19leHRlbnNpb246Cj4+ICAgIAkJY2FzZSBPcHRfY29t cHJlc3NfY2hrc3VtOgo+PiAgICAJCWNhc2UgT3B0X2NvbXByZXNzX21vZGU6Cj4+ICAgIAkJCWYy ZnNfaW5mbyhzYmksICJjb21wcmVzc2lvbiBvcHRpb25zIG5vdCBzdXBwb3J0ZWQiKTsKPiBAQCAt MTEyMiw2Cj4+ICsxMTg3LDEzIEBAIHN0YXRpYyBpbnQgcGFyc2Vfb3B0aW9ucyhzdHJ1Y3Qgc3Vw ZXJfYmxvY2sgKnNiLCBjaGFyCj4gKm9wdGlvbnMsIGJvb2wgaXNfcmVtb3VudCkKPj4gICAgCX0K Pj4gICAgI2VuZGlmCj4+ICAgIAo+PiArI2lmZGVmIENPTkZJR19GMkZTX0ZTX0NPTVBSRVNTSU9O Cj4+ICsJaWYgKGYyZnNfdGVzdF9jb21wcmVzc19leHRlbnNpb24oc2JpKSkgewo+PiArCQlmMmZz X2VycihzYmksICJpbnZhbGlkIGNvbXByZXNzIG9yIG5vY29tcHJlc3MgZXh0ZW5zaW9uIik7Cj4+ ICsJCXJldHVybiAtRUlOVkFMOwo+PiArCX0KPj4gKyNlbmRpZgo+PiArCj4+ICAgIAlpZiAoRjJG U19JT19TSVpFX0JJVFMoc2JpKSAmJiAhZjJmc19sZnNfbW9kZShzYmkpKSB7Cj4+ICAgIAkJZjJm c19lcnIoc2JpLCAiU2hvdWxkIHNldCBtb2RlPWxmcyB3aXRoICV1S0Itc2l6ZWQgSU8iLAo+PiAg ICAJCQkgRjJGU19JT19TSVpFX0tCKHNiaSkpOwo+PiBAQCAtMTY2NSw2ICsxNzM3LDExIEBAIHN0 YXRpYyBpbmxpbmUgdm9pZAo+IGYyZnNfc2hvd19jb21wcmVzc19vcHRpb25zKHN0cnVjdCBzZXFf ZmlsZSAqc2VxLAo+PiAgICAJCQlGMkZTX09QVElPTihzYmkpLmV4dGVuc2lvbnNbaV0pOwo+PiAg ICAJfQo+PiAgICAKPj4gKwlmb3IgKGkgPSAwOyBpIDwgRjJGU19PUFRJT04oc2JpKS5ub2NvbXBy ZXNzX2V4dF9jbnQ7IGkrKykgewo+PiArCQlzZXFfcHJpbnRmKHNlcSwgIixub2NvbXByZXNzX2V4 dGVuc2lvbj0lcyIsCj4+ICsJCQlGMkZTX09QVElPTihzYmkpLm5vZXh0ZW5zaW9uc1tpXSk7Cj4+ ICsJfQo+PiArCj4+ICAgIAlpZiAoRjJGU19PUFRJT04oc2JpKS5jb21wcmVzc19jaGtzdW0pCj4+ ICAgIAkJc2VxX3B1dHMoc2VxLCAiLGNvbXByZXNzX2Noa3N1bSIpOwo+PiAgICAKPj4KPiAKPiAK PiAuCj4gCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K TGludXgtZjJmcy1kZXZlbCBtYWlsaW5nIGxpc3QKTGludXgtZjJmcy1kZXZlbEBsaXN0cy5zb3Vy Y2Vmb3JnZS5uZXQKaHR0cHM6Ly9saXN0cy5zb3VyY2Vmb3JnZS5uZXQvbGlzdHMvbGlzdGluZm8v bGludXgtZjJmcy1kZXZlbAo=