--1928594640-1464751805-890793021=:13872
Content-Type: TEXT/PLAIN; charset=US-ASCII
Please study this program, both in terms of logic and style. Run it
in the debugger to see more clearly how it works.
Dr. C. Allen Butler (757)-727-7700 Voice
Daniel H. Wagner Assoc. (757)-722-0249 FAX
2 Eaton St., Ste. 500 allen@va.wagner.com
Hampton, VA 23669
--1928594640-1464751805-890793021=:13872
Content-Type: TEXT/PLAIN; charset=US-ASCII; name="convert_digits.c"
Content-Transfer-Encoding: BASE64
Content-ID: <Pine.SUN.3.95.980324183020.13872B@wagner.va.wagner.com>
Content-Description: convert_digits.c
LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCi8qICAgRmlsZSAg
ICAgICA6IGNvbnZlcnRfZGlnaXRzLmMgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICovDQovKiAgIERhdGUgICAgICAgOiAzLzIw
Lzk4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAqLw0KLyogICBBdXRob3IgICAgIDogQy4gQWxsZW4gQnV0bGVy
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8N
Ci8qICAgUHJvamVjdCAgICA6IEMgUHJvZ3JhbW1pbmcgQXNzaWdubWVudHMg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovDQovKiAgIERlc2Ny
aXB0aW9uOiBUaGlzIHByb2dyYW0gcmVhZHMgZnJvbSBhbiBpbnB1dCBmaWxl
ICdudW1iZXJzJyBhIHNldCAgICAqLw0KLyogICAgICAgICAgICAgIDogb2Yg
aW50ZWdlciBhbmQgcmVhbCBudW1iZXJzLiAgSXQgcmVhZHMgdGhlbSBhcyBj
aGFyYWN0ZXJzKi8NCi8qICAgICAgICAgICAgICA6IGFuZCB0aGVuIGludGVy
cHJldHMgdGhlbSBhcyBudW1iZXJzLiAgICAgICAgICAgICAgICAgICAgICov
DQovKiAgIE5vdGVzICAgICAgOiBUaGUgbWF4aW11bSBudW1iZXIgb2YgY2hh
cmFjdGVycyBvbiBlYWNoIGxpbmUgaXMgMjAuICAgICAqLw0KLyoqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKi8NCg0KICAgICAgICAgIC8qKioqKioq
KioqKioqKioqKioqKioqKioqLw0KICAgICAgICAgIC8qICAgICBJbmNsdWRl
IEZpbGVzICAgICAqLw0KICAgICAgICAgIC8qKioqKioqKioqKioqKioqKioq
KioqKioqLw0KDQojaW5jbHVkZSA8c3RkaW8uaD4NCiNpbmNsdWRlIDxzdGRs
aWIuaD4NCiNpbmNsdWRlIDxhc3NlcnQuaD4NCg0KICAgICAgICAgIC8qKioq
KioqKioqKioqKioqKioqKioqKioqLw0KICAgICAgICAgIC8qICAgU3ltYm9s
aWMgQ29uc3RhbnRzICAqLw0KICAgICAgICAgIC8qKioqKioqKioqKioqKioq
KioqKioqKioqLw0KDQojZGVmaW5lICBNQVhfRElHSVRTIDIwDQojZGVmaW5l
ICBUUlVFICAxDQojZGVmaW5lICBGQUxTRSAwDQoNCiAgICAgICAgICAvKioq
KioqKioqKioqKioqKioqKioqKioqKi8NCiAgICAgICAgICAvKiAgIEZ1bmN0
aW9uIFByb3RvdHlwZXMgKi8NCiAgICAgICAgICAvKioqKioqKioqKioqKioq
KioqKioqKioqKi8NCg0KICBpbnQgY29udmVydF9pbnQgKGNoYXIgKiwgaW50
LCBpbnQpOw0KICAgIC8qIENvbnZlcnQgY2hhcmFjdGVyIHN0cmluZyB0byBp
bnRlZ2VyICovDQogIGZsb2F0IGNvbnZlcnRfZmxvYXQgKGNoYXIgKiwgaW50
LCBpbnQsIGludCk7DQogICAgLyogQ29udmVydCBjaGFyYWN0ZXIgc3RyaW5n
IHRvIGZsb2F0ICovDQoNCmludCBtYWluICh2b2lkKQ0KDQp7DQogIEZJTEUg
Km51bWJlcnNfcHRyOw0KICAgIC8qIEZpbGUgcG9pbnRlciBmb3IgaW5wdXQg
ZmlsZSAqLw0KDQogIGNoYXIgYzsNCiAgICAvKiBJbmRpdmlkdWFsIGNoYXJh
Y3RlciByZWFkIGZyb20gaW5wdXQgZmlsZSAqLw0KICBjaGFyIGRpZ2l0cyBb
TUFYX0RJR0lUU107DQogICAgLyogQXJyYXkgdG8gaG9sZCBjaGFyYWN0ZXJz
IHJlYWQgZnJvbSBpbnB1dCBmaWxlICovDQoNCiAgaW50IGNoYXJfY250Ow0K
ICAgIC8qIE51bWJlciBvZiBjaGFyYWN0ZXJzIHJlYWQgb24gZWFjaCBsaW5l
ICovDQogIGludCBkZWNpbWFsX3BvaW50Ow0KICAgIC8qIFBvc2l0aW9uIG9m
IGRlY2ltYWwgcG9pbnQsIGlmIGFueSAqLw0KICBpbnQgZmxvYXRfdHlwZTsN
CiAgICAvKiBCb29sZWFuIHRvIGluZGljYXRlIHdoZXRoZXIgb3Igbm90IHRo
ZSBudW1iZXIgYmVpbmcgcHJvY2Vzc2VkIGlzICovDQogICAgLyogb2YgZmxv
YXQgdHlwZSBvciBpbnRlZ2VyIHR5cGUgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAqLw0KICBpbnQgaTsNCiAgICAvKiBJbmRleCBmb3Ig
Y3VycmVudCBsaW5lIGJlaW5nIHJlYWQgKi8NCiAgaW50IG5vdF9hX251bWJl
cjsNCiAgICAvKiBCb29sZWFuIHRvIGluZGljYXRlIHdoZXRoZXIgb3Igbm90
IGEgdmFsaWQgbnVtYmVyIGlzIGJlaW5nIHByb2Nlc3NlZCAqLw0KICBpbnQg
bnVtYmVyX29mX2xpbmVzOw0KICAgIC8qIE51bWJlciBvZiBsaW5lcyBjb250
YWluaW5nIG51bWJlcnMgdG8gY29udmVydCAqLw0KICBpbnQgc2lnbjsNCiAg
ICAvKiBGbGFnIHRvIGluZGljYXRlIHdoZXRoZXIgJysgb3IgJy0nIHdhcyB0
aGUgZmlyc3QgY2hhcmFjdGVyICovDQogICAgLyogc2lnbiA9ICAwIG1lYW5z
IGZpcnN0IGNoYXJhY3RlciB3YXMgbmVpdGhlciAnKycgbm9yICctJy4gICAq
Lw0KICAgIC8qIHNpZ24gPSAgMSBtZWFucyBmaXJzdCBjaGFyYWN0ZXIgd2Fz
ICcrJyAgICAgICAgICAgICAgICAgICAgKi8NCiAgICAvKiBzaWduID0gLTEg
bWVhbnMgZmlyc3QgY2hhcmFjdGVyIHdhcyAnLScgICAgICAgICAgICAgICAg
ICAgICovDQogIGludCB0ZXN0Ow0KICAgIC8qIEZsYWcgdG8gc2VlIGlmIGZp
cnN0IGxpbmUgcmVhZCBpbiB3YXMgYSB2YWxpZCBudW1iZXIgKi8NCg0KICAg
ICAgICAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQogICAg
ICAgICAvKiBFWEVDVVRBQkxFIENPREUgQkVHSU5TIEhFUkUgKi8NCiAgICAg
ICAgIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KDQogIC8q
IE9wZW4gdGhlIGZpbGUgZm9yIHJlYWRpbmcgb25seSAqLw0KICBudW1iZXJz
X3B0ciA9IGZvcGVuICgibnVtYmVycyIsInIiKTsNCiAgaWYgKG51bWJlcnNf
cHRyID09IE5VTEwpDQogIHsgcHJpbnRmICgiVW5hYmxlIHRvIG9wZW4gZmls
ZSAnbnVtYmVycydcbiIpOw0KICAgIGV4aXQgKDEpOw0KICB9DQoNCiAgLyog
Rmlyc3QgbGluZSBjb250YWlucyB0aGUgbnVtYmVyIG9mIHN1YnNlcXVlbnQg
bGluZXMgdG8gYmUgcHJvY2Vzc2VkICovDQogIHRlc3QgPSBmc2NhbmYgKG51
bWJlcnNfcHRyLCAiJWRcbiIsICZudW1iZXJfb2ZfbGluZXMpOw0KICBpZiAo
dGVzdCAhPSAxIHx8IG51bWJlcl9vZl9saW5lcyA8PSAwKQ0KICB7IHByaW50
ZiAoIkZpcnN0IGxpbmUgb2YgZmlsZSAnbnVtYmVycycgbXVzdCBiZSBhIHBv
c2l0aXZlIGludGVnZXIuXG4iKTsNCiAgICBleGl0ICgyKTsNCiAgfQ0KDQog
IHByaW50ZiAoIlRoZSBudW1iZXIgb2YgbGluZXMgaW4gdGhpcyBmaWxlIHRv
IGJlIGludGVycHJldGVkIGlzICUzZC5cblxuIiwNCiAgICAgICAgICBudW1i
ZXJfb2ZfbGluZXMpOw0KDQogIGZvciAoaSA9IDA7IGkgPCBudW1iZXJfb2Zf
bGluZXM7ICsraSkNCiAgeyAvKiBSZXNldCBwcm9jZXNzaW5nIGZsYWdzICov
DQogICAgbm90X2FfbnVtYmVyID0gRkFMU0U7DQogICAgZmxvYXRfdHlwZSAg
ID0gRkFMU0U7DQogICAgc2lnbiAgICAgICAgID0gMDsNCg0KICAgIHByaW50
ZiAoIkVjaG9pbmcgdGhlIGNoYXJhY3RlcnMgZGlyZWN0bHkgZnJvbSBsaW5l
ICUyZCA6ICIsIGkgKyAxKTsNCg0KICAgIC8qIFJlYWQgYSBjaGFyYWN0ZXIg
YXQgYSB0aW1lIHRvIGVuZCBvZiBsaW5lICovDQogICAgZm9yIChjaGFyX2Nu
dCA9IDA7IChjID0gZ2V0YyAobnVtYmVyc19wdHIpKSAhPSAnXG4nOyArK2No
YXJfY250KQ0KICAgIHsgLyogQ2FuJ3QgaGF2ZSBtb3JlIHRoYW4gTUFYX0RJ
R0lUUyBlbGVtZW50cyBpbiBhcnJheSAqLw0KICAgICAgaWYgKGNoYXJfY250
ID49IE1BWF9ESUdJVFMpDQogICAgICB7IHByaW50ZiAoIlRoaXMgcHJvZ3Jh
bSBoYW5kbGVzIGEgbWF4aW11bSBvZiAlZCBjaGFyYWN0ZXJzICINCiAgICAg
ICAgICAgICAgICAgIm9uIGVhY2ggbGluZS5cbiIsIE1BWF9ESUdJVFMpOw0K
ICAgICAgICBleGl0ICgzKTsNCiAgICAgIH0NCg0KICAgICAgLyogRWNobyB0
aGUgY2hhcmFjdGVyIHJlYWQgaW4gZGlyZWN0bHkgKi8NCiAgICAgIHByaW50
ZiAoIiVjIiwgYyk7DQoNCiAgICAgIC8qIFNhdmUgY2hhcmFjdGVycyBpbiB0
aGUgZGlnaXRzIGFycmF5ICovDQogICAgICBkaWdpdHMgW2NoYXJfY250XSA9
IGM7DQoNCiAgICAgIGlmIChjID09ICcuJykNCiAgICAgIHsgZGVjaW1hbF9w
b2ludCA9IGNoYXJfY250Ow0KICAgICAgICBpZiAoZmxvYXRfdHlwZSkNCiAg
ICAgICAgeyAvKiBBbHJlYWR5IHJlYWQgaW4gb25lIGRlY2ltYWwgcG9pbnQg
c28gdGhpcyBpcyBhbiBlcnJvciAqLw0KICAgICAgICAgIG5vdF9hX251bWJl
ciA9IFRSVUU7DQogICAgICAgIH0NCiAgICAgICAgZWxzZQ0KICAgICAgICB7
IC8qIGZpcnN0IGRlY2ltYWwgcG9pbnQgc28gdGhlIG51bWJlciBpcyBvZiB0
eXBlIGZsb2F0ICovDQogICAgICAgICAgZmxvYXRfdHlwZSA9IFRSVUU7DQog
ICAgICAgIH0NCiAgICAgIH0NCiAgICAgIGVsc2UgaWYgKGNoYXJfY250ID09
IDAgJiYgYyA9PSAnKycpDQogICAgICB7IHNpZ24gPSAxOw0KICAgICAgfQ0K
ICAgICAgZWxzZSBpZiAoY2hhcl9jbnQgPT0gMCAmJiBjID09ICctJykNCiAg
ICAgIHsgc2lnbiA9IC0xOw0KICAgICAgfQ0KICAgICAgZWxzZSBpZiAoYyA8
ICcwJyB8fCBjID4gJzknKQ0KICAgICAgeyBub3RfYV9udW1iZXIgPSBUUlVF
Ow0KICAgICAgfQ0KICAgIH0NCiAgICBwcmludGYgKCJcbiIpOw0KICAgIGlm
IChub3RfYV9udW1iZXIpDQogICAgeyBwcmludGYgKCJUaGlzIHZhbHVlIGlz
IG5vdCBhIHZhbGlkIG51bWJlci5cblxuIik7DQogICAgfQ0KICAgIGVsc2Ug
aWYgKGZsb2F0X3R5cGUpDQogICAgeyBwcmludGYgKCJUaGlzIG51bWJlciB3
aWxsIGJlIGludGVycHJldGVkIGFzIGEgZmxvYXRpbmcgcG9pbnQgbnVtYmVy
LlxuIik7DQogICAgICBwcmludGYgKCJUaGUgbnVtYmVyIGlzICVmLlxuXG4i
LA0KICAgICAgICAgICAgICBjb252ZXJ0X2Zsb2F0IChkaWdpdHMsIGNoYXJf
Y250LCBkZWNpbWFsX3BvaW50LCBzaWduKSk7DQogICAgfQ0KICAgIGVsc2UN
CiAgICB7IHByaW50ZiAoIlRoaXMgbnVtYmVyIHdpbGwgYmUgaW50ZXJwcmV0
ZWQgYXMgYW4gaW50ZWdlci5cbiIpOw0KICAgICAgcHJpbnRmICgiVGhlIG51
bWJlciBpcyAlZC5cblxuIiwNCiAgICAgICAgICAgICAgY29udmVydF9pbnQg
KGRpZ2l0cywgY2hhcl9jbnQsIHNpZ24pKTsNCiAgICB9DQogIH0NCiAgZmNs
b3NlIChudW1iZXJzX3B0cik7DQogIHJldHVybiAoMCk7DQp9DQoNCi8qKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKiovDQovKiAgIERlc2NyaXB0aW9u
OiBUaGlzIGZ1bmN0aW9uIGNvbnZlcnRzIGEgY2hhcmFjdGVyIHN0cmluZyB0
byBpdCdzICAgICAgICAqLw0KLyogICAgICAgICAgICAgIDogaW50ZWdlciBy
ZXByZXNlbnRhdGlvbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgKi8NCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQoNCmlu
dCBjb252ZXJ0X2ludCAoDQogIGNoYXIgZGlnaXRzIFtNQVhfRElHSVRTXSwN
CiAgICAvKiBhcnJheSBvZiBkaWdpdHMgdG8gYmUgY29udmVydGVkICovDQog
IGludCBudW1iZXJfb2ZfZGlnaXRzLA0KICAgIC8qIG51bWJlciBvZiBlbGVt
ZW50cyBpbiBkaWdpdHMgYXJyYXkgKi8NCiAgaW50IHNpZ24pDQogICAgLyog
bXVsdGlwbGllciAoKzEgb3IgLTEpIHRvIGdldCBwb3NpdGl2ZSBvciBuZWdh
dGl2ZSBudW1iZXIgKi8NCiAgICANCnsNCiAgaW50IGk7DQogICAgLyogSW5k
ZXggZm9yIHN0cmluZyBvZiBkaWdpdHMgKi8NCiAgaW50IHRlbl9wb3dlcjsN
CiAgICAvKiBQb3dlciBvZiB0ZW4gZm9yIGEgZ2l2ZW4gZGVjaW1hbCBwbGFj
ZSAqLw0KICBpbnQgaW50X3ZhbHVlOw0KICAgIC8qIFZhbHVlIHRvIGJlIHJl
dHVybmVkICovDQogIGludCBmaXJzdF9kaWdpdDsNCiAgICAvKiBJbmRpY2F0
ZXMgd2hldGhlciB0aGUgZmlyc3QgZGlnaXQgaXMgaW4gdGhlIDB0aCBwbGFj
ZSBvciBub3QgKi8NCg0KICAgICAgICAgLyoqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKiovDQogICAgICAgICAvKiBFWEVDVVRBQkxFIENPREUgQkVH
SU5TIEhFUkUgKi8NCiAgICAgICAgIC8qKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqLw0KDQogIC8qIHZhbGlkYXRlIGlucHV0IGRhdGEgKi8NCiAg
YXNzZXJ0IChudW1iZXJfb2ZfZGlnaXRzID4gMCk7DQogIGFzc2VydCAoc2ln
biA+PSAtMSAmJiBzaWduIDw9ICAxKTsNCg0KICAvKiBJbml0aWFsaXphdGlv
biAqLw0KICBpbnRfdmFsdWUgPSAwOw0KICB0ZW5fcG93ZXIgPSAxOw0KDQog
IC8qIGlmIHRoZXJlIHdhcyBhIHNpZ24gaW4gZnJvbnQgb2YgdGhlIG51bWJl
ciB0aGUgZmlyc3QgZGlnaXQgaXMgKi8NCiAgLyogdGhlIDEgcG9zaXRpb24g
cmF0aGVyIHRoYW4gdGhlIDAgcG9zaXRpb24gKi8NCiAgZmlyc3RfZGlnaXQg
PSAoc2lnbiAhPSAwID8gMSA6IDApOw0KDQogIC8qIGlmIHRoZSBzaWduIHdh
cyB6ZXJvIHRoZW4gdGhlIG51bWJlciBpcyBwb3NpdGl2ZSBzbyBzZXQgc2ln
biB0byAxICovDQogIGlmIChzaWduID09IDApDQogIHsgc2lnbiA9IDE7DQog
IH0NCg0KICAvKiBEZWNvZGUgY2hhcmFjdGVyIHN0cmluZyBiZWdpbm5pbmcg
YXQgZmFyIHJpZ2h0IGFuZCAqLw0KICAvKiBpbmNyZWFzaW5nIGJ5IG9uZSBw
b3dlciBvZiAxMCBhcyBtb3ZlIHRvIGxlZnQgICAgICAqLw0KICBmb3IgKGkg
PSBudW1iZXJfb2ZfZGlnaXRzIC0gMTsgaSA+PSBmaXJzdF9kaWdpdCA7IC0t
aSkNCiAgeyBpbnRfdmFsdWUgKz0gdGVuX3Bvd2VyICogKGRpZ2l0cyBbaV0g
LSAnMCcpOw0KICAgIHRlbl9wb3dlciAqPSAxMDsNCiAgfQ0KDQogIHJldHVy
biAoc2lnbiAqIGludF92YWx1ZSk7DQp9DQoNCi8qKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKiovDQovKiAgIERlc2NyaXB0aW9uOiBUaGlzIGZ1bmN0
aW9uIGNvbnZlcnRzIGEgY2hhcmFjdGVyIHN0cmluZyB0byBpdCdzICAgICAg
ICAqLw0KLyogICAgICAgICAgICAgIDogcmVwcmVzZW50YXRpb24gYXMgYSBm
bG9hdGluZyBwb2ludCBudW1iZXIgICAgICAgICAgICAgICAgKi8NCi8qKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKiovDQoNCiNpbmNsdWRlIDxtYXRo
Lmg+DQoNCmZsb2F0IGNvbnZlcnRfZmxvYXQgKA0KICBjaGFyIGRpZ2l0cyBb
TUFYX0RJR0lUU10sDQogICAgLyogYXJyYXkgb2YgZGlnaXRzIHRvIGJlIGNv
bnZlcnRlZCAqLw0KICBpbnQgbnVtYmVyX29mX2RpZ2l0cywNCiAgICAvKiBu
dW1iZXIgb2YgZWxlbWVudHMgaW4gZGlnaXRzIGFycmF5ICovDQogIGludCBk
ZWNpbWFsX3BvaW50LA0KICAgIC8qIHBvc2l0aW9uIG9mIGRlY2ltYWwgcG9p
bnQgcmVsYXRpdmUgdG8gZGlnaXRzICBhcnJheSAqLw0KICBpbnQgc2lnbikN
CiAgICAvKiBtdWx0aXBsaWVyICgrMSBvciAtMSkgdG8gZ2V0IHBvc2l0aXZl
IG9yIG5lZ2F0aXZlIG51bWJlciAqLw0Kew0KICBpbnQgaTsNCiAgICAvKiBJ
bmRleCBmb3Igc3RyaW5nIG9mIGRpZ2l0cyAqLw0KICBpbnQgZmlyc3RfZGln
aXQ7DQogICAgLyogSW5kaWNhdGVzIHdoZXRoZXIgdGhlIGZpcnN0IGRpZ2l0
IGlzIGluIHRoZSAwdGggcGxhY2Ugb3Igbm90ICovDQoNCiAgZmxvYXQgdGVu
X3Bvd2VyOw0KICAgIC8qIFBvd2VyIG9mIHRlbiBmb3IgYSBnaXZlbiBkZWNp
bWFsIHBsYWNlICovDQogIGZsb2F0IGZsb2F0X3ZhbHVlOw0KICAgIC8qIFZh
bHVlIHRvIGJlIHJldHVybmVkICovDQoNCiAgICAgICAgIC8qKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqLw0KICAgICAgICAgLyogRVhFQ1VUQUJM
RSBDT0RFIEJFR0lOUyBIRVJFICovDQogICAgICAgICAvKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKi8NCg0KICAvKiB2YWxpZGF0ZSBpbnB1dCBk
YXRhICovDQogIGFzc2VydCAobnVtYmVyX29mX2RpZ2l0cyA+IDApOw0KICBh
c3NlcnQgKGRlY2ltYWxfcG9pbnQgPD0gbnVtYmVyX29mX2RpZ2l0cyAmJiBk
ZWNpbWFsX3BvaW50ID49IDApOw0KICBhc3NlcnQgKHNpZ24gPj0gLTEgJiYg
c2lnbiA8PSAgMSk7DQoNCiAgLyogSW5pdGlhbGl6YXRpb24gKi8NCiAgZmxv
YXRfdmFsdWUgPSAwLjA7DQoNCiAgLyogaWYgdGhlcmUgd2FzIGEgc2lnbiBp
biBmcm9udCBvZiB0aGUgbnVtYmVyIHRoZSBmaXJzdCBkaWdpdCBpcyAqLw0K
ICAvKiB0aGUgMSBwb3NpdGlvbiByYXRoZXIgdGhhbiB0aGUgMCBwb3NpdGlv
biAqLw0KICBmaXJzdF9kaWdpdCA9IChzaWduICE9IDAgPyAxIDogMCk7DQoN
CiAgLyogaWYgdGhlIHNpZ24gd2FzIHplcm8gdGhlbiB0aGUgbnVtYmVyIGlz
IHBvc2l0aXZlIHNvIHNldCBzaWduIHRvIDEgKi8NCiAgaWYgKHNpZ24gPT0g
MCkNCiAgeyBzaWduID0gMTsNCiAgfQ0KDQogIC8qIFNtYWxsZXN0IHBvd2Vy
IG9mIDEwIGF0IGZhciByaWdodCBkaWdpdCAqLw0KICB0ZW5fcG93ZXIgPSBw
b3cxMCAoZGVjaW1hbF9wb2ludCAtIG51bWJlcl9vZl9kaWdpdHMgKyAxKTsN
Cg0KICAvKiBEZWNvZGUgY2hhcmFjdGVyIHN0cmluZyBiZWdpbm5pbmcgYXQg
ZmFyIHJpZ2h0IGFuZCAqLw0KICAvKiBpbmNyZWFzaW5nIGJ5IG9uZSBwb3dl
ciBvZiAxMCBhcyBtb3ZlIHRvIGxlZnQgICAgICAqLw0KICBmb3IgKGkgPSBu
dW1iZXJfb2ZfZGlnaXRzIC0gMTsgaSA+PSBmaXJzdF9kaWdpdCA7IC0taSkN
CiAgeyBpZiAoaSAhPSBkZWNpbWFsX3BvaW50KQ0KICAgIHsgZmxvYXRfdmFs
dWUgKz0gdGVuX3Bvd2VyICogKGRpZ2l0cyBbaV0gLSAnMCcpOw0KICAgICAg
dGVuX3Bvd2VyICo9IDEwLjA7DQogICAgfQ0KICB9DQogIHJldHVybiAoc2ln
biAqIGZsb2F0X3ZhbHVlKTsNCn0NCg==
--1928594640-1464751805-890793021=:13872--