<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>166759</bug_id>
          
          <creation_ts>2017-01-06 05:50:26 -0800</creation_ts>
          <short_desc>[GTK] Should support key and code properties on keyboard events</short_desc>
          <delta_ts>2017-01-09 06:16:04 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKitGTK</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Gustavo Noronha (kov)">gustavo</reporter>
          <assigned_to name="Gustavo Noronha (kov)">gustavo</assigned_to>
          <cc>benjamin</cc>
    
    <cc>bugs-noreply</cc>
    
    <cc>cdumez</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dbates</cc>
    
    <cc>mcatanzaro</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1264410</commentid>
    <comment_count>0</comment_count>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2017-01-06 05:50:26 -0800</bug_when>
    <thetext>[GTK] Should support key and code properties on keyboard events</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1264412</commentid>
    <comment_count>1</comment_count>
      <attachid>298199</attachid>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2017-01-06 05:58:36 -0800</bug_when>
    <thetext>Created attachment 298199
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1264452</commentid>
    <comment_count>2</comment_count>
      <attachid>298199</attachid>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2017-01-06 10:15:23 -0800</bug_when>
    <thetext>Comment on attachment 298199
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=298199&amp;action=review

Awesome, thanks. :)

Do you have any thoughts on not-very-related bug #136430? You probably looked over the code where we can set that GdkEventKey::send_event?

Anyway, I guess Carlos will want to review this too. My $0.02:

&gt; Source/WebCore/platform/gtk/PlatformKeyboardEventGtk.cpp:395
&gt; +            memset(&amp;utf8, 0, sizeof(utf8));

No need for memset, write char utf8[7] = { 0 };

&gt; Source/WebCore/platform/gtk/PlatformKeyboardEventGtk.cpp:396
&gt; +            g_unichar_to_utf8(unicodeCharacter, reinterpret_cast&lt;gchar*&gt;(&amp;utf8));

Don&apos;t cast from char* to gchar*, they are the same type. :P</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1264453</commentid>
    <comment_count>3</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2017-01-06 10:17:41 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; &gt; Source/WebCore/platform/gtk/PlatformKeyboardEventGtk.cpp:396
&gt; &gt; +            g_unichar_to_utf8(unicodeCharacter, reinterpret_cast&lt;gchar*&gt;(&amp;utf8));
&gt; 
&gt; Don&apos;t cast from char* to gchar*, they are the same type. :P

Sorry, I see it&apos;s a cast from char** to gchar*. Hm, why is this? Why do you need a cast there at all?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1264673</commentid>
    <comment_count>4</comment_count>
      <attachid>298199</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2017-01-07 00:53:01 -0800</bug_when>
    <thetext>Comment on attachment 298199
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=298199&amp;action=review

&gt; Source/WebCore/ChangeLog:14
&gt; +        - fast/events/arrow-keys-on-body.html
&gt; +        - fast/events/constructors/keyboard-event-constructor.html
&gt; +        - fast/events/key-events-in-input-button.html
&gt; +        - fast/events/key-events-in-input-text.html
&gt; +        - fast/events/keyboardevent-code.html
&gt; +        - fast/events/keyboardevent-key.html

Shouldn&apos;t we unskip them? or are all these currently failing?

&gt; Source/WebCore/platform/gtk/PlatformKeyboardEventGtk.cpp:124
&gt; +        return &quot;Backspace&quot;;

Why not ASCIILiteral here too? (and below)

&gt; Source/WebCore/platform/gtk/PlatformKeyboardEventGtk.cpp:727
&gt;  // FIXME: This is incomplete.  We should change this to mirror
&gt;  // more like what Firefox does, and generate these switch statements
&gt;  // at build time.

This FIXME applies to to the new methods too, I think we should autogenerate all these long switches. Not necessarily in this patch, though.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1264930</commentid>
    <comment_count>5</comment_count>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2017-01-09 04:03:36 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; Do you have any thoughts on not-very-related bug #136430? You probably
&gt; looked over the code where we can set that GdkEventKey::send_event?

