Re: [PATCH 2/2] lavc/vvc: add AVX2 planar intra prediction

Samith via ffmpeg-devel <[email protected]> Mon, 3 Aug 2026 12:35:38 +0530
Newsgroups gmane.comp.video.ffmpeg.devel
Message-ID <CAHMSqL49_KpfKZVQnaX8FAejtqfwyQA9_fpF2+4jVwKM4NaJtQ@mail.gmail.com>
SGksDQoNCkdlbnRsZSBwaW5nIG9uIHRoaXMgc2VyaWVzLiBJdCBhZGRzIGFuIEFWWDIgaW1wbGVt
ZW50YXRpb24gb2YgdGhlIFZWQw0KcGxhbmFyIGludHJhIHByZWRpY3Rpb24ga2VybmVsICg4LWJp
dCksIHdpdGggYSBjaGVja2FzbSB0ZXN0LiBJdCBzdGlsbA0KYXBwbGllcyBjbGVhbmx5IHRvIGN1
cnJlbnQgbWFzdGVyIGFuZCBwYXNzZXMgY2hlY2thc20gYW5kIGZhdGUtdnZjLg0KDQpJJ2QgYXBw
cmVjaWF0ZSBhbnkgcmV2aWV3IG9yIGZlZWRiYWNrIHdoZW4gc29tZW9uZSBoYXMgdGltZS4NCg0K
VGhhbmtzLA0KU2FtaXRoDQoNCk9uIFN1biwgSnVsIDI2LCAyMDI2IGF0IDM6MDfigK9BTSBHdWRp
a2FuZHVsYSBTYW1pdGgNCjxzYW1pdGgyNTA5MjAwNEBnbWFpbC5jb20+IHdyb3RlOg0KPg0KPiBJ
bXBsZW1lbnRzIHByZWRfcGxhbmFyIGZvciB4ODYtNjQgQVZYMiBhdCA4IGJpdC4NCj4NCj4gQmVu
Y2htYXJrcyBvbiBBTUQgUnl6ZW4gNyA1ODI1VToNCj4gICB2dmNfcHJlZF9wbGFuYXJfNHg0Xzhf
YzogICAgICAgICA1Mi44DQo+ICAgdnZjX3ByZWRfcGxhbmFyXzR4NF84X2F2eDI6ICAgICAgMjQu
MSAoMi4xNngpDQo+ICAgdnZjX3ByZWRfcGxhbmFyXzh4OF84X2M6ICAgICAgICAyMDguMw0KPiAg
IHZ2Y19wcmVkX3BsYW5hcl84eDhfOF9hdngyOiAgICAgIDQ4LjMgKDQuMzF4KQ0KPiAgIHZ2Y19w
cmVkX3BsYW5hcl8xNngxNl84X2M6ICAgICAgNzc4LjANCj4gICB2dmNfcHJlZF9wbGFuYXJfMTZ4
MTZfOF9hdngyOiAgIDE2MC40ICg0LjgweCkNCj4gICB2dmNfcHJlZF9wbGFuYXJfMzJ4MzJfOF9j
OiAgICAgMjM1Ni4wDQo+ICAgdnZjX3ByZWRfcGxhbmFyXzMyeDMyXzhfYXZ4MjogICA1ODAuMyAo
NC4wMngpDQo+ICAgdnZjX3ByZWRfcGxhbmFyXzY0eDY0XzhfYzogICAgIDc0MTQuMA0KPiAgIHZ2
Y19wcmVkX3BsYW5hcl82NHg2NF84X2F2eDI6ICAyMTg1LjkgKDMuMjd4KQ0KPg0KPiBTaWduZWQt
b2ZmLWJ5OiBHdWRpa2FuZHVsYSBTYW1pdGggPHNhbWl0aDI1MDkyMDA0QGdtYWlsLmNvbT4NCj4g
LS0tDQo+ICBsaWJhdmNvZGVjL3g4Ni92dmMvTWFrZWZpbGUgICB8ICAgMSArDQo+ICBsaWJhdmNv
ZGVjL3g4Ni92dmMvZHNwX2luaXQuYyB8ICAxMyArKw0KPiAgbGliYXZjb2RlYy94ODYvdnZjL2lu
dHJhLmFzbSAgfCAyMjQgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKw0KPiAgMyBm
aWxlcyBjaGFuZ2VkLCAyMzggaW5zZXJ0aW9ucygrKQ0KPiAgY3JlYXRlIG1vZGUgMTAwNjQ0IGxp
YmF2Y29kZWMveDg2L3Z2Yy9pbnRyYS5hc20NCj4NCj4gZGlmZiAtLWdpdCBhL2xpYmF2Y29kZWMv
eDg2L3Z2Yy9NYWtlZmlsZSBiL2xpYmF2Y29kZWMveDg2L3Z2Yy9NYWtlZmlsZQ0KPiBpbmRleCAw
Y2ViZmI0ZTllLi5iMjRlYTZlNjkyIDEwMDY0NA0KPiAtLS0gYS9saWJhdmNvZGVjL3g4Ni92dmMv
TWFrZWZpbGUNCj4gKysrIGIvbGliYXZjb2RlYy94ODYvdnZjL01ha2VmaWxlDQo+IEBAIC00LDYg
KzQsNyBAQCBjbGVhbjo6DQo+ICBYODZBU00tT0JKUy0kKENPTkZJR19WVkNfREVDT0RFUikgICAg
ICArPSB4ODYvdnZjL2RzcF9pbml0Lm8gICAgICAgIFwNCj4gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHg4Ni92dmMvYWxmLm8gICAgICAgICAgICAgXA0KPiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeDg2L3Z2Yy9kbXZyLm8gICAg
ICAgICAgICBcDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4
ODYvdnZjL2ludHJhLm8gICAgICAgICAgIFwNCj4gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHg4Ni92dmMvbWMubyAgICAgICAgICAgICAgXA0KPiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeDg2L3Z2Yy9vZi5vICAgICAgICAgICAg
ICBcDQo+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4ODYvdnZj
L3NhZC5vICAgICAgICAgICAgIFwNCj4gZGlmZiAtLWdpdCBhL2xpYmF2Y29kZWMveDg2L3Z2Yy9k
c3BfaW5pdC5jIGIvbGliYXZjb2RlYy94ODYvdnZjL2RzcF9pbml0LmMNCj4gaW5kZXggNjgwMjI5
NDc5NS4uNGYxODdlMWViMSAxMDA2NDQNCj4gLS0tIGEvbGliYXZjb2RlYy94ODYvdnZjL2RzcF9p
bml0LmMNCj4gKysrIGIvbGliYXZjb2RlYy94ODYvdnZjL2RzcF9pbml0LmMNCj4gQEAgLTI5Miw2
ICsyOTIsMTYgQEAgdm9pZCBiZihmZl92dmNfYWxmX2ZpbHRlcl9jaHJvbWEsIGJkLCBvcHQpKHVp
bnQ4X3QgKmRzdCwgcHRyZGlmZl90IGRzdF9zdHJpZGUsIFwNCj4gICAgICBjLT5hbGYuY2xhc3Np
ZnkgICAgICAgPSBiZih2dmNfYWxmX2NsYXNzaWZ5LCBiZCwgb3B0KTsgICAgICAgICAgICAgICAg
ICAgICBcDQo+ICB9IHdoaWxlICgwKQ0KPg0KPiArI2RlZmluZSBJTlRSQV9QUk9UT1RZUEUoYmQs
IG9wdCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwNCj4g
K3ZvaWQgZmZfdnZjX3ByZWRfcGxhbmFyXyMjYmQjI18jI29wdCh1aW50OF90ICpzcmMsIGNvbnN0
IHVpbnQ4X3QgKnRvcCwgICAgICAgICBcDQo+ICsgICAgY29uc3QgdWludDhfdCAqbGVmdCwgaW50
IHcsIGludCBoLCBwdHJkaWZmX3Qgc3RyaWRlKTsNCj4gKw0KPiArSU5UUkFfUFJPVE9UWVBFKDgs
IGF2eDIpDQo+ICsNCj4gKyNkZWZpbmUgSU5UUkFfSU5JVChiZCwgb3B0KSBkbyB7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcDQo+ICsgICAgYy0+aW50cmEu
cHJlZF9wbGFuYXIgPSBmZl92dmNfcHJlZF9wbGFuYXJfIyNiZCMjXyMjb3B0OyAgICAgICAgICAg
ICAgICAgICAgXA0KPiArfSB3aGlsZSAoMCkNCj4gKw0KPiAgI2VuZGlmDQo+DQo+DQo+IEBAIC0z
MjEsNiArMzMxLDkgQEAgYXZfY29sZCB2b2lkIGZmX3Z2Y19kc3BfaW5pdF94ODYoVlZDRFNQQ29u
dGV4dCAqY29uc3QgYywgY29uc3QgaW50IGJkKQ0KPiAgICAgICAgICAgICAgLy8gZmlsdGVyDQo+
ICAgICAgICAgICAgICBBTEZfSU5JVCg4LCBhdngyKTsNCj4gICAgICAgICAgICAgIFNBT19JTklU
KDgsIGF2eDIpOw0KPiArDQo+ICsgICAgICAgICAgICAvLyBpbnRyYQ0KPiArICAgICAgICAgICAg
SU5UUkFfSU5JVCg4LCBhdngyKTsNCj4gICAgICAgICAgfQ0KPiAgI2VuZGlmDQo+ICAgICAgICAg
IGJyZWFrOw0KPiBkaWZmIC0tZ2l0IGEvbGliYXZjb2RlYy94ODYvdnZjL2ludHJhLmFzbSBiL2xp
YmF2Y29kZWMveDg2L3Z2Yy9pbnRyYS5hc20NCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4gaW5k
ZXggMDAwMDAwMDAwMC4uYzE4YzE3MTkzYQ0KPiAtLS0gL2Rldi9udWxsDQo+ICsrKyBiL2xpYmF2
Y29kZWMveDg2L3Z2Yy9pbnRyYS5hc20NCj4gQEAgLTAsMCArMSwyMjQgQEANCj4gKzsgLyoNCj4g
KzsgKiBQcm92aWRlIFNJTUQgcGxhbmFyIGludHJhIHByZWRpY3Rpb24gZnVuY3Rpb25zIGZvciBW
VkMgZGVjb2RpbmcNCj4gKzsgKg0KPiArOyAqIENvcHlyaWdodCAoYykgMjAyNiBHdWRpa2FuZHVs
YSBTYW1pdGggPHNhbWl0aDI1MDkyMDA0QGdtYWlsLmNvbT4NCj4gKzsgKg0KPiArOyAqIFRoaXMg
ZmlsZSBpcyBwYXJ0IG9mIEZGbXBlZy4NCj4gKzsgKg0KPiArOyAqIEZGbXBlZyBpcyBmcmVlIHNv
ZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3INCj4gKzsgKiBtb2RpZnkgaXQg
dW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljDQo+ICs7ICog
TGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0
aGVyDQo+ICs7ICogdmVyc2lvbiAyLjEgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlv
bikgYW55IGxhdGVyIHZlcnNpb24uDQo+ICs7ICoNCj4gKzsgKiBGRm1wZWcgaXMgZGlzdHJpYnV0
ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwNCj4gKzsgKiBidXQgV0lUSE9V
VCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZg0KPiAr
OyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4g
IFNlZSB0aGUgR05VDQo+ICs7ICogTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1v
cmUgZGV0YWlscy4NCj4gKzsgKg0KPiArOyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNv
cHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMNCj4gKzsgKiBMaWNlbnNlIGFsb25n
IHdpdGggRkZtcGVnOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlDQo+ICs7ICog
Rm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9u
LCBNQSAwMjExMC0xMzAxIFVTQQ0KPiArOyAqLw0KPiArDQo+ICslaW5jbHVkZSAibGliYXZ1dGls
L3g4Ni94ODZ1dGlsLmFzbSINCj4gKw0KPiArU0VDVElPTl9ST0RBVEEgMzINCj4gKw0KPiArcHdf
d20xeF93NDogIGR3ICAzLCAgMiwgIDEsICAwLCAgMCwgIDAsICAwLCAgMA0KPiArcHdfeHAxX3c0
OiAgIGR3ICAxLCAgMiwgIDMsICA0LCAgMCwgIDAsICAwLCAgMA0KPiArcHdfd20xeF93ODogIGR3
ICA3LCAgNiwgIDUsICA0LCAgMywgIDIsICAxLCAgMA0KPiArcHdfeHAxX3c4OiAgIGR3ICAxLCAg
MiwgIDMsICA0LCAgNSwgIDYsICA3LCAgOA0KPiArcHdfd20xeF93MTY6IGR3ICAxNSwgMTQsIDEz
LCAxMiwgMTEsIDEwLCAgOSwgIDgsICA3LCAgNiwgIDUsICA0LCAgMywgIDIsICAxLCAgMCAgOyAo
dyAtIDEgLSB4KQ0KPiArcHdfeHAxX3cxNjogIGR3ICAxLCAgMiwgIDMsICA0LCAgNSwgIDYsICA3
LCAgOCwgIDksIDEwLCAxMSwgMTIsIDEzLCAxNCwgMTUsIDE2ICA7ICh4ICsgMSkNCj4gK3B3X3dt
MXhfdzMyOiBkdyAgMzEsIDMwLCAyOSwgMjgsIDI3LCAyNiwgMjUsIDI0LCAyMywgMjIsIDIxLCAy
MCwgMTksIDE4LCAxNywgMTYsIFwNCj4gKyAgICAgICAgICAgICAgICAgMTUsIDE0LCAxMywgMTIs
IDExLCAxMCwgOSwgIDgsICA3LCAgNiwgIDUsICA0LCAgMywgIDIsICAxLCAgMA0KPiArcHdfeHAx
X3czMjogIGR3ICAxLCAgMiwgIDMsICA0LCAgNSwgIDYsICA3LCAgOCwgOSwgIDEwLCAxMSwgMTIs
IDEzLCAxNCwgMTUsIDE2LCBcDQo+ICsgICAgICAgICAgICAgICAgIDE3LCAxOCwgMTksIDIwLCAy
MSwgMjIsIDIzLCAyNCwgMjUsIDI2LCAyNywgMjgsIDI5LCAzMCwgMzEsIDMyDQo+ICtwd193bTF4
X3c2NDogZHcgIDYzLCA2MiwgNjEsIDYwLCA1OSwgNTgsIDU3LCA1NiwgNTUsIDU0LCA1MywgNTIs
IDUxLCA1MCwgNDksIDQ4LCBcDQo+ICsgICAgICAgICAgICAgICAgIDQ3LCA0NiwgNDUsIDQ0LCA0
MywgNDIsIDQxLCA0MCwgMzksIDM4LCAzNywgMzYsIDM1LCAzNCwgMzMsIDMyLCBcDQo+ICsgICAg
ICAgICAgICAgICAgIDMxLCAzMCwgMjksIDI4LCAyNywgMjYsIDI1LCAyNCwgMjMsIDIyLCAyMSwg
MjAsIDE5LCAxOCwgMTcsIDE2LCBcDQo+ICsgICAgICAgICAgICAgICAgIDE1LCAxNCwgMTMsIDEy
LCAxMSwgMTAsIDksICA4LCAgNywgIDYsICA1LCAgNCwgIDMsICAyLCAgMSwgIDANCj4gK3B3X3hw
MV93NjQ6ICBkdyAgMSwgIDIsICAzLCAgNCwgIDUsICA2LCAgNywgIDgsICA5LCAgMTAsIDExLCAx
MiwgMTMsIDE0LCAxNSwgMTYsIFwNCj4gKyAgICAgICAgICAgICAgICAgMTcsIDE4LCAxOSwgMjAs
IDIxLCAyMiwgMjMsIDI0LCAyNSwgMjYsIDI3LCAyOCwgMjksIDMwLCAzMSwgMzIsIFwNCj4gKyAg
ICAgICAgICAgICAgICAgMzMsIDM0LCAzNSwgMzYsIDM3LCAzOCwgMzksIDQwLCA0MSwgNDIsIDQz
LCA0NCwgNDUsIDQ2LCA0NywgNDgsIFwNCj4gKyAgICAgICAgICAgICAgICAgNDksIDUwLCA1MSwg
NTIsIDUzLCA1NCwgNTUsIDU2LCA1NywgNTgsIDU5LCA2MCwgNjEsIDYyLCA2MywgNjQNCj4gKw0K
PiArDQo+ICtTRUNUSU9OIC50ZXh0DQo+ICsNCj4gKyVpZiBBUkNIX1g4Nl82NA0KPiArJWlmIEhB
VkVfQVZYMl9FWFRFUk5BTA0KPiArDQo+ICtJTklUX1lNTSBhdngyDQo+ICsNCj4gKzsgUGVyLXJv
dyBzY2FsYXJzLCBicm9hZGNhc3QgaW50byB2ZWN0b3IgcmVnaXN0ZXJzOg0KPiArOyBtOCA9IEEg
PSAoaC0xLXkpDQo+ICs7IG05ID0gQiA9ICh5KzEpICogbGVmdFtoXQ0KPiArOyBtMTAgPSBDID0g
bGVmdFt5XQ0KPiArJW1hY3JvIFJPV19DT05TVEFOVFMgMA0KPiArICAgIG1vdiAgICAgICAgICAg
ZWF4LCByMTJkDQo+ICsgICAgc3ViICAgICAgICAgICBlYXgsIHIxMWQgICAgICAgICAgIDtBPSho
LTEteSkNCj4gKyAgICBtb3ZkICAgICAgICAgIHhtOCwgZWF4DQo+ICsgICAgdnBicm9hZGNhc3R3
ICAgbTgsIHhtOA0KPiArICAgIGxlYSAgICAgICAgICAgIGVheCwgW3IxMWQrMV0NCj4gKyAgICBp
bXVsICAgICAgICAgICBlYXgsIHIxMGQgICAgICAgICAgO0I9KHkrMSkqbGVmdFtoXQ0KPiArICAg
IG1vdmQgICAgICAgICAgIHhtOSwgZWF4DQo+ICsgICAgdnBicm9hZGNhc3R3ICAgIG05LCB4bTkN
Cj4gKyAgICBtb3Z6eCAgICAgICAgICAgZWF4LCBieXRlIFtsZWZ0cStyMTFdDQo+ICsgICAgbW92
ZCAgICAgICAgICAgeG0xMCwgZWF4DQo+ICsgICAgdnBicm9hZGNhc3R3ICAgbTEwLCB4bTEwDQo+
ICslZW5kbWFjcm8NCj4gKzsgQmxvY2stY29uc3RhbnQgc2V0dXAgc2hhcmVkIGJ5IGV2ZXJ5IHdp
ZHRoLg0KPiArOyAgJTEgPSBsb2d3IChpbW1lZGlhdGUpLCAlMiA9IHRvcFt3XSBieXRlIG9mZnNl
dCAoPXdpZHRoKQ0KPiArJW1hY3JvIFBMQU5BUl9TRVRVUCAyDQo+ICsgICAgbW92ICAgICAgICAg
ICAgcjEzZCwgaGQNCj4gKyAgICBic3IgICAgICAgICAgICAgcjZkLCBoZA0KPiArICAgIGxlYSAg
ICAgICAgICAgICByN2QsIFtyNmQgKyUxICsxXQ0KPiArICAgIG1vdiAgICAgICAgICAgICByOGQs
IGhkDQo+ICsgICAgc2hsICAgICAgICAgICAgIHI4ZCwgJTEgICAgICAgICAgO3NpemU9dypoPSBo
PDxsb2d3DQo+ICsgICAgbW92enggICAgICAgICAgIHI5ZCwgYnl0ZSBbdG9wcSArICUyXQ0KPiAr
ICAgIG1vdnp4ICAgICAgICAgIHIxMGQsIGJ5dGUgW2xlZnRxICtyMTNdDQo+ICsgICAgbW92ZCAg
ICAgICAgICAgIHhtMywgcjlkDQo+ICsgICAgdnBicm9hZGNhc3R3ICAgICBtMywgeG0zDQo+ICsg
ICAgbW92ZCAgICAgICAgICAgIHhtNCwgcjhkDQo+ICsgICAgdnBicm9hZGNhc3RkICAgICBtNCwg
eG00DQo+ICsgICAgbW92ZCAgICAgICAgICAgIHhtNSwgcjZkDQo+ICsgICAgbW92ZCAgICAgICAg
ICAgICB4bTYsIHI3ZA0KPiArICAgIG1vdiAgICAgICAgICAgICByMTJkLCBoZA0KPiArICAgIGRl
YyAgICAgICAgICAgICByMTJkDQo+ICsgICAgeG9yICAgICAgICAgICAgIHIxMWQsIHIxMWQNCj4g
KyVlbmRtYWNybw0KPiArDQo+ICs7IFByb2Nlc3MgMTYgY29sdW1ucyBzdGFydGluZyBhdCBjb2x1
bW4gb2Zmc2V0ICUzLg0KPiArOyAgICUxID0gKHctMS14KSB0YWJsZSwgJTIgPSAoeCsxKSB0YWJs
ZSwgJTMgPSBjb2x1bW4gb2Zmc2V0LCAlNCA9IGxvZ3cgaW1tZWRpYXRlDQo+ICslbWFjcm8gUExB
TkFSMTYgNA0KPiArICAgIHBtb3Z6eGJ3ICAgICAgICAgbTAsIFt0b3BxKyUzXQ0KPiArICAgIG1v
dnUgICAgICAgICAgICAgbTEsIFslMSArICUzKjJdDQo+ICsgICAgbW92dSAgICAgICAgICAgICBt
MiwgWyUyICsgJTMqMl0NCj4gKyAgICB2cG11bGx3ICAgICAgICAgIG0xMSwgbTAsIG04DQo+ICsg
ICAgdnBhZGR3ICAgICAgICAgICBtMTEsIG0xMSwgbTkNCj4gKyAgICB2cG11bGx3ICAgICAgICAg
IG0xMiwgbTEsIG0xMA0KPiArICAgIHZwbXVsbHcgICAgICAgICAgIG0yLCBtMiwgbTMNCj4gKyAg
ICB2cGFkZHcgICAgICAgICAgIG0xMiwgbTEyLCBtMg0KPiArICAgIHBtb3Z6eHdkICAgICAgICAg
bTEzLCB4bTExDQo+ICsgICAgcG1vdnp4d2QgICAgICAgICBtMTQsIHhtMTINCj4gKyAgICB2cHNs
bGQgICAgICAgICAgIG0xMywgbTEzLCAlNA0KPiArICAgIHZwc2xsZCAgICAgICAgICAgbTE0LCBt
MTQsIHhtNQ0KPiArICAgIHZwYWRkZCAgICAgICAgICAgbTEzLCBtMTMsIG0xNA0KPiArICAgIHZw
YWRkZCAgICAgICAgICAgbTEzLCBtMTMsIG00DQo+ICsgICAgdnBzcmFkICAgICAgICAgICBtMTMs
IG0xMywgeG02DQo+ICsgICAgdmV4dHJhY3RpMTI4ICAgICB4bTExLCBtMTEsIDENCj4gKyAgICB2
ZXh0cmFjdGkxMjggICAgIHhtMTIsIG0xMiwgMQ0KPiArICAgIHBtb3Z6eHdkICAgICAgICAgbTE0
LCB4bTExDQo+ICsgICAgcG1vdnp4d2QgICAgICAgICBtMTUsIHhtMTINCj4gKyAgICB2cHNsbGQg
ICAgICAgICAgIG0xNCwgbTE0LCAlNA0KPiArICAgIHZwc2xsZCAgICAgICAgICAgbTE1LCBtMTUs
IHhtNQ0KPiArICAgIHZwYWRkZCAgICAgICAgICAgbTE0LCBtMTQsIG0xNQ0KPiArICAgIHZwYWRk
ZCAgICAgICAgICAgbTE0LCBtMTQsIG00DQo+ICsgICAgdnBzcmFkICAgICAgICAgICBtMTQsIG0x
NCwgeG02DQo+ICsgICAgcGFja3VzZHcgICAgICAgICBtMTMsIG0xMywgbTE0DQo+ICsgICAgdnBl
cm1xICAgICAgICAgICBtMTMsIG0xMywgMTEwMTEwMDBiDQo+ICsgICAgcGFja3Vzd2IgICAgICAg
ICBtMTMsIG0xMywgbTEzDQo+ICsgICAgdnBlcm1xICAgICAgICAgICBtMTMsIG0xMywgMTEwMTEw
MDBiDQo+ICsgICAgbW92dSAgIFtzcmNxICsgJTNdLCB4bTEzDQo+ICslZW5kbWFjcm8NCj4gKw0K
PiArOyBQcm9jZXNzIGEgbmFycm93IHJvdyBvZiA0IG9yIDggY29sdW1ucyAob2Zmc2V0IDApLg0K
PiArOyAgICUxID0gKHctMS14KSB0YWJsZSwgJTIgPSAoeCsxKSB0YWJsZSwgJTMgPSBsb2d3IGlt
bWVkaWF0ZSwgJTQgPSBzdG9yZSBpbnN0cnVjdGlvbg0KPiArJW1hY3JvIFBMQU5BUl9OQVJST1cg
NA0KPiArICAgIHBtb3Z6eGJ3ICAgICAgICAgIHhtMCwgW3RvcHFdDQo+ICsgICAgbW92dSAgICAg
ICAgICAgICAgeG0xLCBbJTFdDQo+ICsgICAgbW92dSAgICAgICAgICAgICAgeG0yLCBbJTJdDQo+
ICsgICAgdnBtdWxsdyAgICAgICAgICAgeG0xMSwgeG0wLCB4bTgNCj4gKyAgICB2cGFkZHcgICAg
ICAgICAgICB4bTExLCB4bTExLCB4bTkNCj4gKyAgICB2cG11bGx3ICAgICAgICAgICB4bTEyLCB4
bTEsIHhtMTANCj4gKyAgICB2cG11bGx3ICAgICAgICAgICB4bTIsIHhtMiwgeG0zDQo+ICsgICAg
dnBhZGR3ICAgICAgICAgICAgeG0xMiwgeG0xMiwgeG0yDQo+ICsgICAgcG1vdnp4d2QgICAgICAg
ICAgbTEzLCB4bTExDQo+ICsgICAgcG1vdnp4d2QgICAgICAgICAgbTE0LCB4bTEyDQo+ICsgICAg
dnBzbGxkICAgICAgICAgICAgbTEzLCBtMTMsICUzDQo+ICsgICAgdnBzbGxkICAgICAgICAgICAg
bTE0LCBtMTQsIHhtNQ0KPiArICAgIHZwYWRkZCAgICAgICAgICAgIG0xMywgbTEzLCBtMTQNCj4g
KyAgICB2cGFkZGQgICAgICAgICAgICBtMTMsIG0xMywgbTQNCj4gKyAgICB2cHNyYWQgICAgICAg
ICAgICBtMTMsIG0xMywgeG02DQo+ICsgICAgcGFja3VzZHcgICAgICAgICAgbTEzLCBtMTMsIG0x
Mw0KPiArICAgIHZwZXJtcSAgICAgICAgICAgIG0xMywgbTEzLCAxMTAxMTAwMGINCj4gKyAgICBw
YWNrdXN3YiAgICAgICAgICBtMTMsIG0xMywgbTEzDQo+ICsgICAgJTQgICAgICBbc3JjcV0sIHht
MTMNCj4gKyVlbmRtYWNybw0KPiArDQo+ICs7IHZvaWQgZmZfdnZjX3ByZWRfcGxhbmFyXzhfYXZ4
Mih1aW50OF90ICpzcmMsIGNvbnN0IHVpbnQ4X3QgKnRvcCwNCj4gKzsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QgKmxlZnQsIGludCB3LCBpbnQgaCwNCj4gKzsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB0cmRpZmZfdCBzdHJpZGUpOw0KPiArY2ds
b2JhbCB2dmNfcHJlZF9wbGFuYXJfOCwgNiwgMTQsIDE2LCBzcmMsIHRvcCwgbGVmdCwgdywgaCwg
c3RyaWRlDQo+ICsgICAgY21wICAgICAgICAgICAgIHdkLCAxNg0KPiArICAgIGplIC53MTYNCj4g
KyAgICBjbXAgICAgICAgICAgICAgd2QsIDgNCj4gKyAgICBqZSAudzgNCj4gKyAgICBjbXAgICAg
ICAgICAgICAgd2QsIDMyDQo+ICsgICAgamUgLnczMg0KPiArICAgIGNtcCAgICAgICAgICAgICB3
ZCwgNjQNCj4gKyAgICBqZSAudzY0DQo+ICsgICAgOyBmYWxsIHRocm91Z2ggdG8gd2lkdGggNA0K
PiArDQo+ICsudzQ6DQo+ICsgICAgUExBTkFSX1NFVFVQIDIsIDQNCj4gKy53NF9yb3c6DQo+ICsg
ICAgUk9XX0NPTlNUQU5UUw0KPiArICAgIFBMQU5BUl9OQVJST1cgcHdfd20xeF93NCwgcHdfeHAx
X3c0LCAyLCBtb3ZkDQo+ICsgICAgYWRkICAgICAgICAgICAgc3JjcSwgc3RyaWRlcQ0KPiArICAg
IGluYyAgICAgICAgICAgIHIxMWQNCj4gKyAgICBjbXAgICAgICAgICAgICByMTFkLCBoZA0KPiAr
ICAgIGpsIC53NF9yb3cNCj4gKyAgICBSRVQNCj4gKw0KPiArLnc4Og0KPiArICAgIFBMQU5BUl9T
RVRVUCAzLCA4DQo+ICsudzhfcm93Og0KPiArICAgIFJPV19DT05TVEFOVFMNCj4gKyAgICBQTEFO
QVJfTkFSUk9XIHB3X3dtMXhfdzgsIHB3X3hwMV93OCwgMywgbW92cQ0KPiArICAgIGFkZCAgICAg
ICAgICAgIHNyY3EsIHN0cmlkZXENCj4gKyAgICBpbmMgICAgICAgICAgICByMTFkDQo+ICsgICAg
Y21wICAgICAgICAgICAgcjExZCwgaGQNCj4gKyAgICBqbCAudzhfcm93DQo+ICsgICAgUkVUDQo+
ICsNCj4gKy53MTY6DQo+ICsgICAgUExBTkFSX1NFVFVQIDQsIDE2DQo+ICsudzE2X3JvdzoNCj4g
KyAgICBST1dfQ09OU1RBTlRTDQo+ICsgICAgUExBTkFSMTYgcHdfd20xeF93MTYsIHB3X3hwMV93
MTYsIDAsIDQNCj4gKyAgICBhZGQgICAgICAgICAgICBzcmNxLCBzdHJpZGVxDQo+ICsgICAgaW5j
ICAgICAgICAgICAgcjExZA0KPiArICAgIGNtcCAgICAgICAgICAgIHIxMWQsIGhkDQo+ICsgICAg
amwgLncxNl9yb3cNCj4gKyAgICBSRVQNCj4gKw0KPiArLnczMjoNCj4gKyAgICBQTEFOQVJfU0VU
VVAgNSwgMzINCj4gKy53MzJfcm93Og0KPiArICAgIFJPV19DT05TVEFOVFMNCj4gKyAgICBQTEFO
QVIxNiBwd193bTF4X3czMiwgcHdfeHAxX3czMiwgMCwgIDUNCj4gKyAgICBQTEFOQVIxNiBwd193
bTF4X3czMiwgcHdfeHAxX3czMiwgMTYsIDUNCj4gKyAgICBhZGQgICAgICAgICAgICBzcmNxLCBz
dHJpZGVxDQo+ICsgICAgaW5jICAgICAgICAgICAgcjExZA0KPiArICAgIGNtcCAgICAgICAgICAg
IHIxMWQsIGhkDQo+ICsgICAgamwgLnczMl9yb3cNCj4gKyAgICBSRVQNCj4gKw0KPiArLnc2NDoN
Cj4gKyAgICBQTEFOQVJfU0VUVVAgNiwgNjQNCj4gKy53NjRfcm93Og0KPiArICAgIFJPV19DT05T
VEFOVFMNCj4gKyAgICBQTEFOQVIxNiBwd193bTF4X3c2NCwgcHdfeHAxX3c2NCwgMCwgIDYNCj4g
KyAgICBQTEFOQVIxNiBwd193bTF4X3c2NCwgcHdfeHAxX3c2NCwgMTYsIDYNCj4gKyAgICBQTEFO
QVIxNiBwd193bTF4X3c2NCwgcHdfeHAxX3c2NCwgMzIsIDYNCj4gKyAgICBQTEFOQVIxNiBwd193
bTF4X3c2NCwgcHdfeHAxX3c2NCwgNDgsIDYNCj4gKyAgICBhZGQgICAgICAgICAgICBzcmNxLCBz
dHJpZGVxDQo+ICsgICAgaW5jICAgICAgICAgICAgcjExZA0KPiArICAgIGNtcCAgICAgICAgICAg
IHIxMWQsIGhkDQo+ICsgICAgamwgLnc2NF9yb3cNCj4gKyAgICBSRVQNCj4gKw0KPiArJWVuZGlm
DQo+ICslZW5kaWYNCj4gLS0NCj4gMi41My4wDQo+DQpfX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fXwpmZm1wZWctZGV2ZWwgbWFpbGluZyBsaXN0IC0tIGZmbXBl
Zy1kZXZlbEBmZm1wZWcub3JnClRvIHVuc3Vic2NyaWJlIHNlbmQgYW4gZW1haWwgdG8gZmZtcGVn
LWRldmVsLWxlYXZlQGZmbXBlZy5vcmcK