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 A8B9E4D9C5
	for <ffmpegdev@gitmailbox.com>; Mon, 21 Apr 2025 16:59:59 +0000 (UTC)
Received: from [127.0.1.1] (localhost [127.0.0.1])
	by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 84B5B687DDD;
	Mon, 21 Apr 2025 19:59:55 +0300 (EEST)
Received: from mail-pj1-f45.google.com (mail-pj1-f45.google.com
 [209.85.216.45])
 by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 8CE88687C89
 for <ffmpeg-devel@ffmpeg.org>; Mon, 21 Apr 2025 19:59:48 +0300 (EEST)
Received: by mail-pj1-f45.google.com with SMTP id
 98e67ed59e1d1-3014678689aso3252496a91.0
 for <ffmpeg-devel@ffmpeg.org>; Mon, 21 Apr 2025 09:59:48 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=emma-gg.20230601.gappssmtp.com; s=20230601; t=1745254786; x=1745859586;
 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=Ft8UpCiOAbFkS1aJ1X1ad74jCX+sLfCTy4LV6sFvgjY=;
 b=s/DcXLB/UKSeThOzIY7CVfkLJGtEslAKV8rvvfIjqHzr6TaTRyLQ4OG63gBwTYTi9d
 9W5LwMqLFwIGAviCzNyar7jStZmYm5dSdVnUjNevHJDkeLSjVwHZ2COP6yQqoeAA3/x8
 gro5nafFa9kEglOnLk+lvc9dGV0R+YrEm8dGxdDDcEqeUYhn8MztrtsANWvXkuCQzFUi
 65a1g8OQ80lqefos0GGyk+5mbhUyj3633HuACPZCkseNsnaVqNK0BWYwHFB46loi4clT
 ZsgW+zbmzZdOtxRJptFeL2dj6HKLBv1cpzqC3+PBLL9mVOgNaMCvopFsNkfx2eupaqui
 zlsA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1745254786; x=1745859586;
 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=Ft8UpCiOAbFkS1aJ1X1ad74jCX+sLfCTy4LV6sFvgjY=;
 b=p/Q1kYar6PjTcZIqCu0A3MZmhLV3Ga4tUeSiO9BJ8t23zQ81py9lsgY79QvVtsTnXu
 iiYOfT+7tWYR7MXkXfWxBlxi0ip6ruo1NmCE5eVaWCvBdIohYo2wXGb8E69zHh9mPUv0
 czlw4kDWac14gLHaGr1CBOA5i7jTTNbethvSvdOtwPWKHYVZYQYgLbt+oZw6xIXZl+VF
 OSngUwNe4tprGNrNzn4aqAcnIWxngjCYQ3WOZpxRdaLXeaYKhsMfPo4wzmSbVbXoVONI
 /8eNqDJebR7uDe9iONqjMC6UOUuX/9CxQs4eZ64EjYEqSLrFBDt2wuAShl9towXSHcXq
 8itw==
X-Gm-Message-State: AOJu0YxHhpFzXDAzq+RvkriO3EuKIRtyAUPx+xsKPzhl4p0zNDm9TRO/
 q5JNh9ivru7oNVzdXBaXckTO00sg5sM80zeCpqDLSmVBqLqCvn0yFO392Xn95+crYZx6e6+2CF+
 irwpdNP9HHEqP9HxAC8eFbD42xbGcimjjPip3POYoz28l189wyzU=
X-Gm-Gg: ASbGncsLdVhFdtq9YMcWJyy7qR40uAn6448IS9quxgbPFihisQaMKl8jrczIiRbMBxJ
 ksv9MVaa9FxRd0AyX3eDwtLtEzfIoP264qN2b05MBdmqu2FZtq4tHeYG62WdZlQ3k1p16kk8WN/
 GphE5Utr2kDvo2fissaop0ExqJLzRqZMW7BZP9cQUD3/m5TJ1mFMLgiUXd
X-Google-Smtp-Source: AGHT+IFagrqz7H8J7c5NjpfQQonY/WKgfJ6rnquJ0hG63QY7Hz1UbAre8ohkkK7JdSUdqDyYR22YSdEf2WNTwEW6Bto=
X-Received: by 2002:a17:90b:1f8d:b0:2ee:af31:a7bd with SMTP id
 98e67ed59e1d1-3087bb3965bmr20001544a91.5.1745254786258; Mon, 21 Apr 2025
 09:59:46 -0700 (PDT)
MIME-Version: 1.0
References: <20250421023345.7558-1-emma@emma.gg>
 <20250421023345.7558-3-emma@emma.gg>
 <GV1P250MB07370626849AC5D7858CC85B8FB82@GV1P250MB0737.EURP250.PROD.OUTLOOK.COM>
