From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Original-To: caml-list@sympa.inria.fr Delivered-To: caml-list@sympa.inria.fr Received: from mail2-relais-roc.national.inria.fr (mail2-relais-roc.national.inria.fr [192.134.164.83]) by sympa.inria.fr (Postfix) with ESMTPS id 83C8B7F787 for ; Tue, 8 Nov 2016 09:56:58 +0100 (CET) Authentication-Results: mail2-smtp-roc.national.inria.fr; spf=None smtp.pra=christoph.hoeger@tu-berlin.de; spf=None smtp.mailfrom=christoph.hoeger@tu-berlin.de; spf=None smtp.helo=postmaster@mail.tu-berlin.de Received-SPF: None (mail2-smtp-roc.national.inria.fr: no sender authenticity information available from domain of christoph.hoeger@tu-berlin.de) identity=pra; client-ip=130.149.7.33; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="christoph.hoeger@tu-berlin.de"; x-sender="christoph.hoeger@tu-berlin.de"; x-conformance=sidf_compatible Received-SPF: None (mail2-smtp-roc.national.inria.fr: no sender authenticity information available from domain of christoph.hoeger@tu-berlin.de) identity=mailfrom; client-ip=130.149.7.33; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="christoph.hoeger@tu-berlin.de"; x-sender="christoph.hoeger@tu-berlin.de"; x-conformance=sidf_compatible Received-SPF: None (mail2-smtp-roc.national.inria.fr: no sender authenticity information available from domain of postmaster@mail.tu-berlin.de) identity=helo; client-ip=130.149.7.33; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="christoph.hoeger@tu-berlin.de"; x-sender="postmaster@mail.tu-berlin.de"; x-conformance=sidf_compatible IronPort-PHdr: =?us-ascii?q?9a23=3AXj7uTREkzeHH8IRlBgyt351GYnF86YWxBRYc798d?= =?us-ascii?q?s5kLTJ75o8mwAkXT6L1XgUPTWs2DsrQf2rCQ4v2rADZQqb+681k6OKRWUBEEjc?= =?us-ascii?q?hE1ycBO+WiTXPBEfjxciYhF95DXlI2t1uyMExSBdqsLwaK+i760zceF13FOBZv?= =?us-ascii?q?IaytQ8iJ3p7xhr35oseDKyxzxxOFKYtoKxu3qQiD/uI3uqBFbpgL9x3Sv3FTcP?= =?us-ascii?q?5Xz247bXianhL7+9vitMU7q3cY6Lod8JtLWKD+OqA5VqBwDTI8Mmlz6te4mwPE?= =?us-ascii?q?SF6k5mEdSXkRihp/I5bK4QuyCpzxqCrhqu1l2G+aOsD5QKocRSnn5apxTB7uzi?= =?us-ascii?q?sKYW1quFrLg9B92foI6CmqoAZyltbZ?= X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: =?us-ascii?q?A0AoAAAGkyFYhyEHlYJdHgYMgy8BAQEBA?= =?us-ascii?q?YEjU6Q7lFOCCIYkAoIQPxQBAQEBAQEBAQEBARIBAQEKCwkJHTCCMxiCFwEBBCM?= =?us-ascii?q?EYgs/AwICAkQREwYCAQGIWASyDYFuUotFDBcOiDuCWIRegjULLYJcBZoug0uBe?= =?us-ascii?q?pR2hiCNLYQGHoFMgyeBaXGHOgEBAQ?= X-IPAS-Result: =?us-ascii?q?A0AoAAAGkyFYhyEHlYJdHgYMgy8BAQEBAYEjU6Q7lFOCCIY?= =?us-ascii?q?kAoIQPxQBAQEBAQEBAQEBARIBAQEKCwkJHTCCMxiCFwEBBCMEYgs/AwICAkQRE?= =?us-ascii?q?wYCAQGIWASyDYFuUotFDBcOiDuCWIRegjULLYJcBZoug0uBepR2hiCNLYQGHoF?= =?us-ascii?q?MgyeBaXGHOgEBAQ?= X-IronPort-AV: E=Sophos;i="5.31,609,1473112800"; d="asc'?ml'?scan'208";a="244034109" Received: from mail.tu-berlin.de ([130.149.7.33]) by mail2-smtp-roc.national.inria.fr with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 08 Nov 2016 09:56:35 +0100 X-tubIT-Incoming-IP: 91.66.22.179 Received: from ip5b4216b3.dynamic.kabel-deutschland.de ([91.66.22.179] helo=[192.168.178.42]) by mail.tu-berlin.de (exim-4.84_2/mailfrontend-6) with esmtpa for id 1c42Co-00046K-3e; Tue, 08 Nov 2016 09:56:35 +0100 To: caml-list@inria.fr References: <390aa113-a9eb-fce0-fe03-6a904ad053dd@tu-berlin.de> From: =?UTF-8?Q?Christoph_H=c3=b6ger?= Organization: =?UTF-8?Q?Technische_Universit=c3=a4t_Berlin?= Message-ID: Date: Tue, 8 Nov 2016 09:56:33 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.4.0 MIME-Version: 1.0 In-Reply-To: Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="p574N8nD9bXIDMG8coILCQrjekqeqCdSR" X-PMX-Version: 6.0.0.2142326, Antispam-Engine: 2.7.2.2107409, Antispam-Data: 2016.11.8.85116 X-PMX-Spam: Gauge=IIIIIII, Probability=0%, Report='' Subject: Re: [Caml-list] Compile-time performance problem This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --p574N8nD9bXIDMG8coILCQrjekqeqCdSR Content-Type: multipart/mixed; boundary="WGjBw2NNMFPMF4SHL2NtWJ8JuFLQ6wONq"; protected-headers="v1" From: =?UTF-8?Q?Christoph_H=c3=b6ger?= To: caml-list@inria.fr Message-ID: Subject: Re: [Caml-list] Compile-time performance problem References: <390aa113-a9eb-fce0-fe03-6a904ad053dd@tu-berlin.de> In-Reply-To: --WGjBw2NNMFPMF4SHL2NtWJ8JuFLQ6wONq Content-Type: multipart/mixed; boundary="------------08D09FBEBCF2EEBF0A325B6A" This is a multi-part message in MIME format. --------------08D09FBEBCF2EEBF0A325B6A Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable I must correct myself. Version 4.04.0 does not fix the issue, just move it slightly. It seems 4.04.0 is faster by at least a constant factor, but asymptotically still problematic (see attachment). The file compiles just fine to bytecode, but takes 20s to compile to machine code. Does anyone have a clue whether I run into a bug or if there is a compiler pass that is non-linear in some metric of the code-size? Am 07.11.2016 um 18:32 schrieb Christoph H=C3=B6ger: > Hi Nicolas, >=20 > no, AFAIK 4.03.0 does not enable flambda by default. The 4.04beta2 I > tried had a 4.04beta2+flambda right next to it, so I assume it also does > not have flambda enabled. >=20 > regards, >=20 > Christoph >=20 > Am 07.11.2016 um 18:18 schrieb Nicolas Ojeda Bar: >> Hi Christoph, >> >> Are you using flambda ?=20 >> >> - Nicolas >> >> 2016-11-07 18:07 GMT+01:00 Christoph H=C3=B6ger >> >: >> >> I just checked with 4.04beta2 and could not reproduce the problem. S= o it >> seems to be a 4.03.0 bug, but I could not find anything obviously >> related in the 4.04 changelog. >> >> -- >> Christoph H=C3=B6ger >> >> Technische Universit=C3=A4t Berlin >> Fakult=C3=A4t IV - Elektrotechnik und Informatik >> =C3=9Cbersetzerbau und Programmiersprachen >> >> Sekr. TEL12-2, Ernst-Reuter-Platz 7, 10587 Berlin >> >> Tel.: +49 (30) 314-24890 >> E-Mail: christoph.hoeger@tu-berlin.de >> >> >> >=20 >=20 --=20 Christoph H=C3=B6ger Technische Universit=C3=A4t Berlin Fakult=C3=A4t IV - Elektrotechnik und Informatik =C3=9Cbersetzerbau und Programmiersprachen Sekr. TEL12-2, Ernst-Reuter-Platz 7, 10587 Berlin Tel.: +49 (30) 314-24890 E-Mail: christoph.hoeger@tu-berlin.de --------------08D09FBEBCF2EEBF0A325B6A Content-Type: text/plain; charset=UTF-8; name="perf.ml" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="perf.ml" bGV0ICg8KykgYSB2ID0gQXJyYXkuYXBwZW5kIGEgW3x2fF0gCmxldCBmb28g ayBzID0KICAoKGZ1biBrICAtPiBmdW4gcyAgLT4gKGsjX2NvbnRpbnVlXyAo b2JqZWN0IChzZWxmKSAgZW5kKSkgMSkKICAgICAob2JqZWN0IChzZWxmKQog ICAgICAgIHZhbCBfY29udGludWVfID0KICAgICAgICAgIGZ1biB4ICAtPgog ICAgICAgICAgICAoZnVuIGsgIC0+CiAgICAgICAgICAgICAgIGZ1biBzICAt PgogICAgICAgICAgICAgICAgICgoZnVuIGsgIC0+IGZ1biBzICAtPiAoayNf Y29udGludWVfIChvYmplY3QgKHNlbGYpICBlbmQpKSAyKQogICAgICAgICAg ICAgICAgICAgIChvYmplY3QgKHNlbGYpCiAgICAgICAgICAgICAgICAgICAg ICAgdmFsIF9jb250aW51ZV8gPQogICAgICAgICAgICAgICAgICAgICAgICAg ZnVuIHggIC0+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIChmdW4gayAg LT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuIHMgIC0+CiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChmdW4gayAgLT4gZnVu IHMgIC0+IChrI19jb250aW51ZV8gKG9iamVjdCAoc2VsZikgIGVuZCkpIDMp CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG9iamVjdCAo c2VsZikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2 YWwgX2NvbnRpbnVlXyA9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBmdW4geCAgLT4KICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgKGZ1biBrICAtPgogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdW4gcyAgLT4KICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKGZ1 biBrICAtPiBmdW4gcyAgLT4gKGsjX2NvbnRpbnVlXyAob2JqZWN0IChzZWxm KSAgZW5kKSkgNCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAob2JqZWN0IChzZWxmKQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbCBf Y29udGludWVfID0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGZ1biB4ICAtPgogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAo ZnVuIGsgIC0+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGZ1biBzICAtPgogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICgoZnVuIGsgIC0+IGZ1biBzICAtPiAoayNfY29udGludWVfIChv YmplY3QgKHNlbGYpICBlbmQpKSA1KQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChv YmplY3QgKHNlbGYpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsIF9jb250 aW51ZV8gPQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1biB4ICAtPgogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIChmdW4gayAgLT4KICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBmdW4gcyAgLT4KICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKGZ1 biBrICAtPiBmdW4gcyAgLT4gKGsjX2NvbnRpbnVlXyAob2JqZWN0IChzZWxm KSAgZW5kKSkgNikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAob2JqZWN0IChz ZWxmKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbCBfY29udGludWVfID0K ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBmdW4geCAgLT4KICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAoZnVuIGsgIC0+CiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ZnVuIHMgIC0+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChmdW4gayAgLT4g ZnVuIHMgIC0+IChrI19jb250aW51ZV8gKG9iamVjdCAoc2VsZikgIGVuZCkp IDcpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgKG9iamVjdCAoc2VsZikKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICB2YWwgX2NvbnRpbnVlXyA9CiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgZnVuIHggIC0+CiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgKGZ1biBrICAtPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1biBzICAt PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICgoZnVuIGsgIC0+IGZ1biBzICAt PiAoayNfY29udGludWVfIChvYmplY3QgKHNlbGYpICBlbmQpKSA5KQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIChvYmplY3QgKHNlbGYpCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgdmFsIF9jb250aW51ZV8gPQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGZ1biB4ICAtPgogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChmdW4g ayAgLT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdW4gcyAgLT4KICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAoKGZ1biBrICAtPiBmdW4gcyAgLT4gKGsjX2Nv bnRpbnVlXyAob2JqZWN0IChzZWxmKSAgZW5kKSkgMTApCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgKG9iamVjdCAoc2VsZikKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB2YWwgX2NvbnRpbnVlXyA9CiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ZnVuIHggIC0+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGZ1biBrICAtPgog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGZ1biBzICAtPgogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICgoZnVuIGsgIC0+IGZ1biBzICAtPiAoayNfY29udGludWVf IChvYmplY3QgKHNlbGYpICBlbmQpKSAxMSkKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAob2JqZWN0IChzZWxmKQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZh bCBfY29udGludWVfID0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdW4geCAg LT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAoZnVuIGsgIC0+CiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgZnVuIHMgIC0+CiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgKChmdW4gayAgLT4gZnVuIHMgIC0+IChrI19jb250aW51ZV8gKG9iamVj dCAoc2VsZikgIGVuZCkpIDEyKQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChv YmplY3QgKHNlbGYpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsIF9jb250 aW51ZV8gPSBmdW4geCAgLT4gKGZ1biBrICAtPiBmdW4gcyAgLT4gKGsjX2Nv bnRpbnVlXyAob2JqZWN0IChzZWxmKSAgZW5kKSkgMTMpIGsKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBtZXRob2Qgd2l0aF9fY29udGludWVfIHggPSB7PF9j b250aW51ZV8gPSB4Pn0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZXRob2Qg X2NvbnRpbnVlXyA9IF9jb250aW51ZV8KICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBlbmQpKSBzKSBrCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWV0aG9kIHdp dGhfX2NvbnRpbnVlXyB4ID0gezxfY29udGludWVfID0geD59CiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgbWV0aG9kIF9jb250aW51ZV8gPSBfY29udGludWVf CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgZW5kKSkgcykgawogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIG1ldGhvZCB3aXRoX19jb250aW51ZV8geCA9IHs8X2Nv bnRpbnVlXyA9IHg+fQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1ldGhvZCBf Y29udGludWVfID0gX2NvbnRpbnVlXwogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGVuZCkpIHMpIGsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZXRob2Qgd2l0 aF9fY29udGludWVfIHggPSB7PF9jb250aW51ZV8gPSB4Pn0KICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBtZXRob2QgX2NvbnRpbnVlXyA9IF9jb250aW51ZV8K ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBlbmQpKSBzKSBrCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgbWV0aG9kIHdpdGhfX2NvbnRpbnVlXyB4ID0gezxfY29u dGludWVfID0geD59CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWV0aG9kIF9j b250aW51ZV8gPSBfY29udGludWVfCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ZW5kKSkgcykgawogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1ldGhvZCB3aXRo X19jb250aW51ZV8geCA9IHs8X2NvbnRpbnVlXyA9IHg+fQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIG1ldGhvZCBfY29udGludWVfID0gX2NvbnRpbnVlXwog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGVuZCkpIHMpIGsKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBtZXRob2Qgd2l0aF9fY29udGludWVfIHggPSB7PF9jb250 aW51ZV8gPSB4Pn0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZXRob2QgX2Nv bnRpbnVlXyA9IF9jb250aW51ZV8KICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW5k KSkgcykgawogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIG1ldGhvZCB3aXRoX19jb250aW51ZV8geCA9IHs8 X2NvbnRpbnVlXyA9IHg+fQogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIG1ldGhvZCBfY29udGludWVfID0g X2NvbnRpbnVlXwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBlbmQpKSBzKSBrCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgbWV0aG9kIHdpdGhfX2NvbnRpbnVlXyB4 ID0gezxfY29udGludWVfID0geD59CiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgbWV0aG9kIF9jb250aW51ZV8gPSBfY29udGludWVf CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVuZCkpIHMp IGsKICAgICAgICAgICAgICAgICAgICAgICBtZXRob2Qgd2l0aF9fY29udGlu dWVfIHggPSB7PF9jb250aW51ZV8gPSB4Pn0KICAgICAgICAgICAgICAgICAg ICAgICBtZXRob2QgX2NvbnRpbnVlXyA9IF9jb250aW51ZV8KICAgICAgICAg ICAgICAgICAgICAgZW5kKSkgcykgawogICAgICAgIG1ldGhvZCB3aXRoX19j b250aW51ZV8geCA9IHs8X2NvbnRpbnVlXyA9IHg+fQogICAgICAgIG1ldGhv ZCBfY29udGludWVfID0gX2NvbnRpbnVlXwogICAgICBlbmQpKSBzCiAg --------------08D09FBEBCF2EEBF0A325B6A-- --WGjBw2NNMFPMF4SHL2NtWJ8JuFLQ6wONq-- --p574N8nD9bXIDMG8coILCQrjekqeqCdSR Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iEYEARECAAYFAlghk0EACgkQhMBO4cVSGS+ypQCeL4bSe/p5Z8aSfozcn/YEbrqn kqcAnjrlDQ+bz9kaHJWTxd/1OG4TJhxy =hxuF -----END PGP SIGNATURE----- --p574N8nD9bXIDMG8coILCQrjekqeqCdSR--