From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <ffmpeg-devel-bounces@ffmpeg.org>
Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100])
	by master.gitmailbox.com (Postfix) with ESMTPS id 26CB94E82C
	for <ffmpegdev@gitmailbox.com>; Mon, 17 Mar 2025 10:45:01 +0000 (UTC)
Received: from [127.0.1.1] (localhost [127.0.0.1])
	by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 9112868B87F;
	Mon, 17 Mar 2025 12:44:13 +0200 (EET)
Received: from haasn.dev (haasn.dev [78.46.187.166])
 by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 8A1FC687CA4
 for <ffmpeg-devel@ffmpeg.org>; Mon, 17 Mar 2025 12:44:02 +0200 (EET)
Received: from haasn.dev (unknown [10.30.1.1])
 by haasn.dev (Postfix) with UTF8SMTP id 4B85342B62;
 Mon, 17 Mar 2025 11:44:02 +0100 (CET)
From: Niklas Haas <ffmpeg@haasn.xyz>
To: ffmpeg-devel@ffmpeg.org
Date: Mon, 17 Mar 2025 11:43:51 +0100
Message-ID: <20250317104357.307832-5-ffmpeg@haasn.xyz>
X-Mailer: git-send-email 2.48.1
In-Reply-To: <20250317104357.307832-1-ffmpeg@haasn.xyz>
References: <20250317104357.307832-1-ffmpeg@haasn.xyz>
MIME-Version: 1.0
Subject: [FFmpeg-devel] [PATCH 05/11] tests/swscale: switch from MSE to SSIM
X-BeenThere: ffmpeg-devel@ffmpeg.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: FFmpeg development discussions and patches <ffmpeg-devel.ffmpeg.org>
List-Unsubscribe: <https://ffmpeg.org/mailman/options/ffmpeg-devel>,
 <mailto:ffmpeg-devel-request@ffmpeg.org?subject=unsubscribe>
List-Archive: <https://ffmpeg.org/pipermail/ffmpeg-devel>
List-Post: <mailto:ffmpeg-devel@ffmpeg.org>
List-Help: <mailto:ffmpeg-devel-request@ffmpeg.org?subject=help>
List-Subscribe: <https://ffmpeg.org/mailman/listinfo/ffmpeg-devel>,
 <mailto:ffmpeg-devel-request@ffmpeg.org?subject=subscribe>
Reply-To: FFmpeg development discussions and patches <ffmpeg-devel@ffmpeg.org>
Cc: Niklas Haas <git@haasn.dev>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: ffmpeg-devel-bounces@ffmpeg.org
Sender: "ffmpeg-devel" <ffmpeg-devel-bounces@ffmpeg.org>
Archived-At: <https://master.gitmailbox.com/ffmpegdev/20250317104357.307832-5-ffmpeg@haasn.xyz/>
List-Archive: <https://master.gitmailbox.com/ffmpegdev/>
List-Post: <mailto:ffmpegdev@gitmailbox.com>

