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#48356: 28.0.50; choose-completion discards the suffix after the completion boundary Date: Fri, 12 Apr 2024 00:59:27 +0300 Message-ID: <3833acf2-704e-486b-8e33-54cddf26adc9@gutov.dev> References: <18593691-8b7a-facf-68e1-e9d0c106897b@daniel-mendler.de> <868rtcjqk4.fsf@mail.linkov.net> <949a6c3a-9a59-89dd-bdee-c0ec6ee0baa7@daniel-mendler.de> <86r173odnm.fsf@mail.linkov.net> <868rt42wiz.fsf@mail.linkov.net> <39326c56-094c-4074-95d7-8f92f7f927a5@gutov.dev> <82196eff-85e6-44da-89e4-4ead4d72e657@gutov.dev> <5f353cfe-b2d7-43ab-bc65-37a0d306c042@gutov.dev> <865xwov165.fsf@gnu.org> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------08ARVNJ9AakF0UST5Z0Szv0r" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="26415"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Mozilla Thunderbird Cc: mail@daniel-mendler.de, juri@linkov.net, 48356@debbugs.gnu.org, monnier@iro.umontreal.ca, jdtsmith@gmail.com, Visuwesh To: Eli Zaretskii Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Fri Apr 12 00:00:24 2024 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 1rv2T0-0006SH-5m for geb-bug-gnu-emacs@m.gmane-mx.org; Fri, 12 Apr 2024 00:00:22 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1rv2Sb-0001f6-0p; Thu, 11 Apr 2024 17:59:57 -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 1rv2SZ-0001eS-Jq for bug-gnu-emacs@gnu.org; Thu, 11 Apr 2024 17:59:55 -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 1rv2SZ-00084g-Am for bug-gnu-emacs@gnu.org; Thu, 11 Apr 2024 17:59:55 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1rv2Si-0007NL-9U for bug-gnu-emacs@gnu.org; Thu, 11 Apr 2024 18:00:04 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Dmitry Gutov Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 11 Apr 2024 22:00:03 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 48356 X-GNU-PR-Package: emacs Original-Received: via spool by 48356-submit@debbugs.gnu.org id=B48356.171287279528229 (code B ref 48356); Thu, 11 Apr 2024 22:00:03 +0000 Original-Received: (at 48356) by debbugs.gnu.org; 11 Apr 2024 21:59:55 +0000 Original-Received: from localhost ([127.0.0.1]:57449 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rv2SW-0007Kr-MD for submit@debbugs.gnu.org; Thu, 11 Apr 2024 17:59:54 -0400 Original-Received: from fout5-smtp.messagingengine.com ([103.168.172.148]:40819) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rv2SR-0007JV-Ci for 48356@debbugs.gnu.org; Thu, 11 Apr 2024 17:59:50 -0400 Original-Received: from compute3.internal (compute3.nyi.internal [10.202.2.43]) by mailfout.nyi.internal (Postfix) with ESMTP id 936F6138029F; Thu, 11 Apr 2024 17:59:32 -0400 (EDT) Original-Received: from mailfrontend2 ([10.202.2.163]) by compute3.internal (MEProxy); Thu, 11 Apr 2024 17:59:32 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gutov.dev; h=cc :cc:content-type:content-type:date:date:from:from:in-reply-to :in-reply-to:message-id:mime-version:references:reply-to:subject :subject:to:to; s=fm1; t=1712872772; x=1712959172; bh=KWf4QC/1Uh KLJeto02XvgIg36cVf7xQju8QChV6k938=; b=A8lP3Oc2tGcOwBPrr+9aJpT8/l 5W0OOtG6kFkfWBi2jbLHfRHrCsyBA3uqZkiHlNTaV+Xf5StTSXi5CgmCtnPIgFV8 LmoV4WJ54KgmKO9I0Lq/Xf6O9ainyXIM0NGpIEgJhricbm6krjko6swWd2RUbTzq NAM60BaBDO1MPeq4DiQ0KiVx/iIKV+7vUtJ+/+Aumz8CNP+FgIW2TLS64yJXVfSE pcOhp5SF8hTupX3+3XJFVPguFa5nv9VtKoUJI5Ilc1g3sr1QRwxjxFzaoOQBKMhH 8xkzNnFi+PpFK6RT0a/ltEyWX5+HZYE6FXhZjgB1K+o/o4CZNjVvIHuWJ+2Q== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc: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:subject:subject:to :to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s= fm2; t=1712872772; x=1712959172; bh=KWf4QC/1UhKLJeto02XvgIg36cVf 7xQju8QChV6k938=; b=JX8jrwaYsPXwB4bA2SkzEfz6Q5DYq0E5BGKMU9YabuyP vv0dUmkZYTLwlMoJk+orJ3DQEvQGJ2VXe/9bIkpJlNGDKudmYIimftjKJyG9AF6X rHjv04ad91cobW0AuIAJGFPHhQWScUniujeAIy+/rFVGQFuEHEGum6mHLcEu0m5m Ogpbzuha5jFSrhg0a9uwIdNfSUCBLLouXsqDj8oPmQKks44y3zSFTrOLYoTeDnCO JJiGr+LeDBDUEKZevExpMbrRbFlFTnICXZuPl05EBgOkk8A77rj+TrJkv9/N1Fku jK5T40KiIiA3pDWWqAaCihdB/6T1IPIxCyj1OZlR2g== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvledrudehledgtdeiucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurheptgfkffggfgfuvfevfhfhjgesmhdtreertddvjeenucfhrhhomhepffhmihht rhihucfiuhhtohhvuceoughmihhtrhihsehguhhtohhvrdguvghvqeenucggtffrrghtth gvrhhnpeelkeejiedvffdtgeejvdffffelueelkefhtdekjeehuefgteduheegfefhieek jeenucffohhmrghinhepghhnuhdrohhrghenucevlhhushhtvghrufhiiigvpedtnecurf grrhgrmhepmhgrihhlfhhrohhmpegumhhithhrhiesghhuthhovhdruggvvh X-ME-Proxy: Feedback-ID: i0e71465a:Fastmail Original-Received: by mail.messagingengine.com (Postfix) with ESMTPA; Thu, 11 Apr 2024 17:59:30 -0400 (EDT) Content-Language: en-US In-Reply-To: <865xwov165.fsf@gnu.org> 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:283107 Archived-At: This is a multi-part message in MIME format. --------------08ARVNJ9AakF0UST5Z0Szv0r Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 11/04/2024 09:55, Eli Zaretskii wrote: >> Cc: 48356@debbugs.gnu.org, Daniel Mendler , >> JD Smith , Juri Linkov >> Date: Thu, 11 Apr 2024 04:00:35 +0300 >> From: Dmitry Gutov >> >> All right, please see the new function completion-base-suffix added in >> 0288bc6c949. Any docstring improvements (and others) are welcome. > > I tried to do that. > > Is there any reason why this function shouldn't be called > completion-boundary-suffix instead? > >> I guess we should also mention it in NEWS... > > Yes, please. Sorry about the trouble, here is the next patch on top which essentially had to change the function's semantics to match the name above, except it needed just the length. Since that made it a very thin wrapper, I'm inlining the code back, no docstring or announcement needed. What else this patch does: * Removes the variables completion-use-base-affixes and completion-base-affixes, just using the completion-base-position variable, although with a marker for the field end. * Changes 'completion--replace' to preserve the said marker. The result is that the text outside of the current field boundaries is maintained for both minibuffer and in-buffer completion (in particular, the suffix). As one downside, it brings back behavior described in https://debbugs.gnu.org/34517#14. That doesn't seem too critical to me, but opinions might vary. So more feedback welcome. Also Cc'ing Visuwesh who filed bug#49931 (related). --------------08ARVNJ9AakF0UST5Z0Szv0r Content-Type: text/x-patch; charset=UTF-8; name="base-suffix-v3.diff" Content-Disposition: attachment; filename="base-suffix-v3.diff" Content-Transfer-Encoding: base64 ZGlmZiAtLWdpdCBhL2xpc3AvbWluaWJ1ZmZlci5lbCBiL2xpc3AvbWluaWJ1ZmZlci5lbApp bmRleCBhZDZhMDkyOGNkYS4uNTY4MjdmNTA5YWEgMTAwNjQ0Ci0tLSBhL2xpc3AvbWluaWJ1 ZmZlci5lbAorKysgYi9saXNwL21pbmlidWZmZXIuZWwKQEAgLTExMiwyMCArMTEyLDYgQEAg Y29tcGxldGlvbi1ib3VuZGFyaWVzCiAgICAgKGNvbnMgKG9yIChjYWRyIGJvdW5kYXJpZXMp IDApCiAgICAgICAgICAgKG9yIChjZGRyIGJvdW5kYXJpZXMpIChsZW5ndGggc3VmZml4KSkp KSkKIAotKGRlZnVuIGNvbXBsZXRpb24tYmFzZS1zdWZmaXggKHN0YXJ0IGVuZCBjb2xsZWN0 aW9uIHByZWRpY2F0ZSkKLSAgIlJldHVybiBzdWZmaXggb2YgY29tcGxldGlvbiBvZiBidWZm ZXIgdGV4dCBiZXR3ZWVuIFNUQVJUIGFuZCBFTkQuCi1DT0xMRUNUSU9OIGFuZCBQUkVESUNB VEUgYXJlLCByZXNwZWN0aXZlbHksIHRoZSBjb21wbGV0aW9uJ3MKLWNvbXBsZXRpb24gdGFi bGUgYW5kIHByZWRpY2F0ZSwgYXMgaW4gYGNvbXBsZXRpb24tYm91bmRhcmllcycgKHdoaWNo IHNlZSkuCi1WYWx1ZSBpcyBhIHN1YnN0cmluZyBvZiBidWZmZXIgdGV4dCBiZXR3ZWVuIHBv aW50IGFuZCBFTkQuICBJdCBpcwotdGhlIGNvbXBsZXRpb24gc3VmZml4IHRoYXQgZm9sbG93 cyB0aGUgY29tcGxldGlvbiBib3VuZGFyeS4iCi0gIChsZXQgKChzdWZmaXggKGJ1ZmZlci1z dWJzdHJpbmcgKHBvaW50KSBlbmQpKSkKLSAgICAoc3Vic3RyaW5nCi0gICAgIHN1ZmZpeAot ICAgICAoY2RyIChjb21wbGV0aW9uLWJvdW5kYXJpZXMgKGJ1ZmZlci1zdWJzdHJpbmcgc3Rh cnQgKHBvaW50KSkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbGxlY3Rp b24KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByZWRpY2F0ZQotICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgc3VmZml4KSkpKSkKLQogKGRlZnVuIGNvbXBs ZXRpb24tbWV0YWRhdGEgKHN0cmluZyB0YWJsZSBwcmVkKQogICAiUmV0dXJuIHRoZSBtZXRh ZGF0YSBvZiBlbGVtZW50cyB0byBjb21wbGV0ZSBhdCB0aGUgZW5kIG9mIFNUUklORy4KIFRo aXMgbWV0YWRhdGEgaXMgYW4gYWxpc3QuICBDdXJyZW50bHkgdW5kZXJzdG9vZCBrZXlzIGFy ZToKQEAgLTEzNzcsNyArMTM2Myw3IEBAIGNvbXBsZXRpb24tLXJlcGxhY2UKICAgICAgIChz ZXRxIG5ld3RleHQgKHN1YnN0cmluZyBuZXd0ZXh0IDAgKC0gc3VmZml4LWxlbikpKSkKICAg ICAoZ290by1jaGFyIGJlZykKICAgICAobGV0ICgobGVuZ3RoICgtIGVuZCBiZWcpKSkgICAg ICAgICA7UmVhZCBgZW5kJyBiZWZvcmUgd2UgaW5zZXJ0IHRoZSB0ZXh0LgotICAgICAgKGlu c2VydC1hbmQtaW5oZXJpdCBuZXd0ZXh0KQorICAgICAgKGluc2VydC1iZWZvcmUtbWFya2Vy cy1hbmQtaW5oZXJpdCBuZXd0ZXh0KQogICAgICAgKGRlbGV0ZS1yZWdpb24gKHBvaW50KSAo KyAocG9pbnQpIGxlbmd0aCkpKQogICAgIChmb3J3YXJkLWNoYXIgc3VmZml4LWxlbikpKQog CkBAIC0yNTk4LDEyICsyNTg0LDE1IEBAIG1pbmlidWZmZXItY29tcGxldGlvbi1oZWxwCiAg ICAgICAgICAgICAgKGJhc2Utc2l6ZSAob3IgKGNkciBsYXN0KSAwKSkKICAgICAgICAgICAg ICAocHJlZml4ICh1bmxlc3MgKHplcm9wIGJhc2Utc2l6ZSkgKHN1YnN0cmluZyBzdHJpbmcg MCBiYXNlLXNpemUpKSkKICAgICAgICAgICAgICAobWluaWJ1ZmZlci1jb21wbGV0aW9uLWJh c2UgKHN1YnN0cmluZyBzdHJpbmcgMCBiYXNlLXNpemUpKQotICAgICAgICAgICAgIChiYXNl LXByZWZpeCAoYnVmZmVyLXN1YnN0cmluZyAobWluaWJ1ZmZlci0tY29tcGxldGlvbi1wcm9t cHQtZW5kKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAo KyBzdGFydCBiYXNlLXNpemUpKSkKLSAgICAgICAgICAgICAoYmFzZS1zdWZmaXggKGNvbmNh dCAoY29tcGxldGlvbi1iYXNlLXN1ZmZpeCBzdGFydCBlbmQKLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtaW5pYnVmZmVyLWNv bXBsZXRpb24tdGFibGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBtaW5pYnVmZmVyLWNvbXBsZXRpb24tcHJlZGljYXRlKQot ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChidWZmZXItc3Vic3RyaW5nIGVu ZCAocG9pbnQtbWF4KSkpKQorICAgICAgICAgICAgIChmaWVsZC1lbmQKKyAgICAgICAgICAg ICAgKHNhdmUtZXhjdXJzaW9uCisgICAgICAgICAgICAgICAgKGZvcndhcmQtY2hhcgorICAg ICAgICAgICAgICAgICAoY2RyIChjb21wbGV0aW9uLWJvdW5kYXJpZXMgKGJ1ZmZlci1zdWJz dHJpbmcgc3RhcnQgKHBvaW50KSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIG1pbmlidWZmZXItY29tcGxldGlvbi10YWJsZQorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWluaWJ1ZmZlci1jb21wbGV0aW9u LXByZWRpY2F0ZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgKGJ1ZmZlci1zdWJzdHJpbmcgKHBvaW50KSBlbmQpKSkpCisgICAgICAgICAgICAgICAg KHBvaW50LW1hcmtlcikpKQorICAgICAgICAgICAgIChmaWVsZC1jaGFyIChhbmQgKDwgZmll bGQtZW5kIGVuZCkgKGNoYXItYWZ0ZXIgZmllbGQtZW5kKSkpCiAgICAgICAgICAgICAgKGFs bC1tZCAoY29tcGxldGlvbi0tbWV0YWRhdGEgKGJ1ZmZlci1zdWJzdHJpbmctbm8tcHJvcGVy dGllcwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGFy dCAocG9pbnQpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGJhc2Utc2l6ZSBtZApAQCAtMjY4NywzOCArMjY3NiwyNSBAQCBtaW5pYnVmZmVyLWNvbXBs ZXRpb24taGVscAogCiAgICAgICAgICAgICAgICAgICAgICAgKHdpdGgtY3VycmVudC1idWZm ZXIgc3RhbmRhcmQtb3V0cHV0CiAgICAgICAgICAgICAgICAgICAgICAgICAoc2V0cS1sb2Nh bCBjb21wbGV0aW9uLWJhc2UtcG9zaXRpb24KLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgKGxpc3QgKCsgc3RhcnQgYmFzZS1zaXplKQotICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICA7OyBGSVhNRTogV2Ugc2hvdWxkIHBheSBhdHRlbnRpb24gdG8gY29tcGxl dGlvbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA7OyBib3VuZGFyaWVz IGhlcmUsIGJ1dCBjdXJyZW50bHkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgOzsgY29tcGxldGlvbi1hbGwtY29tcGxldGlvbnMgZG9lcyBub3QgZ2l2ZSB1cyB0aGUK LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOzsgbmVjZXNzYXJ5IGluZm9y bWF0aW9uLgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbmQpKQotICAg ICAgICAgICAgICAgICAgICAgICAgKHNldHEtbG9jYWwgY29tcGxldGlvbi1iYXNlLWFmZml4 ZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChsaXN0IGJhc2UtcHJl Zml4IGJhc2Utc3VmZml4KSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGxpc3Qg KCsgc3RhcnQgYmFzZS1zaXplKSBmaWVsZC1lbmQpKQogICAgICAgICAgICAgICAgICAgICAg ICAgKHNldHEtbG9jYWwgY29tcGxldGlvbi1saXN0LWluc2VydC1jaG9pY2UtZnVuY3Rpb24K ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGxldCAoKGN0YWJsZSBtaW5pYnVmZmVy LWNvbXBsZXRpb24tdGFibGUpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IChjcHJlZCBtaW5pYnVmZmVyLWNvbXBsZXRpb24tcHJlZGljYXRlKQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAoY3Byb3BzIGNvbXBsZXRpb24tZXh0cmEtcHJvcGVy dGllcykpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGxhbWJkYSAoc3RhcnQg ZW5kIGNob2ljZSkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChpZiAoYW5k IChzdHJpbmdwIHN0YXJ0KSAoc3RyaW5ncCBlbmQpKQotICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIChwcm9nbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgKGRlbGV0ZS1taW5pYnVmZmVyLWNvbnRlbnRzKQotICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgKGluc2VydCBzdGFydCBjaG9pY2UpCi0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA7OyBLZWVwIHBvaW50IGFmdGVyIGNv bXBsZXRpb24gYmVmb3JlIHN1ZmZpeAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgKHNhdmUtZXhjdXJzaW9uIChpbnNlcnQKLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNvbXBsZXRpb24tLW1lcmdl LXN1ZmZpeAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgY2hvaWNlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAoMS0gKGxlbmd0aCBjaG9pY2UpKQotICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW5kKSkp KQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAodW5sZXNzIChvciAoemVy b3AgKGxlbmd0aCBwcmVmaXgpKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAoZXF1YWwgcHJlZml4Ci0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoYnVmZmVyLXN1YnN0cmluZy1uby1wcm9w ZXJ0aWVzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgKG1heCAocG9pbnQtbWluKQotICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKC0gc3RhcnQgKGxlbmd0aCBwcmVm aXgpKSkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBzdGFydCkpKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IChtZXNzYWdlICIqQ29tcGxldGlvbnMqIG91dCBvZiBkYXRlIikpCi0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIDs7IEZJWE1FOiBVc2UgYG1kJyB0byBkbyBxdW90aW5n JnRlcm1pbmF0b3IgaGVyZS4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg KGNvbXBsZXRpb24tLXJlcGxhY2Ugc3RhcnQgZW5kIGNob2ljZSkpCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAodW5sZXNzIChvciAoemVyb3AgKGxlbmd0aCBwcmVmaXgp KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGVxdWFs IHByZWZpeAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIChidWZmZXItc3Vic3RyaW5nLW5vLXByb3BlcnRpZXMKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG1heCAocG9pbnQtbWlu KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICgtIHN0YXJ0IChsZW5ndGggcHJlZml4KSkpCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXJ0KSkpCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIChtZXNzYWdlICIqQ29tcGxldGlvbnMqIG91dCBv ZiBkYXRlIikpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAod2hlbiAoYW5k IGZpZWxkLWNoYXIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgKD0gKGFyZWYgY2hvaWNlICgxLSAobGVuZ3RoIGNob2ljZSkpKQorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWVsZC1jaGFyKSkKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHNldHEgZW5kICgxKyBlbmQpKSkKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDs7IEZJWE1FOiBVc2UgYG1kJyB0byBk byBxdW90aW5nJnRlcm1pbmF0b3IgaGVyZS4KKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIChjb21wbGV0aW9uLS1yZXBsYWNlIHN0YXJ0IGVuZCBjaG9pY2UpCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAobGV0KiAoKG1pbmlidWZmZXItY29tcGxldGlv bi10YWJsZSBjdGFibGUpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgKG1pbmlidWZmZXItY29tcGxldGlvbi1wcmVkaWNhdGUgY3ByZWQpCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNvbXBsZXRpb24tZXh0cmEtcHJvcGVy dGllcyBjcHJvcHMpCkBAIC00ODc3LDggKzQ4NTMsNyBAQCBtaW5pYnVmZmVyLW5leHQtY29t cGxldGlvbgogICAgICAgICAgIChuZXh0LWxpbmUtY29tcGxldGlvbiAob3IgbiAxKSkKICAg ICAgICAgKG5leHQtY29tcGxldGlvbiAob3IgbiAxKSkpCiAgICAgICAod2hlbiBhdXRvLWNo b29zZQotICAgICAgICAobGV0ICgoY29tcGxldGlvbi11c2UtYmFzZS1hZmZpeGVzIHQpCi0g ICAgICAgICAgICAgIChjb21wbGV0aW9uLWF1dG8tZGVzZWxlY3QgbmlsKSkKKyAgICAgICAg KGxldCAoKGNvbXBsZXRpb24tYXV0by1kZXNlbGVjdCBuaWwpKQogICAgICAgICAgIChjaG9v c2UtY29tcGxldGlvbiBuaWwgdCB0KSkpKSkpCiAKIChkZWZ1biBtaW5pYnVmZmVyLXByZXZp b3VzLWNvbXBsZXRpb24gKCZvcHRpb25hbCBuKQpAQCAtNDkxNiw4ICs0ODkxLDcgQEAgbWlu aWJ1ZmZlci1jaG9vc2UtY29tcGxldGlvbgogbWluaWJ1ZmZlciwgYnV0IGRvbid0IHF1aXQg dGhlIGNvbXBsZXRpb25zIHdpbmRvdy4iCiAgIChpbnRlcmFjdGl2ZSAiUCIpCiAgICh3aXRo LW1pbmlidWZmZXItY29tcGxldGlvbnMtd2luZG93Ci0gICAgKGxldCAoKGNvbXBsZXRpb24t dXNlLWJhc2UtYWZmaXhlcyB0KSkKLSAgICAgIChjaG9vc2UtY29tcGxldGlvbiBuaWwgbm8t ZXhpdCBuby1xdWl0KSkpKQorICAgIChjaG9vc2UtY29tcGxldGlvbiBuaWwgbm8tZXhpdCBu by1xdWl0KSkpCiAKIChkZWZ1biBtaW5pYnVmZmVyLWNob29zZS1jb21wbGV0aW9uLW9yLWV4 aXQgKCZvcHRpb25hbCBuby1leGl0IG5vLXF1aXQpCiAgICJDaG9vc2UgdGhlIGNvbXBsZXRp b24gZnJvbSB0aGUgbWluaWJ1ZmZlciBvciBleGl0IHRoZSBtaW5pYnVmZmVyLgpkaWZmIC0t Z2l0IGEvbGlzcC9zaW1wbGUuZWwgYi9saXNwL3NpbXBsZS5lbAppbmRleCBlNDYyOWNlM2Ri Ny4uNzQxY2Y1OWYzNDQgMTAwNjQ0Ci0tLSBhL2xpc3Avc2ltcGxlLmVsCisrKyBiL2xpc3Av c2ltcGxlLmVsCkBAIC05ODU2LDE2ICs5ODU2LDYgQEAgY29tcGxldGlvbi1iYXNlLXBvc2l0 aW9uCiB3aGVyZSB0aGUgY29tcGxldGlvbiBzaG91bGQgYmUgaW5zZXJ0ZWQgYW5kIEVORCAo aWYgbm9uLW5pbCkgaXMgdGhlIGVuZAogb2YgdGhlIHRleHQgdG8gcmVwbGFjZS4gIElmIEVO RCBpcyBuaWwsIHBvaW50IGlzIHVzZWQgaW5zdGVhZC4iKQogCi0oZGVmdmFyIGNvbXBsZXRp b24tYmFzZS1hZmZpeGVzIG5pbAotICAiQmFzZSBjb250ZXh0IG9mIHRoZSB0ZXh0IGNvcnJl c3BvbmRpbmcgdG8gdGhlIHNob3duIGNvbXBsZXRpb25zLgotVGhpcyB2YXJpYWJsZSBpcyB1 c2VkIGluIHRoZSAqQ29tcGxldGlvbnMqIGJ1ZmZlci4KLUl0cyB2YWx1ZSBpcyBhIGxpc3Qg b2YgdGhlIGZvcm0gKFBSRUZJWCBTVUZGSVgpIHdoZXJlIFBSRUZJWCBpcyB0aGUgdGV4dAot YmVmb3JlIHRoZSBwbGFjZSB3aGVyZSBjb21wbGV0aW9uIHNob3VsZCBiZSBpbnNlcnRlZCwg YW5kIFNVRkZJWCBpcyB0aGUgdGV4dAotYWZ0ZXIgdGhlIGNvbXBsZXRpb24uIikKLQotKGRl ZnZhciBjb21wbGV0aW9uLXVzZS1iYXNlLWFmZml4ZXMgbmlsCi0gICJOb24tbmlsIG1lYW5z IHRvIHJlc3RvcmUgb3JpZ2luYWwgcHJlZml4IGFuZCBzdWZmaXggaW4gdGhlIG1pbmlidWZm ZXIuIikKLQogKGRlZnZhciBjb21wbGV0aW9uLWxpc3QtaW5zZXJ0LWNob2ljZS1mdW5jdGlv biAjJ2NvbXBsZXRpb24tLXJlcGxhY2UKICAgIkZ1bmN0aW9uIHRvIHVzZSB0byBpbnNlcnQg dGhlIHRleHQgY2hvc2VuIGluICpDb21wbGV0aW9ucyouCiBDYWxsZWQgd2l0aCB0aHJlZSBh cmd1bWVudHMgKEJFRyBFTkQgVEVYVCksIGl0IHNob3VsZCByZXBsYWNlIHRoZSB0ZXh0CkBA IC0xMDEyNiw3ICsxMDExNiw2IEBAIGNob29zZS1jb21wbGV0aW9uCiAgICh3aXRoLWN1cnJl bnQtYnVmZmVyICh3aW5kb3ctYnVmZmVyIChwb3NuLXdpbmRvdyAoZXZlbnQtc3RhcnQgZXZl bnQpKSkKICAgICAobGV0ICgoYnVmZmVyIGNvbXBsZXRpb24tcmVmZXJlbmNlLWJ1ZmZlcikK ICAgICAgICAgICAoYmFzZS1wb3NpdGlvbiBjb21wbGV0aW9uLWJhc2UtcG9zaXRpb24pCi0g ICAgICAgICAgKGJhc2UtYWZmaXhlcyBjb21wbGV0aW9uLWJhc2UtYWZmaXhlcykKICAgICAg ICAgICAoaW5zZXJ0LWZ1bmN0aW9uIGNvbXBsZXRpb24tbGlzdC1pbnNlcnQtY2hvaWNlLWZ1 bmN0aW9uKQogICAgICAgICAgIChjb21wbGV0aW9uLW5vLWF1dG8tZXhpdCAoaWYgbm8tZXhp dCB0IGNvbXBsZXRpb24tbm8tYXV0by1leGl0KSkKICAgICAgICAgICAoY2hvaWNlCkBAIC0x MDE1OSwxMyArMTAxNDgsNyBAQCBjaG9vc2UtY29tcGxldGlvbgogICAgICAgKHdpdGgtY3Vy cmVudC1idWZmZXIgYnVmZmVyCiAgICAgICAgIChjaG9vc2UtY29tcGxldGlvbi1zdHJpbmcK ICAgICAgICAgIGNob2ljZSBidWZmZXIKLSAgICAgICAgIDs7IERvbid0IGFsbG93IGFmZml4 ZXMgdG8gcmVwbGFjZSB0aGUgd2hvbGUgYnVmZmVyIHdoZW4gbm90Ci0gICAgICAgICA7OyBp biB0aGUgbWluaWJ1ZmZlci4gIFRodXMgY2hlY2sgZm9yIGBjb21wbGV0aW9uLWluLXJlZ2lv bi1tb2RlJwotICAgICAgICAgOzsgdG8gaWdub3JlIG5vbi1uaWwgdmFsdWUgb2YgYGNvbXBs ZXRpb24tdXNlLWJhc2UtYWZmaXhlcycgc2V0IGJ5Ci0gICAgICAgICA7OyBgbWluaWJ1ZmZl ci1jaG9vc2UtY29tcGxldGlvbicuCi0gICAgICAgICAob3IgKGFuZCAobm90IGNvbXBsZXRp b24taW4tcmVnaW9uLW1vZGUpCi0gICAgICAgICAgICAgICAgICBjb21wbGV0aW9uLXVzZS1i YXNlLWFmZml4ZXMgYmFzZS1hZmZpeGVzKQotICAgICAgICAgICAgIGJhc2UtcG9zaXRpb24K KyAgICAgICAgIChvciBiYXNlLXBvc2l0aW9uCiAgICAgICAgICAgICAgOzsgSWYgYWxsIGVs c2UgZmFpbHMsIGp1c3QgZ3Vlc3MuCiAgICAgICAgICAgICAgKGxpc3QgKGNob29zZS1jb21w bGV0aW9uLWd1ZXNzLWJhc2UtcG9zaXRpb24gY2hvaWNlKSkpCiAgICAgICAgICBpbnNlcnQt ZnVuY3Rpb24pKSkpKQpAQCAtMTAzMjEsMTEgKzEwMzA0LDkgQEAgY29tcGxldGlvbi1zZXR1 cC1mdW5jdGlvbgogICAgICAgICAgICAgICAgIChidWZmZXItc3Vic3RyaW5nIChtaW5pYnVm ZmVyLXByb21wdC1lbmQpIChwb2ludCkpKSkpKSkKICAgICAod2l0aC1jdXJyZW50LWJ1ZmZl ciBzdGFuZGFyZC1vdXRwdXQKICAgICAgIChsZXQgKChiYXNlLXBvc2l0aW9uIGNvbXBsZXRp b24tYmFzZS1wb3NpdGlvbikKLSAgICAgICAgICAgIChiYXNlLWFmZml4ZXMgY29tcGxldGlv bi1iYXNlLWFmZml4ZXMpCiAgICAgICAgICAgICAoaW5zZXJ0LWZ1biBjb21wbGV0aW9uLWxp c3QtaW5zZXJ0LWNob2ljZS1mdW5jdGlvbikpCiAgICAgICAgIChjb21wbGV0aW9uLWxpc3Qt bW9kZSkKICAgICAgICAgKHNldHEtbG9jYWwgY29tcGxldGlvbi1iYXNlLXBvc2l0aW9uIGJh c2UtcG9zaXRpb24pCi0gICAgICAgIChzZXRxLWxvY2FsIGNvbXBsZXRpb24tYmFzZS1hZmZp eGVzIGJhc2UtYWZmaXhlcykKICAgICAgICAgKHNldHEtbG9jYWwgY29tcGxldGlvbi1saXN0 LWluc2VydC1jaG9pY2UtZnVuY3Rpb24gaW5zZXJ0LWZ1bikpCiAgICAgICAoc2V0cS1sb2Nh bCBjb21wbGV0aW9uLXJlZmVyZW5jZS1idWZmZXIgbWFpbmJ1ZikKICAgICAgIChpZiBiYXNl LWRpciAoc2V0cSBkZWZhdWx0LWRpcmVjdG9yeSBiYXNlLWRpcikpCg== --------------08ARVNJ9AakF0UST5Z0Szv0r--