<?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>32602</bug_id>
          
          <creation_ts>2009-12-16 02:11:32 -0800</creation_ts>
          <short_desc>Correctly report keyLocation as DOM_KEY_LOCATION_NUMPAD for numeric pad arrow key events on Mac</short_desc>
          <delta_ts>2009-12-28 22:33:36 -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>Tools / Tests</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>OS X 10.5</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>0</everconfirmed>
          <reporter name="Kinuko Yasuda">kinuko</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>estade</cc>
    
    <cc>hbono</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>172235</commentid>
    <comment_count>0</comment_count>
    <who name="Kinuko Yasuda">kinuko</who>
    <bug_when>2009-12-16 02:11:32 -0800</bug_when>
    <thetext>There&apos;re no layout tests for Numpad arrow key events as current implementation of our eventSender does not support sending numpad key events.
Related issue for chromium/gtk: https://bugs.webkit.org/show_bug.cgi?id=28247</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>174862</commentid>
    <comment_count>1</comment_count>
      <attachid>45486</attachid>
    <who name="Kinuko Yasuda">kinuko</who>
    <bug_when>2009-12-25 06:04:19 -0800</bug_when>
    <thetext>Created attachment 45486
Support key location argument in keyboard event methods for EventSender.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>174864</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2009-12-25 06:05:10 -0800</bug_when>
    <thetext>style-queue ran check-webkit-style on attachment 45486 without any errors.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>174923</commentid>
    <comment_count>3</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2009-12-25 20:14:04 -0800</bug_when>
    <thetext>It&apos;s strange to call this &quot;add a layout test&quot; since it also changes the behavior of the platform layer. Is that new platform-layer code for the benefit of the layout test only, or does it affect actual browser behavior too?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>175194</commentid>
    <comment_count>4</comment_count>
      <attachid>45486</attachid>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2009-12-28 01:52:35 -0800</bug_when>
    <thetext>Comment on attachment 45486
Support key location argument in keyboard event methods for EventSender.

Please update the WebCore and WebKit ChangeLog to explain the the apparent behavior change. If the test will only pass on some platforms, please add it to the skipped list on other platforms. Please also retitle the bug and its mention in the ChangeLog to cite the behavior change, not just the added tests.

For example, &quot;Correctly report keyLocation as DOM_KEY_LOCATION_NUMPAD for numeric pad arrow key events&quot; would be a better explanation.

r- to address these issues.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>175204</commentid>
    <comment_count>5</comment_count>
    <who name="Kinuko Yasuda">kinuko</who>
    <bug_when>2009-12-28 02:21:23 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; It&apos;s strange to call this &quot;add a layout test&quot; since it also changes the
&gt; behavior of the platform layer. Is that new platform-layer code for the benefit
&gt; of the layout test only, or does it affect actual browser behavior too?

