From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Mathias Dahl Newsgroups: gmane.emacs.devel Subject: Re: [PATCH] Add abbrev suggestions Date: Thu, 24 Sep 2020 22:02:08 +0200 Message-ID: References: <83pn8rgwib.fsf@gnu.org> <83o8o4c8s4.fsf@gnu.org> <838seimytk.fsf@gnu.org> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="00000000000070fa2205b014ad85" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="37508"; mail-complaints-to="usenet@ciao.gmane.io" Cc: Eli Zaretskii , emacs-devel@gnu.org To: Robert Pluim Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Thu Sep 24 22:04:30 2020 Return-path: Envelope-to: ged-emacs-devel@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 1kLXTi-0009g3-J0 for ged-emacs-devel@m.gmane-mx.org; Thu, 24 Sep 2020 22:04:30 +0200 Original-Received: from localhost ([::1]:34980 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kLXTg-0003kj-31 for ged-emacs-devel@m.gmane-mx.org; Thu, 24 Sep 2020 16:04:29 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:58148) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kLXRg-0002eH-EG for emacs-devel@gnu.org; Thu, 24 Sep 2020 16:02:24 -0400 Original-Received: from mail-ua1-x936.google.com ([2607:f8b0:4864:20::936]:37324) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1kLXRe-0002cI-FU; Thu, 24 Sep 2020 16:02:24 -0400 Original-Received: by mail-ua1-x936.google.com with SMTP id d18so181572uav.4; Thu, 24 Sep 2020 13:02:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=nZodH5vbMJl0Iwdk8Szq+DyrGSV2dp2xZhrOk5efWho=; b=hf6zdKt9lc+PRaC+/eljZprvGycLv5j0ABTvtynw1hfa7l/GJSL60HvKUdHAapsDbG KB+jczgGNG8YqNT1wAc5N8XtLmJ4x+v6OnLdMRdXJ0PawsHtEA/mrXYdNGgcAyElJCjt KsXC7WoRm31DmBvAmIh4A6qtINC9haHXzS3C4EIOG0tCCuIawGc1O7oAafgDEFI3/9W7 E7kyRaEILQXrVL7u1/zvIgd6TPYE6zFIbhmhxIhHqB0eDNNLRaBm8Qp0ejj9lP2ulMM+ PIBvWNZ7E56XQb7dGGb4NsUyjMOisP7kcJypmuqWYZSa2Z1HKSjA23mco8iy6MyBsPWW FWNw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=nZodH5vbMJl0Iwdk8Szq+DyrGSV2dp2xZhrOk5efWho=; b=i3wiNw+3Jf4lal7BZlBwfipos9/Py5EN7qPiSi8215KnO+bFF9qESZhzTXL7SAir6v 3yhOrLK9md+rxWkkp1tJ6PjyNvOJxefW8YUcL3ez9MqhNeghHKVASILOAAG9r0WfYs1j vudUD6lc7eBLGGLTir8GOTQRitOQ5gPlWqErbI1AG1BXcspmWR2HCiRkHO+ALcwcTZDa KuzGGHoZNYYd2TYTwBqy1DDLtuBaaC9THwvkS8iS2coplIKep97jCUAFLlu/jjl1M2WF wf+utTHrhjgqqd198z6vavN3zPA9EjaFPLJ4CjULQpC6h3jtoLKKM/SUw87c8M3Watdo Zssw== X-Gm-Message-State: AOAM531SLeOwd/BlhjBKmgcFDcPjNfDAXRlFWBV+Q8RgR+OCPlWUlOMj zbdwGrOAYUYwfDAnrUKG78zdG4blxz+iZO3+LMWOt0+8WGngKA== X-Google-Smtp-Source: ABdhPJzVS68cHTZ7pKDlV6VFxtoGWtZj+OjhIGwLHezSFmlm4FSG187gSQ6T2lfoMchHrvYHTWavRPppe6Pei1X+CUs= X-Received: by 2002:ab0:6059:: with SMTP id o25mr550916ual.61.1600977739238; Thu, 24 Sep 2020 13:02:19 -0700 (PDT) In-Reply-To: Received-SPF: pass client-ip=2607:f8b0:4864:20::936; envelope-from=mathias.dahl@gmail.com; helo=mail-ua1-x936.google.com X-detected-operating-system: by eggs.gnu.org: No matching host in p0f cache. That's all we know. X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.io gmane.emacs.devel:256401 Archived-At: --00000000000070fa2205b014ad85 Content-Type: multipart/alternative; boundary="00000000000070fa2105b014ad83" --00000000000070fa2105b014ad83 Content-Type: text/plain; charset="UTF-8" On Fri, Sep 18, 2020 at 10:40 AM Mathias Dahl wrote: > > On Tue, Sep 15, 2020 at 10:16 AM Robert Pluim wrote: > >> >>>>> On Tue, 15 Sep 2020 00:04:05 +0200, Mathias Dahl < >> mathias.dahl@gmail.com> said: >> >> Nitpicking below. Nothing major, it looks to be a useful feature. >> > > Hi Robert, thanks for this! I will review your suggestions and incorporate > the ones I like :) > Okay, so I finally got around doing this. I incorporated some of the changes but not others. Since it's mostly nitpicking, as you said Robert, it should be fine I think. Eli, if this looks good, can we get this added to Emacs Git repo? If we need small tweaks I would rather want to add those separately instead of trying to get this first patch 100% correct. Thanks! /Mathias --00000000000070fa2105b014ad83 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
On Fri, Sep 18, 2020 at 10:40 AM Mathias = Dahl <mathias.dahl@gmail.com> wrote:

