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 9407449437 for ; Mon, 10 Jun 2024 15:03:24 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 18A8968D702; Mon, 10 Jun 2024 18:03:22 +0300 (EEST) Received: from 4.mo560.mail-out.ovh.net (4.mo560.mail-out.ovh.net [87.98.172.75]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id C3BD868D5E3 for ; Mon, 10 Jun 2024 18:03:15 +0300 (EEST) Received: from director5.ghost.mail-out.ovh.net (unknown [10.109.140.34]) by mo560.mail-out.ovh.net (Postfix) with ESMTP id 4VyZmy6v33z1YVC for ; Mon, 10 Jun 2024 15:03:14 +0000 (UTC) Received: from ghost-submission-6684bf9d7b-htzsv (unknown [10.110.113.226]) by director5.ghost.mail-out.ovh.net (Postfix) with ESMTPS id A956A1FEBD for ; Mon, 10 Jun 2024 15:03:14 +0000 (UTC) Received: from courmont.net ([37.59.142.106]) by ghost-submission-6684bf9d7b-htzsv with ESMTPSA id UP+CIrIVZ2ZcZAAArn6xTA (envelope-from ) for ; Mon, 10 Jun 2024 15:03:14 +0000 Authentication-Results: garm.ovh; auth=pass (GARM-106R0061f22e3b2-fcde-43ca-84eb-2dae9d481c34, B672557B025B868C1E1435BDBA93057018C45B1D) smtp.auth=postmaster@courmont.net X-OVh-ClientIp: 87.92.194.88 From: =?ISO-8859-1?Q?R=E9mi?= Denis-Courmont To: ffmpeg-devel@ffmpeg.org Date: Mon, 10 Jun 2024 18:03:11 +0300 Message-ID: <8424637.NyiUUSuA9g@basile.remlab.net> Organization: Remlab In-Reply-To: <20240610062216.30053-1-jdek@itanimul.li> References: <20240610062216.30053-1-jdek@itanimul.li> MIME-Version: 1.0 X-Ovh-Tracer-Id: 1563312023422179833 X-VR-SPAMSTATE: OK X-VR-SPAMSCORE: 0 X-VR-SPAMCAUSE: gggruggvucftvghtrhhoucdtuddrgedvledrfedutddgkeefucetufdoteggodetrfdotffvucfrrhhofhhilhgvmecuqfggjfdpvefjgfevmfevgfenuceurghilhhouhhtmecuhedttdenucenucfjughrpefhvffufffkohgjfhgggfgtsehtqhertddttdejnecuhfhrohhmpeftrohmihcuffgvnhhishdqvehouhhrmhhonhhtuceorhgvmhhisehrvghmlhgrsgdrnhgvtheqnecuggftrfgrthhtvghrnhepkeetfeekuedvjeffvedtfedutdduveekueevieegfeekieegudejteejueffveevnecuffhomhgrihhnpehhvdeigegushhppghrvhhvrdhssgdprhgvmhhlrggsrdhnvghtnecukfhppeduvdejrddtrddtrddupdekjedrledvrdduleegrdekkedpfeejrdehledrudegvddruddtieenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepihhnvghtpeduvdejrddtrddtrddupdhmrghilhhfrhhomheprhgvmhhisehrvghmlhgrsgdrnhgvthdpnhgspghrtghpthhtohepuddprhgtphhtthhopehffhhmphgvghdquggvvhgvlhesfhhfmhhpvghgrdhorhhgpdfovfetjfhoshhtpehmohehiedtpdhmohguvgepshhmthhpohhuth Subject: Re: [FFmpeg-devel] [PATCH] avcodec/riscv: add h264 dc idct rvv 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: TGUgbWFhbmFudGFpbmEgMTAuIGtlc8Oka3V1dGEgMjAyNCwgOS4yMi4xNCBFRVNUIEouIERla2tl ciBhIMOpY3JpdCA6Cj4gY2hlY2thc206IGJlbmNoIHJ1bnMgMTMxMDcyICgxIDw8IDE3KQo+IGgy NjRfaWRjdDRfYWRkX2RjXzhicHBfYzogMS41Cj4gaDI2NF9pZGN0NF9hZGRfZGNfOGJwcF9ydnZf aTY0OiAwLjcKClJEQ1lDTEUgd291bGQgZXhoaWJpdCBsYXJnZXIgYW5kIG1vcmUgbWVhbmluZ2Z1 bCBudW1iZXJzIGhlcmUuCgo+IGgyNjRfaWRjdDRfYWRkX2RjXzlicHBfYzogMS41Cj4gaDI2NF9p ZGN0NF9hZGRfZGNfOWJwcF9ydnZfaTY0OiAwLjcKPiBoMjY0X2lkY3Q0X2FkZF9kY18xMGJwcF9j OiAxLjUKPiBoMjY0X2lkY3Q0X2FkZF9kY18xMGJwcF9ydnZfaTY0OiAwLjcKPiBoMjY0X2lkY3Q0 X2FkZF9kY18xMmJwcF9jOiAxLjIKPiBoMjY0X2lkY3Q0X2FkZF9kY18xMmJwcF9ydnZfaTY0OiAw LjcKPiBoMjY0X2lkY3Q0X2FkZF9kY18xNGJwcF9jOiAxLjIKPiBoMjY0X2lkY3Q0X2FkZF9kY18x NGJwcF9ydnZfaTY0OiAwLjcKPiBoMjY0X2lkY3Q4X2FkZF9kY184YnBwX2M6IDUuMgo+IGgyNjRf aWRjdDhfYWRkX2RjXzhicHBfcnZ2X2k2NDogMS41Cj4gaDI2NF9pZGN0OF9hZGRfZGNfOWJwcF9j OiA1LjUKPiBoMjY0X2lkY3Q4X2FkZF9kY185YnBwX3J2dl9pNjQ6IDEuMgo+IGgyNjRfaWRjdDhf YWRkX2RjXzEwYnBwX2M6IDUuNQo+IGgyNjRfaWRjdDhfYWRkX2RjXzEwYnBwX3J2dl9pNjQ6IDEu Mgo+IGgyNjRfaWRjdDhfYWRkX2RjXzEyYnBwX2M6IDQuMgo+IGgyNjRfaWRjdDhfYWRkX2RjXzEy YnBwX3J2dl9pNjQ6IDEuMgo+IGgyNjRfaWRjdDhfYWRkX2RjXzE0YnBwX2M6IDQuMgo+IGgyNjRf aWRjdDhfYWRkX2RjXzE0YnBwX3J2dl9pNjQ6IDEuMgo+IAo+IFNpZ25lZC1vZmYtYnk6IEouIERl a2tlciA8amRla0BpdGFuaW11bC5saT4KPiAtLS0KPiAgbGliYXZjb2RlYy9yaXNjdi9NYWtlZmls ZSAgICAgICB8ICAgMSArCj4gIGxpYmF2Y29kZWMvcmlzY3YvaDI2NGRzcF9pbml0LmMgfCAgNDAg KysrKysrKysrLQo+ICBsaWJhdmNvZGVjL3Jpc2N2L2gyNjRkc3BfcnZ2LlMgIHwgMTI5ICsrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrCj4gIDMgZmlsZXMgY2hhbmdlZCwgMTY3IGluc2Vy dGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBsaWJhdmNvZGVj L3Jpc2N2L2gyNjRkc3BfcnZ2LlMKPiAKPiBkaWZmIC0tZ2l0IGEvbGliYXZjb2RlYy9yaXNjdi9N YWtlZmlsZSBiL2xpYmF2Y29kZWMvcmlzY3YvTWFrZWZpbGUKPiBpbmRleCA1OTA2NTVmODI5Li5j YjYzNjMxZGU0IDEwMDY0NAo+IC0tLSBhL2xpYmF2Y29kZWMvcmlzY3YvTWFrZWZpbGUKPiArKysg Yi9saWJhdmNvZGVjL3Jpc2N2L01ha2VmaWxlCj4gQEAgLTMxLDYgKzMxLDcgQEAgUlZWLU9CSlMt JChDT05GSUdfSDI2M0RTUCkgKz0gcmlzY3YvaDI2M2RzcF9ydnYubwo+ICBPQkpTLSQoQ09ORklH X0gyNjRDSFJPTUEpICs9IHJpc2N2L2gyNjRfY2hyb21hX2luaXRfcmlzY3Yubwo+ICBSVlYtT0JK Uy0kKENPTkZJR19IMjY0Q0hST01BKSArPSByaXNjdi9oMjY0X21jX2Nocm9tYS5vCj4gIE9CSlMt JChDT05GSUdfSDI2NERTUCkgKz0gcmlzY3YvaDI2NGRzcF9pbml0Lm8KPiArUlZWLU9CSlMtJChD T05GSUdfSDI2NERTUCkgKz0gcmlzY3YvaDI2NGRzcF9ydnYubwo+ICBPQkpTLSQoQ09ORklHX0hV RkZZVVZfREVDT0RFUikgKz0gcmlzY3YvaHVmZnl1dmRzcF9pbml0Lm8KPiAgUlZWLU9CSlMtJChD T05GSUdfSFVGRllVVl9ERUNPREVSKSArPSByaXNjdi9odWZmeXV2ZHNwX3J2di5vCj4gIE9CSlMt JChDT05GSUdfSURDVERTUCkgKz0gcmlzY3YvaWRjdGRzcF9pbml0Lm8KPiBkaWZmIC0tZ2l0IGEv bGliYXZjb2RlYy9yaXNjdi9oMjY0ZHNwX2luaXQuYwo+IGIvbGliYXZjb2RlYy9yaXNjdi9oMjY0 ZHNwX2luaXQuYyBpbmRleCBkYmJmM2RiNDAwLi5mZTNjYWY2ODZkIDEwMDY0NAo+IC0tLSBhL2xp YmF2Y29kZWMvcmlzY3YvaDI2NGRzcF9pbml0LmMKPiArKysgYi9saWJhdmNvZGVjL3Jpc2N2L2gy NjRkc3BfaW5pdC5jCj4gQEAgLTEsNCArMSw1IEBACj4gIC8qCj4gKyAqIENvcHlyaWdodCAoYykg MjAyNCBKLiBEZWtrZXIgPGpkZWtAaXRhbmltdWwubGk+Cj4gICAqIENvcHlyaWdodCDCqSAyMDI0 IFLDqW1pIERlbmlzLUNvdXJtb250Lgo+ICAgKgo+ICAgKiBUaGlzIGZpbGUgaXMgcGFydCBvZiBG Rm1wZWcuCj4gQEAgLTI0LDIyICsyNSw1NSBAQAo+IAo+ICAjaW5jbHVkZSAibGliYXZ1dGlsL2F0 dHJpYnV0ZXMuaCIKPiAgI2luY2x1ZGUgImxpYmF2dXRpbC9jcHUuaCIKPiArI2luY2x1ZGUgImxp YmF2dXRpbC9yaXNjdi9jcHUuaCIKPiAgI2luY2x1ZGUgImxpYmF2Y29kZWMvaDI2NGRzcC5oIgo+ IAo+ICBleHRlcm4gaW50IGZmX3N0YXJ0Y29kZV9maW5kX2NhbmRpZGF0ZV9ydmIoY29uc3QgdWlu dDhfdCAqLCBpbnQpOwo+ICBleHRlcm4gaW50IGZmX3N0YXJ0Y29kZV9maW5kX2NhbmRpZGF0ZV9y dnYoY29uc3QgdWludDhfdCAqLCBpbnQpOwo+ICt2b2lkIGZmX2gyNjRfaWRjdDRfZGNfYWRkXzhf cnZ2KHVpbnQ4X3QgKmRzdCwgaW50MTZfdCAqYmxvY2ssIGludCBzdHJpZGUpOwo+ICt2b2lkIGZm X2gyNjRfaWRjdDhfZGNfYWRkXzhfcnZ2KHVpbnQ4X3QgKmRzdCwgaW50MTZfdCAqYmxvY2ssIGlu dCBzdHJpZGUpOwo+ICt2b2lkIGZmX2gyNjRfaWRjdDRfZGNfYWRkXzlfcnZ2KHVpbnQ4X3QgKmRz dCwgaW50MTZfdCAqYmxvY2ssIGludCBzdHJpZGUpOwo+ICt2b2lkIGZmX2gyNjRfaWRjdDhfZGNf YWRkXzlfcnZ2KHVpbnQ4X3QgKmRzdCwgaW50MTZfdCAqYmxvY2ssIGludCBzdHJpZGUpOwo+ICt2 b2lkIGZmX2gyNjRfaWRjdDRfZGNfYWRkXzEwX3J2dih1aW50OF90ICpkc3QsIGludDE2X3QgKmJs b2NrLCBpbnQgc3RyaWRlKTsKPiArdm9pZCBmZl9oMjY0X2lkY3Q4X2RjX2FkZF8xMF9ydnYodWlu dDhfdCAqZHN0LCBpbnQxNl90ICpibG9jaywgaW50Cj4gc3RyaWRlKTsgK3ZvaWQgZmZfaDI2NF9p ZGN0NF9kY19hZGRfMTJfcnZ2KHVpbnQ4X3QgKmRzdCwgaW50MTZfdCAqYmxvY2ssCj4gaW50IHN0 cmlkZSk7ICt2b2lkIGZmX2gyNjRfaWRjdDhfZGNfYWRkXzEyX3J2dih1aW50OF90ICpkc3QsIGlu dDE2X3QKPiAqYmxvY2ssIGludCBzdHJpZGUpOyArdm9pZCBmZl9oMjY0X2lkY3Q0X2RjX2FkZF8x NF9ydnYodWludDhfdCAqZHN0LAo+IGludDE2X3QgKmJsb2NrLCBpbnQgc3RyaWRlKTsgK3ZvaWQg ZmZfaDI2NF9pZGN0OF9kY19hZGRfMTRfcnZ2KHVpbnQ4X3QKPiAqZHN0LCBpbnQxNl90ICpibG9j aywgaW50IHN0cmlkZSk7Cj4gCj4gLWF2X2NvbGQgdm9pZCBmZl9oMjY0ZHNwX2luaXRfcmlzY3Yo SDI2NERTUENvbnRleHQgKmRzcCwgY29uc3QgaW50Cj4gYml0X2RlcHRoLCArYXZfY29sZCB2b2lk IGZmX2gyNjRkc3BfaW5pdF9yaXNjdihIMjY0RFNQQ29udGV4dCAqYywgY29uc3QgaW50Cj4gYml0 X2RlcHRoLCBjb25zdCBpbnQgY2hyb21hX2Zvcm1hdF9pZGMpCj4gIHsKPiAgI2lmIEhBVkVfUlYK PiAgICAgIGludCBmbGFncyA9IGF2X2dldF9jcHVfZmxhZ3MoKTsKPiAKPiAgICAgIGlmIChmbGFn cyAmIEFWX0NQVV9GTEFHX1JWQl9CQVNJQykKPiAtICAgICAgICBkc3AtPnN0YXJ0Y29kZV9maW5k X2NhbmRpZGF0ZSA9IGZmX3N0YXJ0Y29kZV9maW5kX2NhbmRpZGF0ZV9ydmI7Cj4gKyAgICAgICAg Yy0+c3RhcnRjb2RlX2ZpbmRfY2FuZGlkYXRlID0gZmZfc3RhcnRjb2RlX2ZpbmRfY2FuZGlkYXRl X3J2YjsKPiAgIyBpZiBIQVZFX1JWVgo+ICAgICAgaWYgKGZsYWdzICYgQVZfQ1BVX0ZMQUdfUlZW X0kzMikKPiAtICAgICAgICBkc3AtPnN0YXJ0Y29kZV9maW5kX2NhbmRpZGF0ZSA9IGZmX3N0YXJ0 Y29kZV9maW5kX2NhbmRpZGF0ZV9ydnY7Cj4gKyAgICAgICAgYy0+c3RhcnRjb2RlX2ZpbmRfY2Fu ZGlkYXRlID0gZmZfc3RhcnRjb2RlX2ZpbmRfY2FuZGlkYXRlX3J2djsKPiAgIyBlbmRpZgo+ICsg ICAgaWYgKChmbGFncyAmIEFWX0NQVV9GTEFHX1JWVl9JNjQpICYmIGZmX2dldF9ydl92bGVuYigp ID49IDE2KSB7CgpmZl9ydl92bGVuX2xlYXN0KCkKCj4gKyAgICAgICAgaWYgKGJpdF9kZXB0aCA9 PSA4KSB7Cgpzd2l0Y2goKQoKPiArICAgICAgICAgICAgYy0+aDI2NF9pZGN0X2RjX2FkZCAgPSBm Zl9oMjY0X2lkY3Q0X2RjX2FkZF84X3J2djsKPiArICAgICAgICAgICAgYy0+aDI2NF9pZGN0OF9k Y19hZGQgPSBmZl9oMjY0X2lkY3Q4X2RjX2FkZF84X3J2djsKPiArICAgICAgICB9Cj4gKyAgICAg ICAgaWYgKGJpdF9kZXB0aCA9PSA5KSB7Cj4gKyAgICAgICAgICAgIGMtPmgyNjRfaWRjdF9kY19h ZGQgID0gZmZfaDI2NF9pZGN0NF9kY19hZGRfOV9ydnY7Cj4gKyAgICAgICAgICAgIGMtPmgyNjRf aWRjdDhfZGNfYWRkID0gZmZfaDI2NF9pZGN0OF9kY19hZGRfOV9ydnY7Cj4gKyAgICAgICAgfQo+ ICsgICAgICAgIGlmIChiaXRfZGVwdGggPT0gMTApIHsKPiArICAgICAgICAgICAgYy0+aDI2NF9p ZGN0X2RjX2FkZCAgPSBmZl9oMjY0X2lkY3Q0X2RjX2FkZF8xMF9ydnY7Cj4gKyAgICAgICAgICAg IGMtPmgyNjRfaWRjdDhfZGNfYWRkID0gZmZfaDI2NF9pZGN0OF9kY19hZGRfMTBfcnZ2Owo+ICsg ICAgICAgIH0KPiArICAgICAgICBpZiAoYml0X2RlcHRoID09IDEyKSB7Cj4gKyAgICAgICAgICAg IGMtPmgyNjRfaWRjdF9kY19hZGQgID0gZmZfaDI2NF9pZGN0NF9kY19hZGRfMTJfcnZ2Owo+ICsg ICAgICAgICAgICBjLT5oMjY0X2lkY3Q4X2RjX2FkZCA9IGZmX2gyNjRfaWRjdDhfZGNfYWRkXzEy X3J2djsKPiArICAgICAgICB9Cj4gKyAgICAgICAgaWYgKGJpdF9kZXB0aCA9PSAxNCkgewo+ICsg ICAgICAgICAgICBjLT5oMjY0X2lkY3RfZGNfYWRkICA9IGZmX2gyNjRfaWRjdDRfZGNfYWRkXzE0 X3J2djsKPiArICAgICAgICAgICAgYy0+aDI2NF9pZGN0OF9kY19hZGQgPSBmZl9oMjY0X2lkY3Q4 X2RjX2FkZF8xNF9ydnY7Cj4gKyAgICAgICAgfQo+ICsgICAgfQo+ICAjZW5kaWYKPiAgfQo+IGRp ZmYgLS1naXQgYS9saWJhdmNvZGVjL3Jpc2N2L2gyNjRkc3BfcnZ2LlMgYi9saWJhdmNvZGVjL3Jp c2N2L2gyNjRkc3BfcnZ2LlMKPiBuZXcgZmlsZSBtb2RlIDEwMDY0NAo+IGluZGV4IDAwMDAwMDAw MDAuLmMzOTI0MDNhZGQKPiAtLS0gL2Rldi9udWxsCj4gKysrIGIvbGliYXZjb2RlYy9yaXNjdi9o MjY0ZHNwX3J2di5TCj4gQEAgLTAsMCArMSwxMjkgQEAKPiArLyoKPiArICogU1BEWC1MaWNlbnNl LUlkZW50aWZpZXI6IEJTRC0yLUNsYXVzZQo+ICsgKgo+ICsgKiBDb3B5cmlnaHQgKGMpIDIwMjQg Si4gRGVra2VyIDxqZGVrQGl0YW5pbXVsLmxpPgo+ICsgKgo+ICsgKiBSZWRpc3RyaWJ1dGlvbiBh bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKPiArICog bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj b25kaXRpb25zCj4gKyAqIGFyZSBtZXQ6Cj4gKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cj4gKyAqICAgIG5vdGljZSwg dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KPiAr ICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh Ym92ZSBjb3B5cmlnaHQKPiArICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQo+ICsgKiAgICBkb2N1bWVudGF0aW9u IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgo+ ICsgKgo+ICsgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9M REVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUwo+IElTIiArICogQU5EIEFOWSBFWFBSRVNTIE9SIElN UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQKPiBUTywgVEhFICsg KiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB Cj4gUEFSVElDVUxBUiBQVVJQT1NFICsgKiBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB TEwgVEhFIENPUFlSSUdIVAo+IE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSArICogTElBQkxFIEZP UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKPiBTUEVDSUFMLCBFWEVNUExBUlks IE9SICsgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAo+IExJTUlU RUQgVE8sIFBST0NVUkVNRU5UIE9GICsgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM T1NTIE9GIFVTRSwKPiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyArICogSU5URVJSVVBU SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCj4gVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF VEhFUiBJTiArICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKPiAoSU5DTFVE SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSArICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP RiBUSEUgVVNFCj4gT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSArICog UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCj4gKyAqLwo+ICsKPiArI2luY2x1ZGUgImxpYmF2 dXRpbC9yaXNjdi9hc20uUyIKPiArCj4gKy5tYWNybyBjbGlwIG1pbiwgbWF4LCByZWdzOnZhcmFy Zwo+ICsuaXJwIHgsIFxyZWdzCj4gKyAgICAgICAgdm1heC52eCAgICAgICAgIFx4LCBceCwgXG1p bgo+ICsuZW5kcgo+ICsuaXJwIHgsIFxyZWdzCj4gKyAgICAgICAgdm1pbi52eCAgICAgICAgIFx4 LCBceCwgXG1heAo+ICsuZW5kcgo+ICsuZW5kbQoKSW4gbXkgZXhwZXJpZW5jZSwgc2luZ2xlIHVz ZSBtYWNyb3MganVzZSBtYWtlIHRoZSBjb2RlIGhhcmRlciB0byBmb2xsb3cgYW5kIApoaWRlIHBv c3NpYmxlIG9wdGltaXNhdGlvbnMgKGluZGVlZCwgdGhpcyBpcyB0aGUgY2FzZSBoZXJlKS4KCj4g Kwo+ICsubWFjcm8gaWRjdF9kY19hZGQgZGVwdGgKPiArZnVuYyBmZl9oMjY0X2lkY3RfZGNfYWRk X1xkZXB0aFwoKV9ydnYsIHp2ZTY0eCwgemJiCgpJbiB0aGlzIHBhcnRpY3VsYXIgY2FzZSwgaXQg c2VlbXMgdG8gbWUgdGhhdCBzaGFyaW5nIHRoZSBjb2RlIGJldHdlZW4gOC1iaXQgCmFuZCAxNi1i aXQgaXMgY291bnRlci1wcm9kdWN0aXZlLgoKPiArLmlmIFxkZXB0aCA9PSA4Cj4gKyAgICAgICAg bGggICAgICAgICAgICAgIGEzLCAwKGExKQo+ICsuZWxzZQo+ICsgICAgICAgIGx3ICAgICAgICAg ICAgICBhMywgMChhMSkKPiArLmVuZGlmCj4gKyAgICAgICAgYWRkaSAgICAgICAgICAgIGEzLCBh MywgMzIKPiArICAgICAgICBtdiAgICAgICAgICAgICAgdDEsIGE0ICAgICAvLyBsaW5lcyA9IGNv bHMKPiArICAgICAgICBzcmFpICAgICAgICAgICAgYTMsIGEzLCA2Cj4gKy5pZiBcZGVwdGggPT0g OAo+ICsgICAgICAgIHNoICAgICAgICAgICAgICB6ZXJvLCAwKGExKQo+ICsuZWxzZQo+ICsgICAg ICAgIHN3ICAgICAgICAgICAgICB6ZXJvLCAwKGExKQo+ICsuZW5kaWYKPiArMTogICAgICBhZGQg ICAgICAgICAgICAgdDQsIGEwLCBhMiAvLyAmc3JjW2xpbmUgKiAxXQo+ICsgICAgICAgIHNoMWFk ZCAgICAgICAgICB0NSwgYTIsIGEwIC8vICZzcmNbbGluZSAqIDJdCj4gKyAgICAgICAgc2gxYWRk ICAgICAgICAgIHQ2LCBhMiwgdDQgLy8gJnNyY1tsaW5lICogM10KPiArLmlmIFxkZXB0aCA9PSA4 Cj4gKyAgICAgICAgdnNldHZsaSAgICAgICAgIHplcm8sIGE0LCBlOCwgbWYyLCB0YSwgbWEKPiAr ICAgICAgICB2bGU4LnYgICAgICAgICAgdjAsIChhMCkKPiArICAgICAgICB2bGU4LnYgICAgICAg ICAgdjEsICh0NCkKPiArICAgICAgICB2bGU4LnYgICAgICAgICAgdjIsICh0NSkKPiArICAgICAg ICB2bGU4LnYgICAgICAgICAgdjMsICh0NikKCkkgZG91YnQgdGhhdCB5b3UnbGwgZ2FpbiBhbnl0 aGluZyBmcm9tIHVucm9sbGluZyA0eCBoZXJlLiBNYXliZSAyeCB3aWxsIGhlbHAgCmFtb3J0aXNl IGNvbnNlY3V0aXZlIGxhdGVuY2llcywgYnV0IHRoYXQncyBwcmV0dHkgbXVjaCBpdC4KCj4gKyAg ICAgICAgdndjdnR1LngueC52ICAgIHY4LCB2MAo+ICsgICAgICAgIHZ3Y3Z0dS54LngudiAgICB2 OSwgdjEKPiArICAgICAgICB2d2N2dHUueC54LnYgICAgdjEwLCB2Mgo+ICsgICAgICAgIHZ3Y3Z0 dS54LngudiAgICB2MTEsIHYzCgpBcyBhIGdlbmVyYWwgbm90ZSwgd2hlbiB1cC1jb252ZXJ0aW5n IGludGVnZXJzLCB5b3UgaGF2ZSB0byBjaG9vc2UgYmV0d2VlbiAKVldDVlR7LFV9IGFuZCBWe1Ms Wn1FWFQuIEhlcmUsIFZaRVhUIGZpdHMgYmV0dGVyIGJlY2F1c2UgeW91IGNvdWxkIHN0aWNrIHdp dGggCmFuIGVsZW1lbnQgc2l6ZSBvZiAxNiBiaXRzLgoKPiArICAgICAgICB2c2V0dmxpICAgICAg ICAgemVybywgYTQsIGUxNiwgbTEsIHRhLCBtYQo+ICsuZWxzZQo+ICsgICAgICAgIHZzZXR2bGkg ICAgICAgICB6ZXJvLCBhNCwgZTE2LCBtMSwgdGEsIG1hCgpUaGlzIHJlc2V0cyB0aGUgc2FtZSB0 eXBlIGFuZCBsZW5ndGggZXZlcnkgdGltZS4gSnVzdCBzZXQgdGhlbSBvbmNlIGluIHRoZSAKY2Fs bGluZyBjb2RlIHRoZW4gbGVhdmUgVkwgYW5kIFZUWVBFIGFsb25lLgoKPiArICAgICAgICB2bGUx Ni52ICAgICAgICAgdjgsIChhMCkKPiArICAgICAgICB2bGUxNi52ICAgICAgICAgdjksICh0NCkK PiArICAgICAgICB2bGUxNi52ICAgICAgICAgdjEwLCAodDUpCj4gKyAgICAgICAgdmxlMTYudiAg ICAgICAgIHYxMSwgKHQ2KQo+ICsuZW5kaWYKPiArICAgICAgICB2YWRkLnZ4ICAgICAgICAgdjgs IHY4LCBhMwo+ICsgICAgICAgIHZhZGQudnggICAgICAgICB2OSwgdjksIGEzCj4gKyAgICAgICAg dmFkZC52eCAgICAgICAgIHYxMCwgdjEwLCBhMwo+ICsgICAgICAgIHZhZGQudnggICAgICAgICB2 MTEsIHYxMSwgYTMKCkluIHRoZSA4LWJpdCBjYXNlLCB5b3UgY291bGQgYWRkIC0xMjggdG8gYTMu IEVmZmVjdGl2ZWx5IHRoaXMgY29udmVydHMgdGhlIApzYW1wbGVzIHRvIHNpZ25lZCA4LWJpdC4K Cj4gKyAgICAgICAgY2xpcCAgICAgICAgICAgIHplcm8sIGE1LCB2OCwgdjksIHYxMCwgdjExCj4g KyAgICAgICAgYWRkaSAgICAgICAgICAgIHQxLCB0MSwgLTQKPiArLmlmIFxkZXB0aCA9PSA4Cj4g KyAgICAgICAgdnNldHZsaSAgICAgICAgIHplcm8sIGE0LCBlOCwgbWYyLCB0YSwgbWEKCkl0IGlz IGlkaW9tYXRpYyB0byB1c2UgemVybyBhcyBzb3VyY2UgaGVyZS4KCj4gKyAgICAgICAgdm5jdnQu eC54LncgICAgIHYwLCB2OAo+ICsgICAgICAgIHZuY3Z0LngueC53ICAgICB2MSwgdjkKPiArICAg ICAgICB2bmN2dC54LngudyAgICAgdjIsIHYxMAo+ICsgICAgICAgIHZuY3Z0LngueC53ICAgICB2 MywgdjExCgpJZiB5b3UgYWRkZWQgLTEyOCBhYm92ZSwgdGhlbiB5b3UgY2FuIHVzZSBWTkNMSVAu V0kgdG8gY2xpcCAqYW5kKiBuYXJyb3csIAplbGltaW5hdGluZyBWTUFYLCBWTUlOIGFuZCBWTkNW VC4gSG93ZXZlciB5b3UgbmVlZCB0byBhZGQgYSBWWE9SLlZYIHRvIGZsaXAgdGhlIApzaWduIGJp dCBiYWNrLgoKQWx0ZXJuYXRpdmVseSwgcmVwbGFjZSBWTUlOIGFuZCBWTkNUIHdpdGggVk5DTElQ VS5XSS4KCkVpdGhlciB3YXksIHRoZXJlIHdvbid0IG11Y2ggY29kZSBsZWZ0IHRvIHNoYXJlIGJl dHdlZW4gOC1iaXQgYW5kIEhEUi4uLgoKPiArICAgICAgICB2c2U4LnYgICAgICAgICAgdjAsIChh MCkKPiArICAgICAgICB2c2U4LnYgICAgICAgICAgdjEsICh0NCkKPiArICAgICAgICB2c2U4LnYg ICAgICAgICAgdjIsICh0NSkKPiArICAgICAgICB2c2U4LnYgICAgICAgICAgdjMsICh0NikKPiAr LmVsc2UKPiArICAgICAgICB2c2UxNi52ICAgICAgICAgdjgsIChhMCkKPiArICAgICAgICB2c2Ux Ni52ICAgICAgICAgdjksICh0NCkKPiArICAgICAgICB2c2UxNi52ICAgICAgICAgdjEwLCAodDUp Cj4gKyAgICAgICAgdnNlMTYudiAgICAgICAgIHYxMSwgKHQ2KQo+ICsuZW5kaWYKPiArICAgICAg ICBzaDJhZGQgICAgICAgICAgYTAsIGEyLCBhMCAvLyBzcmMgKz0gc3RyaWRlICogNAo+ICsgICAg ICAgIGJuZXogICAgICAgICAgICB0MSwgMWIKPiArICAgICAgICByZXQKPiArZW5kZnVuYwo+ICsu ZW5kbQo+ICsKPiAraWRjdF9kY19hZGQgOAo+ICtpZGN0X2RjX2FkZCAxNgo+ICsKPiArZnVuYyBm Zl9oMjY0X2lkY3Q0X2RjX2FkZF84X3J2diwgenZlNjR4Cj4gKyAgICAgICAgbGkgICAgICAgICAg ICAgIGE0LCA0Cj4gKyAgICAgICAgbGkgICAgICAgICAgICAgIGE1LCAyNTUKClVzaW5nIFZOQ0xJ UHssVX0gc2hvdWxkIG1ha2UgdGhpcyByZWR1bmRhbnQuCgo+ICsgICAgICAgIGogICAgICAgICAg ICAgICBmZl9oMjY0X2lkY3RfZGNfYWRkXzhfcnZ2Cj4gK2VuZGZ1bmMKPiArZnVuYyBmZl9oMjY0 X2lkY3Q4X2RjX2FkZF84X3J2diwgenZlNjR4Cj4gKyAgICAgICAgbGkgICAgICAgICAgICAgIGE0 LCA4Cj4gKyAgICAgICAgbGkgICAgICAgICAgICAgIGE1LCAyNTUKPiArICAgICAgICBqICAgICAg ICAgICAgICAgZmZfaDI2NF9pZGN0X2RjX2FkZF84X3J2dgo+ICtlbmRmdW5jCj4gKwo+ICsuaXJw IGRlcHRoLDksMTAsMTIsMTQKPiArZnVuYyBmZl9oMjY0X2lkY3Q0X2RjX2FkZF9cZGVwdGhcKClf cnZ2LCB6dmU2NHgKClZTRVRJVkxJIGhlcmUuIEFuZCB3aGlsZSBhdCBpdCwgcGljayAxLzIgZ3Jv dXAgbXVsdGlwbGllciB3aGljaCBzaG91bGQgYmUgCmVub3VnaCBmb3IgNCBlbGVtZW50cyBwZXIg dmVjdG9yLgoKVGhhdCB0cmljayB3b24ndCB3b3JrIGZvciA4LWJpdCwgYW5kIHRoYXQncyBhbm90 aGVyIHJlYXNvbiBub3QgdG8gc2hhcmUgdGhlIApjb2RlIGJldHdlZW4gYml0LXdpZHRocy4KCj4g KyAgICAgICAgbGkgICAgICAgICAgICAgIGE0LCA0Cj4gKyAgICAgICAgbGkgICAgICAgICAgICAg IGE1LCAoMSA8PCBcZGVwdGgpIC0gMQo+ICsgICAgICAgIGogICAgICAgICAgICAgICBmZl9oMjY0 X2lkY3RfZGNfYWRkXzE2X3J2dgo+ICtlbmRmdW5jCj4gKwo+ICtmdW5jIGZmX2gyNjRfaWRjdDhf ZGNfYWRkX1xkZXB0aFwoKV9ydnYsIHp2ZTY0eAo+ICsgICAgICAgIGxpICAgICAgICAgICAgICBh NCwgOAo+ICsgICAgICAgIGxpICAgICAgICAgICAgICBhNSwgKDEgPDwgXGRlcHRoKSAtIDEKPiAr ICAgICAgICBqICAgICAgICAgICAgICAgZmZfaDI2NF9pZGN0X2RjX2FkZF8xNl9ydnYKPiArZW5k ZnVuYwo+ICsuZW5kcgoKTGFzdCBidXQgbm90IGxlYXN0LCBpbiB0aGUgY2FzZSBvZiAzMi1iaXQg b3IgNjQtYml0IHJvd3MsIGFuZCBpZiB0aGV5IGFyZSAKc3VpdGFibHkgYWxpZ25lZCwgaXQgaXMg cHJvYmFibHkgZmFzdGVyIHRvIHBhY2sgYWxsIHZhbHVlcyBjb250aWd1b3VzbHkgaW4gCnZlY3Rv ciBncm91cHMgdXNpbmcgc3RyaWRlZCBsb2FkcyBhbmQgc3RvcmVzLiBUaHVzIGFsbCBsb29waW5n IGFuZCB1bnJvbGxpbmcgCndvdWxkIGJlIGVsaW1pbmF0ZWQuCgpUaGF0IHRyaWNrIGRvZXMgbm90 IHdvcmsgZm9yIDEyOC1iaXQgcm93cyB1bmZvcnR1bmF0ZWx5LCBhbmQgaXQgYWxzbyB3aWxsIG5v dCAKd29yayB3aXRoIG1vcmUgY29tcGxleCBmdW5jdGlvbnMgaW52b2x2aW5nIGNhbGN1bGF0aW9u cyBiZXR3ZWVuIHJvd3MuCgotLSAKUsOpbWkgRGVuaXMtQ291cm1vbnQKaHR0cDovL3d3dy5yZW1s YWIubmV0LwoKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f XwpmZm1wZWctZGV2ZWwgbWFpbGluZyBsaXN0CmZmbXBlZy1kZXZlbEBmZm1wZWcub3JnCmh0dHBz Oi8vZmZtcGVnLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ZmbXBlZy1kZXZlbAoKVG8gdW5zdWJzY3Jp YmUsIHZpc2l0IGxpbmsgYWJvdmUsIG9yIGVtYWlsCmZmbXBlZy1kZXZlbC1yZXF1ZXN0QGZmbXBl Zy5vcmcgd2l0aCBzdWJqZWN0ICJ1bnN1YnNjcmliZSIuCg==