Mail Archives: djgpp/1998/02/28/16:30:38
This is a multi-part message in MIME format.
--------------C025BCE5467AB2B434EC4CE5
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Some time back, I wrote a Trek trivia game.
Here is the source code.
--------------C025BCE5467AB2B434EC4CE5
Content-Type: application/x-unknown-content-type-C_auto_file; name="Trekquiz.c"
Content-Transfer-Encoding: base64
Content-Disposition: inline; filename="Trekquiz.c"
I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCm1haW4oKQ0Kew0KICAgY2hhciBhOyANCiAgIGZsb2F0
IHgsejsNCiAgIHg9Mi41O3o9MDsNCiAgICAgICAgIHB1dHMoIlN0YXIgVHJlayBUcml2aWFc
biIpOw0KICAgICAgICAgcHV0cygiQnkgUm9iZXJ0IE1jTnVsdHkgSnVuaW9yXG4iKTsNCiAg
ICAgICAgIHB1dHMoIkJhc2VkIG9uIFN0YXIgVHJlayBFbmN5Y2xvcGVkaWFcbiIpOw0KICAg
ICAgICAgcHV0cygiQnkgTWljaGFlbCBPa3VkYVxuIik7DQogICAgICAgICBwdXRzKCJEZW5p
c2UgT2t1ZGFcbiIpOw0KICAgICAgICAgcHV0cygiQW5kIERlYmJpZSBNaXJla1xuIik7DQoN
Cg0KICANCiAgDQoNCnByaW50ZigiXG4xKSBXaG8gaXMgVHJpcyBTcGVha2VyP1xuIik7DQpw
cmludGYoIkEpIGZhbW91cyBiYXNlYmFsbCBwbGF5ZXIgb2YgdGhlIGVhcmx5IDIwdGggQ2Vu
dHVyeVxuIik7DQpwcmludGYoIkIpIGNyZWF0b3Igb2YgbW9kZXJuIGRheSBzcGVlY2ggc3lu
dGhlc2l6b3JzXG4iKTsNCnByaW50ZigiQykgRHVubm9cbiIpOw0KcHJpbnRmKCJEKSBEb24n
dCBjYXJlXG4iKTsNCnB1dHMoIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgXG4iKTsNCmEgPSBnZXRjaCgpOw0KaWYgKGE9PSdhJykgeiA9IHogKyB4Ow0KcHJpbnRm
KCIgU2NvcmUgc28gZmFyOiAlZlxuIix4KTsNCnByaW50ZigiMikgV2hvIHBsYXllZCBTcG9j
ayBvbiB0aGUgb3JpZ2luYWwgU3RhciBUcmVrXG4iKTsNCnByaW50ZigiYSkgTGVvbmFyZCBO
aW1veS4uXG4iKTsNCnByaW50ZigiQikgV2lsbGlhbSBTaGF0bmVyLi5cbiIpOw0KcHJpbnRm
KCJDKSBNYXJrIExlbmFyZC4uXG4iKTsNCnByaW50ZigiRCkgTWVsIEdpYnNvbi4uXG4iKTsN
CmE9Z2V0Y2goKTsNCmlmIChhPT0nYScpDQogICAgeCA9IHggKyAyOw0KcHJpbnRmKCJTY29y
ZSBzbyBmYXIgJWZcbiIseCk7DQogICAgcHJpbnRmKCIzKSBIb3cgbWFueSBkZWNrcyBhcmUg
b24gdGhlIEVudGVycHJpc2UtRD9cbiIpOw0KICAgIHByaW50ZigiQSkgMjMgZGVja3NcbiIp
Ow0KICAgIHByaW50ZigiQikgMjQgZGVja3NcbiIpOw0KICAgIHByaW50ZigiQykgMzYgZGVj
a3NcbiIpOw0KICAgIHByaW50ZigiRCkgNDIgZGVja3NcbiIpOw0KICAgIGE9Z2V0Y2goKTsN
CiAgICBpZiAoYT09J2QnKQ0KICAgICAgICB4ID0geCArIDI7DQogICAgcHJpbnRmKCJTY29y
ZSBTbyBGYXIgJWZcbiIseCk7DQogICAgcHJpbnRmKCJcbiIpOw0KICAgIHByaW50ZigiNCkg
V2hvIHdhcyBBbWFyaWU/XG4iKTsNCiAgICBwcmludGYoIkEpIFF1YXJrJ3MgR2lybGZyaWVu
ZFxuIik7DQogICAgcHJpbnRmKCJCKSBBIG11c2ljaWFuIHdobyB3b3JrcyBpbiBhIGxvdW5n
ZSBvbiBRdWFsb3JcbiIpOw0KICAgIHByaW50ZigiQykgT25lIG9mIFJpa2VyJ3MgbG92ZSBp
bnRlcmVzdHNcbiIpOw0KICAgIHByaW50ZigiRCkgTm9uZSBvZiB0aGUgYWJvdmVcbiIpOw0K
ICAgIGE9Z2V0Y2goKTsNCiAgICBpZiAoYT09J2InKQ0KICAgICAgICB4ID0geCArIDI7DQog
ICAgcHJpbnRmKCJTY29yZSBzbyBmYXIgJWZcbiIseCk7DQogICAgcHJpbnRmKCI1KSBXaGlj
aCBtb3Rpb24gcGljdHVyZSBmZWF0dXJlZCB0aGUgSUtDIEFtYXJcbiIpOw0KICAgIHByaW50
ZigiQSkgU3RhciBUcmVrOiBUaGUgTW90aW9uIFBpY3R1cmVcbiIpOw0KICAgIHByaW50Zigi
QikgU3RhciBUcmVrOiBUaGUgV3JhdGggb2YgS2hhblxuIik7DQogICAgcHJpbnRmKCJDKSBT
dGFyIFRyZWs6IFRoZSBTZWFyY2ggRm9yIFNwb2NrXG4iKTsNCiAgICBwcmludGYoIkQpIFN0
YXIgVHJlazogVGhlIFZveWFnZSBIb21lXG4iKTsNCiAgICBwcmludGYoIkUpIFN0YXIgVHJl
azogVGhlIEZpbmFsIEZyb250aWVyXG4iKTsNCiAgICBwcmludGYoIkYpIFN0YXIgVHJlazog
VGhlIFVuZGlzY292ZXJlZCBDb3VudHJ5XG4iKTsNCiAgICBhPWdldGNoKCk7DQogICAgaWYg
KGE9PSdhJykNCiAgICAgICAgeCA9IHggKyAyOw0KICAgIHByaW50ZigiU28gZmFyLCB0aGUg
c2NvcmUgaXM6ICAgJWZcbiIseCk7DQogICAgcHJpbnRmKCI2KSBXaG8gd2FzIFNwb2NrJ3Mg
bW90aGVyP1xuIik7DQogICAgcHJpbnRmKCJhKSBBbWFuZGEgR3JheXNvblxuIik7DQogICAg
cHJpbnRmKCJiKSBKYW5lIEZvbmRhXG4iKTsNCiAgICBwcmludGYoImMpIEFtYXJpZVxuIik7
DQogICAgcHJpbnRmKCJkKSBEZWFubmEgVHJvaVxuIik7DQogICAgYT1nZXRjaCgpOw0KICAg
IGlmIChhPT0nYScpDQogICAgICAgIHggPSB4ICsgMjsNCiAgIHByaW50ZigiU2NvcmUgc28g
ZmFyOiAlZlxuIix4KTsNCiAgIHByaW50ZigiXG4iKTsNCiAgIHByaW50ZigiNykgV2hvIGF0
dGVuZGVkIHRoZSBBbHRpbmUgQ29uZmVyZW5jZT9cbiIpOw0KICAgcHJpbnRmKCJBKSBQaWNh
cmRcbiIpOw0KICAgcHJpbnRmKCJCKSBUcm9pXG4iKTsNCiAgIHByaW50ZigiQykgQ3J1c2hl
clxuIik7DQogICBwcmludGYoIkQpIFJpa2VyXG4iKTsNCiAgIGE9Z2V0Y2goKTsNCiAgIGlm
IChhPT0nYycpDQogICAgICAgeCA9IHggKyAyOw0KICAgcHJpbnRmKCJTY29yZSBzbyBmYXIg
JWZcbiIseCk7DQogICBwcmludGYoIlxuXG5cbiIpOw0KICAgcHJpbnRmKCI4KSBXaG8gd2Fz
IENhcHRhaW4gQXByaWw/XG4iKTsNCiAgIHByaW50ZigiQSkgRmlyc3QgY2FwdGFpbiBvZiB0
aGUgRW50ZXJwcmlzZVxuIik7DQogICBwcmludGYoIkIpIGNvbW1hbmRlciBvZiB0aGUgc3Rh
cnNoaXAgVm95YWdlclxuIik7DQogICBwcmludGYoIkMpIEJsYW5rcyBteSBtaW5kXG4iKTsN
CiAgIHByaW50ZigiRCkgQ29tbWFuZGVyIG9mIERlZXAgU3BhY2UgTmluZVxuIik7DQogICBh
PWdldGNoKCk7DQogICBpZiAoYT09J2EnKQ0KICAgIHggPSB4ICsgMjsNCiAgICBwcmludGYo
IlRoZSBzY29yZSBpcyAlZlxuIix4KTsNCiAgICBwcmludGYoIlxuXG5cblxuIik7DQogICAg
cHJpbnRmKCI5KSBXaG8gaXMgRW5kYXI/XG4iKTsNCiAgICBwcmludGYoImEpIENhcHRhaW4g
b2YgdGhlIFRhbGFyaWFuIFEnbWFpcmVcbiIpOw0KICAgIHByaW50ZigiYikgS2xpbmdvbiB3
aG8gZm91Z2h0IEtpcmtcbiIpOw0KICAgIHByaW50ZigiYykgS2xpbmdvbiB3aG8gZm91Z2h0
IFBpY2FyZFxuIik7DQogICAgcHJpbnRmKCJkKSBtZW1iZXIgb2YgdGhlIFEgY29udGludXVt
XG4iKTsNCiAgICBhPWdldGNoKCk7DQogICAgaWYgKGE9PSdhJykNCiAgICAgICAgeCA9IHgg
KyAyOw0KICAgIHByaW50ZigiIFRoZSBzY29yZSBhdCB0aGlzIG1vbWVudCBpczogICAlZlxu
Iix4KTsNCiAgICBwcmludGYoIlxuXG4iKTsNCiAgICBwcmludGYoIjEwKSBXaG8gaXMgRW5l
Zz9cbiIpOw0KICAgIHByaW50ZigiYSkgY2FwdGFpbiBvZiB0aGUgc3RhcnNoaXAgRW5kZWF2
b3JcbiIpOw0KICAgIHByaW50ZigiYikgbWVtYmVyIG9mIHRoZSBaZW9uIHVuZGVyZ3JvdW5k
XG4iKTsNCiAgICBwcmludGYoImMpIG1lbWJlciBvZiB0aGUgRW50ZXJwcmlzZSdzIGNyZXdc
biIpOw0KICAgIHByaW50ZigiZCkgZm91Z2h0IEtpcmsgaW4gU2hvcmUgTGVhdmVcbiIpOw0K
ICAgIGE9Z2V0Y2goKTsNCiAgICBpZiAoYT09J2InKQ0KICAgICAgICB4ID0geCArIDI7DQog
ICAgcHJpbnRmKCJcblxuXG5cblNjb3JlIHNvIGZhciAlZlxuIix4KTsNCiAgICBwcmludGYo
IlxuXG4iKTsNCiAgICBwcmludGYoIjExKSBIb3cgbWFueSBkZWNrcyBkb2VzIGEgQ29uc3Rp
dHV0aW9uIGNsYXNzIGNydWlzZXIgaGF2ZT9cbiIpOw0KICAgIHByaW50ZigiYSkgMTJcbiIp
Ow0KICAgIHByaW50ZigiYikgMTRcbiIpOw0KICAgIHByaW50ZigiYykgMjNcbiIpOw0KICAg
IHByaW50ZigiZCkgMjRcbiIpOw0KICAgIGE9Z2V0Y2goKTsNCiAgICBpZiAoYT09J2MnKQ0K
ICAgICAgICB4ID0geCArIDI7DQogICAgcHJpbnRmKCIgU28gZmFyIHlvdXIgc2NvcmUgaXMg
JWZcbiIseCk7DQogICAgcHJpbnRmKCIxMikgV2hpY2ggY2xhc3Mgb2Ygc3RhcnNoaXAgZG9l
cyBub3QgaGF2ZSBhbiBFbnRlcnByaXNlP1xuIik7DQogICAgcHJpbnRmKCJBKSBOZWJ1bGEg
Y2xhc3NcbiIpOw0KICAgIHByaW50ZigiQikgR2FsYXh5IENsYXNzXG4iKTsNCiAgICBwcmlu
dGYoIkMpIEV4Y2Vsc2lvciBDbGFzc1xuIik7DQogICAgcHJpbnRmKCJEKSBBbWJhc3NhZG9y
IENsYXNzXG4iKTsNCiAgICBhPWdldGNoKCk7DQogICAgaWYgKGE9PSdhJykNCiAgICAgICAg
eCA9IHggKyAyOw0KICAgIHByaW50ZigiMTMpIFRoZSBzY29yZSBhcyBvZiB0aGlzIG1vbWVu
dDogICAlZlxuIix4KTsNCiAgICBwcmludGYoIlxuXG5cbldobyBwbGF5ZWQgQ2hhcmxlcyBF
dmFucyBpbiBDaGFybGllJ3MgTGF3P1xuIik7DQogICAgcHJpbnRmKCJBKSBSb2JlcnQgV2Fs
a2VyIEp1bmlvclxuIik7DQogICAgcHJpbnRmKCJCKSBIYXJyeSBBbmRlcnNvblxuIik7DQog
ICAgcHJpbnRmKCJDKSBKb2huIFNjaHVja1xuIik7DQogICAgcHJpbnRmKCJEKSBDaGFybGVz
IE5lbHNvbiBSZWlsbHlcbiIpOw0KICAgIGE9Z2V0Y2goKTsNCiAgICBpZiAoYT09J2EnKQ0K
ICAgICAgICB4ID0geCArIDI7DQogICAgcHJpbnRmKCIgU28gZmFyLCB0aGUgc2NvcmUgaXM6
ICAgJWZcbiIseCk7DQogICAgcHJpbnRmKCJcblxuXG5cbiIpOw0KICAgIHByaW50ZigiMTQp
IFdoaWNoIHN0YXJzaGlwIGlzIGR1YmJlZCAnVGhlIEdyZWF0IEV4cGVyaW1lbnQnXG4iKTsN
CiAgICBwcmludGYoIkEpIEVudGVycHJpc2VcbiIpOw0KICAgIHByaW50ZigiQikgRXNzZXhc
biIpOw0KICAgIHByaW50ZigiQykgRXhjZWxzaW9yXG4iKTsNCiAgICBwcmludGYoIkQpIExl
eGluZ3RvblxuIik7DQogICAgYT1nZXRjaCgpOw0KICAgIGlmIChhPT0nYycpDQogICAgICAg
IHggPSB4ICsgMjsNCiAgICBwcmludGYoIkhleSBkdWRlIG9yIGR1ZGV0dGUsIHRoZSBzY29y
ZSBpcyBub3cgICAlZlxuIix4KTsNCiAgICBwcmludGYoIjE1KSBXaG8gd2FzIHRoZSBjb21t
YW5kZXIgdGhlIEV4ZXRvciBkdXJpbmcgVGhlIE9yaWdpbmFsIFNlcmllcz9cbiIpOw0KICAg
IHByaW50ZigiYSkgUm9uYWxkIFRyYWN5XG4iKTsNCiAgICBwcmludGYoImIpIFdpbGxhcmQg
RGVja2VyXG4iKTsNCiAgICBwcmludGYoImMpIEdlb3JnZSBCdXJuc1xuIik7DQogICAgcHJp
bnRmKCJkKSBCaWxsIENsaW50b25cbiIpOw0KICAgIGE9Z2V0Y2goKTsNCiAgICBpZiAoYT09
J2EnKQ0KICAgICAgICB4ID0geCArIDI7DQogICAgcHJpbnRmKCJUaGUgc2NvcmUgaXMgbm93
ICVmXG4iLHgpOw0KICAgIHByaW50ZigiXG5cblxuMTYpIFdobyBwbGF5ZWQgRmFsb3c/XG4i
KTsNCiAgICBwcmludGYoImEpIFJvYmVydCBXYWxrZXIsIEpyXG4iKTsNCiAgICBwcmludGYo
ImIpIFdpbGxpYW0gU2hhdG5lclxuIik7DQogICAgcHJpbnRmKCJDKSBMZW9uYXJkIE5pbW95
XG4iKTsNCiAgICBwcmludGYoImQpIEpvZWwgQnJvb2tzXG4iKTsNCiAgICBzY2FuZigiJWMi
LHgpOw0KICAgIGlmIChhPT0nZCcpDQogICAgICAgIHggPSB4ICsgMjsNCiAgICBwcmludGYo
IlRoZSBzY29yZSBpcyBub3cgICAlZlxuIix4KTsNCiAgICBwcmludGYoIjE3KSBXaG8gd2Fz
IHRoZSBjb25uIG9mZmljZXIgb2YgdGhlIEVudGVycHJpc2UgRCBkdXJpbmcgMjM2OFxuIik7
DQogICAgcHJpbnRmKCJhKSBMdC4gU3VsdVxuIik7DQogICAgcHJpbnRmKCJiKSBFbnNpZ24g
RmVsdG9uXG4iKTsNCiAgICBwcmludGYoImMpIFdhbHRlciBLb2VuaWdcbiIpOw0KICAgIHBy
aW50ZigiZCkgUGF0cmljayBNYU5lZVxuIik7DQogICAgYT1nZXRjaCgpOw0KICAgIGlmIChh
PT0nYicpDQogICAgICAgIHggPSB4ICsgMjsNCiAgICBwcmludGYoIiBTbyBmYXIgdGhlIHNj
b3JlIGlzICAgJWZcbiIseCk7DQogICAgcHJpbnRmKCJcblxuMTgpIEhvdyBtYW55IEZlcmVu
Z2kgUnVsZXMgb2YgQXF1aXNpdGlvbiBhcmUgdGhlcmU/XG4iKTsNCiAgICBwcmludGYoImEp
IDIwMFxuIik7DQogICAgcHJpbnRmKCJiKSAyODVcbiIpOw0KICAgIHByaW50ZigiYykgMTAw
MFxuIik7DQogICAgcHJpbnRmKCJkKSAyMDAwXG4iKTsNCiAgICBhPWdldGNoKCk7DQogICAg
aWYgKGE9PSdiJykNCiAgICAgICAgeCA9IHggKyAyOw0KICAgIHByaW50ZigiVGhlIHNjb3Jl
IGlzIG5vdyAgICVmXG4iLHgpOw0KICAgIHByaW50ZigiMTkpIFdobyB3YXMgdGhlIGFsbW9z
dCBpbW1vcnRhbCBmcm9tIEVhcnRoP1xuIik7DQogICAgcHJpbnRmKCJhKSBRXG4iKTsNCiAg
ICBwcmludGYoImIpIEZsaW50XG4iKTsNCiAgICBwcmludGYoImMpIFRyZWxhbmVcbiIpOw0K
ICAgIHByaW50ZigiZCkgUmljaGFyZCBHZXJlXG4iKTsNCiAgICBhPWdldGNoKCk7DQogICAg
aWYgKGE9PSdiJykNCiAgICAgICAgeCA9IHggKyAyOw0KICAgIHByaW50ZigiVGhlIHNjb3Jl
IGlzIG5vdzogICAlZlxuIix4KTsNCiAgICBwcmludGYoIjIwKSBXaG8gd2FzIEtyYXg/XG4i
KTsNCiAgICBwcmludGYoImEpIGEgS2xpbmdvblxuIik7DQogICAgcHJpbnRmKCJiKSBhIEZl
cmVuZ2lcbiIpOw0KICAgIHByaW50ZigiYykgYSBSb211bGFuXG4iKTsNCiAgICBwcmludGYo
ImQpIEEgVnVsY2FuXG4iKTsNCiAgICBhPWdldGNoKCk7DQogICAgaWYgKGE9PSdiJykNCiAg
ICAgICAgeCA9IHggKyAyOw0KICAgIHByaW50ZigiVGhlIHNjb3JlIGlzIG5vdyAlZlxuIix4
KTsNCiAgICBwcmludGYoIjIxKSBXaGVyZSBpcyBTdGFyIEZsZWV0IENvbW1hbmQgKG9yIEFk
bWlyYWxpdHkpIGxvY2F0ZWQ/XG4iKTsNCiAgICBwcmludGYoImEpIFNhbiBGcmFuY2lzY28s
IENhbGlmb3JuaWEsIFVTQSwgRWFydGhcbiIpOw0KICAgIHByaW50ZigiYikgU2hpa2Fociwg
VnVsY2FuXG4iKTsNCiAgICBwcmludGYoImMpIEJhYnlsb24gNVxuIik7DQogICAgcHJpbnRm
KCJkKSBOZXcgWW9yaywgVVNBLCBFYXJ0aFxuIik7DQogICAgYT1nZXRjaCgpOw0KICAgIGlm
IChhPT0nYScpDQogICAgICAgIHggPSB4ICsgMjsNCiAgICAgICAgcHJpbnRmKCJUaGUgc2Nv
cmUgaXMgJWZcbiIseCk7DQogICAgcHJpbnRmKCIyMikgV2hhdCBsYXN0IHdvcmRzIGRpZCBL
aXJrIHNheSB0byBLcnVnZT9cblxuIik7DQogICAgcHJpbnRmKCJhKSBOb3cgeW91IGNhbiBr
aXNzIHlvdXIgYnV0dCBnb29kYnllXG4iKTsNCiAgICBwcmludGYoImIpIEkgaGF2ZSBoYWQg
ZW5vdWdoIG9mIHlvdSFcbiIpOw0KICAgIHByaW50ZigiYykgSG93IGFib3V0IGRpbm5lciBh
bmQgYSBkYXRlP1xuIik7DQogICAgcHJpbnRmKCJkKSBJIGhhdGUgeW91ciBndXRzIVxuIik7
DQogICAgYT1nZXRjaCgpOw0KICAgIGlmIChhPT0nYicpDQogICAgICAgIHggPSB4ICsgMjsN
CiAgICBwcmludGYoIkhleSwgeW91ciBzY29yZSBzbyBmYXIgaXMgJWZcbiIseCk7DQogICAg
cHJpbnRmKCIyMykgV2hvIHdhcyBHdWluYW4/XG4iKTsNCiAgICBwcmludGYoImEpIGRpcmVj
dG9yIG9mIEFsaWVuc1xuIik7DQogICAgcHJpbnRmKCJiKSBiYXJ0ZW5kZXIgb2YgMTAgRm9y
d2FyZFxuIik7DQogICAgcHJpbnRmKCJjKSBFbmdpbmVlciBhYm9hcmQgdGhlIEh1ZHNvblxu
Iik7DQogICAgcHJpbnRmKCJkKSBhIGNoYXJhY3RvciBpbiBhIFNoYWtlc3BlYXJlIHBsYXlc
biIpOw0KICAgIGE9Z2V0Y2goKTsNCiAgICBpZiAoYT09J2InKQ0KICAgICAgICB4ID0geCAr
IDI7DQogICAgICAgIHByaW50ZigiVGhlIHNjb3JlIGlzICVmXG4iLHgpOw0KICAgIHByaW50
ZigiMjQpIFdobyBvciB3aGF0IGlzIFRoZSBHcmVhdCBCaXJkIG9mIHRoZSBHYWxheHk/XG4i
KTsNCiAgICBwcmludGYoImEpIENyZWF0b3IgR2VuZSBSb2RkZW5iZXJyeVxuIik7DQogICAg
cHJpbnRmKCJiKSBhIG15dGhpYyBmaWd1cmUgb2YgdGhlIDIzcmQgY2VudHVyeVxuIik7DQog
ICAgcHJpbnRmKCJjKSBuaWNrbmFtZSBvZiBXaWxsaWFtIFNoYXRuZXJcbiIpOw0KICAgIHBy
aW50ZigiZCkgYSBhbmQgYlxuIik7DQogICAgYT1nZXRjaCgpOw0KICAgICAgICBpZiAoYT09
J2QnKQ0KICAgICAgICB4ID0geCArIDI7DQogICAgICAgIHByaW50ZigiTm93IHRoZSBzY29y
ZSBpcyAlZlxuIix4KTsNCg0KICAgIHByaW50ZigiXG5cblxuXG4yNSkgV2hvIHBsYXllZCBH
b3dyb24gaW4gVE5HP1xuIik7DQogICAgcHJpbnRmKCJhKSBSb2JlcnQgTydSZWlsbHlcbiIp
Ow0KICAgIHByaW50ZigiYikgSm9hbiBSaXZlcnNcbiIpOw0KICAgIHByaW50ZigiYykgSm9u
YXMgUml2YXNcbiIpOw0KICAgIHByaW50ZigiZCkgSm9obm55IENhcnNvblxuIik7DQogICAg
YT1nZXRjaCgpOw0KICAgIGlmIChhPT0nYScpDQogICAgICAgIHggPSB4ICsgMjsNCiAgICBw
cmludGYoIlRoZSBzY29yZSBpcyBub3cgYXQgJWYiLHgpOw0KICAgIHByaW50ZigiXG5cbjI2
KSBXaGVyZSBpcyB0aGUgR3JlYXQgYmFycmllciBsb2NhdGVkP1xuIik7DQogICAgcHJpbnRm
KCJhKSBMb2NhdGVkIGF0IHRoZSBjZW50ZXIgb2YgdGhlIE1pbGt5IFdheSBHYWxheHkuXG4i
KTsNCiAgICBwcmludGYoImIpIHN1cnJvdW5kcyB0aGUgZ2FsYXh5LlxuIik7DQogICAgcHJp
bnRmKCJjKSBhIGFuZCBiXG4iKTsNCiAgICBwcmludGYoImQpIG5vdCBvbiB0aGUgYWJvdmUg
bGlzdFxuIik7DQogICAgYT1nZXRjaCgpOw0KICAgIGlmIChhPT0nYScpDQogICAgICAgIHgg
PSB4ICsgMjsNCiAgICAgICAgcHJpbnRmKCJUaGUgc2NvcmUgaXMgYXQgJWZcbiIseCk7DQoN
CiAgICBwcmludGYoIjI3KSBXaGF0IG1vdmllIGZlYXR1cmVkIGdyYXZpdHkgb3IgbWFnbmV0
aWMgYm9vdHM/XG4iKTsNCiAgICBwcmludGYoImEpIFN0YXIgVHJlayBJOiBUaGUgTW90aW9u
IFBpY3R1cmVcbiIpOw0KICAgIHByaW50ZigiYikgU3RhciBUcmVrIElJOiBUaGUgV3JhdGgg
T2YgS2hhblxuIik7DQogICAgcHJpbnRmKCJjKSBTdGFyIFRyZWsgSUlJOiBUaGUgU2VhcmNo
IGZvciBTcG9ja1xuIik7DQogICAgcHJpbnRmKCJkKSBTdGFyIFRyZWsgSVY6IFRoZSBWb3lh
Z2UgSG9tZVxuIik7DQogICAgcHJpbnRmKCJlKSBTdGFyIFRyZWsgVjogVGhlIEZpbmFsIEZy
b250aWVyXG4iKTsNCiAgICBwcmludGYoImYpIFN0YXIgVHJlayBWSTogVGhlIFVuZGlzY292
ZXJlZCBDb3VudHJ5XG4iKTsNCiAgICBwcmludGYoImcpIFN0YXIgVHJlayBHZW5lcmF0aW9u
c1xuIik7DQogICAgYT1nZXRjaCgpOw0KICAgIGlmIChhPT0nZicpDQogICAgICAgIHggPSB4
ICsgMjsNCiAgICBwcmludGYoIlRoZSBzY29yZSB0aHVzIGZhciBpcyAlZiIseCk7DQogICAg
cHJpbnRmKCJcblxuMjgpIFdoYXQgaXMgdGhlIHJlZ2lzdHJ5IG51bWJlciBvZiB0aGUgVVNT
IEhhdGhhd2F5P1xuIik7DQogICAgcHJpbnRmKCJhKSBOQ0MgNTQ2NzhcbiIpOw0KICAgIHBy
aW50ZigiYikgTkNDIDI1OTNcbiIpOw0KICAgIHByaW50ZigiYykgTkNDIDU2OThcbiIpOw0K
ICAgIHByaW50ZigiZCkgTkNDIDE3MDFcbiIpOw0KICAgIGE9Z2V0Y2goKTsNCiAgICBpZiAo
YT09J2InKQ0KICAgICAgICB4ID0geCArIDI7DQogICAgcHJpbnRmKCJUaGUgc2NvcmUgaXMg
bm93ICVmXG5cbiIseCk7DQogICAgcHJpbnRmKCJUaGUgYW5zd2VyIGlzIEIpIE5DQyAyNTkz
LiBSZW1lbWJlciB0aGlzLlxuIik7DQogICAgcHJpbnRmKCJDb21tYW5kZXIgUmlrZXIgdG9v
ayBjb21tYW5kIG9mIHRoaXMgc2hpcCBpbiAyMzY1LlxuIik7DQogICAgcHJpbnRmKCIyOSkg
V2hhdCBjbGFzcyBkaWQgdGhlIEhhdGhhd2F5IGJlbG9uZyB0bz9cbiIpOw0KICAgIHByaW50
ZigiYSkgQ29uc3RpdHV0aW9uIENsYXNzXG4iKTsNCiAgICBwcmludGYoImIpIENvbnN0ZWxs
YXRpb24gQ2xhc3NcbiIpOw0KICAgIHByaW50ZigiYykgTmVidWxhIENsYXNzXG4iKTsNCiAg
ICBwcmludGYoImQpIEV4Y2Vsc2lvciBDbGFzc1xuIik7DQogICAgYT1nZXRjaCgpOw0KICAg
IGlmIChhPT0nYicpDQogICAgeCA9IHggKyAyOw0KICAgIHByaW50ZigiVGhlIHNjb3JlIGlz
IG5vdyAlZlxuIix4KTsNCiAgICBwcmludGYoIlxuXG4zMCkgV2hhdCB3YXMgQ29tbWlzc2lv
bmVyIE5hbmN5IEhlZGZvcmQncyBqb2I/XG4iKTsNCiAgICBwcmludGYoImEpIEFzc2lzdGFu
dCBGZWRlcmF0aW9uIENvbW1pc3Npb25lclxuIik7DQogICAgcHJpbnRmKCJiKSBhc3Ryb3Bo
eXNpY2lzdFxuIik7DQogICAgYT1nZXRjaCgpOw0KICAgIGlmIChhPT0nYScpDQogICAgeCA9
IHggKyAyOw0KICAgIHByaW50ZigiU2NvcmUgaXMgbm93ICVmIix4KTsNCiAgICBwcmludGYo
IiBhbmQgdGhlcmUgYXJlIG9ubHkgMTAgcXVlc3Rpb25zIGxlZnQhIVxuXG4iKTsNCiAgICBw
cmludGYoIjMxKSBXaG8gcGxheWVkIE1yLiBIZW5naXN0IGluICdXb2xmIGluIHRoZSBGb2xk
Jz9cbiIpOw0KICAgIHByaW50ZigiYSkgSm9obiBGaWVkbGVyXG4iKTsNCiAgICBwcmludGYo
ImIpIFJvYmVydCBXYWxrZXIgSnVuaW9yXG4iKTsNCiAgICBwcmludGYoImMpIE5pY2sgTmlj
a2xhdXNcbiIpOw0KICAgIGE9Z2V0Y2goKTsNCiAgICBpZiAoYT09J2EnKQ0KICAgIHggPSB4
ICsgMjsNCiAgICBwcmludGYoIlRoZSBzY29yZSBpcyBub3cgYXQgJWZcblxuIix4KTsNCiAg
ICBwcmludGYoIjMyKSBIb2xiZXJnIDkxN0cgd2FzIHRoZSBob21ld29ybGQgdG8gd2hhdCBu
ZWFybHkgIik7DQogICAgcHJpbnRmKCJpbW1vcnRhbD9cbiIpOw0KICAgIHByaW50ZigiYSkg
TWlzdGVyIEZsaW50XG4iKTsNCiAgICBwcmludGYoImIpIE1pc3RlciBTcG9ja1xuIik7DQog
ICAgcHJpbnRmKCJjKSBBcG9sbG8sIHRoZSBnb2Qgb2YgbG92ZSBhbmQgd2FyXG4iKTsNCiAg
ICBhPWdldGNoKCk7DQogICAgaWYgKGE9PSdhJykNCiAgICB4ID0geCArIDI7DQogICAgcHJp
bnRmKCJUaGUgc2NvcmUgaXMgbm93ICVmXG5cbiIseCk7DQogICAgcHJpbnRmKCJcblxuMzMp
IFdoYXQgY2xhc3MgZGlkIHRoZSBIb29kIGluIFRORyBiZWxvbmcgdG8/XG4iKTsNCiAgICBw
cmludGYoIkEpIEdhbGF4eSBDbGFzc1xuIik7DQogICAgcHJpbnRmKCJiKSBFbnRlcnByaXNl
IENsYXNzXG4iKTsNCiAgICBwcmludGYoImMpIEV4Y2Vsc2lvciBDbGFzc1xuIik7DQogICAg
cHJpbnRmKCJkKSBJbnRyZXBpZCBDbGFzc1xuIik7DQogICAgYT1nZXRjaCgpOw0KICAgIGlm
IChhPT0nYycpDQogICAgeCA9IHggKyAyOw0KICAgIHByaW50ZigiVGhlIHNjb3JlIHRodXMg
ZmFyICVmXG4iLHgpOw0KICAgIHByaW50ZigiT25seSBzZXZlbiBtb3JlIHF1ZXN0aW9ucyB0
byBnbyIpOw0KICAgIHByaW50ZigiXG4zNC4gV2hhdCBpcyB0aGUgSG9yaXpvbidzIHJlZ2lz
dHJ5IG51bWJlcj9cbiIpOw0KICAgIHByaW50ZigiYSkgTkNDIDE3M1xuIik7DQogICAgcHJp
bnRmKCJiKSBOQ0MgMzQ1MVxuIik7DQogICAgcHJpbnRmKCJjKSBOQ0MgMzIxXG4iKTsNCiAg
ICBwcmludGYoImQpIE5DQyA0MjI5NlxuIik7DQogICAgYT1nZXRjaCgpOw0KICAgIGlmIChh
PT0nYScpDQogICAgeCA9IHggKyAyOw0KICAgIHByaW50ZigiVGhlIHNjb3JlIGlzIG5vdyBh
dCAlZlxuIix4KTsNCiAgICBwcmludGYoIjM1KSBXaGF0IGlzIElESUMgYW4gYWNyb255bSBm
b3I/XG4iKTsNCiAgICBwcmludGYoImEpIEluIERpc3RyaWN0IEkgQ29tZVxuIik7DQogICAg
cHJpbnRmKCJiKSBJbmZpbml0ZSBEaXZlcnNpdHkgSW4gSW5maW5hdGUgQ29tYmluYXRpb25z
XG4iKTsNCiAgICBhPWdldGNoKCk7DQogICAgaWYgKGE9PSdiJykNCiAgICB4ID0geCArIDI7
DQogICAgcHJpbnRmKCJcbiBUaGUgc2NvcmUgaXMgbm93ICVmXG4iLHgpOw0KICAgIHByaW50
ZigiMzYpIFdobyB3YXMgYXJyZXN0ZWQgYW5kIHNlbnQgdG8gdGhlIHBlbmFsIGFzdGVyb2lk
IG9mIFJ1cmEgIik7DQogICAgcHJpbnRmKCJQZW50aGU/XG4iKTsNCiAgICBwcmludGYoImEp
IEtpcmsgYW5kIFNwb2NrXG4iKTsNCiAgICBwcmludGYoImIpIEtpcmsgYW5kIE1jQ295XG4i
KTsNCiAgICBwcmludGYoImMpIFNwb2NrIGFuZCBNY0NveVxuIik7DQogICAgcHJpbnRmKCJk
KSBTcG9jayBhbmQgU2NvdHRcbiIpOw0KICAgIGE9Z2V0Y2goKTsNCiAgICBpZiAoYT09J2In
KQ0KICAgIHggPSB4ICsgMjsNCiAgICBwcmludGYoIlNjb3JlIGlzIG5vdyBhdCAlZlxuIix4
KTsNCiAgICBwcmludGYoIjM3KSBLaXJzdHkgQWxsbGV5IG1hZGUgaGVyIG1vdmllIGRlYnV0
IGluIHdoYXQgbW92aWU/XG4iKTsNCiAgICBwcmludGYoImEpIFN0YXIgVHJlazogVGhlIFdy
YXRoIG9mIEtoYW5cbiIpOw0KICAgIHByaW50ZigiYikgU3RhciBUcmVrOiBUaGUgc2VhcmNo
IGZvciBTcG9ja1xuIik7DQogICAgcHJpbnRmKCJjKSBBIE1vbnR5IFB5dGhvbiBNb3ZpZVxu
Iik7DQogICAgYT1nZXRjaCgpOw0KICAgIGlmIChhPT0nYScpDQogICAgICAgIHggPSB4ICsg
MjsNCiAgICAgICAgcHJpbnRmKCJUaGUgc2NvcmUgaXMgYXQgJWZcbiIseCk7DQogICAgcHJp
bnRmKCIzOCkgV2hvIGNvbnRyYWN0ZWQgU2FrdXJvJ3MgRGlzZWFzZT9cbiIpOw0KICAgIHBy
aW50ZigiYSkgQ29tbWlzc2lvbmVyIE5hbmN5IEhlZGZvcmRcbiIpOw0KICAgIHByaW50Zigi
YikgTHQuIFNhYXZpa1xuIik7DQogICAgcHJpbnRmKCJjKSBDb21tYW5kZXIgU3BvY2tcbiIp
Ow0KICAgIHByaW50ZigiZCkgQ2FwdGFpbiBKYW1lcyBULiBLaXJrXG4iKTsNCiAgICBhPWdl
dGNoKCk7DQogICAgaWYgKGE9PSdhJykNCiAgICAgICAgeCA9IHggKyAyOw0KICAgICAgICBw
cmludGYoIlxuIFRoZSBzY29yZSBpcyBhdCAlZlxuIix4KTsNCiAgICBwcmludGYoIjM5KSBX
aG8gd2FzIHRoZSB2b2ljZSBvZiBTYXJnb25cbiIpOw0KICAgIHByaW50ZigiYSkgV2lsbGlh
bSBTaGF0bmVyXG4iKTsNCiAgICBwcmludGYoImIpIEphbWVzIERvb2hhblxuIik7DQogICAg
cHJpbnRmKCJjKSBKb2huIFdheW5lXG4iKTsNCiAgICBwcmludGYoImQpIEJyZW50IFNwaW5l
clxuIik7DQogICAgYT1nZXRjaCgpOw0KICAgIGlmIChhPT0nYicpDQogICAgeCA9IHggKyAy
Ow0KICAgIHByaW50ZigiVGhlIHNjb3JlIGlzIG5vdyAlZlxuIix4KTsNCiAgICBwcmludGYo
IlxuXG40MCkgV2hpY2ggcGlsb3QgZmVhdHVyZWQgc2F1Y2VyIHNlcGVyYXRpb24/XG4iKTsN
CiAgICBwcmludGYoImEpIFRoZSBDYWdlXG4iKTsNCiAgICBwcmludGYoImIpIFdoZXJlIE5v
IE1hbiBIYXMgR29uZSBCZWZvcmVcbiIpOw0KICAgIHByaW50ZigiYykgRW5jb3VudGVyIGF0
IEZhcnBvaW50XG4iKTsNCiAgICBwcmludGYoImQpIEVtaXNzYXJ5XG4iKTsNCiAgICBhPWdl
dGNoKCk7DQogICAgaWYgKGE9PSdjJykNCiAgICAgICAgeCA9IHggKyAyOw0KICAgIHByaW50
ZigiWW91IHNjb3JlZCAgJWYgb3V0IG9mIDEwMFxuIix4KTsNCiAgICB9DQoNCg0K
--------------C025BCE5467AB2B434EC4CE5--
- Raw text -