<?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>138518</bug_id>
          
          <creation_ts>2014-11-07 14:27:21 -0800</creation_ts>
          <short_desc>Web Inspector: Layer summary should be bottom sticky</short_desc>
          <delta_ts>2014-11-07 15:37:53 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Web Inspector</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Joseph Pecoraro">joepeck</reporter>
          <assigned_to name="Joseph Pecoraro">joepeck</assigned_to>
          <cc>graouts</cc>
    
    <cc>joepeck</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>timothy</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1047176</commentid>
    <comment_count>0</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2014-11-07 14:27:21 -0800</bug_when>
    <thetext>* SUMMARY
The summary at the bottom of the layers list should be bottom sticky, so it can always be seen for long layer lists.

* STEPS TO REPRODUCE
1. Inspect apple.com
2. Show Layers Details Sidebar
3. Click a link to open a video
  =&gt; layers show up, summary jumps around

* NOTES
The sidebar contents should slide under the summary pinned to the bottom, and yet still be scrollable so everything in the sidebar can be reached.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1047177</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2014-11-07 14:27:47 -0800</bug_when>
    <thetext>&lt;rdar://problem/18913472&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1047178</commentid>
    <comment_count>2</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2014-11-07 14:28:52 -0800</bug_when>
    <thetext>Better radar: &lt;rdar://problem/18910924&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1047187</commentid>
    <comment_count>3</comment_count>
      <attachid>241208</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2014-11-07 14:52:38 -0800</bug_when>
    <thetext>Created attachment 241208
[PATCH] Proposed Fix

I think I saw one regression from this.

* STEPS TO REPRODUCE
1. Inspect apple.com
2. Show Styles for &lt;body&gt;
3. Show Computed section, with &quot;Show All&quot; enabled
4. Scroll way down in the sidebar
5. Uncheck &quot;Show All&quot;
  =&gt; doesn&apos;t scroll the new content into view appropriately

But right now I think this is a WebCore issue.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1047189</commentid>
    <comment_count>4</comment_count>
      <attachid>241208</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2014-11-07 14:55:38 -0800</bug_when>
    <thetext>Comment on attachment 241208
[PATCH] Proposed Fix

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

&gt; Source/WebInspectorUI/WebInspectorUI.vcxproj/WebInspectorUI.vcxproj.filters:392
&gt; -    &lt;None Include=&quot;..\UserInterface\DetailsSidebarPanel.css&quot;&gt;
&gt; +    &lt;None Include=&quot;..\UserInterface\SidebarPanel.css&quot;&gt;
&gt;        &lt;Filter&gt;UserInterface&lt;/Filter&gt;
&gt;      &lt;/None&gt;

Oops, these few lines should be removed I guess, cause I sorted it below.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1047190</commentid>
    <comment_count>5</comment_count>
      <attachid>241208</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2014-11-07 15:02:29 -0800</bug_when>
    <thetext>Comment on attachment 241208
[PATCH] Proposed Fix

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

&gt; Source/WebInspectorUI/UserInterface/Views/ApplicationCacheDetailsSidebarPanel.js:30
&gt; -    this.element.classList.add(WebInspector.ApplicationCacheDetailsSidebarPanel.StyleClassName);
&gt; +    this.contentElement.classList.add(WebInspector.ApplicationCacheDetailsSidebarPanel.StyleClassName);

I think these should stay on element. I think it will mess up selectors otherwise. (Not in this case, but CSS does this: .sidebar &gt; .panel.details.css-style)

&gt; Source/WebInspectorUI/UserInterface/Views/DOMNodeDetailsSidebarPanel.js:33
&gt; -    this.element.classList.add(WebInspector.DOMNodeDetailsSidebarPanel.StyleClassName);
&gt; +    this.contentElement.classList.add(WebInspector.DOMNodeDetailsSidebarPanel.StyleClassName);

Ditto.