>>>>> On Tue, 15 Sep 2020 00:04= :05 +0200, Mathias Dahl <mathias.dahl@gmail.com> said:

Nitpicking below. Nothing major, it looks to be a useful feature.

Hi Robert, thanks for this! I will review yo= ur suggestions and incorporate the ones I like :)

Okay, so I finally got around doing this. I incorp= orated some of the changes but not others. Since
it's mostly = nitpicking, as you said Robert, it should be fine I think.

Eli, if this looks good, can we get this added to Emacs Git repo? = If we need small tweaks I
would rather want to add those separate= ly instead of trying to get this first patch 100%=C2=A0
correct.<= /div>

Thanks!

/Mathias


--00000000000070fa2105b014ad83-- --00000000000070fa2205b014ad85 Content-Type: application/octet-stream; name="0001-Abbrev-suggestions.patch" Content-Disposition: attachment; filename="0001-Abbrev-suggestions.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_kfh8oj380 RnJvbSA4YWRiMDg5ZGZjNTI1NjFkYmE3MDMwMzZjNjk4YzZlMDYzOTc2ODcyIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBNYXRoaWFzIERhaGwgPG1hdGhpYXMuZGFobEBnbWFpbC5jb20+ CkRhdGU6IFRodSwgMjQgU2VwIDIwMjAgMTU6MDY6MjMgLTA0MDAKU3ViamVjdDogW1BBVENIXSBB YmJyZXYgc3VnZ2VzdGlvbnMKCiAgICBBZGQgYWJicmV2IHN1Z2dlc3Rpb25zIC0gU3VnZ2VzdCB0 byB0aGUgdXNlciB0byB1c2UgZGVmaW5lZAogICAgYWJicmV2cyBpbnN0ZWFkIG9mIHR5cGluZyB0 aGVpciBleHBhbnNpb24uCgogICAgKiBsaXNwL2FiYnJldi5lbCAoYWJicmV2LXN1Z2dlc3QpOiBO ZXcgZGVmY3VzdG9tLgogICAgKGFiYnJldi1zdWdnZXN0LWhpbnQtdGhyZXNob2xkKTogTmV3IGRl ZmN1c3RvbS4KICAgIChhYmJyZXYtLXN1Z2dlc3QtZ2V0LWFjdGl2ZS10YWJsZXMtaW5jbHVkaW5n LXBhcmVudHMpOiBOZXcgZGVmdW4uCiAgICAoYWJicmV2LS1zdWdnZXN0LWdldC1hY3RpdmUtYWJi cmV2LWV4cGFuc2lvbnMpOiBOZXcgZGVmdW4uCiAgICAoYWJicmV2LS1zdWdnZXN0LWNvdW50LXdv cmRzKTogTmV3IGRlZnVuLgogICAgKGFiYnJldi0tc3VnZ2VzdC1nZXQtcHJldmlvdXMtd29yZHMp OiBOZXcgZGVmdW4uCiAgICAoYWJicmV2LS1zdWdnZXN0LWFib3ZlLXRocmVzaG9sZCk6IE5ldyBk ZWZ1bi4KICAgIChhYmJyZXYtLXN1Z2dlc3Qtc2F2ZWQtcmVjb21tZW5kYXRpb25zKTogTmV3IGRl ZnZhci4KICAgIChhYmJyZXYtLXN1Z2dlc3QtaW5mb3JtLXVzZXIpOiBOZXcgZGVmdW4uCiAgICAo YWJicmV2LS1zdWdnZXN0LXNob3J0ZXN0LWFiYnJldik6IE5ldyBkZWZ1bi4KICAgIChhYmJyZXYt LXN1Z2dlc3QtbWF5YmUtc3VnZ2VzdCk6IE5ldyBkZWZ1bi4KICAgIChhYmJyZXYtLXN1Z2dlc3Qt Z2V0LXRvdGFscyk6IE5ldyBkZWZ1bi4KICAgIChhYmJyZXYtc3VnZ2VzdC1zaG93LXJlcG9ydCk6 IE5ldyBkZWZ1bi4KICAgIChleHBhbmQtYWJicmV2KTogSWYgdGhlIHByZXZpb3VzIHdvcmQgd2Fz IG5vdCBhbiBhYmJyZXYsIG1heWJlCiAgICBzdWdnZXN0IGFuIGFiYnJldiB0byB0aGUgdXNlci4K ICAgICogZG9jL2VtYWNzL2FiYnJldnMudGV4aSAoQWJicmV2IHN1Z2dlc3Rpb25zKTogTmV3IHNl Y3Rpb24uCiAgICAqIGV0Yy9ORVdTOiBBbm5vdW5jZSBhYmJyZXYgc3VnZ2VzdGlvbnMuCgotLS0K IGRvYy9lbWFjcy9hYmJyZXZzLnRleGkgfCAgMzIgKysrKysrKysrKysKIGV0Yy9ORVdTICAgICAg ICAgICAgICAgfCAgMTAgKysrKwogbGlzcC9hYmJyZXYuZWwgICAgICAgICB8IDE0MCArKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystCiAzIGZpbGVzIGNoYW5n ZWQsIDE4MSBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvZG9jL2Vt YWNzL2FiYnJldnMudGV4aSBiL2RvYy9lbWFjcy9hYmJyZXZzLnRleGkKaW5kZXggMjFiZjhjNS4u ZGZjZWQ4OCAxMDA2NDQKLS0tIGEvZG9jL2VtYWNzL2FiYnJldnMudGV4aQorKysgYi9kb2MvZW1h Y3MvYWJicmV2cy50ZXhpCkBAIC0yOCw2ICsyOCw3IEBAIEFiYnJldnMKICogQWJicmV2IENvbmNl cHRzOjogICBGdW5kYW1lbnRhbHMgb2YgZGVmaW5lZCBhYmJyZXZzLgogKiBEZWZpbmluZyBBYmJy ZXZzOjogIERlZmluaW5nIGFuIGFiYnJldiwgc28gaXQgd2lsbCBleHBhbmQgd2hlbiB0eXBlZC4K ICogRXhwYW5kaW5nIEFiYnJldnM6OiBDb250cm9sbGluZyBleHBhbnNpb246IHByZWZpeGVzLCBj YW5jZWxpbmcgZXhwYW5zaW9uLgorKiBBYmJyZXZzIFN1Z2dlc3Rpb25zOjogR2V0IHN1Z2dlc3Rp b25zIGFib3V0IGRlZmluZWQgYWJicmV2cy4KICogRWRpdGluZyBBYmJyZXZzOjogICBWaWV3aW5n IG9yIGVkaXRpbmcgdGhlIGVudGlyZSBsaXN0IG9mIGRlZmluZWQgYWJicmV2cy4KICogU2F2aW5n IEFiYnJldnM6OiAgICBTYXZpbmcgdGhlIGVudGlyZSBsaXN0IG9mIGFiYnJldnMgZm9yIGFub3Ro ZXIgc2Vzc2lvbi4KICogRHluYW1pYyBBYmJyZXZzOjogICBBYmJyZXZpYXRpb25zIGZvciB3b3Jk cyBhbHJlYWR5IGluIHRoZSBidWZmZXIuCkBAIC0yMjMsNiArMjI0LDM3IEBAIEV4cGFuZGluZyBB YmJyZXZzCiB0aGUgYWJicmV2IGV4cGFuc2lvbi4gIEB4cmVme0FiYnJldiBFeHBhbnNpb24sLCwg ZWxpc3AsIFRoZSBFbWFjcyBMaXNwCiBSZWZlcmVuY2UgTWFudWFsfS4KIAorQG5vZGUgQWJicmV2 IFN1Z2dlc3Rpb25zCitAc2VjdGlvbiBBYmJyZXYgU3VnZ2VzdGlvbnMKKworICBZb3UgY2FuIGdl dCBhYmJyZXYgc3VnZ2VzdGlvbnMgd2hlbiB5b3UgbWFudWFsbHkgdHlwZSB0ZXh0IGZvciB3aGlj aAordGhlcmUgaXMgY3VycmVudGx5IGFuIGFjdGl2ZSBkZWZpbmVkIGFiYnJldi4gIEZvciBleGFt cGxlLCBpZiB0aGVyZSBpcworYW4gYWJicmV2IEBzYW1we2Zvb30gd2l0aCB0aGUgZXhwYW5zaW9u IEBzYW1we2ZpbmQgb3V0ZXIgb3R0ZXJ9LCBhbmQKK3lvdSBtYW51YWxseSB0eXBlIEBzYW1we2Zp bmQgb3V0ZXIgb3R0ZXJ9LCB0aGUgYWJicmV2IHN1Z2dlc3Rpb24KK2ZlYXR1cmUgd2lsbCBub3Rp Y2UgdGhpcyBhbmQgc2hvdyBhIGhpbnQgaW4gdGhlIGVjaG8gd2hlbiB5b3UgaGF2ZQorc3RvcHBl ZCB0eXBpbmcuCisKK0B2aW5kZXggYWJicmV2LXN1Z2dlc3QKKyAgRW5hYmxlIHRoZSBhYmJyZXYg c3VnZ2VzdGlvbiBmZWF0dXJlIGJ5IHNldHRpbmcKK0Bjb2Rle2FiYnJldi1zdWdnZXN0fSB0byBA Y29kZXt0fS4KKworQHZpbmRleCBhYmJyZXYtc3VnZ2VzdC1oaW50LXRocmVzaG9sZAorICBDb250 cm9scyB3aGVuIHRvIHN1Z2dlc3QgYW4gYWJicmV2IHRvIHRoZSB1c2VyLiAgVGhlIHZhcmlhYmxl CitkZWZpbmVzIHRoZSBudW1iZXIgb2YgY2hhcmFjdGVycyB0aGF0IHRoZSB1c2VyIG11c3Qgc2F2 ZSBpbiBvcmRlciB0bworZ2V0IGEgc3VnZ2VzdGlvbi4gIEZvciBleGFtcGxlLCBpZiB0aGUgdXNl ciB0eXBlcyBAc2FtcHtmb28gYmFyfQorKHNldmVuIGNoYXJhY3RlcnMpIGFuZCB0aGVyZSBpcyBh biBhYmJyZXYgQHNhbXB7ZnViYXJ9IGRlZmluZWQgKGZpdmUKK2NoYXJhY3RlcnMpLCB0aGUgdXNl ciB3aWxsIG5vdCBnZXQgYW55IHN1Z2dlc3Rpb24gdW5sZXNzIHRoZSB0aHJlc2hvbGQKK2lzIHNl dCB0byB0aGUgbnVtYmVyIDIgb3IgbG93ZXIuICBXaXRoIHRoZSBkZWZhdWx0IHZhbHVlIDMsIHRo ZSB1c2VyCit3b3VsZCBub3QgZ2V0IGFueSBzdWdnZXN0aW9uLCBiZWNhdXNlIHRoZSBzYXZpbmdz IGluIHVzaW5nIHRoZSBhYmJyZXYKK2FyZSBub3QgYWJvdmUgdGhlIHRocmVzaG9sZC4gIElmIHlv dSBhbHdheXMgd2FudCB0byBnZXQgYWJicmV2CitzdWdnZXN0aW9ucywgc2V0IHRoaXMgdmFyaWFi bGUgdG8gMC4KKworQGZpbmRleCBhYmJyZXYtc3VnZ2VzdC1zaG93LXJlcG9ydAorICBUaGUgY29t bWFuZCBAY29kZXthYmJyZXYtc3VnZ2VzdC1zaG93LXJlcG9ydH0gY2FuIGJlIHVzZWQgdG8gc2hv dyBhCitidWZmZXIgd2l0aCBhbGwgYWJicmV2IHN1Z2dlc3Rpb25zIGZyb20gdGhlIGN1cnJlbnQg ZWRpdGluZyBzZXNzaW9uLgorVGhpcyBjYW4gYmUgdXNlZnVsIGlmIHlvdSBnZXQgc2V2ZXJhbCBh YmJyZXYgc3VnZ2VzdGlvbnMgYW5kIGRvbid0CityZW1lbWJlciB0aGVtIGFsbC4KKwogQG5vZGUg RWRpdGluZyBBYmJyZXZzCiBAc2VjdGlvbiBFeGFtaW5pbmcgYW5kIEVkaXRpbmcgQWJicmV2cwog CmRpZmYgLS1naXQgYS9ldGMvTkVXUyBiL2V0Yy9ORVdTCmluZGV4IDQwNzY2MzAuLjNlNDA0YzAg MTAwNjQ0Ci0tLSBhL2V0Yy9ORVdTCisrKyBiL2V0Yy9ORVdTCkBAIC0xMTU4LDYgKzExNTgsMTYg QEAgbWVzc2FnZXMsIGNvbnRhaW4gdGhlIGVycm9yIG5hbWUgb2YgdGhhdCBtZXNzYWdlIG5vdy4g IFRoZXkgY2FuIGJlCiBtYWRlIHZpc2libGUgYnkgc2V0dGluZyB1c2VyIHZhcmlhYmxlICdkYnVz LXNob3ctZGJ1cy1lcnJvcnMnIHRvCiBub24tbmlsLCBldmVuIGlmIHByb3RlY3RlZCBieSAnZGJ1 cy1pZ25vcmUtZXJyb3JzJyBvdGhlcndpc2UuCiAKKyoqIEFiYnJldiBtb2RlCisKKysrKworKioq IEFiYnJldiBjYW4gbm93IHN1Z2dlc3QgcHJlLWV4aXN0aW5nIGFiYnJldnMgYmFzZWQgb24gdHlw ZWQgdGV4dC4KK0EgbmV3IHVzZXIgb3B0aW9uLCAnYWJicmV2LXN1Z2dlc3QnLCBlbmFibGVzIHRo ZSBuZXcgYWJicmV2IHN1Z2dlc3Rpb24KK2ZlYXR1cmUuICBXaGVuIGVuYWJsZWQsIGlmIGEgdXNl ciBtYW51YWxseSB0eXBlIGEgcGllY2Ugb2YgdGV4dCB0aGF0Citjb3VsZCBoYXZlIGJlZW4gd3Jp dHRlbiBieSB1c2luZyBhbiBhYmJyZXYsIGEgaGludCB3aWxsIGJlIGRpc3BsYXllZAoraW4gdGhl IGVjaG8gYXJlYSwgbWVudGlvbmluZyB0aGUgYWJicmV2IHRoYXQgY291bGQgaGF2ZSBiZWVuIHVz ZWQKK2luc3RlYWQuCisKIAwKICogTmV3IE1vZGVzIGFuZCBQYWNrYWdlcyBpbiBFbWFjcyAyOC4x CiAKZGlmZiAtLWdpdCBhL2xpc3AvYWJicmV2LmVsIGIvbGlzcC9hYmJyZXYuZWwKaW5kZXggYmU2 ZjllZS4uNzVjYzQzOSAxMDA2NDQKLS0tIGEvbGlzcC9hYmJyZXYuZWwKKysrIGIvbGlzcC9hYmJy ZXYuZWwKQEAgLTgyNCw2ICs4MjQsMTQyIEBAIGFiYnJldi1leHBhbmQtZnVuY3Rpb24KICAgIkZ1 bmN0aW9uIHRoYXQgYGV4cGFuZC1hYmJyZXYnIHVzZXMgdG8gcGVyZm9ybSBhYmJyZXYgZXhwYW5z aW9uLgogVGFrZXMgbm8gYXJndW1lbnQgYW5kIHNob3VsZCByZXR1cm4gdGhlIGFiYnJldiBzeW1i b2wgaWYgZXhwYW5zaW9uIHRvb2sgcGxhY2UuIikKIAorKGRlZmN1c3RvbSBhYmJyZXYtc3VnZ2Vz dCBuaWwKKyAgIk5vbi1uaWwgbWVhbnMgc3VnZ2VzdCBhYmJyZXZzIHRvIHRoZSB1c2VyLgorQnkg ZW5hYmxpbmcgdGhpcyBvcHRpb24sIGlmIGFiYnJldiBtb2RlIGlzIGVuYWJsZWQgYW5kIGlmIHRo ZQordXNlciBoYXMgdHlwZWQgc29tZSB0ZXh0IHRoYXQgZXhpc3RzIGFzIGFuIGFiYnJldiwgc3Vn Z2VzdCB0byB0aGUKK3VzZXIgdG8gdXNlIHRoZSBhYmJyZXYgYnkgZGlzcGxheWluZyBhIG1lc3Nh Z2UgaW4gdGhlIGVjaG8gYXJlYS4iCisgICAgOnR5cGUgJ2Jvb2xlYW4KKyAgICA6dmVyc2lvbiAi MjguMSIpCisKKyhkZWZjdXN0b20gYWJicmV2LXN1Z2dlc3QtaGludC10aHJlc2hvbGQgMworICAi VGhyZXNob2xkIGZvciB3aGVuIHRvIGluZm9ybSB0aGUgdXNlciB0aGF0IHRoZXJlIGlzIGFuIGFi YnJldi4KK1RoZSB0aHJlc2hvbGQgaXMgdGhlIG51bWJlciBvZiBjaGFyYWN0ZXJzIHRoYXQgZGlm ZmVyIGJldHdlZW4gdGhlCitsZW5ndGggb2YgdGhlIGFiYnJldiBhbmQgdGhlIGxlbmd0aCBvZiB0 aGUgZXhwYW5zaW9uLiAgVGhlCit0aGlua2luZyBpcyB0aGF0IGlmIHRoZSBleHBhbnNpb24gaXMg b25seSBvbmUgb3IgYSBmZXcgY2hhcmFjdGVycworbG9uZ2VyIHRoYW4gdGhlIGFiYnJldiwgdGhl IGJlbmVmaXQgb2YgaW5mb3JtaW5nIHRoZSB1c2VyIGlzIG5vdAordGhhdCBiaWcuICBJZiB5b3Ug YWx3YXlzIHdhbnQgdG8gYmUgaW5mb3JtZWQsIHNldCB0aGlzIHZhbHVlIHRvCitgMCcgb3IgbGVz cy4gIFRoaXMgc2V0dGluZyBvbmx5IGFwcGxpZXMgaWYgYGFiYnJldi1zdWdnZXN0JyBpcworbm9u LW5pbC4iCisgICAgOnR5cGUgJ251bWJlcgorICAgIDp2ZXJzaW9uICIyOC4xIikKKworKGRlZnVu IGFiYnJldi0tc3VnZ2VzdC1nZXQtYWN0aXZlLXRhYmxlcy1pbmNsdWRpbmctcGFyZW50cyAoKQor ICAiUmV0dXJuIGEgbGlzdCBvZiBhbGwgYWN0aXZlIGFiYnJldiB0YWJsZXMsIGluY2x1ZGluZyBw YXJlbnQgdGFibGVzLiIKKyAgKGxldCogKCh0YWJsZXMgKGFiYnJldi0tYWN0aXZlLXRhYmxlcykp CisJIChhbGwgdGFibGVzKSkKKyAgICAoZG9saXN0ICh0YWJsZSB0YWJsZXMpCisgICAgICAoc2V0 cSBhbGwgKGFwcGVuZCAoYWJicmV2LXRhYmxlLWdldCB0YWJsZSA6cGFyZW50cykgYWxsKSkpCisg ICAgYWxsKSkKKworKGRlZnVuIGFiYnJldi0tc3VnZ2VzdC1nZXQtYWN0aXZlLWFiYnJldi1leHBh bnNpb25zICgpCisgICJSZXR1cm4gYSBsaXN0IG9mIGFsbCB0aGUgYWN0aXZlIGFiYnJldiBleHBh bnNpb25zLgorSW5jbHVkZXMgZXhwYW5zaW9ucyBmcm9tIHBhcmVudCBhYmJyZXYgdGFibGVzLiIK KyAgICAobGV0IChleHBhbnNpb25zKQorICAgICAgKGRvbGlzdCAodGFibGUgKGFiYnJldi0tc3Vn Z2VzdC1nZXQtYWN0aXZlLXRhYmxlcy1pbmNsdWRpbmctcGFyZW50cykpCisJKG1hcGF0b21zIChs YW1iZGEgKGUpCisJCSAgICAobGV0ICgodmFsdWUgKHN5bWJvbC12YWx1ZSAoYWJicmV2LS1zeW1i b2wgZSB0YWJsZSkpKSkKKwkJICAgICAgKHdoZW4gdmFsdWUKKyAgICAgICAgICAgICAgICAgICAg ICAgIChwdXNoIChjb25zIHZhbHVlIChzeW1ib2wtbmFtZSBlKSkgZXhwYW5zaW9ucykpKSkKKwkJ ICB0YWJsZSkpCisgICAgICBleHBhbnNpb25zKSkKKworKGRlZnVuIGFiYnJldi0tc3VnZ2VzdC1j b3VudC13b3JkcyAoZXhwYW5zaW9uKQorICAiUmV0dXJuIHRoZSBudW1iZXIgb2Ygd29yZHMgaW4g RVhQQU5TSU9OLgorRXhwYW5zaW9uIGlzIGEgc3RyaW5nIG9mIG9uZSBvciBtb3JlIHdvcmRzLiIK KyAgICAobGVuZ3RoIChzcGxpdC1zdHJpbmcgZXhwYW5zaW9uICIgIiB0KSkpCisKKyhkZWZ1biBh YmJyZXYtLXN1Z2dlc3QtZ2V0LXByZXZpb3VzLXdvcmRzIChuKQorICAiUmV0dXJuIHRoZSBOIHdv cmRzIGJlZm9yZSBwb2ludCwgc3BhY2VzIGluY2x1ZGVkLiIKKyAgICAobGV0ICgoZW5kIChwb2lu dCkpKQorICAgICAgKHNhdmUtZXhjdXJzaW9uCisJKGJhY2t3YXJkLXdvcmQgbikKKwkocmVwbGFj ZS1yZWdleHAtaW4tc3RyaW5nCisJICJcXHMgIiAiICIKKwkgKGJ1ZmZlci1zdWJzdHJpbmctbm8t cHJvcGVydGllcyAocG9pbnQpIGVuZCkpKSkpCisKKyhkZWZ1biBhYmJyZXYtLXN1Z2dlc3QtYWJv dmUtdGhyZXNob2xkIChleHBhbnNpb24pCisgICJSZXR1cm4gbm9uLW5pbCBpZiB0aGUgYWJicmV2 IGluIEVYUEFOU0lPTiBwcm92aWRlcyBzaWduaWZpY2FudCBzYXZpbmdzLgorQSBzaWduaWZpY2Fu dCBzYXZpbmcsIGhlcmUsIGlzIHRoZSBkaWZmZXJlbmNlIGluIGxlbmd0aCBiZXR3ZWVuCit0aGUg YWJicmV2IGFuZCB0aGUgYWJicmV2IGV4cGFuc2lvbi4gIEVYUEFOU0lPTiBpcyBhIGNvbnMgY2Vs bAord2hlcmUgdGhlIGNhciBpcyB0aGUgZXhwYW5zaW9uIGFuZCB0aGUgY2RyIGlzIHRoZSBhYmJy ZXYuIgorICAgICg+PSAoLSAobGVuZ3RoIChjYXIgZXhwYW5zaW9uKSkKKwkgICAobGVuZ3RoIChj ZHIgZXhwYW5zaW9uKSkpCisJYWJicmV2LXN1Z2dlc3QtaGludC10aHJlc2hvbGQpKQorCisoZGVm dmFyIGFiYnJldi0tc3VnZ2VzdC1zYXZlZC1yZWNvbW1lbmRhdGlvbnMgbmlsCisgICAgIktlZXBz IGEgbGlzdCBvZiBleHBhbnNpb25zIHRoYXQgaGF2ZSBhYmJyZXZzIGRlZmluZWQuCitUaGUgdXNl ciBjYW4gc2hvdyB0aGlzIGxpc3QgYnkgY2FsbGluZworYGFiYnJldi1zdWdnZXN0LXNob3ctcmVw b3J0Jy4iKQorCisoZGVmdW4gYWJicmV2LS1zdWdnZXN0LWluZm9ybS11c2VyIChleHBhbnNpb24p CisgICAgIkRpc3BsYXkgYSBtZXNzYWdlIHRvIHRoZSB1c2VyIGFib3V0IHRoZSBleGlzdGluZyBh YmJyZXYuCitFWFBBTlNJT04gaXMgYSBjb25zIGNlbGwgd2hlcmUgdGhlIGBjYXInIGlzIHRoZSBl eHBhbnNpb24gYW5kIHRoZQorYGNkcicgaXMgdGhlIGFiYnJldi4iCisgICAgKHJ1bi13aXRoLWlk bGUtdGltZXIKKyAgICAgMSBuaWwKKyAgICAgKGxhbWJkYSAoKQorICAgICAgIChtZXNzYWdlICJZ b3UgY2FuIHdyaXRlIGAlcycgdXNpbmcgdGhlIGFiYnJldiBgJXMnLiIKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgKGNhciBleHBhbnNpb24pIChjZHIgZXhwYW5zaW9uKSkpKQor ICAgIChwdXNoIGV4cGFuc2lvbiBhYmJyZXYtLXN1Z2dlc3Qtc2F2ZWQtcmVjb21tZW5kYXRpb25z KSkKKworKGRlZnVuIGFiYnJldi0tc3VnZ2VzdC1zaG9ydGVzdC1hYmJyZXYgKG5ldyBjdXJyZW50 KQorICAgICJSZXR1cm4gdGhlIHNob3J0ZXN0IGFiYnJldiBvZiBORVcgYW5kIENVUlJFTlQuCitO RVcgYW5kIENVUlJFTlQgYXJlIGNvbnMgY2VsbHMgd2hlcmUgdGhlIGBjYXInIGlzIHRoZSBleHBh bnNpb24KK2FuZCB0aGUgYGNkcicgaXMgdGhlIGFiYnJldi4iCisgICAgKGlmIChub3QgY3VycmVu dCkKKwluZXcKKyAgICAgIChpZiAoPCAobGVuZ3RoIChjZHIgbmV3KSkKKwkgICAgIChsZW5ndGgg KGNkciBjdXJyZW50KSkpCisJICBuZXcKKwljdXJyZW50KSkpCisKKyhkZWZ1biBhYmJyZXYtLXN1 Z2dlc3QtbWF5YmUtc3VnZ2VzdCAoKQorICAgICJTdWdnZXN0IGFuIGFiYnJldiB0byB0aGUgdXNl ciBiYXNlZCBvbiB0aGUgd29yZChzKSBiZWZvcmUgcG9pbnQuCitVc2VzIGBhYmJyZXYtc3VnZ2Vz dC1oaW50LXRocmVzaG9sZCcgdG8gZmluZCBvdXQgaWYgdGhlIHVzZXIgc2hvdWxkIGJlCitpbmZv cm1lZCBhYm91dCB0aGUgZXhpc3RpbmcgYWJicmV2LiIKKyAgICAobGV0ICh3b3JkcyBhYmJyZXYt Zm91bmQgd29yZC1jb3VudCkKKyAgICAgIChkb2xpc3QgKGV4cGFuc2lvbiAoYWJicmV2LS1zdWdn ZXN0LWdldC1hY3RpdmUtYWJicmV2LWV4cGFuc2lvbnMpKQorCShzZXRxIHdvcmQtY291bnQgKGFi YnJldi0tc3VnZ2VzdC1jb3VudC13b3JkcyAoY2FyIGV4cGFuc2lvbikpCisJICAgICAgd29yZHMg KGFiYnJldi0tc3VnZ2VzdC1nZXQtcHJldmlvdXMtd29yZHMgd29yZC1jb3VudCkpCisJKGxldCAo KGNhc2UtZm9sZC1zZWFyY2ggdCkpCisJICAod2hlbiAoYW5kICg+IHdvcmQtY291bnQgMCkKKwkJ ICAgICAoc3RyaW5nLW1hdGNoIChjYXIgZXhwYW5zaW9uKSB3b3JkcykKKwkJICAgICAoYWJicmV2 LS1zdWdnZXN0LWFib3ZlLXRocmVzaG9sZCBleHBhbnNpb24pKQorCSAgICAoc2V0cSBhYmJyZXYt Zm91bmQgKGFiYnJldi0tc3VnZ2VzdC1zaG9ydGVzdC1hYmJyZXYKKwkJCQlleHBhbnNpb24gYWJi cmV2LWZvdW5kKSkpKSkKKyAgICAgICh3aGVuIGFiYnJldi1mb3VuZAorCShhYmJyZXYtLXN1Z2dl c3QtaW5mb3JtLXVzZXIgYWJicmV2LWZvdW5kKSkpKQorCisoZGVmdW4gYWJicmV2LS1zdWdnZXN0 LWdldC10b3RhbHMgKCkKKyAgICAiUmV0dXJuIGEgbGlzdCBvZiBhbGwgZXhwYW5zaW9ucyBhbmQg aG93IG1hbnkgdGltZXMgdGhleSB3ZXJlIHVzZWQuCitFYWNoIGV4cGFuc2lvbiBpcyBhIGNvbnMg Y2VsbCB3aGVyZSB0aGUgYGNhcicgaXMgdGhlIGV4cGFuc2lvbgorYW5kIHRoZSBgY2RyJyBpcyB0 aGUgbnVtYmVyIG9mIHRpbWVzIHRoZSBleHBhbnNpb24gaGFzIGJlZW4KK3R5cGVkLiIKKyAgICAo bGV0ICh0b3RhbCBjZWxsKQorICAgICAgKGRvbGlzdCAoZXhwYW5zaW9uIGFiYnJldi0tc3VnZ2Vz dC1zYXZlZC1yZWNvbW1lbmRhdGlvbnMpCisJKGlmIChub3QgKGFzc29jIChjYXIgZXhwYW5zaW9u KSB0b3RhbCkpCisJICAgIChwdXNoIChjb25zIChjYXIgZXhwYW5zaW9uKSAxKSB0b3RhbCkKKwkg IChzZXRxIGNlbGwgKGFzc29jIChjYXIgZXhwYW5zaW9uKSB0b3RhbCkpCisJICAoc2V0Y2RyIGNl bGwgKDErIChjZHIgY2VsbCkpKSkpCisgICAgICB0b3RhbCkpCisKKyhkZWZ1biBhYmJyZXYtc3Vn Z2VzdC1zaG93LXJlcG9ydCAoKQorICAiU2hvdyB0aGUgdXNlciBhIHJlcG9ydCBvZiBhYmJyZXZz IGhlIGNvdWxkIGhhdmUgdXNlZC4iCisgIChpbnRlcmFjdGl2ZSkKKyAgKGxldCAoKHRvdGFscyAo YWJicmV2LS1zdWdnZXN0LWdldC10b3RhbHMpKQorCShidWYgKGdldC1idWZmZXItY3JlYXRlICIq YWJicmV2LXN1Z2dlc3QqIikpKQorICAgIChzZXQtYnVmZmVyIGJ1ZikKKyAgICAoZXJhc2UtYnVm ZmVyKQorICAgICAgICAoaW5zZXJ0ICIqKiBBYmJyZXYgZXhwYW5zaW9uIHVzYWdlICoqCisKK0Jl bG93IGlzIGEgbGlzdCBvZiBleHBhbnNpb25zIGZvciB3aGljaCBhYmJyZXZzIGFyZSBkZWZpbmVk LCBhbmQKK3RoZSBudW1iZXIgb2YgdGltZXMgdGhlIGV4cGFuc2lvbiB3YXMgdHlwZWQgbWFudWFs bHkuICBUbyBkaXNwbGF5CithbmQgZWRpdCBhbGwgYWJicmV2cywgdHlwZSBgTS14IGVkaXQtYWJi cmV2cyBSRVQnXG5cbiIpCisJKGRvbGlzdCAoZXhwYW5zaW9uIHRvdGFscykKKwkgIChpbnNlcnQg KGZvcm1hdCAiICVzOiAlZFxuIiAoY2FyIGV4cGFuc2lvbikgKGNkciBleHBhbnNpb24pKSkpCisJ KGRpc3BsYXktYnVmZmVyIGJ1ZikpKQorCiAoZGVmdW4gZXhwYW5kLWFiYnJldiAoKQogICAiRXhw YW5kIHRoZSBhYmJyZXYgYmVmb3JlIHBvaW50LCBpZiB0aGVyZSBpcyBhbiBhYmJyZXYgdGhlcmUu CiBFZmZlY3RpdmUgd2hlbiBleHBsaWNpdGx5IGNhbGxlZCBldmVuIHdoZW4gYGFiYnJldi1tb2Rl JyBpcyBuaWwuCkBAIC04MzEsNyArOTY3LDkgQEAgZXhwYW5kLWFiYnJldgogdGhlIHdvcmssIGFu ZCByZXR1cm5zIHdoYXRldmVyIGl0IGRvZXMuICAoVGhhdCByZXR1cm4gdmFsdWUgc2hvdWxkCiBi ZSB0aGUgYWJicmV2IHN5bWJvbCBpZiBleHBhbnNpb24gb2NjdXJyZWQsIGVsc2UgbmlsLikiCiAg IChpbnRlcmFjdGl2ZSkKLSAgKGZ1bmNhbGwgYWJicmV2LWV4cGFuZC1mdW5jdGlvbikpCisgIChv ciAoZnVuY2FsbCBhYmJyZXYtZXhwYW5kLWZ1bmN0aW9uKQorICAgICAgKGlmIGFiYnJldi1zdWdn ZXN0CisgICAgICAgICAgKGFiYnJldi0tc3VnZ2VzdC1tYXliZS1zdWdnZXN0KSkpKQogCiAoZGVm dW4gYWJicmV2LS1kZWZhdWx0LWV4cGFuZCAoKQogICAiRGVmYXVsdCBmdW5jdGlvbiB0byB1c2Ug Zm9yIGBhYmJyZXYtZXhwYW5kLWZ1bmN0aW9uJy4KLS0gCjEuOS4xCgo= --00000000000070fa2205b014ad85--