[19305] in bugtraq
Paper: Examining Remote OS Detection using LPD Querying
daemon@ATHENA.MIT.EDU (f0bic)
Tue Feb 20 21:29:19 2001
MIME-Version: 1.0
Content-Type: MULTIPART/MIXED; BOUNDARY="0-636256642-982703095=:54878"
Message-ID: <Pine.BSF.4.21.0102210003200.54878-200000@logos.relcom.ru>
Date: Wed, 21 Feb 2001 00:04:55 +0300
Reply-To: f0bic <f0bic@LOW-LEVEL.NET>
From: f0bic <f0bic@LOW-LEVEL.NET>
To: BUGTRAQ@SECURITYFOCUS.COM
This message is in MIME format. The first part should be readable text,
while the remaining parts are likely unreadable without MIME-aware tools.
Send mail to mime@docserver.cac.washington.edu for more info.
--0-636256642-982703095=:54878
Content-Type: TEXT/PLAIN; charset=US-ASCII
This is a paper/proof of concept on remote os detection using the
line printer daemon (lpd).
-- f0bic.
----------------------------------------------
lowlevel - network coding/network security
http://www.low-level.net - f0bic@low-level.net
----------------------------------------------
--0-636256642-982703095=:54878
Content-Type: TEXT/PLAIN; charset=US-ASCII; name="osdetect-lpd.txt"
Content-Transfer-Encoding: BASE64
Content-ID: <Pine.BSF.4.21.0102210004550.54878@logos.relcom.ru>
Content-Description:
Content-Disposition: attachment; filename="osdetect-lpd.txt"
LS0tLS0tLS0gRXhhbWluaW5nIFJlbW90ZSBPUyBEZXRlY3Rpb24gdXNpbmcg
TFBEIFF1ZXJ5aW5nIC0tLS0tLS0tLQ0KLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LQ0KLS0tLS0tWyBGZWIgMTksIDIwMDEgLSBieSBmMGJpYyAtIGh0dHA6Ly93
d3cubG93LWxldmVsLm5ldCBdLS0tLS0tLQ0KDQoNCkFic3RyYWN0DQoNCiAg
IEF0IHByZXNlbnQgdGhlcmUgYXJlIG1hbnkgd2F5cyBvZiBkZXRlcm1pbmlu
ZyAoImd1ZXNzaW5nIikgYSByZW1vdGUNCiAgIGhvc3RzJyBPcGVyYXRpbmcg
U3lzdGVtLiAgU29tZSBvZiB0aGVzZSBtZXRob2RzIHJlbHkgb24gdGhlIHBh
Y2tldCwNCiAgIHdoZXJlYXMgb3RoZXJzIHJlbHkgb24gdGhlIGJlaGF2aW9y
ICBvZiBjZXJ0YWluIGRhZW1vbnMgIGluICByYXRoZXINCiAgIGVycm9yb3Vz
ICgidW5vcmRpbmFyeSIpIGNvbmRpdGlvbnMuICAgIFRoaXMgcGFwZXIgdHJp
ZXMgdG8gZGVzY3JpYmUNCiAgIGEgd2F5IG9mIHVzaW5nIHRoZSBsaW5lIHBy
aW50ZXIgZGFlbW9uICgibHBkIikgYXMgYSBrbm93bGVkZ2UgIGJhc2UNCiAg
IHdpdGggd2hpY2ggd2UgY2FuIGRldGVybWluZSBhICBwb3NzaWJsZSAgT3Bl
cmF0aW5nICBTeXN0ZW0gIG9uICB0aGUNCiAgIHJlbW90ZSBob3N0Lg0KDQoN
Cg0KSS4gSW50cm9kdWN0aW9uDQoNCg0KICAgKEEpIFNpZ25pZmljYW5jZSBh
bmQgRGVmaW5pdGlvbnMgb2YgVGVybXMgdXNlZC4NCg0KICAgICAgIFsxXSBE
RVRFUk1JTkUgIC0gICJHVUVTU0lORyIuICBUcnlpbmcgdG8gZ3Vlc3MgYXMg
YWNjdXJhdGVseSBhcw0KICAgICAgICAgICAgICAgICAgICAgICAgIHBvc3Np
YmxlIHdoYXQgT3BlcmF0aW5nICBTeXN0ZW0gYSByZW1vdGUgaG9zdCANCiAg
ICAgICAgICAgICAgICAgICAgICAgICBpcyBydW5uaW5nLg0KDQogICAgICAg
WzJdIEVSUk9ST1VTICAgLSAgIklOQ09SUkVDVCIuICAgUmVmZXJzIHRvIHRo
ZSBjb25kaXRpb24gb2YgdGhlIA0KICAgICAgICAgICAgICAgICAgICAgICAg
IHJlcXVlc3Qgc2VudCBvdXQgdG8gdGhlICByZW1vdGUgIGhvc3RzJyAgbGlu
ZSANCiAgICAgICAgICAgICAgICAgICAgICAgICBwcmludGVyIGRhZW1vbi4g
ICAgICAgICAgV2UgY29uc2lkZXIgaXQgdG8gYmUgDQogICAgICAgICAgICAg
ICAgICAgICAgICAgW2Vycm9yb3VzXSAgYmVjYXVzZSAgd2UgIGFyZSAgbm90
ICB1c2luZyAgdGhlICANCiAgICAgICAgICAgICAgICAgICAgICAgICBjb3Jy
ZWN0IFJGQyBhc3NpZ25lZCByZXF1ZXN0IGZvcm1hdC4NCiAgICANCiAgICAg
ICBbM10gVkFMSUQgICAgICAtICAiQ09SUkVDVCIuICAgICAgIEFwcGxpZXMg
dG8gdGhlIHN5bnRheCBvZiB0aGUgDQogICAgICAgICAgICAgICAgICAgICAg
ICAgcmVxdWVzdCB0aGF0J3Mgc2VudCBvdXQgdG8gYSByZW1vdGUgaG9zdC4g
ICBBDQogICAgICAgICAgICAgICAgICAgICAgICAgY29ycmVjdCBzeW50YXgg
Zm9sbG93cyB0aGUgcnVsZXMgb2YgdGhlICBSRkMuIA0KDQoNCiAgIChCKSBM
aW5lIFByaW50ZXIgRGFlbW9uIFByb3RvY29sIFNwZWNpZmljYXRpb25zLg0K
DQogICAgICAgVGhpcyAgc3ViLXNlY3Rpb24gIGlzICBiYXNlZCAgb24gIHRo
ZSAgc3BlY2lmaWNhdGlvbnMgIG1hZGUgIGluICANCiAgICAgICBSRkMgMTE3
OSAoIkxpbmUgUHJpbnRlciBEYWVtb24gUHJvdG9jb2wsIEwuIEouIE1jTGF1
Z2hsaW4gSUlJIikuDQogICAgICAgVGhlIFVuaXggT3BlcmF0aW5nIFN5c3Rl
bSBwcm92aWRlcyBsaW5lIHByaW50ZXIgc3Bvb2xpbmcgd2l0aCBhDQogICAg
ICAgY29tYmluYXRpb24gb2YgdmFyaW91cyB0b29sczoNCg0KICAgICAgICAg
ICAgKiBscHIgICAoYXNzaWduIHRvIHF1ZXVlKSAgICB8DQogICAgICAgICAg
ICAqIGxwcSAgIChkaXNwbGF5IHRoZSBxdWV1ZSkgIHwNCiAgICAgICAgICAg
ICogbHBybSAgKHJlbW92ZSBmcm9tIHF1ZXVlKSAgfC0+IExQRCAobGluZSBw
cmludGVyIGRhZW1vbikNCiAgICAgICAgICAgICogbHBjICAgKGNvbnRyb2wg
dGhlIHF1ZXVlKSAgfA0KDQogICAgICAgQWxsIG9mIHRoZXNlIHRvb2xzICgi
cHJvZ3JhbXMiKSBpbnRlcmFjdCB3aXRoIGEgIGRhZW1vbiAgY2FsbGVkDQog
ICAgICAgdGhlIGxpbmUgcHJpbnRlciBkYWVtb24gKCJMUEQiKS4gICAgICBJ
biBvcmRlciB0byAiY29udHJvbCIgdGhlDQogICAgICAgcHJpbnRpbmcgZnVu
Y3Rpb25zLCB0aGUgdmFyaW91cyBwcmludGVyIHNwb29saW5nIHRvb2xzICBz
ZW5kICBhDQogICAgICAgdmFsaWQgbGluZSBwcmludGVyIGRhZW1vbiBwcm90
b2NvbCByZXF1ZXN0ICB0byB0aGUgbGluZSBwcmludGVyDQogICAgICAgZGFl
bW9uLiAgVGhlIHNoYXBlIGFuZCBmb3JtYXQgb2YgdGhpcyByZXF1ZXN0IHdp
bGwgYmUgZGlzY3Vzc2VkIA0KICAgICAgIGluIGZ1cnRoZXIgZGV0YWlsIGlu
IHRoZSBmb2xsb3dpbmcgc2VjdGlvbnMuICAgICAgICAgICBGb3Igbm93LCAN
CiAgICAgICB3ZSB3aWxsIGp1c3QgYWNrbm93bGVkZ2UgdGhhdCBzdWNoIGEg
InJlcXVlc3QgZm9ybWF0IiBleGlzdHMgdG8gDQogICAgICAgc3VjY2Vzc2Z1
bGx5IHNlbmQgY29tbWFuZHMgdG8gdGhlIExQRC4NCg0KDQogICAoQykgR2Vu
ZXJhbCBDb25jZXB0cyBvZiBEYWVtb24tYmFzZWQgRmluZ2VycHJpbnRpbmcu
DQoNCiAgICAgICBEYWVtb24tYmFzZWQgZmluZ2VycHJpbnRpbmcgcmVsaWVz
IGZvciB0aGUgIG1vc3QgIHBhcnQgIG9uICB0aGUgDQogICAgICAgYXV0aGVu
dGljaXR5IG9mIGEgZGFlbW9uIG9uIGEgY2VydGFpbiBwbGF0Zm9ybS4gSXQg
aXMgaW1wb3J0YW50DQogICAgICAgdG8gcmVhbGl6ZSB0aGF0IHdoZW4gZmlu
Z2VycHJpbnRpbmcgZGFlbW9ucywgICB5b3UgYXJlIGFjdHVhbGx5DQogICAg
ICAgZmluZ2VycHJpbnRpbmcgYXQgdGhlIGFwcGxpY2F0aW9uIGxldmVsLCAg
IHdoZXJlYXMgd2hlbiB5b3UgYXJlDQogICAgICAgZmluZ2VycHJpbnRpbmcg
dGhlIFRDUC9JUCBzdGFjaywgeW91IGFyZSBmaW5nZXJwcmludGluZyBhdCAg
dGhlDQogICAgICAga2VybmVsIGxldmVsIChkZWZhdWx0IHdpbmRvdy1zaXpl
cywgdHRscywgZXRjKS4gVGhlcmVmb3JlIGl0IGlzIA0KICAgICAgIHZlcnkg
aW1wb3J0YW50IHRoYXQgdGhlIGFwcGxpY2F0aW9uIChkYWVtb24sIGluIHRo
aXMgY2FzZSkgIHlvdQ0KICAgICAgIGFyZSBmaW5nZXJwcmludGluZyBpcyB0
aGUgZGVmYXVsdCBvbmUgaW5zdGFsbGVkIG9uIHRoZSAgc3lzdGVtLA0KICAg
ICAgIGJlY2F1c2UgdGhhdCB3aWxsIGhlbHAgIGRldGVybWluZSAgd2hhdCAg
T3BlcmF0aW5nICBTeXN0ZW0gIHRoZSAgDQogICAgICAgcmVtb3RlIGhvc3Qg
aXMgcnVubmluZy4gICBEZXBlbmRpbmcgb24gdGhlIHZlcnNpb24gb2YgYSBk
YWVtb24sDQogICAgICAgYW5kIGl0cyBjaGFyYWN0ZXJpc3RpY3MsICAgICAg
aXQgbWlnaHQgZ2l2ZSBhIHRvdGFsbHkgZGlmZmVyZW50IA0KICAgICAgIE9T
IGZpbmdlcnByaW50LiANCg0KICAgICAgIEknbSB1c2luZyBpZGVudGQgZm9y
IHRoZSBmb2xsb3dpbmcgZXhhbXBsZSAgdG8gIHNob3cgIHlvdSAgdGhhdCAN
CiAgICAgICB0aGUgYXV0aGVudGljaXR5IG9mIGEgZGFlbW9uIG9uIGFuIE9w
ZXJhdGluZyBTeXN0ZW0gaXMgIG9mICB0aGUNCiAgICAgICB1dG1vc3QgaW1w
b3J0YW5jZSB3aGVuIGZpbmdlcnByaW50aW5nIGEgaG9zdDoNCg0KICAgICAg
IGlkZW50IGZpbmdlcnByaW50IGZvciBSZWQgSGF0IDYuMg0KDQogICAgICAg
LT4gInBpZGVudGQgMy4wLjEwIDIuMi41LTIyc21wIChGZWIgMjIgMjAwMCAx
NjoxNDoyMSkiDQogICAgICAgIA0KICAgICAgIGlkZW50IGZpbmdlcnByaW50
IGZvciBSZWQgSGF0IDcuMA0KDQogICAgICAgLT4gInBpZGVudGQgMy4wLjEw
IGZvciBMaW51eCAyLjIuNS0yMnNtcCAoSnVsIDIwIDIwMDAgMTU6MDk6MjAp
Ig0KDQogICAgICAgVGhlIGFib3ZlIGFyZSBkZWZhdWx0IGlkZW50ZCBmaW5n
ZXJwcmludHMgZm9yIFJlZCBIYXQgIHZlcnNpb25zDQogICAgICAgNi4yIGFu
ZCA3LjAgcmVzcGVjdGl2ZWx5LiAgIElmIEkgZGVjaWRlIHRvIHN3YXAgaWRl
bnRkIHZlcnNpb25zIA0KICAgICAgIGFuZCBydW4gdGhlIGRlZmF1bHQgaWRl
bnRkIGZvciA2LjIgb24gUmVkIEhhdCA3LjAsICAgICAgICAgICBhbiANCiAg
ICAgICBhcHBsaWNhdGlvbi1sZXZlbCBpZGVudGQgZmluZ2VycHJpbnRlciB3
b3VsZCByZXR1cm4gUmVkIEhhdCA2LjINCiAgICAgICB3aGlsZSB0aGUgT3Bl
cmF0aW5nIFN5c3RlbSBpcyBpbiBmYWN0IFJlZCBIYXQgNy4wLiAgICBUaGVz
ZSBhcmUNCiAgICAgICBkZWZpbmF0ZWx5IHNvbWUgbG9vcGhvbGVzIG9uZSBz
aG91bGQgY29uc2lkZXIgIHdoZW4gIHBlcmZvcm1pbmcNCiAgICAgICBhbiBh
cHBsaWNhdGlvbi1sZXZlbCBmaW5nZXJwcmludC4NCg0KDQoNCklJLiBMaW5l
IFByaW50ZXIgRGFlbW9uIE9TIEZpbmdlcnByaW50aW5nDQoNCiAgICAoQSkg
VGhlb3JldGljYWwgQW5hbHlzaXMNCiAgICAgICAgDQogICAgICAgIFRoZSB0
aGVvcnkgYmVoaW5kIHRoaXMgY29uY2VwdCBsaWVzIHdpdGhpbiB0aGUgIGJv
dW5kYXJpZXMgIG9mIA0KICAgICAgICBSRkMgMTE3OSAoTGluZSBQcmludGVy
IERhZW1vbiBQcm90b2NvbCkuIEFzIG1lbnRpb25lZCBlYXJsaWVyLA0KICAg
ICAgICB0aGVyZSBpcyBhIGNlcnRhaW4gaGllcmFyY2hpY2FsIHN0cnVjdHVy
ZSB3aXRoaW4gdGhlIGZvcm1hdCBvZg0KICAgICAgICByZXF1ZXN0cyBzZW50
IHRvIGFuIExQRC4gICBUaGUgImFwcHJvcHJpYXRlIiBtZXNzYWdlIGZvcm1h
dCBpcyANCiAgICAgICAgZGVzY3JpYmVkIGluIFJGQyAxMTc5IGFzIGZvbGxv
d3M6DQoNCg0KICAgICAgICAgICBbIFJGQyAxMTc5LCAiU2VjdGlvbiAzLjEg
TWVzc2FnZSBGb3JtYXRzIiBdDQoNCiAgICAgICAgICAgIkFsbCBjb21tYW5k
cyBiZWdpbiB3aXRoIGEgc2luZ2xlIG9jdGV0IGNvZGUsIHdoaWNoIGlzIGEN
CiAgICAgICAgICAgYmluYXJ5IG51bWJlciB3aGljaCByZXByZXNlbnRzIHRo
ZSAgcmVxdWVzdGVkICBmdW5jdGlvbi4gIA0KICAgICAgICAgICBUaGUgY29k
ZSBpcyBpbW1lZGlhdGVseSBmb2xsb3dlZCBieSB0aGUgIEFTQ0lJICBuYW1l
ICBvZiANCiAgICAgICAgICAgdGhlIHByaW50ZXIgcXVldWUgbmFtZSBvbiB3
aGljaCB0aGUgZnVuY3Rpb24gIGlzICB0byAgYmUgDQogICAgICAgICAgIHBl
cmZvcm1lZCIgWy4uLi5dICJUaGUgZW5kIG9mIHRoZSBjb21tYW5kICBpcyAg
aW5kaWNhdGVkIA0KICAgICAgICAgICB3aXRoIGFuIEFTQ0lJIGxpbmUgZmVl
ZCBjaGFyYWN0ZXIuIiANCiAgICAgICAgICAgDQogICAgICAgICAgIA0KICAg
ICAgICAgICBbIFJGQyAxMTc5LCAiU2VjdGlvbiA3IENvbnRyb2wgRmlsZSBM
aW5lcyIgXQ0KDQogICAgICAgICAgICJFYWNoIGxpbmUgb2YgdGhlIGNvbnRy
b2wgIGZpbGUgIGNvbnNpc3RzICBvZiAgYSAgc2luZ2xlLCANCiAgICAgICAg
ICAgcHJpbnRhYmxlIEFTQ0lJIGNoYXJhY3RlciB3aGljaCByZXByZXNlbnRz
IGEgZnVuY3Rpb24gIHRvIA0KICAgICAgICAgICBiZSBwZXJmb3JtZWQgd2hl
biB0aGUgZmlsZSBpcyBwcmludGVkLiAgSW50ZXJwcmV0YXRpb24gb2YNCiAg
ICAgICAgICAgdGhlc2UgY29tbWFuZCBjaGFyYWN0ZXJzIGFyZSBjYXNlLXNl
bnNpdGl2ZS4gIFRoZSByZXN0IG9mIA0KICAgICAgICAgICB0aGUgbGluZSBh
ZnRlciB0aGUgY29tbWFuZCAgY2hhcmFjdGVyICBpcyAgdGhlICBjb21tYW5k
J3MgDQogICAgICAgICAgIG9wZXJhbmQuIiANCiAgICAgICAgICAgWy4uLi5d
DQogICAgICAgICAgICJTb21lICBjb21tYW5kcyAgbXVzdCAgYmUgaW5jbHVk
ZWQgaW4gZXZlcnkgY29udHJvbCBmaWxlLiAgDQogICAgICAgICAgIFRoZXNl
IGFyZSAnSCcgIChyZXNwb25zaWJsZSBob3N0KSAgYW5kICAnUCcgIChyZXNw
b25zaWJsZSANCiAgICAgICAgICAgdXNlcikuICAgQWRkaXRpb25hbGx5LCB0
aGVyZSBtdXN0ICBiZSAgYXQgbGVhc3Qgb25lIGxvd2VyIA0KICAgICAgICAg
ICBjYXNlIGNvbW1hbmQgdG8gcHJvZHVjZSBhbnkgb3V0cHV0LiINCg0KDQog
ICAgICAgIFRoZSBleGNlcnB0cyBhYm92ZSBkZXNjcmliZSB0aGUgIGNvcnJl
Y3QgIG1lc3NhZ2UvcXVlcnkgIGZvcm1hdA0KICAgICAgICBpbiB3aGljaCBh
IHJlcXVlc3Qgc2hvdWxkIGJlIHN0cnVjdHVyZWQuICAgICAgVGhpcyB0aGVv
cmV0aWNhbA0KICAgICAgICBhbmFseXNpcyBpcyBub3QgY29uY2VybmVkIGFi
b3V0IHRoZSBmaXJzdCBSRkMgZXhjZXJwdCAgKE1lc3NhZ2UNCiAgICAgICAg
Rm9ybWF0cyksIHNpbmNlIHdlIGRvbid0IGFjdHVhbGx5IHdhbnQgdG8gZ28g
IG91dCAgYW5kICBzZW5kICBhIA0KICAgICAgICBwcmludGluZyBmb3JtYXQg
cXVlcnkuIEFuZCBiYXNpY2FsbHkgd2UgZG9uJ3Qgd2FubmEgYW55IHByaW50
ZWQNCiAgICAgICAgZmlsZXMgdG8gY29tZSBvdXQgb2Ygc29tZSBwcmludGVy
IGF0IHRoZSBvdGhlciBlbmQ6KSkNCg0KICAgICAgICBBcyB5b3UgbWlnaHQg
aGF2ZSBndWVzc2VkLCB3ZSBhcmUgZ29pbmcgIHRvICB1c2UgIENvbnRyb2wg
IEZpbGUNCiAgICAgICAgY29tbWFuZHMgdG8gImRldGVybWluZSIgYSBwb3Nz
aWJsZSBPcGVyYXRpbmcgU3lzdGVtIG9uIGEgcmVtb3RlDQogICAgICAgIGhv
c3QuICBBIG5vcm1hbCAoImNvcnJlY3QiKSBwcmludCByZXF1ZXN0IHdvdWxk
IGxvb2sgbGlrZSB0aGlzOg0KDQoNCiAgICAgICAgW1dlJ3JlIGZvbGxvd2lu
ZyB0aGUgc3ludGF4IGRlc2NyaWJlZCBpbiBSRkMgMTE3OSBoZXJlXQ0KDQog
ICAgICAgICAgKy0tLSstLS0tLS0tLS0tKy0tLS0rDQogICAgICAgICAgfCBI
IHwgMTAuMC4wLjIgfCBMRiB8IC0gQ29tbWFuZCBjb2RlIHtIfSAtPiAic291
cmNlIGhvc3QiDQogICAgICAgICAgKy0tLSstLS0tLS0tLS0tKy0tLS0rDQog
ICAgICAgICAgDQogICAgICAgICAgKy0tLSstLS0tLS0tLS0tKy0tLS0rDQog
ICAgICAgICAgfCBQIHwgICAgNTAyICAgfCBMRiB8IC0gQ29tbWFuZCBjb2Rl
IHtQfSAtPiAidXNlciBpZCINCiAgICAgICAgICArLS0tKy0tLS0tLS0tLS0r
LS0tLSsNCg0KICAgICAgICAgICstLS0rLS0tLS0tLS0tLSstLS0tKw0KICAg
ICAgICAgIHwgZiB8IGZpbGUudHh0IHwgTEYgfCAtIENvbW1hbmQgY29kZSB7
Zn0gLT4gImZpbGUgdG8gcHJpbnQiDQogICAgICAgICAgKy0tLSstLS0tLS0t
LS0tKy0tLS0rDQoNCgkNCiAgICAgICAgVGhpcyB3b3VsZCBhbGxvdyBhIGZp
bGUgY2FsbGVkICJmaWxlLnR4dCIgdG8gYmUgIHByaW50ZWQgIGFmdGVyIA0K
ICAgICAgICBib3RoIHRoZSBzb3VyY2UgKHJlcXVlc3Qtb3JpZ2luYXRpbmcp
IGhvc3QgYW5kIHRoZSB1c2VyIGlkIGhhdmUNCiAgICAgICAgYmVlbiB2ZXJp
ZmllZC4gICAgU2luY2Ugd2UgYXJlIGZpbmdlcnByaW50aW5nIGEgcmVtb3Rl
IGhvc3QgYW5kIA0KICAgICAgICBtaWdodCBub3QgaGF2ZSBwcm9wZXIgInNv
dXJjZSBob3N0IiBhbmQgInVzZXIgaWQiIHRvIHBlcmZvcm0gIGEgDQogICAg
ICAgIHZhbGlkIHByaW50IHJlcXVlc3QsIHdlIGhhdmUgdG8gcmVseSBvbiBv
dGhlciBtZWFucyBvZiBxdWVyeWluZw0KICAgICAgICB0aGUgcmVtb3RlIGhv
c3QgZm9yIGxwZCBpbmZvcm1hdGlvbi4gDQoNCiAgICAgICAgSW5zdGVhZCBv
ZiBzZW5kaW5nIGEgdmFsaWQgcmVxdWVzdCB3aXRoIHRoZSBjb3JyZWN0bHkg
Zm9ybWF0dGVkDQogICAgICAgIHN5bnRheCBzdHJ1Y3R1cmUsIHdlIHdpbGwg
c2VuZCBhbiBlcnJvcm91cyAoImluY29ycmVjdCIpIHN5bnRheA0KICAgICAg
ICBhbmQgc2VlIGhvdyB0aGUgcmVtb3RlIExQRCBhY2tub3dsZWRnZXMgdGhp
cyBxdWVyeSB0byB1cy4gICAgSW4NCiAgICAgICAgdGhpcyBjYXNlIHdlIHdp
bGwgb21pdCB0aGUgYXV0aGVudGljYXRpb24gaW5mb3JtYXRpb24gIHtIfSBh
bmQNCiAgICAgICAge1B9IGFuZCBjaGFuZ2UgdGhlIHtmfSBjb21tYW5kIHRv
IGEgZGlmZmVyZW50IGNvbW1hbmQgdG8gZW5zdXJlDQogICAgICAgIHRoYXQg
d2UgZG9uJ3QgZ2V0IGFueSBjb25mbGljdGluZyByZXNwb25zZXM6DQoNCg0K
ICAgICAgICBbV2UncmUgZGlzY2FyZGluZyB0aGUgc3ludGF4IGRlc2NyaWJl
ZCBpbiBSRkMgMTE3OSBoZXJlXSANCg0KICAgICAgICAgICstLS0rLS0tLS0t
LS0tLSstLS0tKw0KICAgICAgICAgIHwgTSB8ICAgdXNlciAgIHwgTEYgfCAt
IENvbW1hbmQgY29kZSB7TX0gLT4gIm1haWwgd2hlbiBwcmludGVkIg0KICAg
ICAgICAgICstLS0rLS0tLS0tLS0tLSstLS0tKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIA0KDQoNCiAgICAgICAgSW4gdGhpcyBzY2Vu
YXJpbywgd2UgaGF2ZSBzZW50IGEgbWFsZm9ybWVkIHJlcXVlc3QgdG8gYSBy
ZW1vdGUNCiAgICAgICAgTFBEIGFuZCB3YWl0IGZvciBhbiBhY2tub3dsZWRn
ZW1lbnQuIFRoZSBmb3JtYXQgYW5kIGNvbnRlbnQgb2YNCiAgICAgICAgdGhp
cyAgYWNrbm93bGVkZ2VtZW50ICB3aWxsICByZXZlYWwgIHRoZSAgZXJyb3Ig
ICBub3RpZmljYXRpb24gDQogICAgICAgIG1lc3NhZ2UsIHdoaWNoIGluIG1h
bnkgY2FzZXMgaXMgT1MtcHJvcHJpZXRhcnkuICAgIFdlIGNhbiB0aGVuIA0K
ICAgICAgICBidWlsZCBhIGRhdGFiYXNlIG9mIHBvc3NpYmxlIGFja25vd2xl
ZGdlbWVudHMgKCJyZXBsaWVzIikgZnJvbQ0KICAgICAgICB0aGUgbHBkIGFu
ZCBtYXRjaCB0aG9zZSB1cCB3aXRoIGEgY2VydGFpbiBPcGVyYXRpbmcgU3lz
dGVtLg0KDQoNCiAgICAoQikgUHJhY3RpY2FsIEFuYWx5c2lzDQoNCiAgICAg
ICAgVG8gY2xlYXJseSBzdGF0ZSB0aGUgZmFjdCAgdGhhdCAgZGlmZmVyZW50
ICBPcGVyYXRpbmcgIFN5c3RlbXMsDQogICAgICAgIGFjdHVhbGx5IGRpZmZl
cmVudCBMUEQncywgcmVwbHkgaW4gZGlmZmVyZW50IHdheXMsICAgIEkgd3Jv
dGUgYSANCiAgICAgICAgbGl0dGxlIHByb2dyYW0gdGhhdCAgY2xlYXJseSAg
c2hvd3MgIHRoZSAgZGlmZmVyZW5jZXMgIGFuZCAgdGhlIA0KICAgICAgICBz
aW1pbGFyaXRpZXMgYmV0d2VlbiBkaWZmZXJlbnQgTFBEIGZpbmdlcnByaW50
cy4gICAgVGhlIHByb2dyYW0NCiAgICAgICAgc2VuZHMgYSBtYWxmb3JtZWQg
cmVxdWVzdCBsb29raW5nIGxpa2UgdGhpczoNCg0KDQogICAgICAgICAgICst
LS0rLS0tLS0tLS0tLSstLS0tKw0KICAgICAgICAgICB8IE0gfCAgIHIwMHQg
ICB8IExGIHwNCiAgICAgICAgICAgKy0tLSstLS0tLS0tLS0tKy0tLS0rICAg
ICAgICAgICAgICAgICAgICANCg0KICAgICANCiAgICAgICAgVGhlIGZvbGxv
d2luZyBhcmUgZXhhbXBsZXMgdGhhdCBzaG93IHRoZSAgaW5mb3JtYXRpb24g
IGdhdGhlcmVkIA0KICAgICAgICBieSBzZW5kaW5nIHRoZSBtYWxmb3JtZWQg
cmVxdWVzdCBkZXBpY3RlZCBhYm92ZS4gICAgIEhlcmUgZ29lczoNCg0KDQog
ICANCiAgICAgICAgICAgOjoobmluamEpLShbZjBiaWNdLS1bfl0pJCAuL2xw
cHJpbnQgWFhYLlhYWC40LjEzMA0KICAgICAgICAgICAtLSBDb25uZWN0ZWQg
dG8gbHBkIG9uIFhYWC5YWFguNC4xMzANCiAgICAgICAgICAgUmVwbHk6IElu
dmFsaWQgcHJvdG9jb2wgcmVxdWVzdCAoNzcpOiBNTXIwMHQgICAgIA0KIA0K
ICAgICAgICAgICBbIFRoaXMgaXMgYSBTdW5PUy9Tb2xhcmlzIDUuNyBib3gg
XQ0KDQogICAgIA0KICAgICAgICAgICA6OihuaW5qYSktKFtmMGJpY10tLVt+
XSkkIC4vbHBwcmludCBYWFguWFhYLjU5LjIwMA0KICAgICAgICAgICAtLSBD
b25uZWN0ZWQgdG8gbHBkIG9uIFhYWC5YWFguNTkuMjAwDQogICAgICAgICAg
IFJlcGx5OiBJbnZhbGlkIHByb3RvY29sIHJlcXVlc3QgKDc3KTogTU1yMDB0
ICANCg0KICAgICAgICAgICBbIFRoaXMgaXMgYSBTdW5PUy9Tb2xhcmlzIDUu
NiBib3ggXQ0KDQoNCg0KICAgICAgICBBcmUgd2Ugc3RhcnRpbmcgdG8gc2Vl
IHNvbWUgc2ltaWxhcml0aWVzIGhlcmU/OikNCiAgICAgICAgTGV0J3MgdHJ5
IGEgZGlmZmVyZW50IE9wZXJhdGluZyBTeXN0ZW0gdGhpcyB0aW1lOg0KDQoN
Cg0KICAgICAgICAgICA6OihuaW5qYSktKFtmMGJpY10tLVt+XSkkIC4vbHBw
cmludCBYWFguWFhYLjE1My4yDQogICAgICAgICAgIC0tIENvbm5lY3RlZCB0
byBscGQgb24gWFhYLlhYWC4xNTMuMg0KICAgICAgICAgICBSZXBseTogMDc4
MS0yMDEgaWxsLWZvcm1lZCBGUk9NIGFkZHJlc3MuICANCiAgICAgICAgDQog
ICAgICAgICAgIFsgVGhpcyBpcyBhbiBBSVggNC4zIGJveCBdDQogDQogICAg
ICAgICAgIA0KICAgICAgICAgICA6OihuaW5qYSktKFtmMGJpY10tLVt+XSkk
IC4vbHBwcmludCBYWFguWFhYLjE0LjIwMw0KICAgICAgICAgICAtLSBDb25u
ZWN0ZWQgdG8gbHBkIG9uIFhYWC5YWFguMTQuMjAzDQogICAgICAgICAgIFJl
cGx5OiAwNzgxLTIwMSBpbGwtZm9ybWVkIEZST00gYWRkcmVzcy4gICAgDQoN
CiAgICAgICAgICAgWyBUaGlzIGlzIGFuIEFJWCA0LjMgYm94IF0NCg0KDQog
ICAgICANCiAgICAgICAgV2UgZ2V0IGRpZmZlcmVudCByZXBsaWVzIGZvciBk
aWZmZXJlbnQgT3BlcmF0aW5nIFN5c3RlbSBidXQgdGhlDQogICAgICAgIHNh
bWUgT3BlcmF0aW5nIFN5c3RlbXMgcmV0dXJuIHNpbWlsYXIgbWVzc2FnZXMu
DQoNCiAgICAgICAgTk9URTogU29tZSBPcGVyYXRpbmcgU3lzdGVtcyAoQ29t
cGFxIFRydTY0IFVuaXgsIEhQLVVYLCBhbmQgdGhlDQogICAgICAgICAgICAg
IGxpa2UpIHdpbGwgcmV0dXJuIHplcm8gbGVuZ3RoIHJlcGxpZXMsICAgICB3
aGljaCBtYWtlcyBpdCAgDQogICAgICAgICAgICAgIGhhcmQgdG8gZGlzdGlu
Z3Vpc2ggb25lIGZyb20gdGhlIG90aGVyLiAgICAgQnV0IG1vc3QgT1MncyAN
CiAgICAgICAgICAgICAgcmV0dXJuIGEgc2ltaWxhciAoc2FtZSBPUykgYnV0
ICBkaWZmZXJlbnQgIChkaWZmZXJlbnQgT1MpDQogICAgICAgICAgICAgIG1l
c3NhZ2UuDQoNCg0KDQpJSUkuIFByb29mIG9mIENvbmNlcHQgQ29kZQ0KDQoN
CiAgICAgSSBoYXZlIGFsc28gY3JlYXRlZCBhICAicHJvb2Ygb2YgY29uY2Vw
dCIgIHRvb2wgIHRoYXQgIGNvbnRhaW5zICBhICAgICAgICAgICAgICANCiAg
ICAgZGF0YWJhc2Ugb2YgTFBEIHJldHVybmVkIG1lc3NhZ2VzIGFuZCBPcGVy
YXRpbmcgIFN5c3RlbXMgIG1hdGNoaW5nDQogICAgIHRob3NlIG1lc3NhZ2Vz
Lg0KDQogICAgIFRoaXMgdG9vbCBpcyBhdmFpbGFibGUgYXQgaHR0cDovL3d3
dy5sb3ctbGV2ZWwubmV0LyBhbmQgaXMgIGNhbGxlZA0KICAgICAibHBkZnAi
Lg0KDQogICAgIERvd25sb2FkOiBodHRwOi8vd3d3Lmxvdy1sZXZlbC5uZXQv
ZjBiaWMvcmVsZWFzZXMvbHBkZnAudGFyLmd6DQoNCg0KDQpJVi4gUmVmZXJl
bmNlcyBhbmQgQWNrbm93bGVkZ2VtZW50cw0KDQogICAgIA0KICAgIFsxXSBS
RkMgMTE3OSA6IExpbmUgUHJpbnRlciBEYWVtb24gUHJvdG9jb2wNCiAgICAg
ICAgTmV0d29yayBQcmludGluZyBXb3JraW5nIEdyb3VwDQogICAgICAgIEwu
IE1jTGF1Z2hsaW4gSUlJLCAxOTkwDQogICAgICAgIA0KICAgICAgICBBdmFp
bGFibGUgYXQ6IGZ0cDovL2Z0cC5pc2kuZWR1L2luLW5vdGVzL3JmYzExNzku
dHh0DQoNCg0KICAgIFsyXSBJJ2QgbGlrZSB0byB0aGFuayBpbmN1YnVzIGF0
IFNlY3VyYXggIGZvciAgbGV0dGluZyAgbWUNCiAgICAgICAgZmluZ2VycHJp
bnQgc29tZSBvZiBoaXMgYm94ZXMuICAgICBBbHNvLCBldmVyeW9uZSBlbHNl
DQogICAgICAgIHdobyBsZW5kIG1lIGEgaGFuZCBpbiBhbGxvd2luZyBtZSB0
byBmaW5nZXJwcmludCB0aGVpcg0KICAgICAgICBtYWNoaW5lcyAoeW91IGtu
b3cgd2hvIHlvdSBhcmUpLg0KDQoNCg0KVi4gQ29udGFjdCBJbmZvcm1hdGlv
bg0KDQogICBmMGJpY0Bsb3ctbGV2ZWwubmV0DQogICBodHRwOi8vd3d3Lmxv
dy1sZXZlbC5uZXQNCg==
--0-636256642-982703095=:54878--