RnJvbTogTmlrbGFzIEhhYXMgPGdpdEBoYWFzbi5kZXY+CgpBbmQgYmlhcyBpdCB0b3dhcmRzIFku
IFRoaXMgaXMgbXVjaCBiZXR0ZXIgYXQgaWdub3JpbmcgZXJyb3JzIGR1ZSB0byBkaWZmZXJpbmcK
ZGl0aGVyIHBhdHRlcm5zLCBhbmQgcmV3YXJkcyBhbGdvcml0aG1zIHRoYXQgbG93ZXIgbHVtYSBu
b2lzZSBhdCB0aGUgY29zdCBvZgpoaWdoZXIgY2hyb21hIG5vaXNlLgoKVGhlICgwLjgsIDAuMSwg
MC4xKSB3ZWlnaHRzIGZvciBZQ2JDciBhcmUgdGFrZW4gZnJvbSB0aGUgcGFwZXI6CiAgIlVuZGVy
c3RhbmRpbmcgU1NJTSIgYnkgSmltIE5pbHNzb24gYW5kIFRvbWFzIEFrZW5pbmUtTcO2bGxlcgog
IChodHRwczovL2FyeGl2Lm9yZy9hYnMvMjAwNi4xMzg0NikKLS0tCiBsaWJzd3NjYWxlL3Rlc3Rz
L3N3c2NhbGUuYyB8IDEwOCArKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tCiAx
IGZpbGUgY2hhbmdlZCwgNjUgaW5zZXJ0aW9ucygrKSwgNDMgZGVsZXRpb25zKC0pCgpkaWZmIC0t
Z2l0IGEvbGlic3dzY2FsZS90ZXN0cy9zd3NjYWxlLmMgYi9saWJzd3NjYWxlL3Rlc3RzL3N3c2Nh
bGUuYwppbmRleCA4ZGI1ZWUwYWY1Li5lYTZjNTdmZjJhIDEwMDY0NAotLS0gYS9saWJzd3NjYWxl
L3Rlc3RzL3N3c2NhbGUuYworKysgYi9saWJzd3NjYWxlL3Rlc3RzL3N3c2NhbGUuYwpAQCAtODAs
MzggKzgwLDUxIEBAIHN0YXRpYyBpbnQgZm10X2NvbXBzKGVudW0gQVZQaXhlbEZvcm1hdCBmbXQp
CiAgICAgcmV0dXJuIGNvbXBzOwogfQogCi1zdGF0aWMgdm9pZCBnZXRfbXNlKGludCBtc2VbNF0s
IGNvbnN0IEFWRnJhbWUgKmEsIGNvbnN0IEFWRnJhbWUgKmIsIGludCBjb21wcykKK3N0YXRpYyB2
b2lkIGdldF9zc2ltKGZsb2F0IHNzaW1bNF0sIGNvbnN0IEFWRnJhbWUgKm91dCwgY29uc3QgQVZG
cmFtZSAqcmVmLCBpbnQgY29tcHMpCiB7Ci0gICAgYXZfYXNzZXJ0MShhLT5mb3JtYXQgPT0gQVZf
UElYX0ZNVF9ZVVZBNDQ0UCk7Ci0gICAgYXZfYXNzZXJ0MShiLT5mb3JtYXQgPT0gYS0+Zm9ybWF0
KTsKLSAgICBhdl9hc3NlcnQxKGItPndpZHRoID09IGEtPndpZHRoICYmIGItPmhlaWdodCA9PSBh
LT5oZWlnaHQpOworICAgIGF2X2Fzc2VydDEob3V0LT5mb3JtYXQgPT0gQVZfUElYX0ZNVF9ZVVZB
NDQ0UCk7CisgICAgYXZfYXNzZXJ0MShyZWYtPmZvcm1hdCA9PSBvdXQtPmZvcm1hdCk7CisgICAg
YXZfYXNzZXJ0MShyZWYtPndpZHRoID09IG91dC0+d2lkdGggJiYgcmVmLT5oZWlnaHQgPT0gb3V0
LT5oZWlnaHQpOwogCiAgICAgZm9yIChpbnQgcCA9IDA7IHAgPCA0OyBwKyspIHsKKyAgICAgICAg
Y29uc3QgaW50IHN0cmlkZV9hID0gb3V0LT5saW5lc2l6ZVtwXTsKKyAgICAgICAgY29uc3QgaW50
IHN0cmlkZV9iID0gcmVmLT5saW5lc2l6ZVtwXTsKKyAgICAgICAgY29uc3QgaW50IHcgPSBvdXQt
PndpZHRoOworICAgICAgICBjb25zdCBpbnQgaCA9IG91dC0+aGVpZ2h0OworCiAgICAgICAgIGNv
bnN0IGludCBpc19jaHJvbWEgPSBwID09IDEgfHwgcCA9PSAyOwotICAgICAgICBjb25zdCBpbnQg
c3RyaWRlX2EgPSBhLT5saW5lc2l6ZVtwXTsKLSAgICAgICAgY29uc3QgaW50IHN0cmlkZV9iID0g
Yi0+bGluZXNpemVbcF07Ci0gICAgICAgIGNvbnN0IGludCB3ID0gYS0+d2lkdGg7Ci0gICAgICAg
IGNvbnN0IGludCBoID0gYS0+aGVpZ2h0OwotICAgICAgICB1aW50NjRfdCBzdW0gPSAwOwotCi0g
ICAgICAgIGlmIChjb21wcyAmICgxIDw8IHApKSB7Ci0gICAgICAgICAgICBmb3IgKGludCB5ID0g
MDsgeSA8IGg7IHkrKykgewotICAgICAgICAgICAgICAgIGZvciAoaW50IHggPSAwOyB4IDwgdzsg
eCsrKSB7Ci0gICAgICAgICAgICAgICAgICAgIGludCBkID0gYS0+ZGF0YVtwXVt5ICogc3RyaWRl
X2EgKyB4XSAtIGItPmRhdGFbcF1beSAqIHN0cmlkZV9iICsgeF07Ci0gICAgICAgICAgICAgICAg
ICAgIHN1bSArPSBkICogZDsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICB9Ci0gICAg
ICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICBjb25zdCBpbnQgcmVmID0gaXNfY2hyb21hID8gMTI4
IDogMHhGRjsKLSAgICAgICAgICAgIGZvciAoaW50IHkgPSAwOyB5IDwgaDsgeSsrKSB7Ci0gICAg
ICAgICAgICAgICAgZm9yIChpbnQgeCA9IDA7IHggPCB3OyB4KyspIHsKLSAgICAgICAgICAgICAg
ICAgICAgaW50IGQgPSBhLT5kYXRhW3BdW3kgKiBzdHJpZGVfYSArIHhdIC0gcmVmOwotICAgICAg
ICAgICAgICAgICAgICBzdW0gKz0gZCAqIGQ7CisgICAgICAgIGNvbnN0IHVpbnQ4X3QgZGVmID0g
aXNfY2hyb21hID8gMTI4IDogMHhGRjsKKyAgICAgICAgY29uc3QgaW50IGhhc19yZWYgPSBjb21w
cyAmICgxIDw8IHApOworICAgICAgICBkb3VibGUgc3VtID0gMDsKKyAgICAgICAgaW50IGNvdW50
ID0gMDsKKworICAgICAgICAvKiA0eDQgU1NJTSAqLworICAgICAgICBmb3IgKGludCB5ID0gMDsg
eSA8IChoICYgfjMpOyB5ICs9IDQpIHsKKyAgICAgICAgICAgIGZvciAoaW50IHggPSAwOyB4IDwg
KHcgJiB+Myk7IHggKz0gNCkgeworICAgICAgICAgICAgICAgIGNvbnN0IGZsb2F0IGMxID0gLjAx
ICogLjAxICogMjU1ICogMjU1ICogNjQ7CisgICAgICAgICAgICAgICAgY29uc3QgZmxvYXQgYzIg
PSAuMDMgKiAuMDMgKiAyNTUgKiAyNTUgKiA2NCAqIDYzOworICAgICAgICAgICAgICAgIGludCBz
MSA9IDAsIHMyID0gMCwgc3MgPSAwLCBzMTIgPSAwLCB2YXIsIGNvdmFyOworCisgICAgICAgICAg
ICAgICAgZm9yIChpbnQgeXkgPSAwOyB5eSA8IDQ7IHl5KyspIHsKKyAgICAgICAgICAgICAgICAg
ICAgZm9yIChpbnQgeHggPSAwOyB4eCA8IDQ7IHh4KyspIHsKKyAgICAgICAgICAgICAgICAgICAg
ICAgIGludCBhID0gb3V0LT5kYXRhW3BdWyh5ICsgeXkpICogc3RyaWRlX2EgKyB4ICsgeHhdOwor
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IGIgPSBoYXNfcmVmID8gcmVmLT5kYXRhW3BdWyh5
ICsgeXkpICogc3RyaWRlX2IgKyB4ICsgeHhdIDogZGVmOworICAgICAgICAgICAgICAgICAgICAg
ICAgczEgICs9IGE7CisgICAgICAgICAgICAgICAgICAgICAgICBzMiAgKz0gYjsKKyAgICAgICAg
ICAgICAgICAgICAgICAgIHNzICArPSBhICogYSArIGIgKiBiOworICAgICAgICAgICAgICAgICAg
ICAgICAgczEyICs9IGEgKiBiOworICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAg
ICAgfQorCisgICAgICAgICAgICAgICAgdmFyID0gc3MgKiA2NCAtIHMxICogczEgLSBzMiAqIHMy
OworICAgICAgICAgICAgICAgIGNvdmFyID0gczEyICogNjQgLSBzMSAqIHMyOworICAgICAgICAg
ICAgICAgIHN1bSArPSAoMiAqIHMxICogczIgKyBjMSkgKiAoMiAqIGNvdmFyICsgYzIpIC8KKyAg
ICAgICAgICAgICAgICAgICAgICAgKChzMSAqIHMxICsgczIgKiBzMiArIGMxKSAqICh2YXIgKyBj
MikpOworICAgICAgICAgICAgICAgIGNvdW50Kys7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0K
IAotICAgICAgICBtc2VbcF0gPSBzdW0gLyAodyAqIGgpOworICAgICAgICBzc2ltW3BdID0gY291
bnQgPyBzdW0gLyBjb3VudCA6IDAuMDsKICAgICB9CiB9CiAKQEAgLTE0OSwxMiArMTYyLDEzIEBA
IGVycm9yOgogLyogUnVucyBhIHNlcmllcyBvZiByZWYgLT4gc3JjIC0+IGRzdCAtPiBvdXQsIGFu
ZCBjb21wYXJlcyBvdXQgdnMgcmVmICovCiBzdGF0aWMgaW50IHJ1bl90ZXN0KGVudW0gQVZQaXhl
bEZvcm1hdCBzcmNfZm10LCBlbnVtIEFWUGl4ZWxGb3JtYXQgZHN0X2ZtdCwKICAgICAgICAgICAg
ICAgICAgICAgaW50IGRzdF93LCBpbnQgZHN0X2gsIHN0cnVjdCBtb2RlIG1vZGUsIHN0cnVjdCBv
cHRpb25zIG9wdHMsCi0gICAgICAgICAgICAgICAgICAgIGNvbnN0IEFWRnJhbWUgKnJlZiwgY29u
c3QgaW50IG1zZV9yZWZbNF0pCisgICAgICAgICAgICAgICAgICAgIGNvbnN0IEFWRnJhbWUgKnJl
ZiwgY29uc3QgZmxvYXQgc3NpbV9yZWZbNF0pCiB7CiAgICAgQVZGcmFtZSAqc3JjID0gTlVMTCwg
KmRzdCA9IE5VTEwsICpvdXQgPSBOVUxMOwotICAgIGludCBtc2VbNF0sIG1zZV9zd3NbNF0sIHJl
dCA9IC0xOworICAgIGZsb2F0IHNzaW1bNF0sIHNzaW1fc3dzWzRdOwogICAgIGNvbnN0IGludCBj
b21wcyA9IGZtdF9jb21wcyhzcmNfZm10KSAmIGZtdF9jb21wcyhkc3RfZm10KTsKICAgICBpbnQ2
NF90IHRpbWUsIHRpbWVfcmVmID0gMDsKKyAgICBpbnQgcmV0ID0gLTE7CiAKICAgICBzcmMgPSBh
dl9mcmFtZV9hbGxvYygpOwogICAgIGRzdCA9IGF2X2ZyYW1lX2FsbG9jKCk7CkBAIC0yMDEsMTUg
KzIxNSwxNSBAQCBzdGF0aWMgaW50IHJ1bl90ZXN0KGVudW0gQVZQaXhlbEZvcm1hdCBzcmNfZm10
LCBlbnVtIEFWUGl4ZWxGb3JtYXQgZHN0X2ZtdCwKICAgICAgICAgZ290byBlcnJvcjsKICAgICB9
CiAKLSAgICBnZXRfbXNlKG1zZSwgb3V0LCByZWYsIGNvbXBzKTsKKyAgICBnZXRfc3NpbShzc2lt
LCBvdXQsIHJlZiwgY29tcHMpOwogICAgIHByaW50ZigiJXMgJWR4JWQgLT4gJXMgJTNkeCUzZCwg
ZmxhZ3M9JXUgZGl0aGVyPSV1LCAiCi0gICAgICAgICAgICJNU0U9eyU1ZCAlNWQgJTVkICU1ZH1c
biIsCisgICAgICAgICAgICJTU0lNIHtZPSVmIFU9JWYgVj0lZiBBPSVmfVxuIiwKICAgICAgICAg
ICAgYXZfZ2V0X3BpeF9mbXRfbmFtZShzcmMtPmZvcm1hdCksIHNyYy0+d2lkdGgsIHNyYy0+aGVp
Z2h0LAogICAgICAgICAgICBhdl9nZXRfcGl4X2ZtdF9uYW1lKGRzdC0+Zm9ybWF0KSwgZHN0LT53
aWR0aCwgZHN0LT5oZWlnaHQsCiAgICAgICAgICAgIG1vZGUuZmxhZ3MsIG1vZGUuZGl0aGVyLAot
ICAgICAgICAgICBtc2VbMF0sIG1zZVsxXSwgbXNlWzJdLCBtc2VbM10pOworICAgICAgICAgICBz
c2ltWzBdLCBzc2ltWzFdLCBzc2ltWzJdLCBzc2ltWzNdKTsKIAotICAgIGlmICghbXNlX3JlZikg
eworICAgIGlmICghc3NpbV9yZWYpIHsKICAgICAgICAgLyogQ29tcGFyZSBhZ2FpbnN0IHRoZSBs
ZWdhY3kgc3dzY2FsZSBBUEkgYXMgYSByZWZlcmVuY2UgKi8KICAgICAgICAgdGltZV9yZWYgPSBh
dl9nZXR0aW1lX3JlbGF0aXZlKCk7CiAgICAgICAgIGlmIChzY2FsZV9sZWdhY3koZHN0LCBzcmMs
IG1vZGUsIG9wdHMpIDwgMCkgewpAQCAtMjIyLDE5ICsyMzYsMjYgQEAgc3RhdGljIGludCBydW5f
dGVzdChlbnVtIEFWUGl4ZWxGb3JtYXQgc3JjX2ZtdCwgZW51bSBBVlBpeGVsRm9ybWF0IGRzdF9m
bXQsCiAgICAgICAgIGlmIChzd3Nfc2NhbGVfZnJhbWUoc3dzWzJdLCBvdXQsIGRzdCkgPCAwKQog
ICAgICAgICAgICAgZ290byBlcnJvcjsKIAotICAgICAgICBnZXRfbXNlKG1zZV9zd3MsIG91dCwg
cmVmLCBjb21wcyk7Ci0gICAgICAgIG1zZV9yZWYgPSBtc2Vfc3dzOworICAgICAgICBnZXRfc3Np
bShzc2ltX3N3cywgb3V0LCByZWYsIGNvbXBzKTsKKyAgICAgICAgc3NpbV9yZWYgPSBzc2ltX3N3
czsKICAgICB9CiAKLSAgICBmb3IgKGludCBpID0gMDsgaSA8IDQ7IGkrKykgewotICAgICAgICBp
ZiAobXNlW2ldID4gbXNlX3JlZltpXSkgewotICAgICAgICAgICAgaW50IGJhZCA9IG1zZVtpXSA+
IG1zZV9yZWZbaV0gKiAxLjAyICsgMTsKLSAgICAgICAgICAgIHByaW50ZigiXDAzM1sxOzMxbSAg
JXMsIHJlZiBNU0U9eyU1ZCAlNWQgJTVkICU1ZH1cMDMzWzBtXG4iLAotICAgICAgICAgICAgICAg
ICAgIGJhZCA/ICJXT1JTRSIgOiAid29yc2UiLAotICAgICAgICAgICAgICAgICAgIG1zZV9yZWZb
MF0sIG1zZV9yZWZbMV0sIG1zZV9yZWZbMl0sIG1zZV9yZWZbM10pOworICAgIGlmIChzc2ltX3Jl
ZikgeworICAgICAgICBjb25zdCBmbG9hdCB3ZWlnaHRzWzRdID0geyAwLjgsIDAuMSwgMC4xLCAx
LjAgfTsgLyogdHVuZWQgZm9yIFknQ3JDciAqLworICAgICAgICBmbG9hdCBlcnIsIHN1bSA9IDAs
IHN1bV9yZWYgPSAwOworICAgICAgICBmb3IgKGludCBpID0gMDsgaSA8IDQ7IGkrKykgeworICAg
ICAgICAgICAgc3VtICAgICArPSB3ZWlnaHRzW2ldICogc3NpbVtpXTsKKyAgICAgICAgICAgIHN1
bV9yZWYgKz0gd2VpZ2h0c1tpXSAqIHNzaW1fcmVmW2ldOworICAgICAgICB9CisKKyAgICAgICAg
ZXJyID0gc3VtX3JlZiAvIHN1bSAtIDEuMDsgLyogcmVsYXRpdmUgZXJyb3IgKi8KKyAgICAgICAg
aWYgKGVyciA+IDFlLTQgLyogMC4wMSUgaGVhZHJvb20gZm9yIGRpdGhlciBub2lzZSBldGMgKi8p
IHsKKyAgICAgICAgICAgIGludCBiYWQgPSBlcnIgPiAxZS0yOyAvKiAxJSAqLworICAgICAgICAg
ICAgcHJpbnRmKCJcMDMzWzE7MzFtICAlcyBieSAlZiUlLCByZWYgU1NJTSB7WT0lZiBVPSVmIFY9
JWYgQT0lZn1cMDMzWzBtXG4iLAorICAgICAgICAgICAgICAgICAgIGJhZCA/ICJXT1JTRSIgOiAi
d29yc2UiLCAxMDAuMCAqIGVyciwKKyAgICAgICAgICAgICAgICAgICBzc2ltX3JlZlswXSwgc3Np
bV9yZWZbMV0sIHNzaW1fcmVmWzJdLCBzc2ltX3JlZlszXSk7CiAgICAgICAgICAgICBpZiAoYmFk
KQogICAgICAgICAgICAgICAgIGdvdG8gZXJyb3I7Ci0gICAgICAgICAgICBicmVhazsKICAgICAg
ICAgfQogICAgIH0KIApAQCAtMzM0LDE1ICszNTUsMTYgQEAgc3RhdGljIGludCBydW5fZmlsZV90
ZXN0cyhjb25zdCBBVkZyYW1lICpyZWYsIEZJTEUgKmZwLCBzdHJ1Y3Qgb3B0aW9ucyBvcHRzKQog
ICAgICAgICBjaGFyIHNyY19mbXRfc3RyWzIwXSwgZHN0X2ZtdF9zdHJbMjBdOwogICAgICAgICBl
bnVtIEFWUGl4ZWxGb3JtYXQgc3JjX2ZtdDsKICAgICAgICAgZW51bSBBVlBpeGVsRm9ybWF0IGRz
dF9mbXQ7Ci0gICAgICAgIGludCBzdywgc2gsIGR3LCBkaCwgbXNlWzRdOworICAgICAgICBpbnQg
c3csIHNoLCBkdywgZGg7CisgICAgICAgIGZsb2F0IHNzaW1bNF07CiAgICAgICAgIHN0cnVjdCBt
b2RlIG1vZGU7CiAKICAgICAgICAgcmV0ID0gc3NjYW5mKGJ1ZiwKICAgICAgICAgICAgICAgICAg
ICAgICIgJTIwcyAlZHglZCAtPiAlMjBzICVkeCVkLCBmbGFncz0ldSBkaXRoZXI9JXUsICIKLSAg
ICAgICAgICAgICAgICAgICAgICJNU0U9eyVkICVkICVkICVkfVxuIiwKKyAgICAgICAgICAgICAg
ICAgICAgICJTU0lNIHtZPSVmIFU9JWYgVj0lZiBBPSVmfVxuIiwKICAgICAgICAgICAgICAgICAg
ICAgIHNyY19mbXRfc3RyLCAmc3csICZzaCwgZHN0X2ZtdF9zdHIsICZkdywgJmRoLAogICAgICAg
ICAgICAgICAgICAgICAgJm1vZGUuZmxhZ3MsICZtb2RlLmRpdGhlciwKLSAgICAgICAgICAgICAg
ICAgICAgICZtc2VbMF0sICZtc2VbMV0sICZtc2VbMl0sICZtc2VbM10pOworICAgICAgICAgICAg
ICAgICAgICAgJnNzaW1bMF0sICZzc2ltWzFdLCAmc3NpbVsyXSwgJnNzaW1bM10pOwogICAgICAg
ICBpZiAocmV0ICE9IDEyKSB7CiAgICAgICAgICAgICBwcmludGYoIiVzIiwgYnVmKTsKICAgICAg
ICAgICAgIGNvbnRpbnVlOwpAQCAtMzYxLDcgKzM4Myw3IEBAIHN0YXRpYyBpbnQgcnVuX2ZpbGVf
dGVzdHMoY29uc3QgQVZGcmFtZSAqcmVmLCBGSUxFICpmcCwgc3RydWN0IG9wdGlvbnMgb3B0cykK
ICAgICAgICAgICAgIG9wdHMuZHN0X2ZtdCAhPSBBVl9QSVhfRk1UX05PTkUgJiYgZHN0X2ZtdCAh
PSBvcHRzLmRzdF9mbXQpCiAgICAgICAgICAgICBjb250aW51ZTsKIAotICAgICAgICBpZiAocnVu
X3Rlc3Qoc3JjX2ZtdCwgZHN0X2ZtdCwgZHcsIGRoLCBtb2RlLCBvcHRzLCByZWYsIG1zZSkgPCAw
KQorICAgICAgICBpZiAocnVuX3Rlc3Qoc3JjX2ZtdCwgZHN0X2ZtdCwgZHcsIGRoLCBtb2RlLCBv
cHRzLCByZWYsIHNzaW0pIDwgMCkKICAgICAgICAgICAgIHJldHVybiAtMTsKICAgICB9CiAKLS0g
CjIuNDguMQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K
ZmZtcGVnLWRldmVsIG1haWxpbmcgbGlzdApmZm1wZWctZGV2ZWxAZmZtcGVnLm9yZwpodHRwczov
L2ZmbXBlZy5vcmcvbWFpbG1hbi9saXN0aW5mby9mZm1wZWctZGV2ZWwKClRvIHVuc3Vic2NyaWJl
LCB2aXNpdCBsaW5rIGFib3ZlLCBvciBlbWFpbApmZm1wZWctZGV2ZWwtcmVxdWVzdEBmZm1wZWcu
b3JnIHdpdGggc3ViamVjdCAidW5zdWJzY3JpYmUiLgo=