<?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>151057</bug_id>
          
          <creation_ts>2015-11-09 15:38:26 -0800</creation_ts>
          <short_desc>Web Inspector: Convert sidebars to use View base class</short_desc>
          <delta_ts>2015-11-11 14:57:45 -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>WebKit 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="Matt Baker">mattbaker</reporter>
          <assigned_to name="Matt Baker">mattbaker</assigned_to>
          <cc>bburg</cc>
    
    <cc>commit-queue</cc>
    
    <cc>graouts</cc>
    
    <cc>joepeck</cc>
    
    <cc>mattbaker</cc>
    
    <cc>nvasilyev</cc>
    
    <cc>timothy</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1140565</commentid>
    <comment_count>0</comment_count>
    <who name="Matt Baker">mattbaker</who>
    <bug_when>2015-11-09 15:38:26 -0800</bug_when>
    <thetext>* SUMMARY
Convert sidebars to use View base class, make details section a first-class concept. It would be nice to be able to write this.addDetailsSection(detailsSection) instead of this.element.appendChild(this._myDetailsSection.element), from within sidebar classes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1140566</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2015-11-09 15:38:41 -0800</bug_when>
    <thetext>&lt;rdar://problem/23472088&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1141042</commentid>
    <comment_count>2</comment_count>
    <who name="Matt Baker">mattbaker</who>
    <bug_when>2015-11-10 20:14:35 -0800</bug_when>
    <thetext>To reduce the scope of this patch, improvements to sidebar details sections will be tracked under a separate issue: https://bugs.webkit.org/show_bug.cgi?id=151126.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1141043</commentid>
    <comment_count>3</comment_count>
      <attachid>265262</attachid>
    <who name="Matt Baker">mattbaker</who>
    <bug_when>2015-11-10 20:16:58 -0800</bug_when>
    <thetext>Created attachment 265262
[Patch] Proposed Fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1141047</commentid>
    <comment_count>4</comment_count>
      <attachid>265262</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2015-11-10 20:31:58 -0800</bug_when>
    <thetext>Comment on attachment 265262
[Patch] Proposed Fix

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

&gt; Source/WebInspectorUI/UserInterface/Views/Sidebar.js:203
&gt; +        this._collapsed = flag;

flag || false;

&gt; Source/WebInspectorUI/UserInterface/Views/Sidebar.js:205
&gt; +            this.element.classList.add(WebInspector.Sidebar.CollapsedStyleClassName);

These lines can be replaced with classList.toggle().

&gt; Source/WebInspectorUI/UserInterface/Views/SidebarPanel.js:75
&gt; +        this._selected = flag;

flag || false;

&gt; Source/WebInspectorUI/UserInterface/Views/SidebarPanel.js:76
&gt; +        this.element.classList.toggle(&quot;selected&quot;);

Would be safer to pass _selected as the second argument to toggle.

&gt; Source/WebInspectorUI/UserInterface/Views/SidebarPanel.js:81
&gt; +        return this.parentView;

Nice!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1141217</commentid>
    <comment_count>5</comment_count>
      <attachid>265317</attachid>
    <who name="Matt Baker">mattbaker</who>
    <bug_when>2015-11-11 14:08:18 -0800</bug_when>
    <thetext>Created attachment 265317
[Patch] Proposed Fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1141235</commentid>
    <comment_count>6</comment_count>
      <attachid>265317</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-11-11 14:57:41 -0800</bug_when>
    <thetext>Comment on attachment 265317
[Patch] Proposed Fix

Clearing flags on attachment: 265317

Committed r192327: &lt;http://trac.webkit.org/changeset/192327&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1141236</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-11-11 14:57:45 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>265262</attachid>
            <date>2015-11-10 20:16:58 -0800</date>
            <delta_ts>2015-11-11 14:08:14 -0800</delta_ts>
            <desc>[Patch] Proposed Fix</desc>
            <filename>bug-151057-20151110201654.patch</filename>
            <type>text/plain</type>
            <size>22695</size>
            <attacher name="Matt Baker">mattbaker</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTkyMjg5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZwppbmRleCBl
NzljYjFjNTc0MDlkN2E4MWUzMTE0OWEwZGQ3NzRhMDZhZTQ1YThiLi4xMzQwYmQ0YzBiZmI5ZGFl
Mzk4NTIyODc1Nzc3NmFiYjU1ZTc1ZTA4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKQEAgLTEs
NSArMSw2OSBAQAogMjAxNS0xMS0xMCAgTWF0dCBCYWtlciAgPG1hdHRiYWtlckBhcHBsZS5jb20+
CiAKKyAgICAgICAgV2ViIEluc3BlY3RvcjogQ29udmVydCBzaWRlYmFycyB0byB1c2UgVmlldyBi
YXNlIGNsYXNzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xNTEwNTcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBUaGlzIHBhdGNoIG1ha2VzIFNpZGViYXIgYSBzdWJjbGFzcyBvZiBWaWV3LiBNb3N0bHkgbWVj
aGFuaWNhbCBjaGFuZ2VzIGFuZCBjbGVhbnVwLAorICAgICAgICBzdWNoIGFzIGFkZGluZyBuYXZp
Z2F0aW9uIGJhcnMgYW5kIHBhbmVscyBhcyBzdWJ2aWV3cywgcmVtb3ZpbmcgZWxlbWVudCBnZXR0
ZXJzLAorICAgICAgICBhbmQgcmVwbGFjaW5nIGV4dGVybmFsIHByb3BlcnRpZXMgd2l0aCBzeW1i
b2xzLgorCisgICAgICAgICogVXNlckludGVyZmFjZS9CYXNlL01haW4uanM6CisgICAgICAgIEFk
ZGVkIHNpZGViYXJzIHRvIHZpZXcgaGllcmFyY2h5LgorCisgICAgICAgICogVXNlckludGVyZmFj
ZS9WaWV3cy9EZWJ1Z2dlclNpZGViYXJQYW5lbC5qczoKKyAgICAgICAgQWRkIG5hdmlnYXRpb24g
YmFyIGFzIGEgc3Vidmlldy4KKworICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvTmV0d29y
a1NpZGViYXJQYW5lbC5qczoKKyAgICAgICAgQWRkIG5hdmlnYXRpb24gYmFyIGFzIGEgc3Vidmll
dy4KKyAgICAgICAgKFdlYkluc3BlY3Rvci5OZXR3b3JrU2lkZWJhclBhbmVsKToKKyAgICAgICAg
KFdlYkluc3BlY3Rvci5OZXR3b3JrU2lkZWJhclBhbmVsLnByb3RvdHlwZS5tYXRjaFRyZWVFbGVt
ZW50QWdhaW5zdEN1c3RvbUZpbHRlcnMubWF0Y2gpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLk5l
dHdvcmtTaWRlYmFyUGFuZWwucHJvdG90eXBlLm1hdGNoVHJlZUVsZW1lbnRBZ2FpbnN0Q3VzdG9t
RmlsdGVycyk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuTmV0d29ya1NpZGViYXJQYW5lbC5wcm90
b3R5cGUudHJlZUVsZW1lbnRBZGRlZE9yQ2hhbmdlZCk6CisgICAgICAgIChXZWJJbnNwZWN0b3Iu
TmV0d29ya1NpZGViYXJQYW5lbC5wcm90b3R5cGUuX3RyZWVFbGVtZW50R29Ub0Fycm93V2FzQ2xp
Y2tlZCk6CisgICAgICAgIEV4dGVybmFsIHByb3BlcnRpZXMgcmVwbGFjZWQgd2l0aCBzeW1ib2xz
LgorCisgICAgICAgICogVXNlckludGVyZmFjZS9WaWV3cy9SZXNvdXJjZVNpZGViYXJQYW5lbC5q
czoKKyAgICAgICAgQWRkIG5hdmlnYXRpb24gYmFyIGFzIGEgc3Vidmlldy4KKyAgICAgICAgKFdl
Ykluc3BlY3Rvci5SZXNvdXJjZVNpZGViYXJQYW5lbCk6CisgICAgICAgIChXZWJJbnNwZWN0b3Iu
UmVzb3VyY2VTaWRlYmFyUGFuZWwucHJvdG90eXBlLm1hdGNoVHJlZUVsZW1lbnRBZ2FpbnN0Q3Vz
dG9tRmlsdGVycy5tYXRjaCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuUmVzb3VyY2VTaWRlYmFy
UGFuZWwucHJvdG90eXBlLm1hdGNoVHJlZUVsZW1lbnRBZ2FpbnN0Q3VzdG9tRmlsdGVycyk6Cisg
ICAgICAgIEV4dGVybmFsIHByb3BlcnRpZXMgcmVwbGFjZWQgd2l0aCBzeW1ib2xzLgorCisgICAg
ICAgICogVXNlckludGVyZmFjZS9WaWV3cy9TaWRlYmFyLmpzOgorICAgICAgICAoV2ViSW5zcGVj
dG9yLlNpZGViYXIpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlNpZGViYXIucHJvdG90eXBlLmFk
ZFNpZGViYXJQYW5lbCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuU2lkZWJhci5wcm90b3R5cGUu
cmVtb3ZlU2lkZWJhclBhbmVsKToKKyAgICAgICAgUGFuZWxzIGFyZSBub3cgYWRkZWQgYW5kIHJl
bW92ZWQgYXMgc3Vidmlld3MuCisgICAgICAgIChXZWJJbnNwZWN0b3IuU2lkZWJhci5wcm90b3R5
cGUuZ2V0IHdpZHRoKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5TaWRlYmFyLnByb3RvdHlwZS5z
ZXQgd2lkdGgpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlNpZGViYXIucHJvdG90eXBlLmdldCBj
b2xsYXBzZWQpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlNpZGViYXIucHJvdG90eXBlLnNldCBj
b2xsYXBzZWQpOgorICAgICAgICAiY29sbGFwc2VkIiBwcm9wZXJ0eSBub3cgYmFja2VkIGJ5IHBy
aXZhdGUgY2xhc3MgdmFyaWFibGUsIG5vdCBET00gc3RhdGUuCisgICAgICAgIChXZWJJbnNwZWN0
b3IuU2lkZWJhci5wcm90b3R5cGUuZ2V0IGVsZW1lbnQpOiBEZWxldGVkLgorCisgICAgICAgICog
VXNlckludGVyZmFjZS9WaWV3cy9TaWRlYmFyUGFuZWwuanM6CisgICAgICAgIChXZWJJbnNwZWN0
b3IuU2lkZWJhclBhbmVsKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5TaWRlYmFyUGFuZWwucHJv
dG90eXBlLmdldCB2aXNpYmxlKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5TaWRlYmFyUGFuZWwu
cHJvdG90eXBlLmdldCBzZWxlY3RlZCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuU2lkZWJhclBh
bmVsLnByb3RvdHlwZS5zZXQgc2VsZWN0ZWQpOgorICAgICAgICAic2VsZWN0ZWQiIHByb3BlcnR5
IG5vdyBiYWNrZWQgYnkgcHJpdmF0ZSBjbGFzcyB2YXJpYWJsZSwgbm90IERPTSBzdGF0ZS4KKyAg
ICAgICAgKFdlYkluc3BlY3Rvci5TaWRlYmFyUGFuZWwucHJvdG90eXBlLmdldCBwYXJlbnRTaWRl
YmFyKToKKyAgICAgICAgTm8gbG9uZ2VyIHN0b3JlZCBhcyBzZXBhcmF0ZSBwcm9wZXJ0eS4gV3Jh
cHBlciBhcm91bmQgVmlldy5wcm90b3R5cGUucGFyZW50Vmlldy4KKyAgICAgICAgT3JpZ2luYWwg
Z2V0dGVyIHJldGFpbmVkIGZvciBjbGFyaXR5LgorICAgICAgICAoV2ViSW5zcGVjdG9yLlNpZGVi
YXJQYW5lbC5wcm90b3R5cGUuc2hvdyk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuU2lkZWJhclBh
bmVsLnByb3RvdHlwZS5oaWRlKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5TaWRlYmFyUGFuZWwu
cHJvdG90eXBlLmFkZGVkKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5TaWRlYmFyUGFuZWwucHJv
dG90eXBlLnJlbW92ZWQpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlNpZGViYXJQYW5lbC5wcm90
b3R5cGUuZ2V0IGVsZW1lbnQpOiBEZWxldGVkLgorCisgICAgICAgICogVXNlckludGVyZmFjZS9W
aWV3cy9TdG9yYWdlU2lkZWJhclBhbmVsLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlN0b3Jh
Z2VTaWRlYmFyUGFuZWwpOgorICAgICAgICBBZGQgbmF2aWdhdGlvbiBiYXIgYXMgYSBzdWJ2aWV3
LgorCisyMDE1LTExLTEwICBNYXR0IEJha2VyICA8bWF0dGJha2VyQGFwcGxlLmNvbT4KKwogICAg
ICAgICBXZWIgSW5zcGVjdG9yOiBFbmFibGUvZGlzYWJsZSBBbGwgQnJlYWtwb2ludHMgbm90IHVz
YWJsZSB3aGVuICJObyBGaWx0ZXIgUmVzdWx0cyIgZGlzcGxheWVkCiAgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTEwNjIKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQmFzZS9NYWluLmpzIGIvU291cmNlL1dl
Ykluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQmFzZS9NYWluLmpzCmluZGV4IDgwNWE4OTQxZThk
ZWJiNzE0Yzg3Yzk5MzQ5Y2Y2MmQ0MTNjZGI2NjYuLjU3ZTc5NzI0N2RhZWI1ZDg3MGRjZmViMGVm
MzU2Njk2ZWE4Yjg4NzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50
ZXJmYWNlL0Jhc2UvTWFpbi5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVy
ZmFjZS9CYXNlL01haW4uanMKQEAgLTEzNzksMTEgKzEzNzksMTEgQEAgV2ViSW5zcGVjdG9yLl9z
ZXR1cFZpZXdIaWVyYXJjaHkgPSBmdW5jdGlvbigpCiAgICAgbGV0IHJvb3RWaWV3ID0gbmV3IFdl
Ykluc3BlY3Rvci5WaWV3KGRvY3VtZW50LmJvZHkpOwogICAgIHJvb3RWaWV3LmFkZFN1YnZpZXco
dGhpcy50b29sYmFyKTsKICAgICByb290Vmlldy5hZGRTdWJ2aWV3KHRoaXMudGFiQmFyKTsKKyAg
ICByb290Vmlldy5hZGRTdWJ2aWV3KHRoaXMubmF2aWdhdGlvblNpZGViYXIpOwogICAgIHJvb3RW
aWV3LmFkZFN1YnZpZXcodGhpcy50YWJCcm93c2VyKTsKICAgICByb290Vmlldy5hZGRTdWJ2aWV3
KHRoaXMuc3BsaXRDb250ZW50QnJvd3Nlcik7CiAgICAgcm9vdFZpZXcuYWRkU3Vidmlldyh0aGlz
LnF1aWNrQ29uc29sZSk7Ci0KLSAgICAvLyBGSVhNRTogYWRkIG5hdmlnYXRpb24gYW5kIGRldGFp
bHMgc2lkZWJhcnMgdG8gdGhlIHRyZWUgb25jZSA8aHR0cHM6Ly93ZWJraXQub3JnL2IvMTUxMDU3
PiBpcyBmaXhlZC4KKyAgICByb290Vmlldy5hZGRTdWJ2aWV3KHRoaXMuZGV0YWlsc1NpZGViYXIp
OwogCiAgICAgcm9vdFZpZXcubWFrZVJvb3RWaWV3KCk7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvRGVidWdnZXJTaWRlYmFyUGFuZWwu
anMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9EZWJ1Z2dlclNp
ZGViYXJQYW5lbC5qcwppbmRleCA0Y2YwZGRiOWY2ODEyYzU5MDA4YTAyZWY2OWVjMWFmZmM1Y2Q5
ZjVlLi5iNThhYmQ4NDY4MTE1Y2ZjMjc0ODg5NTQ2YTY4ODJiYWFiZmU4MThlIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9EZWJ1Z2dlclNpZGVi
YXJQYW5lbC5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3
cy9EZWJ1Z2dlclNpZGViYXJQYW5lbC5qcwpAQCAtNDYsNyArNDYsNyBAQCBXZWJJbnNwZWN0b3Iu
RGVidWdnZXJTaWRlYmFyUGFuZWwgPSBjbGFzcyBEZWJ1Z2dlclNpZGViYXJQYW5lbCBleHRlbmRz
IFdlYkluc3BlYwogICAgICAgICBXZWJJbnNwZWN0b3IuZGVidWdnZXJNYW5hZ2VyLmFkZEV2ZW50
TGlzdGVuZXIoV2ViSW5zcGVjdG9yLkRlYnVnZ2VyTWFuYWdlci5FdmVudC5XYWl0aW5nVG9QYXVz
ZSwgdGhpcy5fZGVidWdnZXJXYWl0aW5nVG9QYXVzZSwgdGhpcyk7CiAKICAgICAgICAgdGhpcy5f
bmF2aWdhdGlvbkJhciA9IG5ldyBXZWJJbnNwZWN0b3IuTmF2aWdhdGlvbkJhcjsKLSAgICAgICAg
dGhpcy5lbGVtZW50LmFwcGVuZENoaWxkKHRoaXMuX25hdmlnYXRpb25CYXIuZWxlbWVudCk7Cisg
ICAgICAgIHRoaXMuYWRkU3Vidmlldyh0aGlzLl9uYXZpZ2F0aW9uQmFyKTsKIAogICAgICAgICB2
YXIgYnJlYWtwb2ludHNJbWFnZSA9IHtzcmM6ICJJbWFnZXMvQnJlYWtwb2ludHMuc3ZnIiwgd2lk
dGg6IDE1LCBoZWlnaHQ6IDE1fTsKICAgICAgICAgdmFyIHBhdXNlSW1hZ2UgPSB7c3JjOiAiSW1h
Z2VzL1BhdXNlLnN2ZyIsIHdpZHRoOiAxNSwgaGVpZ2h0OiAxNX07CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9OZXR3b3JrU2lkZWJhclBhbmVs
LmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvTmV0d29ya1Np
ZGViYXJQYW5lbC5qcwppbmRleCBhNjVkMTUwNTUyZDliZWJkN2E3MDA1NzE5ZGIyYWRhMTRmYTMw
MTY0Li4wNThiODkwOTU4YTc1Y2VmMGUyZjZkYjVmNjFhNDFmYmQ4YzQ5Y2QzIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9OZXR3b3JrU2lkZWJh
clBhbmVsLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdz
L05ldHdvcmtTaWRlYmFyUGFuZWwuanMKQEAgLTM0LDcgKzM0LDcgQEAgV2ViSW5zcGVjdG9yLk5l
dHdvcmtTaWRlYmFyUGFuZWwgPSBjbGFzcyBOZXR3b3JrU2lkZWJhclBhbmVsIGV4dGVuZHMgV2Vi
SW5zcGVjdG8KICAgICAgICAgdGhpcy5maWx0ZXJCYXIucGxhY2Vob2xkZXIgPSBXZWJJbnNwZWN0
b3IuVUlTdHJpbmcoIkZpbHRlciBSZXNvdXJjZSBMaXN0Iik7CiAKICAgICAgICAgdGhpcy5fbmF2
aWdhdGlvbkJhciA9IG5ldyBXZWJJbnNwZWN0b3IuTmF2aWdhdGlvbkJhcjsKLSAgICAgICAgdGhp
cy5lbGVtZW50LmFwcGVuZENoaWxkKHRoaXMuX25hdmlnYXRpb25CYXIuZWxlbWVudCk7CisgICAg
ICAgIHRoaXMuYWRkU3Vidmlldyh0aGlzLl9uYXZpZ2F0aW9uQmFyKTsKIAogICAgICAgICB0aGlz
Ll9yZXNvdXJjZXNUaXRsZUJhckVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYi
KTsKICAgICAgICAgdGhpcy5fcmVzb3VyY2VzVGl0bGVCYXJFbGVtZW50LnRleHRDb250ZW50ID0g
V2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJOYW1lIik7CkBAIC00OSw3ICs0OSw3IEBAIFdlYkluc3Bl
Y3Rvci5OZXR3b3JrU2lkZWJhclBhbmVsID0gY2xhc3MgTmV0d29ya1NpZGViYXJQYW5lbCBleHRl
bmRzIFdlYkluc3BlY3RvCiAgICAgICAgIGZvciAodmFyIGtleSBpbiBXZWJJbnNwZWN0b3IuUmVz
b3VyY2UuVHlwZSkgewogICAgICAgICAgICAgdmFyIHZhbHVlID0gV2ViSW5zcGVjdG9yLlJlc291
cmNlLlR5cGVba2V5XTsKICAgICAgICAgICAgIHZhciBzY29wZUJhckl0ZW0gPSBuZXcgV2ViSW5z
cGVjdG9yLlNjb3BlQmFySXRlbShzY29wZUl0ZW1QcmVmaXggKyB2YWx1ZSwgV2ViSW5zcGVjdG9y
LlJlc291cmNlLmRpc3BsYXlOYW1lRm9yVHlwZSh2YWx1ZSwgdHJ1ZSkpOwotICAgICAgICAgICAg
c2NvcGVCYXJJdGVtLl9fcmVzb3VyY2VUeXBlID0gdmFsdWU7CisgICAgICAgICAgICBzY29wZUJh
ckl0ZW1bV2ViSW5zcGVjdG9yLk5ldHdvcmtTaWRlYmFyUGFuZWwuUmVzb3VyY2VUeXBlU3ltYm9s
XSA9IHZhbHVlOwogICAgICAgICAgICAgc2NvcGVCYXJJdGVtcy5wdXNoKHNjb3BlQmFySXRlbSk7
CiAgICAgICAgIH0KIApAQCAtMTM2LDEzICsxMzYsMTMgQEAgV2ViSW5zcGVjdG9yLk5ldHdvcmtT
aWRlYmFyUGFuZWwgPSBjbGFzcyBOZXR3b3JrU2lkZWJhclBhbmVsIGV4dGVuZHMgV2ViSW5zcGVj
dG8KICAgICAgICAgZnVuY3Rpb24gbWF0Y2goKQogICAgICAgICB7CiAgICAgICAgICAgICBpZiAo
dHJlZUVsZW1lbnQgaW5zdGFuY2VvZiBXZWJJbnNwZWN0b3IuRnJhbWVUcmVlRWxlbWVudCkKLSAg
ICAgICAgICAgICAgICByZXR1cm4gc2VsZWN0ZWRTY29wZUJhckl0ZW0uX19yZXNvdXJjZVR5cGUg
PT09IFdlYkluc3BlY3Rvci5SZXNvdXJjZS5UeXBlLkRvY3VtZW50OworICAgICAgICAgICAgICAg
IHJldHVybiBzZWxlY3RlZFNjb3BlQmFySXRlbVtXZWJJbnNwZWN0b3IuTmV0d29ya1NpZGViYXJQ
YW5lbC5SZXNvdXJjZVR5cGVTeW1ib2xdID09PSBXZWJJbnNwZWN0b3IuUmVzb3VyY2UuVHlwZS5E
b2N1bWVudDsKIAogICAgICAgICAgICAgY29uc29sZS5hc3NlcnQodHJlZUVsZW1lbnQgaW5zdGFu
Y2VvZiBXZWJJbnNwZWN0b3IuUmVzb3VyY2VUcmVlRWxlbWVudCwgIlVua25vd24gdHJlZUVsZW1l
bnQiLCB0cmVlRWxlbWVudCk7CiAgICAgICAgICAgICBpZiAoISh0cmVlRWxlbWVudCBpbnN0YW5j
ZW9mIFdlYkluc3BlY3Rvci5SZXNvdXJjZVRyZWVFbGVtZW50KSkKICAgICAgICAgICAgICAgICBy
ZXR1cm4gZmFsc2U7CiAKLSAgICAgICAgICAgIHJldHVybiB0cmVlRWxlbWVudC5yZXNvdXJjZS50
eXBlID09PSBzZWxlY3RlZFNjb3BlQmFySXRlbS5fX3Jlc291cmNlVHlwZTsKKyAgICAgICAgICAg
IHJldHVybiB0cmVlRWxlbWVudC5yZXNvdXJjZS50eXBlID09PSBzZWxlY3RlZFNjb3BlQmFySXRl
bVtXZWJJbnNwZWN0b3IuTmV0d29ya1NpZGViYXJQYW5lbC5SZXNvdXJjZVR5cGVTeW1ib2xdOwog
ICAgICAgICB9CiAKICAgICAgICAgdmFyIG1hdGNoZWQgPSBtYXRjaCgpOwpAQCAtMTY0LDcgKzE2
NCw3IEBAIFdlYkluc3BlY3Rvci5OZXR3b3JrU2lkZWJhclBhbmVsID0gY2xhc3MgTmV0d29ya1Np
ZGViYXJQYW5lbCBleHRlbmRzIFdlYkluc3BlY3RvCiAgICAgICAgIGZyYWdtZW50LmFwcGVuZENo
aWxkKGNsb3NlQnV0dG9uLmVsZW1lbnQpOwogCiAgICAgICAgIHZhciBnb1RvQnV0dG9uID0gbmV3
IFdlYkluc3BlY3Rvci5UcmVlRWxlbWVudFN0YXR1c0J1dHRvbihXZWJJbnNwZWN0b3IuY3JlYXRl
R29Ub0Fycm93QnV0dG9uKCkpOwotICAgICAgICBnb1RvQnV0dG9uLl9fdHJlZUVsZW1lbnQgPSB0
cmVlRWxlbWVudDsKKyAgICAgICAgZ29Ub0J1dHRvbltXZWJJbnNwZWN0b3IuTmV0d29ya1NpZGVi
YXJQYW5lbC5UcmVlRWxlbWVudFN5bWJvbF0gPSB0cmVlRWxlbWVudDsKICAgICAgICAgZ29Ub0J1
dHRvbi5hZGRFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5UcmVlRWxlbWVudFN0YXR1c0J1dHRv
bi5FdmVudC5DbGlja2VkLCB0aGlzLl90cmVlRWxlbWVudEdvVG9BcnJvd1dhc0NsaWNrZWQsIHRo
aXMpOwogICAgICAgICBmcmFnbWVudC5hcHBlbmRDaGlsZChnb1RvQnV0dG9uLmVsZW1lbnQpOwog
CkBAIC0xODksNyArMTg5LDcgQEAgV2ViSW5zcGVjdG9yLk5ldHdvcmtTaWRlYmFyUGFuZWwgPSBj
bGFzcyBOZXR3b3JrU2lkZWJhclBhbmVsIGV4dGVuZHMgV2ViSW5zcGVjdG8KICAgICB7CiAgICAg
ICAgIHRoaXMuX2NsaWNrZWRUcmVlRWxlbWVudEdvVG9BcnJvdyA9IHRydWU7CiAKLSAgICAgICAg
dmFyIHRyZWVFbGVtZW50ID0gZXZlbnQudGFyZ2V0Ll9fdHJlZUVsZW1lbnQ7CisgICAgICAgIGxl
dCB0cmVlRWxlbWVudCA9IGV2ZW50LnRhcmdldFtXZWJJbnNwZWN0b3IuTmV0d29ya1NpZGViYXJQ
YW5lbC5UcmVlRWxlbWVudFN5bWJvbF07CiAgICAgICAgIGNvbnNvbGUuYXNzZXJ0KHRyZWVFbGVt
ZW50IGluc3RhbmNlb2YgV2ViSW5zcGVjdG9yLlRyZWVFbGVtZW50KTsKIAogICAgICAgICB0cmVl
RWxlbWVudC5zZWxlY3QodHJ1ZSwgdHJ1ZSk7CkBAIC0yMTQsNCArMjE0LDcgQEAgV2ViSW5zcGVj
dG9yLk5ldHdvcmtTaWRlYmFyUGFuZWwgPSBjbGFzcyBOZXR3b3JrU2lkZWJhclBhbmVsIGV4dGVu
ZHMgV2ViSW5zcGVjdG8KICAgICB9CiB9OwogCitXZWJJbnNwZWN0b3IuTmV0d29ya1NpZGViYXJQ
YW5lbC5SZXNvdXJjZVR5cGVTeW1ib2wgPSBTeW1ib2woInJlc291cmNlLXR5cGUiKTsKK1dlYklu
c3BlY3Rvci5OZXR3b3JrU2lkZWJhclBhbmVsLlRyZWVFbGVtZW50U3ltYm9sID0gU3ltYm9sKCJ0
cmVlLWVsZW1lbnQiKTsKKwogV2ViSW5zcGVjdG9yLk5ldHdvcmtTaWRlYmFyUGFuZWwuU2hvd2lu
Z05ldHdvcmtHcmlkQ29udGVudFZpZXdDb29raWVLZXkgPSAibmV0d29yay1zaWRlYmFyLXBhbmVs
LXNob3dpbmctbmV0d29yay1ncmlkLWNvbnRlbnQtdmlldyI7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9SZXNvdXJjZVNpZGViYXJQYW5lbC5q
cyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1Jlc291cmNlU2lk
ZWJhclBhbmVsLmpzCmluZGV4IGFmZDBhN2E1MjhhYTAzMzY5ODVmODI5ZDRmN2Y4NjczMzliYjIx
NzMuLjU2ZTczMTIyNmM2ZDU1YTYwODUxNjE4ZjM2MWMzYzU2Yzg5YjEwOGUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1Jlc291cmNlU2lkZWJh
clBhbmVsLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdz
L1Jlc291cmNlU2lkZWJhclBhbmVsLmpzCkBAIC0zNCw3ICszNCw3IEBAIFdlYkluc3BlY3Rvci5S
ZXNvdXJjZVNpZGViYXJQYW5lbCA9IGNsYXNzIFJlc291cmNlU2lkZWJhclBhbmVsIGV4dGVuZHMg
V2ViSW5zcGVjCiAgICAgICAgIHRoaXMuZmlsdGVyQmFyLnBsYWNlaG9sZGVyID0gV2ViSW5zcGVj
dG9yLlVJU3RyaW5nKCJGaWx0ZXIgUmVzb3VyY2UgTGlzdCIpOwogCiAgICAgICAgIHRoaXMuX25h
dmlnYXRpb25CYXIgPSBuZXcgV2ViSW5zcGVjdG9yLk5hdmlnYXRpb25CYXI7Ci0gICAgICAgIHRo
aXMuZWxlbWVudC5hcHBlbmRDaGlsZCh0aGlzLl9uYXZpZ2F0aW9uQmFyLmVsZW1lbnQpOworICAg
ICAgICB0aGlzLmFkZFN1YnZpZXcodGhpcy5fbmF2aWdhdGlvbkJhcik7CiAKICAgICAgICAgdmFy
IHNjb3BlSXRlbVByZWZpeCA9ICJyZXNvdXJjZS1zaWRlYmFyLSI7CiAgICAgICAgIHZhciBzY29w
ZUJhckl0ZW1zID0gW107CkBAIC00NCw3ICs0NCw3IEBAIFdlYkluc3BlY3Rvci5SZXNvdXJjZVNp
ZGViYXJQYW5lbCA9IGNsYXNzIFJlc291cmNlU2lkZWJhclBhbmVsIGV4dGVuZHMgV2ViSW5zcGVj
CiAgICAgICAgIGZvciAodmFyIGtleSBpbiBXZWJJbnNwZWN0b3IuUmVzb3VyY2UuVHlwZSkgewog
ICAgICAgICAgICAgdmFyIHZhbHVlID0gV2ViSW5zcGVjdG9yLlJlc291cmNlLlR5cGVba2V5XTsK
ICAgICAgICAgICAgIHZhciBzY29wZUJhckl0ZW0gPSBuZXcgV2ViSW5zcGVjdG9yLlNjb3BlQmFy
SXRlbShzY29wZUl0ZW1QcmVmaXggKyB2YWx1ZSwgV2ViSW5zcGVjdG9yLlJlc291cmNlLmRpc3Bs
YXlOYW1lRm9yVHlwZSh2YWx1ZSwgdHJ1ZSkpOwotICAgICAgICAgICAgc2NvcGVCYXJJdGVtLl9f
cmVzb3VyY2VUeXBlID0gdmFsdWU7CisgICAgICAgICAgICBzY29wZUJhckl0ZW1bV2ViSW5zcGVj
dG9yLlJlc291cmNlU2lkZWJhclBhbmVsLlJlc291cmNlVHlwZVN5bWJvbF0gPSB2YWx1ZTsKICAg
ICAgICAgICAgIHNjb3BlQmFySXRlbXMucHVzaChzY29wZUJhckl0ZW0pOwogICAgICAgICB9CiAK
QEAgLTE5NywxNiArMTk3LDE2IEBAIFdlYkluc3BlY3Rvci5SZXNvdXJjZVNpZGViYXJQYW5lbCA9
IGNsYXNzIFJlc291cmNlU2lkZWJhclBhbmVsIGV4dGVuZHMgV2ViSW5zcGVjCiAgICAgICAgIGZ1
bmN0aW9uIG1hdGNoKCkKICAgICAgICAgewogICAgICAgICAgICAgaWYgKHRyZWVFbGVtZW50IGlu
c3RhbmNlb2YgV2ViSW5zcGVjdG9yLkZyYW1lVHJlZUVsZW1lbnQpCi0gICAgICAgICAgICAgICAg
cmV0dXJuIHNlbGVjdGVkU2NvcGVCYXJJdGVtLl9fcmVzb3VyY2VUeXBlID09PSBXZWJJbnNwZWN0
b3IuUmVzb3VyY2UuVHlwZS5Eb2N1bWVudDsKKyAgICAgICAgICAgICAgICByZXR1cm4gc2VsZWN0
ZWRTY29wZUJhckl0ZW1bV2ViSW5zcGVjdG9yLlJlc291cmNlU2lkZWJhclBhbmVsLlJlc291cmNl
VHlwZVN5bWJvbF0gPT09IFdlYkluc3BlY3Rvci5SZXNvdXJjZS5UeXBlLkRvY3VtZW50OwogCiAg
ICAgICAgICAgICBpZiAodHJlZUVsZW1lbnQgaW5zdGFuY2VvZiBXZWJJbnNwZWN0b3IuU2NyaXB0
VHJlZUVsZW1lbnQpCi0gICAgICAgICAgICAgICAgcmV0dXJuIHNlbGVjdGVkU2NvcGVCYXJJdGVt
Ll9fcmVzb3VyY2VUeXBlID09PSBXZWJJbnNwZWN0b3IuUmVzb3VyY2UuVHlwZS5TY3JpcHQ7Cisg
ICAgICAgICAgICAgICAgcmV0dXJuIHNlbGVjdGVkU2NvcGVCYXJJdGVtW1dlYkluc3BlY3Rvci5S
ZXNvdXJjZVNpZGViYXJQYW5lbC5SZXNvdXJjZVR5cGVTeW1ib2xdID09PSBXZWJJbnNwZWN0b3Iu
UmVzb3VyY2UuVHlwZS5TY3JpcHQ7CiAKICAgICAgICAgICAgIGNvbnNvbGUuYXNzZXJ0KHRyZWVF
bGVtZW50IGluc3RhbmNlb2YgV2ViSW5zcGVjdG9yLlJlc291cmNlVHJlZUVsZW1lbnQsICJVbmtu
b3duIHRyZWVFbGVtZW50IiwgdHJlZUVsZW1lbnQpOwogICAgICAgICAgICAgaWYgKCEodHJlZUVs
ZW1lbnQgaW5zdGFuY2VvZiBXZWJJbnNwZWN0b3IuUmVzb3VyY2VUcmVlRWxlbWVudCkpCiAgICAg
ICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0gICAgICAgICAgICByZXR1cm4gdHJlZUVsZW1l
bnQucmVzb3VyY2UudHlwZSA9PT0gc2VsZWN0ZWRTY29wZUJhckl0ZW0uX19yZXNvdXJjZVR5cGU7
CisgICAgICAgICAgICByZXR1cm4gdHJlZUVsZW1lbnQucmVzb3VyY2UudHlwZSA9PT0gc2VsZWN0
ZWRTY29wZUJhckl0ZW1bV2ViSW5zcGVjdG9yLlJlc291cmNlU2lkZWJhclBhbmVsLlJlc291cmNl
VHlwZVN5bWJvbF07CiAgICAgICAgIH0KIAogICAgICAgICB2YXIgbWF0Y2hlZCA9IG1hdGNoKCk7
CkBAIC0zNzMsMyArMzczLDUgQEAgV2ViSW5zcGVjdG9yLlJlc291cmNlU2lkZWJhclBhbmVsID0g
Y2xhc3MgUmVzb3VyY2VTaWRlYmFyUGFuZWwgZXh0ZW5kcyBXZWJJbnNwZWMKICAgICAgICAgdGhp
cy51cGRhdGVGaWx0ZXIoKTsKICAgICB9CiB9OworCitXZWJJbnNwZWN0b3IuUmVzb3VyY2VTaWRl
YmFyUGFuZWwuUmVzb3VyY2VUeXBlU3ltYm9sID0gU3ltYm9sKCJyZXNvdXJjZS10eXBlIik7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9TaWRl
YmFyLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvU2lkZWJh
ci5qcwppbmRleCBhNjQ1ZjkyMWZkMDc2Y2I5NDVmYTM5ZjY4NjlmY2ZhMTY2MTZjZjRjLi5hOTI5
N2JiZWMxYzI1ZWQyZjAzMjQzMWFlZjE1ZWQ2ZGJiNzFlMGNkIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9TaWRlYmFyLmpzCisrKyBiL1NvdXJj
ZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1NpZGViYXIuanMKQEAgLTIzLDM4
ICsyMywzOCBAQAogICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogICovCiAKLVdl
Ykluc3BlY3Rvci5TaWRlYmFyID0gY2xhc3MgU2lkZWJhciBleHRlbmRzIFdlYkluc3BlY3Rvci5P
YmplY3QKK1dlYkluc3BlY3Rvci5TaWRlYmFyID0gY2xhc3MgU2lkZWJhciBleHRlbmRzIFdlYklu
c3BlY3Rvci5WaWV3CiB7CiAgICAgY29uc3RydWN0b3IoZWxlbWVudCwgc2lkZSwgc2lkZWJhclBh
bmVscywgcm9sZSwgbGFiZWwsIGhhc05hdmlnYXRpb25CYXIpCiAgICAgewotICAgICAgICBzdXBl
cigpOworICAgICAgICBzdXBlcihlbGVtZW50KTsKIAogICAgICAgICBjb25zb2xlLmFzc2VydCgh
c2lkZSB8fCBzaWRlID09PSBXZWJJbnNwZWN0b3IuU2lkZWJhci5TaWRlcy5MZWZ0IHx8IHNpZGUg
PT09IFdlYkluc3BlY3Rvci5TaWRlYmFyLlNpZGVzLlJpZ2h0KTsKICAgICAgICAgdGhpcy5fc2lk
ZSA9IHNpZGUgfHwgV2ViSW5zcGVjdG9yLlNpZGViYXIuU2lkZXMuTGVmdDsKKyAgICAgICAgdGhp
cy5fY29sbGFwc2VkID0gdHJ1ZTsKIAotICAgICAgICB0aGlzLl9lbGVtZW50ID0gZWxlbWVudCB8
fCBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKLSAgICAgICAgdGhpcy5fZWxlbWVudC5j
bGFzc0xpc3QuYWRkKCJzaWRlYmFyIiwgdGhpcy5fc2lkZSwgV2ViSW5zcGVjdG9yLlNpZGViYXIu
Q29sbGFwc2VkU3R5bGVDbGFzc05hbWUpOworICAgICAgICB0aGlzLmVsZW1lbnQuY2xhc3NMaXN0
LmFkZCgic2lkZWJhciIsIHRoaXMuX3NpZGUsIFdlYkluc3BlY3Rvci5TaWRlYmFyLkNvbGxhcHNl
ZFN0eWxlQ2xhc3NOYW1lKTsKIAotICAgICAgICB0aGlzLl9lbGVtZW50LnNldEF0dHJpYnV0ZSgi
cm9sZSIsIHJvbGUgfHwgImdyb3VwIik7CisgICAgICAgIHRoaXMuZWxlbWVudC5zZXRBdHRyaWJ1
dGUoInJvbGUiLCByb2xlIHx8ICJncm91cCIpOwogICAgICAgICBpZiAobGFiZWwpCi0gICAgICAg
ICAgICB0aGlzLl9lbGVtZW50LnNldEF0dHJpYnV0ZSgiYXJpYS1sYWJlbCIsIGxhYmVsKTsKKyAg
ICAgICAgICAgIHRoaXMuZWxlbWVudC5zZXRBdHRyaWJ1dGUoImFyaWEtbGFiZWwiLCBsYWJlbCk7
CiAKICAgICAgICAgaWYgKGhhc05hdmlnYXRpb25CYXIpIHsKLSAgICAgICAgICAgIHRoaXMuX2Vs
ZW1lbnQuY2xhc3NMaXN0LmFkZCgiaGFzLW5hdmlnYXRpb24tYmFyIik7CisgICAgICAgICAgICB0
aGlzLmVsZW1lbnQuY2xhc3NMaXN0LmFkZCgiaGFzLW5hdmlnYXRpb24tYmFyIik7CiAKICAgICAg
ICAgICAgIHRoaXMuX25hdmlnYXRpb25CYXIgPSBuZXcgV2ViSW5zcGVjdG9yLk5hdmlnYXRpb25C
YXIobnVsbCwgbnVsbCwgInRhYmxpc3QiKTsKICAgICAgICAgICAgIHRoaXMuX25hdmlnYXRpb25C
YXIuYWRkRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuTmF2aWdhdGlvbkJhci5FdmVudC5OYXZp
Z2F0aW9uSXRlbVNlbGVjdGVkLCB0aGlzLl9uYXZpZ2F0aW9uSXRlbVNlbGVjdGVkLCB0aGlzKTsK
LSAgICAgICAgICAgIHRoaXMuX2VsZW1lbnQuYXBwZW5kQ2hpbGQodGhpcy5fbmF2aWdhdGlvbkJh
ci5lbGVtZW50KTsKKyAgICAgICAgICAgIHRoaXMuYWRkU3Vidmlldyh0aGlzLl9uYXZpZ2F0aW9u
QmFyKTsKICAgICAgICAgfQogCiAgICAgICAgIHRoaXMuX3Jlc2l6ZXIgPSBuZXcgV2ViSW5zcGVj
dG9yLlJlc2l6ZXIoV2ViSW5zcGVjdG9yLlJlc2l6ZXIuUnVsZU9yaWVudGF0aW9uLlZlcnRpY2Fs
LCB0aGlzKTsKLSAgICAgICAgdGhpcy5fZWxlbWVudC5pbnNlcnRCZWZvcmUodGhpcy5fcmVzaXpl
ci5lbGVtZW50LCB0aGlzLl9lbGVtZW50LmZpcnN0Q2hpbGQpOworICAgICAgICB0aGlzLmVsZW1l
bnQuaW5zZXJ0QmVmb3JlKHRoaXMuX3Jlc2l6ZXIuZWxlbWVudCwgdGhpcy5lbGVtZW50LmZpcnN0
Q2hpbGQpOwogCiAgICAgICAgIHRoaXMuX3NpZGViYXJQYW5lbHMgPSBbXTsKIAogICAgICAgICBp
ZiAoc2lkZWJhclBhbmVscykgewotICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBzaWRl
YmFyUGFuZWxzLmxlbmd0aDsgKytpKQotICAgICAgICAgICAgICAgIHRoaXMuYWRkU2lkZWJhclBh
bmVsKHNpZGViYXJQYW5lbHNbaV0pOworICAgICAgICAgICAgZm9yIChsZXQgc2lkZWJhclBhbmVs
IG9mIHNpZGViYXJQYW5lbHMpCisgICAgICAgICAgICAgICAgdGhpcy5hZGRTaWRlYmFyUGFuZWwo
c2lkZWJhclBhbmVsKTsKICAgICAgICAgfQogICAgIH0KIApAQCAtNzAsMTAgKzcwLDggQEAgV2Vi
SW5zcGVjdG9yLlNpZGViYXIgPSBjbGFzcyBTaWRlYmFyIGV4dGVuZHMgV2ViSW5zcGVjdG9yLk9i
amVjdAogICAgICAgICBpZiAoc2lkZWJhclBhbmVsLnBhcmVudFNpZGViYXIpCiAgICAgICAgICAg
ICByZXR1cm4gbnVsbDsKIAotICAgICAgICBzaWRlYmFyUGFuZWwuX3BhcmVudFNpZGViYXIgPSB0
aGlzOwotCiAgICAgICAgIHRoaXMuX3NpZGViYXJQYW5lbHMucHVzaChzaWRlYmFyUGFuZWwpOwot
ICAgICAgICB0aGlzLl9lbGVtZW50LmFwcGVuZENoaWxkKHNpZGViYXJQYW5lbC5lbGVtZW50KTsK
KyAgICAgICAgdGhpcy5hZGRTdWJ2aWV3KHNpZGViYXJQYW5lbCk7CiAKICAgICAgICAgaWYgKHRo
aXMuX25hdmlnYXRpb25CYXIpIHsKICAgICAgICAgICAgIGNvbnNvbGUuYXNzZXJ0KHNpZGViYXJQ
YW5lbC5uYXZpZ2F0aW9uSXRlbSk7CkBAIC05OCwxNSArOTYsMTMgQEAgV2ViSW5zcGVjdG9yLlNp
ZGViYXIgPSBjbGFzcyBTaWRlYmFyIGV4dGVuZHMgV2ViSW5zcGVjdG9yLk9iamVjdAogICAgICAg
ICAgICAgc2lkZWJhclBhbmVsLnZpc2liaWxpdHlEaWRDaGFuZ2UoKTsKICAgICAgICAgfQogCi0g
ICAgICAgIHNpZGViYXJQYW5lbC5fcGFyZW50U2lkZWJhciA9IG51bGw7Ci0KICAgICAgICAgaWYg
KHRoaXMuX3NlbGVjdGVkU2lkZWJhclBhbmVsID09PSBzaWRlYmFyUGFuZWwpIHsKICAgICAgICAg
ICAgIHZhciBpbmRleCA9IHRoaXMuX3NpZGViYXJQYW5lbHMuaW5kZXhPZihzaWRlYmFyUGFuZWwp
OwogICAgICAgICAgICAgdGhpcy5zZWxlY3RlZFNpZGViYXJQYW5lbCA9IHRoaXMuX3NpZGViYXJQ
YW5lbHNbaW5kZXggLSAxXSB8fCB0aGlzLl9zaWRlYmFyUGFuZWxzW2luZGV4ICsgMV0gfHwgbnVs
bDsKICAgICAgICAgfQogCiAgICAgICAgIHRoaXMuX3NpZGViYXJQYW5lbHMucmVtb3ZlKHNpZGVi
YXJQYW5lbCk7Ci0gICAgICAgIHRoaXMuX2VsZW1lbnQucmVtb3ZlQ2hpbGQoc2lkZWJhclBhbmVs
LmVsZW1lbnQpOworICAgICAgICB0aGlzLnJlbW92ZVN1YnZpZXcoc2lkZWJhclBhbmVsKTsKIAog
ICAgICAgICBpZiAodGhpcy5fbmF2aWdhdGlvbkJhcikgewogICAgICAgICAgICAgY29uc29sZS5h
c3NlcnQoc2lkZWJhclBhbmVsLm5hdmlnYXRpb25JdGVtKTsKQEAgLTE3Myw3ICsxNjksNyBAQCBX
ZWJJbnNwZWN0b3IuU2lkZWJhciA9IGNsYXNzIFNpZGViYXIgZXh0ZW5kcyBXZWJJbnNwZWN0b3Iu
T2JqZWN0CiAKICAgICBnZXQgd2lkdGgoKQogICAgIHsKLSAgICAgICAgcmV0dXJuIHRoaXMuX2Vs
ZW1lbnQub2Zmc2V0V2lkdGg7CisgICAgICAgIHJldHVybiB0aGlzLmVsZW1lbnQub2Zmc2V0V2lk
dGg7CiAgICAgfQogCiAgICAgc2V0IHdpZHRoKG5ld1dpZHRoKQpAQCAtMTgzLDcgKzE3OSw3IEBA
IFdlYkluc3BlY3Rvci5TaWRlYmFyID0gY2xhc3MgU2lkZWJhciBleHRlbmRzIFdlYkluc3BlY3Rv
ci5PYmplY3QKIAogICAgICAgICBuZXdXaWR0aCA9IE1hdGgubWF4KHRoaXMubWluaW11bVdpZHRo
LCBNYXRoLm1pbihuZXdXaWR0aCwgdGhpcy5tYXhpbXVtV2lkdGgpKTsKIAotICAgICAgICB0aGlz
Ll9lbGVtZW50LnN0eWxlLndpZHRoID0gbmV3V2lkdGggKyAicHgiOworICAgICAgICB0aGlzLmVs
ZW1lbnQuc3R5bGUud2lkdGggPSBuZXdXaWR0aCArICJweCI7CiAKICAgICAgICAgaWYgKCF0aGlz
LmNvbGxhcHNlZCAmJiB0aGlzLl9uYXZpZ2F0aW9uQmFyKQogICAgICAgICAgICAgdGhpcy5fbmF2
aWdhdGlvbkJhci51cGRhdGVMYXlvdXQoKTsKQEAgLTE5NiwxOCArMTkyLDE5IEBAIFdlYkluc3Bl
Y3Rvci5TaWRlYmFyID0gY2xhc3MgU2lkZWJhciBleHRlbmRzIFdlYkluc3BlY3Rvci5PYmplY3QK
IAogICAgIGdldCBjb2xsYXBzZWQoKQogICAgIHsKLSAgICAgICAgcmV0dXJuIHRoaXMuX2VsZW1l
bnQuY2xhc3NMaXN0LmNvbnRhaW5zKFdlYkluc3BlY3Rvci5TaWRlYmFyLkNvbGxhcHNlZFN0eWxl
Q2xhc3NOYW1lKTsKKyAgICAgICAgcmV0dXJuIHRoaXMuX2NvbGxhcHNlZDsKICAgICB9CiAKICAg
ICBzZXQgY29sbGFwc2VkKGZsYWcpCiAgICAgewotICAgICAgICBpZiAoZmxhZyA9PT0gdGhpcy5j
b2xsYXBzZWQpCisgICAgICAgIGlmIChmbGFnID09PSB0aGlzLl9jb2xsYXBzZWQpCiAgICAgICAg
ICAgICByZXR1cm47CiAKLSAgICAgICAgaWYgKGZsYWcpCi0gICAgICAgICAgICB0aGlzLl9lbGVt
ZW50LmNsYXNzTGlzdC5hZGQoV2ViSW5zcGVjdG9yLlNpZGViYXIuQ29sbGFwc2VkU3R5bGVDbGFz
c05hbWUpOworICAgICAgICB0aGlzLl9jb2xsYXBzZWQgPSBmbGFnOworICAgICAgICBpZiAodGhp
cy5fY29sbGFwc2VkKQorICAgICAgICAgICAgdGhpcy5lbGVtZW50LmNsYXNzTGlzdC5hZGQoV2Vi
SW5zcGVjdG9yLlNpZGViYXIuQ29sbGFwc2VkU3R5bGVDbGFzc05hbWUpOwogICAgICAgICBlbHNl
IHsKLSAgICAgICAgICAgIHRoaXMuX2VsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZShXZWJJbnNwZWN0
b3IuU2lkZWJhci5Db2xsYXBzZWRTdHlsZUNsYXNzTmFtZSk7CisgICAgICAgICAgICB0aGlzLmVs
ZW1lbnQuY2xhc3NMaXN0LnJlbW92ZShXZWJJbnNwZWN0b3IuU2lkZWJhci5Db2xsYXBzZWRTdHls
ZUNsYXNzTmFtZSk7CiAKICAgICAgICAgICAgIGlmICh0aGlzLl9uYXZpZ2F0aW9uQmFyKQogICAg
ICAgICAgICAgICAgIHRoaXMuX25hdmlnYXRpb25CYXIudXBkYXRlTGF5b3V0KCk7CkBAIC0yMzMs
MTEgKzIzMCw2IEBAIFdlYkluc3BlY3Rvci5TaWRlYmFyID0gY2xhc3MgU2lkZWJhciBleHRlbmRz
IFdlYkluc3BlY3Rvci5PYmplY3QKICAgICAgICAgcmV0dXJuIHRoaXMuX3NpZGViYXJQYW5lbHM7
CiAgICAgfQogCi0gICAgZ2V0IGVsZW1lbnQoKQotICAgIHsKLSAgICAgICAgcmV0dXJuIHRoaXMu
X2VsZW1lbnQ7Ci0gICAgfQotCiAgICAgZ2V0IHNpZGUoKQogICAgIHsKICAgICAgICAgcmV0dXJu
IHRoaXMuX3NpZGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVy
ZmFjZS9WaWV3cy9TaWRlYmFyUGFuZWwuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlcklu
dGVyZmFjZS9WaWV3cy9TaWRlYmFyUGFuZWwuanMKaW5kZXggN2E1NGYwYzZlMGYwOGQzYTFkYWI2
ZTBlMDg1ZTUwNTU4ZTYwZTQxMS4uZTIxZDA5NzI1ZWY2NDU2NzRkZDU5ODBhNjQzOTNmNWMyZmRh
MzkxNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmll
d3MvU2lkZWJhclBhbmVsLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJm
YWNlL1ZpZXdzL1NpZGViYXJQYW5lbC5qcwpAQCAtMjMsMjYgKzIzLDI2IEBACiAgKiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAgKi8KIAotV2ViSW5zcGVjdG9yLlNpZGViYXJQYW5l
bCA9IGNsYXNzIFNpZGViYXJQYW5lbCBleHRlbmRzIFdlYkluc3BlY3Rvci5PYmplY3QKK1dlYklu
c3BlY3Rvci5TaWRlYmFyUGFuZWwgPSBjbGFzcyBTaWRlYmFyUGFuZWwgZXh0ZW5kcyBXZWJJbnNw
ZWN0b3IuVmlldwogewogICAgIGNvbnN0cnVjdG9yKGlkZW50aWZpZXIsIGRpc3BsYXlOYW1lLCBl
bGVtZW50LCByb2xlLCBsYWJlbCkKICAgICB7Ci0gICAgICAgIHN1cGVyKCk7CisgICAgICAgIHN1
cGVyKGVsZW1lbnQpOwogCiAgICAgICAgIHRoaXMuX2lkZW50aWZpZXIgPSBpZGVudGlmaWVyOwog
ICAgICAgICB0aGlzLl9kaXNwbGF5TmFtZSA9IGRpc3BsYXlOYW1lOworICAgICAgICB0aGlzLl9z
ZWxlY3RlZCA9IGZhbHNlOwogCiAgICAgICAgIHRoaXMuX3NhdmVkU2Nyb2xsUG9zaXRpb24gPSAw
OwogCi0gICAgICAgIHRoaXMuX2VsZW1lbnQgPSBlbGVtZW50IHx8IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoImRpdiIpOwotICAgICAgICB0aGlzLl9lbGVtZW50LmNsYXNzTGlzdC5hZGQoInBhbmVs
IiwgaWRlbnRpZmllcik7CisgICAgICAgIHRoaXMuZWxlbWVudC5jbGFzc0xpc3QuYWRkKCJwYW5l
bCIsIGlkZW50aWZpZXIpOwogCi0gICAgICAgIHRoaXMuX2VsZW1lbnQuc2V0QXR0cmlidXRlKCJy
b2xlIiwgcm9sZSB8fCAiZ3JvdXAiKTsKLSAgICAgICAgdGhpcy5fZWxlbWVudC5zZXRBdHRyaWJ1
dGUoImFyaWEtbGFiZWwiLCBsYWJlbCB8fCBkaXNwbGF5TmFtZSk7CisgICAgICAgIHRoaXMuZWxl
bWVudC5zZXRBdHRyaWJ1dGUoInJvbGUiLCByb2xlIHx8ICJncm91cCIpOworICAgICAgICB0aGlz
LmVsZW1lbnQuc2V0QXR0cmlidXRlKCJhcmlhLWxhYmVsIiwgbGFiZWwgfHwgZGlzcGxheU5hbWUp
OwogCiAgICAgICAgIHRoaXMuX2NvbnRlbnRFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgiZGl2Iik7CiAgICAgICAgIHRoaXMuX2NvbnRlbnRFbGVtZW50LmNsYXNzTmFtZSA9ICJjb250
ZW50IjsKLSAgICAgICAgdGhpcy5fZWxlbWVudC5hcHBlbmRDaGlsZCh0aGlzLl9jb250ZW50RWxl
bWVudCk7CisgICAgICAgIHRoaXMuZWxlbWVudC5hcHBlbmRDaGlsZCh0aGlzLl9jb250ZW50RWxl
bWVudCk7CiAgICAgfQogCiAgICAgLy8gUHVibGljCkBAIC01MiwxMSArNTIsNiBAQCBXZWJJbnNw
ZWN0b3IuU2lkZWJhclBhbmVsID0gY2xhc3MgU2lkZWJhclBhbmVsIGV4dGVuZHMgV2ViSW5zcGVj
dG9yLk9iamVjdAogICAgICAgICByZXR1cm4gdGhpcy5faWRlbnRpZmllcjsKICAgICB9CiAKLSAg
ICBnZXQgZWxlbWVudCgpCi0gICAgewotICAgICAgICByZXR1cm4gdGhpcy5fZWxlbWVudDsKLSAg
ICB9Ci0KICAgICBnZXQgY29udGVudEVsZW1lbnQoKQogICAgIHsKICAgICAgICAgcmV0dXJuIHRo
aXMuX2NvbnRlbnRFbGVtZW50OwpAQCAtNjQsNDMgKzU5LDQ0IEBAIFdlYkluc3BlY3Rvci5TaWRl
YmFyUGFuZWwgPSBjbGFzcyBTaWRlYmFyUGFuZWwgZXh0ZW5kcyBXZWJJbnNwZWN0b3IuT2JqZWN0
CiAKICAgICBnZXQgdmlzaWJsZSgpCiAgICAgewotICAgICAgICByZXR1cm4gdGhpcy5zZWxlY3Rl
ZCAmJiB0aGlzLl9wYXJlbnRTaWRlYmFyICYmICF0aGlzLl9wYXJlbnRTaWRlYmFyLmNvbGxhcHNl
ZDsKKyAgICAgICAgcmV0dXJuIHRoaXMuc2VsZWN0ZWQgJiYgdGhpcy5wYXJlbnRTaWRlYmFyICYm
ICF0aGlzLnBhcmVudFNpZGViYXIuY29sbGFwc2VkOwogICAgIH0KIAogICAgIGdldCBzZWxlY3Rl
ZCgpCiAgICAgewotICAgICAgICByZXR1cm4gdGhpcy5fZWxlbWVudC5jbGFzc0xpc3QuY29udGFp
bnMoV2ViSW5zcGVjdG9yLlNpZGViYXJQYW5lbC5TZWxlY3RlZFN0eWxlQ2xhc3NOYW1lKTsKKyAg
ICAgICAgcmV0dXJuIHRoaXMuX3NlbGVjdGVkOwogICAgIH0KIAogICAgIHNldCBzZWxlY3RlZChm
bGFnKQogICAgIHsKLSAgICAgICAgaWYgKGZsYWcpCi0gICAgICAgICAgICB0aGlzLl9lbGVtZW50
LmNsYXNzTGlzdC5hZGQoV2ViSW5zcGVjdG9yLlNpZGViYXJQYW5lbC5TZWxlY3RlZFN0eWxlQ2xh
c3NOYW1lKTsKLSAgICAgICAgZWxzZQotICAgICAgICAgICAgdGhpcy5fZWxlbWVudC5jbGFzc0xp
c3QucmVtb3ZlKFdlYkluc3BlY3Rvci5TaWRlYmFyUGFuZWwuU2VsZWN0ZWRTdHlsZUNsYXNzTmFt
ZSk7CisgICAgICAgIGlmIChmbGFnID09PSB0aGlzLl9zZWxlY3RlZCkKKyAgICAgICAgICAgIHJl
dHVybjsKKworICAgICAgICB0aGlzLl9zZWxlY3RlZCA9IGZsYWc7CisgICAgICAgIHRoaXMuZWxl
bWVudC5jbGFzc0xpc3QudG9nZ2xlKCJzZWxlY3RlZCIpOwogICAgIH0KIAogICAgIGdldCBwYXJl
bnRTaWRlYmFyKCkKICAgICB7Ci0gICAgICAgIHJldHVybiB0aGlzLl9wYXJlbnRTaWRlYmFyOwor
ICAgICAgICByZXR1cm4gdGhpcy5wYXJlbnRWaWV3OwogICAgIH0KIAogICAgIHNob3coKQogICAg
IHsKLSAgICAgICAgaWYgKCF0aGlzLl9wYXJlbnRTaWRlYmFyKQorICAgICAgICBpZiAoIXRoaXMu
cGFyZW50U2lkZWJhcikKICAgICAgICAgICAgIHJldHVybjsKIAotICAgICAgICB0aGlzLl9wYXJl
bnRTaWRlYmFyLmNvbGxhcHNlZCA9IGZhbHNlOwotICAgICAgICB0aGlzLl9wYXJlbnRTaWRlYmFy
LnNlbGVjdGVkU2lkZWJhclBhbmVsID0gdGhpczsKKyAgICAgICAgdGhpcy5wYXJlbnRTaWRlYmFy
LmNvbGxhcHNlZCA9IGZhbHNlOworICAgICAgICB0aGlzLnBhcmVudFNpZGViYXIuc2VsZWN0ZWRT
aWRlYmFyUGFuZWwgPSB0aGlzOwogICAgIH0KIAogICAgIGhpZGUoKQogICAgIHsKLSAgICAgICAg
aWYgKCF0aGlzLl9wYXJlbnRTaWRlYmFyKQorICAgICAgICBpZiAoIXRoaXMucGFyZW50U2lkZWJh
cikKICAgICAgICAgICAgIHJldHVybjsKIAotICAgICAgICB0aGlzLl9wYXJlbnRTaWRlYmFyLmNv
bGxhcHNlZCA9IHRydWU7Ci0gICAgICAgIHRoaXMuX3BhcmVudFNpZGViYXIuc2VsZWN0ZWRTaWRl
YmFyUGFuZWwgPSBudWxsOworICAgICAgICB0aGlzLnBhcmVudFNpZGViYXIuY29sbGFwc2VkID0g
dHJ1ZTsKKyAgICAgICAgdGhpcy5wYXJlbnRTaWRlYmFyLnNlbGVjdGVkU2lkZWJhclBhbmVsID0g
bnVsbDsKICAgICB9CiAKICAgICB0b2dnbGUoKQpAQCAtMTEzLDE0ICsxMDksMTQgQEAgV2ViSW5z
cGVjdG9yLlNpZGViYXJQYW5lbCA9IGNsYXNzIFNpZGViYXJQYW5lbCBleHRlbmRzIFdlYkluc3Bl
Y3Rvci5PYmplY3QKIAogICAgIGFkZGVkKCkKICAgICB7Ci0gICAgICAgIGNvbnNvbGUuYXNzZXJ0
KHRoaXMuX3BhcmVudFNpZGViYXIpOworICAgICAgICBjb25zb2xlLmFzc2VydCh0aGlzLnBhcmVu
dFNpZGViYXIpOwogCiAgICAgICAgIC8vIEltcGxlbWVudGVkIGJ5IHN1YmNsYXNzZXMuCiAgICAg
fQogCiAgICAgcmVtb3ZlZCgpCiAgICAgewotICAgICAgICBjb25zb2xlLmFzc2VydCghdGhpcy5f
cGFyZW50U2lkZWJhcik7CisgICAgICAgIGNvbnNvbGUuYXNzZXJ0KCF0aGlzLnBhcmVudFNpZGVi
YXIpOwogCiAgICAgICAgIC8vIEltcGxlbWVudGVkIGJ5IHN1YmNsYXNzZXMuCiAgICAgfQpAQCAt
MTU0LDUgKzE1MCwzIEBAIFdlYkluc3BlY3Rvci5TaWRlYmFyUGFuZWwgPSBjbGFzcyBTaWRlYmFy
UGFuZWwgZXh0ZW5kcyBXZWJJbnNwZWN0b3IuT2JqZWN0CiAgICAgICAgIC8vIEltcGxlbWVudGVk
IGJ5IHN1YmNsYXNzZXMuCiAgICAgfQogfTsKLQotV2ViSW5zcGVjdG9yLlNpZGViYXJQYW5lbC5T
ZWxlY3RlZFN0eWxlQ2xhc3NOYW1lID0gInNlbGVjdGVkIjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1N0b3JhZ2VTaWRlYmFyUGFuZWwuanMg
Yi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9TdG9yYWdlU2lkZWJh
clBhbmVsLmpzCmluZGV4IDNhZGM2NGRmYzM4OGIyODA5MWNhYzgyMTUyYzM2ZDVhODBiOGQ0NDUu
LjYwMzY5OGRiZWE5OWIyOTA4N2JjOTk3ZDhkMjljYjQ0NTQ2NTFhODQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1N0b3JhZ2VTaWRlYmFyUGFu
ZWwuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvU3Rv
cmFnZVNpZGViYXJQYW5lbC5qcwpAQCAtMzQsNyArMzQsNyBAQCBXZWJJbnNwZWN0b3IuU3RvcmFn
ZVNpZGViYXJQYW5lbCA9IGNsYXNzIFN0b3JhZ2VTaWRlYmFyUGFuZWwgZXh0ZW5kcyBXZWJJbnNw
ZWN0bwogICAgICAgICB0aGlzLmZpbHRlckJhci5wbGFjZWhvbGRlciA9IFdlYkluc3BlY3Rvci5V
SVN0cmluZygiRmlsdGVyIFN0b3JhZ2UgTGlzdCIpOwogCiAgICAgICAgIHRoaXMuX25hdmlnYXRp
b25CYXIgPSBuZXcgV2ViSW5zcGVjdG9yLk5hdmlnYXRpb25CYXI7Ci0gICAgICAgIHRoaXMuZWxl
bWVudC5hcHBlbmRDaGlsZCh0aGlzLl9uYXZpZ2F0aW9uQmFyLmVsZW1lbnQpOworICAgICAgICB0
aGlzLmFkZFN1YnZpZXcodGhpcy5fbmF2aWdhdGlvbkJhcik7CiAKICAgICAgICAgdmFyIHNjb3Bl
SXRlbVByZWZpeCA9ICJzdG9yYWdlLXNpZGViYXItIjsKICAgICAgICAgdmFyIHNjb3BlQmFySXRl
bXMgPSBbXTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>265317</attachid>
            <date>2015-11-11 14:08:18 -0800</date>
            <delta_ts>2015-11-11 14:57:41 -0800</delta_ts>
            <desc>[Patch] Proposed Fix</desc>
            <filename>bug-151057-20151111140814.patch</filename>
            <type>text/plain</type>
            <size>22595</size>
            <attacher name="Matt Baker">mattbaker</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTkyMzIzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZwppbmRleCBl
NzljYjFjNTc0MDlkN2E4MWUzMTE0OWEwZGQ3NzRhMDZhZTQ1YThiLi4wNGJmNGNkZGY0MGQyMTI5
MjQzN2VjOTg0OTA4MGQ0OTE0YzFkZjM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw2NyBAQAorMjAxNS0xMS0xMSAgTWF0dCBCYWtlciAgPG1hdHRiYWtlckBhcHBsZS5jb20+
CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogQ29udmVydCBzaWRlYmFycyB0byB1c2UgVmlldyBi
YXNlIGNsYXNzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xNTEwNTcKKworICAgICAgICBSZXZpZXdlZCBieSBUaW1vdGh5IEhhdGNoZXIuCisKKyAgICAg
ICAgVGhpcyBwYXRjaCBtYWtlcyBTaWRlYmFyIGEgc3ViY2xhc3Mgb2YgVmlldy4gTW9zdGx5IG1l
Y2hhbmljYWwgY2hhbmdlcyBhbmQgY2xlYW51cCwKKyAgICAgICAgc3VjaCBhcyBhZGRpbmcgbmF2
aWdhdGlvbiBiYXJzIGFuZCBwYW5lbHMgYXMgc3Vidmlld3MsIHJlbW92aW5nIGVsZW1lbnQgZ2V0
dGVycywKKyAgICAgICAgYW5kIHJlcGxhY2luZyBleHRlcm5hbCBwcm9wZXJ0aWVzIHdpdGggc3lt
Ym9scy4KKworICAgICAgICAqIFVzZXJJbnRlcmZhY2UvQmFzZS9NYWluLmpzOgorICAgICAgICBB
ZGRlZCBzaWRlYmFycyB0byB2aWV3IGhpZXJhcmNoeS4KKworICAgICAgICAqIFVzZXJJbnRlcmZh
Y2UvVmlld3MvRGVidWdnZXJTaWRlYmFyUGFuZWwuanM6CisgICAgICAgIEFkZCBuYXZpZ2F0aW9u
IGJhciBhcyBhIHN1YnZpZXcuCisKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL05ldHdv
cmtTaWRlYmFyUGFuZWwuanM6CisgICAgICAgIEFkZCBuYXZpZ2F0aW9uIGJhciBhcyBhIHN1YnZp
ZXcuCisgICAgICAgIChXZWJJbnNwZWN0b3IuTmV0d29ya1NpZGViYXJQYW5lbCk6CisgICAgICAg
IChXZWJJbnNwZWN0b3IuTmV0d29ya1NpZGViYXJQYW5lbC5wcm90b3R5cGUubWF0Y2hUcmVlRWxl
bWVudEFnYWluc3RDdXN0b21GaWx0ZXJzLm1hdGNoKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5O
ZXR3b3JrU2lkZWJhclBhbmVsLnByb3RvdHlwZS5tYXRjaFRyZWVFbGVtZW50QWdhaW5zdEN1c3Rv
bUZpbHRlcnMpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLk5ldHdvcmtTaWRlYmFyUGFuZWwucHJv
dG90eXBlLnRyZWVFbGVtZW50QWRkZWRPckNoYW5nZWQpOgorICAgICAgICAoV2ViSW5zcGVjdG9y
Lk5ldHdvcmtTaWRlYmFyUGFuZWwucHJvdG90eXBlLl90cmVlRWxlbWVudEdvVG9BcnJvd1dhc0Ns
aWNrZWQpOgorICAgICAgICBFeHRlcm5hbCBwcm9wZXJ0aWVzIHJlcGxhY2VkIHdpdGggc3ltYm9s
cy4KKworICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvUmVzb3VyY2VTaWRlYmFyUGFuZWwu
anM6CisgICAgICAgIEFkZCBuYXZpZ2F0aW9uIGJhciBhcyBhIHN1YnZpZXcuCisgICAgICAgIChX
ZWJJbnNwZWN0b3IuUmVzb3VyY2VTaWRlYmFyUGFuZWwpOgorICAgICAgICAoV2ViSW5zcGVjdG9y
LlJlc291cmNlU2lkZWJhclBhbmVsLnByb3RvdHlwZS5tYXRjaFRyZWVFbGVtZW50QWdhaW5zdEN1
c3RvbUZpbHRlcnMubWF0Y2gpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlJlc291cmNlU2lkZWJh
clBhbmVsLnByb3RvdHlwZS5tYXRjaFRyZWVFbGVtZW50QWdhaW5zdEN1c3RvbUZpbHRlcnMpOgor
ICAgICAgICBFeHRlcm5hbCBwcm9wZXJ0aWVzIHJlcGxhY2VkIHdpdGggc3ltYm9scy4KKworICAg
ICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvU2lkZWJhci5qczoKKyAgICAgICAgKFdlYkluc3Bl
Y3Rvci5TaWRlYmFyKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5TaWRlYmFyLnByb3RvdHlwZS5h
ZGRTaWRlYmFyUGFuZWwpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlNpZGViYXIucHJvdG90eXBl
LnJlbW92ZVNpZGViYXJQYW5lbCk6CisgICAgICAgIFBhbmVscyBhcmUgbm93IGFkZGVkIGFuZCBy
ZW1vdmVkIGFzIHN1YnZpZXdzLgorICAgICAgICAoV2ViSW5zcGVjdG9yLlNpZGViYXIucHJvdG90
eXBlLmdldCB3aWR0aCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuU2lkZWJhci5wcm90b3R5cGUu
c2V0IHdpZHRoKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5TaWRlYmFyLnByb3RvdHlwZS5nZXQg
Y29sbGFwc2VkKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5TaWRlYmFyLnByb3RvdHlwZS5zZXQg
Y29sbGFwc2VkKToKKyAgICAgICAgImNvbGxhcHNlZCIgcHJvcGVydHkgbm93IGJhY2tlZCBieSBw
cml2YXRlIGNsYXNzIHZhcmlhYmxlLCBub3QgRE9NIHN0YXRlLgorICAgICAgICAoV2ViSW5zcGVj
dG9yLlNpZGViYXIucHJvdG90eXBlLmdldCBlbGVtZW50KTogRGVsZXRlZC4KKworICAgICAgICAq
IFVzZXJJbnRlcmZhY2UvVmlld3MvU2lkZWJhclBhbmVsLmpzOgorICAgICAgICAoV2ViSW5zcGVj
dG9yLlNpZGViYXJQYW5lbCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuU2lkZWJhclBhbmVsLnBy
b3RvdHlwZS5nZXQgdmlzaWJsZSk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuU2lkZWJhclBhbmVs
LnByb3RvdHlwZS5nZXQgc2VsZWN0ZWQpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlNpZGViYXJQ
YW5lbC5wcm90b3R5cGUuc2V0IHNlbGVjdGVkKToKKyAgICAgICAgInNlbGVjdGVkIiBwcm9wZXJ0
eSBub3cgYmFja2VkIGJ5IHByaXZhdGUgY2xhc3MgdmFyaWFibGUsIG5vdCBET00gc3RhdGUuCisg
ICAgICAgIChXZWJJbnNwZWN0b3IuU2lkZWJhclBhbmVsLnByb3RvdHlwZS5nZXQgcGFyZW50U2lk
ZWJhcik6CisgICAgICAgIE5vIGxvbmdlciBzdG9yZWQgYXMgc2VwYXJhdGUgcHJvcGVydHkuIFdy
YXBwZXIgYXJvdW5kIFZpZXcucHJvdG90eXBlLnBhcmVudFZpZXcuCisgICAgICAgIE9yaWdpbmFs
IGdldHRlciByZXRhaW5lZCBmb3IgY2xhcml0eS4KKyAgICAgICAgKFdlYkluc3BlY3Rvci5TaWRl
YmFyUGFuZWwucHJvdG90eXBlLnNob3cpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlNpZGViYXJQ
YW5lbC5wcm90b3R5cGUuaGlkZSk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuU2lkZWJhclBhbmVs
LnByb3RvdHlwZS5hZGRlZCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuU2lkZWJhclBhbmVsLnBy
b3RvdHlwZS5yZW1vdmVkKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5TaWRlYmFyUGFuZWwucHJv
dG90eXBlLmdldCBlbGVtZW50KTogRGVsZXRlZC4KKworICAgICAgICAqIFVzZXJJbnRlcmZhY2Uv
Vmlld3MvU3RvcmFnZVNpZGViYXJQYW5lbC5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5TdG9y
YWdlU2lkZWJhclBhbmVsKToKKyAgICAgICAgQWRkIG5hdmlnYXRpb24gYmFyIGFzIGEgc3Vidmll
dy4KKwogMjAxNS0xMS0xMCAgTWF0dCBCYWtlciAgPG1hdHRiYWtlckBhcHBsZS5jb20+CiAKICAg
ICAgICAgV2ViIEluc3BlY3RvcjogRW5hYmxlL2Rpc2FibGUgQWxsIEJyZWFrcG9pbnRzIG5vdCB1
c2FibGUgd2hlbiAiTm8gRmlsdGVyIFJlc3VsdHMiIGRpc3BsYXllZApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQmFzZS9NYWluLmpzIGIvU291cmNlL1dl
Ykluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQmFzZS9NYWluLmpzCmluZGV4IDgwNWE4OTQxZThk
ZWJiNzE0Yzg3Yzk5MzQ5Y2Y2MmQ0MTNjZGI2NjYuLjU3ZTc5NzI0N2RhZWI1ZDg3MGRjZmViMGVm
MzU2Njk2ZWE4Yjg4NzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50
ZXJmYWNlL0Jhc2UvTWFpbi5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVy
ZmFjZS9CYXNlL01haW4uanMKQEAgLTEzNzksMTEgKzEzNzksMTEgQEAgV2ViSW5zcGVjdG9yLl9z
ZXR1cFZpZXdIaWVyYXJjaHkgPSBmdW5jdGlvbigpCiAgICAgbGV0IHJvb3RWaWV3ID0gbmV3IFdl
Ykluc3BlY3Rvci5WaWV3KGRvY3VtZW50LmJvZHkpOwogICAgIHJvb3RWaWV3LmFkZFN1YnZpZXco
dGhpcy50b29sYmFyKTsKICAgICByb290Vmlldy5hZGRTdWJ2aWV3KHRoaXMudGFiQmFyKTsKKyAg
ICByb290Vmlldy5hZGRTdWJ2aWV3KHRoaXMubmF2aWdhdGlvblNpZGViYXIpOwogICAgIHJvb3RW
aWV3LmFkZFN1YnZpZXcodGhpcy50YWJCcm93c2VyKTsKICAgICByb290Vmlldy5hZGRTdWJ2aWV3
KHRoaXMuc3BsaXRDb250ZW50QnJvd3Nlcik7CiAgICAgcm9vdFZpZXcuYWRkU3Vidmlldyh0aGlz
LnF1aWNrQ29uc29sZSk7Ci0KLSAgICAvLyBGSVhNRTogYWRkIG5hdmlnYXRpb24gYW5kIGRldGFp
bHMgc2lkZWJhcnMgdG8gdGhlIHRyZWUgb25jZSA8aHR0cHM6Ly93ZWJraXQub3JnL2IvMTUxMDU3
PiBpcyBmaXhlZC4KKyAgICByb290Vmlldy5hZGRTdWJ2aWV3KHRoaXMuZGV0YWlsc1NpZGViYXIp
OwogCiAgICAgcm9vdFZpZXcubWFrZVJvb3RWaWV3KCk7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvRGVidWdnZXJTaWRlYmFyUGFuZWwu
anMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9EZWJ1Z2dlclNp
ZGViYXJQYW5lbC5qcwppbmRleCA0Y2YwZGRiOWY2ODEyYzU5MDA4YTAyZWY2OWVjMWFmZmM1Y2Q5
ZjVlLi5iNThhYmQ4NDY4MTE1Y2ZjMjc0ODg5NTQ2YTY4ODJiYWFiZmU4MThlIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9EZWJ1Z2dlclNpZGVi
YXJQYW5lbC5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3
cy9EZWJ1Z2dlclNpZGViYXJQYW5lbC5qcwpAQCAtNDYsNyArNDYsNyBAQCBXZWJJbnNwZWN0b3Iu
RGVidWdnZXJTaWRlYmFyUGFuZWwgPSBjbGFzcyBEZWJ1Z2dlclNpZGViYXJQYW5lbCBleHRlbmRz
IFdlYkluc3BlYwogICAgICAgICBXZWJJbnNwZWN0b3IuZGVidWdnZXJNYW5hZ2VyLmFkZEV2ZW50
TGlzdGVuZXIoV2ViSW5zcGVjdG9yLkRlYnVnZ2VyTWFuYWdlci5FdmVudC5XYWl0aW5nVG9QYXVz
ZSwgdGhpcy5fZGVidWdnZXJXYWl0aW5nVG9QYXVzZSwgdGhpcyk7CiAKICAgICAgICAgdGhpcy5f
bmF2aWdhdGlvbkJhciA9IG5ldyBXZWJJbnNwZWN0b3IuTmF2aWdhdGlvbkJhcjsKLSAgICAgICAg
dGhpcy5lbGVtZW50LmFwcGVuZENoaWxkKHRoaXMuX25hdmlnYXRpb25CYXIuZWxlbWVudCk7Cisg
ICAgICAgIHRoaXMuYWRkU3Vidmlldyh0aGlzLl9uYXZpZ2F0aW9uQmFyKTsKIAogICAgICAgICB2
YXIgYnJlYWtwb2ludHNJbWFnZSA9IHtzcmM6ICJJbWFnZXMvQnJlYWtwb2ludHMuc3ZnIiwgd2lk
dGg6IDE1LCBoZWlnaHQ6IDE1fTsKICAgICAgICAgdmFyIHBhdXNlSW1hZ2UgPSB7c3JjOiAiSW1h
Z2VzL1BhdXNlLnN2ZyIsIHdpZHRoOiAxNSwgaGVpZ2h0OiAxNX07CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9OZXR3b3JrU2lkZWJhclBhbmVs
LmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvTmV0d29ya1Np
ZGViYXJQYW5lbC5qcwppbmRleCBhNjVkMTUwNTUyZDliZWJkN2E3MDA1NzE5ZGIyYWRhMTRmYTMw
MTY0Li4wNThiODkwOTU4YTc1Y2VmMGUyZjZkYjVmNjFhNDFmYmQ4YzQ5Y2QzIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9OZXR3b3JrU2lkZWJh
clBhbmVsLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdz
L05ldHdvcmtTaWRlYmFyUGFuZWwuanMKQEAgLTM0LDcgKzM0LDcgQEAgV2ViSW5zcGVjdG9yLk5l
dHdvcmtTaWRlYmFyUGFuZWwgPSBjbGFzcyBOZXR3b3JrU2lkZWJhclBhbmVsIGV4dGVuZHMgV2Vi
SW5zcGVjdG8KICAgICAgICAgdGhpcy5maWx0ZXJCYXIucGxhY2Vob2xkZXIgPSBXZWJJbnNwZWN0
b3IuVUlTdHJpbmcoIkZpbHRlciBSZXNvdXJjZSBMaXN0Iik7CiAKICAgICAgICAgdGhpcy5fbmF2
aWdhdGlvbkJhciA9IG5ldyBXZWJJbnNwZWN0b3IuTmF2aWdhdGlvbkJhcjsKLSAgICAgICAgdGhp
cy5lbGVtZW50LmFwcGVuZENoaWxkKHRoaXMuX25hdmlnYXRpb25CYXIuZWxlbWVudCk7CisgICAg
ICAgIHRoaXMuYWRkU3Vidmlldyh0aGlzLl9uYXZpZ2F0aW9uQmFyKTsKIAogICAgICAgICB0aGlz
Ll9yZXNvdXJjZXNUaXRsZUJhckVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYi
KTsKICAgICAgICAgdGhpcy5fcmVzb3VyY2VzVGl0bGVCYXJFbGVtZW50LnRleHRDb250ZW50ID0g
V2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJOYW1lIik7CkBAIC00OSw3ICs0OSw3IEBAIFdlYkluc3Bl
Y3Rvci5OZXR3b3JrU2lkZWJhclBhbmVsID0gY2xhc3MgTmV0d29ya1NpZGViYXJQYW5lbCBleHRl
bmRzIFdlYkluc3BlY3RvCiAgICAgICAgIGZvciAodmFyIGtleSBpbiBXZWJJbnNwZWN0b3IuUmVz
b3VyY2UuVHlwZSkgewogICAgICAgICAgICAgdmFyIHZhbHVlID0gV2ViSW5zcGVjdG9yLlJlc291
cmNlLlR5cGVba2V5XTsKICAgICAgICAgICAgIHZhciBzY29wZUJhckl0ZW0gPSBuZXcgV2ViSW5z
cGVjdG9yLlNjb3BlQmFySXRlbShzY29wZUl0ZW1QcmVmaXggKyB2YWx1ZSwgV2ViSW5zcGVjdG9y
LlJlc291cmNlLmRpc3BsYXlOYW1lRm9yVHlwZSh2YWx1ZSwgdHJ1ZSkpOwotICAgICAgICAgICAg
c2NvcGVCYXJJdGVtLl9fcmVzb3VyY2VUeXBlID0gdmFsdWU7CisgICAgICAgICAgICBzY29wZUJh
ckl0ZW1bV2ViSW5zcGVjdG9yLk5ldHdvcmtTaWRlYmFyUGFuZWwuUmVzb3VyY2VUeXBlU3ltYm9s
XSA9IHZhbHVlOwogICAgICAgICAgICAgc2NvcGVCYXJJdGVtcy5wdXNoKHNjb3BlQmFySXRlbSk7
CiAgICAgICAgIH0KIApAQCAtMTM2LDEzICsxMzYsMTMgQEAgV2ViSW5zcGVjdG9yLk5ldHdvcmtT
aWRlYmFyUGFuZWwgPSBjbGFzcyBOZXR3b3JrU2lkZWJhclBhbmVsIGV4dGVuZHMgV2ViSW5zcGVj
dG8KICAgICAgICAgZnVuY3Rpb24gbWF0Y2goKQogICAgICAgICB7CiAgICAgICAgICAgICBpZiAo
dHJlZUVsZW1lbnQgaW5zdGFuY2VvZiBXZWJJbnNwZWN0b3IuRnJhbWVUcmVlRWxlbWVudCkKLSAg
ICAgICAgICAgICAgICByZXR1cm4gc2VsZWN0ZWRTY29wZUJhckl0ZW0uX19yZXNvdXJjZVR5cGUg
PT09IFdlYkluc3BlY3Rvci5SZXNvdXJjZS5UeXBlLkRvY3VtZW50OworICAgICAgICAgICAgICAg
IHJldHVybiBzZWxlY3RlZFNjb3BlQmFySXRlbVtXZWJJbnNwZWN0b3IuTmV0d29ya1NpZGViYXJQ
YW5lbC5SZXNvdXJjZVR5cGVTeW1ib2xdID09PSBXZWJJbnNwZWN0b3IuUmVzb3VyY2UuVHlwZS5E
b2N1bWVudDsKIAogICAgICAgICAgICAgY29uc29sZS5hc3NlcnQodHJlZUVsZW1lbnQgaW5zdGFu
Y2VvZiBXZWJJbnNwZWN0b3IuUmVzb3VyY2VUcmVlRWxlbWVudCwgIlVua25vd24gdHJlZUVsZW1l
bnQiLCB0cmVlRWxlbWVudCk7CiAgICAgICAgICAgICBpZiAoISh0cmVlRWxlbWVudCBpbnN0YW5j
ZW9mIFdlYkluc3BlY3Rvci5SZXNvdXJjZVRyZWVFbGVtZW50KSkKICAgICAgICAgICAgICAgICBy
ZXR1cm4gZmFsc2U7CiAKLSAgICAgICAgICAgIHJldHVybiB0cmVlRWxlbWVudC5yZXNvdXJjZS50
eXBlID09PSBzZWxlY3RlZFNjb3BlQmFySXRlbS5fX3Jlc291cmNlVHlwZTsKKyAgICAgICAgICAg
IHJldHVybiB0cmVlRWxlbWVudC5yZXNvdXJjZS50eXBlID09PSBzZWxlY3RlZFNjb3BlQmFySXRl
bVtXZWJJbnNwZWN0b3IuTmV0d29ya1NpZGViYXJQYW5lbC5SZXNvdXJjZVR5cGVTeW1ib2xdOwog
ICAgICAgICB9CiAKICAgICAgICAgdmFyIG1hdGNoZWQgPSBtYXRjaCgpOwpAQCAtMTY0LDcgKzE2
NCw3IEBAIFdlYkluc3BlY3Rvci5OZXR3b3JrU2lkZWJhclBhbmVsID0gY2xhc3MgTmV0d29ya1Np
ZGViYXJQYW5lbCBleHRlbmRzIFdlYkluc3BlY3RvCiAgICAgICAgIGZyYWdtZW50LmFwcGVuZENo
aWxkKGNsb3NlQnV0dG9uLmVsZW1lbnQpOwogCiAgICAgICAgIHZhciBnb1RvQnV0dG9uID0gbmV3
IFdlYkluc3BlY3Rvci5UcmVlRWxlbWVudFN0YXR1c0J1dHRvbihXZWJJbnNwZWN0b3IuY3JlYXRl
R29Ub0Fycm93QnV0dG9uKCkpOwotICAgICAgICBnb1RvQnV0dG9uLl9fdHJlZUVsZW1lbnQgPSB0
cmVlRWxlbWVudDsKKyAgICAgICAgZ29Ub0J1dHRvbltXZWJJbnNwZWN0b3IuTmV0d29ya1NpZGVi
YXJQYW5lbC5UcmVlRWxlbWVudFN5bWJvbF0gPSB0cmVlRWxlbWVudDsKICAgICAgICAgZ29Ub0J1
dHRvbi5hZGRFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5UcmVlRWxlbWVudFN0YXR1c0J1dHRv
bi5FdmVudC5DbGlja2VkLCB0aGlzLl90cmVlRWxlbWVudEdvVG9BcnJvd1dhc0NsaWNrZWQsIHRo
aXMpOwogICAgICAgICBmcmFnbWVudC5hcHBlbmRDaGlsZChnb1RvQnV0dG9uLmVsZW1lbnQpOwog
CkBAIC0xODksNyArMTg5LDcgQEAgV2ViSW5zcGVjdG9yLk5ldHdvcmtTaWRlYmFyUGFuZWwgPSBj
bGFzcyBOZXR3b3JrU2lkZWJhclBhbmVsIGV4dGVuZHMgV2ViSW5zcGVjdG8KICAgICB7CiAgICAg
ICAgIHRoaXMuX2NsaWNrZWRUcmVlRWxlbWVudEdvVG9BcnJvdyA9IHRydWU7CiAKLSAgICAgICAg
dmFyIHRyZWVFbGVtZW50ID0gZXZlbnQudGFyZ2V0Ll9fdHJlZUVsZW1lbnQ7CisgICAgICAgIGxl
dCB0cmVlRWxlbWVudCA9IGV2ZW50LnRhcmdldFtXZWJJbnNwZWN0b3IuTmV0d29ya1NpZGViYXJQ
YW5lbC5UcmVlRWxlbWVudFN5bWJvbF07CiAgICAgICAgIGNvbnNvbGUuYXNzZXJ0KHRyZWVFbGVt
ZW50IGluc3RhbmNlb2YgV2ViSW5zcGVjdG9yLlRyZWVFbGVtZW50KTsKIAogICAgICAgICB0cmVl
RWxlbWVudC5zZWxlY3QodHJ1ZSwgdHJ1ZSk7CkBAIC0yMTQsNCArMjE0LDcgQEAgV2ViSW5zcGVj
dG9yLk5ldHdvcmtTaWRlYmFyUGFuZWwgPSBjbGFzcyBOZXR3b3JrU2lkZWJhclBhbmVsIGV4dGVu
ZHMgV2ViSW5zcGVjdG8KICAgICB9CiB9OwogCitXZWJJbnNwZWN0b3IuTmV0d29ya1NpZGViYXJQ
YW5lbC5SZXNvdXJjZVR5cGVTeW1ib2wgPSBTeW1ib2woInJlc291cmNlLXR5cGUiKTsKK1dlYklu
c3BlY3Rvci5OZXR3b3JrU2lkZWJhclBhbmVsLlRyZWVFbGVtZW50U3ltYm9sID0gU3ltYm9sKCJ0
cmVlLWVsZW1lbnQiKTsKKwogV2ViSW5zcGVjdG9yLk5ldHdvcmtTaWRlYmFyUGFuZWwuU2hvd2lu
Z05ldHdvcmtHcmlkQ29udGVudFZpZXdDb29raWVLZXkgPSAibmV0d29yay1zaWRlYmFyLXBhbmVs
LXNob3dpbmctbmV0d29yay1ncmlkLWNvbnRlbnQtdmlldyI7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9SZXNvdXJjZVNpZGViYXJQYW5lbC5q
cyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1Jlc291cmNlU2lk
ZWJhclBhbmVsLmpzCmluZGV4IGFmZDBhN2E1MjhhYTAzMzY5ODVmODI5ZDRmN2Y4NjczMzliYjIx
NzMuLjU2ZTczMTIyNmM2ZDU1YTYwODUxNjE4ZjM2MWMzYzU2Yzg5YjEwOGUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1Jlc291cmNlU2lkZWJh
clBhbmVsLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdz
L1Jlc291cmNlU2lkZWJhclBhbmVsLmpzCkBAIC0zNCw3ICszNCw3IEBAIFdlYkluc3BlY3Rvci5S
ZXNvdXJjZVNpZGViYXJQYW5lbCA9IGNsYXNzIFJlc291cmNlU2lkZWJhclBhbmVsIGV4dGVuZHMg
V2ViSW5zcGVjCiAgICAgICAgIHRoaXMuZmlsdGVyQmFyLnBsYWNlaG9sZGVyID0gV2ViSW5zcGVj
dG9yLlVJU3RyaW5nKCJGaWx0ZXIgUmVzb3VyY2UgTGlzdCIpOwogCiAgICAgICAgIHRoaXMuX25h
dmlnYXRpb25CYXIgPSBuZXcgV2ViSW5zcGVjdG9yLk5hdmlnYXRpb25CYXI7Ci0gICAgICAgIHRo
aXMuZWxlbWVudC5hcHBlbmRDaGlsZCh0aGlzLl9uYXZpZ2F0aW9uQmFyLmVsZW1lbnQpOworICAg
ICAgICB0aGlzLmFkZFN1YnZpZXcodGhpcy5fbmF2aWdhdGlvbkJhcik7CiAKICAgICAgICAgdmFy
IHNjb3BlSXRlbVByZWZpeCA9ICJyZXNvdXJjZS1zaWRlYmFyLSI7CiAgICAgICAgIHZhciBzY29w
ZUJhckl0ZW1zID0gW107CkBAIC00NCw3ICs0NCw3IEBAIFdlYkluc3BlY3Rvci5SZXNvdXJjZVNp
ZGViYXJQYW5lbCA9IGNsYXNzIFJlc291cmNlU2lkZWJhclBhbmVsIGV4dGVuZHMgV2ViSW5zcGVj
CiAgICAgICAgIGZvciAodmFyIGtleSBpbiBXZWJJbnNwZWN0b3IuUmVzb3VyY2UuVHlwZSkgewog
ICAgICAgICAgICAgdmFyIHZhbHVlID0gV2ViSW5zcGVjdG9yLlJlc291cmNlLlR5cGVba2V5XTsK
ICAgICAgICAgICAgIHZhciBzY29wZUJhckl0ZW0gPSBuZXcgV2ViSW5zcGVjdG9yLlNjb3BlQmFy
SXRlbShzY29wZUl0ZW1QcmVmaXggKyB2YWx1ZSwgV2ViSW5zcGVjdG9yLlJlc291cmNlLmRpc3Bs
YXlOYW1lRm9yVHlwZSh2YWx1ZSwgdHJ1ZSkpOwotICAgICAgICAgICAgc2NvcGVCYXJJdGVtLl9f
cmVzb3VyY2VUeXBlID0gdmFsdWU7CisgICAgICAgICAgICBzY29wZUJhckl0ZW1bV2ViSW5zcGVj
dG9yLlJlc291cmNlU2lkZWJhclBhbmVsLlJlc291cmNlVHlwZVN5bWJvbF0gPSB2YWx1ZTsKICAg
ICAgICAgICAgIHNjb3BlQmFySXRlbXMucHVzaChzY29wZUJhckl0ZW0pOwogICAgICAgICB9CiAK
QEAgLTE5NywxNiArMTk3LDE2IEBAIFdlYkluc3BlY3Rvci5SZXNvdXJjZVNpZGViYXJQYW5lbCA9
IGNsYXNzIFJlc291cmNlU2lkZWJhclBhbmVsIGV4dGVuZHMgV2ViSW5zcGVjCiAgICAgICAgIGZ1
bmN0aW9uIG1hdGNoKCkKICAgICAgICAgewogICAgICAgICAgICAgaWYgKHRyZWVFbGVtZW50IGlu
c3RhbmNlb2YgV2ViSW5zcGVjdG9yLkZyYW1lVHJlZUVsZW1lbnQpCi0gICAgICAgICAgICAgICAg
cmV0dXJuIHNlbGVjdGVkU2NvcGVCYXJJdGVtLl9fcmVzb3VyY2VUeXBlID09PSBXZWJJbnNwZWN0
b3IuUmVzb3VyY2UuVHlwZS5Eb2N1bWVudDsKKyAgICAgICAgICAgICAgICByZXR1cm4gc2VsZWN0
ZWRTY29wZUJhckl0ZW1bV2ViSW5zcGVjdG9yLlJlc291cmNlU2lkZWJhclBhbmVsLlJlc291cmNl
VHlwZVN5bWJvbF0gPT09IFdlYkluc3BlY3Rvci5SZXNvdXJjZS5UeXBlLkRvY3VtZW50OwogCiAg
ICAgICAgICAgICBpZiAodHJlZUVsZW1lbnQgaW5zdGFuY2VvZiBXZWJJbnNwZWN0b3IuU2NyaXB0
VHJlZUVsZW1lbnQpCi0gICAgICAgICAgICAgICAgcmV0dXJuIHNlbGVjdGVkU2NvcGVCYXJJdGVt
Ll9fcmVzb3VyY2VUeXBlID09PSBXZWJJbnNwZWN0b3IuUmVzb3VyY2UuVHlwZS5TY3JpcHQ7Cisg
ICAgICAgICAgICAgICAgcmV0dXJuIHNlbGVjdGVkU2NvcGVCYXJJdGVtW1dlYkluc3BlY3Rvci5S
ZXNvdXJjZVNpZGViYXJQYW5lbC5SZXNvdXJjZVR5cGVTeW1ib2xdID09PSBXZWJJbnNwZWN0b3Iu
UmVzb3VyY2UuVHlwZS5TY3JpcHQ7CiAKICAgICAgICAgICAgIGNvbnNvbGUuYXNzZXJ0KHRyZWVF
bGVtZW50IGluc3RhbmNlb2YgV2ViSW5zcGVjdG9yLlJlc291cmNlVHJlZUVsZW1lbnQsICJVbmtu
b3duIHRyZWVFbGVtZW50IiwgdHJlZUVsZW1lbnQpOwogICAgICAgICAgICAgaWYgKCEodHJlZUVs
ZW1lbnQgaW5zdGFuY2VvZiBXZWJJbnNwZWN0b3IuUmVzb3VyY2VUcmVlRWxlbWVudCkpCiAgICAg
ICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0gICAgICAgICAgICByZXR1cm4gdHJlZUVsZW1l
bnQucmVzb3VyY2UudHlwZSA9PT0gc2VsZWN0ZWRTY29wZUJhckl0ZW0uX19yZXNvdXJjZVR5cGU7
CisgICAgICAgICAgICByZXR1cm4gdHJlZUVsZW1lbnQucmVzb3VyY2UudHlwZSA9PT0gc2VsZWN0
ZWRTY29wZUJhckl0ZW1bV2ViSW5zcGVjdG9yLlJlc291cmNlU2lkZWJhclBhbmVsLlJlc291cmNl
VHlwZVN5bWJvbF07CiAgICAgICAgIH0KIAogICAgICAgICB2YXIgbWF0Y2hlZCA9IG1hdGNoKCk7
CkBAIC0zNzMsMyArMzczLDUgQEAgV2ViSW5zcGVjdG9yLlJlc291cmNlU2lkZWJhclBhbmVsID0g
Y2xhc3MgUmVzb3VyY2VTaWRlYmFyUGFuZWwgZXh0ZW5kcyBXZWJJbnNwZWMKICAgICAgICAgdGhp
cy51cGRhdGVGaWx0ZXIoKTsKICAgICB9CiB9OworCitXZWJJbnNwZWN0b3IuUmVzb3VyY2VTaWRl
YmFyUGFuZWwuUmVzb3VyY2VUeXBlU3ltYm9sID0gU3ltYm9sKCJyZXNvdXJjZS10eXBlIik7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9TaWRl
YmFyLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvU2lkZWJh
ci5qcwppbmRleCBhNjQ1ZjkyMWZkMDc2Y2I5NDVmYTM5ZjY4NjlmY2ZhMTY2MTZjZjRjLi4wYTU5
YzJmZDc4MDBiZDgwNzg3MjdjM2I5NjI5YmQ3Njk5YTllNzQ0IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9TaWRlYmFyLmpzCisrKyBiL1NvdXJj
ZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1NpZGViYXIuanMKQEAgLTIzLDM4
ICsyMywzOCBAQAogICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogICovCiAKLVdl
Ykluc3BlY3Rvci5TaWRlYmFyID0gY2xhc3MgU2lkZWJhciBleHRlbmRzIFdlYkluc3BlY3Rvci5P
YmplY3QKK1dlYkluc3BlY3Rvci5TaWRlYmFyID0gY2xhc3MgU2lkZWJhciBleHRlbmRzIFdlYklu
c3BlY3Rvci5WaWV3CiB7CiAgICAgY29uc3RydWN0b3IoZWxlbWVudCwgc2lkZSwgc2lkZWJhclBh
bmVscywgcm9sZSwgbGFiZWwsIGhhc05hdmlnYXRpb25CYXIpCiAgICAgewotICAgICAgICBzdXBl
cigpOworICAgICAgICBzdXBlcihlbGVtZW50KTsKIAogICAgICAgICBjb25zb2xlLmFzc2VydCgh
c2lkZSB8fCBzaWRlID09PSBXZWJJbnNwZWN0b3IuU2lkZWJhci5TaWRlcy5MZWZ0IHx8IHNpZGUg
PT09IFdlYkluc3BlY3Rvci5TaWRlYmFyLlNpZGVzLlJpZ2h0KTsKICAgICAgICAgdGhpcy5fc2lk
ZSA9IHNpZGUgfHwgV2ViSW5zcGVjdG9yLlNpZGViYXIuU2lkZXMuTGVmdDsKKyAgICAgICAgdGhp
cy5fY29sbGFwc2VkID0gdHJ1ZTsKIAotICAgICAgICB0aGlzLl9lbGVtZW50ID0gZWxlbWVudCB8
fCBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKLSAgICAgICAgdGhpcy5fZWxlbWVudC5j
bGFzc0xpc3QuYWRkKCJzaWRlYmFyIiwgdGhpcy5fc2lkZSwgV2ViSW5zcGVjdG9yLlNpZGViYXIu
Q29sbGFwc2VkU3R5bGVDbGFzc05hbWUpOworICAgICAgICB0aGlzLmVsZW1lbnQuY2xhc3NMaXN0
LmFkZCgic2lkZWJhciIsIHRoaXMuX3NpZGUsIFdlYkluc3BlY3Rvci5TaWRlYmFyLkNvbGxhcHNl
ZFN0eWxlQ2xhc3NOYW1lKTsKIAotICAgICAgICB0aGlzLl9lbGVtZW50LnNldEF0dHJpYnV0ZSgi
cm9sZSIsIHJvbGUgfHwgImdyb3VwIik7CisgICAgICAgIHRoaXMuZWxlbWVudC5zZXRBdHRyaWJ1
dGUoInJvbGUiLCByb2xlIHx8ICJncm91cCIpOwogICAgICAgICBpZiAobGFiZWwpCi0gICAgICAg
ICAgICB0aGlzLl9lbGVtZW50LnNldEF0dHJpYnV0ZSgiYXJpYS1sYWJlbCIsIGxhYmVsKTsKKyAg
ICAgICAgICAgIHRoaXMuZWxlbWVudC5zZXRBdHRyaWJ1dGUoImFyaWEtbGFiZWwiLCBsYWJlbCk7
CiAKICAgICAgICAgaWYgKGhhc05hdmlnYXRpb25CYXIpIHsKLSAgICAgICAgICAgIHRoaXMuX2Vs
ZW1lbnQuY2xhc3NMaXN0LmFkZCgiaGFzLW5hdmlnYXRpb24tYmFyIik7CisgICAgICAgICAgICB0
aGlzLmVsZW1lbnQuY2xhc3NMaXN0LmFkZCgiaGFzLW5hdmlnYXRpb24tYmFyIik7CiAKICAgICAg
ICAgICAgIHRoaXMuX25hdmlnYXRpb25CYXIgPSBuZXcgV2ViSW5zcGVjdG9yLk5hdmlnYXRpb25C
YXIobnVsbCwgbnVsbCwgInRhYmxpc3QiKTsKICAgICAgICAgICAgIHRoaXMuX25hdmlnYXRpb25C
YXIuYWRkRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuTmF2aWdhdGlvbkJhci5FdmVudC5OYXZp
Z2F0aW9uSXRlbVNlbGVjdGVkLCB0aGlzLl9uYXZpZ2F0aW9uSXRlbVNlbGVjdGVkLCB0aGlzKTsK
LSAgICAgICAgICAgIHRoaXMuX2VsZW1lbnQuYXBwZW5kQ2hpbGQodGhpcy5fbmF2aWdhdGlvbkJh
ci5lbGVtZW50KTsKKyAgICAgICAgICAgIHRoaXMuYWRkU3Vidmlldyh0aGlzLl9uYXZpZ2F0aW9u
QmFyKTsKICAgICAgICAgfQogCiAgICAgICAgIHRoaXMuX3Jlc2l6ZXIgPSBuZXcgV2ViSW5zcGVj
dG9yLlJlc2l6ZXIoV2ViSW5zcGVjdG9yLlJlc2l6ZXIuUnVsZU9yaWVudGF0aW9uLlZlcnRpY2Fs
LCB0aGlzKTsKLSAgICAgICAgdGhpcy5fZWxlbWVudC5pbnNlcnRCZWZvcmUodGhpcy5fcmVzaXpl
ci5lbGVtZW50LCB0aGlzLl9lbGVtZW50LmZpcnN0Q2hpbGQpOworICAgICAgICB0aGlzLmVsZW1l
bnQuaW5zZXJ0QmVmb3JlKHRoaXMuX3Jlc2l6ZXIuZWxlbWVudCwgdGhpcy5lbGVtZW50LmZpcnN0
Q2hpbGQpOwogCiAgICAgICAgIHRoaXMuX3NpZGViYXJQYW5lbHMgPSBbXTsKIAogICAgICAgICBp
ZiAoc2lkZWJhclBhbmVscykgewotICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBzaWRl
YmFyUGFuZWxzLmxlbmd0aDsgKytpKQotICAgICAgICAgICAgICAgIHRoaXMuYWRkU2lkZWJhclBh
bmVsKHNpZGViYXJQYW5lbHNbaV0pOworICAgICAgICAgICAgZm9yIChsZXQgc2lkZWJhclBhbmVs
IG9mIHNpZGViYXJQYW5lbHMpCisgICAgICAgICAgICAgICAgdGhpcy5hZGRTaWRlYmFyUGFuZWwo
c2lkZWJhclBhbmVsKTsKICAgICAgICAgfQogICAgIH0KIApAQCAtNzAsMTAgKzcwLDggQEAgV2Vi
SW5zcGVjdG9yLlNpZGViYXIgPSBjbGFzcyBTaWRlYmFyIGV4dGVuZHMgV2ViSW5zcGVjdG9yLk9i
amVjdAogICAgICAgICBpZiAoc2lkZWJhclBhbmVsLnBhcmVudFNpZGViYXIpCiAgICAgICAgICAg
ICByZXR1cm4gbnVsbDsKIAotICAgICAgICBzaWRlYmFyUGFuZWwuX3BhcmVudFNpZGViYXIgPSB0
aGlzOwotCiAgICAgICAgIHRoaXMuX3NpZGViYXJQYW5lbHMucHVzaChzaWRlYmFyUGFuZWwpOwot
ICAgICAgICB0aGlzLl9lbGVtZW50LmFwcGVuZENoaWxkKHNpZGViYXJQYW5lbC5lbGVtZW50KTsK
KyAgICAgICAgdGhpcy5hZGRTdWJ2aWV3KHNpZGViYXJQYW5lbCk7CiAKICAgICAgICAgaWYgKHRo
aXMuX25hdmlnYXRpb25CYXIpIHsKICAgICAgICAgICAgIGNvbnNvbGUuYXNzZXJ0KHNpZGViYXJQ
YW5lbC5uYXZpZ2F0aW9uSXRlbSk7CkBAIC05OCwxNSArOTYsMTMgQEAgV2ViSW5zcGVjdG9yLlNp
ZGViYXIgPSBjbGFzcyBTaWRlYmFyIGV4dGVuZHMgV2ViSW5zcGVjdG9yLk9iamVjdAogICAgICAg
ICAgICAgc2lkZWJhclBhbmVsLnZpc2liaWxpdHlEaWRDaGFuZ2UoKTsKICAgICAgICAgfQogCi0g
ICAgICAgIHNpZGViYXJQYW5lbC5fcGFyZW50U2lkZWJhciA9IG51bGw7Ci0KICAgICAgICAgaWYg
KHRoaXMuX3NlbGVjdGVkU2lkZWJhclBhbmVsID09PSBzaWRlYmFyUGFuZWwpIHsKICAgICAgICAg
ICAgIHZhciBpbmRleCA9IHRoaXMuX3NpZGViYXJQYW5lbHMuaW5kZXhPZihzaWRlYmFyUGFuZWwp
OwogICAgICAgICAgICAgdGhpcy5zZWxlY3RlZFNpZGViYXJQYW5lbCA9IHRoaXMuX3NpZGViYXJQ
YW5lbHNbaW5kZXggLSAxXSB8fCB0aGlzLl9zaWRlYmFyUGFuZWxzW2luZGV4ICsgMV0gfHwgbnVs
bDsKICAgICAgICAgfQogCiAgICAgICAgIHRoaXMuX3NpZGViYXJQYW5lbHMucmVtb3ZlKHNpZGVi
YXJQYW5lbCk7Ci0gICAgICAgIHRoaXMuX2VsZW1lbnQucmVtb3ZlQ2hpbGQoc2lkZWJhclBhbmVs
LmVsZW1lbnQpOworICAgICAgICB0aGlzLnJlbW92ZVN1YnZpZXcoc2lkZWJhclBhbmVsKTsKIAog
ICAgICAgICBpZiAodGhpcy5fbmF2aWdhdGlvbkJhcikgewogICAgICAgICAgICAgY29uc29sZS5h
c3NlcnQoc2lkZWJhclBhbmVsLm5hdmlnYXRpb25JdGVtKTsKQEAgLTE3Myw3ICsxNjksNyBAQCBX
ZWJJbnNwZWN0b3IuU2lkZWJhciA9IGNsYXNzIFNpZGViYXIgZXh0ZW5kcyBXZWJJbnNwZWN0b3Iu
T2JqZWN0CiAKICAgICBnZXQgd2lkdGgoKQogICAgIHsKLSAgICAgICAgcmV0dXJuIHRoaXMuX2Vs
ZW1lbnQub2Zmc2V0V2lkdGg7CisgICAgICAgIHJldHVybiB0aGlzLmVsZW1lbnQub2Zmc2V0V2lk
dGg7CiAgICAgfQogCiAgICAgc2V0IHdpZHRoKG5ld1dpZHRoKQpAQCAtMTgzLDcgKzE3OSw3IEBA
IFdlYkluc3BlY3Rvci5TaWRlYmFyID0gY2xhc3MgU2lkZWJhciBleHRlbmRzIFdlYkluc3BlY3Rv
ci5PYmplY3QKIAogICAgICAgICBuZXdXaWR0aCA9IE1hdGgubWF4KHRoaXMubWluaW11bVdpZHRo
LCBNYXRoLm1pbihuZXdXaWR0aCwgdGhpcy5tYXhpbXVtV2lkdGgpKTsKIAotICAgICAgICB0aGlz
Ll9lbGVtZW50LnN0eWxlLndpZHRoID0gbmV3V2lkdGggKyAicHgiOworICAgICAgICB0aGlzLmVs
ZW1lbnQuc3R5bGUud2lkdGggPSBuZXdXaWR0aCArICJweCI7CiAKICAgICAgICAgaWYgKCF0aGlz
LmNvbGxhcHNlZCAmJiB0aGlzLl9uYXZpZ2F0aW9uQmFyKQogICAgICAgICAgICAgdGhpcy5fbmF2
aWdhdGlvbkJhci51cGRhdGVMYXlvdXQoKTsKQEAgLTE5NiwxOSArMTkyLDE4IEBAIFdlYkluc3Bl
Y3Rvci5TaWRlYmFyID0gY2xhc3MgU2lkZWJhciBleHRlbmRzIFdlYkluc3BlY3Rvci5PYmplY3QK
IAogICAgIGdldCBjb2xsYXBzZWQoKQogICAgIHsKLSAgICAgICAgcmV0dXJuIHRoaXMuX2VsZW1l
bnQuY2xhc3NMaXN0LmNvbnRhaW5zKFdlYkluc3BlY3Rvci5TaWRlYmFyLkNvbGxhcHNlZFN0eWxl
Q2xhc3NOYW1lKTsKKyAgICAgICAgcmV0dXJuIHRoaXMuX2NvbGxhcHNlZDsKICAgICB9CiAKICAg
ICBzZXQgY29sbGFwc2VkKGZsYWcpCiAgICAgewotICAgICAgICBpZiAoZmxhZyA9PT0gdGhpcy5j
b2xsYXBzZWQpCisgICAgICAgIGlmIChmbGFnID09PSB0aGlzLl9jb2xsYXBzZWQpCiAgICAgICAg
ICAgICByZXR1cm47CiAKLSAgICAgICAgaWYgKGZsYWcpCi0gICAgICAgICAgICB0aGlzLl9lbGVt
ZW50LmNsYXNzTGlzdC5hZGQoV2ViSW5zcGVjdG9yLlNpZGViYXIuQ29sbGFwc2VkU3R5bGVDbGFz
c05hbWUpOwotICAgICAgICBlbHNlIHsKLSAgICAgICAgICAgIHRoaXMuX2VsZW1lbnQuY2xhc3NM
aXN0LnJlbW92ZShXZWJJbnNwZWN0b3IuU2lkZWJhci5Db2xsYXBzZWRTdHlsZUNsYXNzTmFtZSk7
CisgICAgICAgIHRoaXMuX2NvbGxhcHNlZCA9IGZsYWcgfHwgZmFsc2U7CisgICAgICAgIHRoaXMu
ZWxlbWVudC5jbGFzc0xpc3QudG9nZ2xlKFdlYkluc3BlY3Rvci5TaWRlYmFyLkNvbGxhcHNlZFN0
eWxlQ2xhc3NOYW1lKTsKIAorICAgICAgICBpZiAoIXRoaXMuX2NvbGxhcHNlZCkgewogICAgICAg
ICAgICAgaWYgKHRoaXMuX25hdmlnYXRpb25CYXIpCiAgICAgICAgICAgICAgICAgdGhpcy5fbmF2
aWdhdGlvbkJhci51cGRhdGVMYXlvdXQoKTsKICAgICAgICAgfQpAQCAtMjMzLDExICsyMjgsNiBA
QCBXZWJJbnNwZWN0b3IuU2lkZWJhciA9IGNsYXNzIFNpZGViYXIgZXh0ZW5kcyBXZWJJbnNwZWN0
b3IuT2JqZWN0CiAgICAgICAgIHJldHVybiB0aGlzLl9zaWRlYmFyUGFuZWxzOwogICAgIH0KIAot
ICAgIGdldCBlbGVtZW50KCkKLSAgICB7Ci0gICAgICAgIHJldHVybiB0aGlzLl9lbGVtZW50Owot
ICAgIH0KLQogICAgIGdldCBzaWRlKCkKICAgICB7CiAgICAgICAgIHJldHVybiB0aGlzLl9zaWRl
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3Mv
U2lkZWJhclBhbmVsLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmll
d3MvU2lkZWJhclBhbmVsLmpzCmluZGV4IDdhNTRmMGM2ZTBmMDhkM2ExZGFiNmUwZTA4NWU1MDU1
OGU2MGU0MTEuLjkzOTg2ZGUyYjM3ZGJmMDFjYTllZDBmMmY3ZWE0YWZhY2QyYjY0ZGMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1NpZGViYXJQ
YW5lbC5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9T
aWRlYmFyUGFuZWwuanMKQEAgLTIzLDI2ICsyMywyNiBAQAogICogVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgogICovCiAKLVdlYkluc3BlY3Rvci5TaWRlYmFyUGFuZWwgPSBjbGFzcyBT
aWRlYmFyUGFuZWwgZXh0ZW5kcyBXZWJJbnNwZWN0b3IuT2JqZWN0CitXZWJJbnNwZWN0b3IuU2lk
ZWJhclBhbmVsID0gY2xhc3MgU2lkZWJhclBhbmVsIGV4dGVuZHMgV2ViSW5zcGVjdG9yLlZpZXcK
IHsKICAgICBjb25zdHJ1Y3RvcihpZGVudGlmaWVyLCBkaXNwbGF5TmFtZSwgZWxlbWVudCwgcm9s
ZSwgbGFiZWwpCiAgICAgewotICAgICAgICBzdXBlcigpOworICAgICAgICBzdXBlcihlbGVtZW50
KTsKIAogICAgICAgICB0aGlzLl9pZGVudGlmaWVyID0gaWRlbnRpZmllcjsKICAgICAgICAgdGhp
cy5fZGlzcGxheU5hbWUgPSBkaXNwbGF5TmFtZTsKKyAgICAgICAgdGhpcy5fc2VsZWN0ZWQgPSBm
YWxzZTsKIAogICAgICAgICB0aGlzLl9zYXZlZFNjcm9sbFBvc2l0aW9uID0gMDsKIAotICAgICAg
ICB0aGlzLl9lbGVtZW50ID0gZWxlbWVudCB8fCBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYi
KTsKLSAgICAgICAgdGhpcy5fZWxlbWVudC5jbGFzc0xpc3QuYWRkKCJwYW5lbCIsIGlkZW50aWZp
ZXIpOworICAgICAgICB0aGlzLmVsZW1lbnQuY2xhc3NMaXN0LmFkZCgicGFuZWwiLCBpZGVudGlm
aWVyKTsKIAotICAgICAgICB0aGlzLl9lbGVtZW50LnNldEF0dHJpYnV0ZSgicm9sZSIsIHJvbGUg
fHwgImdyb3VwIik7Ci0gICAgICAgIHRoaXMuX2VsZW1lbnQuc2V0QXR0cmlidXRlKCJhcmlhLWxh
YmVsIiwgbGFiZWwgfHwgZGlzcGxheU5hbWUpOworICAgICAgICB0aGlzLmVsZW1lbnQuc2V0QXR0
cmlidXRlKCJyb2xlIiwgcm9sZSB8fCAiZ3JvdXAiKTsKKyAgICAgICAgdGhpcy5lbGVtZW50LnNl
dEF0dHJpYnV0ZSgiYXJpYS1sYWJlbCIsIGxhYmVsIHx8IGRpc3BsYXlOYW1lKTsKIAogICAgICAg
ICB0aGlzLl9jb250ZW50RWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOwog
ICAgICAgICB0aGlzLl9jb250ZW50RWxlbWVudC5jbGFzc05hbWUgPSAiY29udGVudCI7Ci0gICAg
ICAgIHRoaXMuX2VsZW1lbnQuYXBwZW5kQ2hpbGQodGhpcy5fY29udGVudEVsZW1lbnQpOworICAg
ICAgICB0aGlzLmVsZW1lbnQuYXBwZW5kQ2hpbGQodGhpcy5fY29udGVudEVsZW1lbnQpOwogICAg
IH0KIAogICAgIC8vIFB1YmxpYwpAQCAtNTIsMTEgKzUyLDYgQEAgV2ViSW5zcGVjdG9yLlNpZGVi
YXJQYW5lbCA9IGNsYXNzIFNpZGViYXJQYW5lbCBleHRlbmRzIFdlYkluc3BlY3Rvci5PYmplY3QK
ICAgICAgICAgcmV0dXJuIHRoaXMuX2lkZW50aWZpZXI7CiAgICAgfQogCi0gICAgZ2V0IGVsZW1l
bnQoKQotICAgIHsKLSAgICAgICAgcmV0dXJuIHRoaXMuX2VsZW1lbnQ7Ci0gICAgfQotCiAgICAg
Z2V0IGNvbnRlbnRFbGVtZW50KCkKICAgICB7CiAgICAgICAgIHJldHVybiB0aGlzLl9jb250ZW50
RWxlbWVudDsKQEAgLTY0LDQzICs1OSw0NCBAQCBXZWJJbnNwZWN0b3IuU2lkZWJhclBhbmVsID0g
Y2xhc3MgU2lkZWJhclBhbmVsIGV4dGVuZHMgV2ViSW5zcGVjdG9yLk9iamVjdAogCiAgICAgZ2V0
IHZpc2libGUoKQogICAgIHsKLSAgICAgICAgcmV0dXJuIHRoaXMuc2VsZWN0ZWQgJiYgdGhpcy5f
cGFyZW50U2lkZWJhciAmJiAhdGhpcy5fcGFyZW50U2lkZWJhci5jb2xsYXBzZWQ7CisgICAgICAg
IHJldHVybiB0aGlzLnNlbGVjdGVkICYmIHRoaXMucGFyZW50U2lkZWJhciAmJiAhdGhpcy5wYXJl
bnRTaWRlYmFyLmNvbGxhcHNlZDsKICAgICB9CiAKICAgICBnZXQgc2VsZWN0ZWQoKQogICAgIHsK
LSAgICAgICAgcmV0dXJuIHRoaXMuX2VsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKFdlYkluc3Bl
Y3Rvci5TaWRlYmFyUGFuZWwuU2VsZWN0ZWRTdHlsZUNsYXNzTmFtZSk7CisgICAgICAgIHJldHVy
biB0aGlzLl9zZWxlY3RlZDsKICAgICB9CiAKICAgICBzZXQgc2VsZWN0ZWQoZmxhZykKICAgICB7
Ci0gICAgICAgIGlmIChmbGFnKQotICAgICAgICAgICAgdGhpcy5fZWxlbWVudC5jbGFzc0xpc3Qu
YWRkKFdlYkluc3BlY3Rvci5TaWRlYmFyUGFuZWwuU2VsZWN0ZWRTdHlsZUNsYXNzTmFtZSk7Ci0g
ICAgICAgIGVsc2UKLSAgICAgICAgICAgIHRoaXMuX2VsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZShX
ZWJJbnNwZWN0b3IuU2lkZWJhclBhbmVsLlNlbGVjdGVkU3R5bGVDbGFzc05hbWUpOworICAgICAg
ICBpZiAoZmxhZyA9PT0gdGhpcy5fc2VsZWN0ZWQpCisgICAgICAgICAgICByZXR1cm47CisKKyAg
ICAgICAgdGhpcy5fc2VsZWN0ZWQgPSBmbGFnIHx8IGZhbHNlOworICAgICAgICB0aGlzLmVsZW1l
bnQuY2xhc3NMaXN0LnRvZ2dsZSgic2VsZWN0ZWQiLCB0aGlzLl9zZWxlY3RlZCk7CiAgICAgfQog
CiAgICAgZ2V0IHBhcmVudFNpZGViYXIoKQogICAgIHsKLSAgICAgICAgcmV0dXJuIHRoaXMuX3Bh
cmVudFNpZGViYXI7CisgICAgICAgIHJldHVybiB0aGlzLnBhcmVudFZpZXc7CiAgICAgfQogCiAg
ICAgc2hvdygpCiAgICAgewotICAgICAgICBpZiAoIXRoaXMuX3BhcmVudFNpZGViYXIpCisgICAg
ICAgIGlmICghdGhpcy5wYXJlbnRTaWRlYmFyKQogICAgICAgICAgICAgcmV0dXJuOwogCi0gICAg
ICAgIHRoaXMuX3BhcmVudFNpZGViYXIuY29sbGFwc2VkID0gZmFsc2U7Ci0gICAgICAgIHRoaXMu
X3BhcmVudFNpZGViYXIuc2VsZWN0ZWRTaWRlYmFyUGFuZWwgPSB0aGlzOworICAgICAgICB0aGlz
LnBhcmVudFNpZGViYXIuY29sbGFwc2VkID0gZmFsc2U7CisgICAgICAgIHRoaXMucGFyZW50U2lk
ZWJhci5zZWxlY3RlZFNpZGViYXJQYW5lbCA9IHRoaXM7CiAgICAgfQogCiAgICAgaGlkZSgpCiAg
ICAgewotICAgICAgICBpZiAoIXRoaXMuX3BhcmVudFNpZGViYXIpCisgICAgICAgIGlmICghdGhp
cy5wYXJlbnRTaWRlYmFyKQogICAgICAgICAgICAgcmV0dXJuOwogCi0gICAgICAgIHRoaXMuX3Bh
cmVudFNpZGViYXIuY29sbGFwc2VkID0gdHJ1ZTsKLSAgICAgICAgdGhpcy5fcGFyZW50U2lkZWJh
ci5zZWxlY3RlZFNpZGViYXJQYW5lbCA9IG51bGw7CisgICAgICAgIHRoaXMucGFyZW50U2lkZWJh
ci5jb2xsYXBzZWQgPSB0cnVlOworICAgICAgICB0aGlzLnBhcmVudFNpZGViYXIuc2VsZWN0ZWRT
aWRlYmFyUGFuZWwgPSBudWxsOwogICAgIH0KIAogICAgIHRvZ2dsZSgpCkBAIC0xMTMsMTQgKzEw
OSwxNCBAQCBXZWJJbnNwZWN0b3IuU2lkZWJhclBhbmVsID0gY2xhc3MgU2lkZWJhclBhbmVsIGV4
dGVuZHMgV2ViSW5zcGVjdG9yLk9iamVjdAogCiAgICAgYWRkZWQoKQogICAgIHsKLSAgICAgICAg
Y29uc29sZS5hc3NlcnQodGhpcy5fcGFyZW50U2lkZWJhcik7CisgICAgICAgIGNvbnNvbGUuYXNz
ZXJ0KHRoaXMucGFyZW50U2lkZWJhcik7CiAKICAgICAgICAgLy8gSW1wbGVtZW50ZWQgYnkgc3Vi
Y2xhc3Nlcy4KICAgICB9CiAKICAgICByZW1vdmVkKCkKICAgICB7Ci0gICAgICAgIGNvbnNvbGUu
YXNzZXJ0KCF0aGlzLl9wYXJlbnRTaWRlYmFyKTsKKyAgICAgICAgY29uc29sZS5hc3NlcnQoIXRo
aXMucGFyZW50U2lkZWJhcik7CiAKICAgICAgICAgLy8gSW1wbGVtZW50ZWQgYnkgc3ViY2xhc3Nl
cy4KICAgICB9CkBAIC0xNTQsNSArMTUwLDMgQEAgV2ViSW5zcGVjdG9yLlNpZGViYXJQYW5lbCA9
IGNsYXNzIFNpZGViYXJQYW5lbCBleHRlbmRzIFdlYkluc3BlY3Rvci5PYmplY3QKICAgICAgICAg
Ly8gSW1wbGVtZW50ZWQgYnkgc3ViY2xhc3Nlcy4KICAgICB9CiB9OwotCi1XZWJJbnNwZWN0b3Iu
U2lkZWJhclBhbmVsLlNlbGVjdGVkU3R5bGVDbGFzc05hbWUgPSAic2VsZWN0ZWQiOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvU3RvcmFnZVNp
ZGViYXJQYW5lbC5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdz
L1N0b3JhZ2VTaWRlYmFyUGFuZWwuanMKaW5kZXggM2FkYzY0ZGZjMzg4YjI4MDkxY2FjODIxNTJj
MzZkNWE4MGI4ZDQ0NS4uNjAzNjk4ZGJlYTk5YjI5MDg3YmM5OTdkOGQyOWNiNDQ1NDY1MWE4NCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvU3Rv
cmFnZVNpZGViYXJQYW5lbC5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVy
ZmFjZS9WaWV3cy9TdG9yYWdlU2lkZWJhclBhbmVsLmpzCkBAIC0zNCw3ICszNCw3IEBAIFdlYklu
c3BlY3Rvci5TdG9yYWdlU2lkZWJhclBhbmVsID0gY2xhc3MgU3RvcmFnZVNpZGViYXJQYW5lbCBl
eHRlbmRzIFdlYkluc3BlY3RvCiAgICAgICAgIHRoaXMuZmlsdGVyQmFyLnBsYWNlaG9sZGVyID0g
V2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJGaWx0ZXIgU3RvcmFnZSBMaXN0Iik7CiAKICAgICAgICAg
dGhpcy5fbmF2aWdhdGlvbkJhciA9IG5ldyBXZWJJbnNwZWN0b3IuTmF2aWdhdGlvbkJhcjsKLSAg
ICAgICAgdGhpcy5lbGVtZW50LmFwcGVuZENoaWxkKHRoaXMuX25hdmlnYXRpb25CYXIuZWxlbWVu
dCk7CisgICAgICAgIHRoaXMuYWRkU3Vidmlldyh0aGlzLl9uYXZpZ2F0aW9uQmFyKTsKIAogICAg
ICAgICB2YXIgc2NvcGVJdGVtUHJlZml4ID0gInN0b3JhZ2Utc2lkZWJhci0iOwogICAgICAgICB2
YXIgc2NvcGVCYXJJdGVtcyA9IFtdOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>