In-Reply-To: <GV1P250MB07370626849AC5D7858CC85B8FB82@GV1P250MB0737.EURP250.PROD.OUTLOOK.COM>
From: Emma Worley <emma@emma.gg>
Date: Mon, 21 Apr 2025 09:59:33 -0700
X-Gm-Features: ATxdqUFwSZjTVNKZEL2K2WEJtp3xJeJeMEjrL9ZYYIPwVa7PIyTQAhMlKT3nsWA
Message-ID: <CAFQzNw4M_skp=b1aMePuxAeDd6z6CLhR-vhJ532bVD7iGO0TBg@mail.gmail.com>
To: FFmpeg development discussions and patches <ffmpeg-devel@ffmpeg.org>
X-Content-Filtered-By: Mailman/MimeDel 2.1.29
Subject: Re: [FFmpeg-devel] [PATCH v3 3/3] lavc/dxvenc: improve
 compatibility with Resolume products
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>
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/CAFQzNw4M_skp=b1aMePuxAeDd6z6CLhR-vhJ532bVD7iGO0TBg@mail.gmail.com/>
List-Archive: <https://master.gitmailbox.com/ffmpegdev/>
List-Post: <mailto:ffmpegdev@gitmailbox.com>

T24gTW9uLCBBcHIgMjEsIDIwMjUgYXQgNDoxOeKAr0FNIEFuZHJlYXMgUmhlaW5oYXJkdCA8CmFu
ZHJlYXMucmhlaW5oYXJkdEBvdXRsb29rLmNvbT4gd3JvdGU6Cgo+IEVtbWEgV29ybGV5Ogo+ID4g
SW1wcm92ZXMgY29tcGF0aWJpbGl0eSB3aXRoIFJlc29sdW1lIHByb2R1Y3RzIGJ5IGFkZGluZyBh
biBhZGRpdGlvbmFsCj4gaGFzaHRhYmxlCj4gPiBmb3IgRFhUIGNvbG9yK0xVVCBjb21iaW5hdGlv
bnMsIGFuZCBwYWRkaW5nIHRoZSBEWFQgdGV4dHVyZSB0byB0aGUgbmV4dAo+IGxhcmdlc3QKPiA+
IDE2eDE2IG11bHRpcGxlLiBQcm9kdWNlcyBpZGVudGljYWwgcGFja2V0cyB0byBSZXNvbHVtZSBB
bGxleSBpbiBtYW51YWwKPiB0ZXN0cy4KPiA+Cj4KPiBBcmUgdGhlIGZpbGVzIHRoYXQgdGhpcyBl
bmNvZGVyIGN1cnJlbnRseSBwcm9kdWNlcyBpbnZhbGlkPwo+ClllcywgaWYgdGhleSBhcmUgdW5h
bGlnbmVkLgoKPgo+ID4gU2lnbmVkLW9mZi1ieTogRW1tYSBXb3JsZXkgPGVtbWFAZW1tYS5nZz4K
PiA+IC0tLQo+ID4gIGxpYmF2Y29kZWMvZHh2ZW5jLmMgICAgICAgICB8IDEwNSArKysrKysrKysr
KysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0KPiA+ICB0ZXN0cy9yZWYvZmF0ZS9keHYzZW5jLWR4
dDEgfCAgIDIgKy0KPiA+ICAyIGZpbGVzIGNoYW5nZWQsIDYwIGluc2VydGlvbnMoKyksIDQ3IGRl
bGV0aW9ucygtKQo+ID4KPiA+IGRpZmYgLS1naXQgYS9saWJhdmNvZGVjL2R4dmVuYy5jIGIvbGli
YXZjb2RlYy9keHZlbmMuYwo+ID4gaW5kZXggYzY0YjRkNWYxNS4uNzM3Y2NmZmYzZSAxMDA2NDQK
PiA+IC0tLSBhL2xpYmF2Y29kZWMvZHh2ZW5jLmMKPiA+ICsrKyBiL2xpYmF2Y29kZWMvZHh2ZW5j
LmMKPiA+IEBAIC0zNCw2ICszNCwxMSBAQAo+ID4KPiA+ICAjZGVmaW5lIERYVl9IRUFERVJfTEVO
R1RIIDEyCj4gPgo+ID4gKy8qCj4gPiArICogUmVzb2x1bWUgd2lsbCByZWZ1c2UgdG8gZGlzcGxh
eSBmcmFtZXMgdGhhdCBhcmUgbm90IHBhZGRlZCB0byAxNngxNgo+IHBpeGVscy4KPiA+ICsgKi8K
PiA+ICsjZGVmaW5lIERYVl9BTElHTih4KSBGRkFMSUdOKHgsIDE2KQo+ID4gKwo+ID4gIC8qCj4g
PiAgICogRFhWIHVzZXMgTFotbGlrZSBiYWNrLXJlZmVyZW5jZXMgdG8gYXZvaWQgY29weWluZyB3
b3JkcyB0aGF0IGhhdmUKPiBhbHJlYWR5Cj4gPiAgICogYXBwZWFyZWQgaW4gdGhlIGRlY29tcHJl
c3NlZCBzdHJlYW0uIFVzaW5nIGEgc2ltcGxlIGhhc2ggdGFibGUgKEhUKQo+ID4gQEAgLTYwLDYg
KzY1LDcgQEAgdHlwZWRlZiBzdHJ1Y3QgRFhWRW5jQ29udGV4dCB7Cj4gPgo+ID4gICAgICBzdHJ1
Y3QgQVZIYXNodGFibGVDb250ZXh0ICpjb2xvcl9odDsKPiA+ICAgICAgc3RydWN0IEFWSGFzaHRh
YmxlQ29udGV4dCAqbHV0X2h0Owo+ID4gKyAgICBzdHJ1Y3QgQVZIYXNodGFibGVDb250ZXh0ICpj
b21ib19odDsKPiA+ICB9IERYVkVuY0NvbnRleHQ7Cj4gPgo+ID4gIC8qIENvbnZlcnRzIGFuIGlu
ZGV4IG9mZnNldCB2YWx1ZSB0byBhIDItYml0IG9wY29kZSBhbmQgcHVzaGVzIGl0IHRvIGEKPiBz
dHJlYW0uCj4gPiBAQCAtOTQsMTAgKzEwMCwxNCBAQCBzdGF0aWMgaW50IGR4dl9jb21wcmVzc19k
eHQxKEFWQ29kZWNDb250ZXh0ICphdmN0eCkKPiA+ICAgICAgRFhWRW5jQ29udGV4dCAqY3R4ID0g
YXZjdHgtPnByaXZfZGF0YTsKPiA+ICAgICAgUHV0Qnl0ZUNvbnRleHQgKnBiYyA9ICZjdHgtPnBi
YzsKPiA+ICAgICAgdm9pZCAqdmFsdWU7Cj4gPiAtICAgIHVpbnQzMl90IGNvbG9yLCBsdXQsIGlk
eCwgY29sb3JfaWR4LCBsdXRfaWR4LCBwcmV2X3Bvcywgc3RhdGUgPSAxNiwKPiBwb3MgPSAwLCBv
cCA9IDA7Cj4gPiArICAgIHVpbnQ2NF90IGNvbWJvOwo+ID4gKyAgICB1aW50MzJfdCBjb2xvciwg
bHV0LCBpZHgsIGNvbWJvX2lkeCwgcHJldl9wb3MsIG9sZF9wb3MsIHN0YXRlID0gMTYsCj4gcG9z
ID0gMCwgb3AgPSAwOwo+ID4KPiA+ICAgICAgYXZfaGFzaHRhYmxlX2NsZWFyKGN0eC0+Y29sb3Jf
aHQpOwo+ID4gICAgICBhdl9oYXNodGFibGVfY2xlYXIoY3R4LT5sdXRfaHQpOwo+ID4gKyAgICBh
dl9oYXNodGFibGVfY2xlYXIoY3R4LT5jb21ib19odCk7Cj4gPiArCj4gPiArICAgIGF2X2hhc2h0
YWJsZV9zZXQoY3R4LT5jb21ib19odCwgY3R4LT50ZXhfZGF0YSwgJnBvcyk7Cj4gPgo+ID4gICAg
ICBieXRlc3RyZWFtMl9wdXRfbGUzMihwYmMsIEFWX1JMMzIoY3R4LT50ZXhfZGF0YSkpOwo+ID4g
ICAgICBhdl9oYXNodGFibGVfc2V0KGN0eC0+Y29sb3JfaHQsIGN0eC0+dGV4X2RhdGEsICZwb3Mp
Owo+ID4gQEAgLTEwNyw1MSArMTE3LDQ2IEBAIHN0YXRpYyBpbnQgZHh2X2NvbXByZXNzX2R4dDEo
QVZDb2RlY0NvbnRleHQgKmF2Y3R4KQo+ID4gICAgICBwb3MrKzsKPiA+Cj4gPiAgICAgIHdoaWxl
IChwb3MgKyAyIDw9IGN0eC0+dGV4X3NpemUgLyA0KSB7Cj4gPiAtICAgICAgICBpZHggPSAwOwo+
ID4gLSAgICAgICAgY29sb3JfaWR4ID0gMDsKPiA+IC0gICAgICAgIGx1dF9pZHggPSAwOwo+ID4g
KyAgICAgICAgY29tYm8gPSBBVl9STDY0KGN0eC0+dGV4X2RhdGEgKyBwb3MgKiA0KTsKPiA+ICsg
ICAgICAgIGNvbWJvX2lkeCA9IGF2X2hhc2h0YWJsZV9nZXQoY3R4LT5jb21ib19odCwgJmNvbWJv
LCAmcHJldl9wb3MpCj4gPyBwb3MgLSBwcmV2X3BvcyA6IDA7Cj4gPiArICAgICAgICBpZHggPSBj
b21ib19pZHg7Cj4gPiArICAgICAgICBQVVNIX09QKDIpOwo+ID4gKyAgICAgICAgaWYgKHBvcyA+
PSBMT09LQkFDS19XT1JEUykgewo+ID4gKyAgICAgICAgICAgIG9sZF9wb3MgPSBwb3MgLSBMT09L
QkFDS19XT1JEUzsKPiA+ICsgICAgICAgICAgICBpZiAoYXZfaGFzaHRhYmxlX2dldChjdHgtPmNv
bWJvX2h0LCBjdHgtPnRleF9kYXRhICsgb2xkX3Bvcwo+ICogNCwgJnByZXZfcG9zKSAmJiBwcmV2
X3BvcyA8PSBvbGRfcG9zKQo+ID4gKyAgICAgICAgICAgICAgICBhdl9oYXNodGFibGVfZGVsZXRl
KGN0eC0+Y29tYm9faHQsIGN0eC0+dGV4X2RhdGEgKwo+IG9sZF9wb3MgKiA0KTsKPiA+ICsgICAg
ICAgIH0KPiA+ICsgICAgICAgIGF2X2hhc2h0YWJsZV9zZXQoY3R4LT5jb21ib19odCwgJmNvbWJv
LCAmcG9zKTsKPiA+Cj4gPiAgICAgICAgICBjb2xvciA9IEFWX1JMMzIoY3R4LT50ZXhfZGF0YSAr
IHBvcyAqIDQpOwo+ID4gLSAgICAgICAgaWYgKGF2X2hhc2h0YWJsZV9nZXQoY3R4LT5jb2xvcl9o
dCwgJmNvbG9yLCAmcHJldl9wb3MpKQo+ID4gLSAgICAgICAgICAgIGNvbG9yX2lkeCA9IHBvcyAt
IHByZXZfcG9zOwo+ID4gLSAgICAgICAgYXZfaGFzaHRhYmxlX3NldChjdHgtPmNvbG9yX2h0LCAm
Y29sb3IsICZwb3MpOwo+ID4gLQo+ID4gKyAgICAgICAgaWYgKCFjb21ib19pZHgpIHsKPiA+ICsg
ICAgICAgICAgICBpZHggPSBhdl9oYXNodGFibGVfZ2V0KGN0eC0+Y29sb3JfaHQsICZjb2xvciwg
JnByZXZfcG9zKSA/Cj4gcG9zIC0gcHJldl9wb3MgOiAwOwo+ID4gKyAgICAgICAgICAgIFBVU0hf
T1AoMik7Cj4gPiArICAgICAgICAgICAgaWYgKCFpZHgpCj4gPiArICAgICAgICAgICAgICAgIGJ5
dGVzdHJlYW0yX3B1dF9sZTMyKHBiYywgY29sb3IpOwo+ID4gKyAgICAgICAgfQo+ID4gICAgICAg
ICAgaWYgKHBvcyA+PSBMT09LQkFDS19XT1JEUykgewo+ID4gLSAgICAgICAgICAgIHVpbnQzMl90
IG9sZF9wb3MgPSBwb3MgLSBMT09LQkFDS19XT1JEUzsKPiA+ICsgICAgICAgICAgICBvbGRfcG9z
ID0gcG9zIC0gTE9PS0JBQ0tfV09SRFM7Cj4gPiAgICAgICAgICAgICAgaWYgKGF2X2hhc2h0YWJs
ZV9nZXQoY3R4LT5jb2xvcl9odCwgY3R4LT50ZXhfZGF0YSArIG9sZF9wb3MKPiAqIDQsICZwcmV2
X3BvcykgJiYgcHJldl9wb3MgPD0gb2xkX3BvcykKPiA+ICAgICAgICAgICAgICAgICAgYXZfaGFz
aHRhYmxlX2RlbGV0ZShjdHgtPmNvbG9yX2h0LCBjdHgtPnRleF9kYXRhICsKPiBvbGRfcG9zICog
NCk7Cj4gPiAgICAgICAgICB9Cj4gPiArICAgICAgICBhdl9oYXNodGFibGVfc2V0KGN0eC0+Y29s
b3JfaHQsICZjb2xvciwgJnBvcyk7Cj4gPiAgICAgICAgICBwb3MrKzsKPiA+Cj4gPiAgICAgICAg
ICBsdXQgPSBBVl9STDMyKGN0eC0+dGV4X2RhdGEgKyBwb3MgKiA0KTsKPiA+IC0gICAgICAgIGlm
IChjb2xvcl9pZHggJiYgbHV0ID09IEFWX1JMMzIoY3R4LT50ZXhfZGF0YSArIChwb3MgLQo+IGNv
bG9yX2lkeCkgKiA0KSkgewo+ID4gLSAgICAgICAgICAgIGlkeCA9IGNvbG9yX2lkeDsKPiA+IC0g
ICAgICAgIH0gZWxzZSB7Cj4gPiAtICAgICAgICAgICAgaWR4ID0gMDsKPiA+IC0gICAgICAgICAg
ICBpZiAoYXZfaGFzaHRhYmxlX2dldChjdHgtPmx1dF9odCwgJmx1dCwgJnByZXZfcG9zKSkKPiA+
IC0gICAgICAgICAgICAgICAgbHV0X2lkeCA9IHBvcyAtIHByZXZfcG9zOwo+ID4gLSAgICAgICAg
ICAgIGF2X2hhc2h0YWJsZV9zZXQoY3R4LT5sdXRfaHQsICZsdXQsICZwb3MpOwo+ID4gKyAgICAg
ICAgaWYgKCFjb21ib19pZHgpIHsKPiA+ICsgICAgICAgICAgICBpZHggPSBhdl9oYXNodGFibGVf
Z2V0KGN0eC0+bHV0X2h0LCAmbHV0LCAmcHJldl9wb3MpID8gcG9zCj4gLSBwcmV2X3BvcyA6IDA7
Cj4gPiArICAgICAgICAgICAgUFVTSF9PUCgyKTsKPiA+ICsgICAgICAgICAgICBpZiAoIWlkeCkK
PiA+ICsgICAgICAgICAgICAgICAgYnl0ZXN0cmVhbTJfcHV0X2xlMzIocGJjLCBsdXQpOwo+ID4g
ICAgICAgICAgfQo+ID4gICAgICAgICAgaWYgKHBvcyA+PSBMT09LQkFDS19XT1JEUykgewo+ID4g
LSAgICAgICAgICAgIHVpbnQzMl90IG9sZF9wb3MgPSBwb3MgLSBMT09LQkFDS19XT1JEUzsKPiA+
ICsgICAgICAgICAgICBvbGRfcG9zID0gcG9zIC0gTE9PS0JBQ0tfV09SRFM7Cj4gPiAgICAgICAg
ICAgICAgaWYgKGF2X2hhc2h0YWJsZV9nZXQoY3R4LT5sdXRfaHQsIGN0eC0+dGV4X2RhdGEgKyBv
bGRfcG9zICoKPiA0LCAmcHJldl9wb3MpICYmIHByZXZfcG9zIDw9IG9sZF9wb3MpCj4gPiAgICAg
ICAgICAgICAgICAgIGF2X2hhc2h0YWJsZV9kZWxldGUoY3R4LT5sdXRfaHQsIGN0eC0+dGV4X2Rh
dGEgKwo+IG9sZF9wb3MgKiA0KTsKPiA+ICAgICAgICAgIH0KPiA+ICsgICAgICAgIGF2X2hhc2h0
YWJsZV9zZXQoY3R4LT5sdXRfaHQsICZsdXQsICZwb3MpOwo+ID4gICAgICAgICAgcG9zKys7Cj4g
PiAtCj4gPiAtICAgICAgICBQVVNIX09QKDIpOwo+ID4gLQo+ID4gLSAgICAgICAgaWYgKCFpZHgp
IHsKPiA+IC0gICAgICAgICAgICBpZHggPSBjb2xvcl9pZHg7Cj4gPiAtICAgICAgICAgICAgUFVT
SF9PUCgyKTsKPiA+IC0gICAgICAgICAgICBpZiAoIWlkeCkKPiA+IC0gICAgICAgICAgICAgICAg
Ynl0ZXN0cmVhbTJfcHV0X2xlMzIocGJjLCAgY29sb3IpOwo+ID4gLQo+ID4gLSAgICAgICAgICAg
IGlkeCA9IGx1dF9pZHg7Cj4gPiAtICAgICAgICAgICAgUFVTSF9PUCgyKTsKPiA+IC0gICAgICAg
ICAgICBpZiAoIWlkeCkKPiA+IC0gICAgICAgICAgICAgICAgYnl0ZXN0cmVhbTJfcHV0X2xlMzIo
cGJjLCAgbHV0KTsKPiA+IC0gICAgICAgIH0KPiA+ICAgICAgfQo+ID4KPiA+ICAgICAgcmV0dXJu
IDA7Cj4gPiBAQCAtMTcyLDExICsxNzcsMjMgQEAgc3RhdGljIGludCBkeHZfZW5jb2RlKEFWQ29k
ZWNDb250ZXh0ICphdmN0eCwKPiBBVlBhY2tldCAqcGt0LAo+ID4gICAgICAgICAgcmV0dXJuIHJl
dDsKPiA+Cj4gPiAgICAgIGlmIChjdHgtPmVuYy50ZXhfZnVuY3QpIHsKPiA+ICsgICAgICAgIHVp
bnQ4X3QgKmRzdF9kYXRhWzRdID0ge2F2X21hbGxvY3ooRFhWX0FMSUdOKGF2Y3R4LT53aWR0aCkg
Kgo+IERYVl9BTElHTihhdmN0eC0+aGVpZ2h0KSAqIDQpLCAwLCAwLCAwfTsKPiA+ICsgICAgICAg
IGludCBkc3RfbGluZXNpemVbNF0gPSB7RFhWX0FMSUdOKGF2Y3R4LT53aWR0aCkgKiA0LCAwLCAw
LCAwfTsKPiA+ICsKPiA+ICsgICAgICAgIGF2X2ltYWdlX2NvcHkyKAo+ID4gKyAgICAgICAgICAg
IGRzdF9kYXRhLAo+ID4gKyAgICAgICAgICAgIGRzdF9saW5lc2l6ZSwKPiA+ICsgICAgICAgICAg
ICBmcmFtZS0+ZGF0YSwKPiA+ICsgICAgICAgICAgICBmcmFtZS0+bGluZXNpemUsCj4gPiArICAg
ICAgICAgICAgZnJhbWUtPmZvcm1hdCwKPiA+ICsgICAgICAgICAgICBhdmN0eC0+d2lkdGgsCj4g
PiArICAgICAgICAgICAgYXZjdHgtPmhlaWdodCk7Cj4KPiAxLiBVbmNoZWNrZWQgYWxsb2NhdGlv
bi4KPiAyLiBUaGUgYnVmZmVyIGxlYWtzIHVuY29uZGl0aW9uYWxseS4KPiAzLiBUaGUgY29weSBp
cyBkZWZpbml0ZWx5IHVubmVjZXNzYXJ5IGlmIHRoZSBpbnB1dCBpcyBhbHJlYWR5IHByb3Blcmx5
Cj4gYWxpZ25lZC4KPiA0LiBDYW4ndCB3ZSBhdm9pZCB0aGUgY29weSBpbiBjYXNlIHRoZSBpbnB1
dCBpcyBub3QgcHJvcGVybHkgYWxpZ25lZD8KCjUuIE1vc3Qgb2YgZHN0X2RhdGEgd2lsbCBiZSBp
bml0aWFsbHkgemVyb2VkIG9ubHkgdG8gYmUgb3ZlcndyaXR0ZW4gd2l0aAo+IHRoZSBmaW5hbCB2
YWx1ZSBhZ2Fpbi4gVGhpcyBpcyB3YXN0ZWZ1bC4KPgogSXMgdGhlcmUgYW4gaWRpb21hdGljIHdh
eSB0byBkbyBhIHBhcnRpYWwgZmlsbCBoZXJlPwoKPiA+ICsKPiA+ICAgICAgICAgIGN0eC0+ZW5j
LnRleF9kYXRhLm91dCA9IGN0eC0+dGV4X2RhdGE7Cj4gPiAtICAgICAgICBjdHgtPmVuYy5mcmFt
ZV9kYXRhLmluID0gZnJhbWUtPmRhdGFbMF07Cj4gPiAtICAgICAgICBjdHgtPmVuYy5zdHJpZGUg
PSBmcmFtZS0+bGluZXNpemVbMF07Cj4gPiAtICAgICAgICBjdHgtPmVuYy53aWR0aCAgPSBhdmN0
eC0+d2lkdGg7Cj4gPiAtICAgICAgICBjdHgtPmVuYy5oZWlnaHQgPSBhdmN0eC0+aGVpZ2h0Owo+
ID4gKyAgICAgICAgY3R4LT5lbmMuZnJhbWVfZGF0YS5pbiA9IGRzdF9kYXRhWzBdOwo+ID4gKyAg
ICAgICAgY3R4LT5lbmMuc3RyaWRlID0gZHN0X2xpbmVzaXplWzBdOwo+ID4gKyAgICAgICAgY3R4
LT5lbmMud2lkdGggID0gRFhWX0FMSUdOKGF2Y3R4LT53aWR0aCk7Cj4gPiArICAgICAgICBjdHgt
PmVuYy5oZWlnaHQgPSBEWFZfQUxJR04oYXZjdHgtPmhlaWdodCk7Cj4gPiAgICAgICAgICBmZl90
ZXh0dXJlZHNwX2V4ZWNfY29tcHJlc3NfdGhyZWFkcyhhdmN0eCwgJmN0eC0+ZW5jKTsKPiA+ICAg
ICAgfSBlbHNlIHsKPiA+ICAgICAgICAgIC8qIHVuaW1wbGVtZW50ZWQ6IFlDb0NnIGZvcm1hdHMg
Ki8KPiA+IEBAIC0yMTYsMTQgKzIzMyw2IEBAIHN0YXRpYyBhdl9jb2xkIGludCBkeHZfaW5pdChB
VkNvZGVjQ29udGV4dCAqYXZjdHgpCj4gPiAgICAgICAgICByZXR1cm4gcmV0Owo+ID4gICAgICB9
Cj4gPgo+ID4gLSAgICBpZiAoYXZjdHgtPndpZHRoICUgVEVYVFVSRV9CTE9DS19XIHx8IGF2Y3R4
LT5oZWlnaHQgJQo+IFRFWFRVUkVfQkxPQ0tfSCkgewo+ID4gLSAgICAgICAgYXZfbG9nKGF2Y3R4
LAo+ID4gLSAgICAgICAgICAgICAgIEFWX0xPR19FUlJPUiwKPiA+IC0gICAgICAgICAgICAgICAi
VmlkZW8gc2l6ZSAlZHglZCBpcyBub3QgbXVsdGlwbGUgb2YKPiAiQVZfU1RSSU5HSUZZKFRFWFRV
UkVfQkxPQ0tfVykieCJBVl9TVFJJTkdJRlkoVEVYVFVSRV9CTE9DS19IKSIuXG4iLAo+ID4gLSAg
ICAgICAgICAgICAgIGF2Y3R4LT53aWR0aCwgYXZjdHgtPmhlaWdodCk7Cj4gPiAtICAgICAgICBy
ZXR1cm4gQVZFUlJPUl9JTlZBTElEREFUQTsKPiA+IC0gICAgfQo+ID4gLQo+ID4gICAgICBmZl90
ZXh0dXJlZHNwZW5jX2luaXQoJnRleGRzcCk7Cj4gPgo+ID4gICAgICBzd2l0Y2ggKGN0eC0+dGV4
X2ZtdCkgewo+ID4gQEAgLTIzNywxMCArMjQ2LDEwIEBAIHN0YXRpYyBhdl9jb2xkIGludCBkeHZf
aW5pdChBVkNvZGVjQ29udGV4dCAqYXZjdHgpCj4gPiAgICAgICAgICByZXR1cm4gQVZFUlJPUl9J
TlZBTElEREFUQTsKPiA+ICAgICAgfQo+ID4gICAgICBjdHgtPmVuYy5yYXdfcmF0aW8gPSAxNjsK
PiA+IC0gICAgY3R4LT50ZXhfc2l6ZSA9IGF2Y3R4LT53aWR0aCAgLyBURVhUVVJFX0JMT0NLX1cg
Kgo+ID4gLSAgICAgICAgICAgICAgICAgICAgYXZjdHgtPmhlaWdodCAvIFRFWFRVUkVfQkxPQ0tf
SCAqCj4gPiArICAgIGN0eC0+dGV4X3NpemUgPSBEWFZfQUxJR04oYXZjdHgtPndpZHRoKSAvIFRF
WFRVUkVfQkxPQ0tfVyAqCj4gPiArICAgICAgICAgICAgICAgICAgICBEWFZfQUxJR04oYXZjdHgt
PmhlaWdodCkgLyBURVhUVVJFX0JMT0NLX0ggKgo+ID4gICAgICAgICAgICAgICAgICAgICAgY3R4
LT5lbmMudGV4X3JhdGlvOwo+ID4gLSAgICBjdHgtPmVuYy5zbGljZV9jb3VudCA9IGF2X2NsaXAo
YXZjdHgtPnRocmVhZF9jb3VudCwgMSwKPiBhdmN0eC0+aGVpZ2h0IC8gVEVYVFVSRV9CTE9DS19I
KTsKPiA+ICsgICAgY3R4LT5lbmMuc2xpY2VfY291bnQgPSBhdl9jbGlwKGF2Y3R4LT50aHJlYWRf
Y291bnQsIDEsCj4gRFhWX0FMSUdOKGF2Y3R4LT5oZWlnaHQpIC8gVEVYVFVSRV9CTE9DS19IKTsK
PiA+Cj4gPiAgICAgIGN0eC0+dGV4X2RhdGEgPSBhdl9tYWxsb2MoY3R4LT50ZXhfc2l6ZSk7Cj4g
PiAgICAgIGlmICghY3R4LT50ZXhfZGF0YSkgewo+ID4gQEAgLTI1MSw2ICsyNjAsOSBAQCBzdGF0
aWMgYXZfY29sZCBpbnQgZHh2X2luaXQoQVZDb2RlY0NvbnRleHQgKmF2Y3R4KQo+ID4gICAgICBp
ZiAocmV0IDwgMCkKPiA+ICAgICAgICAgIHJldHVybiByZXQ7Cj4gPiAgICAgIHJldCA9IGF2X2hh
c2h0YWJsZV9hbGxvYygmY3R4LT5sdXRfaHQsIHNpemVvZih1aW50MzJfdCksCj4gc2l6ZW9mKHVp
bnQzMl90KSwgTE9PS0JBQ0tfSFRfRUxFTVMpOwo+ID4gKyAgICBpZiAocmV0IDwgMCkKPiA+ICsg
ICAgICAgIHJldHVybiByZXQ7Cj4gPiArICAgIHJldCA9IGF2X2hhc2h0YWJsZV9hbGxvYygmY3R4
LT5jb21ib19odCwgc2l6ZW9mKHVpbnQ2NF90KSwKPiBzaXplb2YodWludDMyX3QpLCBMT09LQkFD
S19IVF9FTEVNUyk7Cj4gPiAgICAgIGlmIChyZXQgPCAwKQo+ID4gICAgICAgICAgcmV0dXJuIHJl
dDsKPiA+Cj4gPiBAQCAtMjY1LDYgKzI3Nyw3IEBAIHN0YXRpYyBhdl9jb2xkIGludCBkeHZfY2xv
c2UoQVZDb2RlY0NvbnRleHQgKmF2Y3R4KQo+ID4KPiA+ICAgICAgYXZfaGFzaHRhYmxlX2ZyZWVw
KCZjdHgtPmNvbG9yX2h0KTsKPiA+ICAgICAgYXZfaGFzaHRhYmxlX2ZyZWVwKCZjdHgtPmx1dF9o
dCk7Cj4gPiArICAgIGF2X2hhc2h0YWJsZV9mcmVlcCgmY3R4LT5jb21ib19odCk7Cj4gPgo+ID4g
ICAgICByZXR1cm4gMDsKPiA+ICB9Cj4gPiBkaWZmIC0tZ2l0IGEvdGVzdHMvcmVmL2ZhdGUvZHh2
M2VuYy1keHQxIGIvdGVzdHMvcmVmL2ZhdGUvZHh2M2VuYy1keHQxCj4gPiBpbmRleCA3NDg0OWE4
MDMxLi5lMDkwMDBlMTgxIDEwMDY0NAo+ID4gLS0tIGEvdGVzdHMvcmVmL2ZhdGUvZHh2M2VuYy1k
eHQxCj4gPiArKysgYi90ZXN0cy9yZWYvZmF0ZS9keHYzZW5jLWR4dDEKPiA+IEBAIC0zLDQgKzMs
NCBAQAo+ID4gICNjb2RlY19pZCAwOiBkeHYKPiA+ICAjZGltZW5zaW9ucyAwOiAxOTIweDEwODAK
PiA+ICAjc2FyIDA6IDEvMQo+ID4gLTAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAgICAgICAx
LCAgICA3NjUyMSwgMHhlZDM4N2E1ZQo+ID4gKzAsICAgICAgICAgIDAsICAgICAgICAgIDAsICAg
ICAgICAxLCAgICA3NjE5MCwgMHgwZTZmMDMyNgo+Cj4gSXMgcGFkZGluZyB0aGUgcmVhc29uIGZv
ciB0aGlzIGNoYW5nZSBvciBpcyBpdCB0aGUgbmV3IGhhc2h0YWJsZT8gT3IgYm90aD8KPgpCb3Ro
LiBGb3IgbW9yZSBjb250ZXh0LCB0aGUgcGFkZGluZyBpcyBzb2xlbHkgZm9yIHBsYXllciBjb21w
YXRpYmlsaXR5CndoaWxlIHRoZSBuZXcgaGFzaHRhYmxlIG9wdGltaXplIG91dHB1dCBmaWxlIHNp
emUuCldpdGggYm90aCBJIHNlZSBpZGVudGljYWwgcGFja2V0cyB0byB0aGUgZGUgZmFjdG8gY2xv
c2VkIHNvdXJjZSBlbmNvZGVyCihSZXNvbHVtZSBBbGxleSkgZ2l2ZW4gdGhlIHNhbWUgRFhUMSB0
ZXh0dXJlIGdvaW5nIGludG8gZHh2X2NvbXByZXNzX2R4dDEuCgo+Cj4gLSBBbmRyZWFzCj4KPiBf
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwo+IGZmbXBlZy1k
ZXZlbCBtYWlsaW5nIGxpc3QKPiBmZm1wZWctZGV2ZWxAZmZtcGVnLm9yZwo+IGh0dHBzOi8vZmZt
cGVnLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ZmbXBlZy1kZXZlbAo+Cj4gVG8gdW5zdWJzY3JpYmUs
IHZpc2l0IGxpbmsgYWJvdmUsIG9yIGVtYWlsCj4gZmZtcGVnLWRldmVsLXJlcXVlc3RAZmZtcGVn
Lm9yZyB3aXRoIHN1YmplY3QgInVuc3Vic2NyaWJlIi4KPgpfX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fXwpmZm1wZWctZGV2ZWwgbWFpbGluZyBsaXN0CmZmbXBl
Zy1kZXZlbEBmZm1wZWcub3JnCmh0dHBzOi8vZmZtcGVnLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2Zm
bXBlZy1kZXZlbAoKVG8gdW5zdWJzY3JpYmUsIHZpc2l0IGxpbmsgYWJvdmUsIG9yIGVtYWlsCmZm
bXBlZy1kZXZlbC1yZXF1ZXN0QGZmbXBlZy5vcmcgd2l0aCBzdWJqZWN0ICJ1bnN1YnNjcmliZSIu
Cg==