<?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>191967</bug_id>
          
          <creation_ts>2018-11-26 09:46:33 -0800</creation_ts>
          <short_desc>REGRESSION (r237738): Command Down Arrow doesn&apos;t scroll to the end of a page anymore</short_desc>
          <delta_ts>2018-11-26 14:58:03 -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>WebKit Misc.</component>
          <version>WebKit Local Build</version>
          <rep_platform>iPhone / iPad</rep_platform>
          <op_sys>iOS 12</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar, Regression</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>190487</dependson>
          <blocked>191815</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Daniel Bates">dbates</reporter>
          <assigned_to name="Daniel Bates">dbates</assigned_to>
          <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>wenson_hsieh</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1481549</commentid>
    <comment_count>0</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2018-11-26 09:46:33 -0800</bug_when>
    <thetext>Steps to reproduce:
1. Visit &lt;https://www.apple.com&gt;.
2. Press Command + Down Arrow.

Then nothing happens. But the page should be scrolled to the bottom.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1481550</commentid>
    <comment_count>1</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2018-11-26 09:47:59 -0800</bug_when>
    <thetext>Following r237738 the value of the enumerations used to identify modifier keys (e.g. Shift) changed to match the values of the corresponding enumerations in GraphicsServices, which are the enumerations UIKit uses to computes the modifier flags bitmask when instantiating a WebEvent to pass to WebKit. Before r237738 WebKit was using enumerations whose values matched the values of the corresponding UIKit public API UIKeyModifier* enumerations. For non-content editable elements, WebKit intercepts UIKit events in -_handleKeyUIEvent, synthesizes and dispatches its own WebEvent. However it was creating WebEvents with a modifier flags bitmask built from the UIKeyModifier* enumerations, -_modifierFlags, as opposed to a bitmask from the GraphicsServices enumerations, -_gsModifierFlags.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1481552</commentid>
    <comment_count>2</comment_count>
      <attachid>355645</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2018-11-26 09:49:39 -0800</bug_when>
    <thetext>Created attachment 355645
Patch and layout tests</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1481704</commentid>
    <comment_count>3</comment_count>
      <attachid>355645</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2018-11-26 14:57:48 -0800</bug_when>
    <thetext>Comment on attachment 355645
Patch and layout tests

Clearing flags on attachment: 355645

Committed r238526: &lt;https://trac.webkit.org/changeset/238526&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1481705</commentid>
    <comment_count>4</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2018-11-26 14:57:50 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1481706</commentid>
    <comment_count>5</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2018-11-26 14:58:03 -0800</bug_when>
    <thetext>&lt;rdar://problem/45976390&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>355645</attachid>
            <date>2018-11-26 09:49:39 -0800</date>
            <delta_ts>2018-11-26 14:57:48 -0800</delta_ts>
            <desc>Patch and layout tests</desc>
            <filename>bug-191967-20181126094938.patch</filename>
            <type>text/plain</type>
            <size>20641</size>
            <attacher name="Daniel Bates">dbates</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM4NDk4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGZiN2ZhZDFmMDc0MGM3Y2Y0
