From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Jared Finder via "Emacs development discussions." Newsgroups: gmane.emacs.devel Subject: Re: Additional cleanup around xterm-mouse Date: Thu, 19 Nov 2020 00:03:30 -0800 Message-ID: References: <83o8jupnqd.fsf@gnu.org> Reply-To: Jared Finder Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=_9ab2dbe2a920781555296cea36795742" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="4426"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Roundcube Webmail/1.3.15 Cc: emacs-devel@gnu.org To: Eli Zaretskii Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Thu Nov 19 09:04:31 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 1kfevf-000124-Ce for ged-emacs-devel@m.gmane-mx.org; Thu, 19 Nov 2020 09:04:31 +0100 Original-Received: from localhost ([::1]:60644 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kfeve-0002UD-FY for ged-emacs-devel@m.gmane-mx.org; Thu, 19 Nov 2020 03:04:30 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:39996) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kfeuo-00020O-RP for emacs-devel@gnu.org; Thu, 19 Nov 2020 03:03:38 -0500 Original-Received: from greenhill.hpalace.com ([192.155.80.58]:55708) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kfeul-0003e5-PS; Thu, 19 Nov 2020 03:03:38 -0500 Original-Received: from mail.finder.org (greenhill.hpalace.com [IPv6:2600:3c01::f03c:91ff:fe73:2daa]) by greenhill.hpalace.com (Postfix) with ESMTPSA id 14EACD87; Thu, 19 Nov 2020 08:03:31 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=finder.org; s=2018; t=1605773011; bh=dc7rR3+f1HEqaIsb0rn3qsHzw6kUZfRo5othlI+rTYs=; h=Date:From:To:Cc:Subject:In-Reply-To:References:From; b=FRQBN7GPDDvlb6kRAHyhh6u85o6W1ynNmCObBSqI3fjU3Ckqjy3FG52lTXa/Zo2yS BF7YY1E3al5rSGL59IRUPaxfbyVLdRlLgRyGjjzpzG9Eqkmep9y+FD4Y3qr5wxZMEK YAf1JGZv7ZqGF87PyrNUow8SpTOZiNt8RG/pIzOyKW+ji8b3W1TDrexuGFjVC6yCCl fxm5Ck4KshPTftupbHB79BfZ2zAh/pV1+7fnsCbd2biGa2gWUuyBebL9X8LrSx/hx7 1sHnHAXLfc2ZMJtM0n3eezFdiZqvAeDwLt/i6OmYO/8NU1siqMseFQkfvU1vJxdmh9 IPhLaQukmQSDQ== In-Reply-To: <83o8jupnqd.fsf@gnu.org> X-Sender: jared@finder.org Received-SPF: pass client-ip=192.155.80.58; envelope-from=jared@finder.org; helo=greenhill.hpalace.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/11/19 03:03:31 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] [fuzzy] X-Spam_score_int: 12 X-Spam_score: 1.2 X-Spam_bar: + X-Spam_report: (1.2 / 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, RCVD_IN_SBL_CSS=3.335, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no 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:259415 Archived-At: --=_9ab2dbe2a920781555296cea36795742 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=US-ASCII; format=flowed On 2020-11-18 9:40 am, Eli Zaretskii wrote: >> Date: Sun, 15 Nov 2020 22:29:20 -0800 >> From: Jared Finder >> Cc: emacs-devel@gnu.org >> >> Creating such an alternative function doesn't appear too bad if you're >> okay with having the same run-with-idle-timer pattern that read-key >> uses. I do not think it can be xterm specific as it needs to apply >> all >> of input-decode-map to be able to return function keys such as [f1] on >> a >> native Linux term or an xterm. (This is important for >> widget-key-sequence-read-event.) > > I don't think I follow. All the places where you need changes are > related to handling mouse events, so why cannot it be specific to > xt-mouse? There is a bug in widget-key-sequence-read-event's usage of keyboard events specifically. The function widget-key-sequence-read-event currently does not correctly translate function keys for the terminal. It has code that attempts to apply function-key-map, but does not apply input-decode-map, so it can not read function keys. (Additionally, it should be using local-function-key-map now.) Try the following steps. Git revision: d5ac66 TERM env var: linux Run "emacs -Q" M-x load-library RET outline RET M-x customize-variable RET outline-minor-mode-prefix RET Move the cursor into the editable field. C-q (runs the command widget-key-sequence-read-event) Press f1. I get the untranslated escape code sequence for [f1] put in. I should get [f1]. Changing to read-key fixes this as read-key goes through read-key-sequence which applies input-decode-map. However, to get the same intended functionality requires some new parameters, which I also add in my patch. And as a point of history, widget-key-sequence-read-event appears to have been added in Jan 2006, and input-decode-map was added in Oct 2007. >> An alternative is to just use read-key as is in most cases and make my >> change a parameter / special variable. Most of my patch's changes >> work >> fine with the existing behavior of read-key. Only the following >> changes >> do not: >> >> * lisp/vc/ediff-wind.el (ediff-get-window-by-clicking) >> ==> As coded, expects the first mouse event returned by read-event to >> be >> a down-mouse-X event, which it then follows by another call to >> read-event to get the mouse-X event. It could be easily changed to >> only >> look for the up event. >> >> * lisp/strokes.el (strokes-read-stroke, strokes-read-complex-stroke) >> * lisp/textmodes/artist.el (artist-mode-draw-poly) >> ==> These both expect to detect a mix of down-mouse-X and mouse-X >> events. >> >> * lisp/wid-edit.el (widget-key-sequence-read-event) >> ==> This w/o changes to read-key, but with a behavior change. With no >> changes to read-key it returns just a single up event. Currently on >> other environments you get both a down and up event (e.g. >> >> ). > > I think I like this latter alternative better. It is slightly less > elegant, but simpler and less risky. Can you show a draft of a patch > along those lines? Attached. I added additional parameters to read-key. only strokes.el, artist.el, and wid-edit.el use the additional parameters. Let me know what you think of this structure. There's still further cleanup to do (add docs, clean up parameter names, etc.), that I'll do after you're happy with the structure. -- MJF --=_9ab2dbe2a920781555296cea36795742 Content-Transfer-Encoding: base64 Content-Type: text/x-diff; name=0001-WIP-Make-libraries-work-with-xterm-mouse-mode.patch Content-Disposition: attachment; filename=0001-WIP-Make-libraries-work-with-xterm-mouse-mode.patch; size=15109 RnJvbSBhZDdhMzkzZjZjM2IzZjhiOGUzMjcxNDI4M2M2MzVjOTk2ZDdlNGI2IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBKYXJlZCBGaW5kZXIgPGphcmVkQGZpbmRlci5vcmc+CkRhdGU6 IFN1biwgMTUgTm92IDIwMjAgMTM6NTE6NDIgLTA4MDAKU3ViamVjdDogW1BBVENIXSBXSVA6IE1h a2UgbGlicmFyaWVzIHdvcmsgd2l0aCB4dGVybS1tb3VzZS1tb2RlLgoKVGhpcyBwYXRjaCBpbmNs dWRlcyBhIHNsaWdodCBtb2RpZmljYXRpb24gdG8gcmVhZC1rZXkgYW5kCnJlYWRfa2V5X3NlcXVl bmNlLCBidXQgbm8gY2hhbmdlIHRvIHRoZSBkZWZhdWx0IGJlaGF2aW9yIG9mIHRoZXNlCmZ1bmN0 aW9ucy4KLS0tCiBsaXNwL2ZvbGRvdXQuZWwgICAgICAgICAgfCAgMiArLQogbGlzcC9pc2VhcmNo LmVsICAgICAgICAgIHwgIDIgKy0KIGxpc3AvbW91c2UtZHJhZy5lbCAgICAgICB8ICA0ICsrLS0K IGxpc3AvbW91c2UuZWwgICAgICAgICAgICB8ICAyICstCiBsaXNwL3J1bGVyLW1vZGUuZWwgICAg ICAgfCAgNCArKy0tCiBsaXNwL3N0cm9rZXMuZWwgICAgICAgICAgfCAyMiArKysrKysrKysrKy0t LS0tLS0tLS0tCiBsaXNwL3N1YnIuZWwgICAgICAgICAgICAgfCAxNyArKysrKysrKysrKysrKyst LQogbGlzcC90ZXh0bW9kZXMvYXJ0aXN0LmVsIHwgIDYgKysrLS0tCiBsaXNwL3ZjL2VkaWZmLXdp bmQuZWwgICAgfCAgNSArKystLQogbGlzcC92Yy9lZGlmZi5lbCAgICAgICAgIHwgIDIgKy0KIGxp c3Avd2lkLWVkaXQuZWwgICAgICAgICB8IDE1ICsrKysrKysrKy0tLS0tLQogc3JjL2tleWJvYXJk LmMgICAgICAgICAgIHwgMTAgKysrKysrKysrLQogc3JjL2xyZWFkLmMgICAgICAgICAgICAgIHwg IDYgKysrKysrCiAxMyBmaWxlcyBjaGFuZ2VkLCA2NCBpbnNlcnRpb25zKCspLCAzMyBkZWxldGlv bnMoLSkKCmRpZmYgLS1naXQgYS9saXNwL2ZvbGRvdXQuZWwgYi9saXNwL2ZvbGRvdXQuZWwKaW5k ZXggMGQ3YTdhODhhNi4uMGEzMzA5OWRhZiAxMDA2NDQKLS0tIGEvbGlzcC9mb2xkb3V0LmVsCisr KyBiL2xpc3AvZm9sZG91dC5lbApAQCAtNDg3LDcgKzQ4Nyw3IEBAIGZvbGRvdXQtbW91c2Utc3dh bGxvdy1ldmVudHMKIFNpZ25hbCBhbiBlcnJvciBpZiB0aGUgZmluYWwgZXZlbnQgaXNuJ3QgdGhl IHNhbWUgdHlwZSBhcyB0aGUgZmlyc3Qgb25lLiIKICAgKGxldCAoKGluaXRpYWwtZXZlbnQtdHlw ZSAoZXZlbnQtYmFzaWMtdHlwZSBldmVudCkpKQogICAgICh3aGlsZSAobnVsbCAoc2l0LWZvciAo LyBkb3VibGUtY2xpY2stdGltZSAxMDAwLjApICdub2Rpc3BsYXkpKQotICAgICAgKHNldHEgZXZl bnQgKHJlYWQtZXZlbnQpKSkKKyAgICAgIChzZXRxIGV2ZW50IChyZWFkLWtleSkpKQogICAgIChv ciAoZXEgaW5pdGlhbC1ldmVudC10eXBlIChldmVudC1iYXNpYy10eXBlIGV2ZW50KSkKIAkoZXJy b3IgIiIpKSkKICAgZXZlbnQpCmRpZmYgLS1naXQgYS9saXNwL2lzZWFyY2guZWwgYi9saXNwL2lz ZWFyY2guZWwKaW5kZXggNGZiYTQzNzBkOS4uYWE2MjM2NTJiMyAxMDA2NDQKLS0tIGEvbGlzcC9p c2VhcmNoLmVsCisrKyBiL2xpc3AvaXNlYXJjaC5lbApAQCAtMjk2Nyw3ICsyOTY3LDcgQEAgaXNl YXJjaC1wcmUtY29tbWFuZC1ob29rCiAgICAgICgoYW5kIChlcSAoY2FyLXNhZmUgbWFpbi1ldmVu dCkgJ2Rvd24tbW91c2UtMSkKIAkgICAod2luZG93LW1pbmlidWZmZXItcCAocG9zbi13aW5kb3cg KGV2ZW50LXN0YXJ0IG1haW4tZXZlbnQpKSkpCiAgICAgICA7OyBTd2FsbG93IHRoZSB1cC1ldmVu dC4KLSAgICAgIChyZWFkLWV2ZW50KQorICAgICAgKHJlYWQta2V5KQogICAgICAgKHNldHEgdGhp cy1jb21tYW5kICdpc2VhcmNoLWVkaXQtc3RyaW5nKSkKICAgICAgOzsgRG9uJ3QgdGVybWluYXRl IHRoZSBzZWFyY2ggZm9yIG1vdGlvbiBjb21tYW5kcy4KICAgICAgKChhbmQgaXNlYXJjaC15YW5r LW9uLW1vdmUKZGlmZiAtLWdpdCBhL2xpc3AvbW91c2UtZHJhZy5lbCBiL2xpc3AvbW91c2UtZHJh Zy5lbAppbmRleCBlODBlYmJhMjhkLi5kY2ZmYmYwODc1IDEwMDY0NAotLS0gYS9saXNwL21vdXNl LWRyYWcuZWwKKysrIGIvbGlzcC9tb3VzZS1kcmFnLmVsCkBAIC0yMjUsNyArMjI1LDcgQEAgbW91 c2UtZHJhZy10aHJvdwogICAgICAgOzsgRG9uJ3QgY2hhbmdlIHRoZSBtb3VzZSBwb2ludGVyIHNo YXBlIHdoaWxlIHdlIGRyYWcuCiAgICAgICAoc2V0cSB0cmFjay1tb3VzZSAnZHJhZ2dpbmcpCiAg ICAgICAod2hpbGUgKHByb2duCi0JICAgICAgIChzZXRxIGV2ZW50IChyZWFkLWV2ZW50KQorCSAg ICAgICAoc2V0cSBldmVudCAocmVhZC1rZXkpCiAJCSAgICAgZW5kIChldmVudC1lbmQgZXZlbnQp CiAJCSAgICAgcm93IChjZHIgKHBvc24tY29sLXJvdyBlbmQpKQogCQkgICAgIGNvbCAoY2FyIChw b3NuLWNvbC1yb3cgZW5kKSkpCkBAIC0yODYsNyArMjg2LDcgQEAgbW91c2UtZHJhZy1kcmFnCiAJ ICB3aW5kb3ctbGFzdC1jb2wgKC0gKHdpbmRvdy13aWR0aCkgMikpCiAgICAgKHRyYWNrLW1vdXNl CiAgICAgICAod2hpbGUgKHByb2duCi0JICAgICAgIChzZXRxIGV2ZW50IChyZWFkLWV2ZW50KQor CSAgICAgICAoc2V0cSBldmVudCAocmVhZC1rZXkpCiAJCSAgICAgZW5kIChldmVudC1lbmQgZXZl bnQpCiAJCSAgICAgcm93IChjZHIgKHBvc24tY29sLXJvdyBlbmQpKQogCQkgICAgIGNvbCAoY2Fy IChwb3NuLWNvbC1yb3cgZW5kKSkpCmRpZmYgLS1naXQgYS9saXNwL21vdXNlLmVsIGIvbGlzcC9t b3VzZS5lbAppbmRleCA5ZDQ0OTJmMWJkLi5kMGNkMmY3NzY5IDEwMDY0NAotLS0gYS9saXNwL21v dXNlLmVsCisrKyBiL2xpc3AvbW91c2UuZWwKQEAgLTE3OTIsNyArMTc5Miw3IEBAIG1vdXNlLWRy YWctc2Vjb25kYXJ5CiAgICAgICAobGV0IChldmVudCBlbmQgZW5kLXBvaW50KQogCSh0cmFjay1t b3VzZQogCSAgKHdoaWxlIChwcm9nbgotCQkgICAoc2V0cSBldmVudCAocmVhZC1ldmVudCkpCisJ CSAgIChzZXRxIGV2ZW50IChyZWFkLWtleSkpCiAJCSAgIChvciAobW91c2UtbW92ZW1lbnQtcCBl dmVudCkKIAkJICAgICAgIChtZW1xIChjYXItc2FmZSBldmVudCkgJyhzd2l0Y2gtZnJhbWUgc2Vs ZWN0LXdpbmRvdykpKSkKIApkaWZmIC0tZ2l0IGEvbGlzcC9ydWxlci1tb2RlLmVsIGIvbGlzcC9y dWxlci1tb2RlLmVsCmluZGV4IDgyZTYxNzhkYTEuLjI5YWZhNDQzMjMgMTAwNjQ0Ci0tLSBhL2xp c3AvcnVsZXItbW9kZS5lbAorKysgYi9saXNwL3J1bGVyLW1vZGUuZWwKQEAgLTQyOSw3ICs0Mjks NyBAQCBydWxlci1tb2RlLW1vdXNlLWdyYWItYW55LWNvbHVtbgogICAgICAgICAgOzsgYGRpbmcn IGZsdXNoZXMgdGhlIG5leHQgbWVzc2FnZXMgYWJvdXQgc2V0dGluZyBnb2FsCiAgICAgICAgICA7 OyBjb2x1bW4uICBTbyBoZXJlIEkgZm9yY2UgZmV0Y2ggdGhlIGV2ZW50KG1vdXNlLTIpIGFuZAog ICAgICAgICAgOzsgdGhyb3cgYXdheS4KLSAgICAgICAgIChyZWFkLWV2ZW50KQorICAgICAgICAg KHJlYWQta2V5KQogICAgICAgICAgOzsgRGluZyBCRUZPUkUgYG1lc3NhZ2UnIGlzIE9LLgogICAg ICAgICAgKHdoZW4gcnVsZXItbW9kZS1zZXQtZ29hbC1jb2x1bW4tZGluZy1mbGFnCiAgICAgICAg ICAgIChkaW5nKSkKQEAgLTQ2MCw3ICs0NjAsNyBAQCBydWxlci1tb2RlLW1vdXNlLWRyYWctYW55 LWNvbHVtbi1pdGVyYXRpb24KICAgICAodHJhY2stbW91c2UKICAgICAgIDs7IFNpZ25hbCB0aGUg ZGlzcGxheSBlbmdpbmUgdG8gZnJlZXplIHRoZSBtb3VzZSBwb2ludGVyIHNoYXBlLgogICAgICAg KHNldHEgdHJhY2stbW91c2UgJ2RyYWdnaW5nKQotICAgICAgKHdoaWxlIChtb3VzZS1tb3ZlbWVu dC1wIChzZXRxIGV2ZW50IChyZWFkLWV2ZW50KSkpCisgICAgICAod2hpbGUgKG1vdXNlLW1vdmVt ZW50LXAgKHNldHEgZXZlbnQgKHJlYWQta2V5KSkpCiAgICAgICAgIChzZXRxIGRyYWdzICgxKyBk cmFncykpCiAgICAgICAgICh3aGVuIChlcSB3aW5kb3cgKHBvc24td2luZG93IChldmVudC1lbmQg ZXZlbnQpKSkKICAgICAgICAgICAocnVsZXItbW9kZS1tb3VzZS1kcmFnLWFueS1jb2x1bW4gZXZl bnQpCmRpZmYgLS1naXQgYS9saXNwL3N0cm9rZXMuZWwgYi9saXNwL3N0cm9rZXMuZWwKaW5kZXgg YzJmMDNjYWMwZi4uZTVlNmZlM2Y5ZiAxMDA2NDQKLS0tIGEvbGlzcC9zdHJva2VzLmVsCisrKyBi L2xpc3Avc3Ryb2tlcy5lbApAQCAtNzU3LDEyICs3NTcsMTIgQEAgc3Ryb2tlcy1yZWFkLXN0cm9r ZQogCSAgICAgIChzdHJva2VzLWZpbGwtY3VycmVudC1idWZmZXItd2l0aC13aGl0ZXNwYWNlKSkK IAkgICAgKHdoZW4gcHJvbXB0CiAJICAgICAgKG1lc3NhZ2UgIiVzIiBwcm9tcHQpCi0JICAgICAg KHNldHEgZXZlbnQgKHJlYWQtZXZlbnQpKQorCSAgICAgIChzZXRxIGV2ZW50IChyZWFkLWtleSBu aWwgdCkpCiAJICAgICAgKG9yIChzdHJva2VzLWJ1dHRvbi1wcmVzcy1ldmVudC1wIGV2ZW50KQog CQkgIChlcnJvciAiWW91IG11c3QgZHJhdyB3aXRoIHRoZSBtb3VzZSIpKSkKIAkgICAgKHVud2lu ZC1wcm90ZWN0CiAJCSh0cmFjay1tb3VzZQotCQkgIChvciBldmVudCAoc2V0cSBldmVudCAocmVh ZC1ldmVudCkKKwkJICAob3IgZXZlbnQgKHNldHEgZXZlbnQgKHJlYWQta2V5IG5pbCB0KQogCQkJ CSAgc2FmZS10by1kcmF3LXAgdCkpCiAJCSAgKHdoaWxlIChub3QgKHN0cm9rZXMtYnV0dG9uLXJl bGVhc2UtZXZlbnQtcCBldmVudCkpCiAJCSAgICAoaWYgKHN0cm9rZXMtbW91c2UtZXZlbnQtcCBl dmVudCkKQEAgLTc3Nyw3ICs3NzcsNyBAQCBzdHJva2VzLXJlYWQtc3Ryb2tlCiAJCQkgICAgKHNl dHEgc2FmZS10by1kcmF3LXAgdCkpCiAJCQkgIChwdXNoIChjZHIgKG1vdXNlLXBpeGVsLXBvc2l0 aW9uKSkKIAkJCQlwaXgtbG9jcykpKQotCQkgICAgKHNldHEgZXZlbnQgKHJlYWQtZXZlbnQpKSkp KQorCQkgICAgKHNldHEgZXZlbnQgKHJlYWQta2V5IG5pbCB0KSkpKSkKIAkgICAgOzsgcHJvdGVj dGVkCiAJICAgIDs7IGNsZWFuIHVwIHN0cm9rZXMgYnVmZmVyIGFuZCB0aGVuIGJ1cnkgaXQuCiAJ ICAgICh3aGVuIChlcXVhbCAoYnVmZmVyLW5hbWUpIHN0cm9rZXMtYnVmZmVyLW5hbWUpCkBAIC03 ODgsMTYgKzc4OCwxNiBAQCBzdHJva2VzLXJlYWQtc3Ryb2tlCiAgICAgICA7OyBPdGhlcndpc2Us IGRvbid0IHVzZSBzdHJva2VzIGJ1ZmZlciBhbmQgcmVhZCBzdHJva2Ugc2lsZW50bHkKICAgICAg ICh3aGVuIHByb21wdAogCShtZXNzYWdlICIlcyIgcHJvbXB0KQotCShzZXRxIGV2ZW50IChyZWFk LWV2ZW50KSkKKwkoc2V0cSBldmVudCAocmVhZC1rZXkgbmlsIHQpKQogCShvciAoc3Ryb2tlcy1i dXR0b24tcHJlc3MtZXZlbnQtcCBldmVudCkKIAkgICAgKGVycm9yICJZb3UgbXVzdCBkcmF3IHdp dGggdGhlIG1vdXNlIikpKQogICAgICAgKHRyYWNrLW1vdXNlCi0JKG9yIGV2ZW50IChzZXRxIGV2 ZW50IChyZWFkLWV2ZW50KSkpCisJKG9yIGV2ZW50IChzZXRxIGV2ZW50IChyZWFkLWtleSBuaWwg dCkpKQogCSh3aGlsZSAobm90IChzdHJva2VzLWJ1dHRvbi1yZWxlYXNlLWV2ZW50LXAgZXZlbnQp KQogCSAgKGlmIChzdHJva2VzLW1vdXNlLWV2ZW50LXAgZXZlbnQpCiAJICAgICAgKHB1c2ggKGNk ciAobW91c2UtcGl4ZWwtcG9zaXRpb24pKQogCQkgICAgcGl4LWxvY3MpKQotCSAgKHNldHEgZXZl bnQgKHJlYWQtZXZlbnQpKSkpCisJICAoc2V0cSBldmVudCAocmVhZC1rZXkgbmlsIHQpKSkpCiAg ICAgICAoc2V0cSBncmlkLWxvY3MgKHN0cm9rZXMtcmVub3JtYWxpemUtdG8tZ3JpZCAobnJldmVy c2UgcGl4LWxvY3MpKSkKICAgICAgIChzdHJva2VzLWZpbGwtc3Ryb2tlCiAgICAgICAgKHN0cm9r ZXMtZWxpbWluYXRlLWNvbnNlY3V0aXZlLXJlZHVuZGFuY2llcyBncmlkLWxvY3MpKSkpKQpAQCAt ODE4LDEwICs4MTgsMTAgQEAgc3Ryb2tlcy1yZWFkLWNvbXBsZXgtc3Ryb2tlCiAJKGlmIHByb21w dAogCSAgICAod2hpbGUgKG5vdCAoc3Ryb2tlcy1idXR0b24tcHJlc3MtZXZlbnQtcCBldmVudCkp CiAJICAgICAgKG1lc3NhZ2UgIiVzIiBwcm9tcHQpCi0JICAgICAgKHNldHEgZXZlbnQgKHJlYWQt ZXZlbnQpKSkpCisJICAgICAgKHNldHEgZXZlbnQgKHJlYWQta2V5IG5pbCB0KSkpKQogCSh1bndp bmQtcHJvdGVjdAogCSAgICAodHJhY2stbW91c2UKLQkgICAgICAob3IgZXZlbnQgKHNldHEgZXZl bnQgKHJlYWQtZXZlbnQpKSkKKwkgICAgICAob3IgZXZlbnQgKHNldHEgZXZlbnQgKHJlYWQta2V5 IG5pbCB0KSkpCiAJICAgICAgKHdoaWxlIChub3QgKGFuZCAoc3Ryb2tlcy1idXR0b24tcHJlc3Mt ZXZlbnQtcCBldmVudCkKIAkJCSAgICAgICAoZXEgJ21vdXNlLTMKIAkJCQkgICAoY2FyIChnZXQg KGNhciBldmVudCkKQEAgLTgzNSwxNCArODM1LDE0IEBAIHN0cm9rZXMtcmVhZC1jb21wbGV4LXN0 cm9rZQogCQkJCQkJP1xzIHN0cm9rZXMtY2hhcmFjdGVyKSkKIAkJCShwdXNoIChjZHIgKG1vdXNl LXBpeGVsLXBvc2l0aW9uKSkKIAkJCSAgICAgIHBpeC1sb2NzKSkpCi0JCSAgKHNldHEgZXZlbnQg KHJlYWQtZXZlbnQpKSkKKwkJICAoc2V0cSBldmVudCAocmVhZC1rZXkgbmlsIHQpKSkKIAkJKHB1 c2ggc3Ryb2tlcy1saWZ0IHBpeC1sb2NzKQogCQkod2hpbGUgKG5vdCAoc3Ryb2tlcy1idXR0b24t cHJlc3MtZXZlbnQtcCBldmVudCkpCi0JCSAgKHNldHEgZXZlbnQgKHJlYWQtZXZlbnQpKSkpCisJ CSAgKHNldHEgZXZlbnQgKHJlYWQta2V5IG5pbCB0KSkpKQogCSAgICAgIDs7ICMjIyBLTFVER0Uh ICMjIyBzaXQgYW5kIHdhaXQKIAkgICAgICA7OyBmb3Igc29tZSB1c2VsZXNzIGV2ZW50IHRvCiAJ ICAgICAgOzsgaGFwcGVuIHRvIGZpeCB0aGUgbWluaWJ1ZmZlciBidWcuCi0JICAgICAgKHdoaWxl IChub3QgKHN0cm9rZXMtYnV0dG9uLXJlbGVhc2UtZXZlbnQtcCAocmVhZC1ldmVudCkpKSkKKwkg ICAgICAod2hpbGUgKG5vdCAoc3Ryb2tlcy1idXR0b24tcmVsZWFzZS1ldmVudC1wIChyZWFkLWtl eSBuaWwgdCkpKSkKIAkgICAgICAoc2V0cSBwaXgtbG9jcyAobnJldmVyc2UgKGNkciBwaXgtbG9j cykpCiAJCSAgICBncmlkLWxvY3MgKHN0cm9rZXMtcmVub3JtYWxpemUtdG8tZ3JpZCBwaXgtbG9j cykpCiAJICAgICAgKHN0cm9rZXMtZmlsbC1zdHJva2UKZGlmZiAtLWdpdCBhL2xpc3Avc3Vici5l bCBiL2xpc3Avc3Vici5lbAppbmRleCA2ZTlmNjZmZTk3Li5jNDYyYmEwNzk0IDEwMDY0NAotLS0g YS9saXNwL3N1YnIuZWwKKysrIGIvbGlzcC9zdWJyLmVsCkBAIC0yNDMxLDEzICsyNDMxLDIxIEBA IHJlYWQta2V5LWVtcHR5LW1hcAogCiAoZGVmdmFyIHJlYWQta2V5LWRlbGF5IDAuMDEpIDtGYXN0 IGVub3VnaCBmb3IgMTAwSHogcmVwZWF0IHJhdGUsIGhvcGVmdWxseS4KIAotKGRlZnVuIHJlYWQt a2V5ICgmb3B0aW9uYWwgcHJvbXB0KQorKGRlZnVuIHJlYWQta2V5ICgmb3B0aW9uYWwgcHJvbXB0 IGFsbC1tb3VzZS1ldmVudHMgbm8tZnVuY3Rpb24ta2V5LW1hcAorICAgICAgICAgICAgICAgICAg ICAgICAgICAgbm8ta2V5LXRyYW5zbGF0aW9uLW1hcCkKICAgIlJlYWQgYSBrZXkgZnJvbSB0aGUg a2V5Ym9hcmQuCiBDb250cmFyeSB0byBgcmVhZC1ldmVudCcgdGhpcyB3aWxsIG5vdCByZXR1cm4g YSByYXcgZXZlbnQgYnV0IGluc3RlYWQgd2lsbAogb2JleSB0aGUgaW5wdXQgZGVjb2RpbmcgYW5k IHRyYW5zbGF0aW9ucyB1c3VhbGx5IGRvbmUgYnkgYHJlYWQta2V5LXNlcXVlbmNlJy4KIFNvIGVz Y2FwZSBzZXF1ZW5jZXMgYW5kIGtleWJvYXJkIGVuY29kaW5nIGFyZSB0YWtlbiBpbnRvIGFjY291 bnQuCiBXaGVuIHRoZXJlJ3MgYW4gYW1iaWd1aXR5IGJlY2F1c2UgdGhlIGtleSBsb29rcyBsaWtl IHRoZSBwcmVmaXggb2YKLXNvbWUgc29ydCBvZiBlc2NhcGUgc2VxdWVuY2UsIHRoZSBhbWJpZ3Vp dHkgaXMgcmVzb2x2ZWQgdmlhIGByZWFkLWtleS1kZWxheScuIgorc29tZSBzb3J0IG9mIGVzY2Fw ZSBzZXF1ZW5jZSwgdGhlIGFtYmlndWl0eSBpcyByZXNvbHZlZCB2aWEgYHJlYWQta2V5LWRlbGF5 Jy4KKworSWYgdGhlIG9wdGlvbmFsIGFyZ3VtZW50IFBST01QVCBpcyBub24tbmlsLCBkaXNwbGF5 IHRoYXQgYXMgYQorcHJvbXB0LgorCitJZiB0aGUgb3B0aW9uYWwgYXJndW1lbnQgQUxMLU1PVVNF LUVWRU5UUyBpcyBub24tbmlsLCB0aGVuCitidXR0b24tZG93biBhbmQgbXVsdGktY2xpY2sgZXZl bnRzIHdpbGwgZ2V0IHJlcG9ydGVkLiAgT3RoZXJ3aXNlLAordGhlc2UgYXJlIGlnbm9yZWQgYXMg aW4gYHJlYWQta2V5LXNlcXVlbmNlJy4iCiAgIDs7IFRoaXMgb3ZlcnJpZGluZy10ZXJtaW5hbC1s b2NhbC1tYXAgYmluZGluZyBhbHNvIGhhcHBlbnMgdG8KICAgOzsgZGlzYWJsZSBxdWFpbCdzIGlu cHV0IG1ldGhvZHMsIHNvIGFsdGhvdWdoIHJlYWQta2V5LXNlcXVlbmNlCiAgIDs7IGFsd2F5cyBp bmhlcml0cyB0aGUgaW5wdXQgbWV0aG9kLCBpbiBwcmFjdGljZSByZWFkLWtleSBkb2VzIG5vdApA QCAtMjQ0Niw2ICsyNDU0LDExIEBAIHJlYWQta2V5CiAJKG92ZXJyaWRpbmctbG9jYWwtbWFwIHJl YWQta2V5LWVtcHR5LW1hcCkKICAgICAgICAgKGVjaG8ta2V5c3Ryb2tlcyAwKQogCShvbGQtZ2xv YmFsLW1hcCAoY3VycmVudC1nbG9iYWwtbWFwKSkKKyAgICAgICAgKGluaGliaXQtLXVuYm91bmQt bW91c2UtZmFsbGJhY2sgYWxsLW1vdXNlLWV2ZW50cykKKyAgICAgICAgKGxvY2FsLWZ1bmN0aW9u LWtleS1tYXAgKGlmIG5vLWZ1bmN0aW9uLWtleS1tYXAgcmVhZC1rZXktZW1wdHktbWFwCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9jYWwtZnVuY3Rpb24ta2V5LW1hcCkpCisg ICAgICAgIChrZXktdHJhbnNsYXRpb24tbWFwIChpZiBuby1rZXktdHJhbnNsYXRpb24tbWFwIHJl YWQta2V5LWVtcHR5LW1hcAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleS10cmFu c2xhdGlvbi1tYXApKQogICAgICAgICAodGltZXIgKHJ1bi13aXRoLWlkbGUtdGltZXIKICAgICAg ICAgICAgICAgICA7OyBXYWl0IGxvbmcgZW5vdWdoIHRoYXQgRW1hY3MgaGFzIHRoZSB0aW1lIHRv IHJlY2VpdmUgYW5kCiAgICAgICAgICAgICAgICAgOzsgcHJvY2VzcyBhbGwgdGhlIHJhdyBldmVu dHMgYXNzb2NpYXRlZCB3aXRoIHRoZSBzaW5nbGUta2V5LgpkaWZmIC0tZ2l0IGEvbGlzcC90ZXh0 bW9kZXMvYXJ0aXN0LmVsIGIvbGlzcC90ZXh0bW9kZXMvYXJ0aXN0LmVsCmluZGV4IDVjZTlhOTBl YTYuLmVjZmZjZjM5MDEgMTAwNjQ0Ci0tLSBhL2xpc3AvdGV4dG1vZGVzL2FydGlzdC5lbAorKysg Yi9saXNwL3RleHRtb2Rlcy9hcnRpc3QuZWwKQEAgLTUwMTYsNyArNTAxNiw3IEBAIGFydGlzdC1t b3VzZS1kcmF3LWNvbnRpbm91c2x5CiAgICAgICAgICAgICAgICAgICAoc2V0cSB0aW1lciAocnVu LWF0LXRpbWUgaW50ZXJ2YWwgaW50ZXJ2YWwgZHJhdy1mbiB4MSB5MSkpKSkKIAogICAgICAgICAg ICAgOzsgUmVhZCBuZXh0IGV2ZW50Ci0gICAgICAgICAgICAoc2V0cSBldiAocmVhZC1ldmVudCkp KSkKKyAgICAgICAgICAgIChzZXRxIGV2IChyZWFkLWtleSkpKSkKICAgICAgIDs7IENsZWFudXA6 IGdldCByaWQgb2YgYW55IGFjdGl2ZSB0aW1lci4KICAgICAgIChpZiB0aW1lcgogICAgICAgICAg IChjYW5jZWwtdGltZXIgdGltZXIpKSkKQEAgLTUyMjQsNyArNTIyNCw3IEBAIGFydGlzdC1tb3Vz ZS1kcmF3LXBvbHkKIAogCTs7IFJlYWQgbmV4dCBldmVudCAob25seSBpZiB3ZSBzaG91bGQgbm90 IHN0b3ApCiAJKGlmIChub3QgZG9uZSkKLQkgICAgKHNldHEgZXYgKHJlYWQtZXZlbnQpKSkpKQor CSAgICAoc2V0cSBldiAocmVhZC1rZXkgbmlsIHQpKSkpKQogCiAgICAgOzsgUmV2ZXJzZSBwb2lu dC1saXN0IChsYXN0IHBvaW50cyBhcmUgY29uZCdlZCBmaXJzdCkKICAgICAoc2V0cSBwb2ludC1s aXN0IChyZXZlcnNlIHBvaW50LWxpc3QpKQpAQCAtNTM1MSw3ICs1MzUxLDcgQEAgYXJ0aXN0LW1v dXNlLWRyYXctMnBvaW50cwogCiAKIAk7OyBSZWFkIG5leHQgZXZlbnQKLQkoc2V0cSBldiAocmVh ZC1ldmVudCkpKSkKKwkoc2V0cSBldiAocmVhZC1rZXkpKSkpCiAKICAgICA7OyBJZiB3ZSBhcmUg bm90IHJ1YmJlci1iYW5kaW5nICh0aGF0IGlzLCB3ZSB3ZXJlIG1vdmluZyBhcm91bmQgdGhlIGAy JykKICAgICA7OyBkcmF3IHRoZSBzaGFwZQpkaWZmIC0tZ2l0IGEvbGlzcC92Yy9lZGlmZi13aW5k LmVsIGIvbGlzcC92Yy9lZGlmZi13aW5kLmVsCmluZGV4IGEyM2Q3MjA3MGEuLjFmZDM4NmZlMzkg MTAwNjQ0Ci0tLSBhL2xpc3AvdmMvZWRpZmYtd2luZC5lbAorKysgYi9saXNwL3ZjL2VkaWZmLXdp bmQuZWwKQEAgLTI2OSwxMSArMjY5LDEyIEBAIGVkaWZmLWdldC13aW5kb3ctYnktY2xpY2tpbmcK ICAgKGxldCAoZXZlbnQpCiAgICAgKG1lc3NhZ2UKICAgICAgIlNlbGVjdCB3aW5kb3dzIGJ5IGNs aWNraW5nLiAgUGxlYXNlIGNsaWNrIG9uIFdpbmRvdyAlZCAiIHdpbmQtbnVtYmVyKQotICAgICh3 aGlsZSAobm90IChlZGlmZi1tb3VzZS1ldmVudC1wIChzZXRxIGV2ZW50IChyZWFkLWV2ZW50KSkp KQorICAgICh3aGlsZSAobm90IChlZGlmZi1tb3VzZS1ldmVudC1wIChzZXRxIGV2ZW50IChyZWFk LWtleSkpKSkKICAgICAgIChpZiAoc2l0LWZvciAxKSA7IGlmIHNlcXVlbmNlIG9mIGV2ZW50cywg d2FpdCB0aWxsIHRoZSBmaW5hbCB3b3JkCiAJICAoYmVlcCAxKSkKICAgICAgIChtZXNzYWdlICJQ bGVhc2UgY2xpY2sgb24gV2luZG93ICVkICIgd2luZC1udW1iZXIpKQotICAgIChyZWFkLWV2ZW50 KSA7IGRpc2NhcmQgZXZlbnQKKyAgICA7OyBObyBuZWVkIHRvIHJlYWQgYW4gYWRkaXRpb25hbCBl dmVudCBhcyByZWFkLWtleSBvbmx5IHJldHVybnMgdXAKKyAgICA7OyBldmVudHMuCiAgICAgKHBv c24td2luZG93IChldmVudC1zdGFydCBldmVudCkpKSkKIAogCmRpZmYgLS1naXQgYS9saXNwL3Zj L2VkaWZmLmVsIGIvbGlzcC92Yy9lZGlmZi5lbAppbmRleCBhZTJmOGFkNmMxLi5iZjM1Y2QyYmQx IDEwMDY0NAotLS0gYS9saXNwL3ZjL2VkaWZmLmVsCisrKyBiL2xpc3AvdmMvZWRpZmYuZWwKQEAg LTkzOSw3ICs5MzksNyBAQCBlZGlmZi13aW5kb3dzLWxpbmV3aXNlCiA7OyBJZiBXSU5ELUEgaXMg bmlsLCB1c2Ugc2VsZWN0ZWQgd2luZG93LgogOzsgSWYgV0lORC1CIGlzIG5pbCwgdXNlIHdpbmRv dyBuZXh0IHRvIFdJTkQtQS4KIChkZWZ1biBlZGlmZi13aW5kb3dzIChkdW1iLW1vZGUgd2luZC1B IHdpbmQtQiBzdGFydHVwLWhvb2tzIGpvYi1uYW1lIHdvcmQtbW9kZSkKLSAgKGlmIChvciBkdW1i LW1vZGUgKG5vdCAoZWRpZmYtd2luZG93LWRpc3BsYXktcCkpKQorICAoaWYgKG9yIGR1bWItbW9k ZSAobm90IChkaXNwbGF5LW1vdXNlLXApKSkKICAgICAgIChzZXRxIHdpbmQtQSAoZWRpZmYtZ2V0 LW5leHQtd2luZG93IHdpbmQtQSBuaWwpCiAJICAgIHdpbmQtQiAoZWRpZmYtZ2V0LW5leHQtd2lu ZG93IHdpbmQtQiB3aW5kLUEpKQogICAgIChzZXRxIHdpbmQtQSAoZWRpZmYtZ2V0LXdpbmRvdy1i eS1jbGlja2luZyB3aW5kLUEgbmlsIDEpCmRpZmYgLS1naXQgYS9saXNwL3dpZC1lZGl0LmVsIGIv bGlzcC93aWQtZWRpdC5lbAppbmRleCA0ZTJjZjc0MTZkLi44NDE2ZjczOTY0IDEwMDY0NAotLS0g YS9saXNwL3dpZC1lZGl0LmVsCisrKyBiL2xpc3Avd2lkLWVkaXQuZWwKQEAgLTEwODgsNyArMTA4 OCw3IEBAIHdpZGdldC1idXR0b24tLWNoZWNrLWFuZC1jYWxsLWJ1dHRvbgogCQkgICh1bmxlc3Mg KHdpZGdldC1hcHBseSBidXR0b24gOm1vdXNlLWRvd24tYWN0aW9uIGV2ZW50KQogCQkgICAgKGxl dCAoKHRyYWNrLW1vdXNlIHQpKQogCQkgICAgICAod2hpbGUgKG5vdCAod2lkZ2V0LWJ1dHRvbi1y ZWxlYXNlLWV2ZW50LXAgZXZlbnQpKQotCQkgICAgICAgIChzZXRxIGV2ZW50IChyZWFkLWV2ZW50 KSkKKyAgICAgICAgICAgICAgICAgICAgICAgIChzZXRxIGV2ZW50IChyZWFkLWtleSkpCiAJCSAg ICAgICAgKHdoZW4gKGFuZCBtb3VzZS0xIChtb3VzZS1tb3ZlbWVudC1wIGV2ZW50KSkKIAkJCSAg KHB1c2ggZXZlbnQgdW5yZWFkLWNvbW1hbmQtZXZlbnRzKQogCQkJICAoc2V0cSBldmVudCBvZXZl bnQpCkBAIC0xMTUzLDcgKzExNTMsNyBAQCB3aWRnZXQtYnV0dG9uLWNsaWNrCiAJICAgICh3aGVu IHVwCiAJICAgICAgOzsgRG9uJ3QgZXhlY3V0ZSB1cCBldmVudHMgdHdpY2UuCiAJICAgICAgKHdo aWxlIChub3QgKHdpZGdldC1idXR0b24tcmVsZWFzZS1ldmVudC1wIGV2ZW50KSkKLQkJKHNldHEg ZXZlbnQgKHJlYWQtZXZlbnQpKSkpCisJCShzZXRxIGV2ZW50IChyZWFkLWtleSkpKSkKIAkgICAg KHdoZW4gY29tbWFuZAogCSAgICAgIChjYWxsLWludGVyYWN0aXZlbHkgY29tbWFuZCkpKSkpCiAg ICAgKG1lc3NhZ2UgIllvdSBjbGlja2VkIHNvbWV3aGVyZSB3ZWlyZC4iKSkpCkBAIC0zNDY1LDEx ICszNDY1LDE0IEBAICdrZXktc2VxdWVuY2UKIChkZWZ1biB3aWRnZXQta2V5LXNlcXVlbmNlLXJl YWQtZXZlbnQgKGV2KQogICAoaW50ZXJhY3RpdmUgKGxpc3QKIAkJKGxldCAoKGluaGliaXQtcXVp dCB0KSBxdWl0LWZsYWcpCi0JCSAgKHJlYWQtZXZlbnQgIkluc2VydCBLRVksIEVWRU5ULCBvciBD T0RFOiAiKSkpKQorCQkgIChyZWFkLWtleSAiSW5zZXJ0IEtFWSwgRVZFTlQsIG9yIENPREU6ICIg dCB0IHQpKSkpCiAgIChsZXQgKChldjIgKGFuZCAobWVtcSAnZG93biAoZXZlbnQtbW9kaWZpZXJz IGV2KSkKLQkJICAocmVhZC1ldmVudCkpKQotCSh0ciAoYW5kIChrZXltYXBwIGZ1bmN0aW9uLWtl eS1tYXApCi0JCSAobG9va3VwLWtleSBmdW5jdGlvbi1rZXktbWFwICh2ZWN0b3IgZXYpKSkpKQor CQkgIChyZWFkLWtleSkpKQorICAgICAgICA7OyBUaGlzIGlzIGFjdHVhbGx5IGEgc2VwYXJhdGUg YnVnLWZpeC4gIGBmdW5jdGlvbi1rZXktbWFwJworICAgICAgICA7OyBkb2VzIG5vdCBjb250YWlu IGFueSB0ZXJtLXNwZWNpZmljIGZ1bmN0aW9uIGtleSBtYXBwaW5ncworICAgICAgICA7OyBsaWtl IGYxMyAtLT4gUy1mMS4KKyAgICAgICAgKHRyIChhbmQgKGtleW1hcHAgbG9jYWwtZnVuY3Rpb24t a2V5LW1hcCkKKwkJIChsb29rdXAta2V5IGxvY2FsLWZ1bmN0aW9uLWtleS1tYXAgKHZlY3RvciBl dikpKSkpCiAgICAgKHdoZW4gKGFuZCAoaW50ZWdlcnAgZXYpCiAJICAgICAgIChvciAoYW5kICg8 PSA/MCBldikgKDwgZXYgKCsgPzAgKG1pbiAxMCByZWFkLXF1b3RlZC1jaGFyLXJhZGl4KSkpKQog CQkgICAoYW5kICg8PSA/YSAoZG93bmNhc2UgZXYpKQpkaWZmIC0tZ2l0IGEvc3JjL2tleWJvYXJk LmMgYi9zcmMva2V5Ym9hcmQuYwppbmRleCA0NWU5YWJjMjI5Li40ODNhZjc1MTU4IDEwMDY0NAot LS0gYS9zcmMva2V5Ym9hcmQuYworKysgYi9zcmMva2V5Ym9hcmQuYwpAQCAtOTgyNyw3ICs5ODI3 LDcgQEAgcmVhZF9rZXlfc2VxdWVuY2UgKExpc3BfT2JqZWN0ICprZXlidWYsIExpc3BfT2JqZWN0 IHByb21wdCwKICAgICAgIG5ld19iaW5kaW5nID0gZm9sbG93X2tleSAoY3VycmVudF9iaW5kaW5n LCBrZXkpOwogCiAgICAgICAvKiBJZiBLRVkgd2Fzbid0IGJvdW5kLCB3ZSdsbCB0cnkgc29tZSBm YWxsYmFja3MuICAqLwotICAgICAgaWYgKCFOSUxQIChuZXdfYmluZGluZykpCisgICAgICBpZiAo IU5JTFAgKG5ld19iaW5kaW5nKSB8fCBpbmhpYml0X3VuYm91bmRfbW91c2VfZmFsbGJhY2spCiAJ LyogVGhpcyBpcyBuZWVkZWQgZm9yIHRoZSBmb2xsb3dpbmcgc2NlbmFyaW86CiAJICAgZXZlbnQg MDogYSBkb3duLWV2ZW50IHRoYXQgZ2V0cyBkcm9wcGVkIGJ5IGNhbGxpbmcgcmVwbGF5X2tleS4K IAkgICBldmVudCAxOiBzb21lIG5vcm1hbCBwcmVmaXggbGlrZSBDLWguCkBAIC0xMjM5Myw2ICsx MjM5MywxNCBAQCBzeW1zX29mX2tleWJvYXJkICh2b2lkKQogbWFjcm9zLCBkcmliYmxlIGZpbGUs IGFuZCBgcmVjZW50LWtleXMnLgogSW50ZXJuYWwgdXNlIG9ubHkuICAqLyk7CiAKKyAgREVGVkFS X0JPT0wgKCJpbmhpYml0LS11bmJvdW5kLW1vdXNlLWZhbGxiYWNrIiwKKyAgICAgICAgICAgICAg IGluaGliaXRfdW5ib3VuZF9tb3VzZV9mYWxsYmFjaywKKyAgICAgICAgICAgICAgIGRvYzogLyog SWYgbm9uLW5pbCwgYHJlYWQta2V5LXNlcXVlbmNlJyBkb2VzIG5vdAordHJhbnNmb3JtIGFueSB1 bmJvdW5kIG1vdXNlIGV2ZW50cy4KK1RoaXMgcHJldmVudHMgdGhlIHVzdWFsIGJlaGF2aW9yIGlu IGByZWFkLWtleS1zZXF1ZW5jZScgd2hlcmUgdW5ib3VuZAorYnV0dG9uLWRvd24gZXZlbnRzLCBk cmFnIGV2ZW50cywgYW5kIG11bHRpcGxlLWNsaWNrIGV2ZW50cyBnZXQKK3RyYW5zZm9ybWVkIG9y IGRyb3BwZWQuICBJbnRlcm5hbCB1c2Ugb25seS4gICovKTsKKwogICBwZHVtcGVyX2RvX25vd19h bmRfYWZ0ZXJfbG9hZCAoc3ltc19vZl9rZXlib2FyZF9mb3JfcGR1bXBlcik7CiB9CiAKZGlmZiAt LWdpdCBhL3NyYy9scmVhZC5jIGIvc3JjL2xyZWFkLmMKaW5kZXggYTNkNWZkN2JiOC4uZTgxMWRl NDdjMSAxMDA2NDQKLS0tIGEvc3JjL2xyZWFkLmMKKysrIGIvc3JjL2xyZWFkLmMKQEAgLTc4Miw2 ICs3ODIsMTIgQEAgREVGVU4gKCJyZWFkLWNoYXIiLCBGcmVhZF9jaGFyLCBTcmVhZF9jaGFyLCAw LCAzLCAwLAogCiBERUZVTiAoInJlYWQtZXZlbnQiLCBGcmVhZF9ldmVudCwgU3JlYWRfZXZlbnQs IDAsIDMsIDAsCiAgICAgICAgZG9jOiAvKiBSZWFkIGFuIGV2ZW50IG9iamVjdCBmcm9tIHRoZSBp bnB1dCBzdHJlYW0uCisKK0lmIHlvdSB3YW50IHRvIHJlYWQgbW91c2UgZXZlbnRzIChmb3IgZXhh bXBsZSwgdG8gZGlzY2FyZCBhbiBleHBlY3RlZAorYnV0dG9uIHVwIGV2ZW50IGluc2lkZSBhIGJ1 dHRvbiBkb3duIGNvbW1hbmQpLCBjYWxsIGByZWFkLWtleScgd2hpY2gKK2NhbiByZXR1cm4gZXZl bnRzIHZpYSBgaW5wdXQtZGVjb2RlLW1hcCcgc3VjaCBhcyBhbGwgbW91c2UgZXZlbnRzCitnZW5l cmF0ZWQgYnkgYHh0ZXJtLW1vdXNlLW1vZGUnLgorCiBJZiB0aGUgb3B0aW9uYWwgYXJndW1lbnQg UFJPTVBUIGlzIG5vbi1uaWwsIGRpc3BsYXkgdGhhdCBhcyBhIHByb21wdC4KIElmIFBST01QVCBp cyBuaWwgb3IgdGhlIHN0cmluZyBcIlwiLCB0aGUga2V5IHNlcXVlbmNlL2V2ZW50cyB0aGF0IGxl ZAogdG8gdGhlIGN1cnJlbnQgY29tbWFuZCBpcyB1c2VkIGFzIHRoZSBwcm9tcHQuCi0tIAoyLjIw LjEKCg== --=_9ab2dbe2a920781555296cea36795742--