<?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>86845</bug_id>
          
          <creation_ts>2012-05-18 05:44:21 -0700</creation_ts>
          <short_desc>Web Inspector: remove unnecessary indirection from profile types</short_desc>
          <delta_ts>2012-05-18 06:29:58 -0700</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 (Deprecated)</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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Yury Semikhatsky">yurys</reporter>
          <assigned_to name="Yury Semikhatsky">yurys</assigned_to>
          <cc>alph</cc>
    
    <cc>apavlov</cc>
    
    <cc>bweinstein</cc>
    
    <cc>joepeck</cc>
    
    <cc>keishi</cc>
    
    <cc>loislo</cc>
    
    <cc>pfeldman</cc>
    
    <cc>pmuellr</cc>
    
    <cc>rik</cc>
    
    <cc>timothy</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>627596</commentid>
    <comment_count>0</comment_count>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2012-05-18 05:44:21 -0700</bug_when>
    <thetext>Some of the methods can be declared on the profile header instead of profile type which would simplify the code.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>627610</commentid>
    <comment_count>1</comment_count>
      <attachid>142696</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2012-05-18 05:58:32 -0700</bug_when>
    <thetext>Created attachment 142696
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>627622</commentid>
    <comment_count>2</comment_count>
      <attachid>142696</attachid>
    <who name="Ilya Tikhonovsky">loislo</who>
    <bug_when>2012-05-18 06:07:21 -0700</bug_when>
    <thetext>Comment on attachment 142696
Patch

lgtm</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>627629</commentid>
    <comment_count>3</comment_count>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2012-05-18 06:29:58 -0700</bug_when>
    <thetext>Committed r117581: &lt;http://trac.webkit.org/changeset/117581&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>142696</attachid>
            <date>2012-05-18 05:58:32 -0700</date>
            <delta_ts>2012-05-18 06:27:24 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-86845-20120518165830.patch</filename>
            <type>text/plain</type>
            <size>28939</size>
            <attacher name="Yury Semikhatsky">yurys</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE3NTYyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMmE3MDg1MjU4OTRhODU2
