Re: A deficiency in lucene code that affects memory footprint and GC

"Misha Dmitriev via java-user" <[email protected]> Tue, 27 Jan 2026 00:25:25 +0000
Newsgroups gmane.comp.jakarta.lucene.user
Message-ID <CH9PR21MB58564C5EA6067BA3B381C22CC290A@CH9PR21MB5856.namprd21.prod.outlook.com>
--_000_CH9PR21MB58564C5EA6067BA3B381C22CC290ACH9PR21MB5856namp_
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64

QW5kIHRvIGNsb3NlIHRoZSBsb29wLCBoZXJlIGlzIG15IFBSOiBodHRwczovL2dpdGh1Yi5jb20v
YXBhY2hlL2x1Y2VuZS9wdWxsLzE1NjE4DQoNClRoYW5rIHlvdSBhZ2FpbiBmb3IgeW91ciBoZWxw
IGV2ZXJ5Ym9keSwgYW5kIGxvb2tpbmcgZm9yd2FyZCB0byB5b3VyIHJldmlld3MhDQoNCk1pc2hh
DQoNCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fDQpGcm9tOiBNaXNoYSBEbWl0cmll
diB2aWEgamF2YS11c2VyIDxqYXZhLXVzZXJAbHVjZW5lLmFwYWNoZS5vcmc+DQpTZW50OiBNb25k
YXksIEphbnVhcnkgMjYsIDIwMjYgMTo1MyBQTQ0KVG86IGphdmEtdXNlckBsdWNlbmUuYXBhY2hl
Lm9yZyA8amF2YS11c2VyQGx1Y2VuZS5hcGFjaGUub3JnPg0KQ2M6IE1pc2hhIERtaXRyaWV2IDxt
ZG1pdHJpZXZAbGlua2VkaW4uY29tPg0KU3ViamVjdDogUmU6IEEgZGVmaWNpZW5jeSBpbiBsdWNl
bmUgY29kZSB0aGF0IGFmZmVjdHMgbWVtb3J5IGZvb3RwcmludCBhbmQgR0MNCg0KVGhhbmsgeW91
IHZlcnkgbXVjaCwgYWxsLCBmb3IgeW91ciBxdWljayByZXNwb25zZXMhIEkndmUgYmVlbiBidXN5
IHdpdGggb3RoZXIgc3R1ZmYgcmVjZW50bHksIGJ1dCB3aWxsIHJlc3VtZSBteSBhdHRlbXB0cyB0
byBnZW5lcmF0ZSBhIGx1Y2VuZSBQUiBzb29uLg0KDQpJbiB0aGUgbWVhbnRpbWUsIG91ciBlYXJs
eSBleHBlcmltZW50cyBzZWVtIHRvIHN1Z2dlc3QgdGhhdCB3aXRoIG15IHByb3Bvc2VkIGNoYW5n
ZSwgd2UgY2FuIGltcHJvdmUgcGVyZm9ybWFuY2Ugb2Ygb25lIG9mIG91ciBTZWFyY2ggYXBwcyBi
eSAyMC4uMjUgcGVyIGNlbnQuIFNvIGF0IGxlYXN0IGZvciBvdXIgY29tcGFueSB0aGlzIG9wdGlt
aXphdGlvbiBpcyB2ZXJ5IHdvcnRod2hpbGUuDQoNCk1pc2hhDQoNCl9fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fDQpGcm9tOiBEYXdpZCBXZWlzcyA8ZGF3aWQud2Vpc3NAZ21haWwuY29t
Pg0KU2VudDogRnJpZGF5LCBKYW51YXJ5IDIzLCAyMDI2IDE6NTUgQU0NClRvOiBqYXZhLXVzZXJA
bHVjZW5lLmFwYWNoZS5vcmcgPGphdmEtdXNlckBsdWNlbmUuYXBhY2hlLm9yZz4NCkNjOiBNaXNo
YSBEbWl0cmlldiA8bWRtaXRyaWV2QGxpbmtlZGluLmNvbT4NClN1YmplY3Q6IFJlOiBBIGRlZmlj
aWVuY3kgaW4gbHVjZW5lIGNvZGUgdGhhdCBhZmZlY3RzIG1lbW9yeSBmb290cHJpbnQgYW5kIEdD
DQoNCg0KSGkgTWlzaGEsDQoNClVzaW5nIGEgZ2l0aHViIGZvcmsgYW5kIHB1bGwgcmVxdWVzdCBp
cyBieSBmYXIgdGhlIGJlc3Qgd2F5IHRvIGRvIGl0IGJlY2F1c2UgaXQgYWxsb3dzIGF1dG9tYXRl
ZCBjaGVja3MgdG8gYmUgcnVuLCBlYXNpZXIgcmV2aWV3cywgZXRjLiBJdCBpcyBhbHNvIGEgZ29v
ZCBsZWFybmluZyBleGVyY2lzZSB0byBnZXQgdXAgdG8gc3BlZWQgd2l0aCB3b3JraW5nIHdpdGgg
bXVsdGlwbGUgcmVtb3RlcyBpbiBnaXQsIGlmIHlvdSdyZSB3aWxsaW5nIHRvIGludmVzdCBzb21l
IHRpbWUgaW4gaXQgKHlvdSBjYW4gaGF2ZSBib3RoIHRoZSB1cHN0cmVhbSBsdWNlbmUgcmVwbyBh
bmQgeW91ciBvd24gZm9yayBhcyB0d28gcmVtb3RlcyBpbiB0aGUgc2FtZSBsb2NhbCBnaXQgY2xv
bmUpLg0KDQpEYXdpZA0KDQpPbiBGcmksIEphbiAyMywgMjAyNiBhdCAyOjMw4oCvQU0gTWlzaGEg
RG1pdHJpZXYgdmlhIGphdmEtdXNlciA8amF2YS11c2VyQGx1Y2VuZS5hcGFjaGUub3JnPG1haWx0
bzpqYXZhLXVzZXJAbHVjZW5lLmFwYWNoZS5vcmc+PiB3cm90ZToNCkhpIGFnYWluIERhdmlkLA0K
DQpGb3JnaXZlIG15IGlnbm9yYW5jZSwgc2luY2UgSSd2ZSBuZXZlciBjb250cmlidXRlZCB0byBs
dWNlbmUgb3IgYXBhY2hlIGJlZm9yZS4gSSBjcmVhdGVkIGEgZ2l0IGJyYW5jaCBiYXNlZCBvbiBs
dWNlbmUgbWFpbiBicmFuY2ggbG9jYWxseSwgbWFkZSwgYnVpbGQsIGNoZWNrZWQgYW5kIGNvbW1p
dGVkIG15IGZpeCwgYW5kIHRoZW4gdHJpZWQgdG8gY3JlYXRlIGEgUFIgYnkgcHVzaGluZyB0aGF0
IGJyYW5jaCwgc2VlIGJlbG93LiBVbmZvcnR1bmF0ZWx5LCBJIGdldCBhbiBlcnJvci4gSSB1c2Vk
IGEgY2xhc3NpYyBQQVQgYXMgYSBwYXNzd29yZCwgc28gdGhlIHByb2JsZW0gc2VlbXMgdG8gYmUg
bm90IHdpdGggcGFzc3dvcmQgaXRzZWxmLCBidXQgd2l0aCBub3QgaGF2aW5nIHNvbWUgImFjY2Vz
cyByaWdodHMiLiBDb3VsZCB5b3UgcGxlYXNlIHRha2UgYSBsb29rPyBJIGFtIHVzaW5nIG15IGdp
dGh1YiBsb2dpbiBjb3VudG1kbSwgZW1haWwgY291bnRtZG1AZ21haWwuY29tPG1haWx0bzpjb3Vu
dG1kbUBnbWFpbC5jb20+DQoNCk1pc2hhDQoNCg0KJCBnaXQgcHVzaCAtdSBvcmlnaW4gb3B0aW1p
emUtU1RFRi1tYWluDQpVc2VybmFtZSBmb3IgJ2h0dHBzOi8vbmFtMDYuc2FmZWxpbmtzLnByb3Rl
Y3Rpb24ub3V0bG9vay5jb20vP3VybD1odHRwcyUzQSUyRiUyRmdpdGh1Yi5jb20lMkYmZGF0YT0w
NSU3QzAyJTdDbWRtaXRyaWV2JTQwbGlua2VkaW4uY29tJTdDNDAzMWIyYzkyOWNlNGY4OWM1Mjgw
OGRlNWQyNTUzOGUlN0M3MmY5ODhiZjg2ZjE0MWFmOTFhYjJkN2NkMDExZGI0NyU3QzAlN0MwJTdD
NjM5MDUwNjEyMDc5NzEyNDUyJTdDVW5rbm93biU3Q1RXRnBiR1pzYjNkOGV5SkZiWEIwZVUxaGNH
a2lPblJ5ZFdVc0lsWWlPaUl3TGpBdU1EQXdNQ0lzSWxBaU9pSlhhVzR6TWlJc0lrRk9Jam9pVFdG
cGJDSXNJbGRVSWpveWZRJTNEJTNEJTdDMCU3QyU3QyU3QyZzZGF0YT1LaXJRRjE4SXRnU1pHZ1BW
YzBhQ3NlSloyUzlhVU53dU95VHNLektUQUVjJTNEJnJlc2VydmVkPTA8aHR0cHM6Ly9uYW0wNi5z
YWZlbGlua3MucHJvdGVjdGlvbi5vdXRsb29rLmNvbS8/dXJsPWh0dHBzJTNBJTJGJTJGZ2l0aHVi
LmNvbSUyRiZkYXRhPTA1JTdDMDIlN0NtZG1pdHJpZXYlNDBsaW5rZWRpbi5jb20lN0M0MDMxYjJj
OTI5Y2U0Zjg5YzUyODA4ZGU1ZDI1NTM4ZSU3QzcyZjk4OGJmODZmMTQxYWY5MWFiMmQ3Y2QwMTFk
YjQ3JTdDMCU3QzAlN0M2MzkwNTA2MTIwNzk3NDIxNTIlN0NVbmtub3duJTdDVFdGcGJHWnNiM2Q4
ZXlKRmJYQjBlVTFoY0draU9uUnlkV1VzSWxZaU9pSXdMakF1TURBd01DSXNJbEFpT2lKWGFXNHpN
aUlzSWtGT0lqb2lUV0ZwYkNJc0lsZFVJam95ZlElM0QlM0QlN0MwJTdDJTdDJTdDJnNkYXRhPVo2
ZEtMdzQxTDdPJTJGM3dsTCUyRjV2VGVhOUlZM3Y0U3BTcVpFb1RVdUtsdHIwJTNEJnJlc2VydmVk
PTA8aHR0cHM6Ly9naXRodWIuY29tLz4+JzogY291bnRtZG0NClBhc3N3b3JkIGZvciAnaHR0cHM6
Ly9uYW0wNi5zYWZlbGlua3MucHJvdGVjdGlvbi5vdXRsb29rLmNvbS8/dXJsPWh0dHBzJTNBJTJG
JTJGY291bnRtZG0lNDBnaXRodWIuY29tJTJGJmRhdGE9MDUlN0MwMiU3Q21kbWl0cmlldiU0MGxp
bmtlZGluLmNvbSU3QzQwMzFiMmM5MjljZTRmODljNTI4MDhkZTVkMjU1MzhlJTdDNzJmOTg4YmY4
NmYxNDFhZjkxYWIyZDdjZDAxMWRiNDclN0MwJTdDMCU3QzYzOTA1MDYxMjA3OTc1OTc4NiU3Q1Vu
a25vd24lN0NUV0ZwYkdac2IzZDhleUpGYlhCMGVVMWhjR2tpT25SeWRXVXNJbFlpT2lJd0xqQXVN
REF3TUNJc0lsQWlPaUpYYVc0ek1pSXNJa0ZPSWpvaVRXRnBiQ0lzSWxkVUlqb3lmUSUzRCUzRCU3
QzAlN0MlN0MlN0Mmc2RhdGE9QWtVMk9IcnhQY0k2Uk00cnNqVEd0NWh5cVlLekkxR05wRmdBQkh1
NERzOCUzRCZyZXNlcnZlZD0wPGh0dHBzOi8vbmFtMDYuc2FmZWxpbmtzLnByb3RlY3Rpb24ub3V0
bG9vay5jb20vP3VybD1odHRwcyUzQSUyRiUyRmNvdW50bWRtJTQwZ2l0aHViLmNvbSUyRiZkYXRh
PTA1JTdDMDIlN0NtZG1pdHJpZXYlNDBsaW5rZWRpbi5jb20lN0M0MDMxYjJjOTI5Y2U0Zjg5YzUy
ODA4ZGU1ZDI1NTM4ZSU3QzcyZjk4OGJmODZmMTQxYWY5MWFiMmQ3Y2QwMTFkYjQ3JTdDMCU3QzAl
N0M2MzkwNTA2MTIwNzk3NzU3MjglN0NVbmtub3duJTdDVFdGcGJHWnNiM2Q4ZXlKRmJYQjBlVTFo
Y0draU9uUnlkV1VzSWxZaU9pSXdMakF1TURBd01DSXNJbEFpT2lKWGFXNHpNaUlzSWtGT0lqb2lU
V0ZwYkNJc0lsZFVJam95ZlElM0QlM0QlN0MwJTdDJTdDJTdDJnNkYXRhPWw1ZTlTJTJGWCUyQkhl
JTJCV0UwNkVaWVRBMVVLaHp6UHpudzVSMTk4YllqY05OblklM0QmcmVzZXJ2ZWQ9MDxodHRwczov
L2NvdW50bWRtQGdpdGh1Yi5jb20vPj4nOg0KcmVtb3RlOiBQZXJtaXNzaW9uIHRvIGFwYWNoZS9s
dWNlbmUuZ2l0IGRlbmllZCB0byBjb3VudG1kbS4NCmZhdGFsOiB1bmFibGUgdG8gYWNjZXNzICdo
dHRwczovL25hbTA2LnNhZmVsaW5rcy5wcm90ZWN0aW9uLm91dGxvb2suY29tLz91cmw9aHR0cHMl
M0ElMkYlMkZnaXRodWIuY29tJTJGYXBhY2hlJTJGbHVjZW5lLmdpdCUyRiZkYXRhPTA1JTdDMDIl
N0NtZG1pdHJpZXYlNDBsaW5rZWRpbi5jb20lN0M0MDMxYjJjOTI5Y2U0Zjg5YzUyODA4ZGU1ZDI1
NTM4ZSU3QzcyZjk4OGJmODZmMTQxYWY5MWFiMmQ3Y2QwMTFkYjQ3JTdDMCU3QzAlN0M2MzkwNTA2
MTIwNzk3OTI2MTQlN0NVbmtub3duJTdDVFdGcGJHWnNiM2Q4ZXlKRmJYQjBlVTFoY0draU9uUnlk
V1VzSWxZaU9pSXdMakF1TURBd01DSXNJbEFpT2lKWGFXNHpNaUlzSWtGT0lqb2lUV0ZwYkNJc0ls
ZFVJam95ZlElM0QlM0QlN0MwJTdDJTdDJTdDJnNkYXRhPUtyUE5oRDByR0hOek03SkFpMmdZalk0
OTQwMXoxcXduakRRRnhoemdpNEElM0QmcmVzZXJ2ZWQ9MDxodHRwczovL2dpdGh1Yi5jb20vYXBh
Y2hlL2x1Y2VuZS5naXQvPic6IFRoZSByZXF1ZXN0ZWQgVVJMIHJldHVybmVkIGVycm9yOiA0MDMN
Cg0KX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18NCkZyb206IERhd2lkIFdlaXNzIDxk
YXdpZC53ZWlzc0BnbWFpbC5jb208bWFpbHRvOmRhd2lkLndlaXNzQGdtYWlsLmNvbT4+DQpTZW50
OiBXZWRuZXNkYXksIEphbnVhcnkgMjEsIDIwMjYgMTA6MjEgUE0NClRvOiBqYXZhLXVzZXJAbHVj
ZW5lLmFwYWNoZS5vcmc8bWFpbHRvOmphdmEtdXNlckBsdWNlbmUuYXBhY2hlLm9yZz4gPGphdmEt
dXNlckBsdWNlbmUuYXBhY2hlLm9yZzxtYWlsdG86amF2YS11c2VyQGx1Y2VuZS5hcGFjaGUub3Jn
Pj4NCkNjOiBNaXNoYSBEbWl0cmlldiA8bWRtaXRyaWV2QGxpbmtlZGluLmNvbTxtYWlsdG86bWRt
aXRyaWV2QGxpbmtlZGluLmNvbT4+DQpTdWJqZWN0OiBSZTogQSBkZWZpY2llbmN5IGluIGx1Y2Vu
ZSBjb2RlIHRoYXQgYWZmZWN0cyBtZW1vcnkgZm9vdHByaW50IGFuZCBHQw0KDQoNCkhpIE1pc2hh
LA0KDQpQbGVhc2UgcHJvdmlkZSBhIHB1bGwgcmVxdWVzdC4gU21hbGwsIGlzb2xhdGVkIGltcHJv
dmVtZW50cyBhcmUgZWFzaWVyIHRvIHJldmlldyBhbmQgcGFyc2UgYnkgdXMgdGhhbiBsYXJnZSBj
aGFuZ2VzIGJ1dCBhbGwgYXJlIHdlbGNvbWUuDQoNCkFsc28sIGEgbG90IG9mICh0cmFpbmVkKSBl
eWVzIGFyZSBsb29raW5nIGF0IHRoaXMgY29kZS4uLiB2ZXJ5IG9mdGVuIHRoZSByZXBvcnRzIG9m
IEx1Y2VuZSBub3QgcGVyZm9ybWluZyB3ZWxsIGFyZSBjYXVzZWQgYnkgd3JvbmcgdXNhZ2UgcmF0
aGVyIHRoYW4gcHJvYmxlbXMgd2l0aGluIHRoZSBpbXBsZW1lbnRhdGlvbiAtIGl0IHdvdWxkIGJl
IGdvb2QgdG8gc2hhcmUgdGhlIGVudGlyZSBjb250ZXh0IG9mIHdoZW4gdGhlIHByb2JsZW0gaXMg
aGFwcGVuaW5nIGFuZCB0aGUgY29udGV4dCBvZiBvY2N1cnJlbmNlLg0KDQpEYXdpZA0KDQpPbiBX
ZWQsIEphbiAyMSwgMjAyNiBhdCAxMToxM+KAr1BNIE1pc2hhIERtaXRyaWV2IHZpYSBqYXZhLXVz
ZXIgPGphdmEtdXNlckBsdWNlbmUuYXBhY2hlLm9yZzxtYWlsdG86amF2YS11c2VyQGx1Y2VuZS5h
cGFjaGUub3JnPjxtYWlsdG86amF2YS11c2VyQGx1Y2VuZS5hcGFjaGUub3JnPG1haWx0bzpqYXZh
LXVzZXJAbHVjZW5lLmFwYWNoZS5vcmc+Pj4gd3JvdGU6DQpIaSBMdWNlbmUgY29tbXVuaXR5LA0K
DQpBdCBMaW5rZWRJbiwgd2UgdXNlIGx1Y2VuZSBpbiBzb21lIGltcG9ydGFudCBzZWFyY2ggYXBw
cy4gV2UgcmVjZW50bHkgZm91bmQgc29tZSBwcm9ibGVtcyB3aXRoIEdDIGFuZCBtZW1vcnkgZm9v
dHByaW5nIGluIG9uZSBvZiB0aGVtLiBXZSB0b29rIGEgaGVhcCBkdW1wIGFuZCBhbmFseXplZCBp
dCB3aXRoIEpYUmF5IChodHRwczovL25hbTA2LnNhZmVsaW5rcy5wcm90ZWN0aW9uLm91dGxvb2su
Y29tLz91cmw9aHR0cHMlM0ElMkYlMkZqeHJheS5jb20lMkYmZGF0YT0wNSU3QzAyJTdDbWRtaXRy
aWV2JTQwbGlua2VkaW4uY29tJTdDNDAzMWIyYzkyOWNlNGY4OWM1MjgwOGRlNWQyNTUzOGUlN0M3
MmY5ODhiZjg2ZjE0MWFmOTFhYjJkN2NkMDExZGI0NyU3QzAlN0MwJTdDNjM5MDUwNjEyMDc5ODA4
NjAxJTdDVW5rbm93biU3Q1RXRnBiR1pzYjNkOGV5SkZiWEIwZVUxaGNHa2lPblJ5ZFdVc0lsWWlP
aUl3TGpBdU1EQXdNQ0lzSWxBaU9pSlhhVzR6TWlJc0lrRk9Jam9pVFdGcGJDSXNJbGRVSWpveWZR
JTNEJTNEJTdDMCU3QyU3QyU3QyZzZGF0YT1IM3B5REtMNExKdTUlMkJxOGc0aXo3N1NtY3JqRkxF
d0lSVmJkQTBjNnFqOUklM0QmcmVzZXJ2ZWQ9MDxodHRwczovL25hbTA2LnNhZmVsaW5rcy5wcm90
ZWN0aW9uLm91dGxvb2suY29tLz91cmw9aHR0cHMlM0ElMkYlMkZqeHJheS5jb20lMkYmZGF0YT0w
NSU3QzAyJTdDbWRtaXRyaWV2JTQwbGlua2VkaW4uY29tJTdDNDAzMWIyYzkyOWNlNGY4OWM1Mjgw
OGRlNWQyNTUzOGUlN0M3MmY5ODhiZjg2ZjE0MWFmOTFhYjJkN2NkMDExZGI0NyU3QzAlN0MwJTdD
NjM5MDUwNjEyMDc5ODIxODI2JTdDVW5rbm93biU3Q1RXRnBiR1pzYjNkOGV5SkZiWEIwZVUxaGNH
a2lPblJ5ZFdVc0lsWWlPaUl3TGpBdU1EQXdNQ0lzSWxBaU9pSlhhVzR6TWlJc0lrRk9Jam9pVFdG
cGJDSXNJbGRVSWpveWZRJTNEJTNEJTdDMCU3QyU3QyU3QyZzZGF0YT1hTXc3czhEbldXek5VNnRv
dlF1U3A0Nk9RUGlqcFhqbHBWRVo3Nll5V0FvJTNEJnJlc2VydmVkPTA+PGh0dHBzOi8vbmFtMDYu
c2FmZWxpbmtzLnByb3RlY3Rpb24ub3V0bG9vay5jb20vP3VybD1odHRwcyUzQSUyRiUyRmp4cmF5
LmNvbSUyRiZkYXRhPTA1JTdDMDIlN0NtZG1pdHJpZXYlNDBsaW5rZWRpbi5jb20lN0M0MDMxYjJj
OTI5Y2U0Zjg5YzUyODA4ZGU1ZDI1NTM4ZSU3QzcyZjk4OGJmODZmMTQxYWY5MWFiMmQ3Y2QwMTFk
YjQ3JTdDMCU3QzAlN0M2MzkwNTA2MTIwNzk4MzUzMDAlN0NVbmtub3duJTdDVFdGcGJHWnNiM2Q4
ZXlKRmJYQjBlVTFoY0draU9uUnlkV1VzSWxZaU9pSXdMakF1TURBd01DSXNJbEFpT2lKWGFXNHpN
aUlzSWtGT0lqb2lUV0ZwYkNJc0lsZFVJam95ZlElM0QlM0QlN0MwJTdDJTdDJTdDJnNkYXRhPTRM
b0dZMGR1ZmpaQ2VIUDBZWGR6WkhES0drZVM4NjI4RERTUGRtcDJDNm8lM0QmcmVzZXJ2ZWQ9MDxo
dHRwczovL2p4cmF5LmNvbS8+PikuIFVuZm9ydHVuYXRlbHksIHdlIGNhbm5vdCBzaGFyZSB0aGUg
ZW50aXJlIGp4cmF5IGFuYWx5c2lzIGR1ZSB0byBzZWN1cml0eSByZXN0cmljdGlvbnMsIGJ1dCB3
ZSBjYW4gc2hhcmUgb25lIGV4Y2VycHQgZnJvbSBpdCwgc2VlIGJlbG93LiBJdCBjb21lcyBmcm9t
IHNlY3Rpb24gMTEgb2YganhyYXkgcmVwb3J0LCDigJxCYWQgUHJpbWl0aXZlIEFycmF5c+KAnSwg
d2hpY2ggdGVsbHMgdXMgaG93IG11Y2ggbWVtb3J5IGlzIHdhc3RlZCBkdWUgdG8gZW1wdHkgb3Ig
dW5kZXItdXRpbGl6ZWQgcHJpbWl0aXZlIGFycmF5cy4gVGhhdCBzZWN0aW9uIHNheXMgdGhhdCBu
ZWFybHkgNEcgb2YgbWVtb3J5ICgyNS42JSBvZiB1c2VkIGhlYXApIGlzIHdhc3RlZC4gQW5kIGl0
IHR1cm5zIG91dCB0aGF0IG1vc3Qgb2YgdGhhdCBpcyBkdWUgdG8gYnl0ZVtdIGFycmF5cyBtYW5h
Z2VkIGJ5IFNlZ21lbnRUZXJtc0VudW1GcmFtZSBjbGFzcy4NCg0KW1hdDQoNClRvIGNsYXJpZnk6
IGZyb20gdGhlIGFib3ZlIHNjcmVlbnNob3QsIGUuZy4gODAlIG9mIGFsbCBhcnJheXMgcG9pbnRl
ZCBieSBzdWZmaXhCeXRlcyBkYXRhIGZpZWxkIGFyZSBqdXN0IGVtcHR5LCBpLmUuIGNvbnRhaW4g
b25seSB6ZXJvZXMsIHdoaWNoIGxpa2VseSBtZWFucyB0aGF0IHRoZXkgaGF2ZSBuZXZlciBiZWVu
IHVzZWQuIE9mIHRoZSByZW1haW5pbmcgYXJyYXlzLCAzJSBhcmUg4oCcdHJhaWwtMHPigJ0sIGku
ZS4gaGF2ZSBtb3JlIHRoYW4gYSBoYWxmIG9mIHRyYWlsaW5nIHplcm8gZWxlbWVudHMsIGkuZS4g
d2VyZSBvbmx5IHBhcnRpYWxseSB1dGlsaXplZC4gU28gb25seSAxNyUgb2YgdGhlc2UgYXJyYXlz
IGhhdmUgYmVlbiB1dGlsaXplZCBtb3JlIG9yIGxlc3MgZnVsbHkuIFRoZSBzYW1lIGlzIHRydWUg
Zm9yIGFsbCBvdGhlciBieXRlW10gYXJyYXlzIG1hbmFnZWQgYnkgU2VnbWVudFRlcm1zRW51bUZy
YW1lLiBOb3RlIHRoYXQgZnJvbSBvdGhlciBzZWN0aW9ucyBvZiB0aGUgaGVhcCBkdW1wIGl04oCZ
cyBjbGVhciB0aGF0IHRoZSBtYWpvcml0eSBvZiB0aGVzZSBvYmplY3RzIGFyZSBnYXJiYWdlLCBp
LmUuIHRoZXkgaGF2ZSBhbHJlYWR5IGJlZW4gdXNlZCBhbmQgZGlzY2FyZGVkLiBUaHVzLCBhdCBs
ZWFzdCA4MCUgb2YgbWVtb3J5IHRoYXQgd2FzIGFsbG9jYXRlZCBmb3IgdGhlc2UgYnl0ZVtdIGFy
cmF5cyBoYXMgbm90IGJlZW4gdXNlZCBhbmQgd2FzIHdhc3RlZC4gRnJvbSBzZXBhcmF0ZSBtZW1v
cnkgYWxsb2NhdGlvbiBwcm9maWxpbmcsIHdlIGVzdGltYXRlZCB0aGF0IHRoZXNlIGFycmF5cyBh
cmUgcmVzcG9uc2libGUgZm9yIH4yRy9zZWMgb2YgbWVtb3J5IGFsbG9jYXRpb24uIElmIHRoZXkg
d2VyZSBhbGxvY2F0ZWQgbGF6aWx5IHJhdGhlciB0aGFuIGVhZ2VybHksIGkuZS4ganVzdCBiZWZv
cmUgdGhleSB3b3VsZCBiZSByZWFsbHkgdXNlZCwgd2UgY291bGQgcG90ZW50aWFsbHkgcmVkdWNl
IHRoZWlyIG1lbW9yeSBhbGxvY2F0aW9uIHJhdGUgc2hhcmUgZnJvbSAyRy9zZWMgdG8gKDEgLSAw
LjgpKjIgPSAwLjQgRy9zZWMuDQoNCkEgc3dpdGNoIGZyb20gZWFnZXIgdG8gbGF6eSBhbGxvY2F0
aW9uIG9mIHNvbWUgZGF0YSBzdHJ1Y3R1cmUgaXMgdXN1YWxseSBlYXN5IHRvIGltcGxlbWVudC4g
TGV04oCZcyB0YWtlIGEgcXVpY2sgbG9vayBhdCB0aGUgc291cmNlIGNvZGU8aHR0cHM6Ly9uYW0w
Ni5zYWZlbGlua3MucHJvdGVjdGlvbi5vdXRsb29rLmNvbS8/dXJsPWh0dHBzJTNBJTJGJTJGZm9z
c2llcy5vcmclMkZsaW51eCUyRnd3dyUyRmx1Y2VuZS0xMC4zLjItc3JjLnRneiUyRmx1Y2VuZS0x
MC4zLjIlMkZsdWNlbmUlMkZiYWNrd2FyZC1jb2RlY3MlMkZzcmMlMkZqYXZhJTJGb3JnJTJGYXBh
Y2hlJTJGbHVjZW5lJTJGYmFja3dhcmRfY29kZWNzJTJGbHVjZW5lOTAlMkZibG9ja3RyZWUlMkZT
ZWdtZW50VGVybXNFbnVtRnJhbWUuamF2YSZkYXRhPTA1JTdDMDIlN0NtZG1pdHJpZXYlNDBsaW5r
ZWRpbi5jb20lN0M0MDMxYjJjOTI5Y2U0Zjg5YzUyODA4ZGU1ZDI1NTM4ZSU3QzcyZjk4OGJmODZm
MTQxYWY5MWFiMmQ3Y2QwMTFkYjQ3JTdDMCU3QzAlN0M2MzkwNTA2MTIwNzk4NDg2NjklN0NVbmtu
b3duJTdDVFdGcGJHWnNiM2Q4ZXlKRmJYQjBlVTFoY0draU9uUnlkV1VzSWxZaU9pSXdMakF1TURB
d01DSXNJbEFpT2lKWGFXNHpNaUlzSWtGT0lqb2lUV0ZwYkNJc0lsZFVJam95ZlElM0QlM0QlN0Mw
JTdDJTdDJTdDJnNkYXRhPWs0cEFHQ1lxcXdXU1p0UmZJQncwYSUyRmNpRmxSZGVTcEZBa1BpYWZW
QjZKRSUzRCZyZXNlcnZlZD0wPGh0dHBzOi8vZm9zc2llcy5vcmcvbGludXgvd3d3L2x1Y2VuZS0x
MC4zLjItc3JjLnRnei9sdWNlbmUtMTAuMy4yL2x1Y2VuZS9iYWNrd2FyZC1jb2RlY3Mvc3JjL2ph
dmEvb3JnL2FwYWNoZS9sdWNlbmUvYmFja3dhcmRfY29kZWNzL2x1Y2VuZTkwL2Jsb2NrdHJlZS9T
ZWdtZW50VGVybXNFbnVtRnJhbWUuamF2YT4+LiBUaGUgc3VmZml4Qnl0ZXMgYXJyYXkgdXNhZ2Ug
aGFzIHRoZSBmb2xsb3dpbmcgcGF0dGVybjoNCg0KLy8gRWFnZXIgY29uc3RydWN0aW9uIHdpdGgg
aGFyZGNvZGVkIHNpemUNCmJ5dGVbXSBzdWZmaXhCeXRlcyA9IG5ldyBieXRlWzEyOF07DQoNCuKA
piAgLy8gRmFzdCBmb3J3YXJkIHRvIHRoZSBsb2FkQmxvY2soKSBtZXRob2QNCuKApg0KaWYgKHN1
ZmZpeEJ5dGVzLmxlbmd0aCA8IG51bVN1ZmZpeEJ5dGVzKSB7DQogIC8vIElmIHdlIG5lZWQgdG8g
cmVhZCBtb3JlIHRoYW4gMTI4IGJ5dGVzLCBpbmNyZWFzZSB0aGUgYXJyYXnigKYNCiAgLy8g4oCm
IG9yIG1vcmUgcHJlY2lzZWx5LCB0aHJvdyBhd2F5IHRoZSBvbGQgYXJyYXkgYW5kIGFsbG9jYXRl
IGFub3RoZXIgb25lDQogIHN1ZmZpeEJ5dGVzID0gbmV3IGJ5dGVbQXJyYXlVdGlsLm92ZXJzaXpl
KG51bVN1ZmZpeEJ5dGVzLCAxKV07DQp9DQoNCkZyb20gdGhpcyBjb2RlLCBpdOKAmXMgY2xlYXIg
dGhhdCB0d28gbmVnYXRpdmUgdGhpbmdzIGNhbiBoYXBwZW46DQoNCiAgMS4NCnN1ZmZpeEJ5dGVz
IG1heSBub3QgYmUgdXNlZCBhdCBhbGwgKHRoZSBsb2FkQmxvY2soKSBtZXRob2QgbWF5IG5vdCBi
ZSBjYWxsZWQgb3IgbWF5IHJldHVybiBlYXJseSkuIFRoZSBtZW1vcnkgdXNlZCBieSB0aGUgYXJy
YXkgd2lsbCBiZSBjb21wbGV0ZWx5IHdhc3RlZA0KICAyLg0KSWYgbnVtU3VmZml4Qnl0ZXMgaGFw
cGVucyB0byBiZSBncmVhdGVyIHRoYW4gMTI4LCB0aGUgY3VycmVudCBlYWdlcmx5IGFsbG9jYXRl
ZCBhcnJheSB3aWxsIGJlIGRpc2NhcmRlZC4gVGhlIG1lbW9yeSB1c2VkIGJ5IGl0IHdpbGwgYmUg
d2FzdGVkLg0KDQpBbmQgYXMgb3VyIGhlYXAgZHVtcCBpbGx1c3RyYXRlcywgdGhlc2UgdGhpbmdz
IGxpa2VseSBoYXBwZW4gdmVyeSBvZnRlbi4gVG8gYWRkcmVzcyB0aGlzIHByb2JsZW0sIGl0IHdv
dWxkIGJlIHN1ZmZpY2llbnQgdG8gY2hhbmdlIHRoZSBjb2RlIGFzIGZvbGxvd3M6DQoNCi8vIEF2
b2lkIGVhZ2VyIGNvbnN0cnVjdGlvbg0KYnl0ZVtdIHN1ZmZpeEJ5dGVzOw0K4oCmDQppZiAoc3Vm
Zml4Qnl0ZSA9PSBudWxsIHx8IHN1ZmZpeEJ5dGVzLmxlbmd0aCA8IG51bVN1ZmZpeEJ5dGVzKSB7
DQogIC8vIElmIHdlIG5lZWQgdG8gcmVhZCBtb3JlIHRoYW4gMTI4IGJ5dGVzLCBpbmNyZWFzZSB0
aGUgYXJyYXnigKYNCiAgLy8g4oCmIG9yIG1vcmUgcHJlY2lzZWx5LCB0aHJvdyBhd2F5IHRoZSBv
bGQgYXJyYXkgYW5kIGFsbG9jYXRlIGFub3RoZXIgb25lDQogIHN1ZmZpeEJ5dGVzID0gbmV3IGJ5
dGVbQXJyYXlVdGlsLm92ZXJzaXplKG51bVN1ZmZpeEJ5dGVzLCAxKV07DQp9DQoNCk5vdGUgdGhh
dCByZWR1Y2luZyBtZW1vcnkgYWxsb2NhdGlvbiByYXRlIHJlc3VsdHMgcHJpbWFyaWx5IGluIHJl
ZHVjdGlvbiBvZiBDUFUgdXNhZ2UgYW5kL29yIGltcHJvdmVkIGxhdGVuY3kuIFRoYXTigJlzIGJl
Y2F1c2UgZWFjaCBvYmplY3QgYWxsb2NhdGlvbiByZXF1aXJlcyB3b3JrIGZyb20gdGhlIEpWTSAt
IHVwZGF0aW5nIHBvaW50ZXJzIGFuZCBzZXR0aW5nIGFsbCBvYmplY3QgYnl0ZXMgdG8gemVyby4g
QW5kIHRoZW4gR0NpbmcgdGhlc2Ugb2JqZWN0cyBpcyBhbHNvIENQVS1pbnRlbnNpdmUsIGFuZCBy
ZXN1bHRzIGluIHBhdXNpbmcgYXBwIHRocmVhZHMsIHdoaWNoIGFmZmVjdHMgbGF0ZW5jeS4gSG93
ZXZlciwgb25jZSBtZW1vcnkgYWxsb2NhdGlvbiByYXRlIGlzIHJlZHVjZWQsIGl0IG1heSBiZSBw
b3NzaWJsZSB0byBhbHNvIHJlZHVjZSB0aGUgSlZNIGhlYXAgbWVtb3J5LiBTbyB0aGUgdWx0aW1h
dGUgd2luIGlzIGdvaW5nIHRvIGJlIGluIGJvdGggQ1BVIGFuZCBtZW1vcnkuDQoNClBsZWFzZSBs
ZXQgdXMga25vdyBob3cgd2UgY2FuIHByb2NlZWQgd2l0aCB0aGlzLiBUaGUgcHJvcG9zZWQgY2hh
bmdlIGlzIHRyaXZpYWwsIGFuZCB0aHVzIG1heWJlIGl0IGNhbiBiZSBkb25lIHF1aWNrbHkgYnkg
c29tZSBlc3RhYmxpc2hlZCBMdWNlbmUgY29udHJpYnV0b3IuIElmIG5vdCwgSSBndWVzcyBJIGNh
biBtYWtlIGl0IG15c2VsZiBhbmQgdGhlbiBob3BlIHRoYXQgaXQgZ29lcyB0aHJvdWdoIHJldmll
dyBhbmQgcmVsZWFzZSBpbiByZWFzb25hYmxlIHRpbWUuDQoNCk1pc2hhDQoNCg==

--_000_CH9PR21MB58564C5EA6067BA3B381C22CC290ACH9PR21MB5856namp_--