NjA0NzFmZTA0NWUxZjA4ODJhYjBhODMuLmQwMWZkOTIwZjIxOTNiMmQyOTdjNzIxMWFmNzFkMGRk
NTk0ZTgxNmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzcgQEAKKzIwMTgtMTEtMjYgIERhbmllbCBC
YXRlcyAgPGRhYmF0ZXNAYXBwbGUuY29tPgorCisgICAgICAgIFJFR1JFU1NJT04gKHIyMzc3Mzgp
OiBDb21tYW5kIERvd24gQXJyb3cgZG9lc24ndCBzY3JvbGwgdG8gdGhlIGVuZCBvZiBhIHBhZ2Ug
YW55bW9yZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTkxOTY3CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS80NTk3NjM5MD4KKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBGaXhlcyBhbiBpc3N1ZSB3aGVyZSBw
cmVzc2luZyBDb21tYW5kICsgRG93biBBcnJvdyBkb2VzIG5vdCBzY3JvbGwgdGhlIHZpZXcgdG8g
dGhlIGVuZCBvZiB0aGUgcGFnZS4KKworICAgICAgICBGb2xsb3dpbmcgcjIzNzczOCB0aGUgdmFs
dWUgb2YgdGhlIGVudW1lcmF0aW9ucyB1c2VkIHRvIGlkZW50aWZ5IG1vZGlmaWVyIGtleXMgKGUu
Zy4gU2hpZnQpIGNoYW5nZWQKKyAgICAgICAgdG8gbWF0Y2ggdGhlIHZhbHVlcyBvZiB0aGUgY29y
cmVzcG9uZGluZyBlbnVtZXJhdGlvbnMgaW4gR3JhcGhpY3NTZXJ2aWNlcywgd2hpY2ggYXJlIHRo
ZQorICAgICAgICBlbnVtZXJhdGlvbnMgVUlLaXQgdXNlcyB0byBjb21wdXRlcyB0aGUgbW9kaWZp
ZXIgZmxhZ3MgYml0bWFzayB3aGVuIGluc3RhbnRpYXRpbmcgYSBXZWJFdmVudCB0bworICAgICAg
ICBwYXNzIHRvIFdlYktpdC4gQmVmb3JlIHIyMzc3MzggV2ViS2l0IHdhcyB1c2luZyBlbnVtZXJh
dGlvbnMgd2hvc2UgdmFsdWVzIG1hdGNoZWQgdGhlIHZhbHVlcworICAgICAgICBvZiB0aGUgY29y
cmVzcG9uZGluZyBVSUtpdCBwdWJsaWMgQVBJIFVJS2V5TW9kaWZpZXIqIGVudW1lcmF0aW9ucy4g
Rm9yIG5vbi1jb250ZW50IGVkaXRhYmxlIGVsZW1lbnRzLAorICAgICAgICBXZWJLaXQgaW50ZXJj
ZXB0cyBVSUtpdCBldmVudHMgaW4gLV9oYW5kbGVLZXlVSUV2ZW50LCBzeW50aGVzaXplcyBhbmQg
ZGlzcGF0Y2hlcyBpdHMgb3duIFdlYkV2ZW50LgorICAgICAgICBIb3dldmVyIGl0IHdhcyBjcmVh
dGluZyBXZWJFdmVudHMgd2l0aCBhIG1vZGlmaWVyIGZsYWdzIGJpdG1hc2sgYnVpbHQgZnJvbSB0
aGUgVUlLZXlNb2RpZmllciogZW51bWVyYXRpb25zLAorICAgICAgICAtX21vZGlmaWVyRmxhZ3Ms
IGFzIG9wcG9zZWQgdG8gYSBiaXRtYXNrIGZyb20gdGhlIEdyYXBoaWNzU2VydmljZXMgZW51bWVy
YXRpb25zLCAtX2dzTW9kaWZpZXJGbGFncy4KKyAgICAgICAgSW5zdGVhZCBXZWJLaXQgc2hvdWxk
IGNhbGwgLV9nc01vZGlmaWVyRmxhZ3MgdG8gY29tcHV0ZSB0aGUgR3JhcGhpY3NTZXJ2aWNlcy1j
b21wYXRpYmxlIG1vZGlmaWVyCisgICAgICAgIGZsYWdzIGJpdG1hc2sgd2hlbiBpbnN0YW50aWF0
aW5nIGEgV2ViRXZlbnQuCisKKyAgICAgICAgKiBQbGF0Zm9ybS9zcGkvaW9zL1VJS2l0U1BJLmg6
IEV4cG9zZSAtX2dzTW9kaWZpZXJGbGFncyBhbmQgcmVtb3ZlIC1fbW9kaWZpZXJGbGFncy4KKyAg
ICAgICAgKiBVSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5tbToKKyAgICAg
ICAgKC1bV0tDb250ZW50VmlldyBfaGFuZGxlS2V5VUlFdmVudDpdKTogUmVtb3ZlIHVubmVjZXNz
YXJ5IGNvZGUgdG8gdXBkYXRlIHRoZSBjdXJyZW50IG1vZGlmaWVyIHN0YXRlLgorICAgICAgICBU
aGlzIHdpbGwgYmUgZG9uZSBieSB0aGUgV2ViUHJvY2VzcyB3aGVuIGl0IHJlY2VpdmVzIHRoZSBr
ZXlib2FyZCBldmVudC4KKyAgICAgICAgKC1bV0tDb250ZW50VmlldyBfZGlkSGFuZGxlS2V5RXZl
bnQ6ZXZlbnRXYXNIYW5kbGVkOl0pOiBEbyBub3QgcGFzcyBtb2RpZmllciBmbGFncyBjaGFuZ2Vk
IGV2ZW50cworICAgICAgICB0byB0aGUgc2Nyb2xsaW5nIGFuaW1hdG9yIGFzIGl0IGRvZXMgbm90
IGtub3cgaG93IHRvIGhhbmRsZSB0aGVzZSBraW5kcyBvZiBldmVudHMgYW5kIHRyaWdnZXJzIGFu
CisgICAgICAgIGFzc2VydGlvbiBmYWlsdXJlIHdoZW4gaXQgdHJpZXMgdG8gcmVhZCB0aGUgaW5w
dXQgc3RyaW5nIGZyb20gdGhlIGV2ZW50IChjYWxscyAtY2hhcmFjdGVyc0lnbm9yaW5nTW9kaWZp
ZXJzKS4KKyAgICAgICAgRmxhZ3NDaGFuZ2VkIFdlYkV2ZW50cyBldmVudHMgZG8gbm90IGhhdmUg
YW4gaW5wdXQgc3RyaW5nIGp1c3QgbGlrZSBhIEZsYWdzQ2hhbmdlZCBOU0V2ZW50IHRoYXQKKyAg
ICAgICAgdGhleSBtb2RlbCBvbiBNYWMuCisgICAgICAgICogVUlQcm9jZXNzL2lvcy9XS1dlYkV2
ZW50Lm1tOgorICAgICAgICAoLVtXS1dlYkV2ZW50IGluaXRXaXRoRXZlbnQ6XSk6IFBhc3MgdGhl
IHZhbHVlIG9mIC1fZ3NNb2RpZmllckZsYWdzIGZvciB0aGUgbW9kaWZpZXIgZmxhZ3MgYml0bWFz
aworICAgICAgICBpbnN0ZWFkIG9mIHRoZSB2YWx1ZSBvZiAtX21vZGlmaWVyRmxhZ3MuCisKIDIw
MTgtMTEtMjYgIERhbmllbCBCYXRlcyAgPGRhYmF0ZXNAYXBwbGUuY29tPgogCiAgICAgICAgIFdp
cmUgdXAgQ2hyb21lQ2xpZW50Ojp0YWtlRm9jdXMoKSBvbiBpT1MKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvUGxhdGZvcm0vc3BpL2lvcy9VSUtpdFNQSS5oIGIvU291cmNlL1dlYktpdC9QbGF0
Zm9ybS9zcGkvaW9zL1VJS2l0U1BJLmgKaW5kZXggMjdmMjVjMTUyOWNiZjJhNjUyMWM2MmMyOTYx
MTY3M2JlNDRlZTEzMi4uMTQzZjE2Yzk5MmY2Mzc5MDI1Mjk0YmM2NzJmNDFlZGZhMzQwYTQ0NCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9zcGkvaW9zL1VJS2l0U1BJLmgKKysr
IGIvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9zcGkvaW9zL1VJS2l0U1BJLmgKQEAgLTE5OSw3ICsx
OTksNiBAQCB0eXBlZGVmIGVudW0gewogLSAodm9pZCAqKV9oaWRFdmVudDsKIC0gKE5TU3RyaW5n
ICopX3VubW9kaWZpZWRJbnB1dDsKIC0gKE5TU3RyaW5nICopX21vZGlmaWVkSW5wdXQ7Ci0tIChO
U0ludGVnZXIpX21vZGlmaWVyRmxhZ3M7CiAtIChCT09MKV9pc0tleURvd247CiBAZW5kCiAKQEAg
LTEwMjYsNiArMTAyNSw3IEBAIHR5cGVkZWYgTlNJbnRlZ2VyIFVJQ29tcG9zaXRpbmdNb2RlOwog
LSAoVUlQaHlzaWNhbEtleWJvYXJkRXZlbnQgKilfY2xvbmVFdmVudCBOU19SRVRVUk5TX1JFVEFJ
TkVEOwogQHByb3BlcnR5IChub25hdG9taWMsIHJlYWRvbmx5KSBVSUtleWJvYXJkSW5wdXRGbGFn
cyBfaW5wdXRGbGFnczsKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCByZWFkb25seSkgQ0ZJbmRleCBf
a2V5Q29kZTsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCByZWFkb25seSkgTlNJbnRlZ2VyIF9nc01v
ZGlmaWVyRmxhZ3M7CiBAZW5kCiAKIEBpbnRlcmZhY2UgVUlDb2xvciAoSVBJKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5t
bSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24u
bW0KaW5kZXggYThiZTEyZTc2MjVlMjBiYjM2YjRiZDJiOTAyMWVhZTk4OGE1MGYwZC4uM2I2YTE4
NjUwYWYyMTI5OTcwYmIxNGM1NjBjYjRiOTViY2JlMDNlOCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5tbQorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tCkBAIC0z
ODQyLDggKzM4NDIsNiBAQCAtIChCT09MKXJlcXVpcmVzS2V5RXZlbnRzCiAtICh2b2lkKV9oYW5k
bGVLZXlVSUV2ZW50Oig6OlVJRXZlbnQgKilldmVudAogewogICAgIGJvb2wgaXNIYXJkd2FyZUtl
eWJvYXJkRXZlbnQgPSAhIWV2ZW50Ll9oaWRFdmVudDsKLSAgICBpZiAoaXNIYXJkd2FyZUtleWJv
YXJkRXZlbnQgJiYgKChVSVBoeXNpY2FsS2V5Ym9hcmRFdmVudCAqKWV2ZW50KS5faW5wdXRGbGFn
cyAmIGtVSUtleWJvYXJkSW5wdXRNb2RpZmllckZsYWdzQ2hhbmdlZCkKLSAgICAgICAgX3BhZ2Ut
PnVwZGF0ZUN1cnJlbnRNb2RpZmllclN0YXRlKCk7CiAKICAgICAvLyBXZSBvbmx5IHdhbnQgdG8g
aGFuZGxlIGtleSBldmVudCBmcm9tIHRoZSBoYXJkd2FyZSBrZXlib2FyZCB3aGVuIHdlIGFyZQog
ICAgIC8vIGZpcnN0IHJlc3BvbmRlciBhbmQgd2UgYXJlIG5vdCBpbnRlcmFjdGluZyB3aXRoIGVk
aXRhYmxlIGNvbnRlbnQuCkBAIC0zODc5LDcgKzM4NzcsOCBAQCAtICh2b2lkKWhhbmRsZUtleVdl
YkV2ZW50Oig6OldlYkV2ZW50ICopdGhlRXZlbnQgd2l0aENvbXBsZXRpb25IYW5kbGVyOih2b2lk
ICheKQogCiAtICh2b2lkKV9kaWRIYW5kbGVLZXlFdmVudDooOjpXZWJFdmVudCAqKWV2ZW50IGV2
ZW50V2FzSGFuZGxlZDooQk9PTClldmVudFdhc0hhbmRsZWQKIHsKLSAgICBbX2tleWJvYXJkU2Ny
b2xsaW5nQW5pbWF0b3IgaGFuZGxlS2V5RXZlbnQ6ZXZlbnRdOworICAgIGlmICghKGV2ZW50Lmtl
eWJvYXJkRmxhZ3MgJiBXZWJFdmVudEtleWJvYXJkSW5wdXRNb2RpZmllckZsYWdzQ2hhbmdlZCkp
CisgICAgICAgIFtfa2V5Ym9hcmRTY3JvbGxpbmdBbmltYXRvciBoYW5kbGVLZXlFdmVudDpldmVu
dF07CiAgICAgCiAgICAgaWYgKGF1dG8gaGFuZGxlciA9IFdURk1vdmUoX2tleVdlYkV2ZW50SGFu
ZGxlcikpIHsKICAgICAgICAgaGFuZGxlcihldmVudCwgZXZlbnRXYXNIYW5kbGVkKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS1dlYkV2ZW50Lm1tIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLV2ViRXZlbnQubW0KaW5kZXggOTQxYzgxODcxYWMwYzkx
Y2QyYjMxMzBjODI1ZDFkOGQ2MzY4MTRkOS4uN2Q4MWUzMzhmNjQwNjk1NjIzYjAyYTA3ZDdkMDhi
YTk0MTk5MDBjNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLV2Vi
RXZlbnQubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLV2ViRXZlbnQubW0K
QEAgLTM5LDE4ICszOSwyMSBAQCAtIChpbnN0YW5jZXR5cGUpaW5pdFdpdGhFdmVudDooVUlFdmVu
dCAqKWV2ZW50CiB7CiAgICAgdWludDE2X3Qga2V5Q29kZTsKICAgICBVSUtleWJvYXJkSW5wdXRG
bGFncyBpbnB1dEZsYWdzOworICAgIE5TSW50ZWdlciBtb2RpZmllckZsYWdzOwogICAgIEJPT0wg
aXNIYXJkd2FyZUtleWJvYXJkRXZlbnQgPSAhIWV2ZW50Ll9oaWRFdmVudDsKICAgICBpZiAoIWlz
SGFyZHdhcmVLZXlib2FyZEV2ZW50KSB7CiAgICAgICAgIGtleUNvZGUgPSAwOwogICAgICAgICBp
bnB1dEZsYWdzID0gKFVJS2V5Ym9hcmRJbnB1dEZsYWdzKTA7CisgICAgICAgIG1vZGlmaWVyRmxh
Z3MgPSAwOwogICAgIH0gZWxzZSB7CiAgICAgICAgIFVJUGh5c2ljYWxLZXlib2FyZEV2ZW50ICpr
ZXlFdmVudCA9IChVSVBoeXNpY2FsS2V5Ym9hcmRFdmVudCAqKWV2ZW50OwogICAgICAgICBrZXlD
b2RlID0ga2V5RXZlbnQuX2tleUNvZGU7CiAgICAgICAgIGlucHV0RmxhZ3MgPSBrZXlFdmVudC5f
aW5wdXRGbGFnczsKKyAgICAgICAgbW9kaWZpZXJGbGFncyA9IGtleUV2ZW50Ll9nc01vZGlmaWVy
RmxhZ3M7CiAgICAgICAgIGV2ZW50ID0gW1trZXlFdmVudCBfY2xvbmVFdmVudF0gYXV0b3JlbGVh
c2VdOyAvLyBVSUtpdCB1c2VzIGEgc2luZ2xldG9uIGZvciBoYXJkd2FyZSBrZXlib2FyZCBldmVu
dHMuCiAgICAgfQogCi0gICAgc2VsZiA9IFtzdXBlciBpbml0V2l0aEtleUV2ZW50VHlwZTooZXZl
bnQuX2lzS2V5RG93biA/IFdlYkV2ZW50S2V5RG93biA6IFdlYkV2ZW50S2V5VXApIHRpbWVTdGFt
cDpldmVudC50aW1lc3RhbXAgY2hhcmFjdGVyczpldmVudC5fbW9kaWZpZWRJbnB1dCBjaGFyYWN0
ZXJzSWdub3JpbmdNb2RpZmllcnM6ZXZlbnQuX3VubW9kaWZpZWRJbnB1dCBtb2RpZmllcnM6ZXZl
bnQuX21vZGlmaWVyRmxhZ3MgaXNSZXBlYXRpbmc6KGlucHV0RmxhZ3MgJiBrVUlLZXlib2FyZElu
cHV0UmVwZWF0KSB3aXRoRmxhZ3M6aW5wdXRGbGFncyBrZXlDb2RlOmtleUNvZGUgaXNUYWJLZXk6
W2V2ZW50Ll9tb2RpZmllZElucHV0IGlzRXF1YWxUb1N0cmluZzpAIlx0Il0gY2hhcmFjdGVyU2V0
OldlYkV2ZW50Q2hhcmFjdGVyU2V0VW5pY29kZV07CisgICAgc2VsZiA9IFtzdXBlciBpbml0V2l0
aEtleUV2ZW50VHlwZTooZXZlbnQuX2lzS2V5RG93biA/IFdlYkV2ZW50S2V5RG93biA6IFdlYkV2
ZW50S2V5VXApIHRpbWVTdGFtcDpldmVudC50aW1lc3RhbXAgY2hhcmFjdGVyczpldmVudC5fbW9k
aWZpZWRJbnB1dCBjaGFyYWN0ZXJzSWdub3JpbmdNb2RpZmllcnM6ZXZlbnQuX3VubW9kaWZpZWRJ
bnB1dCBtb2RpZmllcnM6bW9kaWZpZXJGbGFncyBpc1JlcGVhdGluZzooaW5wdXRGbGFncyAmIGtV
SUtleWJvYXJkSW5wdXRSZXBlYXQpIHdpdGhGbGFnczppbnB1dEZsYWdzIGtleUNvZGU6a2V5Q29k
ZSBpc1RhYktleTpbZXZlbnQuX21vZGlmaWVkSW5wdXQgaXNFcXVhbFRvU3RyaW5nOkAiXHQiXSBj
aGFyYWN0ZXJTZXQ6V2ViRXZlbnRDaGFyYWN0ZXJTZXRVbmljb2RlXTsKICAgICBpZiAoIXNlbGYp
CiAgICAgICAgIHJldHVybiBuaWw7CiAKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rv
b2xzL0NoYW5nZUxvZwppbmRleCA4ZWViOGIyZDhhZDk1M2FkOTc5ZDdmMDFjZDEzMWMyZmY4MTc3
YzZhLi4yNjVjYzljYmY5YjU2ODNhMzFhODNmZTNiN2ZjMzg0ODA5NGYzMjc1IDEwMDY0NAotLS0g
YS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjMgQEAK
KzIwMTgtMTEtMjYgIERhbmllbCBCYXRlcyAgPGRhYmF0ZXNAYXBwbGUuY29tPgorCisgICAgICAg
IFJFR1JFU1NJT04gKHIyMzc3MzgpOiBDb21tYW5kIERvd24gQXJyb3cgZG9lc24ndCBzY3JvbGwg
dG8gdGhlIGVuZCBvZiBhIHBhZ2UgYW55bW9yZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkxOTY3CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS80NTk3
NjM5MD4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBB
ZGQgbW9yZSB0ZXN0IGluZnJhc3RydWN0dXJlIHRvIGRpc3BhdGNoIGtleSB1cCBldmVudHMuCisK
KyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL2lvcy9ISURFdmVudEdlbmVyYXRvci5oOgorICAg
ICAgICAqIFdlYktpdFRlc3RSdW5uZXIvaW9zL0hJREV2ZW50R2VuZXJhdG9yLm1tOgorICAgICAg
ICAoY3JlYXRlSElES2V5RXZlbnQpOiBSZW5hbWVkIGZyb20gY3JlYXRlSElES2V5RG93bkV2ZW50
KCkgYW5kIG1vZGlmaWVkIHRvIHRha2UgYSBib29sZWFuIGFzCisgICAgICAgIHRvIHdoZXRoZXIg
dG8gY3JlYXRlIGFuIGV2ZW50IGZvciBhIGtleSBkb3duIG9yIGtleSB1cC4KKyAgICAgICAgKGNy
ZWF0ZUhJREtleURvd25FdmVudCk6IERlbGV0ZWQ7IHJlbmFtZWQgdG8gY3JlYXRlSElES2V5RXZl
bnQoKS4KKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL2lvcy9VSVNjcmlwdENvbnRyb2xsZXJJ
T1MubW06CisgICAgICAgIChXVFI6OmNyZWF0ZVVJUGh5c2ljYWxLZXlib2FyZEV2ZW50KTogQWRk
ZWQuIENvbnZlbmllbmNlIGZ1bmN0aW9uIHRvIGNyZWF0ZSBhIFVJUGh5c2ljYWxLZXlib2FyZEV2
ZW50LgorICAgICAgICAoV1RSOjpVSVNjcmlwdENvbnRyb2xsZXI6OmtleURvd24pOiBNb2RpZmll
ZCB0byBkaXNwYXRjaCBhIGtleSB1cCBldmVudCBpbiBhZGRpdGlvbiB0byBkaXNwYXRjaGluZwor
ICAgICAgICBhIGtleSBkb3duIGV2ZW50LgorCiAyMDE4LTExLTI1ICBaYWxhbiBCdWp0YXMgIDx6
YWxhbkBhcHBsZS5jb20+CiAKICAgICAgICAgW0xGQ11bSUZDXSBVc2UgZmxvYXQgYm94J3MgbWFy
Z2luIGJveCB0byBhZGp1c3QgdGhlIGxpbmUgY29uc3RyYWludHMuCmRpZmYgLS1naXQgYS9Ub29s
cy9XZWJLaXRUZXN0UnVubmVyL2lvcy9ISURFdmVudEdlbmVyYXRvci5oIGIvVG9vbHMvV2ViS2l0
VGVzdFJ1bm5lci9pb3MvSElERXZlbnRHZW5lcmF0b3IuaAppbmRleCAxNmY1ZGFhYzY4ZjYzYjgz
MjY4N2E3YzhkZTVkMGRmOGI1NGU2NmYyLi40NzVkZTRiNjU5OGZmMjE1MjFiZjE0NDBkYWRlMWVk
MWYwMjEwZTRjIDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL2lvcy9ISURFdmVu
dEdlbmVyYXRvci5oCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvaW9zL0hJREV2ZW50R2Vu
ZXJhdG9yLmgKQEAgLTY5LDcgKzY5LDcgQEAgZXh0ZXJuIE5TU3RyaW5nKiBjb25zdCBISURFdmVu
dFBoYXNlQ2FuY2VsZWQ7CiAKIGV4dGVybiBOU1VJbnRlZ2VyIGNvbnN0IEhJRE1heFRvdWNoQ291
bnQ7CiAKLVJldGFpblB0cjxJT0hJREV2ZW50UmVmPiBjcmVhdGVISURLZXlEb3duRXZlbnQoTlNT
dHJpbmcgKiwgdWludDY0X3QgdGltZXN0YW1wKTsKK1JldGFpblB0cjxJT0hJREV2ZW50UmVmPiBj
cmVhdGVISURLZXlFdmVudChOU1N0cmluZyAqLCB1aW50NjRfdCB0aW1lc3RhbXAsIGJvb2wgaXNL
ZXlEb3duKTsKIAogQGludGVyZmFjZSBISURFdmVudEdlbmVyYXRvciA6IE5TT2JqZWN0CiAKZGlm
ZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvaW9zL0hJREV2ZW50R2VuZXJhdG9yLm1t
IGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9pb3MvSElERXZlbnRHZW5lcmF0b3IubW0KaW5kZXgg
NzE2MTJmYzY1MDE1YmM1NzliYzk4MjA1N2RlYTRiNzUzZDgxZjFiMC4uNTBlN2FlYmRkZWU3ZDJh
M2RhMmY4YzBhYWFhNGQ0NmZiOTgzNDBlOCAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1
bm5lci9pb3MvSElERXZlbnRHZW5lcmF0b3IubW0KKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5l
ci9pb3MvSElERXZlbnRHZW5lcmF0b3IubW0KQEAgLTk3Myw5ICs5NzMsOSBAQCBzdGF0aWMgaW5s
aW5lIHVpbnQzMl90IGhpZFVzYWdlQ29kZUZvckNoYXJhY3RlcihOU1N0cmluZyAqa2V5KQogICAg
IHJldHVybiAwOwogfQogCi1SZXRhaW5QdHI8SU9ISURFdmVudFJlZj4gY3JlYXRlSElES2V5RG93
bkV2ZW50KE5TU3RyaW5nICpjaGFyYWN0ZXIsIHVpbnQ2NF90IHRpbWVzdGFtcCkKK1JldGFpblB0
cjxJT0hJREV2ZW50UmVmPiBjcmVhdGVISURLZXlFdmVudChOU1N0cmluZyAqY2hhcmFjdGVyLCB1
aW50NjRfdCB0aW1lc3RhbXAsIGJvb2wgaXNLZXlEb3duKQogewotICAgIHJldHVybiBhZG9wdENG
KElPSElERXZlbnRDcmVhdGVLZXlib2FyZEV2ZW50KGtDRkFsbG9jYXRvckRlZmF1bHQsIHRpbWVz
dGFtcCwga0hJRFBhZ2VfS2V5Ym9hcmRPcktleXBhZCwgaGlkVXNhZ2VDb2RlRm9yQ2hhcmFjdGVy
KGNoYXJhY3RlciksIHRydWUgLyoga2V5IGRvd24gKi8sIGtJT0hJREV2ZW50T3B0aW9uTm9uZSkp
OworICAgIHJldHVybiBhZG9wdENGKElPSElERXZlbnRDcmVhdGVLZXlib2FyZEV2ZW50KGtDRkFs
bG9jYXRvckRlZmF1bHQsIHRpbWVzdGFtcCwga0hJRFBhZ2VfS2V5Ym9hcmRPcktleXBhZCwgaGlk
VXNhZ2VDb2RlRm9yQ2hhcmFjdGVyKGNoYXJhY3RlciksIGlzS2V5RG93biwga0lPSElERXZlbnRP
cHRpb25Ob25lKSk7CiB9CiAKIC0gKHZvaWQpa2V5UHJlc3M6KE5TU3RyaW5nICopY2hhcmFjdGVy
IGNvbXBsZXRpb25CbG9jazoodm9pZCAoXikodm9pZCkpY29tcGxldGlvbkJsb2NrCmRpZmYgLS1n
aXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL2lvcy9VSVNjcmlwdENvbnRyb2xsZXJJT1MubW0g
Yi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL2lvcy9VSVNjcmlwdENvbnRyb2xsZXJJT1MubW0KaW5k
ZXggZDVkYjA2NzhkODJiMjg2MjJmZTFiM2JkNDRjMGFjZGM5ZTJmYWNmYS4uOTlhZDVlYTdhZmRi
MzU1NWFmZDgyMDI0OGFiMGNjZGI2MjYxMGU2NyAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVz
dFJ1bm5lci9pb3MvVUlTY3JpcHRDb250cm9sbGVySU9TLm1tCisrKyBiL1Rvb2xzL1dlYktpdFRl
c3RSdW5uZXIvaW9zL1VJU2NyaXB0Q29udHJvbGxlcklPUy5tbQpAQCAtNDAwLDYgKzQwMCwxNSBA
QCBzdGF0aWMgVUlLZXlNb2RpZmllckZsYWdzIHBhcnNlTW9kaWZpZXJBcnJheShKU0NvbnRleHRS
ZWYgY29udGV4dCwgSlNWYWx1ZVJlZiBhcgogICAgIHJldHVybiBtb2RpZmllcnM7CiB9CiAKK3N0
YXRpYyBVSVBoeXNpY2FsS2V5Ym9hcmRFdmVudCAqY3JlYXRlVUlQaHlzaWNhbEtleWJvYXJkRXZl
bnQoY29uc3QgU3RyaW5nJiBoaWRJbnB1dFN0cmluZywgY29uc3QgU3RyaW5nJiB1aUV2ZW50SW5w
dXRTdHJpbmcsIFVJS2V5TW9kaWZpZXJGbGFncyBtb2RpZmllckZsYWdzLCBib29sIGlzS2V5RG93
bikKK3sKKyAgICBhdXRvKiBrZXlib2FyZEV2ZW50ID0gW2dldFVJUGh5c2ljYWxLZXlib2FyZEV2
ZW50Q2xhc3MoKSBfZXZlbnRXaXRoSW5wdXQ6dWlFdmVudElucHV0U3RyaW5nIGlucHV0RmxhZ3M6
KFVJS2V5Ym9hcmRJbnB1dEZsYWdzKTBdOworICAgIGtleWJvYXJkRXZlbnQuX21vZGlmaWVyRmxh
Z3MgPSBtb2RpZmllckZsYWdzOworICAgIGF1dG8gaGlkRXZlbnQgPSBjcmVhdGVISURLZXlFdmVu
dChoaWRJbnB1dFN0cmluZywga2V5Ym9hcmRFdmVudC50aW1lc3RhbXAsIGlzS2V5RG93bik7Cisg
ICAgW2tleWJvYXJkRXZlbnQgX3NldEhJREV2ZW50OmhpZEV2ZW50LmdldCgpIGtleWJvYXJkOm51
bGxwdHJdOworICAgIHJldHVybiBrZXlib2FyZEV2ZW50OworfQorCiB2b2lkIFVJU2NyaXB0Q29u
dHJvbGxlcjo6a2V5RG93bihKU1N0cmluZ1JlZiBjaGFyYWN0ZXIsIEpTVmFsdWVSZWYgbW9kaWZp
ZXJBcnJheSkKIHsKICAgICAvLyBDaGFyYWN0ZXIgY2FuIGJlIGVpdGhlciBhIHNpbmdsZSBVbmlj
b2RlIGNvZGUgcG9pbnQgb3IgdGhlIG5hbWUgb2YgYSBzcGVjaWFsIGtleSAoZS5nLiAiZG93bkFy
cm93IikuCkBAIC00MTIsMTAgKzQyMSwxNiBAQCB2b2lkIFVJU2NyaXB0Q29udHJvbGxlcjo6a2V5
RG93bihKU1N0cmluZ1JlZiBjaGFyYWN0ZXIsIEpTVmFsdWVSZWYgbW9kaWZpZXJBcnJheQogICAg
IC8vIGZvciBhIHNwZWNpYWwga2V5LgogICAgIFN0cmluZyBpbnB1dFN0cmluZyA9IHRvV1RGU3Ry
aW5nKHRvV0soY2hhcmFjdGVyKSk7CiAgICAgU3RyaW5nIHVpRXZlbnRJbnB1dFN0cmluZyA9IGlu
cHV0U3RyaW5nLmxlbmd0aCgpID4gMSA/IGVtcHR5U3RyaW5nKCkgOiBpbnB1dFN0cmluZzsKLSAg
ICBhdXRvICprZXlib2FyZEV2ZW50ID0gW2dldFVJUGh5c2ljYWxLZXlib2FyZEV2ZW50Q2xhc3Mo
KSBfZXZlbnRXaXRoSW5wdXQ6dWlFdmVudElucHV0U3RyaW5nIGlucHV0RmxhZ3M6KFVJS2V5Ym9h
cmRJbnB1dEZsYWdzKTBdOwotICAgIGtleWJvYXJkRXZlbnQuX21vZGlmaWVyRmxhZ3MgPSBwYXJz
ZU1vZGlmaWVyQXJyYXkobV9jb250ZXh0LT5qc0NvbnRleHQoKSwgbW9kaWZpZXJBcnJheSk7Ci0g
ICAgYXV0byBoaWRFdmVudCA9IGNyZWF0ZUhJREtleURvd25FdmVudChpbnB1dFN0cmluZywga2V5
Ym9hcmRFdmVudC50aW1lc3RhbXApOwotICAgIFtrZXlib2FyZEV2ZW50IF9zZXRISURFdmVudDpo
aWRFdmVudC5nZXQoKSBrZXlib2FyZDpudWxscHRyXTsKKyAgICBhdXRvIG1vZGlmaWVyRmxhZ3Mg
PSBwYXJzZU1vZGlmaWVyQXJyYXkobV9jb250ZXh0LT5qc0NvbnRleHQoKSwgbW9kaWZpZXJBcnJh
eSk7CisKKyAgICAvLyBOb3RlIHRoYXQgVUlLaXQgd2lsbCBjYWxsIC1yZWxlYXNlIG9uIHRoZSBw
YXNzZWQgVUlQaHlzaWNhbEtleWJvYXJkRXZlbnQuCisKKyAgICAvLyBLZXkgZG93bgorICAgIGF1
dG8qIGtleWJvYXJkRXZlbnQgPSBjcmVhdGVVSVBoeXNpY2FsS2V5Ym9hcmRFdmVudChpbnB1dFN0
cmluZywgdWlFdmVudElucHV0U3RyaW5nLCBtb2RpZmllckZsYWdzLCB0cnVlIC8qIGlzS2V5RG93
biAqLyk7CisgICAgW1tVSUFwcGxpY2F0aW9uIHNoYXJlZEFwcGxpY2F0aW9uXSBoYW5kbGVLZXlV
SUV2ZW50OmtleWJvYXJkRXZlbnRdOworCisgICAgLy8gS2V5IHVwCisgICAga2V5Ym9hcmRFdmVu
dCA9IGNyZWF0ZVVJUGh5c2ljYWxLZXlib2FyZEV2ZW50KGlucHV0U3RyaW5nLCB1aUV2ZW50SW5w
dXRTdHJpbmcsIG1vZGlmaWVyRmxhZ3MsIGZhbHNlIC8qIGlzS2V5RG93biAqLyk7CiAgICAgW1tV
SUFwcGxpY2F0aW9uIHNoYXJlZEFwcGxpY2F0aW9uXSBoYW5kbGVLZXlVSUV2ZW50OmtleWJvYXJk
RXZlbnRdOwogfQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKaW5kZXggMDVkZDYzMThiZmQ5MDg1MWJkODJjMGFlNjgyNTE5NmI2ZWQz
MmVhOS4uM2VhNmVjMTg4NDEyYzVmZjY5MjI2N2M1NGMzZDI5M2M3ZTFlZDdlMyAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDIyIEBACisyMDE4LTExLTI2ICBEYW5pZWwgQmF0ZXMgIDxkYWJhdGVzQGFwcGxlLmNv
bT4KKworICAgICAgICBSRUdSRVNTSU9OIChyMjM3NzM4KTogQ29tbWFuZCBEb3duIEFycm93IGRv
ZXNuJ3Qgc2Nyb2xsIHRvIHRoZSBlbmQgb2YgYSBwYWdlIGFueW1vcmUKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5MTk2NworICAgICAgICA8cmRhcjov
L3Byb2JsZW0vNDU5NzYzOTA+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgQWRkIHRlc3RzIHRvIGVuc3VyZSB0aGF0IENvbW1hbmQgKyBEb3duIEFycm93
IGFuZCBDb21tYW5kICsgVXAgQXJyb3cgc2Nyb2xsIHRvIHRoZSBlbmQgb2YKKyAgICAgICAgdGhl
IHBhZ2UgYW5kIHRoZSB0b3Agb2YgdGhlIHBhZ2UsIHJlc3BlY3RpdmVseS4KKworICAgICAgICAq
IGZhc3Qvc2Nyb2xsaW5nL2lvcy9rZXktY29tbWFuZC1zY3JvbGwtdG8tYm90dG9tLWV4cGVjdGVk
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3Qvc2Nyb2xsaW5nL2lvcy9rZXktY29tbWFuZC1z
Y3JvbGwtdG8tYm90dG9tLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3Qvc2Nyb2xsaW5nL2lv
cy9rZXktY29tbWFuZC1zY3JvbGwtdG8tdG9wLWV4cGVjdGVkLmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGZhc3Qvc2Nyb2xsaW5nL2lvcy9rZXktY29tbWFuZC1zY3JvbGwtdG8tdG9wLmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIHJlc291cmNlcy91aS1oZWxwZXIuanM6CisgICAgICAgICh3aW5kb3cu
VUlIZWxwZXIua2V5RG93bik6IFBhc3MgdGhlIG1vZGlmaWVycyBhcnJheSB0byBFdmVudFNlbmRl
ci5rZXlEb3duKCkgdG8gbWFrZQorICAgICAgICB0aGlzIGZ1bmN0aW9uIHdvcmsgb24gTWFjLgor
CiAyMDE4LTExLTI2ICBaYWxhbiBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CiAKICAgICAgICAg
VW5yZXZpZXdlZCByZWJhc2VsaW5lIGFmdGVyIHIyMzg0OTMuCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9mYXN0L3Njcm9sbGluZy9pb3Mva2V5LWNvbW1hbmQtc2Nyb2xsLXRvLWJvdHRvbS1leHBl
Y3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvaW9zL2tleS1jb21tYW5kLXNj
cm9sbC10by1ib3R0b20tZXhwZWN0ZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wMGRjYzE2MTEzOWNkOGMw
MzE1MmU1MTBlNGFkZWE4N2Q5ZDA5NzViCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZmFzdC9zY3JvbGxpbmcvaW9zL2tleS1jb21tYW5kLXNjcm9sbC10by1ib3R0b20tZXhwZWN0ZWQu
aHRtbApAQCAtMCwwICsxLDIzIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoIj4KKzxzdHls
ZT4KK2JvZHkgeworICAgIG1hcmdpbjogMDsKKyAgICBwYWRkaW5nOiAwOworfQorCisjZXhwZWN0
ZWQgeworICAgIHBvc2l0aW9uOiBmaXhlZDsKKyAgICBib3R0b206IDBweDsKKyAgICB3aWR0aDog
MjU2cHg7CisgICAgaGVpZ2h0OiAyNTZweDsKKyAgICBiYWNrZ3JvdW5kLWNvbG9yOiBncmVlbjsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXYgaWQ9ImV4cGVjdGVkIj48L2Rpdj4K
KzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5n
L2lvcy9rZXktY29tbWFuZC1zY3JvbGwtdG8tYm90dG9tLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0
L3Njcm9sbGluZy9pb3Mva2V5LWNvbW1hbmQtc2Nyb2xsLXRvLWJvdHRvbS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmRhMmQwNGFkMjUzODNkYmE1YzNlMmU0OTZmNTU1ZWUyZTVhMzZjMDAKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9pb3Mva2V5LWNvbW1hbmQtc2Nyb2xs
LXRvLWJvdHRvbS5odG1sCkBAIC0wLDAgKzEsNTUgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgiPgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2Ny
aXB0PgorPHN0eWxlPgorYm9keSB7CisgICAgbWFyZ2luOiAwOworICAgIHBhZGRpbmc6IDA7Cit9
Cis8L3N0eWxlPgorPHNjcmlwdD4KK2lmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICB0ZXN0UnVu
bmVyLndhaXRVbnRpbERvbmUoKTsKKworLy8gIFVJS2l0IGhpZGVzIHRoZSBzY3JvbGwgaW5kaWNh
dG9yIGFmdGVyIDEgc2Vjb25kLgorY29uc3QgU2Nyb2xsSW5kaWNhdG9yRmxhc2hIaWRlRGVsYXkg
PSAxMDAwOyAvLyBtaWxsaXNlY29uZHMKKworbGV0IHNlY29uZFNxdWFyZU1heFk7CisKK2Z1bmN0
aW9uIGRvbmUoKQoreworICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgdGVzdFJ1
bm5lci5ub3RpZnlEb25lKCk7Cit9CisKK2Z1bmN0aW9uIGRpZEVuZFNjcm9sbCgpCit7CisgICAg
d2luZG93Lm9uc2Nyb2xsID0gbnVsbDsKKyAgICAvLyBGSVhNRTogRGlzYWJsZSBmbGFzaGluZyBv
ZiBzY3JvbGwgaW5kaWNhdG9yIG9yIGZpbmQgYSB3YXkga25vdyB3aGVuIHRoZSBmbGFzaCBoYXMg
ZmluaXNoZWQuCisgICAgd2luZG93LnNldFRpbWVvdXQoZG9uZSwgU2Nyb2xsSW5kaWNhdG9yRmxh
c2hIaWRlRGVsYXkpOworfQorCit3aW5kb3cub25zY3JvbGwgPSBmdW5jdGlvbiAoZXZlbnQpIHsK
KworICAgIGlmICh3aW5kb3cuc2Nyb2xsWSArIHdpbmRvdy5pbm5lckhlaWdodCA+PSBzZWNvbmRT
cXVhcmVNYXhZKQorICAgICAgICBkaWRFbmRTY3JvbGwoKTsKK30KKworZnVuY3Rpb24gcnVuVGVz
dCgpCit7CisgICAgbGV0IHNlY29uZFNxdWFyZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJz
ZWNvbmRTcXVhcmUiKTsKKyAgICBzZWNvbmRTcXVhcmVNYXhZID0gc2Vjb25kU3F1YXJlLm9mZnNl
dFRvcCArIHNlY29uZFNxdWFyZS5vZmZzZXRIZWlnaHQ7CisgICAgaWYgKHdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICBVSUhlbHBlci5rZXlEb3duKCJkb3duQXJyb3ciLCBbIm1ldGFLZXkiXSk7
Cit9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KKzxwIGlk
PSJkZXNjcmlwdGlvbiI+VGVzdHMgdGhhdCBwcmVzc2luZyA8a2V5PkNvbW1hbmQ8L2tleT4gKyA8
a2V5PiYjeDIxOTM7PC9rZXk+IHNjcm9sbHMgdG8gdGhlIGJvdHRvbSBvZiB0aGUgcGFnZS4gVGhp
cyB0ZXN0IFBBU1NFRCBpZiB5b3Ugc2VlIGEgZ3JlZW4gc3F1YXJlLiBPdGhlcndpc2UsIGl0IEZB
SUxFRC48L3A+Cis8ZGl2IHN0eWxlPSJ3aWR0aDogMjU2cHg7IGhlaWdodDogMjU2cHg7IGJhY2tn
cm91bmQtY29sb3I6IHJlZCI+PC9kaXY+Cis8ZGl2IHN0eWxlPSJoZWlnaHQ6IDIwMDBweCI+PC9k
aXY+Cis8ZGl2IGlkPSJzZWNvbmRTcXVhcmUiIHN0eWxlPSJ3aWR0aDogMjU2cHg7IGhlaWdodDog
MjU2cHg7IGJhY2tncm91bmQtY29sb3I6IGdyZWVuIj48L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL2lvcy9rZXktY29tbWFuZC1z
Y3JvbGwtdG8tdG9wLWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9p
b3Mva2V5LWNvbW1hbmQtc2Nyb2xsLXRvLXRvcC1leHBlY3RlZC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjli
MjY4N2JmNWUyYjAxOWIzNDkwY2EwNjNmODdmZGYyNjM2NzkxZWUKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9pb3Mva2V5LWNvbW1hbmQtc2Nyb2xsLXRvLXRv
cC1leHBlY3RlZC5odG1sCkBAIC0wLDAgKzEsMjIgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgiPgorPHN0eWxlPgorYm9keSB7CisgICAgbWFyZ2luOiAwOworICAgIHBhZGRpbmc6IDA7Cit9
CisKKyNleHBlY3RlZCB7CisgICAgd2lkdGg6IDI1NnB4OworICAgIGhlaWdodDogMjU2cHg7Cisg
ICAgYmFja2dyb3VuZC1jb2xvcjogZ3JlZW47Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8cD5UZXN0cyB0aGF0IHByZXNzaW5nIDxrZXk+Q29tbWFuZDwva2V5PiArIDxrZXk+JiN4MjE5
MTs8L2tleT4gc2Nyb2xscyB0byB0aGUgYm90dG9tIG9mIHRoZSBwYWdlLiBUaGlzIHRlc3QgUEFT
U0VEIGlmIHlvdSBzZWUgYSBncmVlbiBzcXVhcmUuIE90aGVyd2lzZSwgaXQgRkFJTEVELjwvcD4K
KzxkaXYgaWQ9ImV4cGVjdGVkIj48L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL2lvcy9rZXktY29tbWFuZC1zY3JvbGwtdG8tdG9w
Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9pb3Mva2V5LWNvbW1hbmQtc2Nyb2xs
LXRvLXRvcC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQzNmU4NzBmM2JmOGZmYTVmMTRiYjI2NDg5NjY3ZmZk
ZGJiNmRiMmMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9p
b3Mva2V5LWNvbW1hbmQtc2Nyb2xsLXRvLXRvcC5odG1sCkBAIC0wLDAgKzEsOTcgQEAKKzwhRE9D
VFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgiPgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy91
aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorYm9keSB7CisgICAgbWFyZ2luOiAwOwor
ICAgIHBhZGRpbmc6IDA7Cit9CisKKy5ncmVlbiB7CisgICAgYmFja2dyb3VuZC1jb2xvcjogZ3Jl
ZW47Cit9CisKKy5yZWQgeworICAgIGJhY2tncm91bmQtY29sb3I6IHJlZDsKK30KKworLmhpZGRl
biB7CisgICAgZGlzcGxheTogbm9uZTsKK30KKzwvc3R5bGU+Cis8c2NyaXB0PgoraWYgKHdpbmRv
dy50ZXN0UnVubmVyKQorICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOworCisvLyAgVUlL
aXQgaGlkZXMgdGhlIHNjcm9sbCBpbmRpY2F0b3IgYWZ0ZXIgMSBzZWNvbmQuCitjb25zdCBTY3Jv
bGxJbmRpY2F0b3JGbGFzaEhpZGVEZWxheSA9IDEwMDA7IC8vIG1pbGxpc2Vjb25kcworCitmdW5j
dGlvbiBkb25lKCkKK3sKKyAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHRlc3RS
dW5uZXIubm90aWZ5RG9uZSgpOworfQorCitmdW5jdGlvbiBzd2FwUmVkR3JlZW5CYWNrZ3JvdW5k
KGVsZW1lbnQpCit7CisgICAgaWYgKGVsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKCJyZWQiKSkg
eworICAgICAgICBlbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoInJlZCIpOworICAgICAgICBlbGVt
ZW50LmNsYXNzTGlzdC5hZGQoImdyZWVuIik7CisgICAgfSBlbHNlIGlmIChlbGVtZW50LmNsYXNz
TGlzdC5jb250YWlucygiZ3JlZW4iKSkgeworICAgICAgICBlbGVtZW50LmNsYXNzTGlzdC5yZW1v
dmUoImdyZWVuIik7CisgICAgICAgIGVsZW1lbnQuY2xhc3NMaXN0LmFkZCgicmVkIik7CisgICAg
fQorfQorCitmdW5jdGlvbiBkaWRFbmRTY3JvbGwoKQoreworICAgIHdpbmRvdy5vbnNjcm9sbCA9
IG51bGw7CisgICAgLy8gRklYTUU6IERpc2FibGUgZmxhc2hpbmcgb2Ygc2Nyb2xsIGluZGljYXRv
ciBvciBmaW5kIGEgd2F5IGtub3cgd2hlbiB0aGUgZmxhc2ggaGFzIGZpbmlzaGVkLgorICAgIHdp
bmRvdy5zZXRUaW1lb3V0KGRvbmUsIFNjcm9sbEluZGljYXRvckZsYXNoSGlkZURlbGF5KTsKK30K
KworZnVuY3Rpb24gaGFuZGxlU2Nyb2xsKGV2ZW50KQoreworICAgIGlmICghd2luZG93LnNjcm9s
bFkpCisgICAgICAgIGRpZEVuZFNjcm9sbCgpOworfQorCitmdW5jdGlvbiBydW5UZXN0KCkKK3sK
KyAgICBsZXQgc2Vjb25kU3F1YXJlID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInNlY29uZFNx
dWFyZSIpOworICAgIHNlY29uZFNxdWFyZU1heFkgPSBzZWNvbmRTcXVhcmUub2Zmc2V0VG9wICsg
c2Vjb25kU3F1YXJlLm9mZnNldEhlaWdodDsKKworICAgIGZ1bmN0aW9uIHNjcm9sbFRvVG9wKCkg
eworICAgICAgICBjb25zb2xlLmFzc2VydCh3aW5kb3cuc2Nyb2xsWSArIHdpbmRvdy5pbm5lckhl
aWdodCA+PSBzZWNvbmRTcXVhcmVNYXhZKTsKKyAgICAgICAgc3dhcFJlZEdyZWVuQmFja2dyb3Vu
ZChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZmlyc3RTcXVhcmUiKSk7CisgICAgICAgIHN3YXBS
ZWRHcmVlbkJhY2tncm91bmQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInNlY29uZFNxdWFyZSIp
KTsKKyAgICAgICAgd2luZG93Lm9uc2Nyb2xsID0gaGFuZGxlU2Nyb2xsOworICAgICAgICBpZiAo
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgICAgICBVSUhlbHBlci5rZXlEb3duKCJ1cEFycm93
IiwgWyJtZXRhS2V5Il0pOworCisgICAgfQorICAgIHdpbmRvdy5zY3JvbGxUbygwLCBzZWNvbmRT
cXVhcmVNYXhZKTsKKyAgICB3aW5kb3cuc2V0VGltZW91dChzY3JvbGxUb1RvcCwgMCk7Cit9CisK
K3dpbmRvdy5vbmxvYWQgPSBmdW5jdGlvbiAoKQoreworICAgIGlmICghd2luZG93LnRlc3RSdW5u
ZXIpIHsKKyAgICAgICAgLy8gU2hvdyBtYW51YWwgaW5zdHJ1Y3Rpb25zLgorICAgICAgICBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgibWFudWFsLWluc3RydWN0aW9ucyIpLmNsYXNzTGlzdC5yZW1v
dmUoImhpZGRlbiIpOworICAgICAgICByZXR1cm47CisgICAgfQorICAgIHJ1blRlc3QoKTsKK30K
Kzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPlRlc3RzIHRo
YXQgcHJlc3NpbmcgPGtleT5Db21tYW5kPC9rZXk+ICsgPGtleT4mI3gyMTkxOzwva2V5PiBzY3Jv
bGxzIHRvIHRoZSBib3R0b20gb2YgdGhlIHBhZ2UuIFRoaXMgdGVzdCBQQVNTRUQgaWYgeW91IHNl
ZSBhIGdyZWVuIHNxdWFyZS4gT3RoZXJ3aXNlLCBpdCBGQUlMRUQuPC9wPgorPHAgaWQ9Im1hbnVh
bC1pbnN0cnVjdGlvbnMiIGNsYXNzPSJoaWRkZW4iPlRvIHJ1biB0aGlzIHRlc3QgYnkgaGFuZCwg
Y2xpY2sgPGJ1dHRvbiBvbmNsaWNrPSJydW5UZXN0KCkiPlJ1biB0ZXN0PC9idXR0b24+IHRvIGZp
cnN0IHNjcm9sbCB0byB0aGUgYm90dG9tIG9mIHRoZSBwYWdlLiBUaGVuIHByZXNzIDxrZXk+Q29t
bWFuZDwva2V5PiArIDxrZXk+JiN4MjE5MTs8L2tleT4uPC9wPgorPGRpdiBpZD0iZmlyc3RTcXVh
cmUiIHN0eWxlPSJ3aWR0aDogMjU2cHg7IGhlaWdodDogMjU2cHgiIGNsYXNzPSJyZWQiPjwvZGl2
PgorPGRpdiBzdHlsZT0iaGVpZ2h0OiAyMDAwcHgiPjwvZGl2PgorPGRpdiBpZD0ic2Vjb25kU3F1
YXJlIiBzdHlsZT0id2lkdGg6IDI1NnB4OyBoZWlnaHQ6IDI1NnB4IiBjbGFzcz0iZ3JlZW4iPjwv
ZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcmVzb3VyY2Vz
L3VpLWhlbHBlci5qcyBiL0xheW91dFRlc3RzL3Jlc291cmNlcy91aS1oZWxwZXIuanMKaW5kZXgg
MWE1ZjRiNzg2NjI1NDllMTQyZTJjNGZlZjcyNzE2OGQ3ZGJmNTliMi4uODg4NDk5NWFiNGVlNDRm
N2ZhYzNhZDIxZWMyMTQyMTEyOWUwNjVlZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcmVzb3Vy
Y2VzL3VpLWhlbHBlci5qcworKysgYi9MYXlvdXRUZXN0cy9yZXNvdXJjZXMvdWktaGVscGVyLmpz
CkBAIC01Nyw3ICs1Nyw3IEBAIHdpbmRvdy5VSUhlbHBlciA9IGNsYXNzIFVJSGVscGVyIHsKICAg
ICBzdGF0aWMga2V5RG93bihrZXksIG1vZGlmaWVycz1bXSkKICAgICB7CiAgICAgICAgIGlmICgh
dGhpcy5pc1dlYktpdDIoKSB8fCAhdGhpcy5pc0lPUygpKSB7Ci0gICAgICAgICAgICBldmVudFNl
bmRlci5rZXlEb3duKGtleSk7CisgICAgICAgICAgICBldmVudFNlbmRlci5rZXlEb3duKGtleSwg
bW9kaWZpZXJzKTsKICAgICAgICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoKTsKICAgICAg
ICAgfQogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>