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 0B27C47C45 for ; Sun, 12 May 2024 10:06:59 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 5268D68D651; Sun, 12 May 2024 13:06:58 +0300 (EEST) Received: from mail-qk1-f180.google.com (mail-qk1-f180.google.com [209.85.222.180]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id E8BAF68D420 for ; Sun, 12 May 2024 13:06:51 +0300 (EEST) Received: by mail-qk1-f180.google.com with SMTP id af79cd13be357-78f043eaee9so234540185a.3 for ; Sun, 12 May 2024 03:06:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1715508410; x=1716113210; darn=ffmpeg.org; h=to:subject:message-id:date:from:in-reply-to:references:mime-version :from:to:cc:subject:date:message-id:reply-to; bh=G3k7FQJf8wrFk2vZV2kaG0U/xHkTYceEsRInAVHMCVs=; b=nfh7kxfvRjkAZr7YvKlR+dc3gsmk3DLLIuKL+qRne4PP+xHTtRYSXYa0w6MTHpjmWO vxohJUKGBQs4TD+u2AALWwr3w9Xv/VVQxMV7tpRkBe1zer7v1VyrGZrtFsZp7s1s+rl0 /epzpSvqGnlYeTQWQIGhO63NYtXI2lRnqYMbb9lSUHHzt3QrrPGmxJgtcLeaFBf2/Dem rH7RUyPQLaguLL4vlRPemyb9x8B6VRu6pvBBCbjrI0qhTWBDJr1C5xjw9WrR2QXtCXrh iGv4qtaEhgwCjtzoe4P6VRB5dqKgMD6JbLzxzKVWi5oCFkm84PNM3x3mje50Y8GhaPuH HvpA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1715508410; x=1716113210; h=to:subject:message-id:date:from:in-reply-to:references:mime-version :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=G3k7FQJf8wrFk2vZV2kaG0U/xHkTYceEsRInAVHMCVs=; b=rHwxeC5fMnO9BGT/MPjf8VhcyCgzkWe4uZHLYwp9BouJF60NiA4FWiJJ0InAx1JWwK 8SICnliX6lF4rCw2fwWWQxmKzpe7x3bYOSBUXShUTBTPkXTmG3n/TkiL+JO+WzG4ZDmj KWdu5K6Kikn8y+2IDdM4FKQk8yHmdqSnXq5i9Voxmi96uwajsA5GYVnY7PLsWQJyRM6+ ThTMU9KvBUq9lxpTvflMvIK5c7tiUoDZqX7QvXMt42dBuB0YcZDKGCTwE5kO1o7czrWF BiW9keomjnHkC4BEojIHspeLY5NFN/bN3sU6d8qCSaZ+7kFrBwClEP6iYhRDx2ZPKABl dH1Q== X-Gm-Message-State: AOJu0Yx8Jwm/u4qv85n+XF5RFC+2u6GtV2NO7gXTVNfCigUqK8ns1oAD q8NerymgKFqPFPxCFFlGNYrXJPTL0A1p6D+pAhf6pQklw5a+Xkder6cSuUfILtOqdHdEmn+NOnu lGHWFNBEXL6C1X5tTFQPZGsLO0Yn6+DzjxSKToQ== X-Google-Smtp-Source: AGHT+IGz/t+YqHyjViz6ne34biECFhJIG6QUtq4kDqXmbg9CI/wEPJJ71xcNtcF4/wARgk+Q3LZvr+OOci5nsjplR+g= X-Received: by 2002:a05:6214:4985:b0:6a0:590e:d616 with SMTP id 6a1803df08f44-6a1681a3bbdmr80547896d6.29.1715508410331; Sun, 12 May 2024 03:06:50 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: flow gg Date: Sun, 12 May 2024 18:06:39 +0800 Message-ID: To: FFmpeg development discussions and patches X-Content-Filtered-By: Mailman/MimeDel 2.1.29 Subject: Re: [FFmpeg-devel] [PATCH v3 1/9] lavc/vp9dsp: R-V ipred vert 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: PiBJdCBzaG91bGQgYmUgcG9zc2libGUgdG8gaW1wcm92ZSBvcmRlcmluZyB0byBhdm9pZCBpbW1l ZGlhdGUgZGVwZW5kZW5jeQpmcm9tIEFERCB0byBTRAoKT2theSwgdXBkYXRlZCBpdC4KCkFkZGl0 aW9uYWxseSBpbXByb3ZlZCB0aGUgbWMtdGFwXzY0IG9uIHZsZW4+PTI1NiBhbmQgc29tZXRoaW5n Cgo8dWs3YkBmb3htYWlsLmNvbT4g5LqOMjAyNOW5tDXmnIgxMuaXpeWRqOaXpSAxODowNOWGmemB k++8mgoKPiBGcm9tOiBzdW55dWVjaGkgPHN1bnl1ZWNoaUBpc2Nhcy5hYy5jbj4KPgo+IEM5MDg6 Cj4gdnA5X3ZlcnRfOHg4XzhicHBfYzogMjIuMAo+IHZwOV92ZXJ0Xzh4OF84YnBwX3J2aTogMTUu Nwo+IHZwOV92ZXJ0XzE2eDE2XzhicHBfYzogNzEuMgo+IHZwOV92ZXJ0XzE2eDE2XzhicHBfcnZp OiAzOS4wCj4gdnA5X3ZlcnRfMzJ4MzJfOGJwcF9jOiAzMDAuMgo+IHZwOV92ZXJ0XzMyeDMyXzhi cHBfcnZpOiAxMzUuMgo+IC0tLQo+ICBsaWJhdmNvZGVjL3Jpc2N2L01ha2VmaWxlICAgICAgICB8 ICAxICsKPiAgbGliYXZjb2RlYy9yaXNjdi92cDlfaW50cmFfcnZpLlMgfCA3MSArKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKwo+ICBsaWJhdmNvZGVjL3Jpc2N2L3ZwOWRzcC5oICAgICAg ICB8ICA2ICsrKwo+ICBsaWJhdmNvZGVjL3Jpc2N2L3ZwOWRzcF9pbml0LmMgICB8IDYzICsrKysr KysrKysrKysrKystLS0tLS0tLS0tLS0KPiAgNCBmaWxlcyBjaGFuZ2VkLCAxMTQgaW5zZXJ0aW9u cygrKSwgMjcgZGVsZXRpb25zKC0pCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBsaWJhdmNvZGVjL3Jp c2N2L3ZwOV9pbnRyYV9ydmkuUwo+Cj4gZGlmZiAtLWdpdCBhL2xpYmF2Y29kZWMvcmlzY3YvTWFr ZWZpbGUgYi9saWJhdmNvZGVjL3Jpc2N2L01ha2VmaWxlCj4gaW5kZXggODkyNzNiMWNhZC4uY2Nk MDYwYzY2NiAxMDA2NDQKPiAtLS0gYS9saWJhdmNvZGVjL3Jpc2N2L01ha2VmaWxlCj4gKysrIGIv bGliYXZjb2RlYy9yaXNjdi9NYWtlZmlsZQo+IEBAIC02Miw2ICs2Miw3IEBAIE9CSlMtJChDT05G SUdfVlA4RFNQKSArPSByaXNjdi92cDhkc3BfaW5pdC5vCj4gIFJWLU9CSlMtJChDT05GSUdfVlA4 RFNQKSArPSByaXNjdi92cDhkc3BfcnZpLm8KPiAgUlZWLU9CSlMtJChDT05GSUdfVlA4RFNQKSAr PSByaXNjdi92cDhkc3BfcnZ2Lm8KPiAgT0JKUy0kKENPTkZJR19WUDlfREVDT0RFUikgKz0gcmlz Y3YvdnA5ZHNwX2luaXQubwo+ICtSVi1PQkpTLSQoQ09ORklHX1ZQOV9ERUNPREVSKSArPSByaXNj di92cDlfaW50cmFfcnZpLm8KPiAgUlZWLU9CSlMtJChDT05GSUdfVlA5X0RFQ09ERVIpICs9IHJp c2N2L3ZwOV9pbnRyYV9ydnYubwo+ICBPQkpTLSQoQ09ORklHX1ZPUkJJU19ERUNPREVSKSArPSBy aXNjdi92b3JiaXNkc3BfaW5pdC5vCj4gIFJWVi1PQkpTLSQoQ09ORklHX1ZPUkJJU19ERUNPREVS KSArPSByaXNjdi92b3JiaXNkc3BfcnZ2Lm8KPiBkaWZmIC0tZ2l0IGEvbGliYXZjb2RlYy9yaXNj di92cDlfaW50cmFfcnZpLlMKPiBiL2xpYmF2Y29kZWMvcmlzY3YvdnA5X2ludHJhX3J2aS5TCj4g bmV3IGZpbGUgbW9kZSAxMDA2NDQKPiBpbmRleCAwMDAwMDAwMDAwLi4xNmI2YmRiMjVhCj4gLS0t IC9kZXYvbnVsbAo+ICsrKyBiL2xpYmF2Y29kZWMvcmlzY3YvdnA5X2ludHJhX3J2aS5TCj4gQEAg LTAsMCArMSw3MSBAQAo+ICsvKgo+ICsgKiBDb3B5cmlnaHQgKGMpIDIwMjQgSW5zdGl0dWUgb2Yg U29mdHdhcmUgQ2hpbmVzZSBBY2FkZW15IG9mIFNjaWVuY2VzCj4gKElTQ0FTKS4KPiArICoKPiAr ICogVGhpcyBmaWxlIGlzIHBhcnQgb2YgRkZtcGVnLgo+ICsgKgo+ICsgKiBGRm1wZWcgaXMgZnJl ZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCj4gKyAqIG1vZGlmeSBp dCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKPiArICog TGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0 aGVyCj4gKyAqIHZlcnNpb24gMi4xIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24p IGFueSBsYXRlciB2ZXJzaW9uLgo+ICsgKgo+ICsgKiBGRm1wZWcgaXMgZGlzdHJpYnV0ZWQgaW4g dGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKPiArICogYnV0IFdJVEhPVVQgQU5ZIFdB UlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKPiArICogTUVSQ0hB TlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBH TlUKPiArICogTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4K PiArICoKPiArICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExl c3NlciBHZW5lcmFsIFB1YmxpYwo+ICsgKiBMaWNlbnNlIGFsb25nIHdpdGggRkZtcGVnOyBpZiBu b3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCj4gKyAqIEZvdW5kYXRpb24sIEluYy4sIDUx IEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEKPiAwMjExMC0xMzAxIFVT QQo+ICsgKi8KPiArCj4gKyNpbmNsdWRlICJsaWJhdnV0aWwvcmlzY3YvYXNtLlMiCj4gKwo+ICsj aWYgX19yaXNjdl94bGVuID49IDY0Cj4gK2Z1bmMgZmZfdl8zMngzMl9ydmkKPiArICAgICAgICBs ZCAgICAgICAgICAgdDAsIChhMykKPiArICAgICAgICBsZCAgICAgICAgICAgdDEsIDgoYTMpCj4g KyAgICAgICAgbGQgICAgICAgICAgIHQyLCAxNihhMykKPiArICAgICAgICBsZCAgICAgICAgICAg dDMsIDI0KGEzKQo+ICsgICAgICAgIC5yZXB0IDE2Cj4gKyAgICAgICAgYWRkICAgICAgICAgIGE3 LCBhMCwgYTEKPiArICAgICAgICBzZCAgICAgICAgICAgdDAsIChhMCkKPiArICAgICAgICBzZCAg ICAgICAgICAgdDEsIDgoYTApCj4gKyAgICAgICAgc2QgICAgICAgICAgIHQyLCAxNihhMCkKPiAr ICAgICAgICBzZCAgICAgICAgICAgdDMsIDI0KGEwKQo+ICsgICAgICAgIHNoMWFkZCAgICAgICBh MCwgYTEsIGEwCj4gKyAgICAgICAgc2QgICAgICAgICAgIHQwLCAoYTcpCj4gKyAgICAgICAgc2Qg ICAgICAgICAgIHQxLCA4KGE3KQo+ICsgICAgICAgIHNkICAgICAgICAgICB0MiwgMTYoYTcpCj4g KyAgICAgICAgc2QgICAgICAgICAgIHQzLCAyNChhNykKPiArICAgICAgICAuZW5kcgo+ICsKPiAr ICAgICAgICByZXQKPiArZW5kZnVuYwo+ICsKPiArZnVuYyBmZl92XzE2eDE2X3J2aQo+ICsgICAg ICAgIGxkICAgICAgICAgICB0MCwgKGEzKQo+ICsgICAgICAgIGxkICAgICAgICAgICB0MSwgOChh MykKPiArICAgICAgICAucmVwdCA4Cj4gKyAgICAgICAgYWRkICAgICAgICAgIGE3LCBhMCwgYTEK PiArICAgICAgICBzZCAgICAgICAgICAgdDAsIChhMCkKPiArICAgICAgICBzZCAgICAgICAgICAg dDEsIDgoYTApCj4gKyAgICAgICAgc2gxYWRkICAgICAgIGEwLCBhMSwgYTAKPiArICAgICAgICBz ZCAgICAgICAgICAgdDAsIChhNykKPiArICAgICAgICBzZCAgICAgICAgICAgdDEsIDgoYTcpCj4g KyAgICAgICAgLmVuZHIKPiArCj4gKyAgICAgICAgcmV0Cj4gK2VuZGZ1bmMKPiArCj4gK2Z1bmMg ZmZfdl84eDhfcnZpCj4gKyAgICAgICAgbGQgICAgICAgICAgIHQwLCAoYTMpCj4gKyAgICAgICAg LnJlcHQgNAo+ICsgICAgICAgIGFkZCAgICAgICAgICBhNywgYTAsIGExCj4gKyAgICAgICAgc2Qg ICAgICAgICAgIHQwLCAoYTApCj4gKyAgICAgICAgc2gxYWRkICAgICAgIGEwLCBhMSwgYTAKPiAr ICAgICAgICBzZCAgICAgICAgICAgdDAsIChhNykKPiArICAgICAgICAuZW5kcgo+ICsKPiArICAg ICAgICByZXQKPiArZW5kZnVuYwo+ICsjZW5kaWYKPiBkaWZmIC0tZ2l0IGEvbGliYXZjb2RlYy9y aXNjdi92cDlkc3AuaCBiL2xpYmF2Y29kZWMvcmlzY3YvdnA5ZHNwLmgKPiBpbmRleCAyNTA0N2Vk NTA3Li5mOGJjNjU2M2E1IDEwMDY0NAo+IC0tLSBhL2xpYmF2Y29kZWMvcmlzY3YvdnA5ZHNwLmgK PiArKysgYi9saWJhdmNvZGVjL3Jpc2N2L3ZwOWRzcC5oCj4gQEAgLTYwLDYgKzYwLDEyIEBAIHZv aWQgZmZfZGNfMTI5XzE2eDE2X3J2dih1aW50OF90ICpkc3QsIHB0cmRpZmZfdAo+IHN0cmlkZSwg Y29uc3QgdWludDhfdCAqbCwKPiAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4 X3QgKmEpOwo+ICB2b2lkIGZmX2RjXzEyOV84eDhfcnZ2KHVpbnQ4X3QgKmRzdCwgcHRyZGlmZl90 IHN0cmlkZSwgY29uc3QgdWludDhfdCAqbCwKPiAgICAgICAgICAgICAgICAgICAgICAgICBjb25z dCB1aW50OF90ICphKTsKPiArdm9pZCBmZl92XzMyeDMyX3J2aSh1aW50OF90ICpkc3QsIHB0cmRp ZmZfdCBzdHJpZGUsIGNvbnN0IHVpbnQ4X3QgKmwsCj4gKyAgICAgICAgICAgICAgICAgICAgY29u c3QgdWludDhfdCAqYSk7Cj4gK3ZvaWQgZmZfdl8xNngxNl9ydmkodWludDhfdCAqZHN0LCBwdHJk aWZmX3Qgc3RyaWRlLCBjb25zdCB1aW50OF90ICpsLAo+ICsgICAgICAgICAgICAgICAgICAgIGNv bnN0IHVpbnQ4X3QgKmEpOwo+ICt2b2lkIGZmX3ZfOHg4X3J2aSh1aW50OF90ICpkc3QsIHB0cmRp ZmZfdCBzdHJpZGUsIGNvbnN0IHVpbnQ4X3QgKmwsCj4gKyAgICAgICAgICAgICAgICAgIGNvbnN0 IHVpbnQ4X3QgKmEpOwo+Cj4gICNkZWZpbmUgVlA5XzhUQVBfUklTQ1ZfUlZWX0ZVTkMoU0laRSwg dHlwZSwgdHlwZV9pZHgpCj4gICAgICBcCj4gIHZvaWQgZmZfcHV0Xzh0YXBfIyN0eXBlIyNfIyNT SVpFIyNoX3J2dih1aW50OF90ICpkc3QsIHB0cmRpZmZfdAo+IGRzdHN0cmlkZSwgICBcCj4gZGlm ZiAtLWdpdCBhL2xpYmF2Y29kZWMvcmlzY3YvdnA5ZHNwX2luaXQuYwo+IGIvbGliYXZjb2RlYy9y aXNjdi92cDlkc3BfaW5pdC5jCj4gaW5kZXggNjlhYjM5MDA0Yy4uZTM3N2QzNzdlMyAxMDA2NDQK PiAtLS0gYS9saWJhdmNvZGVjL3Jpc2N2L3ZwOWRzcF9pbml0LmMKPiArKysgYi9saWJhdmNvZGVj L3Jpc2N2L3ZwOWRzcF9pbml0LmMKPiBAQCAtMjQsMzggKzI0LDQ3IEBACj4gICNpbmNsdWRlICJs aWJhdmNvZGVjL3ZwOWRzcC5oIgo+ICAjaW5jbHVkZSAidnA5ZHNwLmgiCj4KPiAtc3RhdGljIGF2 X2NvbGQgdm9pZCB2cDlkc3BfaW50cmFwcmVkX2luaXRfcnZ2KFZQOURTUENvbnRleHQgKmRzcCwg aW50IGJwcCkKPiArc3RhdGljIGF2X2NvbGQgdm9pZCB2cDlkc3BfaW50cmFwcmVkX2luaXRfcmlz Y3YoVlA5RFNQQ29udGV4dCAqZHNwLCBpbnQKPiBicHApCj4gIHsKPiAtICAgICNpZiBIQVZFX1JW Vgo+IC0gICAgICAgIGludCBmbGFncyA9IGF2X2dldF9jcHVfZmxhZ3MoKTsKPiArI2lmIEhBVkVf UlYKPiArICAgIGludCBmbGFncyA9IGF2X2dldF9jcHVfZmxhZ3MoKTsKPgo+IC0gICAgICAgIGlm IChicHAgPT0gOCAmJiBmbGFncyAmIEFWX0NQVV9GTEFHX1JWVl9JNjQgJiYgZmZfZ2V0X3J2X3Zs ZW5iKCkKPiA+PSAxNikgewo+IC0gICAgICAgICAgICBkc3AtPmludHJhX3ByZWRbVFhfOFg4XVtE Q19QUkVEXSA9IGZmX2RjXzh4OF9ydnY7Cj4gLSAgICAgICAgICAgIGRzcC0+aW50cmFfcHJlZFtU WF84WDhdW0xFRlRfRENfUFJFRF0gPSBmZl9kY19sZWZ0Xzh4OF9ydnY7Cj4gLSAgICAgICAgICAg IGRzcC0+aW50cmFfcHJlZFtUWF84WDhdW0RDXzEyN19QUkVEXSA9IGZmX2RjXzEyN184eDhfcnZ2 Owo+IC0gICAgICAgICAgICBkc3AtPmludHJhX3ByZWRbVFhfOFg4XVtEQ18xMjhfUFJFRF0gPSBm Zl9kY18xMjhfOHg4X3J2djsKPiAtICAgICAgICAgICAgZHNwLT5pbnRyYV9wcmVkW1RYXzhYOF1b RENfMTI5X1BSRURdID0gZmZfZGNfMTI5Xzh4OF9ydnY7Cj4gLSAgICAgICAgICAgIGRzcC0+aW50 cmFfcHJlZFtUWF84WDhdW1RPUF9EQ19QUkVEXSA9IGZmX2RjX3RvcF84eDhfcnZ2Owo+IC0gICAg ICAgIH0KPiArICAgIGlmIChicHAgPT0gOCAmJiAoZmxhZ3MgJiBBVl9DUFVfRkxBR19SVkkpICYm IChmbGFncyAmCj4gQVZfQ1BVX0ZMQUdfUlZCX0FERFIpKSB7Cj4gKyMgaWYgX19yaXNjdl94bGVu ID49IDY0Cj4gKyAgICAgICAgZHNwLT5pbnRyYV9wcmVkW1RYXzMyWDMyXVtWRVJUX1BSRURdID0g ZmZfdl8zMngzMl9ydmk7Cj4gKyAgICAgICAgZHNwLT5pbnRyYV9wcmVkW1RYXzE2WDE2XVtWRVJU X1BSRURdID0gZmZfdl8xNngxNl9ydmk7Cj4gKyAgICAgICAgZHNwLT5pbnRyYV9wcmVkW1RYXzhY OF1bVkVSVF9QUkVEXSA9IGZmX3ZfOHg4X3J2aTsKPiArIyBlbmRpZgo+ICsgICAgfQo+ICsjaWYg SEFWRV9SVlYKPiArICAgIGlmIChicHAgPT0gOCAmJiBmbGFncyAmIEFWX0NQVV9GTEFHX1JWVl9J NjQgJiYgZmZfZ2V0X3J2X3ZsZW5iKCkgPj0KPiAxNikgewo+ICsgICAgICAgIGRzcC0+aW50cmFf cHJlZFtUWF84WDhdW0RDX1BSRURdID0gZmZfZGNfOHg4X3J2djsKPiArICAgICAgICBkc3AtPmlu dHJhX3ByZWRbVFhfOFg4XVtMRUZUX0RDX1BSRURdID0gZmZfZGNfbGVmdF84eDhfcnZ2Owo+ICsg ICAgICAgIGRzcC0+aW50cmFfcHJlZFtUWF84WDhdW0RDXzEyN19QUkVEXSA9IGZmX2RjXzEyN184 eDhfcnZ2Owo+ICsgICAgICAgIGRzcC0+aW50cmFfcHJlZFtUWF84WDhdW0RDXzEyOF9QUkVEXSA9 IGZmX2RjXzEyOF84eDhfcnZ2Owo+ICsgICAgICAgIGRzcC0+aW50cmFfcHJlZFtUWF84WDhdW0RD XzEyOV9QUkVEXSA9IGZmX2RjXzEyOV84eDhfcnZ2Owo+ICsgICAgICAgIGRzcC0+aW50cmFfcHJl ZFtUWF84WDhdW1RPUF9EQ19QUkVEXSA9IGZmX2RjX3RvcF84eDhfcnZ2Owo+ICsgICAgfQo+Cj4g LSAgICAgICAgaWYgKGJwcCA9PSA4ICYmIGZsYWdzICYgQVZfQ1BVX0ZMQUdfUlZWX0kzMiAmJiBm Zl9nZXRfcnZfdmxlbmIoKQo+ID49IDE2KSB7Cj4gLSAgICAgICAgICAgIGRzcC0+aW50cmFfcHJl ZFtUWF8zMlgzMl1bRENfUFJFRF0gPSBmZl9kY18zMngzMl9ydnY7Cj4gLSAgICAgICAgICAgIGRz cC0+aW50cmFfcHJlZFtUWF8xNlgxNl1bRENfUFJFRF0gPSBmZl9kY18xNngxNl9ydnY7Cj4gLSAg ICAgICAgICAgIGRzcC0+aW50cmFfcHJlZFtUWF8zMlgzMl1bTEVGVF9EQ19QUkVEXSA9Cj4gZmZf ZGNfbGVmdF8zMngzMl9ydnY7Cj4gLSAgICAgICAgICAgIGRzcC0+aW50cmFfcHJlZFtUWF8xNlgx Nl1bTEVGVF9EQ19QUkVEXSA9Cj4gZmZfZGNfbGVmdF8xNngxNl9ydnY7Cj4gLSAgICAgICAgICAg IGRzcC0+aW50cmFfcHJlZFtUWF8zMlgzMl1bRENfMTI3X1BSRURdID0gZmZfZGNfMTI3XzMyeDMy X3J2djsKPiAtICAgICAgICAgICAgZHNwLT5pbnRyYV9wcmVkW1RYXzE2WDE2XVtEQ18xMjdfUFJF RF0gPSBmZl9kY18xMjdfMTZ4MTZfcnZ2Owo+IC0gICAgICAgICAgICBkc3AtPmludHJhX3ByZWRb VFhfMzJYMzJdW0RDXzEyOF9QUkVEXSA9IGZmX2RjXzEyOF8zMngzMl9ydnY7Cj4gLSAgICAgICAg ICAgIGRzcC0+aW50cmFfcHJlZFtUWF8xNlgxNl1bRENfMTI4X1BSRURdID0gZmZfZGNfMTI4XzE2 eDE2X3J2djsKPiAtICAgICAgICAgICAgZHNwLT5pbnRyYV9wcmVkW1RYXzMyWDMyXVtEQ18xMjlf UFJFRF0gPSBmZl9kY18xMjlfMzJ4MzJfcnZ2Owo+IC0gICAgICAgICAgICBkc3AtPmludHJhX3By ZWRbVFhfMTZYMTZdW0RDXzEyOV9QUkVEXSA9IGZmX2RjXzEyOV8xNngxNl9ydnY7Cj4gLSAgICAg ICAgICAgIGRzcC0+aW50cmFfcHJlZFtUWF8zMlgzMl1bVE9QX0RDX1BSRURdID0gZmZfZGNfdG9w XzMyeDMyX3J2djsKPiAtICAgICAgICAgICAgZHNwLT5pbnRyYV9wcmVkW1RYXzE2WDE2XVtUT1Bf RENfUFJFRF0gPSBmZl9kY190b3BfMTZ4MTZfcnZ2Owo+IC0gICAgICAgIH0KPiAtICAgICNlbmRp Zgo+ICsgICAgaWYgKGJwcCA9PSA4ICYmIGZsYWdzICYgQVZfQ1BVX0ZMQUdfUlZWX0kzMiAmJiBm Zl9nZXRfcnZfdmxlbmIoKSA+PQo+IDE2KSB7Cj4gKyAgICAgICAgZHNwLT5pbnRyYV9wcmVkW1RY XzMyWDMyXVtEQ19QUkVEXSA9IGZmX2RjXzMyeDMyX3J2djsKPiArICAgICAgICBkc3AtPmludHJh X3ByZWRbVFhfMTZYMTZdW0RDX1BSRURdID0gZmZfZGNfMTZ4MTZfcnZ2Owo+ICsgICAgICAgIGRz cC0+aW50cmFfcHJlZFtUWF8zMlgzMl1bTEVGVF9EQ19QUkVEXSA9IGZmX2RjX2xlZnRfMzJ4MzJf cnZ2Owo+ICsgICAgICAgIGRzcC0+aW50cmFfcHJlZFtUWF8xNlgxNl1bTEVGVF9EQ19QUkVEXSA9 IGZmX2RjX2xlZnRfMTZ4MTZfcnZ2Owo+ICsgICAgICAgIGRzcC0+aW50cmFfcHJlZFtUWF8zMlgz Ml1bRENfMTI3X1BSRURdID0gZmZfZGNfMTI3XzMyeDMyX3J2djsKPiArICAgICAgICBkc3AtPmlu dHJhX3ByZWRbVFhfMTZYMTZdW0RDXzEyN19QUkVEXSA9IGZmX2RjXzEyN18xNngxNl9ydnY7Cj4g KyAgICAgICAgZHNwLT5pbnRyYV9wcmVkW1RYXzMyWDMyXVtEQ18xMjhfUFJFRF0gPSBmZl9kY18x MjhfMzJ4MzJfcnZ2Owo+ICsgICAgICAgIGRzcC0+aW50cmFfcHJlZFtUWF8xNlgxNl1bRENfMTI4 X1BSRURdID0gZmZfZGNfMTI4XzE2eDE2X3J2djsKPiArICAgICAgICBkc3AtPmludHJhX3ByZWRb VFhfMzJYMzJdW0RDXzEyOV9QUkVEXSA9IGZmX2RjXzEyOV8zMngzMl9ydnY7Cj4gKyAgICAgICAg ZHNwLT5pbnRyYV9wcmVkW1RYXzE2WDE2XVtEQ18xMjlfUFJFRF0gPSBmZl9kY18xMjlfMTZ4MTZf cnZ2Owo+ICsgICAgICAgIGRzcC0+aW50cmFfcHJlZFtUWF8zMlgzMl1bVE9QX0RDX1BSRURdID0g ZmZfZGNfdG9wXzMyeDMyX3J2djsKPiArICAgICAgICBkc3AtPmludHJhX3ByZWRbVFhfMTZYMTZd W1RPUF9EQ19QUkVEXSA9IGZmX2RjX3RvcF8xNngxNl9ydnY7Cj4gKyAgICB9Cj4gKyNlbmRpZgo+ ICsjZW5kaWYKPiAgfQo+Cj4gIGF2X2NvbGQgdm9pZCBmZl92cDlkc3BfaW5pdF9yaXNjdihWUDlE U1BDb250ZXh0ICpkc3AsIGludCBicHAsIGludAo+IGJpdGV4YWN0KQo+ICB7Cj4gLSAgICB2cDlk c3BfaW50cmFwcmVkX2luaXRfcnZ2KGRzcCwgYnBwKTsKPiArICAgIHZwOWRzcF9pbnRyYXByZWRf aW5pdF9yaXNjdihkc3AsIGJwcCk7Cj4gIH0KPiAtLQo+IDIuNDUuMAo+Cj4gX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KPiBmZm1wZWctZGV2ZWwgbWFpbGlu ZyBsaXN0Cj4gZmZtcGVnLWRldmVsQGZmbXBlZy5vcmcKPiBodHRwczovL2ZmbXBlZy5vcmcvbWFp bG1hbi9saXN0aW5mby9mZm1wZWctZGV2ZWwKPgo+IFRvIHVuc3Vic2NyaWJlLCB2aXNpdCBsaW5r IGFib3ZlLCBvciBlbWFpbAo+IGZmbXBlZy1kZXZlbC1yZXF1ZXN0QGZmbXBlZy5vcmcgd2l0aCBz dWJqZWN0ICJ1bnN1YnNjcmliZSIuCj4KX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX18KZmZtcGVnLWRldmVsIG1haWxpbmcgbGlzdApmZm1wZWctZGV2ZWxAZmZt cGVnLm9yZwpodHRwczovL2ZmbXBlZy5vcmcvbWFpbG1hbi9saXN0aW5mby9mZm1wZWctZGV2ZWwK ClRvIHVuc3Vic2NyaWJlLCB2aXNpdCBsaW5rIGFib3ZlLCBvciBlbWFpbApmZm1wZWctZGV2ZWwt cmVxdWVzdEBmZm1wZWcub3JnIHdpdGggc3ViamVjdCAidW5zdWJzY3JpYmUiLgo=