RE: Suggestion needed for a case of Lucene Migration with TokenStream

"Saha, Rajib" <[email protected]> Fri, 30 May 2025 03:02:55 +0000
Newsgroups gmane.comp.jakarta.lucene.user
Message-ID <DB9PR02MB8371880A473BF0B16DDBB3159061A@DB9PR02MB8371.eurprd02.prod.outlook.com>
RGVhciBFeHBlcnRzLA0KDQpDYW4gc29tZWJvZHkgcGxlYXNlIGhlbHAgYW5kIGd1aWRlIG1lIGZv
ciB0aGUgYmVsb3cgcXVlcmllcz8NCkkgaGF2ZSBiZWNvbWUgYml0IGNsdWVsZXNzIG5vdywgYWZ0
ZXIgZ2l2aW5nIGEgZ29vZCBudW1iZXIgb2YgZGlmZmVyZW50IHRyaWVzLg0KDQpSZWdhcmRzDQpS
YWppYg0KDQotLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KRnJvbTogU2FoYSwgUmFqaWINClNl
bnQ6IDI3IE1heSAyMDI1IDExOjUyDQpUbzogamF2YS11c2VyQGx1Y2VuZS5hcGFjaGUub3JnDQpT
dWJqZWN0OiBSRTogU3VnZ2VzdGlvbiBuZWVkZWQgZm9yIGEgY2FzZSBvZiBMdWNlbmUgTWlncmF0
aW9uIHdpdGggVG9rZW5TdHJlYW0NCg0KSGkgVXdlLA0KDQpUaGFua3MgZm9yIHlvdXIgc3VnZ2Vz
dGlvbnMgdGlsbCBub3cuIFdlIGhhdmUgYmVlbiBhYmxlIHRvIHByb2NlZWQgZ29vZC4NCldlIGFy
ZSBub3cgc3R1Y2sgdG8gYSBwb2ludCwgd2hlcmUgd2UgbmVlZCBzb21lIHlvdXIgZXhwZXJ0IHN1
Z2dlc3Rpb24uDQoNCkFzIHBlciBvdXIgZGVzaWduLCBvbiBmdWxsIGNvbnRlbnQgaW5kZXhpbmcs
DQotIGluIGZpcnN0IHN0ZXAsIHRoZXJlIHdpbGwgc21hbGwgTHVjZW5lIGluZGV4IGZpbGVzIGdl
dHMgY3JlYXRlZCB3aXRoIDUtNiBkb2N1bWVudHMuIFdlIGNhbGxlZCBpdCBkZWx0YSBpbmRleCBm
aWxlcy4NCi0gaW4gc2Vjb25kIHN0ZXBzLCB3ZSB0cnkgdG8gbWVyZ2UgdGhlIGRlbHRhIGluZGV4
IGZpbGVzIHRvIG1hc3RlciBJbmRleCBGaWxlLg0KQmVsb3cgaXMgc25pcHBldCBvZiB0aGUgY29k
ZToNCj09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCkluZGV4V3JpdGVyIG1hc3RlckluZGV4
V3JpdGVyID0gbmV3IEluZGV4V3JpdGVyKGluZGV4RGlyLCBjb25maWcpOw0KRlNEaXJlY3Rvcnlb
XSBkZWx0YUluZGV4RGlycyA9IG5ldyBGU0RpcmVjdG9yeVtkZWx0YUluZGV4RGlyTGlzdC5zaXpl
KCldOw0KaW50IGogPSAwOw0KZm9yIChJdGVyYXRvcjxGU0RpcmVjdG9yeT4gaSA9IGRlbHRhSW5k
ZXhEaXJMaXN0Lml0ZXJhdG9yKCk7IGkuaGFzTmV4dCgpOyBqKyspIHsNCiAgICAgICAgZGVsdGFJ
bmRleERpcnNbal0gPSBpLm5leHQoKTsNCn0NCm1hc3RlckluZGV4V3JpdGVyLmFkZEluZGV4ZXMo
ZGVsdGFJbmRleERpcnMpOw0KPT09PT09PT09PT09PT09PT09PT09PT09PT09DQoNCkJ1dCBvbiBk
b2luZyBpdCwgd2UgYXJlIGdldHRpbmcgdGhlIGJlbG93IGV4Y2VwdGlvbi4NCkkgdHJpZWQgc2V2
ZXJhbCB0aGluZ3MuIEJ1dCwgY291bGQgbm90IGNvbWUgb3V0IG9mIHRoZSBwcm9ibGVtLg0KRG8g
eW91IHN1c3BlY3QgYW55dGhpbmcgaGVyZT8gQ2FuIHlvdSBwbGVhc2Ugc3VnZ2VzdCBzb21ldGhp
bmcgdG8gY29tZSBvdXQgb2YgdGhlIHByb2JsZW0/DQoNCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQ0KQ2F1Z2h0RXhjZXB0aW9uIHdoaWxlIE1lcmdpbmcgaW4g
THVjZW5lSW5kZXhFbmdpbmUgY2Fubm90IGNoYW5nZSBmaWVsZCAiYm9lLnNlYXJjaC53aWxkX2Rl
c2NyaXB0aW9uIiBmcm9tIGluZGV4IG9wdGlvbnM9RE9DU19BTkRfRlJFUVNfQU5EX1BPU0lUSU9O
U19BTkRfT0ZGU0VUUyB0byBpbmNvbnNpc3RlbnQgaW5kZXggb3B0aW9ucz1ET0NTX0FORF9GUkVR
U19BTkRfUE9TSVRJT05TDQpqYXZhLmxhbmcuSWxsZWdhbEFyZ3VtZW50RXhjZXB0aW9uOiBjYW5u
b3QgY2hhbmdlIGZpZWxkICJib2Uuc2VhcmNoLndpbGRfZGVzY3JpcHRpb24iIGZyb20gaW5kZXgg
b3B0aW9ucz1ET0NTX0FORF9GUkVRU19BTkRfUE9TSVRJT05TX0FORF9PRkZTRVRTIHRvIGluY29u
c2lzdGVudCBpbmRleCBvcHRpb25zPURPQ1NfQU5EX0ZSRVFTX0FORF9QT1NJVElPTlMNCiAgICAg
ICAgYXQgb3JnLmFwYWNoZS5sdWNlbmUuaW5kZXguRmllbGRJbmZvcyRGaWVsZE51bWJlcnMuYWRk
T3JHZXQoRmllbGRJbmZvcy5qYXZhOjMwOCkNCiAgICAgICAgYXQgb3JnLmFwYWNoZS5sdWNlbmUu
aW5kZXguSW5kZXhXcml0ZXIuYWRkSW5kZXhlcyhJbmRleFdyaXRlci5qYXZhOjI5ODQpDQogICAg
ICAgIGF0IGNvbS5zYXAuYnVzaW5lc3NvYmplY3RzLnBsYXRmb3JtLnNlYXJjaC5sdWNlbmUuaW5k
ZXguZW5naW5lLkx1Y2VuZUluZGV4RW5naW5lLm1lcmdlKEx1Y2VuZUluZGV4RW5naW5lLmphdmE6
OTgxKQ0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQoNClJl
Z2FyZHMNClJhamliDQoNCg0KLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCkZyb206IFV3ZSBT
Y2hpbmRsZXIgPHV3ZUB0aGV0YXBoaS5kZT4NClNlbnQ6IDMwIEFwcmlsIDIwMjUgMDI6MDMNClRv
OiBqYXZhLXVzZXJAbHVjZW5lLmFwYWNoZS5vcmcNClN1YmplY3Q6IFJlOiBTdWdnZXN0aW9uIG5l
ZWRlZCBmb3IgYSBjYXNlIG9mIEx1Y2VuZSBNaWdyYXRpb24gd2l0aCBUb2tlblN0cmVhbQ0KDQpJ
ZiB0aGlzIGlzIFdpbmRvd3MsIHRoZSBkZWxldGlvbiBtYXkgbm90IHdvcmsgaWYgdGhlcmUgYXJl
IHN0aWxsDQpJbmRleFJlYWRlcnMgb3IgV3JpdGVycyBvcGVuIGJ5IHNhbWUgb3Igb3RoZXIgcHJv
Y2Vzc2VzLg0KDQpPbiBMaW51eCBJIGhhdmUgbm8gaWRlYSwgbmVlZCBhbiBleGNlcHRpb24gbWVz
c2FnZS4gSXQgc2hvdWxkIGNsZWFybHkNCnNheSB3aHkgaXQgZmFpbHMuDQoNClV3ZQ0KDQpBbSAy
OS4wNC4yMDI1IHVtIDEzOjQ0IHNjaHJpZWIgU2FoYSwgUmFqaWI6DQo+IEhpIFV3ZSwNCj4NCj4g
SW4gb3VyIHByb2R1Y3Qgd2UgaGF2ZSBkaWZmZXJlbnQgbGV2ZWwgb2YgaW5kZXhpbmcgbGlrZSBN
ZXRhRGF0YS9GdWxsQ29udGVudCBpbmZvcm1hdGlvbiBvZiB0aGUgUmVwb3J0cy4NCj4gU28sIFJl
YnVpbGQgaW5kZXhpbmcgZGVsZXRlcyB0aGUgZXhpc3RpbmcgTHVjZW5lIGluZGV4IGZpbGVzIGFu
ZCBkbyBhIGZyZXNoIGluZGV4aW5nIG9mIGFsbCB0aGUgZG9jdW1lbnRzLg0KPg0KPiBXaGVuIHdl
IGRvIHBoeXNpY2FsbHkgZ29pbmcgdG8gZGlyZWN0b3J5IGFuZCBkZWxldGUgdGhlIEx1Y2VuZSBJ
bmRleCBmaWxlcy4gVGhlIFJlYnVpbGQgaW5kZXhpbmcgaXMgd29ya2luZyBmaW5lLg0KPiBCdXQs
IGZyb20gVUkgb2YgcHJvZHVjdCB3aGVuIHdlIGFyZSBzZWxlY3RpbmcgZm9yIFJlYnVpbGQgaW5k
ZXhpbmcsIEluZGV4aW5nIGlzIG5vdCBoYXBwZW5pbmcuDQo+DQo+IEkgYW0gZGVidWdnaW5nIG1v
cmUgZm9yIGl0LiBJIHdpbGwgdXBkYXRlIHlvdSBmdXJ0aGVyIG9uIGdldHRpbmcgYmV0dGVyIHBp
Y3R1cmUuIEFzIG91ciBjb2RlIGZvciB0aGUgQXJlYSBnb2VzIHdpdGggbXVsdGlwbGUgdGFza3Mg
YW5kIHRocmVhZC4gSXQgaXMgdGFraW5nIHRpbWUgdG8gZGVidWcuDQo+DQo+IEkgYW0gc3VzcGVj
dGluZywgdGhlcmUgbWF5IGJlIHNvbWUgbG9jayBpcyB0aGVyZSBpbiBMdWNlbmUgSW5kZXggZmls
ZXMsIGR1ZSB0byBvZiBpdCwgZGVsZXRlIG9mIEx1Y2VuZSBpbmRleCBmaWxlcyBhcmUgbm90IHdv
cmtpbmcgd2l0aCBzdG9wcGluZyB0aGUgc2VydmljZS4gQnV0LCB0aGlzIGlzIGEgZ3Vlc3MuIElu
dmVzdGlnYXRpb24gaXMgb24gZm9yIGl0Lg0KPiBEbyB5b3UgaGF2ZSBhbnkgc3VzcGVjdD8NCj4N
Cj4gUmVnYXJkcw0KPiBSYWppYg0KPg0KPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBG
cm9tOiBVd2UgU2NoaW5kbGVyIDx1d2VAdGhldGFwaGkuZGU+DQo+IFNlbnQ6IDI4IEFwcmlsIDIw
MjUgMTc6NTkNCj4gVG86IGphdmEtdXNlckBsdWNlbmUuYXBhY2hlLm9yZw0KPiBTdWJqZWN0OiBS
ZTogU3VnZ2VzdGlvbiBuZWVkZWQgZm9yIGEgY2FzZSBvZiBMdWNlbmUgTWlncmF0aW9uIHdpdGgg
VG9rZW5TdHJlYW0NCj4NCj4gSGksDQo+DQo+IHdoYXQgZG8geW91IG1lYW4gd2l0aDogIkJ1dCBz
YW1lIGNvbnRlbnQgb24gcmVidWlsZGluZyB0aGUgaW5kZXggaXMgbm90DQo+IHdvcmtpbmciPw0K
Pg0KPiBIb3cgZG8geW91IHJlYnVpbGQgdGhlIGluZGV4PyBJdCBpcyBub3QgZW5vdWdoIHRvIGp1
c3QgcmVhZCBhbGwNCj4gZG9jdW1lbnRzIGFzIHN0b3JlZCBmaWVsZHMgYW5kIHJlaW5kZXggdGhl
bS4gWW91IG5lZWQgdGhlIG9yaWdpbmFsDQo+IGRvY3VtZW50IGRhdGEgYW5kIGJhc2ljYWxseSBy
dW4gdGhlbSB0aG9ydWdoIHRoZSBzYW1lIHBpcGVsaW5lIHRoYXQgeW91DQo+IGFscmVhZHkgaGF2
ZSAoc28gdGhlIGluZGV4aW5nIHNob3VsZCBiZSBkb25lIGJ5IHRoZSBzYW1lIGNvZGUgdGhhdA0K
PiBpbmRleGVzIG5ldyBkb2N1bWVudHMpLiBTbyBJJ2Qgd3JpdGUgc29tZSBjb2RlIHRoYXQgcmVh
ZHMgdGhlIG9sZCBkYXRhDQo+IChpZiBwb3NzaWJsZSBmcm9tIHNvdXJjZSkgb3IgcmVhZHMgdGhl
IG9sZCBpbmRleCAoaWYgYWxsIGluZm9ybWF0aW9uDQo+IHRoYXQgd2FzIGluZGV4ZWQgaXMgYXZh
aWxhYmxlIGFzIHN0b3JlZCBmaWVsZHMsIHN5bnRoZXRpY2FsbHkgYnVpbGRzDQo+IGlucHV0IGRh
dGEgZm9yIHRoZSBuZXcgaW5kZXhlciBhbmQgc2VuZHMgaXQgdG8gdGhlIEFQSSAob3Igd2hhdGV2
ZXIgeW91DQo+IGhhdmUgZm9yIGluZGV4aW5nIGluIHlvdXIgbmV3IHN5c3RlbSkuDQo+DQo+IElm
IHlvdSBqdXN0IGhhdmUgaW5jb21wbGV0ZSBMdWNlbmUgRG9jdW1lbnQgaW5zdGFuY2VzIGZyb20g
dGhlIG9sZGVyDQo+IEx1Y2VuZSBpbmRleCwgSSB0aGluayB5b3UncmUgbG9zdC4gV2hlbiB5b3Ug
Y2Fubg0KPiBJbmRleFJlYWRlci9JbmRleFNlYXJjaGVyLmRvY3VtZW50KCksIHlvdSBvbmx5IGdl
dCBzdG9yZWQgZmllbGRzLCAtLSBidXQNCj4gdGhhdCdzIG5vdCBhbGwgaW5mb3JtYXRpb24gdGhh
dCB3YXMgb3JpZ2luYmFsbHkgdXNlZCBmb3IgaW5kZXhpbmcuDQo+IFJlYWRpbmcgZG9jdW1lbnRz
IGZyb20gSW5kZXhSZWFkZXIgYW5kIHBhc3NpbmcgaXQgdG8gSW5kZXhXcml0ZXIgZG9lcw0KPiBu
b3Qgd29yay4gSXQgd29ya3MgZnJvbSB0aGUgQVBJIHBvaW50IG9mIHZpZXcsIGJ1dCB0aGUgZGF0
YSBpcyBkaWZmZXJlbnQuDQo+DQo+IFV3ZQ0KPg0KPiBBbSAyOC4wNC4yMDI1IHVtIDEyOjQzIHNj
aHJpZWIgU2FoYSwgUmFqaWI6DQo+PiBIaSBVd2UsDQo+Pg0KPj4gVGhhbmsgeW91IGZvciB5b3Vy
IGRldGFpbGVkIGlucHV0IGFuZCB2YWx1YWJsZSBhZHZpY2UuIEkgZnVsbHkgdW5kZXJzdGFuZCBh
bmQgYWdyZWUgdGhhdCB1cGdyYWRpbmcgZnJvbSBzdWNoIGFuIG9sZCB2ZXJzaW9uIG9mIEx1Y2Vu
ZSBpbnZvbHZlcyBtdWNoIG1vcmUgdGhhbiBqdXN0IHJlc29sdmluZyBjb21waWxhdGlvbiBpc3N1
ZXMuDQo+PiBCYXNlZCBvbiB0aGUgbGF0ZXN0IEx1Y2VuZSB2ZXJzaW9uLCB3ZSBoYXZlIHJlZGVz
aWduZWQgb3VyIHBsYXRmb3JtIGFjY29yZGluZ2x5IGdvaW5nIHRocm91Z2ggdGhlIEx1Y2VuZSBB
UElzIHVzZWQgYW5kIHJlcGxhY2luZyBhY2NvcmRpbmdseSB0byBsYXRlc3QuDQo+Pg0KPj4gV2l0
aCB0aGVzZSBjaGFuZ2VzLCBGcmVzaCBjb250ZW50IGluZGV4aW5nIGlzIHdvcmtpbmcgZmluZS4g
U2VhcmNoIHJlc3VsdHMgYXJlIGFsc28gY29taW5nIGFzIGV4cGVjdGVkLg0KPj4gR3JlYXRseSBh
cHByZWNpYXRlIHlvdXIgZXhwZXJ0IGd1aWRhbmNlLCB0byBoZWxwIHRvIGJyaW5naW5nIHRpbGwg
dGhpcyBwb2ludC4NCj4+DQo+PiBCdXQgc2FtZSBjb250ZW50IG9uIHJlYnVpbGRpbmcgdGhlIGlu
ZGV4IGlzIG5vdCB3b3JraW5nLg0KPj4gSSBhbSBkZWJ1Z2dpbmcgdGhpcyBwYXJ0IG5vdy4NCj4+
DQo+PiBEbyB5b3UgaGF2ZSBhbnkgc3VnZ2VzdGlvbiBvbiB0aGUgcHJvYmxlbSA/DQo+Pg0KPj4g
UmVnYXJkcw0KPj4gUmFqaWINCj4+DQo+PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPj4g
RnJvbTogVXdlIFNjaGluZGxlciA8dXdlQHRoZXRhcGhpLmRlPg0KPj4gU2VudDogMjUgQXByaWwg
MjAyNSAxODoxOQ0KPj4gVG86IGphdmEtdXNlckBsdWNlbmUuYXBhY2hlLm9yZw0KPj4gU3ViamVj
dDogUmU6IFN1Z2dlc3Rpb24gbmVlZGVkIGZvciBhIGNhc2Ugb2YgTHVjZW5lIE1pZ3JhdGlvbiB3
aXRoIFRva2VuU3RyZWFtDQo+Pg0KPj4gSGksDQo+Pg0KPj4gSSdkIGxpa2UgdG8gbWVudGlvbiB0
aGUgZm9sbG93aW5nOiBZb3UgYXJlIHRyeWluZyB0byB1cGdyYWRlIEx1Y2VuZSBmcm9tDQo+PiBh
IHJlYWxseSBhbmNpZW50IHZlcnNpb24uIE9mIGNvdXJzZSwgYmFzaWMgY29uY2VwdHMgYXJlIHN0
aWxsIHRoZSBzYW1lLA0KPj4gYnV0IHRoZSBzZXJhY2ggZW5naW5lIGFuZCBpdHMgQVBJcyBoYXZl
IGNoYW5nZWQgZHJhbWF0aWNhbGx5LCBzbyBqdXN0DQo+PiB0cnlpbmcgdG8gImNvbXBpbGUgY29k
ZSBhbmQgZml4IHJhbmRvbSBzdHVmZiB1bnRpbCBpdCBjb21waWxlcyIgd2lsbCBub3QNCj4+IGJy
aW5nIHlvdSB0byBhIHdvcmtpbmcgcHJvZHVjdC4gT24gdG9wLCBpdCBtYXkgbWFrZSB0aGUgcHJv
ZHVjdCB3b3JzZQ0KPj4gdGhhbiBiZWZvcmUgdGhlIHVwZGF0ZS4NCj4+DQo+PiBUbyBkbyB0aGUg
dXBncmFkZSBjb3JyZWN0bHksIGl0IGlzIHJlY29tbWVuZGVkIHRvIGhhdmUgc29tZWJvZHkNCj4+
IGF2YWlsYWJsZSAoaWRlYWxseSB0aGUgcGVyc29uIHdobyB3cm90ZSB0aGUgY29kZSBvcmlnaW5h
bGx5KSBhbmQgdGhlbiBnbw0KPj4gdGhvdWdoIGl0IGxpbmUtYnkgbGluZSBhbmQgcmV3cml0ZSBp
dC4gSSBhbSBleHBsaWNpdGVseSBtZW50aW9uaW5nDQo+PiAicmV3cml0ZSIgYmVjYXVzZSB0aGF0
J3Mgd2hhdCB5b3Ugc2hvdWxkIGRvISBJZiB5b3UgZG9uJ3QgaGF2ZSBhIHBlcnNvbg0KPj4gdGhh
dCB1bmRlcnRzdGFuZHMgTHVjZW5lIGVub3VnaCwgSSdkIHN1Z2dlc3QgdG8gZ2V0IGhlbHAgZnJv
bSBvdXRzaWRlLg0KPj4gWW91IG5lZWQgdG8gdW5kZXJzdGFuZCBldmVyeSBsaW5lIG9mIGNvZGUg
d2hlbiByZXdyaXRpbmcgaXQuIEluIGFkZGl0aW9uDQo+PiB0aGVyZSBhcmUgbWFueSBuZXcgZmVh
dHVyZXMgdGhhdCBtYWtlIGFsbCB0aGF0IHNlcGNpYWwgY2FzZXMgbGlrZQ0KPj4gUGF5TG9hZHMg
b24gVG9rZW5zdHJlYW1zIG9ic29sZXRlLiBJJ2Qgbm90IHJlY29tbWVuZCB0byB1c2Ugc29tZXRo
aW5nDQo+PiBwYXlsb2FkcyBvbiB0ZXJtcyBub3dhZGF5cy4NCj4+DQo+PiBVd2UNCj4+DQo+PiBB
bSAyNC4wNC4yMDI1IHVtIDEyOjI5IHNjaHJpZWIgTWlraGFpbCBLaGx1ZG5ldjoNCj4+PiBSaWdo
dC4gVGV4dEZpZWxkLlRZUEVfTk9UX1NUT1JFRCBzaG91bGQgYmUgdXNlZCB0aGVuLg0KPj4+DQo+
Pj4gT24gVGh1LCBBcHIgMjQsIDIwMjUgYXQgMTA6MzfigK9BTSBTYWhhLCBSYWppYiA8cmFqaWIu
c2FoYUBzYXAuY29tLmludmFsaWQ+DQo+Pj4gd3JvdGU6DQo+Pj4NCj4+Pj4gVGhhbmtzIE1pa2hh
aWwgZm9yIHRoZSBzdWdnZXN0aW9uLg0KPj4+PiBOb3cgdGhlIHByZXZpb3VzIGV4Y2VwdGlvbiBo
YXMgZ29uZS4gQnV0IGEgbmV3IGV4Y2VwdGlvbiBoYXMgY29tZSBmcm9tDQo+Pj4+IEZpZWxkLmph
dmEuDQo+Pj4+IEhlcmUgYmVsb3cgYXJlIHRoZSBleGNlcHRpb24gZGV0YWlscy4NCj4+Pj4gPT09
PT09PT0NCj4+Pj4gamF2YS5sYW5nLklsbGVnYWxBcmd1bWVudEV4Y2VwdGlvbjogVG9rZW5TdHJl
YW0gZmllbGRzIGNhbm5vdCBiZSBzdG9yZWQNCj4+Pj4gICAgICAgICAgICBhdCBvcmcuYXBhY2hl
Lmx1Y2VuZS5kb2N1bWVudC5GaWVsZC48aW5pdD4oRmllbGQuamF2YToxNTUpDQo+Pj4+ID09PT09
PT09PQ0KPj4+Pg0KPj4+PiBDYW4geW91IHBsZWFzZSBzdWdnZXN0IGhlcmUgdG9vPw0KPj4+Pg0K
Pj4+PiBSZWdhcmRzDQo+Pj4+IFJhamliDQo+Pj4+DQo+Pj4+DQo+Pj4+IC0tLS0tT3JpZ2luYWwg
TWVzc2FnZS0tLS0tDQo+Pj4+IEZyb206IE1pa2hhaWwgS2hsdWRuZXYgPG1raGxAYXBhY2hlLm9y
Zz4NCj4+Pj4gU2VudDogMjQgQXByaWwgMjAyNSAxMjoxMA0KPj4+PiBUbzogamF2YS11c2VyQGx1
Y2VuZS5hcGFjaGUub3JnDQo+Pj4+IFN1YmplY3Q6IFJlOiBTdWdnZXN0aW9uIG5lZWRlZCBmb3Ig
YSBjYXNlIG9mIEx1Y2VuZSBNaWdyYXRpb24gd2l0aA0KPj4+PiBUb2tlblN0cmVhbQ0KPj4+Pg0K
Pj4+PiBIaQ0KPj4+PiBVc2UgVGV4dEZpZWxkLlRZUEVfU1RPUkVEIGFzIHRoZSB0aGlyZCBhcmd1
bWVudCBpbiBuZXcgRmllbGQoKQ0KPj4+PiBzZWUNCj4+Pj4NCj4+Pj4gaHR0cHM6Ly9naXRodWIu
Y29tL2FwYWNoZS9sdWNlbmUtc29sci9ibG9iL2UyN2Y0NGUzZDc4ZGZjZWMyMzBjOTdlMGExMjQw
ZTM3NTFkYWVmZjkvbHVjZW5lL2NvcmUvc3JjL2phdmEvb3JnL2FwYWNoZS9sdWNlbmUvZG9jdW1l
bnQvVGV4dEZpZWxkLmphdmEjTDM1QzMzLUwzNUM0NA0KPj4+Pg0KPj4+Pg0KPj4+PiBPbiBUaHUs
IEFwciAyNCwgMjAyNSBhdCA4OjM34oCvQU0gU2FoYSwgUmFqaWIgPHJhamliLnNhaGFAc2FwLmNv
bS5pbnZhbGlkPg0KPj4+PiB3cm90ZToNCj4+Pj4NCj4+Pj4+IEhpIEV4cGVydHMsDQo+Pj4+Pg0K
Pj4+Pj4gV2UgYXJlIG1pZ3JhdGluZyBMdWNlbmUgZnJvbSAyLjQuMSB0byA4LjExLjIuDQo+Pj4+
Pg0KPj4+Pj4gRHVyaW5nIE1pZ3JhdGlvbiBmb3IgYSBwYXJ0IG9mIGNvZGUsIHdlIGFyZSBnZXR0
aW5nIGJlbG93IGV4Y2VwdGlvbiBpbg0KPj4+Pj4gOC4xMS4yIGJhc2VkIGNoYW5nZXMgZnJvbSBS
ZWQgbGluZSBjb2xvcmVkLg0KPj4+Pj4gPT09PT09PT09PT09PQ0KPj4+Pj4gamF2YS5sYW5nLkls
bGVnYWxBcmd1bWVudEV4Y2VwdGlvbjogVG9rZW5TdHJlYW0gZmllbGRzIG11c3QgYmUgaW5kZXhl
ZA0KPj4+PiBhbmQNCj4+Pj4+IHRva2VuaXplZA0KPj4+Pj4gYXQgb3JnLmFwYWNoZS5sdWNlbmUu
ZG9jdW1lbnQuRmllbGQuPGluaXQ+KEZpZWxkLmphdmE6MTUyKQ0KPj4+Pj4NCj4+Pj4+IEkgdGll
ZCBmZXcgb3B0aW9ucy4gQnV0LCBjb3VsZCBub3QgYWJsZSB0byByZXNvbHZlIHRoZSBlcnJvci4g
QmVpaXcNCj4+Pj4+IENhbiBzb21lYm9keSBvZiB5b3UgcGxlYXNlIGhlbHAgbWUgdG8gaWRlbnRp
ZnksIHdoZXJlIGl0IGlzIGdvaW5nIGFzDQo+Pj4+IHdyb25nPw0KPj4+Pj4gV2UgaGFkIGNvZGUg
YmFzZWQgb24gMi40LjEgYXMgbGlrZSBiZWxvdzoNCj4+Pj4+ID09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09DQo+Pj4+PiBJbnQgY3VycmVudFZhbDwNCj4+Pj4+IGh0dHA6Ly8xMC4y
MzguMjM2LjEwMTo4MDgwL3NvdXJjZS9zP2RlZnM9Y3VycmVudFZhbCZwcm9qZWN0PTIwMjVfUlRN
PiA9DQo+Pj4+PiAvL3NvbWUgdmFsdWUNCj4+Pj4+IFBheWxvYWRUb2tlblN0cmVhbTwNCj4+Pj4+
DQo+Pj4+IGh0dHA6Ly8xMC4yMzguMjM2LjEwMTo4MDgwL3NvdXJjZS9zP2RlZnM9UGF5bG9hZFRv
a2VuU3RyZWFtJnByb2plY3Q9MjAyNV9SVE0NCj4+Pj4+IHRva2VuU3RyZWFtPA0KPj4+Pj4gaHR0
cDovLzEwLjIzOC4yMzYuMTAxOjgwODAvc291cmNlL3M/cmVmcz10b2tlblN0cmVhbSZwcm9qZWN0
PTIwMjVfUlRNPiA9DQo+Pj4+PiBuZXcgUGF5bG9hZFRva2VuU3RyZWFtPA0KPj4+Pj4NCj4+Pj4g
aHR0cDovLzEwLjIzOC4yMzYuMTAxOjgwODAvc291cmNlL3M/ZGVmcz1QYXlsb2FkVG9rZW5TdHJl
YW0mcHJvamVjdD0yMDI1X1JUTQ0KPj4+Pj4+ICgpOw0KPj4+Pj4gdG9rZW5TdHJlYW08DQo+Pj4+
Pg0KPj4+PiBodHRwOi8vMTAuMjM4LjIzNi4xMDE6ODA4MC9zb3VyY2UveHJlZi8yMDI1X1JUTS9w
bGF0Zm9ybS5zZXJ2aWNlcy5zZWFyY2guamF2YS9mcmFtZXdvcmsvamF2YS9zZXJ2aWNlcGx1Z2lu
cy9zcmMvY29tL3NhcC9idXNpbmVzc29iamVjdHMvcGxhdGZvcm0vc2VhcmNoL2x1Y2VuZS9pbmRl
eC9lbmdpbmUvTHVjZW5lSW5kZXhFbmdpbmUuamF2YSN0b2tlblN0cmVhbQ0KPj4+Pj4+IC5zZXRQ
YXlsb2FkPA0KPj4+Pj4gaHR0cDovLzEwLjIzOC4yMzYuMTAxOjgwODAvc291cmNlL3M/ZGVmcz1z
ZXRQYXlsb2FkJnByb2plY3Q9MjAyNV9SVE0NCj4+Pj4+PiAoY3VycmVudFZhbDwNCj4+Pj4+IGh0
dHA6Ly8xMC4yMzguMjM2LjEwMTo4MDgwL3NvdXJjZS9zP2RlZnM9Y3VycmVudFZhbCZwcm9qZWN0
PTIwMjVfUlRNPik7DQo+Pj4+PiBsdWNGaWVsZDwNCj4+Pj4+DQo+Pj4+IGh0dHA6Ly8xMC4yMzgu
MjM2LjEwMTo4MDgwL3NvdXJjZS94cmVmLzIwMjVfUlRNL3BsYXRmb3JtLnNlcnZpY2VzLnNlYXJj
aC5qYXZhL2ZyYW1ld29yay9qYXZhL3NlcnZpY2VwbHVnaW5zL3NyYy9jb20vc2FwL2J1c2luZXNz
b2JqZWN0cy9wbGF0Zm9ybS9zZWFyY2gvbHVjZW5lL2luZGV4L2VuZ2luZS9MdWNlbmVJbmRleEVu
Z2luZS5qYXZhI2x1Y0ZpZWxkDQo+Pj4+PiA9IG5ldyBGaWVsZDwNCj4+Pj4+IGh0dHA6Ly8xMC4y
MzguMjM2LjEwMTo4MDgwL3NvdXJjZS9zP2RlZnM9RmllbGQmcHJvamVjdD0yMDI1X1JUTT4oY29u
ZmlnPA0KPj4+Pj4gaHR0cDovLzEwLjIzOC4yMzYuMTAxOjgwODAvc291cmNlL3M/ZGVmcz1jb25m
aWcmcHJvamVjdD0yMDI1X1JUTQ0KPj4+Pj4+IC5wYXlsb2FkVWlkPA0KPj4+Pj4gaHR0cDovLzEw
LjIzOC4yMzYuMTAxOjgwODAvc291cmNlL3M/ZGVmcz1wYXlsb2FkVWlkJnByb2plY3Q9MjAyNV9S
VE0NCj4+Pj4+PiAoKS5uYW1lPGh0dHA6Ly8xMC4yMzguMjM2LjEwMTo4MDgwL3NvdXJjZS9zP2Rl
ZnM9bmFtZSZwcm9qZWN0PTIwMjVfUlRNDQo+Pj4+PiAsDQo+Pj4+PiB0b2tlblN0cmVhbTwNCj4+
Pj4+DQo+Pj4+IGh0dHA6Ly8xMC4yMzguMjM2LjEwMTo4MDgwL3NvdXJjZS94cmVmLzIwMjVfUlRN
L3BsYXRmb3JtLnNlcnZpY2VzLnNlYXJjaC5qYXZhL2ZyYW1ld29yay9qYXZhL3NlcnZpY2VwbHVn
aW5zL3NyYy9jb20vc2FwL2J1c2luZXNzb2JqZWN0cy9wbGF0Zm9ybS9zZWFyY2gvbHVjZW5lL2lu
ZGV4L2VuZ2luZS9MdWNlbmVJbmRleEVuZ2luZS5qYXZhI3Rva2VuU3RyZWFtDQo+Pj4+Pj4gKTsN
Cj4+Pj4+IGRvYzxodHRwOi8vMTAuMjM4LjIzNi4xMDE6ODA4MC9zb3VyY2Uvcz9kZWZzPWRvYyZw
cm9qZWN0PTIwMjVfUlRNPi5hZGQ8DQo+Pj4+PiBodHRwOi8vMTAuMjM4LjIzNi4xMDE6ODA4MC9z
b3VyY2Uvcz9kZWZzPWFkZCZwcm9qZWN0PTIwMjVfUlRNPihsdWNGaWVsZDwNCj4+Pj4+DQo+Pj4+
IGh0dHA6Ly8xMC4yMzguMjM2LjEwMTo4MDgwL3NvdXJjZS94cmVmLzIwMjVfUlRNL3BsYXRmb3Jt
LnNlcnZpY2VzLnNlYXJjaC5qYXZhL2ZyYW1ld29yay9qYXZhL3NlcnZpY2VwbHVnaW5zL3NyYy9j
b20vc2FwL2J1c2luZXNzb2JqZWN0cy9wbGF0Zm9ybS9zZWFyY2gvbHVjZW5lL2luZGV4L2VuZ2lu
ZS9MdWNlbmVJbmRleEVuZ2luZS5qYXZhI2x1Y0ZpZWxkDQo+Pj4+Pj4gKTsNCj4+Pj4+IC4uLi4u
Lg0KPj4+Pj4gcHVibGljIGNsYXNzIFBheWxvYWRUb2tlblN0cmVhbTwNCj4+Pj4+DQo+Pj4+IGh0
dHA6Ly8xMC4yMzguMjM2LjEwMTo4MDgwL3NvdXJjZS9zP3JlZnM9UGF5bG9hZFRva2VuU3RyZWFt
JnByb2plY3Q9MjAyNV9SVE0NCj4+Pj4+IGV4dGVuZHMgVG9rZW5TdHJlYW08DQo+Pj4+PiBodHRw
Oi8vMTAuMjM4LjIzNi4xMDE6ODA4MC9zb3VyY2Uvcz9kZWZzPVRva2VuU3RyZWFtJnByb2plY3Q9
MjAyNV9SVE0+ew0KPj4+Pj4gcHVibGljIHN0YXRpYyBTdHJpbmc8DQo+Pj4+PiBodHRwOi8vMTAu
MjM4LjIzNi4xMDE6ODA4MC9zb3VyY2Uvcz9kZWZzPVN0cmluZyZwcm9qZWN0PTIwMjVfUlRNPg0K
Pj4+Pj4gVUlEX1BBWUxPQURfU1RBUlRfVkFMPA0KPj4+Pj4NCj4+Pj4gaHR0cDovLzEwLjIzOC4y
MzYuMTAxOjgwODAvc291cmNlL3M/cmVmcz1VSURfUEFZTE9BRF9TVEFSVF9WQUwmcHJvamVjdD0y
MDI1X1JUTQ0KPj4+Pj4gPSAiX1VJRF8iOw0KPj4+Pj4gICAgICAgICAgICAgICAgICBwcml2YXRl
IFRva2VuPA0KPj4+Pj4gaHR0cDovLzEwLjIzOC4yMzYuMTAxOjgwODAvc291cmNlL3M/ZGVmcz1U
b2tlbiZwcm9qZWN0PTIwMjVfUlRNPiB0b2tlbjwNCj4+Pj4+IGh0dHA6Ly8xMC4yMzguMjM2LjEw
MTo4MDgwL3NvdXJjZS9zP3JlZnM9dG9rZW4mcHJvamVjdD0yMDI1X1JUTT4gPSBuZXcNCj4+Pj4+
IFRva2VuPGh0dHA6Ly8xMC4yMzguMjM2LjEwMTo4MDgwL3NvdXJjZS9zP2RlZnM9VG9rZW4mcHJv
amVjdD0yMDI1X1JUTQ0KPj4+Pj4+IChVSURfUEFZTE9BRF9TVEFSVF9WQUw8DQo+Pj4+IGh0dHA6
Ly8xMC4yMzguMjM2LjEwMTo4MDgwL3NvdXJjZS94cmVmLzIwMjVfUlRNL3BsYXRmb3JtLnNlcnZp
Y2VzLnNlYXJjaC5qYXZhL2ZyYW1ld29yay9qYXZhL3Nkay9zcmMvY29tL3NhcC9idXNpbmVzc29i
amVjdHMvcGxhdGZvcm0vc2VhcmNoL3Nkay9pbmRleC9QYXlsb2FkVG9rZW5TdHJlYW0uamF2YSNV
SURfUEFZTE9BRF9TVEFSVF9WQUwNCj4+Pj4+PiAsMCwwKTsNCj4+Pj4+ICAgICAgICAgICAgICAg
ICAgcHJpdmF0ZSBieXRlW10gYnVmZmVyPA0KPj4+Pj4gaHR0cDovLzEwLjIzOC4yMzYuMTAxOjgw
ODAvc291cmNlL3M/cmVmcz1idWZmZXImcHJvamVjdD0yMDI1X1JUTT4gPSBuZXcNCj4+Pj4+IGJ5
dGVbNF07DQo+Pj4+PiAgICAgICAgICAgICAgICAgIHByaXZhdGUgYm9vbGVhbiByZXR1cm5Ub2tl
bjwNCj4+Pj4+IGh0dHA6Ly8xMC4yMzguMjM2LjEwMTo4MDgwL3NvdXJjZS9zP3JlZnM9cmV0dXJu
VG9rZW4mcHJvamVjdD0yMDI1X1JUTT4gPQ0KPj4+Pj4gZmFsc2U7DQo+Pj4+Pg0KPj4+Pj4gICAg
ICAgICAgICAgICAgICBwdWJsaWMgdm9pZCBzZXRQYXlsb2FkPA0KPj4+Pj4gaHR0cDovLzEwLjIz
OC4yMzYuMTAxOjgwODAvc291cmNlL3M/cmVmcz1zZXRQYXlsb2FkJnByb2plY3Q9MjAyNV9SVE0N
Cj4+Pj4+IChpbnQNCj4+Pj4+IHVpZDxodHRwOi8vMTAuMjM4LjIzNi4xMDE6ODA4MC9zb3VyY2Uv
cz9yZWZzPXVpZCZwcm9qZWN0PTIwMjVfUlRNPil7DQo+Pj4+PiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGJ1ZmZlcjwNCj4+Pj4+DQo+Pj4+IGh0dHA6Ly8xMC4yMzguMjM2LjEwMTo4
MDgwL3NvdXJjZS94cmVmLzIwMjVfUlRNL3BsYXRmb3JtLnNlcnZpY2VzLnNlYXJjaC5qYXZhL2Zy
YW1ld29yay9qYXZhL3Nkay9zcmMvY29tL3NhcC9idXNpbmVzc29iamVjdHMvcGxhdGZvcm0vc2Vh
cmNoL3Nkay9pbmRleC9QYXlsb2FkVG9rZW5TdHJlYW0uamF2YSNidWZmZXINCj4+Pj4+IFswXQ0K
Pj4+Pj4gPSAoYnl0ZSl1aWQ8DQo+Pj4+Pg0KPj4+PiBodHRwOi8vMTAuMjM4LjIzNi4xMDE6ODA4
MC9zb3VyY2UveHJlZi8yMDI1X1JUTS9wbGF0Zm9ybS5zZXJ2aWNlcy5zZWFyY2guamF2YS9mcmFt
ZXdvcmsvamF2YS9zZGsvc3JjL2NvbS9zYXAvYnVzaW5lc3NvYmplY3RzL3BsYXRmb3JtL3NlYXJj
aC9zZGsvaW5kZXgvUGF5bG9hZFRva2VuU3RyZWFtLmphdmEjdWlkDQo+Pj4+Pj4gOw0KPj4+Pj4g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBidWZmZXI8DQo+Pj4+Pg0KPj4+PiBodHRw
Oi8vMTAuMjM4LjIzNi4xMDE6ODA4MC9zb3VyY2UveHJlZi8yMDI1X1JUTS9wbGF0Zm9ybS5zZXJ2
aWNlcy5zZWFyY2guamF2YS9mcmFtZXdvcmsvamF2YS9zZGsvc3JjL2NvbS9zYXAvYnVzaW5lc3Nv
YmplY3RzL3BsYXRmb3JtL3NlYXJjaC9zZGsvaW5kZXgvUGF5bG9hZFRva2VuU3RyZWFtLmphdmEj
YnVmZmVyDQo+Pj4+PiBbMV0NCj4+Pj4+ID0gKGJ5dGUpKHVpZDwNCj4+Pj4+DQo+Pj4+IGh0dHA6
Ly8xMC4yMzguMjM2LjEwMTo4MDgwL3NvdXJjZS94cmVmLzIwMjVfUlRNL3BsYXRmb3JtLnNlcnZp
Y2VzLnNlYXJjaC5qYXZhL2ZyYW1ld29yay9qYXZhL3Nkay9zcmMvY29tL3NhcC9idXNpbmVzc29i
amVjdHMvcGxhdGZvcm0vc2VhcmNoL3Nkay9pbmRleC9QYXlsb2FkVG9rZW5TdHJlYW0uamF2YSN1
aWQNCj4+Pj4+Pj4+IDgpOw0KPj4+Pj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBi
dWZmZXI8DQo+Pj4+Pg0KPj4+PiBodHRwOi8vMTAuMjM4LjIzNi4xMDE6ODA4MC9zb3VyY2UveHJl
Zi8yMDI1X1JUTS9wbGF0Zm9ybS5zZXJ2aWNlcy5zZWFyY2guamF2YS9mcmFtZXdvcmsvamF2YS9z
ZGsvc3JjL2NvbS9zYXAvYnVzaW5lc3NvYmplY3RzL3BsYXRmb3JtL3NlYXJjaC9zZGsvaW5kZXgv
UGF5bG9hZFRva2VuU3RyZWFtLmphdmEjYnVmZmVyDQo+Pj4+PiBbMl0NCj4+Pj4+ID0gKGJ5dGUp
KHVpZDwNCj4+Pj4+DQo+Pj4+IGh0dHA6Ly8xMC4yMzguMjM2LjEwMTo4MDgwL3NvdXJjZS94cmVm
LzIwMjVfUlRNL3BsYXRmb3JtLnNlcnZpY2VzLnNlYXJjaC5qYXZhL2ZyYW1ld29yay9qYXZhL3Nk
ay9zcmMvY29tL3NhcC9idXNpbmVzc29iamVjdHMvcGxhdGZvcm0vc2VhcmNoL3Nkay9pbmRleC9Q
YXlsb2FkVG9rZW5TdHJlYW0uamF2YSN1aWQNCj4+Pj4+Pj4+IDE2KTsNCj4+Pj4+ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgYnVmZmVyPA0KPj4+Pj4NCj4+Pj4gaHR0cDovLzEwLjIz
OC4yMzYuMTAxOjgwODAvc291cmNlL3hyZWYvMjAyNV9SVE0vcGxhdGZvcm0uc2VydmljZXMuc2Vh
cmNoLmphdmEvZnJhbWV3b3JrL2phdmEvc2RrL3NyYy9jb20vc2FwL2J1c2luZXNzb2JqZWN0cy9w
bGF0Zm9ybS9zZWFyY2gvc2RrL2luZGV4L1BheWxvYWRUb2tlblN0cmVhbS5qYXZhI2J1ZmZlcg0K
Pj4+Pj4gWzNdDQo+Pj4+PiA9IChieXRlKSh1aWQ8DQo+Pj4+Pg0KPj4+PiBodHRwOi8vMTAuMjM4
LjIzNi4xMDE6ODA4MC9zb3VyY2UveHJlZi8yMDI1X1JUTS9wbGF0Zm9ybS5zZXJ2aWNlcy5zZWFy
Y2guamF2YS9mcmFtZXdvcmsvamF2YS9zZGsvc3JjL2NvbS9zYXAvYnVzaW5lc3NvYmplY3RzL3Bs
YXRmb3JtL3NlYXJjaC9zZGsvaW5kZXgvUGF5bG9hZFRva2VuU3RyZWFtLmphdmEjdWlkDQo+Pj4+
Pj4+PiAyNCk7DQo+Pj4+PiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRva2VuPA0K
Pj4+Pj4NCj4+Pj4gaHR0cDovLzEwLjIzOC4yMzYuMTAxOjgwODAvc291cmNlL3hyZWYvMjAyNV9S
VE0vcGxhdGZvcm0uc2VydmljZXMuc2VhcmNoLmphdmEvZnJhbWV3b3JrL2phdmEvc2RrL3NyYy9j
b20vc2FwL2J1c2luZXNzb2JqZWN0cy9wbGF0Zm9ybS9zZWFyY2gvc2RrL2luZGV4L1BheWxvYWRU
b2tlblN0cmVhbS5qYXZhI3Rva2VuDQo+Pj4+Pj4gLnNldFBheWxvYWQ8DQo+Pj4+IGh0dHA6Ly8x
MC4yMzguMjM2LjEwMTo4MDgwL3NvdXJjZS94cmVmLzIwMjVfUlRNL3BsYXRmb3JtLnNlcnZpY2Vz
LnNlYXJjaC5qYXZhL2ZyYW1ld29yay9qYXZhL3Nkay9zcmMvY29tL3NhcC9idXNpbmVzc29iamVj
dHMvcGxhdGZvcm0vc2VhcmNoL3Nkay9pbmRleC9QYXlsb2FkVG9rZW5TdHJlYW0uamF2YSNzZXRQ
YXlsb2FkDQo+Pj4+PiAobmV3DQo+Pj4+PiBQYXlsb2FkPA0KPj4+PiBodHRwOi8vMTAuMjM4LjIz
Ni4xMDE6ODA4MC9zb3VyY2Uvcz9kZWZzPVBheWxvYWQmcHJvamVjdD0yMDI1X1JUTQ0KPj4+Pj4+
IChidWZmZXI8DQo+Pj4+IGh0dHA6Ly8xMC4yMzguMjM2LjEwMTo4MDgwL3NvdXJjZS94cmVmLzIw
MjVfUlRNL3BsYXRmb3JtLnNlcnZpY2VzLnNlYXJjaC5qYXZhL2ZyYW1ld29yay9qYXZhL3Nkay9z
cmMvY29tL3NhcC9idXNpbmVzc29iamVjdHMvcGxhdGZvcm0vc2VhcmNoL3Nkay9pbmRleC9QYXls
b2FkVG9rZW5TdHJlYW0uamF2YSNidWZmZXINCj4+Pj4+PiApKTsNCj4+Pj4+ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgcmV0dXJuVG9rZW4gPSB0cnVlOw0KPj4+Pj4gICAgICAgICAg
ICAgICAgICB9DQo+Pj4+PiAgICAgICAgICAgICAgICAgIHB1YmxpYyBUb2tlbjwNCj4+Pj4+IGh0
dHA6Ly8xMC4yMzguMjM2LjEwMTo4MDgwL3NvdXJjZS9zP2RlZnM9VG9rZW4mcHJvamVjdD0yMDI1
X1JUTT4gbmV4dDwNCj4+Pj4+IGh0dHA6Ly8xMC4yMzguMjM2LjEwMTo4MDgwL3NvdXJjZS9zP3Jl
ZnM9bmV4dCZwcm9qZWN0PTIwMjVfUlRNPigpIHRocm93cw0KPj4+Pj4gSU9FeGNlcHRpb248DQo+
Pj4+PiBodHRwOi8vMTAuMjM4LjIzNi4xMDE6ODA4MC9zb3VyY2Uvcz9kZWZzPUlPRXhjZXB0aW9u
JnByb2plY3Q9MjAyNV9SVE0+ew0KPj4+Pj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpZiAocmV0dXJuVG9rZW48DQo+Pj4+Pg0KPj4+PiBodHRwOi8vMTAuMjM4LjIzNi4xMDE6ODA4
MC9zb3VyY2UveHJlZi8yMDI1X1JUTS9wbGF0Zm9ybS5zZXJ2aWNlcy5zZWFyY2guamF2YS9mcmFt
ZXdvcmsvamF2YS9zZGsvc3JjL2NvbS9zYXAvYnVzaW5lc3NvYmplY3RzL3BsYXRmb3JtL3NlYXJj
aC9zZGsvaW5kZXgvUGF5bG9hZFRva2VuU3RyZWFtLmphdmEjcmV0dXJuVG9rZW4NCj4+Pj4+ICl7
DQo+Pj4+PiByZXR1cm5Ub2tlbjwNCj4+Pj4+DQo+Pj4+IGh0dHA6Ly8xMC4yMzguMjM2LjEwMTo4
MDgwL3NvdXJjZS94cmVmLzIwMjVfUlRNL3BsYXRmb3JtLnNlcnZpY2VzLnNlYXJjaC5qYXZhL2Zy
YW1ld29yay9qYXZhL3Nkay9zcmMvY29tL3NhcC9idXNpbmVzc29iamVjdHMvcGxhdGZvcm0vc2Vh
cmNoL3Nkay9pbmRleC9QYXlsb2FkVG9rZW5TdHJlYW0uamF2YSNyZXR1cm5Ub2tlbg0KPj4+Pj4g
PSBmYWxzZTsgcmV0dXJuIHRva2VuPA0KPj4+Pj4NCj4+Pj4gaHR0cDovLzEwLjIzOC4yMzYuMTAx
OjgwODAvc291cmNlL3hyZWYvMjAyNV9SVE0vcGxhdGZvcm0uc2VydmljZXMuc2VhcmNoLmphdmEv
ZnJhbWV3b3JrL2phdmEvc2RrL3NyYy9jb20vc2FwL2J1c2luZXNzb2JqZWN0cy9wbGF0Zm9ybS9z
ZWFyY2gvc2RrL2luZGV4L1BheWxvYWRUb2tlblN0cmVhbS5qYXZhI3Rva2VuDQo+Pj4+PiA7DQo+
Pj4+PiB9DQo+Pj4+PiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UgeyByZXR1
cm4gbnVsbDwNCj4+Pj4+IGh0dHA6Ly8xMC4yMzguMjM2LjEwMTo4MDgwL3NvdXJjZS9zP2RlZnM9
bnVsbCZwcm9qZWN0PTIwMjVfUlRNPjsgfQ0KPj4+Pj4NCj4+Pj4+ICAgICAgICAgICAgICAgICAg
fQ0KPj4+Pj4gfQ0KPj4+Pj4NCj4+Pj4+DQo+Pj4+PiBXZSBoYXZlIG1hZGUgY29kZSBiYXNlZCBv
biA4LjExLjIgYXMgbGlrZSBiZWxvdzoNCj4+Pj4+ID09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQ0KPj4+Pj4gUGF5bG9hZFRva2VuU3RyZWFtIHRva2VuU3RyZWFtID0g
bmV3IFBheWxvYWRUb2tlblN0cmVhbSgpOw0KPj4+Pj4gdG9rZW5TdHJlYW0uc2V0UGF5bG9hZChj
dXJyZW50VmFsKTsNCj4+Pj4+IEZpZWxkVHlwZSBmaWVsZFR5cGUgPSBuZXcgRmllbGRUeXBlKCk7
DQo+Pj4+PiBsdWNGaWVsZCA9IG5ldyBGaWVsZChjb25maWcucGF5bG9hZFVpZCgpLm5hbWUsIHRv
a2VuU3RyZWFtLCBmaWVsZFR5cGUpOw0KPj4+Pj4gZG9jLmFkZChsdWNGaWVsZCk7DQo+Pj4+PiAt
LS0tDQo+Pj4+PiBwdWJsaWMgY2xhc3MgUGF5bG9hZFRva2VuU3RyZWFtPA0KPj4+Pj4NCj4+Pj4g
aHR0cDovLzEwLjIzOC4yMzYuMTAxOjgwODAvc291cmNlL3M/cmVmcz1QYXlsb2FkVG9rZW5TdHJl
YW0mcHJvamVjdD0yMDI1X1JUTQ0KPj4+Pj4gZXh0ZW5kcyBUb2tlblN0cmVhbTwNCj4+Pj4+IGh0
dHA6Ly8xMC4yMzguMjM2LjEwMTo4MDgwL3NvdXJjZS9zP2RlZnM9VG9rZW5TdHJlYW0mcHJvamVj
dD0yMDI1X1JUTT57DQo+Pj4+PiBwdWJsaWMgc3RhdGljIFN0cmluZzwNCj4+Pj4+IGh0dHA6Ly8x
MC4yMzguMjM2LjEwMTo4MDgwL3NvdXJjZS9zP2RlZnM9U3RyaW5nJnByb2plY3Q9MjAyNV9SVE0+
DQo+Pj4+PiBVSURfUEFZTE9BRF9TVEFSVF9WQUw8DQo+Pj4+Pg0KPj4+PiBodHRwOi8vMTAuMjM4
LjIzNi4xMDE6ODA4MC9zb3VyY2Uvcz9yZWZzPVVJRF9QQVlMT0FEX1NUQVJUX1ZBTCZwcm9qZWN0
PTIwMjVfUlRNDQo+Pj4+PiA9ICJfVUlEXyI7DQo+Pj4+PiBwcml2YXRlIGJ5dGVbXSBidWZmZXI8
DQo+Pj4+PiBodHRwOi8vMTAuMjM4LjIzNi4xMDE6ODA4MC9zb3VyY2Uvcz9yZWZzPWJ1ZmZlciZw
cm9qZWN0PTIwMjVfUlRNPiA9IG5ldw0KPj4+Pj4gYnl0ZVs0XTsNCj4+Pj4+ICAgICAgICAgICAg
ICAgICAgcHJpdmF0ZSBib29sZWFuIHJldHVyblRva2VuPA0KPj4+Pj4gaHR0cDovLzEwLjIzOC4y
MzYuMTAxOjgwODAvc291cmNlL3M/cmVmcz1yZXR1cm5Ub2tlbiZwcm9qZWN0PTIwMjVfUlRNPiA9
DQo+Pj4+PiBmYWxzZTsNCj4+Pj4+DQo+Pj4+PiAgICAgICAgICAgICAgICAgIHB1YmxpYyB2b2lk
IHNldFBheWxvYWQ8DQo+Pj4+PiBodHRwOi8vMTAuMjM4LjIzNi4xMDE6ODA4MC9zb3VyY2Uvcz9y
ZWZzPXNldFBheWxvYWQmcHJvamVjdD0yMDI1X1JUTQ0KPj4+Pj4gKGludA0KPj4+Pj4gdWlkPGh0
dHA6Ly8xMC4yMzguMjM2LjEwMTo4MDgwL3NvdXJjZS9zP3JlZnM9dWlkJnByb2plY3Q9MjAyNV9S
VE0+KXsNCj4+Pj4+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnVmZmVyPA0KPj4+
Pj4NCj4+Pj4gaHR0cDovLzEwLjIzOC4yMzYuMTAxOjgwODAvc291cmNlL3hyZWYvMjAyNV9SVE0v
cGxhdGZvcm0uc2VydmljZXMuc2VhcmNoLmphdmEvZnJhbWV3b3JrL2phdmEvc2RrL3NyYy9jb20v
c2FwL2J1c2luZXNzb2JqZWN0cy9wbGF0Zm9ybS9zZWFyY2gvc2RrL2luZGV4L1BheWxvYWRUb2tl
blN0cmVhbS5qYXZhI2J1ZmZlcg0KPj4+Pj4gWzBdDQo+Pj4+PiA9IChieXRlKXVpZDwNCj4+Pj4+
DQo+Pj4+IGh0dHA6Ly8xMC4yMzguMjM2LjEwMTo4MDgwL3NvdXJjZS94cmVmLzIwMjVfUlRNL3Bs
YXRmb3JtLnNlcnZpY2VzLnNlYXJjaC5qYXZhL2ZyYW1ld29yay9qYXZhL3Nkay9zcmMvY29tL3Nh
cC9idXNpbmVzc29iamVjdHMvcGxhdGZvcm0vc2VhcmNoL3Nkay9pbmRleC9QYXlsb2FkVG9rZW5T
dHJlYW0uamF2YSN1aWQNCj4+Pj4+PiA7DQo+Pj4+PiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGJ1ZmZlcjwNCj4+Pj4+DQo+Pj4+IGh0dHA6Ly8xMC4yMzguMjM2LjEwMTo4MDgwL3Nv
dXJjZS94cmVmLzIwMjVfUlRNL3BsYXRmb3JtLnNlcnZpY2VzLnNlYXJjaC5qYXZhL2ZyYW1ld29y
ay9qYXZhL3Nkay9zcmMvY29tL3NhcC9idXNpbmVzc29iamVjdHMvcGxhdGZvcm0vc2VhcmNoL3Nk
ay9pbmRleC9QYXlsb2FkVG9rZW5TdHJlYW0uamF2YSNidWZmZXINCj4+Pj4+IFsxXQ0KPj4+Pj4g
PSAoYnl0ZSkodWlkPA0KPj4+Pj4NCj4+Pj4gaHR0cDovLzEwLjIzOC4yMzYuMTAxOjgwODAvc291
cmNlL3hyZWYvMjAyNV9SVE0vcGxhdGZvcm0uc2VydmljZXMuc2VhcmNoLmphdmEvZnJhbWV3b3Jr
L2phdmEvc2RrL3NyYy9jb20vc2FwL2J1c2luZXNzb2JqZWN0cy9wbGF0Zm9ybS9zZWFyY2gvc2Rr
L2luZGV4L1BheWxvYWRUb2tlblN0cmVhbS5qYXZhI3VpZA0KPj4+Pj4+Pj4gOCk7DQo+Pj4+PiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ1ZmZlcjwNCj4+Pj4+DQo+Pj4+IGh0dHA6
Ly8xMC4yMzguMjM2LjEwMTo4MDgwL3NvdXJjZS94cmVmLzIwMjVfUlRNL3BsYXRmb3JtLnNlcnZp
Y2VzLnNlYXJjaC5qYXZhL2ZyYW1ld29yay9qYXZhL3Nkay9zcmMvY29tL3NhcC9idXNpbmVzc29i
amVjdHMvcGxhdGZvcm0vc2VhcmNoL3Nkay9pbmRleC9QYXlsb2FkVG9rZW5TdHJlYW0uamF2YSNi
dWZmZXINCj4+Pj4+IFsyXQ0KPj4+Pj4gPSAoYnl0ZSkodWlkPA0KPj4+Pj4NCj4+Pj4gaHR0cDov
LzEwLjIzOC4yMzYuMTAxOjgwODAvc291cmNlL3hyZWYvMjAyNV9SVE0vcGxhdGZvcm0uc2Vydmlj
ZXMuc2VhcmNoLmphdmEvZnJhbWV3b3JrL2phdmEvc2RrL3NyYy9jb20vc2FwL2J1c2luZXNzb2Jq
ZWN0cy9wbGF0Zm9ybS9zZWFyY2gvc2RrL2luZGV4L1BheWxvYWRUb2tlblN0cmVhbS5qYXZhI3Vp
ZA0KPj4+Pj4+Pj4gMTYpOw0KPj4+Pj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBi
dWZmZXI8DQo+Pj4+Pg0KPj4+PiBodHRwOi8vMTAuMjM4LjIzNi4xMDE6ODA4MC9zb3VyY2UveHJl
Zi8yMDI1X1JUTS9wbGF0Zm9ybS5zZXJ2aWNlcy5zZWFyY2guamF2YS9mcmFtZXdvcmsvamF2YS9z
ZGsvc3JjL2NvbS9zYXAvYnVzaW5lc3NvYmplY3RzL3BsYXRmb3JtL3NlYXJjaC9zZGsvaW5kZXgv
UGF5bG9hZFRva2VuU3RyZWFtLmphdmEjYnVmZmVyDQo+Pj4+PiBbM10NCj4+Pj4+ID0gKGJ5dGUp
KHVpZDwNCj4+Pj4+DQo+Pj4+IGh0dHA6Ly8xMC4yMzguMjM2LjEwMTo4MDgwL3NvdXJjZS94cmVm
LzIwMjVfUlRNL3BsYXRmb3JtLnNlcnZpY2VzLnNlYXJjaC5qYXZhL2ZyYW1ld29yay9qYXZhL3Nk
ay9zcmMvY29tL3NhcC9idXNpbmVzc29iamVjdHMvcGxhdGZvcm0vc2VhcmNoL3Nkay9pbmRleC9Q
YXlsb2FkVG9rZW5TdHJlYW0uamF2YSN1aWQNCj4+Pj4+Pj4+IDI0KTsNCj4+Pj4+ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgUGF5bG9hZEF0dHJpYnV0ZUltcGwgYXR0cmlidXRlSW1w
bCA9IG5ldw0KPj4+Pj4gUGF5bG9hZEF0dHJpYnV0ZUltcGwobmV3IEJ5dGVzUmVmKGJ1ZmZlcikp
Ow0KPj4+Pj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFkZEF0dHJpYnV0ZUltcGwo
YXR0cmlidXRlSW1wbCk7DQo+Pj4+PiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJl
dHVyblRva2VuID0gdHJ1ZTsNCj4+Pj4+ICAgICAgICAgICAgICAgICAgfQ0KPj4+Pj4gICAgICAg
ICAgICAgICAgICBwdWJsaWMgYm9vbGVhbiBpbmNyZW1lbnRUb2tlbigpIHRocm93cyBJT0V4Y2Vw
dGlvbiB7DQo+Pj4+PiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChyZXR1cm5U
b2tlbil7DQo+Pj4+PiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgcmV0dXJuVG9rZW4gPSBmYWxzZTsNCj4+Pj4+ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCj4+Pj4+ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgfQ0KPj4+Pj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBl
bHNlIHsNCj4+Pj4+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICByZXR1cm4gZmFsc2U7DQo+Pj4+PiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0N
Cj4+Pj4+ICAgICAgICAgICAgICAgICAgfQ0KPj4+Pj4gfQ0KPj4+Pj4NCj4+Pj4+IFJlZ2FyZHMN
Cj4+Pj4+IFJhamliDQo+Pj4+Pg0KPj4+Pj4NCj4+Pj4gLS0NCj4+Pj4gU2luY2VyZWx5IHlvdXJz
DQo+Pj4+IE1pa2hhaWwgS2hsdWRuZXYNCj4+Pj4NCj4+IC0tDQo+PiBVd2UgU2NoaW5kbGVyDQo+
PiBBY2h0ZXJkaWVrIDE5LCBELTI4MzU3IEJyZW1lbg0KPj4gaHR0cHM6Ly93d3cudGhldGFwaGku
ZGUvDQo+PiBlTWFpbDogdXdlQHRoZXRhcGhpLmRlDQo+Pg0KPj4NCj4+IC0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0K
Pj4gVG8gdW5zdWJzY3JpYmUsIGUtbWFpbDogamF2YS11c2VyLXVuc3Vic2NyaWJlQGx1Y2VuZS5h
cGFjaGUub3JnDQo+PiBGb3IgYWRkaXRpb25hbCBjb21tYW5kcywgZS1tYWlsOiBqYXZhLXVzZXIt
aGVscEBsdWNlbmUuYXBhY2hlLm9yZw0KPj4NCj4+DQo+PiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCj4+IFRvIHVu
c3Vic2NyaWJlLCBlLW1haWw6IGphdmEtdXNlci11bnN1YnNjcmliZUBsdWNlbmUuYXBhY2hlLm9y
Zw0KPj4gRm9yIGFkZGl0aW9uYWwgY29tbWFuZHMsIGUtbWFpbDogamF2YS11c2VyLWhlbHBAbHVj
ZW5lLmFwYWNoZS5vcmcNCj4+DQo+IC0tDQo+IFV3ZSBTY2hpbmRsZXINCj4gQWNodGVyZGllayAx
OSwgRC0yODM1NyBCcmVtZW4NCj4gaHR0cHM6Ly93d3cudGhldGFwaGkuZGUvDQo+IGVNYWlsOiB1
d2VAdGhldGFwaGkuZGUNCj4NCj4NCj4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+IFRvIHVuc3Vic2NyaWJlLCBl
LW1haWw6IGphdmEtdXNlci11bnN1YnNjcmliZUBsdWNlbmUuYXBhY2hlLm9yZw0KPiBGb3IgYWRk
aXRpb25hbCBjb21tYW5kcywgZS1tYWlsOiBqYXZhLXVzZXItaGVscEBsdWNlbmUuYXBhY2hlLm9y
Zw0KPg0KPg0KPiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCj4gVG8gdW5zdWJzY3JpYmUsIGUtbWFpbDogamF2YS11
c2VyLXVuc3Vic2NyaWJlQGx1Y2VuZS5hcGFjaGUub3JnDQo+IEZvciBhZGRpdGlvbmFsIGNvbW1h
bmRzLCBlLW1haWw6IGphdmEtdXNlci1oZWxwQGx1Y2VuZS5hcGFjaGUub3JnDQo+DQotLQ0KVXdl
IFNjaGluZGxlcg0KQWNodGVyZGllayAxOSwgRC0yODM1NyBCcmVtZW4NCmh0dHBzOi8vd3d3LnRo
ZXRhcGhpLmRlLw0KZU1haWw6IHV3ZUB0aGV0YXBoaS5kZQ0KDQoNCi0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KVG8g
dW5zdWJzY3JpYmUsIGUtbWFpbDogamF2YS11c2VyLXVuc3Vic2NyaWJlQGx1Y2VuZS5hcGFjaGUu
b3JnDQpGb3IgYWRkaXRpb25hbCBjb21tYW5kcywgZS1tYWlsOiBqYXZhLXVzZXItaGVscEBsdWNl
bmUuYXBhY2hlLm9yZw0KDQo=

DQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0NClRvIHVuc3Vic2NyaWJlLCBlLW1haWw6IGphdmEtdXNlci11
bnN1YnNjcmliZUBsdWNlbmUuYXBhY2hlLm9yZw0KRm9yIGFkZGl0aW9uYWwgY29tbWFuZHMs
IGUtbWFpbDogamF2YS11c2VyLWhlbHBAbHVjZW5lLmFwYWNoZS5vcmcNCg0K