From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Dmitry Gutov Newsgroups: gmane.emacs.bugs Subject: bug#66020: [PATCH] Reduce GC churn in read_process_output Date: Sun, 24 Sep 2023 01:45:46 +0300 Message-ID: <5671e412-a23f-2d86-1e8d-985946685eca@gutov.dev> References: <3a6287c3-8458-663e-ffce-8f48b30bf73d@gutov.dev> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------DyANkJr4Sjysej9e6FAKU5xu" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="8788"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.13.0 To: 66020@debbugs.gnu.org, Eli Zaretskii , Stefan Monnier , Stefan Kangas Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Sun Sep 24 00:47:14 2023 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 1qkBP6-00020q-Vv for geb-bug-gnu-emacs@m.gmane-mx.org; Sun, 24 Sep 2023 00:47:14 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qkBOm-00023C-Qe; Sat, 23 Sep 2023 18:46:52 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qkBOl-000234-25 for bug-gnu-emacs@gnu.org; Sat, 23 Sep 2023 18:46:51 -0400 Original-Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1qkBOk-0001yA-Jf for bug-gnu-emacs@gnu.org; Sat, 23 Sep 2023 18:46:50 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1qkBOv-0008O5-Vi for bug-gnu-emacs@gnu.org; Sat, 23 Sep 2023 18:47:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Dmitry Gutov Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 23 Sep 2023 22:47:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 66020 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch Original-Received: via spool by 66020-submit@debbugs.gnu.org id=B66020.169550917432161 (code B ref 66020); Sat, 23 Sep 2023 22:47:01 +0000 Original-Received: (at 66020) by debbugs.gnu.org; 23 Sep 2023 22:46:14 +0000 Original-Received: from localhost ([127.0.0.1]:40749 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qkBO8-0008MT-Ms for submit@debbugs.gnu.org; Sat, 23 Sep 2023 18:46:13 -0400 Original-Received: from wout2-smtp.messagingengine.com ([64.147.123.25]:46099) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qkBO3-0008Ls-5h for 66020@debbugs.gnu.org; Sat, 23 Sep 2023 18:46:11 -0400 Original-Received: from compute4.internal (compute4.nyi.internal [10.202.2.44]) by mailout.west.internal (Postfix) with ESMTP id 8E1DC320093E; Sat, 23 Sep 2023 18:45:49 -0400 (EDT) Original-Received: from mailfrontend2 ([10.202.2.163]) by compute4.internal (MEProxy); Sat, 23 Sep 2023 18:45:49 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gutov.dev; h=cc :content-type:content-type:date:date:from:from:in-reply-to :in-reply-to:message-id:mime-version:references:reply-to:sender :subject:subject:to:to; s=fm1; t=1695509149; x=1695595549; bh=SK ukJsMAtn0ZO4R01C6lpu2DbBMqwdwX7I/0rIOpOUA=; b=AxUJA6rjNaFQi7ykHm 2pKV6980UYrhMNlRrZEOkBUffzoq04OGGAH7DrDsh1DQSpUid3UWtYpFO6qhhhfb wwuygQCFE4jn+IE3B1NQLmlkq8n5MO/UNFKc7r1ClsllpEBEEP9JfZN+9LfOkwpL rcVEWUTqgGDtEJlsFoF5SRxMSTGK9PLpJj05P8heRggdj1G/n3cy8IUu/r0UJylY gFgpVXt86Ynwu5G147b/fRq0Rync9WeJ/dK55LJH88iEyrlS6kK8FH5B8cWx72Jo h7opXyMpUJlRWp/0cBze8uaFIt+F6pgaPxgKZURrNkYKCLthMVdkQ0N2clF9H/7z Abig== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-type:content-type:date:date :feedback-id:feedback-id:from:from:in-reply-to:in-reply-to :message-id:mime-version:references:reply-to:sender:subject :subject:to:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender :x-sasl-enc; s=fm2; t=1695509149; x=1695595549; bh=SKukJsMAtn0ZO 4R01C6lpu2DbBMqwdwX7I/0rIOpOUA=; b=Z/iY1ygySB1YHKuzH81Veyrziejdg J9PwYZzXTC7XSJtMT4KfkJtkfYFAsdnH+2f94JP8gpijM8xRUAfOAaGxXfOv//MZ aR+hHDhKk1VkmIZ6qRwRGDUOf+M/4Vj5CJ7rNdDyUKE7KFq49akh52FQjU5K0rvb cA3z5XQhpgW1iElD0qbTsZdJYCO7qEeV7oP8z9OfXyhQ08wers6ILaGNtQG9irpr SuNtErSaJA76BC3ps5yt0TutbUVplFYzPQXRPqzU1ZSoZhY3lcVagsqu51mp3Eh4 ovITuZ4Rg0NI8POWWGN67xfps3gb8Y7YGrunki6R3TkahvR/XorVZOk6Q== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedviedrudeluddgudehucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurheptgfkffggfgfuhffvfhgjsehmtderredtfeejnecuhfhrohhmpeffmhhithhr hicuifhuthhovhcuoegumhhithhrhiesghhuthhovhdruggvvheqnecuggftrfgrthhtvg hrnhepveeghedvudegjeeigeeujefftdffieehtdejtdevgfevheeiueeuteffffefiefg necuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepughmih htrhihsehguhhtohhvrdguvghv X-ME-Proxy: Feedback-ID: i0e71465a:Fastmail Original-Received: by mail.messagingengine.com (Postfix) with ESMTPA; Sat, 23 Sep 2023 18:45:47 -0400 (EDT) Content-Language: en-US In-Reply-To: <3a6287c3-8458-663e-ffce-8f48b30bf73d@gutov.dev> 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-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.bugs:271200 Archived-At: This is a multi-part message in MIME format. --------------DyANkJr4Sjysej9e6FAKU5xu Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Here are the previously discussed patches, collected in one place for easier review. As explained, the last one is more experimental, a possible alternative to bumping read-process-output-max to 65536. --------------DyANkJr4Sjysej9e6FAKU5xu Content-Type: text/x-patch; charset=UTF-8; name="0001-Go-around-calling-the-default-process-filter-reducin.patch" Content-Disposition: attachment; filename*0="0001-Go-around-calling-the-default-process-filter-reducin.pa"; filename*1="tch" Content-Transfer-Encoding: base64 RnJvbSAwMDgyZmNlNDViNjc3ZjdmOTJkMWE0Y2JhYzViMTJiNzYzOTQxYWQyIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBEbWl0cnkgR3V0b3YgPGRtaXRyeUBndXRvdi5kZXY+ CkRhdGU6IFN1biwgMjQgU2VwIDIwMjMgMDE6MTk6MTQgKzAzMDAKU3ViamVjdDogW1BBVENI IDEvM10gR28gYXJvdW5kIGNhbGxpbmcgdGhlIGRlZmF1bHQgcHJvY2VzcyBmaWx0ZXIgKHJl ZHVjaW5nIEdDCiBjaHVybikKCkluc3RlYWQgb2YgYWxsb2NhdGluZyBzdHJpbmdzIGFuZCBw YXNzaW5nIHRoZW0gdG8gdGhlIGZpbHRlciwgcGFzc2luZwp0aGUgY2hhciBidWZmZXIgdG8g YSBDIGZ1bmN0aW9uIGltcGxlbWVudGluZyB0aGUgc2FtZSBsb2dpYy4KCiogc3JjL3Byb2Nl c3MuYyAocmVhZF9wcm9jZXNzX291dHB1dF9iZWZvcmVfaW5zZXJ0KQoocmVhZF9wcm9jZXNz X291dHB1dF9hZnRlcl9pbnNlcnQpOiBOZXcgZnVuY3Rpb25zLCBleHRyYWN0ZWQgZnJvbQpp bnRlcm5hbC1kZWZhdWx0LXByb2Nlc3MtZmlsdGVyLgooRmludGVybmFsX2RlZmF1bHRfcHJv Y2Vzc19maWx0ZXIpOiBVc2UgdGhlbS4KKHJlYWRfYW5kX2luc2VydF9wcm9jZXNzX291dHB1 dCk6IE5ldyBmdW5jdGlvbi4gIFVzZSB0aGVtLgoocmVhZF9wcm9jZXNzX291dHB1dF9mYXN0 KTogTmV3IHZhcmlhYmxlLgoocmVhZF9wcm9jZXNzX291dHB1dCk6IFVzZSBpdCB0byBjaG9v c2UgaG93IHRvIGluc2VydCAoYnVnIzY2MDIwKS4KLS0tCiBzcmMvcHJvY2Vzcy5jIHwgMTk4 ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tCiAx IGZpbGUgY2hhbmdlZCwgMTQzIGluc2VydGlvbnMoKyksIDU1IGRlbGV0aW9ucygtKQoKZGlm ZiAtLWdpdCBhL3NyYy9wcm9jZXNzLmMgYi9zcmMvcHJvY2Vzcy5jCmluZGV4IDIzNzZkMGYy ODhkLi5lOTMyZWNmN2U0MyAxMDA2NDQKLS0tIGEvc3JjL3Byb2Nlc3MuYworKysgYi9zcmMv cHJvY2Vzcy5jCkBAIC02MTEzLDYgKzYxMTMsMTEgQEAgcmVhZF9hbmRfZGlzcG9zZV9vZl9w cm9jZXNzX291dHB1dCAoc3RydWN0IExpc3BfUHJvY2VzcyAqcCwgY2hhciAqY2hhcnMsCiAJ CQkJICAgIHNzaXplX3QgbmJ5dGVzLAogCQkJCSAgICBzdHJ1Y3QgY29kaW5nX3N5c3RlbSAq Y29kaW5nKTsKIAorc3RhdGljIHZvaWQKK3JlYWRfYW5kX2luc2VydF9wcm9jZXNzX291dHB1 dCAoc3RydWN0IExpc3BfUHJvY2VzcyAqcCwgY2hhciAqYnVmLAorCQkJCSAgICBzc2l6ZV90 IG5yZWFkLAorCQkJCXN0cnVjdCBjb2Rpbmdfc3lzdGVtICpwcm9jZXNzX2NvZGluZyk7CisK IC8qIFJlYWQgcGVuZGluZyBvdXRwdXQgZnJvbSB0aGUgcHJvY2VzcyBjaGFubmVsLAogICAg c3RhcnRpbmcgd2l0aCBvdXIgYnVmZmVyZWQtYWhlYWQgY2hhcmFjdGVyIGlmIHdlIGhhdmUg b25lLgogICAgWWllbGQgbnVtYmVyIG9mIGRlY29kZWQgY2hhcmFjdGVycyByZWFkLApAQCAt NjIyOCw3ICs2MjMzLDEwIEBAIHJlYWRfcHJvY2Vzc19vdXRwdXQgKExpc3BfT2JqZWN0IHBy b2MsIGludCBjaGFubmVsKQogICAgICBmcmllbmRzIGRvbid0IGV4cGVjdCBjdXJyZW50LWJ1 ZmZlciB0byBiZSBjaGFuZ2VkIGZyb20gdW5kZXIgdGhlbS4gICovCiAgIHJlY29yZF91bndp bmRfY3VycmVudF9idWZmZXIgKCk7CiAKLSAgcmVhZF9hbmRfZGlzcG9zZV9vZl9wcm9jZXNz X291dHB1dCAocCwgY2hhcnMsIG5ieXRlcywgY29kaW5nKTsKKyAgaWYgKHAtPmZpbHRlciA9 PSBRaW50ZXJuYWxfZGVmYXVsdF9wcm9jZXNzX2ZpbHRlcikKKyAgICByZWFkX2FuZF9pbnNl cnRfcHJvY2Vzc19vdXRwdXQgKHAsIGNoYXJzLCBuYnl0ZXMsIGNvZGluZyk7CisgIGVsc2UK KyAgICByZWFkX2FuZF9kaXNwb3NlX29mX3Byb2Nlc3Nfb3V0cHV0IChwLCBjaGFycywgbmJ5 dGVzLCBjb2RpbmcpOwogCiAgIC8qIEhhbmRsaW5nIHRoZSBwcm9jZXNzIG91dHB1dCBzaG91 bGQgbm90IGRlYWN0aXZhdGUgdGhlIG1hcmsuICAqLwogICBWZGVhY3RpdmF0ZV9tYXJrID0g b2RlYWN0aXZhdGU7CkBAIC02MjM3LDYgKzYyNDUsMTI4IEBAIHJlYWRfcHJvY2Vzc19vdXRw dXQgKExpc3BfT2JqZWN0IHByb2MsIGludCBjaGFubmVsKQogICByZXR1cm4gbmJ5dGVzOwog fQogCitzdGF0aWMgdm9pZAorcmVhZF9wcm9jZXNzX291dHB1dF9iZWZvcmVfaW5zZXJ0IChz dHJ1Y3QgTGlzcF9Qcm9jZXNzICpwLCBMaXNwX09iamVjdCAqb2xkX3JlYWRfb25seSwKKwkJ CQkgICBwdHJkaWZmX3QgKm9sZF9iZWd2LCBwdHJkaWZmX3QgKm9sZF96diwKKwkJCQkgICBw dHJkaWZmX3QgKmJlZm9yZSwgcHRyZGlmZl90ICpiZWZvcmVfYnl0ZSwKKwkJCQkgICBwdHJk aWZmX3QgKm9wb2ludCwgcHRyZGlmZl90ICpvcG9pbnRfYnl0ZSkKK3sKKyAgRnNldF9idWZm ZXIgKHAtPmJ1ZmZlcik7CisgICpvcG9pbnQgPSBQVDsKKyAgKm9wb2ludF9ieXRlID0gUFRf QllURTsKKyAgKm9sZF9yZWFkX29ubHkgPSBCVkFSIChjdXJyZW50X2J1ZmZlciwgcmVhZF9v bmx5KTsKKyAgKm9sZF9iZWd2ID0gQkVHVjsKKyAgKm9sZF96diA9IFpWOworCisgIGJzZXRf cmVhZF9vbmx5IChjdXJyZW50X2J1ZmZlciwgUW5pbCk7CisKKyAgLyogSW5zZXJ0IG5ldyBv dXRwdXQgaW50byBidWZmZXIgYXQgdGhlIGN1cnJlbnQgZW5kLW9mLW91dHB1dAorICAgICBt YXJrZXIsIHRodXMgcHJlc2VydmluZyBsb2dpY2FsIG9yZGVyaW5nIG9mIGlucHV0IGFuZCBv dXRwdXQuICAqLworICBpZiAoWE1BUktFUiAocC0+bWFyayktPmJ1ZmZlcikKKyAgICBzZXRf cG9pbnRfZnJvbV9tYXJrZXIgKHAtPm1hcmspOworICBlbHNlCisgICAgU0VUX1BUX0JPVEgg KFpWLCBaVl9CWVRFKTsKKyAgKmJlZm9yZSA9IFBUOworICAqYmVmb3JlX2J5dGUgPSBQVF9C WVRFOworCisgIC8qIElmIHRoZSBvdXRwdXQgbWFya2VyIGlzIG91dHNpZGUgb2YgdGhlIHZp c2libGUgcmVnaW9uLCBzYXZlCisgICAgIHRoZSByZXN0cmljdGlvbiBhbmQgd2lkZW4uICAq LworICBpZiAoISAoQkVHViA8PSBQVCAmJiBQVCA8PSBaVikpCisgICAgRndpZGVuICgpOwor fQorCitzdGF0aWMgdm9pZAorcmVhZF9wcm9jZXNzX291dHB1dF9hZnRlcl9pbnNlcnQgKHN0 cnVjdCBMaXNwX1Byb2Nlc3MgKnAsIExpc3BfT2JqZWN0ICpvbGRfcmVhZF9vbmx5LAorCQkJ CSAgcHRyZGlmZl90IG9sZF9iZWd2LCBwdHJkaWZmX3Qgb2xkX3p2LAorCQkJCSAgcHRyZGlm Zl90IGJlZm9yZSwgcHRyZGlmZl90IGJlZm9yZV9ieXRlLAorCQkJCSAgcHRyZGlmZl90IG9w b2ludCwgcHRyZGlmZl90IG9wb2ludF9ieXRlKQoreworICBzdHJ1Y3QgYnVmZmVyICpiOwor CisgIC8qIE1ha2Ugc3VyZSB0aGUgcHJvY2VzcyBtYXJrZXIncyBwb3NpdGlvbiBpcyB2YWxp ZCB3aGVuIHRoZQorICAgICBwcm9jZXNzIGJ1ZmZlciBpcyBjaGFuZ2VkIGluIHRoZSBzaWdu YWxfYWZ0ZXJfY2hhbmdlIGFib3ZlLgorICAgICBXMyBpcyBrbm93biB0byBkbyB0aGF0LiAg Ki8KKyAgaWYgKEJVRkZFUlAgKHAtPmJ1ZmZlcikKKyAgICAgICYmIChiID0gWEJVRkZFUiAo cC0+YnVmZmVyKSwgYiAhPSBjdXJyZW50X2J1ZmZlcikpCisgICAgc2V0X21hcmtlcl9ib3Ro IChwLT5tYXJrLCBwLT5idWZmZXIsIEJVRl9QVCAoYiksIEJVRl9QVF9CWVRFIChiKSk7Cisg IGVsc2UKKyAgICBzZXRfbWFya2VyX2JvdGggKHAtPm1hcmssIHAtPmJ1ZmZlciwgUFQsIFBU X0JZVEUpOworCisgIHVwZGF0ZV9tb2RlX2xpbmVzID0gMjM7CisKKyAgLyogTWFrZSBzdXJl IG9wb2ludCBhbmQgdGhlIG9sZCByZXN0cmljdGlvbnMKKyAgICAgZmxvYXQgYWhlYWQgb2Yg YW55IG5ldyB0ZXh0IGp1c3QgYXMgcG9pbnQgd291bGQuICAqLworICBpZiAob3BvaW50ID49 IGJlZm9yZSkKKyAgICB7CisgICAgICBvcG9pbnQgKz0gUFQgLSBiZWZvcmU7CisgICAgICBv cG9pbnRfYnl0ZSArPSBQVF9CWVRFIC0gYmVmb3JlX2J5dGU7CisgICAgfQorICBpZiAob2xk X2JlZ3YgPiBiZWZvcmUpCisgICAgb2xkX2JlZ3YgKz0gUFQgLSBiZWZvcmU7CisgIGlmIChv bGRfenYgPj0gYmVmb3JlKQorICAgIG9sZF96diArPSBQVCAtIGJlZm9yZTsKKworICAvKiBJ ZiB0aGUgcmVzdHJpY3Rpb24gaXNuJ3Qgd2hhdCBpdCBzaG91bGQgYmUsIHNldCBpdC4gICov CisgIGlmIChvbGRfYmVndiAhPSBCRUdWIHx8IG9sZF96diAhPSBaVikKKyAgICBGbmFycm93 X3RvX3JlZ2lvbiAobWFrZV9maXhudW0gKG9sZF9iZWd2KSwgbWFrZV9maXhudW0gKG9sZF96 dikpOworCisgIGJzZXRfcmVhZF9vbmx5IChjdXJyZW50X2J1ZmZlciwgKm9sZF9yZWFkX29u bHkpOworICBTRVRfUFRfQk9USCAob3BvaW50LCBvcG9pbnRfYnl0ZSk7Cit9CisKK3N0YXRp YyB2b2lkIHJlYWRfYW5kX2luc2VydF9wcm9jZXNzX291dHB1dCAoc3RydWN0IExpc3BfUHJv Y2VzcyAqcCwgY2hhciAqYnVmLAorCQkJCSAgICBzc2l6ZV90IG5yZWFkLAorCQkJCSAgICBz dHJ1Y3QgY29kaW5nX3N5c3RlbSAqcHJvY2Vzc19jb2RpbmcpCit7CisgIGlmICghbnJlYWQg fHwgTklMUCAocC0+YnVmZmVyKSB8fCAhQlVGRkVSX0xJVkVfUCAoWEJVRkZFUiAocC0+YnVm ZmVyKSkpCisgICAgcmV0dXJuOworCisgIExpc3BfT2JqZWN0IG9sZF9yZWFkX29ubHk7Cisg IHB0cmRpZmZfdCBvbGRfYmVndiwgb2xkX3p2OworICBwdHJkaWZmX3QgYmVmb3JlLCBiZWZv cmVfYnl0ZTsKKyAgcHRyZGlmZl90IG9wb2ludCwgb3BvaW50X2J5dGU7CisKKyAgcmVhZF9w cm9jZXNzX291dHB1dF9iZWZvcmVfaW5zZXJ0IChwLCAmb2xkX3JlYWRfb25seSwgJm9sZF9i ZWd2LCAmb2xkX3p2LAorCQkJCSAgICAgJmJlZm9yZSwgJmJlZm9yZV9ieXRlLCAmb3BvaW50 LCAmb3BvaW50X2J5dGUpOworCisgIC8qIEFkYXB0ZWQgZnJvbSBjYWxsX3Byb2Nlc3MuICAq LworICBpZiAoTklMUCAoQlZBUiAoWEJVRkZFUihwLT5idWZmZXIpLCBlbmFibGVfbXVsdGli eXRlX2NoYXJhY3RlcnMpKQorCSAgICYmICEgQ09ESU5HX01BWV9SRVFVSVJFX0RFQ09ESU5H IChwcm9jZXNzX2NvZGluZykpCisgICAgeworICAgICAgaW5zZXJ0XzFfYm90aCAoYnVmLCBu cmVhZCwgbnJlYWQsIDAsIDAsIDApOworICAgICAgc2lnbmFsX2FmdGVyX2NoYW5nZSAoUFQg LSBucmVhZCwgMCwgbnJlYWQpOworICAgIH0KKyAgZWxzZQorICAgIHsJCQkvKiBXZSBoYXZl IHRvIGRlY29kZSB0aGUgaW5wdXQuICAqLworICAgICAgTGlzcF9PYmplY3QgY3VyYnVmOwor ICAgICAgaW50IGNhcnJ5b3ZlciA9IDA7CisgICAgICBzcGVjcGRsX3JlZiBjb3VudDEgPSBT UEVDUERMX0lOREVYICgpOworCisgICAgICBYU0VUQlVGRkVSIChjdXJidWYsIGN1cnJlbnRf YnVmZmVyKTsKKyAgICAgIC8qIFdlIGNhbm5vdCBhbGxvdyBhZnRlci1jaGFuZ2UtZnVuY3Rp b25zIGJlIHJ1bgorCSBkdXJpbmcgZGVjb2RpbmcsIGJlY2F1c2UgdGhhdCBtaWdodCBtb2Rp ZnkgdGhlCisJIGJ1ZmZlciwgd2hpbGUgd2UgcmVseSBvbiBwcm9jZXNzX2NvZGluZy5wcm9k dWNlZCB0bworCSBmYWl0aGZ1bGx5IHJlZmxlY3QgaW5zZXJ0ZWQgdGV4dCB1bnRpbCB3ZQor CSBURU1QX1NFVF9QVF9CT1RIIGJlbG93LiAgKi8KKyAgICAgIHNwZWNiaW5kIChRaW5oaWJp dF9tb2RpZmljYXRpb25faG9va3MsIFF0KTsKKyAgICAgIGRlY29kZV9jb2RpbmdfY19zdHJp bmcgKHByb2Nlc3NfY29kaW5nLAorCQkJICAgICAgKHVuc2lnbmVkIGNoYXIgKikgYnVmLCBu cmVhZCwgY3VyYnVmKTsKKyAgICAgIHVuYmluZF90byAoY291bnQxLCBRbmlsKTsKKworICAg ICAgVEVNUF9TRVRfUFRfQk9USCAoUFQgKyBwcm9jZXNzX2NvZGluZy0+cHJvZHVjZWRfY2hh ciwKKwkJCVBUX0JZVEUgKyBwcm9jZXNzX2NvZGluZy0+cHJvZHVjZWQpOworICAgICAgc2ln bmFsX2FmdGVyX2NoYW5nZSAoUFQgLSBwcm9jZXNzX2NvZGluZy0+cHJvZHVjZWRfY2hhciwK KwkJCSAgIDAsIHByb2Nlc3NfY29kaW5nLT5wcm9kdWNlZF9jaGFyKTsKKyAgICAgIGNhcnJ5 b3ZlciA9IHByb2Nlc3NfY29kaW5nLT5jYXJyeW92ZXJfYnl0ZXM7CisgICAgICBpZiAoY2Fy cnlvdmVyID4gMCkKKwltZW1jcHkgKGJ1ZiwgcHJvY2Vzc19jb2RpbmctPmNhcnJ5b3ZlciwK KwkJcHJvY2Vzc19jb2RpbmctPmNhcnJ5b3Zlcl9ieXRlcyk7CisgICAgfQorCisgIHJlYWRf cHJvY2Vzc19vdXRwdXRfYWZ0ZXJfaW5zZXJ0IChwLCAmb2xkX3JlYWRfb25seSwgb2xkX2Jl Z3YsIG9sZF96diwKKwkJCQkgICAgYmVmb3JlLCBiZWZvcmVfYnl0ZSwgb3BvaW50LCBvcG9p bnRfYnl0ZSk7Cit9CisKIHN0YXRpYyB2b2lkCiByZWFkX2FuZF9kaXNwb3NlX29mX3Byb2Nl c3Nfb3V0cHV0IChzdHJ1Y3QgTGlzcF9Qcm9jZXNzICpwLCBjaGFyICpjaGFycywKIAkJCQkg ICAgc3NpemVfdCBuYnl0ZXMsCkBAIC02MzQwLDcgKzY0NzAsNiBAQCBERUZVTiAoImludGVy bmFsLWRlZmF1bHQtcHJvY2Vzcy1maWx0ZXIiLCBGaW50ZXJuYWxfZGVmYXVsdF9wcm9jZXNz X2ZpbHRlciwKICAgKExpc3BfT2JqZWN0IHByb2MsIExpc3BfT2JqZWN0IHRleHQpCiB7CiAg IHN0cnVjdCBMaXNwX1Byb2Nlc3MgKnA7Ci0gIHB0cmRpZmZfdCBvcG9pbnQ7CiAKICAgQ0hF Q0tfUFJPQ0VTUyAocHJvYyk7CiAgIHAgPSBYUFJPQ0VTUyAocHJvYyk7CkBAIC02MzUxLDMx ICs2NDgwLDEwIEBAIERFRlVOICgiaW50ZXJuYWwtZGVmYXVsdC1wcm9jZXNzLWZpbHRlciIs IEZpbnRlcm5hbF9kZWZhdWx0X3Byb2Nlc3NfZmlsdGVyLAogICAgICAgTGlzcF9PYmplY3Qg b2xkX3JlYWRfb25seTsKICAgICAgIHB0cmRpZmZfdCBvbGRfYmVndiwgb2xkX3p2OwogICAg ICAgcHRyZGlmZl90IGJlZm9yZSwgYmVmb3JlX2J5dGU7Ci0gICAgICBwdHJkaWZmX3Qgb3Bv aW50X2J5dGU7Ci0gICAgICBzdHJ1Y3QgYnVmZmVyICpiOwotCi0gICAgICBGc2V0X2J1ZmZl ciAocC0+YnVmZmVyKTsKLSAgICAgIG9wb2ludCA9IFBUOwotICAgICAgb3BvaW50X2J5dGUg PSBQVF9CWVRFOwotICAgICAgb2xkX3JlYWRfb25seSA9IEJWQVIgKGN1cnJlbnRfYnVmZmVy LCByZWFkX29ubHkpOwotICAgICAgb2xkX2JlZ3YgPSBCRUdWOwotICAgICAgb2xkX3p2ID0g WlY7Ci0KLSAgICAgIGJzZXRfcmVhZF9vbmx5IChjdXJyZW50X2J1ZmZlciwgUW5pbCk7Ci0K LSAgICAgIC8qIEluc2VydCBuZXcgb3V0cHV0IGludG8gYnVmZmVyIGF0IHRoZSBjdXJyZW50 IGVuZC1vZi1vdXRwdXQKLQkgbWFya2VyLCB0aHVzIHByZXNlcnZpbmcgbG9naWNhbCBvcmRl cmluZyBvZiBpbnB1dCBhbmQgb3V0cHV0LiAgKi8KLSAgICAgIGlmIChYTUFSS0VSIChwLT5t YXJrKS0+YnVmZmVyKQotCXNldF9wb2ludF9mcm9tX21hcmtlciAocC0+bWFyayk7Ci0gICAg ICBlbHNlCi0JU0VUX1BUX0JPVEggKFpWLCBaVl9CWVRFKTsKLSAgICAgIGJlZm9yZSA9IFBU OwotICAgICAgYmVmb3JlX2J5dGUgPSBQVF9CWVRFOworICAgICAgcHRyZGlmZl90IG9wb2lu dCwgb3BvaW50X2J5dGU7CiAKLSAgICAgIC8qIElmIHRoZSBvdXRwdXQgbWFya2VyIGlzIG91 dHNpZGUgb2YgdGhlIHZpc2libGUgcmVnaW9uLCBzYXZlCi0JIHRoZSByZXN0cmljdGlvbiBh bmQgd2lkZW4uICAqLwotICAgICAgaWYgKCEgKEJFR1YgPD0gUFQgJiYgUFQgPD0gWlYpKQot CUZ3aWRlbiAoKTsKKyAgICAgIHJlYWRfcHJvY2Vzc19vdXRwdXRfYmVmb3JlX2luc2VydCAo cCwgJm9sZF9yZWFkX29ubHksICZvbGRfYmVndiwgJm9sZF96diwKKwkJCQkJICZiZWZvcmUs ICZiZWZvcmVfYnl0ZSwgJm9wb2ludCwgJm9wb2ludF9ieXRlKTsKIAogICAgICAgLyogQWRq dXN0IHRoZSBtdWx0aWJ5dGVuZXNzIG9mIFRFWFQgdG8gdGhhdCBvZiB0aGUgYnVmZmVyLiAg Ki8KICAgICAgIGlmIChOSUxQIChCVkFSIChjdXJyZW50X2J1ZmZlciwgZW5hYmxlX211bHRp Ynl0ZV9jaGFyYWN0ZXJzKSkKQEAgLTYzODgsMzUgKzY0OTYsOCBAQCBERUZVTiAoImludGVy bmFsLWRlZmF1bHQtcHJvY2Vzcy1maWx0ZXIiLCBGaW50ZXJuYWxfZGVmYXVsdF9wcm9jZXNz X2ZpbHRlciwKICAgICAgIGluc2VydF9mcm9tX3N0cmluZ19iZWZvcmVfbWFya2VycyAodGV4 dCwgMCwgMCwKIAkJCQkJIFNDSEFSUyAodGV4dCksIFNCWVRFUyAodGV4dCksIDApOwogCi0g ICAgICAvKiBNYWtlIHN1cmUgdGhlIHByb2Nlc3MgbWFya2VyJ3MgcG9zaXRpb24gaXMgdmFs aWQgd2hlbiB0aGUKLQkgcHJvY2VzcyBidWZmZXIgaXMgY2hhbmdlZCBpbiB0aGUgc2lnbmFs X2FmdGVyX2NoYW5nZSBhYm92ZS4KLQkgVzMgaXMga25vd24gdG8gZG8gdGhhdC4gICovCi0g ICAgICBpZiAoQlVGRkVSUCAocC0+YnVmZmVyKQotCSAgJiYgKGIgPSBYQlVGRkVSIChwLT5i dWZmZXIpLCBiICE9IGN1cnJlbnRfYnVmZmVyKSkKLQlzZXRfbWFya2VyX2JvdGggKHAtPm1h cmssIHAtPmJ1ZmZlciwgQlVGX1BUIChiKSwgQlVGX1BUX0JZVEUgKGIpKTsKLSAgICAgIGVs c2UKLQlzZXRfbWFya2VyX2JvdGggKHAtPm1hcmssIHAtPmJ1ZmZlciwgUFQsIFBUX0JZVEUp OwotCi0gICAgICB1cGRhdGVfbW9kZV9saW5lcyA9IDIzOwotCi0gICAgICAvKiBNYWtlIHN1 cmUgb3BvaW50IGFuZCB0aGUgb2xkIHJlc3RyaWN0aW9ucwotCSBmbG9hdCBhaGVhZCBvZiBh bnkgbmV3IHRleHQganVzdCBhcyBwb2ludCB3b3VsZC4gICovCi0gICAgICBpZiAob3BvaW50 ID49IGJlZm9yZSkKLQl7Ci0JICBvcG9pbnQgKz0gUFQgLSBiZWZvcmU7Ci0JICBvcG9pbnRf Ynl0ZSArPSBQVF9CWVRFIC0gYmVmb3JlX2J5dGU7Ci0JfQotICAgICAgaWYgKG9sZF9iZWd2 ID4gYmVmb3JlKQotCW9sZF9iZWd2ICs9IFBUIC0gYmVmb3JlOwotICAgICAgaWYgKG9sZF96 diA+PSBiZWZvcmUpCi0Jb2xkX3p2ICs9IFBUIC0gYmVmb3JlOwotCi0gICAgICAvKiBJZiB0 aGUgcmVzdHJpY3Rpb24gaXNuJ3Qgd2hhdCBpdCBzaG91bGQgYmUsIHNldCBpdC4gICovCi0g ICAgICBpZiAob2xkX2JlZ3YgIT0gQkVHViB8fCBvbGRfenYgIT0gWlYpCi0JRm5hcnJvd190 b19yZWdpb24gKG1ha2VfZml4bnVtIChvbGRfYmVndiksIG1ha2VfZml4bnVtIChvbGRfenYp KTsKLQotICAgICAgYnNldF9yZWFkX29ubHkgKGN1cnJlbnRfYnVmZmVyLCBvbGRfcmVhZF9v bmx5KTsKLSAgICAgIFNFVF9QVF9CT1RIIChvcG9pbnQsIG9wb2ludF9ieXRlKTsKKyAgICAg IHJlYWRfcHJvY2Vzc19vdXRwdXRfYWZ0ZXJfaW5zZXJ0IChwLCAmb2xkX3JlYWRfb25seSwg b2xkX2JlZ3YsIG9sZF96diwKKwkJCQkJYmVmb3JlLCBiZWZvcmVfYnl0ZSwgb3BvaW50LCBv cG9pbnRfYnl0ZSk7CiAgICAgfQogICByZXR1cm4gUW5pbDsKIH0KQEAgLTg3NjQsNiArODg0 NSwxMyBAQCBzeW1zX29mX3Byb2Nlc3MgKHZvaWQpCiAvcHJvYy9zeXMvZnMvcGlwZS1tYXgt c2l6ZS4gIFNlZSBwaXBlKDcpIG1hbnBhZ2UgZm9yIGRldGFpbHMuICAqLyk7CiAgIHJlYWRf cHJvY2Vzc19vdXRwdXRfbWF4ID0gNDA5NjsKIAorICBERUZWQVJfQk9PTCAoInJlYWQtcHJv Y2Vzcy1vdXRwdXQtZmFzdCIsIHJlYWRfcHJvY2Vzc19vdXRwdXRfZmFzdCwKKwkgICAgICAg ZG9jOiAvKiBOb24tbmlsIHRvIG9wdGltaXplIHRoZSBpbnNlcnRpb24gb2YgcHJvY2VzcyBv dXRwdXQuCitXZSBza2lwIGNhbGxpbmcgYGludGVybmFsLWRlZmF1bHQtcHJvY2Vzcy1maWx0 ZXInIGFuZCBkb24ndCBhbGxvY2F0ZQordGhlIExpc3Agc3RyaW5nIHRoYXQgd291bGQgYmUg dXNlZCBhcyBpdHMgYXJndW1lbnQuICBPbmx5IGFmZmVjdHMgdGhlCitjYXNlIG9mIGFzeW5j aHJvbm91cyBwcm9jZXNzIHdpdGggdGhlIGRlZmF1bHQgZmlsdGVyLiAgKi8pOworICByZWFk X3Byb2Nlc3Nfb3V0cHV0X2Zhc3QgPSBRdDsKKwogICBERUZWQVJfSU5UICgicHJvY2Vzcy1l cnJvci1wYXVzZS10aW1lIiwgcHJvY2Vzc19lcnJvcl9wYXVzZV90aW1lLAogCSAgICAgIGRv YzogLyogVGhlIG51bWJlciBvZiBzZWNvbmRzIHRvIHBhdXNlIGFmdGVyIGhhbmRsaW5nIHBy b2Nlc3MgZXJyb3JzLgogVGhpcyBpc24ndCB1c2VkIGZvciBhbGwgcHJvY2Vzcy1yZWxhdGVk IGVycm9ycywgYnV0IGlzIHVzZWQgd2hlbiBhCi0tIAoyLjM3LjIKCg== --------------DyANkJr4Sjysej9e6FAKU5xu Content-Type: text/x-patch; charset=UTF-8; name="0002-Remember-the-value-of-read_process_output_max-when-a.patch" Content-Disposition: attachment; filename*0="0002-Remember-the-value-of-read_process_output_max-when-a.pa"; filename*1="tch" Content-Transfer-Encoding: base64 RnJvbSBiYzM5OTZmNzI3NTc4MDk3MGQyZDVkYzUzZGEyZmQ1YThjYWFkMWU0IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBEbWl0cnkgR3V0b3YgPGRtaXRyeUBndXRvdi5kZXY+ CkRhdGU6IFN1biwgMjQgU2VwIDIwMjMgMDE6MjQ6MTkgKzAzMDAKU3ViamVjdDogW1BBVENI IDIvM10gUmVtZW1iZXIgdGhlIHZhbHVlIG9mIHJlYWRfcHJvY2Vzc19vdXRwdXRfbWF4IHdo ZW4gYQogcHJvY2VzcyBpcyBjcmVhdGVkCgoqIHNyYy9wcm9jZXNzLmMgKHJlYWRfcHJvY2Vz c19vdXRwdXQpOiBVc2UgaXQuCihjcmVhdGVfcHJvY2Vzcyk6IFNhdmUgdGhlIHZhbHVlIG9m IHJlYWRfcHJvY2Vzc19vdXRwdXRfbWF4IHRvIGl0IHdoZW4KdGhlIHByb2Nlc3MgaXMgY3Jl YXRlZCAoYnVnIzY2MDIwKS4KKGNyZWF0ZV9wcm9jZXNzKTogTWFrZSBzdXJlIG5vdCB0byBy ZWR1Y2UgdGhlIHBpcGUncyBidWZmZXIsIG9ubHkKaW5jcmVhc2UgaXQgaWYgb3VyIHZhbHVl IGlzIGhpZ2hlciB0aGFuIHRoZSBvbmUgc2V0IGJ5IHRoZSBPUy4KCiogc3JjL3Byb2Nlc3Mu aCAoTGlzcF9Qcm9jZXNzKTogQWRkIGZpZWxkIHJlYWRtYXguCi0tLQogc3JjL3Byb2Nlc3Mu YyB8IDcgKysrKystLQogc3JjL3Byb2Nlc3MuaCB8IDIgKysKIDIgZmlsZXMgY2hhbmdlZCwg NyBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyYy9wcm9j ZXNzLmMgYi9zcmMvcHJvY2Vzcy5jCmluZGV4IGU5MzJlY2Y3ZTQzLi5kN2FlZGNkZjEyZCAx MDA2NDQKLS0tIGEvc3JjL3Byb2Nlc3MuYworKysgYi9zcmMvcHJvY2Vzcy5jCkBAIC0yMTkz LDYgKzIxOTMsOCBAQCBjcmVhdGVfcHJvY2VzcyAoTGlzcF9PYmplY3QgcHJvY2VzcywgY2hh ciAqKm5ld19hcmd2LCBMaXNwX09iamVjdCBjdXJyZW50X2RpcikKICAgICAgIG91dGNoYW5u ZWwgPSBwLT5vcGVuX2ZkW1dSSVRFX1RPX1NVQlBST0NFU1NdOwogICAgIH0KIAorICBwLT5y ZWFkbWF4ID0gY2xpcF90b19ib3VuZHMgKDEsIHJlYWRfcHJvY2Vzc19vdXRwdXRfbWF4LCBQ VFJESUZGX01BWCk7CisKICAgLyogU2V0IHVwIHN0ZG91dCBmb3IgdGhlIGNoaWxkIHByb2Nl c3MuICAqLwogICBpZiAocHR5Y2hhbm5lbCA+PSAwICYmIHAtPnB0eV9vdXQpCiAgICAgewpA QCAtMjIwOCw3ICsyMjEwLDggQEAgY3JlYXRlX3Byb2Nlc3MgKExpc3BfT2JqZWN0IHByb2Nl c3MsIGNoYXIgKipuZXdfYXJndiwgTGlzcF9PYmplY3QgY3VycmVudF9kaXIpCiAKICNpZiAo ZGVmaW5lZCAoR05VX0xJTlVYKSB8fCBkZWZpbmVkIF9fQU5EUk9JRF9fKQlcCiAgICYmIGRl ZmluZWQgKEZfU0VUUElQRV9TWikKLSAgICAgIGZjbnRsIChpbmNoYW5uZWwsIEZfU0VUUElQ RV9TWiwgcmVhZF9wcm9jZXNzX291dHB1dF9tYXgpOworICAgICAgaWYgKHAtPnJlYWRtYXgg PiBmY250bCAoaW5jaGFubmVsLCBGX0dFVFBJUEVfU1osIHJlYWRfcHJvY2Vzc19vdXRwdXRf bWF4KSkKKwlmY250bCAoaW5jaGFubmVsLCBGX1NFVFBJUEVfU1osIHAtPnJlYWRtYXgpOwog I2VuZGlmIC8qIChHTlVfTElOVVggfHwgX19BTkRST0lEX18pICYmIEZfU0VUUElQRV9TWiAq LwogICAgIH0KIApAQCAtNjEzOCw3ICs2MTQxLDcgQEAgcmVhZF9wcm9jZXNzX291dHB1dCAo TGlzcF9PYmplY3QgcHJvYywgaW50IGNoYW5uZWwpCiAgIGVhc3NlcnQgKDAgPD0gY2hhbm5l bCAmJiBjaGFubmVsIDwgRkRfU0VUU0laRSk7CiAgIHN0cnVjdCBjb2Rpbmdfc3lzdGVtICpj b2RpbmcgPSBwcm9jX2RlY29kZV9jb2Rpbmdfc3lzdGVtW2NoYW5uZWxdOwogICBpbnQgY2Fy cnlvdmVyID0gcC0+ZGVjb2RpbmdfY2FycnlvdmVyOwotICBwdHJkaWZmX3QgcmVhZG1heCA9 IGNsaXBfdG9fYm91bmRzICgxLCByZWFkX3Byb2Nlc3Nfb3V0cHV0X21heCwgUFRSRElGRl9N QVgpOworICBwdHJkaWZmX3QgcmVhZG1heCA9IHAtPnJlYWRtYXg7CiAgIHNwZWNwZGxfcmVm IGNvdW50ID0gU1BFQ1BETF9JTkRFWCAoKTsKICAgTGlzcF9PYmplY3Qgb2RlYWN0aXZhdGU7 CiAgIGNoYXIgKmNoYXJzOwpkaWZmIC0tZ2l0IGEvc3JjL3Byb2Nlc3MuaCBiL3NyYy9wcm9j ZXNzLmgKaW5kZXggYmJlNDUyOGRjMzEuLjk4MGM3MjE2Njg5IDEwMDY0NAotLS0gYS9zcmMv cHJvY2Vzcy5oCisrKyBiL3NyYy9wcm9jZXNzLmgKQEAgLTE1Myw2ICsxNTMsOCBAQCAjZGVm aW5lIEVNQUNTX1BST0NFU1NfSAogICAgIHVuc2lnbmVkIGludCBhZGFwdGl2ZV9yZWFkX2J1 ZmZlcmluZyA6IDI7CiAgICAgLyogU2tpcCByZWFkaW5nIHRoaXMgcHJvY2VzcyBvbiBuZXh0 IHJlYWQuICAqLwogICAgIGJvb2xfYmYgcmVhZF9vdXRwdXRfc2tpcCA6IDE7CisgICAgLyog TWF4aW11bSBudW1iZXIgb2YgYnl0ZXMgdG8gcmVhZCBpbiBhIHNpbmdsZSBjaHVuay4gKi8K KyAgICBwdHJkaWZmX3QgcmVhZG1heDsKICAgICAvKiBUcnVlIG1lYW5zIGtpbGwgc2lsZW50 bHkgaWYgRW1hY3MgaXMgZXhpdGVkLgogICAgICAgIFRoaXMgaXMgdGhlIGludmVyc2Ugb2Yg dGhlIGBxdWVyeS1vbi1leGl0JyBmbGFnLiAgKi8KICAgICBib29sX2JmIGtpbGxfd2l0aG91 dF9xdWVyeSA6IDE7Ci0tIAoyLjM3LjIKCg== --------------DyANkJr4Sjysej9e6FAKU5xu Content-Type: text/x-patch; charset=UTF-8; name="0003-Dynamically-increase-the-readmax-if-the-pipe-has-mor.patch" Content-Disposition: attachment; filename*0="0003-Dynamically-increase-the-readmax-if-the-pipe-has-mor.pa"; filename*1="tch" Content-Transfer-Encoding: base64 RnJvbSBjMTMwMDM5N2Y4NmEzOTdhZTM4YWQwODEyNmRjOGUwMjEwNjdmMTI4IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBEbWl0cnkgR3V0b3YgPGRtaXRyeUBndXRvdi5kZXY+ CkRhdGU6IFN1biwgMjQgU2VwIDIwMjMgMDE6Mjk6MTggKzAzMDAKU3ViamVjdDogW1BBVENI IDMvM10gRHluYW1pY2FsbHkgaW5jcmVhc2UgdGhlIHJlYWRtYXggaWYgdGhlIHBpcGUgaGFz IG1vcmUKIGF2YWlsYWJsZQoKKiBzcmMvcHJvY2Vzcy5jIChyZWFkX3Byb2Nlc3Nfb3V0cHV0 KTogRHluYW1pY2FsbHkgaW5jcmVhc2UgdGhlCmJ1ZmZlciBzaXplIGRlcGVuZGluZyBvbiB0 aGUgcGlwZSdzIGJ1ZmZlcmVkIGNvbnRlbnRzIChidWcjNjYwMjApLgotLS0KIHNyYy9wcm9j ZXNzLmMgfCAxMSArKysrKysrKysrKwogMSBmaWxlIGNoYW5nZWQsIDExIGluc2VydGlvbnMo KykKCmRpZmYgLS1naXQgYS9zcmMvcHJvY2Vzcy5jIGIvc3JjL3Byb2Nlc3MuYwppbmRleCBk N2FlZGNkZjEyZC4uMTNjZjZkNmM1MGQgMTAwNjQ0Ci0tLSBhL3NyYy9wcm9jZXNzLmMKKysr IGIvc3JjL3Byb2Nlc3MuYwpAQCAtNjE0Niw2ICs2MTQ2LDE3IEBAIHJlYWRfcHJvY2Vzc19v dXRwdXQgKExpc3BfT2JqZWN0IHByb2MsIGludCBjaGFubmVsKQogICBMaXNwX09iamVjdCBv ZGVhY3RpdmF0ZTsKICAgY2hhciAqY2hhcnM7CiAKKyNpZmRlZiBVU0FCTEVfRklPTlJFQUQK KyNpZmRlZiBEQVRBR1JBTV9TT0NLRVRTCisgIGlmICghREFUQUdSQU1fQ0hBTl9QIChjaGFu bmVsKSkKKyNlbmRpZgorICAgIHsKKyAgICAgIGludCBhdmFpbGFibGVfcmVhZDsKKyAgICAg IGlvY3RsIChwLT5pbmZkLCBGSU9OUkVBRCwgJmF2YWlsYWJsZV9yZWFkKTsKKyAgICAgIHJl YWRtYXggPSBNQVggKHJlYWRtYXgsIGF2YWlsYWJsZV9yZWFkKTsKKyAgICB9CisjZW5kaWYK KwogICBVU0VfU0FGRV9BTExPQ0E7CiAgIGNoYXJzID0gU0FGRV9BTExPQ0EgKHNpemVvZiBj b2RpbmctPmNhcnJ5b3ZlciArIHJlYWRtYXgpOwogCi0tIAoyLjM3LjIKCg== --------------DyANkJr4Sjysej9e6FAKU5xu--