<?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>124230</bug_id>
          
          <creation_ts>2013-11-12 13:48:44 -0800</creation_ts>
          <short_desc>Web Inspector: ContentFlowTreeContentView should use only one DOMTreeOutline</short_desc>
          <delta_ts>2013-11-12 15:01:53 -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>Web Inspector</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Alexandru Chiculita">achicu</reporter>
          <assigned_to name="Alexandru Chiculita">achicu</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>graouts</cc>
    
    <cc>joepeck</cc>
    
    <cc>timothy</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>949859</commentid>
    <comment_count>0</comment_count>
    <who name="Alexandru Chiculita">achicu</who>
    <bug_when>2013-11-12 13:48:44 -0800</bug_when>
    <thetext>Currently ContentFlowTreeContentView creates one DOMTreeOutline for each root element with &quot;-webkit-flow-into&quot;. The issue is that DOMTreeOutline objects are disconnected, so navigation across root elements is also broken.

Also, ContentFlowTreeContentView tends to reimplement a lot of the DOMTreeContentView, so finding a way to inherit from it would save a lot of duplicated code.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>949860</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2013-11-12 13:49:13 -0800</bug_when>
    <thetext>&lt;rdar://problem/15452067&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>949873</commentid>
    <comment_count>2</comment_count>
      <attachid>216723</attachid>
    <who name="Alexandru Chiculita">achicu</who>
    <bug_when>2013-11-12 14:14:05 -0800</bug_when>
    <thetext>Created attachment 216723
Patch V1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>949877</commentid>
    <comment_count>3</comment_count>
      <attachid>216725</attachid>
    <who name="Alexandru Chiculita">achicu</who>
    <bug_when>2013-11-12 14:24:14 -0800</bug_when>
    <thetext>Created attachment 216725
Patch V2

Renamed ContentFlowTreeContentView to ContentFlowDOMTreeContentView to better reflect the inheritance of the object.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>949890</commentid>
    <comment_count>4</comment_count>
      <attachid>216725</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-11-12 15:01:51 -0800</bug_when>
    <thetext>Comment on attachment 216725
Patch V2

Clearing flags on attachment: 216725

Committed r159151: &lt;http://trac.webkit.org/changeset/159151&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>949891</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-11-12 15:01:53 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>216723</attachid>
            <date>2013-11-12 14:14:05 -0800</date>
            <delta_ts>2013-11-12 14:24:14 -0800</delta_ts>
            <desc>Patch V1</desc>
            <filename>bug124230.v1.patch</filename>
            <type>text/plain</type>
            <size>21334</size>
            <attacher name="Alexandru Chiculita">achicu</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvQ2hhbmdlTG9nCmluZGV4IGY2NmYyMDEuLjAwMGFkOGEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkluc3BlY3Rv