&gt; Source/WebInspectorUI/UserInterface/Views/LayerTreeDetailsSidebarPanel.cssSource/WebInspectorUI/UserInterface/Views/LayerTreeSidebarPanel.css:26
&gt; +.sidebar &gt; .layer-tree.panel &gt; .content {

CSSStyleDetailsSidebarPanel.css and other do this:

.sidebar &gt; .panel.details.css-style

&gt; Source/WebInspectorUI/UserInterface/Views/LayerTreeDetailsSidebarPanel.jsSource/WebInspectorUI/UserInterface/Views/LayerTreeSidebarPanel.js:26
&gt; -WebInspector.LayerTreeSidebarPanel = function() {
&gt; +WebInspector.LayerTreeDetailsSidebarPanel = function()

YES!

&gt; Source/WebInspectorUI/UserInterface/Views/LayerTreeDetailsSidebarPanel.jsSource/WebInspectorUI/UserInterface/Views/LayerTreeSidebarPanel.js:32
&gt; -    this.element.classList.add(WebInspector.LayerTreeSidebarPanel.StyleClassName);
&gt; +    this.element.classList.add(WebInspector.LayerTreeDetailsSidebarPanel.StyleClassName);

You kept it on element here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1047216</commentid>
    <comment_count>6</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2014-11-07 15:33:42 -0800</bug_when>
    <thetext>I don&apos;t know how to fix the GTK build error:
ninja: error: &apos;../../Source/WebInspectorUI/UserInterface/Views/LayerTreeSidebarPanel.css&apos;, needed by &apos;DerivedSources/webkit2gtk/InspectorGResourceBundle.xml&apos;, missing and no known rule to make it

I think GTK needs to do a clean build. LayerTreeSidebarPanel.css was renamed in this patch. I see no explicit references to it in the Source tree.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1047217</commentid>
    <comment_count>7</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2014-11-07 15:34:05 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; Created attachment 241208 [details]
&gt; [PATCH] Proposed Fix
&gt; 
&gt; I think I saw one regression from this.
&gt; 
&gt; * STEPS TO REPRODUCE
&gt; 1. Inspect apple.com
&gt; 2. Show Styles for &lt;body&gt;
&gt; 3. Show Computed section, with &quot;Show All&quot; enabled
&gt; 4. Scroll way down in the sidebar
&gt; 5. Uncheck &quot;Show All&quot;
&gt;   =&gt; doesn&apos;t scroll the new content into view appropriately
&gt; 
&gt; But right now I think this is a WebCore issue.

Yes, this is a WebCore issue: bug 138525</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1047223</commentid>
    <comment_count>8</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2014-11-07 15:37:53 -0800</bug_when>
    <thetext>http://trac.webkit.org/changeset/175767</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>241208</attachid>
            <date>2014-11-07 14:52:38 -0800</date>
            <delta_ts>2014-11-07 15:02:29 -0800</delta_ts>
            <desc>[PATCH] Proposed Fix</desc>
            <filename>sidebar.patch</filename>
            <type>text/plain</type>
            <size>43790</size>
            <attacher name="Joseph Pecoraro">joepeck</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvQ2hhbmdlTG9nCmluZGV4IDA4NDcxNjAuLmQ3N2M5ZTIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkluc3BlY3Rv
clVJL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDg5IEBACiAyMDE0LTExLTA3ICBKb3NlcGggUGVjb3Jh
cm8gIDxwZWNvcmFyb0BhcHBsZS5jb20+CiAKKyAgICAgICAgV2ViIEluc3BlY3RvcjogTGF5ZXIg
c3VtbWFyeSBzaG91bGQgYmUgYm90dG9tIHN0aWNreQorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM4NTE4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgUHJldmlvdXNseSBvbmx5IE5hdmlnYXRpb25TaWRlYmFy
cyBoYWQgYSBjb250ZW50IHZpZXcuIE5vdywgZ2l2ZSBhbGwKKyAgICAgICAgU2lkZWJhcnMgYSBj
b250ZW50RWxlbWVudCBzZWN0aW9uIGZvciBjb250ZW50LgorCisgICAgICAgIFVwZGF0ZSBhbGwg
RGV0YWlscyBTaWRlYmFycyB0byBhcHBlbmQgY29udGVudCB0byB0aGUgY29udGVudEVsZW1lbnQK
KyAgICAgICAgaW5zdGVhZCBvZiBkaXJlY3RseSB0byB0aGUgZWxlbWVudC4gT25seSB0d28gRGV0
YWlscyBzaWRlYmFycyBhcHBlbmQKKyAgICAgICAgdG8gdGhlIGVsZW1lbnQ6CisKKyAgICAgICAg
ICAtIENTU1N0eWxlRGV0YWlsc1NpZGViYXJQYW5lbCBmb3IgdGhlIG5hdmlnYXRpb24gYmFyIGF0
IHRoZSB0b3AKKyAgICAgICAgICAtIExheWVyVHJlZURldGFpbHNTaWRlYmFyUGFuZWwgZm9yIHRo
ZSBzdW1tYXJ5IHZpZXcgYXQgdGhlIGJvdHRvbQorCisgICAgICAgIFRha2UgdGhpcyBvcHBvcnR1
bml0eSB0byBmaXggdXAgc29tZSBuYW1pbmcgYW5kIHN0eWxlcyBhcyB3ZWxsLgorCisgICAgICAg
ICogVXNlckludGVyZmFjZS9WaWV3cy9TaWRlYmFyUGFuZWwuanM6CisgICAgICAgIChXZWJJbnNw
ZWN0b3IuU2lkZWJhclBhbmVsKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5TaWRlYmFyUGFuZWwu
cHJvdG90eXBlLmdldCBjb250ZW50RWxlbWVudCk6CisgICAgICAgIEdpdmUgZXZlcnkgU2lkZWJh
clBhbmVsIGEgY29udGVudCBlbGVtZW50LgorCisgICAgICAgICogVXNlckludGVyZmFjZS9WaWV3
cy9EZXRhaWxzU2lkZWJhclBhbmVsLmNzczogUmVtb3ZlZC4KKyAgICAgICAgKC5zaWRlYmFyID4g
LnBhbmVsID4gLmNvbnRlbnQpOgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvU2lkZWJh
clBhbmVsLmNzczogQWRkZWQuCisgICAgICAgICguc2lkZWJhciA+IC5wYW5lbCA+IC5jb250ZW50
KToKKyAgICAgICAgQW5kIGdpdmUgdGhhdCBjb250ZW50IGVsZW1lbnQgYSBkZWZhdWx0IHN0eWxl
LgorCisgICAgICAgICogVXNlckludGVyZmFjZS9WaWV3cy9OYXZpZ2F0aW9uU2lkZWJhclBhbmVs
LmNzczoKKyAgICAgICAgKC5zaWRlYmFyID4gLnBhbmVsLm5hdmlnYXRpb24gPiAuY29udGVudCk6
CisgICAgICAgICogVXNlckludGVyZmFjZS9WaWV3cy9OYXZpZ2F0aW9uU2lkZWJhclBhbmVsLmpz
OgorICAgICAgICAoV2ViSW5zcGVjdG9yLk5hdmlnYXRpb25TaWRlYmFyUGFuZWwpOgorICAgICAg
ICAoV2ViSW5zcGVjdG9yLk5hdmlnYXRpb25TaWRlYmFyUGFuZWwucHJvdG90eXBlLmNyZWF0ZUNv
bnRlbnRUcmVlT3V0bGluZSk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuTmF2aWdhdGlvblNpZGVi
YXJQYW5lbC5wcm90b3R5cGUuX3VwZGF0ZUNvbnRlbnRPdmVyZmxvd1NoYWRvd1Zpc2liaWxpdHkp
OgorICAgICAgICAoV2ViSW5zcGVjdG9yLk5hdmlnYXRpb25TaWRlYmFyUGFuZWwucHJvdG90eXBl
LmdldCBjb250ZW50RWxlbWVudCk6IERlbGV0ZWQuCisgICAgICAgIE5hdmlnYXRpb24gc2lkZWJh
ciBwYW5lbHMgbm93IHVzZSB0aGUgcGFyZW50J3MgY29udGVudEVsZW1lbnQuCisgICAgICAgIEFs
c28sIGNhcnJ5IG92ZXIgdGhlaXIgZGVmYXVsdCBzdHlsZXMsIG92ZXJyaWRpbmcgdGhlIGJhc2Uu
CisKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL0xheWVyVHJlZURldGFpbHNTaWRlYmFy
UGFuZWwuanM6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFj
ZS9WaWV3cy9MYXllclRyZWVTaWRlYmFyUGFuZWwuanMuCisgICAgICAgIChXZWJJbnNwZWN0b3Iu
TGF5ZXJUcmVlRGV0YWlsc1NpZGViYXJQYW5lbC5wcm90b3R5cGUuX2J1aWxkTGF5ZXJJbmZvU2Vj
dGlvbik6CisgICAgICAgIChXZWJJbnNwZWN0b3IuTGF5ZXJUcmVlRGV0YWlsc1NpZGViYXJQYW5l
bC5wcm90b3R5cGUuX2J1aWxkRGF0YUdyaWRTZWN0aW9uKToKKyAgICAgICAgKFdlYkluc3BlY3Rv
ci5MYXllclRyZWVEZXRhaWxzU2lkZWJhclBhbmVsLnByb3RvdHlwZS5fYnVpbGRCb3R0b21CYXIp
OgorICAgICAgICBSZW5hbWUgTGF5ZXJUcmVlU2lkZWJhclBhbmVsIHRvIG1ha2UgaXQgY2xlYXIg
dGhpcyBpcyBhIERldGFpbHNTaWRlYmFyUGFuZWwuCisgICAgICAgIEFkZCB0aGUgImJvdHRvbSBi
YXIiIHRvIHRoZSByb290IGVsZW1lbnQsIGFuZCBzZWN0aW9ucyB0byB0aGUgY29udGVudEVsZW1l
bnQuCisKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL0xheWVyVHJlZURldGFpbHNTaWRl
YmFyUGFuZWwuY3NzOiBSZW5hbWVkIGZyb20gU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRl
cmZhY2UvVmlld3MvTGF5ZXJUcmVlU2lkZWJhclBhbmVsLmNzcy4KKyAgICAgICAgKC5zaWRlYmFy
ID4gLmxheWVyLXRyZWUucGFuZWwgPiAuY29udGVudCk6CisgICAgICAgIChib2R5Lm1hYy1wbGF0
Zm9ybS5sZWdhY3kgLnNpZGViYXIgPiAubGF5ZXItdHJlZS5wYW5lbCA+IC5jb250ZW50KToKKyAg
ICAgICAgU3R5bGUgdGhlIGJvdHRvbSBiYXIgdG8gcGluIGl0IHRvIHRoZSBib3R0b20gb2YgdGhl
IHNpZGViYXIgcGFuZWwuCisKKyAgICAgICAgKFdlYkluc3BlY3Rvci5DU1NTdHlsZURldGFpbHNT
aWRlYmFyUGFuZWwpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkNTU1N0eWxlRGV0YWlsc1NpZGVi
YXJQYW5lbC5wcm90b3R5cGUucmVmcmVzaCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuQ1NTU3R5
bGVEZXRhaWxzU2lkZWJhclBhbmVsLnByb3RvdHlwZS5fbmF2aWdhdGlvbkl0ZW1TZWxlY3RlZCk6
CisgICAgICAgIEFkZCB0aGUgbmF2aWdhdGlvbiBiYXIgdG8gdGhlIHJvb3QgZWxlbWVudCwgYW5k
IHNlY3Rpb25zIHRvIHRoZSBjb250ZW50RWxlbWVudC4KKworICAgICAgICAqIFVzZXJJbnRlcmZh
Y2UvQmFzZS9NYWluLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLmNvbnRlbnRMb2FkZWQpOgor
ICAgICAgICAqIFVzZXJJbnRlcmZhY2UvTWFpbi5odG1sOgorICAgICAgICAqIFdlYkluc3BlY3Rv
clVJLnZjeHByb2ovV2ViSW5zcGVjdG9yVUkudmN4cHJvajoKKyAgICAgICAgKiBXZWJJbnNwZWN0
b3JVSS52Y3hwcm9qL1dlYkluc3BlY3RvclVJLnZjeHByb2ouZmlsdGVyczoKKyAgICAgICAgVXBk
YXRlIGZvciBuZXcgbmFtZXMuCisKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL0FwcGxp
Y2F0aW9uQ2FjaGVEZXRhaWxzU2lkZWJhclBhbmVsLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9y
LkFwcGxpY2F0aW9uQ2FjaGVEZXRhaWxzU2lkZWJhclBhbmVsKToKKyAgICAgICAgKiBVc2VySW50
ZXJmYWNlL1ZpZXdzL0NTU1N0eWxlRGV0YWlsc1NpZGViYXJQYW5lbC5qczoKKyAgICAgICAgKiBV
c2VySW50ZXJmYWNlL1ZpZXdzL0RPTURldGFpbHNTaWRlYmFyUGFuZWwuanM6CisgICAgICAgIChX
ZWJJbnNwZWN0b3IuRE9NRGV0YWlsc1NpZGViYXJQYW5lbCk6CisgICAgICAgICogVXNlckludGVy
ZmFjZS9WaWV3cy9ET01Ob2RlRGV0YWlsc1NpZGViYXJQYW5lbC5qczoKKyAgICAgICAgKFdlYklu
c3BlY3Rvci5ET01Ob2RlRGV0YWlsc1NpZGViYXJQYW5lbCk6CisgICAgICAgICogVXNlckludGVy
ZmFjZS9WaWV3cy9EZXRhaWxzU2lkZWJhclBhbmVsLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9y
LkRldGFpbHNTaWRlYmFyUGFuZWwpOgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvUHJv
YmVEZXRhaWxzU2lkZWJhclBhbmVsLmpzOgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3Mv
UmVzb3VyY2VEZXRhaWxzU2lkZWJhclBhbmVsLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlJl
c291cmNlRGV0YWlsc1NpZGViYXJQYW5lbCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuUmVzb3Vy
Y2VEZXRhaWxzU2lkZWJhclBhbmVsLnByb3RvdHlwZS5fcmVmcmVzaFVSTCk6CisgICAgICAgIChX
ZWJJbnNwZWN0b3IuUmVzb3VyY2VEZXRhaWxzU2lkZWJhclBhbmVsLnByb3RvdHlwZS5fcmVmcmVz
aEltYWdlU2l6ZVNlY3Rpb24pOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlJlc291cmNlRGV0YWls
c1NpZGViYXJQYW5lbC5wcm90b3R5cGUuX3JlZnJlc2hSZXF1ZXN0RGF0YVNlY3Rpb24pOgorICAg
ICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvU2NvcGVDaGFpbkRldGFpbHNTaWRlYmFyUGFuZWwu
anM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuU2NvcGVDaGFpbkRldGFpbHNTaWRlYmFyUGFuZWwu
cHJvdG90eXBlLnJlZnJlc2guZGVsYXllZFdvcmspOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlNj
b3BlQ2hhaW5EZXRhaWxzU2lkZWJhclBhbmVsLnByb3RvdHlwZS5yZWZyZXNoKToKKyAgICAgICAg
QWxsIGRldGFpbHMgc2lkZWJhciBwYW5lbHMgbm93IHVzZSB0aGUgY29udGVudEVsZW1lbnQgaW5z
dGVhZCBvZiBlbGVtZW50IGZvciBjb250ZW50LgorCisyMDE0LTExLTA3ICBKb3NlcGggUGVjb3Jh
cm8gIDxwZWNvcmFyb0BhcHBsZS5jb20+CisKICAgICAgICAgV2ViIEluc3BlY3RvcjogUHNldWRv
IGVsZW1lbnQgbWF0Y2hlZENTU1J1bGVzIGRvIG5vdCBpbmNsdWRlIG1hdGNoaW5nIHNlbGVjdG9y
IGluZm8KICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEz
ODQzOAogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9C
YXNlL01haW4uanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9CYXNlL01h
aW4uanMKaW5kZXggY2M5ZjJjNS4uMjY3MjBjZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3Bl
Y3RvclVJL1VzZXJJbnRlcmZhY2UvQmFzZS9NYWluLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0
b3JVSS9Vc2VySW50ZXJmYWNlL0Jhc2UvTWFpbi5qcwpAQCAtMzA2LDggKzMwNiw4IEBAIFdlYklu
c3BlY3Rvci5jb250ZW50TG9hZGVkID0gZnVuY3Rpb24oKQogICAgICAgICB0aGlzLmRvbU5vZGVE
ZXRhaWxzU2lkZWJhclBhbmVsLCB0aGlzLmNzc1N0eWxlRGV0YWlsc1NpZGViYXJQYW5lbCwgdGhp
cy5wcm9iZURldGFpbHNTaWRlYmFyUGFuZWxdOwogCiAgICAgaWYgKHdpbmRvdy5MYXllclRyZWVB
Z2VudCkgewotICAgICAgICB0aGlzLmxheWVyVHJlZVNpZGViYXJQYW5lbCA9IG5ldyBXZWJJbnNw
ZWN0b3IuTGF5ZXJUcmVlU2lkZWJhclBhbmVsOwotICAgICAgICB0aGlzLmRldGFpbHNTaWRlYmFy
UGFuZWxzLnNwbGljZSh0aGlzLmRldGFpbHNTaWRlYmFyUGFuZWxzLmxlbmd0aCAtIDEsIDAsIHRo
aXMubGF5ZXJUcmVlU2lkZWJhclBhbmVsKTsKKyAgICAgICAgdGhpcy5sYXllclRyZWVEZXRhaWxz
U2lkZWJhclBhbmVsID0gbmV3IFdlYkluc3BlY3Rvci5MYXllclRyZWVEZXRhaWxzU2lkZWJhclBh
bmVsOworICAgICAgICB0aGlzLmRldGFpbHNTaWRlYmFyUGFuZWxzLnNwbGljZSh0aGlzLmRldGFp
bHNTaWRlYmFyUGFuZWxzLmxlbmd0aCAtIDEsIDAsIHRoaXMubGF5ZXJUcmVlRGV0YWlsc1NpZGVi
YXJQYW5lbCk7CiAgICAgfQogCiAgICAgdGhpcy5tb2RpZmllcktleXMgPSB7YWx0S2V5OiBmYWxz
ZSwgbWV0YUtleTogZmFsc2UsIHNoaWZ0S2V5OiBmYWxzZX07CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9NYWluLmh0bWwgYi9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvVXNlckludGVyZmFjZS9NYWluLmh0bWwKaW5kZXggNTQ1YjQxZC4uNzNkMGJlNiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTWFpbi5odG1sCisr
KyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01haW4uaHRtbApAQCAtNzEs
NyArNzEsNiBAQAogICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iVmlld3MvRGF0YWJh
c2VUYWJsZUljb24uY3NzIj4KICAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9IlZpZXdz
L0RlYnVnZ2VyU2lkZWJhclBhbmVsLmNzcyI+CiAgICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBo
cmVmPSJWaWV3cy9EZXRhaWxzU2VjdGlvbi5jc3MiPgotICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVl
dCIgaHJlZj0iVmlld3MvRGV0YWlsc1NpZGViYXJQYW5lbC5jc3MiPgogICAgIDxsaW5rIHJlbD0i
c3R5bGVzaGVldCIgaHJlZj0iVmlld3MvRGl2aWRlck5hdmlnYXRpb25JdGVtLmNzcyI+CiAgICAg
PGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJWaWV3cy9FZGl0aW5nLmNzcyI+CiAgICAgPGxp
bmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJWaWV3cy9FdmVudExpc3RlbmVyU2VjdGlvbkdyb3Vw
LmNzcyI+CkBAIC04Nyw3ICs4Niw3IEBACiAgICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVm
PSJWaWV3cy9JbWFnZVJlc291cmNlQ29udGVudFZpZXcuY3NzIj4KICAgICA8bGluayByZWw9InN0
eWxlc2hlZXQiIGhyZWY9IlZpZXdzL0luZGV0ZXJtaW5hdGVQcm9ncmVzc1NwaW5uZXIuY3NzIj4K
ICAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9IlZpZXdzL0luZGV4ZWREYXRhYmFzZU9i
amVjdFN0b3JlQ29udGVudFZpZXcuY3NzIj4KLSAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhy
ZWY9IlZpZXdzL0xheWVyVHJlZVNpZGViYXJQYW5lbC5jc3MiPgorICAgIDxsaW5rIHJlbD0ic3R5
bGVzaGVldCIgaHJlZj0iVmlld3MvTGF5ZXJUcmVlRGV0YWlsc1NpZGViYXJQYW5lbC5jc3MiPgog
ICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iVmlld3MvTGF5b3V0VGltZWxpbmVPdmVy
dmlld0dyYXBoLmNzcyI+CiAgICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJWaWV3cy9M
YXlvdXRUaW1lbGluZVZpZXcuY3NzIj4KICAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9
IlZpZXdzL0xvZ0NvbnRlbnRWaWV3LmNzcyI+CkBAIC0xMTcsNiArMTE2LDcgQEAKICAgICA8bGlu
ayByZWw9InN0eWxlc2hlZXQiIGhyZWY9IlZpZXdzL1NlYXJjaEljb25zLmNzcyI+CiAgICAgPGxp
bmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJWaWV3cy9TZWN0aW9uLmNzcyI+CiAgICAgPGxpbmsg
cmVsPSJzdHlsZXNoZWV0IiBocmVmPSJWaWV3cy9TaWRlYmFyLmNzcyI+CisgICAgPGxpbmsgcmVs
PSJzdHlsZXNoZWV0IiBocmVmPSJWaWV3cy9TaWRlYmFyUGFuZWwuY3NzIj4KICAgICA8bGluayBy
ZWw9InN0eWxlc2hlZXQiIGhyZWY9IlZpZXdzL1NsaWRlci5jc3MiPgogICAgIDxsaW5rIHJlbD0i
c3R5bGVzaGVldCIgaHJlZj0iVmlld3MvU291cmNlQ29kZVRleHRFZGl0b3IuY3NzIj4KICAgICA8
bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9IlZpZXdzL1N0eWxlUnVsZUljb25zLmNzcyI+CkBA
IC0zOTIsNyArMzkyLDcgQEAKICAgICA8c2NyaXB0IHNyYz0iVmlld3MvSW5kZXhlZERhdGFiYXNl
T2JqZWN0U3RvcmVUcmVlRWxlbWVudC5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCBzcmM9IlZp
ZXdzL0luZGV4ZWREYXRhYmFzZVRyZWVFbGVtZW50LmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0
IHNyYz0iVmlld3MvTGF5ZXJUcmVlRGF0YUdyaWROb2RlLmpzIj48L3NjcmlwdD4KLSAgICA8c2Ny
aXB0IHNyYz0iVmlld3MvTGF5ZXJUcmVlU2lkZWJhclBhbmVsLmpzIj48L3NjcmlwdD4KKyAgICA8
c2NyaXB0IHNyYz0iVmlld3MvTGF5ZXJUcmVlRGV0YWlsc1NpZGViYXJQYW5lbC5qcyI+PC9zY3Jp
cHQ+CiAgICAgPHNjcmlwdCBzcmM9IlZpZXdzL0xheW91dFRpbWVsaW5lRGF0YUdyaWQuanMiPjwv
c2NyaXB0PgogICAgIDxzY3JpcHQgc3JjPSJWaWV3cy9MYXlvdXRUaW1lbGluZURhdGFHcmlkTm9k
ZS5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCBzcmM9IlZpZXdzL0xheW91dFRpbWVsaW5lT3Zl
cnZpZXdHcmFwaC5qcyI+PC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvVXNlckludGVyZmFjZS9WaWV3cy9BcHBsaWNhdGlvbkNhY2hlRGV0YWlsc1NpZGViYXJQYW5l
bC5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0FwcGxpY2F0
aW9uQ2FjaGVEZXRhaWxzU2lkZWJhclBhbmVsLmpzCmluZGV4IDVkMzlmZGIuLjljZDJjNTQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0FwcGxp
Y2F0aW9uQ2FjaGVEZXRhaWxzU2lkZWJhclBhbmVsLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0
b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0FwcGxpY2F0aW9uQ2FjaGVEZXRhaWxzU2lkZWJhclBh
bmVsLmpzCkBAIC0yMywxMCArMjMsMTEgQEAKICAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KICAqLwogCi1XZWJJbnNwZWN0b3IuQXBwbGljYXRpb25DYWNoZURldGFpbHNTaWRlYmFy
UGFuZWwgPSBmdW5jdGlvbigpIHsKK1dlYkluc3BlY3Rvci5BcHBsaWNhdGlvbkNhY2hlRGV0YWls
c1NpZGViYXJQYW5lbCA9IGZ1bmN0aW9uKCkKK3sKICAgICBXZWJJbnNwZWN0b3IuRGV0YWlsc1Np
ZGViYXJQYW5lbC5jYWxsKHRoaXMsICJhcHBsaWNhdGlvbi1jYWNoZS1kZXRhaWxzIiwgV2ViSW5z
cGVjdG9yLlVJU3RyaW5nKCJTdG9yYWdlIiksIFdlYkluc3BlY3Rvci5VSVN0cmluZygiU3RvcmFn
ZSIpLCAiSW1hZ2VzL05hdmlnYXRpb25JdGVtU3RvcmFnZS5zdmciKTsKIAotICAgIHRoaXMuZWxl
bWVudC5jbGFzc0xpc3QuYWRkKFdlYkluc3BlY3Rvci5BcHBsaWNhdGlvbkNhY2hlRGV0YWlsc1Np
ZGViYXJQYW5lbC5TdHlsZUNsYXNzTmFtZSk7CisgICAgdGhpcy5jb250ZW50RWxlbWVudC5jbGFz
c0xpc3QuYWRkKFdlYkluc3BlY3Rvci5BcHBsaWNhdGlvbkNhY2hlRGV0YWlsc1NpZGViYXJQYW5l
bC5TdHlsZUNsYXNzTmFtZSk7CiAKICAgICB0aGlzLl9hcHBsaWNhdGlvbkNhY2hlRnJhbWUgPSBu
dWxsOwogCkBAIC00NCw4ICs0NSw4IEBAIFdlYkluc3BlY3Rvci5BcHBsaWNhdGlvbkNhY2hlRGV0
YWlsc1NpZGViYXJQYW5lbCA9IGZ1bmN0aW9uKCkgewogCiAgICAgdGhpcy5fc3RhdHVzU2VjdGlv
biA9IG5ldyBXZWJJbnNwZWN0b3IuRGV0YWlsc1NlY3Rpb24oImFwcGxpY2F0aW9uLWNhY2hlLXN0
YXR1cyIsIFdlYkluc3BlY3Rvci5VSVN0cmluZygiU3RhdHVzIiksIFt0aGlzLl9zdGF0dXNHcm91
cF0pOwogCi0gICAgdGhpcy5lbGVtZW50LmFwcGVuZENoaWxkKHRoaXMuX2xvY2F0aW9uU2VjdGlv
bi5lbGVtZW50KTsKLSAgICB0aGlzLmVsZW1lbnQuYXBwZW5kQ2hpbGQodGhpcy5fc3RhdHVzU2Vj
dGlvbi5lbGVtZW50KTsKKyAgICB0aGlzLmNvbnRlbnRFbGVtZW50LmFwcGVuZENoaWxkKHRoaXMu
X2xvY2F0aW9uU2VjdGlvbi5lbGVtZW50KTsKKyAgICB0aGlzLmNvbnRlbnRFbGVtZW50LmFwcGVu
ZENoaWxkKHRoaXMuX3N0YXR1c1NlY3Rpb24uZWxlbWVudCk7CiAKICAgICBXZWJJbnNwZWN0b3Iu
YXBwbGljYXRpb25DYWNoZU1hbmFnZXIuYWRkRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuQXBw
bGljYXRpb25DYWNoZU1hbmFnZXIuRXZlbnQuTmV0d29ya1N0YXRlVXBkYXRlZCwgdGhpcy5fbmV0
d29ya1N0YXRlVXBkYXRlZCwgdGhpcyk7CiAgICAgV2ViSW5zcGVjdG9yLmFwcGxpY2F0aW9uQ2Fj
aGVNYW5hZ2VyLmFkZEV2ZW50TGlzdGVuZXIoV2ViSW5zcGVjdG9yLkFwcGxpY2F0aW9uQ2FjaGVN
YW5hZ2VyLkV2ZW50LkZyYW1lTWFuaWZlc3RTdGF0dXNDaGFuZ2VkLCB0aGlzLl9mcmFtZU1hbmlm
ZXN0U3RhdHVzQ2hhbmdlZCwgdGhpcyk7CkBAIC02NSw2ICs2Niw3IEBAIFdlYkluc3BlY3Rvci5B
cHBsaWNhdGlvbkNhY2hlRGV0YWlsc1NpZGViYXJQYW5lbC5TdGF0dXMgPSB7CiAKIFdlYkluc3Bl
Y3Rvci5BcHBsaWNhdGlvbkNhY2hlRGV0YWlsc1NpZGViYXJQYW5lbC5wcm90b3R5cGUgPSB7CiAg
ICAgY29uc3RydWN0b3I6IFdlYkluc3BlY3Rvci5BcHBsaWNhdGlvbkNhY2hlRGV0YWlsc1NpZGVi
YXJQYW5lbCwKKyAgICBfX3Byb3RvX186IFdlYkluc3BlY3Rvci5EZXRhaWxzU2lkZWJhclBhbmVs
LnByb3RvdHlwZSwKIAogICAgIC8vIFB1YmxpYwogCkBAIC0xNDgsNSArMTUwLDMgQEAgV2ViSW5z
cGVjdG9yLkFwcGxpY2F0aW9uQ2FjaGVEZXRhaWxzU2lkZWJhclBhbmVsLnByb3RvdHlwZSA9IHsK
ICAgICAgICAgdGhpcy5fc3RhdHVzUm93LnZhbHVlID0gV2ViSW5zcGVjdG9yLkFwcGxpY2F0aW9u
Q2FjaGVEZXRhaWxzU2lkZWJhclBhbmVsLlN0YXR1c1t0aGlzLmFwcGxpY2F0aW9uQ2FjaGVGcmFt
ZS5zdGF0dXNdOwogICAgIH0KIH07Ci0KLVdlYkluc3BlY3Rvci5BcHBsaWNhdGlvbkNhY2hlRGV0
YWlsc1NpZGViYXJQYW5lbC5wcm90b3R5cGUuX19wcm90b19fID0gV2ViSW5zcGVjdG9yLkRldGFp
bHNTaWRlYmFyUGFuZWwucHJvdG90eXBlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3Rv
clVJL1VzZXJJbnRlcmZhY2UvVmlld3MvQ1NTU3R5bGVEZXRhaWxzU2lkZWJhclBhbmVsLmpzIGIv
U291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvQ1NTU3R5bGVEZXRhaWxz
U2lkZWJhclBhbmVsLmpzCmluZGV4IGM5ZmNiMmYuLjBlYThmOWMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0NTU1N0eWxlRGV0YWlsc1NpZGVi
YXJQYW5lbC5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3
cy9DU1NTdHlsZURldGFpbHNTaWRlYmFyUGFuZWwuanMKQEAgLTMxLDEwICszMSw3IEBAIFdlYklu
c3BlY3Rvci5DU1NTdHlsZURldGFpbHNTaWRlYmFyUGFuZWwgPSBmdW5jdGlvbigpCiAKICAgICB0
aGlzLl9uYXZpZ2F0aW9uQmFyID0gbmV3IFdlYkluc3BlY3Rvci5OYXZpZ2F0aW9uQmFyKG51bGws
IG51bGwsICJ0YWJsaXN0Iik7CiAgICAgdGhpcy5fbmF2aWdhdGlvbkJhci5hZGRFdmVudExpc3Rl
bmVyKFdlYkluc3BlY3Rvci5OYXZpZ2F0aW9uQmFyLkV2ZW50Lk5hdmlnYXRpb25JdGVtU2VsZWN0
ZWQsIHRoaXMuX25hdmlnYXRpb25JdGVtU2VsZWN0ZWQsIHRoaXMpOwotICAgIHRoaXMuZWxlbWVu
dC5hcHBlbmRDaGlsZCh0aGlzLl9uYXZpZ2F0aW9uQmFyLmVsZW1lbnQpOwotCi0gICAgdGhpcy5f
Y29udGVudEVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKLSAgICB0aGlz
Ll9jb250ZW50RWxlbWVudC5jbGFzc05hbWUgPSBXZWJJbnNwZWN0b3IuQ1NTU3R5bGVEZXRhaWxz
U2lkZWJhclBhbmVsLkNvbnRlbnRTdHlsZUNsYXNzTmFtZTsKKyAgICB0aGlzLmVsZW1lbnQuaW5z
ZXJ0QmVmb3JlKHRoaXMuX25hdmlnYXRpb25CYXIuZWxlbWVudCwgdGhpcy5jb250ZW50RWxlbWVu
dCk7CiAKICAgICB0aGlzLl9mb3JjZWRQc2V1ZG9DbGFzc0NoZWNrYm94ZXMgPSB7fTsKIApAQCAt
NjgsMTEgKzY1LDkgQEAgV2ViSW5zcGVjdG9yLkNTU1N0eWxlRGV0YWlsc1NpZGViYXJQYW5lbCA9
IGZ1bmN0aW9uKCkKICAgICAgICAgICAgIGdyb3VwRWxlbWVudC5hcHBlbmRDaGlsZChsYWJlbEVs
ZW1lbnQpOwogICAgICAgICB9LCB0aGlzKTsKIAotICAgICAgICB0aGlzLl9jb250ZW50RWxlbWVu
dC5hcHBlbmRDaGlsZCh0aGlzLl9mb3JjZWRQc2V1ZG9DbGFzc0NvbnRhaW5lcik7CisgICAgICAg
IHRoaXMuY29udGVudEVsZW1lbnQuYXBwZW5kQ2hpbGQodGhpcy5fZm9yY2VkUHNldWRvQ2xhc3ND
b250YWluZXIpOwogICAgIH0KIAotICAgIHRoaXMuZWxlbWVudC5hcHBlbmRDaGlsZCh0aGlzLl9j
b250ZW50RWxlbWVudCk7Ci0KICAgICB0aGlzLl9jb21wdXRlZFN0eWxlRGV0YWlsc1BhbmVsID0g
bmV3IFdlYkluc3BlY3Rvci5Db21wdXRlZFN0eWxlRGV0YWlsc1BhbmVsOwogICAgIHRoaXMuX3J1
bGVzU3R5bGVEZXRhaWxzUGFuZWwgPSBuZXcgV2ViSW5zcGVjdG9yLlJ1bGVzU3R5bGVEZXRhaWxz
UGFuZWw7CiAgICAgdGhpcy5fbWV0cmljc1N0eWxlRGV0YWlsc1BhbmVsID0gbmV3IFdlYkluc3Bl
Y3Rvci5NZXRyaWNzU3R5bGVEZXRhaWxzUGFuZWw7CkBAIC04OSwxMyArODQsMTMgQEAgV2ViSW5z
cGVjdG9yLkNTU1N0eWxlRGV0YWlsc1NpZGViYXJQYW5lbCA9IGZ1bmN0aW9uKCkKICAgICB0aGlz
Ll9uYXZpZ2F0aW9uQmFyLnNlbGVjdGVkTmF2aWdhdGlvbkl0ZW0gPSB0aGlzLl9sYXN0U2VsZWN0
ZWRTZWN0aW9uU2V0dGluZy52YWx1ZTsKIH07CiAKLVdlYkluc3BlY3Rvci5DU1NTdHlsZURldGFp
bHNTaWRlYmFyUGFuZWwuQ29udGVudFN0eWxlQ2xhc3NOYW1lID0gImNvbnRlbnQiOwogV2ViSW5z
cGVjdG9yLkNTU1N0eWxlRGV0YWlsc1NpZGViYXJQYW5lbC5Qc2V1ZG9DbGFzc2VzRWxlbWVudFN0
eWxlQ2xhc3NOYW1lID0gInBzZXVkby1jbGFzc2VzIjsKIFdlYkluc3BlY3Rvci5DU1NTdHlsZURl
dGFpbHNTaWRlYmFyUGFuZWwuUHNldWRvQ2xhc3Nlc0dyb3VwRWxlbWVudFN0eWxlQ2xhc3NOYW1l
ID0gImdyb3VwIjsKIFdlYkluc3BlY3Rvci5DU1NTdHlsZURldGFpbHNTaWRlYmFyUGFuZWwuTm9G
b3JjZWRQc2V1ZG9DbGFzc2VzU2Nyb2xsT2Zmc2V0ID0gMzg7IC8vIERlZmF1bHQgaGVpZ2h0IG9m
IHRoZSBmb3JjZWQgcHNldWRvIGNsYXNzZXMgY29udGFpbmVyLiBVcGRhdGVkIGluIHdpZHRoRGlk
Q2hhbmdlLgogCiBXZWJJbnNwZWN0b3IuQ1NTU3R5bGVEZXRhaWxzU2lkZWJhclBhbmVsLnByb3Rv
dHlwZSA9IHsKICAgICBjb25zdHJ1Y3RvcjogV2ViSW5zcGVjdG9yLkNTU1N0eWxlRGV0YWlsc1Np
ZGViYXJQYW5lbCwKKyAgICBfX3Byb3RvX186IFdlYkluc3BlY3Rvci5ET01EZXRhaWxzU2lkZWJh
clBhbmVsLnByb3RvdHlwZSwKIAogICAgIC8vIFB1YmxpYwogCkBAIC0xMTAsNyArMTA1LDcgQEAg
V2ViSW5zcGVjdG9yLkNTU1N0eWxlRGV0YWlsc1NpZGViYXJQYW5lbC5wcm90b3R5cGUgPSB7CiAg
ICAgICAgIGlmICghZG9tTm9kZSkKICAgICAgICAgICAgIHJldHVybjsKIAotICAgICAgICB0aGlz
Ll9jb250ZW50RWxlbWVudC5zY3JvbGxUb3AgPSB0aGlzLl9pbml0aWFsU2Nyb2xsT2Zmc2V0Owor
ICAgICAgICB0aGlzLmNvbnRlbnRFbGVtZW50LnNjcm9sbFRvcCA9IHRoaXMuX2luaXRpYWxTY3Jv
bGxPZmZzZXQ7CiAKICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLl9wYW5lbHMubGVu
Z3RoOyArK2kpIHsKICAgICAgICAgICAgIGRlbGV0ZSB0aGlzLl9wYW5lbHNbaV0uZWxlbWVudC5f
c2F2ZWRTY3JvbGxUb3A7CkBAIC0xOTUsMTkgKzE5MCwxOSBAQCBXZWJJbnNwZWN0b3IuQ1NTU3R5
bGVEZXRhaWxzU2lkZWJhclBhbmVsLnByb3RvdHlwZSA9IHsKIAogICAgICAgICBpZiAodGhpcy5f
c2VsZWN0ZWRQYW5lbCkgewogICAgICAgICAgICAgdGhpcy5fc2VsZWN0ZWRQYW5lbC5oaWRkZW4o
KTsKLSAgICAgICAgICAgIHRoaXMuX3NlbGVjdGVkUGFuZWwuZWxlbWVudC5fc2F2ZWRTY3JvbGxU
b3AgPSB0aGlzLl9jb250ZW50RWxlbWVudC5zY3JvbGxUb3A7CisgICAgICAgICAgICB0aGlzLl9z
ZWxlY3RlZFBhbmVsLmVsZW1lbnQuX3NhdmVkU2Nyb2xsVG9wID0gdGhpcy5jb250ZW50RWxlbWVu
dC5zY3JvbGxUb3A7CiAgICAgICAgICAgICB0aGlzLl9zZWxlY3RlZFBhbmVsLmVsZW1lbnQucmVt
b3ZlKCk7CiAgICAgICAgIH0KIAogICAgICAgICB0aGlzLl9zZWxlY3RlZFBhbmVsID0gc2VsZWN0
ZWRQYW5lbDsKIAogICAgICAgICBpZiAodGhpcy5fc2VsZWN0ZWRQYW5lbCkgewotICAgICAgICAg
ICAgdGhpcy5fY29udGVudEVsZW1lbnQuYXBwZW5kQ2hpbGQodGhpcy5fc2VsZWN0ZWRQYW5lbC5l
bGVtZW50KTsKKyAgICAgICAgICAgIHRoaXMuY29udGVudEVsZW1lbnQuYXBwZW5kQ2hpbGQodGhp
cy5fc2VsZWN0ZWRQYW5lbC5lbGVtZW50KTsKIAogICAgICAgICAgICAgaWYgKHR5cGVvZiB0aGlz
Ll9zZWxlY3RlZFBhbmVsLmVsZW1lbnQuX3NhdmVkU2Nyb2xsVG9wID09PSAibnVtYmVyIikKLSAg
ICAgICAgICAgICAgICB0aGlzLl9jb250ZW50RWxlbWVudC5zY3JvbGxUb3AgPSB0aGlzLl9zZWxl
Y3RlZFBhbmVsLmVsZW1lbnQuX3NhdmVkU2Nyb2xsVG9wOworICAgICAgICAgICAgICAgIHRoaXMu
Y29udGVudEVsZW1lbnQuc2Nyb2xsVG9wID0gdGhpcy5fc2VsZWN0ZWRQYW5lbC5lbGVtZW50Ll9z
YXZlZFNjcm9sbFRvcDsKICAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICB0aGlzLl9j
b250ZW50RWxlbWVudC5zY3JvbGxUb3AgPSB0aGlzLl9pbml0aWFsU2Nyb2xsT2Zmc2V0OworICAg
ICAgICAgICAgICAgIHRoaXMuY29udGVudEVsZW1lbnQuc2Nyb2xsVG9wID0gdGhpcy5faW5pdGlh
bFNjcm9sbE9mZnNldDsKIAogICAgICAgICAgICAgdGhpcy5fc2VsZWN0ZWRQYW5lbC5zaG93bigp
OwogICAgICAgICB9CkBAIC0yMzYsNSArMjMxLDMgQEAgV2ViSW5zcGVjdG9yLkNTU1N0eWxlRGV0
YWlsc1NpZGViYXJQYW5lbC5wcm90b3R5cGUgPSB7CiAgICAgICAgIH0KICAgICB9CiB9OwotCi1X
ZWJJbnNwZWN0b3IuQ1NTU3R5bGVEZXRhaWxzU2lkZWJhclBhbmVsLnByb3RvdHlwZS5fX3Byb3Rv
X18gPSBXZWJJbnNwZWN0b3IuRE9NRGV0YWlsc1NpZGViYXJQYW5lbC5wcm90b3R5cGU7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9ET01EZXRh
aWxzU2lkZWJhclBhbmVsLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2Uv
Vmlld3MvRE9NRGV0YWlsc1NpZGViYXJQYW5lbC5qcwppbmRleCA2NmQxZDQxLi5hMDE4NDY2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9ET01E
ZXRhaWxzU2lkZWJhclBhbmVsLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50
ZXJmYWNlL1ZpZXdzL0RPTURldGFpbHNTaWRlYmFyUGFuZWwuanMKQEAgLTIzLDcgKzIzLDggQEAK
ICAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KICAqLwogCi1XZWJJbnNwZWN0b3Iu
RE9NRGV0YWlsc1NpZGViYXJQYW5lbCA9IGZ1bmN0aW9uKGlkZW50aWZpZXIsIGRpc3BsYXlOYW1l
LCBzaW5ndWxhckRpc3BsYXlOYW1lLCBpbWFnZSwga2V5Ym9hcmRTaG9ydGN1dEtleSwgZWxlbWVu
dCkgeworV2ViSW5zcGVjdG9yLkRPTURldGFpbHNTaWRlYmFyUGFuZWwgPSBmdW5jdGlvbihpZGVu
dGlmaWVyLCBkaXNwbGF5TmFtZSwgc2luZ3VsYXJEaXNwbGF5TmFtZSwgaW1hZ2UsIGtleWJvYXJk
U2hvcnRjdXRLZXksIGVsZW1lbnQpCit7CiAgICAgV2ViSW5zcGVjdG9yLkRldGFpbHNTaWRlYmFy
UGFuZWwuY2FsbCh0aGlzLCBpZGVudGlmaWVyLCBkaXNwbGF5TmFtZSwgc2luZ3VsYXJEaXNwbGF5
TmFtZSwgaW1hZ2UsIGtleWJvYXJkU2hvcnRjdXRLZXksIGVsZW1lbnQpOwogCiAgICAgdGhpcy5l
bGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgdGhpcy5fbW91c2VXYXNDbGlja2VkLmJp
bmQodGhpcyksIHRydWUpOwpAQCAtMzMsNiArMzQsNyBAQCBXZWJJbnNwZWN0b3IuRE9NRGV0YWls
c1NpZGViYXJQYW5lbCA9IGZ1bmN0aW9uKGlkZW50aWZpZXIsIGRpc3BsYXlOYW1lLCBzaW5ndWxh
cgogCiBXZWJJbnNwZWN0b3IuRE9NRGV0YWlsc1NpZGViYXJQYW5lbC5wcm90b3R5cGUgPSB7CiAg
ICAgY29uc3RydWN0b3I6IFdlYkluc3BlY3Rvci5ET01EZXRhaWxzU2lkZWJhclBhbmVsLAorICAg
IF9fcHJvdG9fXzogV2ViSW5zcGVjdG9yLkRldGFpbHNTaWRlYmFyUGFuZWwucHJvdG90eXBlLAog
CiAgICAgLy8gUHVibGljCiAKQEAgLTExMCw1ICsxMTIsMyBAQCBXZWJJbnNwZWN0b3IuRE9NRGV0
YWlsc1NpZGViYXJQYW5lbC5wcm90b3R5cGUgPSB7CiAgICAgICAgIFdlYkluc3BlY3Rvci5oYW5k
bGVQb3NzaWJsZUxpbmtDbGljayhldmVudCwgcGFyZW50RnJhbWUpOwogICAgIH0KIH07Ci0KLVdl
Ykluc3BlY3Rvci5ET01EZXRhaWxzU2lkZWJhclBhbmVsLnByb3RvdHlwZS5fX3Byb3RvX18gPSBX
ZWJJbnNwZWN0b3IuRGV0YWlsc1NpZGViYXJQYW5lbC5wcm90b3R5cGU7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9ET01Ob2RlRGV0YWlsc1Np
ZGViYXJQYW5lbC5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdz
L0RPTU5vZGVEZXRhaWxzU2lkZWJhclBhbmVsLmpzCmluZGV4IDkxNWZjNDMuLmFhZDI1YjcgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0RPTU5v
ZGVEZXRhaWxzU2lkZWJhclBhbmVsLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2Vy
SW50ZXJmYWNlL1ZpZXdzL0RPTU5vZGVEZXRhaWxzU2lkZWJhclBhbmVsLmpzCkBAIC0yMywxMyAr
MjMsMTQgQEAKICAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KICAqLwogCi1XZWJJ
bnNwZWN0b3IuRE9NTm9kZURldGFpbHNTaWRlYmFyUGFuZWwgPSBmdW5jdGlvbigpIHsKK1dlYklu
c3BlY3Rvci5ET01Ob2RlRGV0YWlsc1NpZGViYXJQYW5lbCA9IGZ1bmN0aW9uKCkKK3sKICAgICBX
ZWJJbnNwZWN0b3IuRE9NRGV0YWlsc1NpZGViYXJQYW5lbC5jYWxsKHRoaXMsICJkb20tbm9kZS1k
ZXRhaWxzIiwgV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJOb2RlIiksIFdlYkluc3BlY3Rvci5VSVN0
cmluZygiTm9kZSIpLCAiSW1hZ2VzL05hdmlnYXRpb25JdGVtQW5nbGVCcmFja2V0cy5zdmciLCAi
MiIpOwogCiAgICAgV2ViSW5zcGVjdG9yLmRvbVRyZWVNYW5hZ2VyLmFkZEV2ZW50TGlzdGVuZXIo
V2ViSW5zcGVjdG9yLkRPTVRyZWVNYW5hZ2VyLkV2ZW50LkF0dHJpYnV0ZU1vZGlmaWVkLCB0aGlz
Ll9hdHRyaWJ1dGVzQ2hhbmdlZCwgdGhpcyk7CiAgICAgV2ViSW5zcGVjdG9yLmRvbVRyZWVNYW5h
Z2VyLmFkZEV2ZW50TGlzdGVuZXIoV2ViSW5zcGVjdG9yLkRPTVRyZWVNYW5hZ2VyLkV2ZW50LkF0
dHJpYnV0ZVJlbW92ZWQsIHRoaXMuX2F0dHJpYnV0ZXNDaGFuZ2VkLCB0aGlzKTsKIAotICAgIHRo
aXMuZWxlbWVudC5jbGFzc0xpc3QuYWRkKFdlYkluc3BlY3Rvci5ET01Ob2RlRGV0YWlsc1NpZGVi
YXJQYW5lbC5TdHlsZUNsYXNzTmFtZSk7CisgICAgdGhpcy5jb250ZW50RWxlbWVudC5jbGFzc0xp
c3QuYWRkKFdlYkluc3BlY3Rvci5ET01Ob2RlRGV0YWlsc1NpZGViYXJQYW5lbC5TdHlsZUNsYXNz
TmFtZSk7CiAKICAgICB0aGlzLl9pZGVudGl0eU5vZGVUeXBlUm93ID0gbmV3IFdlYkluc3BlY3Rv
ci5EZXRhaWxzU2VjdGlvblNpbXBsZVJvdyhXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIlR5cGUiKSk7
CiAgICAgdGhpcy5faWRlbnRpdHlOb2RlTmFtZVJvdyA9IG5ldyBXZWJJbnNwZWN0b3IuRGV0YWls
c1NlY3Rpb25TaW1wbGVSb3coV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJOYW1lIikpOwpAQCAtNTEs
MTAgKzUyLDEwIEBAIFdlYkluc3BlY3Rvci5ET01Ob2RlRGV0YWlsc1NpZGViYXJQYW5lbCA9IGZ1
bmN0aW9uKCkgewogICAgIHRoaXMuX2V2ZW50TGlzdGVuZXJzU2VjdGlvbkdyb3VwID0gbmV3IFdl
Ykluc3BlY3Rvci5EZXRhaWxzU2VjdGlvbkdyb3VwOwogICAgIHZhciBldmVudExpc3RlbmVyc1Nl
Y3Rpb24gPSBuZXcgV2ViSW5zcGVjdG9yLkRldGFpbHNTZWN0aW9uKCJkb20tbm9kZS1ldmVudC1s
aXN0ZW5lcnMiLCBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkV2ZW50IExpc3RlbmVycyIpLCBbdGhp
cy5fZXZlbnRMaXN0ZW5lcnNTZWN0aW9uR3JvdXBdKTsgICAgCiAKLSAgICB0aGlzLmVsZW1lbnQu
YXBwZW5kQ2hpbGQoaWRlbnRpdHlTZWN0aW9uLmVsZW1lbnQpOwotICAgIHRoaXMuZWxlbWVudC5h
cHBlbmRDaGlsZChhdHRyaWJ1dGVzU2VjdGlvbi5lbGVtZW50KTsKLSAgICB0aGlzLmVsZW1lbnQu
YXBwZW5kQ2hpbGQocHJvcGVydGllc1NlY3Rpb24uZWxlbWVudCk7Ci0gICAgdGhpcy5lbGVtZW50
LmFwcGVuZENoaWxkKGV2ZW50TGlzdGVuZXJzU2VjdGlvbi5lbGVtZW50KTsKKyAgICB0aGlzLmNv
bnRlbnRFbGVtZW50LmFwcGVuZENoaWxkKGlkZW50aXR5U2VjdGlvbi5lbGVtZW50KTsKKyAgICB0
aGlzLmNvbnRlbnRFbGVtZW50LmFwcGVuZENoaWxkKGF0dHJpYnV0ZXNTZWN0aW9uLmVsZW1lbnQp
OworICAgIHRoaXMuY29udGVudEVsZW1lbnQuYXBwZW5kQ2hpbGQocHJvcGVydGllc1NlY3Rpb24u
ZWxlbWVudCk7CisgICAgdGhpcy5jb250ZW50RWxlbWVudC5hcHBlbmRDaGlsZChldmVudExpc3Rl
bmVyc1NlY3Rpb24uZWxlbWVudCk7CiAKICAgICBpZiAodGhpcy5fYWNjZXNzaWJpbGl0eVN1cHBv
cnRlZCgpKSB7CiAgICAgICAgIHRoaXMuX2FjY2Vzc2liaWxpdHlFbXB0eVJvdyA9IG5ldyBXZWJJ
bnNwZWN0b3IuRGV0YWlsc1NlY3Rpb25Sb3coV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJObyBBY2Nl
c3NpYmlsaXR5IEluZm9ybWF0aW9uIikpOwpAQCAtODQsNyArODUsNyBAQCBXZWJJbnNwZWN0b3Iu
RE9NTm9kZURldGFpbHNTaWRlYmFyUGFuZWwgPSBmdW5jdGlvbigpIHsKICAgICAgICAgdGhpcy5f
YWNjZXNzaWJpbGl0eUdyb3VwID0gbmV3IFdlYkluc3BlY3Rvci5EZXRhaWxzU2VjdGlvbkdyb3Vw
KFt0aGlzLl9hY2Nlc3NpYmlsaXR5RW1wdHlSb3ddKTsKICAgICAgICAgdmFyIGFjY2Vzc2liaWxp
dHlTZWN0aW9uID0gbmV3IFdlYkluc3BlY3Rvci5EZXRhaWxzU2VjdGlvbigiZG9tLW5vZGUtYWNj
ZXNzaWJpbGl0eSIsIFdlYkluc3BlY3Rvci5VSVN0cmluZygiQWNjZXNzaWJpbGl0eSIpLCBbdGhp
cy5fYWNjZXNzaWJpbGl0eUdyb3VwXSk7ICAgIAogCi0gICAgICAgIHRoaXMuZWxlbWVudC5hcHBl
bmRDaGlsZChhY2Nlc3NpYmlsaXR5U2VjdGlvbi5lbGVtZW50KTsKKyAgICAgICAgdGhpcy5jb250
ZW50RWxlbWVudC5hcHBlbmRDaGlsZChhY2Nlc3NpYmlsaXR5U2VjdGlvbi5lbGVtZW50KTsKICAg
ICB9CiB9OwogCkBAIC05Myw2ICs5NCw3IEBAIFdlYkluc3BlY3Rvci5ET01Ob2RlRGV0YWlsc1Np
ZGViYXJQYW5lbC5Qcm9wZXJ0aWVzT2JqZWN0R3JvdXBOYW1lID0gImRvbS1ub2RlLWRlCiAKIFdl
Ykluc3BlY3Rvci5ET01Ob2RlRGV0YWlsc1NpZGViYXJQYW5lbC5wcm90b3R5cGUgPSB7CiAgICAg
Y29uc3RydWN0b3I6IFdlYkluc3BlY3Rvci5ET01Ob2RlRGV0YWlsc1NpZGViYXJQYW5lbCwKKyAg
ICBfX3Byb3RvX186IFdlYkluc3BlY3Rvci5ET01EZXRhaWxzU2lkZWJhclBhbmVsLnByb3RvdHlw
ZSwKIAogICAgIC8vIFB1YmxpYwogCkBAIC01ODksNSArNTkxLDMgQEAgV2ViSW5zcGVjdG9yLkRP
TU5vZGVEZXRhaWxzU2lkZWJhclBhbmVsLnByb3RvdHlwZSA9IHsKICAgICAgICAgcmV0dXJuIGRh
dGFHcmlkOwogICAgIH0KIH07Ci0KLVdlYkluc3BlY3Rvci5ET01Ob2RlRGV0YWlsc1NpZGViYXJQ
YW5lbC5wcm90b3R5cGUuX19wcm90b19fID0gV2ViSW5zcGVjdG9yLkRPTURldGFpbHNTaWRlYmFy
UGFuZWwucHJvdG90eXBlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJ
bnRlcmZhY2UvVmlld3MvRGV0YWlsc1NpZGViYXJQYW5lbC5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0
b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0RldGFpbHNTaWRlYmFyUGFuZWwuanMKaW5kZXggNzAz
MTdlNi4uMTM4ZTY4NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRl
cmZhY2UvVmlld3MvRGV0YWlsc1NpZGViYXJQYW5lbC5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9EZXRhaWxzU2lkZWJhclBhbmVsLmpzCkBAIC0yMyw3
ICsyMyw4IEBACiAgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAgKi8KIAotV2Vi
SW5zcGVjdG9yLkRldGFpbHNTaWRlYmFyUGFuZWwgPSBmdW5jdGlvbihpZGVudGlmaWVyLCBkaXNw
bGF5TmFtZSwgc2luZ3VsYXJEaXNwbGF5TmFtZSwgaW1hZ2UsIGtleWJvYXJkU2hvcnRjdXRLZXks
IGVsZW1lbnQpIHsKK1dlYkluc3BlY3Rvci5EZXRhaWxzU2lkZWJhclBhbmVsID0gZnVuY3Rpb24o
aWRlbnRpZmllciwgZGlzcGxheU5hbWUsIHNpbmd1bGFyRGlzcGxheU5hbWUsIGltYWdlLCBrZXli
b2FyZFNob3J0Y3V0S2V5LCBlbGVtZW50KQorewogICAgIGlmIChrZXlib2FyZFNob3J0Y3V0S2V5
KQogICAgICAgICB0aGlzLl9rZXlib2FyZFNob3J0Y3V0ID0gbmV3IFdlYkluc3BlY3Rvci5LZXli
b2FyZFNob3J0Y3V0KFdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0Lk1vZGlmaWVyLkNvbnRy
b2wgfCBXZWJJbnNwZWN0b3IuS2V5Ym9hcmRTaG9ydGN1dC5Nb2RpZmllci5TaGlmdCwga2V5Ym9h
cmRTaG9ydGN1dEtleSwgdGhpcy50b2dnbGUuYmluZCh0aGlzKSk7CiAKQEAgLTQ0LDYgKzQ1LDcg
QEAgV2ViSW5zcGVjdG9yLkRldGFpbHNTaWRlYmFyUGFuZWwuU3R5bGVDbGFzc05hbWUgPSAiZGV0
YWlscyI7CiAKIFdlYkluc3BlY3Rvci5EZXRhaWxzU2lkZWJhclBhbmVsLnByb3RvdHlwZSA9IHsK
ICAgICBjb25zdHJ1Y3RvcjogV2ViSW5zcGVjdG9yLkRldGFpbHNTaWRlYmFyUGFuZWwsCisgICAg
X19wcm90b19fOiBXZWJJbnNwZWN0b3IuU2lkZWJhclBhbmVsLnByb3RvdHlwZSwKIAogICAgIC8v
IFB1YmxpYwogCkBAIC03Niw1ICs3OCwzIEBAIFdlYkluc3BlY3Rvci5EZXRhaWxzU2lkZWJhclBh
bmVsLnByb3RvdHlwZSA9IHsKICAgICAgICAgLy8gSW1wbGVtZW50ZWQgYnkgc3ViY2xhc3Nlcy4K
ICAgICB9CiB9OwotCi1XZWJJbnNwZWN0b3IuRGV0YWlsc1NpZGViYXJQYW5lbC5wcm90b3R5cGUu
X19wcm90b19fID0gV2ViSW5zcGVjdG9yLlNpZGViYXJQYW5lbC5wcm90b3R5cGU7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9MYXllclRyZWVT
aWRlYmFyUGFuZWwuY3NzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmll
d3MvTGF5ZXJUcmVlRGV0YWlsc1NpZGViYXJQYW5lbC5jc3MKc2ltaWxhcml0eSBpbmRleCA5MCUK
cmVuYW1lIGZyb20gU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvTGF5
ZXJUcmVlU2lkZWJhclBhbmVsLmNzcwpyZW5hbWUgdG8gU291cmNlL1dlYkluc3BlY3RvclVJL1Vz
ZXJJbnRlcmZhY2UvVmlld3MvTGF5ZXJUcmVlRGV0YWlsc1NpZGViYXJQYW5lbC5jc3MKaW5kZXgg
ZmViMmVhYi4uMDQzNzhiZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJ
bnRlcmZhY2UvVmlld3MvTGF5ZXJUcmVlU2lkZWJhclBhbmVsLmNzcworKysgYi9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9MYXllclRyZWVEZXRhaWxzU2lkZWJhclBh
bmVsLmNzcwpAQCAtMjMsNiArMjMsMTQgQEAKICAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KICAqLwogCisuc2lkZWJhciA+IC5sYXllci10cmVlLnBhbmVsID4gLmNvbnRlbnQgewor
ICAgIGJvdHRvbTogMjhweDsKK30KKworYm9keS5tYWMtcGxhdGZvcm0ubGVnYWN5IC5zaWRlYmFy
ID4gLmxheWVyLXRyZWUucGFuZWwgPiAuY29udGVudCB7CisgICAgYm90dG9tOiAyMnB4OworfQor
CiAubGF5ZXItdHJlZS5wYW5lbCAuZGF0YS1ncmlkIHsKICAgICBib3JkZXItcmlnaHQ6IG5vbmU7
CiAgICAgYm9yZGVyLWxlZnQ6IG5vbmU7CkBAIC01MiwxMyArNjAsMTYgQEAKIH0KIAogLmxheWVy
LXRyZWUucGFuZWwgLmJvdHRvbS1iYXIgewotICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKLSAgICBo
ZWlnaHQ6IDI4cHg7CisgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgIGRpc3BsYXk6IGZsZXg7
CisgICAgYm90dG9tOiAwOworICAgIHdpZHRoOiAxMDAlOworICAgIGJvcmRlci10b3A6IDFweCBz
b2xpZCByZ2IoMTc5LCAxNzksIDE3OSk7CisgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7CiB9
CiAKIGJvZHkubWFjLXBsYXRmb3JtLmxlZ2FjeSAubGF5ZXItdHJlZS5wYW5lbCAuYm90dG9tLWJh
ciB7Ci0gICAgaGVpZ2h0OiAyMnB4OworICAgIGhlaWdodDogMjNweDsKIH0KIAogLmxheWVyLXRy
ZWUucGFuZWwgLmJvdHRvbS1iYXIgPiBkaXYgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3Bl
Y3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvTGF5ZXJUcmVlU2lkZWJhclBhbmVsLmpzIGIvU291
cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvTGF5ZXJUcmVlRGV0YWlsc1Np
ZGViYXJQYW5lbC5qcwpzaW1pbGFyaXR5IGluZGV4IDk2JQpyZW5hbWUgZnJvbSBTb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9MYXllclRyZWVTaWRlYmFyUGFuZWwuanMK
cmVuYW1lIHRvIFNvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0xheWVy
VHJlZURldGFpbHNTaWRlYmFyUGFuZWwuanMKaW5kZXggMDc3MDYzYi4uMzZhMTg1ZSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvTGF5ZXJUcmVl
U2lkZWJhclBhbmVsLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNl
L1ZpZXdzL0xheWVyVHJlZURldGFpbHNTaWRlYmFyUGFuZWwuanMKQEAgLTIzLDEyICsyMywxMyBA
QAogICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogICovCiAKLVdlYkluc3BlY3Rv
ci5MYXllclRyZWVTaWRlYmFyUGFuZWwgPSBmdW5jdGlvbigpIHsKK1dlYkluc3BlY3Rvci5MYXll
clRyZWVEZXRhaWxzU2lkZWJhclBhbmVsID0gZnVuY3Rpb24oKQorewogICAgIFdlYkluc3BlY3Rv
ci5ET01EZXRhaWxzU2lkZWJhclBhbmVsLmNhbGwodGhpcywgImxheWVyLXRyZWUiLCBXZWJJbnNw
ZWN0b3IuVUlTdHJpbmcoIkxheWVycyIpLCBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkxheWVyIiks
ICJJbWFnZXMvTmF2aWdhdGlvbkl0ZW1MYXllcnMuc3ZnIiwgIjMiKTsKIAogICAgIHRoaXMuX2Rh
dGFHcmlkTm9kZXNCeUxheWVySWQgPSB7fTsKIAotICAgIHRoaXMuZWxlbWVudC5jbGFzc0xpc3Qu
YWRkKFdlYkluc3BlY3Rvci5MYXllclRyZWVTaWRlYmFyUGFuZWwuU3R5bGVDbGFzc05hbWUpOwor
ICAgIHRoaXMuZWxlbWVudC5jbGFzc0xpc3QuYWRkKFdlYkluc3BlY3Rvci5MYXllclRyZWVEZXRh
aWxzU2lkZWJhclBhbmVsLlN0eWxlQ2xhc3NOYW1lKTsKIAogICAgIFdlYkluc3BlY3Rvci5zaG93
U2hhZG93RE9NU2V0dGluZy5hZGRFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5TZXR0aW5nLkV2
ZW50LkNoYW5nZWQsIHRoaXMuX3Nob3dTaGFkb3dET01TZXR0aW5nQ2hhbmdlZCwgdGhpcyk7CiAK
QEAgLTM5LDEwICs0MCwxMSBAQCBXZWJJbnNwZWN0b3IuTGF5ZXJUcmVlU2lkZWJhclBhbmVsID0g
ZnVuY3Rpb24oKSB7CiAgICAgdGhpcy5fYnVpbGRCb3R0b21CYXIoKTsKIH07CiAKLVdlYkluc3Bl
Y3Rvci5MYXllclRyZWVTaWRlYmFyUGFuZWwuU3R5bGVDbGFzc05hbWUgPSAibGF5ZXItdHJlZSI7
CitXZWJJbnNwZWN0b3IuTGF5ZXJUcmVlRGV0YWlsc1NpZGViYXJQYW5lbC5TdHlsZUNsYXNzTmFt
ZSA9ICJsYXllci10cmVlIjsKIAotV2ViSW5zcGVjdG9yLkxheWVyVHJlZVNpZGViYXJQYW5lbC5w
cm90b3R5cGUgPSB7Ci0gICAgY29uc3RydWN0b3I6IFdlYkluc3BlY3Rvci5MYXllclRyZWVTaWRl
YmFyUGFuZWwsCitXZWJJbnNwZWN0b3IuTGF5ZXJUcmVlRGV0YWlsc1NpZGViYXJQYW5lbC5wcm90
b3R5cGUgPSB7CisgICAgY29uc3RydWN0b3I6IFdlYkluc3BlY3Rvci5MYXllclRyZWVEZXRhaWxz
U2lkZWJhclBhbmVsLAorICAgIF9fcHJvdG9fXzogV2ViSW5zcGVjdG9yLkRPTURldGFpbHNTaWRl
YmFyUGFuZWwucHJvdG90eXBlLAogCiAgICAgLy8gRGV0YWlsc1NpZGViYXJQYW5lbCBPdmVycmlk
ZXMuCiAKQEAgLTExOSw3ICsxMjEsNyBAQCBXZWJJbnNwZWN0b3IuTGF5ZXJUcmVlU2lkZWJhclBh
bmVsLnByb3RvdHlwZSA9IHsKIAogICAgICAgICB0aGlzLl9sYXllckluZm9TZWN0aW9uID0gbmV3
IFdlYkluc3BlY3Rvci5EZXRhaWxzU2VjdGlvbigibGF5ZXItaW5mbyIsIFdlYkluc3BlY3Rvci5V
SVN0cmluZygiTGF5ZXIgSW5mbyIpLCBbdGhpcy5fbm9MYXllckluZm9ybWF0aW9uR3JvdXBdKTsK
IAotICAgICAgICB0aGlzLmVsZW1lbnQuYXBwZW5kQ2hpbGQodGhpcy5fbGF5ZXJJbmZvU2VjdGlv
bi5lbGVtZW50KTsKKyAgICAgICAgdGhpcy5jb250ZW50RWxlbWVudC5hcHBlbmRDaGlsZCh0aGlz
Ll9sYXllckluZm9TZWN0aW9uLmVsZW1lbnQpOwogICAgIH0sCiAKICAgICBfYnVpbGREYXRhR3Jp
ZFNlY3Rpb246IGZ1bmN0aW9uKCkKQEAgLTE1Niw3ICsxNTgsNyBAQCBXZWJJbnNwZWN0b3IuTGF5
ZXJUcmVlU2lkZWJhclBhbmVsLnByb3RvdHlwZSA9IHsKICAgICAgICAgdmFyIGdyb3VwID0gbmV3
IFdlYkluc3BlY3Rvci5EZXRhaWxzU2VjdGlvbkdyb3VwKFt0aGlzLl9jaGlsZExheWVyc1Jvd10p
OwogICAgICAgICB2YXIgc2VjdGlvbiA9IG5ldyBXZWJJbnNwZWN0b3IuRGV0YWlsc1NlY3Rpb24o
ImxheWVyLWNoaWxkcmVuIiwgV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJDaGlsZCBMYXllcnMiKSwg
W2dyb3VwXSwgbnVsbCwgdHJ1ZSk7CiAKLSAgICAgICAgdmFyIGVsZW1lbnQgPSB0aGlzLmVsZW1l
bnQuYXBwZW5kQ2hpbGQoc2VjdGlvbi5lbGVtZW50KTsKKyAgICAgICAgdmFyIGVsZW1lbnQgPSB0
aGlzLmNvbnRlbnRFbGVtZW50LmFwcGVuZENoaWxkKHNlY3Rpb24uZWxlbWVudCk7CiAgICAgICAg
IGVsZW1lbnQuY2xhc3NMaXN0LmFkZChzZWN0aW9uLmlkZW50aWZpZXIpOwogICAgIH0sCiAKQEAg
LTQzOSw1ICs0NDEsMyBAQCBXZWJJbnNwZWN0b3IuTGF5ZXJUcmVlU2lkZWJhclBhbmVsLnByb3Rv
dHlwZSA9IHsKICAgICAgICAgICAgIGFkZFJlYXNvbihXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkVs
ZW1lbnQgaGFzIOKAnGJsZW5kLW1vZGXigJ0gc3R5bGUiKSk7CiAgICAgfQogfTsKLQotV2ViSW5z
cGVjdG9yLkxheWVyVHJlZVNpZGViYXJQYW5lbC5wcm90b3R5cGUuX19wcm90b19fID0gV2ViSW5z
cGVjdG9yLkRPTURldGFpbHNTaWRlYmFyUGFuZWwucHJvdG90eXBlOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvTmF2aWdhdGlvblNpZGViYXJQ
YW5lbC5jc3MgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9OYXZp
Z2F0aW9uU2lkZWJhclBhbmVsLmNzcwppbmRleCBkNTlkOTA5Li5kNWQzZWViIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9OYXZpZ2F0aW9uU2lk
ZWJhclBhbmVsLmNzcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9W
aWV3cy9OYXZpZ2F0aW9uU2lkZWJhclBhbmVsLmNzcwpAQCAtMjQsMTQgKzI0LDcgQEAKICAqLwog
CiAuc2lkZWJhciA+IC5wYW5lbC5uYXZpZ2F0aW9uID4gLmNvbnRlbnQgewotICAgIHBvc2l0aW9u
OiBhYnNvbHV0ZTsKLSAgICB0b3A6IDA7Ci0gICAgbGVmdDogMDsKLSAgICByaWdodDogMDsKICAg
ICBib3R0b206IDI4cHg7Ci0KLSAgICBvdmVyZmxvdy14OiBoaWRkZW47Ci0gICAgb3ZlcmZsb3ct
eTogYXV0bzsKIH0KIAogYm9keS5tYWMtcGxhdGZvcm0ubGVnYWN5IC5zaWRlYmFyID4gLnBhbmVs
Lm5hdmlnYXRpb24gPiAuY29udGVudCB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvVXNlckludGVyZmFjZS9WaWV3cy9OYXZpZ2F0aW9uU2lkZWJhclBhbmVsLmpzIGIvU291cmNl
L1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvTmF2aWdhdGlvblNpZGViYXJQYW5l
bC5qcwppbmRleCBjZTNhZDRmLi4xMGJmNzM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9OYXZpZ2F0aW9uU2lkZWJhclBhbmVsLmpzCisrKyBi
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL05hdmlnYXRpb25TaWRl
YmFyUGFuZWwuanMKQEAgLTIzLDcgKzIzLDggQEAKICAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KICAqLwogCi1XZWJJbnNwZWN0b3IuTmF2aWdhdGlvblNpZGViYXJQYW5lbCA9IGZ1
bmN0aW9uKGlkZW50aWZpZXIsIGRpc3BsYXlOYW1lLCBpbWFnZSwga2V5Ym9hcmRTaG9ydGN1dEtl
eSwgYXV0b1BydW5lT2xkVG9wTGV2ZWxSZXNvdXJjZVRyZWVFbGVtZW50cywgYXV0b0hpZGVUb29s
YmFySXRlbVdoZW5FbXB0eSwgd2FudHNUb3BPdmVyZmxvd1NoYWRvdywgZWxlbWVudCwgcm9sZSwg
bGFiZWwpIHsKK1dlYkluc3BlY3Rvci5OYXZpZ2F0aW9uU2lkZWJhclBhbmVsID0gZnVuY3Rpb24o
aWRlbnRpZmllciwgZGlzcGxheU5hbWUsIGltYWdlLCBrZXlib2FyZFNob3J0Y3V0S2V5LCBhdXRv
UHJ1bmVPbGRUb3BMZXZlbFJlc291cmNlVHJlZUVsZW1lbnRzLCBhdXRvSGlkZVRvb2xiYXJJdGVt
V2hlbkVtcHR5LCB3YW50c1RvcE92ZXJmbG93U2hhZG93LCBlbGVtZW50LCByb2xlLCBsYWJlbCkK
K3sKICAgICBpZiAoa2V5Ym9hcmRTaG9ydGN1dEtleSkKICAgICAgICAgdGhpcy5fa2V5Ym9hcmRT
aG9ydGN1dCA9IG5ldyBXZWJJbnNwZWN0b3IuS2V5Ym9hcmRTaG9ydGN1dChXZWJJbnNwZWN0b3Iu
S2V5Ym9hcmRTaG9ydGN1dC5Nb2RpZmllci5Db250cm9sLCBrZXlib2FyZFNob3J0Y3V0S2V5LCB0
aGlzLnRvZ2dsZS5iaW5kKHRoaXMpKTsKIApAQCAtNDYsMTAgKzQ3LDcgQEAgV2ViSW5zcGVjdG9y
Lk5hdmlnYXRpb25TaWRlYmFyUGFuZWwgPSBmdW5jdGlvbihpZGVudGlmaWVyLCBkaXNwbGF5TmFt
ZSwgaW1hZ2UsIGsKIAogICAgIHRoaXMuX3Zpc2libGVDb250ZW50VHJlZU91dGxpbmVzID0gbmV3
IFNldDsKIAotICAgIHRoaXMuX2NvbnRlbnRFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgiZGl2Iik7Ci0gICAgdGhpcy5fY29udGVudEVsZW1lbnQuY2xhc3NOYW1lID0gV2ViSW5zcGVj
dG9yLk5hdmlnYXRpb25TaWRlYmFyUGFuZWwuQ29udGVudEVsZW1lbnRTdHlsZUNsYXNzTmFtZTsK
LSAgICB0aGlzLl9jb250ZW50RWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCJzY3JvbGwiLCB0aGlz
Ll91cGRhdGVDb250ZW50T3ZlcmZsb3dTaGFkb3dWaXNpYmlsaXR5LmJpbmQodGhpcykpOwotICAg
IHRoaXMuZWxlbWVudC5hcHBlbmRDaGlsZCh0aGlzLl9jb250ZW50RWxlbWVudCk7CisgICAgdGhp
cy5jb250ZW50RWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCJzY3JvbGwiLCB0aGlzLl91cGRhdGVD
b250ZW50T3ZlcmZsb3dTaGFkb3dWaXNpYmlsaXR5LmJpbmQodGhpcykpOwogCiAgICAgdGhpcy5f
Y29udGVudFRyZWVPdXRsaW5lID0gdGhpcy5jcmVhdGVDb250ZW50VHJlZU91dGxpbmUodHJ1ZSk7
CiAKQEAgLTkzLDcgKzkxLDYgQEAgV2ViSW5zcGVjdG9yLk5hdmlnYXRpb25TaWRlYmFyUGFuZWwg
PSBmdW5jdGlvbihpZGVudGlmaWVyLCBkaXNwbGF5TmFtZSwgaW1hZ2UsIGsKIFdlYkluc3BlY3Rv
ci5OYXZpZ2F0aW9uU2lkZWJhclBhbmVsLlN0eWxlQ2xhc3NOYW1lID0gIm5hdmlnYXRpb24iOwog
V2ViSW5zcGVjdG9yLk5hdmlnYXRpb25TaWRlYmFyUGFuZWwuT3ZlcmZsb3dTaGFkb3dFbGVtZW50
U3R5bGVDbGFzc05hbWUgPSAib3ZlcmZsb3ctc2hhZG93IjsKIFdlYkluc3BlY3Rvci5OYXZpZ2F0
aW9uU2lkZWJhclBhbmVsLlRvcE92ZXJmbG93U2hhZG93RWxlbWVudFN0eWxlQ2xhc3NOYW1lID0g
InRvcCI7Ci1XZWJJbnNwZWN0b3IuTmF2aWdhdGlvblNpZGViYXJQYW5lbC5Db250ZW50RWxlbWVu
dFN0eWxlQ2xhc3NOYW1lID0gImNvbnRlbnQiOwogV2ViSW5zcGVjdG9yLk5hdmlnYXRpb25TaWRl
YmFyUGFuZWwuQ29udGVudFRyZWVPdXRsaW5lRWxlbWVudEhpZGRlblN0eWxlQ2xhc3NOYW1lID0g
ImhpZGRlbiI7CiBXZWJJbnNwZWN0b3IuTmF2aWdhdGlvblNpZGViYXJQYW5lbC5Db250ZW50VHJl
ZU91dGxpbmVFbGVtZW50U3R5bGVDbGFzc05hbWUgPSAibmF2aWdhdGlvbi1zaWRlYmFyLXBhbmVs
LWNvbnRlbnQtdHJlZS1vdXRsaW5lIjsKIFdlYkluc3BlY3Rvci5OYXZpZ2F0aW9uU2lkZWJhclBh
bmVsLkhpZGVEaXNjbG9zdXJlQnV0dG9uc1N0eWxlQ2xhc3NOYW1lID0gImhpZGUtZGlzY2xvc3Vy
ZS1idXR0b25zIjsKQEAgLTEwNiwxNCArMTAzLDEwIEBAIFdlYkluc3BlY3Rvci5OYXZpZ2F0aW9u
U2lkZWJhclBhbmVsLkRpc2Nsb3N1cmVUcmlhbmdsZVNlbGVjdGVkQ2FudmFzSWRlbnRpZmllclN1
CiAKIFdlYkluc3BlY3Rvci5OYXZpZ2F0aW9uU2lkZWJhclBhbmVsLnByb3RvdHlwZSA9IHsKICAg
ICBjb25zdHJ1Y3RvcjogV2ViSW5zcGVjdG9yLk5hdmlnYXRpb25TaWRlYmFyUGFuZWwsCisgICAg
X19wcm90b19fOiBXZWJJbnNwZWN0b3IuU2lkZWJhclBhbmVsLnByb3RvdHlwZSwKIAogICAgIC8v
IFB1YmxpYwogCi0gICAgZ2V0IGNvbnRlbnRFbGVtZW50KCkKLSAgICB7Ci0gICAgICAgIHJldHVy
biB0aGlzLl9jb250ZW50RWxlbWVudDsKLSAgICB9LAotCiAgICAgZ2V0IGNvbnRlbnRUcmVlT3V0
bGluZUVsZW1lbnQoKQogICAgIHsKICAgICAgICAgcmV0dXJuIHRoaXMuX2NvbnRlbnRUcmVlT3V0
bGluZS5lbGVtZW50OwpAQCAtMTczLDcgKzE2Niw3IEBAIFdlYkluc3BlY3Rvci5OYXZpZ2F0aW9u
U2lkZWJhclBhbmVsLnByb3RvdHlwZSA9IHsKICAgICAgICAgY29udGVudFRyZWVPdXRsaW5lRWxl
bWVudC5jbGFzc05hbWUgPSBXZWJJbnNwZWN0b3IuTmF2aWdhdGlvblNpZGViYXJQYW5lbC5Db250
ZW50VHJlZU91dGxpbmVFbGVtZW50U3R5bGVDbGFzc05hbWU7CiAgICAgICAgIGlmICghZG9udEhp
ZGVCeURlZmF1bHQpCiAgICAgICAgICAgICBjb250ZW50VHJlZU91dGxpbmVFbGVtZW50LmNsYXNz
TGlzdC5hZGQoV2ViSW5zcGVjdG9yLk5hdmlnYXRpb25TaWRlYmFyUGFuZWwuQ29udGVudFRyZWVP
dXRsaW5lRWxlbWVudEhpZGRlblN0eWxlQ2xhc3NOYW1lKTsKLSAgICAgICAgdGhpcy5fY29udGVu
dEVsZW1lbnQuYXBwZW5kQ2hpbGQoY29udGVudFRyZWVPdXRsaW5lRWxlbWVudCk7CisgICAgICAg
IHRoaXMuY29udGVudEVsZW1lbnQuYXBwZW5kQ2hpbGQoY29udGVudFRyZWVPdXRsaW5lRWxlbWVu
dCk7CiAKICAgICAgICAgdmFyIGNvbnRlbnRUcmVlT3V0bGluZSA9IG5ldyBUcmVlT3V0bGluZShj
b250ZW50VHJlZU91dGxpbmVFbGVtZW50KTsKICAgICAgICAgY29udGVudFRyZWVPdXRsaW5lLmFs
bG93c1JlcGVhdFNlbGVjdGlvbiA9IHRydWU7CkBAIC00NDEsOCArNDM0LDggQEAgV2ViSW5zcGVj
dG9yLk5hdmlnYXRpb25TaWRlYmFyUGFuZWwucHJvdG90eXBlID0gewogICAgIHsKICAgICAgICAg
ZGVsZXRlIHRoaXMuX3VwZGF0ZUNvbnRlbnRPdmVyZmxvd1NoYWRvd1Zpc2liaWxpdHlJZGVudGlm
aWVyOwogCi0gICAgICAgIHZhciBzY3JvbGxIZWlnaHQgPSB0aGlzLl9jb250ZW50RWxlbWVudC5z
Y3JvbGxIZWlnaHQ7Ci0gICAgICAgIHZhciBvZmZzZXRIZWlnaHQgPSB0aGlzLl9jb250ZW50RWxl
bWVudC5vZmZzZXRIZWlnaHQ7CisgICAgICAgIHZhciBzY3JvbGxIZWlnaHQgPSB0aGlzLmNvbnRl
bnRFbGVtZW50LnNjcm9sbEhlaWdodDsKKyAgICAgICAgdmFyIG9mZnNldEhlaWdodCA9IHRoaXMu
Y29udGVudEVsZW1lbnQub2Zmc2V0SGVpZ2h0OwogCiAgICAgICAgIGlmIChzY3JvbGxIZWlnaHQg
PCBvZmZzZXRIZWlnaHQpIHsKICAgICAgICAgICAgIGlmICh0aGlzLl90b3BPdmVyZmxvd1NoYWRv
d0VsZW1lbnQpCkBAIC00NTYsNyArNDQ5LDcgQEAgV2ViSW5zcGVjdG9yLk5hdmlnYXRpb25TaWRl
YmFyUGFuZWwucHJvdG90eXBlID0gewogICAgICAgICBlbHNlCiAgICAgICAgICAgICBjb25zdCBl
ZGdlVGhyZXNob2xkID0gMTsKIAotICAgICAgICB2YXIgc2Nyb2xsVG9wID0gdGhpcy5fY29udGVu
dEVsZW1lbnQuc2Nyb2xsVG9wOworICAgICAgICB2YXIgc2Nyb2xsVG9wID0gdGhpcy5jb250ZW50
RWxlbWVudC5zY3JvbGxUb3A7CiAKICAgICAgICAgdmFyIHRvcENvdmVyYWdlID0gTWF0aC5taW4o
c2Nyb2xsVG9wLCBlZGdlVGhyZXNob2xkKTsKICAgICAgICAgdmFyIGJvdHRvbUNvdmVyYWdlID0g
TWF0aC5tYXgoMCwgKG9mZnNldEhlaWdodCArIHNjcm9sbFRvcCkgLSAoc2Nyb2xsSGVpZ2h0IC0g
ZWRnZVRocmVzaG9sZCkpOwpAQCAtNzMzLDUgKzcyNiwzIEBAIFdlYkluc3BlY3Rvci5OYXZpZ2F0
aW9uU2lkZWJhclBhbmVsLnByb3RvdHlwZSA9IHsKICAgICAgICAgfQogICAgIH0KIH07Ci0KLVdl
Ykluc3BlY3Rvci5OYXZpZ2F0aW9uU2lkZWJhclBhbmVsLnByb3RvdHlwZS5fX3Byb3RvX18gPSBX
ZWJJbnNwZWN0b3IuU2lkZWJhclBhbmVsLnByb3RvdHlwZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1Byb2JlRGV0YWlsc1NpZGViYXJQYW5l
bC5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1Byb2JlRGV0
YWlsc1NpZGViYXJQYW5lbC5qcwppbmRleCBjYjRjMTM1Li5hMDhmNjBmIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9Qcm9iZURldGFpbHNTaWRl
YmFyUGFuZWwuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmll
d3MvUHJvYmVEZXRhaWxzU2lkZWJhclBhbmVsLmpzCkBAIC01NiwxNCArNTYsMTQgQEAgV2ViSW5z
cGVjdG9yLlByb2JlRGV0YWlsc1NpZGViYXJQYW5lbC5wcm90b3R5cGUgPSB7CiAgICAgewogICAg
ICAgICBmb3IgKHZhciBwcm9iZVNldCBvZiB0aGlzLl9pbnNwZWN0ZWRQcm9iZVNldHMpIHsKICAg
ICAgICAgICAgIHZhciByZW1vdmVkU2VjdGlvbiA9IHRoaXMuX3Byb2JlU2V0U2VjdGlvbnMuZ2V0
KHByb2JlU2V0KTsKLSAgICAgICAgICAgIHRoaXMuZWxlbWVudC5yZW1vdmVDaGlsZChyZW1vdmVk
U2VjdGlvbi5lbGVtZW50KTsKKyAgICAgICAgICAgIHRoaXMuY29udGVudEVsZW1lbnQucmVtb3Zl
Q2hpbGQocmVtb3ZlZFNlY3Rpb24uZWxlbWVudCk7CiAgICAgICAgIH0KIAogICAgICAgICB0aGlz
Ll9pbnNwZWN0ZWRQcm9iZVNldHMgPSBuZXdQcm9iZVNldHM7CiAKICAgICAgICAgZm9yICh2YXIg
cHJvYmVTZXQgb2YgbmV3UHJvYmVTZXRzKSB7CiAgICAgICAgICAgICB2YXIgc2hvd25TZWN0aW9u
ID0gdGhpcy5fcHJvYmVTZXRTZWN0aW9ucy5nZXQocHJvYmVTZXQpOwotICAgICAgICAgICAgdGhp
cy5lbGVtZW50LmFwcGVuZENoaWxkKHNob3duU2VjdGlvbi5lbGVtZW50KTsKKyAgICAgICAgICAg
IHRoaXMuY29udGVudEVsZW1lbnQuYXBwZW5kQ2hpbGQoc2hvd25TZWN0aW9uLmVsZW1lbnQpOwog
ICAgICAgICB9CiAgICAgfSwKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1Vz
ZXJJbnRlcmZhY2UvVmlld3MvUmVzb3VyY2VEZXRhaWxzU2lkZWJhclBhbmVsLmpzIGIvU291cmNl
L1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvUmVzb3VyY2VEZXRhaWxzU2lkZWJh
clBhbmVsLmpzCmluZGV4IDIyMDUxNDIuLmE1ZGU0NzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1Jlc291cmNlRGV0YWlsc1NpZGViYXJQYW5l
bC5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9SZXNv
dXJjZURldGFpbHNTaWRlYmFyUGFuZWwuanMKQEAgLTIzLDEwICsyMywxMSBAQAogICogVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogICovCiAKLVdlYkluc3BlY3Rvci5SZXNvdXJjZURl
dGFpbHNTaWRlYmFyUGFuZWwgPSBmdW5jdGlvbigpIHsKK1dlYkluc3BlY3Rvci5SZXNvdXJjZURl
dGFpbHNTaWRlYmFyUGFuZWwgPSBmdW5jdGlvbigpCit7CiAgICAgV2ViSW5zcGVjdG9yLkRldGFp
bHNTaWRlYmFyUGFuZWwuY2FsbCh0aGlzLCAicmVzb3VyY2UtZGV0YWlscyIsIFdlYkluc3BlY3Rv
ci5VSVN0cmluZygiUmVzb3VyY2UiKSwgV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJSZXNvdXJjZSIp
LCAiSW1hZ2VzL05hdmlnYXRpb25JdGVtRmlsZS5zdmciLCAiMSIpOwogCi0gICAgdGhpcy5lbGVt
ZW50LmNsYXNzTGlzdC5hZGQoV2ViSW5zcGVjdG9yLlJlc291cmNlRGV0YWlsc1NpZGViYXJQYW5l
bC5TdHlsZUNsYXNzTmFtZSk7CisgICAgdGhpcy5jb250ZW50RWxlbWVudC5jbGFzc0xpc3QuYWRk
KFdlYkluc3BlY3Rvci5SZXNvdXJjZURldGFpbHNTaWRlYmFyUGFuZWwuU3R5bGVDbGFzc05hbWUp
OwogCiAgICAgdGhpcy5fcmVzb3VyY2UgPSBudWxsOwogCkBAIC05OSwxNyArMTAwLDE4IEBAIFdl
Ykluc3BlY3Rvci5SZXNvdXJjZURldGFpbHNTaWRlYmFyUGFuZWwgPSBmdW5jdGlvbigpIHsKICAg
ICB0aGlzLl9pbWFnZVNpemVTZWN0aW9uID0gbmV3IFdlYkluc3BlY3Rvci5EZXRhaWxzU2VjdGlv
bigicmVzb3VyY2UtdHlwZSIsIFdlYkluc3BlY3Rvci5VSVN0cmluZygiSW1hZ2UgU2l6ZSIpKTsK
ICAgICB0aGlzLl9pbWFnZVNpemVTZWN0aW9uLmdyb3VwcyA9IFtuZXcgV2ViSW5zcGVjdG9yLkRl
dGFpbHNTZWN0aW9uR3JvdXAoW3RoaXMuX2ltYWdlV2lkdGhSb3csIHRoaXMuX2ltYWdlSGVpZ2h0
Um93XSldOwogCi0gICAgdGhpcy5lbGVtZW50LmFwcGVuZENoaWxkKHRoaXMuX3R5cGVTZWN0aW9u
LmVsZW1lbnQpOwotICAgIHRoaXMuZWxlbWVudC5hcHBlbmRDaGlsZCh0aGlzLl9sb2NhdGlvblNl
Y3Rpb24uZWxlbWVudCk7Ci0gICAgdGhpcy5lbGVtZW50LmFwcGVuZENoaWxkKHRoaXMuX3JlcXVl
c3RBbmRSZXNwb25zZVNlY3Rpb24uZWxlbWVudCk7Ci0gICAgdGhpcy5lbGVtZW50LmFwcGVuZENo
aWxkKHRoaXMuX3JlcXVlc3RIZWFkZXJzU2VjdGlvbi5lbGVtZW50KTsKLSAgICB0aGlzLmVsZW1l
bnQuYXBwZW5kQ2hpbGQodGhpcy5fcmVzcG9uc2VIZWFkZXJzU2VjdGlvbi5lbGVtZW50KTsKKyAg
ICB0aGlzLmNvbnRlbnRFbGVtZW50LmFwcGVuZENoaWxkKHRoaXMuX3R5cGVTZWN0aW9uLmVsZW1l
bnQpOworICAgIHRoaXMuY29udGVudEVsZW1lbnQuYXBwZW5kQ2hpbGQodGhpcy5fbG9jYXRpb25T
ZWN0aW9uLmVsZW1lbnQpOworICAgIHRoaXMuY29udGVudEVsZW1lbnQuYXBwZW5kQ2hpbGQodGhp
cy5fcmVxdWVzdEFuZFJlc3BvbnNlU2VjdGlvbi5lbGVtZW50KTsKKyAgICB0aGlzLmNvbnRlbnRF
bGVtZW50LmFwcGVuZENoaWxkKHRoaXMuX3JlcXVlc3RIZWFkZXJzU2VjdGlvbi5lbGVtZW50KTsK
KyAgICB0aGlzLmNvbnRlbnRFbGVtZW50LmFwcGVuZENoaWxkKHRoaXMuX3Jlc3BvbnNlSGVhZGVy
c1NlY3Rpb24uZWxlbWVudCk7CiB9OwogCiBXZWJJbnNwZWN0b3IuUmVzb3VyY2VEZXRhaWxzU2lk
ZWJhclBhbmVsLlN0eWxlQ2xhc3NOYW1lID0gInJlc291cmNlIjsKIAogV2ViSW5zcGVjdG9yLlJl
c291cmNlRGV0YWlsc1NpZGViYXJQYW5lbC5wcm90b3R5cGUgPSB7CiAgICAgY29uc3RydWN0b3I6
IFdlYkluc3BlY3Rvci5SZXNvdXJjZURldGFpbHNTaWRlYmFyUGFuZWwsCisgICAgX19wcm90b19f
OiBXZWJJbnNwZWN0b3IuRGV0YWlsc1NpZGViYXJQYW5lbC5wcm90b3R5cGUsCiAKICAgICAvLyBQ
dWJsaWMKIApAQCAtMjI3LDcgKzIyOSw3IEBAIFdlYkluc3BlY3Rvci5SZXNvdXJjZURldGFpbHNT
aWRlYmFyUGFuZWwucHJvdG90eXBlID0gewogCiAgICAgICAgIGlmICh1cmxDb21wb25lbnRzLnF1
ZXJ5U3RyaW5nKSB7CiAgICAgICAgICAgICAvLyBFbnN1cmUgdGhlICJRdWVyeSBQYXJhbWV0ZXJz
IiBzZWN0aW9uIGlzIGRpc3BsYXllZCwgcmlnaHQgYWZ0ZXIgdGhlICJSZXF1ZXN0ICYgUmVzcG9u
c2UiIHNlY3Rpb24uCi0gICAgICAgICAgICB0aGlzLmVsZW1lbnQuaW5zZXJ0QmVmb3JlKHRoaXMu
X3F1ZXJ5UGFyYW1ldGVyc1NlY3Rpb24uZWxlbWVudCwgdGhpcy5fcmVxdWVzdEFuZFJlc3BvbnNl
U2VjdGlvbi5lbGVtZW50Lm5leHRTaWJsaW5nKTsKKyAgICAgICAgICAgIHRoaXMuY29udGVudEVs
ZW1lbnQuaW5zZXJ0QmVmb3JlKHRoaXMuX3F1ZXJ5UGFyYW1ldGVyc1NlY3Rpb24uZWxlbWVudCwg
dGhpcy5fcmVxdWVzdEFuZFJlc3BvbnNlU2VjdGlvbi5lbGVtZW50Lm5leHRTaWJsaW5nKTsKIAog
ICAgICAgICAgICAgdGhpcy5fcXVlcnlQYXJhbWV0ZXJzUm93LmRhdGFHcmlkID0gdGhpcy5fY3Jl
YXRlTmFtZVZhbHVlRGF0YUdyaWQocGFyc2VRdWVyeVN0cmluZyh1cmxDb21wb25lbnRzLnF1ZXJ5
U3RyaW5nLCB0cnVlKSk7CiAgICAgICAgIH0gZWxzZSB7CkBAIC0zODUsMTIgKzM4NywxMiBAQCBX
ZWJJbnNwZWN0b3IuUmVzb3VyY2VEZXRhaWxzU2lkZWJhclBhbmVsLnByb3RvdHlwZSA9IHsKICAg
ICAgICAgaWYgKHJlc291cmNlLnR5cGUgIT09IFdlYkluc3BlY3Rvci5SZXNvdXJjZS5UeXBlLklt
YWdlIHx8IHJlc291cmNlLmZhaWxlZCkgewogICAgICAgICAgICAgdmFyIGltYWdlU2VjdGlvbkVs
ZW1lbnQgPSB0aGlzLl9pbWFnZVNpemVTZWN0aW9uLmVsZW1lbnQ7CiAgICAgICAgICAgICBpZiAo
aW1hZ2VTZWN0aW9uRWxlbWVudC5wYXJlbnROb2RlKQotICAgICAgICAgICAgICAgIHRoaXMuZWxl
bWVudC5yZW1vdmVDaGlsZChpbWFnZVNlY3Rpb25FbGVtZW50KTsKKyAgICAgICAgICAgICAgICB0
aGlzLmNvbnRlbnRFbGVtZW50LnJlbW92ZUNoaWxkKGltYWdlU2VjdGlvbkVsZW1lbnQpOwogICAg
ICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CiAKICAgICAgICAgLy8gRW5zdXJlIHRoZSBzZWN0
aW9uIGlzIGRpc3BsYXllZCwgcmlnaHQgYmVmb3JlIHRoZSAiTG9jYXRpb24iIHNlY3Rpb24uCi0g
ICAgICAgIHRoaXMuZWxlbWVudC5pbnNlcnRCZWZvcmUodGhpcy5faW1hZ2VTaXplU2VjdGlvbi5l
bGVtZW50LCB0aGlzLl9sb2NhdGlvblNlY3Rpb24uZWxlbWVudCk7CisgICAgICAgIHRoaXMuY29u
dGVudEVsZW1lbnQuaW5zZXJ0QmVmb3JlKHRoaXMuX2ltYWdlU2l6ZVNlY3Rpb24uZWxlbWVudCwg
dGhpcy5fbG9jYXRpb25TZWN0aW9uLmVsZW1lbnQpOwogCiAgICAgICAgIC8vIEdldCB0aGUgbWV0
cmljcyBmb3IgdGhpcyByZXNvdXJjZSBhbmQgZmlsbCBpbiB0aGUgbWV0cmljcyByb3dzIHdpdGgg
dGhhdCBpbmZvcm1hdGlvbi4KICAgICAgICAgcmVzb3VyY2UuZ2V0SW1hZ2VTaXplKGZ1bmN0aW9u
KHNpemUpIHsKQEAgLTQxOSw3ICs0MjEsNyBAQCBXZWJJbnNwZWN0b3IuUmVzb3VyY2VEZXRhaWxz
U2lkZWJhclBhbmVsLnByb3RvdHlwZSA9IHsKICAgICAgICAgfQogCiAgICAgICAgIC8vIEVuc3Vy
ZSB0aGUgc2VjdGlvbiBpcyBkaXNwbGF5ZWQsIHJpZ2h0IGJlZm9yZSB0aGUgIlJlcXVlc3QgSGVh
ZGVycyIgc2VjdGlvbi4KLSAgICAgICAgdGhpcy5lbGVtZW50Lmluc2VydEJlZm9yZSh0aGlzLl9y
ZXF1ZXN0RGF0YVNlY3Rpb24uZWxlbWVudCwgdGhpcy5fcmVxdWVzdEhlYWRlcnNTZWN0aW9uLmVs
ZW1lbnQpOworICAgICAgICB0aGlzLmNvbnRlbnRFbGVtZW50Lmluc2VydEJlZm9yZSh0aGlzLl9y
ZXF1ZXN0RGF0YVNlY3Rpb24uZWxlbWVudCwgdGhpcy5fcmVxdWVzdEhlYWRlcnNTZWN0aW9uLmVs
ZW1lbnQpOwogCiAgICAgICAgIHZhciByZXF1ZXN0RGF0YUNvbnRlbnRUeXBlID0gcmVzb3VyY2Uu
cmVxdWVzdERhdGFDb250ZW50VHlwZSB8fCAiIjsKICAgICAgICAgaWYgKHJlcXVlc3REYXRhQ29u
dGVudFR5cGUgJiYgcmVxdWVzdERhdGFDb250ZW50VHlwZS5tYXRjaCgvXmFwcGxpY2F0aW9uXC94
LXd3dy1mb3JtLXVybGVuY29kZWRccyooOy4qKT8kL2kpKSB7CkBAIC00NzQsNSArNDc2LDMgQEAg
V2ViSW5zcGVjdG9yLlJlc291cmNlRGV0YWlsc1NpZGViYXJQYW5lbC5wcm90b3R5cGUgPSB7CiAg
ICAgICAgIHRoaXMuX3JlcXVlc3REYXRhU2VjdGlvbi5ncm91cHMgPSBbbmV3IFdlYkluc3BlY3Rv
ci5EZXRhaWxzU2VjdGlvbkdyb3VwKHJvd3MpXTsKICAgICB9CiB9OwotCi1XZWJJbnNwZWN0b3Iu
UmVzb3VyY2VEZXRhaWxzU2lkZWJhclBhbmVsLnByb3RvdHlwZS5fX3Byb3RvX18gPSBXZWJJbnNw
ZWN0b3IuRGV0YWlsc1NpZGViYXJQYW5lbC5wcm90b3R5cGU7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9TY29wZUNoYWluRGV0YWlsc1NpZGVi
YXJQYW5lbC5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1Nj
b3BlQ2hhaW5EZXRhaWxzU2lkZWJhclBhbmVsLmpzCmluZGV4IGZlOGM2YzAuLmY0NTJhYTIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1Njb3Bl
Q2hhaW5EZXRhaWxzU2lkZWJhclBhbmVsLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9V
c2VySW50ZXJmYWNlL1ZpZXdzL1Njb3BlQ2hhaW5EZXRhaWxzU2lkZWJhclBhbmVsLmpzCkBAIC0z
NSw2ICszNSw3IEBAIFdlYkluc3BlY3Rvci5TY29wZUNoYWluRGV0YWlsc1NpZGViYXJQYW5lbCA9
IGZ1bmN0aW9uKCkKIAogV2ViSW5zcGVjdG9yLlNjb3BlQ2hhaW5EZXRhaWxzU2lkZWJhclBhbmVs
LnByb3RvdHlwZSA9IHsKICAgICBjb25zdHJ1Y3RvcjogV2ViSW5zcGVjdG9yLlNjb3BlQ2hhaW5E
ZXRhaWxzU2lkZWJhclBhbmVsLAorICAgIF9fcHJvdG9fXzogV2ViSW5zcGVjdG9yLkRldGFpbHNT
aWRlYmFyUGFuZWwucHJvdG90eXBlLAogCiAgICAgLy8gUHVibGljCiAKQEAgLTE2MSw5ICsxNjIs
OSBAQCBXZWJJbnNwZWN0b3IuU2NvcGVDaGFpbkRldGFpbHNTaWRlYmFyUGFuZWwucHJvdG90eXBl
ID0gewogICAgICAgICAgICAgaWYgKHRoaXMuY2FsbEZyYW1lICE9PSBjYWxsRnJhbWUpCiAgICAg
ICAgICAgICAgICAgcmV0dXJuOwogCi0gICAgICAgICAgICB0aGlzLmVsZW1lbnQucmVtb3ZlQ2hp
bGRyZW4oKTsKKyAgICAgICAgICAgIHRoaXMuY29udGVudEVsZW1lbnQucmVtb3ZlQ2hpbGRyZW4o
KTsKICAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgZGV0YWlsc1NlY3Rpb25zLmxlbmd0
aDsgKytpKQotICAgICAgICAgICAgICAgIHRoaXMuZWxlbWVudC5hcHBlbmRDaGlsZChkZXRhaWxz
U2VjdGlvbnNbaV0uZWxlbWVudCk7CisgICAgICAgICAgICAgICAgdGhpcy5jb250ZW50RWxlbWVu
dC5hcHBlbmRDaGlsZChkZXRhaWxzU2VjdGlvbnNbaV0uZWxlbWVudCk7CiAgICAgICAgIH0KIAog
ICAgICAgICAvLyBXZSBuZWVkIGEgdGltZW91dCBpbiBwbGFjZSBpbiBjYXNlIHRoZXJlIGFyZSBs
b25nIHJ1bm5pbmcsIHBlbmRpbmcgYmFja2VuZCBkaXNwYXRjaGVzLiBUaGlzIGNhbiBoYXBwZW4K
QEAgLTE3Niw1ICsxNzcsMyBAQCBXZWJJbnNwZWN0b3IuU2NvcGVDaGFpbkRldGFpbHNTaWRlYmFy
UGFuZWwucHJvdG90eXBlID0gewogICAgICAgICBJbnNwZWN0b3JCYWNrZW5kLnJ1bkFmdGVyUGVu
ZGluZ0Rpc3BhdGNoZXMoZGVsYXllZFdvcmsuYmluZCh0aGlzKSk7CiAgICAgfQogfTsKLQotV2Vi
SW5zcGVjdG9yLlNjb3BlQ2hhaW5EZXRhaWxzU2lkZWJhclBhbmVsLnByb3RvdHlwZS5fX3Byb3Rv
X18gPSBXZWJJbnNwZWN0b3IuRGV0YWlsc1NpZGViYXJQYW5lbC5wcm90b3R5cGU7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9EZXRhaWxzU2lk
ZWJhclBhbmVsLmNzcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdz
L1NpZGViYXJQYW5lbC5jc3MKc2ltaWxhcml0eSBpbmRleCA5MiUKcmVuYW1lIGZyb20gU291cmNl
L1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvRGV0YWlsc1NpZGViYXJQYW5lbC5j
c3MKcmVuYW1lIHRvIFNvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1Np
ZGViYXJQYW5lbC5jc3MKaW5kZXggNWJiMmU2ZS4uMTVlOGRjYiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvRGV0YWlsc1NpZGViYXJQYW5lbC5j
c3MKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvU2lkZWJh
clBhbmVsLmNzcwpAQCAtMjMsNyArMjMsMTMgQEAKICAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KICAqLwogCi0uc2lkZWJhciA+IC5wYW5lbC5kZXRhaWxzIHsKKy5zaWRlYmFyID4g
LnBhbmVsID4gLmNvbnRlbnQgeworICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKKyAgICB0b3A6IDA7
CisgICAgbGVmdDogMDsKKyAgICByaWdodDogMDsKKyAgICBib3R0b206IDA7CisKICAgICBvdmVy
Zmxvdy14OiBoaWRkZW47CiAgICAgb3ZlcmZsb3cteTogYXV0bzsKIH0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1NpZGViYXJQYW5lbC5qcyBi
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1NpZGViYXJQYW5lbC5q
cwppbmRleCAzZTVkMzdjLi4yNmZhYjA4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvVXNlckludGVyZmFjZS9WaWV3cy9TaWRlYmFyUGFuZWwuanMKKysrIGIvU291cmNlL1dlYklu
c3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvU2lkZWJhclBhbmVsLmpzCkBAIC0yMyw3ICsy
Myw4IEBACiAgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAgKi8KIAotV2ViSW5z
cGVjdG9yLlNpZGViYXJQYW5lbCA9IGZ1bmN0aW9uKGlkZW50aWZpZXIsIGRpc3BsYXlOYW1lLCBz
aG93VG9vbFRpcCwgaGlkZVRvb2xUaXAsIGltYWdlLCBlbGVtZW50LCByb2xlLCBsYWJlbCkgewor
V2ViSW5zcGVjdG9yLlNpZGViYXJQYW5lbCA9IGZ1bmN0aW9uKGlkZW50aWZpZXIsIGRpc3BsYXlO
YW1lLCBzaG93VG9vbFRpcCwgaGlkZVRvb2xUaXAsIGltYWdlLCBlbGVtZW50LCByb2xlLCBsYWJl
bCkKK3sKICAgICBXZWJJbnNwZWN0b3IuT2JqZWN0LmNhbGwodGhpcyk7CiAKICAgICB0aGlzLl9p
ZGVudGlmaWVyID0gaWRlbnRpZmllcjsKQEAgLTM5LDEzICs0MCwxOCBAQCBXZWJJbnNwZWN0b3Iu
U2lkZWJhclBhbmVsID0gZnVuY3Rpb24oaWRlbnRpZmllciwgZGlzcGxheU5hbWUsIHNob3dUb29s
VGlwLCBoaWRlVAogICAgIHRoaXMuX2VsZW1lbnQuc2V0QXR0cmlidXRlKCJyb2xlIiwgcm9sZSB8
fCAiZ3JvdXAiKTsKICAgICB0aGlzLl9lbGVtZW50LnNldEF0dHJpYnV0ZSgiYXJpYS1sYWJlbCIs
IGxhYmVsIHx8IGRpc3BsYXlOYW1lKTsKIAorICAgIHRoaXMuX2NvbnRlbnRFbGVtZW50ID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CisgICAgdGhpcy5fY29udGVudEVsZW1lbnQuY2xh
c3NOYW1lID0gV2ViSW5zcGVjdG9yLlNpZGViYXJQYW5lbC5Db250ZW50RWxlbWVudFN0eWxlQ2xh
c3NOYW1lOworICAgIHRoaXMuX2VsZW1lbnQuYXBwZW5kQ2hpbGQodGhpcy5fY29udGVudEVsZW1l
bnQpOwogfTsKIAogV2ViSW5zcGVjdG9yLlNpZGViYXJQYW5lbC5TdHlsZUNsYXNzTmFtZSA9ICJw
YW5lbCI7CiBXZWJJbnNwZWN0b3IuU2lkZWJhclBhbmVsLlNlbGVjdGVkU3R5bGVDbGFzc05hbWUg
PSAic2VsZWN0ZWQiOworV2ViSW5zcGVjdG9yLlNpZGViYXJQYW5lbC5Db250ZW50RWxlbWVudFN0
eWxlQ2xhc3NOYW1lID0gImNvbnRlbnQiOwogCiBXZWJJbnNwZWN0b3IuU2lkZWJhclBhbmVsLnBy
b3RvdHlwZSA9IHsKICAgICBjb25zdHJ1Y3RvcjogV2ViSW5zcGVjdG9yLlNpZGViYXJQYW5lbCwK
KyAgICBfX3Byb3RvX186IFdlYkluc3BlY3Rvci5PYmplY3QucHJvdG90eXBlLAogCiAgICAgLy8g
UHVibGljCiAKQEAgLTY0LDYgKzcwLDExIEBAIFdlYkluc3BlY3Rvci5TaWRlYmFyUGFuZWwucHJv
dG90eXBlID0gewogICAgICAgICByZXR1cm4gdGhpcy5fZWxlbWVudDsKICAgICB9LAogCisgICAg
Z2V0IGNvbnRlbnRFbGVtZW50KCkKKyAgICB7CisgICAgICAgIHJldHVybiB0aGlzLl9jb250ZW50
RWxlbWVudDsKKyAgICB9LAorCiAgICAgZ2V0IHZpc2libGUoKQogICAgIHsKICAgICAgICAgcmV0
dXJuIHRoaXMuc2VsZWN0ZWQgJiYgdGhpcy5fcGFyZW50U2lkZWJhciAmJiAhdGhpcy5fcGFyZW50
U2lkZWJhci5jb2xsYXBzZWQ7CkBAIC0xNTIsNSArMTYzLDMgQEAgV2ViSW5zcGVjdG9yLlNpZGVi
YXJQYW5lbC5wcm90b3R5cGUgPSB7CiAgICAgICAgIHRoaXMuX3Rvb2xiYXJJdGVtLmFjdGl2YXRl
ZCA9IHRoaXMudmlzaWJsZTsKICAgICB9CiB9OwotCi1XZWJJbnNwZWN0b3IuU2lkZWJhclBhbmVs
LnByb3RvdHlwZS5fX3Byb3RvX18gPSBXZWJJbnNwZWN0b3IuT2JqZWN0LnByb3RvdHlwZTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9XZWJJbnNwZWN0b3JVSS52Y3hwcm9qL1dl
Ykluc3BlY3RvclVJLnZjeHByb2ogYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvV2ViSW5zcGVjdG9y
VUkudmN4cHJvai9XZWJJbnNwZWN0b3JVSS52Y3hwcm9qCmluZGV4IDQ0NWY2OWMuLmY0ZmE5ZjAg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9XZWJJbnNwZWN0b3JVSS52Y3hwcm9q
L1dlYkluc3BlY3RvclVJLnZjeHByb2oKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1dlYklu
c3BlY3RvclVJLnZjeHByb2ovV2ViSW5zcGVjdG9yVUkudmN4cHJvagpAQCAtMzc5LDcgKzM3OSw2
IEBACiAgICAgPE5vbmUgSW5jbHVkZT0iLi5cVXNlckludGVyZmFjZVxEZXRhaWxzU2VjdGlvblBy
b3BlcnRpZXNSb3cuanMiIC8+CiAgICAgPE5vbmUgSW5jbHVkZT0iLi5cVXNlckludGVyZmFjZVxE
ZXRhaWxzU2VjdGlvblJvdy5qcyIgLz4KICAgICA8Tm9uZSBJbmNsdWRlPSIuLlxVc2VySW50ZXJm
YWNlXERldGFpbHNTZWN0aW9uU2ltcGxlUm93LmpzIiAvPgotICAgIDxOb25lIEluY2x1ZGU9Ii4u
XFVzZXJJbnRlcmZhY2VcRGV0YWlsc1NpZGViYXJQYW5lbC5jc3MiIC8+CiAgICAgPE5vbmUgSW5j
bHVkZT0iLi5cVXNlckludGVyZmFjZVxEZXRhaWxzU2lkZWJhclBhbmVsLmpzIiAvPgogICAgIDxO
b25lIEluY2x1ZGU9Ii4uXFVzZXJJbnRlcmZhY2VcRGl2aWRlck5hdmlnYXRpb25JdGVtLmNzcyIg
Lz4KICAgICA8Tm9uZSBJbmNsdWRlPSIuLlxVc2VySW50ZXJmYWNlXERpdmlkZXJOYXZpZ2F0aW9u
SXRlbS5qcyIgLz4KQEAgLTY4MCw4ICs2NzksOCBAQAogICAgIDxOb25lIEluY2x1ZGU9Ii4uXFVz
ZXJJbnRlcmZhY2VcTGF5ZXJUcmVlRGF0YUdyaWROb2RlLmpzIiAvPgogICAgIDxOb25lIEluY2x1
ZGU9Ii4uXFVzZXJJbnRlcmZhY2VcTGF5ZXJUcmVlTWFuYWdlci5qcyIgLz4KICAgICA8Tm9uZSBJ
bmNsdWRlPSIuLlxVc2VySW50ZXJmYWNlXExheWVyVHJlZU9ic2VydmVyLmpzIiAvPgotICAgIDxO
b25lIEluY2x1ZGU9Ii4uXFVzZXJJbnRlcmZhY2VcTGF5ZXJUcmVlU2lkZWJhclBhbmVsLmNzcyIg
Lz4KLSAgICA8Tm9uZSBJbmNsdWRlPSIuLlxVc2VySW50ZXJmYWNlXExheWVyVHJlZVNpZGViYXJQ
YW5lbC5qcyIgLz4KKyAgICA8Tm9uZSBJbmNsdWRlPSIuLlxVc2VySW50ZXJmYWNlXExheWVyVHJl
ZURldGFpbHNTaWRlYmFyUGFuZWwuY3NzIiAvPgorICAgIDxOb25lIEluY2x1ZGU9Ii4uXFVzZXJJ
bnRlcmZhY2VcTGF5ZXJUcmVlRGV0YWlsc1NpZGViYXJQYW5lbC5qcyIgLz4KICAgICA8Tm9uZSBJ
bmNsdWRlPSIuLlxVc2VySW50ZXJmYWNlXExheW91dFRpbWVsaW5lRGF0YUdyaWQuanMiIC8+CiAg
ICAgPE5vbmUgSW5jbHVkZT0iLi5cVXNlckludGVyZmFjZVxMYXlvdXRUaW1lbGluZURhdGFHcmlk
Tm9kZS5qcyIgLz4KICAgICA8Tm9uZSBJbmNsdWRlPSIuLlxVc2VySW50ZXJmYWNlXExheW91dFRp
bWVsaW5lUmVjb3JkLmpzIiAvPgpAQCAtNzcxLDYgKzc3MCw3IEBACiAgICAgPE5vbmUgSW5jbHVk
ZT0iLi5cVXNlckludGVyZmFjZVxTZXR0aW5nLmpzIiAvPgogICAgIDxOb25lIEluY2x1ZGU9Ii4u
XFVzZXJJbnRlcmZhY2VcU2lkZWJhci5jc3MiIC8+CiAgICAgPE5vbmUgSW5jbHVkZT0iLi5cVXNl
ckludGVyZmFjZVxTaWRlYmFyLmpzIiAvPgorICAgIDxOb25lIEluY2x1ZGU9Ii4uXFVzZXJJbnRl
cmZhY2VcU2lkZWJhclBhbmVsLmNzcyIgLz4KICAgICA8Tm9uZSBJbmNsdWRlPSIuLlxVc2VySW50
ZXJmYWNlXFNpZGViYXJQYW5lbC5qcyIgLz4KICAgICA8Tm9uZSBJbmNsdWRlPSIuLlxVc2VySW50
ZXJmYWNlXFNvdXJjZUNvZGUuanMiIC8+CiAgICAgPE5vbmUgSW5jbHVkZT0iLi5cVXNlckludGVy
ZmFjZVxTb3VyY2VDb2RlTG9jYXRpb24uanMiIC8+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5z
cGVjdG9yVUkvV2ViSW5zcGVjdG9yVUkudmN4cHJvai9XZWJJbnNwZWN0b3JVSS52Y3hwcm9qLmZp
bHRlcnMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvV2ViSW5zcGVjdG9yVUkudmN4cHJvai9XZWJJ
bnNwZWN0b3JVSS52Y3hwcm9qLmZpbHRlcnMKaW5kZXggOTdlMWNkOC4uOGFjM2VjZiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1dlYkluc3BlY3RvclVJLnZjeHByb2ovV2ViSW5z
cGVjdG9yVUkudmN4cHJvai5maWx0ZXJzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9XZWJJ
bnNwZWN0b3JVSS52Y3hwcm9qL1dlYkluc3BlY3RvclVJLnZjeHByb2ouZmlsdGVycwpAQCAtMzg3
LDcgKzM4Nyw3IEBACiAgICAgPE5vbmUgSW5jbHVkZT0iLi5cVXNlckludGVyZmFjZVxEZXRhaWxz
U2VjdGlvblNpbXBsZVJvdy5qcyI+CiAgICAgICA8RmlsdGVyPlVzZXJJbnRlcmZhY2U8L0ZpbHRl
cj4KICAgICA8L05vbmU+Ci0gICAgPE5vbmUgSW5jbHVkZT0iLi5cVXNlckludGVyZmFjZVxEZXRh
aWxzU2lkZWJhclBhbmVsLmNzcyI+CisgICAgPE5vbmUgSW5jbHVkZT0iLi5cVXNlckludGVyZmFj
ZVxTaWRlYmFyUGFuZWwuY3NzIj4KICAgICAgIDxGaWx0ZXI+VXNlckludGVyZmFjZTwvRmlsdGVy
PgogICAgIDwvTm9uZT4KICAgICA8Tm9uZSBJbmNsdWRlPSIuLlxVc2VySW50ZXJmYWNlXERldGFp
bHNTaWRlYmFyUGFuZWwuanMiPgpAQCAtNjMzLDEwICs2MzMsMTAgQEAKICAgICA8Tm9uZSBJbmNs
dWRlPSIuLlxVc2VySW50ZXJmYWNlXExheWVyVHJlZU9ic2VydmVyLmpzIj4KICAgICAgIDxGaWx0
ZXI+VXNlckludGVyZmFjZTwvRmlsdGVyPgogICAgIDwvTm9uZT4KLSAgICA8Tm9uZSBJbmNsdWRl
PSIuLlxVc2VySW50ZXJmYWNlXExheWVyVHJlZVNpZGViYXJQYW5lbC5jc3MiPgorICAgIDxOb25l
IEluY2x1ZGU9Ii4uXFVzZXJJbnRlcmZhY2VcTGF5ZXJUcmVlRGV0YWlsc1NpZGViYXJQYW5lbC5j
c3MiPgogICAgICAgPEZpbHRlcj5Vc2VySW50ZXJmYWNlPC9GaWx0ZXI+CiAgICAgPC9Ob25lPgot
ICAgIDxOb25lIEluY2x1ZGU9Ii4uXFVzZXJJbnRlcmZhY2VcTGF5ZXJUcmVlU2lkZWJhclBhbmVs
LmpzIj4KKyAgICA8Tm9uZSBJbmNsdWRlPSIuLlxVc2VySW50ZXJmYWNlXExheWVyVHJlZURldGFp
bHNTaWRlYmFyUGFuZWwuanMiPgogICAgICAgPEZpbHRlcj5Vc2VySW50ZXJmYWNlPC9GaWx0ZXI+
CiAgICAgPC9Ob25lPgogICAgIDxOb25lIEluY2x1ZGU9Ii4uXFVzZXJJbnRlcmZhY2VcTGF5b3V0
VGltZWxpbmVEYXRhR3JpZC5qcyI+CkBAIC04OTcsNiArODk3LDkgQEAKICAgICA8Tm9uZSBJbmNs
dWRlPSIuLlxVc2VySW50ZXJmYWNlXFNpZGViYXIuanMiPgogICAgICAgPEZpbHRlcj5Vc2VySW50
ZXJmYWNlPC9GaWx0ZXI+CiAgICAgPC9Ob25lPgorICAgIDxOb25lIEluY2x1ZGU9Ii4uXFVzZXJJ
bnRlcmZhY2VcU2lkZWJhclBhbmVsLmNzcyI+CisgICAgICA8RmlsdGVyPlVzZXJJbnRlcmZhY2U8
L0ZpbHRlcj4KKyAgICA8L05vbmU+CiAgICAgPE5vbmUgSW5jbHVkZT0iLi5cVXNlckludGVyZmFj
ZVxTaWRlYmFyUGFuZWwuanMiPgogICAgICAgPEZpbHRlcj5Vc2VySW50ZXJmYWNlPC9GaWx0ZXI+
CiAgICAgPC9Ob25lPgo=
</data>
<flag name="review"
          id="266039"
          type_id="1"
          status="+"
          setter="timothy"
    />
          </attachment>
      

    </bug>

</bugzilla>