Unfortunately no idea =(

&gt; &gt; Source/WebCore/platform/gtk/PlatformKeyboardEventGtk.cpp:395
&gt; &gt; +            memset(&amp;utf8, 0, sizeof(utf8));
&gt; 
&gt; No need for memset, write char utf8[7] = { 0 };
&gt; 
&gt; &gt; Source/WebCore/platform/gtk/PlatformKeyboardEventGtk.cpp:396
&gt; &gt; +            g_unichar_to_utf8(unicodeCharacter, reinterpret_cast&lt;gchar*&gt;(&amp;utf8));
&gt; 
&gt; Don&apos;t cast from char* to gchar*, they are the same type. :P

Oops, yeah, I changed that code quite a bit and it ended up very weird. Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1264931</commentid>
    <comment_count>6</comment_count>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2017-01-09 04:05:33 -0800</bug_when>
    <thetext>(In reply to comment #4)
&gt; &gt; Source/WebCore/ChangeLog:14
&gt; &gt; +        - fast/events/arrow-keys-on-body.html
&gt; &gt; +        - fast/events/constructors/keyboard-event-constructor.html
&gt; &gt; +        - fast/events/key-events-in-input-button.html
&gt; &gt; +        - fast/events/key-events-in-input-text.html
&gt; &gt; +        - fast/events/keyboardevent-code.html
&gt; &gt; +        - fast/events/keyboardevent-key.html
&gt; 
&gt; Shouldn&apos;t we unskip them? or are all these currently failing?

Currently failing. I thought about skipping and unskipping on this patch but I thought it would go in quick enough =)
 
&gt; &gt; Source/WebCore/platform/gtk/PlatformKeyboardEventGtk.cpp:124
&gt; &gt; +        return &quot;Backspace&quot;;
&gt; 
&gt; Why not ASCIILiteral here too? (and below)

Ooops, my mistake. I left some of them for a search-and-replace later on and forgot to do it.

&gt; &gt; Source/WebCore/platform/gtk/PlatformKeyboardEventGtk.cpp:727
&gt; &gt;  // FIXME: This is incomplete.  We should change this to mirror
&gt; &gt;  // more like what Firefox does, and generate these switch statements
&gt; &gt;  // at build time.
&gt; 
&gt; This FIXME applies to to the new methods too, I think we should autogenerate
&gt; all these long switches. Not necessarily in this patch, though.

Agreed. I&apos;ll take a look at how Firefox does it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1264959</commentid>
    <comment_count>7</comment_count>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2017-01-09 06:16:04 -0800</bug_when>
    <thetext>Committed r210504: &lt;http://trac.webkit.org/changeset/210504&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>298199</attachid>
            <date>2017-01-06 05:58:36 -0800</date>
            <delta_ts>2017-01-07 00:53:01 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-166759-20170106115705.patch</filename>
            <type>text/plain</type>
            <size>36925</size>
            <attacher name="Gustavo Noronha (kov)">gustavo</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjEwMjM1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDBkMjMyZjllNGQ5NjU0Njg2Y2M3NjNh
YTg5MGRjMzFiY2UzY2IyM2YuLjk2YTQ0ZjM4OGJjOTMxNTFiODM1ZGJlZTA5NWNlMGE1ZjI5NGZk
MzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTctMDEtMDYgIEd1c3Rhdm8gTm9yb25oYSBTaWx2
YSAgPGd1c3Rhdm8ubm9yb25oYUBjb2xsYWJvcmEuY28udWs+CisKKyAgICAgICAgW0dUS10gU2hv
dWxkIHN1cHBvcnQga2V5IGFuZCBjb2RlIHByb3BlcnRpZXMgb24ga2V5Ym9hcmQgZXZlbnRzCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjY3NTkKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHd0Zi9GZWF0
dXJlRGVmaW5lcy5oOiBlbmFibGUga2V5IGFuZCBjb2RlIHByb3BlcnRpZXMgc3VwcG9ydCBmb3Ig
R1RLLgorCiAyMDE3LTAxLTAyICBKdWxpZW4gQnJpYW5jZWF1ICA8amJyaWFuY2VAY2lzY28uY29t
PgogCiAgICAgICAgIFJlbW92ZSBzaDQgc3BlY2lmaWMgY29kZSBmcm9tIEphdmFTY3JpcHRDb3Jl
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cKaW5kZXggNGZjYjJiOGIyNzQxMGRhZmRjYjQwY2MzNWRlZTc0Y2VlODg4OWZmNC4u
YzI3NWZmMWU4OGRiMTc4ZjAxN2I4OTg1YzVhNWJjNzA5NTE5NTAyNiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDI3IEBACisyMDE3LTAxLTA2ICBHdXN0YXZvIE5vcm9uaGEgU2lsdmEgIDxndXN0YXZv
Lm5vcm9uaGFAY29sbGFib3JhLmNvLnVrPgorCisgICAgICAgIFtHVEtdIFNob3VsZCBzdXBwb3J0
IGtleSBhbmQgY29kZSBwcm9wZXJ0aWVzIG9uIGtleWJvYXJkIGV2ZW50cworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY2NzU5CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBjaGFuZ2UgZml4ZXMgYSBi
dW5jaCBvZiB0ZXN0cyB3aGljaCBhcmUgY3VycmVudGx5IGZhaWxpbmcsIHN1Y2ggYXM6CisgICAg
ICAgIC0gZmFzdC9ldmVudHMvYXJyb3cta2V5cy1vbi1ib2R5Lmh0bWwKKyAgICAgICAgLSBmYXN0
L2V2ZW50cy9jb25zdHJ1Y3RvcnMva2V5Ym9hcmQtZXZlbnQtY29uc3RydWN0b3IuaHRtbAorICAg
ICAgICAtIGZhc3QvZXZlbnRzL2tleS1ldmVudHMtaW4taW5wdXQtYnV0dG9uLmh0bWwKKyAgICAg
ICAgLSBmYXN0L2V2ZW50cy9rZXktZXZlbnRzLWluLWlucHV0LXRleHQuaHRtbAorICAgICAgICAt
IGZhc3QvZXZlbnRzL2tleWJvYXJkZXZlbnQtY29kZS5odG1sCisgICAgICAgIC0gZmFzdC9ldmVu
dHMva2V5Ym9hcmRldmVudC1rZXkuaHRtbAorCisgICAgICAgICogcGxhdGZvcm0vUGxhdGZvcm1L
ZXlib2FyZEV2ZW50Lmg6CisgICAgICAgICogcGxhdGZvcm0vZ3RrL1BsYXRmb3JtS2V5Ym9hcmRF
dmVudEd0ay5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybUtleWJvYXJkRXZlbnQ6Omtl
eVZhbHVlRm9yR2RrS2V5Q29kZSk6IG1hdGNoIHdlYiBrZXkgdmFsdWUKKyAgICAgICAgdG8gR0RL
IGtleSBzeW1ib2wuCisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybUtleWJvYXJkRXZlbnQ6Omtl
eUNvZGVGb3JIYXJkd2FyZUtleUNvZGUpOiBtYXRjaCB3ZWIga2V5IGNvZGUKKyAgICAgICAgdG8g
aGFyZHdhcmUgY29kZSBhcyByZXBvcnRlZCBieSBHREsuCisgICAgICAgIChXZWJDb3JlOjpQbGF0
Zm9ybUtleWJvYXJkRXZlbnQ6OlBsYXRmb3JtS2V5Ym9hcmRFdmVudCk6IGFkZCB3ZWIga2V5IHZh
bHVlIGFuZAorICAgICAgICBjb2RlIHRvIHRoZSBrZXlib2FyZCBldmVudCB1cG9uIGNyZWF0aW9u
LgorCiAyMDE3LTAxLTAyICBZdXN1a2UgU3V6dWtpICA8dXRhdGFuZS50ZWFAZ21haWwuY29tPgog
CiAgICAgICAgIFVucmV2aWV3ZWQsIGZvbGxvdy11cCBmaXggZm9yIHIyMTAyMjcKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpp
bmRleCA2MjBjMmVhYTAxMzVmMzkzZGQxMTI3N2NjY2QxZTlmOTAzNmJlMWYzLi5jMzZjYWY1ZTVl
Yjk2NjZlNzQyNmE5NzIyMzQwMTBiYTFkYmFiZDdhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYg
QEAKKzIwMTctMDEtMDYgIEd1c3Rhdm8gTm9yb25oYSBTaWx2YSAgPGd1c3Rhdm8ubm9yb25oYUBj
b2xsYWJvcmEuY28udWs+CisKKyAgICAgICAgW0dUS10gU2hvdWxkIHN1cHBvcnQga2V5IGFuZCBj
b2RlIHByb3BlcnRpZXMgb24ga2V5Ym9hcmQgZXZlbnRzCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjY3NTkKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFNoYXJlZC9XZWJFdmVudC5oOgorICAgICAgICAq
IFNoYXJlZC9XZWJLZXlib2FyZEV2ZW50LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViS2V5Ym9h
cmRFdmVudDo6V2ViS2V5Ym9hcmRFdmVudCk6IGFjY2VwdCB3ZWIga2V5IHZhbHVlIGFuZCBjb2Rl
IG9uIGNvbnN0cnVjdGlvbi4KKyAgICAgICAgKiBTaGFyZWQvZ3RrL1dlYkV2ZW50RmFjdG9yeS5j
cHA6CisgICAgICAgIChXZWJLaXQ6OldlYkV2ZW50RmFjdG9yeTo6Y3JlYXRlV2ViS2V5Ym9hcmRF
dmVudCk6IHBhc3Mgd2ViIGtleSB2YWx1ZSBhbmQgY29kZSBvbiBjb25zdHJ1Y3Rpb24uCisKIDIw
MTctMDEtMDMgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgogCiAg
ICAgICAgIFtTT1VQXSBMb2FkIG9wdGlvbnMgYWxsb3dTdG9yZWRDcmVkZW50aWFscyA9IERvTm90
QWxsb3dTdG9yZWRDcmVkZW50aWFscyB3aXRoIGNsaWVudENyZWRlbnRpYWxQb2xpY3kgPSBNYXlB
c2tDbGllbnRGb3JDcmVkZW50aWFscyBkb2Vzbid0IHdvcmsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
VEYvd3RmL0ZlYXR1cmVEZWZpbmVzLmggYi9Tb3VyY2UvV1RGL3d0Zi9GZWF0dXJlRGVmaW5lcy5o
CmluZGV4IDI5NDJlZjFkODcyYmU2OGI2MTk0Y2Q1NTFiZGE5MzQ1ODA0MWZiMWUuLmY1NmFmMjQy
NzFjZDE5NTZjZjVkYWY3NzViZDJjMzFhYWUzZjBkOGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYv
d3RmL0ZlYXR1cmVEZWZpbmVzLmgKKysrIGIvU291cmNlL1dURi93dGYvRmVhdHVyZURlZmluZXMu
aApAQCAtMzI0LDYgKzMyNCwxMyBAQCB0aGUgcHVibGljIGlPUyBTREsuIFdlIHdpbGwgYWxzbyBu
ZWVkIHRvIHVwZGF0ZSB0aGUgRmVhdHVyZURlZmluZXMueGNjb25maWcgZmlsZQogCiAvKiAtLS0t
LS0tLS0gR3RrIHBvcnQgKFVuaXgsIFdpbmRvd3MsIE1hYykgLS0tLS0tLS0tICovCiAjaWYgUExB
VEZPUk0oR1RLKQorI2lmICFkZWZpbmVkKEVOQUJMRV9LRVlCT0FSRF9LRVlfQVRUUklCVVRFKQor
I2RlZmluZSBFTkFCTEVfS0VZQk9BUkRfS0VZX0FUVFJJQlVURSAxCisjZW5kaWYKKworI2lmICFk
ZWZpbmVkKEVOQUJMRV9LRVlCT0FSRF9DT0RFX0FUVFJJQlVURSkKKyNkZWZpbmUgRU5BQkxFX0tF
WUJPQVJEX0NPREVfQVRUUklCVVRFIDEKKyNlbmRpZgogI2VuZGlmIC8qIFBMQVRGT1JNKEdUSykg
Ki8KIAogLyogRU5BQkxFIG1hY3JvIGRlZmF1bHRzIGZvciBXZWJDb3JlICovCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QbGF0Zm9ybUtleWJvYXJkRXZlbnQuaCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL1BsYXRmb3JtS2V5Ym9hcmRFdmVudC5oCmluZGV4IDdmNDBkNjk3
MDI0ZjJjYTViZmY4MGFjNjc2MThmZmZiNjllNjY0MDIuLjY3OWE0ZTRmODFlNmJjZDcyYTJkNjkw
ZWM2MGZiNzZlODBlY2VlNTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Bs
YXRmb3JtS2V5Ym9hcmRFdmVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1BsYXRm
b3JtS2V5Ym9hcmRFdmVudC5oCkBAIC0xNjEsNiArMTYxLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUg
ewogICAgICAgICBjb25zdCBDb21wb3NpdGlvblJlc3VsdHMmIGNvbXBvc2l0aW9uUmVzdWx0cygp
IGNvbnN0IHsgcmV0dXJuIG1fY29tcG9zaXRpb25SZXN1bHRzOyB9CiAKICAgICAgICAgLy8gVXNl
ZCBieSBXZWJLaXQyCisgICAgICAgIHN0YXRpYyBTdHJpbmcga2V5VmFsdWVGb3JHZGtLZXlDb2Rl
KHVuc2lnbmVkKTsKKyAgICAgICAgc3RhdGljIFN0cmluZyBrZXlDb2RlRm9ySGFyZHdhcmVLZXlD
b2RlKHVuc2lnbmVkKTsKICAgICAgICAgc3RhdGljIFN0cmluZyBrZXlJZGVudGlmaWVyRm9yR2Rr
S2V5Q29kZSh1bnNpZ25lZCk7CiAgICAgICAgIHN0YXRpYyBpbnQgd2luZG93c0tleUNvZGVGb3JH
ZGtLZXlDb2RlKHVuc2lnbmVkKTsKICAgICAgICAgc3RhdGljIFN0cmluZyBzaW5nbGVDaGFyYWN0
ZXJTdHJpbmcodW5zaWduZWQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3RrL1BsYXRmb3JtS2V5Ym9hcmRFdmVudEd0ay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ndGsvUGxhdGZvcm1LZXlib2FyZEV2ZW50R3RrLmNwcAppbmRleCA4YmRkNDhmZGJhNzVlYzVm
MjU5NjdhMTcwYjIwZmI5NGRjYTc3Njg5Li42ZmNiMDAxMjk1ZjI5OTlmOWQ4ZjczNGFjMzQ4YWYw
YTFkMTZjMjM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ndGsvUGxhdGZv
cm1LZXlib2FyZEV2ZW50R3RrLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ndGsv
UGxhdGZvcm1LZXlib2FyZEV2ZW50R3RrLmNwcApAQCAtMzQsMTMgKzM0LDY5NCBAQAogI2luY2x1
ZGUgIk5vdEltcGxlbWVudGVkLmgiCiAjaW5jbHVkZSAiVGV4dEVuY29kaW5nLmgiCiAjaW5jbHVk
ZSAiV2luZG93c0tleWJvYXJkQ29kZXMuaCIKLQogI2luY2x1ZGUgPGdkay9nZGsuaD4KICNpbmNs
dWRlIDxnZGsvZ2Rra2V5c3ltcy5oPgogI2luY2x1ZGUgPHd0Zi9DdXJyZW50VGltZS5oPgorI2lu
Y2x1ZGUgPHd0Zi9nbGliL0dVbmlxdWVQdHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCisv
LyBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9BUEkvS2V5Ym9h
cmRFdmVudC9rZXkvS2V5X1ZhbHVlcworU3RyaW5nIFBsYXRmb3JtS2V5Ym9hcmRFdmVudDo6a2V5
VmFsdWVGb3JHZGtLZXlDb2RlKHVuc2lnbmVkIGtleUNvZGUpCit7CisgICAgc3dpdGNoIChrZXlD
b2RlKSB7CisgICAgLy8gTW9kaWZpZXIga2V5cy4KKyAgICBjYXNlIEdES19LRVlfQWx0X0w6Cisg
ICAgY2FzZSBHREtfS0VZX0FsdF9SOgorICAgICAgICByZXR1cm4gQVNDSUlMaXRlcmFsKCJBbHQi
KTsKKyAgICAvLyBGaXJlZm94IHVzZXMgR0RLX0tFWV9Nb2RlX3N3aXRjaCBmb3IgQWx0R3JhcGgg
YXMgd2VsbC4KKyAgICBjYXNlIEdES19LRVlfSVNPX0xldmVsM19TaGlmdDoKKyAgICBjYXNlIEdE
S19LRVlfSVNPX0xldmVsM19MYXRjaDoKKyAgICBjYXNlIEdES19LRVlfSVNPX0xldmVsM19Mb2Nr
OgorICAgIGNhc2UgR0RLX0tFWV9JU09fTGV2ZWw1X1NoaWZ0OgorICAgIGNhc2UgR0RLX0tFWV9J
U09fTGV2ZWw1X0xhdGNoOgorICAgIGNhc2UgR0RLX0tFWV9JU09fTGV2ZWw1X0xvY2s6CisgICAg
ICAgIHJldHVybiBBU0NJSUxpdGVyYWwoIkFsdEdyYXBoIik7CisgICAgY2FzZSBHREtfS0VZX0Nh
cHNfTG9jazoKKyAgICAgICAgcmV0dXJuIEFTQ0lJTGl0ZXJhbCgiQ2Fwc0xvY2siKTsKKyAgICBj
YXNlIEdES19LRVlfQ29udHJvbF9MOgorICAgIGNhc2UgR0RLX0tFWV9Db250cm9sX1I6CisgICAg
ICAgIHJldHVybiBBU0NJSUxpdGVyYWwoIkNvbnRyb2wiKTsKKyAgICAvLyBGbjogVGhpcyBpcyB0
eXBpY2FsbHkgYSBoYXJkd2FyZSBrZXkgdGhhdCBkb2VzIG5vdCBnZW5lcmF0ZSBhIHNlcGFyYXRl
IGNvZGUuCisgICAgLy8gRm5Mb2NrLgorICAgIGNhc2UgR0RLX0tFWV9IeXBlcl9MOgorICAgIGNh
c2UgR0RLX0tFWV9IeXBlcl9SOgorICAgICAgICByZXR1cm4gQVNDSUlMaXRlcmFsKCJIeXBlciIp
OworICAgIGNhc2UgR0RLX0tFWV9NZXRhX0w6CisgICAgY2FzZSBHREtfS0VZX01ldGFfUjoKKyAg
ICAgICAgcmV0dXJuIEFTQ0lJTGl0ZXJhbCgiTWV0YSIpOworICAgIGNhc2UgR0RLX0tFWV9OdW1f
TG9jazoKKyAgICAgICAgcmV0dXJuIEFTQ0lJTGl0ZXJhbCgiTnVtTG9jayIpOworICAgIGNhc2Ug
R0RLX0tFWV9TY3JvbGxfTG9jazoKKyAgICAgICAgcmV0dXJuIEFTQ0lJTGl0ZXJhbCgiU2Nyb2xs
TG9jayIpOworICAgIGNhc2UgR0RLX0tFWV9TaGlmdF9MOgorICAgIGNhc2UgR0RLX0tFWV9TaGlm
dF9SOgorICAgICAgICByZXR1cm4gQVNDSUlMaXRlcmFsKCJTaGlmdCIpOworICAgIGNhc2UgR0RL
X0tFWV9TdXBlcl9MOgorICAgIGNhc2UgR0RLX0tFWV9TdXBlcl9SOgorICAgICAgICByZXR1cm4g
QVNDSUlMaXRlcmFsKCJTdXBlciIpOworICAgIC8vIFN5bWJvbC4KKyAgICAvLyBTeW1ib2xMb2Nr
LgorCisgICAgLy8gV2hpdGVzcGFjZSBrZXlzLgorICAgIGNhc2UgR0RLX0tFWV9SZXR1cm46Cisg
ICAgY2FzZSBHREtfS0VZX0tQX0VudGVyOgorICAgIGNhc2UgR0RLX0tFWV9JU09fRW50ZXI6Cisg
ICAgY2FzZSBHREtfS0VZXzMyNzBfRW50ZXI6CisgICAgICAgIHJldHVybiBBU0NJSUxpdGVyYWwo
IkVudGVyIik7CisgICAgY2FzZSBHREtfS0VZX1RhYjoKKyAgICBjYXNlIEdES19LRVlfS1BfVGFi
OgorICAgICAgICByZXR1cm4gQVNDSUlMaXRlcmFsKCJUYWIiKTsKKworICAgIC8vIE5hdmlnYXRp
b24ga2V5cy4KKyAgICBjYXNlIEdES19LRVlfRG93bjoKKyAgICBjYXNlIEdES19LRVlfS1BfRG93
bjoKKyAgICAgICAgcmV0dXJuIEFTQ0lJTGl0ZXJhbCgiQXJyb3dEb3duIik7CisgICAgY2FzZSBH
REtfS0VZX0xlZnQ6CisgICAgY2FzZSBHREtfS0VZX0tQX0xlZnQ6CisgICAgICAgIHJldHVybiBB
U0NJSUxpdGVyYWwoIkFycm93TGVmdCIpOworICAgIGNhc2UgR0RLX0tFWV9SaWdodDoKKyAgICBj
YXNlIEdES19LRVlfS1BfUmlnaHQ6CisgICAgICAgIHJldHVybiBBU0NJSUxpdGVyYWwoIkFycm93
UmlnaHQiKTsKKyAgICBjYXNlIEdES19LRVlfVXA6CisgICAgY2FzZSBHREtfS0VZX0tQX1VwOgor
ICAgICAgICByZXR1cm4gQVNDSUlMaXRlcmFsKCJBcnJvd1VwIik7CisgICAgY2FzZSBHREtfS0VZ
X0VuZDoKKyAgICBjYXNlIEdES19LRVlfS1BfRW5kOgorICAgICAgICByZXR1cm4gQVNDSUlMaXRl
cmFsKCJFbmQiKTsKKyAgICBjYXNlIEdES19LRVlfSG9tZToKKyAgICBjYXNlIEdES19LRVlfS1Bf
SG9tZToKKyAgICAgICAgcmV0dXJuIEFTQ0lJTGl0ZXJhbCgiSG9tZSIpOworICAgIGNhc2UgR0RL
X0tFWV9QYWdlX0Rvd246CisgICAgY2FzZSBHREtfS0VZX0tQX1BhZ2VfRG93bjoKKyAgICAgICAg
cmV0dXJuIEFTQ0lJTGl0ZXJhbCgiUGFnZURvd24iKTsKKyAgICBjYXNlIEdES19LRVlfUGFnZV9V
cDoKKyAgICBjYXNlIEdES19LRVlfS1BfUGFnZV9VcDoKKyAgICAgICAgcmV0dXJuIEFTQ0lJTGl0
ZXJhbCgiUGFnZVVwIik7CisKKyAgICAvLyBFZGl0aW5nIGtleXMuCisgICAgY2FzZSBHREtfS0VZ
X0JhY2tTcGFjZToKKyAgICAgICAgcmV0dXJuICJCYWNrc3BhY2UiOworICAgIGNhc2UgR0RLX0tF
WV9DbGVhcjoKKyAgICAgICAgcmV0dXJuICJDbGVhciI7CisgICAgY2FzZSBHREtfS0VZX0NvcHk6
CisgICAgICAgIHJldHVybiAiQ29weSI7CisgICAgY2FzZSBHREtfS0VZXzMyNzBfQ3Vyc29yU2Vs
ZWN0OgorICAgICAgICByZXR1cm4gIkNyU2VsIjsKKyAgICBjYXNlIEdES19LRVlfQ3V0OgorICAg
ICAgICByZXR1cm4gIkN1dCI7CisgICAgY2FzZSBHREtfS0VZX0RlbGV0ZToKKyAgICBjYXNlIEdE
S19LRVlfS1BfRGVsZXRlOgorICAgICAgICByZXR1cm4gIkRlbGV0ZSI7CisgICAgY2FzZSBHREtf
S0VZXzMyNzBfRXJhc2VFT0Y6CisgICAgICAgIHJldHVybiAiRXJhc2VFb2YiOworICAgIGNhc2Ug
R0RLX0tFWV8zMjcwX0V4U2VsZWN0OgorICAgICAgICByZXR1cm4gIkV4U2VsIjsKKyAgICBjYXNl
IEdES19LRVlfSW5zZXJ0OgorICAgIGNhc2UgR0RLX0tFWV9LUF9JbnNlcnQ6CisgICAgICAgIHJl
dHVybiAiSW5zZXJ0IjsKKyAgICBjYXNlIEdES19LRVlfUGFzdGU6CisgICAgICAgIHJldHVybiAi
UGFzdGUiOworICAgIGNhc2UgR0RLX0tFWV9SZWRvOgorICAgICAgICByZXR1cm4gIlJlZG8iOwor
ICAgIGNhc2UgR0RLX0tFWV9VbmRvOgorICAgICAgICByZXR1cm4gIlVuZG8iOworCisgICAgLy8g
VUkga2V5cy4KKyAgICAvLyBBY2NlcHQuCisgICAgLy8gQWdhaW4uCisgICAgY2FzZSBHREtfS0VZ
XzMyNzBfQXR0bjoKKyAgICAgICAgcmV0dXJuICJBdHRuIjsKKyAgICBjYXNlIEdES19LRVlfQ2Fu
Y2VsOgorICAgICAgICByZXR1cm4gIkNhbmNlbCI7CisgICAgY2FzZSBHREtfS0VZX01lbnU6Cisg
ICAgICAgIHJldHVybiAiQ29udGV4dE1lbnUiOworICAgIGNhc2UgR0RLX0tFWV9Fc2NhcGU6Cisg
ICAgICAgIHJldHVybiAiRXNjYXBlIjsKKyAgICBjYXNlIEdES19LRVlfRXhlY3V0ZToKKyAgICAg
ICAgcmV0dXJuICJFeGVjdXRlIjsKKyAgICBjYXNlIEdES19LRVlfRmluZDoKKyAgICAgICAgcmV0
dXJuICJGaW5kIjsKKyAgICBjYXNlIEdES19LRVlfSGVscDoKKyAgICAgICAgcmV0dXJuICJIZWxw
IjsKKyAgICBjYXNlIEdES19LRVlfUGF1c2U6CisgICAgY2FzZSBHREtfS0VZX0JyZWFrOgorICAg
ICAgICByZXR1cm4gIlBhdXNlIjsKKyAgICBjYXNlIEdES19LRVlfMzI3MF9QbGF5OgorICAgICAg
ICByZXR1cm4gIlBsYXkiOworICAgIC8vIFByb3BzLgorICAgIGNhc2UgR0RLX0tFWV9TZWxlY3Q6
CisgICAgICAgIHJldHVybiAiU2VsZWN0IjsKKyAgICBjYXNlIEdES19LRVlfWm9vbUluOgorICAg
ICAgICByZXR1cm4gIlpvb21JbiI7CisgICAgY2FzZSBHREtfS0VZX1pvb21PdXQ6CisgICAgICAg
IHJldHVybiAiWm9vbU91dCI7CisKKyAgICAvLyBEZXZpY2Uga2V5cy4KKyAgICBjYXNlIEdES19L
RVlfTW9uQnJpZ2h0bmVzc0Rvd246CisgICAgICAgIHJldHVybiAiQnJpZ2h0bmVzc0Rvd24iOwor
ICAgIGNhc2UgR0RLX0tFWV9Nb25CcmlnaHRuZXNzVXA6CisgICAgICAgIHJldHVybiAiQnJpZ2h0
bmVzc1VwIjsKKyAgICBjYXNlIEdES19LRVlfRWplY3Q6CisgICAgICAgIHJldHVybiAiRWplY3Qi
OworICAgIGNhc2UgR0RLX0tFWV9Mb2dPZmY6CisgICAgICAgIHJldHVybiAiTG9nT2ZmIjsKKyAg
ICAvLyBQb3dlci4KKyAgICBjYXNlIEdES19LRVlfUG93ZXJEb3duOgorICAgIGNhc2UgR0RLX0tF
WV9Qb3dlck9mZjoKKyAgICAgICAgcmV0dXJuICJQb3dlck9mZiI7CisgICAgY2FzZSBHREtfS0VZ
XzMyNzBfUHJpbnRTY3JlZW46CisgICAgY2FzZSBHREtfS0VZX1ByaW50OgorICAgIGNhc2UgR0RL
X0tFWV9TeXNfUmVxOgorICAgICAgICByZXR1cm4gIlByaW50U2NyZWVuIjsKKyAgICBjYXNlIEdE
S19LRVlfSGliZXJuYXRlOgorICAgICAgICByZXR1cm4gIkhpYmVybmF0ZSI7CisgICAgY2FzZSBH
REtfS0VZX1N0YW5kYnk6CisgICAgY2FzZSBHREtfS0VZX1N1c3BlbmQ6CisgICAgY2FzZSBHREtf
S0VZX1NsZWVwOgorICAgICAgICByZXR1cm4gIlN0YW5kYnkiOworICAgIGNhc2UgR0RLX0tFWV9X
YWtlVXA6CisgICAgICAgIHJldHVybiAiV2FrZVVwIjsKKworICAgIC8vIElNRSBrZXlzLgorICAg
IGNhc2UgR0RLX0tFWV9NdWx0aXBsZUNhbmRpZGF0ZToKKyAgICAgICAgcmV0dXJuIEFTQ0lJTGl0
ZXJhbCgiQWxsQ2FuZGlkYXRlcyIpOworICAgIGNhc2UgR0RLX0tFWV9FaXN1X1NoaWZ0OgorICAg
IGNhc2UgR0RLX0tFWV9FaXN1X3RvZ2dsZToKKyAgICAgICAgcmV0dXJuIEFTQ0lJTGl0ZXJhbCgi
QWxwaGFudW1lcmljIik7CisgICAgY2FzZSBHREtfS0VZX0NvZGVpbnB1dDoKKyAgICAgICAgcmV0
dXJuIEFTQ0lJTGl0ZXJhbCgiQ29kZUlucHV0Iik7CisgICAgY2FzZSBHREtfS0VZX011bHRpX2tl
eToKKyAgICAgICAgcmV0dXJuIEFTQ0lJTGl0ZXJhbCgiQ29tcG9zZSIpOworICAgIGNhc2UgR0RL
X0tFWV9IZW5rYW46CisgICAgICAgIHJldHVybiBBU0NJSUxpdGVyYWwoIkNvbnZlcnQiKTsKKyAg
ICBjYXNlIEdES19LRVlfZGVhZF9ncmF2ZToKKyAgICBjYXNlIEdES19LRVlfZGVhZF9hY3V0ZToK
KyAgICBjYXNlIEdES19LRVlfZGVhZF9jaXJjdW1mbGV4OgorICAgIGNhc2UgR0RLX0tFWV9kZWFk
X3RpbGRlOgorICAgIGNhc2UgR0RLX0tFWV9kZWFkX21hY3JvbjoKKyAgICBjYXNlIEdES19LRVlf
ZGVhZF9icmV2ZToKKyAgICBjYXNlIEdES19LRVlfZGVhZF9hYm92ZWRvdDoKKyAgICBjYXNlIEdE
S19LRVlfZGVhZF9kaWFlcmVzaXM6CisgICAgY2FzZSBHREtfS0VZX2RlYWRfYWJvdmVyaW5nOgor
ICAgIGNhc2UgR0RLX0tFWV9kZWFkX2RvdWJsZWFjdXRlOgorICAgIGNhc2UgR0RLX0tFWV9kZWFk
X2Nhcm9uOgorICAgIGNhc2UgR0RLX0tFWV9kZWFkX2NlZGlsbGE6CisgICAgY2FzZSBHREtfS0VZ
X2RlYWRfb2dvbmVrOgorICAgIGNhc2UgR0RLX0tFWV9kZWFkX2lvdGE6CisgICAgY2FzZSBHREtf
S0VZX2RlYWRfdm9pY2VkX3NvdW5kOgorICAgIGNhc2UgR0RLX0tFWV9kZWFkX3NlbWl2b2ljZWRf
c291bmQ6CisgICAgY2FzZSBHREtfS0VZX2RlYWRfYmVsb3dkb3Q6CisgICAgY2FzZSBHREtfS0VZ
X2RlYWRfaG9vazoKKyAgICBjYXNlIEdES19LRVlfZGVhZF9ob3JuOgorICAgIGNhc2UgR0RLX0tF
WV9kZWFkX3N0cm9rZToKKyAgICBjYXNlIEdES19LRVlfZGVhZF9hYm92ZWNvbW1hOgorICAgIGNh
c2UgR0RLX0tFWV9kZWFkX2Fib3ZlcmV2ZXJzZWRjb21tYToKKyAgICBjYXNlIEdES19LRVlfZGVh
ZF9kb3VibGVncmF2ZToKKyAgICBjYXNlIEdES19LRVlfZGVhZF9iZWxvd3Jpbmc6CisgICAgY2Fz
ZSBHREtfS0VZX2RlYWRfYmVsb3dtYWNyb246CisgICAgY2FzZSBHREtfS0VZX2RlYWRfYmVsb3dj
aXJjdW1mbGV4OgorICAgIGNhc2UgR0RLX0tFWV9kZWFkX2JlbG93dGlsZGU6CisgICAgY2FzZSBH
REtfS0VZX2RlYWRfYmVsb3dicmV2ZToKKyAgICBjYXNlIEdES19LRVlfZGVhZF9iZWxvd2RpYWVy
ZXNpczoKKyAgICBjYXNlIEdES19LRVlfZGVhZF9pbnZlcnRlZGJyZXZlOgorICAgIGNhc2UgR0RL
X0tFWV9kZWFkX2JlbG93Y29tbWE6CisgICAgY2FzZSBHREtfS0VZX2RlYWRfY3VycmVuY3k6Cisg
ICAgY2FzZSBHREtfS0VZX2RlYWRfYToKKyAgICBjYXNlIEdES19LRVlfZGVhZF9BOgorICAgIGNh
c2UgR0RLX0tFWV9kZWFkX2U6CisgICAgY2FzZSBHREtfS0VZX2RlYWRfRToKKyAgICBjYXNlIEdE
S19LRVlfZGVhZF9pOgorICAgIGNhc2UgR0RLX0tFWV9kZWFkX0k6CisgICAgY2FzZSBHREtfS0VZ
X2RlYWRfbzoKKyAgICBjYXNlIEdES19LRVlfZGVhZF9POgorICAgIGNhc2UgR0RLX0tFWV9kZWFk
X3U6CisgICAgY2FzZSBHREtfS0VZX2RlYWRfVToKKyAgICBjYXNlIEdES19LRVlfZGVhZF9zbWFs
bF9zY2h3YToKKyAgICBjYXNlIEdES19LRVlfZGVhZF9jYXBpdGFsX3NjaHdhOgorICAgICAgICBy
ZXR1cm4gQVNDSUlMaXRlcmFsKCJEZWFkIik7CisgICAgLy8gRmluYWxNb2RlCisgICAgY2FzZSBH
REtfS0VZX0lTT19GaXJzdF9Hcm91cDoKKyAgICAgICAgcmV0dXJuIEFTQ0lJTGl0ZXJhbCgiR3Jv
dXBGaXJzdCIpOworICAgIGNhc2UgR0RLX0tFWV9JU09fTGFzdF9Hcm91cDoKKyAgICAgICAgcmV0
dXJuIEFTQ0lJTGl0ZXJhbCgiR3JvdXBMYXN0Iik7CisgICAgY2FzZSBHREtfS0VZX0lTT19OZXh0
X0dyb3VwOgorICAgICAgICByZXR1cm4gQVNDSUlMaXRlcmFsKCJHcm91cE5leHQiKTsKKyAgICBj
YXNlIEdES19LRVlfSVNPX1ByZXZfR3JvdXA6CisgICAgICAgIHJldHVybiBBU0NJSUxpdGVyYWwo
Ikdyb3VwUHJldmlvdXMiKTsKKyAgICBjYXNlIEdES19LRVlfTW9kZV9zd2l0Y2g6CisgICAgICAg
IHJldHVybiBBU0NJSUxpdGVyYWwoIk1vZGVDaGFuZ2UiKTsKKyAgICAvLyBOZXh0Q2FuZGlkYXRl
LgorICAgIGNhc2UgR0RLX0tFWV9NdWhlbmthbjoKKyAgICAgICAgcmV0dXJuIEFTQ0lJTGl0ZXJh
bCgiTm9uQ29udmVydCIpOworICAgIGNhc2UgR0RLX0tFWV9QcmV2aW91c0NhbmRpZGF0ZToKKyAg
ICAgICAgcmV0dXJuIEFTQ0lJTGl0ZXJhbCgiUHJldmlvdXNDYW5kaWRhdGUiKTsKKyAgICAvLyBQ
cm9jZXNzLgorICAgIGNhc2UgR0RLX0tFWV9TaW5nbGVDYW5kaWRhdGU6CisgICAgICAgIHJldHVy
biBBU0NJSUxpdGVyYWwoIlNpbmdsZUNhbmRpZGF0ZSIpOworCisgICAgLy8gS29yZWFuIGFuZCBK
YXBhbmVzZSBrZXlzLgorICAgIGNhc2UgR0RLX0tFWV9IYW5ndWw6CisgICAgICAgIHJldHVybiBB
U0NJSUxpdGVyYWwoIkhhbmd1bE1vZGUiKTsKKyAgICBjYXNlIEdES19LRVlfSGFuZ3VsX0hhbmph
OgorICAgICAgICByZXR1cm4gQVNDSUlMaXRlcmFsKCJIYW5qYU1vZGUiKTsKKyAgICBjYXNlIEdE
S19LRVlfSGFuZ3VsX0plb25qYToKKyAgICAgICAgcmV0dXJuIEFTQ0lJTGl0ZXJhbCgiSnVuamFN
b2RlIik7CisgICAgY2FzZSBHREtfS0VZX0hhbmtha3U6CisgICAgICAgIHJldHVybiBBU0NJSUxp
dGVyYWwoIkhhbmtha3UiKTsKKyAgICBjYXNlIEdES19LRVlfSGlyYWdhbmE6CisgICAgICAgIHJl
dHVybiBBU0NJSUxpdGVyYWwoIkhpcmFnYW5hIik7CisgICAgY2FzZSBHREtfS0VZX0hpcmFnYW5h
X0thdGFrYW5hOgorICAgICAgICByZXR1cm4gQVNDSUlMaXRlcmFsKCJIaXJhZ2FuYUthdGFrYW5h
Iik7CisgICAgY2FzZSBHREtfS0VZX0thbmFfTG9jazoKKyAgICBjYXNlIEdES19LRVlfS2FuYV9T
aGlmdDoKKyAgICAgICAgcmV0dXJuIEFTQ0lJTGl0ZXJhbCgiS2FuYU1vZGUiKTsKKyAgICBjYXNl
IEdES19LRVlfS2Fuamk6CisgICAgICAgIHJldHVybiBBU0NJSUxpdGVyYWwoIkthbmppTW9kZSIp
OworICAgIGNhc2UgR0RLX0tFWV9LYXRha2FuYToKKyAgICAgICAgcmV0dXJuIEFTQ0lJTGl0ZXJh
bCgiS2F0YWthbmEiKTsKKyAgICBjYXNlIEdES19LRVlfUm9tYWppOgorICAgICAgICByZXR1cm4g
QVNDSUlMaXRlcmFsKCJSb21hamkiKTsKKyAgICBjYXNlIEdES19LRVlfWmVua2FrdToKKyAgICAg
ICAgcmV0dXJuIEFTQ0lJTGl0ZXJhbCgiWmVua2FrdSIpOworICAgIGNhc2UgR0RLX0tFWV9aZW5r
YWt1X0hhbmtha3U6CisgICAgICAgIHJldHVybiBBU0NJSUxpdGVyYWwoIlplbmtha3VIYW5ha3Ui
KTsKKworICAgIC8vIE11bHRpbWVkaWEga2V5cy4KKyAgICAvLyBDaGFubmVsRG93bi4KKyAgICAv
LyBDaGFubmVsVXAuCisgICAgY2FzZSBHREtfS0VZX0Nsb3NlOgorICAgICAgICByZXR1cm4gQVND
SUlMaXRlcmFsKCJDbG9zZSIpOworICAgIGNhc2UgR0RLX0tFWV9NYWlsRm9yd2FyZDoKKyAgICAg
ICAgcmV0dXJuIEFTQ0lJTGl0ZXJhbCgiTWFpbEZvcndhcmQiKTsKKyAgICBjYXNlIEdES19LRVlf
UmVwbHk6CisgICAgICAgIHJldHVybiBBU0NJSUxpdGVyYWwoIk1haWxSZXBseSIpOworICAgIGNh
c2UgR0RLX0tFWV9TZW5kOgorICAgICAgICByZXR1cm4gQVNDSUlMaXRlcmFsKCJNYWlsU2VuZCIp
OworICAgIGNhc2UgR0RLX0tFWV9BdWRpb0ZvcndhcmQ6CisgICAgICAgIHJldHVybiBBU0NJSUxp
dGVyYWwoIk1lZGlhRmFzdEZvcndhcmQiKTsKKyAgICBjYXNlIEdES19LRVlfQXVkaW9QYXVzZToK
KyAgICAgICAgcmV0dXJuIEFTQ0lJTGl0ZXJhbCgiTWVkaWFQYXVzZSIpOworICAgIGNhc2UgR0RL
X0tFWV9BdWRpb1BsYXk6CisgICAgICAgIHJldHVybiBBU0NJSUxpdGVyYWwoIk1lZGlhUGxheSIp
OworICAgIC8vIE1lZGlhUGxheVBhdXNlCisgICAgY2FzZSBHREtfS0VZX0F1ZGlvUmVjb3JkOgor
ICAgICAgICByZXR1cm4gQVNDSUlMaXRlcmFsKCJNZWRpYVJlY29yZCIpOworICAgIGNhc2UgR0RL
X0tFWV9BdWRpb1Jld2luZDoKKyAgICAgICAgcmV0dXJuIEFTQ0lJTGl0ZXJhbCgiTWVkaWFSZXdp
bmQiKTsKKyAgICBjYXNlIEdES19LRVlfQXVkaW9TdG9wOgorICAgICAgICByZXR1cm4gQVNDSUlM
aXRlcmFsKCJNZWRpYVN0b3AiKTsKKyAgICBjYXNlIEdES19LRVlfQXVkaW9OZXh0OgorICAgICAg
ICByZXR1cm4gQVNDSUlMaXRlcmFsKCJNZWRpYVRyYWNrTmV4dCIpOworICAgIGNhc2UgR0RLX0tF
WV9BdWRpb1ByZXY6CisgICAgICAgIHJldHVybiBBU0NJSUxpdGVyYWwoIk1lZGlhVHJhY2tQcmV2
aW91cyIpOworICAgIGNhc2UgR0RLX0tFWV9OZXc6CisgICAgICAgIHJldHVybiBBU0NJSUxpdGVy
YWwoIk5ldyIpOworICAgIGNhc2UgR0RLX0tFWV9PcGVuOgorICAgICAgICByZXR1cm4gQVNDSUlM
aXRlcmFsKCJPcGVuIik7CisgICAgLy8gUHJpbnQuCisgICAgY2FzZSBHREtfS0VZX1NhdmU6Cisg
ICAgICAgIHJldHVybiBBU0NJSUxpdGVyYWwoIlNhdmUiKTsKKyAgICBjYXNlIEdES19LRVlfU3Bl
bGw6CisgICAgICAgIHJldHVybiBBU0NJSUxpdGVyYWwoIlNwZWxsQ2hlY2siKTsKKworICAgIC8v
IEZ1bmN0aW9uIGtleXMuCisgICAgY2FzZSBHREtfS0VZX0YxOgorICAgICAgICByZXR1cm4gQVND
SUlMaXRlcmFsKCJGMSIpOworICAgIGNhc2UgR0RLX0tFWV9GMjoKKyAgICAgICAgcmV0dXJuIEFT
Q0lJTGl0ZXJhbCgiRjIiKTsKKyAgICBjYXNlIEdES19LRVlfRjM6CisgICAgICAgIHJldHVybiBB
U0NJSUxpdGVyYWwoIkYzIik7CisgICAgY2FzZSBHREtfS0VZX0Y0OgorICAgICAgICByZXR1cm4g
QVNDSUlMaXRlcmFsKCJGNCIpOworICAgIGNhc2UgR0RLX0tFWV9GNToKKyAgICAgICAgcmV0dXJu
IEFTQ0lJTGl0ZXJhbCgiRjUiKTsKKyAgICBjYXNlIEdES19LRVlfRjY6CisgICAgICAgIHJldHVy
biBBU0NJSUxpdGVyYWwoIkY2Iik7CisgICAgY2FzZSBHREtfS0VZX0Y3OgorICAgICAgICByZXR1
cm4gQVNDSUlMaXRlcmFsKCJGNyIpOworICAgIGNhc2UgR0RLX0tFWV9GODoKKyAgICAgICAgcmV0
dXJuIEFTQ0lJTGl0ZXJhbCgiRjgiKTsKKyAgICBjYXNlIEdES19LRVlfRjk6CisgICAgICAgIHJl
dHVybiBBU0NJSUxpdGVyYWwoIkY5Iik7CisgICAgY2FzZSBHREtfS0VZX0YxMDoKKyAgICAgICAg
cmV0dXJuIEFTQ0lJTGl0ZXJhbCgiRjEwIik7CisgICAgY2FzZSBHREtfS0VZX0YxMToKKyAgICAg
ICAgcmV0dXJuIEFTQ0lJTGl0ZXJhbCgiRjExIik7CisgICAgY2FzZSBHREtfS0VZX0YxMjoKKyAg
ICAgICAgcmV0dXJuIEFTQ0lJTGl0ZXJhbCgiRjEyIik7CisgICAgY2FzZSBHREtfS0VZX0YxMzoK
KyAgICAgICAgcmV0dXJuIEFTQ0lJTGl0ZXJhbCgiRjEzIik7CisgICAgY2FzZSBHREtfS0VZX0Yx
NDoKKyAgICAgICAgcmV0dXJuIEFTQ0lJTGl0ZXJhbCgiRjE0Iik7CisgICAgY2FzZSBHREtfS0VZ
X0YxNToKKyAgICAgICAgcmV0dXJuIEFTQ0lJTGl0ZXJhbCgiRjE1Iik7CisgICAgY2FzZSBHREtf
S0VZX0YxNjoKKyAgICAgICAgcmV0dXJuIEFTQ0lJTGl0ZXJhbCgiRjE2Iik7CisgICAgY2FzZSBH
REtfS0VZX0YxNzoKKyAgICAgICAgcmV0dXJuIEFTQ0lJTGl0ZXJhbCgiRjE3Iik7CisgICAgY2Fz
ZSBHREtfS0VZX0YxODoKKyAgICAgICAgcmV0dXJuIEFTQ0lJTGl0ZXJhbCgiRjE4Iik7CisgICAg
Y2FzZSBHREtfS0VZX0YxOToKKyAgICAgICAgcmV0dXJuIEFTQ0lJTGl0ZXJhbCgiRjE5Iik7Cisg
ICAgY2FzZSBHREtfS0VZX0YyMDoKKyAgICAgICAgcmV0dXJuIEFTQ0lJTGl0ZXJhbCgiRjIwIik7
CisKKyAgICBkZWZhdWx0OiB7CisgICAgICAgIGd1aW50MzIgdW5pY29kZUNoYXJhY3RlciA9IGdk
a19rZXl2YWxfdG9fdW5pY29kZShrZXlDb2RlKTsKKyAgICAgICAgaWYgKHVuaWNvZGVDaGFyYWN0
ZXIpIHsKKyAgICAgICAgICAgIC8vIFVURi04IHdpbGwgdXNlIHVwIHRvIDYgYnl0ZXMuCisgICAg
ICAgICAgICBjaGFyIHV0ZjhbN107CisgICAgICAgICAgICBtZW1zZXQoJnV0ZjgsIDAsIHNpemVv
Zih1dGY4KSk7CisgICAgICAgICAgICBnX3VuaWNoYXJfdG9fdXRmOCh1bmljb2RlQ2hhcmFjdGVy
LCByZWludGVycHJldF9jYXN0PGdjaGFyKj4oJnV0ZjgpKTsKKyAgICAgICAgICAgIHJldHVybiBT
dHJpbmc6OmZyb21VVEY4KHV0ZjgpOworICAgICAgICB9CisgICAgICAgIHJldHVybiBBU0NJSUxp
dGVyYWwoIlVuaWRlbnRpZmllZCIpOworICAgIH0KKyAgICB9Cit9CisKKy8vIGh0dHBzOi8vZGV2
ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0FQSS9LZXlib2FyZEV2ZW50L2NvZGUK
K1N0cmluZyBQbGF0Zm9ybUtleWJvYXJkRXZlbnQ6OmtleUNvZGVGb3JIYXJkd2FyZUtleUNvZGUo
dW5zaWduZWQga2V5Q29kZSkKK3sKKyAgICBzd2l0Y2ggKGtleUNvZGUpIHsKKyAgICBjYXNlIDB4
MDAwOToKKyAgICAgICAgcmV0dXJuIEFTQ0lJTGl0ZXJhbCgiRXNjYXBlIik7CisgICAgY2FzZSAw
eDAwMEE6CisgICAgICAgIHJldHVybiBBU0NJSUxpdGVyYWwoIkRpZ2l0MSIpOworICAgIGNhc2Ug
MHgwMDBCOgorICAgICAgICByZXR1cm4gQVNDSUlMaXRlcmFsKCJEaWdpdDIiKTsKKyAgICBjYXNl
IDB4MDAwQzoKKyAgICAgICAgcmV0dXJuIEFTQ0lJTGl0ZXJhbCgiRGlnaXQzIik7CisgICAgY2Fz
ZSAweDAwMEQ6CisgICAgICAgIHJldHVybiBBU0NJSUxpdGVyYWwoIkRpZ2l0NCIpOworICAgIGNh
c2UgMHgwMDBFOgorICAgICAgICByZXR1cm4gQVNDSUlMaXRlcmFsKCJEaWdpdDUiKTsKKyAgICBj
YXNlIDB4MDAwRjoKKyAgICAgICAgcmV0dXJuIEFTQ0lJTGl0ZXJhbCgiRGlnaXQ2Iik7CisgICAg
Y2FzZSAweDAwMTA6CisgICAgICAgIHJldHVybiBBU0NJSUxpdGVyYWwoIkRpZ2l0NyIpOworICAg
IGNhc2UgMHgwMDExOgorICAgICAgICByZXR1cm4gQVNDSUlMaXRlcmFsKCJEaWdpdDgiKTsKKyAg
ICBjYXNlIDB4MDAxMjoKKyAgICAgICAgcmV0dXJuIEFTQ0lJTGl0ZXJhbCgiRGlnaXQ5Iik7Cisg
ICAgY2FzZSAweDAwMTM6CisgICAgICAgIHJldHVybiBBU0NJSUxpdGVyYWwoIkRpZ2l0MCIpOwor
ICAgIGNhc2UgMHgwMDE0OgorICAgICAgICByZXR1cm4gQVNDSUlMaXRlcmFsKCJNaW51cyIpOwor
ICAgIGNhc2UgMHgwMDE1OgorICAgICAgICByZXR1cm4gQVNDSUlMaXRlcmFsKCJFcXVhbCIpOwor
ICAgIGNhc2UgMHgwMDE2OgorICAgICAgICByZXR1cm4gQVNDSUlMaXRlcmFsKCJCYWNrc3BhY2Ui
KTsKKyAgICBjYXNlIDB4MDAxNzoKKyAgICAgICAgcmV0dXJuIEFTQ0lJTGl0ZXJhbCgiVGFiIik7
CisgICAgY2FzZSAweDAwMTg6CisgICAgICAgIHJldHVybiBBU0NJSUxpdGVyYWwoIktleVEiKTsK
KyAgICBjYXNlIDB4MDAxOToKKyAgICAgICAgcmV0dXJuIEFTQ0lJTGl0ZXJhbCgiS2V5VyIpOwor
ICAgIGNhc2UgMHgwMDFBOgorICAgICAgICByZXR1cm4gQVNDSUlMaXRlcmFsKCJLZXlFIik7Cisg
ICAgY2FzZSAweDAwMUI6CisgICAgICAgIHJldHVybiBBU0NJSUxpdGVyYWwoIktleVIiKTsKKyAg
ICBjYXNlIDB4MDAxQzoKKyAgICAgICAgcmV0dXJuIEFTQ0lJTGl0ZXJhbCgiS2V5VCIpOworICAg
IGNhc2UgMHgwMDFEOgorICAgICAgICByZXR1cm4gQVNDSUlMaXRlcmFsKCJLZXlZIik7CisgICAg
Y2FzZSAweDAwMUU6CisgICAgICAgIHJldHVybiBBU0NJSUxpdGVyYWwoIktleVUiKTsKKyAgICBj
YXNlIDB4MDAxRjoKKyAgICAgICAgcmV0dXJuIEFTQ0lJTGl0ZXJhbCgiS2V5SSIpOworICAgIGNh
c2UgMHgwMDIwOgorICAgICAgICByZXR1cm4gQVNDSUlMaXRlcmFsKCJLZXlPIik7CisgICAgY2Fz
ZSAweDAwMjE6CisgICAgICAgIHJldHVybiBBU0NJSUxpdGVyYWwoIktleVAiKTsKKyAgICBjYXNl
IDB4MDAyMjoKKyAgICAgICAgcmV0dXJuIEFTQ0lJTGl0ZXJhbCgiQnJhY2tldExlZnQiKTsKKyAg
ICBjYXNlIDB4MDAyMzoKKyAgICAgICAgcmV0dXJuIEFTQ0lJTGl0ZXJhbCgiQnJhY2tldFJpZ2h0
Iik7CisgICAgY2FzZSAweDAwMjQ6CisgICAgICAgIHJldHVybiBBU0NJSUxpdGVyYWwoIkVudGVy
Iik7CisgICAgY2FzZSAweDAwMjU6CisgICAgICAgIHJldHVybiBBU0NJSUxpdGVyYWwoIkNvbnRy
b2xMZWZ0Iik7CisgICAgY2FzZSAweDAwMjY6CisgICAgICAgIHJldHVybiBBU0NJSUxpdGVyYWwo
IktleUEiKTsKKyAgICBjYXNlIDB4MDAyNzoKKyAgICAgICAgcmV0dXJuIEFTQ0lJTGl0ZXJhbCgi
S2V5UyIpOworICAgIGNhc2UgMHgwMDI4OgorICAgICAgICByZXR1cm4gQVNDSUlMaXRlcmFsKCJL
ZXlEIik7CisgICAgY2FzZSAweDAwMjk6CisgICAgICAgIHJldHVybiBBU0NJSUxpdGVyYWwoIktl
eUYiKTsKKyAgICBjYXNlIDB4MDAyQToKKyAgICAgICAgcmV0dXJuIEFTQ0lJTGl0ZXJhbCgiS2V5
RyIpOworICAgIGNhc2UgMHgwMDJCOgorICAgICAgICByZXR1cm4gQVNDSUlMaXRlcmFsKCJLZXlI
Iik7CisgICAgY2FzZSAweDAwMkM6CisgICAgICAgIHJldHVybiBBU0NJSUxpdGVyYWwoIktleUoi
KTsKKyAgICBjYXNlIDB4MDAyRDoKKyAgICAgICAgcmV0dXJuIEFTQ0lJTGl0ZXJhbCgiS2V5SyIp
OworICAgIGNhc2UgMHgwMDJFOgorICAgICAgICByZXR1cm4gQVNDSUlMaXRlcmFsKCJLZXlMIik7
CisgICAgY2FzZSAweDAwMkY6CisgICAgICAgIHJldHVybiBBU0NJSUxpdGVyYWwoIlNlbWljb2xv
biIpOworICAgIGNhc2UgMHgwMDMwOgorICAgICAgICByZXR1cm4gQVNDSUlMaXRlcmFsKCJRdW90
ZSIpOworICAgIGNhc2UgMHgwMDMxOgorICAgICAgICByZXR1cm4gQVNDSUlMaXRlcmFsKCJCYWNr
cXVvdGUiKTsKKyAgICBjYXNlIDB4MDAzMjoKKyAgICAgICAgcmV0dXJuIEFTQ0lJTGl0ZXJhbCgi
U2hpZnRMZWZ0Iik7CisgICAgY2FzZSAweDAwMzM6CisgICAgICAgIHJldHVybiBBU0NJSUxpdGVy
YWwoIkJhY2tzbGFzaCIpOworICAgIGNhc2UgMHgwMDM0OgorICAgICAgICByZXR1cm4gQVNDSUlM
aXRlcmFsKCJLZXlaIik7CisgICAgY2FzZSAweDAwMzU6CisgICAgICAgIHJldHVybiBBU0NJSUxp
dGVyYWwoIktleVgiKTsKKyAgICBjYXNlIDB4MDAzNjoKKyAgICAgICAgcmV0dXJuIEFTQ0lJTGl0
ZXJhbCgiS2V5QyIpOworICAgIGNhc2UgMHgwMDM3OgorICAgICAgICByZXR1cm4gQVNDSUlMaXRl
cmFsKCJLZXlWIik7CisgICAgY2FzZSAweDAwMzg6CisgICAgICAgIHJldHVybiBBU0NJSUxpdGVy
YWwoIktleUIiKTsKKyAgICBjYXNlIDB4MDAzOToKKyAgICAgICAgcmV0dXJuIEFTQ0lJTGl0ZXJh
bCgiS2V5TiIpOworICAgIGNhc2UgMHgwMDNBOgorICAgICAgICByZXR1cm4gQVNDSUlMaXRlcmFs
KCJLZXlNIik7CisgICAgY2FzZSAweDAwM0I6CisgICAgICAgIHJldHVybiBBU0NJSUxpdGVyYWwo
IkNvbW1hIik7CisgICAgY2FzZSAweDAwM0M6CisgICAgICAgIHJldHVybiBBU0NJSUxpdGVyYWwo
IlBlcmlvZCIpOworICAgIGNhc2UgMHgwMDNEOgorICAgICAgICByZXR1cm4gQVNDSUlMaXRlcmFs
KCJTbGFzaCIpOworICAgIGNhc2UgMHgwMDNFOgorICAgICAgICByZXR1cm4gQVNDSUlMaXRlcmFs
KCJTaGlmdFJpZ2h0Iik7CisgICAgY2FzZSAweDAwM0Y6CisgICAgICAgIHJldHVybiBBU0NJSUxp
dGVyYWwoIk51bXBhZE11bHRpcGx5Iik7CisgICAgY2FzZSAweDAwNDA6CisgICAgICAgIHJldHVy
biBBU0NJSUxpdGVyYWwoIkFsdExlZnQiKTsKKyAgICBjYXNlIDB4MDA0MToKKyAgICAgICAgcmV0
dXJuIEFTQ0lJTGl0ZXJhbCgiU3BhY2UiKTsKKyAgICBjYXNlIDB4MDA0MjoKKyAgICAgICAgcmV0
dXJuIEFTQ0lJTGl0ZXJhbCgiQ2Fwc0xvY2siKTsKKyAgICBjYXNlIDB4MDA0MzoKKyAgICAgICAg
cmV0dXJuIEFTQ0lJTGl0ZXJhbCgiRjEiKTsKKyAgICBjYXNlIDB4MDA0NDoKKyAgICAgICAgcmV0
dXJuIEFTQ0lJTGl0ZXJhbCgiRjIiKTsKKyAgICBjYXNlIDB4MDA0NToKKyAgICAgICAgcmV0dXJu
IEFTQ0lJTGl0ZXJhbCgiRjMiKTsKKyAgICBjYXNlIDB4MDA0NjoKKyAgICAgICAgcmV0dXJuIEFT
Q0lJTGl0ZXJhbCgiRjQiKTsKKyAgICBjYXNlIDB4MDA0NzoKKyAgICAgICAgcmV0dXJuIEFTQ0lJ
TGl0ZXJhbCgiRjUiKTsKKyAgICBjYXNlIDB4MDA0ODoKKyAgICAgICAgcmV0dXJuIEFTQ0lJTGl0
ZXJhbCgiRjYiKTsKKyAgICBjYXNlIDB4MDA0OToKKyAgICAgICAgcmV0dXJuIEFTQ0lJTGl0ZXJh
bCgiRjciKTsKKyAgICBjYXNlIDB4MDA0QToKKyAgICAgICAgcmV0dXJuIEFTQ0lJTGl0ZXJhbCgi
RjgiKTsKKyAgICBjYXNlIDB4MDA0QjoKKyAgICAgICAgcmV0dXJuIEFTQ0lJTGl0ZXJhbCgiRjki
KTsKKyAgICBjYXNlIDB4MDA0QzoKKyAgICAgICAgcmV0dXJuIEFTQ0lJTGl0ZXJhbCgiRjEwIik7
CisgICAgY2FzZSAweDAwNEQ6CisgICAgICAgIHJldHVybiBBU0NJSUxpdGVyYWwoIk51bUxvY2si
KTsKKyAgICBjYXNlIDB4MDA0RToKKyAgICAgICAgcmV0dXJuIEFTQ0lJTGl0ZXJhbCgiU2Nyb2xs
TG9jayIpOworICAgIGNhc2UgMHgwMDRGOgorICAgICAgICByZXR1cm4gQVNDSUlMaXRlcmFsKCJO
dW1wYWQ3Iik7CisgICAgY2FzZSAweDAwNTA6CisgICAgICAgIHJldHVybiBBU0NJSUxpdGVyYWwo
Ik51bXBhZDgiKTsKKyAgICBjYXNlIDB4MDA1MToKKyAgICAgICAgcmV0dXJuIEFTQ0lJTGl0ZXJh
bCgiTnVtcGFkOSIpOworICAgIGNhc2UgMHgwMDUyOgorICAgICAgICByZXR1cm4gQVNDSUlMaXRl
cmFsKCJOdW1wYWRTdWJ0cmFjdCIpOworICAgIGNhc2UgMHgwMDUzOgorICAgICAgICByZXR1cm4g
QVNDSUlMaXRlcmFsKCJOdW1wYWQ0Iik7CisgICAgY2FzZSAweDAwNTQ6CisgICAgICAgIHJldHVy
biBBU0NJSUxpdGVyYWwoIk51bXBhZDUiKTsKKyAgICBjYXNlIDB4MDA1NToKKyAgICAgICAgcmV0
dXJuIEFTQ0lJTGl0ZXJhbCgiTnVtcGFkNiIpOworICAgIGNhc2UgMHgwMDU2OgorICAgICAgICBy
ZXR1cm4gQVNDSUlMaXRlcmFsKCJOdW1wYWRBZGQiKTsKKyAgICBjYXNlIDB4MDA1NzoKKyAgICAg
ICAgcmV0dXJuIEFTQ0lJTGl0ZXJhbCgiTnVtcGFkMSIpOworICAgIGNhc2UgMHgwMDU4OgorICAg
ICAgICByZXR1cm4gQVNDSUlMaXRlcmFsKCJOdW1wYWQyIik7CisgICAgY2FzZSAweDAwNTk6Cisg
ICAgICAgIHJldHVybiBBU0NJSUxpdGVyYWwoIk51bXBhZDMiKTsKKyAgICBjYXNlIDB4MDA1QToK
KyAgICAgICAgcmV0dXJuIEFTQ0lJTGl0ZXJhbCgiTnVtcGFkMCIpOworICAgIGNhc2UgMHgwMDVC
OgorICAgICAgICByZXR1cm4gQVNDSUlMaXRlcmFsKCJOdW1wYWREZWNpbWFsIik7CisgICAgY2Fz
ZSAweDAwNUU6CisgICAgICAgIHJldHVybiBBU0NJSUxpdGVyYWwoIkludGxCYWNrc2xhc2giKTsK
KyAgICBjYXNlIDB4MDA1RjoKKyAgICAgICAgcmV0dXJuIEFTQ0lJTGl0ZXJhbCgiRjExIik7Cisg
ICAgY2FzZSAweDAwNjA6CisgICAgICAgIHJldHVybiBBU0NJSUxpdGVyYWwoIkYxMiIpOworICAg
IGNhc2UgMHgwMDYxOgorICAgICAgICByZXR1cm4gQVNDSUlMaXRlcmFsKCJJbnRsUm8iKTsKKyAg
ICBjYXNlIDB4MDA2NDoKKyAgICAgICAgcmV0dXJuIEFTQ0lJTGl0ZXJhbCgiQ29udmVydCIpOwor
ICAgIGNhc2UgMHgwMDY1OgorICAgICAgICByZXR1cm4gQVNDSUlMaXRlcmFsKCJLYW5hTW9kZSIp
OworICAgIGNhc2UgMHgwMDY2OgorICAgICAgICByZXR1cm4gQVNDSUlMaXRlcmFsKCJOb25Db252
ZXJ0Iik7CisgICAgY2FzZSAweDAwNjg6CisgICAgICAgIHJldHVybiBBU0NJSUxpdGVyYWwoIk51
bXBhZEVudGVyIik7CisgICAgY2FzZSAweDAwNjk6CisgICAgICAgIHJldHVybiBBU0NJSUxpdGVy
YWwoIkNvbnRyb2xSaWdodCIpOworICAgIGNhc2UgMHgwMDZBOgorICAgICAgICByZXR1cm4gQVND
SUlMaXRlcmFsKCJOdW1wYWREaXZpZGUiKTsKKyAgICBjYXNlIDB4MDA2QjoKKyAgICAgICAgcmV0
dXJuIEFTQ0lJTGl0ZXJhbCgiUHJpbnRTY3JlZW4iKTsKKyAgICBjYXNlIDB4MDA2QzoKKyAgICAg
ICAgcmV0dXJuIEFTQ0lJTGl0ZXJhbCgiQWx0UmlnaHQiKTsKKyAgICBjYXNlIDB4MDA2RToKKyAg
ICAgICAgcmV0dXJuIEFTQ0lJTGl0ZXJhbCgiSG9tZSIpOworICAgIGNhc2UgMHgwMDZGOgorICAg
ICAgICByZXR1cm4gQVNDSUlMaXRlcmFsKCJBcnJvd1VwIik7CisgICAgY2FzZSAweDAwNzA6Cisg
ICAgICAgIHJldHVybiBBU0NJSUxpdGVyYWwoIlBhZ2VVcCIpOworICAgIGNhc2UgMHgwMDcxOgor
ICAgICAgICByZXR1cm4gQVNDSUlMaXRlcmFsKCJBcnJvd0xlZnQiKTsKKyAgICBjYXNlIDB4MDA3
MjoKKyAgICAgICAgcmV0dXJuIEFTQ0lJTGl0ZXJhbCgiQXJyb3dSaWdodCIpOworICAgIGNhc2Ug
MHgwMDczOgorICAgICAgICByZXR1cm4gQVNDSUlMaXRlcmFsKCJFbmQiKTsKKyAgICBjYXNlIDB4
MDA3NDoKKyAgICAgICAgcmV0dXJuIEFTQ0lJTGl0ZXJhbCgiQXJyb3dEb3duIik7CisgICAgY2Fz
ZSAweDAwNzU6CisgICAgICAgIHJldHVybiBBU0NJSUxpdGVyYWwoIlBhZ2VEb3duIik7CisgICAg
Y2FzZSAweDAwNzY6CisgICAgICAgIHJldHVybiBBU0NJSUxpdGVyYWwoIkluc2VydCIpOworICAg
IGNhc2UgMHgwMDc3OgorICAgICAgICByZXR1cm4gQVNDSUlMaXRlcmFsKCJEZWxldGUiKTsKKyAg
ICBjYXNlIDB4MDA3OToKKyAgICAgICAgcmV0dXJuIEFTQ0lJTGl0ZXJhbCgiQXVkaW9Wb2x1bWVN
dXRlIik7CisgICAgY2FzZSAweDAwN0E6CisgICAgICAgIHJldHVybiBBU0NJSUxpdGVyYWwoIkF1
ZGlvVm9sdW1lRG93biIpOworICAgIGNhc2UgMHgwMDdCOgorICAgICAgICByZXR1cm4gQVNDSUlM
aXRlcmFsKCJBdWRpb1ZvbHVtZVVwIik7CisgICAgY2FzZSAweDAwN0Q6CisgICAgICAgIHJldHVy
biBBU0NJSUxpdGVyYWwoIk51bXBhZEVxdWFsIik7CisgICAgY2FzZSAweDAwN0Y6CisgICAgICAg
IHJldHVybiBBU0NJSUxpdGVyYWwoIlBhdXNlIik7CisgICAgY2FzZSAweDAwODE6CisgICAgICAg
IHJldHVybiBBU0NJSUxpdGVyYWwoIk51bXBhZENvbW1hIik7CisgICAgY2FzZSAweDAwODI6Cisg
ICAgICAgIHJldHVybiBBU0NJSUxpdGVyYWwoIkxhbmcxIik7CisgICAgY2FzZSAweDAwODM6Cisg
ICAgICAgIHJldHVybiBBU0NJSUxpdGVyYWwoIkxhbmcyIik7CisgICAgY2FzZSAweDAwODQ6Cisg
ICAgICAgIHJldHVybiBBU0NJSUxpdGVyYWwoIkludGxZZW4iKTsKKyAgICBjYXNlIDB4MDA4NToK
KyAgICAgICAgcmV0dXJuIEFTQ0lJTGl0ZXJhbCgiT1NMZWZ0Iik7CisgICAgY2FzZSAweDAwODY6
CisgICAgICAgIHJldHVybiBBU0NJSUxpdGVyYWwoIk9TUmlnaHQiKTsKKyAgICBjYXNlIDB4MDA4
NzoKKyAgICAgICAgcmV0dXJuIEFTQ0lJTGl0ZXJhbCgiQ29udGV4dE1lbnUiKTsKKyAgICBjYXNl
IDB4MDA4ODoKKyAgICAgICAgcmV0dXJuIEFTQ0lJTGl0ZXJhbCgiQnJvd3NlclN0b3AiKTsKKyAg
ICBjYXNlIDB4MDA4OToKKyAgICAgICAgcmV0dXJuIEFTQ0lJTGl0ZXJhbCgiQWdhaW4iKTsKKyAg
ICBjYXNlIDB4MDA4QToKKyAgICAgICAgcmV0dXJuIEFTQ0lJTGl0ZXJhbCgiUHJvcHMiKTsKKyAg
ICBjYXNlIDB4MDA4QjoKKyAgICAgICAgcmV0dXJuIEFTQ0lJTGl0ZXJhbCgiVW5kbyIpOworICAg
IGNhc2UgMHgwMDhDOgorICAgICAgICByZXR1cm4gQVNDSUlMaXRlcmFsKCJTZWxlY3QiKTsKKyAg
ICBjYXNlIDB4MDA4RDoKKyAgICAgICAgcmV0dXJuIEFTQ0lJTGl0ZXJhbCgiQ29weSIpOworICAg
IGNhc2UgMHgwMDhFOgorICAgICAgICByZXR1cm4gQVNDSUlMaXRlcmFsKCJPcGVuIik7CisgICAg
Y2FzZSAweDAwOEY6CisgICAgICAgIHJldHVybiBBU0NJSUxpdGVyYWwoIlBhc3RlIik7CisgICAg
Y2FzZSAweDAwOTA6CisgICAgICAgIHJldHVybiBBU0NJSUxpdGVyYWwoIkZpbmQiKTsKKyAgICBj
YXNlIDB4MDA5MToKKyAgICAgICAgcmV0dXJuIEFTQ0lJTGl0ZXJhbCgiQ3V0Iik7CisgICAgY2Fz
ZSAweDAwOTI6CisgICAgICAgIHJldHVybiBBU0NJSUxpdGVyYWwoIkhlbHAiKTsKKyAgICBjYXNl
IDB4MDA5NDoKKyAgICAgICAgcmV0dXJuIEFTQ0lJTGl0ZXJhbCgiTGF1bmNoQXBwMiIpOworICAg
IGNhc2UgMHgwMDk3OgorICAgICAgICByZXR1cm4gQVNDSUlMaXRlcmFsKCJXYWtlVXAiKTsKKyAg
ICBjYXNlIDB4MDA5ODoKKyAgICAgICAgcmV0dXJuIEFTQ0lJTGl0ZXJhbCgiTGF1bmNoQXBwMSIp
OworICAgIGNhc2UgMHgwMEEzOgorICAgICAgICByZXR1cm4gQVNDSUlMaXRlcmFsKCJMYXVuY2hN
YWlsIik7CisgICAgY2FzZSAweDAwQTQ6CisgICAgICAgIHJldHVybiBBU0NJSUxpdGVyYWwoIkJy
b3dzZXJGYXZvcml0ZXMiKTsKKyAgICBjYXNlIDB4MDBBNjoKKyAgICAgICAgcmV0dXJuIEFTQ0lJ
TGl0ZXJhbCgiQnJvd3NlckJhY2siKTsKKyAgICBjYXNlIDB4MDBBNzoKKyAgICAgICAgcmV0dXJu
IEFTQ0lJTGl0ZXJhbCgiQnJvd3NlckZvcndhcmQiKTsKKyAgICBjYXNlIDB4MDBBOToKKyAgICAg
ICAgcmV0dXJuIEFTQ0lJTGl0ZXJhbCgiRWplY3QiKTsKKyAgICBjYXNlIDB4MDBBQjoKKyAgICAg
ICAgcmV0dXJuIEFTQ0lJTGl0ZXJhbCgiTWVkaWFUcmFja05leHQiKTsKKyAgICBjYXNlIDB4MDBB
QzoKKyAgICAgICAgcmV0dXJuIEFTQ0lJTGl0ZXJhbCgiTWVkaWFQbGF5UGF1c2UiKTsKKyAgICBj
YXNlIDB4MDBBRDoKKyAgICAgICAgcmV0dXJuIEFTQ0lJTGl0ZXJhbCgiTWVkaWFUcmFja1ByZXZp
b3VzIik7CisgICAgY2FzZSAweDAwQUU6CisgICAgICAgIHJldHVybiBBU0NJSUxpdGVyYWwoIk1l
ZGlhU3RvcCIpOworICAgIGNhc2UgMHgwMEIzOgorICAgICAgICByZXR1cm4gQVNDSUlMaXRlcmFs
KCJMYXVuY2hNZWRpYVBsYXllciIpOworICAgIGNhc2UgMHgwMEI0OgorICAgICAgICByZXR1cm4g
QVNDSUlMaXRlcmFsKCJCcm93c2VySG9tZSIpOworICAgIGNhc2UgMHgwMEI1OgorICAgICAgICBy
ZXR1cm4gQVNDSUlMaXRlcmFsKCJCcm93c2VyUmVmcmVzaCIpOworICAgIGNhc2UgMHgwMEJGOgor
ICAgICAgICByZXR1cm4gQVNDSUlMaXRlcmFsKCJGMTMiKTsKKyAgICBjYXNlIDB4MDBDMDoKKyAg
ICAgICAgcmV0dXJuIEFTQ0lJTGl0ZXJhbCgiRjE0Iik7CisgICAgY2FzZSAweDAwQzE6CisgICAg
ICAgIHJldHVybiBBU0NJSUxpdGVyYWwoIkYxNSIpOworICAgIGNhc2UgMHgwMEMyOgorICAgICAg
ICByZXR1cm4gQVNDSUlMaXRlcmFsKCJGMTYiKTsKKyAgICBjYXNlIDB4MDBDMzoKKyAgICAgICAg
cmV0dXJuIEFTQ0lJTGl0ZXJhbCgiRjE3Iik7CisgICAgY2FzZSAweDAwQzQ6CisgICAgICAgIHJl
dHVybiBBU0NJSUxpdGVyYWwoIkYxOCIpOworICAgIGNhc2UgMHgwMEM1OgorICAgICAgICByZXR1
cm4gQVNDSUlMaXRlcmFsKCJGMTkiKTsKKyAgICBjYXNlIDB4MDBDNjoKKyAgICAgICAgcmV0dXJu
IEFTQ0lJTGl0ZXJhbCgiRjIwIik7CisgICAgY2FzZSAweDAwQzc6CisgICAgICAgIHJldHVybiBB
U0NJSUxpdGVyYWwoIkYyMSIpOworICAgIGNhc2UgMHgwMEM4OgorICAgICAgICByZXR1cm4gQVND
SUlMaXRlcmFsKCJGMjIiKTsKKyAgICBjYXNlIDB4MDBDOToKKyAgICAgICAgcmV0dXJuIEFTQ0lJ
TGl0ZXJhbCgiRjIzIik7CisgICAgY2FzZSAweDAwQ0E6CisgICAgICAgIHJldHVybiBBU0NJSUxp
dGVyYWwoIkYyNCIpOworICAgIGNhc2UgMHgwMEUxOgorICAgICAgICByZXR1cm4gQVNDSUlMaXRl
cmFsKCJCcm93c2VyU2VhcmNoIik7CisgICAgZGVmYXVsdDoKKyAgICAgICAgcmV0dXJuIEFTQ0lJ
TGl0ZXJhbCgiVW5pZGVudGlmaWVkIik7CisgICAgfQorfQorCiAvLyBGSVhNRTogVGhpcyBpcyBp
bmNvbXBsZXRlLiAgV2Ugc2hvdWxkIGNoYW5nZSB0aGlzIHRvIG1pcnJvcgogLy8gbW9yZSBsaWtl
IHdoYXQgRmlyZWZveCBkb2VzLCBhbmQgZ2VuZXJhdGUgdGhlc2Ugc3dpdGNoIHN0YXRlbWVudHMK
IC8vIGF0IGJ1aWxkIHRpbWUuCkBAIC01NzQsNiArMTI1NSw4IEBAIFBsYXRmb3JtS2V5Ym9hcmRF
dmVudDo6UGxhdGZvcm1LZXlib2FyZEV2ZW50KEdka0V2ZW50S2V5KiBldmVudCwgY29uc3QgQ29t
cG9zaXRpCiAgICAgOiBQbGF0Zm9ybUV2ZW50KGV2ZW50VHlwZUZvckdka0tleUV2ZW50KGV2ZW50
KSwgbW9kaWZpZXJzRm9yR2RrS2V5RXZlbnQoZXZlbnQpLCBjdXJyZW50VGltZSgpKQogICAgICwg
bV90ZXh0KGNvbXBvc2l0aW9uUmVzdWx0cy5zaW1wbGVTdHJpbmcubGVuZ3RoKCkgPyBjb21wb3Np
dGlvblJlc3VsdHMuc2ltcGxlU3RyaW5nIDogc2luZ2xlQ2hhcmFjdGVyU3RyaW5nKGV2ZW50LT5r
ZXl2YWwpKQogICAgICwgbV91bm1vZGlmaWVkVGV4dChtX3RleHQpCisgICAgLCBtX2tleShrZXlW
YWx1ZUZvckdka0tleUNvZGUoZXZlbnQtPmtleXZhbCkpCisgICAgLCBtX2NvZGUoa2V5Q29kZUZv
ckhhcmR3YXJlS2V5Q29kZShldmVudC0+aGFyZHdhcmVfa2V5Y29kZSkpCiAgICAgLCBtX2tleUlk
ZW50aWZpZXIoa2V5SWRlbnRpZmllckZvckdka0tleUNvZGUoZXZlbnQtPmtleXZhbCkpCiAgICAg
LCBtX3dpbmRvd3NWaXJ0dWFsS2V5Q29kZSh3aW5kb3dzS2V5Q29kZUZvckdka0tleUNvZGUoZXZl
bnQtPmtleXZhbCkpCiAgICAgLCBtX2F1dG9SZXBlYXQoZmFsc2UpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9TaGFyZWQvV2ViRXZlbnQuaCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJF
dmVudC5oCmluZGV4IDc2MmE2NzE3ZWU1YWI2ZTcwMTM0NGEyOTZiZjNhMWNmMzRiNThkNzQuLjg1
ZGVjMmY1MTE2YzkwNGM0ODQ5ZmZhOGRhMWQ3OGNmMTdlYTAzMjkgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL1NoYXJlZC9XZWJFdmVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9X
ZWJFdmVudC5oCkBAIC0yNDYsNyArMjQ2LDcgQEAgcHVibGljOgogI2lmIFVTRShBUFBLSVQpCiAg
ICAgV2ViS2V5Ym9hcmRFdmVudChUeXBlLCBjb25zdCBTdHJpbmcmIHRleHQsIGNvbnN0IFN0cmlu
ZyYgdW5tb2RpZmllZFRleHQsIGNvbnN0IFN0cmluZyYga2V5LCBjb25zdCBTdHJpbmcmIGNvZGUs
IGNvbnN0IFN0cmluZyYga2V5SWRlbnRpZmllciwgaW50IHdpbmRvd3NWaXJ0dWFsS2V5Q29kZSwg
aW50IG5hdGl2ZVZpcnR1YWxLZXlDb2RlLCBpbnQgbWFjQ2hhckNvZGUsIGJvb2wgaGFuZGxlZEJ5
SW5wdXRNZXRob2QsIGNvbnN0IFZlY3RvcjxXZWJDb3JlOjpLZXlwcmVzc0NvbW1hbmQ+JiwgYm9v
bCBpc0F1dG9SZXBlYXQsIGJvb2wgaXNLZXlwYWQsIGJvb2wgaXNTeXN0ZW1LZXksIE1vZGlmaWVy
cywgZG91YmxlIHRpbWVzdGFtcCk7CiAjZWxpZiBQTEFURk9STShHVEspCi0gICAgV2ViS2V5Ym9h
cmRFdmVudChUeXBlLCBjb25zdCBTdHJpbmcmIHRleHQsIGNvbnN0IFN0cmluZyYga2V5SWRlbnRp
ZmllciwgaW50IHdpbmRvd3NWaXJ0dWFsS2V5Q29kZSwgaW50IG5hdGl2ZVZpcnR1YWxLZXlDb2Rl
LCBib29sIGhhbmRsZWRCeUlucHV0TWV0aG9kLCBWZWN0b3I8U3RyaW5nPiYmIGNvbW1hbmRzLCBi
b29sIGlzS2V5cGFkLCBNb2RpZmllcnMsIGRvdWJsZSB0aW1lc3RhbXApOworICAgIFdlYktleWJv
YXJkRXZlbnQoVHlwZSwgY29uc3QgU3RyaW5nJiB0ZXh0LCBjb25zdCBTdHJpbmcmIGtleSwgY29u
c3QgU3RyaW5nJiBjb2RlLCBjb25zdCBTdHJpbmcmIGtleUlkZW50aWZpZXIsIGludCB3aW5kb3dz
VmlydHVhbEtleUNvZGUsIGludCBuYXRpdmVWaXJ0dWFsS2V5Q29kZSwgYm9vbCBoYW5kbGVkQnlJ
bnB1dE1ldGhvZCwgVmVjdG9yPFN0cmluZz4mJiBjb21tYW5kcywgYm9vbCBpc0tleXBhZCwgTW9k
aWZpZXJzLCBkb3VibGUgdGltZXN0YW1wKTsKICNlbHNlCiAgICAgV2ViS2V5Ym9hcmRFdmVudChU
eXBlLCBjb25zdCBTdHJpbmcmIHRleHQsIGNvbnN0IFN0cmluZyYgdW5tb2RpZmllZFRleHQsIGNv
bnN0IFN0cmluZyYga2V5SWRlbnRpZmllciwgaW50IHdpbmRvd3NWaXJ0dWFsS2V5Q29kZSwgaW50
IG5hdGl2ZVZpcnR1YWxLZXlDb2RlLCBpbnQgbWFjQ2hhckNvZGUsIGJvb2wgaXNBdXRvUmVwZWF0
LCBib29sIGlzS2V5cGFkLCBib29sIGlzU3lzdGVtS2V5LCBNb2RpZmllcnMsIGRvdWJsZSB0aW1l
c3RhbXApOwogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViS2V5
Ym9hcmRFdmVudC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViS2V5Ym9hcmRFdmVudC5j
cHAKaW5kZXggODE3ZDJmMDgyNTdhY2RjOGQ2NWQxYTM1N2ViY2VlNDJhMmVjN2Y4NC4uYTZjYmNh
YmNlMmFjODdjNGUyNjU5NmVlZmEwZDgyZmJmZGRiMTk1NSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvU2hhcmVkL1dlYktleWJvYXJkRXZlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1No
YXJlZC9XZWJLZXlib2FyZEV2ZW50LmNwcApAQCAtNTgsMTAgKzU4LDEyIEBAIFdlYktleWJvYXJk
RXZlbnQ6OldlYktleWJvYXJkRXZlbnQoVHlwZSB0eXBlLCBjb25zdCBTdHJpbmcmIHRleHQsIGNv
bnN0IFN0cmluZyYKIAogI2VsaWYgUExBVEZPUk0oR1RLKQogCi1XZWJLZXlib2FyZEV2ZW50OjpX
ZWJLZXlib2FyZEV2ZW50KFR5cGUgdHlwZSwgY29uc3QgU3RyaW5nJiB0ZXh0LCBjb25zdCBTdHJp
bmcmIGtleUlkZW50aWZpZXIsIGludCB3aW5kb3dzVmlydHVhbEtleUNvZGUsIGludCBuYXRpdmVW
aXJ0dWFsS2V5Q29kZSwgYm9vbCBoYW5kbGVkQnlJbnB1dE1ldGhvZCwgVmVjdG9yPFN0cmluZz4m
JiBjb21tYW5kcywgYm9vbCBpc0tleXBhZCwgTW9kaWZpZXJzIG1vZGlmaWVycywgZG91YmxlIHRp
bWVzdGFtcCkKK1dlYktleWJvYXJkRXZlbnQ6OldlYktleWJvYXJkRXZlbnQoVHlwZSB0eXBlLCBj
b25zdCBTdHJpbmcmIHRleHQsIGNvbnN0IFN0cmluZyYga2V5LCBjb25zdCBTdHJpbmcmIGNvZGUs
IGNvbnN0IFN0cmluZyYga2V5SWRlbnRpZmllciwgaW50IHdpbmRvd3NWaXJ0dWFsS2V5Q29kZSwg
aW50IG5hdGl2ZVZpcnR1YWxLZXlDb2RlLCBib29sIGhhbmRsZWRCeUlucHV0TWV0aG9kLCBWZWN0
b3I8U3RyaW5nPiYmIGNvbW1hbmRzLCBib29sIGlzS2V5cGFkLCBNb2RpZmllcnMgbW9kaWZpZXJz
LCBkb3VibGUgdGltZXN0YW1wKQogICAgIDogV2ViRXZlbnQodHlwZSwgbW9kaWZpZXJzLCB0aW1l
c3RhbXApCiAgICAgLCBtX3RleHQodGV4dCkKICAgICAsIG1fdW5tb2RpZmllZFRleHQodGV4dCkK
KyAgICAsIG1fa2V5KGtleSkKKyAgICAsIG1fY29kZShjb2RlKQogICAgICwgbV9rZXlJZGVudGlm
aWVyKGtleUlkZW50aWZpZXIpCiAgICAgLCBtX3dpbmRvd3NWaXJ0dWFsS2V5Q29kZSh3aW5kb3dz
VmlydHVhbEtleUNvZGUpCiAgICAgLCBtX25hdGl2ZVZpcnR1YWxLZXlDb2RlKG5hdGl2ZVZpcnR1
YWxLZXlDb2RlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL2d0ay9XZWJFdmVu
dEZhY3RvcnkuY3BwIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL2d0ay9XZWJFdmVudEZhY3Rvcnku
Y3BwCmluZGV4IDJkNjYzOTMyZDkyYzI4MGI4MmI0NzI5MTA5ZDBhMTgxNDU5YmNhZTkuLjhlZjBm
ZGI2NmRkMmJkYWNjNzc5N2Q2ZmMwNWJmNDllMTJmMWNlMjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1NoYXJlZC9ndGsvV2ViRXZlbnRGYWN0b3J5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9TaGFyZWQvZ3RrL1dlYkV2ZW50RmFjdG9yeS5jcHAKQEAgLTE5Myw2ICsxOTMsOCBAQCBXZWJL
ZXlib2FyZEV2ZW50IFdlYkV2ZW50RmFjdG9yeTo6Y3JlYXRlV2ViS2V5Ym9hcmRFdmVudChjb25z
dCBHZGtFdmVudCogZXZlbnQsCiAgICAgcmV0dXJuIFdlYktleWJvYXJkRXZlbnQoCiAgICAgICAg
IGV2ZW50LT50eXBlID09IEdES19LRVlfUkVMRUFTRSA/IFdlYkV2ZW50OjpLZXlVcCA6IFdlYkV2
ZW50OjpLZXlEb3duLAogICAgICAgICBjb21wb3NpdGlvblJlc3VsdHMuc2ltcGxlU3RyaW5nLmxl
bmd0aCgpID8gY29tcG9zaXRpb25SZXN1bHRzLnNpbXBsZVN0cmluZyA6IFBsYXRmb3JtS2V5Ym9h
cmRFdmVudDo6c2luZ2xlQ2hhcmFjdGVyU3RyaW5nKGV2ZW50LT5rZXkua2V5dmFsKSwKKyAgICAg
ICAgUGxhdGZvcm1LZXlib2FyZEV2ZW50OjprZXlWYWx1ZUZvckdka0tleUNvZGUoZXZlbnQtPmtl
eS5rZXl2YWwpLAorICAgICAgICBQbGF0Zm9ybUtleWJvYXJkRXZlbnQ6OmtleUNvZGVGb3JIYXJk
d2FyZUtleUNvZGUoZXZlbnQtPmtleS5oYXJkd2FyZV9rZXljb2RlKSwKICAgICAgICAgUGxhdGZv
cm1LZXlib2FyZEV2ZW50OjprZXlJZGVudGlmaWVyRm9yR2RrS2V5Q29kZShldmVudC0+a2V5Lmtl
eXZhbCksCiAgICAgICAgIFBsYXRmb3JtS2V5Ym9hcmRFdmVudDo6d2luZG93c0tleUNvZGVGb3JH
ZGtLZXlDb2RlKGV2ZW50LT5rZXkua2V5dmFsKSwKICAgICAgICAgc3RhdGljX2Nhc3Q8aW50Pihl
dmVudC0+a2V5LmtleXZhbCksCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9D
aGFuZ2VMb2cKaW5kZXggOWRmZWNhMDMzY2IwNDIyM2JmZTBlMGFkNjBjMzJiYzNkNWFkNTc2NC4u
MjM0MjAzYzg0NTI4ZDI0ZTczMzRlMThkM2RhNzQyMzcwYWI5YWM0NSAxMDA2NDQKLS0tIGEvVG9v
bHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDE3
LTAxLTA2ICBHdXN0YXZvIE5vcm9uaGEgU2lsdmEgIDxndXN0YXZvLm5vcm9uaGFAY29sbGFib3Jh
LmNvLnVrPgorCisgICAgICAgIFtHVEtdIFNob3VsZCBzdXBwb3J0IGtleSBhbmQgY29kZSBwcm9w
ZXJ0aWVzIG9uIGtleWJvYXJkIGV2ZW50cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTY2NzU5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL2d0ay9FdmVudFNlbmRlclByb3h5
R3RrLmNwcDoKKyAgICAgICAgKFdUUjo6Z2V0R0RLS2V5U3ltRm9yS2V5UmVmKTogYWRkIG1pc3Np
bmcgbW9kaWZpZXIga2V5cyB3aGljaCB3ZXJlIGJlaW5nIHJlcG9ydGVkIGFzICdsJyBhbmQgJ3In
IG9ubHkKKyAgICAgICAgb24gdGVzdHMuCisKIDIwMTctMDEtMDMgIENhcmxvcyBHYXJjaWEgQ2Ft
cG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtHVEtdIEhUVFAgYXV0aCBsYXlv
dXQgdGVzdHMgYXJlIGZsYWt5CmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL2d0
ay9FdmVudFNlbmRlclByb3h5R3RrLmNwcCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvZ3RrL0V2
ZW50U2VuZGVyUHJveHlHdGsuY3BwCmluZGV4IDAyM2VkYzgxMDVjNTUxMGVhYmZmYzVlMjBjMzNh
NDcxNjcxNjNhM2YuLjVhYjIxY2Y0ODRhYTNlNWQ5ZGRjODBhYTBjZDU2YjcxZDA3OGZjNWIgMTAw
NjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvZ3RrL0V2ZW50U2VuZGVyUHJveHlHdGsu
Y3BwCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvZ3RrL0V2ZW50U2VuZGVyUHJveHlHdGsu
Y3BwCkBAIC0yMjYsNiArMjI2LDE4IEBAIGludCBnZXRHREtLZXlTeW1Gb3JLZXlSZWYoV0tTdHJp
bmdSZWYga2V5UmVmLCB1bnNpZ25lZCBsb2NhdGlvbiwgZ3VpbnQqIG1vZGlmaWVyCiAgICAgICAg
IHJldHVybiBHREtfS0VZX1ZvaWRTeW1ib2w7CiAgICAgfQogCisgICAgaWYgKFdLU3RyaW5nSXNF
cXVhbFRvVVRGOENTdHJpbmcoa2V5UmVmLCAibGVmdENvbnRyb2wiKSkKKyAgICAgICAgcmV0dXJu
IEdES19LRVlfQ29udHJvbF9MOworICAgIGlmIChXS1N0cmluZ0lzRXF1YWxUb1VURjhDU3RyaW5n
KGtleVJlZiwgInJpZ2h0Q29udHJvbCIpKQorICAgICAgICByZXR1cm4gR0RLX0tFWV9Db250cm9s
X1I7CisgICAgaWYgKFdLU3RyaW5nSXNFcXVhbFRvVVRGOENTdHJpbmcoa2V5UmVmLCAibGVmdFNo
aWZ0IikpCisgICAgICAgIHJldHVybiBHREtfS0VZX1NoaWZ0X0w7CisgICAgaWYgKFdLU3RyaW5n
SXNFcXVhbFRvVVRGOENTdHJpbmcoa2V5UmVmLCAicmlnaHRTaGlmdCIpKQorICAgICAgICByZXR1
cm4gR0RLX0tFWV9TaGlmdF9SOworICAgIGlmIChXS1N0cmluZ0lzRXF1YWxUb1VURjhDU3RyaW5n
KGtleVJlZiwgImxlZnRBbHQiKSkKKyAgICAgICAgcmV0dXJuIEdES19LRVlfQWx0X0w7CisgICAg
aWYgKFdLU3RyaW5nSXNFcXVhbFRvVVRGOENTdHJpbmcoa2V5UmVmLCAicmlnaHRBbHQiKSkKKyAg
ICAgICAgcmV0dXJuIEdES19LRVlfQWx0X1I7CiAgICAgaWYgKFdLU3RyaW5nSXNFcXVhbFRvVVRG
OENTdHJpbmcoa2V5UmVmLCAibGVmdEFycm93IikpCiAgICAgICAgIHJldHVybiBHREtfS0VZX0xl
ZnQ7CiAgICAgaWYgKFdLU3RyaW5nSXNFcXVhbFRvVVRGOENTdHJpbmcoa2V5UmVmLCAicmlnaHRB
cnJvdyIpKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCmluZGV4IGE2MDRiOTBkNTZlOTU0MjMwMmMyZWIzNDQyNDkxZDRkODM3NDQ0NWUu
LjcyZmY4ODE0Y2Y5NmRmZjU3MjA0NTBhYjRiOTc4YTk0MzMyYmJhNDAgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwxNCBAQAorMjAxNy0wMS0wNiAgR3VzdGF2byBOb3JvbmhhIFNpbHZhICA8Z3VzdGF2by5ub3Jv
bmhhQGNvbGxhYm9yYS5jby51az4KKworICAgICAgICBbR1RLXSBTaG91bGQgc3VwcG9ydCBrZXkg
YW5kIGNvZGUgcHJvcGVydGllcyBvbiBrZXlib2FyZCBldmVudHMKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2Njc1OQorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogcGxhdGZvcm0vZ3RrL2Zhc3QvZXZlbnRz
L2tleWJvYXJkZXZlbnQtY29kZS1leHBlY3RlZC50eHQ6IEFkZGVkLiBIYXJkd2FyZQorICAgICAg
ICBjb2RlcyBhcmUgZGlmZmVyZW50IGZvciBNYWMgYW5kIExpbnV4IGZvciBhIGNvdXBsZSBvZiBr
ZXlzLCBzbyB3ZSBuZWVkCisgICAgICAgIHBsYXRmb3JtLXNwZWNpZmljIHJlc3VsdHMuCisKIDIw
MTctMDEtMDMgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgogCiAg
ICAgICAgIFtHVEtdIEhUVFAgYXV0aCBsYXlvdXQgdGVzdHMgYXJlIGZsYWt5CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvZmFzdC9ldmVudHMva2V5Ym9hcmRldmVudC1jb2Rl
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9mYXN0L2V2ZW50cy9rZXli
b2FyZGV2ZW50LWNvZGUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjE1ZmQyOTFhYjFhODAxNmU1
NmE0NjY1NjY2Yzc1YTdiNjVmOTAxNTgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9ndGsvZmFzdC9ldmVudHMva2V5Ym9hcmRldmVudC1jb2RlLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDE5MCBAQAorVGVzdCB0aGUgY29kZSBhdHRyaWJ1dGUgb24gS2V5Ym9hcmRFdmVu
dC4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdl
cywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKKworKiBrZXlkb3duCitQQVNTIGtl
eWJvYXJkRXZlbnQuY29kZSBpcyAiU3BhY2UiCisqIGtleXVwCitQQVNTIGtleWJvYXJkRXZlbnQu
Y29kZSBpcyAiU3BhY2UiCisKKyoga2V5ZG93bgorUEFTUyBrZXlib2FyZEV2ZW50LmNvZGUgaXMg
IktleUEiCisqIGtleXVwCitQQVNTIGtleWJvYXJkRXZlbnQuY29kZSBpcyAiS2V5QSIKKworKiBr
ZXlkb3duCitQQVNTIGtleWJvYXJkRXZlbnQuY29kZSBpcyAiQmFja3NwYWNlIgorKiBrZXl1cAor
UEFTUyBrZXlib2FyZEV2ZW50LmNvZGUgaXMgIkJhY2tzcGFjZSIKKworKiBrZXlkb3duCitGQUlM
IGtleWJvYXJkRXZlbnQuY29kZSBzaG91bGQgYmUgTWludXMuIFdhcyBFc2NhcGUuCisqIGtleXVw
CitGQUlMIGtleWJvYXJkRXZlbnQuY29kZSBzaG91bGQgYmUgTWludXMuIFdhcyBFc2NhcGUuCisK
Kyoga2V5ZG93bgorUEFTUyBrZXlib2FyZEV2ZW50LmNvZGUgaXMgIkFycm93TGVmdCIKKyoga2V5
dXAKK1BBU1Mga2V5Ym9hcmRFdmVudC5jb2RlIGlzICJBcnJvd0xlZnQiCisKKyoga2V5ZG93bgor
UEFTUyBrZXlib2FyZEV2ZW50LmNvZGUgaXMgIkFycm93UmlnaHQiCisqIGtleXVwCitQQVNTIGtl
eWJvYXJkRXZlbnQuY29kZSBpcyAiQXJyb3dSaWdodCIKKworKiBrZXlkb3duCitQQVNTIGtleWJv
YXJkRXZlbnQuY29kZSBpcyAiQXJyb3dVcCIKKyoga2V5dXAKK1BBU1Mga2V5Ym9hcmRFdmVudC5j
b2RlIGlzICJBcnJvd1VwIgorCisqIGtleWRvd24KK1BBU1Mga2V5Ym9hcmRFdmVudC5jb2RlIGlz
ICJBcnJvd0Rvd24iCisqIGtleXVwCitQQVNTIGtleWJvYXJkRXZlbnQuY29kZSBpcyAiQXJyb3dE
b3duIgorCisqIGtleWRvd24KK1BBU1Mga2V5Ym9hcmRFdmVudC5jb2RlIGlzICJQYWdlVXAiCisq
IGtleXVwCitQQVNTIGtleWJvYXJkRXZlbnQuY29kZSBpcyAiUGFnZVVwIgorCisqIGtleWRvd24K
K1BBU1Mga2V5Ym9hcmRFdmVudC5jb2RlIGlzICJQYWdlRG93biIKKyoga2V5dXAKK1BBU1Mga2V5
Ym9hcmRFdmVudC5jb2RlIGlzICJQYWdlRG93biIKKworKiBrZXlkb3duCitQQVNTIGtleWJvYXJk
RXZlbnQuY29kZSBpcyAiSG9tZSIKKyoga2V5dXAKK1BBU1Mga2V5Ym9hcmRFdmVudC5jb2RlIGlz
ICJIb21lIgorCisqIGtleWRvd24KK1BBU1Mga2V5Ym9hcmRFdmVudC5jb2RlIGlzICJFbmQiCisq
IGtleXVwCitQQVNTIGtleWJvYXJkRXZlbnQuY29kZSBpcyAiRW5kIgorCisqIGtleWRvd24KK1BB
U1Mga2V5Ym9hcmRFdmVudC5jb2RlIGlzICJEZWxldGUiCisqIGtleXVwCitQQVNTIGtleWJvYXJk
RXZlbnQuY29kZSBpcyAiRGVsZXRlIgorCisqIGtleWRvd24KK1BBU1Mga2V5Ym9hcmRFdmVudC5j
b2RlIGlzICJDb250cm9sTGVmdCIKKyoga2V5dXAKK1BBU1Mga2V5Ym9hcmRFdmVudC5jb2RlIGlz
ICJDb250cm9sTGVmdCIKKworKiBrZXlkb3duCitQQVNTIGtleWJvYXJkRXZlbnQuY29kZSBpcyAi
U2hpZnRMZWZ0IgorKiBrZXl1cAorUEFTUyBrZXlib2FyZEV2ZW50LmNvZGUgaXMgIlNoaWZ0TGVm
dCIKKworKiBrZXlkb3duCitQQVNTIGtleWJvYXJkRXZlbnQuY29kZSBpcyAiQWx0TGVmdCIKKyog
a2V5dXAKK1BBU1Mga2V5Ym9hcmRFdmVudC5jb2RlIGlzICJBbHRMZWZ0IgorCisqIGtleWRvd24K
K1BBU1Mga2V5Ym9hcmRFdmVudC5jb2RlIGlzICJDb250cm9sUmlnaHQiCisqIGtleXVwCitQQVNT
IGtleWJvYXJkRXZlbnQuY29kZSBpcyAiQ29udHJvbFJpZ2h0IgorCisqIGtleWRvd24KK1BBU1Mg
a2V5Ym9hcmRFdmVudC5jb2RlIGlzICJTaGlmdFJpZ2h0IgorKiBrZXl1cAorUEFTUyBrZXlib2Fy
ZEV2ZW50LmNvZGUgaXMgIlNoaWZ0UmlnaHQiCisKKyoga2V5ZG93bgorUEFTUyBrZXlib2FyZEV2
ZW50LmNvZGUgaXMgIkFsdFJpZ2h0IgorKiBrZXl1cAorUEFTUyBrZXlib2FyZEV2ZW50LmNvZGUg
aXMgIkFsdFJpZ2h0IgorCisqIGtleWRvd24KK1BBU1Mga2V5Ym9hcmRFdmVudC5jb2RlIGlzICJG
MSIKKyoga2V5dXAKK1BBU1Mga2V5Ym9hcmRFdmVudC5jb2RlIGlzICJGMSIKKworKiBrZXlkb3du
CitQQVNTIGtleWJvYXJkRXZlbnQuY29kZSBpcyAiRjIiCisqIGtleXVwCitQQVNTIGtleWJvYXJk
RXZlbnQuY29kZSBpcyAiRjIiCisKKyoga2V5ZG93bgorUEFTUyBrZXlib2FyZEV2ZW50LmNvZGUg
aXMgIkYzIgorKiBrZXl1cAorUEFTUyBrZXlib2FyZEV2ZW50LmNvZGUgaXMgIkYzIgorCisqIGtl
eWRvd24KK1BBU1Mga2V5Ym9hcmRFdmVudC5jb2RlIGlzICJGNCIKKyoga2V5dXAKK1BBU1Mga2V5
Ym9hcmRFdmVudC5jb2RlIGlzICJGNCIKKworKiBrZXlkb3duCitQQVNTIGtleWJvYXJkRXZlbnQu
Y29kZSBpcyAiRjUiCisqIGtleXVwCitQQVNTIGtleWJvYXJkRXZlbnQuY29kZSBpcyAiRjUiCisK
Kyoga2V5ZG93bgorUEFTUyBrZXlib2FyZEV2ZW50LmNvZGUgaXMgIkY2IgorKiBrZXl1cAorUEFT
UyBrZXlib2FyZEV2ZW50LmNvZGUgaXMgIkY2IgorCisqIGtleWRvd24KK1BBU1Mga2V5Ym9hcmRF
dmVudC5jb2RlIGlzICJGNyIKKyoga2V5dXAKK1BBU1Mga2V5Ym9hcmRFdmVudC5jb2RlIGlzICJG
NyIKKworKiBrZXlkb3duCitQQVNTIGtleWJvYXJkRXZlbnQuY29kZSBpcyAiRjgiCisqIGtleXVw
CitQQVNTIGtleWJvYXJkRXZlbnQuY29kZSBpcyAiRjgiCisKKyoga2V5ZG93bgorUEFTUyBrZXli
b2FyZEV2ZW50LmNvZGUgaXMgIkY5IgorKiBrZXl1cAorUEFTUyBrZXlib2FyZEV2ZW50LmNvZGUg
aXMgIkY5IgorCisqIGtleWRvd24KK1BBU1Mga2V5Ym9hcmRFdmVudC5jb2RlIGlzICJGMTAiCisq
IGtleXVwCitQQVNTIGtleWJvYXJkRXZlbnQuY29kZSBpcyAiRjEwIgorCisqIGtleWRvd24KK1BB
U1Mga2V5Ym9hcmRFdmVudC5jb2RlIGlzICJGMTEiCisqIGtleXVwCitQQVNTIGtleWJvYXJkRXZl
bnQuY29kZSBpcyAiRjExIgorCisqIGtleWRvd24KK1BBU1Mga2V5Ym9hcmRFdmVudC5jb2RlIGlz
ICJGMTIiCisqIGtleXVwCitQQVNTIGtleWJvYXJkRXZlbnQuY29kZSBpcyAiRjEyIgorCisqIGtl
eWRvd24KK0ZBSUwga2V5Ym9hcmRFdmVudC5jb2RlIHNob3VsZCBiZSBOdW1wYWRFbnRlci4gV2Fz
IEVudGVyLgorKiBrZXl1cAorRkFJTCBrZXlib2FyZEV2ZW50LmNvZGUgc2hvdWxkIGJlIE51bXBh
ZEVudGVyLiBXYXMgRW50ZXIuCisKKyoga2V5ZG93bgorUEFTUyBrZXlib2FyZEV2ZW50LmNvZGUg
aXMgIktleUEiCisqIGtleXVwCitQQVNTIGtleWJvYXJkRXZlbnQuY29kZSBpcyAiS2V5QSIKKwor
KiBrZXlkb3duCitQQVNTIGtleWJvYXJkRXZlbnQuY29kZSBpcyAiS2V5QSIKKyoga2V5dXAKK1BB
U1Mga2V5Ym9hcmRFdmVudC5jb2RlIGlzICJLZXlBIgorCisqIGtleWRvd24KK1BBU1Mga2V5Ym9h
cmRFdmVudC5jb2RlIGlzICJLZXlBIgorKiBrZXl1cAorUEFTUyBrZXlib2FyZEV2ZW50LmNvZGUg
aXMgIktleUEiCisKKyoga2V5ZG93bgorUEFTUyBrZXlib2FyZEV2ZW50LmNvZGUgaXMgIkRpZ2l0
MSIKKyoga2V5dXAKK1BBU1Mga2V5Ym9hcmRFdmVudC5jb2RlIGlzICJEaWdpdDEiCisKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCg==
</data>
<flag name="review"
          id="320422"
          type_id="1"
          status="+"
          setter="cgarcia"
    />
          </attachment>
      

    </bug>

</bugzilla>