[Insight-developers] ITK/VNL Build Issues on Cygwin/gcc 3.2

Lydia Ng lng@insightful.com
Fri, 14 Feb 2003 12:49:49 -0800


This is a multi-part message in MIME format.

------_=_NextPart_001_01C2D46A.9D891898
Content-Type: text/plain;
	charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

Dear Bill,

Currently ITK does not build on Cygwin/gcc 3.2. At the last developers
meeting Will and Bill L. suggest you might be the one to help with this
problem.

Kent, I and others have tracked it down to a VNL configuration problem.
Basically it gets the test for "VCL_NEEDS_INLINE_INSTANTIATION" wrong
because the generated test fails at link.

Looking at the VXL dashboard and cvs looks like they have fixed this
problem. See
http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/vxl/vxl/configure=20
Revision 1.11

I am not too familiar with how "configure" works. Would you be able to
help port the require changes into ITK?

Attached is the configure.log file showing the link error.

Thanks,
Lydia


 <<config.log>>=20

------_=_NextPart_001_01C2D46A.9D891898
Content-Type: application/octet-stream;
	name="config.log"
Content-Transfer-Encoding: base64
Content-Description: config.log
Content-Disposition: attachment;
	filename="config.log"

VGhpcyBmaWxlIGNvbnRhaW5zIGFueSBtZXNzYWdlcyBwcm9kdWNlZCBieSBjb21waWxlcnMgd2hp
bGUNCnJ1bm5pbmcgY29uZmlndXJlLCB0byBhaWQgZGVidWdnaW5nIGlmIGNvbmZpZ3VyZSBtYWtl
cyBhIG1pc3Rha2UuDQoNCmNvbmZpZ3VyZTo1NTI6IGNoZWNraW5nIGZvciBnY2MNCmNvbmZpZ3Vy
ZTo2NjU6IGNoZWNraW5nIHdoZXRoZXIgdGhlIEMgY29tcGlsZXIgKGdjYyAgKSB3b3Jrcw0KY29u
ZmlndXJlOjY4MTogZ2NjIC1vIGNvbmZ0ZXN0ICAgIGNvbmZ0ZXN0LmMgIDE+JjUNCmNvbmZpZ3Vy
ZTo3MDc6IGNoZWNraW5nIHdoZXRoZXIgdGhlIEMgY29tcGlsZXIgKGdjYyAgKSBpcyBhIGNyb3Nz
LWNvbXBpbGVyDQpjb25maWd1cmU6NzEyOiBjaGVja2luZyB3aGV0aGVyIHdlIGFyZSB1c2luZyBH
TlUgQw0KY29uZmlndXJlOjc0MDogY2hlY2tpbmcgd2hldGhlciBnY2MgYWNjZXB0cyAtZw0KY29u
ZmlndXJlOjc4MTogY2hlY2tpbmcgZm9yIGMrKw0KY29uZmlndXJlOjgxMzogY2hlY2tpbmcgd2hl
dGhlciB0aGUgQysrIGNvbXBpbGVyIChjKysgICkgd29ya3MNCmNvbmZpZ3VyZTo4Mjk6IGMrKyAt
byBjb25mdGVzdCAgICBjb25mdGVzdC5DICAxPiY1DQpjb25maWd1cmU6ODU1OiBjaGVja2luZyB3
aGV0aGVyIHRoZSBDKysgY29tcGlsZXIgKGMrKyAgKSBpcyBhIGNyb3NzLWNvbXBpbGVyDQpjb25m
aWd1cmU6ODYwOiBjaGVja2luZyB3aGV0aGVyIHdlIGFyZSB1c2luZyBHTlUgQysrDQpjb25maWd1
cmU6ODg4OiBjaGVja2luZyB3aGV0aGVyIGMrKyBhY2NlcHRzIC1nDQpjb25maWd1cmU6OTIyOiBj
aGVja2luZyBob3cgdG8gcnVuIHRoZSBDKysgcHJlcHJvY2Vzc29yDQpjb25maWd1cmU6MTAyOTog
Y2hlY2tpbmcgd2hldGhlciB0aGUgQysrIGNvbXBpbGVyIHN1cHBvcnRzIHRoZSBrZXl3b3JkICdi
b29sJw0KY29uZmlndXJlOjEwNTc6IGMrKyAtYyAtZyAtTzIgIGNvbmZ0ZXN0LkMgMT4mNQ0KY29u
ZmlndXJlOjEwODg6IGNoZWNraW5nIHdoZXRoZXIgdGhlIEMrKyBjb21waWxlciBzdXBwb3J0cyB0
aGUga2V5d29yZCAndHlwZW5hbWUnDQpjb25maWd1cmU6MTEyMTogYysrIC1jIC1nIC1PMiAgY29u
ZnRlc3QuQyAxPiY1DQpjb25maWd1cmU6MTE1MjogY2hlY2tpbmcgd2hldGhlciB0aGUgQysrIGNv
bXBpbGVyIGFjY2VwdHMgdGhlIGtleXdvcmQgJ2V4cG9ydCcNCmNvbmZpZ3VyZToxMTk2OiBjKysg
LWMgLWcgLU8yICBjb25mdGVzdC5DIDE+JjUNCmNvbmZpZ3VyZToxMTc0OiB3YXJuaW5nOiBrZXl3
b3JkIGBleHBvcnQnIG5vdCBpbXBsZW1lbnRlZCwgYW5kIHdpbGwgYmUgaWdub3JlZA0KY29uZmln
dXJlOjEyMjc6IGNoZWNraW5nIHdoZXRoZXIgdGhlIEMrKyBjb21waWxlciBzdXBwb3J0cyB0aGUg
a2V5d29yZCAnbXV0YWJsZScNCmNvbmZpZ3VyZToxMjU5OiBjKysgLWMgLWcgLU8yICBjb25mdGVz
dC5DIDE+JjUNCmNvbmZpZ3VyZToxMjkwOiBjaGVja2luZyB3aGV0aGVyIHRoZSBDKysgY29tcGls
ZXIgc3VwcG9ydHMgdGhlIGtleXdvcmQgJ2V4cGxpY2l0Jw0KY29uZmlndXJlOjEzMjI6IGMrKyAt
YyAtZyAtTzIgIGNvbmZ0ZXN0LkMgMT4mNQ0KY29uZmlndXJlOjEzNTM6IGNoZWNraW5nIHdoZXRo
ZXIgdGhlIEMrKyBjb21waWxlciBzdXBwb3J0cyB0aGUga2V5d29yZCAnZHluYW1pY19jYXN0Jw0K
Y29uZmlndXJlOjEzODQ6IGMrKyAtYyAtZyAtTzIgIGNvbmZ0ZXN0LkMgMT4mNQ0KY29uZmlndXJl
OjE0MTU6IGNoZWNraW5nIHdoZXRoZXIgdGhlIEMrKyBjb21waWxlciBzdXBwb3J0cyBJU08gZm9y
IHNjb3BlDQpjb25maWd1cmU6MTQ0ODogYysrIC1jIC1nIC1PMiAgY29uZnRlc3QuQyAxPiY1DQpj
b25maWd1cmU6MTQ4NzogY2hlY2tpbmcgd2hldGhlciB0aGUgQysrIGNvbXBpbGVyIG5lZWRzIGRl
ZmF1bHQgdmFsdWVzIGluIHNlY29uZCBkZWZpbml0aW9uDQpjb25maWd1cmU6MTUwODogYysrIC1j
IC1nIC1PMiAgY29uZnRlc3QuQyAxPiY1DQpjb25maWd1cmU6MTUzNjogY2hlY2tpbmcgd2hldGhl
ciB0aGUgQysrIGNvbXBpbGVyIHN1cHBvcnRzIG1lbWJlciB0ZW1wbGF0ZXMNCmNvbmZpZ3VyZTox
NTc3OiBjKysgLWMgLWcgLU8yICBjb25mdGVzdC5DIDE+JjUNCmNvbmZpZ3VyZToxNjA4OiBjaGVj
a2luZyB3aGV0aGVyIHRoZSBDKysgY29tcGlsZXIgc3VwcG9ydHMgcGFydGlhbCBzcGVjaWFsaXph
dGlvbg0KY29uZmlndXJlOjE2NjY6IGMrKyAtYyAtZyAtTzIgIGNvbmZ0ZXN0LkMgMT4mNQ0KY29u
ZmlndXJlOjE3MDI6IGNoZWNraW5nIHdoZXRoZXIgdGhlIEMrKyBjb21waWxlciB1bmRlcnN0YW5k
cyB0aGUgJ3RlbXBsYXRlIDw+JyBzcGVjaWFsaXphdGlvbiBzeW50YXgNCmNvbmZpZ3VyZToxNzMx
OiBjKysgLWMgLWcgLU8yICBjb25mdGVzdC5DIDE+JjUNCmNvbmZpZ3VyZToxNzU5OiBjaGVja2lu
ZyB3aGV0aGVyIHRoZSBDKysgY29tcGlsZXIgYWxsb3dzIGV4cGxpY2l0IGluc3RhbnRpYXRpb24g
b2YgaW5saW5lIHRlbXBsYXRlcw0KY29uZmlndXJlOjE3OTE6IGMrKyAtYyAgIGNvbmZ0ZXN0LkMg
MT4mNQ0KY29uZmlndXJlOjE4MjE6IGNoZWNraW5nIHdoZXRoZXIgdGhlIEMrKyBjb21waWxlciBu
ZWVkcyBleHBsaWNpdCBpbnN0YW50aWF0aW9uIG9mIGlubGluZSBmdW5jdGlvbiB0ZW1wbGF0ZXMN
CmNvbmZpZ3VyZToxODY3OiBjKysgLW8gY29uZnRlc3QgLWcgLU8yICAgY29uZnRlc3QuQyAgMT4m
NQ0KL3Vzci9saWIvZ2NjLWxpYi9pNjg2LXBjLWN5Z3dpbi8zLjIvLi4vLi4vLi4vbGliY3lnd2lu
LmEobGliY21haW4ubykoLnRleHQrMHg3Yyk6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYF9XaW5N
YWluQDE2Jw0KY29sbGVjdDI6IGxkIHJldHVybmVkIDEgZXhpdCBzdGF0dXMNCmNvbmZpZ3VyZTog
ZmFpbGVkIHByb2dyYW0gd2FzOg0KI2xpbmUgMTgzOSAiY29uZmlndXJlIgojaW5jbHVkZSAiY29u
ZmRlZnMuaCIKCiNpZmRlZiBfX0dOVUNfXwojcHJhZ21hIGludGVyZmFjZQojZW5kaWYKdGVtcGxh
dGUgPGNsYXNzIFQ+CmlubGluZQpUIGRvdChUIGNvbnN0ICphLCBUIGNvbnN0ICpiKQp7CiAgcmV0
dXJuIGFbMF0qYlswXSArIGFbMV0qYlsxXSArIGFbMl0qYlsyXTsKfQovL3RlbXBsYXRlIGRvdWJs
ZSBkb3QoZG91YmxlIGNvbnN0ICosIGRvdWJsZSBjb25zdCAqKTsKaW50IGZ1bmN0aW9uKCk7Cmlu
dCBjYWxsX3RoaXMoKSB7IGZ1bmN0aW9uKCk7IHJldHVybiAwOyB9CmludCBmdW5jdGlvbigpCnsK
ICBkb3VibGUgYVszXSA9IHsxLjAsIDIuMCwgMy4wfTsKICBkb3VibGUgYlszXSA9IHs0LjAsIDUu
MCwgNi4wfTsKICBkb3VibGUgYV9iID0gZG90KGEsIGIpOwogIHJldHVybiBpbnQoYV9iKTsKfQov
LyBJZiB0aGUgcHJvZ3JhbSBsaW5rcywgdGhlIGNvbXBpbGVyIGlubGluZWQgdGhlIGZ1bmN0aW9u
IHRlbXBsYXRlLgoKaW50IG1haW4oKSB7Cgo7IHJldHVybiAwOyB9CmNvbmZpZ3VyZToxOTE2OiBj
aGVja2luZyB3aGV0aGVyIHRoZSBDKysgY29tcGlsZXIgYWxsb3dzIGluaXRpYWxpemF0aW9uIG9m
IHN0YXRpYyBjb25zdCBpbnQNCmNvbmZpZ3VyZToxOTQwOiBjKysgLWMgLWcgLU8yICBjb25mdGVz
dC5DIDE+JjUNCmNvbmZpZ3VyZToxOTc2OiBjaGVja2luZyB3aGV0aGVyIHRoZSBDKysgY29tcGls
ZXIgYWxsb3dzIGluaXRpYWxpemF0aW9uIG9mIHN0YXRpYyBjb25zdCBmbG9hdHMNCmNvbmZpZ3Vy
ZToxOTk3OiBjKysgLWMgLWcgLU8yICBjb25mdGVzdC5DIDE+JjUNCmNvbmZpZ3VyZToyMDMzOiBj
aGVja2luZyB3aGV0aGVyIHRoZSBDKysgY29tcGlsZXIgcmVxdWlyZXMgaW1wbGVtZW50YXRpb24g
b2Ygc3RhdGljIGNvbnN0cw0KY29uZmlndXJlOjIwNjg6IGMrKyAtbyBjb25mdGVzdCAtZyAtTzIg
ICBjb25mdGVzdC5DICAxPiY1DQpjb25maWd1cmU6MjA5NjogY2hlY2tpbmcgd2hldGhlciB0aGUg
QysrIGNvbXBpbGVyIGFjY2VwdHMgdGVtcGxhdGVkIGRlZmluaXRpb25zIG9mIHN0YXRpYyBjbGFz
cyB0ZW1wbGF0ZSBtZW1iZXJzDQpjb25maWd1cmU6MjEyOTogYysrIC1jIC1nIC1PMiAgY29uZnRl
c3QuQyAxPiY1DQpjb25maWd1cmU6MjE1MDogY2hlY2tpbmcgd2hldGhlciB0aGUgQysrIGNvbXBp
bGVyIGFjY2VwdHMgbm9uLXR5cGUgdGVtcGxhdGUgcGFyYW1ldGVycyB0byBmdW5jdGlvbiB0ZW1w
bGF0ZXMNCmNvbmZpZ3VyZToyMTkwOiBjKysgLWMgLWcgLU8yICBjb25mdGVzdC5DIDE+JjUNCmNv
bmZpZ3VyZToyMjE5OiBjaGVja2luZyB3aGV0aGVyIHRoZSBDKysgY29tcGlsZXIgbmVlZHMgZnJp
ZW5kIGRlY2xhcmF0aW9ucyBmb3IgcHJvcGVyIHRlbXBsYXRlIGZ1bmN0aW9uIG92ZXJsb2FkaW5n
DQpjb25maWd1cmU6MjI2NzogYysrIC1jIC1nIC1PMiAgY29uZnRlc3QuQyAxPiY1DQpjb25maWd1
cmU6MjMwMzogY2hlY2tpbmcgd2hldGhlciB0aGUgQysrIGNvbXBpbGVyIHJlcXVpcmVzIGV4cGxp
Y2l0IGNhc3RzIHdoZXJlIGl0IHNob3VsZCBub3QNCmNvbmZpZ3VyZToyMzY0OiBjKysgLWMgLWcg
LU8yICBjb25mdGVzdC5DIDE+JjUNCmNvbmZpZ3VyZToyNDAwOiBjaGVja2luZyB3aGV0aGVyIHRo
ZSBDKysgY29tcGlsZXIgcmVxdWlyZXMgPD4gaW4gdGVtcGxhdGVkIGZvcndhcmQvZnJpZW5kIGRl
Y2xhcmF0aW9ucw0KY29uZmlndXJlOjI0NDk6IGMrKyAtbyBjb25mdGVzdCAtZyAtTzIgICBjb25m
dGVzdC5DICAxPiY1DQpjb25maWd1cmU6MjQxOTogd2FybmluZzogZnJpZW5kIGRlY2xhcmF0aW9u
IGBUIGRvdChjb25zdCB2aWN0b3I8VD4mLCBjb25zdCANCiAgIHZpY3RvcjxUPiYpJyBkZWNsYXJl
cyBhIG5vbi10ZW1wbGF0ZSBmdW5jdGlvbg0KY29uZmlndXJlOjI0MTk6IHdhcm5pbmc6IChpZiB0
aGlzIGlzIG5vdCB3aGF0IHlvdSBpbnRlbmRlZCwgbWFrZSBzdXJlIHRoZSANCiAgIGZ1bmN0aW9u
IHRlbXBsYXRlIGhhcyBhbHJlYWR5IGJlZW4gZGVjbGFyZWQgYW5kIGFkZCA8PiBhZnRlciB0aGUg
ZnVuY3Rpb24gDQogICBuYW1lIGhlcmUpIC1Xbm8tbm9uLXRlbXBsYXRlLWZyaWVuZCBkaXNhYmxl
cyB0aGlzIHdhcm5pbmcNCmNvbmZpZ3VyZTogSW4gZnVuY3Rpb24gYFQgZG90KGNvbnN0IHZpY3Rv
cjxUPiYsIGNvbnN0IHZpY3RvcjxUPiYpIFt3aXRoIFQgPSANCiAgIGRvdWJsZV0nOg0KY29uZmln
dXJlOjI0MzM6ICAgaW5zdGFudGlhdGVkIGZyb20gaGVyZQ0KY29uZmlndXJlOjI0MjI6IGBkb3Vi
bGUgdmljdG9yPGRvdWJsZT46OmRhdGFbM10nIGlzIHByaXZhdGUNCmNvbmZpZ3VyZToyNDI3OiB3
aXRoaW4gdGhpcyBjb250ZXh0DQpjb25maWd1cmU6MjQyMjogYGRvdWJsZSB2aWN0b3I8ZG91Ymxl
Pjo6ZGF0YVszXScgaXMgcHJpdmF0ZQ0KY29uZmlndXJlOjI0Mjc6IHdpdGhpbiB0aGlzIGNvbnRl
eHQNCmNvbmZpZ3VyZToyNDIyOiBgZG91YmxlIHZpY3Rvcjxkb3VibGU+OjpkYXRhWzNdJyBpcyBw
cml2YXRlDQpjb25maWd1cmU6MjQyNzogd2l0aGluIHRoaXMgY29udGV4dA0KY29uZmlndXJlOjI0
MjI6IGBkb3VibGUgdmljdG9yPGRvdWJsZT46OmRhdGFbM10nIGlzIHByaXZhdGUNCmNvbmZpZ3Vy
ZToyNDI3OiB3aXRoaW4gdGhpcyBjb250ZXh0DQpjb25maWd1cmU6MjQyMjogYGRvdWJsZSB2aWN0
b3I8ZG91YmxlPjo6ZGF0YVszXScgaXMgcHJpdmF0ZQ0KY29uZmlndXJlOjI0Mjc6IHdpdGhpbiB0
aGlzIGNvbnRleHQNCmNvbmZpZ3VyZToyNDIyOiBgZG91YmxlIHZpY3Rvcjxkb3VibGU+OjpkYXRh
WzNdJyBpcyBwcml2YXRlDQpjb25maWd1cmU6MjQyNzogd2l0aGluIHRoaXMgY29udGV4dA0KY29u
ZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6DQojbGluZSAyNDA4ICJjb25maWd1cmUiCiNpbmNs
dWRlICJjb25mZGVmcy5oIgoKdGVtcGxhdGUgPGNsYXNzIFQ+IGNsYXNzIHZpY3RvcjsKCnRlbXBs
YXRlIDxjbGFzcyBUPiBUIGRvdCh2aWN0b3I8VD4gY29uc3QgJnUsIHZpY3RvcjxUPiBjb25zdCAm
dik7Cgp0ZW1wbGF0ZSA8Y2xhc3MgVD4gY2xhc3MgdmljdG9yIHsKcHVibGljOgogIC8vIFdpdGhv
dXQgLWZndWlkaW5nLWRlY2xzLCBlZ2NzIGFuZCAyLjk1IHdpbGwgcmlnaHRseSB0aGluawogIC8v
IHRoaXMgZGVjbGFyZXMgYSBub24tdGVtcGxhdGUgYW5kIHNvIHRoZSBwcm9ncmFtIHdpbGwgZmFp
bAogIC8vIGR1ZSB0byBhY2Nlc3MgdmlvbGF0aW9uIGJlbG93IChhbmQgbWlzc2luZyBzeW1ib2xz
IGF0IGxpbmsgdGltZSkuCiAgZnJpZW5kIFQgZG90IC8qIDw+ICovICh2aWN0b3I8VD4gY29uc3Qg
JiwgdmljdG9yPFQ+IGNvbnN0ICYpOwoKcHJpdmF0ZToKICBUIGRhdGFbM107Cn07Cgp0ZW1wbGF0
ZSA8Y2xhc3MgVD4gVCBkb3QodmljdG9yPFQ+IGNvbnN0ICZ1LCB2aWN0b3I8VD4gY29uc3QgJnYp
CnsKICByZXR1cm4gIC8vIGFjY2VzcyB2aW9sYXRpb24gaGVyZToKICAgIHUuZGF0YVswXSAqIHYu
ZGF0YVswXSArCiAgICB1LmRhdGFbMV0gKiB2LmRhdGFbMV0gKwogICAgdS5kYXRhWzJdICogdi5k
YXRhWzJdOwp9Cgp0ZW1wbGF0ZSBkb3VibGUgZG90KHZpY3Rvcjxkb3VibGU+IGNvbnN0ICYsIHZp
Y3Rvcjxkb3VibGU+IGNvbnN0ICYpOwoKZG91YmxlIGZ1bmN0aW9uKHZpY3Rvcjxkb3VibGU+IGNv
bnN0ICZ1LAogICAgICAgICAgICAgICAgdmljdG9yPGRvdWJsZT4gY29uc3QgJnYpCnsKICBkb3Vi
bGUgdXUgPSBkb3QodSwgdSk7CiAgZG91YmxlIHV2ID0gZG90KHUsIHYpOwogIGRvdWJsZSB2diA9
IGRvdCh2LCB2KTsKICByZXR1cm4gKHV2KnV2KS8odXUqdnYpOwp9CgppbnQgbWFpbigpIHsKCjsg
cmV0dXJuIDA7IH0KY29uZmlndXJlOjI0Nzc6IGNoZWNraW5nIHdoZXRoZXIgdGhlIEMrKyBjb21w
aWxlciBhbGxvd3Mgc3RhdGljIGRhdGEgbWVtYmVycw0KY29uZmlndXJlOjI1MDc6IGMrKyAtYyAg
IGNvbmZ0ZXN0LkMgMT4mNQ0KY29uZmlndXJlOjI1NDQ6IGNoZWNraW5nIHdoZXRoZXIgdGhlIEMr
KyBjb21waWxlciBkaXN0aW5ndWlzaGVzIHRlbXBsYXRlZCBhbmQgbm9uLXRlbXBsYXRlZCBmdW5j
dGlvbnMNCmNvbmZpZ3VyZToyNTc0OiBjKysgLW8gY29uZnRlc3QgLWcgLU8yICAgY29uZnRlc3Qu
QyAgMT4mNQ0KL2N5Z2RyaXZlL2MvRE9DVU1FfjEvbG5nL0xPQ0FMU34xL1RlbXAvY2NzUmRycnEu
bygudGV4dCsweDE1KTogSW4gZnVuY3Rpb24gYF9aNmNhbGxlcnYnOg0KL2N5Z2RyaXZlL2QvbG5n
L0luc2lnaHQvSW5zaWdodC1DeWd3aW4vQ29kZS9OdW1lcmljcy92eGwvdmNsL2NvbmZpZ3VyZToy
NTYwOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGB2b2lkIGZ1bmN0aW9uPGRvdWJsZT4oZG91Ymxl
KiwgaW50KScNCmNvbGxlY3QyOiBsZCByZXR1cm5lZCAxIGV4aXQgc3RhdHVzDQpjb25maWd1cmU6
IGZhaWxlZCBwcm9ncmFtIHdhczoNCiNsaW5lIDI1NTIgImNvbmZpZ3VyZSIKI2luY2x1ZGUgImNv
bmZkZWZzLmgiCgovLyBEZWNsYXJlIGEgZnVuY3Rpb24gdGVtcGxhdGUuCnRlbXBsYXRlIDxjbGFz
cyBUPiB2b2lkIGZ1bmN0aW9uKFQgKnB0ciwgaW50IG4pOwoKaW50IGNhbGxlcigpCnsKICBkb3Vi
bGUgYXJyYXlbM107CiAgZnVuY3Rpb24oYXJyYXksIDApOyAvLyBUaGlzIHNob3VsZCBjYWxsIGZ1
bmN0aW9uPGRvdWJsZT4oZG91YmxlICosIGludCk7CiAgcmV0dXJuIDA7Cn0KCi8vIERlZmluZSBh
IG5vbi10ZW1wbGF0ZSBmdW5jdGlvbiB3aXRoIHRoZSBzYW1lIG5hbWUgYW5kIHNpZ25hdHVyZS4K
dm9pZCBmdW5jdGlvbihkb3VibGUgKiwgaW50KSB7IH0KCi8vIElmIHRoZSBwcm9ncmFtIGxpbmtz
LCB0aGUgY29tcGlsZXIgZGlkbid0IG1ha2UgYSBkaXN0aW5jdGlvbi4KCmludCBtYWluKCkgewoK
OyByZXR1cm4gMDsgfQpjb25maWd1cmU6MjYwMjogY2hlY2tpbmcgd2hldGhlciB0aGUgQysrIGNv
bXBpbGVyIGluc3RhbnRpYXRlcyB0ZW1wbGF0ZXMgaW1wbGljaXRseQ0KY29uZmlndXJlOjI2Njg6
IGMrKyAtbyBjb25mdGVzdCAtZyAtTzIgICBjb25mdGVzdC5DICAxPiY1DQpjb25maWd1cmU6MjY5
NjogY2hlY2tpbmcgd2hldGhlciB0aGUgQysrIGNvbXBpbGVyIGFjY2VwdHMgY29tcGxldGUgdHlw
ZXMgYXMgZGVmYXVsdCB0ZW1wbGF0ZSBwYXJhbWV0ZXJzDQpjb25maWd1cmU6MjczOTogYysrIC1j
IC1nIC1PMiAgY29uZnRlc3QuQyAxPiY1DQpjb25maWd1cmU6Mjc2MDogY2hlY2tpbmcgd2hldGhl
ciB0aGUgQysrIGNvbXBpbGVyIGFjY2VwdHMgZGVmYXVsdCB0ZW1wbGF0ZSB0eXBlIHBhcmFtZXRl
cnMgdGVtcGxhdGVkIG92ZXIgZWFybGllciBwYXJhbWV0ZXJzDQpjb25maWd1cmU6Mjc5MzogYysr
IC1jIC1nIC1PMiAgY29uZnRlc3QuQyAxPiY1DQpjb25maWd1cmU6MjgxOTogY2hlY2tpbmcgd2hl
dGhlciB0aGUgQysrIGNvbXBpbGVyIG5lZWRzIHRoZSBTdW5Qcm8gY2xhc3Mgc2NvcGUgaGFjaw0K
Y29uZmlndXJlOjI4NzE6IGMrKyAtYyAtZyAtTzIgIGNvbmZ0ZXN0LkMgMT4mNQ0KY29uZmlndXJl
OjI4OTk6IGNoZWNraW5nIHdoZXRoZXIgdGhlIEMrKyBjb21waWxlciBoYXMgd29ya2luZyBleGNl
cHRpb25zDQpjb25maWd1cmU6Mjk2MDogYysrIC1jIC1nIC1PMiAgY29uZnRlc3QuQyAxPiY1DQpj
b25maWd1cmU6Mjk5MTogY2hlY2tpbmcgd2hldGhlciB0aGUgQysrIGNvbXBpbGVyIGhhcyB3b3Jr
aW5nIG5hbWVzcGFjZXMNCmNvbmZpZ3VyZTozMDkwOiBjKysgLWMgLWcgLU8yICBjb25mdGVzdC5D
IDE+JjUNCmNvbmZpZ3VyZTozMTIxOiBjaGVja2luZyB3aGV0aGVyIHRoZSBDKysgY29tcGlsZXIg
YWxsb3dzIHN0ZDo6IGZvciB0aGUgc3RhbmRhcmQgbGlicmFyeQ0KY29uZmlndXJlOjMxNTg6IGMr
KyAtYyAtZyAtTzIgIGNvbmZ0ZXN0LkMgMT4mNQ0KY29uZmlndXJlOjMxOTA6IGNoZWNraW5nIHdo
ZXRoZXIgdGhlIEMrKyBjb21waWxlciBuZWVkcyBzdGQ6OiBmb3IgdGhlIHN0YW5kYXJkIGxpYnJh
cnkNCmNvbmZpZ3VyZTozMjI3OiBjKysgLWMgLWcgLU8yICBjb25mdGVzdC5DIDE+JjUNCmNvbmZp
Z3VyZTogSW4gZnVuY3Rpb24gYHZvaWQgZnVuY3Rpb24oKSc6DQpjb25maWd1cmU6MzIxNjogYHZl
Y3RvcicgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIHRoaXMgZnVuY3Rpb24pDQpjb25maWd1cmU6MzIx
NjogKEVhY2ggdW5kZWNsYXJlZCBpZGVudGlmaWVyIGlzIHJlcG9ydGVkIG9ubHkgb25jZSBmb3Ig
ZWFjaCANCiAgIGZ1bmN0aW9uIGl0IGFwcGVhcnMgaW4uKQ0KY29uZmlndXJlOjMyMTY6IHBhcnNl
IGVycm9yIGJlZm9yZSBgPicgdG9rZW4NCmNvbmZpZ3VyZTozMjE3OiBgZmxheicgdW5kZWNsYXJl
ZCAoZmlyc3QgdXNlIHRoaXMgZnVuY3Rpb24pDQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdh
czoNCiNsaW5lIDMyMTAgImNvbmZpZ3VyZSIKI2luY2x1ZGUgImNvbmZkZWZzLmgiCgojaW5jbHVk
ZSA8Y21hdGg+CiNpbmNsdWRlIDx2ZWN0b3I+Ci8vI2luY2x1ZGUgPGlvc3RyZWFtPgp2b2lkIGZ1
bmN0aW9uKCkgewogIHZlY3Rvcjxkb3VibGU+IGZsYXo7CiAgZmxhei5wdXNoX2JhY2soc3FydCgy
LjApKTsKICBmbGF6LnB1c2hfYmFjayhmYWJzKDEuMGYpKTsKICAvL2NlcnIgPDwgImhlbGxvLCB3
b3JsZCIgPDwgZW5kbDsKfQoKaW50IG1haW4oKSB7Cgo7IHJldHVybiAwOyB9CmNvbmZpZ3VyZToz
MjYyOiBjaGVja2luZyB3aGV0aGVyIGJ5dGUgb3JkZXJpbmcgaXMgYmlnZW5kaWFuDQpjb25maWd1
cmU6MzM4MDogY2hlY2tpbmcgZm9yIGNhc3NlcnQNCmNvbmZpZ3VyZTozNDMxOiBjaGVja2luZyBm
b3IgY2lzbzY0Ng0KY29uZmlndXJlOjM0ODI6IGNoZWNraW5nIGZvciBjc2V0am1wDQpjb25maWd1
cmU6MzUzMzogY2hlY2tpbmcgZm9yIGNzdGRpbw0KY29uZmlndXJlOjM1ODQ6IGNoZWNraW5nIGZv
ciBjdGltZQ0KY29uZmlndXJlOjM2MzU6IGNoZWNraW5nIGZvciBjY3R5cGUNCmNvbmZpZ3VyZToz
Njg2OiBjaGVja2luZyBmb3IgY2xpbWl0cw0KY29uZmlndXJlOjM3Mzc6IGNoZWNraW5nIGZvciBj
c2lnbmFsDQpjb25maWd1cmU6Mzc4ODogY2hlY2tpbmcgZm9yIGNzdGRsaWINCmNvbmZpZ3VyZToz
ODM5OiBjaGVja2luZyBmb3IgY3djaGFyDQpjb25maWd1cmU6Mzg5MDogY2hlY2tpbmcgZm9yIGNl
cnJubw0KY29uZmlndXJlOjM5NDE6IGNoZWNraW5nIGZvciBjbG9jYWxlDQpjb25maWd1cmU6Mzk5
MjogY2hlY2tpbmcgZm9yIGNzdGRhcmcNCmNvbmZpZ3VyZTo0MDQzOiBjaGVja2luZyBmb3IgY3N0
cmluZw0KY29uZmlndXJlOjQwOTQ6IGNoZWNraW5nIGZvciBjd2N0eXBlDQpjb25maWd1cmU6NDE0
NTogY2hlY2tpbmcgZm9yIGNmbG9hdA0KY29uZmlndXJlOjQxOTY6IGNoZWNraW5nIGZvciBjbWF0
aA0KY29uZmlndXJlOjQyNDc6IGNoZWNraW5nIGZvciBjc3RkZGVmDQpjb25maWd1cmU6NDI5ODog
Y2hlY2tpbmcgZm9yIGFsZ29yaXRobQ0KY29uZmlndXJlOjQzNDk6IGNoZWNraW5nIGZvciBpb21h
bmlwDQpjb25maWd1cmU6NDQwMDogY2hlY2tpbmcgZm9yIGxpc3QNCmNvbmZpZ3VyZTo0NDUxOiBj
aGVja2luZyBmb3Igb3N0cmVhbQ0KY29uZmlndXJlOjQ1MDI6IGNoZWNraW5nIGZvciBzdHJlYW1i
dWYNCmNvbmZpZ3VyZTo0NTUzOiBjaGVja2luZyBmb3IgYml0c2V0DQpjb25maWd1cmU6NDYwNDog
Y2hlY2tpbmcgZm9yIGlvcw0KY29uZmlndXJlOjQ2NTU6IGNoZWNraW5nIGZvciBsb2NhbGUNCmNv
bmZpZ3VyZTo0NzA2OiBjaGVja2luZyBmb3IgcXVldWUNCmNvbmZpZ3VyZTo0NzU3OiBjaGVja2lu
ZyBmb3Igc3RyaW5nDQpjb25maWd1cmU6NDgwODogY2hlY2tpbmcgZm9yIGNvbXBsZXgNCmNvbmZp
Z3VyZTo0ODU5OiBjaGVja2luZyBmb3IgaW9zZndkDQpjb25maWd1cmU6NDkxMDogY2hlY2tpbmcg
Zm9yIG1hcA0KY29uZmlndXJlOjQ5NjE6IGNoZWNraW5nIGZvciBzZXQNCmNvbmZpZ3VyZTo1MDEy
OiBjaGVja2luZyBmb3IgdHlwZWluZm8NCmNvbmZpZ3VyZTo1MDYzOiBjaGVja2luZyBmb3IgZGVx
dWUNCmNvbmZpZ3VyZTo1MTE0OiBjaGVja2luZyBmb3IgaW9zdHJlYW0NCmNvbmZpZ3VyZTo1MTY1
OiBjaGVja2luZyBmb3IgbWVtb3J5DQpjb25maWd1cmU6NTIxNjogY2hlY2tpbmcgZm9yIHNzdHJl
YW0NCmNvbmZpZ3VyZTo1MjY3OiBjaGVja2luZyBmb3IgdXRpbGl0eQ0KY29uZmlndXJlOjUzMTg6
IGNoZWNraW5nIGZvciBleGNlcHRpb24NCmNvbmZpZ3VyZTo1MzY5OiBjaGVja2luZyBmb3IgaXN0
cmVhbQ0KY29uZmlndXJlOjU0MjA6IGNoZWNraW5nIGZvciBuZXcNCmNvbmZpZ3VyZTo1NDcxOiBj
aGVja2luZyBmb3Igc3RhY2sNCmNvbmZpZ3VyZTo1NTIyOiBjaGVja2luZyBmb3IgdmFsYXJyYXkN
CmNvbmZpZ3VyZTo1NTczOiBjaGVja2luZyBmb3IgZnN0cmVhbQ0KY29uZmlndXJlOjU2MjQ6IGNo
ZWNraW5nIGZvciBpdGVyYXRvcg0KY29uZmlndXJlOjU2NzU6IGNoZWNraW5nIGZvciBudW1lcmlj
DQpjb25maWd1cmU6NTcyNjogY2hlY2tpbmcgZm9yIHN0ZGV4Y2VwdA0KY29uZmlndXJlOjU3Nzc6
IGNoZWNraW5nIGZvciB2ZWN0b3INCmNvbmZpZ3VyZTo1ODI4OiBjaGVja2luZyBmb3IgZnVuY3Rp
b25hbA0KY29uZmlndXJlOjU4Nzk6IGNoZWNraW5nIGZvciBsaW1pdHMNCmNvbmZpZ3VyZTo1OTMw
OiBjaGVja2luZyBmb3Igc3Ryc3RyZWFtDQo=

------_=_NextPart_001_01C2D46A.9D891898--