YmFjZWQyODA3NmNkODBiODA4MmUzZWIwNi4uM2RhMGZjN2ZjODM3ODMyMjE5NTY0M2M3MWUwNzU3
NWRiNWRjNmNmYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU3IEBACisyMDEyLTA1LTE4ICBZdXJ5
IFNlbWlraGF0c2t5ICA8eXVyeXNAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFdlYiBJbnNwZWN0
b3I6IHJlbW92ZSB1bm5lY2Vzc2FyeSBpbmRpcmVjdGlvbiBmcm9tIHByb2ZpbGUgdHlwZXMKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg2ODQ1CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW50cm9kdWNlZCBD
U1NQcm9maWxlSGVhZGVyIGFuZCBDUFVQcm9maWxlSGVhZGVyLCBtb3ZlZCB2aWV3IGNyZWF0aW9u
IGZyb20KKyAgICAgICAgdGhlIHR5cGUgdG8gY29ycmVzcG9uZGluZyBwcm9maWxlIGhlYWRlcnMu
IFJlbW92ZWQgc29tZSBpbmRlcmVjdGlvbiBhbmQKKyAgICAgICAgcHJpdmF0ZSBmaWVsZHMgYXNz
aWduZWQgaW4gcmFuZG9tIHBsYWNlcy4gQWRkZWQgdHlwZSBhbm5vdGF0aW9ucy4KKworICAgICAg
ICAqIGluc3BlY3Rvci9mcm9udC1lbmQvQ1BVUHJvZmlsZVZpZXcuanM6CisgICAgICAgIChXZWJJ
bnNwZWN0b3IuQ1BVUHJvZmlsZVR5cGUucHJvdG90eXBlLmNyZWF0ZVRlbXBvcmFyeVByb2ZpbGUp
OgorICAgICAgICAoV2ViSW5zcGVjdG9yLkNQVVByb2ZpbGVUeXBlLnByb3RvdHlwZS5jcmVhdGVQ
cm9maWxlKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5DUFVQcm9maWxlSGVhZGVyKToKKyAgICAg
ICAgKFdlYkluc3BlY3Rvci5DUFVQcm9maWxlSGVhZGVyLnByb3RvdHlwZS5jcmVhdGVTaWRlYmFy
VHJlZUVsZW1lbnQpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkNQVVByb2ZpbGVIZWFkZXIucHJv
dG90eXBlLmNyZWF0ZVZpZXcpOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvQ1NTU2Vs
ZWN0b3JQcm9maWxlVmlldy5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5DU1NTZWxlY3RvclBy
b2ZpbGVUeXBlLnByb3RvdHlwZS5zdG9wUmVjb3JkaW5nUHJvZmlsZSk6CisgICAgICAgIChXZWJJ
bnNwZWN0b3IuQ1NTU2VsZWN0b3JQcm9maWxlVHlwZS5wcm90b3R5cGUuY3JlYXRlVGVtcG9yYXJ5
UHJvZmlsZSk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuQ1NTU2VsZWN0b3JQcm9maWxlVHlwZS5w
cm90b3R5cGUuY3JlYXRlUHJvZmlsZSk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuQ1NTUHJvZmls
ZUhlYWRlcik6CisgICAgICAgIChXZWJJbnNwZWN0b3IuQ1NTUHJvZmlsZUhlYWRlci5wcm90b3R5
cGUuY3JlYXRlU2lkZWJhclRyZWVFbGVtZW50KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5DU1NQ
cm9maWxlSGVhZGVyLnByb3RvdHlwZS5jcmVhdGVWaWV3KToKKyAgICAgICAgKiBpbnNwZWN0b3Iv
ZnJvbnQtZW5kL0hlYXBTbmFwc2hvdFZpZXcuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuSGVh
cFNuYXBzaG90UHJvZmlsZVR5cGUucHJvdG90eXBlLmNyZWF0ZVRlbXBvcmFyeVByb2ZpbGUpOgor
ICAgICAgICAoV2ViSW5zcGVjdG9yLkhlYXBTbmFwc2hvdFByb2ZpbGVUeXBlLnByb3RvdHlwZS5j
cmVhdGVQcm9maWxlKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5IZWFwUHJvZmlsZUhlYWRlcik6
CisgICAgICAgIChXZWJJbnNwZWN0b3IuSGVhcFByb2ZpbGVIZWFkZXIucHJvdG90eXBlLmNyZWF0
ZVNpZGViYXJUcmVlRWxlbWVudCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuSGVhcFByb2ZpbGVI
ZWFkZXIucHJvdG90eXBlLmNyZWF0ZVZpZXcpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkhlYXBQ
cm9maWxlSGVhZGVyLnByb3RvdHlwZS5sb2FkKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5IZWFw
UHJvZmlsZUhlYWRlci5wcm90b3R5cGUuc2F2ZVRvRmlsZSk6CisgICAgICAgICogaW5zcGVjdG9y
L2Zyb250LWVuZC9Qcm9maWxlTGF1bmNoZXJWaWV3LmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9y
LlByb2ZpbGVMYXVuY2hlclZpZXcpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlByb2ZpbGVMYXVu
Y2hlclZpZXcucHJvdG90eXBlLmFkZFByb2ZpbGVUeXBlKToKKyAgICAgICAgKFdlYkluc3BlY3Rv
ci5Qcm9maWxlTGF1bmNoZXJWaWV3LnByb3RvdHlwZS5fcHJvZmlsZVR5cGVDaGFuZ2VkKToKKyAg
ICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL1Byb2ZpbGVzUGFuZWwuanM6CisgICAgICAgIChX
ZWJJbnNwZWN0b3IuUHJvZmlsZVR5cGUpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlByb2ZpbGVI
ZWFkZXIpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlByb2ZpbGVIZWFkZXIucHJvdG90eXBlLnBy
b2ZpbGVUeXBlKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5Qcm9maWxlSGVhZGVyLnByb3RvdHlw
ZS5jcmVhdGVTaWRlYmFyVHJlZUVsZW1lbnQpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlByb2Zp
bGVIZWFkZXIucHJvdG90eXBlLmV4aXN0aW5nVmlldyk6CisgICAgICAgIChXZWJJbnNwZWN0b3Iu
UHJvZmlsZUhlYWRlci5wcm90b3R5cGUudmlldyk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuUHJv
ZmlsZUhlYWRlci5wcm90b3R5cGUuY3JlYXRlVmlldyk6CisgICAgICAgIChXZWJJbnNwZWN0b3Iu
UHJvZmlsZXNQYW5lbC5wcm90b3R5cGUuX3Jlc2V0KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5Q
cm9maWxlc1BhbmVsLnByb3RvdHlwZS5hZGRQcm9maWxlSGVhZGVyKToKKyAgICAgICAgKFdlYklu
c3BlY3Rvci5Qcm9maWxlc1BhbmVsLnByb3RvdHlwZS5fcmVtb3ZlUHJvZmlsZUhlYWRlcik6Cisg
ICAgICAgIChXZWJJbnNwZWN0b3IuUHJvZmlsZXNQYW5lbC5wcm90b3R5cGUuc2hvd1Byb2ZpbGUp
OgorICAgICAgICAoV2ViSW5zcGVjdG9yLlByb2ZpbGVzUGFuZWwucHJvdG90eXBlLmdldFByb2Zp
bGVzKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5Qcm9maWxlc1BhbmVsLnByb3RvdHlwZS5maW5k
VGVtcG9yYXJ5UHJvZmlsZSk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuUHJvZmlsZXNQYW5lbC5w
cm90b3R5cGUuX3NlYXJjaGFibGVWaWV3cyk6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVu
ZC9WaWV3LmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlZpZXcuX2Fzc2VydCk6CisKIDIwMTIt
MDUtMTcgIFl1cnkgU2VtaWtoYXRza3kgIDx5dXJ5c0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAg
V2ViIEluc3BlY3RvcjogYWRkIGFuIG9wdGlvbiB0byBzaG93IGxhc3QgTiBoaWRkZW4gY2hpbGRy
ZW4gb2Ygbm9kZSBpbiBoZWFwIHByb2ZpbGVyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvZnJvbnQtZW5kL0NQVVByb2ZpbGVWaWV3LmpzIGIvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL2Zyb250LWVuZC9DUFVQcm9maWxlVmlldy5qcwppbmRleCBiMmNkNWMxNDUxMDRlNWNh
ZGUzYWJhZjRlMTY4YzMyMjdhZTAwZWZlLi4xNDg0YWI1ZjI1NmNkZjgwNzBhZWYxZTBmODQyYTVj
YmY0Yzg0NGJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5k
L0NQVVByb2ZpbGVWaWV3LmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1l
bmQvQ1BVUHJvZmlsZVZpZXcuanMKQEAgLTEwMCw3ICsxMDAsNyBAQCBXZWJJbnNwZWN0b3IuQ1BV
UHJvZmlsZVZpZXcgPSBmdW5jdGlvbihwcm9maWxlKQogCiAgICAgdGhpcy5fbGlua2lmaWVyID0g
bmV3IFdlYkluc3BlY3Rvci5MaW5raWZpZXIobmV3IFdlYkluc3BlY3Rvci5MaW5raWZpZXIuRGVm
YXVsdEZvcm1hdHRlcigzMCkpOwogCi0gICAgUHJvZmlsZXJBZ2VudC5nZXRQcm9maWxlKHRoaXMu
cHJvZmlsZS50eXBlSWQsIHRoaXMucHJvZmlsZS51aWQsIHByb2ZpbGVDYWxsYmFjay5iaW5kKHRo
aXMpKTsKKyAgICBQcm9maWxlckFnZW50LmdldFByb2ZpbGUodGhpcy5wcm9maWxlLnByb2ZpbGVU
eXBlKCkuaWQsIHRoaXMucHJvZmlsZS51aWQsIHByb2ZpbGVDYWxsYmFjay5iaW5kKHRoaXMpKTsK
IH0KIAogV2ViSW5zcGVjdG9yLkNQVVByb2ZpbGVWaWV3Ll9UeXBlVHJlZSA9ICJUcmVlIjsKQEAg
LTYxMiwxNiArNjEyLDYgQEAgV2ViSW5zcGVjdG9yLkNQVVByb2ZpbGVUeXBlLnByb3RvdHlwZSA9
IHsKICAgICAgICAgdGhpcy5fcmVjb3JkaW5nID0gaXNQcm9maWxpbmc7CiAgICAgfSwKIAotICAg
IGNyZWF0ZVNpZGViYXJUcmVlRWxlbWVudEZvclByb2ZpbGU6IGZ1bmN0aW9uKHByb2ZpbGUpCi0g
ICAgewotICAgICAgICByZXR1cm4gbmV3IFdlYkluc3BlY3Rvci5Qcm9maWxlU2lkZWJhclRyZWVF
bGVtZW50KHByb2ZpbGUsIFdlYkluc3BlY3Rvci5VSVN0cmluZygiUHJvZmlsZSAlZCIpLCAicHJv
ZmlsZS1zaWRlYmFyLXRyZWUtaXRlbSIpOwotICAgIH0sCi0KLSAgICBjcmVhdGVWaWV3OiBmdW5j
dGlvbihwcm9maWxlKQotICAgIHsKLSAgICAgICAgcmV0dXJuIG5ldyBXZWJJbnNwZWN0b3IuQ1BV
UHJvZmlsZVZpZXcocHJvZmlsZSk7Ci0gICAgfSwKLQogICAgIC8qKgogICAgICAqIEBvdmVycmlk
ZQogICAgICAqIEBwYXJhbSB7c3RyaW5nPX0gdGl0bGUKQEAgLTYzMCw3ICs2MjAsNyBAQCBXZWJJ
bnNwZWN0b3IuQ1BVUHJvZmlsZVR5cGUucHJvdG90eXBlID0gewogICAgIGNyZWF0ZVRlbXBvcmFy
eVByb2ZpbGU6IGZ1bmN0aW9uKHRpdGxlKQogICAgIHsKICAgICAgICAgdGl0bGUgPSB0aXRsZSB8
fCBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIlJlY29yZGluZ1x1MjAyNiIpOwotICAgICAgICByZXR1
cm4gbmV3IFdlYkluc3BlY3Rvci5Qcm9maWxlSGVhZGVyKFdlYkluc3BlY3Rvci5DUFVQcm9maWxl
VHlwZS5UeXBlSWQsIHRpdGxlKTsKKyAgICAgICAgcmV0dXJuIG5ldyBXZWJJbnNwZWN0b3IuQ1BV
UHJvZmlsZUhlYWRlcih0aGlzLCB0aXRsZSk7CiAgICAgfSwKIAogICAgIC8qKgpAQCAtNjQwLDgg
KzYzMCw0MCBAQCBXZWJJbnNwZWN0b3IuQ1BVUHJvZmlsZVR5cGUucHJvdG90eXBlID0gewogICAg
ICAqLwogICAgIGNyZWF0ZVByb2ZpbGU6IGZ1bmN0aW9uKHByb2ZpbGUpCiAgICAgewotICAgICAg
ICByZXR1cm4gbmV3IFdlYkluc3BlY3Rvci5Qcm9maWxlSGVhZGVyKHByb2ZpbGUudHlwZUlkLCBw
cm9maWxlLnRpdGxlLCBwcm9maWxlLnVpZCk7CisgICAgICAgIHJldHVybiBuZXcgV2ViSW5zcGVj
dG9yLkNQVVByb2ZpbGVIZWFkZXIodGhpcywgcHJvZmlsZS50aXRsZSwgcHJvZmlsZS51aWQpOwog
ICAgIH0KIH0KIAogV2ViSW5zcGVjdG9yLkNQVVByb2ZpbGVUeXBlLnByb3RvdHlwZS5fX3Byb3Rv
X18gPSBXZWJJbnNwZWN0b3IuUHJvZmlsZVR5cGUucHJvdG90eXBlOworCisvKioKKyAqIEBjb25z
dHJ1Y3RvcgorICogQGV4dGVuZHMge1dlYkluc3BlY3Rvci5Qcm9maWxlSGVhZGVyfQorICogQHBh
cmFtIHtXZWJJbnNwZWN0b3IuQ1BVUHJvZmlsZVR5cGV9IHR5cGUKKyAqIEBwYXJhbSB7c3RyaW5n
fSB0aXRsZQorICogQHBhcmFtIHtudW1iZXI9fSB1aWQKKyAqLworV2ViSW5zcGVjdG9yLkNQVVBy
b2ZpbGVIZWFkZXIgPSBmdW5jdGlvbih0eXBlLCB0aXRsZSwgdWlkKQoreworICAgIFdlYkluc3Bl
Y3Rvci5Qcm9maWxlSGVhZGVyLmNhbGwodGhpcywgdHlwZSwgdGl0bGUsIHVpZCk7Cit9CisKK1dl
Ykluc3BlY3Rvci5DUFVQcm9maWxlSGVhZGVyLnByb3RvdHlwZSA9IHsKKyAgICAvKioKKyAgICAg
KiBAb3ZlcnJpZGUKKyAgICAgKi8KKyAgICBjcmVhdGVTaWRlYmFyVHJlZUVsZW1lbnQ6IGZ1bmN0
aW9uKCkKKyAgICB7CisgICAgICAgIHJldHVybiBuZXcgV2ViSW5zcGVjdG9yLlByb2ZpbGVTaWRl
YmFyVHJlZUVsZW1lbnQodGhpcywgV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJQcm9maWxlICVkIiks
ICJwcm9maWxlLXNpZGViYXItdHJlZS1pdGVtIik7CisgICAgfSwKKworICAgIC8qKgorICAgICAq
IEBvdmVycmlkZQorICAgICAqLworICAgIGNyZWF0ZVZpZXc6IGZ1bmN0aW9uKCkKKyAgICB7Cisg
ICAgICAgIHJldHVybiBuZXcgV2ViSW5zcGVjdG9yLkNQVVByb2ZpbGVWaWV3KHRoaXMpOworICAg
IH0KK30KKworV2ViSW5zcGVjdG9yLkNQVVByb2ZpbGVIZWFkZXIucHJvdG90eXBlLl9fcHJvdG9f
XyA9IFdlYkluc3BlY3Rvci5Qcm9maWxlSGVhZGVyLnByb3RvdHlwZTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQ1NTU2VsZWN0b3JQcm9maWxlVmlldy5q
cyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQ1NTU2VsZWN0b3JQcm9maWxl
Vmlldy5qcwppbmRleCBhYjFjZjE0NzdkNTJkNjZlNGNhNDgxZTBkMGY3ODZiMTdlOWZmNGFlLi43
NjJiMGM5YjFkOWY0NGYwYTg5MzFjMDI3MTc0MTIwMjM2ZjNjNzVmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0NTU1NlbGVjdG9yUHJvZmlsZVZpZXcuanMK
KysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9DU1NTZWxlY3RvclByb2Zp
bGVWaWV3LmpzCkBAIC0yNyw2ICsyNyw3IEBACiAgKiBAY29uc3RydWN0b3IKICAqIEBleHRlbmRz
IFdlYkluc3BlY3Rvci5EYXRhR3JpZE5vZGUKICAqIEBwYXJhbSB7V2ViSW5zcGVjdG9yLkNTU1Nl
bGVjdG9yUHJvZmlsZVZpZXd9IHByb2ZpbGVWaWV3CisgKiBAcGFyYW0ge0NTU0FnZW50LlNlbGVj
dG9yUHJvZmlsZX0gZGF0YQogICovCiBXZWJJbnNwZWN0b3IuQ1NTU2VsZWN0b3JEYXRhR3JpZE5v
ZGUgPSBmdW5jdGlvbihwcm9maWxlVmlldywgZGF0YSkKIHsKQEAgLTMzMiwxNSArMzMzLDE5IEBA
IFdlYkluc3BlY3Rvci5DU1NTZWxlY3RvclByb2ZpbGVUeXBlLnByb3RvdHlwZSA9IHsKIAogICAg
IHN0b3BSZWNvcmRpbmdQcm9maWxlOiBmdW5jdGlvbigpCiAgICAgeworICAgICAgICAvKioKKyAg
ICAgICAgICogQHBhcmFtIHs/UHJvdG9jb2wuRXJyb3J9IGVycm9yCisgICAgICAgICAqIEBwYXJh
bSB7Q1NTQWdlbnQuU2VsZWN0b3JQcm9maWxlfSBwcm9maWxlCisgICAgICAgICAqLwogICAgICAg
ICBmdW5jdGlvbiBjYWxsYmFjayhlcnJvciwgcHJvZmlsZSkKICAgICAgICAgewogICAgICAgICAg
ICAgaWYgKGVycm9yKQogICAgICAgICAgICAgICAgIHJldHVybjsKIAotICAgICAgICAgICAgcHJv
ZmlsZS51aWQgPSB0aGlzLl9wcm9maWxlVWlkKys7Ci0gICAgICAgICAgICBwcm9maWxlLnRpdGxl
ID0gV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJQcm9maWxlICVkIiwgcHJvZmlsZS51aWQpICsgU3Ry
aW5nLnNwcmludGYoIiAoJXMpIiwgTnVtYmVyLnNlY29uZHNUb1N0cmluZyhwcm9maWxlLnRvdGFs
VGltZSAvIDEwMDApKTsKLSAgICAgICAgICAgIHByb2ZpbGUudHlwZUlkID0gV2ViSW5zcGVjdG9y
LkNTU1NlbGVjdG9yUHJvZmlsZVR5cGUuVHlwZUlkOwotICAgICAgICAgICAgV2ViSW5zcGVjdG9y
LnBhbmVscy5wcm9maWxlcy5hZGRQcm9maWxlSGVhZGVyKHByb2ZpbGUpOworICAgICAgICAgICAg
dmFyIHVpZCA9IHRoaXMuX3Byb2ZpbGVVaWQrKzsKKyAgICAgICAgICAgIHZhciB0aXRsZSA9IFdl
Ykluc3BlY3Rvci5VSVN0cmluZygiUHJvZmlsZSAlZCIsIHVpZCkgKyBTdHJpbmcuc3ByaW50Zigi
ICglcykiLCBOdW1iZXIuc2Vjb25kc1RvU3RyaW5nKHByb2ZpbGUudG90YWxUaW1lIC8gMTAwMCkp
OworICAgICAgICAgICAgdmFyIHByb2ZpbGVIZWFkZXIgPSBuZXcgV2ViSW5zcGVjdG9yLkNTU1By
b2ZpbGVIZWFkZXIodGhpcywgdGl0bGUsIHVpZCwgcHJvZmlsZSk7CisgICAgICAgICAgICBXZWJJ
bnNwZWN0b3IucGFuZWxzLnByb2ZpbGVzLmFkZFByb2ZpbGVIZWFkZXIocHJvZmlsZUhlYWRlcik7
CiAgICAgICAgICAgICBXZWJJbnNwZWN0b3IucGFuZWxzLnByb2ZpbGVzLnNldFJlY29yZGluZ1By
b2ZpbGUoV2ViSW5zcGVjdG9yLkNTU1NlbGVjdG9yUHJvZmlsZVR5cGUuVHlwZUlkLCBmYWxzZSk7
CiAgICAgICAgIH0KIApAQCAtMzQ4LDE2ICszNTMsNiBAQCBXZWJJbnNwZWN0b3IuQ1NTU2VsZWN0
b3JQcm9maWxlVHlwZS5wcm90b3R5cGUgPSB7CiAgICAgICAgIENTU0FnZW50LnN0b3BTZWxlY3Rv
clByb2ZpbGVyKGNhbGxiYWNrLmJpbmQodGhpcykpOwogICAgIH0sCiAKLSAgICBjcmVhdGVTaWRl
YmFyVHJlZUVsZW1lbnRGb3JQcm9maWxlOiBmdW5jdGlvbihwcm9maWxlKQotICAgIHsKLSAgICAg
ICAgcmV0dXJuIG5ldyBXZWJJbnNwZWN0b3IuUHJvZmlsZVNpZGViYXJUcmVlRWxlbWVudChwcm9m
aWxlLCBwcm9maWxlLnRpdGxlLCAicHJvZmlsZS1zaWRlYmFyLXRyZWUtaXRlbSIpOwotICAgIH0s
Ci0KLSAgICBjcmVhdGVWaWV3OiBmdW5jdGlvbihwcm9maWxlKQotICAgIHsKLSAgICAgICAgcmV0
dXJuIG5ldyBXZWJJbnNwZWN0b3IuQ1NTU2VsZWN0b3JQcm9maWxlVmlldyhwcm9maWxlKTsKLSAg
ICB9LAotCiAgICAgLyoqCiAgICAgICogQG92ZXJyaWRlCiAgICAgICogQHBhcmFtIHtzdHJpbmc9
fSB0aXRsZQpAQCAtMzY2LDE4ICszNjEsNTQgQEAgV2ViSW5zcGVjdG9yLkNTU1NlbGVjdG9yUHJv
ZmlsZVR5cGUucHJvdG90eXBlID0gewogICAgIGNyZWF0ZVRlbXBvcmFyeVByb2ZpbGU6IGZ1bmN0
aW9uKHRpdGxlKQogICAgIHsKICAgICAgICAgdGl0bGUgPSB0aXRsZSB8fCBXZWJJbnNwZWN0b3Iu
VUlTdHJpbmcoIlJlY29yZGluZ1x1MjAyNiIpOwotICAgICAgICByZXR1cm4gbmV3IFdlYkluc3Bl
Y3Rvci5Qcm9maWxlSGVhZGVyKFdlYkluc3BlY3Rvci5DU1NTZWxlY3RvclByb2ZpbGVUeXBlLlR5
cGVJZCwgdGl0bGUpOworICAgICAgICByZXR1cm4gbmV3IFdlYkluc3BlY3Rvci5DU1NQcm9maWxl
SGVhZGVyKHRoaXMsIHRpdGxlKTsKICAgICB9LAogCiAgICAgLyoqCiAgICAgICogQG92ZXJyaWRl
Ci0gICAgICogQHBhcmFtIHtQcm9maWxlckFnZW50LlByb2ZpbGVIZWFkZXJ9IHByb2ZpbGUKKyAg
ICAgKiBAcGFyYW0ge0NTU0FnZW50LlNlbGVjdG9yUHJvZmlsZX0gcHJvZmlsZQogICAgICAqIEBy
ZXR1cm4ge1dlYkluc3BlY3Rvci5Qcm9maWxlSGVhZGVyfQogICAgICAqLwogICAgIGNyZWF0ZVBy
b2ZpbGU6IGZ1bmN0aW9uKHByb2ZpbGUpCiAgICAgewotICAgICAgICByZXR1cm4gbmV3IFdlYklu
c3BlY3Rvci5Qcm9maWxlSGVhZGVyKHByb2ZpbGUudHlwZUlkLCBwcm9maWxlLnRpdGxlLCBwcm9m
aWxlLnVpZCk7CisgICAgICAgIHRocm93IG5ldyBFcnJvcigiVW5yZWFjaGFibGUiKTsKICAgICB9
CiB9CiAKIFdlYkluc3BlY3Rvci5DU1NTZWxlY3RvclByb2ZpbGVUeXBlLnByb3RvdHlwZS5fX3By
b3RvX18gPSBXZWJJbnNwZWN0b3IuUHJvZmlsZVR5cGUucHJvdG90eXBlOworCisKKy8qKgorICog
QGNvbnN0cnVjdG9yCisgKiBAZXh0ZW5kcyB7V2ViSW5zcGVjdG9yLlByb2ZpbGVIZWFkZXJ9Cisg
KiBAcGFyYW0ge1dlYkluc3BlY3Rvci5DU1NTZWxlY3RvclByb2ZpbGVUeXBlfSB0eXBlCisgKiBA
cGFyYW0ge3N0cmluZ30gdGl0bGUKKyAqIEBwYXJhbSB7bnVtYmVyPX0gdWlkCisgKiBAcGFyYW0g
e0NTU0FnZW50LlNlbGVjdG9yUHJvZmlsZT19IHByb3RvY29sRGF0YQorICovCitXZWJJbnNwZWN0
b3IuQ1NTUHJvZmlsZUhlYWRlciA9IGZ1bmN0aW9uKHR5cGUsIHRpdGxlLCB1aWQsIHByb3RvY29s
RGF0YSkKK3sKKyAgICBXZWJJbnNwZWN0b3IuUHJvZmlsZUhlYWRlci5jYWxsKHRoaXMsIHR5cGUs
IHRpdGxlLCB1aWQpOworICAgIHRoaXMuX3Byb3RvY29sRGF0YSA9IHByb3RvY29sRGF0YTsKK30K
KworV2ViSW5zcGVjdG9yLkNTU1Byb2ZpbGVIZWFkZXIucHJvdG90eXBlID0geworICAgIC8qKgor
ICAgICAqIEBvdmVycmlkZQorICAgICAqLworICAgIGNyZWF0ZVNpZGViYXJUcmVlRWxlbWVudDog
ZnVuY3Rpb24oKQorICAgIHsKKyAgICAgICAgcmV0dXJuIG5ldyBXZWJJbnNwZWN0b3IuUHJvZmls
ZVNpZGViYXJUcmVlRWxlbWVudCh0aGlzLCB0aGlzLnRpdGxlLCAicHJvZmlsZS1zaWRlYmFyLXRy
ZWUtaXRlbSIpOworICAgIH0sCisKKyAgICAvKioKKyAgICAgKiBAb3ZlcnJpZGUKKyAgICAgKi8K
KyAgICBjcmVhdGVWaWV3OiBmdW5jdGlvbigpCisgICAgeworICAgICAgICB2YXIgcHJvZmlsZSA9
IC8qKiBAdHlwZSB7Q1NTQWdlbnQuU2VsZWN0b3JQcm9maWxlfSAqL3RoaXMuX3Byb3RvY29sRGF0
YTsKKyAgICAgICAgcmV0dXJuIG5ldyBXZWJJbnNwZWN0b3IuQ1NTU2VsZWN0b3JQcm9maWxlVmll
dyhwcm9maWxlKTsKKyAgICB9Cit9CisKK1dlYkluc3BlY3Rvci5DU1NQcm9maWxlSGVhZGVyLnBy
b3RvdHlwZS5fX3Byb3RvX18gPSBXZWJJbnNwZWN0b3IuUHJvZmlsZUhlYWRlci5wcm90b3R5cGU7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0hlYXBTbmFw
c2hvdFZpZXcuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0hlYXBTbmFw
c2hvdFZpZXcuanMKaW5kZXggN2Q4Nzg2MjVkYTQyZDgwMTE1YzQyYWE2MDdlNWU5ZGNjZTA5NjVi
MC4uYTM4NmI2Zjg2MzFiMzYyMWE3OWMxZjhjOGViNjRjOTFkMjg2NjVjOSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9IZWFwU25hcHNob3RWaWV3LmpzCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvSGVhcFNuYXBzaG90Vmlldy5q
cwpAQCAtNzU2LDE2ICs3NTYsNiBAQCBXZWJJbnNwZWN0b3IuSGVhcFNuYXBzaG90UHJvZmlsZVR5
cGUucHJvdG90eXBlID0gewogICAgICAgICByZXR1cm4gV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJI
ZWFwIHNuYXBzaG90IHByb2ZpbGVzIHNob3cgbWVtb3J5IGRpc3RyaWJ1dGlvbiBhbW9uZyB5b3Vy
IHBhZ2UncyBKYXZhU2NyaXB0IG9iamVjdHMgYW5kIHJlbGF0ZWQgRE9NIG5vZGVzLiIpOwogICAg
IH0sCiAKLSAgICBjcmVhdGVTaWRlYmFyVHJlZUVsZW1lbnRGb3JQcm9maWxlOiBmdW5jdGlvbihw
cm9maWxlKQotICAgIHsKLSAgICAgICAgcmV0dXJuIG5ldyBXZWJJbnNwZWN0b3IuUHJvZmlsZVNp
ZGViYXJUcmVlRWxlbWVudChwcm9maWxlLCBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIlNuYXBzaG90
ICVkIiksICJoZWFwLXNuYXBzaG90LXNpZGViYXItdHJlZS1pdGVtIik7Ci0gICAgfSwKLQotICAg
IGNyZWF0ZVZpZXc6IGZ1bmN0aW9uKHByb2ZpbGUpCi0gICAgewotICAgICAgICByZXR1cm4gbmV3
IFdlYkluc3BlY3Rvci5IZWFwU25hcHNob3RWaWV3KFdlYkluc3BlY3Rvci5wYW5lbHMucHJvZmls
ZXMsIHByb2ZpbGUpOwotICAgIH0sCi0KICAgICAvKioKICAgICAgKiBAb3ZlcnJpZGUKICAgICAg
KiBAcGFyYW0ge3N0cmluZz19IHRpdGxlCkBAIC03NzQsNyArNzY0LDcgQEAgV2ViSW5zcGVjdG9y
LkhlYXBTbmFwc2hvdFByb2ZpbGVUeXBlLnByb3RvdHlwZSA9IHsKICAgICBjcmVhdGVUZW1wb3Jh
cnlQcm9maWxlOiBmdW5jdGlvbih0aXRsZSkKICAgICB7CiAgICAgICAgIHRpdGxlID0gdGl0bGUg
fHwgV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJTbmFwc2hvdHRpbmdcdTIwMjYiKTsKLSAgICAgICAg
cmV0dXJuIG5ldyBXZWJJbnNwZWN0b3IuSGVhcFByb2ZpbGVIZWFkZXIodGl0bGUpOworICAgICAg
ICByZXR1cm4gbmV3IFdlYkluc3BlY3Rvci5IZWFwUHJvZmlsZUhlYWRlcih0aGlzLCB0aXRsZSk7
CiAgICAgfSwKIAogICAgIC8qKgpAQCAtNzg0LDcgKzc3NCw3IEBAIFdlYkluc3BlY3Rvci5IZWFw
U25hcHNob3RQcm9maWxlVHlwZS5wcm90b3R5cGUgPSB7CiAgICAgICovCiAgICAgY3JlYXRlUHJv
ZmlsZTogZnVuY3Rpb24ocHJvZmlsZSkKICAgICB7Ci0gICAgICAgIHJldHVybiBuZXcgV2ViSW5z
cGVjdG9yLkhlYXBQcm9maWxlSGVhZGVyKHByb2ZpbGUudGl0bGUsIHByb2ZpbGUudWlkLCBwcm9m
aWxlLm1heEpTT2JqZWN0SWQgfHwgMCk7CisgICAgICAgIHJldHVybiBuZXcgV2ViSW5zcGVjdG9y
LkhlYXBQcm9maWxlSGVhZGVyKHRoaXMsIHByb2ZpbGUudGl0bGUsIHByb2ZpbGUudWlkLCBwcm9m
aWxlLm1heEpTT2JqZWN0SWQgfHwgMCk7CiAgICAgfQogfQogCkBAIC03OTMsMTMgKzc4MywxNCBA
QCBXZWJJbnNwZWN0b3IuSGVhcFNuYXBzaG90UHJvZmlsZVR5cGUucHJvdG90eXBlLl9fcHJvdG9f
XyA9IFdlYkluc3BlY3Rvci5Qcm9maWxlVAogLyoqCiAgKiBAY29uc3RydWN0b3IKICAqIEBleHRl
bmRzIHtXZWJJbnNwZWN0b3IuUHJvZmlsZUhlYWRlcn0KKyAqIEBwYXJhbSB7V2ViSW5zcGVjdG9y
LkhlYXBTbmFwc2hvdFByb2ZpbGVUeXBlfSB0eXBlCiAgKiBAcGFyYW0ge3N0cmluZ30gdGl0bGUK
ICAqIEBwYXJhbSB7bnVtYmVyPX0gdWlkCiAgKiBAcGFyYW0ge251bWJlcj19IG1heEpTT2JqZWN0
SWQKICAqLwotV2ViSW5zcGVjdG9yLkhlYXBQcm9maWxlSGVhZGVyID0gZnVuY3Rpb24odGl0bGUs
IHVpZCwgbWF4SlNPYmplY3RJZCkKK1dlYkluc3BlY3Rvci5IZWFwUHJvZmlsZUhlYWRlciA9IGZ1
bmN0aW9uKHR5cGUsIHRpdGxlLCB1aWQsIG1heEpTT2JqZWN0SWQpCiB7Ci0gICAgV2ViSW5zcGVj
dG9yLlByb2ZpbGVIZWFkZXIuY2FsbCh0aGlzLCBXZWJJbnNwZWN0b3IuSGVhcFNuYXBzaG90UHJv
ZmlsZVR5cGUuVHlwZUlkLCB0aXRsZSwgdWlkKTsKKyAgICBXZWJJbnNwZWN0b3IuUHJvZmlsZUhl
YWRlci5jYWxsKHRoaXMsIHR5cGUsIHRpdGxlLCB1aWQpOwogICAgIHRoaXMubWF4SlNPYmplY3RJ
ZCA9IG1heEpTT2JqZWN0SWQ7CiAgICAgLyoqCiAgICAgICogQHR5cGUge1dlYkluc3BlY3Rvci5I
ZWFwU25hcHNob3RMb2FkZXJQcm94eX0KQEAgLTgxMyw2ICs4MDQsMjIgQEAgV2ViSW5zcGVjdG9y
LkhlYXBQcm9maWxlSGVhZGVyID0gZnVuY3Rpb24odGl0bGUsIHVpZCwgbWF4SlNPYmplY3RJZCkK
IH0KIAogV2ViSW5zcGVjdG9yLkhlYXBQcm9maWxlSGVhZGVyLnByb3RvdHlwZSA9IHsKKyAgICAv
KioKKyAgICAgKiBAb3ZlcnJpZGUKKyAgICAgKi8KKyAgICBjcmVhdGVTaWRlYmFyVHJlZUVsZW1l
bnQ6IGZ1bmN0aW9uKCkKKyAgICB7CisgICAgICAgIHJldHVybiBuZXcgV2ViSW5zcGVjdG9yLlBy
b2ZpbGVTaWRlYmFyVHJlZUVsZW1lbnQodGhpcywgV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJTbmFw
c2hvdCAlZCIpLCAiaGVhcC1zbmFwc2hvdC1zaWRlYmFyLXRyZWUtaXRlbSIpOworICAgIH0sCisK
KyAgICAvKioKKyAgICAgKiBAb3ZlcnJpZGUKKyAgICAgKi8KKyAgICBjcmVhdGVWaWV3OiBmdW5j
dGlvbigpCisgICAgeworICAgICAgICByZXR1cm4gbmV3IFdlYkluc3BlY3Rvci5IZWFwU25hcHNo
b3RWaWV3KFdlYkluc3BlY3Rvci5wYW5lbHMucHJvZmlsZXMsIHRoaXMpOworICAgIH0sCisKICAg
ICBzbmFwc2hvdFByb3h5OiBmdW5jdGlvbigpCiAgICAgewogICAgICAgICByZXR1cm4gdGhpcy5f
c25hcHNob3RQcm94eTsKQEAgLTgzNSw3ICs4NDIsNyBAQCBXZWJJbnNwZWN0b3IuSGVhcFByb2Zp
bGVIZWFkZXIucHJvdG90eXBlID0gewogICAgICAgICBpZiAodGhpcy5fbG9hZGVyUHJveHkuc3Rh
cnRMb2FkaW5nKGNhbGxiYWNrKSkgewogICAgICAgICAgICAgdGhpcy5zaWRlYmFyRWxlbWVudC5z
dWJ0aXRsZSA9IFdlYkluc3BlY3Rvci5VSVN0cmluZygiTG9hZGluZ1x1MjAyNiIpOwogICAgICAg
ICAgICAgdGhpcy5zaWRlYmFyRWxlbWVudC53YWl0ID0gdHJ1ZTsKLSAgICAgICAgICAgIFByb2Zp
bGVyQWdlbnQuZ2V0UHJvZmlsZSh0aGlzLnR5cGVJZCwgdGhpcy51aWQpOworICAgICAgICAgICAg
UHJvZmlsZXJBZ2VudC5nZXRQcm9maWxlKHRoaXMucHJvZmlsZVR5cGUoKS5pZCwgdGhpcy51aWQp
OwogICAgICAgICB9CiAgICAgfSwKIApAQCAtOTI5LDcgKzkzNiw3IEBAIFdlYkluc3BlY3Rvci5I
ZWFwUHJvZmlsZUhlYWRlci5wcm90b3R5cGUgPSB7CiAgICAgICAgICAgICB0aGlzLl9zYXZlZENo
dW5rc0NvdW50ID0gMDsKICAgICAgICAgICAgIFdlYkluc3BlY3Rvci5maWxlTWFuYWdlci5yZW1v
dmVFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5GaWxlTWFuYWdlci5FdmVudFR5cGVzLlNhdmVk
VVJMLCBzdGFydFNhdmluZ1NuYXBzaG90LCB0aGlzKTsKICAgICAgICAgICAgIFdlYkluc3BlY3Rv
ci5maWxlTWFuYWdlci5hZGRFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5GaWxlTWFuYWdlci5F
dmVudFR5cGVzLkFwcGVuZGVkVG9VUkwsIHRoaXMuX3NhdmVTdGF0dXNVcGRhdGUsIHRoaXMpOwot
ICAgICAgICAgICAgUHJvZmlsZXJBZ2VudC5nZXRQcm9maWxlKHRoaXMudHlwZUlkLCB0aGlzLnVp
ZCk7CisgICAgICAgICAgICBQcm9maWxlckFnZW50LmdldFByb2ZpbGUodGhpcy5wcm9maWxlVHlw
ZSgpLmlkLCB0aGlzLnVpZCk7CiAgICAgICAgIH0KIAogICAgICAgICB0aGlzLl9maWxlTmFtZSA9
IHRoaXMuX2ZpbGVOYW1lIHx8ICJIZWFwLSIgKyBuZXcgRGF0ZSgpLnRvSVNPODYwMUNvbXBhY3Qo
KSArICIuaGVhcHNuYXBzaG90IjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9mcm9udC1lbmQvUHJvZmlsZUxhdW5jaGVyVmlldy5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9mcm9udC1lbmQvUHJvZmlsZUxhdW5jaGVyVmlldy5qcwppbmRleCAwMmFkMGYyNDFlMGQ1
ZWI1ZWEwYjc3ZTNmNmVkYjVhYWVmZTkzYzkxLi5kMmI2OWIzNWYxZTZkYzI5YmYxZTA0OGM3MWNj
MjU5YTg2MDJiZjZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQt
ZW5kL1Byb2ZpbGVMYXVuY2hlclZpZXcuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L2Zyb250LWVuZC9Qcm9maWxlTGF1bmNoZXJWaWV3LmpzCkBAIC0zOCw3ICszOCw2IEBAIFdlYklu
c3BlY3Rvci5Qcm9maWxlTGF1bmNoZXJWaWV3ID0gZnVuY3Rpb24ocHJvZmlsZXNQYW5lbCkKIAog
ICAgIHRoaXMuX3BhbmVsID0gcHJvZmlsZXNQYW5lbDsKICAgICB0aGlzLl9wcm9maWxlUnVubmlu
ZyA9IGZhbHNlOwotICAgIHRoaXMuX29wdGlvbklkUHJlZml4ID0gInByb2ZpbGUtdHlwZS0iOwog
CiAgICAgdGhpcy5lbGVtZW50LmFkZFN0eWxlQ2xhc3MoInByb2ZpbGUtbGF1bmNoZXItdmlldyIp
OwogICAgIHRoaXMuZWxlbWVudC5hZGRTdHlsZUNsYXNzKCJwYW5lbC1lbmFibGVyLXZpZXciKTsK
QEAgLTUzLDggKzUyLDYgQEAgV2ViSW5zcGVjdG9yLlByb2ZpbGVMYXVuY2hlclZpZXcgPSBmdW5j
dGlvbihwcm9maWxlc1BhbmVsKQogICAgIHRoaXMuX3Byb2ZpbGVUeXBlU2VsZWN0b3JGb3JtID0g
dGhpcy5fY29udGVudEVsZW1lbnQuY3JlYXRlQ2hpbGQoImZvcm0iKTsKICAgICB0aGlzLl9jb250
ZW50RWxlbWVudC5jcmVhdGVDaGlsZCgiZGl2IiwgImZsZXhpYmxlLXNwYWNlIik7CiAKLSAgICB0
aGlzLl9ib3VuZFByb2ZpbGVUeXBlQ2hhbmdlTGlzdGVuZXIgPSB0aGlzLl9wcm9maWxlVHlwZUNo
YW5nZWQuYmluZCh0aGlzKTsKLQogICAgIHRoaXMuX2NvbnRyb2xCdXR0b24gPSB0aGlzLl9jb250
ZW50RWxlbWVudC5jcmVhdGVDaGlsZCgiYnV0dG9uIiwgImNvbnRyb2wtcHJvZmlsaW5nIik7CiAg
ICAgdGhpcy5fY29udHJvbEJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIHRoaXMuX2Nv
bnRyb2xCdXR0b25DbGlja2VkLmJpbmQodGhpcyksIGZhbHNlKTsKICAgICB0aGlzLl91cGRhdGVD
b250cm9scygpOwpAQCAtNzEsNiArNjgsOSBAQCBXZWJJbnNwZWN0b3IuUHJvZmlsZUxhdW5jaGVy
Vmlldy5wcm90b3R5cGUgPSB7CiAgICAgICAgIHRoaXMuX3BhbmVsLmFkZEV2ZW50TGlzdGVuZXIo
V2ViSW5zcGVjdG9yLlByb2ZpbGVzUGFuZWwuRXZlbnRUeXBlcy5Qcm9maWxlRmluaXNoZWQsIHRo
aXMuX29uUHJvZmlsZUZpbmlzaGVkLCB0aGlzKTsKICAgICB9LAogCisgICAgLyoqCisgICAgICog
QHBhcmFtIHtXZWJJbnNwZWN0b3IuUHJvZmlsZVR5cGV9IHByb2ZpbGVUeXBlCisgICAgICovCiAg
ICAgYWRkUHJvZmlsZVR5cGU6IGZ1bmN0aW9uKHByb2ZpbGVUeXBlKQogICAgIHsKICAgICAgICAg
dmFyIGNoZWNrZWQgPSAhdGhpcy5fcHJvZmlsZVR5cGVTZWxlY3RvckZvcm0uY2hpbGRyZW4ubGVu
Z3RoOwpAQCAtODAsMTMgKzgwLDExIEBAIFdlYkluc3BlY3Rvci5Qcm9maWxlTGF1bmNoZXJWaWV3
LnByb3RvdHlwZSA9IHsKICAgICAgICAgbGFiZWxFbGVtZW50Lmluc2VydEJlZm9yZShvcHRpb25F
bGVtZW50LCBsYWJlbEVsZW1lbnQuZmlyc3RDaGlsZCk7CiAgICAgICAgIG9wdGlvbkVsZW1lbnQu
dHlwZSA9ICJyYWRpbyI7CiAgICAgICAgIG9wdGlvbkVsZW1lbnQubmFtZSA9ICJwcm9maWxlLXR5
cGUiOwotICAgICAgICB2YXIgb3B0aW9uSWQgPSB0aGlzLl9vcHRpb25JZFByZWZpeCArIHByb2Zp
bGVUeXBlLmlkOwotICAgICAgICBvcHRpb25FbGVtZW50LmlkID0gb3B0aW9uSWQ7CiAgICAgICAg
IGlmIChjaGVja2VkKSB7CiAgICAgICAgICAgICBvcHRpb25FbGVtZW50LmNoZWNrZWQgPSBjaGVj
a2VkOwogICAgICAgICAgICAgdGhpcy5kaXNwYXRjaEV2ZW50VG9MaXN0ZW5lcnMoV2ViSW5zcGVj
dG9yLlByb2ZpbGVMYXVuY2hlclZpZXcuRXZlbnRUeXBlcy5Qcm9maWxlVHlwZVNlbGVjdGVkLCBw
cm9maWxlVHlwZSk7CiAgICAgICAgIH0KLSAgICAgICAgb3B0aW9uRWxlbWVudC5hZGRFdmVudExp
c3RlbmVyKCJjaGFuZ2UiLCB0aGlzLl9ib3VuZFByb2ZpbGVUeXBlQ2hhbmdlTGlzdGVuZXIsIGZh
bHNlKTsKKyAgICAgICAgb3B0aW9uRWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCJjaGFuZ2UiLCB0
aGlzLl9wcm9maWxlVHlwZUNoYW5nZWQuYmluZCh0aGlzLCBwcm9maWxlVHlwZSksIGZhbHNlKTsK
ICAgICAgICAgdmFyIGRlc2NyaXB0aW9uRWxlbWVudCA9IGxhYmVsRWxlbWVudC5jcmVhdGVDaGls
ZCgicCIpOwogICAgICAgICBkZXNjcmlwdGlvbkVsZW1lbnQudGV4dENvbnRlbnQgPSBwcm9maWxl
VHlwZS5kZXNjcmlwdGlvbjsKICAgICB9LApAQCAtMTA5LDEwICsxMDcsMTIgQEAgV2ViSW5zcGVj
dG9yLlByb2ZpbGVMYXVuY2hlclZpZXcucHJvdG90eXBlID0gewogICAgICAgICB9CiAgICAgfSwK
IAotICAgIF9wcm9maWxlVHlwZUNoYW5nZWQ6IGZ1bmN0aW9uKGV2ZW50KQorICAgIC8qKgorICAg
ICAqIEBwYXJhbSB7V2ViSW5zcGVjdG9yLlByb2ZpbGVUeXBlfSBwcm9maWxlVHlwZQorICAgICAq
LworICAgIF9wcm9maWxlVHlwZUNoYW5nZWQ6IGZ1bmN0aW9uKHByb2ZpbGVUeXBlLCBldmVudCkK
ICAgICB7Ci0gICAgICAgIHZhciBzZWxlY3RlZFByb2ZpbGVUeXBlID0gdGhpcy5fcGFuZWwuZ2V0
UHJvZmlsZVR5cGUoZXZlbnQudGFyZ2V0LmlkLnN1YnN0cmluZyh0aGlzLl9vcHRpb25JZFByZWZp
eC5sZW5ndGgpKTsKLSAgICAgICAgdGhpcy5kaXNwYXRjaEV2ZW50VG9MaXN0ZW5lcnMoV2ViSW5z
cGVjdG9yLlByb2ZpbGVMYXVuY2hlclZpZXcuRXZlbnRUeXBlcy5Qcm9maWxlVHlwZVNlbGVjdGVk
LCBzZWxlY3RlZFByb2ZpbGVUeXBlKTsKKyAgICAgICAgdGhpcy5kaXNwYXRjaEV2ZW50VG9MaXN0
ZW5lcnMoV2ViSW5zcGVjdG9yLlByb2ZpbGVMYXVuY2hlclZpZXcuRXZlbnRUeXBlcy5Qcm9maWxl
VHlwZVNlbGVjdGVkLCBwcm9maWxlVHlwZSk7CiAgICAgfSwKIAogICAgIF9vblByb2ZpbGVTdGFy
dGVkOiBmdW5jdGlvbihldmVudCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9mcm9udC1lbmQvUHJvZmlsZXNQYW5lbC5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9m
cm9udC1lbmQvUHJvZmlsZXNQYW5lbC5qcwppbmRleCBiNmQwOTYyODZhYmQwZjA1M2MyMjg2MTM5
ZDc1N2YwOWQ4OTZjNzJmLi5jNmI1MTg4NWQwNzZkNjQ1Y2JhNWNiZDgzOTU1OTVjYmM2ODQ3Y2Iy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1Byb2ZpbGVz
UGFuZWwuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Qcm9maWxl
c1BhbmVsLmpzCkBAIC0zMiw2ICszMiwxMCBAQCBXZWJJbnNwZWN0b3IuUHJvZmlsZVR5cGUgPSBm
dW5jdGlvbihpZCwgbmFtZSkKIHsKICAgICB0aGlzLl9pZCA9IGlkOwogICAgIHRoaXMuX25hbWUg
PSBuYW1lOworICAgIC8qKgorICAgICAqIEB0eXBlIHtXZWJJbnNwZWN0b3IuU2lkZWJhclNlY3Rp
b25UcmVlRWxlbWVudH0KKyAgICAgKi8KKyAgICB0aGlzLnRyZWVFbGVtZW50ID0gbnVsbDsKIH0K
IAogV2ViSW5zcGVjdG9yLlByb2ZpbGVUeXBlLlVSTFJlZ0V4cCA9IC93ZWJraXQtcHJvZmlsZTpc
L1wvKC4rKVwvKC4rKSMoWzAtOV0rKS87CkBAIC02NSwxMyArNjksNiBAQCBXZWJJbnNwZWN0b3Iu
UHJvZmlsZVR5cGUucHJvdG90eXBlID0gewogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgfSwK
IAotICAgIHZpZXdGb3JQcm9maWxlOiBmdW5jdGlvbihwcm9maWxlKQotICAgIHsKLSAgICAgICAg
aWYgKCFwcm9maWxlLl9wcm9maWxlVmlldykKLSAgICAgICAgICAgIHByb2ZpbGUuX3Byb2ZpbGVW
aWV3ID0gdGhpcy5jcmVhdGVWaWV3KHByb2ZpbGUpOwotICAgICAgICByZXR1cm4gcHJvZmlsZS5f
cHJvZmlsZVZpZXc7Ci0gICAgfSwKLQogICAgIHJlc2V0OiBmdW5jdGlvbigpCiAgICAgewogICAg
IH0sCkBAIC04MiwxOCArNzksNiBAQCBXZWJJbnNwZWN0b3IuUHJvZmlsZVR5cGUucHJvdG90eXBl
ID0gewogICAgIH0sCiAKICAgICAvLyBNdXN0IGJlIGltcGxlbWVudGVkIGJ5IHN1YmNsYXNzZXMu
Ci0gICAgY3JlYXRlVmlldzogZnVuY3Rpb24ocHJvZmlsZSkKLSAgICB7Ci0gICAgICAgIHRocm93
IG5ldyBFcnJvcigiTmVlZHMgaW1wbGVtZW50ZWQuIik7Ci0gICAgfSwKLQotICAgIC8vIE11c3Qg
YmUgaW1wbGVtZW50ZWQgYnkgc3ViY2xhc3Nlcy4KLSAgICBjcmVhdGVTaWRlYmFyVHJlZUVsZW1l
bnRGb3JQcm9maWxlOiBmdW5jdGlvbihwcm9maWxlKQotICAgIHsKLSAgICAgICAgdGhyb3cgbmV3
IEVycm9yKCJOZWVkcyBpbXBsZW1lbnRlZC4iKTsKLSAgICB9LAotCi0gICAgLy8gTXVzdCBiZSBp
bXBsZW1lbnRlZCBieSBzdWJjbGFzc2VzLgogICAgIC8qKgogICAgICAqIEBwYXJhbSB7c3RyaW5n
PX0gdGl0bGUKICAgICAgKiBAcmV0dXJuIHtXZWJJbnNwZWN0b3IuUHJvZmlsZUhlYWRlcn0KQEAg
LTEyNCwxMyArMTA5LDEzIEBAIFdlYkluc3BlY3Rvci5yZWdpc3RlckxpbmtpZmllclBsdWdpbihm
dW5jdGlvbih0aXRsZSkKIAogLyoqCiAgKiBAY29uc3RydWN0b3IKLSAqIEBwYXJhbSB7c3RyaW5n
fSBwcm9maWxlVHlwZQorICogQHBhcmFtIHtXZWJJbnNwZWN0b3IuUHJvZmlsZVR5cGV9IHByb2Zp
bGVUeXBlCiAgKiBAcGFyYW0ge3N0cmluZ30gdGl0bGUKICAqIEBwYXJhbSB7bnVtYmVyPX0gdWlk
CiAgKi8KIFdlYkluc3BlY3Rvci5Qcm9maWxlSGVhZGVyID0gZnVuY3Rpb24ocHJvZmlsZVR5cGUs
IHRpdGxlLCB1aWQpCiB7Ci0gICAgdGhpcy50eXBlSWQgPSBwcm9maWxlVHlwZSwKKyAgICB0aGlz
Ll9wcm9maWxlVHlwZSA9IHByb2ZpbGVUeXBlOwogICAgIHRoaXMudGl0bGUgPSB0aXRsZTsKICAg
ICBpZiAodWlkID09PSB1bmRlZmluZWQpIHsKICAgICAgICAgdGhpcy51aWQgPSAtMTsKQEAgLTE0
Myw2ICsxMjgsMzcgQEAgV2ViSW5zcGVjdG9yLlByb2ZpbGVIZWFkZXIgPSBmdW5jdGlvbihwcm9m
aWxlVHlwZSwgdGl0bGUsIHVpZCkKIH0KIAogV2ViSW5zcGVjdG9yLlByb2ZpbGVIZWFkZXIucHJv
dG90eXBlID0geworICAgIHByb2ZpbGVUeXBlOiBmdW5jdGlvbigpCisgICAgeworICAgICAgICBy
ZXR1cm4gdGhpcy5fcHJvZmlsZVR5cGU7CisgICAgfSwKKworICAgIC8qKgorICAgICAqIE11c3Qg
YmUgaW1wbGVtZW50ZWQgYnkgc3ViY2xhc3Nlcy4KKyAgICAgKiBAcmV0dXJuIHtXZWJJbnNwZWN0
b3IuUHJvZmlsZVNpZGViYXJUcmVlRWxlbWVudH0KKyAgICAgKi8KKyAgICBjcmVhdGVTaWRlYmFy
VHJlZUVsZW1lbnQ6IGZ1bmN0aW9uKCkKKyAgICB7CisgICAgICAgIHRocm93IG5ldyBFcnJvcigi
TmVlZHMgaW1wbGVtZW50ZWQuIik7CisgICAgfSwKKworICAgIGV4aXN0aW5nVmlldzogZnVuY3Rp
b24oKQorICAgIHsKKyAgICAgICAgcmV0dXJuIHRoaXMuX3ZpZXc7CisgICAgfSwKKworICAgIHZp
ZXc6IGZ1bmN0aW9uKCkKKyAgICB7CisgICAgICAgIGlmICghdGhpcy5fdmlldykKKyAgICAgICAg
ICAgIHRoaXMuX3ZpZXcgPSB0aGlzLmNyZWF0ZVZpZXcoKTsKKyAgICAgICAgcmV0dXJuIHRoaXMu
X3ZpZXc7CisgICAgfSwKKworICAgIGNyZWF0ZVZpZXc6IGZ1bmN0aW9uKCkKKyAgICB7CisgICAg
ICAgIHRocm93IG5ldyBFcnJvcigiTm90IGltcGxlbWVudGVkLiIpOworICAgIH0sCisKICAgICAv
KioKICAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBjYWxsYmFjawogICAgICAqLwpAQCAtMzM0LDE0
ICszNTAsMTIgQEAgV2ViSW5zcGVjdG9yLlByb2ZpbGVzUGFuZWwucHJvdG90eXBlID0gewogICAg
ICAgICBXZWJJbnNwZWN0b3IuUGFuZWwucHJvdG90eXBlLnJlc2V0LmNhbGwodGhpcyk7CiAKICAg
ICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLl9wcm9maWxlcy5sZW5ndGg7ICsraSkgewot
ICAgICAgICAgICAgdmFyIHZpZXcgPSB0aGlzLl9wcm9maWxlc1tpXS5fcHJvZmlsZVZpZXc7Cisg
ICAgICAgICAgICB2YXIgdmlldyA9IHRoaXMuX3Byb2ZpbGVzW2ldLmV4aXN0aW5nVmlldygpOwog
ICAgICAgICAgICAgaWYgKHZpZXcpIHsKICAgICAgICAgICAgICAgICB2aWV3LmRldGFjaCgpOwog
ICAgICAgICAgICAgICAgIGlmICgiZGlzcG9zZSIgaW4gdmlldykKICAgICAgICAgICAgICAgICAg
ICAgdmlldy5kaXNwb3NlKCk7CiAgICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgIGRlbGV0ZSB0
aGlzLl9wcm9maWxlc1tpXS5fcHJvZmlsZVZpZXc7CiAgICAgICAgIH0KICAgICAgICAgZGVsZXRl
IHRoaXMudmlzaWJsZVZpZXc7CiAKQEAgLTQ0MywxNiArNDU3LDE1IEBAIFdlYkluc3BlY3Rvci5Q
cm9maWxlc1BhbmVsLnByb3RvdHlwZSA9IHsKICAgICAgKi8KICAgICBhZGRQcm9maWxlSGVhZGVy
OiBmdW5jdGlvbihwcm9maWxlKQogICAgIHsKLSAgICAgICAgdGhpcy5fcmVtb3ZlVGVtcG9yYXJ5
UHJvZmlsZShwcm9maWxlLnR5cGVJZCk7CisgICAgICAgIHRoaXMuX3JlbW92ZVRlbXBvcmFyeVBy
b2ZpbGUocHJvZmlsZS5wcm9maWxlVHlwZSgpLmlkKTsKIAotICAgICAgICB2YXIgdHlwZUlkID0g
cHJvZmlsZS50eXBlSWQ7Ci0gICAgICAgIHZhciBwcm9maWxlVHlwZSA9IHRoaXMuZ2V0UHJvZmls
ZVR5cGUodHlwZUlkKTsKKyAgICAgICAgdmFyIHByb2ZpbGVUeXBlID0gcHJvZmlsZS5wcm9maWxl
VHlwZSgpOworICAgICAgICB2YXIgdHlwZUlkID0gcHJvZmlsZVR5cGUuaWQ7CiAgICAgICAgIHZh
ciBzaWRlYmFyUGFyZW50ID0gcHJvZmlsZVR5cGUudHJlZUVsZW1lbnQ7CiAgICAgICAgIHNpZGVi
YXJQYXJlbnQuaGlkZGVuID0gZmFsc2U7CiAgICAgICAgIHZhciBzbWFsbCA9IGZhbHNlOwogICAg
ICAgICB2YXIgYWx0ZXJuYXRlVGl0bGU7CiAKLSAgICAgICAgcHJvZmlsZS5fX3Byb2ZpbGVzUGFu
ZWxQcm9maWxlVHlwZSA9IHByb2ZpbGVUeXBlOwogICAgICAgICB0aGlzLl9wcm9maWxlcy5wdXNo
KHByb2ZpbGUpOwogICAgICAgICB0aGlzLl9wcm9maWxlc0lkTWFwW3RoaXMuX21ha2VLZXkocHJv
ZmlsZS51aWQsIHR5cGVJZCldID0gcHJvZmlsZTsKIApAQCAtNDkyLDcgKzUwNSw3IEBAIFdlYklu
c3BlY3Rvci5Qcm9maWxlc1BhbmVsLnByb3RvdHlwZSA9IHsKICAgICAgICAgICAgIH0KICAgICAg
ICAgfQogCi0gICAgICAgIHZhciBwcm9maWxlVHJlZUVsZW1lbnQgPSBwcm9maWxlVHlwZS5jcmVh
dGVTaWRlYmFyVHJlZUVsZW1lbnRGb3JQcm9maWxlKHByb2ZpbGUpOworICAgICAgICB2YXIgcHJv
ZmlsZVRyZWVFbGVtZW50ID0gcHJvZmlsZS5jcmVhdGVTaWRlYmFyVHJlZUVsZW1lbnQoKTsKICAg
ICAgICAgcHJvZmlsZS5zaWRlYmFyRWxlbWVudCA9IHByb2ZpbGVUcmVlRWxlbWVudDsKICAgICAg
ICAgcHJvZmlsZVRyZWVFbGVtZW50LnNtYWxsID0gc21hbGw7CiAgICAgICAgIGlmIChhbHRlcm5h
dGVUaXRsZSkKQEAgLTUxMiw5ICs1MjUsNyBAQCBXZWJJbnNwZWN0b3IuUHJvZmlsZXNQYW5lbC5w
cm90b3R5cGUgPSB7CiAgICAgICovCiAgICAgX3JlbW92ZVByb2ZpbGVIZWFkZXI6IGZ1bmN0aW9u
KHByb2ZpbGUpCiAgICAgewotICAgICAgICB2YXIgdHlwZUlkID0gcHJvZmlsZS50eXBlSWQ7Ci0g
ICAgICAgIHZhciBwcm9maWxlVHlwZSA9IHRoaXMuZ2V0UHJvZmlsZVR5cGUodHlwZUlkKTsKLSAg
ICAgICAgdmFyIHNpZGViYXJQYXJlbnQgPSBwcm9maWxlVHlwZS50cmVlRWxlbWVudDsKKyAgICAg
ICAgdmFyIHNpZGViYXJQYXJlbnQgPSBwcm9maWxlLnByb2ZpbGVUeXBlKCkudHJlZUVsZW1lbnQ7
CiAKICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLl9wcm9maWxlcy5sZW5ndGg7ICsr
aSkgewogICAgICAgICAgICAgaWYgKHRoaXMuX3Byb2ZpbGVzW2ldLnVpZCA9PT0gcHJvZmlsZS51
aWQpIHsKQEAgLTUyMywxNSArNTM0LDE1IEBAIFdlYkluc3BlY3Rvci5Qcm9maWxlc1BhbmVsLnBy
b3RvdHlwZSA9IHsKICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgIH0KICAgICAg
ICAgfQotICAgICAgICBkZWxldGUgdGhpcy5fcHJvZmlsZXNJZE1hcFt0aGlzLl9tYWtlS2V5KHBy
b2ZpbGUudWlkLCB0eXBlSWQpXTsKKyAgICAgICAgZGVsZXRlIHRoaXMuX3Byb2ZpbGVzSWRNYXBb
dGhpcy5fbWFrZUtleShwcm9maWxlLnVpZCwgcHJvZmlsZS5wcm9maWxlVHlwZSgpLmlkKV07CiAK
LSAgICAgICAgdmFyIHByb2ZpbGVUaXRsZUtleSA9IHRoaXMuX21ha2VUaXRsZUtleShwcm9maWxl
LnRpdGxlLCB0eXBlSWQpOworICAgICAgICB2YXIgcHJvZmlsZVRpdGxlS2V5ID0gdGhpcy5fbWFr
ZVRpdGxlS2V5KHByb2ZpbGUudGl0bGUsIHByb2ZpbGUucHJvZmlsZVR5cGUoKS5pZCk7CiAgICAg
ICAgIGRlbGV0ZSB0aGlzLl9wcm9maWxlR3JvdXBzW3Byb2ZpbGVUaXRsZUtleV07CiAKICAgICAg
ICAgc2lkZWJhclBhcmVudC5yZW1vdmVDaGlsZChwcm9maWxlLl9wcm9maWxlc1RyZWVFbGVtZW50
KTsKIAogICAgICAgICBpZiAoIXByb2ZpbGUuaXNUZW1wb3JhcnkpCi0gICAgICAgICAgICBQcm9m
aWxlckFnZW50LnJlbW92ZVByb2ZpbGUocHJvZmlsZS50eXBlSWQsIHByb2ZpbGUudWlkKTsKKyAg
ICAgICAgICAgIFByb2ZpbGVyQWdlbnQucmVtb3ZlUHJvZmlsZShwcm9maWxlLnByb2ZpbGVUeXBl
KCkuaWQsIHByb2ZpbGUudWlkKTsKIAogICAgICAgICAvLyBObyBvdGhlciBpdGVtIHdpbGwgYmUg
c2VsZWN0ZWQgaWYgdGhlcmUgYXJlbid0IGFueSBvdGhlciBwcm9maWxlcywgc28KICAgICAgICAg
Ly8gbWFrZSBzdXJlIHRoYXQgdmlldyBnZXRzIGNsZWFyZWQgd2hlbiB0aGUgbGFzdCBwcm9maWxl
IGlzIHJlbW92ZWQuCkBAIC01NDksNyArNTYwLDcgQEAgV2ViSW5zcGVjdG9yLlByb2ZpbGVzUGFu
ZWwucHJvdG90eXBlID0gewogCiAgICAgICAgIHRoaXMuY2xvc2VWaXNpYmxlVmlldygpOwogCi0g
ICAgICAgIHZhciB2aWV3ID0gcHJvZmlsZS5fX3Byb2ZpbGVzUGFuZWxQcm9maWxlVHlwZS52aWV3
Rm9yUHJvZmlsZShwcm9maWxlKTsKKyAgICAgICAgdmFyIHZpZXcgPSBwcm9maWxlLnZpZXcoKTsK
IAogICAgICAgICB2aWV3LnNob3codGhpcy5wcm9maWxlVmlld3MpOwogCkBAIC01NzcsNyArNTg4
LDcgQEAgV2ViSW5zcGVjdG9yLlByb2ZpbGVzUGFuZWwucHJvdG90eXBlID0gewogICAgICAgICB2
YXIgcHJvZmlsZXNDb3VudCA9IHRoaXMuX3Byb2ZpbGVzLmxlbmd0aDsKICAgICAgICAgZm9yICh2
YXIgaSA9IDA7IGkgPCBwcm9maWxlc0NvdW50OyArK2kpIHsKICAgICAgICAgICAgIHZhciBwcm9m
aWxlID0gdGhpcy5fcHJvZmlsZXNbaV07Ci0gICAgICAgICAgICBpZiAoIXByb2ZpbGUuaXNUZW1w
b3JhcnkgJiYgcHJvZmlsZS50eXBlSWQgPT09IHR5cGVJZCkKKyAgICAgICAgICAgIGlmICghcHJv
ZmlsZS5pc1RlbXBvcmFyeSAmJiBwcm9maWxlLnByb2ZpbGVUeXBlKCkuaWQgPT09IHR5cGVJZCkK
ICAgICAgICAgICAgICAgICByZXN1bHQucHVzaChwcm9maWxlKTsKICAgICAgICAgfQogICAgICAg
ICByZXR1cm4gcmVzdWx0OwpAQCAtNTk1LDggKzYwNiw4IEBAIFdlYkluc3BlY3Rvci5Qcm9maWxl
c1BhbmVsLnByb3RvdHlwZSA9IHsKICAgICAgICAgICAgIC8vIFRPRE86IGFsbG93IHRvIGNob29z
ZSBzbmFwc2hvdCBpZiB0aGVyZSBhcmUgc2V2ZXJhbCBvcHRpb25zLgogICAgICAgICAgICAgaWYg
KHByb2ZpbGUubWF4SlNPYmplY3RJZCA+PSBzbmFwc2hvdE9iamVjdElkKSB7CiAgICAgICAgICAg
ICAgICAgdGhpcy5zaG93UHJvZmlsZShwcm9maWxlKTsKLSAgICAgICAgICAgICAgICBwcm9maWxl
Ll9wcm9maWxlVmlldy5jaGFuZ2VWaWV3KHZpZXdOYW1lLCBmdW5jdGlvbigpIHsKLSAgICAgICAg
ICAgICAgICAgICAgcHJvZmlsZS5fcHJvZmlsZVZpZXcuZGF0YUdyaWQuaGlnaGxpZ2h0T2JqZWN0
QnlIZWFwU25hcHNob3RJZChzbmFwc2hvdE9iamVjdElkKTsKKyAgICAgICAgICAgICAgICBwcm9m
aWxlLnZpZXcoKS5jaGFuZ2VWaWV3KHZpZXdOYW1lLCBmdW5jdGlvbigpIHsKKyAgICAgICAgICAg
ICAgICAgICAgcHJvZmlsZS52aWV3KCkuZGF0YUdyaWQuaGlnaGxpZ2h0T2JqZWN0QnlIZWFwU25h
cHNob3RJZChzbmFwc2hvdE9iamVjdElkKTsKICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAg
ICAgICAgICBicmVhazsKICAgICAgICAgICAgIH0KQEAgLTYxMSw3ICs2MjIsNyBAQCBXZWJJbnNw
ZWN0b3IuUHJvZmlsZXNQYW5lbC5wcm90b3R5cGUgPSB7CiAgICAgewogICAgICAgICB2YXIgcHJv
ZmlsZXNDb3VudCA9IHRoaXMuX3Byb2ZpbGVzLmxlbmd0aDsKICAgICAgICAgZm9yICh2YXIgaSA9
IDA7IGkgPCBwcm9maWxlc0NvdW50OyArK2kpCi0gICAgICAgICAgICBpZiAodGhpcy5fcHJvZmls
ZXNbaV0udHlwZUlkID09PSB0eXBlSWQgJiYgdGhpcy5fcHJvZmlsZXNbaV0uaXNUZW1wb3Jhcnkp
CisgICAgICAgICAgICBpZiAodGhpcy5fcHJvZmlsZXNbaV0ucHJvZmlsZVR5cGUoKS5pZCA9PT0g
dHlwZUlkICYmIHRoaXMuX3Byb2ZpbGVzW2ldLmlzVGVtcG9yYXJ5KQogICAgICAgICAgICAgICAg
IHJldHVybiB0aGlzLl9wcm9maWxlc1tpXTsKICAgICAgICAgcmV0dXJuIG51bGw7CiAgICAgfSwK
QEAgLTYyNyw3ICs2MzgsNyBAQCBXZWJJbnNwZWN0b3IuUHJvZmlsZXNQYW5lbC5wcm90b3R5cGUg
PSB7CiAgICAgfSwKIAogICAgIC8qKgotICAgICAqIEBwYXJhbSB7V2ViSW5zcGVjdG9yLlByb2Zp
bGVIZWFkZXJ9IHByb2ZpbGUKKyAgICAgKiBAcGFyYW0ge1Byb2ZpbGVyQWdlbnQuUHJvZmlsZUhl
YWRlcn0gcHJvZmlsZQogICAgICAqLwogICAgIGhhc1Byb2ZpbGU6IGZ1bmN0aW9uKHByb2ZpbGUp
CiAgICAgewpAQCAtODc2LDcgKzg4Nyw3IEBAIFdlYkluc3BlY3Rvci5Qcm9maWxlc1BhbmVsLnBy
b3RvdHlwZSA9IHsKICAgICAgICAgdmFyIHByb2ZpbGVzTGVuZ3RoID0gdGhpcy5fcHJvZmlsZXMu
bGVuZ3RoOwogICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHByb2ZpbGVzTGVuZ3RoOyArK2kp
IHsKICAgICAgICAgICAgIHZhciBwcm9maWxlID0gdGhpcy5fcHJvZmlsZXNbaV07Ci0gICAgICAg
ICAgICB2YXIgdmlldyA9IHByb2ZpbGUuX19wcm9maWxlc1BhbmVsUHJvZmlsZVR5cGUudmlld0Zv
clByb2ZpbGUocHJvZmlsZSk7CisgICAgICAgICAgICB2YXIgdmlldyA9IHByb2ZpbGUudmlldygp
OwogICAgICAgICAgICAgaWYgKCF2aWV3LnBlcmZvcm1TZWFyY2ggfHwgdmlldyA9PT0gdmlzaWJs
ZVZpZXcpCiAgICAgICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgICAgICB2aWV3cy5wdXNo
KHZpZXcpOwpAQCAtOTc2LDYgKzk4NywxMCBAQCBXZWJJbnNwZWN0b3IuUHJvZmlsZXNQYW5lbC5w
cm90b3R5cGUgPSB7CiAgICAgICAgIGlmICghdGhpcy5fcHJvZmlsZXJFbmFibGVkIHx8IHRoaXMu
X3Byb2ZpbGVzV2VyZVJlcXVlc3RlZCkKICAgICAgICAgICAgIHJldHVybjsKIAorICAgICAgICAv
KioKKyAgICAgICAgICogQHBhcmFtIHs/c3RyaW5nfSBlcnJvcgorICAgICAgICAgKiBAcGFyYW0g
e0FycmF5LjxQcm9maWxlckFnZW50LlByb2ZpbGVIZWFkZXI+fSBwcm9maWxlSGVhZGVycworICAg
ICAgICAgKi8KICAgICAgICAgZnVuY3Rpb24gcG9wdWxhdGVDYWxsYmFjayhlcnJvciwgcHJvZmls
ZUhlYWRlcnMpIHsKICAgICAgICAgICAgIGlmIChlcnJvcikKICAgICAgICAgICAgICAgICByZXR1
cm47CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1ZpZXcu
anMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1ZpZXcuanMKaW5kZXggOTFj
YjI4N2MwZDU3MjI1NjAyMzdiYzJhOWFlMDFjMWFlM2NhOWZlMS4uYTE5NTgyMzMyMThjYjgzZWQ3
MjNiYzViMzc0NzQ4YTJiYjQwN2U3ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL2Zyb250LWVuZC9WaWV3LmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9u
dC1lbmQvVmlldy5qcwpAQCAtMzk2LDYgKzM5Niw3IEBAIFdlYkluc3BlY3Rvci5WaWV3Ll9hc3Nl
cnQgPSBmdW5jdGlvbihjb25kaXRpb24sIG1lc3NhZ2UpCiB7CiAgICAgaWYgKCFjb25kaXRpb24p
IHsKICAgICAgICAgY29uc29sZS50cmFjZSgpOworICAgICAgICBjb25zb2xlLmVycm9yKCJhc3Nl
cnQ6ICIgKyBuZXcgRXJyb3IoKS5zdGFjayk7CiAgICAgICAgIHRocm93IG5ldyBFcnJvcihtZXNz
YWdlKTsKICAgICB9CiB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggZGNmZDY2Y2MxMGFlZjUyZTFmOGYyNGI0ZDVjOWU1ZDQy
YjFlZjRhMS4uNDUzMGYzYjJjODRlMjBiZjk5YjVmZmY2MGExMGJjYjFiMGFmZmY3YyAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDEzIEBACisyMDEyLTA1LTE4ICBZdXJ5IFNlbWlraGF0c2t5ICA8eXVyeXNAY2hy
b21pdW0ub3JnPgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IHJlbW92ZSB1bm5lY2Vzc2FyeSBp
bmRpcmVjdGlvbiBmcm9tIHByb2ZpbGUgdHlwZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTg2ODQ1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgKiBpbnNwZWN0b3IvcHJvZmlsZXIvaGVhcC1zbmFwc2hvdC10
ZXN0LmpzOgorICAgICAgICAoaW5pdGlhbGl6ZV9IZWFwU25hcHNob3RUZXN0KToKKwogMjAxMi0w
NS0xOCAgU3VkYXJzYW5hIE5hZ2luZW5pICA8c3VkYXJzYW5hLm5hZ2luZW5pQGxpbnV4LmludGVs
LmNvbT4KIAogICAgICAgICBbRUZMXSBEUlQgbmVlZHMgYW4gaW1wbGVtZW50YXRpb24gb2YgbGF5
b3V0VGVzdENvbnRyb2xsZXIuc2V0U2VyaWFsaXplSFRUUExvYWRzCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbnNwZWN0b3IvcHJvZmlsZXIvaGVhcC1zbmFwc2hvdC10ZXN0LmpzIGIvTGF5b3V0
VGVzdHMvaW5zcGVjdG9yL3Byb2ZpbGVyL2hlYXAtc25hcHNob3QtdGVzdC5qcwppbmRleCA0N2Ri
Yjk0YTk5MTA3MzRiN2UxYWM3OWJlMjUzNTg3ZjZhYjliNmY4Li4yOTFjNDBkMDg4YjlkNTJkZGQw
ZTZlYmFmMzU3NzUxYWQxNDg2NzBiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3Iv
cHJvZmlsZXIvaGVhcC1zbmFwc2hvdC10ZXN0LmpzCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rv
ci9wcm9maWxlci9oZWFwLXNuYXBzaG90LXRlc3QuanMKQEAgLTUxMyw3ICs1MTMsMTIgQEAgSW5z
cGVjdG9yVGVzdC50YWtlQW5kT3BlblNuYXBzaG90ID0gZnVuY3Rpb24oZ2VuZXJhdG9yLCBjYWxs
YmFjaykKICAgICBjYWxsYmFjayA9IEluc3BlY3RvclRlc3Quc2FmZVdyYXAoY2FsbGJhY2spOwog
ICAgIHZhciB1aWQgPSBJbnNwZWN0b3JUZXN0Ll9uZXh0VWlkKys7CiAgICAgdmFyIHNuYXBzaG90
ID0gZ2VuZXJhdG9yKCk7Ci0gICAgdmFyIHByb2ZpbGUgPSBuZXcgV2ViSW5zcGVjdG9yLkhlYXBQ
cm9maWxlSGVhZGVyKFVzZXJJbml0aWF0ZWRQcm9maWxlTmFtZSArICIuIiArIHVpZCwgdWlkLCBz
bmFwc2hvdC5tYXhKU09iamVjdElkKTsKKyAgICB2YXIgcHJvZmlsZVR5cGUgPSBXZWJJbnNwZWN0
b3IucGFuZWxzLnByb2ZpbGVzLmdldFByb2ZpbGVUeXBlKFdlYkluc3BlY3Rvci5IZWFwU25hcHNo
b3RQcm9maWxlVHlwZS5UeXBlSWQpOworICAgIHZhciBwcm9maWxlID0gcHJvZmlsZVR5cGUuY3Jl
YXRlUHJvZmlsZSh7CisgICAgICAgIHRpdGxlOiBVc2VySW5pdGlhdGVkUHJvZmlsZU5hbWUgKyAi
LiIgKyB1aWQsCisgICAgICAgIHVpZDogdWlkLAorICAgICAgICBtYXhKU09iamVjdElkOiBzbmFw
c2hvdC5tYXhKU09iamVjdElkCisgICAgfSk7CiAgICAgZGVsZXRlIHNuYXBzaG90Lm1heEpTT2Jq
ZWN0SWQ7CiAgICAgZnVuY3Rpb24gcHVzaEdlbmVyYXRlZFNuYXBzaG90KHR5cGVJZCwgdWlkKQog
ICAgIHsKQEAgLTUyNSw4ICs1MzAsNiBAQCBJbnNwZWN0b3JUZXN0LnRha2VBbmRPcGVuU25hcHNo
b3QgPSBmdW5jdGlvbihnZW5lcmF0b3IsIGNhbGxiYWNrKQogICAgIH0KICAgICBJbnNwZWN0b3JU
ZXN0Lm92ZXJyaWRlKFByb2ZpbGVyQWdlbnQsICJnZXRQcm9maWxlIiwgcHVzaEdlbmVyYXRlZFNu
YXBzaG90KTsKICAgICBJbnNwZWN0b3JUZXN0Ll90YWtlQW5kT3BlblNuYXBzaG90Q2FsbGJhY2sg
PSBjYWxsYmFjazsKLSAgICB2YXIgcHJvZmlsZVR5cGUgPSBXZWJJbnNwZWN0b3IucGFuZWxzLnBy
b2ZpbGVzLmdldFByb2ZpbGVUeXBlKHByb2ZpbGUudHlwZUlkKTsKLSAgICBwcm9maWxlID0gcHJv
ZmlsZVR5cGUuY3JlYXRlUHJvZmlsZShwcm9maWxlKTsKICAgICBXZWJJbnNwZWN0b3IucGFuZWxz
LnByb2ZpbGVzLmFkZFByb2ZpbGVIZWFkZXIocHJvZmlsZSk7CiAgICAgV2ViSW5zcGVjdG9yLnBh
bmVscy5wcm9maWxlcy5zaG93UHJvZmlsZShwcm9maWxlKTsKIH07Cg==
</data>
<flag name="review"
          id="149088"
          type_id="1"
          status="+"
          setter="pfeldman"
    />
          </attachment>
      

    </bug>

</bugzilla>