From xemacs-m  Mon Mar 17 14:35:23 1997
Received: from jens.metrix.de (root@jens.metrix.de [194.123.88.124])
	by xemacs.org (8.8.5/8.8.5) with ESMTP id OAA14074
	for <xemacs-beta@xemacs.org>; Mon, 17 Mar 1997 14:35:15 -0600 (CST)
Received: (from jens@localhost) by jens.metrix.de (8.7.6/8.7.3) id VAA00950; Mon, 17 Mar 1997 21:34:11 +0100
To: xemacs-beta@xemacs.org
Subject: xmine v0.4
X-Face: Z[@OB)("ZvE?ev~1b+b!0ZUB.$%rh.9qE>dVf>q}Q/V?%d`J3gd!LR\aAZ8<Hwi]xTA(:*c;i3,?K?+rCy*^b$)a,}E?eo},}x2]5LlJysyoUOK"o[>K)'\Ulb7y-7*.If^;rHl['oa)n_M7E6w+LDKMs"G8_`c)uOS1^}.1|8Ill]7X68X-paeUOpBhz<F`B0?~^2Et~GYfw~/0]H]nx4~C_E/_mp#^7Ixc:
Reply-To: jens@lemming0.lem.uni-karlsruhe.de
Mime-Version: 1.0 (generated by tm-edit 7.105)
Content-Type: multipart/mixed;
 boundary="Multipart_Mon_Mar_17_21:34:09_1997-1"
Content-Transfer-Encoding: 7bit
From: Jens Lautenbacher <jens@metrix.de>
Date: 17 Mar 1997 21:34:09 +0100
Message-ID: <m3209e2r7i.fsf@jens.metrix.de>
Lines: 413
X-Mailer: Gnus v5.4.26/XEmacs 19.15(beta99)

--Multipart_Mon_Mar_17_21:34:09_1997-1
Content-Type: text/plain; charset=US-ASCII


CHANGES:

* tty display is working.... but no key handling yet :-(

* Help strings added for all important functions. 

* Help works as expected in a major mode with C-h m

TODO:

* Make keys work on ttys and X. This seems to be perfectly easy
  doable, but I have no time at the moment. Any volunteers? I can give
  help on implementing this if someone is interested.

* Check if (featurep 'xpm) where needed and provide gif versions of
  the splash logo and the padding xpm .These have the disadvantage of
  not being transparent (No, transparent gif are not working). I will
  use a white background for them, but maybe I can be convinced to use a
  different color :-)

Have fun,

     JTL


--Multipart_Mon_Mar_17_21:34:09_1997-1
Content-Type: application/octet-stream; type=emacs-lisp
Content-Disposition: attachment; filename="xmine.el"
Content-Transfer-Encoding: base64

Ozs7IHhtaW5lLmVsIC0tLSBNaW5lIGdhbWUgZm9yIFhFbWFjcwoKOzsgQXV0aG9yOiAgICAg
SmVucyBMYXV0ZW5iYWNoZXIgPGplbnNAbGVtbWluZzAubGVtLnVuaS1rYXJsc3J1aGUuZGU+
Cjs7IEtleXdvcmRzOiAgIGdhbWVzCjs7IFZlcnNpb246ICAgIDAuNAoKKGRlZmNvbnN0IHht
aW5lLXZlcnNpb24tbnVtYmVyICIwLjQiICJYRW1hY3MgTWluZSB2ZXJzaW9uIG51bWJlci4i
KQooZGVmY29uc3QgeG1pbmUtdmVyc2lvbiAoZm9ybWF0ICJYRW1hY3MgTWluZSB2JXMgYnkg
SmVucyBMYXV0ZW5iYWNoZXIgqSAxOTk3IgoJCQkgICAgICAgeG1pbmUtdmVyc2lvbi1udW1i
ZXIpCiAgIkZ1bGwgWEVtYWNzIE1pbmUgdmVyc2lvbiBudW1iZXIuIikKCjs7IFRoaXMgZmls
ZSBpcyBub3QgeWV0IHBhcnQgb2YgWEVtYWNzLgoKOzsgWEVtYWNzIGlzIGZyZWUgc29mdHdh
cmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKOzsgaXQgdW5kZXIg
dGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNo
ZWQgYnkKOzsgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24g
Miwgb3IgKGF0IHlvdXIgb3B0aW9uKQo7OyBhbnkgbGF0ZXIgdmVyc2lvbi4KCjs7IFhFbWFj
cyBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAo7
OyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3
YXJyYW50eSBvZgo7OyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSIFBVUlBPU0UuICBTZWUgdGhlCjs7IEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZv
ciBtb3JlIGRldGFpbHMuCgo7OyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9m
IHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQo7OyBhbG9uZyB3aXRoIFhFbWFjczsg
c2VlIHRoZSBmaWxlIENPUFlJTkcuICBJZiBub3QsIHdyaXRlIHRvIHRoZQo7OyBGcmVlIFNv
ZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSAtIFN1aXRlIDMzMCwK
OzsgQm9zdG9uLCBNQSAwMjExMS0xMzA3LCBVU0EuCgo7OyBDb21tZW50YXJ5OiBUaGlzIGlz
IGEgY29tcGxldGUgcmVpbXBsZW1lbnRhdGlvbiBvZiB0aGUgY2xhc3NpY2FsCjs7IG1pbmUg
c2VhcmNoaW5nIGdhbWUga25vd24gZnJvbSB2YXJpb3VzIE9TL0dVSXMgdW5kZXIgbmFtZXMg
bGlrZQo7OyB4bWluZSwgbWluZXN3ZWVwZXIgZXRjLgoKOzsgVGhlIGlkZWEgdG8gaW1wbGVt
ZW50IHRoaXMgaW4gZWxpc3AgaXMgZnJvbQo7Owo7OyAgICAgICAgICAgICAgSmFjcXVlcyBE
dXRoZW4gPGR1dGhlbkBjZWdlbGVjLXJlZC5mcj4KOzsKOzsgdGhlIGF1dGhvciBvZiB0aGUg
b3JpZ2luYWwgbWluZSBnYW1lIGZvciBHTlUgRW1hY3MuIFRoaXMgdmVyc2lvbgo7OyBoYXMg
dG8gdGhlIGJlc3Qgb2YgbXkga25vd2xlZGdlIG5vIGNvZGUgaW4gY29tbW9uIHdpdGggaGlz
IHZlcnNpb24sCjs7IGJ1dCBjdWRvcyBnbyB0byBoaW0gZm9yIGZpcnN0IHN0YXJ0aW5nIHRo
aXMuLi4KOzsKOzsgSSBtYWlubHkgd3JvdGUgdGhpcyBhcyBhbiBleGFtcGxlIGhvdyBncmFw
aGljcyBoYW5kbGluZyBpbiBYRW1hY3MKOzsgaXMgcG9zc2libGUuIEkgdGhpbmsgSSBkaWQg
aXQgdGhlIHJpZ2h0IHdheSwgdXNpbmcgYW4gZXh0ZW5zaW9uIHRvCjs7IHRoZSBhbm5vdGF0
aW9uIG1lY2hhbmlzbSBhbmQgdmlhIGV4dGVuc2l2ZSB1c2Ugb2YgYHNsb3RzJyAocmVhbGl6
ZWQKOzsgYXMgcHJvcGVydGllcyBvZiBleHRlbnRzKSB0byBob2xkIHRoZSBkYXRhIGluIHRo
ZSBvYmplY3QgaXRzZWxmLgo7Owo7OyBDb2RlOgoKOzs7IEZpcnN0IG9mIGFsbCB3ZSdsbCBk
ZWZpbmUgdGhlIG5lZWRlZCB2YXJpYmxlcy4KCihkZWZncm91cCB4bWluZSBuaWwKICAiVGhl
IHdlbGwga25vd24gbWluZSBzZWFyY2hpbmcgZ2FtZS4iCiAgOmdyb3VwICdnYW1lcykKCihk
ZWZjdXN0b20geG1pbmUtd2lkdGggMjUKICAiVGhlIHdpZHRoIG9mIHRoZSBtaW5lIGZpZWxk
IgogIDpncm91cCAneG1pbmUKICA6dHlwZSAnaW50ZWdlcikKCihkZWZjdXN0b20geG1pbmUt
aGVpZ2h0IDIwCiAgIlRoZSBoZWlnaHQgb2YgdGhlIG1pbmUgZmllbGQiCiAgOmdyb3VwICd4
bWluZQogIDp0eXBlICdpbnRlZ2VyKQoKKGRlZnZhciB4bWluZS1nbHlwaC1kaXIgKGNvbmNh
dCBkYXRhLWRpcmVjdG9yeSAibWluZS8iKSkKCihkZWZ2YXIgeG1pbmUtbmV3LXVwCiAgKG1h
a2UtZ2x5cGgKICAgKGlmIChlcSB3aW5kb3ctc3lzdGVtICd4KSAoY29uY2F0IHhtaW5lLWds
eXBoLWRpciAibmV3X3VwLmdpZiIpCiAgICAgIm5ldyIpKSkKCihkZWZ2YXIgeG1pbmUtbmV3
LWRvd24KICAobWFrZS1nbHlwaAogICAoaWYgKGVxIHdpbmRvdy1zeXN0ZW0gJ3gpIChjb25j
YXQgeG1pbmUtZ2x5cGgtZGlyICJuZXdfZG93bi5naWYiKQogICAgICJORVciKSkpCgooZGVm
dmFyIHhtaW5lLXF1aXQtdXAKICAobWFrZS1nbHlwaAogICAoaWYgKGVxIHdpbmRvdy1zeXN0
ZW0gJ3gpIChjb25jYXQgeG1pbmUtZ2x5cGgtZGlyICJxdWl0X3VwLmdpZiIpCiAgICAgInF1
aXQiKSkpCgooZGVmdmFyIHhtaW5lLXF1aXQtZG93bgogIChtYWtlLWdseXBoCiAgIChpZiAo
ZXEgd2luZG93LXN5c3RlbSAneCkgKGNvbmNhdCB4bWluZS1nbHlwaC1kaXIgInF1aXRfZG93
bi5naWYiKQogICAgICJRVUlUIikpKQoKKGRlZnZhciB4bWluZS11cC1nbHlwaAogIChtYWtl
LWdseXBoCiAgIChpZiAoZXEgd2luZG93LXN5c3RlbSAneCkgKGNvbmNhdCB4bWluZS1nbHlw
aC1kaXIgImVtcHR5XzE2X3VwLmdpZiIpCiAgICAgIkAgIikpKQoKKGRlZnZhciB4bWluZS1k
b3duLWdseXBoCiAgKG1ha2UtZ2x5cGgKICAgKGlmIChlcSB3aW5kb3ctc3lzdGVtICd4KSAo
Y29uY2F0IHhtaW5lLWdseXBoLWRpciAiZW1wdHlfMTZfZG93bi5naWYiKQogICAgICI/ICIp
KSkKCihkZWZ2YXIgeG1pbmUtZmxhZ2dlZC1nbHlwaAogIChtYWtlLWdseXBoCiAgIChpZiAo
ZXEgd2luZG93LXN5c3RlbSAneCkgKGNvbmNhdCB4bWluZS1nbHlwaC1kaXIgImZsYWdnZWRf
MTZfdXAuZ2lmIikKICAgICAiISAiKSkpCgooZGVmdmFyIHhtaW5lLW1pbmUtZ2x5cGgKICAo
bWFrZS1nbHlwaAogICAoaWYgKGVxIHdpbmRvdy1zeXN0ZW0gJ3gpIChjb25jYXQgeG1pbmUt
Z2x5cGgtZGlyICJib21iXzE2X2ZsYXQuZ2lmIikKICAgICAiKiAiKSkpCgooZGVmdmFyIHht
aW5lLXRyYXBwZWQtZ2x5cGgKICAobWFrZS1nbHlwaAogICAoaWYgKGVxIHdpbmRvdy1zeXN0
ZW0gJ3gpIChjb25jYXQgeG1pbmUtZ2x5cGgtZGlyCgkJCQkgICAgICJib21iX3RyYXBwZWRf
MTZfZmxhdC5naWYiKQogICAgICJYICIpKSkKCihkZWZ2YXIgeG1pbmUtMC1nbHlwaAogICht
YWtlLWdseXBoCiAgIChpZiAoZXEgd2luZG93LXN5c3RlbSAneCkgKGNvbmNhdCB4bWluZS1n
bHlwaC1kaXIgImVtcHR5XzE2X2ZsYXQuZ2lmIikKICAgICAiLiAiKSkpCgooZGVmdmFyIHht
aW5lLTEtZ2x5cGggCiAgKG1ha2UtZ2x5cGgKICAgKGlmIChlcSB3aW5kb3ctc3lzdGVtICd4
KSAoY29uY2F0IHhtaW5lLWdseXBoLWRpciAiMV8xNl9mbGF0LmdpZiIpCiAgICAgIjEgIikp
KQoKKGRlZnZhciB4bWluZS0yLWdseXBoIAogIChtYWtlLWdseXBoCiAgIChpZiAoZXEgd2lu
ZG93LXN5c3RlbSAneCkgKGNvbmNhdCB4bWluZS1nbHlwaC1kaXIgIjJfMTZfZmxhdC5naWYi
KQogICAgICIyICIpKSkKCihkZWZ2YXIgeG1pbmUtMy1nbHlwaCAKICAobWFrZS1nbHlwaAog
ICAoaWYgKGVxIHdpbmRvdy1zeXN0ZW0gJ3gpIChjb25jYXQgeG1pbmUtZ2x5cGgtZGlyICIz
XzE2X2ZsYXQuZ2lmIikKICAgICAiMyAiKSkpCgooZGVmdmFyIHhtaW5lLTQtZ2x5cGggCiAg
KG1ha2UtZ2x5cGgKICAgKGlmIChlcSB3aW5kb3ctc3lzdGVtICd4KSAoY29uY2F0IHhtaW5l
LWdseXBoLWRpciAiNF8xNl9mbGF0LmdpZiIpCiAgICAgIjQgIikpKQoKKGRlZnZhciB4bWlu
ZS01LWdseXBoIAogIChtYWtlLWdseXBoCiAgIChpZiAoZXEgd2luZG93LXN5c3RlbSAneCkg
KGNvbmNhdCB4bWluZS1nbHlwaC1kaXIgIjVfMTZfZmxhdC5naWYiKQogICAgICI1ICIpKSkK
CihkZWZ2YXIgeG1pbmUtNi1nbHlwaCAKICAobWFrZS1nbHlwaAogICAoaWYgKGVxIHdpbmRv
dy1zeXN0ZW0gJ3gpIChjb25jYXQgeG1pbmUtZ2x5cGgtZGlyICI2XzE2X2ZsYXQuZ2lmIikK
ICAgICAiNiAiKSkpCgooZGVmdmFyIHhtaW5lLTctZ2x5cGggCiAgKG1ha2UtZ2x5cGgKICAg
KGlmIChlcSB3aW5kb3ctc3lzdGVtICd4KSAoY29uY2F0IHhtaW5lLWdseXBoLWRpciAiN18x
Nl9mbGF0LmdpZiIpCiAgICAgIjcgIikpKQoKKGRlZnZhciB4bWluZS04LWdseXBoIAogICht
YWtlLWdseXBoCiAgIChpZiAoZXEgd2luZG93LXN5c3RlbSAneCkgKGNvbmNhdCB4bWluZS1n
bHlwaC1kaXIgIjhfMTZfZmxhdC5naWYiKQogICAgICI4ICIpKSkKCihkZWZjdXN0b20geG1p
bmUtJS1vZi1taW5lcyAxMgogICJUaGUgcGVyY2VudGFnZSBvZiB0aWxlcyB0aGF0IHNob3Vs
ZCBiZSBtaW5lcy4iCiAgOmdyb3VwICd4bWluZQogIDp0eXBlICdpbnRlZ2VyKQoKKGRlZmN1
c3RvbSB4bWluZS1iYWxsb29uLWxpc3QgKGxpc3QgIldoYXQgYXJlIHlvdSB3YWl0aW5nIGZv
cj8iCgkJCQkgICAgIlB1c2ggbWUhIgoJCQkJICAgICJDb21lIG9uLiBEb24ndCBzbGVlcC4i
CgkJCQkgICAgIkFyZSB5b3Ugc3VyZT8iCgkJCQkgICAgIkFyZSB5b3Ugc2xlZXBpbmc/IgoJ
CQkJICAgICJZZXMhIERvIGl0ISIKCQkJCSAgICAiSSdtIGdldHRpbmcgYm9yZWQuIgoJCQkJ
ICAgICJZb3Ugd2lsbCBORVZFUiBiZWF0IG1lLiIpCiAgIihSYW5kb20pIHRleHRzIGZvciB0
aGUgYmFsbG9vbi1oZWxwIHByb3BlcnR5IG9mIHRoZSB0aWxlcyIKICA6Z3JvdXAgJ3htaW5l
CiAgOnR5cGUgJyhyZXBlYXQgKHN0cmluZykpKQoKKGRlZnZhciB4bWluZS1udW1iZXItb2Yt
ZmxhZ2dlZCAwKQoKKGRlZnZhciB4bWluZS1udW1iZXItb2Ytb3BlbmVkIDApCiAgCihkZWZ2
YXIgeG1pbmUtbnVtYmVyLW9mLW1pbmVzIDApCgooZGVmdmFyIHhtaW5lLWludC1oZWlnaHQg
bmlsKQoKKGRlZnZhciB4bWluZS1pbnQtd2lkdGggbmlsKQoKKGRlZnZhciB4bWluZS1maWVs
ZCBuaWwpCgooZGVmdmFyIHhtaW5lLWJ1ZmZlciBuaWwpCgooZGVmdmFyIHhtaW5lLXF1aXQt
YW5uIG5pbCkKCihkZWZ2YXIgeG1pbmUtbmV3LWFubiBuaWwpCgooZGVmdmFyIHhtaW5lLWNv
dW50LWFubiBuaWwpCgooZGVmdmFyIHhtaW5lLWNvdW50LWdseXBoIChtYWtlLWdseXBoICJN
aW5lczogMDAiKSkKCihkZWZ2YXIgeG1pbmUtbW9kZS1ob29rIG5pbAogICIqSG9vayBjYWxs
ZWQgYnkgYHhtaW5lLW1vZGUtaG9vaycuIikKCjs7IHRoZXNlIHRocmVlIGd1eXMgYXJlIG1v
cmUgb3IgbGVzcyBzdG9sZW4gZnJvbSBhbm5vdGF0aW9uLmVsIGFuZAo7OyBtb2RpZmllZCB0
byBmaXQgaW4gb3VyIHNjaGVtZSB3ZXJlIGFsbCB0aHJlZSBidXR0b25zIHNob3VsZCB0cmln
Z2VyCjs7IGFjdGlvbnMKCihkZWZ1biB4bWluZS1hY3RpdmF0ZS1mdW5jdGlvbi1idXR0b24x
IChldmVudCkKICAoaW50ZXJhY3RpdmUgImUiKQogIChsZXQgKChleHRlbnQgKGV2ZW50LWds
eXBoLWV4dGVudCBldmVudCkpCgkobW91c2UtZG93biB0KQoJKHVwLWdseXBoIG5pbCkpCiAg
ICA7OyBtYWtlIHRoZSBnbHlwaCBsb29rIHByZXNzZWQKICAgIChjb25kICgoYW5ub3RhdGlv
bi1kb3duLWdseXBoIGV4dGVudCkKCSAgIChzZXRxIHVwLWdseXBoIChhbm5vdGF0aW9uLWds
eXBoIGV4dGVudCkpCgkgICAoc2V0LWFubm90YXRpb24tZ2x5cGggZXh0ZW50IChhbm5vdGF0
aW9uLWRvd24tZ2x5cGggZXh0ZW50KSkpKQogICAgKHdoaWxlIG1vdXNlLWRvd24KICAgICAg
KHNldHEgZXZlbnQgKG5leHQtZXZlbnQgZXZlbnQpKQogICAgICAoaWYgKGJ1dHRvbi1yZWxl
YXNlLWV2ZW50LXAgZXZlbnQpCgkgIChzZXRxIG1vdXNlLWRvd24gbmlsKSkpCiAgICA7OyBt
YWtlIHRoZSBnbHlwaCBsb29rIHJlbGVhc2VkCiAgICAoY29uZCAoKGFubm90YXRpb24tZG93
bi1nbHlwaCBleHRlbnQpCgkgICAoc2V0LWFubm90YXRpb24tZ2x5cGggZXh0ZW50IHVwLWds
eXBoKSkpCiAgICAoaWYgKGVxIGV4dGVudCAoZXZlbnQtZ2x5cGgtZXh0ZW50IGV2ZW50KSkK
CShpZiAoZXh0ZW50LXByb3BlcnR5IGV4dGVudCAnYWN0aW9uMSkKCSAgICAocHJvZ24gOzsg
KG1lc3NhZ2UgIkJ1dHRvbl8xIikKCQkgICAoZnVuY2FsbCAoZXh0ZW50LXByb3BlcnR5IGV4
dGVudCAnYWN0aW9uMSkgZXh0ZW50KSkpKSkpCgooZGVmdW4geG1pbmUtYWN0aXZhdGUtZnVu
Y3Rpb24tYnV0dG9uMiAoZXZlbnQpCiAgKGludGVyYWN0aXZlICJlIikKICAobGV0ICgoZXh0
ZW50IChldmVudC1nbHlwaC1leHRlbnQgZXZlbnQpKQoJKG1vdXNlLWRvd24gdCkKCSh1cC1n
bHlwaCBuaWwpKQogICAgOzsgbWFrZSB0aGUgZ2x5cGggbG9vayBwcmVzc2VkCiAgICAoY29u
ZCAoKGFubm90YXRpb24tZG93bi1nbHlwaCBleHRlbnQpCgkgICAoc2V0cSB1cC1nbHlwaCAo
YW5ub3RhdGlvbi1nbHlwaCBleHRlbnQpKQoJICAgKHNldC1hbm5vdGF0aW9uLWdseXBoIGV4
dGVudCAoYW5ub3RhdGlvbi1kb3duLWdseXBoIGV4dGVudCkpKSkKICAgICh3aGlsZSBtb3Vz
ZS1kb3duCiAgICAgIChzZXRxIGV2ZW50IChuZXh0LWV2ZW50IGV2ZW50KSkKICAgICAgKGlm
IChidXR0b24tcmVsZWFzZS1ldmVudC1wIGV2ZW50KQoJICAoc2V0cSBtb3VzZS1kb3duIG5p
bCkpKQogICAgOzsgbWFrZSB0aGUgZ2x5cGggbG9vayByZWxlYXNlZAogICAgKGNvbmQgKChh
bm5vdGF0aW9uLWRvd24tZ2x5cGggZXh0ZW50KQoJICAgKHNldC1hbm5vdGF0aW9uLWdseXBo
IGV4dGVudCB1cC1nbHlwaCkpKQogICAgKGlmIChlcSBleHRlbnQgKGV2ZW50LWdseXBoLWV4
dGVudCBldmVudCkpCgkoaWYgKGV4dGVudC1wcm9wZXJ0eSBleHRlbnQgJ2FjdGlvbjIpCgkg
ICAgKHByb2duIDs7IChtZXNzYWdlICJCdXR0b25fMiIpCgkJICAgKGZ1bmNhbGwgKGV4dGVu
dC1wcm9wZXJ0eSBleHRlbnQgJ2FjdGlvbjIpIGV4dGVudCkpKSkpKQoKKGRlZnVuIHhtaW5l
LWFjdGl2YXRlLWZ1bmN0aW9uLWJ1dHRvbjMgKGV2ZW50KQogIChpbnRlcmFjdGl2ZSAiZSIp
CiAgKGxldCAoKGV4dGVudCAoZXZlbnQtZ2x5cGgtZXh0ZW50IGV2ZW50KSkKCShtb3VzZS1k
b3duIHQpCgkodXAtZ2x5cGggbmlsKSkKICAgIDs7IG1ha2UgdGhlIGdseXBoIGxvb2sgcHJl
c3NlZAogICAgKGNvbmQgKChhbm5vdGF0aW9uLWRvd24tZ2x5cGggZXh0ZW50KQoJICAgKHNl
dHEgdXAtZ2x5cGggKGFubm90YXRpb24tZ2x5cGggZXh0ZW50KSkKCSAgIChzZXQtYW5ub3Rh
dGlvbi1nbHlwaCBleHRlbnQgKGFubm90YXRpb24tZG93bi1nbHlwaCBleHRlbnQpKSkpCiAg
ICAod2hpbGUgbW91c2UtZG93bgogICAgICAoc2V0cSBldmVudCAobmV4dC1ldmVudCBldmVu
dCkpCiAgICAgIChpZiAoYnV0dG9uLXJlbGVhc2UtZXZlbnQtcCBldmVudCkKCSAgKHNldHEg
bW91c2UtZG93biBuaWwpKSkKICAgIDs7IG1ha2UgdGhlIGdseXBoIGxvb2sgcmVsZWFzZWQK
ICAgIChjb25kICgoYW5ub3RhdGlvbi1kb3duLWdseXBoIGV4dGVudCkKCSAgIChzZXQtYW5u
b3RhdGlvbi1nbHlwaCBleHRlbnQgdXAtZ2x5cGgpKSkKICAgIChpZiAoZXEgZXh0ZW50IChl
dmVudC1nbHlwaC1leHRlbnQgZXZlbnQpKQoJKGlmIChleHRlbnQtcHJvcGVydHkgZXh0ZW50
ICdhY3Rpb24zKQoJICAgIChwcm9nbiA7OyAobWVzc2FnZSAiQnV0dG9uXzMiKQoJCSAgIChm
dW5jYWxsIChleHRlbnQtcHJvcGVydHkgZXh0ZW50ICdhY3Rpb24zKSBleHRlbnQpKSkpKSkK
Cjs7OyBIZXJlIHdlIGRlZmluZSB0aGUgYnV0dG9uIG9iamVjdCdzIGNvbnN0cnVjdG9yIGZ1
bmN0aW9uCgooZGVmdW4geG1pbmUtYnV0dG9uLWNyZWF0ZSAoeCB5IHR5cGUpCiAgKGxldCAo
KGV4dCAobWFrZS1hbm5vdGF0aW9uCgkgICAgICB4bWluZS11cC1nbHlwaCBuaWwgJ3RleHQg
bmlsIG5pbCB4bWluZS1kb3duLWdseXBoIG5pbCkpKQogICAgKHNldC1leHRlbnQtcHJvcGVy
dHkgZXh0ICdhY3Rpb24xICd4bWluZS1hY3Rpb24xKQogICAgKHNldC1leHRlbnQtcHJvcGVy
dHkgZXh0ICdhY3Rpb24yICd4bWluZS1iZWVwKQogICAgKHNldC1leHRlbnQtcHJvcGVydHkg
ZXh0ICdhY3Rpb24zICd4bWluZS1hY3Rpb24zKQogICAgKHNldC1leHRlbnQtcHJvcGVydHkg
ZXh0ICd4bWluZS1nbHlwaCAoeG1pbmUtdHlwZS10by1nbHlwaCB0eXBlKSkKICAgIChzZXQt
ZXh0ZW50LXByb3BlcnR5IGV4dCAneG1pbmUtdHlwZSB0eXBlKQogICAgKHNldC1leHRlbnQt
cHJvcGVydHkgZXh0ICd4bWluZS14IHgpCiAgICAoc2V0LWV4dGVudC1wcm9wZXJ0eSBleHQg
J3htaW5lLXkgeSkKICAgIChzZXQtZXh0ZW50LXByb3BlcnR5IGV4dCAneG1pbmUtZmxhZ2dl
ZCBuaWwpCiAgICAoc2V0LWV4dGVudC1wcm9wZXJ0eSBleHQgJ3htaW5lLWhpZGRlbiB0KQog
ICAgKHNldC1leHRlbnQtcHJvcGVydHkgZXh0ICdiYWxsb29uLWhlbHAgKHhtaW5lLWJhbGxv
b24tdGV4dCkpCiAgICAoYXNldCB4bWluZS1maWVsZCAoKyAoKiAoMS0geSkgeG1pbmUtaW50
LXdpZHRoKSAoMS0geCkpIGV4dCkpKQoKOzs7IC4uLmFuZCB0aGlzIGlzIHRoZSBzZWNvbmQg
Z2xvYmFsIGZ1bmN0aW9uIHRvIGNoYW5nZSBhCjs7OyBidXR0b24gb2JqZWN0LiBJdCBpcyBv
bmx5IG5lZWRlZCBkdXJpbmcgY3JlYXRpb24gb2YgdGhlIGJvYXJkLgoKKGRlZnVuIHhtaW5l
LWJ1dHRvbi1jaGFuZ2UtdHlwZSAoZXh0IHR5cGUpCiAgKHNldC1leHRlbnQtcHJvcGVydHkg
ZXh0ICd4bWluZS1nbHlwaCAoeG1pbmUtdHlwZS10by1nbHlwaCB0eXBlKSkKICAoc2V0LWV4
dGVudC1wcm9wZXJ0eSBleHQgJ3htaW5lLXR5cGUgdHlwZSkpCgo7Ozsgc29tZSBuZWVkZWQg
cHJlZGljYXRlcy4KCihkZWZ1biB4bWluZS1mbGF0LWJ1dHRvbi1wIChleHQpCiAgKGFuZCBl
eHQKICAgICAgIChub3QgKGV4dGVudC1wcm9wZXJ0eSBleHQgJ3htaW5lLWhpZGRlbikpCiAg
ICAgICAoZXF1YWwgIjAiIChleHRlbnQtcHJvcGVydHkgZXh0ICd4bWluZS10eXBlKSkpKQoK
KGRlZnVuIHhtaW5lLW1pbmUtYnV0dG9uLXAgKGV4dCkKICAoYW5kIGV4dAogICAgICAgKGVx
dWFsICJtaW5lIiAoZXh0ZW50LXByb3BlcnR5IGV4dCAneG1pbmUtdHlwZSkpKSkKCjs7OyB0
aGUgbmV4dCB0aHJlZSBmdW5jdGlvbnMgYXJlIGhlbHBlciBmdW5jdGlvbnMgdXNlZCBpbnNp
ZGUgYSBidXR0b24KOzs7IG9iamVjdC4KCihkZWZ1biB4bWluZS1iYWxsb29uLXRleHQgKCkK
ICAobnRoIChyYW5kb20gKGxlbmd0aCB4bWluZS1iYWxsb29uLWxpc3QpKSB4bWluZS1iYWxs
b29uLWxpc3QpKQoKKGRlZnVuIHhtaW5lLWJlZXAgKCZyZXN0IGZvcmdldCkKICAoYmVlcCkp
CgooZGVmdW4geG1pbmUtdHlwZS10by1nbHlwaCAodHlwZSkKICAoZXZhbCAoaW50ZXJuLXNv
ZnQgKGNvbmNhdCAieG1pbmUtIiB0eXBlICItZ2x5cGgiKSkpKQoKOzs7IHRoZSBuZXh0IHRo
cmVlIGZ1bmN0aW9ucyBhcmUgdGhlIG1haW4gZnVuY3Rpb25zIHRoYXQgYXJlIHVzZWQKOzs7
IGluc2lkZSB0aGUgYnV0dG9uIG9iamVjdHMgYW5kIHdoaWNoIGFyZSBib3VuZCB0byB0aGUg
J2FjdGlvbjEsCjs7OyAnYWN0aW9uMiBhbmQgJ2FjdGlvbjMgc2xvdHMgcmVzcGVjdGl2ZWx5
CgooZGVmdW4geG1pbmUtYWN0aW9uMSAoZXh0ICZvcHRpb25hbCBuby1yZXBhaW50IGZvcmNl
KQogICJUaGlzIHVuaGlkZXMgYSBoaWRkZW4gYnV0dG9uIgogIChpZiAob3IgZm9yY2UKCSAg
KG5vdCAoZXh0ZW50LXByb3BlcnR5IGV4dCAneG1pbmUtZmxhZ2dlZCkpKQogICAgICAocHJv
Z24KCShpZiAoZXh0ZW50LXByb3BlcnR5IGV4dCAneG1pbmUtaGlkZGVuKQoJICAgIChzZXRx
IHhtaW5lLW51bWJlci1vZi1vcGVuZWQgKDErIHhtaW5lLW51bWJlci1vZi1vcGVuZWQpKSkK
CShzZXQtZXh0ZW50LXByb3BlcnR5IGV4dCAneG1pbmUtaGlkZGVuIG5pbCkKCShzZXQtYW5u
b3RhdGlvbi1nbHlwaCBleHQgKGV4dGVudC1wcm9wZXJ0eSBleHQgJ3htaW5lLWdseXBoKSkK
CShzZXQtZXh0ZW50LXByb3BlcnR5IGV4dCAnYWN0aW9uMyBuaWwpCgkoc2V0LWV4dGVudC1w
cm9wZXJ0eSBleHQgJ2FjdGlvbjEgbmlsKQoJKHNldC1leHRlbnQtcHJvcGVydHkgZXh0ICdi
YWxsb29uLWhlbHAgbmlsKQoJKHNldC1leHRlbnQtcHJvcGVydHkgZXh0ICdhY3Rpb24yICd4
bWluZS1hY3Rpb24yKQoJKGlmIChub3Qgbm8tcmVwYWludCkKCSAgICAocHJvZ24KCSAgICAg
ICh4bWluZS1maWVsZC1yZXBhaW50IGV4dCkKCSAgICAgIChpZiAoeG1pbmUtZ2FtZS1zb2x2
ZWQtcCkgKHhtaW5lLWVuZC1nYW1lKSkpKSkpKQoKKGRlZnVuIHhtaW5lLWFjdGlvbjIgKGV4
dCkKICAiVGhpcyB1bmhpZGVzIGFsbCBoaWRkZW4gbmVpZ2hib3VycyBvZiBhIGJ1dHRvbi4K
SXQgaXMgbWVhbnQgYXMgY29udmVuaWVuY2UgZnVuY3Rpb24geW91IGNhbiB1c2UgaWYgeW91
J3JlIHN1cmUgdGhhdAp5b3UndmUgbWFya2VkIGFsbCBtaW5lcyBhcm91bmQgdGhlIGJ1dHRv
biBjb3JyZWN0bHkgKG9yIHlvdSdyZSBzdXJlCnRoZXJlIGlzbid0IG9uZSkiCiAgKGxldCAo
KGxpc3QgKHhtaW5lLWdldC1uZWlnaGJvdXJzIGV4dCkpCgluZXh0KQogICAgKHdoaWxlIChz
ZXRxIG5leHQgKHBvcCBsaXN0KSkKICAgICAgKGlmIChub3QgKHhtaW5lLWZsYXQtYnV0dG9u
LXAgbmV4dCkpICh4bWluZS1hY3Rpb24xIG5leHQpKSkpKQoKKGRlZnVuIHhtaW5lLWFjdGlv
bjMgKGV4dCkKICAiVGhpcyB0b2dnbGVzIHRoZSBmbGFnZ2VkIHN0YXR1cyBvZiBhIGJ1dHRv
bi4KWW91IGZsYWcgYSBidXR0b24gaWYgeW91IGtub3cgLSBvciB0aGluayAtIHRoYXQgdGhl
cmUncyBhIG1pbmUgdW5kZXIgaXQiCihpZiAoZXh0ZW50LXByb3BlcnR5IGV4dCAneG1pbmUt
ZmxhZ2dlZCkKICAgICAgKHByb2duCgkoc2V0LWFubm90YXRpb24tZ2x5cGggZXh0IHhtaW5l
LXVwLWdseXBoKQoJKHNldC1leHRlbnQtcHJvcGVydHkgZXh0ICdhY3Rpb24xICd4bWluZS1h
Y3Rpb24xKQoJKHNldC1leHRlbnQtcHJvcGVydHkgZXh0ICd4bWluZS1mbGFnZ2VkIG5pbCkK
CShzZXRxIHhtaW5lLW51bWJlci1vZi1mbGFnZ2VkICgxLSB4bWluZS1udW1iZXItb2YtZmxh
Z2dlZCkpCgkoc2V0LWFubm90YXRpb24tZ2x5cGggeG1pbmUtY291bnQtYW5uCgkJCSAgICAg
IChtYWtlLWdseXBoCgkJCSAgICAgICAoZm9ybWF0ICJNaW5lczogJTJkIgoJCQkJICAgICAg
ICgtIHhtaW5lLW51bWJlci1vZi1taW5lcwoJCQkJCSAgICB4bWluZS1udW1iZXItb2YtZmxh
Z2dlZCkpKSkpCiAgICAoaWYgKD0geG1pbmUtbnVtYmVyLW9mLWZsYWdnZWQgeG1pbmUtbnVt
YmVyLW9mLW1pbmVzKQoJKHByb2duIAoJICAoYmVlcCkKCSAgKG1lc3NhZ2UKCSAgICJJbXBv
c3NpYmxlLiBZb3Ugc2VlbSB0byBoYXZlIG1hcmtlZCB0b28gbWFueSB0aWxlcyBhcyBtaW5l
cz8iKSkKICAgICAgKHNldC1hbm5vdGF0aW9uLWdseXBoIGV4dCB4bWluZS1mbGFnZ2VkLWds
eXBoKQogICAgICAoc2V0LWV4dGVudC1wcm9wZXJ0eSBleHQgJ2FjdGlvbjEgbmlsKQogICAg
ICAoc2V0LWV4dGVudC1wcm9wZXJ0eSBleHQgJ3htaW5lLWZsYWdnZWQgdCkKICAgICAgKHNl
dHEgeG1pbmUtbnVtYmVyLW9mLWZsYWdnZWQgKDErIHhtaW5lLW51bWJlci1vZi1mbGFnZ2Vk
KSkKICAgICAgKGlmICh4bWluZS1nYW1lLXNvbHZlZC1wKSAoeG1pbmUtZW5kLWdhbWUpCgko
c2V0LWFubm90YXRpb24tZ2x5cGggeG1pbmUtY291bnQtYW5uCgkJCSAgICAgIChtYWtlLWds
eXBoCgkJCSAgICAgICAoZm9ybWF0ICJNaW5lczogJTJkIgoJCQkJICAgICAgICgtIHhtaW5l
LW51bWJlci1vZi1taW5lcwoJCQkJCSAgeG1pbmUtbnVtYmVyLW9mLWZsYWdnZWQpKSkpKSkp
KQoKCjs7OyB3aGF0IHRvIGRvIGFmdGVyIGEgYnV0dG9uIGlzIHVuaGlkZGVuOiBXZSAobWF5
YmUpIGhhdmUgdG8gcmVwYWludAo7OzsgcGFydHMgb2YgdGhlIGJvYXJkLiBUaGlzIGlzIGRv
bmUgaGVyZSByZWN1cnNpdmVseS4KCihkZWZ1biB4bWluZS1maWVsZC1yZXBhaW50IChleHQp
CiAgKGxldCogKChmbGF0cCAgKHhtaW5lLWZsYXQtYnV0dG9uLXAgZXh0KSkKCSAobWluZXAg
ICh4bWluZS1taW5lLWJ1dHRvbi1wIGV4dCkpCgkgKG5laWdoYm91cnMgKHhtaW5lLWdldC1u
ZWlnaGJvdXJzIGV4dCkpCgkgKG1heC1saXNwLWV2YWwtZGVwdGggKCogOCB4bWluZS1pbnQt
d2lkdGggeG1pbmUtaW50LWhlaWdodCkpCgkgbmV4dC1leHQgZXh0LWxpc3QpCiAgICAoY29u
ZCAoZmxhdHAKCSAgICh3aGlsZSAoc2V0cSBuZXh0LWV4dCAocG9wIG5laWdoYm91cnMpKQoJ
ICAgICAoaWYgKGV4dGVudC1wcm9wZXJ0eSBuZXh0LWV4dCAneG1pbmUtaGlkZGVuKQoJCSAo
cHJvZ24KCQkgICAoeG1pbmUtYWN0aW9uMSBuZXh0LWV4dCAnbm8tcmVwYWludCkKCQkgICAo
YW5kIChlcXVhbCAiMCIgKGV4dGVudC1wcm9wZXJ0eSBuZXh0LWV4dCAneG1pbmUtdHlwZSkp
CgkJCShwdXNoIG5leHQtZXh0IGV4dC1saXN0KSkpKSkKCSAgICh3aGlsZSBleHQtbGlzdAoJ
ICAgICAoc2V0cSBuZXh0LWV4dCAocG9wIGV4dC1saXN0KSkKCSAgICAgKHhtaW5lLWZpZWxk
LXJlcGFpbnQgbmV4dC1leHQpKSkKCSAgKG1pbmVwCgkgICAoc2V0LWV4dGVudC1wcm9wZXJ0
eSBleHQgJ3htaW5lLWdseXBoIHhtaW5lLXRyYXBwZWQtZ2x5cGgpCgkgICAoeG1pbmUtc2hv
dy1hbGwpCgkgICAoeG1pbmUtZW5kLWdhbWUtdHJhcHBlZCkpKSkpCgoKKGRlZnVuIHhtaW5l
LWdldC1uZWlnaGJvdXJzIChleHQpCiAgIlRoaXMgZ2l2ZXMgYmFjayBhIGxpc3Qgb2YgYWxs
IG5laWdoYm91cnMgb2YgYSBidXR0b24sIGNvcnJlY3RseQogIGhhbmRsaW5nIGJ1dHRvbnMg
YXQgdGhlIHNpZGUgb3IgY29ybmVyIG9mIGNvdXJzZSIKKGxldCogKCh4IChleHRlbnQtcHJv
cGVydHkgZXh0ICd4bWluZS14KSkKCSAoeSAoZXh0ZW50LXByb3BlcnR5IGV4dCAneG1pbmUt
eSkpCgkgbmV4dC1jb29yZCBuZXh0IGxpc3QKCSAobmVpZ2hib3VycyAgKGxpc3QgKGxpc3Qg
KDEtIHgpICgxKyB5KSkKCQkJICAgIChsaXN0ICAgICB4ICAoMSsgeSkpCgkJCSAgICAobGlz
dCAoMSsgeCkgKDErIHkpKQoJCQkgICAgKGxpc3QgKDEtIHgpICgxLSB5KSkKCQkJICAgIChs
aXN0ICAgICB4ICAoMS0geSkpCgkJCSAgICAobGlzdCAoMSsgeCkgKDEtIHkpKQoJCQkgICAg
KGxpc3QgKDErIHgpICAgICB5KQoJCQkgICAgKGxpc3QgKDEtIHgpICAgICB5KSkpKQogICAg
KHdoaWxlIChzZXRxIG5leHQtY29vcmQgKHBvcCBuZWlnaGJvdXJzKSkKICAgICAgKGlmIChz
ZXRxIG5leHQgKHhtaW5lLWZpZWxkLWJ1dHRvbi1hdCAoY2FyIG5leHQtY29vcmQpCgkJCQkJ
ICAgIChjYWRyIG5leHQtY29vcmQpKSkKCSAgKHB1c2ggbmV4dCBsaXN0KSkpCiAgICBsaXN0
KSkKICAgIAoKOzs7IHRoZSBuZXh0IGZvdXIgZnVuY3Rpb25zIGFyZSB1c2VkIHRvIGtub3cg
aWYgd2UncmUgYXQgdGhlIGVuZCBvZgo7OzsgdGhlIGdhbWUgKGVpdGhlciBzdWNjZXNzZnVs
bHkgb3IgZXhwbG9kZWQpIGFuZCBkbyB0aGUgYXBwcm9iYXRlCjs7OyBhY3Rpb24KCihkZWZ1
biB4bWluZS1nYW1lLXNvbHZlZC1wICgpCiAgIllvdSBoYXZlIHNvbHZlZCB0aGUgZ2FtZSBz
dWNjZXNzZnVsbHkgaWYgdGhlIG51bWJlciBvZiBmbGFnZ2VkCm1pbmVzIHBsdXMgdGhlIG51
bWJlciBvZiB1bmhpZGRlbiBidXR0b25zIGVxdWFscyB3aWR0aCpoZWlnaHQgb2YgdGhlIGZp
ZWxkIgogIChlcXVhbCAoKyB4bWluZS1udW1iZXItb2YtZmxhZ2dlZCB4bWluZS1udW1iZXIt
b2Ytb3BlbmVkKQoJICgqIHhtaW5lLWludC13aWR0aCB4bWluZS1pbnQtaGVpZ2h0KSkpCgoo
ZGVmdW4geG1pbmUtZW5kLWdhbWUgKCkKICAoYmVlcCkKICAoc2V0LWFubm90YXRpb24tZ2x5
cGggeG1pbmUtY291bnQtYW5uCgkJCShtYWtlLWdseXBoICIgU29sdmVkLiAiKSkpCgooZGVm
dW4geG1pbmUtZW5kLWdhbWUtdHJhcHBlZCAoKQogIChiZWVwKQogIChzZXQtYW5ub3RhdGlv
bi1nbHlwaCB4bWluZS1jb3VudC1hbm4KCQkJKG1ha2UtZ2x5cGggIisrIFJJUCArKyIpKSkK
CihkZWZ1biB4bWluZS1zaG93LWFsbCAoKQogIChsZXQgKChsaXN0IChhcHBlbmQgeG1pbmUt
ZmllbGQgbmlsKSkKCW5leHQpCiAgICAod2hpbGUgKHNldHEgbmV4dCAocG9wIGxpc3QpKQog
ICAgICAoeG1pbmUtYWN0aW9uMSBuZXh0ICduby1yZXBhaW50ICdmb3JjZSkpKSkKCgooZGVm
dW4geG1pbmUtZmllbGQtYnV0dG9uLWF0ICh4IHkpCiAgIlRoaXMgZnVuY3Rpb24gZ2l2ZXMg
YmFjayB0aGUgYnV0dG9uIGF0IGEgZ2l2ZW4gY29vcmRpbmF0ZSBwYWlyICh4IHkpCkl0IGlz
IG9ubHkgdXNlZCBkdXJpbmcgY3JlYXRpb24gb2YgdGhlIGJvYXJkIGFuZCB3aGVuIGdldHRp
bmcgdGhlCm5laWdoYm91cnMgb2YgYSBidXR0b24sIGFzIHdlIGRvbid0IHdhbnQgdG8gdXNl
IGNvb3JkaW5hdGVzIGluIHRoZQptYWluIGxvb3AsIG9ubHkgdGhlIGJ1dHRvbiBvYmplY3Qg
aXRzZWxmIHNob3VsZCBiZSByZWZlcmVuY2VkLiBPZgpjb3Vyc2UgdGhlIHVzZSBvZiB0aGlz
IGZ1bmN0aW9uIGNvdWxkIGJlIGF2b2lkZWQgaW4KeG1pbmUtZ2V0LW5laWdoYm91cnMgYnkg
c3RvcmluZyB0aGUgbmVpZ2hib3VyIGJ1dHRvbnMgZGlyZWN0bHkgaW4gdGhlCmJ1dHRvbiwg
YnV0IHRoaXMgc2VlbXMgdG8gYmUgYml0IG92ZXJoZWxtZWQgZm9yIHRoaXMgbGl0dGxlIGdh
bWUuIgogIChpZiAob3IgKD4geCB4bWluZS1pbnQtd2lkdGgpICAoPCB4IDEpCgkgICg+IHkg
eG1pbmUtaW50LWhlaWdodCkgKDwgeSAxKSkgbmlsCiAgICAoYXJlZiB4bWluZS1maWVsZCAo
KyAoKiAoMS0geSkgeG1pbmUtaW50LXdpZHRoKSAoMS0geCkpKSkpCgooZGVmdW4geG1pbmUt
bW9kZSAoKQoiQSBtb2RlIGZvciBwbGF5aW5nIHRoZSB3ZWxsIGtub3duIG1pbmUgc2VhcmNo
aW5nIGdhbWUuIEl0CmN1cnJlbnRseSBydW5zIHVuZGVyIFguIERpc3BsYXlpbmcgdW5kZXIg
YSB0dHkgaXMgd29ya2luZywgYnV0IHRoZXJlCmlzIG5vIGtleSBoYW5kbGluZy4gWW91IG5l
ZWQgYSBtb3VzZSB0byBwbGF5IFhFbWFjcyB4bWluZSBjdXJyZW50bHkuIFNvcnJ5LgoKICAg
QnV0dG9uMSB1bmhpZGVzIGEgdGlsZSwKICAgQnV0dG9uMiB1bmhpZGVzIGFsbCBuZWlnaGJv
dXJzIG9mIGEgdGlsZSwKICAgQnV0dG9uMyBmbGFnZ2VzIGEgYnV0dG9uIHRvIGhvbGQgYSB0
aWxlLgoKSGF2ZSBGdW4uIgogIChpbnRlcmFjdGl2ZSkKICAoeG1pbmUtZmllbGQtY3JlYXRl
KSkKCihmc2V0ICd4bWluZSAneG1pbmUtbW9kZSkKCihkZWZ1biB4bWluZS1maWVsZC1jcmVh
dGUgKCkKICAiV2UgY3JlYXRlIHRoZSBwbGF5aW5nIGJvYXJkIGhlcmUuIgogIChsZXQgKCh3
aWR0aCAxKSAoaGVpZ2h0IDEpIHRvdGFsKQogICAgKHhtaW5lLWJ1ZmZlci1pbml0KQogICAg
KHN3aXRjaC10by1idWZmZXIgeG1pbmUtYnVmZmVyKQogICAgKHNldHEgdG90YWwgKCogeG1p
bmUtaW50LWhlaWdodCB4bWluZS1pbnQtd2lkdGgpKQogICAgKHNldHEgeG1pbmUtZmllbGQg
KG1ha2UtdmVjdG9yIHRvdGFsIG5pbCkpCiAgICAoeG1pbmUtaW5pdC1taW5lcwogICAgIChz
ZXRxIHhtaW5lLW51bWJlci1vZi1taW5lcwoJICAgKG1pbiA5OSAocm91bmQgKCogKC8gKGZs
b2F0IHhtaW5lLSUtb2YtbWluZXMpIDEwMCkgdG90YWwpKSkpKQogICAgKGluc2VydC1zdHJp
bmcgIlxuIikKICAgIChzZXQtZXh0ZW50LWVuZC1nbHlwaCAobWFrZS1leHRlbnQgKHBvaW50
KSAocG9pbnQpKQoJCQkgIChtYWtlLWdseXBoCgkJCSAgIChpZiAoZXEgd2luZG93LXN5c3Rl
bSAneCkKCQkJICAgICAgIChjb25jYXQgeG1pbmUtZ2x5cGgtZGlyICJzcGxhc2gueHBtIikK
CQkJICAgICAiICAgICAtLS0tLS0tLSBYRW1hY3MgeG1pbmUgLS0tLS0tLS0iKSkpCiAgICAo
aW5zZXJ0LXN0cmluZyAiXG5cbiIpCiAgICAod2hpbGUgKDw9IGhlaWdodCB4bWluZS1pbnQt
aGVpZ2h0KQogICAgICAod2hpbGUgKDw9IHdpZHRoIHhtaW5lLWludC13aWR0aCkKCShpZiAo
eG1pbmUtZmllbGQtYnV0dG9uLWF0IHdpZHRoIGhlaWdodCkKCSAgICAoeG1pbmUtYnV0dG9u
LWNyZWF0ZSB3aWR0aCBoZWlnaHQgIm1pbmUiKQoJICAoeG1pbmUtYnV0dG9uLWNyZWF0ZSB3
aWR0aCBoZWlnaHQgIjAiKSkKCShzZXRxIHdpZHRoICgrIHdpZHRoIDEpKSkKICAgICAgKGlu
c2VydC1zdHJpbmcgIlxuIikKICAgICAgKHNldHEgd2lkdGggMSkKICAgICAgKHNldHEgaGVp
Z2h0ICgrIGhlaWdodCAxKSkpCiAgICAoaW5zZXJ0LXN0cmluZyAiXG4iKQogICAgKHNldC1l
eHRlbnQtYmVnaW4tZ2x5cGggKG1ha2UtZXh0ZW50IChwb2ludCkgKHBvaW50KSkKCQkJICAo
bWFrZS1nbHlwaAoJCQkgICAoaWYgKGVxIHdpbmRvdy1zeXN0ZW0gJ3gpCgkJCSAgICAgICAo
Y29uY2F0IHhtaW5lLWdseXBoLWRpciAicGFkLnhwbSIpCgkJCSAgICAgIiAgICAgICIpKSkK
ICAgIChzZXRxIHhtaW5lLW5ldy1hbm4KCSAgKG1ha2UtYW5ub3RhdGlvbiB4bWluZS1uZXct
dXAgbmlsCgkJCSAgICd0ZXh0IG5pbCBuaWwgeG1pbmUtbmV3LWRvd24gbmlsKSkKICAgIChz
ZXQtZXh0ZW50LXByb3BlcnR5IHhtaW5lLW5ldy1hbm4gJ2FjdGlvbjEgJyhsYW1iZGEgKCZy
ZXN0IGVnYWwpCgkJCQkJCSAgICh4bWluZS1maWVsZC1jcmVhdGUpKSkKICAgIChzZXQtZXh0
ZW50LXByb3BlcnR5IHhtaW5lLW5ldy1hbm4gJ2FjdGlvbjIgbmlsKQogICAgKHNldC1leHRl
bnQtYmVnaW4tZ2x5cGggKG1ha2UtZXh0ZW50IChwb2ludCkgKHBvaW50KSkKCQkJICAobWFr
ZS1nbHlwaAoJCQkgICAoaWYgKGVxIHdpbmRvdy1zeXN0ZW0gJ3gpCgkJCSAgICAgICAoY29u
Y2F0IHhtaW5lLWdseXBoLWRpciAicGFkLnhwbSIpCgkJCSAgICAgIiAgICAgICIpKSkKICAg
IChzZXRxIHhtaW5lLWNvdW50LWFubgoJICAobWFrZS1hbm5vdGF0aW9uIHhtaW5lLWNvdW50
LWdseXBoIG5pbAoJCQkgICAndGV4dCBuaWwgbmlsIG5pbCBuaWwpKQogICAgKHNldC1leHRl
bnQtYmVnaW4tZ2x5cGggKG1ha2UtZXh0ZW50IChwb2ludCkgKHBvaW50KSkKCQkJICAobWFr
ZS1nbHlwaAoJCQkgICAoaWYgKGVxIHdpbmRvdy1zeXN0ZW0gJ3gpCgkJCSAgICAgICAoY29u
Y2F0IHhtaW5lLWdseXBoLWRpciAicGFkLnhwbSIpCgkJCSAgICAgIiAgICAgIikpKQogICAg
KHNldHEgeG1pbmUtcXVpdC1hbm4KCSAgKG1ha2UtYW5ub3RhdGlvbiB4bWluZS1xdWl0LXVw
IG5pbAoJCQkgICAndGV4dCBuaWwgbmlsIHhtaW5lLXF1aXQtZG93biBuaWwpKQogICAgKHNl
dC1leHRlbnQtcHJvcGVydHkgeG1pbmUtcXVpdC1hbm4gJ2FjdGlvbjEKCQkJICcobGFtYmRh
ICgmcmVzdCBlZ2FsKQoJCQkgICAgKGtpbGwtYnVmZmVyIChjdXJyZW50LWJ1ZmZlcikpKSkK
ICAgIChzZXQtZXh0ZW50LXByb3BlcnR5IHhtaW5lLXF1aXQtYW5uICdhY3Rpb24yIG5pbCkK
ICAgICh4bWluZS1hdHRhY2gtbnVtYmVycykKICAgIChzZXRxIHhtaW5lLW51bWJlci1vZi1m
bGFnZ2VkIDApCiAgICAoc2V0cSB4bWluZS1udW1iZXItb2Ytb3BlbmVkIDApCiAgICAoc2V0
LWFubm90YXRpb24tZ2x5cGggeG1pbmUtY291bnQtYW5uCgkJCSAgKG1ha2UtZ2x5cGgKCQkJ
ICAgKGZvcm1hdCAiTWluZXM6ICUyZCIgeG1pbmUtbnVtYmVyLW9mLW1pbmVzKSkpCiAgICAo
Z290by1jaGFyIChwb2ludC1taW4pKQogICAgKHNldHEgYnVmZmVyLXJlYWQtb25seSAndCkp
KQoKCihkZWZ1biB4bWluZS1pbml0LW1pbmVzIChudW0pCiAgIkEgc3Vicm91dGluZSBmb3Ig
eG1pbmUtZmllbGQgY3JlYXRlLgpXZSByYW5kb21seSBzZXQgYSBwYXJ0IG9mIHRoZSBuaWwt
ZmlsbGVkIGJvYXJkIHZlY3RvciB3aXRoIHQgdG8KaW5kaWNhdGUgdGhlIHBsYWNlcyB3aGVy
ZSBtaW5lcyBzaG91bGQgcmVzaWRlLiIKICAobGV0ICh4IHkgZWxlbSkKICAgIChyYW5kb20g
dCkKICAgICh3aGlsZSAoPiBudW0gMCkKICAgICAgKHNldHEgeCAoMSsgKHJhbmRvbSB4bWlu
ZS1pbnQtd2lkdGgpKSkKICAgICAgKHNldHEgeSAoMSsgKHJhbmRvbSB4bWluZS1pbnQtaGVp
Z2h0KSkpCiAgICAgIChzZXRxIGVsZW0gKHhtaW5lLWZpZWxkLWJ1dHRvbi1hdCB4IHkpKQog
ICAgICAoaWYgKG5vdCBlbGVtKQoJICAocHJvZ24KCSAgICAoYXNldCB4bWluZS1maWVsZCAo
KyAoKiAoMS0geSkgeG1pbmUtaW50LXdpZHRoKSAoMS0geCkpIHQpCgkgICAgKHNldHEgbnVt
ICgxLSBudW0pKSkpKSkpCgkKKGRlZnVuIHhtaW5lLWF0dGFjaC1udW1iZXJzICgpCiAgIkEg
c3Vicm91dGluZSBmb3IgeG1pbmUtZmllbGQtY3JlYXRlLgpUaGUgYm9hcmQgaXMgcG9wdWxh
dGVkIGJ5IG5vdyB3aXRoIGVtcHR5IGJ1dHRvbnMgYW5kIG1pbmVzLiBIZXJlIHdlCmNoYW5n
ZSB0aGUgY29ycmVjdCBlbXB0eSBidXR0b25zIHRvIFwibnVtYmVyZWRcIiBidXR0b25zIgog
IChsZXQgCiAgICAgICgoYnV0dG9ucyAoYXBwZW5kIHhtaW5lLWZpZWxkIG5pbCkpCiAgICAg
ICBleHQpCiAgICAod2hpbGUgKHNldHEgZXh0IChwb3AgYnV0dG9ucykpCiAgICAgIChsZXQg
KChudW0gMCkKCSAgICAobWluZXAgKHhtaW5lLW1pbmUtYnV0dG9uLXAgZXh0KSkKCSAgICAo
bmVpZ2hib3VycyAoeG1pbmUtZ2V0LW5laWdoYm91cnMgZXh0KSkKCSAgICBuZXh0KQoJKGlm
IChub3QgbWluZXApCgkgICAgKHByb2duCgkgICAgICAod2hpbGUgKHNldHEgbmV4dCAocG9w
IG5laWdoYm91cnMpKQoJCShpZiAoeG1pbmUtbWluZS1idXR0b24tcCBuZXh0KSAoc2V0cSBu
dW0gKDErIG51bSkpKSkKCSAgICAgIChpZiAoPiBudW0gMCkKCQkgICh4bWluZS1idXR0b24t
Y2hhbmdlLXR5cGUgZXh0IChudW1iZXItdG8tc3RyaW5nIG51bSkpKSkpKSkpKQoKCSAgICAK
KGRlZnVuIHhtaW5lLWJ1ZmZlci1pbml0ICgpCiAgIkEgc3Vicm91dGluZSBmb3IgeG1pbmUt
Y3JlYXRlLWZpZWxkLgpXZSBzZXQgdXAgdGhlIFhNaW5lIGJ1ZmZlciwgc2V0IHVwIHRoZSBr
ZXltYXAgYW5kIHNvIG9uLiIKICAobGV0KiAoKHgtcGl4IChmcmFtZS1waXhlbC13aWR0aCkp
CgkgKHktcGl4IChmcmFtZS1waXhlbC1oZWlnaHQpKQoJICh4LW1heC1lbGVtcyAoLyB4LXBp
eCAxNikpCgkgKHktbWF4LWVsZW1zICgvIHktcGl4IDE2KSkpCiAgICAoc2V0cSB4bWluZS1p
bnQtd2lkdGgKCSAgKGlmIChlcSB3aW5kb3ctc3lzdGVtICd4KSAobWluIHhtaW5lLXdpZHRo
IHgtbWF4LWVsZW1zKQoJICAgIHhtaW5lLXdpZHRoKSkKICAgIChzZXRxIHhtaW5lLWludC1o
ZWlnaHQKCSAgKGlmIChlcSB3aW5kb3ctc3lzdGVtICd4KSAobWluIHhtaW5lLWhlaWdodCB5
LW1heC1lbGVtcykKCSAgICB4bWluZS1oZWlnaHQpKQogICAgKGlmIHhtaW5lLWJ1ZmZlciAo
a2lsbC1idWZmZXIgeG1pbmUtYnVmZmVyKSkKICAgIChzZXRxIHhtaW5lLWJ1ZmZlciAoZ2V0
LWJ1ZmZlci1jcmVhdGUgIlhFbWFjcyBNaW5lIikpCiAgICAoc2F2ZS1leGN1cnNpb24KICAg
ICAgKHNldC1idWZmZXIgeG1pbmUtYnVmZmVyKQogICAgICAoa2lsbC1hbGwtbG9jYWwtdmFy
aWFibGVzKQogICAgICAobWFrZS1sb2NhbC12YXJpYWJsZSAnYW5ub3RhdGlvbi1sb2NhbC1t
YXAtZGVmYXVsdCkKICAgICAgKHNldHEgdHJ1bmNhdGUtbGluZXMgJ3QpCiAgICAgIChzZXRx
IG1ham9yLW1vZGUgJ3htaW5lLW1vZGUpCiAgICAgIChzZXRxIG1vZGUtbmFtZSAiWE1pbmUi
KQogICAgICAocHV0ICd4bWluZS1tb2RlICdtb2RlLWNsYXNzICdzcGVjaWFsKQogICAgICAo
YnVmZmVyLWRpc2FibGUtdW5kbyAoY3VycmVudC1idWZmZXIpKQogICAgICAoc2V0cSBhbm5v
dGF0aW9uLWxvY2FsLW1hcC1kZWZhdWx0CgkgICAgKGxldCAoKG1hcCAobWFrZS1zcGFyc2Ut
a2V5bWFwKSkpCgkgICAgICAoc2V0LWtleW1hcC1uYW1lIG1hcCAnYW5ub3RhdGlvbi1sb2Nh
bC1tYXApCgkgICAgICAoZGVmaW5lLWtleSBtYXAgJ2J1dHRvbjEgJ3htaW5lLWFjdGl2YXRl
LWZ1bmN0aW9uLWJ1dHRvbjEpCgkgICAgICAoZGVmaW5lLWtleSBtYXAgJ2J1dHRvbjIgJ3ht
aW5lLWFjdGl2YXRlLWZ1bmN0aW9uLWJ1dHRvbjIpCgkgICAgICAoZGVmaW5lLWtleSBtYXAg
J2J1dHRvbjMgJ3htaW5lLWFjdGl2YXRlLWZ1bmN0aW9uLWJ1dHRvbjMpCgkgICAgICBtYXAp
KQogICAgICAocnVuLWhvb2tzICd4bWluZS1tb2RlLWhvb2spKSkpCgoK

--Multipart_Mon_Mar_17_21:34:09_1997-1
Content-Type: text/plain; charset=US-ASCII



--Multipart_Mon_Mar_17_21:34:09_1997-1--

