From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Paul Eggert Newsgroups: gmane.emacs.bugs Subject: bug#57129: 29.0.50; Improve behavior of conditionals in Eshell Date: Mon, 22 Aug 2022 15:47:28 -0500 Message-ID: <2dc7ede0-eca7-baf5-f89a-f5d292b80808__34774.8394053028$1661201535$gmane$org@cs.ucla.edu> References: <2271941c-3ac3-1525-4d9f-62c757641d6c@cs.ucla.edu> <1903912.fIoEIV5pvu@nimes> <2758072.AiC22s8V5E@nimes> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------1ZG3DV5ZpCtFgcw5NgIJL5PY" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="24206"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.11.0 Cc: jporterbugs@gmail.com, Eli Zaretskii , bug-gnulib@gnu.org, larsi@gnus.org, 57129@debbugs.gnu.org To: Bruno Haible Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Mon Aug 22 22:52:10 2022 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1oQEP3-000699-Kj for geb-bug-gnu-emacs@m.gmane-mx.org; Mon, 22 Aug 2022 22:52:09 +0200 Original-Received: from localhost ([::1]:35342 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oQEP2-0002qH-N9 for geb-bug-gnu-emacs@m.gmane-mx.org; Mon, 22 Aug 2022 16:52:08 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:59480) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oQEL4-0001GD-8b for bug-gnu-emacs@gnu.org; Mon, 22 Aug 2022 16:48:07 -0400 Original-Received: from debbugs.gnu.org ([209.51.188.43]:52159) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1oQEL3-00072n-U6 for bug-gnu-emacs@gnu.org; Mon, 22 Aug 2022 16:48:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1oQEL3-000487-Qm for bug-gnu-emacs@gnu.org; Mon, 22 Aug 2022 16:48:01 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Paul Eggert Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 22 Aug 2022 20:48:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 57129 X-GNU-PR-Package: emacs Original-Received: via spool by 57129-submit@debbugs.gnu.org id=B57129.166120126615778 (code B ref 57129); Mon, 22 Aug 2022 20:48:01 +0000 Original-Received: (at 57129) by debbugs.gnu.org; 22 Aug 2022 20:47:46 +0000 Original-Received: from localhost ([127.0.0.1]:41908 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oQEKn-00046M-GU for submit@debbugs.gnu.org; Mon, 22 Aug 2022 16:47:46 -0400 Original-Received: from zimbra.cs.ucla.edu ([131.179.128.68]:50866) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oQEKl-00045c-9X for 57129@debbugs.gnu.org; Mon, 22 Aug 2022 16:47:44 -0400 Original-Received: from localhost (localhost [127.0.0.1]) by zimbra.cs.ucla.edu (Postfix) with ESMTP id 5B8EF1600BB; Mon, 22 Aug 2022 13:47:37 -0700 (PDT) Original-Received: from zimbra.cs.ucla.edu ([127.0.0.1]) by localhost (zimbra.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10032) with ESMTP id 0_wFOfn2DugD; Mon, 22 Aug 2022 13:47:35 -0700 (PDT) Original-Received: from localhost (localhost [127.0.0.1]) by zimbra.cs.ucla.edu (Postfix) with ESMTP id 23D411600BC; Mon, 22 Aug 2022 13:47:35 -0700 (PDT) X-Virus-Scanned: amavisd-new at zimbra.cs.ucla.edu Original-Received: from zimbra.cs.ucla.edu ([127.0.0.1]) by localhost (zimbra.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id 734Q_I9nhpKQ; Mon, 22 Aug 2022 13:47:35 -0700 (PDT) Original-Received: from [192.168.0.205] (ip72-206-2-24.fv.ks.cox.net [72.206.2.24]) by zimbra.cs.ucla.edu (Postfix) with ESMTPSA id 707061600BB; Mon, 22 Aug 2022 13:47:34 -0700 (PDT) Content-Language: en-US In-Reply-To: <2758072.AiC22s8V5E@nimes> X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.io gmane.emacs.bugs:240475 Archived-At: This is a multi-part message in MIME format. --------------1ZG3DV5ZpCtFgcw5NgIJL5PY Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Thanks for the detailed diagnosis, Bruno. To try to fix the problems I installed the attached patches into Gnulib. If I understand things correctly, these patches should fix the 0.1% failure rate you observed on 64-bit mingw. They also fix a minor security leak I discovered: in rare cases, ASLR entropy was used to generate publicly visible file names, which is a no-no as that might help an attacker infer the randomized layout of a victim process. These fixes follow some but not all the suggestions you made. The basic problem I saw was that tempname.c was using too much belt-and-suspenders code, so much so that the combination of belts and suspenders misbehaved. I simplified it a bit and this removed the need for some of the suggestions. These fixes should be merged into glibc upstream since they fix glibc bugs; I plan to follow up on that shortly. --------------1ZG3DV5ZpCtFgcw5NgIJL5PY Content-Type: text/x-patch; charset=UTF-8; name="0001-tempname-merge-64-bit-time_t-fix-from-glibc.patch" Content-Disposition: attachment; filename="0001-tempname-merge-64-bit-time_t-fix-from-glibc.patch" Content-Transfer-Encoding: base64 RnJvbSA4MzA0NjE3Njg0YmE3ZjcxYzM2ZmNmNDk3ODZkM2IyNzlkZmJlZmMzIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQYXVsIEVnZ2VydCA8ZWdnZXJ0QGNzLnVjbGEuZWR1 PgpEYXRlOiBNb24sIDIyIEF1ZyAyMDIyIDEyOjIyOjUyIC0wNzAwClN1YmplY3Q6IFtQQVRD SCAxLzNdIHRlbXBuYW1lOiBtZXJnZSA2NC1iaXQgdGltZV90IGZpeCBmcm9tIGdsaWJjCgpU aGlzIG1lcmdlcyBnbGliYyBjb21taXQgNTJhNWZlNzBhMmM3NzkzNWFmZTgwN2ZiNmU5MDRl NTEyZGRkODk0ZQoiVXNlIDY0IGJpdCB0aW1lX3Qgc3RhdCBpbnRlcm5hbGx5Ii4KKiBsaWIv dGVtcG5hbWUuYyAoc3RydWN0X3N0YXQ2NCkgW19MSUJDXTogVXNlIHN0cnVjdCBfX3N0YXQ2 NF90NjQuCihfX2xzdGF0NjRfdGltZTY0KSBbIV9MSUJDXTogUmVuYW1lIGZyb20gX19sc3Rh dDY0LgpBbGwgdXNlcyBjaGFuZ2VkLgooZGlyZXhpc3RzKTogVXNlIF9fc3RhdDY0X3RpbWU2 NCBpbnN0ZWFkIG9mIF9fc3RhdDY0LgotLS0KIENoYW5nZUxvZyAgICAgIHwgMTAgKysrKysr KysrKwogbGliL3RlbXBuYW1lLmMgfCAgOCArKysrLS0tLQogMiBmaWxlcyBjaGFuZ2VkLCAx NCBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL0NoYW5nZUxv ZyBiL0NoYW5nZUxvZwppbmRleCBkZTExM2NlMDgxLi5hZGI0NDVkZGNmIDEwMDY0NAotLS0g YS9DaGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMjItMDgt MjIgIFBhdWwgRWdnZXJ0ICA8ZWdnZXJ0QGNzLnVjbGEuZWR1PgorCisJdGVtcG5hbWU6IG1l cmdlIDY0LWJpdCB0aW1lX3QgZml4IGZyb20gZ2xpYmMKKwlUaGlzIG1lcmdlcyBnbGliYyBj b21taXQgNTJhNWZlNzBhMmM3NzkzNWFmZTgwN2ZiNmU5MDRlNTEyZGRkODk0ZQorCSJVc2Ug NjQgYml0IHRpbWVfdCBzdGF0IGludGVybmFsbHkiLgorCSogbGliL3RlbXBuYW1lLmMgKHN0 cnVjdF9zdGF0NjQpIFtfTElCQ106IFVzZSBzdHJ1Y3QgX19zdGF0NjRfdDY0LgorCShfX2xz dGF0NjRfdGltZTY0KSBbIV9MSUJDXTogUmVuYW1lIGZyb20gX19sc3RhdDY0LgorCUFsbCB1 c2VzIGNoYW5nZWQuCisJKGRpcmV4aXN0cyk6IFVzZSBfX3N0YXQ2NF90aW1lNjQgaW5zdGVh ZCBvZiBfX3N0YXQ2NC4KKwogMjAyMi0wOC0xNiAgQnJ1bm8gSGFpYmxlICA8YnJ1bm9AY2xp c3Aub3JnPgogCiAJdGVtcG5hbWU6IEFkZCBtb3JlIHRlc3RzLgpkaWZmIC0tZ2l0IGEvbGli L3RlbXBuYW1lLmMgYi9saWIvdGVtcG5hbWUuYwppbmRleCA1YWRmZTYyOWE4Li40ZjYxNWI5 MGI5IDEwMDY0NAotLS0gYS9saWIvdGVtcG5hbWUuYworKysgYi9saWIvdGVtcG5hbWUuYwpA QCAtNTUsMTQgKzU1LDE0IEBACiAjaW5jbHVkZSA8dGltZS5oPgogCiAjaWYgX0xJQkMKLSMg ZGVmaW5lIHN0cnVjdF9zdGF0NjQgc3RydWN0IHN0YXQ2NAorIyBkZWZpbmUgc3RydWN0X3N0 YXQ2NCBzdHJ1Y3QgX19zdGF0NjRfdDY0CiAjIGRlZmluZSBfX3NlY3VyZV9nZXRlbnYgX19s aWJjX3NlY3VyZV9nZXRlbnYKICNlbHNlCiAjIGRlZmluZSBzdHJ1Y3Rfc3RhdDY0IHN0cnVj dCBzdGF0CiAjIGRlZmluZSBfX2dlbl90ZW1wbmFtZSBnZW5fdGVtcG5hbWUKICMgZGVmaW5l IF9fbWtkaXIgbWtkaXIKICMgZGVmaW5lIF9fb3BlbiBvcGVuCi0jIGRlZmluZSBfX2xzdGF0 NjQoZmlsZSwgYnVmKSBsc3RhdCAoZmlsZSwgYnVmKQorIyBkZWZpbmUgX19sc3RhdDY0X3Rp bWU2NChmaWxlLCBidWYpIGxzdGF0IChmaWxlLCBidWYpCiAjIGRlZmluZSBfX3N0YXQ2NChm aWxlLCBidWYpIHN0YXQgKGZpbGUsIGJ1ZikKICMgZGVmaW5lIF9fZ2V0cmFuZG9tIGdldHJh bmRvbQogIyBkZWZpbmUgX19jbG9ja19nZXR0aW1lNjQgY2xvY2tfZ2V0dGltZQpAQCAtMTA1 LDcgKzEwNSw3IEBAIHN0YXRpYyBpbnQKIGRpcmV4aXN0cyAoY29uc3QgY2hhciAqZGlyKQog ewogICBzdHJ1Y3Rfc3RhdDY0IGJ1ZjsKLSAgcmV0dXJuIF9fc3RhdDY0IChkaXIsICZidWYp ID09IDAgJiYgU19JU0RJUiAoYnVmLnN0X21vZGUpOworICByZXR1cm4gX19zdGF0NjRfdGlt ZTY0IChkaXIsICZidWYpID09IDAgJiYgU19JU0RJUiAoYnVmLnN0X21vZGUpOwogfQogCiAv KiBQYXRoIHNlYXJjaCBhbGdvcml0aG0sIGZvciB0bXBuYW0sIHRtcGZpbGUsIGV0Yy4gIElm IERJUiBpcwpAQCAtMTk3LDcgKzE5Nyw3IEBAIHRyeV9ub2NyZWF0ZSAoY2hhciAqdG1wbCwg X0dMX1VOVVNFRCB2b2lkICpmbGFncykKIHsKICAgc3RydWN0X3N0YXQ2NCBzdDsKIAotICBp ZiAoX19sc3RhdDY0ICh0bXBsLCAmc3QpID09IDAgfHwgZXJybm8gPT0gRU9WRVJGTE9XKQor ICBpZiAoX19sc3RhdDY0X3RpbWU2NCAodG1wbCwgJnN0KSA9PSAwIHx8IGVycm5vID09IEVP VkVSRkxPVykKICAgICBfX3NldF9lcnJubyAoRUVYSVNUKTsKICAgcmV0dXJuIGVycm5vID09 IEVOT0VOVCA/IDAgOiAtMTsKIH0KLS0gCjIuMzcuMgoK --------------1ZG3DV5ZpCtFgcw5NgIJL5PY Content-Type: text/x-patch; charset=UTF-8; name="0002-tempname-fix-multithreading-ASLR-leak-etc.patch" Content-Disposition: attachment; filename="0002-tempname-fix-multithreading-ASLR-leak-etc.patch" Content-Transfer-Encoding: base64 RnJvbSA5Y2U1NzNjZGUwMTcxODJhNjk4ODEyNDFlODU2NWVjMDRlNWJjNzI4IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQYXVsIEVnZ2VydCA8ZWdnZXJ0QGNzLnVjbGEuZWR1 PgpEYXRlOiBNb24sIDIyIEF1ZyAyMDIyIDEyOjA3OjI3IC0wNzAwClN1YmplY3Q6IFtQQVRD SCAyLzNdIHRlbXBuYW1lOiBmaXggbXVsdGl0aHJlYWRpbmcsIEFTTFIgbGVhayBldGMuCgpG aXggcHJvYmxlbXMgd2l0aCB0ZW1wbmFtZSBhbmQgbXVsdGl0aHJlYWRpbmcsIGVudHJvcHkg bG9zcywKYW5kIG1pc3NpbmcgY2xvY2sgZGF0YSAodGhpcyBsYXN0IG9uIG5vbi1HTlUgcGxh dGZvcm1zKS4KU2VlIGFuYWx5c2lzIGJ5IEJydW5vIEhhaWJsZSBpbjoKaHR0cHM6Ly9idWdz LmdudS5vcmcvNTcxMjkjMTQ5CldoaWxlIGxvb2tpbmcgaW50byB0aGlzLCBJIG5vdGljZWQg dGhhdCB0ZW1wbmFtZSBjYW4gbGVhawppbmZvIGRlcml2ZWQgZnJvbSBBU0xSIGludG8gcHVi bGljbHktdmlzaWJsZSBmaWxlIG5hbWVzLAp3aGljaCBpcyBhIG5vLW5vLiAgRml4IHRoYXQg dG9vLgoqIGxpYi90ZW1wbmFtZS5jOiBEb24ndCBpbmNsdWRlIHN0ZGFsaWduLmguCihIQVNf Q0xPQ0tfRU5UUk9QWSk6IFJlbW92ZS4KKG1peF9yYW5kb21fdmFsdWVzKTogTmV3IGZ1bmN0 aW9uLgoocmFuZG9tX2JpdHMpOiBVc2UgaXQuICBBcmdzIGFyZSBub3cgbmV3IHZhbHVlIGFk ZHJlc3MgYW5kCm9sZCB2YWx1ZSwgYW5kIHRoaXMgZnVuY3Rpb24gbm93IHJldHVybnMgYSBz dWNjZXNzIGluZGljYXRvci4KT21pdCBvbGQgVVNFX0dFVFJBTkRPTSBhcmd1bWVudDogYWx3 YXlzIHRyeSBnZXRyYW5kb20gbm93LCBhcwp0aGVyZSBpcyBubyBnb29kIHJlYXNvbiBub3Qg dG8gbm93IHRoYXQgR1JORF9OT05CTE9DSyBpcyB1c2VkLgpDYWxsZXIgY2hhbmdlZC4gIFVz ZSBDTE9DS19SRUFMVElNRSBmb3IgZm9yIGVyc2F0eiBlbnRyb3B5LAphcyBDTE9DS19NT05P VE9OSUMgZG9lc24ndCB3b3JrIG9uIHNvbWUgcGxhdGZvcm1zLgpBbHNvLCBtaXggaW4gZXJz YXR6IGVudHJvcHkgZnJvbSB0dl9zZWMgYW5kIGZyb20gY2xvY2sgKCkuCih0cnlfdGVtcG5h bWVfbGVuKTogRG8gbm90IG1peCBpbiBBU0xSLWJhc2VkIGVudHJvcHksIGFzCnRoZSByZXN1 bHQgaXMgcHVibGlzaGVkIHRvIHRoZSB3b3JsZCBhbmQgQVNMUiBzaG91bGQgYmUgcHJpdmF0 ZS4KRG8gbm90IHRyeSB0byB1c2UgYSBzdGF0aWMgdmFyIGFzIHRoYXQgaGFzIGlzc3VlcyBp ZiBtdWx0aXRocmVhZGVkLgpJbnN0ZWFkLCBzaW1wbHkgZ2VuZXJhdGUgbmV3IHJhbmRvbSBi aXRzLgpXb3JyeSBhYm91dCBiaWFzIG9ubHkgd2l0aCBoaWdoLXF1YWxpdHkgcmFuZG9tIGJp dHMuCiogbW9kdWxlcy90ZW1wbmFtZSAoRGVwZW5kcy1vbik6IERvIG5vdCBkZXBlbmQgb24g c3RkYWxpZ24uCi0tLQogQ2hhbmdlTG9nICAgICAgICB8IDI1ICsrKysrKysrKysrKysKIGxp Yi90ZW1wbmFtZS5jICAgfCA5NyArKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0KIG1vZHVsZXMvdGVtcG5hbWUgfCAgMSAtCiAzIGZpbGVzIGNoYW5n ZWQsIDc2IGluc2VydGlvbnMoKyksIDQ3IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL0No YW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCBhZGI0NDVkZGNmLi5lZDk5Yzg0NWY3IDEwMDY0 NAotLS0gYS9DaGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMzAgQEAKIDIw MjItMDgtMjIgIFBhdWwgRWdnZXJ0ICA8ZWdnZXJ0QGNzLnVjbGEuZWR1PgogCisJdGVtcG5h bWU6IGZpeCBtdWx0aXRocmVhZGluZywgQVNMUiBsZWFrIGV0Yy4KKwlGaXggcHJvYmxlbXMg d2l0aCB0ZW1wbmFtZSBhbmQgbXVsdGl0aHJlYWRpbmcsIGVudHJvcHkgbG9zcywKKwlhbmQg bWlzc2luZyBjbG9jayBkYXRhICh0aGlzIGxhc3Qgb24gbm9uLUdOVSBwbGF0Zm9ybXMpLgor CVNlZSBhbmFseXNpcyBieSBCcnVubyBIYWlibGUgaW46CisJaHR0cHM6Ly9idWdzLmdudS5v cmcvNTcxMjkjMTQ5CisJV2hpbGUgbG9va2luZyBpbnRvIHRoaXMsIEkgbm90aWNlZCB0aGF0 IHRlbXBuYW1lIGNhbiBsZWFrCisJaW5mbyBkZXJpdmVkIGZyb20gQVNMUiBpbnRvIHB1Ymxp Y2x5LXZpc2libGUgZmlsZSBuYW1lcywKKwl3aGljaCBpcyBhIG5vLW5vLiAgRml4IHRoYXQg dG9vLgorCSogbGliL3RlbXBuYW1lLmM6IERvbid0IGluY2x1ZGUgc3RkYWxpZ24uaC4KKwko SEFTX0NMT0NLX0VOVFJPUFkpOiBSZW1vdmUuCisJKG1peF9yYW5kb21fdmFsdWVzKTogTmV3 IGZ1bmN0aW9uLgorCShyYW5kb21fYml0cyk6IFVzZSBpdC4gIEFyZ3MgYXJlIG5vdyBuZXcg dmFsdWUgYWRkcmVzcyBhbmQKKwlvbGQgdmFsdWUsIGFuZCB0aGlzIGZ1bmN0aW9uIG5vdyBy ZXR1cm5zIGEgc3VjY2VzcyBpbmRpY2F0b3IuCisJT21pdCBvbGQgVVNFX0dFVFJBTkRPTSBh cmd1bWVudDogYWx3YXlzIHRyeSBnZXRyYW5kb20gbm93LCBhcworCXRoZXJlIGlzIG5vIGdv b2QgcmVhc29uIG5vdCB0byBub3cgdGhhdCBHUk5EX05PTkJMT0NLIGlzIHVzZWQuCisJQ2Fs bGVyIGNoYW5nZWQuICBVc2UgQ0xPQ0tfUkVBTFRJTUUgZm9yIGZvciBlcnNhdHogZW50cm9w eSwKKwlhcyBDTE9DS19NT05PVE9OSUMgZG9lc24ndCB3b3JrIG9uIHNvbWUgcGxhdGZvcm1z LgorCUFsc28sIG1peCBpbiBlcnNhdHogZW50cm9weSBmcm9tIHR2X3NlYyBhbmQgZnJvbSBj bG9jayAoKS4KKwkodHJ5X3RlbXBuYW1lX2xlbik6IERvIG5vdCBtaXggaW4gQVNMUi1iYXNl ZCBlbnRyb3B5LCBhcworCXRoZSByZXN1bHQgaXMgcHVibGlzaGVkIHRvIHRoZSB3b3JsZCBh bmQgQVNMUiBzaG91bGQgYmUgcHJpdmF0ZS4KKwlEbyBub3QgdHJ5IHRvIHVzZSBhIHN0YXRp YyB2YXIgYXMgdGhhdCBoYXMgaXNzdWVzIGlmIG11bHRpdGhyZWFkZWQuCisJSW5zdGVhZCwg c2ltcGx5IGdlbmVyYXRlIG5ldyByYW5kb20gYml0cy4KKwlXb3JyeSBhYm91dCBiaWFzIG9u bHkgd2l0aCBoaWdoLXF1YWxpdHkgcmFuZG9tIGJpdHMuCisJKiBtb2R1bGVzL3RlbXBuYW1l IChEZXBlbmRzLW9uKTogRG8gbm90IGRlcGVuZCBvbiBzdGRhbGlnbi4KKwogCXRlbXBuYW1l OiBtZXJnZSA2NC1iaXQgdGltZV90IGZpeCBmcm9tIGdsaWJjCiAJVGhpcyBtZXJnZXMgZ2xp YmMgY29tbWl0IDUyYTVmZTcwYTJjNzc5MzVhZmU4MDdmYjZlOTA0ZTUxMmRkZDg5NGUKIAki VXNlIDY0IGJpdCB0aW1lX3Qgc3RhdCBpbnRlcm5hbGx5Ii4KZGlmZiAtLWdpdCBhL2xpYi90 ZW1wbmFtZS5jIGIvbGliL3RlbXBuYW1lLmMKaW5kZXggNGY2MTViOTBiOS4uYmMxZjdjMTRk ZCAxMDA2NDQKLS0tIGEvbGliL3RlbXBuYW1lLmMKKysrIGIvbGliL3RlbXBuYW1lLmMKQEAg LTQ4LDcgKzQ4LDYgQEAKICNpbmNsdWRlIDxzdHJpbmcuaD4KIAogI2luY2x1ZGUgPGZjbnRs Lmg+Ci0jaW5jbHVkZSA8c3RkYWxpZ24uaD4KICNpbmNsdWRlIDxzdGRpbnQuaD4KICNpbmNs dWRlIDxzeXMvcmFuZG9tLmg+CiAjaW5jbHVkZSA8c3lzL3N0YXQuaD4KQEAgLTc3LDI2ICs3 Niw1NSBAQCB0eXBlZGVmIHVpbnRfZmFzdDY0X3QgcmFuZG9tX3ZhbHVlOwogI2RlZmluZSBC QVNFXzYyX0RJR0lUUyAxMCAvKiA2MioqMTAgPCBVSU5UX0ZBU1Q2NF9NQVggKi8KICNkZWZp bmUgQkFTRV82Ml9QT1dFUiAoNjJMTCAqIDYyICogNjIgKiA2MiAqIDYyICogNjIgKiA2MiAq IDYyICogNjIgKiA2MikKIAotI2lmIF9MSUJDIHx8IChkZWZpbmVkIENMT0NLX01PTk9UT05J QyAmJiBIQVZFX0NMT0NLX0dFVFRJTUUpCi0jIGRlZmluZSBIQVNfQ0xPQ0tfRU5UUk9QWSB0 cnVlCi0jZWxzZQotIyBkZWZpbmUgSEFTX0NMT0NLX0VOVFJPUFkgZmFsc2UKLSNlbmRpZgor LyogUmV0dXJuIHRoZSByZXN1bHQgb2YgbWl4aW5nIHRoZSBlbnRyb3B5IGZyb20gUiBhbmQg Uy4KKyAgIEFzc3VtZSB0aGF0IFIgYW5kIFMgYXJlIG5vdCBwYXJ0aWN1bGFybHkgcmFuZG9t LAorICAgYW5kIHRoYXQgdGhlIHJlc3VsdCBzaG91bGQgbG9vayByYW5kb21pc2ggdG8gYW4g dW50cmFpbmVkIGV5ZS4gICovCiAKIHN0YXRpYyByYW5kb21fdmFsdWUKLXJhbmRvbV9iaXRz IChyYW5kb21fdmFsdWUgdmFyLCBib29sIHVzZV9nZXRyYW5kb20pCittaXhfcmFuZG9tX3Zh bHVlcyAocmFuZG9tX3ZhbHVlIHIsIHJhbmRvbV92YWx1ZSBzKQoreworICAvKiBBcyB0aGlz IGNvZGUgaXMgdXNlZCBvbmx5IHdoZW4gaGlnaC1xdWFsaXR5IHJhbmRvbW5lc3MgaXMgbmVp dGhlcgorICAgICBhdmFpbGFibGUgbm9yIG5lY2Vzc2FyeSwgdGhlcmUgaXMgbm8gbmVlZCBm b3IgZmFuY2llciBwb2x5bm9taWFscworICAgICBzdWNoIGFzIHRob3NlIGluIHRoZSBMaW51 eCBrZXJuZWwncyAncmFuZG9tJyBkcml2ZXIuICAqLworICByZXR1cm4gKDI4NjI5MzM1NTU3 Nzc5NDE3NTcgKiByICsgMzAzNzAwMDQ5MykgXiBzOworfQorCisvKiBTZXQgKlIgdG8gYSBy YW5kb20gdmFsdWUuCisgICBSZXR1cm4gdHJ1ZSBpZiAqUiBpcyBzZXQgdG8gaGlnaC1xdWFs aXR5IHZhbHVlIHRha2VuIGZyb20gZ2V0cmFuZG9tLgorICAgT3RoZXJ3aXNlIHJldHVybiBm YWxzZSwgZmFsbGluZyBiYWNrIHRvIGEgbG93LXF1YWxpdHkgKlIgdGhhdCBtaWdodAorICAg ZGVwZW5kIG9uIFMuCisKKyAgIFRoaXMgZnVuY3Rpb24gcmV0dXJucyBmYWxzZSBvbmx5IHdo ZW4gZ2V0cmFuZG9tIGZhaWxzLgorICAgT24gR05VIHN5c3RlbXMgdGhpcyBzaG91bGQgaGFw cGVuIG9ubHkgZWFybHkgaW4gdGhlIGJvb3QgcHJvY2VzcywKKyAgIHdoZW4gdGhlIGZhbGxi YWNrIHNob3VsZCBiZSBnb29kIGVub3VnaCBmb3IgcHJvZ3JhbXMgdXNpbmcgdGVtcG5hbWUK KyAgIGJlY2F1c2UgYW55IGF0dGFja2VyIGxpa2VseSBoYXMgcm9vdCBwcml2aWxlZ2VzIGFs cmVhZHkuICAqLworCitzdGF0aWMgYm9vbAorcmFuZG9tX2JpdHMgKHJhbmRvbV92YWx1ZSAq ciwgcmFuZG9tX3ZhbHVlIHMpCiB7Ci0gIHJhbmRvbV92YWx1ZSByOwogICAvKiBXaXRob3V0 IEdSTkRfTk9OQkxPQ0sgaXQgY2FuIGJlIGJsb2NrZWQgZm9yIG1pbnV0ZXMgb24gc29tZSBz eXN0ZW1zLiAgKi8KLSAgaWYgKHVzZV9nZXRyYW5kb20gJiYgX19nZXRyYW5kb20gKCZyLCBz aXplb2YgciwgR1JORF9OT05CTE9DSykgPT0gc2l6ZW9mIHIpCi0gICAgcmV0dXJuIHI7Ci0j aWYgSEFTX0NMT0NLX0VOVFJPUFkKLSAgLyogQWRkIGVudHJvcHkgaWYgZ2V0cmFuZG9tIGRp ZCBub3Qgd29yay4gICovCisgIGlmIChfX2dldHJhbmRvbSAociwgc2l6ZW9mICpyLCBHUk5E X05PTkJMT0NLKSA9PSBzaXplb2YgKnIpCisgICAgcmV0dXJuIHRydWU7CisKKyAgLyogSWYg Z2V0cmFuZG9tIGRpZCBub3Qgd29yaywgdXNlIGVyc2F0eiBlbnRyb3B5IGJhc2VkIG9uIGxv dy1vcmRlcgorICAgICBjbG9jayBiaXRzLiAgT24gR05VIHN5c3RlbXMgZ2V0cmFuZG9tIHNo b3VsZCBmYWlsIG9ubHkKKyAgICAgZWFybHkgaW4gYm9vdGluZywgd2hlbiBlcnNhdHogc2hv dWxkIGJlIGdvb2QgZW5vdWdoLgorICAgICBEbyBub3QgdXNlIEFTTFItYmFzZWQgZW50cm9w eSwgYXMgdGhhdCB3b3VsZCBsZWFrIEFTTFIgaW5mbyBpbnRvCisgICAgIHRoZSByZXN1bHRp bmcgZmlsZSBuYW1lIHdoaWNoIGlzIHR5cGljYWxseSBwdWJsaWMuCisKKyAgICAgT2YgY291 cnNlIHdlIGFyZSBpbiBhIHN0YXRlIG9mIHNpbiBoZXJlLiAgKi8KKworICByYW5kb21fdmFs dWUgdiA9IDA7CisKKyNpZiBfTElCQyB8fCAoZGVmaW5lZCBDTE9DS19SRUFMVElNRSAmJiBI QVZFX0NMT0NLX0dFVFRJTUUpCiAgIHN0cnVjdCBfX3RpbWVzcGVjNjQgdHY7Ci0gIF9fY2xv Y2tfZ2V0dGltZTY0IChDTE9DS19NT05PVE9OSUMsICZ0dik7Ci0gIHZhciBePSB0di50dl9u c2VjOworICBfX2Nsb2NrX2dldHRpbWU2NCAoQ0xPQ0tfUkVBTFRJTUUsICZ0dik7CisgIHYg PSBtaXhfcmFuZG9tX3ZhbHVlcyAodiwgdHYudHZfc2VjKTsKKyAgdiA9IG1peF9yYW5kb21f dmFsdWVzICh2LCB0di50dl9uc2VjKTsKICNlbmRpZgotICByZXR1cm4gMjg2MjkzMzU1NTc3 Nzk0MTc1NyAqIHZhciArIDMwMzcwMDA0OTM7CisKKyAgKnIgPSBtaXhfcmFuZG9tX3ZhbHVl cyAodiwgY2xvY2sgKCkpOworICByZXR1cm4gZmFsc2U7CiB9CiAKICNpZiBfTElCQwpAQCAt MjY3LDMyICsyOTUsMTUgQEAgdHJ5X3RlbXBuYW1lX2xlbiAoY2hhciAqdG1wbCwgaW50IHN1 ZmZpeGxlbiwgdm9pZCAqYXJncywKICAgdW5zaWduZWQgaW50IGF0dGVtcHRzID0gQVRURU1Q VFNfTUlOOwogI2VuZGlmCiAKLSAgLyogQSByYW5kb20gdmFyaWFibGUuICBUaGUgaW5pdGlh bCB2YWx1ZSBpcyB1c2VkIG9ubHkgdGhlIGZvciBmYWxsYmFjayBwYXRoCi0gICAgIG9uICdy YW5kb21fYml0cycgb24gJ2dldHJhbmRvbScgZmFpbHVyZS4gIEl0cyBpbml0aWFsIHZhbHVl IHRyaWVzIHRvIHVzZQotICAgICBzb21lIGVudHJvcHkgZnJvbSB0aGUgQVNMUiBhbmQgaWdu b3JlIHBvc3NpYmxlIGJpdHMgZnJvbSB0aGUgc3RhY2sKLSAgICAgYWxpZ25tZW50LiAgKi8K LSAgcmFuZG9tX3ZhbHVlIHYgPSAoKHVpbnRwdHJfdCkgJnYpIC8gYWxpZ25vZiAobWF4X2Fs aWduX3QpOwotCi0jaWYgIUhBU19DTE9DS19FTlRST1BZCi0gIC8qIEFycmFuZ2UgZ2VuX3Rl bXBuYW1lIHRvIHJldHVybiBsZXNzIHByZWRpY3RhYmxlIGZpbGUgbmFtZXMgb24KLSAgICAg c3lzdGVtcyBsYWNraW5nIGNsb2NrIGVudHJvcHkgPGh0dHBzOi8vYnVncy5nbnUub3JnLzU3 MTI5Pi4gICovCi0gIHN0YXRpYyByYW5kb21fdmFsdWUgcHJldl92OwotICB2IF49IHByZXZf djsKLSNlbmRpZgorICAvKiBBIHJhbmRvbSB2YXJpYWJsZS4gICovCisgIHJhbmRvbV92YWx1 ZSB2ID0gMDsKIAogICAvKiBIb3cgbWFueSByYW5kb20gYmFzZS02MiBkaWdpdHMgY2FuIGN1 cnJlbnRseSBiZSBleHRyYWN0ZWQgZnJvbSBWLiAgKi8KICAgaW50IHZkaWdpdHMgPSAwOwog Ci0gIC8qIFdoZXRoZXIgdG8gY29uc3VtZSBlbnRyb3B5IHdoZW4gYWNxdWlyaW5nIHJhbmRv bSBiaXRzLiAgT24gdGhlCi0gICAgIGZpcnN0IHRyeSBpdCdzIHdvcnRoIHRoZSBlbnRyb3B5 IGNvc3Qgd2l0aCBfX0dUX05PQ1JFQVRFLCB3aGljaAotICAgICBpcyBpbmhlcmVudGx5IGlu c2VjdXJlIGFuZCBjYW4gdXNlIHRoZSBlbnRyb3B5IHRvIG1ha2UgaXQgYSBiaXQKLSAgICAg bW9yZSBzZWN1cmUuICBPbiB0aGUgKHJhcmUpIHNlY29uZCBhbmQgbGF0ZXIgYXR0ZW1wdHMg aXQgbWlnaHQKLSAgICAgaGVscCBhZ2FpbnN0IERvUyBhdHRhY2tzLiAgKi8KLSAgYm9vbCB1 c2VfZ2V0cmFuZG9tID0gdHJ5ZnVuYyA9PSB0cnlfbm9jcmVhdGU7Ci0KLSAgLyogTGVhc3Qg dW5mYWlyIHZhbHVlIGZvciBWLiAgSWYgViBpcyBsZXNzIHRoYW4gdGhpcywgViBjYW4gZ2Vu ZXJhdGUKLSAgICAgQkFTRV82Ml9ESUdJVFMgZGlnaXRzIGZhaXJseS4gIE90aGVyd2lzZSBp dCBtaWdodCBiZSBiaWFzZWQuICAqLwotICByYW5kb21fdmFsdWUgY29uc3QgdW5mYWlyX21p bgorICAvKiBMZWFzdCBiaWFzZWQgdmFsdWUgZm9yIFYuICBJZiBWIGlzIGxlc3MgdGhhbiB0 aGlzLCBWIGNhbiBnZW5lcmF0ZQorICAgICBCQVNFXzYyX0RJR0lUUyB1bmJpYXNlZCBkaWdp dHMuICBPdGhlcndpc2UgdGhlIGRpZ2l0cyBhcmUgYmlhc2VkLiAgKi8KKyAgcmFuZG9tX3Zh bHVlIGNvbnN0IGJpYXNlZF9taW4KICAgICA9IFJBTkRPTV9WQUxVRV9NQVggLSBSQU5ET01f VkFMVUVfTUFYICUgQkFTRV82Ml9QT1dFUjsKIAogICBsZW4gPSBzdHJsZW4gKHRtcGwpOwpA QCAtMzEyLDEyICszMjMsOSBAQCB0cnlfdGVtcG5hbWVfbGVuIChjaGFyICp0bXBsLCBpbnQg c3VmZml4bGVuLCB2b2lkICphcmdzLAogICAgICAgICB7CiAgICAgICAgICAgaWYgKHZkaWdp dHMgPT0gMCkKICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgZG8KLSAgICAgICAgICAg ICAgICB7Ci0gICAgICAgICAgICAgICAgICB2ID0gcmFuZG9tX2JpdHMgKHYsIHVzZV9nZXRy YW5kb20pOwotICAgICAgICAgICAgICAgICAgdXNlX2dldHJhbmRvbSA9IHRydWU7Ci0gICAg ICAgICAgICAgICAgfQotICAgICAgICAgICAgICB3aGlsZSAodW5mYWlyX21pbiA8PSB2KTsK KyAgICAgICAgICAgICAgLyogV29ycnkgYWJvdXQgYmlhcyBvbmx5IGlmIHRoZSBiaXRzIGFy ZSBoaWdoIHF1YWxpdHkuICAqLworICAgICAgICAgICAgICB3aGlsZSAocmFuZG9tX2JpdHMg KCZ2LCB2KSAmJiBiaWFzZWRfbWluIDw9IHYpCisgICAgICAgICAgICAgICAgY29udGludWU7 CiAKICAgICAgICAgICAgICAgdmRpZ2l0cyA9IEJBU0VfNjJfRElHSVRTOwogICAgICAgICAg ICAgfQpAQCAtMzMxLDkgKzMzOSw2IEBAIHRyeV90ZW1wbmFtZV9sZW4gKGNoYXIgKnRtcGws IGludCBzdWZmaXhsZW4sIHZvaWQgKmFyZ3MsCiAgICAgICBpZiAoZmQgPj0gMCkKICAgICAg ICAgewogICAgICAgICAgIF9fc2V0X2Vycm5vIChzYXZlX2Vycm5vKTsKLSNpZiAhSEFTX0NM T0NLX0VOVFJPUFkKLSAgICAgICAgICBwcmV2X3YgPSB2OwotI2VuZGlmCiAgICAgICAgICAg cmV0dXJuIGZkOwogICAgICAgICB9CiAgICAgICBlbHNlIGlmIChlcnJubyAhPSBFRVhJU1Qp CmRpZmYgLS1naXQgYS9tb2R1bGVzL3RlbXBuYW1lIGIvbW9kdWxlcy90ZW1wbmFtZQppbmRl eCA0Nzc5NzM1ZDlkLi5mMWZiNzhlOGZmIDEwMDY0NAotLS0gYS9tb2R1bGVzL3RlbXBuYW1l CisrKyBiL21vZHVsZXMvdGVtcG5hbWUKQEAgLTE2LDcgKzE2LDYgQEAgZ2V0cmFuZG9tCiBs aWJjLWNvbmZpZwogbHN0YXQKIG1rZGlyCi1zdGRhbGlnbgogc3RkYm9vbAogc3RkaW50CiBz eXNfc3RhdAotLSAKMi4zNy4yCgo= --------------1ZG3DV5ZpCtFgcw5NgIJL5PY Content-Type: text/x-patch; charset=UTF-8; name="0003-tempname-don-t-lose-entropy-in-seed.patch" Content-Disposition: attachment; filename="0003-tempname-don-t-lose-entropy-in-seed.patch" Content-Transfer-Encoding: base64 RnJvbSBkMjdjODIwNTk1MTc1ZWQ1NjNiNGQ0ZWU1ZDBmNDIxMDExODkxNTcyIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQYXVsIEVnZ2VydCA8ZWdnZXJ0QGNzLnVjbGEuZWR1 PgpEYXRlOiBNb24sIDIyIEF1ZyAyMDIyIDE1OjQzOjE4IC0wNTAwClN1YmplY3Q6IFtQQVRD SCAzLzNdIHRlbXBuYW1lOiBkb24ndCBsb3NlIGVudHJvcHkgaW4gc2VlZAoKKiBsaWIvdGVt cG5hbWUuYyAocmFuZG9tX2JpdHMpOiBEb24ndCBsb3NlIGVudHJvcHkgaW4gUwppbiB0aGUg cmFyZSBjYXNlIHdoZXJlIHdoZXJlIHRoZSB0ZW1wbGF0ZSBoYXMgbW9yZSB0aGFuIDEwIFhz LgpGcm9tIGEgc3VnZ2VzdGlvbiBieSBCcnVubyBIYWlibGUgaW46Cmh0dHBzOi8vYnVncy5n bnUub3JnLzU3MTI5IzE0OQotLS0KIENoYW5nZUxvZyAgICAgIHwgIDcgKysrKysrKwogbGli L3RlbXBuYW1lLmMgfCAxMSArKysrKysrLS0tLQogMiBmaWxlcyBjaGFuZ2VkLCAxNCBpbnNl cnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0No YW5nZUxvZwppbmRleCBlZDk5Yzg0NWY3Li40ZDFjOTJjZDgxIDEwMDY0NAotLS0gYS9DaGFu Z2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMTEgQEAKIDIwMjItMDgtMjIgIFBh dWwgRWdnZXJ0ICA8ZWdnZXJ0QGNzLnVjbGEuZWR1PgogCisJdGVtcG5hbWU6IGRvbid0IGxv c2UgZW50cm9weSBpbiBzZWVkCisJKiBsaWIvdGVtcG5hbWUuYyAocmFuZG9tX2JpdHMpOiBE b24ndCBsb3NlIGVudHJvcHkgaW4gUworCWluIHRoZSByYXJlIGNhc2Ugd2hlcmUgd2hlcmUg dGhlIHRlbXBsYXRlIGhhcyBtb3JlIHRoYW4gMTAgWHMuCisJRnJvbSBhIHN1Z2dlc3Rpb24g YnkgQnJ1bm8gSGFpYmxlIGluOgorCWh0dHBzOi8vYnVncy5nbnUub3JnLzU3MTI5IzE0OQor CiAJdGVtcG5hbWU6IGZpeCBtdWx0aXRocmVhZGluZywgQVNMUiBsZWFrIGV0Yy4KIAlGaXgg cHJvYmxlbXMgd2l0aCB0ZW1wbmFtZSBhbmQgbXVsdGl0aHJlYWRpbmcsIGVudHJvcHkgbG9z cywKIAlhbmQgbWlzc2luZyBjbG9jayBkYXRhICh0aGlzIGxhc3Qgb24gbm9uLUdOVSBwbGF0 Zm9ybXMpLgpAQCAtMjMsNiArMjksNyBAQAogCURvIG5vdCB0cnkgdG8gdXNlIGEgc3RhdGlj IHZhciBhcyB0aGF0IGhhcyBpc3N1ZXMgaWYgbXVsdGl0aHJlYWRlZC4KIAlJbnN0ZWFkLCBz aW1wbHkgZ2VuZXJhdGUgbmV3IHJhbmRvbSBiaXRzLgogCVdvcnJ5IGFib3V0IGJpYXMgb25s eSB3aXRoIGhpZ2gtcXVhbGl0eSByYW5kb20gYml0cy4KKwogCSogbW9kdWxlcy90ZW1wbmFt ZSAoRGVwZW5kcy1vbik6IERvIG5vdCBkZXBlbmQgb24gc3RkYWxpZ24uCiAKIAl0ZW1wbmFt ZTogbWVyZ2UgNjQtYml0IHRpbWVfdCBmaXggZnJvbSBnbGliYwpkaWZmIC0tZ2l0IGEvbGli L3RlbXBuYW1lLmMgYi9saWIvdGVtcG5hbWUuYwppbmRleCBiYzFmN2MxNGRkLi4wZTJmMjlm NWRlIDEwMDY0NAotLS0gYS9saWIvdGVtcG5hbWUuYworKysgYi9saWIvdGVtcG5hbWUuYwpA QCAtMTE0LDcgKzExNCw3IEBAIHJhbmRvbV9iaXRzIChyYW5kb21fdmFsdWUgKnIsIHJhbmRv bV92YWx1ZSBzKQogCiAgICAgIE9mIGNvdXJzZSB3ZSBhcmUgaW4gYSBzdGF0ZSBvZiBzaW4g aGVyZS4gICovCiAKLSAgcmFuZG9tX3ZhbHVlIHYgPSAwOworICByYW5kb21fdmFsdWUgdiA9 IHM7CiAKICNpZiBfTElCQyB8fCAoZGVmaW5lZCBDTE9DS19SRUFMVElNRSAmJiBIQVZFX0NM T0NLX0dFVFRJTUUpCiAgIHN0cnVjdCBfX3RpbWVzcGVjNjQgdHY7CkBAIC0yOTgsNyArMjk4 LDkgQEAgdHJ5X3RlbXBuYW1lX2xlbiAoY2hhciAqdG1wbCwgaW50IHN1ZmZpeGxlbiwgdm9p ZCAqYXJncywKICAgLyogQSByYW5kb20gdmFyaWFibGUuICAqLwogICByYW5kb21fdmFsdWUg diA9IDA7CiAKLSAgLyogSG93IG1hbnkgcmFuZG9tIGJhc2UtNjIgZGlnaXRzIGNhbiBjdXJy ZW50bHkgYmUgZXh0cmFjdGVkIGZyb20gVi4gICovCisgIC8qIEEgdmFsdWUgZGVyaXZlZCBm cm9tIHRoZSByYW5kb20gdmFyaWFibGUsIGFuZCBob3cgbWFueSByYW5kb20KKyAgICAgYmFz ZS02MiBkaWdpdHMgY2FuIGN1cnJlbnRseSBiZSBleHRyYWN0ZWQgZnJvbSBWRElHQlVGLiAg Ki8KKyAgcmFuZG9tX3ZhbHVlIHZkaWdidWY7CiAgIGludCB2ZGlnaXRzID0gMDsKIAogICAv KiBMZWFzdCBiaWFzZWQgdmFsdWUgZm9yIFYuICBJZiBWIGlzIGxlc3MgdGhhbiB0aGlzLCBW IGNhbiBnZW5lcmF0ZQpAQCAtMzI3LDExICszMjksMTIgQEAgdHJ5X3RlbXBuYW1lX2xlbiAo Y2hhciAqdG1wbCwgaW50IHN1ZmZpeGxlbiwgdm9pZCAqYXJncywKICAgICAgICAgICAgICAg d2hpbGUgKHJhbmRvbV9iaXRzICgmdiwgdikgJiYgYmlhc2VkX21pbiA8PSB2KQogICAgICAg ICAgICAgICAgIGNvbnRpbnVlOwogCisgICAgICAgICAgICAgIHZkaWdidWYgPSB2OwogICAg ICAgICAgICAgICB2ZGlnaXRzID0gQkFTRV82Ml9ESUdJVFM7CiAgICAgICAgICAgICB9CiAK LSAgICAgICAgICBYWFhYWFhbaV0gPSBsZXR0ZXJzW3YgJSA2Ml07Ci0gICAgICAgICAgdiAv PSA2MjsKKyAgICAgICAgICBYWFhYWFhbaV0gPSBsZXR0ZXJzW3ZkaWdidWYgJSA2Ml07Cisg ICAgICAgICAgdmRpZ2J1ZiAvPSA2MjsKICAgICAgICAgICB2ZGlnaXRzLS07CiAgICAgICAg IH0KIAotLSAKMi4zNy4yCgo= --------------1ZG3DV5ZpCtFgcw5NgIJL5PY--