clVJL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUzIEBACisyMDEzLTExLTEyICBBbGV4YW5kcnUgQ2hp
Y3VsaXRhICA8YWNoaWN1QGFkb2JlLmNvbT4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBDb250
ZW50Rmxvd1RyZWVDb250ZW50VmlldyBzaG91bGQgdXNlIG9ubHkgb25lIERPTVRyZWVPdXRsaW5l
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjQyMzAK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDaGFuZ2Vk
IENvbnRlbnRGbG93VHJlZUNvbnRlbnRWaWV3IHRvIHVzZSBvbmUgRE9NVHJlZU91dGxpbmUgYnkg
anVzdAorICAgICAgICBwb3B1bGF0aW5nIGl0IHdpdGggcm9vdCBET01UcmVlRWxlbWVudHMgZGly
ZWN0bHkuIFRoYXQgaXMgdmVyeQorICAgICAgICBzaW1pbGFyIHRvIGhvdyBET01UcmVlT3V0bGlu
ZSB3b3JrcyB3aGVuIG9taXRSb290RE9NTm9kZSBpcyB1c2VkLgorCisgICAgICAgIE5vdyB0aGF0
IENvbnRlbnRGbG93VHJlZUNvbnRlbnRWaWV3IGhhcyBvbmx5IG9uZSBET01UcmVlT3V0bGluZSwK
KyAgICAgICAgaXQgbWFrZXMgc2Vuc2UgdG8gY2hhbmdlIGl0cyBiYXNlIGNsYXNzIHRvIGJlIERP
TVRyZWVDb250ZW50VmlldyBpbnN0ZWFkLgorCisgICAgICAgIEkgaGFkIHRvIG1vdmUgYWxsIHRo
ZSBET01UcmVlIGRvY3VtZW50IGxvYWRpbmcgY29kZSBmcm9tIERPTVRyZWVDb250ZW50VmlldyB0
byBhCisgICAgICAgIG5ldyBjbGFzcyBjYWxsZWQgRnJhbWVET01UcmVlQ29udGVudFZpZXcuIFRo
aXMgaXMgdXNlZCB0byBkaXNwbGF5IHRoZSBET00gb2YgdGhlCisgICAgICAgIGZyYW1lIG9iamVj
dHMuIEZyYW1lRE9NVHJlZUNvbnRlbnRWaWV3IGlzIGFsc28gaW5oZXJpdGluZyBmcm9tIERPTVRy
ZWVDb250ZW50Vmlldy4KKworICAgICAgICBJc3N1ZXMgdGhhdCBhcmUgZml4ZWQgYXMgYSBzaWRl
IGVmZmVjdDoKKyAgICAgICAgLSBTZWxlY3Rpb24gcGF0aCBjb21wb25lbnRzIGFyZSBub3cgZGlz
cGxheWluZyBhbGwgdGhlIHNpYmxpbmcgZWxlbWVudHMgZm9yIGNvbnRlbnRGbG93LmNvbnRlbnRO
b2RlcworICAgICAgICAodGhvc2UgYXJlIHRoZSBub2RlcyB0aGF0IGhhdmUgIi13ZWJraXQtZmxv
dy1pbnRvIiBzZXQgZGlyZWN0bHkpLgorICAgICAgICAtIEtleWJvYXJkIG5hdmlnYXRpb24gd29y
a3MgZm9yIHRoZSBjb250ZW50Rmxvdy5jb250ZW50Tm9kZXMuCisgICAgICAgIC0gU2VhcmNoIGlz
IGltcGxlbWVudGVkIGluIERPTVRyZWVDb250ZW50Vmlldywgc28gdGhhdCBjb2RlIG5vdyB3b3Jr
cyBmb3IgZmxvd3MgdG9vLgorICAgICAgICBUaGUgRE9NQWdlbnRzJ3Mgc2VhcmNoIEFQSSB3aWxs
IHVzZSBhbGwgdGhlIERvY3VtZW50cyB0byBsb29rdXAgZm9yIG5vZGVzLCBzbyBpdCBtaWdodAor
ICAgICAgICBmaW5kIERPTSBub2RlcyB0aGF0IGFyZSBub3QgcGFydCBvZiB0aGUgZmxvdy4gVGhp
cyBpcyBpbiBsaW5lIHdpdGggdGhlIGJlaGF2aW9yIGZvciB0aGUKKyAgICAgICAgZnJhbWVzLgor
CisgICAgICAgICogVXNlckludGVyZmFjZS9Db250ZW50Rmxvd1RyZWVDb250ZW50Vmlldy5qczoK
KyAgICAgICAgKFdlYkluc3BlY3Rvci5Db250ZW50Rmxvd1RyZWVDb250ZW50Vmlldyk6CisgICAg
ICAgIChXZWJJbnNwZWN0b3IuQ29udGVudEZsb3dUcmVlQ29udGVudFZpZXcucHJvdG90eXBlLmNs
b3NlZCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuQ29udGVudEZsb3dUcmVlQ29udGVudFZpZXcu
cHJvdG90eXBlLl9jcmVhdGVDb250ZW50VHJlZXMpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkNv
bnRlbnRGbG93VHJlZUNvbnRlbnRWaWV3LnByb3RvdHlwZS5fY29udGVudE5vZGVXYXNBZGRlZCk6
CisgICAgICAgIChXZWJJbnNwZWN0b3IuQ29udGVudEZsb3dUcmVlQ29udGVudFZpZXcucHJvdG90
eXBlLl9jb250ZW50Tm9kZVdhc1JlbW92ZWQpOgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvQ29u
dGVudFZpZXcuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuQ29udGVudFZpZXcpOgorICAgICAg
ICAqIFVzZXJJbnRlcmZhY2UvRE9NVHJlZUNvbnRlbnRWaWV3LmpzOgorICAgICAgICAoV2ViSW5z
cGVjdG9yLkRPTVRyZWVDb250ZW50Vmlldyk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRE9NVHJl
ZUNvbnRlbnRWaWV3LnByb3RvdHlwZS5jbG9zZWQpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkRP
TVRyZWVDb250ZW50Vmlldy5wcm90b3R5cGUuKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5ET01U
cmVlQ29udGVudFZpZXcucHJvdG90eXBlLl9yZXN0b3JlU2VsZWN0ZWROb2RlQWZ0ZXJVcGRhdGUp
OgorICAgICAgICAoV2ViSW5zcGVjdG9yLkRPTVRyZWVDb250ZW50Vmlldy5wcm90b3R5cGUuX3Nl
bGVjdGVkTm9kZURpZENoYW5nZSk6CisgICAgICAgICogVXNlckludGVyZmFjZS9GcmFtZURPTVRy
ZWVDb250ZW50Vmlldy5qczogQWRkZWQuCisgICAgICAgIChXZWJJbnNwZWN0b3IuRnJhbWVET01U
cmVlQ29udGVudFZpZXcpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkZyYW1lRE9NVHJlZUNvbnRl
bnRWaWV3LnByb3RvdHlwZS5nZXQgZG9tVHJlZSk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRnJh
bWVET01UcmVlQ29udGVudFZpZXcucHJvdG90eXBlLmNsb3NlZCk6CisgICAgICAgIChXZWJJbnNw
ZWN0b3IuRnJhbWVET01UcmVlQ29udGVudFZpZXcucHJvdG90eXBlLl9yb290RE9NTm9kZUF2YWls
YWJsZSk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRnJhbWVET01UcmVlQ29udGVudFZpZXcucHJv
dG90eXBlLl9yb290RE9NTm9kZUludmFsaWRhdGVkKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5G
cmFtZURPTVRyZWVDb250ZW50Vmlldy5wcm90b3R5cGUuX3JlcXVlc3RSb290RE9NTm9kZSk6Cisg
ICAgICAgICogVXNlckludGVyZmFjZS9NYWluLmh0bWw6CisKIDIwMTMtMTEtMDggIEpvc2VwaCBQ
ZWNvcmFybyAgPHBlY29yYXJvQGFwcGxlLmNvbT4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBy
ZW1vdmUgLXdlYmtpdC1taW4gYW5kIC13ZWJraXQtbWF4IGZyb20gQ1NTIGNvbXBsZXRpb25zCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Db250ZW50Rmxv
d1RyZWVDb250ZW50Vmlldy5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNl
L0NvbnRlbnRGbG93VHJlZUNvbnRlbnRWaWV3LmpzCmluZGV4IGRmYTMyZTguLmFiNmNkMmIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0NvbnRlbnRGbG93
VHJlZUNvbnRlbnRWaWV3LmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJm
YWNlL0NvbnRlbnRGbG93VHJlZUNvbnRlbnRWaWV3LmpzCkBAIC0zMSwxNTggKzMxLDYyIEBAIFdl
Ykluc3BlY3Rvci5Db250ZW50Rmxvd1RyZWVDb250ZW50VmlldyA9IGZ1bmN0aW9uKGNvbnRlbnRG
bG93KQogewogICAgIGNvbnNvbGUuYXNzZXJ0KGNvbnRlbnRGbG93KTsKIAotICAgIFdlYkluc3Bl
Y3Rvci5Db250ZW50Vmlldy5jYWxsKHRoaXMsIGNvbnRlbnRGbG93KTsKLQotICAgIHRoaXMuX3Nl
bGVjdGVkVHJlZUVsZW1lbnQgPSBudWxsOwotCi0gICAgLy8gTWFwIG9mIGNvbnRlbnROb2RlIGlk
cyB0byBET01UcmVlT3V0bGluZSBvYmplY3RzLgotICAgIHRoaXMuX25vZGVzTWFwID0gbmV3IE1h
cCgpOwotCi0gICAgdGhpcy5fY3JlYXRlQ29udGVudFRyZWVzKCk7CisgICAgV2ViSW5zcGVjdG9y
LkRPTVRyZWVDb250ZW50Vmlldy5jYWxsKHRoaXMsIGNvbnRlbnRGbG93KTsKIAogICAgIGNvbnRl
bnRGbG93LmFkZEV2ZW50TGlzdGVuZXIoV2ViSW5zcGVjdG9yLkNvbnRlbnRGbG93LkV2ZW50LkNv
bnRlbnROb2RlV2FzQWRkZWQsIHRoaXMuX2NvbnRlbnROb2RlV2FzQWRkZWQsIHRoaXMpOwogICAg
IGNvbnRlbnRGbG93LmFkZEV2ZW50TGlzdGVuZXIoV2ViSW5zcGVjdG9yLkNvbnRlbnRGbG93LkV2
ZW50LkNvbnRlbnROb2RlV2FzUmVtb3ZlZCwgdGhpcy5fY29udGVudE5vZGVXYXNSZW1vdmVkLCB0
aGlzKTsKKworICAgIHRoaXMuX2NyZWF0ZUNvbnRlbnRUcmVlcygpOwogfTsKIAogV2ViSW5zcGVj
dG9yLkNvbnRlbnRGbG93VHJlZUNvbnRlbnRWaWV3LlN0eWxlQ2xhc3NOYW1lID0gImNvbnRlbnQt
Zmxvdy10cmVlIjsKIAogV2ViSW5zcGVjdG9yLkNvbnRlbnRGbG93VHJlZUNvbnRlbnRWaWV3LnBy
b3RvdHlwZSA9IHsKICAgICBjb25zdHJ1Y3RvcjogV2ViSW5zcGVjdG9yLkNvbnRlbnRGbG93VHJl
ZUNvbnRlbnRWaWV3LAotICAgIF9fcHJvdG9fXzogV2ViSW5zcGVjdG9yLkNvbnRlbnRWaWV3LnBy
b3RvdHlwZSwKKyAgICBfX3Byb3RvX186IFdlYkluc3BlY3Rvci5ET01UcmVlQ29udGVudFZpZXcu
cHJvdG90eXBlLAogCiAgICAgLy8gUHVibGljCiAKLSAgICBnZXQgc2VsZWN0aW9uUGF0aENvbXBv
bmVudHMoKQotICAgIHsKLSAgICAgICAgdmFyIHRyZWVFbGVtZW50ID0gdGhpcy5fc2VsZWN0ZWRU
cmVlRWxlbWVudDsKLSAgICAgICAgdmFyIHBhdGhDb21wb25lbnRzID0gW107Ci0KLSAgICAgICAg
d2hpbGUgKHRyZWVFbGVtZW50ICYmICF0cmVlRWxlbWVudC5yb290KSB7Ci0gICAgICAgICAgICAv
LyBUaGUgY2xvc2UgdGFnIGlzIGNvbnRhaW5lZCB3aXRoaW4gdGhlIGVsZW1lbnQgaXQgY2xvc2Vz
LiBTbyBza2lwIGl0IHNpbmNlIHdlIGRvbid0IHdhbnQgdG8KLSAgICAgICAgICAgIC8vIHNob3cg
dGhlIHNhbWUgbm9kZSB0d2ljZSBpbiB0aGUgaGllcmFyY2h5LgotICAgICAgICAgICAgaWYgKHRy
ZWVFbGVtZW50LmlzQ2xvc2VUYWcoKSkgewotICAgICAgICAgICAgICAgIHRyZWVFbGVtZW50ID0g
dHJlZUVsZW1lbnQucGFyZW50OwotICAgICAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICAg
ICAgfQotCi0gICAgICAgICAgICAvLyBGSVhNRTogQ29udGVudEZsb3cuY29udGVudE5vZGVzIHNo
b3VsZCBiZSBsaW5rZWQgdG8gZWFjaCBvdGhlci4KLSAgICAgICAgICAgIHZhciBwYXRoQ29tcG9u
ZW50ID0gbmV3IFdlYkluc3BlY3Rvci5ET01UcmVlRWxlbWVudFBhdGhDb21wb25lbnQodHJlZUVs
ZW1lbnQsIHRyZWVFbGVtZW50LnJlcHJlc2VudGVkT2JqZWN0KTsKLSAgICAgICAgICAgIHBhdGhD
b21wb25lbnQuYWRkRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuSGllcmFyY2hpY2FsUGF0aENv
bXBvbmVudC5FdmVudC5TaWJsaW5nV2FzU2VsZWN0ZWQsIHRoaXMuX3BhdGhDb21wb25lbnRTZWxl
Y3RlZCwgdGhpcyk7Ci0gICAgICAgICAgICBwYXRoQ29tcG9uZW50cy51bnNoaWZ0KHBhdGhDb21w
b25lbnQpOwotCi0gICAgICAgICAgICAvLyBEbyBub3QgZGlzcGxheSBlbGVtZW50cyBvdXRzaWRl
IHRoZSBDb250ZW50Rmxvdy4KLSAgICAgICAgICAgIGlmICh0aGlzLl9ub2Rlc01hcC5oYXModHJl
ZUVsZW1lbnQucmVwcmVzZW50ZWRPYmplY3QuaWQpKQotICAgICAgICAgICAgICAgIGJyZWFrOwot
Ci0gICAgICAgICAgICB0cmVlRWxlbWVudCA9IHRyZWVFbGVtZW50LnBhcmVudDsKLSAgICAgICAg
fQotCi0gICAgICAgIHJldHVybiBwYXRoQ29tcG9uZW50czsKLSAgICB9LAotCi0gICAgdXBkYXRl
TGF5b3V0OiBmdW5jdGlvbigpCi0gICAgewotICAgICAgICB0aGlzLl9ub2Rlc01hcC5mb3JFYWNo
KGZ1bmN0aW9uKG5vZGUpIHsKLSAgICAgICAgICAgIG5vZGUudXBkYXRlU2VsZWN0aW9uKCk7Ci0g
ICAgICAgIH0pOwotICAgIH0sCi0KLSAgICBzaG93bjogZnVuY3Rpb24oKQotICAgIHsKLSAgICAg
ICAgdmFyIG9taXRGb2N1cyA9IFdlYkluc3BlY3Rvci5pc0NvbnNvbGVGb2N1c2VkKCk7Ci0gICAg
ICAgIHRoaXMuX25vZGVzTWFwLmZvckVhY2goZnVuY3Rpb24obm9kZSkgewotICAgICAgICAgICAg
bm9kZS5zZXRWaXNpYmxlKHRydWUsIG9taXRGb2N1cyk7Ci0gICAgICAgIH0pOwotICAgIH0sCi0K
LSAgICBoaWRkZW46IGZ1bmN0aW9uKCkKLSAgICB7Ci0gICAgICAgIFdlYkluc3BlY3Rvci5kb21U
cmVlTWFuYWdlci5oaWRlRE9NTm9kZUhpZ2hsaWdodCgpOwotICAgICAgICB0aGlzLl9ub2Rlc01h
cC5mb3JFYWNoKGZ1bmN0aW9uKG5vZGUpIHsKLSAgICAgICAgICAgIG5vZGUuc2V0VmlzaWJsZShm
YWxzZSk7Ci0gICAgICAgIH0pOwotICAgIH0sCi0KICAgICBjbG9zZWQ6IGZ1bmN0aW9uKCkKICAg
ICB7CiAgICAgICAgIHRoaXMucmVwcmVzZW50ZWRPYmplY3QucmVtb3ZlRXZlbnRMaXN0ZW5lcihX
ZWJJbnNwZWN0b3IuQ29udGVudEZsb3cuRXZlbnQuQ29udGVudE5vZGVXYXNBZGRlZCwgdGhpcy5f
Y29udGVudE5vZGVXYXNBZGRlZCwgdGhpcyk7CiAgICAgICAgIHRoaXMucmVwcmVzZW50ZWRPYmpl
Y3QucmVtb3ZlRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuQ29udGVudEZsb3cuRXZlbnQuQ29u
dGVudE5vZGVXYXNSZW1vdmVkLCB0aGlzLl9jb250ZW50Tm9kZVdhc1JlbW92ZWQsIHRoaXMpOwot
ICAgICAgICB0aGlzLl9ub2Rlc01hcC5mb3JFYWNoKGZ1bmN0aW9uKG5vZGUpIHsKLSAgICAgICAg
ICAgIG5vZGUuY2xvc2UoKTsKLSAgICAgICAgfSk7CisgICAgICAgIFdlYkluc3BlY3Rvci5ET01U
cmVlQ29udGVudFZpZXcucHJvdG90eXBlLmNsb3NlZC5jYWxsKHRoaXMpOwogICAgIH0sCiAKICAg
ICAvLyBQcml2YXRlCiAKLSAgICBfc2VsZWN0ZWROb2RlRGlkQ2hhbmdlOiBmdW5jdGlvbihjb250
ZW50Tm9kZU91dGxpbmUsIGV2ZW50KQotICAgIHsKLSAgICAgICAgdmFyIHNlbGVjdGVkVHJlZUVs
ZW1lbnQgPSBjb250ZW50Tm9kZU91dGxpbmUuc2VsZWN0ZWRUcmVlRWxlbWVudDsKLSAgICAgICAg
aWYgKHRoaXMuX3NlbGVjdGVkVHJlZUVsZW1lbnQgPT09IHNlbGVjdGVkVHJlZUVsZW1lbnQpCi0g
ICAgICAgICAgICByZXR1cm47Ci0KLSAgICAgICAgLy8gTWFrZSBzdXJlIHRoYXQgbW92aW5nIGZy
b20gb25lIHRyZWUgdG8gdGhlIG90aGVyIHdpbGwgZGVzZWxlY3QgdGhlIHByZXZpb3VzIGVsZW1l
bnQuCi0gICAgICAgIGlmICh0aGlzLl9zZWxlY3RlZFRyZWVFbGVtZW50ICYmIHRoaXMuX3NlbGVj
dGVkVHJlZUVsZW1lbnQudHJlZU91dGxpbmUgIT09IGNvbnRlbnROb2RlT3V0bGluZSkKLSAgICAg
ICAgICAgIHRoaXMuX3NlbGVjdGVkVHJlZUVsZW1lbnQuZGVzZWxlY3QoKTsKLQotICAgICAgICB0
aGlzLl9zZWxlY3RlZFRyZWVFbGVtZW50ID0gc2VsZWN0ZWRUcmVlRWxlbWVudDsKLSAgICAgICAg
aWYgKHNlbGVjdGVkVHJlZUVsZW1lbnQpIHsKLSAgICAgICAgICAgIC8vIEZJWE1FOiBTd2l0Y2hp
bmcgYmV0d2VlbiBkaWZmZXJlbnQgQ29udGVudEZsb3dUcmVlQ29udGVudFZpZXcgb3IgRE9NVHJl
ZUNvbnRlbnRWaWV3IGVsZW1lbnRzIHNob3VsZCBjYWxsIENvbnNvbGVBZ2VudC5hZGRJbnNwZWN0
ZWROb2RlLgotICAgICAgICAgICAgQ29uc29sZUFnZW50LmFkZEluc3BlY3RlZE5vZGUoc2VsZWN0
ZWRUcmVlRWxlbWVudC5yZXByZXNlbnRlZE9iamVjdC5pZCk7Ci0gICAgICAgIH0KLQotICAgICAg
ICB0aGlzLmRpc3BhdGNoRXZlbnRUb0xpc3RlbmVycyhXZWJJbnNwZWN0b3IuQ29udGVudFZpZXcu
RXZlbnQuU2VsZWN0aW9uUGF0aENvbXBvbmVudHNEaWRDaGFuZ2UpOwotICAgIH0sCi0KLSAgICBf
cGF0aENvbXBvbmVudFNlbGVjdGVkOiBmdW5jdGlvbihldmVudCkKKyAgICBfY3JlYXRlQ29udGVu
dFRyZWVzOiBmdW5jdGlvbigpCiAgICAgewotICAgICAgICBjb25zb2xlLmFzc2VydChldmVudC5k
YXRhLnBhdGhDb21wb25lbnQgaW5zdGFuY2VvZiBXZWJJbnNwZWN0b3IuRE9NVHJlZUVsZW1lbnRQ
YXRoQ29tcG9uZW50KTsKLSAgICAgICAgY29uc29sZS5hc3NlcnQoZXZlbnQuZGF0YS5wYXRoQ29t
cG9uZW50LmRvbVRyZWVFbGVtZW50IGluc3RhbmNlb2YgV2ViSW5zcGVjdG9yLkRPTVRyZWVFbGVt
ZW50KTsKKyAgICAgICAgdmFyIGNvbnRlbnROb2RlcyA9IHRoaXMucmVwcmVzZW50ZWRPYmplY3Qu
Y29udGVudE5vZGVzOworICAgICAgICBmb3IgKHZhciBjb250ZW50Tm9kZSBvZiBjb250ZW50Tm9k
ZXMpCisgICAgICAgICAgICB0aGlzLmRvbVRyZWVPdXRsaW5lLmFwcGVuZENoaWxkKG5ldyBXZWJJ
bnNwZWN0b3IuRE9NVHJlZUVsZW1lbnQoY29udGVudE5vZGUpKTsKIAotICAgICAgICB2YXIgdHJl
ZUVsZW1lbnQgPSBldmVudC5kYXRhLnBhdGhDb21wb25lbnQuZG9tVHJlZUVsZW1lbnQ7Ci0gICAg
ICAgIHRyZWVFbGVtZW50LnRyZWVPdXRsaW5lLnNlbGVjdERPTU5vZGUodHJlZUVsZW1lbnQucmVw
cmVzZW50ZWRPYmplY3QsIHRydWUpOworICAgICAgICB2YXIgZG9jdW1lbnRVUkwgPSBjb250ZW50
Tm9kZXMubGVuZ3RoID8gY29udGVudE5vZGVzWzBdLm93bmVyRG9jdW1lbnQuZG9jdW1lbnRVUkwg
OiBudWxsOworICAgICAgICB0aGlzLl9yZXN0b3JlU2VsZWN0ZWROb2RlQWZ0ZXJVcGRhdGUoZG9j
dW1lbnRVUkwsIGNvbnRlbnROb2Rlc1swXSk7CiAgICAgfSwKIAotICAgIF9jcmVhdGVDb250ZW50
Tm9kZVRyZWU6IGZ1bmN0aW9uKG5vZGUpCisgICAgX2NvbnRlbnROb2RlV2FzQWRkZWQ6IGZ1bmN0
aW9uKGV2ZW50KQogICAgIHsKLSAgICAgICAgY29uc29sZS5hc3NlcnQoIXRoaXMuX25vZGVzTWFw
Lmhhcyhub2RlLmlkKSk7Ci0KLSAgICAgICAgLy8gRklYTUU6IERPTVRyZWUncyBzaG91bGQgYmUg
bGlua2VkIHRvIGVhY2ggb3RoZXIgd2hlbiBuYXZpZ2F0aW5nIHdpdGgga2V5Ym9hcmQgdXAvZG93
biBldmVudHMuCi0gICAgICAgIHZhciBjb250ZW50Tm9kZU91dGxpbmUgPSBuZXcgV2ViSW5zcGVj
dG9yLkRPTVRyZWVPdXRsaW5lKGZhbHNlLCB0cnVlLCB0cnVlKTsKLSAgICAgICAgY29udGVudE5v
ZGVPdXRsaW5lLmFkZEV2ZW50TGlzdGVuZXIoV2ViSW5zcGVjdG9yLkRPTVRyZWVPdXRsaW5lLkV2
ZW50LlNlbGVjdGVkTm9kZUNoYW5nZWQsIHRoaXMuX3NlbGVjdGVkTm9kZURpZENoYW5nZS5iaW5k
KHRoaXMsIGNvbnRlbnROb2RlT3V0bGluZSksIHRoaXMpOwotICAgICAgICBjb250ZW50Tm9kZU91
dGxpbmUuc2V0VmlzaWJsZSh0aGlzLnZpc2libGUsIFdlYkluc3BlY3Rvci5pc0NvbnNvbGVGb2N1
c2VkKCkpOwotICAgICAgICBjb250ZW50Tm9kZU91dGxpbmUud2lyZVRvRG9tQWdlbnQoKTsKLSAg
ICAgICAgY29udGVudE5vZGVPdXRsaW5lLnJvb3RET01Ob2RlID0gbm9kZTsKLQotICAgICAgICB0
aGlzLl9ub2Rlc01hcC5zZXQobm9kZS5pZCwgY29udGVudE5vZGVPdXRsaW5lKTsKKyAgICAgICAg
dmFyIHRyZWVFbGVtZW50ID0gbmV3IFdlYkluc3BlY3Rvci5ET01UcmVlRWxlbWVudChldmVudC5k
YXRhLm5vZGUpOworICAgICAgICBpZiAoIWV2ZW50LmRhdGEuYmVmb3JlKSB7CisgICAgICAgICAg
ICB0aGlzLmRvbVRyZWVPdXRsaW5lLmFwcGVuZENoaWxkKHRyZWVFbGVtZW50KTsKKyAgICAgICAg
ICAgIHJldHVybjsKKyAgICAgICAgfQogCi0gICAgICAgIHJldHVybiBjb250ZW50Tm9kZU91dGxp
bmU7Ci0gICAgfSwKKyAgICAgICAgdmFyIGJlZm9yZUVsZW1lbnQgPSB0aGlzLmRvbVRyZWVPdXRs
aW5lLmZpbmRUcmVlRWxlbWVudChldmVudC5kYXRhLmJlZm9yZSk7CisgICAgICAgIGNvbnNvbGUu
YXNzZXJ0KGJlZm9yZUVsZW1lbnQpOwogCi0gICAgX2NyZWF0ZUNvbnRlbnRUcmVlczogZnVuY3Rp
b24oKQotICAgIHsKLSAgICAgICAgZm9yICh2YXIgY29udGVudE5vZGUgb2YgdGhpcy5yZXByZXNl
bnRlZE9iamVjdC5jb250ZW50Tm9kZXMpIHsKLSAgICAgICAgICAgIHZhciBjb250ZW50Tm9kZU91
dGxpbmUgPSB0aGlzLl9jcmVhdGVDb250ZW50Tm9kZVRyZWUoY29udGVudE5vZGUpOwotICAgICAg
ICAgICAgdGhpcy5lbGVtZW50LmFwcGVuZENoaWxkKGNvbnRlbnROb2RlT3V0bGluZS5lbGVtZW50
KTsKLSAgICAgICAgfQotICAgIH0sCisgICAgICAgIHZhciBpbmRleCA9IHRoaXMuZG9tVHJlZU91
dGxpbmUuY2hpbGRyZW4uaW5kZXhPZihiZWZvcmVFbGVtZW50KTsKKyAgICAgICAgY29uc29sZS5h
c3NlcnQoaW5kZXggIT09IC0xKTsKIAotICAgIF9jb250ZW50Tm9kZVdhc0FkZGVkOiBmdW5jdGlv
bihldmVudCkKLSAgICB7Ci0gICAgICAgIHZhciB0cmVlRWxlbWVudCA9IHRoaXMuX2NyZWF0ZUNv
bnRlbnROb2RlVHJlZShldmVudC5kYXRhLm5vZGUpOwotICAgICAgICBpZiAoZXZlbnQuZGF0YS5i
ZWZvcmUpIHsKLSAgICAgICAgICAgIHZhciBiZWZvcmVFbGVtZW50ID0gdGhpcy5fbm9kZXNNYXAu
Z2V0KGV2ZW50LmRhdGEuYmVmb3JlLmlkKTsKLSAgICAgICAgICAgIGNvbnNvbGUuYXNzZXJ0KGJl
Zm9yZUVsZW1lbnQpOwotICAgICAgICAgICAgdGhpcy5lbGVtZW50Lmluc2VydEJlZm9yZSh0cmVl
RWxlbWVudC5lbGVtZW50LCBiZWZvcmVFbGVtZW50LmVsZW1lbnQpOwotICAgICAgICB9IGVsc2UK
LSAgICAgICAgICAgIHRoaXMuZWxlbWVudC5hcHBlbmRDaGlsZCh0cmVlRWxlbWVudC5lbGVtZW50
KTsKKyAgICAgICAgdGhpcy5kb21UcmVlT3V0bGluZS5pbnNlcnRDaGlsZCh0cmVlRWxlbWVudCwg
aW5kZXgpOwogICAgIH0sCiAKICAgICBfY29udGVudE5vZGVXYXNSZW1vdmVkOiBmdW5jdGlvbihl
dmVudCkKICAgICB7Ci0gICAgICAgIHZhciBjb250ZW50Tm9kZU91dGxpbmUgPSB0aGlzLl9ub2Rl
c01hcC5nZXQoZXZlbnQuZGF0YS5ub2RlLmlkKTsKLSAgICAgICAgY29udGVudE5vZGVPdXRsaW5l
LmNsb3NlKCk7Ci0gICAgICAgIGNvbnRlbnROb2RlT3V0bGluZS5lbGVtZW50LnJlbW92ZSgpOwot
Ci0gICAgICAgIHRoaXMuX25vZGVzTWFwLmRlbGV0ZShldmVudC5kYXRhLm5vZGUuaWQpOworICAg
ICAgICB2YXIgdHJlZUVsZW1lbnQgPSB0aGlzLmRvbVRyZWVPdXRsaW5lLmZpbmRUcmVlRWxlbWVu
dChldmVudC5kYXRhLm5vZGUpOworICAgICAgICBjb25zb2xlLmFzc2VydCh0cmVlRWxlbWVudCk7
CisgICAgICAgIHRoaXMuZG9tVHJlZU91dGxpbmUucmVtb3ZlQ2hpbGQodHJlZUVsZW1lbnQpOwog
ICAgIH0KIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFj
ZS9Db250ZW50Vmlldy5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0Nv
bnRlbnRWaWV3LmpzCmluZGV4IGE0YmI4NjQuLjUwYzUxYmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0NvbnRlbnRWaWV3LmpzCisrKyBiL1NvdXJjZS9X
ZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0NvbnRlbnRWaWV3LmpzCkBAIC01NSw3ICs1NSw3
IEBAIFdlYkluc3BlY3Rvci5Db250ZW50VmlldyA9IGZ1bmN0aW9uKHJlcHJlc2VudGVkT2JqZWN0
KQogICAgICAgICAgICAgcmV0dXJuIG5ldyBXZWJJbnNwZWN0b3IuQXBwbGljYXRpb25DYWNoZUZy
YW1lQ29udGVudFZpZXcocmVwcmVzZW50ZWRPYmplY3QpOwogCiAgICAgICAgIGlmIChyZXByZXNl
bnRlZE9iamVjdCBpbnN0YW5jZW9mIFdlYkluc3BlY3Rvci5ET01UcmVlKQotICAgICAgICAgICAg
cmV0dXJuIG5ldyBXZWJJbnNwZWN0b3IuRE9NVHJlZUNvbnRlbnRWaWV3KHJlcHJlc2VudGVkT2Jq
ZWN0KTsKKyAgICAgICAgICAgIHJldHVybiBuZXcgV2ViSW5zcGVjdG9yLkZyYW1lRE9NVHJlZUNv
bnRlbnRWaWV3KHJlcHJlc2VudGVkT2JqZWN0KTsKIAogICAgICAgICBpZiAocmVwcmVzZW50ZWRP
YmplY3QgaW5zdGFuY2VvZiBXZWJJbnNwZWN0b3IuTG9nT2JqZWN0KQogICAgICAgICAgICAgcmV0
dXJuIG5ldyBXZWJJbnNwZWN0b3IuTG9nQ29udGVudFZpZXcocmVwcmVzZW50ZWRPYmplY3QpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvRE9NVHJlZUNv
bnRlbnRWaWV3LmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvRE9NVHJl
ZUNvbnRlbnRWaWV3LmpzCmluZGV4IDAwYzVmYzMuLjAwY2ZmN2EgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0RPTVRyZWVDb250ZW50Vmlldy5qcworKysg
Yi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9ET01UcmVlQ29udGVudFZpZXcu
anMKQEAgLTIzLDExICsyMywxMSBAQAogICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgogICovCiAKLVdlYkluc3BlY3Rvci5ET01UcmVlQ29udGVudFZpZXcgPSBmdW5jdGlvbihkb21U
cmVlKQorV2ViSW5zcGVjdG9yLkRPTVRyZWVDb250ZW50VmlldyA9IGZ1bmN0aW9uKHJlcHJlc2Vu
dGVkT2JqZWN0KQogewotICAgIGNvbnNvbGUuYXNzZXJ0KGRvbVRyZWUpOworICAgIGNvbnNvbGUu
YXNzZXJ0KHJlcHJlc2VudGVkT2JqZWN0KTsKIAotICAgIFdlYkluc3BlY3Rvci5Db250ZW50Vmll
dy5jYWxsKHRoaXMsIGRvbVRyZWUpOworICAgIFdlYkluc3BlY3Rvci5Db250ZW50Vmlldy5jYWxs
KHRoaXMsIHJlcHJlc2VudGVkT2JqZWN0KTsKIAogICAgIHRoaXMuX2NvbXBvc2l0aW5nQm9yZGVy
c0J1dHRvbk5hdmlnYXRpb25JdGVtID0gbmV3IFdlYkluc3BlY3Rvci5BY3RpdmF0ZUJ1dHRvbk5h
dmlnYXRpb25JdGVtKCJsYXllci1ib3JkZXJzIiwgV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJTaG93
IGNvbXBvc2l0aW5nIGJvcmRlcnMiKSwgV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJIaWRlIGNvbXBv
c2l0aW5nIGJvcmRlcnMiKSwgIkltYWdlcy9MYXllckJvcmRlcnMuc3ZnIiwgMTYsIDE2KTsKICAg
ICB0aGlzLl9jb21wb3NpdGluZ0JvcmRlcnNCdXR0b25OYXZpZ2F0aW9uSXRlbS5hZGRFdmVudExp
c3RlbmVyKFdlYkluc3BlY3Rvci5CdXR0b25OYXZpZ2F0aW9uSXRlbS5FdmVudC5DbGlja2VkLCB0
aGlzLl90b2dnbGVDb21wb3NpdGluZ0JvcmRlcnMsIHRoaXMpOwpAQCAtNDEsOSArNDEsNiBAQCBX
ZWJJbnNwZWN0b3IuRE9NVHJlZUNvbnRlbnRWaWV3ID0gZnVuY3Rpb24oZG9tVHJlZSkKICAgICB0
aGlzLmVsZW1lbnQuY2xhc3NMaXN0LmFkZChXZWJJbnNwZWN0b3IuRE9NVHJlZUNvbnRlbnRWaWV3
LlN0eWxlQ2xhc3NOYW1lKTsKICAgICB0aGlzLmVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiY2xp
Y2siLCB0aGlzLl9tb3VzZVdhc0NsaWNrZWQuYmluZCh0aGlzKSwgZmFsc2UpOwogCi0gICAgdGhp
cy5fZG9tVHJlZSA9IGRvbVRyZWU7Ci0gICAgdGhpcy5fZG9tVHJlZS5hZGRFdmVudExpc3RlbmVy
KFdlYkluc3BlY3Rvci5ET01UcmVlLkV2ZW50LlJvb3RET01Ob2RlSW52YWxpZGF0ZWQsIHRoaXMu
X3Jvb3RET01Ob2RlSW52YWxpZGF0ZWQsIHRoaXMpOwotCiAgICAgdGhpcy5fZG9tVHJlZU91dGxp
bmUgPSBuZXcgV2ViSW5zcGVjdG9yLkRPTVRyZWVPdXRsaW5lKHRydWUsIHRydWUsIGZhbHNlKTsK
ICAgICB0aGlzLl9kb21UcmVlT3V0bGluZS5hZGRFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5E
T01UcmVlT3V0bGluZS5FdmVudC5TZWxlY3RlZE5vZGVDaGFuZ2VkLCB0aGlzLl9zZWxlY3RlZE5v
ZGVEaWRDaGFuZ2UsIHRoaXMpOwogICAgIHRoaXMuX2RvbVRyZWVPdXRsaW5lLndpcmVUb0RvbUFn
ZW50KCk7CkBAIC01NiwxNCArNTMsMTMgQEAgV2ViSW5zcGVjdG9yLkRPTVRyZWVDb250ZW50Vmll
dyA9IGZ1bmN0aW9uKGRvbVRyZWUpCiAgICAgdGhpcy5fbGFzdFNlbGVjdGVkTm9kZVBhdGhTZXR0
aW5nID0gbmV3IFdlYkluc3BlY3Rvci5TZXR0aW5nKCJsYXN0LXNlbGVjdGVkLW5vZGUtcGF0aCIs
IG51bGwpOwogCiAgICAgdGhpcy5fbnVtYmVyT2ZTZWFyY2hSZXN1bHRzID0gbnVsbDsKLQotICAg
IHRoaXMuX3JlcXVlc3RSb290RE9NTm9kZSgpOwogfTsKIAogV2ViSW5zcGVjdG9yLkRPTVRyZWVD
b250ZW50Vmlldy5TdHlsZUNsYXNzTmFtZSA9ICJkb20tdHJlZSI7CiAKIFdlYkluc3BlY3Rvci5E
T01UcmVlQ29udGVudFZpZXcucHJvdG90eXBlID0gewogICAgIGNvbnN0cnVjdG9yOiBXZWJJbnNw
ZWN0b3IuRE9NVHJlZUNvbnRlbnRWaWV3LAorICAgIF9fcHJvdG9fXzogV2ViSW5zcGVjdG9yLkNv
bnRlbnRWaWV3LnByb3RvdHlwZSwKIAogICAgIC8vIFB1YmxpYwogCkBAIC03Miw5ICs2OCw5IEBA
IFdlYkluc3BlY3Rvci5ET01UcmVlQ29udGVudFZpZXcucHJvdG90eXBlID0gewogICAgICAgICBy
ZXR1cm4gW3RoaXMuX3Nob3dzU2hhZG93RE9NQnV0dG9uTmF2aWdhdGlvbkl0ZW0sIHRoaXMuX2Nv
bXBvc2l0aW5nQm9yZGVyc0J1dHRvbk5hdmlnYXRpb25JdGVtXTsKICAgICB9LAogCi0gICAgZ2V0
IGRvbVRyZWUoKQorICAgIGdldCBkb21UcmVlT3V0bGluZSgpCiAgICAgewotICAgICAgICByZXR1
cm4gdGhpcy5fZG9tVHJlZTsKKyAgICAgICAgcmV0dXJuIHRoaXMuX2RvbVRyZWVPdXRsaW5lOwog
ICAgIH0sCiAKICAgICBnZXQgc2Nyb2xsYWJsZUVsZW1lbnRzKCkKQEAgLTEwMSw3ICs5Nyw2IEBA
IFdlYkluc3BlY3Rvci5ET01UcmVlQ29udGVudFZpZXcucHJvdG90eXBlID0gewogCiAgICAgY2xv
c2VkOiBmdW5jdGlvbigpCiAgICAgewotICAgICAgICB0aGlzLl9kb21UcmVlLnJlbW92ZUV2ZW50
TGlzdGVuZXIobnVsbCwgbnVsbCwgdGhpcyk7CiAgICAgICAgIFdlYkluc3BlY3Rvci5kb21UcmVl
TWFuYWdlci5yZW1vdmVFdmVudExpc3RlbmVyKG51bGwsIG51bGwsIHRoaXMpOwogCiAgICAgICAg
IHRoaXMuX2RvbVRyZWVPdXRsaW5lLmNsb3NlKCk7CkBAIC0yODQsMjAgKzI3OSwxMyBAQCBXZWJJ
bnNwZWN0b3IuRE9NVHJlZUNvbnRlbnRWaWV3LnByb3RvdHlwZSA9IHsKICAgICAgICAgRE9NQWdl
bnQuZ2V0U2VhcmNoUmVzdWx0cyh0aGlzLl9zZWFyY2hJZGVudGlmaWVyLCBpbmRleCwgaW5kZXgg
KyAxLCByZXZlYWxSZXN1bHQuYmluZCh0aGlzKSk7CiAgICAgfSwKIAotICAgIF9yb290RE9NTm9k
ZUF2YWlsYWJsZTogZnVuY3Rpb24ocm9vdERPTU5vZGUpCisgICAgX3Jlc3RvcmVTZWxlY3RlZE5v
ZGVBZnRlclVwZGF0ZTogZnVuY3Rpb24oZG9jdW1lbnRVUkwsIGRlZmF1bHROb2RlKQogICAgIHsK
LSAgICAgICAgdGhpcy5fZG9tVHJlZU91dGxpbmUucm9vdERPTU5vZGUgPSByb290RE9NTm9kZTsK
LQotICAgICAgICBpZiAoIXJvb3RET01Ob2RlKSB7Ci0gICAgICAgICAgICB0aGlzLl9kb21UcmVl
T3V0bGluZS5zZWxlY3RET01Ob2RlKG51bGwsIGZhbHNlKTsKLSAgICAgICAgICAgIHJldHVybjsK
LSAgICAgICAgfQotCiAgICAgICAgIGZ1bmN0aW9uIHNlbGVjdE5vZGUobGFzdFNlbGVjdGVkTm9k
ZSkKICAgICAgICAgewogICAgICAgICAgICAgdmFyIG5vZGVUb0ZvY3VzID0gbGFzdFNlbGVjdGVk
Tm9kZTsKICAgICAgICAgICAgIGlmICghbm9kZVRvRm9jdXMpCi0gICAgICAgICAgICAgICAgbm9k
ZVRvRm9jdXMgPSByb290RE9NTm9kZS5ib2R5IHx8IHJvb3RET01Ob2RlLmRvY3VtZW50RWxlbWVu
dDsKKyAgICAgICAgICAgICAgICBub2RlVG9Gb2N1cyA9IGRlZmF1bHROb2RlOwogCiAgICAgICAg
ICAgICBpZiAoIW5vZGVUb0ZvY3VzKQogICAgICAgICAgICAgICAgIHJldHVybjsKQEAgLTMxNiwy
NyArMzA0LDE3IEBAIFdlYkluc3BlY3Rvci5ET01UcmVlQ29udGVudFZpZXcucHJvdG90eXBlID0g
ewogICAgICAgICAgICAgc2VsZWN0Tm9kZS5jYWxsKHRoaXMsIFdlYkluc3BlY3Rvci5kb21UcmVl
TWFuYWdlci5ub2RlRm9ySWQobm9kZUlkKSk7CiAgICAgICAgIH0KIAotICAgICAgICBpZiAodGhp
cy5fbGFzdFNlbGVjdGVkTm9kZVBhdGhTZXR0aW5nLnZhbHVlICYmIHRoaXMuX2xhc3RTZWxlY3Rl
ZE5vZGVQYXRoU2V0dGluZy52YWx1ZS5wYXRoICYmIHRoaXMuX2xhc3RTZWxlY3RlZE5vZGVQYXRo
U2V0dGluZy52YWx1ZS51cmwgPT09IHRoaXMuX2RvbVRyZWUuZnJhbWUudXJsLmhhc2gpCisgICAg
ICAgIGlmIChkb2N1bWVudFVSTCAmJiB0aGlzLl9sYXN0U2VsZWN0ZWROb2RlUGF0aFNldHRpbmcu
dmFsdWUgJiYgdGhpcy5fbGFzdFNlbGVjdGVkTm9kZVBhdGhTZXR0aW5nLnZhbHVlLnBhdGggJiYg
dGhpcy5fbGFzdFNlbGVjdGVkTm9kZVBhdGhTZXR0aW5nLnZhbHVlLnVybCA9PT0gZG9jdW1lbnRV
UkwuaGFzaCkKICAgICAgICAgICAgIFdlYkluc3BlY3Rvci5kb21UcmVlTWFuYWdlci5wdXNoTm9k
ZUJ5UGF0aFRvRnJvbnRlbmQodGhpcy5fbGFzdFNlbGVjdGVkTm9kZVBhdGhTZXR0aW5nLnZhbHVl
LnBhdGgsIHNlbGVjdExhc3RTZWxlY3RlZE5vZGUuYmluZCh0aGlzKSk7CiAgICAgICAgIGVsc2UK
ICAgICAgICAgICAgIHNlbGVjdE5vZGUuY2FsbCh0aGlzKTsKICAgICB9LAogCi0gICAgX3Jvb3RE
T01Ob2RlSW52YWxpZGF0ZWQ6IGZ1bmN0aW9uKGV2ZW50KQotICAgIHsKLSAgICAgICAgdGhpcy5f
cmVxdWVzdFJvb3RET01Ob2RlKCk7Ci0gICAgfSwKLQotICAgIF9yZXF1ZXN0Um9vdERPTU5vZGU6
IGZ1bmN0aW9uKCkKLSAgICB7Ci0gICAgICAgIHRoaXMuX2RvbVRyZWUucmVxdWVzdFJvb3RET01O
b2RlKHRoaXMuX3Jvb3RET01Ob2RlQXZhaWxhYmxlLmJpbmQodGhpcykpOwotICAgIH0sCi0KICAg
ICBfc2VsZWN0ZWROb2RlRGlkQ2hhbmdlOiBmdW5jdGlvbihldmVudCkKICAgICB7CiAgICAgICAg
IHZhciBzZWxlY3RlZERPTU5vZGUgPSB0aGlzLl9kb21UcmVlT3V0bGluZS5zZWxlY3RlZERPTU5v
ZGUoKTsKICAgICAgICAgaWYgKHNlbGVjdGVkRE9NTm9kZSAmJiAhdGhpcy5fZG9udFNldExhc3RT
ZWxlY3RlZE5vZGVQYXRoKQotICAgICAgICAgICAgdGhpcy5fbGFzdFNlbGVjdGVkTm9kZVBhdGhT
ZXR0aW5nLnZhbHVlID0ge3VybDogdGhpcy5fZG9tVHJlZS5mcmFtZS51cmwuaGFzaCwgcGF0aDog
c2VsZWN0ZWRET01Ob2RlLnBhdGgoKX07CisgICAgICAgICAgICB0aGlzLl9sYXN0U2VsZWN0ZWRO
b2RlUGF0aFNldHRpbmcudmFsdWUgPSB7dXJsOiBzZWxlY3RlZERPTU5vZGUub3duZXJEb2N1bWVu
dC5kb2N1bWVudFVSTC5oYXNoLCBwYXRoOiBzZWxlY3RlZERPTU5vZGUucGF0aCgpfTsKIAogICAg
ICAgICBpZiAoc2VsZWN0ZWRET01Ob2RlKQogICAgICAgICAgICAgQ29uc29sZUFnZW50LmFkZElu
c3BlY3RlZE5vZGUoc2VsZWN0ZWRET01Ob2RlLmlkKTsKQEAgLTQwOSw3ICszODcsNyBAQCBXZWJJ
bnNwZWN0b3IuRE9NVHJlZUNvbnRlbnRWaWV3LnByb3RvdHlwZSA9IHsKICAgICAgICAgdGhpcy5f
Y29tcG9zaXRpbmdCb3JkZXJzQnV0dG9uTmF2aWdhdGlvbkl0ZW0uYWN0aXZhdGVkID0gYWN0aXZh
dGVkOwogICAgICAgICBQYWdlQWdlbnQuc2V0Q29tcG9zaXRpbmdCb3JkZXJzVmlzaWJsZShhY3Rp
dmF0ZWQpOwogICAgIH0sCi0gICAgCisKICAgICBfdXBkYXRlQ29tcG9zaXRpbmdCb3JkZXJzQnV0
dG9uVG9NYXRjaFBhZ2VTZXR0aW5nczogZnVuY3Rpb24oKQogICAgIHsKICAgICAgICAgaWYgKCFQ
YWdlQWdlbnQuZ2V0Q29tcG9zaXRpbmdCb3JkZXJzVmlzaWJsZSkKQEAgLTQzNCw1ICs0MTIsMyBA
QCBXZWJJbnNwZWN0b3IuRE9NVHJlZUNvbnRlbnRWaWV3LnByb3RvdHlwZSA9IHsKICAgICAgICAg
V2ViSW5zcGVjdG9yLnNob3dTaGFkb3dET01TZXR0aW5nLnZhbHVlID0gIVdlYkluc3BlY3Rvci5z
aG93U2hhZG93RE9NU2V0dGluZy52YWx1ZTsKICAgICB9CiB9OwotCi1XZWJJbnNwZWN0b3IuRE9N
VHJlZUNvbnRlbnRWaWV3LnByb3RvdHlwZS5fX3Byb3RvX18gPSBXZWJJbnNwZWN0b3IuQ29udGVu
dFZpZXcucHJvdG90eXBlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJ
bnRlcmZhY2UvRnJhbWVET01UcmVlQ29udGVudFZpZXcuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvVXNlckludGVyZmFjZS9GcmFtZURPTVRyZWVDb250ZW50Vmlldy5qcwpuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwLi42NTM4NTBjCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNl
L1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvRnJhbWVET01UcmVlQ29udGVudFZpZXcuanMK
QEAgLTAsMCArMSw4MCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMyBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFy
ZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5E
IEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKK1dlYkluc3BlY3Rvci5GcmFtZURPTVRyZWVD
b250ZW50VmlldyA9IGZ1bmN0aW9uKGRvbVRyZWUpCit7CisgICAgY29uc29sZS5hc3NlcnQoZG9t
VHJlZSk7CisKKyAgICBXZWJJbnNwZWN0b3IuRE9NVHJlZUNvbnRlbnRWaWV3LmNhbGwodGhpcywg
ZG9tVHJlZSk7CisKKyAgICB0aGlzLl9kb21UcmVlID0gZG9tVHJlZTsKKyAgICB0aGlzLl9kb21U
cmVlLmFkZEV2ZW50TGlzdGVuZXIoV2ViSW5zcGVjdG9yLkRPTVRyZWUuRXZlbnQuUm9vdERPTU5v
ZGVJbnZhbGlkYXRlZCwgdGhpcy5fcm9vdERPTU5vZGVJbnZhbGlkYXRlZCwgdGhpcyk7CisKKyAg
ICB0aGlzLl9yZXF1ZXN0Um9vdERPTU5vZGUoKTsKK307CisKKworV2ViSW5zcGVjdG9yLkZyYW1l
RE9NVHJlZUNvbnRlbnRWaWV3LnByb3RvdHlwZSA9IHsKKyAgICBjb25zdHJ1Y3RvcjogV2ViSW5z
cGVjdG9yLkZyYW1lRE9NVHJlZUNvbnRlbnRWaWV3LAorICAgIF9fcHJvdG9fXzogV2ViSW5zcGVj
dG9yLkRPTVRyZWVDb250ZW50Vmlldy5wcm90b3R5cGUsCisKKyAgICAvLyBQdWJsaWMKKworICAg
IGdldCBkb21UcmVlKCkKKyAgICB7CisgICAgICAgIHJldHVybiB0aGlzLl9kb21UcmVlOworICAg
IH0sCisKKyAgICBjbG9zZWQ6IGZ1bmN0aW9uKCkKKyAgICB7CisgICAgICAgIHRoaXMuX2RvbVRy
ZWUucmVtb3ZlRXZlbnRMaXN0ZW5lcihudWxsLCBudWxsLCB0aGlzKTsKKyAgICAgICAgV2ViSW5z
cGVjdG9yLkRPTVRyZWVDb250ZW50Vmlldy5wcm90b3R5cGUuY2xvc2VkLmNhbGwodGhpcyk7Cisg
ICAgfSwKKworICAgIC8vIFByaXZhdGUKKworICAgIF9yb290RE9NTm9kZUF2YWlsYWJsZTogZnVu
Y3Rpb24ocm9vdERPTU5vZGUpCisgICAgeworICAgICAgICB0aGlzLmRvbVRyZWVPdXRsaW5lLnJv
b3RET01Ob2RlID0gcm9vdERPTU5vZGU7CisKKyAgICAgICAgaWYgKCFyb290RE9NTm9kZSkgewor
ICAgICAgICAgICAgdGhpcy5kb21UcmVlT3V0bGluZS5zZWxlY3RET01Ob2RlKG51bGwsIGZhbHNl
KTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorCisgICAgICAgIHRoaXMuX3Jlc3Rv
cmVTZWxlY3RlZE5vZGVBZnRlclVwZGF0ZSh0aGlzLl9kb21UcmVlLmZyYW1lLnVybCwgcm9vdERP
TU5vZGUuYm9keSB8fCByb290RE9NTm9kZS5kb2N1bWVudEVsZW1lbnQpOworICAgIH0sCisKKyAg
ICBfcm9vdERPTU5vZGVJbnZhbGlkYXRlZDogZnVuY3Rpb24oZXZlbnQpCisgICAgeworICAgICAg
ICB0aGlzLl9yZXF1ZXN0Um9vdERPTU5vZGUoKTsKKyAgICB9LAorCisgICAgX3JlcXVlc3RSb290
RE9NTm9kZTogZnVuY3Rpb24oKQorICAgIHsKKyAgICAgICAgdGhpcy5fZG9tVHJlZS5yZXF1ZXN0
Um9vdERPTU5vZGUodGhpcy5fcm9vdERPTU5vZGVBdmFpbGFibGUuYmluZCh0aGlzKSk7CisgICAg
fQorCit9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2Uv
TWFpbi5odG1sIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTWFpbi5odG1s
CmluZGV4IDA5ZDEzNzQuLmM2YWIzN2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JV
SS9Vc2VySW50ZXJmYWNlL01haW4uaHRtbAorKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNl
ckludGVyZmFjZS9NYWluLmh0bWwKQEAgLTI3NSw2ICsyNzUsNyBAQAogICAgIDxzY3JpcHQgc3Jj
PSJET01UcmVlRWxlbWVudC5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCBzcmM9IkRPTVRyZWVF
bGVtZW50UGF0aENvbXBvbmVudC5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCBzcmM9IkRPTVRy
ZWVDb250ZW50Vmlldy5qcyI+PC9zY3JpcHQ+CisgICAgPHNjcmlwdCBzcmM9IkZyYW1lRE9NVHJl
ZUNvbnRlbnRWaWV3LmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHNyYz0iTGF5ZXJUcmVlTWFu
YWdlci5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCBzcmM9IkRPTVNlYXJjaE1hdGNoT2JqZWN0
LmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHNyYz0iUmVzb3VyY2VTZWFyY2hNYXRjaE9iamVj
dC5qcyI+PC9zY3JpcHQ+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>216725</attachid>
            <date>2013-11-12 14:24:14 -0800</date>
            <delta_ts>2013-11-12 15:01:51 -0800</delta_ts>
            <desc>Patch V2</desc>
            <filename>bug124230.v2.patch</filename>
            <type>text/plain</type>
            <size>26437</size>
            <attacher name="Alexandru Chiculita">achicu</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvQ2hhbmdlTG9nCmluZGV4IGY2NmYyMDEuLmRmNWVjMTQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkluc3BlY3Rv
