[barcode] I got stuff done
David Humphreys
humphrd@tcd.ie
Thu, 14 Mar 2002 18:03:18 +0000
This is the preamble of a multipart MIME formatted message.
If you are reading this text your mail system is most likely
not capable of properly decoding MIME messages. To extract
the contents of this message, save it to a file and then use
an external MIME decoding utility.
--mime-boundary-interchange-3cc785bd
Content-Type: text/plain; charset="ISO-8859-1"
Content-Transfer-Encoding: 7bit
Hey,
I finally got this work done last night. It's not fully tested, so be
warned. Obviously it should not be included by default. But it's here.
Maybe some sort of flag in the configure script would help, I didn't look at
that.
I used diff -u on the files.
Hopefully the files have UNIX line endings. My mac says that it's using
them.
D.
--mime-boundary-interchange-3cc785bd
Content-Type: application/octet-stream; name="barcode.h.diff"
Content-disposition: attachment; filename="barcode.h.diff"
Content-Transfer-Encoding: BASE64
LS0tIGJhcmNvZGUtMC45OC9iYXJjb2RlLmgJRnJpIE1hciAgMSAyMjo0MTo1
MSAyMDAyCisrKyBuZXdiYXJjb2RlLTAuOTgvYmFyY29kZS5oCVdlZCBNYXIg
IDYgMTc6MDk6NTcgMjAwMgpAQCAtNTgsNyArNTgsOSBAQAogI2RlZmluZSBC
QVJDT0RFX09VVF9QQ0wgICAgICAgMHgwMDAwNDAwMCAgIC8qIGJ5IEFuZHJl
YSBTY29wZWNlICovCiAvKiAgICAgICAgICAgICAgICAgIFBDTF9JSUkgICAw
eDAwMDA4MDAwICAgKi8KICNkZWZpbmUgQkFSQ09ERV9PVVRfUENMX0lJSSAg
IDB4MDAwMEMwMDAKKyNkZWZpbmUgQkFSQ09ERV9PVVRfU1ZHICAgICAgIDB4
MDAwMTAwMDAKICNkZWZpbmUgQkFSQ09ERV9PVVRfTk9IRUFERVJTIDB4MDAx
MDAwMDAgICAvKiBubyBoZWFkZXIgbm9yIGZvb3RlciAqLworCiAKIGVudW0g
ewogICAgIEJBUkNPREVfQU5ZID0gMCwgICAgIC8qIGNob29zZSBiZXN0LWZp
dCAqLwo=
--mime-boundary-interchange-3cc785bd
Content-Type: application/octet-stream; name="ChangeLog.DJH"
Content-disposition: attachment; filename="ChangeLog.DJH"
Content-Transfer-Encoding: BASE64
QSBzdW1tYXJ5IG9mIGNoYW5nZXMgbWFkZSBieSBEYXZpZCBIdW1waHJleXMu
Cmh1bXBocmRAdGNkLmllClRoaXMgaXMgYWdhaW5zdCBsaWJiYXJjb2RlIDAu
OTgKCmxpYnJhcnkuYwogICAgQmFyY29kZV9wcmludCgpOgogICAgKiBJbnNl
cnRlZCBjb2RlIGZvciBhIGp1bXAgdGFibGUgZm9yIHRoZSB2YXJpb3VzKFBT
LCBQQ0wsIFNWRykgb3V0cHV0IHR5cGVzLiAgIFRoZSBjb2RlIGlzIG1haW5s
eSBiYXNlZCBvbiB0aGUganVtcCB0YWJsZSBnaXZlbiBmb3IgZW5jb2RlIAog
ICAgCmJhcmNvZGUuaAogICAgKkFkZGVkIGEgbmV3IGZsYWcgQkFSQ09ERV9P
VVRfU1ZHLgoKc3ZnLmMKICAgIGJhcmNvZGVfc3ZnX3ByaW50KCk6CiAgICAq
IFRlc3RzIGlmIHRleHQgb3V0cHV0IGlzIHdhbnRlZC4KCk1ha2VmaWxlLmlu
CiAgICAqIEFkZGVkIHN2Zy5vIHRvIExJQk9CSkVDVFM=
--mime-boundary-interchange-3cc785bd
Content-Type: application/octet-stream; name="library.c.diff"
Content-disposition: attachment; filename="library.c.diff"
Content-Transfer-Encoding: BASE64
LS0tIGJhcmNvZGUtMC45OC9saWJyYXJ5LmMJRnJpIE1hciAgMSAyMjozOToy
NCAyMDAyCisrKyBuZXdiYXJjb2RlLTAuOTgvbGlicmFyeS5jCVdlZCBNYXIg
IDYgMTc6MjQ6MTIgMjAwMgpAQCAtMTcyLDYgKzE3MiwyMyBAQAogICovCiBl
eHRlcm4gaW50IEJhcmNvZGVfcHNfcHJpbnQoc3RydWN0IEJhcmNvZGVfSXRl
bSAqYmMsIEZJTEUgKmYpOwogZXh0ZXJuIGludCBCYXJjb2RlX3BjbF9wcmlu
dChzdHJ1Y3QgQmFyY29kZV9JdGVtICpiYywgRklMRSAqZik7CitleHRlcm4g
aW50IEJhcmNvZGVfc3ZnX3ByaW50KHN0cnVjdCBCYXJjb2RlX0l0ZW0gKmJj
LCBGSUxFICpmKTsKKworLyoKKyAqIEFuZCBzbyBoZXJlJ3MgdGhhdCBqdW1w
IHRhYmxlIHN0dWZmLgorICogSSBqdXN0IGNvcGllZCBtb3N0IG9mIHRoZSBz
dHVmZiBmcm9tIGFib3ZlLgorICovCitzdHJ1Y3Qgb3V0cHV0X2xhbmd7Cisg
ICAgaW50IHR5cGU7CisgICAgaW50ICgqcHJpbnQpKHN0cnVjdCBCYXJjb2Rl
X0l0ZW0gKmJjLCBGSUxFICpmKTsKK307CisKK3N0cnVjdCBvdXRwdXRfbGFu
ZyBsYW5ndWFnZXNbXSA9IHsKKyAgICB7QkFSQ09ERV9PVVRfUFMsCUJhcmNv
ZGVfcHNfcHJpbnR9LAorICAgIHtCQVJDT0RFX09VVF9QQ0wsCUJhcmNvZGVf
cGNsX3ByaW50fSwKKyAgICB7QkFSQ09ERV9PVVRfU1ZHLAlCYXJjb2RlX3N2
Z19wcmludH0sCisgICAgezAsCQkJTlVMTH0KK307CiAKIC8qCiAgKiBBIGZ1
bmN0aW9uIHRvIHByaW50IGEgcGFydGlhbGx5IGRlY29kZWQgc3RyaW5nLiBN
ZWFuaW5nZnVsIGJpdHMgZm9yCkBAIC0xODIsNiArMTk5LDcgQEAKIHsKICAg
ICBpbnQgdmFsaWRiaXRzID0gQkFSQ09ERV9PVVRQVVRfTUFTSyB8IEJBUkNP
REVfTk9fQVNDSUkKIAl8IEJBUkNPREVfT1VUX05PSEVBREVSUzsKKyAgICBz
dHJ1Y3Qgb3V0cHV0X2xhbmcgKm91dHB1dF90OwogCiAgICAgLyogSWYgYW55
IGZsYWcgaXMgY2xlYXIgaW4gImZsYWdzIiwgaW5oZXJpdCBpdCBmcm9tICJi
Yy0+ZmxhZ3MiICovCiAgICAgaWYgKCEoZmxhZ3MgJiBCQVJDT0RFX09VVFBV
VF9NQVNLKSkKQEAgLTE5Miw5ICsyMTAsMjEgQEAKIAlmbGFncyB8PSBiYy0+
ZmxhZ3MgJiBCQVJDT0RFX09VVF9OT0hFQURFUlM7CiAgICAgZmxhZ3MgPSBi
Yy0+ZmxhZ3MgPSAoZmxhZ3MgJiB2YWxpZGJpdHMpIHwgKGJjLT5mbGFncyAm
IH52YWxpZGJpdHMpOwogCisgICAgZm9yKG91dHB1dF90ID0gbGFuZ3VhZ2Vz
OyBvdXRwdXRfdC0+cHJpbnQ7IG91dHB1dF90KyspCisJaWYob3V0cHV0X3Qt
PnR5cGUgPT0gKGZsYWdzICYgQkFSQ09ERV9PVVRQVVRfTUFTSykpCisJICAg
IGJyZWFrOworICAgIAorICAgIGlmKCFvdXRwdXRfdCl7CisJYmMtPmVycm9y
ID0gRUlOVkFMOwkJLy8gTm90IHN1cmUgb2YgdGhlIGVycm9yIHR5cGUKKwly
ZXR1cm4gLTE7CisgICAgfQorICAgIAorICAgIHJldHVybiBvdXRwdXRfdC0+
cHJpbnQoYmcsIGYpOworICAgIC8qCiAgICAgaWYgKGJjLT5mbGFncyAmIEJB
UkNPREVfT1VUX1BDTCkKICAgICAgICByZXR1cm4gQmFyY29kZV9wY2xfcHJp
bnQoYmMsIGYpOwogICAgIHJldHVybiBCYXJjb2RlX3BzX3ByaW50KGJjLCBm
KTsKKyAgICAqLwogfQogCiAvKgo=
--mime-boundary-interchange-3cc785bd
Content-Type: application/octet-stream; name="Makefile.in.diff"
Content-disposition: attachment; filename="Makefile.in.diff"
Content-Transfer-Encoding: BASE64
LS0tIGJhcmNvZGUtMC45OC9NYWtlZmlsZS5pbglXZWQgT2N0IDE3IDEzOjI2
OjIxIDIwMDEKKysrIG5ld2JhcmNvZGUtMC45OC9NYWtlZmlsZS5pbglXZWQg
TWFyIDEzIDE5OjE1OjUzIDIwMDIKQEAgLTMwLDcgKzMwLDcgQEAKIAogTElC
T0JKRUNUUyA9IGxpYnJhcnkubyBlYW4ubyBjb2RlMTI4Lm8gY29kZTM5Lm8g
Y29kZTkzLm8gaTI1Lm8gXAogCQltc2kubyBwbGVzc2V5Lm8gY29kYWJhci5v
IFwKLQkJcHMubyBwY2wubworCQlwcy5vIHBjbC5vIHN2Zy5vCiBFWEVPQkpF
Q1RTID0gbWFpbi5vIGNtZGxpbmUubyAkKEdFVE9QVF9PKQogQUxMU09VUkNF
UyA9ICQoTElCT0JKRUNUUzoubz0uYykgJChFWEVPQkpFQ1Q6Lm89LmMpCiAK
--mime-boundary-interchange-3cc785bd
Content-Type: application/octet-stream; name="svg.c"
Content-disposition: attachment; filename="svg.c"
Content-Transfer-Encoding: BASE64
LyoKICogc3ZnLmMgLS0gcHJpbnQgb3V0IHRoZSBiYXJjb2RlIFNWRy1zdHls
ZQogKgogKiBDb3B5cmlnaHQgKGMpIDIwMDEgRGF2aWQgSi4gSHVtcGhyZXlz
IChodW1waHJkQHRjZC5pZSkKICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29m
dHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkK
ICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJs
aWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKICogdGhlIEZyZWUgU29mdHdh
cmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5z
ZSwgb3IKICogKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4K
ICoKICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3Bl
IHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiAqIGJ1dCBXSVRIT1VUIEFOWSBX
QVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9m
CiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIgUFVSUE9TRS4gU2VlIHRoZQogKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGlj
ZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgogKgogKiBZb3Ugc2hvdWxkIGhhdmUg
cmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGlj
ZW5zZQogKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0
ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQogKiBGb3VuZGF0aW9uLCBJbmMuLCA1
OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0x
MzA3IFVTQQogKgogKiBodHRwOi8vd3d3Lm9uZWZvdXIubmV0L2JhcmNvZGUv
IAogKiBNYWRlIHdpdGggYSBtYWMhIChUZXN0ZWQgdW5kZXIgb3MgWCwgMTAu
MSkKICogCiAqIEkgd2FudGVkIHRvIG91dHB1dCBiYXJjb2RlcyBhcyBTVkcg
Zm9yIHNvbWUgYXJ0IHdvcmsuCiAqIFRoaXMgd2lsbCBvdXRwdXQgZXZlcnl0
aGluZyBhcyBhbiBTVkcgZmlsZS4gVGhpcyBmaWxlIGNhbgogKiB0aGVuIGJl
IGluc2VydGVkIGludG8gYW5vdGhlciBTVkcgZmlsZS4KICoKICogSSBkb24n
dCB3YW50IHRvIGdldCBpbnRvIHRoZSBzcGVjaWZpY3Mgb2YgU1ZHIGZpbGVz
IGhlcmUuIEkKICogc3VwcG9zZSB0aGVyZSB3aWxsIGJlIGEgZmV3IHNwZWNp
ZmljcyBvbiBteSB3ZWJzaXRlIChhYm92ZSkgYWxvbmcKICogd2l0aCBhIGZl
dyBleGFtcGxlcy4KICovCgojaW5jbHVkZSA8c3RkaW8uaD4KI2luY2x1ZGUg
PHN0ZGxpYi5oPgojaW5jbHVkZSA8c3RyaW5nLmg+CiNpbmNsdWRlIDxjdHlw
ZS5oPgojaW5jbHVkZSA8ZXJybm8uaD4KCiNpbmNsdWRlICJiYXJjb2RlLmgi
CgovKiBJZiB0aGVyZSBpcyBhbnkgbmVlZCB0byBwcmludCBvdXQgYSBjb21t
ZW50LAogKiB0aGVuIHRoaXMgaXMgdGhlIG1ldGhvZCAqLwppbnQgc3ZnX2Nv
bW1lbnQoY2hhciAqTWVzc2FnZSwgRklMRSAqZil7CiAgZnByaW50ZihmLCAi
PCEtLSAlcyAtLT5cbiIsTWVzc2FnZSk7CiAgcmV0dXJuIDA7Cn0KCi8qIFBy
aW50cyB0aGUgdGl0bGUgKGJjLT5hc2NpaSkgYW5kIHRoZSAKICogZGVzYyhy
aXB0aW9uKSAqLwppbnQgc3ZnX2Rlc2Moc3RydWN0IEJhcmNvZGVfSXRlbSAq
YmMsIEZJTEUgKmYpewogIGZwcmludGYoZiwgIjx0aXRsZT4lczwvdGl0bGU+
XG4iLGJjLT5hc2NpaSk7CiAgZnByaW50ZihmLCAiPGRlc2M+XG4iKTsKICAg
IGZwcmludGYoZiwgIlx0JXM6XHQlc1xuIixiYy0+ZW5jb2RpbmcsYmMtPmFz
Y2lpKTsKICAgIGZwcmludGYoZiwgIlx0R05VLWJhcmNvZGU6XHQlc1xuIixC
QVJDT0RFX1ZFUlNJT04pOwogICAgZnByaW50ZihmLCAiXHRiYXJjb2RlOlx0
aHR0cDovL3d3dy5nbnUub3JnL1xuIik7CiAgICBmcHJpbnRmKGYsICJcdHN2
Zy1jb2RlOlx0aHR0cDovL3d3dy5vbmVmb3VyLm5ldC9iYXJjb2RlXG4iKTsK
ICBmcHJpbnRmKGYsICI8L2Rlc2M+XG4iKTsKICByZXR1cm4gMDsKfQoKLyog
cHJpbnQgb3V0IHRoZSBzdGFydCBvZiB0aGUgc3ZnIGZpbGUsCiAqIHdpdGgg
c29tZSB4bWwgdm9vZG9vLiAgIFRoZXJlIGFyZSBhCiAqIGxvdCBvZiBcInMg
aW4gdGhpcyBjb2RlLgogKiBJdCBib3VuZHMgdGhlIHN2ZyBmaWxlIGJ5CiAq
IGJjLT53aWR0aCBvciAgMTA0IGFuZAogKiBiYy0+aGVpZ2h0IG9yIDEwMAog
KiBUaGUgdGl0bGUgb2YgdGhlIGZpbGUgaXMgYmMtPmFzY2lpIAogKiBOT1RF
OiBtYXJnaW5zIGFuZCBzY2FsZSBhcmUgaWdub3JlZAogKiAgICAgICB0aGUg
dXNlciBjYW4gc2ltcGx5IGluc2VydCB0aGUgCiAqICAgICAgIHN2ZyBmaWxl
IGludG8gYW5vdGhlciBhbmQgdGhlbgogKiAgICAgICBzcGVjaWZ5IHNjYWxl
IGFuZCBtYXJnaW4uKi8KaW50IHN2Z19zdGFydCggc3RydWN0IEJhcmNvZGVf
SXRlbSAqYmMsIEZJTEUgKmYpewogIGlmKGJjLT5oZWlnaHQgPT0gMCkgYmMt
PmhlaWdodCA9IDEwMDsKICBpZihiYy0+d2lkdGggPT0gMCkgIGJjLT53aWR0
aCA9IDEwNDsKICBmcHJpbnRmKGYsICI8P3htbCB2ZXJzaW9uPVwiMS4wXCIg
c3RhbmRhbG9uZT1cIm5vXCI/PlxuIik7CiAgZnByaW50ZihmLCAiPCFET0NU
WVBFIHN2ZyBQVUJMSUMgXCItLy9XM0MvL0RURCBTVkcgMS4wLy9FTlwiIFwi
aHR0cDovL3d3dy53My5vcmcvVFIvMjAwMS9SRUMtU1ZHLTIwMDEwOTA0L0RU
RC9zdmcxMC5kdGRcIj5cbiIpOwogIGZwcmludGYoZiwgIjxzdmcgd2lkdGg9
XCIlaVwiIGhlaWdodD1cIiVpXCI+XG4iLGJjLT53aWR0aCAsYmMtPmhlaWdo
dCk7CiAgc3ZnX2Rlc2MoYmMsZik7CiAgcmV0dXJuIDA7Cn0KCi8qIGp1c3Qg
Y2xvc2UgdGhlIHN2ZyBmaWxlICovCmludCBzdmdfZW5kKEZJTEUgKmYpewog
IGZwcmludGYoZiwgIjwvc3ZnPlxuIik7CiAgcmV0dXJuIDA7Cn0KCi8qIHBy
aW50cyBvdXQgdGhlIGNvZGUgZm9yIHRoZSBiYXJzLgogKiB0aGUgYmFycyBh
cmUgZHJhd24gd2l0aCByZWN0KGFuZ2xlcykKICogcmF0aGVyIHRoYW4gbGlu
ZXMuICAgVGhlIG1hdGhlbWF0aWNzCiAqIGZvciBwbGFjaW5nIGEgbGluZSB0
aGVuIHNldHRpbmcgdGhlIAogKiBzdHJva2Ugd2lkdGggZ2V0cyBtZXNzeS4g
Ki8KaW50IHN2Z19iYXJzKHN0cnVjdCBCYXJjb2RlX0l0ZW0gKmJjLCBGSUxF
ICpmKXsKICBpbnQgCiAgICBpID0gMCwJCQkvKiBMb29wIGNvdW50ZXIgKi8K
ICAgIGhlaWdodCA9IDcwLAkJLyogRWFjaCBib3ggaXMgNzAgcGl4ZWxzIGlu
IGhpZWdodCAqLwogICAgeHBvcyA9IDA7CQkJLyogV2hlcmUgdGhlIGN1cnJl
bnQgYm94IGlzIGRyYXduICovCiAgaW50IGN1cnJlbnQ7CQkJLyogVGhlIGN1
cnJlbnQgY2hhcmFjdGVyIGluIHBhcnRpYWwgKi8KICBpbnQgaXNfYmFyID0g
MDsKCiAgZnByaW50ZihmLCAiPGcgZmlsbD1cImJsYWNrXCI+XG4iKTsKCiAg
Zm9yKGkgPSAwOyBpIDwgc3RybGVuKGJjLT5wYXJ0aWFsKTsgaSsrKXsKICAg
IGN1cnJlbnQgPSAoaW50KWJjLT5wYXJ0aWFsW2ldIC0gNDg7CiAgICBpZihj
dXJyZW50ID4gOSl7CiAgICAgICAgaGVpZ2h0ID0gNzU7CQkvKiBHdWlkZSBi
YXIgKi8KICAgICAgICBjdXJyZW50ID0gKGludCliYy0+cGFydGlhbFsrK2ld
IC0gNDg7CiAgICAgICAgaSsrOwkJCS8qIFNraXAgdGhlIGZvbGxvd2luZyAn
YScgKi8KICAgIH0KICAgIGVsc2UKICAgICAgICBoZWlnaHQgPSA3MDsKICAg
IGlmKGlzX2JhciA9PSAxKXsKICAgICAgICBmcHJpbnRmKGYsICJcdDxyZWN0
IHg9XCIlaVwiIHk9XCIwXCIgIix4cG9zKTsgLyogYWxsIGJhcnMgc3RhcnQg
YXQgeT0wICovCiAgICAgICAgZnByaW50ZihmLCAiaGVpZ2h0PVwiJWlcIiB3
aWR0aD1cIiVpXCIgc3Ryb2tlLXdpZHRoPVwiMFwiLz5cbiIsaGVpZ2h0LGN1
cnJlbnQpOwogICAgICAgIGlzX2JhciA9IDA7CiAgICB9CiAgICBlbHNlCiAg
ICAgICAgaXNfYmFyID0gMTsKICAgIHhwb3MgKz0gY3VycmVudDsKICB9CiAg
ZnByaW50ZihmLCAiPC9nPlxuIik7CiAgcmV0dXJuIDA7Cn0KCi8qIHBvc2l0
aW9ucyB0aGUgY2hhcmFjdGVycyB0aGF0IHdpbGwKICogYmUgcHJpbnRlZC4g
ICBUaGlzIGFzc3VtZXMgdGhleSB3aWxsCiAqIGJlIHVuZGVyIHRoZSBiYXJj
b2RlLiovCmludCBzdmdfdGV4dChzdHJ1Y3QgQmFyY29kZV9JdGVtICpiYywg
RklMRSAqZil7CiAgdW5zaWduZWQgCiAgICBpID0gMCwKICAgIGogPSAwLAog
ICAgaW5mb3N6ID0gc3RybGVuKGJjLT50ZXh0aW5mbyksCiAgICB4cG9zID0g
MCwKICAgIHByZXZfeCA9IDAsCiAgICBjb3JyZWN0aW9uID0gMDsJCS8qIFRo
aXMgY29ycmVjdGlvbiBzZWVtcyB0byBiZSBuZWVkZWQgdG8gYWxpZ24gdGV4
dCBwcm9wZXJseSAqLwogIGRvdWJsZSBkdWIxLCBkdWIyOwogIGNoYXIgcHJp
bnRlcjsKICBjaGFyICp0ZW1wX2luZm8gPSBtYWxsb2MoaW5mb3N6KTsKICBp
ZighdGVtcF9pbmZvKQogICAgcmV0dXJuIC0xOwogIGZwcmludGYoZiwgIjxn
IGZvbnQtZmFtaWx5PVwiSGVsdml0aWNhXCIgZm9udC1zaXplPVwiMTJcIj5c
biIpOwogIAogIHdoaWxlKGkgPCBpbmZvc3opewogICAgZm9yKGogPSAwOyBi
Yy0+dGV4dGluZm9baSArIGogKyAxXSAhPSAnICcgJiYKCSAgYmMtPnRleHRp
bmZvW2kgKyBqICsgMV0gIT0gJ1wwJztqKyspOwkvKiBFbXB0eSBsb29wLCBq
dXN0IGluY3JlbWVudCBqICovCgogICAgaiArKzsKICAgIHN0cm5jcHkodGVt
cF9pbmZvLCAoYmMtPnRleHRpbmZvICsgaSksaik7CiAgICBzc2NhbmYodGVt
cF9pbmZvLCAiJWxmOiVsZjolYyIsICZkdWIxLCAmZHViMiwgJnByaW50ZXIp
OwogICAgaSArPSBqOwoKICAgIHhwb3MgPSAoaW50KWR1YjE7CiAgICAvKiBJ
ZiB0aGVyZSBpcyBhIGdhcCBiZXR3ZWVuIGxhc3QgYW5kIGN1cnJlbnQKICAg
ICAqIGNoYXJhY3RlciB0aGVuIGluY3JlbWVudCB0aGUgY29ycmVjdGlvbi4K
ICAgICAqIFRoaXMgc2VlbXMgdG8gYmUgY2F1c2VkIGJ5IFBTIGFuZCBTVkcK
ICAgICAqIHJlbmRlcmluZyBmb250cyBzbGlnaHRseSBkaWZmZXJlbnQuICov
CiAgICBpZigoeHBvcyAtIHByZXZfeCkgPj0gMTApCiAgICAgIGNvcnJlY3Rp
b24gKz0gMjsKCiAgICBwcmV2X3ggPSB4cG9zOwogICAgZnByaW50ZihmLCAi
XHQ8dGV4dCB4PVwiJWlcIiB5PVwiJWlcIj4lYzwvdGV4dD5cbiIsKHhwb3Mg
LSBjb3JyZWN0aW9uKSw4MCxwcmludGVyKTsKICB9CiAgZnByaW50ZihmLCAi
PC9nPlxuIik7CiAgZnJlZSh0ZW1wX2luZm8pOwogIHJldHVybiAwOwp9Cgov
KiBUaGlzIGlzIHRoZSBmdW5jdGlvbiB0byBjYWxsLiAgIEl0IGNhbGxzIHRo
ZSAKICogZnVuY3Rpb25zIGFib3ZlIGluIG9yZGVyLiAgIFRoZXJzIGlzIG5v
IHJlYWwKICogZXJyb3IgZGV0ZWN0aW9uIGluIHRoaXMgY29kZS4gKi8KaW50
IEJhcmNvZGVfc3ZnX3ByaW50KHN0cnVjdCBCYXJjb2RlX0l0ZW0gKmJjLCBG
SUxFICpmKXsKICBzdmdfc3RhcnQoYmMsZik7CiAgc3ZnX2JhcnMoYmMsZik7
CiAgaWYoKGJjLT5mbGFncyAmIEJBUkNPREVfTk9fQVNDSUkpID09IDApCiAg
ICBzdmdfdGV4dChiYyxmKTsKICBzdmdfZW5kKGYpOwogIHJldHVybiAwOwp9
Cg==
--mime-boundary-interchange-3cc785bd--