From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 6056 invoked by alias); 27 Jun 2003 14:27:23 -0000 Mailing-List: contact guile-gtk-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: guile-gtk-owner@sources.redhat.com Received: (qmail 6049 invoked from network); 27 Jun 2003 14:27:21 -0000 Received: from unknown (HELO amsfep12-int.chello.nl) (213.46.243.18) by sources.redhat.com with SMTP; 27 Jun 2003 14:27:21 -0000 Received: from pablo.altosw.be ([62.205.73.200]) by amsfep12-int.chello.nl (InterMail vM.5.01.05.17 201-253-122-126-117-20021021) with SMTP id <20030627142719.JMO6336.amsfep12-int.chello.nl@pablo.altosw.be>; Fri, 27 Jun 2003 16:27:19 +0200 Date: Fri, 27 Jun 2003 14:27:00 -0000 From: Stan Pinte To: guile-gtk Cc: Marius Vollmer Subject: build-guile-gtk-1.2 bug Message-Id: <20030627162525.18a3bf7c.stan@altosw.be> Organization: Alto Software Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="Multipart_Fri__27_Jun_2003_16:25:25_+0200_08333f68" X-SW-Source: 2003-q2/txt/msg00154.txt.bz2 This is a multi-part message in MIME format. --Multipart_Fri__27_Jun_2003_16:25:25_+0200_08333f68 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Content-length: 830 hello, I am trying to streamline the gnome.defs file, so that I only keep what runs and compile without segfault. However, when manipulating the following gnome.defs file, I get strange behaviour from build-guile-gtk-1.2: It re-defines a function, which make problems for the compilation: gnome-glue.c:898: error: redefinition of `s_gnome_canvas_points_intern' gnome-glue.c:836: error: `s_gnome_canvas_points_intern' previously defined here gnome-glue.c:902: error: redefinition of `sgtk_gnome_canvas_points_intern' gnome-glue.c:840: error: `sgtk_gnome_canvas_points_intern' previously defined here make[4]: *** [gnome-glue.lo] Erreur 1 Any one ever seen this? thanks, Stan. To reproduce the problem, just take the current gnome-guile-0.1 in Savannah CVS (hasn't changed for a month) and use the attached gnome.defs file. --Multipart_Fri__27_Jun_2003_16:25:25_+0200_08333f68 Content-Type: application/octet-stream; name="gnome.defs" Content-Disposition: attachment; filename="gnome.defs" Content-Transfer-Encoding: base64 Content-length: 42424 Ozs7IC0qLSBzY2hlbWUgLSotCjs7OyBnbm9tZS5kZWZzIC0gRXhwb3J0IEdu b21lIGludGVyZmFjZXMgdG8gR3VpbGUuCjs7OyAKOzs7IENvcHlyaWdodCAo QykgMTk5OCBUb20gVHJvbWV5Cjs7OyAKOzs7IFRoaXMgcHJvZ3JhbSBpcyBm cmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3Ig bW9kaWZ5Cjs7OyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5l cmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQo7OzsgdGhlIEZy ZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiwgb3Ig KGF0IHlvdXIgb3B0aW9uKQo7OzsgYW55IGxhdGVyIHZlcnNpb24uCjs7OyAK Ozs7IFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0 aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAo7OzsgYnV0IFdJVEhPVVQgQU5ZIFdB UlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YK Ozs7IE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM QVIgUFVSUE9TRS4gIFNlZSB0aGUKOzs7IEdOVSBHZW5lcmFsIFB1YmxpYyBM aWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCjs7OyAKOzs7IFlvdSBzaG91bGQg aGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1Ymxp YyBMaWNlbnNlCjs7OyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90 LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQo7OzsgRm91bmRhdGlvbiwg SW5jLiwgNTkgVGVtcGxlIFBsYWNlIC0gU3VpdGUgMzMwLCBCb3N0b24sIE1B Cjs7OyAwMjExMS0xMzA3LCBVU0EuICAqLwoKKGltcG9ydCAiZ3RrLTEuMi5k ZWZzIikKCjs7Cjs7IEdub21lIHV0aWwuCjs7CgooZGVmaW5lLWZ1bmMgZ25v bWVfbGliZGlyX2ZpbGUKICBzdHJpbmcKICAoKHN0cmluZyBmaWxlbmFtZSkp KQoKKGRlZmluZS1mdW5jIGdub21lX2RhdGFkaXJfZmlsZQogIHN0cmluZwog ICgoc3RyaW5nIGZpbGVuYW1lKSkpCgooZGVmaW5lLWZ1bmMgZ25vbWVfcGl4 bWFwX2ZpbGUKICBzdHJpbmcKICAoKHN0cmluZyBmaWxlbmFtZSkpKQoKKGRl ZmluZS1mdW5jIGdub21lX3VuY29uZGl0aW9uYWxfbGliZGlyX2ZpbGUKICBz dHJpbmcKICAoKHN0cmluZyBmaWxlbmFtZSkpKQoKKGRlZmluZS1mdW5jIGdu b21lX3VuY29uZGl0aW9uYWxfZGF0YWRpcl9maWxlCiAgc3RyaW5nCiAgKChz dHJpbmcgZmlsZW5hbWUpKSkKCihkZWZpbmUtZnVuYyBnbm9tZV91bmNvbmRp dGlvbmFsX3BpeG1hcF9maWxlCiAgc3RyaW5nCiAgKChzdHJpbmcgZmlsZW5h bWUpKSkKCjs7Cjs7IEdub21lIGNvbmZpZy4KOzsKCjsgKGRlZmluZS1mdW5j IGdub21lX2NvbmZpZ19nZXRfc3RyaW5nCjsgICBzdHJpbmcKOyAgICgoc3Ry aW5nIHBhdGgpKSkKCjsgKGRlZmluZS1mdW5jIGdub21lX2NvbmZpZ19nZXRf c3RyaW5nX3dpdGhfZGVmYXVsdAo7ICAgKHN0cmluZyAodmFsdWVzIChkZWYp KSkKOyAgICgoc3RyaW5nIHBhdGgpIChib29sIGRlZikpKQoKOyAoZGVmaW5l LWZ1bmMgZ25vbWVfY29uZmlnX2dldF90cmFuc2xhdGVkX3N0cmluZwo7ICAg c3RyaW5nCjsgICAoKHN0cmluZyBwYXRoKSkpCgo7IChkZWZpbmUtZnVuYyBn bm9tZV9jb25maWdfZ2V0X3RyYW5zbGF0ZWRfc3RyaW5nX3dpdGhfZGVmYXVs dAo7ICAgKHN0cmluZyAodmFsdWVzIChkZWYpKSkKOyAgICgoc3RyaW5nIHBh dGgpIChib29sIGRlZikpKQoKOyAoZGVmaW5lLWZ1bmMgZ25vbWVfY29uZmln X2dldF9pbnQKOyAgIGludAo7ICAgKChzdHJpbmcgcGF0aCkpKQoKOyAoZGVm aW5lLWZ1bmMgZ25vbWVfY29uZmlnX2dldF9pbnRfd2l0aF9kZWZhdWx0Cjsg ICAoaW50ICh2YWx1ZXMgKGRlZikpKQo7ICAgKChzdHJpbmcgcGF0aCkgKGJv b2wgZGVmKSkpCgo7IChkZWZpbmUtZnVuYyBnbm9tZV9jb25maWdfZ2V0X2Jv b2wKOyAgIGJvb2wKOyAgICgoc3RyaW5nIHBhdGgpKSkKCjsgKGRlZmluZS1m dW5jIGdub21lX2NvbmZpZ19nZXRfYm9vbF93aXRoX2RlZmF1bHQKOyAgIChi b29sICh2YWx1ZXMgKGRlZikpKQo7ICAgKChzdHJpbmcgcGF0aCkgKGJvb2wg ZGVmKSkpCgo7IChkZWZpbmUtZnVuYyBnbm9tZV9jb25maWdfZ2V0X2Zsb2F0 CjsgICBkb3VibGUKOyAgICgoc3RyaW5nIHBhdGgpKSkKCjsgKGRlZmluZS1m dW5jIGdub21lX2NvbmZpZ19nZXRfZmxvYXRfd2l0aF9kZWZhdWx0CjsgICAo ZG91YmxlICh2YWx1ZXMgKGRlZikpKQo7ICAgKChzdHJpbmcgcGF0aCkgKGJv b2wgZGVmKSkpCgo7IChkZWZpbmUtZnVuYyBnbm9tZV9jb25maWdfZ2V0X3Zl Y3Rvcgo7ICAgKG5vbmUgKHZhbHVlcyAodmVjdCkpKQo7ICAgKChzdHJpbmcg cGF0aCkgKChjdmVjIHN0cmluZykgdmVjdCkpKQoKOyAoZGVmaW5lLWZ1bmMg Z25vbWVfY29uZmlnX2dldF92ZWN0b3Jfd2l0aF9kZWZhdWx0CjsgICAobm9u ZSAodmFsdWVzICh2ZWN0IGRlZikpKQo7ICAgKChzdHJpbmcgcGF0aCkgKChj dmVjIHN0cmluZykgdmVjdCkgKGJvb2wgZGVmKSkpCgo7IChkZWZpbmUtZnVu YyBnbm9tZV9jb25maWdfcHJpdmF0ZV9nZXRfc3RyaW5nCjsgICBzdHJpbmcK OyAgICgoc3RyaW5nIHBhdGgpKSkKCjsgKGRlZmluZS1mdW5jIGdub21lX2Nv bmZpZ19wcml2YXRlX2dldF9zdHJpbmdfd2l0aF9kZWZhdWx0CjsgICAoc3Ry aW5nICh2YWx1ZXMgKGRlZikpKQo7ICAgKChzdHJpbmcgcGF0aCkgKGJvb2wg ZGVmKSkpCgo7IChkZWZpbmUtZnVuYyBnbm9tZV9jb25maWdfcHJpdmF0ZV9n ZXRfdHJhbnNsYXRlZF9zdHJpbmcKOyAgIHN0cmluZwo7ICAgKChzdHJpbmcg cGF0aCkpKQoKOyAoZGVmaW5lLWZ1bmMgZ25vbWVfY29uZmlnX3ByaXZhdGVf Z2V0X3RyYW5zbGF0ZWRfc3RyaW5nX3dpdGhfZGVmYXVsdAo7ICAgKHN0cmlu ZyAodmFsdWVzIChkZWYpKSkKOyAgICgoc3RyaW5nIHBhdGgpIChib29sIGRl ZikpKQoKOyAoZGVmaW5lLWZ1bmMgZ25vbWVfY29uZmlnX3ByaXZhdGVfZ2V0 X2ludAo7ICAgaW50CjsgICAoKHN0cmluZyBwYXRoKSkpCgo7IChkZWZpbmUt ZnVuYyBnbm9tZV9jb25maWdfcHJpdmF0ZV9nZXRfaW50X3dpdGhfZGVmYXVs dAo7ICAgKGludCAodmFsdWVzIChkZWYpKSkKOyAgICgoc3RyaW5nIHBhdGgp IChib29sIGRlZikpKQoKOyAoZGVmaW5lLWZ1bmMgZ25vbWVfY29uZmlnX3By aXZhdGVfZ2V0X2Jvb2wKOyAgIGJvb2wKOyAgICgoc3RyaW5nIHBhdGgpKSkK CjsgKGRlZmluZS1mdW5jIGdub21lX2NvbmZpZ19wcml2YXRlX2dldF9ib29s X3dpdGhfZGVmYXVsdAo7ICAgKGJvb2wgKHZhbHVlcyAoZGVmKSkpCjsgICAo KHN0cmluZyBwYXRoKSAoYm9vbCBkZWYpKSkKCjsgKGRlZmluZS1mdW5jIGdu b21lX2NvbmZpZ19wcml2YXRlX2dldF9mbG9hdAo7ICAgZG91YmxlCjsgICAo KHN0cmluZyBwYXRoKSkpCgo7IChkZWZpbmUtZnVuYyBnbm9tZV9jb25maWdf cHJpdmF0ZV9nZXRfZmxvYXRfd2l0aF9kZWZhdWx0CjsgICAoZG91YmxlICh2 YWx1ZXMgKGRlZikpKQo7ICAgKChzdHJpbmcgcGF0aCkgKGJvb2wgZGVmKSkp Cgo7IChkZWZpbmUtZnVuYyBnbm9tZV9jb25maWdfcHJpdmF0ZV9nZXRfdmVj dG9yCjsgICAobm9uZSAodmFsdWVzICh2ZWN0KSkpCjsgICAoKHN0cmluZyBw YXRoKSAoKGN2ZWMgc3RyaW5nKSB2ZWN0KSkpCgo7IChkZWZpbmUtZnVuYyBn bm9tZV9jb25maWdfcHJpdmF0ZV9nZXRfdmVjdG9yX3dpdGhfZGVmYXVsdAo7 ICAgKG5vbmUgKHZhbHVlcyAodmVjdCBkZWYpKSkKOyAgICgoc3RyaW5nIHBh dGgpICgoY3ZlYyBzdHJpbmcpIHZlY3QpIChib29sIGRlZikpKQoKOyAoZGVm aW5lLWZ1bmMgZ25vbWVfY29uZmlnX3NldF9zdHJpbmcKOyAgIG5vbmUKOyAg ICgoc3RyaW5nIHBhdGgpCjsgICAgKHN0cmluZyB2YWx1ZSkpKQoKOyAoZGVm aW5lLWZ1bmMgZ25vbWVfY29uZmlnX3NldF90cmFuc2xhdGVkX3N0cmluZwo7 ICAgbm9uZQo7ICAgKChzdHJpbmcgcGF0aCkKOyAgICAoc3RyaW5nIHZhbHVl KSkpCgo7IChkZWZpbmUtZnVuYyBnbm9tZV9jb25maWdfc2V0X2ludAo7ICAg bm9uZQo7ICAgKChzdHJpbmcgcGF0aCkKOyAgICAoaW50IHZhbHVlKSkpCgo7 IChkZWZpbmUtZnVuYyBnbm9tZV9jb25maWdfc2V0X2Zsb2F0CjsgICBub25l CjsgICAoKHN0cmluZyBwYXRoKQo7ICAgIChkb3VibGUgdmFsdWUpKSkKCjsg KGRlZmluZS1mdW5jIGdub21lX2NvbmZpZ19zZXRfYm9vbAo7ICAgbm9uZQo7 ICAgKChzdHJpbmcgcGF0aCkKOyAgICAoYm9vbCB2YWx1ZSkpKQoKOyA7Oyhk ZWZpbmUtZnVuYyBnbm9tZV9jb25maWdfc2V0X3ZlY3Rvcgo7IDs7ICBub25l CjsgOzsgICgoc3RyaW5nIHBhdGgpCjsgOzsgICAoKGN2ZWMgc3RyaW5nKSB2 YWx1ZXMpKSkKCjsgKGRlZmluZS1mdW5jIGdub21lX2NvbmZpZ19wcml2YXRl X3NldF9zdHJpbmcKOyAgIG5vbmUKOyAgICgoc3RyaW5nIHBhdGgpCjsgICAg KHN0cmluZyB2YWx1ZSkpKQoKOyAoZGVmaW5lLWZ1bmMgZ25vbWVfY29uZmln X3ByaXZhdGVfc2V0X3RyYW5zbGF0ZWRfc3RyaW5nCjsgICBub25lCjsgICAo KHN0cmluZyBwYXRoKQo7ICAgIChzdHJpbmcgdmFsdWUpKSkKCjsgKGRlZmlu ZS1mdW5jIGdub21lX2NvbmZpZ19wcml2YXRlX3NldF9pbnQKOyAgIG5vbmUK OyAgICgoc3RyaW5nIHBhdGgpCjsgICAgKGludCB2YWx1ZSkpKQoKOyAoZGVm aW5lLWZ1bmMgZ25vbWVfY29uZmlnX3ByaXZhdGVfc2V0X2Zsb2F0CjsgICBu b25lCjsgICAoKHN0cmluZyBwYXRoKQo7ICAgIChkb3VibGUgdmFsdWUpKSkK CjsgKGRlZmluZS1mdW5jIGdub21lX2NvbmZpZ19wcml2YXRlX3NldF9ib29s CjsgICBub25lCjsgICAoKHN0cmluZyBwYXRoKQo7ICAgIChib29sIHZhbHVl KSkpCgo7IDs7KGRlZmluZS1mdW5jIGdub21lX2NvbmZpZ19wcml2YXRlX3Nl dF92ZWN0b3IKOyA7OyAgbm9uZQo7IDs7ICAoKHN0cmluZyBwYXRoKQo7IDs7 ICAgKChjdmVjIHN0cmluZykgdmFsdWVzKSkpCgoKCjsgOyAoaWYgZ25vbWUt Y29uZmlnLXR5cG8KOyA7ICAgICAoKQo7IDsgICAgICgoZGVmaW5lLWZ1bmMg Z25vbWVfY29uZmlnX2hhc19zZWN0aW9uCjsgOyAgICAgICAgYm9vbAo7IDsg ICAgICAgICgoc3RyaW5nIFBhdGgpKSkpKQoKOyAoZGVmaW5lLWZ1bmMgZ25v bWVfY29uZmlnX3ByaXZhdGVfaGFzX3NlY3Rpb24KOyAgIGJvb2wKOyAgICgo c3RyaW5nIFBhdGgpKSkKCjsgKGRlZmluZS1mdW5jIGdub21lX2NvbmZpZ19k cm9wX2FsbAo7ICAgbm9uZQo7ICAgKCkpCgo7IChkZWZpbmUtZnVuYyBnbm9t ZV9jb25maWdfc3luYwo7ICAgbm9uZQo7ICAgKCkpCgo7IChkZWZpbmUtZnVu YyBnbm9tZV9jb25maWdfc3luY19maWxlCjsgICBub25lCjsgICAoKHN0cmlu ZyBwYXRoKSkpCgo7IChkZWZpbmUtZnVuYyBnbm9tZV9jb25maWdfcHJpdmF0 ZV9zeW5jX2ZpbGUKOyAgIG5vbmUKOyAgICgoc3RyaW5nIHBhdGgpKSkKCjsg KGRlZmluZS1mdW5jIGdub21lX2NvbmZpZ19kcm9wX2ZpbGUKOyAgIG5vbmUK OyAgICgoc3RyaW5nIHBhdGgpKSkKCjsgKGRlZmluZS1mdW5jIGdub21lX2Nv bmZpZ19wcml2YXRlX2Ryb3BfZmlsZQo7ICAgbm9uZQo7ICAgKChzdHJpbmcg cGF0aCkpKQoKOyAoZGVmaW5lLWZ1bmMgZ25vbWVfY29uZmlnX2NsZWFuX2Zp bGUKOyAgIG5vbmUKOyAgICgoc3RyaW5nIHBhdGgpKSkKCjsgKGRlZmluZS1m dW5jIGdub21lX2NvbmZpZ19wcml2YXRlX2NsZWFuX2ZpbGUKOyAgIG5vbmUK OyAgICgoc3RyaW5nIHBhdGgpKSkKCjsgKGRlZmluZS1mdW5jIGdub21lX2Nv bmZpZ19jbGVhbl9zZWN0aW9uCjsgICBub25lCjsgICAoKHN0cmluZyBwYXRo KSkpCgo7IDsgKGlmIGdub21lLWNvbmZpZy10eXBvCjsgOyAgICAgKCkKOyA7 ICAgICAoKGRlZmluZS1mdW5jIGdub21lX2NvbmZpZ19wcml2YXRlX2NsZWFu X3NlY3Rpb24KOyA7ICAgICAgICBub25lCjsgOyAgICAgICAgKChzdHJpbmcg cGF0aCkpKSkpCgo7IChkZWZpbmUtZnVuYyBnbm9tZV9jb25maWdfY2xlYW5f a2V5CjsgICBub25lCjsgICAoKHN0cmluZyBwYXRoKSkpCgo7IChkZWZpbmUt ZnVuYyBnbm9tZV9jb25maWdfcHJpdmF0ZV9jbGVhbl9rZXkKOyAgIG5vbmUK OyAgICgoc3RyaW5nIHBhdGgpKSkKCjsgKGRlZmluZS1mdW5jIGdub21lX2Nv bmZpZ19nZXRfcmVhbF9wYXRoCjsgICBzdHJpbmcKOyAgICgoc3RyaW5nIHBh dGgpKSkKCjsgKGRlZmluZS1mdW5jIGdub21lX2NvbmZpZ19wcml2YXRlX2dl dF9yZWFsX3BhdGgKOyAgIHN0cmluZwo7ICAgKChzdHJpbmcgcGF0aCkpKQoK OyAoZGVmaW5lLWZ1bmMgZ25vbWVfY29uZmlnX3B1c2hfcHJlZml4CjsgICBu b25lCjsgICAoKHN0cmluZyBwYXRoKSkpCgo7IChkZWZpbmUtZnVuYyBnbm9t ZV9jb25maWdfcG9wX3ByZWZpeAo7ICAgbm9uZQo7ICAgKCkpCgo7IDs7KGRl ZmluZS1mdW5jIGdub21lX2NvbmZpZ19tYWtlX3ZlY3Rvcgo7IDs7ICAobm9u ZSAodmFsdWVzICh2ZWN0KSkpCjsgOzsgICgoc3RyaW5nIHZhbCkgKChjdmVj IHN0cmluZykgdmVjdCkpKQoKOyA7OyhkZWZpbmUtZnVuYyBnbm9tZV9jb25m aWdfYXNzZW1ibGVfdmVjdG9yCjsgOzsgIHN0cmluZwo7IDs7ICAoKChjdmVj IHN0cmluZykgdmVjdCkpKQoKOyA7OyBnbm9tZS1hbmltYXRvcgoKOyAoZGVm aW5lLW9iamVjdCBHbm9tZUFuaW1hdG9yIChHdGtXaWRnZXQpKQoKOyAoZGVm aW5lLWVudW0gR25vbWVBbmltYXRvclN0YXR1cwo7ICAgKHN0b3BwZWQgR05P TUVfQU5JTUFUT1JfU1RBVFVTX1NUT1BQRUQpCjsgICAocnVubmluZyBHTk9N RV9BTklNQVRPUl9TVEFUVVNfUlVOTklORykpCgo7IChkZWZpbmUtZW51bSAg R25vbWVBbmltYXRvckxvb3BUeXBlCjsgICAobm9uZSBHTk9NRV9BTklNQVRP Ul9MT09QX05PTkUpCjsgICAocmVzdGFydCBHTk9NRV9BTklNQVRPUl9MT09Q X1JFU1RBUlQpCjsgICAocGluZy1wb25nIEdOT01FX0FOSU1BVE9SX0xPT1Bf UElOR19QT05HKSkKCjsgKGRlZmluZS1mdW5jIGdub21lX2FuaW1hdG9yX25l d193aXRoX3NpemUgICAgICAgICAgICAgICAKOyAgIEd0a1dpZGdldAo7ICAg KCh1aW50IHdpZHRoKQo7ICAgICh1aW50IGhlaWdodCkpKQoKOyAoZGVmaW5l LWZ1bmMgZ25vbWVfYW5pbWF0b3Jfc2V0X2xvb3BfdHlwZSAgICAgICAgICAg ICAgICAgCjsgICBub25lCjsgICAoKEdub21lQW5pbWF0b3IgYW5pbWF0b3Ip CjsgICAgKEdub21lQW5pbWF0b3JMb29wVHlwZSBsb29wX3R5cGUpKSkKCjsg KGRlZmluZS1mdW5jIGdub21lX2FuaW1hdG9yX2dldF9sb29wX3R5cGUgICAg CjsgICBHbm9tZUFuaW1hdG9yTG9vcFR5cGUKOyAgICgoR25vbWVBbmltYXRv ciBhbmltYXRvcikpKQoKOyAoZGVmaW5lLWZ1bmMgZ25vbWVfYW5pbWF0b3Jf c2V0X3BsYXliYWNrX2RpcmVjdGlvbiAgICAgICAgCjsgICBub25lCjsgICAo KEdub21lQW5pbWF0b3IgYW5pbWF0b3IpCjsgICAgKGludCBwbGF5YmFja19k aXJlY3Rpb24pKSkKCjsgKGRlZmluZS1mdW5jIGdub21lX2FuaW1hdG9yX2dl dF9wbGF5YmFja19kaXJlY3Rpb24gICAgICAgIAo7ICAgaW50CjsgICAoKEdu b21lQW5pbWF0b3IgYW5pbWF0b3IpKSkKCjsgOzsoZGVmaW5lLWZ1bmMgZ25v bWVfYW5pbWF0b3JfYXBwZW5kX2ZyYW1lX2Zyb21faW1saWJfYXRfc2l6ZSAK OyA7OyAgYm9vbAo7IDs7ICAoKEdub21lQW5pbWF0b3IgYW5pbWF0b3IpCjsg OzsgICAoR2RrSW1saWJJbWFnZSBpbWFnZSkKOyA7OyAgIChpbnQgeC1vZmZz ZXQpCjsgOzsgICAoaW50IHktb2Zmc2V0KQo7IDs7ICAgKHVpbnQgaW50ZXJ2 YWwpCjsgOzsgICAodWludCB3aWR0aCkKOyA7OyAgICh1aW50IGhlaWdodCkp KQoKOyA7OyhkZWZpbmUtZnVuYyBnbm9tZV9hbmltYXRvcl9hcHBlbmRfZnJh bWVfZnJvbV9pbWxpYiAgICAgICAKOyA7OyAgYm9vbAo7IDs7ICAoKEdub21l QW5pbWF0b3IgYW5pbWF0b3IpCjsgOzsgICAoR2RrSW1saWJJbWFnZSBpbWFn ZSkKOyA7OyAgIChpbnQgeC1vZmZzZXQpCjsgOzsgICAoaW50IHktb2Zmc2V0 KQo7IDs7ICAgKHVpbnQgaW50ZXJ2YWwpKSkKCjsgKGRlZmluZS1mdW5jIGdu b21lX2FuaW1hdG9yX2FwcGVuZF9mcmFtZV9mcm9tX2ZpbGVfYXRfc2l6ZSAK OyAgIGJvb2wKOyAgICgoR25vbWVBbmltYXRvciBhbmltYXRvcikKOyAgICAo c3RyaW5nIG5hbWUpCjsgICAgKGludCB4X29mZnNldCkKOyAgICAoaW50IHlf b2Zmc2V0KQo7ICAgICh1aW50IGludGVydmFsKQo7ICAgICh1aW50IHdpZHRo KQo7ICAgICh1aW50IGhlaWdodCkpKQo7IDs7CjsgOzsgZ25vbWUtZGVudHJ5 CjsgOzsKCjsgKGRlZmluZS1ib3hlZCBHbm9tZURlc2t0b3BFbnRyeQo7ICAg KGNvcHkgZ25vbWVfZGVza3RvcF9lbnRyeV9jb3B5KQo7ICAgKGZyZWUgZ25v bWVfZGVza3RvcF9lbnRyeV9kZXN0cm95KSkKCjsgKGRlZmluZS1mdW5jIGdu b21lX2Rlc2t0b3BfZW50cnlfbG9hZAo7ICAgR25vbWVEZXNrdG9wRW50cnkK OyAgICgoc3RyaW5nIGZpbGUpKSkKCjsgKGRlZmluZS1mdW5jIGdub21lX2Rl c2t0b3BfZW50cnlfbG9hZF9mbGFncwo7ICAgR25vbWVEZXNrdG9wRW50cnkK OyAgICgoc3RyaW5nIGZpbGUpIChib29sIGNsZWFuKSkpCgo7IChkZWZpbmUt ZnVuYyBnbm9tZV9kZXNrdG9wX2VudHJ5X2xvYWRfZmxhZ3NfY29uZGl0aW9u YWwKOyAgIEdub21lRGVza3RvcEVudHJ5CjsgICAoKHN0cmluZyBmaWxlKSAo Ym9vbCBjbGVhbikgKGJvb2wgdW5jb25kKSkpCgo7IChkZWZpbmUtZnVuYyBn bm9tZV9kZXNrdG9wX2VudHJ5X2xvYWRfdW5jb25kaXRpb25hbAo7ICAgR25v bWVEZXNrdG9wRW50cnkKOyAgICgoc3RyaW5nIGZpbGUpKSkKCjsgKGRlZmlu ZS1mdW5jIGdub21lX2Rlc2t0b3BfZW50cnlfc2F2ZQo7ICAgbm9uZQo7ICAg KChHbm9tZURlc2t0b3BFbnRyeSBlbnRyeSkpKQoKOyAoZGVmaW5lLWZ1bmMg Z25vbWVfZGVza3RvcF9lbnRyeV9sYXVuY2gKOyAgIG5vbmUKOyAgICgoR25v bWVEZXNrdG9wRW50cnkgaXRlbSkpKQoKOyAoZGVmaW5lLWZ1bmMgZ25vbWVf ZGVza3RvcF9lbnRyeV9sYXVuY2hfd2l0aF9hcmdzCjsgICBub25lCjsgICAo KEdub21lRGVza3RvcEVudHJ5IGl0ZW0pIAo7ICAgICgoY3ZlYyBzdHJpbmcp IGFyZ3MpKSkKCjsgKGRlZmluZS1mdW5jIGdub21lX2lzX3Byb2dyYW1faW5f cGF0aAo7ICAgc3RyaW5nCjsgICAoKHN0cmluZyBwcm9ncmFtKSkpCgo7IDs7 CjsgOzsgZ25vbWUtZXhlYwo7IDs7IFllcywgSSBrbm93IGl0IHByb2JhYmx5 IGR1cGxpY2F0ZXMgc29tZSBHdWlsZSBmdW5jdGlvbmFsaXR5LCBidXQgaW4g YW4KOyA7OyBleHRlbnNpb24gbGFuZ3VhZ2UsIHRoaW5ncyBkb24ndCBoYXZl IHRvIGJlIGRvYWJsZSBqdXN0IG9uZSB3YXkuIDopCjsgOzsKCjsgKGRlZmlu ZS1mdW5jIGdub21lX2V4ZWN1dGVfYXN5bmMKOyAgIGludAo7ICAgKChzdHJp bmcgZGlyKSAKOyAgICAoKGN2ZWMgc3RyaW5nKSBhcmdzKSkpCgo7IChkZWZp bmUtZnVuYyBnbm9tZV9leGVjdXRlX2FzeW5jX2Zkcwo7ICAgaW50CjsgICAo KHN0cmluZyBkaXIpICgoY3ZlYyBzdHJpbmcpIGFyZ3MpIChib29sIGNsb3Nl X2ZkcykpKQoKOyAoZGVmaW5lLWZ1bmMgZ25vbWVfZXhlY3V0ZV9hc3luY193 aXRoX2Vudgo7ICAgaW50CjsgICAoKHN0cmluZyBkaXIpICgoY3ZlYyBzdHJp bmcpIGFyZ3MpICgoY3ZlYyBzdHJpbmcpIGVudikpKQoKOyAoZGVmaW5lLWZ1 bmMgZ25vbWVfZXhlY3V0ZV9hc3luY193aXRoX2Vudl9mZHMKOyAgIGludAo7 ICAgKChzdHJpbmcgZGlyKSAoKGN2ZWMgc3RyaW5nKSBhcmdzKSAoKGN2ZWMg c3RyaW5nKSBlbnYpIChib29sIGNsb3NlX2ZkcykpKQoKOyAoZGVmaW5lLWZ1 bmMgZ25vbWVfZXhlY3V0ZV9zaGVsbAo7ICAgaW50CjsgICAoKHN0cmluZyBk aXIpIChzdHJpbmcgY29tbWFuZCkpKQoKOyAoZGVmaW5lLWZ1bmMgZ25vbWVf ZXhlY3V0ZV9zaGVsbF9mZHMKOyAgIGludAo7ICAgKChzdHJpbmcgZGlyKSAo c3RyaW5nIGNvbW1hbmQpIChib29sIGNsb3NlX2ZkcykpKQoKOyA7Owo7IDs7 IGdub21lLWZpbGVjb252ZXJ0CjsgOzsKCjsgKGRlZmluZS1mdW5jIGdub21l X2ZpbGVfY29udmVydF9mZAo7ICAgZmlsZS1kZXNjcmlwdG9yCjsgICAoKGZp bGUtZGVzY3JpcHRvciBmZCkgKHN0cmluZyBmcm9tdHlwZSkgKHN0cmluZyB0 b3R5cGUpKSkKCjsgKGRlZmluZS1mdW5jIGdub21lX2ZpbGVfY29udmVydAo7 ICAgZmlsZS1kZXNjcmlwdG9yCjsgICAoKHN0cmluZyBmaWxlbmFtZSkgKHN0 cmluZyBmcm9tdHlwZSkgKHN0cmluZyB0b3R5cGUpKSkKCjsgOzsKOyA7OyBn bm9tZS1oZWxwCjsgOzsKCjsgKGRlZmluZS1mdW5jIGdub21lX2hlbHBfZmls ZV9maW5kX2ZpbGUKOyAgIHN0cmluZwo7ICAgKChzdHJpbmcgYXBwKSAoc3Ry aW5nIGZpbGUpKSkKCjsgKGRlZmluZS1mdW5jIGdub21lX2hlbHBfZmlsZV9w YXRoCjsgICBzdHJpbmcKOyAgICgoc3RyaW5nIGFwcCkgKHN0cmluZyBmaWxl KSkpCgo7IChkZWZpbmUtZnVuYyBnbm9tZV9oZWxwX2dvdG9fZmlsZQo7ICAg bm9uZQo7ICAgKChzdHJpbmcgcGF0aCkpKQoKOyA7Owo7IDs7IEdub21lQXBw Lgo7IDs7Cgo7IChkZWZpbmUtb2JqZWN0IEdub21lQXBwIChHdGtXaW5kb3cp KQoKOyAoZGVmaW5lLWZ1bmMgZ25vbWVfYXBwX25ldwo7ICAgR3RrV2lkZ2V0 CjsgICAoKHN0cmluZyBhcHBuYW1lKQo7ICAgIChzdHJpbmcgdGl0bGUpKSkK CjsgKGRlZmluZS1mdW5jIGdub21lX2FwcF9zZXRfbWVudXMKOyAgIG5vbmUK OyAgICgoR25vbWVBcHAgYXBwKQo7ICAgIChHdGtNZW51QmFyIG1lbnViYXIp KSkKCjsgKGRlZmluZS1mdW5jIGdub21lX2FwcF9zZXRfdG9vbGJhcgo7ICAg bm9uZQo7ICAgKChHbm9tZUFwcCBhcHApCjsgICAgKEd0a1Rvb2xiYXIgdG9v bGJhcikpKQoKOyAoZGVmaW5lLWZ1bmMgZ25vbWVfYXBwX3NldF9zdGF0dXNi YXIKOyAgIG5vbmUKOyAgICgoR25vbWVBcHAgYXBwKQo7ICAgIChHdGtXaWRn ZXQgc3RhdHVzYmFyKSkpCgo7IChkZWZpbmUtZnVuYyBnbm9tZV9hcHBfc2V0 X3N0YXR1c2Jhcl9jdXN0b20KOyAgIG5vbmUKOyAgICgoR25vbWVBcHAgYXBw KQo7ICAgIChHdGtXaWRnZXQgY29udGFpbmVyKQo7ICAgIChHdGtXaWRnZXQg c3RhdHVzYmFyKSkpCgo7IChkZWZpbmUtZnVuYyBnbm9tZV9hcHBfc2V0X2Nv bnRlbnRzCjsgICBub25lCjsgICAoKEdub21lQXBwIGFwcCkKOyAgICAoR3Rr V2lkZ2V0IGNvbnRlbnRzKSkpCgo7IChkZWZpbmUtZW51bSBHbm9tZURvY2tJ dGVtQmVoYXZpb3IKOyAgIChub3JtYWwgR05PTUVfRE9DS19JVEVNX0JFSF9O T1JNQUwpCjsgICAoZXhjbHVzaXZlIEdOT01FX0RPQ0tfSVRFTV9CRUhfRVhD TFVTSVZFKQo7ICAgKGZsb2F0aW5nIEdOT01FX0RPQ0tfSVRFTV9CRUhfTkVW RVJfRkxPQVRJTkcpCjsgICAodmVydGljYWwgR05PTUVfRE9DS19JVEVNX0JF SF9ORVZFUl9WRVJUSUNBTCkKOyAgIChob3Jpem9udGFsIEdOT01FX0RPQ0tf SVRFTV9CRUhfTkVWRVJfSE9SSVpPTlRBTCkKOyAgIChsb2NrZWQgR05PTUVf RE9DS19JVEVNX0JFSF9MT0NLRUQpKQoKOyAoZGVmaW5lLWVudW0gR25vbWVE b2NrUGxhY2VtZW50CjsgICAodG9wIEdOT01FX0RPQ0tfVE9QKQo7ICAgKHJp Z2h0IEdOT01FX0RPQ0tfUklHSFQpCjsgICAoYm90dG9tIEdOT01FX0RPQ0tf Qk9UVE9NKQo7ICAgKGxlZnQgR05PTUVfRE9DS19MRUZUKQo7ICAgKGZsb2F0 aW5nIEdOT01FX0RPQ0tfRkxPQVRJTkcpKQoKOyAoZGVmaW5lLWZ1bmMgZ25v bWVfYXBwX2FkZF90b29sYmFyCjsgICBub25lCjsgICAoKEdub21lQXBwIGFw cCkKOyAgICAoR3RrVG9vbGJhciB0b29sYmFyKQo7ICAgIChzdHJpbmcgbmFt ZSkKOyAgICAoR25vbWVEb2NrSXRlbUJlaGF2aW9yIGJlaGF2aW9yKQo7ICAg IChHbm9tZURvY2tQbGFjZW1lbnQgcGxhY2VtZW50KQo7ICAgIChpbnQgYmFu ZF9udW0pCjsgICAgKGludCBiYW5kX3Bvc2l0aW9uKQo7ICAgIChpbnQgb2Zm c2V0KSkpCgo7IChkZWZpbmUtZnVuYyBnbm9tZV9hcHBfYWRkX2RvY2tlZAo7 ICAgbm9uZQo7ICAgKChHbm9tZUFwcCBhcHApCjsgICAgKEd0a1dpZGdldCB3 aWRnZXQpCjsgICAgKHN0cmluZyBuYW1lKQo7ICAgIChHbm9tZURvY2tJdGVt QmVoYXZpb3IgYmVoYXZpb3IpCjsgICAgKEdub21lRG9ja1BsYWNlbWVudCBw bGFjZW1lbnQpCjsgICAgKGludCBiYW5kX251bSkKOyAgICAoaW50IGJhbmRf cG9zaXRpb24pCjsgICAgKGludCBvZmZzZXQpKSkKCjsgKGRlZmluZS1vYmpl Y3QgR25vbWVEb2NrSXRlbSAoR3RrT2JqZWN0KQo7ICAgOzsgRklYTUU6IG5v IGNvbnRlbnRzCjsgKQoKOyAoZGVmaW5lLW9iamVjdCBHbm9tZURvY2sgKEd0 a0NvbnRhaW5lcikKOyAgIDs7IEZJWE1FOiBubyBjb250ZW50cwo7ICkKCjsg KGRlZmluZS1mdW5jIGdub21lX2FwcF9hZGRfZG9ja19pdGVtCjsgICBub25l CjsgICAoKEdub21lQXBwIGFwcCkKOyAgICAoR25vbWVEb2NrSXRlbSBpdGVt KQo7ICAgIChHbm9tZURvY2tQbGFjZW1lbnQgcGxhY2VtZW50KQo7ICAgIChp bnQgYmFuZF9udW0pCjsgICAgKGludCBiYW5kX3Bvc2l0aW9uKQo7ICAgIChp bnQgb2Zmc2V0KSkpCgo7IChkZWZpbmUtZnVuYyBnbm9tZV9hcHBfZW5hYmxl X2xheW91dF9jb25maWcKOyAgIG5vbmUKOyAgICgoR25vbWVBcHAgYXBwKQo7 ICAgIChib29sIGVuYWJsZSkpKQoKOyAoZGVmaW5lLWZ1bmMgZ25vbWVfYXBw X2dldF9kb2NrCjsgICBHbm9tZURvY2sKOyAgICgoR25vbWVBcHAgYXBwKSkp Cgo7IChkZWZpbmUtZnVuYyBnbm9tZV9hcHBfZ2V0X2RvY2tfaXRlbV9ieV9u YW1lCjsgICBHbm9tZURvY2tJdGVtCjsgICAoKEdub21lQXBwIGFwcCkgKHN0 cmluZyBuYW1lKSkpCgo7IDs7IEdub21lRGlhbG9nCgo7IChkZWZpbmUtb2Jq ZWN0IEdub21lRGlhbG9nIChHdGtXaW5kb3cpKQoKOyA7OyhkZWZpbmUtZnVu YyAgZ25vbWVfZGlhbG9nX25ld3YgICAgICAgICAgIAo7IDs7ICBHdGtXaWRn ZXQKOyA7OyAgKChzdHJpbmcgdGl0bGUpCjsgOzsgICAoKGN2ZWMgc3RyaW5n KSBidXR0b25zKSkpCgo7IChkZWZpbmUtZnVuYyBnbm9tZV9kaWFsb2dfcnVu CjsgICBpbnQKOyAgICgoR25vbWVEaWFsb2cgZGlhbG9nKSkpCgo7IChkZWZp bmUtZnVuYyBnbm9tZV9kaWFsb2dfcnVuX2FuZF9jbG9zZQo7ICAgaW50Cjsg ICAoKEdub21lRGlhbG9nIGRpYWxvZykpKQoKOyAoZGVmaW5lLWZ1bmMgZ25v bWVfZGlhbG9nX3NldF9kZWZhdWx0ICAgIAo7ICAgbm9uZQo7ICAgKChHbm9t ZURpYWxvZyBkaWFsb2cpCjsgICAgKGludCBidXR0b24pKSkKCjsgKGRlZmlu ZS1mdW5jIGdub21lX2RpYWxvZ19jbG9zZSAKOyAgIG5vbmUKOyAgICgoR25v bWVEaWFsb2cgZGlhbG9nKSkpCiAgIAo7IChkZWZpbmUtZnVuYyBnbm9tZV9k aWFsb2dfY2xvc2VfaGlkZXMgCjsgICBub25lCjsgICAoKEdub21lRGlhbG9n IGRpYWxvZykKOyAgICAoYm9vbCBqdXN0X2hpZGUpKSkKICAKOyAoZGVmaW5l LWZ1bmMgZ25vbWVfZGlhbG9nX2VkaXRhYmxlX2VudGVycyAgIAo7ICAgbm9u ZQo7ICAgKChHbm9tZURpYWxvZyBkaWFsb2cpCjsgICAgKEd0a0VkaXRhYmxl IGVkaXRhYmxlKSkpCgoKOyAoZGVmaW5lLWZ1bmMgZ25vbWVfZGlhbG9nX2Fw cGVuZF9idXR0b24gICAKOyAgIG5vbmUKOyAgICgoR25vbWVEaWFsb2cgZGlh bG9nKQo7ICAgIChzdHJpbmcgbmFtZSkpKQoKOyA7OyhkZWZpbmUtZnVuYyBn bm9tZV9kaWFsb2dfYXBwZW5kX2J1dHRvbnN2IAo7IDs7ICBub25lCjsgOzsg ICgoR25vbWVEaWFsb2cgZGlhbG9nKSAgCjsgOzsgICAoKGZ2ZWMgc3RyaW5n KSBidXR0b25zKSkpICAgCgoKOyA7OyBHbm9tZUFib3V0Cgo7IChkZWZpbmUt b2JqZWN0IEdub21lQWJvdXQgKEdub21lRGlhbG9nKSkKCjsgOzsoZGVmaW5l LWZ1bmMgZ25vbWVfYWJvdXRfbmV3CjsgOzsgIEd0a1dpZGdldAo7IDs7ICAo KHN0cmluZyB0aXRsZSkKOyA7OyAgIChzdHJpbmcgdmVyc2lvbikKOyA7OyAg IChzdHJpbmcgY29weXJpZ2h0KQo7IDs7ICAgKChjdmVjIHN0cmluZykgYXV0 aG9ycykKOyA7OyAgIChzdHJpbmcgY29tbWVudHMpCjsgOzsgICAoc3RyaW5n IGxvZ28pKSkKCjsgOzsoZGVmaW5lLWZ1bmMgZ25vbWVfYWJvdXRfY29uc3Ry dWN0CjsgOzsgIG5vbmUKOyA7OyAgKChHbm9tZUFib3V0IGFib3V0KQo7IDs7 ICAgKHN0cmluZyB0aXRsZSkKOyA7OyAgIChzdHJpbmcgdmVyc2lvbikKOyA7 OyAgIChzdHJpbmcgY29weXJpZ2h0KQo7IDs7ICAgKChjdmVjIHN0cmluZykg YXV0aG9ycykKOyA7OyAgIChzdHJpbmcgY29tbWVudHMpCjsgOzsgICAoc3Ry aW5nIGxvZ28pKSkKCjsgOzsgR25vbWVDYWxjdWxhdG9yCgo7IChkZWZpbmUt b2JqZWN0IEdub21lQ2FsY3VsYXRvciAoR3RrVkJveCkpCgo7IChkZWZpbmUt ZnVuYyBnbm9tZV9jYWxjdWxhdG9yX25ldwo7ICAgR3RrV2lkZ2V0CjsgICAo KSkKCjsgKGRlZmluZS1mdW5jIGdub21lX2NhbGN1bGF0b3JfY2xlYXIKOyAg IG5vbmUKOyAgICgoR25vbWVDYWxjdWxhdG9yIGdjKQo7ICAgIChib29sIHJl c2V0KSkpCgo7IChkZWZpbmUtZnVuYyBnbm9tZV9jYWxjdWxhdG9yX3NldAo7 ICAgbm9uZQo7ICAgKChHbm9tZUNhbGN1bGF0b3IgZ2MpCjsgICAgKGZsb2F0 IHJlc3VsdCkpKQoKOyA7OyBHdGtDbG9jawoKOyAoZGVmaW5lLW9iamVjdCBH dGtDbG9jayAoR3RrTGFiZWwpKQoKOyAoZGVmaW5lLWVudW0gR3RrQ2xvY2tU eXBlCjsgICAoaW5jcmVhc2luZyBHVEtfQ0xPQ0tfSU5DUkVBU0lORykKOyAg IChkZWNyZWFzaW5nIEdUS19DTE9DS19ERUNSRUFTSU5HKQo7ICAgKHJlYWx0 aW1lIEdUS19DTE9DS19SRUFMVElNRSkpCgo7IChkZWZpbmUtZnVuYyBndGtf Y2xvY2tfbmV3CjsgICBHdGtXaWRnZXQKOyAgICgoR3RrQ2xvY2tUeXBlIHR5 cGUpKSkKCjsgKGRlZmluZS1mdW5jIGd0a19jbG9ja19zZXRfZm9ybWF0Cjsg ICBub25lCjsgICAoKEd0a0Nsb2NrIGdsb2NrKQo7ICAgIChzdHJpbmcgZm10 KSkpCgo7IChkZWZpbmUtZnVuYyBndGtfY2xvY2tfc2V0X3NlY29uZHMKOyAg IG5vbmUKOyAgICgoR3RrQ2xvY2sgZ2Nsb2NrKQo7ICAgIChpbnQgc2Vjb25k cykpKQoKOyAoZGVmaW5lLWZ1bmMgZ3RrX2Nsb2NrX3NldF91cGRhdGVfaW50 ZXJ2YWwKOyAgIG5vbmUKOyAgICgoR3RrQ2xvY2sgZ2Nsb2NrKQo7ICAgIChp bnQgc2Vjb25kcykpKQoKOyAoZGVmaW5lLWZ1bmMgZ3RrX2Nsb2NrX3N0YXJ0 CjsgICBub25lCjsgICAoKEd0a0Nsb2NrIGdjbG9jaykpKQoKOyAoZGVmaW5l LWZ1bmMgZ3RrX2Nsb2NrX3N0b3AKOyAgIG5vbmUKOyAgICgoR3RrQ2xvY2sg Z2Nsb2NrKSkpCgo7IDs7CjsgOzsgSGlzdG9yeS4KOyA7OyBGSVhNRTogb3Ro ZXIgZnVuY3Rpb25zIGRvbmUgYnkgaGFuZCBkdWUgdG8gYnVpbGQtZ3VpbGUt Z3RrIGxpbWl0YXRpb25zLgo7IDs7Cgo7IChkZWZpbmUtZnVuYyBnbm9tZV9o aXN0b3J5X3JlY2VudGx5X3VzZWQKOyAgIG5vbmUKOyAgICgoc3RyaW5nIGZp bGVuYW1lKQo7ICAgIChzdHJpbmcgZmlsZXR5cGUpCjsgICAgKHN0cmluZyBj cmVhdG9yKQo7ICAgIChzdHJpbmcgZGVzYykpKQoKOyA7OyBnbm9tZS1lbnRy eQoKOyAoZGVmaW5lLW9iamVjdCBHbm9tZUVudHJ5IChHdGtDb21ibykpCgo7 IChkZWZpbmUtZnVuYyBnbm9tZV9lbnRyeV9uZXcgICAgICAgICAgICAgCjsg ICBHdGtXaWRnZXQKOyAgICgoc3RyaW5nIGhpc3RvcnlfaWQpKSkKCjsgKGRl ZmluZS1mdW5jIGdub21lX2VudHJ5X2d0a19lbnRyeSAgICAgICAKOyAgIEd0 a1dpZGdldAo7ICAgKChHbm9tZUVudHJ5IGdlbnRyeSkpKQoKOyAoZGVmaW5l LWZ1bmMgZ25vbWVfZW50cnlfc2V0X2hpc3RvcnlfaWQgIAo7ICAgbm9uZQo7 ICAgKChHbm9tZUVudHJ5IGdlbnRyeSkKOyAgICAoc3RyaW5nIGhpc3Rvcnlf aWQpKSkKCjsgKGRlZmluZS1mdW5jIGdub21lX2VudHJ5X3NldF9tYXhfc2F2 ZWQgICAKOyAgIG5vbmUJCjsgICAoKEdub21lRW50cnkgZ2VudHJ5KQo7ICAg ICh1aW50IG1heF9zYXZlZCkpKQoKOyAoZGVmaW5lLWZ1bmMgZ25vbWVfZW50 cnlfcHJlcGVuZF9oaXN0b3J5IAo7ICAgbm9uZQo7ICAgKChHbm9tZUVudHJ5 IGdlbnRyeSkKOyAgICAoaW50IHNhdmUpCjsgICAgKHN0cmluZyB0ZXh0KSkp Cgo7IChkZWZpbmUtZnVuYyBnbm9tZV9lbnRyeV9hcHBlbmRfaGlzdG9yeSAg CjsgICBub25lCjsgICAoKEdub21lRW50cnkgZ2VudHJ5KQo7ICAgIChpbnQg c2F2ZSkKOyAgICAoc3RyaW5nIHRleHQpKSkKCjsgKGRlZmluZS1mdW5jIGdu b21lX2VudHJ5X2xvYWRfaGlzdG9yeSAgICAKOyAgIG5vbmUKOyAgICgoR25v bWVFbnRyeSBnZW50cnkpKSkKCjsgKGRlZmluZS1mdW5jIGdub21lX2VudHJ5 X3NhdmVfaGlzdG9yeSAgICAKOyAgIG5vbmUKOyAgICgoR25vbWVFbnRyeSBn ZW50cnkpKSkKCjsgOzsgZ25vbWUtZGF0ZWVkaXQuaAoKOyAoZGVmaW5lLW9i amVjdCBHbm9tZURhdGVFZGl0IChHdGtIQm94KSkKCjsgKGRlZmluZS1lbnVt IEdub21lRGF0ZUVkaXRGbGFnCjsgICAoc2hvdy10aW1lIEdOT01FX0RBVEVf RURJVF9TSE9XX1RJTUUpCjsgICAoMjQtaHIgR05PTUVfREFURV9FRElUXzI0 X0hSKQo7ICAgKG9uLW1vbmRheSBHTk9NRV9EQVRFX0VESVRfV0VFS19TVEFS VFNfT05fTU9OREFZKSkKCjsgKGRlZmluZS1mdW5jIGdub21lX2RhdGVfZWRp dF9uZXcgICAgICAgICAgICAKOyAgIEd0a1dpZGdldAo7ICAgKChpbnQgdGhl X3RpbWUpCjsgICAgKGludCBzaG93X3RpbWUpCjsgICAgKGludCB1c2VfMjRf Zm9ybWF0KSkpCgo7IDs7KGRlZmluZS1mdW5jIGdub21lX2RhdGVfZWRpdF9u ZXdfZmxhZ3MgICAgICAKOyA7OyAgR3RrV2lkZ2V0CjsgOzsgICgoaW50IHRo ZV90aW1lKQo7IDs7ICAgKEdub21lRGF0ZUVkaXRGbGFncyBmbGFncykpKQoK OyAoZGVmaW5lLWZ1bmMgZ25vbWVfZGF0ZV9lZGl0X3NldF90aW1lICAgICAg ICAKOyAgIG5vbmUKOyAgICgoR25vbWVEYXRlRWRpdCBnZGUpCjsgICAgKGlu dCB0aGVfdGltZSkpKQoKOyAoZGVmaW5lLWZ1bmMgZ25vbWVfZGF0ZV9lZGl0 X3NldF9wb3B1cF9yYW5nZSAKOyAgIG5vbmUKOyAgICgoR25vbWVEYXRlRWRp dCBnZGUpCjsgICAgKGludCBsb3dfaG91cikKOyAgICAoaW50IHVwX2hvdXIp KSkKCjsgKGRlZmluZS1mdW5jIGdub21lX2RhdGVfZWRpdF9nZXRfZGF0ZSAg ICAgICAgCjsgICBpbnQKOyAgICgoR25vbWVEYXRlRWRpdCBnZGUpKSkKCjsg OzsoZGVmaW5lLWZ1bmMgZ25vbWVfZGF0ZV9lZGl0X3NldF9mbGFncyAgICAg ICAKOyA7OyAgbm9uZQo7IDs7ICAoKEdub21lRGF0ZUVkaXQgIGdkZSkKOyA7 OyAgIChHbm9tZURhdGVFZGl0RmxhZ3MgZmxhZ3MpKSkKCjsgKGRlZmluZS1m dW5jIGdub21lX2RhdGVfZWRpdF9nZXRfZmxhZ3MgICAgICAgCjsgICBpbnQK OyAgICgoR25vbWVEYXRlRWRpdCBnZGUpKSkKCjsgOzsgR25vbWVEZW50cnkK CjsgKGRlZmluZS1vYmplY3QgR25vbWVERW50cnlFZGl0IChHdGtPYmplY3Qp CjsgICAoZmllbGRzCjsgICAgKEd0a1dpZGdldCBjaGlsZDEpCjsgICAgKEd0 a1dpZGdldCBjaGlsZDIpKSkKCjsgKGRlZmluZS1mdW5jIGdub21lX2RlbnRy eV9lZGl0X25ldwo7ICAgR3RrT2JqZWN0CjsgICAoKSkKCjsgKGRlZmluZS1m dW5jIGdub21lX2RlbnRyeV9lZGl0X25ld19ub3RlYm9vawo7ICAgR3RrT2Jq ZWN0CjsgICAoKEd0a05vdGVib29rIG5vdGVib29rKSkpCgo7IChkZWZpbmUt ZnVuYyBnbm9tZV9kZW50cnlfZWRpdF9jbGVhcgo7ICAgbm9uZQo7ICAgKChH bm9tZURFbnRyeUVkaXQgZGVlKSkpCgo7IChkZWZpbmUtZnVuYyBnbm9tZV9k ZW50cnlfZWRpdF9sb2FkX2ZpbGUKOyAgIG5vbmUKOyAgICgoR25vbWVERW50 cnlFZGl0IGRlZSkKOyAgICAoc3RyaW5nIHBhdGgpKSkKCjsgKGRlZmluZS1m dW5jIGdub21lX2RlbnRyeV9lZGl0X3NldF9kZW50cnkKOyAgIG5vbmUKOyAg ICgoR25vbWVERW50cnlFZGl0IGRlZSkKOyAgICAoR25vbWVEZXNrdG9wRW50 cnkgZGVudHJ5KSkpCgo7IChkZWZpbmUtZnVuYyBnbm9tZV9kZW50cnlfZWRp dF9nZXRfZGVudHJ5CjsgICBHbm9tZURlc2t0b3BFbnRyeQo7ICAgKChHbm9t ZURFbnRyeUVkaXQgZGVlKSkpCgo7IChkZWZpbmUtZnVuYyBnbm9tZV9kZW50 cnlfZ2V0X2RlbnRyeQo7ICAgR25vbWVEZXNrdG9wRW50cnkKOyAgICgoR25v bWVERW50cnlFZGl0IGRlZSkpKQoKOyAoZGVmaW5lLWZ1bmMgZ25vbWVfZGVu dHJ5X2VkaXRfZ2V0X2ljb24KOyAgIHN0cmluZwo7ICAgKChHbm9tZURFbnRy eUVkaXQgZGVlKSkpCgo7IChkZWZpbmUtZnVuYyBnbm9tZV9kZW50cnlfZWRp dF9nZXRfbmFtZQo7ICAgc3RyaW5nCjsgICAoKEdub21lREVudHJ5RWRpdCBk ZWUpKSkKCjsgKGRlZmluZS1mdW5jIGdub21lX2RlbnRyeV9nZXRfbmFtZV9l bnRyeQo7ICAgR3RrV2lkZ2V0CjsgICAoKEdub21lREVudHJ5RWRpdCBkZWUp KSkKCjsgKGRlZmluZS1mdW5jIGdub21lX2RlbnRyeV9nZXRfY29tbWVudF9l bnRyeQo7ICAgR3RrV2lkZ2V0CjsgICAoKEdub21lREVudHJ5RWRpdCBkZWUp KSkKCjsgKGRlZmluZS1mdW5jIGdub21lX2RlbnRyeV9nZXRfZXhlY19lbnRy eQo7ICAgR3RrV2lkZ2V0CjsgICAoKEdub21lREVudHJ5RWRpdCBkZWUpKSkK CjsgKGRlZmluZS1mdW5jIGdub21lX2RlbnRyeV9nZXRfdHJ5ZXhlY19lbnRy eQo7ICAgR3RrV2lkZ2V0CjsgICAoKEdub21lREVudHJ5RWRpdCBkZWUpKSkK CjsgKGRlZmluZS1mdW5jIGdub21lX2RlbnRyeV9nZXRfZG9jX2VudHJ5Cjsg ICBHdGtXaWRnZXQKOyAgICgoR25vbWVERW50cnlFZGl0IGRlZSkpKQoKOyAo ZGVmaW5lLWZ1bmMgZ25vbWVfZGVudHJ5X2dldF9pY29uX2VudHJ5CjsgICBH dGtXaWRnZXQKOyAgICgoR25vbWVERW50cnlFZGl0IGRlZSkpKQoKOyA7Owo7 IDs7IFN0b2NrIHdpZGdldHMuCjsgOzsKCjsgKGRlZmluZS1zdHJpbmctZW51 bSBHbm9tZVN0b2NrQnV0dG9uTmFtZVR5cGUKOyAgIChvayBHTk9NRV9TVE9D S19CVVRUT05fT0spCjsgICAoY2FuY2VsIEdOT01FX1NUT0NLX0JVVFRPTl9D QU5DRUwpCjsgICAoeWVzIEdOT01FX1NUT0NLX0JVVFRPTl9ZRVMpCjsgICAo bm8gR05PTUVfU1RPQ0tfQlVUVE9OX05PKQo7ICAgKGNsb3NlIEdOT01FX1NU T0NLX0JVVFRPTl9DTE9TRSkKOyAgIChhcHBseSBHTk9NRV9TVE9DS19CVVRU T05fQVBQTFkpCjsgICAoaGVscCBHTk9NRV9TVE9DS19CVVRUT05fSEVMUCkp Cgo7IChkZWZpbmUtc3RyaW5nLWVudW0gR25vbWVTdG9ja01lbnVOYW1lVHlw ZQo7ICAgKGJsYW5rIEdOT01FX1NUT0NLX01FTlVfQkxBTkspCjsgICAobmV3 IEdOT01FX1NUT0NLX01FTlVfTkVXKQo7ICAgKHNhdmUgR05PTUVfU1RPQ0tf TUVOVV9TQVZFKQo7ICAgKHNhdmUtYXMgR05PTUVfU1RPQ0tfTUVOVV9TQVZF X0FTKQo7ICAgKG9wZW4gR05PTUVfU1RPQ0tfTUVOVV9PUEVOKQo7ICAgKHF1 aXQgR05PTUVfU1RPQ0tfTUVOVV9RVUlUKQo7ICAgKGN1dCBHTk9NRV9TVE9D S19NRU5VX0NVVCkKOyAgIChjb3B5IEdOT01FX1NUT0NLX01FTlVfQ09QWSkK OyAgIChwYXN0ZSBHTk9NRV9TVE9DS19NRU5VX1BBU1RFKQo7ICAgKHByb3Ag R05PTUVfU1RPQ0tfTUVOVV9QUk9QKQo7ICAgKHByZWYgR05PTUVfU1RPQ0tf TUVOVV9QUkVGKQo7ICAgKGFib3V0IEdOT01FX1NUT0NLX01FTlVfQUJPVVQp CjsgICAoc2NvcmVzIEdOT01FX1NUT0NLX01FTlVfU0NPUkVTKQo7ICAgKHVu ZG8gR05PTUVfU1RPQ0tfTUVOVV9VTkRPKQo7ICAgKHByaW50IEdOT01FX1NU T0NLX01FTlVfUFJJTlQpCjsgICAoc2VhcmNoIEdOT01FX1NUT0NLX01FTlVf U0VBUkNIKQo7ICAgKGJhY2sgR05PTUVfU1RPQ0tfTUVOVV9CQUNLKQo7ICAg KGZvcndhcmQgR05PTUVfU1RPQ0tfTUVOVV9GT1JXQVJEKQo7ICAgKGhvbWUg R05PTUVfU1RPQ0tfTUVOVV9IT01FKQo7ICAgKHN0b3AgR05PTUVfU1RPQ0tf TUVOVV9TVE9QKQo7ICAgKHJlZnJlc2ggR05PTUVfU1RPQ0tfTUVOVV9SRUZS RVNIKQo7ICAgKG1haWwgR05PTUVfU1RPQ0tfTUVOVV9NQUlMKQo7ICAgKG1h aWwtcmVjZWl2ZSBHTk9NRV9TVE9DS19NRU5VX01BSUxfUkNWKQo7ICAgKG1h aWwtc2VuZCBHTk9NRV9TVE9DS19NRU5VX01BSUxfU05EKQo7ICAgKHRyYXNo IEdOT01FX1NUT0NLX01FTlVfVFJBU0gpCjsgICAodHJhc2gtZnVsbCBHTk9N RV9TVE9DS19NRU5VX1RSQVNIX0ZVTEwpCjsgICA7OyBUaGlzIGlzIGFuIGFs aWFzIGZvciBRdWl0IGZvciBub3cuCjsgICAoZXhpdCBHTk9NRV9TVE9DS19N RU5VX1FVSVQpKQoKOyAoZGVmaW5lLWZ1bmMgZ25vbWVfc3RvY2tfYnV0dG9u CjsgICBHdGtXaWRnZXQKOyAgICgoR25vbWVTdG9ja0J1dHRvbk5hbWVUeXBl IHR5cGUpKSkKCjsgKGRlZmluZS1mdW5jIGdub21lX3N0b2NrX29yX29yZGlu YXJ5X2J1dHRvbgo7ICAgR3RrV2lkZ2V0CjsgICAoKEdub21lU3RvY2tCdXR0 b25OYW1lVHlwZSB0eXBlKSkpCgo7IChkZWZpbmUtZnVuYyBnbm9tZV9zdG9j a19tZW51X2l0ZW0KOyAgIEd0a1dpZGdldAo7ICAgKChHbm9tZVN0b2NrTWVu dU5hbWVUeXBlIHR5cGUpCjsgICAgKHN0cmluZyB0ZXh0KSkpCgo7IDs7Cjsg OzsgTWVzc2FnZWJveC4KOyA7OwoKOyAoZGVmaW5lLW9iamVjdCBHbm9tZU1l c3NhZ2VCb3ggKEd0a1dpbmRvdykKOyAgIDs7IEZJWE1FOiBjYW4ndCByZXBy ZXNlbnQgY29udGVudHMuCjsgICApCgo7IDsgZ25vbWVfbWVzc2FnZV9ib3hf bmV3Cgo7IChkZWZpbmUtZnVuYyBnbm9tZV9tZXNzYWdlX2JveF9zZXRfbW9k YWwKOyAgIG5vbmUKOyAgICgoR25vbWVNZXNzYWdlQm94IG1lc3NhZ2VfYm94 KSkpCgo7IChkZWZpbmUtZnVuYyBnbm9tZV9tZXNzYWdlX2JveF9zZXRfZGVm YXVsdAo7ICAgbm9uZQo7ICAgKChHbm9tZU1lc3NhZ2VCb3ggbWVzc2FnZV9i b3gpCjsgICAgKGludCBidXR0b24pKSkKCgo7IDs7CjsgOzsgUHJvcGVydHkg Ym94Lgo7IDs7Cgo7IChkZWZpbmUtb2JqZWN0IEdub21lUHJvcGVydHlCb3gg KEd0a1dpbmRvdykKOyAgIChmaWVsZHMgCjsgICAgKEd0a1dpZGdldCBub3Rl Ym9vaykKOyAgICAoR3RrV2lkZ2V0IG9rX2J1dHRvbikKOyAgICAoR3RrV2lk Z2V0IGFwcGx5X2J1dHRvbikKOyAgICAoR3RrV2lkZ2V0IGNhbmNlbF9idXR0 b24pCjsgICAgKEd0a1dpZGdldCBoZWxwX2J1dHRvbikKOyAgICA7OyBGSVhN RTogY2FuJ3QgcmVwcmVzZW50IGBpdGVtcycuCjsgICAgKQo7ICAgKQoKOyAo ZGVmaW5lLWZ1bmMgZ25vbWVfcHJvcGVydHlfYm94X25ldwo7ICAgR3RrV2lk Z2V0CjsgICAoKSkKCjsgKGRlZmluZS1mdW5jIGdub21lX3Byb3BlcnR5X2Jv eF9jaGFuZ2VkCjsgICBub25lCjsgICAoKEdub21lUHJvcGVydHlCb3ggYm94 KSkpCgo7IChkZWZpbmUtZnVuYyBnbm9tZV9wcm9wZXJ0eV9ib3hfYXBwZW5k X3BhZ2UKOyAgIGludAo7ICAgKChHbm9tZVByb3BlcnR5Qm94IGJveCkKOyAg ICAoR3RrV2lkZ2V0IGNoaWxkKQo7ICAgIChHdGtXaWRnZXQgdGFiX2xhYmVs KSkpCgoKCjsgOzsKOyA7OyBDbGllbnQgY29kZS4KOyA7OyBGSVhNRTogU29t ZSBmdW5jdGlvbnMgc3RpbGwgbGl2ZSBpbiBjbGllbnQuYywgdW50aWwgYXJn Yy9hcmd2IHN1cHBvcnRlZC4KOyA7OwoKOyAoZGVmaW5lLWVudW0gR25vbWVJ bnRlcmFjdFN0eWxlCjsgICAobm9uZSBHTk9NRV9JTlRFUkFDVF9OT05FKQo7 ICAgKGVycm9ycyBHTk9NRV9JTlRFUkFDVF9FUlJPUlMpCjsgICAoYW55IEdO T01FX0lOVEVSQUNUX0FOWSkpCgo7IChkZWZpbmUtZW51bSBHbm9tZURpYWxv Z1R5cGUKOyAgIChlcnJvciBHTk9NRV9ESUFMT0dfRVJST1IpCjsgICAobm9y bWFsIEdOT01FX0RJQUxPR19OT1JNQUwpKQoKOyAoZGVmaW5lLWVudW0gR25v bWVTYXZlU3R5bGUKOyAgIChnbG9iYWwgR05PTUVfU0FWRV9HTE9CQUwpCjsg ICAobG9jYWwgR05PTUVfU0FWRV9MT0NBTCkKOyAgIChib3RoIEdOT01FX1NB VkVfQk9USCkpCgo7IChkZWZpbmUtZW51bSBHbm9tZVJlc3RhcnRTdHlsZQo7 ICAgKGlmLXJ1bm5pbmcgR05PTUVfUkVTVEFSVF9JRl9SVU5OSU5HKQo7ICAg KGFueXdheSBHTk9NRV9SRVNUQVJUX0FOWVdBWSkKOyAgIChpbW1lZGlhdGVs eSBHTk9NRV9SRVNUQVJUX0lNTUVESUFURUxZKQo7ICAgKG5ldmVyIEdOT01F X1JFU1RBUlRfTkVWRVIpKQoKOyAoZGVmaW5lLW9iamVjdCBHbm9tZUNsaWVu dCAoR3RrT2JqZWN0KSkKCjsgKGRlZmluZS1mdW5jIGdub21lX2NsaWVudF9k aXNhYmxlX21hc3Rlcl9jb25uZWN0aW9uCjsgICBub25lCjsgICAoKSkKCjsg KGRlZmluZS1mdW5jIGdub21lX21hc3Rlcl9jbGllbnQKOyAgIEdub21lQ2xp ZW50CjsgICAoKSkKCjsgKGRlZmluZS1mdW5jIGdub21lX2Nsb25lZF9jbGll bnQKOyAgIEdub21lQ2xpZW50CjsgICAoKSkKCjsgKGRlZmluZS1mdW5jIGdu b21lX2NsaWVudF9uZXcKOyAgIEdub21lQ2xpZW50CjsgICAoKSkKCjsgKGRl ZmluZS1mdW5jIGdub21lX2NsaWVudF9uZXdfd2l0aG91dF9jb25uZWN0aW9u CjsgICBHbm9tZUNsaWVudAo7ICAgKCkpCgo7IChkZWZpbmUtZnVuYyBnbm9t ZV9jbGllbnRfY29ubmVjdAo7ICAgbm9uZQo7ICAgKChHbm9tZUNsaWVudCBj bGllbnQpKSkKCjsgKGRlZmluZS1mdW5jIGdub21lX2NsaWVudF9kaXNjb25u ZWN0CjsgICBub25lCjsgICAoKEdub21lQ2xpZW50IGNsaWVudCkpKQoKOyAo ZGVmaW5lLWZ1bmMgZ25vbWVfY2xpZW50X2ZsdXNoCjsgICBub25lCjsgICAo KEdub21lQ2xpZW50IGNsaWVudCkpKQoKOyAoZGVmaW5lLWZ1bmMgZ25vbWVf Y2xpZW50X3NldF9pZAo7ICAgbm9uZQo7ICAgKChHbm9tZUNsaWVudCBjbGll bnQpCjsgICAgKHN0cmluZyBpZCkpKQoKOyA7IGdub21lX2NsaWVudF9zZXRf Y2xvbmVfY29tbWFuZAoKOyAoZGVmaW5lLWZ1bmMgZ25vbWVfY2xpZW50X3Nl dF9jdXJyZW50X2RpcmVjdG9yeQo7ICAgbm9uZQo7ICAgKChHbm9tZUNsaWVu dCBjbGllbnQpCjsgICAgKHN0cmluZyBkaXIpKSkgICAgIAoKOyA7IGdub21l X2NsaWVudF9zZXRfZW52aXJvbm1lbnQKCjsgKGRlZmluZS1mdW5jIGdub21l X2NsaWVudF9zZXRfcHJvY2Vzc19pZAo7ICAgbm9uZQo7ICAgKChHbm9tZUNs aWVudCBjbGllbnQpCjsgICAgKGludCBpZCkpKQoKOyAoZGVmaW5lLWZ1bmMg Z25vbWVfY2xpZW50X3NldF9wcm9ncmFtCjsgICBub25lCjsgICAoKEdub21l Q2xpZW50IGNsaWVudCkKOyAgICAoc3RyaW5nIHByb2dyYW0pKSkKCjsgOyBn bm9tZV9jbGllbnRfc2V0X3Jlc3RhcnRfY29tbWFuZAoKOyA7IGdub21lX2Ns aWVudF9zZXRfcmVzaWduX2NvbW1hbmQKCjsgKGRlZmluZS1mdW5jIGdub21l X2NsaWVudF9zZXRfcmVzdGFydF9zdHlsZQo7ICAgbm9uZQo7ICAgKChHbm9t ZUNsaWVudCBjbGllbnQpCjsgICAgKEdub21lUmVzdGFydFN0eWxlIHN0eWxl KSkpICAgIAoKOyA7IGdub21lX2NsaWVudF9zZXRfc2h1dGRvd25fY29tbWFu ZAoKOyAoZGVmaW5lLWZ1bmMgZ25vbWVfY2xpZW50X3NldF91c2VyX2lkCjsg ICBub25lCjsgICAoKEdub21lQ2xpZW50IGNsaWVudCkKOyAgICAoc3RyaW5n IGlkKSkpCgo7IChkZWZpbmUtZnVuYyBnbm9tZV9jbGllbnRfcmVxdWVzdF9w aGFzZV8yCjsgICBub25lCjsgICAoKEdub21lQ2xpZW50IGNsaWVudCkpKQoK OyAoZGVmaW5lLWZ1bmMgZ25vbWVfY2xpZW50X3JlcXVlc3Rfc2F2ZQo7ICAg bm9uZQo7ICAgKChHbm9tZUNsaWVudCBjbGllbnQpCjsgICAgKEdub21lU2F2 ZVN0eWxlIHNhdmVfc3R5bGUpCjsgICAgKGJvb2wgc2h1dGRvd24pCjsgICAg KEdub21lSW50ZXJhY3RTdHlsZSBpbnRlcmFjdF9zdHlsZSkKOyAgICAoYm9v bCBmYXN0KQo7ICAgIChib29sIGdsb2JhbCkpKQoKOyAoZGVmaW5lLWZ1bmMg Z25vbWVfY2xpZW50X3JlcXVlc3RfaW50ZXJhY3Rpb25faW50ZXJwCjsgICBu b25lCjsgICAoKEdub21lQ2xpZW50IGNsaWVudCkKOyAgICAoR25vbWVEaWFs b2dUeXBlIGRpYWxvZ190eXBlKQo7ICAgIChjYWxsYmFjayBmdW5jdGlvbikp CjsgICAocHJvdGVjdGlvbiBjbGllbnQpKQoKOyAoZGVmaW5lLWZ1bmMgZ25v bWVfaW50ZXJhY3Rpb25fa2V5X3JldHVybgo7ICAgbm9uZQo7ICAgKChpbnQg a2V5KQo7ICAgIChib29sIGNhbmNlbF9zaHV0ZG93bikpKQoKOzsgQ2FudmFz CgooZGVmaW5lLW9iamVjdCBHbm9tZUNhbnZhcyAoR3RrQ29udGFpbmVyKSkK CihkZWZpbmUtb2JqZWN0IEdub21lQ2FudmFzSXRlbSAoR3RrT2JqZWN0KQog IChmaWVsZHMKICAgKEdub21lQ2FudmFzIGNhbnZhcykKICAgKEdub21lQ2Fu dmFzSXRlbSBwYXJlbnQpCiAgIChpbnQgeDEpCiAgIChpbnQgeTEpCiAgIChp bnQgeDIpCiAgIChpbnQgeTIpKSkKCihkZWZpbmUtb2JqZWN0IEdub21lQ2Fu dmFzR3JvdXAgKEdub21lQ2FudmFzSXRlbSkpCgo7OyBYWFggLSBidWlsZC1n dWlsZS1ndGsgbmVlZHMgdmFyYXJncyBhbmQgR3RrVHlwZSB0byBzdXBwb3J0 IHRoZXNlLgo7OyBGb3Igbm93LCB0aGVyZSBhcmUgYGhhbmQgdHdlYWtlZCcg dmVyc2lvbnMgaW4gZ25vbWVnLmMKCjs7KGRlZmluZS1mdW5jIGdub21lX2Nh bnZhc19pdGVtX25ldwo7OyAgR25vbWVDYW52YXNJdGVtCjs7ICAoKEdub21l Q2FudmFzIGNhbnZhcykKOzsgICAoR25vbWVDYW52YXNHcm91cCBncm91cCkK OzsgICAoR3RrVHlwZSB0eXBlKQo7OyAgIChhcmdzIC4uLikpKQoKOzsoZGVm aW5lLWZ1bmMgZ25vbWVfY2FudmFzX2l0ZW1fc2V0Cjs7ICBub25lCjs7ICAo KEdub21lQ2FudmFzSXRlbSBpdGVtKQo7OyAgIChhcmdzIC4uLikpKQoKKGRl ZmluZS1mdW5jIGdub21lX2NhbnZhc19pdGVtX3JhaXNlCiAgbm9uZQogICgo R25vbWVDYW52YXNJdGVtIGl0ZW0pCiAgIChpbnQgcG9zaXRpb25zKSkpCgoo ZGVmaW5lLWZ1bmMgZ25vbWVfY2FudmFzX2l0ZW1fbW92ZQogIG5vbmUKICAo KEdub21lQ2FudmFzSXRlbSBjYW52YXMpCiAgIChkb3VibGUgZHgpCiAgIChk b3VibGUgZHkpKSkKCihkZWZpbmUtZnVuYyBnbm9tZV9jYW52YXNfaXRlbV9z Y2FsZV9zY20KICBub25lCiAgKChHbm9tZUNhbnZhc0l0ZW0gaXRlbSkKICAg KGRvdWJsZSBzeCkKICAgKGRvdWJsZSBzeSkpKQoKKGRlZmluZS1mdW5jIGdu b21lX2NhbnZhc19pdGVtX3JvdGF0ZV9zY20KICBub25lCiAgKChHbm9tZUNh bnZhc0l0ZW0gaXRlbSkKICAgKGRvdWJsZSBhbmdsZSkpKQoKCihkZWZpbmUt ZnVuYyBnbm9tZV9jYW52YXNfaXRlbV9zaG93IAogIG5vbmUgCiAgKChHbm9t ZUNhbnZhc0l0ZW0gaXRlbSkpKQoKCihkZWZpbmUtZnVuYyBnbm9tZV9jYW52 YXNfaXRlbV9oaWRlCiAgbm9uZQogICgoR25vbWVDYW52YXNJdGVtIGl0ZW0p KSkKCihkZWZpbmUtZnVuYyBnZGtfaW1saWJfZ2V0X3Zpc3VhbAogIEdka1Zp c3VhbAogICgpKQoKKGRlZmluZS1mdW5jIGdka19pbWxpYl9nZXRfY29sb3Jt YXAKICBHZGtDb2xvcm1hcAogICgpKQoKKGRlZmluZS1mdW5jIGdub21lX2Nh bnZhc19uZXcKICBHdGtXaWRnZXQKICAoKSkKCihkZWZpbmUtZnVuYyBnbm9t ZV9jYW52YXNfcm9vdAogIEdub21lQ2FudmFzR3JvdXAKICAoKEdub21lQ2Fu dmFzIGNhbnZhcykpKQoKKGRlZmluZS1mdW5jIGdub21lX2NhbnZhc191cGRh dGVfbm93CiAgbm9uZQogICgoR25vbWVDYW52YXMgY2FudmFzKSkpCgooZGVm aW5lLWZ1bmMgZ25vbWVfY2FudmFzX3NldF9waXhlbHNfcGVyX3VuaXQKICBu b25lCiAgKChHbm9tZUNhbnZhcyBjYW52YXMpCiAgIChkb3VibGUgbikpKQoK KGRlZmluZS1vYmplY3QgR25vbWVDYW52YXNSRSAoR25vbWVDYW52YXNJdGVt KSkKKGRlZmluZS1vYmplY3QgR25vbWVDYW52YXNSZWN0IChHbm9tZUNhbnZh c1JFKSkKKGRlZmluZS1vYmplY3QgR25vbWVDYW52YXNFbGxpcHNlIChHbm9t ZUNhbnZhc1JFKSkKCihkZWZpbmUtYm94ZWQgR25vbWVDYW52YXNQb2ludHMK ICAoY29weSBnbm9tZV9jYW52YXNfcG9pbnRzX3JlZikKICAoZnJlZSBnbm9t ZV9jYW52YXNfcG9pbnRzX3VucmVmKSkKCihhZGQtb3B0aW9ucyBHbm9tZUNh bnZhc1BvaW50cyAoY29udmVyc2lvbiAic2dub21lX2NhbnZhc19wb2ludHNf Y29udmVyc2lvbiIpKQoKKGRlZmluZS1mdW5jIGdub21lX2NhbnZhc19wb2lu dHNfZnJvbV9jb29yZHMKICAoR25vbWVDYW52YXNQb2ludHMgKGNvcHkgI2Yp KQogICgoKGN2ZWMgZG91YmxlKSBjb29yZHMpKSkKCihkZWZpbmUtZnVuYyBn bm9tZV9jYW52YXNfcG9pbnRzX2ludGVybgogIEdub21lQ2FudmFzUG9pbnRz CiAgKChHbm9tZUNhbnZhc1BvaW50cyBwb2ludHMpKSkKCihkZWZpbmUtb2Jq ZWN0IEdub21lQ2FudmFzTGluZSAoR25vbWVDYW52YXNJdGVtKSkKCihkZWZp bmUtb2JqZWN0IEdub21lQ2FudmFzVGV4dCAoR25vbWVDYW52YXNJdGVtKSkK CihkZWZpbmUtb2JqZWN0IEdub21lQ2FudmFzV2lkZ2V0IChHbm9tZUNhbnZh c0l0ZW0pKQoKOzs7IGFwcCBoZWxwZXIKCjs7IEMgc3VwcG9ydCByb3V0aW5l cyBhcmUgaW4gZ25vbWVnLmMKCihkZWZpbmUtZW51bSBHbm9tZVVJSW5mb1R5 cGUKICAoaXRlbSBHTk9NRV9BUFBfVUlfSVRFTSkKICAodG9nZ2xlaXRlbSBH Tk9NRV9BUFBfVUlfVE9HR0xFSVRFTSkKICAocmFkaW9pdGVtcyBHTk9NRV9B UFBfVUlfUkFESU9JVEVNUykKICAoc3VidHJlZSBHTk9NRV9BUFBfVUlfU1VC VFJFRSkKICAoc2VwYXJhdG9yIEdOT01FX0FQUF9VSV9TRVBBUkFUT1IpCiAg KGhlbHAgR05PTUVfQVBQX1VJX0hFTFApCiAgKGNvbmZpZ3VyYWJsZSBHTk9N RV9BUFBfVUlfSVRFTV9DT05GSUdVUkFCTEUpCiAgKHN1YnRyZWUtc3RvY2sg R05PTUVfQVBQX1VJX1NVQlRSRUVfU1RPQ0spKQoKKGRlZmluZS1lbnVtIEdu b21lVUlJbmZvQ29uZmlndXJhYmxlVHlwZXMKICAobmV3ICAgICAgICAgIEdO T01FX0FQUF9DT05GSUdVUkFCTEVfSVRFTV9ORVcpCiAgKG9wZW4gICAgICAg ICBHTk9NRV9BUFBfQ09ORklHVVJBQkxFX0lURU1fT1BFTikKICAoc2F2ZSAg ICAgICAgIEdOT01FX0FQUF9DT05GSUdVUkFCTEVfSVRFTV9TQVZFKQogIChz YXZlLWFzICAgICAgR05PTUVfQVBQX0NPTkZJR1VSQUJMRV9JVEVNX1NBVkVf QVMpCiAgKHJldmVydCAgICAgICBHTk9NRV9BUFBfQ09ORklHVVJBQkxFX0lU RU1fUkVWRVJUKQogIChwcmludCAgICAgICAgR05PTUVfQVBQX0NPTkZJR1VS QUJMRV9JVEVNX1BSSU5UKQogIChwcmludC1zZXR1cCAgR05PTUVfQVBQX0NP TkZJR1VSQUJMRV9JVEVNX1BSSU5UX1NFVFVQKQogIChjbG9zZSAgICAgICAg R05PTUVfQVBQX0NPTkZJR1VSQUJMRV9JVEVNX0NMT1NFKQogIChleGl0ICAg ICAgICAgR05PTUVfQVBQX0NPTkZJR1VSQUJMRV9JVEVNX0VYSVQpCiAgKGN1 dCAgICAgICAgICBHTk9NRV9BUFBfQ09ORklHVVJBQkxFX0lURU1fQ1VUKQog IChjb3B5ICAgICAgICAgR05PTUVfQVBQX0NPTkZJR1VSQUJMRV9JVEVNX0NP UFkpCiAgKHBhc3RlICAgICAgICBHTk9NRV9BUFBfQ09ORklHVVJBQkxFX0lU RU1fUEFTVEUpCiAgKGNsZWFyICAgICAgICBHTk9NRV9BUFBfQ09ORklHVVJB QkxFX0lURU1fQ0xFQVIpCiAgKHVuZG8gICAgICAgICBHTk9NRV9BUFBfQ09O RklHVVJBQkxFX0lURU1fVU5ETykKICAocmVkbyAgICAgICAgIEdOT01FX0FQ UF9DT05GSUdVUkFCTEVfSVRFTV9SRURPKQogIChmaW5kICAgICAgICAgR05P TUVfQVBQX0NPTkZJR1VSQUJMRV9JVEVNX0ZJTkQpCiAgKGZpbmQtYWdhaW4g ICBHTk9NRV9BUFBfQ09ORklHVVJBQkxFX0lURU1fRklORF9BR0FJTikKICAo cmVwbGFjZSAgICAgIEdOT01FX0FQUF9DT05GSUdVUkFCTEVfSVRFTV9SRVBM QUNFKQogIChwcm9wZXJ0aWVzICAgR05PTUVfQVBQX0NPTkZJR1VSQUJMRV9J VEVNX1BST1BFUlRJRVMpCiAgKHByZWZlcmVuY2VzICBHTk9NRV9BUFBfQ09O RklHVVJBQkxFX0lURU1fUFJFRkVSRU5DRVMpCiAgKGFib3V0ICAgICAgICBH Tk9NRV9BUFBfQ09ORklHVVJBQkxFX0lURU1fQUJPVVQpCiAgKHNlbGVjdC1h bGwgICBHTk9NRV9BUFBfQ09ORklHVVJBQkxFX0lURU1fU0VMRUNUX0FMTCkK ICAobmV3LXdpbmRvdyAgIEdOT01FX0FQUF9DT05GSUdVUkFCTEVfSVRFTV9O RVdfV0lORE9XKQogIChjbG9zZS13aW5kb3cgR05PTUVfQVBQX0NPTkZJR1VS QUJMRV9JVEVNX0NMT1NFX1dJTkRPVykKICAobmV3LWdhbWUgICAgIEdOT01F X0FQUF9DT05GSUdVUkFCTEVfSVRFTV9ORVdfR0FNRSkKICAocGF1c2UtZ2Ft ZSAgIEdOT01FX0FQUF9DT05GSUdVUkFCTEVfSVRFTV9QQVVTRV9HQU1FKQog IChyZXN0YXJ0LWdhbWUgR05PTUVfQVBQX0NPTkZJR1VSQUJMRV9JVEVNX1JF U1RBUlRfR0FNRSkKICAodW5kby1tb3ZlICAgIEdOT01FX0FQUF9DT05GSUdV UkFCTEVfSVRFTV9VTkRPX01PVkUpCiAgKHJlZG8tbW92ZSAgICBHTk9NRV9B UFBfQ09ORklHVVJBQkxFX0lURU1fUkVET19NT1ZFKQogIChoaW50ICAgICAg ICAgR05PTUVfQVBQX0NPTkZJR1VSQUJMRV9JVEVNX0hJTlQpCiAgKHNjb3Jl cyAgICAgICBHTk9NRV9BUFBfQ09ORklHVVJBQkxFX0lURU1fU0NPUkVTKQog IChlbmQtZ2FtZSAgICAgR05PTUVfQVBQX0NPTkZJR1VSQUJMRV9JVEVNX0VO RF9HQU1FKSkKCihkZWZpbmUtb2JqZWN0IEdub21lVUlJbmZvcyAoR3RrRGF0 YSkpCgooYWRkLW9wdGlvbnMgR25vbWVVSUluZm9zIChjb252ZXJzaW9uICJz Z25vbWVfdWlpbmZvc19jb252ZXJzaW9uIikpCgooZGVmaW5lLWZ1bmMgZ25v bWVfdWlpbmZvc19pbnRlcm4KICBHbm9tZVVJSW5mb3MKICAoKEdub21lVUlJ bmZvcyBkZXNjKSkpCgo7OyhkZWZpbmUtZnVuYyBnbm9tZV91aWluZm9zX2dl dF93aWRnZXRzIFNDTSAoKEdub21lVUlJbmZvcyBkZXNjKSkpCgo7IChkZWZp bmUtZnVuYyBnbm9tZV9hcHBfY3JlYXRlX21lbnVzX2Zyb21fdWlpbmZvcwo7 ICAgbm9uZQo7ICAgKChHbm9tZUFwcCBhcHApCjsgICAgKEdub21lVUlJbmZv cyBkZXNjKSkKOyAgIChzY20tbmFtZSAiZ25vbWUtYXBwLWNyZWF0ZS1tZW51 cyIpKQoKOztHbm9tZUljb25MaXN0Cgo7IChkZWZpbmUtb2JqZWN0IEdub21l SWNvbkxpc3QgKEdub21lQ2FudmFzKSkKCjsgKGRlZmluZS1lbnVtIEdub21l SWNvbkxpc3RNb2RlCjsgICAoaWNvbnMgR05PTUVfSUNPTl9MSVNUX0lDT05T KQo7ICAgKHRleHQtYmVsb3cgR05PTUVfSUNPTl9MSVNUX1RFWFRfQkVMT1cp CjsgICAodGV4dC1yaWdodCBHTk9NRV9JQ09OX0xJU1RfVEVYVF9SSUdIVCkp Cgo7IChkZWZpbmUtZnVuYyBnbm9tZV9pY29uX2xpc3RfbmV3CjsgICBHdGtX aWRnZXQKOyAgICgodWludCBpY29uX3dpZHRoKQo7ICAgKEd0a0FkanVzdG1l bnQgYWRqKQo7ICAgKGludCBmbGFncykpKQoKOyAoZGVmaW5lLWZ1bmMgZ25v bWVfaWNvbl9saXN0X25ld19mbGFncwo7ICAgR3RrV2lkZ2V0CjsgICAoKHVp bnQgaWNvbl93aWR0aCkKOyAgICAoR3RrQWRqdXN0bWVudCBhZGopCjsgICAg KGludCBmbGFncykpKQoKOyAoZGVmaW5lLWZ1bmMgZ25vbWVfaWNvbl9saXN0 X2NvbnN0cnVjdAo7ICAgbm9uZQo7ICAgKChHbm9tZUljb25MaXN0IGdpbCkK OyAgICAodWludCBpY29uX3dpZHRoKQo7ICAgIChHdGtBZGp1c3RtZW50IGFk aikKOyAgICAoaW50IGZsYWdzKSkpCgo7IChkZWZpbmUtZnVuYyBnbm9tZV9p Y29uX2xpc3Rfc2V0X2hhZGp1c3RtZW50CjsgICBub25lCjsgICAoKEdub21l SWNvbkxpc3QgZ2lsKQo7ICAgIChHdGtBZGp1c3RtZW50IGhhZGopKSkKCjsg KGRlZmluZS1mdW5jIGdub21lX2ljb25fbGlzdF9zZXRfdmFkanVzdG1lbnQK OyAgIG5vbmUKOyAgICgoR25vbWVJY29uTGlzdCBnaWwpCjsgICAgKEd0a0Fk anVzdG1lbnQgdmFkaikpKQoKOyAoZGVmaW5lLWZ1bmMgZ25vbWVfaWNvbl9s aXN0X2ZyZWV6ZQo7ICAgbm9uZQo7ICAgKChHbm9tZUljb25MaXN0IGdpbCkp KQoKOyAoZGVmaW5lLWZ1bmMgZ25vbWVfaWNvbl9saXN0X3RoYXcKOyAgIG5v bmUKOyAgICgoR25vbWVJY29uTGlzdCBnaWwpKSkKCjsgKGRlZmluZS1mdW5j IGdub21lX2ljb25fbGlzdF9pbnNlcnQKOyAgIG5vbmUKOyAgICgoR25vbWVJ Y29uTGlzdCBnaWwpCjsgICAgKGludCBwb3MpCjsgICAgKHN0cmluZyBpY29u X2ZpbGVuYW1lKQo7ICAgIChzdHJpbmcgdGV4dCkpKQoKOyA7OyAoZGVmaW5l LWZ1bmMgZ25vbWVfaWNvbl9saXN0X2luc2VydF9pbWxpYgo7IDs7ICgoR25v bWVJY29uTGlzdCBnaWwpCjsgOzsgKGludCBwb3MpCjsgOzsgKEdka0ltbGli SW1hZ2UgaW0pCjsgOzsgKHN0cmluZyB0ZXh0KSkpCgo7IChkZWZpbmUtZnVu YyBnbm9tZV9pY29uX2xpc3RfYXBwZW5kCjsgICBpbnQKOyAgICgoR25vbWVJ Y29uTGlzdCBnaWwpCjsgICAgKHN0cmluZyBpY29uX2ZpbGVuYW1lKQo7ICAg IChzdHJpbmcgdGV4dCkpKQoKOyA7KGRlZmluZS1mdW5jIGdub21lX2ljb25f bGlzdF9hcHBlbmRfaW1saWIKOyA7ICBpbnQKOyA7ICAoKEdub21lSWNvbkxp c3QgZ2lsKQo7IDsgICAoR2RrSW1saWJJbWFnZSBpbSkKOyA7ICAgKHN0cmlu ZyB0ZXh0KSkpCgo7IChkZWZpbmUtZnVuYyBnbm9tZV9pY29uX2xpc3RfY2xl YXIKOyAgIG5vbmUKOyAgICgoR25vbWVJY29uTGlzdCBnaWwpKSkKCjsgKGRl ZmluZS1mdW5jIGdub21lX2ljb25fbGlzdF9yZW1vdmUKOyAgIG5vbmUKOyAg ICgoR25vbWVJY29uTGlzdCBnaWwpCjsgICAgKGludCBwb3MpKSkKCihvcHRp b25zCiAoaW5jbHVkZXMgIiNpbmNsdWRlIDxnbm9tZS5oPiIKCSAgICIjaW5j bHVkZSA8Z25vbWUtdWktaW5mb3MuaD4iCgkgICAiI2luY2x1ZGUgXCJnbm9t ZS1jYW52YXMtc3VwcG9ydC5oXCIiKQogKGluaXQtZnVuYyAiZ25vbWVfaW5p dF9ndWlsZV9nbHVlIikKIChsaWJzICItbGd1aWxlZ25vbWUiKQogKGV4dHJh LWluaXQtY29kZSAiZ25vbWVfaW5pdF9ndWlsZV9zdXBwb3J0ICgpOyIpKQoK OyA7Owo7IDs7IENhdWxkcm9uCjsgOzsKCjsgKGRlZmluZS1mbGFncyBHdGtD YXVsZHJvbk9wdGlvbnMKOyAgICh0b3BsZXZlbCBHVEtfQ0FVTERST05fVE9Q TEVWRUwpCjsgICAoZGlhbG9nIEdUS19DQVVMRFJPTl9ESUFMT0cpCjsgICAo cG9wdXAgR1RLX0NBVUxEUk9OX1BPUFVQKQo7ICAgKHNwYWNlMSBHVEtfQ0FV TERST05fU1BBQ0UxKQo7ICAgKHNwYWNlMiBHVEtfQ0FVTERST05fU1BBQ0Uy KQo7ICAgKHNwYWNlMyBHVEtfQ0FVTERST05fU1BBQ0UzKQo7ICAgKHNwYWNl NCBHVEtfQ0FVTERST05fU1BBQ0U0KQo7ICAgKHNwYWNlNSBHVEtfQ0FVTERS T05fU1BBQ0U1KQo7ICAgKHNwYWNlNiBHVEtfQ0FVTERST05fU1BBQ0U2KQo7 ICAgKHNwYWNlNyBHVEtfQ0FVTERST05fU1BBQ0U3KQo7ICAgKHNwYWNlOCBH VEtfQ0FVTERST05fU1BBQ0U4KQo7ICAgKHNwYWNlOSBHVEtfQ0FVTERST05f U1BBQ0U5KQo7ICAgKHNwYWNlMTAgR1RLX0NBVUxEUk9OX1NQQUNFMTApCjsg ICAoc3BhY2UxMSBHVEtfQ0FVTERST05fU1BBQ0UxMSkKOyAgIChzcGFjZTEy IEdUS19DQVVMRFJPTl9TUEFDRTEyKQo7ICAgKHNwYWNlMTMgR1RLX0NBVUxE Uk9OX1NQQUNFMTMpCjsgICAoc3BhY2UxNCBHVEtfQ0FVTERST05fU1BBQ0Ux NCkKOyAgIChzcGFjZTE1IEdUS19DQVVMRFJPTl9TUEFDRTE1KQo7ICAgKGln bm9yZWVzY2FwZSBHVEtfQ0FVTERST05fSUdOT1JFRVNDQVBFKQo7ICAgKGln bm9yZWVudGVyIEdUS19DQVVMRFJPTl9JR05PUkVFTlRFUikKOyAgIChncmFi IEdUS19DQVVMRFJPTl9HUkFCKSkK --Multipart_Fri__27_Jun_2003_16:25:25_+0200_08333f68--