clVJL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU1IEBACisyMDEzLTExLTEyICBBbGV4YW5kcnUgQ2hp
Y3VsaXRhICA8YWNoaWN1QGFkb2JlLmNvbT4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBDb250
ZW50Rmxvd1RyZWVDb250ZW50VmlldyBzaG91bGQgdXNlIG9ubHkgb25lIERPTVRyZWVPdXRsaW5l
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjQyMzAK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDaGFuZ2Vk
IENvbnRlbnRGbG93VHJlZUNvbnRlbnRWaWV3IHRvIHVzZSBvbmUgRE9NVHJlZU91dGxpbmUgYnkg
anVzdAorICAgICAgICBwb3B1bGF0aW5nIGl0IHdpdGggcm9vdCBET01UcmVlRWxlbWVudHMgZGly
ZWN0bHkuIFRoYXQgaXMgdmVyeQorICAgICAgICBzaW1pbGFyIHRvIGhvdyBET01UcmVlT3V0bGlu
ZSB3b3JrcyB3aGVuIG9taXRSb290RE9NTm9kZSBpcyB1c2VkLgorCisgICAgICAgIE5vdyB0aGF0
IENvbnRlbnRGbG93VHJlZUNvbnRlbnRWaWV3IGhhcyBvbmx5IG9uZSBET01UcmVlT3V0bGluZSwK
KyAgICAgICAgaXQgbWFrZXMgc2Vuc2UgdG8gY2hhbmdlIGl0cyBiYXNlIGNsYXNzIHRvIGJlIERP
TVRyZWVDb250ZW50VmlldyBpbnN0ZWFkLgorICAgICAgICBBbHNvLCB3aXRoIHRoYXQgSSd2ZSBj
aGFuZ2VkIGl0cyBuYW1lIHRvIENvbnRlbnRGbG93RE9NVHJlZUNvbnRlbnRWaWV3LgorCisgICAg
ICAgIEkgaGFkIHRvIG1vdmUgYWxsIHRoZSBET01UcmVlIGRvY3VtZW50IGxvYWRpbmcgY29kZSBm
cm9tIERPTVRyZWVDb250ZW50VmlldyB0byBhCisgICAgICAgIG5ldyBjbGFzcyBjYWxsZWQgRnJh
bWVET01UcmVlQ29udGVudFZpZXcuIFRoaXMgaXMgdXNlZCB0byBkaXNwbGF5IHRoZSBET00gb2Yg
dGhlCisgICAgICAgIGZyYW1lIG9iamVjdHMuIEZyYW1lRE9NVHJlZUNvbnRlbnRWaWV3IGlzIGFs
c28gaW5oZXJpdGluZyBmcm9tIERPTVRyZWVDb250ZW50Vmlldy4KKworICAgICAgICBJc3N1ZXMg
dGhhdCBhcmUgZml4ZWQgYXMgYSBzaWRlIGVmZmVjdDoKKyAgICAgICAgLSBTZWxlY3Rpb24gcGF0
aCBjb21wb25lbnRzIGFyZSBub3cgZGlzcGxheWluZyBhbGwgdGhlIHNpYmxpbmcgZWxlbWVudHMg
Zm9yIGNvbnRlbnRGbG93LmNvbnRlbnROb2RlcworICAgICAgICAodGhvc2UgYXJlIHRoZSBub2Rl
cyB0aGF0IGhhdmUgIi13ZWJraXQtZmxvdy1pbnRvIiBzZXQgZGlyZWN0bHkpLgorICAgICAgICAt
IEtleWJvYXJkIG5hdmlnYXRpb24gd29ya3MgZm9yIHRoZSBjb250ZW50Rmxvdy5jb250ZW50Tm9k
ZXMuCisgICAgICAgIC0gU2VhcmNoIGlzIGltcGxlbWVudGVkIGluIERPTVRyZWVDb250ZW50Vmll
dywgc28gdGhhdCBjb2RlIG5vdyB3b3JrcyBmb3IgZmxvd3MgdG9vLgorICAgICAgICBUaGUgRE9N
QWdlbnRzJ3Mgc2VhcmNoIEFQSSB3aWxsIHVzZSBhbGwgdGhlIERvY3VtZW50cyB0byBsb29rdXAg
Zm9yIG5vZGVzLCBzbyBpdCBtaWdodAorICAgICAgICBmaW5kIERPTSBub2RlcyB0aGF0IGFyZSBu
b3QgcGFydCBvZiB0aGUgZmxvdy4gVGhpcyBpcyBpbiBsaW5lIHdpdGggdGhlIGJlaGF2aW9yIGZv
ciB0aGUKKyAgICAgICAgZnJhbWVzLgorCisgICAgICAgICogVXNlckludGVyZmFjZS9Db250ZW50
Rmxvd0RPTVRyZWVDb250ZW50Vmlldy5qczogUmVuYW1lZCBmcm9tIENvbnRlbnRGbG93VHJlZUNv
bnRlbnRWaWV3CisgICAgICAgIHRvIGJldHRlciByZWZsZWN0IHRoZSBpbmhlcml0YW5jZSBmcm9t
IERPTVRyZWVDb250ZW50Vmlldy4KKyAgICAgICAgKFdlYkluc3BlY3Rvci5Db250ZW50Rmxvd0RP
TVRyZWVDb250ZW50Vmlldyk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuQ29udGVudEZsb3dET01U
cmVlQ29udGVudFZpZXcucHJvdG90eXBlLmNsb3NlZCk6CisgICAgICAgIChXZWJJbnNwZWN0b3Iu
Q29udGVudEZsb3dET01UcmVlQ29udGVudFZpZXcucHJvdG90eXBlLl9jcmVhdGVDb250ZW50VHJl
ZXMpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkNvbnRlbnRGbG93RE9NVHJlZUNvbnRlbnRWaWV3
LnByb3RvdHlwZS5fY29udGVudE5vZGVXYXNBZGRlZCk6CisgICAgICAgIChXZWJJbnNwZWN0b3Iu
Q29udGVudEZsb3dET01UcmVlQ29udGVudFZpZXcucHJvdG90eXBlLl9jb250ZW50Tm9kZVdhc1Jl
bW92ZWQpOgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvQ29udGVudFZpZXcuanM6CisgICAgICAg
IChXZWJJbnNwZWN0b3IuQ29udGVudFZpZXcpOgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvRE9N
VHJlZUNvbnRlbnRWaWV3LmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkRPTVRyZWVDb250ZW50
Vmlldyk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRE9NVHJlZUNvbnRlbnRWaWV3LnByb3RvdHlw
ZS5jbG9zZWQpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkRPTVRyZWVDb250ZW50Vmlldy5wcm90
b3R5cGUuKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5ET01UcmVlQ29udGVudFZpZXcucHJvdG90
eXBlLl9yZXN0b3JlU2VsZWN0ZWROb2RlQWZ0ZXJVcGRhdGUpOgorICAgICAgICAoV2ViSW5zcGVj
dG9yLkRPTVRyZWVDb250ZW50Vmlldy5wcm90b3R5cGUuX3NlbGVjdGVkTm9kZURpZENoYW5nZSk6
CisgICAgICAgICogVXNlckludGVyZmFjZS9GcmFtZURPTVRyZWVDb250ZW50Vmlldy5qczogQWRk
ZWQuCisgICAgICAgIChXZWJJbnNwZWN0b3IuRnJhbWVET01UcmVlQ29udGVudFZpZXcpOgorICAg
ICAgICAoV2ViSW5zcGVjdG9yLkZyYW1lRE9NVHJlZUNvbnRlbnRWaWV3LnByb3RvdHlwZS5nZXQg
ZG9tVHJlZSk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRnJhbWVET01UcmVlQ29udGVudFZpZXcu
cHJvdG90eXBlLmNsb3NlZCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRnJhbWVET01UcmVlQ29u
dGVudFZpZXcucHJvdG90eXBlLl9yb290RE9NTm9kZUF2YWlsYWJsZSk6CisgICAgICAgIChXZWJJ
bnNwZWN0b3IuRnJhbWVET01UcmVlQ29udGVudFZpZXcucHJvdG90eXBlLl9yb290RE9NTm9kZUlu
dmFsaWRhdGVkKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5GcmFtZURPTVRyZWVDb250ZW50Vmll
dy5wcm90b3R5cGUuX3JlcXVlc3RSb290RE9NTm9kZSk6CisgICAgICAgICogVXNlckludGVyZmFj
ZS9NYWluLmh0bWw6CisKIDIwMTMtMTEtMDggIEpvc2VwaCBQZWNvcmFybyAgPHBlY29yYXJvQGFw
cGxlLmNvbT4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiByZW1vdmUgLXdlYmtpdC1taW4gYW5k
IC13ZWJraXQtbWF4IGZyb20gQ1NTIGNvbXBsZXRpb25zCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Db250ZW50Rmxvd0RPTVRyZWVDb250ZW50Vmlldy5q
cyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0NvbnRlbnRGbG93RE9NVHJl
ZUNvbnRlbnRWaWV3LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc3OWMz
NzYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFj
ZS9Db250ZW50Rmxvd0RPTVRyZWVDb250ZW50Vmlldy5qcwpAQCAtMCwwICsxLDkwIEBACisvKgor
ICogQ29weXJpZ2h0IChDKSAyMDEzIEFkb2JlIFN5c3RlbXMgSW5jb3Jwb3JhdGVkLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0
OgorICoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUKKyAqICAgIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nCisgKiAgICBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogICAgY29weXJp
Z2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcKKyAq
ICAgIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cworICogICAgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVIgIkFTIElTIiBBTkQgQU5Z
CisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIEhPTERFUiBCRQorICogTElBQkxFIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLAorICog
T1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywK
KyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUgorICogVE9SVCAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GCisgKiBUSEUgVVNF
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YK
KyAqIFNVQ0ggREFNQUdFLgorICovCisKK1dlYkluc3BlY3Rvci5Db250ZW50Rmxvd0RPTVRyZWVD
b250ZW50VmlldyA9IGZ1bmN0aW9uKGNvbnRlbnRGbG93KQoreworICAgIGNvbnNvbGUuYXNzZXJ0
KGNvbnRlbnRGbG93KTsKKworICAgIFdlYkluc3BlY3Rvci5ET01UcmVlQ29udGVudFZpZXcuY2Fs
bCh0aGlzLCBjb250ZW50Rmxvdyk7CisKKyAgICBjb250ZW50Rmxvdy5hZGRFdmVudExpc3RlbmVy
KFdlYkluc3BlY3Rvci5Db250ZW50Rmxvdy5FdmVudC5Db250ZW50Tm9kZVdhc0FkZGVkLCB0aGlz
Ll9jb250ZW50Tm9kZVdhc0FkZGVkLCB0aGlzKTsKKyAgICBjb250ZW50Rmxvdy5hZGRFdmVudExp
c3RlbmVyKFdlYkluc3BlY3Rvci5Db250ZW50Rmxvdy5FdmVudC5Db250ZW50Tm9kZVdhc1JlbW92
ZWQsIHRoaXMuX2NvbnRlbnROb2RlV2FzUmVtb3ZlZCwgdGhpcyk7CisKKyAgICB0aGlzLl9jcmVh
dGVDb250ZW50VHJlZXMoKTsKK307CisKK1dlYkluc3BlY3Rvci5Db250ZW50Rmxvd0RPTVRyZWVD
b250ZW50Vmlldy5wcm90b3R5cGUgPSB7CisgICAgY29uc3RydWN0b3I6IFdlYkluc3BlY3Rvci5D
b250ZW50Rmxvd0RPTVRyZWVDb250ZW50VmlldywKKyAgICBfX3Byb3RvX186IFdlYkluc3BlY3Rv
ci5ET01UcmVlQ29udGVudFZpZXcucHJvdG90eXBlLAorCisgICAgLy8gUHVibGljCisKKyAgICBj
bG9zZWQ6IGZ1bmN0aW9uKCkKKyAgICB7CisgICAgICAgIHRoaXMucmVwcmVzZW50ZWRPYmplY3Qu
cmVtb3ZlRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuQ29udGVudEZsb3cuRXZlbnQuQ29udGVu
dE5vZGVXYXNBZGRlZCwgdGhpcy5fY29udGVudE5vZGVXYXNBZGRlZCwgdGhpcyk7CisgICAgICAg
IHRoaXMucmVwcmVzZW50ZWRPYmplY3QucmVtb3ZlRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3Iu
Q29udGVudEZsb3cuRXZlbnQuQ29udGVudE5vZGVXYXNSZW1vdmVkLCB0aGlzLl9jb250ZW50Tm9k
ZVdhc1JlbW92ZWQsIHRoaXMpOworICAgICAgICBXZWJJbnNwZWN0b3IuRE9NVHJlZUNvbnRlbnRW
aWV3LnByb3RvdHlwZS5jbG9zZWQuY2FsbCh0aGlzKTsKKyAgICB9LAorCisgICAgLy8gUHJpdmF0
ZQorCisgICAgX2NyZWF0ZUNvbnRlbnRUcmVlczogZnVuY3Rpb24oKQorICAgIHsKKyAgICAgICAg
dmFyIGNvbnRlbnROb2RlcyA9IHRoaXMucmVwcmVzZW50ZWRPYmplY3QuY29udGVudE5vZGVzOwor
ICAgICAgICBmb3IgKHZhciBjb250ZW50Tm9kZSBvZiBjb250ZW50Tm9kZXMpCisgICAgICAgICAg
ICB0aGlzLmRvbVRyZWVPdXRsaW5lLmFwcGVuZENoaWxkKG5ldyBXZWJJbnNwZWN0b3IuRE9NVHJl
ZUVsZW1lbnQoY29udGVudE5vZGUpKTsKKworICAgICAgICB2YXIgZG9jdW1lbnRVUkwgPSBjb250
ZW50Tm9kZXMubGVuZ3RoID8gY29udGVudE5vZGVzWzBdLm93bmVyRG9jdW1lbnQuZG9jdW1lbnRV
UkwgOiBudWxsOworICAgICAgICB0aGlzLl9yZXN0b3JlU2VsZWN0ZWROb2RlQWZ0ZXJVcGRhdGUo
ZG9jdW1lbnRVUkwsIGNvbnRlbnROb2Rlc1swXSk7CisgICAgfSwKKworICAgIF9jb250ZW50Tm9k
ZVdhc0FkZGVkOiBmdW5jdGlvbihldmVudCkKKyAgICB7CisgICAgICAgIHZhciB0cmVlRWxlbWVu
dCA9IG5ldyBXZWJJbnNwZWN0b3IuRE9NVHJlZUVsZW1lbnQoZXZlbnQuZGF0YS5ub2RlKTsKKyAg
ICAgICAgaWYgKCFldmVudC5kYXRhLmJlZm9yZSkgeworICAgICAgICAgICAgdGhpcy5kb21UcmVl
T3V0bGluZS5hcHBlbmRDaGlsZCh0cmVlRWxlbWVudCk7CisgICAgICAgICAgICByZXR1cm47Cisg
ICAgICAgIH0KKworICAgICAgICB2YXIgYmVmb3JlRWxlbWVudCA9IHRoaXMuZG9tVHJlZU91dGxp
bmUuZmluZFRyZWVFbGVtZW50KGV2ZW50LmRhdGEuYmVmb3JlKTsKKyAgICAgICAgY29uc29sZS5h
c3NlcnQoYmVmb3JlRWxlbWVudCk7CisKKyAgICAgICAgdmFyIGluZGV4ID0gdGhpcy5kb21UcmVl
T3V0bGluZS5jaGlsZHJlbi5pbmRleE9mKGJlZm9yZUVsZW1lbnQpOworICAgICAgICBjb25zb2xl
LmFzc2VydChpbmRleCAhPT0gLTEpOworCisgICAgICAgIHRoaXMuZG9tVHJlZU91dGxpbmUuaW5z
ZXJ0Q2hpbGQodHJlZUVsZW1lbnQsIGluZGV4KTsKKyAgICB9LAorCisgICAgX2NvbnRlbnROb2Rl
V2FzUmVtb3ZlZDogZnVuY3Rpb24oZXZlbnQpCisgICAgeworICAgICAgICB2YXIgdHJlZUVsZW1l
bnQgPSB0aGlzLmRvbVRyZWVPdXRsaW5lLmZpbmRUcmVlRWxlbWVudChldmVudC5kYXRhLm5vZGUp
OworICAgICAgICBjb25zb2xlLmFzc2VydCh0cmVlRWxlbWVudCk7CisgICAgICAgIHRoaXMuZG9t
VHJlZU91dGxpbmUucmVtb3ZlQ2hpbGQodHJlZUVsZW1lbnQpOworICAgIH0KK307CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Db250ZW50Rmxvd1RyZWVD
b250ZW50Vmlldy5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0NvbnRl
bnRGbG93VHJlZUNvbnRlbnRWaWV3LmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBk
ZmEzMmU4Li4wMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNl
L0NvbnRlbnRGbG93VHJlZUNvbnRlbnRWaWV3LmpzCisrKyAvZGV2L251bGwKQEAgLTEsMTg4ICsw
LDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTMgQWRvYmUgU3lzdGVtcyBJbmNvcnBvcmF0
ZWQuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
LSAqIGFyZSBtZXQ6Ci0gKgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZQotICogICAgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcKLSAqICAgIGRpc2NsYWltZXIuCi0gKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCi0g
KiAgICBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZwotICogICAgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzCi0gKiAgICBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgot
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUiAiQVMg
SVMiIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgSE9MREVSIEJFCi0gKiBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVN
UExBUlksCi0gKiBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLAotICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKLSAqIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SCi0gKiBUT1JUIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YK
LSAqIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRgotICogU1VDSCBEQU1BR0UuCi0gKi8KLQotV2ViSW5zcGVjdG9yLkNvbnRlbnRG
bG93VHJlZUNvbnRlbnRWaWV3ID0gZnVuY3Rpb24oY29udGVudEZsb3cpCi17Ci0gICAgY29uc29s
ZS5hc3NlcnQoY29udGVudEZsb3cpOwotCi0gICAgV2ViSW5zcGVjdG9yLkNvbnRlbnRWaWV3LmNh
bGwodGhpcywgY29udGVudEZsb3cpOwotCi0gICAgdGhpcy5fc2VsZWN0ZWRUcmVlRWxlbWVudCA9
IG51bGw7Ci0KLSAgICAvLyBNYXAgb2YgY29udGVudE5vZGUgaWRzIHRvIERPTVRyZWVPdXRsaW5l
IG9iamVjdHMuCi0gICAgdGhpcy5fbm9kZXNNYXAgPSBuZXcgTWFwKCk7Ci0KLSAgICB0aGlzLl9j
cmVhdGVDb250ZW50VHJlZXMoKTsKLQotICAgIGNvbnRlbnRGbG93LmFkZEV2ZW50TGlzdGVuZXIo
V2ViSW5zcGVjdG9yLkNvbnRlbnRGbG93LkV2ZW50LkNvbnRlbnROb2RlV2FzQWRkZWQsIHRoaXMu
X2NvbnRlbnROb2RlV2FzQWRkZWQsIHRoaXMpOwotICAgIGNvbnRlbnRGbG93LmFkZEV2ZW50TGlz
dGVuZXIoV2ViSW5zcGVjdG9yLkNvbnRlbnRGbG93LkV2ZW50LkNvbnRlbnROb2RlV2FzUmVtb3Zl
ZCwgdGhpcy5fY29udGVudE5vZGVXYXNSZW1vdmVkLCB0aGlzKTsKLX07Ci0KLVdlYkluc3BlY3Rv
ci5Db250ZW50Rmxvd1RyZWVDb250ZW50Vmlldy5TdHlsZUNsYXNzTmFtZSA9ICJjb250ZW50LWZs
b3ctdHJlZSI7Ci0KLVdlYkluc3BlY3Rvci5Db250ZW50Rmxvd1RyZWVDb250ZW50Vmlldy5wcm90
b3R5cGUgPSB7Ci0gICAgY29uc3RydWN0b3I6IFdlYkluc3BlY3Rvci5Db250ZW50Rmxvd1RyZWVD
b250ZW50VmlldywKLSAgICBfX3Byb3RvX186IFdlYkluc3BlY3Rvci5Db250ZW50Vmlldy5wcm90
b3R5cGUsCi0KLSAgICAvLyBQdWJsaWMKLQotICAgIGdldCBzZWxlY3Rpb25QYXRoQ29tcG9uZW50
cygpCi0gICAgewotICAgICAgICB2YXIgdHJlZUVsZW1lbnQgPSB0aGlzLl9zZWxlY3RlZFRyZWVF
bGVtZW50OwotICAgICAgICB2YXIgcGF0aENvbXBvbmVudHMgPSBbXTsKLQotICAgICAgICB3aGls
ZSAodHJlZUVsZW1lbnQgJiYgIXRyZWVFbGVtZW50LnJvb3QpIHsKLSAgICAgICAgICAgIC8vIFRo
ZSBjbG9zZSB0YWcgaXMgY29udGFpbmVkIHdpdGhpbiB0aGUgZWxlbWVudCBpdCBjbG9zZXMuIFNv
IHNraXAgaXQgc2luY2Ugd2UgZG9uJ3Qgd2FudCB0bwotICAgICAgICAgICAgLy8gc2hvdyB0aGUg
c2FtZSBub2RlIHR3aWNlIGluIHRoZSBoaWVyYXJjaHkuCi0gICAgICAgICAgICBpZiAodHJlZUVs
ZW1lbnQuaXNDbG9zZVRhZygpKSB7Ci0gICAgICAgICAgICAgICAgdHJlZUVsZW1lbnQgPSB0cmVl
RWxlbWVudC5wYXJlbnQ7Ci0gICAgICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgICAgICB9
Ci0KLSAgICAgICAgICAgIC8vIEZJWE1FOiBDb250ZW50Rmxvdy5jb250ZW50Tm9kZXMgc2hvdWxk
IGJlIGxpbmtlZCB0byBlYWNoIG90aGVyLgotICAgICAgICAgICAgdmFyIHBhdGhDb21wb25lbnQg
PSBuZXcgV2ViSW5zcGVjdG9yLkRPTVRyZWVFbGVtZW50UGF0aENvbXBvbmVudCh0cmVlRWxlbWVu
dCwgdHJlZUVsZW1lbnQucmVwcmVzZW50ZWRPYmplY3QpOwotICAgICAgICAgICAgcGF0aENvbXBv
bmVudC5hZGRFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5IaWVyYXJjaGljYWxQYXRoQ29tcG9u
ZW50LkV2ZW50LlNpYmxpbmdXYXNTZWxlY3RlZCwgdGhpcy5fcGF0aENvbXBvbmVudFNlbGVjdGVk
LCB0aGlzKTsKLSAgICAgICAgICAgIHBhdGhDb21wb25lbnRzLnVuc2hpZnQocGF0aENvbXBvbmVu
dCk7Ci0KLSAgICAgICAgICAgIC8vIERvIG5vdCBkaXNwbGF5IGVsZW1lbnRzIG91dHNpZGUgdGhl
IENvbnRlbnRGbG93LgotICAgICAgICAgICAgaWYgKHRoaXMuX25vZGVzTWFwLmhhcyh0cmVlRWxl
bWVudC5yZXByZXNlbnRlZE9iamVjdC5pZCkpCi0gICAgICAgICAgICAgICAgYnJlYWs7Ci0KLSAg
ICAgICAgICAgIHRyZWVFbGVtZW50ID0gdHJlZUVsZW1lbnQucGFyZW50OwotICAgICAgICB9Ci0K
LSAgICAgICAgcmV0dXJuIHBhdGhDb21wb25lbnRzOwotICAgIH0sCi0KLSAgICB1cGRhdGVMYXlv
dXQ6IGZ1bmN0aW9uKCkKLSAgICB7Ci0gICAgICAgIHRoaXMuX25vZGVzTWFwLmZvckVhY2goZnVu
Y3Rpb24obm9kZSkgewotICAgICAgICAgICAgbm9kZS51cGRhdGVTZWxlY3Rpb24oKTsKLSAgICAg
ICAgfSk7Ci0gICAgfSwKLQotICAgIHNob3duOiBmdW5jdGlvbigpCi0gICAgewotICAgICAgICB2
YXIgb21pdEZvY3VzID0gV2ViSW5zcGVjdG9yLmlzQ29uc29sZUZvY3VzZWQoKTsKLSAgICAgICAg
dGhpcy5fbm9kZXNNYXAuZm9yRWFjaChmdW5jdGlvbihub2RlKSB7Ci0gICAgICAgICAgICBub2Rl
LnNldFZpc2libGUodHJ1ZSwgb21pdEZvY3VzKTsKLSAgICAgICAgfSk7Ci0gICAgfSwKLQotICAg
IGhpZGRlbjogZnVuY3Rpb24oKQotICAgIHsKLSAgICAgICAgV2ViSW5zcGVjdG9yLmRvbVRyZWVN
YW5hZ2VyLmhpZGVET01Ob2RlSGlnaGxpZ2h0KCk7Ci0gICAgICAgIHRoaXMuX25vZGVzTWFwLmZv
ckVhY2goZnVuY3Rpb24obm9kZSkgewotICAgICAgICAgICAgbm9kZS5zZXRWaXNpYmxlKGZhbHNl
KTsKLSAgICAgICAgfSk7Ci0gICAgfSwKLQotICAgIGNsb3NlZDogZnVuY3Rpb24oKQotICAgIHsK
LSAgICAgICAgdGhpcy5yZXByZXNlbnRlZE9iamVjdC5yZW1vdmVFdmVudExpc3RlbmVyKFdlYklu
c3BlY3Rvci5Db250ZW50Rmxvdy5FdmVudC5Db250ZW50Tm9kZVdhc0FkZGVkLCB0aGlzLl9jb250
ZW50Tm9kZVdhc0FkZGVkLCB0aGlzKTsKLSAgICAgICAgdGhpcy5yZXByZXNlbnRlZE9iamVjdC5y
ZW1vdmVFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5Db250ZW50Rmxvdy5FdmVudC5Db250ZW50
Tm9kZVdhc1JlbW92ZWQsIHRoaXMuX2NvbnRlbnROb2RlV2FzUmVtb3ZlZCwgdGhpcyk7Ci0gICAg
ICAgIHRoaXMuX25vZGVzTWFwLmZvckVhY2goZnVuY3Rpb24obm9kZSkgewotICAgICAgICAgICAg
bm9kZS5jbG9zZSgpOwotICAgICAgICB9KTsKLSAgICB9LAotCi0gICAgLy8gUHJpdmF0ZQotCi0g
ICAgX3NlbGVjdGVkTm9kZURpZENoYW5nZTogZnVuY3Rpb24oY29udGVudE5vZGVPdXRsaW5lLCBl
dmVudCkKLSAgICB7Ci0gICAgICAgIHZhciBzZWxlY3RlZFRyZWVFbGVtZW50ID0gY29udGVudE5v
ZGVPdXRsaW5lLnNlbGVjdGVkVHJlZUVsZW1lbnQ7Ci0gICAgICAgIGlmICh0aGlzLl9zZWxlY3Rl
ZFRyZWVFbGVtZW50ID09PSBzZWxlY3RlZFRyZWVFbGVtZW50KQotICAgICAgICAgICAgcmV0dXJu
OwotCi0gICAgICAgIC8vIE1ha2Ugc3VyZSB0aGF0IG1vdmluZyBmcm9tIG9uZSB0cmVlIHRvIHRo
ZSBvdGhlciB3aWxsIGRlc2VsZWN0IHRoZSBwcmV2aW91cyBlbGVtZW50LgotICAgICAgICBpZiAo
dGhpcy5fc2VsZWN0ZWRUcmVlRWxlbWVudCAmJiB0aGlzLl9zZWxlY3RlZFRyZWVFbGVtZW50LnRy
ZWVPdXRsaW5lICE9PSBjb250ZW50Tm9kZU91dGxpbmUpCi0gICAgICAgICAgICB0aGlzLl9zZWxl
Y3RlZFRyZWVFbGVtZW50LmRlc2VsZWN0KCk7Ci0KLSAgICAgICAgdGhpcy5fc2VsZWN0ZWRUcmVl
RWxlbWVudCA9IHNlbGVjdGVkVHJlZUVsZW1lbnQ7Ci0gICAgICAgIGlmIChzZWxlY3RlZFRyZWVF
bGVtZW50KSB7Ci0gICAgICAgICAgICAvLyBGSVhNRTogU3dpdGNoaW5nIGJldHdlZW4gZGlmZmVy
ZW50IENvbnRlbnRGbG93VHJlZUNvbnRlbnRWaWV3IG9yIERPTVRyZWVDb250ZW50VmlldyBlbGVt
ZW50cyBzaG91bGQgY2FsbCBDb25zb2xlQWdlbnQuYWRkSW5zcGVjdGVkTm9kZS4KLSAgICAgICAg
ICAgIENvbnNvbGVBZ2VudC5hZGRJbnNwZWN0ZWROb2RlKHNlbGVjdGVkVHJlZUVsZW1lbnQucmVw
cmVzZW50ZWRPYmplY3QuaWQpOwotICAgICAgICB9Ci0KLSAgICAgICAgdGhpcy5kaXNwYXRjaEV2
ZW50VG9MaXN0ZW5lcnMoV2ViSW5zcGVjdG9yLkNvbnRlbnRWaWV3LkV2ZW50LlNlbGVjdGlvblBh
dGhDb21wb25lbnRzRGlkQ2hhbmdlKTsKLSAgICB9LAotCi0gICAgX3BhdGhDb21wb25lbnRTZWxl
Y3RlZDogZnVuY3Rpb24oZXZlbnQpCi0gICAgewotICAgICAgICBjb25zb2xlLmFzc2VydChldmVu
dC5kYXRhLnBhdGhDb21wb25lbnQgaW5zdGFuY2VvZiBXZWJJbnNwZWN0b3IuRE9NVHJlZUVsZW1l
bnRQYXRoQ29tcG9uZW50KTsKLSAgICAgICAgY29uc29sZS5hc3NlcnQoZXZlbnQuZGF0YS5wYXRo
Q29tcG9uZW50LmRvbVRyZWVFbGVtZW50IGluc3RhbmNlb2YgV2ViSW5zcGVjdG9yLkRPTVRyZWVF
bGVtZW50KTsKLQotICAgICAgICB2YXIgdHJlZUVsZW1lbnQgPSBldmVudC5kYXRhLnBhdGhDb21w
b25lbnQuZG9tVHJlZUVsZW1lbnQ7Ci0gICAgICAgIHRyZWVFbGVtZW50LnRyZWVPdXRsaW5lLnNl
bGVjdERPTU5vZGUodHJlZUVsZW1lbnQucmVwcmVzZW50ZWRPYmplY3QsIHRydWUpOwotICAgIH0s
Ci0KLSAgICBfY3JlYXRlQ29udGVudE5vZGVUcmVlOiBmdW5jdGlvbihub2RlKQotICAgIHsKLSAg
ICAgICAgY29uc29sZS5hc3NlcnQoIXRoaXMuX25vZGVzTWFwLmhhcyhub2RlLmlkKSk7Ci0KLSAg
ICAgICAgLy8gRklYTUU6IERPTVRyZWUncyBzaG91bGQgYmUgbGlua2VkIHRvIGVhY2ggb3RoZXIg
d2hlbiBuYXZpZ2F0aW5nIHdpdGgga2V5Ym9hcmQgdXAvZG93biBldmVudHMuCi0gICAgICAgIHZh
ciBjb250ZW50Tm9kZU91dGxpbmUgPSBuZXcgV2ViSW5zcGVjdG9yLkRPTVRyZWVPdXRsaW5lKGZh
bHNlLCB0cnVlLCB0cnVlKTsKLSAgICAgICAgY29udGVudE5vZGVPdXRsaW5lLmFkZEV2ZW50TGlz
dGVuZXIoV2ViSW5zcGVjdG9yLkRPTVRyZWVPdXRsaW5lLkV2ZW50LlNlbGVjdGVkTm9kZUNoYW5n
ZWQsIHRoaXMuX3NlbGVjdGVkTm9kZURpZENoYW5nZS5iaW5kKHRoaXMsIGNvbnRlbnROb2RlT3V0
bGluZSksIHRoaXMpOwotICAgICAgICBjb250ZW50Tm9kZU91dGxpbmUuc2V0VmlzaWJsZSh0aGlz
LnZpc2libGUsIFdlYkluc3BlY3Rvci5pc0NvbnNvbGVGb2N1c2VkKCkpOwotICAgICAgICBjb250
ZW50Tm9kZU91dGxpbmUud2lyZVRvRG9tQWdlbnQoKTsKLSAgICAgICAgY29udGVudE5vZGVPdXRs
aW5lLnJvb3RET01Ob2RlID0gbm9kZTsKLQotICAgICAgICB0aGlzLl9ub2Rlc01hcC5zZXQobm9k
ZS5pZCwgY29udGVudE5vZGVPdXRsaW5lKTsKLQotICAgICAgICByZXR1cm4gY29udGVudE5vZGVP
dXRsaW5lOwotICAgIH0sCi0KLSAgICBfY3JlYXRlQ29udGVudFRyZWVzOiBmdW5jdGlvbigpCi0g
ICAgewotICAgICAgICBmb3IgKHZhciBjb250ZW50Tm9kZSBvZiB0aGlzLnJlcHJlc2VudGVkT2Jq
ZWN0LmNvbnRlbnROb2RlcykgewotICAgICAgICAgICAgdmFyIGNvbnRlbnROb2RlT3V0bGluZSA9
IHRoaXMuX2NyZWF0ZUNvbnRlbnROb2RlVHJlZShjb250ZW50Tm9kZSk7Ci0gICAgICAgICAgICB0
aGlzLmVsZW1lbnQuYXBwZW5kQ2hpbGQoY29udGVudE5vZGVPdXRsaW5lLmVsZW1lbnQpOwotICAg
ICAgICB9Ci0gICAgfSwKLQotICAgIF9jb250ZW50Tm9kZVdhc0FkZGVkOiBmdW5jdGlvbihldmVu
dCkKLSAgICB7Ci0gICAgICAgIHZhciB0cmVlRWxlbWVudCA9IHRoaXMuX2NyZWF0ZUNvbnRlbnRO
b2RlVHJlZShldmVudC5kYXRhLm5vZGUpOwotICAgICAgICBpZiAoZXZlbnQuZGF0YS5iZWZvcmUp
IHsKLSAgICAgICAgICAgIHZhciBiZWZvcmVFbGVtZW50ID0gdGhpcy5fbm9kZXNNYXAuZ2V0KGV2
ZW50LmRhdGEuYmVmb3JlLmlkKTsKLSAgICAgICAgICAgIGNvbnNvbGUuYXNzZXJ0KGJlZm9yZUVs
ZW1lbnQpOwotICAgICAgICAgICAgdGhpcy5lbGVtZW50Lmluc2VydEJlZm9yZSh0cmVlRWxlbWVu
dC5lbGVtZW50LCBiZWZvcmVFbGVtZW50LmVsZW1lbnQpOwotICAgICAgICB9IGVsc2UKLSAgICAg
ICAgICAgIHRoaXMuZWxlbWVudC5hcHBlbmRDaGlsZCh0cmVlRWxlbWVudC5lbGVtZW50KTsKLSAg
ICB9LAotCi0gICAgX2NvbnRlbnROb2RlV2FzUmVtb3ZlZDogZnVuY3Rpb24oZXZlbnQpCi0gICAg
ewotICAgICAgICB2YXIgY29udGVudE5vZGVPdXRsaW5lID0gdGhpcy5fbm9kZXNNYXAuZ2V0KGV2
ZW50LmRhdGEubm9kZS5pZCk7Ci0gICAgICAgIGNvbnRlbnROb2RlT3V0bGluZS5jbG9zZSgpOwot
ICAgICAgICBjb250ZW50Tm9kZU91dGxpbmUuZWxlbWVudC5yZW1vdmUoKTsKLQotICAgICAgICB0
aGlzLl9ub2Rlc01hcC5kZWxldGUoZXZlbnQuZGF0YS5ub2RlLmlkKTsKLSAgICB9Ci19OwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQ29udGVudFZpZXcu
anMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Db250ZW50Vmlldy5qcwpp
bmRleCBhNGJiODY0Li41MGU5NzI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkv
VXNlckludGVyZmFjZS9Db250ZW50Vmlldy5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkv
VXNlckludGVyZmFjZS9Db250ZW50Vmlldy5qcwpAQCAtNTUsNyArNTUsNyBAQCBXZWJJbnNwZWN0
b3IuQ29udGVudFZpZXcgPSBmdW5jdGlvbihyZXByZXNlbnRlZE9iamVjdCkKICAgICAgICAgICAg
IHJldHVybiBuZXcgV2ViSW5zcGVjdG9yLkFwcGxpY2F0aW9uQ2FjaGVGcmFtZUNvbnRlbnRWaWV3
KHJlcHJlc2VudGVkT2JqZWN0KTsKIAogICAgICAgICBpZiAocmVwcmVzZW50ZWRPYmplY3QgaW5z
dGFuY2VvZiBXZWJJbnNwZWN0b3IuRE9NVHJlZSkKLSAgICAgICAgICAgIHJldHVybiBuZXcgV2Vi
SW5zcGVjdG9yLkRPTVRyZWVDb250ZW50VmlldyhyZXByZXNlbnRlZE9iamVjdCk7CisgICAgICAg
ICAgICByZXR1cm4gbmV3IFdlYkluc3BlY3Rvci5GcmFtZURPTVRyZWVDb250ZW50VmlldyhyZXBy
ZXNlbnRlZE9iamVjdCk7CiAKICAgICAgICAgaWYgKHJlcHJlc2VudGVkT2JqZWN0IGluc3RhbmNl
b2YgV2ViSW5zcGVjdG9yLkxvZ09iamVjdCkKICAgICAgICAgICAgIHJldHVybiBuZXcgV2ViSW5z
cGVjdG9yLkxvZ0NvbnRlbnRWaWV3KHJlcHJlc2VudGVkT2JqZWN0KTsKQEAgLTczLDcgKzczLDcg
QEAgV2ViSW5zcGVjdG9yLkNvbnRlbnRWaWV3ID0gZnVuY3Rpb24ocmVwcmVzZW50ZWRPYmplY3Qp
CiAgICAgICAgICAgICByZXR1cm4gbmV3IFdlYkluc3BlY3Rvci5DYW52YXNQcm9maWxlVmlldyhy
ZXByZXNlbnRlZE9iamVjdCk7CiAKICAgICAgICAgaWYgKHJlcHJlc2VudGVkT2JqZWN0IGluc3Rh
bmNlb2YgV2ViSW5zcGVjdG9yLkNvbnRlbnRGbG93KQotICAgICAgICAgICAgcmV0dXJuIG5ldyBX
ZWJJbnNwZWN0b3IuQ29udGVudEZsb3dUcmVlQ29udGVudFZpZXcocmVwcmVzZW50ZWRPYmplY3Qp
OworICAgICAgICAgICAgcmV0dXJuIG5ldyBXZWJJbnNwZWN0b3IuQ29udGVudEZsb3dET01UcmVl
Q29udGVudFZpZXcocmVwcmVzZW50ZWRPYmplY3QpOwogCiAgICAgICAgIGlmICh0eXBlb2YgcmVw
cmVzZW50ZWRPYmplY3QgPT09ICJzdHJpbmciIHx8IHJlcHJlc2VudGVkT2JqZWN0IGluc3RhbmNl
b2YgU3RyaW5nKQogICAgICAgICAgICAgcmV0dXJuIG5ldyBXZWJJbnNwZWN0b3IuVGV4dENvbnRl
bnRWaWV3KHJlcHJlc2VudGVkT2JqZWN0KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0
b3JVSS9Vc2VySW50ZXJmYWNlL0RPTVRyZWVDb250ZW50Vmlldy5qcyBiL1NvdXJjZS9XZWJJbnNw
ZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0RPTVRyZWVDb250ZW50Vmlldy5qcwppbmRleCAwMGM1ZmMz
Li4wMGNmZjdhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFj
ZS9ET01UcmVlQ29udGVudFZpZXcuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJ
bnRlcmZhY2UvRE9NVHJlZUNvbnRlbnRWaWV3LmpzCkBAIC0yMywxMSArMjMsMTEgQEAKICAqIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KICAqLwogCi1XZWJJbnNwZWN0b3IuRE9NVHJl
ZUNvbnRlbnRWaWV3ID0gZnVuY3Rpb24oZG9tVHJlZSkKK1dlYkluc3BlY3Rvci5ET01UcmVlQ29u
dGVudFZpZXcgPSBmdW5jdGlvbihyZXByZXNlbnRlZE9iamVjdCkKIHsKLSAgICBjb25zb2xlLmFz
c2VydChkb21UcmVlKTsKKyAgICBjb25zb2xlLmFzc2VydChyZXByZXNlbnRlZE9iamVjdCk7CiAK
LSAgICBXZWJJbnNwZWN0b3IuQ29udGVudFZpZXcuY2FsbCh0aGlzLCBkb21UcmVlKTsKKyAgICBX
ZWJJbnNwZWN0b3IuQ29udGVudFZpZXcuY2FsbCh0aGlzLCByZXByZXNlbnRlZE9iamVjdCk7CiAK
ICAgICB0aGlzLl9jb21wb3NpdGluZ0JvcmRlcnNCdXR0b25OYXZpZ2F0aW9uSXRlbSA9IG5ldyBX
ZWJJbnNwZWN0b3IuQWN0aXZhdGVCdXR0b25OYXZpZ2F0aW9uSXRlbSgibGF5ZXItYm9yZGVycyIs
IFdlYkluc3BlY3Rvci5VSVN0cmluZygiU2hvdyBjb21wb3NpdGluZyBib3JkZXJzIiksIFdlYklu
c3BlY3Rvci5VSVN0cmluZygiSGlkZSBjb21wb3NpdGluZyBib3JkZXJzIiksICJJbWFnZXMvTGF5
ZXJCb3JkZXJzLnN2ZyIsIDE2LCAxNik7CiAgICAgdGhpcy5fY29tcG9zaXRpbmdCb3JkZXJzQnV0
dG9uTmF2aWdhdGlvbkl0ZW0uYWRkRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuQnV0dG9uTmF2
aWdhdGlvbkl0ZW0uRXZlbnQuQ2xpY2tlZCwgdGhpcy5fdG9nZ2xlQ29tcG9zaXRpbmdCb3JkZXJz
LCB0aGlzKTsKQEAgLTQxLDkgKzQxLDYgQEAgV2ViSW5zcGVjdG9yLkRPTVRyZWVDb250ZW50Vmll
dyA9IGZ1bmN0aW9uKGRvbVRyZWUpCiAgICAgdGhpcy5lbGVtZW50LmNsYXNzTGlzdC5hZGQoV2Vi
SW5zcGVjdG9yLkRPTVRyZWVDb250ZW50Vmlldy5TdHlsZUNsYXNzTmFtZSk7CiAgICAgdGhpcy5l
bGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgdGhpcy5fbW91c2VXYXNDbGlja2VkLmJp
bmQodGhpcyksIGZhbHNlKTsKIAotICAgIHRoaXMuX2RvbVRyZWUgPSBkb21UcmVlOwotICAgIHRo
aXMuX2RvbVRyZWUuYWRkRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuRE9NVHJlZS5FdmVudC5S
b290RE9NTm9kZUludmFsaWRhdGVkLCB0aGlzLl9yb290RE9NTm9kZUludmFsaWRhdGVkLCB0aGlz
KTsKLQogICAgIHRoaXMuX2RvbVRyZWVPdXRsaW5lID0gbmV3IFdlYkluc3BlY3Rvci5ET01UcmVl
T3V0bGluZSh0cnVlLCB0cnVlLCBmYWxzZSk7CiAgICAgdGhpcy5fZG9tVHJlZU91dGxpbmUuYWRk
RXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuRE9NVHJlZU91dGxpbmUuRXZlbnQuU2VsZWN0ZWRO
b2RlQ2hhbmdlZCwgdGhpcy5fc2VsZWN0ZWROb2RlRGlkQ2hhbmdlLCB0aGlzKTsKICAgICB0aGlz
Ll9kb21UcmVlT3V0bGluZS53aXJlVG9Eb21BZ2VudCgpOwpAQCAtNTYsMTQgKzUzLDEzIEBAIFdl
Ykluc3BlY3Rvci5ET01UcmVlQ29udGVudFZpZXcgPSBmdW5jdGlvbihkb21UcmVlKQogICAgIHRo
aXMuX2xhc3RTZWxlY3RlZE5vZGVQYXRoU2V0dGluZyA9IG5ldyBXZWJJbnNwZWN0b3IuU2V0dGlu
ZygibGFzdC1zZWxlY3RlZC1ub2RlLXBhdGgiLCBudWxsKTsKIAogICAgIHRoaXMuX251bWJlck9m
U2VhcmNoUmVzdWx0cyA9IG51bGw7Ci0KLSAgICB0aGlzLl9yZXF1ZXN0Um9vdERPTU5vZGUoKTsK
IH07CiAKIFdlYkluc3BlY3Rvci5ET01UcmVlQ29udGVudFZpZXcuU3R5bGVDbGFzc05hbWUgPSAi
ZG9tLXRyZWUiOwogCiBXZWJJbnNwZWN0b3IuRE9NVHJlZUNvbnRlbnRWaWV3LnByb3RvdHlwZSA9
IHsKICAgICBjb25zdHJ1Y3RvcjogV2ViSW5zcGVjdG9yLkRPTVRyZWVDb250ZW50VmlldywKKyAg
ICBfX3Byb3RvX186IFdlYkluc3BlY3Rvci5Db250ZW50Vmlldy5wcm90b3R5cGUsCiAKICAgICAv
LyBQdWJsaWMKIApAQCAtNzIsOSArNjgsOSBAQCBXZWJJbnNwZWN0b3IuRE9NVHJlZUNvbnRlbnRW
aWV3LnByb3RvdHlwZSA9IHsKICAgICAgICAgcmV0dXJuIFt0aGlzLl9zaG93c1NoYWRvd0RPTUJ1
dHRvbk5hdmlnYXRpb25JdGVtLCB0aGlzLl9jb21wb3NpdGluZ0JvcmRlcnNCdXR0b25OYXZpZ2F0
aW9uSXRlbV07CiAgICAgfSwKIAotICAgIGdldCBkb21UcmVlKCkKKyAgICBnZXQgZG9tVHJlZU91
dGxpbmUoKQogICAgIHsKLSAgICAgICAgcmV0dXJuIHRoaXMuX2RvbVRyZWU7CisgICAgICAgIHJl
dHVybiB0aGlzLl9kb21UcmVlT3V0bGluZTsKICAgICB9LAogCiAgICAgZ2V0IHNjcm9sbGFibGVF
bGVtZW50cygpCkBAIC0xMDEsNyArOTcsNiBAQCBXZWJJbnNwZWN0b3IuRE9NVHJlZUNvbnRlbnRW
aWV3LnByb3RvdHlwZSA9IHsKIAogICAgIGNsb3NlZDogZnVuY3Rpb24oKQogICAgIHsKLSAgICAg
ICAgdGhpcy5fZG9tVHJlZS5yZW1vdmVFdmVudExpc3RlbmVyKG51bGwsIG51bGwsIHRoaXMpOwog
ICAgICAgICBXZWJJbnNwZWN0b3IuZG9tVHJlZU1hbmFnZXIucmVtb3ZlRXZlbnRMaXN0ZW5lcihu
dWxsLCBudWxsLCB0aGlzKTsKIAogICAgICAgICB0aGlzLl9kb21UcmVlT3V0bGluZS5jbG9zZSgp
OwpAQCAtMjg0LDIwICsyNzksMTMgQEAgV2ViSW5zcGVjdG9yLkRPTVRyZWVDb250ZW50Vmlldy5w
cm90b3R5cGUgPSB7CiAgICAgICAgIERPTUFnZW50LmdldFNlYXJjaFJlc3VsdHModGhpcy5fc2Vh
cmNoSWRlbnRpZmllciwgaW5kZXgsIGluZGV4ICsgMSwgcmV2ZWFsUmVzdWx0LmJpbmQodGhpcykp
OwogICAgIH0sCiAKLSAgICBfcm9vdERPTU5vZGVBdmFpbGFibGU6IGZ1bmN0aW9uKHJvb3RET01O
b2RlKQorICAgIF9yZXN0b3JlU2VsZWN0ZWROb2RlQWZ0ZXJVcGRhdGU6IGZ1bmN0aW9uKGRvY3Vt
ZW50VVJMLCBkZWZhdWx0Tm9kZSkKICAgICB7Ci0gICAgICAgIHRoaXMuX2RvbVRyZWVPdXRsaW5l
LnJvb3RET01Ob2RlID0gcm9vdERPTU5vZGU7Ci0KLSAgICAgICAgaWYgKCFyb290RE9NTm9kZSkg
ewotICAgICAgICAgICAgdGhpcy5fZG9tVHJlZU91dGxpbmUuc2VsZWN0RE9NTm9kZShudWxsLCBm
YWxzZSk7Ci0gICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIH0KLQogICAgICAgICBmdW5jdGlv
biBzZWxlY3ROb2RlKGxhc3RTZWxlY3RlZE5vZGUpCiAgICAgICAgIHsKICAgICAgICAgICAgIHZh
ciBub2RlVG9Gb2N1cyA9IGxhc3RTZWxlY3RlZE5vZGU7CiAgICAgICAgICAgICBpZiAoIW5vZGVU
b0ZvY3VzKQotICAgICAgICAgICAgICAgIG5vZGVUb0ZvY3VzID0gcm9vdERPTU5vZGUuYm9keSB8
fCByb290RE9NTm9kZS5kb2N1bWVudEVsZW1lbnQ7CisgICAgICAgICAgICAgICAgbm9kZVRvRm9j
dXMgPSBkZWZhdWx0Tm9kZTsKIAogICAgICAgICAgICAgaWYgKCFub2RlVG9Gb2N1cykKICAgICAg
ICAgICAgICAgICByZXR1cm47CkBAIC0zMTYsMjcgKzMwNCwxNyBAQCBXZWJJbnNwZWN0b3IuRE9N
VHJlZUNvbnRlbnRWaWV3LnByb3RvdHlwZSA9IHsKICAgICAgICAgICAgIHNlbGVjdE5vZGUuY2Fs
bCh0aGlzLCBXZWJJbnNwZWN0b3IuZG9tVHJlZU1hbmFnZXIubm9kZUZvcklkKG5vZGVJZCkpOwog
ICAgICAgICB9CiAKLSAgICAgICAgaWYgKHRoaXMuX2xhc3RTZWxlY3RlZE5vZGVQYXRoU2V0dGlu
Zy52YWx1ZSAmJiB0aGlzLl9sYXN0U2VsZWN0ZWROb2RlUGF0aFNldHRpbmcudmFsdWUucGF0aCAm
JiB0aGlzLl9sYXN0U2VsZWN0ZWROb2RlUGF0aFNldHRpbmcudmFsdWUudXJsID09PSB0aGlzLl9k
b21UcmVlLmZyYW1lLnVybC5oYXNoKQorICAgICAgICBpZiAoZG9jdW1lbnRVUkwgJiYgdGhpcy5f
bGFzdFNlbGVjdGVkTm9kZVBhdGhTZXR0aW5nLnZhbHVlICYmIHRoaXMuX2xhc3RTZWxlY3RlZE5v
ZGVQYXRoU2V0dGluZy52YWx1ZS5wYXRoICYmIHRoaXMuX2xhc3RTZWxlY3RlZE5vZGVQYXRoU2V0
dGluZy52YWx1ZS51cmwgPT09IGRvY3VtZW50VVJMLmhhc2gpCiAgICAgICAgICAgICBXZWJJbnNw
ZWN0b3IuZG9tVHJlZU1hbmFnZXIucHVzaE5vZGVCeVBhdGhUb0Zyb250ZW5kKHRoaXMuX2xhc3RT
ZWxlY3RlZE5vZGVQYXRoU2V0dGluZy52YWx1ZS5wYXRoLCBzZWxlY3RMYXN0U2VsZWN0ZWROb2Rl
LmJpbmQodGhpcykpOwogICAgICAgICBlbHNlCiAgICAgICAgICAgICBzZWxlY3ROb2RlLmNhbGwo
dGhpcyk7CiAgICAgfSwKIAotICAgIF9yb290RE9NTm9kZUludmFsaWRhdGVkOiBmdW5jdGlvbihl
dmVudCkKLSAgICB7Ci0gICAgICAgIHRoaXMuX3JlcXVlc3RSb290RE9NTm9kZSgpOwotICAgIH0s
Ci0KLSAgICBfcmVxdWVzdFJvb3RET01Ob2RlOiBmdW5jdGlvbigpCi0gICAgewotICAgICAgICB0
aGlzLl9kb21UcmVlLnJlcXVlc3RSb290RE9NTm9kZSh0aGlzLl9yb290RE9NTm9kZUF2YWlsYWJs
ZS5iaW5kKHRoaXMpKTsKLSAgICB9LAotCiAgICAgX3NlbGVjdGVkTm9kZURpZENoYW5nZTogZnVu
Y3Rpb24oZXZlbnQpCiAgICAgewogICAgICAgICB2YXIgc2VsZWN0ZWRET01Ob2RlID0gdGhpcy5f
ZG9tVHJlZU91dGxpbmUuc2VsZWN0ZWRET01Ob2RlKCk7CiAgICAgICAgIGlmIChzZWxlY3RlZERP
TU5vZGUgJiYgIXRoaXMuX2RvbnRTZXRMYXN0U2VsZWN0ZWROb2RlUGF0aCkKLSAgICAgICAgICAg
IHRoaXMuX2xhc3RTZWxlY3RlZE5vZGVQYXRoU2V0dGluZy52YWx1ZSA9IHt1cmw6IHRoaXMuX2Rv
bVRyZWUuZnJhbWUudXJsLmhhc2gsIHBhdGg6IHNlbGVjdGVkRE9NTm9kZS5wYXRoKCl9OworICAg
ICAgICAgICAgdGhpcy5fbGFzdFNlbGVjdGVkTm9kZVBhdGhTZXR0aW5nLnZhbHVlID0ge3VybDog
c2VsZWN0ZWRET01Ob2RlLm93bmVyRG9jdW1lbnQuZG9jdW1lbnRVUkwuaGFzaCwgcGF0aDogc2Vs
ZWN0ZWRET01Ob2RlLnBhdGgoKX07CiAKICAgICAgICAgaWYgKHNlbGVjdGVkRE9NTm9kZSkKICAg
ICAgICAgICAgIENvbnNvbGVBZ2VudC5hZGRJbnNwZWN0ZWROb2RlKHNlbGVjdGVkRE9NTm9kZS5p
ZCk7CkBAIC00MDksNyArMzg3LDcgQEAgV2ViSW5zcGVjdG9yLkRPTVRyZWVDb250ZW50Vmlldy5w
cm90b3R5cGUgPSB7CiAgICAgICAgIHRoaXMuX2NvbXBvc2l0aW5nQm9yZGVyc0J1dHRvbk5hdmln
YXRpb25JdGVtLmFjdGl2YXRlZCA9IGFjdGl2YXRlZDsKICAgICAgICAgUGFnZUFnZW50LnNldENv
bXBvc2l0aW5nQm9yZGVyc1Zpc2libGUoYWN0aXZhdGVkKTsKICAgICB9LAotICAgIAorCiAgICAg
X3VwZGF0ZUNvbXBvc2l0aW5nQm9yZGVyc0J1dHRvblRvTWF0Y2hQYWdlU2V0dGluZ3M6IGZ1bmN0
aW9uKCkKICAgICB7CiAgICAgICAgIGlmICghUGFnZUFnZW50LmdldENvbXBvc2l0aW5nQm9yZGVy
c1Zpc2libGUpCkBAIC00MzQsNSArNDEyLDMgQEAgV2ViSW5zcGVjdG9yLkRPTVRyZWVDb250ZW50
Vmlldy5wcm90b3R5cGUgPSB7CiAgICAgICAgIFdlYkluc3BlY3Rvci5zaG93U2hhZG93RE9NU2V0
dGluZy52YWx1ZSA9ICFXZWJJbnNwZWN0b3Iuc2hvd1NoYWRvd0RPTVNldHRpbmcudmFsdWU7CiAg
ICAgfQogfTsKLQotV2ViSW5zcGVjdG9yLkRPTVRyZWVDb250ZW50Vmlldy5wcm90b3R5cGUuX19w
cm90b19fID0gV2ViSW5zcGVjdG9yLkNvbnRlbnRWaWV3LnByb3RvdHlwZTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0ZyYW1lRE9NVHJlZUNvbnRlbnRW
aWV3LmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvRnJhbWVET01UcmVl
Q29udGVudFZpZXcuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjUzODUw
YwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNl
L0ZyYW1lRE9NVHJlZUNvbnRlbnRWaWV3LmpzCkBAIC0wLDAgKzEsODAgQEAKKy8qCisgKiBDb3B5
cmlnaHQgKEMpIDIwMTMgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgor
ICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENP
TlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgor
ICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBP
UiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICog
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAq
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLwor
CitXZWJJbnNwZWN0b3IuRnJhbWVET01UcmVlQ29udGVudFZpZXcgPSBmdW5jdGlvbihkb21UcmVl
KQoreworICAgIGNvbnNvbGUuYXNzZXJ0KGRvbVRyZWUpOworCisgICAgV2ViSW5zcGVjdG9yLkRP
TVRyZWVDb250ZW50Vmlldy5jYWxsKHRoaXMsIGRvbVRyZWUpOworCisgICAgdGhpcy5fZG9tVHJl
ZSA9IGRvbVRyZWU7CisgICAgdGhpcy5fZG9tVHJlZS5hZGRFdmVudExpc3RlbmVyKFdlYkluc3Bl
Y3Rvci5ET01UcmVlLkV2ZW50LlJvb3RET01Ob2RlSW52YWxpZGF0ZWQsIHRoaXMuX3Jvb3RET01O
b2RlSW52YWxpZGF0ZWQsIHRoaXMpOworCisgICAgdGhpcy5fcmVxdWVzdFJvb3RET01Ob2RlKCk7
Cit9OworCisKK1dlYkluc3BlY3Rvci5GcmFtZURPTVRyZWVDb250ZW50Vmlldy5wcm90b3R5cGUg
PSB7CisgICAgY29uc3RydWN0b3I6IFdlYkluc3BlY3Rvci5GcmFtZURPTVRyZWVDb250ZW50Vmll
dywKKyAgICBfX3Byb3RvX186IFdlYkluc3BlY3Rvci5ET01UcmVlQ29udGVudFZpZXcucHJvdG90
eXBlLAorCisgICAgLy8gUHVibGljCisKKyAgICBnZXQgZG9tVHJlZSgpCisgICAgeworICAgICAg
ICByZXR1cm4gdGhpcy5fZG9tVHJlZTsKKyAgICB9LAorCisgICAgY2xvc2VkOiBmdW5jdGlvbigp
CisgICAgeworICAgICAgICB0aGlzLl9kb21UcmVlLnJlbW92ZUV2ZW50TGlzdGVuZXIobnVsbCwg
bnVsbCwgdGhpcyk7CisgICAgICAgIFdlYkluc3BlY3Rvci5ET01UcmVlQ29udGVudFZpZXcucHJv
dG90eXBlLmNsb3NlZC5jYWxsKHRoaXMpOworICAgIH0sCisKKyAgICAvLyBQcml2YXRlCisKKyAg
ICBfcm9vdERPTU5vZGVBdmFpbGFibGU6IGZ1bmN0aW9uKHJvb3RET01Ob2RlKQorICAgIHsKKyAg
ICAgICAgdGhpcy5kb21UcmVlT3V0bGluZS5yb290RE9NTm9kZSA9IHJvb3RET01Ob2RlOworCisg
ICAgICAgIGlmICghcm9vdERPTU5vZGUpIHsKKyAgICAgICAgICAgIHRoaXMuZG9tVHJlZU91dGxp
bmUuc2VsZWN0RE9NTm9kZShudWxsLCBmYWxzZSk7CisgICAgICAgICAgICByZXR1cm47CisgICAg
ICAgIH0KKworICAgICAgICB0aGlzLl9yZXN0b3JlU2VsZWN0ZWROb2RlQWZ0ZXJVcGRhdGUodGhp
cy5fZG9tVHJlZS5mcmFtZS51cmwsIHJvb3RET01Ob2RlLmJvZHkgfHwgcm9vdERPTU5vZGUuZG9j
dW1lbnRFbGVtZW50KTsKKyAgICB9LAorCisgICAgX3Jvb3RET01Ob2RlSW52YWxpZGF0ZWQ6IGZ1
bmN0aW9uKGV2ZW50KQorICAgIHsKKyAgICAgICAgdGhpcy5fcmVxdWVzdFJvb3RET01Ob2RlKCk7
CisgICAgfSwKKworICAgIF9yZXF1ZXN0Um9vdERPTU5vZGU6IGZ1bmN0aW9uKCkKKyAgICB7Cisg
ICAgICAgIHRoaXMuX2RvbVRyZWUucmVxdWVzdFJvb3RET01Ob2RlKHRoaXMuX3Jvb3RET01Ob2Rl
QXZhaWxhYmxlLmJpbmQodGhpcykpOworICAgIH0KKworfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01haW4uaHRtbCBiL1NvdXJjZS9XZWJJbnNwZWN0
b3JVSS9Vc2VySW50ZXJmYWNlL01haW4uaHRtbAppbmRleCAwOWQxMzc0Li42MTdjMTE3IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9NYWluLmh0bWwKKysr
IGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTWFpbi5odG1sCkBAIC0yNzUs
NiArMjc1LDcgQEAKICAgICA8c2NyaXB0IHNyYz0iRE9NVHJlZUVsZW1lbnQuanMiPjwvc2NyaXB0
PgogICAgIDxzY3JpcHQgc3JjPSJET01UcmVlRWxlbWVudFBhdGhDb21wb25lbnQuanMiPjwvc2Ny
aXB0PgogICAgIDxzY3JpcHQgc3JjPSJET01UcmVlQ29udGVudFZpZXcuanMiPjwvc2NyaXB0Pgor
ICAgIDxzY3JpcHQgc3JjPSJGcmFtZURPTVRyZWVDb250ZW50Vmlldy5qcyI+PC9zY3JpcHQ+CiAg
ICAgPHNjcmlwdCBzcmM9IkxheWVyVHJlZU1hbmFnZXIuanMiPjwvc2NyaXB0PgogICAgIDxzY3Jp
cHQgc3JjPSJET01TZWFyY2hNYXRjaE9iamVjdC5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCBz
cmM9IlJlc291cmNlU2VhcmNoTWF0Y2hPYmplY3QuanMiPjwvc2NyaXB0PgpAQCAtNDAwLDcgKzQw
MSw3IEBACiAgICAgPHNjcmlwdCBzcmM9Ik1JTUVUeXBlVXRpbGl0aWVzLmpzIj48L3NjcmlwdD4K
ICAgICA8c2NyaXB0IHNyYz0iTG9hZExvY2FsaXplZFN0cmluZ3MuanMiPjwvc2NyaXB0PgogICAg
IDxzY3JpcHQgc3JjPSJHb1RvTGluZURpYWxvZy5qcyI+PC9zY3JpcHQ+Ci0gICAgPHNjcmlwdCBz
cmM9IkNvbnRlbnRGbG93VHJlZUNvbnRlbnRWaWV3LmpzIj48L3NjcmlwdD4KKyAgICA8c2NyaXB0
IHNyYz0iQ29udGVudEZsb3dET01UcmVlQ29udGVudFZpZXcuanMiPjwvc2NyaXB0PgogICAgIDxz
Y3JpcHQgc3JjPSJNYWluLmpzIj48L3NjcmlwdD4KIAogICAgIDxzY3JpcHQ+Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>