Re: DBD::Oracle forked client hangs with Oracle Client Libraries 19.20 and later.

Justin Schoeman <[email protected]> Fri, 27 Oct 2023 09:27:44 +0200
Newsgroups gmane.comp.lang.perl.modules.dbi.general
Message-ID <[email protected]>
VG8gZm9sbG93IHVwLCB3aXRoIHRoZSBoYWNrYXJvdW5kIGluIHRoZSBwcmV2aW91cyBwb3N0
LCBhbmQgbW9kaWZ5IA0KdGVzdC5wbCB0byBkaXNwYXRjaCBiYXRjaGVzIG9mIDIwIGNoaWxk
cmVuLCBpdCBldmVudHVhbGx5IGRpZXMgd2l0aCBhIA0Kc2VnZmF1bHQgKGJlbG93IC0gY29y
ZWR1bXAgYXZhaWxhYmxlIG9uIHJlcXVlc3QpLiBBbHRob3VnaCBJIGNhbiBub3QgYmUgDQpz
dXJlIGlmIHRoaXMgaXMgcmVsYXRlZCB0byBteSBoYWNrLCBvciB0aGUgY29yZSBsaWJyYXJ5
Lg0KDQpUaGFua3MsDQoNCkp1c3Rpbg0KDQogwqDCoMKgwqDCoMKgIE1lc3NhZ2U6IFByb2Nl
c3MgMTE0MTY5MSAodGVzdC5wbCkgb2YgdXNlciAxMDAwIGR1bXBlZCBjb3JlLg0KDQogwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIE1vZHVsZSBsaWJuc3NfcmVzb2x2ZS5zby4y
IGZyb20gcnBtIA0Kc3lzdGVtZC0yNTMuMTAtMS5mYzM4Lng4Nl82NA0KIMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoCBNb2R1bGUgbGlibnNzX21kbnM0X21pbmltYWwuc28uMiBm
cm9tIHJwbSANCm5zcy1tZG5zLTAuMTUuMS04LmZjMzgueDg2XzY0DQogwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgIE1vZHVsZSBsaWJjYXAuc28uMiBmcm9tIHJwbSBsaWJjYXAt
Mi40OC02LmZjMzgueDg2XzY0DQogwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIE1v
ZHVsZSBsaWJuc3NfbXlob3N0bmFtZS5zby4yIGZyb20gcnBtIA0Kc3lzdGVtZC0yNTMuMTAt
MS5mYzM4Lng4Nl82NA0KIMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBNb2R1bGUg
bGlibnVtYS5zby4xIGZyb20gcnBtIG51bWFjdGwtMi4wLjE2LTIuZmMzOC54ODZfNjQNCiDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgTW9kdWxlIGxpYmFpby5zby4xIGZyb20g
cnBtIGxpYmFpby0wLjMuMTExLTE1LmZjMzgueDg2XzY0DQogwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgIE1vZHVsZSBsaWJjcnlwdC5zby4yIGZyb20gcnBtIA0KbGlieGNyeXB0
LTQuNC4zNi0xLmZjMzgueDg2XzY0DQogwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
IFN0YWNrIHRyYWNlIG9mIHRocmVhZCAxMTQxNjk3Og0KIMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoCAjMMKgIDB4MDAwMDdmOGJmZTBiMDg4NCBfX3B0aHJlYWRfa2lsbF9pbXBs
ZW1lbnRhdGlvbiANCihsaWJjLnNvLjYgKyAweDhlODg0KQ0KIMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoCAjMcKgIDB4MDAwMDdmOGJmZTA1ZmFmZSByYWlzZSAobGliYy5zby42
ICsgMHgzZGFmZSkNCiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgIzLCoCAweDAw
MDA3ZjhiZWVjY2I3M2Ygc2tnZXNpZ09TQ3Jhc2ggDQoobGliY2xudHNoLnNvLjIxLjEgKyAw
eDI4Y2I3M2YpDQogwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICMzwqAgMHgwMDAw
N2Y4YmVmM2NhOWVkIGtwZURiZ1NpZ25hbEhhbmRsZXIgDQoobGliY2xudHNoLnNvLjIxLjEg
KyAweDJmY2E5ZWQpDQogwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICM0wqAgMHgw
MDAwN2Y4YmVlY2NiYTUyIHNrZ2VzaWdfc2lnYWN0aW9uSGFuZGxlciANCihsaWJjbG50c2gu
c28uMjEuMSArIDB4MjhjYmE1MikNCiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAg
IzXCoCAweDAwMDA3ZjhiZmUwNWZiYjAgX19yZXN0b3JlX3J0IChsaWJjLnNvLjYgKyAweDNk
YmIwKQ0KIMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAjNsKgIDB4MDAwMDdmOGJm
ZTMwMmU3MCBQZXJsX2NzaWdoYW5kbGVyMyANCihsaWJwZXJsLnNvLjUuMzYgKyAweDEwMmU3
MCkNCiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgIzfCoCAweDAwMDA3ZjhiZmUw
NWZiYjAgX19yZXN0b3JlX3J0IChsaWJjLnNvLjYgKyAweDNkYmIwKQ0KIMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoCAjOMKgIDB4MDAwMDdmOGJmZTBhYjIxOSBfX2Z1dGV4X2Fi
c3RpbWVkX3dhaXRfY29tbW9uIA0KKGxpYmMuc28uNiArIDB4ODkyMTkpDQogwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgICM5wqAgMHgwMDAwN2Y4YmZlMGFkZjIyIA0KcHRocmVh
ZF9jb25kX3RpbWVkd2FpdEBAR0xJQkNfMi4zLjIgKGxpYmMuc28uNiArIDB4OGJmMjIpDQog
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICMxMCAweDAwMDA3ZjhiZWI2YWJmYzMg
c2x0c3BjdGltZXdhaXQgDQoobGliY2xudHNoY29yZS5zby4yMS4xICsgMHhhYmZjMykNCiDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgIzExIDB4MDAwMDdmOGJlYzhjZjUwMSBr
cHVjcGluY3J0aW1lIChsaWJjbG50c2guc28uMjEuMSANCisgMHg0Y2Y1MDEpDQogwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICMxMiAweDAwMDA3ZjhiZmUwYWU5NDcgc3RhcnRf
dGhyZWFkIChsaWJjLnNvLjYgKyAweDhjOTQ3KQ0KIMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoCAjMTMgMHgwMDAwN2Y4YmZlMTM0ODYwIF9fY2xvbmUzIChsaWJjLnNvLjYgKyAw
eDExMjg2MCkNCg0KIMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBTdGFjayB0cmFj
ZSBvZiB0aHJlYWQgMTE0MTY5MToNCiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAg
IzDCoCAweDAwMDA3ZjhiZmUxMjMwZWEgcmVhZCAobGliYy5zby42ICsgMHgxMDEwZWEpDQog
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICMxwqAgMHgwMDAwN2Y4YmVmOGQwMmQw
IHNudHRyZWFkIChsaWJjbG50c2guc28uMjEuMSArIA0KMHgzNGQwMmQwKQ0KIMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAjMsKgIDB4MDAwMDdmOGJlZjhjZWIzNSBudHRmcHJk
IChsaWJjbG50c2guc28uMjEuMSArIA0KMHgzNGNlYjM1KQ0KIMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoCAjM8KgIDB4MDAwMDdmOGJlZjhjM2M5NSBuc2Jhc2ljX2JyYyAobGli
Y2xudHNoLnNvLjIxLjEgKyANCjB4MzRjM2M5NSkNCiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqAgIzTCoCAweDAwMDA3ZjhiZWY4YjdlN2YgbmlvcXJjIChsaWJjbG50c2guc28u
MjEuMSArIA0KMHgzNGI3ZTdmKQ0KIMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAj
NcKgIDB4MDAwMDdmOGJlZjhmN2VjZiB0dGNkcnYgKGxpYmNsbnRzaC5zby4yMS4xICsgDQow
eDM0ZjdlY2YpDQogwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICM2wqAgMHgwMDAw
N2Y4YmVmOGJkY2NkIG5pb3F3YSAobGliY2xudHNoLnNvLjIxLjEgKyANCjB4MzRiZGNjZCkN
CiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgIzfCoCAweDAwMDA3ZjhiZWY4OGI2
OTAgdXBpcnRyYyAobGliY2xudHNoLnNvLjIxLjEgKyANCjB4MzQ4YjY5MCkNCiDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgIzjCoCAweDAwMDA3ZjhiZWY4YTAzMzEga3B1cmNz
YyAobGliY2xudHNoLnNvLjIxLjEgKyANCjB4MzRhMDMzMSkNCiDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqAgIznCoCAweDAwMDA3ZjhiZWY4OTBmNDAga3B1ZXhlYyAobGliY2xu
dHNoLnNvLjIxLjEgKyANCjB4MzQ5MGY0MCkNCiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqAgIzEwIDB4MDAwMDdmOGJlZjg4YWQ0OSBPQ0lTdG10RXhlY3V0ZSANCihsaWJjbG50
c2guc28uMjEuMSArIDB4MzQ4YWQ0OSkNCiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqAgIzExIDB4MDAwMDdmOGJmZTVlMjM3NyBvcmFfc3RfZXhlY3V0ZSAoT3JhY2xlLnNvICsg
MHgyNDM3NykNCiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgIzEyIDB4MDAwMDdm
OGJmZTVjYWQ3ZCBYU19EQkRfX09yYWNsZV9fc3RfZXhlY3V0ZSANCihPcmFjbGUuc28gKyAw
eGNkN2QpDQogwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICMxMyAweDAwMDA3Zjhi
ZmU2MWIxMDYgWFNfREJJX2Rpc3BhdGNoIChEQkkuc28gKyAweGYxMDYpDQogwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgICMxNCAweDAwMDA3ZjhiZmUzMjY1YWEgUGVybF9wcF9l
bnRlcnN1YiANCihsaWJwZXJsLnNvLjUuMzYgKyAweDEyNjVhYSkNCiDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqAgIzE1IDB4MDAwMDdmOGJmZTMxNzk1OCBQZXJsX3J1bm9wc19z
dGFuZGFyZCANCihsaWJwZXJsLnNvLjUuMzYgKyAweDExNzk1OCkNCiDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqAgIzE2IDB4MDAwMDdmOGJmZTI3YzNlNyBQZXJsX2NhbGxfc3Yg
KGxpYnBlcmwuc28uNS4zNiArIA0KMHg3YzNlNykNCiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqAgIzE3IDB4MDAwMDdmOGJmZTYxYjE2NCBYU19EQklfZGlzcGF0Y2ggKERCSS5z
byArIDB4ZjE2NCkNCiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgIzE4IDB4MDAw
MDdmOGJmZTMyNjVhYSBQZXJsX3BwX2VudGVyc3ViIA0KKGxpYnBlcmwuc28uNS4zNiArIDB4
MTI2NWFhKQ0KIMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAjMTkgMHgwMDAwN2Y4
YmZlMzE3OTU4IFBlcmxfcnVub3BzX3N0YW5kYXJkIA0KKGxpYnBlcmwuc28uNS4zNiArIDB4
MTE3OTU4KQ0KIMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAjMjAgMHgwMDAwN2Y4
YmZlMjgyNTlkIHBlcmxfcnVuIChsaWJwZXJsLnNvLjUuMzYgKyAweDgyNTlkKQ0KIMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAjMjEgMHgwMDAwNTY1NTFjYTE3MzRhIG1haW4g
KHBlcmwgKyAweDEzNGEpDQogwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICMyMiAw
eDAwMDA3ZjhiZmUwNDliOGEgX19saWJjX3N0YXJ0X2NhbGxfbWFpbiANCihsaWJjLnNvLjYg
KyAweDI3YjhhKQ0KIMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAjMjMgMHgwMDAw
N2Y4YmZlMDQ5YzRiIF9fbGliY19zdGFydF9tYWluQEBHTElCQ18yLjM0IA0KKGxpYmMuc28u
NiArIDB4MjdjNGIpDQogwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICMyNCAweDAw
MDA1NjU1MWNhMTczODUgX3N0YXJ0IChwZXJsICsgMHgxMzg1KQ0KIMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoCBFTEYgb2JqZWN0IGJpbmFyeSBhcmNoaXRlY3R1cmU6IEFNRCB4
ODYtNjQNCg0KT24gMjAyMy8xMC8yNSAxNTozOSwgSnVzdGluIFNjaG9lbWFuIHdyb3RlOg0K
PiBHb29kIGRheSwNCj4NCj4gSSBhbSB0cnlpbmcgdG8gZGlnIGludG8gYW4gaXNzdWUgYWZ0
ZXIgYSByZWNlbnQgT3JhY2xlIHVwZGF0ZS4gVGhlIA0KPiBhcHBsaWNhdGlvbiBoYXMgYmVl
biBydW5uaW5nIGZsYXdsZXNzbHkgZnJvbSB2ZXJzaW9uIDkueCB0byAxOC41LCBhbmQgDQo+
IGhhcyBvbmx5IGJyb2tlbiBvbiB0aGUgbW9zdCByZWNlbnQgY2xpZW50IGxpYnJhcnkgdXBk
YXRlcy4NCj4NCj4gQXR0YWNoZWQgaXMgYSBjdXQgZG93biBhcHBsaWNhdGlvbiB3aGljaCBk
ZW1vbnN0cmF0ZXMgdGhlIGlzc3VlLg0KPg0KPiBUaGUgZm9ya2VkIGNoaWxkIHByb2Nlc3Nl
cyBuZXZlciBleGl0LiBBdHRhY2hpbmcgdG8gdGhlbSB3aXRoIEdEQiBnaXZlczoNCj4NCj4g
KGdkYikgdCBhIGEgYnQNCj4NCj4gVGhyZWFkIDEgKFRocmVhZCAweDdmMGM0OGE2MmM0MCAo
TFdQIDc3MzY3NikgInRlc3QucGwiKToNCj4gIzDCoCBmdXRleF93YWl0IChwcml2YXRlPTxv
cHRpbWl6ZWQgb3V0PiwgZXhwZWN0ZWQ9MTQsIA0KPiBmdXRleF93b3JkPTB4NTVjNWVmMWM5
NmU0KSBhdCAuLi9zeXNkZXBzL25wdGwvZnV0ZXgtaW50ZXJuYWwuaDoxNDYNCj4gIzHCoCBm
dXRleF93YWl0X3NpbXBsZSAocHJpdmF0ZT08b3B0aW1pemVkIG91dD4sIGV4cGVjdGVkPTE0
LCANCj4gZnV0ZXhfd29yZD0weDU1YzVlZjFjOTZlNCkgYXQgLi4vc3lzZGVwcy9ucHRsL2Z1
dGV4LWludGVybmFsLmg6MTc3DQo+ICMywqAgX19HSV9fX3B0aHJlYWRfY29uZF9kZXN0cm95
IChjb25kPTB4NTVjNWVmMWM5NmMwKSBhdCANCj4gcHRocmVhZF9jb25kX2Rlc3Ryb3kuYzo1
Mw0KPiAjM8KgIDB4MDAwMDdmMGMzNWNhYzA3MiBpbiBzbHRzcGNkZXN0cm95ICgpIGZyb20g
DQo+IC91c3IvbGliL29yYWNsZS8yMS9jbGllbnQ2NC9saWIvbGliY2xudHNoY29yZS5zby4y
MS4xDQo+ICM0wqAgMHgwMDAwN2YwYzM2ZWNmNjhlIGluIGtwdWNwc3RvcHRociAoKSBmcm9t
IA0KPiAvdXNyL2xpYi9vcmFjbGUvMjEvY2xpZW50NjQvbGliL2xpYmNsbnRzaC5zby4yMS4x
DQo+ICM1wqAgMHgwMDAwN2YwYzM5ZTlhNDJlIGluIGtwdWZobmRsMCAoKSBmcm9tIA0KPiAv
dXNyL2xpYi9vcmFjbGUvMjEvY2xpZW50NjQvbGliL2xpYmNsbnRzaC5zby4yMS4xDQo+ICM2
wqAgMHgwMDAwN2YwYzQ4YTEwMjhhIGluIG9yYV9kYl9kZXN0cm95IA0KPiAoZGJoPWRiaEBl
bnRyeT0weDU1YzVlZjMyYzViMCwgaW1wX2RiaD1pbXBfZGJoQGVudHJ5PTB4NTVjNWVmMDM1
MzkwKSANCj4gYXQgL3Jvb3QvLmxvY2FsL3NoYXJlLy5jcGFuL2J1aWxkL0RCRC1PcmFjbGUt
MS44My0yL2RiZGltcC5jOjEyNjMNCj4gIzfCoCAweDAwMDA3ZjBjNDhhMTA3NTIgaW4gWFNf
REJEX19PcmFjbGVfX2RiX0RFU1RST1kgDQo+IChteV9wZXJsPTB4NTVjNWVlZTI3MmEwLCBj
dj08b3B0aW1pemVkIG91dD4pIGF0IC4vT3JhY2xlLnhzaTo0MzINCj4gIzjCoCAweDAwMDA3
ZjBjNDhhNGQxMDYgaW4gWFNfREJJX2Rpc3BhdGNoIChteV9wZXJsPTB4NTVjNWVlZTI3MmEw
LCANCj4gY3Y9MHg1NWM1ZWYxM2I5YzgpIGF0IA0KPiAvdXNyL3NyYy9kZWJ1Zy9wZXJsLURC
SS0xLjY0My0xNS5mYzM4Lng4Nl82NC9EQkkueHM6Mzc4Mw0KPiAjOcKgIDB4MDAwMDdmMGM0
ODcyNjVhYSBpbiBQZXJsX3BwX2VudGVyc3ViIChteV9wZXJsPTB4NTVjNWVlZTI3MmEwKSBh
dCANCj4gL3Vzci9zcmMvZGVidWcvcGVybC01LjM2LjEtNDk3LmZjMzgueDg2XzY0L3BwX2hv
dC5jOjUzNTMNCj4gIzEwIDB4MDAwMDdmMGM0ODY3YzdhNiBpbiBQZXJsX2NhbGxfc3YgKG15
X3Blcmw9PG9wdGltaXplZCBvdXQ+LCANCj4gc3Y9PG9wdGltaXplZCBvdXQ+LCBmbGFncz08
b3B0aW1pemVkIG91dD4pIGF0IA0KPiAvdXNyL3NyYy9kZWJ1Zy9wZXJsLTUuMzYuMS00OTcu
ZmMzOC54ODZfNjQvcGVybC5jOjMwNTcNCj4gIzExIDB4MDAwMDdmMGM0ODcyYzY0MyBpbiBT
X2N1cnNlIA0KPiAobXlfcGVybD1teV9wZXJsQGVudHJ5PTB4NTVjNWVlZTI3MmEwLCBzdj1z
dkBlbnRyeT0weDU1YzVlZjM0YWYzOCwgDQo+IGNoZWNrX3JlZmNudD1jaGVja19yZWZjbnRA
ZW50cnk9dHJ1ZSkgYXQgDQo+IC91c3Ivc3JjL2RlYnVnL3BlcmwtNS4zNi4xLTQ5Ny5mYzM4
Lng4Nl82NC9zdi5jOjY5NzMNCj4gIzEyIDB4MDAwMDdmMGM0ODcyY2Q4OCBpbiBQZXJsX3N2
X2NsZWFyIA0KPiAobXlfcGVybD1teV9wZXJsQGVudHJ5PTB4NTVjNWVlZTI3MmEwLCANCj4g
b3JpZ19zdj1vcmlnX3N2QGVudHJ5PTB4NTVjNWVmMDc5ODU4KSBhdCANCj4gL3Vzci9zcmMv
ZGVidWcvcGVybC01LjM2LjEtNDk3LmZjMzgueDg2XzY0L3N2LmM6NjUzNg0KPiAjMTMgMHgw
MDAwN2YwYzQ4NzJkM2EyIGluIFBlcmxfc3ZfZnJlZTIgKG15X3Blcmw9MHg1NWM1ZWVlMjcy
YTAsIA0KPiBzdj0weDU1YzVlZjA3OTg1OCwgcmM9PG9wdGltaXplZCBvdXQ+KSBhdCANCj4g
L3Vzci9zcmMvZGVidWcvcGVybC01LjM2LjEtNDk3LmZjMzgueDg2XzY0L3N2LmM6NzA3Mw0K
PiAjMTQgMHgwMDAwN2YwYzQ4NmZjODc4IGluIFBlcmxfU3ZSRUZDTlRfZGVjIChzdj08b3B0
aW1pemVkIG91dD4sIA0KPiBteV9wZXJsPTB4NTVjNWVlZTI3MmEwKSBhdCANCj4gL3Vzci9z
cmMvZGVidWcvcGVybC01LjM2LjEtNDk3LmZjMzgueDg2XzY0L2lubGluZS5oOjQwNQ0KPiAj
MTUgU19tZ19mcmVlX3N0cnVjdCAobXlfcGVybD0weDU1YzVlZWUyNzJhMCwgc3Y9PG9wdGlt
aXplZCBvdXQ+LCANCj4gbWc9MHg1NWM1ZWYzNGJiNzApIGF0IC91c3Ivc3JjL2RlYnVnL3Bl
cmwtNS4zNi4xLTQ5Ny5mYzM4Lng4Nl82NC9tZy5jOjU2Mw0KPiAjMTYgMHgwMDAwN2YwYzQ4
NmZjOGM5IGluIFBlcmxfbWdfZnJlZSAobXlfcGVybD0weDU1YzVlZWUyNzJhMCwgDQo+IHN2
PTB4NTVjNWVmMzRhZWMwKSBhdCAvdXNyL3NyYy9kZWJ1Zy9wZXJsLTUuMzYuMS00OTcuZmMz
OC54ODZfNjQvbWcuYzo1ODUNCj4gIzE3IDB4MDAwMDdmMGM0ODcyY2RjMyBpbiBQZXJsX3N2
X2NsZWFyIA0KPiAobXlfcGVybD1teV9wZXJsQGVudHJ5PTB4NTVjNWVlZTI3MmEwLCANCj4g
b3JpZ19zdj1vcmlnX3N2QGVudHJ5PTB4NTVjNWVmMzRhZWMwKSBhdCANCj4gL3Vzci9zcmMv
ZGVidWcvcGVybC01LjM2LjEtNDk3LmZjMzgueDg2XzY0L3N2LmM6NjU0NA0KPiAjMTggMHgw
MDAwN2YwYzQ4NzJkM2EyIGluIFBlcmxfc3ZfZnJlZTIgKG15X3Blcmw9MHg1NWM1ZWVlMjcy
YTAsIA0KPiBzdj0weDU1YzVlZjM0YWVjMCwgcmM9PG9wdGltaXplZCBvdXQ+KSBhdCANCj4g
L3Vzci9zcmMvZGVidWcvcGVybC01LjM2LjEtNDk3LmZjMzgueDg2XzY0L3N2LmM6NzA3Mw0K
PiAjMTkgMHgwMDAwN2YwYzQ4NzIyNjQ2IGluIFBlcmxfU3ZSRUZDTlRfZGVjX05OIChzdj08
b3B0aW1pemVkIG91dD4sIA0KPiBteV9wZXJsPTxvcHRpbWl6ZWQgb3V0PikgYXQgDQo+IC91
c3Ivc3JjL2RlYnVnL3BlcmwtNS4zNi4xLTQ5Ny5mYzM4Lng4Nl82NC9pbmxpbmUuaDo0MTkN
Cj4gIzIwIGRvX2NsZWFuX29ianMgKHJlZj0weDU1YzVlZjMzOGNlMCwgbXlfcGVybD08b3B0
aW1pemVkIG91dD4pIGF0IA0KPiAvdXNyL3NyYy9kZWJ1Zy9wZXJsLTUuMzYuMS00OTcuZmMz
OC54ODZfNjQvc3YuYzo0NDgNCj4gIzIxIFNfdmlzaXQgKG1hc2s9MjA0OCwgZmxhZ3M9MjA0
OCwgZj08b3B0aW1pemVkIG91dD4sIA0KPiBteV9wZXJsPTB4NTVjNWVlZTI3MmEwKSBhdCAN
Cj4gL3Vzci9zcmMvZGVidWcvcGVybC01LjM2LjEtNDk3LmZjMzgueDg2XzY0L3N2LmM6Mzkx
DQo+ICMyMiBQZXJsX3N2X2NsZWFuX29ianMgKG15X3Blcmw9MHg1NWM1ZWVlMjcyYTApIGF0
IA0KPiAvdXNyL3NyYy9kZWJ1Zy9wZXJsLTUuMzYuMS00OTcuZmMzOC54ODZfNjQvc3YuYzo1
NDINCj4gIzIzIDB4MDAwMDdmMGM0ODY4MDE2MCBpbiBwZXJsX2Rlc3RydWN0IChteV9wZXJs
PTB4NTVjNWVlZTI3MmEwKSBhdCANCj4gL3Vzci9zcmMvZGVidWcvcGVybC01LjM2LjEtNDk3
LmZjMzgueDg2XzY0L3BlcmwuYzo4ODANCj4gIzI0IDB4MDAwMDU1YzVlZGEwZjMyNCBpbiBt
YWluIChhcmdjPTxvcHRpbWl6ZWQgb3V0PiwgYXJndj08b3B0aW1pemVkIA0KPiBvdXQ+LCBl
bnY9PG9wdGltaXplZCBvdXQ+KSBhdCANCj4gL3Vzci9zcmMvZGVidWcvcGVybC01LjM2LjEt
NDk3LmZjMzgueDg2XzY0L3BlcmxtYWluLmM6MTIxDQo+DQo+IEkgaGF2ZSBpbnN0cnVtZW50
ZWQgZGJkaW1wbC5jIGFzIGZvbGxvd3M6DQo+DQo+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgLyogZnJlZSBnbG9iYWwgZW52aXJvbm1lbnQgaGFu
ZGxlIGR1cmluZyANCj4gZGVzdHJ1Y3Rpb24gb2YgbGFzdCBjb25uZWN0aW9uICovDQo+IMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfSBlbHNlIGlm
ICggKGltcF9kYmgtPmVudmhwID09IGltcF9kcmgtPmVudmhwKSANCj4gJiYgKFN2VFJVRShw
ZXJsX2dldF9zdigiREJJOjpQRVJMX0VORElORyIsMCkpKSApIHsNCj4gwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgUGVy
bElPX3ByaW50ZihQZXJsSU9fc3RkZXJyKCksIA0KPiAiRVhJVDFcbiIpOw0KPiDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oCBPQ0lIYW5kbGVGcmVlX2xvZ19zdGF0KGltcF9kYmgsIA0KPiBpbXBfZGJoLT5lbnZocCwg
T0NJX0hUWVBFX0VOViwgc3RhdHVzKTsNCj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgUGVybElPX3ByaW50ZihQZXJs
SU9fc3RkZXJyKCksIA0KPiAiRVhJVDJcbiIpOw0KPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBpZiAoIHN0YXR1cyA9
PSBPQ0lfU1VDQ0VTUyApIHsNCj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgUGVybElPX3ByaW50ZihQZXJsSU9fc3Rk
ZXJyKCksIA0KPiAiRVhJVDNcbiIpOw0KPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgaW1w
X2RiaC0+ZW52aHAgPSBOVUxMOw0KPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgaW1wX2Ry
aC0+ZW52aHAgPSBOVUxMOw0KPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB9DQo+IMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfQ0KPg0KPiBBbmQgdGhlIGNoaWxkIHByaW50
cyAnRVhJVDEnLCBidXQgbmV2ZXIgJ0VYSVQyJy4gSWYgSSBjb21tZW50IG91dCB0aGUgDQo+
IGNhbGwgdG8gT0NJSGFuZGxlRnJlZV9sb2dfc3RhdCgpIHRoZW4gdGhlIGNoaWxkIHByb2Nl
c3MgZXhpdHMgd2l0aG91dCANCj4gZXJyb3IgKGFsdGhvdWdoIHRoZXJlIGFyZSByYW5kb20g
c2VnZmF1bHRzIGFmdGVyIGxvbmcgcnVuIHRpbWVzKS4NCj4NCj4gMS4gQSBjb21wbGV0ZSBs
b2cgb2YgYWxsIHN0ZXBzIG9mIHRoZSBidWlsZCwgZS5nLjoNCj4NCj4gQXRhdGNoZWQgKGJ1
aWxkLmxvZykNCj4NCj4gMi4gRnVsbCBkZXRhaWxzIG9mIHdoaWNoIHZlcnNpb24gb2YgT3Jh
Y2xlIGNsaWVudCBhbmQgc2VydmVyIHlvdSdyZSB1c2luZw0KPg0KPiAjIHJwbSAtcWEgfCBn
cmVwIG9yYWNsZQ0KPiBvcmFjbGUtaW5zdGFudGNsaWVudC1iYXNpYy0yMS4xMS4wLjAuMC0x
Lng4Nl82NA0KPiBvcmFjbGUtaW5zdGFudGNsaWVudC1kZXZlbC0yMS4xMS4wLjAuMC0xLng4
Nl82NA0KPg0KPg0KPiAzLiBUaGUgb3V0cHV0IG9mIHBlcmwgLVbCoMKgwqDCoMKgwqAgKHRo
YXQncyBhIGNhcGl0YWwgViwgbm90IGxvd2VyY2FzZSkNCj4NCj4gQXR0YWNoZWQgKHBlcmwt
Vi5sb2cpDQo+DQo+IFRoYW5rcywNCj4gSnVzdGluDQo+DQo+DQo+DQo=