That&apos;s right, sorry for confusing things.  I was trying to do a few different things in the patch - I&apos;ve filed another bug (https://bugs.webkit.org/show_bug.cgi?id=32983) and updated the bug summary to reflect the things better.

(In reply to comment #4)
&gt; For example, &quot;Correctly report keyLocation as DOM_KEY_LOCATION_NUMPAD for
&gt; numeric pad arrow key events&quot; would be a better explanation.

I&apos;m going to separate the patch and update the explanations in the ChangeLog.
Thanks for reviewing,</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>175208</commentid>
    <comment_count>6</comment_count>
    <who name="Kinuko Yasuda">kinuko</who>
    <bug_when>2009-12-28 03:05:35 -0800</bug_when>
    <thetext>*** Bug 32983 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>175209</commentid>
    <comment_count>7</comment_count>
    <who name="Kinuko Yasuda">kinuko</who>
    <bug_when>2009-12-28 03:12:47 -0800</bug_when>
    <thetext>Updating the bug summary and have merged 32983 back to this one (sorry for the confusion).   I&apos;m updating the patch as well shortly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>175210</commentid>
    <comment_count>8</comment_count>
      <attachid>45550</attachid>
    <who name="Kinuko Yasuda">kinuko</who>
    <bug_when>2009-12-28 03:32:30 -0800</bug_when>
    <thetext>Created attachment 45550
Support key location argument in keyboard event methods for EventSender.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>175211</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2009-12-28 03:35:59 -0800</bug_when>
    <thetext>style-queue ran check-webkit-style on attachment 45550 without any errors.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>175363</commentid>
    <comment_count>10</comment_count>
      <attachid>45550</attachid>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2009-12-28 18:28:13 -0800</bug_when>
    <thetext>Comment on attachment 45550
Support key location argument in keyboard event methods for EventSender.

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>175406</commentid>
    <comment_count>11</comment_count>
      <attachid>45550</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2009-12-28 22:33:30 -0800</bug_when>
    <thetext>Comment on attachment 45550
Support key location argument in keyboard event methods for EventSender.

Clearing flags on attachment: 45550

Committed r52608: &lt;http://trac.webkit.org/changeset/52608&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>175407</commentid>
    <comment_count>12</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2009-12-28 22:33:36 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>45486</attachid>
            <date>2009-12-25 06:04:19 -0800</date>
            <delta_ts>2009-12-28 03:32:23 -0800</delta_ts>
            <desc>Support key location argument in keyboard event methods for EventSender.</desc>
            <filename>bug-32602-20091225230417.patch</filename>
            <type>text/plain</type>
            <size>13682</size>
            <attacher name="Kinuko Yasuda">kinuko</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAyMjNiYjI5Li45ZDIxMDM3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMDktMTIt
MjUgIEtpbnVrbyBZYXN1ZGEgIDxraW51a29AY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZGVkIGEgbGF5b3V0LXRlc3QgdGhh
dCB0ZXN0cyBFdmVudFNlbmRlci5rZXlEb3duIHdpdGgKKyAgICAgICAgYWRkaXRpb25hbCBrZXkg
bG9jYXRpb24gYXJndW1lbnQuICBDdXJyZW50bHkgc3VwcG9ydGVkIG9ubHkgb24gTWFjLgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjgyNDcKKworICAg
ICAgICAqIGZhc3QvZXZlbnRzL2tleWRvd24tbnVtcGFkLWtleXMtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBmYXN0L2V2ZW50cy9rZXlkb3duLW51bXBhZC1rZXlzLmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGZhc3QvZXZlbnRzL3NjcmlwdC10ZXN0cy9rZXlkb3duLW51bXBhZC1rZXlz
LmpzOiBBZGRlZC4KKyAgICAgICAgKHJlY29yZEtleUV2ZW50KToKKyAgICAgICAgKHRlc3RLZXlF
dmVudFdpdGhMb2NhdGlvbik6CisKKyAgICAgICAgKiBwbGF0Zm9ybS9ndGsvU2tpcHBlZDogZmFz
dC9ldmVudHMva2V5ZG93bi1udW1wYWQta2V5cy5odG1sIGFkZGVkLgorICAgICAgICAqIHBsYXRm
b3JtL3F0L1NraXBwZWQ6IGZhc3QvZXZlbnRzL2tleWRvd24tbnVtcGFkLWtleXMuaHRtbCBhZGRl
ZC4KKyAgICAgICAgKiBwbGF0Zm9ybS93aW4vU2tpcHBlZDogZmFzdC9ldmVudHMva2V5ZG93bi1u
dW1wYWQta2V5cy5odG1sIGFkZGVkLgorCiAyMDA5LTEyLTIzICBEYXZpZCBMZXZpbiAgPGxldmlu
QGNocm9taXVtLm9yZz4KIAogICAgICAgICBSRUdSRVNTSU9OIChyNTI0OTQpOiBBc3NlcnRpb24g
ZmFpbHVyZSBpbiBGcmFtZTo6Y2FyZXRCbGlua1RpbWVyRmlyZWQoKSAoc2VsZWN0aW9uKCktPmlz
Q2FyZXQoKSkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2tleWRvd24tbnVt
cGFkLWtleXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMva2V5ZG93bi1u
dW1wYWQta2V5cy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MC4uMjdhNDdlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2tl
eWRvd24tbnVtcGFkLWtleXMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNTggQEAKKworVGhpcyB0
ZXN0cyBrZXlib2FyZCBldmVudHMgd2l0aCBLZXlMb2NhdGlvbkNvZGUgYXJndW1lbnQuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIGxhc3RLZXlib2FyZEV2ZW50LnR5cGUg
aXMgImtleWRvd24iCitQQVNTIGxhc3RLZXlib2FyZEV2ZW50LmtleUNvZGUgaXMgMzMKK1BBU1Mg
bGFzdEtleWJvYXJkRXZlbnQua2V5TG9jYXRpb24gaXMgMAorUEFTUyBsYXN0S2V5Ym9hcmRFdmVu
dC50eXBlIGlzICJrZXlkb3duIgorUEFTUyBsYXN0S2V5Ym9hcmRFdmVudC5rZXlDb2RlIGlzIDM0
CitQQVNTIGxhc3RLZXlib2FyZEV2ZW50LmtleUxvY2F0aW9uIGlzIDAKK1BBU1MgbGFzdEtleWJv
YXJkRXZlbnQudHlwZSBpcyAia2V5ZG93biIKK1BBU1MgbGFzdEtleWJvYXJkRXZlbnQua2V5Q29k
ZSBpcyAzNgorUEFTUyBsYXN0S2V5Ym9hcmRFdmVudC5rZXlMb2NhdGlvbiBpcyAwCitQQVNTIGxh
c3RLZXlib2FyZEV2ZW50LnR5cGUgaXMgImtleWRvd24iCitQQVNTIGxhc3RLZXlib2FyZEV2ZW50
LmtleUNvZGUgaXMgMzUKK1BBU1MgbGFzdEtleWJvYXJkRXZlbnQua2V5TG9jYXRpb24gaXMgMAor
UEFTUyBsYXN0S2V5Ym9hcmRFdmVudC50eXBlIGlzICJrZXlkb3duIgorUEFTUyBsYXN0S2V5Ym9h
cmRFdmVudC5rZXlDb2RlIGlzIDM3CitQQVNTIGxhc3RLZXlib2FyZEV2ZW50LmtleUxvY2F0aW9u
IGlzIDAKK1BBU1MgbGFzdEtleWJvYXJkRXZlbnQudHlwZSBpcyAia2V5ZG93biIKK1BBU1MgbGFz
dEtleWJvYXJkRXZlbnQua2V5Q29kZSBpcyAzOQorUEFTUyBsYXN0S2V5Ym9hcmRFdmVudC5rZXlM
b2NhdGlvbiBpcyAwCitQQVNTIGxhc3RLZXlib2FyZEV2ZW50LnR5cGUgaXMgImtleWRvd24iCitQ
QVNTIGxhc3RLZXlib2FyZEV2ZW50LmtleUNvZGUgaXMgMzgKK1BBU1MgbGFzdEtleWJvYXJkRXZl
bnQua2V5TG9jYXRpb24gaXMgMAorUEFTUyBsYXN0S2V5Ym9hcmRFdmVudC50eXBlIGlzICJrZXlk
b3duIgorUEFTUyBsYXN0S2V5Ym9hcmRFdmVudC5rZXlDb2RlIGlzIDQwCitQQVNTIGxhc3RLZXli
b2FyZEV2ZW50LmtleUxvY2F0aW9uIGlzIDAKK1BBU1MgbGFzdEtleWJvYXJkRXZlbnQudHlwZSBp
cyAia2V5ZG93biIKK1BBU1MgbGFzdEtleWJvYXJkRXZlbnQua2V5Q29kZSBpcyAzMworUEFTUyBs
YXN0S2V5Ym9hcmRFdmVudC5rZXlMb2NhdGlvbiBpcyAzCitQQVNTIGxhc3RLZXlib2FyZEV2ZW50
LnR5cGUgaXMgImtleWRvd24iCitQQVNTIGxhc3RLZXlib2FyZEV2ZW50LmtleUNvZGUgaXMgMzQK
K1BBU1MgbGFzdEtleWJvYXJkRXZlbnQua2V5TG9jYXRpb24gaXMgMworUEFTUyBsYXN0S2V5Ym9h
cmRFdmVudC50eXBlIGlzICJrZXlkb3duIgorUEFTUyBsYXN0S2V5Ym9hcmRFdmVudC5rZXlDb2Rl
IGlzIDM2CitQQVNTIGxhc3RLZXlib2FyZEV2ZW50LmtleUxvY2F0aW9uIGlzIDMKK1BBU1MgbGFz
dEtleWJvYXJkRXZlbnQudHlwZSBpcyAia2V5ZG93biIKK1BBU1MgbGFzdEtleWJvYXJkRXZlbnQu
a2V5Q29kZSBpcyAzNQorUEFTUyBsYXN0S2V5Ym9hcmRFdmVudC5rZXlMb2NhdGlvbiBpcyAzCitQ
QVNTIGxhc3RLZXlib2FyZEV2ZW50LnR5cGUgaXMgImtleWRvd24iCitQQVNTIGxhc3RLZXlib2Fy
ZEV2ZW50LmtleUNvZGUgaXMgMzcKK1BBU1MgbGFzdEtleWJvYXJkRXZlbnQua2V5TG9jYXRpb24g
aXMgMworUEFTUyBsYXN0S2V5Ym9hcmRFdmVudC50eXBlIGlzICJrZXlkb3duIgorUEFTUyBsYXN0
S2V5Ym9hcmRFdmVudC5rZXlDb2RlIGlzIDM5CitQQVNTIGxhc3RLZXlib2FyZEV2ZW50LmtleUxv
Y2F0aW9uIGlzIDMKK1BBU1MgbGFzdEtleWJvYXJkRXZlbnQudHlwZSBpcyAia2V5ZG93biIKK1BB
U1MgbGFzdEtleWJvYXJkRXZlbnQua2V5Q29kZSBpcyAzOAorUEFTUyBsYXN0S2V5Ym9hcmRFdmVu
dC5rZXlMb2NhdGlvbiBpcyAzCitQQVNTIGxhc3RLZXlib2FyZEV2ZW50LnR5cGUgaXMgImtleWRv
d24iCitQQVNTIGxhc3RLZXlib2FyZEV2ZW50LmtleUNvZGUgaXMgNDAKK1BBU1MgbGFzdEtleWJv
YXJkRXZlbnQua2V5TG9jYXRpb24gaXMgMworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRz
L2tleWRvd24tbnVtcGFkLWtleXMuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2tleWRv
d24tbnVtcGFkLWtleXMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4w
YTBmZmNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMva2V5ZG93
bi1udW1wYWQta2V5cy5odG1sCkBAIC0wLDAgKzEsMTMgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8bGluayByZWw9InN0
eWxlc2hlZXQiIGhyZWY9Ii4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+Cis8c2Ny
aXB0IHNyYz0iLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KKzxzY3JpcHQgc3JjPSJzY3JpcHQtdGVzdHMva2V5ZG93bi1udW1wYWQta2V5cy5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L2V2ZW50cy9zY3JpcHQtdGVzdHMva2V5ZG93bi1udW1wYWQta2V5cy5qcyBiL0xheW91dFRlc3Rz
L2Zhc3QvZXZlbnRzL3NjcmlwdC10ZXN0cy9rZXlkb3duLW51bXBhZC1rZXlzLmpzCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJjMWIzZjQKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9zY3JpcHQtdGVzdHMva2V5ZG93bi1udW1wYWQta2V5cy5q
cwpAQCAtMCwwICsxLDU3IEBACitkZXNjcmlwdGlvbigiVGhpcyB0ZXN0cyBrZXlib2FyZCBldmVu
dHMgd2l0aCBLZXlMb2NhdGlvbkNvZGUgYXJndW1lbnQuIik7CisKK3ZhciBsYXN0S2V5Ym9hcmRF
dmVudDsKKworZnVuY3Rpb24gcmVjb3JkS2V5RXZlbnQoZXYpIHsKKyAgICBldiA9IGV2IHx8IGV2
ZW50OworICAgIGV2LmtleUNvZGUgPSAoZXYud2hpY2ggfHwgZXYua2V5Q29kZSk7CisgICAgaWYg
KHdpbmRvdy5ldmVudFNlbmRlcikgeworICAgICAgICBsYXN0S2V5Ym9hcmRFdmVudCA9IGV2Owor
ICAgIH0gZWxzZSB7CisgICAgICAgIGRlYnVnKCdUeXBlPScgKyBldi50eXBlICsgJywnICsKKyAg
ICAgICAgICAgICAgJ2tleUNvZGU9JyArIGV2LmtleUNvZGUgKyAnLCcgKworICAgICAgICAgICAg
ICAnY3RybEtleT0nICsgZXYuY3RybEtleSArICcsJyArCisgICAgICAgICAgICAgICdzaGlmdEtl
eT0nICsgZXYuc2hpZnRLZXkgKyAnLCcgKworICAgICAgICAgICAgICAnYWx0S2V5PScgKyBldi5h
bHRLZXkgKyAnLCcgKworICAgICAgICAgICAgICAnbWV0YUtleT0nICsgZXYubWV0YUtleSArICcs
JyArCisgICAgICAgICAgICAgICdsb2NhdGlvbj0nICsgZXYua2V5TG9jYXRpb24pOworICAgIH0K
K30KKworZnVuY3Rpb24gdGVzdEtleUV2ZW50V2l0aExvY2F0aW9uKGV2U3RyaW5nLCBldkxvY2F0
aW9uLCBleHBlY3RlZEtleUNvZGUpIHsKKyAgICBldmVudFNlbmRlci5rZXlEb3duKGV2U3RyaW5n
LCBbXSwgZXZMb2NhdGlvbik7CisgICAgc2hvdWxkQmUoImxhc3RLZXlib2FyZEV2ZW50LnR5cGUi
LCAnImtleWRvd24iJyk7CisgICAgc2hvdWxkRXZhbHVhdGVUbygibGFzdEtleWJvYXJkRXZlbnQu
a2V5Q29kZSIsIGV4cGVjdGVkS2V5Q29kZSk7CisgICAgc2hvdWxkRXZhbHVhdGVUbygibGFzdEtl
eWJvYXJkRXZlbnQua2V5TG9jYXRpb24iLCBldkxvY2F0aW9uKTsKK30KKwordmFyIHRleHRhcmVh
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidGV4dGFyZWEiKTsKK3RleHRhcmVhLmFkZEV2ZW50
TGlzdGVuZXIoImtleWRvd24iLCByZWNvcmRLZXlFdmVudCwgZmFsc2UpOworZG9jdW1lbnQuYm9k
eS5pbnNlcnRCZWZvcmUodGV4dGFyZWEsIGRvY3VtZW50LmJvZHkuZmlyc3RDaGlsZCk7Cit0ZXh0
YXJlYS5mb2N1cygpOworCitpZiAod2luZG93LmV2ZW50U2VuZGVyKSB7CisgICAgLy8gbG9jYXRp
b249MCBpbmRpY2F0ZXMgdGhhdCB3ZSBzZW5kIGV2ZW50cyBhcyBzdGFuZGFyZCBrZXlzLgorICAg
IHRlc3RLZXlFdmVudFdpdGhMb2NhdGlvbigicGFnZVVwIiwgMCwgMzMpOworICAgIHRlc3RLZXlF
dmVudFdpdGhMb2NhdGlvbigicGFnZURvd24iLCAwLCAzNCk7CisgICAgdGVzdEtleUV2ZW50V2l0
aExvY2F0aW9uKCJob21lIiwgMCwgMzYpOworICAgIHRlc3RLZXlFdmVudFdpdGhMb2NhdGlvbigi
ZW5kIiwgMCwgMzUpOworICAgIHRlc3RLZXlFdmVudFdpdGhMb2NhdGlvbigibGVmdEFycm93Iiwg
MCwgMzcpOworICAgIHRlc3RLZXlFdmVudFdpdGhMb2NhdGlvbigicmlnaHRBcnJvdyIsIDAsIDM5
KTsKKyAgICB0ZXN0S2V5RXZlbnRXaXRoTG9jYXRpb24oInVwQXJyb3ciLCAwLCAzOCk7CisgICAg
dGVzdEtleUV2ZW50V2l0aExvY2F0aW9uKCJkb3duQXJyb3ciLCAwLCA0MCk7CisKKyAgICAvLyBs
b2NhdGlvbj0zIGluZGljYXRlcyB0aGF0IHdlIHNlbmQgZXZlbnRzIGFzIG51bWVyaWMtcGFkIGtl
eXMuCisgICAgdGVzdEtleUV2ZW50V2l0aExvY2F0aW9uKCJwYWdlVXAiLCAzLCAzMyk7CisgICAg
dGVzdEtleUV2ZW50V2l0aExvY2F0aW9uKCJwYWdlRG93biIsIDMsIDM0KTsKKyAgICB0ZXN0S2V5
RXZlbnRXaXRoTG9jYXRpb24oImhvbWUiLCAzLCAzNik7CisgICAgdGVzdEtleUV2ZW50V2l0aExv
Y2F0aW9uKCJlbmQiLCAzLCAzNSk7CisgICAgdGVzdEtleUV2ZW50V2l0aExvY2F0aW9uKCJsZWZ0
QXJyb3ciLCAzLCAzNyk7CisgICAgdGVzdEtleUV2ZW50V2l0aExvY2F0aW9uKCJyaWdodEFycm93
IiwgMywgMzkpOworICAgIHRlc3RLZXlFdmVudFdpdGhMb2NhdGlvbigidXBBcnJvdyIsIDMsIDM4
KTsKKyAgICB0ZXN0S2V5RXZlbnRXaXRoTG9jYXRpb24oImRvd25BcnJvdyIsIDMsIDQwKTsKK30g
ZWxzZSB7CisgICAgZGVidWcoIlRoaXMgdGVzdCByZXF1aXJlcyBEdW1wUmVuZGVyVHJlZS4gIFRv
IG1hbnVhbGx5IHRlc3QsIDEpIGZvY3VzIG9uIHRoZSB0ZXh0YXJlYSBhYm92ZSBhbmQgcHVzaCBu
dW1wYWQga2V5cyB3aXRob3V0IGxvY2tpbmcgTnVtTG9jayBhbmQgMikgc2VlIGlmIHRoZSBsb2Nh
dGlvbj0gdmFsdWUgaXMgMyAoRE9NX0tFWV9MT0NBVElPTl9OVU1QQUQgc3BlY2lmaWVkIGluIERP
TSBsZXZlbCAzKS4iKTsKK30KKwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvU2tpcHBlZCBiL0xheW91dFRlc3RzL3Bs
YXRmb3JtL2d0ay9Ta2lwcGVkCmluZGV4IDI1NjdhNDAuLmEzM2IxNDIgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL3BsYXRmb3JtL2d0ay9Ta2lwcGVkCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3Jt
L2d0ay9Ta2lwcGVkCkBAIC0yMjU5LDYgKzIyNTksNyBAQCBmYXN0L2V2ZW50cy9ldmVudC1saXN0
ZW5lci1vbi1saW5rLmh0bWwKIGZhc3QvZXZlbnRzL2V2ZW50LXNlbmRlci1tb3VzZS1tb3ZlZC5o
dG1sCiBmYXN0L2V2ZW50cy9mb2N1c2luZ1VubG9hZGVkRnJhbWUuaHRtbAogZmFzdC9ldmVudHMv
a2V5ZG93bi0xLmh0bWwKK2Zhc3QvZXZlbnRzL2tleWRvd24tbnVtcGFkLWtleXMuaHRtbAogZmFz
dC9ldmVudHMvbGFiZWwtZm9jdXMuaHRtbAogZmFzdC9ldmVudHMvbW91c2VvdXQtZGVhZC1ub2Rl
Lmh0bWwKIGZhc3QvZXZlbnRzL29ubG9hZC1yZS1lbnRyeS5odG1sCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9xdC9Ta2lwcGVkIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvU2tp
cHBlZAppbmRleCA2M2E2NDQ0Li45YjU5MTFhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9xdC9Ta2lwcGVkCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3F0L1NraXBwZWQKQEAg
LTQ3MSw2ICs0NzEsNyBAQCBmYXN0L2V2ZW50cy9kcmFnLWluLWZyYW1lcy5odG1sCiBmYXN0L2V2
ZW50cy9mb2N1c2luZ1VubG9hZGVkRnJhbWUuaHRtbAogZmFzdC9ldmVudHMvanMta2V5Ym9hcmQt
ZXZlbnQtY3JlYXRpb24uaHRtbAogZmFzdC9ldmVudHMva2V5ZG93bi0xLmh0bWwKK2Zhc3QvZXZl
bnRzL2tleWRvd24tbnVtcGFkLWtleXMuaHRtbAogZmFzdC9ldmVudHMva2V5cHJlc3MtaW5zZXJ0
LXRhYi5odG1sCiBmYXN0L2V2ZW50cy9tb3VzZW91dC1kZWFkLW5vZGUuaHRtbAogZmFzdC9ldmVu
dHMvb25kcmFnZW50ZXIuaHRtbApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2lu
L1NraXBwZWQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vU2tpcHBlZAppbmRleCBiOTdhYmFh
Li5iOGVhZmZiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vU2tpcHBlZAor
KysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vU2tpcHBlZApAQCAtMTE4LDYgKzExOCw5IEBA
IGZhc3QvZXZlbnRzL2F0dGVtcHQtc2Nyb2xsLXdpdGgtbm8tc2Nyb2xsYmFycy5odG1sCiAjIEVt
YWNzIGJpbmRpbmdzIGFyZSB1c2VkIGluIExheW91dFRlc3RzIHdoaWNoIGZhaWwgb24gYm9vbWVy
LiA8cmRhcjovL3Byb2JsZW0vNTEzNzM1Mj4KIGZhc3QvZXZlbnRzL2tleWRvd24tMS5odG1sCiAK
KyMgTm8gc3VwcG9ydCBmb3Iga2V5IGV2ZW50IGxvY2F0aW9uIGluIEV2ZW50U2VuZGVyLgorZmFz
dC9ldmVudHMva2V5ZG93bi1udW1wYWQta2V5cy5odG1sCisKICMgVGhlIGVxcWl2YWxlbnQgb2Yg
b3B0aW9uLXRhYiBkb2VzbiBub3QgZXhpc3QgaW4gQm9vbWVyIDxyZGFyOi8vcHJvYmxlbS81MTM3
MjMwPgogZmFzdC9ldmVudHMvZnJhbWUtdGFiLWZvY3VzLmh0bWwKIGZhc3QvZXZlbnRzL29wdGlv
bi10YWIuaHRtbApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9DaGFuZ2VMb2cgYi9XZWJDb3JlL0NoYW5n
ZUxvZwppbmRleCA3ZDBmY2QyLi45NzkzZDg0IDEwMDY0NAotLS0gYS9XZWJDb3JlL0NoYW5nZUxv
ZworKysgYi9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDA5LTEyLTI1ICBL
aW51a28gWWFzdWRhICA8a2ludWtvQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDaGFuZ2VkIGlzS2V5cGFkRXZlbnQoKSB0byBy
ZXR1cm4gdHJ1ZSBpZiBOU051bWVyaWNQYWRLZXlNYXNrIGJpdAorICAgICAgICBpcyBzZXQgaW4g
W05TRXZlbnQgbW9kaWZpZXJGbGFnc10gb24gTWFjLgorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjgyNDcKKworICAgICAgICBUZXN0OiBmYXN0L2V2ZW50
cy9rZXlkb3duLW51bXBhZC1rZXlzLmh0bWwKKworICAgICAgICAqIHBsYXRmb3JtL21hYy9LZXlF
dmVudE1hYy5tbToKKyAgICAgICAgKFdlYkNvcmU6OmlzS2V5cGFkRXZlbnQpOgorCiAyMDA5LTEy
LTIzICBEYXZpZCBMZXZpbiAgPGxldmluQGNocm9taXVtLm9yZz4KIAogICAgICAgICBSRUdSRVNT
SU9OIChyNTI0OTQpOiBBc3NlcnRpb24gZmFpbHVyZSBpbiBGcmFtZTo6Y2FyZXRCbGlua1RpbWVy
RmlyZWQoKSAoc2VsZWN0aW9uKCktPmlzQ2FyZXQoKSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxh
dGZvcm0vbWFjL0tleUV2ZW50TWFjLm1tIGIvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvS2V5RXZlbnRN
YWMubW0KaW5kZXggMGJjODgwMC4uMmUxNTc5YiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9y
bS9tYWMvS2V5RXZlbnRNYWMubW0KKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvS2V5RXZlbnRN
YWMubW0KQEAgLTM2OCw2ICszNjgsOSBAQCBzdGF0aWMgYm9vbCBpc0tleXBhZEV2ZW50KE5TRXZl
bnQqIGV2ZW50KQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIH0KIAorICAgIGlmIChb
ZXZlbnQgbW9kaWZpZXJGbGFnc10gJiBOU051bWVyaWNQYWRLZXlNYXNrKQorICAgICAgICByZXR1
cm4gdHJ1ZTsKKwogICAgIHN3aXRjaCAoW2V2ZW50IGtleUNvZGVdKSB7CiAgICAgICAgIGNhc2Ug
NzE6IC8vIENsZWFyCiAgICAgICAgIGNhc2UgODE6IC8vID0KZGlmZiAtLWdpdCBhL1dlYktpdC9j
aHJvbWl1bS9DaGFuZ2VMb2cgYi9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4IDM0ZmZl
NWIuLmEyNWNhN2MgMTAwNjQ0Ci0tLSBhL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKKysrIGIv
V2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDA5LTEyLTI1ICBL
aW51a28gWWFzdWRhICA8a2ludWtvQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDaGFuZ2VkIGlzS2V5cGFkRXZlbnQoKSB0byBy
ZXR1cm4gdHJ1ZSBpZiBOU051bWVyaWNQYWRLZXlNYXNrIGJpdAorICAgICAgICBpcyBzZXQgaW4g
W05TRXZlbnQgbW9kaWZpZXJGbGFnc10gb24gTWFjIGNocm9taXVtLgorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjgyNDcKKworICAgICAgICAqIHNyYy9t
YWMvV2ViSW5wdXRFdmVudEZhY3RvcnkubW06CisgICAgICAgIChXZWJLaXQ6OmlzS2V5cGFkRXZl
bnQpOgorCiAyMDA5LTEyLTIyICBLZW5uZXRoIFJ1c3NlbGwgIDxrYnJAZ29vZ2xlLmNvbT4KIAog
ICAgICAgICBSZXZpZXdlZCBieSBFcmljIFNlaWRlbC4KZGlmZiAtLWdpdCBhL1dlYktpdC9jaHJv
bWl1bS9zcmMvbWFjL1dlYklucHV0RXZlbnRGYWN0b3J5Lm1tIGIvV2ViS2l0L2Nocm9taXVtL3Ny
Yy9tYWMvV2ViSW5wdXRFdmVudEZhY3RvcnkubW0KaW5kZXggZDYxODIyOC4uNDZiMGFmZSAxMDA2
NDQKLS0tIGEvV2ViS2l0L2Nocm9taXVtL3NyYy9tYWMvV2ViSW5wdXRFdmVudEZhY3RvcnkubW0K
KysrIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9tYWMvV2ViSW5wdXRFdmVudEZhY3RvcnkubW0KQEAg
LTkyLDYgKzkyLDkgQEAgc3RhdGljIGJvb2wgaXNLZXlwYWRFdmVudChOU0V2ZW50KiBldmVudCkK
ICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIH0KIAorICAgIGlmIChbZXZlbnQgbW9kaWZpZXJG
bGFnc10gJiBOU051bWVyaWNQYWRLZXlNYXNrKQorICAgICAgICByZXR1cm4gdHJ1ZTsKKwogICAg
IHN3aXRjaCAoW2V2ZW50IGtleUNvZGVdKSB7CiAgICAgY2FzZSA3MTogLy8gQ2xlYXIKICAgICBj
YXNlIDgxOiAvLyA9CmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9DaGFuZ2VMb2cgYi9XZWJLaXRU
b29scy9DaGFuZ2VMb2cKaW5kZXggZWI5MjRiMi4uNWI0ODE3NyAxMDA2NDQKLS0tIGEvV2ViS2l0
VG9vbHMvQ2hhbmdlTG9nCisrKyBiL1dlYktpdFRvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4
IEBACisyMDA5LTEyLTI1ICBLaW51a28gWWFzdWRhICA8a2ludWtvQGNocm9taXVtLm9yZz4KKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBFeHRlbmRlZCBF
dmVudFNlbmRlci5rZXlEb3duIG1ldGhvZCB0byB0YWtlIGFub3RoZXIgKDNyZCkgYXJndW1lbnQK
KyAgICAgICAgZm9yIGluZGljYXRpbmcgdGhlIGtleSBsb2NhdGlvbi4gIEV4cGVjdGVkIHZhbHVl
cyBmb3IgdGhlIGFyZ3VtZW50IGlzCisgICAgICAgIG9uZSBvZiB0aGUgS2V5TG9jYXRpb25Db2Rl
IHNwZWNpZmllZCBpbiBET00gTGV2ZWwgMworICAgICAgICAoaHR0cDovL3d3dy53My5vcmcvVFIv
RE9NLUxldmVsLTMtRXZlbnRzLyNldmVudHMta2V5Ym9hcmRldmVudHMpLgorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjgyNDcKKworICAgICAgICAqIER1
bXBSZW5kZXJUcmVlL21hYy9FdmVudFNlbmRpbmdDb250cm9sbGVyLm1tOgorICAgICAgICAoK1tF
dmVudFNlbmRpbmdDb250cm9sbGVyIGlzU2VsZWN0b3JFeGNsdWRlZEZyb21XZWJTY3JpcHQ6XSk6
CisgICAgICAgICgrW0V2ZW50U2VuZGluZ0NvbnRyb2xsZXIgd2ViU2NyaXB0TmFtZUZvclNlbGVj
dG9yOl0pOgorICAgICAgICAoLVtFdmVudFNlbmRpbmdDb250cm9sbGVyIGtleURvd246d2l0aE1v
ZGlmaWVyczp3aXRoTG9jYXRpb246XSk6CisKIDIwMDktMTItMjMgIExhc3psbyBHb21ib3MgIDxs
YXN6bG8uMS5nb21ib3NAbm9raWEuY29tPgogCiAgICAgICAgIE5vdCByZXZpZXdlZCwgYWRkaW5n
IG15c2VsZiB0byB0aGUgcmV2aWV3ZXJzIGxpc3QuCmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9E
dW1wUmVuZGVyVHJlZS9tYWMvRXZlbnRTZW5kaW5nQ29udHJvbGxlci5tbSBiL1dlYktpdFRvb2xz
L0R1bXBSZW5kZXJUcmVlL21hYy9FdmVudFNlbmRpbmdDb250cm9sbGVyLm1tCmluZGV4IDFjYmE1
M2IuLjMzYTA0ZjQgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9F
dmVudFNlbmRpbmdDb250cm9sbGVyLm1tCisrKyBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVl
L21hYy9FdmVudFNlbmRpbmdDb250cm9sbGVyLm1tCkBAIC0xMjUsNyArMTI1LDcgQEAgQk9PTCBy
ZXBsYXlpbmdTYXZlZEV2ZW50czsKICAgICAgICAgICAgIHx8IGFTZWxlY3RvciA9PSBAc2VsZWN0
b3IoY29udGV4dENsaWNrKQogICAgICAgICAgICAgfHwgYVNlbGVjdG9yID09IEBzZWxlY3Rvcihl
bmFibGVET01VSUV2ZW50TG9nZ2luZzopCiAgICAgICAgICAgICB8fCBhU2VsZWN0b3IgPT0gQHNl
bGVjdG9yKGZpcmVLZXlib2FyZEV2ZW50c1RvRWxlbWVudDopCi0gICAgICAgICAgICB8fCBhU2Vs
ZWN0b3IgPT0gQHNlbGVjdG9yKGtleURvd246d2l0aE1vZGlmaWVyczopCisgICAgICAgICAgICB8
fCBhU2VsZWN0b3IgPT0gQHNlbGVjdG9yKGtleURvd246d2l0aE1vZGlmaWVyczp3aXRoTG9jYXRp
b246KQogICAgICAgICAgICAgfHwgYVNlbGVjdG9yID09IEBzZWxlY3RvcihsZWFwRm9yd2FyZDop
CiAgICAgICAgICAgICB8fCBhU2VsZWN0b3IgPT0gQHNlbGVjdG9yKG1vdXNlRG93bjopCiAgICAg
ICAgICAgICB8fCBhU2VsZWN0b3IgPT0gQHNlbGVjdG9yKG1vdXNlTW92ZVRvWDpZOikKQEAgLTE1
NCw3ICsxNTQsNyBAQCBCT09MIHJlcGxheWluZ1NhdmVkRXZlbnRzOwogICAgICAgICByZXR1cm4g
QCJlbmFibGVET01VSUV2ZW50TG9nZ2luZyI7CiAgICAgaWYgKGFTZWxlY3RvciA9PSBAc2VsZWN0
b3IoZmlyZUtleWJvYXJkRXZlbnRzVG9FbGVtZW50OikpCiAgICAgICAgIHJldHVybiBAImZpcmVL
ZXlib2FyZEV2ZW50c1RvRWxlbWVudCI7Ci0gICAgaWYgKGFTZWxlY3RvciA9PSBAc2VsZWN0b3Io
a2V5RG93bjp3aXRoTW9kaWZpZXJzOikpCisgICAgaWYgKGFTZWxlY3RvciA9PSBAc2VsZWN0b3Io
a2V5RG93bjp3aXRoTW9kaWZpZXJzOndpdGhMb2NhdGlvbjopKQogICAgICAgICByZXR1cm4gQCJr
ZXlEb3duIjsKICAgICBpZiAoYVNlbGVjdG9yID09IEBzZWxlY3RvcihsZWFwRm9yd2FyZDopKQog
ICAgICAgICByZXR1cm4gQCJsZWFwRm9yd2FyZCI7CkBAIC00NzQsNyArNDc0LDcgQEAgc3RhdGlj
IE5TRXZlbnRUeXBlIGV2ZW50VHlwZUZvck1vdXNlQnV0dG9uQW5kQWN0aW9uKGludCBidXR0b24s
IE1vdXNlQWN0aW9uIGFjdGkKICAgICBzYXZlZE1vdXNlRXZlbnRzID0gbmlsOwogfQogCi0tICh2
b2lkKWtleURvd246KE5TU3RyaW5nICopY2hhcmFjdGVyIHdpdGhNb2RpZmllcnM6KFdlYlNjcmlw
dE9iamVjdCAqKW1vZGlmaWVycworLSAodm9pZClrZXlEb3duOihOU1N0cmluZyAqKWNoYXJhY3Rl
ciB3aXRoTW9kaWZpZXJzOihXZWJTY3JpcHRPYmplY3QgKiltb2RpZmllcnMgd2l0aExvY2F0aW9u
Oih1bnNpZ25lZCBsb25nKWtleUxvY2F0aW9uCiB7CiAgICAgTlNTdHJpbmcgKmV2ZW50Q2hhcmFj
dGVyID0gY2hhcmFjdGVyOwogICAgIGlmIChbY2hhcmFjdGVyIGlzRXF1YWxUb1N0cmluZzpAImxl
ZnRBcnJvdyJdKSB7CkBAIC01MzgsNiArNTM4LDkgQEAgc3RhdGljIE5TRXZlbnRUeXBlIGV2ZW50
VHlwZUZvck1vdXNlQnV0dG9uQW5kQWN0aW9uKGludCBidXR0b24sIE1vdXNlQWN0aW9uIGFjdGkK
ICAgICAgICAgfQogICAgIH0KIAorICAgIGlmIChrZXlMb2NhdGlvbiA9PSBET01fS0VZX0xPQ0FU
SU9OX05VTVBBRCkKKyAgICAgICAgbW9kaWZpZXJGbGFncyB8PSBOU051bWVyaWNQYWRLZXlNYXNr
OworCiAgICAgW1tbbWFpbkZyYW1lIGZyYW1lVmlld10gZG9jdW1lbnRWaWV3XSBsYXlvdXRdOwog
CiAgICAgTlNFdmVudCAqZXZlbnQgPSBbTlNFdmVudCBrZXlFdmVudFdpdGhUeXBlOk5TS2V5RG93
bgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>45550</attachid>
            <date>2009-12-28 03:32:30 -0800</date>
            <delta_ts>2009-12-28 22:33:29 -0800</delta_ts>
            <desc>Support key location argument in keyboard event methods for EventSender.</desc>
            <filename>bug-32602-20091228203228.patch</filename>
            <type>text/plain</type>
            <size>13780</size>
            <attacher name="Kinuko Yasuda">kinuko</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAzMzEzMDRkLi4yOTkyNWNiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjIgQEAKKzIwMDktMTIt
MjUgIEtpbnVrbyBZYXN1ZGEgIDxraW51a29AY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZGVkIGEgbGF5b3V0LXRlc3QgdGhh
dCB0ZXN0cyBpZiBudW1lcmljIHBhZCBhcnJvdyBrZXkKKyAgICAgICAgZXZlbnRzIGFyZSBjb3Jy
ZWN0bHkgcmVwb3J0ZWQgd2l0aCBrZXlMb2NhdGlvbiBhcworICAgICAgICBET01fS0VZX0xPQ0FU
SU9OX05VTVBBRC4gIEN1cnJlbnRseSB0aGlzIHRlc3Qgb25seSBwYXNzZXMgb24gTWFjLgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjgyNDcKKworICAg
ICAgICAqIGZhc3QvZXZlbnRzL2tleWRvd24tbnVtcGFkLWtleXMtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBmYXN0L2V2ZW50cy9rZXlkb3duLW51bXBhZC1rZXlzLmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGZhc3QvZXZlbnRzL3NjcmlwdC10ZXN0cy9rZXlkb3duLW51bXBhZC1rZXlz
LmpzOiBBZGRlZC4KKyAgICAgICAgKHJlY29yZEtleUV2ZW50KToKKyAgICAgICAgKHRlc3RLZXlF
dmVudFdpdGhMb2NhdGlvbik6CisKKyAgICAgICAgKiBwbGF0Zm9ybS9ndGsvU2tpcHBlZDogZmFz
dC9ldmVudHMva2V5ZG93bi1udW1wYWQta2V5cy5odG1sIGFkZGVkLgorICAgICAgICAqIHBsYXRm
b3JtL3F0L1NraXBwZWQ6IGZhc3QvZXZlbnRzL2tleWRvd24tbnVtcGFkLWtleXMuaHRtbCBhZGRl
ZC4KKyAgICAgICAgKiBwbGF0Zm9ybS93aW4vU2tpcHBlZDogZmFzdC9ldmVudHMva2V5ZG93bi1u
dW1wYWQta2V5cy5odG1sIGFkZGVkLgorCiAyMDA5LTEyLTI0ICBSb2JlcnQgSG9nYW4gIDxyb2Jl
cnRAcm9iZXJ0aG9nYW4ubmV0PgogCiAgICAgICAgIFJldmlld2VkIGJ5IEVyaWMgU2VpZGVsLgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMva2V5ZG93bi1udW1wYWQta2V5cy1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9rZXlkb3duLW51bXBhZC1rZXlz
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yN2E0N2Uz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMva2V5ZG93bi1udW1w
YWQta2V5cy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1OCBAQAorCitUaGlzIHRlc3RzIGtleWJv
YXJkIGV2ZW50cyB3aXRoIEtleUxvY2F0aW9uQ29kZSBhcmd1bWVudC4KKworT24gc3VjY2Vzcywg
eW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRF
U1QgQ09NUExFVEUiLgorCisKK1BBU1MgbGFzdEtleWJvYXJkRXZlbnQudHlwZSBpcyAia2V5ZG93
biIKK1BBU1MgbGFzdEtleWJvYXJkRXZlbnQua2V5Q29kZSBpcyAzMworUEFTUyBsYXN0S2V5Ym9h
cmRFdmVudC5rZXlMb2NhdGlvbiBpcyAwCitQQVNTIGxhc3RLZXlib2FyZEV2ZW50LnR5cGUgaXMg
ImtleWRvd24iCitQQVNTIGxhc3RLZXlib2FyZEV2ZW50LmtleUNvZGUgaXMgMzQKK1BBU1MgbGFz
dEtleWJvYXJkRXZlbnQua2V5TG9jYXRpb24gaXMgMAorUEFTUyBsYXN0S2V5Ym9hcmRFdmVudC50
eXBlIGlzICJrZXlkb3duIgorUEFTUyBsYXN0S2V5Ym9hcmRFdmVudC5rZXlDb2RlIGlzIDM2CitQ
QVNTIGxhc3RLZXlib2FyZEV2ZW50LmtleUxvY2F0aW9uIGlzIDAKK1BBU1MgbGFzdEtleWJvYXJk
RXZlbnQudHlwZSBpcyAia2V5ZG93biIKK1BBU1MgbGFzdEtleWJvYXJkRXZlbnQua2V5Q29kZSBp
cyAzNQorUEFTUyBsYXN0S2V5Ym9hcmRFdmVudC5rZXlMb2NhdGlvbiBpcyAwCitQQVNTIGxhc3RL
ZXlib2FyZEV2ZW50LnR5cGUgaXMgImtleWRvd24iCitQQVNTIGxhc3RLZXlib2FyZEV2ZW50Lmtl
eUNvZGUgaXMgMzcKK1BBU1MgbGFzdEtleWJvYXJkRXZlbnQua2V5TG9jYXRpb24gaXMgMAorUEFT
UyBsYXN0S2V5Ym9hcmRFdmVudC50eXBlIGlzICJrZXlkb3duIgorUEFTUyBsYXN0S2V5Ym9hcmRF
dmVudC5rZXlDb2RlIGlzIDM5CitQQVNTIGxhc3RLZXlib2FyZEV2ZW50LmtleUxvY2F0aW9uIGlz
IDAKK1BBU1MgbGFzdEtleWJvYXJkRXZlbnQudHlwZSBpcyAia2V5ZG93biIKK1BBU1MgbGFzdEtl
eWJvYXJkRXZlbnQua2V5Q29kZSBpcyAzOAorUEFTUyBsYXN0S2V5Ym9hcmRFdmVudC5rZXlMb2Nh
dGlvbiBpcyAwCitQQVNTIGxhc3RLZXlib2FyZEV2ZW50LnR5cGUgaXMgImtleWRvd24iCitQQVNT
IGxhc3RLZXlib2FyZEV2ZW50LmtleUNvZGUgaXMgNDAKK1BBU1MgbGFzdEtleWJvYXJkRXZlbnQu
a2V5TG9jYXRpb24gaXMgMAorUEFTUyBsYXN0S2V5Ym9hcmRFdmVudC50eXBlIGlzICJrZXlkb3du
IgorUEFTUyBsYXN0S2V5Ym9hcmRFdmVudC5rZXlDb2RlIGlzIDMzCitQQVNTIGxhc3RLZXlib2Fy
ZEV2ZW50LmtleUxvY2F0aW9uIGlzIDMKK1BBU1MgbGFzdEtleWJvYXJkRXZlbnQudHlwZSBpcyAi
a2V5ZG93biIKK1BBU1MgbGFzdEtleWJvYXJkRXZlbnQua2V5Q29kZSBpcyAzNAorUEFTUyBsYXN0
S2V5Ym9hcmRFdmVudC5rZXlMb2NhdGlvbiBpcyAzCitQQVNTIGxhc3RLZXlib2FyZEV2ZW50LnR5
cGUgaXMgImtleWRvd24iCitQQVNTIGxhc3RLZXlib2FyZEV2ZW50LmtleUNvZGUgaXMgMzYKK1BB
U1MgbGFzdEtleWJvYXJkRXZlbnQua2V5TG9jYXRpb24gaXMgMworUEFTUyBsYXN0S2V5Ym9hcmRF
dmVudC50eXBlIGlzICJrZXlkb3duIgorUEFTUyBsYXN0S2V5Ym9hcmRFdmVudC5rZXlDb2RlIGlz
IDM1CitQQVNTIGxhc3RLZXlib2FyZEV2ZW50LmtleUxvY2F0aW9uIGlzIDMKK1BBU1MgbGFzdEtl
eWJvYXJkRXZlbnQudHlwZSBpcyAia2V5ZG93biIKK1BBU1MgbGFzdEtleWJvYXJkRXZlbnQua2V5
Q29kZSBpcyAzNworUEFTUyBsYXN0S2V5Ym9hcmRFdmVudC5rZXlMb2NhdGlvbiBpcyAzCitQQVNT
IGxhc3RLZXlib2FyZEV2ZW50LnR5cGUgaXMgImtleWRvd24iCitQQVNTIGxhc3RLZXlib2FyZEV2
ZW50LmtleUNvZGUgaXMgMzkKK1BBU1MgbGFzdEtleWJvYXJkRXZlbnQua2V5TG9jYXRpb24gaXMg
MworUEFTUyBsYXN0S2V5Ym9hcmRFdmVudC50eXBlIGlzICJrZXlkb3duIgorUEFTUyBsYXN0S2V5
Ym9hcmRFdmVudC5rZXlDb2RlIGlzIDM4CitQQVNTIGxhc3RLZXlib2FyZEV2ZW50LmtleUxvY2F0
aW9uIGlzIDMKK1BBU1MgbGFzdEtleWJvYXJkRXZlbnQudHlwZSBpcyAia2V5ZG93biIKK1BBU1Mg
bGFzdEtleWJvYXJkRXZlbnQua2V5Q29kZSBpcyA0MAorUEFTUyBsYXN0S2V5Ym9hcmRFdmVudC5r
ZXlMb2NhdGlvbiBpcyAzCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMva2V5ZG93bi1u
dW1wYWQta2V5cy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMva2V5ZG93bi1udW1wYWQt
a2V5cy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBhMGZmY2IKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9rZXlkb3duLW51bXBhZC1r
ZXlzLmh0bWwKQEAgLTAsMCArMSwxMyBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRG
Ly9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIg
aHJlZj0iLi4vanMvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQgc3JjPSIu
Li9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdCBzcmM9InNjcmlwdC10ZXN0cy9rZXlkb3duLW51bXBhZC1rZXlzLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3Nj
cmlwdC10ZXN0cy9rZXlkb3duLW51bXBhZC1rZXlzLmpzIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVu
dHMvc2NyaXB0LXRlc3RzL2tleWRvd24tbnVtcGFkLWtleXMuanMKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMC4uYmMxYjNmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2Zhc3QvZXZlbnRzL3NjcmlwdC10ZXN0cy9rZXlkb3duLW51bXBhZC1rZXlzLmpzCkBAIC0wLDAg
KzEsNTcgQEAKK2Rlc2NyaXB0aW9uKCJUaGlzIHRlc3RzIGtleWJvYXJkIGV2ZW50cyB3aXRoIEtl
eUxvY2F0aW9uQ29kZSBhcmd1bWVudC4iKTsKKwordmFyIGxhc3RLZXlib2FyZEV2ZW50OworCitm
dW5jdGlvbiByZWNvcmRLZXlFdmVudChldikgeworICAgIGV2ID0gZXYgfHwgZXZlbnQ7CisgICAg
ZXYua2V5Q29kZSA9IChldi53aGljaCB8fCBldi5rZXlDb2RlKTsKKyAgICBpZiAod2luZG93LmV2
ZW50U2VuZGVyKSB7CisgICAgICAgIGxhc3RLZXlib2FyZEV2ZW50ID0gZXY7CisgICAgfSBlbHNl
IHsKKyAgICAgICAgZGVidWcoJ1R5cGU9JyArIGV2LnR5cGUgKyAnLCcgKworICAgICAgICAgICAg
ICAna2V5Q29kZT0nICsgZXYua2V5Q29kZSArICcsJyArCisgICAgICAgICAgICAgICdjdHJsS2V5
PScgKyBldi5jdHJsS2V5ICsgJywnICsKKyAgICAgICAgICAgICAgJ3NoaWZ0S2V5PScgKyBldi5z
aGlmdEtleSArICcsJyArCisgICAgICAgICAgICAgICdhbHRLZXk9JyArIGV2LmFsdEtleSArICcs
JyArCisgICAgICAgICAgICAgICdtZXRhS2V5PScgKyBldi5tZXRhS2V5ICsgJywnICsKKyAgICAg
ICAgICAgICAgJ2xvY2F0aW9uPScgKyBldi5rZXlMb2NhdGlvbik7CisgICAgfQorfQorCitmdW5j
dGlvbiB0ZXN0S2V5RXZlbnRXaXRoTG9jYXRpb24oZXZTdHJpbmcsIGV2TG9jYXRpb24sIGV4cGVj
dGVkS2V5Q29kZSkgeworICAgIGV2ZW50U2VuZGVyLmtleURvd24oZXZTdHJpbmcsIFtdLCBldkxv
Y2F0aW9uKTsKKyAgICBzaG91bGRCZSgibGFzdEtleWJvYXJkRXZlbnQudHlwZSIsICcia2V5ZG93
biInKTsKKyAgICBzaG91bGRFdmFsdWF0ZVRvKCJsYXN0S2V5Ym9hcmRFdmVudC5rZXlDb2RlIiwg
ZXhwZWN0ZWRLZXlDb2RlKTsKKyAgICBzaG91bGRFdmFsdWF0ZVRvKCJsYXN0S2V5Ym9hcmRFdmVu
dC5rZXlMb2NhdGlvbiIsIGV2TG9jYXRpb24pOworfQorCit2YXIgdGV4dGFyZWEgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJ0ZXh0YXJlYSIpOwordGV4dGFyZWEuYWRkRXZlbnRMaXN0ZW5lcigi
a2V5ZG93biIsIHJlY29yZEtleUV2ZW50LCBmYWxzZSk7Citkb2N1bWVudC5ib2R5Lmluc2VydEJl
Zm9yZSh0ZXh0YXJlYSwgZG9jdW1lbnQuYm9keS5maXJzdENoaWxkKTsKK3RleHRhcmVhLmZvY3Vz
KCk7CisKK2lmICh3aW5kb3cuZXZlbnRTZW5kZXIpIHsKKyAgICAvLyBsb2NhdGlvbj0wIGluZGlj
YXRlcyB0aGF0IHdlIHNlbmQgZXZlbnRzIGFzIHN0YW5kYXJkIGtleXMuCisgICAgdGVzdEtleUV2
ZW50V2l0aExvY2F0aW9uKCJwYWdlVXAiLCAwLCAzMyk7CisgICAgdGVzdEtleUV2ZW50V2l0aExv
Y2F0aW9uKCJwYWdlRG93biIsIDAsIDM0KTsKKyAgICB0ZXN0S2V5RXZlbnRXaXRoTG9jYXRpb24o
ImhvbWUiLCAwLCAzNik7CisgICAgdGVzdEtleUV2ZW50V2l0aExvY2F0aW9uKCJlbmQiLCAwLCAz
NSk7CisgICAgdGVzdEtleUV2ZW50V2l0aExvY2F0aW9uKCJsZWZ0QXJyb3ciLCAwLCAzNyk7Cisg
ICAgdGVzdEtleUV2ZW50V2l0aExvY2F0aW9uKCJyaWdodEFycm93IiwgMCwgMzkpOworICAgIHRl
c3RLZXlFdmVudFdpdGhMb2NhdGlvbigidXBBcnJvdyIsIDAsIDM4KTsKKyAgICB0ZXN0S2V5RXZl
bnRXaXRoTG9jYXRpb24oImRvd25BcnJvdyIsIDAsIDQwKTsKKworICAgIC8vIGxvY2F0aW9uPTMg
aW5kaWNhdGVzIHRoYXQgd2Ugc2VuZCBldmVudHMgYXMgbnVtZXJpYy1wYWQga2V5cy4KKyAgICB0
ZXN0S2V5RXZlbnRXaXRoTG9jYXRpb24oInBhZ2VVcCIsIDMsIDMzKTsKKyAgICB0ZXN0S2V5RXZl
bnRXaXRoTG9jYXRpb24oInBhZ2VEb3duIiwgMywgMzQpOworICAgIHRlc3RLZXlFdmVudFdpdGhM
b2NhdGlvbigiaG9tZSIsIDMsIDM2KTsKKyAgICB0ZXN0S2V5RXZlbnRXaXRoTG9jYXRpb24oImVu
ZCIsIDMsIDM1KTsKKyAgICB0ZXN0S2V5RXZlbnRXaXRoTG9jYXRpb24oImxlZnRBcnJvdyIsIDMs
IDM3KTsKKyAgICB0ZXN0S2V5RXZlbnRXaXRoTG9jYXRpb24oInJpZ2h0QXJyb3ciLCAzLCAzOSk7
CisgICAgdGVzdEtleUV2ZW50V2l0aExvY2F0aW9uKCJ1cEFycm93IiwgMywgMzgpOworICAgIHRl
c3RLZXlFdmVudFdpdGhMb2NhdGlvbigiZG93bkFycm93IiwgMywgNDApOworfSBlbHNlIHsKKyAg
ICBkZWJ1ZygiVGhpcyB0ZXN0IHJlcXVpcmVzIER1bXBSZW5kZXJUcmVlLiAgVG8gbWFudWFsbHkg
dGVzdCwgMSkgZm9jdXMgb24gdGhlIHRleHRhcmVhIGFib3ZlIGFuZCBwdXNoIG51bXBhZCBrZXlz
IHdpdGhvdXQgbG9ja2luZyBOdW1Mb2NrIGFuZCAyKSBzZWUgaWYgdGhlIGxvY2F0aW9uPSB2YWx1
ZSBpcyAzIChET01fS0VZX0xPQ0FUSU9OX05VTVBBRCBzcGVjaWZpZWQgaW4gRE9NIGxldmVsIDMp
LiIpOworfQorCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3BsYXRmb3JtL2d0ay9Ta2lwcGVkIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3Rr
L1NraXBwZWQKaW5kZXggMjU2N2E0MC4uYTMzYjE0MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vZ3RrL1NraXBwZWQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1NraXBw
ZWQKQEAgLTIyNTksNiArMjI1OSw3IEBAIGZhc3QvZXZlbnRzL2V2ZW50LWxpc3RlbmVyLW9uLWxp
bmsuaHRtbAogZmFzdC9ldmVudHMvZXZlbnQtc2VuZGVyLW1vdXNlLW1vdmVkLmh0bWwKIGZhc3Qv
ZXZlbnRzL2ZvY3VzaW5nVW5sb2FkZWRGcmFtZS5odG1sCiBmYXN0L2V2ZW50cy9rZXlkb3duLTEu
aHRtbAorZmFzdC9ldmVudHMva2V5ZG93bi1udW1wYWQta2V5cy5odG1sCiBmYXN0L2V2ZW50cy9s
YWJlbC1mb2N1cy5odG1sCiBmYXN0L2V2ZW50cy9tb3VzZW91dC1kZWFkLW5vZGUuaHRtbAogZmFz
dC9ldmVudHMvb25sb2FkLXJlLWVudHJ5Lmh0bWwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3Bs
YXRmb3JtL3F0L1NraXBwZWQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9Ta2lwcGVkCmluZGV4
IGQ2YWIzZTguLjJmMGJjNDcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3F0L1Nr
aXBwZWQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvU2tpcHBlZApAQCAtNDcxLDYgKzQ3
MSw3IEBAIGZhc3QvZXZlbnRzL2RyYWctaW4tZnJhbWVzLmh0bWwKIGZhc3QvZXZlbnRzL2ZvY3Vz
aW5nVW5sb2FkZWRGcmFtZS5odG1sCiBmYXN0L2V2ZW50cy9qcy1rZXlib2FyZC1ldmVudC1jcmVh
dGlvbi5odG1sCiBmYXN0L2V2ZW50cy9rZXlkb3duLTEuaHRtbAorZmFzdC9ldmVudHMva2V5ZG93
bi1udW1wYWQta2V5cy5odG1sCiBmYXN0L2V2ZW50cy9rZXlwcmVzcy1pbnNlcnQtdGFiLmh0bWwK
IGZhc3QvZXZlbnRzL21vdXNlb3V0LWRlYWQtbm9kZS5odG1sCiBmYXN0L2V2ZW50cy9vbmRyYWdl
bnRlci5odG1sCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vU2tpcHBlZCBi
L0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9Ta2lwcGVkCmluZGV4IGI5N2FiYWEuLmI4ZWFmZmIg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9Ta2lwcGVkCisrKyBiL0xheW91
dFRlc3RzL3BsYXRmb3JtL3dpbi9Ta2lwcGVkCkBAIC0xMTgsNiArMTE4LDkgQEAgZmFzdC9ldmVu
dHMvYXR0ZW1wdC1zY3JvbGwtd2l0aC1uby1zY3JvbGxiYXJzLmh0bWwKICMgRW1hY3MgYmluZGlu
Z3MgYXJlIHVzZWQgaW4gTGF5b3V0VGVzdHMgd2hpY2ggZmFpbCBvbiBib29tZXIuIDxyZGFyOi8v
cHJvYmxlbS81MTM3MzUyPgogZmFzdC9ldmVudHMva2V5ZG93bi0xLmh0bWwKIAorIyBObyBzdXBw
b3J0IGZvciBrZXkgZXZlbnQgbG9jYXRpb24gaW4gRXZlbnRTZW5kZXIuCitmYXN0L2V2ZW50cy9r
ZXlkb3duLW51bXBhZC1rZXlzLmh0bWwKKwogIyBUaGUgZXFxaXZhbGVudCBvZiBvcHRpb24tdGFi
IGRvZXNuIG5vdCBleGlzdCBpbiBCb29tZXIgPHJkYXI6Ly9wcm9ibGVtLzUxMzcyMzA+CiBmYXN0
L2V2ZW50cy9mcmFtZS10YWItZm9jdXMuaHRtbAogZmFzdC9ldmVudHMvb3B0aW9uLXRhYi5odG1s
CmRpZmYgLS1naXQgYS9XZWJDb3JlL0NoYW5nZUxvZyBiL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4
IDE2ODkzMjQuLjNhMDU0NzcgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1dl
YkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMDktMTItMjUgIEtpbnVrbyBZYXN1
ZGEgIDxraW51a29AY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIEZpeGVkIGlzS2V5cGFkRXZlbnQgYmVoYXZpb3IgZm9yIE1hYyB0
byBjb3JyZWN0bHkgcmVwb3J0IGtleUxvY2F0aW9uCisgICAgICAgIGFzIERPTV9LRVlfTE9DQVRJ
T05fTlVNUEFEIGZvciBudW1lcmljIHBhZCBrZXkgZXZlbnRzLgorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjgyNDcKKworICAgICAgICBUZXN0OiBmYXN0
L2V2ZW50cy9rZXlkb3duLW51bXBhZC1rZXlzLmh0bWwKKworICAgICAgICAqIHBsYXRmb3JtL21h
Yy9LZXlFdmVudE1hYy5tbToKKyAgICAgICAgKFdlYkNvcmU6OmlzS2V5cGFkRXZlbnQpOgorCiAy
MDA5LTEyLTI0ICBTaGluaWNoaXJvIEhhbWFqaSAgPGhhbWFqaUBjaHJvbWl1bS5vcmc+CiAKICAg
ICAgICAgVW5yZXZpZXdlZCBDaHJvbWl1bSB0ZXN0IGZpeCBieSByZXZlcnRpbmcgcjUyNTM2Lgpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvS2V5RXZlbnRNYWMubW0gYi9XZWJDb3Jl
L3BsYXRmb3JtL21hYy9LZXlFdmVudE1hYy5tbQppbmRleCAwYmM4ODAwLi4yZTE1NzliIDEwMDY0
NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL21hYy9LZXlFdmVudE1hYy5tbQorKysgYi9XZWJDb3Jl
L3BsYXRmb3JtL21hYy9LZXlFdmVudE1hYy5tbQpAQCAtMzY4LDYgKzM2OCw5IEBAIHN0YXRpYyBi
b29sIGlzS2V5cGFkRXZlbnQoTlNFdmVudCogZXZlbnQpCiAgICAgICAgICAgICByZXR1cm4gZmFs
c2U7CiAgICAgfQogCisgICAgaWYgKFtldmVudCBtb2RpZmllckZsYWdzXSAmIE5TTnVtZXJpY1Bh
ZEtleU1hc2spCisgICAgICAgIHJldHVybiB0cnVlOworCiAgICAgc3dpdGNoIChbZXZlbnQga2V5
Q29kZV0pIHsKICAgICAgICAgY2FzZSA3MTogLy8gQ2xlYXIKICAgICAgICAgY2FzZSA4MTogLy8g
PQpkaWZmIC0tZ2l0IGEvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZyBiL1dlYktpdC9jaHJvbWl1
bS9DaGFuZ2VMb2cKaW5kZXggMzRmZmU1Yi4uOThhNmIwOCAxMDA2NDQKLS0tIGEvV2ViS2l0L2No
cm9taXVtL0NoYW5nZUxvZworKysgYi9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMTYgQEAKKzIwMDktMTItMjUgIEtpbnVrbyBZYXN1ZGEgIDxraW51a29AY2hyb21pdW0ub3Jn
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEZpeGVk
IGlzS2V5cGFkRXZlbnQgYmVoYXZpb3IgZm9yIGNocm9taXVtL01hYyB0byBjb3JyZWN0bHkgcmVw
b3J0CisgICAgICAgIGtleUxvY2F0aW9uIGFzIERPTV9LRVlfTE9DQVRJT05fTlVNUEFEIGZvciBu
dW1lcmljIHBhZCBrZXkgZXZlbnRzLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjgyNDcKKworICAgICAgICBUZXN0OiBmYXN0L2V2ZW50cy9rZXlkb3du
LW51bXBhZC1rZXlzLmh0bWwKKworICAgICAgICAqIHNyYy9tYWMvV2ViSW5wdXRFdmVudEZhY3Rv
cnkubW06CisgICAgICAgIChXZWJLaXQ6OmlzS2V5cGFkRXZlbnQpOgorCiAyMDA5LTEyLTIyICBL
ZW5uZXRoIFJ1c3NlbGwgIDxrYnJAZ29vZ2xlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBF
cmljIFNlaWRlbC4KZGlmZiAtLWdpdCBhL1dlYktpdC9jaHJvbWl1bS9zcmMvbWFjL1dlYklucHV0
RXZlbnRGYWN0b3J5Lm1tIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9tYWMvV2ViSW5wdXRFdmVudEZh
Y3RvcnkubW0KaW5kZXggZDYxODIyOC4uNDZiMGFmZSAxMDA2NDQKLS0tIGEvV2ViS2l0L2Nocm9t
aXVtL3NyYy9tYWMvV2ViSW5wdXRFdmVudEZhY3RvcnkubW0KKysrIGIvV2ViS2l0L2Nocm9taXVt
L3NyYy9tYWMvV2ViSW5wdXRFdmVudEZhY3RvcnkubW0KQEAgLTkyLDYgKzkyLDkgQEAgc3RhdGlj
IGJvb2wgaXNLZXlwYWRFdmVudChOU0V2ZW50KiBldmVudCkKICAgICAgICAgcmV0dXJuIGZhbHNl
OwogICAgIH0KIAorICAgIGlmIChbZXZlbnQgbW9kaWZpZXJGbGFnc10gJiBOU051bWVyaWNQYWRL
ZXlNYXNrKQorICAgICAgICByZXR1cm4gdHJ1ZTsKKwogICAgIHN3aXRjaCAoW2V2ZW50IGtleUNv
ZGVdKSB7CiAgICAgY2FzZSA3MTogLy8gQ2xlYXIKICAgICBjYXNlIDgxOiAvLyA9CmRpZmYgLS1n
aXQgYS9XZWJLaXRUb29scy9DaGFuZ2VMb2cgYi9XZWJLaXRUb29scy9DaGFuZ2VMb2cKaW5kZXgg
YWRiYzNkNy4uZDQxOWE0NSAxMDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCisrKyBi
L1dlYktpdFRvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDA5LTEyLTI1ICBLaW51
a28gWWFzdWRhICA8a2ludWtvQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBFeHRlbmRlZCBFdmVudFNlbmRlci5rZXlEb3duIG1l
dGhvZCB0byB0YWtlIGFub3RoZXIgKDNyZCkgYXJndW1lbnQKKyAgICAgICAgZm9yIGluZGljYXRp
bmcgdGhlIGtleUxvY2F0aW9uIHRvIG1ha2UgbnVtZXJpYyBwYWQga2V5IGV2ZW50cyB0ZXN0YWJs
ZS4KKyAgICAgICAgRXhwZWN0ZWQgdmFsdWVzIGZvciB0aGUgYXJndW1lbnQgaXMgb25lIG9mIHRo
ZSBLZXlMb2NhdGlvbkNvZGUKKyAgICAgICAgc3BlY2lmaWVkIGluIERPTSBMZXZlbCAzCisgICAg
ICAgIChodHRwOi8vd3d3LnczLm9yZy9UUi9ET00tTGV2ZWwtMy1FdmVudHMvI2V2ZW50cy1rZXli
b2FyZGV2ZW50cykuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0yODI0NworCisgICAgICAgIFRlc3Q6IGZhc3QvZXZlbnRzL2tleWRvd24tbnVtcGFkLWtl
eXMuaHRtbAorCisgICAgICAgICogRHVtcFJlbmRlclRyZWUvbWFjL0V2ZW50U2VuZGluZ0NvbnRy
b2xsZXIubW06CisgICAgICAgICgrW0V2ZW50U2VuZGluZ0NvbnRyb2xsZXIgaXNTZWxlY3RvckV4
Y2x1ZGVkRnJvbVdlYlNjcmlwdDpdKToKKyAgICAgICAgKCtbRXZlbnRTZW5kaW5nQ29udHJvbGxl
ciB3ZWJTY3JpcHROYW1lRm9yU2VsZWN0b3I6XSk6CisgICAgICAgICgtW0V2ZW50U2VuZGluZ0Nv
bnRyb2xsZXIga2V5RG93bjp3aXRoTW9kaWZpZXJzOndpdGhMb2NhdGlvbjpdKToKKwogMjAwOS0x
Mi0yMyAgRXJpYyBTZWlkZWwgIDxlcmljQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQg
YnkgQWRhbSBCYXJ0aC4KZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL21h
Yy9FdmVudFNlbmRpbmdDb250cm9sbGVyLm1tIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUv
bWFjL0V2ZW50U2VuZGluZ0NvbnRyb2xsZXIubW0KaW5kZXggMWNiYTUzYi4uMzNhMDRmNCAxMDA2
NDQKLS0tIGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0V2ZW50U2VuZGluZ0NvbnRy
b2xsZXIubW0KKysrIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0V2ZW50U2VuZGlu
Z0NvbnRyb2xsZXIubW0KQEAgLTEyNSw3ICsxMjUsNyBAQCBCT09MIHJlcGxheWluZ1NhdmVkRXZl
bnRzOwogICAgICAgICAgICAgfHwgYVNlbGVjdG9yID09IEBzZWxlY3Rvcihjb250ZXh0Q2xpY2sp
CiAgICAgICAgICAgICB8fCBhU2VsZWN0b3IgPT0gQHNlbGVjdG9yKGVuYWJsZURPTVVJRXZlbnRM
b2dnaW5nOikKICAgICAgICAgICAgIHx8IGFTZWxlY3RvciA9PSBAc2VsZWN0b3IoZmlyZUtleWJv
YXJkRXZlbnRzVG9FbGVtZW50OikKLSAgICAgICAgICAgIHx8IGFTZWxlY3RvciA9PSBAc2VsZWN0
b3Ioa2V5RG93bjp3aXRoTW9kaWZpZXJzOikKKyAgICAgICAgICAgIHx8IGFTZWxlY3RvciA9PSBA
c2VsZWN0b3Ioa2V5RG93bjp3aXRoTW9kaWZpZXJzOndpdGhMb2NhdGlvbjopCiAgICAgICAgICAg
ICB8fCBhU2VsZWN0b3IgPT0gQHNlbGVjdG9yKGxlYXBGb3J3YXJkOikKICAgICAgICAgICAgIHx8
IGFTZWxlY3RvciA9PSBAc2VsZWN0b3IobW91c2VEb3duOikKICAgICAgICAgICAgIHx8IGFTZWxl
Y3RvciA9PSBAc2VsZWN0b3IobW91c2VNb3ZlVG9YOlk6KQpAQCAtMTU0LDcgKzE1NCw3IEBAIEJP
T0wgcmVwbGF5aW5nU2F2ZWRFdmVudHM7CiAgICAgICAgIHJldHVybiBAImVuYWJsZURPTVVJRXZl
bnRMb2dnaW5nIjsKICAgICBpZiAoYVNlbGVjdG9yID09IEBzZWxlY3RvcihmaXJlS2V5Ym9hcmRF
dmVudHNUb0VsZW1lbnQ6KSkKICAgICAgICAgcmV0dXJuIEAiZmlyZUtleWJvYXJkRXZlbnRzVG9F
bGVtZW50IjsKLSAgICBpZiAoYVNlbGVjdG9yID09IEBzZWxlY3RvcihrZXlEb3duOndpdGhNb2Rp
ZmllcnM6KSkKKyAgICBpZiAoYVNlbGVjdG9yID09IEBzZWxlY3RvcihrZXlEb3duOndpdGhNb2Rp
ZmllcnM6d2l0aExvY2F0aW9uOikpCiAgICAgICAgIHJldHVybiBAImtleURvd24iOwogICAgIGlm
IChhU2VsZWN0b3IgPT0gQHNlbGVjdG9yKGxlYXBGb3J3YXJkOikpCiAgICAgICAgIHJldHVybiBA
ImxlYXBGb3J3YXJkIjsKQEAgLTQ3NCw3ICs0NzQsNyBAQCBzdGF0aWMgTlNFdmVudFR5cGUgZXZl
bnRUeXBlRm9yTW91c2VCdXR0b25BbmRBY3Rpb24oaW50IGJ1dHRvbiwgTW91c2VBY3Rpb24gYWN0
aQogICAgIHNhdmVkTW91c2VFdmVudHMgPSBuaWw7CiB9CiAKLS0gKHZvaWQpa2V5RG93bjooTlNT
dHJpbmcgKiljaGFyYWN0ZXIgd2l0aE1vZGlmaWVyczooV2ViU2NyaXB0T2JqZWN0ICopbW9kaWZp
ZXJzCistICh2b2lkKWtleURvd246KE5TU3RyaW5nICopY2hhcmFjdGVyIHdpdGhNb2RpZmllcnM6
KFdlYlNjcmlwdE9iamVjdCAqKW1vZGlmaWVycyB3aXRoTG9jYXRpb246KHVuc2lnbmVkIGxvbmcp
a2V5TG9jYXRpb24KIHsKICAgICBOU1N0cmluZyAqZXZlbnRDaGFyYWN0ZXIgPSBjaGFyYWN0ZXI7
CiAgICAgaWYgKFtjaGFyYWN0ZXIgaXNFcXVhbFRvU3RyaW5nOkAibGVmdEFycm93Il0pIHsKQEAg
LTUzOCw2ICs1MzgsOSBAQCBzdGF0aWMgTlNFdmVudFR5cGUgZXZlbnRUeXBlRm9yTW91c2VCdXR0
b25BbmRBY3Rpb24oaW50IGJ1dHRvbiwgTW91c2VBY3Rpb24gYWN0aQogICAgICAgICB9CiAgICAg
fQogCisgICAgaWYgKGtleUxvY2F0aW9uID09IERPTV9LRVlfTE9DQVRJT05fTlVNUEFEKQorICAg
ICAgICBtb2RpZmllckZsYWdzIHw9IE5TTnVtZXJpY1BhZEtleU1hc2s7CisKICAgICBbW1ttYWlu
RnJhbWUgZnJhbWVWaWV3XSBkb2N1bWVudFZpZXddIGxheW91dF07CiAKICAgICBOU0V2ZW50ICpl
dmVudCA9IFtOU0V2ZW50IGtleUV2ZW50V2l0aFR5cGU6TlNLZXlEb3duCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>