Re: Phandles

Kyle Bonnici <[email protected]> Mon, 13 Apr 2026 06:29:05 +0000
Newsgroups org.kernel.vger.devicetree-compiler
Message-ID <[email protected]>
DQoNCj4gT24gMTMgQXByIDIwMjYsIGF0IDA0OjEyLCBEYXZpZCBHaWJzb24gPGRhdmlkQGdpYnNv
bi5kcm9wYmVhci5pZC5hdT4gd3JvdGU6DQo+IA0KPiBPbiBTdW4sIEFwciAxMiwgMjAyNiBhdCAw
MTo1MTozNVBNICswMDAwLCBLeWxlIEJvbm5pY2kgd3JvdGU6DQo+PiANCj4+IA0KPj4+IE9uIDEy
IEFwciAyMDI2LCBhdCAxNDo1MSwgSGVydmUgQ29kaW5hIDxoZXJ2ZS5jb2RpbmFAYm9vdGxpbi5j
b20+IHdyb3RlOg0KPj4+IA0KPj4+IEhpIEt5bGUsDQo+Pj4gDQo+Pj4gT24gU2F0LCAxMSBBcHIg
MjAyNiAxODozMzozMyArMDAwMA0KPj4+IEt5bGUgQm9ubmljaSA8a3lsZWJvbm5pY2lAaG90bWFp
bC5jb20+IHdyb3RlOg0KPj4+IA0KPj4+PiBIaQ0KPj4+PiANCj4+Pj4gSSBoYXZlIGJlZW4gbG9v
a2luZyBhdCB0aGUgdGhlIGNvZGUgZm9yIHRoZSBjb21waWxlciBhbmQgSSBhbSB3b25kZXJpbmcg
d2hpY2ggc3BlY2lmaWNhdGlvbnMgbWFya3MgdGhlIGJlbG93IHByb3BlcnRpZXMgTVVTVCBCRSBO
ZXh1cyBQcm9wZXJ0aWVzIGhlbmNlIHRoZSB2YWxpZGF0aW9uLg0KPj4+PiANCj4+Pj4gV0FSTklO
R19QUk9QRVJUWV9QSEFORExFX0NFTExTKGNsb2NrcywgImNsb2NrcyIsICIjY2xvY2stY2VsbHMi
KTsNCj4+Pj4gV0FSTklOR19QUk9QRVJUWV9QSEFORExFX0NFTExTKGNvb2xpbmdfZGV2aWNlLCAi
Y29vbGluZy1kZXZpY2UiLCAiI2Nvb2xpbmctY2VsbHMiKTsNCj4+Pj4gV0FSTklOR19QUk9QRVJU
WV9QSEFORExFX0NFTExTKGRtYXMsICJkbWFzIiwgIiNkbWEtY2VsbHMiKTsNCj4+Pj4gV0FSTklO
R19QUk9QRVJUWV9QSEFORExFX0NFTExTKGh3bG9ja3MsICJod2xvY2tzIiwgIiNod2xvY2stY2Vs
bHMiKTsNCj4+Pj4gV0FSTklOR19QUk9QRVJUWV9QSEFORExFX0NFTExTKGludGVycnVwdHNfZXh0
ZW5kZWQsICJpbnRlcnJ1cHRzLWV4dGVuZGVkIiwgIiNpbnRlcnJ1cHQtY2VsbHMiKTsNCj4+Pj4g
V0FSTklOR19QUk9QRVJUWV9QSEFORExFX0NFTExTKGlvX2NoYW5uZWxzLCAiaW8tY2hhbm5lbHMi
LCAiI2lvLWNoYW5uZWwtY2VsbHMiKTsNCj4+Pj4gV0FSTklOR19QUk9QRVJUWV9QSEFORExFX0NF
TExTKGlvbW11cywgImlvbW11cyIsICIjaW9tbXUtY2VsbHMiKTsNCj4+Pj4gV0FSTklOR19QUk9Q
RVJUWV9QSEFORExFX0NFTExTKG1ib3hlcywgIm1ib3hlcyIsICIjbWJveC1jZWxscyIpOw0KPj4+
PiBXQVJOSU5HX1BST1BFUlRZX1BIQU5ETEVfQ0VMTFMobXNpX3BhcmVudCwgIm1zaS1wYXJlbnQi
LCAiI21zaS1jZWxscyIsIHRydWUpOw0KPj4+PiBXQVJOSU5HX1BST1BFUlRZX1BIQU5ETEVfQ0VM
TFMobXV4X2NvbnRyb2xzLCAibXV4LWNvbnRyb2xzIiwgIiNtdXgtY29udHJvbC1jZWxscyIpOw0K
Pj4+PiBXQVJOSU5HX1BST1BFUlRZX1BIQU5ETEVfQ0VMTFMocGh5cywgInBoeXMiLCAiI3BoeS1j
ZWxscyIpOw0KPj4+PiBXQVJOSU5HX1BST1BFUlRZX1BIQU5ETEVfQ0VMTFMocG93ZXJfZG9tYWlu
cywgInBvd2VyLWRvbWFpbnMiLCAiI3Bvd2VyLWRvbWFpbi1jZWxscyIpOw0KPj4+PiBXQVJOSU5H
X1BST1BFUlRZX1BIQU5ETEVfQ0VMTFMocHdtcywgInB3bXMiLCAiI3B3bS1jZWxscyIpOw0KPj4+
PiBXQVJOSU5HX1BST1BFUlRZX1BIQU5ETEVfQ0VMTFMocmVzZXRzLCAicmVzZXRzIiwgIiNyZXNl
dC1jZWxscyIpOw0KPj4+PiBXQVJOSU5HX1BST1BFUlRZX1BIQU5ETEVfQ0VMTFMoc291bmRfZGFp
LCAic291bmQtZGFpIiwgIiNzb3VuZC1kYWktY2VsbHMiKTsNCj4+Pj4gV0FSTklOR19QUk9QRVJU
WV9QSEFORExFX0NFTExTKHRoZXJtYWxfc2Vuc29ycywgInRoZXJtYWwtc2Vuc29ycyIsICIjdGhl
cm1hbC1zZW5zb3ItY2VsbHMiKTsNCj4+PiANCj4+PiBBbGwgb2YgdGhvc2UgcHJvcGVydGllcyBh
cmUgZGVmaW5lZCBhcyBwaGFuZGxlcy4NCj4+PiANCj4+PiBGb3IgaW5zdGFuY2UsIHRoZSAncHdt
cycgcHJvcGVydHkgYXZhaWxhYmxlIGluIGEgbm9kZSBtZWFucyB0aGUgdGhlIG5vZGUgaXMNCj4+
PiBhIHB3bSBjb25zdW1lci4gSXQgbXVzdCBmb2xsb3cgdGhlIHB3bSBjb25zdW1lciBiaW5kaW5n
IFsxXSBhbmQgc28gYSBwaGFuZGxlDQo+Pj4gaXMgaW52b2x2ZWQuDQo+Pj4gDQo+Pj4gVGhpcyBw
aGFuZGxlIGNhbiBoYXZlIGFyZ3VtZW50cyBhbmQgdGhlIG51bWJlciBvZiBhcmd1bWVudCBpcyBk
ZWZpbmVkIGJ5IHRoZQ0KPj4+ICNwd20tY2VsbHMgcHJvcGVydHkgc2V0IGluIHRoZSBwd20gcHJv
dmlkZXIgbm9kZSBbMl0sIFszXS4NCj4+PiANCj4+PiBbMV0gaHR0cHM6Ly9lbGl4aXIuYm9vdGxp
bi5jb20vemVwaHlyL3Y0LjQuMC1yYzMvc291cmNlL2R0cy9iaW5kaW5ncy9wd20vcHdtLWNvbnRy
b2xsZXIueWFtbA0KPj4+IFsyXSBodHRwczovL2dpdGh1Yi5jb20vemVwaHlycHJvamVjdC1ydG9z
L3plcGh5ci9ibG9iL21haW4vZHRzL2JpbmRpbmdzL3B3bS9wd20tY29udHJvbGxlci55YW1sDQo+
Pj4gWzNdIGh0dHBzOi8vZWxpeGlyLmJvb3RsaW4uY29tL2xpbnV4L3Y3LjAtcmM3L3NvdXJjZS9E
b2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvcHdtL3B3bS55YW1sDQo+Pj4gDQo+Pj4+
IA0KPj4+PiANCj4+Pj4gVGhlc2UgY2FuIGJlIGZvdW5kIGhlcmU6IGh0dHBzOi8vZ2l0aHViLmNv
bS9kZ2lic29uL2R0Yy9ibG9iL21haW4vY2hlY2tzLmMjTDE0OTggdGhpcyBpcyByZWxldmFudCBm
b3IgaHR0cHM6Ly9naXRodWIuY29tL3plcGh5cnByb2plY3QtcnRvcy96ZXBoeXIvaXNzdWVzLzEw
NzA2Ng0KPj4+IA0KPj4+IEV4YW1wbGVzIHByb3ZpZGVkIGluIHRoZSB6ZXBoeXJwcm9qZWN0IGlz
c3VlIGxpbmsgYXJlLCBpbiBteSBvcGluaW9uLCBpbmNvcnJlY3QuDQo+Pj4gDQo+Pj4gQ2FzZSAx
Og0KPj4+IC8gew0KPj4+ICAgICBub2RlMSB7DQo+Pj4gICAgICAgICAgcHdtcyA9IDwxICZwd20w
IDEgMjAgUFdNX1BPTEFSSVRZX05PUk1BTD47DQo+Pj4gDQo+Pj4gICAgICAgICAgSGVyZSB0aGUg
Zmlyc3QgY2VsbCAnMScgaXMgbm90IGEgcGhhbmRsZS4NCj4+IA0KPj4gSGVyZSB0aGUgY29tcGls
ZXIgaXMgbWFraW5nIGFuIGFzc3VtcHRpb24gaGVyZSB0aGF0IGFsbCBgcHdtc2ANCj4+IHByb3Bl
cnRpZXMgbXVzdCBiZSBzcGVjaWZpZXIgcHJvcGVydGllcyBhbmQgYWxsIHVzZSBgcHdtYCBzcGVj
aWZpZXIuDQo+PiANCj4+IFRoaXMgaXMgbm90IHRoZSBjYXNlIGluIHplcGh5ci4gQW55IHByb3Bl
cnR5IHRoYXQgaXMgYSBzcGVjaWZpZXINCj4+IHByb3BlcnR5IG11c3QgaW1wbGVtZW50IGEgYmlu
ZGluZyBhbmQgZm9sbG93IHRoZXNlIHJ1bGVzDQo+PiBodHRwczovL2RvY3MuemVwaHlycHJvamVj
dC5vcmcvbGF0ZXN0L2J1aWxkL2R0cy9iaW5kaW5ncy1zeW50YXguaHRtbCNzcGVjaWZpZXItc3Bh
Y2UNCj4+IGFuZCB2YWxpZGF0aW9uIGlzIHRoZSByZXNwb25zaWJpbGl0eSBnbyBaZXBoeXIncyBi
dWlsZCBzeXN0ZW0uDQo+IA0KPiBJJ20gbm90IHF1aXRlIHN1cmUgd2hhdCB5b3UncmUgc2F5aW5n
IGhlcmUuICBBcmUgeW91IHNheWluZyB0aGF0DQo+IFplcGh5ciBpcyB1c2luZyB0aGUgc2FtZSBw
cm9wZXJ0eSBuYW1lIGFzIGFuIGV4aXN0aW5nIGJpbmRpbmcsIGJ1dCBpbg0KPiBhIGRpZmZlcmVu
dCB3YXkgZnJvbSB0aGF0IGJpbmRpbmc/DQoNCldoYXQgSSBhbSBzYXlpbmcgaXMgdGhhdCBhcyBm
YXIgSSBjYW4gc2VlIGZyb20gdGhlIHplcGh5ciBkb2N1bWVudGF0aW9uIGFuZCBjb2RlIA0KSW1w
bGVtZW50YXRpb24gaXQgaXMgcG9zc2libGUgdG8gZGVmaW5lZCBhIGJpbmRpbmcgcHdtcyBhbmQg
aGF2ZSB0aGUgc3BlY2lmaWVyIGJlIGZvb2Jhcg0KU2ltaWxhcmx5IGEgdXNlciBjYW4gZGVmaW5l
IGEgYmluZGluZyB1c2luZyB0aGUgcHJvcGVydHkgbmFtZSBwd21zIGFuZCBhc3NpZ24gYW55IHR5
cGUuDQoNCj4gDQo+IFRoYXQncyBhIHRlcnJpYmxlIGlkZWEsIHdoZXRoZXIgb3Igbm90IGl0J3Mg
dGVjaG5pY2FsbHkgYWdhaW5zdCBhbnkNCj4gc3BlYywNCg0KSSBoYXZlIG5vIG9waW5pb24gaWYg
dGhpcyBhIHRyaWJhbCBpZGVhIG9yIG5vdCwgYW5kIGhvcGUgdG8gZ2V0IHNvbWUgZmVlZGJhY2sg
ZnJvbSB0aGUgWmVwaHlyIGNvbW11bml0eQ0KIG9uIHRoaXMgYXMgd2VsbC4NCg0KPiBBbHNvLCBa
ZXBoeXIgc2hvdWxkbid0IGJlIG1ha2luZyBjaG9pY2VzIGFib3V0IGhvdyB0aGUgZGV2aWNlIHRy
ZWUgaXMNCj4gZW5jb2RlZC4gIFRoZSBkZXZpY2UgdHJlZSBkZXNjcmliZXMgKmhhcmR3YXJlKiAo
cmVhbCBvciB2aXJ0dWFsKSBub3QNCj4gaG93IHRoZSBoYXJkd2FyZSBpcyB1c2VkIGJ5IGEgcGFy
dGljdWxhciBPUy4NCg0KTm90IHN1cmUgSSBmb2xsb3cgaG93IFplcGh5ciBpcyBtYWtpbmcgY2hv
aWNlcyBvbiBob3cgZGV2aWNldHJlZSBpcyBlbmNvZGVkLiANCklmIHlvdSBhcmUgcmVmZXJyaW5n
IHRoZSB0aGUgZGlmZmVyZW5jZSBpbiB0aGUgYmluZGluZyBzeXN0ZW0sIGFnYWluIHRoZSBzcGVj
IGRvZXMgbm90DQpnbyBpbiBkZXRhaWwgb24gdGhlIGZvcm1hdCBvZiBhIGJpbmRpbmcgZmlsZSBp
dCBzZWxmLg0KDQpJIGFtIGp1c3QgYnVpbGRpbmcgYW5kIG1haW50YWluaW5nIGFuIExTUCB0byBh
c3Npc3RzIFplcGh5ciBhbmQgTGludXggZGV2ZWxvcGVycyBhbGlrZSBhbmQgd2hhdCBpcyB0ZWNo
bmljYWxseQ0KYWxsb3dlZCBpbiBaZXBoeXIgaXMgbm90IGFsbG93ZWQgaW4gTGludXguIFRoZSBp
c3N1ZSBoZXJlIGlzIHRoYXQgRFRDIGlzIHdhcm5pbmcgemVwaHlyIHVzZXJzIGFib3V0IGl0LiAN
CkkgYWxzbyBmaW5kIG15IHNlbGYgaW4gdGhlIHdyb25nIHRvIGVuZm9yY2UgdGhlc2UgdHlwZXMg
Zm9yIFplcGh5ciBkdHMgdXNhZ2UgZ2l2ZW4gYWxsIGRvY3VtYW50aW9uIEkgaGF2ZSBzZWVuIA0K
U28gZmFyIHVubGVzcyB0aGlzIGlzIHplcGh5ciBkaXJlY3Rpb25zIGFzIHdlbGwuDQoNClBvc3Np
YmxlIHNvbHV0aW9uczoNCi0gQWRkIOKAnGNsb2Nrc+KAnSwg4oCcY29vbGluZ19kZXZpY2XigJ0s
IOKAnGRtYXPigJ0sIOKAnGh3bG9ja3PigJ0sIOKAnGlvX2NoYW5uZWxz4oCdLCDigJxpb21tdXPi
gJ0sIOKAnG1ib3hlc+KAnSwg4oCcbXNpX3BhcmVudOKAnQ0KICDigJxtdXhfY29udHJvbHPigJ0s
IOKAnHBoeXPigJ0sIOKAnHBvd2VyX2RvbWFpbnPigJ0sIOKAnHB3bXPigJ0sIOKAnHJlc2V0c+KA
nSwg4oCcc291bmRfZGFp4oCdIGFuZCDigJx0aGVybWFsX3NlbnNvcnPigJ0gdG8NClNlY3Rpb24g
Mi4zIG9mIHRoZSBzcGVjIGFuZCBkb2N1bWVudCB0aGUgZXhwZWN0ZWQgdHlwZSBhbmQgZXhwZWN0
ZWQgc3BlY2lmaWVyIHRoZSBzYW1lIHdheSBpdCBpcyBkb25lIA0KRm9yIOKAnGludGVycnVwdHNf
ZXh0ZW5kZWTigJ0uDQogICAgLSBaZXBoeXIgd2lsbCB0aGVuIGhhdmUgdG8gZm9sbG93IGFuZCBk
b2N1bWVudHMgdGhlIGFib3ZlIHByb3BlcnRpZXMgYW5kIG1ha2VzIHRoZSBzcGFjZSBzcGVjaWZp
ZXJzIA0KICAgICAgIHN0YXRpYw0KLSBBbGxvdyB0aGUgZnJlZWRvbSBvZiB0aGUgYWJvdmUgcHJv
cGVydGllcyB0byBiZSB1c2VkIGluIGFueSB3YXkgaW4gZGlmZmVyZW50IHN5c3RlbXMgYXMgY3Vy
cmVudGx5IHN1Z2dlc3RlZCANCkJ5IHRoZSBjdXJyZW50IHNwZWMuIEluIHN1Y2ggY2FzZSB0aGUg
dmFsaWRhdGlvbiBzaG91bGQgYmUgbW92ZSBmcm9tIHRoZSBEVEMgdG8gdGhlIGR0LXZhbGlkYXRl
DQoNCj4gDQo+PiBUaGUgc2FtZSBhcHBsaWVzIGZvciBhbGwgdGhlIG90aGVyIGV4YW1wbGVzIEkg
aGF2ZSBoZXJlDQo+PiBodHRwczovL2dpdGh1Yi5jb20vemVwaHlycHJvamVjdC1ydG9zL3plcGh5
ci9pc3N1ZXMvMTA3MDY2DQo+PiANCj4+IEdpdmVuIHRoYXQgdGhlc2Ugbm9kZXMgZG8gbm90IGlt
cGxlbWVudCBhbnkgYmluZGluZyB0aGVuIG5vIHR5cGUgc2hvdWxkIGJlIGluZmVycmVkLg0KPj4g
DQo+PiBJbiBhZGRpdGlvbiBBRkFJSyB0aGUgZGV2aWNldHJlZSBzcGVjaWZpY2F0aW9uIGRvZXMg
bm90IHNheSBhbnl0aGluZw0KPj4gYWJvdXQgdGhlc2Ugc3BlY2lmaWMgcHJvcGVydHkgbmFtZXMg
KHVubGlrZSBgaW50ZXJydXB0c2AgYW5kDQo+PiBgaW50ZXJydXB0cy1leHRlbmRlZClgDQo+PiAN
Cj4+IEhlbmNlIGl0IGlzIG15IG9wdGlvbiB0aGF0IHRoZSBjb21waWxlciBzaG91bGQgYmUgYWdu
b3N0aWMgb2YgdGhlDQo+PiBiaW5kaW5nIHN5c3RlbSB1c2VkIGFuZCBub3QgbWFrZSBhbnkgYXNz
dW1wdGlvbnMgYWJvdXQgYmluZGluZ3MNCj4+IHVzZWQuDQo+PiANCj4+PiANCj4+PiAgICAgfTsN
Cj4+PiANCj4+PiAgICAgbm9kZTIgew0KPj4+ICAgICAgICAgcHdtcyA9IDwmcHdtMCAxIDIwPjsN
Cj4+PiANCj4+PiAgICAgICAgIEhlcmUgMiBhcmd1bWVudHMuIFRoZSBub2RlIHJlZmVyZW5jZWQg
YnkgJnB3bTAgbXVzdCBpbmRpY2F0ZWQgdGhlDQo+Pj4gICAgICAgICBudW1iZXIgb2YgYXJndW1l
bnQgdG8gcHJvdmlkZS4gSS5lIGl0IG11c3QgaGF2ZSBhICNwd20tY2VsbHMkDQo+Pj4gICAgICAg
ICBwcm9wZXJ0eSBzZXQuDQo+Pj4gDQo+Pj4gICAgICAgICBBY2NvcmRpbmcgdG8geW91ciBleGFt
cGxlLCB0aGlzIHByb3BlcnR5IG11c3QgYmUgI3B3bS1jZWxscz0gPDI+Ow0KPj4+IA0KPj4+IA0K
Pj4+ICAgICB9Ow0KPj4+IA0KPj4+ICAgICBub2RlMyB7DQo+Pj4gICAgICAgICBwd21zID0gPDEg
JnB3bTAgMSAyMCBQV01fUE9MQVJJVFlfTk9STUFMPjsNCj4+PiANCj4+PiAgICAgICAgIEhlcmUg
YWxzbywgJzEnLCB0aGUgZmlyc3QgY2VsbCwgaXMgbm90IGEgcGhhbmRsZS4NCj4+PiAgICAgfTsN
Cj4+PiB9Ow0KPj4+IA0KPj4+IENhc2UgMjoNCj4+PiANCj4+PiAvIHsNCj4+PiAgICAgZm9vYmFy
IHsNCj4+PiAgICAgICAgIHB3bXMgPSA8MSAyIDMgNCA1PjsNCj4+PiANCj4+PiAgICAgICAgIFJh
bmRvbSB2YWx1ZXMuIEVycm9yIGRldGVjdGVkIGJ5IERUQy4NCj4+PiANCj4+PiAgICAgfTsNCj4+
PiB9Ow0KPj4+IA0KPj4+IENhc2UgMzoNCj4+PiANCj4+PiAvIHsNCj4+PiAgICAgemVwaHlyLHVz
ZXIgew0KPj4+ICAgICAgICAgcHdtcyA9IDwxICAyMCAxPjsNCj4+IA0KPj4gVGhpcyBpcyB5ZXQg
YW5vdGhlciBleGFtcGxlIHNlZSB3aGVyZSB6ZXBoeXIgd2FudCB0byBhbGxvdyBhbnkgaW5mZXJl
bmNlIGJhc2VkIG9uIHRoZSB2YWx1ZSBhbmQgbm90IHRoZSBwcm9wZXJ0eSBuYW1lLg0KPj4gc2Vl
IGh0dHBzOi8vZ2l0aHViLmNvbS96ZXBoeXJwcm9qZWN0LXJ0b3MvemVwaHlyL3B1bGwvMTA3MTI3
IChodHRwczovL2RvY3MuemVwaHlycHJvamVjdC5vcmcvbGF0ZXN0L2J1aWxkL2R0cy96ZXBoeXIt
dXNlci1ub2RlLmh0bWwpIA0KPj4gDQo+PiBpLmUgLiAgICAgICAgICANCj4+IHB3bXMgPSDigJhm
b29iYXLigJ07IC8vIHNob3VsZCBiZSBhIHN0cmluZw0KPj4gcHdtcyA9IDwxMD47IC8vIHNob3Vs
ZCBiZSBhIG51bWJlciBvciBVMzINCj4+IEFuZCBzbyBvbi4NCj4+IA0KPj4gDQo+Pj4gDQo+Pj4g
ICAgICAgICBIZXJlIGFsc28gdGhlIHBoYW5kbGUgaXMgbWlzc2luZy4NCj4+PiAgICAgfTsNCj4+
PiB9Ow0KPj4+IA0KPj4+IA0KPj4+IElmIHlvdSB3YW50IHRvIHVzZSBOZXh1cyBub2RlIG9uIHRv
cCBvZiB0aGF0LCB5b3UgY2FuIGhhdmUgYSBsb29rIGF0IHRoZQ0KPj4+IGZvbGxvd2luZyBleGFt
cGxlOg0KPj4+IGh0dHBzOi8vZWxpeGlyLmJvb3RsaW4uY29tL2xpbnV4L3Y3LjAtcmM3L3NvdXJj
ZS9Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvcHdtL3B3bS1uZXh1cy1ub2RlLnlh
bWwNCj4+PiANCj4+PiBJbiB0aGUgZXhhbXBsZSwgeW91IHdpbGwgZmluZCB0aGUgY29uc3VtZXIs
IHRoZSBuZXh1cyBub2RlIGFuZCB0aGUgcHdtDQo+Pj4gcHJvdmlkZXJzLg0KPj4+IA0KPj4+IE5v
dCBzdXJlIHRvIGhhdmUgZnVsbHkgdW5kZXJzdG9vZCB5b3VyIGlzc3VlIGJ1dCBJIGhvcGUgbXkg
Y29tbWVudHMgaGVscC4NCj4+PiANCj4+PiBCZXN0IHJlZ2FyZHMsDQo+Pj4gSGVydsOpDQo+PiAN
Cj4+IA0KPiANCj4gLS0gDQo+IERhdmlkIEdpYnNvbiAoaGUgb3IgdGhleSkgfCBJJ2xsIGhhdmUg
bXkgbXVzaWMgYmFyb3F1ZSwgYW5kIG15IGNvZGUNCj4gZGF2aWQgQVQgZ2lic29uLmRyb3BiZWFy
LmlkLmF1IHwgbWluaW1hbGlzdCwgdGhhbmsgeW91LCBub3QgdGhlIG90aGVyIHdheQ0KPiB8IGFy
b3VuZC4NCj4gaHR0cDovL3d3dy5vemxhYnMub3JnL35kZ2lic29uDQoNCg0K