From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Philipp Stephani Newsgroups: gmane.emacs.bugs Subject: bug#19977: 24.4; Incorrect translation of Super modifier with Ctrl or Meta on OS X Date: Wed, 30 Mar 2016 17:35:30 +0000 Message-ID: References: <83r3etwc9j.fsf@gnu.org> <83lh51w9z8.fsf@gnu.org> <83d1qdw7bt.fsf@gnu.org> <834mbowuxw.fsf@gnu.org> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary=001a11c2346219234e052f479308 X-Trace: ger.gmane.org 1459359412 6666 80.91.229.3 (30 Mar 2016 17:36:52 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Wed, 30 Mar 2016 17:36:52 +0000 (UTC) Cc: adrian.b.robert@gmail.com, 19977@debbugs.gnu.org To: Eli Zaretskii Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Wed Mar 30 19:36:38 2016 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1alK2m-0005YY-JA for geb-bug-gnu-emacs@m.gmane.org; Wed, 30 Mar 2016 19:36:36 +0200 Original-Received: from localhost ([::1]:56015 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1alK2i-0000EC-HN for geb-bug-gnu-emacs@m.gmane.org; Wed, 30 Mar 2016 13:36:32 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:56789) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1alK2I-0008FC-Qa for bug-gnu-emacs@gnu.org; Wed, 30 Mar 2016 13:36:10 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1alK2E-0003pv-MD for bug-gnu-emacs@gnu.org; Wed, 30 Mar 2016 13:36:06 -0400 Original-Received: from debbugs.gnu.org ([208.118.235.43]:48196) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1alK2E-0003pr-Iw for bug-gnu-emacs@gnu.org; Wed, 30 Mar 2016 13:36:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1alK2E-0003MN-Ej for bug-gnu-emacs@gnu.org; Wed, 30 Mar 2016 13:36:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Philipp Stephani Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 30 Mar 2016 17:36:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 19977 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch Original-Received: via spool by 19977-submit@debbugs.gnu.org id=B19977.145935934812895 (code B ref 19977); Wed, 30 Mar 2016 17:36:02 +0000 Original-Received: (at 19977) by debbugs.gnu.org; 30 Mar 2016 17:35:48 +0000 Original-Received: from localhost ([127.0.0.1]:45323 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1alK20-0003Lv-Hi for submit@debbugs.gnu.org; Wed, 30 Mar 2016 13:35:48 -0400 Original-Received: from mail-lb0-f180.google.com ([209.85.217.180]:35292) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1alK1y-0003Li-N5 for 19977@debbugs.gnu.org; Wed, 30 Mar 2016 13:35:47 -0400 Original-Received: by mail-lb0-f180.google.com with SMTP id bc4so36621886lbc.2 for <19977@debbugs.gnu.org>; Wed, 30 Mar 2016 10:35:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=MLL9ePtVSVPSO89aJsKYyokJzqNQyfxCSCisxhGqgWU=; b=wEobI0DrMz2PxpYJeHdqWjyMBzEbDcrJIhdxVOHJ9hhP5X8saQdEQJ/UgAfi6Rz8/u k3rmhBh8xttRZmQnfSWVmFbd/tn6DgFw7tyRx18NpX67HsPIeMOWQbUt2c6VwSWvWkY5 WmL0neal+QbRk2xWZCDUSrIRXwj9x1dvSwO/XN6vkLhecK8OgaO3C7W1k/e/BFpGd5Mg Qn7lFyLSW5qAvHSfNA4duuf1DrqlhAZhOkmCWwTMrwhhJ0C/3l+18zrHnK+8CzYuvgKm FBoo+XVIDoYHjZZzI2v4Onuj7Jqv3HnVZc59nI8uobRXTGZh5vu3nP38Eo8RlZHVLY/3 mWhA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=MLL9ePtVSVPSO89aJsKYyokJzqNQyfxCSCisxhGqgWU=; b=jxXKdoX7nnzVKiZMkidXQNgVCEiPo5gsnObYI+EAfIBA6PtklXPIc9ed2wTN4DzQ15 gibn8bGT1VX0TX4QSOck5HYtq3en1iBIzAO9MDgpDlztqnJhY4ss4ByMVOP1jda9kAI/ je8nk2ntCoDOlYGHxjbH7iOPt+YS+h+oDAVTXQjudd7pNDS6z5y3QAATw/j53d29m3Y1 tOKaC2kgSJ8WgM7QQ3uurAH0AOSCgemclTjQ1vT+6wZiaWNdGyPmsDgdoJmD1tp67Af2 mQ6Aw+UDZAMG27FErK4qiRA5oc4swmSDlurVE6/gdcVEgqejzdvWT2ZZe9lbNig4ZLtV KsZw== X-Gm-Message-State: AD7BkJIv4cqtapqIoff9mGT9CnvrsCJbcNijUG0XEGyLvaWH5AFX81Bl0YbLRtrsF7zDZIbNva5yK3EtCq9VZQ== X-Received: by 10.112.158.69 with SMTP id ws5mr4722849lbb.23.1459359340619; Wed, 30 Mar 2016 10:35:40 -0700 (PDT) In-Reply-To: <834mbowuxw.fsf@gnu.org> X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 208.118.235.43 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.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.bugs:115781 Archived-At: --001a11c2346219234e052f479308 Content-Type: multipart/alternative; boundary=001a11c2346219234a052f479306 --001a11c2346219234a052f479306 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Eli Zaretskii schrieb am Mi., 30. M=C3=A4rz 2016 um 04:39 Uh= r: > > From: Philipp Stephani > > Date: Tue, 29 Mar 2016 20:07:55 +0000 > > Cc: Eli Zaretskii , 19977@debbugs.gnu.org > > > > It seems that this behavior cannot be implemented without resorting to > UCKeyTranslate. Therefore I'd > > suggest to fall back to the next best option and ignore all shift-like > modifiers if control-like modifiers are > > present, similar to what we're doing with C-S on Unix terminals. > > I'm not sure what this means, but if it means something that worked > before won't, please provide an option to get the old behavior back, > just in case. > > I've attached a patch that should keep the aforementioned input methods working (by setting ns-command-modifier to none) and allow Command and Option to be treated as either shift-like or control-like modifiers. In my tests input now works as expected with the Dvorak - Querty and similar input methods if ns-command-modifier is none. Also various key combinations with Super work now if it's set to super. One thing that might be unexpected is that e.g. Command-Control-A will be interpreted as Control-A if ns-command-modifier is none, even if Command-A would insert something other than A. It seems this is (undesirable) behavior is actually already present at head. --001a11c2346219234a052f479306 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable


Eli Za= retskii <eliz@gnu.org> schrieb am= Mi., 30. M=C3=A4rz 2016 um 04:39=C2=A0Uhr:
> From: Philipp Stephani <p.stephani2@gmail.com>
> Date: Tue, 29 Mar 2016 20:07:55 +0000
> Cc: Eli Zaretskii <eliz@gnu.org>, 19977@debbugs.gnu.org
>
> It seems that this behavior cannot be implemented without resorting to= UCKeyTranslate. Therefore I'd
> suggest to fall back to the next best option and ignore all shift-like= modifiers if control-like modifiers are
> present, similar to what we're doing with C-S on Unix terminals.
I'm not sure what this means, but if it means something that worked
before won't, please provide an option to get the old behavior back, just in case.


I've attached a patch that should = keep the aforementioned input methods working (by setting ns-command-modifi= er to none) and allow Command and Option to be treated as either shift-like= or control-like modifiers.
In my tests input now works as expect= ed with the Dvorak - Querty and similar input methods if ns-command-modifie= r is none. Also various key combinations with Super work now if it's se= t to super.
One thing that might be unexpected is that e.g. Comma= nd-Control-A will be interpreted as Control-A if ns-command-modifier is non= e, even if Command-A would insert something other than A. It seems this is = (undesirable) behavior is actually already present at head.
--001a11c2346219234a052f479306-- --001a11c2346219234e052f479308 Content-Type: application/octet-stream; name="0001-Fix-handling-of-modifier-keys-on-OS-X.patch" Content-Disposition: attachment; filename="0001-Fix-handling-of-modifier-keys-on-OS-X.patch" Content-Transfer-Encoding: base64 Content-ID: <153c897a4c9ef4f78e21> X-Attachment-Id: 153c897a4c9ef4f78e21 RnJvbSAwMDhlNzFjMDhjYmMwNmFjMmQzZWUzYjM1M2ZlMzYzYmE2MjBmNGZkIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBQaGlsaXBwIFN0ZXBoYW5pIDxwaHN0QGdvb2dsZS5jb20+CkRh dGU6IFdlZCwgMzAgTWFyIDIwMTYgMTk6MjI6NTYgKzAyMDAKU3ViamVjdDogW1BBVENIXSBGaXgg aGFuZGxpbmcgb2YgbW9kaWZpZXIga2V5cyBvbiBPUyBYCk1JTUUtVmVyc2lvbjogMS4wCkNvbnRl bnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOApDb250ZW50LVRyYW5zZmVyLUVuY29k aW5nOiA4Yml0CgoqIHNyYy9uc3Rlcm0ubSAoaXNfc2hpZnRfbW9kaWZpZXIsIGhhc19zaGlmdF9t b2RpZmllcnMpOiBOZXcgaGVscGVyCmZ1bmN0aW9ucy4KKGtleURvd246KTogRGlzdGluZ3Vpc2gg YmV0d2VlbiBzaGlmdC1saWtlIGFuZCBjb250cm9sLWxpa2UgbW9kaWZpZXIKa2V5cy4gIEFsbG93 IHRyZWF0aW5nIOKMmCBhcyBzaGlmdC1saWtlIG1vZGlmaWVyIChlLmcuIGZvciB0aGUKR3VqYXJh dGnCoOKAk8KgUVVFUlRZIGlucHV0IG1ldGhvZCwgd2hlcmUg4oyYIHN3aXRjaGVzIHRvIFFVRVJU WS4pCgoqIGxpc3AvY3VzLXN0YXJ0LmVsIChzdGFuZGFyZCk6IENoYW5nZSBuaWwgdG8gbm9uZSBm b3IKbnMtY29tbWFuZC1tb2RpZmllcjsgdXBkYXRlIGRlc2NyaXB0aW9uLgotLS0KIGxpc3AvY3Vz LXN0YXJ0LmVsIHwgICA4ICsrLQogc3JjL25zdGVybS5tICAgICAgfCAyMDggKysrKysrKysrKysr KysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAyIGZpbGVzIGNoYW5n ZWQsIDk4IGluc2VydGlvbnMoKyksIDExOCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9saXNw L2N1cy1zdGFydC5lbCBiL2xpc3AvY3VzLXN0YXJ0LmVsCmluZGV4IDViZTYxY2UuLjEyMjY5YzEg MTAwNjQ0Ci0tLSBhL2xpc3AvY3VzLXN0YXJ0LmVsCisrKyBiL2xpc3AvY3VzLXN0YXJ0LmVsCkBA IC0zODksNiArMzg5LDEwIEBAIG1pbmlidWZmZXItcHJvbXB0LXByb3BlcnRpZXMtLXNldHRlcgog CSAgICAgOzsgbXNkb3MuYwogCSAgICAgKGRvcy11bnN1cHBvcnRlZC1jaGFyLWdseXBoIGRpc3Bs YXkgaW50ZWdlcikKIAkgICAgIDs7IG5zdGVybS5tCisgICAgICAgICAgICAgOzsKKyAgICAgICAg ICAgICA7OyBGSVhNRTogV2h5IGRvZXMg4oyDIHVzZSBuaWwgaW5zdGVhZCBvZiBub25lPyAgQWxz byB0aGUKKyAgICAgICAgICAgICA7OyBkZXNjcmlwdGlvbiBpcyBjb25mdXNpbmc7IHNldHRpbmcg aXQgdG8gbmlsIGRpc2FibGVzIOKMgworICAgICAgICAgICAgIDs7IGVudGlyZWx5LgogCSAgICAg KG5zLWNvbnRyb2wtbW9kaWZpZXIKIAkgICAgICBucwogCSAgICAgIChjaG9pY2UgKGNvbnN0IDp0 YWcgIk5vIG1vZGlmaWVyIiBuaWwpCkBAIC00MDUsMTMgKzQwOSwxMyBAQCBtaW5pYnVmZmVyLXBy b21wdC1wcm9wZXJ0aWVzLS1zZXR0ZXIKIAkJICAgICAgKGNvbnN0IHN1cGVyKSkgIjI0LjEiKQog CSAgICAgKG5zLWNvbW1hbmQtbW9kaWZpZXIKIAkgICAgICBucwotCSAgICAgIChjaG9pY2UgKGNv bnN0IDp0YWcgIk5vIG1vZGlmaWVyIiBuaWwpCisJICAgICAgKGNob2ljZSAoY29uc3QgOnRhZyAi Tm8gbW9kaWZpZXIgKHdvcmsgYXMgbGF5b3V0IHN3aXRjaCkiIG5vbmUpCiAJCSAgICAgIChjb25z dCBjb250cm9sKSAoY29uc3QgbWV0YSkKIAkJICAgICAgKGNvbnN0IGFsdCkgKGNvbnN0IGh5cGVy KQogCQkgICAgICAoY29uc3Qgc3VwZXIpKSAiMjMuMSIpCiAJICAgICAobnMtcmlnaHQtY29tbWFu ZC1tb2RpZmllcgogCSAgICAgIG5zCi0JICAgICAgKGNob2ljZSAoY29uc3QgOnRhZyAiTm8gbW9k aWZpZXIgKHdvcmsgYXMgY29tbWFuZCkiIG5vbmUpCisJICAgICAgKGNob2ljZSAoY29uc3QgOnRh ZyAiTm8gbW9kaWZpZXIgKHdvcmsgYXMgbGF5b3V0IHN3aXRjaCkiIG5vbmUpCiAJCSAgICAgIChj b25zdCA6dGFnICJVc2UgdGhlIHZhbHVlIG9mIG5zLWNvbW1hbmQtbW9kaWZpZXIiCiAJCQkgICAg IGxlZnQpCiAJCSAgICAgIChjb25zdCBjb250cm9sKSAoY29uc3QgbWV0YSkKZGlmZiAtLWdpdCBh L3NyYy9uc3Rlcm0ubSBiL3NyYy9uc3Rlcm0ubQppbmRleCA0MDQ4YWM0Li5lYmNjYjI3IDEwMDY0 NAotLS0gYS9zcmMvbnN0ZXJtLm0KKysrIGIvc3JjL25zdGVybS5tCkBAIC0zNyw2ICszNyw3IEBA IEdOVXN0ZXAgcG9ydCBhbmQgcG9zdC0yMCB1cGRhdGUgYnkgQWRyaWFuIFJvYmVydCAoYXJvYmVy dEBjb2dzY2kudWNzZC5lZHUpCiAjaW5jbHVkZSA8dGltZS5oPgogI2luY2x1ZGUgPHNpZ25hbC5o PgogI2luY2x1ZGUgPHVuaXN0ZC5oPgorI2luY2x1ZGUgPHN0ZGJvb2wuaD4KIAogI2luY2x1ZGUg PGMtY3R5cGUuaD4KICNpbmNsdWRlIDxjLXN0cmNhc2UuaD4KQEAgLTU2NzAsNiArNTY3MSw0MyBA QCBub3RfaW5fYXJndiAoTlNTdHJpbmcgKmFyZykKIEBlbmQgIC8qIEVtYWNzQXBwICovCiAKIAor c3RhdGljIGJvb2wKK2lzX3NoaWZ0X21vZGlmaWVyIChOU0V2ZW50TW9kaWZpZXJGbGFncyBmbGFn cywKKyAgICAgICAgICAgICAgICAgICBOU0V2ZW50TW9kaWZpZXJGbGFncyBnZW5lcmljX21hc2ss CisgICAgICAgICAgICAgICAgICAgTlNFdmVudE1vZGlmaWVyRmxhZ3MgbGVmdF9tYXNrLAorICAg ICAgICAgICAgICAgICAgIE5TRXZlbnRNb2RpZmllckZsYWdzIHJpZ2h0X21hc2ssCisgICAgICAg ICAgICAgICAgICAgTGlzcF9PYmplY3QgbGVmdF9vcHRpb24sCisgICAgICAgICAgICAgICAgICAg TGlzcF9PYmplY3QgcmlnaHRfb3B0aW9uKQoreworICBib29sIGlzX3JpZ2h0X2tleSA9IChmbGFn cyAmIHJpZ2h0X21hc2spID09IHJpZ2h0X21hc2s7CisgIGJvb2wgaXNfbGVmdF9rZXkgPSAoZmxh Z3MgJiBsZWZ0X21hc2spID09IGxlZnRfbWFzaworICAgIHx8ICghIGlzX3JpZ2h0X2tleSAmJiAo ZmxhZ3MgJiBnZW5lcmljX21hc2spID09IGdlbmVyaWNfbWFzayk7CisKKyAgdW5zaWduZWQgaW50 IG1vZGlmaWVycyA9IDA7CisgIGlmIChpc19yaWdodF9rZXkpCisgICAgbW9kaWZpZXJzIHw9IHBh cnNlX3NvbGl0YXJ5X21vZGlmaWVyIChFUSAocmlnaHRfb3B0aW9uLCBRbGVmdCkKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gbGVmdF9vcHRpb24gOiByaWdodF9v cHRpb24pOworICBpZiAoaXNfbGVmdF9rZXkpCisgICAgbW9kaWZpZXJzIHw9IHBhcnNlX3NvbGl0 YXJ5X21vZGlmaWVyIChsZWZ0X29wdGlvbik7CisKKyAgLyogcGFyc2Vfc29saXRhcnlfbW9kaWZp ZXIgcmV0dXJucyAwIGZvciBhIHNoaWZ0LWxpa2UgbW9kaWZpZXIuICAqLworICByZXR1cm4gKGlz X2xlZnRfa2V5IHx8IGlzX3JpZ2h0X2tleSkgJiYgbW9kaWZpZXJzID09IDA7Cit9CisKK3N0YXRp YyBib29sCitoYXNfc2hpZnRfbW9kaWZpZXJzIChOU0V2ZW50TW9kaWZpZXJGbGFncyBmbGFncykK K3sKKyAgLyogQ2hlY2sgb25seSBDb21tYW5kLCBPcHRpb24sIGFuZCBTaGlmdCBtb2RpZmllcnMu ICBDb250cm9sIGlzCisgICAgIG5ldmVyIGEgc2hpZnQtbGlrZSBtb2RpZmllciBrZXkuICAqLwor ICByZXR1cm4gaXNfc2hpZnRfbW9kaWZpZXIgKGZsYWdzLCBOU0NvbW1hbmRLZXlNYXNrLAorICAg ICAgICAgICAgICAgICAgICAgICAgICAgIE5TTGVmdENvbW1hbmRLZXlNYXNrLCBOU1JpZ2h0Q29t bWFuZEtleU1hc2ssCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgbnNfY29tbWFuZF9tb2Rp ZmllciwgbnNfcmlnaHRfY29tbWFuZF9tb2RpZmllcikKKyAgICB8fCBpc19zaGlmdF9tb2RpZmll ciAoZmxhZ3MsIE5TQWx0ZXJuYXRlS2V5TWFzaywKKyAgICAgICAgICAgICAgICAgICAgICAgICAg TlNMZWZ0QWx0ZXJuYXRlS2V5TWFzaywgTlNSaWdodEFsdGVybmF0ZUtleU1hc2ssCisgICAgICAg ICAgICAgICAgICAgICAgICAgIG5zX2FsdGVybmF0ZV9tb2RpZmllciwgbnNfcmlnaHRfYWx0ZXJu YXRlX21vZGlmaWVyKQorICAgIHx8IChmbGFncyAmIE5TU2hpZnRLZXlNYXNrKSA9PSBOU1NoaWZ0 S2V5TWFzazsKK30KKwogCiAvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogCkBAIC01ODEyLDEwICs1ODUw LDggQEAgbm90X2luX2FyZ3YgKE5TU3RyaW5nICphcmcpCiAKICAgaWYgKCFwcm9jZXNzaW5nQ29t cG9zZSkKICAgICB7Ci0gICAgICAvKiBXaGVuIHVzaW5nIHNjcmVlbiBzaGFyaW5nLCBubyBsZWZ0 IG9yIHJpZ2h0IGluZm9ybWF0aW9uIGlzIHNlbnQsCi0gICAgICAgICBzbyB1c2UgTGVmdCBrZXkg aW4gdGhvc2UgY2FzZXMuICAqLwotICAgICAgaW50IGlzX2xlZnRfa2V5LCBpc19yaWdodF9rZXk7 Ci0KKyAgICAgIC8qIEZJWE1FOiBXaGF0IHNob3VsZCBoYXBwZW4gZm9yIGtleSBzZXF1ZW5jZXMg d2l0aCBtb3JlIHRoYW4KKyAgICAgICAgIG9uZSBjaGFyYWN0ZXI/ICAqLwogICAgICAgY29kZSA9 IChbW3RoZUV2ZW50IGNoYXJhY3RlcnNJZ25vcmluZ01vZGlmaWVyc10gbGVuZ3RoXSA9PSAwKSA/ CiAgICAgICAgIDAgOiBbW3RoZUV2ZW50IGNoYXJhY3RlcnNJZ25vcmluZ01vZGlmaWVyc10gY2hh cmFjdGVyQXRJbmRleDogMF07CiAKQEAgLTU4NjIsMTMxICs1ODk4LDUwIEBAIG5vdF9pbl9hcmd2 IChOU1N0cmluZyAqYXJnKQogICAgICAgaWYgKGZsYWdzICYgTlNTaGlmdEtleU1hc2spCiAgICAg ICAgIGVtYWNzX2V2ZW50LT5tb2RpZmllcnMgfD0gc2hpZnRfbW9kaWZpZXI7CiAKLSAgICAgIGlz X3JpZ2h0X2tleSA9IChmbGFncyAmIE5TUmlnaHRDb21tYW5kS2V5TWFzaykgPT0gTlNSaWdodENv bW1hbmRLZXlNYXNrOwotICAgICAgaXNfbGVmdF9rZXkgPSAoZmxhZ3MgJiBOU0xlZnRDb21tYW5k S2V5TWFzaykgPT0gTlNMZWZ0Q29tbWFuZEtleU1hc2sKLSAgICAgICAgfHwgKCEgaXNfcmlnaHRf a2V5ICYmIChmbGFncyAmIE5TQ29tbWFuZEtleU1hc2spID09IE5TQ29tbWFuZEtleU1hc2spOwor ICAgICAgLyogVGhlIOKMmCBhbmQg4oylIG1vZGlmaWVycyBjYW4gYmUgZWl0aGVyIHNoaWZ0LWxp a2UgKGZvciBhbHRlcm5hdGUKKyAgICAgICAgIGNoYXJhY3RlciBpbnB1dCkgb3IgY29udHJvbC1s aWtlIChhcyBjb21tYW5kIHByZWZpeCkuICBJZiB3ZQorICAgICAgICAgaGF2ZSBvbmx5IHNoaWZ0 LWxpa2UgbW9kaWZpZXJzLCB0aGVuIHdlIHNob3VsZCB1c2UgdGhlCisgICAgICAgICB0cmFuc2xh dGVkIGNoYXJhY3RlcnMgKHJldHVybmVkIGJ5IHRoZSBjaGFyYWN0ZXJzIG1ldGhvZCk7IGlmCisg ICAgICAgICB3ZSBoYXZlIG9ubHkgY29udHJvbC1saWtlIG1vZGlmaWVycywgdGhlbiB3ZSBzaG91 bGQgdXNlIHRoZQorICAgICAgICAgdW50cmFuc2xhdGVkIGNoYXJhY3RlcnMgKHJldHVybmVkIGJ5 IHRoZQorICAgICAgICAgY2hhcmFjdGVyc0lnbm9yaW5nTW9kaWZpZXJzIG1ldGhvZCkuICBBbiBh bm5veWFuY2UgaGFwcGVucyBpZgorICAgICAgICAgd2UgaGF2ZSBib3RoIHNoaWZ0LWxpa2UgYW5k IGNvbnRyb2wtbGlrZSBtb2RpZmllcnMgYmVjYXVzZQorICAgICAgICAgdGhlIE5TRXZlbnQgQVBJ IGRvZXNu4oCZdCBsZXQgdXMgaWdub3JlIG9ubHkgc29tZSBtb2RpZmllcnMuCisgICAgICAgICBU aGVyZWZvcmUgd2UgaWdub3JlIGFsbCBzaGlmdC1saWtlIG1vZGlmaWVycyBpbiB0aGF0CisgICAg ICAgICBjYXNlLiAgKi8KKworICAgICAgLyogRVZfTU9ESUZJRVJTMiB1c2VzIHBhcnNlX3NvbGl0 YXJ5X21vZGlmaWVyIG9uIGFsbCBrbm93bgorICAgICAgICAgbW9kaWZpZXIga2V5cywgd2hpY2gg cmV0dXJucyAwIGZvciBzaGlmdC1saWtlIG1vZGlmaWVycy4KKyAgICAgICAgIFRoZXJlZm9yZSBp dHMgcmV0dXJuIHZhbHVlIGlzIHRoZSBzZXQgb2YgY29udHJvbC1saWtlCisgICAgICAgICBtb2Rp ZmllcnMuICAqLworICAgICAgdW5zaWduZWQgaW50IGNvbnRyb2xfbW9kaWZpZXJzID0gRVZfTU9E SUZJRVJTMiAoZmxhZ3MpOworICAgICAgYm9vbCBzaGlmdF9tb2RpZmllcnMgPQorICAgICAgICBj b250cm9sX21vZGlmaWVycyA/IGZhbHNlIDogaGFzX3NoaWZ0X21vZGlmaWVycyAoZmxhZ3MpOwor CisgICAgICBlbWFjc19ldmVudC0+bW9kaWZpZXJzIHw9IGNvbnRyb2xfbW9kaWZpZXJzOwogCi0g ICAgICBpZiAoaXNfcmlnaHRfa2V5KQotICAgICAgICBlbWFjc19ldmVudC0+bW9kaWZpZXJzIHw9 IHBhcnNlX3NvbGl0YXJ5X21vZGlmaWVyCi0gICAgICAgICAgKEVRIChuc19yaWdodF9jb21tYW5k X21vZGlmaWVyLCBRbGVmdCkKLSAgICAgICAgICAgPyBuc19jb21tYW5kX21vZGlmaWVyCi0gICAg ICAgICAgIDogbnNfcmlnaHRfY29tbWFuZF9tb2RpZmllcik7Ci0KLSAgICAgIGlmIChpc19sZWZ0 X2tleSkKLSAgICAgICAgewotICAgICAgICAgIGVtYWNzX2V2ZW50LT5tb2RpZmllcnMgfD0gcGFy c2Vfc29saXRhcnlfbW9kaWZpZXIKLSAgICAgICAgICAgIChuc19jb21tYW5kX21vZGlmaWVyKTsK LQotICAgICAgICAgIC8qIGlmIHN1cGVyIChkZWZhdWx0KSwgdGFrZSBpbnB1dCBtYW5hZ2VyJ3Mg d29yZCBzbyB0aGluZ3MgbGlrZQotICAgICAgICAgICAgIGR2b3JhayAvIHF3ZXJ0eSBsYXlvdXQg d29yayAqLwotICAgICAgICAgIGlmIChFUSAobnNfY29tbWFuZF9tb2RpZmllciwgUXN1cGVyKQot ICAgICAgICAgICAgICAmJiAhZm5LZXlzeW0KLSAgICAgICAgICAgICAgJiYgW1t0aGVFdmVudCBj aGFyYWN0ZXJzXSBsZW5ndGhdICE9IDApCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgIC8q IFhYWDogdGhlIGNvZGUgd2UgZ2V0IHdpbGwgYmUgdW5zaGlmdGVkLCBzbyBpZiB3ZSBoYXZlCi0g ICAgICAgICAgICAgICAgIGEgc2hpZnQgbW9kaWZpZXIsIG11c3QgY29udmVydCBvdXJzZWx2ZXMg Ki8KLSAgICAgICAgICAgICAgaWYgKCEoZmxhZ3MgJiBOU1NoaWZ0S2V5TWFzaykpCi0gICAgICAg ICAgICAgICAgY29kZSA9IFtbdGhlRXZlbnQgY2hhcmFjdGVyc10gY2hhcmFjdGVyQXRJbmRleDog MF07Ci0jaWYgMAotICAgICAgICAgICAgICAvKiB0aGlzIGlzIHVnbHkgYW5kIGFsc28gcmVxdWly ZXMgbGlua2luZyB3L0NhcmJvbiBmcmFtZXdvcmsKLSAgICAgICAgICAgICAgICAgKGZvciBMTUdl dEtiZFR5cGUpIHNvIGZvciBub3cgbGVhdmUgdGhpcyByYXJlICg/KSBjYXNlCi0gICAgICAgICAg ICAgICAgIHVuZGVhbHQgd2l0aC4uIGluIGZ1dHVyZSBsb29rIGludG8gQ0dFdmVudCBtZXRob2Rz ICovCi0gICAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAg ICAgICBsb25nIHNtdiA9IEdldFNjcmlwdE1hbmFnZXJWYXJpYWJsZSAoc21LZXlTY3JpcHQpOwot ICAgICAgICAgICAgICAgICAgSGFuZGxlIHVjaHJIYW5kbGUgPSBHZXRSZXNvdXJjZQotICAgICAg ICAgICAgICAgICAgICAoJ3VjaHInLCBHZXRTY3JpcHRWYXJpYWJsZSAoc212LCBzbVNjcmlwdEtl eXMpKTsKLSAgICAgICAgICAgICAgICAgIFVJbnQzMiBkdW1teSA9IDA7Ci0gICAgICAgICAgICAg ICAgICBVQ0tleVRyYW5zbGF0ZSAoKFVDS2V5Ym9hcmRMYXlvdXQqKSp1Y2hySGFuZGxlLAotICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW1t0aGVFdmVudCBjaGFyYWN0ZXJzXSBjaGFy YWN0ZXJBdEluZGV4OiAwXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtVQ0tl eUFjdGlvbkRpc3BsYXksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZmxhZ3Mg JiB+TlNDb21tYW5kS2V5TWFzaykgPj4gOCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIExNR2V0S2JkVHlwZSAoKSwga1VDS2V5VHJhbnNsYXRlTm9EZWFkS2V5c01hc2ssCi0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmZHVtbXksIDEsICZkdW1teSwgJmNvZGUpOwot ICAgICAgICAgICAgICAgICAgY29kZSAmPSAweEZGOwotICAgICAgICAgICAgICAgIH0KLSNlbmRp ZgotICAgICAgICAgICAgfQotICAgICAgICB9Ci0KLSAgICAgIGlzX3JpZ2h0X2tleSA9IChmbGFn cyAmIE5TUmlnaHRDb250cm9sS2V5TWFzaykgPT0gTlNSaWdodENvbnRyb2xLZXlNYXNrOwotICAg ICAgaXNfbGVmdF9rZXkgPSAoZmxhZ3MgJiBOU0xlZnRDb250cm9sS2V5TWFzaykgPT0gTlNMZWZ0 Q29udHJvbEtleU1hc2sKLSAgICAgICAgfHwgKCEgaXNfcmlnaHRfa2V5ICYmIChmbGFncyAmIE5T Q29udHJvbEtleU1hc2spID09IE5TQ29udHJvbEtleU1hc2spOwotCi0gICAgICBpZiAoaXNfcmln aHRfa2V5KQotICAgICAgICAgIGVtYWNzX2V2ZW50LT5tb2RpZmllcnMgfD0gcGFyc2Vfc29saXRh cnlfbW9kaWZpZXIKLSAgICAgICAgICAgICAgKEVRIChuc19yaWdodF9jb250cm9sX21vZGlmaWVy LCBRbGVmdCkKLSAgICAgICAgICAgICAgID8gbnNfY29udHJvbF9tb2RpZmllcgotICAgICAgICAg ICAgICAgOiBuc19yaWdodF9jb250cm9sX21vZGlmaWVyKTsKLQotICAgICAgaWYgKGlzX2xlZnRf a2V5KQotICAgICAgICBlbWFjc19ldmVudC0+bW9kaWZpZXJzIHw9IHBhcnNlX3NvbGl0YXJ5X21v ZGlmaWVyCi0gICAgICAgICAgKG5zX2NvbnRyb2xfbW9kaWZpZXIpOwotCi0gICAgICBpZiAoZmxh Z3MgJiBOU19GVU5DVElPTl9LRVlfTUFTSyAmJiAhZm5LZXlzeW0pCi0gICAgICAgICAgZW1hY3Nf ZXZlbnQtPm1vZGlmaWVycyB8PQotICAgICAgICAgICAgcGFyc2Vfc29saXRhcnlfbW9kaWZpZXIg KG5zX2Z1bmN0aW9uX21vZGlmaWVyKTsKLQotICAgICAgbGVmdF9pc19ub25lID0gTklMUCAobnNf YWx0ZXJuYXRlX21vZGlmaWVyKQotICAgICAgICB8fCBFUSAobnNfYWx0ZXJuYXRlX21vZGlmaWVy LCBRbm9uZSk7Ci0KLSAgICAgIGlzX3JpZ2h0X2tleSA9IChmbGFncyAmIE5TUmlnaHRBbHRlcm5h dGVLZXlNYXNrKQotICAgICAgICA9PSBOU1JpZ2h0QWx0ZXJuYXRlS2V5TWFzazsKLSAgICAgIGlz X2xlZnRfa2V5ID0gKGZsYWdzICYgTlNMZWZ0QWx0ZXJuYXRlS2V5TWFzaykgPT0gTlNMZWZ0QWx0 ZXJuYXRlS2V5TWFzawotICAgICAgICB8fCAoISBpc19yaWdodF9rZXkKLSAgICAgICAgICAgICYm IChmbGFncyAmIE5TQWx0ZXJuYXRlS2V5TWFzaykgPT0gTlNBbHRlcm5hdGVLZXlNYXNrKTsKLQot ICAgICAgaWYgKGlzX3JpZ2h0X2tleSkKLSAgICAgICAgewotICAgICAgICAgIGlmICgoTklMUCAo bnNfcmlnaHRfYWx0ZXJuYXRlX21vZGlmaWVyKQotICAgICAgICAgICAgICAgfHwgRVEgKG5zX3Jp Z2h0X2FsdGVybmF0ZV9tb2RpZmllciwgUW5vbmUpCi0gICAgICAgICAgICAgICB8fCAoRVEgKG5z X3JpZ2h0X2FsdGVybmF0ZV9tb2RpZmllciwgUWxlZnQpICYmIGxlZnRfaXNfbm9uZSkpCi0gICAg ICAgICAgICAgICYmICFmbktleXN5bSkKLSAgICAgICAgICAgIHsgICAvKiBhY2NlcHQgcHJlLWlu dGVycCBhbHQgY29tYiAqLwotICAgICAgICAgICAgICBpZiAoW1t0aGVFdmVudCBjaGFyYWN0ZXJz XSBsZW5ndGhdID4gMCkKLSAgICAgICAgICAgICAgICBjb2RlID0gW1t0aGVFdmVudCBjaGFyYWN0 ZXJzXSBjaGFyYWN0ZXJBdEluZGV4OiAwXTsKLSAgICAgICAgICAgICAgLypIQUNLOiBjbGVhciBs b25lIHNoaWZ0IG1vZGlmaWVyIHRvIHN0b3AgbmV4dCBpZiBmcm9tIGZpcmluZyAqLwotICAgICAg ICAgICAgICBpZiAoZW1hY3NfZXZlbnQtPm1vZGlmaWVycyA9PSBzaGlmdF9tb2RpZmllcikKLSAg ICAgICAgICAgICAgICBlbWFjc19ldmVudC0+bW9kaWZpZXJzID0gMDsKLSAgICAgICAgICAgIH0K LSAgICAgICAgICBlbHNlCi0gICAgICAgICAgICBlbWFjc19ldmVudC0+bW9kaWZpZXJzIHw9IHBh cnNlX3NvbGl0YXJ5X21vZGlmaWVyCi0gICAgICAgICAgICAgIChFUSAobnNfcmlnaHRfYWx0ZXJu YXRlX21vZGlmaWVyLCBRbGVmdCkKLSAgICAgICAgICAgICAgID8gbnNfYWx0ZXJuYXRlX21vZGlm aWVyCi0gICAgICAgICAgICAgICA6IG5zX3JpZ2h0X2FsdGVybmF0ZV9tb2RpZmllcik7Ci0gICAg ICAgIH0KLQotICAgICAgaWYgKGlzX2xlZnRfa2V5KSAvKiBkZWZhdWx0ID0gbWV0YSAqLwotICAg ICAgICB7Ci0gICAgICAgICAgaWYgKGxlZnRfaXNfbm9uZSAmJiAhZm5LZXlzeW0pCi0gICAgICAg ICAgICB7ICAgLyogYWNjZXB0IHByZS1pbnRlcnAgYWx0IGNvbWIgKi8KLSAgICAgICAgICAgICAg aWYgKFtbdGhlRXZlbnQgY2hhcmFjdGVyc10gbGVuZ3RoXSA+IDApCi0gICAgICAgICAgICAgICAg Y29kZSA9IFtbdGhlRXZlbnQgY2hhcmFjdGVyc10gY2hhcmFjdGVyQXRJbmRleDogMF07Ci0gICAg ICAgICAgICAgIC8qSEFDSzogY2xlYXIgbG9uZSBzaGlmdCBtb2RpZmllciB0byBzdG9wIG5leHQg aWYgZnJvbSBmaXJpbmcgKi8KLSAgICAgICAgICAgICAgaWYgKGVtYWNzX2V2ZW50LT5tb2RpZmll cnMgPT0gc2hpZnRfbW9kaWZpZXIpCi0gICAgICAgICAgICAgICAgZW1hY3NfZXZlbnQtPm1vZGlm aWVycyA9IDA7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgZWxzZQotICAgICAgICAgICAgICBl bWFjc19ldmVudC0+bW9kaWZpZXJzIHw9Ci0gICAgICAgICAgICAgICAgcGFyc2Vfc29saXRhcnlf bW9kaWZpZXIgKG5zX2FsdGVybmF0ZV9tb2RpZmllcik7Ci0gICAgICAgIH0KLQotICBpZiAoTlNf S0VZTE9HKQotICAgIGZwcmludGYgKHN0ZGVyciwgImtleURvd246IGNvZGUgPSV4XHRmbktleSA9 JXhcdGZsYWdzID0gJXhcdG1vZHMgPSAleFxuIiwKLSAgICAgICAgICAgICBjb2RlLCBmbktleXN5 bSwgZmxhZ3MsIGVtYWNzX2V2ZW50LT5tb2RpZmllcnMpOworICAgICAgaWYgKE5TX0tFWUxPRykK KyAgICAgICAgZnByaW50ZiAoc3RkZXJyLCAia2V5RG93bjogY29kZSA9JXhcdGZuS2V5ID0leFx0 ZmxhZ3MgPSAleFx0bW9kcyA9ICV4XG4iLAorICAgICAgICAgICAgICAgICBjb2RlLCBmbktleXN5 bSwgZmxhZ3MsIGVtYWNzX2V2ZW50LT5tb2RpZmllcnMpOwogCi0gICAgICAvKiBpZiBpdCB3YXMg YSBmdW5jdGlvbiBrZXkgb3IgaGFkIG1vZGlmaWVycywgcGFzcyBpdCBkaXJlY3RseSB0byBlbWFj cyAqLworICAgICAgLyogSWYgaXQgd2FzIGEgZnVuY3Rpb24ga2V5IG9yIGhhZCBjb250cm9sLWxp a2UgbW9kaWZpZXJzLCBwYXNzCisgICAgICAgICBpdCBkaXJlY3RseSB0byBFbWFjcy4gICovCiAg ICAgICBpZiAoZm5LZXlzeW0gfHwgKGVtYWNzX2V2ZW50LT5tb2RpZmllcnMKICAgICAgICAgICAg ICAgICAgICAgICAgJiYgKGVtYWNzX2V2ZW50LT5tb2RpZmllcnMgIT0gc2hpZnRfbW9kaWZpZXIp CiAgICAgICAgICAgICAgICAgICAgICAgICYmIFtbdGhlRXZlbnQgY2hhcmFjdGVyc0lnbm9yaW5n TW9kaWZpZXJzXSBsZW5ndGhdID4gMCkpCiAvKltbdGhlRXZlbnQgY2hhcmFjdGVyc10gbGVuZ3Ro XSAqLwogICAgICAgICB7CiAgICAgICAgICAgZW1hY3NfZXZlbnQtPmtpbmQgPSBOT05fQVNDSUlf S0VZU1RST0tFX0VWRU5UOworICAgICAgICAgIC8qIEZJWE1FOiBXaGF0IGFyZSB0aGUgbmV4dCBm b3VyIGxpbmVzIHN1cHBvc2VkIHRvIGRvPyAgKi8KICAgICAgICAgICBpZiAoY29kZSA8IDB4MjAp CiAgICAgICAgICAgICBjb2RlIHw9ICgxPDwyOCl8KDM8PDE2KTsKICAgICAgICAgICBlbHNlIGlm IChjb2RlID09IDB4N2YpCiAgICAgICAgICAgICBjb2RlIHw9ICgxPDwyOCl8KDM8PDE2KTsKICAg ICAgICAgICBlbHNlIGlmICghZm5LZXlzeW0pCisgICAgICAgICAgICAvKiBGSVhNRTogVGhpcyBz ZWVtcyB3cm9uZywgY2hhcmFjdGVycyBpbiB0aGUgcmFuZ2UKKyAgICAgICAgICAgICAgIFsweDgw LMKgMHhGRl0gYXJlIG5vdCBBU0NJSSBjaGFyYWN0ZXJzLiAgQ2Fu4oCZdCB3ZSBqdXN0CisgICAg ICAgICAgICAgICB1c2UgTVVMVElCWVRFX0NIQVJfS0VZU1RST0tFX0VWRU5UIGhlcmUgZm9yIGFs bCBraW5kcworICAgICAgICAgICAgICAgb2YgY2hhcmFjdGVycz8gICovCiAgICAgICAgICAgICBl bWFjc19ldmVudC0+a2luZCA9IGNvZGUgPiAweEZGCiAgICAgICAgICAgICAgID8gTVVMVElCWVRF X0NIQVJfS0VZU1RST0tFX0VWRU5UIDogQVNDSUlfS0VZU1RST0tFX0VWRU5UOwogCkBAIC01OTk3 LDExICs1OTUyLDMyIEBAIG5vdF9pbl9hcmd2IChOU1N0cmluZyAqYXJnKQogICAgICAgICB9CiAg ICAgfQogCisgIC8qIElmIHdlIGdldCBoZXJlLCBhIG5vbi1mdW5jdGlvbiBrZXkgd2l0aG91dCBj b250cm9sLWxpa2UgbW9kaWZpZXJzCisgICAgIHdhcyBoaXQuICBVc2UgaW50ZXJwcmV0S2V5RXZl bnRzLCB3aGljaCBpbiB0dXJuIHdpbGwgY2FsbAorICAgICBpbnNlcnRUZXh0OyBzZWUKKyAgICAg aHR0cHM6Ly9kZXZlbG9wZXIuYXBwbGUuY29tL2xpYnJhcnkvbWFjL2RvY3VtZW50YXRpb24vQ29j b2EvQ29uY2VwdHVhbC9FdmVudE92ZXJ2aWV3L0hhbmRsaW5nS2V5RXZlbnRzL0hhbmRsaW5nS2V5 RXZlbnRzLmh0bWwuICAqLwogCiAgIGlmIChOU19LRVlMT0cgJiYgIXByb2Nlc3NpbmdDb21wb3Nl KQogICAgIGZwcmludGYgKHN0ZGVyciwgImtleURvd246IEJlZ2luIGNvbXBvc2Ugc2VxdWVuY2Uu XG4iKTsKIAorICAvKiBGSVhNRTogaW50ZXJwcmV0S2V5RXZlbnRzIGRvZXNu4oCZdCBzZWVtIHRv IHNlbmQgaW5zZXJ0VGV4dCBpZiDijJggaXMKKyAgICAgdXNlZCBhcyBzaGlmdC1saWtlIG1vZGlm aWVyLCBhdCBsZWFzdCBvbiBFbMKgQ2FwaXRhbi4gIE1hc2sgaXQKKyAgICAgb3V0LiAgVGhpcyBz aG91bGRu4oCZdCBiZSBuZWVkZWQgdGhvdWdoOyB3ZSBzaG91bGQgZmlndXJlIG91dCB3aGF0Cisg ICAgIHRoZSBjb3JyZWN0IHdheSBvZiBoYW5kbGluZyDijJggaXMuICAqLworICBpZiAoW3RoZUV2 ZW50IG1vZGlmaWVyRmxhZ3NdICYgTlNDb21tYW5kS2V5TWFzaykKKyAgICB0aGVFdmVudCA9IFtO U0V2ZW50IGtleUV2ZW50V2l0aFR5cGU6W3RoZUV2ZW50IHR5cGVdCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGxvY2F0aW9uOlt0aGVFdmVudCBsb2NhdGlvbkluV2luZG93XQorICAg ICAgICAgICAgICAgICAgICAgICAgICAgbW9kaWZpZXJGbGFnczpbdGhlRXZlbnQgbW9kaWZpZXJG bGFnc10gJiB+TlNDb21tYW5kS2V5TWFzaworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHRpbWVzdGFtcDpbdGhlRXZlbnQgdGltZXN0YW1wXQorICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHdpbmRvd051bWJlcjpbdGhlRXZlbnQgd2luZG93TnVtYmVyXQorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgY29udGV4dDpbdGhlRXZlbnQgY29udGV4dF0KKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGNoYXJhY3RlcnM6W3RoZUV2ZW50IGNoYXJhY3RlcnNdCisgICAg ICAgICAgICAgICAgICAgICAgICBjaGFyYWN0ZXJzSWdub3JpbmdNb2RpZmllcnM6W3RoZUV2ZW50 IGNoYXJhY3RlcnNJZ25vcmluZ01vZGlmaWVyc10KKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBpc0FSZXBlYXQ6W3RoZUV2ZW50IGlzQVJlcGVhdF0KKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGtleUNvZGU6W3RoZUV2ZW50IGtleUNvZGVdXTsKKwogICBwcm9jZXNzaW5n Q29tcG9zZSA9IFlFUzsKKyAgLyogRklYTUU6IFVzZSBbTlNBcnJheSBhcnJheVdpdGhPYmplY3Q6 dGhlRXZlbnRdPyAgKi8KICAgW25zRXZBcnJheSBhZGRPYmplY3Q6IHRoZUV2ZW50XTsKICAgW3Nl bGYgaW50ZXJwcmV0S2V5RXZlbnRzOiBuc0V2QXJyYXldOwogICBbbnNFdkFycmF5IHJlbW92ZU9i amVjdDogdGhlRXZlbnRdOwotLSAKMi43LjQKCg== --001a11c2346219234e052f479308--